From: m10802821 Date: Fri, 10 Apr 2020 07:47:58 +0000 (+0800) Subject: add Doxygen documentation X-Git-Tag: oran_release_bronze_v1.0~15 X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?p=o-du%2Fphy.git;a=commitdiff_plain;h=870e1b86b0c74169b215c166dee787c7c1a20d06 add Doxygen documentation Change-Id: Ia3c5769692a38b1c79d9ebf85fe340bb520eb288 Signed-off-by: m10802821 verify --- diff --git a/docs/API/_formulas.tex b/docs/API/_formulas.tex new file mode 100644 index 0000000..c3ff397 --- /dev/null +++ b/docs/API/_formulas.tex @@ -0,0 +1,8 @@ +\documentclass{article} +\usepackage{epsfig} +\pagestyle{empty} +\begin{document} +$[-2^{53}+1, 2^{53}-1]$ +\pagebreak + +\end{document} diff --git a/docs/API/annotated.html b/docs/API/annotated.html new file mode 100644 index 0000000..6338dd0 --- /dev/null +++ b/docs/API/annotated.html @@ -0,0 +1,238 @@ + + + + + + + +o-du/phy: Data Structures + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
Data Structures
+
+
+
Here are the data structures with brief descriptions:
+
[detail level 123]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 NBlockFloatCompander
 NBlockFloatCompanderBFW
 Nmaster
 NnlohmannNamespace for Niels Lohmann
 Nstd
 C_RuntimeConfig
 CBbuIoBufCtrlStruct
 CBbuXranIoIfStruct
 CBenchmarkParameters
 CBfpCheck
 CBfpPerf
 CBfpPerfEx
 Cburst_hdr
 CC_plane
 Ccb_elem_entry
 CCOMPLEX32Defines 64-bit complex structure; both real part and image part have 32 bit width
 Ccomplex_doubleDefines 128-bit complex structure; both real part and image part have 64 bit width
 Ccomplex_floatDefines 64-bit complex structure; both real part and image part have 32 bit width
 Ccomplex_halfDefines 32-bit complex structure; both real part and image part have 16 bit width
 Ccomplex_int16_tDefines 32-bit complex structure; both real part and image part have 16 bit width
 Ccomplex_int32_tDefines 64-bit complex structure; both real part and image part have 32 bit width
 Ccompression_hdr
 Ccompression_params
 Cdata_section_compression_hdr
 Cdata_section_hdr
 Cecpri_seq_id
 Ceth_xran_up_pkt_hdr
 Cethdi_hdr
 CFPGAPhaseCompCfg
 CInit_Sys_Check
 CKernelTests
 Cmbuf_table
 Cmissing_config_file_exception
 CPrachCheck
 CPrachPerf
 Cradio_app_common_hdr
 Crb_map
 Creading_input_file_exception
 CsectorHandleInfo
 CTestChain
 CU_planeCheck
 CU_planePerf
 Cxran_buffer_list
 Cxran_cb_tag
 Cxran_common_counters
 Cxran_cp_bf_attribute
 Cxran_cp_bf_precoding
 Cxran_cp_bf_weight
 Cxran_cp_gen_params
 Cxran_cp_header_params
 Cxran_cp_radioapp_common_header
 Cxran_cp_radioapp_frameStructure
 Cxran_cp_radioapp_section0
 Cxran_cp_radioapp_section0_header
 Cxran_cp_radioapp_section1
 Cxran_cp_radioapp_section1_header
 Cxran_cp_radioapp_section3
 Cxran_cp_radioapp_section3_header
 Cxran_cp_radioapp_section5
 Cxran_cp_radioapp_section5_header
 Cxran_cp_radioapp_section6
 Cxran_cp_radioapp_section6_header
 Cxran_cp_radioapp_section7_header
 Cxran_cp_radioapp_section_ext1
 Cxran_cp_radioapp_section_ext2
 Cxran_cp_radioapp_section_ext3_first
 Cxran_cp_radioapp_section_ext3_non_first
 Cxran_cp_radioapp_section_ext4
 Cxran_cp_radioapp_section_ext5
 Cxran_cp_radioapp_section_ext_hdr
 Cxran_cp_radioapp_section_header
 Cxran_cp_rbmap_list
 Cxran_device_ctx
 Cxran_eaxc_info
 Cxran_eaxcid_config
 Cxran_ecpri_cmn_hdr
 Cxran_ecpri_hdr
 Cxran_ethdi_ctx
 Cxran_fh_config
 Cxran_fh_init
 Cxran_flat_buffer
 Cxran_frame_config
 Cxran_io_cfg
 Cxran_io_loop_cfg
 Cxran_pkt_comm_hdr
 Cxran_prach_config
 Cxran_prach_cp_config
 Cxran_prb_elm
 Cxran_prb_map
 Cxran_radioapp_udComp_header
 Cxran_recv_packet_info
 Cxran_ru_config
 Cxran_section_desc
 Cxran_section_gen_info
 Cxran_section_info
 Cxran_sectionext1_info
 Cxran_sectionext2_info
 Cxran_sectionext3_info
 Cxran_sectionext4_info
 Cxran_sectionext5_info
 Cxran_sectionext_info
 Cxran_sectioninfo_db
 Cxran_slot_config
 Cxran_srs_config
 Cxran_timer_ctx
 Cxran_up_pkt_gen_no_compression_params
 Cxran_up_pkt_gen_params
 Cxran_up_pkt_hdr
 Cxranlib_compress_requestRequest structure containing pointer to data and its length
 Cxranlib_compress_responseResponse structure containing pointer to data and its length
 Cxranlib_decompress_requestRequest structure containing pointer to data and its length
 Cxranlib_decompress_responseResponse structure containing pointer to data and its length
 CXranLibConfig
 CxranLibWraper
 CxRANPrachConfigTableStruct
 CxRANPrachPreambleLRAStruct
+
+
+ + + + diff --git a/docs/API/bc_s.png b/docs/API/bc_s.png new file mode 100644 index 0000000..224b29a Binary files /dev/null and b/docs/API/bc_s.png differ diff --git a/docs/API/bdwn.png b/docs/API/bdwn.png new file mode 100644 index 0000000..940a0b9 Binary files /dev/null and b/docs/API/bdwn.png differ diff --git a/docs/API/c__plane__tests_8cc.html b/docs/API/c__plane__tests_8cc.html new file mode 100644 index 0000000..5969216 --- /dev/null +++ b/docs/API/c__plane__tests_8cc.html @@ -0,0 +1,701 @@ + + + + + + + +o-du/phy: c_plane_tests.cc File Reference + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
c_plane_tests.cc File Reference
+
+
+
#include "common.hpp"
+#include "xran_lib_wrap.hpp"
+#include "xran_common.h"
+#include "xran_fh_o_du.h"
+#include "ethdi.h"
+#include "ethernet.h"
+#include "xran_transport.h"
+#include "xran_cp_api.h"
+#include <stdint.h>
+
+Include dependency graph for c_plane_tests.cc:
+
+
+ + + + + + + + + + + + + + + + +
+
+

Go to the source code of this file.

+ + + + +

+Data Structures

class  C_plane
 
+ + + + + + + + + + + + + + + + + + + + + +

+Functions

int xran_ut_prepare_cp (struct rte_mbuf *mbuf, struct xran_cp_gen_params *params, uint8_t cc_id, uint8_t ant_id, uint8_t seq_id)
 
void cput_fh_rx_callback (void *pCallbackTag, xran_status_t status)
 
void cput_fh_rx_prach_callback (void *pCallbackTag, xran_status_t status)
 
 TEST_P (C_plane, Section_Ext1)
 
 TEST_P (C_plane, Section_Ext1_9bit)
 
 TEST_P (C_plane, PacketGen)
 
 TEST_P (C_plane, PacketGen_Ext)
 
 TEST_P (C_plane, Perf)
 
 TEST_P (C_plane, Perf_Ext)
 
 INSTANTIATE_TEST_CASE_P (UnitTest, C_plane, testing::ValuesIn(get_sequence(C_plane::get_number_of_cases("C_Plane"))))
 
+ + + + + +

+Variables

const std::string module_name = "C-Plane"
 
const uint8_t m_bitmask [] = { 0x00, 0x03, 0x07, 0x0f, 0x1f, 0x3f, 0x7f, 0xff }
 
+

Function Documentation

+ +

◆ cput_fh_rx_callback()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void cput_fh_rx_callback (void * pCallbackTag,
xran_status_t status 
)
+
+ +

Definition at line 48 of file c_plane_tests.cc.

+ +
+
+ +

◆ cput_fh_rx_prach_callback()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void cput_fh_rx_prach_callback (void * pCallbackTag,
xran_status_t status 
)
+
+ +

Definition at line 53 of file c_plane_tests.cc.

+ +
+
+ +

◆ INSTANTIATE_TEST_CASE_P()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
INSTANTIATE_TEST_CASE_P (UnitTest ,
C_plane ,
testing::ValuesIn(get_sequence(C_plane::get_number_of_cases("C_Plane")))  
)
+
+
+Here is the caller graph for this function:
+
+
+ + + +
+ +
+
+ +

◆ TEST_P() [1/6]

+ +
+
+ + + + + + + + + + + + + + + + + + +
TEST_P (C_plane ,
Section_Ext1  
)
+
+ +

Definition at line 566 of file c_plane_tests.cc.

+
+Here is the call graph for this function:
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ +

◆ TEST_P() [2/6]

+ +
+
+ + + + + + + + + + + + + + + + + + +
TEST_P (C_plane ,
Section_Ext1_9bit  
)
+
+ +

Definition at line 642 of file c_plane_tests.cc.

+
+Here is the call graph for this function:
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ +

◆ TEST_P() [3/6]

+ +
+
+ + + + + + + + + + + + + + + + + + +
TEST_P (C_plane ,
PacketGen  
)
+
+ +

Definition at line 721 of file c_plane_tests.cc.

+
+Here is the call graph for this function:
+
+
+ + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ +

◆ TEST_P() [4/6]

+ +
+
+ + + + + + + + + + + + + + + + + + +
TEST_P (C_plane ,
PacketGen_Ext  
)
+
+ +

Definition at line 742 of file c_plane_tests.cc.

+
+Here is the call graph for this function:
+
+
+ + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ +

◆ TEST_P() [5/6]

+ +
+
+ + + + + + + + + + + + + + + + + + +
TEST_P (C_plane ,
Perf  
)
+
+ +

Definition at line 766 of file c_plane_tests.cc.

+
+Here is the call graph for this function:
+
+
+ + + + + + + + + + + + + + + + + +
+ +
+
+ +

◆ TEST_P() [6/6]

+ +
+
+ + + + + + + + + + + + + + + + + + +
TEST_P (C_plane ,
Perf_Ext  
)
+
+ +

Definition at line 778 of file c_plane_tests.cc.

+
+Here is the call graph for this function:
+
+
+ + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ +

◆ xran_ut_prepare_cp()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int xran_ut_prepare_cp (struct rte_mbuf * mbuf,
struct xran_cp_gen_paramsparams,
uint8_t cc_id,
uint8_t ant_id,
uint8_t seq_id 
)
+
+ +

Definition at line 40 of file c_plane_tests.cc.

+
+Here is the call graph for this function:
+
+
+ + + + + + + + + + +
+
+Here is the caller graph for this function:
+
+
+ + + +
+ +
+
+

Variable Documentation

+ +

◆ m_bitmask

+ +
+
+ + + + +
const uint8_t m_bitmask[] = { 0x00, 0x03, 0x07, 0x0f, 0x1f, 0x3f, 0x7f, 0xff }
+
+ +

Definition at line 34 of file c_plane_tests.cc.

+ +
+
+ +

◆ module_name

+ +
+
+ + + + +
const std::string module_name = "C-Plane"
+
+ +

Definition at line 32 of file c_plane_tests.cc.

+ +
+
+
+ + + + diff --git a/docs/API/c__plane__tests_8cc__incl.map b/docs/API/c__plane__tests_8cc__incl.map new file mode 100644 index 0000000..540d3a6 --- /dev/null +++ b/docs/API/c__plane__tests_8cc__incl.map @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/docs/API/c__plane__tests_8cc__incl.md5 b/docs/API/c__plane__tests_8cc__incl.md5 new file mode 100644 index 0000000..e0d4bff --- /dev/null +++ b/docs/API/c__plane__tests_8cc__incl.md5 @@ -0,0 +1 @@ +a913a06b749f85c3a900efc4971de71a \ No newline at end of file diff --git a/docs/API/c__plane__tests_8cc__incl.png b/docs/API/c__plane__tests_8cc__incl.png new file mode 100644 index 0000000..3b64243 Binary files /dev/null and b/docs/API/c__plane__tests_8cc__incl.png differ diff --git a/docs/API/c__plane__tests_8cc_a11a0b914a08e5375cae792dc6db08c7a_cgraph.map b/docs/API/c__plane__tests_8cc_a11a0b914a08e5375cae792dc6db08c7a_cgraph.map new file mode 100644 index 0000000..0e78f34 --- /dev/null +++ b/docs/API/c__plane__tests_8cc_a11a0b914a08e5375cae792dc6db08c7a_cgraph.map @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/API/c__plane__tests_8cc_a11a0b914a08e5375cae792dc6db08c7a_cgraph.md5 b/docs/API/c__plane__tests_8cc_a11a0b914a08e5375cae792dc6db08c7a_cgraph.md5 new file mode 100644 index 0000000..705e1c1 --- /dev/null +++ b/docs/API/c__plane__tests_8cc_a11a0b914a08e5375cae792dc6db08c7a_cgraph.md5 @@ -0,0 +1 @@ +5fce1353b240cf906a40d9830b172ffe \ No newline at end of file diff --git a/docs/API/c__plane__tests_8cc_a11a0b914a08e5375cae792dc6db08c7a_cgraph.png b/docs/API/c__plane__tests_8cc_a11a0b914a08e5375cae792dc6db08c7a_cgraph.png new file mode 100644 index 0000000..3e9aab6 Binary files /dev/null and b/docs/API/c__plane__tests_8cc_a11a0b914a08e5375cae792dc6db08c7a_cgraph.png differ diff --git a/docs/API/c__plane__tests_8cc_a21d05f2c6607fc534e67ed32883de81f_cgraph.map b/docs/API/c__plane__tests_8cc_a21d05f2c6607fc534e67ed32883de81f_cgraph.map new file mode 100644 index 0000000..ac12591 --- /dev/null +++ b/docs/API/c__plane__tests_8cc_a21d05f2c6607fc534e67ed32883de81f_cgraph.map @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/docs/API/c__plane__tests_8cc_a21d05f2c6607fc534e67ed32883de81f_cgraph.md5 b/docs/API/c__plane__tests_8cc_a21d05f2c6607fc534e67ed32883de81f_cgraph.md5 new file mode 100644 index 0000000..17c7921 --- /dev/null +++ b/docs/API/c__plane__tests_8cc_a21d05f2c6607fc534e67ed32883de81f_cgraph.md5 @@ -0,0 +1 @@ +b41d89ee9c0d72671448f208abd4384a \ No newline at end of file diff --git a/docs/API/c__plane__tests_8cc_a21d05f2c6607fc534e67ed32883de81f_cgraph.png b/docs/API/c__plane__tests_8cc_a21d05f2c6607fc534e67ed32883de81f_cgraph.png new file mode 100644 index 0000000..0d14a94 Binary files /dev/null and b/docs/API/c__plane__tests_8cc_a21d05f2c6607fc534e67ed32883de81f_cgraph.png differ diff --git a/docs/API/c__plane__tests_8cc_a2684a65b376489405671120c75efab7b_icgraph.map b/docs/API/c__plane__tests_8cc_a2684a65b376489405671120c75efab7b_icgraph.map new file mode 100644 index 0000000..64927c7 --- /dev/null +++ b/docs/API/c__plane__tests_8cc_a2684a65b376489405671120c75efab7b_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/c__plane__tests_8cc_a2684a65b376489405671120c75efab7b_icgraph.md5 b/docs/API/c__plane__tests_8cc_a2684a65b376489405671120c75efab7b_icgraph.md5 new file mode 100644 index 0000000..fc1eaa7 --- /dev/null +++ b/docs/API/c__plane__tests_8cc_a2684a65b376489405671120c75efab7b_icgraph.md5 @@ -0,0 +1 @@ +781f0a40d5ec8ab595413b1582afba7f \ No newline at end of file diff --git a/docs/API/c__plane__tests_8cc_a2684a65b376489405671120c75efab7b_icgraph.png b/docs/API/c__plane__tests_8cc_a2684a65b376489405671120c75efab7b_icgraph.png new file mode 100644 index 0000000..f435981 Binary files /dev/null and b/docs/API/c__plane__tests_8cc_a2684a65b376489405671120c75efab7b_icgraph.png differ diff --git a/docs/API/c__plane__tests_8cc_a71b8458c71026c561352ee857eb3a490_cgraph.map b/docs/API/c__plane__tests_8cc_a71b8458c71026c561352ee857eb3a490_cgraph.map new file mode 100644 index 0000000..acece8a --- /dev/null +++ b/docs/API/c__plane__tests_8cc_a71b8458c71026c561352ee857eb3a490_cgraph.map @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/API/c__plane__tests_8cc_a71b8458c71026c561352ee857eb3a490_cgraph.md5 b/docs/API/c__plane__tests_8cc_a71b8458c71026c561352ee857eb3a490_cgraph.md5 new file mode 100644 index 0000000..a35577f --- /dev/null +++ b/docs/API/c__plane__tests_8cc_a71b8458c71026c561352ee857eb3a490_cgraph.md5 @@ -0,0 +1 @@ +53eb3928ae4f97403ecc6dc74f850aeb \ No newline at end of file diff --git a/docs/API/c__plane__tests_8cc_a71b8458c71026c561352ee857eb3a490_cgraph.png b/docs/API/c__plane__tests_8cc_a71b8458c71026c561352ee857eb3a490_cgraph.png new file mode 100644 index 0000000..1721c33 Binary files /dev/null and b/docs/API/c__plane__tests_8cc_a71b8458c71026c561352ee857eb3a490_cgraph.png differ diff --git a/docs/API/c__plane__tests_8cc_a8491192ecf8ad52998d66312a4b70f83_cgraph.map b/docs/API/c__plane__tests_8cc_a8491192ecf8ad52998d66312a4b70f83_cgraph.map new file mode 100644 index 0000000..acece8a --- /dev/null +++ b/docs/API/c__plane__tests_8cc_a8491192ecf8ad52998d66312a4b70f83_cgraph.map @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/API/c__plane__tests_8cc_a8491192ecf8ad52998d66312a4b70f83_cgraph.md5 b/docs/API/c__plane__tests_8cc_a8491192ecf8ad52998d66312a4b70f83_cgraph.md5 new file mode 100644 index 0000000..07c48ff --- /dev/null +++ b/docs/API/c__plane__tests_8cc_a8491192ecf8ad52998d66312a4b70f83_cgraph.md5 @@ -0,0 +1 @@ +4bb65e819056651851a00804fc45971b \ No newline at end of file diff --git a/docs/API/c__plane__tests_8cc_a8491192ecf8ad52998d66312a4b70f83_cgraph.png b/docs/API/c__plane__tests_8cc_a8491192ecf8ad52998d66312a4b70f83_cgraph.png new file mode 100644 index 0000000..1721c33 Binary files /dev/null and b/docs/API/c__plane__tests_8cc_a8491192ecf8ad52998d66312a4b70f83_cgraph.png differ diff --git a/docs/API/c__plane__tests_8cc_ab0ad0e23f1b51f15bd9594a24a2c438f_cgraph.map b/docs/API/c__plane__tests_8cc_ab0ad0e23f1b51f15bd9594a24a2c438f_cgraph.map new file mode 100644 index 0000000..c79a7e6 --- /dev/null +++ b/docs/API/c__plane__tests_8cc_ab0ad0e23f1b51f15bd9594a24a2c438f_cgraph.map @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/API/c__plane__tests_8cc_ab0ad0e23f1b51f15bd9594a24a2c438f_cgraph.md5 b/docs/API/c__plane__tests_8cc_ab0ad0e23f1b51f15bd9594a24a2c438f_cgraph.md5 new file mode 100644 index 0000000..23b9082 --- /dev/null +++ b/docs/API/c__plane__tests_8cc_ab0ad0e23f1b51f15bd9594a24a2c438f_cgraph.md5 @@ -0,0 +1 @@ +de9b4dcb9e6f5939cda9c14abe20444a \ No newline at end of file diff --git a/docs/API/c__plane__tests_8cc_ab0ad0e23f1b51f15bd9594a24a2c438f_cgraph.png b/docs/API/c__plane__tests_8cc_ab0ad0e23f1b51f15bd9594a24a2c438f_cgraph.png new file mode 100644 index 0000000..e2ee45d Binary files /dev/null and b/docs/API/c__plane__tests_8cc_ab0ad0e23f1b51f15bd9594a24a2c438f_cgraph.png differ diff --git a/docs/API/c__plane__tests_8cc_ab22c1305386eabc256bc6d3492d50846_cgraph.map b/docs/API/c__plane__tests_8cc_ab22c1305386eabc256bc6d3492d50846_cgraph.map new file mode 100644 index 0000000..2b7a5d0 --- /dev/null +++ b/docs/API/c__plane__tests_8cc_ab22c1305386eabc256bc6d3492d50846_cgraph.map @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/docs/API/c__plane__tests_8cc_ab22c1305386eabc256bc6d3492d50846_cgraph.md5 b/docs/API/c__plane__tests_8cc_ab22c1305386eabc256bc6d3492d50846_cgraph.md5 new file mode 100644 index 0000000..c7005d3 --- /dev/null +++ b/docs/API/c__plane__tests_8cc_ab22c1305386eabc256bc6d3492d50846_cgraph.md5 @@ -0,0 +1 @@ +9006bd57efb8749ee54aea86e2d20591 \ No newline at end of file diff --git a/docs/API/c__plane__tests_8cc_ab22c1305386eabc256bc6d3492d50846_cgraph.png b/docs/API/c__plane__tests_8cc_ab22c1305386eabc256bc6d3492d50846_cgraph.png new file mode 100644 index 0000000..200b640 Binary files /dev/null and b/docs/API/c__plane__tests_8cc_ab22c1305386eabc256bc6d3492d50846_cgraph.png differ diff --git a/docs/API/c__plane__tests_8cc_ab22c1305386eabc256bc6d3492d50846_icgraph.map b/docs/API/c__plane__tests_8cc_ab22c1305386eabc256bc6d3492d50846_icgraph.map new file mode 100644 index 0000000..2a4be14 --- /dev/null +++ b/docs/API/c__plane__tests_8cc_ab22c1305386eabc256bc6d3492d50846_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/c__plane__tests_8cc_ab22c1305386eabc256bc6d3492d50846_icgraph.md5 b/docs/API/c__plane__tests_8cc_ab22c1305386eabc256bc6d3492d50846_icgraph.md5 new file mode 100644 index 0000000..5ab9d8d --- /dev/null +++ b/docs/API/c__plane__tests_8cc_ab22c1305386eabc256bc6d3492d50846_icgraph.md5 @@ -0,0 +1 @@ +5fd445c4577d03a039d76ae73db13bcb \ No newline at end of file diff --git a/docs/API/c__plane__tests_8cc_ab22c1305386eabc256bc6d3492d50846_icgraph.png b/docs/API/c__plane__tests_8cc_ab22c1305386eabc256bc6d3492d50846_icgraph.png new file mode 100644 index 0000000..a28bd4a Binary files /dev/null and b/docs/API/c__plane__tests_8cc_ab22c1305386eabc256bc6d3492d50846_icgraph.png differ diff --git a/docs/API/c__plane__tests_8cc_aff93cc204b54a645341363e8bc280f21_cgraph.map b/docs/API/c__plane__tests_8cc_aff93cc204b54a645341363e8bc280f21_cgraph.map new file mode 100644 index 0000000..0e78f34 --- /dev/null +++ b/docs/API/c__plane__tests_8cc_aff93cc204b54a645341363e8bc280f21_cgraph.map @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/API/c__plane__tests_8cc_aff93cc204b54a645341363e8bc280f21_cgraph.md5 b/docs/API/c__plane__tests_8cc_aff93cc204b54a645341363e8bc280f21_cgraph.md5 new file mode 100644 index 0000000..3eede53 --- /dev/null +++ b/docs/API/c__plane__tests_8cc_aff93cc204b54a645341363e8bc280f21_cgraph.md5 @@ -0,0 +1 @@ +eb3c7da2db92c974034e59f540c92327 \ No newline at end of file diff --git a/docs/API/c__plane__tests_8cc_aff93cc204b54a645341363e8bc280f21_cgraph.png b/docs/API/c__plane__tests_8cc_aff93cc204b54a645341363e8bc280f21_cgraph.png new file mode 100644 index 0000000..3e9aab6 Binary files /dev/null and b/docs/API/c__plane__tests_8cc_aff93cc204b54a645341363e8bc280f21_cgraph.png differ diff --git a/docs/API/c__plane__tests_8cc_source.html b/docs/API/c__plane__tests_8cc_source.html new file mode 100644 index 0000000..0ff3f09 --- /dev/null +++ b/docs/API/c__plane__tests_8cc_source.html @@ -0,0 +1,243 @@ + + + + + + + +o-du/phy: c_plane_tests.cc Source File + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
c_plane_tests.cc
+
+
+Go to the documentation of this file.
1 /******************************************************************************
2 *
3 * Copyright (c) 2019 Intel.
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 *
17 *******************************************************************************/
18 
19 
20 #include "common.hpp"
21 #include "xran_lib_wrap.hpp"
22 #include "xran_common.h"
23 #include "xran_fh_o_du.h"
24 #include "ethdi.h"
25 #include "ethernet.h"
26 #include "xran_transport.h"
27 #include "xran_cp_api.h"
28 
29 #include <stdint.h>
30 
31 
32 const std::string module_name = "C-Plane";
33 
34 const uint8_t m_bitmask[] = { 0x00, 0x03, 0x07, 0x0f, 0x1f, 0x3f, 0x7f, 0xff };
35 
36 extern "C"
37 {
38 
39 /* wrapper function for performace tests to reset mbuf */
40 int xran_ut_prepare_cp(struct rte_mbuf *mbuf, struct xran_cp_gen_params *params,
41  uint8_t cc_id, uint8_t ant_id, uint8_t seq_id)
42 {
43  rte_pktmbuf_reset(mbuf);
44  return(xran_prepare_ctrl_pkt(mbuf, params, cc_id, ant_id, seq_id));
45 }
46 
47 
48 void cput_fh_rx_callback(void *pCallbackTag, xran_status_t status)
49 {
50  return;
51 }
52 
53 void cput_fh_rx_prach_callback(void *pCallbackTag, xran_status_t status)
54 {
55  rte_pause();
56 }
57 
58 } /* extern "C" */
59 
60 
61 
62 class C_plane: public KernelTests
63 {
64 private:
65  struct xran_section_gen_info *m_pSectGenInfo = NULL;
66  struct xran_section_gen_info *m_pSectResult = NULL;
67 
68 
69 protected:
70  int m_maxSections = 8; /* not used */
72 
73  struct rte_mbuf *m_pTestBuffer;
74 
78 
79  uint8_t m_dir;
80  std::string m_dirStr;
81  uint8_t m_sectionType;
82 
83  uint8_t m_ccId, m_antId;
84  uint8_t m_seqId;
86  uint8_t m_symStart, m_symNum;
87  uint16_t *m_prbStart = NULL, *m_prbNum = NULL;
88 
90  uint16_t m_beamId;
91  uint16_t m_reMask = 0xfff;
92  uint16_t m_sectionId;
93  uint8_t m_filterIndex;
94  uint16_t m_timeOffset;
95  uint8_t m_fftSize;
96  uint8_t m_scs;
97  uint16_t m_cpLength;
99 
100  uint16_t m_ext1_dst_len = 0;
101  int8_t *m_p_ext1_dst = NULL;
102  int16_t *m_p_bfw_iq_src = NULL;
103 
108 
110 
111 
112  void SetUp() override
113  {
114  int i, j;
115 
116  init_test("C_Plane");
117 
118  m_numSections = get_input_parameter<int>("num_sections");
119  ASSERT_FALSE(m_numSections == 0);
120 
121  m_dirStr = get_input_parameter<std::string>("direction");
122 
123  if(!m_dirStr.compare("DL")) m_dir = XRAN_DIR_DL;
124  else if(!m_dirStr.compare("UL")) m_dir = XRAN_DIR_UL;
125  else FAIL() << "Invalid direction!";
126 
127  m_sectionType = get_input_parameter<uint8_t>("section_type");
128  m_ccId = get_input_parameter<uint8_t>("cc_id");
129  m_antId = get_input_parameter<uint8_t>("ant_id");
130  m_seqId = get_input_parameter<uint16_t>("seq_id");
131 
132  m_frameId = get_input_parameter<uint8_t>("frame_id");
133  m_subframeId = get_input_parameter<uint8_t>("subframe_id");
134  m_slotId = get_input_parameter<uint8_t>("slot_id");
135  m_symStart = get_input_parameter<uint8_t>("symbol_start");
136  m_compMethod = get_input_parameter<uint8_t>("comp_method");
137  m_iqWidth = get_input_parameter<uint8_t>("iq_width");
138 
139  m_sectionId = get_input_parameter<uint8_t>("section_id");
140  m_symNum = get_input_parameter<uint8_t>("symbol_num");
141  m_beamId = get_input_parameter<uint16_t>("beam_id");
142 
143  /* reading configurations of start prb and the number of prbs */
144  std::vector<int> prbstart = get_input_parameter<std::vector<int>>("prb_start");
145  std::vector<int> prbnum = get_input_parameter<std::vector<int>>("prb_num");
146  /* number of sections and the pair of start/number of prb shall be matched */
147  ASSERT_TRUE((m_numSections == prbstart.size())
148  && (m_numSections == prbnum.size())
149  && (prbstart.size() == prbnum.size()));
150 
151  m_prbStart = new uint16_t [m_numSections];
152  m_prbNum = new uint16_t [m_numSections];
153  for(i=0; i < m_numSections; i++) {
154  m_prbStart[i] = prbstart[i];
155  m_prbNum[i] = prbnum[i];
156  }
157 
158  switch(m_sectionType) {
160  m_filterIndex = XRAN_FILTERINDEX_STANDARD;
161  break;
162 
164  m_filterIndex = get_input_parameter<uint8_t>("filter_index");
165  m_timeOffset = get_input_parameter<uint16_t>("time_offset");
166  m_fftSize = get_input_parameter<uint8_t>("fft_size");
167  m_scs = get_input_parameter<uint8_t>("scs");
168  m_cpLength = get_input_parameter<uint16_t>("cp_length");
169  m_freqOffset = get_input_parameter<int>("freq_offset");
170  break;
171 
172  default:
173  FAIL() << "Invalid Section Type - " << m_sectionType << "\n";
174  }
175 
176  /* allocate and prepare required data storage */
177  m_pSectGenInfo = new struct xran_section_gen_info [m_numSections];
178  ASSERT_NE(m_pSectGenInfo, nullptr);
179  m_params.sections = m_pSectGenInfo;
180 
181  m_pSectResult = new struct xran_section_gen_info [m_numSections];
182  ASSERT_NE(m_pSectResult, nullptr);
183  m_result.sections = m_pSectResult;
184 
185  m_ext1_dst_len = 9600;
186  m_p_ext1_dst = new int8_t [m_ext1_dst_len];
187  m_p_bfw_iq_src = new int16_t [9600/2];
188 
189  /* allocating an mbuf for packet generatrion */
190  m_pTestBuffer = xran_ethdi_mbuf_alloc();
191 
192  ASSERT_FALSE(m_pTestBuffer == NULL);
193  }
194 
195  void TearDown() override
196  {
197  int i, j;
198 
199  if(m_pTestBuffer != NULL)
200  rte_pktmbuf_free(m_pTestBuffer);
201 
202  if(m_prbStart)
203  delete[] m_prbStart;
204  if(m_prbNum)
205  delete[] m_prbNum;
206 
207  if(m_p_bfw_iq_src)
208  delete[] m_p_bfw_iq_src;
209 
210  if(m_p_ext1_dst)
211  delete[] m_p_ext1_dst;
212 
213  if(m_pSectGenInfo)
214  delete[] m_pSectGenInfo;
215 
216  if(m_pSectResult) {
217  delete[] m_pSectResult;
218  }
219 
220  }
221 
222  int prepare_sections(bool extflag);
223  int prepare_extensions(int sect_num);
224  void verify_sections(void);
225 
226 };
227 
228 
229 
231 {
232  int i, numext;
233  int N;
234 
235 
236  N = 8;
237 
238  // extension 1
239  m_ext1.bfwNumber = 4*N; // 4 ant, 8 UEs
240  m_ext1.bfwiqWidth = 16;
242  /* XRAN_BFWCOMPMETHOD_BLKFLOAT
243  * XRAN_BFWCOMPMETHOD_BLKSCALE
244  * XRAN_BFWCOMPMETHOD_ULAW
245  * XRAN_BFWCOMPMETHOD_BEAMSPACE
246  */
248 
249  switch (m_ext1.bfwCompMeth) {
252  break;
255  break;
259  for(i=0; i<N; i++)
261  break;
262  }
263 
264  for(i=0; i<N*4; i++) {
265  m_ext1.p_bfwIQ[i*2] = 0xcafe;
266  m_ext1.p_bfwIQ[i*2+1] = 0xbeef;
267  }
268 
269  // extension 2
270  m_ext2.bfAzPtWidth = 7;
272  m_ext2.bfZePtWidth = 7;
274  m_ext2.bfAz3ddWidth = 7;
276  m_ext2.bfZe3ddWidth = 7;
278  m_ext2.bfAzSI = 0x2 & m_bitmask[3];
279  m_ext2.bfZeSI = 0x5 & m_bitmask[3];
280 
281  // extension 4
282  m_ext4.csf = 1;
283  m_ext4.modCompScaler = 0x5aa5;
284 
285  // extension 5
286  m_ext5.num_sets = 2;
287  for(i=0; i<m_ext5.num_sets; i++) {
288  m_ext5.mc[i].csf = i%2;
289  m_ext5.mc[i].mcScaleReMask = 0xa5a + i;
290  m_ext5.mc[i].mcScaleOffset = 0x5a5a + i;
291  }
292 
293  numext = 0;
294 
296  m_params.sections[sect_num].exData[numext].len = sizeof(m_ext1);
297  m_params.sections[sect_num].exData[numext].data = &m_ext1;
298  numext++;
299 
301  m_params.sections[sect_num].exData[numext].len = sizeof(m_ext2);
302  m_params.sections[sect_num].exData[numext].data = &m_ext2;
303  numext++;
304 
306  m_params.sections[sect_num].exData[numext].len = sizeof(m_ext4);
307  m_params.sections[sect_num].exData[numext].data = &m_ext4;
308  numext++;
309 
311  m_params.sections[sect_num].exData[numext].len = sizeof(m_ext5);
312  m_params.sections[sect_num].exData[numext].data = &m_ext5;
313  numext++;
314 
315  m_params.sections[sect_num].exDataSize = numext;
316 
317  return (0);
318 }
319 
320 int C_plane::prepare_sections(bool extflag)
321 {
322  int numsec;
323 
324 
325  /* Preparing input data for packet generation */
326  m_params.dir = m_dir;
328 
336 
337  switch(m_sectionType) {
339  break;
340 
344  m_params.hdr.scs = m_scs;
346  break;
347 
348  default:
349  return (-1);
350  }
351 
352  for(numsec=0; numsec < m_numSections; numsec++) {
353  m_params.sections[numsec].info.type = m_params.sectionType; // for database
354  m_params.sections[numsec].info.startSymId = m_params.hdr.startSymId; // for database
355  m_params.sections[numsec].info.iqWidth = m_params.hdr.iqWidth; // for database
356  m_params.sections[numsec].info.compMeth = m_params.hdr.compMeth; // for database
357  m_params.sections[numsec].info.id = m_sectionId++;
360  m_params.sections[numsec].info.startPrbc = m_prbStart[numsec];
361  m_params.sections[numsec].info.numPrbc = m_prbNum[numsec];
365  switch(m_sectionType) {
367  break;
368 
371  break;
372 
373  default:
374  return (-1);
375  }
376 
377  /* section extension */
378  if(/*extflag == true*/0) {
379  m_params.sections[numsec].info.ef = 1;
380  prepare_extensions(numsec);
381  }
382  else {
383  m_params.sections[numsec].info.ef = 0;
384  m_params.sections[numsec].exDataSize = 0;
385  }
386  }
387 
388  m_params.numSections = numsec;
389 
390  return (0);
391 }
392 
393 
395 {
396  int i,j;
397 
398  /* Verify the result */
399  EXPECT_TRUE(m_result.dir == m_params.dir);
400  EXPECT_TRUE(m_result.sectionType == m_params.sectionType);
401 
402  EXPECT_TRUE(m_result.hdr.filterIdx == m_params.hdr.filterIdx);
403  EXPECT_TRUE(m_result.hdr.frameId == m_params.hdr.frameId);
404  EXPECT_TRUE(m_result.hdr.subframeId == m_params.hdr.subframeId);
405  EXPECT_TRUE(m_result.hdr.slotId == m_params.hdr.slotId);
406  EXPECT_TRUE(m_result.hdr.startSymId == m_params.hdr.startSymId);
407  EXPECT_TRUE(m_result.hdr.iqWidth == m_params.hdr.iqWidth);
408  EXPECT_TRUE(m_result.hdr.compMeth == m_params.hdr.compMeth);
409 
410  switch(m_sectionType) {
412  break;
413 
415  EXPECT_TRUE(m_result.hdr.fftSize == m_params.hdr.fftSize);
416  EXPECT_TRUE(m_result.hdr.scs == m_params.hdr.scs);
417  EXPECT_TRUE(m_result.hdr.cpLength == m_params.hdr.cpLength);
418  break;
419 
420  default:
421  FAIL() << "Invalid Section Type - " << m_sectionType << "\n";
422  }
423 
424  ASSERT_TRUE(m_result.numSections == m_params.numSections);
425  for(i=0; i < m_result.numSections; i++) {
426  EXPECT_TRUE(m_result.sections[i].info.id == m_params.sections[i].info.id);
427  EXPECT_TRUE(m_result.sections[i].info.rb == XRAN_RBIND_EVERY);
430  EXPECT_TRUE(m_result.sections[i].info.numPrbc == m_params.sections[i].info.numPrbc);
432  EXPECT_TRUE(m_result.sections[i].info.reMask == m_params.sections[i].info.reMask);
433  EXPECT_TRUE(m_result.sections[i].info.beamId == m_params.sections[i].info.beamId);
434  EXPECT_TRUE(m_result.sections[i].info.ef == m_params.sections[i].info.ef);
435 
436  switch(m_sectionType) {
438  break;
439 
442  break;
443 
444  default:
445  FAIL() << "Invalid Section Type - " << m_sectionType << "\n";
446  }
447 
448  if(m_params.sections[i].info.ef) {
449  // printf("[%d] %d == %d\n",i, m_result.sections[i].exDataSize, m_params.sections[i].exDataSize);
450  EXPECT_TRUE(m_result.sections[i].exDataSize == m_params.sections[i].exDataSize);
451 
452  for(j=0; j < m_params.sections[i].exDataSize; j++) {
453  EXPECT_TRUE(m_result.sections[i].exData[j].type == m_params.sections[i].exData[j].type);
454 
455  switch(m_params.sections[i].exData[j].type) {
457  {
458  struct xran_sectionext1_info *ext1_params, *ext1_result;
459  int iq_size, parm_size, N;
460 
461  ext1_params = (struct xran_sectionext1_info *)m_params.sections[i].exData[j].data;
462  ext1_result = (struct xran_sectionext1_info *)m_result.sections[i].exData[j].data;
463 
464  EXPECT_TRUE(ext1_result->bfwiqWidth == ext1_params->bfwiqWidth);
465  EXPECT_TRUE(ext1_result->bfwCompMeth == ext1_params->bfwCompMeth);
466 
467  N = ext1_params->bfwNumber;
468  switch(ext1_params->bfwCompMeth) {
470  EXPECT_TRUE(ext1_result->bfwCompParam.exponent == ext1_params->bfwCompParam.exponent);
471  break;
472 
474  EXPECT_TRUE(ext1_result->bfwCompParam.blockScaler == ext1_params->bfwCompParam.blockScaler);
475  break;
476 
478  EXPECT_TRUE(ext1_result->bfwCompParam.compBitWidthShift == ext1_params->bfwCompParam.compBitWidthShift);
479  break;
480 
482  parm_size = N>>3; if(N%8) parm_size++; parm_size *= 8;
483  EXPECT_TRUE(std::memcmp(ext1_result->bfwCompParam.activeBeamspaceCoeffMask, ext1_params->bfwCompParam.activeBeamspaceCoeffMask, parm_size));
484  break;
485  }
486 
487  /* Get the number of BF weights */
488  iq_size = N*ext1_params->bfwiqWidth*2; // total in bits
489  parm_size = iq_size>>3; // total in bytes (/8)
490  if(iq_size%8) parm_size++; // round up
491  EXPECT_TRUE(std::memcmp(ext1_result->p_bfwIQ, ext1_params->p_bfwIQ, parm_size));
492 
493  }
494  break;
495 
497  {
498  struct xran_sectionext2_info *ext2_params, *ext2_result;
499 
500  ext2_params = (struct xran_sectionext2_info *)m_params.sections[i].exData[j].data;
501  ext2_result = (struct xran_sectionext2_info *)m_result.sections[i].exData[j].data;
502 
503  if(ext2_params->bfAzPtWidth) {
504  EXPECT_TRUE(ext2_result->bfAzPtWidth == ext2_params->bfAzPtWidth);
505  EXPECT_TRUE(ext2_result->bfAzPt == ext2_params->bfAzPt);
506  }
507 
508  if(ext2_params->bfZePtWidth) {
509  EXPECT_TRUE(ext2_result->bfZePtWidth == ext2_params->bfZePtWidth);
510  EXPECT_TRUE(ext2_result->bfZePt == ext2_params->bfZePt);
511  }
512  if(ext2_params->bfAz3ddWidth) {
513  EXPECT_TRUE(ext2_result->bfAz3ddWidth == ext2_params->bfAz3ddWidth);
514  EXPECT_TRUE(ext2_result->bfAz3dd == ext2_params->bfAz3dd);
515  }
516  if(ext2_params->bfZe3ddWidth) {
517  EXPECT_TRUE(ext2_result->bfZe3ddWidth == ext2_params->bfZe3ddWidth);
518  EXPECT_TRUE(ext2_result->bfZe3dd == ext2_params->bfZe3dd);
519  }
520 
521  EXPECT_TRUE(ext2_result->bfAzSI == ext2_params->bfAzSI);
522  EXPECT_TRUE(ext2_result->bfZeSI == ext2_params->bfZeSI);
523  }
524  break;
525 
527  {
528  struct xran_sectionext4_info *ext4_params, *ext4_result;
529 
530  ext4_params = (struct xran_sectionext4_info *)m_params.sections[i].exData[j].data;
531  ext4_result = (struct xran_sectionext4_info *)m_result.sections[i].exData[j].data;
532 
533  EXPECT_TRUE(ext4_result->csf == ext4_params->csf);
534  EXPECT_TRUE(ext4_result->modCompScaler == ext4_params->modCompScaler);
535  }
536  break;
538  {
539  struct xran_sectionext5_info *ext5_params, *ext5_result;
540  int idx;
541 
542  ext5_params = (struct xran_sectionext5_info *)m_params.sections[i].exData[j].data;
543  ext5_result = (struct xran_sectionext5_info *)m_result.sections[i].exData[j].data;
544 
545  EXPECT_TRUE(ext5_result->num_sets == ext5_params->num_sets);
546  for(idx=0; idx < ext5_params->num_sets; idx++) {
547  EXPECT_TRUE(ext5_result->mc[idx].csf == ext5_params->mc[idx].csf);
548  EXPECT_TRUE(ext5_result->mc[idx].mcScaleReMask == ext5_params->mc[idx].mcScaleReMask);
549  EXPECT_TRUE(ext5_result->mc[idx].mcScaleOffset == ext5_params->mc[idx].mcScaleOffset);
550  }
551  }
552  break;
553  }
554  }
555  }
556  }
557 
558  return;
559 }
560 
561 
562 /***************************************************************************
563  * Functional Test cases
564  ***************************************************************************/
565 
566 TEST_P(C_plane, Section_Ext1)
567 {
568  int i = 0, idRb;
569  int32_t len = 0;
570  int16_t *ptr = NULL;
571  int32_t nRbs = 36;
572  int32_t nAntElm = 32;
573  int8_t iqWidth = 16;
574  int8_t compMethod = XRAN_COMPMETHOD_NONE;
575  int8_t *p_ext1_dst = NULL;
576  int16_t *bfw_payload = NULL;
577  int32_t expected_len = (3+1)*nRbs + nAntElm*nRbs*4;
578 
579  struct xran_section_gen_info* loc_pSectGenInfo = m_params.sections;
580  struct xran_sectionext1_info m_ext1;
581  struct xran_cp_radioapp_section_ext1 *p_ext1;
582 
583  /* Configure section information */
584  if(prepare_sections(false) < 0) {
585  FAIL() << "Invalid Section configuration\n";
586  }
587  ptr = m_p_bfw_iq_src;
588 
589  for (idRb =0; idRb < nRbs*nAntElm*2; idRb++){
590  ptr[idRb] = i;
591  i++;
592  }
593 
597  nRbs,
598  nAntElm,
599  iqWidth,
600  compMethod);
601 
602  ASSERT_TRUE(len == expected_len);
603 
604  p_ext1_dst = m_p_ext1_dst;
605  idRb = 0;
606  do {
607  p_ext1 = (struct xran_cp_radioapp_section_ext1 *)p_ext1_dst;
608  bfw_payload = (int16_t*)(p_ext1+1);
609  p_ext1_dst += p_ext1->extLen*XRAN_SECTIONEXT_ALIGN;
610  idRb++;
611  }while(p_ext1->ef != XRAN_EF_F_LAST);
612 
613  ASSERT_TRUE(idRb == nRbs);
614 
615  /* Update section information */
616  memset(&m_ext1, 0, sizeof (struct xran_sectionext1_info));
617  m_ext1.bfwNumber = nAntElm;
618  m_ext1.bfwiqWidth = iqWidth;
619  m_ext1.bfwCompMeth = compMethod;
620  m_ext1.p_bfwIQ = (int16_t*)m_p_ext1_dst;
621  m_ext1.bfwIQ_sz = len;
622 
623  loc_pSectGenInfo->exData[0].type = XRAN_CP_SECTIONEXTCMD_1;
624  loc_pSectGenInfo->exData[0].len = sizeof(m_ext1);
625  loc_pSectGenInfo->exData[0].data = &m_ext1;
626 
627  loc_pSectGenInfo->info.ef = 1;
628  loc_pSectGenInfo->exDataSize = 1;
629 
630  m_params.numSections = 1;
631 
632  /* Generating C-Plane packet */
634 
635  /* Parsing generated packet */
637 
638  /* Verify the result */
639  //verify_sections();
640 }
641 
642 TEST_P(C_plane, Section_Ext1_9bit)
643 {
644  int i = 0, idRb;
645  int32_t len = 0;
646  int16_t *ptr = NULL;
647  int32_t nRbs = 36;
648  int32_t nAntElm = 32;
649  int8_t iqWidth = 9;
650  int8_t compMethod = XRAN_COMPMETHOD_BLKFLOAT;
651  int8_t *p_ext1_dst = NULL;
652  int16_t *bfw_payload = NULL;
653  int32_t expected_len = ((nAntElm/16*4*iqWidth)+1)*nRbs + /* bfwCompParam + IQ = */
654  sizeof(struct xran_cp_radioapp_section_ext1)*nRbs; /* ext1 Headers */
655 
656  struct xran_section_gen_info* loc_pSectGenInfo = m_params.sections;
657  struct xran_sectionext1_info m_ext1;
658  struct xran_cp_radioapp_section_ext1 *p_ext1;
659 
660  /* Configure section information */
661  if(prepare_sections(false) < 0) {
662  FAIL() << "Invalid Section configuration\n";
663  }
664  ptr = m_p_bfw_iq_src;
665 
666  for (idRb =0; idRb < nRbs*nAntElm*2; idRb++){
667  ptr[idRb] = i;
668  i++;
669  }
670 
674  nRbs,
675  nAntElm,
676  iqWidth,
677  compMethod);
678 
679  ASSERT_TRUE(len == expected_len);
680 
681  p_ext1_dst = m_p_ext1_dst;
682  idRb = 0;
683  do {
684  p_ext1 = (struct xran_cp_radioapp_section_ext1 *)p_ext1_dst;
685  bfw_payload = (int16_t*)(p_ext1+1);
686  p_ext1_dst += p_ext1->extLen*XRAN_SECTIONEXT_ALIGN;
687  idRb++;
688  }while(p_ext1->ef != XRAN_EF_F_LAST);
689 
690  ASSERT_TRUE(idRb == nRbs);
691 
692  /* Update section information */
693  memset(&m_ext1, 0, sizeof (struct xran_sectionext1_info));
694  m_ext1.bfwNumber = nAntElm;
695  m_ext1.bfwiqWidth = iqWidth;
696  m_ext1.bfwCompMeth = compMethod;
697  m_ext1.p_bfwIQ = (int16_t*)m_p_ext1_dst;
698  m_ext1.bfwIQ_sz = len;
699 
700  loc_pSectGenInfo->exData[0].type = XRAN_CP_SECTIONEXTCMD_1;
701  loc_pSectGenInfo->exData[0].len = sizeof(m_ext1);
702  loc_pSectGenInfo->exData[0].data = &m_ext1;
703 
704  loc_pSectGenInfo->info.ef = 1;
705  loc_pSectGenInfo->exDataSize = 1;
706 
707  m_params.numSections = 1;
708 
709  /* Generating C-Plane packet */
711 
712  /* Parsing generated packet */
714 
715  /* Verify the result */
716  //verify_sections();
717 }
718 
719 
720 
721 TEST_P(C_plane, PacketGen)
722 {
723  int i;
724 
725 
726  /* Configure section information */
727  if(prepare_sections(false) < 0) {
728  FAIL() << "Invalid Section configuration\n";
729  }
730 
731  /* Generating C-Plane packet */
733 
734  /* Parsing generated packet */
736 
737  /* Verify the result */
738  verify_sections();
739 }
740 
741 
742 TEST_P(C_plane, PacketGen_Ext)
743 {
744  int i;
745 
746 
747  /* Configure section information */
748  if(prepare_sections(true) < 0) {
749  FAIL() << "Invalid Section configuration\n";
750  }
751 
752  /* Generating C-Plane packet */
754 
755  /* Parsing generated packet */
757 
758  /* Verify the result */
759  verify_sections();
760 }
761 
762 
763 /***************************************************************************
764  * Performance Test cases
765  ***************************************************************************/
767 {
768  /* Configure section information */
769  if(prepare_sections(false) < 0) {
770  FAIL() << "Invalid Section configuration\n";
771  }
772 
773  /* using wrapper function to reset mbuf */
776 }
777 
778 TEST_P(C_plane, Perf_Ext)
779 {
780  /* Configure section information */
781  if(prepare_sections(true) < 0) {
782  FAIL() << "Invalid Section configuration\n";
783  }
784 
785  /* using wrapper function to reset mbuf */
788 }
789 
790 
792  testing::ValuesIn(get_sequence(C_plane::get_number_of_cases("C_Plane"))));
793 
uint16_t * m_prbStart
+ + + + + +
uint8_t m_sectionType
+
struct rte_mbuf * xran_ethdi_mbuf_alloc(void)
Definition: ethdi.c:77
+ + +
struct xran_recv_packet_info m_pktInfo
+ +
#define XRAN_STATUS_SUCCESS
Definition: xran_fh_o_du.h:54
+
const uint8_t m_bitmask[]
+ +
std::string m_dirStr
+
int m_freqOffset
+
int m_maxSections
+ + +
uint8_t activeBeamspaceCoeffMask[XRAN_MAX_BFW_N]
Definition: xran_cp_api.h:220
+ + +
static unsigned get_number_of_cases(const std::string &type)
Definition: common.hpp:190
+ + +
int m_numSections
+
void cput_fh_rx_prach_callback(void *pCallbackTag, xran_status_t status)
+ +
void performance(const std::string &isa, const std::string &module_name, F function, Args ... args)
Run performance test case for a given function.
Definition: common.hpp:253
+
struct xran_sectionext5_info::@1 mc[XRAN_MAX_MODCOMP_ADDPARMS]
+ +
uint16_t m_cpLength
+
uint16_t m_timeOffset
+
uint8_t m_slotId
+ + +
void cput_fh_rx_callback(void *pCallbackTag, xran_status_t status)
+
uint8_t m_symStart
+
struct xran_section_info info
Definition: xran_cp_api.h:296
+ + + + + + + +
void verify_sections(void)
+ +
uint8_t m_fftSize
+ + + + +
int16_t m_bfwIQ[XRAN_MAX_BFW_N *2]
+
#define XRAN_EF_F_LAST
Definition: xran_cp_api.h:141
+ + +
This file has all definitions for the Ethernet Data Interface Layer.
+ +
uint16_t * m_prbNum
+ +
uint16_t startPrbc
Definition: xran_cp_api.h:193
+
int xran_parse_cp_pkt(struct rte_mbuf *mbuf, struct xran_cp_gen_params *result, struct xran_recv_packet_info *pkt_info)
Parse a C-Plane packet (for RU emulation) Transport layer fragmentation is not supported.
Definition: xran_cp_api.c:1749
+ +
#define XRAN_SECTIONEXT_ALIGN
Definition: xran_cp_api.h:50
+ + + + +
uint8_t m_iqWidth
+
struct xran_sectionext1_info m_ext1
+ +
struct xran_sectionext4_info m_ext4
+
INSTANTIATE_TEST_CASE_P(UnitTest, C_plane, testing::ValuesIn(get_sequence(C_plane::get_number_of_cases("C_Plane"))))
+ +
TEST_P(C_plane, Section_Ext1)
+
uint8_t m_filterIndex
+ +
uint16_t m_reMask
+
void init_test(const std::string &type)
Defines section in the conf.json that is used to load parameters from.
Definition: common.hpp:358
+ + + +
struct xran_cp_header_params hdr
Definition: xran_cp_api.h:320
+ + +
#define XRAN_MAX_BFW_N
Definition: xran_cp_api.h:47
+
uint8_t m_antId
+
struct rte_mbuf * m_pTestBuffer
+ + +
uint8_t m_symNum
+ +
This file has all definitions for the Ethernet Data Interface Layer.
+
struct xran_cp_gen_params m_params
+ +
uint8_t m_compMethod
+ + + +
XRAN layer common functionality for both lls-CU and RU as well as C-plane and U-plane.
+ + + +
int prepare_extensions(int sect_num)
+
union xran_sectionext1_info::@0 bfwCompParam
+ + + +
int8_t * m_p_ext1_dst
+
const std::string module_name
+
int32_t xran_cp_populate_section_ext_1(int8_t *p_ext1_dst, uint16_t ext1_dst_len, int16_t *p_bfw_iq_src, uint16_t rbNumber, uint16_t bfwNumber, uint8_t bfwiqWidth, uint8_t bfwCompMeth)
Definition: xran_cp_api.c:387
+ +
void TearDown() override
+
uint8_t m_dir
+
int prepare_sections(bool extflag)
+ +
int xran_prepare_ctrl_pkt(struct rte_mbuf *mbuf, struct xran_cp_gen_params *params, uint8_t CC_ID, uint8_t Ant_ID, uint8_t seq_id)
Create a C-Plane packet Transport layer fragmentation is not supported.
Definition: xran_cp_api.c:1381
+
#define XRAN_CONVERT_IQWIDTH(x)
Definition: xran_cp_api.h:120
+
This file provides public interface to xRAN Front Haul layer implementation as defined in the ORAN-WG...
+ +
struct xran_sectionext5_info m_ext5
+ +
struct xran_cp_gen_params m_result
+
uint16_t m_sectionId
+ + + + +
int16_t * m_p_bfw_iq_src
+ +
uint16_t m_ext1_dst_len
+
uint8_t m_scs
+
void SetUp() override
+ + +
struct xran_section_gen_info * sections
Definition: xran_cp_api.h:322
+ +
uint16_t numSections
Definition: xran_cp_api.h:318
+ +
struct xran_section_gen_info::@2 exData[XRAN_MAX_NUM_EXTENSIONS]
+ +
uint16_t m_beamId
+
uint8_t m_ccId
+ +
int xran_ut_prepare_cp(struct rte_mbuf *mbuf, struct xran_cp_gen_params *params, uint8_t cc_id, uint8_t ant_id, uint8_t seq_id)
+ +
uint8_t m_seqId
+
uint8_t m_frameId
+ + + +
std::vector< unsigned > get_sequence(const unsigned number)
For a given number return sequence of number from 0 to number - 1.
Definition: common.cpp:78
+
uint8_t m_subframeId
+ +
This file provides the definitions for Control Plane Messages APIs.
+ + + +
struct xran_sectionext2_info m_ext2
+
This file provides the definitions for Transport layer (eCPRI) API.
+ +
int32_t xran_status_t
Definition: xran_fh_o_du.h:236
+ +
+ + + + diff --git a/docs/API/chain__tests_8cc.html b/docs/API/chain__tests_8cc.html new file mode 100644 index 0000000..4217615 --- /dev/null +++ b/docs/API/chain__tests_8cc.html @@ -0,0 +1,1127 @@ + + + + + + + +o-du/phy: chain_tests.cc File Reference + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
chain_tests.cc File Reference
+
+
+
#include "common.hpp"
+#include "xran_lib_wrap.hpp"
+#include "xran_common.h"
+#include "xran_fh_o_du.h"
+#include "ethdi.h"
+#include "ethernet.h"
+#include "xran_transport.h"
+#include "xran_cp_api.h"
+#include <stdint.h>
+
+Include dependency graph for chain_tests.cc:
+
+
+ + + + + + + + + + + + + + + + +
+
+

Go to the source code of this file.

+ + + + +

+Data Structures

class  TestChain
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

void tx_cp_dl_cb (struct rte_timer *tim, void *arg)
 
void tx_cp_ul_cb (struct rte_timer *tim, void *arg)
 
int xran_process_tx_sym (void *arg)
 
int process_mbuf (struct rte_mbuf *pkt)
 
void xran_ut_tx_cp_dl ()
 
void xran_ut_tx_cp_ul ()
 
void xran_ut_tx_up_dl ()
 
void xran_ut_tx_cpup_dl ()
 
int send_mbuf_up (struct rte_mbuf *mbuf, uint16_t type)
 
int send_mbuf_cp_perf (struct rte_mbuf *mbuf, uint16_t type)
 
void utcp_fh_rx_callback (void *pCallbackTag, xran_status_t status)
 
void utcp_fh_rx_prach_callback (void *pCallbackTag, xran_status_t status)
 
 TEST_P (TestChain, CPlaneDLPerf)
 
 TEST_P (TestChain, CPlaneULPerf)
 
 TEST_P (TestChain, UPlaneDLPerf)
 
 TEST_P (TestChain, APlaneDLPerf)
 
 INSTANTIATE_TEST_CASE_P (UnitTest, TestChain, testing::ValuesIn(get_sequence(TestChain::get_number_of_cases("TestChain"))))
 
+ + + + + +

+Variables

const std::string module_name = "C-Plane"
 
const uint8_t m_bitmask [] = { 0x00, 0x03, 0x07, 0x0f, 0x1f, 0x3f, 0x7f, 0xff }
 
+

Function Documentation

+ +

◆ INSTANTIATE_TEST_CASE_P()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
INSTANTIATE_TEST_CASE_P (UnitTest ,
TestChain ,
testing::ValuesIn(get_sequence(TestChain::get_number_of_cases("TestChain")))  
)
+
+
+Here is the caller graph for this function:
+
+
+ + + +
+ +
+
+ +

◆ process_mbuf()

+ +
+
+ + + + + + + + +
int process_mbuf (struct rte_mbuf * pkt)
+
+ +

Definition at line 143 of file xran_common.c.

+
+Here is the call graph for this function:
+
+
+ + + + + + + + + + + + +
+
+Here is the caller graph for this function:
+
+
+ + + + + +
+ +
+
+ +

◆ send_mbuf_cp_perf()

+ +
+
+ + + + + + + + + + + + + + + + + + +
int send_mbuf_cp_perf (struct rte_mbuf * mbuf,
uint16_t type 
)
+
+ +

Definition at line 92 of file chain_tests.cc.

+
+Here is the call graph for this function:
+
+
+ + + + + + + + + + + + + +
+
+Here is the caller graph for this function:
+
+
+ + + + +
+ +
+
+ +

◆ send_mbuf_up()

+ +
+
+ + + + + + + + + + + + + + + + + + +
int send_mbuf_up (struct rte_mbuf * mbuf,
uint16_t type 
)
+
+ +

Definition at line 86 of file chain_tests.cc.

+
+Here is the caller graph for this function:
+
+
+ + + + +
+ +
+
+ +

◆ TEST_P() [1/4]

+ +
+
+ + + + + + + + + + + + + + + + + + +
TEST_P (TestChain ,
CPlaneDLPerf  
)
+
+ +

Definition at line 226 of file chain_tests.cc.

+
+Here is the call graph for this function:
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+Here is the caller graph for this function:
+
+
+ + + +
+ +
+
+ +

◆ TEST_P() [2/4]

+ +
+
+ + + + + + + + + + + + + + + + + + +
TEST_P (TestChain ,
CPlaneULPerf  
)
+
+ +

Definition at line 239 of file chain_tests.cc.

+
+Here is the call graph for this function:
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ +

◆ TEST_P() [3/4]

+ +
+
+ + + + + + + + + + + + + + + + + + +
TEST_P (TestChain ,
UPlaneDLPerf  
)
+
+ +

Definition at line 252 of file chain_tests.cc.

+
+Here is the call graph for this function:
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ +

◆ TEST_P() [4/4]

+ +
+
+ + + + + + + + + + + + + + + + + + +
TEST_P (TestChain ,
APlaneDLPerf  
)
+
+ +

Definition at line 276 of file chain_tests.cc.

+
+Here is the call graph for this function:
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ +

◆ tx_cp_dl_cb()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void tx_cp_dl_cb (struct rte_timer * tim,
void * arg 
)
+
+ +

Definition at line 910 of file xran_main.c.

+
+Here is the call graph for this function:
+
+
+ + + + + +
+
+Here is the caller graph for this function:
+
+
+ + + + + + +
+ +
+
+ +

◆ tx_cp_ul_cb()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void tx_cp_ul_cb (struct rte_timer * tim,
void * arg 
)
+
+ +

Definition at line 1045 of file xran_main.c.

+
+Here is the call graph for this function:
+
+
+ + + + + + + +
+
+Here is the caller graph for this function:
+
+
+ + + + +
+ +
+
+ +

◆ utcp_fh_rx_callback()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void utcp_fh_rx_callback (void * pCallbackTag,
xran_status_t status 
)
+
+ +

Definition at line 113 of file chain_tests.cc.

+
+Here is the caller graph for this function:
+
+
+ + + + +
+ +
+
+ +

◆ utcp_fh_rx_prach_callback()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void utcp_fh_rx_prach_callback (void * pCallbackTag,
xran_status_t status 
)
+
+ +

Definition at line 118 of file chain_tests.cc.

+
+Here is the caller graph for this function:
+
+
+ + + + +
+ +
+
+ +

◆ xran_process_tx_sym()

+ +
+
+ + + + + + + + +
int xran_process_tx_sym (void * arg)
+
+ +

Definition at line 2202 of file xran_main.c.

+
+Here is the call graph for this function:
+
+
+ + + +
+
+Here is the caller graph for this function:
+
+
+ + + + + + +
+ +
+
+ +

◆ xran_ut_tx_cp_dl()

+ +
+
+ + + + + + + +
void xran_ut_tx_cp_dl ()
+
+ +

Definition at line 49 of file chain_tests.cc.

+
+Here is the call graph for this function:
+
+
+ + + + + + + + + + +
+
+Here is the caller graph for this function:
+
+
+ + + + +
+ +
+
+ +

◆ xran_ut_tx_cp_ul()

+ +
+
+ + + + + + + +
void xran_ut_tx_cp_ul ()
+
+ +

Definition at line 55 of file chain_tests.cc.

+
+Here is the call graph for this function:
+
+
+ + + + + + + + + + + + +
+
+Here is the caller graph for this function:
+
+
+ + + +
+ +
+
+ +

◆ xran_ut_tx_cpup_dl()

+ +
+
+ + + + + + + +
void xran_ut_tx_cpup_dl ()
+
+ +

Definition at line 67 of file chain_tests.cc.

+
+Here is the call graph for this function:
+
+
+ + + + + + + + + + + + + +
+
+Here is the caller graph for this function:
+
+
+ + + +
+ +
+
+ +

◆ xran_ut_tx_up_dl()

+ +
+
+ + + + + + + +
void xran_ut_tx_up_dl ()
+
+ +

Definition at line 61 of file chain_tests.cc.

+
+Here is the call graph for this function:
+
+
+ + + + + + + + + +
+
+Here is the caller graph for this function:
+
+
+ + + +
+ +
+
+

Variable Documentation

+ +

◆ m_bitmask

+ +
+
+ + + + +
const uint8_t m_bitmask[] = { 0x00, 0x03, 0x07, 0x0f, 0x1f, 0x3f, 0x7f, 0xff }
+
+ +

Definition at line 35 of file chain_tests.cc.

+ +
+
+ +

◆ module_name

+ +
+
+ + + + +
const std::string module_name = "C-Plane"
+
+ +

Definition at line 33 of file chain_tests.cc.

+ +
+
+
+ + + + diff --git a/docs/API/chain__tests_8cc__incl.map b/docs/API/chain__tests_8cc__incl.map new file mode 100644 index 0000000..ddeeb10 --- /dev/null +++ b/docs/API/chain__tests_8cc__incl.map @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/docs/API/chain__tests_8cc__incl.md5 b/docs/API/chain__tests_8cc__incl.md5 new file mode 100644 index 0000000..bbbab5b --- /dev/null +++ b/docs/API/chain__tests_8cc__incl.md5 @@ -0,0 +1 @@ +f82cd4bd83aa3d5ed81637a70f3d1c54 \ No newline at end of file diff --git a/docs/API/chain__tests_8cc__incl.png b/docs/API/chain__tests_8cc__incl.png new file mode 100644 index 0000000..f93adcc Binary files /dev/null and b/docs/API/chain__tests_8cc__incl.png differ diff --git a/docs/API/chain__tests_8cc_a2bc2178388f6edfa69905ff5f52fbcdc_cgraph.map b/docs/API/chain__tests_8cc_a2bc2178388f6edfa69905ff5f52fbcdc_cgraph.map new file mode 100644 index 0000000..d88fb00 --- /dev/null +++ b/docs/API/chain__tests_8cc_a2bc2178388f6edfa69905ff5f52fbcdc_cgraph.map @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/API/chain__tests_8cc_a2bc2178388f6edfa69905ff5f52fbcdc_cgraph.md5 b/docs/API/chain__tests_8cc_a2bc2178388f6edfa69905ff5f52fbcdc_cgraph.md5 new file mode 100644 index 0000000..04edf34 --- /dev/null +++ b/docs/API/chain__tests_8cc_a2bc2178388f6edfa69905ff5f52fbcdc_cgraph.md5 @@ -0,0 +1 @@ +38d4a24633f1a402995b58b04a72b70e \ No newline at end of file diff --git a/docs/API/chain__tests_8cc_a2bc2178388f6edfa69905ff5f52fbcdc_cgraph.png b/docs/API/chain__tests_8cc_a2bc2178388f6edfa69905ff5f52fbcdc_cgraph.png new file mode 100644 index 0000000..d00460c Binary files /dev/null and b/docs/API/chain__tests_8cc_a2bc2178388f6edfa69905ff5f52fbcdc_cgraph.png differ diff --git a/docs/API/chain__tests_8cc_a2f99c2e64ef3c4233a66e3110dd6a781_icgraph.map b/docs/API/chain__tests_8cc_a2f99c2e64ef3c4233a66e3110dd6a781_icgraph.map new file mode 100644 index 0000000..856262c --- /dev/null +++ b/docs/API/chain__tests_8cc_a2f99c2e64ef3c4233a66e3110dd6a781_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/chain__tests_8cc_a2f99c2e64ef3c4233a66e3110dd6a781_icgraph.md5 b/docs/API/chain__tests_8cc_a2f99c2e64ef3c4233a66e3110dd6a781_icgraph.md5 new file mode 100644 index 0000000..7ed1306 --- /dev/null +++ b/docs/API/chain__tests_8cc_a2f99c2e64ef3c4233a66e3110dd6a781_icgraph.md5 @@ -0,0 +1 @@ +ccf055fb310309456f8a3c8876090005 \ No newline at end of file diff --git a/docs/API/chain__tests_8cc_a2f99c2e64ef3c4233a66e3110dd6a781_icgraph.png b/docs/API/chain__tests_8cc_a2f99c2e64ef3c4233a66e3110dd6a781_icgraph.png new file mode 100644 index 0000000..f435981 Binary files /dev/null and b/docs/API/chain__tests_8cc_a2f99c2e64ef3c4233a66e3110dd6a781_icgraph.png differ diff --git a/docs/API/chain__tests_8cc_a35e1cd308253045533454c90a54f876f_icgraph.map b/docs/API/chain__tests_8cc_a35e1cd308253045533454c90a54f876f_icgraph.map new file mode 100644 index 0000000..96c5dda --- /dev/null +++ b/docs/API/chain__tests_8cc_a35e1cd308253045533454c90a54f876f_icgraph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/chain__tests_8cc_a35e1cd308253045533454c90a54f876f_icgraph.md5 b/docs/API/chain__tests_8cc_a35e1cd308253045533454c90a54f876f_icgraph.md5 new file mode 100644 index 0000000..63e6c15 --- /dev/null +++ b/docs/API/chain__tests_8cc_a35e1cd308253045533454c90a54f876f_icgraph.md5 @@ -0,0 +1 @@ +a2d50828639ffd46365ca56ccd631170 \ No newline at end of file diff --git a/docs/API/chain__tests_8cc_a35e1cd308253045533454c90a54f876f_icgraph.png b/docs/API/chain__tests_8cc_a35e1cd308253045533454c90a54f876f_icgraph.png new file mode 100644 index 0000000..adad8ec Binary files /dev/null and b/docs/API/chain__tests_8cc_a35e1cd308253045533454c90a54f876f_icgraph.png differ diff --git a/docs/API/chain__tests_8cc_a3d4bd5c7eec6da4ab71688e209100761_cgraph.map b/docs/API/chain__tests_8cc_a3d4bd5c7eec6da4ab71688e209100761_cgraph.map new file mode 100644 index 0000000..10fea4d --- /dev/null +++ b/docs/API/chain__tests_8cc_a3d4bd5c7eec6da4ab71688e209100761_cgraph.map @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/docs/API/chain__tests_8cc_a3d4bd5c7eec6da4ab71688e209100761_cgraph.md5 b/docs/API/chain__tests_8cc_a3d4bd5c7eec6da4ab71688e209100761_cgraph.md5 new file mode 100644 index 0000000..235b579 --- /dev/null +++ b/docs/API/chain__tests_8cc_a3d4bd5c7eec6da4ab71688e209100761_cgraph.md5 @@ -0,0 +1 @@ +4b0793798e0fbc0c8b136c29d0d30b1c \ No newline at end of file diff --git a/docs/API/chain__tests_8cc_a3d4bd5c7eec6da4ab71688e209100761_cgraph.png b/docs/API/chain__tests_8cc_a3d4bd5c7eec6da4ab71688e209100761_cgraph.png new file mode 100644 index 0000000..be89eaf Binary files /dev/null and b/docs/API/chain__tests_8cc_a3d4bd5c7eec6da4ab71688e209100761_cgraph.png differ diff --git a/docs/API/chain__tests_8cc_a3d4bd5c7eec6da4ab71688e209100761_icgraph.map b/docs/API/chain__tests_8cc_a3d4bd5c7eec6da4ab71688e209100761_icgraph.map new file mode 100644 index 0000000..0e0eb16 --- /dev/null +++ b/docs/API/chain__tests_8cc_a3d4bd5c7eec6da4ab71688e209100761_icgraph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/API/chain__tests_8cc_a3d4bd5c7eec6da4ab71688e209100761_icgraph.md5 b/docs/API/chain__tests_8cc_a3d4bd5c7eec6da4ab71688e209100761_icgraph.md5 new file mode 100644 index 0000000..0e1a2d5 --- /dev/null +++ b/docs/API/chain__tests_8cc_a3d4bd5c7eec6da4ab71688e209100761_icgraph.md5 @@ -0,0 +1 @@ +2e5496e899dff761b4332b27321a71d9 \ No newline at end of file diff --git a/docs/API/chain__tests_8cc_a3d4bd5c7eec6da4ab71688e209100761_icgraph.png b/docs/API/chain__tests_8cc_a3d4bd5c7eec6da4ab71688e209100761_icgraph.png new file mode 100644 index 0000000..0486323 Binary files /dev/null and b/docs/API/chain__tests_8cc_a3d4bd5c7eec6da4ab71688e209100761_icgraph.png differ diff --git a/docs/API/chain__tests_8cc_a4474e27c827459f3af40954b0c6f962b_cgraph.map b/docs/API/chain__tests_8cc_a4474e27c827459f3af40954b0c6f962b_cgraph.map new file mode 100644 index 0000000..99394b9 --- /dev/null +++ b/docs/API/chain__tests_8cc_a4474e27c827459f3af40954b0c6f962b_cgraph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/API/chain__tests_8cc_a4474e27c827459f3af40954b0c6f962b_cgraph.md5 b/docs/API/chain__tests_8cc_a4474e27c827459f3af40954b0c6f962b_cgraph.md5 new file mode 100644 index 0000000..9e7d41f --- /dev/null +++ b/docs/API/chain__tests_8cc_a4474e27c827459f3af40954b0c6f962b_cgraph.md5 @@ -0,0 +1 @@ +1377275df65c7a1429ea959118918610 \ No newline at end of file diff --git a/docs/API/chain__tests_8cc_a4474e27c827459f3af40954b0c6f962b_cgraph.png b/docs/API/chain__tests_8cc_a4474e27c827459f3af40954b0c6f962b_cgraph.png new file mode 100644 index 0000000..3e27607 Binary files /dev/null and b/docs/API/chain__tests_8cc_a4474e27c827459f3af40954b0c6f962b_cgraph.png differ diff --git a/docs/API/chain__tests_8cc_a4474e27c827459f3af40954b0c6f962b_icgraph.map b/docs/API/chain__tests_8cc_a4474e27c827459f3af40954b0c6f962b_icgraph.map new file mode 100644 index 0000000..c9596e0 --- /dev/null +++ b/docs/API/chain__tests_8cc_a4474e27c827459f3af40954b0c6f962b_icgraph.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/API/chain__tests_8cc_a4474e27c827459f3af40954b0c6f962b_icgraph.md5 b/docs/API/chain__tests_8cc_a4474e27c827459f3af40954b0c6f962b_icgraph.md5 new file mode 100644 index 0000000..9219f40 --- /dev/null +++ b/docs/API/chain__tests_8cc_a4474e27c827459f3af40954b0c6f962b_icgraph.md5 @@ -0,0 +1 @@ +0d0c2da78e03739c140f092bee804505 \ No newline at end of file diff --git a/docs/API/chain__tests_8cc_a4474e27c827459f3af40954b0c6f962b_icgraph.png b/docs/API/chain__tests_8cc_a4474e27c827459f3af40954b0c6f962b_icgraph.png new file mode 100644 index 0000000..e4c3cab Binary files /dev/null and b/docs/API/chain__tests_8cc_a4474e27c827459f3af40954b0c6f962b_icgraph.png differ diff --git a/docs/API/chain__tests_8cc_a54a43b6c3ece3e568457002dbe5b5c1a_cgraph.map b/docs/API/chain__tests_8cc_a54a43b6c3ece3e568457002dbe5b5c1a_cgraph.map new file mode 100644 index 0000000..5fc2c5c --- /dev/null +++ b/docs/API/chain__tests_8cc_a54a43b6c3ece3e568457002dbe5b5c1a_cgraph.map @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/API/chain__tests_8cc_a54a43b6c3ece3e568457002dbe5b5c1a_cgraph.md5 b/docs/API/chain__tests_8cc_a54a43b6c3ece3e568457002dbe5b5c1a_cgraph.md5 new file mode 100644 index 0000000..2784103 --- /dev/null +++ b/docs/API/chain__tests_8cc_a54a43b6c3ece3e568457002dbe5b5c1a_cgraph.md5 @@ -0,0 +1 @@ +fabae27651cde8928babb6de0285e7e2 \ No newline at end of file diff --git a/docs/API/chain__tests_8cc_a54a43b6c3ece3e568457002dbe5b5c1a_cgraph.png b/docs/API/chain__tests_8cc_a54a43b6c3ece3e568457002dbe5b5c1a_cgraph.png new file mode 100644 index 0000000..25508cb Binary files /dev/null and b/docs/API/chain__tests_8cc_a54a43b6c3ece3e568457002dbe5b5c1a_cgraph.png differ diff --git a/docs/API/chain__tests_8cc_a5b3b3bf6af57ee77a2bb1701ad24c7db_cgraph.map b/docs/API/chain__tests_8cc_a5b3b3bf6af57ee77a2bb1701ad24c7db_cgraph.map new file mode 100644 index 0000000..e57a3ab --- /dev/null +++ b/docs/API/chain__tests_8cc_a5b3b3bf6af57ee77a2bb1701ad24c7db_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/chain__tests_8cc_a5b3b3bf6af57ee77a2bb1701ad24c7db_cgraph.md5 b/docs/API/chain__tests_8cc_a5b3b3bf6af57ee77a2bb1701ad24c7db_cgraph.md5 new file mode 100644 index 0000000..328f270 --- /dev/null +++ b/docs/API/chain__tests_8cc_a5b3b3bf6af57ee77a2bb1701ad24c7db_cgraph.md5 @@ -0,0 +1 @@ +110c8d5d511cedc2a95e827a0a547169 \ No newline at end of file diff --git a/docs/API/chain__tests_8cc_a5b3b3bf6af57ee77a2bb1701ad24c7db_cgraph.png b/docs/API/chain__tests_8cc_a5b3b3bf6af57ee77a2bb1701ad24c7db_cgraph.png new file mode 100644 index 0000000..ab87aea Binary files /dev/null and b/docs/API/chain__tests_8cc_a5b3b3bf6af57ee77a2bb1701ad24c7db_cgraph.png differ diff --git a/docs/API/chain__tests_8cc_a5b3b3bf6af57ee77a2bb1701ad24c7db_icgraph.map b/docs/API/chain__tests_8cc_a5b3b3bf6af57ee77a2bb1701ad24c7db_icgraph.map new file mode 100644 index 0000000..7ddbca3 --- /dev/null +++ b/docs/API/chain__tests_8cc_a5b3b3bf6af57ee77a2bb1701ad24c7db_icgraph.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/API/chain__tests_8cc_a5b3b3bf6af57ee77a2bb1701ad24c7db_icgraph.md5 b/docs/API/chain__tests_8cc_a5b3b3bf6af57ee77a2bb1701ad24c7db_icgraph.md5 new file mode 100644 index 0000000..b9e43fe --- /dev/null +++ b/docs/API/chain__tests_8cc_a5b3b3bf6af57ee77a2bb1701ad24c7db_icgraph.md5 @@ -0,0 +1 @@ +385d354a9086f4845daa3cdec48f7077 \ No newline at end of file diff --git a/docs/API/chain__tests_8cc_a5b3b3bf6af57ee77a2bb1701ad24c7db_icgraph.png b/docs/API/chain__tests_8cc_a5b3b3bf6af57ee77a2bb1701ad24c7db_icgraph.png new file mode 100644 index 0000000..03e75cf Binary files /dev/null and b/docs/API/chain__tests_8cc_a5b3b3bf6af57ee77a2bb1701ad24c7db_icgraph.png differ diff --git a/docs/API/chain__tests_8cc_a61f8088ed26f5ccc6a323c3b0feb66c2_cgraph.map b/docs/API/chain__tests_8cc_a61f8088ed26f5ccc6a323c3b0feb66c2_cgraph.map new file mode 100644 index 0000000..2aefad5 --- /dev/null +++ b/docs/API/chain__tests_8cc_a61f8088ed26f5ccc6a323c3b0feb66c2_cgraph.map @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/docs/API/chain__tests_8cc_a61f8088ed26f5ccc6a323c3b0feb66c2_cgraph.md5 b/docs/API/chain__tests_8cc_a61f8088ed26f5ccc6a323c3b0feb66c2_cgraph.md5 new file mode 100644 index 0000000..7c4e3b2 --- /dev/null +++ b/docs/API/chain__tests_8cc_a61f8088ed26f5ccc6a323c3b0feb66c2_cgraph.md5 @@ -0,0 +1 @@ +2cca0d4a9b0c8dd1a9bf0dafb6781f90 \ No newline at end of file diff --git a/docs/API/chain__tests_8cc_a61f8088ed26f5ccc6a323c3b0feb66c2_cgraph.png b/docs/API/chain__tests_8cc_a61f8088ed26f5ccc6a323c3b0feb66c2_cgraph.png new file mode 100644 index 0000000..32cf0dd Binary files /dev/null and b/docs/API/chain__tests_8cc_a61f8088ed26f5ccc6a323c3b0feb66c2_cgraph.png differ diff --git a/docs/API/chain__tests_8cc_a61f8088ed26f5ccc6a323c3b0feb66c2_icgraph.map b/docs/API/chain__tests_8cc_a61f8088ed26f5ccc6a323c3b0feb66c2_icgraph.map new file mode 100644 index 0000000..ca09bd2 --- /dev/null +++ b/docs/API/chain__tests_8cc_a61f8088ed26f5ccc6a323c3b0feb66c2_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/chain__tests_8cc_a61f8088ed26f5ccc6a323c3b0feb66c2_icgraph.md5 b/docs/API/chain__tests_8cc_a61f8088ed26f5ccc6a323c3b0feb66c2_icgraph.md5 new file mode 100644 index 0000000..89a96c6 --- /dev/null +++ b/docs/API/chain__tests_8cc_a61f8088ed26f5ccc6a323c3b0feb66c2_icgraph.md5 @@ -0,0 +1 @@ +73c140a006f12060e39e71639abab256 \ No newline at end of file diff --git a/docs/API/chain__tests_8cc_a61f8088ed26f5ccc6a323c3b0feb66c2_icgraph.png b/docs/API/chain__tests_8cc_a61f8088ed26f5ccc6a323c3b0feb66c2_icgraph.png new file mode 100644 index 0000000..1345964 Binary files /dev/null and b/docs/API/chain__tests_8cc_a61f8088ed26f5ccc6a323c3b0feb66c2_icgraph.png differ diff --git a/docs/API/chain__tests_8cc_a6862679e16a540ac01d6fd391316f648_icgraph.map b/docs/API/chain__tests_8cc_a6862679e16a540ac01d6fd391316f648_icgraph.map new file mode 100644 index 0000000..9d06eff --- /dev/null +++ b/docs/API/chain__tests_8cc_a6862679e16a540ac01d6fd391316f648_icgraph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/chain__tests_8cc_a6862679e16a540ac01d6fd391316f648_icgraph.md5 b/docs/API/chain__tests_8cc_a6862679e16a540ac01d6fd391316f648_icgraph.md5 new file mode 100644 index 0000000..06cff82 --- /dev/null +++ b/docs/API/chain__tests_8cc_a6862679e16a540ac01d6fd391316f648_icgraph.md5 @@ -0,0 +1 @@ +c6be67c412b82ad4c6a5866e81cef7c7 \ No newline at end of file diff --git a/docs/API/chain__tests_8cc_a6862679e16a540ac01d6fd391316f648_icgraph.png b/docs/API/chain__tests_8cc_a6862679e16a540ac01d6fd391316f648_icgraph.png new file mode 100644 index 0000000..096d8fb Binary files /dev/null and b/docs/API/chain__tests_8cc_a6862679e16a540ac01d6fd391316f648_icgraph.png differ diff --git a/docs/API/chain__tests_8cc_a6c5f599800ca755367ad7df4da60eb86_cgraph.map b/docs/API/chain__tests_8cc_a6c5f599800ca755367ad7df4da60eb86_cgraph.map new file mode 100644 index 0000000..89b0964 --- /dev/null +++ b/docs/API/chain__tests_8cc_a6c5f599800ca755367ad7df4da60eb86_cgraph.map @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/API/chain__tests_8cc_a6c5f599800ca755367ad7df4da60eb86_cgraph.md5 b/docs/API/chain__tests_8cc_a6c5f599800ca755367ad7df4da60eb86_cgraph.md5 new file mode 100644 index 0000000..d8bf33b --- /dev/null +++ b/docs/API/chain__tests_8cc_a6c5f599800ca755367ad7df4da60eb86_cgraph.md5 @@ -0,0 +1 @@ +0c6c4ef43779792df006cd769fe51b52 \ No newline at end of file diff --git a/docs/API/chain__tests_8cc_a6c5f599800ca755367ad7df4da60eb86_cgraph.png b/docs/API/chain__tests_8cc_a6c5f599800ca755367ad7df4da60eb86_cgraph.png new file mode 100644 index 0000000..0532ce2 Binary files /dev/null and b/docs/API/chain__tests_8cc_a6c5f599800ca755367ad7df4da60eb86_cgraph.png differ diff --git a/docs/API/chain__tests_8cc_a6c5f599800ca755367ad7df4da60eb86_icgraph.map b/docs/API/chain__tests_8cc_a6c5f599800ca755367ad7df4da60eb86_icgraph.map new file mode 100644 index 0000000..81ba25f --- /dev/null +++ b/docs/API/chain__tests_8cc_a6c5f599800ca755367ad7df4da60eb86_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/chain__tests_8cc_a6c5f599800ca755367ad7df4da60eb86_icgraph.md5 b/docs/API/chain__tests_8cc_a6c5f599800ca755367ad7df4da60eb86_icgraph.md5 new file mode 100644 index 0000000..447d402 --- /dev/null +++ b/docs/API/chain__tests_8cc_a6c5f599800ca755367ad7df4da60eb86_icgraph.md5 @@ -0,0 +1 @@ +57ada43b07e74e0319216956f2e0a355 \ No newline at end of file diff --git a/docs/API/chain__tests_8cc_a6c5f599800ca755367ad7df4da60eb86_icgraph.png b/docs/API/chain__tests_8cc_a6c5f599800ca755367ad7df4da60eb86_icgraph.png new file mode 100644 index 0000000..52f3adb Binary files /dev/null and b/docs/API/chain__tests_8cc_a6c5f599800ca755367ad7df4da60eb86_icgraph.png differ diff --git a/docs/API/chain__tests_8cc_a73639c0dcf18fe068dc350fc0c8ba2f2_cgraph.map b/docs/API/chain__tests_8cc_a73639c0dcf18fe068dc350fc0c8ba2f2_cgraph.map new file mode 100644 index 0000000..5dd73de --- /dev/null +++ b/docs/API/chain__tests_8cc_a73639c0dcf18fe068dc350fc0c8ba2f2_cgraph.map @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/docs/API/chain__tests_8cc_a73639c0dcf18fe068dc350fc0c8ba2f2_cgraph.md5 b/docs/API/chain__tests_8cc_a73639c0dcf18fe068dc350fc0c8ba2f2_cgraph.md5 new file mode 100644 index 0000000..79de29a --- /dev/null +++ b/docs/API/chain__tests_8cc_a73639c0dcf18fe068dc350fc0c8ba2f2_cgraph.md5 @@ -0,0 +1 @@ +84f82a6f6df43e178787833ccd07993b \ No newline at end of file diff --git a/docs/API/chain__tests_8cc_a73639c0dcf18fe068dc350fc0c8ba2f2_cgraph.png b/docs/API/chain__tests_8cc_a73639c0dcf18fe068dc350fc0c8ba2f2_cgraph.png new file mode 100644 index 0000000..fcab229 Binary files /dev/null and b/docs/API/chain__tests_8cc_a73639c0dcf18fe068dc350fc0c8ba2f2_cgraph.png differ diff --git a/docs/API/chain__tests_8cc_a73639c0dcf18fe068dc350fc0c8ba2f2_icgraph.map b/docs/API/chain__tests_8cc_a73639c0dcf18fe068dc350fc0c8ba2f2_icgraph.map new file mode 100644 index 0000000..463577b --- /dev/null +++ b/docs/API/chain__tests_8cc_a73639c0dcf18fe068dc350fc0c8ba2f2_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/chain__tests_8cc_a73639c0dcf18fe068dc350fc0c8ba2f2_icgraph.md5 b/docs/API/chain__tests_8cc_a73639c0dcf18fe068dc350fc0c8ba2f2_icgraph.md5 new file mode 100644 index 0000000..319a2bd --- /dev/null +++ b/docs/API/chain__tests_8cc_a73639c0dcf18fe068dc350fc0c8ba2f2_icgraph.md5 @@ -0,0 +1 @@ +de67337294cc9dfd591e933a349964aa \ No newline at end of file diff --git a/docs/API/chain__tests_8cc_a73639c0dcf18fe068dc350fc0c8ba2f2_icgraph.png b/docs/API/chain__tests_8cc_a73639c0dcf18fe068dc350fc0c8ba2f2_icgraph.png new file mode 100644 index 0000000..9f9af6d Binary files /dev/null and b/docs/API/chain__tests_8cc_a73639c0dcf18fe068dc350fc0c8ba2f2_icgraph.png differ diff --git a/docs/API/chain__tests_8cc_a9dc1e3a47b655cad97eed3db3cdebd92_cgraph.map b/docs/API/chain__tests_8cc_a9dc1e3a47b655cad97eed3db3cdebd92_cgraph.map new file mode 100644 index 0000000..b7b3123 --- /dev/null +++ b/docs/API/chain__tests_8cc_a9dc1e3a47b655cad97eed3db3cdebd92_cgraph.map @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/API/chain__tests_8cc_a9dc1e3a47b655cad97eed3db3cdebd92_cgraph.md5 b/docs/API/chain__tests_8cc_a9dc1e3a47b655cad97eed3db3cdebd92_cgraph.md5 new file mode 100644 index 0000000..73833b6 --- /dev/null +++ b/docs/API/chain__tests_8cc_a9dc1e3a47b655cad97eed3db3cdebd92_cgraph.md5 @@ -0,0 +1 @@ +a09871507cacb8c5a938fadfdf0756a3 \ No newline at end of file diff --git a/docs/API/chain__tests_8cc_a9dc1e3a47b655cad97eed3db3cdebd92_cgraph.png b/docs/API/chain__tests_8cc_a9dc1e3a47b655cad97eed3db3cdebd92_cgraph.png new file mode 100644 index 0000000..6140ad3 Binary files /dev/null and b/docs/API/chain__tests_8cc_a9dc1e3a47b655cad97eed3db3cdebd92_cgraph.png differ diff --git a/docs/API/chain__tests_8cc_aa17765d107c851ebcc3d202cef78aa75_cgraph.map b/docs/API/chain__tests_8cc_aa17765d107c851ebcc3d202cef78aa75_cgraph.map new file mode 100644 index 0000000..4e33cc2 --- /dev/null +++ b/docs/API/chain__tests_8cc_aa17765d107c851ebcc3d202cef78aa75_cgraph.map @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/docs/API/chain__tests_8cc_aa17765d107c851ebcc3d202cef78aa75_cgraph.md5 b/docs/API/chain__tests_8cc_aa17765d107c851ebcc3d202cef78aa75_cgraph.md5 new file mode 100644 index 0000000..b74f653 --- /dev/null +++ b/docs/API/chain__tests_8cc_aa17765d107c851ebcc3d202cef78aa75_cgraph.md5 @@ -0,0 +1 @@ +be58e85f19d454c458681fb9851036a2 \ No newline at end of file diff --git a/docs/API/chain__tests_8cc_aa17765d107c851ebcc3d202cef78aa75_cgraph.png b/docs/API/chain__tests_8cc_aa17765d107c851ebcc3d202cef78aa75_cgraph.png new file mode 100644 index 0000000..0764319 Binary files /dev/null and b/docs/API/chain__tests_8cc_aa17765d107c851ebcc3d202cef78aa75_cgraph.png differ diff --git a/docs/API/chain__tests_8cc_aa17765d107c851ebcc3d202cef78aa75_icgraph.map b/docs/API/chain__tests_8cc_aa17765d107c851ebcc3d202cef78aa75_icgraph.map new file mode 100644 index 0000000..63b3891 --- /dev/null +++ b/docs/API/chain__tests_8cc_aa17765d107c851ebcc3d202cef78aa75_icgraph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/chain__tests_8cc_aa17765d107c851ebcc3d202cef78aa75_icgraph.md5 b/docs/API/chain__tests_8cc_aa17765d107c851ebcc3d202cef78aa75_icgraph.md5 new file mode 100644 index 0000000..9beee0c --- /dev/null +++ b/docs/API/chain__tests_8cc_aa17765d107c851ebcc3d202cef78aa75_icgraph.md5 @@ -0,0 +1 @@ +e9df5c304091362eedafb13a7f4fb071 \ No newline at end of file diff --git a/docs/API/chain__tests_8cc_aa17765d107c851ebcc3d202cef78aa75_icgraph.png b/docs/API/chain__tests_8cc_aa17765d107c851ebcc3d202cef78aa75_icgraph.png new file mode 100644 index 0000000..78804ca Binary files /dev/null and b/docs/API/chain__tests_8cc_aa17765d107c851ebcc3d202cef78aa75_icgraph.png differ diff --git a/docs/API/chain__tests_8cc_ab26e37a9d8915b33e29d632af88ff3a3_cgraph.map b/docs/API/chain__tests_8cc_ab26e37a9d8915b33e29d632af88ff3a3_cgraph.map new file mode 100644 index 0000000..d0f5acc --- /dev/null +++ b/docs/API/chain__tests_8cc_ab26e37a9d8915b33e29d632af88ff3a3_cgraph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/API/chain__tests_8cc_ab26e37a9d8915b33e29d632af88ff3a3_cgraph.md5 b/docs/API/chain__tests_8cc_ab26e37a9d8915b33e29d632af88ff3a3_cgraph.md5 new file mode 100644 index 0000000..77b8741 --- /dev/null +++ b/docs/API/chain__tests_8cc_ab26e37a9d8915b33e29d632af88ff3a3_cgraph.md5 @@ -0,0 +1 @@ +f7a3d061741212257b6f4cea5f546bea \ No newline at end of file diff --git a/docs/API/chain__tests_8cc_ab26e37a9d8915b33e29d632af88ff3a3_cgraph.png b/docs/API/chain__tests_8cc_ab26e37a9d8915b33e29d632af88ff3a3_cgraph.png new file mode 100644 index 0000000..036ea98 Binary files /dev/null and b/docs/API/chain__tests_8cc_ab26e37a9d8915b33e29d632af88ff3a3_cgraph.png differ diff --git a/docs/API/chain__tests_8cc_ab26e37a9d8915b33e29d632af88ff3a3_icgraph.map b/docs/API/chain__tests_8cc_ab26e37a9d8915b33e29d632af88ff3a3_icgraph.map new file mode 100644 index 0000000..ca89df7 --- /dev/null +++ b/docs/API/chain__tests_8cc_ab26e37a9d8915b33e29d632af88ff3a3_icgraph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/chain__tests_8cc_ab26e37a9d8915b33e29d632af88ff3a3_icgraph.md5 b/docs/API/chain__tests_8cc_ab26e37a9d8915b33e29d632af88ff3a3_icgraph.md5 new file mode 100644 index 0000000..6038481 --- /dev/null +++ b/docs/API/chain__tests_8cc_ab26e37a9d8915b33e29d632af88ff3a3_icgraph.md5 @@ -0,0 +1 @@ +511631d6457289aaae9368486d3d1ef6 \ No newline at end of file diff --git a/docs/API/chain__tests_8cc_ab26e37a9d8915b33e29d632af88ff3a3_icgraph.png b/docs/API/chain__tests_8cc_ab26e37a9d8915b33e29d632af88ff3a3_icgraph.png new file mode 100644 index 0000000..43be5e2 Binary files /dev/null and b/docs/API/chain__tests_8cc_ab26e37a9d8915b33e29d632af88ff3a3_icgraph.png differ diff --git a/docs/API/chain__tests_8cc_ad274ca70e6c47c2c549422b1cba1f0b0_cgraph.map b/docs/API/chain__tests_8cc_ad274ca70e6c47c2c549422b1cba1f0b0_cgraph.map new file mode 100644 index 0000000..7146dc3 --- /dev/null +++ b/docs/API/chain__tests_8cc_ad274ca70e6c47c2c549422b1cba1f0b0_cgraph.map @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/docs/API/chain__tests_8cc_ad274ca70e6c47c2c549422b1cba1f0b0_cgraph.md5 b/docs/API/chain__tests_8cc_ad274ca70e6c47c2c549422b1cba1f0b0_cgraph.md5 new file mode 100644 index 0000000..4e7377f --- /dev/null +++ b/docs/API/chain__tests_8cc_ad274ca70e6c47c2c549422b1cba1f0b0_cgraph.md5 @@ -0,0 +1 @@ +7af2e799480725ccc1ffe9cccca32610 \ No newline at end of file diff --git a/docs/API/chain__tests_8cc_ad274ca70e6c47c2c549422b1cba1f0b0_cgraph.png b/docs/API/chain__tests_8cc_ad274ca70e6c47c2c549422b1cba1f0b0_cgraph.png new file mode 100644 index 0000000..30dbb56 Binary files /dev/null and b/docs/API/chain__tests_8cc_ad274ca70e6c47c2c549422b1cba1f0b0_cgraph.png differ diff --git a/docs/API/chain__tests_8cc_ad274ca70e6c47c2c549422b1cba1f0b0_icgraph.map b/docs/API/chain__tests_8cc_ad274ca70e6c47c2c549422b1cba1f0b0_icgraph.map new file mode 100644 index 0000000..c05b116 --- /dev/null +++ b/docs/API/chain__tests_8cc_ad274ca70e6c47c2c549422b1cba1f0b0_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/chain__tests_8cc_ad274ca70e6c47c2c549422b1cba1f0b0_icgraph.md5 b/docs/API/chain__tests_8cc_ad274ca70e6c47c2c549422b1cba1f0b0_icgraph.md5 new file mode 100644 index 0000000..6adb3f3 --- /dev/null +++ b/docs/API/chain__tests_8cc_ad274ca70e6c47c2c549422b1cba1f0b0_icgraph.md5 @@ -0,0 +1 @@ +c301925081564ff4d06b17141183c570 \ No newline at end of file diff --git a/docs/API/chain__tests_8cc_ad274ca70e6c47c2c549422b1cba1f0b0_icgraph.png b/docs/API/chain__tests_8cc_ad274ca70e6c47c2c549422b1cba1f0b0_icgraph.png new file mode 100644 index 0000000..af0e457 Binary files /dev/null and b/docs/API/chain__tests_8cc_ad274ca70e6c47c2c549422b1cba1f0b0_icgraph.png differ diff --git a/docs/API/chain__tests_8cc_ad67ad876d623656e1ddb3c6e22b39d5a_icgraph.map b/docs/API/chain__tests_8cc_ad67ad876d623656e1ddb3c6e22b39d5a_icgraph.map new file mode 100644 index 0000000..c1a375b --- /dev/null +++ b/docs/API/chain__tests_8cc_ad67ad876d623656e1ddb3c6e22b39d5a_icgraph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/chain__tests_8cc_ad67ad876d623656e1ddb3c6e22b39d5a_icgraph.md5 b/docs/API/chain__tests_8cc_ad67ad876d623656e1ddb3c6e22b39d5a_icgraph.md5 new file mode 100644 index 0000000..0eabbcc --- /dev/null +++ b/docs/API/chain__tests_8cc_ad67ad876d623656e1ddb3c6e22b39d5a_icgraph.md5 @@ -0,0 +1 @@ +e17057cff8991f77aa969212036fd2d3 \ No newline at end of file diff --git a/docs/API/chain__tests_8cc_ad67ad876d623656e1ddb3c6e22b39d5a_icgraph.png b/docs/API/chain__tests_8cc_ad67ad876d623656e1ddb3c6e22b39d5a_icgraph.png new file mode 100644 index 0000000..74f053a Binary files /dev/null and b/docs/API/chain__tests_8cc_ad67ad876d623656e1ddb3c6e22b39d5a_icgraph.png differ diff --git a/docs/API/chain__tests_8cc_af4e08ea14f09b53fce43ec39aba7a605_cgraph.map b/docs/API/chain__tests_8cc_af4e08ea14f09b53fce43ec39aba7a605_cgraph.map new file mode 100644 index 0000000..6d5c60e --- /dev/null +++ b/docs/API/chain__tests_8cc_af4e08ea14f09b53fce43ec39aba7a605_cgraph.map @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/docs/API/chain__tests_8cc_af4e08ea14f09b53fce43ec39aba7a605_cgraph.md5 b/docs/API/chain__tests_8cc_af4e08ea14f09b53fce43ec39aba7a605_cgraph.md5 new file mode 100644 index 0000000..131ed93 --- /dev/null +++ b/docs/API/chain__tests_8cc_af4e08ea14f09b53fce43ec39aba7a605_cgraph.md5 @@ -0,0 +1 @@ +937e827129706080f8237f1393daebf1 \ No newline at end of file diff --git a/docs/API/chain__tests_8cc_af4e08ea14f09b53fce43ec39aba7a605_cgraph.png b/docs/API/chain__tests_8cc_af4e08ea14f09b53fce43ec39aba7a605_cgraph.png new file mode 100644 index 0000000..8e55156 Binary files /dev/null and b/docs/API/chain__tests_8cc_af4e08ea14f09b53fce43ec39aba7a605_cgraph.png differ diff --git a/docs/API/chain__tests_8cc_af4e08ea14f09b53fce43ec39aba7a605_icgraph.map b/docs/API/chain__tests_8cc_af4e08ea14f09b53fce43ec39aba7a605_icgraph.map new file mode 100644 index 0000000..83c84ea --- /dev/null +++ b/docs/API/chain__tests_8cc_af4e08ea14f09b53fce43ec39aba7a605_icgraph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/chain__tests_8cc_af4e08ea14f09b53fce43ec39aba7a605_icgraph.md5 b/docs/API/chain__tests_8cc_af4e08ea14f09b53fce43ec39aba7a605_icgraph.md5 new file mode 100644 index 0000000..538e8b7 --- /dev/null +++ b/docs/API/chain__tests_8cc_af4e08ea14f09b53fce43ec39aba7a605_icgraph.md5 @@ -0,0 +1 @@ +1acceff6210151cb1b565098134fdaf0 \ No newline at end of file diff --git a/docs/API/chain__tests_8cc_af4e08ea14f09b53fce43ec39aba7a605_icgraph.png b/docs/API/chain__tests_8cc_af4e08ea14f09b53fce43ec39aba7a605_icgraph.png new file mode 100644 index 0000000..944d1e2 Binary files /dev/null and b/docs/API/chain__tests_8cc_af4e08ea14f09b53fce43ec39aba7a605_icgraph.png differ diff --git a/docs/API/chain__tests_8cc_source.html b/docs/API/chain__tests_8cc_source.html new file mode 100644 index 0000000..112dbaf --- /dev/null +++ b/docs/API/chain__tests_8cc_source.html @@ -0,0 +1,150 @@ + + + + + + + +o-du/phy: chain_tests.cc Source File + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
chain_tests.cc
+
+
+Go to the documentation of this file.
1 /******************************************************************************
2 *
3 * Copyright (c) 2019 Intel.
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 *
17 *******************************************************************************/
18 
19 
20 #include "common.hpp"
21 #include "xran_lib_wrap.hpp"
22 #include "xran_common.h"
23 #include "xran_fh_o_du.h"
24 #include "ethdi.h"
25 #include "ethernet.h"
26 #include "xran_transport.h"
27 #include "xran_cp_api.h"
28 
29 #include <stdint.h>
30 
31 
32 
33 const std::string module_name = "C-Plane";
34 
35 const uint8_t m_bitmask[] = { 0x00, 0x03, 0x07, 0x0f, 0x1f, 0x3f, 0x7f, 0xff };
36 
37 
38 extern "C"
39 {
40 
41 /* external functions in xRAN library */
42 void tx_cp_dl_cb(struct rte_timer *tim, void *arg);
43 void tx_cp_ul_cb(struct rte_timer *tim, void *arg);
44 int xran_process_tx_sym(void *arg);
45 int process_mbuf(struct rte_mbuf *pkt);
46 
47 
48 /* wrapper functions for performace tests */
50 {
52  tx_cp_dl_cb(nullptr, xranlib->get_timer_ctx());
53 }
54 
56 {
58  tx_cp_ul_cb(nullptr, xranlib->get_timer_ctx());
59 }
60 
62 {
65 }
66 
68 {
70 
71  if(xranlib->get_symbol_index() == 3)
72  tx_cp_dl_cb(nullptr, xranlib->get_timer_ctx());
73 
75 }
76 
77 #if 0 /* TBD */
78 void xran_ut_rx_up_ul()
79 {
80  process_mbf(mbuf);
81 }
82 #endif
83 
84 
85 /* call back functions */
86 int send_mbuf_up(struct rte_mbuf *mbuf, uint16_t type)
87 {
88  rte_pktmbuf_free(mbuf);
89  return (1);
90 }
91 
92 int send_mbuf_cp_perf(struct rte_mbuf *mbuf, uint16_t type)
93 {
94  rte_pktmbuf_free(mbuf);
95  return (1);
96 }
97 
98 #if 0 /* TBD */
99 int send_mbuf_cp(struct rte_mbuf *mbuf, uint16_t type)
100 {
101 #if 0
102  xran_parse_cp_pkt(m_pTestBuffer, &m_result, &m_pktInfo);
103 
104  /* Verify the result */
105  verify_sections();
106 #else
107  printf("cp\n");
108 #endif
109  return (1);
110 }
111 #endif
112 
113 void utcp_fh_rx_callback(void *pCallbackTag, xran_status_t status)
114 {
115  return;
116 }
117 
118 void utcp_fh_rx_prach_callback(void *pCallbackTag, xran_status_t status)
119 {
120  rte_pause();
121 }
122 
123 } /* extern "C" */
124 
125 
126 class TestChain: public KernelTests
127 {
128 protected:
131 
132  bool m_bSub6;
133 
134 
135  void SetUp() override
136  {
137  int temp;
138  std::string tmpstr;
139 
140 
141  init_test("TestChain");
142 
144 
145  tmpstr = get_input_parameter<std::string>("category");
146  if(tmpstr == "A")
148  else if(tmpstr == "B")
150  else {
151  std::cout << "*** Invalid RU Category [" << tmpstr << "] !!!" << std::endl;
152  std::cout << "Set it to Category A... " << std::endl;
154  }
155 
156  m_xranConf.frame_conf.nNumerology = get_input_parameter<int>("mu");
158  std::cout << "*** Invalid Numerology [" << m_xranConf.frame_conf.nNumerology << "] !!!" << std::endl;
160  std::cout << "Set it to " << m_xranConf.frame_conf.nNumerology << "..." << std::endl;
161  }
162 
163  tmpstr = get_input_parameter<std::string>("duplex");
164  if(tmpstr == "FDD")
166  else if(tmpstr == "TDD") {
168 
169  tmpstr = get_input_parameter<std::string>("slot_config");
170  temp = xranlib->get_slot_config(tmpstr, &m_xranConf.frame_conf);
171  }
172  else {
173  std::cout << "*** Invalid Duplex type [" << tmpstr << "] !!!" << std::endl;
174  std::cout << "Set it to FDD... " << std::endl;
176  }
177 
178  m_xranConf.nCC = get_input_parameter<int>("num_cc");
180  std::cout << "*** Exceeds maximum number of carriers supported [" << m_xranConf.nCC << "] !!!" << std::endl;
182  std::cout << "Set it to " << m_xranConf.nCC << "..." << std::endl;
183  }
184  m_xranConf.neAxc = get_input_parameter<int>("num_eaxc");
186  std::cout << "*** Exceeds maximum number of antenna supported [" << m_xranConf.neAxc << "] !!!" << std::endl;
188  std::cout << "Set it to " << m_xranConf.neAxc << "..." << std::endl;
189  }
190 
191  m_bSub6 = get_input_parameter<bool>("sub6");
192  temp = get_input_parameter<int>("chbw_dl");
194  temp = get_input_parameter<int>("chbw_ul");
196 
197  m_xranConf.nAntElmTRx = get_input_parameter<int>("antelm_trx");
198  m_xranConf.nDLFftSize = get_input_parameter<int>("fftsize_dl");
199  m_xranConf.nULFftSize = get_input_parameter<int>("fftsize_ul");
200 
201 
202  m_xranConf.ru_conf.iqWidth = get_input_parameter<int>("iq_width");
203  m_xranConf.ru_conf.compMeth = get_input_parameter<int>("comp_meth");
204 
205 #if 0
206  temp = get_input_parameter<int>("fft_size");
208  while (temp >>= 1)
210 #endif
211 
212  }
213 
214  void TearDown() override
215  {
216  }
217 };
218 
219 
220 
221 
222 /***************************************************************************
223  * Performance Test cases
224  ***************************************************************************/
225 /* C-Plane DL chain (tx_cp_dl_cb) only */
226 TEST_P(TestChain, CPlaneDLPerf)
227 {
231 
233 
234  xranlib->Close();
235  xranlib->Cleanup();
236 }
237 
238 /* C-Plane UL chain (tx_cp_ul_cb) only */
239 TEST_P(TestChain, CPlaneULPerf)
240 {
244 
246 
247  xranlib->Close();
248  xranlib->Cleanup();
249 }
250 
251 /* U-Plane UL chain (process_tx_sym with disable CP) */
252 TEST_P(TestChain, UPlaneDLPerf)
253 {
254  bool flag_cpen;
255 
257 
258  /* save current CP enable flag */
259  flag_cpen = xranlib->is_cpenable()?true:false;
260 
261  /* need to disable CP to make U-Plane work without CP */
262  xranlib->apply_cpenable(false);
265 
267 
268  xranlib->Close();
269  xranlib->Cleanup();
270 
271  /* restore previous CP enable flag */
272  xranlib->apply_cpenable(flag_cpen);
273 }
274 
275 /* C-Plane and U-Plane DL chain, U-Plane will be generated by C-Plane config */
276 TEST_P(TestChain, APlaneDLPerf)
277 {
278  bool flag_cpen;
279 
281 
282  /* save current CP enable flag */
283  flag_cpen = xranlib->is_cpenable()?true:false;
284 
285  /* Enable CP by force to make UP work by CP's section information */
286  xranlib->apply_cpenable(true);
289 
291 
292  xranlib->Close();
293  xranlib->Cleanup();
294 
295  /* restore previous CP enable flag */
296  xranlib->apply_cpenable(flag_cpen);
297 }
298 
299 #if 0 /* TBD */
300 TEST_P(TestChain, UPlaneULPerf)
301 {
302 }
303 #endif
304 
305 
307  testing::ValuesIn(get_sequence(TestChain::get_number_of_cases("TestChain"))));
308 
void * get_timer_ctx()
+ + + +
TEST_P(TestChain, CPlaneDLPerf)
Definition: chain_tests.cc:226
+
uint32_t nAntElmTRx
Definition: xran_fh_o_du.h:503
+
int xran_process_tx_sym(void *arg)
Definition: xran_main.c:2202
+
uint16_t nDLRBs
Definition: xran_fh_o_du.h:506
+
int get_slot_config(const std::string &cfgname, struct xran_frame_config *pCfg)
+
static unsigned get_number_of_cases(const std::string &type)
Definition: common.hpp:190
+
uint16_t nULRBs
Definition: xran_fh_o_du.h:507
+
void update_symbol_index()
+
void performance(const std::string &isa, const std::string &module_name, F function, Args ... args)
Run performance test case for a given function.
Definition: common.hpp:253
+
#define XRAN_MAX_SECTOR_NR
Definition: xran_fh_o_du.h:110
+ +
void utcp_fh_rx_callback(void *pCallbackTag, xran_status_t status)
Definition: chain_tests.cc:113
+
#define XRAN_MAX_ANTENNA_NR
Definition: xran_fh_o_du.h:111
+
void xran_ut_tx_cp_ul()
Definition: chain_tests.cc:55
+
uint8_t nFrameDuplexType
Definition: xran_fh_o_du.h:460
+
uint16_t nDLFftSize
Definition: xran_fh_o_du.h:504
+
bool m_bSub6
Definition: chain_tests.cc:132
+
void get_cfg_fh(struct xran_fh_config *pCfg)
+ +
void xran_ut_tx_cp_dl()
Definition: chain_tests.cc:49
+
This file has all definitions for the Ethernet Data Interface Layer.
+
struct xran_fh_config m_xranConf
Definition: chain_tests.cc:129
+
void SetUp() override
Definition: chain_tests.cc:135
+
uint8_t compMeth
Definition: xran_fh_o_du.h:487
+
int xran_parse_cp_pkt(struct rte_mbuf *mbuf, struct xran_cp_gen_params *result, struct xran_recv_packet_info *pkt_info)
Parse a C-Plane packet (for RU emulation) Transport layer fragmentation is not supported.
Definition: xran_cp_api.c:1749
+ +
struct xran_frame_config frame_conf
Definition: xran_fh_o_du.h:517
+
void xran_ut_tx_cpup_dl()
Definition: chain_tests.cc:67
+
const std::string module_name
Definition: chain_tests.cc:33
+
INSTANTIATE_TEST_CASE_P(UnitTest, TestChain, testing::ValuesIn(get_sequence(TestChain::get_number_of_cases("TestChain"))))
+
int apply_cpenable(bool flag)
+ +
void init_test(const std::string &type)
Defines section in the conf.json that is used to load parameters from.
Definition: common.hpp:358
+
void utcp_fh_rx_prach_callback(void *pCallbackTag, xran_status_t status)
Definition: chain_tests.cc:118
+
int send_mbuf_cp_perf(struct rte_mbuf *mbuf, uint16_t type)
Definition: chain_tests.cc:92
+ + +
void tx_cp_ul_cb(struct rte_timer *tim, void *arg)
Definition: xran_main.c:1045
+
int send_mbuf_up(struct rte_mbuf *mbuf, uint16_t type)
Definition: chain_tests.cc:86
+
This file has all definitions for the Ethernet Data Interface Layer.
+
enum xran_category xranCat
Definition: xran_fh_o_du.h:484
+ +
void xran_ut_tx_up_dl()
Definition: chain_tests.cc:61
+
XRAN layer common functionality for both lls-CU and RU as well as C-plane and U-plane.
+
struct xran_ru_config ru_conf
Definition: xran_fh_o_du.h:518
+
uint32_t neAxc
Definition: xran_fh_o_du.h:501
+
This file provides public interface to xRAN Front Haul layer implementation as defined in the ORAN-WG...
+
int get_num_rbs(uint32_t nNumerology, uint32_t nBandwidth, bool nSub6)
+
int Init(struct xran_fh_config *pCfg=nullptr)
+ +
uint16_t nULFftSize
Definition: xran_fh_o_du.h:505
+
int process_mbuf(struct rte_mbuf *pkt)
Definition: xran_common.c:143
+ + +
void Open(xran_ethdi_mbuf_send_fn send_cp, xran_ethdi_mbuf_send_fn send_up, void *fh_rx_callback, void *fh_rx_prach_callback)
+ +
struct xran_fh_init m_xranInit
Definition: chain_tests.cc:130
+ +
const uint8_t m_bitmask[]
Definition: chain_tests.cc:35
+
void TearDown() override
Definition: chain_tests.cc:214
+
xranLibWraper * xranlib
+ + +
std::vector< unsigned > get_sequence(const unsigned number)
For a given number return sequence of number from 0 to number - 1.
Definition: common.cpp:78
+
This file provides the definitions for Control Plane Messages APIs.
+
This file provides the definitions for Transport layer (eCPRI) API.
+
int32_t xran_status_t
Definition: xran_fh_o_du.h:236
+
void tx_cp_dl_cb(struct rte_timer *tim, void *arg)
Definition: xran_main.c:910
+
+ + + + diff --git a/docs/API/class_bfp_check.html b/docs/API/class_bfp_check.html new file mode 100644 index 0000000..18454e3 --- /dev/null +++ b/docs/API/class_bfp_check.html @@ -0,0 +1,866 @@ + + + + + + + +o-du/phy: BfpCheck Class Reference + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+ +
+
+Inheritance diagram for BfpCheck:
+
+
Inheritance graph
+ + + +
+
+Collaboration diagram for BfpCheck:
+
+
Collaboration graph
+ + + + +
+ + + + + + + + +

+Static Public Member Functions

static void SetUpTestCase ()
 
static void TearDownTestCase ()
 
static unsigned get_number_of_cases (const std::string &type)
 
+ + + + + +

+Static Public Attributes

static json conf
 
static std::string test_type
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Protected Member Functions

void SetUp () override
 
void TearDown () override
 
void set_division_factor (const double factor)
 Set division factor. More...
 
void set_results_units (const std::string &units)
 Set reults units. More...
 
void set_parallelization_factor (const int factor)
 Set size of processed data. More...
 
template<typename F , typename ... Args>
void performance (const std::string &isa, const std::string &module_name, F function, Args ... args)
 Run performance test case for a given function. More...
 
void print_test_description (const std::string &isa, const std::string &module_name)
 Print unique test description to the results xml file. More...
 
const std::string get_case_name ()
 Get name of the test case from JSON file. More...
 
void init_test (const std::string &type)
 Defines section in the conf.json that is used to load parameters from. More...
 
template<typename T >
get_input_parameter (const std::string &parameter_name)
 Load selected data from a JSON object. get_input_parameter loads data from parameters section of the test case in JSON file and get_reference_parameter does the same thing for references section. More...
 
template<typename T >
get_reference_parameter (const std::string &parameter_name)
 
+ + + + + + + +

+Protected Attributes

double division_factor = 1.0
 
std::string result_units = "None"
 
int parallelization_factor = 1
 
+

Detailed Description

+
+

Definition at line 78 of file compander_functional.cc.

+

Member Function Documentation

+ +

◆ get_case_name()

+ +
+
+ + + + + +
+ + + + + + + +
const std::string get_case_name ()
+
+inlineprotectedinherited
+
+ +

Get name of the test case from JSON file.

+
Returns
Test'ss case name or a default name if name field is missing.
+ +

Definition at line 338 of file common.hpp.

+ +
+
+ +

◆ get_input_parameter()

+ +
+
+ + + + + +
+ + + + + + + + +
T get_input_parameter (const std::string & parameter_name)
+
+inlineprotectedinherited
+
+ +

Load selected data from a JSON object. get_input_parameter loads data from parameters section of the test case in JSON file and get_reference_parameter does the same thing for references section.

+

Get parameter function uses template type to figure out how to load parameters. If type is NOT a pointer it'll load value directly from the JSON. Otherwise path to the test vector is expected and function will allocate memory, load data from the binary file to this memory location and return pointer to it. For example in here we request to load pointer to float so llrs filed is expected to be a path to the binary file.

+ +

Definition at line 290 of file common.hpp.

+
+Here is the call graph for this function:
+
+
+ + + + + + + + + + + +
+ +
+
+ +

◆ get_number_of_cases()

+ +
+
+ + + + + +
+ + + + + + + + +
static unsigned get_number_of_cases (const std::string & type)
+
+inlinestaticinherited
+
+ +

Definition at line 190 of file common.hpp.

+
+Here is the call graph for this function:
+
+
+ + + + + +
+
+Here is the caller graph for this function:
+
+
+ + + +
+ +
+
+ +

◆ get_reference_parameter()

+ +
+
+ + + + + +
+ + + + + + + + +
T get_reference_parameter (const std::string & parameter_name)
+
+inlineprotectedinherited
+
+ +

Definition at line 312 of file common.hpp.

+
+Here is the call graph for this function:
+
+
+ + + + + + + + + + + +
+ +
+
+ +

◆ init_test()

+ +
+
+ + + + + +
+ + + + + + + + +
void init_test (const std::string & type)
+
+inlineprotectedinherited
+
+ +

Defines section in the conf.json that is used to load parameters from.

+
Parameters
+ + +
[in]typeName of the section in the JSON file.
+
+
+ +

Definition at line 358 of file common.hpp.

+
+Here is the call graph for this function:
+
+
+ + + + +
+
+Here is the caller graph for this function:
+
+
+ + + + + + + + +
+ +
+
+ +

◆ performance()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void performance (const std::string & isa,
const std::string & module_name,
function,
Args ... args 
)
+
+inlineprotectedinherited
+
+ +

Run performance test case for a given function.

+
Parameters
+ + + + + +
[in]isaUsed Instruction Set.
[in]module_namename of the tested kernel.
[in]functionfunction to be tested.
[in]argsfunction's arguments.
+
+
+ +

Definition at line 253 of file common.hpp.

+
+Here is the call graph for this function:
+
+
+ + + + + +
+
+Here is the caller graph for this function:
+
+
+ + + +
+ +
+
+ +

◆ print_test_description()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void print_test_description (const std::string & isa,
const std::string & module_name 
)
+
+inlineprotectedinherited
+
+ +

Print unique test description to the results xml file.

+
Parameters
+ + + + +
[in]isaUsed Instruction Set.
[in]module_namename of the tested kernel.
[in]functionfunction to be tested.
+
+
+ +

Definition at line 271 of file common.hpp.

+ +
+
+ +

◆ set_division_factor()

+ +
+
+ + + + + +
+ + + + + + + + +
void set_division_factor (const double factor)
+
+inlineprotectedinherited
+
+ +

Set division factor.

+
Parameters
+ + +
[in]factorDivision factor that divides mean and standard deviation.
+
+
+ +

Definition at line 222 of file common.hpp.

+ +
+
+ +

◆ set_parallelization_factor()

+ +
+
+ + + + + +
+ + + + + + + + +
void set_parallelization_factor (const int factor)
+
+inlineprotectedinherited
+
+ +

Set size of processed data.

+
Parameters
+ + +
[in]sizeSize of processed data used to calculate module throughput.
+
+
+ +

Definition at line 240 of file common.hpp.

+ +
+
+ +

◆ set_results_units()

+ +
+
+ + + + + +
+ + + + + + + + +
void set_results_units (const std::string & units)
+
+inlineprotectedinherited
+
+ +

Set reults units.

+
Parameters
+ + +
[in]unitsUnits that are displayed in the report.
+
+
+ +

Definition at line 231 of file common.hpp.

+ +
+
+ +

◆ SetUp()

+ +
+
+ + + + + +
+ + + + + + + +
void SetUp ()
+
+inlineoverrideprotected
+
+ +

Definition at line 81 of file compander_functional.cc.

+ +
+
+ +

◆ SetUpTestCase()

+ +
+
+ + + + + +
+ + + + + + + +
static void SetUpTestCase ()
+
+inlinestaticinherited
+
+ +

Definition at line 162 of file common.hpp.

+
+Here is the call graph for this function:
+
+
+ + + + + + +
+ +
+
+ +

◆ TearDown()

+ +
+
+ + + + + +
+ + + + + + + +
void TearDown ()
+
+inlineoverrideprotected
+
+ +

Definition at line 86 of file compander_functional.cc.

+ +
+
+ +

◆ TearDownTestCase()

+ +
+
+ + + + + +
+ + + + + + + +
static void TearDownTestCase ()
+
+inlinestaticinherited
+
+ +

Definition at line 185 of file common.hpp.

+ +
+
+

Field Documentation

+ +

◆ conf

+ +
+
+ + + + + +
+ + + + +
json conf
+
+staticinherited
+
+ +

Definition at line 159 of file common.hpp.

+ +
+
+ +

◆ division_factor

+ +
+
+ + + + + +
+ + + + +
double division_factor = 1.0
+
+protectedinherited
+
+ +

Definition at line 214 of file common.hpp.

+ +
+
+ +

◆ parallelization_factor

+ +
+
+ + + + + +
+ + + + +
int parallelization_factor = 1
+
+protectedinherited
+
+ +

Definition at line 216 of file common.hpp.

+ +
+
+ +

◆ result_units

+ +
+
+ + + + + +
+ + + + +
std::string result_units = "None"
+
+protectedinherited
+
+ +

Definition at line 215 of file common.hpp.

+ +
+
+ +

◆ test_type

+ +
+
+ + + + + +
+ + + + +
std::string test_type
+
+staticinherited
+
+ +

Definition at line 160 of file common.hpp.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/docs/API/class_bfp_check__coll__graph.map b/docs/API/class_bfp_check__coll__graph.map new file mode 100644 index 0000000..be5607a --- /dev/null +++ b/docs/API/class_bfp_check__coll__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/class_bfp_check__coll__graph.md5 b/docs/API/class_bfp_check__coll__graph.md5 new file mode 100644 index 0000000..0214b12 --- /dev/null +++ b/docs/API/class_bfp_check__coll__graph.md5 @@ -0,0 +1 @@ +0266b495255f780d54889b493f91cf93 \ No newline at end of file diff --git a/docs/API/class_bfp_check__coll__graph.png b/docs/API/class_bfp_check__coll__graph.png new file mode 100644 index 0000000..6484596 Binary files /dev/null and b/docs/API/class_bfp_check__coll__graph.png differ diff --git a/docs/API/class_bfp_check__inherit__graph.map b/docs/API/class_bfp_check__inherit__graph.map new file mode 100644 index 0000000..c670f2a --- /dev/null +++ b/docs/API/class_bfp_check__inherit__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/class_bfp_check__inherit__graph.md5 b/docs/API/class_bfp_check__inherit__graph.md5 new file mode 100644 index 0000000..bd16257 --- /dev/null +++ b/docs/API/class_bfp_check__inherit__graph.md5 @@ -0,0 +1 @@ +0370d333020339dd64aaaec3f72ee884 \ No newline at end of file diff --git a/docs/API/class_bfp_check__inherit__graph.png b/docs/API/class_bfp_check__inherit__graph.png new file mode 100644 index 0000000..7eed461 Binary files /dev/null and b/docs/API/class_bfp_check__inherit__graph.png differ diff --git a/docs/API/class_bfp_perf.html b/docs/API/class_bfp_perf.html new file mode 100644 index 0000000..b7dc50c --- /dev/null +++ b/docs/API/class_bfp_perf.html @@ -0,0 +1,866 @@ + + + + + + + +o-du/phy: BfpPerf Class Reference + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+ +
+
+Inheritance diagram for BfpPerf:
+
+
Inheritance graph
+ + + +
+
+Collaboration diagram for BfpPerf:
+
+
Collaboration graph
+ + + + +
+ + + + + + + + +

+Static Public Member Functions

static void SetUpTestCase ()
 
static void TearDownTestCase ()
 
static unsigned get_number_of_cases (const std::string &type)
 
+ + + + + +

+Static Public Attributes

static json conf
 
static std::string test_type
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Protected Member Functions

void SetUp () override
 
void TearDown () override
 
void set_division_factor (const double factor)
 Set division factor. More...
 
void set_results_units (const std::string &units)
 Set reults units. More...
 
void set_parallelization_factor (const int factor)
 Set size of processed data. More...
 
template<typename F , typename ... Args>
void performance (const std::string &isa, const std::string &module_name, F function, Args ... args)
 Run performance test case for a given function. More...
 
void print_test_description (const std::string &isa, const std::string &module_name)
 Print unique test description to the results xml file. More...
 
const std::string get_case_name ()
 Get name of the test case from JSON file. More...
 
void init_test (const std::string &type)
 Defines section in the conf.json that is used to load parameters from. More...
 
template<typename T >
get_input_parameter (const std::string &parameter_name)
 Load selected data from a JSON object. get_input_parameter loads data from parameters section of the test case in JSON file and get_reference_parameter does the same thing for references section. More...
 
template<typename T >
get_reference_parameter (const std::string &parameter_name)
 
+ + + + + + + +

+Protected Attributes

double division_factor = 1.0
 
std::string result_units = "None"
 
int parallelization_factor = 1
 
+

Detailed Description

+
+

Definition at line 90 of file compander_functional.cc.

+

Member Function Documentation

+ +

◆ get_case_name()

+ +
+
+ + + + + +
+ + + + + + + +
const std::string get_case_name ()
+
+inlineprotectedinherited
+
+ +

Get name of the test case from JSON file.

+
Returns
Test'ss case name or a default name if name field is missing.
+ +

Definition at line 338 of file common.hpp.

+ +
+
+ +

◆ get_input_parameter()

+ +
+
+ + + + + +
+ + + + + + + + +
T get_input_parameter (const std::string & parameter_name)
+
+inlineprotectedinherited
+
+ +

Load selected data from a JSON object. get_input_parameter loads data from parameters section of the test case in JSON file and get_reference_parameter does the same thing for references section.

+

Get parameter function uses template type to figure out how to load parameters. If type is NOT a pointer it'll load value directly from the JSON. Otherwise path to the test vector is expected and function will allocate memory, load data from the binary file to this memory location and return pointer to it. For example in here we request to load pointer to float so llrs filed is expected to be a path to the binary file.

+ +

Definition at line 290 of file common.hpp.

+
+Here is the call graph for this function:
+
+
+ + + + + + + + + + + +
+ +
+
+ +

◆ get_number_of_cases()

+ +
+
+ + + + + +
+ + + + + + + + +
static unsigned get_number_of_cases (const std::string & type)
+
+inlinestaticinherited
+
+ +

Definition at line 190 of file common.hpp.

+
+Here is the call graph for this function:
+
+
+ + + + + +
+
+Here is the caller graph for this function:
+
+
+ + + +
+ +
+
+ +

◆ get_reference_parameter()

+ +
+
+ + + + + +
+ + + + + + + + +
T get_reference_parameter (const std::string & parameter_name)
+
+inlineprotectedinherited
+
+ +

Definition at line 312 of file common.hpp.

+
+Here is the call graph for this function:
+
+
+ + + + + + + + + + + +
+ +
+
+ +

◆ init_test()

+ +
+
+ + + + + +
+ + + + + + + + +
void init_test (const std::string & type)
+
+inlineprotectedinherited
+
+ +

Defines section in the conf.json that is used to load parameters from.

+
Parameters
+ + +
[in]typeName of the section in the JSON file.
+
+
+ +

Definition at line 358 of file common.hpp.

+
+Here is the call graph for this function:
+
+
+ + + + +
+
+Here is the caller graph for this function:
+
+
+ + + + + + + + +
+ +
+
+ +

◆ performance()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void performance (const std::string & isa,
const std::string & module_name,
function,
Args ... args 
)
+
+inlineprotectedinherited
+
+ +

Run performance test case for a given function.

+
Parameters
+ + + + + +
[in]isaUsed Instruction Set.
[in]module_namename of the tested kernel.
[in]functionfunction to be tested.
[in]argsfunction's arguments.
+
+
+ +

Definition at line 253 of file common.hpp.

+
+Here is the call graph for this function:
+
+
+ + + + + +
+
+Here is the caller graph for this function:
+
+
+ + + +
+ +
+
+ +

◆ print_test_description()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void print_test_description (const std::string & isa,
const std::string & module_name 
)
+
+inlineprotectedinherited
+
+ +

Print unique test description to the results xml file.

+
Parameters
+ + + + +
[in]isaUsed Instruction Set.
[in]module_namename of the tested kernel.
[in]functionfunction to be tested.
+
+
+ +

Definition at line 271 of file common.hpp.

+ +
+
+ +

◆ set_division_factor()

+ +
+
+ + + + + +
+ + + + + + + + +
void set_division_factor (const double factor)
+
+inlineprotectedinherited
+
+ +

Set division factor.

+
Parameters
+ + +
[in]factorDivision factor that divides mean and standard deviation.
+
+
+ +

Definition at line 222 of file common.hpp.

+ +
+
+ +

◆ set_parallelization_factor()

+ +
+
+ + + + + +
+ + + + + + + + +
void set_parallelization_factor (const int factor)
+
+inlineprotectedinherited
+
+ +

Set size of processed data.

+
Parameters
+ + +
[in]sizeSize of processed data used to calculate module throughput.
+
+
+ +

Definition at line 240 of file common.hpp.

+ +
+
+ +

◆ set_results_units()

+ +
+
+ + + + + +
+ + + + + + + + +
void set_results_units (const std::string & units)
+
+inlineprotectedinherited
+
+ +

Set reults units.

+
Parameters
+ + +
[in]unitsUnits that are displayed in the report.
+
+
+ +

Definition at line 231 of file common.hpp.

+ +
+
+ +

◆ SetUp()

+ +
+
+ + + + + +
+ + + + + + + +
void SetUp ()
+
+inlineoverrideprotected
+
+ +

Definition at line 93 of file compander_functional.cc.

+ +
+
+ +

◆ SetUpTestCase()

+ +
+
+ + + + + +
+ + + + + + + +
static void SetUpTestCase ()
+
+inlinestaticinherited
+
+ +

Definition at line 162 of file common.hpp.

+
+Here is the call graph for this function:
+
+
+ + + + + + +
+ +
+
+ +

◆ TearDown()

+ +
+
+ + + + + +
+ + + + + + + +
void TearDown ()
+
+inlineoverrideprotected
+
+ +

Definition at line 98 of file compander_functional.cc.

+ +
+
+ +

◆ TearDownTestCase()

+ +
+
+ + + + + +
+ + + + + + + +
static void TearDownTestCase ()
+
+inlinestaticinherited
+
+ +

Definition at line 185 of file common.hpp.

+ +
+
+

Field Documentation

+ +

◆ conf

+ +
+
+ + + + + +
+ + + + +
json conf
+
+staticinherited
+
+ +

Definition at line 159 of file common.hpp.

+ +
+
+ +

◆ division_factor

+ +
+
+ + + + + +
+ + + + +
double division_factor = 1.0
+
+protectedinherited
+
+ +

Definition at line 214 of file common.hpp.

+ +
+
+ +

◆ parallelization_factor

+ +
+
+ + + + + +
+ + + + +
int parallelization_factor = 1
+
+protectedinherited
+
+ +

Definition at line 216 of file common.hpp.

+ +
+
+ +

◆ result_units

+ +
+
+ + + + + +
+ + + + +
std::string result_units = "None"
+
+protectedinherited
+
+ +

Definition at line 215 of file common.hpp.

+ +
+
+ +

◆ test_type

+ +
+
+ + + + + +
+ + + + +
std::string test_type
+
+staticinherited
+
+ +

Definition at line 160 of file common.hpp.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/docs/API/class_bfp_perf__coll__graph.map b/docs/API/class_bfp_perf__coll__graph.map new file mode 100644 index 0000000..68b17be --- /dev/null +++ b/docs/API/class_bfp_perf__coll__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/class_bfp_perf__coll__graph.md5 b/docs/API/class_bfp_perf__coll__graph.md5 new file mode 100644 index 0000000..3bc581d --- /dev/null +++ b/docs/API/class_bfp_perf__coll__graph.md5 @@ -0,0 +1 @@ +fc47a710d7cae8734a483249bf5d26e5 \ No newline at end of file diff --git a/docs/API/class_bfp_perf__coll__graph.png b/docs/API/class_bfp_perf__coll__graph.png new file mode 100644 index 0000000..f2b01ec Binary files /dev/null and b/docs/API/class_bfp_perf__coll__graph.png differ diff --git a/docs/API/class_bfp_perf__inherit__graph.map b/docs/API/class_bfp_perf__inherit__graph.map new file mode 100644 index 0000000..5c75516 --- /dev/null +++ b/docs/API/class_bfp_perf__inherit__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/class_bfp_perf__inherit__graph.md5 b/docs/API/class_bfp_perf__inherit__graph.md5 new file mode 100644 index 0000000..59bcda8 --- /dev/null +++ b/docs/API/class_bfp_perf__inherit__graph.md5 @@ -0,0 +1 @@ +1d237238ce8f2dfe4760ac3a10d7cedc \ No newline at end of file diff --git a/docs/API/class_bfp_perf__inherit__graph.png b/docs/API/class_bfp_perf__inherit__graph.png new file mode 100644 index 0000000..92b22aa Binary files /dev/null and b/docs/API/class_bfp_perf__inherit__graph.png differ diff --git a/docs/API/class_bfp_perf_ex.html b/docs/API/class_bfp_perf_ex.html new file mode 100644 index 0000000..3f43d32 --- /dev/null +++ b/docs/API/class_bfp_perf_ex.html @@ -0,0 +1,974 @@ + + + + + + + +o-du/phy: BfpPerfEx Class Reference + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+ +
+
+Inheritance diagram for BfpPerfEx:
+
+
Inheritance graph
+ + + +
+
+Collaboration diagram for BfpPerfEx:
+
+
Collaboration graph
+ + + + + + + + +
+ + + + + + + + +

+Static Public Member Functions

static void SetUpTestCase ()
 
static void TearDownTestCase ()
 
static unsigned get_number_of_cases (const std::string &type)
 
+ + + + + +

+Static Public Attributes

static json conf
 
static std::string test_type
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Protected Member Functions

void SetUp () override
 
void TearDown () override
 
void set_division_factor (const double factor)
 Set division factor. More...
 
void set_results_units (const std::string &units)
 Set reults units. More...
 
void set_parallelization_factor (const int factor)
 Set size of processed data. More...
 
template<typename F , typename ... Args>
void performance (const std::string &isa, const std::string &module_name, F function, Args ... args)
 Run performance test case for a given function. More...
 
void print_test_description (const std::string &isa, const std::string &module_name)
 Print unique test description to the results xml file. More...
 
const std::string get_case_name ()
 Get name of the test case from JSON file. More...
 
void init_test (const std::string &type)
 Defines section in the conf.json that is used to load parameters from. More...
 
template<typename T >
get_input_parameter (const std::string &parameter_name)
 Load selected data from a JSON object. get_input_parameter loads data from parameters section of the test case in JSON file and get_reference_parameter does the same thing for references section. More...
 
template<typename T >
get_reference_parameter (const std::string &parameter_name)
 
+ + + + + + + + + + + + + + + +

+Protected Attributes

struct xranlib_decompress_request bfp_decom_req
 
struct xranlib_decompress_response bfp_decom_rsp
 
struct xranlib_compress_request bfp_com_req
 
struct xranlib_compress_response bfp_com_rsp
 
double division_factor = 1.0
 
std::string result_units = "None"
 
int parallelization_factor = 1
 
+

Detailed Description

+
+

Definition at line 105 of file compander_functional.cc.

+

Member Function Documentation

+ +

◆ get_case_name()

+ +
+
+ + + + + +
+ + + + + + + +
const std::string get_case_name ()
+
+inlineprotectedinherited
+
+ +

Get name of the test case from JSON file.

+
Returns
Test'ss case name or a default name if name field is missing.
+ +

Definition at line 338 of file common.hpp.

+ +
+
+ +

◆ get_input_parameter()

+ +
+
+ + + + + +
+ + + + + + + + +
T get_input_parameter (const std::string & parameter_name)
+
+inlineprotectedinherited
+
+ +

Load selected data from a JSON object. get_input_parameter loads data from parameters section of the test case in JSON file and get_reference_parameter does the same thing for references section.

+

Get parameter function uses template type to figure out how to load parameters. If type is NOT a pointer it'll load value directly from the JSON. Otherwise path to the test vector is expected and function will allocate memory, load data from the binary file to this memory location and return pointer to it. For example in here we request to load pointer to float so llrs filed is expected to be a path to the binary file.

+ +

Definition at line 290 of file common.hpp.

+
+Here is the call graph for this function:
+
+
+ + + + + + + + + + + +
+ +
+
+ +

◆ get_number_of_cases()

+ +
+
+ + + + + +
+ + + + + + + + +
static unsigned get_number_of_cases (const std::string & type)
+
+inlinestaticinherited
+
+ +

Definition at line 190 of file common.hpp.

+
+Here is the call graph for this function:
+
+
+ + + + + +
+
+Here is the caller graph for this function:
+
+
+ + + +
+ +
+
+ +

◆ get_reference_parameter()

+ +
+
+ + + + + +
+ + + + + + + + +
T get_reference_parameter (const std::string & parameter_name)
+
+inlineprotectedinherited
+
+ +

Definition at line 312 of file common.hpp.

+
+Here is the call graph for this function:
+
+
+ + + + + + + + + + + +
+ +
+
+ +

◆ init_test()

+ +
+
+ + + + + +
+ + + + + + + + +
void init_test (const std::string & type)
+
+inlineprotectedinherited
+
+ +

Defines section in the conf.json that is used to load parameters from.

+
Parameters
+ + +
[in]typeName of the section in the JSON file.
+
+
+ +

Definition at line 358 of file common.hpp.

+
+Here is the call graph for this function:
+
+
+ + + + +
+
+Here is the caller graph for this function:
+
+
+ + + + + + + + +
+ +
+
+ +

◆ performance()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void performance (const std::string & isa,
const std::string & module_name,
function,
Args ... args 
)
+
+inlineprotectedinherited
+
+ +

Run performance test case for a given function.

+
Parameters
+ + + + + +
[in]isaUsed Instruction Set.
[in]module_namename of the tested kernel.
[in]functionfunction to be tested.
[in]argsfunction's arguments.
+
+
+ +

Definition at line 253 of file common.hpp.

+
+Here is the call graph for this function:
+
+
+ + + + + +
+
+Here is the caller graph for this function:
+
+
+ + + +
+ +
+
+ +

◆ print_test_description()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void print_test_description (const std::string & isa,
const std::string & module_name 
)
+
+inlineprotectedinherited
+
+ +

Print unique test description to the results xml file.

+
Parameters
+ + + + +
[in]isaUsed Instruction Set.
[in]module_namename of the tested kernel.
[in]functionfunction to be tested.
+
+
+ +

Definition at line 271 of file common.hpp.

+ +
+
+ +

◆ set_division_factor()

+ +
+
+ + + + + +
+ + + + + + + + +
void set_division_factor (const double factor)
+
+inlineprotectedinherited
+
+ +

Set division factor.

+
Parameters
+ + +
[in]factorDivision factor that divides mean and standard deviation.
+
+
+ +

Definition at line 222 of file common.hpp.

+ +
+
+ +

◆ set_parallelization_factor()

+ +
+
+ + + + + +
+ + + + + + + + +
void set_parallelization_factor (const int factor)
+
+inlineprotectedinherited
+
+ +

Set size of processed data.

+
Parameters
+ + +
[in]sizeSize of processed data used to calculate module throughput.
+
+
+ +

Definition at line 240 of file common.hpp.

+ +
+
+ +

◆ set_results_units()

+ +
+
+ + + + + +
+ + + + + + + + +
void set_results_units (const std::string & units)
+
+inlineprotectedinherited
+
+ +

Set reults units.

+
Parameters
+ + +
[in]unitsUnits that are displayed in the report.
+
+
+ +

Definition at line 231 of file common.hpp.

+ +
+
+ +

◆ SetUp()

+ +
+
+ + + + + +
+ + + + + + + +
void SetUp ()
+
+inlineoverrideprotected
+
+ +

Definition at line 113 of file compander_functional.cc.

+ +
+
+ +

◆ SetUpTestCase()

+ +
+
+ + + + + +
+ + + + + + + +
static void SetUpTestCase ()
+
+inlinestaticinherited
+
+ +

Definition at line 162 of file common.hpp.

+
+Here is the call graph for this function:
+
+
+ + + + + + +
+ +
+
+ +

◆ TearDown()

+ +
+
+ + + + + +
+ + + + + + + +
void TearDown ()
+
+inlineoverrideprotected
+
+ +

Definition at line 171 of file compander_functional.cc.

+ +
+
+ +

◆ TearDownTestCase()

+ +
+
+ + + + + +
+ + + + + + + +
static void TearDownTestCase ()
+
+inlinestaticinherited
+
+ +

Definition at line 185 of file common.hpp.

+ +
+
+

Field Documentation

+ +

◆ bfp_com_req

+ +
+
+ + + + + +
+ + + + +
struct xranlib_compress_request bfp_com_req
+
+protected
+
+ +

Definition at line 110 of file compander_functional.cc.

+ +
+
+ +

◆ bfp_com_rsp

+ +
+
+ + + + + +
+ + + + +
struct xranlib_compress_response bfp_com_rsp
+
+protected
+
+ +

Definition at line 111 of file compander_functional.cc.

+ +
+
+ +

◆ bfp_decom_req

+ +
+
+ + + + + +
+ + + + +
struct xranlib_decompress_request bfp_decom_req
+
+protected
+
+ +

Definition at line 108 of file compander_functional.cc.

+ +
+
+ +

◆ bfp_decom_rsp

+ +
+
+ + + + + +
+ + + + +
struct xranlib_decompress_response bfp_decom_rsp
+
+protected
+
+ +

Definition at line 109 of file compander_functional.cc.

+ +
+
+ +

◆ conf

+ +
+
+ + + + + +
+ + + + +
json conf
+
+staticinherited
+
+ +

Definition at line 159 of file common.hpp.

+ +
+
+ +

◆ division_factor

+ +
+
+ + + + + +
+ + + + +
double division_factor = 1.0
+
+protectedinherited
+
+ +

Definition at line 214 of file common.hpp.

+ +
+
+ +

◆ parallelization_factor

+ +
+
+ + + + + +
+ + + + +
int parallelization_factor = 1
+
+protectedinherited
+
+ +

Definition at line 216 of file common.hpp.

+ +
+
+ +

◆ result_units

+ +
+
+ + + + + +
+ + + + +
std::string result_units = "None"
+
+protectedinherited
+
+ +

Definition at line 215 of file common.hpp.

+ +
+
+ +

◆ test_type

+ +
+
+ + + + + +
+ + + + +
std::string test_type
+
+staticinherited
+
+ +

Definition at line 160 of file common.hpp.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/docs/API/class_bfp_perf_ex__coll__graph.map b/docs/API/class_bfp_perf_ex__coll__graph.map new file mode 100644 index 0000000..a4b5449 --- /dev/null +++ b/docs/API/class_bfp_perf_ex__coll__graph.map @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/API/class_bfp_perf_ex__coll__graph.md5 b/docs/API/class_bfp_perf_ex__coll__graph.md5 new file mode 100644 index 0000000..a5ffdc7 --- /dev/null +++ b/docs/API/class_bfp_perf_ex__coll__graph.md5 @@ -0,0 +1 @@ +903f3065c7b8aef3b8d9fdd5214cd011 \ No newline at end of file diff --git a/docs/API/class_bfp_perf_ex__coll__graph.png b/docs/API/class_bfp_perf_ex__coll__graph.png new file mode 100644 index 0000000..ac8dfd2 Binary files /dev/null and b/docs/API/class_bfp_perf_ex__coll__graph.png differ diff --git a/docs/API/class_bfp_perf_ex__inherit__graph.map b/docs/API/class_bfp_perf_ex__inherit__graph.map new file mode 100644 index 0000000..6b2bd95 --- /dev/null +++ b/docs/API/class_bfp_perf_ex__inherit__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/class_bfp_perf_ex__inherit__graph.md5 b/docs/API/class_bfp_perf_ex__inherit__graph.md5 new file mode 100644 index 0000000..d3c290c --- /dev/null +++ b/docs/API/class_bfp_perf_ex__inherit__graph.md5 @@ -0,0 +1 @@ +32b3a384fdf25cb9527ae09c7eb19ac3 \ No newline at end of file diff --git a/docs/API/class_bfp_perf_ex__inherit__graph.png b/docs/API/class_bfp_perf_ex__inherit__graph.png new file mode 100644 index 0000000..140215e Binary files /dev/null and b/docs/API/class_bfp_perf_ex__inherit__graph.png differ diff --git a/docs/API/class_c__plane.html b/docs/API/class_c__plane.html new file mode 100644 index 0000000..1145fc8 --- /dev/null +++ b/docs/API/class_c__plane.html @@ -0,0 +1,2013 @@ + + + + + + + +o-du/phy: C_plane Class Reference + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+ +
+
+Inheritance diagram for C_plane:
+
+
Inheritance graph
+ + + +
+
+Collaboration diagram for C_plane:
+
+
Collaboration graph
+ + + + + + + + + + + + + + + + +
+ + + + + + + + +

+Static Public Member Functions

static void SetUpTestCase ()
 
static void TearDownTestCase ()
 
static unsigned get_number_of_cases (const std::string &type)
 
+ + + + + +

+Static Public Attributes

static json conf
 
static std::string test_type
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Protected Member Functions

void SetUp () override
 
void TearDown () override
 
int prepare_sections (bool extflag)
 
int prepare_extensions (int sect_num)
 
void verify_sections (void)
 
void set_division_factor (const double factor)
 Set division factor. More...
 
void set_results_units (const std::string &units)
 Set reults units. More...
 
void set_parallelization_factor (const int factor)
 Set size of processed data. More...
 
template<typename F , typename ... Args>
void performance (const std::string &isa, const std::string &module_name, F function, Args ... args)
 Run performance test case for a given function. More...
 
void print_test_description (const std::string &isa, const std::string &module_name)
 Print unique test description to the results xml file. More...
 
const std::string get_case_name ()
 Get name of the test case from JSON file. More...
 
void init_test (const std::string &type)
 Defines section in the conf.json that is used to load parameters from. More...
 
template<typename T >
get_input_parameter (const std::string &parameter_name)
 Load selected data from a JSON object. get_input_parameter loads data from parameters section of the test case in JSON file and get_reference_parameter does the same thing for references section. More...
 
template<typename T >
get_reference_parameter (const std::string &parameter_name)
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Protected Attributes

int m_maxSections = 8
 
int m_numSections
 
struct rte_mbuf * m_pTestBuffer
 
struct xran_cp_gen_params m_params
 
struct xran_recv_packet_info m_pktInfo
 
struct xran_cp_gen_params m_result
 
uint8_t m_dir
 
std::string m_dirStr
 
uint8_t m_sectionType
 
uint8_t m_ccId
 
uint8_t m_antId
 
uint8_t m_seqId
 
uint8_t m_frameId
 
uint8_t m_subframeId
 
uint8_t m_slotId
 
uint8_t m_symStart
 
uint8_t m_symNum
 
uint16_t * m_prbStart = NULL
 
uint16_t * m_prbNum = NULL
 
uint8_t m_iqWidth
 
uint8_t m_compMethod
 
uint16_t m_beamId
 
uint16_t m_reMask = 0xfff
 
uint16_t m_sectionId
 
uint8_t m_filterIndex
 
uint16_t m_timeOffset
 
uint8_t m_fftSize
 
uint8_t m_scs
 
uint16_t m_cpLength
 
int m_freqOffset
 
uint16_t m_ext1_dst_len = 0
 
int8_t * m_p_ext1_dst = NULL
 
int16_t * m_p_bfw_iq_src = NULL
 
struct xran_sectionext1_info m_ext1
 
struct xran_sectionext2_info m_ext2
 
struct xran_sectionext4_info m_ext4
 
struct xran_sectionext5_info m_ext5
 
int16_t m_bfwIQ [XRAN_MAX_BFW_N *2]
 
double division_factor = 1.0
 
std::string result_units = "None"
 
int parallelization_factor = 1
 
+

Detailed Description

+
+

Definition at line 62 of file c_plane_tests.cc.

+

Member Function Documentation

+ +

◆ get_case_name()

+ +
+
+ + + + + +
+ + + + + + + +
const std::string get_case_name ()
+
+inlineprotectedinherited
+
+ +

Get name of the test case from JSON file.

+
Returns
Test'ss case name or a default name if name field is missing.
+ +

Definition at line 338 of file common.hpp.

+ +
+
+ +

◆ get_input_parameter()

+ +
+
+ + + + + +
+ + + + + + + + +
T get_input_parameter (const std::string & parameter_name)
+
+inlineprotectedinherited
+
+ +

Load selected data from a JSON object. get_input_parameter loads data from parameters section of the test case in JSON file and get_reference_parameter does the same thing for references section.

+

Get parameter function uses template type to figure out how to load parameters. If type is NOT a pointer it'll load value directly from the JSON. Otherwise path to the test vector is expected and function will allocate memory, load data from the binary file to this memory location and return pointer to it. For example in here we request to load pointer to float so llrs filed is expected to be a path to the binary file.

+ +

Definition at line 290 of file common.hpp.

+
+Here is the call graph for this function:
+
+
+ + + + + + + + + + + +
+ +
+
+ +

◆ get_number_of_cases()

+ +
+
+ + + + + +
+ + + + + + + + +
static unsigned get_number_of_cases (const std::string & type)
+
+inlinestaticinherited
+
+ +

Definition at line 190 of file common.hpp.

+
+Here is the call graph for this function:
+
+
+ + + + + +
+
+Here is the caller graph for this function:
+
+
+ + + +
+ +
+
+ +

◆ get_reference_parameter()

+ +
+
+ + + + + +
+ + + + + + + + +
T get_reference_parameter (const std::string & parameter_name)
+
+inlineprotectedinherited
+
+ +

Definition at line 312 of file common.hpp.

+
+Here is the call graph for this function:
+
+
+ + + + + + + + + + + +
+ +
+
+ +

◆ init_test()

+ +
+
+ + + + + +
+ + + + + + + + +
void init_test (const std::string & type)
+
+inlineprotectedinherited
+
+ +

Defines section in the conf.json that is used to load parameters from.

+
Parameters
+ + +
[in]typeName of the section in the JSON file.
+
+
+ +

Definition at line 358 of file common.hpp.

+
+Here is the call graph for this function:
+
+
+ + + + +
+
+Here is the caller graph for this function:
+
+
+ + + + + + + + +
+ +
+
+ +

◆ performance()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void performance (const std::string & isa,
const std::string & module_name,
function,
Args ... args 
)
+
+inlineprotectedinherited
+
+ +

Run performance test case for a given function.

+
Parameters
+ + + + + +
[in]isaUsed Instruction Set.
[in]module_namename of the tested kernel.
[in]functionfunction to be tested.
[in]argsfunction's arguments.
+
+
+ +

Definition at line 253 of file common.hpp.

+
+Here is the call graph for this function:
+
+
+ + + + + +
+
+Here is the caller graph for this function:
+
+
+ + + +
+ +
+
+ +

◆ prepare_extensions()

+ +
+
+ + + + + +
+ + + + + + + + +
int prepare_extensions (int sect_num)
+
+protected
+
+ +

Definition at line 230 of file c_plane_tests.cc.

+
+Here is the caller graph for this function:
+
+
+ + + + + +
+ +
+
+ +

◆ prepare_sections()

+ +
+
+ + + + + +
+ + + + + + + + +
int prepare_sections (bool extflag)
+
+protected
+
+ +

Definition at line 320 of file c_plane_tests.cc.

+
+Here is the call graph for this function:
+
+
+ + + +
+
+Here is the caller graph for this function:
+
+
+ + + + +
+ +
+
+ +

◆ print_test_description()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void print_test_description (const std::string & isa,
const std::string & module_name 
)
+
+inlineprotectedinherited
+
+ +

Print unique test description to the results xml file.

+
Parameters
+ + + + +
[in]isaUsed Instruction Set.
[in]module_namename of the tested kernel.
[in]functionfunction to be tested.
+
+
+ +

Definition at line 271 of file common.hpp.

+ +
+
+ +

◆ set_division_factor()

+ +
+
+ + + + + +
+ + + + + + + + +
void set_division_factor (const double factor)
+
+inlineprotectedinherited
+
+ +

Set division factor.

+
Parameters
+ + +
[in]factorDivision factor that divides mean and standard deviation.
+
+
+ +

Definition at line 222 of file common.hpp.

+ +
+
+ +

◆ set_parallelization_factor()

+ +
+
+ + + + + +
+ + + + + + + + +
void set_parallelization_factor (const int factor)
+
+inlineprotectedinherited
+
+ +

Set size of processed data.

+
Parameters
+ + +
[in]sizeSize of processed data used to calculate module throughput.
+
+
+ +

Definition at line 240 of file common.hpp.

+ +
+
+ +

◆ set_results_units()

+ +
+
+ + + + + +
+ + + + + + + + +
void set_results_units (const std::string & units)
+
+inlineprotectedinherited
+
+ +

Set reults units.

+
Parameters
+ + +
[in]unitsUnits that are displayed in the report.
+
+
+ +

Definition at line 231 of file common.hpp.

+ +
+
+ +

◆ SetUp()

+ +
+
+ + + + + +
+ + + + + + + +
void SetUp ()
+
+inlineoverrideprotected
+
+ +

Definition at line 112 of file c_plane_tests.cc.

+
+Here is the call graph for this function:
+
+
+ + + + + + +
+ +
+
+ +

◆ SetUpTestCase()

+ +
+
+ + + + + +
+ + + + + + + +
static void SetUpTestCase ()
+
+inlinestaticinherited
+
+ +

Definition at line 162 of file common.hpp.

+
+Here is the call graph for this function:
+
+
+ + + + + + +
+ +
+
+ +

◆ TearDown()

+ +
+
+ + + + + +
+ + + + + + + +
void TearDown ()
+
+inlineoverrideprotected
+
+ +

Definition at line 195 of file c_plane_tests.cc.

+
+Here is the call graph for this function:
+
+
+ + + + + +
+ +
+
+ +

◆ TearDownTestCase()

+ +
+
+ + + + + +
+ + + + + + + +
static void TearDownTestCase ()
+
+inlinestaticinherited
+
+ +

Definition at line 185 of file common.hpp.

+ +
+
+ +

◆ verify_sections()

+ +
+
+ + + + + +
+ + + + + + + + +
void verify_sections (void )
+
+protected
+
+ +

Definition at line 394 of file c_plane_tests.cc.

+
+Here is the caller graph for this function:
+
+
+ + + + +
+ +
+
+

Field Documentation

+ +

◆ conf

+ +
+
+ + + + + +
+ + + + +
json conf
+
+staticinherited
+
+ +

Definition at line 159 of file common.hpp.

+ +
+
+ +

◆ division_factor

+ +
+
+ + + + + +
+ + + + +
double division_factor = 1.0
+
+protectedinherited
+
+ +

Definition at line 214 of file common.hpp.

+ +
+
+ +

◆ m_antId

+ +
+
+ + + + + +
+ + + + +
uint8_t m_antId
+
+protected
+
+ +

Definition at line 83 of file c_plane_tests.cc.

+ +
+
+ +

◆ m_beamId

+ +
+
+ + + + + +
+ + + + +
uint16_t m_beamId
+
+protected
+
+ +

Definition at line 90 of file c_plane_tests.cc.

+ +
+
+ +

◆ m_bfwIQ

+ +
+
+ + + + + +
+ + + + +
int16_t m_bfwIQ[XRAN_MAX_BFW_N *2]
+
+protected
+
+ +

Definition at line 109 of file c_plane_tests.cc.

+ +
+
+ +

◆ m_ccId

+ +
+
+ + + + + +
+ + + + +
uint8_t m_ccId
+
+protected
+
+ +

Definition at line 83 of file c_plane_tests.cc.

+ +
+
+ +

◆ m_compMethod

+ +
+
+ + + + + +
+ + + + +
uint8_t m_compMethod
+
+protected
+
+ +

Definition at line 89 of file c_plane_tests.cc.

+ +
+
+ +

◆ m_cpLength

+ +
+
+ + + + + +
+ + + + +
uint16_t m_cpLength
+
+protected
+
+ +

Definition at line 97 of file c_plane_tests.cc.

+ +
+
+ +

◆ m_dir

+ +
+
+ + + + + +
+ + + + +
uint8_t m_dir
+
+protected
+
+ +

Definition at line 79 of file c_plane_tests.cc.

+ +
+
+ +

◆ m_dirStr

+ +
+
+ + + + + +
+ + + + +
std::string m_dirStr
+
+protected
+
+ +

Definition at line 80 of file c_plane_tests.cc.

+ +
+
+ +

◆ m_ext1

+ +
+
+ + + + + +
+ + + + +
struct xran_sectionext1_info m_ext1
+
+protected
+
+ +

Definition at line 104 of file c_plane_tests.cc.

+ +
+
+ +

◆ m_ext1_dst_len

+ +
+
+ + + + + +
+ + + + +
uint16_t m_ext1_dst_len = 0
+
+protected
+
+ +

Definition at line 100 of file c_plane_tests.cc.

+ +
+
+ +

◆ m_ext2

+ +
+
+ + + + + +
+ + + + +
struct xran_sectionext2_info m_ext2
+
+protected
+
+ +

Definition at line 105 of file c_plane_tests.cc.

+ +
+
+ +

◆ m_ext4

+ +
+
+ + + + + +
+ + + + +
struct xran_sectionext4_info m_ext4
+
+protected
+
+ +

Definition at line 106 of file c_plane_tests.cc.

+ +
+
+ +

◆ m_ext5

+ +
+
+ + + + + +
+ + + + +
struct xran_sectionext5_info m_ext5
+
+protected
+
+ +

Definition at line 107 of file c_plane_tests.cc.

+ +
+
+ +

◆ m_fftSize

+ +
+
+ + + + + +
+ + + + +
uint8_t m_fftSize
+
+protected
+
+ +

Definition at line 95 of file c_plane_tests.cc.

+ +
+
+ +

◆ m_filterIndex

+ +
+
+ + + + + +
+ + + + +
uint8_t m_filterIndex
+
+protected
+
+ +

Definition at line 93 of file c_plane_tests.cc.

+ +
+
+ +

◆ m_frameId

+ +
+
+ + + + + +
+ + + + +
uint8_t m_frameId
+
+protected
+
+ +

Definition at line 85 of file c_plane_tests.cc.

+ +
+
+ +

◆ m_freqOffset

+ +
+
+ + + + + +
+ + + + +
int m_freqOffset
+
+protected
+
+ +

Definition at line 98 of file c_plane_tests.cc.

+ +
+
+ +

◆ m_iqWidth

+ +
+
+ + + + + +
+ + + + +
uint8_t m_iqWidth
+
+protected
+
+ +

Definition at line 89 of file c_plane_tests.cc.

+ +
+
+ +

◆ m_maxSections

+ +
+
+ + + + + +
+ + + + +
int m_maxSections = 8
+
+protected
+
+ +

Definition at line 70 of file c_plane_tests.cc.

+ +
+
+ +

◆ m_numSections

+ +
+
+ + + + + +
+ + + + +
int m_numSections
+
+protected
+
+ +

Definition at line 71 of file c_plane_tests.cc.

+ +
+
+ +

◆ m_p_bfw_iq_src

+ +
+
+ + + + + +
+ + + + +
int16_t* m_p_bfw_iq_src = NULL
+
+protected
+
+ +

Definition at line 102 of file c_plane_tests.cc.

+ +
+
+ +

◆ m_p_ext1_dst

+ +
+
+ + + + + +
+ + + + +
int8_t* m_p_ext1_dst = NULL
+
+protected
+
+ +

Definition at line 101 of file c_plane_tests.cc.

+ +
+
+ +

◆ m_params

+ +
+
+ + + + + +
+ + + + +
struct xran_cp_gen_params m_params
+
+protected
+
+ +

Definition at line 75 of file c_plane_tests.cc.

+ +
+
+ +

◆ m_pktInfo

+ +
+
+ + + + + +
+ + + + +
struct xran_recv_packet_info m_pktInfo
+
+protected
+
+ +

Definition at line 76 of file c_plane_tests.cc.

+ +
+
+ +

◆ m_prbNum

+ +
+
+ + + + + +
+ + + + +
uint16_t * m_prbNum = NULL
+
+protected
+
+ +

Definition at line 87 of file c_plane_tests.cc.

+ +
+
+ +

◆ m_prbStart

+ +
+
+ + + + + +
+ + + + +
uint16_t* m_prbStart = NULL
+
+protected
+
+ +

Definition at line 87 of file c_plane_tests.cc.

+ +
+
+ +

◆ m_pTestBuffer

+ +
+
+ + + + + +
+ + + + +
struct rte_mbuf* m_pTestBuffer
+
+protected
+
+ +

Definition at line 73 of file c_plane_tests.cc.

+ +
+
+ +

◆ m_reMask

+ +
+
+ + + + + +
+ + + + +
uint16_t m_reMask = 0xfff
+
+protected
+
+ +

Definition at line 91 of file c_plane_tests.cc.

+ +
+
+ +

◆ m_result

+ +
+
+ + + + + +
+ + + + +
struct xran_cp_gen_params m_result
+
+protected
+
+ +

Definition at line 77 of file c_plane_tests.cc.

+ +
+
+ +

◆ m_scs

+ +
+
+ + + + + +
+ + + + +
uint8_t m_scs
+
+protected
+
+ +

Definition at line 96 of file c_plane_tests.cc.

+ +
+
+ +

◆ m_sectionId

+ +
+
+ + + + + +
+ + + + +
uint16_t m_sectionId
+
+protected
+
+ +

Definition at line 92 of file c_plane_tests.cc.

+ +
+
+ +

◆ m_sectionType

+ +
+
+ + + + + +
+ + + + +
uint8_t m_sectionType
+
+protected
+
+ +

Definition at line 81 of file c_plane_tests.cc.

+ +
+
+ +

◆ m_seqId

+ +
+
+ + + + + +
+ + + + +
uint8_t m_seqId
+
+protected
+
+ +

Definition at line 84 of file c_plane_tests.cc.

+ +
+
+ +

◆ m_slotId

+ +
+
+ + + + + +
+ + + + +
uint8_t m_slotId
+
+protected
+
+ +

Definition at line 85 of file c_plane_tests.cc.

+ +
+
+ +

◆ m_subframeId

+ +
+
+ + + + + +
+ + + + +
uint8_t m_subframeId
+
+protected
+
+ +

Definition at line 85 of file c_plane_tests.cc.

+ +
+
+ +

◆ m_symNum

+ +
+
+ + + + + +
+ + + + +
uint8_t m_symNum
+
+protected
+
+ +

Definition at line 86 of file c_plane_tests.cc.

+ +
+
+ +

◆ m_symStart

+ +
+
+ + + + + +
+ + + + +
uint8_t m_symStart
+
+protected
+
+ +

Definition at line 86 of file c_plane_tests.cc.

+ +
+
+ +

◆ m_timeOffset

+ +
+
+ + + + + +
+ + + + +
uint16_t m_timeOffset
+
+protected
+
+ +

Definition at line 94 of file c_plane_tests.cc.

+ +
+
+ +

◆ parallelization_factor

+ +
+
+ + + + + +
+ + + + +
int parallelization_factor = 1
+
+protectedinherited
+
+ +

Definition at line 216 of file common.hpp.

+ +
+
+ +

◆ result_units

+ +
+
+ + + + + +
+ + + + +
std::string result_units = "None"
+
+protectedinherited
+
+ +

Definition at line 215 of file common.hpp.

+ +
+
+ +

◆ test_type

+ +
+
+ + + + + +
+ + + + +
std::string test_type
+
+staticinherited
+
+ +

Definition at line 160 of file common.hpp.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/docs/API/class_c__plane__coll__graph.map b/docs/API/class_c__plane__coll__graph.map new file mode 100644 index 0000000..5d01843 --- /dev/null +++ b/docs/API/class_c__plane__coll__graph.map @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/docs/API/class_c__plane__coll__graph.md5 b/docs/API/class_c__plane__coll__graph.md5 new file mode 100644 index 0000000..cf79de6 --- /dev/null +++ b/docs/API/class_c__plane__coll__graph.md5 @@ -0,0 +1 @@ +0ba79fecb27f43ff978edf2e1f0f31d2 \ No newline at end of file diff --git a/docs/API/class_c__plane__coll__graph.png b/docs/API/class_c__plane__coll__graph.png new file mode 100644 index 0000000..0955a3b Binary files /dev/null and b/docs/API/class_c__plane__coll__graph.png differ diff --git a/docs/API/class_c__plane__inherit__graph.map b/docs/API/class_c__plane__inherit__graph.map new file mode 100644 index 0000000..1440762 --- /dev/null +++ b/docs/API/class_c__plane__inherit__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/class_c__plane__inherit__graph.md5 b/docs/API/class_c__plane__inherit__graph.md5 new file mode 100644 index 0000000..00bdd1f --- /dev/null +++ b/docs/API/class_c__plane__inherit__graph.md5 @@ -0,0 +1 @@ +c58416e769001789033846f044ef1043 \ No newline at end of file diff --git a/docs/API/class_c__plane__inherit__graph.png b/docs/API/class_c__plane__inherit__graph.png new file mode 100644 index 0000000..9db6b28 Binary files /dev/null and b/docs/API/class_c__plane__inherit__graph.png differ diff --git a/docs/API/class_c__plane_a2d5e33dd093724772a1447910bd34e15_icgraph.map b/docs/API/class_c__plane_a2d5e33dd093724772a1447910bd34e15_icgraph.map new file mode 100644 index 0000000..7384a3c --- /dev/null +++ b/docs/API/class_c__plane_a2d5e33dd093724772a1447910bd34e15_icgraph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/class_c__plane_a2d5e33dd093724772a1447910bd34e15_icgraph.md5 b/docs/API/class_c__plane_a2d5e33dd093724772a1447910bd34e15_icgraph.md5 new file mode 100644 index 0000000..1bed7f0 --- /dev/null +++ b/docs/API/class_c__plane_a2d5e33dd093724772a1447910bd34e15_icgraph.md5 @@ -0,0 +1 @@ +0230ed8a5f700f176e17063304945dec \ No newline at end of file diff --git a/docs/API/class_c__plane_a2d5e33dd093724772a1447910bd34e15_icgraph.png b/docs/API/class_c__plane_a2d5e33dd093724772a1447910bd34e15_icgraph.png new file mode 100644 index 0000000..cc77dcc Binary files /dev/null and b/docs/API/class_c__plane_a2d5e33dd093724772a1447910bd34e15_icgraph.png differ diff --git a/docs/API/class_c__plane_a3a1707f6479611fdc609a3eb8a0cef1b_cgraph.map b/docs/API/class_c__plane_a3a1707f6479611fdc609a3eb8a0cef1b_cgraph.map new file mode 100644 index 0000000..d3056a0 --- /dev/null +++ b/docs/API/class_c__plane_a3a1707f6479611fdc609a3eb8a0cef1b_cgraph.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/API/class_c__plane_a3a1707f6479611fdc609a3eb8a0cef1b_cgraph.md5 b/docs/API/class_c__plane_a3a1707f6479611fdc609a3eb8a0cef1b_cgraph.md5 new file mode 100644 index 0000000..1fc2cf2 --- /dev/null +++ b/docs/API/class_c__plane_a3a1707f6479611fdc609a3eb8a0cef1b_cgraph.md5 @@ -0,0 +1 @@ +9e770e40ec512f613999d5d77433310b \ No newline at end of file diff --git a/docs/API/class_c__plane_a3a1707f6479611fdc609a3eb8a0cef1b_cgraph.png b/docs/API/class_c__plane_a3a1707f6479611fdc609a3eb8a0cef1b_cgraph.png new file mode 100644 index 0000000..7b05aee Binary files /dev/null and b/docs/API/class_c__plane_a3a1707f6479611fdc609a3eb8a0cef1b_cgraph.png differ diff --git a/docs/API/class_c__plane_a7fd4d380e2392bfe924c06a8101b6d85_cgraph.map b/docs/API/class_c__plane_a7fd4d380e2392bfe924c06a8101b6d85_cgraph.map new file mode 100644 index 0000000..32e86e3 --- /dev/null +++ b/docs/API/class_c__plane_a7fd4d380e2392bfe924c06a8101b6d85_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/class_c__plane_a7fd4d380e2392bfe924c06a8101b6d85_cgraph.md5 b/docs/API/class_c__plane_a7fd4d380e2392bfe924c06a8101b6d85_cgraph.md5 new file mode 100644 index 0000000..85c7681 --- /dev/null +++ b/docs/API/class_c__plane_a7fd4d380e2392bfe924c06a8101b6d85_cgraph.md5 @@ -0,0 +1 @@ +1ff8354456494e1c1a4f519758f2e160 \ No newline at end of file diff --git a/docs/API/class_c__plane_a7fd4d380e2392bfe924c06a8101b6d85_cgraph.png b/docs/API/class_c__plane_a7fd4d380e2392bfe924c06a8101b6d85_cgraph.png new file mode 100644 index 0000000..e74ac9b Binary files /dev/null and b/docs/API/class_c__plane_a7fd4d380e2392bfe924c06a8101b6d85_cgraph.png differ diff --git a/docs/API/class_c__plane_a7fd4d380e2392bfe924c06a8101b6d85_icgraph.map b/docs/API/class_c__plane_a7fd4d380e2392bfe924c06a8101b6d85_icgraph.map new file mode 100644 index 0000000..550296d --- /dev/null +++ b/docs/API/class_c__plane_a7fd4d380e2392bfe924c06a8101b6d85_icgraph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/class_c__plane_a7fd4d380e2392bfe924c06a8101b6d85_icgraph.md5 b/docs/API/class_c__plane_a7fd4d380e2392bfe924c06a8101b6d85_icgraph.md5 new file mode 100644 index 0000000..717f302 --- /dev/null +++ b/docs/API/class_c__plane_a7fd4d380e2392bfe924c06a8101b6d85_icgraph.md5 @@ -0,0 +1 @@ +37693f571ee8748c1653adc6aa98976b \ No newline at end of file diff --git a/docs/API/class_c__plane_a7fd4d380e2392bfe924c06a8101b6d85_icgraph.png b/docs/API/class_c__plane_a7fd4d380e2392bfe924c06a8101b6d85_icgraph.png new file mode 100644 index 0000000..9f97077 Binary files /dev/null and b/docs/API/class_c__plane_a7fd4d380e2392bfe924c06a8101b6d85_icgraph.png differ diff --git a/docs/API/class_c__plane_ac4fca95dc3b93372ce7f2078baf8e8b6_cgraph.map b/docs/API/class_c__plane_ac4fca95dc3b93372ce7f2078baf8e8b6_cgraph.map new file mode 100644 index 0000000..1a26f8b --- /dev/null +++ b/docs/API/class_c__plane_ac4fca95dc3b93372ce7f2078baf8e8b6_cgraph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/API/class_c__plane_ac4fca95dc3b93372ce7f2078baf8e8b6_cgraph.md5 b/docs/API/class_c__plane_ac4fca95dc3b93372ce7f2078baf8e8b6_cgraph.md5 new file mode 100644 index 0000000..525bb01 --- /dev/null +++ b/docs/API/class_c__plane_ac4fca95dc3b93372ce7f2078baf8e8b6_cgraph.md5 @@ -0,0 +1 @@ +a3e219c797665a1e72ddf9c18776776e \ No newline at end of file diff --git a/docs/API/class_c__plane_ac4fca95dc3b93372ce7f2078baf8e8b6_cgraph.png b/docs/API/class_c__plane_ac4fca95dc3b93372ce7f2078baf8e8b6_cgraph.png new file mode 100644 index 0000000..cbc212b Binary files /dev/null and b/docs/API/class_c__plane_ac4fca95dc3b93372ce7f2078baf8e8b6_cgraph.png differ diff --git a/docs/API/class_c__plane_aecd2fcecaca860136bf56e6af5155e96_icgraph.map b/docs/API/class_c__plane_aecd2fcecaca860136bf56e6af5155e96_icgraph.map new file mode 100644 index 0000000..0777c8c --- /dev/null +++ b/docs/API/class_c__plane_aecd2fcecaca860136bf56e6af5155e96_icgraph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/API/class_c__plane_aecd2fcecaca860136bf56e6af5155e96_icgraph.md5 b/docs/API/class_c__plane_aecd2fcecaca860136bf56e6af5155e96_icgraph.md5 new file mode 100644 index 0000000..8c3ca23 --- /dev/null +++ b/docs/API/class_c__plane_aecd2fcecaca860136bf56e6af5155e96_icgraph.md5 @@ -0,0 +1 @@ +3f40fd33ed1cfb3657d41f933e8d8208 \ No newline at end of file diff --git a/docs/API/class_c__plane_aecd2fcecaca860136bf56e6af5155e96_icgraph.png b/docs/API/class_c__plane_aecd2fcecaca860136bf56e6af5155e96_icgraph.png new file mode 100644 index 0000000..dc726c1 Binary files /dev/null and b/docs/API/class_c__plane_aecd2fcecaca860136bf56e6af5155e96_icgraph.png differ diff --git a/docs/API/class_init___sys___check.html b/docs/API/class_init___sys___check.html new file mode 100644 index 0000000..a118581 --- /dev/null +++ b/docs/API/class_init___sys___check.html @@ -0,0 +1,1159 @@ + + + + + + + +o-du/phy: Init_Sys_Check Class Reference + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+ +
+
+Inheritance diagram for Init_Sys_Check:
+
+
Inheritance graph
+ + + +
+
+Collaboration diagram for Init_Sys_Check:
+
+
Collaboration graph
+ + + + + + + +
+ + + + + + + + +

+Static Public Member Functions

static void SetUpTestCase ()
 
static void TearDownTestCase ()
 
static unsigned get_number_of_cases (const std::string &type)
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Data Fields

BbuIoBufCtrlStruct sFrontHaulTxBbuIoBufCtrl [XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR]
 
BbuIoBufCtrlStruct sFrontHaulTxPrbMapBbuIoBufCtrl [XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR]
 
BbuIoBufCtrlStruct sFrontHaulRxBbuIoBufCtrl [XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR]
 
BbuIoBufCtrlStruct sFrontHaulRxPrbMapBbuIoBufCtrl [XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR]
 
BbuIoBufCtrlStruct sFHPrachRxBbuIoBufCtrl [XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR]
 
struct xran_flat_buffer sFrontHaulTxBuffers [XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR][XRAN_NUM_OF_SYMBOL_PER_SLOT]
 
struct xran_flat_buffer sFrontHaulTxPrbMapBuffers [XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR]
 
struct xran_flat_buffer sFrontHaulRxBuffers [XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR][XRAN_NUM_OF_SYMBOL_PER_SLOT]
 
struct xran_flat_buffer sFrontHaulRxPrbMapBuffers [XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR]
 
struct xran_flat_buffer sFHPrachRxBuffers [XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR][XRAN_NUM_OF_SYMBOL_PER_SLOT]
 
void * nInstanceHandle [XRAN_PORTS_NUM][XRAN_MAX_SECTOR_NR]
 
uint32_t nBufPoolIndex [XRAN_MAX_SECTOR_NR][xranLibWraper::MAX_SW_XRAN_INTERFACE_NUM]
 
uint16_t nInstanceNum
 
+ + + + + +

+Static Public Attributes

static json conf
 
static std::string test_type
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Protected Member Functions

void SetUp () override
 
void TearDown () override
 
void set_division_factor (const double factor)
 Set division factor. More...
 
void set_results_units (const std::string &units)
 Set reults units. More...
 
void set_parallelization_factor (const int factor)
 Set size of processed data. More...
 
template<typename F , typename ... Args>
void performance (const std::string &isa, const std::string &module_name, F function, Args ... args)
 Run performance test case for a given function. More...
 
void print_test_description (const std::string &isa, const std::string &module_name)
 Print unique test description to the results xml file. More...
 
const std::string get_case_name ()
 Get name of the test case from JSON file. More...
 
void init_test (const std::string &type)
 Defines section in the conf.json that is used to load parameters from. More...
 
template<typename T >
get_input_parameter (const std::string &parameter_name)
 Load selected data from a JSON object. get_input_parameter loads data from parameters section of the test case in JSON file and get_reference_parameter does the same thing for references section. More...
 
template<typename T >
get_reference_parameter (const std::string &parameter_name)
 
+ + + + + + + +

+Protected Attributes

double division_factor = 1.0
 
std::string result_units = "None"
 
int parallelization_factor = 1
 
+

Detailed Description

+
+

Definition at line 75 of file init_sys_functional.cc.

+

Member Function Documentation

+ +

◆ get_case_name()

+ +
+
+ + + + + +
+ + + + + + + +
const std::string get_case_name ()
+
+inlineprotectedinherited
+
+ +

Get name of the test case from JSON file.

+
Returns
Test'ss case name or a default name if name field is missing.
+ +

Definition at line 338 of file common.hpp.

+ +
+
+ +

◆ get_input_parameter()

+ +
+
+ + + + + +
+ + + + + + + + +
T get_input_parameter (const std::string & parameter_name)
+
+inlineprotectedinherited
+
+ +

Load selected data from a JSON object. get_input_parameter loads data from parameters section of the test case in JSON file and get_reference_parameter does the same thing for references section.

+

Get parameter function uses template type to figure out how to load parameters. If type is NOT a pointer it'll load value directly from the JSON. Otherwise path to the test vector is expected and function will allocate memory, load data from the binary file to this memory location and return pointer to it. For example in here we request to load pointer to float so llrs filed is expected to be a path to the binary file.

+ +

Definition at line 290 of file common.hpp.

+
+Here is the call graph for this function:
+
+
+ + + + + + + + + + + +
+ +
+
+ +

◆ get_number_of_cases()

+ +
+
+ + + + + +
+ + + + + + + + +
static unsigned get_number_of_cases (const std::string & type)
+
+inlinestaticinherited
+
+ +

Definition at line 190 of file common.hpp.

+
+Here is the call graph for this function:
+
+
+ + + + + +
+
+Here is the caller graph for this function:
+
+
+ + + +
+ +
+
+ +

◆ get_reference_parameter()

+ +
+
+ + + + + +
+ + + + + + + + +
T get_reference_parameter (const std::string & parameter_name)
+
+inlineprotectedinherited
+
+ +

Definition at line 312 of file common.hpp.

+
+Here is the call graph for this function:
+
+
+ + + + + + + + + + + +
+ +
+
+ +

◆ init_test()

+ +
+
+ + + + + +
+ + + + + + + + +
void init_test (const std::string & type)
+
+inlineprotectedinherited
+
+ +

Defines section in the conf.json that is used to load parameters from.

+
Parameters
+ + +
[in]typeName of the section in the JSON file.
+
+
+ +

Definition at line 358 of file common.hpp.

+
+Here is the call graph for this function:
+
+
+ + + + +
+
+Here is the caller graph for this function:
+
+
+ + + + + + + + +
+ +
+
+ +

◆ performance()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void performance (const std::string & isa,
const std::string & module_name,
function,
Args ... args 
)
+
+inlineprotectedinherited
+
+ +

Run performance test case for a given function.

+
Parameters
+ + + + + +
[in]isaUsed Instruction Set.
[in]module_namename of the tested kernel.
[in]functionfunction to be tested.
[in]argsfunction's arguments.
+
+
+ +

Definition at line 253 of file common.hpp.

+
+Here is the call graph for this function:
+
+
+ + + + + +
+
+Here is the caller graph for this function:
+
+
+ + + +
+ +
+
+ +

◆ print_test_description()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void print_test_description (const std::string & isa,
const std::string & module_name 
)
+
+inlineprotectedinherited
+
+ +

Print unique test description to the results xml file.

+
Parameters
+ + + + +
[in]isaUsed Instruction Set.
[in]module_namename of the tested kernel.
[in]functionfunction to be tested.
+
+
+ +

Definition at line 271 of file common.hpp.

+ +
+
+ +

◆ set_division_factor()

+ +
+
+ + + + + +
+ + + + + + + + +
void set_division_factor (const double factor)
+
+inlineprotectedinherited
+
+ +

Set division factor.

+
Parameters
+ + +
[in]factorDivision factor that divides mean and standard deviation.
+
+
+ +

Definition at line 222 of file common.hpp.

+ +
+
+ +

◆ set_parallelization_factor()

+ +
+
+ + + + + +
+ + + + + + + + +
void set_parallelization_factor (const int factor)
+
+inlineprotectedinherited
+
+ +

Set size of processed data.

+
Parameters
+ + +
[in]sizeSize of processed data used to calculate module throughput.
+
+
+ +

Definition at line 240 of file common.hpp.

+ +
+
+ +

◆ set_results_units()

+ +
+
+ + + + + +
+ + + + + + + + +
void set_results_units (const std::string & units)
+
+inlineprotectedinherited
+
+ +

Set reults units.

+
Parameters
+ + +
[in]unitsUnits that are displayed in the report.
+
+
+ +

Definition at line 231 of file common.hpp.

+ +
+
+ +

◆ SetUp()

+ +
+
+ + + + + +
+ + + + + + + +
void SetUp ()
+
+inlineoverrideprotected
+
+ +

Definition at line 79 of file init_sys_functional.cc.

+
+Here is the call graph for this function:
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ +

◆ SetUpTestCase()

+ +
+
+ + + + + +
+ + + + + + + +
static void SetUpTestCase ()
+
+inlinestaticinherited
+
+ +

Definition at line 162 of file common.hpp.

+
+Here is the call graph for this function:
+
+
+ + + + + + +
+ +
+
+ +

◆ TearDown()

+ +
+
+ + + + + +
+ + + + + + + +
void TearDown ()
+
+inlineoverrideprotected
+
+ +

Definition at line 86 of file init_sys_functional.cc.

+
+Here is the call graph for this function:
+
+
+ + + + + + + + +
+ +
+
+ +

◆ TearDownTestCase()

+ +
+
+ + + + + +
+ + + + + + + +
static void TearDownTestCase ()
+
+inlinestaticinherited
+
+ +

Definition at line 185 of file common.hpp.

+ +
+
+

Field Documentation

+ +

◆ conf

+ +
+
+ + + + + +
+ + + + +
json conf
+
+staticinherited
+
+ +

Definition at line 159 of file common.hpp.

+ +
+
+ +

◆ division_factor

+ +
+
+ + + + + +
+ + + + +
double division_factor = 1.0
+
+protectedinherited
+
+ +

Definition at line 214 of file common.hpp.

+ +
+
+ +

◆ nBufPoolIndex

+ +
+
+ + + + +
uint32_t nBufPoolIndex[XRAN_MAX_SECTOR_NR][xranLibWraper::MAX_SW_XRAN_INTERFACE_NUM]
+
+ +

Definition at line 108 of file init_sys_functional.cc.

+ +
+
+ +

◆ nInstanceHandle

+ +
+
+ + + + +
void* nInstanceHandle[XRAN_PORTS_NUM][XRAN_MAX_SECTOR_NR]
+
+ +

Definition at line 107 of file init_sys_functional.cc.

+ +
+
+ +

◆ nInstanceNum

+ +
+
+ + + + +
uint16_t nInstanceNum
+
+ +

Definition at line 109 of file init_sys_functional.cc.

+ +
+
+ +

◆ parallelization_factor

+ +
+
+ + + + + +
+ + + + +
int parallelization_factor = 1
+
+protectedinherited
+
+ +

Definition at line 216 of file common.hpp.

+ +
+
+ +

◆ result_units

+ +
+
+ + + + + +
+ + + + +
std::string result_units = "None"
+
+protectedinherited
+
+ +

Definition at line 215 of file common.hpp.

+ +
+
+ +

◆ sFHPrachRxBbuIoBufCtrl

+ +
+
+ +

Definition at line 98 of file init_sys_functional.cc.

+ +
+
+ +

◆ sFHPrachRxBuffers

+ +
+
+ +

Definition at line 105 of file init_sys_functional.cc.

+ +
+
+ +

◆ sFrontHaulRxBbuIoBufCtrl

+ +
+
+ +

Definition at line 96 of file init_sys_functional.cc.

+ +
+
+ +

◆ sFrontHaulRxBuffers

+ +
+
+ +

Definition at line 103 of file init_sys_functional.cc.

+ +
+
+ +

◆ sFrontHaulRxPrbMapBbuIoBufCtrl

+ +
+
+ + + + +
BbuIoBufCtrlStruct sFrontHaulRxPrbMapBbuIoBufCtrl[XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR]
+
+ +

Definition at line 97 of file init_sys_functional.cc.

+ +
+
+ +

◆ sFrontHaulRxPrbMapBuffers

+ +
+
+ + + + +
struct xran_flat_buffer sFrontHaulRxPrbMapBuffers[XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR]
+
+ +

Definition at line 104 of file init_sys_functional.cc.

+ +
+
+ +

◆ sFrontHaulTxBbuIoBufCtrl

+ +
+
+ +

Definition at line 94 of file init_sys_functional.cc.

+ +
+
+ +

◆ sFrontHaulTxBuffers

+ +
+
+ +

Definition at line 101 of file init_sys_functional.cc.

+ +
+
+ +

◆ sFrontHaulTxPrbMapBbuIoBufCtrl

+ +
+
+ + + + +
BbuIoBufCtrlStruct sFrontHaulTxPrbMapBbuIoBufCtrl[XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR]
+
+ +

Definition at line 95 of file init_sys_functional.cc.

+ +
+
+ +

◆ sFrontHaulTxPrbMapBuffers

+ +
+
+ + + + +
struct xran_flat_buffer sFrontHaulTxPrbMapBuffers[XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR]
+
+ +

Definition at line 102 of file init_sys_functional.cc.

+ +
+
+ +

◆ test_type

+ +
+
+ + + + + +
+ + + + +
std::string test_type
+
+staticinherited
+
+ +

Definition at line 160 of file common.hpp.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/docs/API/class_init___sys___check__coll__graph.map b/docs/API/class_init___sys___check__coll__graph.map new file mode 100644 index 0000000..3d7a9a1 --- /dev/null +++ b/docs/API/class_init___sys___check__coll__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/API/class_init___sys___check__coll__graph.md5 b/docs/API/class_init___sys___check__coll__graph.md5 new file mode 100644 index 0000000..66117d0 --- /dev/null +++ b/docs/API/class_init___sys___check__coll__graph.md5 @@ -0,0 +1 @@ +595e601c29b697a4f385afeb374dad66 \ No newline at end of file diff --git a/docs/API/class_init___sys___check__coll__graph.png b/docs/API/class_init___sys___check__coll__graph.png new file mode 100644 index 0000000..8e2749f Binary files /dev/null and b/docs/API/class_init___sys___check__coll__graph.png differ diff --git a/docs/API/class_init___sys___check__inherit__graph.map b/docs/API/class_init___sys___check__inherit__graph.map new file mode 100644 index 0000000..e6af802 --- /dev/null +++ b/docs/API/class_init___sys___check__inherit__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/class_init___sys___check__inherit__graph.md5 b/docs/API/class_init___sys___check__inherit__graph.md5 new file mode 100644 index 0000000..6dd4378 --- /dev/null +++ b/docs/API/class_init___sys___check__inherit__graph.md5 @@ -0,0 +1 @@ +294f4cc437b926ec5465add27d08f472 \ No newline at end of file diff --git a/docs/API/class_init___sys___check__inherit__graph.png b/docs/API/class_init___sys___check__inherit__graph.png new file mode 100644 index 0000000..308ff18 Binary files /dev/null and b/docs/API/class_init___sys___check__inherit__graph.png differ diff --git a/docs/API/class_init___sys___check_a3a1707f6479611fdc609a3eb8a0cef1b_cgraph.map b/docs/API/class_init___sys___check_a3a1707f6479611fdc609a3eb8a0cef1b_cgraph.map new file mode 100644 index 0000000..fba5cf8 --- /dev/null +++ b/docs/API/class_init___sys___check_a3a1707f6479611fdc609a3eb8a0cef1b_cgraph.map @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/API/class_init___sys___check_a3a1707f6479611fdc609a3eb8a0cef1b_cgraph.md5 b/docs/API/class_init___sys___check_a3a1707f6479611fdc609a3eb8a0cef1b_cgraph.md5 new file mode 100644 index 0000000..ec8e117 --- /dev/null +++ b/docs/API/class_init___sys___check_a3a1707f6479611fdc609a3eb8a0cef1b_cgraph.md5 @@ -0,0 +1 @@ +ae82bdf521b269ac3d2bf0f1559f1033 \ No newline at end of file diff --git a/docs/API/class_init___sys___check_a3a1707f6479611fdc609a3eb8a0cef1b_cgraph.png b/docs/API/class_init___sys___check_a3a1707f6479611fdc609a3eb8a0cef1b_cgraph.png new file mode 100644 index 0000000..8127204 Binary files /dev/null and b/docs/API/class_init___sys___check_a3a1707f6479611fdc609a3eb8a0cef1b_cgraph.png differ diff --git a/docs/API/class_init___sys___check_ac4fca95dc3b93372ce7f2078baf8e8b6_cgraph.map b/docs/API/class_init___sys___check_ac4fca95dc3b93372ce7f2078baf8e8b6_cgraph.map new file mode 100644 index 0000000..75d524a --- /dev/null +++ b/docs/API/class_init___sys___check_ac4fca95dc3b93372ce7f2078baf8e8b6_cgraph.map @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/API/class_init___sys___check_ac4fca95dc3b93372ce7f2078baf8e8b6_cgraph.md5 b/docs/API/class_init___sys___check_ac4fca95dc3b93372ce7f2078baf8e8b6_cgraph.md5 new file mode 100644 index 0000000..a16ec5b --- /dev/null +++ b/docs/API/class_init___sys___check_ac4fca95dc3b93372ce7f2078baf8e8b6_cgraph.md5 @@ -0,0 +1 @@ +c44065ae6e31839ff608b4ed47fc1cdb \ No newline at end of file diff --git a/docs/API/class_init___sys___check_ac4fca95dc3b93372ce7f2078baf8e8b6_cgraph.png b/docs/API/class_init___sys___check_ac4fca95dc3b93372ce7f2078baf8e8b6_cgraph.png new file mode 100644 index 0000000..61e958d Binary files /dev/null and b/docs/API/class_init___sys___check_ac4fca95dc3b93372ce7f2078baf8e8b6_cgraph.png differ diff --git a/docs/API/class_kernel_tests.html b/docs/API/class_kernel_tests.html new file mode 100644 index 0000000..9627e24 --- /dev/null +++ b/docs/API/class_kernel_tests.html @@ -0,0 +1,822 @@ + + + + + + + +o-du/phy: KernelTests Class Reference + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+ +
+ +

#include <common.hpp>

+
+Inheritance diagram for KernelTests:
+
+
Inheritance graph
+ + + + + + + + + + + + +
+
+Collaboration diagram for KernelTests:
+
+
Collaboration graph
+ + + +
+ + + + + + + + +

+Static Public Member Functions

static void SetUpTestCase ()
 
static void TearDownTestCase ()
 
static unsigned get_number_of_cases (const std::string &type)
 
+ + + + + +

+Static Public Attributes

static json conf
 
static std::string test_type
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Protected Member Functions

void set_division_factor (const double factor)
 Set division factor. More...
 
void set_results_units (const std::string &units)
 Set reults units. More...
 
void set_parallelization_factor (const int factor)
 Set size of processed data. More...
 
template<typename F , typename ... Args>
void performance (const std::string &isa, const std::string &module_name, F function, Args ... args)
 Run performance test case for a given function. More...
 
void print_test_description (const std::string &isa, const std::string &module_name)
 Print unique test description to the results xml file. More...
 
const std::string get_case_name ()
 Get name of the test case from JSON file. More...
 
void init_test (const std::string &type)
 Defines section in the conf.json that is used to load parameters from. More...
 
template<typename T >
get_input_parameter (const std::string &parameter_name)
 Load selected data from a JSON object. get_input_parameter loads data from parameters section of the test case in JSON file and get_reference_parameter does the same thing for references section. More...
 
template<typename T >
get_reference_parameter (const std::string &parameter_name)
 
+ + + + + + + +

+Protected Attributes

double division_factor = 1.0
 
std::string result_units = "None"
 
int parallelization_factor = 1
 
+

Detailed Description

+

Each test class has to inherit from KernelTests class as it provides GTest support and does a lot of setup (including JSON) an provides useful methods to operate on loaded JSON file. Unfortunately GTest is limited in the way that all TEST_P within the class are called for all cases/parameters, but we usually want two different data sets for functional and performance tests (or maybe other types of tests). Because of that to use different data sets we need to create separate classes, hence performance and functional test are in separate classes. it adds an extra overhead, but adds much more flexibility. init_test(...) is used to select data set from the JSON file.

+

Important note on the JSON file structure. Top JSON object can have as many section (JSON objects) as needed, but each have to have a distinct name that is used by init_test. Then each section must contain an array of objects (test cases) where each object has a name, parameters and references. Everything inside parameters and references can be completely custom as it's loaded by get_input/reference_parameter function. JSON values can be either literal values, e.g. 1, 0.001, 5e-05, etc. or filename. Depends on the get type test framework can either read the value or load data from the file - and it happens automatically (pff MAGIC!).

+ +

Definition at line 156 of file common.hpp.

+

Member Function Documentation

+ +

◆ get_case_name()

+ +
+
+ + + + + +
+ + + + + + + +
const std::string get_case_name ()
+
+inlineprotected
+
+ +

Get name of the test case from JSON file.

+
Returns
Test'ss case name or a default name if name field is missing.
+ +

Definition at line 338 of file common.hpp.

+ +
+
+ +

◆ get_input_parameter()

+ +
+
+ + + + + +
+ + + + + + + + +
T get_input_parameter (const std::string & parameter_name)
+
+inlineprotected
+
+ +

Load selected data from a JSON object. get_input_parameter loads data from parameters section of the test case in JSON file and get_reference_parameter does the same thing for references section.

+

Get parameter function uses template type to figure out how to load parameters. If type is NOT a pointer it'll load value directly from the JSON. Otherwise path to the test vector is expected and function will allocate memory, load data from the binary file to this memory location and return pointer to it. For example in here we request to load pointer to float so llrs filed is expected to be a path to the binary file.

+ +

Definition at line 290 of file common.hpp.

+
+Here is the call graph for this function:
+
+
+ + + + + + + + + + + +
+ +
+
+ +

◆ get_number_of_cases()

+ +
+
+ + + + + +
+ + + + + + + + +
static unsigned get_number_of_cases (const std::string & type)
+
+inlinestatic
+
+ +

Definition at line 190 of file common.hpp.

+
+Here is the call graph for this function:
+
+
+ + + + + +
+
+Here is the caller graph for this function:
+
+
+ + + +
+ +
+
+ +

◆ get_reference_parameter()

+ +
+
+ + + + + +
+ + + + + + + + +
T get_reference_parameter (const std::string & parameter_name)
+
+inlineprotected
+
+ +

Definition at line 312 of file common.hpp.

+
+Here is the call graph for this function:
+
+
+ + + + + + + + + + + +
+ +
+
+ +

◆ init_test()

+ +
+
+ + + + + +
+ + + + + + + + +
void init_test (const std::string & type)
+
+inlineprotected
+
+ +

Defines section in the conf.json that is used to load parameters from.

+
Parameters
+ + +
[in]typeName of the section in the JSON file.
+
+
+ +

Definition at line 358 of file common.hpp.

+
+Here is the call graph for this function:
+
+
+ + + + +
+
+Here is the caller graph for this function:
+
+
+ + + + + + + + +
+ +
+
+ +

◆ performance()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void performance (const std::string & isa,
const std::string & module_name,
function,
Args ... args 
)
+
+inlineprotected
+
+ +

Run performance test case for a given function.

+
Parameters
+ + + + + +
[in]isaUsed Instruction Set.
[in]module_namename of the tested kernel.
[in]functionfunction to be tested.
[in]argsfunction's arguments.
+
+
+ +

Definition at line 253 of file common.hpp.

+
+Here is the call graph for this function:
+
+
+ + + + + +
+
+Here is the caller graph for this function:
+
+
+ + + +
+ +
+
+ +

◆ print_test_description()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void print_test_description (const std::string & isa,
const std::string & module_name 
)
+
+inlineprotected
+
+ +

Print unique test description to the results xml file.

+
Parameters
+ + + + +
[in]isaUsed Instruction Set.
[in]module_namename of the tested kernel.
[in]functionfunction to be tested.
+
+
+ +

Definition at line 271 of file common.hpp.

+ +
+
+ +

◆ set_division_factor()

+ +
+
+ + + + + +
+ + + + + + + + +
void set_division_factor (const double factor)
+
+inlineprotected
+
+ +

Set division factor.

+
Parameters
+ + +
[in]factorDivision factor that divides mean and standard deviation.
+
+
+ +

Definition at line 222 of file common.hpp.

+ +
+
+ +

◆ set_parallelization_factor()

+ +
+
+ + + + + +
+ + + + + + + + +
void set_parallelization_factor (const int factor)
+
+inlineprotected
+
+ +

Set size of processed data.

+
Parameters
+ + +
[in]sizeSize of processed data used to calculate module throughput.
+
+
+ +

Definition at line 240 of file common.hpp.

+ +
+
+ +

◆ set_results_units()

+ +
+
+ + + + + +
+ + + + + + + + +
void set_results_units (const std::string & units)
+
+inlineprotected
+
+ +

Set reults units.

+
Parameters
+ + +
[in]unitsUnits that are displayed in the report.
+
+
+ +

Definition at line 231 of file common.hpp.

+ +
+
+ +

◆ SetUpTestCase()

+ +
+
+ + + + + +
+ + + + + + + +
static void SetUpTestCase ()
+
+inlinestatic
+
+ +

Definition at line 162 of file common.hpp.

+
+Here is the call graph for this function:
+
+
+ + + + + + +
+ +
+
+ +

◆ TearDownTestCase()

+ +
+
+ + + + + +
+ + + + + + + +
static void TearDownTestCase ()
+
+inlinestatic
+
+ +

Definition at line 185 of file common.hpp.

+ +
+
+

Field Documentation

+ +

◆ conf

+ +
+
+ + + + + +
+ + + + +
json conf
+
+static
+
+ +

Definition at line 159 of file common.hpp.

+ +
+
+ +

◆ division_factor

+ +
+
+ + + + + +
+ + + + +
double division_factor = 1.0
+
+protected
+
+ +

Definition at line 214 of file common.hpp.

+ +
+
+ +

◆ parallelization_factor

+ +
+
+ + + + + +
+ + + + +
int parallelization_factor = 1
+
+protected
+
+ +

Definition at line 216 of file common.hpp.

+ +
+
+ +

◆ result_units

+ +
+
+ + + + + +
+ + + + +
std::string result_units = "None"
+
+protected
+
+ +

Definition at line 215 of file common.hpp.

+ +
+
+ +

◆ test_type

+ +
+
+ + + + + +
+ + + + +
std::string test_type
+
+static
+
+ +

Definition at line 160 of file common.hpp.

+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/docs/API/class_kernel_tests__coll__graph.map b/docs/API/class_kernel_tests__coll__graph.map new file mode 100644 index 0000000..2e4e2a5 --- /dev/null +++ b/docs/API/class_kernel_tests__coll__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/class_kernel_tests__coll__graph.md5 b/docs/API/class_kernel_tests__coll__graph.md5 new file mode 100644 index 0000000..7795b38 --- /dev/null +++ b/docs/API/class_kernel_tests__coll__graph.md5 @@ -0,0 +1 @@ +2075e193f8065332bdb55f347dfb737f \ No newline at end of file diff --git a/docs/API/class_kernel_tests__coll__graph.png b/docs/API/class_kernel_tests__coll__graph.png new file mode 100644 index 0000000..53b1cec Binary files /dev/null and b/docs/API/class_kernel_tests__coll__graph.png differ diff --git a/docs/API/class_kernel_tests__inherit__graph.map b/docs/API/class_kernel_tests__inherit__graph.map new file mode 100644 index 0000000..6bfdf00 --- /dev/null +++ b/docs/API/class_kernel_tests__inherit__graph.map @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/docs/API/class_kernel_tests__inherit__graph.md5 b/docs/API/class_kernel_tests__inherit__graph.md5 new file mode 100644 index 0000000..b39d17e --- /dev/null +++ b/docs/API/class_kernel_tests__inherit__graph.md5 @@ -0,0 +1 @@ +7af9120d4ee2b93904b1768ff3fcfe0e \ No newline at end of file diff --git a/docs/API/class_kernel_tests__inherit__graph.png b/docs/API/class_kernel_tests__inherit__graph.png new file mode 100644 index 0000000..c2f7b56 Binary files /dev/null and b/docs/API/class_kernel_tests__inherit__graph.png differ diff --git a/docs/API/class_kernel_tests_a3cf2e25a99be565a4ab570737cfeac41_cgraph.map b/docs/API/class_kernel_tests_a3cf2e25a99be565a4ab570737cfeac41_cgraph.map new file mode 100644 index 0000000..5789799 --- /dev/null +++ b/docs/API/class_kernel_tests_a3cf2e25a99be565a4ab570737cfeac41_cgraph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/API/class_kernel_tests_a3cf2e25a99be565a4ab570737cfeac41_cgraph.md5 b/docs/API/class_kernel_tests_a3cf2e25a99be565a4ab570737cfeac41_cgraph.md5 new file mode 100644 index 0000000..e9a7f69 --- /dev/null +++ b/docs/API/class_kernel_tests_a3cf2e25a99be565a4ab570737cfeac41_cgraph.md5 @@ -0,0 +1 @@ +2386b81b97eea41f4f90dd24713ffbb0 \ No newline at end of file diff --git a/docs/API/class_kernel_tests_a3cf2e25a99be565a4ab570737cfeac41_cgraph.png b/docs/API/class_kernel_tests_a3cf2e25a99be565a4ab570737cfeac41_cgraph.png new file mode 100644 index 0000000..f82f9ac Binary files /dev/null and b/docs/API/class_kernel_tests_a3cf2e25a99be565a4ab570737cfeac41_cgraph.png differ diff --git a/docs/API/class_kernel_tests_a3cf2e25a99be565a4ab570737cfeac41_icgraph.map b/docs/API/class_kernel_tests_a3cf2e25a99be565a4ab570737cfeac41_icgraph.map new file mode 100644 index 0000000..002a55f --- /dev/null +++ b/docs/API/class_kernel_tests_a3cf2e25a99be565a4ab570737cfeac41_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/class_kernel_tests_a3cf2e25a99be565a4ab570737cfeac41_icgraph.md5 b/docs/API/class_kernel_tests_a3cf2e25a99be565a4ab570737cfeac41_icgraph.md5 new file mode 100644 index 0000000..3aaeee8 --- /dev/null +++ b/docs/API/class_kernel_tests_a3cf2e25a99be565a4ab570737cfeac41_icgraph.md5 @@ -0,0 +1 @@ +222b659c45fc6338d38c87b0816ab794 \ No newline at end of file diff --git a/docs/API/class_kernel_tests_a3cf2e25a99be565a4ab570737cfeac41_icgraph.png b/docs/API/class_kernel_tests_a3cf2e25a99be565a4ab570737cfeac41_icgraph.png new file mode 100644 index 0000000..ea3677d Binary files /dev/null and b/docs/API/class_kernel_tests_a3cf2e25a99be565a4ab570737cfeac41_icgraph.png differ diff --git a/docs/API/class_kernel_tests_a6157ff083be863bba0a7804cd1788d96_cgraph.map b/docs/API/class_kernel_tests_a6157ff083be863bba0a7804cd1788d96_cgraph.map new file mode 100644 index 0000000..696477e --- /dev/null +++ b/docs/API/class_kernel_tests_a6157ff083be863bba0a7804cd1788d96_cgraph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/API/class_kernel_tests_a6157ff083be863bba0a7804cd1788d96_cgraph.md5 b/docs/API/class_kernel_tests_a6157ff083be863bba0a7804cd1788d96_cgraph.md5 new file mode 100644 index 0000000..f21841d --- /dev/null +++ b/docs/API/class_kernel_tests_a6157ff083be863bba0a7804cd1788d96_cgraph.md5 @@ -0,0 +1 @@ +5c3637e47061687b6b2437117eb6d011 \ No newline at end of file diff --git a/docs/API/class_kernel_tests_a6157ff083be863bba0a7804cd1788d96_cgraph.png b/docs/API/class_kernel_tests_a6157ff083be863bba0a7804cd1788d96_cgraph.png new file mode 100644 index 0000000..5ae29fd Binary files /dev/null and b/docs/API/class_kernel_tests_a6157ff083be863bba0a7804cd1788d96_cgraph.png differ diff --git a/docs/API/class_kernel_tests_a6157ff083be863bba0a7804cd1788d96_icgraph.map b/docs/API/class_kernel_tests_a6157ff083be863bba0a7804cd1788d96_icgraph.map new file mode 100644 index 0000000..3993b5b --- /dev/null +++ b/docs/API/class_kernel_tests_a6157ff083be863bba0a7804cd1788d96_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/class_kernel_tests_a6157ff083be863bba0a7804cd1788d96_icgraph.md5 b/docs/API/class_kernel_tests_a6157ff083be863bba0a7804cd1788d96_icgraph.md5 new file mode 100644 index 0000000..0bf5b4f --- /dev/null +++ b/docs/API/class_kernel_tests_a6157ff083be863bba0a7804cd1788d96_icgraph.md5 @@ -0,0 +1 @@ +32326d61e3fe4967c621611a9b5dd4ae \ No newline at end of file diff --git a/docs/API/class_kernel_tests_a6157ff083be863bba0a7804cd1788d96_icgraph.png b/docs/API/class_kernel_tests_a6157ff083be863bba0a7804cd1788d96_icgraph.png new file mode 100644 index 0000000..0286f39 Binary files /dev/null and b/docs/API/class_kernel_tests_a6157ff083be863bba0a7804cd1788d96_icgraph.png differ diff --git a/docs/API/class_kernel_tests_a6dc1bccfd02f1a94b5c799c15cd98135_cgraph.map b/docs/API/class_kernel_tests_a6dc1bccfd02f1a94b5c799c15cd98135_cgraph.map new file mode 100644 index 0000000..404a260 --- /dev/null +++ b/docs/API/class_kernel_tests_a6dc1bccfd02f1a94b5c799c15cd98135_cgraph.map @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/docs/API/class_kernel_tests_a6dc1bccfd02f1a94b5c799c15cd98135_cgraph.md5 b/docs/API/class_kernel_tests_a6dc1bccfd02f1a94b5c799c15cd98135_cgraph.md5 new file mode 100644 index 0000000..074624d --- /dev/null +++ b/docs/API/class_kernel_tests_a6dc1bccfd02f1a94b5c799c15cd98135_cgraph.md5 @@ -0,0 +1 @@ +5e7ffdafa3252a2e38d22f584a24177d \ No newline at end of file diff --git a/docs/API/class_kernel_tests_a6dc1bccfd02f1a94b5c799c15cd98135_cgraph.png b/docs/API/class_kernel_tests_a6dc1bccfd02f1a94b5c799c15cd98135_cgraph.png new file mode 100644 index 0000000..ceef74a Binary files /dev/null and b/docs/API/class_kernel_tests_a6dc1bccfd02f1a94b5c799c15cd98135_cgraph.png differ diff --git a/docs/API/class_kernel_tests_aad8181b222f27240e9f07dcb6e620fa3_cgraph.map b/docs/API/class_kernel_tests_aad8181b222f27240e9f07dcb6e620fa3_cgraph.map new file mode 100644 index 0000000..7c6d3b0 --- /dev/null +++ b/docs/API/class_kernel_tests_aad8181b222f27240e9f07dcb6e620fa3_cgraph.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/API/class_kernel_tests_aad8181b222f27240e9f07dcb6e620fa3_cgraph.md5 b/docs/API/class_kernel_tests_aad8181b222f27240e9f07dcb6e620fa3_cgraph.md5 new file mode 100644 index 0000000..b9d67ba --- /dev/null +++ b/docs/API/class_kernel_tests_aad8181b222f27240e9f07dcb6e620fa3_cgraph.md5 @@ -0,0 +1 @@ +466e8e2e49fd9000f16915bef91efd05 \ No newline at end of file diff --git a/docs/API/class_kernel_tests_aad8181b222f27240e9f07dcb6e620fa3_cgraph.png b/docs/API/class_kernel_tests_aad8181b222f27240e9f07dcb6e620fa3_cgraph.png new file mode 100644 index 0000000..c1ece56 Binary files /dev/null and b/docs/API/class_kernel_tests_aad8181b222f27240e9f07dcb6e620fa3_cgraph.png differ diff --git a/docs/API/class_kernel_tests_abf28e5ea54fab2b0685972fe6e75560a_cgraph.map b/docs/API/class_kernel_tests_abf28e5ea54fab2b0685972fe6e75560a_cgraph.map new file mode 100644 index 0000000..3c495dd --- /dev/null +++ b/docs/API/class_kernel_tests_abf28e5ea54fab2b0685972fe6e75560a_cgraph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/class_kernel_tests_abf28e5ea54fab2b0685972fe6e75560a_cgraph.md5 b/docs/API/class_kernel_tests_abf28e5ea54fab2b0685972fe6e75560a_cgraph.md5 new file mode 100644 index 0000000..fe5047b --- /dev/null +++ b/docs/API/class_kernel_tests_abf28e5ea54fab2b0685972fe6e75560a_cgraph.md5 @@ -0,0 +1 @@ +68f01724504530ba272e96a3d70097dc \ No newline at end of file diff --git a/docs/API/class_kernel_tests_abf28e5ea54fab2b0685972fe6e75560a_cgraph.png b/docs/API/class_kernel_tests_abf28e5ea54fab2b0685972fe6e75560a_cgraph.png new file mode 100644 index 0000000..e13c381 Binary files /dev/null and b/docs/API/class_kernel_tests_abf28e5ea54fab2b0685972fe6e75560a_cgraph.png differ diff --git a/docs/API/class_kernel_tests_abf28e5ea54fab2b0685972fe6e75560a_icgraph.map b/docs/API/class_kernel_tests_abf28e5ea54fab2b0685972fe6e75560a_icgraph.map new file mode 100644 index 0000000..a67f342 --- /dev/null +++ b/docs/API/class_kernel_tests_abf28e5ea54fab2b0685972fe6e75560a_icgraph.map @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/API/class_kernel_tests_abf28e5ea54fab2b0685972fe6e75560a_icgraph.md5 b/docs/API/class_kernel_tests_abf28e5ea54fab2b0685972fe6e75560a_icgraph.md5 new file mode 100644 index 0000000..9cb78d0 --- /dev/null +++ b/docs/API/class_kernel_tests_abf28e5ea54fab2b0685972fe6e75560a_icgraph.md5 @@ -0,0 +1 @@ +71f6b24140eb06a91073defbcda309f3 \ No newline at end of file diff --git a/docs/API/class_kernel_tests_abf28e5ea54fab2b0685972fe6e75560a_icgraph.png b/docs/API/class_kernel_tests_abf28e5ea54fab2b0685972fe6e75560a_icgraph.png new file mode 100644 index 0000000..eb81b71 Binary files /dev/null and b/docs/API/class_kernel_tests_abf28e5ea54fab2b0685972fe6e75560a_icgraph.png differ diff --git a/docs/API/class_kernel_tests_adfbe724335d86320c9839c426c4d5715_cgraph.map b/docs/API/class_kernel_tests_adfbe724335d86320c9839c426c4d5715_cgraph.map new file mode 100644 index 0000000..13bce24 --- /dev/null +++ b/docs/API/class_kernel_tests_adfbe724335d86320c9839c426c4d5715_cgraph.map @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/docs/API/class_kernel_tests_adfbe724335d86320c9839c426c4d5715_cgraph.md5 b/docs/API/class_kernel_tests_adfbe724335d86320c9839c426c4d5715_cgraph.md5 new file mode 100644 index 0000000..01c50a7 --- /dev/null +++ b/docs/API/class_kernel_tests_adfbe724335d86320c9839c426c4d5715_cgraph.md5 @@ -0,0 +1 @@ +e154ec2fd6e3538b741c9407d878e22f \ No newline at end of file diff --git a/docs/API/class_kernel_tests_adfbe724335d86320c9839c426c4d5715_cgraph.png b/docs/API/class_kernel_tests_adfbe724335d86320c9839c426c4d5715_cgraph.png new file mode 100644 index 0000000..e53df1a Binary files /dev/null and b/docs/API/class_kernel_tests_adfbe724335d86320c9839c426c4d5715_cgraph.png differ diff --git a/docs/API/class_prach_check.html b/docs/API/class_prach_check.html new file mode 100644 index 0000000..1f54fac --- /dev/null +++ b/docs/API/class_prach_check.html @@ -0,0 +1,2178 @@ + + + + + + + +o-du/phy: PrachCheck Class Reference + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+ +
+
+Inheritance diagram for PrachCheck:
+
+
Inheritance graph
+ + + +
+
+Collaboration diagram for PrachCheck:
+
+
Collaboration graph
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + +

+Static Public Member Functions

static void SetUpTestCase ()
 
static void TearDownTestCase ()
 
static unsigned get_number_of_cases (const std::string &type)
 
+ + + + + +

+Static Public Attributes

static json conf
 
static std::string test_type
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Protected Member Functions

void SetUp () override
 
void TearDown () override
 
void set_division_factor (const double factor)
 Set division factor. More...
 
void set_results_units (const std::string &units)
 Set reults units. More...
 
void set_parallelization_factor (const int factor)
 Set size of processed data. More...
 
template<typename F , typename ... Args>
void performance (const std::string &isa, const std::string &module_name, F function, Args ... args)
 Run performance test case for a given function. More...
 
void print_test_description (const std::string &isa, const std::string &module_name)
 Print unique test description to the results xml file. More...
 
const std::string get_case_name ()
 Get name of the test case from JSON file. More...
 
void init_test (const std::string &type)
 Defines section in the conf.json that is used to load parameters from. More...
 
template<typename T >
get_input_parameter (const std::string &parameter_name)
 Load selected data from a JSON object. get_input_parameter loads data from parameters section of the test case in JSON file and get_reference_parameter does the same thing for references section. More...
 
template<typename T >
get_reference_parameter (const std::string &parameter_name)
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Protected Attributes

struct xran_fh_configm_xranConf
 
struct xran_device_ctx m_xran_dev_ctx
 
struct xran_prach_configm_pPRACHConfig
 
struct xran_ru_configm_pRUConfig
 
struct xran_prach_cp_configm_pPrachCPConfig
 
struct xran_section_gen_infom_pSectGenInfo = NULL
 
int m_maxSections = 8
 
int lastsymbol
 
struct rte_mbuf * m_pTestBuffer
 
struct xran_cp_gen_params m_params
 
struct xran_recv_packet_info m_pktInfo
 
struct xran_cp_gen_params m_result
 
uint8_t m_dir
 
std::string m_dirStr
 
uint8_t m_sectionType
 
uint8_t m_ccId
 
uint8_t m_antId
 
uint8_t m_seqId
 
uint8_t m_frameId
 
uint8_t m_subframeId
 
uint8_t m_slotId
 
uint8_t m_symStart
 
uint8_t m_symNum
 
uint16_t * m_prbStart = NULL
 
uint16_t * m_prbNum = NULL
 
uint8_t m_iqWidth
 
uint8_t m_compMethod
 
uint16_t m_beamId
 
uint16_t m_reMask = 0xfff
 
uint16_t m_sectionId
 
uint8_t m_filterIndex
 
uint8_t m_fftSize
 
uint8_t m_startSymId
 
uint8_t m_x
 
uint8_t m_filterIdx
 
uint16_t m_startPrbc
 
uint8_t m_numPrbc
 
uint8_t m_numSymbol
 
uint16_t m_timeOffset
 
int32_t m_freqOffset
 
uint8_t m_nrofPrachInSlot
 
uint8_t m_occassionsInPrachSlot
 
uint8_t m_y [XRAN_PRACH_CANDIDATE_Y]
 
uint8_t m_isPRACHslot [XRAN_PRACH_CANDIDATE_SLOT]
 
int m_prach_start_symbol
 
int m_prach_last_symbol
 
uint8_t m_SlotNrNum
 
uint16_t m_m_params_timeOffset
 
uint16_t m_id
 
double division_factor = 1.0
 
std::string result_units = "None"
 
int parallelization_factor = 1
 
+

Detailed Description

+
+

Definition at line 33 of file prach_functional.cc.

+

Member Function Documentation

+ +

◆ get_case_name()

+ +
+
+ + + + + +
+ + + + + + + +
const std::string get_case_name ()
+
+inlineprotectedinherited
+
+ +

Get name of the test case from JSON file.

+
Returns
Test'ss case name or a default name if name field is missing.
+ +

Definition at line 338 of file common.hpp.

+ +
+
+ +

◆ get_input_parameter()

+ +
+
+ + + + + +
+ + + + + + + + +
T get_input_parameter (const std::string & parameter_name)
+
+inlineprotectedinherited
+
+ +

Load selected data from a JSON object. get_input_parameter loads data from parameters section of the test case in JSON file and get_reference_parameter does the same thing for references section.

+

Get parameter function uses template type to figure out how to load parameters. If type is NOT a pointer it'll load value directly from the JSON. Otherwise path to the test vector is expected and function will allocate memory, load data from the binary file to this memory location and return pointer to it. For example in here we request to load pointer to float so llrs filed is expected to be a path to the binary file.

+ +

Definition at line 290 of file common.hpp.

+
+Here is the call graph for this function:
+
+
+ + + + + + + + + + + +
+ +
+
+ +

◆ get_number_of_cases()

+ +
+
+ + + + + +
+ + + + + + + + +
static unsigned get_number_of_cases (const std::string & type)
+
+inlinestaticinherited
+
+ +

Definition at line 190 of file common.hpp.

+
+Here is the call graph for this function:
+
+
+ + + + + +
+
+Here is the caller graph for this function:
+
+
+ + + +
+ +
+
+ +

◆ get_reference_parameter()

+ +
+
+ + + + + +
+ + + + + + + + +
T get_reference_parameter (const std::string & parameter_name)
+
+inlineprotectedinherited
+
+ +

Definition at line 312 of file common.hpp.

+
+Here is the call graph for this function:
+
+
+ + + + + + + + + + + +
+ +
+
+ +

◆ init_test()

+ +
+
+ + + + + +
+ + + + + + + + +
void init_test (const std::string & type)
+
+inlineprotectedinherited
+
+ +

Defines section in the conf.json that is used to load parameters from.

+
Parameters
+ + +
[in]typeName of the section in the JSON file.
+
+
+ +

Definition at line 358 of file common.hpp.

+
+Here is the call graph for this function:
+
+
+ + + + +
+
+Here is the caller graph for this function:
+
+
+ + + + + + + + +
+ +
+
+ +

◆ performance()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void performance (const std::string & isa,
const std::string & module_name,
function,
Args ... args 
)
+
+inlineprotectedinherited
+
+ +

Run performance test case for a given function.

+
Parameters
+ + + + + +
[in]isaUsed Instruction Set.
[in]module_namename of the tested kernel.
[in]functionfunction to be tested.
[in]argsfunction's arguments.
+
+
+ +

Definition at line 253 of file common.hpp.

+
+Here is the call graph for this function:
+
+
+ + + + + +
+
+Here is the caller graph for this function:
+
+
+ + + +
+ +
+
+ +

◆ print_test_description()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void print_test_description (const std::string & isa,
const std::string & module_name 
)
+
+inlineprotectedinherited
+
+ +

Print unique test description to the results xml file.

+
Parameters
+ + + + +
[in]isaUsed Instruction Set.
[in]module_namename of the tested kernel.
[in]functionfunction to be tested.
+
+
+ +

Definition at line 271 of file common.hpp.

+ +
+
+ +

◆ set_division_factor()

+ +
+
+ + + + + +
+ + + + + + + + +
void set_division_factor (const double factor)
+
+inlineprotectedinherited
+
+ +

Set division factor.

+
Parameters
+ + +
[in]factorDivision factor that divides mean and standard deviation.
+
+
+ +

Definition at line 222 of file common.hpp.

+ +
+
+ +

◆ set_parallelization_factor()

+ +
+
+ + + + + +
+ + + + + + + + +
void set_parallelization_factor (const int factor)
+
+inlineprotectedinherited
+
+ +

Set size of processed data.

+
Parameters
+ + +
[in]sizeSize of processed data used to calculate module throughput.
+
+
+ +

Definition at line 240 of file common.hpp.

+ +
+
+ +

◆ set_results_units()

+ +
+
+ + + + + +
+ + + + + + + + +
void set_results_units (const std::string & units)
+
+inlineprotectedinherited
+
+ +

Set reults units.

+
Parameters
+ + +
[in]unitsUnits that are displayed in the report.
+
+
+ +

Definition at line 231 of file common.hpp.

+ +
+
+ +

◆ SetUp()

+ +
+
+ + + + + +
+ + + + + + + +
void SetUp ()
+
+inlineoverrideprotected
+
+ +

Definition at line 92 of file prach_functional.cc.

+
+Here is the call graph for this function:
+
+
+ + + + + +
+ +
+
+ +

◆ SetUpTestCase()

+ +
+
+ + + + + +
+ + + + + + + +
static void SetUpTestCase ()
+
+inlinestaticinherited
+
+ +

Definition at line 162 of file common.hpp.

+
+Here is the call graph for this function:
+
+
+ + + + + + +
+ +
+
+ +

◆ TearDown()

+ +
+
+ + + + + +
+ + + + + + + +
void TearDown ()
+
+inlineoverrideprotected
+
+ +

Definition at line 166 of file prach_functional.cc.

+ +
+
+ +

◆ TearDownTestCase()

+ +
+
+ + + + + +
+ + + + + + + +
static void TearDownTestCase ()
+
+inlinestaticinherited
+
+ +

Definition at line 185 of file common.hpp.

+ +
+
+

Field Documentation

+ +

◆ conf

+ +
+
+ + + + + +
+ + + + +
json conf
+
+staticinherited
+
+ +

Definition at line 159 of file common.hpp.

+ +
+
+ +

◆ division_factor

+ +
+
+ + + + + +
+ + + + +
double division_factor = 1.0
+
+protectedinherited
+
+ +

Definition at line 214 of file common.hpp.

+ +
+
+ +

◆ lastsymbol

+ +
+
+ + + + + +
+ + + + +
int lastsymbol
+
+protected
+
+ +

Definition at line 47 of file prach_functional.cc.

+ +
+
+ +

◆ m_antId

+ +
+
+ + + + + +
+ + + + +
uint8_t m_antId
+
+protected
+
+ +

Definition at line 59 of file prach_functional.cc.

+ +
+
+ +

◆ m_beamId

+ +
+
+ + + + + +
+ + + + +
uint16_t m_beamId
+
+protected
+
+ +

Definition at line 66 of file prach_functional.cc.

+ +
+
+ +

◆ m_ccId

+ +
+
+ + + + + +
+ + + + +
uint8_t m_ccId
+
+protected
+
+ +

Definition at line 59 of file prach_functional.cc.

+ +
+
+ +

◆ m_compMethod

+ +
+
+ + + + + +
+ + + + +
uint8_t m_compMethod
+
+protected
+
+ +

Definition at line 65 of file prach_functional.cc.

+ +
+
+ +

◆ m_dir

+ +
+
+ + + + + +
+ + + + +
uint8_t m_dir
+
+protected
+
+ +

Definition at line 55 of file prach_functional.cc.

+ +
+
+ +

◆ m_dirStr

+ +
+
+ + + + + +
+ + + + +
std::string m_dirStr
+
+protected
+
+ +

Definition at line 56 of file prach_functional.cc.

+ +
+
+ +

◆ m_fftSize

+ +
+
+ + + + + +
+ + + + +
uint8_t m_fftSize
+
+protected
+
+ +

Definition at line 71 of file prach_functional.cc.

+ +
+
+ +

◆ m_filterIdx

+ +
+
+ + + + + +
+ + + + +
uint8_t m_filterIdx
+
+protected
+
+ +

Definition at line 76 of file prach_functional.cc.

+ +
+
+ +

◆ m_filterIndex

+ +
+
+ + + + + +
+ + + + +
uint8_t m_filterIndex
+
+protected
+
+ +

Definition at line 69 of file prach_functional.cc.

+ +
+
+ +

◆ m_frameId

+ +
+
+ + + + + +
+ + + + +
uint8_t m_frameId
+
+protected
+
+ +

Definition at line 61 of file prach_functional.cc.

+ +
+
+ +

◆ m_freqOffset

+ +
+
+ + + + + +
+ + + + +
int32_t m_freqOffset
+
+protected
+
+ +

Definition at line 81 of file prach_functional.cc.

+ +
+
+ +

◆ m_id

+ +
+
+ + + + + +
+ + + + +
uint16_t m_id
+
+protected
+
+ +

Definition at line 90 of file prach_functional.cc.

+ +
+
+ +

◆ m_iqWidth

+ +
+
+ + + + + +
+ + + + +
uint8_t m_iqWidth
+
+protected
+
+ +

Definition at line 65 of file prach_functional.cc.

+ +
+
+ +

◆ m_isPRACHslot

+ +
+
+ + + + + +
+ + + + +
uint8_t m_isPRACHslot[XRAN_PRACH_CANDIDATE_SLOT]
+
+protected
+
+ +

Definition at line 85 of file prach_functional.cc.

+ +
+
+ +

◆ m_m_params_timeOffset

+ +
+
+ + + + + +
+ + + + +
uint16_t m_m_params_timeOffset
+
+protected
+
+ +

Definition at line 89 of file prach_functional.cc.

+ +
+
+ +

◆ m_maxSections

+ +
+
+ + + + + +
+ + + + +
int m_maxSections = 8
+
+protected
+
+ +

Definition at line 46 of file prach_functional.cc.

+ +
+
+ +

◆ m_nrofPrachInSlot

+ +
+
+ + + + + +
+ + + + +
uint8_t m_nrofPrachInSlot
+
+protected
+
+ +

Definition at line 82 of file prach_functional.cc.

+ +
+
+ +

◆ m_numPrbc

+ +
+
+ + + + + +
+ + + + +
uint8_t m_numPrbc
+
+protected
+
+ +

Definition at line 78 of file prach_functional.cc.

+ +
+
+ +

◆ m_numSymbol

+ +
+
+ + + + + +
+ + + + +
uint8_t m_numSymbol
+
+protected
+
+ +

Definition at line 79 of file prach_functional.cc.

+ +
+
+ +

◆ m_occassionsInPrachSlot

+ +
+
+ + + + + +
+ + + + +
uint8_t m_occassionsInPrachSlot
+
+protected
+
+ +

Definition at line 83 of file prach_functional.cc.

+ +
+
+ +

◆ m_params

+ +
+
+ + + + + +
+ + + + +
struct xran_cp_gen_params m_params
+
+protected
+
+ +

Definition at line 51 of file prach_functional.cc.

+ +
+
+ +

◆ m_pktInfo

+ +
+
+ + + + + +
+ + + + +
struct xran_recv_packet_info m_pktInfo
+
+protected
+
+ +

Definition at line 52 of file prach_functional.cc.

+ +
+
+ +

◆ m_pPRACHConfig

+ +
+
+ + + + + +
+ + + + +
struct xran_prach_config* m_pPRACHConfig
+
+protected
+
+ +

Definition at line 41 of file prach_functional.cc.

+ +
+
+ +

◆ m_pPrachCPConfig

+ +
+
+ + + + + +
+ + + + +
struct xran_prach_cp_config* m_pPrachCPConfig
+
+protected
+
+ +

Definition at line 43 of file prach_functional.cc.

+ +
+
+ +

◆ m_prach_last_symbol

+ +
+
+ + + + + +
+ + + + +
int m_prach_last_symbol
+
+protected
+
+ +

Definition at line 87 of file prach_functional.cc.

+ +
+
+ +

◆ m_prach_start_symbol

+ +
+
+ + + + + +
+ + + + +
int m_prach_start_symbol
+
+protected
+
+ +

Definition at line 86 of file prach_functional.cc.

+ +
+
+ +

◆ m_prbNum

+ +
+
+ + + + + +
+ + + + +
uint16_t * m_prbNum = NULL
+
+protected
+
+ +

Definition at line 63 of file prach_functional.cc.

+ +
+
+ +

◆ m_prbStart

+ +
+
+ + + + + +
+ + + + +
uint16_t* m_prbStart = NULL
+
+protected
+
+ +

Definition at line 63 of file prach_functional.cc.

+ +
+
+ +

◆ m_pRUConfig

+ +
+
+ + + + + +
+ + + + +
struct xran_ru_config* m_pRUConfig
+
+protected
+
+ +

Definition at line 42 of file prach_functional.cc.

+ +
+
+ +

◆ m_pSectGenInfo

+ +
+
+ + + + + +
+ + + + +
struct xran_section_gen_info* m_pSectGenInfo = NULL
+
+protected
+
+ +

Definition at line 45 of file prach_functional.cc.

+ +
+
+ +

◆ m_pTestBuffer

+ +
+
+ + + + + +
+ + + + +
struct rte_mbuf* m_pTestBuffer
+
+protected
+
+ +

Definition at line 49 of file prach_functional.cc.

+ +
+
+ +

◆ m_reMask

+ +
+
+ + + + + +
+ + + + +
uint16_t m_reMask = 0xfff
+
+protected
+
+ +

Definition at line 67 of file prach_functional.cc.

+ +
+
+ +

◆ m_result

+ +
+
+ + + + + +
+ + + + +
struct xran_cp_gen_params m_result
+
+protected
+
+ +

Definition at line 53 of file prach_functional.cc.

+ +
+
+ +

◆ m_sectionId

+ +
+
+ + + + + +
+ + + + +
uint16_t m_sectionId
+
+protected
+
+ +

Definition at line 68 of file prach_functional.cc.

+ +
+
+ +

◆ m_sectionType

+ +
+
+ + + + + +
+ + + + +
uint8_t m_sectionType
+
+protected
+
+ +

Definition at line 57 of file prach_functional.cc.

+ +
+
+ +

◆ m_seqId

+ +
+
+ + + + + +
+ + + + +
uint8_t m_seqId
+
+protected
+
+ +

Definition at line 60 of file prach_functional.cc.

+ +
+
+ +

◆ m_slotId

+ +
+
+ + + + + +
+ + + + +
uint8_t m_slotId
+
+protected
+
+ +

Definition at line 61 of file prach_functional.cc.

+ +
+
+ +

◆ m_SlotNrNum

+ +
+
+ + + + + +
+ + + + +
uint8_t m_SlotNrNum
+
+protected
+
+ +

Definition at line 88 of file prach_functional.cc.

+ +
+
+ +

◆ m_startPrbc

+ +
+
+ + + + + +
+ + + + +
uint16_t m_startPrbc
+
+protected
+
+ +

Definition at line 77 of file prach_functional.cc.

+ +
+
+ +

◆ m_startSymId

+ +
+
+ + + + + +
+ + + + +
uint8_t m_startSymId
+
+protected
+
+ +

Definition at line 74 of file prach_functional.cc.

+ +
+
+ +

◆ m_subframeId

+ +
+
+ + + + + +
+ + + + +
uint8_t m_subframeId
+
+protected
+
+ +

Definition at line 61 of file prach_functional.cc.

+ +
+
+ +

◆ m_symNum

+ +
+
+ + + + + +
+ + + + +
uint8_t m_symNum
+
+protected
+
+ +

Definition at line 62 of file prach_functional.cc.

+ +
+
+ +

◆ m_symStart

+ +
+
+ + + + + +
+ + + + +
uint8_t m_symStart
+
+protected
+
+ +

Definition at line 62 of file prach_functional.cc.

+ +
+
+ +

◆ m_timeOffset

+ +
+
+ + + + + +
+ + + + +
uint16_t m_timeOffset
+
+protected
+
+ +

Definition at line 80 of file prach_functional.cc.

+ +
+
+ +

◆ m_x

+ +
+
+ + + + + +
+ + + + +
uint8_t m_x
+
+protected
+
+ +

Definition at line 75 of file prach_functional.cc.

+ +
+
+ +

◆ m_xran_dev_ctx

+ +
+
+ + + + + +
+ + + + +
struct xran_device_ctx m_xran_dev_ctx
+
+protected
+
+ +

Definition at line 40 of file prach_functional.cc.

+ +
+
+ +

◆ m_xranConf

+ +
+
+ + + + + +
+ + + + +
struct xran_fh_config* m_xranConf
+
+protected
+
+ +

Definition at line 39 of file prach_functional.cc.

+ +
+
+ +

◆ m_y

+ +
+
+ + + + + +
+ + + + +
uint8_t m_y[XRAN_PRACH_CANDIDATE_Y]
+
+protected
+
+ +

Definition at line 84 of file prach_functional.cc.

+ +
+
+ +

◆ parallelization_factor

+ +
+
+ + + + + +
+ + + + +
int parallelization_factor = 1
+
+protectedinherited
+
+ +

Definition at line 216 of file common.hpp.

+ +
+
+ +

◆ result_units

+ +
+
+ + + + + +
+ + + + +
std::string result_units = "None"
+
+protectedinherited
+
+ +

Definition at line 215 of file common.hpp.

+ +
+
+ +

◆ test_type

+ +
+
+ + + + + +
+ + + + +
std::string test_type
+
+staticinherited
+
+ +

Definition at line 160 of file common.hpp.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/docs/API/class_prach_check__coll__graph.map b/docs/API/class_prach_check__coll__graph.map new file mode 100644 index 0000000..bfff6af --- /dev/null +++ b/docs/API/class_prach_check__coll__graph.map @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/API/class_prach_check__coll__graph.md5 b/docs/API/class_prach_check__coll__graph.md5 new file mode 100644 index 0000000..630deab --- /dev/null +++ b/docs/API/class_prach_check__coll__graph.md5 @@ -0,0 +1 @@ +33cca750db9ffec291c583f36bb3a2ee \ No newline at end of file diff --git a/docs/API/class_prach_check__coll__graph.png b/docs/API/class_prach_check__coll__graph.png new file mode 100644 index 0000000..2202800 Binary files /dev/null and b/docs/API/class_prach_check__coll__graph.png differ diff --git a/docs/API/class_prach_check__inherit__graph.map b/docs/API/class_prach_check__inherit__graph.map new file mode 100644 index 0000000..8d1ebd8 --- /dev/null +++ b/docs/API/class_prach_check__inherit__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/class_prach_check__inherit__graph.md5 b/docs/API/class_prach_check__inherit__graph.md5 new file mode 100644 index 0000000..ec5ded6 --- /dev/null +++ b/docs/API/class_prach_check__inherit__graph.md5 @@ -0,0 +1 @@ +49a4f9800023c986b8600e9d015a92ee \ No newline at end of file diff --git a/docs/API/class_prach_check__inherit__graph.png b/docs/API/class_prach_check__inherit__graph.png new file mode 100644 index 0000000..4f18884 Binary files /dev/null and b/docs/API/class_prach_check__inherit__graph.png differ diff --git a/docs/API/class_prach_check_a3a1707f6479611fdc609a3eb8a0cef1b_cgraph.map b/docs/API/class_prach_check_a3a1707f6479611fdc609a3eb8a0cef1b_cgraph.map new file mode 100644 index 0000000..20fe57a --- /dev/null +++ b/docs/API/class_prach_check_a3a1707f6479611fdc609a3eb8a0cef1b_cgraph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/API/class_prach_check_a3a1707f6479611fdc609a3eb8a0cef1b_cgraph.md5 b/docs/API/class_prach_check_a3a1707f6479611fdc609a3eb8a0cef1b_cgraph.md5 new file mode 100644 index 0000000..559f9da --- /dev/null +++ b/docs/API/class_prach_check_a3a1707f6479611fdc609a3eb8a0cef1b_cgraph.md5 @@ -0,0 +1 @@ +6e0819fec1b4fcfb7980e266eb43f61c \ No newline at end of file diff --git a/docs/API/class_prach_check_a3a1707f6479611fdc609a3eb8a0cef1b_cgraph.png b/docs/API/class_prach_check_a3a1707f6479611fdc609a3eb8a0cef1b_cgraph.png new file mode 100644 index 0000000..748d5ff Binary files /dev/null and b/docs/API/class_prach_check_a3a1707f6479611fdc609a3eb8a0cef1b_cgraph.png differ diff --git a/docs/API/class_prach_perf.html b/docs/API/class_prach_perf.html new file mode 100644 index 0000000..1cdcf85 --- /dev/null +++ b/docs/API/class_prach_perf.html @@ -0,0 +1,2100 @@ + + + + + + + +o-du/phy: PrachPerf Class Reference + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+ +
+
+Inheritance diagram for PrachPerf:
+
+
Inheritance graph
+ + + +
+
+Collaboration diagram for PrachPerf:
+
+
Collaboration graph
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + +

+Static Public Member Functions

static void SetUpTestCase ()
 
static void TearDownTestCase ()
 
static unsigned get_number_of_cases (const std::string &type)
 
+ + + + + +

+Static Public Attributes

static json conf
 
static std::string test_type
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Protected Member Functions

void SetUp () override
 
void TearDown () override
 
void set_division_factor (const double factor)
 Set division factor. More...
 
void set_results_units (const std::string &units)
 Set reults units. More...
 
void set_parallelization_factor (const int factor)
 Set size of processed data. More...
 
template<typename F , typename ... Args>
void performance (const std::string &isa, const std::string &module_name, F function, Args ... args)
 Run performance test case for a given function. More...
 
void print_test_description (const std::string &isa, const std::string &module_name)
 Print unique test description to the results xml file. More...
 
const std::string get_case_name ()
 Get name of the test case from JSON file. More...
 
void init_test (const std::string &type)
 Defines section in the conf.json that is used to load parameters from. More...
 
template<typename T >
get_input_parameter (const std::string &parameter_name)
 Load selected data from a JSON object. get_input_parameter loads data from parameters section of the test case in JSON file and get_reference_parameter does the same thing for references section. More...
 
template<typename T >
get_reference_parameter (const std::string &parameter_name)
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Protected Attributes

struct xran_fh_config m_xranConf
 
struct xran_device_ctx m_xran_dev_ctx
 
struct xran_prach_configm_pPRACHConfig
 
struct xran_prach_cp_configm_pPrachCPConfig
 
struct xran_section_gen_infom_pSectGenInfo = NULL
 
int m_maxSections = 8
 
int lastsymbol
 
struct rte_mbuf * m_pTestBuffer
 
struct xran_cp_gen_params m_params
 
struct xran_recv_packet_info m_pktInfo
 
struct xran_cp_gen_params m_result
 
uint8_t m_dir
 
std::string m_dirStr
 
uint8_t m_sectionType
 
uint8_t m_ccId
 
uint8_t m_antId
 
uint8_t m_seqId
 
uint8_t m_frameId
 
uint8_t m_subframeId
 
uint8_t m_slotId
 
uint8_t m_symStart
 
uint8_t m_symNum
 
uint16_t * m_prbStart = NULL
 
uint16_t * m_prbNum = NULL
 
uint8_t m_iqWidth
 
uint8_t m_compMethod
 
uint16_t m_beamId
 
uint16_t m_reMask = 0xfff
 
uint16_t m_sectionId
 
uint8_t m_filterIndex
 
uint8_t m_fftSize
 
uint8_t m_startSymId
 
uint8_t m_x
 
uint8_t m_filterIdx
 
uint16_t m_startPrbc
 
uint8_t m_numPrbc
 
uint8_t m_numSymbol
 
uint16_t m_timeOffset
 
int32_t m_freqOffset
 
uint8_t m_nrofPrachInSlot
 
uint8_t m_occassionsInPrachSlot
 
uint8_t m_y [XRAN_PRACH_CANDIDATE_Y]
 
uint8_t m_isPRACHslot [XRAN_PRACH_CANDIDATE_SLOT]
 
int m_prach_start_symbol
 
int m_prach_last_symbol
 
uint8_t m_SlotNrNum
 
double division_factor = 1.0
 
std::string result_units = "None"
 
int parallelization_factor = 1
 
+

Detailed Description

+
+

Definition at line 33 of file prach_performance.cc.

+

Member Function Documentation

+ +

◆ get_case_name()

+ +
+
+ + + + + +
+ + + + + + + +
const std::string get_case_name ()
+
+inlineprotectedinherited
+
+ +

Get name of the test case from JSON file.

+
Returns
Test'ss case name or a default name if name field is missing.
+ +

Definition at line 338 of file common.hpp.

+ +
+
+ +

◆ get_input_parameter()

+ +
+
+ + + + + +
+ + + + + + + + +
T get_input_parameter (const std::string & parameter_name)
+
+inlineprotectedinherited
+
+ +

Load selected data from a JSON object. get_input_parameter loads data from parameters section of the test case in JSON file and get_reference_parameter does the same thing for references section.

+

Get parameter function uses template type to figure out how to load parameters. If type is NOT a pointer it'll load value directly from the JSON. Otherwise path to the test vector is expected and function will allocate memory, load data from the binary file to this memory location and return pointer to it. For example in here we request to load pointer to float so llrs filed is expected to be a path to the binary file.

+ +

Definition at line 290 of file common.hpp.

+
+Here is the call graph for this function:
+
+
+ + + + + + + + + + + +
+ +
+
+ +

◆ get_number_of_cases()

+ +
+
+ + + + + +
+ + + + + + + + +
static unsigned get_number_of_cases (const std::string & type)
+
+inlinestaticinherited
+
+ +

Definition at line 190 of file common.hpp.

+
+Here is the call graph for this function:
+
+
+ + + + + +
+
+Here is the caller graph for this function:
+
+
+ + + +
+ +
+
+ +

◆ get_reference_parameter()

+ +
+
+ + + + + +
+ + + + + + + + +
T get_reference_parameter (const std::string & parameter_name)
+
+inlineprotectedinherited
+
+ +

Definition at line 312 of file common.hpp.

+
+Here is the call graph for this function:
+
+
+ + + + + + + + + + + +
+ +
+
+ +

◆ init_test()

+ +
+
+ + + + + +
+ + + + + + + + +
void init_test (const std::string & type)
+
+inlineprotectedinherited
+
+ +

Defines section in the conf.json that is used to load parameters from.

+
Parameters
+ + +
[in]typeName of the section in the JSON file.
+
+
+ +

Definition at line 358 of file common.hpp.

+
+Here is the call graph for this function:
+
+
+ + + + +
+
+Here is the caller graph for this function:
+
+
+ + + + + + + + +
+ +
+
+ +

◆ performance()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void performance (const std::string & isa,
const std::string & module_name,
function,
Args ... args 
)
+
+inlineprotectedinherited
+
+ +

Run performance test case for a given function.

+
Parameters
+ + + + + +
[in]isaUsed Instruction Set.
[in]module_namename of the tested kernel.
[in]functionfunction to be tested.
[in]argsfunction's arguments.
+
+
+ +

Definition at line 253 of file common.hpp.

+
+Here is the call graph for this function:
+
+
+ + + + + +
+
+Here is the caller graph for this function:
+
+
+ + + +
+ +
+
+ +

◆ print_test_description()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void print_test_description (const std::string & isa,
const std::string & module_name 
)
+
+inlineprotectedinherited
+
+ +

Print unique test description to the results xml file.

+
Parameters
+ + + + +
[in]isaUsed Instruction Set.
[in]module_namename of the tested kernel.
[in]functionfunction to be tested.
+
+
+ +

Definition at line 271 of file common.hpp.

+ +
+
+ +

◆ set_division_factor()

+ +
+
+ + + + + +
+ + + + + + + + +
void set_division_factor (const double factor)
+
+inlineprotectedinherited
+
+ +

Set division factor.

+
Parameters
+ + +
[in]factorDivision factor that divides mean and standard deviation.
+
+
+ +

Definition at line 222 of file common.hpp.

+ +
+
+ +

◆ set_parallelization_factor()

+ +
+
+ + + + + +
+ + + + + + + + +
void set_parallelization_factor (const int factor)
+
+inlineprotectedinherited
+
+ +

Set size of processed data.

+
Parameters
+ + +
[in]sizeSize of processed data used to calculate module throughput.
+
+
+ +

Definition at line 240 of file common.hpp.

+ +
+
+ +

◆ set_results_units()

+ +
+
+ + + + + +
+ + + + + + + + +
void set_results_units (const std::string & units)
+
+inlineprotectedinherited
+
+ +

Set reults units.

+
Parameters
+ + +
[in]unitsUnits that are displayed in the report.
+
+
+ +

Definition at line 231 of file common.hpp.

+ +
+
+ +

◆ SetUp()

+ +
+
+ + + + + +
+ + + + + + + +
void SetUp ()
+
+inlineoverrideprotected
+
+ +

Definition at line 91 of file prach_performance.cc.

+
+Here is the call graph for this function:
+
+
+ + + + + +
+ +
+
+ +

◆ SetUpTestCase()

+ +
+
+ + + + + +
+ + + + + + + +
static void SetUpTestCase ()
+
+inlinestaticinherited
+
+ +

Definition at line 162 of file common.hpp.

+
+Here is the call graph for this function:
+
+
+ + + + + + +
+ +
+
+ +

◆ TearDown()

+ +
+
+ + + + + +
+ + + + + + + +
void TearDown ()
+
+inlineoverrideprotected
+
+ +

Definition at line 160 of file prach_performance.cc.

+ +
+
+ +

◆ TearDownTestCase()

+ +
+
+ + + + + +
+ + + + + + + +
static void TearDownTestCase ()
+
+inlinestaticinherited
+
+ +

Definition at line 185 of file common.hpp.

+ +
+
+

Field Documentation

+ +

◆ conf

+ +
+
+ + + + + +
+ + + + +
json conf
+
+staticinherited
+
+ +

Definition at line 159 of file common.hpp.

+ +
+
+ +

◆ division_factor

+ +
+
+ + + + + +
+ + + + +
double division_factor = 1.0
+
+protectedinherited
+
+ +

Definition at line 214 of file common.hpp.

+ +
+
+ +

◆ lastsymbol

+ +
+
+ + + + + +
+ + + + +
int lastsymbol
+
+protected
+
+ +

Definition at line 47 of file prach_performance.cc.

+ +
+
+ +

◆ m_antId

+ +
+
+ + + + + +
+ + + + +
uint8_t m_antId
+
+protected
+
+ +

Definition at line 59 of file prach_performance.cc.

+ +
+
+ +

◆ m_beamId

+ +
+
+ + + + + +
+ + + + +
uint16_t m_beamId
+
+protected
+
+ +

Definition at line 66 of file prach_performance.cc.

+ +
+
+ +

◆ m_ccId

+ +
+
+ + + + + +
+ + + + +
uint8_t m_ccId
+
+protected
+
+ +

Definition at line 59 of file prach_performance.cc.

+ +
+
+ +

◆ m_compMethod

+ +
+
+ + + + + +
+ + + + +
uint8_t m_compMethod
+
+protected
+
+ +

Definition at line 65 of file prach_performance.cc.

+ +
+
+ +

◆ m_dir

+ +
+
+ + + + + +
+ + + + +
uint8_t m_dir
+
+protected
+
+ +

Definition at line 55 of file prach_performance.cc.

+ +
+
+ +

◆ m_dirStr

+ +
+
+ + + + + +
+ + + + +
std::string m_dirStr
+
+protected
+
+ +

Definition at line 56 of file prach_performance.cc.

+ +
+
+ +

◆ m_fftSize

+ +
+
+ + + + + +
+ + + + +
uint8_t m_fftSize
+
+protected
+
+ +

Definition at line 71 of file prach_performance.cc.

+ +
+
+ +

◆ m_filterIdx

+ +
+
+ + + + + +
+ + + + +
uint8_t m_filterIdx
+
+protected
+
+ +

Definition at line 76 of file prach_performance.cc.

+ +
+
+ +

◆ m_filterIndex

+ +
+
+ + + + + +
+ + + + +
uint8_t m_filterIndex
+
+protected
+
+ +

Definition at line 69 of file prach_performance.cc.

+ +
+
+ +

◆ m_frameId

+ +
+
+ + + + + +
+ + + + +
uint8_t m_frameId
+
+protected
+
+ +

Definition at line 61 of file prach_performance.cc.

+ +
+
+ +

◆ m_freqOffset

+ +
+
+ + + + + +
+ + + + +
int32_t m_freqOffset
+
+protected
+
+ +

Definition at line 81 of file prach_performance.cc.

+ +
+
+ +

◆ m_iqWidth

+ +
+
+ + + + + +
+ + + + +
uint8_t m_iqWidth
+
+protected
+
+ +

Definition at line 65 of file prach_performance.cc.

+ +
+
+ +

◆ m_isPRACHslot

+ +
+
+ + + + + +
+ + + + +
uint8_t m_isPRACHslot[XRAN_PRACH_CANDIDATE_SLOT]
+
+protected
+
+ +

Definition at line 85 of file prach_performance.cc.

+ +
+
+ +

◆ m_maxSections

+ +
+
+ + + + + +
+ + + + +
int m_maxSections = 8
+
+protected
+
+ +

Definition at line 46 of file prach_performance.cc.

+ +
+
+ +

◆ m_nrofPrachInSlot

+ +
+
+ + + + + +
+ + + + +
uint8_t m_nrofPrachInSlot
+
+protected
+
+ +

Definition at line 82 of file prach_performance.cc.

+ +
+
+ +

◆ m_numPrbc

+ +
+
+ + + + + +
+ + + + +
uint8_t m_numPrbc
+
+protected
+
+ +

Definition at line 78 of file prach_performance.cc.

+ +
+
+ +

◆ m_numSymbol

+ +
+
+ + + + + +
+ + + + +
uint8_t m_numSymbol
+
+protected
+
+ +

Definition at line 79 of file prach_performance.cc.

+ +
+
+ +

◆ m_occassionsInPrachSlot

+ +
+
+ + + + + +
+ + + + +
uint8_t m_occassionsInPrachSlot
+
+protected
+
+ +

Definition at line 83 of file prach_performance.cc.

+ +
+
+ +

◆ m_params

+ +
+
+ + + + + +
+ + + + +
struct xran_cp_gen_params m_params
+
+protected
+
+ +

Definition at line 51 of file prach_performance.cc.

+ +
+
+ +

◆ m_pktInfo

+ +
+
+ + + + + +
+ + + + +
struct xran_recv_packet_info m_pktInfo
+
+protected
+
+ +

Definition at line 52 of file prach_performance.cc.

+ +
+
+ +

◆ m_pPRACHConfig

+ +
+
+ + + + + +
+ + + + +
struct xran_prach_config* m_pPRACHConfig
+
+protected
+
+ +

Definition at line 42 of file prach_performance.cc.

+ +
+
+ +

◆ m_pPrachCPConfig

+ +
+
+ + + + + +
+ + + + +
struct xran_prach_cp_config* m_pPrachCPConfig
+
+protected
+
+ +

Definition at line 43 of file prach_performance.cc.

+ +
+
+ +

◆ m_prach_last_symbol

+ +
+
+ + + + + +
+ + + + +
int m_prach_last_symbol
+
+protected
+
+ +

Definition at line 87 of file prach_performance.cc.

+ +
+
+ +

◆ m_prach_start_symbol

+ +
+
+ + + + + +
+ + + + +
int m_prach_start_symbol
+
+protected
+
+ +

Definition at line 86 of file prach_performance.cc.

+ +
+
+ +

◆ m_prbNum

+ +
+
+ + + + + +
+ + + + +
uint16_t * m_prbNum = NULL
+
+protected
+
+ +

Definition at line 63 of file prach_performance.cc.

+ +
+
+ +

◆ m_prbStart

+ +
+
+ + + + + +
+ + + + +
uint16_t* m_prbStart = NULL
+
+protected
+
+ +

Definition at line 63 of file prach_performance.cc.

+ +
+
+ +

◆ m_pSectGenInfo

+ +
+
+ + + + + +
+ + + + +
struct xran_section_gen_info* m_pSectGenInfo = NULL
+
+protected
+
+ +

Definition at line 45 of file prach_performance.cc.

+ +
+
+ +

◆ m_pTestBuffer

+ +
+
+ + + + + +
+ + + + +
struct rte_mbuf* m_pTestBuffer
+
+protected
+
+ +

Definition at line 49 of file prach_performance.cc.

+ +
+
+ +

◆ m_reMask

+ +
+
+ + + + + +
+ + + + +
uint16_t m_reMask = 0xfff
+
+protected
+
+ +

Definition at line 67 of file prach_performance.cc.

+ +
+
+ +

◆ m_result

+ +
+
+ + + + + +
+ + + + +
struct xran_cp_gen_params m_result
+
+protected
+
+ +

Definition at line 53 of file prach_performance.cc.

+ +
+
+ +

◆ m_sectionId

+ +
+
+ + + + + +
+ + + + +
uint16_t m_sectionId
+
+protected
+
+ +

Definition at line 68 of file prach_performance.cc.

+ +
+
+ +

◆ m_sectionType

+ +
+
+ + + + + +
+ + + + +
uint8_t m_sectionType
+
+protected
+
+ +

Definition at line 57 of file prach_performance.cc.

+ +
+
+ +

◆ m_seqId

+ +
+
+ + + + + +
+ + + + +
uint8_t m_seqId
+
+protected
+
+ +

Definition at line 60 of file prach_performance.cc.

+ +
+
+ +

◆ m_slotId

+ +
+
+ + + + + +
+ + + + +
uint8_t m_slotId
+
+protected
+
+ +

Definition at line 61 of file prach_performance.cc.

+ +
+
+ +

◆ m_SlotNrNum

+ +
+
+ + + + + +
+ + + + +
uint8_t m_SlotNrNum
+
+protected
+
+ +

Definition at line 88 of file prach_performance.cc.

+ +
+
+ +

◆ m_startPrbc

+ +
+
+ + + + + +
+ + + + +
uint16_t m_startPrbc
+
+protected
+
+ +

Definition at line 77 of file prach_performance.cc.

+ +
+
+ +

◆ m_startSymId

+ +
+
+ + + + + +
+ + + + +
uint8_t m_startSymId
+
+protected
+
+ +

Definition at line 74 of file prach_performance.cc.

+ +
+
+ +

◆ m_subframeId

+ +
+
+ + + + + +
+ + + + +
uint8_t m_subframeId
+
+protected
+
+ +

Definition at line 61 of file prach_performance.cc.

+ +
+
+ +

◆ m_symNum

+ +
+
+ + + + + +
+ + + + +
uint8_t m_symNum
+
+protected
+
+ +

Definition at line 62 of file prach_performance.cc.

+ +
+
+ +

◆ m_symStart

+ +
+
+ + + + + +
+ + + + +
uint8_t m_symStart
+
+protected
+
+ +

Definition at line 62 of file prach_performance.cc.

+ +
+
+ +

◆ m_timeOffset

+ +
+
+ + + + + +
+ + + + +
uint16_t m_timeOffset
+
+protected
+
+ +

Definition at line 80 of file prach_performance.cc.

+ +
+
+ +

◆ m_x

+ +
+
+ + + + + +
+ + + + +
uint8_t m_x
+
+protected
+
+ +

Definition at line 75 of file prach_performance.cc.

+ +
+
+ +

◆ m_xran_dev_ctx

+ +
+
+ + + + + +
+ + + + +
struct xran_device_ctx m_xran_dev_ctx
+
+protected
+
+ +

Definition at line 41 of file prach_performance.cc.

+ +
+
+ +

◆ m_xranConf

+ +
+
+ + + + + +
+ + + + +
struct xran_fh_config m_xranConf
+
+protected
+
+ +

Definition at line 40 of file prach_performance.cc.

+ +
+
+ +

◆ m_y

+ +
+
+ + + + + +
+ + + + +
uint8_t m_y[XRAN_PRACH_CANDIDATE_Y]
+
+protected
+
+ +

Definition at line 84 of file prach_performance.cc.

+ +
+
+ +

◆ parallelization_factor

+ +
+
+ + + + + +
+ + + + +
int parallelization_factor = 1
+
+protectedinherited
+
+ +

Definition at line 216 of file common.hpp.

+ +
+
+ +

◆ result_units

+ +
+
+ + + + + +
+ + + + +
std::string result_units = "None"
+
+protectedinherited
+
+ +

Definition at line 215 of file common.hpp.

+ +
+
+ +

◆ test_type

+ +
+
+ + + + + +
+ + + + +
std::string test_type
+
+staticinherited
+
+ +

Definition at line 160 of file common.hpp.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/docs/API/class_prach_perf__coll__graph.map b/docs/API/class_prach_perf__coll__graph.map new file mode 100644 index 0000000..d253c34 --- /dev/null +++ b/docs/API/class_prach_perf__coll__graph.map @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/API/class_prach_perf__coll__graph.md5 b/docs/API/class_prach_perf__coll__graph.md5 new file mode 100644 index 0000000..5503eb3 --- /dev/null +++ b/docs/API/class_prach_perf__coll__graph.md5 @@ -0,0 +1 @@ +03006a29ee446e4404bce67eb85c05aa \ No newline at end of file diff --git a/docs/API/class_prach_perf__coll__graph.png b/docs/API/class_prach_perf__coll__graph.png new file mode 100644 index 0000000..5d2d059 Binary files /dev/null and b/docs/API/class_prach_perf__coll__graph.png differ diff --git a/docs/API/class_prach_perf__inherit__graph.map b/docs/API/class_prach_perf__inherit__graph.map new file mode 100644 index 0000000..5cd0e2b --- /dev/null +++ b/docs/API/class_prach_perf__inherit__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/class_prach_perf__inherit__graph.md5 b/docs/API/class_prach_perf__inherit__graph.md5 new file mode 100644 index 0000000..7f253dd --- /dev/null +++ b/docs/API/class_prach_perf__inherit__graph.md5 @@ -0,0 +1 @@ +8daa324c9a29ff4f7749b25cbe314031 \ No newline at end of file diff --git a/docs/API/class_prach_perf__inherit__graph.png b/docs/API/class_prach_perf__inherit__graph.png new file mode 100644 index 0000000..210d980 Binary files /dev/null and b/docs/API/class_prach_perf__inherit__graph.png differ diff --git a/docs/API/class_prach_perf_a3a1707f6479611fdc609a3eb8a0cef1b_cgraph.map b/docs/API/class_prach_perf_a3a1707f6479611fdc609a3eb8a0cef1b_cgraph.map new file mode 100644 index 0000000..20fe57a --- /dev/null +++ b/docs/API/class_prach_perf_a3a1707f6479611fdc609a3eb8a0cef1b_cgraph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/API/class_prach_perf_a3a1707f6479611fdc609a3eb8a0cef1b_cgraph.md5 b/docs/API/class_prach_perf_a3a1707f6479611fdc609a3eb8a0cef1b_cgraph.md5 new file mode 100644 index 0000000..559f9da --- /dev/null +++ b/docs/API/class_prach_perf_a3a1707f6479611fdc609a3eb8a0cef1b_cgraph.md5 @@ -0,0 +1 @@ +6e0819fec1b4fcfb7980e266eb43f61c \ No newline at end of file diff --git a/docs/API/class_prach_perf_a3a1707f6479611fdc609a3eb8a0cef1b_cgraph.png b/docs/API/class_prach_perf_a3a1707f6479611fdc609a3eb8a0cef1b_cgraph.png new file mode 100644 index 0000000..748d5ff Binary files /dev/null and b/docs/API/class_prach_perf_a3a1707f6479611fdc609a3eb8a0cef1b_cgraph.png differ diff --git a/docs/API/class_test_chain.html b/docs/API/class_test_chain.html new file mode 100644 index 0000000..5b25855 --- /dev/null +++ b/docs/API/class_test_chain.html @@ -0,0 +1,966 @@ + + + + + + + +o-du/phy: TestChain Class Reference + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+ +
+
+Inheritance diagram for TestChain:
+
+
Inheritance graph
+ + + +
+
+Collaboration diagram for TestChain:
+
+
Collaboration graph
+ + + + + + + + + + + + + +
+ + + + + + + + +

+Static Public Member Functions

static void SetUpTestCase ()
 
static void TearDownTestCase ()
 
static unsigned get_number_of_cases (const std::string &type)
 
+ + + + + +

+Static Public Attributes

static json conf
 
static std::string test_type
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Protected Member Functions

void SetUp () override
 
void TearDown () override
 
void set_division_factor (const double factor)
 Set division factor. More...
 
void set_results_units (const std::string &units)
 Set reults units. More...
 
void set_parallelization_factor (const int factor)
 Set size of processed data. More...
 
template<typename F , typename ... Args>
void performance (const std::string &isa, const std::string &module_name, F function, Args ... args)
 Run performance test case for a given function. More...
 
void print_test_description (const std::string &isa, const std::string &module_name)
 Print unique test description to the results xml file. More...
 
const std::string get_case_name ()
 Get name of the test case from JSON file. More...
 
void init_test (const std::string &type)
 Defines section in the conf.json that is used to load parameters from. More...
 
template<typename T >
get_input_parameter (const std::string &parameter_name)
 Load selected data from a JSON object. get_input_parameter loads data from parameters section of the test case in JSON file and get_reference_parameter does the same thing for references section. More...
 
template<typename T >
get_reference_parameter (const std::string &parameter_name)
 
+ + + + + + + + + + + + + +

+Protected Attributes

struct xran_fh_config m_xranConf
 
struct xran_fh_init m_xranInit
 
bool m_bSub6
 
double division_factor = 1.0
 
std::string result_units = "None"
 
int parallelization_factor = 1
 
+

Detailed Description

+
+

Definition at line 126 of file chain_tests.cc.

+

Member Function Documentation

+ +

◆ get_case_name()

+ +
+
+ + + + + +
+ + + + + + + +
const std::string get_case_name ()
+
+inlineprotectedinherited
+
+ +

Get name of the test case from JSON file.

+
Returns
Test'ss case name or a default name if name field is missing.
+ +

Definition at line 338 of file common.hpp.

+ +
+
+ +

◆ get_input_parameter()

+ +
+
+ + + + + +
+ + + + + + + + +
T get_input_parameter (const std::string & parameter_name)
+
+inlineprotectedinherited
+
+ +

Load selected data from a JSON object. get_input_parameter loads data from parameters section of the test case in JSON file and get_reference_parameter does the same thing for references section.

+

Get parameter function uses template type to figure out how to load parameters. If type is NOT a pointer it'll load value directly from the JSON. Otherwise path to the test vector is expected and function will allocate memory, load data from the binary file to this memory location and return pointer to it. For example in here we request to load pointer to float so llrs filed is expected to be a path to the binary file.

+ +

Definition at line 290 of file common.hpp.

+
+Here is the call graph for this function:
+
+
+ + + + + + + + + + + +
+ +
+
+ +

◆ get_number_of_cases()

+ +
+
+ + + + + +
+ + + + + + + + +
static unsigned get_number_of_cases (const std::string & type)
+
+inlinestaticinherited
+
+ +

Definition at line 190 of file common.hpp.

+
+Here is the call graph for this function:
+
+
+ + + + + +
+
+Here is the caller graph for this function:
+
+
+ + + +
+ +
+
+ +

◆ get_reference_parameter()

+ +
+
+ + + + + +
+ + + + + + + + +
T get_reference_parameter (const std::string & parameter_name)
+
+inlineprotectedinherited
+
+ +

Definition at line 312 of file common.hpp.

+
+Here is the call graph for this function:
+
+
+ + + + + + + + + + + +
+ +
+
+ +

◆ init_test()

+ +
+
+ + + + + +
+ + + + + + + + +
void init_test (const std::string & type)
+
+inlineprotectedinherited
+
+ +

Defines section in the conf.json that is used to load parameters from.

+
Parameters
+ + +
[in]typeName of the section in the JSON file.
+
+
+ +

Definition at line 358 of file common.hpp.

+
+Here is the call graph for this function:
+
+
+ + + + +
+
+Here is the caller graph for this function:
+
+
+ + + + + + + + +
+ +
+
+ +

◆ performance()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void performance (const std::string & isa,
const std::string & module_name,
function,
Args ... args 
)
+
+inlineprotectedinherited
+
+ +

Run performance test case for a given function.

+
Parameters
+ + + + + +
[in]isaUsed Instruction Set.
[in]module_namename of the tested kernel.
[in]functionfunction to be tested.
[in]argsfunction's arguments.
+
+
+ +

Definition at line 253 of file common.hpp.

+
+Here is the call graph for this function:
+
+
+ + + + + +
+
+Here is the caller graph for this function:
+
+
+ + + +
+ +
+
+ +

◆ print_test_description()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void print_test_description (const std::string & isa,
const std::string & module_name 
)
+
+inlineprotectedinherited
+
+ +

Print unique test description to the results xml file.

+
Parameters
+ + + + +
[in]isaUsed Instruction Set.
[in]module_namename of the tested kernel.
[in]functionfunction to be tested.
+
+
+ +

Definition at line 271 of file common.hpp.

+ +
+
+ +

◆ set_division_factor()

+ +
+
+ + + + + +
+ + + + + + + + +
void set_division_factor (const double factor)
+
+inlineprotectedinherited
+
+ +

Set division factor.

+
Parameters
+ + +
[in]factorDivision factor that divides mean and standard deviation.
+
+
+ +

Definition at line 222 of file common.hpp.

+ +
+
+ +

◆ set_parallelization_factor()

+ +
+
+ + + + + +
+ + + + + + + + +
void set_parallelization_factor (const int factor)
+
+inlineprotectedinherited
+
+ +

Set size of processed data.

+
Parameters
+ + +
[in]sizeSize of processed data used to calculate module throughput.
+
+
+ +

Definition at line 240 of file common.hpp.

+ +
+
+ +

◆ set_results_units()

+ +
+
+ + + + + +
+ + + + + + + + +
void set_results_units (const std::string & units)
+
+inlineprotectedinherited
+
+ +

Set reults units.

+
Parameters
+ + +
[in]unitsUnits that are displayed in the report.
+
+
+ +

Definition at line 231 of file common.hpp.

+ +
+
+ +

◆ SetUp()

+ +
+
+ + + + + +
+ + + + + + + +
void SetUp ()
+
+inlineoverrideprotected
+
+ +

Definition at line 135 of file chain_tests.cc.

+
+Here is the call graph for this function:
+
+
+ + + + + + + + +
+ +
+
+ +

◆ SetUpTestCase()

+ +
+
+ + + + + +
+ + + + + + + +
static void SetUpTestCase ()
+
+inlinestaticinherited
+
+ +

Definition at line 162 of file common.hpp.

+
+Here is the call graph for this function:
+
+
+ + + + + + +
+ +
+
+ +

◆ TearDown()

+ +
+
+ + + + + +
+ + + + + + + +
void TearDown ()
+
+inlineoverrideprotected
+
+ +

Definition at line 214 of file chain_tests.cc.

+ +
+
+ +

◆ TearDownTestCase()

+ +
+
+ + + + + +
+ + + + + + + +
static void TearDownTestCase ()
+
+inlinestaticinherited
+
+ +

Definition at line 185 of file common.hpp.

+ +
+
+

Field Documentation

+ +

◆ conf

+ +
+
+ + + + + +
+ + + + +
json conf
+
+staticinherited
+
+ +

Definition at line 159 of file common.hpp.

+ +
+
+ +

◆ division_factor

+ +
+
+ + + + + +
+ + + + +
double division_factor = 1.0
+
+protectedinherited
+
+ +

Definition at line 214 of file common.hpp.

+ +
+
+ +

◆ m_bSub6

+ +
+
+ + + + + +
+ + + + +
bool m_bSub6
+
+protected
+
+ +

Definition at line 132 of file chain_tests.cc.

+ +
+
+ +

◆ m_xranConf

+ +
+
+ + + + + +
+ + + + +
struct xran_fh_config m_xranConf
+
+protected
+
+ +

Definition at line 129 of file chain_tests.cc.

+ +
+
+ +

◆ m_xranInit

+ +
+
+ + + + + +
+ + + + +
struct xran_fh_init m_xranInit
+
+protected
+
+ +

Definition at line 130 of file chain_tests.cc.

+ +
+
+ +

◆ parallelization_factor

+ +
+
+ + + + + +
+ + + + +
int parallelization_factor = 1
+
+protectedinherited
+
+ +

Definition at line 216 of file common.hpp.

+ +
+
+ +

◆ result_units

+ +
+
+ + + + + +
+ + + + +
std::string result_units = "None"
+
+protectedinherited
+
+ +

Definition at line 215 of file common.hpp.

+ +
+
+ +

◆ test_type

+ +
+
+ + + + + +
+ + + + +
std::string test_type
+
+staticinherited
+
+ +

Definition at line 160 of file common.hpp.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/docs/API/class_test_chain__coll__graph.map b/docs/API/class_test_chain__coll__graph.map new file mode 100644 index 0000000..51e737f --- /dev/null +++ b/docs/API/class_test_chain__coll__graph.map @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/docs/API/class_test_chain__coll__graph.md5 b/docs/API/class_test_chain__coll__graph.md5 new file mode 100644 index 0000000..8d3be1c --- /dev/null +++ b/docs/API/class_test_chain__coll__graph.md5 @@ -0,0 +1 @@ +619b50f603e63243251a1208c6f7f238 \ No newline at end of file diff --git a/docs/API/class_test_chain__coll__graph.png b/docs/API/class_test_chain__coll__graph.png new file mode 100644 index 0000000..5546e55 Binary files /dev/null and b/docs/API/class_test_chain__coll__graph.png differ diff --git a/docs/API/class_test_chain__inherit__graph.map b/docs/API/class_test_chain__inherit__graph.map new file mode 100644 index 0000000..9879b57 --- /dev/null +++ b/docs/API/class_test_chain__inherit__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/class_test_chain__inherit__graph.md5 b/docs/API/class_test_chain__inherit__graph.md5 new file mode 100644 index 0000000..e633401 --- /dev/null +++ b/docs/API/class_test_chain__inherit__graph.md5 @@ -0,0 +1 @@ +61901819d7e5ebf45137a9410ff89265 \ No newline at end of file diff --git a/docs/API/class_test_chain__inherit__graph.png b/docs/API/class_test_chain__inherit__graph.png new file mode 100644 index 0000000..8f3577e Binary files /dev/null and b/docs/API/class_test_chain__inherit__graph.png differ diff --git a/docs/API/class_test_chain_a3a1707f6479611fdc609a3eb8a0cef1b_cgraph.map b/docs/API/class_test_chain_a3a1707f6479611fdc609a3eb8a0cef1b_cgraph.map new file mode 100644 index 0000000..c8600e8 --- /dev/null +++ b/docs/API/class_test_chain_a3a1707f6479611fdc609a3eb8a0cef1b_cgraph.map @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/API/class_test_chain_a3a1707f6479611fdc609a3eb8a0cef1b_cgraph.md5 b/docs/API/class_test_chain_a3a1707f6479611fdc609a3eb8a0cef1b_cgraph.md5 new file mode 100644 index 0000000..e76ed67 --- /dev/null +++ b/docs/API/class_test_chain_a3a1707f6479611fdc609a3eb8a0cef1b_cgraph.md5 @@ -0,0 +1 @@ +fc00e9ddf9e284c57cff8a1eecab241d \ No newline at end of file diff --git a/docs/API/class_test_chain_a3a1707f6479611fdc609a3eb8a0cef1b_cgraph.png b/docs/API/class_test_chain_a3a1707f6479611fdc609a3eb8a0cef1b_cgraph.png new file mode 100644 index 0000000..b838086 Binary files /dev/null and b/docs/API/class_test_chain_a3a1707f6479611fdc609a3eb8a0cef1b_cgraph.png differ diff --git a/docs/API/class_u__plane_check.html b/docs/API/class_u__plane_check.html new file mode 100644 index 0000000..6f35683 --- /dev/null +++ b/docs/API/class_u__plane_check.html @@ -0,0 +1,954 @@ + + + + + + + +o-du/phy: U_planeCheck Class Reference + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+ +
+
+Inheritance diagram for U_planeCheck:
+
+
Inheritance graph
+ + + +
+
+Collaboration diagram for U_planeCheck:
+
+
Collaboration graph
+ + + + +
+ + + + + + + + +

+Static Public Member Functions

static void SetUpTestCase ()
 
static void TearDownTestCase ()
 
static unsigned get_number_of_cases (const std::string &type)
 
+ + + + + +

+Static Public Attributes

static json conf
 
static std::string test_type
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Protected Member Functions

void SetUp () override
 
void TearDown () override
 
void set_division_factor (const double factor)
 Set division factor. More...
 
void set_results_units (const std::string &units)
 Set reults units. More...
 
void set_parallelization_factor (const int factor)
 Set size of processed data. More...
 
template<typename F , typename ... Args>
void performance (const std::string &isa, const std::string &module_name, F function, Args ... args)
 Run performance test case for a given function. More...
 
void print_test_description (const std::string &isa, const std::string &module_name)
 Print unique test description to the results xml file. More...
 
const std::string get_case_name ()
 Get name of the test case from JSON file. More...
 
void init_test (const std::string &type)
 Defines section in the conf.json that is used to load parameters from. More...
 
template<typename T >
get_input_parameter (const std::string &parameter_name)
 Load selected data from a JSON object. get_input_parameter loads data from parameters section of the test case in JSON file and get_reference_parameter does the same thing for references section. More...
 
template<typename T >
get_reference_parameter (const std::string &parameter_name)
 
+ + + + + + + + + + + + + +

+Protected Attributes

struct rte_mbuf * test_buffer
 
char * iq_offset
 
struct rte_mempool * test_eth_mbuf_pool
 
double division_factor = 1.0
 
std::string result_units = "None"
 
int parallelization_factor = 1
 
+

Detailed Description

+
+

Definition at line 30 of file u_plane_functional.cc.

+

Member Function Documentation

+ +

◆ get_case_name()

+ +
+
+ + + + + +
+ + + + + + + +
const std::string get_case_name ()
+
+inlineprotectedinherited
+
+ +

Get name of the test case from JSON file.

+
Returns
Test'ss case name or a default name if name field is missing.
+ +

Definition at line 338 of file common.hpp.

+ +
+
+ +

◆ get_input_parameter()

+ +
+
+ + + + + +
+ + + + + + + + +
T get_input_parameter (const std::string & parameter_name)
+
+inlineprotectedinherited
+
+ +

Load selected data from a JSON object. get_input_parameter loads data from parameters section of the test case in JSON file and get_reference_parameter does the same thing for references section.

+

Get parameter function uses template type to figure out how to load parameters. If type is NOT a pointer it'll load value directly from the JSON. Otherwise path to the test vector is expected and function will allocate memory, load data from the binary file to this memory location and return pointer to it. For example in here we request to load pointer to float so llrs filed is expected to be a path to the binary file.

+ +

Definition at line 290 of file common.hpp.

+
+Here is the call graph for this function:
+
+
+ + + + + + + + + + + +
+ +
+
+ +

◆ get_number_of_cases()

+ +
+
+ + + + + +
+ + + + + + + + +
static unsigned get_number_of_cases (const std::string & type)
+
+inlinestaticinherited
+
+ +

Definition at line 190 of file common.hpp.

+
+Here is the call graph for this function:
+
+
+ + + + + +
+
+Here is the caller graph for this function:
+
+
+ + + +
+ +
+
+ +

◆ get_reference_parameter()

+ +
+
+ + + + + +
+ + + + + + + + +
T get_reference_parameter (const std::string & parameter_name)
+
+inlineprotectedinherited
+
+ +

Definition at line 312 of file common.hpp.

+
+Here is the call graph for this function:
+
+
+ + + + + + + + + + + +
+ +
+
+ +

◆ init_test()

+ +
+
+ + + + + +
+ + + + + + + + +
void init_test (const std::string & type)
+
+inlineprotectedinherited
+
+ +

Defines section in the conf.json that is used to load parameters from.

+
Parameters
+ + +
[in]typeName of the section in the JSON file.
+
+
+ +

Definition at line 358 of file common.hpp.

+
+Here is the call graph for this function:
+
+
+ + + + +
+
+Here is the caller graph for this function:
+
+
+ + + + + + + + +
+ +
+
+ +

◆ performance()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void performance (const std::string & isa,
const std::string & module_name,
function,
Args ... args 
)
+
+inlineprotectedinherited
+
+ +

Run performance test case for a given function.

+
Parameters
+ + + + + +
[in]isaUsed Instruction Set.
[in]module_namename of the tested kernel.
[in]functionfunction to be tested.
[in]argsfunction's arguments.
+
+
+ +

Definition at line 253 of file common.hpp.

+
+Here is the call graph for this function:
+
+
+ + + + + +
+
+Here is the caller graph for this function:
+
+
+ + + +
+ +
+
+ +

◆ print_test_description()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void print_test_description (const std::string & isa,
const std::string & module_name 
)
+
+inlineprotectedinherited
+
+ +

Print unique test description to the results xml file.

+
Parameters
+ + + + +
[in]isaUsed Instruction Set.
[in]module_namename of the tested kernel.
[in]functionfunction to be tested.
+
+
+ +

Definition at line 271 of file common.hpp.

+ +
+
+ +

◆ set_division_factor()

+ +
+
+ + + + + +
+ + + + + + + + +
void set_division_factor (const double factor)
+
+inlineprotectedinherited
+
+ +

Set division factor.

+
Parameters
+ + +
[in]factorDivision factor that divides mean and standard deviation.
+
+
+ +

Definition at line 222 of file common.hpp.

+ +
+
+ +

◆ set_parallelization_factor()

+ +
+
+ + + + + +
+ + + + + + + + +
void set_parallelization_factor (const int factor)
+
+inlineprotectedinherited
+
+ +

Set size of processed data.

+
Parameters
+ + +
[in]sizeSize of processed data used to calculate module throughput.
+
+
+ +

Definition at line 240 of file common.hpp.

+ +
+
+ +

◆ set_results_units()

+ +
+
+ + + + + +
+ + + + + + + + +
void set_results_units (const std::string & units)
+
+inlineprotectedinherited
+
+ +

Set reults units.

+
Parameters
+ + +
[in]unitsUnits that are displayed in the report.
+
+
+ +

Definition at line 231 of file common.hpp.

+ +
+
+ +

◆ SetUp()

+ +
+
+ + + + + +
+ + + + + + + +
void SetUp ()
+
+inlineoverrideprotected
+
+ +

Definition at line 37 of file u_plane_functional.cc.

+
+Here is the call graph for this function:
+
+
+ + + + + +
+ +
+
+ +

◆ SetUpTestCase()

+ +
+
+ + + + + +
+ + + + + + + +
static void SetUpTestCase ()
+
+inlinestaticinherited
+
+ +

Definition at line 162 of file common.hpp.

+
+Here is the call graph for this function:
+
+
+ + + + + + +
+ +
+
+ +

◆ TearDown()

+ +
+
+ + + + + +
+ + + + + + + +
void TearDown ()
+
+inlineoverrideprotected
+
+ +

Definition at line 54 of file u_plane_functional.cc.

+ +
+
+ +

◆ TearDownTestCase()

+ +
+
+ + + + + +
+ + + + + + + +
static void TearDownTestCase ()
+
+inlinestaticinherited
+
+ +

Definition at line 185 of file common.hpp.

+ +
+
+

Field Documentation

+ +

◆ conf

+ +
+
+ + + + + +
+ + + + +
json conf
+
+staticinherited
+
+ +

Definition at line 159 of file common.hpp.

+ +
+
+ +

◆ division_factor

+ +
+
+ + + + + +
+ + + + +
double division_factor = 1.0
+
+protectedinherited
+
+ +

Definition at line 214 of file common.hpp.

+ +
+
+ +

◆ iq_offset

+ +
+
+ + + + + +
+ + + + +
char* iq_offset
+
+protected
+
+ +

Definition at line 34 of file u_plane_functional.cc.

+ +
+
+ +

◆ parallelization_factor

+ +
+
+ + + + + +
+ + + + +
int parallelization_factor = 1
+
+protectedinherited
+
+ +

Definition at line 216 of file common.hpp.

+ +
+
+ +

◆ result_units

+ +
+
+ + + + + +
+ + + + +
std::string result_units = "None"
+
+protectedinherited
+
+ +

Definition at line 215 of file common.hpp.

+ +
+
+ +

◆ test_buffer

+ +
+
+ + + + + +
+ + + + +
struct rte_mbuf* test_buffer
+
+protected
+
+ +

Definition at line 33 of file u_plane_functional.cc.

+ +
+
+ +

◆ test_eth_mbuf_pool

+ +
+
+ + + + + +
+ + + + +
struct rte_mempool* test_eth_mbuf_pool
+
+protected
+
+ +

Definition at line 35 of file u_plane_functional.cc.

+ +
+
+ +

◆ test_type

+ +
+
+ + + + + +
+ + + + +
std::string test_type
+
+staticinherited
+
+ +

Definition at line 160 of file common.hpp.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/docs/API/class_u__plane_check__coll__graph.map b/docs/API/class_u__plane_check__coll__graph.map new file mode 100644 index 0000000..66abe4e --- /dev/null +++ b/docs/API/class_u__plane_check__coll__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/class_u__plane_check__coll__graph.md5 b/docs/API/class_u__plane_check__coll__graph.md5 new file mode 100644 index 0000000..7767d50 --- /dev/null +++ b/docs/API/class_u__plane_check__coll__graph.md5 @@ -0,0 +1 @@ +899ead4a30ceb3e27e42b9319e05a706 \ No newline at end of file diff --git a/docs/API/class_u__plane_check__coll__graph.png b/docs/API/class_u__plane_check__coll__graph.png new file mode 100644 index 0000000..32c2832 Binary files /dev/null and b/docs/API/class_u__plane_check__coll__graph.png differ diff --git a/docs/API/class_u__plane_check__inherit__graph.map b/docs/API/class_u__plane_check__inherit__graph.map new file mode 100644 index 0000000..a3ea20e --- /dev/null +++ b/docs/API/class_u__plane_check__inherit__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/class_u__plane_check__inherit__graph.md5 b/docs/API/class_u__plane_check__inherit__graph.md5 new file mode 100644 index 0000000..1e7bec4 --- /dev/null +++ b/docs/API/class_u__plane_check__inherit__graph.md5 @@ -0,0 +1 @@ +11fb549501b8a6c7d69cbdedf80ad21c \ No newline at end of file diff --git a/docs/API/class_u__plane_check__inherit__graph.png b/docs/API/class_u__plane_check__inherit__graph.png new file mode 100644 index 0000000..546b864 Binary files /dev/null and b/docs/API/class_u__plane_check__inherit__graph.png differ diff --git a/docs/API/class_u__plane_check_a3a1707f6479611fdc609a3eb8a0cef1b_cgraph.map b/docs/API/class_u__plane_check_a3a1707f6479611fdc609a3eb8a0cef1b_cgraph.map new file mode 100644 index 0000000..20fe57a --- /dev/null +++ b/docs/API/class_u__plane_check_a3a1707f6479611fdc609a3eb8a0cef1b_cgraph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/API/class_u__plane_check_a3a1707f6479611fdc609a3eb8a0cef1b_cgraph.md5 b/docs/API/class_u__plane_check_a3a1707f6479611fdc609a3eb8a0cef1b_cgraph.md5 new file mode 100644 index 0000000..559f9da --- /dev/null +++ b/docs/API/class_u__plane_check_a3a1707f6479611fdc609a3eb8a0cef1b_cgraph.md5 @@ -0,0 +1 @@ +6e0819fec1b4fcfb7980e266eb43f61c \ No newline at end of file diff --git a/docs/API/class_u__plane_check_a3a1707f6479611fdc609a3eb8a0cef1b_cgraph.png b/docs/API/class_u__plane_check_a3a1707f6479611fdc609a3eb8a0cef1b_cgraph.png new file mode 100644 index 0000000..748d5ff Binary files /dev/null and b/docs/API/class_u__plane_check_a3a1707f6479611fdc609a3eb8a0cef1b_cgraph.png differ diff --git a/docs/API/class_u__plane_perf.html b/docs/API/class_u__plane_perf.html new file mode 100644 index 0000000..7ef72ac --- /dev/null +++ b/docs/API/class_u__plane_perf.html @@ -0,0 +1,1069 @@ + + + + + + + +o-du/phy: U_planePerf Class Reference + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+ +
+
+Inheritance diagram for U_planePerf:
+
+
Inheritance graph
+ + + +
+
+Collaboration diagram for U_planePerf:
+
+
Collaboration graph
+ + + + +
+ + + + + + + + +

+Static Public Member Functions

static void SetUpTestCase ()
 
static void TearDownTestCase ()
 
static unsigned get_number_of_cases (const std::string &type)
 
+ + + + + +

+Static Public Attributes

static json conf
 
static std::string test_type
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Protected Member Functions

void SetUp () override
 
void TearDown () override
 
void fucntional_dl (F function, int32_t *request, int32_t *response)
 
void set_division_factor (const double factor)
 Set division factor. More...
 
void set_results_units (const std::string &units)
 Set reults units. More...
 
void set_parallelization_factor (const int factor)
 Set size of processed data. More...
 
template<typename F , typename ... Args>
void performance (const std::string &isa, const std::string &module_name, F function, Args ... args)
 Run performance test case for a given function. More...
 
void print_test_description (const std::string &isa, const std::string &module_name)
 Print unique test description to the results xml file. More...
 
const std::string get_case_name ()
 Get name of the test case from JSON file. More...
 
void init_test (const std::string &type)
 Defines section in the conf.json that is used to load parameters from. More...
 
template<typename T >
get_input_parameter (const std::string &parameter_name)
 Load selected data from a JSON object. get_input_parameter loads data from parameters section of the test case in JSON file and get_reference_parameter does the same thing for references section. More...
 
template<typename T >
get_reference_parameter (const std::string &parameter_name)
 
+ + + + + + + + + + + + + + + + + +

+Protected Attributes

int32_t request
 
int32_t response
 
struct rte_mbuf * test_buffer
 
char * iq_offset
 
struct rte_mempool * test_eth_mbuf_pool
 
double division_factor = 1.0
 
std::string result_units = "None"
 
int parallelization_factor = 1
 
+

Detailed Description

+
+

Definition at line 30 of file u_plane_performance.cc.

+

Member Function Documentation

+ +

◆ fucntional_dl()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void fucntional_dl (function,
int32_t * request,
int32_t * response 
)
+
+inlineprotected
+
+ +

Definition at line 66 of file u_plane_performance.cc.

+
+Here is the call graph for this function:
+
+
+ + + + +
+
+Here is the caller graph for this function:
+
+
+ + + +
+ +
+
+ +

◆ get_case_name()

+ +
+
+ + + + + +
+ + + + + + + +
const std::string get_case_name ()
+
+inlineprotectedinherited
+
+ +

Get name of the test case from JSON file.

+
Returns
Test'ss case name or a default name if name field is missing.
+ +

Definition at line 338 of file common.hpp.

+ +
+
+ +

◆ get_input_parameter()

+ +
+
+ + + + + +
+ + + + + + + + +
T get_input_parameter (const std::string & parameter_name)
+
+inlineprotectedinherited
+
+ +

Load selected data from a JSON object. get_input_parameter loads data from parameters section of the test case in JSON file and get_reference_parameter does the same thing for references section.

+

Get parameter function uses template type to figure out how to load parameters. If type is NOT a pointer it'll load value directly from the JSON. Otherwise path to the test vector is expected and function will allocate memory, load data from the binary file to this memory location and return pointer to it. For example in here we request to load pointer to float so llrs filed is expected to be a path to the binary file.

+ +

Definition at line 290 of file common.hpp.

+
+Here is the call graph for this function:
+
+
+ + + + + + + + + + + +
+ +
+
+ +

◆ get_number_of_cases()

+ +
+
+ + + + + +
+ + + + + + + + +
static unsigned get_number_of_cases (const std::string & type)
+
+inlinestaticinherited
+
+ +

Definition at line 190 of file common.hpp.

+
+Here is the call graph for this function:
+
+
+ + + + + +
+
+Here is the caller graph for this function:
+
+
+ + + +
+ +
+
+ +

◆ get_reference_parameter()

+ +
+
+ + + + + +
+ + + + + + + + +
T get_reference_parameter (const std::string & parameter_name)
+
+inlineprotectedinherited
+
+ +

Definition at line 312 of file common.hpp.

+
+Here is the call graph for this function:
+
+
+ + + + + + + + + + + +
+ +
+
+ +

◆ init_test()

+ +
+
+ + + + + +
+ + + + + + + + +
void init_test (const std::string & type)
+
+inlineprotectedinherited
+
+ +

Defines section in the conf.json that is used to load parameters from.

+
Parameters
+ + +
[in]typeName of the section in the JSON file.
+
+
+ +

Definition at line 358 of file common.hpp.

+
+Here is the call graph for this function:
+
+
+ + + + +
+
+Here is the caller graph for this function:
+
+
+ + + + + + + + +
+ +
+
+ +

◆ performance()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void performance (const std::string & isa,
const std::string & module_name,
function,
Args ... args 
)
+
+inlineprotectedinherited
+
+ +

Run performance test case for a given function.

+
Parameters
+ + + + + +
[in]isaUsed Instruction Set.
[in]module_namename of the tested kernel.
[in]functionfunction to be tested.
[in]argsfunction's arguments.
+
+
+ +

Definition at line 253 of file common.hpp.

+
+Here is the call graph for this function:
+
+
+ + + + + +
+
+Here is the caller graph for this function:
+
+
+ + + +
+ +
+
+ +

◆ print_test_description()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void print_test_description (const std::string & isa,
const std::string & module_name 
)
+
+inlineprotectedinherited
+
+ +

Print unique test description to the results xml file.

+
Parameters
+ + + + +
[in]isaUsed Instruction Set.
[in]module_namename of the tested kernel.
[in]functionfunction to be tested.
+
+
+ +

Definition at line 271 of file common.hpp.

+ +
+
+ +

◆ set_division_factor()

+ +
+
+ + + + + +
+ + + + + + + + +
void set_division_factor (const double factor)
+
+inlineprotectedinherited
+
+ +

Set division factor.

+
Parameters
+ + +
[in]factorDivision factor that divides mean and standard deviation.
+
+
+ +

Definition at line 222 of file common.hpp.

+ +
+
+ +

◆ set_parallelization_factor()

+ +
+
+ + + + + +
+ + + + + + + + +
void set_parallelization_factor (const int factor)
+
+inlineprotectedinherited
+
+ +

Set size of processed data.

+
Parameters
+ + +
[in]sizeSize of processed data used to calculate module throughput.
+
+
+ +

Definition at line 240 of file common.hpp.

+ +
+
+ +

◆ set_results_units()

+ +
+
+ + + + + +
+ + + + + + + + +
void set_results_units (const std::string & units)
+
+inlineprotectedinherited
+
+ +

Set reults units.

+
Parameters
+ + +
[in]unitsUnits that are displayed in the report.
+
+
+ +

Definition at line 231 of file common.hpp.

+ +
+
+ +

◆ SetUp()

+ +
+
+ + + + + +
+ + + + + + + +
void SetUp ()
+
+inlineoverrideprotected
+
+ +

Definition at line 41 of file u_plane_performance.cc.

+
+Here is the call graph for this function:
+
+
+ + + + + +
+ +
+
+ +

◆ SetUpTestCase()

+ +
+
+ + + + + +
+ + + + + + + +
static void SetUpTestCase ()
+
+inlinestaticinherited
+
+ +

Definition at line 162 of file common.hpp.

+
+Here is the call graph for this function:
+
+
+ + + + + + +
+ +
+
+ +

◆ TearDown()

+ +
+
+ + + + + +
+ + + + + + + +
void TearDown ()
+
+inlineoverrideprotected
+
+ +

Definition at line 61 of file u_plane_performance.cc.

+ +
+
+ +

◆ TearDownTestCase()

+ +
+
+ + + + + +
+ + + + + + + +
static void TearDownTestCase ()
+
+inlinestaticinherited
+
+ +

Definition at line 185 of file common.hpp.

+ +
+
+

Field Documentation

+ +

◆ conf

+ +
+
+ + + + + +
+ + + + +
json conf
+
+staticinherited
+
+ +

Definition at line 159 of file common.hpp.

+ +
+
+ +

◆ division_factor

+ +
+
+ + + + + +
+ + + + +
double division_factor = 1.0
+
+protectedinherited
+
+ +

Definition at line 214 of file common.hpp.

+ +
+
+ +

◆ iq_offset

+ +
+
+ + + + + +
+ + + + +
char* iq_offset
+
+protected
+
+ +

Definition at line 38 of file u_plane_performance.cc.

+ +
+
+ +

◆ parallelization_factor

+ +
+
+ + + + + +
+ + + + +
int parallelization_factor = 1
+
+protectedinherited
+
+ +

Definition at line 216 of file common.hpp.

+ +
+
+ +

◆ request

+ +
+
+ + + + + +
+ + + + +
int32_t request
+
+protected
+
+ +

Definition at line 34 of file u_plane_performance.cc.

+ +
+
+ +

◆ response

+ +
+
+ + + + + +
+ + + + +
int32_t response
+
+protected
+
+ +

Definition at line 35 of file u_plane_performance.cc.

+ +
+
+ +

◆ result_units

+ +
+
+ + + + + +
+ + + + +
std::string result_units = "None"
+
+protectedinherited
+
+ +

Definition at line 215 of file common.hpp.

+ +
+
+ +

◆ test_buffer

+ +
+
+ + + + + +
+ + + + +
struct rte_mbuf* test_buffer
+
+protected
+
+ +

Definition at line 37 of file u_plane_performance.cc.

+ +
+
+ +

◆ test_eth_mbuf_pool

+ +
+
+ + + + + +
+ + + + +
struct rte_mempool* test_eth_mbuf_pool
+
+protected
+
+ +

Definition at line 39 of file u_plane_performance.cc.

+ +
+
+ +

◆ test_type

+ +
+
+ + + + + +
+ + + + +
std::string test_type
+
+staticinherited
+
+ +

Definition at line 160 of file common.hpp.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/docs/API/class_u__plane_perf__coll__graph.map b/docs/API/class_u__plane_perf__coll__graph.map new file mode 100644 index 0000000..66420c3 --- /dev/null +++ b/docs/API/class_u__plane_perf__coll__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/class_u__plane_perf__coll__graph.md5 b/docs/API/class_u__plane_perf__coll__graph.md5 new file mode 100644 index 0000000..e3d68bc --- /dev/null +++ b/docs/API/class_u__plane_perf__coll__graph.md5 @@ -0,0 +1 @@ +9309f802f02fad1e7264b22af8529005 \ No newline at end of file diff --git a/docs/API/class_u__plane_perf__coll__graph.png b/docs/API/class_u__plane_perf__coll__graph.png new file mode 100644 index 0000000..ff301e3 Binary files /dev/null and b/docs/API/class_u__plane_perf__coll__graph.png differ diff --git a/docs/API/class_u__plane_perf__inherit__graph.map b/docs/API/class_u__plane_perf__inherit__graph.map new file mode 100644 index 0000000..e5a3a50 --- /dev/null +++ b/docs/API/class_u__plane_perf__inherit__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/class_u__plane_perf__inherit__graph.md5 b/docs/API/class_u__plane_perf__inherit__graph.md5 new file mode 100644 index 0000000..98801ab --- /dev/null +++ b/docs/API/class_u__plane_perf__inherit__graph.md5 @@ -0,0 +1 @@ +b4f2a5aa36df52f66a82ec999f354647 \ No newline at end of file diff --git a/docs/API/class_u__plane_perf__inherit__graph.png b/docs/API/class_u__plane_perf__inherit__graph.png new file mode 100644 index 0000000..5bfc42d Binary files /dev/null and b/docs/API/class_u__plane_perf__inherit__graph.png differ diff --git a/docs/API/class_u__plane_perf_a3a1707f6479611fdc609a3eb8a0cef1b_cgraph.map b/docs/API/class_u__plane_perf_a3a1707f6479611fdc609a3eb8a0cef1b_cgraph.map new file mode 100644 index 0000000..20fe57a --- /dev/null +++ b/docs/API/class_u__plane_perf_a3a1707f6479611fdc609a3eb8a0cef1b_cgraph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/API/class_u__plane_perf_a3a1707f6479611fdc609a3eb8a0cef1b_cgraph.md5 b/docs/API/class_u__plane_perf_a3a1707f6479611fdc609a3eb8a0cef1b_cgraph.md5 new file mode 100644 index 0000000..cdfdaae --- /dev/null +++ b/docs/API/class_u__plane_perf_a3a1707f6479611fdc609a3eb8a0cef1b_cgraph.md5 @@ -0,0 +1 @@ +8c5c44dc4c34631512e8f1cf0cab35ec \ No newline at end of file diff --git a/docs/API/class_u__plane_perf_a3a1707f6479611fdc609a3eb8a0cef1b_cgraph.png b/docs/API/class_u__plane_perf_a3a1707f6479611fdc609a3eb8a0cef1b_cgraph.png new file mode 100644 index 0000000..748d5ff Binary files /dev/null and b/docs/API/class_u__plane_perf_a3a1707f6479611fdc609a3eb8a0cef1b_cgraph.png differ diff --git a/docs/API/class_u__plane_perf_aa2fb15367f40188e0a2d2c15fa6ad124_cgraph.map b/docs/API/class_u__plane_perf_aa2fb15367f40188e0a2d2c15fa6ad124_cgraph.map new file mode 100644 index 0000000..907ecff --- /dev/null +++ b/docs/API/class_u__plane_perf_aa2fb15367f40188e0a2d2c15fa6ad124_cgraph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/class_u__plane_perf_aa2fb15367f40188e0a2d2c15fa6ad124_cgraph.md5 b/docs/API/class_u__plane_perf_aa2fb15367f40188e0a2d2c15fa6ad124_cgraph.md5 new file mode 100644 index 0000000..062d75e --- /dev/null +++ b/docs/API/class_u__plane_perf_aa2fb15367f40188e0a2d2c15fa6ad124_cgraph.md5 @@ -0,0 +1 @@ +bde23c61866297f38214746c54334833 \ No newline at end of file diff --git a/docs/API/class_u__plane_perf_aa2fb15367f40188e0a2d2c15fa6ad124_cgraph.png b/docs/API/class_u__plane_perf_aa2fb15367f40188e0a2d2c15fa6ad124_cgraph.png new file mode 100644 index 0000000..3ff1148 Binary files /dev/null and b/docs/API/class_u__plane_perf_aa2fb15367f40188e0a2d2c15fa6ad124_cgraph.png differ diff --git a/docs/API/class_u__plane_perf_aa2fb15367f40188e0a2d2c15fa6ad124_icgraph.map b/docs/API/class_u__plane_perf_aa2fb15367f40188e0a2d2c15fa6ad124_icgraph.map new file mode 100644 index 0000000..7344b22 --- /dev/null +++ b/docs/API/class_u__plane_perf_aa2fb15367f40188e0a2d2c15fa6ad124_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/class_u__plane_perf_aa2fb15367f40188e0a2d2c15fa6ad124_icgraph.md5 b/docs/API/class_u__plane_perf_aa2fb15367f40188e0a2d2c15fa6ad124_icgraph.md5 new file mode 100644 index 0000000..72de9fd --- /dev/null +++ b/docs/API/class_u__plane_perf_aa2fb15367f40188e0a2d2c15fa6ad124_icgraph.md5 @@ -0,0 +1 @@ +3e68b41b8a4dd328c0e302828653cfcc \ No newline at end of file diff --git a/docs/API/class_u__plane_perf_aa2fb15367f40188e0a2d2c15fa6ad124_icgraph.png b/docs/API/class_u__plane_perf_aa2fb15367f40188e0a2d2c15fa6ad124_icgraph.png new file mode 100644 index 0000000..b17e2e6 Binary files /dev/null and b/docs/API/class_u__plane_perf_aa2fb15367f40188e0a2d2c15fa6ad124_icgraph.png differ diff --git a/docs/API/classes.html b/docs/API/classes.html new file mode 100644 index 0000000..03f3c06 --- /dev/null +++ b/docs/API/classes.html @@ -0,0 +1,138 @@ + + + + + + + +o-du/phy: Data Structure Index + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
Data Structure Index
+
+
+
_ | a | b | c | d | e | f | g | h | i | j | k | m | n | p | r | s | t | u | x
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  _  
+
  e  
+
basic_json::iter_impl (nlohmann)   U_planePerf   xran_fh_config   
  j  
+
  x  
+
xran_fh_init   
_RuntimeConfig   ecpri_seq_id   xran_flat_buffer   
  a  
+
eth_xran_up_pkt_hdr   basic_json::json_pointer (nlohmann)   xran_buffer_list   xran_frame_config   
ethdi_hdr   basic_json::json_reverse_iterator (nlohmann)   xran_cb_tag   xran_io_cfg   
adl_serializer (nlohmann)   ExpandedData (BlockFloatCompander)   
  k  
+
xran_common_counters   xran_io_loop_cfg   
  b  
+
ExpandedData (BlockFloatCompanderBFW)   xran_cp_bf_attribute   xran_pkt_comm_hdr   
external_constructor (nlohmann::detail)   KernelTests   xran_cp_bf_precoding   xran_prach_config   
basic_json (nlohmann)   external_constructor< value_t::array > (nlohmann::detail)   
  m  
+
xran_cp_bf_weight   xran_prach_cp_config   
BbuIoBufCtrlStruct   external_constructor< value_t::boolean > (nlohmann::detail)   xran_cp_gen_params   xran_prb_elm   
BbuXranIoIfStruct   external_constructor< value_t::number_float > (nlohmann::detail)   mbuf_table   xran_cp_header_params   xran_prb_map   
BenchmarkParameters   external_constructor< value_t::number_integer > (nlohmann::detail)   missing_config_file_exception   xran_cp_radioapp_common_header   xran_radioapp_udComp_header   
BfpCheck   external_constructor< value_t::number_unsigned > (nlohmann::detail)   
  n  
+
xran_cp_radioapp_frameStructure   xran_recv_packet_info   
BfpPerf   external_constructor< value_t::object > (nlohmann::detail)   xran_cp_radioapp_section0   xran_ru_config   
BfpPerfEx   external_constructor< value_t::string > (nlohmann::detail)   negation (nlohmann::detail)   xran_cp_radioapp_section0_header   xran_section_desc   
compression_params::block_fl_point   
  f  
+
  p  
+
xran_cp_radioapp_section1   xran_section_gen_info   
compression_params::block_scaling   xran_cp_radioapp_section1_header   xran_section_info   
burst_hdr   FPGAPhaseCompCfg   PrachCheck   xran_cp_radioapp_section3   xran_sectionext1_info   
  c  
+
from_json_fn (nlohmann::detail)   PrachPerf   xran_cp_radioapp_section3_header   xran_sectionext2_info   
  g  
+
priority_tag (nlohmann::detail)   xran_cp_radioapp_section5   xran_sectionext3_info   
C_plane   priority_tag< 0 > (nlohmann::detail)   xran_cp_radioapp_section5_header   xran_sectionext4_info   
cb_elem_entry   GetOutOfLoops (master)   
  r  
+
xran_cp_radioapp_section6   xran_sectionext5_info   
COMPLEX32   
  h  
+
xran_cp_radioapp_section6_header   xran_sectionext_info   
complex_double   radio_app_common_hdr   xran_cp_radioapp_section7_header   xran_sectioninfo_db   
complex_float   has_from_json (nlohmann::detail)   rb_map   xran_cp_radioapp_section_ext1   xran_slot_config   
complex_half   has_non_default_from_json (nlohmann::detail)   reading_input_file_exception   xran_cp_radioapp_section_ext2   xran_srs_config   
complex_int16_t   has_to_json (nlohmann::detail)   
  s  
+
xran_cp_radioapp_section_ext3_first   xranLibWraper::xran_timer_ctx   
complex_int32_t   hash< nlohmann::json > (std)   xran_cp_radioapp_section_ext3_non_first   xran_timer_ctx   
CompressedData (BlockFloatCompander)   
  i  
+
sectorHandleInfo   xran_cp_radioapp_section_ext4   xran_up_pkt_gen_no_compression_params   
CompressedData (BlockFloatCompanderBFW)   static_const (nlohmann::detail)   xran_cp_radioapp_section_ext5   xran_up_pkt_gen_params   
compression_hdr   Init_Sys_Check   basic_json::lexer::strtonum (nlohmann)   xran_cp_radioapp_section_ext_hdr   xran_up_pkt_hdr   
compression_params   is_basic_json_nested_type (nlohmann::detail)   
  t  
+
xran_cp_radioapp_section_header   xranlib_compress_request   
conjunction (nlohmann::detail)   is_compatible_array_type (nlohmann::detail)   xran_cp_rbmap_list   xranlib_compress_response   
conjunction< B1 > (nlohmann::detail)   is_compatible_integer_type (nlohmann::detail)   TestChain   xran_device_ctx   xranlib_decompress_request   
conjunction< B1, Bn... > (nlohmann::detail)   is_compatible_integer_type_impl (nlohmann::detail)   to_json_fn (nlohmann::detail)   xran_eaxc_info   xranlib_decompress_response   
  d  
+
is_compatible_integer_type_impl< true, RealIntegerType, CompatibleNumberIntegerType > (nlohmann::detail)   
  u  
+
xran_eaxcid_config   XranLibConfig   
is_compatible_object_type (nlohmann::detail)   xran_ecpri_cmn_hdr   xranLibWraper   
data_section_compression_hdr   is_compatible_object_type_impl (nlohmann::detail)   compression_params::u_law   xran_ecpri_hdr   xRANPrachConfigTableStruct   
data_section_hdr   is_compatible_object_type_impl< true, RealType, CompatibleObjectType > (nlohmann::detail)   U_planeCheck   xran_ethdi_ctx   xRANPrachPreambleLRAStruct   
+
_ | a | b | c | d | e | f | g | h | i | j | k | m | n | p | r | s | t | u | x
+
+ + + + diff --git a/docs/API/classmaster_1_1_get_out_of_loops.html b/docs/API/classmaster_1_1_get_out_of_loops.html new file mode 100644 index 0000000..a53f3e8 --- /dev/null +++ b/docs/API/classmaster_1_1_get_out_of_loops.html @@ -0,0 +1,94 @@ + + + + + + + +o-du/phy: GetOutOfLoops Class Reference + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
GetOutOfLoops Class Reference
+
+
+
+Inheritance diagram for GetOutOfLoops:
+
+
Inheritance graph
+
+
+Collaboration diagram for GetOutOfLoops:
+
+
Collaboration graph
+
+

Detailed Description

+
+

Definition at line 120 of file master.py.

+

The documentation for this class was generated from the following file: +
+ + + + diff --git a/docs/API/classmaster_1_1_get_out_of_loops__coll__graph.map b/docs/API/classmaster_1_1_get_out_of_loops__coll__graph.map new file mode 100644 index 0000000..b0cd562 --- /dev/null +++ b/docs/API/classmaster_1_1_get_out_of_loops__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/classmaster_1_1_get_out_of_loops__coll__graph.md5 b/docs/API/classmaster_1_1_get_out_of_loops__coll__graph.md5 new file mode 100644 index 0000000..55873c7 --- /dev/null +++ b/docs/API/classmaster_1_1_get_out_of_loops__coll__graph.md5 @@ -0,0 +1 @@ +e0096a1d13a9310924671caea541a769 \ No newline at end of file diff --git a/docs/API/classmaster_1_1_get_out_of_loops__coll__graph.png b/docs/API/classmaster_1_1_get_out_of_loops__coll__graph.png new file mode 100644 index 0000000..babfdda Binary files /dev/null and b/docs/API/classmaster_1_1_get_out_of_loops__coll__graph.png differ diff --git a/docs/API/classmaster_1_1_get_out_of_loops__inherit__graph.map b/docs/API/classmaster_1_1_get_out_of_loops__inherit__graph.map new file mode 100644 index 0000000..b0cd562 --- /dev/null +++ b/docs/API/classmaster_1_1_get_out_of_loops__inherit__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/classmaster_1_1_get_out_of_loops__inherit__graph.md5 b/docs/API/classmaster_1_1_get_out_of_loops__inherit__graph.md5 new file mode 100644 index 0000000..91d0080 --- /dev/null +++ b/docs/API/classmaster_1_1_get_out_of_loops__inherit__graph.md5 @@ -0,0 +1 @@ +5a9d63534443d2abae131d35bd591690 \ No newline at end of file diff --git a/docs/API/classmaster_1_1_get_out_of_loops__inherit__graph.png b/docs/API/classmaster_1_1_get_out_of_loops__inherit__graph.png new file mode 100644 index 0000000..babfdda Binary files /dev/null and b/docs/API/classmaster_1_1_get_out_of_loops__inherit__graph.png differ diff --git a/docs/API/classnlohmann_1_1basic__json.html b/docs/API/classnlohmann_1_1basic__json.html new file mode 100644 index 0000000..0c9dd99 --- /dev/null +++ b/docs/API/classnlohmann_1_1basic__json.html @@ -0,0 +1,8503 @@ + + + + + + + +o-du/phy: basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer > Class Template Reference
+
+
+ +

a class to store JSON values + More...

+ +

#include <json.hpp>

+
+Collaboration diagram for basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >:
+
+
Collaboration graph
+
+ + + + + + + + + + + +

+Data Structures

class  iter_impl
 a template for a random access iterator for the basic_json class More...
 
class  json_pointer
 JSON Pointer. More...
 
class  json_reverse_iterator
 a template for a reverse iterator class More...
 
+ + + + + + + + + + + + +

+Public Types

enum  parse_event_t : uint8_t {
+  object_start, +object_end, +array_start, +array_end, +
+  key, +value +
+ }
 JSON callback events. More...
 
using value_t = detail::value_t
 
template<typename T , typename SFINAE >
using json_serializer = JSONSerializer< T, SFINAE >
 
using parser_callback_t = std::function< bool(int depth, parse_event_t event, basic_json &parsed)>
 per-element parser callback type More...
 
+ + + + +

+Public Member Functions

std::string type_name () const
 return the type as string More...
 
+ + + + + + + +

+Static Public Member Functions

static allocator_type get_allocator ()
 returns the allocator associated with the container More...
 
static basic_json meta ()
 returns version information on the library More...
 
+ + + + +

+Friends

template<detail::value_t >
struct detail::external_constructor
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+container types

The canonic container types to use basic_json like any other STL container.

+
using value_type = basic_json
 the type of elements in a basic_json container More...
 
using reference = value_type &
 the type of an element reference More...
 
using const_reference = const value_type &
 the type of an element const reference More...
 
using difference_type = std::ptrdiff_t
 a type to represent differences between iterators More...
 
using size_type = std::size_t
 a type to represent container sizes More...
 
using allocator_type = AllocatorType< basic_json >
 the allocator type More...
 
using pointer = typename std::allocator_traits< allocator_type >::pointer
 the type of an element pointer More...
 
using const_pointer = typename std::allocator_traits< allocator_type >::const_pointer
 the type of an element const pointer More...
 
using iterator = iter_impl< basic_json >
 an iterator for a basic_json container More...
 
using const_iterator = iter_impl< const basic_json >
 a const iterator for a basic_json container More...
 
using reverse_iterator = json_reverse_iterator< typename basic_json::iterator >
 a reverse iterator for a basic_json container More...
 
using const_reverse_iterator = json_reverse_iterator< typename basic_json::const_iterator >
 a const reverse iterator for a basic_json container More...
 
+ + + + + + + + + + + + + + + + + + + + + + + +

+JSON value data types

The data types to store a JSON value. These types are derived from the template arguments passed to class basic_json.

+
using object_t = ObjectType< StringType, basic_json, std::less< StringType >, AllocatorType< std::pair< const StringType, basic_json > >>
 a type for an object More...
 
using array_t = ArrayType< basic_json, AllocatorType< basic_json > >
 a type for an array More...
 
using string_t = StringType
 a type for a string More...
 
using boolean_t = BooleanType
 a type for a boolean More...
 
using number_integer_t = NumberIntegerType
 a type for a number (integer) More...
 
using number_unsigned_t = NumberUnsignedType
 a type for a number (unsigned) More...
 
using number_float_t = NumberFloatType
 a type for a number (floating-point) More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+constructors and destructors

Constructors of class basic_json, copy/move constructor, copy assignment, static functions creating objects, and the destructor.

+
static basic_json array (std::initializer_list< basic_json > init=std::initializer_list< basic_json >())
 explicitly create an array from an initializer list More...
 
static basic_json object (std::initializer_list< basic_json > init=std::initializer_list< basic_json >())
 explicitly create an object from an initializer list More...
 
 basic_json (const value_t value_type)
 create an empty value with a given type More...
 
 basic_json (std::nullptr_t=nullptr) noexcept
 create a null object More...
 
template<typename CompatibleType , typename U = detail::uncvref_t<CompatibleType>, detail::enable_if_t< not std::is_base_of< std::istream, U >::value and not std::is_same< U, basic_json_t >::value and not detail::is_basic_json_nested_type< basic_json_t, U >::value and detail::has_to_json< basic_json, U >::value, int > = 0>
 basic_json (CompatibleType &&val) noexcept(noexcept(JSONSerializer< U >::to_json(std::declval< basic_json_t &>(), std::forward< CompatibleType >(val))))
 create a JSON value More...
 
 basic_json (std::initializer_list< basic_json > init, bool type_deduction=true, value_t manual_type=value_t::array)
 create a container (array or object) from an initializer list More...
 
 basic_json (size_type cnt, const basic_json &val)
 construct an array with count copies of given value More...
 
template<class InputIT , typename std::enable_if< std::is_same< InputIT, typename basic_json_t::iterator >::value or std::is_same< InputIT, typename basic_json_t::const_iterator >::value, int >::type = 0>
 basic_json (InputIT first, InputIT last)
 construct a JSON container given an iterator range More...
 
JSON_DEPRECATED basic_json (std::istream &i, const parser_callback_t cb=nullptr)
 construct a JSON value given an input stream More...
 
 basic_json (const basic_json &other)
 copy constructor More...
 
 basic_json (basic_json &&other) noexcept
 move constructor More...
 
referenceoperator= (basic_json other) noexcept(std::is_nothrow_move_constructible< value_t >::value and std::is_nothrow_move_assignable< value_t >::value and std::is_nothrow_move_constructible< json_value >::value and std::is_nothrow_move_assignable< json_value >::value)
 copy assignment More...
 
 ~basic_json ()
 destructor More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+object inspection

Functions to inspect the type of a JSON value.

+
string_t dump (const int indent=-1) const
 serialization More...
 
constexpr value_t type () const noexcept
 return the type of the JSON value (explicit) More...
 
constexpr bool is_primitive () const noexcept
 return whether type is primitive More...
 
constexpr bool is_structured () const noexcept
 return whether type is structured More...
 
constexpr bool is_null () const noexcept
 return whether value is null More...
 
constexpr bool is_boolean () const noexcept
 return whether value is a boolean More...
 
constexpr bool is_number () const noexcept
 return whether value is a number More...
 
constexpr bool is_number_integer () const noexcept
 return whether value is an integer number More...
 
constexpr bool is_number_unsigned () const noexcept
 return whether value is an unsigned integer number More...
 
constexpr bool is_number_float () const noexcept
 return whether value is a floating-point number More...
 
constexpr bool is_object () const noexcept
 return whether value is an object More...
 
constexpr bool is_array () const noexcept
 return whether value is an array More...
 
constexpr bool is_string () const noexcept
 return whether value is a string More...
 
constexpr bool is_discarded () const noexcept
 return whether value is discarded More...
 
constexpr operator value_t () const noexcept
 return the type of the JSON value (implicit) More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+value access

Direct access to the stored value of a JSON value.

+
template<typename BasicJsonType , detail::enable_if_t< std::is_same< typename std::remove_const< BasicJsonType >::type, basic_json_t >::value, int > = 0>
basic_json get () const
 get special-case overload More...
 
template<typename ValueTypeCV , typename ValueType = detail::uncvref_t<ValueTypeCV>, detail::enable_if_t< not std::is_same< basic_json_t, ValueType >::value and detail::has_from_json< basic_json_t, ValueType >::value and not detail::has_non_default_from_json< basic_json_t, ValueType >::value, int > = 0>
ValueType get () const noexcept(noexcept(JSONSerializer< ValueType >::from_json(std::declval< const basic_json_t &>(), std::declval< ValueType &>())))
 get a value (explicit) More...
 
template<typename ValueTypeCV , typename ValueType = detail::uncvref_t<ValueTypeCV>, detail::enable_if_t< not std::is_same< basic_json_t, ValueType >::value and detail::has_non_default_from_json< basic_json_t, ValueType >::value, int > = 0>
ValueType get () const noexcept(noexcept(JSONSerializer< ValueTypeCV >::from_json(std::declval< const basic_json_t &>())))
 get a value (explicit); special case More...
 
template<typename PointerType , typename std::enable_if< std::is_pointer< PointerType >::value, int >::type = 0>
PointerType get () noexcept
 get a pointer value (explicit) More...
 
template<typename PointerType , typename std::enable_if< std::is_pointer< PointerType >::value, int >::type = 0>
constexpr const PointerType get () const noexcept
 get a pointer value (explicit) More...
 
template<typename PointerType , typename std::enable_if< std::is_pointer< PointerType >::value, int >::type = 0>
PointerType get_ptr () noexcept
 get a pointer value (implicit) More...
 
template<typename PointerType , typename std::enable_if< std::is_pointer< PointerType >::value and std::is_const< typename std::remove_pointer< PointerType >::type >::value, int >::type = 0>
constexpr const PointerType get_ptr () const noexcept
 get a pointer value (implicit) More...
 
template<typename ReferenceType , typename std::enable_if< std::is_reference< ReferenceType >::value, int >::type = 0>
ReferenceType get_ref ()
 get a reference value (implicit) More...
 
template<typename ReferenceType , typename std::enable_if< std::is_reference< ReferenceType >::value and std::is_const< typename std::remove_reference< ReferenceType >::type >::value, int >::type = 0>
ReferenceType get_ref () const
 get a reference value (implicit) More...
 
template<typename ValueType , typename std::enable_if< not std::is_pointer< ValueType >::value and not std::is_same< ValueType, typename string_t::value_type >::value and not std::is_same< ValueType, std::initializer_list< typename string_t::value_type >>::value, int >::type = 0>
 operator ValueType () const
 get a value (implicit) More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+element access

Access to the JSON value.

+
reference at (size_type idx)
 access specified array element with bounds checking More...
 
const_reference at (size_type idx) const
 access specified array element with bounds checking More...
 
reference at (const typename object_t::key_type &key)
 access specified object element with bounds checking More...
 
const_reference at (const typename object_t::key_type &key) const
 access specified object element with bounds checking More...
 
reference operator[] (size_type idx)
 access specified array element More...
 
const_reference operator[] (size_type idx) const
 access specified array element More...
 
reference operator[] (const typename object_t::key_type &key)
 access specified object element More...
 
const_reference operator[] (const typename object_t::key_type &key) const
 read-only access specified object element More...
 
template<typename T , std::size_t n>
reference operator[] (T *(&key)[n])
 access specified object element More...
 
template<typename T , std::size_t n>
const_reference operator[] (T *(&key)[n]) const
 read-only access specified object element More...
 
template<typename T >
reference operator[] (T *key)
 access specified object element More...
 
template<typename T >
const_reference operator[] (T *key) const
 read-only access specified object element More...
 
template<class ValueType , typename std::enable_if< std::is_convertible< basic_json_t, ValueType >::value, int >::type = 0>
ValueType value (const typename object_t::key_type &key, ValueType default_value) const
 access specified object element with default value More...
 
string_t value (const typename object_t::key_type &key, const char *default_value) const
 overload for a default value of type const char* More...
 
template<class ValueType , typename std::enable_if< std::is_convertible< basic_json_t, ValueType >::value, int >::type = 0>
ValueType value (const json_pointer &ptr, ValueType default_value) const
 access specified object element via JSON Pointer with default value More...
 
string_t value (const json_pointer &ptr, const char *default_value) const
 overload for a default value of type const char* More...
 
reference front ()
 access the first element More...
 
const_reference front () const
 access the first element More...
 
reference back ()
 access the last element More...
 
const_reference back () const
 access the last element More...
 
template<class IteratorType , typename std::enable_if< std::is_same< IteratorType, typename basic_json_t::iterator >::value or std::is_same< IteratorType, typename basic_json_t::const_iterator >::value, int >::type = 0>
IteratorType erase (IteratorType pos)
 remove element given an iterator More...
 
template<class IteratorType , typename std::enable_if< std::is_same< IteratorType, typename basic_json_t::iterator >::value or std::is_same< IteratorType, typename basic_json_t::const_iterator >::value, int >::type = 0>
IteratorType erase (IteratorType first, IteratorType last)
 remove elements given an iterator range More...
 
size_type erase (const typename object_t::key_type &key)
 remove element from a JSON object given a key More...
 
void erase (const size_type idx)
 remove element from a JSON array given an index More...
 
+ + + + + + + + + + +

+lookup

iterator find (typename object_t::key_type key)
 find an element in a JSON object More...
 
const_iterator find (typename object_t::key_type key) const
 find an element in a JSON object More...
 
size_type count (typename object_t::key_type key) const
 returns the number of occurrences of a key in a JSON object More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+iterators

static iteration_proxy< iteratoriterator_wrapper (reference cont)
 wrapper to access iterator member functions in range-based for More...
 
static iteration_proxy< const_iteratoriterator_wrapper (const_reference cont)
 wrapper to access iterator member functions in range-based for More...
 
iterator begin () noexcept
 returns an iterator to the first element More...
 
const_iterator begin () const noexcept
 returns a const iterator to the first element More...
 
const_iterator cbegin () const noexcept
 returns a const iterator to the first element More...
 
iterator end () noexcept
 returns an iterator to one past the last element More...
 
const_iterator end () const noexcept
 returns a const iterator to one past the last element More...
 
const_iterator cend () const noexcept
 returns a const iterator to one past the last element More...
 
reverse_iterator rbegin () noexcept
 returns an iterator to the reverse-beginning More...
 
const_reverse_iterator rbegin () const noexcept
 returns a const reverse iterator to the last element More...
 
reverse_iterator rend () noexcept
 returns an iterator to the reverse-end More...
 
const_reverse_iterator rend () const noexcept
 returns a const reverse iterator to one before the first More...
 
const_reverse_iterator crbegin () const noexcept
 returns a const reverse iterator to the last element More...
 
const_reverse_iterator crend () const noexcept
 returns a const reverse iterator to one before the first More...
 
+ + + + + + + + + + +

+capacity

bool empty () const noexcept
 checks whether the container is empty More...
 
size_type size () const noexcept
 returns the number of elements More...
 
size_type max_size () const noexcept
 returns the maximum possible number of elements More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+modifiers

void clear () noexcept
 clears the contents More...
 
void push_back (basic_json &&val)
 add an object to an array More...
 
reference operator+= (basic_json &&val)
 add an object to an array More...
 
void push_back (const basic_json &val)
 add an object to an array More...
 
reference operator+= (const basic_json &val)
 add an object to an array More...
 
void push_back (const typename object_t::value_type &val)
 add an object to an object More...
 
reference operator+= (const typename object_t::value_type &val)
 add an object to an object More...
 
void push_back (std::initializer_list< basic_json > init)
 add an object to an object More...
 
reference operator+= (std::initializer_list< basic_json > init)
 add an object to an object More...
 
template<class... Args>
void emplace_back (Args &&... args)
 add an object to an array More...
 
template<class... Args>
std::pair< iterator, bool > emplace (Args &&... args)
 add an object to an object if key does not exist More...
 
iterator insert (const_iterator pos, const basic_json &val)
 inserts element More...
 
iterator insert (const_iterator pos, basic_json &&val)
 inserts element More...
 
iterator insert (const_iterator pos, size_type cnt, const basic_json &val)
 inserts elements More...
 
iterator insert (const_iterator pos, const_iterator first, const_iterator last)
 inserts elements More...
 
iterator insert (const_iterator pos, std::initializer_list< basic_json > ilist)
 inserts elements More...
 
void swap (reference other) noexcept(std::is_nothrow_move_constructible< value_t >::value and std::is_nothrow_move_assignable< value_t >::value and std::is_nothrow_move_constructible< json_value >::value and std::is_nothrow_move_assignable< json_value >::value)
 exchanges the values More...
 
void swap (array_t &other)
 exchanges the values More...
 
void swap (object_t &other)
 exchanges the values More...
 
void swap (string_t &other)
 exchanges the values More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+lexicographical comparison operators

bool operator== (const_reference lhs, const_reference rhs) noexcept
 comparison: equal More...
 
template<typename ScalarType , typename std::enable_if< std::is_scalar< ScalarType >::value, int >::type = 0>
bool operator== (const_reference lhs, const ScalarType rhs) noexcept
 comparison: equal More...
 
template<typename ScalarType , typename std::enable_if< std::is_scalar< ScalarType >::value, int >::type = 0>
bool operator== (const ScalarType lhs, const_reference rhs) noexcept
 comparison: equal More...
 
bool operator!= (const_reference lhs, const_reference rhs) noexcept
 comparison: not equal More...
 
template<typename ScalarType , typename std::enable_if< std::is_scalar< ScalarType >::value, int >::type = 0>
bool operator!= (const_reference lhs, const ScalarType rhs) noexcept
 comparison: not equal More...
 
template<typename ScalarType , typename std::enable_if< std::is_scalar< ScalarType >::value, int >::type = 0>
bool operator!= (const ScalarType lhs, const_reference rhs) noexcept
 comparison: not equal More...
 
bool operator< (const_reference lhs, const_reference rhs) noexcept
 comparison: less than More...
 
bool operator<= (const_reference lhs, const_reference rhs) noexcept
 comparison: less than or equal More...
 
bool operator> (const_reference lhs, const_reference rhs) noexcept
 comparison: greater than More...
 
bool operator>= (const_reference lhs, const_reference rhs) noexcept
 comparison: greater than or equal More...
 
+ + + + + + + +

+serialization

std::ostream & operator<< (std::ostream &o, const basic_json &j)
 serialize to stream More...
 
std::ostream & operator>> (const basic_json &j, std::ostream &o)
 serialize to stream More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+deserialization

std::istream & operator<< (basic_json &j, std::istream &i)
 deserialize from stream More...
 
std::istream & operator>> (std::istream &i, basic_json &j)
 deserialize from stream More...
 
template<class T , std::size_t N>
static basic_json parse (T(&array)[N], const parser_callback_t cb=nullptr)
 deserialize from an array More...
 
template<typename CharT , typename std::enable_if< std::is_pointer< CharT >::value and std::is_integral< typename std::remove_pointer< CharT >::type >::value and sizeof(typename std::remove_pointer< CharT >::type)==1, int >::type = 0>
static basic_json parse (const CharT s, const parser_callback_t cb=nullptr)
 deserialize from string literal More...
 
static basic_json parse (std::istream &i, const parser_callback_t cb=nullptr)
 deserialize from stream More...
 
static basic_json parse (std::istream &&i, const parser_callback_t cb=nullptr)
 deserialize from stream More...
 
template<class IteratorType , typename std::enable_if< std::is_base_of< std::random_access_iterator_tag, typename std::iterator_traits< IteratorType >::iterator_category >::value, int >::type = 0>
static basic_json parse (IteratorType first, IteratorType last, const parser_callback_t cb=nullptr)
 deserialize from an iterator range with contiguous storage More...
 
template<class ContiguousContainer , typename std::enable_if< not std::is_pointer< ContiguousContainer >::value and std::is_base_of< std::random_access_iterator_tag, typename std::iterator_traits< decltype(std::begin(std::declval< ContiguousContainer const >()))>::iterator_category >::value, int >::type = 0>
static basic_json parse (const ContiguousContainer &c, const parser_callback_t cb=nullptr)
 deserialize from a container with contiguous storage More...
 
+ + + + + + + + + + + + + +

+binary serialization/deserialization support

static std::vector< uint8_t > to_msgpack (const basic_json &j)
 create a MessagePack serialization of a given JSON value More...
 
static basic_json from_msgpack (const std::vector< uint8_t > &v, const size_t start_index=0)
 create a JSON value from a byte vector in MessagePack format More...
 
static std::vector< uint8_t > to_cbor (const basic_json &j)
 create a MessagePack serialization of a given JSON value More...
 
static basic_json from_cbor (const std::vector< uint8_t > &v, const size_t start_index=0)
 create a JSON value from a byte vector in CBOR format More...
 
+ + + + + + + + + + + + + + + + + + + +

+JSON Pointer functions

reference operator[] (const json_pointer &ptr)
 access specified element via JSON Pointer More...
 
const_reference operator[] (const json_pointer &ptr) const
 access specified element via JSON Pointer More...
 
reference at (const json_pointer &ptr)
 access specified element via JSON Pointer More...
 
const_reference at (const json_pointer &ptr) const
 access specified element via JSON Pointer More...
 
basic_json flatten () const
 return flattened JSON value More...
 
basic_json unflatten () const
 unflatten a previously flattened JSON value More...
 
+ + + + + + + +

+JSON Patch functions

static basic_json diff (const basic_json &source, const basic_json &target, const std::string &path="")
 creates a diff as a JSON patch More...
 
basic_json patch (const basic_json &json_patch) const
 applies a JSON patch More...
 
+

Detailed Description

+

template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer>
+class nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >

+ +

a class to store JSON values

+
Template Parameters
+ + + + + + + + + + +
ObjectTypetype for JSON objects (std::map by default; will be used in object_t)
ArrayTypetype for JSON arrays (std::vector by default; will be used in array_t)
StringTypetype for JSON strings and object keys (std::string by default; will be used in string_t)
BooleanTypetype for JSON booleans (bool by default; will be used in boolean_t)
NumberIntegerTypetype for JSON integer numbers (int64_t by default; will be used in number_integer_t)
NumberUnsignedTypetype for JSON unsigned integer numbers (uint64_t by default; will be used in number_unsigned_t)
NumberFloatTypetype for JSON floating-point numbers (double by default; will be used in number_float_t)
AllocatorTypetype of the allocator to use (std::allocator by default)
JSONSerializerthe serializer to resolve internal calls to to_json() and from_json() (adl_serializer by default)
+
+
+

The class satisfies the following concept requirements:

+
Invariant
The member variables m_value and m_type have the following relationship:
    +
  • If m_type == value_t::object, then m_value.object != nullptr.
  • +
  • If m_type == value_t::array, then m_value.array != nullptr.
  • +
  • If m_type == value_t::string, then m_value.string != nullptr. The invariants are checked by member function assert_invariant().
  • +
+
+
See also
RFC 7159: The JavaScript Object Notation (JSON) Data Interchange Format
+
Since
version 1.0.0
+ +

Definition at line 1016 of file json.hpp.

+

Member Typedef Documentation

+ +

◆ allocator_type

+ +
+
+ + + + +
using allocator_type = AllocatorType<basic_json>
+
+ +

the allocator type

+ +

Definition at line 1057 of file json.hpp.

+ +
+
+ +

◆ array_t

+ +
+
+ + + + +
using array_t = ArrayType<basic_json, AllocatorType<basic_json> >
+
+ +

a type for an array

+

RFC 7159 describes JSON arrays as follows:

+

An array is an ordered sequence of zero or more values.

+
+

To store objects in C++, a type is defined by the template parameters explained below.

+
Template Parameters
+ + + +
ArrayTypecontainer type to store arrays (e.g., std::vector or std::list)
AllocatorTypeallocator to use for arrays (e.g., std::allocator)
+
+
+

Default type

+

With the default values for ArrayType (std::vector) and AllocatorType (std::allocator), the default value for array_t is:

+
std::vector<
basic_json, // value_type
std::allocator<basic_json> // allocator_type
>

Limits

+

RFC 7159 specifies:

+

An implementation may set limits on the maximum depth of nesting.

+
+

In this class, the array's limit of nesting is not constraint explicitly. However, a maximum depth of nesting may be introduced by the compiler or runtime environment. A theoretical limit can be queried by calling the max_size function of a JSON array.

+

Storage

+

Arrays are stored as pointers in a basic_json type. That is, for any access to array values, a pointer of type array_t* must be dereferenced.

+
See also
object_ttype for an object value
+
Since
version 1.0.0
+ +

Definition at line 1305 of file json.hpp.

+ +
+
+ +

◆ boolean_t

+ +
+
+ + + + +
using boolean_t = BooleanType
+
+ +

a type for a boolean

+

RFC 7159 implicitly describes a boolean as a type which differentiates the two literals true and false.

+

To store objects in C++, a type is defined by the template parameter BooleanType which chooses the type to use.

+

Default type

+

With the default values for BooleanType (bool), the default value for boolean_t is:

+
bool

Storage

+

Boolean values are stored directly inside a basic_json type.

+
Since
version 1.0.0
+ +

Definition at line 1384 of file json.hpp.

+ +
+
+ +

◆ const_iterator

+ +
+
+ + + + +
using const_iterator = iter_impl<const basic_json>
+
+ +

a const iterator for a basic_json container

+ +

Definition at line 1067 of file json.hpp.

+ +
+
+ +

◆ const_pointer

+ +
+
+ + + + +
using const_pointer = typename std::allocator_traits<allocator_type>::const_pointer
+
+ +

the type of an element const pointer

+ +

Definition at line 1062 of file json.hpp.

+ +
+
+ +

◆ const_reference

+ +
+
+ + + + +
using const_reference = const value_type&
+
+ +

the type of an element const reference

+ +

Definition at line 1049 of file json.hpp.

+ +
+
+ +

◆ const_reverse_iterator

+ +
+
+ +

a const reverse iterator for a basic_json container

+ +

Definition at line 1071 of file json.hpp.

+ +
+
+ +

◆ difference_type

+ +
+
+ + + + +
using difference_type = std::ptrdiff_t
+
+ +

a type to represent differences between iterators

+ +

Definition at line 1052 of file json.hpp.

+ +
+
+ +

◆ iterator

+ +
+
+ + + + +
using iterator = iter_impl<basic_json>
+
+ +

an iterator for a basic_json container

+ +

Definition at line 1065 of file json.hpp.

+ +
+
+ +

◆ json_serializer

+ +
+
+ + + + +
using json_serializer = JSONSerializer<T, SFINAE>
+
+ +

Definition at line 1032 of file json.hpp.

+ +
+
+ +

◆ number_float_t

+ +
+
+ + + + +
using number_float_t = NumberFloatType
+
+ +

a type for a number (floating-point)

+

RFC 7159 describes numbers as follows:

+

The representation of numbers is similar to that used in most programming languages. A number is represented in base 10 using decimal digits. It contains an integer component that may be prefixed with an optional minus sign, which may be followed by a fraction part and/or an exponent part. Leading zeros are not allowed. (...) Numeric values that cannot be represented in the grammar below (such as Infinity and NaN) are not permitted.

+
+

This description includes both integer and floating-point numbers. However, C++ allows more precise storage if it is known whether the number is a signed integer, an unsigned integer or a floating-point number. Therefore, three different types, number_integer_t, number_unsigned_t and number_float_t are used.

+

To store floating-point numbers in C++, a type is defined by the template parameter NumberFloatType which chooses the type to use.

+

Default type

+

With the default values for NumberFloatType (double), the default value for number_float_t is:

+
double

Default behavior

+
    +
  • The restrictions about leading zeros is not enforced in C++. Instead, leading zeros in floating-point literals will be ignored. Internally, the value will be stored as decimal number. For instance, the C++ floating-point literal 01.2 will be serialized to 1.2. During deserialization, leading zeros yield an error.
  • +
  • Not-a-number (NaN) values will be serialized to null.
  • +
+

Limits

+

RFC 7159 states:

+

This specification allows implementations to set limits on the range and precision of numbers accepted. Since software that implements IEEE 754-2008 binary64 (double precision) numbers is generally available and widely used, good interoperability can be achieved by implementations that expect no more precision or range than these provide, in the sense that implementations will approximate JSON numbers within the expected precision.

+
+

This implementation does exactly follow this approach, as it uses double precision floating-point numbers. Note values smaller than -1.79769313486232e+308 and values greater than 1.79769313486232e+308 will be stored as NaN internally and be serialized to null.

+

Storage

+

Floating-point number values are stored directly inside a basic_json type.

+
See also
number_integer_ttype for number values (integer)
+
+number_unsigned_ttype for number values (unsigned integer)
+
Since
version 1.0.0
+ +

Definition at line 1595 of file json.hpp.

+ +
+
+ +

◆ number_integer_t

+ +
+
+ + + + +
using number_integer_t = NumberIntegerType
+
+ +

a type for a number (integer)

+

RFC 7159 describes numbers as follows:

+

The representation of numbers is similar to that used in most programming languages. A number is represented in base 10 using decimal digits. It contains an integer component that may be prefixed with an optional minus sign, which may be followed by a fraction part and/or an exponent part. Leading zeros are not allowed. (...) Numeric values that cannot be represented in the grammar below (such as Infinity and NaN) are not permitted.

+
+

This description includes both integer and floating-point numbers. However, C++ allows more precise storage if it is known whether the number is a signed integer, an unsigned integer or a floating-point number. Therefore, three different types, number_integer_t, number_unsigned_t and number_float_t are used.

+

To store integer numbers in C++, a type is defined by the template parameter NumberIntegerType which chooses the type to use.

+

Default type

+

With the default values for NumberIntegerType (int64_t), the default value for number_integer_t is:

+
int64_t

Default behavior

+
    +
  • The restrictions about leading zeros is not enforced in C++. Instead, leading zeros in integer literals lead to an interpretation as octal number. Internally, the value will be stored as decimal number. For instance, the C++ integer literal 010 will be serialized to 8. During deserialization, leading zeros yield an error.
  • +
  • Not-a-number (NaN) values will be serialized to null.
  • +
+

Limits

+

RFC 7159 specifies:

+

An implementation may set limits on the range and precision of numbers.

+
+

When the default type is used, the maximal integer number that can be stored is 9223372036854775807 (INT64_MAX) and the minimal integer number that can be stored is -9223372036854775808 (INT64_MIN). Integer numbers that are out of range will yield over/underflow when used in a constructor. During deserialization, too large or small integer numbers will be automatically be stored as number_unsigned_t or number_float_t.

+

RFC 7159 further states:

+

Note that when such software is used, numbers that are integers and are in the range $[-2^{53}+1, 2^{53}-1]$ are interoperable in the sense that implementations will agree exactly on their numeric values.

+
+

As this range is a subrange of the exactly supported range [INT64_MIN, INT64_MAX], this class's integer type is interoperable.

+

Storage

+

Integer number values are stored directly inside a basic_json type.

+
See also
number_float_ttype for number values (floating-point)
+
+number_unsigned_ttype for number values (unsigned integer)
+
Since
version 1.0.0
+ +

Definition at line 1456 of file json.hpp.

+ +
+
+ +

◆ number_unsigned_t

+ +
+
+ + + + +
using number_unsigned_t = NumberUnsignedType
+
+ +

a type for a number (unsigned)

+

RFC 7159 describes numbers as follows:

+

The representation of numbers is similar to that used in most programming languages. A number is represented in base 10 using decimal digits. It contains an integer component that may be prefixed with an optional minus sign, which may be followed by a fraction part and/or an exponent part. Leading zeros are not allowed. (...) Numeric values that cannot be represented in the grammar below (such as Infinity and NaN) are not permitted.

+
+

This description includes both integer and floating-point numbers. However, C++ allows more precise storage if it is known whether the number is a signed integer, an unsigned integer or a floating-point number. Therefore, three different types, number_integer_t, number_unsigned_t and number_float_t are used.

+

To store unsigned integer numbers in C++, a type is defined by the template parameter NumberUnsignedType which chooses the type to use.

+

Default type

+

With the default values for NumberUnsignedType (uint64_t), the default value for number_unsigned_t is:

+
uint64_t

Default behavior

+
    +
  • The restrictions about leading zeros is not enforced in C++. Instead, leading zeros in integer literals lead to an interpretation as octal number. Internally, the value will be stored as decimal number. For instance, the C++ integer literal 010 will be serialized to 8. During deserialization, leading zeros yield an error.
  • +
  • Not-a-number (NaN) values will be serialized to null.
  • +
+

Limits

+

RFC 7159 specifies:

+

An implementation may set limits on the range and precision of numbers.

+
+

When the default type is used, the maximal integer number that can be stored is 18446744073709551615 (UINT64_MAX) and the minimal integer number that can be stored is 0. Integer numbers that are out of range will yield over/underflow when used in a constructor. During deserialization, too large or small integer numbers will be automatically be stored as number_integer_t or number_float_t.

+

RFC 7159 further states:

+

Note that when such software is used, numbers that are integers and are in the range $[-2^{53}+1, 2^{53}-1]$ are interoperable in the sense that implementations will agree exactly on their numeric values.

+
+

As this range is a subrange (when considered in conjunction with the number_integer_t type) of the exactly supported range [0, UINT64_MAX], this class's integer type is interoperable.

+

Storage

+

Integer number values are stored directly inside a basic_json type.

+
See also
number_float_ttype for number values (floating-point)
+
+number_integer_ttype for number values (integer)
+
Since
version 2.0.0
+ +

Definition at line 1527 of file json.hpp.

+ +
+
+ +

◆ object_t

+ +
+
+ + + + +
using object_t = ObjectType<StringType, basic_json, std::less<StringType>, AllocatorType<std::pair<const StringType, basic_json> >>
+
+ +

a type for an object

+

RFC 7159 describes JSON objects as follows:

+

An object is an unordered collection of zero or more name/value pairs, where a name is a string and a value is a string, number, boolean, null, object, or array.

+
+

To store objects in C++, a type is defined by the template parameters described below.

+
Template Parameters
+ + + + +
ObjectTypethe container to store objects (e.g., std::map or std::unordered_map)
StringTypethe type of the keys or names (e.g., std::string). The comparison function std::less<StringType> is used to order elements inside the container.
AllocatorTypethe allocator to use for objects (e.g., std::allocator)
+
+
+

Default type

+

With the default values for ObjectType (std::map), StringType (std::string), and AllocatorType (std::allocator), the default value for object_t is:

+
std::map<
std::string, // key_type
basic_json, // value_type
std::less<std::string>, // key_compare
std::allocator<std::pair<const std::string, basic_json>> // allocator_type
>

Behavior

+

The choice of object_t influences the behavior of the JSON class. With the default type, objects have the following behavior:

+
    +
  • When all names are unique, objects will be interoperable in the sense that all software implementations receiving that object will agree on the name-value mappings.
  • +
  • When the names within an object are not unique, later stored name/value pairs overwrite previously stored name/value pairs, leaving the used names unique. For instance, {"key": 1} and {"key": 2, "key": 1} will be treated as equal and both stored as {"key": 1}.
  • +
  • Internally, name/value pairs are stored in lexicographical order of the names. Objects will also be serialized (see dump) in this order. For instance, {"b": 1, "a": 2} and {"a": 2, "b": 1} will be stored and serialized as {"a": 2, "b": 1}.
  • +
  • When comparing objects, the order of the name/value pairs is irrelevant. This makes objects interoperable in the sense that they will not be affected by these differences. For instance, {"b": 1, "a": 2} and {"a": 2, "b": 1} will be treated as equal.
  • +
+

Limits

+

RFC 7159 specifies:

+

An implementation may set limits on the maximum depth of nesting.

+
+

In this class, the object's limit of nesting is not constraint explicitly. However, a maximum depth of nesting may be introduced by the compiler or runtime environment. A theoretical limit can be queried by calling the max_size function of a JSON object.

+

Storage

+

Objects are stored as pointers in a basic_json type. That is, for any access to object values, a pointer of type object_t* must be dereferenced.

+
See also
array_ttype for an array value
+
Since
version 1.0.0
+
Note
The order name/value pairs are added to the object is not preserved by the library. Therefore, iterating an object may return name/value pairs in a different order than they were originally stored. In fact, keys will be traversed in alphabetical order as std::map with std::less is used by default. Please note this behavior conforms to RFC 7159, because any order implements the specified "unordered" nature of JSON objects.
+ +

Definition at line 1259 of file json.hpp.

+ +
+
+ +

◆ parser_callback_t

+ +
+
+ + + + +
using parser_callback_t = std::function<bool(int depth, parse_event_t event, basic_json& parsed)>
+
+ +

per-element parser callback type

+

With a parser callback function, the result of parsing a JSON text can be influenced. When passed to parse(std::istream&, const parser_callback_t) or parse(const CharT, const parser_callback_t), it is called on certain events (passed as parse_event_t via parameter event) with a set recursion depth depth and context JSON value parsed. The return value of the callback function is a boolean indicating whether the element that emitted the callback shall be kept or not.

+

We distinguish six scenarios (determined by the event type) in which the callback function can be called. The following table describes the values of the parameters depth, event, and parsed.

+ + + + + + + + + + + + + + + +
parameter event description parameter depth parameter parsed
parse_event_t::object_start the parser read { and started to process a JSON object depth of the parent of the JSON object a JSON value with type discarded
parse_event_t::key the parser read a key of a value in an object depth of the currently parsed JSON object a JSON string containing the key
parse_event_t::object_end the parser read } and finished processing a JSON object depth of the parent of the JSON object the parsed JSON object
parse_event_t::array_start the parser read [ and started to process a JSON array depth of the parent of the JSON array a JSON value with type discarded
parse_event_t::array_end the parser read ] and finished processing a JSON array depth of the parent of the JSON array the parsed JSON array
parse_event_t::value the parser finished reading a JSON value depth of the value the parsed JSON value
+
+callback_events.png +
+Example when certain parse events are triggered
+

Discarding a value (i.e., returning false) has different effects depending on the context in which function was called:

+
    +
  • Discarded values in structured types are skipped. That is, the parser will behave as if the discarded value was never read.
  • +
  • In case a value outside a structured type is skipped, it is replaced with null. This case happens if the top-level element is skipped.
  • +
+
Parameters
+ + + + +
[in]depththe depth of the recursion during parsing
[in]eventan event of type parse_event_t indicating the context in the callback function has been called
[in,out]parsedthe current intermediate parse result; note that writing to this value has no effect for parse_event_t::key events
+
+
+
Returns
Whether the JSON value which called the function during parsing should be kept (true) or not (false). In the latter case, it is either skipped completely or replaced by an empty discarded object.
+
See also
parse(std::istream&, parser_callback_t) or parse(const CharT, const parser_callback_t) for examples
+
Since
version 1.0.0
+ +

Definition at line 1854 of file json.hpp.

+ +
+
+ +

◆ pointer

+ +
+
+ + + + +
using pointer = typename std::allocator_traits<allocator_type>::pointer
+
+ +

the type of an element pointer

+ +

Definition at line 1060 of file json.hpp.

+ +
+
+ +

◆ reference

+ +
+
+ + + + +
using reference = value_type&
+
+ +

the type of an element reference

+ +

Definition at line 1047 of file json.hpp.

+ +
+
+ +

◆ reverse_iterator

+ +
+
+ +

a reverse iterator for a basic_json container

+ +

Definition at line 1069 of file json.hpp.

+ +
+
+ +

◆ size_type

+ +
+
+ + + + +
using size_type = std::size_t
+
+ +

a type to represent container sizes

+ +

Definition at line 1054 of file json.hpp.

+ +
+
+ +

◆ string_t

+ +
+
+ + + + +
using string_t = StringType
+
+ +

a type for a string

+

RFC 7159 describes JSON strings as follows:

+

A string is a sequence of zero or more Unicode characters.

+
+

To store objects in C++, a type is defined by the template parameter described below. Unicode values are split by the JSON class into byte-sized characters during deserialization.

+
Template Parameters
+ + +
StringTypethe container to store strings (e.g., std::string). Note this container is used for keys/names in objects, see object_t.
+
+
+

Default type

+

With the default values for StringType (std::string), the default value for string_t is:

+
std::string

Encoding

+

Strings are stored in UTF-8 encoding. Therefore, functions like std::string::size() or std::string::length() return the number of bytes in the string rather than the number of characters or glyphs.

+

String comparison

+

RFC 7159 states:

+

Software implementations are typically required to test names of object members for equality. Implementations that transform the textual representation into sequences of Unicode code units and then perform the comparison numerically, code unit by code unit, are interoperable in the sense that implementations will agree in all cases on equality or inequality of two strings. For example, implementations that compare strings with escaped characters unconverted may incorrectly find that "a\\b" and "a\u005Cb" are not equal.

+
+

This implementation is interoperable as it does compare strings code unit by code unit.

+

Storage

+

String values are stored as pointers in a basic_json type. That is, for any access to string values, a pointer of type string_t* must be dereferenced.

+
Since
version 1.0.0
+ +

Definition at line 1358 of file json.hpp.

+ +
+
+ +

◆ value_t

+ +
+
+ + + + +
using value_t = detail::value_t
+
+ +

Definition at line 1026 of file json.hpp.

+ +
+
+ +

◆ value_type

+ +
+
+ + + + +
using value_type = basic_json
+
+ +

the type of elements in a basic_json container

+ +

Definition at line 1044 of file json.hpp.

+ +
+
+

Member Enumeration Documentation

+ +

◆ parse_event_t

+ +
+
+ + + + + +
+ + + + +
enum parse_event_t : uint8_t
+
+strong
+
+ +

JSON callback events.

+

This enumeration lists the parser events that can trigger calling a callback function of type parser_callback_t during parsing.

+
+callback_events.png +
+Example when certain parse events are triggered
+
Since
version 1.0.0
+ + + + + + + +
Enumerator
object_start 

the parser read { and started to process a JSON object

+
object_end 

the parser read } and finished processing a JSON object

+
array_start 

the parser read [ and started to process a JSON array

+
array_end 

the parser read ] and finished processing a JSON array

+
key 

the parser read a key of a value in an object

+
value 

the parser finished reading a JSON value

+
+ +

Definition at line 1784 of file json.hpp.

+ +
+
+

Constructor & Destructor Documentation

+ +

◆ basic_json() [1/9]

+ +
+
+ + + + + +
+ + + + + + + + +
basic_json (const value_t value_type)
+
+inline
+
+ +

create an empty value with a given type

+

Create an empty JSON value with a given type. The value will be default initialized with an empty value which depends on the type:

+ + + + + + + + + + + + + + + +
Value type initial value
null null
boolean false
string ""
number 0
object {}
array []
+
Parameters
+ + +
[in]value_typethe type of the value to create
+
+
+

Constant.

+
Exceptions
+ + +
std::bad_allocif allocation for object, array, or string value fails
+
+
+

{The following code shows the constructor for different value_t values,basic_json__value_t}

+
Since
version 1.0.0
+ +

Definition at line 1893 of file json.hpp.

+ +
+
+ +

◆ basic_json() [2/9]

+ +
+
+ + + + + +
+ + + + + + + + +
basic_json (std::nullptr_t  = nullptr)
+
+inlinenoexcept
+
+ +

create a null object

+

Create a null JSON value. It either takes a null pointer as parameter (explicitly creating null) or no parameter (implicitly creating null). The passed null pointer itself is not read – it is only used to choose the right constructor.

+

Constant.

+

No-throw guarantee: this constructor never throws exceptions.

+

{The following code shows the constructor with and without a null pointer parameter.,basic_json__nullptr_t}

+
Since
version 1.0.0
+ +

Definition at line 1917 of file json.hpp.

+ +
+
+ +

◆ basic_json() [3/9]

+ +
+
+ + + + + +
+ + + + + + + + +
basic_json (CompatibleType && val)
+
+inlinenoexcept
+
+ +

create a JSON value

+

This is a "catch all" constructor for all compatible JSON types; that is, types for which a to_json() method exsits. The constructor forwards the parameter val to that method (to json_serializer<U>::to_json method with U = uncvref_t<CompatibleType>, to be exact).

+

Template type CompatibleType includes, but is not limited to, the following types:

    +
  • arrays: array_t and all kinds of compatible containers such as std::vector, std::deque, std::list, std::forward_list, std::array, std::set, std::unordered_set, std::multiset, and unordered_multiset with a value_type from which a basic_json value can be constructed.
  • +
  • objects: object_t and all kinds of compatible associative containers such as std::map, std::unordered_map, std::multimap, and std::unordered_multimap with a key_type compatible to string_t and a value_type from which a basic_json value can be constructed.
  • +
  • strings: string_t, string literals, and all compatible string containers can be used.
  • +
  • numbers: number_integer_t, number_unsigned_t, number_float_t, and all convertible number types such as int, size_t, int64_t, float or double can be used.
  • +
  • boolean: boolean_t / bool can be used.
  • +
+

See the examples below.

+
Template Parameters
+ + + +
CompatibleTypea type such that:
    +
  • CompatibleType is not derived from std::istream,
  • +
  • CompatibleType is not basic_json (to avoid hijacking copy/move constructors),
  • +
  • CompatibleType is not a basic_json nested type (e.g., json_pointer, iterator, etc ...)
  • +
  • json_serializer<U> has a to_json(basic_json_t&, CompatibleType&&) method
  • +
+
U= uncvref_t<CompatibleType>
+
+
+
Parameters
+ + +
[in]valthe value to be forwarded
+
+
+

Usually linear in the size of the passed val, also depending on the implementation of the called to_json() method.

+
Exceptions
+ + +
whatjson_serializer<U>to_json() throws
+
+
+

{The following code shows the constructor with several compatible types.,basic_json__CompatibleType}

+
Since
version 2.1.0
+ +

Definition at line 1983 of file json.hpp.

+
+Here is the call graph for this function:
+
+
+ + + +
+ +
+
+ +

◆ basic_json() [4/9]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
basic_json (std::initializer_list< basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer > > init,
bool type_deduction = true,
value_t manual_type = value_t::array 
)
+
+inline
+
+ +

create a container (array or object) from an initializer list

+

Creates a JSON value of type array or object from the passed initializer list init. In case type_deduction is true (default), the type of the JSON value to be created is deducted from the initializer list init according to the following rules:

+
    +
  1. If the list is empty, an empty JSON object value {} is created.
  2. +
  3. If the list consists of pairs whose first element is a string, a JSON object value is created where the first elements of the pairs are treated as keys and the second elements are as values.
  4. +
  5. In all other cases, an array is created.
  6. +
+

The rules aim to create the best fit between a C++ initializer list and JSON values. The rationale is as follows:

+
    +
  1. The empty initializer list is written as {} which is exactly an empty JSON object.
  2. +
  3. C++ has now way of describing mapped types other than to list a list of pairs. As JSON requires that keys must be of type string, rule 2 is the weakest constraint one can pose on initializer lists to interpret them as an object.
  4. +
  5. In all other cases, the initializer list could not be interpreted as JSON object type, so interpreting it as JSON array type is safe.
  6. +
+

With the rules described above, the following JSON values cannot be expressed by an initializer list:

+ +
Note
When used without parentheses around an empty initializer list, basic_json() is called instead of this function, yielding the JSON null value.
+
Parameters
+ + + + +
[in]initinitializer list with JSON values
[in]type_deductioninternal parameter; when set to true, the type of the JSON value is deducted from the initializer list init; when set to false, the type provided via manual_type is forced. This mode is used by the functions array(std::initializer_list<basic_json>) and object(std::initializer_list<basic_json>).
[in]manual_typeinternal parameter; when type_deduction is set to false, the created JSON value will use the provided type (only value_t::array and value_t::object are valid); when type_deduction is set to true, this parameter has no effect
+
+
+
Exceptions
+ + +
std::domain_errorif type_deduction is false, manual_type is value_t::object, but init contains an element which is not a pair whose first element is a string; example: "cannot create object from +initializer list"
+
+
+

Linear in the size of the initializer list init.

+

{The example below shows how JSON values are created from initializer lists.,basic_json__list_init_t}

+
See also
array(std::initializer_list<basic_json>) – create a JSON array value from an initializer list
+
+object(std::initializer_list<basic_json>) – create a JSON object value from an initializer list
+
Since
version 1.0.0
+ +

Definition at line 2059 of file json.hpp.

+ +
+
+ +

◆ basic_json() [5/9]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
basic_json (size_type cnt,
const basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer > & val 
)
+
+inline
+
+ +

construct an array with count copies of given value

+

Constructs a JSON array value by creating cnt copies of a passed value. In case cnt is 0, an empty array is created. As postcondition, std::distance(begin(),end()) == cnt holds.

+
Parameters
+ + + +
[in]cntthe number of JSON copies of val to create
[in]valthe JSON value to copy
+
+
+

Linear in cnt.

+

{The following code shows examples for the basic_json(size_type\, const basic_json&) constructor.,basic_json__size_type_basic_json}

+
Since
version 1.0.0
+ +

Definition at line 2206 of file json.hpp.

+ +
+
+ +

◆ basic_json() [6/9]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
basic_json (InputIT first,
InputIT last 
)
+
+inline
+
+ +

construct a JSON container given an iterator range

+

Constructs the JSON value with the contents of the range [first, last). The semantics depends on the different types a JSON value can have:

    +
  • In case of primitive types (number, boolean, or string), first must be begin() and last must be end(). In this case, the value is copied. Otherwise, std::out_of_range is thrown.
  • +
  • In case of structured types (array, object), the constructor behaves as similar versions for std::vector.
  • +
  • In case of a null type, std::domain_error is thrown.
  • +
+
Template Parameters
+ + +
InputITan input iterator type (iterator or const_iterator)
+
+
+
Parameters
+ + + +
[in]firstbegin of the range to copy from (included)
[in]lastend of the range to copy from (excluded)
+
+
+
Precondition
Iterators first and last must be initialized. This precondition is enforced with an assertion.
+
Exceptions
+ + + + + +
std::domain_errorif iterators are not compatible; that is, do not belong to the same JSON value; example: "iterators are not compatible"
std::out_of_rangeif iterators are for a primitive type (number, boolean, or string) where an out of range error can be detected easily; example: "iterators out of range"
std::bad_allocif allocation for object, array, or string fails
std::domain_errorif called with a null value; example: "cannot +use construct with iterators from null"
+
+
+

Linear in distance between first and last.

+

{The example below shows several ways to create JSON values by specifying a subrange with iterators.,basic_json__InputIt_InputIt}

+
Since
version 1.0.0
+ +

Definition at line 2253 of file json.hpp.

+ +
+
+ +

◆ basic_json() [7/9]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
JSON_DEPRECATED basic_json (std::istream & i,
const parser_callback_t cb = nullptr 
)
+
+inlineexplicit
+
+ +

construct a JSON value given an input stream

+
Parameters
+ + + +
[in,out]istream to read a serialized JSON value from
[in]cba parser callback function of type parser_callback_t which is used to control the deserialization by filtering unwanted values (optional)
+
+
+

Linear in the length of the input. The parser is a predictive LL(1) parser. The complexity can be higher if the parser callback function cb has a super-linear complexity.

+
Note
A UTF-8 byte order mark is silently ignored.
+
Deprecated:
This constructor is deprecated and will be removed in version 3.0.0 to unify the interface of the library. Deserialization will be done by stream operators or by calling one of the parse functions, e.g. parse(std::istream&, const parser_callback_t). That is, calls like json j(i); for an input stream i need to be replaced by json j = json::parse(i);. See the example below.
+

{The example below demonstrates constructing a JSON value from a std::stringstream with and without callback function.,basic_json__istream}

+
Since
version 2.0.0, deprecated in version 2.0.3, to be removed in version 3.0.0
+ +

Definition at line 2373 of file json.hpp.

+ +
+
+ +

◆ basic_json() [8/9]

+ +
+
+ + + + + +
+ + + + + + + + +
basic_json (const basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer > & other)
+
+inline
+
+ +

copy constructor

+

Creates a copy of a given JSON value.

+
Parameters
+ + +
[in]otherthe JSON value to copy
+
+
+

Linear in the size of other.

+

This function helps basic_json satisfying the Container requirements:

    +
  • The complexity is linear.
  • +
  • As postcondition, it holds: other == basic_json(other).
  • +
+
Exceptions
+ + +
std::bad_allocif allocation for object, array, or string fails.
+
+
+

{The following code shows an example for the copy constructor.,basic_json__basic_json}

+
Since
version 1.0.0
+ +

Definition at line 2405 of file json.hpp.

+ +
+
+ +

◆ basic_json() [9/9]

+ +
+
+ + + + + +
+ + + + + + + + +
basic_json (basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer > && other)
+
+inlinenoexcept
+
+ +

move constructor

+

Move constructor. Constructs a JSON value with the contents of the given value other using move semantics. It "steals" the resources from other and leaves it as JSON null value.

+
Parameters
+ + +
[in,out]othervalue to move to this object
+
+
+
Postcondition
other is a JSON null value
+

Constant.

+

{The code below shows the move constructor explicitly called via std::move.,basic_json__moveconstructor}

+
Since
version 1.0.0
+ +

Definition at line 2482 of file json.hpp.

+ +
+
+ +

◆ ~basic_json()

+ +
+
+ + + + + +
+ + + + + + + +
~basic_json ()
+
+inline
+
+ +

destructor

+

Destroys the JSON value and frees all allocated memory.

+

Linear.

+

This function helps basic_json satisfying the Container requirements:

    +
  • The complexity is linear.
  • +
  • All stored elements are destroyed and all memory is freed.
  • +
+
Since
version 1.0.0
+ +

Definition at line 2552 of file json.hpp.

+ +
+
+

Member Function Documentation

+ +

◆ array()

+ +
+
+ + + + + +
+ + + + + + + + +
static basic_json array (std::initializer_list< basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer > > init = std::initializer_list<basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >>())
+
+inlinestatic
+
+ +

explicitly create an array from an initializer list

+

Creates a JSON array value from a given initializer list. That is, given a list of values a, b, c, creates the JSON value [a, b, c]. If the initializer list is empty, the empty array [] is created.

+
Note
This function is only needed to express two edge cases that cannot be realized with the initializer list constructor (basic_json(std::initializer_list<basic_json>, bool, value_t)). These cases are:
    +
  1. creating an array whose elements are all pairs whose first element is a string – in this case, the initializer list constructor would create an object, taking the first elements as keys
  2. +
  3. creating an empty array – passing the empty initializer list to the initializer list constructor yields an empty object
  4. +
+
+
Parameters
+ + +
[in]initinitializer list with JSON values to create an array from (optional)
+
+
+
Returns
JSON array value
+

Linear in the size of init.

+

{The following code shows an example for the array function.,array}

+
See also
basic_json(std::initializer_list<basic_json>, bool, value_t) – create a JSON value from an initializer list
+
+object(std::initializer_list<basic_json>) – create a JSON object value from an initializer list
+
Since
version 1.0.0
+ +

Definition at line 2142 of file json.hpp.

+
+Here is the caller graph for this function:
+
+
+ + + +
+ +
+
+ +

◆ at() [1/6]

+ +
+
+ + + + + +
+ + + + + + + + +
reference at (size_type idx)
+
+inline
+
+ +

access specified array element with bounds checking

+

Returns a reference to the element at specified location idx, with bounds checking.

+
Parameters
+ + +
[in]idxindex of the element to access
+
+
+
Returns
reference to the element at index idx
+
Exceptions
+ + + +
std::domain_errorif the JSON value is not an array; example: "cannot use at() with string"
std::out_of_rangeif the index idx is out of range of the array; that is, idx >= size(); example: "array index 7 is out of range"
+
+
+

Constant.

+

{The example below shows how array elements can be read and written using at().,at__size_type}

+
Since
version 1.0.0
+ +

Definition at line 3508 of file json.hpp.

+
+Here is the caller graph for this function:
+
+
+ + + +
+ +
+
+ +

◆ at() [2/6]

+ +
+
+ + + + + +
+ + + + + + + + +
const_reference at (size_type idx) const
+
+inline
+
+ +

access specified array element with bounds checking

+

Returns a const reference to the element at specified location idx, with bounds checking.

+
Parameters
+ + +
[in]idxindex of the element to access
+
+
+
Returns
const reference to the element at index idx
+
Exceptions
+ + + +
std::domain_errorif the JSON value is not an array; example: "cannot use at() with string"
std::out_of_rangeif the index idx is out of range of the array; that is, idx >= size(); example: "array index 7 is out of range"
+
+
+

Constant.

+

{The example below shows how array elements can be read using at().,at__size_type_const}

+
Since
version 1.0.0
+ +

Definition at line 3551 of file json.hpp.

+ +
+
+ +

◆ at() [3/6]

+ +
+
+ + + + + +
+ + + + + + + + +
reference at (const typename object_t::key_type & key)
+
+inline
+
+ +

access specified object element with bounds checking

+

Returns a reference to the element at with specified key key, with bounds checking.

+
Parameters
+ + +
[in]keykey of the element to access
+
+
+
Returns
reference to the element at key key
+
Exceptions
+ + + +
std::domain_errorif the JSON value is not an object; example: "cannot use at() with boolean"
std::out_of_rangeif the key key is is not stored in the object; that is, find(key) == end(); example: "key "the fast" not found"
+
+
+

Logarithmic in the size of the container.

+

{The example below shows how object elements can be read and written using at().,at__object_t_key_type}

+
See also
operator[](const typename object_t::key_type&) for unchecked access by reference
+
+value() for access by value with a default value
+
Since
version 1.0.0
+ +

Definition at line 3598 of file json.hpp.

+ +
+
+ +

◆ at() [4/6]

+ +
+
+ + + + + +
+ + + + + + + + +
const_reference at (const typename object_t::key_type & key) const
+
+inline
+
+ +

access specified object element with bounds checking

+

Returns a const reference to the element at with specified key key, with bounds checking.

+
Parameters
+ + +
[in]keykey of the element to access
+
+
+
Returns
const reference to the element at key key
+
Exceptions
+ + + +
std::domain_errorif the JSON value is not an object; example: "cannot use at() with boolean"
std::out_of_rangeif the key key is is not stored in the object; that is, find(key) == end(); example: "key "the fast" not found"
+
+
+

Logarithmic in the size of the container.

+

{The example below shows how object elements can be read using at().,at__object_t_key_type_const}

+
See also
operator[](const typename object_t::key_type&) for unchecked access by reference
+
+value() for access by value with a default value
+
Since
version 1.0.0
+ +

Definition at line 3645 of file json.hpp.

+ +
+
+ +

◆ at() [5/6]

+ +
+
+ + + + + +
+ + + + + + + + +
reference at (const json_pointerptr)
+
+inline
+
+ +

access specified element via JSON Pointer

+

Returns a reference to the element at with specified JSON pointer ptr, with bounds checking.

+
Parameters
+ + +
[in]ptrJSON pointer to the desired element
+
+
+
Returns
reference to the element pointed to by ptr
+

Constant.

+
Exceptions
+ + + + +
std::out_of_rangeif the JSON pointer can not be resolved
std::domain_errorif an array index begins with '0'
std::invalid_argumentif an array index was not a number
+
+
+

{The behavior is shown in the example.,at_json_pointer}

+
Since
version 2.0.0
+ +

Definition at line 12313 of file json.hpp.

+ +
+
+ +

◆ at() [6/6]

+ +
+
+ + + + + +
+ + + + + + + + +
const_reference at (const json_pointerptr) const
+
+inline
+
+ +

access specified element via JSON Pointer

+

Returns a const reference to the element at with specified JSON pointer ptr, with bounds checking.

+
Parameters
+ + +
[in]ptrJSON pointer to the desired element
+
+
+
Returns
reference to the element pointed to by ptr
+

Constant.

+
Exceptions
+ + + + +
std::out_of_rangeif the JSON pointer can not be resolved
std::domain_errorif an array index begins with '0'
std::invalid_argumentif an array index was not a number
+
+
+

{The behavior is shown in the example.,at_json_pointer_const}

+
Since
version 2.0.0
+ +

Definition at line 12338 of file json.hpp.

+ +
+
+ +

◆ back() [1/2]

+ +
+
+ + + + + +
+ + + + + + + +
reference back ()
+
+inline
+
+ +

access the last element

+

Returns a reference to the last element in the container. For a JSON container c, the expression c.back() is equivalent to

auto tmp = c.end();
--tmp;
return *tmp;
Returns
In case of a structured type (array or object), a reference to the last element is returned. In case of number, string, or boolean values, a reference to the value is returned.
+

Constant.

+
Precondition
The JSON value must not be null (would throw std::out_of_range) or an empty array or object (undefined behavior, guarded by assertions).
+
Postcondition
The JSON value remains unchanged.
+
Exceptions
+ + +
std::out_of_rangewhen called on null value.
+
+
+

{The following code shows an example for back().,back}

+
See also
front() – access the first element
+
Since
version 1.0.0
+ +

Definition at line 4212 of file json.hpp.

+ +
+
+ +

◆ back() [2/2]

+ +
+
+ + + + + +
+ + + + + + + +
const_reference back () const
+
+inline
+
+ +

access the last element

+

Returns a reference to the last element in the container. For a JSON container c, the expression c.back() is equivalent to

auto tmp = c.end();
--tmp;
return *tmp;
Returns
In case of a structured type (array or object), a reference to the last element is returned. In case of number, string, or boolean values, a reference to the value is returned.
+

Constant.

+
Precondition
The JSON value must not be null (would throw std::out_of_range) or an empty array or object (undefined behavior, guarded by assertions).
+
Postcondition
The JSON value remains unchanged.
+
Exceptions
+ + +
std::out_of_rangewhen called on null value.
+
+
+

{The following code shows an example for back().,back}

+
See also
front() – access the first element
+
Since
version 1.0.0
+ +

Definition at line 4222 of file json.hpp.

+ +
+
+ +

◆ begin() [1/2]

+ +
+
+ + + + + +
+ + + + + + + +
iterator begin ()
+
+inlinenoexcept
+
+ +

returns an iterator to the first element

+

Returns an iterator to the first element.

+
+range-begin-end.svg +
+Illustration from cppreference.com
+
Returns
iterator to the first element
+

Constant.

+

This function helps basic_json satisfying the Container requirements:

    +
  • The complexity is constant.
  • +
+

{The following code shows an example for begin().,begin}

+
See also
cbegin() – returns a const iterator to the beginning
+
+end() – returns an iterator to the end
+
+cend() – returns a const iterator to the end
+
Since
version 1.0.0
+ +

Definition at line 4647 of file json.hpp.

+
+Here is the caller graph for this function:
+
+
+ + + + +
+ +
+
+ +

◆ begin() [2/2]

+ +
+
+ + + + + +
+ + + + + + + +
const_iterator begin () const
+
+inlinenoexcept
+
+ +

returns a const iterator to the first element

+

Returns a const iterator to the first element.

+
+range-begin-end.svg +
+Illustration from cppreference.com
+
Returns
const iterator to the first element
+

Constant.

+

This function helps basic_json satisfying the Container requirements:

    +
  • The complexity is constant.
  • +
  • Has the semantics of const_cast<const basic_json&>(*this).begin().
  • +
+

{The following code shows an example for cbegin().,cbegin}

+
See also
begin() – returns an iterator to the beginning
+
+end() – returns an iterator to the end
+
+cend() – returns a const iterator to the end
+
Since
version 1.0.0
+ +

Definition at line 4657 of file json.hpp.

+ +
+
+ +

◆ cbegin()

+ +
+
+ + + + + +
+ + + + + + + +
const_iterator cbegin () const
+
+inlinenoexcept
+
+ +

returns a const iterator to the first element

+

Returns a const iterator to the first element.

+
+range-begin-end.svg +
+Illustration from cppreference.com
+
Returns
const iterator to the first element
+

Constant.

+

This function helps basic_json satisfying the Container requirements:

    +
  • The complexity is constant.
  • +
  • Has the semantics of const_cast<const basic_json&>(*this).begin().
  • +
+

{The following code shows an example for cbegin().,cbegin}

+
See also
begin() – returns an iterator to the beginning
+
+end() – returns an iterator to the end
+
+cend() – returns a const iterator to the end
+
Since
version 1.0.0
+ +

Definition at line 4687 of file json.hpp.

+ +
+
+ +

◆ cend()

+ +
+
+ + + + + +
+ + + + + + + +
const_iterator cend () const
+
+inlinenoexcept
+
+ +

returns a const iterator to one past the last element

+

Returns a const iterator to one past the last element.

+
+range-begin-end.svg +
+Illustration from cppreference.com
+
Returns
const iterator one past the last element
+

Constant.

+

This function helps basic_json satisfying the Container requirements:

    +
  • The complexity is constant.
  • +
  • Has the semantics of const_cast<const basic_json&>(*this).end().
  • +
+

{The following code shows an example for cend().,cend}

+
See also
end() – returns an iterator to the end
+
+begin() – returns an iterator to the beginning
+
+cbegin() – returns a const iterator to the beginning
+
Since
version 1.0.0
+ +

Definition at line 4758 of file json.hpp.

+ +
+
+ +

◆ clear()

+ +
+
+ + + + + +
+ + + + + + + +
void clear ()
+
+inlinenoexcept
+
+ +

clears the contents

+

Clears the content of a JSON value and resets it to the default value as if basic_json(value_t) would have been called:

+ + + + + + + + + + + + + + + +
Value type initial value
null null
boolean false
string ""
number 0
object {}
array []
+

Linear in the size of the JSON value.

+

{The example below shows the effect of clear() to different JSON types.,clear}

+
Since
version 1.0.0
+ +

Definition at line 5162 of file json.hpp.

+ +
+
+ +

◆ count()

+ +
+
+ + + + + +
+ + + + + + + + +
size_type count (typename object_t::key_type key) const
+
+inline
+
+ +

returns the number of occurrences of a key in a JSON object

+

Returns the number of elements with key key. If ObjectType is the default std::map type, the return value will always be 0 (key was not found) or 1 (key was found).

+
Note
This method always returns 0 when executed on a JSON type that is not an object.
+
Parameters
+ + +
[in]keykey value of the element to count
+
+
+
Returns
Number of elements with key key. If the JSON value is not an object, the return value will be 0.
+

Logarithmic in the size of the JSON object.

+

{The example shows how count() is used.,count}

+
Since
version 1.0.0
+ +

Definition at line 4607 of file json.hpp.

+ +
+
+ +

◆ crbegin()

+ +
+
+ + + + + +
+ + + + + + + +
const_reverse_iterator crbegin () const
+
+inlinenoexcept
+
+ +

returns a const reverse iterator to the last element

+

Returns a const iterator to the reverse-beginning; that is, the last element.

+
+range-rbegin-rend.svg +
+Illustration from cppreference.com
+

Constant.

+

This function helps basic_json satisfying the ReversibleContainer requirements:

    +
  • The complexity is constant.
  • +
  • Has the semantics of const_cast<const basic_json&>(*this).rbegin().
  • +
+

{The following code shows an example for crbegin().,crbegin}

+
See also
rbegin() – returns a reverse iterator to the beginning
+
+rend() – returns a reverse iterator to the end
+
+crend() – returns a const reverse iterator to the end
+
Since
version 1.0.0
+ +

Definition at line 4862 of file json.hpp.

+ +
+
+ +

◆ crend()

+ +
+
+ + + + + +
+ + + + + + + +
const_reverse_iterator crend () const
+
+inlinenoexcept
+
+ +

returns a const reverse iterator to one before the first

+

Returns a const reverse iterator to the reverse-end; that is, one before the first element.

+
+range-rbegin-rend.svg +
+Illustration from cppreference.com
+

Constant.

+

This function helps basic_json satisfying the ReversibleContainer requirements:

    +
  • The complexity is constant.
  • +
  • Has the semantics of const_cast<const basic_json&>(*this).rend().
  • +
+

{The following code shows an example for crend().,crend}

+
See also
rend() – returns a reverse iterator to the end
+
+rbegin() – returns a reverse iterator to the beginning
+
+crbegin() – returns a const reverse iterator to the beginning
+
Since
version 1.0.0
+ +

Definition at line 4891 of file json.hpp.

+ +
+
+ +

◆ diff()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static basic_json diff (const basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer > & source,
const basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer > & target,
const std::string & path = "" 
)
+
+inlinestatic
+
+ +

creates a diff as a JSON patch

+

Creates a JSON Patch so that value source can be changed into the value target by calling patch function.

+
Invariant
For two JSON values source and target, the following code yields always true:
source.patch(diff(source, target)) == target;
+
Note
Currently, only remove, add, and replace operations are generated.
+
Parameters
+ + + + +
[in]sourceJSON value to compare from
[in]targetJSON value to compare against
[in]pathhelper value to create JSON pointers
+
+
+
Returns
a JSON patch to convert the source to target
+

Linear in the lengths of source and target.

+

{The following code shows how a JSON patch is created as a diff for two JSON values.,diff}

+
See also
patch – apply a JSON patch
+
+RFC 6902 (JSON Patch)
+
Since
version 2.0.0
+ +

Definition at line 12742 of file json.hpp.

+
+Here is the call graph for this function:
+
+
+ + + + + + + + + +
+ +
+
+ +

◆ dump()

+ +
+
+ + + + + +
+ + + + + + + + +
string_t dump (const int indent = -1) const
+
+inline
+
+ +

serialization

+

Serialization function for JSON values. The function tries to mimic Python's json.dumps() function, and currently supports its indent parameter.

+
Parameters
+ + +
[in]indentIf indent is nonnegative, then array elements and object members will be pretty-printed with that indent level. An indent level of 0 will only insert newlines. -1 (the default) selects the most compact representation.
+
+
+
Returns
string containing the serialization of the JSON value
+

Linear.

+

{The following example shows the effect of different indent parameters to the result of the serialization.,dump}

+
See also
https://docs.python.org/2/library/json.html#json.dump
+
Since
version 1.0.0
+ +

Definition at line 2624 of file json.hpp.

+
+Here is the caller graph for this function:
+
+
+ + + +
+ +
+
+ +

◆ emplace()

+ +
+
+ + + + + +
+ + + + + + + + +
std::pair<iterator, bool> emplace (Args &&... args)
+
+inline
+
+ +

add an object to an object if key does not exist

+

Inserts a new element into a JSON object constructed in-place with the given args if there is no element with the key in the container. If the function is called on a JSON null value, an empty object is created before appending the value created from args.

+
Parameters
+ + +
[in]argsarguments to forward to a constructor of basic_json
+
+
+
Template Parameters
+ + +
Argscompatible types to create a basic_json object
+
+
+
Returns
a pair consisting of an iterator to the inserted element, or the already-existing element if no insertion happened, and a bool denoting whether the insertion took place.
+
Exceptions
+ + +
std::domain_errorwhen called on a type other than JSON object or null; example: "cannot use emplace() with number"
+
+
+

Logarithmic in the size of the container, O(log(size())).

+

{The example shows how emplace() can be used to add elements to a JSON object. Note how the null value was silently converted to a JSON object. Further note how no value is added if there was already one value stored with the same key.,emplace}

+
Since
version 2.0.8
+ +

Definition at line 5469 of file json.hpp.

+ +
+
+ +

◆ emplace_back()

+ +
+
+ + + + + +
+ + + + + + + + +
void emplace_back (Args &&... args)
+
+inline
+
+ +

add an object to an array

+

Creates a JSON value from the passed parameters args to the end of the JSON value. If the function is called on a JSON null value, an empty array is created before appending the value created from args.

+
Parameters
+ + +
[in]argsarguments to forward to a constructor of basic_json
+
+
+
Template Parameters
+ + +
Argscompatible types to create a basic_json object
+
+
+
Exceptions
+ + +
std::domain_errorwhen called on a type other than JSON array or null; example: "cannot use emplace_back() with number"
+
+
+

Amortized constant.

+

{The example shows how push_back() can be used to add elements to a JSON array. Note how the null value was silently converted to a JSON array.,emplace_back}

+
Since
version 2.0.8
+ +

Definition at line 5421 of file json.hpp.

+ +
+
+ +

◆ empty()

+ +
+
+ + + + + +
+ + + + + + + +
bool empty () const
+
+inlinenoexcept
+
+ +

checks whether the container is empty

+

Checks if a JSON value has no elements.

+
Returns
The return value depends on the different types and is defined as follows: + + + + + + + + + + + + + + +
Value type return value
null true
boolean false
string false
number false
object result of function object_t::empty()
array result of function array_t::empty()
+
+
Note
This function does not return whether a string stored as JSON value is empty - it returns whether the JSON container itself is empty which is false in the case of a string.
+

Constant, as long as array_t and object_t satisfy the Container concept; that is, their empty() functions have constant complexity.

+

This function helps basic_json satisfying the Container requirements:

    +
  • The complexity is constant.
  • +
  • Has the semantics of begin() == end().
  • +
+

{The following code uses empty() to check if a JSON object contains any elements.,empty}

+
See also
size() – returns the number of elements
+
Since
version 1.0.0
+ +

Definition at line 4972 of file json.hpp.

+ +
+
+ +

◆ end() [1/2]

+ +
+
+ + + + + +
+ + + + + + + +
iterator end ()
+
+inlinenoexcept
+
+ +

returns an iterator to one past the last element

+

Returns an iterator to one past the last element.

+
+range-begin-end.svg +
+Illustration from cppreference.com
+
Returns
iterator one past the last element
+

Constant.

+

This function helps basic_json satisfying the Container requirements:

    +
  • The complexity is constant.
  • +
+

{The following code shows an example for end().,end}

+
See also
cend() – returns a const iterator to the end
+
+begin() – returns an iterator to the beginning
+
+cbegin() – returns a const iterator to the beginning
+
Since
version 1.0.0
+ +

Definition at line 4718 of file json.hpp.

+
+Here is the caller graph for this function:
+
+
+ + + + +
+ +
+
+ +

◆ end() [2/2]

+ +
+
+ + + + + +
+ + + + + + + +
const_iterator end () const
+
+inlinenoexcept
+
+ +

returns a const iterator to one past the last element

+

Returns a const iterator to one past the last element.

+
+range-begin-end.svg +
+Illustration from cppreference.com
+
Returns
const iterator one past the last element
+

Constant.

+

This function helps basic_json satisfying the Container requirements:

    +
  • The complexity is constant.
  • +
  • Has the semantics of const_cast<const basic_json&>(*this).end().
  • +
+

{The following code shows an example for cend().,cend}

+
See also
end() – returns an iterator to the end
+
+begin() – returns an iterator to the beginning
+
+cbegin() – returns a const iterator to the beginning
+
Since
version 1.0.0
+ +

Definition at line 4728 of file json.hpp.

+ +
+
+ +

◆ erase() [1/4]

+ +
+
+ + + + + +
+ + + + + + + + +
IteratorType erase (IteratorType pos)
+
+inline
+
+ +

remove element given an iterator

+

Removes the element specified by iterator pos. The iterator pos must be valid and dereferenceable. Thus the end() iterator (which is valid, but is not dereferenceable) cannot be used as a value for pos.

+

If called on a primitive type other than null, the resulting JSON value will be null.

+
Parameters
+ + +
[in]positerator to the element to remove
+
+
+
Returns
Iterator following the last removed element. If the iterator pos refers to the last element, the end() iterator is returned.
+
Template Parameters
+ + +
IteratorTypean iterator or const_iterator
+
+
+
Postcondition
Invalidates iterators and references at or after the point of the erase, including the end() iterator.
+
Exceptions
+ + + + +
std::domain_errorif called on a null value; example: "cannot +use erase() with null"
std::domain_errorif called on an iterator which does not belong to the current JSON value; example: "iterator does not fit current value"
std::out_of_rangeif called on a primitive type with invalid iterator (i.e., any iterator which is not begin()); example: "iterator +out of range"
+
+
+

The complexity depends on the type:

    +
  • objects: amortized constant
  • +
  • arrays: linear in distance between pos and the end of the container
  • +
  • strings: linear in the length of the string
  • +
  • other types: constant
  • +
+

{The example shows the result of erase() for different JSON types.,erase__IteratorType}

+
See also
erase(IteratorType, IteratorType) – removes the elements in the given range
+
+erase(const typename object_t::key_type&) – removes the element from an object at the given key
+
+erase(const size_type) – removes the element from an array at the given index
+
Since
version 1.0.0
+ +

Definition at line 4278 of file json.hpp.

+
+Here is the caller graph for this function:
+
+
+ + + +
+ +
+
+ +

◆ erase() [2/4]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
IteratorType erase (IteratorType first,
IteratorType last 
)
+
+inline
+
+ +

remove elements given an iterator range

+

Removes the element specified by the range [first; last). The iterator first does not need to be dereferenceable if first == last: erasing an empty range is a no-op.

+

If called on a primitive type other than null, the resulting JSON value will be null.

+
Parameters
+ + + +
[in]firstiterator to the beginning of the range to remove
[in]lastiterator past the end of the range to remove
+
+
+
Returns
Iterator following the last removed element. If the iterator second refers to the last element, the end() iterator is returned.
+
Template Parameters
+ + +
IteratorTypean iterator or const_iterator
+
+
+
Postcondition
Invalidates iterators and references at or after the point of the erase, including the end() iterator.
+
Exceptions
+ + + + +
std::domain_errorif called on a null value; example: "cannot +use erase() with null"
std::domain_errorif called on iterators which does not belong to the current JSON value; example: "iterators do not fit current value"
std::out_of_rangeif called on a primitive type with invalid iterators (i.e., if first != begin() and last != end()); example: "iterators out of range"
+
+
+

The complexity depends on the type:

    +
  • objects: log(size()) + std::distance(first, last)
  • +
  • arrays: linear in the distance between first and last, plus linear in the distance between last and end of the container
  • +
  • strings: linear in the length of the string
  • +
  • other types: constant
  • +
+

{The example shows the result of erase() for different JSON types.,erase__IteratorType_IteratorType}

+
See also
erase(IteratorType) – removes the element at a given position
+
+erase(const typename object_t::key_type&) – removes the element from an object at the given key
+
+erase(const size_type) – removes the element from an array at the given index
+
Since
version 1.0.0
+ +

Definition at line 4385 of file json.hpp.

+ +
+
+ +

◆ erase() [3/4]

+ +
+
+ + + + + +
+ + + + + + + + +
size_type erase (const typename object_t::key_type & key)
+
+inline
+
+ +

remove element from a JSON object given a key

+

Removes elements from a JSON object with the key value key.

+
Parameters
+ + +
[in]keyvalue of the elements to remove
+
+
+
Returns
Number of elements removed. If ObjectType is the default std::map type, the return value will always be 0 (key was not found) or 1 (key was found).
+
Postcondition
References and iterators to the erased elements are invalidated. Other references and iterators are not affected.
+
Exceptions
+ + +
std::domain_errorwhen called on a type other than JSON object; example: "cannot use erase() with null"
+
+
+

log(size()) + count(key)

+

{The example shows the effect of erase().,erase__key_type}

+
See also
erase(IteratorType) – removes the element at a given position
+
+erase(IteratorType, IteratorType) – removes the elements in the given range
+
+erase(const size_type) – removes the element from an array at the given index
+
Since
version 1.0.0
+ +

Definition at line 4473 of file json.hpp.

+ +
+
+ +

◆ erase() [4/4]

+ +
+
+ + + + + +
+ + + + + + + + +
void erase (const size_type idx)
+
+inline
+
+ +

remove element from a JSON array given an index

+

Removes element from a JSON array at the index idx.

+
Parameters
+ + +
[in]idxindex of the element to remove
+
+
+
Exceptions
+ + + +
std::domain_errorwhen called on a type other than JSON array; example: "cannot use erase() with null"
std::out_of_rangewhen idx >= size(); example: "array index 17 +is out of range"
+
+
+

Linear in distance between idx and the end of the container.

+

{The example shows the effect of erase().,erase__size_type}

+
See also
erase(IteratorType) – removes the element at a given position
+
+erase(IteratorType, IteratorType) – removes the elements in the given range
+
+erase(const typename object_t::key_type&) – removes the element from an object at the given key
+
Since
version 1.0.0
+ +

Definition at line 4508 of file json.hpp.

+ +
+
+ +

◆ find() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + +
iterator find (typename object_t::key_type key)
+
+inline
+
+ +

find an element in a JSON object

+

Finds an element in a JSON object with key equivalent to key. If the element is not found or the JSON value is not an object, end() is returned.

+
Note
This method always returns end() when executed on a JSON type that is not an object.
+
Parameters
+ + +
[in]keykey value of the element to search for
+
+
+
Returns
Iterator to an element with key equivalent to key. If no such element is found or the JSON value is not an object, past-the-end (see end()) iterator is returned.
+

Logarithmic in the size of the JSON object.

+

{The example shows how find() is used.,find__key_type}

+
Since
version 1.0.0
+ +

Definition at line 4558 of file json.hpp.

+
+Here is the caller graph for this function:
+
+
+ + + + + +
+ +
+
+ +

◆ find() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + +
const_iterator find (typename object_t::key_type key) const
+
+inline
+
+ +

find an element in a JSON object

+

find an element in a JSON object Finds an element in a JSON object with key equivalent to key. If the element is not found or the JSON value is not an object, end() is returned.

+
Note
This method always returns end() when executed on a JSON type that is not an object.
+
Parameters
+ + +
[in]keykey value of the element to search for
+
+
+
Returns
Iterator to an element with key equivalent to key. If no such element is found or the JSON value is not an object, past-the-end (see end()) iterator is returned.
+

Logarithmic in the size of the JSON object.

+

{The example shows how find() is used.,find__key_type}

+
Since
version 1.0.0
+ +

Definition at line 4574 of file json.hpp.

+ +
+
+ +

◆ flatten()

+ +
+
+ + + + + +
+ + + + + + + +
basic_json flatten () const
+
+inline
+
+ +

return flattened JSON value

+

The function creates a JSON object whose keys are JSON pointers (see RFC 6901) and whose values are all primitive. The original JSON value can be restored using the unflatten() function.

+
Returns
an object that maps JSON pointers to primitive values
+
Note
Empty objects and arrays are flattened to null and will not be reconstructed correctly by the unflatten() function.
+

Linear in the size the JSON value.

+

{The following code shows how a JSON object is flattened to an object whose keys consist of JSON pointers.,flatten}

+
See also
unflatten() for the reverse function
+
Since
version 2.0.0
+ +

Definition at line 12365 of file json.hpp.

+ +
+
+ +

◆ from_cbor()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static basic_json from_cbor (const std::vector< uint8_t > & v,
const size_t start_index = 0 
)
+
+inlinestatic
+
+ +

create a JSON value from a byte vector in CBOR format

+

Deserializes a given byte vector v to a JSON value using the CBOR (Concise Binary Object Representation) serialization format.

+
Parameters
+ + + +
[in]va byte vector in CBOR format
[in]start_indexthe index to start reading from v (0 by default)
+
+
+
Returns
deserialized JSON value
+
Exceptions
+ + + +
std::invalid_argumentif unsupported features from CBOR were used in the given vector v or if the input is not valid MessagePack
std::out_of_rangeif the given vector ends prematurely
+
+
+

Linear in the size of the byte vector v.

+

{The example shows the deserialization of a byte vector in CBOR format to a JSON value.,from_cbor}

+
See also
http://cbor.io
+
+to_cbor(const basic_json&) for the analogous serialization
+
+from_msgpack(const std::vector<uint8_t>&, const size_t) for the related MessagePack format
+
Since
version 2.0.9, parameter start_index since 2.1.1
+ +

Definition at line 8014 of file json.hpp.

+ +
+
+ +

◆ from_msgpack()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static basic_json from_msgpack (const std::vector< uint8_t > & v,
const size_t start_index = 0 
)
+
+inlinestatic
+
+ +

create a JSON value from a byte vector in MessagePack format

+

Deserializes a given byte vector v to a JSON value using the MessagePack serialization format.

+
Parameters
+ + + +
[in]va byte vector in MessagePack format
[in]start_indexthe index to start reading from v (0 by default)
+
+
+
Returns
deserialized JSON value
+
Exceptions
+ + + +
std::invalid_argumentif unsupported features from MessagePack were used in the given vector v or if the input is not valid MessagePack
std::out_of_rangeif the given vector ends prematurely
+
+
+

Linear in the size of the byte vector v.

+

{The example shows the deserialization of a byte vector in MessagePack format to a JSON value.,from_msgpack}

+
See also
http://msgpack.org
+
+to_msgpack(const basic_json&) for the analogous serialization
+
+from_cbor(const std::vector<uint8_t>&, const size_t) for the related CBOR format
+
Since
version 2.0.9, parameter start_index since 2.1.1
+ +

Definition at line 7951 of file json.hpp.

+ +
+
+ +

◆ front() [1/2]

+ +
+
+ + + + + +
+ + + + + + + +
reference front ()
+
+inline
+
+ +

access the first element

+

Returns a reference to the first element in the container. For a JSON container c, the expression c.front() is equivalent to *c.begin().

+
Returns
In case of a structured type (array or object), a reference to the first element is returned. In case of number, string, or boolean values, a reference to the value is returned.
+

Constant.

+
Precondition
The JSON value must not be null (would throw std::out_of_range) or an empty array or object (undefined behavior, guarded by assertions).
+
Postcondition
The JSON value remains unchanged.
+
Exceptions
+ + +
std::out_of_rangewhen called on null value
+
+
+

{The following code shows an example for front().,front}

+
See also
back() – access the last element
+
Since
version 1.0.0
+ +

Definition at line 4169 of file json.hpp.

+ +
+
+ +

◆ front() [2/2]

+ +
+
+ + + + + +
+ + + + + + + +
const_reference front () const
+
+inline
+
+ +

access the first element

+

Returns a reference to the first element in the container. For a JSON container c, the expression c.front() is equivalent to *c.begin().

+
Returns
In case of a structured type (array or object), a reference to the first element is returned. In case of number, string, or boolean values, a reference to the value is returned.
+

Constant.

+
Precondition
The JSON value must not be null (would throw std::out_of_range) or an empty array or object (undefined behavior, guarded by assertions).
+
Postcondition
The JSON value remains unchanged.
+
Exceptions
+ + +
std::out_of_rangewhen called on null value
+
+
+

{The following code shows an example for front().,front}

+
See also
back() – access the last element
+
Since
version 1.0.0
+ +

Definition at line 4177 of file json.hpp.

+ +
+
+ +

◆ get() [1/5]

+ +
+
+ + + + + +
+ + + + + + + +
basic_json get () const
+
+inline
+
+ +

get special-case overload

+

This overloads avoids a lot of template boilerplate, it can be seen as the identity method

+
Template Parameters
+ + +
BasicJsonType== basic_json
+
+
+
Returns
a copy of *this
+

Constant.

+
Since
version 2.1.0
+ +

Definition at line 3150 of file json.hpp.

+ +
+
+ +

◆ get() [2/5]

+ +
+
+ + + + + +
+ + + + + + + +
ValueType get () const
+
+inlinenoexcept
+
+ +

get a value (explicit)

+

Explicit type conversion between the JSON value and a compatible value which is CopyConstructible and DefaultConstructible. The value is converted by calling the json_serializer<ValueType> from_json() method.

+

The function is equivalent to executing

ValueType ret;
return ret;

This overloads is chosen if:

+
Template Parameters
+ + + +
ValueTypeCVthe provided value type
ValueTypethe returned value type
+
+
+
Returns
copy of the JSON value, converted to ValueType
+
Exceptions
+ + +
whatjson_serializer<ValueType> from_json() method throws
+
+
+

{The example below shows several conversions from JSON values to other types. There a few things to note: (1) Floating-point numbers can be converted to integers\, (2) A JSON array can be converted to a standard std::vector<short>\, (3) A JSON object can be converted to C++ associative containers such as std::unordered_map<std::string\, json>.,get__ValueType_const}

+
Since
version 2.1.0
+ +

Definition at line 3202 of file json.hpp.

+
+Here is the call graph for this function:
+
+
+ + + +
+ +
+
+ +

◆ get() [3/5]

+ +
+
+ + + + + +
+ + + + + + + +
ValueType get () const
+
+inlinenoexcept
+
+ +

get a value (explicit); special case

+

Explicit type conversion between the JSON value and a compatible value which is not CopyConstructible and not DefaultConstructible. The value is converted by calling the json_serializer<ValueType> from_json() method.

+

The function is equivalent to executing

This overloads is chosen if:

+
Note
If json_serializer<ValueType> has both overloads of from_json(), this one is chosen.
+
Template Parameters
+ + + +
ValueTypeCVthe provided value type
ValueTypethe returned value type
+
+
+
Returns
copy of the JSON value, converted to ValueType
+
Exceptions
+ + +
whatjson_serializer<ValueType> from_json() method throws
+
+
+
Since
version 2.1.0
+ +

Definition at line 3255 of file json.hpp.

+
+Here is the call graph for this function:
+
+
+ + + +
+ +
+
+ +

◆ get() [4/5]

+ +
+
+ + + + + +
+ + + + + + + +
PointerType get ()
+
+inlinenoexcept
+
+ +

get a pointer value (explicit)

+

Explicit pointer access to the internally stored JSON value. No copies are made.

+
Warning
The pointer becomes invalid if the underlying JSON object changes.
+
Template Parameters
+ + +
PointerTypepointer type; must be a pointer to array_t, object_t, string_t, boolean_t, number_integer_t, number_unsigned_t, or number_float_t.
+
+
+
Returns
pointer to the internally stored JSON value if the requested pointer type PointerType fits to the JSON value; nullptr otherwise
+

Constant.

+

{The example below shows how pointers to internal values of a JSON value can be requested. Note that no type conversions are made and a nullptr is returned if the value and the requested pointer type does not match.,get__PointerType}

+
See also
get_ptr() for explicit pointer-member access
+
Since
version 1.0.0
+ +

Definition at line 3292 of file json.hpp.

+ +
+
+ +

◆ get() [5/5]

+ +
+
+ + + + + +
+ + + + + + + +
constexpr const PointerType get () const
+
+inlinenoexcept
+
+ +

get a pointer value (explicit)

+

get a pointer value (explicit) Explicit pointer access to the internally stored JSON value. No copies are made.

+
Warning
The pointer becomes invalid if the underlying JSON object changes.
+
Template Parameters
+ + +
PointerTypepointer type; must be a pointer to array_t, object_t, string_t, boolean_t, number_integer_t, number_unsigned_t, or number_float_t.
+
+
+
Returns
pointer to the internally stored JSON value if the requested pointer type PointerType fits to the JSON value; nullptr otherwise
+

Constant.

+

{The example below shows how pointers to internal values of a JSON value can be requested. Note that no type conversions are made and a nullptr is returned if the value and the requested pointer type does not match.,get__PointerType}

+
See also
get_ptr() for explicit pointer-member access
+
Since
version 1.0.0
+ +

Definition at line 3304 of file json.hpp.

+ +
+
+ +

◆ get_allocator()

+ +
+
+ + + + + +
+ + + + + + + +
static allocator_type get_allocator ()
+
+inlinestatic
+
+ +

returns the allocator associated with the container

+ +

Definition at line 1079 of file json.hpp.

+ +
+
+ +

◆ get_ptr() [1/2]

+ +
+
+ + + + + +
+ + + + + + + +
PointerType get_ptr ()
+
+inlinenoexcept
+
+ +

get a pointer value (implicit)

+

Implicit pointer access to the internally stored JSON value. No copies are made.

+
Warning
Writing data to the pointee of the result yields an undefined state.
+
Template Parameters
+ + +
PointerTypepointer type; must be a pointer to array_t, object_t, string_t, boolean_t, number_integer_t, number_unsigned_t, or number_float_t. Enforced by a static assertion.
+
+
+
Returns
pointer to the internally stored JSON value if the requested pointer type PointerType fits to the JSON value; nullptr otherwise
+

Constant.

+

{The example below shows how pointers to internal values of a JSON value can be requested. Note that no type conversions are made and a nullptr is returned if the value and the requested pointer type does not match.,get_ptr}

+
Since
version 1.0.0
+ +

Definition at line 3338 of file json.hpp.

+ +
+
+ +

◆ get_ptr() [2/2]

+ +
+
+ + + + + +
+ + + + + + + +
constexpr const PointerType get_ptr () const
+
+inlinenoexcept
+
+ +

get a pointer value (implicit)

+

get a pointer value (implicit) Implicit pointer access to the internally stored JSON value. No copies are made.

+
Warning
Writing data to the pointee of the result yields an undefined state.
+
Template Parameters
+ + +
PointerTypepointer type; must be a pointer to array_t, object_t, string_t, boolean_t, number_integer_t, number_unsigned_t, or number_float_t. Enforced by a static assertion.
+
+
+
Returns
pointer to the internally stored JSON value if the requested pointer type PointerType fits to the JSON value; nullptr otherwise
+

Constant.

+

{The example below shows how pointers to internal values of a JSON value can be requested. Note that no type conversions are made and a nullptr is returned if the value and the requested pointer type does not match.,get_ptr}

+
Since
version 1.0.0
+ +

Definition at line 3366 of file json.hpp.

+ +
+
+ +

◆ get_ref() [1/2]

+ +
+
+ + + + + +
+ + + + + + + +
ReferenceType get_ref ()
+
+inline
+
+ +

get a reference value (implicit)

+

Implicit reference access to the internally stored JSON value. No copies are made.

+
Warning
Writing data to the referee of the result yields an undefined state.
+
Template Parameters
+ + +
ReferenceTypereference type; must be a reference to array_t, object_t, string_t, boolean_t, number_integer_t, or number_float_t. Enforced by static assertion.
+
+
+
Returns
reference to the internally stored JSON value if the requested reference type ReferenceType fits to the JSON value; throws std::domain_error otherwise
+
Exceptions
+ + +
std::domain_errorin case passed type ReferenceType is incompatible with the stored JSON value
+
+
+

Constant.

+

{The example shows several calls to get_ref().,get_ref}

+
Since
version 1.1.0
+ +

Definition at line 3415 of file json.hpp.

+ +
+
+ +

◆ get_ref() [2/2]

+ +
+
+ + + + + +
+ + + + + + + +
ReferenceType get_ref () const
+
+inline
+
+ +

get a reference value (implicit)

+

get a reference value (implicit) Implicit reference access to the internally stored JSON value. No copies are made.

+
Warning
Writing data to the referee of the result yields an undefined state.
+
Template Parameters
+ + +
ReferenceTypereference type; must be a reference to array_t, object_t, string_t, boolean_t, number_integer_t, or number_float_t. Enforced by static assertion.
+
+
+
Returns
reference to the internally stored JSON value if the requested reference type ReferenceType fits to the JSON value; throws std::domain_error otherwise
+
Exceptions
+ + +
std::domain_errorin case passed type ReferenceType is incompatible with the stored JSON value
+
+
+

Constant.

+

{The example shows several calls to get_ref().,get_ref}

+
Since
version 1.1.0
+ +

Definition at line 3428 of file json.hpp.

+ +
+
+ +

◆ insert() [1/5]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
iterator insert (const_iterator pos,
const basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer > & val 
)
+
+inline
+
+ +

inserts element

+

Inserts element val before iterator pos.

+
Parameters
+ + + +
[in]positerator before which the content will be inserted; may be the end() iterator
[in]valelement to insert
+
+
+
Returns
iterator pointing to the inserted val.
+
Exceptions
+ + + +
std::domain_errorif called on JSON values other than arrays; example: "cannot use insert() with string"
std::domain_errorif pos is not an iterator of *this; example: "iterator does not fit current value"
+
+
+

Constant plus linear in the distance between pos and end of the container.

+

{The example shows how insert() is used.,insert}

+
Since
version 1.0.0
+ +

Definition at line 5517 of file json.hpp.

+
+Here is the caller graph for this function:
+
+
+ + + + +
+ +
+
+ +

◆ insert() [2/5]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
iterator insert (const_iterator pos,
basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer > && val 
)
+
+inline
+
+ +

inserts element

+

inserts element Inserts element val before iterator pos.

+
Parameters
+ + + +
[in]positerator before which the content will be inserted; may be the end() iterator
[in]valelement to insert
+
+
+
Returns
iterator pointing to the inserted val.
+
Exceptions
+ + + +
std::domain_errorif called on JSON values other than arrays; example: "cannot use insert() with string"
std::domain_errorif pos is not an iterator of *this; example: "iterator does not fit current value"
+
+
+

Constant plus linear in the distance between pos and end of the container.

+

{The example shows how insert() is used.,insert}

+
Since
version 1.0.0
+ +

Definition at line 5541 of file json.hpp.

+ +
+
+ +

◆ insert() [3/5]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
iterator insert (const_iterator pos,
size_type cnt,
const basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer > & val 
)
+
+inline
+
+ +

inserts elements

+

Inserts cnt copies of val before iterator pos.

+
Parameters
+ + + + +
[in]positerator before which the content will be inserted; may be the end() iterator
[in]cntnumber of copies of val to insert
[in]valelement to insert
+
+
+
Returns
iterator pointing to the first element inserted, or pos if cnt==0
+
Exceptions
+ + + +
std::domain_errorif called on JSON values other than arrays; example: "cannot use insert() with string"
std::domain_errorif pos is not an iterator of *this; example: "iterator does not fit current value"
+
+
+

Linear in cnt plus linear in the distance between pos and end of the container.

+

{The example shows how insert() is used.,insert__count}

+
Since
version 1.0.0
+ +

Definition at line 5570 of file json.hpp.

+ +
+
+ +

◆ insert() [4/5]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
iterator insert (const_iterator pos,
const_iterator first,
const_iterator last 
)
+
+inline
+
+ +

inserts elements

+

Inserts elements from range [first, last) before iterator pos.

+
Parameters
+ + + + +
[in]positerator before which the content will be inserted; may be the end() iterator
[in]firstbegin of the range of elements to insert
[in]lastend of the range of elements to insert
+
+
+
Exceptions
+ + + + + +
std::domain_errorif called on JSON values other than arrays; example: "cannot use insert() with string"
std::domain_errorif pos is not an iterator of *this; example: "iterator does not fit current value"
std::domain_errorif first and last do not belong to the same JSON value; example: "iterators do not fit"
std::domain_errorif first or last are iterators into container for which insert is called; example: "passed iterators may not +belong to container"
+
+
+
Returns
iterator pointing to the first element inserted, or pos if first==last
+

Linear in std::distance(first, last) plus linear in the distance between pos and end of the container.

+

{The example shows how insert() is used.,insert__range}

+
Since
version 1.0.0
+ +

Definition at line 5620 of file json.hpp.

+ +
+
+ +

◆ insert() [5/5]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
iterator insert (const_iterator pos,
std::initializer_list< basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer > > ilist 
)
+
+inline
+
+ +

inserts elements

+

Inserts elements from initializer list ilist before iterator pos.

+
Parameters
+ + + +
[in]positerator before which the content will be inserted; may be the end() iterator
[in]ilistinitializer list to insert the values from
+
+
+
Exceptions
+ + + +
std::domain_errorif called on JSON values other than arrays; example: "cannot use insert() with string"
std::domain_errorif pos is not an iterator of *this; example: "iterator does not fit current value"
+
+
+
Returns
iterator pointing to the first element inserted, or pos if ilist is empty
+

Linear in ilist.size() plus linear in the distance between pos and end of the container.

+

{The example shows how insert() is used.,insert__ilist}

+
Since
version 1.0.0
+ +

Definition at line 5678 of file json.hpp.

+ +
+
+ +

◆ is_array()

+ +
+
+ + + + + +
+ + + + + + + +
constexpr bool is_array () const
+
+inlinenoexcept
+
+ +

return whether value is an array

+

This function returns true iff the JSON value is an array.

+
Returns
true if type is array, false otherwise.
+

Constant.

+

No-throw guarantee: this member function never throws exceptions.

+

{The following code exemplifies is_array() for all JSON types.,is_array}

+
Since
version 1.0.0
+ +

Definition at line 2918 of file json.hpp.

+
+Here is the caller graph for this function:
+
+
+ + + +
+ +
+
+ +

◆ is_boolean()

+ +
+
+ + + + + +
+ + + + + + + +
constexpr bool is_boolean () const
+
+inlinenoexcept
+
+ +

return whether value is a boolean

+

This function returns true iff the JSON value is a boolean.

+
Returns
true if type is boolean, false otherwise.
+

Constant.

+

No-throw guarantee: this member function never throws exceptions.

+

{The following code exemplifies is_boolean() for all JSON types.,is_boolean}

+
Since
version 1.0.0
+ +

Definition at line 2759 of file json.hpp.

+ +
+
+ +

◆ is_discarded()

+ +
+
+ + + + + +
+ + + + + + + +
constexpr bool is_discarded () const
+
+inlinenoexcept
+
+ +

return whether value is discarded

+

This function returns true iff the JSON value was discarded during parsing with a callback function (see parser_callback_t).

+
Note
This function will always be false for JSON values after parsing. That is, discarded values can only occur during parsing, but will be removed when inside a structured value or replaced by null in other cases.
+
Returns
true if type is discarded, false otherwise.
+

Constant.

+

No-throw guarantee: this member function never throws exceptions.

+

{The following code exemplifies is_discarded() for all JSON types.,is_discarded}

+
Since
version 1.0.0
+ +

Definition at line 2967 of file json.hpp.

+
+Here is the caller graph for this function:
+
+
+ + + +
+ +
+
+ +

◆ is_null()

+ +
+
+ + + + + +
+ + + + + + + +
constexpr bool is_null () const
+
+inlinenoexcept
+
+ +

return whether value is null

+

This function returns true iff the JSON value is null.

+
Returns
true if type is null, false otherwise.
+

Constant.

+

No-throw guarantee: this member function never throws exceptions.

+

{The following code exemplifies is_null() for all JSON types.,is_null}

+
Since
version 1.0.0
+ +

Definition at line 2737 of file json.hpp.

+ +
+
+ +

◆ is_number()

+ +
+
+ + + + + +
+ + + + + + + +
constexpr bool is_number () const
+
+inlinenoexcept
+
+ +

return whether value is a number

+

This function returns true iff the JSON value is a number. This includes both integer and floating-point values.

+
Returns
true if type is number (regardless whether integer, unsigned integer or floating-type), false otherwise.
+

Constant.

+

No-throw guarantee: this member function never throws exceptions.

+

{The following code exemplifies is_number() for all JSON types.,is_number}

+
See also
is_number_integer() – check if value is an integer or unsigned integer number
+
+is_number_unsigned() – check if value is an unsigned integer number
+
+is_number_float() – check if value is a floating-point number
+
Since
version 1.0.0
+ +

Definition at line 2789 of file json.hpp.

+ +
+
+ +

◆ is_number_float()

+ +
+
+ + + + + +
+ + + + + + + +
constexpr bool is_number_float () const
+
+inlinenoexcept
+
+ +

return whether value is a floating-point number

+

This function returns true iff the JSON value is a floating-point number. This excludes integer and unsigned integer values.

+
Returns
true if type is a floating-point number, false otherwise.
+

Constant.

+

No-throw guarantee: this member function never throws exceptions.

+

{The following code exemplifies is_number_float() for all JSON types.,is_number_float}

+
See also
is_number() – check if value is number
+
+is_number_integer() – check if value is an integer number
+
+is_number_unsigned() – check if value is an unsigned integer number
+
Since
version 1.0.0
+ +

Definition at line 2874 of file json.hpp.

+ +
+
+ +

◆ is_number_integer()

+ +
+
+ + + + + +
+ + + + + + + +
constexpr bool is_number_integer () const
+
+inlinenoexcept
+
+ +

return whether value is an integer number

+

This function returns true iff the JSON value is an integer or unsigned integer number. This excludes floating-point values.

+
Returns
true if type is an integer or unsigned integer number, false otherwise.
+

Constant.

+

No-throw guarantee: this member function never throws exceptions.

+

{The following code exemplifies is_number_integer() for all JSON types.,is_number_integer}

+
See also
is_number() – check if value is a number
+
+is_number_unsigned() – check if value is an unsigned integer number
+
+is_number_float() – check if value is a floating-point number
+
Since
version 1.0.0
+ +

Definition at line 2818 of file json.hpp.

+ +
+
+ +

◆ is_number_unsigned()

+ +
+
+ + + + + +
+ + + + + + + +
constexpr bool is_number_unsigned () const
+
+inlinenoexcept
+
+ +

return whether value is an unsigned integer number

+

This function returns true iff the JSON value is an unsigned integer number. This excludes floating-point and (signed) integer values.

+
Returns
true if type is an unsigned integer number, false otherwise.
+

Constant.

+

No-throw guarantee: this member function never throws exceptions.

+

{The following code exemplifies is_number_unsigned() for all JSON types.,is_number_unsigned}

+
See also
is_number() – check if value is a number
+
+is_number_integer() – check if value is an integer or unsigned integer number
+
+is_number_float() – check if value is a floating-point number
+
Since
version 2.0.0
+ +

Definition at line 2846 of file json.hpp.

+ +
+
+ +

◆ is_object()

+ +
+
+ + + + + +
+ + + + + + + +
constexpr bool is_object () const
+
+inlinenoexcept
+
+ +

return whether value is an object

+

This function returns true iff the JSON value is an object.

+
Returns
true if type is object, false otherwise.
+

Constant.

+

No-throw guarantee: this member function never throws exceptions.

+

{The following code exemplifies is_object() for all JSON types.,is_object}

+
Since
version 1.0.0
+ +

Definition at line 2896 of file json.hpp.

+
+Here is the caller graph for this function:
+
+
+ + + + +
+ +
+
+ +

◆ is_primitive()

+ +
+
+ + + + + +
+ + + + + + + +
constexpr bool is_primitive () const
+
+inlinenoexcept
+
+ +

return whether type is primitive

+

This function returns true iff the JSON type is primitive (string, number, boolean, or null).

+
Returns
true if type is primitive (string, number, boolean, or null), false otherwise.
+

Constant.

+

No-throw guarantee: this member function never throws exceptions.

+

{The following code exemplifies is_primitive() for all JSON types.,is_primitive}

+
See also
is_structured() – returns whether JSON value is structured
+
+is_null() – returns whether JSON value is null
+
+is_string() – returns whether JSON value is a string
+
+is_boolean() – returns whether JSON value is a boolean
+
+is_number() – returns whether JSON value is a number
+
Since
version 1.0.0
+ +

Definition at line 2688 of file json.hpp.

+ +
+
+ +

◆ is_string()

+ +
+
+ + + + + +
+ + + + + + + +
constexpr bool is_string () const
+
+inlinenoexcept
+
+ +

return whether value is a string

+

This function returns true iff the JSON value is a string.

+
Returns
true if type is string, false otherwise.
+

Constant.

+

No-throw guarantee: this member function never throws exceptions.

+

{The following code exemplifies is_string() for all JSON types.,is_string}

+
Since
version 1.0.0
+ +

Definition at line 2940 of file json.hpp.

+ +
+
+ +

◆ is_structured()

+ +
+
+ + + + + +
+ + + + + + + +
constexpr bool is_structured () const
+
+inlinenoexcept
+
+ +

return whether type is structured

+

This function returns true iff the JSON type is structured (array or object).

+
Returns
true if type is structured (array or object), false otherwise.
+

Constant.

+

No-throw guarantee: this member function never throws exceptions.

+

{The following code exemplifies is_structured() for all JSON types.,is_structured}

+
See also
is_primitive() – returns whether value is primitive
+
+is_array() – returns whether value is an array
+
+is_object() – returns whether value is an object
+
Since
version 1.0.0
+ +

Definition at line 2715 of file json.hpp.

+ +
+
+ +

◆ iterator_wrapper() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + +
static iteration_proxy<iterator> iterator_wrapper (reference cont)
+
+inlinestatic
+
+ +

wrapper to access iterator member functions in range-based for

+

This function allows to access iterator::key() and iterator::value() during range-based for loops. In these loops, a reference to the JSON values is returned, so there is no access to the underlying iterator.

+
Note
The name of this function is not yet final and may change in the future.
+ +

Definition at line 4912 of file json.hpp.

+ +
+
+ +

◆ iterator_wrapper() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + +
static iteration_proxy<const_iterator> iterator_wrapper (const_reference cont)
+
+inlinestatic
+
+ +

wrapper to access iterator member functions in range-based for

+

This function allows to access iterator::key() and iterator::value() during range-based for loops. In these loops, a reference to the JSON values is returned, so there is no access to the underlying iterator.

+
Note
The name of this function is not yet final and may change in the future.
+ +

Definition at line 4920 of file json.hpp.

+ +
+
+ +

◆ max_size()

+ +
+
+ + + + + +
+ + + + + + + +
size_type max_size () const
+
+inlinenoexcept
+
+ +

returns the maximum possible number of elements

+

Returns the maximum number of elements a JSON value is able to hold due to system or library implementation limitations, i.e. std::distance(begin(), end()) for the JSON value.

+
Returns
The return value depends on the different types and is defined as follows: + + + + + + + + + + + + + + +
Value type return value
null 0 (same as size())
boolean 1 (same as size())
string 1 (same as size())
number 1 (same as size())
object result of function object_t::max_size()
array result of function array_t::max_size()
+Constant, as long as array_t and object_t satisfy the Container concept; that is, their max_size() functions have constant complexity.
+

This function helps basic_json satisfying the Container requirements:

    +
  • The complexity is constant.
  • +
  • Has the semantics of returning b.size() where b is the largest possible JSON value.
  • +
+

{The following code calls max_size() on the different value types. Note the output is implementation specific.,max_size}

+
See also
size() – returns the number of elements
+
Since
version 1.0.0
+ +

Definition at line 5106 of file json.hpp.

+ +
+
+ +

◆ meta()

+ +
+
+ + + + + +
+ + + + + + + +
static basic_json meta ()
+
+inlinestatic
+
+ +

returns version information on the library

+

This function returns a JSON object with information about the library, including the version number and information on the platform and compiler.

+
Returns
JSON object holding version information + + + + + + + + + + + + + + +
key description
compiler Information on the used compiler. It is an object with the following keys: c++ (the used C++ standard), family (the compiler family; possible values are clang, icc, gcc, ilecpp, msvc, pgcpp, sunpro, and unknown), and version (the compiler version).
copyright The copyright line for the library as string.
name The name of the library as string.
platform The used platform as string. Possible values are win32, linux, apple, unix, and unknown.
url The URL of the project as string.
version The version of the library. It is an object with the following keys: major, minor, and patch as defined by Semantic Versioning, and string (the version string).
+{The following code shows an example output of the meta() function.,meta}
+

Constant.

+
Since
2.1.0
+ +

Definition at line 1107 of file json.hpp.

+ +
+
+ +

◆ object()

+ +
+
+ + + + + +
+ + + + + + + + +
static basic_json object (std::initializer_list< basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer > > init = std::initializer_list<basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >>())
+
+inlinestatic
+
+ +

explicitly create an object from an initializer list

+

Creates a JSON object value from a given initializer list. The initializer lists elements must be pairs, and their first elements must be strings. If the initializer list is empty, the empty object {} is created.

+
Note
This function is only added for symmetry reasons. In contrast to the related function array(std::initializer_list<basic_json>), there are no cases which can only be expressed by this function. That is, any initializer list init can also be passed to the initializer list constructor basic_json(std::initializer_list<basic_json>, bool, value_t).
+
Parameters
+ + +
[in]initinitializer list to create an object from (optional)
+
+
+
Returns
JSON object value
+
Exceptions
+ + +
std::domain_errorif init is not a pair whose first elements are strings; thrown by basic_json(std::initializer_list<basic_json>, bool, value_t)
+
+
+

Linear in the size of init.

+

{The following code shows an example for the object function.,object}

+
See also
basic_json(std::initializer_list<basic_json>, bool, value_t) – create a JSON value from an initializer list
+
+array(std::initializer_list<basic_json>) – create a JSON array value from an initializer list
+
Since
version 1.0.0
+ +

Definition at line 2182 of file json.hpp.

+
+Here is the caller graph for this function:
+
+
+ + + +
+ +
+
+ +

◆ operator value_t()

+ +
+
+ + + + + +
+ + + + + + + +
constexpr operator value_t () const
+
+inlinenoexcept
+
+ +

return the type of the JSON value (implicit)

+

Implicitly return the type of the JSON value as a value from the value_t enumeration.

+
Returns
the type of the JSON value
+

Constant.

+

No-throw guarantee: this member function never throws exceptions.

+

{The following code exemplifies the value_t operator for all JSON types.,operator__value_t}

+
Since
version 1.0.0
+ +

Definition at line 2990 of file json.hpp.

+ +
+
+ +

◆ operator ValueType()

+ +
+
+ + + + + +
+ + + + + + + +
operator ValueType () const
+
+inline
+
+ +

get a value (implicit)

+

Implicit type conversion between the JSON value and a compatible value. The call is realized by calling get() const.

+
Template Parameters
+ + +
ValueTypenon-pointer type compatible to the JSON value, for instance int for JSON integer numbers, bool for JSON booleans, or std::vector types for JSON arrays. The character type of string_t as well as an initializer list of this type is excluded to avoid ambiguities as these types implicitly convert to std::string.
+
+
+
Returns
copy of the JSON value, converted to type ValueType
+
Exceptions
+ + +
std::domain_errorin case passed type ValueType is incompatible to JSON, thrown by get() const
+
+
+

Linear in the size of the JSON value.

+

{The example below shows several conversions from JSON values to other types. There a few things to note: (1) Floating-point numbers can be converted to integers\, (2) A JSON array can be converted to a standard std::vector<short>\, (3) A JSON object can be converted to C++ associative containers such as std::unordered_map<std::string\, json>.,operator__ValueType}

+
Since
version 1.0.0
+ +

Definition at line 3469 of file json.hpp.

+ +
+
+ +

◆ operator+=() [1/4]

+ +
+
+ + + + + +
+ + + + + + + + +
reference operator+= (basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer > && val)
+
+inline
+
+ +

add an object to an array

+

add an object to an array Appends the given element val to the end of the JSON value. If the function is called on a JSON null value, an empty array is created before appending val.

+
Parameters
+ + +
[in]valthe value to add to the JSON array
+
+
+
Exceptions
+ + +
std::domain_errorwhen called on a type other than JSON array or null; example: "cannot use push_back() with number"
+
+
+

Amortized constant.

+

{The example shows how push_back() and += can be used to add elements to a JSON array. Note how the null value was silently converted to a JSON array.,push_back}

+
Since
version 1.0.0
+ +

Definition at line 5261 of file json.hpp.

+ +
+
+ +

◆ operator+=() [2/4]

+ +
+
+ + + + + +
+ + + + + + + + +
reference operator+= (const basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer > & val)
+
+inline
+
+ +

add an object to an array

+

add an object to an array Appends the given element val to the end of the JSON value. If the function is called on a JSON null value, an empty array is created before appending val.

+
Parameters
+ + +
[in]valthe value to add to the JSON array
+
+
+
Exceptions
+ + +
std::domain_errorwhen called on a type other than JSON array or null; example: "cannot use push_back() with number"
+
+
+

Amortized constant.

+

{The example shows how push_back() and += can be used to add elements to a JSON array. Note how the null value was silently converted to a JSON array.,push_back}

+
Since
version 1.0.0
+ +

Definition at line 5295 of file json.hpp.

+ +
+
+ +

◆ operator+=() [3/4]

+ +
+
+ + + + + +
+ + + + + + + + +
reference operator+= (const typename object_t::value_type & val)
+
+inline
+
+ +

add an object to an object

+

add an object to an object Inserts the given element val to the JSON object. If the function is called on a JSON null value, an empty object is created before inserting val.

+
Parameters
+ + +
[in]valthe value to add to the JSON object
+
+
+
Exceptions
+ + +
std::domain_errorwhen called on a type other than JSON object or null; example: "cannot use push_back() with number"
+
+
+

Logarithmic in the size of the container, O(log(size())).

+

{The example shows how push_back() and += can be used to add elements to a JSON object. Note how the null value was silently converted to a JSON object.,push_back__object_t__value}

+
Since
version 1.0.0
+ +

Definition at line 5345 of file json.hpp.

+ +
+
+ +

◆ operator+=() [4/4]

+ +
+
+ + + + + +
+ + + + + + + + +
reference operator+= (std::initializer_list< basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer > > init)
+
+inline
+
+ +

add an object to an object

+

add an object to an object This function allows to use push_back with an initializer list. In case

+
    +
  1. the current value is an object,
  2. +
  3. the initializer list init contains only two elements, and
  4. +
  5. the first element of init is a string,
  6. +
+

init is converted into an object element and added using push_back(const typename object_t::value_type&). Otherwise, init is converted to a JSON value and added using push_back(basic_json&&).

+
Parameters
+ + +
initan initializer list
+
+
+

Linear in the size of the initializer list init.

+
Note
This function is required to resolve an ambiguous overload error, because pairs like {"key", "value"} can be both interpreted as object_t::value_type or std::initializer_list<basic_json>, see https://github.com/nlohmann/json/issues/235 for more information.
+

{The example shows how initializer lists are treated as objects when possible.,push_back__initializer_list}

+ +

Definition at line 5393 of file json.hpp.

+ +
+
+ +

◆ operator=()

+ +
+
+ + + + + +
+ + + + + + + + +
reference& operator= (basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer > other)
+
+inlinenoexcept
+
+ +

copy assignment

+

Copy assignment operator. Copies a JSON value via the "copy and swap" strategy: It is expressed in terms of the copy constructor, destructor, and the swap() member function.

+
Parameters
+ + +
[in]othervalue to copy from
+
+
+

Linear.

+

This function helps basic_json satisfying the Container requirements:

    +
  • The complexity is linear.
  • +
+

{The code below shows and example for the copy assignment. It creates a copy of value a which is then swapped with b. Finally\, the copy of a (which is the null value after the swap) is destroyed.,basic_json__copyassignment}

+
Since
version 1.0.0
+ +

Definition at line 2519 of file json.hpp.

+
+Here is the call graph for this function:
+
+
+ + + +
+ +
+
+ +

◆ operator[]() [1/10]

+ +
+
+ + + + + +
+ + + + + + + + +
reference operator[] (size_type idx)
+
+inline
+
+ +

access specified array element

+

Returns a reference to the element at specified location idx.

+
Note
If idx is beyond the range of the array (i.e., idx >= size()), then the array is silently filled up with null values to make idx a valid reference to the last stored element.
+
Parameters
+ + +
[in]idxindex of the element to access
+
+
+
Returns
reference to the element at index idx
+
Exceptions
+ + +
std::domain_errorif JSON is not an array or null; example: "cannot use operator[] with string"
+
+
+

Constant if idx is in the range of the array. Otherwise linear in idx - size().

+

{The example below shows how array elements can be read and written using [] operator. Note the addition of null values.,operatorarray__size_type}

+
Since
version 1.0.0
+ +

Definition at line 3691 of file json.hpp.

+ +
+
+ +

◆ operator[]() [2/10]

+ +
+
+ + + + + +
+ + + + + + + + +
const_reference operator[] (size_type idx) const
+
+inline
+
+ +

access specified array element

+

Returns a const reference to the element at specified location idx.

+
Parameters
+ + +
[in]idxindex of the element to access
+
+
+
Returns
const reference to the element at index idx
+
Exceptions
+ + +
std::domain_errorif JSON is not an array; example: "cannot use +operator[] with null"
+
+
+

Constant.

+

{The example below shows how array elements can be read using the [] operator.,operatorarray__size_type_const}

+
Since
version 1.0.0
+ +

Definition at line 3737 of file json.hpp.

+
+Here is the call graph for this function:
+
+
+ + + +
+ +
+
+ +

◆ operator[]() [3/10]

+ +
+
+ + + + + +
+ + + + + + + + +
reference operator[] (const typename object_t::key_type & key)
+
+inline
+
+ +

access specified object element

+

Returns a reference to the element at with specified key key.

+
Note
If key is not found in the object, then it is silently added to the object and filled with a null value to make key a valid reference. In case the value was null before, it is converted to an object.
+
Parameters
+ + +
[in]keykey of the element to access
+
+
+
Returns
reference to the element at key key
+
Exceptions
+ + +
std::domain_errorif JSON is not an object or null; example: "cannot use operator[] with string"
+
+
+

Logarithmic in the size of the container.

+

{The example below shows how object elements can be read and written using the [] operator.,operatorarray__key_type}

+
See also
at(const typename object_t::key_type&) for access by reference with range checking
+
+value() for access by value with a default value
+
Since
version 1.0.0
+ +

Definition at line 3775 of file json.hpp.

+ +
+
+ +

◆ operator[]() [4/10]

+ +
+
+ + + + + +
+ + + + + + + + +
const_reference operator[] (const typename object_t::key_type & key) const
+
+inline
+
+ +

read-only access specified object element

+

Returns a const reference to the element at with specified key key. No bounds checking is performed.

+
Warning
If the element with key key does not exist, the behavior is undefined.
+
Parameters
+ + +
[in]keykey of the element to access
+
+
+
Returns
const reference to the element at key key
+
Precondition
The element with key key must exist. This precondition is enforced with an assertion.
+
Exceptions
+ + +
std::domain_errorif JSON is not an object; example: "cannot use +operator[] with null"
+
+
+

Logarithmic in the size of the container.

+

{The example below shows how object elements can be read using the [] operator.,operatorarray__key_type_const}

+
See also
at(const typename object_t::key_type&) for access by reference with range checking
+
+value() for access by value with a default value
+
Since
version 1.0.0
+ +

Definition at line 3824 of file json.hpp.

+
+Here is the call graph for this function:
+
+
+ + + + +
+ +
+
+ +

◆ operator[]() [5/10]

+ +
+
+ + + + + +
+ + + + + + + + +
reference operator[] (T *(&) key[n])
+
+inline
+
+ +

access specified object element

+

Returns a reference to the element at with specified key key.

+
Note
If key is not found in the object, then it is silently added to the object and filled with a null value to make key a valid reference. In case the value was null before, it is converted to an object.
+
Parameters
+ + +
[in]keykey of the element to access
+
+
+
Returns
reference to the element at key key
+
Exceptions
+ + +
std::domain_errorif JSON is not an object or null; example: "cannot use operator[] with string"
+
+
+

Logarithmic in the size of the container.

+

{The example below shows how object elements can be read and written using the [] operator.,operatorarray__key_type}

+
See also
at(const typename object_t::key_type&) for access by reference with range checking
+
+value() for access by value with a default value
+
Since
version 1.0.0
+ +

Definition at line 3864 of file json.hpp.

+ +
+
+ +

◆ operator[]() [6/10]

+ +
+
+ + + + + +
+ + + + + + + + +
const_reference operator[] (T *(&) key[n]) const
+
+inline
+
+ +

read-only access specified object element

+

Returns a const reference to the element at with specified key key. No bounds checking is performed.

+
Warning
If the element with key key does not exist, the behavior is undefined.
+
Note
This function is required for compatibility reasons with Clang.
+
Parameters
+ + +
[in]keykey of the element to access
+
+
+
Returns
const reference to the element at key key
+
Exceptions
+ + +
std::domain_errorif JSON is not an object; example: "cannot use +operator[] with null"
+
+
+

Logarithmic in the size of the container.

+

{The example below shows how object elements can be read using the [] operator.,operatorarray__key_type_const}

+
See also
at(const typename object_t::key_type&) for access by reference with range checking
+
+value() for access by value with a default value
+
Since
version 1.0.0
+ +

Definition at line 3899 of file json.hpp.

+ +
+
+ +

◆ operator[]() [7/10]

+ +
+
+ + + + + +
+ + + + + + + + +
reference operator[] (T * key)
+
+inline
+
+ +

access specified object element

+

Returns a reference to the element at with specified key key.

+
Note
If key is not found in the object, then it is silently added to the object and filled with a null value to make key a valid reference. In case the value was null before, it is converted to an object.
+
Parameters
+ + +
[in]keykey of the element to access
+
+
+
Returns
reference to the element at key key
+
Exceptions
+ + +
std::domain_errorif JSON is not an object or null; example: "cannot use operator[] with string"
+
+
+

Logarithmic in the size of the container.

+

{The example below shows how object elements can be read and written using the [] operator.,operatorarray__key_type}

+
See also
at(const typename object_t::key_type&) for access by reference with range checking
+
+value() for access by value with a default value
+
Since
version 1.1.0
+ +

Definition at line 3932 of file json.hpp.

+ +
+
+ +

◆ operator[]() [8/10]

+ +
+
+ + + + + +
+ + + + + + + + +
const_reference operator[] (T * key) const
+
+inline
+
+ +

read-only access specified object element

+

Returns a const reference to the element at with specified key key. No bounds checking is performed.

+
Warning
If the element with key key does not exist, the behavior is undefined.
+
Parameters
+ + +
[in]keykey of the element to access
+
+
+
Returns
const reference to the element at key key
+
Precondition
The element with key key must exist. This precondition is enforced with an assertion.
+
Exceptions
+ + +
std::domain_errorif JSON is not an object; example: "cannot use +operator[] with null"
+
+
+

Logarithmic in the size of the container.

+

{The example below shows how object elements can be read using the [] operator.,operatorarray__key_type_const}

+
See also
at(const typename object_t::key_type&) for access by reference with range checking
+
+value() for access by value with a default value
+
Since
version 1.1.0
+ +

Definition at line 3982 of file json.hpp.

+
+Here is the call graph for this function:
+
+
+ + + + +
+ +
+
+ +

◆ operator[]() [9/10]

+ +
+
+ + + + + +
+ + + + + + + + +
reference operator[] (const json_pointerptr)
+
+inline
+
+ +

access specified element via JSON Pointer

+

Uses a JSON pointer to retrieve a reference to the respective JSON value. No bound checking is performed. Similar to operator[](const typename object_t::key_type&), null values are created in arrays and objects if necessary.

+

In particular:

    +
  • If the JSON pointer points to an object key that does not exist, it is created an filled with a null value before a reference to it is returned.
  • +
  • If the JSON pointer points to an array index that does not exist, it is created an filled with a null value before a reference to it is returned. All indices between the current maximum and the given index are also filled with null.
  • +
  • The special value - is treated as a synonym for the index past the end.
  • +
+
Parameters
+ + +
[in]ptra JSON pointer
+
+
+
Returns
reference to the element pointed to by ptr
+

Constant.

+
Exceptions
+ + + + +
std::out_of_rangeif the JSON pointer can not be resolved
std::domain_errorif an array index begins with '0'
std::invalid_argumentif an array index was not a number
+
+
+

{The behavior is shown in the example.,operatorjson_pointer}

+
Since
version 2.0.0
+ +

Definition at line 12261 of file json.hpp.

+ +
+
+ +

◆ operator[]() [10/10]

+ +
+
+ + + + + +
+ + + + + + + + +
const_reference operator[] (const json_pointerptr) const
+
+inline
+
+ +

access specified element via JSON Pointer

+

Uses a JSON pointer to retrieve a reference to the respective JSON value. No bound checking is performed. The function does not change the JSON value; no null values are created. In particular, the the special value - yields an exception.

+
Parameters
+ + +
[in]ptrJSON pointer to the desired element
+
+
+
Returns
const reference to the element pointed to by ptr
+

Constant.

+
Exceptions
+ + + + +
std::out_of_rangeif the JSON pointer can not be resolved
std::domain_errorif an array index begins with '0'
std::invalid_argumentif an array index was not a number
+
+
+

{The behavior is shown in the example.,operatorjson_pointer_const}

+
Since
version 2.0.0
+ +

Definition at line 12288 of file json.hpp.

+ +
+
+ +

◆ parse() [1/6]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static basic_json parse (T(&) array[N],
const parser_callback_t cb = nullptr 
)
+
+inlinestatic
+
+ +

deserialize from an array

+

This function reads from an array of 1-byte values.

+
Precondition
Each element of the container has a size of 1 byte. Violating this precondition yields undefined behavior. This precondition is enforced with a static assertion.
+
Parameters
+ + + +
[in]arrayarray to read from
[in]cba parser callback function of type parser_callback_t which is used to control the deserialization by filtering unwanted values (optional)
+
+
+
Returns
result of the deserialization
+

Linear in the length of the input. The parser is a predictive LL(1) parser. The complexity can be higher if the parser callback function cb has a super-linear complexity.

+
Note
A UTF-8 byte order mark is silently ignored.
+

{The example below demonstrates the parse() function reading from an array.,parse__array__parser_callback_t}

+
Since
version 2.0.3
+ +

Definition at line 6261 of file json.hpp.

+
+Here is the caller graph for this function:
+
+
+ + + + +
+ +
+
+ +

◆ parse() [2/6]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static basic_json parse (const CharT s,
const parser_callback_t cb = nullptr 
)
+
+inlinestatic
+
+ +

deserialize from string literal

+
Template Parameters
+ + +
CharTcharacter/literal type with size of 1 byte
+
+
+
Parameters
+ + + +
[in]sstring literal to read a serialized JSON value from
[in]cba parser callback function of type parser_callback_t which is used to control the deserialization by filtering unwanted values (optional)
+
+
+
Returns
result of the deserialization
+

Linear in the length of the input. The parser is a predictive LL(1) parser. The complexity can be higher if the parser callback function cb has a super-linear complexity.

+
Note
A UTF-8 byte order mark is silently ignored.
+
+String containers like std::string or string_t can be parsed with parse(const ContiguousContainer&, const parser_callback_t)
+

{The example below demonstrates the parse() function with and without callback function.,parse__string__parser_callback_t}

+
See also
parse(std::istream&, const parser_callback_t) for a version that reads from an input stream
+
Since
version 1.0.0 (originally for string_t)
+ +

Definition at line 6299 of file json.hpp.

+
+Here is the call graph for this function:
+
+
+ + + +
+ +
+
+ +

◆ parse() [3/6]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static basic_json parse (std::istream & i,
const parser_callback_t cb = nullptr 
)
+
+inlinestatic
+
+ +

deserialize from stream

+
Parameters
+ + + +
[in,out]istream to read a serialized JSON value from
[in]cba parser callback function of type parser_callback_t which is used to control the deserialization by filtering unwanted values (optional)
+
+
+
Returns
result of the deserialization
+

Linear in the length of the input. The parser is a predictive LL(1) parser. The complexity can be higher if the parser callback function cb has a super-linear complexity.

+
Note
A UTF-8 byte order mark is silently ignored.
+

{The example below demonstrates the parse() function with and without callback function.,parse__istream__parser_callback_t}

+
See also
parse(const CharT, const parser_callback_t) for a version that reads from a string
+
Since
version 1.0.0
+ +

Definition at line 6329 of file json.hpp.

+
+Here is the call graph for this function:
+
+
+ + + +
+ +
+
+ +

◆ parse() [4/6]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static basic_json parse (std::istream && i,
const parser_callback_t cb = nullptr 
)
+
+inlinestatic
+
+ +

deserialize from stream

+
Parameters
+ + + +
[in,out]istream to read a serialized JSON value from
[in]cba parser callback function of type parser_callback_t which is used to control the deserialization by filtering unwanted values (optional)
+
+
+
Returns
result of the deserialization
+

Linear in the length of the input. The parser is a predictive LL(1) parser. The complexity can be higher if the parser callback function cb has a super-linear complexity.

+
Note
A UTF-8 byte order mark is silently ignored.
+

{The example below demonstrates the parse() function with and without callback function.,parse__istream__parser_callback_t}

+
See also
parse(const CharT, const parser_callback_t) for a version that reads from a string
+
Since
version 1.0.0
+ +

Definition at line 6338 of file json.hpp.

+
+Here is the call graph for this function:
+
+
+ + + +
+ +
+
+ +

◆ parse() [5/6]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static basic_json parse (IteratorType first,
IteratorType last,
const parser_callback_t cb = nullptr 
)
+
+inlinestatic
+
+ +

deserialize from an iterator range with contiguous storage

+

This function reads from an iterator range of a container with contiguous storage of 1-byte values. Compatible container types include std::vector, std::string, std::array, std::valarray, and std::initializer_list. Furthermore, C-style arrays can be used with std::begin()/std::end(). User-defined containers can be used as long as they implement random-access iterators and a contiguous storage.

+
Precondition
The iterator range is contiguous. Violating this precondition yields undefined behavior. This precondition is enforced with an assertion.
+
+Each element in the range has a size of 1 byte. Violating this precondition yields undefined behavior. This precondition is enforced with a static assertion.
+
Warning
There is no way to enforce all preconditions at compile-time. If the function is called with noncompliant iterators and with assertions switched off, the behavior is undefined and will most likely yield segmentation violation.
+
Template Parameters
+ + +
IteratorTypeiterator of container with contiguous storage
+
+
+
Parameters
+ + + + +
[in]firstbegin of the range to parse (included)
[in]lastend of the range to parse (excluded)
[in]cba parser callback function of type parser_callback_t which is used to control the deserialization by filtering unwanted values (optional)
+
+
+
Returns
result of the deserialization
+

Linear in the length of the input. The parser is a predictive LL(1) parser. The complexity can be higher if the parser callback function cb has a super-linear complexity.

+
Note
A UTF-8 byte order mark is silently ignored.
+

{The example below demonstrates the parse() function reading from an iterator range.,parse__iteratortype__parser_callback_t}

+
Since
version 2.0.3
+ +

Definition at line 6389 of file json.hpp.

+ +
+
+ +

◆ parse() [6/6]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static basic_json parse (const ContiguousContainer & c,
const parser_callback_t cb = nullptr 
)
+
+inlinestatic
+
+ +

deserialize from a container with contiguous storage

+

This function reads from a container with contiguous storage of 1-byte values. Compatible container types include std::vector, std::string, std::array, and std::initializer_list. User-defined containers can be used as long as they implement random-access iterators and a contiguous storage.

+
Precondition
The container storage is contiguous. Violating this precondition yields undefined behavior. This precondition is enforced with an assertion.
+
+Each element of the container has a size of 1 byte. Violating this precondition yields undefined behavior. This precondition is enforced with a static assertion.
+
Warning
There is no way to enforce all preconditions at compile-time. If the function is called with a noncompliant container and with assertions switched off, the behavior is undefined and will most likely yield segmentation violation.
+
Template Parameters
+ + +
ContiguousContainercontainer type with contiguous storage
+
+
+
Parameters
+ + + +
[in]ccontainer to read from
[in]cba parser callback function of type parser_callback_t which is used to control the deserialization by filtering unwanted values (optional)
+
+
+
Returns
result of the deserialization
+

Linear in the length of the input. The parser is a predictive LL(1) parser. The complexity can be higher if the parser callback function cb has a super-linear complexity.

+
Note
A UTF-8 byte order mark is silently ignored.
+

{The example below demonstrates the parse() function reading from a contiguous container.,parse__contiguouscontainer__parser_callback_t}

+
Since
version 2.0.3
+ +

Definition at line 6461 of file json.hpp.

+ +
+
+ +

◆ patch()

+ +
+
+ + + + + +
+ + + + + + + + +
basic_json patch (const basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer > & json_patch) const
+
+inline
+
+ +

applies a JSON patch

+

JSON Patch defines a JSON document structure for expressing a sequence of operations to apply to a JSON) document. With this function, a JSON Patch is applied to the current JSON value by executing all operations from the patch.

+
Parameters
+ + +
[in]json_patchJSON patch document
+
+
+
Returns
patched document
+
Note
The application of a patch is atomic: Either all operations succeed and the patched document is returned or an exception is thrown. In any case, the original value is not changed: the patch is applied to a copy of the value.
+
Exceptions
+ + + +
std::out_of_rangeif a JSON pointer inside the patch could not be resolved successfully in the current JSON value; example: "key baz +not found"
invalid_argumentif the JSON patch is malformed (e.g., mandatory attributes are missing); example: "operation add must have member path"
+
+
+

Linear in the size of the JSON value and the length of the JSON patch. As usually only a fraction of the JSON value is affected by the patch, the complexity can usually be neglected.

+

{The following code shows how a JSON patch is applied to a value.,patch}

+
See also
diff – create a JSON patch by comparing two JSON values
+
+RFC 6902 (JSON Patch)
+
+RFC 6901 (JSON Pointer)
+
Since
version 2.0.0
+ +

Definition at line 12449 of file json.hpp.

+
+Here is the call graph for this function:
+
+
+ + + + + + + + + + + + +
+ +
+
+ +

◆ push_back() [1/4]

+ +
+
+ + + + + +
+ + + + + + + + +
void push_back (basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer > && val)
+
+inline
+
+ +

add an object to an array

+

Appends the given element val to the end of the JSON value. If the function is called on a JSON null value, an empty array is created before appending val.

+
Parameters
+ + +
[in]valthe value to add to the JSON array
+
+
+
Exceptions
+ + +
std::domain_errorwhen called on a type other than JSON array or null; example: "cannot use push_back() with number"
+
+
+

Amortized constant.

+

{The example shows how push_back() and += can be used to add elements to a JSON array. Note how the null value was silently converted to a JSON array.,push_back}

+
Since
version 1.0.0
+ +

Definition at line 5235 of file json.hpp.

+
+Here is the caller graph for this function:
+
+
+ + + + +
+ +
+
+ +

◆ push_back() [2/4]

+ +
+
+ + + + + +
+ + + + + + + + +
void push_back (const basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer > & val)
+
+inline
+
+ +

add an object to an array

+

add an object to an array Appends the given element val to the end of the JSON value. If the function is called on a JSON null value, an empty array is created before appending val.

+
Parameters
+ + +
[in]valthe value to add to the JSON array
+
+
+
Exceptions
+ + +
std::domain_errorwhen called on a type other than JSON array or null; example: "cannot use push_back() with number"
+
+
+

Amortized constant.

+

{The example shows how push_back() and += can be used to add elements to a JSON array. Note how the null value was silently converted to a JSON array.,push_back}

+
Since
version 1.0.0
+ +

Definition at line 5271 of file json.hpp.

+ +
+
+ +

◆ push_back() [3/4]

+ +
+
+ + + + + +
+ + + + + + + + +
void push_back (const typename object_t::value_type & val)
+
+inline
+
+ +

add an object to an object

+

Inserts the given element val to the JSON object. If the function is called on a JSON null value, an empty object is created before inserting val.

+
Parameters
+ + +
[in]valthe value to add to the JSON object
+
+
+
Exceptions
+ + +
std::domain_errorwhen called on a type other than JSON object or null; example: "cannot use push_back() with number"
+
+
+

Logarithmic in the size of the container, O(log(size())).

+

{The example shows how push_back() and += can be used to add elements to a JSON object. Note how the null value was silently converted to a JSON object.,push_back__object_t__value}

+
Since
version 1.0.0
+ +

Definition at line 5321 of file json.hpp.

+ +
+
+ +

◆ push_back() [4/4]

+ +
+
+ + + + + +
+ + + + + + + + +
void push_back (std::initializer_list< basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer > > init)
+
+inline
+
+ +

add an object to an object

+

This function allows to use push_back with an initializer list. In case

+
    +
  1. the current value is an object,
  2. +
  3. the initializer list init contains only two elements, and
  4. +
  5. the first element of init is a string,
  6. +
+

init is converted into an object element and added using push_back(const typename object_t::value_type&). Otherwise, init is converted to a JSON value and added using push_back(basic_json&&).

+
Parameters
+ + +
initan initializer list
+
+
+

Linear in the size of the initializer list init.

+
Note
This function is required to resolve an ambiguous overload error, because pairs like {"key", "value"} can be both interpreted as object_t::value_type or std::initializer_list<basic_json>, see https://github.com/nlohmann/json/issues/235 for more information.
+

{The example shows how initializer lists are treated as objects when possible.,push_back__initializer_list}

+ +

Definition at line 5376 of file json.hpp.

+ +
+
+ +

◆ rbegin() [1/2]

+ +
+
+ + + + + +
+ + + + + + + +
reverse_iterator rbegin ()
+
+inlinenoexcept
+
+ +

returns an iterator to the reverse-beginning

+

Returns an iterator to the reverse-beginning; that is, the last element.

+
+range-rbegin-rend.svg +
+Illustration from cppreference.com
+

Constant.

+

This function helps basic_json satisfying the ReversibleContainer requirements:

    +
  • The complexity is constant.
  • +
  • Has the semantics of reverse_iterator(end()).
  • +
+

{The following code shows an example for rbegin().,rbegin}

+
See also
crbegin() – returns a const reverse iterator to the beginning
+
+rend() – returns a reverse iterator to the end
+
+crend() – returns a const reverse iterator to the end
+
Since
version 1.0.0
+ +

Definition at line 4788 of file json.hpp.

+ +
+
+ +

◆ rbegin() [2/2]

+ +
+
+ + + + + +
+ + + + + + + +
const_reverse_iterator rbegin () const
+
+inlinenoexcept
+
+ +

returns a const reverse iterator to the last element

+

Returns a const iterator to the reverse-beginning; that is, the last element.

+
+range-rbegin-rend.svg +
+Illustration from cppreference.com
+

Constant.

+

This function helps basic_json satisfying the ReversibleContainer requirements:

    +
  • The complexity is constant.
  • +
  • Has the semantics of const_cast<const basic_json&>(*this).rbegin().
  • +
+

{The following code shows an example for crbegin().,crbegin}

+
See also
rbegin() – returns a reverse iterator to the beginning
+
+rend() – returns a reverse iterator to the end
+
+crend() – returns a const reverse iterator to the end
+
Since
version 1.0.0
+ +

Definition at line 4796 of file json.hpp.

+ +
+
+ +

◆ rend() [1/2]

+ +
+
+ + + + + +
+ + + + + + + +
reverse_iterator rend ()
+
+inlinenoexcept
+
+ +

returns an iterator to the reverse-end

+

Returns an iterator to the reverse-end; that is, one before the first element.

+
+range-rbegin-rend.svg +
+Illustration from cppreference.com
+

Constant.

+

This function helps basic_json satisfying the ReversibleContainer requirements:

    +
  • The complexity is constant.
  • +
  • Has the semantics of reverse_iterator(begin()).
  • +
+

{The following code shows an example for rend().,rend}

+
See also
crend() – returns a const reverse iterator to the end
+
+rbegin() – returns a reverse iterator to the beginning
+
+crbegin() – returns a const reverse iterator to the beginning
+
Since
version 1.0.0
+ +

Definition at line 4825 of file json.hpp.

+ +
+
+ +

◆ rend() [2/2]

+ +
+
+ + + + + +
+ + + + + + + +
const_reverse_iterator rend () const
+
+inlinenoexcept
+
+ +

returns a const reverse iterator to one before the first

+

Returns a const reverse iterator to the reverse-end; that is, one before the first element.

+
+range-rbegin-rend.svg +
+Illustration from cppreference.com
+

Constant.

+

This function helps basic_json satisfying the ReversibleContainer requirements:

    +
  • The complexity is constant.
  • +
  • Has the semantics of const_cast<const basic_json&>(*this).rend().
  • +
+

{The following code shows an example for crend().,crend}

+
See also
rend() – returns a reverse iterator to the end
+
+rbegin() – returns a reverse iterator to the beginning
+
+crbegin() – returns a const reverse iterator to the beginning
+
Since
version 1.0.0
+ +

Definition at line 4833 of file json.hpp.

+ +
+
+ +

◆ size()

+ +
+
+ + + + + +
+ + + + + + + +
size_type size () const
+
+inlinenoexcept
+
+ +

returns the number of elements

+

Returns the number of elements in a JSON value.

+
Returns
The return value depends on the different types and is defined as follows: + + + + + + + + + + + + + + +
Value type return value
null 0
boolean 1
string 1
number 1
object result of function object_t::size()
array result of function array_t::size()
+
+
Note
This function does not return the length of a string stored as JSON value - it returns the number of elements in the JSON value which is 1 in the case of a string.
+

Constant, as long as array_t and object_t satisfy the Container concept; that is, their size() functions have constant complexity.

+

This function helps basic_json satisfying the Container requirements:

    +
  • The complexity is constant.
  • +
  • Has the semantics of std::distance(begin(), end()).
  • +
+

{The following code calls size() on the different value types.,size}

+
See also
empty() – checks whether the container is empty
+
+max_size() – returns the maximal number of elements
+
Since
version 1.0.0
+ +

Definition at line 5040 of file json.hpp.

+
+Here is the caller graph for this function:
+
+
+ + + + + + + + + + + + + +
+ +
+
+ +

◆ swap() [1/4]

+ +
+
+ + + + + +
+ + + + + + + + +
void swap (reference other)
+
+inlinenoexcept
+
+ +

exchanges the values

+

Exchanges the contents of the JSON value with those of other. Does not invoke any move, copy, or swap operations on individual elements. All iterators and references remain valid. The past-the-end iterator is invalidated.

+
Parameters
+ + +
[in,out]otherJSON value to exchange the contents with
+
+
+

Constant.

+

{The example below shows how JSON values can be swapped with swap().,swap__reference}

+
Since
version 1.0.0
+ +

Definition at line 5715 of file json.hpp.

+
+Here is the call graph for this function:
+
+
+ + + +
+ +
+
+ +

◆ swap() [2/4]

+ +
+
+ + + + + +
+ + + + + + + + +
void swap (array_tother)
+
+inline
+
+ +

exchanges the values

+

Exchanges the contents of a JSON array with those of other. Does not invoke any move, copy, or swap operations on individual elements. All iterators and references remain valid. The past-the-end iterator is invalidated.

+
Parameters
+ + +
[in,out]otherarray to exchange the contents with
+
+
+
Exceptions
+ + +
std::domain_errorwhen JSON value is not an array; example: "cannot use swap() with string"
+
+
+

Constant.

+

{The example below shows how arrays can be swapped with swap().,swap__array_t}

+
Since
version 1.0.0
+ +

Definition at line 5747 of file json.hpp.

+
+Here is the call graph for this function:
+
+
+ + + +
+ +
+
+ +

◆ swap() [3/4]

+ +
+
+ + + + + +
+ + + + + + + + +
void swap (object_tother)
+
+inline
+
+ +

exchanges the values

+

Exchanges the contents of a JSON object with those of other. Does not invoke any move, copy, or swap operations on individual elements. All iterators and references remain valid. The past-the-end iterator is invalidated.

+
Parameters
+ + +
[in,out]otherobject to exchange the contents with
+
+
+
Exceptions
+ + +
std::domain_errorwhen JSON value is not an object; example: "cannot use swap() with string"
+
+
+

Constant.

+

{The example below shows how objects can be swapped with swap().,swap__object_t}

+
Since
version 1.0.0
+ +

Definition at line 5780 of file json.hpp.

+
+Here is the call graph for this function:
+
+
+ + + +
+ +
+
+ +

◆ swap() [4/4]

+ +
+
+ + + + + +
+ + + + + + + + +
void swap (string_tother)
+
+inline
+
+ +

exchanges the values

+

Exchanges the contents of a JSON string with those of other. Does not invoke any move, copy, or swap operations on individual elements. All iterators and references remain valid. The past-the-end iterator is invalidated.

+
Parameters
+ + +
[in,out]otherstring to exchange the contents with
+
+
+
Exceptions
+ + +
std::domain_errorwhen JSON value is not a string; example: "cannot +use swap() with boolean"
+
+
+

Constant.

+

{The example below shows how strings can be swapped with swap().,swap__string_t}

+
Since
version 1.0.0
+ +

Definition at line 5813 of file json.hpp.

+
+Here is the call graph for this function:
+
+
+ + + +
+ +
+
+ +

◆ to_cbor()

+ +
+
+ + + + + +
+ + + + + + + + +
static std::vector<uint8_t> to_cbor (const basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer > & j)
+
+inlinestatic
+
+ +

create a MessagePack serialization of a given JSON value

+

Serializes a given JSON value j to a byte vector using the CBOR (Concise Binary Object Representation) serialization format. CBOR is a binary serialization format which aims to be more compact than JSON itself, yet more efficient to parse.

+
Parameters
+ + +
[in]jJSON value to serialize
+
+
+
Returns
MessagePack serialization as byte vector
+

Linear in the size of the JSON value j.

+

{The example shows the serialization of a JSON value to a byte vector in CBOR format.,to_cbor}

+
See also
http://cbor.io
+
+from_cbor(const std::vector<uint8_t>&, const size_t) for the analogous deserialization
+
+to_msgpack(const basic_json& for the related MessagePack format
+
Since
version 2.0.9
+ +

Definition at line 7981 of file json.hpp.

+ +
+
+ +

◆ to_msgpack()

+ +
+
+ + + + + +
+ + + + + + + + +
static std::vector<uint8_t> to_msgpack (const basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer > & j)
+
+inlinestatic
+
+ +

create a MessagePack serialization of a given JSON value

+

Serializes a given JSON value j to a byte vector using the MessagePack serialization format. MessagePack is a binary serialization format which aims to be more compact than JSON itself, yet more efficient to parse.

+
Parameters
+ + +
[in]jJSON value to serialize
+
+
+
Returns
MessagePack serialization as byte vector
+

Linear in the size of the JSON value j.

+

{The example shows the serialization of a JSON value to a byte vector in MessagePack format.,to_msgpack}

+
See also
http://msgpack.org
+
+from_msgpack(const std::vector<uint8_t>&, const size_t) for the analogous deserialization
+
+to_cbor(const basic_json& for the related CBOR format
+
Since
version 2.0.9
+ +

Definition at line 7918 of file json.hpp.

+ +
+
+ +

◆ type()

+ +
+
+ + + + + +
+ + + + + + + +
constexpr value_t type () const
+
+inlinenoexcept
+
+ +

return the type of the JSON value (explicit)

+

Return the type of the JSON value as a value from the value_t enumeration.

+
Returns
the type of the JSON value
+

Constant.

+

No-throw guarantee: this member function never throws exceptions.

+

{The following code exemplifies type() for all JSON types.,type}

+
Since
version 1.0.0
+ +

Definition at line 2658 of file json.hpp.

+
+Here is the caller graph for this function:
+
+
+ + + +
+ +
+
+ +

◆ type_name()

+ +
+
+ + + + + +
+ + + + + + + +
std::string type_name () const
+
+inline
+
+ +

return the type as string

+

Returns the type name as string to be used in error messages - usually to indicate that a function was called on a wrong JSON type.

+
Returns
basically a string representation of a the m_type member
+

Constant.

+

{The following code exemplifies type_name() for all JSON types.,type_name}

+
Since
version 1.0.0, public since 2.1.0
+ +

Definition at line 8042 of file json.hpp.

+
+Here is the call graph for this function:
+
+
+ + + +
+ +
+
+ +

◆ unflatten()

+ +
+
+ + + + + +
+ + + + + + + +
basic_json unflatten () const
+
+inline
+
+ +

unflatten a previously flattened JSON value

+

The function restores the arbitrary nesting of a JSON value that has been flattened before using the flatten() function. The JSON value must meet certain constraints:

    +
  1. The value must be an object.
  2. +
  3. The keys must be JSON pointers (see RFC 6901)
  4. +
  5. The mapped values must be primitive JSON types.
  6. +
+
Returns
the original JSON from a flattened version
+
Note
Empty objects and arrays are flattened by flatten() to null values and can not unflattened to their original type. Apart from this example, for a JSON value j, the following is always true: j == j.flatten().unflatten().
+

Linear in the size the JSON value.

+

{The following code shows how a flattened JSON object is unflattened into the original nested JSON object.,unflatten}

+
See also
flatten() for the reverse function
+
Since
version 2.0.0
+ +

Definition at line 12399 of file json.hpp.

+ +
+
+ +

◆ value() [1/4]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
ValueType value (const typename object_t::key_type & key,
ValueType default_value 
) const
+
+inline
+
+ +

access specified object element with default value

+

Returns either a copy of an object's element at the specified key key or a given default value if no element with key key exists.

+

The function is basically equivalent to executing

try {
return at(key);
} catch(std::out_of_range) {
return default_value;
}
Note
Unlike at(const typename object_t::key_type&), this function does not throw if the given key key was not found.
+
+Unlike operator[](const typename object_t::key_type& key), this function does not implicitly add an element to the position defined by key. This function is furthermore also applicable to const objects.
+
Parameters
+ + + +
[in]keykey of the element to access
[in]default_valuethe value to return if key is not found
+
+
+
Template Parameters
+ + +
ValueTypetype compatible to JSON values, for instance int for JSON integer numbers, bool for JSON booleans, or std::vector types for JSON arrays. Note the type of the expected value at key and the default value default_value must be compatible.
+
+
+
Returns
copy of the element at key key or default_value if key is not found
+
Exceptions
+ + +
std::domain_errorif JSON is not an object; example: "cannot use +value() with null"
+
+
+

Logarithmic in the size of the container.

+

{The example below shows how object elements can be queried with a default value.,basic_json__value}

+
See also
at(const typename object_t::key_type&) for access by reference with range checking
+
+operator[](const typename object_t::key_type&) for unchecked access by reference
+
Since
version 1.0.0
+ +

Definition at line 4044 of file json.hpp.

+ +
+
+ +

◆ value() [2/4]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
string_t value (const typename object_t::key_type & key,
const char * default_value 
) const
+
+inline
+
+ +

overload for a default value of type const char*

+

access specified object element with default value Returns either a copy of an object's element at the specified key key or a given default value if no element with key key exists.

+

The function is basically equivalent to executing

try {
return at(key);
} catch(std::out_of_range) {
return default_value;
}
Note
Unlike at(const typename object_t::key_type&), this function does not throw if the given key key was not found.
+
+Unlike operator[](const typename object_t::key_type& key), this function does not implicitly add an element to the position defined by key. This function is furthermore also applicable to const objects.
+
Parameters
+ + + +
[in]keykey of the element to access
[in]default_valuethe value to return if key is not found
+
+
+
Template Parameters
+ + +
ValueTypetype compatible to JSON values, for instance int for JSON integer numbers, bool for JSON booleans, or std::vector types for JSON arrays. Note the type of the expected value at key and the default value default_value must be compatible.
+
+
+
Returns
copy of the element at key key or default_value if key is not found
+
Exceptions
+ + +
std::domain_errorif JSON is not an object; example: "cannot use +value() with null"
+
+
+

Logarithmic in the size of the container.

+

{The example below shows how object elements can be queried with a default value.,basic_json__value}

+
See also
at(const typename object_t::key_type&) for access by reference with range checking
+
+operator[](const typename object_t::key_type&) for unchecked access by reference
+
Since
version 1.0.0
+ +

Definition at line 4068 of file json.hpp.

+ +
+
+ +

◆ value() [3/4]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
ValueType value (const json_pointerptr,
ValueType default_value 
) const
+
+inline
+
+ +

access specified object element via JSON Pointer with default value

+

Returns either a copy of an object's element at the specified key key or a given default value if no element with key key exists.

+

The function is basically equivalent to executing

try {
return at(ptr);
} catch(std::out_of_range) {
return default_value;
}
Note
Unlike at(const json_pointer&), this function does not throw if the given key key was not found.
+
Parameters
+ + + +
[in]ptra JSON pointer to the element to access
[in]default_valuethe value to return if ptr found no value
+
+
+
Template Parameters
+ + +
ValueTypetype compatible to JSON values, for instance int for JSON integer numbers, bool for JSON booleans, or std::vector types for JSON arrays. Note the type of the expected value at key and the default value default_value must be compatible.
+
+
+
Returns
copy of the element at key key or default_value if key is not found
+
Exceptions
+ + +
std::domain_errorif JSON is not an object; example: "cannot use +value() with null"
+
+
+

Logarithmic in the size of the container.

+

{The example below shows how object elements can be queried with a default value.,basic_json__value_ptr}

+
See also
operator[](const json_pointer&) for unchecked access by reference
+
Since
version 2.0.2
+ +

Definition at line 4116 of file json.hpp.

+ +
+
+ +

◆ value() [4/4]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
string_t value (const json_pointerptr,
const char * default_value 
) const
+
+inline
+
+ +

overload for a default value of type const char*

+

access specified object element via JSON Pointer with default value Returns either a copy of an object's element at the specified key key or a given default value if no element with key key exists.

+

The function is basically equivalent to executing

try {
return at(ptr);
} catch(std::out_of_range) {
return default_value;
}
Note
Unlike at(const json_pointer&), this function does not throw if the given key key was not found.
+
Parameters
+ + + +
[in]ptra JSON pointer to the element to access
[in]default_valuethe value to return if ptr found no value
+
+
+
Template Parameters
+ + +
ValueTypetype compatible to JSON values, for instance int for JSON integer numbers, bool for JSON booleans, or std::vector types for JSON arrays. Note the type of the expected value at key and the default value default_value must be compatible.
+
+
+
Returns
copy of the element at key key or default_value if key is not found
+
Exceptions
+ + +
std::domain_errorif JSON is not an object; example: "cannot use +value() with null"
+
+
+

Logarithmic in the size of the container.

+

{The example below shows how object elements can be queried with a default value.,basic_json__value_ptr}

+
See also
operator[](const json_pointer&) for unchecked access by reference
+
Since
version 2.0.2
+ +

Definition at line 4139 of file json.hpp.

+ +
+
+

Friends And Related Function Documentation

+ +

◆ detail::external_constructor

+ +
+
+ + + + + +
+ + + + +
friend struct detail::external_constructor
+
+friend
+
+ +

Definition at line 1019 of file json.hpp.

+ +
+
+ +

◆ operator!= [1/3]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool operator!= (const_reference lhs,
const_reference rhs 
)
+
+friend
+
+ +

comparison: not equal

+

Compares two JSON values for inequality by calculating not (lhs == rhs).

+
Parameters
+ + + +
[in]lhsfirst JSON value to consider
[in]rhssecond JSON value to consider
+
+
+
Returns
whether the values lhs and rhs are not equal
+

Linear.

+

{The example demonstrates comparing several JSON types.,operator__notequal}

+
Since
version 1.0.0
+ +

Definition at line 5972 of file json.hpp.

+ +
+
+ +

◆ operator!= [2/3]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool operator!= (const_reference lhs,
const ScalarType rhs 
)
+
+friend
+
+ +

comparison: not equal

+

comparison: not equal Compares two JSON values for inequality by calculating not (lhs == rhs).

+
Parameters
+ + + +
[in]lhsfirst JSON value to consider
[in]rhssecond JSON value to consider
+
+
+
Returns
whether the values lhs and rhs are not equal
+

Linear.

+

{The example demonstrates comparing several JSON types.,operator__notequal}

+
Since
version 1.0.0
+ +

Definition at line 5983 of file json.hpp.

+ +
+
+ +

◆ operator!= [3/3]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool operator!= (const ScalarType lhs,
const_reference rhs 
)
+
+friend
+
+ +

comparison: not equal

+

comparison: not equal Compares two JSON values for inequality by calculating not (lhs == rhs).

+
Parameters
+ + + +
[in]lhsfirst JSON value to consider
[in]rhssecond JSON value to consider
+
+
+
Returns
whether the values lhs and rhs are not equal
+

Linear.

+

{The example demonstrates comparing several JSON types.,operator__notequal}

+
Since
version 1.0.0
+ +

Definition at line 5994 of file json.hpp.

+ +
+
+ +

◆ operator<

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool operator< (const_reference lhs,
const_reference rhs 
)
+
+friend
+
+ +

comparison: less than

+

Compares whether one JSON value lhs is less than another JSON value rhs according to the following rules:

    +
  • If lhs and rhs have the same type, the values are compared using the default < operator.
  • +
  • Integer and floating-point numbers are automatically converted before comparison
  • +
  • In case lhs and rhs have different types, the values are ignored and the order of the types is considered, see operator<(const value_t, const value_t).
  • +
+
Parameters
+ + + +
[in]lhsfirst JSON value to consider
[in]rhssecond JSON value to consider
+
+
+
Returns
whether lhs is less than rhs
+

Linear.

+

{The example demonstrates comparing several JSON types.,operator__less}

+
Since
version 1.0.0
+ +

Definition at line 6023 of file json.hpp.

+ +
+
+ +

◆ operator<< [1/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
std::ostream& operator<< (std::ostream & o,
const basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer > & j 
)
+
+friend
+
+ +

serialize to stream

+

Serialize the given JSON value j to the output stream o. The JSON value will be serialized using the dump member function. The indentation of the output can be controlled with the member variable width of the output stream o. For instance, using the manipulator std::setw(4) on o sets the indentation level to 4 and the serialization result is the same as calling dump(4).

+
Parameters
+ + + +
[in,out]ostream to serialize to
[in]jJSON value to serialize
+
+
+
Returns
the stream o
+

Linear.

+

{The example below shows the serialization with different parameters to width to adjust the indentation level.,operator_serialize}

+
Since
version 1.0.0
+ +

Definition at line 6199 of file json.hpp.

+ +
+
+ +

◆ operator<< [2/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
std::istream& operator<< (basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer > & j,
std::istream & i 
)
+
+friend
+
+ +

deserialize from stream

+

Deserializes an input stream to a JSON value.

+
Parameters
+ + + +
[in,out]iinput stream to read a serialized JSON value from
[in,out]jJSON value to write the deserialized input to
+
+
+
Exceptions
+ + +
std::invalid_argumentin case of parse errors
+
+
+

Linear in the length of the input. The parser is a predictive LL(1) parser.

+
Note
A UTF-8 byte order mark is silently ignored.
+

{The example below shows how a JSON value is constructed by reading a serialization from a stream.,operator_deserialize}

+
See also
parse(std::istream&, const parser_callback_t) for a variant with a parser callback function to filter values while parsing
+
Since
version 1.0.0
+ +

Definition at line 6491 of file json.hpp.

+ +
+
+ +

◆ operator<=

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool operator<= (const_reference lhs,
const_reference rhs 
)
+
+friend
+
+ +

comparison: less than or equal

+

Compares whether one JSON value lhs is less than or equal to another JSON value by calculating not (rhs < lhs).

+
Parameters
+ + + +
[in]lhsfirst JSON value to consider
[in]rhssecond JSON value to consider
+
+
+
Returns
whether lhs is less than or equal to rhs
+

Linear.

+

{The example demonstrates comparing several JSON types.,operator__greater}

+
Since
version 1.0.0
+ +

Definition at line 6118 of file json.hpp.

+ +
+
+ +

◆ operator== [1/3]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool operator== (const_reference lhs,
const_reference rhs 
)
+
+friend
+
+ +

comparison: equal

+

Compares two JSON values for equality according to the following rules:

    +
  • Two JSON values are equal if (1) they are from the same type and (2) their stored values are the same.
  • +
  • Integer and floating-point numbers are automatically converted before comparison. Floating-point numbers are compared indirectly: two floating-point numbers f1 and f2 are considered equal if neither f1 > f2 nor f2 > f1 holds.
  • +
  • Two JSON null values are equal.
  • +
+
Parameters
+ + + +
[in]lhsfirst JSON value to consider
[in]rhssecond JSON value to consider
+
+
+
Returns
whether the values lhs and rhs are equal
+

Linear.

+

{The example demonstrates comparing several JSON types.,operator__equal}

+
Since
version 1.0.0
+ +

Definition at line 5859 of file json.hpp.

+ +
+
+ +

◆ operator== [2/3]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool operator== (const_reference lhs,
const ScalarType rhs 
)
+
+friend
+
+ +

comparison: equal

+

comparison: equal Compares two JSON values for equality according to the following rules:

    +
  • Two JSON values are equal if (1) they are from the same type and (2) their stored values are the same.
  • +
  • Integer and floating-point numbers are automatically converted before comparison. Floating-point numbers are compared indirectly: two floating-point numbers f1 and f2 are considered equal if neither f1 > f2 nor f2 > f1 holds.
  • +
  • Two JSON null values are equal.
  • +
+
Parameters
+ + + +
[in]lhsfirst JSON value to consider
[in]rhssecond JSON value to consider
+
+
+
Returns
whether the values lhs and rhs are equal
+

Linear.

+

{The example demonstrates comparing several JSON types.,operator__equal}

+
Since
version 1.0.0
+ +

Definition at line 5940 of file json.hpp.

+ +
+
+ +

◆ operator== [3/3]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool operator== (const ScalarType lhs,
const_reference rhs 
)
+
+friend
+
+ +

comparison: equal

+

comparison: equal Compares two JSON values for equality according to the following rules:

    +
  • Two JSON values are equal if (1) they are from the same type and (2) their stored values are the same.
  • +
  • Integer and floating-point numbers are automatically converted before comparison. Floating-point numbers are compared indirectly: two floating-point numbers f1 and f2 are considered equal if neither f1 > f2 nor f2 > f1 holds.
  • +
  • Two JSON null values are equal.
  • +
+
Parameters
+ + + +
[in]lhsfirst JSON value to consider
[in]rhssecond JSON value to consider
+
+
+
Returns
whether the values lhs and rhs are equal
+

Linear.

+

{The example demonstrates comparing several JSON types.,operator__equal}

+
Since
version 1.0.0
+ +

Definition at line 5951 of file json.hpp.

+ +
+
+ +

◆ operator>

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool operator> (const_reference lhs,
const_reference rhs 
)
+
+friend
+
+ +

comparison: greater than

+

Compares whether one JSON value lhs is greater than another JSON value by calculating not (lhs <= rhs).

+
Parameters
+ + + +
[in]lhsfirst JSON value to consider
[in]rhssecond JSON value to consider
+
+
+
Returns
whether lhs is greater than to rhs
+

Linear.

+

{The example demonstrates comparing several JSON types.,operator__lessequal}

+
Since
version 1.0.0
+ +

Definition at line 6140 of file json.hpp.

+ +
+
+ +

◆ operator>=

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool operator>= (const_reference lhs,
const_reference rhs 
)
+
+friend
+
+ +

comparison: greater than or equal

+

Compares whether one JSON value lhs is greater than or equal to another JSON value by calculating not (lhs < rhs).

+
Parameters
+ + + +
[in]lhsfirst JSON value to consider
[in]rhssecond JSON value to consider
+
+
+
Returns
whether lhs is greater than or equal to rhs
+

Linear.

+

{The example demonstrates comparing several JSON types.,operator__greaterequal}

+
Since
version 1.0.0
+ +

Definition at line 6162 of file json.hpp.

+ +
+
+ +

◆ operator>> [1/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
std::ostream& operator>> (const basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer > & j,
std::ostream & o 
)
+
+friend
+
+ +

serialize to stream

+

serialize to stream Serialize the given JSON value j to the output stream o. The JSON value will be serialized using the dump member function. The indentation of the output can be controlled with the member variable width of the output stream o. For instance, using the manipulator std::setw(4) on o sets the indentation level to 4 and the serialization result is the same as calling dump(4).

+
Parameters
+ + + +
[in,out]ostream to serialize to
[in]jJSON value to serialize
+
+
+
Returns
the stream o
+

Linear.

+

{The example below shows the serialization with different parameters to width to adjust the indentation level.,operator_serialize}

+
Since
version 1.0.0
+ +

Definition at line 6218 of file json.hpp.

+ +
+
+ +

◆ operator>> [2/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
std::istream& operator>> (std::istream & i,
basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer > & j 
)
+
+friend
+
+ +

deserialize from stream

+

deserialize from stream Deserializes an input stream to a JSON value.

+
Parameters
+ + + +
[in,out]iinput stream to read a serialized JSON value from
[in,out]jJSON value to write the deserialized input to
+
+
+
Exceptions
+ + +
std::invalid_argumentin case of parse errors
+
+
+

Linear in the length of the input. The parser is a predictive LL(1) parser.

+
Note
A UTF-8 byte order mark is silently ignored.
+

{The example below shows how a JSON value is constructed by reading a serialization from a stream.,operator_deserialize}

+
See also
parse(std::istream&, const parser_callback_t) for a variant with a parser callback function to filter values while parsing
+
Since
version 1.0.0
+ +

Definition at line 6501 of file json.hpp.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/docs/API/classnlohmann_1_1basic__json_1_1iter__impl.html b/docs/API/classnlohmann_1_1basic__json_1_1iter__impl.html new file mode 100644 index 0000000..e34385e --- /dev/null +++ b/docs/API/classnlohmann_1_1basic__json_1_1iter__impl.html @@ -0,0 +1,1132 @@ + + + + + + + +o-du/phy: basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::iter_impl< U > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::iter_impl< U > Class Template Reference
+
+
+ +

a template for a random access iterator for the basic_json class + More...

+ +

#include <json.hpp>

+
+Inheritance diagram for basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::iter_impl< U >:
+
+
Inheritance graph
+
+
+Collaboration diagram for basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::iter_impl< U >:
+
+
Collaboration graph
+
+ + + + + + + + + + + + + + + + + +

+Public Types

using value_type = typename basic_json::value_type
 the type of the values when the iterator is dereferenced More...
 
using difference_type = typename basic_json::difference_type
 a type to represent differences between iterators More...
 
using pointer = typename std::conditional< std::is_const< U >::value, typename basic_json::const_pointer, typename basic_json::pointer >::type
 defines a pointer to the type iterated over (value_type) More...
 
using reference = typename std::conditional< std::is_const< U >::value, typename basic_json::const_reference, typename basic_json::reference >::type
 defines a reference to the type iterated over (value_type) More...
 
using iterator_category = std::bidirectional_iterator_tag
 the category of the iterator More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 iter_impl ()=default
 default constructor More...
 
 iter_impl (pointer object) noexcept
 constructor for a given JSON instance More...
 
 operator const_iterator () const
 
 iter_impl (const iter_impl &other) noexcept
 copy constructor More...
 
iter_imploperator= (iter_impl other) noexcept(std::is_nothrow_move_constructible< pointer >::value and std::is_nothrow_move_assignable< pointer >::value and std::is_nothrow_move_constructible< internal_iterator >::value and std::is_nothrow_move_assignable< internal_iterator >::value)
 copy assignment More...
 
reference operator* () const
 return a reference to the value pointed to by the iterator More...
 
pointer operator-> () const
 dereference the iterator More...
 
iter_impl operator++ (int)
 post-increment (it++) More...
 
iter_imploperator++ ()
 pre-increment (++it) More...
 
iter_impl operator-- (int)
 post-decrement (it–) More...
 
iter_imploperator-- ()
 pre-decrement (–it) More...
 
bool operator== (const iter_impl &other) const
 comparison: equal More...
 
bool operator!= (const iter_impl &other) const
 comparison: not equal More...
 
bool operator< (const iter_impl &other) const
 comparison: smaller More...
 
bool operator<= (const iter_impl &other) const
 comparison: less than or equal More...
 
bool operator> (const iter_impl &other) const
 comparison: greater than More...
 
bool operator>= (const iter_impl &other) const
 comparison: greater than or equal More...
 
iter_imploperator+= (difference_type i)
 add to iterator More...
 
iter_imploperator-= (difference_type i)
 subtract from iterator More...
 
iter_impl operator+ (difference_type i)
 add to iterator More...
 
iter_impl operator- (difference_type i)
 subtract from iterator More...
 
difference_type operator- (const iter_impl &other) const
 return difference More...
 
reference operator[] (difference_type n) const
 access to successor More...
 
object_t::key_type key () const
 return the key of an object iterator More...
 
reference value () const
 return the value of an iterator More...
 
+ + + + +

+Friends

class basic_json
 allow basic_json to access private members More...
 
+

Detailed Description

+

template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer>
+template<typename U>
+class nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::iter_impl< U >

+ +

a template for a random access iterator for the basic_json class

+

This class implements a both iterators (iterator and const_iterator) for the basic_json class.

+
Note
An iterator is called initialized when a pointer to a JSON value has been set (e.g., by a constructor or a copy assignment). If the iterator is default-constructed, it is uninitialized and most methods are undefined. The library uses assertions to detect calls on uninitialized iterators.
+

The class satisfies the following concept requirements:

    +
  • RandomAccessIterator: The iterator that can be moved to point (forward and backward) to any element in constant time.
  • +
+
Since
version 1.0.0, simplified in version 2.0.9
+ +

Definition at line 1028 of file json.hpp.

+

Member Typedef Documentation

+ +

◆ difference_type

+ +
+
+ + + + +
using difference_type = typename basic_json::difference_type
+
+ +

a type to represent differences between iterators

+ +

Definition at line 8828 of file json.hpp.

+ +
+
+ +

◆ iterator_category

+ +
+
+ + + + +
using iterator_category = std::bidirectional_iterator_tag
+
+ +

the category of the iterator

+ +

Definition at line 8838 of file json.hpp.

+ +
+
+ +

◆ pointer

+ +
+
+ + + + +
using pointer = typename std::conditional<std::is_const<U>::value, typename basic_json::const_pointer, typename basic_json::pointer>::type
+
+ +

defines a pointer to the type iterated over (value_type)

+ +

Definition at line 8832 of file json.hpp.

+ +
+
+ +

◆ reference

+ +
+
+ + + + +
using reference = typename std::conditional<std::is_const<U>::value, typename basic_json::const_reference, typename basic_json::reference>::type
+
+ +

defines a reference to the type iterated over (value_type)

+ +

Definition at line 8836 of file json.hpp.

+ +
+
+ +

◆ value_type

+ +
+
+ + + + +
using value_type = typename basic_json::value_type
+
+ +

the type of the values when the iterator is dereferenced

+ +

Definition at line 8826 of file json.hpp.

+ +
+
+

Constructor & Destructor Documentation

+ +

◆ iter_impl() [1/3]

+ +
+
+ + + + + +
+ + + + + + + +
iter_impl ()
+
+default
+
+ +

default constructor

+ +
+
+ +

◆ iter_impl() [2/3]

+ +
+
+ + + + + +
+ + + + + + + + +
iter_impl (pointer object)
+
+inlineexplicitnoexcept
+
+ +

constructor for a given JSON instance

+
Parameters
+ + +
[in]objectpointer to a JSON object for this iterator
+
+
+
Precondition
object != nullptr
+
Postcondition
The iterator is initialized; i.e. m_object != nullptr.
+ +

Definition at line 8849 of file json.hpp.

+ +
+
+ +

◆ iter_impl() [3/3]

+ +
+
+ + + + + +
+ + + + + + + + +
iter_impl (const iter_impl< U > & other)
+
+inlinenoexcept
+
+ +

copy constructor

+
Parameters
+ + +
[in]otheriterator to copy from
+
+
+
Note
It is not checked whether other is initialized.
+ +

Definition at line 8902 of file json.hpp.

+ +
+
+

Member Function Documentation

+ +

◆ key()

+ +
+
+ + + + + +
+ + + + + + + +
object_t::key_type key () const
+
+inline
+
+ +

return the key of an object iterator

+
Precondition
The iterator is initialized; i.e. m_object != nullptr.
+ +

Definition at line 9383 of file json.hpp.

+ +
+
+ +

◆ operator const_iterator()

+ +
+
+ + + + + +
+ + + + + + + +
operator const_iterator () const
+
+inline
+
+ +

Definition at line 8884 of file json.hpp.

+ +
+
+ +

◆ operator!=()

+ +
+
+ + + + + +
+ + + + + + + + +
bool operator!= (const iter_impl< U > & other) const
+
+inline
+
+ +

comparison: not equal

+
Precondition
The iterator is initialized; i.e. m_object != nullptr.
+ +

Definition at line 9188 of file json.hpp.

+ +
+
+ +

◆ operator*()

+ +
+
+ + + + + +
+ + + + + + + +
reference operator* () const
+
+inline
+
+ +

return a reference to the value pointed to by the iterator

+
Precondition
The iterator is initialized; i.e. m_object != nullptr.
+ +

Definition at line 8996 of file json.hpp.

+ +
+
+ +

◆ operator+()

+ +
+
+ + + + + +
+ + + + + + + + +
iter_impl operator+ (difference_type i)
+
+inline
+
+ +

add to iterator

+
Precondition
The iterator is initialized; i.e. m_object != nullptr.
+ +

Definition at line 9297 of file json.hpp.

+ +
+
+ +

◆ operator++() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + +
iter_impl operator++ (int )
+
+inline
+
+ +

post-increment (it++)

+
Precondition
The iterator is initialized; i.e. m_object != nullptr.
+ +

Definition at line 9069 of file json.hpp.

+ +
+
+ +

◆ operator++() [2/2]

+ +
+
+ + + + + +
+ + + + + + + +
iter_impl& operator++ ()
+
+inline
+
+ +

pre-increment (++it)

+
Precondition
The iterator is initialized; i.e. m_object != nullptr.
+ +

Definition at line 9080 of file json.hpp.

+ +
+
+ +

◆ operator+=()

+ +
+
+ + + + + +
+ + + + + + + + +
iter_impl& operator+= (difference_type i)
+
+inline
+
+ +

add to iterator

+
Precondition
The iterator is initialized; i.e. m_object != nullptr.
+ +

Definition at line 9257 of file json.hpp.

+ +
+
+ +

◆ operator-() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + +
iter_impl operator- (difference_type i)
+
+inline
+
+ +

subtract from iterator

+
Precondition
The iterator is initialized; i.e. m_object != nullptr.
+ +

Definition at line 9308 of file json.hpp.

+ +
+
+ +

◆ operator-() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + +
difference_type operator- (const iter_impl< U > & other) const
+
+inline
+
+ +

return difference

+
Precondition
The iterator is initialized; i.e. m_object != nullptr.
+ +

Definition at line 9319 of file json.hpp.

+ +
+
+ +

◆ operator--() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + +
iter_impl operator-- (int )
+
+inline
+
+ +

post-decrement (it–)

+
Precondition
The iterator is initialized; i.e. m_object != nullptr.
+ +

Definition at line 9112 of file json.hpp.

+ +
+
+ +

◆ operator--() [2/2]

+ +
+
+ + + + + +
+ + + + + + + +
iter_impl& operator-- ()
+
+inline
+
+ +

pre-decrement (–it)

+
Precondition
The iterator is initialized; i.e. m_object != nullptr.
+ +

Definition at line 9123 of file json.hpp.

+ +
+
+ +

◆ operator-=()

+ +
+
+ + + + + +
+ + + + + + + + +
iter_impl& operator-= (difference_type i)
+
+inline
+
+ +

subtract from iterator

+
Precondition
The iterator is initialized; i.e. m_object != nullptr.
+ +

Definition at line 9288 of file json.hpp.

+ +
+
+ +

◆ operator->()

+ +
+
+ + + + + +
+ + + + + + + +
pointer operator-> () const
+
+inline
+
+ +

dereference the iterator

+
Precondition
The iterator is initialized; i.e. m_object != nullptr.
+ +

Definition at line 9035 of file json.hpp.

+ +
+
+ +

◆ operator<()

+ +
+
+ + + + + +
+ + + + + + + + +
bool operator< (const iter_impl< U > & other) const
+
+inline
+
+ +

comparison: smaller

+
Precondition
The iterator is initialized; i.e. m_object != nullptr.
+ +

Definition at line 9197 of file json.hpp.

+ +
+
+ +

◆ operator<=()

+ +
+
+ + + + + +
+ + + + + + + + +
bool operator<= (const iter_impl< U > & other) const
+
+inline
+
+ +

comparison: less than or equal

+
Precondition
The iterator is initialized; i.e. m_object != nullptr.
+ +

Definition at line 9230 of file json.hpp.

+ +
+
+ +

◆ operator=()

+ +
+
+ + + + + +
+ + + + + + + + +
iter_impl& operator= (iter_impl< U > other)
+
+inlinenoexcept
+
+ +

copy assignment

+
Parameters
+ + +
[in,out]otheriterator to copy from
+
+
+
Note
It is not checked whether other is initialized.
+ +

Definition at line 8911 of file json.hpp.

+
+Here is the call graph for this function:
+
+
+ + + +
+ +
+
+ +

◆ operator==()

+ +
+
+ + + + + +
+ + + + + + + + +
bool operator== (const iter_impl< U > & other) const
+
+inline
+
+ +

comparison: equal

+
Precondition
The iterator is initialized; i.e. m_object != nullptr.
+ +

Definition at line 9155 of file json.hpp.

+ +
+
+ +

◆ operator>()

+ +
+
+ + + + + +
+ + + + + + + + +
bool operator> (const iter_impl< U > & other) const
+
+inline
+
+ +

comparison: greater than

+
Precondition
The iterator is initialized; i.e. m_object != nullptr.
+ +

Definition at line 9239 of file json.hpp.

+ +
+
+ +

◆ operator>=()

+ +
+
+ + + + + +
+ + + + + + + + +
bool operator>= (const iter_impl< U > & other) const
+
+inline
+
+ +

comparison: greater than or equal

+
Precondition
The iterator is initialized; i.e. m_object != nullptr.
+ +

Definition at line 9248 of file json.hpp.

+
+Here is the call graph for this function:
+
+
+ + + +
+ +
+
+ +

◆ operator[]()

+ +
+
+ + + + + +
+ + + + + + + + +
reference operator[] (difference_type n) const
+
+inline
+
+ +

access to successor

+
Precondition
The iterator is initialized; i.e. m_object != nullptr.
+ +

Definition at line 9346 of file json.hpp.

+ +
+
+ +

◆ value()

+ +
+
+ + + + + +
+ + + + + + + +
reference value () const
+
+inline
+
+ +

return the value of an iterator

+
Precondition
The iterator is initialized; i.e. m_object != nullptr.
+ +

Definition at line 9399 of file json.hpp.

+ +
+
+

Friends And Related Function Documentation

+ +

◆ basic_json

+ +
+
+ + + + + +
+ + + + +
friend class basic_json
+
+friend
+
+ +

allow basic_json to access private members

+ +

Definition at line 8817 of file json.hpp.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/docs/API/classnlohmann_1_1basic__json_1_1iter__impl__coll__graph.map b/docs/API/classnlohmann_1_1basic__json_1_1iter__impl__coll__graph.map new file mode 100644 index 0000000..40a3f64 --- /dev/null +++ b/docs/API/classnlohmann_1_1basic__json_1_1iter__impl__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/classnlohmann_1_1basic__json_1_1iter__impl__coll__graph.md5 b/docs/API/classnlohmann_1_1basic__json_1_1iter__impl__coll__graph.md5 new file mode 100644 index 0000000..627a09b --- /dev/null +++ b/docs/API/classnlohmann_1_1basic__json_1_1iter__impl__coll__graph.md5 @@ -0,0 +1 @@ +23f97e2fb148eeffa5a19bfb6b392f56 \ No newline at end of file diff --git a/docs/API/classnlohmann_1_1basic__json_1_1iter__impl__coll__graph.png b/docs/API/classnlohmann_1_1basic__json_1_1iter__impl__coll__graph.png new file mode 100644 index 0000000..6c282f0 Binary files /dev/null and b/docs/API/classnlohmann_1_1basic__json_1_1iter__impl__coll__graph.png differ diff --git a/docs/API/classnlohmann_1_1basic__json_1_1iter__impl__inherit__graph.map b/docs/API/classnlohmann_1_1basic__json_1_1iter__impl__inherit__graph.map new file mode 100644 index 0000000..40a3f64 --- /dev/null +++ b/docs/API/classnlohmann_1_1basic__json_1_1iter__impl__inherit__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/classnlohmann_1_1basic__json_1_1iter__impl__inherit__graph.md5 b/docs/API/classnlohmann_1_1basic__json_1_1iter__impl__inherit__graph.md5 new file mode 100644 index 0000000..6a29188 --- /dev/null +++ b/docs/API/classnlohmann_1_1basic__json_1_1iter__impl__inherit__graph.md5 @@ -0,0 +1 @@ +8f2ab3311b5dd67867765d5c19effc4c \ No newline at end of file diff --git a/docs/API/classnlohmann_1_1basic__json_1_1iter__impl__inherit__graph.png b/docs/API/classnlohmann_1_1basic__json_1_1iter__impl__inherit__graph.png new file mode 100644 index 0000000..6c282f0 Binary files /dev/null and b/docs/API/classnlohmann_1_1basic__json_1_1iter__impl__inherit__graph.png differ diff --git a/docs/API/classnlohmann_1_1basic__json_1_1iter__impl_a0c20da3ba765c99dc8eb0b47f506ee88_cgraph.map b/docs/API/classnlohmann_1_1basic__json_1_1iter__impl_a0c20da3ba765c99dc8eb0b47f506ee88_cgraph.map new file mode 100644 index 0000000..555b493 --- /dev/null +++ b/docs/API/classnlohmann_1_1basic__json_1_1iter__impl_a0c20da3ba765c99dc8eb0b47f506ee88_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/classnlohmann_1_1basic__json_1_1iter__impl_a0c20da3ba765c99dc8eb0b47f506ee88_cgraph.md5 b/docs/API/classnlohmann_1_1basic__json_1_1iter__impl_a0c20da3ba765c99dc8eb0b47f506ee88_cgraph.md5 new file mode 100644 index 0000000..7ab9ef4 --- /dev/null +++ b/docs/API/classnlohmann_1_1basic__json_1_1iter__impl_a0c20da3ba765c99dc8eb0b47f506ee88_cgraph.md5 @@ -0,0 +1 @@ +431ea2b8c180f8d7e59740ffe8d9e537 \ No newline at end of file diff --git a/docs/API/classnlohmann_1_1basic__json_1_1iter__impl_a0c20da3ba765c99dc8eb0b47f506ee88_cgraph.png b/docs/API/classnlohmann_1_1basic__json_1_1iter__impl_a0c20da3ba765c99dc8eb0b47f506ee88_cgraph.png new file mode 100644 index 0000000..17936a1 Binary files /dev/null and b/docs/API/classnlohmann_1_1basic__json_1_1iter__impl_a0c20da3ba765c99dc8eb0b47f506ee88_cgraph.png differ diff --git a/docs/API/classnlohmann_1_1basic__json_1_1iter__impl_a8611a2c69368775458a89acd1078d39d_cgraph.map b/docs/API/classnlohmann_1_1basic__json_1_1iter__impl_a8611a2c69368775458a89acd1078d39d_cgraph.map new file mode 100644 index 0000000..7c408b2 --- /dev/null +++ b/docs/API/classnlohmann_1_1basic__json_1_1iter__impl_a8611a2c69368775458a89acd1078d39d_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/classnlohmann_1_1basic__json_1_1iter__impl_a8611a2c69368775458a89acd1078d39d_cgraph.md5 b/docs/API/classnlohmann_1_1basic__json_1_1iter__impl_a8611a2c69368775458a89acd1078d39d_cgraph.md5 new file mode 100644 index 0000000..2b672d7 --- /dev/null +++ b/docs/API/classnlohmann_1_1basic__json_1_1iter__impl_a8611a2c69368775458a89acd1078d39d_cgraph.md5 @@ -0,0 +1 @@ +23dfe90d4300d32db6382b2d3c6aa275 \ No newline at end of file diff --git a/docs/API/classnlohmann_1_1basic__json_1_1iter__impl_a8611a2c69368775458a89acd1078d39d_cgraph.png b/docs/API/classnlohmann_1_1basic__json_1_1iter__impl_a8611a2c69368775458a89acd1078d39d_cgraph.png new file mode 100644 index 0000000..ec181ef Binary files /dev/null and b/docs/API/classnlohmann_1_1basic__json_1_1iter__impl_a8611a2c69368775458a89acd1078d39d_cgraph.png differ diff --git a/docs/API/classnlohmann_1_1basic__json_1_1json__pointer.html b/docs/API/classnlohmann_1_1basic__json_1_1json__pointer.html new file mode 100644 index 0000000..062bc46 --- /dev/null +++ b/docs/API/classnlohmann_1_1basic__json_1_1json__pointer.html @@ -0,0 +1,354 @@ + + + + + + + +o-du/phy: basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::json_pointer Class Reference + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::json_pointer Class Reference
+
+
+ +

JSON Pointer. + More...

+ +

#include <json.hpp>

+
+Collaboration diagram for basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::json_pointer:
+
+
Collaboration graph
+
+ + + + + + + + + + + +

+Public Member Functions

 json_pointer (const std::string &s="")
 create JSON pointer More...
 
std::string to_string () const noexcept
 return a string representation of the JSON pointer More...
 
 operator std::string () const
 return a string representation of the JSON pointer More...
 
+ + + + + + + + +

+Friends

class basic_json
 allow basic_json to access private members More...
 
bool operator== (json_pointer const &lhs, json_pointer const &rhs) noexcept
 
bool operator!= (json_pointer const &lhs, json_pointer const &rhs) noexcept
 
+

Detailed Description

+

template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer>
+class nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::json_pointer

+ +

JSON Pointer.

+

A JSON pointer defines a string syntax for identifying a specific value within a JSON document. It can be used with functions at and operator[]. Furthermore, JSON pointers are the base for JSON patches.

+
See also
RFC 6901
+
Since
version 2.0.0
+ +

Definition at line 11623 of file json.hpp.

+

Constructor & Destructor Documentation

+ +

◆ json_pointer()

+ +
+
+ + + + + +
+ + + + + + + + +
json_pointer (const std::string & s = "")
+
+inlineexplicit
+
+ +

create JSON pointer

+

Create a JSON pointer according to the syntax described in Section 3 of RFC6901.

+
Parameters
+ + +
[in]sstring representing the JSON pointer; if omitted, the empty string is assumed which references the whole JSON value
+
+
+
Exceptions
+ + + +
std::domain_errorif reference token is nonempty and does not begin with a slash (/); example: "JSON pointer must be empty or +begin with /"
std::domain_errorif a tilde (~) is not followed by 0 (representing ~) or 1 (representing /); example: "escape error: +~ must be followed with 0 or 1"
+
+
+

{The example shows the construction several valid JSON pointers as well as the exceptional behavior.,json_pointer}

+
Since
version 2.0.0
+ +

Definition at line 11651 of file json.hpp.

+ +
+
+

Member Function Documentation

+ +

◆ operator std::string()

+ +
+
+ + + + + +
+ + + + + + + +
operator std::string () const
+
+inline
+
+ +

return a string representation of the JSON pointer

+
Invariant
For each JSON pointer ptr, it holds:
ptr == json_pointer(ptr.to_string());
+
Returns
a string representation of the JSON pointer
+

{The example shows the result of to_string., json_pointer__to_string}

+
Since
version 2.0.0
+ +

Definition at line 11681 of file json.hpp.

+
+Here is the call graph for this function:
+
+
+ + + +
+ +
+
+ +

◆ to_string()

+ +
+
+ + + + + +
+ + + + + + + +
std::string to_string () const
+
+inlinenoexcept
+
+ +

return a string representation of the JSON pointer

+
Invariant
For each JSON pointer ptr, it holds:
ptr == json_pointer(ptr.to_string());
+
Returns
a string representation of the JSON pointer
+

{The example shows the result of to_string., json_pointer__to_string}

+
Since
version 2.0.0
+ +

Definition at line 11670 of file json.hpp.

+ +
+
+

Friends And Related Function Documentation

+ +

◆ basic_json

+ +
+
+ + + + + +
+ + + + +
friend class basic_json
+
+friend
+
+ +

allow basic_json to access private members

+ +

Definition at line 11626 of file json.hpp.

+ +
+
+ +

◆ operator!=

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool operator!= (json_pointer const & lhs,
json_pointer const & rhs 
)
+
+friend
+
+ +

Definition at line 12211 of file json.hpp.

+ +
+
+ +

◆ operator==

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool operator== (json_pointer const & lhs,
json_pointer const & rhs 
)
+
+friend
+
+ +

Definition at line 12205 of file json.hpp.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/docs/API/classnlohmann_1_1basic__json_1_1json__pointer__coll__graph.map b/docs/API/classnlohmann_1_1basic__json_1_1json__pointer__coll__graph.map new file mode 100644 index 0000000..94409e9 --- /dev/null +++ b/docs/API/classnlohmann_1_1basic__json_1_1json__pointer__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/classnlohmann_1_1basic__json_1_1json__pointer__coll__graph.md5 b/docs/API/classnlohmann_1_1basic__json_1_1json__pointer__coll__graph.md5 new file mode 100644 index 0000000..829c06f --- /dev/null +++ b/docs/API/classnlohmann_1_1basic__json_1_1json__pointer__coll__graph.md5 @@ -0,0 +1 @@ +8f643b3c1a274dd5b3c28861cac0cfa1 \ No newline at end of file diff --git a/docs/API/classnlohmann_1_1basic__json_1_1json__pointer__coll__graph.png b/docs/API/classnlohmann_1_1basic__json_1_1json__pointer__coll__graph.png new file mode 100644 index 0000000..f234080 Binary files /dev/null and b/docs/API/classnlohmann_1_1basic__json_1_1json__pointer__coll__graph.png differ diff --git a/docs/API/classnlohmann_1_1basic__json_1_1json__pointer_a3888dcd59dd5acd1ca5b9bee4c2e252a_cgraph.map b/docs/API/classnlohmann_1_1basic__json_1_1json__pointer_a3888dcd59dd5acd1ca5b9bee4c2e252a_cgraph.map new file mode 100644 index 0000000..05e0032 --- /dev/null +++ b/docs/API/classnlohmann_1_1basic__json_1_1json__pointer_a3888dcd59dd5acd1ca5b9bee4c2e252a_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/classnlohmann_1_1basic__json_1_1json__pointer_a3888dcd59dd5acd1ca5b9bee4c2e252a_cgraph.md5 b/docs/API/classnlohmann_1_1basic__json_1_1json__pointer_a3888dcd59dd5acd1ca5b9bee4c2e252a_cgraph.md5 new file mode 100644 index 0000000..66d8f36 --- /dev/null +++ b/docs/API/classnlohmann_1_1basic__json_1_1json__pointer_a3888dcd59dd5acd1ca5b9bee4c2e252a_cgraph.md5 @@ -0,0 +1 @@ +1c996633c0c7129c85490b894b6c37bf \ No newline at end of file diff --git a/docs/API/classnlohmann_1_1basic__json_1_1json__pointer_a3888dcd59dd5acd1ca5b9bee4c2e252a_cgraph.png b/docs/API/classnlohmann_1_1basic__json_1_1json__pointer_a3888dcd59dd5acd1ca5b9bee4c2e252a_cgraph.png new file mode 100644 index 0000000..5b18187 Binary files /dev/null and b/docs/API/classnlohmann_1_1basic__json_1_1json__pointer_a3888dcd59dd5acd1ca5b9bee4c2e252a_cgraph.png differ diff --git a/docs/API/classnlohmann_1_1basic__json_1_1json__reverse__iterator.html b/docs/API/classnlohmann_1_1basic__json_1_1json__reverse__iterator.html new file mode 100644 index 0000000..e6f1416 --- /dev/null +++ b/docs/API/classnlohmann_1_1basic__json_1_1json__reverse__iterator.html @@ -0,0 +1,595 @@ + + + + + + + +o-du/phy: basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::json_reverse_iterator< Base > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::json_reverse_iterator< Base > Class Template Reference
+
+
+ +

a template for a reverse iterator class + More...

+ +

#include <json.hpp>

+
+Inheritance diagram for basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::json_reverse_iterator< Base >:
+
+
Inheritance graph
+
+
+Collaboration diagram for basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::json_reverse_iterator< Base >:
+
+
Collaboration graph
+
+ + + + + + + + +

+Public Types

using base_iterator = std::reverse_iterator< Base >
 shortcut to the reverse iterator adaptor More...
 
using reference = typename Base::reference
 the reference type for the pointed-to element More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 json_reverse_iterator (const typename base_iterator::iterator_type &it) noexcept
 create reverse iterator from iterator More...
 
 json_reverse_iterator (const base_iterator &it) noexcept
 create reverse iterator from base class More...
 
json_reverse_iterator operator++ (int)
 post-increment (it++) More...
 
json_reverse_iteratoroperator++ ()
 pre-increment (++it) More...
 
json_reverse_iterator operator-- (int)
 post-decrement (it–) More...
 
json_reverse_iteratoroperator-- ()
 pre-decrement (–it) More...
 
json_reverse_iteratoroperator+= (difference_type i)
 add to iterator More...
 
json_reverse_iterator operator+ (difference_type i) const
 add to iterator More...
 
json_reverse_iterator operator- (difference_type i) const
 subtract from iterator More...
 
difference_type operator- (const json_reverse_iterator &other) const
 return difference More...
 
reference operator[] (difference_type n) const
 access to successor More...
 
object_t::key_type key () const
 return the key of an object iterator More...
 
reference value () const
 return the value of an iterator More...
 
+

Detailed Description

+

template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer>
+template<typename Base>
+class nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::json_reverse_iterator< Base >

+ +

a template for a reverse iterator class

+
Template Parameters
+ + +
Basethe base iterator type to reverse. Valid types are iterator (to create reverse_iterator) and const_iterator (to create const_reverse_iterator).
+
+
+

The class satisfies the following concept requirements:

    +
  • RandomAccessIterator: The iterator that can be moved to point (forward and backward) to any element in constant time.
  • +
  • OutputIterator: It is possible to write to the pointed-to element (only if Base is iterator).
  • +
+
Since
version 1.0.0
+ +

Definition at line 1029 of file json.hpp.

+

Member Typedef Documentation

+ +

◆ base_iterator

+ +
+
+ + + + +
using base_iterator = std::reverse_iterator<Base>
+
+ +

shortcut to the reverse iterator adaptor

+ +

Definition at line 9433 of file json.hpp.

+ +
+
+ +

◆ reference

+ +
+
+ + + + +
using reference = typename Base::reference
+
+ +

the reference type for the pointed-to element

+ +

Definition at line 9435 of file json.hpp.

+ +
+
+

Constructor & Destructor Documentation

+ +

◆ json_reverse_iterator() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + +
json_reverse_iterator (const typename base_iterator::iterator_type & it)
+
+inlinenoexcept
+
+ +

create reverse iterator from iterator

+ +

Definition at line 9438 of file json.hpp.

+ +
+
+ +

◆ json_reverse_iterator() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + +
json_reverse_iterator (const base_iteratorit)
+
+inlinenoexcept
+
+ +

create reverse iterator from base class

+ +

Definition at line 9443 of file json.hpp.

+ +
+
+

Member Function Documentation

+ +

◆ key()

+ +
+
+ + + + + +
+ + + + + + + +
object_t::key_type key () const
+
+inline
+
+ +

return the key of an object iterator

+ +

Definition at line 9509 of file json.hpp.

+ +
+
+ +

◆ operator+()

+ +
+
+ + + + + +
+ + + + + + + + +
json_reverse_iterator operator+ (difference_type i) const
+
+inline
+
+ +

add to iterator

+ +

Definition at line 9481 of file json.hpp.

+ +
+
+ +

◆ operator++() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + +
json_reverse_iterator operator++ (int )
+
+inline
+
+ +

post-increment (it++)

+ +

Definition at line 9448 of file json.hpp.

+ +
+
+ +

◆ operator++() [2/2]

+ +
+
+ + + + + +
+ + + + + + + +
json_reverse_iterator& operator++ ()
+
+inline
+
+ +

pre-increment (++it)

+ +

Definition at line 9454 of file json.hpp.

+ +
+
+ +

◆ operator+=()

+ +
+
+ + + + + +
+ + + + + + + + +
json_reverse_iterator& operator+= (difference_type i)
+
+inline
+
+ +

add to iterator

+ +

Definition at line 9474 of file json.hpp.

+ +
+
+ +

◆ operator-() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + +
json_reverse_iterator operator- (difference_type i) const
+
+inline
+
+ +

subtract from iterator

+ +

Definition at line 9489 of file json.hpp.

+ +
+
+ +

◆ operator-() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + +
difference_type operator- (const json_reverse_iterator< Base > & other) const
+
+inline
+
+ +

return difference

+ +

Definition at line 9497 of file json.hpp.

+ +
+
+ +

◆ operator--() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + +
json_reverse_iterator operator-- (int )
+
+inline
+
+ +

post-decrement (it–)

+ +

Definition at line 9461 of file json.hpp.

+ +
+
+ +

◆ operator--() [2/2]

+ +
+
+ + + + + +
+ + + + + + + +
json_reverse_iterator& operator-- ()
+
+inline
+
+ +

pre-decrement (–it)

+ +

Definition at line 9467 of file json.hpp.

+ +
+
+ +

◆ operator[]()

+ +
+
+ + + + + +
+ + + + + + + + +
reference operator[] (difference_type n) const
+
+inline
+
+ +

access to successor

+ +

Definition at line 9503 of file json.hpp.

+ +
+
+ +

◆ value()

+ +
+
+ + + + + +
+ + + + + + + +
reference value () const
+
+inline
+
+ +

return the value of an iterator

+ +

Definition at line 9516 of file json.hpp.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/docs/API/classnlohmann_1_1basic__json_1_1json__reverse__iterator__coll__graph.map b/docs/API/classnlohmann_1_1basic__json_1_1json__reverse__iterator__coll__graph.map new file mode 100644 index 0000000..182f421 --- /dev/null +++ b/docs/API/classnlohmann_1_1basic__json_1_1json__reverse__iterator__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/classnlohmann_1_1basic__json_1_1json__reverse__iterator__coll__graph.md5 b/docs/API/classnlohmann_1_1basic__json_1_1json__reverse__iterator__coll__graph.md5 new file mode 100644 index 0000000..12069f0 --- /dev/null +++ b/docs/API/classnlohmann_1_1basic__json_1_1json__reverse__iterator__coll__graph.md5 @@ -0,0 +1 @@ +d2b563a5f6186b0a05b04951d618af3e \ No newline at end of file diff --git a/docs/API/classnlohmann_1_1basic__json_1_1json__reverse__iterator__coll__graph.png b/docs/API/classnlohmann_1_1basic__json_1_1json__reverse__iterator__coll__graph.png new file mode 100644 index 0000000..2461e5e Binary files /dev/null and b/docs/API/classnlohmann_1_1basic__json_1_1json__reverse__iterator__coll__graph.png differ diff --git a/docs/API/classnlohmann_1_1basic__json_1_1json__reverse__iterator__inherit__graph.map b/docs/API/classnlohmann_1_1basic__json_1_1json__reverse__iterator__inherit__graph.map new file mode 100644 index 0000000..182f421 --- /dev/null +++ b/docs/API/classnlohmann_1_1basic__json_1_1json__reverse__iterator__inherit__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/classnlohmann_1_1basic__json_1_1json__reverse__iterator__inherit__graph.md5 b/docs/API/classnlohmann_1_1basic__json_1_1json__reverse__iterator__inherit__graph.md5 new file mode 100644 index 0000000..1ae0430 --- /dev/null +++ b/docs/API/classnlohmann_1_1basic__json_1_1json__reverse__iterator__inherit__graph.md5 @@ -0,0 +1 @@ +fb973f9dad2c09fe2d56f1a3952dcea8 \ No newline at end of file diff --git a/docs/API/classnlohmann_1_1basic__json_1_1json__reverse__iterator__inherit__graph.png b/docs/API/classnlohmann_1_1basic__json_1_1json__reverse__iterator__inherit__graph.png new file mode 100644 index 0000000..2461e5e Binary files /dev/null and b/docs/API/classnlohmann_1_1basic__json_1_1json__reverse__iterator__inherit__graph.png differ diff --git a/docs/API/classnlohmann_1_1basic__json__coll__graph.map b/docs/API/classnlohmann_1_1basic__json__coll__graph.map new file mode 100644 index 0000000..bed01d9 --- /dev/null +++ b/docs/API/classnlohmann_1_1basic__json__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/classnlohmann_1_1basic__json__coll__graph.md5 b/docs/API/classnlohmann_1_1basic__json__coll__graph.md5 new file mode 100644 index 0000000..7a35690 --- /dev/null +++ b/docs/API/classnlohmann_1_1basic__json__coll__graph.md5 @@ -0,0 +1 @@ +487e30a116539d78985759be2ea80c7b \ No newline at end of file diff --git a/docs/API/classnlohmann_1_1basic__json__coll__graph.png b/docs/API/classnlohmann_1_1basic__json__coll__graph.png new file mode 100644 index 0000000..4a3d5d0 Binary files /dev/null and b/docs/API/classnlohmann_1_1basic__json__coll__graph.png differ diff --git a/docs/API/classnlohmann_1_1basic__json_a05a2d4678b130a13b4bcbc62f4318d72_icgraph.map b/docs/API/classnlohmann_1_1basic__json_a05a2d4678b130a13b4bcbc62f4318d72_icgraph.map new file mode 100644 index 0000000..bd34fdd --- /dev/null +++ b/docs/API/classnlohmann_1_1basic__json_a05a2d4678b130a13b4bcbc62f4318d72_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/classnlohmann_1_1basic__json_a05a2d4678b130a13b4bcbc62f4318d72_icgraph.md5 b/docs/API/classnlohmann_1_1basic__json_a05a2d4678b130a13b4bcbc62f4318d72_icgraph.md5 new file mode 100644 index 0000000..102e535 --- /dev/null +++ b/docs/API/classnlohmann_1_1basic__json_a05a2d4678b130a13b4bcbc62f4318d72_icgraph.md5 @@ -0,0 +1 @@ +4c596316a117723c008255587f3f01fe \ No newline at end of file diff --git a/docs/API/classnlohmann_1_1basic__json_a05a2d4678b130a13b4bcbc62f4318d72_icgraph.png b/docs/API/classnlohmann_1_1basic__json_a05a2d4678b130a13b4bcbc62f4318d72_icgraph.png new file mode 100644 index 0000000..30b476f Binary files /dev/null and b/docs/API/classnlohmann_1_1basic__json_a05a2d4678b130a13b4bcbc62f4318d72_icgraph.png differ diff --git a/docs/API/classnlohmann_1_1basic__json_a0801762a3fe36fe32dca5f16e515478d_icgraph.map b/docs/API/classnlohmann_1_1basic__json_a0801762a3fe36fe32dca5f16e515478d_icgraph.map new file mode 100644 index 0000000..6d3fc87 --- /dev/null +++ b/docs/API/classnlohmann_1_1basic__json_a0801762a3fe36fe32dca5f16e515478d_icgraph.map @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/docs/API/classnlohmann_1_1basic__json_a0801762a3fe36fe32dca5f16e515478d_icgraph.md5 b/docs/API/classnlohmann_1_1basic__json_a0801762a3fe36fe32dca5f16e515478d_icgraph.md5 new file mode 100644 index 0000000..c98ba7e --- /dev/null +++ b/docs/API/classnlohmann_1_1basic__json_a0801762a3fe36fe32dca5f16e515478d_icgraph.md5 @@ -0,0 +1 @@ +cd6546ad4aae91d528dac9bc9ede0289 \ No newline at end of file diff --git a/docs/API/classnlohmann_1_1basic__json_a0801762a3fe36fe32dca5f16e515478d_icgraph.png b/docs/API/classnlohmann_1_1basic__json_a0801762a3fe36fe32dca5f16e515478d_icgraph.png new file mode 100644 index 0000000..70e8f66 Binary files /dev/null and b/docs/API/classnlohmann_1_1basic__json_a0801762a3fe36fe32dca5f16e515478d_icgraph.png differ diff --git a/docs/API/classnlohmann_1_1basic__json_a0f6968dcb6461353787d510aaa671b61_cgraph.map b/docs/API/classnlohmann_1_1basic__json_a0f6968dcb6461353787d510aaa671b61_cgraph.map new file mode 100644 index 0000000..1788835 --- /dev/null +++ b/docs/API/classnlohmann_1_1basic__json_a0f6968dcb6461353787d510aaa671b61_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/classnlohmann_1_1basic__json_a0f6968dcb6461353787d510aaa671b61_cgraph.md5 b/docs/API/classnlohmann_1_1basic__json_a0f6968dcb6461353787d510aaa671b61_cgraph.md5 new file mode 100644 index 0000000..7deaeb2 --- /dev/null +++ b/docs/API/classnlohmann_1_1basic__json_a0f6968dcb6461353787d510aaa671b61_cgraph.md5 @@ -0,0 +1 @@ +c0ef82ad2ec4daeca1ddf14445356cf2 \ No newline at end of file diff --git a/docs/API/classnlohmann_1_1basic__json_a0f6968dcb6461353787d510aaa671b61_cgraph.png b/docs/API/classnlohmann_1_1basic__json_a0f6968dcb6461353787d510aaa671b61_cgraph.png new file mode 100644 index 0000000..f285bd4 Binary files /dev/null and b/docs/API/classnlohmann_1_1basic__json_a0f6968dcb6461353787d510aaa671b61_cgraph.png differ diff --git a/docs/API/classnlohmann_1_1basic__json_a12cfdf59e8552b8604c71585e6dd32bc_cgraph.map b/docs/API/classnlohmann_1_1basic__json_a12cfdf59e8552b8604c71585e6dd32bc_cgraph.map new file mode 100644 index 0000000..7d7f424 --- /dev/null +++ b/docs/API/classnlohmann_1_1basic__json_a12cfdf59e8552b8604c71585e6dd32bc_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/classnlohmann_1_1basic__json_a12cfdf59e8552b8604c71585e6dd32bc_cgraph.md5 b/docs/API/classnlohmann_1_1basic__json_a12cfdf59e8552b8604c71585e6dd32bc_cgraph.md5 new file mode 100644 index 0000000..3c21d56 --- /dev/null +++ b/docs/API/classnlohmann_1_1basic__json_a12cfdf59e8552b8604c71585e6dd32bc_cgraph.md5 @@ -0,0 +1 @@ +db4fc23f15df495ccaf4bf9020e1546a \ No newline at end of file diff --git a/docs/API/classnlohmann_1_1basic__json_a12cfdf59e8552b8604c71585e6dd32bc_cgraph.png b/docs/API/classnlohmann_1_1basic__json_a12cfdf59e8552b8604c71585e6dd32bc_cgraph.png new file mode 100644 index 0000000..e14c189 Binary files /dev/null and b/docs/API/classnlohmann_1_1basic__json_a12cfdf59e8552b8604c71585e6dd32bc_cgraph.png differ diff --git a/docs/API/classnlohmann_1_1basic__json_a12d90fef934fc6cfdac130424872604a_cgraph.map b/docs/API/classnlohmann_1_1basic__json_a12d90fef934fc6cfdac130424872604a_cgraph.map new file mode 100644 index 0000000..c67afb2 --- /dev/null +++ b/docs/API/classnlohmann_1_1basic__json_a12d90fef934fc6cfdac130424872604a_cgraph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/classnlohmann_1_1basic__json_a12d90fef934fc6cfdac130424872604a_cgraph.md5 b/docs/API/classnlohmann_1_1basic__json_a12d90fef934fc6cfdac130424872604a_cgraph.md5 new file mode 100644 index 0000000..6f5e067 --- /dev/null +++ b/docs/API/classnlohmann_1_1basic__json_a12d90fef934fc6cfdac130424872604a_cgraph.md5 @@ -0,0 +1 @@ +b9a29fb1d401d8c7fc917bd11018cbf4 \ No newline at end of file diff --git a/docs/API/classnlohmann_1_1basic__json_a12d90fef934fc6cfdac130424872604a_cgraph.png b/docs/API/classnlohmann_1_1basic__json_a12d90fef934fc6cfdac130424872604a_cgraph.png new file mode 100644 index 0000000..813fc1a Binary files /dev/null and b/docs/API/classnlohmann_1_1basic__json_a12d90fef934fc6cfdac130424872604a_cgraph.png differ diff --git a/docs/API/classnlohmann_1_1basic__json_a16bfbc9e705582cdf7e88affced6ca51_icgraph.map b/docs/API/classnlohmann_1_1basic__json_a16bfbc9e705582cdf7e88affced6ca51_icgraph.map new file mode 100644 index 0000000..b14f57d --- /dev/null +++ b/docs/API/classnlohmann_1_1basic__json_a16bfbc9e705582cdf7e88affced6ca51_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/classnlohmann_1_1basic__json_a16bfbc9e705582cdf7e88affced6ca51_icgraph.md5 b/docs/API/classnlohmann_1_1basic__json_a16bfbc9e705582cdf7e88affced6ca51_icgraph.md5 new file mode 100644 index 0000000..17ba50f --- /dev/null +++ b/docs/API/classnlohmann_1_1basic__json_a16bfbc9e705582cdf7e88affced6ca51_icgraph.md5 @@ -0,0 +1 @@ +bfd5f7f39e54b97644813700b236aa71 \ No newline at end of file diff --git a/docs/API/classnlohmann_1_1basic__json_a16bfbc9e705582cdf7e88affced6ca51_icgraph.png b/docs/API/classnlohmann_1_1basic__json_a16bfbc9e705582cdf7e88affced6ca51_icgraph.png new file mode 100644 index 0000000..8446919 Binary files /dev/null and b/docs/API/classnlohmann_1_1basic__json_a16bfbc9e705582cdf7e88affced6ca51_icgraph.png differ diff --git a/docs/API/classnlohmann_1_1basic__json_a21e205d45fed194dec979bc1ea5388ac_cgraph.map b/docs/API/classnlohmann_1_1basic__json_a21e205d45fed194dec979bc1ea5388ac_cgraph.map new file mode 100644 index 0000000..c67afb2 --- /dev/null +++ b/docs/API/classnlohmann_1_1basic__json_a21e205d45fed194dec979bc1ea5388ac_cgraph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/classnlohmann_1_1basic__json_a21e205d45fed194dec979bc1ea5388ac_cgraph.md5 b/docs/API/classnlohmann_1_1basic__json_a21e205d45fed194dec979bc1ea5388ac_cgraph.md5 new file mode 100644 index 0000000..6d233ba --- /dev/null +++ b/docs/API/classnlohmann_1_1basic__json_a21e205d45fed194dec979bc1ea5388ac_cgraph.md5 @@ -0,0 +1 @@ +f9c71ae50f4f72accbeffd87ceb6c305 \ No newline at end of file diff --git a/docs/API/classnlohmann_1_1basic__json_a21e205d45fed194dec979bc1ea5388ac_cgraph.png b/docs/API/classnlohmann_1_1basic__json_a21e205d45fed194dec979bc1ea5388ac_cgraph.png new file mode 100644 index 0000000..813fc1a Binary files /dev/null and b/docs/API/classnlohmann_1_1basic__json_a21e205d45fed194dec979bc1ea5388ac_cgraph.png differ diff --git a/docs/API/classnlohmann_1_1basic__json_a286a1af9e72e4e41a359b6d01a7b9be9_icgraph.map b/docs/API/classnlohmann_1_1basic__json_a286a1af9e72e4e41a359b6d01a7b9be9_icgraph.map new file mode 100644 index 0000000..e096d97 --- /dev/null +++ b/docs/API/classnlohmann_1_1basic__json_a286a1af9e72e4e41a359b6d01a7b9be9_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/classnlohmann_1_1basic__json_a286a1af9e72e4e41a359b6d01a7b9be9_icgraph.md5 b/docs/API/classnlohmann_1_1basic__json_a286a1af9e72e4e41a359b6d01a7b9be9_icgraph.md5 new file mode 100644 index 0000000..a1ddf25 --- /dev/null +++ b/docs/API/classnlohmann_1_1basic__json_a286a1af9e72e4e41a359b6d01a7b9be9_icgraph.md5 @@ -0,0 +1 @@ +9f2bead8ba6eb1b469c46fe3efbb4b65 \ No newline at end of file diff --git a/docs/API/classnlohmann_1_1basic__json_a286a1af9e72e4e41a359b6d01a7b9be9_icgraph.png b/docs/API/classnlohmann_1_1basic__json_a286a1af9e72e4e41a359b6d01a7b9be9_icgraph.png new file mode 100644 index 0000000..d69815d Binary files /dev/null and b/docs/API/classnlohmann_1_1basic__json_a286a1af9e72e4e41a359b6d01a7b9be9_icgraph.png differ diff --git a/docs/API/classnlohmann_1_1basic__json_a2fb1e92221746ff32c5f5c8ff1e7a7f7_cgraph.map b/docs/API/classnlohmann_1_1basic__json_a2fb1e92221746ff32c5f5c8ff1e7a7f7_cgraph.map new file mode 100644 index 0000000..b527c55 --- /dev/null +++ b/docs/API/classnlohmann_1_1basic__json_a2fb1e92221746ff32c5f5c8ff1e7a7f7_cgraph.map @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/docs/API/classnlohmann_1_1basic__json_a2fb1e92221746ff32c5f5c8ff1e7a7f7_cgraph.md5 b/docs/API/classnlohmann_1_1basic__json_a2fb1e92221746ff32c5f5c8ff1e7a7f7_cgraph.md5 new file mode 100644 index 0000000..5172fd6 --- /dev/null +++ b/docs/API/classnlohmann_1_1basic__json_a2fb1e92221746ff32c5f5c8ff1e7a7f7_cgraph.md5 @@ -0,0 +1 @@ +3a93c60eae14fd8277cf93892b4aee0a \ No newline at end of file diff --git a/docs/API/classnlohmann_1_1basic__json_a2fb1e92221746ff32c5f5c8ff1e7a7f7_cgraph.png b/docs/API/classnlohmann_1_1basic__json_a2fb1e92221746ff32c5f5c8ff1e7a7f7_cgraph.png new file mode 100644 index 0000000..d0bdb5e Binary files /dev/null and b/docs/API/classnlohmann_1_1basic__json_a2fb1e92221746ff32c5f5c8ff1e7a7f7_cgraph.png differ diff --git a/docs/API/classnlohmann_1_1basic__json_a3d5717f39bfe485057850f116fb2ed12_icgraph.map b/docs/API/classnlohmann_1_1basic__json_a3d5717f39bfe485057850f116fb2ed12_icgraph.map new file mode 100644 index 0000000..7bfcff4 --- /dev/null +++ b/docs/API/classnlohmann_1_1basic__json_a3d5717f39bfe485057850f116fb2ed12_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/classnlohmann_1_1basic__json_a3d5717f39bfe485057850f116fb2ed12_icgraph.md5 b/docs/API/classnlohmann_1_1basic__json_a3d5717f39bfe485057850f116fb2ed12_icgraph.md5 new file mode 100644 index 0000000..091484a --- /dev/null +++ b/docs/API/classnlohmann_1_1basic__json_a3d5717f39bfe485057850f116fb2ed12_icgraph.md5 @@ -0,0 +1 @@ +c0821601c8059e622525789427b26397 \ No newline at end of file diff --git a/docs/API/classnlohmann_1_1basic__json_a3d5717f39bfe485057850f116fb2ed12_icgraph.png b/docs/API/classnlohmann_1_1basic__json_a3d5717f39bfe485057850f116fb2ed12_icgraph.png new file mode 100644 index 0000000..b04945c Binary files /dev/null and b/docs/API/classnlohmann_1_1basic__json_a3d5717f39bfe485057850f116fb2ed12_icgraph.png differ diff --git a/docs/API/classnlohmann_1_1basic__json_a42de62d3e7b710d0279ac373a22c63eb_icgraph.map b/docs/API/classnlohmann_1_1basic__json_a42de62d3e7b710d0279ac373a22c63eb_icgraph.map new file mode 100644 index 0000000..b87eadd --- /dev/null +++ b/docs/API/classnlohmann_1_1basic__json_a42de62d3e7b710d0279ac373a22c63eb_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/classnlohmann_1_1basic__json_a42de62d3e7b710d0279ac373a22c63eb_icgraph.md5 b/docs/API/classnlohmann_1_1basic__json_a42de62d3e7b710d0279ac373a22c63eb_icgraph.md5 new file mode 100644 index 0000000..76657bd --- /dev/null +++ b/docs/API/classnlohmann_1_1basic__json_a42de62d3e7b710d0279ac373a22c63eb_icgraph.md5 @@ -0,0 +1 @@ +29ce7eac926268b7bb0df61d0adf824c \ No newline at end of file diff --git a/docs/API/classnlohmann_1_1basic__json_a42de62d3e7b710d0279ac373a22c63eb_icgraph.png b/docs/API/classnlohmann_1_1basic__json_a42de62d3e7b710d0279ac373a22c63eb_icgraph.png new file mode 100644 index 0000000..be6fe44 Binary files /dev/null and b/docs/API/classnlohmann_1_1basic__json_a42de62d3e7b710d0279ac373a22c63eb_icgraph.png differ diff --git a/docs/API/classnlohmann_1_1basic__json_a4427f06d587d010c62fb08021ad13612_cgraph.map b/docs/API/classnlohmann_1_1basic__json_a4427f06d587d010c62fb08021ad13612_cgraph.map new file mode 100644 index 0000000..1788835 --- /dev/null +++ b/docs/API/classnlohmann_1_1basic__json_a4427f06d587d010c62fb08021ad13612_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/classnlohmann_1_1basic__json_a4427f06d587d010c62fb08021ad13612_cgraph.md5 b/docs/API/classnlohmann_1_1basic__json_a4427f06d587d010c62fb08021ad13612_cgraph.md5 new file mode 100644 index 0000000..7c764d1 --- /dev/null +++ b/docs/API/classnlohmann_1_1basic__json_a4427f06d587d010c62fb08021ad13612_cgraph.md5 @@ -0,0 +1 @@ +4e9d76349e6d55ed77e842cc127f849d \ No newline at end of file diff --git a/docs/API/classnlohmann_1_1basic__json_a4427f06d587d010c62fb08021ad13612_cgraph.png b/docs/API/classnlohmann_1_1basic__json_a4427f06d587d010c62fb08021ad13612_cgraph.png new file mode 100644 index 0000000..f285bd4 Binary files /dev/null and b/docs/API/classnlohmann_1_1basic__json_a4427f06d587d010c62fb08021ad13612_cgraph.png differ diff --git a/docs/API/classnlohmann_1_1basic__json_a49c729573c3c831d7138c976755d10fd_cgraph.map b/docs/API/classnlohmann_1_1basic__json_a49c729573c3c831d7138c976755d10fd_cgraph.map new file mode 100644 index 0000000..985b6d2 --- /dev/null +++ b/docs/API/classnlohmann_1_1basic__json_a49c729573c3c831d7138c976755d10fd_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/classnlohmann_1_1basic__json_a49c729573c3c831d7138c976755d10fd_cgraph.md5 b/docs/API/classnlohmann_1_1basic__json_a49c729573c3c831d7138c976755d10fd_cgraph.md5 new file mode 100644 index 0000000..90f29d1 --- /dev/null +++ b/docs/API/classnlohmann_1_1basic__json_a49c729573c3c831d7138c976755d10fd_cgraph.md5 @@ -0,0 +1 @@ +d7cb859b57beeadd595ccd8cbb0b3f2a \ No newline at end of file diff --git a/docs/API/classnlohmann_1_1basic__json_a49c729573c3c831d7138c976755d10fd_cgraph.png b/docs/API/classnlohmann_1_1basic__json_a49c729573c3c831d7138c976755d10fd_cgraph.png new file mode 100644 index 0000000..4fe7778 Binary files /dev/null and b/docs/API/classnlohmann_1_1basic__json_a49c729573c3c831d7138c976755d10fd_cgraph.png differ diff --git a/docs/API/classnlohmann_1_1basic__json_a4cf2116be00a99de7addd2c32d71f99d_icgraph.map b/docs/API/classnlohmann_1_1basic__json_a4cf2116be00a99de7addd2c32d71f99d_icgraph.map new file mode 100644 index 0000000..0723b78 --- /dev/null +++ b/docs/API/classnlohmann_1_1basic__json_a4cf2116be00a99de7addd2c32d71f99d_icgraph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/API/classnlohmann_1_1basic__json_a4cf2116be00a99de7addd2c32d71f99d_icgraph.md5 b/docs/API/classnlohmann_1_1basic__json_a4cf2116be00a99de7addd2c32d71f99d_icgraph.md5 new file mode 100644 index 0000000..881cb01 --- /dev/null +++ b/docs/API/classnlohmann_1_1basic__json_a4cf2116be00a99de7addd2c32d71f99d_icgraph.md5 @@ -0,0 +1 @@ +39cdc0536f0e761a3a2a112493d45a6f \ No newline at end of file diff --git a/docs/API/classnlohmann_1_1basic__json_a4cf2116be00a99de7addd2c32d71f99d_icgraph.png b/docs/API/classnlohmann_1_1basic__json_a4cf2116be00a99de7addd2c32d71f99d_icgraph.png new file mode 100644 index 0000000..edb6864 Binary files /dev/null and b/docs/API/classnlohmann_1_1basic__json_a4cf2116be00a99de7addd2c32d71f99d_icgraph.png differ diff --git a/docs/API/classnlohmann_1_1basic__json_a59c8a7fee8883e55b4317dfd6cab4912_icgraph.map b/docs/API/classnlohmann_1_1basic__json_a59c8a7fee8883e55b4317dfd6cab4912_icgraph.map new file mode 100644 index 0000000..0a64e57 --- /dev/null +++ b/docs/API/classnlohmann_1_1basic__json_a59c8a7fee8883e55b4317dfd6cab4912_icgraph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/classnlohmann_1_1basic__json_a59c8a7fee8883e55b4317dfd6cab4912_icgraph.md5 b/docs/API/classnlohmann_1_1basic__json_a59c8a7fee8883e55b4317dfd6cab4912_icgraph.md5 new file mode 100644 index 0000000..bd29b39 --- /dev/null +++ b/docs/API/classnlohmann_1_1basic__json_a59c8a7fee8883e55b4317dfd6cab4912_icgraph.md5 @@ -0,0 +1 @@ +47027c21cdb6f23dcf4d3f4c3434ec3e \ No newline at end of file diff --git a/docs/API/classnlohmann_1_1basic__json_a59c8a7fee8883e55b4317dfd6cab4912_icgraph.png b/docs/API/classnlohmann_1_1basic__json_a59c8a7fee8883e55b4317dfd6cab4912_icgraph.png new file mode 100644 index 0000000..7ec3e62 Binary files /dev/null and b/docs/API/classnlohmann_1_1basic__json_a59c8a7fee8883e55b4317dfd6cab4912_icgraph.png differ diff --git a/docs/API/classnlohmann_1_1basic__json_a614dd03ce3e99e79c52bedcf55945645_cgraph.map b/docs/API/classnlohmann_1_1basic__json_a614dd03ce3e99e79c52bedcf55945645_cgraph.map new file mode 100644 index 0000000..a27e91e --- /dev/null +++ b/docs/API/classnlohmann_1_1basic__json_a614dd03ce3e99e79c52bedcf55945645_cgraph.map @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/docs/API/classnlohmann_1_1basic__json_a614dd03ce3e99e79c52bedcf55945645_cgraph.md5 b/docs/API/classnlohmann_1_1basic__json_a614dd03ce3e99e79c52bedcf55945645_cgraph.md5 new file mode 100644 index 0000000..fcc72a7 --- /dev/null +++ b/docs/API/classnlohmann_1_1basic__json_a614dd03ce3e99e79c52bedcf55945645_cgraph.md5 @@ -0,0 +1 @@ +b2e45fde22d5bb98b90f5ed86ca160d8 \ No newline at end of file diff --git a/docs/API/classnlohmann_1_1basic__json_a614dd03ce3e99e79c52bedcf55945645_cgraph.png b/docs/API/classnlohmann_1_1basic__json_a614dd03ce3e99e79c52bedcf55945645_cgraph.png new file mode 100644 index 0000000..beddedc Binary files /dev/null and b/docs/API/classnlohmann_1_1basic__json_a614dd03ce3e99e79c52bedcf55945645_cgraph.png differ diff --git a/docs/API/classnlohmann_1_1basic__json_a61546bf37d98e9b0d098220009e8376d_icgraph.map b/docs/API/classnlohmann_1_1basic__json_a61546bf37d98e9b0d098220009e8376d_icgraph.map new file mode 100644 index 0000000..8a5f0c3 --- /dev/null +++ b/docs/API/classnlohmann_1_1basic__json_a61546bf37d98e9b0d098220009e8376d_icgraph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/classnlohmann_1_1basic__json_a61546bf37d98e9b0d098220009e8376d_icgraph.md5 b/docs/API/classnlohmann_1_1basic__json_a61546bf37d98e9b0d098220009e8376d_icgraph.md5 new file mode 100644 index 0000000..244b8cf --- /dev/null +++ b/docs/API/classnlohmann_1_1basic__json_a61546bf37d98e9b0d098220009e8376d_icgraph.md5 @@ -0,0 +1 @@ +d94b59cce90044642da85ec7de61ba51 \ No newline at end of file diff --git a/docs/API/classnlohmann_1_1basic__json_a61546bf37d98e9b0d098220009e8376d_icgraph.png b/docs/API/classnlohmann_1_1basic__json_a61546bf37d98e9b0d098220009e8376d_icgraph.png new file mode 100644 index 0000000..f8bed20 Binary files /dev/null and b/docs/API/classnlohmann_1_1basic__json_a61546bf37d98e9b0d098220009e8376d_icgraph.png differ diff --git a/docs/API/classnlohmann_1_1basic__json_a6955fcba671f39d7d04164ef034aada8_icgraph.map b/docs/API/classnlohmann_1_1basic__json_a6955fcba671f39d7d04164ef034aada8_icgraph.map new file mode 100644 index 0000000..a1685d6 --- /dev/null +++ b/docs/API/classnlohmann_1_1basic__json_a6955fcba671f39d7d04164ef034aada8_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/classnlohmann_1_1basic__json_a6955fcba671f39d7d04164ef034aada8_icgraph.md5 b/docs/API/classnlohmann_1_1basic__json_a6955fcba671f39d7d04164ef034aada8_icgraph.md5 new file mode 100644 index 0000000..d931419 --- /dev/null +++ b/docs/API/classnlohmann_1_1basic__json_a6955fcba671f39d7d04164ef034aada8_icgraph.md5 @@ -0,0 +1 @@ +6296c5cc083815556ceeea577b8e20ea \ No newline at end of file diff --git a/docs/API/classnlohmann_1_1basic__json_a6955fcba671f39d7d04164ef034aada8_icgraph.png b/docs/API/classnlohmann_1_1basic__json_a6955fcba671f39d7d04164ef034aada8_icgraph.png new file mode 100644 index 0000000..9613a8a Binary files /dev/null and b/docs/API/classnlohmann_1_1basic__json_a6955fcba671f39d7d04164ef034aada8_icgraph.png differ diff --git a/docs/API/classnlohmann_1_1basic__json_a890ecb965cd00d2cae1f76c0602f350a_cgraph.map b/docs/API/classnlohmann_1_1basic__json_a890ecb965cd00d2cae1f76c0602f350a_cgraph.map new file mode 100644 index 0000000..b208271 --- /dev/null +++ b/docs/API/classnlohmann_1_1basic__json_a890ecb965cd00d2cae1f76c0602f350a_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/classnlohmann_1_1basic__json_a890ecb965cd00d2cae1f76c0602f350a_cgraph.md5 b/docs/API/classnlohmann_1_1basic__json_a890ecb965cd00d2cae1f76c0602f350a_cgraph.md5 new file mode 100644 index 0000000..014c5ff --- /dev/null +++ b/docs/API/classnlohmann_1_1basic__json_a890ecb965cd00d2cae1f76c0602f350a_cgraph.md5 @@ -0,0 +1 @@ +dcbd22feeff95392de78ca4f6b643281 \ No newline at end of file diff --git a/docs/API/classnlohmann_1_1basic__json_a890ecb965cd00d2cae1f76c0602f350a_cgraph.png b/docs/API/classnlohmann_1_1basic__json_a890ecb965cd00d2cae1f76c0602f350a_cgraph.png new file mode 100644 index 0000000..8f6cdfe Binary files /dev/null and b/docs/API/classnlohmann_1_1basic__json_a890ecb965cd00d2cae1f76c0602f350a_cgraph.png differ diff --git a/docs/API/classnlohmann_1_1basic__json_a979556eb331ec35eb33472a90a160f99_icgraph.map b/docs/API/classnlohmann_1_1basic__json_a979556eb331ec35eb33472a90a160f99_icgraph.map new file mode 100644 index 0000000..9426206 --- /dev/null +++ b/docs/API/classnlohmann_1_1basic__json_a979556eb331ec35eb33472a90a160f99_icgraph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/classnlohmann_1_1basic__json_a979556eb331ec35eb33472a90a160f99_icgraph.md5 b/docs/API/classnlohmann_1_1basic__json_a979556eb331ec35eb33472a90a160f99_icgraph.md5 new file mode 100644 index 0000000..a5a5633 --- /dev/null +++ b/docs/API/classnlohmann_1_1basic__json_a979556eb331ec35eb33472a90a160f99_icgraph.md5 @@ -0,0 +1 @@ +3a764247c0213f838c6b2a2aca096ea1 \ No newline at end of file diff --git a/docs/API/classnlohmann_1_1basic__json_a979556eb331ec35eb33472a90a160f99_icgraph.png b/docs/API/classnlohmann_1_1basic__json_a979556eb331ec35eb33472a90a160f99_icgraph.png new file mode 100644 index 0000000..fb42733 Binary files /dev/null and b/docs/API/classnlohmann_1_1basic__json_a979556eb331ec35eb33472a90a160f99_icgraph.png differ diff --git a/docs/API/classnlohmann_1_1basic__json_a99cfa952f8b8deaae2505c89507ff3cd_cgraph.map b/docs/API/classnlohmann_1_1basic__json_a99cfa952f8b8deaae2505c89507ff3cd_cgraph.map new file mode 100644 index 0000000..291908a --- /dev/null +++ b/docs/API/classnlohmann_1_1basic__json_a99cfa952f8b8deaae2505c89507ff3cd_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/classnlohmann_1_1basic__json_a99cfa952f8b8deaae2505c89507ff3cd_cgraph.md5 b/docs/API/classnlohmann_1_1basic__json_a99cfa952f8b8deaae2505c89507ff3cd_cgraph.md5 new file mode 100644 index 0000000..62a29eb --- /dev/null +++ b/docs/API/classnlohmann_1_1basic__json_a99cfa952f8b8deaae2505c89507ff3cd_cgraph.md5 @@ -0,0 +1 @@ +663df5c761426e4cd24b1da0d36ffb0c \ No newline at end of file diff --git a/docs/API/classnlohmann_1_1basic__json_a99cfa952f8b8deaae2505c89507ff3cd_cgraph.png b/docs/API/classnlohmann_1_1basic__json_a99cfa952f8b8deaae2505c89507ff3cd_cgraph.png new file mode 100644 index 0000000..005a4e6 Binary files /dev/null and b/docs/API/classnlohmann_1_1basic__json_a99cfa952f8b8deaae2505c89507ff3cd_cgraph.png differ diff --git a/docs/API/classnlohmann_1_1basic__json_a9cad661513975b42da8bc1d805fd0848_cgraph.map b/docs/API/classnlohmann_1_1basic__json_a9cad661513975b42da8bc1d805fd0848_cgraph.map new file mode 100644 index 0000000..985b6d2 --- /dev/null +++ b/docs/API/classnlohmann_1_1basic__json_a9cad661513975b42da8bc1d805fd0848_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/classnlohmann_1_1basic__json_a9cad661513975b42da8bc1d805fd0848_cgraph.md5 b/docs/API/classnlohmann_1_1basic__json_a9cad661513975b42da8bc1d805fd0848_cgraph.md5 new file mode 100644 index 0000000..cd5a0cb --- /dev/null +++ b/docs/API/classnlohmann_1_1basic__json_a9cad661513975b42da8bc1d805fd0848_cgraph.md5 @@ -0,0 +1 @@ +b129547b87600802c0dd65c111a0be5b \ No newline at end of file diff --git a/docs/API/classnlohmann_1_1basic__json_a9cad661513975b42da8bc1d805fd0848_cgraph.png b/docs/API/classnlohmann_1_1basic__json_a9cad661513975b42da8bc1d805fd0848_cgraph.png new file mode 100644 index 0000000..4fe7778 Binary files /dev/null and b/docs/API/classnlohmann_1_1basic__json_a9cad661513975b42da8bc1d805fd0848_cgraph.png differ diff --git a/docs/API/classnlohmann_1_1basic__json_aa3755192d05bc50d680919b259b69305_icgraph.map b/docs/API/classnlohmann_1_1basic__json_aa3755192d05bc50d680919b259b69305_icgraph.map new file mode 100644 index 0000000..8835909 --- /dev/null +++ b/docs/API/classnlohmann_1_1basic__json_aa3755192d05bc50d680919b259b69305_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/classnlohmann_1_1basic__json_aa3755192d05bc50d680919b259b69305_icgraph.md5 b/docs/API/classnlohmann_1_1basic__json_aa3755192d05bc50d680919b259b69305_icgraph.md5 new file mode 100644 index 0000000..b38d6d0 --- /dev/null +++ b/docs/API/classnlohmann_1_1basic__json_aa3755192d05bc50d680919b259b69305_icgraph.md5 @@ -0,0 +1 @@ +d00a26d3d0b8b36a466934c1f308ab3d \ No newline at end of file diff --git a/docs/API/classnlohmann_1_1basic__json_aa3755192d05bc50d680919b259b69305_icgraph.png b/docs/API/classnlohmann_1_1basic__json_aa3755192d05bc50d680919b259b69305_icgraph.png new file mode 100644 index 0000000..2c6f1a8 Binary files /dev/null and b/docs/API/classnlohmann_1_1basic__json_aa3755192d05bc50d680919b259b69305_icgraph.png differ diff --git a/docs/API/classnlohmann_1_1basic__json_aa9099a065ca08f872f864685ee2e8227_cgraph.map b/docs/API/classnlohmann_1_1basic__json_aa9099a065ca08f872f864685ee2e8227_cgraph.map new file mode 100644 index 0000000..1788835 --- /dev/null +++ b/docs/API/classnlohmann_1_1basic__json_aa9099a065ca08f872f864685ee2e8227_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/classnlohmann_1_1basic__json_aa9099a065ca08f872f864685ee2e8227_cgraph.md5 b/docs/API/classnlohmann_1_1basic__json_aa9099a065ca08f872f864685ee2e8227_cgraph.md5 new file mode 100644 index 0000000..24eb45d --- /dev/null +++ b/docs/API/classnlohmann_1_1basic__json_aa9099a065ca08f872f864685ee2e8227_cgraph.md5 @@ -0,0 +1 @@ +37c60fddb8365b41a8b9fe21bbffe27d \ No newline at end of file diff --git a/docs/API/classnlohmann_1_1basic__json_aa9099a065ca08f872f864685ee2e8227_cgraph.png b/docs/API/classnlohmann_1_1basic__json_aa9099a065ca08f872f864685ee2e8227_cgraph.png new file mode 100644 index 0000000..f285bd4 Binary files /dev/null and b/docs/API/classnlohmann_1_1basic__json_aa9099a065ca08f872f864685ee2e8227_cgraph.png differ diff --git a/docs/API/classnlohmann_1_1basic__json_aaf38acbc4aaada0a40549bc606f99c4f_icgraph.map b/docs/API/classnlohmann_1_1basic__json_aaf38acbc4aaada0a40549bc606f99c4f_icgraph.map new file mode 100644 index 0000000..40cf3f8 --- /dev/null +++ b/docs/API/classnlohmann_1_1basic__json_aaf38acbc4aaada0a40549bc606f99c4f_icgraph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/classnlohmann_1_1basic__json_aaf38acbc4aaada0a40549bc606f99c4f_icgraph.md5 b/docs/API/classnlohmann_1_1basic__json_aaf38acbc4aaada0a40549bc606f99c4f_icgraph.md5 new file mode 100644 index 0000000..0570554 --- /dev/null +++ b/docs/API/classnlohmann_1_1basic__json_aaf38acbc4aaada0a40549bc606f99c4f_icgraph.md5 @@ -0,0 +1 @@ +189444451a76a2abfb296bac43e742c0 \ No newline at end of file diff --git a/docs/API/classnlohmann_1_1basic__json_aaf38acbc4aaada0a40549bc606f99c4f_icgraph.png b/docs/API/classnlohmann_1_1basic__json_aaf38acbc4aaada0a40549bc606f99c4f_icgraph.png new file mode 100644 index 0000000..43b0a8a Binary files /dev/null and b/docs/API/classnlohmann_1_1basic__json_aaf38acbc4aaada0a40549bc606f99c4f_icgraph.png differ diff --git a/docs/API/classnlohmann_1_1basic__json_ad19ad3fa5d9a806c5018faa3cd0ed85c_cgraph.map b/docs/API/classnlohmann_1_1basic__json_ad19ad3fa5d9a806c5018faa3cd0ed85c_cgraph.map new file mode 100644 index 0000000..27fbce1 --- /dev/null +++ b/docs/API/classnlohmann_1_1basic__json_ad19ad3fa5d9a806c5018faa3cd0ed85c_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/classnlohmann_1_1basic__json_ad19ad3fa5d9a806c5018faa3cd0ed85c_cgraph.md5 b/docs/API/classnlohmann_1_1basic__json_ad19ad3fa5d9a806c5018faa3cd0ed85c_cgraph.md5 new file mode 100644 index 0000000..245dc53 --- /dev/null +++ b/docs/API/classnlohmann_1_1basic__json_ad19ad3fa5d9a806c5018faa3cd0ed85c_cgraph.md5 @@ -0,0 +1 @@ +5b6d2595e6b0aab7f0025010bc118a18 \ No newline at end of file diff --git a/docs/API/classnlohmann_1_1basic__json_ad19ad3fa5d9a806c5018faa3cd0ed85c_cgraph.png b/docs/API/classnlohmann_1_1basic__json_ad19ad3fa5d9a806c5018faa3cd0ed85c_cgraph.png new file mode 100644 index 0000000..95f31d9 Binary files /dev/null and b/docs/API/classnlohmann_1_1basic__json_ad19ad3fa5d9a806c5018faa3cd0ed85c_cgraph.png differ diff --git a/docs/API/classnlohmann_1_1basic__json_ad6a2a9425ea3806424417c2e7dcdbc01_icgraph.map b/docs/API/classnlohmann_1_1basic__json_ad6a2a9425ea3806424417c2e7dcdbc01_icgraph.map new file mode 100644 index 0000000..dd9bc2f --- /dev/null +++ b/docs/API/classnlohmann_1_1basic__json_ad6a2a9425ea3806424417c2e7dcdbc01_icgraph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/classnlohmann_1_1basic__json_ad6a2a9425ea3806424417c2e7dcdbc01_icgraph.md5 b/docs/API/classnlohmann_1_1basic__json_ad6a2a9425ea3806424417c2e7dcdbc01_icgraph.md5 new file mode 100644 index 0000000..6393f1b --- /dev/null +++ b/docs/API/classnlohmann_1_1basic__json_ad6a2a9425ea3806424417c2e7dcdbc01_icgraph.md5 @@ -0,0 +1 @@ +2f91b1dc07ed7c2f979b282d7629c503 \ No newline at end of file diff --git a/docs/API/classnlohmann_1_1basic__json_ad6a2a9425ea3806424417c2e7dcdbc01_icgraph.png b/docs/API/classnlohmann_1_1basic__json_ad6a2a9425ea3806424417c2e7dcdbc01_icgraph.png new file mode 100644 index 0000000..71b83fd Binary files /dev/null and b/docs/API/classnlohmann_1_1basic__json_ad6a2a9425ea3806424417c2e7dcdbc01_icgraph.png differ diff --git a/docs/API/classnlohmann_1_1basic__json_adb8999aa40f92f1a176d8b43dc0ab25b_icgraph.map b/docs/API/classnlohmann_1_1basic__json_adb8999aa40f92f1a176d8b43dc0ab25b_icgraph.map new file mode 100644 index 0000000..f8c6328 --- /dev/null +++ b/docs/API/classnlohmann_1_1basic__json_adb8999aa40f92f1a176d8b43dc0ab25b_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/classnlohmann_1_1basic__json_adb8999aa40f92f1a176d8b43dc0ab25b_icgraph.md5 b/docs/API/classnlohmann_1_1basic__json_adb8999aa40f92f1a176d8b43dc0ab25b_icgraph.md5 new file mode 100644 index 0000000..94208b3 --- /dev/null +++ b/docs/API/classnlohmann_1_1basic__json_adb8999aa40f92f1a176d8b43dc0ab25b_icgraph.md5 @@ -0,0 +1 @@ +132a0aa3eaa3b04be993762fea0da043 \ No newline at end of file diff --git a/docs/API/classnlohmann_1_1basic__json_adb8999aa40f92f1a176d8b43dc0ab25b_icgraph.png b/docs/API/classnlohmann_1_1basic__json_adb8999aa40f92f1a176d8b43dc0ab25b_icgraph.png new file mode 100644 index 0000000..b02759a Binary files /dev/null and b/docs/API/classnlohmann_1_1basic__json_adb8999aa40f92f1a176d8b43dc0ab25b_icgraph.png differ diff --git a/docs/API/classnlohmann_1_1basic__json_aee22c00d2bff99e59c1a2abe76bb74d8_cgraph.map b/docs/API/classnlohmann_1_1basic__json_aee22c00d2bff99e59c1a2abe76bb74d8_cgraph.map new file mode 100644 index 0000000..7c408b2 --- /dev/null +++ b/docs/API/classnlohmann_1_1basic__json_aee22c00d2bff99e59c1a2abe76bb74d8_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/classnlohmann_1_1basic__json_aee22c00d2bff99e59c1a2abe76bb74d8_cgraph.md5 b/docs/API/classnlohmann_1_1basic__json_aee22c00d2bff99e59c1a2abe76bb74d8_cgraph.md5 new file mode 100644 index 0000000..3a3f1ad --- /dev/null +++ b/docs/API/classnlohmann_1_1basic__json_aee22c00d2bff99e59c1a2abe76bb74d8_cgraph.md5 @@ -0,0 +1 @@ +41c3c1a5f6ae433ce504c0e57f6648d6 \ No newline at end of file diff --git a/docs/API/classnlohmann_1_1basic__json_aee22c00d2bff99e59c1a2abe76bb74d8_cgraph.png b/docs/API/classnlohmann_1_1basic__json_aee22c00d2bff99e59c1a2abe76bb74d8_cgraph.png new file mode 100644 index 0000000..ec181ef Binary files /dev/null and b/docs/API/classnlohmann_1_1basic__json_aee22c00d2bff99e59c1a2abe76bb74d8_cgraph.png differ diff --git a/docs/API/classnlohmann_1_1basic__json_afa2f6591635aca46d323a7e41d71c4b1_cgraph.map b/docs/API/classnlohmann_1_1basic__json_afa2f6591635aca46d323a7e41d71c4b1_cgraph.map new file mode 100644 index 0000000..1788835 --- /dev/null +++ b/docs/API/classnlohmann_1_1basic__json_afa2f6591635aca46d323a7e41d71c4b1_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/classnlohmann_1_1basic__json_afa2f6591635aca46d323a7e41d71c4b1_cgraph.md5 b/docs/API/classnlohmann_1_1basic__json_afa2f6591635aca46d323a7e41d71c4b1_cgraph.md5 new file mode 100644 index 0000000..0539247 --- /dev/null +++ b/docs/API/classnlohmann_1_1basic__json_afa2f6591635aca46d323a7e41d71c4b1_cgraph.md5 @@ -0,0 +1 @@ +b0b99187ad8c3097d777827ba39c4c13 \ No newline at end of file diff --git a/docs/API/classnlohmann_1_1basic__json_afa2f6591635aca46d323a7e41d71c4b1_cgraph.png b/docs/API/classnlohmann_1_1basic__json_afa2f6591635aca46d323a7e41d71c4b1_cgraph.png new file mode 100644 index 0000000..f285bd4 Binary files /dev/null and b/docs/API/classnlohmann_1_1basic__json_afa2f6591635aca46d323a7e41d71c4b1_cgraph.png differ diff --git a/docs/API/classnlohmann_1_1basic__json_afa4d3c57e6fda1fce97025d155f5642f_cgraph.map b/docs/API/classnlohmann_1_1basic__json_afa4d3c57e6fda1fce97025d155f5642f_cgraph.map new file mode 100644 index 0000000..27fbce1 --- /dev/null +++ b/docs/API/classnlohmann_1_1basic__json_afa4d3c57e6fda1fce97025d155f5642f_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/classnlohmann_1_1basic__json_afa4d3c57e6fda1fce97025d155f5642f_cgraph.md5 b/docs/API/classnlohmann_1_1basic__json_afa4d3c57e6fda1fce97025d155f5642f_cgraph.md5 new file mode 100644 index 0000000..3796bbe --- /dev/null +++ b/docs/API/classnlohmann_1_1basic__json_afa4d3c57e6fda1fce97025d155f5642f_cgraph.md5 @@ -0,0 +1 @@ +23f68bee0d5557c2c9f0fbda12fe934b \ No newline at end of file diff --git a/docs/API/classnlohmann_1_1basic__json_afa4d3c57e6fda1fce97025d155f5642f_cgraph.png b/docs/API/classnlohmann_1_1basic__json_afa4d3c57e6fda1fce97025d155f5642f_cgraph.png new file mode 100644 index 0000000..95f31d9 Binary files /dev/null and b/docs/API/classnlohmann_1_1basic__json_afa4d3c57e6fda1fce97025d155f5642f_cgraph.png differ diff --git a/docs/API/classnlohmann_1_1basic__json_afc5380afa64b233d0df01a147616974b_icgraph.map b/docs/API/classnlohmann_1_1basic__json_afc5380afa64b233d0df01a147616974b_icgraph.map new file mode 100644 index 0000000..a560787 --- /dev/null +++ b/docs/API/classnlohmann_1_1basic__json_afc5380afa64b233d0df01a147616974b_icgraph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/classnlohmann_1_1basic__json_afc5380afa64b233d0df01a147616974b_icgraph.md5 b/docs/API/classnlohmann_1_1basic__json_afc5380afa64b233d0df01a147616974b_icgraph.md5 new file mode 100644 index 0000000..b763527 --- /dev/null +++ b/docs/API/classnlohmann_1_1basic__json_afc5380afa64b233d0df01a147616974b_icgraph.md5 @@ -0,0 +1 @@ +e822bb3334d420b397256218f855bb60 \ No newline at end of file diff --git a/docs/API/classnlohmann_1_1basic__json_afc5380afa64b233d0df01a147616974b_icgraph.png b/docs/API/classnlohmann_1_1basic__json_afc5380afa64b233d0df01a147616974b_icgraph.png new file mode 100644 index 0000000..ad9fda2 Binary files /dev/null and b/docs/API/classnlohmann_1_1basic__json_afc5380afa64b233d0df01a147616974b_icgraph.png differ diff --git a/docs/API/classnlohmann_1_1basic__json_afd3a3ede6b43cdf69827593006813658_cgraph.map b/docs/API/classnlohmann_1_1basic__json_afd3a3ede6b43cdf69827593006813658_cgraph.map new file mode 100644 index 0000000..27fbce1 --- /dev/null +++ b/docs/API/classnlohmann_1_1basic__json_afd3a3ede6b43cdf69827593006813658_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/classnlohmann_1_1basic__json_afd3a3ede6b43cdf69827593006813658_cgraph.md5 b/docs/API/classnlohmann_1_1basic__json_afd3a3ede6b43cdf69827593006813658_cgraph.md5 new file mode 100644 index 0000000..563f2a7 --- /dev/null +++ b/docs/API/classnlohmann_1_1basic__json_afd3a3ede6b43cdf69827593006813658_cgraph.md5 @@ -0,0 +1 @@ +e03af4483929f12c7f3fe2a1ef3c06b4 \ No newline at end of file diff --git a/docs/API/classnlohmann_1_1basic__json_afd3a3ede6b43cdf69827593006813658_cgraph.png b/docs/API/classnlohmann_1_1basic__json_afd3a3ede6b43cdf69827593006813658_cgraph.png new file mode 100644 index 0000000..95f31d9 Binary files /dev/null and b/docs/API/classnlohmann_1_1basic__json_afd3a3ede6b43cdf69827593006813658_cgraph.png differ diff --git a/docs/API/classxran_lib_wraper.html b/docs/API/classxran_lib_wraper.html new file mode 100644 index 0000000..6ba26ee --- /dev/null +++ b/docs/API/classxran_lib_wraper.html @@ -0,0 +1,2621 @@ + + + + + + + +o-du/phy: xranLibWraper Class Reference + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
xranLibWraper Class Reference
+
+
+ +

#include <xran_lib_wrap.hpp>

+
+Collaboration diagram for xranLibWraper:
+
+
Collaboration graph
+ + + + + + + + + + + + + + + +
+ + + + +

+Data Structures

struct  xran_timer_ctx
 
+ + + + + +

+Public Types

enum  SWXRANInterfaceTypeEnum {
+  XRANFTHTX_OUT = 0, +XRANFTHTX_PRB_MAP_OUT, +XRANFTHTX_SEC_DESC_OUT, +XRANFTHRX_IN, +
+  XRANFTHRX_PRB_MAP_IN, +XRANFTHTX_SEC_DESC_IN, +XRANFTHRACH_IN, +MAX_SW_XRAN_INTERFACE_NUM +
+ }
 
enum  nChBw {
+  PHY_BW_5MHZ = 5, +PHY_BW_10MHZ = 10, +PHY_BW_15MHZ = 15, +PHY_BW_20MHZ = 20, +
+  PHY_BW_25MHZ = 25, +PHY_BW_30MHZ = 30, +PHY_BW_40MHZ = 40, +PHY_BW_50MHZ = 50, +
+  PHY_BW_60MHZ = 60, +PHY_BW_70MHZ = 70, +PHY_BW_80MHZ = 80, +PHY_BW_90MHZ = 90, +
+  PHY_BW_100MHZ = 100, +PHY_BW_200MHZ = 200, +PHY_BW_400MHZ = 400 +
+ }
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 xranLibWraper ()
 
 ~xranLibWraper ()
 
int SetUp ()
 
void TearDown ()
 
int Init (struct xran_fh_config *pCfg=nullptr)
 
void Cleanup ()
 
void Open (xran_ethdi_mbuf_send_fn send_cp, xran_ethdi_mbuf_send_fn send_up, void *fh_rx_callback, void *fh_rx_prach_callback)
 
void Close ()
 
int Start ()
 
int Stop ()
 
void update_tti ()
 
void update_symbol_index ()
 
int apply_cpenable (bool flag)
 
int get_slot_config (const std::string &cfgname, struct xran_frame_config *pCfg)
 
int get_num_rbs (uint32_t nNumerology, uint32_t nBandwidth, bool nSub6)
 
void * get_xranhandle ()
 
void * get_timer_ctx ()
 
int get_symbol_index ()
 
bool is_running ()
 
enum xran_category get_rucategory ()
 
int get_numerology ()
 
int get_duplextype ()
 
int get_num_cc ()
 
int get_num_eaxc ()
 
int get_num_dlrbs ()
 
int get_num_ulrbs ()
 
int get_num_antelmtrx ()
 
bool is_cpenable ()
 
bool is_prachenable ()
 
bool is_dynamicsection ()
 
void get_cfg_prach (struct xran_prach_config *pCfg)
 
void get_cfg_frame (struct xran_frame_config *pCfg)
 
void get_cfg_ru (struct xran_ru_config *pCfg)
 
void get_cfg_fh (struct xran_fh_config *pCfg)
 
+ + + + + +

+Data Fields

const uint16_t nNumRbsPerSymF1 [3][13]
 
const uint16_t nNumRbsPerSymF2 [2][4]
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Protected Attributes

char argv [25] = "unittest"
 
std::string m_dpdk_dev_up
 
std::string m_dpdk_dev_cp
 
std::string m_dpdk_bbdev
 
void * m_xranhandle
 
uint8_t m_du_mac [6] = { 0x00,0x11, 0x22, 0x33, 0x44, 0x66 }
 
uint8_t m_ru_mac [6] = { 0x00,0x11, 0x22, 0x33, 0x44, 0x55 }
 
bool m_bSub6
 
uint32_t m_nSlots = 10
 
struct xran_fh_config m_xranConf
 
struct xran_fh_init m_xranInit
 
struct xranLibWraper::xran_timer_ctx m_timer_ctx [MAX_NUM_OF_XRAN_CTX]
 
BbuIoBufCtrlStruct m_sFrontHaulTxBbuIoBufCtrl [XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR]
 
BbuIoBufCtrlStruct m_sFrontHaulTxPrbMapBbuIoBufCtrl [XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR]
 
BbuIoBufCtrlStruct m_sFrontHaulRxBbuIoBufCtrl [XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR]
 
BbuIoBufCtrlStruct m_sFrontHaulRxPrbMapBbuIoBufCtrl [XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR]
 
BbuIoBufCtrlStruct m_sFHPrachRxBbuIoBufCtrl [XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR]
 
struct xran_flat_buffer m_sFrontHaulTxBuffers [XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR][XRAN_NUM_OF_SYMBOL_PER_SLOT]
 
struct xran_flat_buffer m_sFrontHaulTxPrbMapBuffers [XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR]
 
struct xran_flat_buffer m_sFrontHaulRxBuffers [XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR][XRAN_NUM_OF_SYMBOL_PER_SLOT]
 
struct xran_flat_buffer m_sFrontHaulRxPrbMapBuffers [XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR]
 
struct xran_flat_buffer m_sFHPrachRxBuffers [XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR][XRAN_NUM_OF_SYMBOL_PER_SLOT]
 
void * m_nInstanceHandle [XRAN_PORTS_NUM][XRAN_MAX_SECTOR_NR]
 
uint32_t m_nBufPoolIndex [XRAN_MAX_SECTOR_NR][MAX_SW_XRAN_INTERFACE_NUM]
 
uint32_t m_nSW_ToFpga_FTH_TxBufferLen
 
uint32_t m_nFpgaToSW_FTH_RxBufferLen
 
int32_t m_nSectorIndex [XRAN_MAX_SECTOR_NR]
 
int iq_bfw_buffer_size_dl = 0
 
int iq_bfw_buffer_size_ul = 0
 
int16_t * p_tx_dl_bfw_buffer [MAX_ANT_CARRIER_SUPPORTED]
 
int32_t tx_dl_bfw_buffer_size [MAX_ANT_CARRIER_SUPPORTED]
 
int32_t tx_dl_bfw_buffer_position [MAX_ANT_CARRIER_SUPPORTED]
 
int16_t * p_tx_ul_bfw_buffer [MAX_ANT_CARRIER_SUPPORTED]
 
int32_t tx_ul_bfw_buffer_size [MAX_ANT_CARRIER_SUPPORTED]
 
int32_t tx_ul_bfw_buffer_position [MAX_ANT_CARRIER_SUPPORTED]
 
+

Detailed Description

+
+

Definition at line 66 of file xran_lib_wrap.hpp.

+

Member Enumeration Documentation

+ +

◆ nChBw

+ +
+
+ + + + +
enum nChBw
+
+ + + + + + + + + + + + + + + + +
Enumerator
PHY_BW_5MHZ 
PHY_BW_10MHZ 
PHY_BW_15MHZ 
PHY_BW_20MHZ 
PHY_BW_25MHZ 
PHY_BW_30MHZ 
PHY_BW_40MHZ 
PHY_BW_50MHZ 
PHY_BW_60MHZ 
PHY_BW_70MHZ 
PHY_BW_80MHZ 
PHY_BW_90MHZ 
PHY_BW_100MHZ 
PHY_BW_200MHZ 
PHY_BW_400MHZ 
+ +

Definition at line 81 of file xran_lib_wrap.hpp.

+ +
+
+ +

◆ SWXRANInterfaceTypeEnum

+ +
+
+ + + + +
enum SWXRANInterfaceTypeEnum
+
+ + + + + + + + + +
Enumerator
XRANFTHTX_OUT 
XRANFTHTX_PRB_MAP_OUT 
XRANFTHTX_SEC_DESC_OUT 
XRANFTHRX_IN 
XRANFTHRX_PRB_MAP_IN 
XRANFTHTX_SEC_DESC_IN 
XRANFTHRACH_IN 
MAX_SW_XRAN_INTERFACE_NUM 
+ +

Definition at line 69 of file xran_lib_wrap.hpp.

+ +
+
+

Constructor & Destructor Documentation

+ +

◆ xranLibWraper()

+ +
+
+ + + + + +
+ + + + + + + +
xranLibWraper ()
+
+inline
+
+ +

Definition at line 467 of file xran_lib_wrap.hpp.

+
+Here is the call graph for this function:
+
+
+ + + + + +
+ +
+
+ +

◆ ~xranLibWraper()

+ +
+
+ + + + + +
+ + + + + + + +
~xranLibWraper ()
+
+inline
+
+ +

Definition at line 674 of file xran_lib_wrap.hpp.

+ +
+
+

Member Function Documentation

+ +

◆ apply_cpenable()

+ +
+
+ + + + + +
+ + + + + + + + +
int apply_cpenable (bool flag)
+
+inline
+
+ +

Definition at line 1024 of file xran_lib_wrap.hpp.

+
+Here is the call graph for this function:
+
+
+ + + + + +
+
+Here is the caller graph for this function:
+
+
+ + + +
+ +
+
+ +

◆ Cleanup()

+ +
+
+ + + + + +
+ + + + + + + +
void Cleanup ()
+
+inline
+
+ +

Definition at line 914 of file xran_lib_wrap.hpp.

+
+Here is the call graph for this function:
+
+
+ + + + + +
+
+Here is the caller graph for this function:
+
+
+ + + + + +
+ +
+
+ +

◆ Close()

+ +
+
+ + + + + +
+ + + + + + + +
void Close ()
+
+inline
+
+ +

Definition at line 984 of file xran_lib_wrap.hpp.

+
+Here is the call graph for this function:
+
+
+ + + +
+
+Here is the caller graph for this function:
+
+
+ + + + + +
+ +
+
+ +

◆ get_cfg_fh()

+ +
+
+ + + + + +
+ + + + + + + + +
void get_cfg_fh (struct xran_fh_configpCfg)
+
+inline
+
+ +

Definition at line 1148 of file xran_lib_wrap.hpp.

+
+Here is the caller graph for this function:
+
+
+ + + +
+ +
+
+ +

◆ get_cfg_frame()

+ +
+
+ + + + + +
+ + + + + + + + +
void get_cfg_frame (struct xran_frame_configpCfg)
+
+inline
+
+ +

Definition at line 1136 of file xran_lib_wrap.hpp.

+ +
+
+ +

◆ get_cfg_prach()

+ +
+
+ + + + + +
+ + + + + + + + +
void get_cfg_prach (struct xran_prach_configpCfg)
+
+inline
+
+ +

Definition at line 1130 of file xran_lib_wrap.hpp.

+ +
+
+ +

◆ get_cfg_ru()

+ +
+
+ + + + + +
+ + + + + + + + +
void get_cfg_ru (struct xran_ru_configpCfg)
+
+inline
+
+ +

Definition at line 1142 of file xran_lib_wrap.hpp.

+ +
+
+ +

◆ get_duplextype()

+ +
+
+ + + + + +
+ + + + + + + +
int get_duplextype ()
+
+inline
+
+ +

Definition at line 1119 of file xran_lib_wrap.hpp.

+ +
+
+ +

◆ get_num_antelmtrx()

+ +
+
+ + + + + +
+ + + + + + + +
int get_num_antelmtrx ()
+
+inline
+
+ +

Definition at line 1124 of file xran_lib_wrap.hpp.

+
+Here is the caller graph for this function:
+
+
+ + + + + + +
+ +
+
+ +

◆ get_num_cc()

+ +
+
+ + + + + +
+ + + + + + + +
int get_num_cc ()
+
+inline
+
+ +

Definition at line 1120 of file xran_lib_wrap.hpp.

+
+Here is the caller graph for this function:
+
+
+ + + + + + + + + + +
+ +
+
+ +

◆ get_num_dlrbs()

+ +
+
+ + + + + +
+ + + + + + + +
int get_num_dlrbs ()
+
+inline
+
+ +

Definition at line 1122 of file xran_lib_wrap.hpp.

+
+Here is the caller graph for this function:
+
+
+ + + + + + +
+ +
+
+ +

◆ get_num_eaxc()

+ +
+
+ + + + + +
+ + + + + + + +
int get_num_eaxc ()
+
+inline
+
+ +

Definition at line 1121 of file xran_lib_wrap.hpp.

+
+Here is the caller graph for this function:
+
+
+ + + + + + + + +
+ +
+
+ +

◆ get_num_rbs()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
int get_num_rbs (uint32_t nNumerology,
uint32_t nBandwidth,
bool nSub6 
)
+
+inline
+
+ +

Definition at line 1068 of file xran_lib_wrap.hpp.

+
+Here is the caller graph for this function:
+
+
+ + + + +
+ +
+
+ +

◆ get_num_ulrbs()

+ +
+
+ + + + + +
+ + + + + + + +
int get_num_ulrbs ()
+
+inline
+
+ +

Definition at line 1123 of file xran_lib_wrap.hpp.

+
+Here is the caller graph for this function:
+
+
+ + + + + + +
+ +
+
+ +

◆ get_numerology()

+ +
+
+ + + + + +
+ + + + + + + +
int get_numerology ()
+
+inline
+
+ +

Definition at line 1118 of file xran_lib_wrap.hpp.

+
+Here is the caller graph for this function:
+
+
+ + + +
+ +
+
+ +

◆ get_rucategory()

+ +
+
+ + + + + +
+ + + + + + + +
enum xran_category get_rucategory ()
+
+inline
+
+ +

Definition at line 1116 of file xran_lib_wrap.hpp.

+
+Here is the caller graph for this function:
+
+
+ + + + + + + + +
+ +
+
+ +

◆ get_slot_config()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
int get_slot_config (const std::string & cfgname,
struct xran_frame_configpCfg 
)
+
+inline
+
+ +

Definition at line 1047 of file xran_lib_wrap.hpp.

+
+Here is the caller graph for this function:
+
+
+ + + +
+ +
+
+ +

◆ get_symbol_index()

+ +
+
+ + + + + +
+ + + + + + + +
int get_symbol_index ()
+
+inline
+
+ +

Definition at line 1112 of file xran_lib_wrap.hpp.

+
+Here is the caller graph for this function:
+
+
+ + + + +
+ +
+
+ +

◆ get_timer_ctx()

+ +
+
+ + + + + +
+ + + + + + + +
void* get_timer_ctx ()
+
+inline
+
+ +

Definition at line 1110 of file xran_lib_wrap.hpp.

+
+Here is the caller graph for this function:
+
+
+ + + + + + + + + + + + +
+ +
+
+ +

◆ get_xranhandle()

+ +
+
+ + + + + +
+ + + + + + + +
void* get_xranhandle ()
+
+inline
+
+ +

Definition at line 1109 of file xran_lib_wrap.hpp.

+
+Here is the caller graph for this function:
+
+
+ + + +
+ +
+
+ +

◆ Init()

+ +
+
+ + + + + +
+ + + + + + + + +
int Init (struct xran_fh_configpCfg = nullptr)
+
+inline
+
+ +

Definition at line 740 of file xran_lib_wrap.hpp.

+
+Here is the call graph for this function:
+
+
+ + + + + + + + +
+
+Here is the caller graph for this function:
+
+
+ + + + + +
+ +
+
+ +

◆ is_cpenable()

+ +
+
+ + + + + +
+ + + + + + + +
bool is_cpenable ()
+
+inline
+
+ +

Definition at line 1126 of file xran_lib_wrap.hpp.

+
+Here is the caller graph for this function:
+
+
+ + + +
+ +
+
+ +

◆ is_dynamicsection()

+ +
+
+ + + + + +
+ + + + + + + +
bool is_dynamicsection ()
+
+inline
+
+ +

Definition at line 1128 of file xran_lib_wrap.hpp.

+ +
+
+ +

◆ is_prachenable()

+ +
+
+ + + + + +
+ + + + + + + +
bool is_prachenable ()
+
+inline
+
+ +

Definition at line 1127 of file xran_lib_wrap.hpp.

+ +
+
+ +

◆ is_running()

+ +
+
+ + + + + +
+ + + + + + + +
bool is_running ()
+
+inline
+
+ +

Definition at line 1114 of file xran_lib_wrap.hpp.

+
+Here is the call graph for this function:
+
+
+ + + +
+
+Here is the caller graph for this function:
+
+
+ + + + +
+ +
+
+ +

◆ Open()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void Open (xran_ethdi_mbuf_send_fn send_cp,
xran_ethdi_mbuf_send_fn send_up,
void * fh_rx_callback,
void * fh_rx_prach_callback 
)
+
+inline
+
+ +

Definition at line 936 of file xran_lib_wrap.hpp.

+
+Here is the call graph for this function:
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
+
+Here is the caller graph for this function:
+
+
+ + + + + +
+ +
+
+ +

◆ SetUp()

+ +
+
+ + + + + +
+ + + + + + + +
int SetUp ()
+
+inline
+
+ +

Definition at line 678 of file xran_lib_wrap.hpp.

+
+Here is the call graph for this function:
+
+
+ + + + + + + + + + + + + + + + + + +
+ +
+
+ +

◆ Start()

+ +
+
+ + + + + +
+ + + + + + + +
int Start ()
+
+inline
+
+ +

Definition at line 990 of file xran_lib_wrap.hpp.

+
+Here is the call graph for this function:
+
+
+ + + + +
+
+Here is the caller graph for this function:
+
+
+ + + +
+ +
+
+ +

◆ Stop()

+ +
+
+ + + + + +
+ + + + + + + +
int Stop ()
+
+inline
+
+ +

Definition at line 998 of file xran_lib_wrap.hpp.

+
+Here is the call graph for this function:
+
+
+ + + + +
+
+Here is the caller graph for this function:
+
+
+ + + +
+ +
+
+ +

◆ TearDown()

+ +
+
+ + + + + +
+ + + + + + + +
void TearDown ()
+
+inline
+
+ +

Definition at line 729 of file xran_lib_wrap.hpp.

+
+Here is the call graph for this function:
+
+
+ + + +
+ +
+
+ +

◆ update_symbol_index()

+ +
+
+ + + + + +
+ + + + + + + +
void update_symbol_index ()
+
+inline
+
+ +

Definition at line 1012 of file xran_lib_wrap.hpp.

+
+Here is the call graph for this function:
+
+
+ + + + + + + +
+
+Here is the caller graph for this function:
+
+
+ + + + + + +
+ +
+
+ +

◆ update_tti()

+ +
+
+ + + + + +
+ + + + + + + +
void update_tti ()
+
+inline
+
+ +

Definition at line 1007 of file xran_lib_wrap.hpp.

+
+Here is the call graph for this function:
+
+
+ + + + + + +
+
+Here is the caller graph for this function:
+
+
+ + + + + + + + + + + +
+ +
+
+

Field Documentation

+ +

◆ argv

+ +
+
+ + + + + +
+ + + + +
char argv[25] = "unittest"
+
+protected
+
+ +

Definition at line 109 of file xran_lib_wrap.hpp.

+ +
+
+ +

◆ iq_bfw_buffer_size_dl

+ +
+
+ + + + + +
+ + + + +
int iq_bfw_buffer_size_dl = 0
+
+protected
+
+ +

Definition at line 149 of file xran_lib_wrap.hpp.

+ +
+
+ +

◆ iq_bfw_buffer_size_ul

+ +
+
+ + + + + +
+ + + + +
int iq_bfw_buffer_size_ul = 0
+
+protected
+
+ +

Definition at line 150 of file xran_lib_wrap.hpp.

+ +
+
+ +

◆ m_bSub6

+ +
+
+ + + + + +
+ + + + +
bool m_bSub6
+
+protected
+
+ +

Definition at line 117 of file xran_lib_wrap.hpp.

+ +
+
+ +

◆ m_dpdk_bbdev

+ +
+
+ + + + + +
+ + + + +
std::string m_dpdk_bbdev
+
+protected
+
+ +

Definition at line 111 of file xran_lib_wrap.hpp.

+ +
+
+ +

◆ m_dpdk_dev_cp

+ +
+
+ + + + + +
+ + + + +
std::string m_dpdk_dev_cp
+
+protected
+
+ +

Definition at line 111 of file xran_lib_wrap.hpp.

+ +
+
+ +

◆ m_dpdk_dev_up

+ +
+
+ + + + + +
+ + + + +
std::string m_dpdk_dev_up
+
+protected
+
+ +

Definition at line 111 of file xran_lib_wrap.hpp.

+ +
+
+ +

◆ m_du_mac

+ +
+
+ + + + + +
+ + + + +
uint8_t m_du_mac[6] = { 0x00,0x11, 0x22, 0x33, 0x44, 0x66 }
+
+protected
+
+ +

Definition at line 115 of file xran_lib_wrap.hpp.

+ +
+
+ +

◆ m_nBufPoolIndex

+ +
+
+ + + + + +
+ + + + +
uint32_t m_nBufPoolIndex[XRAN_MAX_SECTOR_NR][MAX_SW_XRAN_INTERFACE_NUM]
+
+protected
+
+ +

Definition at line 142 of file xran_lib_wrap.hpp.

+ +
+
+ +

◆ m_nFpgaToSW_FTH_RxBufferLen

+ +
+
+ + + + + +
+ + + + +
uint32_t m_nFpgaToSW_FTH_RxBufferLen
+
+protected
+
+ +

Definition at line 145 of file xran_lib_wrap.hpp.

+ +
+
+ +

◆ m_nInstanceHandle

+ +
+
+ + + + + +
+ + + + +
void* m_nInstanceHandle[XRAN_PORTS_NUM][XRAN_MAX_SECTOR_NR]
+
+protected
+
+ +

Definition at line 141 of file xran_lib_wrap.hpp.

+ +
+
+ +

◆ m_nSectorIndex

+ +
+
+ + + + + +
+ + + + +
int32_t m_nSectorIndex[XRAN_MAX_SECTOR_NR]
+
+protected
+
+ +

Definition at line 147 of file xran_lib_wrap.hpp.

+ +
+
+ +

◆ m_nSlots

+ +
+
+ + + + + +
+ + + + +
uint32_t m_nSlots = 10
+
+protected
+
+ +

Definition at line 118 of file xran_lib_wrap.hpp.

+ +
+
+ +

◆ m_nSW_ToFpga_FTH_TxBufferLen

+ +
+
+ + + + + +
+ + + + +
uint32_t m_nSW_ToFpga_FTH_TxBufferLen
+
+protected
+
+ +

Definition at line 144 of file xran_lib_wrap.hpp.

+ +
+
+ +

◆ m_ru_mac

+ +
+
+ + + + + +
+ + + + +
uint8_t m_ru_mac[6] = { 0x00,0x11, 0x22, 0x33, 0x44, 0x55 }
+
+protected
+
+ +

Definition at line 116 of file xran_lib_wrap.hpp.

+ +
+
+ +

◆ m_sFHPrachRxBbuIoBufCtrl

+ +
+
+ + + + + +
+ + + + +
BbuIoBufCtrlStruct m_sFHPrachRxBbuIoBufCtrl[XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR]
+
+protected
+
+ +

Definition at line 132 of file xran_lib_wrap.hpp.

+ +
+
+ +

◆ m_sFHPrachRxBuffers

+ +
+
+ + + + + +
+ + + + +
struct xran_flat_buffer m_sFHPrachRxBuffers[XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR][XRAN_NUM_OF_SYMBOL_PER_SLOT]
+
+protected
+
+ +

Definition at line 139 of file xran_lib_wrap.hpp.

+ +
+
+ +

◆ m_sFrontHaulRxBbuIoBufCtrl

+ +
+
+ + + + + +
+ + + + +
BbuIoBufCtrlStruct m_sFrontHaulRxBbuIoBufCtrl[XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR]
+
+protected
+
+ +

Definition at line 130 of file xran_lib_wrap.hpp.

+ +
+
+ +

◆ m_sFrontHaulRxBuffers

+ +
+
+ + + + + +
+ + + + +
struct xran_flat_buffer m_sFrontHaulRxBuffers[XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR][XRAN_NUM_OF_SYMBOL_PER_SLOT]
+
+protected
+
+ +

Definition at line 137 of file xran_lib_wrap.hpp.

+ +
+
+ +

◆ m_sFrontHaulRxPrbMapBbuIoBufCtrl

+ +
+
+ + + + + +
+ + + + +
BbuIoBufCtrlStruct m_sFrontHaulRxPrbMapBbuIoBufCtrl[XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR]
+
+protected
+
+ +

Definition at line 131 of file xran_lib_wrap.hpp.

+ +
+
+ +

◆ m_sFrontHaulRxPrbMapBuffers

+ +
+
+ + + + + +
+ + + + +
struct xran_flat_buffer m_sFrontHaulRxPrbMapBuffers[XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR]
+
+protected
+
+ +

Definition at line 138 of file xran_lib_wrap.hpp.

+ +
+
+ +

◆ m_sFrontHaulTxBbuIoBufCtrl

+ +
+
+ + + + + +
+ + + + +
BbuIoBufCtrlStruct m_sFrontHaulTxBbuIoBufCtrl[XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR]
+
+protected
+
+ +

Definition at line 128 of file xran_lib_wrap.hpp.

+ +
+
+ +

◆ m_sFrontHaulTxBuffers

+ +
+
+ + + + + +
+ + + + +
struct xran_flat_buffer m_sFrontHaulTxBuffers[XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR][XRAN_NUM_OF_SYMBOL_PER_SLOT]
+
+protected
+
+ +

Definition at line 135 of file xran_lib_wrap.hpp.

+ +
+
+ +

◆ m_sFrontHaulTxPrbMapBbuIoBufCtrl

+ +
+
+ + + + + +
+ + + + +
BbuIoBufCtrlStruct m_sFrontHaulTxPrbMapBbuIoBufCtrl[XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR]
+
+protected
+
+ +

Definition at line 129 of file xran_lib_wrap.hpp.

+ +
+
+ +

◆ m_sFrontHaulTxPrbMapBuffers

+ +
+
+ + + + + +
+ + + + +
struct xran_flat_buffer m_sFrontHaulTxPrbMapBuffers[XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR]
+
+protected
+
+ +

Definition at line 136 of file xran_lib_wrap.hpp.

+ +
+
+ +

◆ m_timer_ctx

+ +
+
+ + + + + +
+ + + + +
struct xranLibWraper::xran_timer_ctx m_timer_ctx[MAX_NUM_OF_XRAN_CTX]
+
+protected
+
+ +
+
+ +

◆ m_xranConf

+ +
+
+ + + + + +
+ + + + +
struct xran_fh_config m_xranConf
+
+protected
+
+ +

Definition at line 120 of file xran_lib_wrap.hpp.

+ +
+
+ +

◆ m_xranhandle

+ +
+
+ + + + + +
+ + + + +
void* m_xranhandle
+
+protected
+
+ +

Definition at line 113 of file xran_lib_wrap.hpp.

+ +
+
+ +

◆ m_xranInit

+ +
+
+ + + + + +
+ + + + +
struct xran_fh_init m_xranInit
+
+protected
+
+ +

Definition at line 121 of file xran_lib_wrap.hpp.

+ +
+
+ +

◆ nNumRbsPerSymF1

+ +
+
+ + + + +
const uint16_t nNumRbsPerSymF1[3][13]
+
+Initial value:
=
{
{ 25, 52, 79, 106, 133, 160, 216, 270, 0, 0, 0, 0, 0 },
{ 11, 24, 38, 51, 65, 78, 106, 133, 162, 0, 217, 245, 273 },
{ 0, 11, 18, 24, 31, 38, 51, 65, 79, 0, 107, 121, 135 }
}
+

Definition at line 91 of file xran_lib_wrap.hpp.

+ +
+
+ +

◆ nNumRbsPerSymF2

+ +
+
+ + + + +
const uint16_t nNumRbsPerSymF2[2][4]
+
+Initial value:
=
{
{ 66, 132, 264, 0 },
{ 32, 66, 132, 264 }
}
+

Definition at line 100 of file xran_lib_wrap.hpp.

+ +
+
+ +

◆ p_tx_dl_bfw_buffer

+ +
+
+ + + + + +
+ + + + +
int16_t* p_tx_dl_bfw_buffer[MAX_ANT_CARRIER_SUPPORTED]
+
+protected
+
+ +

Definition at line 153 of file xran_lib_wrap.hpp.

+ +
+
+ +

◆ p_tx_ul_bfw_buffer

+ +
+
+ + + + + +
+ + + + +
int16_t* p_tx_ul_bfw_buffer[MAX_ANT_CARRIER_SUPPORTED]
+
+protected
+
+ +

Definition at line 158 of file xran_lib_wrap.hpp.

+ +
+
+ +

◆ tx_dl_bfw_buffer_position

+ +
+
+ + + + + +
+ + + + +
int32_t tx_dl_bfw_buffer_position[MAX_ANT_CARRIER_SUPPORTED]
+
+protected
+
+ +

Definition at line 155 of file xran_lib_wrap.hpp.

+ +
+
+ +

◆ tx_dl_bfw_buffer_size

+ +
+
+ + + + + +
+ + + + +
int32_t tx_dl_bfw_buffer_size[MAX_ANT_CARRIER_SUPPORTED]
+
+protected
+
+ +

Definition at line 154 of file xran_lib_wrap.hpp.

+ +
+
+ +

◆ tx_ul_bfw_buffer_position

+ +
+
+ + + + + +
+ + + + +
int32_t tx_ul_bfw_buffer_position[MAX_ANT_CARRIER_SUPPORTED]
+
+protected
+
+ +

Definition at line 160 of file xran_lib_wrap.hpp.

+ +
+
+ +

◆ tx_ul_bfw_buffer_size

+ +
+
+ + + + + +
+ + + + +
int32_t tx_ul_bfw_buffer_size[MAX_ANT_CARRIER_SUPPORTED]
+
+protected
+
+ +

Definition at line 159 of file xran_lib_wrap.hpp.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/docs/API/classxran_lib_wraper__coll__graph.map b/docs/API/classxran_lib_wraper__coll__graph.map new file mode 100644 index 0000000..020f795 --- /dev/null +++ b/docs/API/classxran_lib_wraper__coll__graph.map @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/docs/API/classxran_lib_wraper__coll__graph.md5 b/docs/API/classxran_lib_wraper__coll__graph.md5 new file mode 100644 index 0000000..c236a21 --- /dev/null +++ b/docs/API/classxran_lib_wraper__coll__graph.md5 @@ -0,0 +1 @@ +510416b0ba9a93221ccf1883ddd719dc \ No newline at end of file diff --git a/docs/API/classxran_lib_wraper__coll__graph.png b/docs/API/classxran_lib_wraper__coll__graph.png new file mode 100644 index 0000000..835cacc Binary files /dev/null and b/docs/API/classxran_lib_wraper__coll__graph.png differ diff --git a/docs/API/classxran_lib_wraper_a126b53d8cc57521b34496dbe3a26621f_cgraph.map b/docs/API/classxran_lib_wraper_a126b53d8cc57521b34496dbe3a26621f_cgraph.map new file mode 100644 index 0000000..8c56c89 --- /dev/null +++ b/docs/API/classxran_lib_wraper_a126b53d8cc57521b34496dbe3a26621f_cgraph.map @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/docs/API/classxran_lib_wraper_a126b53d8cc57521b34496dbe3a26621f_cgraph.md5 b/docs/API/classxran_lib_wraper_a126b53d8cc57521b34496dbe3a26621f_cgraph.md5 new file mode 100644 index 0000000..c5e524e --- /dev/null +++ b/docs/API/classxran_lib_wraper_a126b53d8cc57521b34496dbe3a26621f_cgraph.md5 @@ -0,0 +1 @@ +804edff3d6848782122909bc73c1ddbc \ No newline at end of file diff --git a/docs/API/classxran_lib_wraper_a126b53d8cc57521b34496dbe3a26621f_cgraph.png b/docs/API/classxran_lib_wraper_a126b53d8cc57521b34496dbe3a26621f_cgraph.png new file mode 100644 index 0000000..8a6fb9f Binary files /dev/null and b/docs/API/classxran_lib_wraper_a126b53d8cc57521b34496dbe3a26621f_cgraph.png differ diff --git a/docs/API/classxran_lib_wraper_a165ca95dea40ce1abcc161f39087d38d_cgraph.map b/docs/API/classxran_lib_wraper_a165ca95dea40ce1abcc161f39087d38d_cgraph.map new file mode 100644 index 0000000..94514bd --- /dev/null +++ b/docs/API/classxran_lib_wraper_a165ca95dea40ce1abcc161f39087d38d_cgraph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/API/classxran_lib_wraper_a165ca95dea40ce1abcc161f39087d38d_cgraph.md5 b/docs/API/classxran_lib_wraper_a165ca95dea40ce1abcc161f39087d38d_cgraph.md5 new file mode 100644 index 0000000..345e8d3 --- /dev/null +++ b/docs/API/classxran_lib_wraper_a165ca95dea40ce1abcc161f39087d38d_cgraph.md5 @@ -0,0 +1 @@ +4a44df69800fe01e7daec9eca3a58fa5 \ No newline at end of file diff --git a/docs/API/classxran_lib_wraper_a165ca95dea40ce1abcc161f39087d38d_cgraph.png b/docs/API/classxran_lib_wraper_a165ca95dea40ce1abcc161f39087d38d_cgraph.png new file mode 100644 index 0000000..b1ca2a9 Binary files /dev/null and b/docs/API/classxran_lib_wraper_a165ca95dea40ce1abcc161f39087d38d_cgraph.png differ diff --git a/docs/API/classxran_lib_wraper_a165ca95dea40ce1abcc161f39087d38d_icgraph.map b/docs/API/classxran_lib_wraper_a165ca95dea40ce1abcc161f39087d38d_icgraph.map new file mode 100644 index 0000000..14eb0ae --- /dev/null +++ b/docs/API/classxran_lib_wraper_a165ca95dea40ce1abcc161f39087d38d_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/classxran_lib_wraper_a165ca95dea40ce1abcc161f39087d38d_icgraph.md5 b/docs/API/classxran_lib_wraper_a165ca95dea40ce1abcc161f39087d38d_icgraph.md5 new file mode 100644 index 0000000..7e7683a --- /dev/null +++ b/docs/API/classxran_lib_wraper_a165ca95dea40ce1abcc161f39087d38d_icgraph.md5 @@ -0,0 +1 @@ +4e5da9f116931acac6dc73225ad15fb8 \ No newline at end of file diff --git a/docs/API/classxran_lib_wraper_a165ca95dea40ce1abcc161f39087d38d_icgraph.png b/docs/API/classxran_lib_wraper_a165ca95dea40ce1abcc161f39087d38d_icgraph.png new file mode 100644 index 0000000..ca01137 Binary files /dev/null and b/docs/API/classxran_lib_wraper_a165ca95dea40ce1abcc161f39087d38d_icgraph.png differ diff --git a/docs/API/classxran_lib_wraper_a1ffad42e0cccdbc800d3dbef66f52d45_icgraph.map b/docs/API/classxran_lib_wraper_a1ffad42e0cccdbc800d3dbef66f52d45_icgraph.map new file mode 100644 index 0000000..cebeae4 --- /dev/null +++ b/docs/API/classxran_lib_wraper_a1ffad42e0cccdbc800d3dbef66f52d45_icgraph.map @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/docs/API/classxran_lib_wraper_a1ffad42e0cccdbc800d3dbef66f52d45_icgraph.md5 b/docs/API/classxran_lib_wraper_a1ffad42e0cccdbc800d3dbef66f52d45_icgraph.md5 new file mode 100644 index 0000000..600ebc2 --- /dev/null +++ b/docs/API/classxran_lib_wraper_a1ffad42e0cccdbc800d3dbef66f52d45_icgraph.md5 @@ -0,0 +1 @@ +a1486b7e1cfeadbe36a9ca49e9dbd444 \ No newline at end of file diff --git a/docs/API/classxran_lib_wraper_a1ffad42e0cccdbc800d3dbef66f52d45_icgraph.png b/docs/API/classxran_lib_wraper_a1ffad42e0cccdbc800d3dbef66f52d45_icgraph.png new file mode 100644 index 0000000..2d59426 Binary files /dev/null and b/docs/API/classxran_lib_wraper_a1ffad42e0cccdbc800d3dbef66f52d45_icgraph.png differ diff --git a/docs/API/classxran_lib_wraper_a200da4e2209141f12cafef2380cb801a_cgraph.map b/docs/API/classxran_lib_wraper_a200da4e2209141f12cafef2380cb801a_cgraph.map new file mode 100644 index 0000000..b3772e9 --- /dev/null +++ b/docs/API/classxran_lib_wraper_a200da4e2209141f12cafef2380cb801a_cgraph.map @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/API/classxran_lib_wraper_a200da4e2209141f12cafef2380cb801a_cgraph.md5 b/docs/API/classxran_lib_wraper_a200da4e2209141f12cafef2380cb801a_cgraph.md5 new file mode 100644 index 0000000..0007007 --- /dev/null +++ b/docs/API/classxran_lib_wraper_a200da4e2209141f12cafef2380cb801a_cgraph.md5 @@ -0,0 +1 @@ +089fd1bbd9fbd0f24e5d0f8b1bf744e5 \ No newline at end of file diff --git a/docs/API/classxran_lib_wraper_a200da4e2209141f12cafef2380cb801a_cgraph.png b/docs/API/classxran_lib_wraper_a200da4e2209141f12cafef2380cb801a_cgraph.png new file mode 100644 index 0000000..05d93d1 Binary files /dev/null and b/docs/API/classxran_lib_wraper_a200da4e2209141f12cafef2380cb801a_cgraph.png differ diff --git a/docs/API/classxran_lib_wraper_a200da4e2209141f12cafef2380cb801a_icgraph.map b/docs/API/classxran_lib_wraper_a200da4e2209141f12cafef2380cb801a_icgraph.map new file mode 100644 index 0000000..aa4b069 --- /dev/null +++ b/docs/API/classxran_lib_wraper_a200da4e2209141f12cafef2380cb801a_icgraph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/API/classxran_lib_wraper_a200da4e2209141f12cafef2380cb801a_icgraph.md5 b/docs/API/classxran_lib_wraper_a200da4e2209141f12cafef2380cb801a_icgraph.md5 new file mode 100644 index 0000000..7d47073 --- /dev/null +++ b/docs/API/classxran_lib_wraper_a200da4e2209141f12cafef2380cb801a_icgraph.md5 @@ -0,0 +1 @@ +9dd6176e49bf75c9a67c4b2e2208329a \ No newline at end of file diff --git a/docs/API/classxran_lib_wraper_a200da4e2209141f12cafef2380cb801a_icgraph.png b/docs/API/classxran_lib_wraper_a200da4e2209141f12cafef2380cb801a_icgraph.png new file mode 100644 index 0000000..be8c328 Binary files /dev/null and b/docs/API/classxran_lib_wraper_a200da4e2209141f12cafef2380cb801a_icgraph.png differ diff --git a/docs/API/classxran_lib_wraper_a25afbf449e11f9e290e0fdbef77702c2_icgraph.map b/docs/API/classxran_lib_wraper_a25afbf449e11f9e290e0fdbef77702c2_icgraph.map new file mode 100644 index 0000000..2b7ef79 --- /dev/null +++ b/docs/API/classxran_lib_wraper_a25afbf449e11f9e290e0fdbef77702c2_icgraph.map @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/API/classxran_lib_wraper_a25afbf449e11f9e290e0fdbef77702c2_icgraph.md5 b/docs/API/classxran_lib_wraper_a25afbf449e11f9e290e0fdbef77702c2_icgraph.md5 new file mode 100644 index 0000000..babbe5d --- /dev/null +++ b/docs/API/classxran_lib_wraper_a25afbf449e11f9e290e0fdbef77702c2_icgraph.md5 @@ -0,0 +1 @@ +a298940a9c7a289389219fb4e00a4342 \ No newline at end of file diff --git a/docs/API/classxran_lib_wraper_a25afbf449e11f9e290e0fdbef77702c2_icgraph.png b/docs/API/classxran_lib_wraper_a25afbf449e11f9e290e0fdbef77702c2_icgraph.png new file mode 100644 index 0000000..f91ee84 Binary files /dev/null and b/docs/API/classxran_lib_wraper_a25afbf449e11f9e290e0fdbef77702c2_icgraph.png differ diff --git a/docs/API/classxran_lib_wraper_a2ad94e2d18c69b423d5402d7777832f1_icgraph.map b/docs/API/classxran_lib_wraper_a2ad94e2d18c69b423d5402d7777832f1_icgraph.map new file mode 100644 index 0000000..678cbe0 --- /dev/null +++ b/docs/API/classxran_lib_wraper_a2ad94e2d18c69b423d5402d7777832f1_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/classxran_lib_wraper_a2ad94e2d18c69b423d5402d7777832f1_icgraph.md5 b/docs/API/classxran_lib_wraper_a2ad94e2d18c69b423d5402d7777832f1_icgraph.md5 new file mode 100644 index 0000000..a38ef5e --- /dev/null +++ b/docs/API/classxran_lib_wraper_a2ad94e2d18c69b423d5402d7777832f1_icgraph.md5 @@ -0,0 +1 @@ +97c3dcd49a465b1a06339ca724cb4ae5 \ No newline at end of file diff --git a/docs/API/classxran_lib_wraper_a2ad94e2d18c69b423d5402d7777832f1_icgraph.png b/docs/API/classxran_lib_wraper_a2ad94e2d18c69b423d5402d7777832f1_icgraph.png new file mode 100644 index 0000000..d888a33 Binary files /dev/null and b/docs/API/classxran_lib_wraper_a2ad94e2d18c69b423d5402d7777832f1_icgraph.png differ diff --git a/docs/API/classxran_lib_wraper_a2e64fc338fcfaac25af91aae564777fa_cgraph.map b/docs/API/classxran_lib_wraper_a2e64fc338fcfaac25af91aae564777fa_cgraph.map new file mode 100644 index 0000000..7057270 --- /dev/null +++ b/docs/API/classxran_lib_wraper_a2e64fc338fcfaac25af91aae564777fa_cgraph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/API/classxran_lib_wraper_a2e64fc338fcfaac25af91aae564777fa_cgraph.md5 b/docs/API/classxran_lib_wraper_a2e64fc338fcfaac25af91aae564777fa_cgraph.md5 new file mode 100644 index 0000000..0354b24 --- /dev/null +++ b/docs/API/classxran_lib_wraper_a2e64fc338fcfaac25af91aae564777fa_cgraph.md5 @@ -0,0 +1 @@ +cc6378def7395b1a53a6866ddd96d0e5 \ No newline at end of file diff --git a/docs/API/classxran_lib_wraper_a2e64fc338fcfaac25af91aae564777fa_cgraph.png b/docs/API/classxran_lib_wraper_a2e64fc338fcfaac25af91aae564777fa_cgraph.png new file mode 100644 index 0000000..dc621bc Binary files /dev/null and b/docs/API/classxran_lib_wraper_a2e64fc338fcfaac25af91aae564777fa_cgraph.png differ diff --git a/docs/API/classxran_lib_wraper_a3783fbb2a26b8a0530c489850a905a38_cgraph.map b/docs/API/classxran_lib_wraper_a3783fbb2a26b8a0530c489850a905a38_cgraph.map new file mode 100644 index 0000000..f9fad96 --- /dev/null +++ b/docs/API/classxran_lib_wraper_a3783fbb2a26b8a0530c489850a905a38_cgraph.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/API/classxran_lib_wraper_a3783fbb2a26b8a0530c489850a905a38_cgraph.md5 b/docs/API/classxran_lib_wraper_a3783fbb2a26b8a0530c489850a905a38_cgraph.md5 new file mode 100644 index 0000000..614dd68 --- /dev/null +++ b/docs/API/classxran_lib_wraper_a3783fbb2a26b8a0530c489850a905a38_cgraph.md5 @@ -0,0 +1 @@ +b906cada4097dbbc636730292bf324e2 \ No newline at end of file diff --git a/docs/API/classxran_lib_wraper_a3783fbb2a26b8a0530c489850a905a38_cgraph.png b/docs/API/classxran_lib_wraper_a3783fbb2a26b8a0530c489850a905a38_cgraph.png new file mode 100644 index 0000000..05d3a33 Binary files /dev/null and b/docs/API/classxran_lib_wraper_a3783fbb2a26b8a0530c489850a905a38_cgraph.png differ diff --git a/docs/API/classxran_lib_wraper_a3783fbb2a26b8a0530c489850a905a38_icgraph.map b/docs/API/classxran_lib_wraper_a3783fbb2a26b8a0530c489850a905a38_icgraph.map new file mode 100644 index 0000000..9ebe697 --- /dev/null +++ b/docs/API/classxran_lib_wraper_a3783fbb2a26b8a0530c489850a905a38_icgraph.map @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/docs/API/classxran_lib_wraper_a3783fbb2a26b8a0530c489850a905a38_icgraph.md5 b/docs/API/classxran_lib_wraper_a3783fbb2a26b8a0530c489850a905a38_icgraph.md5 new file mode 100644 index 0000000..ef75569 --- /dev/null +++ b/docs/API/classxran_lib_wraper_a3783fbb2a26b8a0530c489850a905a38_icgraph.md5 @@ -0,0 +1 @@ +2648061701b967b3bb54d623ac1737c3 \ No newline at end of file diff --git a/docs/API/classxran_lib_wraper_a3783fbb2a26b8a0530c489850a905a38_icgraph.png b/docs/API/classxran_lib_wraper_a3783fbb2a26b8a0530c489850a905a38_icgraph.png new file mode 100644 index 0000000..0e57661 Binary files /dev/null and b/docs/API/classxran_lib_wraper_a3783fbb2a26b8a0530c489850a905a38_icgraph.png differ diff --git a/docs/API/classxran_lib_wraper_a5855fc30031ba49b7375526f7cda0ff7_icgraph.map b/docs/API/classxran_lib_wraper_a5855fc30031ba49b7375526f7cda0ff7_icgraph.map new file mode 100644 index 0000000..38607a9 --- /dev/null +++ b/docs/API/classxran_lib_wraper_a5855fc30031ba49b7375526f7cda0ff7_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/classxran_lib_wraper_a5855fc30031ba49b7375526f7cda0ff7_icgraph.md5 b/docs/API/classxran_lib_wraper_a5855fc30031ba49b7375526f7cda0ff7_icgraph.md5 new file mode 100644 index 0000000..9ffab3a --- /dev/null +++ b/docs/API/classxran_lib_wraper_a5855fc30031ba49b7375526f7cda0ff7_icgraph.md5 @@ -0,0 +1 @@ +5da61bddc8e1d0a28f59b5a30d384a2c \ No newline at end of file diff --git a/docs/API/classxran_lib_wraper_a5855fc30031ba49b7375526f7cda0ff7_icgraph.png b/docs/API/classxran_lib_wraper_a5855fc30031ba49b7375526f7cda0ff7_icgraph.png new file mode 100644 index 0000000..2050f9f Binary files /dev/null and b/docs/API/classxran_lib_wraper_a5855fc30031ba49b7375526f7cda0ff7_icgraph.png differ diff --git a/docs/API/classxran_lib_wraper_a61da580fc69a74f3ef17956ba5fd88a0_cgraph.map b/docs/API/classxran_lib_wraper_a61da580fc69a74f3ef17956ba5fd88a0_cgraph.map new file mode 100644 index 0000000..965f393 --- /dev/null +++ b/docs/API/classxran_lib_wraper_a61da580fc69a74f3ef17956ba5fd88a0_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/classxran_lib_wraper_a61da580fc69a74f3ef17956ba5fd88a0_cgraph.md5 b/docs/API/classxran_lib_wraper_a61da580fc69a74f3ef17956ba5fd88a0_cgraph.md5 new file mode 100644 index 0000000..0f5ada4 --- /dev/null +++ b/docs/API/classxran_lib_wraper_a61da580fc69a74f3ef17956ba5fd88a0_cgraph.md5 @@ -0,0 +1 @@ +d4e5aaf5ae5d54c8e6746c492e64f636 \ No newline at end of file diff --git a/docs/API/classxran_lib_wraper_a61da580fc69a74f3ef17956ba5fd88a0_cgraph.png b/docs/API/classxran_lib_wraper_a61da580fc69a74f3ef17956ba5fd88a0_cgraph.png new file mode 100644 index 0000000..0a92f4e Binary files /dev/null and b/docs/API/classxran_lib_wraper_a61da580fc69a74f3ef17956ba5fd88a0_cgraph.png differ diff --git a/docs/API/classxran_lib_wraper_a61da580fc69a74f3ef17956ba5fd88a0_icgraph.map b/docs/API/classxran_lib_wraper_a61da580fc69a74f3ef17956ba5fd88a0_icgraph.map new file mode 100644 index 0000000..0fa3b07 --- /dev/null +++ b/docs/API/classxran_lib_wraper_a61da580fc69a74f3ef17956ba5fd88a0_icgraph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/classxran_lib_wraper_a61da580fc69a74f3ef17956ba5fd88a0_icgraph.md5 b/docs/API/classxran_lib_wraper_a61da580fc69a74f3ef17956ba5fd88a0_icgraph.md5 new file mode 100644 index 0000000..3f3f90f --- /dev/null +++ b/docs/API/classxran_lib_wraper_a61da580fc69a74f3ef17956ba5fd88a0_icgraph.md5 @@ -0,0 +1 @@ +a8521ee81b165a676ea053091fb8fb5b \ No newline at end of file diff --git a/docs/API/classxran_lib_wraper_a61da580fc69a74f3ef17956ba5fd88a0_icgraph.png b/docs/API/classxran_lib_wraper_a61da580fc69a74f3ef17956ba5fd88a0_icgraph.png new file mode 100644 index 0000000..f4aca45 Binary files /dev/null and b/docs/API/classxran_lib_wraper_a61da580fc69a74f3ef17956ba5fd88a0_icgraph.png differ diff --git a/docs/API/classxran_lib_wraper_a7d671b9b851d9b0fbae6777e85643c3b_icgraph.map b/docs/API/classxran_lib_wraper_a7d671b9b851d9b0fbae6777e85643c3b_icgraph.map new file mode 100644 index 0000000..cb8682e --- /dev/null +++ b/docs/API/classxran_lib_wraper_a7d671b9b851d9b0fbae6777e85643c3b_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/classxran_lib_wraper_a7d671b9b851d9b0fbae6777e85643c3b_icgraph.md5 b/docs/API/classxran_lib_wraper_a7d671b9b851d9b0fbae6777e85643c3b_icgraph.md5 new file mode 100644 index 0000000..f311ddd --- /dev/null +++ b/docs/API/classxran_lib_wraper_a7d671b9b851d9b0fbae6777e85643c3b_icgraph.md5 @@ -0,0 +1 @@ +b6526152e564393aa0b2abda5bb7d218 \ No newline at end of file diff --git a/docs/API/classxran_lib_wraper_a7d671b9b851d9b0fbae6777e85643c3b_icgraph.png b/docs/API/classxran_lib_wraper_a7d671b9b851d9b0fbae6777e85643c3b_icgraph.png new file mode 100644 index 0000000..cfc4992 Binary files /dev/null and b/docs/API/classxran_lib_wraper_a7d671b9b851d9b0fbae6777e85643c3b_icgraph.png differ diff --git a/docs/API/classxran_lib_wraper_a7d7488daf0a2eebb9359f760a60eaf7c_icgraph.map b/docs/API/classxran_lib_wraper_a7d7488daf0a2eebb9359f760a60eaf7c_icgraph.map new file mode 100644 index 0000000..1a758b7 --- /dev/null +++ b/docs/API/classxran_lib_wraper_a7d7488daf0a2eebb9359f760a60eaf7c_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/classxran_lib_wraper_a7d7488daf0a2eebb9359f760a60eaf7c_icgraph.md5 b/docs/API/classxran_lib_wraper_a7d7488daf0a2eebb9359f760a60eaf7c_icgraph.md5 new file mode 100644 index 0000000..857e6f2 --- /dev/null +++ b/docs/API/classxran_lib_wraper_a7d7488daf0a2eebb9359f760a60eaf7c_icgraph.md5 @@ -0,0 +1 @@ +78bd5e74226754fd7a7108a9bfe4628a \ No newline at end of file diff --git a/docs/API/classxran_lib_wraper_a7d7488daf0a2eebb9359f760a60eaf7c_icgraph.png b/docs/API/classxran_lib_wraper_a7d7488daf0a2eebb9359f760a60eaf7c_icgraph.png new file mode 100644 index 0000000..67d0659 Binary files /dev/null and b/docs/API/classxran_lib_wraper_a7d7488daf0a2eebb9359f760a60eaf7c_icgraph.png differ diff --git a/docs/API/classxran_lib_wraper_a7f7a3199c392465d0767c6506c1af5b4_cgraph.map b/docs/API/classxran_lib_wraper_a7f7a3199c392465d0767c6506c1af5b4_cgraph.map new file mode 100644 index 0000000..36c3dd4 --- /dev/null +++ b/docs/API/classxran_lib_wraper_a7f7a3199c392465d0767c6506c1af5b4_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/classxran_lib_wraper_a7f7a3199c392465d0767c6506c1af5b4_cgraph.md5 b/docs/API/classxran_lib_wraper_a7f7a3199c392465d0767c6506c1af5b4_cgraph.md5 new file mode 100644 index 0000000..f5cc473 --- /dev/null +++ b/docs/API/classxran_lib_wraper_a7f7a3199c392465d0767c6506c1af5b4_cgraph.md5 @@ -0,0 +1 @@ +18feaa6f6a74a2e8fc0da84d44c44c8d \ No newline at end of file diff --git a/docs/API/classxran_lib_wraper_a7f7a3199c392465d0767c6506c1af5b4_cgraph.png b/docs/API/classxran_lib_wraper_a7f7a3199c392465d0767c6506c1af5b4_cgraph.png new file mode 100644 index 0000000..bbed8da Binary files /dev/null and b/docs/API/classxran_lib_wraper_a7f7a3199c392465d0767c6506c1af5b4_cgraph.png differ diff --git a/docs/API/classxran_lib_wraper_a7f7a3199c392465d0767c6506c1af5b4_icgraph.map b/docs/API/classxran_lib_wraper_a7f7a3199c392465d0767c6506c1af5b4_icgraph.map new file mode 100644 index 0000000..19ea212 --- /dev/null +++ b/docs/API/classxran_lib_wraper_a7f7a3199c392465d0767c6506c1af5b4_icgraph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/API/classxran_lib_wraper_a7f7a3199c392465d0767c6506c1af5b4_icgraph.md5 b/docs/API/classxran_lib_wraper_a7f7a3199c392465d0767c6506c1af5b4_icgraph.md5 new file mode 100644 index 0000000..910a4fa --- /dev/null +++ b/docs/API/classxran_lib_wraper_a7f7a3199c392465d0767c6506c1af5b4_icgraph.md5 @@ -0,0 +1 @@ +108a604e20cb2b5a8b168cb728511184 \ No newline at end of file diff --git a/docs/API/classxran_lib_wraper_a7f7a3199c392465d0767c6506c1af5b4_icgraph.png b/docs/API/classxran_lib_wraper_a7f7a3199c392465d0767c6506c1af5b4_icgraph.png new file mode 100644 index 0000000..6bc77de Binary files /dev/null and b/docs/API/classxran_lib_wraper_a7f7a3199c392465d0767c6506c1af5b4_icgraph.png differ diff --git a/docs/API/classxran_lib_wraper_a931587596081ef8178c2b128facb0411_cgraph.map b/docs/API/classxran_lib_wraper_a931587596081ef8178c2b128facb0411_cgraph.map new file mode 100644 index 0000000..22bd3b4 --- /dev/null +++ b/docs/API/classxran_lib_wraper_a931587596081ef8178c2b128facb0411_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/classxran_lib_wraper_a931587596081ef8178c2b128facb0411_cgraph.md5 b/docs/API/classxran_lib_wraper_a931587596081ef8178c2b128facb0411_cgraph.md5 new file mode 100644 index 0000000..626f1a7 --- /dev/null +++ b/docs/API/classxran_lib_wraper_a931587596081ef8178c2b128facb0411_cgraph.md5 @@ -0,0 +1 @@ +6a7d9ac74129dda054406991ece0dd8e \ No newline at end of file diff --git a/docs/API/classxran_lib_wraper_a931587596081ef8178c2b128facb0411_cgraph.png b/docs/API/classxran_lib_wraper_a931587596081ef8178c2b128facb0411_cgraph.png new file mode 100644 index 0000000..9da3e1a Binary files /dev/null and b/docs/API/classxran_lib_wraper_a931587596081ef8178c2b128facb0411_cgraph.png differ diff --git a/docs/API/classxran_lib_wraper_a967a0c58430104684cf2f9b1fdb444da_icgraph.map b/docs/API/classxran_lib_wraper_a967a0c58430104684cf2f9b1fdb444da_icgraph.map new file mode 100644 index 0000000..5942fe9 --- /dev/null +++ b/docs/API/classxran_lib_wraper_a967a0c58430104684cf2f9b1fdb444da_icgraph.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/API/classxran_lib_wraper_a967a0c58430104684cf2f9b1fdb444da_icgraph.md5 b/docs/API/classxran_lib_wraper_a967a0c58430104684cf2f9b1fdb444da_icgraph.md5 new file mode 100644 index 0000000..68b15bc --- /dev/null +++ b/docs/API/classxran_lib_wraper_a967a0c58430104684cf2f9b1fdb444da_icgraph.md5 @@ -0,0 +1 @@ +a8abc09a916a1c738e83e40beae90d8b \ No newline at end of file diff --git a/docs/API/classxran_lib_wraper_a967a0c58430104684cf2f9b1fdb444da_icgraph.png b/docs/API/classxran_lib_wraper_a967a0c58430104684cf2f9b1fdb444da_icgraph.png new file mode 100644 index 0000000..20b90d7 Binary files /dev/null and b/docs/API/classxran_lib_wraper_a967a0c58430104684cf2f9b1fdb444da_icgraph.png differ diff --git a/docs/API/classxran_lib_wraper_a970616fd84b2f27327a77e202d31eeef_icgraph.map b/docs/API/classxran_lib_wraper_a970616fd84b2f27327a77e202d31eeef_icgraph.map new file mode 100644 index 0000000..2fd808e --- /dev/null +++ b/docs/API/classxran_lib_wraper_a970616fd84b2f27327a77e202d31eeef_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/classxran_lib_wraper_a970616fd84b2f27327a77e202d31eeef_icgraph.md5 b/docs/API/classxran_lib_wraper_a970616fd84b2f27327a77e202d31eeef_icgraph.md5 new file mode 100644 index 0000000..94f2ee0 --- /dev/null +++ b/docs/API/classxran_lib_wraper_a970616fd84b2f27327a77e202d31eeef_icgraph.md5 @@ -0,0 +1 @@ +c595a670b8213d681abfbbe328ef03aa \ No newline at end of file diff --git a/docs/API/classxran_lib_wraper_a970616fd84b2f27327a77e202d31eeef_icgraph.png b/docs/API/classxran_lib_wraper_a970616fd84b2f27327a77e202d31eeef_icgraph.png new file mode 100644 index 0000000..352902a Binary files /dev/null and b/docs/API/classxran_lib_wraper_a970616fd84b2f27327a77e202d31eeef_icgraph.png differ diff --git a/docs/API/classxran_lib_wraper_ab795436cc8b07e2b0d665502274b30e6_icgraph.map b/docs/API/classxran_lib_wraper_ab795436cc8b07e2b0d665502274b30e6_icgraph.map new file mode 100644 index 0000000..3738fe7 --- /dev/null +++ b/docs/API/classxran_lib_wraper_ab795436cc8b07e2b0d665502274b30e6_icgraph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/classxran_lib_wraper_ab795436cc8b07e2b0d665502274b30e6_icgraph.md5 b/docs/API/classxran_lib_wraper_ab795436cc8b07e2b0d665502274b30e6_icgraph.md5 new file mode 100644 index 0000000..7f19867 --- /dev/null +++ b/docs/API/classxran_lib_wraper_ab795436cc8b07e2b0d665502274b30e6_icgraph.md5 @@ -0,0 +1 @@ +954c75c3b8a23ac06a37ffb58b895213 \ No newline at end of file diff --git a/docs/API/classxran_lib_wraper_ab795436cc8b07e2b0d665502274b30e6_icgraph.png b/docs/API/classxran_lib_wraper_ab795436cc8b07e2b0d665502274b30e6_icgraph.png new file mode 100644 index 0000000..1f53ae5 Binary files /dev/null and b/docs/API/classxran_lib_wraper_ab795436cc8b07e2b0d665502274b30e6_icgraph.png differ diff --git a/docs/API/classxran_lib_wraper_abbe0bfcd68428ee4cc3f63a391495e8d_icgraph.map b/docs/API/classxran_lib_wraper_abbe0bfcd68428ee4cc3f63a391495e8d_icgraph.map new file mode 100644 index 0000000..e3cbc2f --- /dev/null +++ b/docs/API/classxran_lib_wraper_abbe0bfcd68428ee4cc3f63a391495e8d_icgraph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/classxran_lib_wraper_abbe0bfcd68428ee4cc3f63a391495e8d_icgraph.md5 b/docs/API/classxran_lib_wraper_abbe0bfcd68428ee4cc3f63a391495e8d_icgraph.md5 new file mode 100644 index 0000000..3daa2cf --- /dev/null +++ b/docs/API/classxran_lib_wraper_abbe0bfcd68428ee4cc3f63a391495e8d_icgraph.md5 @@ -0,0 +1 @@ +54b7c153c8b76da1555b1e0c800a2d16 \ No newline at end of file diff --git a/docs/API/classxran_lib_wraper_abbe0bfcd68428ee4cc3f63a391495e8d_icgraph.png b/docs/API/classxran_lib_wraper_abbe0bfcd68428ee4cc3f63a391495e8d_icgraph.png new file mode 100644 index 0000000..b130baf Binary files /dev/null and b/docs/API/classxran_lib_wraper_abbe0bfcd68428ee4cc3f63a391495e8d_icgraph.png differ diff --git a/docs/API/classxran_lib_wraper_ac4ce5a18c687ee515676e035359a1e89_cgraph.map b/docs/API/classxran_lib_wraper_ac4ce5a18c687ee515676e035359a1e89_cgraph.map new file mode 100644 index 0000000..31c0fc6 --- /dev/null +++ b/docs/API/classxran_lib_wraper_ac4ce5a18c687ee515676e035359a1e89_cgraph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/API/classxran_lib_wraper_ac4ce5a18c687ee515676e035359a1e89_cgraph.md5 b/docs/API/classxran_lib_wraper_ac4ce5a18c687ee515676e035359a1e89_cgraph.md5 new file mode 100644 index 0000000..4a30782 --- /dev/null +++ b/docs/API/classxran_lib_wraper_ac4ce5a18c687ee515676e035359a1e89_cgraph.md5 @@ -0,0 +1 @@ +76a2cb3627e0d2b3a3e651a1f30887bd \ No newline at end of file diff --git a/docs/API/classxran_lib_wraper_ac4ce5a18c687ee515676e035359a1e89_cgraph.png b/docs/API/classxran_lib_wraper_ac4ce5a18c687ee515676e035359a1e89_cgraph.png new file mode 100644 index 0000000..c69a863 Binary files /dev/null and b/docs/API/classxran_lib_wraper_ac4ce5a18c687ee515676e035359a1e89_cgraph.png differ diff --git a/docs/API/classxran_lib_wraper_ac4ce5a18c687ee515676e035359a1e89_icgraph.map b/docs/API/classxran_lib_wraper_ac4ce5a18c687ee515676e035359a1e89_icgraph.map new file mode 100644 index 0000000..1a14b21 --- /dev/null +++ b/docs/API/classxran_lib_wraper_ac4ce5a18c687ee515676e035359a1e89_icgraph.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/API/classxran_lib_wraper_ac4ce5a18c687ee515676e035359a1e89_icgraph.md5 b/docs/API/classxran_lib_wraper_ac4ce5a18c687ee515676e035359a1e89_icgraph.md5 new file mode 100644 index 0000000..0237e0d --- /dev/null +++ b/docs/API/classxran_lib_wraper_ac4ce5a18c687ee515676e035359a1e89_icgraph.md5 @@ -0,0 +1 @@ +91d62da4bb84c3e8703883a7bf5a7805 \ No newline at end of file diff --git a/docs/API/classxran_lib_wraper_ac4ce5a18c687ee515676e035359a1e89_icgraph.png b/docs/API/classxran_lib_wraper_ac4ce5a18c687ee515676e035359a1e89_icgraph.png new file mode 100644 index 0000000..62fedf2 Binary files /dev/null and b/docs/API/classxran_lib_wraper_ac4ce5a18c687ee515676e035359a1e89_icgraph.png differ diff --git a/docs/API/classxran_lib_wraper_ad2b06001d76c9a773c242b28fc7c92f4_icgraph.map b/docs/API/classxran_lib_wraper_ad2b06001d76c9a773c242b28fc7c92f4_icgraph.map new file mode 100644 index 0000000..904c620 --- /dev/null +++ b/docs/API/classxran_lib_wraper_ad2b06001d76c9a773c242b28fc7c92f4_icgraph.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/API/classxran_lib_wraper_ad2b06001d76c9a773c242b28fc7c92f4_icgraph.md5 b/docs/API/classxran_lib_wraper_ad2b06001d76c9a773c242b28fc7c92f4_icgraph.md5 new file mode 100644 index 0000000..96d8db1 --- /dev/null +++ b/docs/API/classxran_lib_wraper_ad2b06001d76c9a773c242b28fc7c92f4_icgraph.md5 @@ -0,0 +1 @@ +3898821976aba8c677b92baf0523f9e2 \ No newline at end of file diff --git a/docs/API/classxran_lib_wraper_ad2b06001d76c9a773c242b28fc7c92f4_icgraph.png b/docs/API/classxran_lib_wraper_ad2b06001d76c9a773c242b28fc7c92f4_icgraph.png new file mode 100644 index 0000000..20b1170 Binary files /dev/null and b/docs/API/classxran_lib_wraper_ad2b06001d76c9a773c242b28fc7c92f4_icgraph.png differ diff --git a/docs/API/classxran_lib_wraper_ad93226058ef4fd59bd7d0cd55701b752_cgraph.map b/docs/API/classxran_lib_wraper_ad93226058ef4fd59bd7d0cd55701b752_cgraph.map new file mode 100644 index 0000000..d09680b --- /dev/null +++ b/docs/API/classxran_lib_wraper_ad93226058ef4fd59bd7d0cd55701b752_cgraph.map @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/API/classxran_lib_wraper_ad93226058ef4fd59bd7d0cd55701b752_cgraph.md5 b/docs/API/classxran_lib_wraper_ad93226058ef4fd59bd7d0cd55701b752_cgraph.md5 new file mode 100644 index 0000000..4f4a3f6 --- /dev/null +++ b/docs/API/classxran_lib_wraper_ad93226058ef4fd59bd7d0cd55701b752_cgraph.md5 @@ -0,0 +1 @@ +13b8028d01dc3b550dbd9bb6f776e4f1 \ No newline at end of file diff --git a/docs/API/classxran_lib_wraper_ad93226058ef4fd59bd7d0cd55701b752_cgraph.png b/docs/API/classxran_lib_wraper_ad93226058ef4fd59bd7d0cd55701b752_cgraph.png new file mode 100644 index 0000000..2f5c122 Binary files /dev/null and b/docs/API/classxran_lib_wraper_ad93226058ef4fd59bd7d0cd55701b752_cgraph.png differ diff --git a/docs/API/classxran_lib_wraper_ad93226058ef4fd59bd7d0cd55701b752_icgraph.map b/docs/API/classxran_lib_wraper_ad93226058ef4fd59bd7d0cd55701b752_icgraph.map new file mode 100644 index 0000000..87bd0f3 --- /dev/null +++ b/docs/API/classxran_lib_wraper_ad93226058ef4fd59bd7d0cd55701b752_icgraph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/API/classxran_lib_wraper_ad93226058ef4fd59bd7d0cd55701b752_icgraph.md5 b/docs/API/classxran_lib_wraper_ad93226058ef4fd59bd7d0cd55701b752_icgraph.md5 new file mode 100644 index 0000000..d560121 --- /dev/null +++ b/docs/API/classxran_lib_wraper_ad93226058ef4fd59bd7d0cd55701b752_icgraph.md5 @@ -0,0 +1 @@ +f07c43fdbac36b6390f68c995b9e02c3 \ No newline at end of file diff --git a/docs/API/classxran_lib_wraper_ad93226058ef4fd59bd7d0cd55701b752_icgraph.png b/docs/API/classxran_lib_wraper_ad93226058ef4fd59bd7d0cd55701b752_icgraph.png new file mode 100644 index 0000000..f93cd1e Binary files /dev/null and b/docs/API/classxran_lib_wraper_ad93226058ef4fd59bd7d0cd55701b752_icgraph.png differ diff --git a/docs/API/classxran_lib_wraper_adde1d671cf6532a577f13d85875ee3b4_icgraph.map b/docs/API/classxran_lib_wraper_adde1d671cf6532a577f13d85875ee3b4_icgraph.map new file mode 100644 index 0000000..6e4ef0a --- /dev/null +++ b/docs/API/classxran_lib_wraper_adde1d671cf6532a577f13d85875ee3b4_icgraph.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/API/classxran_lib_wraper_adde1d671cf6532a577f13d85875ee3b4_icgraph.md5 b/docs/API/classxran_lib_wraper_adde1d671cf6532a577f13d85875ee3b4_icgraph.md5 new file mode 100644 index 0000000..f691a03 --- /dev/null +++ b/docs/API/classxran_lib_wraper_adde1d671cf6532a577f13d85875ee3b4_icgraph.md5 @@ -0,0 +1 @@ +f4ca3784a3545500fc6fb9047d25dfab \ No newline at end of file diff --git a/docs/API/classxran_lib_wraper_adde1d671cf6532a577f13d85875ee3b4_icgraph.png b/docs/API/classxran_lib_wraper_adde1d671cf6532a577f13d85875ee3b4_icgraph.png new file mode 100644 index 0000000..45866ca Binary files /dev/null and b/docs/API/classxran_lib_wraper_adde1d671cf6532a577f13d85875ee3b4_icgraph.png differ diff --git a/docs/API/classxran_lib_wraper_ae89a123aad1c66a76c398b7af216aae4_cgraph.map b/docs/API/classxran_lib_wraper_ae89a123aad1c66a76c398b7af216aae4_cgraph.map new file mode 100644 index 0000000..63f0126 --- /dev/null +++ b/docs/API/classxran_lib_wraper_ae89a123aad1c66a76c398b7af216aae4_cgraph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/API/classxran_lib_wraper_ae89a123aad1c66a76c398b7af216aae4_cgraph.md5 b/docs/API/classxran_lib_wraper_ae89a123aad1c66a76c398b7af216aae4_cgraph.md5 new file mode 100644 index 0000000..c35808c --- /dev/null +++ b/docs/API/classxran_lib_wraper_ae89a123aad1c66a76c398b7af216aae4_cgraph.md5 @@ -0,0 +1 @@ +aad12cf25084f7a4365703a20d5c448d \ No newline at end of file diff --git a/docs/API/classxran_lib_wraper_ae89a123aad1c66a76c398b7af216aae4_cgraph.png b/docs/API/classxran_lib_wraper_ae89a123aad1c66a76c398b7af216aae4_cgraph.png new file mode 100644 index 0000000..5819b67 Binary files /dev/null and b/docs/API/classxran_lib_wraper_ae89a123aad1c66a76c398b7af216aae4_cgraph.png differ diff --git a/docs/API/classxran_lib_wraper_ae89a123aad1c66a76c398b7af216aae4_icgraph.map b/docs/API/classxran_lib_wraper_ae89a123aad1c66a76c398b7af216aae4_icgraph.map new file mode 100644 index 0000000..35f95ad --- /dev/null +++ b/docs/API/classxran_lib_wraper_ae89a123aad1c66a76c398b7af216aae4_icgraph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/API/classxran_lib_wraper_ae89a123aad1c66a76c398b7af216aae4_icgraph.md5 b/docs/API/classxran_lib_wraper_ae89a123aad1c66a76c398b7af216aae4_icgraph.md5 new file mode 100644 index 0000000..7f1522d --- /dev/null +++ b/docs/API/classxran_lib_wraper_ae89a123aad1c66a76c398b7af216aae4_icgraph.md5 @@ -0,0 +1 @@ +60763e5dfe974e8e67b1f811d5816523 \ No newline at end of file diff --git a/docs/API/classxran_lib_wraper_ae89a123aad1c66a76c398b7af216aae4_icgraph.png b/docs/API/classxran_lib_wraper_ae89a123aad1c66a76c398b7af216aae4_icgraph.png new file mode 100644 index 0000000..15e185c Binary files /dev/null and b/docs/API/classxran_lib_wraper_ae89a123aad1c66a76c398b7af216aae4_icgraph.png differ diff --git a/docs/API/classxran_lib_wraper_aeeef9211b4ee7d22934db64125b538dd_icgraph.map b/docs/API/classxran_lib_wraper_aeeef9211b4ee7d22934db64125b538dd_icgraph.map new file mode 100644 index 0000000..d7101ee --- /dev/null +++ b/docs/API/classxran_lib_wraper_aeeef9211b4ee7d22934db64125b538dd_icgraph.map @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/docs/API/classxran_lib_wraper_aeeef9211b4ee7d22934db64125b538dd_icgraph.md5 b/docs/API/classxran_lib_wraper_aeeef9211b4ee7d22934db64125b538dd_icgraph.md5 new file mode 100644 index 0000000..71b1019 --- /dev/null +++ b/docs/API/classxran_lib_wraper_aeeef9211b4ee7d22934db64125b538dd_icgraph.md5 @@ -0,0 +1 @@ +4143ac9386eaa0ec87bedff94f780a16 \ No newline at end of file diff --git a/docs/API/classxran_lib_wraper_aeeef9211b4ee7d22934db64125b538dd_icgraph.png b/docs/API/classxran_lib_wraper_aeeef9211b4ee7d22934db64125b538dd_icgraph.png new file mode 100644 index 0000000..db5a361 Binary files /dev/null and b/docs/API/classxran_lib_wraper_aeeef9211b4ee7d22934db64125b538dd_icgraph.png differ diff --git a/docs/API/classxran_lib_wraper_aef8068804ca7393d92edd9ed22d90070_icgraph.map b/docs/API/classxran_lib_wraper_aef8068804ca7393d92edd9ed22d90070_icgraph.map new file mode 100644 index 0000000..3c08179 --- /dev/null +++ b/docs/API/classxran_lib_wraper_aef8068804ca7393d92edd9ed22d90070_icgraph.map @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/API/classxran_lib_wraper_aef8068804ca7393d92edd9ed22d90070_icgraph.md5 b/docs/API/classxran_lib_wraper_aef8068804ca7393d92edd9ed22d90070_icgraph.md5 new file mode 100644 index 0000000..bb8f4d5 --- /dev/null +++ b/docs/API/classxran_lib_wraper_aef8068804ca7393d92edd9ed22d90070_icgraph.md5 @@ -0,0 +1 @@ +570bd1191fbc9c50e098399826c5f8d1 \ No newline at end of file diff --git a/docs/API/classxran_lib_wraper_aef8068804ca7393d92edd9ed22d90070_icgraph.png b/docs/API/classxran_lib_wraper_aef8068804ca7393d92edd9ed22d90070_icgraph.png new file mode 100644 index 0000000..b27d502 Binary files /dev/null and b/docs/API/classxran_lib_wraper_aef8068804ca7393d92edd9ed22d90070_icgraph.png differ diff --git a/docs/API/classxran_lib_wraper_af7c499a1fa8e52a104500d7d01c1a280_cgraph.map b/docs/API/classxran_lib_wraper_af7c499a1fa8e52a104500d7d01c1a280_cgraph.map new file mode 100644 index 0000000..5384edf --- /dev/null +++ b/docs/API/classxran_lib_wraper_af7c499a1fa8e52a104500d7d01c1a280_cgraph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/classxran_lib_wraper_af7c499a1fa8e52a104500d7d01c1a280_cgraph.md5 b/docs/API/classxran_lib_wraper_af7c499a1fa8e52a104500d7d01c1a280_cgraph.md5 new file mode 100644 index 0000000..4eac95b --- /dev/null +++ b/docs/API/classxran_lib_wraper_af7c499a1fa8e52a104500d7d01c1a280_cgraph.md5 @@ -0,0 +1 @@ +2e3dd1ba4f0bb71a6b7fc2bc5e27bcb0 \ No newline at end of file diff --git a/docs/API/classxran_lib_wraper_af7c499a1fa8e52a104500d7d01c1a280_cgraph.png b/docs/API/classxran_lib_wraper_af7c499a1fa8e52a104500d7d01c1a280_cgraph.png new file mode 100644 index 0000000..b9ee112 Binary files /dev/null and b/docs/API/classxran_lib_wraper_af7c499a1fa8e52a104500d7d01c1a280_cgraph.png differ diff --git a/docs/API/classxran_lib_wraper_af7c499a1fa8e52a104500d7d01c1a280_icgraph.map b/docs/API/classxran_lib_wraper_af7c499a1fa8e52a104500d7d01c1a280_icgraph.map new file mode 100644 index 0000000..cba4947 --- /dev/null +++ b/docs/API/classxran_lib_wraper_af7c499a1fa8e52a104500d7d01c1a280_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/classxran_lib_wraper_af7c499a1fa8e52a104500d7d01c1a280_icgraph.md5 b/docs/API/classxran_lib_wraper_af7c499a1fa8e52a104500d7d01c1a280_icgraph.md5 new file mode 100644 index 0000000..81e2b0e --- /dev/null +++ b/docs/API/classxran_lib_wraper_af7c499a1fa8e52a104500d7d01c1a280_icgraph.md5 @@ -0,0 +1 @@ +3f88939a2c6553843694dada909f3141 \ No newline at end of file diff --git a/docs/API/classxran_lib_wraper_af7c499a1fa8e52a104500d7d01c1a280_icgraph.png b/docs/API/classxran_lib_wraper_af7c499a1fa8e52a104500d7d01c1a280_icgraph.png new file mode 100644 index 0000000..423bb74 Binary files /dev/null and b/docs/API/classxran_lib_wraper_af7c499a1fa8e52a104500d7d01c1a280_icgraph.png differ diff --git a/docs/API/classxran_lib_wraper_af9989f7ffd89540fc26371e24a29fefc_cgraph.map b/docs/API/classxran_lib_wraper_af9989f7ffd89540fc26371e24a29fefc_cgraph.map new file mode 100644 index 0000000..0174551 --- /dev/null +++ b/docs/API/classxran_lib_wraper_af9989f7ffd89540fc26371e24a29fefc_cgraph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/classxran_lib_wraper_af9989f7ffd89540fc26371e24a29fefc_cgraph.md5 b/docs/API/classxran_lib_wraper_af9989f7ffd89540fc26371e24a29fefc_cgraph.md5 new file mode 100644 index 0000000..7ec1ab5 --- /dev/null +++ b/docs/API/classxran_lib_wraper_af9989f7ffd89540fc26371e24a29fefc_cgraph.md5 @@ -0,0 +1 @@ +2244478893c78e7af73fd80d05ad6c6a \ No newline at end of file diff --git a/docs/API/classxran_lib_wraper_af9989f7ffd89540fc26371e24a29fefc_cgraph.png b/docs/API/classxran_lib_wraper_af9989f7ffd89540fc26371e24a29fefc_cgraph.png new file mode 100644 index 0000000..d77703a Binary files /dev/null and b/docs/API/classxran_lib_wraper_af9989f7ffd89540fc26371e24a29fefc_cgraph.png differ diff --git a/docs/API/classxran_lib_wraper_af9989f7ffd89540fc26371e24a29fefc_icgraph.map b/docs/API/classxran_lib_wraper_af9989f7ffd89540fc26371e24a29fefc_icgraph.map new file mode 100644 index 0000000..8b0ac88 --- /dev/null +++ b/docs/API/classxran_lib_wraper_af9989f7ffd89540fc26371e24a29fefc_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/classxran_lib_wraper_af9989f7ffd89540fc26371e24a29fefc_icgraph.md5 b/docs/API/classxran_lib_wraper_af9989f7ffd89540fc26371e24a29fefc_icgraph.md5 new file mode 100644 index 0000000..1c68eaf --- /dev/null +++ b/docs/API/classxran_lib_wraper_af9989f7ffd89540fc26371e24a29fefc_icgraph.md5 @@ -0,0 +1 @@ +f4bf15c7165c31dbb11d9863fa2610d1 \ No newline at end of file diff --git a/docs/API/classxran_lib_wraper_af9989f7ffd89540fc26371e24a29fefc_icgraph.png b/docs/API/classxran_lib_wraper_af9989f7ffd89540fc26371e24a29fefc_icgraph.png new file mode 100644 index 0000000..8c66fcc Binary files /dev/null and b/docs/API/classxran_lib_wraper_af9989f7ffd89540fc26371e24a29fefc_icgraph.png differ diff --git a/docs/API/closed.png b/docs/API/closed.png new file mode 100644 index 0000000..98cc2c9 Binary files /dev/null and b/docs/API/closed.png differ diff --git a/docs/API/common_8c.html b/docs/API/common_8c.html new file mode 100644 index 0000000..6aab094 --- /dev/null +++ b/docs/API/common_8c.html @@ -0,0 +1,1568 @@ + + + + + + + +o-du/phy: common.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
common.c File Reference
+
+
+
#include <assert.h>
+#include <err.h>
+#include <arpa/inet.h>
+#include <sys/time.h>
+#include <time.h>
+#include "common.h"
+#include "xran_fh_o_du.h"
+#include "xran_pkt.h"
+#include "xran_pkt_up.h"
+#include "xran_cp_api.h"
+#include "xran_up_api.h"
+#include "xran_mlog_lnx.h"
+
+Include dependency graph for common.c:
+
+
+ + + + + + + + + + + +
+
+

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

uint32_t app_xran_get_tti_interval (uint8_t nMu)
 
uint32_t app_xran_get_scs (uint8_t nMu)
 
uint16_t app_xran_get_num_rbs (uint32_t nNumerology, uint32_t nBandwidth, uint32_t nAbsFrePointA)
 
uint32_t app_xran_cal_nrarfcn (uint32_t nCenterFreq)
 
int32_t app_xran_slot_limit (int32_t nSfIdx)
 
void app_xran_clear_slot_type (uint32_t nPhyInstanceId)
 
int32_t app_xran_set_slot_type (uint32_t nPhyInstanceId, uint32_t nFrameDuplexType, uint32_t nTddPeriod, struct xran_slot_config *psSlotConfig)
 
int32_t app_xran_get_slot_type (int32_t nCellIdx, int32_t nSlotdx, int32_t nType)
 
void sys_save_buf_to_file (char *filename, char *bufname, unsigned char *pBuffer, unsigned int size, unsigned int buffers_num)
 
int sys_load_file_to_buff (char *filename, char *bufname, unsigned char *pBuffer, unsigned int size, unsigned int buffers_num)
 
void sys_save_buf_to_file_txt (char *filename, char *bufname, unsigned char *pBuffer, unsigned int size, unsigned int buffers_num)
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Variables

enum app_state state
 
int iq_playback_buffer_size_dl = IQ_PLAYBACK_BUFFER_BYTES
 
int iq_playback_buffer_size_ul = IQ_PLAYBACK_BUFFER_BYTES
 
int iq_bfw_buffer_size_dl = IQ_PLAYBACK_BUFFER_BYTES
 
int iq_bfw_buffer_size_ul = IQ_PLAYBACK_BUFFER_BYTES
 
int iq_srs_buffer_size_ul = IQ_PLAYBACK_BUFFER_BYTES
 
uint8_t numCCPorts = 1
 
uint8_t num_eAxc = 4
 
int16_t * p_tx_play_buffer [MAX_ANT_CARRIER_SUPPORTED]
 
int32_t tx_play_buffer_size [MAX_ANT_CARRIER_SUPPORTED]
 
int32_t tx_play_buffer_position [MAX_ANT_CARRIER_SUPPORTED]
 
int16_t * p_tx_prach_play_buffer [MAX_ANT_CARRIER_SUPPORTED]
 
int32_t tx_prach_play_buffer_size [MAX_ANT_CARRIER_SUPPORTED]
 
int32_t tx_prach_play_buffer_position [MAX_ANT_CARRIER_SUPPORTED]
 
int16_t * p_tx_srs_play_buffer [XRAN_MAX_SECTOR_NR *XRAN_MAX_ANT_ARRAY_ELM_NR]
 
int32_t tx_srs_play_buffer_size [XRAN_MAX_SECTOR_NR *XRAN_MAX_ANT_ARRAY_ELM_NR]
 
int32_t tx_srs_play_buffer_position [XRAN_MAX_SECTOR_NR *XRAN_MAX_ANT_ARRAY_ELM_NR]
 
int16_t * p_rx_log_buffer [MAX_ANT_CARRIER_SUPPORTED]
 
int32_t rx_log_buffer_size [MAX_ANT_CARRIER_SUPPORTED]
 
int32_t rx_log_buffer_position [MAX_ANT_CARRIER_SUPPORTED]
 
int16_t * p_prach_log_buffer [MAX_ANT_CARRIER_SUPPORTED]
 
int32_t prach_log_buffer_size [MAX_ANT_CARRIER_SUPPORTED]
 
int32_t prach_log_buffer_position [MAX_ANT_CARRIER_SUPPORTED]
 
int16_t * p_srs_log_buffer [XRAN_MAX_SECTOR_NR *XRAN_MAX_ANT_ARRAY_ELM_NR]
 
int32_t srs_log_buffer_size [XRAN_MAX_SECTOR_NR *XRAN_MAX_ANT_ARRAY_ELM_NR]
 
int32_t srs_log_buffer_position [XRAN_MAX_SECTOR_NR *XRAN_MAX_ANT_ARRAY_ELM_NR]
 
int16_t * p_tx_buffer [MAX_ANT_CARRIER_SUPPORTED]
 
int32_t tx_buffer_size [MAX_ANT_CARRIER_SUPPORTED]
 
int16_t * p_rx_buffer [MAX_ANT_CARRIER_SUPPORTED]
 
int32_t rx_buffer_size [MAX_ANT_CARRIER_SUPPORTED]
 
int16_t * p_tx_dl_bfw_buffer [MAX_ANT_CARRIER_SUPPORTED]
 
int32_t tx_dl_bfw_buffer_size [MAX_ANT_CARRIER_SUPPORTED]
 
int32_t tx_dl_bfw_buffer_position [MAX_ANT_CARRIER_SUPPORTED]
 
int16_t * p_tx_ul_bfw_buffer [MAX_ANT_CARRIER_SUPPORTED]
 
int32_t tx_ul_bfw_buffer_size [MAX_ANT_CARRIER_SUPPORTED]
 
int32_t tx_ul_bfw_buffer_position [MAX_ANT_CARRIER_SUPPORTED]
 
int16_t * p_rx_dl_bfw_buffer [MAX_ANT_CARRIER_SUPPORTED]
 
int32_t rx_dl_bfw_buffer_size [MAX_ANT_CARRIER_SUPPORTED]
 
int32_t rx_dl_bfw_buffer_position [MAX_ANT_CARRIER_SUPPORTED]
 
int16_t * p_rx_ul_bfw_buffer [MAX_ANT_CARRIER_SUPPORTED]
 
int32_t rx_ul_bfw_buffer_size [MAX_ANT_CARRIER_SUPPORTED]
 
int32_t rx_ul_bfw_buffer_position [MAX_ANT_CARRIER_SUPPORTED]
 
uint16_t nNumRbsPerSymF1 [3][13]
 
uint16_t nNumRbsPerSymF2 [2][4]
 
uint16_t nSubCarrierSpacing [5]
 
uint16_t nTtiInterval [4]
 
uint16_t nCpSizeF1 [3][13][2]
 
int16_t nCpSizeF2 [2][4][2]
 
uint32_t gMaxSlotNum
 
uint32_t gNumDLCtx
 
uint32_t gNumULCtx
 
uint32_t gDLResetAdvance
 
uint32_t gDLProcAdvance
 
uint32_t gULProcAdvance
 
float g_UlRate [XRAN_MAX_SECTOR_NR] = {0.0}
 
float g_DlRate [XRAN_MAX_SECTOR_NR] = {0.0}
 
+

Function Documentation

+ +

◆ app_xran_cal_nrarfcn()

+ +
+
+ + + + + + + + +
uint32_t app_xran_cal_nrarfcn (uint32_t nCenterFreq)
+
+
Parameters
+ + +
[in]centerfrequency
+
+
+
Returns
NR-ARFCN
+

This calculates NR-ARFCN value according to center frequency

+ +

Definition at line 338 of file common.c.

+ +
+
+ +

◆ app_xran_clear_slot_type()

+ +
+
+ + + + + + + + +
void app_xran_clear_slot_type (uint32_t nPhyInstanceId)
+
+ +

Definition at line 386 of file common.c.

+ +
+
+ +

◆ app_xran_get_num_rbs()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
uint16_t app_xran_get_num_rbs (uint32_t nNumerology,
uint32_t nBandwidth,
uint32_t nAbsFrePointA 
)
+
+
Parameters
+ + + + +
[in]nNumerology- Numerology determine sub carrier spacing, Value: 0->4 0: 15khz, 1: 30khz, 2: 60khz 3: 120khz, 4: 240khz
[in]nBandwidth- Carrier bandwidth for in MHz. Value: 5->400
[in]nAbsFrePointA- Abs Freq Point A of the Carrier Center Frequency for in KHz Value: 450000->52600000
+
+
+
Returns
Number of RBs in cell
+

Returns number of RBs based on 38.101-1 and 38.101-2 for the cell

+ +

Definition at line 213 of file common.c.

+ +
+
+ +

◆ app_xran_get_scs()

+ +
+
+ + + + + + + + +
uint32_t app_xran_get_scs (uint8_t nMu)
+
+ +

Definition at line 182 of file common.c.

+ +
+
+ +

◆ app_xran_get_slot_type()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
int32_t app_xran_get_slot_type (int32_t nCellIdx,
int32_t nSlotdx,
int32_t nType 
)
+
+ +

Definition at line 517 of file common.c.

+
+Here is the call graph for this function:
+
+
+ + + +
+ +
+
+ +

◆ app_xran_get_tti_interval()

+ +
+
+ + + + + + + + +
uint32_t app_xran_get_tti_interval (uint8_t nMu)
+
+ +

Definition at line 168 of file common.c.

+ +
+
+ +

◆ app_xran_set_slot_type()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int32_t app_xran_set_slot_type (uint32_t nPhyInstanceId,
uint32_t nFrameDuplexType,
uint32_t nTddPeriod,
struct xran_slot_configpsSlotConfig 
)
+
+ +

Definition at line 393 of file common.c.

+ +
+
+ +

◆ app_xran_slot_limit()

+ +
+
+ + + + + + + + +
int32_t app_xran_slot_limit (int32_t nSfIdx)
+
+ +

Definition at line 373 of file common.c.

+
+Here is the caller graph for this function:
+
+
+ + + +
+ +
+
+ +

◆ sys_load_file_to_buff()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int sys_load_file_to_buff (char * filename,
char * bufname,
unsigned char * pBuffer,
unsigned int size,
unsigned int buffers_num 
)
+
+ +

Definition at line 584 of file common.c.

+
+Here is the call graph for this function:
+
+
+ + + +
+ +
+
+ +

◆ sys_save_buf_to_file()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void sys_save_buf_to_file (char * filename,
char * bufname,
unsigned char * pBuffer,
unsigned int size,
unsigned int buffers_num 
)
+
+ +

Definition at line 550 of file common.c.

+
+Here is the call graph for this function:
+
+
+ + + + +
+ +
+
+ +

◆ sys_save_buf_to_file_txt()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void sys_save_buf_to_file_txt (char * filename,
char * bufname,
unsigned char * pBuffer,
unsigned int size,
unsigned int buffers_num 
)
+
+

2 * 2 * 2

+ +

Definition at line 635 of file common.c.

+
+Here is the call graph for this function:
+
+
+ + + +
+ +
+
+

Variable Documentation

+ +

◆ g_DlRate

+ +
+
+ + + + +
float g_DlRate[XRAN_MAX_SECTOR_NR] = {0.0}
+
+ +

Definition at line 166 of file common.c.

+ +
+
+ +

◆ g_UlRate

+ +
+
+ + + + +
float g_UlRate[XRAN_MAX_SECTOR_NR] = {0.0}
+
+ +

Definition at line 165 of file common.c.

+ +
+
+ +

◆ gDLProcAdvance

+ +
+
+ + + + +
uint32_t gDLProcAdvance
+
+ +

Definition at line 158 of file common.c.

+ +
+
+ +

◆ gDLResetAdvance

+ +
+
+ + + + +
uint32_t gDLResetAdvance
+
+ +

Definition at line 157 of file common.c.

+ +
+
+ +

◆ gMaxSlotNum

+ +
+
+ + + + +
uint32_t gMaxSlotNum
+
+ +

Definition at line 154 of file common.c.

+ +
+
+ +

◆ gNumDLCtx

+ +
+
+ + + + +
uint32_t gNumDLCtx
+
+ +

Definition at line 155 of file common.c.

+ +
+
+ +

◆ gNumULCtx

+ +
+
+ + + + +
uint32_t gNumULCtx
+
+ +

Definition at line 156 of file common.c.

+ +
+
+ +

◆ gULProcAdvance

+ +
+
+ + + + +
uint32_t gULProcAdvance
+
+ +

Definition at line 159 of file common.c.

+ +
+
+ +

◆ iq_bfw_buffer_size_dl

+ +
+
+ + + + +
int iq_bfw_buffer_size_dl = IQ_PLAYBACK_BUFFER_BYTES
+
+ +

Definition at line 39 of file common.c.

+ +
+
+ +

◆ iq_bfw_buffer_size_ul

+ +
+
+ + + + +
int iq_bfw_buffer_size_ul = IQ_PLAYBACK_BUFFER_BYTES
+
+ +

Definition at line 40 of file common.c.

+ +
+
+ +

◆ iq_playback_buffer_size_dl

+ +
+
+ + + + +
int iq_playback_buffer_size_dl = IQ_PLAYBACK_BUFFER_BYTES
+
+ +

Definition at line 36 of file common.c.

+ +
+
+ +

◆ iq_playback_buffer_size_ul

+ +
+
+ + + + +
int iq_playback_buffer_size_ul = IQ_PLAYBACK_BUFFER_BYTES
+
+ +

Definition at line 37 of file common.c.

+ +
+
+ +

◆ iq_srs_buffer_size_ul

+ +
+
+ + + + +
int iq_srs_buffer_size_ul = IQ_PLAYBACK_BUFFER_BYTES
+
+ +

Definition at line 42 of file common.c.

+ +
+
+ +

◆ nCpSizeF1

+ +
+
+ + + + +
uint16_t nCpSizeF1[3][13][2]
+
+Initial value:
=
{
{{40, 36}, {80, 72}, {120, 108}, {160, 144}, {160, 144}, {240, 216}, {320, 288}, {320, 288}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}},
{{22, 18}, {44, 36}, {66, 54}, {88, 72}, {88, 72}, {132, 108}, {176, 144}, {176, 144}, {264, 216}, {264, 216}, {352, 288}, {352, 288}, {352, 288}},
{ {0, 0}, {26, 18}, {39, 27}, {52, 36}, {52, 36}, {78, 54}, {104, 72}, {104, 72}, {156, 108}, {156, 108}, {208, 144}, {208, 144}, {208, 144}},
}
+

Definition at line 138 of file common.c.

+ +
+
+ +

◆ nCpSizeF2

+ +
+
+ + + + +
int16_t nCpSizeF2[2][4][2]
+
+Initial value:
=
{
{ {0, 0}, {104, 72}, {208, 144}, {416, 288}},
{{68, 36}, {136, 72}, {272, 144}, {544, 288}},
}
+

Definition at line 147 of file common.c.

+ +
+
+ +

◆ nNumRbsPerSymF1

+ +
+
+ + + + +
uint16_t nNumRbsPerSymF1[3][13]
+
+Initial value:
=
{
{25, 52, 79, 106, 133, 160, 216, 270, 0, 0, 0, 0, 0},
{11, 24, 38, 51, 65, 78, 106, 133, 162, 0, 217, 245, 273},
{0, 11, 18, 24, 31, 38, 51, 65, 79, 0, 107, 121, 135}
}
+

Definition at line 101 of file common.c.

+ +
+
+ +

◆ nNumRbsPerSymF2

+ +
+
+ + + + +
uint16_t nNumRbsPerSymF2[2][4]
+
+Initial value:
=
{
{66, 132, 264, 0},
{32, 66, 132, 264}
}
+

Definition at line 110 of file common.c.

+ +
+
+ +

◆ nSubCarrierSpacing

+ +
+
+ + + + +
uint16_t nSubCarrierSpacing[5]
+
+Initial value:
=
{
15,
30,
60,
120,
240
}
+

Definition at line 118 of file common.c.

+ +
+
+ +

◆ nTtiInterval

+ +
+
+ + + + +
uint16_t nTtiInterval[4]
+
+Initial value:
=
{
1000,
500,
250,
125,
}
+

Definition at line 128 of file common.c.

+ +
+
+ +

◆ num_eAxc

+ +
+
+ + + + +
uint8_t num_eAxc = 4
+
+ +

Definition at line 47 of file common.c.

+ +
+
+ +

◆ numCCPorts

+ +
+
+ + + + +
uint8_t numCCPorts = 1
+
+ +

Definition at line 44 of file common.c.

+ +
+
+ +

◆ p_prach_log_buffer

+ +
+
+ + + + +
int16_t* p_prach_log_buffer[MAX_ANT_CARRIER_SUPPORTED]
+
+ +

Definition at line 66 of file common.c.

+ +
+
+ +

◆ p_rx_buffer

+ +
+
+ + + + +
int16_t* p_rx_buffer[MAX_ANT_CARRIER_SUPPORTED]
+
+ +

Definition at line 77 of file common.c.

+ +
+
+ +

◆ p_rx_dl_bfw_buffer

+ +
+
+ + + + +
int16_t* p_rx_dl_bfw_buffer[MAX_ANT_CARRIER_SUPPORTED]
+
+ +

Definition at line 91 of file common.c.

+ +
+
+ +

◆ p_rx_log_buffer

+ +
+
+ + + + +
int16_t* p_rx_log_buffer[MAX_ANT_CARRIER_SUPPORTED]
+
+ +

Definition at line 62 of file common.c.

+ +
+
+ +

◆ p_rx_ul_bfw_buffer

+ +
+
+ + + + +
int16_t* p_rx_ul_bfw_buffer[MAX_ANT_CARRIER_SUPPORTED]
+
+ +

Definition at line 96 of file common.c.

+ +
+
+ +

◆ p_srs_log_buffer

+ +
+
+ + + + +
int16_t* p_srs_log_buffer[XRAN_MAX_SECTOR_NR *XRAN_MAX_ANT_ARRAY_ELM_NR]
+
+ +

Definition at line 70 of file common.c.

+ +
+
+ +

◆ p_tx_buffer

+ +
+
+ + + + +
int16_t* p_tx_buffer[MAX_ANT_CARRIER_SUPPORTED]
+
+ +

Definition at line 74 of file common.c.

+ +
+
+ +

◆ p_tx_dl_bfw_buffer

+ +
+
+ + + + +
int16_t* p_tx_dl_bfw_buffer[MAX_ANT_CARRIER_SUPPORTED]
+
+ +

Definition at line 81 of file common.c.

+ +
+
+ +

◆ p_tx_play_buffer

+ +
+
+ + + + +
int16_t* p_tx_play_buffer[MAX_ANT_CARRIER_SUPPORTED]
+
+ +

Definition at line 50 of file common.c.

+ +
+
+ +

◆ p_tx_prach_play_buffer

+ +
+
+ + + + +
int16_t* p_tx_prach_play_buffer[MAX_ANT_CARRIER_SUPPORTED]
+
+ +

Definition at line 54 of file common.c.

+ +
+
+ +

◆ p_tx_srs_play_buffer

+ +
+
+ + + + +
int16_t* p_tx_srs_play_buffer[XRAN_MAX_SECTOR_NR *XRAN_MAX_ANT_ARRAY_ELM_NR]
+
+ +

Definition at line 58 of file common.c.

+ +
+
+ +

◆ p_tx_ul_bfw_buffer

+ +
+
+ + + + +
int16_t* p_tx_ul_bfw_buffer[MAX_ANT_CARRIER_SUPPORTED]
+
+ +

Definition at line 86 of file common.c.

+ +
+
+ +

◆ prach_log_buffer_position

+ +
+
+ + + + +
int32_t prach_log_buffer_position[MAX_ANT_CARRIER_SUPPORTED]
+
+ +

Definition at line 68 of file common.c.

+ +
+
+ +

◆ prach_log_buffer_size

+ +
+
+ + + + +
int32_t prach_log_buffer_size[MAX_ANT_CARRIER_SUPPORTED]
+
+ +

Definition at line 67 of file common.c.

+ +
+
+ +

◆ rx_buffer_size

+ +
+
+ + + + +
int32_t rx_buffer_size[MAX_ANT_CARRIER_SUPPORTED]
+
+ +

Definition at line 78 of file common.c.

+ +
+
+ +

◆ rx_dl_bfw_buffer_position

+ +
+
+ + + + +
int32_t rx_dl_bfw_buffer_position[MAX_ANT_CARRIER_SUPPORTED]
+
+ +

Definition at line 93 of file common.c.

+ +
+
+ +

◆ rx_dl_bfw_buffer_size

+ +
+
+ + + + +
int32_t rx_dl_bfw_buffer_size[MAX_ANT_CARRIER_SUPPORTED]
+
+ +

Definition at line 92 of file common.c.

+ +
+
+ +

◆ rx_log_buffer_position

+ +
+
+ + + + +
int32_t rx_log_buffer_position[MAX_ANT_CARRIER_SUPPORTED]
+
+ +

Definition at line 64 of file common.c.

+ +
+
+ +

◆ rx_log_buffer_size

+ +
+
+ + + + +
int32_t rx_log_buffer_size[MAX_ANT_CARRIER_SUPPORTED]
+
+ +

Definition at line 63 of file common.c.

+ +
+
+ +

◆ rx_ul_bfw_buffer_position

+ +
+
+ + + + +
int32_t rx_ul_bfw_buffer_position[MAX_ANT_CARRIER_SUPPORTED]
+
+ +

Definition at line 98 of file common.c.

+ +
+
+ +

◆ rx_ul_bfw_buffer_size

+ +
+
+ + + + +
int32_t rx_ul_bfw_buffer_size[MAX_ANT_CARRIER_SUPPORTED]
+
+ +

Definition at line 97 of file common.c.

+ +
+
+ +

◆ srs_log_buffer_position

+ +
+
+ + + + +
int32_t srs_log_buffer_position[XRAN_MAX_SECTOR_NR *XRAN_MAX_ANT_ARRAY_ELM_NR]
+
+ +

Definition at line 72 of file common.c.

+ +
+
+ +

◆ srs_log_buffer_size

+ +
+
+ + + + +
int32_t srs_log_buffer_size[XRAN_MAX_SECTOR_NR *XRAN_MAX_ANT_ARRAY_ELM_NR]
+
+ +

Definition at line 71 of file common.c.

+ +
+
+ +

◆ state

+ +
+
+ + + + +
enum app_state state
+
+ +

Definition at line 62 of file sample-app.c.

+ +
+
+ +

◆ tx_buffer_size

+ +
+
+ + + + +
int32_t tx_buffer_size[MAX_ANT_CARRIER_SUPPORTED]
+
+ +

Definition at line 75 of file common.c.

+ +
+
+ +

◆ tx_dl_bfw_buffer_position

+ +
+
+ + + + +
int32_t tx_dl_bfw_buffer_position[MAX_ANT_CARRIER_SUPPORTED]
+
+ +

Definition at line 83 of file common.c.

+ +
+
+ +

◆ tx_dl_bfw_buffer_size

+ +
+
+ + + + +
int32_t tx_dl_bfw_buffer_size[MAX_ANT_CARRIER_SUPPORTED]
+
+ +

Definition at line 82 of file common.c.

+ +
+
+ +

◆ tx_play_buffer_position

+ +
+
+ + + + +
int32_t tx_play_buffer_position[MAX_ANT_CARRIER_SUPPORTED]
+
+ +

Definition at line 52 of file common.c.

+ +
+
+ +

◆ tx_play_buffer_size

+ +
+
+ + + + +
int32_t tx_play_buffer_size[MAX_ANT_CARRIER_SUPPORTED]
+
+ +

Definition at line 51 of file common.c.

+ +
+
+ +

◆ tx_prach_play_buffer_position

+ +
+
+ + + + +
int32_t tx_prach_play_buffer_position[MAX_ANT_CARRIER_SUPPORTED]
+
+ +

Definition at line 56 of file common.c.

+ +
+
+ +

◆ tx_prach_play_buffer_size

+ +
+
+ + + + +
int32_t tx_prach_play_buffer_size[MAX_ANT_CARRIER_SUPPORTED]
+
+ +

Definition at line 55 of file common.c.

+ +
+
+ +

◆ tx_srs_play_buffer_position

+ +
+
+ + + + +
int32_t tx_srs_play_buffer_position[XRAN_MAX_SECTOR_NR *XRAN_MAX_ANT_ARRAY_ELM_NR]
+
+ +

Definition at line 60 of file common.c.

+ +
+
+ +

◆ tx_srs_play_buffer_size

+ +
+
+ + + + +
int32_t tx_srs_play_buffer_size[XRAN_MAX_SECTOR_NR *XRAN_MAX_ANT_ARRAY_ELM_NR]
+
+ +

Definition at line 59 of file common.c.

+ +
+
+ +

◆ tx_ul_bfw_buffer_position

+ +
+
+ + + + +
int32_t tx_ul_bfw_buffer_position[MAX_ANT_CARRIER_SUPPORTED]
+
+ +

Definition at line 88 of file common.c.

+ +
+
+ +

◆ tx_ul_bfw_buffer_size

+ +
+
+ + + + +
int32_t tx_ul_bfw_buffer_size[MAX_ANT_CARRIER_SUPPORTED]
+
+ +

Definition at line 87 of file common.c.

+ +
+
+
+ + + + diff --git a/docs/API/common_8c__incl.map b/docs/API/common_8c__incl.map new file mode 100644 index 0000000..0393b43 --- /dev/null +++ b/docs/API/common_8c__incl.map @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/docs/API/common_8c__incl.md5 b/docs/API/common_8c__incl.md5 new file mode 100644 index 0000000..a4b0464 --- /dev/null +++ b/docs/API/common_8c__incl.md5 @@ -0,0 +1 @@ +a2da845b460020ffb2500e867472e68e \ No newline at end of file diff --git a/docs/API/common_8c__incl.png b/docs/API/common_8c__incl.png new file mode 100644 index 0000000..e116573 Binary files /dev/null and b/docs/API/common_8c__incl.png differ diff --git a/docs/API/common_8c_a0c617a0804e2a4eda51b402b03922dc2_cgraph.map b/docs/API/common_8c_a0c617a0804e2a4eda51b402b03922dc2_cgraph.map new file mode 100644 index 0000000..b756ebf --- /dev/null +++ b/docs/API/common_8c_a0c617a0804e2a4eda51b402b03922dc2_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/common_8c_a0c617a0804e2a4eda51b402b03922dc2_cgraph.md5 b/docs/API/common_8c_a0c617a0804e2a4eda51b402b03922dc2_cgraph.md5 new file mode 100644 index 0000000..2ace627 --- /dev/null +++ b/docs/API/common_8c_a0c617a0804e2a4eda51b402b03922dc2_cgraph.md5 @@ -0,0 +1 @@ +25ee34b3ceb4a82e910171e057a4503b \ No newline at end of file diff --git a/docs/API/common_8c_a0c617a0804e2a4eda51b402b03922dc2_cgraph.png b/docs/API/common_8c_a0c617a0804e2a4eda51b402b03922dc2_cgraph.png new file mode 100644 index 0000000..59f48b0 Binary files /dev/null and b/docs/API/common_8c_a0c617a0804e2a4eda51b402b03922dc2_cgraph.png differ diff --git a/docs/API/common_8c_a2b515e829520e3af448a4d00d22de161_icgraph.map b/docs/API/common_8c_a2b515e829520e3af448a4d00d22de161_icgraph.map new file mode 100644 index 0000000..f332a5e --- /dev/null +++ b/docs/API/common_8c_a2b515e829520e3af448a4d00d22de161_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/common_8c_a2b515e829520e3af448a4d00d22de161_icgraph.md5 b/docs/API/common_8c_a2b515e829520e3af448a4d00d22de161_icgraph.md5 new file mode 100644 index 0000000..5433adb --- /dev/null +++ b/docs/API/common_8c_a2b515e829520e3af448a4d00d22de161_icgraph.md5 @@ -0,0 +1 @@ +29563b7776d39d73cf42e1c0f11c1515 \ No newline at end of file diff --git a/docs/API/common_8c_a2b515e829520e3af448a4d00d22de161_icgraph.png b/docs/API/common_8c_a2b515e829520e3af448a4d00d22de161_icgraph.png new file mode 100644 index 0000000..9e9e51c Binary files /dev/null and b/docs/API/common_8c_a2b515e829520e3af448a4d00d22de161_icgraph.png differ diff --git a/docs/API/common_8c_a8f27f0a8b6843f5e32ecbce83d487262_cgraph.map b/docs/API/common_8c_a8f27f0a8b6843f5e32ecbce83d487262_cgraph.map new file mode 100644 index 0000000..c44543e --- /dev/null +++ b/docs/API/common_8c_a8f27f0a8b6843f5e32ecbce83d487262_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/common_8c_a8f27f0a8b6843f5e32ecbce83d487262_cgraph.md5 b/docs/API/common_8c_a8f27f0a8b6843f5e32ecbce83d487262_cgraph.md5 new file mode 100644 index 0000000..0b2e15a --- /dev/null +++ b/docs/API/common_8c_a8f27f0a8b6843f5e32ecbce83d487262_cgraph.md5 @@ -0,0 +1 @@ +9e04217a98face7050007982e1a09707 \ No newline at end of file diff --git a/docs/API/common_8c_a8f27f0a8b6843f5e32ecbce83d487262_cgraph.png b/docs/API/common_8c_a8f27f0a8b6843f5e32ecbce83d487262_cgraph.png new file mode 100644 index 0000000..aebb342 Binary files /dev/null and b/docs/API/common_8c_a8f27f0a8b6843f5e32ecbce83d487262_cgraph.png differ diff --git a/docs/API/common_8c_ab022cdd736a497eb5cfa7d5dcab0634c_cgraph.map b/docs/API/common_8c_ab022cdd736a497eb5cfa7d5dcab0634c_cgraph.map new file mode 100644 index 0000000..c88c292 --- /dev/null +++ b/docs/API/common_8c_ab022cdd736a497eb5cfa7d5dcab0634c_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/common_8c_ab022cdd736a497eb5cfa7d5dcab0634c_cgraph.md5 b/docs/API/common_8c_ab022cdd736a497eb5cfa7d5dcab0634c_cgraph.md5 new file mode 100644 index 0000000..3068dce --- /dev/null +++ b/docs/API/common_8c_ab022cdd736a497eb5cfa7d5dcab0634c_cgraph.md5 @@ -0,0 +1 @@ +f35a8885997eb2649489b566d8b8f9f1 \ No newline at end of file diff --git a/docs/API/common_8c_ab022cdd736a497eb5cfa7d5dcab0634c_cgraph.png b/docs/API/common_8c_ab022cdd736a497eb5cfa7d5dcab0634c_cgraph.png new file mode 100644 index 0000000..3ee2058 Binary files /dev/null and b/docs/API/common_8c_ab022cdd736a497eb5cfa7d5dcab0634c_cgraph.png differ diff --git a/docs/API/common_8c_acd37223937d89e77a1ccbdc6e94b38cc_cgraph.map b/docs/API/common_8c_acd37223937d89e77a1ccbdc6e94b38cc_cgraph.map new file mode 100644 index 0000000..c41af8a --- /dev/null +++ b/docs/API/common_8c_acd37223937d89e77a1ccbdc6e94b38cc_cgraph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/common_8c_acd37223937d89e77a1ccbdc6e94b38cc_cgraph.md5 b/docs/API/common_8c_acd37223937d89e77a1ccbdc6e94b38cc_cgraph.md5 new file mode 100644 index 0000000..d5be0d3 --- /dev/null +++ b/docs/API/common_8c_acd37223937d89e77a1ccbdc6e94b38cc_cgraph.md5 @@ -0,0 +1 @@ +93c0c4766681df87d5150ba92ed4c823 \ No newline at end of file diff --git a/docs/API/common_8c_acd37223937d89e77a1ccbdc6e94b38cc_cgraph.png b/docs/API/common_8c_acd37223937d89e77a1ccbdc6e94b38cc_cgraph.png new file mode 100644 index 0000000..ca7699b Binary files /dev/null and b/docs/API/common_8c_acd37223937d89e77a1ccbdc6e94b38cc_cgraph.png differ diff --git a/docs/API/common_8c_source.html b/docs/API/common_8c_source.html new file mode 100644 index 0000000..f062cf8 --- /dev/null +++ b/docs/API/common_8c_source.html @@ -0,0 +1,187 @@ + + + + + + + +o-du/phy: common.c Source File + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
common.c
+
+
+Go to the documentation of this file.
1 /******************************************************************************
2 *
3 * Copyright (c) 2019 Intel.
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 *
17 *******************************************************************************/
18 
19 #include <assert.h>
20 #include <err.h>
21 #include <arpa/inet.h>
22 #include <sys/time.h>
23 #include <time.h>
24 
25 #include "common.h"
26 #include "xran_fh_o_du.h"
27 #include "xran_pkt.h"
28 #include "xran_pkt_up.h"
29 #include "xran_cp_api.h"
30 #include "xran_up_api.h"
31 
32 #include "xran_mlog_lnx.h"
33 
34 extern enum app_state state;
35 
38 
41 
43 
44 uint8_t numCCPorts = 1;
45 /* Number of antennas supported by front-end */
46 
47 uint8_t num_eAxc = 4;
48 /* Number of CPRI ports supported by front-end */
49 
53 
57 
61 
65 
69 
73 
76 
79 
80 /* beamforming weights for UL (O-DU) */
84 
85 /* beamforming weights for UL (O-DU) */
89 
90 /* beamforming weights for UL (O-RU) */
94 
95 /* beamforming weights for UL (O-RU) */
99 
100 // F1 Tables 38.101-1 Table 5.3.2-1. Maximum transmission bandwidth configuration NRB
101 uint16_t nNumRbsPerSymF1[3][13] =
102 {
103  // 5MHz 10MHz 15MHz 20 MHz 25 MHz 30 MHz 40 MHz 50MHz 60 MHz 70 MHz 80 MHz 90 MHz 100 MHz
104  {25, 52, 79, 106, 133, 160, 216, 270, 0, 0, 0, 0, 0}, // Numerology 0 (15KHz)
105  {11, 24, 38, 51, 65, 78, 106, 133, 162, 0, 217, 245, 273}, // Numerology 1 (30KHz)
106  {0, 11, 18, 24, 31, 38, 51, 65, 79, 0, 107, 121, 135} // Numerology 2 (60KHz)
107 };
108 
109 // F2 Tables 38.101-2 Table 5.3.2-1. Maximum transmission bandwidth configuration NRB
110 uint16_t nNumRbsPerSymF2[2][4] =
111 {
112  // 50Mhz 100MHz 200MHz 400MHz
113  {66, 132, 264, 0}, // Numerology 2 (60KHz)
114  {32, 66, 132, 264} // Numerology 3 (120KHz)
115 };
116 
117 // 38.211 - Table 4.2.1
118 uint16_t nSubCarrierSpacing[5] =
119 {
120  15, // mu = 0
121  30, // mu = 1
122  60, // mu = 2
123  120, // mu = 3
124  240 // mu = 4
125 };
126 
127 // TTI interval in us (slot duration)
128 uint16_t nTtiInterval[4] =
129 {
130  1000, // mu = 0
131  500, // mu = 1
132  250, // mu = 2
133  125, // mu = 3
134 };
135 
136 
137 // F1 Tables 38.101-1 Table F.5.3. Window length for normal CP
138 uint16_t nCpSizeF1[3][13][2] =
139 {
140  // 5MHz 10MHz 15MHz 20 MHz 25 MHz 30 MHz 40 MHz 50MHz 60 MHz 70 MHz 80 MHz 90 MHz 100 MHz
141  {{40, 36}, {80, 72}, {120, 108}, {160, 144}, {160, 144}, {240, 216}, {320, 288}, {320, 288}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}}, // Numerology 0 (15KHz)
142  {{22, 18}, {44, 36}, {66, 54}, {88, 72}, {88, 72}, {132, 108}, {176, 144}, {176, 144}, {264, 216}, {264, 216}, {352, 288}, {352, 288}, {352, 288}}, // Numerology 1 (30KHz)
143  { {0, 0}, {26, 18}, {39, 27}, {52, 36}, {52, 36}, {78, 54}, {104, 72}, {104, 72}, {156, 108}, {156, 108}, {208, 144}, {208, 144}, {208, 144}}, // Numerology 2 (60KHz)
144 };
145 
146 // F2 Tables 38.101-2 Table F.5.3. Window length for normal CP
147 int16_t nCpSizeF2[2][4][2] =
148 {
149  // 50Mhz 100MHz 200MHz 400MHz
150  { {0, 0}, {104, 72}, {208, 144}, {416, 288}}, // Numerology 2 (60KHz)
151  {{68, 36}, {136, 72}, {272, 144}, {544, 288}}, // Numerology 3 (120KHz)
152 };
153 
154 uint32_t gMaxSlotNum;
155 uint32_t gNumDLCtx;
156 uint32_t gNumULCtx;
158 uint32_t gDLProcAdvance;
159 uint32_t gULProcAdvance;
160 
161 static uint16_t g_NumSlotTDDLoop[XRAN_MAX_SECTOR_NR] = { XRAN_NUM_OF_SLOT_IN_TDD_LOOP };
162 static uint16_t g_NumDLSymSp[XRAN_MAX_SECTOR_NR][XRAN_NUM_OF_SLOT_IN_TDD_LOOP] = {0};
163 static uint16_t g_NumULSymSp[XRAN_MAX_SECTOR_NR][XRAN_NUM_OF_SLOT_IN_TDD_LOOP] = {0};
167 
168 uint32_t app_xran_get_tti_interval(uint8_t nMu)
169 {
170  if (nMu < 4)
171  {
172  return nTtiInterval[nMu];
173  }
174  else
175  {
176  printf("ERROR: %s Mu[%d] is not valid\n",__FUNCTION__, nMu);
177  }
178 
179  return 0;
180 }
181 
182 uint32_t app_xran_get_scs(uint8_t nMu)
183 {
184  if (nMu <= 3)
185  {
186  return nSubCarrierSpacing[nMu];
187  }
188  else
189  {
190  printf("ERROR: %s Mu[%d] is not valid\n",__FUNCTION__, nMu);
191  }
192 
193  return 0;
194 }
195 
196 
197 
198 
199 //-------------------------------------------------------------------------------------------
212 //-------------------------------------------------------------------------------------------
213 uint16_t app_xran_get_num_rbs(uint32_t nNumerology, uint32_t nBandwidth, uint32_t nAbsFrePointA)
214 {
215  uint32_t error = 1;
216  uint16_t numRBs = 0;
217 
218  if (nAbsFrePointA <= 6000000)
219  {
220  // F1 Tables 38.101-1 Table 5.3.2-1. Maximum transmission bandwidth configuration NRB
221  if (nNumerology < 3)
222  {
223  switch(nBandwidth)
224  {
225  case PHY_BW_5_0_MHZ:
226  numRBs = nNumRbsPerSymF1[nNumerology][0];
227  error = 0;
228  break;
229  case PHY_BW_10_0_MHZ:
230  numRBs = nNumRbsPerSymF1[nNumerology][1];
231  error = 0;
232  break;
233  case PHY_BW_15_0_MHZ:
234  numRBs = nNumRbsPerSymF1[nNumerology][2];
235  error = 0;
236  break;
237  case PHY_BW_20_0_MHZ:
238  numRBs = nNumRbsPerSymF1[nNumerology][3];
239  error = 0;
240  break;
241  case PHY_BW_25_0_MHZ:
242  numRBs = nNumRbsPerSymF1[nNumerology][4];
243  error = 0;
244  break;
245  case PHY_BW_30_0_MHZ:
246  numRBs = nNumRbsPerSymF1[nNumerology][5];
247  error = 0;
248  break;
249  case PHY_BW_40_0_MHZ:
250  numRBs = nNumRbsPerSymF1[nNumerology][6];
251  error = 0;
252  break;
253  case PHY_BW_50_0_MHZ:
254  numRBs = nNumRbsPerSymF1[nNumerology][7];
255  error = 0;
256  break;
257  case PHY_BW_60_0_MHZ:
258  numRBs = nNumRbsPerSymF1[nNumerology][8];
259  error = 0;
260  break;
261  case PHY_BW_70_0_MHZ:
262  numRBs = nNumRbsPerSymF1[nNumerology][9];
263  error = 0;
264  break;
265  case PHY_BW_80_0_MHZ:
266  numRBs = nNumRbsPerSymF1[nNumerology][10];
267  error = 0;
268  break;
269  case PHY_BW_90_0_MHZ:
270  numRBs = nNumRbsPerSymF1[nNumerology][11];
271  error = 0;
272  break;
273  case PHY_BW_100_0_MHZ:
274  numRBs = nNumRbsPerSymF1[nNumerology][12];
275  error = 0;
276  break;
277  default:
278  error = 1;
279  break;
280  }
281  }
282  }
283  else
284  {
285  if ((nNumerology >= 2) && (nNumerology <= 3))
286  {
287  // F2 Tables 38.101-2 Table 5.3.2-1. Maximum transmission bandwidth configuration NRB
288  switch(nBandwidth)
289  {
290  case PHY_BW_50_0_MHZ:
291  numRBs = nNumRbsPerSymF2[nNumerology-2][0];
292  error = 0;
293  break;
294  case PHY_BW_100_0_MHZ:
295  numRBs = nNumRbsPerSymF2[nNumerology-2][1];
296  error = 0;
297  break;
298  case PHY_BW_200_0_MHZ:
299  numRBs = nNumRbsPerSymF2[nNumerology-2][2];
300  error = 0;
301  break;
302  case PHY_BW_400_0_MHZ:
303  numRBs = nNumRbsPerSymF2[nNumerology-2][3];
304  error = 0;
305  break;
306  default:
307  error = 1;
308  break;
309  }
310  }
311  }
312 
313 
314  if (error)
315  {
316  printf("ERROR: %s: nNumerology[%d] nBandwidth[%d] nAbsFrePointA[%d]\n",__FUNCTION__, nNumerology, nBandwidth, nAbsFrePointA);
317  }
318  else
319  {
320  printf("%s: nNumerology[%d] nBandwidth[%d] nAbsFrePointA[%d] numRBs[%d]\n",__FUNCTION__, nNumerology, nBandwidth, nAbsFrePointA, numRBs);
321  }
322 
323  return numRBs;
324 }
325 
326 //-------------------------------------------------------------------------------------------
337 //-------------------------------------------------------------------------------------------
338 uint32_t app_xran_cal_nrarfcn(uint32_t nCenterFreq)
339 {
340  uint32_t nDeltaFglobal,nFoffs,nNoffs;
341  uint32_t nNRARFCN = 0;
342 
343  if(nCenterFreq > 0 && nCenterFreq < 3000*1000)
344  {
345  nDeltaFglobal = 5;
346  nFoffs = 0;
347  nNoffs = 0;
348  }
349  else if(nCenterFreq >= 3000*1000 && nCenterFreq < 24250*1000)
350  {
351  nDeltaFglobal = 15;
352  nFoffs = 3000*1000;
353  nNoffs = 600000;
354  }
355  else if(nCenterFreq >= 24250*1000 && nCenterFreq <= 100000*1000)
356  {
357  nDeltaFglobal = 60;
358  nFoffs = 24250080;
359  nNoffs = 2016667;
360  }
361  else
362  {
363  printf("@@@@ incorrect center frerquency %d\n",nCenterFreq);
364  return (0);
365  }
366 
367  nNRARFCN = ((nCenterFreq - nFoffs)/nDeltaFglobal) + nNoffs;
368 
369  printf("%s: nCenterFreq[%d] nDeltaFglobal[%d] nFoffs[%d] nNoffs[%d] nNRARFCN[%d]\n", __FUNCTION__, nCenterFreq, nDeltaFglobal, nFoffs, nNoffs, nNRARFCN);
370  return (nNRARFCN);
371 }
372 
373 int32_t app_xran_slot_limit(int32_t nSfIdx)
374 {
375  while (nSfIdx < 0) {
376  nSfIdx += gMaxSlotNum;
377  }
378 
379  while (nSfIdx >= gMaxSlotNum) {
380  nSfIdx -= gMaxSlotNum;
381  }
382 
383  return nSfIdx;
384 }
385 
386 void app_xran_clear_slot_type(uint32_t nPhyInstanceId)
387 {
388  g_UlRate[nPhyInstanceId] = 0.0;
389  g_DlRate[nPhyInstanceId] = 0.0;
390  g_NumSlotTDDLoop[nPhyInstanceId] = 1;
391 }
392 
393 int32_t app_xran_set_slot_type(uint32_t nPhyInstanceId, uint32_t nFrameDuplexType, uint32_t nTddPeriod, struct xran_slot_config *psSlotConfig)
394 {
395  uint32_t nSlotNum, nSymNum, nVal, i;
396  uint32_t numDlSym, numUlSym, numGuardSym;
397  uint32_t numDlSlots = 0, numUlSlots = 0, numSpDlSlots = 0, numSpUlSlots = 0, numSpSlots = 0;
398  char sSlotPattern[XRAN_SLOT_TYPE_LAST][10] = {"IN\0", "DL\0", "UL\0", "SP\0", "FD\0"};
399 
400  // nPhyInstanceId Carrier ID
401  // nFrameDuplexType 0 = FDD 1 = TDD
402  // nTddPeriod Tdd Periodicity
403  // psSlotConfig[80] Slot Config Structure for nTddPeriod Slots
404 
405  g_UlRate[nPhyInstanceId] = 0.0;
406  g_DlRate[nPhyInstanceId] = 0.0;
407  g_NumSlotTDDLoop[nPhyInstanceId] = nTddPeriod;
408 
409  for (i = 0; i < XRAN_NUM_OF_SLOT_IN_TDD_LOOP; i++)
410  {
411  g_SlotType[nPhyInstanceId][i] = XRAN_SLOT_TYPE_INVALID;
412  g_NumDLSymSp[nPhyInstanceId][i] = 0;
413  g_NumULSymSp[nPhyInstanceId][i] = 0;
414  }
415 
416  if (nFrameDuplexType == XRAN_FDD)
417  {
418  for (i = 0; i < XRAN_NUM_OF_SLOT_IN_TDD_LOOP; i++)
419  {
420  g_SlotType[nPhyInstanceId][i] = XRAN_SLOT_TYPE_FDD;
421  }
422  g_NumSlotTDDLoop[nPhyInstanceId] = 1;
423  g_DlRate[nPhyInstanceId] = 1.0;
424  g_UlRate[nPhyInstanceId] = 1.0;
425  }
426  else
427  {
428  for (nSlotNum = 0; nSlotNum < nTddPeriod; nSlotNum++)
429  {
430  numDlSym = 0;
431  numUlSym = 0;
432  numGuardSym = 0;
433  for (nSymNum = 0; nSymNum < XRAN_NUM_OF_SYMBOL_PER_SLOT; nSymNum++)
434  {
435  switch(psSlotConfig[nSlotNum].nSymbolType[nSymNum])
436  {
437  case XRAN_SYMBOL_TYPE_DL:
438  numDlSym++;
439  break;
441  numGuardSym++;
442  break;
443  default:
444  numUlSym++;
445  break;
446  }
447  }
448 
449  // printf("nSlotNum[%d] : numDlSym[%d] numGuardSym[%d] numUlSym[%d]\n", nSlotNum, numDlSym, numGuardSym, numUlSym);
450 
451  if ((numUlSym == 0) && (numGuardSym == 0))
452  {
453  g_SlotType[nPhyInstanceId][nSlotNum] = XRAN_SLOT_TYPE_DL;
454  numDlSlots++;
455  }
456  else if ((numDlSym == 0) && (numGuardSym == 0))
457  {
458  g_SlotType[nPhyInstanceId][nSlotNum] = XRAN_SLOT_TYPE_UL;
459  numUlSlots++;
460  }
461  else
462  {
463  g_SlotType[nPhyInstanceId][nSlotNum] = XRAN_SLOT_TYPE_SP;
464  numSpSlots++;
465 
466  if (numDlSym)
467  {
468  numSpDlSlots++;
469  g_NumDLSymSp[nPhyInstanceId][nSlotNum] = numDlSym;
470  }
471  if (numUlSym)
472  {
473  numSpUlSlots++;
474  g_NumULSymSp[nPhyInstanceId][nSlotNum] = numUlSym;
475  }
476  }
477 
478  // printf(" numDlSlots[%d] numUlSlots[%d] numSpSlots[%d] numSpDlSlots[%d] numSpUlSlots[%d]\n", numDlSlots, numUlSlots, numSpSlots, numSpDlSlots, numSpUlSlots);
479  }
480 
481  g_DlRate[nPhyInstanceId] = (float)(numDlSlots + numSpDlSlots) / (float)nTddPeriod;
482  g_UlRate[nPhyInstanceId] = (float)(numUlSlots + numSpUlSlots) / (float)nTddPeriod;
483  }
484 
485  printf("set_slot_type: nPhyInstanceId[%d] nFrameDuplexType[%d], nTddPeriod[%d]\n",
486  nPhyInstanceId, nFrameDuplexType, nTddPeriod);
487 
488  printf("DLRate[%f] ULRate[%f]\n", g_DlRate[nPhyInstanceId], g_UlRate[nPhyInstanceId]);
489 
490  nVal = (g_NumSlotTDDLoop[nPhyInstanceId] < 10) ? g_NumSlotTDDLoop[nPhyInstanceId] : 10;
491 
492  printf("SlotPattern:\n");
493  printf("Slot: ");
494  for (nSlotNum = 0; nSlotNum < nVal; nSlotNum++)
495  {
496  printf("%d ", nSlotNum);
497  }
498  printf("\n");
499 
500  printf(" %3d ", 0);
501  for (nSlotNum = 0, i = 0; nSlotNum < g_NumSlotTDDLoop[nPhyInstanceId]; nSlotNum++)
502  {
503  printf("%s ", sSlotPattern[g_SlotType[nPhyInstanceId][nSlotNum]]);
504  i++;
505  if ((i == 10) && ((nSlotNum+1) < g_NumSlotTDDLoop[nPhyInstanceId]))
506  {
507  printf("\n");
508  printf(" %3d ", nSlotNum);
509  i = 0;
510  }
511  }
512  printf("\n\n");
513 
514  return 0;
515 }
516 
517 int32_t app_xran_get_slot_type(int32_t nCellIdx, int32_t nSlotdx, int32_t nType)
518 {
519  int32_t nSfIdxMod, nSfType, ret = 0;
520 
521  nSfIdxMod = app_xran_slot_limit(nSlotdx) % ((g_NumSlotTDDLoop[nCellIdx] > 0) ? g_NumSlotTDDLoop[nCellIdx]: 1);
522  nSfType = g_SlotType[nCellIdx][nSfIdxMod];
523 
524  if (nSfType == nType)
525  {
526  ret = 1;
527  }
528  else if (nSfType == XRAN_SLOT_TYPE_SP)
529  {
530  if ((nType == XRAN_SLOT_TYPE_DL) && g_NumDLSymSp[nCellIdx][nSfIdxMod])
531  {
532  ret = 1;
533  }
534 
535  if ((nType == XRAN_SLOT_TYPE_UL) && g_NumULSymSp[nCellIdx][nSfIdxMod])
536  {
537  ret = 1;
538  }
539  }
540  else if (nSfType == XRAN_SLOT_TYPE_FDD)
541  {
542  ret = 1;
543  }
544 
545  return ret;
546 }
547 
548 
549 
550 void sys_save_buf_to_file(char *filename, char *bufname, unsigned char *pBuffer, unsigned int size, unsigned int buffers_num)
551 {
552  if (size)
553  {
554  if (filename && bufname)
555  {
556  FILE *file;
557  printf("Storing %s to file %s: ", bufname, filename);
558  file = fopen(filename, "wb");
559  if (file == NULL)
560  {
561  printf("can't open file %s!!!", filename);
562  }
563  else
564  {
565  uint32_t num;
566  num = fwrite(pBuffer, buffers_num, size, file);
567  fflush(file);
568  fclose(file);
569  printf("from addr (0x%lx) size (%d) bytes num (%d)", (uint64_t)pBuffer, size, num);
570  }
571  printf(" \n");
572  }
573  else
574  {
575  printf(" the file name, buffer name are not set!!!");
576  }
577  }
578  else
579  {
580  printf(" the %s is free: size = %d bytes!!!", bufname, size);
581  }
582 }
583 
584 int sys_load_file_to_buff(char *filename, char *bufname, unsigned char *pBuffer, unsigned int size, unsigned int buffers_num)
585 {
586  unsigned int file_size = 0;
587  int num= 0;
588 
589  if (size)
590  {
591  if (filename && bufname)
592  {
593  FILE *file;
594  printf("Loading file %s to %s: ", filename, bufname);
595  file = fopen(filename, "rb");
596 
597 
598  if (file == NULL)
599  {
600  printf("can't open file %s!!!", filename);
601  exit(-1);
602  }
603  else
604  {
605  fseek(file, 0, SEEK_END);
606  file_size = ftell(file);
607  fseek(file, 0, SEEK_SET);
608 
609  if ((file_size > size) || (file_size == 0))
610  file_size = size;
611 
612  printf("Reading IQ samples from file: File Size: %d [Buffer Size: %d]\n", file_size, size);
613 
614  num = fread(pBuffer, buffers_num, size, file);
615  fflush(file);
616  fclose(file);
617  printf("from addr (0x%lx) size (%d) bytes num (%d)", (uint64_t)pBuffer, file_size, num);
618  }
619  printf(" \n");
620 
621  }
622  else
623  {
624  printf(" the file name, buffer name are not set!!!");
625  }
626  }
627  else
628  {
629  printf(" the %s is free: size = %d bytes!!!", bufname, size);
630  }
631  return num;
632 }
633 
634 
635 void sys_save_buf_to_file_txt(char *filename, char *bufname, unsigned char *pBuffer, unsigned int size, unsigned int buffers_num)
636 {
637  unsigned int i;
638  int ret = 0;
639  if (pBuffer == NULL)
640  return;
641 
642  if (size)
643  {
644  if (filename && bufname)
645  {
646  FILE *file;
647  printf("Storing %s to file %s: ", bufname, filename);
648  file = fopen(filename, "w");
649  if (file == NULL)
650  {
651  printf("can't open file %s!!!", filename);
652  exit(-1);
653  }
654  else
655  {
656  uint32_t num = 0;
657 
658  signed short *ptr = (signed short*)pBuffer;
659  for (i = 0; i < (size/((unsigned int)sizeof(signed short) )); i = i + 2)
660  {
661 #ifndef CSCOPE_DEBUG
662  ret = fprintf(file,"%d %d\n", ptr[i], ptr[i + 1]);
663 #else
664  ret = fprintf(file,"%d %d ", ptr[i], ptr[i + 1]);
665  /* I data => Ramp data, from 1 to 792.
666  Q data => Contains time information of the current symbol:
667  Bits [15:14] = Antenna-ID
668  Bits [13:12] = “00”
669  Bits [11:8] = Subframe-ID
670  Bits [7:4] = Slot-ID
671  Bits [3:0] = Symbol-ID */
672  fprintf(file, "0x%04x: ant %d Subframe-ID %d Slot-ID %d Symbol-ID %d\n",
673  ptr[i + 1], (ptr[i + 1]>>14) & 0x3, (ptr[i + 1]>>8) & 0xF, (ptr[i + 1]>>4) & 0xF, (ptr[i + 1]>>0) & 0xF);
674 #endif
675  if (ret < 0)
676  {
677  printf("fprintf %d\n", ret);
678  fclose(file);
679  break;
680  }
681  num++;
682  }
683  fflush(file);
684  fclose(file);
685  printf("from addr (0x%lx) size (%d) IQ num (%d)", (uint64_t)pBuffer, size, num);
686  }
687  printf(" \n");
688  }
689  else
690  {
691  printf(" the file name, buffer name are not set!!!");
692  }
693  }
694  else
695  {
696  printf(" the %s is free: size = %d bytes!!!", bufname, size);
697  }
698 }
699 
int16_t * p_rx_buffer[MAX_ANT_CARRIER_SUPPORTED]
Definition: common.c:77
+ +
int32_t prach_log_buffer_position[MAX_ANT_CARRIER_SUPPORTED]
Definition: common.c:68
+
#define MAX_ANT_CARRIER_SUPPORTED
Definition: common.h:51
+
int iq_bfw_buffer_size_ul
Definition: common.c:40
+
int32_t tx_dl_bfw_buffer_position[MAX_ANT_CARRIER_SUPPORTED]
Definition: common.c:83
+
#define XRAN_SYMBOL_TYPE_GUARD
Definition: xran_fh_o_du.h:148
+ +
#define XRAN_MAX_ANT_ARRAY_ELM_NR
Definition: xran_fh_o_du.h:118
+
int32_t rx_ul_bfw_buffer_size[MAX_ANT_CARRIER_SUPPORTED]
Definition: common.c:97
+
int32_t tx_ul_bfw_buffer_size[MAX_ANT_CARRIER_SUPPORTED]
Definition: common.c:87
+
#define XRAN_SLOT_TYPE_LAST
Definition: xran_fh_o_du.h:143
+
float g_UlRate[XRAN_MAX_SECTOR_NR]
Definition: common.c:165
+
int32_t rx_log_buffer_size[MAX_ANT_CARRIER_SUPPORTED]
Definition: common.c:63
+ +
int16_t * p_rx_log_buffer[MAX_ANT_CARRIER_SUPPORTED]
Definition: common.c:62
+
int32_t app_xran_get_slot_type(int32_t nCellIdx, int32_t nSlotdx, int32_t nType)
Definition: common.c:517
+
fclose(fileID)
+
uint32_t gNumULCtx
Definition: common.c:156
+ +
uint32_t gDLResetAdvance
Definition: common.c:157
+
int16_t * p_rx_ul_bfw_buffer[MAX_ANT_CARRIER_SUPPORTED]
Definition: common.c:96
+
uint32_t gMaxSlotNum
Definition: common.c:154
+ +
#define XRAN_SLOT_TYPE_DL
Definition: xran_fh_o_du.h:139
+
uint32_t app_xran_get_scs(uint8_t nMu)
Definition: common.c:182
+
int iq_playback_buffer_size_dl
Definition: common.c:36
+
uint32_t gNumDLCtx
Definition: common.c:155
+
int32_t rx_dl_bfw_buffer_size[MAX_ANT_CARRIER_SUPPORTED]
Definition: common.c:92
+
#define IQ_PLAYBACK_BUFFER_BYTES
Definition: common.h:58
+
int32_t tx_prach_play_buffer_size[MAX_ANT_CARRIER_SUPPORTED]
Definition: common.c:55
+ + + + +
#define XRAN_MAX_SECTOR_NR
Definition: xran_fh_o_du.h:110
+
fwrite(fileID, antX_16, 'int16')
+
uint16_t nNumRbsPerSymF2[2][4]
Definition: common.c:110
+
int16_t * p_tx_buffer[MAX_ANT_CARRIER_SUPPORTED]
Definition: common.c:74
+
numRBs
Definition: gen_test.m:96
+
void app_xran_clear_slot_type(uint32_t nPhyInstanceId)
Definition: common.c:386
+ +
int32_t rx_buffer_size[MAX_ANT_CARRIER_SUPPORTED]
Definition: common.c:78
+
#define XRAN_NUM_OF_SLOT_IN_TDD_LOOP
Definition: xran_fh_o_du.h:151
+
int sys_load_file_to_buff(char *filename, char *bufname, unsigned char *pBuffer, unsigned int size, unsigned int buffers_num)
Definition: common.c:584
+
int32_t tx_dl_bfw_buffer_size[MAX_ANT_CARRIER_SUPPORTED]
Definition: common.c:82
+
void sys_save_buf_to_file_txt(char *filename, char *bufname, unsigned char *pBuffer, unsigned int size, unsigned int buffers_num)
Definition: common.c:635
+
#define XRAN_SLOT_TYPE_INVALID
Definition: xran_fh_o_du.h:138
+
int16_t nCpSizeF2[2][4][2]
Definition: common.c:147
+ +
int32_t rx_ul_bfw_buffer_position[MAX_ANT_CARRIER_SUPPORTED]
Definition: common.c:98
+ +
int32_t tx_srs_play_buffer_size[XRAN_MAX_SECTOR_NR *XRAN_MAX_ANT_ARRAY_ELM_NR]
Definition: common.c:59
+
void sys_save_buf_to_file(char *filename, char *bufname, unsigned char *pBuffer, unsigned int size, unsigned int buffers_num)
Definition: common.c:550
+
int32_t app_xran_slot_limit(int32_t nSfIdx)
Definition: common.c:373
+
uint16_t app_xran_get_num_rbs(uint32_t nNumerology, uint32_t nBandwidth, uint32_t nAbsFrePointA)
Definition: common.c:213
+
int16_t * p_tx_ul_bfw_buffer[MAX_ANT_CARRIER_SUPPORTED]
Definition: common.c:86
+
int16_t * p_tx_play_buffer[MAX_ANT_CARRIER_SUPPORTED]
Definition: common.c:50
+ +
uint16_t nTtiInterval[4]
Definition: common.c:128
+
int16_t * p_rx_dl_bfw_buffer[MAX_ANT_CARRIER_SUPPORTED]
Definition: common.c:91
+
int32_t tx_srs_play_buffer_position[XRAN_MAX_SECTOR_NR *XRAN_MAX_ANT_ARRAY_ELM_NR]
Definition: common.c:60
+
uint32_t app_xran_cal_nrarfcn(uint32_t nCenterFreq)
Definition: common.c:338
+
int16_t * p_srs_log_buffer[XRAN_MAX_SECTOR_NR *XRAN_MAX_ANT_ARRAY_ELM_NR]
Definition: common.c:70
+
#define XRAN_SYMBOL_TYPE_DL
Definition: xran_fh_o_du.h:146
+
uint8_t num_eAxc
Definition: common.c:47
+
int32_t app_xran_set_slot_type(uint32_t nPhyInstanceId, uint32_t nFrameDuplexType, uint32_t nTddPeriod, struct xran_slot_config *psSlotConfig)
Definition: common.c:393
+
#define XRAN_SLOT_TYPE_FDD
Definition: xran_fh_o_du.h:142
+
int iq_playback_buffer_size_ul
Definition: common.c:37
+
int32_t prach_log_buffer_size[MAX_ANT_CARRIER_SUPPORTED]
Definition: common.c:67
+
This file provides the definitions for User Plane Messages APIs.
+
float g_DlRate[XRAN_MAX_SECTOR_NR]
Definition: common.c:166
+
uint16_t nSubCarrierSpacing[5]
Definition: common.c:118
+
uint16_t nCpSizeF1[3][13][2]
Definition: common.c:138
+
int32_t tx_play_buffer_position[MAX_ANT_CARRIER_SUPPORTED]
Definition: common.c:52
+
int32_t tx_buffer_size[MAX_ANT_CARRIER_SUPPORTED]
Definition: common.c:75
+
#define XRAN_NUM_OF_SYMBOL_PER_SLOT
Definition: xran_fh_o_du.h:122
+
int32_t tx_prach_play_buffer_position[MAX_ANT_CARRIER_SUPPORTED]
Definition: common.c:56
+
int16_t * p_tx_dl_bfw_buffer[MAX_ANT_CARRIER_SUPPORTED]
Definition: common.c:81
+
uint8_t numCCPorts
Definition: common.c:44
+
uint16_t nNumRbsPerSymF1[3][13]
Definition: common.c:101
+
Definitions and support functions to process XRAN packet.
+
app_state
Definition: common.h:36
+
This file provides public interface to xRAN Front Haul layer implementation as defined in the ORAN-WG...
+
int32_t srs_log_buffer_position[XRAN_MAX_SECTOR_NR *XRAN_MAX_ANT_ARRAY_ELM_NR]
Definition: common.c:72
+ + +
Definitions and support functions to process XRAN packet.
+
int iq_srs_buffer_size_ul
Definition: common.c:42
+
#define XRAN_SLOT_TYPE_SP
Definition: xran_fh_o_du.h:141
+
int32_t rx_dl_bfw_buffer_position[MAX_ANT_CARRIER_SUPPORTED]
Definition: common.c:93
+
int16_t * p_tx_prach_play_buffer[MAX_ANT_CARRIER_SUPPORTED]
Definition: common.c:54
+ + +
uint32_t gULProcAdvance
Definition: common.c:159
+ +
int32_t rx_log_buffer_position[MAX_ANT_CARRIER_SUPPORTED]
Definition: common.c:64
+ +
uint32_t gDLProcAdvance
Definition: common.c:158
+
int iq_bfw_buffer_size_dl
Definition: common.c:39
+
uint32_t app_xran_get_tti_interval(uint8_t nMu)
Definition: common.c:168
+
int32_t tx_ul_bfw_buffer_position[MAX_ANT_CARRIER_SUPPORTED]
Definition: common.c:88
+
int32_t tx_play_buffer_size[MAX_ANT_CARRIER_SUPPORTED]
Definition: common.c:51
+
int32_t srs_log_buffer_size[XRAN_MAX_SECTOR_NR *XRAN_MAX_ANT_ARRAY_ELM_NR]
Definition: common.c:71
+
This file provides the definitions for Control Plane Messages APIs.
+
int16_t * p_prach_log_buffer[MAX_ANT_CARRIER_SUPPORTED]
Definition: common.c:66
+
int16_t * p_tx_srs_play_buffer[XRAN_MAX_SECTOR_NR *XRAN_MAX_ANT_ARRAY_ELM_NR]
Definition: common.c:58
+
#define XRAN_SLOT_TYPE_UL
Definition: xran_fh_o_du.h:140
+
enum app_state state
Definition: sample-app.c:62
+
+ + + + diff --git a/docs/API/common_8cpp.html b/docs/API/common_8cpp.html new file mode 100644 index 0000000..b68563e --- /dev/null +++ b/docs/API/common_8cpp.html @@ -0,0 +1,447 @@ + + + + + + + +o-du/phy: common.cpp File Reference + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
common.cpp File Reference
+
+
+
#include <cmath>
+#include <fstream>
+#include <numeric>
+#include <unistd.h>
+#include <sys/syscall.h>
+#include "common.hpp"
+
+Include dependency graph for common.cpp:
+
+
+ + + + + +
+
+

Go to the source code of this file.

+ + + + +

+Macros

#define CPU_ID   4
 
+ + + + + + + + + + + + + + + + + + + + + + +

+Functions

int bind_to_cpu (const unsigned cpu)
 Attach current process to the selected core. More...
 
std::pair< double, double > calculate_statistics (const std::vector< long > values)
 Calculate the mean and variance from the result of the run_benchmark. More...
 
std::vector< unsigned > get_sequence (const unsigned number)
 For a given number return sequence of number from 0 to number - 1. More...
 
char * read_data_to_aligned_array (const std::string &filename)
 Read binary data from the file. More...
 
json read_json_from_file (const std::string &filename)
 Read JSON from the given file. More...
 
unsigned long tsc_recovery ()
 Measure the TSC on the machine. More...
 
unsigned long tsc_tick ()
 Return the current value of the TSC. More...
 
+

Macro Definition Documentation

+ +

◆ CPU_ID

+ +
+
+ + + + +
#define CPU_ID   4
+
+ +

Definition at line 34 of file common.cpp.

+ +
+
+

Function Documentation

+ +

◆ bind_to_cpu()

+ +
+
+ + + + + + + + +
int bind_to_cpu (const unsigned cpu)
+
+ +

Attach current process to the selected core.

+
Parameters
+ + +
[in]cpuCore number.
+
+
+
Returns
0 on success, -1 otherwise.
+ +

Definition at line 47 of file common.cpp.

+
+Here is the caller graph for this function:
+
+
+ + + + + + + +
+ +
+
+ +

◆ calculate_statistics()

+ +
+
+ + + + + + + + +
std::pair<double, double> calculate_statistics (const std::vector< long > values)
+
+ +

Calculate the mean and variance from the result of the run_benchmark.

+
Parameters
+ + +
[in]valuesVector with result values.
+
+
+
Returns
std::pair where the first element is mean and the second one is standard deviation.
+
Note
It's not a general mean/stddev function it only works properly when feed with data from the benchmark function.
+ +

Definition at line 60 of file common.cpp.

+
+Here is the caller graph for this function:
+
+
+ + + + + + + + +
+ +
+
+ +

◆ get_sequence()

+ +
+
+ + + + + + + + +
std::vector<unsigned> get_sequence (const unsigned number)
+
+ +

For a given number return sequence of number from 0 to number - 1.

+
Parameters
+ + +
[in]numberPositive integer value.
+
+
+
Returns
Vector with the sorted integer numbers between 0 and number - 1.
+ +

Definition at line 78 of file common.cpp.

+
+Here is the caller graph for this function:
+
+
+ + + + + + +
+ +
+
+ +

◆ read_data_to_aligned_array()

+ +
+
+ + + + + + + + +
char* read_data_to_aligned_array (const std::string & filename)
+
+ +

Read binary data from the file.

+
Parameters
+ + +
[in]filenamename of the binary file.
+
+
+
Returns
Pointer to the allocated memory with data from the file.
+
Exceptions
+ + +
std::runtime_errorwhen memory cannot be allocated.
+
+
+ +

Definition at line 86 of file common.cpp.

+
+Here is the caller graph for this function:
+
+
+ + + + + + + + + + + + +
+ +
+
+ +

◆ read_json_from_file()

+ +
+
+ + + + + + + + +
json read_json_from_file (const std::string & filename)
+
+ +

Read JSON from the given file.

+
Parameters
+ + +
[in]filenamename of the .json file.
+
+
+
Returns
JSON object with data.
+
Exceptions
+ + +
missing_config_file_exceptionwhen file cannot be opened.
+
+
+ +

Definition at line 106 of file common.cpp.

+
+Here is the caller graph for this function:
+
+
+ + + + + + + + + +
+ +
+
+ +

◆ tsc_recovery()

+ +
+
+ + + + + + + +
unsigned long tsc_recovery ()
+
+ +

Measure the TSC on the machine.

+
Returns
Number of ticks per us
+ +

Definition at line 119 of file common.cpp.

+
+Here is the call graph for this function:
+
+
+ + + +
+
+Here is the caller graph for this function:
+
+
+ + + + + + +
+ +
+
+ +

◆ tsc_tick()

+ +
+
+ + + + + + + +
unsigned long tsc_tick ()
+
+ +

Return the current value of the TSC.

+
Returns
Current TSC value
+ +

Definition at line 162 of file common.cpp.

+
+Here is the caller graph for this function:
+
+
+ + + + + + + +
+ +
+
+
+ + + + diff --git a/docs/API/common_8cpp__incl.map b/docs/API/common_8cpp__incl.map new file mode 100644 index 0000000..245cef5 --- /dev/null +++ b/docs/API/common_8cpp__incl.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/API/common_8cpp__incl.md5 b/docs/API/common_8cpp__incl.md5 new file mode 100644 index 0000000..6a5fa87 --- /dev/null +++ b/docs/API/common_8cpp__incl.md5 @@ -0,0 +1 @@ +78b05e74434f66893f73f42c9ea0e2eb \ No newline at end of file diff --git a/docs/API/common_8cpp__incl.png b/docs/API/common_8cpp__incl.png new file mode 100644 index 0000000..1157310 Binary files /dev/null and b/docs/API/common_8cpp__incl.png differ diff --git a/docs/API/common_8cpp_a0ab5719a5f67d4d52057b2c4550fe930_icgraph.map b/docs/API/common_8cpp_a0ab5719a5f67d4d52057b2c4550fe930_icgraph.map new file mode 100644 index 0000000..8106950 --- /dev/null +++ b/docs/API/common_8cpp_a0ab5719a5f67d4d52057b2c4550fe930_icgraph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/API/common_8cpp_a0ab5719a5f67d4d52057b2c4550fe930_icgraph.md5 b/docs/API/common_8cpp_a0ab5719a5f67d4d52057b2c4550fe930_icgraph.md5 new file mode 100644 index 0000000..edd88fa --- /dev/null +++ b/docs/API/common_8cpp_a0ab5719a5f67d4d52057b2c4550fe930_icgraph.md5 @@ -0,0 +1 @@ +2d3c0755494d4b9f670bb7984cc71b3a \ No newline at end of file diff --git a/docs/API/common_8cpp_a0ab5719a5f67d4d52057b2c4550fe930_icgraph.png b/docs/API/common_8cpp_a0ab5719a5f67d4d52057b2c4550fe930_icgraph.png new file mode 100644 index 0000000..e19d8f7 Binary files /dev/null and b/docs/API/common_8cpp_a0ab5719a5f67d4d52057b2c4550fe930_icgraph.png differ diff --git a/docs/API/common_8cpp_a39bf4f7770751080f5b72046abfd01a5_icgraph.map b/docs/API/common_8cpp_a39bf4f7770751080f5b72046abfd01a5_icgraph.map new file mode 100644 index 0000000..3a53d82 --- /dev/null +++ b/docs/API/common_8cpp_a39bf4f7770751080f5b72046abfd01a5_icgraph.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/API/common_8cpp_a39bf4f7770751080f5b72046abfd01a5_icgraph.md5 b/docs/API/common_8cpp_a39bf4f7770751080f5b72046abfd01a5_icgraph.md5 new file mode 100644 index 0000000..729dc04 --- /dev/null +++ b/docs/API/common_8cpp_a39bf4f7770751080f5b72046abfd01a5_icgraph.md5 @@ -0,0 +1 @@ +935d20816270ffca96e7043023fed2a8 \ No newline at end of file diff --git a/docs/API/common_8cpp_a39bf4f7770751080f5b72046abfd01a5_icgraph.png b/docs/API/common_8cpp_a39bf4f7770751080f5b72046abfd01a5_icgraph.png new file mode 100644 index 0000000..0bb7f06 Binary files /dev/null and b/docs/API/common_8cpp_a39bf4f7770751080f5b72046abfd01a5_icgraph.png differ diff --git a/docs/API/common_8cpp_a56c41cbb9de4bce25da45ecd74b46a81_cgraph.map b/docs/API/common_8cpp_a56c41cbb9de4bce25da45ecd74b46a81_cgraph.map new file mode 100644 index 0000000..45c9e93 --- /dev/null +++ b/docs/API/common_8cpp_a56c41cbb9de4bce25da45ecd74b46a81_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/common_8cpp_a56c41cbb9de4bce25da45ecd74b46a81_cgraph.md5 b/docs/API/common_8cpp_a56c41cbb9de4bce25da45ecd74b46a81_cgraph.md5 new file mode 100644 index 0000000..4745af7 --- /dev/null +++ b/docs/API/common_8cpp_a56c41cbb9de4bce25da45ecd74b46a81_cgraph.md5 @@ -0,0 +1 @@ +c8611bb115ce9001598fe4deacfbfc89 \ No newline at end of file diff --git a/docs/API/common_8cpp_a56c41cbb9de4bce25da45ecd74b46a81_cgraph.png b/docs/API/common_8cpp_a56c41cbb9de4bce25da45ecd74b46a81_cgraph.png new file mode 100644 index 0000000..a735d7a Binary files /dev/null and b/docs/API/common_8cpp_a56c41cbb9de4bce25da45ecd74b46a81_cgraph.png differ diff --git a/docs/API/common_8cpp_a56c41cbb9de4bce25da45ecd74b46a81_icgraph.map b/docs/API/common_8cpp_a56c41cbb9de4bce25da45ecd74b46a81_icgraph.map new file mode 100644 index 0000000..845decb --- /dev/null +++ b/docs/API/common_8cpp_a56c41cbb9de4bce25da45ecd74b46a81_icgraph.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/API/common_8cpp_a56c41cbb9de4bce25da45ecd74b46a81_icgraph.md5 b/docs/API/common_8cpp_a56c41cbb9de4bce25da45ecd74b46a81_icgraph.md5 new file mode 100644 index 0000000..ee7dcaf --- /dev/null +++ b/docs/API/common_8cpp_a56c41cbb9de4bce25da45ecd74b46a81_icgraph.md5 @@ -0,0 +1 @@ +b3a41e8969e540773b37d1b3a053b207 \ No newline at end of file diff --git a/docs/API/common_8cpp_a56c41cbb9de4bce25da45ecd74b46a81_icgraph.png b/docs/API/common_8cpp_a56c41cbb9de4bce25da45ecd74b46a81_icgraph.png new file mode 100644 index 0000000..42a82ea Binary files /dev/null and b/docs/API/common_8cpp_a56c41cbb9de4bce25da45ecd74b46a81_icgraph.png differ diff --git a/docs/API/common_8cpp_a8265b710246f9019ff14556adf5eb35a_icgraph.map b/docs/API/common_8cpp_a8265b710246f9019ff14556adf5eb35a_icgraph.map new file mode 100644 index 0000000..bb373ef --- /dev/null +++ b/docs/API/common_8cpp_a8265b710246f9019ff14556adf5eb35a_icgraph.map @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/API/common_8cpp_a8265b710246f9019ff14556adf5eb35a_icgraph.md5 b/docs/API/common_8cpp_a8265b710246f9019ff14556adf5eb35a_icgraph.md5 new file mode 100644 index 0000000..590964f --- /dev/null +++ b/docs/API/common_8cpp_a8265b710246f9019ff14556adf5eb35a_icgraph.md5 @@ -0,0 +1 @@ +356a14f03363f1a2975765f36d9e9b0f \ No newline at end of file diff --git a/docs/API/common_8cpp_a8265b710246f9019ff14556adf5eb35a_icgraph.png b/docs/API/common_8cpp_a8265b710246f9019ff14556adf5eb35a_icgraph.png new file mode 100644 index 0000000..1a2e3d1 Binary files /dev/null and b/docs/API/common_8cpp_a8265b710246f9019ff14556adf5eb35a_icgraph.png differ diff --git a/docs/API/common_8cpp_a876ed07783b27d38779f7cef4db673e6_icgraph.map b/docs/API/common_8cpp_a876ed07783b27d38779f7cef4db673e6_icgraph.map new file mode 100644 index 0000000..c2e3439 --- /dev/null +++ b/docs/API/common_8cpp_a876ed07783b27d38779f7cef4db673e6_icgraph.map @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/docs/API/common_8cpp_a876ed07783b27d38779f7cef4db673e6_icgraph.md5 b/docs/API/common_8cpp_a876ed07783b27d38779f7cef4db673e6_icgraph.md5 new file mode 100644 index 0000000..6d9a37c --- /dev/null +++ b/docs/API/common_8cpp_a876ed07783b27d38779f7cef4db673e6_icgraph.md5 @@ -0,0 +1 @@ +f383eee86a0019a2bf3f5a3227f4b307 \ No newline at end of file diff --git a/docs/API/common_8cpp_a876ed07783b27d38779f7cef4db673e6_icgraph.png b/docs/API/common_8cpp_a876ed07783b27d38779f7cef4db673e6_icgraph.png new file mode 100644 index 0000000..0b10406 Binary files /dev/null and b/docs/API/common_8cpp_a876ed07783b27d38779f7cef4db673e6_icgraph.png differ diff --git a/docs/API/common_8cpp_ad8c062e9b24e4b3a8408b23a0d8ab428_icgraph.map b/docs/API/common_8cpp_ad8c062e9b24e4b3a8408b23a0d8ab428_icgraph.map new file mode 100644 index 0000000..a27430e --- /dev/null +++ b/docs/API/common_8cpp_ad8c062e9b24e4b3a8408b23a0d8ab428_icgraph.map @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/docs/API/common_8cpp_ad8c062e9b24e4b3a8408b23a0d8ab428_icgraph.md5 b/docs/API/common_8cpp_ad8c062e9b24e4b3a8408b23a0d8ab428_icgraph.md5 new file mode 100644 index 0000000..1aa0742 --- /dev/null +++ b/docs/API/common_8cpp_ad8c062e9b24e4b3a8408b23a0d8ab428_icgraph.md5 @@ -0,0 +1 @@ +6df08aeaf6df7fb6fd5f0e8a832ab0cf \ No newline at end of file diff --git a/docs/API/common_8cpp_ad8c062e9b24e4b3a8408b23a0d8ab428_icgraph.png b/docs/API/common_8cpp_ad8c062e9b24e4b3a8408b23a0d8ab428_icgraph.png new file mode 100644 index 0000000..4b357b1 Binary files /dev/null and b/docs/API/common_8cpp_ad8c062e9b24e4b3a8408b23a0d8ab428_icgraph.png differ diff --git a/docs/API/common_8cpp_ae39390f41ba978a1f0d79691436c074a_icgraph.map b/docs/API/common_8cpp_ae39390f41ba978a1f0d79691436c074a_icgraph.map new file mode 100644 index 0000000..65e8b95 --- /dev/null +++ b/docs/API/common_8cpp_ae39390f41ba978a1f0d79691436c074a_icgraph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/API/common_8cpp_ae39390f41ba978a1f0d79691436c074a_icgraph.md5 b/docs/API/common_8cpp_ae39390f41ba978a1f0d79691436c074a_icgraph.md5 new file mode 100644 index 0000000..329503b --- /dev/null +++ b/docs/API/common_8cpp_ae39390f41ba978a1f0d79691436c074a_icgraph.md5 @@ -0,0 +1 @@ +0d1c378b49db16791e7b7a27710aaf80 \ No newline at end of file diff --git a/docs/API/common_8cpp_ae39390f41ba978a1f0d79691436c074a_icgraph.png b/docs/API/common_8cpp_ae39390f41ba978a1f0d79691436c074a_icgraph.png new file mode 100644 index 0000000..96247c9 Binary files /dev/null and b/docs/API/common_8cpp_ae39390f41ba978a1f0d79691436c074a_icgraph.png differ diff --git a/docs/API/common_8cpp_source.html b/docs/API/common_8cpp_source.html new file mode 100644 index 0000000..e5f74db --- /dev/null +++ b/docs/API/common_8cpp_source.html @@ -0,0 +1,97 @@ + + + + + + + +o-du/phy: common.cpp Source File + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
common.cpp
+
+
+Go to the documentation of this file.
1 /******************************************************************************
2 *
3 * Copyright (c) 2019 Intel.
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 *
17 *******************************************************************************/
18 
19 
20 #include <cmath>
21 #include <fstream>
22 #include <numeric>
23 
24 #ifndef _WIN64
25 #include <unistd.h>
26 #include <sys/syscall.h>
27 #else
28 #include <Windows.h>
29 #endif
30 
31 #include "common.hpp"
32 
33 #ifndef CPU_ID
34 #define CPU_ID 4
35 #endif
36 
37 /* Required to avoid linker errors */
39 std::string KernelTests::test_type;
40 unsigned long KernelTests::tsc;
41 
42 
46 
47 int bind_to_cpu(const unsigned cpu)
48 {
49 #ifndef _WIN64
50  const auto pid = syscall(SYS_gettid);
51  cpu_set_t mask {};
52  CPU_ZERO(&mask);
53  CPU_SET(cpu, &mask);
54  return sched_setaffinity(__pid_t(pid), sizeof(mask), &mask);
55 #else
56  return -1;
57 #endif
58 }
59 
60 std::pair<double, double> calculate_statistics(const std::vector<long> values)
61 {
62  const auto sum = std::accumulate(values.begin(), values.end(), 0L);
63 
64  const auto number_of_iterations = BenchmarkParameters::repetition *
66 
67  const auto mean = sum / (double) number_of_iterations;
68 
69  auto stddev_accumulator = 0.0;
70  for (auto v : values)
71  stddev_accumulator = pow((v / BenchmarkParameters::loop) - mean, 2);
72 
73  const auto stddev = sqrt(stddev_accumulator / BenchmarkParameters::repetition);
74 
75  return {mean, stddev};
76 }
77 
78 std::vector<unsigned> get_sequence(const unsigned number)
79 {
80  std::vector<unsigned> sequence(number);
81  std::iota(sequence.begin(), sequence.end(), 0);
82 
83  return sequence;
84 }
85 
86 char* read_data_to_aligned_array(const std::string &filename)
87 {
88  std::ifstream input_stream(filename, std::ios::binary);
89 
90  std::vector<char> buffer((std::istreambuf_iterator<char>(input_stream)),
91  std::istreambuf_iterator<char>());
92 
93  if(buffer.size() == 0)
95 
96  auto aligned_buffer = aligned_malloc<char>((int) buffer.size(), 64);
97 
98  if(aligned_buffer == nullptr)
99  throw std::runtime_error("Failed to allocate memory for the test vector!");
100 
101  std::copy(buffer.begin(), buffer.end(), aligned_buffer);
102 
103  return aligned_buffer;
104 }
105 
106 json read_json_from_file(const std::string &filename)
107 {
108  json result;
109 
110  std::ifstream json_stream(filename);
111  if(!json_stream.is_open())
113 
114  json_stream >> result;
115 
116  return result;
117 }
118 
119 unsigned long tsc_recovery()
120 {
121 #ifndef _WIN64
122  constexpr auto ns_per_sec = 1E9;
123 
124  struct timespec sleeptime = {.tv_nsec = __syscall_slong_t(5E8) };
125 
126  struct timespec t_start, t_end;
127 
128  if (clock_gettime(CLOCK_MONOTONIC_RAW, &t_start) == 0)
129  {
130  unsigned long start = tsc_tick();
131 
132  nanosleep(&sleeptime,NULL);
133  clock_gettime(CLOCK_MONOTONIC_RAW, &t_end);
134 
135  unsigned long end = tsc_tick();
136 
137  unsigned long ns = (unsigned long)((t_end.tv_sec - t_start.tv_sec) * ns_per_sec + t_end.tv_nsec - t_start.tv_nsec);
138 
139  double secs = (double) ns / ns_per_sec;
140 
141  unsigned long resolution_timer = (unsigned long)((end - start)/secs);
142  unsigned long tick_per_usec = (resolution_timer / 1000000);
143 
144  std::cout << "[----------] System clock (rdtsc) resolution " << resolution_timer << " [Hz]" << std::endl;
145  std::cout << "[----------] Ticks per us " << tick_per_usec << std::endl;
146 
147  return tick_per_usec;
148  }
149 #else
150 
151  LARGE_INTEGER tick_per_sec;
152  QueryPerformanceFrequency(&tick_per_sec);
153 
154  std::cout << "[----------] System clock (rdtsc) resolution unknown" << std::endl;
155  std::cout << "[----------] Ticks per us " << (tick_per_sec.QuadPart / 1000000) << std::endl;
156  return (unsigned long) tick_per_sec.QuadPart;
157 
158 #endif
159  return 0;
160 }
161 
162 unsigned long tsc_tick()
163 {
164 #ifndef _WIN64
165  unsigned long hi, lo;
166 
167  __asm volatile ("rdtsc" : "=a"(lo), "=d"(hi));
168 
169  return lo | (hi << 32);
170 #else
171  return 0;
172 #endif
173 }
174 
175 void KernelTests::print_and_store_results(const std::string &isa, const std::string &parameters,
176  const std::string &module_name, const std::string &test_name,
177  const std::string &unit, const int para_factor,
178  const double mean, const double stddev)
179 {
180  std::cout << "[----------] " << "Mean" << " = " << std::fixed << mean << " us" << std::endl;
181  std::cout << "[----------] " << "Stddev" << " = " << stddev << " us" << std::endl;
182 
183 #ifndef _WIN64
184  /* Two properties below should uniquely identify a test case */
185  RecordProperty("kernelname", module_name);
186  RecordProperty("parameters", parameters);
187 
188  RecordProperty("isa", isa);
189  RecordProperty("unit", unit);
190  RecordProperty("parallelization_factor", para_factor);
191 
192  RecordProperty("mean", std::to_string(mean));
193  RecordProperty("stddev", std::to_string(stddev));
194 #endif
195 }
json read_json_from_file(const std::string &filename)
Read JSON from the given file.
Definition: common.cpp:106
+
a class to store JSON values
Definition: json.hpp:1016
+
static unsigned cpu_id
Definition: common.hpp:68
+
static json conf
Definition: common.hpp:159
+ +
static std::string test_type
Definition: common.hpp:160
+
char * read_data_to_aligned_array(const std::string &filename)
Read binary data from the file.
Definition: common.cpp:86
+ +
static long repetition
Definition: common.hpp:66
+
std::pair< double, double > calculate_statistics(const std::vector< long > values)
Calculate the mean and variance from the result of the run_benchmark.
Definition: common.cpp:60
+
unsigned long tsc_recovery()
Measure the TSC on the machine.
Definition: common.cpp:119
+
const std::string module_name
+ +
static long loop
Definition: common.hpp:67
+
int bind_to_cpu(const unsigned cpu)
Attach current process to the selected core.
Definition: common.cpp:47
+
unsigned long tsc_tick()
Return the current value of the TSC.
Definition: common.cpp:162
+
uint64_t tick_per_usec
Definition: sample-app.c:64
+
#define CPU_ID
Definition: common.cpp:34
+
std::vector< unsigned > get_sequence(const unsigned number)
For a given number return sequence of number from 0 to number - 1.
Definition: common.cpp:78
+
+ + + + diff --git a/docs/API/common_8h.html b/docs/API/common_8h.html new file mode 100644 index 0000000..40d7278 --- /dev/null +++ b/docs/API/common_8h.html @@ -0,0 +1,1507 @@ + + + + + + + +o-du/phy: common.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
common.h File Reference
+
+
+
#include <stdio.h>
+#include <unistd.h>
+#include "xran_fh_o_du.h"
+#include "xran_pkt_up.h"
+#include <rte_common.h>
+#include <rte_mbuf.h>
+
+Include dependency graph for common.h:
+
+
+ + + + + +
+
+This graph shows which files directly or indirectly include this file:
+
+
+ + + + + +
+
+

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + + + + + + + + + + +

+Macros

#define VERSIONX   "#DIRTY#"
 
#define APP_O_DU   0
 
#define APP_O_RU   1
 
#define N_SC_PER_PRB   12
 
#define N_SYM_PER_SLOT   14
 
#define MAX_ANT_CARRIER_SUPPORTED   (XRAN_MAX_SECTOR_NR*XRAN_MAX_ANTENNA_NR)
 
#define MAX_ANT_CARRIER_SUPPORTED_CAT_B   (XRAN_MAX_SECTOR_NR*XRAN_MAX_ANT_ARRAY_ELM_NR)
 
#define SUBFRAME_DURATION_US   1000
 
#define SUBFRAMES_PER_SYSTEMFRAME   10
 
#define IQ_PLAYBACK_BUFFER_BYTES   (XRAN_NUM_OF_SLOT_IN_TDD_LOOP*N_SYM_PER_SLOT*XRAN_MAX_PRBS*N_SC_PER_PRB*4L)
 
#define PRACH_PLAYBACK_BUFFER_BYTES   (144*14*4L)
 
#define iAssert(p)
 
+ + + + + +

+Enumerations

enum  app_state { APP_RUNNING, +APP_STOPPED + }
 
enum  nRChBwOptions {
+  PHY_BW_5_0_MHZ = 5, +PHY_BW_10_0_MHZ = 10, +PHY_BW_15_0_MHZ = 15, +PHY_BW_20_0_MHZ = 20, +
+  PHY_BW_25_0_MHZ = 25, +PHY_BW_30_0_MHZ = 30, +PHY_BW_40_0_MHZ = 40, +PHY_BW_50_0_MHZ = 50, +
+  PHY_BW_60_0_MHZ = 60, +PHY_BW_70_0_MHZ = 70, +PHY_BW_80_0_MHZ = 80, +PHY_BW_90_0_MHZ = 90, +
+  PHY_BW_100_0_MHZ = 100, +PHY_BW_200_0_MHZ = 200, +PHY_BW_400_0_MHZ = 400 +
+ }
 
+ + + + + + + + + + + + + + + + + +

+Functions

void sys_save_buf_to_file_txt (char *filename, char *bufname, unsigned char *pBuffer, unsigned int size, unsigned int buffers_num)
 
void sys_save_buf_to_file (char *filename, char *bufname, unsigned char *pBuffer, unsigned int size, unsigned int buffers_num)
 
int sys_load_file_to_buff (char *filename, char *bufname, unsigned char *pBuffer, unsigned int size, unsigned int buffers_num)
 
uint32_t app_xran_get_scs (uint8_t nMu)
 
uint16_t app_xran_get_num_rbs (uint32_t nNumerology, uint32_t nBandwidth, uint32_t nAbsFrePointA)
 
uint32_t app_xran_cal_nrarfcn (uint32_t nCenterFreq)
 
int32_t app_xran_set_slot_type (uint32_t nPhyInstanceId, uint32_t nFrameDuplexType, uint32_t nTddPeriod, struct xran_slot_config *psSlotConfig)
 
uint32_t app_xran_get_tti_interval (uint8_t nMu)
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Variables

int iq_playback_buffer_size_dl
 
int iq_playback_buffer_size_ul
 
int iq_bfw_buffer_size_dl
 
int iq_bfw_buffer_size_ul
 
int iq_srs_buffer_size_ul
 
uint8_t numCCPorts
 
uint8_t num_eAxc
 
int16_t * p_tx_play_buffer [MAX_ANT_CARRIER_SUPPORTED]
 
int32_t tx_play_buffer_size [MAX_ANT_CARRIER_SUPPORTED]
 
int32_t tx_play_buffer_position [MAX_ANT_CARRIER_SUPPORTED]
 
int16_t * p_tx_prach_play_buffer [MAX_ANT_CARRIER_SUPPORTED]
 
int32_t tx_prach_play_buffer_size [MAX_ANT_CARRIER_SUPPORTED]
 
int32_t tx_prach_play_buffer_position [MAX_ANT_CARRIER_SUPPORTED]
 
int16_t * p_tx_srs_play_buffer [XRAN_MAX_SECTOR_NR *XRAN_MAX_ANT_ARRAY_ELM_NR]
 
int32_t tx_srs_play_buffer_size [XRAN_MAX_SECTOR_NR *XRAN_MAX_ANT_ARRAY_ELM_NR]
 
int32_t tx_srs_play_buffer_position [XRAN_MAX_SECTOR_NR *XRAN_MAX_ANT_ARRAY_ELM_NR]
 
int16_t * p_rx_log_buffer [MAX_ANT_CARRIER_SUPPORTED]
 
int32_t rx_log_buffer_size [MAX_ANT_CARRIER_SUPPORTED]
 
int32_t rx_log_buffer_position [MAX_ANT_CARRIER_SUPPORTED]
 
int16_t * p_prach_log_buffer [MAX_ANT_CARRIER_SUPPORTED]
 
int32_t prach_log_buffer_size [MAX_ANT_CARRIER_SUPPORTED]
 
int32_t prach_log_buffer_position [MAX_ANT_CARRIER_SUPPORTED]
 
int16_t * p_srs_log_buffer [XRAN_MAX_SECTOR_NR *XRAN_MAX_ANT_ARRAY_ELM_NR]
 
int32_t srs_log_buffer_size [XRAN_MAX_SECTOR_NR *XRAN_MAX_ANT_ARRAY_ELM_NR]
 
int32_t srs_log_buffer_position [XRAN_MAX_SECTOR_NR *XRAN_MAX_ANT_ARRAY_ELM_NR]
 
int16_t * p_tx_buffer [MAX_ANT_CARRIER_SUPPORTED]
 
int32_t tx_buffer_size [MAX_ANT_CARRIER_SUPPORTED]
 
int16_t * p_rx_buffer [MAX_ANT_CARRIER_SUPPORTED]
 
int32_t rx_buffer_size [MAX_ANT_CARRIER_SUPPORTED]
 
int16_t * p_tx_dl_bfw_buffer [MAX_ANT_CARRIER_SUPPORTED]
 
int32_t tx_dl_bfw_buffer_size [MAX_ANT_CARRIER_SUPPORTED]
 
int32_t tx_dl_bfw_buffer_position [MAX_ANT_CARRIER_SUPPORTED]
 
int16_t * p_tx_ul_bfw_buffer [MAX_ANT_CARRIER_SUPPORTED]
 
int32_t tx_ul_bfw_buffer_size [MAX_ANT_CARRIER_SUPPORTED]
 
int32_t tx_ul_bfw_buffer_position [MAX_ANT_CARRIER_SUPPORTED]
 
int16_t * p_rx_dl_bfw_buffer [MAX_ANT_CARRIER_SUPPORTED]
 
int32_t rx_dl_bfw_buffer_size [MAX_ANT_CARRIER_SUPPORTED]
 
int32_t rx_dl_bfw_buffer_position [MAX_ANT_CARRIER_SUPPORTED]
 
int16_t * p_rx_ul_bfw_buffer [MAX_ANT_CARRIER_SUPPORTED]
 
int32_t rx_ul_bfw_buffer_size [MAX_ANT_CARRIER_SUPPORTED]
 
int32_t rx_ul_bfw_buffer_position [MAX_ANT_CARRIER_SUPPORTED]
 
+

Macro Definition Documentation

+ +

◆ APP_O_DU

+ +
+
+ + + + +
#define APP_O_DU   0
+
+ +

Definition at line 33 of file common.h.

+ +
+
+ +

◆ APP_O_RU

+ +
+
+ + + + +
#define APP_O_RU   1
+
+ +

Definition at line 34 of file common.h.

+ +
+
+ +

◆ iAssert

+ +
+
+ + + + + + + + +
#define iAssert( p)
+
+ +

Definition at line 67 of file common.h.

+ +
+
+ +

◆ IQ_PLAYBACK_BUFFER_BYTES

+ +
+
+ + + + +
#define IQ_PLAYBACK_BUFFER_BYTES   (XRAN_NUM_OF_SLOT_IN_TDD_LOOP*N_SYM_PER_SLOT*XRAN_MAX_PRBS*N_SC_PER_PRB*4L)
+
+ +

Definition at line 58 of file common.h.

+ +
+
+ +

◆ MAX_ANT_CARRIER_SUPPORTED

+ +
+
+ + + + +
#define MAX_ANT_CARRIER_SUPPORTED   (XRAN_MAX_SECTOR_NR*XRAN_MAX_ANTENNA_NR)
+
+ +

Definition at line 51 of file common.h.

+ +
+
+ +

◆ MAX_ANT_CARRIER_SUPPORTED_CAT_B

+ +
+
+ + + + +
#define MAX_ANT_CARRIER_SUPPORTED_CAT_B   (XRAN_MAX_SECTOR_NR*XRAN_MAX_ANT_ARRAY_ELM_NR)
+
+ +

Definition at line 52 of file common.h.

+ +
+
+ +

◆ N_SC_PER_PRB

+ +
+
+ + + + +
#define N_SC_PER_PRB   12
+
+ +

Definition at line 49 of file common.h.

+ +
+
+ +

◆ N_SYM_PER_SLOT

+ +
+
+ + + + +
#define N_SYM_PER_SLOT   14
+
+ +

Definition at line 50 of file common.h.

+ +
+
+ +

◆ PRACH_PLAYBACK_BUFFER_BYTES

+ +
+
+ + + + +
#define PRACH_PLAYBACK_BUFFER_BYTES   (144*14*4L)
+
+ +

Definition at line 60 of file common.h.

+ +
+
+ +

◆ SUBFRAME_DURATION_US

+ +
+
+ + + + +
#define SUBFRAME_DURATION_US   1000
+
+ +

Definition at line 54 of file common.h.

+ +
+
+ +

◆ SUBFRAMES_PER_SYSTEMFRAME

+ +
+
+ + + + +
#define SUBFRAMES_PER_SYSTEMFRAME   10
+
+ +

Definition at line 57 of file common.h.

+ +
+
+ +

◆ VERSIONX

+ +
+
+ + + + +
#define VERSIONX   "#DIRTY#"
+
+ +

Definition at line 31 of file common.h.

+ +
+
+

Enumeration Type Documentation

+ +

◆ app_state

+ +
+
+ + + + +
enum app_state
+
+ + + +
Enumerator
APP_RUNNING 
APP_STOPPED 
+ +

Definition at line 36 of file common.h.

+ +
+
+ +

◆ nRChBwOptions

+ +
+
+ + + + +
enum nRChBwOptions
+
+ + + + + + + + + + + + + + + + +
Enumerator
PHY_BW_5_0_MHZ 
PHY_BW_10_0_MHZ 
PHY_BW_15_0_MHZ 
PHY_BW_20_0_MHZ 
PHY_BW_25_0_MHZ 
PHY_BW_30_0_MHZ 
PHY_BW_40_0_MHZ 
PHY_BW_50_0_MHZ 
PHY_BW_60_0_MHZ 
PHY_BW_70_0_MHZ 
PHY_BW_80_0_MHZ 
PHY_BW_90_0_MHZ 
PHY_BW_100_0_MHZ 
PHY_BW_200_0_MHZ 
PHY_BW_400_0_MHZ 
+ +

Definition at line 42 of file common.h.

+ +
+
+

Function Documentation

+ +

◆ app_xran_cal_nrarfcn()

+ +
+
+ + + + + + + + +
uint32_t app_xran_cal_nrarfcn (uint32_t nCenterFreq)
+
+
Parameters
+ + +
[in]centerfrequency
+
+
+
Returns
NR-ARFCN
+

This calculates NR-ARFCN value according to center frequency

+ +

Definition at line 338 of file common.c.

+ +
+
+ +

◆ app_xran_get_num_rbs()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
uint16_t app_xran_get_num_rbs (uint32_t nNumerology,
uint32_t nBandwidth,
uint32_t nAbsFrePointA 
)
+
+
Parameters
+ + + + +
[in]nNumerology- Numerology determine sub carrier spacing, Value: 0->4 0: 15khz, 1: 30khz, 2: 60khz 3: 120khz, 4: 240khz
[in]nBandwidth- Carrier bandwidth for in MHz. Value: 5->400
[in]nAbsFrePointA- Abs Freq Point A of the Carrier Center Frequency for in KHz Value: 450000->52600000
+
+
+
Returns
Number of RBs in cell
+

Returns number of RBs based on 38.101-1 and 38.101-2 for the cell

+ +

Definition at line 213 of file common.c.

+ +
+
+ +

◆ app_xran_get_scs()

+ +
+
+ + + + + + + + +
uint32_t app_xran_get_scs (uint8_t nMu)
+
+ +

Definition at line 182 of file common.c.

+ +
+
+ +

◆ app_xran_get_tti_interval()

+ +
+
+ + + + + + + + +
uint32_t app_xran_get_tti_interval (uint8_t nMu)
+
+ +

Definition at line 168 of file common.c.

+ +
+
+ +

◆ app_xran_set_slot_type()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int32_t app_xran_set_slot_type (uint32_t nPhyInstanceId,
uint32_t nFrameDuplexType,
uint32_t nTddPeriod,
struct xran_slot_configpsSlotConfig 
)
+
+ +

Definition at line 393 of file common.c.

+ +
+
+ +

◆ sys_load_file_to_buff()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int sys_load_file_to_buff (char * filename,
char * bufname,
unsigned char * pBuffer,
unsigned int size,
unsigned int buffers_num 
)
+
+ +

Definition at line 584 of file common.c.

+
+Here is the call graph for this function:
+
+
+ + + +
+ +
+
+ +

◆ sys_save_buf_to_file()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void sys_save_buf_to_file (char * filename,
char * bufname,
unsigned char * pBuffer,
unsigned int size,
unsigned int buffers_num 
)
+
+ +

Definition at line 550 of file common.c.

+
+Here is the call graph for this function:
+
+
+ + + + +
+ +
+
+ +

◆ sys_save_buf_to_file_txt()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void sys_save_buf_to_file_txt (char * filename,
char * bufname,
unsigned char * pBuffer,
unsigned int size,
unsigned int buffers_num 
)
+
+

2 * 2 * 2

+ +

Definition at line 635 of file common.c.

+
+Here is the call graph for this function:
+
+
+ + + +
+ +
+
+

Variable Documentation

+ +

◆ iq_bfw_buffer_size_dl

+ +
+
+ + + + +
int iq_bfw_buffer_size_dl
+
+ +

Definition at line 39 of file common.c.

+ +
+
+ +

◆ iq_bfw_buffer_size_ul

+ +
+
+ + + + +
int iq_bfw_buffer_size_ul
+
+ +

Definition at line 40 of file common.c.

+ +
+
+ +

◆ iq_playback_buffer_size_dl

+ +
+
+ + + + +
int iq_playback_buffer_size_dl
+
+ +

Definition at line 36 of file common.c.

+ +
+
+ +

◆ iq_playback_buffer_size_ul

+ +
+
+ + + + +
int iq_playback_buffer_size_ul
+
+ +

Definition at line 37 of file common.c.

+ +
+
+ +

◆ iq_srs_buffer_size_ul

+ +
+
+ + + + +
int iq_srs_buffer_size_ul
+
+ +

Definition at line 42 of file common.c.

+ +
+
+ +

◆ num_eAxc

+ +
+
+ + + + +
uint8_t num_eAxc
+
+ +

Definition at line 47 of file common.c.

+ +
+
+ +

◆ numCCPorts

+ +
+
+ + + + +
uint8_t numCCPorts
+
+ +

Definition at line 44 of file common.c.

+ +
+
+ +

◆ p_prach_log_buffer

+ +
+
+ + + + +
int16_t* p_prach_log_buffer[MAX_ANT_CARRIER_SUPPORTED]
+
+ +

Definition at line 66 of file common.c.

+ +
+
+ +

◆ p_rx_buffer

+ +
+
+ + + + +
int16_t* p_rx_buffer[MAX_ANT_CARRIER_SUPPORTED]
+
+ +

Definition at line 77 of file common.c.

+ +
+
+ +

◆ p_rx_dl_bfw_buffer

+ +
+
+ + + + +
int16_t* p_rx_dl_bfw_buffer[MAX_ANT_CARRIER_SUPPORTED]
+
+ +

Definition at line 91 of file common.c.

+ +
+
+ +

◆ p_rx_log_buffer

+ +
+
+ + + + +
int16_t* p_rx_log_buffer[MAX_ANT_CARRIER_SUPPORTED]
+
+ +

Definition at line 62 of file common.c.

+ +
+
+ +

◆ p_rx_ul_bfw_buffer

+ +
+
+ + + + +
int16_t* p_rx_ul_bfw_buffer[MAX_ANT_CARRIER_SUPPORTED]
+
+ +

Definition at line 96 of file common.c.

+ +
+
+ +

◆ p_srs_log_buffer

+ +
+
+ + + + +
int16_t* p_srs_log_buffer[XRAN_MAX_SECTOR_NR *XRAN_MAX_ANT_ARRAY_ELM_NR]
+
+ +

Definition at line 70 of file common.c.

+ +
+
+ +

◆ p_tx_buffer

+ +
+
+ + + + +
int16_t* p_tx_buffer[MAX_ANT_CARRIER_SUPPORTED]
+
+ +

Definition at line 74 of file common.c.

+ +
+
+ +

◆ p_tx_dl_bfw_buffer

+ +
+
+ + + + +
int16_t* p_tx_dl_bfw_buffer[MAX_ANT_CARRIER_SUPPORTED]
+
+ +

Definition at line 81 of file common.c.

+ +
+
+ +

◆ p_tx_play_buffer

+ +
+
+ + + + +
int16_t* p_tx_play_buffer[MAX_ANT_CARRIER_SUPPORTED]
+
+ +

Definition at line 50 of file common.c.

+ +
+
+ +

◆ p_tx_prach_play_buffer

+ +
+
+ + + + +
int16_t* p_tx_prach_play_buffer[MAX_ANT_CARRIER_SUPPORTED]
+
+ +

Definition at line 54 of file common.c.

+ +
+
+ +

◆ p_tx_srs_play_buffer

+ +
+
+ + + + +
int16_t* p_tx_srs_play_buffer[XRAN_MAX_SECTOR_NR *XRAN_MAX_ANT_ARRAY_ELM_NR]
+
+ +

Definition at line 58 of file common.c.

+ +
+
+ +

◆ p_tx_ul_bfw_buffer

+ +
+
+ + + + +
int16_t* p_tx_ul_bfw_buffer[MAX_ANT_CARRIER_SUPPORTED]
+
+ +

Definition at line 86 of file common.c.

+ +
+
+ +

◆ prach_log_buffer_position

+ +
+
+ + + + +
int32_t prach_log_buffer_position[MAX_ANT_CARRIER_SUPPORTED]
+
+ +

Definition at line 68 of file common.c.

+ +
+
+ +

◆ prach_log_buffer_size

+ +
+
+ + + + +
int32_t prach_log_buffer_size[MAX_ANT_CARRIER_SUPPORTED]
+
+ +

Definition at line 67 of file common.c.

+ +
+
+ +

◆ rx_buffer_size

+ +
+
+ + + + +
int32_t rx_buffer_size[MAX_ANT_CARRIER_SUPPORTED]
+
+ +

Definition at line 78 of file common.c.

+ +
+
+ +

◆ rx_dl_bfw_buffer_position

+ +
+
+ + + + +
int32_t rx_dl_bfw_buffer_position[MAX_ANT_CARRIER_SUPPORTED]
+
+ +

Definition at line 93 of file common.c.

+ +
+
+ +

◆ rx_dl_bfw_buffer_size

+ +
+
+ + + + +
int32_t rx_dl_bfw_buffer_size[MAX_ANT_CARRIER_SUPPORTED]
+
+ +

Definition at line 92 of file common.c.

+ +
+
+ +

◆ rx_log_buffer_position

+ +
+
+ + + + +
int32_t rx_log_buffer_position[MAX_ANT_CARRIER_SUPPORTED]
+
+ +

Definition at line 64 of file common.c.

+ +
+
+ +

◆ rx_log_buffer_size

+ +
+
+ + + + +
int32_t rx_log_buffer_size[MAX_ANT_CARRIER_SUPPORTED]
+
+ +

Definition at line 63 of file common.c.

+ +
+
+ +

◆ rx_ul_bfw_buffer_position

+ +
+
+ + + + +
int32_t rx_ul_bfw_buffer_position[MAX_ANT_CARRIER_SUPPORTED]
+
+ +

Definition at line 98 of file common.c.

+ +
+
+ +

◆ rx_ul_bfw_buffer_size

+ +
+
+ + + + +
int32_t rx_ul_bfw_buffer_size[MAX_ANT_CARRIER_SUPPORTED]
+
+ +

Definition at line 97 of file common.c.

+ +
+
+ +

◆ srs_log_buffer_position

+ +
+
+ + + + +
int32_t srs_log_buffer_position[XRAN_MAX_SECTOR_NR *XRAN_MAX_ANT_ARRAY_ELM_NR]
+
+ +

Definition at line 72 of file common.c.

+ +
+
+ +

◆ srs_log_buffer_size

+ +
+
+ + + + +
int32_t srs_log_buffer_size[XRAN_MAX_SECTOR_NR *XRAN_MAX_ANT_ARRAY_ELM_NR]
+
+ +

Definition at line 71 of file common.c.

+ +
+
+ +

◆ tx_buffer_size

+ +
+
+ + + + +
int32_t tx_buffer_size[MAX_ANT_CARRIER_SUPPORTED]
+
+ +

Definition at line 75 of file common.c.

+ +
+
+ +

◆ tx_dl_bfw_buffer_position

+ +
+
+ + + + +
int32_t tx_dl_bfw_buffer_position[MAX_ANT_CARRIER_SUPPORTED]
+
+ +

Definition at line 83 of file common.c.

+ +
+
+ +

◆ tx_dl_bfw_buffer_size

+ +
+
+ + + + +
int32_t tx_dl_bfw_buffer_size[MAX_ANT_CARRIER_SUPPORTED]
+
+ +

Definition at line 82 of file common.c.

+ +
+
+ +

◆ tx_play_buffer_position

+ +
+
+ + + + +
int32_t tx_play_buffer_position[MAX_ANT_CARRIER_SUPPORTED]
+
+ +

Definition at line 52 of file common.c.

+ +
+
+ +

◆ tx_play_buffer_size

+ +
+
+ + + + +
int32_t tx_play_buffer_size[MAX_ANT_CARRIER_SUPPORTED]
+
+ +

Definition at line 51 of file common.c.

+ +
+
+ +

◆ tx_prach_play_buffer_position

+ +
+
+ + + + +
int32_t tx_prach_play_buffer_position[MAX_ANT_CARRIER_SUPPORTED]
+
+ +

Definition at line 56 of file common.c.

+ +
+
+ +

◆ tx_prach_play_buffer_size

+ +
+
+ + + + +
int32_t tx_prach_play_buffer_size[MAX_ANT_CARRIER_SUPPORTED]
+
+ +

Definition at line 55 of file common.c.

+ +
+
+ +

◆ tx_srs_play_buffer_position

+ +
+
+ + + + +
int32_t tx_srs_play_buffer_position[XRAN_MAX_SECTOR_NR *XRAN_MAX_ANT_ARRAY_ELM_NR]
+
+ +

Definition at line 60 of file common.c.

+ +
+
+ +

◆ tx_srs_play_buffer_size

+ +
+
+ + + + +
int32_t tx_srs_play_buffer_size[XRAN_MAX_SECTOR_NR *XRAN_MAX_ANT_ARRAY_ELM_NR]
+
+ +

Definition at line 59 of file common.c.

+ +
+
+ +

◆ tx_ul_bfw_buffer_position

+ +
+
+ + + + +
int32_t tx_ul_bfw_buffer_position[MAX_ANT_CARRIER_SUPPORTED]
+
+ +

Definition at line 88 of file common.c.

+ +
+
+ +

◆ tx_ul_bfw_buffer_size

+ +
+
+ + + + +
int32_t tx_ul_bfw_buffer_size[MAX_ANT_CARRIER_SUPPORTED]
+
+ +

Definition at line 87 of file common.c.

+ +
+
+
+ + + + diff --git a/docs/API/common_8h__dep__incl.map b/docs/API/common_8h__dep__incl.map new file mode 100644 index 0000000..25dd540 --- /dev/null +++ b/docs/API/common_8h__dep__incl.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/API/common_8h__dep__incl.md5 b/docs/API/common_8h__dep__incl.md5 new file mode 100644 index 0000000..efadb8f --- /dev/null +++ b/docs/API/common_8h__dep__incl.md5 @@ -0,0 +1 @@ +e6f51128489481207d1bb8125ce20eac \ No newline at end of file diff --git a/docs/API/common_8h__dep__incl.png b/docs/API/common_8h__dep__incl.png new file mode 100644 index 0000000..5979131 Binary files /dev/null and b/docs/API/common_8h__dep__incl.png differ diff --git a/docs/API/common_8h__incl.map b/docs/API/common_8h__incl.map new file mode 100644 index 0000000..3f8f5b6 --- /dev/null +++ b/docs/API/common_8h__incl.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/API/common_8h__incl.md5 b/docs/API/common_8h__incl.md5 new file mode 100644 index 0000000..51c76a8 --- /dev/null +++ b/docs/API/common_8h__incl.md5 @@ -0,0 +1 @@ +1a58ea97f38350f048075b27db66f4a5 \ No newline at end of file diff --git a/docs/API/common_8h__incl.png b/docs/API/common_8h__incl.png new file mode 100644 index 0000000..71d6881 Binary files /dev/null and b/docs/API/common_8h__incl.png differ diff --git a/docs/API/common_8h_a8f27f0a8b6843f5e32ecbce83d487262_cgraph.map b/docs/API/common_8h_a8f27f0a8b6843f5e32ecbce83d487262_cgraph.map new file mode 100644 index 0000000..c44543e --- /dev/null +++ b/docs/API/common_8h_a8f27f0a8b6843f5e32ecbce83d487262_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/common_8h_a8f27f0a8b6843f5e32ecbce83d487262_cgraph.md5 b/docs/API/common_8h_a8f27f0a8b6843f5e32ecbce83d487262_cgraph.md5 new file mode 100644 index 0000000..77a46d3 --- /dev/null +++ b/docs/API/common_8h_a8f27f0a8b6843f5e32ecbce83d487262_cgraph.md5 @@ -0,0 +1 @@ +e3da020bfb01b8f8983965f967d2d99a \ No newline at end of file diff --git a/docs/API/common_8h_a8f27f0a8b6843f5e32ecbce83d487262_cgraph.png b/docs/API/common_8h_a8f27f0a8b6843f5e32ecbce83d487262_cgraph.png new file mode 100644 index 0000000..aebb342 Binary files /dev/null and b/docs/API/common_8h_a8f27f0a8b6843f5e32ecbce83d487262_cgraph.png differ diff --git a/docs/API/common_8h_ab022cdd736a497eb5cfa7d5dcab0634c_cgraph.map b/docs/API/common_8h_ab022cdd736a497eb5cfa7d5dcab0634c_cgraph.map new file mode 100644 index 0000000..c88c292 --- /dev/null +++ b/docs/API/common_8h_ab022cdd736a497eb5cfa7d5dcab0634c_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/common_8h_ab022cdd736a497eb5cfa7d5dcab0634c_cgraph.md5 b/docs/API/common_8h_ab022cdd736a497eb5cfa7d5dcab0634c_cgraph.md5 new file mode 100644 index 0000000..e609655 --- /dev/null +++ b/docs/API/common_8h_ab022cdd736a497eb5cfa7d5dcab0634c_cgraph.md5 @@ -0,0 +1 @@ +f3163092bfa26c534142a53b5da5f7ca \ No newline at end of file diff --git a/docs/API/common_8h_ab022cdd736a497eb5cfa7d5dcab0634c_cgraph.png b/docs/API/common_8h_ab022cdd736a497eb5cfa7d5dcab0634c_cgraph.png new file mode 100644 index 0000000..3ee2058 Binary files /dev/null and b/docs/API/common_8h_ab022cdd736a497eb5cfa7d5dcab0634c_cgraph.png differ diff --git a/docs/API/common_8h_acd37223937d89e77a1ccbdc6e94b38cc_cgraph.map b/docs/API/common_8h_acd37223937d89e77a1ccbdc6e94b38cc_cgraph.map new file mode 100644 index 0000000..c41af8a --- /dev/null +++ b/docs/API/common_8h_acd37223937d89e77a1ccbdc6e94b38cc_cgraph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/common_8h_acd37223937d89e77a1ccbdc6e94b38cc_cgraph.md5 b/docs/API/common_8h_acd37223937d89e77a1ccbdc6e94b38cc_cgraph.md5 new file mode 100644 index 0000000..4757142 --- /dev/null +++ b/docs/API/common_8h_acd37223937d89e77a1ccbdc6e94b38cc_cgraph.md5 @@ -0,0 +1 @@ +99a1f48fea0ac26d018c5a99f4b5ddac \ No newline at end of file diff --git a/docs/API/common_8h_acd37223937d89e77a1ccbdc6e94b38cc_cgraph.png b/docs/API/common_8h_acd37223937d89e77a1ccbdc6e94b38cc_cgraph.png new file mode 100644 index 0000000..ca7699b Binary files /dev/null and b/docs/API/common_8h_acd37223937d89e77a1ccbdc6e94b38cc_cgraph.png differ diff --git a/docs/API/common_8h_source.html b/docs/API/common_8h_source.html new file mode 100644 index 0000000..be3b07f --- /dev/null +++ b/docs/API/common_8h_source.html @@ -0,0 +1,152 @@ + + + + + + + +o-du/phy: common.h Source File + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
common.h
+
+
+Go to the documentation of this file.
1 /******************************************************************************
2 *
3 * Copyright (c) 2019 Intel.
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 *
17 *******************************************************************************/
18 
19 #ifndef _XRAN_APP_COMMON_H_
20 #define _XRAN_APP_COMMON_H_
21 
22 #include <stdio.h>
23 #include <unistd.h>
24 
25 #include "xran_fh_o_du.h"
26 #include "xran_pkt_up.h"
27 
28 #include <rte_common.h>
29 #include <rte_mbuf.h>
30 
31 #define VERSIONX "#DIRTY#"
32 
33 #define APP_O_DU 0
34 #define APP_O_RU 1
35 
37 {
40 };
41 
43 {
47 };
48 
49 #define N_SC_PER_PRB 12
50 #define N_SYM_PER_SLOT 14
51 #define MAX_ANT_CARRIER_SUPPORTED (XRAN_MAX_SECTOR_NR*XRAN_MAX_ANTENNA_NR)
52 #define MAX_ANT_CARRIER_SUPPORTED_CAT_B (XRAN_MAX_SECTOR_NR*XRAN_MAX_ANT_ARRAY_ELM_NR)
53 
54 #define SUBFRAME_DURATION_US 1000
55 //#define SLOTNUM_PER_SUBFRAME 8
56 
57 #define SUBFRAMES_PER_SYSTEMFRAME 10
58 #define IQ_PLAYBACK_BUFFER_BYTES (XRAN_NUM_OF_SLOT_IN_TDD_LOOP*N_SYM_PER_SLOT*XRAN_MAX_PRBS*N_SC_PER_PRB*4L)
59 /* PRACH data samples are 32 bits wide, 16bits for I and 16bits for Q. Each packet contains 839 samples for long sequence or 144*14 (max) for short sequence. The payload length is 3356 octets.*/
60 #define PRACH_PLAYBACK_BUFFER_BYTES (144*14*4L)
61 
62 #ifdef _DEBUG
63 #define iAssert(p) if(!(p)){fprintf(stderr,\
64  "Assertion failed: %s, file %s, line %d, val %d\n",\
65  #p, __FILE__, __LINE__, p);exit(-1);}
66 #else /* _DEBUG */
67 #define iAssert(p)
68 #endif /* _DEBUG */
69 
72 
73 extern int iq_bfw_buffer_size_dl;
74 extern int iq_bfw_buffer_size_ul;
75 
76 extern int iq_srs_buffer_size_ul;
77 
78 extern uint8_t numCCPorts;
79 /* Number of antennas supported by front-end */
80 
81 extern uint8_t num_eAxc;
82 /* Number of antennas supported by front-end */
86 
90 
94 
95 /* Number of antennas supported by front-end */
99 
103 
107 
108 extern int16_t *p_tx_buffer[MAX_ANT_CARRIER_SUPPORTED];
110 
111 extern int16_t *p_rx_buffer[MAX_ANT_CARRIER_SUPPORTED];
113 
114 /* beamforming weights for UL (O-DU) */
118 
119 /* beamforming weights for UL (O-DU) */
123 
124 /* beamforming weights for UL (O-RU) */
128 
129 /* beamforming weights for UL (O-RU) */
133 
134 void sys_save_buf_to_file_txt(char *filename, char *bufname, unsigned char *pBuffer, unsigned int size, unsigned int buffers_num);
135 void sys_save_buf_to_file(char *filename, char *bufname, unsigned char *pBuffer, unsigned int size, unsigned int buffers_num);
136 int sys_load_file_to_buff(char *filename, char *bufname, unsigned char *pBuffer, unsigned int size, unsigned int buffers_num);
137 uint32_t app_xran_get_scs(uint8_t nMu);
138 uint16_t app_xran_get_num_rbs(uint32_t nNumerology, uint32_t nBandwidth, uint32_t nAbsFrePointA);
139 uint32_t app_xran_cal_nrarfcn(uint32_t nCenterFreq);
140 int32_t app_xran_set_slot_type(uint32_t nPhyInstanceId, uint32_t nFrameDuplexType,
141  uint32_t nTddPeriod, struct xran_slot_config *psSlotConfig);
142 uint32_t app_xran_get_tti_interval(uint8_t nMu);
143 
144 
145 
146 #endif /*_XRAN_APP_COMMON_H_*/
void sys_save_buf_to_file_txt(char *filename, char *bufname, unsigned char *pBuffer, unsigned int size, unsigned int buffers_num)
Definition: common.c:635
+ +
nRChBwOptions
Definition: common.h:42
+
#define MAX_ANT_CARRIER_SUPPORTED
Definition: common.h:51
+
uint32_t app_xran_get_tti_interval(uint8_t nMu)
Definition: common.c:168
+
int16_t * p_rx_buffer[MAX_ANT_CARRIER_SUPPORTED]
Definition: common.c:77
+
uint32_t app_xran_get_scs(uint8_t nMu)
Definition: common.c:182
+ +
#define XRAN_MAX_ANT_ARRAY_ELM_NR
Definition: xran_fh_o_du.h:118
+
int32_t rx_dl_bfw_buffer_size[MAX_ANT_CARRIER_SUPPORTED]
Definition: common.c:92
+ +
int iq_bfw_buffer_size_ul
Definition: common.c:40
+ +
int iq_playback_buffer_size_dl
Definition: common.c:36
+
int16_t * p_rx_dl_bfw_buffer[MAX_ANT_CARRIER_SUPPORTED]
Definition: common.c:91
+ +
int32_t rx_buffer_size[MAX_ANT_CARRIER_SUPPORTED]
Definition: common.c:78
+ + + + +
#define XRAN_MAX_SECTOR_NR
Definition: xran_fh_o_du.h:110
+
int32_t tx_play_buffer_position[MAX_ANT_CARRIER_SUPPORTED]
Definition: common.c:52
+ +
int16_t * p_tx_dl_bfw_buffer[MAX_ANT_CARRIER_SUPPORTED]
Definition: common.c:81
+
int sys_load_file_to_buff(char *filename, char *bufname, unsigned char *pBuffer, unsigned int size, unsigned int buffers_num)
Definition: common.c:584
+
int32_t tx_ul_bfw_buffer_position[MAX_ANT_CARRIER_SUPPORTED]
Definition: common.c:88
+
int32_t tx_play_buffer_size[MAX_ANT_CARRIER_SUPPORTED]
Definition: common.c:51
+
int32_t srs_log_buffer_size[XRAN_MAX_SECTOR_NR *XRAN_MAX_ANT_ARRAY_ELM_NR]
Definition: common.c:71
+
uint32_t app_xran_cal_nrarfcn(uint32_t nCenterFreq)
Definition: common.c:338
+
int16_t * p_tx_buffer[MAX_ANT_CARRIER_SUPPORTED]
Definition: common.c:74
+
void sys_save_buf_to_file(char *filename, char *bufname, unsigned char *pBuffer, unsigned int size, unsigned int buffers_num)
Definition: common.c:550
+ + +
int32_t prach_log_buffer_size[MAX_ANT_CARRIER_SUPPORTED]
Definition: common.c:67
+
int16_t * p_srs_log_buffer[XRAN_MAX_SECTOR_NR *XRAN_MAX_ANT_ARRAY_ELM_NR]
Definition: common.c:70
+
int32_t rx_ul_bfw_buffer_size[MAX_ANT_CARRIER_SUPPORTED]
Definition: common.c:97
+
int32_t rx_log_buffer_position[MAX_ANT_CARRIER_SUPPORTED]
Definition: common.c:64
+
int32_t rx_ul_bfw_buffer_position[MAX_ANT_CARRIER_SUPPORTED]
Definition: common.c:98
+
int32_t rx_log_buffer_size[MAX_ANT_CARRIER_SUPPORTED]
Definition: common.c:63
+
int32_t tx_srs_play_buffer_position[XRAN_MAX_SECTOR_NR *XRAN_MAX_ANT_ARRAY_ELM_NR]
Definition: common.c:60
+
int iq_srs_buffer_size_ul
Definition: common.c:42
+
uint16_t app_xran_get_num_rbs(uint32_t nNumerology, uint32_t nBandwidth, uint32_t nAbsFrePointA)
Definition: common.c:213
+
int32_t tx_srs_play_buffer_size[XRAN_MAX_SECTOR_NR *XRAN_MAX_ANT_ARRAY_ELM_NR]
Definition: common.c:59
+
int32_t rx_dl_bfw_buffer_position[MAX_ANT_CARRIER_SUPPORTED]
Definition: common.c:93
+
int16_t * p_tx_prach_play_buffer[MAX_ANT_CARRIER_SUPPORTED]
Definition: common.c:54
+
int16_t * p_tx_srs_play_buffer[XRAN_MAX_SECTOR_NR *XRAN_MAX_ANT_ARRAY_ELM_NR]
Definition: common.c:58
+
int32_t tx_dl_bfw_buffer_size[MAX_ANT_CARRIER_SUPPORTED]
Definition: common.c:82
+
int32_t tx_prach_play_buffer_size[MAX_ANT_CARRIER_SUPPORTED]
Definition: common.c:55
+ +
uint8_t num_eAxc
Definition: common.c:47
+
int16_t * p_tx_play_buffer[MAX_ANT_CARRIER_SUPPORTED]
Definition: common.c:50
+
int32_t app_xran_set_slot_type(uint32_t nPhyInstanceId, uint32_t nFrameDuplexType, uint32_t nTddPeriod, struct xran_slot_config *psSlotConfig)
Definition: common.c:393
+
int16_t * p_prach_log_buffer[MAX_ANT_CARRIER_SUPPORTED]
Definition: common.c:66
+
app_state
Definition: common.h:36
+
This file provides public interface to xRAN Front Haul layer implementation as defined in the ORAN-WG...
+
int16_t * p_tx_ul_bfw_buffer[MAX_ANT_CARRIER_SUPPORTED]
Definition: common.c:86
+ +
int32_t tx_buffer_size[MAX_ANT_CARRIER_SUPPORTED]
Definition: common.c:75
+
Definitions and support functions to process XRAN packet.
+
int32_t tx_ul_bfw_buffer_size[MAX_ANT_CARRIER_SUPPORTED]
Definition: common.c:87
+
int iq_bfw_buffer_size_dl
Definition: common.c:39
+ + + +
int iq_playback_buffer_size_ul
Definition: common.c:37
+
int32_t tx_dl_bfw_buffer_position[MAX_ANT_CARRIER_SUPPORTED]
Definition: common.c:83
+
int16_t * p_rx_ul_bfw_buffer[MAX_ANT_CARRIER_SUPPORTED]
Definition: common.c:96
+
int16_t * p_rx_log_buffer[MAX_ANT_CARRIER_SUPPORTED]
Definition: common.c:62
+
int32_t tx_prach_play_buffer_position[MAX_ANT_CARRIER_SUPPORTED]
Definition: common.c:56
+
uint8_t numCCPorts
Definition: common.c:44
+
int32_t prach_log_buffer_position[MAX_ANT_CARRIER_SUPPORTED]
Definition: common.c:68
+
int32_t srs_log_buffer_position[XRAN_MAX_SECTOR_NR *XRAN_MAX_ANT_ARRAY_ELM_NR]
Definition: common.c:72
+ +
+ + + + diff --git a/docs/API/common_8hpp.html b/docs/API/common_8hpp.html new file mode 100644 index 0000000..4be2d32 --- /dev/null +++ b/docs/API/common_8hpp.html @@ -0,0 +1,1194 @@ + + + + + + + +o-du/phy: common.hpp File Reference + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
common.hpp File Reference
+
+
+
#include <exception>
+#include <random>
+#include <string>
+#include <utility>
+#include <vector>
+#include <immintrin.h>
+#include <malloc.h>
+#include <rte_config.h>
+#include <rte_malloc.h>
+#include "gtest/gtest.h"
+#include "common_typedef_xran.h"
+#include "json.hpp"
+
+Include dependency graph for common.hpp:
+
+
+ + + + +
+
+This graph shows which files directly or indirectly include this file:
+
+
+ + + + + + + + + + + + + +
+
+

Go to the source code of this file.

+ + + + + + + + + + +

+Data Structures

struct  BenchmarkParameters
 
struct  missing_config_file_exception
 
struct  reading_input_file_exception
 
class  KernelTests
 
+ + + + + + + + + +

+Macros

#define _BBLIB_DPDK_
 
#define ASSERT_ARRAY_NEAR(reference, actual, size, precision)   assert_array_near(reference, actual, size, precision)
 
#define ASSERT_ARRAY_EQ(reference, actual, size)   assert_array_eq(reference, actual, size)
 
#define ASSERT_AVG_GREATER_COMPLEX(reference, actual, size, precision)   assert_avg_greater_complex(reference, actual, size, precision)
 
+ + + +

+Typedefs

using json = nlohmann::json
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

int bind_to_cpu (const unsigned cpu)
 Attach current process to the selected core. More...
 
std::pair< double, double > calculate_statistics (const std::vector< long > values)
 Calculate the mean and variance from the result of the run_benchmark. More...
 
std::vector< unsigned > get_sequence (const unsigned number)
 For a given number return sequence of number from 0 to number - 1. More...
 
json read_json_from_file (const std::string &filename)
 Read JSON from the given file. More...
 
char * read_data_to_aligned_array (const std::string &filename)
 Read binary data from the file. More...
 
unsigned long tsc_recovery ()
 Measure the TSC on the machine. More...
 
unsigned long tsc_tick ()
 Return the current value of the TSC. More...
 
template<typename F , typename ... Args>
std::pair< double, double > run_benchmark (F function, Args ... args)
 Run the given function and return the mean run time and stddev. More...
 
template<typename T >
void assert_array_eq (const T *reference, const T *actual, const int size)
 Assert elements of two arrays. It calls ASSERT_EQ for each element of the array. More...
 
template<typename T >
void assert_array_near (const T *reference, const T *actual, const int size, const double precision)
 Assert elements of two arrays. It calls ASSERT_NEAR for each element of the array. More...
 
template<>
void assert_array_near< complex_float > (const complex_float *reference, const complex_float *actual, const int size, const double precision)
 
template<typename T >
void assert_avg_greater_complex (const T *reference, const T *actual, const int size, const double precision)
 Assert average diff of two arrays. It calls ASSERT_GT to check the average. More...
 
template<typename T >
T * aligned_malloc (const int size, const unsigned alignment)
 Allocates memory of the given size. More...
 
template<typename T >
void aligned_free (T *ptr)
 Frees memory pointed by the given pointer. More...
 
template<typename T , typename U >
T * generate_random_numbers (const long size, const unsigned alignment, U &distribution)
 generate random numbers. More...
 
template<typename T >
T * generate_random_data (const long size, const unsigned alignment)
 generate random data. More...
 
template<typename T >
T * generate_random_int_numbers (const long size, const unsigned alignment, const T lo_range, const T up_range)
 generate integer random numbers. More...
 
template<typename T >
T * generate_random_real_numbers (const long size, const unsigned alignment, const T lo_range, const T up_range)
 generate real random numbers. More...
 
+

Macro Definition Documentation

+ +

◆ _BBLIB_DPDK_

+ +
+
+ + + + +
#define _BBLIB_DPDK_
+
+ +

Definition at line 40 of file common.hpp.

+ +
+
+ +

◆ ASSERT_ARRAY_EQ

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
#define ASSERT_ARRAY_EQ( reference,
 actual,
 size 
)   assert_array_eq(reference, actual, size)
+
+ +

Definition at line 58 of file common.hpp.

+ +
+
+ +

◆ ASSERT_ARRAY_NEAR

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#define ASSERT_ARRAY_NEAR( reference,
 actual,
 size,
 precision 
)   assert_array_near(reference, actual, size, precision)
+
+ +

Definition at line 55 of file common.hpp.

+ +
+
+ +

◆ ASSERT_AVG_GREATER_COMPLEX

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#define ASSERT_AVG_GREATER_COMPLEX( reference,
 actual,
 size,
 precision 
)   assert_avg_greater_complex(reference, actual, size, precision)
+
+ +

Definition at line 61 of file common.hpp.

+ +
+
+

Typedef Documentation

+ +

◆ json

+ +
+
+ + + + +
using json = nlohmann::json
+
+ +

Definition at line 53 of file common.hpp.

+ +
+
+

Function Documentation

+ +

◆ aligned_free()

+ +
+
+ + + + + + + + +
void aligned_free (T * ptr)
+
+ +

Frees memory pointed by the given pointer.

+

aligned_free is a wrapper for functions that free memory allocated by aligned_malloc: 'rte_free' from DPDK if hugepages are defined and 'free' otherwise.

+
Parameters
+ + +
[in]ptrPointer to the allocated memory.
+
+
+ +

Definition at line 566 of file common.hpp.

+ +
+
+ +

◆ aligned_malloc()

+ +
+
+ + + + + + + + + + + + + + + + + + +
T* aligned_malloc (const int size,
const unsigned alignment 
)
+
+ +

Allocates memory of the given size.

+

aligned_malloc is wrapper to functions that allocate memory: 'rte_malloc' from DPDK if hugepages are defined, 'memalign' otherwise. Size is defined as a number of variables of given type e.g. floats, rather than bytes. It hides sizeof(T) multiplication and cast hence makes things cleaner.

+
Parameters
+ + + +
[in]sizeSize of the memory to allocate.
[in]alignmentBytes alignment of the allocated memory. If 0, the return is a pointer that is suitably aligned for any kind of variable (in the same manner as malloc()). Otherwise, the return is a pointer that is a multiple of align. In this case, it must be a power of two. (Minimum alignment is the cacheline size, i.e. 64-bytes)
+
+
+
Returns
Pointer to the allocated memory.
+ +

Definition at line 544 of file common.hpp.

+ +
+
+ +

◆ assert_array_eq()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void assert_array_eq (const T * reference,
const T * actual,
const int size 
)
+
+ +

Assert elements of two arrays. It calls ASSERT_EQ for each element of the array.

+
Parameters
+ + + + +
[in]referenceArray with reference values.
[in]actualArray with the actual output.
[in]sizeSize of the array.
+
+
+ +

Definition at line 448 of file common.hpp.

+ +
+
+ +

◆ assert_array_near()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void assert_array_near (const T * reference,
const T * actual,
const int size,
const double precision 
)
+
+ +

Assert elements of two arrays. It calls ASSERT_NEAR for each element of the array.

+
Parameters
+ + + + + +
[in]referenceArray with reference values.
[in]actualArray with the actual output.
[in]sizeSize of the array.
[in]precisionPrecision fo the comparision used by ASSERT_NEAR.
+
+
+ +

Definition at line 465 of file common.hpp.

+ +
+
+ +

◆ assert_array_near< complex_float >()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void assert_array_near< complex_float > (const complex_floatreference,
const complex_floatactual,
const int size,
const double precision 
)
+
+ +

Definition at line 475 of file common.hpp.

+ +
+
+ +

◆ assert_avg_greater_complex()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void assert_avg_greater_complex (const T * reference,
const T * actual,
const int size,
const double precision 
)
+
+ +

Assert average diff of two arrays. It calls ASSERT_GT to check the average.

+
Parameters
+ + + + + +
[in]referenceArray with reference values, interleaved IQ inputs.
[in]actualArray with the actual output, interleaved IQ inputs.
[in]sizeSize of the array, based on complex inputs.
[in]precisionPrecision for the comparison used by ASSERT_GT.
+
+
+ +

Definition at line 494 of file common.hpp.

+ +
+
+ +

◆ bind_to_cpu()

+ +
+
+ + + + + + + + +
int bind_to_cpu (const unsigned cpu)
+
+ +

Attach current process to the selected core.

+
Parameters
+ + +
[in]cpuCore number.
+
+
+
Returns
0 on success, -1 otherwise.
+ +

Definition at line 47 of file common.cpp.

+
+Here is the caller graph for this function:
+
+
+ + + + + + + +
+ +
+
+ +

◆ calculate_statistics()

+ +
+
+ + + + + + + + +
std::pair<double, double> calculate_statistics (const std::vector< long > values)
+
+ +

Calculate the mean and variance from the result of the run_benchmark.

+
Parameters
+ + +
[in]valuesVector with result values.
+
+
+
Returns
std::pair where the first element is mean and the second one is standard deviation.
+
Note
It's not a general mean/stddev function it only works properly when feed with data from the benchmark function.
+ +

Definition at line 60 of file common.cpp.

+
+Here is the caller graph for this function:
+
+
+ + + + + + + + +
+ +
+
+ +

◆ generate_random_data()

+ +
+
+ + + + + + + + + + + + + + + + + + +
T* generate_random_data (const long size,
const unsigned alignment 
)
+
+ +

generate random data.

+

It allocates memory and populate it with random data using C++11 default engine and uniform integer distribution (bytes not floats are uniformly distributed). Don't forget to free allocated memory!

+
Parameters
+ + + +
[in]sizeSize of the memory to be filled with random data.
[in]alignmentBytes alignment of the memory.
+
+
+
Returns
Pointer to the allocated memory with random data.
+ +

Definition at line 618 of file common.hpp.

+ +
+
+ +

◆ generate_random_int_numbers()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
T* generate_random_int_numbers (const long size,
const unsigned alignment,
const T lo_range,
const T up_range 
)
+
+ +

generate integer random numbers.

+

It allocates memory and populate it with random numbers using C++11 default engine and uniform integer distribution (where lo_range <= x < up_range). Don't forget to free allocated memory! The result type generated by the generator should be one of int types.

+
Parameters
+ + + + + +
[in]sizeSize of the memory to be filled with random data.
[in]alignmentBytes alignment of the memory.
[in]lo_rangeLower bound of range of values returned by random generator.
[in]up_rangeUpper bound of range of values returned by random generator.
+
+
+
Returns
Pointer to the allocated memory with random data.
+ +

Definition at line 640 of file common.hpp.

+ +
+
+ +

◆ generate_random_numbers()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
T* generate_random_numbers (const long size,
const unsigned alignment,
U & distribution 
)
+
+ +

generate random numbers.

+

It allocates memory and populate it with random numbers using C++11 default engine and uniform real / int distribution (where lo_range <= x <up_range). Don't forget to free allocated memory!

+
Parameters
+ + + + +
[in]sizeSize of the memory to be filled with random data.
[in]alignmentBytes alignment of the memory.
[in]distributionDistribuiton for random generator.
+
+
+
Returns
Pointer to the allocated memory with random data.
+ +

Definition at line 593 of file common.hpp.

+ +
+
+ +

◆ generate_random_real_numbers()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
T* generate_random_real_numbers (const long size,
const unsigned alignment,
const T lo_range,
const T up_range 
)
+
+ +

generate real random numbers.

+

It allocates memory and populate it with random numbers using C++11 default engine and uniform real distribution (where lo_range <= x <up_range). Don't forget to free allocated memory! The result type generated by the generator should be one of real types: float, double or long double.

+
Parameters
+ + + + + +
[in]sizeSize of the memory to be filled with random data.
[in]alignmentBytes alignment of the memory.
[in]lo_rangeLower bound of range of values returned by random generator.
[in]up_rangeUpper bound of range of values returned by random generator.
+
+
+
Returns
Pointer to the allocated memory with random data.
+ +

Definition at line 663 of file common.hpp.

+ +
+
+ +

◆ get_sequence()

+ +
+
+ + + + + + + + +
std::vector<unsigned> get_sequence (const unsigned number)
+
+ +

For a given number return sequence of number from 0 to number - 1.

+
Parameters
+ + +
[in]numberPositive integer value.
+
+
+
Returns
Vector with the sorted integer numbers between 0 and number - 1.
+ +

Definition at line 78 of file common.cpp.

+
+Here is the caller graph for this function:
+
+
+ + + + + + +
+ +
+
+ +

◆ read_data_to_aligned_array()

+ +
+
+ + + + + + + + +
char* read_data_to_aligned_array (const std::string & filename)
+
+ +

Read binary data from the file.

+
Parameters
+ + +
[in]filenamename of the binary file.
+
+
+
Returns
Pointer to the allocated memory with data from the file.
+
Exceptions
+ + +
std::runtime_errorwhen memory cannot be allocated.
+
+
+ +

Definition at line 86 of file common.cpp.

+
+Here is the caller graph for this function:
+
+
+ + + + + + + + + + + + +
+ +
+
+ +

◆ read_json_from_file()

+ +
+
+ + + + + + + + +
json read_json_from_file (const std::string & filename)
+
+ +

Read JSON from the given file.

+
Parameters
+ + +
[in]filenamename of the .json file.
+
+
+
Returns
JSON object with data.
+
Exceptions
+ + +
missing_config_file_exceptionwhen file cannot be opened.
+
+
+ +

Definition at line 106 of file common.cpp.

+
+Here is the caller graph for this function:
+
+
+ + + + + + + + + +
+ +
+
+ +

◆ run_benchmark()

+ +
+
+ + + + + + + + + + + + + + + + + + +
std::pair<double, double> run_benchmark (function,
Args ... args 
)
+
+ +

Run the given function and return the mean run time and stddev.

+
Parameters
+ + + +
[in]functionFunction to benchmark.
[in]argsFunction's arguments.
+
+
+
Returns
std::pair where the first element is mean and the second one is standard deviation.
+ +

Definition at line 425 of file common.hpp.

+
+Here is the call graph for this function:
+
+
+ + + +
+
+Here is the caller graph for this function:
+
+
+ + + + +
+ +
+
+ +

◆ tsc_recovery()

+ +
+
+ + + + + + + +
unsigned long tsc_recovery ()
+
+ +

Measure the TSC on the machine.

+
Returns
Number of ticks per us
+ +

Definition at line 119 of file common.cpp.

+
+Here is the call graph for this function:
+
+
+ + + +
+
+Here is the caller graph for this function:
+
+
+ + + + + + +
+ +
+
+ +

◆ tsc_tick()

+ +
+
+ + + + + + + +
unsigned long tsc_tick ()
+
+ +

Return the current value of the TSC.

+
Returns
Current TSC value
+ +

Definition at line 162 of file common.cpp.

+
+Here is the caller graph for this function:
+
+
+ + + + + + + +
+ +
+
+
+ + + + diff --git a/docs/API/common_8hpp__dep__incl.map b/docs/API/common_8hpp__dep__incl.map new file mode 100644 index 0000000..585a3cc --- /dev/null +++ b/docs/API/common_8hpp__dep__incl.map @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/docs/API/common_8hpp__dep__incl.md5 b/docs/API/common_8hpp__dep__incl.md5 new file mode 100644 index 0000000..582fbec --- /dev/null +++ b/docs/API/common_8hpp__dep__incl.md5 @@ -0,0 +1 @@ +67ab6e391dcde57877da273698d8b709 \ No newline at end of file diff --git a/docs/API/common_8hpp__dep__incl.png b/docs/API/common_8hpp__dep__incl.png new file mode 100644 index 0000000..e2a66ae Binary files /dev/null and b/docs/API/common_8hpp__dep__incl.png differ diff --git a/docs/API/common_8hpp__incl.map b/docs/API/common_8hpp__incl.map new file mode 100644 index 0000000..b342ccc --- /dev/null +++ b/docs/API/common_8hpp__incl.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/common_8hpp__incl.md5 b/docs/API/common_8hpp__incl.md5 new file mode 100644 index 0000000..654c352 --- /dev/null +++ b/docs/API/common_8hpp__incl.md5 @@ -0,0 +1 @@ +d5905906aaf5c3f4fb396c6fe1a9e1ea \ No newline at end of file diff --git a/docs/API/common_8hpp__incl.png b/docs/API/common_8hpp__incl.png new file mode 100644 index 0000000..7f18585 Binary files /dev/null and b/docs/API/common_8hpp__incl.png differ diff --git a/docs/API/common_8hpp_a0ab5719a5f67d4d52057b2c4550fe930_icgraph.map b/docs/API/common_8hpp_a0ab5719a5f67d4d52057b2c4550fe930_icgraph.map new file mode 100644 index 0000000..8106950 --- /dev/null +++ b/docs/API/common_8hpp_a0ab5719a5f67d4d52057b2c4550fe930_icgraph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/API/common_8hpp_a0ab5719a5f67d4d52057b2c4550fe930_icgraph.md5 b/docs/API/common_8hpp_a0ab5719a5f67d4d52057b2c4550fe930_icgraph.md5 new file mode 100644 index 0000000..25b47b3 --- /dev/null +++ b/docs/API/common_8hpp_a0ab5719a5f67d4d52057b2c4550fe930_icgraph.md5 @@ -0,0 +1 @@ +0b7a26ec8bc855b7680bd6bb978bf65d \ No newline at end of file diff --git a/docs/API/common_8hpp_a0ab5719a5f67d4d52057b2c4550fe930_icgraph.png b/docs/API/common_8hpp_a0ab5719a5f67d4d52057b2c4550fe930_icgraph.png new file mode 100644 index 0000000..e19d8f7 Binary files /dev/null and b/docs/API/common_8hpp_a0ab5719a5f67d4d52057b2c4550fe930_icgraph.png differ diff --git a/docs/API/common_8hpp_a39bf4f7770751080f5b72046abfd01a5_icgraph.map b/docs/API/common_8hpp_a39bf4f7770751080f5b72046abfd01a5_icgraph.map new file mode 100644 index 0000000..3a53d82 --- /dev/null +++ b/docs/API/common_8hpp_a39bf4f7770751080f5b72046abfd01a5_icgraph.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/API/common_8hpp_a39bf4f7770751080f5b72046abfd01a5_icgraph.md5 b/docs/API/common_8hpp_a39bf4f7770751080f5b72046abfd01a5_icgraph.md5 new file mode 100644 index 0000000..237315e --- /dev/null +++ b/docs/API/common_8hpp_a39bf4f7770751080f5b72046abfd01a5_icgraph.md5 @@ -0,0 +1 @@ +e45a74d0df7507e0fb7eb7b0df5141af \ No newline at end of file diff --git a/docs/API/common_8hpp_a39bf4f7770751080f5b72046abfd01a5_icgraph.png b/docs/API/common_8hpp_a39bf4f7770751080f5b72046abfd01a5_icgraph.png new file mode 100644 index 0000000..0bb7f06 Binary files /dev/null and b/docs/API/common_8hpp_a39bf4f7770751080f5b72046abfd01a5_icgraph.png differ diff --git a/docs/API/common_8hpp_a56c41cbb9de4bce25da45ecd74b46a81_cgraph.map b/docs/API/common_8hpp_a56c41cbb9de4bce25da45ecd74b46a81_cgraph.map new file mode 100644 index 0000000..45c9e93 --- /dev/null +++ b/docs/API/common_8hpp_a56c41cbb9de4bce25da45ecd74b46a81_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/common_8hpp_a56c41cbb9de4bce25da45ecd74b46a81_cgraph.md5 b/docs/API/common_8hpp_a56c41cbb9de4bce25da45ecd74b46a81_cgraph.md5 new file mode 100644 index 0000000..2758eae --- /dev/null +++ b/docs/API/common_8hpp_a56c41cbb9de4bce25da45ecd74b46a81_cgraph.md5 @@ -0,0 +1 @@ +181b2b7d01656eba51d11fbf6daa2297 \ No newline at end of file diff --git a/docs/API/common_8hpp_a56c41cbb9de4bce25da45ecd74b46a81_cgraph.png b/docs/API/common_8hpp_a56c41cbb9de4bce25da45ecd74b46a81_cgraph.png new file mode 100644 index 0000000..a735d7a Binary files /dev/null and b/docs/API/common_8hpp_a56c41cbb9de4bce25da45ecd74b46a81_cgraph.png differ diff --git a/docs/API/common_8hpp_a56c41cbb9de4bce25da45ecd74b46a81_icgraph.map b/docs/API/common_8hpp_a56c41cbb9de4bce25da45ecd74b46a81_icgraph.map new file mode 100644 index 0000000..845decb --- /dev/null +++ b/docs/API/common_8hpp_a56c41cbb9de4bce25da45ecd74b46a81_icgraph.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/API/common_8hpp_a56c41cbb9de4bce25da45ecd74b46a81_icgraph.md5 b/docs/API/common_8hpp_a56c41cbb9de4bce25da45ecd74b46a81_icgraph.md5 new file mode 100644 index 0000000..df7426f --- /dev/null +++ b/docs/API/common_8hpp_a56c41cbb9de4bce25da45ecd74b46a81_icgraph.md5 @@ -0,0 +1 @@ +0246dbbe76f19af59af4f1d331b3c8d0 \ No newline at end of file diff --git a/docs/API/common_8hpp_a56c41cbb9de4bce25da45ecd74b46a81_icgraph.png b/docs/API/common_8hpp_a56c41cbb9de4bce25da45ecd74b46a81_icgraph.png new file mode 100644 index 0000000..42a82ea Binary files /dev/null and b/docs/API/common_8hpp_a56c41cbb9de4bce25da45ecd74b46a81_icgraph.png differ diff --git a/docs/API/common_8hpp_a8265b710246f9019ff14556adf5eb35a_icgraph.map b/docs/API/common_8hpp_a8265b710246f9019ff14556adf5eb35a_icgraph.map new file mode 100644 index 0000000..bb373ef --- /dev/null +++ b/docs/API/common_8hpp_a8265b710246f9019ff14556adf5eb35a_icgraph.map @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/API/common_8hpp_a8265b710246f9019ff14556adf5eb35a_icgraph.md5 b/docs/API/common_8hpp_a8265b710246f9019ff14556adf5eb35a_icgraph.md5 new file mode 100644 index 0000000..9a27fbd --- /dev/null +++ b/docs/API/common_8hpp_a8265b710246f9019ff14556adf5eb35a_icgraph.md5 @@ -0,0 +1 @@ +6c442bfaa6a1c9ce08b202d93eb0f94e \ No newline at end of file diff --git a/docs/API/common_8hpp_a8265b710246f9019ff14556adf5eb35a_icgraph.png b/docs/API/common_8hpp_a8265b710246f9019ff14556adf5eb35a_icgraph.png new file mode 100644 index 0000000..1a2e3d1 Binary files /dev/null and b/docs/API/common_8hpp_a8265b710246f9019ff14556adf5eb35a_icgraph.png differ diff --git a/docs/API/common_8hpp_a876ed07783b27d38779f7cef4db673e6_icgraph.map b/docs/API/common_8hpp_a876ed07783b27d38779f7cef4db673e6_icgraph.map new file mode 100644 index 0000000..c2e3439 --- /dev/null +++ b/docs/API/common_8hpp_a876ed07783b27d38779f7cef4db673e6_icgraph.map @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/docs/API/common_8hpp_a876ed07783b27d38779f7cef4db673e6_icgraph.md5 b/docs/API/common_8hpp_a876ed07783b27d38779f7cef4db673e6_icgraph.md5 new file mode 100644 index 0000000..52913b0 --- /dev/null +++ b/docs/API/common_8hpp_a876ed07783b27d38779f7cef4db673e6_icgraph.md5 @@ -0,0 +1 @@ +be9ff82a327755a5030b7d82faea08d5 \ No newline at end of file diff --git a/docs/API/common_8hpp_a876ed07783b27d38779f7cef4db673e6_icgraph.png b/docs/API/common_8hpp_a876ed07783b27d38779f7cef4db673e6_icgraph.png new file mode 100644 index 0000000..0b10406 Binary files /dev/null and b/docs/API/common_8hpp_a876ed07783b27d38779f7cef4db673e6_icgraph.png differ diff --git a/docs/API/common_8hpp_ad8c062e9b24e4b3a8408b23a0d8ab428_icgraph.map b/docs/API/common_8hpp_ad8c062e9b24e4b3a8408b23a0d8ab428_icgraph.map new file mode 100644 index 0000000..a27430e --- /dev/null +++ b/docs/API/common_8hpp_ad8c062e9b24e4b3a8408b23a0d8ab428_icgraph.map @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/docs/API/common_8hpp_ad8c062e9b24e4b3a8408b23a0d8ab428_icgraph.md5 b/docs/API/common_8hpp_ad8c062e9b24e4b3a8408b23a0d8ab428_icgraph.md5 new file mode 100644 index 0000000..37cb514 --- /dev/null +++ b/docs/API/common_8hpp_ad8c062e9b24e4b3a8408b23a0d8ab428_icgraph.md5 @@ -0,0 +1 @@ +e31922f9f8224d03e9e59348aeda776d \ No newline at end of file diff --git a/docs/API/common_8hpp_ad8c062e9b24e4b3a8408b23a0d8ab428_icgraph.png b/docs/API/common_8hpp_ad8c062e9b24e4b3a8408b23a0d8ab428_icgraph.png new file mode 100644 index 0000000..4b357b1 Binary files /dev/null and b/docs/API/common_8hpp_ad8c062e9b24e4b3a8408b23a0d8ab428_icgraph.png differ diff --git a/docs/API/common_8hpp_ae39390f41ba978a1f0d79691436c074a_icgraph.map b/docs/API/common_8hpp_ae39390f41ba978a1f0d79691436c074a_icgraph.map new file mode 100644 index 0000000..65e8b95 --- /dev/null +++ b/docs/API/common_8hpp_ae39390f41ba978a1f0d79691436c074a_icgraph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/API/common_8hpp_ae39390f41ba978a1f0d79691436c074a_icgraph.md5 b/docs/API/common_8hpp_ae39390f41ba978a1f0d79691436c074a_icgraph.md5 new file mode 100644 index 0000000..e7a3a48 --- /dev/null +++ b/docs/API/common_8hpp_ae39390f41ba978a1f0d79691436c074a_icgraph.md5 @@ -0,0 +1 @@ +18f7d8b5e631c4ef81d72919f4ac61df \ No newline at end of file diff --git a/docs/API/common_8hpp_ae39390f41ba978a1f0d79691436c074a_icgraph.png b/docs/API/common_8hpp_ae39390f41ba978a1f0d79691436c074a_icgraph.png new file mode 100644 index 0000000..96247c9 Binary files /dev/null and b/docs/API/common_8hpp_ae39390f41ba978a1f0d79691436c074a_icgraph.png differ diff --git a/docs/API/common_8hpp_af69d779517f2bdee3aba95bc38022074_cgraph.map b/docs/API/common_8hpp_af69d779517f2bdee3aba95bc38022074_cgraph.map new file mode 100644 index 0000000..0a6013d --- /dev/null +++ b/docs/API/common_8hpp_af69d779517f2bdee3aba95bc38022074_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/common_8hpp_af69d779517f2bdee3aba95bc38022074_cgraph.md5 b/docs/API/common_8hpp_af69d779517f2bdee3aba95bc38022074_cgraph.md5 new file mode 100644 index 0000000..574c439 --- /dev/null +++ b/docs/API/common_8hpp_af69d779517f2bdee3aba95bc38022074_cgraph.md5 @@ -0,0 +1 @@ +575a1623cffb8a4c679d793cf456a020 \ No newline at end of file diff --git a/docs/API/common_8hpp_af69d779517f2bdee3aba95bc38022074_cgraph.png b/docs/API/common_8hpp_af69d779517f2bdee3aba95bc38022074_cgraph.png new file mode 100644 index 0000000..3431293 Binary files /dev/null and b/docs/API/common_8hpp_af69d779517f2bdee3aba95bc38022074_cgraph.png differ diff --git a/docs/API/common_8hpp_af69d779517f2bdee3aba95bc38022074_icgraph.map b/docs/API/common_8hpp_af69d779517f2bdee3aba95bc38022074_icgraph.map new file mode 100644 index 0000000..df517c1 --- /dev/null +++ b/docs/API/common_8hpp_af69d779517f2bdee3aba95bc38022074_icgraph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/common_8hpp_af69d779517f2bdee3aba95bc38022074_icgraph.md5 b/docs/API/common_8hpp_af69d779517f2bdee3aba95bc38022074_icgraph.md5 new file mode 100644 index 0000000..515aeaa --- /dev/null +++ b/docs/API/common_8hpp_af69d779517f2bdee3aba95bc38022074_icgraph.md5 @@ -0,0 +1 @@ +4bcd6735031c7dc9a4079979466a8a67 \ No newline at end of file diff --git a/docs/API/common_8hpp_af69d779517f2bdee3aba95bc38022074_icgraph.png b/docs/API/common_8hpp_af69d779517f2bdee3aba95bc38022074_icgraph.png new file mode 100644 index 0000000..a7c61f7 Binary files /dev/null and b/docs/API/common_8hpp_af69d779517f2bdee3aba95bc38022074_icgraph.png differ diff --git a/docs/API/common_8hpp_source.html b/docs/API/common_8hpp_source.html new file mode 100644 index 0000000..15c1228 --- /dev/null +++ b/docs/API/common_8hpp_source.html @@ -0,0 +1,127 @@ + + + + + + + +o-du/phy: common.hpp Source File + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
common.hpp
+
+
+Go to the documentation of this file.
1 /******************************************************************************
2 *
3 * Copyright (c) 2019 Intel.
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 *
17 *******************************************************************************/
18 
19 
20 /* This is the new utility file for all tests, all new common functionality has to go here.
21  When contributing to the common.hpp please focus on readability and maintainability rather than
22  execution time. */
23 #ifndef XRANLIB_COMMON_HPP
24 #define XRANLIB_COMMON_HPP
25 
26 /* Disable warnings generated by JSON parser */
27 #pragma warning(disable : 191)
28 #pragma warning(disable : 186)
29 #pragma warning(disable : 192)
30 
31 #include <exception>
32 #include <random>
33 #include <string>
34 #include <utility>
35 #include <vector>
36 
37 #include <immintrin.h>
38 #include <malloc.h>
39 
40 #define _BBLIB_DPDK_
41 
42 #ifdef _BBLIB_DPDK_
43 #include <rte_config.h>
44 #include <rte_malloc.h>
45 #endif
46 
47 #include "gtest/gtest.h"
48 
49 #include "common_typedef_xran.h"
50 
51 #include "json.hpp"
52 
54 
55 #define ASSERT_ARRAY_NEAR(reference, actual, size, precision) \
56  assert_array_near(reference, actual, size, precision)
57 
58 #define ASSERT_ARRAY_EQ(reference, actual, size) \
59  assert_array_eq(reference, actual, size)
60 
61 #define ASSERT_AVG_GREATER_COMPLEX(reference, actual, size, precision) \
62  assert_avg_greater_complex(reference, actual, size, precision)
63 
65 {
66  static long repetition;
67  static long loop;
68  static unsigned cpu_id;
69 };
70 
71 struct missing_config_file_exception : public std::exception
72 {
73  const char * what () const throw () override {
74  return "JSON file cannot be opened!";
75  }
76 };
77 
78 struct reading_input_file_exception : public std::exception
79 {
80  const char * what () const throw () override {
81  return "Input file cannot be read!";
82  }
83 };
84 
90 int bind_to_cpu(const unsigned cpu);
91 
99 std::pair<double, double> calculate_statistics(const std::vector<long> values);
100 
106 std::vector<unsigned> get_sequence(const unsigned number);
107 
114 json read_json_from_file(const std::string &filename);
115 
122 char* read_data_to_aligned_array(const std::string &filename);
123 
128 unsigned long tsc_recovery();
129 
134 unsigned long tsc_tick();
135 
156 class KernelTests : public testing::TestWithParam<unsigned>
157 {
158 public:
159  static json conf;
160  static std::string test_type;
161 
162  static void SetUpTestCase()
163  {
164  test_type = "None";
165 
166  try
167  {
168  conf = read_json_from_file("conf.json");
169  }
171  {
172  std::cout << "[----------] SetUpTestCase failed: " << e.what() << std::endl;
173  exit(-1);
174  }
175 
176  tsc = tsc_recovery();
177 
178  if(!tsc)
179  {
180  std::cout << "[----------] SetUpTestCase failed: TSC recovery failed" << std::endl;
181  exit(-1);
182  }
183  }
184 
185  static void TearDownTestCase()
186  {
187  /* Free resources - nothing to free at the moment */
188  }
189 
190  static unsigned get_number_of_cases(const std::string &type)
191  {
192  try
193  {
194  json json_data = read_json_from_file("conf.json");
195 
196  return json_data[type].size();
197  }
199  {
200  std::cout << "[----------] get_number_of_cases failed: " << e.what() << std::endl;
201 
202  exit(-1);
203  }
204  catch(std::domain_error &e)
205  {
206  std::cout << "[----------] get_number_of_cases failed: " << e.what() << std::endl;
207  std::cout << "[----------] Use a default value: 0" << std::endl;
208 
209  return 0;
210  }
211  }
212 
213 protected:
214  double division_factor = 1.0;
215  std::string result_units = "None";
216  int parallelization_factor = 1;
217 
222  void set_division_factor(const double factor)
223  {
224  division_factor = factor;
225  }
226 
231  void set_results_units(const std::string &units)
232  {
233  result_units = units;
234  }
235 
240  void set_parallelization_factor(const int factor)
241  {
242  parallelization_factor = factor;
243  }
244 
252  template <typename F, typename ... Args>
253  void performance(const std::string &isa, const std::string &module_name, F function,
254  Args ... args) {
255  ASSERT_EQ(0, bind_to_cpu(BenchmarkParameters::cpu_id)) << "Failed to bind to cpu!";
256 
257  const auto result = run_benchmark(function, args ...);
258  const auto scaled_mean = result.first / division_factor / tsc;
259  const auto scaled_stddev = result.second / division_factor / tsc;
260 
261  print_and_store_results(isa, get_case_name(), module_name, get_case_name(), result_units,
262  parallelization_factor, scaled_mean, scaled_stddev);
263  }
264 
271  void print_test_description(const std::string &isa, const std::string &module_name) {
272  print_and_store_results(isa, get_case_name(), module_name, get_case_name(), result_units,
273  parallelization_factor, 0, 0);
274  }
275 
277 
289  template <typename T>
290  T get_input_parameter(const std::string &parameter_name)
291  {
292  try
293  {
294  return get_parameter<T>("parameters", parameter_name);
295  }
296  catch (std::domain_error &e)
297  {
298  std::cout << "[----------] get_input_parameter (" << parameter_name
299  << ") failed: " << e.what()
300  << ". Did you mispell the parameter name?" << std::endl;
301  throw;
302  }
304  {
305  std::cout << "[----------] get_input_parameter (" << parameter_name
306  << ") failed: " << e.what() << std::endl;
307  throw;
308  }
309  }
310 
311  template <typename T>
312  T get_reference_parameter(const std::string &parameter_name)
313  {
314  try
315  {
316  return get_parameter<T>("references", parameter_name);
317  }
318  catch (std::domain_error &e)
319  {
320  std::cout << "[----------] get_reference_parameter (" << parameter_name
321  << ") failed: " << e.what()
322  << ". Did you mispell the parameter name?" << std::endl;
323  throw;
324  }
326  {
327  std::cout << "[----------] get_reference_parameter (" << parameter_name
328  << ") failed: " << e.what() << std::endl;
329  throw;
330  }
331  }
333 
338  const std::string get_case_name()
339  {
340  try
341  {
342  return conf[test_type][GetParam()]["name"];
343  }
344  catch (std::domain_error &e)
345  {
346  std::cout << "[----------] get_case_name failed: " << e.what()
347  << ". Did you specify a test name in JSON?" << std::endl;
348  std::cout << "[----------] Using a default name instead" << std::endl;
349 
350  return "Default test name";
351  }
352  }
353 
358  void init_test(const std::string &type)
359  {
360  test_type = type;
361  const std::string name = get_case_name();
362  std::cout << "[----------] Test case: " << name << std::endl;
363  }
364 
365 private:
366  static unsigned long tsc;
367 
368  template<typename T>
369  struct data_reader {
370  static T read_parameter(const int index, const std::string &type,
371  const std::string &parameter_name)
372  {
373  return conf[test_type][index][type][parameter_name];
374  }
375  };
376 
377  template<typename T>
378  struct data_reader<std::vector<T>> {
379  static std::vector<T> read_parameter(const int index, const std::string &type,
380  const std::string &parameter_name)
381  {
382  auto array_size = conf[test_type][index][type][parameter_name].size();
383 
384  std::vector<T> result(array_size);
385 
386  for(unsigned number = 0; number < array_size; number++)
387  result.at(number) = conf[test_type][index][type][parameter_name][number];
388 
389  return result;
390  }
391  };
392 
393  template<typename T>
394  struct data_reader<T*> {
395  static T* read_parameter(const int index, const std::string &type,
396  const std::string &parameter_name)
397  {
398  return (T*) read_data_to_aligned_array(conf[test_type][index][type][parameter_name]);
399  }
400  };
401 
402  template <typename T>
403  T get_parameter(const std::string &type, const std::string &parameter_name)
404  {
405  return data_reader<T>::read_parameter(GetParam(), type, parameter_name);
406  }
407 
408  void print_and_store_results(const std::string &isa,
409  const std::string &parameters,
410  const std::string &module_name,
411  const std::string &test_name,
412  const std::string &unit,
413  const int para_factor,
414  const double mean,
415  const double stddev);
416 };
417 
424 template <typename F, typename ... Args>
425 std::pair<double, double> run_benchmark(F function, Args ... args)
426 {
427  std::vector<long> results((unsigned long) BenchmarkParameters::repetition);
428 
429  for(unsigned int outer_loop = 0; outer_loop < BenchmarkParameters::repetition; outer_loop++) {
430  const auto start_time = __rdtsc();
431  for (unsigned int inner_loop = 0; inner_loop < BenchmarkParameters::loop; inner_loop++) {
432  function(args ...);
433  }
434  const auto end_time = __rdtsc();
435  results.push_back(end_time - start_time);
436  }
437 
438  return calculate_statistics(results);
439 };
440 
447 template <typename T>
448 void assert_array_eq(const T* reference, const T* actual, const int size)
449 {
450  for(int index = 0; index < size ; index++)
451  {
452  ASSERT_EQ(reference[index], actual[index])
453  <<"The wrong number is index: "<< index;
454  }
455 }
456 
464 template <typename T>
465 void assert_array_near(const T* reference, const T* actual, const int size, const double precision)
466 {
467  for(int index = 0; index < size ; index++)
468  {
469  ASSERT_NEAR(reference[index], actual[index], precision)
470  <<"The wrong number is index: "<< index;
471  }
472 }
473 
474 template <>
475 void assert_array_near<complex_float>(const complex_float* reference, const complex_float* actual, const int size, const double precision)
476 {
477  for(int index = 0; index < size ; index++)
478  {
479  ASSERT_NEAR(reference[index].re, actual[index].re, precision)
480  <<"The wrong number is RE, index: "<< index;
481  ASSERT_NEAR(reference[index].im, actual[index].im, precision)
482  <<"The wrong number is IM, index: "<< index;
483  }
484 }
485 
493 template<typename T>
494 void assert_avg_greater_complex(const T* reference, const T* actual, const int size, const double precision)
495 {
496  float mseDB, MSE;
497  double avgMSEDB = 0.0;
498  for (int index = 0; index < size; index++) {
499  T refReal = reference[2*index];
500  T refImag = reference[(2*index)+1];
501  T resReal = actual[2*index];
502  T resImag = actual[(2*index)+1];
503 
504  T errReal = resReal - refReal;
505  T errIm = resImag - refImag;
506 
507  /* For some unit tests, e.g. PUCCH deomdulation, the expected output is 0. To avoid a
508  divide by zero error, check the reference results to determine if the expected result
509  is 0 and, if so, add a 1 to the division. */
510  if (refReal == 0 && refImag == 0)
511  MSE = (float)(errReal*errReal + errIm*errIm)/(float)(refReal*refReal + refImag*refImag + 1);
512  else
513  MSE = (float)(errReal*errReal + errIm*errIm)/(float)(refReal*refReal + refImag*refImag);
514 
515  if(MSE == 0)
516  mseDB = (float)(-100.0);
517  else
518  mseDB = (float)(10.0) * (float)log10(MSE);
519 
520  avgMSEDB += (double)mseDB;
521  }
522 
523  avgMSEDB /= size;
524 
525  ASSERT_GT(precision, avgMSEDB);
526 }
527 
543 template <typename T>
544 T* aligned_malloc(const int size, const unsigned alignment)
545 {
546 #ifdef _BBLIB_DPDK_
547  return (T*) rte_malloc(NULL, sizeof(T) * size, alignment);
548 #else
549 #ifndef _WIN64
550  return (T*) memalign(alignment, sizeof(T) * size);
551 #else
552  return (T*)_aligned_malloc(sizeof(T)*size, alignment);
553 #endif
554 #endif
555 }
556 
565 template <typename T>
566 void aligned_free(T* ptr)
567 {
568 #ifdef _BBLIB_DPDK_
569  rte_free((void*)ptr);
570 #else
571 
572 #ifndef _WIN64
573  free((void*)ptr);
574 #else
575  _aligned_free((void *)ptr);
576 #endif
577 #endif
578 }
579 
592 template <typename T, typename U>
593 T* generate_random_numbers(const long size, const unsigned alignment, U& distribution)
594 {
595  auto array = (T*) aligned_malloc<char>(size * sizeof(T), alignment);
596 
597  std::random_device random_device;
598  std::default_random_engine generator(random_device());
599 
600  for(long i = 0; i < size; i++)
601  array[i] = (T)distribution(generator);
602 
603  return array;
604 }
605 
617 template <typename T>
618 T* generate_random_data(const long size, const unsigned alignment)
619 {
620  std::uniform_int_distribution<> random(0, 255);
621 
622  return (T*)generate_random_numbers<char, std::uniform_int_distribution<>>(size * sizeof(T), alignment, random);
623 }
624 
639 template <typename T>
640 T* generate_random_int_numbers(const long size, const unsigned alignment, const T lo_range,
641  const T up_range)
642 {
643  std::uniform_int_distribution<T> random(lo_range, up_range);
644 
645  return generate_random_numbers<T, std::uniform_int_distribution<T>>(size, alignment, random);
646 }
647 
662 template <typename T>
663 T* generate_random_real_numbers(const long size, const unsigned alignment, const T lo_range,
664  const T up_range)
665 {
666  std::uniform_real_distribution<T> distribution(lo_range, up_range);
667 
668  return generate_random_numbers<T, std::uniform_real_distribution<T>>(size, alignment, distribution);
669 }
670 
671 #endif //XRANLIB_COMMON_HPP
std::vector< unsigned > get_sequence(const unsigned number)
For a given number return sequence of number from 0 to number - 1.
Definition: common.cpp:78
+
#define _aligned_malloc(x, y)
+
void print_test_description(const std::string &isa, const std::string &module_name)
Print unique test description to the results xml file.
Definition: common.hpp:271
+
unsigned long tsc_tick()
Return the current value of the TSC.
Definition: common.cpp:162
+
static unsigned get_number_of_cases(const std::string &type)
Definition: common.hpp:190
+
size_type size() const noexcept
returns the number of elements
Definition: json.hpp:5040
+
T * generate_random_numbers(const long size, const unsigned alignment, U &distribution)
generate random numbers.
Definition: common.hpp:593
+
basic_json<> json
default JSON class
Definition: json.hpp:12889
+
a class to store JSON values
Definition: json.hpp:1016
+
void performance(const std::string &isa, const std::string &module_name, F function, Args ... args)
Run performance test case for a given function.
Definition: common.hpp:253
+
void assert_avg_greater_complex(const T *reference, const T *actual, const int size, const double precision)
Assert average diff of two arrays. It calls ASSERT_GT to check the average.
Definition: common.hpp:494
+
std::pair< double, double > calculate_statistics(const std::vector< long > values)
Calculate the mean and variance from the result of the run_benchmark.
Definition: common.cpp:60
+
static unsigned cpu_id
Definition: common.hpp:68
+
static json conf
Definition: common.hpp:159
+ + +
const char * what() const override
Definition: common.hpp:80
+ +
static std::string test_type
Definition: common.hpp:160
+
void assert_array_near< complex_float >(const complex_float *reference, const complex_float *actual, const int size, const double precision)
Definition: common.hpp:475
+
void assert_array_eq(const T *reference, const T *actual, const int size)
Assert elements of two arrays. It calls ASSERT_EQ for each element of the array.
Definition: common.hpp:448
+
void aligned_free(T *ptr)
Frees memory pointed by the given pointer.
Definition: common.hpp:566
+
std::pair< double, double > run_benchmark(F function, Args ... args)
Run the given function and return the mean run time and stddev.
Definition: common.hpp:425
+
T * generate_random_data(const long size, const unsigned alignment)
generate random data.
Definition: common.hpp:618
+
T get_reference_parameter(const std::string &parameter_name)
Definition: common.hpp:312
+
void set_results_units(const std::string &units)
Set reults units.
Definition: common.hpp:231
+
T * generate_random_int_numbers(const long size, const unsigned alignment, const T lo_range, const T up_range)
generate integer random numbers.
Definition: common.hpp:640
+ +
static long repetition
Definition: common.hpp:66
+
const char * what() const override
Definition: common.hpp:73
+
void init_test(const std::string &type)
Defines section in the conf.json that is used to load parameters from.
Definition: common.hpp:358
+
unsigned long tsc_recovery()
Measure the TSC on the machine.
Definition: common.cpp:119
+
This header file defines those data type both used by eNB and UE.
+
json read_json_from_file(const std::string &filename)
Read JSON from the given file.
Definition: common.cpp:106
+
T * generate_random_real_numbers(const long size, const unsigned alignment, const T lo_range, const T up_range)
generate real random numbers.
Definition: common.hpp:663
+
const std::string get_case_name()
Get name of the test case from JSON file.
Definition: common.hpp:338
+
const std::string module_name
+
int bind_to_cpu(const unsigned cpu)
Attach current process to the selected core.
Definition: common.cpp:47
+
T get_input_parameter(const std::string &parameter_name)
Load selected data from a JSON object. get_input_parameter loads data from parameters section of the ...
Definition: common.hpp:290
+
static void SetUpTestCase()
Definition: common.hpp:162
+ +
void set_parallelization_factor(const int factor)
Set size of processed data.
Definition: common.hpp:240
+
static long loop
Definition: common.hpp:67
+
static void TearDownTestCase()
Definition: common.hpp:185
+
char * read_data_to_aligned_array(const std::string &filename)
Read binary data from the file.
Definition: common.cpp:86
+
Defines 64-bit complex structure; both real part and image part have 32 bit width.
+
void set_division_factor(const double factor)
Set division factor.
Definition: common.hpp:222
+
void assert_array_near(const T *reference, const T *actual, const int size, const double precision)
Assert elements of two arrays. It calls ASSERT_NEAR for each element of the array.
Definition: common.hpp:465
+
T * aligned_malloc(const int size, const unsigned alignment)
Allocates memory of the given size.
Definition: common.hpp:544
+
+ + + + diff --git a/docs/API/common__typedef__xran_8h.html b/docs/API/common__typedef__xran_8h.html new file mode 100644 index 0000000..a81fbc2 --- /dev/null +++ b/docs/API/common__typedef__xran_8h.html @@ -0,0 +1,377 @@ + + + + + + + +o-du/phy: common_typedef_xran.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
common_typedef_xran.h File Reference
+
+
+ +

This header file defines those data type both used by eNB and UE. +More...

+
#include <stdint.h>
+#include <stdio.h>
+#include <stdbool.h>
+
+Include dependency graph for common_typedef_xran.h:
+
+
+ + +
+
+This graph shows which files directly or indirectly include this file:
+
+
+ + + + + + + + + + + + + + +
+
+

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + + + + +

+Data Structures

struct  COMPLEX32
 Defines 64-bit complex structure; both real part and image part have 32 bit width. More...
 
struct  complex_int16_t
 Defines 32-bit complex structure; both real part and image part have 16 bit width. More...
 
struct  complex_int32_t
 Defines 64-bit complex structure; both real part and image part have 32 bit width. More...
 
struct  complex_float
 Defines 64-bit complex structure; both real part and image part have 32 bit width. More...
 
struct  complex_double
 Defines 128-bit complex structure; both real part and image part have 64 bit width. More...
 
struct  complex_half
 Defines 32-bit complex structure; both real part and image part have 16 bit width. More...
 
+ + + + + + + + + +

+Macros

#define __align(x)   __attribute__((aligned(x)))
 
#define _aligned_malloc(x, y)   memalign(y,x)
 
#define TIME   40
 
#define LOOP   30
 
+ + + + + + + +

+Typedefs

typedef int16_t half
 half is a 16-bit IEEE floating-point standard number format. More...
 
typedef struct complex_int16_t COMPLEX16
 
+ + + + + + + +

+Enumerations

enum  instruction_cpu_support {
+  CPU_GENERIC, +SSE4_2, +AVX, +AVX2, +
+  AVX_512 +
+ }
 Define instruction the CPU can support. More...
 
enum  bblib_modulation_order {
+  BBLIB_BPSK = 1, +BBLIB_QPSK = 2, +BBLIB_PAM4 = 3, +BBLIB_QAM16 = 4, +
+  BBLIB_PAM8 = 5, +BBLIB_QAM64 = 6, +BBLIB_PAM16 = 7, +BBLIB_QAM256 = 8 +
+ }
 Common enums for modulation order. More...
 
+

Detailed Description

+

This header file defines those data type both used by eNB and UE.

+ +

Definition in file common_typedef_xran.h.

+

Macro Definition Documentation

+ +

◆ __align

+ +
+
+ + + + + + + + +
#define __align( x)   __attribute__((aligned(x)))
+
+ +

Definition at line 127 of file common_typedef_xran.h.

+ +
+
+ +

◆ _aligned_malloc

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define _aligned_malloc( x,
 
)   memalign(y,x)
+
+ +

Definition at line 128 of file common_typedef_xran.h.

+ +
+
+ +

◆ LOOP

+ +
+
+ + + + +
#define LOOP   30
+
+ +

Definition at line 133 of file common_typedef_xran.h.

+ +
+
+ +

◆ TIME

+ +
+
+ + + + +
#define TIME   40
+
+ +

Definition at line 132 of file common_typedef_xran.h.

+ +
+
+

Typedef Documentation

+ +

◆ COMPLEX16

+ +
+
+ + + + +
typedef struct complex_int16_t COMPLEX16
+
+ +
+
+ +

◆ half

+ +
+
+ + + + +
half
+
+ +

half is a 16-bit IEEE floating-point standard number format.

+
Note
In future this will be known as `short float' or `__fp16'.
+
+Older compilers must provide proxy support for it as a plain 16-bit integer
+ +

Definition at line 85 of file common_typedef_xran.h.

+ +
+
+

Enumeration Type Documentation

+ +

◆ bblib_modulation_order

+ +
+
+ + + + +
enum bblib_modulation_order
+
+ +

Common enums for modulation order.

+ + + + + + + + + +
Enumerator
BBLIB_BPSK 

BPSK

+
BBLIB_QPSK 

QPSK

+
BBLIB_PAM4 

PAM4

+
BBLIB_QAM16 

QAM16

+
BBLIB_PAM8 

PAM8

+
BBLIB_QAM64 

QAM64

+
BBLIB_PAM16 

PAM16

+
BBLIB_QAM256 

QAM256

+
+ +

Definition at line 112 of file common_typedef_xran.h.

+ +
+
+ +

◆ instruction_cpu_support

+ +
+
+ + + + +
enum instruction_cpu_support
+
+ +

Define instruction the CPU can support.

+ + + + + + +
Enumerator
CPU_GENERIC 

C

+
SSE4_2 

SSE4_2

+
AVX 

AVX

+
AVX2 

AVX2

+
AVX_512 

AVX512

+
+ +

Definition at line 100 of file common_typedef_xran.h.

+ +
+
+
+ + + + diff --git a/docs/API/common__typedef__xran_8h__dep__incl.map b/docs/API/common__typedef__xran_8h__dep__incl.map new file mode 100644 index 0000000..f939f02 --- /dev/null +++ b/docs/API/common__typedef__xran_8h__dep__incl.map @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/docs/API/common__typedef__xran_8h__dep__incl.md5 b/docs/API/common__typedef__xran_8h__dep__incl.md5 new file mode 100644 index 0000000..02505af --- /dev/null +++ b/docs/API/common__typedef__xran_8h__dep__incl.md5 @@ -0,0 +1 @@ +e681b68dab0e5bb888b704344f6df59b \ No newline at end of file diff --git a/docs/API/common__typedef__xran_8h__dep__incl.png b/docs/API/common__typedef__xran_8h__dep__incl.png new file mode 100644 index 0000000..6066592 Binary files /dev/null and b/docs/API/common__typedef__xran_8h__dep__incl.png differ diff --git a/docs/API/common__typedef__xran_8h__incl.map b/docs/API/common__typedef__xran_8h__incl.map new file mode 100644 index 0000000..7c8857a --- /dev/null +++ b/docs/API/common__typedef__xran_8h__incl.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/common__typedef__xran_8h__incl.md5 b/docs/API/common__typedef__xran_8h__incl.md5 new file mode 100644 index 0000000..b5c5b49 --- /dev/null +++ b/docs/API/common__typedef__xran_8h__incl.md5 @@ -0,0 +1 @@ +a923136b8b5223fe2bd8e53ec710c0aa \ No newline at end of file diff --git a/docs/API/common__typedef__xran_8h__incl.png b/docs/API/common__typedef__xran_8h__incl.png new file mode 100644 index 0000000..9d5fee3 Binary files /dev/null and b/docs/API/common__typedef__xran_8h__incl.png differ diff --git a/docs/API/common__typedef__xran_8h_source.html b/docs/API/common__typedef__xran_8h_source.html new file mode 100644 index 0000000..1fd4465 --- /dev/null +++ b/docs/API/common__typedef__xran_8h_source.html @@ -0,0 +1,113 @@ + + + + + + + +o-du/phy: common_typedef_xran.h Source File + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
common_typedef_xran.h
+
+
+Go to the documentation of this file.
1 /******************************************************************************
2 *
3 * Copyright (c) 2019 Intel.
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 *
17 *******************************************************************************/
18 
23 #ifndef _COMMON_TYPEDEF_XRAN_H_
24 #define _COMMON_TYPEDEF_XRAN_H_
25 
26 #include <stdint.h>
27 
28 #include <stdio.h>
29 #include <stdbool.h>
30 
35 typedef struct {
36  float re;
37  float im;
38 } COMPLEX32;
39 
41 
46 typedef struct {
47  int16_t re;
48  int16_t im;
51 
56 typedef struct {
57  int32_t re;
58  int32_t im;
60 
65 typedef struct {
66  float re;
67  float im;
69 
74 typedef struct {
75  double re;
76  double im;
78 
85 typedef int16_t half;
86 
91 typedef struct {
92  half re;
93  half im;
95 
100 typedef enum{
103  AVX,
107 
121 };
122 
123 
124 #ifdef _WIN64
125 #define __align(x) __declspec(align(x))
126 #else
127 #define __align(x) __attribute__((aligned(x)))
128 #define _aligned_malloc(x,y) memalign(y,x)
129 #endif
130 
131 /* Test time and loops for unit test */
132 #define TIME 40
133 #define LOOP 30
134 
135 #endif /* #ifndef _COMMON_TYPEDEF_H_ */
136 
+ + + +
Defines 64-bit complex structure; both real part and image part have 32 bit width.
+ +
Defines 64-bit complex structure; both real part and image part have 32 bit width.
+ + +
Defines 32-bit complex structure; both real part and image part have 16 bit width.
+ +
Defines 32-bit complex structure; both real part and image part have 16 bit width.
+ + + + + + +
Defines 128-bit complex structure; both real part and image part have 64 bit width.
+ +
bblib_modulation_order
Common enums for modulation order.
+ +
struct complex_int16_t COMPLEX16
+ + +
int16_t half
half is a 16-bit IEEE floating-point standard number format.
+ + + + + + +
instruction_cpu_support
Define instruction the CPU can support.
+
Defines 64-bit complex structure; both real part and image part have 32 bit width.
+ +
+ + + + diff --git a/docs/API/compander__functional_8cc.html b/docs/API/compander__functional_8cc.html new file mode 100644 index 0000000..fffc92e --- /dev/null +++ b/docs/API/compander__functional_8cc.html @@ -0,0 +1,1198 @@ + + + + + + + +o-du/phy: compander_functional.cc File Reference + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
compander_functional.cc File Reference
+
+
+
#include "common.hpp"
+#include "xran_fh_o_du.h"
+#include "xran_compression.h"
+#include "xran_compression.hpp"
+#include <stdint.h>
+#include <random>
+#include <algorithm>
+#include <iterator>
+#include <iostream>
+#include <cstring>
+
+Include dependency graph for compander_functional.cc:
+
+
+ + + + + + + + +
+
+

Go to the source code of this file.

+ + + + + + + + +

+Data Structures

class  BfpCheck
 
class  BfpPerf
 
class  BfpPerfEx
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

template<typename T >
int checkData (T *inVec1, T *inVec2, int numVals)
 
template int checkData (int8_t *, int8_t *, int)
 
template int checkData (int16_t *, int16_t *, int)
 
int checkDataApprox (int16_t *inVec1, int16_t *inVec2, int numVals)
 
 TEST_P (BfpCheck, AVX512_12bit)
 
 TEST_P (BfpCheck, AVX512_10bit)
 
 TEST_P (BfpCheck, AVX512_9bit)
 
 TEST_P (BfpCheck, AVX512_8bit)
 
 TEST_P (BfpPerf, AVX512_8bit_compression)
 
 TEST_P (BfpPerf, AVX512_8bit_decompression)
 
 TEST_P (BfpPerf, AVX512_9bit_compression)
 
 TEST_P (BfpPerf, AVX512_9bit_decompression)
 
 TEST_P (BfpPerf, AVX512_10bit_compression)
 
 TEST_P (BfpPerf, AVX512_10bit_decompression)
 
 TEST_P (BfpPerf, AVX512_12bit_compression)
 
 TEST_P (BfpPerf, AVX512_12bit_decompression)
 
 TEST_P (BfpCheck, AVX512_sweep_xranlib)
 
 TEST_P (BfpPerfEx, AVX512_Comp)
 
 TEST_P (BfpPerfEx, AVX512_DeComp)
 
 INSTANTIATE_TEST_CASE_P (UnitTest, BfpCheck, testing::ValuesIn(get_sequence(BfpCheck::get_number_of_cases("bfp_functional"))))
 
 INSTANTIATE_TEST_CASE_P (UnitTest, BfpPerf, testing::ValuesIn(get_sequence(BfpPerf::get_number_of_cases("bfp_performace"))))
 
 INSTANTIATE_TEST_CASE_P (UnitTest, BfpPerfEx, testing::ValuesIn(get_sequence(BfpPerf::get_number_of_cases("bfp_performace_ex"))))
 
+ + + + + + + + + +

+Variables

const std::string module_name = "bfp"
 
CACHE_ALIGNED int16_t loc_dataExpandedIn [288 *BlockFloatCompander::k_numREReal]
 
CACHE_ALIGNED int16_t loc_dataExpandedRes [288 *BlockFloatCompander::k_numREReal]
 
CACHE_ALIGNED uint8_t loc_dataCompressedDataOut [2 *288 *BlockFloatCompander::k_numREReal]
 
+

Function Documentation

+ +

◆ checkData() [1/3]

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
int checkData (T * inVec1,
T * inVec2,
int numVals 
)
+
+ +

Definition at line 34 of file compander_functional.cc.

+
+Here is the caller graph for this function:
+
+
+ + + +
+ +
+
+ +

◆ checkData() [2/3]

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
template int checkData (int8_t * ,
int8_t * ,
int  
)
+
+ +
+
+ +

◆ checkData() [3/3]

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
template int checkData (int16_t * ,
int16_t * ,
int  
)
+
+ +
+
+ +

◆ checkDataApprox()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
int checkDataApprox (int16_t * inVec1,
int16_t * inVec2,
int numVals 
)
+
+ +

Definition at line 55 of file compander_functional.cc.

+
+Here is the caller graph for this function:
+
+
+ + + +
+ +
+
+ +

◆ INSTANTIATE_TEST_CASE_P() [1/3]

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
INSTANTIATE_TEST_CASE_P (UnitTest ,
BfpCheck ,
testing::ValuesIn(get_sequence(BfpCheck::get_number_of_cases("bfp_functional")))  
)
+
+
+Here is the caller graph for this function:
+
+
+ + + +
+ +
+
+ +

◆ INSTANTIATE_TEST_CASE_P() [2/3]

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
INSTANTIATE_TEST_CASE_P (UnitTest ,
BfpPerf ,
testing::ValuesIn(get_sequence(BfpPerf::get_number_of_cases("bfp_performace")))  
)
+
+ +
+
+ +

◆ INSTANTIATE_TEST_CASE_P() [3/3]

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
INSTANTIATE_TEST_CASE_P (UnitTest ,
BfpPerfEx ,
testing::ValuesIn(get_sequence(BfpPerf::get_number_of_cases("bfp_performace_ex")))  
)
+
+ +
+
+ +

◆ TEST_P() [1/15]

+ +
+
+ + + + + + + + + + + + + + + + + + +
TEST_P (BfpCheck ,
AVX512_12bit  
)
+
+ +

Definition at line 176 of file compander_functional.cc.

+
+Here is the call graph for this function:
+
+
+ + + + + + + + + + +
+ +
+
+ +

◆ TEST_P() [2/15]

+ +
+
+ + + + + + + + + + + + + + + + + + +
TEST_P (BfpCheck ,
AVX512_10bit  
)
+
+ +

Definition at line 225 of file compander_functional.cc.

+
+Here is the call graph for this function:
+
+
+ + + + + + + + + + +
+ +
+
+ +

◆ TEST_P() [3/15]

+ +
+
+ + + + + + + + + + + + + + + + + + +
TEST_P (BfpCheck ,
AVX512_9bit  
)
+
+ +

Definition at line 276 of file compander_functional.cc.

+
+Here is the call graph for this function:
+
+
+ + + + + + + + + + +
+ +
+
+ +

◆ TEST_P() [4/15]

+ +
+
+ + + + + + + + + + + + + + + + + + +
TEST_P (BfpCheck ,
AVX512_8bit  
)
+
+ +

Definition at line 326 of file compander_functional.cc.

+
+Here is the call graph for this function:
+
+
+ + + + + + + + +
+ +
+
+ +

◆ TEST_P() [5/15]

+ +
+
+ + + + + + + + + + + + + + + + + + +
TEST_P (BfpPerf ,
AVX512_8bit_compression  
)
+
+ +

Definition at line 375 of file compander_functional.cc.

+
+Here is the call graph for this function:
+
+
+ + + + + + + + +
+ +
+
+ +

◆ TEST_P() [6/15]

+ +
+
+ + + + + + + + + + + + + + + + + + +
TEST_P (BfpPerf ,
AVX512_8bit_decompression  
)
+
+ +

Definition at line 426 of file compander_functional.cc.

+
+Here is the call graph for this function:
+
+
+ + + + + + + + +
+ +
+
+ +

◆ TEST_P() [7/15]

+ +
+
+ + + + + + + + + + + + + + + + + + +
TEST_P (BfpPerf ,
AVX512_9bit_compression  
)
+
+ +

Definition at line 479 of file compander_functional.cc.

+
+Here is the call graph for this function:
+
+
+ + + + + + + + + + +
+ +
+
+ +

◆ TEST_P() [8/15]

+ +
+
+ + + + + + + + + + + + + + + + + + +
TEST_P (BfpPerf ,
AVX512_9bit_decompression  
)
+
+ +

Definition at line 531 of file compander_functional.cc.

+
+Here is the call graph for this function:
+
+
+ + + + + + + + + + +
+ +
+
+ +

◆ TEST_P() [9/15]

+ +
+
+ + + + + + + + + + + + + + + + + + +
TEST_P (BfpPerf ,
AVX512_10bit_compression  
)
+
+ +

Definition at line 583 of file compander_functional.cc.

+
+Here is the call graph for this function:
+
+
+ + + + + + + + + + +
+ +
+
+ +

◆ TEST_P() [10/15]

+ +
+
+ + + + + + + + + + + + + + + + + + +
TEST_P (BfpPerf ,
AVX512_10bit_decompression  
)
+
+ +

Definition at line 634 of file compander_functional.cc.

+
+Here is the call graph for this function:
+
+
+ + + + + + + + + + +
+ +
+
+ +

◆ TEST_P() [11/15]

+ +
+
+ + + + + + + + + + + + + + + + + + +
TEST_P (BfpPerf ,
AVX512_12bit_compression  
)
+
+ +

Definition at line 685 of file compander_functional.cc.

+
+Here is the call graph for this function:
+
+
+ + + + + + + + + + +
+ +
+
+ +

◆ TEST_P() [12/15]

+ +
+
+ + + + + + + + + + + + + + + + + + +
TEST_P (BfpPerf ,
AVX512_12bit_decompression  
)
+
+ +

Definition at line 737 of file compander_functional.cc.

+
+Here is the call graph for this function:
+
+
+ + + + + + + + + + +
+ +
+
+ +

◆ TEST_P() [13/15]

+ +
+
+ + + + + + + + + + + + + + + + + + +
TEST_P (BfpCheck ,
AVX512_sweep_xranlib  
)
+
+ +

Definition at line 788 of file compander_functional.cc.

+
+Here is the call graph for this function:
+
+
+ + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ +

◆ TEST_P() [14/15]

+ +
+
+ + + + + + + + + + + + + + + + + + +
TEST_P (BfpPerfEx ,
AVX512_Comp  
)
+
+ +

Definition at line 867 of file compander_functional.cc.

+
+Here is the call graph for this function:
+
+
+ + + + + + + + + + + + +
+ +
+
+ +

◆ TEST_P() [15/15]

+ +
+
+ + + + + + + + + + + + + + + + + + +
TEST_P (BfpPerfEx ,
AVX512_DeComp  
)
+
+ +

Definition at line 872 of file compander_functional.cc.

+
+Here is the call graph for this function:
+
+
+ + + + + + + + + + + + + + + + + +
+ +
+
+

Variable Documentation

+ +

◆ loc_dataCompressedDataOut

+ +
+
+ + + + +
CACHE_ALIGNED uint8_t loc_dataCompressedDataOut[2 *288 *BlockFloatCompander::k_numREReal]
+
+ +

Definition at line 103 of file compander_functional.cc.

+ +
+
+ +

◆ loc_dataExpandedIn

+ +
+
+ + + + +
CACHE_ALIGNED int16_t loc_dataExpandedIn[288 *BlockFloatCompander::k_numREReal]
+
+ +

Definition at line 101 of file compander_functional.cc.

+ +
+
+ +

◆ loc_dataExpandedRes

+ +
+
+ + + + +
CACHE_ALIGNED int16_t loc_dataExpandedRes[288 *BlockFloatCompander::k_numREReal]
+
+ +

Definition at line 102 of file compander_functional.cc.

+ +
+
+ +

◆ module_name

+ +
+
+ + + + +
const std::string module_name = "bfp"
+
+ +

Definition at line 31 of file compander_functional.cc.

+ +
+
+
+ + + + diff --git a/docs/API/compander__functional_8cc__incl.map b/docs/API/compander__functional_8cc__incl.map new file mode 100644 index 0000000..28a84ea --- /dev/null +++ b/docs/API/compander__functional_8cc__incl.map @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/API/compander__functional_8cc__incl.md5 b/docs/API/compander__functional_8cc__incl.md5 new file mode 100644 index 0000000..52941c9 --- /dev/null +++ b/docs/API/compander__functional_8cc__incl.md5 @@ -0,0 +1 @@ +dc65842346c2e7391ef224a2811c5e82 \ No newline at end of file diff --git a/docs/API/compander__functional_8cc__incl.png b/docs/API/compander__functional_8cc__incl.png new file mode 100644 index 0000000..f3dbfea Binary files /dev/null and b/docs/API/compander__functional_8cc__incl.png differ diff --git a/docs/API/compander__functional_8cc_a05f3cac0967e0fc77f7c8e0a1f05ba82_cgraph.map b/docs/API/compander__functional_8cc_a05f3cac0967e0fc77f7c8e0a1f05ba82_cgraph.map new file mode 100644 index 0000000..f4241f0 --- /dev/null +++ b/docs/API/compander__functional_8cc_a05f3cac0967e0fc77f7c8e0a1f05ba82_cgraph.map @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/docs/API/compander__functional_8cc_a05f3cac0967e0fc77f7c8e0a1f05ba82_cgraph.md5 b/docs/API/compander__functional_8cc_a05f3cac0967e0fc77f7c8e0a1f05ba82_cgraph.md5 new file mode 100644 index 0000000..b316e27 --- /dev/null +++ b/docs/API/compander__functional_8cc_a05f3cac0967e0fc77f7c8e0a1f05ba82_cgraph.md5 @@ -0,0 +1 @@ +cb4ecb66e5943a630106a47f958771d3 \ No newline at end of file diff --git a/docs/API/compander__functional_8cc_a05f3cac0967e0fc77f7c8e0a1f05ba82_cgraph.png b/docs/API/compander__functional_8cc_a05f3cac0967e0fc77f7c8e0a1f05ba82_cgraph.png new file mode 100644 index 0000000..14095d8 Binary files /dev/null and b/docs/API/compander__functional_8cc_a05f3cac0967e0fc77f7c8e0a1f05ba82_cgraph.png differ diff --git a/docs/API/compander__functional_8cc_a10836724f09d11c2520cd68db95aeca9_cgraph.map b/docs/API/compander__functional_8cc_a10836724f09d11c2520cd68db95aeca9_cgraph.map new file mode 100644 index 0000000..23c726b --- /dev/null +++ b/docs/API/compander__functional_8cc_a10836724f09d11c2520cd68db95aeca9_cgraph.map @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/API/compander__functional_8cc_a10836724f09d11c2520cd68db95aeca9_cgraph.md5 b/docs/API/compander__functional_8cc_a10836724f09d11c2520cd68db95aeca9_cgraph.md5 new file mode 100644 index 0000000..4cee77a --- /dev/null +++ b/docs/API/compander__functional_8cc_a10836724f09d11c2520cd68db95aeca9_cgraph.md5 @@ -0,0 +1 @@ +c2487ef03a62d1b366c30fa433449597 \ No newline at end of file diff --git a/docs/API/compander__functional_8cc_a10836724f09d11c2520cd68db95aeca9_cgraph.png b/docs/API/compander__functional_8cc_a10836724f09d11c2520cd68db95aeca9_cgraph.png new file mode 100644 index 0000000..b192a82 Binary files /dev/null and b/docs/API/compander__functional_8cc_a10836724f09d11c2520cd68db95aeca9_cgraph.png differ diff --git a/docs/API/compander__functional_8cc_a1b6359dcad38667a5625c184cf490bef_icgraph.map b/docs/API/compander__functional_8cc_a1b6359dcad38667a5625c184cf490bef_icgraph.map new file mode 100644 index 0000000..ac14d25 --- /dev/null +++ b/docs/API/compander__functional_8cc_a1b6359dcad38667a5625c184cf490bef_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/compander__functional_8cc_a1b6359dcad38667a5625c184cf490bef_icgraph.md5 b/docs/API/compander__functional_8cc_a1b6359dcad38667a5625c184cf490bef_icgraph.md5 new file mode 100644 index 0000000..3e30676 --- /dev/null +++ b/docs/API/compander__functional_8cc_a1b6359dcad38667a5625c184cf490bef_icgraph.md5 @@ -0,0 +1 @@ +8f95bd94c472c06f52b5d408c56caffd \ No newline at end of file diff --git a/docs/API/compander__functional_8cc_a1b6359dcad38667a5625c184cf490bef_icgraph.png b/docs/API/compander__functional_8cc_a1b6359dcad38667a5625c184cf490bef_icgraph.png new file mode 100644 index 0000000..2d42f7c Binary files /dev/null and b/docs/API/compander__functional_8cc_a1b6359dcad38667a5625c184cf490bef_icgraph.png differ diff --git a/docs/API/compander__functional_8cc_a1d0782094c6955e4b867efff51568a26_cgraph.map b/docs/API/compander__functional_8cc_a1d0782094c6955e4b867efff51568a26_cgraph.map new file mode 100644 index 0000000..73f194b --- /dev/null +++ b/docs/API/compander__functional_8cc_a1d0782094c6955e4b867efff51568a26_cgraph.map @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/docs/API/compander__functional_8cc_a1d0782094c6955e4b867efff51568a26_cgraph.md5 b/docs/API/compander__functional_8cc_a1d0782094c6955e4b867efff51568a26_cgraph.md5 new file mode 100644 index 0000000..9deedb9 --- /dev/null +++ b/docs/API/compander__functional_8cc_a1d0782094c6955e4b867efff51568a26_cgraph.md5 @@ -0,0 +1 @@ +c865cc7e90a8138fe039e450181a4878 \ No newline at end of file diff --git a/docs/API/compander__functional_8cc_a1d0782094c6955e4b867efff51568a26_cgraph.png b/docs/API/compander__functional_8cc_a1d0782094c6955e4b867efff51568a26_cgraph.png new file mode 100644 index 0000000..b5d4046 Binary files /dev/null and b/docs/API/compander__functional_8cc_a1d0782094c6955e4b867efff51568a26_cgraph.png differ diff --git a/docs/API/compander__functional_8cc_a3351c323474adfa4b66c985141776b2f_cgraph.map b/docs/API/compander__functional_8cc_a3351c323474adfa4b66c985141776b2f_cgraph.map new file mode 100644 index 0000000..73f194b --- /dev/null +++ b/docs/API/compander__functional_8cc_a3351c323474adfa4b66c985141776b2f_cgraph.map @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/docs/API/compander__functional_8cc_a3351c323474adfa4b66c985141776b2f_cgraph.md5 b/docs/API/compander__functional_8cc_a3351c323474adfa4b66c985141776b2f_cgraph.md5 new file mode 100644 index 0000000..3e8d4f2 --- /dev/null +++ b/docs/API/compander__functional_8cc_a3351c323474adfa4b66c985141776b2f_cgraph.md5 @@ -0,0 +1 @@ +c887800fb2ccf499d9e62f753e6f1ce1 \ No newline at end of file diff --git a/docs/API/compander__functional_8cc_a3351c323474adfa4b66c985141776b2f_cgraph.png b/docs/API/compander__functional_8cc_a3351c323474adfa4b66c985141776b2f_cgraph.png new file mode 100644 index 0000000..b5d4046 Binary files /dev/null and b/docs/API/compander__functional_8cc_a3351c323474adfa4b66c985141776b2f_cgraph.png differ diff --git a/docs/API/compander__functional_8cc_a3b6ae394cbf14a0bfec66e010120eba8_cgraph.map b/docs/API/compander__functional_8cc_a3b6ae394cbf14a0bfec66e010120eba8_cgraph.map new file mode 100644 index 0000000..5071c79 --- /dev/null +++ b/docs/API/compander__functional_8cc_a3b6ae394cbf14a0bfec66e010120eba8_cgraph.map @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/docs/API/compander__functional_8cc_a3b6ae394cbf14a0bfec66e010120eba8_cgraph.md5 b/docs/API/compander__functional_8cc_a3b6ae394cbf14a0bfec66e010120eba8_cgraph.md5 new file mode 100644 index 0000000..5370e82 --- /dev/null +++ b/docs/API/compander__functional_8cc_a3b6ae394cbf14a0bfec66e010120eba8_cgraph.md5 @@ -0,0 +1 @@ +9c590ece16ee55356b6922ebcd0910c5 \ No newline at end of file diff --git a/docs/API/compander__functional_8cc_a3b6ae394cbf14a0bfec66e010120eba8_cgraph.png b/docs/API/compander__functional_8cc_a3b6ae394cbf14a0bfec66e010120eba8_cgraph.png new file mode 100644 index 0000000..e18d878 Binary files /dev/null and b/docs/API/compander__functional_8cc_a3b6ae394cbf14a0bfec66e010120eba8_cgraph.png differ diff --git a/docs/API/compander__functional_8cc_a43868f8668eda22af0b7fea9a453febc_cgraph.map b/docs/API/compander__functional_8cc_a43868f8668eda22af0b7fea9a453febc_cgraph.map new file mode 100644 index 0000000..facfe99 --- /dev/null +++ b/docs/API/compander__functional_8cc_a43868f8668eda22af0b7fea9a453febc_cgraph.map @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/docs/API/compander__functional_8cc_a43868f8668eda22af0b7fea9a453febc_cgraph.md5 b/docs/API/compander__functional_8cc_a43868f8668eda22af0b7fea9a453febc_cgraph.md5 new file mode 100644 index 0000000..ff32d4b --- /dev/null +++ b/docs/API/compander__functional_8cc_a43868f8668eda22af0b7fea9a453febc_cgraph.md5 @@ -0,0 +1 @@ +fcd27c357b0f1d3d36f8a8685db6d421 \ No newline at end of file diff --git a/docs/API/compander__functional_8cc_a43868f8668eda22af0b7fea9a453febc_cgraph.png b/docs/API/compander__functional_8cc_a43868f8668eda22af0b7fea9a453febc_cgraph.png new file mode 100644 index 0000000..7e91779 Binary files /dev/null and b/docs/API/compander__functional_8cc_a43868f8668eda22af0b7fea9a453febc_cgraph.png differ diff --git a/docs/API/compander__functional_8cc_a45d64e11a1ecc040577b7f22b27dde51_cgraph.map b/docs/API/compander__functional_8cc_a45d64e11a1ecc040577b7f22b27dde51_cgraph.map new file mode 100644 index 0000000..68bc667 --- /dev/null +++ b/docs/API/compander__functional_8cc_a45d64e11a1ecc040577b7f22b27dde51_cgraph.map @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/API/compander__functional_8cc_a45d64e11a1ecc040577b7f22b27dde51_cgraph.md5 b/docs/API/compander__functional_8cc_a45d64e11a1ecc040577b7f22b27dde51_cgraph.md5 new file mode 100644 index 0000000..aa2b3bf --- /dev/null +++ b/docs/API/compander__functional_8cc_a45d64e11a1ecc040577b7f22b27dde51_cgraph.md5 @@ -0,0 +1 @@ +1df00e35b802ebc0ea05a4338012d0b3 \ No newline at end of file diff --git a/docs/API/compander__functional_8cc_a45d64e11a1ecc040577b7f22b27dde51_cgraph.png b/docs/API/compander__functional_8cc_a45d64e11a1ecc040577b7f22b27dde51_cgraph.png new file mode 100644 index 0000000..06687cb Binary files /dev/null and b/docs/API/compander__functional_8cc_a45d64e11a1ecc040577b7f22b27dde51_cgraph.png differ diff --git a/docs/API/compander__functional_8cc_a53f55fd621ce0edd0b50933321ae7ade_cgraph.map b/docs/API/compander__functional_8cc_a53f55fd621ce0edd0b50933321ae7ade_cgraph.map new file mode 100644 index 0000000..5071c79 --- /dev/null +++ b/docs/API/compander__functional_8cc_a53f55fd621ce0edd0b50933321ae7ade_cgraph.map @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/docs/API/compander__functional_8cc_a53f55fd621ce0edd0b50933321ae7ade_cgraph.md5 b/docs/API/compander__functional_8cc_a53f55fd621ce0edd0b50933321ae7ade_cgraph.md5 new file mode 100644 index 0000000..ab1562e --- /dev/null +++ b/docs/API/compander__functional_8cc_a53f55fd621ce0edd0b50933321ae7ade_cgraph.md5 @@ -0,0 +1 @@ +97cdb5827652dbce02906c7430a4add0 \ No newline at end of file diff --git a/docs/API/compander__functional_8cc_a53f55fd621ce0edd0b50933321ae7ade_cgraph.png b/docs/API/compander__functional_8cc_a53f55fd621ce0edd0b50933321ae7ade_cgraph.png new file mode 100644 index 0000000..e18d878 Binary files /dev/null and b/docs/API/compander__functional_8cc_a53f55fd621ce0edd0b50933321ae7ade_cgraph.png differ diff --git a/docs/API/compander__functional_8cc_a6f2f68d309e1fe6232db3d1c760901e5_cgraph.map b/docs/API/compander__functional_8cc_a6f2f68d309e1fe6232db3d1c760901e5_cgraph.map new file mode 100644 index 0000000..69b7f70 --- /dev/null +++ b/docs/API/compander__functional_8cc_a6f2f68d309e1fe6232db3d1c760901e5_cgraph.map @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/docs/API/compander__functional_8cc_a6f2f68d309e1fe6232db3d1c760901e5_cgraph.md5 b/docs/API/compander__functional_8cc_a6f2f68d309e1fe6232db3d1c760901e5_cgraph.md5 new file mode 100644 index 0000000..8908786 --- /dev/null +++ b/docs/API/compander__functional_8cc_a6f2f68d309e1fe6232db3d1c760901e5_cgraph.md5 @@ -0,0 +1 @@ +d0c5041eb64f7d91d0743b35f525c294 \ No newline at end of file diff --git a/docs/API/compander__functional_8cc_a6f2f68d309e1fe6232db3d1c760901e5_cgraph.png b/docs/API/compander__functional_8cc_a6f2f68d309e1fe6232db3d1c760901e5_cgraph.png new file mode 100644 index 0000000..e0eaca0 Binary files /dev/null and b/docs/API/compander__functional_8cc_a6f2f68d309e1fe6232db3d1c760901e5_cgraph.png differ diff --git a/docs/API/compander__functional_8cc_a94e6d7fe20edfe5b4ab1dfc265b188aa_cgraph.map b/docs/API/compander__functional_8cc_a94e6d7fe20edfe5b4ab1dfc265b188aa_cgraph.map new file mode 100644 index 0000000..73f194b --- /dev/null +++ b/docs/API/compander__functional_8cc_a94e6d7fe20edfe5b4ab1dfc265b188aa_cgraph.map @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/docs/API/compander__functional_8cc_a94e6d7fe20edfe5b4ab1dfc265b188aa_cgraph.md5 b/docs/API/compander__functional_8cc_a94e6d7fe20edfe5b4ab1dfc265b188aa_cgraph.md5 new file mode 100644 index 0000000..64595df --- /dev/null +++ b/docs/API/compander__functional_8cc_a94e6d7fe20edfe5b4ab1dfc265b188aa_cgraph.md5 @@ -0,0 +1 @@ +c113b3aa79756b21f616b913f44ace5b \ No newline at end of file diff --git a/docs/API/compander__functional_8cc_a94e6d7fe20edfe5b4ab1dfc265b188aa_cgraph.png b/docs/API/compander__functional_8cc_a94e6d7fe20edfe5b4ab1dfc265b188aa_cgraph.png new file mode 100644 index 0000000..b5d4046 Binary files /dev/null and b/docs/API/compander__functional_8cc_a94e6d7fe20edfe5b4ab1dfc265b188aa_cgraph.png differ diff --git a/docs/API/compander__functional_8cc_aae69c6516cb0940cc68f27bc8854078b_cgraph.map b/docs/API/compander__functional_8cc_aae69c6516cb0940cc68f27bc8854078b_cgraph.map new file mode 100644 index 0000000..f4241f0 --- /dev/null +++ b/docs/API/compander__functional_8cc_aae69c6516cb0940cc68f27bc8854078b_cgraph.map @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/docs/API/compander__functional_8cc_aae69c6516cb0940cc68f27bc8854078b_cgraph.md5 b/docs/API/compander__functional_8cc_aae69c6516cb0940cc68f27bc8854078b_cgraph.md5 new file mode 100644 index 0000000..097ec5f --- /dev/null +++ b/docs/API/compander__functional_8cc_aae69c6516cb0940cc68f27bc8854078b_cgraph.md5 @@ -0,0 +1 @@ +90bd06648f6d19d6d0a8de77609aed1d \ No newline at end of file diff --git a/docs/API/compander__functional_8cc_aae69c6516cb0940cc68f27bc8854078b_cgraph.png b/docs/API/compander__functional_8cc_aae69c6516cb0940cc68f27bc8854078b_cgraph.png new file mode 100644 index 0000000..14095d8 Binary files /dev/null and b/docs/API/compander__functional_8cc_aae69c6516cb0940cc68f27bc8854078b_cgraph.png differ diff --git a/docs/API/compander__functional_8cc_acc81043d5db9467b97bb44076b2c119d_cgraph.map b/docs/API/compander__functional_8cc_acc81043d5db9467b97bb44076b2c119d_cgraph.map new file mode 100644 index 0000000..5071c79 --- /dev/null +++ b/docs/API/compander__functional_8cc_acc81043d5db9467b97bb44076b2c119d_cgraph.map @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/docs/API/compander__functional_8cc_acc81043d5db9467b97bb44076b2c119d_cgraph.md5 b/docs/API/compander__functional_8cc_acc81043d5db9467b97bb44076b2c119d_cgraph.md5 new file mode 100644 index 0000000..a8f97d1 --- /dev/null +++ b/docs/API/compander__functional_8cc_acc81043d5db9467b97bb44076b2c119d_cgraph.md5 @@ -0,0 +1 @@ +4db7c06ac2838c64a4035103c62b65de \ No newline at end of file diff --git a/docs/API/compander__functional_8cc_acc81043d5db9467b97bb44076b2c119d_cgraph.png b/docs/API/compander__functional_8cc_acc81043d5db9467b97bb44076b2c119d_cgraph.png new file mode 100644 index 0000000..e18d878 Binary files /dev/null and b/docs/API/compander__functional_8cc_acc81043d5db9467b97bb44076b2c119d_cgraph.png differ diff --git a/docs/API/compander__functional_8cc_ad91fcc9f956c7d16b5fc30315ff3b803_icgraph.map b/docs/API/compander__functional_8cc_ad91fcc9f956c7d16b5fc30315ff3b803_icgraph.map new file mode 100644 index 0000000..9395acb --- /dev/null +++ b/docs/API/compander__functional_8cc_ad91fcc9f956c7d16b5fc30315ff3b803_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/compander__functional_8cc_ad91fcc9f956c7d16b5fc30315ff3b803_icgraph.md5 b/docs/API/compander__functional_8cc_ad91fcc9f956c7d16b5fc30315ff3b803_icgraph.md5 new file mode 100644 index 0000000..11809c0 --- /dev/null +++ b/docs/API/compander__functional_8cc_ad91fcc9f956c7d16b5fc30315ff3b803_icgraph.md5 @@ -0,0 +1 @@ +2eb51f77c1407e5d7646b3ffe9702478 \ No newline at end of file diff --git a/docs/API/compander__functional_8cc_ad91fcc9f956c7d16b5fc30315ff3b803_icgraph.png b/docs/API/compander__functional_8cc_ad91fcc9f956c7d16b5fc30315ff3b803_icgraph.png new file mode 100644 index 0000000..b21c645 Binary files /dev/null and b/docs/API/compander__functional_8cc_ad91fcc9f956c7d16b5fc30315ff3b803_icgraph.png differ diff --git a/docs/API/compander__functional_8cc_ae322f73cf02c6e8cfa6e8187808de25b_cgraph.map b/docs/API/compander__functional_8cc_ae322f73cf02c6e8cfa6e8187808de25b_cgraph.map new file mode 100644 index 0000000..23c726b --- /dev/null +++ b/docs/API/compander__functional_8cc_ae322f73cf02c6e8cfa6e8187808de25b_cgraph.map @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/API/compander__functional_8cc_ae322f73cf02c6e8cfa6e8187808de25b_cgraph.md5 b/docs/API/compander__functional_8cc_ae322f73cf02c6e8cfa6e8187808de25b_cgraph.md5 new file mode 100644 index 0000000..14a8b3d --- /dev/null +++ b/docs/API/compander__functional_8cc_ae322f73cf02c6e8cfa6e8187808de25b_cgraph.md5 @@ -0,0 +1 @@ +69954987c690cbc4eea5e53ee86f76f3 \ No newline at end of file diff --git a/docs/API/compander__functional_8cc_ae322f73cf02c6e8cfa6e8187808de25b_cgraph.png b/docs/API/compander__functional_8cc_ae322f73cf02c6e8cfa6e8187808de25b_cgraph.png new file mode 100644 index 0000000..b192a82 Binary files /dev/null and b/docs/API/compander__functional_8cc_ae322f73cf02c6e8cfa6e8187808de25b_cgraph.png differ diff --git a/docs/API/compander__functional_8cc_af1f014fcec0bb4765564caa98c3bb2ce_icgraph.map b/docs/API/compander__functional_8cc_af1f014fcec0bb4765564caa98c3bb2ce_icgraph.map new file mode 100644 index 0000000..b5222ff --- /dev/null +++ b/docs/API/compander__functional_8cc_af1f014fcec0bb4765564caa98c3bb2ce_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/compander__functional_8cc_af1f014fcec0bb4765564caa98c3bb2ce_icgraph.md5 b/docs/API/compander__functional_8cc_af1f014fcec0bb4765564caa98c3bb2ce_icgraph.md5 new file mode 100644 index 0000000..8c29684 --- /dev/null +++ b/docs/API/compander__functional_8cc_af1f014fcec0bb4765564caa98c3bb2ce_icgraph.md5 @@ -0,0 +1 @@ +2b6ab3a442c8170b4cc62ee46442994f \ No newline at end of file diff --git a/docs/API/compander__functional_8cc_af1f014fcec0bb4765564caa98c3bb2ce_icgraph.png b/docs/API/compander__functional_8cc_af1f014fcec0bb4765564caa98c3bb2ce_icgraph.png new file mode 100644 index 0000000..f435981 Binary files /dev/null and b/docs/API/compander__functional_8cc_af1f014fcec0bb4765564caa98c3bb2ce_icgraph.png differ diff --git a/docs/API/compander__functional_8cc_af62cc2e23934ba7efa6a132a26a339fe_cgraph.map b/docs/API/compander__functional_8cc_af62cc2e23934ba7efa6a132a26a339fe_cgraph.map new file mode 100644 index 0000000..23c726b --- /dev/null +++ b/docs/API/compander__functional_8cc_af62cc2e23934ba7efa6a132a26a339fe_cgraph.map @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/API/compander__functional_8cc_af62cc2e23934ba7efa6a132a26a339fe_cgraph.md5 b/docs/API/compander__functional_8cc_af62cc2e23934ba7efa6a132a26a339fe_cgraph.md5 new file mode 100644 index 0000000..1a1b59a --- /dev/null +++ b/docs/API/compander__functional_8cc_af62cc2e23934ba7efa6a132a26a339fe_cgraph.md5 @@ -0,0 +1 @@ +8666fb3bdb65a83fcc6d2aa278e1345e \ No newline at end of file diff --git a/docs/API/compander__functional_8cc_af62cc2e23934ba7efa6a132a26a339fe_cgraph.png b/docs/API/compander__functional_8cc_af62cc2e23934ba7efa6a132a26a339fe_cgraph.png new file mode 100644 index 0000000..b192a82 Binary files /dev/null and b/docs/API/compander__functional_8cc_af62cc2e23934ba7efa6a132a26a339fe_cgraph.png differ diff --git a/docs/API/compander__functional_8cc_afaefb1e4f9068a1fd21a27ef4ecdc529_cgraph.map b/docs/API/compander__functional_8cc_afaefb1e4f9068a1fd21a27ef4ecdc529_cgraph.map new file mode 100644 index 0000000..f4241f0 --- /dev/null +++ b/docs/API/compander__functional_8cc_afaefb1e4f9068a1fd21a27ef4ecdc529_cgraph.map @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/docs/API/compander__functional_8cc_afaefb1e4f9068a1fd21a27ef4ecdc529_cgraph.md5 b/docs/API/compander__functional_8cc_afaefb1e4f9068a1fd21a27ef4ecdc529_cgraph.md5 new file mode 100644 index 0000000..7f58345 --- /dev/null +++ b/docs/API/compander__functional_8cc_afaefb1e4f9068a1fd21a27ef4ecdc529_cgraph.md5 @@ -0,0 +1 @@ +815c6152713f03c2807ba68eb9f6bf5b \ No newline at end of file diff --git a/docs/API/compander__functional_8cc_afaefb1e4f9068a1fd21a27ef4ecdc529_cgraph.png b/docs/API/compander__functional_8cc_afaefb1e4f9068a1fd21a27ef4ecdc529_cgraph.png new file mode 100644 index 0000000..14095d8 Binary files /dev/null and b/docs/API/compander__functional_8cc_afaefb1e4f9068a1fd21a27ef4ecdc529_cgraph.png differ diff --git a/docs/API/compander__functional_8cc_source.html b/docs/API/compander__functional_8cc_source.html new file mode 100644 index 0000000..617a323 --- /dev/null +++ b/docs/API/compander__functional_8cc_source.html @@ -0,0 +1,143 @@ + + + + + + + +o-du/phy: compander_functional.cc Source File + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
compander_functional.cc
+
+
+Go to the documentation of this file.
1 /******************************************************************************
2 *
3 * Copyright (c) 2019 Intel.
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 *
17 *******************************************************************************/
18 
19 #include "common.hpp"
20 #include "xran_fh_o_du.h"
21 #include "xran_compression.h"
22 #include "xran_compression.hpp"
23 
24 #include <stdint.h>
25 #include <random>
26 #include <algorithm>
27 #include <iterator>
28 #include <iostream>
29 #include <cstring>
30 
31 const std::string module_name = "bfp";
32 
33 template <typename T>
34 int checkData(T* inVec1, T* inVec2, int numVals)
35 {
36  int checkSum = 0;
37  for (int n = 0; n < numVals; ++n)
38  {
39  checkSum += std::abs(inVec1[n] - inVec2[n]);
40  }
41  if (checkSum == 0)
42  {
43  //std::cout << "Test Passed\n";
44  return 0;
45  }
46  else
47  {
48  //std::cout << "Test Failed\n";
49  return 1;
50  }
51 }
52 template int checkData(int8_t*, int8_t*, int);
53 template int checkData(int16_t*, int16_t*, int);
54 
55 int checkDataApprox(int16_t *inVec1, int16_t *inVec2, int numVals)
56 {
57  int checkSum = 0;
58  for (int n = 0; n < numVals; ++n)
59  {
60  if (std::abs(inVec1[n] & 0xFF00) - std::abs(inVec2[n] & 0xFF00)){;
61  printf("%d %d\n", inVec1[n] & 0xFF00, inVec2[n] & 0xFF00);
62  checkSum += 1;
63  }
64  }
65  if (checkSum == 0)
66  {
67  //std::cout << "Test Passed\n";
68  return 0;
69  }
70  else
71  {
72  //std::cout << "Test Failed\n";
73  return 1;
74  }
75 }
76 
77 
78 class BfpCheck : public KernelTests
79 {
80 protected:
81  void SetUp() override {
82  init_test("bfp_functional");
83  }
84 
85  /* It's called after an execution of the each test case.*/
86  void TearDown() override {
87  }
88 };
89 
90 class BfpPerf : public KernelTests
91 {
92 protected:
93  void SetUp() override {
94  init_test("bfp_performace");
95  }
96 
97  /* It's called after an execution of the each test case.*/
98  void TearDown() override {
99  }
100 };
101 CACHE_ALIGNED int16_t loc_dataExpandedIn[288*BlockFloatCompander::k_numREReal];
102 CACHE_ALIGNED int16_t loc_dataExpandedRes[288*BlockFloatCompander::k_numREReal];
103 CACHE_ALIGNED uint8_t loc_dataCompressedDataOut[2*288*BlockFloatCompander::k_numREReal];
104 
105 class BfpPerfEx : public KernelTests
106 {
107 protected:
108  struct xranlib_decompress_request bfp_decom_req;
109  struct xranlib_decompress_response bfp_decom_rsp;
110  struct xranlib_compress_request bfp_com_req;
111  struct xranlib_compress_response bfp_com_rsp;
112 
113  void SetUp() override {
114  init_test("bfp_performace_ex");
115  int32_t resSum = 0;
116  int16_t len = 0;
117  int16_t compMethod = XRAN_COMPMETHOD_BLKFLOAT;
118  int16_t iqWidth = get_input_parameter<int16_t>("iqWidth");
119  int16_t numRBs = get_input_parameter<int16_t>("nRBsize");
120  // Create random number generator
121  std::random_device rd;
122  std::mt19937 gen(rd()); //Standard mersenne_twister_engine seeded with rd()
123  std::uniform_int_distribution<int16_t> randInt16(-32768, 32767);
124  std::uniform_int_distribution<int> randExpShift(0, 4);
125 
127  expandedData.dataExpanded = &loc_dataExpandedIn[0];
128  BlockFloatCompander::ExpandedData expandedDataRes;
129  expandedDataRes.dataExpanded = &loc_dataExpandedRes[0];
130 
131  //printf("iqWidth %d numRBs %d\n", iqWidth, numRBs);
132 
133  for (int m = 0; m < 18*BlockFloatCompander::k_numRB; ++m) {
134  auto shiftVal = randExpShift(gen);
135  for (int n = 0; n < BlockFloatCompander::k_numREReal; ++n) {
136  expandedData.dataExpanded[m*BlockFloatCompander::k_numREReal+n] = int16_t(randInt16(gen) >> shiftVal);
137  }
138  }
139 
141  compressedData.dataCompressed = &loc_dataCompressedDataOut[0];
142 
143  std::memset(&loc_dataCompressedDataOut[0], 0, 288*BlockFloatCompander::k_numREReal);
144  std::memset(&loc_dataExpandedRes[0], 0, 288*BlockFloatCompander::k_numREReal);
145 
146  std::memset(&bfp_com_req, 0, sizeof(struct xranlib_compress_request));
147  std::memset(&bfp_com_rsp, 0, sizeof(struct xranlib_compress_response));
148  std::memset(&bfp_decom_req, 0, sizeof(struct xranlib_decompress_request));
149  std::memset(&bfp_decom_rsp, 0, sizeof(struct xranlib_decompress_response));
150 
151  bfp_com_req.data_in = (int16_t *)expandedData.dataExpanded;
152  bfp_com_req.numRBs = numRBs;
153  bfp_com_req.len = numRBs*12*2*2;
154  bfp_com_req.compMethod = compMethod;
155  bfp_com_req.iqWidth = iqWidth;
156 
157  bfp_com_rsp.data_out = (int8_t *)(compressedData.dataCompressed);
158  bfp_com_rsp.len = 0;
159 
160  bfp_decom_req.data_in = (int8_t *)(compressedData.dataCompressed);
161  bfp_decom_req.numRBs = numRBs;
162  bfp_decom_req.len = ((3 * iqWidth) + 1) * numRBs;
163  bfp_decom_req.compMethod = compMethod;
164  bfp_decom_req.iqWidth = iqWidth;
165 
166  bfp_decom_rsp.data_out = (int16_t *)expandedDataRes.dataExpanded;
167  bfp_decom_rsp.len = 0;
168  }
169 
170  /* It's called after an execution of the each test case.*/
171  void TearDown() override {
172 
173  }
174 };
175 
176 TEST_P(BfpCheck, AVX512_12bit)
177 {
178  int resSum = 0;
179 
180  // Create random number generator
181  std::random_device rd;
182  std::mt19937 gen(rd()); //Standard mersenne_twister_engine seeded with rd()
183  std::uniform_int_distribution<int16_t> randInt16(-32768, 32767);
184  std::uniform_int_distribution<int> randExpShift(0, 4);
185 
186  // Generate random test data for compression kernel
187  BlockFloatCompander::ExpandedData expandedDataInput;
188  expandedDataInput.dataExpanded = &expandedDataInput.dataExpandedIn[0];
189  for (int m = 0; m < BlockFloatCompander::k_numRB; ++m)
190  {
191  auto shiftVal = randExpShift(gen);
192  for (int n = 0; n < BlockFloatCompander::k_numREReal; ++n)
193  {
194  expandedDataInput.dataExpanded[m*BlockFloatCompander::k_numREReal+n] = int16_t(randInt16(gen) >> shiftVal);
195  }
196  }
197 
198  BlockFloatCompander::CompressedData compressedDataRef;
199  compressedDataRef.dataCompressed = &compressedDataRef.dataCompressedDataOut[0];
200  BlockFloatCompander::ExpandedData expandedDataRef;
201  expandedDataRef.dataExpanded = &expandedDataRef.dataExpandedIn[0];
202  BlockFloatCompander::CompressedData compressedDataKern;
203  compressedDataKern.dataCompressed = &compressedDataKern.dataCompressedDataOut[0];
204  BlockFloatCompander::ExpandedData expandedDataKern;
205  expandedDataKern.dataExpanded = &expandedDataKern.dataExpandedIn[0];
206 
207  //std::cout << "Verifying AVX512 12b iqWidth Kernel\n";
208  expandedDataInput.iqWidth = 12;
209  // Generate reference
210  BlockFloatCompander::BlockFloatCompress_Basic(expandedDataInput, &compressedDataRef);
211  BlockFloatCompander::BlockFloatExpand_Basic(compressedDataRef, &expandedDataRef);
212  // Generate kernel output
213  BlockFloatCompander::BlockFloatCompress_12b_AVX512(expandedDataInput, &compressedDataKern);
214  BlockFloatCompander::BlockFloatExpand_12b_AVX512(compressedDataRef, &expandedDataKern);
215  // Verify
216  auto totNumBytes = ((3 * compressedDataRef.iqWidth) + 1) * BlockFloatCompander::k_numRB;
217  //std::cout << "Compression: ";
218  resSum += checkData(compressedDataRef.dataCompressed, compressedDataKern.dataCompressed, totNumBytes);
219  //std::cout << "Expansion: ";
220  resSum += checkData(expandedDataRef.dataExpanded, expandedDataKern.dataExpanded, BlockFloatCompander::k_numSampsExpanded);
221 
222  ASSERT_EQ(0, resSum);
223 }
224 
225 TEST_P(BfpCheck, AVX512_10bit)
226 {
227  int resSum = 0;
228 
229  // Create random number generator
230  std::random_device rd;
231  std::mt19937 gen(rd()); //Standard mersenne_twister_engine seeded with rd()
232  std::uniform_int_distribution<int16_t> randInt16(-32768, 32767);
233  std::uniform_int_distribution<int> randExpShift(0, 4);
234 
235  // Generate random test data for compression kernel
236  BlockFloatCompander::ExpandedData expandedDataInput;
237  expandedDataInput.dataExpanded = &expandedDataInput.dataExpandedIn[0];
238  for (int m = 0; m < BlockFloatCompander::k_numRB; ++m)
239  {
240  auto shiftVal = randExpShift(gen);
241  for (int n = 0; n < BlockFloatCompander::k_numREReal; ++n)
242  {
243  expandedDataInput.dataExpanded[m*BlockFloatCompander::k_numREReal+n] = int16_t(randInt16(gen) >> shiftVal);
244  }
245  }
246 
247  BlockFloatCompander::CompressedData compressedDataRef;
248  compressedDataRef.dataCompressed = &compressedDataRef.dataCompressedDataOut[0];
249  BlockFloatCompander::ExpandedData expandedDataRef;
250  expandedDataRef.dataExpanded = &expandedDataRef.dataExpandedIn[0];
251  BlockFloatCompander::CompressedData compressedDataKern;
252  compressedDataKern.dataCompressed = &compressedDataKern.dataCompressedDataOut[0];
253  BlockFloatCompander::ExpandedData expandedDataKern;
254  expandedDataKern.dataExpanded = &expandedDataKern.dataExpandedIn[0];
255 
256  //std::cout << "Verifying AVX512 10b iqWidth Kernel\n";
257  expandedDataInput.iqWidth = 10;
258  // Generate reference
259  BlockFloatCompander::BlockFloatCompress_Basic(expandedDataInput, &compressedDataRef);
260  BlockFloatCompander::BlockFloatExpand_Basic(compressedDataRef, &expandedDataRef);
261  // Generate kernel output
262  BlockFloatCompander::BlockFloatCompress_10b_AVX512(expandedDataInput, &compressedDataKern);
263  BlockFloatCompander::BlockFloatExpand_10b_AVX512(compressedDataRef, &expandedDataKern);
264  // Verify
265  auto totNumBytes = ((3 * compressedDataRef.iqWidth) + 1) * BlockFloatCompander::k_numRB;
266  //std::cout << "Compression: ";
267  resSum += checkData(compressedDataRef.dataCompressed, compressedDataKern.dataCompressed, totNumBytes);
268  //std::cout << "Expansion: ";
269  resSum += checkData(expandedDataRef.dataExpanded, expandedDataKern.dataExpanded, BlockFloatCompander::k_numSampsExpanded);
270 
271  ASSERT_EQ(0, resSum);
272 
273 // performance("AVX512", module_name, BlockFloatCompander::BlockFloatCompress_10b_AVX512, expandedDataInput, &compressedDataKern);
274 }
275 
276 TEST_P(BfpCheck, AVX512_9bit)
277 {
278  int resSum = 0;
279 
280  // Create random number generator
281  std::random_device rd;
282  std::mt19937 gen(rd()); //Standard mersenne_twister_engine seeded with rd()
283  std::uniform_int_distribution<int16_t> randInt16(-32768, 32767);
284  std::uniform_int_distribution<int> randExpShift(0, 4);
285 
286  // Generate random test data for compression kernel
287  BlockFloatCompander::ExpandedData expandedDataInput;
288  expandedDataInput.dataExpanded = &expandedDataInput.dataExpandedIn[0];
289  for (int m = 0; m < BlockFloatCompander::k_numRB; ++m)
290  {
291  auto shiftVal = randExpShift(gen);
292  for (int n = 0; n < BlockFloatCompander::k_numREReal; ++n)
293  {
294  expandedDataInput.dataExpanded[m*BlockFloatCompander::k_numREReal+n] = int16_t(randInt16(gen) >> shiftVal);
295  }
296  }
297 
298  BlockFloatCompander::CompressedData compressedDataRef;
299  compressedDataRef.dataCompressed = &compressedDataRef.dataCompressedDataOut[0];
300  BlockFloatCompander::ExpandedData expandedDataRef;
301  expandedDataRef.dataExpanded = &expandedDataRef.dataExpandedIn[0];
302  BlockFloatCompander::CompressedData compressedDataKern;
303  compressedDataKern.dataCompressed = &compressedDataKern.dataCompressedDataOut[0];
304  BlockFloatCompander::ExpandedData expandedDataKern;
305  expandedDataKern.dataExpanded = &expandedDataKern.dataExpandedIn[0];
306 
307  //std::cout << "Verifying AVX512 9b iqWidth Kernel\n";
308  expandedDataInput.iqWidth = 9;
309  // Generate reference
310  BlockFloatCompander::BlockFloatCompress_Basic(expandedDataInput, &compressedDataRef);
311  BlockFloatCompander::BlockFloatExpand_Basic(compressedDataRef, &expandedDataRef);
312  // Generate kernel output
313  BlockFloatCompander::BlockFloatCompress_9b_AVX512(expandedDataInput, &compressedDataKern);
314  BlockFloatCompander::BlockFloatExpand_9b_AVX512(compressedDataRef, &expandedDataKern);
315  // Verify
316  auto totNumBytes = ((3 * compressedDataRef.iqWidth) + 1) * BlockFloatCompander::k_numRB;
317  //std::cout << "Compression: ";
318  resSum += checkData(compressedDataRef.dataCompressed, compressedDataKern.dataCompressed, totNumBytes);
319  //std::cout << "Expansion: ";
320  resSum += checkData(expandedDataRef.dataExpanded, expandedDataKern.dataExpanded, BlockFloatCompander::k_numSampsExpanded);
321 
322  ASSERT_EQ(0, resSum);
323 }
324 
325 
326 TEST_P(BfpCheck, AVX512_8bit)
327 {
328  int resSum = 0;
329 
330  // Create random number generator
331  std::random_device rd;
332  std::mt19937 gen(rd()); //Standard mersenne_twister_engine seeded with rd()
333  std::uniform_int_distribution<int16_t> randInt16(-32768, 32767);
334  std::uniform_int_distribution<int> randExpShift(0, 4);
335 
336  // Generate random test data for compression kernel
337  BlockFloatCompander::ExpandedData expandedDataInput;
338  expandedDataInput.dataExpanded = &expandedDataInput.dataExpandedIn[0];
339  for (int m = 0; m < BlockFloatCompander::k_numRB; ++m)
340  {
341  auto shiftVal = randExpShift(gen);
342  for (int n = 0; n < BlockFloatCompander::k_numREReal; ++n)
343  {
344  expandedDataInput.dataExpanded[m*BlockFloatCompander::k_numREReal+n] = int16_t(randInt16(gen) >> shiftVal);
345  }
346  }
347 
348  BlockFloatCompander::CompressedData compressedDataRef;
349  compressedDataRef.dataCompressed = &compressedDataRef.dataCompressedDataOut[0];
350  BlockFloatCompander::ExpandedData expandedDataRef;
351  expandedDataRef.dataExpanded = &expandedDataRef.dataExpandedIn[0];
352  BlockFloatCompander::CompressedData compressedDataKern;
353  compressedDataKern.dataCompressed = &compressedDataKern.dataCompressedDataOut[0];
354  BlockFloatCompander::ExpandedData expandedDataKern;
355  expandedDataKern.dataExpanded = &expandedDataKern.dataExpandedIn[0];
356 
357  //std::cout << "Verifying AVX512 8bit Kernel\n";
358  expandedDataInput.iqWidth = 8;
359  // Generate reference
360  BlockFloatCompander::BlockFloatCompress_Basic(expandedDataInput, &compressedDataRef);
361  BlockFloatCompander::BlockFloatExpand_Basic(compressedDataRef, &expandedDataRef);
362  // Generate kernel output
363  BlockFloatCompander::BlockFloatCompress_8b_AVX512(expandedDataInput, &compressedDataKern);
364  BlockFloatCompander::BlockFloatExpand_8b_AVX512(compressedDataRef, &expandedDataKern);
365  // Verify
366  auto totNumBytes = ((3 * compressedDataRef.iqWidth) + 1) * BlockFloatCompander::k_numRB;
367  //std::cout << "Compression: ";
368  resSum += checkData(compressedDataRef.dataCompressed, compressedDataKern.dataCompressed, totNumBytes);
369  //std::cout << "Expansion: ";
370  resSum += checkData(expandedDataRef.dataExpanded, expandedDataKern.dataExpanded, BlockFloatCompander::k_numSampsExpanded);
371 
372  ASSERT_EQ(0, resSum);
373 }
374 
375 TEST_P(BfpPerf, AVX512_8bit_compression)
376 {
377  int resSum = 0;
378 
379  // Create random number generator
380  std::random_device rd;
381  std::mt19937 gen(rd()); //Standard mersenne_twister_engine seeded with rd()
382  std::uniform_int_distribution<int16_t> randInt16(-32768, 32767);
383  std::uniform_int_distribution<int> randExpShift(0, 4);
384 
385  // Generate random test data for compression kernel
386  BlockFloatCompander::ExpandedData expandedDataInput;
387  expandedDataInput.dataExpanded = &expandedDataInput.dataExpandedIn[0];
388  for (int m = 0; m < BlockFloatCompander::k_numRB; ++m)
389  {
390  auto shiftVal = randExpShift(gen);
391  for (int n = 0; n < BlockFloatCompander::k_numREReal; ++n)
392  {
393  expandedDataInput.dataExpanded[m*BlockFloatCompander::k_numREReal+n] = int16_t(randInt16(gen) >> shiftVal);
394  }
395  }
396 
397  BlockFloatCompander::CompressedData compressedDataRef;
398  compressedDataRef.dataCompressed = &compressedDataRef.dataCompressedDataOut[0];
399  BlockFloatCompander::ExpandedData expandedDataRef;
400  expandedDataRef.dataExpanded = &expandedDataRef.dataExpandedIn[0];
401  BlockFloatCompander::CompressedData compressedDataKern;
402  compressedDataKern.dataCompressed = &compressedDataKern.dataCompressedDataOut[0];
403  BlockFloatCompander::ExpandedData expandedDataKern;
404  expandedDataKern.dataExpanded = &expandedDataKern.dataExpandedIn[0];
405 
406  //std::cout << "Verifying AVX512 8bit Kernel\n";
407  expandedDataInput.iqWidth = 8;
408  // Generate reference
409  BlockFloatCompander::BlockFloatCompress_Basic(expandedDataInput, &compressedDataRef);
410  BlockFloatCompander::BlockFloatExpand_Basic(compressedDataRef, &expandedDataRef);
411  // Generate kernel output
412  BlockFloatCompander::BlockFloatCompress_8b_AVX512(expandedDataInput, &compressedDataKern);
413  BlockFloatCompander::BlockFloatExpand_8b_AVX512(compressedDataRef, &expandedDataKern);
414  // Verify
415  auto totNumBytes = ((3 * compressedDataRef.iqWidth) + 1) * BlockFloatCompander::k_numRB;
416  //std::cout << "Compression: ";
417  resSum += checkData(compressedDataRef.dataCompressed, compressedDataKern.dataCompressed, totNumBytes);
418  //std::cout << "Expansion: ";
419  resSum += checkData(expandedDataRef.dataExpanded, expandedDataKern.dataExpanded, BlockFloatCompander::k_numSampsExpanded);
420 
421  ASSERT_EQ(0, resSum);
422 
423  performance("AVX512", module_name, BlockFloatCompander::BlockFloatCompress_8b_AVX512, expandedDataInput, &compressedDataKern);
424 }
425 
426 TEST_P(BfpPerf, AVX512_8bit_decompression)
427 {
428  int resSum = 0;
429 
430  // Create random number generator
431  std::random_device rd;
432  std::mt19937 gen(rd()); //Standard mersenne_twister_engine seeded with rd()
433  std::uniform_int_distribution<int16_t> randInt16(-32768, 32767);
434  std::uniform_int_distribution<int> randExpShift(0, 4);
435 
436  // Generate random test data for compression kernel
437  BlockFloatCompander::ExpandedData expandedDataInput;
438  expandedDataInput.dataExpanded = &expandedDataInput.dataExpandedIn[0];
439  for (int m = 0; m < BlockFloatCompander::k_numRB; ++m)
440  {
441  auto shiftVal = randExpShift(gen);
442  for (int n = 0; n < BlockFloatCompander::k_numREReal; ++n)
443  {
444  expandedDataInput.dataExpanded[m*BlockFloatCompander::k_numREReal+n] = int16_t(randInt16(gen) >> shiftVal);
445  }
446  }
447 
448  BlockFloatCompander::CompressedData compressedDataRef;
449  compressedDataRef.dataCompressed = &compressedDataRef.dataCompressedDataOut[0];
450  BlockFloatCompander::ExpandedData expandedDataRef;
451  expandedDataRef.dataExpanded = &expandedDataRef.dataExpandedIn[0];
452  BlockFloatCompander::CompressedData compressedDataKern;
453  compressedDataKern.dataCompressed = &compressedDataKern.dataCompressedDataOut[0];
454  BlockFloatCompander::ExpandedData expandedDataKern;
455  expandedDataKern.dataExpanded = &expandedDataKern.dataExpandedIn[0];
456 
457  //std::cout << "Verifying AVX512 8bit Kernel\n";
458  expandedDataInput.iqWidth = 8;
459  // Generate reference
460  BlockFloatCompander::BlockFloatCompress_Basic(expandedDataInput, &compressedDataRef);
461  BlockFloatCompander::BlockFloatExpand_Basic(compressedDataRef, &expandedDataRef);
462  // Generate kernel output
463  BlockFloatCompander::BlockFloatCompress_8b_AVX512(expandedDataInput, &compressedDataKern);
464  BlockFloatCompander::BlockFloatExpand_8b_AVX512(compressedDataRef, &expandedDataKern);
465  // Verify
466  auto totNumBytes = ((3 * compressedDataRef.iqWidth) + 1) * BlockFloatCompander::k_numRB;
467  //std::cout << "Compression: ";
468  resSum += checkData(compressedDataRef.dataCompressed, compressedDataKern.dataCompressed, totNumBytes);
469  //std::cout << "Expansion: ";
470  resSum += checkData(expandedDataRef.dataExpanded, expandedDataKern.dataExpanded, BlockFloatCompander::k_numSampsExpanded);
471 
472  ASSERT_EQ(0, resSum);
473 
474  performance("AVX512", module_name, BlockFloatCompander::BlockFloatExpand_8b_AVX512, compressedDataRef, &expandedDataKern);
475 }
476 
477 
478 
479 TEST_P(BfpPerf, AVX512_9bit_compression)
480 {
481  int resSum = 0;
482 
483  // Create random number generator
484  std::random_device rd;
485  std::mt19937 gen(rd()); //Standard mersenne_twister_engine seeded with rd()
486  std::uniform_int_distribution<int16_t> randInt16(-32768, 32767);
487  std::uniform_int_distribution<int> randExpShift(0, 4);
488 
489  // Generate random test data for compression kernel
490  BlockFloatCompander::ExpandedData expandedDataInput;
491  expandedDataInput.dataExpanded = &expandedDataInput.dataExpandedIn[0];
492  for (int m = 0; m < BlockFloatCompander::k_numRB; ++m)
493  {
494  auto shiftVal = randExpShift(gen);
495  for (int n = 0; n < BlockFloatCompander::k_numREReal; ++n)
496  {
497  expandedDataInput.dataExpanded[m*BlockFloatCompander::k_numREReal+n] = int16_t(randInt16(gen) >> shiftVal);
498  }
499  }
500 
501  BlockFloatCompander::CompressedData compressedDataRef;
502  compressedDataRef.dataCompressed = &compressedDataRef.dataCompressedDataOut[0];
503  BlockFloatCompander::ExpandedData expandedDataRef;
504  expandedDataRef.dataExpanded = &expandedDataRef.dataExpandedIn[0];
505  BlockFloatCompander::CompressedData compressedDataKern;
506  compressedDataKern.dataCompressed = &compressedDataKern.dataCompressedDataOut[0];
507  BlockFloatCompander::ExpandedData expandedDataKern;
508  expandedDataKern.dataExpanded = &expandedDataKern.dataExpandedIn[0];
509 
510  //std::cout << "Verifying AVX512 8bit Kernel\n";
511  expandedDataInput.iqWidth = 9;
512  // Generate reference
513  BlockFloatCompander::BlockFloatCompress_Basic(expandedDataInput, &compressedDataRef);
514  BlockFloatCompander::BlockFloatExpand_Basic(compressedDataRef, &expandedDataRef);
515  // Generate kernel output
516  BlockFloatCompander::BlockFloatCompress_9b_AVX512(expandedDataInput, &compressedDataKern);
517  BlockFloatCompander::BlockFloatExpand_9b_AVX512(compressedDataRef, &expandedDataKern);
518  // Verify
519  auto totNumBytes = ((3 * compressedDataRef.iqWidth) + 1) * BlockFloatCompander::k_numRB;
520  //std::cout << "Compression: ";
521  resSum += checkData(compressedDataRef.dataCompressed, compressedDataKern.dataCompressed, totNumBytes);
522  //std::cout << "Expansion: ";
523  resSum += checkData(expandedDataRef.dataExpanded, expandedDataKern.dataExpanded, BlockFloatCompander::k_numSampsExpanded);
524 
525  ASSERT_EQ(0, resSum);
526 
527  performance("AVX512", module_name, BlockFloatCompander::BlockFloatCompress_9b_AVX512, expandedDataInput, &compressedDataKern);
528 }
529 
530 
531 TEST_P(BfpPerf, AVX512_9bit_decompression)
532 {
533  int resSum = 0;
534 
535  // Create random number generator
536  std::random_device rd;
537  std::mt19937 gen(rd()); //Standard mersenne_twister_engine seeded with rd()
538  std::uniform_int_distribution<int16_t> randInt16(-32768, 32767);
539  std::uniform_int_distribution<int> randExpShift(0, 4);
540 
541  // Generate random test data for compression kernel
542  BlockFloatCompander::ExpandedData expandedDataInput;
543  expandedDataInput.dataExpanded = &expandedDataInput.dataExpandedIn[0];
544  for (int m = 0; m < BlockFloatCompander::k_numRB; ++m)
545  {
546  auto shiftVal = randExpShift(gen);
547  for (int n = 0; n < BlockFloatCompander::k_numREReal; ++n)
548  {
549  expandedDataInput.dataExpanded[m*BlockFloatCompander::k_numREReal+n] = int16_t(randInt16(gen) >> shiftVal);
550  }
551  }
552 
553  BlockFloatCompander::CompressedData compressedDataRef;
554  compressedDataRef.dataCompressed = &compressedDataRef.dataCompressedDataOut[0];
555  BlockFloatCompander::ExpandedData expandedDataRef;
556  expandedDataRef.dataExpanded = &expandedDataRef.dataExpandedIn[0];
557  BlockFloatCompander::CompressedData compressedDataKern;
558  compressedDataKern.dataCompressed = &compressedDataKern.dataCompressedDataOut[0];
559  BlockFloatCompander::ExpandedData expandedDataKern;
560  expandedDataKern.dataExpanded = &expandedDataKern.dataExpandedIn[0];
561 
562  //std::cout << "Verifying AVX512 8bit Kernel\n";
563  expandedDataInput.iqWidth = 9;
564  // Generate reference
565  BlockFloatCompander::BlockFloatCompress_Basic(expandedDataInput, &compressedDataRef);
566  BlockFloatCompander::BlockFloatExpand_Basic(compressedDataRef, &expandedDataRef);
567  // Generate kernel output
568  BlockFloatCompander::BlockFloatCompress_9b_AVX512(expandedDataInput, &compressedDataKern);
569  BlockFloatCompander::BlockFloatExpand_9b_AVX512(compressedDataRef, &expandedDataKern);
570  // Verify
571  auto totNumBytes = ((3 * compressedDataRef.iqWidth) + 1) * BlockFloatCompander::k_numRB;
572  //std::cout << "Compression: ";
573  resSum += checkData(compressedDataRef.dataCompressed, compressedDataKern.dataCompressed, totNumBytes);
574  //std::cout << "Expansion: ";
575  resSum += checkData(expandedDataRef.dataExpanded, expandedDataKern.dataExpanded, BlockFloatCompander::k_numSampsExpanded);
576 
577  ASSERT_EQ(0, resSum);
578 
579  performance("AVX512", module_name, BlockFloatCompander::BlockFloatExpand_9b_AVX512, compressedDataRef, &expandedDataKern);
580 }
581 
582 
583 TEST_P(BfpPerf, AVX512_10bit_compression)
584 {
585  int resSum = 0;
586 
587  // Create random number generator
588  std::random_device rd;
589  std::mt19937 gen(rd()); //Standard mersenne_twister_engine seeded with rd()
590  std::uniform_int_distribution<int16_t> randInt16(-32768, 32767);
591  std::uniform_int_distribution<int> randExpShift(0, 4);
592 
593  // Generate random test data for compression kernel
594  BlockFloatCompander::ExpandedData expandedDataInput;
595  expandedDataInput.dataExpanded = &expandedDataInput.dataExpandedIn[0];
596  for (int m = 0; m < BlockFloatCompander::k_numRB; ++m)
597  {
598  auto shiftVal = randExpShift(gen);
599  for (int n = 0; n < BlockFloatCompander::k_numREReal; ++n)
600  {
601  expandedDataInput.dataExpanded[m*BlockFloatCompander::k_numREReal+n] = int16_t(randInt16(gen) >> shiftVal);
602  }
603  }
604 
605  BlockFloatCompander::CompressedData compressedDataRef;
606  compressedDataRef.dataCompressed = &compressedDataRef.dataCompressedDataOut[0];
607  BlockFloatCompander::ExpandedData expandedDataRef;
608  expandedDataRef.dataExpanded = &expandedDataRef.dataExpandedIn[0];
609  BlockFloatCompander::CompressedData compressedDataKern;
610  compressedDataKern.dataCompressed = &compressedDataKern.dataCompressedDataOut[0];
611  BlockFloatCompander::ExpandedData expandedDataKern;
612  expandedDataKern.dataExpanded = &expandedDataKern.dataExpandedIn[0];
613 
614  //std::cout << "Verifying AVX512 8bit Kernel\n";
615  expandedDataInput.iqWidth = 10;
616  // Generate reference
617  BlockFloatCompander::BlockFloatCompress_Basic(expandedDataInput, &compressedDataRef);
618  BlockFloatCompander::BlockFloatExpand_Basic(compressedDataRef, &expandedDataRef);
619  // Generate kernel output
620  BlockFloatCompander::BlockFloatCompress_10b_AVX512(expandedDataInput, &compressedDataKern);
621  BlockFloatCompander::BlockFloatExpand_10b_AVX512(compressedDataRef, &expandedDataKern);
622  // Verify
623  auto totNumBytes = ((3 * compressedDataRef.iqWidth) + 1) * BlockFloatCompander::k_numRB;
624  //std::cout << "Compression: ";
625  resSum += checkData(compressedDataRef.dataCompressed, compressedDataKern.dataCompressed, totNumBytes);
626  //std::cout << "Expansion: ";
627  resSum += checkData(expandedDataRef.dataExpanded, expandedDataKern.dataExpanded, BlockFloatCompander::k_numSampsExpanded);
628 
629  ASSERT_EQ(0, resSum);
630 
631  performance("AVX512", module_name, BlockFloatCompander::BlockFloatCompress_10b_AVX512, expandedDataInput, &compressedDataKern);
632 }
633 
634 TEST_P(BfpPerf, AVX512_10bit_decompression)
635 {
636  int resSum = 0;
637 
638  // Create random number generator
639  std::random_device rd;
640  std::mt19937 gen(rd()); //Standard mersenne_twister_engine seeded with rd()
641  std::uniform_int_distribution<int16_t> randInt16(-32768, 32767);
642  std::uniform_int_distribution<int> randExpShift(0, 4);
643 
644  // Generate random test data for compression kernel
645  BlockFloatCompander::ExpandedData expandedDataInput;
646  expandedDataInput.dataExpanded = &expandedDataInput.dataExpandedIn[0];
647  for (int m = 0; m < BlockFloatCompander::k_numRB; ++m)
648  {
649  auto shiftVal = randExpShift(gen);
650  for (int n = 0; n < BlockFloatCompander::k_numREReal; ++n)
651  {
652  expandedDataInput.dataExpanded[m*BlockFloatCompander::k_numREReal+n] = int16_t(randInt16(gen) >> shiftVal);
653  }
654  }
655 
656  BlockFloatCompander::CompressedData compressedDataRef;
657  compressedDataRef.dataCompressed = &compressedDataRef.dataCompressedDataOut[0];
658  BlockFloatCompander::ExpandedData expandedDataRef;
659  expandedDataRef.dataExpanded = &expandedDataRef.dataExpandedIn[0];
660  BlockFloatCompander::CompressedData compressedDataKern;
661  compressedDataKern.dataCompressed = &compressedDataKern.dataCompressedDataOut[0];
662  BlockFloatCompander::ExpandedData expandedDataKern;
663  expandedDataKern.dataExpanded = &expandedDataKern.dataExpandedIn[0];
664 
665  //std::cout << "Verifying AVX512 8bit Kernel\n";
666  expandedDataInput.iqWidth = 10;
667  // Generate reference
668  BlockFloatCompander::BlockFloatCompress_Basic(expandedDataInput, &compressedDataRef);
669  BlockFloatCompander::BlockFloatExpand_Basic(compressedDataRef, &expandedDataRef);
670  // Generate kernel output
671  BlockFloatCompander::BlockFloatCompress_10b_AVX512(expandedDataInput, &compressedDataKern);
672  BlockFloatCompander::BlockFloatExpand_10b_AVX512(compressedDataRef, &expandedDataKern);
673  // Verify
674  auto totNumBytes = ((3 * compressedDataRef.iqWidth) + 1) * BlockFloatCompander::k_numRB;
675  //std::cout << "Compression: ";
676  resSum += checkData(compressedDataRef.dataCompressed, compressedDataKern.dataCompressed, totNumBytes);
677  //std::cout << "Expansion: ";
678  resSum += checkData(expandedDataRef.dataExpanded, expandedDataKern.dataExpanded, BlockFloatCompander::k_numSampsExpanded);
679 
680  ASSERT_EQ(0, resSum);
681 
682  performance("AVX512", module_name, BlockFloatCompander::BlockFloatExpand_10b_AVX512, compressedDataRef, &expandedDataKern);
683 }
684 
685 TEST_P(BfpPerf, AVX512_12bit_compression)
686 {
687  int resSum = 0;
688 
689  // Create random number generator
690  std::random_device rd;
691  std::mt19937 gen(rd()); //Standard mersenne_twister_engine seeded with rd()
692  std::uniform_int_distribution<int16_t> randInt16(-32768, 32767);
693  std::uniform_int_distribution<int> randExpShift(0, 4);
694 
695  // Generate random test data for compression kernel
696  BlockFloatCompander::ExpandedData expandedDataInput;
697  expandedDataInput.dataExpanded = &expandedDataInput.dataExpandedIn[0];
698  for (int m = 0; m < BlockFloatCompander::k_numRB; ++m)
699  {
700  auto shiftVal = randExpShift(gen);
701  for (int n = 0; n < BlockFloatCompander::k_numREReal; ++n)
702  {
703  expandedDataInput.dataExpanded[m*BlockFloatCompander::k_numREReal+n] = int16_t(randInt16(gen) >> shiftVal);
704  }
705  }
706 
707  BlockFloatCompander::CompressedData compressedDataRef;
708  compressedDataRef.dataCompressed = &compressedDataRef.dataCompressedDataOut[0];
709  BlockFloatCompander::ExpandedData expandedDataRef;
710  expandedDataRef.dataExpanded = &expandedDataRef.dataExpandedIn[0];
711  BlockFloatCompander::CompressedData compressedDataKern;
712  compressedDataKern.dataCompressed = &compressedDataKern.dataCompressedDataOut[0];
713  BlockFloatCompander::ExpandedData expandedDataKern;
714  expandedDataKern.dataExpanded = &expandedDataKern.dataExpandedIn[0];
715 
716  //std::cout << "Verifying AVX512 8bit Kernel\n";
717  expandedDataInput.iqWidth = 12;
718  // Generate reference
719  BlockFloatCompander::BlockFloatCompress_Basic(expandedDataInput, &compressedDataRef);
720  BlockFloatCompander::BlockFloatExpand_Basic(compressedDataRef, &expandedDataRef);
721  // Generate kernel output
722  BlockFloatCompander::BlockFloatCompress_12b_AVX512(expandedDataInput, &compressedDataKern);
723  BlockFloatCompander::BlockFloatExpand_12b_AVX512(compressedDataRef, &expandedDataKern);
724  // Verify
725  auto totNumBytes = ((3 * compressedDataRef.iqWidth) + 1) * BlockFloatCompander::k_numRB;
726  //std::cout << "Compression: ";
727  resSum += checkData(compressedDataRef.dataCompressed, compressedDataKern.dataCompressed, totNumBytes);
728  //std::cout << "Expansion: ";
729  resSum += checkData(expandedDataRef.dataExpanded, expandedDataKern.dataExpanded, BlockFloatCompander::k_numSampsExpanded);
730 
731  ASSERT_EQ(0, resSum);
732 
733  performance("AVX512", module_name, BlockFloatCompander::BlockFloatCompress_12b_AVX512, expandedDataInput, &compressedDataKern);
734 }
735 
736 
737 TEST_P(BfpPerf, AVX512_12bit_decompression)
738 {
739  int resSum = 0;
740 
741  // Create random number generator
742  std::random_device rd;
743  std::mt19937 gen(rd()); //Standard mersenne_twister_engine seeded with rd()
744  std::uniform_int_distribution<int16_t> randInt16(-32768, 32767);
745  std::uniform_int_distribution<int> randExpShift(0, 4);
746 
747  // Generate random test data for compression kernel
748  BlockFloatCompander::ExpandedData expandedDataInput;
749  expandedDataInput.dataExpanded = &expandedDataInput.dataExpandedIn[0];
750  for (int m = 0; m < BlockFloatCompander::k_numRB; ++m)
751  {
752  auto shiftVal = randExpShift(gen);
753  for (int n = 0; n < BlockFloatCompander::k_numREReal; ++n)
754  {
755  expandedDataInput.dataExpanded[m*BlockFloatCompander::k_numREReal+n] = int16_t(randInt16(gen) >> shiftVal);
756  }
757  }
758 
759  BlockFloatCompander::CompressedData compressedDataRef;
760  compressedDataRef.dataCompressed = &compressedDataRef.dataCompressedDataOut[0];
761  BlockFloatCompander::ExpandedData expandedDataRef;
762  expandedDataRef.dataExpanded = &expandedDataRef.dataExpandedIn[0];
763  BlockFloatCompander::CompressedData compressedDataKern;
764  compressedDataKern.dataCompressed = &compressedDataKern.dataCompressedDataOut[0];
765  BlockFloatCompander::ExpandedData expandedDataKern;
766  expandedDataKern.dataExpanded = &expandedDataKern.dataExpandedIn[0];
767 
768  //std::cout << "Verifying AVX512 8bit Kernel\n";
769  expandedDataInput.iqWidth = 12;
770  // Generate reference
771  BlockFloatCompander::BlockFloatCompress_Basic(expandedDataInput, &compressedDataRef);
772  BlockFloatCompander::BlockFloatExpand_Basic(compressedDataRef, &expandedDataRef);
773  // Generate kernel output
774  BlockFloatCompander::BlockFloatCompress_12b_AVX512(expandedDataInput, &compressedDataKern);
775  BlockFloatCompander::BlockFloatExpand_12b_AVX512(compressedDataRef, &expandedDataKern);
776  // Verify
777  auto totNumBytes = ((3 * compressedDataRef.iqWidth) + 1) * BlockFloatCompander::k_numRB;
778  //std::cout << "Compression: ";
779  resSum += checkData(compressedDataRef.dataCompressed, compressedDataKern.dataCompressed, totNumBytes);
780  //std::cout << "Expansion: ";
781  resSum += checkData(expandedDataRef.dataExpanded, expandedDataKern.dataExpanded, BlockFloatCompander::k_numSampsExpanded);
782 
783  ASSERT_EQ(0, resSum);
784 
785  performance("AVX512", module_name, BlockFloatCompander::BlockFloatExpand_12b_AVX512, compressedDataRef, &expandedDataKern);
786 }
787 
788 TEST_P(BfpCheck, AVX512_sweep_xranlib)
789 {
790  int32_t resSum = 0;
791  int16_t len = 0;
792 
793  int16_t compMethod = XRAN_COMPMETHOD_BLKFLOAT;
794  int16_t iqWidth[] = {8, 9, 10, 12};
795 
796  int16_t numRBs[] = {16, 18, 32, 36, 48, 70, 113, 273};
797  struct xranlib_decompress_request bfp_decom_req;
798  struct xranlib_decompress_response bfp_decom_rsp;
799 
800  struct xranlib_compress_request bfp_com_req;
801  struct xranlib_compress_response bfp_com_rsp;
802 
803  // Create random number generator
804  std::random_device rd;
805  std::mt19937 gen(rd()); //Standard mersenne_twister_engine seeded with rd()
806  std::uniform_int_distribution<int16_t> randInt16(-32768, 32767);
807  std::uniform_int_distribution<int> randExpShift(0, 4);
808 
810  expandedData.dataExpanded = &loc_dataExpandedIn[0];
811  BlockFloatCompander::ExpandedData expandedDataRes;
812  expandedDataRes.dataExpanded = &loc_dataExpandedRes[0];
813  for (int iq_w_id = 0; iq_w_id < sizeof(iqWidth)/sizeof(iqWidth[0]); iq_w_id ++){
814  for (int tc = 0; tc < sizeof(numRBs)/sizeof(numRBs[0]); tc ++){
815 
816  //printf("[%d]numRBs %d [%d] iqWidth %d\n",tc, numRBs[tc], iq_w_id, iqWidth[iq_w_id]);
817  // Generate random test data for compression kernel
818 
819  for (int m = 0; m < 18*BlockFloatCompander::k_numRB; ++m) {
820  auto shiftVal = randExpShift(gen);
821  for (int n = 0; n < BlockFloatCompander::k_numREReal; ++n) {
822  expandedData.dataExpanded[m*BlockFloatCompander::k_numREReal+n] = int16_t(randInt16(gen) >> shiftVal);
823  }
824  }
825 
827  compressedData.dataCompressed = &loc_dataCompressedDataOut[0];
828 
829  std::memset(&loc_dataCompressedDataOut[0], 0, 288*BlockFloatCompander::k_numREReal);
830  std::memset(&loc_dataExpandedRes[0], 0, 288*BlockFloatCompander::k_numREReal);
831 
832  std::memset(&bfp_com_req, 0, sizeof(struct xranlib_compress_request));
833  std::memset(&bfp_com_rsp, 0, sizeof(struct xranlib_compress_response));
834  std::memset(&bfp_decom_req, 0, sizeof(struct xranlib_decompress_request));
835  std::memset(&bfp_decom_rsp, 0, sizeof(struct xranlib_decompress_response));
836 
837  bfp_com_req.data_in = (int16_t *)expandedData.dataExpanded;
838  bfp_com_req.numRBs = numRBs[tc];
839  bfp_com_req.len = numRBs[tc]*12*2*2;
840  bfp_com_req.compMethod = compMethod;
841  bfp_com_req.iqWidth = iqWidth[iq_w_id];
842 
843  bfp_com_rsp.data_out = (int8_t *)(compressedData.dataCompressed);
844  bfp_com_rsp.len = 0;
845 
846  xranlib_compress_avx512(&bfp_com_req, &bfp_com_rsp);
847 
848  bfp_decom_req.data_in = (int8_t *)(compressedData.dataCompressed);
849  bfp_decom_req.numRBs = numRBs[tc];
850  bfp_decom_req.len = bfp_com_rsp.len;
851  bfp_decom_req.compMethod = compMethod;
852  bfp_decom_req.iqWidth = iqWidth[iq_w_id];
853 
854  bfp_decom_rsp.data_out = (int16_t *)expandedDataRes.dataExpanded;
855  bfp_decom_rsp.len = 0;
856 
857  xranlib_decompress_avx512(&bfp_decom_req, &bfp_decom_rsp);
858 
859  resSum += checkDataApprox(expandedData.dataExpanded, expandedDataRes.dataExpanded, numRBs[tc]*BlockFloatCompander::k_numREReal);
860 
861  ASSERT_EQ(numRBs[tc]*12*2*2, bfp_decom_rsp.len);
862  ASSERT_EQ(0, resSum);
863  }
864  }
865 }
866 
867 TEST_P(BfpPerfEx, AVX512_Comp)
868 {
869  performance("AVX512", module_name, xranlib_compress_avx512, &bfp_com_req, &bfp_com_rsp);
870 }
871 
872 TEST_P(BfpPerfEx, AVX512_DeComp)
873 {
874  performance("AVX512", module_name, xranlib_decompress_avx512, &bfp_decom_req, &bfp_decom_rsp);
875 }
876 
878  testing::ValuesIn(get_sequence(BfpCheck::get_number_of_cases("bfp_functional"))));
879 
881  testing::ValuesIn(get_sequence(BfpPerf::get_number_of_cases("bfp_performace"))));
882 
883 
885  testing::ValuesIn(get_sequence(BfpPerf::get_number_of_cases("bfp_performace_ex"))));
886 
887 
+ +
CACHE_ALIGNED uint8_t dataCompressedDataOut[k_numSampsCompressed]
Compressed data.
+
CACHE_ALIGNED uint8_t loc_dataCompressedDataOut[2 *288 *BlockFloatCompander::k_numREReal]
+
void BlockFloatCompress_12b_AVX512(const ExpandedData &dataIn, CompressedData *dataOut)
12 bit compression
+
const std::string module_name
+ +
int iqWidth
Size of mantissa including sign bit.
+
static unsigned get_number_of_cases(const std::string &type)
Definition: common.hpp:190
+ +
int checkData(T *inVec1, T *inVec2, int numVals)
+
CACHE_ALIGNED int16_t loc_dataExpandedIn[288 *BlockFloatCompander::k_numREReal]
+
int xranlib_decompress_avx512(const struct xranlib_decompress_request *request, struct xranlib_decompress_response *response)
+ +
void SetUp() override
+
void TearDown() override
+
Request structure containing pointer to data and its length.
+ +
External API for compading with the use BFP algorithm.
+
numRBs
Definition: gen_test.m:96
+
int iqWidth
Size of mantissa including sign bit.
+ +
CACHE_ALIGNED int16_t loc_dataExpandedRes[288 *BlockFloatCompander::k_numREReal]
+ +
void BlockFloatCompress_9b_AVX512(const ExpandedData &dataIn, CompressedData *dataOut)
9 bit compression
+ +
void BlockFloatCompress_10b_AVX512(const ExpandedData &dataIn, CompressedData *dataOut)
10 bit compression
+ +
void SetUp() override
+ +
void BlockFloatExpand_8b_AVX512(const CompressedData &dataIn, ExpandedData *dataOut)
8 bit expansion
+
INSTANTIATE_TEST_CASE_P(UnitTest, BfpCheck, testing::ValuesIn(get_sequence(BfpCheck::get_number_of_cases("bfp_functional"))))
+ +
Request structure containing pointer to data and its length.
+ +
int xranlib_compress_avx512(const struct xranlib_compress_request *request, struct xranlib_compress_response *response)
+
TEST_P(BfpCheck, AVX512_12bit)
+ + +
void TearDown() override
+
void BlockFloatExpand_9b_AVX512(const CompressedData &dataIn, ExpandedData *dataOut)
9 bit expansion
+
void SetUp() override
+
#define CACHE_ALIGNED
+ +
void TearDown() override
+
Response structure containing pointer to data and its length.
+
This file provides public interface to xRAN Front Haul layer implementation as defined in the ORAN-WG...
+
int checkDataApprox(int16_t *inVec1, int16_t *inVec2, int numVals)
+
void BlockFloatExpand_12b_AVX512(const CompressedData &dataIn, ExpandedData *dataOut)
12 bit expansion
+
CACHE_ALIGNED uint8_t * dataCompressed
+
void BlockFloatExpand_10b_AVX512(const CompressedData &dataIn, ExpandedData *dataOut)
10 bit expansion
+ + +
void BlockFloatCompress_8b_AVX512(const ExpandedData &dataIn, CompressedData *dataOut)
8 bit compression
+
CACHE_ALIGNED int16_t dataExpandedIn[k_numSampsExpanded]
Expanded data or input data to compressor.
+ +
CACHE_ALIGNED int16_t * dataExpanded
+ + + +
std::vector< unsigned > get_sequence(const unsigned number)
For a given number return sequence of number from 0 to number - 1.
Definition: common.cpp:78
+
void BlockFloatCompress_Basic(const ExpandedData &dataIn, CompressedData *dataOut)
Reference compression.
+
Response structure containing pointer to data and its length.
+ +
void BlockFloatExpand_Basic(const CompressedData &dataIn, ExpandedData *dataOut)
Reference expansion.
+
+ + + + diff --git a/docs/API/config_8c.html b/docs/API/config_8c.html new file mode 100644 index 0000000..4ceeff9 --- /dev/null +++ b/docs/API/config_8c.html @@ -0,0 +1,1448 @@ + + + + + + + +o-du/phy: config.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
config.c File Reference
+
+
+
#include "rte_common.h"
+#include "config.h"
+#include "common.h"
+#include "debug.h"
+#include <rte_ethdev.h>
+
+Include dependency graph for config.c:
+
+
+ + + + + + + + +
+
+

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Macros

#define MAX_LINE_SIZE   512
 
#define KEY_APP_MODE   "appMode"
 
#define KEY_XRAN_MODE   "xranMode"
 
#define KEY_MU_NUMBER   "mu"
 
#define KEY_NDLABSFREPOINTA   "nDLAbsFrePointA"
 
#define KEY_NULABSFREPOINTA   "nULAbsFrePointA"
 
#define KEY_NDLBANDWIDTH   "nDLBandwidth"
 
#define KEY_NULBANDWIDTH   "nULBandwidth"
 
#define KEY_NDLFFTSIZE   "nDLFftSize"
 
#define KEY_NULFFTSIZE   "nULFftSize"
 
#define KEY_NFRAMEDUPLEXTYPE   "nFrameDuplexType"
 
#define KEY_NTDDPERIOD   "nTddPeriod"
 
#define KEY_SSLOTCONFIG   "sSlotConfig"
 
#define KEY_CC_PER_PORT_NUM   "ccNum"
 
#define KEY_ANT_NUM   "antNum"
 
#define KEY_UL_ANT_NUM   "antNumUL"
 
#define KEY_ANT_ELM_TRX_NUM   "antElmTRx"
 
#define KEY_MU_MIMO_UES_NUM   "muMimoUEs"
 
#define KEY_DLLAYERS_PER_UE   "DlLayersPerUe"
 
#define KEY_ULLAYERS_PER_UE   "UlLayersPerUe"
 
#define KEY_FILE_DLBFWUE   "DlBfwUe"
 
#define KEY_FILE_ULBFWUE   "UlBfwUe"
 
#define KEY_FILE_ULSRS   "antSrsC"
 
#define KEY_TTI_PERIOD   "ttiPeriod"
 
#define KEY_MTU_SIZE   "MTUSize"
 
#define KEY_IO_CORE   "ioCore"
 
#define KEY_INSTANCE_ID   "instanceId"
 
#define KEY_LLS_CU_MAC   "llsCUMac"
 
#define KEY_RU_MAC   "ruMac"
 
#define KEY_FILE_NUMSLOTS   "numSlots"
 
#define KEY_FILE_AxC   "antC"
 
#define KEY_FILE_PRACH_AxC   "antPrachC"
 
#define KEY_PRACH_ENABLE   "rachEanble"
 
#define KEY_SRS_ENABLE   "srsEanble"
 
#define KEY_PRACH_CFGIDX   "prachConfigIndex"
 
#define KEY_SRS_SYM_IDX   "srsSym"
 
#define KEY_MAX_FRAME_ID   "maxFrameId"
 
#define KEY_IQ_SWAP   "iqswap"
 
#define KEY_HTONS_SWAP   "nebyteorderswap"
 
#define KEY_COMPRESSION   "compression"
 
#define KEY_BFW_NUM   "totalBFWeights"
 
#define KEY_TADV_CP_DL   "Tadv_cp_dl"
 
#define KEY_T2A_MIN_CP_DL   "T2a_min_cp_dl"
 
#define KEY_T2A_MAX_CP_DL   "T2a_max_cp_dl"
 
#define KEY_T2A_MIN_CP_UL   "T2a_min_cp_ul"
 
#define KEY_T2A_MAX_CP_UL   "T2a_max_cp_ul"
 
#define KEY_T2A_MIN_UP   "T2a_min_up"
 
#define KEY_T2A_MAX_UP   "T2a_max_up"
 
#define KEY_TA3_MIN   "Ta3_min"
 
#define KEY_TA3_MAX   "Ta3_max"
 
#define KEY_T1A_MIN_CP_DL   "T1a_min_cp_dl"
 
#define KEY_T1A_MAX_CP_DL   "T1a_max_cp_dl"
 
#define KEY_T1A_MIN_CP_UL   "T1a_min_cp_ul"
 
#define KEY_T1A_MAX_CP_UL   "T1a_max_cp_ul"
 
#define KEY_T1A_MIN_UP   "T1a_min_up"
 
#define KEY_T1A_MAX_UP   "T1a_max_up"
 
#define KEY_TA4_MIN   "Ta4_min"
 
#define KEY_TA4_MAX   "Ta4_max"
 
#define KEY_CP_ENABLE   "CPenable"
 
#define KEY_CP_VTAG   "c_plane_vlan_tag"
 
#define KEY_UP_VTAG   "u_plane_vlan_tag"
 
#define KEY_DEBUG_STOP   "debugStop"
 
#define KEY_DEBUG_STOP_CNT   "debugStopCount"
 
#define KEY_BBDEV_MODE   "bbdevMode"
 
#define KEY_DYNA_SEC_ENA   "DynamicSectionEna"
 
#define KEY_ALPHA   "Gps_Alpha"
 
#define KEY_BETA   "Gps_Beta"
 
#define KEY_NPRBELEM_DL   "nPrbElemDl"
 
#define KEY_PRBELEM_DL   "PrbElemDl"
 
#define KEY_NPRBELEM_UL   "nPrbElemUl"
 
#define KEY_PRBELEM_UL   "PrbElemUl"
 
+ + + +

+Functions

int parseConfigFile (char *filename, RuntimeConfig *config)
 
+

Detailed Description

+
Author
Intel Corporation
+ +

Definition in file config.c.

+

Macro Definition Documentation

+ +

◆ KEY_ALPHA

+ +
+
+ + + + +
#define KEY_ALPHA   "Gps_Alpha"
+
+ +

Definition at line 120 of file config.c.

+ +
+
+ +

◆ KEY_ANT_ELM_TRX_NUM

+ +
+
+ + + + +
#define KEY_ANT_ELM_TRX_NUM   "antElmTRx"
+
+ +

Definition at line 55 of file config.c.

+ +
+
+ +

◆ KEY_ANT_NUM

+ +
+
+ + + + +
#define KEY_ANT_NUM   "antNum"
+
+ +

Definition at line 52 of file config.c.

+ +
+
+ +

◆ KEY_APP_MODE

+ +
+
+ + + + +
#define KEY_APP_MODE   "appMode"
+
+ +

Definition at line 36 of file config.c.

+ +
+
+ +

◆ KEY_BBDEV_MODE

+ +
+
+ + + + +
#define KEY_BBDEV_MODE   "bbdevMode"
+
+ +

Definition at line 118 of file config.c.

+ +
+
+ +

◆ KEY_BETA

+ +
+
+ + + + +
#define KEY_BETA   "Gps_Beta"
+
+ +

Definition at line 121 of file config.c.

+ +
+
+ +

◆ KEY_BFW_NUM

+ +
+
+ + + + +
#define KEY_BFW_NUM   "totalBFWeights"
+
+ +

Definition at line 92 of file config.c.

+ +
+
+ +

◆ KEY_CC_PER_PORT_NUM

+ +
+
+ + + + +
#define KEY_CC_PER_PORT_NUM   "ccNum"
+
+ +

Definition at line 51 of file config.c.

+ +
+
+ +

◆ KEY_COMPRESSION

+ +
+
+ + + + +
#define KEY_COMPRESSION   "compression"
+
+ +

Definition at line 90 of file config.c.

+ +
+
+ +

◆ KEY_CP_ENABLE

+ +
+
+ + + + +
#define KEY_CP_ENABLE   "CPenable"
+
+ +

Definition at line 113 of file config.c.

+ +
+
+ +

◆ KEY_CP_VTAG

+ +
+
+ + + + +
#define KEY_CP_VTAG   "c_plane_vlan_tag"
+
+ +

Definition at line 114 of file config.c.

+ +
+
+ +

◆ KEY_DEBUG_STOP

+ +
+
+ + + + +
#define KEY_DEBUG_STOP   "debugStop"
+
+ +

Definition at line 116 of file config.c.

+ +
+
+ +

◆ KEY_DEBUG_STOP_CNT

+ +
+
+ + + + +
#define KEY_DEBUG_STOP_CNT   "debugStopCount"
+
+ +

Definition at line 117 of file config.c.

+ +
+
+ +

◆ KEY_DLLAYERS_PER_UE

+ +
+
+ + + + +
#define KEY_DLLAYERS_PER_UE   "DlLayersPerUe"
+
+ +

Definition at line 58 of file config.c.

+ +
+
+ +

◆ KEY_DYNA_SEC_ENA

+ +
+
+ + + + +
#define KEY_DYNA_SEC_ENA   "DynamicSectionEna"
+
+ +

Definition at line 119 of file config.c.

+ +
+
+ +

◆ KEY_FILE_AxC

+ +
+
+ + + + +
#define KEY_FILE_AxC   "antC"
+
+ +

Definition at line 76 of file config.c.

+ +
+
+ +

◆ KEY_FILE_DLBFWUE

+ +
+
+ + + + +
#define KEY_FILE_DLBFWUE   "DlBfwUe"
+
+ +

Definition at line 60 of file config.c.

+ +
+
+ +

◆ KEY_FILE_NUMSLOTS

+ +
+
+ + + + +
#define KEY_FILE_NUMSLOTS   "numSlots"
+
+ +

Definition at line 75 of file config.c.

+ +
+
+ +

◆ KEY_FILE_PRACH_AxC

+ +
+
+ + + + +
#define KEY_FILE_PRACH_AxC   "antPrachC"
+
+ +

Definition at line 77 of file config.c.

+ +
+
+ +

◆ KEY_FILE_ULBFWUE

+ +
+
+ + + + +
#define KEY_FILE_ULBFWUE   "UlBfwUe"
+
+ +

Definition at line 61 of file config.c.

+ +
+
+ +

◆ KEY_FILE_ULSRS

+ +
+
+ + + + +
#define KEY_FILE_ULSRS   "antSrsC"
+
+ +

Definition at line 63 of file config.c.

+ +
+
+ +

◆ KEY_HTONS_SWAP

+ +
+
+ + + + +
#define KEY_HTONS_SWAP   "nebyteorderswap"
+
+ +

Definition at line 89 of file config.c.

+ +
+
+ +

◆ KEY_INSTANCE_ID

+ +
+
+ + + + +
#define KEY_INSTANCE_ID   "instanceId"
+
+ +

Definition at line 70 of file config.c.

+ +
+
+ +

◆ KEY_IO_CORE

+ +
+
+ + + + +
#define KEY_IO_CORE   "ioCore"
+
+ +

Definition at line 69 of file config.c.

+ +
+
+ +

◆ KEY_IQ_SWAP

+ +
+
+ + + + +
#define KEY_IQ_SWAP   "iqswap"
+
+ +

Definition at line 88 of file config.c.

+ +
+
+ +

◆ KEY_LLS_CU_MAC

+ +
+
+ + + + +
#define KEY_LLS_CU_MAC   "llsCUMac"
+
+ +

Definition at line 72 of file config.c.

+ +
+
+ +

◆ KEY_MAX_FRAME_ID

+ +
+
+ + + + +
#define KEY_MAX_FRAME_ID   "maxFrameId"
+
+ +

Definition at line 85 of file config.c.

+ +
+
+ +

◆ KEY_MTU_SIZE

+ +
+
+ + + + +
#define KEY_MTU_SIZE   "MTUSize"
+
+ +

Definition at line 68 of file config.c.

+ +
+
+ +

◆ KEY_MU_MIMO_UES_NUM

+ +
+
+ + + + +
#define KEY_MU_MIMO_UES_NUM   "muMimoUEs"
+
+ +

Definition at line 57 of file config.c.

+ +
+
+ +

◆ KEY_MU_NUMBER

+ +
+
+ + + + +
#define KEY_MU_NUMBER   "mu"
+
+ +

Definition at line 38 of file config.c.

+ +
+
+ +

◆ KEY_NDLABSFREPOINTA

+ +
+
+ + + + +
#define KEY_NDLABSFREPOINTA   "nDLAbsFrePointA"
+
+ +

Definition at line 39 of file config.c.

+ +
+
+ +

◆ KEY_NDLBANDWIDTH

+ +
+
+ + + + +
#define KEY_NDLBANDWIDTH   "nDLBandwidth"
+
+ +

Definition at line 41 of file config.c.

+ +
+
+ +

◆ KEY_NDLFFTSIZE

+ +
+
+ + + + +
#define KEY_NDLFFTSIZE   "nDLFftSize"
+
+ +

Definition at line 43 of file config.c.

+ +
+
+ +

◆ KEY_NFRAMEDUPLEXTYPE

+ +
+
+ + + + +
#define KEY_NFRAMEDUPLEXTYPE   "nFrameDuplexType"
+
+ +

Definition at line 46 of file config.c.

+ +
+
+ +

◆ KEY_NPRBELEM_DL

+ +
+
+ + + + +
#define KEY_NPRBELEM_DL   "nPrbElemDl"
+
+ +

Definition at line 123 of file config.c.

+ +
+
+ +

◆ KEY_NPRBELEM_UL

+ +
+
+ + + + +
#define KEY_NPRBELEM_UL   "nPrbElemUl"
+
+ +

Definition at line 126 of file config.c.

+ +
+
+ +

◆ KEY_NTDDPERIOD

+ +
+
+ + + + +
#define KEY_NTDDPERIOD   "nTddPeriod"
+
+ +

Definition at line 47 of file config.c.

+ +
+
+ +

◆ KEY_NULABSFREPOINTA

+ +
+
+ + + + +
#define KEY_NULABSFREPOINTA   "nULAbsFrePointA"
+
+ +

Definition at line 40 of file config.c.

+ +
+
+ +

◆ KEY_NULBANDWIDTH

+ +
+
+ + + + +
#define KEY_NULBANDWIDTH   "nULBandwidth"
+
+ +

Definition at line 42 of file config.c.

+ +
+
+ +

◆ KEY_NULFFTSIZE

+ +
+
+ + + + +
#define KEY_NULFFTSIZE   "nULFftSize"
+
+ +

Definition at line 44 of file config.c.

+ +
+
+ +

◆ KEY_PRACH_CFGIDX

+ +
+
+ + + + +
#define KEY_PRACH_CFGIDX   "prachConfigIndex"
+
+ +

Definition at line 82 of file config.c.

+ +
+
+ +

◆ KEY_PRACH_ENABLE

+ +
+
+ + + + +
#define KEY_PRACH_ENABLE   "rachEanble"
+
+ +

Definition at line 79 of file config.c.

+ +
+
+ +

◆ KEY_PRBELEM_DL

+ +
+
+ + + + +
#define KEY_PRBELEM_DL   "PrbElemDl"
+
+ +

Definition at line 124 of file config.c.

+ +
+
+ +

◆ KEY_PRBELEM_UL

+ +
+
+ + + + +
#define KEY_PRBELEM_UL   "PrbElemUl"
+
+ +

Definition at line 127 of file config.c.

+ +
+
+ +

◆ KEY_RU_MAC

+ +
+
+ + + + +
#define KEY_RU_MAC   "ruMac"
+
+ +

Definition at line 73 of file config.c.

+ +
+
+ +

◆ KEY_SRS_ENABLE

+ +
+
+ + + + +
#define KEY_SRS_ENABLE   "srsEanble"
+
+ +

Definition at line 80 of file config.c.

+ +
+
+ +

◆ KEY_SRS_SYM_IDX

+ +
+
+ + + + +
#define KEY_SRS_SYM_IDX   "srsSym"
+
+ +

Definition at line 83 of file config.c.

+ +
+
+ +

◆ KEY_SSLOTCONFIG

+ +
+
+ + + + +
#define KEY_SSLOTCONFIG   "sSlotConfig"
+
+ +

Definition at line 49 of file config.c.

+ +
+
+ +

◆ KEY_T1A_MAX_CP_DL

+ +
+
+ + + + +
#define KEY_T1A_MAX_CP_DL   "T1a_max_cp_dl"
+
+ +

Definition at line 104 of file config.c.

+ +
+
+ +

◆ KEY_T1A_MAX_CP_UL

+ +
+
+ + + + +
#define KEY_T1A_MAX_CP_UL   "T1a_max_cp_ul"
+
+ +

Definition at line 106 of file config.c.

+ +
+
+ +

◆ KEY_T1A_MAX_UP

+ +
+
+ + + + +
#define KEY_T1A_MAX_UP   "T1a_max_up"
+
+ +

Definition at line 108 of file config.c.

+ +
+
+ +

◆ KEY_T1A_MIN_CP_DL

+ +
+
+ + + + +
#define KEY_T1A_MIN_CP_DL   "T1a_min_cp_dl"
+
+ +

Definition at line 103 of file config.c.

+ +
+
+ +

◆ KEY_T1A_MIN_CP_UL

+ +
+
+ + + + +
#define KEY_T1A_MIN_CP_UL   "T1a_min_cp_ul"
+
+ +

Definition at line 105 of file config.c.

+ +
+
+ +

◆ KEY_T1A_MIN_UP

+ +
+
+ + + + +
#define KEY_T1A_MIN_UP   "T1a_min_up"
+
+ +

Definition at line 107 of file config.c.

+ +
+
+ +

◆ KEY_T2A_MAX_CP_DL

+ +
+
+ + + + +
#define KEY_T2A_MAX_CP_DL   "T2a_max_cp_dl"
+
+ +

Definition at line 96 of file config.c.

+ +
+
+ +

◆ KEY_T2A_MAX_CP_UL

+ +
+
+ + + + +
#define KEY_T2A_MAX_CP_UL   "T2a_max_cp_ul"
+
+ +

Definition at line 98 of file config.c.

+ +
+
+ +

◆ KEY_T2A_MAX_UP

+ +
+
+ + + + +
#define KEY_T2A_MAX_UP   "T2a_max_up"
+
+ +

Definition at line 100 of file config.c.

+ +
+
+ +

◆ KEY_T2A_MIN_CP_DL

+ +
+
+ + + + +
#define KEY_T2A_MIN_CP_DL   "T2a_min_cp_dl"
+
+ +

Definition at line 95 of file config.c.

+ +
+
+ +

◆ KEY_T2A_MIN_CP_UL

+ +
+
+ + + + +
#define KEY_T2A_MIN_CP_UL   "T2a_min_cp_ul"
+
+ +

Definition at line 97 of file config.c.

+ +
+
+ +

◆ KEY_T2A_MIN_UP

+ +
+
+ + + + +
#define KEY_T2A_MIN_UP   "T2a_min_up"
+
+ +

Definition at line 99 of file config.c.

+ +
+
+ +

◆ KEY_TA3_MAX

+ +
+
+ + + + +
#define KEY_TA3_MAX   "Ta3_max"
+
+ +

Definition at line 102 of file config.c.

+ +
+
+ +

◆ KEY_TA3_MIN

+ +
+
+ + + + +
#define KEY_TA3_MIN   "Ta3_min"
+
+ +

Definition at line 101 of file config.c.

+ +
+
+ +

◆ KEY_TA4_MAX

+ +
+
+ + + + +
#define KEY_TA4_MAX   "Ta4_max"
+
+ +

Definition at line 110 of file config.c.

+ +
+
+ +

◆ KEY_TA4_MIN

+ +
+
+ + + + +
#define KEY_TA4_MIN   "Ta4_min"
+
+ +

Definition at line 109 of file config.c.

+ +
+
+ +

◆ KEY_TADV_CP_DL

+ +
+
+ + + + +
#define KEY_TADV_CP_DL   "Tadv_cp_dl"
+
+ +

Definition at line 94 of file config.c.

+ +
+
+ +

◆ KEY_TTI_PERIOD

+ +
+
+ + + + +
#define KEY_TTI_PERIOD   "ttiPeriod"
+
+ +

Definition at line 66 of file config.c.

+ +
+
+ +

◆ KEY_UL_ANT_NUM

+ +
+
+ + + + +
#define KEY_UL_ANT_NUM   "antNumUL"
+
+ +

Definition at line 53 of file config.c.

+ +
+
+ +

◆ KEY_ULLAYERS_PER_UE

+ +
+
+ + + + +
#define KEY_ULLAYERS_PER_UE   "UlLayersPerUe"
+
+ +

Definition at line 59 of file config.c.

+ +
+
+ +

◆ KEY_UP_VTAG

+ +
+
+ + + + +
#define KEY_UP_VTAG   "u_plane_vlan_tag"
+
+ +

Definition at line 115 of file config.c.

+ +
+
+ +

◆ KEY_XRAN_MODE

+ +
+
+ + + + +
#define KEY_XRAN_MODE   "xranMode"
+
+ +

Definition at line 37 of file config.c.

+ +
+
+ +

◆ MAX_LINE_SIZE

+ +
+
+ + + + +
#define MAX_LINE_SIZE   512
+
+ +

Definition at line 33 of file config.c.

+ +
+
+

Function Documentation

+ +

◆ parseConfigFile()

+ +
+
+ + + + + + + + + + + + + + + + + + +
int parseConfigFile (char * filename,
RuntimeConfigconfig 
)
+
+

Parse application configuration file.

+
Parameters
+ + + +
filenameThe name of the configuration file to be parsed.
configThe configuration structure to be filled with parsed data.
+
+
+ +

Definition at line 497 of file config.c.

+
+Here is the call graph for this function:
+
+
+ + + +
+
+Here is the caller graph for this function:
+
+
+ + + +
+ +
+
+
+ + + + diff --git a/docs/API/config_8c__incl.map b/docs/API/config_8c__incl.map new file mode 100644 index 0000000..3be5a02 --- /dev/null +++ b/docs/API/config_8c__incl.map @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/API/config_8c__incl.md5 b/docs/API/config_8c__incl.md5 new file mode 100644 index 0000000..687d77b --- /dev/null +++ b/docs/API/config_8c__incl.md5 @@ -0,0 +1 @@ +780946451b47127b1bcf1a6866e17478 \ No newline at end of file diff --git a/docs/API/config_8c__incl.png b/docs/API/config_8c__incl.png new file mode 100644 index 0000000..ddf769e Binary files /dev/null and b/docs/API/config_8c__incl.png differ diff --git a/docs/API/config_8c_add16264aa9472e4e90d1a77e086c7f93_cgraph.map b/docs/API/config_8c_add16264aa9472e4e90d1a77e086c7f93_cgraph.map new file mode 100644 index 0000000..375cb93 --- /dev/null +++ b/docs/API/config_8c_add16264aa9472e4e90d1a77e086c7f93_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/config_8c_add16264aa9472e4e90d1a77e086c7f93_cgraph.md5 b/docs/API/config_8c_add16264aa9472e4e90d1a77e086c7f93_cgraph.md5 new file mode 100644 index 0000000..96f9a40 --- /dev/null +++ b/docs/API/config_8c_add16264aa9472e4e90d1a77e086c7f93_cgraph.md5 @@ -0,0 +1 @@ +4ae9ebdbb9fbefb8b5875e89312d60c2 \ No newline at end of file diff --git a/docs/API/config_8c_add16264aa9472e4e90d1a77e086c7f93_cgraph.png b/docs/API/config_8c_add16264aa9472e4e90d1a77e086c7f93_cgraph.png new file mode 100644 index 0000000..127c0a7 Binary files /dev/null and b/docs/API/config_8c_add16264aa9472e4e90d1a77e086c7f93_cgraph.png differ diff --git a/docs/API/config_8c_add16264aa9472e4e90d1a77e086c7f93_icgraph.map b/docs/API/config_8c_add16264aa9472e4e90d1a77e086c7f93_icgraph.map new file mode 100644 index 0000000..9d978e1 --- /dev/null +++ b/docs/API/config_8c_add16264aa9472e4e90d1a77e086c7f93_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/config_8c_add16264aa9472e4e90d1a77e086c7f93_icgraph.md5 b/docs/API/config_8c_add16264aa9472e4e90d1a77e086c7f93_icgraph.md5 new file mode 100644 index 0000000..ef2ec6e --- /dev/null +++ b/docs/API/config_8c_add16264aa9472e4e90d1a77e086c7f93_icgraph.md5 @@ -0,0 +1 @@ +84f6ab6c3e4f56290651c0408280143f \ No newline at end of file diff --git a/docs/API/config_8c_add16264aa9472e4e90d1a77e086c7f93_icgraph.png b/docs/API/config_8c_add16264aa9472e4e90d1a77e086c7f93_icgraph.png new file mode 100644 index 0000000..f9eeb68 Binary files /dev/null and b/docs/API/config_8c_add16264aa9472e4e90d1a77e086c7f93_icgraph.png differ diff --git a/docs/API/config_8c_source.html b/docs/API/config_8c_source.html new file mode 100644 index 0000000..b3a2114 --- /dev/null +++ b/docs/API/config_8c_source.html @@ -0,0 +1,242 @@ + + + + + + + +o-du/phy: config.c Source File + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
config.c
+
+
+Go to the documentation of this file.
1 /******************************************************************************
2 *
3 * Copyright (c) 2019 Intel.
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 *
17 *******************************************************************************/
18 
26 #include "rte_common.h"
27 #include "config.h"
28 #include "common.h"
29 #include "debug.h"
30 
31 #include <rte_ethdev.h>
32 
33 #define MAX_LINE_SIZE 512
34 /* Configuration file maximum supported line length */
35 
36 #define KEY_APP_MODE "appMode"
37 #define KEY_XRAN_MODE "xranMode"
38 #define KEY_MU_NUMBER "mu"
39 #define KEY_NDLABSFREPOINTA "nDLAbsFrePointA"
40 #define KEY_NULABSFREPOINTA "nULAbsFrePointA"
41 #define KEY_NDLBANDWIDTH "nDLBandwidth"
42 #define KEY_NULBANDWIDTH "nULBandwidth"
43 #define KEY_NDLFFTSIZE "nDLFftSize"
44 #define KEY_NULFFTSIZE "nULFftSize"
45 
46 #define KEY_NFRAMEDUPLEXTYPE "nFrameDuplexType"
47 #define KEY_NTDDPERIOD "nTddPeriod"
48 
49 #define KEY_SSLOTCONFIG "sSlotConfig"
50 
51 #define KEY_CC_PER_PORT_NUM "ccNum"
52 #define KEY_ANT_NUM "antNum"
53 #define KEY_UL_ANT_NUM "antNumUL"
54 
55 #define KEY_ANT_ELM_TRX_NUM "antElmTRx"
56 
57 #define KEY_MU_MIMO_UES_NUM "muMimoUEs"
58 #define KEY_DLLAYERS_PER_UE "DlLayersPerUe"
59 #define KEY_ULLAYERS_PER_UE "UlLayersPerUe"
60 #define KEY_FILE_DLBFWUE "DlBfwUe"
61 #define KEY_FILE_ULBFWUE "UlBfwUe"
62 
63 #define KEY_FILE_ULSRS "antSrsC"
64 
65 
66 #define KEY_TTI_PERIOD "ttiPeriod"
67 
68 #define KEY_MTU_SIZE "MTUSize"
69 #define KEY_IO_CORE "ioCore"
70 #define KEY_INSTANCE_ID "instanceId"
71 
72 #define KEY_LLS_CU_MAC "llsCUMac"
73 #define KEY_RU_MAC "ruMac"
74 
75 #define KEY_FILE_NUMSLOTS "numSlots"
76 #define KEY_FILE_AxC "antC"
77 #define KEY_FILE_PRACH_AxC "antPrachC"
78 
79 #define KEY_PRACH_ENABLE "rachEanble"
80 #define KEY_SRS_ENABLE "srsEanble"
81 
82 #define KEY_PRACH_CFGIDX "prachConfigIndex"
83 #define KEY_SRS_SYM_IDX "srsSym"
84 
85 #define KEY_MAX_FRAME_ID "maxFrameId"
86 
87 
88 #define KEY_IQ_SWAP "iqswap"
89 #define KEY_HTONS_SWAP "nebyteorderswap"
90 #define KEY_COMPRESSION "compression"
91 
92 #define KEY_BFW_NUM "totalBFWeights"
93 
94 #define KEY_TADV_CP_DL "Tadv_cp_dl"
95 #define KEY_T2A_MIN_CP_DL "T2a_min_cp_dl"
96 #define KEY_T2A_MAX_CP_DL "T2a_max_cp_dl"
97 #define KEY_T2A_MIN_CP_UL "T2a_min_cp_ul"
98 #define KEY_T2A_MAX_CP_UL "T2a_max_cp_ul"
99 #define KEY_T2A_MIN_UP "T2a_min_up"
100 #define KEY_T2A_MAX_UP "T2a_max_up"
101 #define KEY_TA3_MIN "Ta3_min"
102 #define KEY_TA3_MAX "Ta3_max"
103 #define KEY_T1A_MIN_CP_DL "T1a_min_cp_dl"
104 #define KEY_T1A_MAX_CP_DL "T1a_max_cp_dl"
105 #define KEY_T1A_MIN_CP_UL "T1a_min_cp_ul"
106 #define KEY_T1A_MAX_CP_UL "T1a_max_cp_ul"
107 #define KEY_T1A_MIN_UP "T1a_min_up"
108 #define KEY_T1A_MAX_UP "T1a_max_up"
109 #define KEY_TA4_MIN "Ta4_min"
110 #define KEY_TA4_MAX "Ta4_max"
111 
112 
113 #define KEY_CP_ENABLE "CPenable"
114 #define KEY_CP_VTAG "c_plane_vlan_tag"
115 #define KEY_UP_VTAG "u_plane_vlan_tag"
116 #define KEY_DEBUG_STOP "debugStop"
117 #define KEY_DEBUG_STOP_CNT "debugStopCount"
118 #define KEY_BBDEV_MODE "bbdevMode"
119 #define KEY_DYNA_SEC_ENA "DynamicSectionEna"
120 #define KEY_ALPHA "Gps_Alpha"
121 #define KEY_BETA "Gps_Beta"
122 
123 #define KEY_NPRBELEM_DL "nPrbElemDl"
124 #define KEY_PRBELEM_DL "PrbElemDl"
125 
126 #define KEY_NPRBELEM_UL "nPrbElemUl"
127 #define KEY_PRBELEM_UL "PrbElemUl"
128 
134 static void init_config(RuntimeConfig* config)
135 {
136  memset(config , 0, sizeof(RuntimeConfig));
137 }
138 
141 static void trim(char* input)
142 {
143  uint32_t i;
144  for (i = 0; i<strlen(input); i++)
145  if (input[i] == ' ' || input[i] == '\n' || input[i] == '\t')
146  input[i] = '\0';
147 }
148 
149 static int fillConfigStruct(RuntimeConfig *config, const char *key, const char *value)
150 {
151  int32_t parse_res = 0;
152 
153  if (strcmp(key, KEY_APP_MODE) == 0){
154  config->appMode = atoi(value);
155  } else if (strcmp(key, KEY_XRAN_MODE) == 0) {
156  config->xranCat = atoi(value);
157  } else if (strcmp(key, KEY_CC_PER_PORT_NUM) == 0) {
158  config->numCC= atoi(value);
159  } else if (strcmp(key, KEY_MU_NUMBER) == 0) {
160  config->mu_number= atoi(value);
161  printf("mu_number: %d\n",config->mu_number);
162  } else if (strcmp(key, KEY_NDLABSFREPOINTA) == 0) {
163  config->nDLAbsFrePointA = atoi(value);
164  printf("nDLAbsFrePointA: %d\n",config->nDLAbsFrePointA);
165  } else if (strcmp(key, KEY_NULABSFREPOINTA) == 0) {
166  config->nULAbsFrePointA = atoi(value);
167  printf("nULAbsFrePointA: %d\n",config->nULAbsFrePointA);
168  } else if (strcmp(key, KEY_NDLBANDWIDTH) == 0) {
169  config->nDLBandwidth = atoi(value);
170  printf("nDLBandwidth: %d\n",config->nDLBandwidth);
171  } else if (strcmp(key, KEY_NULBANDWIDTH) == 0) {
172  config->nULBandwidth = atoi(value);
173  printf("nULBandwidth: %d\n",config->nULBandwidth);
174  } else if (strcmp(key, KEY_NDLFFTSIZE) == 0) {
175  config->nDLFftSize = atoi(value);
176  printf("nDLFftSize: %d\n",config->nDLFftSize);
177  } else if (strcmp(key, KEY_NULFFTSIZE) == 0) {
178  config->nULFftSize = atoi(value);
179  printf("nULFftSize: %d\n",config->nULFftSize);
180  } else if (strcmp(key, KEY_NFRAMEDUPLEXTYPE) == 0) {
181  config->nFrameDuplexType = atoi(value);
182  printf("nFrameDuplexType: %d\n",config->nFrameDuplexType);
183  } else if (strcmp(key, KEY_NTDDPERIOD) == 0) {
184  config->nTddPeriod = atoi(value);
185  printf("nTddPeriod: %d\n",config->nTddPeriod);
186  if (config->nTddPeriod > XRAN_MAX_TDD_PERIODICITY)
187  {
188  printf("nTddPeriod is larger than max allowed, invalid!\n");
190  }
191  } else if (strncmp(key, KEY_SSLOTCONFIG, strlen(KEY_SSLOTCONFIG)) == 0) {
192  unsigned int slot_num = 0;
193  int i = 0;
194  sscanf(key,"sSlotConfig%u",&slot_num);
195  if (slot_num >= config->nTddPeriod){
196  printf("slot_num %d exceeds TddPeriod\n",slot_num);
197  }
198  else{
199  sscanf(value, "%02x,%02x,%02x,%02x,%02x,%02x,%02x,%02x,%02x,%02x,%02x,%02x,%02x,%02x",
200  (uint32_t*)&config->sSlotConfig[slot_num].nSymbolType[0],
201  (uint32_t*)&config->sSlotConfig[slot_num].nSymbolType[1],
202  (uint32_t*)&config->sSlotConfig[slot_num].nSymbolType[2],
203  (uint32_t*)&config->sSlotConfig[slot_num].nSymbolType[3],
204  (uint32_t*)&config->sSlotConfig[slot_num].nSymbolType[4],
205  (uint32_t*)&config->sSlotConfig[slot_num].nSymbolType[5],
206  (uint32_t*)&config->sSlotConfig[slot_num].nSymbolType[6],
207  (uint32_t*)&config->sSlotConfig[slot_num].nSymbolType[7],
208  (uint32_t*)&config->sSlotConfig[slot_num].nSymbolType[8],
209  (uint32_t*)&config->sSlotConfig[slot_num].nSymbolType[9],
210  (uint32_t*)&config->sSlotConfig[slot_num].nSymbolType[10],
211  (uint32_t*)&config->sSlotConfig[slot_num].nSymbolType[11],
212  (uint32_t*)&config->sSlotConfig[slot_num].nSymbolType[12],
213  (uint32_t*)&config->sSlotConfig[slot_num].nSymbolType[13]);
214  printf("sSlotConfig%d: ",slot_num);
215  for (i = 0; i< 14; i++){
216  printf("%d ",config->sSlotConfig[slot_num].nSymbolType[i]);
217  }
218  printf("\n");
219  }
220  } else if (strcmp(key, KEY_ANT_NUM) == 0) {
221  config->numAxc = atoi(value);
222  } else if (strcmp(key, KEY_UL_ANT_NUM) == 0) {
223  config->numUlAxc = atoi(value);
224  }else if (strcmp(key, KEY_ANT_ELM_TRX_NUM) == 0) {
225  config->antElmTRx = atoi(value);
226  printf("antElmTRx %d\n", config->antElmTRx);
227  } else if (strcmp(key, KEY_MU_MIMO_UES_NUM) == 0) {
228  config->muMimoUEs = atoi(value);
229  } else if (strcmp(key, KEY_DLLAYERS_PER_UE) == 0) {
230  config->DlLayersPerUe = atoi(value);
231  } else if (strcmp(key, KEY_ULLAYERS_PER_UE) == 0) {
232  config->UlLayersPerUe = atoi(value);
233  } else if (strcmp(key, KEY_TTI_PERIOD) == 0) {
234  config->ttiPeriod = atoi(value);
235  } else if (strcmp(key, KEY_IQ_SWAP) == 0) {
236  config->iqswap = atoi(value);
237  } else if (strcmp(key, KEY_HTONS_SWAP) == 0) {
238  config->nebyteorderswap = atoi(value);
239  } else if (strcmp(key, KEY_COMPRESSION) == 0) {
240  config->compression = atoi(value);
241  } else if (strcmp(key, KEY_MTU_SIZE) == 0) {
242  config->mtu = atoi(value);
243  printf("mtu %d\n", config->mtu);
244  } else if (strcmp(key, KEY_IO_CORE) == 0) {
245  config->io_core = atoi(value);
246  printf("io_core %d\n", config->io_core);
247  }else if (strcmp(key, KEY_INSTANCE_ID) == 0) {
248  config->instance_id = atoi(value);
249  printf("instance_id %d\n", config->instance_id);
250  }else if (strcmp(key, KEY_LLS_CU_MAC) == 0) {
251  sscanf(value, "%02x:%02x:%02x:%02x:%02x:%02x", (uint32_t*)&config->o_du_addr.addr_bytes[0],
252  (uint32_t*)&config->o_du_addr.addr_bytes[1],
253  (uint32_t*)&config->o_du_addr.addr_bytes[2],
254  (uint32_t*)&config->o_du_addr.addr_bytes[3],
255  (uint32_t*)&config->o_du_addr.addr_bytes[4],
256  (uint32_t*)&config->o_du_addr.addr_bytes[5]);
257 
258  printf("lls-CU MAC address: %02X:%02X:%02X:%02X:%02X:%02X\n",
259  config->o_du_addr.addr_bytes[0],
260  config->o_du_addr.addr_bytes[1],
261  config->o_du_addr.addr_bytes[2],
262  config->o_du_addr.addr_bytes[3],
263  config->o_du_addr.addr_bytes[4],
264  config->o_du_addr.addr_bytes[5]);
265 
266  } else if (strcmp(key, KEY_RU_MAC) == 0) {
267  sscanf(value, "%02x:%02x:%02x:%02x:%02x:%02x", (uint32_t*)&config->o_ru_addr.addr_bytes[0],
268  (uint32_t*)&config->o_ru_addr.addr_bytes[1],
269  (uint32_t*)&config->o_ru_addr.addr_bytes[2],
270  (uint32_t*)&config->o_ru_addr.addr_bytes[3],
271  (uint32_t*)&config->o_ru_addr.addr_bytes[4],
272  (uint32_t*)&config->o_ru_addr.addr_bytes[5]);
273 
274  printf("RU MAC address: %02X:%02X:%02X:%02X:%02X:%02X\n",
275  config->o_ru_addr.addr_bytes[0],
276  config->o_ru_addr.addr_bytes[1],
277  config->o_ru_addr.addr_bytes[2],
278  config->o_ru_addr.addr_bytes[3],
279  config->o_ru_addr.addr_bytes[4],
280  config->o_ru_addr.addr_bytes[5]);
281  } else if (strcmp(key, KEY_FILE_NUMSLOTS) == 0) {
282  config->numSlots = atoi(value);
283  printf("numSlots: %d\n",config->numSlots);
284  }else if (strncmp(key, KEY_FILE_AxC, strlen(KEY_FILE_AxC)) == 0) {
285  unsigned int ant_num = 0;
286  sscanf(key,"antC%02u",&ant_num);
287  if (ant_num >= MAX_ANT_CARRIER_SUPPORTED) {
288  printf("antC%d exceeds max antenna supported\n",ant_num);
289  } else {
290  strncpy(&config->ant_file[ant_num][0], value, strlen(value));
291  printf("antC%d: %s\n",ant_num, config->ant_file[ant_num]);
292  }
293  } else if (strncmp(key, KEY_FILE_DLBFWUE, strlen(KEY_FILE_DLBFWUE)) == 0) {
294  unsigned int ue_num = 0;
295  sscanf(key,"DlBfwUe%02u",&ue_num);
296  if (ue_num >= MAX_ANT_CARRIER_SUPPORTED) {
297  printf("DlBfwUe%d exceeds max streams supported\n",ue_num);
298  } else {
299  strncpy(&config->dl_bfw_file[ue_num][0], value, strlen(value));
300  printf("DlBfwUe%d: %s\n",ue_num, config->dl_bfw_file[ue_num]);
301  }
302  }else if (strncmp(key, KEY_FILE_ULBFWUE, strlen(KEY_FILE_ULBFWUE)) == 0) {
303  unsigned int ue_num = 0;
304  sscanf(key,"UlBfwUe%02u",&ue_num);
305  if (ue_num >= MAX_ANT_CARRIER_SUPPORTED) {
306  printf("UlBfwUe%d exceeds max streams supported\n",ue_num);
307  } else {
308  strncpy(&config->ul_bfw_file[ue_num][0], value, strlen(value));
309  printf("UlBfwUe%d: %s\n",ue_num, config->ul_bfw_file[ue_num]);
310  }
311  }else if (strncmp(key, KEY_FILE_ULSRS, strlen(KEY_FILE_ULSRS)) == 0) {
312  unsigned int srs_ant = 0;
313  sscanf(key,"antSrsC%02u",&srs_ant);
314  if (srs_ant >= MAX_ANT_CARRIER_SUPPORTED_CAT_B) {
315  printf("antSrsC%d exceeds max ant elemnets supported [%d]\n", srs_ant, MAX_ANT_CARRIER_SUPPORTED_CAT_B);
316  } else {
317  strncpy(&config->ul_srs_file[srs_ant][0], value, strlen(value));
318  printf("antSrsC%d: %s\n",srs_ant, config->ul_srs_file[srs_ant]);
319  }
320  } else if (strcmp(key, KEY_PRACH_ENABLE) == 0) {
321  config->enablePrach = atoi(value);
322  printf("Prach enable: %d\n",config->enablePrach);
323  }else if (strcmp(key, KEY_MAX_FRAME_ID) == 0) {
324  config->maxFrameId = atoi(value);
325  printf("maxFrameId: %d\n",config->maxFrameId);
326  } else if (strcmp(key, KEY_SRS_ENABLE) == 0) {
327  config->enableSrs = atoi(value);
328  printf("Srs enable: %d\n",config->enablePrach);
329  } else if (strcmp(key, KEY_PRACH_CFGIDX) == 0) {
330  config->prachConfigIndex = atoi(value);
331  printf("Prach config index: %d\n",config->prachConfigIndex);
332  } else if (strcmp(key, KEY_SRS_SYM_IDX) == 0) {
333  config->srsSymMask = atoi(value);
334  printf("Srs symbol [0-13]: %d\n",config->srsSymMask);
335  } else if (strncmp(key, KEY_FILE_PRACH_AxC, strlen(KEY_FILE_PRACH_AxC)) == 0) {
336  unsigned int ant_num = 0;
337  sscanf(key,"antPrachC%02u",&ant_num);
338  if (ant_num >= MAX_ANT_CARRIER_SUPPORTED)
339  {
340  printf("antC%d exceeds max antenna supported\n",ant_num);
341  }
342  else{
343  strncpy(&config->prach_file[ant_num][0], value, strlen(value));
344  printf("antPrachC%d: %s\n",ant_num, config->prach_file[ant_num]);
345  }
346  } else if (strcmp(key, KEY_BFW_NUM) == 0) {
347  config->totalBfWeights = atoi(value);
348  printf("%s : %d\n",KEY_BFW_NUM, config->totalBfWeights);
349  /* timing */
350  } else if (strcmp(key, KEY_TADV_CP_DL ) == 0) {
351  config->Tadv_cp_dl = atoi(value);
352  printf("Tadv_cp_dl: %d\n",config->Tadv_cp_dl);
353  } else if (strcmp(key, KEY_T2A_MIN_CP_DL ) == 0) {
354  config->T2a_min_cp_dl = atoi(value);
355  printf("T2a_min_cp_dl: %d\n",config->T2a_min_cp_dl);
356  } else if (strcmp(key, KEY_T2A_MAX_CP_DL ) == 0) {
357  config->T2a_max_cp_dl = atoi(value);
358  printf("T2a_max_cp_dl: %d\n",config->T2a_max_cp_dl);
359  } else if (strcmp(key, KEY_T2A_MIN_CP_UL ) == 0) {
360  config->T2a_min_cp_ul = atoi(value);
361  printf("T2a_min_cp_ul: %d\n",config->T2a_min_cp_ul);
362  } else if (strcmp(key, KEY_T2A_MAX_CP_UL ) == 0) {
363  config->T2a_max_cp_ul = atoi(value);
364  printf("T2a_max_cp_ul: %d\n",config->T2a_max_cp_ul);
365  } else if (strcmp(key, KEY_T2A_MIN_UP ) == 0) {
366  config->T2a_min_up = atoi(value);
367  printf("T2a_min_up: %d\n",config->T2a_min_up);
368  } else if (strcmp(key, KEY_T2A_MAX_UP ) == 0) {
369  config->T2a_max_up = atoi(value);
370  printf("T2a_max_up: %d\n",config->T2a_max_up);
371  } else if (strcmp(key, KEY_TA3_MIN ) == 0) {
372  config->Ta3_min = atoi(value);
373  printf("Ta3_min: %d\n",config->Ta3_min);
374  } else if (strcmp(key, KEY_TA3_MAX ) == 0) {
375  config->Ta3_max = atoi(value);
376  printf("Ta3_max: %d\n",config->Ta3_max);
377  } else if (strcmp(key, KEY_T1A_MIN_CP_DL ) == 0) {
378  config->T1a_min_cp_dl = atoi(value);
379  printf("T1a_min_cp_dl: %d\n",config->T1a_min_cp_dl);
380  } else if (strcmp(key, KEY_T1A_MAX_CP_DL ) == 0) {
381  config->T1a_max_cp_dl = atoi(value);
382  printf("T1a_max_cp_dl: %d\n",config->T1a_max_cp_dl);
383  } else if (strcmp(key, KEY_T1A_MIN_CP_UL ) == 0) {
384  config->T1a_min_cp_ul = atoi(value);
385  printf("T1a_min_cp_ul: %d\n",config->T1a_min_cp_ul);
386  } else if (strcmp(key, KEY_T1A_MAX_CP_UL ) == 0) {
387  config->T1a_max_cp_ul = atoi(value);
388  printf("T1a_max_cp_ul: %d\n",config->T1a_max_cp_ul);
389  } else if (strcmp(key, KEY_T1A_MIN_UP ) == 0) {
390  config->T1a_min_up = atoi(value);
391  printf("T1a_min_up: %d\n",config->T1a_min_up);
392  } else if (strcmp(key, KEY_T1A_MAX_UP ) == 0) {
393  config->T1a_max_up = atoi(value);
394  printf("T1a_max_up: %d\n",config->T1a_max_up);
395  } else if (strcmp(key, KEY_TA4_MIN ) == 0) {
396  config->Ta4_min = atoi(value);
397  printf("Ta4_min: %d\n",config->Ta4_min);
398  } else if (strcmp(key, KEY_TA4_MAX ) == 0) {
399  config->Ta4_max = atoi(value);
400  printf("Ta4_max: %d\n",config->Ta4_max);
401  /* end of timing */
402  } else if (strcmp(key, KEY_CP_ENABLE ) == 0) {
403  config->enableCP = atoi(value);
404  printf("CPenable: %d\n",config->enableCP);
405  } else if (strcmp(key, KEY_DEBUG_STOP ) == 0) {
406  config->debugStop = atoi(value);
407  printf("debugStop: %d\n",config->debugStop);
408  } else if (strcmp(key, KEY_DEBUG_STOP_CNT) == 0) {
409  config->debugStopCount = atoi(value);
410  printf("debugStopCount: %d\n",config->debugStopCount);
411  } else if (strcmp(key, KEY_BBDEV_MODE) == 0) {
412  config->bbdevMode = atoi(value);
413  printf("bbdevMode: %d\n",config->debugStopCount);
414  } else if (strcmp(key, KEY_DYNA_SEC_ENA) == 0) {
415  config->DynamicSectionEna = atoi(value);
416  printf("DynamicSectionEna: %d\n",config->DynamicSectionEna);
417  } else if (strcmp(key, KEY_ALPHA) == 0) {
418  config->GPS_Alpha = atoi(value);
419  printf("GPS_Alpha: %d\n",config->GPS_Alpha);
420  } else if (strcmp(key, KEY_BETA) == 0) {
421  config->GPS_Beta = atoi(value);
422  printf("GPS_Beta: %d\n",config->GPS_Beta);
423  } else if (strcmp(key, KEY_CP_VTAG ) == 0) {
424  config->cp_vlan_tag = atoi(value);
425  printf("cp_vlan_tag: %d\n",config->cp_vlan_tag);
426  } else if (strcmp(key, KEY_UP_VTAG ) == 0) {
427  config->up_vlan_tag = atoi(value);
428  printf("up_vlan_tag: %d\n",config->up_vlan_tag);
429  } else if (strcmp(key, KEY_NPRBELEM_UL ) == 0) {
430  config->PrbMapUl.nPrbElm = atoi(value);
431  if (config->PrbMapUl.nPrbElm > XRAN_MAX_PRBS)
432  {
433  printf("nTddPeriod is larger than max allowed, invalid!\n");
434  config->PrbMapUl.nPrbElm = XRAN_MAX_PRBS;
435  }
436  printf("nPrbElemUl: %d\n",config->PrbMapUl.nPrbElm);
437  } else if (strncmp(key, KEY_PRBELEM_UL, strlen(KEY_PRBELEM_UL)) == 0) {
438  unsigned int section_idx = 0;
439  sscanf(key,"PrbElemUl%u",&section_idx);
440  if (section_idx >= config->PrbMapUl.nPrbElm){
441  printf("section_idx %d exceeds nPrbElem\n",section_idx);
442  }
443  else{
444  struct xran_prb_elm *pPrbElem = &config->PrbMapUl.prbMap[section_idx];
445  sscanf(value, "%hd,%hd,%hd,%hd,%hd,%hd,%hd,%hd,%hd",
446  (int16_t*)&pPrbElem->nRBStart,
447  (int16_t*)&pPrbElem->nRBSize,
448  (int16_t*)&pPrbElem->nStartSymb,
449  (int16_t*)&pPrbElem->numSymb,
450  (int16_t*)&pPrbElem->nBeamIndex,
451  (int16_t*)&pPrbElem->bf_weight_update,
452  (int16_t*)&pPrbElem->compMethod,
453  (int16_t*)&pPrbElem->iqWidth,
454  (int16_t*)&pPrbElem->BeamFormingType);
455  printf("nPrbElemUl%d: ",section_idx);
456  printf("nRBStart %d,nRBSize %d,nStartSymb %d,numSymb %d,nBeamIndex %d, bf_weight_update %d compMethod %d, iqWidth %d BeamFormingType %d\n",
457  pPrbElem->nRBStart,pPrbElem->nRBSize,pPrbElem->nStartSymb,pPrbElem->numSymb,pPrbElem->nBeamIndex, pPrbElem->bf_weight_update, pPrbElem->compMethod, pPrbElem->iqWidth, pPrbElem->BeamFormingType);
458  }
459  }else if (strcmp(key, KEY_NPRBELEM_DL ) == 0) {
460  config->PrbMapDl.nPrbElm = atoi(value);
461  if (config->PrbMapDl.nPrbElm > XRAN_MAX_PRBS)
462  {
463  printf("nTddPeriod is larger than max allowed, invalid!\n");
464  config->PrbMapDl.nPrbElm = XRAN_MAX_PRBS;
465  }
466  printf("nPrbElemDl: %d\n",config->PrbMapDl.nPrbElm);
467  } else if (strncmp(key, KEY_PRBELEM_DL, strlen(KEY_PRBELEM_DL)) == 0) {
468  unsigned int section_idx = 0;
469  sscanf(key,"PrbElemDl%u",&section_idx);
470  if (section_idx >= config->PrbMapDl.nPrbElm){
471  printf("section_idx %d exceeds nPrbElem\n",section_idx);
472  }
473  else{
474  struct xran_prb_elm *pPrbElem = &config->PrbMapDl.prbMap[section_idx];
475  sscanf(value, "%hd,%hd,%hd,%hd,%hd,%hd,%hd,%hd,%hd",
476  (int16_t*)&pPrbElem->nRBStart,
477  (int16_t*)&pPrbElem->nRBSize,
478  (int16_t*)&pPrbElem->nStartSymb,
479  (int16_t*)&pPrbElem->numSymb,
480  (int16_t*)&pPrbElem->nBeamIndex,
481  (int16_t*)&pPrbElem->bf_weight_update,
482  (int16_t*)&pPrbElem->compMethod,
483  (int16_t*)&pPrbElem->iqWidth,
484  (int16_t*)&pPrbElem->BeamFormingType);
485  printf("nPrbElemDl%d: ",section_idx);
486  printf("nRBStart %d,nRBSize %d,nStartSymb %d,numSymb %d,nBeamIndex %d, bf_weight_update %d compMethod %d, iqWidth %d BeamFormingType %d\n",
487  pPrbElem->nRBStart,pPrbElem->nRBSize,pPrbElem->nStartSymb,pPrbElem->numSymb,pPrbElem->nBeamIndex, pPrbElem->bf_weight_update, pPrbElem->compMethod, pPrbElem->iqWidth, pPrbElem->BeamFormingType);
488  }
489  } else {
490  printf("Unsupported configuration key [%s]\n", key);
491  return -1;
492  }
493 
494  return 0;
495 }
496 
497 int parseConfigFile(char *filename, RuntimeConfig *config)
498 {
499  char inputLine[MAX_LINE_SIZE] = {0};
500  int inputLen = 0;
501  int i;
502  int lineNum = 0;
503  char key[MAX_LINE_SIZE] = {0};
504  char value[MAX_LINE_SIZE] = {0};
505  FILE *file = fopen(filename, "r");
506 
507  if (NULL == file) {
508  log_err("Error while opening config file from: %s", filename);
509  return -1;
510  }
511 
512 // init_config(config);
513 
514  for (;;) {
515  if (fgets(inputLine, MAX_LINE_SIZE, file) == NULL) {
516  if (lineNum > 0) {
517  printf("%d lines of config file has been read.\n", lineNum);
518  break;
519  } else {
520  printf("Configuration file reading error has occurred.\n");
521  fclose(file);
522  return -1;
523  }
524  }
525 
526  if (inputLine[strlen(inputLine)-1] == '\n')
527  inputLine[strlen(inputLine)-1] == '\0';
528 
529  lineNum++;
530  inputLen = strlen(inputLine);
531 
532  for (i=0; i<inputLen; i++)
533  if (inputLine[i] == '#') {
534  inputLine[i] = '\0';
535  inputLen = i + 1;
536  break;
537  }
538 
539  for (i=0; i<inputLen; i++)
540  if (inputLine[i] == '=') {
541  strncpy(key, inputLine, i);
542  key[i] = '\0';
543  trim(key);
544  if ((i + 1 > inputLen - 1) || (i - 2 > inputLen)) {
545  log_err("Parsing config file error at line %d", lineNum);
546  fclose(file);
547  return -1;
548  }
549  strncpy(value, &inputLine[i+1], (sizeof(value) - 1));
550  value[inputLen-i-2] = '\0';
551  trim(value);
552 
553  if (strlen(key) == 0 || strlen(value) == 0) {
554  printf("Parsing config file error at line %d", lineNum);
555  fclose(file);
556  return -1;
557  }
558 
559  if (fillConfigStruct(config, key, value) != 0) {
560  fclose(file);
561  return -1;
562  }
563 
564  break;
565  }
566 
567  memset(&inputLine[0], 0, sizeof(MAX_LINE_SIZE));
568  memset(&key[0], 0, sizeof(MAX_LINE_SIZE));
569  memset(&value[0], 0, sizeof(MAX_LINE_SIZE));
570  }
571  fclose(file);
572 
573  return 0;
574 }
uint8_t enablePrach
Definition: config.h:68
+
int32_t DynamicSectionEna
Definition: config.h:109
+
uint8_t xranCat
Definition: config.h:37
+
int parseConfigFile(char *filename, RuntimeConfig *config)
Definition: config.c:497
+
struct ether_addr o_du_addr
Definition: config.h:49
+
#define KEY_SRS_ENABLE
Definition: config.c:80
+
#define KEY_APP_MODE
Definition: config.c:36
+
#define KEY_TA4_MIN
Definition: config.c:109
+
#define MAX_ANT_CARRIER_SUPPORTED
Definition: common.h:51
+
#define KEY_TADV_CP_DL
Definition: config.c:94
+
uint16_t Tadv_cp_dl
Definition: config.h:84
+
uint8_t cp_vlan_tag
Definition: config.h:103
+
#define KEY_BBDEV_MODE
Definition: config.c:118
+
#define KEY_DEBUG_STOP_CNT
Definition: config.c:117
+
#define MAX_LINE_SIZE
Definition: config.c:33
+
fclose(fileID)
+
#define KEY_MU_NUMBER
Definition: config.c:38
+
#define KEY_ANT_NUM
Definition: config.c:52
+
#define XRAN_MAX_PRBS
Definition: xran_fh_o_du.h:128
+
#define KEY_PRACH_CFGIDX
Definition: config.c:82
+
uint16_t T2a_min_cp_ul
Definition: config.h:87
+
#define KEY_PRBELEM_DL
Definition: config.c:124
+ + +
#define KEY_RU_MAC
Definition: config.c:73
+
uint16_t Ta3_max
Definition: config.h:92
+
char prach_file[XRAN_MAX_SECTOR_NR *XRAN_MAX_ANTENNA_NR][512]
Definition: config.h:60
+
#define KEY_FILE_ULSRS
Definition: config.c:63
+
#define KEY_NDLABSFREPOINTA
Definition: config.c:39
+
uint8_t up_vlan_tag
Definition: config.h:104
+
#define KEY_ULLAYERS_PER_UE
Definition: config.c:59
+
int16_t nRBStart
Definition: xran_fh_o_du.h:394
+
#define KEY_FILE_NUMSLOTS
Definition: config.c:75
+
int16_t nBeamIndex
Definition: xran_fh_o_du.h:398
+
uint32_t nPrbElm
Definition: xran_fh_o_du.h:422
+
struct xran_prb_map PrbMapDl
Definition: config.h:125
+
uint8_t nebyteorderswap
Definition: config.h:74
+
int16_t nRBSize
Definition: xran_fh_o_du.h:395
+
#define KEY_UL_ANT_NUM
Definition: config.c:53
+
#define KEY_T2A_MAX_UP
Definition: config.c:100
+
#define KEY_NPRBELEM_UL
Definition: config.c:126
+
uint8_t prachConfigIndex
Definition: config.h:72
+ +
#define KEY_TA4_MAX
Definition: config.c:110
+
uint16_t T2a_max_cp_dl
Definition: config.h:86
+
uint16_t srsSymMask
Definition: config.h:80
+
#define KEY_T1A_MIN_UP
Definition: config.c:107
+
char dl_bfw_file[XRAN_MAX_SECTOR_NR *XRAN_MAX_ANTENNA_NR][512]
Definition: config.h:62
+
#define KEY_IQ_SWAP
Definition: config.c:88
+
#define KEY_FILE_AxC
Definition: config.c:76
+
int16_t iqWidth
Definition: xran_fh_o_du.h:401
+
#define KEY_T1A_MAX_CP_DL
Definition: config.c:104
+
uint32_t muMimoUEs
Definition: config.h:42
+
uint16_t T1a_min_up
Definition: config.h:97
+
#define KEY_T2A_MIN_CP_DL
Definition: config.c:95
+
#define KEY_NDLFFTSIZE
Definition: config.c:43
+
uint32_t UlLayersPerUe
Definition: config.h:45
+
uint16_t maxFrameId
Definition: config.h:82
+
#define KEY_FILE_DLBFWUE
Definition: config.c:60
+
uint16_t Ta4_min
Definition: config.h:99
+
uint8_t nSymbolType[XRAN_NUM_OF_SYMBOL_PER_SLOT]
Definition: xran_fh_o_du.h:454
+
#define KEY_INSTANCE_ID
Definition: config.c:70
+
#define KEY_NULBANDWIDTH
Definition: config.c:42
+
uint32_t nULBandwidth
Definition: config.h:117
+
#define KEY_NULABSFREPOINTA
Definition: config.c:40
+
uint8_t compression
Definition: config.h:75
+
uint32_t instance_id
Definition: config.h:53
+
uint32_t mtu
Definition: config.h:56
+
uint32_t nDLBandwidth
Definition: config.h:116
+
#define KEY_T2A_MIN_CP_UL
Definition: config.c:97
+ +
#define KEY_CC_PER_PORT_NUM
Definition: config.c:51
+
uint16_t T2a_max_cp_ul
Definition: config.h:88
+
#define KEY_MTU_SIZE
Definition: config.c:68
+
#define KEY_NULFFTSIZE
Definition: config.c:44
+
#define KEY_DEBUG_STOP
Definition: config.c:116
+
uint8_t iqswap
Definition: config.h:73
+
struct ether_addr o_ru_addr
Definition: config.h:50
+
#define KEY_ALPHA
Definition: config.c:120
+
#define KEY_ANT_ELM_TRX_NUM
Definition: config.c:55
+
#define log_err(fmt,...)
Definition: debug.h:59
+
#define KEY_TA3_MAX
Definition: config.c:102
+
#define KEY_T1A_MAX_CP_UL
Definition: config.c:106
+
uint8_t appMode
Definition: config.h:36
+
uint32_t nDLFftSize
Definition: config.h:118
+
#define KEY_MU_MIMO_UES_NUM
Definition: config.c:57
+
#define KEY_T2A_MAX_CP_DL
Definition: config.c:96
+
uint16_t T1a_max_up
Definition: config.h:98
+
#define KEY_CP_ENABLE
Definition: config.c:113
+
#define KEY_FILE_ULBFWUE
Definition: config.c:61
+
uint16_t T2a_max_up
Definition: config.h:90
+
#define KEY_UP_VTAG
Definition: config.c:115
+
#define KEY_LLS_CU_MAC
Definition: config.c:72
+
#define MAX_ANT_CARRIER_SUPPORTED_CAT_B
Definition: common.h:52
+
#define KEY_IO_CORE
Definition: config.c:69
+
uint32_t ttiPeriod
Definition: config.h:47
+
int16_t bf_weight_update
Definition: xran_fh_o_du.h:399
+
uint32_t nDLAbsFrePointA
Definition: config.h:114
+
#define KEY_PRBELEM_UL
Definition: config.c:127
+
or MHz ant_num
Definition: gen_test.m:82
+
uint16_t totalBfWeights
Definition: config.h:77
+
uint16_t T1a_max_cp_ul
Definition: config.h:96
+
int16_t compMethod
Definition: xran_fh_o_du.h:400
+
#define KEY_COMPRESSION
Definition: config.c:90
+
int32_t debugStop
Definition: config.h:106
+
#define KEY_BFW_NUM
Definition: config.c:92
+
int16_t nStartSymb
Definition: xran_fh_o_du.h:396
+
#define KEY_FILE_PRACH_AxC
Definition: config.c:77
+
#define KEY_T2A_MIN_UP
Definition: config.c:99
+
#define KEY_TTI_PERIOD
Definition: config.c:66
+
#define KEY_T1A_MIN_CP_UL
Definition: config.c:105
+
uint16_t Ta4_max
Definition: config.h:100
+
#define KEY_SSLOTCONFIG
Definition: config.c:49
+
uint16_t T2a_min_up
Definition: config.h:89
+
int32_t bbdevMode
Definition: config.h:108
+
int32_t debugStopCount
Definition: config.h:107
+
int16_t BeamFormingType
Definition: xran_fh_o_du.h:402
+
uint8_t numUlAxc
Definition: config.h:40
+
#define KEY_T2A_MAX_CP_UL
Definition: config.c:98
+
uint16_t T1a_min_cp_ul
Definition: config.h:95
+
char ul_bfw_file[XRAN_MAX_SECTOR_NR *XRAN_MAX_ANTENNA_NR][512]
Definition: config.h:63
+
#define KEY_DYNA_SEC_ENA
Definition: config.c:119
+
#define KEY_SRS_SYM_IDX
Definition: config.c:83
+
uint16_t T1a_min_cp_dl
Definition: config.h:93
+
int32_t GPS_Alpha
Definition: config.h:110
+
#define KEY_NDLBANDWIDTH
Definition: config.c:41
+
#define KEY_T1A_MIN_CP_DL
Definition: config.c:103
+
#define KEY_NFRAMEDUPLEXTYPE
Definition: config.c:46
+
#define KEY_MAX_FRAME_ID
Definition: config.c:85
+
uint8_t nFrameDuplexType
Definition: config.h:122
+
uint8_t numCC
Definition: config.h:38
+
uint32_t DlLayersPerUe
Definition: config.h:44
+
uint8_t nTddPeriod
Definition: config.h:123
+
#define KEY_XRAN_MODE
Definition: config.c:37
+
char ant_file[XRAN_MAX_SECTOR_NR *XRAN_MAX_ANTENNA_NR][512]
Definition: config.h:59
+
uint16_t T2a_min_cp_dl
Definition: config.h:85
+
uint8_t mu_number
Definition: config.h:113
+ +
#define XRAN_MAX_TDD_PERIODICITY
Definition: xran_fh_o_du.h:124
+
uint8_t numAxc
Definition: config.h:39
+
#define KEY_TA3_MIN
Definition: config.c:101
+
int numSlots
Definition: config.h:58
+
uint32_t io_core
Definition: config.h:54
+
uint32_t nULFftSize
Definition: config.h:119
+
uint32_t antElmTRx
Definition: config.h:41
+
uint16_t T1a_max_cp_dl
Definition: config.h:94
+
#define KEY_PRACH_ENABLE
Definition: config.c:79
+
uint8_t enableSrs
Definition: config.h:79
+
struct xran_prb_elm prbMap[XRAN_MAX_PRBS]
Definition: xran_fh_o_du.h:423
+
#define KEY_CP_VTAG
Definition: config.c:114
+
#define KEY_HTONS_SWAP
Definition: config.c:89
+
struct xran_prb_map PrbMapUl
Definition: config.h:126
+
#define KEY_T1A_MAX_UP
Definition: config.c:108
+
#define KEY_BETA
Definition: config.c:121
+
#define KEY_DLLAYERS_PER_UE
Definition: config.c:58
+
uint32_t nULAbsFrePointA
Definition: config.h:115
+
char ul_srs_file[XRAN_MAX_SECTOR_NR *XRAN_MAX_ANT_ARRAY_ELM_NR][512]
Definition: config.h:65
+
int16_t numSymb
Definition: xran_fh_o_du.h:397
+
#define KEY_NTDDPERIOD
Definition: config.c:47
+
struct xran_slot_config sSlotConfig[XRAN_MAX_TDD_PERIODICITY]
Definition: config.h:124
+
uint8_t enableCP
Definition: config.h:102
+
uint16_t Ta3_min
Definition: config.h:91
+
#define KEY_NPRBELEM_DL
Definition: config.c:123
+
int32_t GPS_Beta
Definition: config.h:111
+
+ + + + diff --git a/docs/API/config_8h.html b/docs/API/config_8h.html new file mode 100644 index 0000000..016570b --- /dev/null +++ b/docs/API/config_8h.html @@ -0,0 +1,196 @@ + + + + + + + +o-du/phy: config.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
config.h File Reference
+
+
+
#include <stdint.h>
+#include <rte_ether.h>
+#include "xran_fh_o_du.h"
+
+Include dependency graph for config.h:
+
+
+ + + +
+
+This graph shows which files directly or indirectly include this file:
+
+
+ + + + + +
+
+

Go to the source code of this file.

+ + + + +

+Data Structures

struct  _RuntimeConfig
 
+ + + +

+Typedefs

typedef struct _RuntimeConfig RuntimeConfig
 
+ + + +

+Functions

int parseConfigFile (char *filename, RuntimeConfig *config)
 
+

Detailed Description

+
Author
Intel Corporation
+ +

Definition in file config.h.

+

Typedef Documentation

+ +

◆ RuntimeConfig

+ +
+
+ + + + +
typedef struct _RuntimeConfig RuntimeConfig
+
+

Run time configuration of application

+ +
+
+

Function Documentation

+ +

◆ parseConfigFile()

+ +
+
+ + + + + + + + + + + + + + + + + + +
int parseConfigFile (char * filename,
RuntimeConfigconfig 
)
+
+

Parse application configuration file.

+
Parameters
+ + + +
filenameThe name of the configuration file to be parsed.
configThe configuration structure to be filled with parsed data.
+
+
+ +

Definition at line 497 of file config.c.

+
+Here is the call graph for this function:
+
+
+ + + +
+
+Here is the caller graph for this function:
+
+
+ + + +
+ +
+
+
+ + + + diff --git a/docs/API/config_8h__dep__incl.map b/docs/API/config_8h__dep__incl.map new file mode 100644 index 0000000..41d94b5 --- /dev/null +++ b/docs/API/config_8h__dep__incl.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/API/config_8h__dep__incl.md5 b/docs/API/config_8h__dep__incl.md5 new file mode 100644 index 0000000..2f86a61 --- /dev/null +++ b/docs/API/config_8h__dep__incl.md5 @@ -0,0 +1 @@ +2883aec9d87a2dededab9e6bab79b41d \ No newline at end of file diff --git a/docs/API/config_8h__dep__incl.png b/docs/API/config_8h__dep__incl.png new file mode 100644 index 0000000..19aa560 Binary files /dev/null and b/docs/API/config_8h__dep__incl.png differ diff --git a/docs/API/config_8h__incl.map b/docs/API/config_8h__incl.map new file mode 100644 index 0000000..d1234ff --- /dev/null +++ b/docs/API/config_8h__incl.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/config_8h__incl.md5 b/docs/API/config_8h__incl.md5 new file mode 100644 index 0000000..baf83b8 --- /dev/null +++ b/docs/API/config_8h__incl.md5 @@ -0,0 +1 @@ +53099428c5bcff5954ad1e838d468e3f \ No newline at end of file diff --git a/docs/API/config_8h__incl.png b/docs/API/config_8h__incl.png new file mode 100644 index 0000000..02fae9e Binary files /dev/null and b/docs/API/config_8h__incl.png differ diff --git a/docs/API/config_8h_add16264aa9472e4e90d1a77e086c7f93_cgraph.map b/docs/API/config_8h_add16264aa9472e4e90d1a77e086c7f93_cgraph.map new file mode 100644 index 0000000..375cb93 --- /dev/null +++ b/docs/API/config_8h_add16264aa9472e4e90d1a77e086c7f93_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/config_8h_add16264aa9472e4e90d1a77e086c7f93_cgraph.md5 b/docs/API/config_8h_add16264aa9472e4e90d1a77e086c7f93_cgraph.md5 new file mode 100644 index 0000000..96f9a40 --- /dev/null +++ b/docs/API/config_8h_add16264aa9472e4e90d1a77e086c7f93_cgraph.md5 @@ -0,0 +1 @@ +4ae9ebdbb9fbefb8b5875e89312d60c2 \ No newline at end of file diff --git a/docs/API/config_8h_add16264aa9472e4e90d1a77e086c7f93_cgraph.png b/docs/API/config_8h_add16264aa9472e4e90d1a77e086c7f93_cgraph.png new file mode 100644 index 0000000..127c0a7 Binary files /dev/null and b/docs/API/config_8h_add16264aa9472e4e90d1a77e086c7f93_cgraph.png differ diff --git a/docs/API/config_8h_add16264aa9472e4e90d1a77e086c7f93_icgraph.map b/docs/API/config_8h_add16264aa9472e4e90d1a77e086c7f93_icgraph.map new file mode 100644 index 0000000..9d978e1 --- /dev/null +++ b/docs/API/config_8h_add16264aa9472e4e90d1a77e086c7f93_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/config_8h_add16264aa9472e4e90d1a77e086c7f93_icgraph.md5 b/docs/API/config_8h_add16264aa9472e4e90d1a77e086c7f93_icgraph.md5 new file mode 100644 index 0000000..ef2ec6e --- /dev/null +++ b/docs/API/config_8h_add16264aa9472e4e90d1a77e086c7f93_icgraph.md5 @@ -0,0 +1 @@ +84f6ab6c3e4f56290651c0408280143f \ No newline at end of file diff --git a/docs/API/config_8h_add16264aa9472e4e90d1a77e086c7f93_icgraph.png b/docs/API/config_8h_add16264aa9472e4e90d1a77e086c7f93_icgraph.png new file mode 100644 index 0000000..f9eeb68 Binary files /dev/null and b/docs/API/config_8h_add16264aa9472e4e90d1a77e086c7f93_icgraph.png differ diff --git a/docs/API/config_8h_source.html b/docs/API/config_8h_source.html new file mode 100644 index 0000000..f0e168a --- /dev/null +++ b/docs/API/config_8h_source.html @@ -0,0 +1,159 @@ + + + + + + + +o-du/phy: config.h Source File + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
config.h
+
+
+Go to the documentation of this file.
1 /******************************************************************************
2 *
3 * Copyright (c) 2019 Intel.
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 *
17 *******************************************************************************/
18 
26 #ifndef _SAMPLEAPP__CONFIG_H_
27 #define _SAMPLEAPP__CONFIG_H_
28 
29 #include <stdint.h>
30 #include <rte_ether.h>
31 #include "xran_fh_o_du.h"
32 
34 typedef struct _RuntimeConfig
35 {
36  uint8_t appMode;
37  uint8_t xranCat;
38  uint8_t numCC;
39  uint8_t numAxc;
40  uint8_t numUlAxc;
41  uint32_t antElmTRx;
42  uint32_t muMimoUEs;
44  uint32_t DlLayersPerUe;
45  uint32_t UlLayersPerUe;
47  uint32_t ttiPeriod;
48  uint32_t testVect;
49  struct ether_addr o_du_addr;
50  struct ether_addr o_ru_addr;
51  struct ether_addr tmp_addr;
53  uint32_t instance_id;
54  uint32_t io_core;
56  uint32_t mtu;
58  int numSlots;
67  /* prach config */
68  uint8_t enablePrach;
69  uint8_t prachOffset;
72  uint8_t prachConfigIndex;
73  uint8_t iqswap;
74  uint8_t nebyteorderswap;
75  uint8_t compression;
77  uint16_t totalBfWeights;
79  uint8_t enableSrs;
80  uint16_t srsSymMask;
82  uint16_t maxFrameId;
84  uint16_t Tadv_cp_dl;
85  uint16_t T2a_min_cp_dl;
86  uint16_t T2a_max_cp_dl;
87  uint16_t T2a_min_cp_ul;
88  uint16_t T2a_max_cp_ul;
89  uint16_t T2a_min_up;
90  uint16_t T2a_max_up;
91  uint16_t Ta3_min;
92  uint16_t Ta3_max;
93  uint16_t T1a_min_cp_dl;
94  uint16_t T1a_max_cp_dl;
95  uint16_t T1a_min_cp_ul;
96  uint16_t T1a_max_cp_ul;
97  uint16_t T1a_min_up;
98  uint16_t T1a_max_up;
99  uint16_t Ta4_min;
100  uint16_t Ta4_max;
101 
102  uint8_t enableCP;
103  uint8_t cp_vlan_tag;
104  uint8_t up_vlan_tag;
106  int32_t debugStop;
107  int32_t debugStopCount;
108  int32_t bbdevMode;
110  int32_t GPS_Alpha;
111  int32_t GPS_Beta;
112 
113  uint8_t mu_number;
114  uint32_t nDLAbsFrePointA;
115  uint32_t nULAbsFrePointA;
116  uint32_t nDLBandwidth;
117  uint32_t nULBandwidth;
118  uint32_t nDLFftSize;
119  uint32_t nULFftSize;
123  uint8_t nTddPeriod;
127 } RuntimeConfig;
128 
134 int parseConfigFile(char *filename, RuntimeConfig *config);
135 
136 #endif /* _SAMPLEAPP__CONFIG_H_ */
uint8_t enablePrach
Definition: config.h:68
+
int32_t DynamicSectionEna
Definition: config.h:109
+
uint8_t xranCat
Definition: config.h:37
+
struct ether_addr o_du_addr
Definition: config.h:49
+
#define XRAN_MAX_ANT_ARRAY_ELM_NR
Definition: xran_fh_o_du.h:118
+
uint16_t Tadv_cp_dl
Definition: config.h:84
+
uint8_t cp_vlan_tag
Definition: config.h:103
+
uint16_t T2a_min_cp_ul
Definition: config.h:87
+
uint8_t prachOffset
Definition: config.h:69
+ +
uint16_t Ta3_max
Definition: config.h:92
+
char prach_file[XRAN_MAX_SECTOR_NR *XRAN_MAX_ANTENNA_NR][512]
Definition: config.h:60
+
uint8_t up_vlan_tag
Definition: config.h:104
+
struct xran_prb_map PrbMapDl
Definition: config.h:125
+
uint8_t nebyteorderswap
Definition: config.h:74
+
uint8_t prachConfigIndex
Definition: config.h:72
+
#define XRAN_MAX_SECTOR_NR
Definition: xran_fh_o_du.h:110
+
uint16_t T2a_max_cp_dl
Definition: config.h:86
+
uint16_t srsSymMask
Definition: config.h:80
+
char dl_bfw_file[XRAN_MAX_SECTOR_NR *XRAN_MAX_ANTENNA_NR][512]
Definition: config.h:62
+
uint32_t muMimoUEs
Definition: config.h:42
+
uint16_t T1a_min_up
Definition: config.h:97
+ +
#define XRAN_MAX_ANTENNA_NR
Definition: xran_fh_o_du.h:111
+
uint32_t UlLayersPerUe
Definition: config.h:45
+
uint16_t maxFrameId
Definition: config.h:82
+
uint16_t Ta4_min
Definition: config.h:99
+
uint32_t nULBandwidth
Definition: config.h:117
+
uint8_t compression
Definition: config.h:75
+
uint32_t instance_id
Definition: config.h:53
+
uint32_t mtu
Definition: config.h:56
+
uint32_t nDLBandwidth
Definition: config.h:116
+
uint16_t T2a_max_cp_ul
Definition: config.h:88
+
struct _RuntimeConfig RuntimeConfig
+
uint8_t iqswap
Definition: config.h:73
+
struct ether_addr o_ru_addr
Definition: config.h:50
+
uint8_t appMode
Definition: config.h:36
+
uint32_t nDLFftSize
Definition: config.h:118
+
uint16_t T1a_max_up
Definition: config.h:98
+
uint16_t T2a_max_up
Definition: config.h:90
+
struct ether_addr tmp_addr
Definition: config.h:51
+
uint32_t ttiPeriod
Definition: config.h:47
+
uint32_t testVect
Definition: config.h:48
+
uint32_t nDLAbsFrePointA
Definition: config.h:114
+
uint16_t totalBfWeights
Definition: config.h:77
+
uint16_t T1a_max_cp_ul
Definition: config.h:96
+
int32_t debugStop
Definition: config.h:106
+
uint16_t Ta4_max
Definition: config.h:100
+
uint16_t T2a_min_up
Definition: config.h:89
+
int32_t bbdevMode
Definition: config.h:108
+
int32_t debugStopCount
Definition: config.h:107
+
uint8_t numUlAxc
Definition: config.h:40
+
uint16_t T1a_min_cp_ul
Definition: config.h:95
+
char ul_bfw_file[XRAN_MAX_SECTOR_NR *XRAN_MAX_ANTENNA_NR][512]
Definition: config.h:63
+
uint16_t T1a_min_cp_dl
Definition: config.h:93
+
int32_t GPS_Alpha
Definition: config.h:110
+
This file provides public interface to xRAN Front Haul layer implementation as defined in the ORAN-WG...
+
uint8_t nFrameDuplexType
Definition: config.h:122
+
uint8_t numCC
Definition: config.h:38
+
uint32_t DlLayersPerUe
Definition: config.h:44
+
uint8_t nTddPeriod
Definition: config.h:123
+
char ant_file[XRAN_MAX_SECTOR_NR *XRAN_MAX_ANTENNA_NR][512]
Definition: config.h:59
+
uint16_t T2a_min_cp_dl
Definition: config.h:85
+
uint8_t mu_number
Definition: config.h:113
+
#define XRAN_MAX_TDD_PERIODICITY
Definition: xran_fh_o_du.h:124
+
uint8_t numAxc
Definition: config.h:39
+
int numSlots
Definition: config.h:58
+
uint32_t io_core
Definition: config.h:54
+
uint32_t nULFftSize
Definition: config.h:119
+
uint32_t antElmTRx
Definition: config.h:41
+
uint16_t T1a_max_cp_dl
Definition: config.h:94
+
uint8_t enableSrs
Definition: config.h:79
+ +
struct xran_prb_map PrbMapUl
Definition: config.h:126
+
uint32_t nULAbsFrePointA
Definition: config.h:115
+
char ul_srs_file[XRAN_MAX_SECTOR_NR *XRAN_MAX_ANT_ARRAY_ELM_NR][512]
Definition: config.h:65
+
int parseConfigFile(char *filename, RuntimeConfig *config)
Definition: config.c:497
+
struct xran_slot_config sSlotConfig[XRAN_MAX_TDD_PERIODICITY]
Definition: config.h:124
+
uint8_t enableCP
Definition: config.h:102
+
uint16_t Ta3_min
Definition: config.h:91
+
int32_t GPS_Beta
Definition: config.h:111
+
+ + + + diff --git a/docs/API/debug_8h.html b/docs/API/debug_8h.html new file mode 100644 index 0000000..c4d2f55 --- /dev/null +++ b/docs/API/debug_8h.html @@ -0,0 +1,319 @@ + + + + + + + +o-du/phy: debug.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
debug.h File Reference
+
+
+
#include <stdio.h>
+#include "config.h"
+
+Include dependency graph for debug.h:
+
+
+ + + + +
+
+This graph shows which files directly or indirectly include this file:
+
+
+ + + +
+
+

Go to the source code of this file.

+ + + + + + + + + + + + + + +

+Macros

#define MAX_FILE_NAME_LEN   (512)
 
#define MAX_PATH_NAME_LEN   (1024)
 
#define log_dbg(fmt, ...)
 
#define log_dbg(fmt, ...)
 
#define log_wrn(fmt, ...)
 
#define log_err(fmt, ...)
 
+ + + +

+Functions

void ShowData (void *ptr, unsigned int size)
 
+

Detailed Description

+
Author
Intel Corporation
+ +

Definition in file debug.h.

+

Macro Definition Documentation

+ +

◆ log_dbg [1/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define log_dbg( fmt,
 ... 
)
+
+ +

Definition at line 54 of file debug.h.

+ +
+
+ +

◆ log_dbg [2/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define log_dbg( fmt,
 ... 
)
+
+ +

Definition at line 54 of file debug.h.

+ +
+
+ +

◆ log_err

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define log_err( fmt,
 ... 
)
+
+Value:
fprintf(stderr, \
"ERROR: %s(%d): " fmt "\n", \
__FILE__, \
__LINE__, ##__VA_ARGS__)
+

Definition at line 59 of file debug.h.

+ +
+
+ +

◆ log_wrn

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define log_wrn( fmt,
 ... 
)
+
+ +

Definition at line 55 of file debug.h.

+ +
+
+ +

◆ MAX_FILE_NAME_LEN

+ +
+
+ + + + +
#define MAX_FILE_NAME_LEN   (512)
+
+ +

Definition at line 33 of file debug.h.

+ +
+
+ +

◆ MAX_PATH_NAME_LEN

+ +
+
+ + + + +
#define MAX_PATH_NAME_LEN   (1024)
+
+ +

Definition at line 34 of file debug.h.

+ +
+
+

Function Documentation

+ +

◆ ShowData()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void ShowData (void * ptr,
unsigned int size 
)
+
+inline
+
+ +

Definition at line 66 of file debug.h.

+ +
+
+
+ + + + diff --git a/docs/API/debug_8h__dep__incl.map b/docs/API/debug_8h__dep__incl.map new file mode 100644 index 0000000..2fc45d4 --- /dev/null +++ b/docs/API/debug_8h__dep__incl.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/debug_8h__dep__incl.md5 b/docs/API/debug_8h__dep__incl.md5 new file mode 100644 index 0000000..126e371 --- /dev/null +++ b/docs/API/debug_8h__dep__incl.md5 @@ -0,0 +1 @@ +5b1b174b09c60a61c306006daee6b94e \ No newline at end of file diff --git a/docs/API/debug_8h__dep__incl.png b/docs/API/debug_8h__dep__incl.png new file mode 100644 index 0000000..4c54761 Binary files /dev/null and b/docs/API/debug_8h__dep__incl.png differ diff --git a/docs/API/debug_8h__incl.map b/docs/API/debug_8h__incl.map new file mode 100644 index 0000000..d457e88 --- /dev/null +++ b/docs/API/debug_8h__incl.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/debug_8h__incl.md5 b/docs/API/debug_8h__incl.md5 new file mode 100644 index 0000000..4e460a0 --- /dev/null +++ b/docs/API/debug_8h__incl.md5 @@ -0,0 +1 @@ +a7f553624227059c5997d890492f1d44 \ No newline at end of file diff --git a/docs/API/debug_8h__incl.png b/docs/API/debug_8h__incl.png new file mode 100644 index 0000000..1ab4fd4 Binary files /dev/null and b/docs/API/debug_8h__incl.png differ diff --git a/docs/API/debug_8h_source.html b/docs/API/debug_8h_source.html new file mode 100644 index 0000000..c9479c1 --- /dev/null +++ b/docs/API/debug_8h_source.html @@ -0,0 +1,80 @@ + + + + + + + +o-du/phy: debug.h Source File + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
debug.h
+
+
+Go to the documentation of this file.
1 /******************************************************************************
2 *
3 * Copyright (c) 2019 Intel.
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 *
17 *******************************************************************************/
18 
26 #ifndef _SAMPLEAPP__DEBUG_H_
27 #define _SAMPLEAPP__DEBUG_H_
28 
29 #include <stdio.h>
30 
31 #include "config.h"
32 
33 #define MAX_FILE_NAME_LEN (512)
34 #define MAX_PATH_NAME_LEN (1024)
35 
36 #ifdef _DEBUG
37  #define log_dbg(fmt, ...) \
38  fprintf(stderr, \
39  "DEBUG: %s(%d): " fmt "\n", \
40  __FILE__, \
41  __LINE__, ##__VA_ARGS__)
42 #else
43  #define log_dbg(fmt, ...)
44 #endif
45 
46 #if defined(_DEBUG) || defined(_VERBOSE)
47  #define log_wrn(fmt, ...) \
48  fprintf( \
49  stderr, \
50  "WARNING: %s(%d): " fmt "\n", \
51  __FILE__, \
52  __LINE__, ##__VA_ARGS__)
53 #else
54  #define log_dbg(fmt, ...)
55  #define log_wrn(fmt, ...)
56 #endif
57 
58 
59 #define log_err(fmt, ...) \
60  fprintf(stderr, \
61  "ERROR: %s(%d): " fmt "\n", \
62  __FILE__, \
63  __LINE__, ##__VA_ARGS__)
64 
65 
66 inline void ShowData(void* ptr, unsigned int size)
67 {
68  uint8_t *d = (uint8_t *)ptr;
69  unsigned int i;
70 
71  for(i = 0; i < size; i++)
72  {
73  if ( !(i & 0xf) )
74  printf("\n");
75  printf("%02x ", d[i]);
76  }
77  printf("\n");
78 }
79 
80 
81 #endif /* _SAMPLEAPP__DEBUG_H_ */
void ShowData(void *ptr, unsigned int size)
Definition: debug.h:66
+ +
+ + + + diff --git a/docs/API/def/doxygen.def b/docs/API/def/doxygen.def new file mode 100644 index 0000000..3f49f81 --- /dev/null +++ b/docs/API/def/doxygen.def @@ -0,0 +1,101285 @@ +AutoGen Definitions dummy; +struct = { + cp-id = 'struct___runtime_config'; + cp-name = '_RuntimeConfig'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct___runtime_config_1a4136346ae28fdf2f104e3eb6a9e4da63'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'appMode'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/config.h'; + sec-mem-desc-line = '36'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Application mode: lls-CU or RU +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct___runtime_config_1ad674f5880669afb1153cf6e77b64a838'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'xranCat'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/config.h'; + sec-mem-desc-line = '37'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +xran mode: Categoty A | Category B +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct___runtime_config_1aa7579751e13de05edb086914d6122f31'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'numCC'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/config.h'; + sec-mem-desc-line = '38'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Number of CC per ports supported by RU +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'sample-app_8c_1a0ddf1224851353fc92bfbff6f499fa97'; + sec-mem-ref-line = '1319'; + sec-mem-ref-name = 'main'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct___runtime_config_1abbeb3b559727e749a5d085c9374e541d'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'numAxc'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/config.h'; + sec-mem-desc-line = '39'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Number of Antenna Carriers per CC +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'sample-app_8c_1a0ddf1224851353fc92bfbff6f499fa97'; + sec-mem-ref-line = '1319'; + sec-mem-ref-name = 'main'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct___runtime_config_1a8bc1b7962f0840749ad1536662177b43'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'numUlAxc'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/config.h'; + sec-mem-desc-line = '40'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Number of Antenna Carriers per CC for UL (Cat B) +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct___runtime_config_1ad0ca738be588c2a611cc3f706bfcd49e'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'antElmTRx'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/config.h'; + sec-mem-desc-line = '41'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Number of antenna elements for TX and RX +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'sample-app_8c_1a0ddf1224851353fc92bfbff6f499fa97'; + sec-mem-ref-line = '1319'; + sec-mem-ref-name = 'main'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct___runtime_config_1a19978ec8645efbee660315f67d5b2358'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'muMimoUEs'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/config.h'; + sec-mem-desc-line = '42'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Number of UEs (with 1 RX ant)/beams +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct___runtime_config_1af2be62462d0071aa5bb14ecc5f55c701'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'DlLayersPerUe'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/config.h'; + sec-mem-desc-line = '44'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Number of DL layer per UE +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct___runtime_config_1aba27e8723558adbd7f998a08df310ec9'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'UlLayersPerUe'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/config.h'; + sec-mem-desc-line = '45'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Number of UL layer per UE +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct___runtime_config_1afe3cec6983e2e599c33fc6fe05d80002'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'ttiPeriod'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/config.h'; + sec-mem-desc-line = '47'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +TTI period +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct___runtime_config_1a5c81c4a16480f1214d03545216aa6a23'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'testVect'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/config.h'; + sec-mem-desc-line = '48'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Test Signal to send +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct___runtime_config_1afa518f99bacc58366e6e1690d4b99fe4'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct ether_addr +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'o_du_addr'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/config.h'; + sec-mem-desc-line = '48'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +lls-CU Ethernet Mac Address +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct___runtime_config_1a3d99b0989c1d336455a447cbc71dce13'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct ether_addr +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'o_ru_addr'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/config.h'; + sec-mem-desc-line = '48'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +RU Ethernet Mac Address +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct___runtime_config_1a52e0a00c08b59dd8495d5f291c928a3f'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct ether_addr +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'tmp_addr'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/config.h'; + sec-mem-desc-line = '48'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Temp Ethernet Mac Address +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct___runtime_config_1a7c41b87d5f4518f22797b56e183c6d81'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'instance_id'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/config.h'; + sec-mem-desc-line = '53'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Instance ID of application +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct___runtime_config_1a32d3d485cc059e8003d9d99f0707f2e1'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'io_core'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/config.h'; + sec-mem-desc-line = '54'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Core used for IO +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct___runtime_config_1a3c8ee4e9dd2a5354e83fb30c95598f30'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'mtu'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/config.h'; + sec-mem-desc-line = '56'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +maximum transmission unit (MTU) is the size of the largest protocol data unit (PDU) that can be communicated in a single +xRAN network layer transaction. supported 1500 bytes and 9600 bytes (Jumbo Frame) +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct___runtime_config_1ae80b6685104e5d649ce7c9e3865b5ac3'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'numSlots'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/config.h'; + sec-mem-desc-line = '58'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +number of slots in IQ vector +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct___runtime_config_1a5b68c8543d51de71f5d2aa5fa824cc5f'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +char +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'ant_file'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/config.h'; + sec-mem-desc-line = '59'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +file to use for test vector +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'sample-app_8c_1a0ddf1224851353fc92bfbff6f499fa97'; + sec-mem-ref-line = '1319'; + sec-mem-ref-name = 'main'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct___runtime_config_1ac7a5bcd96e56c56fb91c9a4cb7c57d20'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +char +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'prach_file'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/config.h'; + sec-mem-desc-line = '60'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +file to use for test vector +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct___runtime_config_1adca0e9d6c0f577d2eb19c0c17e7d1f21'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +char +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'dl_bfw_file'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/config.h'; + sec-mem-desc-line = '62'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +file with beamforming weights for DL streams +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct___runtime_config_1ac84cf72167889004a12d616ad466e48e'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +char +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'ul_bfw_file'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/config.h'; + sec-mem-desc-line = '63'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +file with beamforming weights for UL streams +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct___runtime_config_1a50fb35f7655e4f8581192c9ea0ce0517'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +char +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'ul_srs_file'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/config.h'; + sec-mem-desc-line = '65'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +file with SRS content for UL antenna elements +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct___runtime_config_1aede2a014b7865a3e3b425d468f157331'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'enablePrach'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/config.h'; + sec-mem-desc-line = '68'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +enable PRACH +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct___runtime_config_1a27e72df1357d47d3028bba20c4af0453'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'prachOffset'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/config.h'; + sec-mem-desc-line = '69'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Sets the PRACH position in frequency / subcarrier position, n_PRBoffset^RA and is expressed as a physical resource block number. +Set by SIB2, prach-FreqOffset in E-UTRA. +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct___runtime_config_1a99f4cd3e313c4d956132e277043498c6'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'prachConfigIndex'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/config.h'; + sec-mem-desc-line = '72'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +TS36.211 - Table 5.7.1-2 : PRACH Configuration Index +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct___runtime_config_1ad08d1758ebedc3f28561b3f4d1c51645'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'iqswap'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/config.h'; + sec-mem-desc-line = '73'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +do swap of IQ before send to ETH +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct___runtime_config_1a932c6c205ec4695d57632b623753a7ab'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'nebyteorderswap'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/config.h'; + sec-mem-desc-line = '74'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +do swap of byte order from host byte order to network byte order. ETH +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct___runtime_config_1aeb626e525b4a8a7381eda9c3d11400cb'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'compression'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/config.h'; + sec-mem-desc-line = '75'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +enable use case with compression +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct___runtime_config_1af01fc39016255fbbedd02b31bb9c7959'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'totalBfWeights'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/config.h'; + sec-mem-desc-line = '77'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +The total number of beamforming weights on RU +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct___runtime_config_1ac059a4a69d0a3fd511290fea2d95ab25'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'enableSrs'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/config.h'; + sec-mem-desc-line = '79'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +enable SRS (valid for Cat B only) +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct___runtime_config_1ac8db74934b603e276bbe8d5bf14e8333'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'srsSymMask'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/config.h'; + sec-mem-desc-line = '80'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +SRS symbol mask [014] within S/U slot [0-13] def is 13 +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct___runtime_config_1a7e2e66f6bfc7521847c69479e3f17a79'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'maxFrameId'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/config.h'; + sec-mem-desc-line = '82'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +max value of frame id +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct___runtime_config_1a05dca46f0128cb233e7d4f73215cc4a9'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'Tadv_cp_dl'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/config.h'; + sec-mem-desc-line = '84'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct___runtime_config_1aebed6420fb04aabce30025eec4583807'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'T2a_min_cp_dl'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/config.h'; + sec-mem-desc-line = '85'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct___runtime_config_1a5df6250657a91c27fa2416154ec5a609'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'T2a_max_cp_dl'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/config.h'; + sec-mem-desc-line = '86'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct___runtime_config_1acfa0c4237b95b1dc83d19e00d6487ec0'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'T2a_min_cp_ul'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/config.h'; + sec-mem-desc-line = '87'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct___runtime_config_1a60007ed3e328b06fb7f7ff2b3a37dac5'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'T2a_max_cp_ul'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/config.h'; + sec-mem-desc-line = '88'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct___runtime_config_1aac84937e634fccb665c6de923af50c0f'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'T2a_min_up'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/config.h'; + sec-mem-desc-line = '89'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct___runtime_config_1af27977cbf63a8beb2fd6b1f17c1502df'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'T2a_max_up'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/config.h'; + sec-mem-desc-line = '90'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct___runtime_config_1ac2e5d027408848a38879331bf54d5adf'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'Ta3_min'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/config.h'; + sec-mem-desc-line = '91'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct___runtime_config_1a82517c890db705ee58767fd245193214'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'Ta3_max'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/config.h'; + sec-mem-desc-line = '92'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct___runtime_config_1a73b80929304dcde73f2c2f6d4f7448fa'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'T1a_min_cp_dl'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/config.h'; + sec-mem-desc-line = '93'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct___runtime_config_1a6080f8ca5894be470378d6f265c1f665'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'T1a_max_cp_dl'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/config.h'; + sec-mem-desc-line = '94'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct___runtime_config_1ab2d0817976952478020b3437b3dbbfc3'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'T1a_min_cp_ul'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/config.h'; + sec-mem-desc-line = '95'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct___runtime_config_1a71254f497cb48a57b123c7f4897b7a38'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'T1a_max_cp_ul'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/config.h'; + sec-mem-desc-line = '96'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct___runtime_config_1a0447175262da4e12814983c97d73ad21'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'T1a_min_up'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/config.h'; + sec-mem-desc-line = '97'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct___runtime_config_1a76ae7531da0aa8656d95c194f1e75b0f'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'T1a_max_up'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/config.h'; + sec-mem-desc-line = '98'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct___runtime_config_1ad8a8a60941ab888de5187345ce5fc92c'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'Ta4_min'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/config.h'; + sec-mem-desc-line = '99'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct___runtime_config_1a934a145ce39320896b81ac25276b24d8'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'Ta4_max'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/config.h'; + sec-mem-desc-line = '100'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct___runtime_config_1ab0bb0b684cc2798a2ef1ceabe4a47e38'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'enableCP'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/config.h'; + sec-mem-desc-line = '102'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +enable C-plane +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct___runtime_config_1adc6cb9229207f58f6c4375305dcb5384'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'cp_vlan_tag'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/config.h'; + sec-mem-desc-line = '103'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +C-plane vlan tag +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct___runtime_config_1ae5c22bf3cd63e278914bf627dab04ce8'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'up_vlan_tag'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/config.h'; + sec-mem-desc-line = '104'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +U-plane vlan tag +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct___runtime_config_1a8ad55119f3b227785857aaddef6a8384'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'debugStop'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/config.h'; + sec-mem-desc-line = '106'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct___runtime_config_1a0ce1293a9896f3e28d960a0b1d9dc911'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'debugStopCount'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/config.h'; + sec-mem-desc-line = '107'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct___runtime_config_1aed69c3a25134cbc416f08a2138ab1136'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'bbdevMode'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/config.h'; + sec-mem-desc-line = '108'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct___runtime_config_1a6fcbf469691a192f1ce298f70981c17a'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'DynamicSectionEna'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/config.h'; + sec-mem-desc-line = '109'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct___runtime_config_1ae2b1a8eb1532f9f5aedc946086bec354'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'GPS_Alpha'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/config.h'; + sec-mem-desc-line = '110'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct___runtime_config_1aba260ecc47cc76ee126e5b9837f31ab8'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'GPS_Beta'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/config.h'; + sec-mem-desc-line = '111'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct___runtime_config_1ac1552b11af951e30f8d57c77cc5bed81'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'mu_number'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/config.h'; + sec-mem-desc-line = '113'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Mu numner as per 3GPP +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'sample-app_8c_1a0ddf1224851353fc92bfbff6f499fa97'; + sec-mem-ref-line = '1319'; + sec-mem-ref-name = 'main'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct___runtime_config_1ac0e69adfb3c3429ce7f7b9a568959934'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'nDLAbsFrePointA'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/config.h'; + sec-mem-desc-line = '114'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Abs Freq Point A of the Carrier Center Frequency for in KHz Value: 450000->52600000 +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct___runtime_config_1a6db9b8b082db12b94c9d7b910a2bf747'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'nULAbsFrePointA'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/config.h'; + sec-mem-desc-line = '115'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Abs Freq Point A of the Carrier Center Frequency for in KHz Value: 450000->52600000 +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct___runtime_config_1ad218e25642a9ecba017dfab4637c0b50'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'nDLBandwidth'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/config.h'; + sec-mem-desc-line = '116'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Carrier bandwidth for in MHz. Value: 5->400 +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct___runtime_config_1a62e3563effce6c4c7fa25c233f24c855'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'nULBandwidth'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/config.h'; + sec-mem-desc-line = '117'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Carrier bandwidth for in MHz. Value: 5->400 +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct___runtime_config_1ad86ba09b02f93a0f8525f5d07b471ead'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'nDLFftSize'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/config.h'; + sec-mem-desc-line = '118'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +DL FFT size +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct___runtime_config_1aa531dddfbcecb22e905ed06255f5ce09'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'nULFftSize'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/config.h'; + sec-mem-desc-line = '119'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +UL FFT size +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct___runtime_config_1a3b86317723a592e240c0047e53a6326d'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'nFrameDuplexType'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/config.h'; + sec-mem-desc-line = '122'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct___runtime_config_1a53a1d989c6dee827495401b1973c9ef8'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'nTddPeriod'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/config.h'; + sec-mem-desc-line = '123'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct___runtime_config_1a4664e9a9005020b4a98ada2d256906e2'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_slot_config +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'sSlotConfig'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/config.h'; + sec-mem-desc-line = '123'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct___runtime_config_1a62e6a2d0e1ba75667b3983405ccd2c84'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_prb_map +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'PrbMapDl'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/config.h'; + sec-mem-desc-line = '123'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct___runtime_config_1aa6dd3fbdc60ae22de4c06c1c4e7fbd73'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_prb_map +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'PrbMapUl'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/config.h'; + sec-mem-desc-line = '123'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/config.h'; + cp-fileline = '35'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ +Run time configuration of application +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 4; + node-label = 'xran_cp_bf_weight'; + node-link = { + node-link-id = 'structxran__cp__bf__weight'; + }; + }; /* node */ + node = { + node-id = 7; + node-label = 'xran_cp_bf_precoding'; + node-link = { + node-link-id = 'structxran__cp__bf__precoding'; + }; + }; /* node */ + node = { + node-id = 6; + node-label = 'xran_section_desc'; + node-link = { + node-link-id = 'structxran__section__desc'; + }; + }; /* node */ + node = { + node-id = 2; + node-label = 'xran_prb_map'; + node-link = { + node-link-id = 'structxran__prb__map'; + }; + node-child = { + child-id = '3'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++prbMap +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + node = { + node-id = 5; + node-label = 'xran_cp_bf_attribute'; + node-link = { + node-link-id = 'structxran__cp__bf__attribute'; + }; + }; /* node */ + node = { + node-id = 3; + node-label = 'xran_prb_elm'; + node-link = { + node-link-id = 'structxran__prb__elm'; + }; + node-child = { + child-id = '4'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++bf_weight +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '5'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++bf_attribute +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '6'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++p_sec_desc +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '7'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++bf_precoding +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + node = { + node-id = 1; + node-label = '_RuntimeConfig'; + node-link = { + node-link-id = 'struct___runtime_config'; + }; + node-child = { + child-id = '2'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++PrbMapDl ++PrbMapUl +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '8'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++sSlotConfig +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + node = { + node-id = 8; + node-label = 'xran_slot_config'; + node-link = { + node-link-id = 'structxran__slot__config'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structnlohmann_1_1adl__serializer'; + cp-name = 'nlohmann::adl_serializer'; + cp-section = { + sec-kind = 'public-static-func'; + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'structnlohmann_1_1adl__serializer_1adcdd0023173b7ae293da6cc2ffddfd06'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'from_json'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +BasicJsonType && +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'j'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +ValueType & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'val'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '900'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +convert a JSON value to any value type +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +This function is usually called by the get() function of the +@ref basic_json class (either explicit or via conversion operators). + +@param[in] j JSON value to read from +@param[in,out] val value to write to +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'json_8hpp_1a839b0ab50d2c9bce669068f56bc41202'; + sec-mem-ref-line = '776'; + sec-mem-ref-name = 'nlohmann::detail::from_json'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'structnlohmann_1_1adl__serializer_1a1e04b5fee91e47467368f279d7f7b941'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'to_json'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +BasicJsonType & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'j'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +ValueType && +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'val'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '916'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +convert any value type to a JSON value +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +This function is usually called by the constructors of the @ref basic_json +class. + +@param[in,out] j JSON value to write to +@param[in] val value to read from +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'json_8hpp_1a6fa2f784014bfc0b62d7a35d51e676c9'; + sec-mem-ref-line = '565'; + sec-mem-ref-name = 'nlohmann::detail::to_json'; + }; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + cp-fileline = '889'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ +default JSONSerializer template argument +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ +This serializer ignores the template arguments and uses ADL +(argument-dependent lookup) +for serialization. +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 10; + node-label = 'adl_serializer< typename, typename >'; + node-link = { + node-link-id = 'structnlohmann_1_1adl__serializer'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +class = { + cp-id = 'class_b1'; + cp-name = 'B1'; + cp-ref = { + ref-type = derived; + ref-id = 'structnlohmann_1_1detail_1_1conjunction_3_01_b1_01_4'; + ref-prot = public; + ref-virt = non-virtual; + }; + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + cp-fileline = '204'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-inheritancegraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 11; + node-label = 'B1'; + }; /* node */ + node = { + node-id = 12; + node-label = 'conjunction< B1 >'; + node-link = { + node-link-id = 'structnlohmann_1_1detail_1_1conjunction_3_01_b1_01_4'; + }; + node-child = { + child-id = '11'; + relation = public-inheritance; + }; /* node-child */ + }; /* node */ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 13; + node-label = 'B1'; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* class */ +class = { + cp-id = 'classnlohmann_1_1basic__json'; + cp-name = 'nlohmann::basic_json'; + cp-section = { + sec-kind = 'public-type'; + sec-member = { + sec-mem-kind = 'enum'; + sec-mem-id = 'classnlohmann_1_1basic__json_1a284abb29079a3ece0b67d67da11da441'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-name = 'parse_event_t'; + sec-mem-enum = { enum-name = object_start; }; + sec-mem-enum = { enum-name = object_end; }; + sec-mem-enum = { enum-name = array_start; }; + sec-mem-enum = { enum-name = array_end; }; + sec-mem-enum = { enum-name = key; }; + sec-mem-enum = { enum-name = value; }; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '1785'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +JSON callback events. +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +This enumeration lists the parser events that can trigger calling a +callback function of type @ref parser_callback_t during parsing. + +@image html callback_events.png "Example when certain parse events are triggered" + +@since version 1.0.0 +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'typedef'; + sec-mem-id = 'classnlohmann_1_1basic__json_1ace569a7a0433ec013c33c927453cb727'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +detail::value_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'value_t'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '1026'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'typedef'; + sec-mem-id = 'classnlohmann_1_1basic__json_1a0529ada731a19a6860d72dd7ca888271'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +JSONSerializer< T, SFINAE > +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'json_serializer'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '1032'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'typedef'; + sec-mem-id = 'classnlohmann_1_1basic__json_1a8bcd7fb59f7978ccd8942605357fc28a'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +std::function< bool(int depth, parse_event_t event, basic_json &parsed)> +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'parser_callback_t'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '1852'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +per-element parser callback type +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +With a parser callback function, the result of parsing a JSON text can be +influenced. When passed to @ref parse(std::istream&, const +parser_callback_t) or @ref parse(const CharT, const parser_callback_t), +it is called on certain events (passed as @ref parse_event_t via parameter +@a event) with a set recursion depth @a depth and context JSON value +@a parsed. The return value of the callback function is a boolean +indicating whether the element that emitted the callback shall be kept or +not. + +We distinguish six scenarios (determined by the event type) in which the +callback function can be called. The following table describes the values +of the parameters @a depth, @a event, and @a parsed. + + +
parameter @a event description parameter @a depth parameter @a parsed +
parse_event_t::object_start the parser read { and started to process a JSON object depth of the parent of the JSON object a JSON value with type discarded +
parse_event_t::key the parser read a key of a value in an object depth of the currently parsed JSON object a JSON string containing the key +
parse_event_t::object_end the parser read } and finished processing a JSON object depth of the parent of the JSON object the parsed JSON object +
parse_event_t::array_start the parser read [ and started to process a JSON array depth of the parent of the JSON array a JSON value with type discarded +
parse_event_t::array_end the parser read ] and finished processing a JSON array depth of the parent of the JSON array the parsed JSON array +
parse_event_t::value the parser finished reading a JSON value depth of the value the parsed JSON value +
+@image html callback_events.png "Example when certain parse events are triggered" + +Discarding a value (i.e., returning false) has different effects +depending on the context in which function was called: + +- Discarded values in structured types are skipped. That is, the parser + will behave as if the discarded value was never read. +- In case a value outside a structured type is skipped, it is replaced + with null. This case happens if the top-level element is skipped. + +@param[in] depth the depth of the recursion during parsing + +@param[in] event an event of type parse_event_t indicating the context in +the callback function has been called + +@param[in,out] parsed the current intermediate parse result; note that +writing to this value has no effect for parse_event_t::key events + +@return Whether the JSON value which called the function during parsing +should be kept (true) or not (false). In the latter case, it is either +skipped completely or replaced by an empty discarded object. + +@sa @ref parse(std::istream&, parser_callback_t) or +@ref parse(const CharT, const parser_callback_t) for examples + +@since version 1.0.0 +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-section = { + sec-kind = 'public-func'; + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1a99cfa952f8b8deaae2505c89507ff3cd'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +std::string +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'type_name'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '8042'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +return the type as string +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Returns the type name as string to be used in error messages - usually to +indicate that a function was called on a wrong JSON type. + +@return basically a string representation of a the @a m_type member + +@complexity Constant. + +@liveexample{The following code exemplifies type_name() for all JSON +types.,type_name} + +@since version 1.0.0, public since 2.1.0 +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'master_8py_1ad5c7a065cddc009146ea1b1192eb2102'; + sec-mem-ref-line = '498'; + sec-mem-ref-name = 'master::res'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'json_8hpp_1a09169efff3bd1771fff29bd92cea19e0'; + sec-mem-ref-line = '148'; + sec-mem-ref-name = 'nlohmann::detail::operator<'; + }; + }; /* sec-member */ + }; /* cp-section */ + cp-section = { + sec-kind = 'public-static-func'; + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1a00ebe95bd430fd8f70297c7d8e6b1393'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static allocator_type +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'get_allocator'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '1079'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +returns the allocator associated with the container +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1a7b7fb3fbbbbae070cef34411707c887b'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static basic_json +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'meta'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '1107'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +returns version information on the library +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +This function returns a JSON object with information about the library, +including the version number and information on the platform and compiler. + +@return JSON object holding version information + +
key description +
compiler Information on the used compiler. It is an object with the following keys: c++ (the used C++ standard), family (the compiler family; possible values are clang, icc, gcc, ilecpp, msvc, pgcpp, sunpro, and unknown), and version (the compiler version). +
copyright The copyright line for the library as string. +
name The name of the library as string. +
platform The used platform as string. Possible values are win32, linux, apple, unix, and unknown. +
url The URL of the project as string. +
version The version of the library. It is an object with the following keys: major, minor, and patch as defined by Semantic Versioning, and string (the version string). +
+@liveexample{The following code shows an example output of the meta() +function.,meta} + +@complexity Constant. + +@since 2.1.0 +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-section = { + sec-kind = 'private-type'; + sec-member = { + sec-mem-kind = 'typedef'; + sec-mem-id = 'classnlohmann_1_1basic__json_1ad4fc745f17051e494968f49e37e40c6d'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer > +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'basic_json_t'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '1021'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +workaround type for MSVC +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-section = { + sec-kind = 'private-func'; + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1ac942fdf25d7d330c856ef650c593a69f'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'assert_invariant'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '1762'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +checks the class invariants +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +This function asserts the class invariants. It needs to be called at the +end of every constructor to make sure that created objects respect the +invariant. Furthermore, it has to be called each time the type of a JSON +value is changed, because the invariant expresses a relationship between +@a m_type and @a m_value. +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1aa5af3189c6c2b2536dd9328c036545ef'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +boolean_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'get_impl'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +boolean_t * +_EnD_oF_dEf_TeXt_; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '3003'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +get a boolean (explicit) +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1a4570cbddda6398b31f39b33ae7839a8b'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +object_t * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'get_impl_ptr'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +object_t * +_EnD_oF_dEf_TeXt_; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '3014'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +get a pointer to the value (object) +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1acec85f76caa1b96e6c72aa2657b734e1'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +constexpr const object_t * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'get_impl_ptr'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const object_t * +_EnD_oF_dEf_TeXt_; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '3020'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +get a pointer to the value (object) +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1a48cd2f4aec2cf246002fc7deb3266e8d'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +array_t * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'get_impl_ptr'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +array_t * +_EnD_oF_dEf_TeXt_; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '3026'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +get a pointer to the value (array) +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1af62a121709249091d61ebd12d92618ec'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +constexpr const array_t * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'get_impl_ptr'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const array_t * +_EnD_oF_dEf_TeXt_; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '3032'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +get a pointer to the value (array) +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1abfdb07a69f7926ed7cac0c7a7f7b82c3'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +string_t * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'get_impl_ptr'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +string_t * +_EnD_oF_dEf_TeXt_; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '3038'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +get a pointer to the value (string) +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1a13a2f78803ef804816835fd9c6fafce5'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +constexpr const string_t * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'get_impl_ptr'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const string_t * +_EnD_oF_dEf_TeXt_; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '3044'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +get a pointer to the value (string) +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1a9ccc9b1e173c5504792cebb53a2b1bf3'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +boolean_t * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'get_impl_ptr'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +boolean_t * +_EnD_oF_dEf_TeXt_; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '3050'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +get a pointer to the value (boolean) +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1a4bf123bb4fe604a853ff20c7d8a9cb10'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +constexpr const boolean_t * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'get_impl_ptr'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const boolean_t * +_EnD_oF_dEf_TeXt_; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '3056'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +get a pointer to the value (boolean) +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1a860dd8adb8beb5de6fe3446819255741'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +number_integer_t * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'get_impl_ptr'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +number_integer_t * +_EnD_oF_dEf_TeXt_; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '3062'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +get a pointer to the value (integer number) +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1a33c20126f54093a759e166f110ea576a'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +constexpr const number_integer_t * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'get_impl_ptr'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const number_integer_t * +_EnD_oF_dEf_TeXt_; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '3068'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +get a pointer to the value (integer number) +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1a9825885a30e4973383c47b7c64524ccb'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +number_unsigned_t * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'get_impl_ptr'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +number_unsigned_t * +_EnD_oF_dEf_TeXt_; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '3074'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +get a pointer to the value (unsigned number) +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1af00a8e9feefacebbd3cc229c4f5be738'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +constexpr const number_unsigned_t * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'get_impl_ptr'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const number_unsigned_t * +_EnD_oF_dEf_TeXt_; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '3080'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +get a pointer to the value (unsigned number) +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1a2c0ffb3266480827d5d628a2a286ea86'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +number_float_t * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'get_impl_ptr'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +number_float_t * +_EnD_oF_dEf_TeXt_; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '3086'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +get a pointer to the value (floating-point number) +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1a6fc1f1c00b32ba90930c42069d2d1c60'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +constexpr const number_float_t * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'get_impl_ptr'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const number_float_t * +_EnD_oF_dEf_TeXt_; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '3092'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +get a pointer to the value (floating-point number) +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1abb090632f18438eeec99fd3dc7987cba'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'dump'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +std::ostream & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'o'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const bool +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'pretty_print'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const unsigned int +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'indent_step'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const unsigned int +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'current_indent'; + sec-mem-param-defval = <<_EnD_oF_dEf_TeXt_ +0 +_EnD_oF_dEf_TeXt_; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '8392'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +internal implementation of the serialization function +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +This function is called by the public member function dump and organizes +the serialization internally. The indentation level is propagated as +additional parameter. In case of arrays and objects, the function is +called recursively. Note that + +- strings and object keys are escaped using escape_string() +- integer numbers are converted implicitly via operator\<\< +- floating-point numbers are converted to a string using "%g" format + +@param[out] o stream to write to +@param[in] pretty_print whether the output shall be pretty-printed +@param[in] indent_step the indent level +@param[in] current_indent the current indent level (only used internally) +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-section = { + sec-kind = 'private-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'classnlohmann_1_1basic__json_1a1dbdad658d3520a50ea1fd40bcaf8bbe'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +value_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_type'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += value_t::null +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '8530'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +the type of the current element +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'classnlohmann_1_1basic__json_1ae78f15991d43dc1eda70ad5ac267f1b7'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +json_value +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_value'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += {} +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '8533'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +the value of the current element +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-section = { + sec-kind = 'private-static-func'; + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1a3556e32c975f3a0d36d1f767fe3ed78f'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static T * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'create'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +Args &&... +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'args'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '1603'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +helper for exception-safe object creation +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1a40e4aec3f6d1fa2ff0d9b9a2f39c67db'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static ReferenceType +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'get_ref_impl'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +ThisType & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'obj'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '3109'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +helper function to implement get_ref() +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +This funcion helps to implement get_ref() without code duplication for +const and non-const overloads + +@tparam ThisType will be deduced as basic_json or const basic_json + +@throw std::domain_error if ReferenceType does not match underlying value +type of the current JSON +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1a852a43c9511b74451757448ee40e128c'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static std::size_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'extra_space'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const string_t & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 's'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '8074'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +calculates the extra space to escape a JSON string +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@param[in] s the string to escape +@return the number of characters required to escape string @a s + +@complexity Linear in the length of string @a s. +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1a040667b616779f522cfcf8ed945fdf90'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static string_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'escape_string'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const string_t & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 's'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '8120'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +escape a string +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Escape a string by replacing certain special characters by a sequence of +an escape character (backslash) and another character and other control +characters by a sequence of "\u" followed by a four-digit hex +representation. + +@param[in] s the string to escape +@return the escaped string + +@complexity Linear in the length of string @a s. +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-section = { + sec-kind = 'signal'; + sec-member = { + sec-mem-kind = 'friend'; + sec-mem-id = 'classnlohmann_1_1basic__json_1a6275ed57bae6866cdf5db5370a7ad47c'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +friend struct +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'detail::external_constructor'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '1019'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + cp-fileline = '1017'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ +a class to store JSON values +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ +@tparam ObjectType type for JSON objects (std::map by default; will be used +in @ref object_t) +@tparam ArrayType type for JSON arrays (std::vector by default; will be used +in @ref array_t) +@tparam StringType type for JSON strings and object keys (std::string by +default; will be used in @ref string_t) +@tparam BooleanType type for JSON booleans (bool by default; will be used +in @ref boolean_t) +@tparam NumberIntegerType type for JSON integer numbers (int64_t by +default; will be used in @ref number_integer_t) +@tparam NumberUnsignedType type for JSON unsigned integer numbers (@c +uint64_t by default; will be used in @ref number_unsigned_t) +@tparam NumberFloatType type for JSON floating-point numbers (double by +default; will be used in @ref number_float_t) +@tparam AllocatorType type of the allocator to use (std::allocator by +default) +@tparam JSONSerializer the serializer to resolve internal calls to to_json() +and from_json() (@ref adl_serializer by default) + +@requirement The class satisfies the following concept requirements: +- Basic + - DefaultConstructible: + JSON values can be default constructed. The result will be a JSON null + value. + - MoveConstructible: + A JSON value can be constructed from an rvalue argument. + - CopyConstructible: + A JSON value can be copy-constructed from an lvalue expression. + - MoveAssignable: + A JSON value van be assigned from an rvalue argument. + - CopyAssignable: + A JSON value can be copy-assigned from an lvalue expression. + - Destructible: + JSON values can be destructed. +- Layout + - StandardLayoutType: + JSON values have + standard layout: + All non-static data members are private and standard layout types, the + class has no virtual functions or (virtual) base classes. +- Library-wide + - EqualityComparable: + JSON values can be compared with ==, see @ref + operator==(const_reference,const_reference). + - LessThanComparable: + JSON values can be compared with \<, see @ref + operator<(const_reference,const_reference). + - Swappable: + Any JSON lvalue or rvalue of can be swapped with any lvalue or rvalue of + other compatible types, using unqualified function call @ref swap(). + - NullablePointer: + JSON values can be compared against std::nullptr_t objects which are used + to model the null value. +- Container + - Container: + JSON values can be used like STL containers and provide iterator access. + - ReversibleContainer; + JSON values can be used like STL containers and provide reverse iterator + access. + +@invariant The member variables @a m_value and @a m_type have the following +relationship: +- If m_type == value_t::object, then m_value.object != nullptr. +- If m_type == value_t::array, then m_value.array != nullptr. +- If m_type == value_t::string, then m_value.string != nullptr. +The invariants are checked by member function assert_invariant(). + + + +\endinternal + +@see RFC 7159: The JavaScript Object Notation (JSON) Data Interchange Format + +@since version 1.0.0 +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 15; + node-label = 'basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >'; + node-link = { + node-link-id = 'classnlohmann_1_1basic__json'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* class */ +struct = { + cp-id = 'struct_bbu_io_buf_ctrl_struct'; + cp-name = 'BbuIoBufCtrlStruct'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct_bbu_io_buf_ctrl_struct_1a48c33fa4a8f2f93d51cba58b78d3cd9f'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'bValid'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + sec-mem-desc-line = '123'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1ac94e2474beef3b68521cfd391211b1be'; + sec-mem-ref-line = '2551'; + sec-mem-ref-name = 'xran_5g_fronthault_config'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1ab204e979de14c21d34e9b88c6c700d25'; + sec-mem-ref-line = '2636'; + sec-mem-ref-name = 'xran_5g_prach_req'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a2bd01fc3432f80a787d6bf317949dd80'; + sec-mem-ref-line = '2679'; + sec-mem-ref-name = 'xran_5g_srs_req'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct_bbu_io_buf_ctrl_struct_1a7dc97933eadb8a8049057209c3303818'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'nSegToBeGen'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + sec-mem-desc-line = '124'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1ac94e2474beef3b68521cfd391211b1be'; + sec-mem-ref-line = '2551'; + sec-mem-ref-name = 'xran_5g_fronthault_config'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1ab204e979de14c21d34e9b88c6c700d25'; + sec-mem-ref-line = '2636'; + sec-mem-ref-name = 'xran_5g_prach_req'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a2bd01fc3432f80a787d6bf317949dd80'; + sec-mem-ref-line = '2679'; + sec-mem-ref-name = 'xran_5g_srs_req'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct_bbu_io_buf_ctrl_struct_1af00b094918ddba2073443dcd755141f6'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'nSegGenerated'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + sec-mem-desc-line = '125'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1ac94e2474beef3b68521cfd391211b1be'; + sec-mem-ref-line = '2551'; + sec-mem-ref-name = 'xran_5g_fronthault_config'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1ab204e979de14c21d34e9b88c6c700d25'; + sec-mem-ref-line = '2636'; + sec-mem-ref-name = 'xran_5g_prach_req'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a2bd01fc3432f80a787d6bf317949dd80'; + sec-mem-ref-line = '2679'; + sec-mem-ref-name = 'xran_5g_srs_req'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct_bbu_io_buf_ctrl_struct_1a09ab9a2f4541256129428a4ccabc6803'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'nSegTransferred'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + sec-mem-desc-line = '127'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1ac94e2474beef3b68521cfd391211b1be'; + sec-mem-ref-line = '2551'; + sec-mem-ref-name = 'xran_5g_fronthault_config'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1ab204e979de14c21d34e9b88c6c700d25'; + sec-mem-ref-line = '2636'; + sec-mem-ref-name = 'xran_5g_prach_req'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a2bd01fc3432f80a787d6bf317949dd80'; + sec-mem-ref-line = '2679'; + sec-mem-ref-name = 'xran_5g_srs_req'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct_bbu_io_buf_ctrl_struct_1a7941f6b35742c3de02e270f7b80c8dda'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mbuf * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'pData'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + sec-mem-desc-line = '128'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a200da4e2209141f12cafef2380cb801a'; + sec-mem-ref-line = '740'; + sec-mem-ref-name = 'xranLibWraper::Init'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct_bbu_io_buf_ctrl_struct_1ab79185e465507117d7b13fd30ec49f70'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_buffer_list +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'sBufferList'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + sec-mem-desc-line = '128'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'init__sys__functional_8cc_1ac2f03036711a42868a78783b735097e5'; + sec-mem-ref-line = '120'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1ad93226058ef4fd59bd7d0cd55701b752'; + sec-mem-ref-line = '936'; + sec-mem-ref-name = 'xranLibWraper::Open'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a14cfa955b7fdf58378a97b4cfa7268f8'; + sec-mem-ref-line = '1384'; + sec-mem-ref-name = 'xran_process_prach_sym'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a300b87c29358bb161404c0122a9b2a46'; + sec-mem-ref-line = '1461'; + sec-mem-ref-name = 'xran_process_srs_sym'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1acb6ecf7858c99c963182b9b7884deca6'; + sec-mem-ref-line = '1578'; + sec-mem-ref-name = 'xran_process_rx_sym'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1ac94e2474beef3b68521cfd391211b1be'; + sec-mem-ref-line = '2551'; + sec-mem-ref-name = 'xran_5g_fronthault_config'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1ab204e979de14c21d34e9b88c6c700d25'; + sec-mem-ref-line = '2636'; + sec-mem-ref-name = 'xran_5g_prach_req'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a2bd01fc3432f80a787d6bf317949dd80'; + sec-mem-ref-line = '2679'; + sec-mem-ref-name = 'xran_5g_srs_req'; + }; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + cp-fileline = '116'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 17; + node-label = 'BbuIoBufCtrlStruct'; + node-link = { + node-link-id = 'struct_bbu_io_buf_ctrl_struct'; + }; + node-child = { + child-id = '18'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++sBufferList +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + node = { + node-id = 19; + node-label = 'xran_flat_buffer'; + node-link = { + node-link-id = 'structxran__flat__buffer'; + }; + }; /* node */ + node = { + node-id = 18; + node-label = 'xran_buffer_list'; + node-link = { + node-link-id = 'structxran__buffer__list'; + }; + node-child = { + child-id = '19'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++pBuffers +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'struct_bbu_xran_io_if_struct'; + cp-name = 'BbuXranIoIfStruct'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct_bbu_xran_io_if_struct_1a1467a6caa947129c506085d9d44d099e'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint64_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'nCoreMask'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + sec-mem-desc-line = '133'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct_bbu_xran_io_if_struct_1a137eb45fb17a00119b74ca11a6f4a410'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'cpuSocketId'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + sec-mem-desc-line = '134'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct_bbu_xran_io_if_struct_1a42e7078befd835706ed80adc1688c033'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'nDriverCoreId'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + sec-mem-desc-line = '135'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct_bbu_xran_io_if_struct_1a94a63af18d6661b189605db8f66dbc7a'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'nFHCoreId'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + sec-mem-desc-line = '136'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct_bbu_xran_io_if_struct_1ab17d30b2540eca4acd7248fccbf575b4'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mempool * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'bbuio_buf_pool'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + sec-mem-desc-line = '138'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct_bbu_xran_io_if_struct_1aeb7832eb5f4721f4a281feaacd1bb466'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +BbuIoBufCtrlStruct +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'sFrontHaulTxBbuIoBufCtrl'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + sec-mem-desc-line = '141'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct_bbu_xran_io_if_struct_1a964fb75fa6395056fade4167354019f5'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +BbuIoBufCtrlStruct +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'sFrontHaulTxPrbMapBbuIoBufCtrl'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + sec-mem-desc-line = '142'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct_bbu_xran_io_if_struct_1af3ad0b6136919aabcdbac46b754aa7ed'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +BbuIoBufCtrlStruct +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'sFrontHaulRxBbuIoBufCtrl'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + sec-mem-desc-line = '143'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct_bbu_xran_io_if_struct_1a3bfdc9ec9f4c738715460ddd03f0833f'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +BbuIoBufCtrlStruct +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'sFrontHaulRxPrbMapBbuIoBufCtrl'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + sec-mem-desc-line = '144'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct_bbu_xran_io_if_struct_1a4bcca72021c589be2adf3647647a1232'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +BbuIoBufCtrlStruct +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'sFHPrachRxBbuIoBufCtrl'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + sec-mem-desc-line = '145'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct_bbu_xran_io_if_struct_1a8d643c55cfe976d88d44beefc0af0dff'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +BbuIoBufCtrlStruct +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'sFHSrsRxBbuIoBufCtrl'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + sec-mem-desc-line = '148'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct_bbu_xran_io_if_struct_1a9ef97a8be35f99eec4b85d06a3216762'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_flat_buffer +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'sFrontHaulTxBuffers'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + sec-mem-desc-line = '148'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct_bbu_xran_io_if_struct_1a511190592ad97b9f7a43ad31c761ff56'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_flat_buffer +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'sFrontHaulTxPrbMapBuffers'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + sec-mem-desc-line = '148'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct_bbu_xran_io_if_struct_1a1dfd09a710fa1cf63f61883a284a5f0f'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_flat_buffer +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'sFrontHaulRxBuffers'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + sec-mem-desc-line = '148'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct_bbu_xran_io_if_struct_1a416ab9567cd2c1bed5a500644fce9a04'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_flat_buffer +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'sFrontHaulRxPrbMapBuffers'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + sec-mem-desc-line = '148'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct_bbu_xran_io_if_struct_1a7976d6beded6455154f323e1e542f085'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_flat_buffer +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'sFHPrachRxBuffers'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + sec-mem-desc-line = '148'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct_bbu_xran_io_if_struct_1a8d0c3597635cdeb50f50f5c43d36e875'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_flat_buffer +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'sFHSrsRxBuffers'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + sec-mem-desc-line = '148'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct_bbu_xran_io_if_struct_1a492c471226877c87f771b9f4fe13a6ab'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'nInstanceHandle'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + sec-mem-desc-line = '160'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct_bbu_xran_io_if_struct_1a52c040c5ef8cdccb720b42ea0c5632a6'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'nBufPoolIndex'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + sec-mem-desc-line = '161'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct_bbu_xran_io_if_struct_1a0d19e9e74d94b9c2fb5734392bd7a590'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'nInstanceNum'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + sec-mem-desc-line = '162'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct_bbu_xran_io_if_struct_1a469fc57d9ae37025ca91e2ce34aea812'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint64_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'nTscTiming'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + sec-mem-desc-line = '164'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + cp-fileline = '132'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 22; + node-label = 'BbuIoBufCtrlStruct'; + node-link = { + node-link-id = 'struct_bbu_io_buf_ctrl_struct'; + }; + node-child = { + child-id = '23'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++sBufferList +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + node = { + node-id = 24; + node-label = 'xran_flat_buffer'; + node-link = { + node-link-id = 'structxran__flat__buffer'; + }; + }; /* node */ + node = { + node-id = 21; + node-label = 'BbuXranIoIfStruct'; + node-link = { + node-link-id = 'struct_bbu_xran_io_if_struct'; + }; + node-child = { + child-id = '22'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++sFrontHaulTxBbuIoBufCtrl ++sFHPrachRxBbuIoBufCtrl ++sFHSrsRxBbuIoBufCtrl ++sFrontHaulRxBbuIoBufCtrl ++sFrontHaulTxPrbMapBbuIoBufCtrl ++sFrontHaulRxPrbMapBbuIoBufCtrl +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '24'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++sFHPrachRxBuffers ++sFrontHaulTxPrbMapBuffers ++sFrontHaulRxPrbMapBuffers ++sFHSrsRxBuffers ++sFrontHaulTxBuffers ++sFrontHaulRxBuffers +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + node = { + node-id = 23; + node-label = 'xran_buffer_list'; + node-link = { + node-link-id = 'structxran__buffer__list'; + }; + node-child = { + child-id = '24'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++pBuffers +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'struct_benchmark_parameters'; + cp-name = 'BenchmarkParameters'; + cp-section = { + sec-kind = 'public-static-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct_benchmark_parameters_1a7f1e5652bb40ab5c264473c82ac23beb'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static long +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'repetition'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += 40 +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '66'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'common_8cpp_1a8265b710246f9019ff14556adf5eb35a'; + sec-mem-ref-line = '60'; + sec-mem-ref-name = 'calculate_statistics'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'common_8hpp_1af69d779517f2bdee3aba95bc38022074'; + sec-mem-ref-line = '425'; + sec-mem-ref-name = 'run_benchmark'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xranlib__unit__test__main_8cc_1a3c04138a5bfe5d72780bb7e82a18e627'; + sec-mem-ref-line = '46'; + sec-mem-ref-name = 'main'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct_benchmark_parameters_1aac742be3d619ef9ed50afc0c063c6727'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static long +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'loop'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += 30 +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '67'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'common_8cpp_1a8265b710246f9019ff14556adf5eb35a'; + sec-mem-ref-line = '60'; + sec-mem-ref-name = 'calculate_statistics'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'common_8hpp_1af69d779517f2bdee3aba95bc38022074'; + sec-mem-ref-line = '425'; + sec-mem-ref-name = 'run_benchmark'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct_benchmark_parameters_1a12661f1773e3ba71d5b29d7ffa042b1a'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static unsigned +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'cpu_id'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += CPU_ID +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '68'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'common_8hpp_1a3cf2e25a99be565a4ab570737cfeac41'; + sec-mem-ref-line = '253'; + sec-mem-ref-name = 'KernelTests::performance'; + }; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + cp-fileline = '65'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 26; + node-label = 'BenchmarkParameters'; + node-link = { + node-link-id = 'struct_benchmark_parameters'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +class = { + cp-id = 'class_bfp_check'; + cp-name = 'BfpCheck'; + cp-ref = { + ref-type = base; + ref-id = 'class_kernel_tests'; + ref-prot = public; + ref-virt = non-virtual; + }; + cp-section = { + sec-kind = 'public-static-func'; + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1aad8181b222f27240e9f07dcb6e620fa3'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'SetUpTestCase'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '162'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8cpp_1ad8c062e9b24e4b3a8408b23a0d8ab428'; + sec-mem-ref-line = '106'; + sec-mem-ref-name = 'read_json_from_file'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8hpp_1a70518905d36686ddeeb2eb3b2682f016'; + sec-mem-ref-line = '73'; + sec-mem-ref-name = 'missing_config_file_exception::what'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8cpp_1a56c41cbb9de4bce25da45ecd74b46a81'; + sec-mem-ref-line = '119'; + sec-mem-ref-name = 'tsc_recovery'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1aaff0dc66f57f643a49ad3dd6bcb56916'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'TearDownTestCase'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '185'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1a6157ff083be863bba0a7804cd1788d96'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static unsigned +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'get_number_of_cases'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'type'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '190'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8cpp_1ad8c062e9b24e4b3a8408b23a0d8ab428'; + sec-mem-ref-line = '106'; + sec-mem-ref-name = 'read_json_from_file'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'json_8hpp_1a0801762a3fe36fe32dca5f16e515478d'; + sec-mem-ref-line = '5040'; + sec-mem-ref-name = 'basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::size'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8hpp_1a70518905d36686ddeeb2eb3b2682f016'; + sec-mem-ref-line = '73'; + sec-mem-ref-name = 'missing_config_file_exception::what'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1ab0ad0e23f1b51f15bd9594a24a2c438f'; + sec-mem-ref-line = '778'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + }; /* cp-section */ + cp-section = { + sec-kind = 'public-static-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_kernel_tests_1abd42f3e51ae547ec1631e9ac60df29d6'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static json +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'conf'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '159'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_kernel_tests_1a4e9607ae94d1958d38388cead2e4e3bf'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static std::string +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'test_type'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '160'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-section = { + sec-kind = 'protected-func'; + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_bfp_check_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'SetUp'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/compander_functional.cc'; + sec-mem-desc-line = '81'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_bfp_check_1ac4fca95dc3b93372ce7f2078baf8e8b6'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'TearDown'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/compander_functional.cc'; + sec-mem-desc-line = '86'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1ad49152dbf530aeb2a2844895e6d47a3e'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'set_division_factor'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const double +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'factor'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '222'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Set division factor. +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\param [in] factor Division factor that divides mean and standard deviation. +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1a1bf2180658ad6d459231c631237f9311'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'set_results_units'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'units'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '231'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Set reults units. +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\param [in] units Units that are displayed in the report. +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1a5666c82d220a2c66784b9a238cc43c7e'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'set_parallelization_factor'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const int +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'factor'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '240'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Set size of processed data. +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\param [in] size Size of processed data used to calculate module throughput. +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1a3cf2e25a99be565a4ab570737cfeac41'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'performance'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'isa'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'module_name'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +F +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'function'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +Args ... +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'args'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '253'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Run performance test case for a given function. +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\param [in] isa Used Instruction Set. +\param [in] module_name name of the tested kernel. +\param [in] function function to be tested. +\param [in] args function's arguments. +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8cpp_1ae39390f41ba978a1f0d79691436c074a'; + sec-mem-ref-line = '47'; + sec-mem-ref-name = 'bind_to_cpu'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8hpp_1a12661f1773e3ba71d5b29d7ffa042b1a'; + sec-mem-ref-line = '68'; + sec-mem-ref-name = 'BenchmarkParameters::cpu_id'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8hpp_1af69d779517f2bdee3aba95bc38022074'; + sec-mem-ref-line = '425'; + sec-mem-ref-name = 'run_benchmark'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a21d05f2c6607fc534e67ed32883de81f'; + sec-mem-ref-line = '766'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1af9e5657bce588536aef7baf8c33a0108'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'print_test_description'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'isa'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'module_name'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '271'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Print unique test description to the results xml file. +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\param [in] isa Used Instruction Set. +\param [in] module_name name of the tested kernel. +\param [in] function function to be tested. +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1a5a1ec6ee393f8538815bc0a82eac2e88'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +const std::string +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'get_case_name'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '338'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Get name of the test case from JSON file. +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\return Test'ss case name or a default name if name field is missing. +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1abf28e5ea54fab2b0685972fe6e75560a'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'init_test'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'type'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '358'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Defines section in the conf.json that is used to load parameters from. +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\param [in] type Name of the section in the JSON file. +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'json_8hpp_1a0801762a3fe36fe32dca5f16e515478d'; + sec-mem-ref-line = '5040'; + sec-mem-ref-name = 'basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::size'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8cpp_1a876ed07783b27d38779f7cef4db673e6'; + sec-mem-ref-line = '86'; + sec-mem-ref-name = 'read_data_to_aligned_array'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a69b4bff6061152ff85770d725cced3cc'; + sec-mem-ref-line = '32'; + sec-mem-ref-name = 'module_name'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '112'; + sec-mem-ref-name = 'C_plane::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'chain__tests_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '135'; + sec-mem-ref-name = 'TestChain::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '92'; + sec-mem-ref-name = 'PrachCheck::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__performance_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '91'; + sec-mem-ref-name = 'PrachPerf::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'u__plane__functional_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '37'; + sec-mem-ref-name = 'U_planeCheck::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'u__plane__performance_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '41'; + sec-mem-ref-name = 'U_planePerf::SetUp'; + }; + }; /* sec-member */ + }; /* cp-section */ + cp-section = { + sec-kind = 'protected-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_kernel_tests_1a929401f577bc540c1f8b7ec8c3b974fd'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +double +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'division_factor'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += 1.0 +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '214'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_kernel_tests_1a0f6b306c821273c76461f8799c5d4d4c'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +std::string +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'result_units'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += "None" +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '215'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_kernel_tests_1a88ea1f1de6b4d7d01ddc5fced408c813'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'parallelization_factor'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += 1 +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '216'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/compander_functional.cc'; + cp-fileline = '79'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-inheritancegraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 29; + node-label = 'TestWithParam< unsigned >'; + }; /* node */ + node = { + node-id = 28; + node-label = 'KernelTests'; + node-link = { + node-link-id = 'class_kernel_tests'; + }; + node-child = { + child-id = '29'; + relation = public-inheritance; + }; /* node-child */ + }; /* node */ + node = { + node-id = 27; + node-label = 'BfpCheck'; + node-link = { + node-link-id = 'class_bfp_check'; + }; + node-child = { + child-id = '28'; + relation = public-inheritance; + }; /* node-child */ + }; /* node */ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 32; + node-label = 'TestWithParam< unsigned >'; + }; /* node */ + node = { + node-id = 31; + node-label = 'KernelTests'; + node-link = { + node-link-id = 'class_kernel_tests'; + }; + node-child = { + child-id = '32'; + relation = public-inheritance; + }; /* node-child */ + node-child = { + child-id = '33'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++conf +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + node = { + node-id = 33; + node-label = 'basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >'; + node-link = { + node-link-id = 'classnlohmann_1_1basic__json'; + }; + }; /* node */ + node = { + node-id = 30; + node-label = 'BfpCheck'; + node-link = { + node-link-id = 'class_bfp_check'; + }; + node-child = { + child-id = '31'; + relation = public-inheritance; + }; /* node-child */ + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* class */ +class = { + cp-id = 'class_bfp_perf'; + cp-name = 'BfpPerf'; + cp-ref = { + ref-type = base; + ref-id = 'class_kernel_tests'; + ref-prot = public; + ref-virt = non-virtual; + }; + cp-section = { + sec-kind = 'public-static-func'; + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1aad8181b222f27240e9f07dcb6e620fa3'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'SetUpTestCase'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '162'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8cpp_1ad8c062e9b24e4b3a8408b23a0d8ab428'; + sec-mem-ref-line = '106'; + sec-mem-ref-name = 'read_json_from_file'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8hpp_1a70518905d36686ddeeb2eb3b2682f016'; + sec-mem-ref-line = '73'; + sec-mem-ref-name = 'missing_config_file_exception::what'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8cpp_1a56c41cbb9de4bce25da45ecd74b46a81'; + sec-mem-ref-line = '119'; + sec-mem-ref-name = 'tsc_recovery'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1aaff0dc66f57f643a49ad3dd6bcb56916'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'TearDownTestCase'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '185'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1a6157ff083be863bba0a7804cd1788d96'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static unsigned +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'get_number_of_cases'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'type'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '190'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8cpp_1ad8c062e9b24e4b3a8408b23a0d8ab428'; + sec-mem-ref-line = '106'; + sec-mem-ref-name = 'read_json_from_file'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'json_8hpp_1a0801762a3fe36fe32dca5f16e515478d'; + sec-mem-ref-line = '5040'; + sec-mem-ref-name = 'basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::size'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8hpp_1a70518905d36686ddeeb2eb3b2682f016'; + sec-mem-ref-line = '73'; + sec-mem-ref-name = 'missing_config_file_exception::what'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1ab0ad0e23f1b51f15bd9594a24a2c438f'; + sec-mem-ref-line = '778'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + }; /* cp-section */ + cp-section = { + sec-kind = 'public-static-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_kernel_tests_1abd42f3e51ae547ec1631e9ac60df29d6'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static json +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'conf'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '159'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_kernel_tests_1a4e9607ae94d1958d38388cead2e4e3bf'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static std::string +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'test_type'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '160'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-section = { + sec-kind = 'protected-func'; + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_bfp_perf_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'SetUp'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/compander_functional.cc'; + sec-mem-desc-line = '93'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_bfp_perf_1ac4fca95dc3b93372ce7f2078baf8e8b6'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'TearDown'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/compander_functional.cc'; + sec-mem-desc-line = '98'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1ad49152dbf530aeb2a2844895e6d47a3e'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'set_division_factor'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const double +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'factor'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '222'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Set division factor. +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\param [in] factor Division factor that divides mean and standard deviation. +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1a1bf2180658ad6d459231c631237f9311'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'set_results_units'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'units'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '231'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Set reults units. +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\param [in] units Units that are displayed in the report. +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1a5666c82d220a2c66784b9a238cc43c7e'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'set_parallelization_factor'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const int +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'factor'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '240'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Set size of processed data. +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\param [in] size Size of processed data used to calculate module throughput. +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1a3cf2e25a99be565a4ab570737cfeac41'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'performance'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'isa'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'module_name'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +F +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'function'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +Args ... +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'args'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '253'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Run performance test case for a given function. +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\param [in] isa Used Instruction Set. +\param [in] module_name name of the tested kernel. +\param [in] function function to be tested. +\param [in] args function's arguments. +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8cpp_1ae39390f41ba978a1f0d79691436c074a'; + sec-mem-ref-line = '47'; + sec-mem-ref-name = 'bind_to_cpu'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8hpp_1a12661f1773e3ba71d5b29d7ffa042b1a'; + sec-mem-ref-line = '68'; + sec-mem-ref-name = 'BenchmarkParameters::cpu_id'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8hpp_1af69d779517f2bdee3aba95bc38022074'; + sec-mem-ref-line = '425'; + sec-mem-ref-name = 'run_benchmark'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a21d05f2c6607fc534e67ed32883de81f'; + sec-mem-ref-line = '766'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1af9e5657bce588536aef7baf8c33a0108'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'print_test_description'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'isa'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'module_name'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '271'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Print unique test description to the results xml file. +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\param [in] isa Used Instruction Set. +\param [in] module_name name of the tested kernel. +\param [in] function function to be tested. +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1a5a1ec6ee393f8538815bc0a82eac2e88'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +const std::string +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'get_case_name'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '338'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Get name of the test case from JSON file. +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\return Test'ss case name or a default name if name field is missing. +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1abf28e5ea54fab2b0685972fe6e75560a'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'init_test'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'type'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '358'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Defines section in the conf.json that is used to load parameters from. +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\param [in] type Name of the section in the JSON file. +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'json_8hpp_1a0801762a3fe36fe32dca5f16e515478d'; + sec-mem-ref-line = '5040'; + sec-mem-ref-name = 'basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::size'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8cpp_1a876ed07783b27d38779f7cef4db673e6'; + sec-mem-ref-line = '86'; + sec-mem-ref-name = 'read_data_to_aligned_array'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a69b4bff6061152ff85770d725cced3cc'; + sec-mem-ref-line = '32'; + sec-mem-ref-name = 'module_name'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '112'; + sec-mem-ref-name = 'C_plane::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'chain__tests_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '135'; + sec-mem-ref-name = 'TestChain::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '92'; + sec-mem-ref-name = 'PrachCheck::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__performance_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '91'; + sec-mem-ref-name = 'PrachPerf::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'u__plane__functional_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '37'; + sec-mem-ref-name = 'U_planeCheck::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'u__plane__performance_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '41'; + sec-mem-ref-name = 'U_planePerf::SetUp'; + }; + }; /* sec-member */ + }; /* cp-section */ + cp-section = { + sec-kind = 'protected-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_kernel_tests_1a929401f577bc540c1f8b7ec8c3b974fd'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +double +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'division_factor'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += 1.0 +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '214'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_kernel_tests_1a0f6b306c821273c76461f8799c5d4d4c'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +std::string +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'result_units'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += "None" +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '215'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_kernel_tests_1a88ea1f1de6b4d7d01ddc5fced408c813'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'parallelization_factor'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += 1 +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '216'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/compander_functional.cc'; + cp-fileline = '91'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-inheritancegraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 36; + node-label = 'TestWithParam< unsigned >'; + }; /* node */ + node = { + node-id = 35; + node-label = 'KernelTests'; + node-link = { + node-link-id = 'class_kernel_tests'; + }; + node-child = { + child-id = '36'; + relation = public-inheritance; + }; /* node-child */ + }; /* node */ + node = { + node-id = 34; + node-label = 'BfpPerf'; + node-link = { + node-link-id = 'class_bfp_perf'; + }; + node-child = { + child-id = '35'; + relation = public-inheritance; + }; /* node-child */ + }; /* node */ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 39; + node-label = 'TestWithParam< unsigned >'; + }; /* node */ + node = { + node-id = 38; + node-label = 'KernelTests'; + node-link = { + node-link-id = 'class_kernel_tests'; + }; + node-child = { + child-id = '39'; + relation = public-inheritance; + }; /* node-child */ + node-child = { + child-id = '40'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++conf +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + node = { + node-id = 40; + node-label = 'basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >'; + node-link = { + node-link-id = 'classnlohmann_1_1basic__json'; + }; + }; /* node */ + node = { + node-id = 37; + node-label = 'BfpPerf'; + node-link = { + node-link-id = 'class_bfp_perf'; + }; + node-child = { + child-id = '38'; + relation = public-inheritance; + }; /* node-child */ + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* class */ +class = { + cp-id = 'class_bfp_perf_ex'; + cp-name = 'BfpPerfEx'; + cp-ref = { + ref-type = base; + ref-id = 'class_kernel_tests'; + ref-prot = public; + ref-virt = non-virtual; + }; + cp-section = { + sec-kind = 'public-static-func'; + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1aad8181b222f27240e9f07dcb6e620fa3'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'SetUpTestCase'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '162'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8cpp_1ad8c062e9b24e4b3a8408b23a0d8ab428'; + sec-mem-ref-line = '106'; + sec-mem-ref-name = 'read_json_from_file'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8hpp_1a70518905d36686ddeeb2eb3b2682f016'; + sec-mem-ref-line = '73'; + sec-mem-ref-name = 'missing_config_file_exception::what'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8cpp_1a56c41cbb9de4bce25da45ecd74b46a81'; + sec-mem-ref-line = '119'; + sec-mem-ref-name = 'tsc_recovery'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1aaff0dc66f57f643a49ad3dd6bcb56916'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'TearDownTestCase'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '185'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1a6157ff083be863bba0a7804cd1788d96'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static unsigned +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'get_number_of_cases'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'type'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '190'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8cpp_1ad8c062e9b24e4b3a8408b23a0d8ab428'; + sec-mem-ref-line = '106'; + sec-mem-ref-name = 'read_json_from_file'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'json_8hpp_1a0801762a3fe36fe32dca5f16e515478d'; + sec-mem-ref-line = '5040'; + sec-mem-ref-name = 'basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::size'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8hpp_1a70518905d36686ddeeb2eb3b2682f016'; + sec-mem-ref-line = '73'; + sec-mem-ref-name = 'missing_config_file_exception::what'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1ab0ad0e23f1b51f15bd9594a24a2c438f'; + sec-mem-ref-line = '778'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + }; /* cp-section */ + cp-section = { + sec-kind = 'public-static-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_kernel_tests_1abd42f3e51ae547ec1631e9ac60df29d6'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static json +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'conf'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '159'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_kernel_tests_1a4e9607ae94d1958d38388cead2e4e3bf'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static std::string +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'test_type'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '160'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-section = { + sec-kind = 'protected-func'; + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_bfp_perf_ex_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'SetUp'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/compander_functional.cc'; + sec-mem-desc-line = '113'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1afc082593977ad91f3dcdd2175cb74615a91815a9c09cf9e8bc646b51efef13c28'; + sec-mem-ref-line = '205'; + sec-mem-ref-name = 'XRAN_COMPMETHOD_BLKFLOAT'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'gen__test_8m_1a887ee7a54247d19e5e93955a7b9663ae'; + sec-mem-ref-line = '96'; + sec-mem-ref-name = 'numRBs'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__compression_8hpp_1a24d9d1d1b013179affb41be0424b8360'; + sec-mem-ref-line = '73'; + sec-mem-ref-name = 'ExpandedData::dataExpanded'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'compander__functional_8cc_1ae7803337d9e14f3be742bb64592b4436'; + sec-mem-ref-line = '101'; + sec-mem-ref-name = 'loc_dataExpandedIn'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'compander__functional_8cc_1a16766ae2dce2fc482597a6861ce33723'; + sec-mem-ref-line = '102'; + sec-mem-ref-name = 'loc_dataExpandedRes'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__compression_8hpp_1ab2fd68d067a2e45c839584d0985a7953'; + sec-mem-ref-line = '64'; + sec-mem-ref-name = 'CompressedData::dataCompressed'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'compander__functional_8cc_1a30484453f2665005b64f9c3304c66219'; + sec-mem-ref-line = '103'; + sec-mem-ref-name = 'loc_dataCompressedDataOut'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__compression_8h_1a06bde7ceb81ae7d8d8a101d7cfe4bb25'; + sec-mem-ref-line = '38'; + sec-mem-ref-name = 'xranlib_compress_request::data_in'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__compression_8h_1a8ab4fa409402862ead0d17e13edeeb62'; + sec-mem-ref-line = '39'; + sec-mem-ref-name = 'xranlib_compress_request::numRBs'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__compression_8h_1a6858c4011b5cad020222e9ca5c2786f5'; + sec-mem-ref-line = '42'; + sec-mem-ref-name = 'xranlib_compress_request::len'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__compression_8h_1ad73157f14fa98c54fb563244c1327933'; + sec-mem-ref-line = '40'; + sec-mem-ref-name = 'xranlib_compress_request::compMethod'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__compression_8h_1a36f5a0cedd274c3ec55f81535f06e0de'; + sec-mem-ref-line = '41'; + sec-mem-ref-name = 'xranlib_compress_request::iqWidth'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__compression_8h_1aa84b1c03297680b54ecd081d2a69d791'; + sec-mem-ref-line = '50'; + sec-mem-ref-name = 'xranlib_compress_response::data_out'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__compression_8h_1a6858c4011b5cad020222e9ca5c2786f5'; + sec-mem-ref-line = '52'; + sec-mem-ref-name = 'xranlib_compress_response::len'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__compression_8h_1ab7543a52686c726e2f5575a0f53f883f'; + sec-mem-ref-line = '60'; + sec-mem-ref-name = 'xranlib_decompress_request::data_in'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__compression_8h_1a8ab4fa409402862ead0d17e13edeeb62'; + sec-mem-ref-line = '61'; + sec-mem-ref-name = 'xranlib_decompress_request::numRBs'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__compression_8h_1a6858c4011b5cad020222e9ca5c2786f5'; + sec-mem-ref-line = '65'; + sec-mem-ref-name = 'xranlib_decompress_request::len'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__compression_8h_1ad73157f14fa98c54fb563244c1327933'; + sec-mem-ref-line = '62'; + sec-mem-ref-name = 'xranlib_decompress_request::compMethod'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__compression_8h_1a36f5a0cedd274c3ec55f81535f06e0de'; + sec-mem-ref-line = '63'; + sec-mem-ref-name = 'xranlib_decompress_request::iqWidth'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__compression_8h_1a7eac55fa44711c57d8d15dd09e4db135'; + sec-mem-ref-line = '73'; + sec-mem-ref-name = 'xranlib_decompress_response::data_out'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__compression_8h_1a6858c4011b5cad020222e9ca5c2786f5'; + sec-mem-ref-line = '75'; + sec-mem-ref-name = 'xranlib_decompress_response::len'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_bfp_perf_ex_1ac4fca95dc3b93372ce7f2078baf8e8b6'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'TearDown'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/compander_functional.cc'; + sec-mem-desc-line = '171'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1ad49152dbf530aeb2a2844895e6d47a3e'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'set_division_factor'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const double +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'factor'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '222'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Set division factor. +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\param [in] factor Division factor that divides mean and standard deviation. +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1a1bf2180658ad6d459231c631237f9311'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'set_results_units'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'units'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '231'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Set reults units. +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\param [in] units Units that are displayed in the report. +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1a5666c82d220a2c66784b9a238cc43c7e'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'set_parallelization_factor'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const int +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'factor'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '240'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Set size of processed data. +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\param [in] size Size of processed data used to calculate module throughput. +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1a3cf2e25a99be565a4ab570737cfeac41'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'performance'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'isa'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'module_name'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +F +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'function'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +Args ... +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'args'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '253'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Run performance test case for a given function. +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\param [in] isa Used Instruction Set. +\param [in] module_name name of the tested kernel. +\param [in] function function to be tested. +\param [in] args function's arguments. +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8cpp_1ae39390f41ba978a1f0d79691436c074a'; + sec-mem-ref-line = '47'; + sec-mem-ref-name = 'bind_to_cpu'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8hpp_1a12661f1773e3ba71d5b29d7ffa042b1a'; + sec-mem-ref-line = '68'; + sec-mem-ref-name = 'BenchmarkParameters::cpu_id'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8hpp_1af69d779517f2bdee3aba95bc38022074'; + sec-mem-ref-line = '425'; + sec-mem-ref-name = 'run_benchmark'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a21d05f2c6607fc534e67ed32883de81f'; + sec-mem-ref-line = '766'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1af9e5657bce588536aef7baf8c33a0108'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'print_test_description'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'isa'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'module_name'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '271'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Print unique test description to the results xml file. +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\param [in] isa Used Instruction Set. +\param [in] module_name name of the tested kernel. +\param [in] function function to be tested. +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1a5a1ec6ee393f8538815bc0a82eac2e88'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +const std::string +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'get_case_name'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '338'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Get name of the test case from JSON file. +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\return Test'ss case name or a default name if name field is missing. +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1abf28e5ea54fab2b0685972fe6e75560a'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'init_test'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'type'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '358'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Defines section in the conf.json that is used to load parameters from. +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\param [in] type Name of the section in the JSON file. +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'json_8hpp_1a0801762a3fe36fe32dca5f16e515478d'; + sec-mem-ref-line = '5040'; + sec-mem-ref-name = 'basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::size'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8cpp_1a876ed07783b27d38779f7cef4db673e6'; + sec-mem-ref-line = '86'; + sec-mem-ref-name = 'read_data_to_aligned_array'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a69b4bff6061152ff85770d725cced3cc'; + sec-mem-ref-line = '32'; + sec-mem-ref-name = 'module_name'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '112'; + sec-mem-ref-name = 'C_plane::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'chain__tests_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '135'; + sec-mem-ref-name = 'TestChain::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '92'; + sec-mem-ref-name = 'PrachCheck::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__performance_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '91'; + sec-mem-ref-name = 'PrachPerf::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'u__plane__functional_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '37'; + sec-mem-ref-name = 'U_planeCheck::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'u__plane__performance_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '41'; + sec-mem-ref-name = 'U_planePerf::SetUp'; + }; + }; /* sec-member */ + }; /* cp-section */ + cp-section = { + sec-kind = 'protected-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_bfp_perf_ex_1a2e0cd66e2cbaebc0d72fdabe6a09f47f'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xranlib_decompress_request +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'bfp_decom_req'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/compander_functional.cc'; + sec-mem-desc-line = '98'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_bfp_perf_ex_1a0e0d8e6d1740b7622d9f1f2f8f0f320f'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xranlib_decompress_response +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'bfp_decom_rsp'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/compander_functional.cc'; + sec-mem-desc-line = '98'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_bfp_perf_ex_1a4b9492db80de53fd043f5ccb74176ae3'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xranlib_compress_request +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'bfp_com_req'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/compander_functional.cc'; + sec-mem-desc-line = '98'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_bfp_perf_ex_1ade6c6a1bda416568c7b7238eb7eaa9af'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xranlib_compress_response +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'bfp_com_rsp'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/compander_functional.cc'; + sec-mem-desc-line = '98'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_kernel_tests_1a929401f577bc540c1f8b7ec8c3b974fd'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +double +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'division_factor'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += 1.0 +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '214'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_kernel_tests_1a0f6b306c821273c76461f8799c5d4d4c'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +std::string +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'result_units'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += "None" +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '215'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_kernel_tests_1a88ea1f1de6b4d7d01ddc5fced408c813'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'parallelization_factor'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += 1 +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '216'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/compander_functional.cc'; + cp-fileline = '106'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-inheritancegraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 43; + node-label = 'TestWithParam< unsigned >'; + }; /* node */ + node = { + node-id = 42; + node-label = 'KernelTests'; + node-link = { + node-link-id = 'class_kernel_tests'; + }; + node-child = { + child-id = '43'; + relation = public-inheritance; + }; /* node-child */ + }; /* node */ + node = { + node-id = 41; + node-label = 'BfpPerfEx'; + node-link = { + node-link-id = 'class_bfp_perf_ex'; + }; + node-child = { + child-id = '42'; + relation = public-inheritance; + }; /* node-child */ + }; /* node */ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 46; + node-label = 'TestWithParam< unsigned >'; + }; /* node */ + node = { + node-id = 49; + node-label = 'xranlib_decompress_response'; + node-link = { + node-link-id = 'structxranlib__decompress__response'; + }; + }; /* node */ + node = { + node-id = 45; + node-label = 'KernelTests'; + node-link = { + node-link-id = 'class_kernel_tests'; + }; + node-child = { + child-id = '46'; + relation = public-inheritance; + }; /* node-child */ + node-child = { + child-id = '47'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++conf +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + node = { + node-id = 48; + node-label = 'xranlib_compress_request'; + node-link = { + node-link-id = 'structxranlib__compress__request'; + }; + }; /* node */ + node = { + node-id = 47; + node-label = 'basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >'; + node-link = { + node-link-id = 'classnlohmann_1_1basic__json'; + }; + }; /* node */ + node = { + node-id = 51; + node-label = 'xranlib_compress_response'; + node-link = { + node-link-id = 'structxranlib__compress__response'; + }; + }; /* node */ + node = { + node-id = 50; + node-label = 'xranlib_decompress_request'; + node-link = { + node-link-id = 'structxranlib__decompress__request'; + }; + }; /* node */ + node = { + node-id = 44; + node-label = 'BfpPerfEx'; + node-link = { + node-link-id = 'class_bfp_perf_ex'; + }; + node-child = { + child-id = '45'; + relation = public-inheritance; + }; /* node-child */ + node-child = { + child-id = '48'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ +#bfp_com_req +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '49'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ +#bfp_decom_rsp +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '50'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ +#bfp_decom_req +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '51'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ +#bfp_com_rsp +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* class */ +struct = { + cp-id = 'structcompression__params_1_1block__fl__point'; + cp-name = 'compression_params::block_fl_point'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structcompression__params_1_1block__fl__point_1af05d5abe7656953548edfb3eb5117659'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'exponent'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_up.h'; + sec-mem-desc-line = '112'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structcompression__params_1_1block__fl__point_1acb7bc06bed6f6408d719334fc41698c7'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'reserved'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_up.h'; + sec-mem-desc-line = '113'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_up.h'; + cp-fileline = '111'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 53; + node-label = 'compression_params::block_fl_point'; + node-link = { + node-link-id = 'structcompression__params_1_1block__fl__point'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structcompression__params_1_1block__scaling'; + cp-name = 'compression_params::block_scaling'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structcompression__params_1_1block__scaling_1ab6bae75214b448e20540a986ed4bc760'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'sblockScaler'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_up.h'; + sec-mem-desc-line = '116'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_up.h'; + cp-fileline = '115'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 55; + node-label = 'compression_params::block_scaling'; + node-link = { + node-link-id = 'structcompression__params_1_1block__scaling'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structburst__hdr'; + cp-name = 'burst_hdr'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structburst__hdr_1a90db3068871720903d0ccbb5a0b2fb1a'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'pkt_idx'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethernet.h'; + sec-mem-desc-line = '106'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structburst__hdr_1addab391714c822ecc21f9b0551e2ae25'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'total_pkts'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethernet.h'; + sec-mem-desc-line = '107'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structburst__hdr_1a1bf90df9ae78437aca3a36cc15d8dea4'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'original_type'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethernet.h'; + sec-mem-desc-line = '108'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structburst__hdr_1a5cddf2dd16a831a2fecfa71bc0f34191'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'data'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethernet.h'; + sec-mem-desc-line = '109'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethernet.h'; + cp-fileline = '105'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 57; + node-label = 'burst_hdr'; + node-link = { + node-link-id = 'structburst__hdr'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +class = { + cp-id = 'class_c__plane'; + cp-name = 'C_plane'; + cp-ref = { + ref-type = base; + ref-id = 'class_kernel_tests'; + ref-prot = public; + ref-virt = non-virtual; + }; + cp-section = { + sec-kind = 'public-static-func'; + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1aad8181b222f27240e9f07dcb6e620fa3'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'SetUpTestCase'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '162'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8cpp_1ad8c062e9b24e4b3a8408b23a0d8ab428'; + sec-mem-ref-line = '106'; + sec-mem-ref-name = 'read_json_from_file'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8hpp_1a70518905d36686ddeeb2eb3b2682f016'; + sec-mem-ref-line = '73'; + sec-mem-ref-name = 'missing_config_file_exception::what'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8cpp_1a56c41cbb9de4bce25da45ecd74b46a81'; + sec-mem-ref-line = '119'; + sec-mem-ref-name = 'tsc_recovery'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1aaff0dc66f57f643a49ad3dd6bcb56916'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'TearDownTestCase'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '185'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1a6157ff083be863bba0a7804cd1788d96'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static unsigned +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'get_number_of_cases'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'type'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '190'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8cpp_1ad8c062e9b24e4b3a8408b23a0d8ab428'; + sec-mem-ref-line = '106'; + sec-mem-ref-name = 'read_json_from_file'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'json_8hpp_1a0801762a3fe36fe32dca5f16e515478d'; + sec-mem-ref-line = '5040'; + sec-mem-ref-name = 'basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::size'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8hpp_1a70518905d36686ddeeb2eb3b2682f016'; + sec-mem-ref-line = '73'; + sec-mem-ref-name = 'missing_config_file_exception::what'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1ab0ad0e23f1b51f15bd9594a24a2c438f'; + sec-mem-ref-line = '778'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + }; /* cp-section */ + cp-section = { + sec-kind = 'public-static-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_kernel_tests_1abd42f3e51ae547ec1631e9ac60df29d6'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static json +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'conf'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '159'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_kernel_tests_1a4e9607ae94d1958d38388cead2e4e3bf'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static std::string +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'test_type'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '160'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-section = { + sec-kind = 'protected-func'; + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_c__plane_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'SetUp'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/c_plane_tests.cc'; + sec-mem-desc-line = '112'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8hpp_1abf28e5ea54fab2b0685972fe6e75560a'; + sec-mem-ref-line = '358'; + sec-mem-ref-name = 'KernelTests::init_test'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__pkt_8h_1gga9c60a23fdae979ad1842b255790d1558a19f3d3cee814f10e4f3bf7d80194083f'; + sec-mem-ref-line = '149'; + sec-mem-ref-name = 'XRAN_DIR_DL'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__pkt_8h_1gga9c60a23fdae979ad1842b255790d1558a404255db3f05419798875bfb763e1c05'; + sec-mem-ref-line = '148'; + sec-mem-ref-name = 'XRAN_DIR_UL'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a78b09c2fc0f3b0d610248ab3ce1df5d7'; + sec-mem-ref-line = '71'; + sec-mem-ref-name = 'm_numSections'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1a6e8f1d76afde95b2d85b1fd99aaa1610a1f3289201658ac2a09203c4fb974b1e7'; + sec-mem-ref-line = '56'; + sec-mem-ref-name = 'XRAN_CP_SECTIONTYPE_1'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1ae51812e2dae7d8776b443f818f277d5ba02f77bf011c81bd0e18ebcb09b175181'; + sec-mem-ref-line = '66'; + sec-mem-ref-name = 'XRAN_FILTERINDEX_STANDARD'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1a6e8f1d76afde95b2d85b1fd99aaa1610a80bcc2d7d7aff5e850d26892e703c637'; + sec-mem-ref-line = '57'; + sec-mem-ref-name = 'XRAN_CP_SECTIONTYPE_3'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a16c92b16fc21a700c50a7faf19da41b9'; + sec-mem-ref-line = '75'; + sec-mem-ref-name = 'm_params'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1a5921f2439294279b8111fed577c5c37a'; + sec-mem-ref-line = '322'; + sec-mem-ref-name = 'xran_cp_gen_params::sections'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'c__plane__tests_8cc_1aa42dde0a7ce436df7e5b607d17d52668'; + sec-mem-ref-line = '77'; + sec-mem-ref-name = 'm_result'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'c__plane__tests_8cc_1ab2dac8fe532ba4f8fa612650aee824ef'; + sec-mem-ref-line = '100'; + sec-mem-ref-name = 'm_ext1_dst_len'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'ethdi_8c_1a77f0a4b49dc21be816aefa3066debfa7'; + sec-mem-ref-line = '77'; + sec-mem-ref-name = 'xran_ethdi_mbuf_alloc'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_c__plane_1ac4fca95dc3b93372ce7f2078baf8e8b6'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'TearDown'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/c_plane_tests.cc'; + sec-mem-desc-line = '195'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a59b4057d63386649d2facf030a08fa0e'; + sec-mem-ref-line = '87'; + sec-mem-ref-name = 'm_prbStart'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a81096035b0802bc24810c07ca13df7e9'; + sec-mem-ref-line = '87'; + sec-mem-ref-name = 'm_prbNum'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'c__plane__tests_8cc_1af3c62a5df704db9218047182f9576367'; + sec-mem-ref-line = '102'; + sec-mem-ref-name = 'm_p_bfw_iq_src'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'c__plane__tests_8cc_1aa03217953847a726043966a4691494f1'; + sec-mem-ref-line = '101'; + sec-mem-ref-name = 'm_p_ext1_dst'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a7fd4d380e2392bfe924c06a8101b6d85'; + sec-mem-ref-line = '320'; + sec-mem-ref-name = 'prepare_sections'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'c__plane__tests_8cc_1aecd2fcecaca860136bf56e6af5155e96'; + sec-mem-ref-line = '230'; + sec-mem-ref-name = 'prepare_extensions'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a2d5e33dd093724772a1447910bd34e15'; + sec-mem-ref-line = '394'; + sec-mem-ref-name = 'verify_sections'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_c__plane_1a7fd4d380e2392bfe924c06a8101b6d85'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'prepare_sections'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +bool +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'extflag'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/c_plane_tests.cc'; + sec-mem-desc-line = '222'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a16c92b16fc21a700c50a7faf19da41b9'; + sec-mem-ref-line = '75'; + sec-mem-ref-name = 'm_params'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1a92abda0bec7c1c978fe96f87aad18067'; + sec-mem-ref-line = '316'; + sec-mem-ref-name = 'xran_cp_gen_params::dir'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'c__plane__tests_8cc_1afa985909bf1a1a9cc7a7070c9a73016e'; + sec-mem-ref-line = '79'; + sec-mem-ref-name = 'm_dir'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1ae273caa235b1c6085de4ad13886f82c9'; + sec-mem-ref-line = '317'; + sec-mem-ref-name = 'xran_cp_gen_params::sectionType'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'c__plane__tests_8cc_1abc4c88e1904502c47099799767ea3991'; + sec-mem-ref-line = '81'; + sec-mem-ref-name = 'm_sectionType'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1a6c787affb1020c2b8058a3ddeff3fe52'; + sec-mem-ref-line = '320'; + sec-mem-ref-name = 'xran_cp_gen_params::hdr'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1ad5150de5e1c141cfe288f260afb00830'; + sec-mem-ref-line = '277'; + sec-mem-ref-name = 'xran_cp_header_params::filterIdx'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'c__plane__tests_8cc_1adfa9d2df36650f369b04652749c1134b'; + sec-mem-ref-line = '93'; + sec-mem-ref-name = 'm_filterIndex'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1a048f7f66787565b266517ddaa551d98e'; + sec-mem-ref-line = '278'; + sec-mem-ref-name = 'xran_cp_header_params::frameId'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a65389015c6ac952ac5108c2ae802fa52'; + sec-mem-ref-line = '85'; + sec-mem-ref-name = 'm_frameId'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1a45cd2998ed056e5139a76bf36053ed14'; + sec-mem-ref-line = '279'; + sec-mem-ref-name = 'xran_cp_header_params::subframeId'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'c__plane__tests_8cc_1afa13542efadbf6db6e8ddfa388a345c0'; + sec-mem-ref-line = '85'; + sec-mem-ref-name = 'm_subframeId'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1a0eb3f725109bb1afb9094b025af26678'; + sec-mem-ref-line = '280'; + sec-mem-ref-name = 'xran_cp_header_params::slotId'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a7f021a016314b5d3a9bb095c5c08048f'; + sec-mem-ref-line = '85'; + sec-mem-ref-name = 'm_slotId'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1ac54814779041bec5dcf8aec288d69b06'; + sec-mem-ref-line = '281'; + sec-mem-ref-name = 'xran_cp_header_params::startSymId'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'c__plane__tests_8cc_1aba23eca36e0c5cc06d74919fa5fe0dd6'; + sec-mem-ref-line = '86'; + sec-mem-ref-name = 'm_symStart'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1a1520b1ef6131bff6c14b88d849c266c5'; + sec-mem-ref-line = '286'; + sec-mem-ref-name = 'xran_cp_header_params::iqWidth'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1a87f4d003bb899541f97db308e63e886a'; + sec-mem-ref-line = '120'; + sec-mem-ref-name = 'XRAN_CONVERT_IQWIDTH'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a5b1a6d8e8257b3bb7e3a187c0cce4011'; + sec-mem-ref-line = '89'; + sec-mem-ref-name = 'm_iqWidth'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1a1e4a3c43fc7865c6520471fb9ba8501f'; + sec-mem-ref-line = '287'; + sec-mem-ref-name = 'xran_cp_header_params::compMeth'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a493740cacd8f8d3e235c4626e501d3e2'; + sec-mem-ref-line = '89'; + sec-mem-ref-name = 'm_compMethod'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1a6e8f1d76afde95b2d85b1fd99aaa1610a1f3289201658ac2a09203c4fb974b1e7'; + sec-mem-ref-line = '56'; + sec-mem-ref-name = 'XRAN_CP_SECTIONTYPE_1'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1a6e8f1d76afde95b2d85b1fd99aaa1610a80bcc2d7d7aff5e850d26892e703c637'; + sec-mem-ref-line = '57'; + sec-mem-ref-name = 'XRAN_CP_SECTIONTYPE_3'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1aa68c277a66312b4b90819cccc055bdb7'; + sec-mem-ref-line = '289'; + sec-mem-ref-name = 'xran_cp_header_params::timeOffset'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a509c970617e65a99c8120eef3d309bcb'; + sec-mem-ref-line = '94'; + sec-mem-ref-name = 'm_timeOffset'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1a59e7e8f3feb686850b0cb0ae065de85b'; + sec-mem-ref-line = '284'; + sec-mem-ref-name = 'xran_cp_header_params::fftSize'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a7a8bdb868f3812cf7270734d13159255'; + sec-mem-ref-line = '95'; + sec-mem-ref-name = 'm_fftSize'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1ae470e3869d1cbf07cd5f78ab6709b9e1'; + sec-mem-ref-line = '285'; + sec-mem-ref-name = 'xran_cp_header_params::scs'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'c__plane__tests_8cc_1ac106dad0f3171eb074e8e654b4ea2c4b'; + sec-mem-ref-line = '96'; + sec-mem-ref-name = 'm_scs'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1af57c31d64bbdb0d65fd36c9f38951328'; + sec-mem-ref-line = '290'; + sec-mem-ref-name = 'xran_cp_header_params::cpLength'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a0d7a93a1807e46144dedf9ab3cf87865'; + sec-mem-ref-line = '97'; + sec-mem-ref-name = 'm_cpLength'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a78b09c2fc0f3b0d610248ab3ce1df5d7'; + sec-mem-ref-line = '71'; + sec-mem-ref-name = 'm_numSections'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1a5921f2439294279b8111fed577c5c37a'; + sec-mem-ref-line = '322'; + sec-mem-ref-name = 'xran_cp_gen_params::sections'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1a6ccd48a36736101737e9b419d7a3cc85'; + sec-mem-ref-line = '296'; + sec-mem-ref-name = 'xran_section_gen_info::info'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1a1d127017fb298b889f4ba24752d08b8e'; + sec-mem-ref-line = '185'; + sec-mem-ref-name = 'xran_section_info::type'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1ac54814779041bec5dcf8aec288d69b06'; + sec-mem-ref-line = '188'; + sec-mem-ref-name = 'xran_section_info::startSymId'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1a1520b1ef6131bff6c14b88d849c266c5'; + sec-mem-ref-line = '197'; + sec-mem-ref-name = 'xran_section_info::iqWidth'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1a1e4a3c43fc7865c6520471fb9ba8501f'; + sec-mem-ref-line = '196'; + sec-mem-ref-name = 'xran_section_info::compMeth'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1a4fc3a0c58dfbd1e68224521185cb9384'; + sec-mem-ref-line = '191'; + sec-mem-ref-name = 'xran_section_info::id'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a9c4d35a4cce2560e384f2fe95c4c341f'; + sec-mem-ref-line = '92'; + sec-mem-ref-name = 'm_sectionId'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1affa3adbd50cd4af2018ba1fc0e8c3e31'; + sec-mem-ref-line = '195'; + sec-mem-ref-name = 'xran_section_info::rb'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1a1087eb8c21d4b4e104b12a056ff65553a020e57090e5b6e614d303c027543fd16'; + sec-mem-ref-line = '105'; + sec-mem-ref-name = 'XRAN_RBIND_EVERY'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1a52f6623d45fec4bf9c14898f7e53db34'; + sec-mem-ref-line = '190'; + sec-mem-ref-name = 'xran_section_info::symInc'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1a056d791208720148306b686856cd36b0a2968e08e8282588813b4ace40df05c8e'; + sec-mem-ref-line = '112'; + sec-mem-ref-name = 'XRAN_SYMBOLNUMBER_NOTINC'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1a6b13285aabf8f2f4598143b2670204c1'; + sec-mem-ref-line = '193'; + sec-mem-ref-name = 'xran_section_info::startPrbc'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a59b4057d63386649d2facf030a08fa0e'; + sec-mem-ref-line = '87'; + sec-mem-ref-name = 'm_prbStart'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1a2b72ddddeff4e4a8a5c191695ec41079'; + sec-mem-ref-line = '194'; + sec-mem-ref-name = 'xran_section_info::numPrbc'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a81096035b0802bc24810c07ca13df7e9'; + sec-mem-ref-line = '87'; + sec-mem-ref-name = 'm_prbNum'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1a664cb6ca464c69ef60a445fa4f4b3522'; + sec-mem-ref-line = '189'; + sec-mem-ref-name = 'xran_section_info::numSymbol'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a88a1f1ad78450f64aab4fa3f6499060a'; + sec-mem-ref-line = '86'; + sec-mem-ref-name = 'm_symNum'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1ab8acca18b930cde25e1cf85ae86c964c'; + sec-mem-ref-line = '192'; + sec-mem-ref-name = 'xran_section_info::reMask'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'c__plane__tests_8cc_1ab4be4cfb9be32a9a6c516f5cfbae0d6f'; + sec-mem-ref-line = '91'; + sec-mem-ref-name = 'm_reMask'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1ac7deef3ca4b0fc12769165dbf9374569'; + sec-mem-ref-line = '200'; + sec-mem-ref-name = 'xran_section_info::beamId'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a047b603d6d908d93ce5d58dcc2b63036'; + sec-mem-ref-line = '90'; + sec-mem-ref-name = 'm_beamId'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1a3af58496c14a1c91c015aa6ffe7dca49'; + sec-mem-ref-line = '199'; + sec-mem-ref-name = 'xran_section_info::freqOffset'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a383e7e8333c8f9d71ab872f93b2f6708'; + sec-mem-ref-line = '98'; + sec-mem-ref-name = 'm_freqOffset'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1afe3859cd334ad3f912622c58d5b2079e'; + sec-mem-ref-line = '198'; + sec-mem-ref-name = 'xran_section_info::ef'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'c__plane__tests_8cc_1aecd2fcecaca860136bf56e6af5155e96'; + sec-mem-ref-line = '230'; + sec-mem-ref-name = 'prepare_extensions'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1aa561d89cbc570e39183c64a5095a6053'; + sec-mem-ref-line = '298'; + sec-mem-ref-name = 'xran_section_gen_info::exDataSize'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1a52bddd404e766ddb6f2b9eabe15ea5b1'; + sec-mem-ref-line = '318'; + sec-mem-ref-name = 'xran_cp_gen_params::numSections'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1ac4fca95dc3b93372ce7f2078baf8e8b6'; + sec-mem-ref-line = '195'; + sec-mem-ref-name = 'TearDown'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a11a0b914a08e5375cae792dc6db08c7a'; + sec-mem-ref-line = '566'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_c__plane_1aecd2fcecaca860136bf56e6af5155e96'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'prepare_extensions'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'sect_num'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/c_plane_tests.cc'; + sec-mem-desc-line = '223'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a4464b811028d6456143fd9743b03edaa'; + sec-mem-ref-line = '104'; + sec-mem-ref-name = 'm_ext1'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1ab09d1df0b229edfd34c41706fcfa73e7'; + sec-mem-ref-line = '211'; + sec-mem-ref-name = 'xran_sectionext1_info::bfwNumber'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1a3de53935627d11e11003c38bd6dca548'; + sec-mem-ref-line = '212'; + sec-mem-ref-name = 'xran_sectionext1_info::bfwiqWidth'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1a489f0b868b86e577a5e515dc40987ba5'; + sec-mem-ref-line = '213'; + sec-mem-ref-name = 'xran_sectionext1_info::bfwCompMeth'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1a241943465db5d59b297c1401b4579687a69b09bde0a8a71540b00378a5eb917b9'; + sec-mem-ref-line = '162'; + sec-mem-ref-name = 'XRAN_BFWCOMPMETHOD_NONE'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1a535b83a8653a891f80fc204eb1d9cb8b'; + sec-mem-ref-line = '214'; + sec-mem-ref-name = 'xran_sectionext1_info::p_bfwIQ'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a710f294997b8d29aaa21b691735a724b'; + sec-mem-ref-line = '109'; + sec-mem-ref-name = 'm_bfwIQ'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1a241943465db5d59b297c1401b4579687ae57fd13dd77647afe0a45fd16d0d1d18'; + sec-mem-ref-line = '163'; + sec-mem-ref-name = 'XRAN_BFWCOMPMETHOD_BLKFLOAT'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1af05d5abe7656953548edfb3eb5117659'; + sec-mem-ref-line = '217'; + sec-mem-ref-name = 'xran_sectionext1_info::exponent'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1a241943465db5d59b297c1401b4579687aa875f8d378e4505ebf4e03554bccda4e'; + sec-mem-ref-line = '164'; + sec-mem-ref-name = 'XRAN_BFWCOMPMETHOD_BLKSCALE'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1ad32c6c9662025c7208ec099075b7ec27'; + sec-mem-ref-line = '218'; + sec-mem-ref-name = 'xran_sectionext1_info::blockScaler'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1a241943465db5d59b297c1401b4579687a08c6866bf6b30f45d8c78a1acb33f6ca'; + sec-mem-ref-line = '165'; + sec-mem-ref-name = 'XRAN_BFWCOMPMETHOD_ULAW'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1ac538592c50bd54df6d3c3dfb98fd1a96'; + sec-mem-ref-line = '219'; + sec-mem-ref-name = 'xran_sectionext1_info::compBitWidthShift'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1a241943465db5d59b297c1401b4579687a036896de4dea687b4d28bd819e535529'; + sec-mem-ref-line = '166'; + sec-mem-ref-name = 'XRAN_BFWCOMPMETHOD_BEAMSPACE'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1abeddf07371133e2a155418d2ad6e6606'; + sec-mem-ref-line = '220'; + sec-mem-ref-name = 'xran_sectionext1_info::activeBeamspaceCoeffMask'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'c__plane__tests_8cc_1ab59c73cb615f0b02e940c1ac1c64744e'; + sec-mem-ref-line = '105'; + sec-mem-ref-name = 'm_ext2'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1a2d14a28b7dc7cc4d18dae8c579a15d00'; + sec-mem-ref-line = '225'; + sec-mem-ref-name = 'xran_sectionext2_info::bfAzPtWidth'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1aed0ddbdef5f3287fe38c115bf0f6b361'; + sec-mem-ref-line = '226'; + sec-mem-ref-name = 'xran_sectionext2_info::bfAzPt'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'c__plane__tests_8cc_1ad7d97e82bb00f5271dc1955f06719e46'; + sec-mem-ref-line = '34'; + sec-mem-ref-name = 'm_bitmask'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1a0562069083918b7760597eaca4f0dceb'; + sec-mem-ref-line = '227'; + sec-mem-ref-name = 'xran_sectionext2_info::bfZePtWidth'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1a8d5cbe6476d0e8b325cd4e1bad03a6d3'; + sec-mem-ref-line = '228'; + sec-mem-ref-name = 'xran_sectionext2_info::bfZePt'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1af6d308ae11840b67c4e3234a78ca1591'; + sec-mem-ref-line = '229'; + sec-mem-ref-name = 'xran_sectionext2_info::bfAz3ddWidth'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1adc26301dfc01bf86c8dc53bdef1ac5c3'; + sec-mem-ref-line = '230'; + sec-mem-ref-name = 'xran_sectionext2_info::bfAz3dd'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1a52ffc8175e7bde0adbc75c865c854df2'; + sec-mem-ref-line = '231'; + sec-mem-ref-name = 'xran_sectionext2_info::bfZe3ddWidth'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1a62a0cfe73c1305294d16fb9593a2a947'; + sec-mem-ref-line = '232'; + sec-mem-ref-name = 'xran_sectionext2_info::bfZe3dd'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1a455c1bba3cc6776c7c953f468da68d89'; + sec-mem-ref-line = '234'; + sec-mem-ref-name = 'xran_sectionext2_info::bfAzSI'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1ad7bfdcda7332da505aa1712b68452cd2'; + sec-mem-ref-line = '235'; + sec-mem-ref-name = 'xran_sectionext2_info::bfZeSI'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a3cbc91f245eb6e99fcc07b55ee33f267'; + sec-mem-ref-line = '106'; + sec-mem-ref-name = 'm_ext4'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1a9469507e787895ef8a3ec1b89df59954'; + sec-mem-ref-line = '252'; + sec-mem-ref-name = 'xran_sectionext4_info::csf'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1a1c0e94567471aac214963f9600d0a4b1'; + sec-mem-ref-line = '254'; + sec-mem-ref-name = 'xran_sectionext4_info::modCompScaler'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a729386bcda2efafa2b1f6967b6a0b64f'; + sec-mem-ref-line = '107'; + sec-mem-ref-name = 'm_ext5'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1a7c4e67772e2e32e2f63f636730bf6eea'; + sec-mem-ref-line = '258'; + sec-mem-ref-name = 'xran_sectionext5_info::num_sets'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1aff3ff8bd662f3deba04c54adcbbd2826'; + sec-mem-ref-line = '260'; + sec-mem-ref-name = 'xran_sectionext5_info::csf'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1aabd93f3473c2432cf02d285e460907da'; + sec-mem-ref-line = '261'; + sec-mem-ref-name = 'xran_sectionext5_info::mcScaleReMask'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1a0d53f590f6c03b8aadb7421ea75a0efa'; + sec-mem-ref-line = '262'; + sec-mem-ref-name = 'xran_sectionext5_info::mcScaleOffset'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a16c92b16fc21a700c50a7faf19da41b9'; + sec-mem-ref-line = '75'; + sec-mem-ref-name = 'm_params'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1a5921f2439294279b8111fed577c5c37a'; + sec-mem-ref-line = '322'; + sec-mem-ref-name = 'xran_cp_gen_params::sections'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1acb5cfd209ba75c853d03f701e7f91679'; + sec-mem-ref-line = '301'; + sec-mem-ref-name = 'xran_section_gen_info::type'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1aa8ad3a412a8007bef79fb6ff224fc977a32fbc3ce682df2f044ceb33dcc1c3e77'; + sec-mem-ref-line = '149'; + sec-mem-ref-name = 'XRAN_CP_SECTIONEXTCMD_1'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1a8aed22e2c7b283705ec82e0120515618'; + sec-mem-ref-line = '302'; + sec-mem-ref-name = 'xran_section_gen_info::len'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1a735984d41155bc1032e09bece8f8d66d'; + sec-mem-ref-line = '303'; + sec-mem-ref-name = 'xran_section_gen_info::data'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1aa8ad3a412a8007bef79fb6ff224fc977aa51e4f2fde3e58c4cf60033529779e54'; + sec-mem-ref-line = '150'; + sec-mem-ref-name = 'XRAN_CP_SECTIONEXTCMD_2'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1aa8ad3a412a8007bef79fb6ff224fc977a0837b73911763ea972db60ead94d7c15'; + sec-mem-ref-line = '152'; + sec-mem-ref-name = 'XRAN_CP_SECTIONEXTCMD_4'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1aa8ad3a412a8007bef79fb6ff224fc977aaea21d0be8d5ee905837f26a28c316a9'; + sec-mem-ref-line = '153'; + sec-mem-ref-name = 'XRAN_CP_SECTIONEXTCMD_5'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1aa561d89cbc570e39183c64a5095a6053'; + sec-mem-ref-line = '298'; + sec-mem-ref-name = 'xran_section_gen_info::exDataSize'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1ac4fca95dc3b93372ce7f2078baf8e8b6'; + sec-mem-ref-line = '195'; + sec-mem-ref-name = 'TearDown'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a7fd4d380e2392bfe924c06a8101b6d85'; + sec-mem-ref-line = '320'; + sec-mem-ref-name = 'prepare_sections'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_c__plane_1a2d5e33dd093724772a1447910bd34e15'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'verify_sections'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/c_plane_tests.cc'; + sec-mem-desc-line = '224'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'c__plane__tests_8cc_1aa42dde0a7ce436df7e5b607d17d52668'; + sec-mem-ref-line = '77'; + sec-mem-ref-name = 'm_result'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1a92abda0bec7c1c978fe96f87aad18067'; + sec-mem-ref-line = '316'; + sec-mem-ref-name = 'xran_cp_gen_params::dir'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a16c92b16fc21a700c50a7faf19da41b9'; + sec-mem-ref-line = '75'; + sec-mem-ref-name = 'm_params'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1ae273caa235b1c6085de4ad13886f82c9'; + sec-mem-ref-line = '317'; + sec-mem-ref-name = 'xran_cp_gen_params::sectionType'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1a6c787affb1020c2b8058a3ddeff3fe52'; + sec-mem-ref-line = '320'; + sec-mem-ref-name = 'xran_cp_gen_params::hdr'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1ad5150de5e1c141cfe288f260afb00830'; + sec-mem-ref-line = '277'; + sec-mem-ref-name = 'xran_cp_header_params::filterIdx'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1a048f7f66787565b266517ddaa551d98e'; + sec-mem-ref-line = '278'; + sec-mem-ref-name = 'xran_cp_header_params::frameId'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1a45cd2998ed056e5139a76bf36053ed14'; + sec-mem-ref-line = '279'; + sec-mem-ref-name = 'xran_cp_header_params::subframeId'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1a0eb3f725109bb1afb9094b025af26678'; + sec-mem-ref-line = '280'; + sec-mem-ref-name = 'xran_cp_header_params::slotId'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1ac54814779041bec5dcf8aec288d69b06'; + sec-mem-ref-line = '281'; + sec-mem-ref-name = 'xran_cp_header_params::startSymId'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1a1520b1ef6131bff6c14b88d849c266c5'; + sec-mem-ref-line = '286'; + sec-mem-ref-name = 'xran_cp_header_params::iqWidth'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1a1e4a3c43fc7865c6520471fb9ba8501f'; + sec-mem-ref-line = '287'; + sec-mem-ref-name = 'xran_cp_header_params::compMeth'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'c__plane__tests_8cc_1abc4c88e1904502c47099799767ea3991'; + sec-mem-ref-line = '81'; + sec-mem-ref-name = 'm_sectionType'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1a6e8f1d76afde95b2d85b1fd99aaa1610a1f3289201658ac2a09203c4fb974b1e7'; + sec-mem-ref-line = '56'; + sec-mem-ref-name = 'XRAN_CP_SECTIONTYPE_1'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1a6e8f1d76afde95b2d85b1fd99aaa1610a80bcc2d7d7aff5e850d26892e703c637'; + sec-mem-ref-line = '57'; + sec-mem-ref-name = 'XRAN_CP_SECTIONTYPE_3'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1a59e7e8f3feb686850b0cb0ae065de85b'; + sec-mem-ref-line = '284'; + sec-mem-ref-name = 'xran_cp_header_params::fftSize'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1ae470e3869d1cbf07cd5f78ab6709b9e1'; + sec-mem-ref-line = '285'; + sec-mem-ref-name = 'xran_cp_header_params::scs'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1af57c31d64bbdb0d65fd36c9f38951328'; + sec-mem-ref-line = '290'; + sec-mem-ref-name = 'xran_cp_header_params::cpLength'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1a52bddd404e766ddb6f2b9eabe15ea5b1'; + sec-mem-ref-line = '318'; + sec-mem-ref-name = 'xran_cp_gen_params::numSections'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1a5921f2439294279b8111fed577c5c37a'; + sec-mem-ref-line = '322'; + sec-mem-ref-name = 'xran_cp_gen_params::sections'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1a6ccd48a36736101737e9b419d7a3cc85'; + sec-mem-ref-line = '296'; + sec-mem-ref-name = 'xran_section_gen_info::info'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1a4fc3a0c58dfbd1e68224521185cb9384'; + sec-mem-ref-line = '191'; + sec-mem-ref-name = 'xran_section_info::id'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1affa3adbd50cd4af2018ba1fc0e8c3e31'; + sec-mem-ref-line = '195'; + sec-mem-ref-name = 'xran_section_info::rb'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1a1087eb8c21d4b4e104b12a056ff65553a020e57090e5b6e614d303c027543fd16'; + sec-mem-ref-line = '105'; + sec-mem-ref-name = 'XRAN_RBIND_EVERY'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1a52f6623d45fec4bf9c14898f7e53db34'; + sec-mem-ref-line = '190'; + sec-mem-ref-name = 'xran_section_info::symInc'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1a056d791208720148306b686856cd36b0a2968e08e8282588813b4ace40df05c8e'; + sec-mem-ref-line = '112'; + sec-mem-ref-name = 'XRAN_SYMBOLNUMBER_NOTINC'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1a6b13285aabf8f2f4598143b2670204c1'; + sec-mem-ref-line = '193'; + sec-mem-ref-name = 'xran_section_info::startPrbc'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1a2b72ddddeff4e4a8a5c191695ec41079'; + sec-mem-ref-line = '194'; + sec-mem-ref-name = 'xran_section_info::numPrbc'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1a664cb6ca464c69ef60a445fa4f4b3522'; + sec-mem-ref-line = '189'; + sec-mem-ref-name = 'xran_section_info::numSymbol'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1ab8acca18b930cde25e1cf85ae86c964c'; + sec-mem-ref-line = '192'; + sec-mem-ref-name = 'xran_section_info::reMask'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1ac7deef3ca4b0fc12769165dbf9374569'; + sec-mem-ref-line = '200'; + sec-mem-ref-name = 'xran_section_info::beamId'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1afe3859cd334ad3f912622c58d5b2079e'; + sec-mem-ref-line = '198'; + sec-mem-ref-name = 'xran_section_info::ef'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1a3af58496c14a1c91c015aa6ffe7dca49'; + sec-mem-ref-line = '199'; + sec-mem-ref-name = 'xran_section_info::freqOffset'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1aa561d89cbc570e39183c64a5095a6053'; + sec-mem-ref-line = '298'; + sec-mem-ref-name = 'xran_section_gen_info::exDataSize'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1acb5cfd209ba75c853d03f701e7f91679'; + sec-mem-ref-line = '301'; + sec-mem-ref-name = 'xran_section_gen_info::type'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1aa8ad3a412a8007bef79fb6ff224fc977a32fbc3ce682df2f044ceb33dcc1c3e77'; + sec-mem-ref-line = '149'; + sec-mem-ref-name = 'XRAN_CP_SECTIONEXTCMD_1'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1a735984d41155bc1032e09bece8f8d66d'; + sec-mem-ref-line = '303'; + sec-mem-ref-name = 'xran_section_gen_info::data'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1a3de53935627d11e11003c38bd6dca548'; + sec-mem-ref-line = '212'; + sec-mem-ref-name = 'xran_sectionext1_info::bfwiqWidth'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1a489f0b868b86e577a5e515dc40987ba5'; + sec-mem-ref-line = '213'; + sec-mem-ref-name = 'xran_sectionext1_info::bfwCompMeth'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1ab09d1df0b229edfd34c41706fcfa73e7'; + sec-mem-ref-line = '211'; + sec-mem-ref-name = 'xran_sectionext1_info::bfwNumber'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1a241943465db5d59b297c1401b4579687ae57fd13dd77647afe0a45fd16d0d1d18'; + sec-mem-ref-line = '163'; + sec-mem-ref-name = 'XRAN_BFWCOMPMETHOD_BLKFLOAT'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1af05d5abe7656953548edfb3eb5117659'; + sec-mem-ref-line = '217'; + sec-mem-ref-name = 'xran_sectionext1_info::exponent'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1a241943465db5d59b297c1401b4579687aa875f8d378e4505ebf4e03554bccda4e'; + sec-mem-ref-line = '164'; + sec-mem-ref-name = 'XRAN_BFWCOMPMETHOD_BLKSCALE'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1ad32c6c9662025c7208ec099075b7ec27'; + sec-mem-ref-line = '218'; + sec-mem-ref-name = 'xran_sectionext1_info::blockScaler'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1a241943465db5d59b297c1401b4579687a08c6866bf6b30f45d8c78a1acb33f6ca'; + sec-mem-ref-line = '165'; + sec-mem-ref-name = 'XRAN_BFWCOMPMETHOD_ULAW'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1ac538592c50bd54df6d3c3dfb98fd1a96'; + sec-mem-ref-line = '219'; + sec-mem-ref-name = 'xran_sectionext1_info::compBitWidthShift'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1a241943465db5d59b297c1401b4579687a036896de4dea687b4d28bd819e535529'; + sec-mem-ref-line = '166'; + sec-mem-ref-name = 'XRAN_BFWCOMPMETHOD_BEAMSPACE'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1abeddf07371133e2a155418d2ad6e6606'; + sec-mem-ref-line = '220'; + sec-mem-ref-name = 'xran_sectionext1_info::activeBeamspaceCoeffMask'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1a535b83a8653a891f80fc204eb1d9cb8b'; + sec-mem-ref-line = '214'; + sec-mem-ref-name = 'xran_sectionext1_info::p_bfwIQ'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1aa8ad3a412a8007bef79fb6ff224fc977aa51e4f2fde3e58c4cf60033529779e54'; + sec-mem-ref-line = '150'; + sec-mem-ref-name = 'XRAN_CP_SECTIONEXTCMD_2'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1a2d14a28b7dc7cc4d18dae8c579a15d00'; + sec-mem-ref-line = '225'; + sec-mem-ref-name = 'xran_sectionext2_info::bfAzPtWidth'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1aed0ddbdef5f3287fe38c115bf0f6b361'; + sec-mem-ref-line = '226'; + sec-mem-ref-name = 'xran_sectionext2_info::bfAzPt'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1a0562069083918b7760597eaca4f0dceb'; + sec-mem-ref-line = '227'; + sec-mem-ref-name = 'xran_sectionext2_info::bfZePtWidth'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1a8d5cbe6476d0e8b325cd4e1bad03a6d3'; + sec-mem-ref-line = '228'; + sec-mem-ref-name = 'xran_sectionext2_info::bfZePt'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1af6d308ae11840b67c4e3234a78ca1591'; + sec-mem-ref-line = '229'; + sec-mem-ref-name = 'xran_sectionext2_info::bfAz3ddWidth'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1adc26301dfc01bf86c8dc53bdef1ac5c3'; + sec-mem-ref-line = '230'; + sec-mem-ref-name = 'xran_sectionext2_info::bfAz3dd'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1a52ffc8175e7bde0adbc75c865c854df2'; + sec-mem-ref-line = '231'; + sec-mem-ref-name = 'xran_sectionext2_info::bfZe3ddWidth'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1a62a0cfe73c1305294d16fb9593a2a947'; + sec-mem-ref-line = '232'; + sec-mem-ref-name = 'xran_sectionext2_info::bfZe3dd'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1a455c1bba3cc6776c7c953f468da68d89'; + sec-mem-ref-line = '234'; + sec-mem-ref-name = 'xran_sectionext2_info::bfAzSI'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1ad7bfdcda7332da505aa1712b68452cd2'; + sec-mem-ref-line = '235'; + sec-mem-ref-name = 'xran_sectionext2_info::bfZeSI'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1aa8ad3a412a8007bef79fb6ff224fc977a0837b73911763ea972db60ead94d7c15'; + sec-mem-ref-line = '152'; + sec-mem-ref-name = 'XRAN_CP_SECTIONEXTCMD_4'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1a9469507e787895ef8a3ec1b89df59954'; + sec-mem-ref-line = '252'; + sec-mem-ref-name = 'xran_sectionext4_info::csf'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1a1c0e94567471aac214963f9600d0a4b1'; + sec-mem-ref-line = '254'; + sec-mem-ref-name = 'xran_sectionext4_info::modCompScaler'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1aa8ad3a412a8007bef79fb6ff224fc977aaea21d0be8d5ee905837f26a28c316a9'; + sec-mem-ref-line = '153'; + sec-mem-ref-name = 'XRAN_CP_SECTIONEXTCMD_5'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1a7c4e67772e2e32e2f63f636730bf6eea'; + sec-mem-ref-line = '258'; + sec-mem-ref-name = 'xran_sectionext5_info::num_sets'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1aff3ff8bd662f3deba04c54adcbbd2826'; + sec-mem-ref-line = '260'; + sec-mem-ref-name = 'xran_sectionext5_info::csf'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1aabd93f3473c2432cf02d285e460907da'; + sec-mem-ref-line = '261'; + sec-mem-ref-name = 'xran_sectionext5_info::mcScaleReMask'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1a0d53f590f6c03b8aadb7421ea75a0efa'; + sec-mem-ref-line = '262'; + sec-mem-ref-name = 'xran_sectionext5_info::mcScaleOffset'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1ac4fca95dc3b93372ce7f2078baf8e8b6'; + sec-mem-ref-line = '195'; + sec-mem-ref-name = 'TearDown'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a8491192ecf8ad52998d66312a4b70f83'; + sec-mem-ref-line = '721'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1ad49152dbf530aeb2a2844895e6d47a3e'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'set_division_factor'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const double +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'factor'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '222'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Set division factor. +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\param [in] factor Division factor that divides mean and standard deviation. +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1a1bf2180658ad6d459231c631237f9311'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'set_results_units'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'units'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '231'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Set reults units. +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\param [in] units Units that are displayed in the report. +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1a5666c82d220a2c66784b9a238cc43c7e'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'set_parallelization_factor'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const int +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'factor'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '240'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Set size of processed data. +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\param [in] size Size of processed data used to calculate module throughput. +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1a3cf2e25a99be565a4ab570737cfeac41'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'performance'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'isa'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'module_name'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +F +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'function'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +Args ... +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'args'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '253'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Run performance test case for a given function. +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\param [in] isa Used Instruction Set. +\param [in] module_name name of the tested kernel. +\param [in] function function to be tested. +\param [in] args function's arguments. +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8cpp_1ae39390f41ba978a1f0d79691436c074a'; + sec-mem-ref-line = '47'; + sec-mem-ref-name = 'bind_to_cpu'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8hpp_1a12661f1773e3ba71d5b29d7ffa042b1a'; + sec-mem-ref-line = '68'; + sec-mem-ref-name = 'BenchmarkParameters::cpu_id'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8hpp_1af69d779517f2bdee3aba95bc38022074'; + sec-mem-ref-line = '425'; + sec-mem-ref-name = 'run_benchmark'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a21d05f2c6607fc534e67ed32883de81f'; + sec-mem-ref-line = '766'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1af9e5657bce588536aef7baf8c33a0108'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'print_test_description'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'isa'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'module_name'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '271'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Print unique test description to the results xml file. +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\param [in] isa Used Instruction Set. +\param [in] module_name name of the tested kernel. +\param [in] function function to be tested. +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1a5a1ec6ee393f8538815bc0a82eac2e88'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +const std::string +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'get_case_name'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '338'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Get name of the test case from JSON file. +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\return Test'ss case name or a default name if name field is missing. +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1abf28e5ea54fab2b0685972fe6e75560a'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'init_test'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'type'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '358'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Defines section in the conf.json that is used to load parameters from. +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\param [in] type Name of the section in the JSON file. +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'json_8hpp_1a0801762a3fe36fe32dca5f16e515478d'; + sec-mem-ref-line = '5040'; + sec-mem-ref-name = 'basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::size'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8cpp_1a876ed07783b27d38779f7cef4db673e6'; + sec-mem-ref-line = '86'; + sec-mem-ref-name = 'read_data_to_aligned_array'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a69b4bff6061152ff85770d725cced3cc'; + sec-mem-ref-line = '32'; + sec-mem-ref-name = 'module_name'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '112'; + sec-mem-ref-name = 'SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'chain__tests_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '135'; + sec-mem-ref-name = 'TestChain::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '92'; + sec-mem-ref-name = 'PrachCheck::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__performance_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '91'; + sec-mem-ref-name = 'PrachPerf::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'u__plane__functional_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '37'; + sec-mem-ref-name = 'U_planeCheck::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'u__plane__performance_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '41'; + sec-mem-ref-name = 'U_planePerf::SetUp'; + }; + }; /* sec-member */ + }; /* cp-section */ + cp-section = { + sec-kind = 'protected-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_c__plane_1ae68e73b40ca04879362dc67fbb368682'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_maxSections'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += 8 +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/c_plane_tests.cc'; + sec-mem-desc-line = '70'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_c__plane_1a78b09c2fc0f3b0d610248ab3ce1df5d7'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_numSections'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/c_plane_tests.cc'; + sec-mem-desc-line = '71'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '112'; + sec-mem-ref-name = 'SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a7fd4d380e2392bfe924c06a8101b6d85'; + sec-mem-ref-line = '320'; + sec-mem-ref-name = 'prepare_sections'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_c__plane_1aafa40e823e408268e48585ec7a623eae'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mbuf * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_pTestBuffer'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/c_plane_tests.cc'; + sec-mem-desc-line = '73'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a11a0b914a08e5375cae792dc6db08c7a'; + sec-mem-ref-line = '566'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_c__plane_1a16c92b16fc21a700c50a7faf19da41b9'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_cp_gen_params +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_params'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/c_plane_tests.cc'; + sec-mem-desc-line = '73'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '112'; + sec-mem-ref-name = 'SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1aecd2fcecaca860136bf56e6af5155e96'; + sec-mem-ref-line = '230'; + sec-mem-ref-name = 'prepare_extensions'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a7fd4d380e2392bfe924c06a8101b6d85'; + sec-mem-ref-line = '320'; + sec-mem-ref-name = 'prepare_sections'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a2d5e33dd093724772a1447910bd34e15'; + sec-mem-ref-line = '394'; + sec-mem-ref-name = 'verify_sections'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a11a0b914a08e5375cae792dc6db08c7a'; + sec-mem-ref-line = '566'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_c__plane_1a431f2e351a321b762ccd64984d566913'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_recv_packet_info +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_pktInfo'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/c_plane_tests.cc'; + sec-mem-desc-line = '73'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a11a0b914a08e5375cae792dc6db08c7a'; + sec-mem-ref-line = '566'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_c__plane_1aa42dde0a7ce436df7e5b607d17d52668'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_cp_gen_params +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_result'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/c_plane_tests.cc'; + sec-mem-desc-line = '73'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '112'; + sec-mem-ref-name = 'SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a2d5e33dd093724772a1447910bd34e15'; + sec-mem-ref-line = '394'; + sec-mem-ref-name = 'verify_sections'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a11a0b914a08e5375cae792dc6db08c7a'; + sec-mem-ref-line = '566'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_c__plane_1afa985909bf1a1a9cc7a7070c9a73016e'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_dir'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/c_plane_tests.cc'; + sec-mem-desc-line = '79'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a7fd4d380e2392bfe924c06a8101b6d85'; + sec-mem-ref-line = '320'; + sec-mem-ref-name = 'prepare_sections'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_c__plane_1a4bb0d1ca82a59555014c6c0e1060cbdf'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +std::string +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_dirStr'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/c_plane_tests.cc'; + sec-mem-desc-line = '80'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_c__plane_1abc4c88e1904502c47099799767ea3991'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_sectionType'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/c_plane_tests.cc'; + sec-mem-desc-line = '81'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a7fd4d380e2392bfe924c06a8101b6d85'; + sec-mem-ref-line = '320'; + sec-mem-ref-name = 'prepare_sections'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a2d5e33dd093724772a1447910bd34e15'; + sec-mem-ref-line = '394'; + sec-mem-ref-name = 'verify_sections'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_c__plane_1a9f102f8bfc163d6a26411d1855c8c97c'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_ccId'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/c_plane_tests.cc'; + sec-mem-desc-line = '83'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a11a0b914a08e5375cae792dc6db08c7a'; + sec-mem-ref-line = '566'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_c__plane_1a73f8e8274bd97892f58f73d1d83b533a'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_antId'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/c_plane_tests.cc'; + sec-mem-desc-line = '83'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a11a0b914a08e5375cae792dc6db08c7a'; + sec-mem-ref-line = '566'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_c__plane_1a7a0ce01c67c4067cc3ba42fd380e858a'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_seqId'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/c_plane_tests.cc'; + sec-mem-desc-line = '84'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a11a0b914a08e5375cae792dc6db08c7a'; + sec-mem-ref-line = '566'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_c__plane_1a65389015c6ac952ac5108c2ae802fa52'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_frameId'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/c_plane_tests.cc'; + sec-mem-desc-line = '85'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a7fd4d380e2392bfe924c06a8101b6d85'; + sec-mem-ref-line = '320'; + sec-mem-ref-name = 'prepare_sections'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_c__plane_1afa13542efadbf6db6e8ddfa388a345c0'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_subframeId'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/c_plane_tests.cc'; + sec-mem-desc-line = '85'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a7fd4d380e2392bfe924c06a8101b6d85'; + sec-mem-ref-line = '320'; + sec-mem-ref-name = 'prepare_sections'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_c__plane_1a7f021a016314b5d3a9bb095c5c08048f'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_slotId'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/c_plane_tests.cc'; + sec-mem-desc-line = '85'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a7fd4d380e2392bfe924c06a8101b6d85'; + sec-mem-ref-line = '320'; + sec-mem-ref-name = 'prepare_sections'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_c__plane_1aba23eca36e0c5cc06d74919fa5fe0dd6'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_symStart'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/c_plane_tests.cc'; + sec-mem-desc-line = '86'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a7fd4d380e2392bfe924c06a8101b6d85'; + sec-mem-ref-line = '320'; + sec-mem-ref-name = 'prepare_sections'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_c__plane_1a88a1f1ad78450f64aab4fa3f6499060a'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_symNum'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/c_plane_tests.cc'; + sec-mem-desc-line = '86'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a7fd4d380e2392bfe924c06a8101b6d85'; + sec-mem-ref-line = '320'; + sec-mem-ref-name = 'prepare_sections'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_c__plane_1a59b4057d63386649d2facf030a08fa0e'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_prbStart'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += NULL +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/c_plane_tests.cc'; + sec-mem-desc-line = '87'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1ac4fca95dc3b93372ce7f2078baf8e8b6'; + sec-mem-ref-line = '195'; + sec-mem-ref-name = 'TearDown'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a7fd4d380e2392bfe924c06a8101b6d85'; + sec-mem-ref-line = '320'; + sec-mem-ref-name = 'prepare_sections'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_c__plane_1a81096035b0802bc24810c07ca13df7e9'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_prbNum'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += NULL +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/c_plane_tests.cc'; + sec-mem-desc-line = '87'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1ac4fca95dc3b93372ce7f2078baf8e8b6'; + sec-mem-ref-line = '195'; + sec-mem-ref-name = 'TearDown'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a7fd4d380e2392bfe924c06a8101b6d85'; + sec-mem-ref-line = '320'; + sec-mem-ref-name = 'prepare_sections'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_c__plane_1a5b1a6d8e8257b3bb7e3a187c0cce4011'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_iqWidth'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/c_plane_tests.cc'; + sec-mem-desc-line = '89'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a7fd4d380e2392bfe924c06a8101b6d85'; + sec-mem-ref-line = '320'; + sec-mem-ref-name = 'prepare_sections'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_c__plane_1a493740cacd8f8d3e235c4626e501d3e2'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_compMethod'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/c_plane_tests.cc'; + sec-mem-desc-line = '89'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a7fd4d380e2392bfe924c06a8101b6d85'; + sec-mem-ref-line = '320'; + sec-mem-ref-name = 'prepare_sections'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_c__plane_1a047b603d6d908d93ce5d58dcc2b63036'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_beamId'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/c_plane_tests.cc'; + sec-mem-desc-line = '90'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a7fd4d380e2392bfe924c06a8101b6d85'; + sec-mem-ref-line = '320'; + sec-mem-ref-name = 'prepare_sections'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_c__plane_1ab4be4cfb9be32a9a6c516f5cfbae0d6f'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_reMask'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += 0xfff +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/c_plane_tests.cc'; + sec-mem-desc-line = '91'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a7fd4d380e2392bfe924c06a8101b6d85'; + sec-mem-ref-line = '320'; + sec-mem-ref-name = 'prepare_sections'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_c__plane_1a9c4d35a4cce2560e384f2fe95c4c341f'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_sectionId'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/c_plane_tests.cc'; + sec-mem-desc-line = '92'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a7fd4d380e2392bfe924c06a8101b6d85'; + sec-mem-ref-line = '320'; + sec-mem-ref-name = 'prepare_sections'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_c__plane_1adfa9d2df36650f369b04652749c1134b'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_filterIndex'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/c_plane_tests.cc'; + sec-mem-desc-line = '93'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a7fd4d380e2392bfe924c06a8101b6d85'; + sec-mem-ref-line = '320'; + sec-mem-ref-name = 'prepare_sections'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_c__plane_1a509c970617e65a99c8120eef3d309bcb'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_timeOffset'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/c_plane_tests.cc'; + sec-mem-desc-line = '94'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a7fd4d380e2392bfe924c06a8101b6d85'; + sec-mem-ref-line = '320'; + sec-mem-ref-name = 'prepare_sections'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_c__plane_1a7a8bdb868f3812cf7270734d13159255'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_fftSize'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/c_plane_tests.cc'; + sec-mem-desc-line = '95'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a7fd4d380e2392bfe924c06a8101b6d85'; + sec-mem-ref-line = '320'; + sec-mem-ref-name = 'prepare_sections'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_c__plane_1ac106dad0f3171eb074e8e654b4ea2c4b'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_scs'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/c_plane_tests.cc'; + sec-mem-desc-line = '96'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a7fd4d380e2392bfe924c06a8101b6d85'; + sec-mem-ref-line = '320'; + sec-mem-ref-name = 'prepare_sections'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_c__plane_1a0d7a93a1807e46144dedf9ab3cf87865'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_cpLength'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/c_plane_tests.cc'; + sec-mem-desc-line = '97'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a7fd4d380e2392bfe924c06a8101b6d85'; + sec-mem-ref-line = '320'; + sec-mem-ref-name = 'prepare_sections'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_c__plane_1a383e7e8333c8f9d71ab872f93b2f6708'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_freqOffset'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/c_plane_tests.cc'; + sec-mem-desc-line = '98'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a7fd4d380e2392bfe924c06a8101b6d85'; + sec-mem-ref-line = '320'; + sec-mem-ref-name = 'prepare_sections'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_c__plane_1ab2dac8fe532ba4f8fa612650aee824ef'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_ext1_dst_len'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += 0 +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/c_plane_tests.cc'; + sec-mem-desc-line = '100'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '112'; + sec-mem-ref-name = 'SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a11a0b914a08e5375cae792dc6db08c7a'; + sec-mem-ref-line = '566'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_c__plane_1aa03217953847a726043966a4691494f1'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int8_t * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_p_ext1_dst'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += NULL +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/c_plane_tests.cc'; + sec-mem-desc-line = '101'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1ac4fca95dc3b93372ce7f2078baf8e8b6'; + sec-mem-ref-line = '195'; + sec-mem-ref-name = 'TearDown'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a11a0b914a08e5375cae792dc6db08c7a'; + sec-mem-ref-line = '566'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_c__plane_1af3c62a5df704db9218047182f9576367'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int16_t * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_p_bfw_iq_src'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += NULL +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/c_plane_tests.cc'; + sec-mem-desc-line = '102'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1ac4fca95dc3b93372ce7f2078baf8e8b6'; + sec-mem-ref-line = '195'; + sec-mem-ref-name = 'TearDown'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a11a0b914a08e5375cae792dc6db08c7a'; + sec-mem-ref-line = '566'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_c__plane_1a4464b811028d6456143fd9743b03edaa'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_sectionext1_info +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_ext1'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/c_plane_tests.cc'; + sec-mem-desc-line = '102'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1aecd2fcecaca860136bf56e6af5155e96'; + sec-mem-ref-line = '230'; + sec-mem-ref-name = 'prepare_extensions'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a11a0b914a08e5375cae792dc6db08c7a'; + sec-mem-ref-line = '566'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_c__plane_1ab59c73cb615f0b02e940c1ac1c64744e'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_sectionext2_info +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_ext2'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/c_plane_tests.cc'; + sec-mem-desc-line = '102'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1aecd2fcecaca860136bf56e6af5155e96'; + sec-mem-ref-line = '230'; + sec-mem-ref-name = 'prepare_extensions'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_c__plane_1a3cbc91f245eb6e99fcc07b55ee33f267'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_sectionext4_info +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_ext4'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/c_plane_tests.cc'; + sec-mem-desc-line = '102'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1aecd2fcecaca860136bf56e6af5155e96'; + sec-mem-ref-line = '230'; + sec-mem-ref-name = 'prepare_extensions'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_c__plane_1a729386bcda2efafa2b1f6967b6a0b64f'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_sectionext5_info +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_ext5'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/c_plane_tests.cc'; + sec-mem-desc-line = '102'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1aecd2fcecaca860136bf56e6af5155e96'; + sec-mem-ref-line = '230'; + sec-mem-ref-name = 'prepare_extensions'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_c__plane_1a710f294997b8d29aaa21b691735a724b'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_bfwIQ'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/c_plane_tests.cc'; + sec-mem-desc-line = '109'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1aecd2fcecaca860136bf56e6af5155e96'; + sec-mem-ref-line = '230'; + sec-mem-ref-name = 'prepare_extensions'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_kernel_tests_1a929401f577bc540c1f8b7ec8c3b974fd'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +double +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'division_factor'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += 1.0 +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '214'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_kernel_tests_1a0f6b306c821273c76461f8799c5d4d4c'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +std::string +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'result_units'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += "None" +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '215'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_kernel_tests_1a88ea1f1de6b4d7d01ddc5fced408c813'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'parallelization_factor'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += 1 +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '216'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-section = { + sec-kind = 'private-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_c__plane_1a8afca7ac895ea509b38432d1b45bff55'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_section_gen_info * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_pSectGenInfo'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += NULL +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/c_plane_tests.cc'; + sec-mem-desc-line = '65'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_c__plane_1a4139c19c2555dfad9db528b5c4ac0248'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_section_gen_info * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_pSectResult'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += NULL +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/c_plane_tests.cc'; + sec-mem-desc-line = '66'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/c_plane_tests.cc'; + cp-fileline = '63'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-inheritancegraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 60; + node-label = 'TestWithParam< unsigned >'; + }; /* node */ + node = { + node-id = 59; + node-label = 'KernelTests'; + node-link = { + node-link-id = 'class_kernel_tests'; + }; + node-child = { + child-id = '60'; + relation = public-inheritance; + }; /* node-child */ + }; /* node */ + node = { + node-id = 58; + node-label = 'C_plane'; + node-link = { + node-link-id = 'class_c__plane'; + }; + node-child = { + child-id = '59'; + relation = public-inheritance; + }; /* node-child */ + }; /* node */ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 63; + node-label = 'TestWithParam< unsigned >'; + }; /* node */ + node = { + node-id = 62; + node-label = 'KernelTests'; + node-link = { + node-link-id = 'class_kernel_tests'; + }; + node-child = { + child-id = '63'; + relation = public-inheritance; + }; /* node-child */ + node-child = { + child-id = '64'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++conf +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + node = { + node-id = 67; + node-label = 'xran_recv_packet_info'; + node-link = { + node-link-id = 'structxran__recv__packet__info'; + }; + node-child = { + child-id = '68'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++eaxc +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + node = { + node-id = 61; + node-label = 'C_plane'; + node-link = { + node-link-id = 'class_c__plane'; + }; + node-child = { + child-id = '62'; + relation = public-inheritance; + }; /* node-child */ + node-child = { + child-id = '65'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ +#m_ext5 +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '66'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ +#m_ext4 +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '67'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ +#m_pktInfo +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '69'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ +#m_ext2 +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '70'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ +#m_result +#m_params +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '74'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ +#m_ext1 +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + node = { + node-id = 73; + node-label = 'xran_sectionext3_info'; + node-link = { + node-link-id = 'structxran__sectionext3__info'; + }; + }; /* node */ + node = { + node-id = 76; + node-label = 'xran_section_desc'; + node-link = { + node-link-id = 'structxran__section__desc'; + }; + }; /* node */ + node = { + node-id = 68; + node-label = 'xran_eaxc_info'; + node-link = { + node-link-id = 'structxran__eaxc__info'; + }; + }; /* node */ + node = { + node-id = 64; + node-label = 'basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >'; + node-link = { + node-link-id = 'classnlohmann_1_1basic__json'; + }; + }; /* node */ + node = { + node-id = 66; + node-label = 'xran_sectionext4_info'; + node-link = { + node-link-id = 'structxran__sectionext4__info'; + }; + }; /* node */ + node = { + node-id = 72; + node-label = 'xran_section_gen_info'; + node-link = { + node-link-id = 'structxran__section__gen__info'; + }; + node-child = { + child-id = '65'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++m_ext5 +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '66'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++m_ext4 +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '73'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++m_ext3 +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '69'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++m_ext2 +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '74'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++m_ext1 +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '75'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++info +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + node = { + node-id = 74; + node-label = 'xran_sectionext1_info'; + node-link = { + node-link-id = 'structxran__sectionext1__info'; + }; + }; /* node */ + node = { + node-id = 75; + node-label = 'xran_section_info'; + node-link = { + node-link-id = 'structxran__section__info'; + }; + node-child = { + child-id = '76'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++sec_desc +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + node = { + node-id = 65; + node-label = 'xran_sectionext5_info'; + node-link = { + node-link-id = 'structxran__sectionext5__info'; + }; + }; /* node */ + node = { + node-id = 70; + node-label = 'xran_cp_gen_params'; + node-link = { + node-link-id = 'structxran__cp__gen__params'; + }; + node-child = { + child-id = '71'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++hdr +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '72'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++sections +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + node = { + node-id = 69; + node-label = 'xran_sectionext2_info'; + node-link = { + node-link-id = 'structxran__sectionext2__info'; + }; + }; /* node */ + node = { + node-id = 71; + node-label = 'xran_cp_header_params'; + node-link = { + node-link-id = 'structxran__cp__header__params'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* class */ +struct = { + cp-id = 'structcb__elem__entry'; + cp-name = 'cb_elem_entry'; + cp-section = { + sec-kind = 'public-func'; + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'structcb__elem__entry_1a38c422707541b71db2fe581e608f0024'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'LIST_ENTRY'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +cb_elem_entry +_EnD_oF_dEf_TeXt_; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + sec-mem-desc-line = '165'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structcb__elem__entry_1a785dc524b99ed15e17115d076f8ace21'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +XranSymCallbackFn +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'pSymCallback'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + sec-mem-desc-line = '163'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1a0bca0820bfef3a6c277c47490179e065'; + sec-mem-ref-line = '125'; + sec-mem-ref-name = 'xran_create_cb'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structcb__elem__entry_1af12736a3d2c375571acffe9f7e4e464e'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'pSymCallbackTag'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + sec-mem-desc-line = '164'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1a0bca0820bfef3a6c277c47490179e065'; + sec-mem-ref-line = '125'; + sec-mem-ref-name = 'xran_create_cb'; + }; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + cp-fileline = '162'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 78; + node-label = 'cb_elem_entry'; + node-link = { + node-link-id = 'structcb__elem__entry'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'struct_c_o_m_p_l_e_x32'; + cp-name = 'COMPLEX32'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct_c_o_m_p_l_e_x32_1aeac685ede53ad58d0e24e6c060feff7a'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +float +_EnD_oF_dEf_TeXt_; + sec-mem-name = 're'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common_typedef_xran.h'; + sec-mem-desc-line = '36'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +32-bit real part +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct_c_o_m_p_l_e_x32_1a967065f052e06d0e239b9bc56e0cc317'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +float +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'im'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common_typedef_xran.h'; + sec-mem-desc-line = '37'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +32-bit image part +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common_typedef_xran.h'; + cp-fileline = '35'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ +Defines 64-bit complex structure; both real part and image part have 32 bit width. +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 80; + node-label = 'COMPLEX32'; + node-link = { + node-link-id = 'struct_c_o_m_p_l_e_x32'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structcomplex__double'; + cp-name = 'complex_double'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structcomplex__double_1a5a6fce2fc5cae153945fea2c45beeb4f'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +double +_EnD_oF_dEf_TeXt_; + sec-mem-name = 're'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common_typedef_xran.h'; + sec-mem-desc-line = '75'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +64-bit real part +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structcomplex__double_1a994624d52dcfaad836adf3f92a8d6b7d'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +double +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'im'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common_typedef_xran.h'; + sec-mem-desc-line = '76'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +64-bit image part +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common_typedef_xran.h'; + cp-fileline = '74'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ +Defines 128-bit complex structure; both real part and image part have 64 bit width. +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 82; + node-label = 'complex_double'; + node-link = { + node-link-id = 'structcomplex__double'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structcomplex__float'; + cp-name = 'complex_float'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structcomplex__float_1aeac685ede53ad58d0e24e6c060feff7a'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +float +_EnD_oF_dEf_TeXt_; + sec-mem-name = 're'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common_typedef_xran.h'; + sec-mem-desc-line = '66'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +32-bit real part +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structcomplex__float_1a967065f052e06d0e239b9bc56e0cc317'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +float +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'im'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common_typedef_xran.h'; + sec-mem-desc-line = '67'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +32-bit image part +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common_typedef_xran.h'; + cp-fileline = '65'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ +Defines 64-bit complex structure; both real part and image part have 32 bit width. +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 84; + node-label = 'complex_float'; + node-link = { + node-link-id = 'structcomplex__float'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structcomplex__half'; + cp-name = 'complex_half'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structcomplex__half_1afc3876dabc752cb80a88432b6456170d'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +half +_EnD_oF_dEf_TeXt_; + sec-mem-name = 're'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common_typedef_xran.h'; + sec-mem-desc-line = '92'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +16-bit real part +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structcomplex__half_1a6d310439e7665c7a3ebee8be034a56d2'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +half +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'im'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common_typedef_xran.h'; + sec-mem-desc-line = '93'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +16-bit image part +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common_typedef_xran.h'; + cp-fileline = '91'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ +Defines 32-bit complex structure; both real part and image part have 16 bit width. +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 86; + node-label = 'complex_half'; + node-link = { + node-link-id = 'structcomplex__half'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structcomplex__int16__t'; + cp-name = 'complex_int16_t'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structcomplex__int16__t_1af076f3e7a3b5f655e2cb2b9c3be29b3e'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 're'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common_typedef_xran.h'; + sec-mem-desc-line = '47'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +16-bit real part +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structcomplex__int16__t_1a0a0dbf17332859821db9cbe7b4bc7183'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'im'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common_typedef_xran.h'; + sec-mem-desc-line = '48'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +16-bit image part +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common_typedef_xran.h'; + cp-fileline = '46'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ +Defines 32-bit complex structure; both real part and image part have 16 bit width. +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ +Same defines as COMPLEX16 +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 88; + node-label = 'complex_int16_t'; + node-link = { + node-link-id = 'structcomplex__int16__t'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structcomplex__int32__t'; + cp-name = 'complex_int32_t'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structcomplex__int32__t_1a44e1ef2f79beb4877834c23fb4547e58'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 're'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common_typedef_xran.h'; + sec-mem-desc-line = '57'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +32-bit real part +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structcomplex__int32__t_1affac5cb482b316df6c36ee03670fff9a'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'im'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common_typedef_xran.h'; + sec-mem-desc-line = '58'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +32-bit image part +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common_typedef_xran.h'; + cp-fileline = '56'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ +Defines 64-bit complex structure; both real part and image part have 32 bit width. +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 90; + node-label = 'complex_int32_t'; + node-link = { + node-link-id = 'structcomplex__int32__t'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'struct_block_float_compander_1_1_compressed_data'; + cp-name = 'BlockFloatCompander::CompressedData'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct_block_float_compander_1_1_compressed_data_1a1ba10aad9e5d2d0c430ced60a4e5083e'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +CACHE_ALIGNED uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'dataCompressedDataOut'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_compression.hpp'; + sec-mem-desc-line = '63'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Compressed data. +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'compander__functional_8cc_1a53f55fd621ce0edd0b50933321ae7ade'; + sec-mem-ref-line = '176'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct_block_float_compander_1_1_compressed_data_1ab2fd68d067a2e45c839584d0985a7953'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +CACHE_ALIGNED uint8_t * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'dataCompressed'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_compression.hpp'; + sec-mem-desc-line = '64'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'compander__functional_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '113'; + sec-mem-ref-name = 'BfpPerfEx::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'compander__functional_8cc_1a53f55fd621ce0edd0b50933321ae7ade'; + sec-mem-ref-line = '176'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__compression_8cpp_1a5b3ddd524752c8f556bc4c654e392321'; + sec-mem-ref-line = '335'; + sec-mem-ref-name = 'BlockFloatCompander::BlockFloatCompress_8b_AVX512'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__compression_8cpp_1a2356f186e264c7cea4e3c26d448bb1d5'; + sec-mem-ref-line = '359'; + sec-mem-ref-name = 'BlockFloatCompander::BlockFloatCompress_9b_AVX512'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__compression_8cpp_1ae525362ca026142cab4ac983e29ad0ff'; + sec-mem-ref-line = '395'; + sec-mem-ref-name = 'BlockFloatCompander::BlockFloatCompress_10b_AVX512'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__compression_8cpp_1a2a8db4c5039bc3d5237b31ca2a129815'; + sec-mem-ref-line = '431'; + sec-mem-ref-name = 'BlockFloatCompander::BlockFloatCompress_12b_AVX512'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__compression_8cpp_1ae4ad42b117d59e2e7ff8fad2d5da506e'; + sec-mem-ref-line = '467'; + sec-mem-ref-name = 'BlockFloatCompander::BlockFloatExpand_8b_AVX512'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__compression_8cpp_1a32917a78ac1596d9aa95e4089ec88ba9'; + sec-mem-ref-line = '486'; + sec-mem-ref-name = 'BlockFloatCompander::BlockFloatExpand_9b_AVX512'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__compression_8cpp_1a8fae7506e2b9c9f9365b306375ab6eff'; + sec-mem-ref-line = '510'; + sec-mem-ref-name = 'BlockFloatCompander::BlockFloatExpand_10b_AVX512'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__compression_8cpp_1a65b09b78fac0c8dcfc9edd5091b728dd'; + sec-mem-ref-line = '534'; + sec-mem-ref-name = 'BlockFloatCompander::BlockFloatExpand_12b_AVX512'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__compression_8cpp_1a5f4776cd07aac0ae2d9dbd02aaba3435'; + sec-mem-ref-line = '605'; + sec-mem-ref-name = 'BlockFloatCompander::BlockFloatExpand_Basic'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__compression_8cpp_1a0651de68e87558106615163f96b3e599'; + sec-mem-ref-line = '729'; + sec-mem-ref-name = 'xranlib_compress_avx512'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__compression_8cpp_1a2bd6ebeefb6ca9674598d443e697918c'; + sec-mem-ref-line = '834'; + sec-mem-ref-name = 'xranlib_decompress_avx512'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct_block_float_compander_1_1_compressed_data_1ad88e9475d4e269108bb716a1cf5f0d40'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'iqWidth'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_compression.hpp'; + sec-mem-desc-line = '66'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Size of mantissa including sign bit. +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'compander__functional_8cc_1a53f55fd621ce0edd0b50933321ae7ade'; + sec-mem-ref-line = '176'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__compression_8cpp_1a5f4776cd07aac0ae2d9dbd02aaba3435'; + sec-mem-ref-line = '605'; + sec-mem-ref-name = 'BlockFloatCompander::BlockFloatExpand_Basic'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__compression_8cpp_1a2bd6ebeefb6ca9674598d443e697918c'; + sec-mem-ref-line = '834'; + sec-mem-ref-name = 'xranlib_decompress_avx512'; + }; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_compression.hpp'; + cp-fileline = '61'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 92; + node-label = 'CompressedData'; + node-link = { + node-link-id = 'struct_block_float_compander_1_1_compressed_data'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'struct_block_float_compander_b_f_w_1_1_compressed_data'; + cp-name = 'BlockFloatCompanderBFW::CompressedData'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct_block_float_compander_b_f_w_1_1_compressed_data_1a1ba10aad9e5d2d0c430ced60a4e5083e'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +CACHE_ALIGNED uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'dataCompressedDataOut'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_compression.hpp'; + sec-mem-desc-line = '105'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Compressed data. +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct_block_float_compander_b_f_w_1_1_compressed_data_1ab2fd68d067a2e45c839584d0985a7953'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +CACHE_ALIGNED uint8_t * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'dataCompressed'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_compression.hpp'; + sec-mem-desc-line = '106'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__compression_8cpp_1a5f4776cd07aac0ae2d9dbd02aaba3435'; + sec-mem-ref-line = '687'; + sec-mem-ref-name = 'BlockFloatCompanderBFW::BlockFloatExpand_Basic'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__compression_8cpp_1aa027200fc051c80b515ee8aeadf44a0e'; + sec-mem-ref-line = '783'; + sec-mem-ref-name = 'xranlib_compress_avx512_bfw'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct_block_float_compander_b_f_w_1_1_compressed_data_1ad88e9475d4e269108bb716a1cf5f0d40'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'iqWidth'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_compression.hpp'; + sec-mem-desc-line = '108'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Size of mantissa including sign bit. +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__compression_8cpp_1a5f4776cd07aac0ae2d9dbd02aaba3435'; + sec-mem-ref-line = '687'; + sec-mem-ref-name = 'BlockFloatCompanderBFW::BlockFloatExpand_Basic'; + }; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_compression.hpp'; + cp-fileline = '103'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 94; + node-label = 'CompressedData'; + node-link = { + node-link-id = 'struct_block_float_compander_b_f_w_1_1_compressed_data'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structcompression__hdr'; + cp-name = 'compression_hdr'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structcompression__hdr_1ab3f5c028170bd3bd241a58be8ca8da96'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'ud_iq_width'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt.h'; + sec-mem-desc-line = '208'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Bit width of each I and each Q + 16 for udIqWidth=0, otherwise equals udIqWidth e.g. udIqWidth = 0000b means I and Q are each 16 bits wide; + e.g. udIQWidth = 0001b means I and Q are each 1 bit wide; + e.g. udIqWidth = 1111b means I and Q are each 15 bits wide +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1adc9636576fb70f4b4fcfd1d03fe59998'; + sec-mem-ref-line = '348'; + sec-mem-ref-name = 'prepare_symbol_ex'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__up__api_8c_1adfc5ea408600c8de1384be020b359d95'; + sec-mem-ref-line = '327'; + sec-mem-ref-name = 'xran_extract_iq_samples'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structcompression__hdr_1ae12079177feb5d2ee414356fc18473cf'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'ud_comp_meth'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt.h'; + sec-mem-desc-line = '213'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + udCompMeth| compression method |udIqWidth meaning +------------—+--------------------------—+-----------------------------------------— +0000b | no compression |bitwidth of each uncompressed I and Q value +0001b | block floating point |bitwidth of each I and Q mantissa value +0010b | block scaling |bitwidth of each I and Q scaled value +0011b | mu-law |bitwidth of each compressed I and Q value +0100b | modulation compression |bitwidth of each compressed I and Q value +0100b - 1111b | reserved for future methods |depends on the specific compression method +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1adc9636576fb70f4b4fcfd1d03fe59998'; + sec-mem-ref-line = '348'; + sec-mem-ref-name = 'prepare_symbol_ex'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__up__api_8c_1adfc5ea408600c8de1384be020b359d95'; + sec-mem-ref-line = '327'; + sec-mem-ref-name = 'xran_extract_iq_samples'; + }; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt.h'; + cp-fileline = '207'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ +@description + This parameter defines the compression method and IQ bit width for the + user data in the data section. This field is absent from U-Plane messages + when the static IQ format and compression method is configured via the M-Plane. + In this way a single compression method and IQ bit width is provided + (per UL and DL, per LTE and NR) without adding more overhead to U-Plane messages. +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 96; + node-label = 'compression_hdr'; + node-link = { + node-link-id = 'structcompression__hdr'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +union = { + cp-id = 'unioncompression__params'; + cp-name = 'compression_params'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'unioncompression__params_1a1cd49a68b116fdcbab85bc9140594918'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct compression_params::block_fl_point +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'blockFlPoint'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_up.h'; + sec-mem-desc-line = '114'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'unioncompression__params_1a4cd9171274a8d8229ca026d1d6b1d133'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct compression_params::block_scaling +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'blockScaling'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_up.h'; + sec-mem-desc-line = '117'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'unioncompression__params_1aa01efd88da34f7d6c784886bc3f69298'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct compression_params::u_law +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'uLaw'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_up.h'; + sec-mem-desc-line = '121'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_up.h'; + cp-fileline = '110'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 99; + node-label = 'u_law'; + node-link = { + node-link-id = 'structcompression__params_1_1u__law'; + }; + }; /* node */ + node = { + node-id = 100; + node-label = 'block_fl_point'; + node-link = { + node-link-id = 'structcompression__params_1_1block__fl__point'; + }; + }; /* node */ + node = { + node-id = 101; + node-label = 'block_scaling'; + node-link = { + node-link-id = 'structcompression__params_1_1block__scaling'; + }; + }; /* node */ + node = { + node-id = 98; + node-label = 'compression_params'; + node-link = { + node-link-id = 'unioncompression__params'; + }; + node-child = { + child-id = '99'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++uLaw +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '100'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++blockFlPoint +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '101'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++blockScaling +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* union */ +struct = { + cp-id = 'structnlohmann_1_1detail_1_1conjunction'; + cp-name = 'nlohmann::detail::conjunction'; + cp-ref = { + ref-type = base; + ref-id = 'classstd_1_1true__type'; + ref-prot = public; + ref-virt = non-virtual; + }; + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + cp-fileline = '203'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-inheritancegraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 103; + node-label = 'true_type'; + }; /* node */ + node = { + node-id = 102; + node-label = 'conjunction<... >'; + node-link = { + node-link-id = 'structnlohmann_1_1detail_1_1conjunction'; + }; + node-child = { + child-id = '103'; + relation = public-inheritance; + }; /* node-child */ + }; /* node */ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 105; + node-label = 'true_type'; + }; /* node */ + node = { + node-id = 104; + node-label = 'conjunction<... >'; + node-link = { + node-link-id = 'structnlohmann_1_1detail_1_1conjunction'; + }; + node-child = { + child-id = '105'; + relation = public-inheritance; + }; /* node-child */ + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structnlohmann_1_1detail_1_1conjunction_3_01_b1_01_4'; + cp-name = 'nlohmann::detail::conjunction< B1 >'; + cp-ref = { + ref-type = base; + ref-id = 'class_b1'; + ref-prot = public; + ref-virt = non-virtual; + }; + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + cp-fileline = '204'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-inheritancegraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 107; + node-label = 'B1'; + }; /* node */ + node = { + node-id = 106; + node-label = 'conjunction< B1 >'; + node-link = { + node-link-id = 'structnlohmann_1_1detail_1_1conjunction_3_01_b1_01_4'; + }; + node-child = { + child-id = '107'; + relation = public-inheritance; + }; /* node-child */ + }; /* node */ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 109; + node-label = 'B1'; + }; /* node */ + node = { + node-id = 108; + node-label = 'conjunction< B1 >'; + node-link = { + node-link-id = 'structnlohmann_1_1detail_1_1conjunction_3_01_b1_01_4'; + }; + node-child = { + child-id = '109'; + relation = public-inheritance; + }; /* node-child */ + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structnlohmann_1_1detail_1_1conjunction_3_01_b1_00_01_bn_8_8_8_01_4'; + cp-name = 'nlohmann::detail::conjunction< B1, Bn... >'; + cp-ref = { + ref-type = base; + ref-id = 'classstd_1_1conditional_1_1type'; + ref-prot = public; + ref-virt = non-virtual; + }; + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + cp-fileline = '206'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-inheritancegraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 111; + node-label = 'type'; + }; /* node */ + node = { + node-id = 110; + node-label = 'conjunction< B1, Bn... >'; + node-link = { + node-link-id = 'structnlohmann_1_1detail_1_1conjunction_3_01_b1_00_01_bn_8_8_8_01_4'; + }; + node-child = { + child-id = '111'; + relation = public-inheritance; + }; /* node-child */ + }; /* node */ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 113; + node-label = 'type'; + }; /* node */ + node = { + node-id = 112; + node-label = 'conjunction< B1, Bn... >'; + node-link = { + node-link-id = 'structnlohmann_1_1detail_1_1conjunction_3_01_b1_00_01_bn_8_8_8_01_4'; + }; + node-child = { + child-id = '113'; + relation = public-inheritance; + }; /* node-child */ + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'struct_kernel_tests_1_1data__reader'; + cp-name = 'KernelTests::data_reader'; + cp-section = { + sec-kind = 'public-static-func'; + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'struct_kernel_tests_1_1data__reader_1a396b2c215de1892d95a144ff44de19a6'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static T +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'read_parameter'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const int +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'index'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'type'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'parameter_name'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '370'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + cp-fileline = '369'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 115; + node-label = 'KernelTests::data_reader< T >'; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'struct_kernel_tests_1_1data__reader_3_01std_1_1vector_3_01_t_01_4_01_4'; + cp-name = 'KernelTests::data_reader< std::vector< T > >'; + cp-section = { + sec-kind = 'public-static-func'; + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'struct_kernel_tests_1_1data__reader_3_01std_1_1vector_3_01_t_01_4_01_4_1acff668b0eba962be3e0eac5f9289f721'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static std::vector< T > +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'read_parameter'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const int +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'index'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'type'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'parameter_name'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '379'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + cp-fileline = '378'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 117; + node-label = 'KernelTests::data_reader< std::vector< T > >'; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'struct_kernel_tests_1_1data__reader_3_01_t_01_5_01_4'; + cp-name = 'KernelTests::data_reader< T * >'; + cp-section = { + sec-kind = 'public-static-func'; + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'struct_kernel_tests_1_1data__reader_3_01_t_01_5_01_4_1ab3c6a23f3830bc6e88c7f2d6cb61a203'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static T * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'read_parameter'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const int +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'index'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'type'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'parameter_name'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '395'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + cp-fileline = '394'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 119; + node-label = 'KernelTests::data_reader< T * >'; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structdata__section__compression__hdr'; + cp-name = 'data_section_compression_hdr'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structdata__section__compression__hdr_1a4638fbd317b5d0c464ef9483038564b0'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct compression_hdr +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'ud_comp_hdr'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_up.h'; + sec-mem-desc-line = '75'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1adc9636576fb70f4b4fcfd1d03fe59998'; + sec-mem-ref-line = '348'; + sec-mem-ref-name = 'prepare_symbol_ex'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__up__api_8c_1adfc5ea408600c8de1384be020b359d95'; + sec-mem-ref-line = '327'; + sec-mem-ref-name = 'xran_extract_iq_samples'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structdata__section__compression__hdr_1a73f8c890ac5a8af7cfe4947d2205e3ee'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'rsrvd'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_up.h'; + sec-mem-desc-line = '93'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + This parameter provides 1 byte for future definition, +should be set to all zeros by the sender and ignored by the receiver. +This field is only present when udCompHdr is present, and is absent when +the static IQ format and compression method is configured via the M-Plane +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1adc9636576fb70f4b4fcfd1d03fe59998'; + sec-mem-ref-line = '348'; + sec-mem-ref-name = 'prepare_symbol_ex'; + }; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_up.h'; + cp-fileline = '91'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 122; + node-label = 'compression_hdr'; + node-link = { + node-link-id = 'structcompression__hdr'; + }; + }; /* node */ + node = { + node-id = 121; + node-label = 'data_section_compression_hdr'; + node-link = { + node-link-id = 'structdata__section__compression__hdr'; + }; + node-child = { + child-id = '122'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++ud_comp_hdr +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structdata__section__hdr'; + cp-name = 'data_section_hdr'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structdata__section__hdr_1a9f9f2f87d8b5cc7e4af6ef3e2c4c8189'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'all_bits'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_up.h'; + sec-mem-desc-line = '69'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'u__plane__functional_8cc_1a17e5d82ac5aec3860b1324a80fda79ed'; + sec-mem-ref-line = '61'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1adc9636576fb70f4b4fcfd1d03fe59998'; + sec-mem-ref-line = '348'; + sec-mem-ref-name = 'prepare_symbol_ex'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__up__api_8c_1adfc5ea408600c8de1384be020b359d95'; + sec-mem-ref-line = '327'; + sec-mem-ref-name = 'xran_extract_iq_samples'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structdata__section__hdr_1acb00c5e7ebe809fda7288c699eed867c'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'num_prbu'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_up.h'; + sec-mem-desc-line = '71'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.5.6 number of contiguous PRBs per control section +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'u__plane__functional_8cc_1a17e5d82ac5aec3860b1324a80fda79ed'; + sec-mem-ref-line = '61'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1adc9636576fb70f4b4fcfd1d03fe59998'; + sec-mem-ref-line = '348'; + sec-mem-ref-name = 'prepare_symbol_ex'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__up__api_8c_1adfc5ea408600c8de1384be020b359d95'; + sec-mem-ref-line = '327'; + sec-mem-ref-name = 'xran_extract_iq_samples'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structdata__section__hdr_1a486aca552c11b7046ca3066ebf4241dc'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'start_prbu'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_up.h'; + sec-mem-desc-line = '72'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.5.4 starting PRB of control section +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1adc9636576fb70f4b4fcfd1d03fe59998'; + sec-mem-ref-line = '348'; + sec-mem-ref-name = 'prepare_symbol_ex'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__up__api_8c_1adfc5ea408600c8de1384be020b359d95'; + sec-mem-ref-line = '327'; + sec-mem-ref-name = 'xran_extract_iq_samples'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structdata__section__hdr_1aba23e80ad7dc1c3f7085ba3a2b4662bb'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'sym_inc'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_up.h'; + sec-mem-desc-line = '73'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.5.3 symbol number increment command XRAN_SYMBOLNUMBER_xxxx +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1adc9636576fb70f4b4fcfd1d03fe59998'; + sec-mem-ref-line = '348'; + sec-mem-ref-name = 'prepare_symbol_ex'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__up__api_8c_1adfc5ea408600c8de1384be020b359d95'; + sec-mem-ref-line = '327'; + sec-mem-ref-name = 'xran_extract_iq_samples'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structdata__section__hdr_1ac91b2b11ae96c1a44e8a2fad473771c7'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'rb'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_up.h'; + sec-mem-desc-line = '74'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.5.2 resource block indicator, XRAN_RBIND_xxx +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1adc9636576fb70f4b4fcfd1d03fe59998'; + sec-mem-ref-line = '348'; + sec-mem-ref-name = 'prepare_symbol_ex'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__up__api_8c_1adfc5ea408600c8de1384be020b359d95'; + sec-mem-ref-line = '327'; + sec-mem-ref-name = 'xran_extract_iq_samples'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structdata__section__hdr_1a11d1616fb975ccafbc33ab590fe501c4'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'sect_id'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_up.h'; + sec-mem-desc-line = '75'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.5.1 section identifier +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'u__plane__functional_8cc_1a17e5d82ac5aec3860b1324a80fda79ed'; + sec-mem-ref-line = '61'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1adc9636576fb70f4b4fcfd1d03fe59998'; + sec-mem-ref-line = '348'; + sec-mem-ref-name = 'prepare_symbol_ex'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__up__api_8c_1adfc5ea408600c8de1384be020b359d95'; + sec-mem-ref-line = '327'; + sec-mem-ref-name = 'xran_extract_iq_samples'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structdata__section__hdr_1a9f1bf385f4549249e191e6563acbdecb'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +union data_section_hdr::__anonymous__ +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'fields'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_up.h'; + sec-mem-desc-line = '77'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'u__plane__functional_8cc_1a17e5d82ac5aec3860b1324a80fda79ed'; + sec-mem-ref-line = '61'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1adc9636576fb70f4b4fcfd1d03fe59998'; + sec-mem-ref-line = '348'; + sec-mem-ref-name = 'prepare_symbol_ex'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__up__api_8c_1adfc5ea408600c8de1384be020b359d95'; + sec-mem-ref-line = '327'; + sec-mem-ref-name = 'xran_extract_iq_samples'; + }; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_up.h'; + cp-fileline = '67'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ +@description + Structure holding data section header fields + It is repeated for every section ID in xRAN packet + 5.4.5 Coding of Information Elements - Application Layer, Sections + for U-plane as per 6.3.2 DL/UL Data +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 124; + node-label = 'data_section_hdr'; + node-link = { + node-link-id = 'structdata__section__hdr'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structecpri__seq__id'; + cp-name = 'ecpri_seq_id'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structecpri__seq__id_1a2f25460e9a84fe459a874b8255ed4c71'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'seq_id'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt.h'; + sec-mem-desc-line = '99'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Sequence ID +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1a3d4bd5c7eec6da4ab71688e209100761'; + sec-mem-ref-line = '143'; + sec-mem-ref-name = 'process_mbuf'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__transport_8c_1aa21387dfaba47c2046d4a05f50cfc768'; + sec-mem-ref-line = '142'; + sec-mem-ref-name = 'xran_build_ecpri_hdr'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structecpri__seq__id_1aaf017ad0a1905951403eb33265ffbb4c'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'sub_seq_id'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt.h'; + sec-mem-desc-line = '100'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Subsequence ID +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__transport_8c_1aa21387dfaba47c2046d4a05f50cfc768'; + sec-mem-ref-line = '142'; + sec-mem-ref-name = 'xran_build_ecpri_hdr'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structecpri__seq__id_1a1f74b973e738bf357c470565a1256ef5'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'e_bit'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt.h'; + sec-mem-desc-line = '101'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +E bit +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1a3d4bd5c7eec6da4ab71688e209100761'; + sec-mem-ref-line = '143'; + sec-mem-ref-name = 'process_mbuf'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__transport_8c_1aa21387dfaba47c2046d4a05f50cfc768'; + sec-mem-ref-line = '142'; + sec-mem-ref-name = 'xran_build_ecpri_hdr'; + }; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt.h'; + cp-fileline = '98'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ +@description + see 3.1.3.1.7 ecpriSeqid (message identifier) +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 126; + node-label = 'ecpri_seq_id'; + node-link = { + node-link-id = 'structecpri__seq__id'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structeth__xran__up__pkt__hdr'; + cp-name = 'eth_xran_up_pkt_hdr'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structeth__xran__up__pkt__hdr_1a6e3fef7be6167ccb1e122ef76ceb409a'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct ether_hdr +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'eth_hdr'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_up.h'; + sec-mem-desc-line = '138'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structeth__xran__up__pkt__hdr_1a080244f9e1996ad47a6e709f78897803'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_up_pkt_hdr +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'xran_hdr'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_up.h'; + sec-mem-desc-line = '138'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__app__frag_8c_1a601e1216fbace8ea32a97e37df69b129'; + sec-mem-ref-line = '104'; + sec-mem-ref-name = 'xran_app_fragment_packet'; + }; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_up.h'; + cp-fileline = '166'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ +@description + Structure holds complete ethernet and xran u-plane packet header + 3.1.1 Ethernet Encapsulation +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 134; + node-label = 'xran_ecpri_cmn_hdr'; + node-link = { + node-link-id = 'structxran__ecpri__cmn__hdr'; + }; + }; /* node */ + node = { + node-id = 128; + node-label = 'eth_xran_up_pkt_hdr'; + node-link = { + node-link-id = 'structeth__xran__up__pkt__hdr'; + }; + node-child = { + child-id = '129'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++xran_hdr +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + node = { + node-id = 129; + node-label = 'xran_up_pkt_hdr'; + node-link = { + node-link-id = 'structxran__up__pkt__hdr'; + }; + node-child = { + child-id = '130'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++data_sec_hdr +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '131'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++app_hdr +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '132'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++ecpri_hdr +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + node = { + node-id = 133; + node-label = 'ecpri_seq_id'; + node-link = { + node-link-id = 'structecpri__seq__id'; + }; + }; /* node */ + node = { + node-id = 131; + node-label = 'radio_app_common_hdr'; + node-link = { + node-link-id = 'structradio__app__common__hdr'; + }; + }; /* node */ + node = { + node-id = 132; + node-label = 'xran_ecpri_hdr'; + node-link = { + node-link-id = 'structxran__ecpri__hdr'; + }; + node-child = { + child-id = '133'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++ecpri_seq_id +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '134'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++cmnhdr +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + node = { + node-id = 130; + node-label = 'data_section_hdr'; + node-link = { + node-link-id = 'structdata__section__hdr'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structethdi__hdr'; + cp-name = 'ethdi_hdr'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structethdi__hdr_1a4a94413bc9a9a87e4231f299727b8bc7'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'pkt_type'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethernet.h'; + sec-mem-desc-line = '113'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structethdi__hdr_1af8997c5cd725a1ef652639c2d33b7990'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'source_id'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethernet.h'; + sec-mem-desc-line = '114'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structethdi__hdr_1acaae193f1ae491957a7144912b32712b'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'dest_id'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethernet.h'; + sec-mem-desc-line = '115'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structethdi__hdr_1a5cddf2dd16a831a2fecfa71bc0f34191'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'data'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethernet.h'; + sec-mem-desc-line = '116'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethernet.h'; + cp-fileline = '112'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 136; + node-label = 'ethdi_hdr'; + node-link = { + node-link-id = 'structethdi__hdr'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +class = { + cp-id = 'classstd_1_1exception'; + cp-name = 'std::exception'; + cp-ref = { + ref-type = derived; + ref-id = 'structmissing__config__file__exception'; + ref-prot = public; + ref-virt = non-virtual; + }; + cp-ref = { + ref-type = derived; + ref-id = 'structreading__input__file__exception'; + ref-prot = public; + ref-virt = non-virtual; + }; + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + cp-fileline = '72'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-inheritancegraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 138; + node-label = 'missing_config_file_exception'; + node-link = { + node-link-id = 'structmissing__config__file__exception'; + }; + node-child = { + child-id = '137'; + relation = public-inheritance; + }; /* node-child */ + }; /* node */ + node = { + node-id = 137; + node-label = 'exception'; + }; /* node */ + node = { + node-id = 139; + node-label = 'reading_input_file_exception'; + node-link = { + node-link-id = 'structreading__input__file__exception'; + }; + node-child = { + child-id = '137'; + relation = public-inheritance; + }; /* node-child */ + }; /* node */ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 140; + node-label = 'exception'; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* class */ +class = { + cp-id = 'class_exception'; + cp-name = 'Exception'; + cp-ref = { + ref-type = derived; + ref-id = 'classmaster_1_1_get_out_of_loops'; + ref-prot = public; + ref-virt = non-virtual; + }; + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/master.py'; + cp-fileline = '120'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-inheritancegraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 142; + node-label = 'GetOutOfLoops'; + node-link = { + node-link-id = 'classmaster_1_1_get_out_of_loops'; + }; + node-child = { + child-id = '141'; + relation = public-inheritance; + }; /* node-child */ + }; /* node */ + node = { + node-id = 141; + node-label = 'Exception'; + }; /* node */ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 143; + node-label = 'Exception'; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* class */ +struct = { + cp-id = 'struct_block_float_compander_1_1_expanded_data'; + cp-name = 'BlockFloatCompander::ExpandedData'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct_block_float_compander_1_1_expanded_data_1a7bc8fb83339162111a65afae4adeb8a6'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +CACHE_ALIGNED int16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'dataExpandedIn'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_compression.hpp'; + sec-mem-desc-line = '72'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Expanded data or input data to compressor. +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'compander__functional_8cc_1a53f55fd621ce0edd0b50933321ae7ade'; + sec-mem-ref-line = '176'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct_block_float_compander_1_1_expanded_data_1a24d9d1d1b013179affb41be0424b8360'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +CACHE_ALIGNED int16_t * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'dataExpanded'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_compression.hpp'; + sec-mem-desc-line = '73'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'compander__functional_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '113'; + sec-mem-ref-name = 'BfpPerfEx::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'compander__functional_8cc_1a53f55fd621ce0edd0b50933321ae7ade'; + sec-mem-ref-line = '176'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__compression_8cpp_1a74512492194fcab6a55f769e02aa37b4'; + sec-mem-ref-line = '44'; + sec-mem-ref-name = 'computeExponent'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__compression_8cpp_1a5b3ddd524752c8f556bc4c654e392321'; + sec-mem-ref-line = '335'; + sec-mem-ref-name = 'BlockFloatCompander::BlockFloatCompress_8b_AVX512'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__compression_8cpp_1a2356f186e264c7cea4e3c26d448bb1d5'; + sec-mem-ref-line = '359'; + sec-mem-ref-name = 'BlockFloatCompander::BlockFloatCompress_9b_AVX512'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__compression_8cpp_1ae525362ca026142cab4ac983e29ad0ff'; + sec-mem-ref-line = '395'; + sec-mem-ref-name = 'BlockFloatCompander::BlockFloatCompress_10b_AVX512'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__compression_8cpp_1a2a8db4c5039bc3d5237b31ca2a129815'; + sec-mem-ref-line = '431'; + sec-mem-ref-name = 'BlockFloatCompander::BlockFloatCompress_12b_AVX512'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__compression_8cpp_1ae4ad42b117d59e2e7ff8fad2d5da506e'; + sec-mem-ref-line = '467'; + sec-mem-ref-name = 'BlockFloatCompander::BlockFloatExpand_8b_AVX512'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__compression_8cpp_1a32917a78ac1596d9aa95e4089ec88ba9'; + sec-mem-ref-line = '486'; + sec-mem-ref-name = 'BlockFloatCompander::BlockFloatExpand_9b_AVX512'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__compression_8cpp_1a8fae7506e2b9c9f9365b306375ab6eff'; + sec-mem-ref-line = '510'; + sec-mem-ref-name = 'BlockFloatCompander::BlockFloatExpand_10b_AVX512'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__compression_8cpp_1a65b09b78fac0c8dcfc9edd5091b728dd'; + sec-mem-ref-line = '534'; + sec-mem-ref-name = 'BlockFloatCompander::BlockFloatExpand_12b_AVX512'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__compression_8cpp_1a5f4776cd07aac0ae2d9dbd02aaba3435'; + sec-mem-ref-line = '605'; + sec-mem-ref-name = 'BlockFloatCompander::BlockFloatExpand_Basic'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__compression_8cpp_1a0651de68e87558106615163f96b3e599'; + sec-mem-ref-line = '729'; + sec-mem-ref-name = 'xranlib_compress_avx512'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__compression_8cpp_1a2bd6ebeefb6ca9674598d443e697918c'; + sec-mem-ref-line = '834'; + sec-mem-ref-name = 'xranlib_decompress_avx512'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct_block_float_compander_1_1_expanded_data_1ad88e9475d4e269108bb716a1cf5f0d40'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'iqWidth'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_compression.hpp'; + sec-mem-desc-line = '76'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Size of mantissa including sign bit. +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'compander__functional_8cc_1a53f55fd621ce0edd0b50933321ae7ade'; + sec-mem-ref-line = '176'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__compression_8cpp_1a74512492194fcab6a55f769e02aa37b4'; + sec-mem-ref-line = '44'; + sec-mem-ref-name = 'computeExponent'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__compression_8cpp_1a45cc83687ca392534168cb8f4d64182f'; + sec-mem-ref-line = '558'; + sec-mem-ref-name = 'BlockFloatCompander::BlockFloatCompress_Basic'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__compression_8cpp_1a0651de68e87558106615163f96b3e599'; + sec-mem-ref-line = '729'; + sec-mem-ref-name = 'xranlib_compress_avx512'; + }; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_compression.hpp'; + cp-fileline = '70'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 145; + node-label = 'ExpandedData'; + node-link = { + node-link-id = 'struct_block_float_compander_1_1_expanded_data'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'struct_block_float_compander_b_f_w_1_1_expanded_data'; + cp-name = 'BlockFloatCompanderBFW::ExpandedData'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct_block_float_compander_b_f_w_1_1_expanded_data_1a7bc8fb83339162111a65afae4adeb8a6'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +CACHE_ALIGNED int16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'dataExpandedIn'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_compression.hpp'; + sec-mem-desc-line = '114'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Expanded data or input data to compressor. +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct_block_float_compander_b_f_w_1_1_expanded_data_1a24d9d1d1b013179affb41be0424b8360'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +CACHE_ALIGNED int16_t * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'dataExpanded'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_compression.hpp'; + sec-mem-desc-line = '115'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__compression_8cpp_1a5f4776cd07aac0ae2d9dbd02aaba3435'; + sec-mem-ref-line = '687'; + sec-mem-ref-name = 'BlockFloatCompanderBFW::BlockFloatExpand_Basic'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__compression_8cpp_1aa027200fc051c80b515ee8aeadf44a0e'; + sec-mem-ref-line = '783'; + sec-mem-ref-name = 'xranlib_compress_avx512_bfw'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct_block_float_compander_b_f_w_1_1_expanded_data_1ad88e9475d4e269108bb716a1cf5f0d40'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'iqWidth'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_compression.hpp'; + sec-mem-desc-line = '118'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Size of mantissa including sign bit. +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__compression_8cpp_1a45cc83687ca392534168cb8f4d64182f'; + sec-mem-ref-line = '640'; + sec-mem-ref-name = 'BlockFloatCompanderBFW::BlockFloatCompress_Basic'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__compression_8cpp_1aa027200fc051c80b515ee8aeadf44a0e'; + sec-mem-ref-line = '783'; + sec-mem-ref-name = 'xranlib_compress_avx512_bfw'; + }; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_compression.hpp'; + cp-fileline = '112'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 147; + node-label = 'ExpandedData'; + node-link = { + node-link-id = 'struct_block_float_compander_b_f_w_1_1_expanded_data'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structnlohmann_1_1detail_1_1external__constructor'; + cp-name = 'nlohmann::detail::external_constructor'; + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + cp-fileline = '219'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 149; + node-label = 'external_constructor< value_t >'; + node-link = { + node-link-id = 'structnlohmann_1_1detail_1_1external__constructor'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1array_01_4'; + cp-name = 'nlohmann::detail::external_constructor< value_t::array >'; + cp-section = { + sec-kind = 'public-static-func'; + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1array_01_4_1a5003f696ea3e28d18d7a4dbe9ef49aa1'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'construct'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +BasicJsonType & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'j'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const typename BasicJsonType::array_t & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'arr'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '293'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1array_01_4_1ad9a22b8b02dafec80f850ddbfb52981e'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'construct'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +BasicJsonType & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'j'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const CompatibleArrayType & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'arr'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '304'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + cp-fileline = '291'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 151; + node-label = 'external_constructor< value_t::array >'; + node-link = { + node-link-id = 'structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1array_01_4'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1boolean_01_4'; + cp-name = 'nlohmann::detail::external_constructor< value_t::boolean >'; + cp-section = { + sec-kind = 'public-static-func'; + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1boolean_01_4_1ae331f2baa366b6c6a2f652597eb50540'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'construct'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +BasicJsonType & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'j'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +typename BasicJsonType::boolean_t +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'b'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '225'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + cp-fileline = '223'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 153; + node-label = 'external_constructor< value_t::boolean >'; + node-link = { + node-link-id = 'structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1boolean_01_4'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__float_01_4'; + cp-name = 'nlohmann::detail::external_constructor< value_t::number_float >'; + cp-section = { + sec-kind = 'public-static-func'; + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__float_01_4_1aa0120124dea7824ec6df80e991aea33e'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'construct'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +BasicJsonType & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'j'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +typename BasicJsonType::number_float_t +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'val'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '249'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + cp-fileline = '247'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 155; + node-label = 'external_constructor< value_t::number_float >'; + node-link = { + node-link-id = 'structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__float_01_4'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__integer_01_4'; + cp-name = 'nlohmann::detail::external_constructor< value_t::number_integer >'; + cp-section = { + sec-kind = 'public-static-func'; + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__integer_01_4_1a91772fd76348fd21b39fd809968814a5'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'construct'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +BasicJsonType & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'j'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +typename BasicJsonType::number_integer_t +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'val'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '281'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + cp-fileline = '279'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 157; + node-label = 'external_constructor< value_t::number_integer >'; + node-link = { + node-link-id = 'structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__integer_01_4'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__unsigned_01_4'; + cp-name = 'nlohmann::detail::external_constructor< value_t::number_unsigned >'; + cp-section = { + sec-kind = 'public-static-func'; + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__unsigned_01_4_1aebb9cf4af36070c7c4a24fd97010aa88'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'construct'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +BasicJsonType & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'j'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +typename BasicJsonType::number_unsigned_t +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'val'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '269'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + cp-fileline = '267'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 159; + node-label = 'external_constructor< value_t::number_unsigned >'; + node-link = { + node-link-id = 'structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__unsigned_01_4'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1object_01_4'; + cp-name = 'nlohmann::detail::external_constructor< value_t::object >'; + cp-section = { + sec-kind = 'public-static-func'; + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1object_01_4_1a531b0b0169f0bf3c9a1ac5ff9fedb207'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'construct'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +BasicJsonType & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'j'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const typename BasicJsonType::object_t & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'obj'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '318'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1object_01_4_1aa0a616bc6e376741a3e4f0554ee48654'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'construct'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +BasicJsonType & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'j'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const CompatibleObjectType & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'obj'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '329'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + cp-fileline = '316'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 161; + node-label = 'external_constructor< value_t::object >'; + node-link = { + node-link-id = 'structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1object_01_4'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1string_01_4'; + cp-name = 'nlohmann::detail::external_constructor< value_t::string >'; + cp-section = { + sec-kind = 'public-static-func'; + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1string_01_4_1a3661b916129e658d55d74b4a2a8797c3'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'construct'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +BasicJsonType & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'j'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const typename BasicJsonType::string_t & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 's'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '237'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + cp-fileline = '235'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 163; + node-label = 'external_constructor< value_t::string >'; + node-link = { + node-link-id = 'structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1string_01_4'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +class = { + cp-id = 'classstd_1_1false__type'; + cp-name = 'std::false_type'; + cp-ref = { + ref-type = derived; + ref-id = 'structnlohmann_1_1detail_1_1is__compatible__integer__type__impl'; + ref-prot = public; + ref-virt = non-virtual; + }; + cp-ref = { + ref-type = derived; + ref-id = 'structnlohmann_1_1detail_1_1is__compatible__object__type__impl'; + ref-prot = public; + ref-virt = non-virtual; + }; + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + cp-fileline = '375'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-inheritancegraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 164; + node-label = 'false_type'; + }; /* node */ + node = { + node-id = 165; + node-label = 'is_compatible_integer_type_impl< bool, typename, typename >'; + node-link = { + node-link-id = 'structnlohmann_1_1detail_1_1is__compatible__integer__type__impl'; + }; + node-child = { + child-id = '164'; + relation = public-inheritance; + }; /* node-child */ + }; /* node */ + node = { + node-id = 166; + node-label = 'is_compatible_object_type_impl< B, RealType, CompatibleObjectType >'; + node-link = { + node-link-id = 'structnlohmann_1_1detail_1_1is__compatible__object__type__impl'; + }; + node-child = { + child-id = '164'; + relation = public-inheritance; + }; /* node-child */ + }; /* node */ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 167; + node-label = 'false_type'; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* class */ +struct = { + cp-id = 'struct_f_p_g_a_phase_comp_cfg'; + cp-name = 'FPGAPhaseCompCfg'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct_f_p_g_a_phase_comp_cfg_1a07f4226dca8e0d57f316ef71e8ce7097'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'phaseFlag'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + sec-mem-desc-line = '83'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct_f_p_g_a_phase_comp_cfg_1a6d109b341fbd0f31e0a1198a87e79434'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'NRARFCN'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + sec-mem-desc-line = '84'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct_f_p_g_a_phase_comp_cfg_1a70a3677b8445208f3b3b1dc5e39c2be0'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'SULFreShift'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + sec-mem-desc-line = '85'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct_f_p_g_a_phase_comp_cfg_1a4815820879b084312800d26c1072a38c'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'SULFlag'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + sec-mem-desc-line = '86'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct_f_p_g_a_phase_comp_cfg_1a5c5d68350191dc26727218ef0ce86f1d'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'rsv'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + sec-mem-desc-line = '87'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + cp-fileline = '82'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 169; + node-label = 'FPGAPhaseCompCfg'; + node-link = { + node-link-id = 'struct_f_p_g_a_phase_comp_cfg'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structnlohmann_1_1detail_1_1from__json__fn'; + cp-name = 'nlohmann::detail::from_json_fn'; + cp-section = { + sec-kind = 'public-func'; + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'structnlohmann_1_1detail_1_1from__json__fn_1a6729179bc94182b30176c8d5b7401513'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'operator()'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const BasicJsonType & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'j'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +T & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'val'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '853'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-section = { + sec-kind = 'private-func'; + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'structnlohmann_1_1detail_1_1from__json__fn_1a7a53d0881f94747d95fdea10a0fa3104'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +auto +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'call'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const BasicJsonType & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'j'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +T & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'val'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +priority_tag< 1 > +_EnD_oF_dEf_TeXt_; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '837'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'structnlohmann_1_1detail_1_1from__json__fn_1aab79b1961556816ce1923f6572b3b22d'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'call'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const BasicJsonType & +_EnD_oF_dEf_TeXt_; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +T & +_EnD_oF_dEf_TeXt_; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +priority_tag< 0 > +_EnD_oF_dEf_TeXt_; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '845'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + cp-fileline = '834'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 171; + node-label = 'from_json_fn'; + node-link = { + node-link-id = 'structnlohmann_1_1detail_1_1from__json__fn'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +class = { + cp-id = 'classmaster_1_1_get_out_of_loops'; + cp-name = 'master::GetOutOfLoops'; + cp-ref = { + ref-type = base; + ref-id = 'class_exception'; + ref-prot = public; + ref-virt = non-virtual; + }; + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/master.py'; + cp-fileline = '120'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-inheritancegraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 172; + node-label = 'GetOutOfLoops'; + node-link = { + node-link-id = 'classmaster_1_1_get_out_of_loops'; + }; + node-child = { + child-id = '173'; + relation = public-inheritance; + }; /* node-child */ + }; /* node */ + node = { + node-id = 173; + node-label = 'Exception'; + }; /* node */ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 174; + node-label = 'GetOutOfLoops'; + node-link = { + node-link-id = 'classmaster_1_1_get_out_of_loops'; + }; + node-child = { + child-id = '175'; + relation = public-inheritance; + }; /* node-child */ + }; /* node */ + node = { + node-id = 175; + node-label = 'Exception'; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* class */ +struct = { + cp-id = 'structnlohmann_1_1detail_1_1has__from__json'; + cp-name = 'nlohmann::detail::has_from_json'; + cp-section = { + sec-kind = 'public-static-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structnlohmann_1_1detail_1_1has__from__json_1a5b4ee4ae6cba6bb75200ba7af1910873'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static constexpr bool +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'value'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += std::is_integral >()))>::value +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '461'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-section = { + sec-kind = 'private-static-func'; + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'structnlohmann_1_1detail_1_1has__from__json_1affd80d6b04fb7e02be8f512315d9b384'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static int +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'detect'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +U && +_EnD_oF_dEf_TeXt_; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '457'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'structnlohmann_1_1detail_1_1has__from__json_1a342e12c9ac8e9281c5cb64975b3d5e09'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'detect'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +... +_EnD_oF_dEf_TeXt_; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '458'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + cp-fileline = '452'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 177; + node-label = 'has_from_json< BasicJsonType, T >'; + node-link = { + node-link-id = 'structnlohmann_1_1detail_1_1has__from__json'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structnlohmann_1_1detail_1_1has__non__default__from__json'; + cp-name = 'nlohmann::detail::has_non_default_from_json'; + cp-section = { + sec-kind = 'public-static-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structnlohmann_1_1detail_1_1has__non__default__from__json_1a5b4ee4ae6cba6bb75200ba7af1910873'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static constexpr bool +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'value'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += std::is_integral >()))>::value +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '479'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-section = { + sec-kind = 'private-static-func'; + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'structnlohmann_1_1detail_1_1has__non__default__from__json_1affd80d6b04fb7e02be8f512315d9b384'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static int +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'detect'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +U && +_EnD_oF_dEf_TeXt_; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '475'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'structnlohmann_1_1detail_1_1has__non__default__from__json_1a342e12c9ac8e9281c5cb64975b3d5e09'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'detect'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +... +_EnD_oF_dEf_TeXt_; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '476'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + cp-fileline = '469'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 179; + node-label = 'has_non_default_from_json< BasicJsonType, T >'; + node-link = { + node-link-id = 'structnlohmann_1_1detail_1_1has__non__default__from__json'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structnlohmann_1_1detail_1_1has__to__json'; + cp-name = 'nlohmann::detail::has_to_json'; + cp-section = { + sec-kind = 'public-static-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structnlohmann_1_1detail_1_1has__to__json_1a5b4ee4ae6cba6bb75200ba7af1910873'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static constexpr bool +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'value'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += std::is_integral >()))>::value +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '494'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-section = { + sec-kind = 'private-static-func'; + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'structnlohmann_1_1detail_1_1has__to__json_1affd80d6b04fb7e02be8f512315d9b384'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static int +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'detect'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +U && +_EnD_oF_dEf_TeXt_; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '490'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'structnlohmann_1_1detail_1_1has__to__json_1a342e12c9ac8e9281c5cb64975b3d5e09'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'detect'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +... +_EnD_oF_dEf_TeXt_; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '491'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + cp-fileline = '486'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 181; + node-label = 'has_to_json< BasicJsonType, T >'; + node-link = { + node-link-id = 'structnlohmann_1_1detail_1_1has__to__json'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structstd_1_1hash_3_01nlohmann_1_1json_01_4'; + cp-name = 'std::hash< nlohmann::json >'; + cp-section = { + sec-kind = 'public-func'; + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'structstd_1_1hash_3_01nlohmann_1_1json_01_4_1ac575ca25c0e836661bdb284b102a6aaf'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +std::size_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'operator()'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const nlohmann::json & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'j'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '12924'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +return a hash value for a JSON object +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@since version 1.0.0 +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'json_8hpp_1a42de62d3e7b710d0279ac373a22c63eb'; + sec-mem-ref-line = '2624'; + sec-mem-ref-name = 'basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::dump'; + }; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + cp-fileline = '12918'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ +hash value for JSON objects +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 183; + node-label = 'hash< nlohmann::json >'; + node-link = { + node-link-id = 'structstd_1_1hash_3_01nlohmann_1_1json_01_4'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +class = { + cp-id = 'class_init___sys___check'; + cp-name = 'Init_Sys_Check'; + cp-ref = { + ref-type = base; + ref-id = 'class_kernel_tests'; + ref-prot = public; + ref-virt = non-virtual; + }; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_init___sys___check_1aeb7832eb5f4721f4a281feaacd1bb466'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +BbuIoBufCtrlStruct +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'sFrontHaulTxBbuIoBufCtrl'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/init_sys_functional.cc'; + sec-mem-desc-line = '94'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'init__sys__functional_8cc_1ac2f03036711a42868a78783b735097e5'; + sec-mem-ref-line = '120'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_init___sys___check_1a964fb75fa6395056fade4167354019f5'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +BbuIoBufCtrlStruct +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'sFrontHaulTxPrbMapBbuIoBufCtrl'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/init_sys_functional.cc'; + sec-mem-desc-line = '95'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'init__sys__functional_8cc_1ac2f03036711a42868a78783b735097e5'; + sec-mem-ref-line = '120'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_init___sys___check_1af3ad0b6136919aabcdbac46b754aa7ed'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +BbuIoBufCtrlStruct +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'sFrontHaulRxBbuIoBufCtrl'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/init_sys_functional.cc'; + sec-mem-desc-line = '96'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'init__sys__functional_8cc_1ac2f03036711a42868a78783b735097e5'; + sec-mem-ref-line = '120'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_init___sys___check_1a3bfdc9ec9f4c738715460ddd03f0833f'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +BbuIoBufCtrlStruct +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'sFrontHaulRxPrbMapBbuIoBufCtrl'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/init_sys_functional.cc'; + sec-mem-desc-line = '97'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'init__sys__functional_8cc_1ac2f03036711a42868a78783b735097e5'; + sec-mem-ref-line = '120'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_init___sys___check_1a4bcca72021c589be2adf3647647a1232'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +BbuIoBufCtrlStruct +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'sFHPrachRxBbuIoBufCtrl'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/init_sys_functional.cc'; + sec-mem-desc-line = '98'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'init__sys__functional_8cc_1ac2f03036711a42868a78783b735097e5'; + sec-mem-ref-line = '120'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_init___sys___check_1a9ef97a8be35f99eec4b85d06a3216762'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_flat_buffer +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'sFrontHaulTxBuffers'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/init_sys_functional.cc'; + sec-mem-desc-line = '98'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_init___sys___check_1a511190592ad97b9f7a43ad31c761ff56'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_flat_buffer +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'sFrontHaulTxPrbMapBuffers'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/init_sys_functional.cc'; + sec-mem-desc-line = '98'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_init___sys___check_1a1dfd09a710fa1cf63f61883a284a5f0f'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_flat_buffer +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'sFrontHaulRxBuffers'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/init_sys_functional.cc'; + sec-mem-desc-line = '98'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_init___sys___check_1a416ab9567cd2c1bed5a500644fce9a04'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_flat_buffer +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'sFrontHaulRxPrbMapBuffers'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/init_sys_functional.cc'; + sec-mem-desc-line = '98'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_init___sys___check_1a7976d6beded6455154f323e1e542f085'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_flat_buffer +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'sFHPrachRxBuffers'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/init_sys_functional.cc'; + sec-mem-desc-line = '98'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_init___sys___check_1a492c471226877c87f771b9f4fe13a6ab'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'nInstanceHandle'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/init_sys_functional.cc'; + sec-mem-desc-line = '107'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'init__sys__functional_8cc_1ac2f03036711a42868a78783b735097e5'; + sec-mem-ref-line = '120'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_init___sys___check_1afbefaeac48b99d44a1930b66c9e4e21f'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'nBufPoolIndex'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/init_sys_functional.cc'; + sec-mem-desc-line = '108'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'init__sys__functional_8cc_1ac2f03036711a42868a78783b735097e5'; + sec-mem-ref-line = '120'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_init___sys___check_1a0d19e9e74d94b9c2fb5734392bd7a590'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'nInstanceNum'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/init_sys_functional.cc'; + sec-mem-desc-line = '109'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'init__sys__functional_8cc_1ac2f03036711a42868a78783b735097e5'; + sec-mem-ref-line = '120'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + }; /* cp-section */ + cp-section = { + sec-kind = 'public-static-func'; + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1aad8181b222f27240e9f07dcb6e620fa3'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'SetUpTestCase'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '162'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8cpp_1ad8c062e9b24e4b3a8408b23a0d8ab428'; + sec-mem-ref-line = '106'; + sec-mem-ref-name = 'read_json_from_file'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8hpp_1a70518905d36686ddeeb2eb3b2682f016'; + sec-mem-ref-line = '73'; + sec-mem-ref-name = 'missing_config_file_exception::what'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8cpp_1a56c41cbb9de4bce25da45ecd74b46a81'; + sec-mem-ref-line = '119'; + sec-mem-ref-name = 'tsc_recovery'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1aaff0dc66f57f643a49ad3dd6bcb56916'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'TearDownTestCase'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '185'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1a6157ff083be863bba0a7804cd1788d96'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static unsigned +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'get_number_of_cases'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'type'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '190'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8cpp_1ad8c062e9b24e4b3a8408b23a0d8ab428'; + sec-mem-ref-line = '106'; + sec-mem-ref-name = 'read_json_from_file'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'json_8hpp_1a0801762a3fe36fe32dca5f16e515478d'; + sec-mem-ref-line = '5040'; + sec-mem-ref-name = 'basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::size'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8hpp_1a70518905d36686ddeeb2eb3b2682f016'; + sec-mem-ref-line = '73'; + sec-mem-ref-name = 'missing_config_file_exception::what'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1ab0ad0e23f1b51f15bd9594a24a2c438f'; + sec-mem-ref-line = '778'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + }; /* cp-section */ + cp-section = { + sec-kind = 'public-static-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_kernel_tests_1abd42f3e51ae547ec1631e9ac60df29d6'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static json +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'conf'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '159'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_kernel_tests_1a4e9607ae94d1958d38388cead2e4e3bf'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static std::string +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'test_type'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '160'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-section = { + sec-kind = 'protected-func'; + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_init___sys___check_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'SetUp'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/init_sys_functional.cc'; + sec-mem-desc-line = '79'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'xranlib__unit__test__main_8cc_1a1b2100f9f398243bb4bdbf0db003b9a3'; + sec-mem-ref-line = '44'; + sec-mem-ref-name = 'xranlib'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a200da4e2209141f12cafef2380cb801a'; + sec-mem-ref-line = '740'; + sec-mem-ref-name = 'xranLibWraper::Init'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1ad93226058ef4fd59bd7d0cd55701b752'; + sec-mem-ref-line = '936'; + sec-mem-ref-name = 'xranLibWraper::Open'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'init__sys__functional_8cc_1ac6a3121934d1301a33197c857bd61391'; + sec-mem-ref-line = '63'; + sec-mem-ref-name = 'xran_fh_rx_callback'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'init__sys__functional_8cc_1a2f5cc4dc3c9d4a042cab8024cb7278c3'; + sec-mem-ref-line = '69'; + sec-mem-ref-name = 'xran_fh_rx_prach_callback'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_init___sys___check_1ac4fca95dc3b93372ce7f2078baf8e8b6'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'TearDown'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/init_sys_functional.cc'; + sec-mem-desc-line = '86'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'xranlib__unit__test__main_8cc_1a1b2100f9f398243bb4bdbf0db003b9a3'; + sec-mem-ref-line = '44'; + sec-mem-ref-name = 'xranlib'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a7f7a3199c392465d0767c6506c1af5b4'; + sec-mem-ref-line = '984'; + sec-mem-ref-name = 'xranLibWraper::Close'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1ae89a123aad1c66a76c398b7af216aae4'; + sec-mem-ref-line = '914'; + sec-mem-ref-name = 'xranLibWraper::Cleanup'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1ad49152dbf530aeb2a2844895e6d47a3e'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'set_division_factor'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const double +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'factor'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '222'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Set division factor. +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\param [in] factor Division factor that divides mean and standard deviation. +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1a1bf2180658ad6d459231c631237f9311'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'set_results_units'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'units'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '231'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Set reults units. +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\param [in] units Units that are displayed in the report. +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1a5666c82d220a2c66784b9a238cc43c7e'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'set_parallelization_factor'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const int +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'factor'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '240'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Set size of processed data. +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\param [in] size Size of processed data used to calculate module throughput. +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1a3cf2e25a99be565a4ab570737cfeac41'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'performance'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'isa'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'module_name'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +F +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'function'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +Args ... +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'args'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '253'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Run performance test case for a given function. +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\param [in] isa Used Instruction Set. +\param [in] module_name name of the tested kernel. +\param [in] function function to be tested. +\param [in] args function's arguments. +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8cpp_1ae39390f41ba978a1f0d79691436c074a'; + sec-mem-ref-line = '47'; + sec-mem-ref-name = 'bind_to_cpu'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8hpp_1a12661f1773e3ba71d5b29d7ffa042b1a'; + sec-mem-ref-line = '68'; + sec-mem-ref-name = 'BenchmarkParameters::cpu_id'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8hpp_1af69d779517f2bdee3aba95bc38022074'; + sec-mem-ref-line = '425'; + sec-mem-ref-name = 'run_benchmark'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a21d05f2c6607fc534e67ed32883de81f'; + sec-mem-ref-line = '766'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1af9e5657bce588536aef7baf8c33a0108'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'print_test_description'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'isa'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'module_name'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '271'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Print unique test description to the results xml file. +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\param [in] isa Used Instruction Set. +\param [in] module_name name of the tested kernel. +\param [in] function function to be tested. +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1a5a1ec6ee393f8538815bc0a82eac2e88'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +const std::string +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'get_case_name'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '338'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Get name of the test case from JSON file. +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\return Test'ss case name or a default name if name field is missing. +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1abf28e5ea54fab2b0685972fe6e75560a'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'init_test'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'type'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '358'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Defines section in the conf.json that is used to load parameters from. +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\param [in] type Name of the section in the JSON file. +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'json_8hpp_1a0801762a3fe36fe32dca5f16e515478d'; + sec-mem-ref-line = '5040'; + sec-mem-ref-name = 'basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::size'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8cpp_1a876ed07783b27d38779f7cef4db673e6'; + sec-mem-ref-line = '86'; + sec-mem-ref-name = 'read_data_to_aligned_array'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a69b4bff6061152ff85770d725cced3cc'; + sec-mem-ref-line = '32'; + sec-mem-ref-name = 'module_name'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '112'; + sec-mem-ref-name = 'C_plane::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'chain__tests_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '135'; + sec-mem-ref-name = 'TestChain::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '92'; + sec-mem-ref-name = 'PrachCheck::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__performance_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '91'; + sec-mem-ref-name = 'PrachPerf::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'u__plane__functional_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '37'; + sec-mem-ref-name = 'U_planeCheck::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'u__plane__performance_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '41'; + sec-mem-ref-name = 'U_planePerf::SetUp'; + }; + }; /* sec-member */ + }; /* cp-section */ + cp-section = { + sec-kind = 'protected-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_kernel_tests_1a929401f577bc540c1f8b7ec8c3b974fd'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +double +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'division_factor'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += 1.0 +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '214'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_kernel_tests_1a0f6b306c821273c76461f8799c5d4d4c'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +std::string +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'result_units'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += "None" +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '215'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_kernel_tests_1a88ea1f1de6b4d7d01ddc5fced408c813'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'parallelization_factor'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += 1 +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '216'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/init_sys_functional.cc'; + cp-fileline = '76'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-inheritancegraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 186; + node-label = 'TestWithParam< unsigned >'; + }; /* node */ + node = { + node-id = 184; + node-label = 'Init_Sys_Check'; + node-link = { + node-link-id = 'class_init___sys___check'; + }; + node-child = { + child-id = '185'; + relation = public-inheritance; + }; /* node-child */ + }; /* node */ + node = { + node-id = 185; + node-label = 'KernelTests'; + node-link = { + node-link-id = 'class_kernel_tests'; + }; + node-child = { + child-id = '186'; + relation = public-inheritance; + }; /* node-child */ + }; /* node */ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 189; + node-label = 'TestWithParam< unsigned >'; + }; /* node */ + node = { + node-id = 191; + node-label = 'BbuIoBufCtrlStruct'; + node-link = { + node-link-id = 'struct_bbu_io_buf_ctrl_struct'; + }; + node-child = { + child-id = '192'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++sBufferList +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + node = { + node-id = 187; + node-label = 'Init_Sys_Check'; + node-link = { + node-link-id = 'class_init___sys___check'; + }; + node-child = { + child-id = '188'; + relation = public-inheritance; + }; /* node-child */ + node-child = { + child-id = '191'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++sFrontHaulTxBbuIoBufCtrl ++sFHPrachRxBbuIoBufCtrl ++sFrontHaulRxBbuIoBufCtrl ++sFrontHaulTxPrbMapBbuIoBufCtrl ++sFrontHaulRxPrbMapBbuIoBufCtrl +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '193'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++sFHPrachRxBuffers ++sFrontHaulTxPrbMapBuffers ++sFrontHaulRxPrbMapBuffers ++sFrontHaulTxBuffers ++sFrontHaulRxBuffers +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + node = { + node-id = 188; + node-label = 'KernelTests'; + node-link = { + node-link-id = 'class_kernel_tests'; + }; + node-child = { + child-id = '189'; + relation = public-inheritance; + }; /* node-child */ + node-child = { + child-id = '190'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++conf +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + node = { + node-id = 193; + node-label = 'xran_flat_buffer'; + node-link = { + node-link-id = 'structxran__flat__buffer'; + }; + }; /* node */ + node = { + node-id = 192; + node-label = 'xran_buffer_list'; + node-link = { + node-link-id = 'structxran__buffer__list'; + }; + node-child = { + child-id = '193'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++pBuffers +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + node = { + node-id = 190; + node-label = 'basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >'; + node-link = { + node-link-id = 'classnlohmann_1_1basic__json'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* class */ +class = { + cp-id = 'classstd_1_1integral__constant'; + cp-name = 'std::integral_constant'; + cp-ref = { + ref-type = derived; + ref-id = 'structnlohmann_1_1detail_1_1negation'; + ref-prot = public; + ref-virt = non-virtual; + }; + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + cp-fileline = '208'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-inheritancegraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 194; + node-label = 'integral_constant'; + }; /* node */ + node = { + node-id = 195; + node-label = 'negation< bool, !B::value >'; + node-link = { + node-link-id = 'structnlohmann_1_1detail_1_1negation'; + }; + node-child = { + child-id = '194'; + relation = public-inheritance; + }; /* node-child */ + }; /* node */ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 196; + node-label = 'integral_constant'; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* class */ +struct = { + cp-id = 'structnlohmann_1_1basic__json_1_1internal__iterator'; + cp-name = 'nlohmann::basic_json::internal_iterator'; + cp-section = { + sec-kind = 'public-func'; + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'structnlohmann_1_1basic__json_1_1internal__iterator_1a5194e7925591646b88c3a0e933c4f5e6'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'internal_iterator'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '8692'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +create an uninitialized internal_iterator +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structnlohmann_1_1basic__json_1_1internal__iterator_1aed5be3ba1fcc0a17ac81ce60a3d4c1fe'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +object_t::iterator +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'object_iterator'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '8685'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +iterator for JSON objects +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structnlohmann_1_1basic__json_1_1internal__iterator_1af00e82eca028098ec742530526e6a767'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +array_t::iterator +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'array_iterator'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '8687'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +iterator for JSON arrays +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structnlohmann_1_1basic__json_1_1internal__iterator_1accbe8b3f5d365b5df554648110fe43fb'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +primitive_iterator_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'primitive_iterator'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '8689'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +generic iterator for all other types +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + cp-fileline = '8683'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ +an iterator value +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ +@note This structure could easily be a union, but MSVC currently does not +allow unions members with complex constructors, see +https://github.com/nlohmann/json/pull/105. +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 199; + node-label = 'primitive_iterator_t'; + }; /* node */ + node = { + node-id = 198; + node-label = 'basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::internal_iterator'; + node-child = { + child-id = '199'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++primitive_iterator +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structnlohmann_1_1detail_1_1is__basic__json__nested__type'; + cp-name = 'nlohmann::detail::is_basic_json_nested_type'; + cp-section = { + sec-kind = 'public-static-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structnlohmann_1_1detail_1_1is__basic__json__nested__type_1afb4135e27d236d51b7a115e86f9a5a31'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static auto constexpr +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'value'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += std::is_same::value or + std::is_same::value or + std::is_same::value or + std::is_same::value or + std::is_same::value +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '400'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + cp-fileline = '399'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 201; + node-label = 'is_basic_json_nested_type< BasicJsonType, T >'; + node-link = { + node-link-id = 'structnlohmann_1_1detail_1_1is__basic__json__nested__type'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structnlohmann_1_1detail_1_1is__compatible__array__type'; + cp-name = 'nlohmann::detail::is_compatible_array_type'; + cp-section = { + sec-kind = 'public-static-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structnlohmann_1_1detail_1_1is__compatible__array__type_1afb4135e27d236d51b7a115e86f9a5a31'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static auto constexpr +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'value'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += + conjunction>, + negation>, + negation>, + negation>, + has_value_type, + has_iterator>::value +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '410'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + cp-fileline = '409'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 203; + node-label = 'is_compatible_array_type< BasicJsonType, CompatibleArrayType >'; + node-link = { + node-link-id = 'structnlohmann_1_1detail_1_1is__compatible__array__type'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structnlohmann_1_1detail_1_1is__compatible__integer__type'; + cp-name = 'nlohmann::detail::is_compatible_integer_type'; + cp-section = { + sec-kind = 'public-static-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structnlohmann_1_1detail_1_1is__compatible__integer__type_1a615a7728e2278acb2cab50854079d7fc'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static constexpr auto +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'value'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += + is_compatible_integer_type_impl < + std::is_integral::value and + not std::is_same::value, + RealIntegerType, CompatibleNumberIntegerType > ::value +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '441'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + cp-fileline = '440'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 205; + node-label = 'is_compatible_integer_type< RealIntegerType, CompatibleNumberIntegerType >'; + node-link = { + node-link-id = 'structnlohmann_1_1detail_1_1is__compatible__integer__type'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structnlohmann_1_1detail_1_1is__compatible__integer__type__impl'; + cp-name = 'nlohmann::detail::is_compatible_integer_type_impl'; + cp-ref = { + ref-type = base; + ref-id = 'classstd_1_1false__type'; + ref-prot = public; + ref-virt = non-virtual; + }; + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + cp-fileline = '422'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-inheritancegraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 207; + node-label = 'false_type'; + }; /* node */ + node = { + node-id = 206; + node-label = 'is_compatible_integer_type_impl< bool, typename, typename >'; + node-link = { + node-link-id = 'structnlohmann_1_1detail_1_1is__compatible__integer__type__impl'; + }; + node-child = { + child-id = '207'; + relation = public-inheritance; + }; /* node-child */ + }; /* node */ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 209; + node-label = 'false_type'; + }; /* node */ + node = { + node-id = 208; + node-label = 'is_compatible_integer_type_impl< bool, typename, typename >'; + node-link = { + node-link-id = 'structnlohmann_1_1detail_1_1is__compatible__integer__type__impl'; + }; + node-child = { + child-id = '209'; + relation = public-inheritance; + }; /* node-child */ + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structnlohmann_1_1detail_1_1is__compatible__integer__type__impl_3_01true_00_01_real_integer_type78b0ba77f36a8c8169cdb79b01d1a4bf'; + cp-name = 'nlohmann::detail::is_compatible_integer_type_impl< true, RealIntegerType, CompatibleNumberIntegerType >'; + cp-section = { + sec-kind = 'public-type'; + sec-member = { + sec-mem-kind = 'typedef'; + sec-mem-id = 'structnlohmann_1_1detail_1_1is__compatible__integer__type__impl_3_01true_00_01_real_integer_type78b0ba77f36a8c8169cdb79b01d1a4bf_1ab9c4451c9a268c8cb1c2a3d7fe772bbc'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +std::numeric_limits< RealIntegerType > +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'RealLimits'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '428'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'typedef'; + sec-mem-id = 'structnlohmann_1_1detail_1_1is__compatible__integer__type__impl_3_01true_00_01_real_integer_type78b0ba77f36a8c8169cdb79b01d1a4bf_1ad1003c3bbc251486afbeb325ddb7db98'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +std::numeric_limits< CompatibleNumberIntegerType > +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'CompatibleLimits'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '429'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-section = { + sec-kind = 'public-static-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structnlohmann_1_1detail_1_1is__compatible__integer__type__impl_3_01true_00_01_real_integer_type78b0ba77f36a8c8169cdb79b01d1a4bf_1a615a7728e2278acb2cab50854079d7fc'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static constexpr auto +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'value'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += + std::is_constructible::value and + CompatibleLimits::is_integer and + RealLimits::is_signed == CompatibleLimits::is_signed +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '431'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + cp-fileline = '426'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 211; + node-label = 'is_compatible_integer_type_impl< true, RealIntegerType, CompatibleNumberIntegerType >'; + node-link = { + node-link-id = 'structnlohmann_1_1detail_1_1is__compatible__integer__type__impl_3_01true_00_01_real_integer_type78b0ba77f36a8c8169cdb79b01d1a4bf'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structnlohmann_1_1detail_1_1is__compatible__object__type'; + cp-name = 'nlohmann::detail::is_compatible_object_type'; + cp-section = { + sec-kind = 'public-static-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structnlohmann_1_1detail_1_1is__compatible__object__type_1afb4135e27d236d51b7a115e86f9a5a31'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static auto constexpr +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'value'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += is_compatible_object_type_impl < + conjunction>, + has_mapped_type, + has_key_type>::value, + typename BasicJsonType::object_t, CompatibleObjectType >::value +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '390'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + cp-fileline = '389'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 213; + node-label = 'is_compatible_object_type< BasicJsonType, CompatibleObjectType >'; + node-link = { + node-link-id = 'structnlohmann_1_1detail_1_1is__compatible__object__type'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structnlohmann_1_1detail_1_1is__compatible__object__type__impl'; + cp-name = 'nlohmann::detail::is_compatible_object_type_impl'; + cp-ref = { + ref-type = base; + ref-id = 'classstd_1_1false__type'; + ref-prot = public; + ref-virt = non-virtual; + }; + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + cp-fileline = '375'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-inheritancegraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 214; + node-label = 'is_compatible_object_type_impl< B, RealType, CompatibleObjectType >'; + node-link = { + node-link-id = 'structnlohmann_1_1detail_1_1is__compatible__object__type__impl'; + }; + node-child = { + child-id = '215'; + relation = public-inheritance; + }; /* node-child */ + }; /* node */ + node = { + node-id = 215; + node-label = 'false_type'; + }; /* node */ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 216; + node-label = 'is_compatible_object_type_impl< B, RealType, CompatibleObjectType >'; + node-link = { + node-link-id = 'structnlohmann_1_1detail_1_1is__compatible__object__type__impl'; + }; + node-child = { + child-id = '217'; + relation = public-inheritance; + }; /* node-child */ + }; /* node */ + node = { + node-id = 217; + node-label = 'false_type'; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structnlohmann_1_1detail_1_1is__compatible__object__type__impl_3_01true_00_01_real_type_00_01_compatible_object_type_01_4'; + cp-name = 'nlohmann::detail::is_compatible_object_type_impl< true, RealType, CompatibleObjectType >'; + cp-section = { + sec-kind = 'public-static-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structnlohmann_1_1detail_1_1is__compatible__object__type__impl_3_01true_00_01_real_type_00_01_compatible_object_type_01_4_1a615a7728e2278acb2cab50854079d7fc'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static constexpr auto +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'value'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += + std::is_constructible::value and + std::is_constructible::value +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '380'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + cp-fileline = '379'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 219; + node-label = 'is_compatible_object_type_impl< true, RealType, CompatibleObjectType >'; + node-link = { + node-link-id = 'structnlohmann_1_1detail_1_1is__compatible__object__type__impl_3_01true_00_01_real_type_00_01_compatible_object_type_01_4'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +class = { + cp-id = 'classnlohmann_1_1basic__json_1_1iter__impl'; + cp-name = 'nlohmann::basic_json::iter_impl'; + cp-ref = { + ref-type = base; + ref-id = 'classstd_1_1iterator'; + ref-prot = public; + ref-virt = non-virtual; + }; + cp-section = { + sec-kind = 'public-type'; + sec-member = { + sec-mem-kind = 'typedef'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1iter__impl_1a2cf899dee9ae2adba7128b41ea912d6a'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +typename basic_json::value_type +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'value_type'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '8826'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +the type of the values when the iterator is dereferenced +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'typedef'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1iter__impl_1a0a01ff9431d91494f35caf1dd4f6fac6'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +typename basic_json::difference_type +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'difference_type'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '8828'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +a type to represent differences between iterators +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'typedef'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1iter__impl_1a4dddbf447cb71cb216d9e05e8b7a3eb0'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +typename std::conditional< std::is_const< U >::value, typename basic_json::const_pointer, typename basic_json::pointer >::type +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'pointer'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '8830'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +defines a pointer to the type iterated over (value_type) +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'typedef'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1iter__impl_1a89a36094ec6faba74170f6ec2d41a932'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +typename std::conditional< std::is_const< U >::value, typename basic_json::const_reference, typename basic_json::reference >::type +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'reference'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '8834'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +defines a reference to the type iterated over (value_type) +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'typedef'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1iter__impl_1a13fe24ca0865b19fbff05ff095c4ffea'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +std::bidirectional_iterator_tag +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'iterator_category'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '8838'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +the category of the iterator +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-section = { + sec-kind = 'public-func'; + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1iter__impl_1aee3b9445acb70a87db074076a113738a'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'iter_impl'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '8841'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +default constructor +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1iter__impl_1a4d3a3cd2792cdef6cd69694681ba5976'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'iter_impl'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +pointer +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'object'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '8849'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +constructor for a given JSON instance +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@param[in] object pointer to a JSON object for this iterator +@pre object != nullptr +@post The iterator is initialized; i.e. m_object != nullptr. +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1iter__impl_1ad353fe4df2005dff2442f68d922131e4'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'operator const_iterator'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '8884'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1iter__impl_1a7cb700fcddd2cfd8e9279fddcb97620e'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'iter_impl'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const iter_impl & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'other'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '8902'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +copy constructor +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@param[in] other iterator to copy from +@note It is not checked whether @a other is initialized. +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1iter__impl_1a8611a2c69368775458a89acd1078d39d'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +iter_impl & +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'operator='; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +iter_impl +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'other'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '8911'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +copy assignment +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@param[in,out] other iterator to copy from +@note It is not checked whether @a other is initialized. +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'json_8hpp_1a907191b7578e209391ce938e3b2afdf7'; + sec-mem-ref-line = '12906'; + sec-mem-ref-name = 'std::swap'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1iter__impl_1ab086ec1916db61d1ab56a801abca8d91'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +reference +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'operator*'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '8996'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +return a reference to the value pointed to by the iterator +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@pre The iterator is initialized; i.e. m_object != nullptr. +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'json_8hpp_1a6c274f6db2e65c1b66c7d41b06ad690f'; + sec-mem-ref-line = '75'; + sec-mem-ref-name = 'JSON_THROW'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1iter__impl_1aef4e7d4e0fa56e9f7509c555f73d24d2'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +pointer +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'operator->'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '9035'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +dereference the iterator +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@pre The iterator is initialized; i.e. m_object != nullptr. +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'json_8hpp_1a6c274f6db2e65c1b66c7d41b06ad690f'; + sec-mem-ref-line = '75'; + sec-mem-ref-name = 'JSON_THROW'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1iter__impl_1a56748d2feda14d9302a9056f90b9a60e'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +iter_impl +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'operator++'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '9069'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +post-increment (it++) +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@pre The iterator is initialized; i.e. m_object != nullptr. +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1iter__impl_1a1b374ca565bfc8190db3ec82343ce439'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +iter_impl & +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'operator++'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '9080'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +pre-increment (++it) +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@pre The iterator is initialized; i.e. m_object != nullptr. +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1iter__impl_1afbd4f01fad2a960f17a8abca32565e09'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +iter_impl +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'operator--'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '9112'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +post-decrement (it–) +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@pre The iterator is initialized; i.e. m_object != nullptr. +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1iter__impl_1a5d13d2f7598ea808a97706918dcf02b6'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +iter_impl & +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'operator--'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '9123'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +pre-decrement (–it) +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@pre The iterator is initialized; i.e. m_object != nullptr. +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1iter__impl_1a2462cda9c28eb73eada8f362227ccafc'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +bool +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'operator=='; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const iter_impl & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'other'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '9155'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +comparison: equal +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@pre The iterator is initialized; i.e. m_object != nullptr. +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'json_8hpp_1a6c274f6db2e65c1b66c7d41b06ad690f'; + sec-mem-ref-line = '75'; + sec-mem-ref-name = 'JSON_THROW'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1iter__impl_1a38c475d645b64df182fa37f07d54d17f'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +bool +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'operator!='; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const iter_impl & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'other'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '9188'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +comparison: not equal +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@pre The iterator is initialized; i.e. m_object != nullptr. +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1iter__impl_1acc11749d3c5dda58cd448d23865b7cf7'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +bool +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'operator<'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const iter_impl & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'other'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '9197'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +comparison: smaller +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@pre The iterator is initialized; i.e. m_object != nullptr. +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'json_8hpp_1a6c274f6db2e65c1b66c7d41b06ad690f'; + sec-mem-ref-line = '75'; + sec-mem-ref-name = 'JSON_THROW'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1iter__impl_1af63486c9f2dff66291a8a93c717de968'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +bool +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'operator<='; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const iter_impl & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'other'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '9230'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +comparison: less than or equal +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@pre The iterator is initialized; i.e. m_object != nullptr. +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1iter__impl_1a018829d57a7e2a02b6e17397b68de52a'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +bool +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'operator>'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const iter_impl & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'other'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '9239'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +comparison: greater than +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@pre The iterator is initialized; i.e. m_object != nullptr. +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1iter__impl_1a0c20da3ba765c99dc8eb0b47f506ee88'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +bool +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'operator>='; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const iter_impl & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'other'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '9248'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +comparison: greater than or equal +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@pre The iterator is initialized; i.e. m_object != nullptr. +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'json_8hpp_1a09169efff3bd1771fff29bd92cea19e0'; + sec-mem-ref-line = '148'; + sec-mem-ref-name = 'nlohmann::detail::operator<'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1iter__impl_1abbb1f35d8a5497bfdf3223abc6e01f36'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +iter_impl & +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'operator+='; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +difference_type +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'i'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '9257'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +add to iterator +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@pre The iterator is initialized; i.e. m_object != nullptr. +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'json_8hpp_1a6c274f6db2e65c1b66c7d41b06ad690f'; + sec-mem-ref-line = '75'; + sec-mem-ref-name = 'JSON_THROW'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1iter__impl_1a66545be272d63090426284b0a9a72262'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +iter_impl & +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'operator-='; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +difference_type +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'i'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '9288'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +subtract from iterator +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@pre The iterator is initialized; i.e. m_object != nullptr. +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1iter__impl_1ab3aa2093236c9db5d53b9b011d7e34de'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +iter_impl +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'operator+'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +difference_type +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'i'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '9297'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +add to iterator +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@pre The iterator is initialized; i.e. m_object != nullptr. +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1iter__impl_1a712db987ec665d7094fab4a48895deb8'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +iter_impl +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'operator-'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +difference_type +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'i'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '9308'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +subtract from iterator +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@pre The iterator is initialized; i.e. m_object != nullptr. +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1iter__impl_1af5b7432e5f4c236f890ca6f47e6adfa2'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +difference_type +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'operator-'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const iter_impl & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'other'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '9319'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +return difference +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@pre The iterator is initialized; i.e. m_object != nullptr. +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'json_8hpp_1a6c274f6db2e65c1b66c7d41b06ad690f'; + sec-mem-ref-line = '75'; + sec-mem-ref-name = 'JSON_THROW'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1iter__impl_1a63cb79f90807943ec3a6968d8497e20f'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +reference +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'operator[]'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +difference_type +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'n'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '9346'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +access to successor +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@pre The iterator is initialized; i.e. m_object != nullptr. +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'json_8hpp_1a6c274f6db2e65c1b66c7d41b06ad690f'; + sec-mem-ref-line = '75'; + sec-mem-ref-name = 'JSON_THROW'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1iter__impl_1a20a906353f77b2a7b947eb67c441fd20'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +object_t::key_type +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'key'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '9383'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +return the key of an object iterator +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@pre The iterator is initialized; i.e. m_object != nullptr. +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'json_8hpp_1a6c274f6db2e65c1b66c7d41b06ad690f'; + sec-mem-ref-line = '75'; + sec-mem-ref-name = 'JSON_THROW'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1iter__impl_1a964fb45284debd5434cd10dc6b59adab'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +reference +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'value'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '9399'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +return the value of an iterator +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@pre The iterator is initialized; i.e. m_object != nullptr. +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-section = { + sec-kind = 'private-func'; + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1iter__impl_1aee99b646cdeacaf5737f30a2bd000783'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'set_begin'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '8928'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +set the iterator to the first value +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@pre The iterator is initialized; i.e. m_object != nullptr. +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1iter__impl_1a9575cbd71fea1b73d771dcf452cec772'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'set_end'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '8965'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +set the iterator past the last value +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@pre The iterator is initialized; i.e. m_object != nullptr. +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-section = { + sec-kind = 'private-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1iter__impl_1aa576bc8ff4b513302690ca0203693e17'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +pointer +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_object'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += nullptr +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '9406'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +associated JSON instance +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1iter__impl_1a55be697cb0ebc1e794513d93d489659d'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +internal_iterator +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_it'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += internal_iterator() +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '9408'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +the actual iterator of the associated instance +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-section = { + sec-kind = 'signal'; + sec-member = { + sec-mem-kind = 'friend'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1iter__impl_1ada3100cdb8700566051828f1355fa745'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +friend class +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'basic_json'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '8817'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +allow basic_json to access private members +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + cp-fileline = '1028'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ +a template for a random access iterator for the @ref basic_json class +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ +This class implements a both iterators (iterator and const_iterator) for the +@ref basic_json class. + +@note An iterator is called initialized when a pointer to a JSON value + has been set (e.g., by a constructor or a copy assignment). If the + iterator is default-constructed, it is uninitialized and most + methods are undefined. The library uses assertions to detect calls + on uninitialized iterators. + +@requirement The class satisfies the following concept requirements: +- RandomAccessIterator: + The iterator that can be moved to point (forward and backward) to any + element in constant time. + +@since version 1.0.0, simplified in version 2.0.9 +_EnD_oF_dEf_TeXt_; + cp-inheritancegraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 220; + node-label = 'basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::iter_impl< U >'; + node-link = { + node-link-id = 'classnlohmann_1_1basic__json_1_1iter__impl'; + }; + node-child = { + child-id = '221'; + relation = public-inheritance; + }; /* node-child */ + }; /* node */ + node = { + node-id = 221; + node-label = 'iterator< std::random_access_iterator_tag, U >'; + }; /* node */ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 222; + node-label = 'basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::iter_impl< U >'; + node-link = { + node-link-id = 'classnlohmann_1_1basic__json_1_1iter__impl'; + }; + node-child = { + child-id = '223'; + relation = public-inheritance; + }; /* node-child */ + }; /* node */ + node = { + node-id = 223; + node-label = 'iterator< std::random_access_iterator_tag, U >'; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* class */ +class = { + cp-id = 'classnlohmann_1_1basic__json_1_1iteration__proxy'; + cp-name = 'nlohmann::basic_json::iteration_proxy'; + cp-section = { + sec-kind = 'public-func'; + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1iteration__proxy_1afcecb9979e14c65fd702465b1e60bf78'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'iteration_proxy'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +typename IteratorType::reference +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'cont'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '8776'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +construct iteration proxy from a container +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1iteration__proxy_1ac08c5500ec9cec475504e0cad877ab39'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +iteration_proxy_internal +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'begin'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '8781'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +return iterator begin (needed for range-based for) +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1iteration__proxy_1afc2472aa1b9b416322cb04cbae2cd04d'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +iteration_proxy_internal +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'end'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '8787'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +return iterator end (needed for range-based for) +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-section = { + sec-kind = 'private-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1iteration__proxy_1a42784ca326d9de991f600d5689321135'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +IteratorType::reference +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'container'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '8772'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +the container to iterate +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + cp-fileline = '4898'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ +proxy class for the iterator_wrapper functions +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 225; + node-label = 'basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::iteration_proxy< IteratorType >'; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* class */ +class = { + cp-id = 'classnlohmann_1_1basic__json_1_1iteration__proxy_1_1iteration__proxy__internal'; + cp-name = 'nlohmann::basic_json::iteration_proxy::iteration_proxy_internal'; + cp-section = { + sec-kind = 'public-func'; + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1iteration__proxy_1_1iteration__proxy__internal_1aa1020844a53b9245f3099c608ed781e8'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'iteration_proxy_internal'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +IteratorType +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'it'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '8712'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1iteration__proxy_1_1iteration__proxy__internal_1ab96dce0f583664a68af49f9f8bc4e267'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +iteration_proxy_internal & +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'operator*'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '8717'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +dereference operator (needed for range-based for) +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1iteration__proxy_1_1iteration__proxy__internal_1a98ffd65a5152c12ad9fd752fecdf434d'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +iteration_proxy_internal & +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'operator++'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '8723'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +increment operator (needed for range-based for) +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1iteration__proxy_1_1iteration__proxy__internal_1a1e2cc569aa3efe42e2de96dfe34c2253'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +bool +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'operator!='; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const iteration_proxy_internal & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'o'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '8732'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +inequality operator (needed for range-based for) +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1iteration__proxy_1_1iteration__proxy__internal_1ac8c6ec15a7fbe23cac59337ac9aa52ed'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +basic_json::string_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'key'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '8738'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +return key of the iterator +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1iteration__proxy_1_1iteration__proxy__internal_1a259cba606edf0636657f8d91588b552e'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +IteratorType::reference +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'value'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '8765'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +return value of the iterator +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-section = { + sec-kind = 'private-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1iteration__proxy_1_1iteration__proxy__internal_1add650b690b046d7245a4e21e044e83e7'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +IteratorType +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'anchor'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '8707'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +the iterator +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1iteration__proxy_1_1iteration__proxy__internal_1a8eda9853bd1aee582f0c246f4442da81'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +size_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'array_index'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += 0 +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '8709'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +an index for arrays (used to create key names) +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + cp-fileline = '8704'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ +helper class for iteration +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 227; + node-label = 'basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::iteration_proxy< IteratorType >::iteration_proxy_internal'; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* class */ +class = { + cp-id = 'classstd_1_1iterator'; + cp-name = 'std::iterator'; + cp-ref = { + ref-type = derived; + ref-id = 'classnlohmann_1_1basic__json_1_1iter__impl'; + ref-prot = public; + ref-virt = non-virtual; + }; + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + cp-fileline = '8815'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-inheritancegraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 228; + node-label = 'iterator'; + }; /* node */ + node = { + node-id = 229; + node-label = 'iter_impl'; + node-link = { + node-link-id = 'classnlohmann_1_1basic__json_1_1iter__impl'; + }; + node-child = { + child-id = '228'; + relation = public-inheritance; + }; /* node-child */ + }; /* node */ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 230; + node-label = 'iterator'; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* class */ +class = { + cp-id = 'classnlohmann_1_1basic__json_1_1json__pointer'; + cp-name = 'nlohmann::basic_json::json_pointer'; + cp-section = { + sec-kind = 'public-func'; + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1json__pointer_1a15ea0c26b93c10a51bcef1df5e30cb1a'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'json_pointer'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 's'; + sec-mem-param-defval = <<_EnD_oF_dEf_TeXt_ +"" +_EnD_oF_dEf_TeXt_; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '11651'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +create JSON pointer +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Create a JSON pointer according to the syntax described in +Section 3 of RFC6901. + +@param[in] s string representing the JSON pointer; if omitted, the + empty string is assumed which references the whole JSON + value + +@throw std::domain_error if reference token is nonempty and does not +begin with a slash (/); example: "JSON pointer must be empty or +begin with /" +@throw std::domain_error if a tilde (~) is not followed by 0 +(representing ~) or 1 (representing /); example: "escape error: +~ must be followed with 0 or 1" + +@liveexample{The example shows the construction several valid JSON +pointers as well as the exceptional behavior.,json_pointer} + +@since version 2.0.0 +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1json__pointer_1a37b45672a268d893d5c07bed4160ed0d'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +std::string +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'to_string'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '11670'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +return a string representation of the JSON pointer +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@invariant For each JSON pointer ptr, it holds: +@code {.cpp} +ptr == json_pointer(ptr.to_string()); +@endcode + +@return a string representation of the JSON pointer + +@liveexample{The example shows the result of to_string., +json_pointer__to_string} + +@since version 2.0.0 +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1json__pointer_1a3888dcd59dd5acd1ca5b9bee4c2e252a'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'operator std::string'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '11681'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +\copybrief to_string() +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\copydetails to_string() +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'json_8hpp_1a6c274f6db2e65c1b66c7d41b06ad690f'; + sec-mem-ref-line = '75'; + sec-mem-ref-name = 'JSON_THROW'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'json_8hpp_1ad6a2a9425ea3806424417c2e7dcdbc01'; + sec-mem-ref-line = '2896'; + sec-mem-ref-name = 'basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::is_object'; + }; + }; /* sec-member */ + }; /* cp-section */ + cp-section = { + sec-kind = 'private-func'; + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1json__pointer_1a79936f8090a4757116a9683e9ef5d457'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +std::string +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'pop_back'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '11688'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +remove and return last reference pointer +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1json__pointer_1a46c1b95c89ea40b8afb4def6575e20c4'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +bool +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'is_root'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '11701'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +return whether pointer points to the root document +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1json__pointer_1adaabbae9881471f450f2c447f0f3eec7'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +json_pointer +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'top'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '11706'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1json__pointer_1a3234c781801c8bef4f2cb5d816b2f42b'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +reference +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'get_and_create'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +reference +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'j'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '11723'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +create and return a reference to the pointed to value +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@complexity Linear in the number of reference tokens. +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1json__pointer_1ad412f71e4a24f22afe884d9b57e66b0c'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +reference +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'get_unchecked'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +pointer +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'ptr'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '11798'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +return a reference to the pointed to value +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@note This version does not throw if a value is not present, but tries +to create nested values instead. For instance, calling this function +with pointer "/this/that" on a null value is equivalent to calling +operator[]("this").operator[]("that") on that value, effectively +changing the null value to an object. + +@param[in] ptr a JSON value + +@return reference to the JSON value pointed to by the JSON pointer + +@complexity Linear in the length of the JSON pointer. + +@throw std::out_of_range if the JSON pointer can not be resolved +@throw std::domain_error if an array index begins with '0' +@throw std::invalid_argument if an array index was not a number +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1json__pointer_1a9f5a0bc9ae6fa64b32952355a4c6c78b'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +reference +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'get_checked'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +pointer +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'ptr'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '11865'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1json__pointer_1a9293764e19b7684bc2c726ee596cf029'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +const_reference +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'get_unchecked'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const_pointer +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'ptr'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '11917'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +return a const reference to the pointed to value +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@param[in] ptr a JSON value + +@return const reference to the JSON value pointed to by the JSON + pointer +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1json__pointer_1ae406b8d29436e4b781b34d8db59fa191'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +const_reference +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'get_checked'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const_pointer +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'ptr'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '11961'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-section = { + sec-kind = 'private-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1json__pointer_1a0fa5b97d7a70eec22f1c2e0e2917171d'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +std::vector< std::string > +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'reference_tokens'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ +{} +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '12218'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +the reference tokens +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-section = { + sec-kind = 'private-static-func'; + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1json__pointer_1a20c05415b0c219345e6eab8c818db60c'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static std::vector< std::string > +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'split'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'reference_string'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '12006'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +split the string input to reference tokens +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1json__pointer_1ae3dab3a1dd3e5950a11049db43e8bf0d'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'replace_substring'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 's'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'f'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 't'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '12079'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +replace all occurrences of a substring by another string +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@param[in,out] s the string to manipulate; changed so that all + occurrences of @a f are replaced with @a t +@param[in] f the substring to replace with @a t +@param[in] t the string to replace @a f + +@pre The search string @a f must not be empty. + +@since version 2.0.0 +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1json__pointer_1ab0235c4bd6cc833adc21fbec156c888f'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static std::string +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'escape'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +std::string +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 's'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '12094'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +escape tilde and slash +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1json__pointer_1a9acee2757c9f106d2d07f49496a5ff65'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'unescape'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 's'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '12103'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +unescape tilde and slash +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1json__pointer_1a6bcee83ee83d65cb6eb6a7beb63264c2'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'flatten'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'reference_string'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const basic_json & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'value'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +basic_json & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'result'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '12118'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@param[in] reference_string the reference string to the current value +@param[in] value the value to consider +@param[in,out] result the result object to insert values to + +@note Empty objects or arrays are flattened to null. +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1json__pointer_1ae210216bf5740d62a7d9e5f8b6e82d0a'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static basic_json +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'unflatten'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const basic_json & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'value'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '12176'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@param[in] value flattened JSON + +@return unflattened JSON +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-section = { + sec-kind = 'signal'; + sec-member = { + sec-mem-kind = 'friend'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1json__pointer_1ada3100cdb8700566051828f1355fa745'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +friend class +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'basic_json'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '11626'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +allow basic_json to access private members +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'friend'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1json__pointer_1a4667ef558c8c3f8a646bfda0c6654653'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +friend bool +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'operator=='; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +json_pointer const & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'lhs'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +json_pointer const & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'rhs'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '12205'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'friend'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1json__pointer_1a6779edcf28e6f018a3bbb29c0b4b5e1e'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +friend bool +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'operator!='; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +json_pointer const & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'lhs'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +json_pointer const & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'rhs'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '12211'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + cp-fileline = '11624'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ +JSON Pointer. +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ +A JSON pointer defines a string syntax for identifying a specific value +within a JSON document. It can be used with functions at and +operator[]. Furthermore, JSON pointers are the base for JSON patches. + +@sa RFC 6901 + +@since version 2.0.0 +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 232; + node-label = 'basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::json_pointer'; + node-link = { + node-link-id = 'classnlohmann_1_1basic__json_1_1json__pointer'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* class */ +class = { + cp-id = 'classnlohmann_1_1basic__json_1_1json__reverse__iterator'; + cp-name = 'nlohmann::basic_json::json_reverse_iterator'; + cp-ref = { + ref-type = base; + ref-id = 'classstd_1_1reverse__iterator'; + ref-prot = public; + ref-virt = non-virtual; + }; + cp-section = { + sec-kind = 'public-type'; + sec-member = { + sec-mem-kind = 'typedef'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1json__reverse__iterator_1a538d9aea2b1ad6e7bf2dfa81263e87b2'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +std::reverse_iterator< Base > +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'base_iterator'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '9433'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +shortcut to the reverse iterator adaptor +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'typedef'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1json__reverse__iterator_1a2d0b26e9f77160f2fa35c115619b8c9c'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +typename Base::reference +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'reference'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '9435'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +the reference type for the pointed-to element +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-section = { + sec-kind = 'public-func'; + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1json__reverse__iterator_1aaf6ca19ab4ec736908a5c12171fcc4a1'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'json_reverse_iterator'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const typename base_iterator::iterator_type & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'it'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '9438'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +create reverse iterator from iterator +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1json__reverse__iterator_1a98821662fa993b2b87cfeb1da8b78e35'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'json_reverse_iterator'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const base_iterator & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'it'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '9443'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +create reverse iterator from base class +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1json__reverse__iterator_1ad914a5637b429ac954b6be1db4219f99'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +json_reverse_iterator +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'operator++'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '9448'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +post-increment (it++) +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1json__reverse__iterator_1ac1c46ac846ae806e7df76b4adc4fe0e5'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +json_reverse_iterator & +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'operator++'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '9454'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +pre-increment (++it) +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1json__reverse__iterator_1aca64e618db2fb5cc23cf6e03ab98fb59'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +json_reverse_iterator +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'operator--'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '9461'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +post-decrement (it–) +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1json__reverse__iterator_1aa598935489b2d385e06ce56e44df0f21'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +json_reverse_iterator & +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'operator--'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '9467'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +pre-decrement (–it) +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1json__reverse__iterator_1a6f1d98b981f6ec93ce6238052ced1427'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +json_reverse_iterator & +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'operator+='; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +difference_type +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'i'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '9474'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +add to iterator +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1json__reverse__iterator_1a379ba238d7e1db7e0e728b248f3d2d1d'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +json_reverse_iterator +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'operator+'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +difference_type +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'i'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '9481'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +add to iterator +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1json__reverse__iterator_1a7b955a5e882bfc49b7051faacc5379d6'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +json_reverse_iterator +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'operator-'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +difference_type +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'i'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '9489'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +subtract from iterator +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1json__reverse__iterator_1ac89403aab4e338130aa6dc520ea5b223'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +difference_type +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'operator-'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const json_reverse_iterator & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'other'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '9497'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +return difference +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1json__reverse__iterator_1a63cb79f90807943ec3a6968d8497e20f'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +reference +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'operator[]'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +difference_type +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'n'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '9503'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +access to successor +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1json__reverse__iterator_1a20a906353f77b2a7b947eb67c441fd20'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +object_t::key_type +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'key'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '9509'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +return the key of an object iterator +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1json__reverse__iterator_1a964fb45284debd5434cd10dc6b59adab'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +reference +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'value'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '9516'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +return the value of an iterator +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'json_8hpp_1a6c274f6db2e65c1b66c7d41b06ad690f'; + sec-mem-ref-line = '75'; + sec-mem-ref-name = 'JSON_THROW'; + }; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + cp-fileline = '1029'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ +a template for a reverse iterator class +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ +@tparam Base the base iterator type to reverse. Valid types are @ref +iterator (to create @ref reverse_iterator) and @ref const_iterator (to +create @ref const_reverse_iterator). + +@requirement The class satisfies the following concept requirements: +- RandomAccessIterator: + The iterator that can be moved to point (forward and backward) to any + element in constant time. +- OutputIterator: + It is possible to write to the pointed-to element (only if @a Base is + @ref iterator). + +@since version 1.0.0 +_EnD_oF_dEf_TeXt_; + cp-inheritancegraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 233; + node-label = 'basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::json_reverse_iterator< Base >'; + node-link = { + node-link-id = 'classnlohmann_1_1basic__json_1_1json__reverse__iterator'; + }; + node-child = { + child-id = '234'; + relation = public-inheritance; + }; /* node-child */ + }; /* node */ + node = { + node-id = 234; + node-label = 'reverse_iterator< Base >'; + }; /* node */ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 235; + node-label = 'basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::json_reverse_iterator< Base >'; + node-link = { + node-link-id = 'classnlohmann_1_1basic__json_1_1json__reverse__iterator'; + }; + node-child = { + child-id = '236'; + relation = public-inheritance; + }; /* node-child */ + }; /* node */ + node = { + node-id = 236; + node-label = 'reverse_iterator< Base >'; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* class */ +union = { + cp-id = 'unionnlohmann_1_1basic__json_1_1json__value'; + cp-name = 'nlohmann::basic_json::json_value'; + cp-section = { + sec-kind = 'public-func'; + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'unionnlohmann_1_1basic__json_1_1json__value_1a1bf7244844ce405772f97f55f7706bee'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'json_value'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '1662'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +default constructor (for null values) +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'unionnlohmann_1_1basic__json_1_1json__value_1af1c6c3edf224e9c3fcdbf92196675918'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'json_value'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +boolean_t +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'v'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '1664'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +constructor for booleans +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'unionnlohmann_1_1basic__json_1_1json__value_1a1983acbc8c03d854501f9e75f0bcd50d'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'json_value'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +number_integer_t +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'v'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '1666'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +constructor for numbers (integer) +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'unionnlohmann_1_1basic__json_1_1json__value_1ac4c7e5538b3c8252eecdf8ba57c47b4f'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'json_value'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +number_unsigned_t +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'v'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '1668'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +constructor for numbers (unsigned) +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'unionnlohmann_1_1basic__json_1_1json__value_1a417f911f51265f864739841bf14b2d5e'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'json_value'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +number_float_t +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'v'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '1670'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +constructor for numbers (floating-point) +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'unionnlohmann_1_1basic__json_1_1json__value_1a388f066aea89b427e4ffe7966feef5d6'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'json_value'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +value_t +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 't'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '1672'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +constructor for empty values of a given type +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'unionnlohmann_1_1basic__json_1_1json__value_1a6efa2812d9642af8d78c52d8e2300b52'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'json_value'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const string_t & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'value'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '1735'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +constructor for strings +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'unionnlohmann_1_1basic__json_1_1json__value_1a15f805cd506fb303b134b848f766410b'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'json_value'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const object_t & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'value'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '1741'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +constructor for objects +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'unionnlohmann_1_1basic__json_1_1json__value_1a621cb705d9d105dd75c1eb66b39a3bb5'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'json_value'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const array_t & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'value'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '1747'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +constructor for arrays +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'unionnlohmann_1_1basic__json_1_1json__value_1a3085504c9c74e42106a7e77c4084e67c'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +object_t * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'object'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '1647'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +object (stored with pointer to save storage) +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'unionnlohmann_1_1basic__json_1_1json__value_1ad3d3afa5d5aa064cb357c5044961e87e'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +array_t * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'array'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '1649'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +array (stored with pointer to save storage) +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'unionnlohmann_1_1basic__json_1_1json__value_1aff7e6be2b50b098842a4854fb5439959'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +string_t * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'string'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '1651'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +string (stored with pointer to save storage) +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'unionnlohmann_1_1basic__json_1_1json__value_1a950dff7184e54ab82018f378d3be8fd3'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +boolean_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'boolean'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '1653'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +boolean +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'unionnlohmann_1_1basic__json_1_1json__value_1a874f23c6d14c12fcd179170f3a9030d2'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +number_integer_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'number_integer'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '1655'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +number (integer) +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'unionnlohmann_1_1basic__json_1_1json__value_1ae614e728ba3eaeb920339b21e67f7eac'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +number_unsigned_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'number_unsigned'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '1657'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +number (unsigned integer) +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'unionnlohmann_1_1basic__json_1_1json__value_1a566f28ce1d4f75ea570787993409e845'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +number_float_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'number_float'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '1659'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +number (floating-point) +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + cp-fileline = '1645'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ +a JSON value +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ +The actual storage for a JSON value of the @ref basic_json class. This +union combines the different storage types for the JSON value types +defined in @ref value_t. + + +
JSON type value_t type used type +
object object pointer to @ref object_t +
array array pointer to @ref array_t +
string string pointer to @ref string_t +
boolean boolean @ref boolean_t +
number number_integer @ref number_integer_t +
number number_unsigned @ref number_unsigned_t +
number number_float @ref number_float_t +
null null no value is stored +
+@note Variable-length types (objects, arrays, and strings) are stored as +pointers. The size of the union should not exceed 64 bits if the default +value types are used. + +@since version 1.0.0 +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 238; + node-label = 'basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::json_value'; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* union */ +class = { + cp-id = 'class_kernel_tests'; + cp-name = 'KernelTests'; + cp-ref = { + ref-type = base; + ref-id = 'classtesting_1_1_test_with_param'; + ref-prot = public; + ref-virt = non-virtual; + }; + cp-ref = { + ref-type = derived; + ref-id = 'class_bfp_check'; + ref-prot = public; + ref-virt = non-virtual; + }; + cp-ref = { + ref-type = derived; + ref-id = 'class_bfp_perf'; + ref-prot = public; + ref-virt = non-virtual; + }; + cp-ref = { + ref-type = derived; + ref-id = 'class_bfp_perf_ex'; + ref-prot = public; + ref-virt = non-virtual; + }; + cp-ref = { + ref-type = derived; + ref-id = 'class_c__plane'; + ref-prot = public; + ref-virt = non-virtual; + }; + cp-ref = { + ref-type = derived; + ref-id = 'class_init___sys___check'; + ref-prot = public; + ref-virt = non-virtual; + }; + cp-ref = { + ref-type = derived; + ref-id = 'class_prach_check'; + ref-prot = public; + ref-virt = non-virtual; + }; + cp-ref = { + ref-type = derived; + ref-id = 'class_prach_perf'; + ref-prot = public; + ref-virt = non-virtual; + }; + cp-ref = { + ref-type = derived; + ref-id = 'class_test_chain'; + ref-prot = public; + ref-virt = non-virtual; + }; + cp-ref = { + ref-type = derived; + ref-id = 'class_u__plane_check'; + ref-prot = public; + ref-virt = non-virtual; + }; + cp-ref = { + ref-type = derived; + ref-id = 'class_u__plane_perf'; + ref-prot = public; + ref-virt = non-virtual; + }; + cp-section = { + sec-kind = 'public-static-func'; + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1aad8181b222f27240e9f07dcb6e620fa3'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'SetUpTestCase'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '162'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8cpp_1ad8c062e9b24e4b3a8408b23a0d8ab428'; + sec-mem-ref-line = '106'; + sec-mem-ref-name = 'read_json_from_file'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8hpp_1a70518905d36686ddeeb2eb3b2682f016'; + sec-mem-ref-line = '73'; + sec-mem-ref-name = 'missing_config_file_exception::what'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8cpp_1a56c41cbb9de4bce25da45ecd74b46a81'; + sec-mem-ref-line = '119'; + sec-mem-ref-name = 'tsc_recovery'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1aaff0dc66f57f643a49ad3dd6bcb56916'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'TearDownTestCase'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '185'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1a6157ff083be863bba0a7804cd1788d96'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static unsigned +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'get_number_of_cases'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'type'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '190'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8cpp_1ad8c062e9b24e4b3a8408b23a0d8ab428'; + sec-mem-ref-line = '106'; + sec-mem-ref-name = 'read_json_from_file'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'json_8hpp_1a0801762a3fe36fe32dca5f16e515478d'; + sec-mem-ref-line = '5040'; + sec-mem-ref-name = 'basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::size'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8hpp_1a70518905d36686ddeeb2eb3b2682f016'; + sec-mem-ref-line = '73'; + sec-mem-ref-name = 'missing_config_file_exception::what'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1ab0ad0e23f1b51f15bd9594a24a2c438f'; + sec-mem-ref-line = '778'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + }; /* cp-section */ + cp-section = { + sec-kind = 'public-static-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_kernel_tests_1abd42f3e51ae547ec1631e9ac60df29d6'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static json +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'conf'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '159'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_kernel_tests_1a4e9607ae94d1958d38388cead2e4e3bf'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static std::string +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'test_type'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '160'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-section = { + sec-kind = 'protected-func'; + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1ad49152dbf530aeb2a2844895e6d47a3e'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'set_division_factor'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const double +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'factor'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '222'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Set division factor. +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\param [in] factor Division factor that divides mean and standard deviation. +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1a1bf2180658ad6d459231c631237f9311'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'set_results_units'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'units'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '231'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Set reults units. +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\param [in] units Units that are displayed in the report. +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1a5666c82d220a2c66784b9a238cc43c7e'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'set_parallelization_factor'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const int +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'factor'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '240'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Set size of processed data. +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\param [in] size Size of processed data used to calculate module throughput. +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1a3cf2e25a99be565a4ab570737cfeac41'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'performance'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'isa'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'module_name'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +F +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'function'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +Args ... +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'args'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '253'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Run performance test case for a given function. +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\param [in] isa Used Instruction Set. +\param [in] module_name name of the tested kernel. +\param [in] function function to be tested. +\param [in] args function's arguments. +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8cpp_1ae39390f41ba978a1f0d79691436c074a'; + sec-mem-ref-line = '47'; + sec-mem-ref-name = 'bind_to_cpu'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8hpp_1a12661f1773e3ba71d5b29d7ffa042b1a'; + sec-mem-ref-line = '68'; + sec-mem-ref-name = 'BenchmarkParameters::cpu_id'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8hpp_1af69d779517f2bdee3aba95bc38022074'; + sec-mem-ref-line = '425'; + sec-mem-ref-name = 'run_benchmark'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a21d05f2c6607fc534e67ed32883de81f'; + sec-mem-ref-line = '766'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1af9e5657bce588536aef7baf8c33a0108'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'print_test_description'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'isa'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'module_name'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '271'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Print unique test description to the results xml file. +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\param [in] isa Used Instruction Set. +\param [in] module_name name of the tested kernel. +\param [in] function function to be tested. +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1a5a1ec6ee393f8538815bc0a82eac2e88'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +const std::string +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'get_case_name'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '338'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Get name of the test case from JSON file. +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\return Test'ss case name or a default name if name field is missing. +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1abf28e5ea54fab2b0685972fe6e75560a'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'init_test'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'type'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '358'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Defines section in the conf.json that is used to load parameters from. +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\param [in] type Name of the section in the JSON file. +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'json_8hpp_1a0801762a3fe36fe32dca5f16e515478d'; + sec-mem-ref-line = '5040'; + sec-mem-ref-name = 'basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::size'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8cpp_1a876ed07783b27d38779f7cef4db673e6'; + sec-mem-ref-line = '86'; + sec-mem-ref-name = 'read_data_to_aligned_array'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a69b4bff6061152ff85770d725cced3cc'; + sec-mem-ref-line = '32'; + sec-mem-ref-name = 'module_name'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '112'; + sec-mem-ref-name = 'C_plane::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'chain__tests_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '135'; + sec-mem-ref-name = 'TestChain::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '92'; + sec-mem-ref-name = 'PrachCheck::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__performance_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '91'; + sec-mem-ref-name = 'PrachPerf::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'u__plane__functional_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '37'; + sec-mem-ref-name = 'U_planeCheck::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'u__plane__performance_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '41'; + sec-mem-ref-name = 'U_planePerf::SetUp'; + }; + }; /* sec-member */ + }; /* cp-section */ + cp-section = { + sec-kind = 'protected-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_kernel_tests_1a929401f577bc540c1f8b7ec8c3b974fd'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +double +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'division_factor'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += 1.0 +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '214'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_kernel_tests_1a0f6b306c821273c76461f8799c5d4d4c'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +std::string +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'result_units'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += "None" +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '215'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_kernel_tests_1a88ea1f1de6b4d7d01ddc5fced408c813'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'parallelization_factor'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += 1 +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '216'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-section = { + sec-kind = 'private-func'; + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1a3bcac06a4cf7076193e883613e27365d'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +T +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'get_parameter'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'type'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'parameter_name'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '403'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1a273864f5b6f89652f54f4297b8be4474'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'print_and_store_results'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'isa'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'parameters'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'module_name'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'test_name'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'unit'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const int +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'para_factor'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const double +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'mean'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const double +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'stddev'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '408'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-section = { + sec-kind = 'private-static-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_kernel_tests_1ac8545bf34fe7a05e48a4990dc10e8c7c'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static unsigned long +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'tsc'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '366'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + cp-fileline = '157'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ +Each test class has to inherit from KernelTests class as it provides GTest support and does a lot +of setup (including JSON) an provides useful methods to operate on loaded JSON file. +Unfortunately GTest is limited in the way that all TEST_P within the class are called for all +cases/parameters, but we usually want two different data sets for functional and performance +tests (or maybe other types of tests). Because of that to use different data sets we need to +create separate classes, hence performance and functional test are in separate classes. it adds +an extra overhead, but adds much more flexibility. init_test(...) is used to select data set from +the JSON file. + +Important note on the JSON file structure. Top JSON object can have as many section (JSON +objects) as needed, but each have to have a distinct name that is used by init_test. Then +each section must contain an array of objects (test cases) where each object has a name, +parameters and references. Everything inside parameters and references can be completely custom +as it's loaded by get_input/reference_parameter function. JSON values can be either literal +values, e.g. 1, 0.001, 5e-05, etc. or filename. Depends on the get type test framework can either +read the value or load data from the file - and it happens automatically (pff MAGIC!). +_EnD_oF_dEf_TeXt_; + cp-inheritancegraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 240; + node-label = 'TestWithParam< unsigned >'; + }; /* node */ + node = { + node-id = 248; + node-label = 'TestChain'; + node-link = { + node-link-id = 'class_test_chain'; + }; + node-child = { + child-id = '239'; + relation = public-inheritance; + }; /* node-child */ + }; /* node */ + node = { + node-id = 245; + node-label = 'Init_Sys_Check'; + node-link = { + node-link-id = 'class_init___sys___check'; + }; + node-child = { + child-id = '239'; + relation = public-inheritance; + }; /* node-child */ + }; /* node */ + node = { + node-id = 249; + node-label = 'U_planeCheck'; + node-link = { + node-link-id = 'class_u__plane_check'; + }; + node-child = { + child-id = '239'; + relation = public-inheritance; + }; /* node-child */ + }; /* node */ + node = { + node-id = 239; + node-label = 'KernelTests'; + node-link = { + node-link-id = 'class_kernel_tests'; + }; + node-child = { + child-id = '240'; + relation = public-inheritance; + }; /* node-child */ + }; /* node */ + node = { + node-id = 244; + node-label = 'C_plane'; + node-link = { + node-link-id = 'class_c__plane'; + }; + node-child = { + child-id = '239'; + relation = public-inheritance; + }; /* node-child */ + }; /* node */ + node = { + node-id = 247; + node-label = 'PrachPerf'; + node-link = { + node-link-id = 'class_prach_perf'; + }; + node-child = { + child-id = '239'; + relation = public-inheritance; + }; /* node-child */ + }; /* node */ + node = { + node-id = 241; + node-label = 'BfpCheck'; + node-link = { + node-link-id = 'class_bfp_check'; + }; + node-child = { + child-id = '239'; + relation = public-inheritance; + }; /* node-child */ + }; /* node */ + node = { + node-id = 250; + node-label = 'U_planePerf'; + node-link = { + node-link-id = 'class_u__plane_perf'; + }; + node-child = { + child-id = '239'; + relation = public-inheritance; + }; /* node-child */ + }; /* node */ + node = { + node-id = 246; + node-label = 'PrachCheck'; + node-link = { + node-link-id = 'class_prach_check'; + }; + node-child = { + child-id = '239'; + relation = public-inheritance; + }; /* node-child */ + }; /* node */ + node = { + node-id = 242; + node-label = 'BfpPerf'; + node-link = { + node-link-id = 'class_bfp_perf'; + }; + node-child = { + child-id = '239'; + relation = public-inheritance; + }; /* node-child */ + }; /* node */ + node = { + node-id = 243; + node-label = 'BfpPerfEx'; + node-link = { + node-link-id = 'class_bfp_perf_ex'; + }; + node-child = { + child-id = '239'; + relation = public-inheritance; + }; /* node-child */ + }; /* node */ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 252; + node-label = 'TestWithParam< unsigned >'; + }; /* node */ + node = { + node-id = 251; + node-label = 'KernelTests'; + node-link = { + node-link-id = 'class_kernel_tests'; + }; + node-child = { + child-id = '252'; + relation = public-inheritance; + }; /* node-child */ + node-child = { + child-id = '253'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++conf +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + node = { + node-id = 253; + node-label = 'basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >'; + node-link = { + node-link-id = 'classnlohmann_1_1basic__json'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* class */ +class = { + cp-id = 'classnlohmann_1_1basic__json_1_1lexer'; + cp-name = 'nlohmann::basic_json::lexer'; + cp-section = { + sec-kind = 'public-type'; + sec-member = { + sec-mem-kind = 'enum'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1lexer_1afe5ef662303b6b710ea6ee1a944bad0d'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-name = 'token_type'; + sec-mem-enum = { enum-name = uninitialized; }; + sec-mem-enum = { enum-name = literal_true; }; + sec-mem-enum = { enum-name = literal_false; }; + sec-mem-enum = { enum-name = literal_null; }; + sec-mem-enum = { enum-name = value_string; }; + sec-mem-enum = { enum-name = value_unsigned; }; + sec-mem-enum = { enum-name = value_integer; }; + sec-mem-enum = { enum-name = value_float; }; + sec-mem-enum = { enum-name = begin_array; }; + sec-mem-enum = { enum-name = begin_object; }; + sec-mem-enum = { enum-name = end_array; }; + sec-mem-enum = { enum-name = end_object; }; + sec-mem-enum = { enum-name = name_separator; }; + sec-mem-enum = { enum-name = value_separator; }; + sec-mem-enum = { enum-name = parse_error; }; + sec-mem-enum = { enum-name = end_of_input; }; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '9541'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +token types for the parser +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'typedef'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1lexer_1a7a51b92f81065974b86e583fe96e5658'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +unsigned char +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'lexer_char_t'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '9561'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +the char type to use in the lexer +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-section = { + sec-kind = 'public-func'; + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1lexer_1a76894f282aa6a9320d234080bf0cdedf'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'lexer'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const lexer_char_t * +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'buff'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const size_t +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'len'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '9564'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +a lexer from a buffer with given length +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1lexer_1a433f172b11738d1a629d9678a79a44b2'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'lexer'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +std::istream & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 's'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '9573'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +a lexer from an input stream +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1lexer_1ac8bce25635c06221fb57ba0b04e0dde4'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'lexer'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '9595'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1lexer_1abdd0d7a2f9576b223b71b3fd2c391aea'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'lexer'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const lexer & +_EnD_oF_dEf_TeXt_; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '9596'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1lexer_1a41d81ad9299ad4525ddecdf903e7933c'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +lexer +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'operator='; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const lexer & +_EnD_oF_dEf_TeXt_; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '9597'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1lexer_1a2920322e6387882767c3cea3224fffd8'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +token_type +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'scan'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '9750'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +This function implements a scanner for JSON. It is specified using +regular expressions that try to follow RFC 7159 as close as possible. +These regular expressions are then translated into a minimized +deterministic finite automaton (DFA) by the tool +re2c. As a result, the translated code for this +function consists of a large block of code with goto jumps. + +@return the class of the next token read from the buffer + +@complexity Linear in the length of the input.\n + +Proposition: The loop below will always terminate for finite input.\n + +Proof (by contradiction): Assume a finite input. To loop forever, the +loop must never hit code with a break statement. The only code +snippets without a break statement are the continue statements for +whitespace and byte-order-marks. To loop forever, the input must be an +infinite sequence of whitespace or byte-order-marks. This contradicts +the assumption of finite input, q.e.d. +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1lexer_1a8cb46779cc80c20cdcec55b02b437eb5'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'fill_line_buffer'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +size_t +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'n'; + sec-mem-param-defval = <<_EnD_oF_dEf_TeXt_ +0 +_EnD_oF_dEf_TeXt_; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '10826'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +append data from the stream to the line buffer +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +This function is called by the scan() function when the end of the +buffer (m_limit) is reached and the m_cursor pointer cannot be +incremented without leaving the limits of the line buffer. Note re2c +decides when to call this function. + +If the lexer reads from contiguous storage, there is no trailing null +byte. Therefore, this function must make sure to add these padding +null bytes. + +If the lexer reads from an input stream, this function reads the next +line of the input. + +@pre + p p p p p p u u u u u x . . . . . . + ^ ^ ^ ^ + m_content m_start | m_limit + m_cursor + +@post + u u u u u x x x x x x x . . . . . . + ^ ^ ^ + | m_cursor m_limit + m_start + m_content +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1lexer_1a8e37ade74676fe468f19bccf358e529e'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +string_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'get_token_string'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '10888'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +return string representation of last read token +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1lexer_1a315ad0c44858c01000cbcc69942a759c'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +string_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'get_string'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '10952'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +return string value for string tokens +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +The function iterates the characters between the opening and closing +quotes of the string value. The complete string is the range +[m_start,m_cursor). Consequently, we iterate from m_start+1 to +m_cursor-1. + +We differentiate two cases: + +1. Escaped characters. In this case, a new character is constructed + according to the nature of the escape. Some escapes create new + characters (e.g., "\\n" is replaced by "\n"), some are copied + as is (e.g., "\\\\"). Furthermore, Unicode escapes of the shape + "\\uxxxx" need special care. In this case, to_unicode takes care + of the construction of the values. +2. Unescaped characters are copied as is. + +@pre m_cursor - m_start \>= 2, meaning the length of the last token +is at least 2 bytes which is trivially true for any string (which +consists of at least two quotes). +@verbatim +" c1 c2 c3 ... " +^ ^ +m_start m_cursor +@endverbatim + +@complexity Linear in the length of the string.\n + +Lemma: The loop body will always terminate.\n + +Proof (by contradiction): Assume the loop body does not terminate. As +the loop body does not contain another loop, one of the called +functions must never return. The called functions are std::strtoul +and to_unicode. Neither function can loop forever, so the loop body +will never loop forever which contradicts the assumption that the loop +body does not terminate, q.e.d.\n + +Lemma: The loop condition for the for loop is eventually false.\n + +Proof (by contradiction): Assume the loop does not terminate. Due to +the above lemma, this can only be due to a tautological loop +condition; that is, the loop condition i < m_cursor - 1 must always be +true. Let x be the change of i for any loop iteration. Then +m_start + 1 + x < m_cursor - 1 must hold to loop indefinitely. This +can be rephrased to m_cursor - m_start - 2 > x. With the +precondition, we x <= 0, meaning that the loop condition holds +indefinitely if i is always decreased. However, observe that the value +of i is strictly increasing with each iteration, as it is incremented +by 1 in the iteration expression and never decremented inside the loop +body. Hence, the loop condition will eventually be false which +contradicts the assumption that the loop condition is a tautology, +q.e.d. + +@return string value of current token without opening and closing +quotes +@throw std::out_of_range if to_unicode fails +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1lexer_1a276f22b848a3a5d22aa305db5f4e2362'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +bool +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'get_number'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +basic_json & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'result'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const token_type +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'token'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '11236'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +return number value for number tokens +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +This function translates the last token into the most appropriate +number type (either integer, unsigned integer or floating point), +which is passed back to the caller via the result parameter. + +integral numbers that don't fit into the the range of the respective +type are parsed as number_float_t + +floating-point values do not satisfy std::isfinite predicate +are converted to value_t::null + +throws if the entire string [m_start .. m_cursor) cannot be +interpreted as a number + +@param[out] result @ref basic_json object to receive the number. +@param[in] token the type of the number token +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-section = { + sec-kind = 'public-static-func'; + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1lexer_1aef61a6c4acecdfc546b6c7368c0a2400'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static string_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'to_unicode'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::size_t +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'codepoint1'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::size_t +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'codepoint2'; + sec-mem-param-defval = <<_EnD_oF_dEf_TeXt_ +0 +_EnD_oF_dEf_TeXt_; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '9622'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +create a string from one or two Unicode code points +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +There are two cases: (1) @a codepoint1 is in the Basic Multilingual +Plane (U+0000 through U+FFFF) and @a codepoint2 is 0, or (2) +@a codepoint1 and @a codepoint2 are a UTF-16 surrogate pair to +represent a code point above U+FFFF. + +@param[in] codepoint1 the code point (can be high surrogate) +@param[in] codepoint2 the code point (can be low surrogate or 0) + +@return string representation of the code point; the length of the +result string is between 1 and 4 characters. + +@throw std::out_of_range if code point is > 0x10ffff; example: "code +points above 0x10FFFF are invalid" +@throw std::invalid_argument if the low surrogate is invalid; example: +""missing or wrong low surrogate"" + +@complexity Constant. + +@see +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1lexer_1a2f7462ddca901a35d65dc435c03711f1'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static std::string +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'token_type_name'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const token_type +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 't'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '9687'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +return name of values of type token_type (only used for errors) +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-section = { + sec-kind = 'private-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1lexer_1abf820e27a9df7456e9d1006e5043660c'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +std::istream * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_stream'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += nullptr +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '11306'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +optional input stream +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1lexer_1a37672b3b025b71b892397a55ca557c75'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +string_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_line_buffer'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ +{} +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '11308'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +line buffer buffer for m_stream +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1lexer_1a03d56dbb3729b3d7ec4dc080115f93cc'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +string_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_line_buffer_tmp'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ +{} +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '11310'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +used for filling m_line_buffer +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1lexer_1a58cac0628a613e9018b6043a46389d55'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +const lexer_char_t * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_content'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += nullptr +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '11312'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +the buffer pointer +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1lexer_1a686ef4fbab08bc311ad68e5f8952f572'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +const lexer_char_t * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_start'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += nullptr +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '11314'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +pointer to the beginning of the current symbol +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1lexer_1a3263fbbd18ae3798647e41dbf09e5f1d'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +const lexer_char_t * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_marker'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += nullptr +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '11316'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +pointer for backtracking information +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1lexer_1aac4ea633f82bcadb12281ec59fc7f062'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +const lexer_char_t * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_cursor'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += nullptr +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '11318'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +pointer to the current symbol +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1lexer_1a3fb73c9b4c5c6ca68411d25c270b2cf5'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +const lexer_char_t * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_limit'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += nullptr +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '11320'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +pointer to the end of the buffer +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1lexer_1a434e6eaeeab16bd6f28b55742f60ef0b'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +token_type +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'last_token_type'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += token_type::end_of_input +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '11322'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +the last token type +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + cp-fileline = '9537'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ +lexical analysis +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ +This class organizes the lexical analysis during JSON deserialization. The +core of it is a scanner generated by re2c that +processes a buffer and recognizes tokens according to RFC 7159. +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 255; + node-label = 'basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::lexer'; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* class */ +struct = { + cp-id = 'structmbuf__table'; + cp-name = 'mbuf_table'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structmbuf__table_1a8aed22e2c7b283705ec82e0120515618'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'len'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + sec-mem-desc-line = '199'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structmbuf__table_1ae6c3a4e6ff2dbb852d3cfc14b2f33d6f'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mbuf * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_table'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + sec-mem-desc-line = '200'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + cp-fileline = '198'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 257; + node-label = 'mbuf_table'; + node-link = { + node-link-id = 'structmbuf__table'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structmissing__config__file__exception'; + cp-name = 'missing_config_file_exception'; + cp-ref = { + ref-type = base; + ref-id = 'classstd_1_1exception'; + ref-prot = public; + ref-virt = non-virtual; + }; + cp-section = { + sec-kind = 'public-func'; + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'structmissing__config__file__exception_1a70518905d36686ddeeb2eb3b2682f016'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +const char * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'what'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '73'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'common_8hpp_1aad8181b222f27240e9f07dcb6e620fa3'; + sec-mem-ref-line = '162'; + sec-mem-ref-name = 'KernelTests::SetUpTestCase'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'common_8hpp_1a6157ff083be863bba0a7804cd1788d96'; + sec-mem-ref-line = '190'; + sec-mem-ref-name = 'KernelTests::get_number_of_cases'; + }; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + cp-fileline = '72'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-inheritancegraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 258; + node-label = 'missing_config_file_exception'; + node-link = { + node-link-id = 'structmissing__config__file__exception'; + }; + node-child = { + child-id = '259'; + relation = public-inheritance; + }; /* node-child */ + }; /* node */ + node = { + node-id = 259; + node-label = 'exception'; + }; /* node */ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 260; + node-label = 'missing_config_file_exception'; + node-link = { + node-link-id = 'structmissing__config__file__exception'; + }; + node-child = { + child-id = '261'; + relation = public-inheritance; + }; /* node-child */ + }; /* node */ + node = { + node-id = 261; + node-label = 'exception'; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structnlohmann_1_1detail_1_1negation'; + cp-name = 'nlohmann::detail::negation'; + cp-ref = { + ref-type = base; + ref-id = 'classstd_1_1integral__constant'; + ref-prot = public; + ref-virt = non-virtual; + }; + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + cp-fileline = '208'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-inheritancegraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 263; + node-label = 'integral_constant< bool, !B::value >'; + }; /* node */ + node = { + node-id = 262; + node-label = 'negation< B >'; + node-link = { + node-link-id = 'structnlohmann_1_1detail_1_1negation'; + }; + node-child = { + child-id = '263'; + relation = public-inheritance; + }; /* node-child */ + }; /* node */ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 265; + node-label = 'integral_constant< bool, !B::value >'; + }; /* node */ + node = { + node-id = 264; + node-label = 'negation< B >'; + node-link = { + node-link-id = 'structnlohmann_1_1detail_1_1negation'; + }; + node-child = { + child-id = '265'; + relation = public-inheritance; + }; /* node-child */ + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structnlohmann_1_1basic__json_1_1numtostr'; + cp-name = 'nlohmann::basic_json::numtostr'; + cp-section = { + sec-kind = 'public-func'; + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'structnlohmann_1_1basic__json_1_1numtostr_1ad261cd78a56b425054c7da82cd3c8d48'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'numtostr'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +NumberType +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'value'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '8235'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'structnlohmann_1_1basic__json_1_1numtostr_1a14989d8fe448c5f947832aea3dae615a'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +const char * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'c_str'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '8240'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-section = { + sec-kind = 'private-func'; + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'structnlohmann_1_1basic__json_1_1numtostr_1a4bf3e5a4a05f2b0d45ae19fee5136974'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'x_write'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +NumberType +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'x'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +std::true_type +_EnD_oF_dEf_TeXt_; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '8250'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'structnlohmann_1_1basic__json_1_1numtostr_1aae5af8dee4b668dbe7b496bec0dee2bd'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'x_write'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +NumberType +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'x'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +std::false_type +_EnD_oF_dEf_TeXt_; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '8284'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-section = { + sec-kind = 'private-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structnlohmann_1_1basic__json_1_1numtostr_1a30ec174e98ccc79b1deb654f9995ebce'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +std::array< char, 64 > +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_buf'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ +{{}} +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '8247'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +a (hopefully) large enough character buffer +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + cp-fileline = '8232'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ +locale-independent serialization for built-in arithmetic types +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 267; + node-label = 'basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::numtostr'; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +class = { + cp-id = 'classnlohmann_1_1basic__json_1_1parser'; + cp-name = 'nlohmann::basic_json::parser'; + cp-section = { + sec-kind = 'public-func'; + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1parser_1a9a433f6a3cc83713bad53714d517d473'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'parser'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const char * +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'buff'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const parser_callback_t +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'cb'; + sec-mem-param-defval = <<_EnD_oF_dEf_TeXt_ +nullptr +_EnD_oF_dEf_TeXt_; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '11334'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +a parser reading from a string literal +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1parser_1a7e83a477feac239e0720fce287f78a96'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'parser'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +std::istream & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'is'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const parser_callback_t +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'cb'; + sec-mem-param-defval = <<_EnD_oF_dEf_TeXt_ +nullptr +_EnD_oF_dEf_TeXt_; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '11340'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +a parser reading from an input stream +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1parser_1ae2a07a9b259b89cdedcfe456fff8db88'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'parser'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +IteratorType +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'first'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +IteratorType +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'last'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const parser_callback_t +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'cb'; + sec-mem-param-defval = <<_EnD_oF_dEf_TeXt_ +nullptr +_EnD_oF_dEf_TeXt_; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '11349'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +a parser reading from an iterator range with contiguous storage +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1parser_1ab23d6a36f5d3700f589905f95832e9f6'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +basic_json +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'parse'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '11356'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +public parser interface +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-section = { + sec-kind = 'private-func'; + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1parser_1a289b5b9b66b6e513bcc0507937da0a31'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +basic_json +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'parse_internal'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +bool +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'keep'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '11373'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +the actual parser +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1parser_1a1ba591d906ee5b3efdcbc0c7b1765319'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +lexer::token_type +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'get_token'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '11569'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +get next token from lexer +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1parser_1ae03ddb5bd1e25c30e0edf7761a25e4a7'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'expect'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +typename lexer::token_type +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 't'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '11575'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1parser_1af4b56ed962b0efa601307476b3cb4071'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'unexpect'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +typename lexer::token_type +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 't'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '11588'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-section = { + sec-kind = 'private-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1parser_1acb5ba97551079e0b072c62c21d784ac5'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'depth'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += 0 +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '11602'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +current level of recursion +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1parser_1ab27ae4c0677b37ead963548519c8fb3d'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +const parser_callback_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'callback'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += nullptr +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '11604'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +callback function +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1parser_1a8ebdc95c64e51b3af968cb8552aaf8bf'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +lexer::token_type +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'last_token'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += lexer::token_type::uninitialized +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '11606'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +the type of the last read token +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1parser_1a42f6d920697999977b6d0e8c2513fe7a'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +lexer +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_lexer'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '11608'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +the lexer +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + cp-fileline = '11331'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ +syntax analysis +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ +This class implements a recursive decent parser. +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 269; + node-label = 'basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::parser'; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* class */ +class = { + cp-id = 'class_prach_check'; + cp-name = 'PrachCheck'; + cp-ref = { + ref-type = base; + ref-id = 'class_kernel_tests'; + ref-prot = public; + ref-virt = non-virtual; + }; + cp-section = { + sec-kind = 'public-static-func'; + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1aad8181b222f27240e9f07dcb6e620fa3'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'SetUpTestCase'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '162'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8cpp_1ad8c062e9b24e4b3a8408b23a0d8ab428'; + sec-mem-ref-line = '106'; + sec-mem-ref-name = 'read_json_from_file'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8hpp_1a70518905d36686ddeeb2eb3b2682f016'; + sec-mem-ref-line = '73'; + sec-mem-ref-name = 'missing_config_file_exception::what'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8cpp_1a56c41cbb9de4bce25da45ecd74b46a81'; + sec-mem-ref-line = '119'; + sec-mem-ref-name = 'tsc_recovery'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1aaff0dc66f57f643a49ad3dd6bcb56916'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'TearDownTestCase'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '185'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1a6157ff083be863bba0a7804cd1788d96'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static unsigned +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'get_number_of_cases'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'type'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '190'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8cpp_1ad8c062e9b24e4b3a8408b23a0d8ab428'; + sec-mem-ref-line = '106'; + sec-mem-ref-name = 'read_json_from_file'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'json_8hpp_1a0801762a3fe36fe32dca5f16e515478d'; + sec-mem-ref-line = '5040'; + sec-mem-ref-name = 'basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::size'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8hpp_1a70518905d36686ddeeb2eb3b2682f016'; + sec-mem-ref-line = '73'; + sec-mem-ref-name = 'missing_config_file_exception::what'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1ab0ad0e23f1b51f15bd9594a24a2c438f'; + sec-mem-ref-line = '778'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + }; /* cp-section */ + cp-section = { + sec-kind = 'public-static-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_kernel_tests_1abd42f3e51ae547ec1631e9ac60df29d6'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static json +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'conf'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '159'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_kernel_tests_1a4e9607ae94d1958d38388cead2e4e3bf'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static std::string +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'test_type'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '160'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-section = { + sec-kind = 'protected-func'; + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_prach_check_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'SetUp'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_functional.cc'; + sec-mem-desc-line = '92'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8hpp_1abf28e5ea54fab2b0685972fe6e75560a'; + sec-mem-ref-line = '358'; + sec-mem-ref-name = 'KernelTests::init_test'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'prach__functional_8cc_1a48dc9763aed8e2af7ff83eb1648aa96e'; + sec-mem-ref-line = '40'; + sec-mem-ref-name = 'm_xran_dev_ctx'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__common_8h_1a4adf91126704ea524f98f461f6180c85'; + sec-mem-ref-line = '209'; + sec-mem-ref-name = 'xran_device_ctx::fh_cfg'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a167e91cb91119363bf10c9430b6f082c'; + sec-mem-ref-line = '515'; + sec-mem-ref-name = 'xran_fh_config::prach_conf'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a27ff648f80c139235421b81f957fcb7e'; + sec-mem-ref-line = '518'; + sec-mem-ref-name = 'xran_fh_config::ru_conf'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__common_8h_1ac1db3db55038ef0b2f69827746eaf87c'; + sec-mem-ref-line = '210'; + sec-mem-ref-name = 'xran_device_ctx::PrachCPConfig'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a72b0cba491d0dd2703d684cb2c2a14cf'; + sec-mem-ref-line = '517'; + sec-mem-ref-name = 'xran_fh_config::frame_conf'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a78b2fab8e8d6a6424c2712d528fd9a58'; + sec-mem-ref-line = '461'; + sec-mem-ref-name = 'xran_frame_config::nNumerology'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a3b86317723a592e240c0047e53a6326d'; + sec-mem-ref-line = '460'; + sec-mem-ref-name = 'xran_frame_config::nFrameDuplexType'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a583c2f58d0655789ea36e22d605ab9ad'; + sec-mem-ref-line = '523'; + sec-mem-ref-name = 'xran_fh_config::log_level'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1acb5fe8097b0115e038eb02d5900f66d6'; + sec-mem-ref-line = '432'; + sec-mem-ref-name = 'xran_prach_config::nPrachConfIdx'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a5c648c99c04370a4e8767f919a2289bf'; + sec-mem-ref-line = '441'; + sec-mem-ref-name = 'xran_prach_config::nPrachFreqStart'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a3b43924c5ef23b0496d1a7adf2752dbf'; + sec-mem-ref-line = '442'; + sec-mem-ref-name = 'xran_prach_config::nPrachFreqOffset'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1ab9b99e41ea39f16780f66a539aa872c8'; + sec-mem-ref-line = '433'; + sec-mem-ref-name = 'xran_prach_config::nPrachSubcSpacing'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a1520b1ef6131bff6c14b88d849c266c5'; + sec-mem-ref-line = '486'; + sec-mem-ref-name = 'xran_ru_config::iqWidth'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a1e4a3c43fc7865c6520471fb9ba8501f'; + sec-mem-ref-line = '487'; + sec-mem-ref-name = 'xran_ru_config::compMeth'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a59e7e8f3feb686850b0cb0ae065de85b'; + sec-mem-ref-line = '488'; + sec-mem-ref-name = 'xran_ru_config::fftSize'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__common_8h_1a342c40a4877f7760c65eca32523efea1'; + sec-mem-ref-line = '79'; + sec-mem-ref-name = 'XRAN_PRACH_CANDIDATE_Y'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__common_8h_1af7a48e76794ce5d801ab6d0f848abb53'; + sec-mem-ref-line = '80'; + sec-mem-ref-name = 'XRAN_PRACH_CANDIDATE_SLOT'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'prach__functional_8cc_1ae0c317f2faf44b0e7bde79d34e00b2e7'; + sec-mem-ref-line = '88'; + sec-mem-ref-name = 'm_SlotNrNum'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'prach__functional_8cc_1a16c92b16fc21a700c50a7faf19da41b9'; + sec-mem-ref-line = '51'; + sec-mem-ref-name = 'm_params'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1a5921f2439294279b8111fed577c5c37a'; + sec-mem-ref-line = '322'; + sec-mem-ref-name = 'xran_cp_gen_params::sections'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'prach__functional_8cc_1a8afca7ac895ea509b38432d1b45bff55'; + sec-mem-ref-line = '45'; + sec-mem-ref-name = 'm_pSectGenInfo'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'ethernet_8c_1a8d83e3adb6c9e839b3b7259288f100ba'; + sec-mem-ref-line = '70'; + sec-mem-ref-name = '_eth_mbuf_pool'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_prach_check_1ac4fca95dc3b93372ce7f2078baf8e8b6'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'TearDown'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_functional.cc'; + sec-mem-desc-line = '166'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'prach__functional_8cc_1a8afca7ac895ea509b38432d1b45bff55'; + sec-mem-ref-line = '45'; + sec-mem-ref-name = 'm_pSectGenInfo'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1ad49152dbf530aeb2a2844895e6d47a3e'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'set_division_factor'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const double +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'factor'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '222'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Set division factor. +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\param [in] factor Division factor that divides mean and standard deviation. +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1a1bf2180658ad6d459231c631237f9311'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'set_results_units'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'units'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '231'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Set reults units. +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\param [in] units Units that are displayed in the report. +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1a5666c82d220a2c66784b9a238cc43c7e'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'set_parallelization_factor'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const int +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'factor'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '240'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Set size of processed data. +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\param [in] size Size of processed data used to calculate module throughput. +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1a3cf2e25a99be565a4ab570737cfeac41'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'performance'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'isa'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'module_name'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +F +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'function'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +Args ... +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'args'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '253'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Run performance test case for a given function. +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\param [in] isa Used Instruction Set. +\param [in] module_name name of the tested kernel. +\param [in] function function to be tested. +\param [in] args function's arguments. +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8cpp_1ae39390f41ba978a1f0d79691436c074a'; + sec-mem-ref-line = '47'; + sec-mem-ref-name = 'bind_to_cpu'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8hpp_1a12661f1773e3ba71d5b29d7ffa042b1a'; + sec-mem-ref-line = '68'; + sec-mem-ref-name = 'BenchmarkParameters::cpu_id'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8hpp_1af69d779517f2bdee3aba95bc38022074'; + sec-mem-ref-line = '425'; + sec-mem-ref-name = 'run_benchmark'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a21d05f2c6607fc534e67ed32883de81f'; + sec-mem-ref-line = '766'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1af9e5657bce588536aef7baf8c33a0108'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'print_test_description'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'isa'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'module_name'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '271'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Print unique test description to the results xml file. +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\param [in] isa Used Instruction Set. +\param [in] module_name name of the tested kernel. +\param [in] function function to be tested. +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1a5a1ec6ee393f8538815bc0a82eac2e88'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +const std::string +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'get_case_name'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '338'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Get name of the test case from JSON file. +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\return Test'ss case name or a default name if name field is missing. +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1abf28e5ea54fab2b0685972fe6e75560a'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'init_test'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'type'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '358'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Defines section in the conf.json that is used to load parameters from. +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\param [in] type Name of the section in the JSON file. +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'json_8hpp_1a0801762a3fe36fe32dca5f16e515478d'; + sec-mem-ref-line = '5040'; + sec-mem-ref-name = 'basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::size'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8cpp_1a876ed07783b27d38779f7cef4db673e6'; + sec-mem-ref-line = '86'; + sec-mem-ref-name = 'read_data_to_aligned_array'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a69b4bff6061152ff85770d725cced3cc'; + sec-mem-ref-line = '32'; + sec-mem-ref-name = 'module_name'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '112'; + sec-mem-ref-name = 'C_plane::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'chain__tests_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '135'; + sec-mem-ref-name = 'TestChain::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '92'; + sec-mem-ref-name = 'SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__performance_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '91'; + sec-mem-ref-name = 'PrachPerf::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'u__plane__functional_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '37'; + sec-mem-ref-name = 'U_planeCheck::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'u__plane__performance_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '41'; + sec-mem-ref-name = 'U_planePerf::SetUp'; + }; + }; /* sec-member */ + }; /* cp-section */ + cp-section = { + sec-kind = 'protected-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_check_1ae3061028ac8e2b8c5dbf9bafc6e1bafa'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_fh_config * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_xranConf'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_functional.cc'; + sec-mem-desc-line = '39'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a62307393b7f454a2b348ada67997b796'; + sec-mem-ref-line = '177'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_check_1a48dc9763aed8e2af7ff83eb1648aa96e'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_device_ctx +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_xran_dev_ctx'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_functional.cc'; + sec-mem-desc-line = '39'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '92'; + sec-mem-ref-name = 'SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a62307393b7f454a2b348ada67997b796'; + sec-mem-ref-line = '177'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_check_1a21909f3922fb3485559575d6252575aa'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_prach_config * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_pPRACHConfig'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_functional.cc'; + sec-mem-desc-line = '41'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a62307393b7f454a2b348ada67997b796'; + sec-mem-ref-line = '177'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_check_1a0967c7de3f0299240443557d0b5677b8'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_ru_config * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_pRUConfig'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_functional.cc'; + sec-mem-desc-line = '42'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a62307393b7f454a2b348ada67997b796'; + sec-mem-ref-line = '177'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_check_1a45887981986f86c7811031b354fb4a36'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_prach_cp_config * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_pPrachCPConfig'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_functional.cc'; + sec-mem-desc-line = '43'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a62307393b7f454a2b348ada67997b796'; + sec-mem-ref-line = '177'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_check_1a8afca7ac895ea509b38432d1b45bff55'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_section_gen_info * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_pSectGenInfo'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += NULL +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_functional.cc'; + sec-mem-desc-line = '45'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '92'; + sec-mem-ref-name = 'SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1ac4fca95dc3b93372ce7f2078baf8e8b6'; + sec-mem-ref-line = '166'; + sec-mem-ref-name = 'TearDown'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a62307393b7f454a2b348ada67997b796'; + sec-mem-ref-line = '177'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_check_1ae68e73b40ca04879362dc67fbb368682'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_maxSections'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += 8 +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_functional.cc'; + sec-mem-desc-line = '46'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_check_1a28e2512868d0865874dc55150a46f39a'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'lastsymbol'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_functional.cc'; + sec-mem-desc-line = '47'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_check_1aafa40e823e408268e48585ec7a623eae'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mbuf * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_pTestBuffer'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_functional.cc'; + sec-mem-desc-line = '49'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a62307393b7f454a2b348ada67997b796'; + sec-mem-ref-line = '177'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_check_1a16c92b16fc21a700c50a7faf19da41b9'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_cp_gen_params +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_params'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_functional.cc'; + sec-mem-desc-line = '49'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '92'; + sec-mem-ref-name = 'SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a62307393b7f454a2b348ada67997b796'; + sec-mem-ref-line = '177'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_check_1a431f2e351a321b762ccd64984d566913'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_recv_packet_info +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_pktInfo'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_functional.cc'; + sec-mem-desc-line = '49'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_check_1aa42dde0a7ce436df7e5b607d17d52668'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_cp_gen_params +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_result'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_functional.cc'; + sec-mem-desc-line = '49'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_check_1afa985909bf1a1a9cc7a7070c9a73016e'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_dir'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_functional.cc'; + sec-mem-desc-line = '55'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_check_1a4bb0d1ca82a59555014c6c0e1060cbdf'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +std::string +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_dirStr'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_functional.cc'; + sec-mem-desc-line = '56'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_check_1abc4c88e1904502c47099799767ea3991'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_sectionType'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_functional.cc'; + sec-mem-desc-line = '57'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_check_1a9f102f8bfc163d6a26411d1855c8c97c'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_ccId'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_functional.cc'; + sec-mem-desc-line = '59'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a62307393b7f454a2b348ada67997b796'; + sec-mem-ref-line = '177'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_check_1a73f8e8274bd97892f58f73d1d83b533a'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_antId'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_functional.cc'; + sec-mem-desc-line = '59'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a62307393b7f454a2b348ada67997b796'; + sec-mem-ref-line = '177'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_check_1a7a0ce01c67c4067cc3ba42fd380e858a'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_seqId'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_functional.cc'; + sec-mem-desc-line = '60'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_check_1a65389015c6ac952ac5108c2ae802fa52'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_frameId'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_functional.cc'; + sec-mem-desc-line = '61'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a62307393b7f454a2b348ada67997b796'; + sec-mem-ref-line = '177'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_check_1afa13542efadbf6db6e8ddfa388a345c0'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_subframeId'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_functional.cc'; + sec-mem-desc-line = '61'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a62307393b7f454a2b348ada67997b796'; + sec-mem-ref-line = '177'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_check_1a7f021a016314b5d3a9bb095c5c08048f'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_slotId'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_functional.cc'; + sec-mem-desc-line = '61'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a62307393b7f454a2b348ada67997b796'; + sec-mem-ref-line = '177'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_check_1aba23eca36e0c5cc06d74919fa5fe0dd6'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_symStart'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_functional.cc'; + sec-mem-desc-line = '62'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_check_1a88a1f1ad78450f64aab4fa3f6499060a'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_symNum'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_functional.cc'; + sec-mem-desc-line = '62'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_check_1a59b4057d63386649d2facf030a08fa0e'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_prbStart'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += NULL +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_functional.cc'; + sec-mem-desc-line = '63'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_check_1a81096035b0802bc24810c07ca13df7e9'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_prbNum'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += NULL +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_functional.cc'; + sec-mem-desc-line = '63'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_check_1a5b1a6d8e8257b3bb7e3a187c0cce4011'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_iqWidth'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_functional.cc'; + sec-mem-desc-line = '65'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_check_1a493740cacd8f8d3e235c4626e501d3e2'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_compMethod'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_functional.cc'; + sec-mem-desc-line = '65'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_check_1a047b603d6d908d93ce5d58dcc2b63036'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_beamId'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_functional.cc'; + sec-mem-desc-line = '66'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a62307393b7f454a2b348ada67997b796'; + sec-mem-ref-line = '177'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_check_1ab4be4cfb9be32a9a6c516f5cfbae0d6f'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_reMask'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += 0xfff +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_functional.cc'; + sec-mem-desc-line = '67'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_check_1a9c4d35a4cce2560e384f2fe95c4c341f'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_sectionId'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_functional.cc'; + sec-mem-desc-line = '68'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_check_1adfa9d2df36650f369b04652749c1134b'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_filterIndex'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_functional.cc'; + sec-mem-desc-line = '69'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_check_1a7a8bdb868f3812cf7270734d13159255'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_fftSize'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_functional.cc'; + sec-mem-desc-line = '71'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_check_1a1d28f82423abf4fde782a34ae064aea9'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_startSymId'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_functional.cc'; + sec-mem-desc-line = '74'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a62307393b7f454a2b348ada67997b796'; + sec-mem-ref-line = '177'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_check_1a95b34835c7215dd09bdfdd82698c1232'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_x'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_functional.cc'; + sec-mem-desc-line = '75'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a62307393b7f454a2b348ada67997b796'; + sec-mem-ref-line = '177'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_check_1aa6a94180919a3f3827f581cb9b6038ef'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_filterIdx'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_functional.cc'; + sec-mem-desc-line = '76'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a62307393b7f454a2b348ada67997b796'; + sec-mem-ref-line = '177'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_check_1acef6d7b2a1494b7d98e70d4759875349'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_startPrbc'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_functional.cc'; + sec-mem-desc-line = '77'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a62307393b7f454a2b348ada67997b796'; + sec-mem-ref-line = '177'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_check_1af2657f421b39bfe018266cfe11d27b51'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_numPrbc'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_functional.cc'; + sec-mem-desc-line = '78'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a62307393b7f454a2b348ada67997b796'; + sec-mem-ref-line = '177'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_check_1ab7158c23dfca189475b254c35ede1da7'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_numSymbol'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_functional.cc'; + sec-mem-desc-line = '79'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a62307393b7f454a2b348ada67997b796'; + sec-mem-ref-line = '177'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_check_1a509c970617e65a99c8120eef3d309bcb'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_timeOffset'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_functional.cc'; + sec-mem-desc-line = '80'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a62307393b7f454a2b348ada67997b796'; + sec-mem-ref-line = '177'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_check_1a9c9ab811b57b6250d1712aa6e59c0853'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_freqOffset'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_functional.cc'; + sec-mem-desc-line = '81'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a62307393b7f454a2b348ada67997b796'; + sec-mem-ref-line = '177'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_check_1a8c2ff60cb0ad0f81eafada59dc92c4c6'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_nrofPrachInSlot'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_functional.cc'; + sec-mem-desc-line = '82'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a62307393b7f454a2b348ada67997b796'; + sec-mem-ref-line = '177'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_check_1a0baaeee595bffc14f68fefd762c6fa5a'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_occassionsInPrachSlot'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_functional.cc'; + sec-mem-desc-line = '83'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a62307393b7f454a2b348ada67997b796'; + sec-mem-ref-line = '177'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_check_1a5067ab67bdb57355a12a0282ced79bdc'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_y'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_functional.cc'; + sec-mem-desc-line = '84'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a62307393b7f454a2b348ada67997b796'; + sec-mem-ref-line = '177'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_check_1a9ef01047ab319b03151146a47e4516c4'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_isPRACHslot'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_functional.cc'; + sec-mem-desc-line = '85'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a62307393b7f454a2b348ada67997b796'; + sec-mem-ref-line = '177'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_check_1aee24498b1349e41e8e14f822c6bd8fff'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_prach_start_symbol'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_functional.cc'; + sec-mem-desc-line = '86'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a62307393b7f454a2b348ada67997b796'; + sec-mem-ref-line = '177'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_check_1a98ba28864455aad01fecfc51992a252a'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_prach_last_symbol'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_functional.cc'; + sec-mem-desc-line = '87'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a62307393b7f454a2b348ada67997b796'; + sec-mem-ref-line = '177'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_check_1ae0c317f2faf44b0e7bde79d34e00b2e7'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_SlotNrNum'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_functional.cc'; + sec-mem-desc-line = '88'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '92'; + sec-mem-ref-name = 'SetUp'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_check_1a71d000429a67e58a4dbdfaa350ef9d4b'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_m_params_timeOffset'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_functional.cc'; + sec-mem-desc-line = '89'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a62307393b7f454a2b348ada67997b796'; + sec-mem-ref-line = '177'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_check_1a5a1c72f3b78d7251f2f98b26bf5b795b'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_id'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_functional.cc'; + sec-mem-desc-line = '90'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a62307393b7f454a2b348ada67997b796'; + sec-mem-ref-line = '177'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_kernel_tests_1a929401f577bc540c1f8b7ec8c3b974fd'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +double +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'division_factor'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += 1.0 +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '214'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_kernel_tests_1a0f6b306c821273c76461f8799c5d4d4c'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +std::string +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'result_units'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += "None" +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '215'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_kernel_tests_1a88ea1f1de6b4d7d01ddc5fced408c813'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'parallelization_factor'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += 1 +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '216'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-section = { + sec-kind = 'private-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_check_1a4139c19c2555dfad9db528b5c4ac0248'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_section_gen_info * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_pSectResult'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += NULL +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_functional.cc'; + sec-mem-desc-line = '36'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_functional.cc'; + cp-fileline = '34'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-inheritancegraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 272; + node-label = 'TestWithParam< unsigned >'; + }; /* node */ + node = { + node-id = 271; + node-label = 'KernelTests'; + node-link = { + node-link-id = 'class_kernel_tests'; + }; + node-child = { + child-id = '272'; + relation = public-inheritance; + }; /* node-child */ + }; /* node */ + node = { + node-id = 270; + node-label = 'PrachCheck'; + node-link = { + node-link-id = 'class_prach_check'; + }; + node-child = { + child-id = '271'; + relation = public-inheritance; + }; /* node-child */ + }; /* node */ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 275; + node-label = 'TestWithParam< unsigned >'; + }; /* node */ + node = { + node-id = 285; + node-label = 'xran_prach_cp_config'; + node-link = { + node-link-id = 'structxran__prach__cp__config'; + }; + }; /* node */ + node = { + node-id = 281; + node-label = 'BbuIoBufCtrlStruct'; + node-link = { + node-link-id = 'struct_bbu_io_buf_ctrl_struct'; + }; + node-child = { + child-id = '282'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++sBufferList +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + node = { + node-id = 288; + node-label = 'xran_fh_init'; + node-link = { + node-link-id = 'structxran__fh__init'; + }; + node-child = { + child-id = '284'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++eAxCId_conf +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '289'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++io_cfg +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + node = { + node-id = 280; + node-label = 'xran_device_ctx'; + node-link = { + node-link-id = 'structxran__device__ctx'; + }; + node-child = { + child-id = '281'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++sFrontHaulTxBbuIoBufCtrl ++sFHPrachRxBbuIoBufCtrl ++sFHSrsRxBbuIoBufCtrl ++sFrontHaulRxBbuIoBufCtrl ++sFrontHaulTxPrbMapBbuIoBufCtrl ++sFrontHaulRxPrbMapBbuIoBufCtrl +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '284'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++eAxc_id_cfg +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '285'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++PrachCPConfig +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '286'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++fh_counters +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '283'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++sFHPrachRxBuffers ++sFrontHaulTxPrbMapBuffers ++sFrontHaulRxPrbMapBuffers ++sFHSrsRxBuffers ++sFrontHaulTxBuffers ++sFrontHaulRxBuffers +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '287'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++tx_mbufs +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '288'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++fh_init +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '290'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++srs_cfg +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '291'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++fh_cfg +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + node = { + node-id = 274; + node-label = 'KernelTests'; + node-link = { + node-link-id = 'class_kernel_tests'; + }; + node-child = { + child-id = '275'; + relation = public-inheritance; + }; /* node-child */ + node-child = { + child-id = '276'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++conf +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + node = { + node-id = 283; + node-label = 'xran_flat_buffer'; + node-link = { + node-link-id = 'structxran__flat__buffer'; + }; + }; /* node */ + node = { + node-id = 292; + node-label = 'xran_frame_config'; + node-link = { + node-link-id = 'structxran__frame__config'; + }; + node-child = { + child-id = '293'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++sSlotConfig +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + node = { + node-id = 278; + node-label = 'xran_recv_packet_info'; + node-link = { + node-link-id = 'structxran__recv__packet__info'; + }; + node-child = { + child-id = '279'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++eaxc +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + node = { + node-id = 282; + node-label = 'xran_buffer_list'; + node-link = { + node-link-id = 'structxran__buffer__list'; + }; + node-child = { + child-id = '283'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++pBuffers +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + node = { + node-id = 298; + node-label = 'xran_sectionext3_info'; + node-link = { + node-link-id = 'structxran__sectionext3__info'; + }; + }; /* node */ + node = { + node-id = 284; + node-label = 'xran_eaxcid_config'; + node-link = { + node-link-id = 'structxran__eaxcid__config'; + }; + }; /* node */ + node = { + node-id = 287; + node-label = 'mbuf_table'; + node-link = { + node-link-id = 'structmbuf__table'; + }; + }; /* node */ + node = { + node-id = 289; + node-label = 'xran_io_cfg'; + node-link = { + node-link-id = 'structxran__io__cfg'; + }; + }; /* node */ + node = { + node-id = 302; + node-label = 'xran_section_desc'; + node-link = { + node-link-id = 'structxran__section__desc'; + }; + }; /* node */ + node = { + node-id = 279; + node-label = 'xran_eaxc_info'; + node-link = { + node-link-id = 'structxran__eaxc__info'; + }; + }; /* node */ + node = { + node-id = 276; + node-label = 'basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >'; + node-link = { + node-link-id = 'classnlohmann_1_1basic__json'; + }; + }; /* node */ + node = { + node-id = 294; + node-label = 'xran_ru_config'; + node-link = { + node-link-id = 'structxran__ru__config'; + }; + }; /* node */ + node = { + node-id = 297; + node-label = 'xran_sectionext4_info'; + node-link = { + node-link-id = 'structxran__sectionext4__info'; + }; + }; /* node */ + node = { + node-id = 286; + node-label = 'xran_common_counters'; + node-link = { + node-link-id = 'structxran__common__counters'; + }; + }; /* node */ + node = { + node-id = 290; + node-label = 'xran_srs_config'; + node-link = { + node-link-id = 'structxran__srs__config'; + }; + }; /* node */ + node = { + node-id = 295; + node-label = 'xran_section_gen_info'; + node-link = { + node-link-id = 'structxran__section__gen__info'; + }; + node-child = { + child-id = '296'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++m_ext5 +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '297'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++m_ext4 +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '298'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++m_ext3 +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '299'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++m_ext2 +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '300'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++m_ext1 +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '301'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++info +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + node = { + node-id = 300; + node-label = 'xran_sectionext1_info'; + node-link = { + node-link-id = 'structxran__sectionext1__info'; + }; + }; /* node */ + node = { + node-id = 301; + node-label = 'xran_section_info'; + node-link = { + node-link-id = 'structxran__section__info'; + }; + node-child = { + child-id = '302'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++sec_desc +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + node = { + node-id = 273; + node-label = 'PrachCheck'; + node-link = { + node-link-id = 'class_prach_check'; + }; + node-child = { + child-id = '274'; + relation = public-inheritance; + }; /* node-child */ + node-child = { + child-id = '277'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ +#m_pPRACHConfig +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '278'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ +#m_pktInfo +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '280'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ +#m_xran_dev_ctx +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '295'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ +#m_pSectGenInfo +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '285'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ +#m_pPrachCPConfig +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '294'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ +#m_pRUConfig +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '303'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ +#m_result +#m_params +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '291'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ +#m_xranConf +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + node = { + node-id = 291; + node-label = 'xran_fh_config'; + node-link = { + node-link-id = 'structxran__fh__config'; + }; + node-child = { + child-id = '277'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++prach_conf +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '292'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++frame_conf +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '294'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++ru_conf +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '290'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++srs_conf +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + node = { + node-id = 296; + node-label = 'xran_sectionext5_info'; + node-link = { + node-link-id = 'structxran__sectionext5__info'; + }; + }; /* node */ + node = { + node-id = 303; + node-label = 'xran_cp_gen_params'; + node-link = { + node-link-id = 'structxran__cp__gen__params'; + }; + node-child = { + child-id = '304'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++hdr +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '295'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++sections +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + node = { + node-id = 277; + node-label = 'xran_prach_config'; + node-link = { + node-link-id = 'structxran__prach__config'; + }; + }; /* node */ + node = { + node-id = 299; + node-label = 'xran_sectionext2_info'; + node-link = { + node-link-id = 'structxran__sectionext2__info'; + }; + }; /* node */ + node = { + node-id = 304; + node-label = 'xran_cp_header_params'; + node-link = { + node-link-id = 'structxran__cp__header__params'; + }; + }; /* node */ + node = { + node-id = 293; + node-label = 'xran_slot_config'; + node-link = { + node-link-id = 'structxran__slot__config'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* class */ +class = { + cp-id = 'class_prach_perf'; + cp-name = 'PrachPerf'; + cp-ref = { + ref-type = base; + ref-id = 'class_kernel_tests'; + ref-prot = public; + ref-virt = non-virtual; + }; + cp-section = { + sec-kind = 'public-static-func'; + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1aad8181b222f27240e9f07dcb6e620fa3'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'SetUpTestCase'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '162'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8cpp_1ad8c062e9b24e4b3a8408b23a0d8ab428'; + sec-mem-ref-line = '106'; + sec-mem-ref-name = 'read_json_from_file'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8hpp_1a70518905d36686ddeeb2eb3b2682f016'; + sec-mem-ref-line = '73'; + sec-mem-ref-name = 'missing_config_file_exception::what'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8cpp_1a56c41cbb9de4bce25da45ecd74b46a81'; + sec-mem-ref-line = '119'; + sec-mem-ref-name = 'tsc_recovery'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1aaff0dc66f57f643a49ad3dd6bcb56916'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'TearDownTestCase'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '185'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1a6157ff083be863bba0a7804cd1788d96'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static unsigned +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'get_number_of_cases'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'type'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '190'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8cpp_1ad8c062e9b24e4b3a8408b23a0d8ab428'; + sec-mem-ref-line = '106'; + sec-mem-ref-name = 'read_json_from_file'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'json_8hpp_1a0801762a3fe36fe32dca5f16e515478d'; + sec-mem-ref-line = '5040'; + sec-mem-ref-name = 'basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::size'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8hpp_1a70518905d36686ddeeb2eb3b2682f016'; + sec-mem-ref-line = '73'; + sec-mem-ref-name = 'missing_config_file_exception::what'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1ab0ad0e23f1b51f15bd9594a24a2c438f'; + sec-mem-ref-line = '778'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + }; /* cp-section */ + cp-section = { + sec-kind = 'public-static-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_kernel_tests_1abd42f3e51ae547ec1631e9ac60df29d6'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static json +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'conf'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '159'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_kernel_tests_1a4e9607ae94d1958d38388cead2e4e3bf'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static std::string +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'test_type'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '160'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-section = { + sec-kind = 'protected-func'; + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_prach_perf_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'SetUp'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_performance.cc'; + sec-mem-desc-line = '91'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8hpp_1abf28e5ea54fab2b0685972fe6e75560a'; + sec-mem-ref-line = '358'; + sec-mem-ref-name = 'KernelTests::init_test'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'prach__performance_8cc_1acb7ae6f5547d5e166b643084db28b2fa'; + sec-mem-ref-line = '40'; + sec-mem-ref-name = 'm_xranConf'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'prach__performance_8cc_1a48dc9763aed8e2af7ff83eb1648aa96e'; + sec-mem-ref-line = '41'; + sec-mem-ref-name = 'm_xran_dev_ctx'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a167e91cb91119363bf10c9430b6f082c'; + sec-mem-ref-line = '515'; + sec-mem-ref-name = 'xran_fh_config::prach_conf'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__common_8h_1ac1db3db55038ef0b2f69827746eaf87c'; + sec-mem-ref-line = '210'; + sec-mem-ref-name = 'xran_device_ctx::PrachCPConfig'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a72b0cba491d0dd2703d684cb2c2a14cf'; + sec-mem-ref-line = '517'; + sec-mem-ref-name = 'xran_fh_config::frame_conf'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a78b2fab8e8d6a6424c2712d528fd9a58'; + sec-mem-ref-line = '461'; + sec-mem-ref-name = 'xran_frame_config::nNumerology'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a3b86317723a592e240c0047e53a6326d'; + sec-mem-ref-line = '460'; + sec-mem-ref-name = 'xran_frame_config::nFrameDuplexType'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a583c2f58d0655789ea36e22d605ab9ad'; + sec-mem-ref-line = '523'; + sec-mem-ref-name = 'xran_fh_config::log_level'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1acb5fe8097b0115e038eb02d5900f66d6'; + sec-mem-ref-line = '432'; + sec-mem-ref-name = 'xran_prach_config::nPrachConfIdx'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a5c648c99c04370a4e8767f919a2289bf'; + sec-mem-ref-line = '441'; + sec-mem-ref-name = 'xran_prach_config::nPrachFreqStart'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a3b43924c5ef23b0496d1a7adf2752dbf'; + sec-mem-ref-line = '442'; + sec-mem-ref-name = 'xran_prach_config::nPrachFreqOffset'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1ab9b99e41ea39f16780f66a539aa872c8'; + sec-mem-ref-line = '433'; + sec-mem-ref-name = 'xran_prach_config::nPrachSubcSpacing'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__common_8h_1a342c40a4877f7760c65eca32523efea1'; + sec-mem-ref-line = '79'; + sec-mem-ref-name = 'XRAN_PRACH_CANDIDATE_Y'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__common_8h_1af7a48e76794ce5d801ab6d0f848abb53'; + sec-mem-ref-line = '80'; + sec-mem-ref-name = 'XRAN_PRACH_CANDIDATE_SLOT'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'prach__performance_8cc_1ae0c317f2faf44b0e7bde79d34e00b2e7'; + sec-mem-ref-line = '88'; + sec-mem-ref-name = 'm_SlotNrNum'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'prach__performance_8cc_1a16c92b16fc21a700c50a7faf19da41b9'; + sec-mem-ref-line = '51'; + sec-mem-ref-name = 'm_params'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__cp__api_8h_1a5921f2439294279b8111fed577c5c37a'; + sec-mem-ref-line = '322'; + sec-mem-ref-name = 'xran_cp_gen_params::sections'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'prach__performance_8cc_1a8afca7ac895ea509b38432d1b45bff55'; + sec-mem-ref-line = '45'; + sec-mem-ref-name = 'm_pSectGenInfo'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'ethernet_8c_1a8d83e3adb6c9e839b3b7259288f100ba'; + sec-mem-ref-line = '70'; + sec-mem-ref-name = '_eth_mbuf_pool'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_prach_perf_1ac4fca95dc3b93372ce7f2078baf8e8b6'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'TearDown'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_performance.cc'; + sec-mem-desc-line = '160'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'prach__performance_8cc_1a8afca7ac895ea509b38432d1b45bff55'; + sec-mem-ref-line = '45'; + sec-mem-ref-name = 'm_pSectGenInfo'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1ad49152dbf530aeb2a2844895e6d47a3e'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'set_division_factor'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const double +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'factor'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '222'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Set division factor. +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\param [in] factor Division factor that divides mean and standard deviation. +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1a1bf2180658ad6d459231c631237f9311'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'set_results_units'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'units'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '231'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Set reults units. +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\param [in] units Units that are displayed in the report. +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1a5666c82d220a2c66784b9a238cc43c7e'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'set_parallelization_factor'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const int +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'factor'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '240'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Set size of processed data. +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\param [in] size Size of processed data used to calculate module throughput. +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1a3cf2e25a99be565a4ab570737cfeac41'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'performance'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'isa'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'module_name'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +F +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'function'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +Args ... +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'args'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '253'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Run performance test case for a given function. +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\param [in] isa Used Instruction Set. +\param [in] module_name name of the tested kernel. +\param [in] function function to be tested. +\param [in] args function's arguments. +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8cpp_1ae39390f41ba978a1f0d79691436c074a'; + sec-mem-ref-line = '47'; + sec-mem-ref-name = 'bind_to_cpu'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8hpp_1a12661f1773e3ba71d5b29d7ffa042b1a'; + sec-mem-ref-line = '68'; + sec-mem-ref-name = 'BenchmarkParameters::cpu_id'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8hpp_1af69d779517f2bdee3aba95bc38022074'; + sec-mem-ref-line = '425'; + sec-mem-ref-name = 'run_benchmark'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a21d05f2c6607fc534e67ed32883de81f'; + sec-mem-ref-line = '766'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1af9e5657bce588536aef7baf8c33a0108'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'print_test_description'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'isa'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'module_name'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '271'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Print unique test description to the results xml file. +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\param [in] isa Used Instruction Set. +\param [in] module_name name of the tested kernel. +\param [in] function function to be tested. +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1a5a1ec6ee393f8538815bc0a82eac2e88'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +const std::string +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'get_case_name'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '338'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Get name of the test case from JSON file. +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\return Test'ss case name or a default name if name field is missing. +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1abf28e5ea54fab2b0685972fe6e75560a'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'init_test'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'type'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '358'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Defines section in the conf.json that is used to load parameters from. +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\param [in] type Name of the section in the JSON file. +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'json_8hpp_1a0801762a3fe36fe32dca5f16e515478d'; + sec-mem-ref-line = '5040'; + sec-mem-ref-name = 'basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::size'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8cpp_1a876ed07783b27d38779f7cef4db673e6'; + sec-mem-ref-line = '86'; + sec-mem-ref-name = 'read_data_to_aligned_array'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a69b4bff6061152ff85770d725cced3cc'; + sec-mem-ref-line = '32'; + sec-mem-ref-name = 'module_name'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '112'; + sec-mem-ref-name = 'C_plane::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'chain__tests_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '135'; + sec-mem-ref-name = 'TestChain::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '92'; + sec-mem-ref-name = 'PrachCheck::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__performance_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '91'; + sec-mem-ref-name = 'SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'u__plane__functional_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '37'; + sec-mem-ref-name = 'U_planeCheck::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'u__plane__performance_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '41'; + sec-mem-ref-name = 'U_planePerf::SetUp'; + }; + }; /* sec-member */ + }; /* cp-section */ + cp-section = { + sec-kind = 'protected-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_perf_1acb7ae6f5547d5e166b643084db28b2fa'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_fh_config +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_xranConf'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_performance.cc'; + sec-mem-desc-line = '37'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__performance_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '91'; + sec-mem-ref-name = 'SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__performance_8cc_1a048e029f091d3d395e44cc24b3f197ee'; + sec-mem-ref-line = '189'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_perf_1a48dc9763aed8e2af7ff83eb1648aa96e'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_device_ctx +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_xran_dev_ctx'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_performance.cc'; + sec-mem-desc-line = '37'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__performance_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '91'; + sec-mem-ref-name = 'SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__performance_8cc_1a048e029f091d3d395e44cc24b3f197ee'; + sec-mem-ref-line = '189'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_perf_1a21909f3922fb3485559575d6252575aa'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_prach_config * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_pPRACHConfig'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_performance.cc'; + sec-mem-desc-line = '42'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_perf_1a45887981986f86c7811031b354fb4a36'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_prach_cp_config * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_pPrachCPConfig'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_performance.cc'; + sec-mem-desc-line = '43'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_perf_1a8afca7ac895ea509b38432d1b45bff55'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_section_gen_info * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_pSectGenInfo'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += NULL +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_performance.cc'; + sec-mem-desc-line = '45'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__performance_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '91'; + sec-mem-ref-name = 'SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__performance_8cc_1ac4fca95dc3b93372ce7f2078baf8e8b6'; + sec-mem-ref-line = '160'; + sec-mem-ref-name = 'TearDown'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__performance_8cc_1a048e029f091d3d395e44cc24b3f197ee'; + sec-mem-ref-line = '189'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_perf_1ae68e73b40ca04879362dc67fbb368682'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_maxSections'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += 8 +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_performance.cc'; + sec-mem-desc-line = '46'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_perf_1a28e2512868d0865874dc55150a46f39a'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'lastsymbol'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_performance.cc'; + sec-mem-desc-line = '47'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_perf_1aafa40e823e408268e48585ec7a623eae'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mbuf * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_pTestBuffer'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_performance.cc'; + sec-mem-desc-line = '49'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__performance_8cc_1a048e029f091d3d395e44cc24b3f197ee'; + sec-mem-ref-line = '189'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_perf_1a16c92b16fc21a700c50a7faf19da41b9'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_cp_gen_params +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_params'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_performance.cc'; + sec-mem-desc-line = '49'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__performance_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '91'; + sec-mem-ref-name = 'SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__performance_8cc_1a048e029f091d3d395e44cc24b3f197ee'; + sec-mem-ref-line = '189'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_perf_1a431f2e351a321b762ccd64984d566913'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_recv_packet_info +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_pktInfo'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_performance.cc'; + sec-mem-desc-line = '49'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_perf_1aa42dde0a7ce436df7e5b607d17d52668'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_cp_gen_params +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_result'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_performance.cc'; + sec-mem-desc-line = '49'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_perf_1afa985909bf1a1a9cc7a7070c9a73016e'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_dir'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_performance.cc'; + sec-mem-desc-line = '55'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_perf_1a4bb0d1ca82a59555014c6c0e1060cbdf'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +std::string +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_dirStr'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_performance.cc'; + sec-mem-desc-line = '56'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_perf_1abc4c88e1904502c47099799767ea3991'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_sectionType'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_performance.cc'; + sec-mem-desc-line = '57'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_perf_1a9f102f8bfc163d6a26411d1855c8c97c'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_ccId'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_performance.cc'; + sec-mem-desc-line = '59'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__performance_8cc_1a048e029f091d3d395e44cc24b3f197ee'; + sec-mem-ref-line = '189'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_perf_1a73f8e8274bd97892f58f73d1d83b533a'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_antId'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_performance.cc'; + sec-mem-desc-line = '59'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__performance_8cc_1a048e029f091d3d395e44cc24b3f197ee'; + sec-mem-ref-line = '189'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_perf_1a7a0ce01c67c4067cc3ba42fd380e858a'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_seqId'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_performance.cc'; + sec-mem-desc-line = '60'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_perf_1a65389015c6ac952ac5108c2ae802fa52'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_frameId'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_performance.cc'; + sec-mem-desc-line = '61'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__performance_8cc_1a048e029f091d3d395e44cc24b3f197ee'; + sec-mem-ref-line = '189'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_perf_1afa13542efadbf6db6e8ddfa388a345c0'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_subframeId'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_performance.cc'; + sec-mem-desc-line = '61'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__performance_8cc_1a048e029f091d3d395e44cc24b3f197ee'; + sec-mem-ref-line = '189'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_perf_1a7f021a016314b5d3a9bb095c5c08048f'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_slotId'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_performance.cc'; + sec-mem-desc-line = '61'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__performance_8cc_1a048e029f091d3d395e44cc24b3f197ee'; + sec-mem-ref-line = '189'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_perf_1aba23eca36e0c5cc06d74919fa5fe0dd6'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_symStart'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_performance.cc'; + sec-mem-desc-line = '62'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_perf_1a88a1f1ad78450f64aab4fa3f6499060a'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_symNum'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_performance.cc'; + sec-mem-desc-line = '62'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_perf_1a59b4057d63386649d2facf030a08fa0e'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_prbStart'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += NULL +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_performance.cc'; + sec-mem-desc-line = '63'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_perf_1a81096035b0802bc24810c07ca13df7e9'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_prbNum'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += NULL +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_performance.cc'; + sec-mem-desc-line = '63'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_perf_1a5b1a6d8e8257b3bb7e3a187c0cce4011'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_iqWidth'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_performance.cc'; + sec-mem-desc-line = '65'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_perf_1a493740cacd8f8d3e235c4626e501d3e2'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_compMethod'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_performance.cc'; + sec-mem-desc-line = '65'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_perf_1a047b603d6d908d93ce5d58dcc2b63036'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_beamId'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_performance.cc'; + sec-mem-desc-line = '66'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__performance_8cc_1a048e029f091d3d395e44cc24b3f197ee'; + sec-mem-ref-line = '189'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_perf_1ab4be4cfb9be32a9a6c516f5cfbae0d6f'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_reMask'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += 0xfff +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_performance.cc'; + sec-mem-desc-line = '67'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_perf_1a9c4d35a4cce2560e384f2fe95c4c341f'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_sectionId'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_performance.cc'; + sec-mem-desc-line = '68'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_perf_1adfa9d2df36650f369b04652749c1134b'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_filterIndex'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_performance.cc'; + sec-mem-desc-line = '69'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_perf_1a7a8bdb868f3812cf7270734d13159255'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_fftSize'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_performance.cc'; + sec-mem-desc-line = '71'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_perf_1a1d28f82423abf4fde782a34ae064aea9'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_startSymId'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_performance.cc'; + sec-mem-desc-line = '74'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_perf_1a95b34835c7215dd09bdfdd82698c1232'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_x'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_performance.cc'; + sec-mem-desc-line = '75'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_perf_1aa6a94180919a3f3827f581cb9b6038ef'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_filterIdx'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_performance.cc'; + sec-mem-desc-line = '76'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_perf_1acef6d7b2a1494b7d98e70d4759875349'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_startPrbc'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_performance.cc'; + sec-mem-desc-line = '77'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_perf_1af2657f421b39bfe018266cfe11d27b51'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_numPrbc'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_performance.cc'; + sec-mem-desc-line = '78'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_perf_1ab7158c23dfca189475b254c35ede1da7'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_numSymbol'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_performance.cc'; + sec-mem-desc-line = '79'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_perf_1a509c970617e65a99c8120eef3d309bcb'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_timeOffset'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_performance.cc'; + sec-mem-desc-line = '80'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_perf_1a9c9ab811b57b6250d1712aa6e59c0853'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_freqOffset'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_performance.cc'; + sec-mem-desc-line = '81'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_perf_1a8c2ff60cb0ad0f81eafada59dc92c4c6'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_nrofPrachInSlot'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_performance.cc'; + sec-mem-desc-line = '82'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_perf_1a0baaeee595bffc14f68fefd762c6fa5a'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_occassionsInPrachSlot'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_performance.cc'; + sec-mem-desc-line = '83'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_perf_1a5067ab67bdb57355a12a0282ced79bdc'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_y'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_performance.cc'; + sec-mem-desc-line = '84'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_perf_1a9ef01047ab319b03151146a47e4516c4'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_isPRACHslot'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_performance.cc'; + sec-mem-desc-line = '85'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_perf_1aee24498b1349e41e8e14f822c6bd8fff'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_prach_start_symbol'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_performance.cc'; + sec-mem-desc-line = '86'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_perf_1a98ba28864455aad01fecfc51992a252a'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_prach_last_symbol'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_performance.cc'; + sec-mem-desc-line = '87'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_perf_1ae0c317f2faf44b0e7bde79d34e00b2e7'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_SlotNrNum'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_performance.cc'; + sec-mem-desc-line = '88'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__performance_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '91'; + sec-mem-ref-name = 'SetUp'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_kernel_tests_1a929401f577bc540c1f8b7ec8c3b974fd'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +double +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'division_factor'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += 1.0 +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '214'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_kernel_tests_1a0f6b306c821273c76461f8799c5d4d4c'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +std::string +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'result_units'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += "None" +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '215'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_kernel_tests_1a88ea1f1de6b4d7d01ddc5fced408c813'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'parallelization_factor'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += 1 +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '216'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-section = { + sec-kind = 'private-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_prach_perf_1a4139c19c2555dfad9db528b5c4ac0248'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_section_gen_info * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_pSectResult'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += NULL +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_performance.cc'; + sec-mem-desc-line = '37'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_performance.cc'; + cp-fileline = '34'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-inheritancegraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 307; + node-label = 'TestWithParam< unsigned >'; + }; /* node */ + node = { + node-id = 306; + node-label = 'KernelTests'; + node-link = { + node-link-id = 'class_kernel_tests'; + }; + node-child = { + child-id = '307'; + relation = public-inheritance; + }; /* node-child */ + }; /* node */ + node = { + node-id = 305; + node-label = 'PrachPerf'; + node-link = { + node-link-id = 'class_prach_perf'; + }; + node-child = { + child-id = '306'; + relation = public-inheritance; + }; /* node-child */ + }; /* node */ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 310; + node-label = 'TestWithParam< unsigned >'; + }; /* node */ + node = { + node-id = 320; + node-label = 'xran_prach_cp_config'; + node-link = { + node-link-id = 'structxran__prach__cp__config'; + }; + }; /* node */ + node = { + node-id = 316; + node-label = 'BbuIoBufCtrlStruct'; + node-link = { + node-link-id = 'struct_bbu_io_buf_ctrl_struct'; + }; + node-child = { + child-id = '317'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++sBufferList +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + node = { + node-id = 323; + node-label = 'xran_fh_init'; + node-link = { + node-link-id = 'structxran__fh__init'; + }; + node-child = { + child-id = '319'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++eAxCId_conf +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '324'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++io_cfg +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + node = { + node-id = 315; + node-label = 'xran_device_ctx'; + node-link = { + node-link-id = 'structxran__device__ctx'; + }; + node-child = { + child-id = '316'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++sFrontHaulTxBbuIoBufCtrl ++sFHPrachRxBbuIoBufCtrl ++sFHSrsRxBbuIoBufCtrl ++sFrontHaulRxBbuIoBufCtrl ++sFrontHaulTxPrbMapBbuIoBufCtrl ++sFrontHaulRxPrbMapBbuIoBufCtrl +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '319'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++eAxc_id_cfg +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '320'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++PrachCPConfig +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '321'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++fh_counters +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '318'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++sFHPrachRxBuffers ++sFrontHaulTxPrbMapBuffers ++sFrontHaulRxPrbMapBuffers ++sFHSrsRxBuffers ++sFrontHaulTxBuffers ++sFrontHaulRxBuffers +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '322'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++tx_mbufs +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '323'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++fh_init +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '325'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++srs_cfg +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '326'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++fh_cfg +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + node = { + node-id = 309; + node-label = 'KernelTests'; + node-link = { + node-link-id = 'class_kernel_tests'; + }; + node-child = { + child-id = '310'; + relation = public-inheritance; + }; /* node-child */ + node-child = { + child-id = '311'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++conf +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + node = { + node-id = 318; + node-label = 'xran_flat_buffer'; + node-link = { + node-link-id = 'structxran__flat__buffer'; + }; + }; /* node */ + node = { + node-id = 327; + node-label = 'xran_frame_config'; + node-link = { + node-link-id = 'structxran__frame__config'; + }; + node-child = { + child-id = '328'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++sSlotConfig +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + node = { + node-id = 313; + node-label = 'xran_recv_packet_info'; + node-link = { + node-link-id = 'structxran__recv__packet__info'; + }; + node-child = { + child-id = '314'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++eaxc +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + node = { + node-id = 317; + node-label = 'xran_buffer_list'; + node-link = { + node-link-id = 'structxran__buffer__list'; + }; + node-child = { + child-id = '318'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++pBuffers +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + node = { + node-id = 308; + node-label = 'PrachPerf'; + node-link = { + node-link-id = 'class_prach_perf'; + }; + node-child = { + child-id = '309'; + relation = public-inheritance; + }; /* node-child */ + node-child = { + child-id = '312'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ +#m_pPRACHConfig +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '313'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ +#m_pktInfo +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '315'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ +#m_xran_dev_ctx +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '330'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ +#m_pSectGenInfo +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '320'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ +#m_pPrachCPConfig +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '338'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ +#m_result +#m_params +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '326'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ +#m_xranConf +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + node = { + node-id = 333; + node-label = 'xran_sectionext3_info'; + node-link = { + node-link-id = 'structxran__sectionext3__info'; + }; + }; /* node */ + node = { + node-id = 319; + node-label = 'xran_eaxcid_config'; + node-link = { + node-link-id = 'structxran__eaxcid__config'; + }; + }; /* node */ + node = { + node-id = 322; + node-label = 'mbuf_table'; + node-link = { + node-link-id = 'structmbuf__table'; + }; + }; /* node */ + node = { + node-id = 324; + node-label = 'xran_io_cfg'; + node-link = { + node-link-id = 'structxran__io__cfg'; + }; + }; /* node */ + node = { + node-id = 337; + node-label = 'xran_section_desc'; + node-link = { + node-link-id = 'structxran__section__desc'; + }; + }; /* node */ + node = { + node-id = 314; + node-label = 'xran_eaxc_info'; + node-link = { + node-link-id = 'structxran__eaxc__info'; + }; + }; /* node */ + node = { + node-id = 311; + node-label = 'basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >'; + node-link = { + node-link-id = 'classnlohmann_1_1basic__json'; + }; + }; /* node */ + node = { + node-id = 329; + node-label = 'xran_ru_config'; + node-link = { + node-link-id = 'structxran__ru__config'; + }; + }; /* node */ + node = { + node-id = 332; + node-label = 'xran_sectionext4_info'; + node-link = { + node-link-id = 'structxran__sectionext4__info'; + }; + }; /* node */ + node = { + node-id = 321; + node-label = 'xran_common_counters'; + node-link = { + node-link-id = 'structxran__common__counters'; + }; + }; /* node */ + node = { + node-id = 325; + node-label = 'xran_srs_config'; + node-link = { + node-link-id = 'structxran__srs__config'; + }; + }; /* node */ + node = { + node-id = 330; + node-label = 'xran_section_gen_info'; + node-link = { + node-link-id = 'structxran__section__gen__info'; + }; + node-child = { + child-id = '331'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++m_ext5 +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '332'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++m_ext4 +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '333'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++m_ext3 +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '334'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++m_ext2 +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '335'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++m_ext1 +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '336'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++info +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + node = { + node-id = 335; + node-label = 'xran_sectionext1_info'; + node-link = { + node-link-id = 'structxran__sectionext1__info'; + }; + }; /* node */ + node = { + node-id = 336; + node-label = 'xran_section_info'; + node-link = { + node-link-id = 'structxran__section__info'; + }; + node-child = { + child-id = '337'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++sec_desc +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + node = { + node-id = 326; + node-label = 'xran_fh_config'; + node-link = { + node-link-id = 'structxran__fh__config'; + }; + node-child = { + child-id = '312'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++prach_conf +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '327'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++frame_conf +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '329'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++ru_conf +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '325'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++srs_conf +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + node = { + node-id = 331; + node-label = 'xran_sectionext5_info'; + node-link = { + node-link-id = 'structxran__sectionext5__info'; + }; + }; /* node */ + node = { + node-id = 338; + node-label = 'xran_cp_gen_params'; + node-link = { + node-link-id = 'structxran__cp__gen__params'; + }; + node-child = { + child-id = '339'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++hdr +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '330'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++sections +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + node = { + node-id = 312; + node-label = 'xran_prach_config'; + node-link = { + node-link-id = 'structxran__prach__config'; + }; + }; /* node */ + node = { + node-id = 334; + node-label = 'xran_sectionext2_info'; + node-link = { + node-link-id = 'structxran__sectionext2__info'; + }; + }; /* node */ + node = { + node-id = 339; + node-label = 'xran_cp_header_params'; + node-link = { + node-link-id = 'structxran__cp__header__params'; + }; + }; /* node */ + node = { + node-id = 328; + node-label = 'xran_slot_config'; + node-link = { + node-link-id = 'structxran__slot__config'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* class */ +class = { + cp-id = 'classnlohmann_1_1basic__json_1_1primitive__iterator__t'; + cp-name = 'nlohmann::basic_json::primitive_iterator_t'; + cp-section = { + sec-kind = 'public-func'; + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1primitive__iterator__t_1ac24d4427f7f6023ebc47778cb0629930'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +difference_type +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'get_value'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '8554'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1primitive__iterator__t_1aee99b646cdeacaf5737f30a2bd000783'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'set_begin'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '8559'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +set iterator to a defined beginning +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1primitive__iterator__t_1a9575cbd71fea1b73d771dcf452cec772'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'set_end'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '8565'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +set iterator to a defined past the end +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1primitive__iterator__t_1a9e59f8f561602c0bbbccbad2a2c20bd1'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +constexpr bool +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'is_begin'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '8571'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +return whether the iterator can be dereferenced +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1primitive__iterator__t_1aba39e5864abcebfe433778eef5652e75'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +constexpr bool +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'is_end'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '8577'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +return whether the iterator is at end +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1primitive__iterator__t_1a3cc1391dff1ac8b3bcce3cca69bc70ed'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +primitive_iterator_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'operator+'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +difference_type +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'i'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '8612'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1primitive__iterator__t_1a77eb09afd135a4ea7ec2c6bc27eb189c'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +primitive_iterator_t & +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'operator++'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '8629'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1primitive__iterator__t_1a21638ed8b69595e5940ac9f1306d7bb9'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +primitive_iterator_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'operator++'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '8635'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1primitive__iterator__t_1a6403f3d450e082fe5ed91ffce734142c'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +primitive_iterator_t & +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'operator--'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '8642'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1primitive__iterator__t_1aafe7ba6a6212499c34e97ca5dce486c2'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +primitive_iterator_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'operator--'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '8648'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1primitive__iterator__t_1a00521abe7910a77ed5b2abc7e9053a93'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +primitive_iterator_t & +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'operator+='; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +difference_type +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'n'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '8655'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1primitive__iterator__t_1ae36d93f80305a686bdc27c6fbbf13448'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +primitive_iterator_t & +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'operator-='; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +difference_type +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'n'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '8661'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-section = { + sec-kind = 'private-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1primitive__iterator__t_1a3cef63aa26244101604016abd26588fb'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +difference_type +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_it'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += std::numeric_limits::denorm_min() +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '8672'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +iterator as signed integer type +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-section = { + sec-kind = 'private-static-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1primitive__iterator__t_1a7de14924583031b61633ab36253804e6'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static constexpr difference_type +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'begin_value'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += 0 +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '8668'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1primitive__iterator__t_1a912aaa656cf793a947b3a73fa7f137bb'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static constexpr difference_type +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'end_value'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += begin_value + 1 +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '8669'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-section = { + sec-kind = 'signal'; + sec-member = { + sec-mem-kind = 'friend'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1primitive__iterator__t_1aae1e1e2ec0e229d1291d69de57d76bbe'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +friend constexpr bool +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'operator=='; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +primitive_iterator_t +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'lhs'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +primitive_iterator_t +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'rhs'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '8582'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'friend'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1primitive__iterator__t_1a1897889271e3fff10792d86baf1dbfdc'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +friend constexpr bool +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'operator!='; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +primitive_iterator_t +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'lhs'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +primitive_iterator_t +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'rhs'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '8587'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'friend'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1primitive__iterator__t_1a901a95e6d73c9509d3dcde914f6c8a9d'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +friend constexpr bool +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'operator<'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +primitive_iterator_t +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'lhs'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +primitive_iterator_t +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'rhs'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '8592'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'friend'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1primitive__iterator__t_1a7e620963ea069fd987d941c61ec4af0c'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +friend constexpr bool +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'operator<='; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +primitive_iterator_t +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'lhs'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +primitive_iterator_t +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'rhs'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '8597'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'friend'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1primitive__iterator__t_1a680c471188e46854d7b78a7c2a0c1122'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +friend constexpr bool +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'operator>'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +primitive_iterator_t +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'lhs'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +primitive_iterator_t +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'rhs'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '8602'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'friend'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1primitive__iterator__t_1aadc054c066f8d117695113ddceb8c46e'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +friend constexpr bool +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'operator>='; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +primitive_iterator_t +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'lhs'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +primitive_iterator_t +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'rhs'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '8607'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'friend'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1primitive__iterator__t_1ac6d902d6ec9a02dabed5452d3ae78f7e'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +friend constexpr difference_type +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'operator-'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +primitive_iterator_t +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'lhs'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +primitive_iterator_t +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'rhs'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '8619'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'friend'; + sec-mem-id = 'classnlohmann_1_1basic__json_1_1primitive__iterator__t_1a653e8be3b4fb047e8b4460cd932f2b52'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +friend std::ostream & +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'operator<<'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +std::ostream & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'os'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +primitive_iterator_t +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'it'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '8624'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + cp-fileline = '8551'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ +an iterator for primitive JSON types +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ +This class models an iterator for primitive JSON types (boolean, number, +string). It's only purpose is to allow the iterator/const_iterator classes +to "iterate" over primitive values. Internally, the iterator is modeled by +a difference_type variable. Value begin_value (0) models the begin, +end_value (1) models past the end. +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 341; + node-label = 'basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::primitive_iterator_t'; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* class */ +struct = { + cp-id = 'structnlohmann_1_1detail_1_1priority__tag'; + cp-name = 'nlohmann::detail::priority_tag'; + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + cp-fileline = '211'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 343; + node-label = 'priority_tag< N >'; + node-link = { + node-link-id = 'structnlohmann_1_1detail_1_1priority__tag'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structnlohmann_1_1detail_1_1priority__tag_3_010_01_4'; + cp-name = 'nlohmann::detail::priority_tag< 0 >'; + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + cp-fileline = '212'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 345; + node-label = 'priority_tag< 0 >'; + node-link = { + node-link-id = 'structnlohmann_1_1detail_1_1priority__tag_3_010_01_4'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structradio__app__common__hdr'; + cp-name = 'radio_app_common_hdr'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structradio__app__common__hdr_1ab370897260617b317ee8957e470de1cc'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'filter_id'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt.h'; + sec-mem-desc-line = '165'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +This parameter defines an index to the channel filter to be + used between IQ data and air interface, both in DL and UL. + For most physical channels filterIndex =0000b is used which + indexes the standard channel filter, e.g. 100MHz channel filter + for 100MHz nominal carrier bandwidth. (see 5.4.4.3 for more) +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1adc9636576fb70f4b4fcfd1d03fe59998'; + sec-mem-ref-line = '348'; + sec-mem-ref-name = 'prepare_symbol_ex'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structradio__app__common__hdr_1a0058ea0059aba78a7a164c298c82de33'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'payl_ver'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt.h'; + sec-mem-desc-line = '170'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +This parameter defines the payload protocol version valid + for the following IEs in the application layer. In this version of + the specification payloadVersion=001b shall be used. +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1adc9636576fb70f4b4fcfd1d03fe59998'; + sec-mem-ref-line = '348'; + sec-mem-ref-name = 'prepare_symbol_ex'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structradio__app__common__hdr_1a40f66f521df9b1dbae9d0ee852c66e0d'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'data_direction'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt.h'; + sec-mem-desc-line = '173'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +This parameter indicates the gNB data direction. +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'u__plane__functional_8cc_1a17e5d82ac5aec3860b1324a80fda79ed'; + sec-mem-ref-line = '61'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1adc9636576fb70f4b4fcfd1d03fe59998'; + sec-mem-ref-line = '348'; + sec-mem-ref-name = 'prepare_symbol_ex'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structradio__app__common__hdr_1a03c1016ac46b9df250b994f242cf956a'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'frame_id'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt.h'; + sec-mem-desc-line = '176'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +This parameter is a counter for 10 ms frames (wrapping period 2.56 seconds) +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'u__plane__functional_8cc_1a17e5d82ac5aec3860b1324a80fda79ed'; + sec-mem-ref-line = '61'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1adc9636576fb70f4b4fcfd1d03fe59998'; + sec-mem-ref-line = '348'; + sec-mem-ref-name = 'prepare_symbol_ex'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__up__api_8c_1adfc5ea408600c8de1384be020b359d95'; + sec-mem-ref-line = '327'; + sec-mem-ref-name = 'xran_extract_iq_samples'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structradio__app__common__hdr_1a900b69af7d674b8db3bceae754b4955a'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'value'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt.h'; + sec-mem-desc-line = '181'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1adc9636576fb70f4b4fcfd1d03fe59998'; + sec-mem-ref-line = '348'; + sec-mem-ref-name = 'prepare_symbol_ex'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__up__api_8c_1adfc5ea408600c8de1384be020b359d95'; + sec-mem-ref-line = '327'; + sec-mem-ref-name = 'xran_extract_iq_samples'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structradio__app__common__hdr_1acbbef8fd7acac33a2a461e15a43112ba'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'symb_id'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt.h'; + sec-mem-desc-line = '183'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +This parameter identifies the first symbol number within slot, + to which the information of this message is applies. +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1adc9636576fb70f4b4fcfd1d03fe59998'; + sec-mem-ref-line = '348'; + sec-mem-ref-name = 'prepare_symbol_ex'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__up__api_8c_1adfc5ea408600c8de1384be020b359d95'; + sec-mem-ref-line = '327'; + sec-mem-ref-name = 'xran_extract_iq_samples'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structradio__app__common__hdr_1a02c1d0a330aa46a1bfee985080d93cd4'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'slot_id'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt.h'; + sec-mem-desc-line = '185'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +This parameter is the slot number within a 1ms sub-frame. All slots in + one sub-frame are counted by this parameter, slotId running from 0 to Nslot-1. + In this version of the specification the maximum Nslot=16, All + other values of the 6 bits are reserved for future use. +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1adc9636576fb70f4b4fcfd1d03fe59998'; + sec-mem-ref-line = '348'; + sec-mem-ref-name = 'prepare_symbol_ex'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__up__api_8c_1adfc5ea408600c8de1384be020b359d95'; + sec-mem-ref-line = '327'; + sec-mem-ref-name = 'xran_extract_iq_samples'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structradio__app__common__hdr_1a2c655c9f7a861ed572ea29f90392edda'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'subframe_id'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt.h'; + sec-mem-desc-line = '189'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +This parameter is a counter for 1 ms sub-frames within 10ms frame. +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1adc9636576fb70f4b4fcfd1d03fe59998'; + sec-mem-ref-line = '348'; + sec-mem-ref-name = 'prepare_symbol_ex'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__up__api_8c_1adfc5ea408600c8de1384be020b359d95'; + sec-mem-ref-line = '327'; + sec-mem-ref-name = 'xran_extract_iq_samples'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structradio__app__common__hdr_1a9beac05a1b301143744ef1968d01cc55'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +union radio_app_common_hdr::__anonymous__ +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'sf_slot_sym'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt.h'; + sec-mem-desc-line = '191'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1adc9636576fb70f4b4fcfd1d03fe59998'; + sec-mem-ref-line = '348'; + sec-mem-ref-name = 'prepare_symbol_ex'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__up__api_8c_1adfc5ea408600c8de1384be020b359d95'; + sec-mem-ref-line = '327'; + sec-mem-ref-name = 'xran_extract_iq_samples'; + }; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt.h'; + cp-fileline = '163'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ +@description + Structure holds components of radio application header + 5.4.4 Coding of Information Elements - Application Layer, Common + for U-plane as per 6.3.2 DL/UL Data +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 347; + node-label = 'radio_app_common_hdr'; + node-link = { + node-link-id = 'structradio__app__common__hdr'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structrb__map'; + cp-name = 'rb_map'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structrb__map_1ac65eb6aaf536c0ee06118898dd5bd82d'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'i_sample'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_up.h'; + sec-mem-desc-line = '137'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +This parameter is the In-phase sample value +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structrb__map_1a2689a6e20e8408a3e5a7058748c3de33'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'q_sample'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_up.h'; + sec-mem-desc-line = '138'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +This parameter is the Quadrature sample value +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_up.h'; + cp-fileline = '136'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 349; + node-label = 'rb_map'; + node-link = { + node-link-id = 'structrb__map'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structreading__input__file__exception'; + cp-name = 'reading_input_file_exception'; + cp-ref = { + ref-type = base; + ref-id = 'classstd_1_1exception'; + ref-prot = public; + ref-virt = non-virtual; + }; + cp-section = { + sec-kind = 'public-func'; + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'structreading__input__file__exception_1a70518905d36686ddeeb2eb3b2682f016'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +const char * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'what'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '80'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8cpp_1ae39390f41ba978a1f0d79691436c074a'; + sec-mem-ref-line = '47'; + sec-mem-ref-name = 'bind_to_cpu'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8cpp_1a8265b710246f9019ff14556adf5eb35a'; + sec-mem-ref-line = '60'; + sec-mem-ref-name = 'calculate_statistics'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8cpp_1a39bf4f7770751080f5b72046abfd01a5'; + sec-mem-ref-line = '78'; + sec-mem-ref-name = 'get_sequence'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8cpp_1ad8c062e9b24e4b3a8408b23a0d8ab428'; + sec-mem-ref-line = '106'; + sec-mem-ref-name = 'read_json_from_file'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8cpp_1a876ed07783b27d38779f7cef4db673e6'; + sec-mem-ref-line = '86'; + sec-mem-ref-name = 'read_data_to_aligned_array'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8cpp_1a56c41cbb9de4bce25da45ecd74b46a81'; + sec-mem-ref-line = '119'; + sec-mem-ref-name = 'tsc_recovery'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8cpp_1a0ab5719a5f67d4d52057b2c4550fe930'; + sec-mem-ref-line = '162'; + sec-mem-ref-name = 'tsc_tick'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'common_8hpp_1a6dc1bccfd02f1a94b5c799c15cd98135'; + sec-mem-ref-line = '290'; + sec-mem-ref-name = 'KernelTests::get_input_parameter'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'common_8hpp_1adfbe724335d86320c9839c426c4d5715'; + sec-mem-ref-line = '312'; + sec-mem-ref-name = 'KernelTests::get_reference_parameter'; + }; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + cp-fileline = '79'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-inheritancegraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 351; + node-label = 'exception'; + }; /* node */ + node = { + node-id = 350; + node-label = 'reading_input_file_exception'; + node-link = { + node-link-id = 'structreading__input__file__exception'; + }; + node-child = { + child-id = '351'; + relation = public-inheritance; + }; /* node-child */ + }; /* node */ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 353; + node-label = 'exception'; + }; /* node */ + node = { + node-id = 352; + node-label = 'reading_input_file_exception'; + node-link = { + node-link-id = 'structreading__input__file__exception'; + }; + node-child = { + child-id = '353'; + relation = public-inheritance; + }; /* node-child */ + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +class = { + cp-id = 'classstd_1_1reverse__iterator'; + cp-name = 'std::reverse_iterator'; + cp-ref = { + ref-type = derived; + ref-id = 'classnlohmann_1_1basic__json_1_1json__reverse__iterator'; + ref-prot = public; + ref-virt = non-virtual; + }; + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + cp-fileline = '9430'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-inheritancegraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 355; + node-label = 'json_reverse_iterator'; + node-link = { + node-link-id = 'classnlohmann_1_1basic__json_1_1json__reverse__iterator'; + }; + node-child = { + child-id = '354'; + relation = public-inheritance; + }; /* node-child */ + }; /* node */ + node = { + node-id = 354; + node-label = 'reverse_iterator'; + }; /* node */ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 356; + node-label = 'reverse_iterator'; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* class */ +struct = { + cp-id = 'structsector_handle_info'; + cp-name = 'sectorHandleInfo'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structsector_handle_info_1a3e89a68b1b304e37badf1e8a62a38527'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'nIndex'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + sec-mem-desc-line = '148'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +< Structure that contains the information to describe the +instance i.e service type, virtual function, package Id etc.. +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1acdd1d3179a2ecc831b45df3ac4ee230c'; + sec-mem-ref-line = '2408'; + sec-mem-ref-name = 'xran_sector_get_instances'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a39a9f7b5d01979eb1f8d806d6b9c50fe'; + sec-mem-ref-line = '2454'; + sec-mem-ref-name = 'xran_bm_init'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1ac94e2474beef3b68521cfd391211b1be'; + sec-mem-ref-line = '2551'; + sec-mem-ref-name = 'xran_5g_fronthault_config'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1ab204e979de14c21d34e9b88c6c700d25'; + sec-mem-ref-line = '2636'; + sec-mem-ref-name = 'xran_5g_prach_req'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a2bd01fc3432f80a787d6bf317949dd80'; + sec-mem-ref-line = '2679'; + sec-mem-ref-name = 'xran_5g_srs_req'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structsector_handle_info_1a6fa55fef5f643eb92ae1f3890bb239d6'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'nXranPort'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + sec-mem-desc-line = '149'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1acdd1d3179a2ecc831b45df3ac4ee230c'; + sec-mem-ref-line = '2408'; + sec-mem-ref-name = 'xran_sector_get_instances'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a39a9f7b5d01979eb1f8d806d6b9c50fe'; + sec-mem-ref-line = '2454'; + sec-mem-ref-name = 'xran_bm_init'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structsector_handle_info_1a7f385bf2d48d174e82285595baa66890'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'nBufferPoolIndex'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + sec-mem-desc-line = '152'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +< number of antennas supported per link Buffer poolIndex +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a39a9f7b5d01979eb1f8d806d6b9c50fe'; + sec-mem-ref-line = '2454'; + sec-mem-ref-name = 'xran_bm_init'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structsector_handle_info_1a099c95b9a26488749a7bade28dd45192'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mempool * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'p_bufferPool'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + sec-mem-desc-line = '154'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a39a9f7b5d01979eb1f8d806d6b9c50fe'; + sec-mem-ref-line = '2454'; + sec-mem-ref-name = 'xran_bm_init'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1ae79ca138dc77d69ef692886be4e5da81'; + sec-mem-ref-line = '2499'; + sec-mem-ref-name = 'xran_bm_allocate_buffer'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structsector_handle_info_1a331562c12e62e7bae882440025872c95'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'bufferPoolElmSz'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + sec-mem-desc-line = '155'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a39a9f7b5d01979eb1f8d806d6b9c50fe'; + sec-mem-ref-line = '2454'; + sec-mem-ref-name = 'xran_bm_init'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1ae79ca138dc77d69ef692886be4e5da81'; + sec-mem-ref-line = '2499'; + sec-mem-ref-name = 'xran_bm_allocate_buffer'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structsector_handle_info_1af7c3fd31d7919760d9a11bd48b9ad804'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'bufferPoolNumElm'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + sec-mem-desc-line = '156'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a39a9f7b5d01979eb1f8d806d6b9c50fe'; + sec-mem-ref-line = '2454'; + sec-mem-ref-name = 'xran_bm_init'; + }; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + cp-fileline = '145'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 358; + node-label = 'sectorHandleInfo'; + node-link = { + node-link-id = 'structsector_handle_info'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structnlohmann_1_1detail_1_1static__const'; + cp-name = 'nlohmann::detail::static_const'; + cp-section = { + sec-kind = 'public-static-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structnlohmann_1_1detail_1_1static__const_1a4ab5db6c35fee2e04b35b4a300d50bf1'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static constexpr T +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'value'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ +{} +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '864'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + cp-fileline = '863'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 360; + node-label = 'static_const< T >'; + node-link = { + node-link-id = 'structnlohmann_1_1detail_1_1static__const'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structnlohmann_1_1basic__json_1_1lexer_1_1strtonum'; + cp-name = 'nlohmann::basic_json::lexer::strtonum'; + cp-section = { + sec-kind = 'public-func'; + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'structnlohmann_1_1basic__json_1_1lexer_1_1strtonum_1ad1858c576c5f6050dd45cc9825a16bb9'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'strtonum'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const char * +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'start'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const char * +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'end'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '11080'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'structnlohmann_1_1basic__json_1_1lexer_1_1strtonum_1ab6b353b5dc68fe4151d9d20edecd162c'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +bool +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'to'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +T & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'val'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '11091'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@return true iff parsed successfully as number of type T + +@param[in,out] val shall contain parsed value, or undefined value +if could not parse +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'ethernet_8c_1ac75fce8692fd1d41a8985f6aacc4a175'; + sec-mem-ref-line = '91'; + sec-mem-ref-name = 'buf'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'json_8hpp_1ab6b353b5dc68fe4151d9d20edecd162c'; + sec-mem-ref-line = '11091'; + sec-mem-ref-name = 'basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::lexer::strtonum::to'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'json_8hpp_1aa3755192d05bc50d680919b259b69305'; + sec-mem-ref-line = '2967'; + sec-mem-ref-name = 'basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::is_discarded'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'json_8hpp_1a6c274f6db2e65c1b66c7d41b06ad690f'; + sec-mem-ref-line = '75'; + sec-mem-ref-name = 'JSON_THROW'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'json_8hpp_1ab6b353b5dc68fe4151d9d20edecd162c'; + sec-mem-ref-line = '11091'; + sec-mem-ref-name = 'basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::lexer::strtonum::to'; + }; + }; /* sec-member */ + }; /* cp-section */ + cp-section = { + sec-kind = 'private-func'; + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'structnlohmann_1_1basic__json_1_1lexer_1_1strtonum_1aabece8c16b80812c1fa037f034c9b5b8'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +bool +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'parse'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +T & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'value'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +std::false_type +_EnD_oF_dEf_TeXt_; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '11120'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'structnlohmann_1_1basic__json_1_1lexer_1_1strtonum_1ae2ad6eb40e5630278d90833e0f3754c7'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +signed long long +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'parse_integral'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +char ** +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'endptr'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +std::true_type +_EnD_oF_dEf_TeXt_; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '11186'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'structnlohmann_1_1basic__json_1_1lexer_1_1strtonum_1a5bfb8f8db460899c14df55f49b0e4e09'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +unsigned long long +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'parse_integral'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +char ** +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'endptr'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +std::false_type +_EnD_oF_dEf_TeXt_; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '11191'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'structnlohmann_1_1basic__json_1_1lexer_1_1strtonum_1a8ceaaab6a545725702a7612316cc501b'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +bool +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'parse'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +T & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'value'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +std::true_type +_EnD_oF_dEf_TeXt_; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '11197'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-section = { + sec-kind = 'private-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structnlohmann_1_1basic__json_1_1lexer_1_1strtonum_1a1607c8adf3d4852b188787d02e775d67'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +const char *const +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_start'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += nullptr +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '11097'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structnlohmann_1_1basic__json_1_1lexer_1_1strtonum_1a60d03b666e3878bdb99b37bcff613f72'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +const char *const +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_end'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += nullptr +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '11098'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-section = { + sec-kind = 'private-static-func'; + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'structnlohmann_1_1basic__json_1_1lexer_1_1strtonum_1a27305838b1ac3ad98f802470be71615c'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'strtof'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +float & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'f'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const char * +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'str'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +char ** +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'endptr'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '11104'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'structnlohmann_1_1basic__json_1_1lexer_1_1strtonum_1a5b1f9f63446183e621825f6a5dc0b3fd'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'strtof'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +double & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'f'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const char * +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'str'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +char ** +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'endptr'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '11109'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'structnlohmann_1_1basic__json_1_1lexer_1_1strtonum_1a9fd134204e727cd597b017edb880bdb4'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'strtof'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +long double & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'f'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const char * +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'str'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +char ** +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'endptr'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '11114'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + cp-fileline = '11078'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ +parse string into a built-in arithmetic type as if the current + locale is POSIX. +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ +@note in floating-point case strtod may parse past the token's end - + this is not an error + +@note any leading blanks are not handled +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 362; + node-label = 'basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::lexer::strtonum'; + node-link = { + node-link-id = 'structnlohmann_1_1basic__json_1_1lexer_1_1strtonum'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +class = { + cp-id = 'class_test_chain'; + cp-name = 'TestChain'; + cp-ref = { + ref-type = base; + ref-id = 'class_kernel_tests'; + ref-prot = public; + ref-virt = non-virtual; + }; + cp-section = { + sec-kind = 'public-static-func'; + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1aad8181b222f27240e9f07dcb6e620fa3'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'SetUpTestCase'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '162'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8cpp_1ad8c062e9b24e4b3a8408b23a0d8ab428'; + sec-mem-ref-line = '106'; + sec-mem-ref-name = 'read_json_from_file'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8hpp_1a70518905d36686ddeeb2eb3b2682f016'; + sec-mem-ref-line = '73'; + sec-mem-ref-name = 'missing_config_file_exception::what'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8cpp_1a56c41cbb9de4bce25da45ecd74b46a81'; + sec-mem-ref-line = '119'; + sec-mem-ref-name = 'tsc_recovery'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1aaff0dc66f57f643a49ad3dd6bcb56916'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'TearDownTestCase'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '185'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1a6157ff083be863bba0a7804cd1788d96'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static unsigned +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'get_number_of_cases'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'type'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '190'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8cpp_1ad8c062e9b24e4b3a8408b23a0d8ab428'; + sec-mem-ref-line = '106'; + sec-mem-ref-name = 'read_json_from_file'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'json_8hpp_1a0801762a3fe36fe32dca5f16e515478d'; + sec-mem-ref-line = '5040'; + sec-mem-ref-name = 'basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::size'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8hpp_1a70518905d36686ddeeb2eb3b2682f016'; + sec-mem-ref-line = '73'; + sec-mem-ref-name = 'missing_config_file_exception::what'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1ab0ad0e23f1b51f15bd9594a24a2c438f'; + sec-mem-ref-line = '778'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + }; /* cp-section */ + cp-section = { + sec-kind = 'public-static-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_kernel_tests_1abd42f3e51ae547ec1631e9ac60df29d6'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static json +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'conf'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '159'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_kernel_tests_1a4e9607ae94d1958d38388cead2e4e3bf'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static std::string +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'test_type'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '160'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-section = { + sec-kind = 'protected-func'; + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_test_chain_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'SetUp'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/chain_tests.cc'; + sec-mem-desc-line = '135'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8hpp_1abf28e5ea54fab2b0685972fe6e75560a'; + sec-mem-ref-line = '358'; + sec-mem-ref-name = 'KernelTests::init_test'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xranlib__unit__test__main_8cc_1a1b2100f9f398243bb4bdbf0db003b9a3'; + sec-mem-ref-line = '44'; + sec-mem-ref-name = 'xranlib'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a7d671b9b851d9b0fbae6777e85643c3b'; + sec-mem-ref-line = '1148'; + sec-mem-ref-name = 'xranLibWraper::get_cfg_fh'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'chain__tests_8cc_1acb7ae6f5547d5e166b643084db28b2fa'; + sec-mem-ref-line = '129'; + sec-mem-ref-name = 'm_xranConf'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a27ff648f80c139235421b81f957fcb7e'; + sec-mem-ref-line = '518'; + sec-mem-ref-name = 'xran_fh_config::ru_conf'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1af92ff2dfd2bddd0880d779c04b9fb359'; + sec-mem-ref-line = '484'; + sec-mem-ref-name = 'xran_ru_config::xranCat'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1abf0211a253f5881ebad3910cef98d30ea25cae7703b653209b61647fa65ac7e9f'; + sec-mem-ref-line = '264'; + sec-mem-ref-name = 'XRAN_CATEGORY_A'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1abf0211a253f5881ebad3910cef98d30ea6f7ea23328e0189a3c4879d7fa0d3749'; + sec-mem-ref-line = '265'; + sec-mem-ref-name = 'XRAN_CATEGORY_B'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a72b0cba491d0dd2703d684cb2c2a14cf'; + sec-mem-ref-line = '517'; + sec-mem-ref-name = 'xran_fh_config::frame_conf'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a78b2fab8e8d6a6424c2712d528fd9a58'; + sec-mem-ref-line = '461'; + sec-mem-ref-name = 'xran_frame_config::nNumerology'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a3b86317723a592e240c0047e53a6326d'; + sec-mem-ref-line = '460'; + sec-mem-ref-name = 'xran_frame_config::nFrameDuplexType'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a970616fd84b2f27327a77e202d31eeef'; + sec-mem-ref-line = '1047'; + sec-mem-ref-name = 'xranLibWraper::get_slot_config'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a6dcac3ea0b3d99c20c2e6f7091b8b342'; + sec-mem-ref-line = '500'; + sec-mem-ref-name = 'xran_fh_config::nCC'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a34dbe5e515cc78b4ce26fa287e6c1edc'; + sec-mem-ref-line = '110'; + sec-mem-ref-name = 'XRAN_MAX_SECTOR_NR'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1abcac68b45b2bcf3b5458817d65b86e45'; + sec-mem-ref-line = '501'; + sec-mem-ref-name = 'xran_fh_config::neAxc'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a35fa05e7523928c0c86cbcf835c12dc5'; + sec-mem-ref-line = '111'; + sec-mem-ref-name = 'XRAN_MAX_ANTENNA_NR'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a7917929ae3bb588a5bf6f4e56cf9549e'; + sec-mem-ref-line = '506'; + sec-mem-ref-name = 'xran_fh_config::nDLRBs'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1abbe0bfcd68428ee4cc3f63a391495e8d'; + sec-mem-ref-line = '1068'; + sec-mem-ref-name = 'xranLibWraper::get_num_rbs'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a5448b37ad609bb66bf44b44d1f9bac72'; + sec-mem-ref-line = '507'; + sec-mem-ref-name = 'xran_fh_config::nULRBs'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1ac63d8c67956a8a08cbfd8efb92a2f055'; + sec-mem-ref-line = '503'; + sec-mem-ref-name = 'xran_fh_config::nAntElmTRx'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a8956e982993d4b310e3bffe207f66405'; + sec-mem-ref-line = '504'; + sec-mem-ref-name = 'xran_fh_config::nDLFftSize'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1ae4908e70f937e7eca578e348f4e3911f'; + sec-mem-ref-line = '505'; + sec-mem-ref-name = 'xran_fh_config::nULFftSize'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a1520b1ef6131bff6c14b88d849c266c5'; + sec-mem-ref-line = '486'; + sec-mem-ref-name = 'xran_ru_config::iqWidth'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a1e4a3c43fc7865c6520471fb9ba8501f'; + sec-mem-ref-line = '487'; + sec-mem-ref-name = 'xran_ru_config::compMeth'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a59e7e8f3feb686850b0cb0ae065de85b'; + sec-mem-ref-line = '488'; + sec-mem-ref-name = 'xran_ru_config::fftSize'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_test_chain_1ac4fca95dc3b93372ce7f2078baf8e8b6'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'TearDown'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/chain_tests.cc'; + sec-mem-desc-line = '214'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1ad49152dbf530aeb2a2844895e6d47a3e'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'set_division_factor'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const double +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'factor'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '222'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Set division factor. +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\param [in] factor Division factor that divides mean and standard deviation. +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1a1bf2180658ad6d459231c631237f9311'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'set_results_units'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'units'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '231'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Set reults units. +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\param [in] units Units that are displayed in the report. +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1a5666c82d220a2c66784b9a238cc43c7e'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'set_parallelization_factor'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const int +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'factor'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '240'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Set size of processed data. +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\param [in] size Size of processed data used to calculate module throughput. +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1a3cf2e25a99be565a4ab570737cfeac41'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'performance'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'isa'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'module_name'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +F +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'function'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +Args ... +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'args'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '253'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Run performance test case for a given function. +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\param [in] isa Used Instruction Set. +\param [in] module_name name of the tested kernel. +\param [in] function function to be tested. +\param [in] args function's arguments. +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8cpp_1ae39390f41ba978a1f0d79691436c074a'; + sec-mem-ref-line = '47'; + sec-mem-ref-name = 'bind_to_cpu'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8hpp_1a12661f1773e3ba71d5b29d7ffa042b1a'; + sec-mem-ref-line = '68'; + sec-mem-ref-name = 'BenchmarkParameters::cpu_id'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8hpp_1af69d779517f2bdee3aba95bc38022074'; + sec-mem-ref-line = '425'; + sec-mem-ref-name = 'run_benchmark'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a21d05f2c6607fc534e67ed32883de81f'; + sec-mem-ref-line = '766'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1af9e5657bce588536aef7baf8c33a0108'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'print_test_description'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'isa'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'module_name'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '271'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Print unique test description to the results xml file. +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\param [in] isa Used Instruction Set. +\param [in] module_name name of the tested kernel. +\param [in] function function to be tested. +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1a5a1ec6ee393f8538815bc0a82eac2e88'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +const std::string +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'get_case_name'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '338'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Get name of the test case from JSON file. +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\return Test'ss case name or a default name if name field is missing. +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1abf28e5ea54fab2b0685972fe6e75560a'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'init_test'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'type'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '358'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Defines section in the conf.json that is used to load parameters from. +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\param [in] type Name of the section in the JSON file. +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'json_8hpp_1a0801762a3fe36fe32dca5f16e515478d'; + sec-mem-ref-line = '5040'; + sec-mem-ref-name = 'basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::size'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8cpp_1a876ed07783b27d38779f7cef4db673e6'; + sec-mem-ref-line = '86'; + sec-mem-ref-name = 'read_data_to_aligned_array'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a69b4bff6061152ff85770d725cced3cc'; + sec-mem-ref-line = '32'; + sec-mem-ref-name = 'module_name'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '112'; + sec-mem-ref-name = 'C_plane::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'chain__tests_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '135'; + sec-mem-ref-name = 'SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '92'; + sec-mem-ref-name = 'PrachCheck::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__performance_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '91'; + sec-mem-ref-name = 'PrachPerf::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'u__plane__functional_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '37'; + sec-mem-ref-name = 'U_planeCheck::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'u__plane__performance_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '41'; + sec-mem-ref-name = 'U_planePerf::SetUp'; + }; + }; /* sec-member */ + }; /* cp-section */ + cp-section = { + sec-kind = 'protected-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_test_chain_1acb7ae6f5547d5e166b643084db28b2fa'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_fh_config +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_xranConf'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/chain_tests.cc'; + sec-mem-desc-line = '306'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'chain__tests_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '135'; + sec-mem-ref-name = 'SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'chain__tests_8cc_1a6c5f599800ca755367ad7df4da60eb86'; + sec-mem-ref-line = '226'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_test_chain_1a9507c81d07af4f634e04173663fd5419'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_fh_init +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_xranInit'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/chain_tests.cc'; + sec-mem-desc-line = '306'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_test_chain_1ae064c199bd624882f23a786c57aa5afe'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +bool +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_bSub6'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/chain_tests.cc'; + sec-mem-desc-line = '132'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_kernel_tests_1a929401f577bc540c1f8b7ec8c3b974fd'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +double +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'division_factor'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += 1.0 +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '214'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_kernel_tests_1a0f6b306c821273c76461f8799c5d4d4c'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +std::string +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'result_units'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += "None" +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '215'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_kernel_tests_1a88ea1f1de6b4d7d01ddc5fced408c813'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'parallelization_factor'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += 1 +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '216'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/chain_tests.cc'; + cp-fileline = '127'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-inheritancegraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 365; + node-label = 'TestWithParam< unsigned >'; + }; /* node */ + node = { + node-id = 363; + node-label = 'TestChain'; + node-link = { + node-link-id = 'class_test_chain'; + }; + node-child = { + child-id = '364'; + relation = public-inheritance; + }; /* node-child */ + }; /* node */ + node = { + node-id = 364; + node-label = 'KernelTests'; + node-link = { + node-link-id = 'class_kernel_tests'; + }; + node-child = { + child-id = '365'; + relation = public-inheritance; + }; /* node-child */ + }; /* node */ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 368; + node-label = 'TestWithParam< unsigned >'; + }; /* node */ + node = { + node-id = 366; + node-label = 'TestChain'; + node-link = { + node-link-id = 'class_test_chain'; + }; + node-child = { + child-id = '367'; + relation = public-inheritance; + }; /* node-child */ + node-child = { + child-id = '370'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ +#m_xranInit +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '373'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ +#m_xranConf +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + node = { + node-id = 370; + node-label = 'xran_fh_init'; + node-link = { + node-link-id = 'structxran__fh__init'; + }; + node-child = { + child-id = '371'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++eAxCId_conf +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '372'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++io_cfg +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + node = { + node-id = 367; + node-label = 'KernelTests'; + node-link = { + node-link-id = 'class_kernel_tests'; + }; + node-child = { + child-id = '368'; + relation = public-inheritance; + }; /* node-child */ + node-child = { + child-id = '369'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++conf +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + node = { + node-id = 375; + node-label = 'xran_frame_config'; + node-link = { + node-link-id = 'structxran__frame__config'; + }; + node-child = { + child-id = '376'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++sSlotConfig +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + node = { + node-id = 371; + node-label = 'xran_eaxcid_config'; + node-link = { + node-link-id = 'structxran__eaxcid__config'; + }; + }; /* node */ + node = { + node-id = 372; + node-label = 'xran_io_cfg'; + node-link = { + node-link-id = 'structxran__io__cfg'; + }; + }; /* node */ + node = { + node-id = 369; + node-label = 'basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >'; + node-link = { + node-link-id = 'classnlohmann_1_1basic__json'; + }; + }; /* node */ + node = { + node-id = 377; + node-label = 'xran_ru_config'; + node-link = { + node-link-id = 'structxran__ru__config'; + }; + }; /* node */ + node = { + node-id = 378; + node-label = 'xran_srs_config'; + node-link = { + node-link-id = 'structxran__srs__config'; + }; + }; /* node */ + node = { + node-id = 373; + node-label = 'xran_fh_config'; + node-link = { + node-link-id = 'structxran__fh__config'; + }; + node-child = { + child-id = '374'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++prach_conf +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '375'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++frame_conf +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '377'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++ru_conf +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '378'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++srs_conf +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + node = { + node-id = 374; + node-label = 'xran_prach_config'; + node-link = { + node-link-id = 'structxran__prach__config'; + }; + }; /* node */ + node = { + node-id = 376; + node-label = 'xran_slot_config'; + node-link = { + node-link-id = 'structxran__slot__config'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* class */ +class = { + cp-id = 'classtesting_1_1_test_with_param'; + cp-name = 'testing::TestWithParam'; + cp-ref = { + ref-type = derived; + ref-id = 'class_kernel_tests'; + ref-prot = public; + ref-virt = non-virtual; + }; + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + cp-fileline = '157'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-inheritancegraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 388; + node-label = 'TestChain'; + node-link = { + node-link-id = 'class_test_chain'; + }; + node-child = { + child-id = '380'; + relation = public-inheritance; + }; /* node-child */ + }; /* node */ + node = { + node-id = 385; + node-label = 'Init_Sys_Check'; + node-link = { + node-link-id = 'class_init___sys___check'; + }; + node-child = { + child-id = '380'; + relation = public-inheritance; + }; /* node-child */ + }; /* node */ + node = { + node-id = 389; + node-label = 'U_planeCheck'; + node-link = { + node-link-id = 'class_u__plane_check'; + }; + node-child = { + child-id = '380'; + relation = public-inheritance; + }; /* node-child */ + }; /* node */ + node = { + node-id = 384; + node-label = 'C_plane'; + node-link = { + node-link-id = 'class_c__plane'; + }; + node-child = { + child-id = '380'; + relation = public-inheritance; + }; /* node-child */ + }; /* node */ + node = { + node-id = 379; + node-label = 'TestWithParam'; + }; /* node */ + node = { + node-id = 387; + node-label = 'PrachPerf'; + node-link = { + node-link-id = 'class_prach_perf'; + }; + node-child = { + child-id = '380'; + relation = public-inheritance; + }; /* node-child */ + }; /* node */ + node = { + node-id = 381; + node-label = 'BfpCheck'; + node-link = { + node-link-id = 'class_bfp_check'; + }; + node-child = { + child-id = '380'; + relation = public-inheritance; + }; /* node-child */ + }; /* node */ + node = { + node-id = 390; + node-label = 'U_planePerf'; + node-link = { + node-link-id = 'class_u__plane_perf'; + }; + node-child = { + child-id = '380'; + relation = public-inheritance; + }; /* node-child */ + }; /* node */ + node = { + node-id = 386; + node-label = 'PrachCheck'; + node-link = { + node-link-id = 'class_prach_check'; + }; + node-child = { + child-id = '380'; + relation = public-inheritance; + }; /* node-child */ + }; /* node */ + node = { + node-id = 380; + node-label = 'KernelTests< unsigned >'; + node-link = { + node-link-id = 'class_kernel_tests'; + }; + node-child = { + child-id = '379'; + relation = public-inheritance; + }; /* node-child */ + }; /* node */ + node = { + node-id = 382; + node-label = 'BfpPerf'; + node-link = { + node-link-id = 'class_bfp_perf'; + }; + node-child = { + child-id = '380'; + relation = public-inheritance; + }; /* node-child */ + }; /* node */ + node = { + node-id = 383; + node-label = 'BfpPerfEx'; + node-link = { + node-link-id = 'class_bfp_perf_ex'; + }; + node-child = { + child-id = '380'; + relation = public-inheritance; + }; /* node-child */ + }; /* node */ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 391; + node-label = 'TestWithParam'; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* class */ +struct = { + cp-id = 'structnlohmann_1_1detail_1_1to__json__fn'; + cp-name = 'nlohmann::detail::to_json_fn'; + cp-section = { + sec-kind = 'public-func'; + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'structnlohmann_1_1detail_1_1to__json__fn_1af2d38ad6a42ac8284e4be1f5839be322'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'operator()'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +BasicJsonType & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'j'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +T && +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'val'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '826'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-section = { + sec-kind = 'private-func'; + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'structnlohmann_1_1detail_1_1to__json__fn_1a63478c276b03ff9792fac658c7caac60'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +auto +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'call'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +BasicJsonType & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'j'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +T && +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'val'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +priority_tag< 1 > +_EnD_oF_dEf_TeXt_; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '811'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'structnlohmann_1_1detail_1_1to__json__fn_1a87ca1f5c589ff237d0f30a2df5db6b4d'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'call'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +BasicJsonType & +_EnD_oF_dEf_TeXt_; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +T && +_EnD_oF_dEf_TeXt_; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +priority_tag< 0 > +_EnD_oF_dEf_TeXt_; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + sec-mem-desc-line = '818'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + cp-fileline = '808'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 393; + node-label = 'to_json_fn'; + node-link = { + node-link-id = 'structnlohmann_1_1detail_1_1to__json__fn'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +class = { + cp-id = 'classstd_1_1true__type'; + cp-name = 'std::true_type'; + cp-ref = { + ref-type = derived; + ref-id = 'structnlohmann_1_1detail_1_1conjunction'; + ref-prot = public; + ref-virt = non-virtual; + }; + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + cp-fileline = '203'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-inheritancegraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 394; + node-label = 'true_type'; + }; /* node */ + node = { + node-id = 395; + node-label = 'conjunction<... >'; + node-link = { + node-link-id = 'structnlohmann_1_1detail_1_1conjunction'; + }; + node-child = { + child-id = '394'; + relation = public-inheritance; + }; /* node-child */ + }; /* node */ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 396; + node-label = 'true_type'; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* class */ +class = { + cp-id = 'classstd_1_1conditional_1_1type'; + cp-name = 'std::conditional::type'; + cp-ref = { + ref-type = derived; + ref-id = 'structnlohmann_1_1detail_1_1conjunction_3_01_b1_00_01_bn_8_8_8_01_4'; + ref-prot = public; + ref-virt = non-virtual; + }; + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + cp-fileline = '206'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-inheritancegraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 397; + node-label = 'type'; + }; /* node */ + node = { + node-id = 398; + node-label = 'conjunction< B1, Bn... >'; + node-link = { + node-link-id = 'structnlohmann_1_1detail_1_1conjunction_3_01_b1_00_01_bn_8_8_8_01_4'; + }; + node-child = { + child-id = '397'; + relation = public-inheritance; + }; /* node-child */ + }; /* node */ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 399; + node-label = 'type'; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* class */ +struct = { + cp-id = 'structcompression__params_1_1u__law'; + cp-name = 'compression_params::u_law'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structcompression__params_1_1u__law_1a6de249d83bc31f90fb2c3882cbe2e54d'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'compShift'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_up.h'; + sec-mem-desc-line = '119'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structcompression__params_1_1u__law_1af01aa0d561630d65396393219f4b3ed2'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'compBitWidth'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_up.h'; + sec-mem-desc-line = '120'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_up.h'; + cp-fileline = '118'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 401; + node-label = 'compression_params::u_law'; + node-link = { + node-link-id = 'structcompression__params_1_1u__law'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +class = { + cp-id = 'class_u__plane_check'; + cp-name = 'U_planeCheck'; + cp-ref = { + ref-type = base; + ref-id = 'class_kernel_tests'; + ref-prot = public; + ref-virt = non-virtual; + }; + cp-section = { + sec-kind = 'public-static-func'; + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1aad8181b222f27240e9f07dcb6e620fa3'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'SetUpTestCase'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '162'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8cpp_1ad8c062e9b24e4b3a8408b23a0d8ab428'; + sec-mem-ref-line = '106'; + sec-mem-ref-name = 'read_json_from_file'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8hpp_1a70518905d36686ddeeb2eb3b2682f016'; + sec-mem-ref-line = '73'; + sec-mem-ref-name = 'missing_config_file_exception::what'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8cpp_1a56c41cbb9de4bce25da45ecd74b46a81'; + sec-mem-ref-line = '119'; + sec-mem-ref-name = 'tsc_recovery'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1aaff0dc66f57f643a49ad3dd6bcb56916'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'TearDownTestCase'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '185'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1a6157ff083be863bba0a7804cd1788d96'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static unsigned +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'get_number_of_cases'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'type'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '190'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8cpp_1ad8c062e9b24e4b3a8408b23a0d8ab428'; + sec-mem-ref-line = '106'; + sec-mem-ref-name = 'read_json_from_file'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'json_8hpp_1a0801762a3fe36fe32dca5f16e515478d'; + sec-mem-ref-line = '5040'; + sec-mem-ref-name = 'basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::size'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8hpp_1a70518905d36686ddeeb2eb3b2682f016'; + sec-mem-ref-line = '73'; + sec-mem-ref-name = 'missing_config_file_exception::what'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1ab0ad0e23f1b51f15bd9594a24a2c438f'; + sec-mem-ref-line = '778'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + }; /* cp-section */ + cp-section = { + sec-kind = 'public-static-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_kernel_tests_1abd42f3e51ae547ec1631e9ac60df29d6'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static json +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'conf'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '159'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_kernel_tests_1a4e9607ae94d1958d38388cead2e4e3bf'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static std::string +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'test_type'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '160'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-section = { + sec-kind = 'protected-func'; + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_u__plane_check_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'SetUp'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/u_plane_functional.cc'; + sec-mem-desc-line = '37'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8hpp_1abf28e5ea54fab2b0685972fe6e75560a'; + sec-mem-ref-line = '358'; + sec-mem-ref-name = 'KernelTests::init_test'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'ethernet_8c_1a8d83e3adb6c9e839b3b7259288f100ba'; + sec-mem-ref-line = '70'; + sec-mem-ref-name = '_eth_mbuf_pool'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_u__plane_check_1ac4fca95dc3b93372ce7f2078baf8e8b6'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'TearDown'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/u_plane_functional.cc'; + sec-mem-desc-line = '54'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1ad49152dbf530aeb2a2844895e6d47a3e'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'set_division_factor'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const double +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'factor'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '222'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Set division factor. +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\param [in] factor Division factor that divides mean and standard deviation. +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1a1bf2180658ad6d459231c631237f9311'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'set_results_units'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'units'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '231'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Set reults units. +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\param [in] units Units that are displayed in the report. +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1a5666c82d220a2c66784b9a238cc43c7e'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'set_parallelization_factor'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const int +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'factor'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '240'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Set size of processed data. +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\param [in] size Size of processed data used to calculate module throughput. +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1a3cf2e25a99be565a4ab570737cfeac41'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'performance'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'isa'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'module_name'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +F +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'function'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +Args ... +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'args'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '253'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Run performance test case for a given function. +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\param [in] isa Used Instruction Set. +\param [in] module_name name of the tested kernel. +\param [in] function function to be tested. +\param [in] args function's arguments. +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8cpp_1ae39390f41ba978a1f0d79691436c074a'; + sec-mem-ref-line = '47'; + sec-mem-ref-name = 'bind_to_cpu'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8hpp_1a12661f1773e3ba71d5b29d7ffa042b1a'; + sec-mem-ref-line = '68'; + sec-mem-ref-name = 'BenchmarkParameters::cpu_id'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8hpp_1af69d779517f2bdee3aba95bc38022074'; + sec-mem-ref-line = '425'; + sec-mem-ref-name = 'run_benchmark'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a21d05f2c6607fc534e67ed32883de81f'; + sec-mem-ref-line = '766'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1af9e5657bce588536aef7baf8c33a0108'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'print_test_description'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'isa'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'module_name'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '271'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Print unique test description to the results xml file. +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\param [in] isa Used Instruction Set. +\param [in] module_name name of the tested kernel. +\param [in] function function to be tested. +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1a5a1ec6ee393f8538815bc0a82eac2e88'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +const std::string +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'get_case_name'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '338'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Get name of the test case from JSON file. +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\return Test'ss case name or a default name if name field is missing. +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1abf28e5ea54fab2b0685972fe6e75560a'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'init_test'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'type'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '358'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Defines section in the conf.json that is used to load parameters from. +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\param [in] type Name of the section in the JSON file. +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'json_8hpp_1a0801762a3fe36fe32dca5f16e515478d'; + sec-mem-ref-line = '5040'; + sec-mem-ref-name = 'basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::size'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8cpp_1a876ed07783b27d38779f7cef4db673e6'; + sec-mem-ref-line = '86'; + sec-mem-ref-name = 'read_data_to_aligned_array'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a69b4bff6061152ff85770d725cced3cc'; + sec-mem-ref-line = '32'; + sec-mem-ref-name = 'module_name'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '112'; + sec-mem-ref-name = 'C_plane::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'chain__tests_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '135'; + sec-mem-ref-name = 'TestChain::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '92'; + sec-mem-ref-name = 'PrachCheck::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__performance_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '91'; + sec-mem-ref-name = 'PrachPerf::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'u__plane__functional_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '37'; + sec-mem-ref-name = 'SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'u__plane__performance_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '41'; + sec-mem-ref-name = 'U_planePerf::SetUp'; + }; + }; /* sec-member */ + }; /* cp-section */ + cp-section = { + sec-kind = 'protected-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_u__plane_check_1a814db5f2ff5eb8cff5caf3ea1b473475'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mbuf * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'test_buffer'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/u_plane_functional.cc'; + sec-mem-desc-line = '33'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'u__plane__functional_8cc_1a17e5d82ac5aec3860b1324a80fda79ed'; + sec-mem-ref-line = '61'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_u__plane_check_1ad3c8fd8da54a8693b6ea41565af2ad19'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +char * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'iq_offset'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/u_plane_functional.cc'; + sec-mem-desc-line = '34'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'u__plane__functional_8cc_1a17e5d82ac5aec3860b1324a80fda79ed'; + sec-mem-ref-line = '61'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_u__plane_check_1aab306187cd86e6270f16af7fac1d0a63'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mempool * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'test_eth_mbuf_pool'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/u_plane_functional.cc'; + sec-mem-desc-line = '35'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_kernel_tests_1a929401f577bc540c1f8b7ec8c3b974fd'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +double +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'division_factor'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += 1.0 +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '214'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_kernel_tests_1a0f6b306c821273c76461f8799c5d4d4c'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +std::string +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'result_units'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += "None" +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '215'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_kernel_tests_1a88ea1f1de6b4d7d01ddc5fced408c813'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'parallelization_factor'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += 1 +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '216'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/u_plane_functional.cc'; + cp-fileline = '31'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-inheritancegraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 404; + node-label = 'TestWithParam< unsigned >'; + }; /* node */ + node = { + node-id = 402; + node-label = 'U_planeCheck'; + node-link = { + node-link-id = 'class_u__plane_check'; + }; + node-child = { + child-id = '403'; + relation = public-inheritance; + }; /* node-child */ + }; /* node */ + node = { + node-id = 403; + node-label = 'KernelTests'; + node-link = { + node-link-id = 'class_kernel_tests'; + }; + node-child = { + child-id = '404'; + relation = public-inheritance; + }; /* node-child */ + }; /* node */ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 407; + node-label = 'TestWithParam< unsigned >'; + }; /* node */ + node = { + node-id = 405; + node-label = 'U_planeCheck'; + node-link = { + node-link-id = 'class_u__plane_check'; + }; + node-child = { + child-id = '406'; + relation = public-inheritance; + }; /* node-child */ + }; /* node */ + node = { + node-id = 406; + node-label = 'KernelTests'; + node-link = { + node-link-id = 'class_kernel_tests'; + }; + node-child = { + child-id = '407'; + relation = public-inheritance; + }; /* node-child */ + node-child = { + child-id = '408'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++conf +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + node = { + node-id = 408; + node-label = 'basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >'; + node-link = { + node-link-id = 'classnlohmann_1_1basic__json'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* class */ +class = { + cp-id = 'class_u__plane_perf'; + cp-name = 'U_planePerf'; + cp-ref = { + ref-type = base; + ref-id = 'class_kernel_tests'; + ref-prot = public; + ref-virt = non-virtual; + }; + cp-section = { + sec-kind = 'public-static-func'; + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1aad8181b222f27240e9f07dcb6e620fa3'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'SetUpTestCase'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '162'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8cpp_1ad8c062e9b24e4b3a8408b23a0d8ab428'; + sec-mem-ref-line = '106'; + sec-mem-ref-name = 'read_json_from_file'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8hpp_1a70518905d36686ddeeb2eb3b2682f016'; + sec-mem-ref-line = '73'; + sec-mem-ref-name = 'missing_config_file_exception::what'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8cpp_1a56c41cbb9de4bce25da45ecd74b46a81'; + sec-mem-ref-line = '119'; + sec-mem-ref-name = 'tsc_recovery'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1aaff0dc66f57f643a49ad3dd6bcb56916'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'TearDownTestCase'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '185'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1a6157ff083be863bba0a7804cd1788d96'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static unsigned +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'get_number_of_cases'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'type'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '190'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8cpp_1ad8c062e9b24e4b3a8408b23a0d8ab428'; + sec-mem-ref-line = '106'; + sec-mem-ref-name = 'read_json_from_file'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'json_8hpp_1a0801762a3fe36fe32dca5f16e515478d'; + sec-mem-ref-line = '5040'; + sec-mem-ref-name = 'basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::size'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8hpp_1a70518905d36686ddeeb2eb3b2682f016'; + sec-mem-ref-line = '73'; + sec-mem-ref-name = 'missing_config_file_exception::what'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1ab0ad0e23f1b51f15bd9594a24a2c438f'; + sec-mem-ref-line = '778'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + }; /* cp-section */ + cp-section = { + sec-kind = 'public-static-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_kernel_tests_1abd42f3e51ae547ec1631e9ac60df29d6'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static json +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'conf'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '159'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_kernel_tests_1a4e9607ae94d1958d38388cead2e4e3bf'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +static std::string +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'test_type'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '160'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-section = { + sec-kind = 'protected-func'; + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_u__plane_perf_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'SetUp'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/u_plane_performance.cc'; + sec-mem-desc-line = '41'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8hpp_1abf28e5ea54fab2b0685972fe6e75560a'; + sec-mem-ref-line = '358'; + sec-mem-ref-name = 'KernelTests::init_test'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'ethernet_8h_1ae543d743ada71b167a5cbd813b15fa7f'; + sec-mem-ref-line = '46'; + sec-mem-ref-name = 'NUM_MBUFS'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'ethernet_8h_1aff7b5c03d15eefed7ec8ba88836914e6'; + sec-mem-ref-line = '47'; + sec-mem-ref-name = 'MBUF_CACHE'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'ethernet_8h_1aabc097abe969aa80654d34ee7f15109c'; + sec-mem-ref-line = '50'; + sec-mem-ref-name = 'MBUF_POOL_ELEMENT'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_u__plane_perf_1ac4fca95dc3b93372ce7f2078baf8e8b6'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'TearDown'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/u_plane_performance.cc'; + sec-mem-desc-line = '61'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_u__plane_perf_1aa2fb15367f40188e0a2d2c15fa6ad124'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'fucntional_dl'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +F +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'function'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +int32_t * +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'request'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +int32_t * +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'response'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/u_plane_performance.cc'; + sec-mem-desc-line = '66'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__pkt_8h_1gga9c60a23fdae979ad1842b255790d1558a19f3d3cee814f10e4f3bf7d80194083f'; + sec-mem-ref-line = '149'; + sec-mem-ref-name = 'XRAN_DIR_DL'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1ab5ce6839bae2968c79930a0bfa17f4d8ae0b667dc04b0baacb15bc9c40b776098'; + sec-mem-ref-line = '473'; + sec-mem-ref-name = 'XRAN_CPU_LE_BYTE_ORDER'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__common_8c_1adc9636576fb70f4b4fcfd1d03fe59998'; + sec-mem-ref-line = '348'; + sec-mem-ref-name = 'prepare_symbol_ex'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'u__plane__performance_8cc_1a227817e595c0b079e12728d4d19364e8'; + sec-mem-ref-line = '104'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1ad49152dbf530aeb2a2844895e6d47a3e'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'set_division_factor'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const double +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'factor'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '222'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Set division factor. +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\param [in] factor Division factor that divides mean and standard deviation. +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1a1bf2180658ad6d459231c631237f9311'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'set_results_units'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'units'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '231'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Set reults units. +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\param [in] units Units that are displayed in the report. +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1a5666c82d220a2c66784b9a238cc43c7e'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'set_parallelization_factor'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const int +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'factor'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '240'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Set size of processed data. +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\param [in] size Size of processed data used to calculate module throughput. +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1a3cf2e25a99be565a4ab570737cfeac41'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'performance'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'isa'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'module_name'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +F +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'function'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +Args ... +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'args'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '253'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Run performance test case for a given function. +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\param [in] isa Used Instruction Set. +\param [in] module_name name of the tested kernel. +\param [in] function function to be tested. +\param [in] args function's arguments. +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8cpp_1ae39390f41ba978a1f0d79691436c074a'; + sec-mem-ref-line = '47'; + sec-mem-ref-name = 'bind_to_cpu'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8hpp_1a12661f1773e3ba71d5b29d7ffa042b1a'; + sec-mem-ref-line = '68'; + sec-mem-ref-name = 'BenchmarkParameters::cpu_id'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8hpp_1af69d779517f2bdee3aba95bc38022074'; + sec-mem-ref-line = '425'; + sec-mem-ref-name = 'run_benchmark'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a21d05f2c6607fc534e67ed32883de81f'; + sec-mem-ref-line = '766'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1af9e5657bce588536aef7baf8c33a0108'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'print_test_description'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'isa'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'module_name'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '271'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Print unique test description to the results xml file. +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\param [in] isa Used Instruction Set. +\param [in] module_name name of the tested kernel. +\param [in] function function to be tested. +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1a5a1ec6ee393f8538815bc0a82eac2e88'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +const std::string +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'get_case_name'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '338'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Get name of the test case from JSON file. +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\return Test'ss case name or a default name if name field is missing. +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'class_kernel_tests_1abf28e5ea54fab2b0685972fe6e75560a'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'init_test'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'type'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '358'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Defines section in the conf.json that is used to load parameters from. +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\param [in] type Name of the section in the JSON file. +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'json_8hpp_1a0801762a3fe36fe32dca5f16e515478d'; + sec-mem-ref-line = '5040'; + sec-mem-ref-name = 'basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::size'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8cpp_1a876ed07783b27d38779f7cef4db673e6'; + sec-mem-ref-line = '86'; + sec-mem-ref-name = 'read_data_to_aligned_array'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a69b4bff6061152ff85770d725cced3cc'; + sec-mem-ref-line = '32'; + sec-mem-ref-name = 'module_name'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '112'; + sec-mem-ref-name = 'C_plane::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'chain__tests_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '135'; + sec-mem-ref-name = 'TestChain::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '92'; + sec-mem-ref-name = 'PrachCheck::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__performance_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '91'; + sec-mem-ref-name = 'PrachPerf::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'u__plane__functional_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '37'; + sec-mem-ref-name = 'U_planeCheck::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'u__plane__performance_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '41'; + sec-mem-ref-name = 'SetUp'; + }; + }; /* sec-member */ + }; /* cp-section */ + cp-section = { + sec-kind = 'protected-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_u__plane_perf_1aecd4daf2f65d0901e69252e8704aead5'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'request'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/u_plane_performance.cc'; + sec-mem-desc-line = '34'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'u__plane__performance_8cc_1a227817e595c0b079e12728d4d19364e8'; + sec-mem-ref-line = '104'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_u__plane_perf_1a73f283dac7c232619e62aba3cab7e0b1'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'response'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/u_plane_performance.cc'; + sec-mem-desc-line = '35'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'u__plane__performance_8cc_1a227817e595c0b079e12728d4d19364e8'; + sec-mem-ref-line = '104'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_u__plane_perf_1a814db5f2ff5eb8cff5caf3ea1b473475'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mbuf * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'test_buffer'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/u_plane_performance.cc'; + sec-mem-desc-line = '37'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_u__plane_perf_1ad3c8fd8da54a8693b6ea41565af2ad19'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +char * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'iq_offset'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/u_plane_performance.cc'; + sec-mem-desc-line = '38'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_u__plane_perf_1aab306187cd86e6270f16af7fac1d0a63'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mempool * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'test_eth_mbuf_pool'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/u_plane_performance.cc'; + sec-mem-desc-line = '39'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_kernel_tests_1a929401f577bc540c1f8b7ec8c3b974fd'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +double +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'division_factor'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += 1.0 +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '214'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_kernel_tests_1a0f6b306c821273c76461f8799c5d4d4c'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +std::string +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'result_units'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += "None" +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '215'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'class_kernel_tests_1a88ea1f1de6b4d7d01ddc5fced408c813'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'parallelization_factor'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += 1 +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + sec-mem-desc-line = '216'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/u_plane_performance.cc'; + cp-fileline = '31'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-inheritancegraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 411; + node-label = 'TestWithParam< unsigned >'; + }; /* node */ + node = { + node-id = 410; + node-label = 'KernelTests'; + node-link = { + node-link-id = 'class_kernel_tests'; + }; + node-child = { + child-id = '411'; + relation = public-inheritance; + }; /* node-child */ + }; /* node */ + node = { + node-id = 409; + node-label = 'U_planePerf'; + node-link = { + node-link-id = 'class_u__plane_perf'; + }; + node-child = { + child-id = '410'; + relation = public-inheritance; + }; /* node-child */ + }; /* node */ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 414; + node-label = 'TestWithParam< unsigned >'; + }; /* node */ + node = { + node-id = 413; + node-label = 'KernelTests'; + node-link = { + node-link-id = 'class_kernel_tests'; + }; + node-child = { + child-id = '414'; + relation = public-inheritance; + }; /* node-child */ + node-child = { + child-id = '415'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++conf +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + node = { + node-id = 415; + node-label = 'basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >'; + node-link = { + node-link-id = 'classnlohmann_1_1basic__json'; + }; + }; /* node */ + node = { + node-id = 412; + node-label = 'U_planePerf'; + node-link = { + node-link-id = 'class_u__plane_perf'; + }; + node-child = { + child-id = '413'; + relation = public-inheritance; + }; /* node-child */ + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* class */ +struct = { + cp-id = 'structxran__buffer__list'; + cp-name = 'xran_buffer_list'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__buffer__list_1a3d723fbd99a0f76d412b2b79931fbc6e'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'nNumBuffers'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '594'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Number of pointers +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1ac94e2474beef3b68521cfd391211b1be'; + sec-mem-ref-line = '2551'; + sec-mem-ref-name = 'xran_5g_fronthault_config'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1ab204e979de14c21d34e9b88c6c700d25'; + sec-mem-ref-line = '2636'; + sec-mem-ref-name = 'xran_5g_prach_req'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a2bd01fc3432f80a787d6bf317949dd80'; + sec-mem-ref-line = '2679'; + sec-mem-ref-name = 'xran_5g_srs_req'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__buffer__list_1afa8c44acddb126e8bb0652d7b4e4395e'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_flat_buffer * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'pBuffers'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '596'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + Pointer to an unbounded array containing the number of CpaFlatBuffers +defined by nNumBuffers +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a14cfa955b7fdf58378a97b4cfa7268f8'; + sec-mem-ref-line = '1384'; + sec-mem-ref-name = 'xran_process_prach_sym'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a300b87c29358bb161404c0122a9b2a46'; + sec-mem-ref-line = '1461'; + sec-mem-ref-name = 'xran_process_srs_sym'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1acb6ecf7858c99c963182b9b7884deca6'; + sec-mem-ref-line = '1578'; + sec-mem-ref-name = 'xran_process_rx_sym'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1ac94e2474beef3b68521cfd391211b1be'; + sec-mem-ref-line = '2551'; + sec-mem-ref-name = 'xran_5g_fronthault_config'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1ab204e979de14c21d34e9b88c6c700d25'; + sec-mem-ref-line = '2636'; + sec-mem-ref-name = 'xran_5g_prach_req'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a2bd01fc3432f80a787d6bf317949dd80'; + sec-mem-ref-line = '2679'; + sec-mem-ref-name = 'xran_5g_srs_req'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__buffer__list_1a8d75dbe9027a94780bc2f31670400613'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'pUserData'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '599'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +This is an opaque field that is not read or modified internally. +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__buffer__list_1a8ff74a1602372db410403d44e0bdd4a9'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'pPrivateMetaData'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '601'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + Private Meta representation of this buffer List - the memory for this +buffer needs to be allocated by the client as contiguous data. +The amount of memory required is returned with a call to +cpaCyBufferListGetMetaSize. If cpaCyBufferListGetMetaSize returns a size +of zero no memory needs to be allocated, and this parameter can be NULL. +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + cp-fileline = '593'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + Scatter/Gather buffer list containing an array of Simple buffers. + +@description + A Scatter/Gather buffer list structure. It is expected that this buffer + structure will be used where more than one flat buffer can be provided + on a particular API. + + IMPORTANT - The memory for the pPrivateMetaData member must be allocated + by the client as contiguous memory. When allocating memory for + pPrivateMetaData a call to cpaCyBufferListGetMetaSize MUST be made to + determine the size of the Meta Data Buffer. The returned size + (in bytes) may then be passed in a memory allocation routine to allocate + the pPrivateMetaData memory. +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 418; + node-label = 'xran_flat_buffer'; + node-link = { + node-link-id = 'structxran__flat__buffer'; + }; + }; /* node */ + node = { + node-id = 417; + node-label = 'xran_buffer_list'; + node-link = { + node-link-id = 'structxran__buffer__list'; + }; + node-child = { + child-id = '418'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++pBuffers +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structxran__cb__tag'; + cp-name = 'xran_cb_tag'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cb__tag_1a4daa962a4ae09a2811670d1fa4875f5f'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'cellId'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '288'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cb__tag_1a0a81ee27053a63e71a6c7db060562eb0'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'symbol'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '289'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1ad4544f4d6f4713c010f083bce5758d14'; + sec-mem-ref-line = '963'; + sec-mem-ref-name = 'rx_ul_deadline_half_cb'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a63aa00dad3b771f4db5df8ca8ac68323'; + sec-mem-ref-line = '999'; + sec-mem-ref-name = 'rx_ul_deadline_full_cb'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cb__tag_1a88d73cc1cc6695b6e27bad4609d887e1'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'slotiId'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '290'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1ad4544f4d6f4713c010f083bce5758d14'; + sec-mem-ref-line = '963'; + sec-mem-ref-name = 'rx_ul_deadline_half_cb'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a63aa00dad3b771f4db5df8ca8ac68323'; + sec-mem-ref-line = '999'; + sec-mem-ref-name = 'rx_ul_deadline_full_cb'; + }; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + cp-fileline = '287'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ +callback return information +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 420; + node-label = 'xran_cb_tag'; + node-link = { + node-link-id = 'structxran__cb__tag'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structxran__common__counters'; + cp-name = 'xran_common_counters'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__common__counters_1a6094e9310d30333fffbdeec6da91007c'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint64_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'Rx_on_time'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '530'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Data was received on time (applies to user data reception window) +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'init__sys__functional_8cc_1a8e9607426b34de712f7d450018d0dc05'; + sec-mem-ref-line = '210'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__common__counters_1a1b07b459f4a9596d5c4a615d9e47fea2'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint64_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'Rx_early'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '531'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Data was received too early (applies to user data reception window) +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'init__sys__functional_8cc_1a8e9607426b34de712f7d450018d0dc05'; + sec-mem-ref-line = '210'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__common__counters_1a2c33ad6e68efd74811ca61eada4f52f2'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint64_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'Rx_late'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '532'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Data was received too late (applies to user data reception window) +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'init__sys__functional_8cc_1a8e9607426b34de712f7d450018d0dc05'; + sec-mem-ref-line = '210'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__common__counters_1af07bbcc73027d046cf79aaeeaea95d28'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint64_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'Rx_corrupt'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '533'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Corrupt/Incorrect header packet +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'init__sys__functional_8cc_1a8e9607426b34de712f7d450018d0dc05'; + sec-mem-ref-line = '210'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__common__counters_1a98356b862ea13ddc58a1378a67c4bf8e'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint64_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'Rx_pkt_dupl'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '534'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Duplicated packet +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'init__sys__functional_8cc_1a8e9607426b34de712f7d450018d0dc05'; + sec-mem-ref-line = '210'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__common__counters_1ad863eb3e9dc4a977cce64405ec2780c7'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint64_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'Total_msgs_rcvd'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '535'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Total messages received (on all links) +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'init__sys__functional_8cc_1a8e9607426b34de712f7d450018d0dc05'; + sec-mem-ref-line = '210'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + cp-fileline = '529'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ +XRAN front haul statistic counters according to Table 7 1 : Common Counters for both DL and UL +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 422; + node-label = 'xran_common_counters'; + node-link = { + node-link-id = 'structxran__common__counters'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structxran__cp__bf__attribute'; + cp-name = 'xran_cp_bf_attribute'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__bf__attribute_1a6327553f15198377152abe9523b68847'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'weight'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '375'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + cp-fileline = '374'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 424; + node-label = 'xran_cp_bf_attribute'; + node-link = { + node-link-id = 'structxran__cp__bf__attribute'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structxran__cp__bf__precoding'; + cp-name = 'xran_cp_bf_precoding'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__bf__precoding_1a6327553f15198377152abe9523b68847'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'weight'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '378'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + cp-fileline = '377'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 426; + node-label = 'xran_cp_bf_precoding'; + node-link = { + node-link-id = 'structxran__cp__bf__precoding'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structxran__cp__bf__weight'; + cp-name = 'xran_cp_bf_weight'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__bf__weight_1a5a0bb9b26c357c93eb4a7822b5272300'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'nAntElmTRx'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '370'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +num TRX for this allocation +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__bf__weight_1ab3eed3d1b60ab946d704b2dfe7890d91'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int8_t * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'p_ext_section'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '371'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +pointer to form extType +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__bf__weight_1a17671b66262aad67690f1c6f50b11c67'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'ext_section_sz'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '372'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +extType section size +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + cp-fileline = '369'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ +Beamforming waights for single stream for each PRBs given number of Antenna elements +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 428; + node-label = 'xran_cp_bf_weight'; + node-link = { + node-link-id = 'structxran__cp__bf__weight'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structxran__cp__gen__params'; + cp-name = 'xran_cp_gen_params'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__gen__params_1a92abda0bec7c1c978fe96f87aad18067'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'dir'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '316'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +UL or DL +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a7fd4d380e2392bfe924c06a8101b6d85'; + sec-mem-ref-line = '320'; + sec-mem-ref-name = 'C_plane::prepare_sections'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a2d5e33dd093724772a1447910bd34e15'; + sec-mem-ref-line = '394'; + sec-mem-ref-name = 'C_plane::verify_sections'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a62307393b7f454a2b348ada67997b796'; + sec-mem-ref-line = '177'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1a484fa852a2e973600abba0efb1fbefb9'; + sec-mem-ref-line = '510'; + sec-mem-ref-name = 'send_cpmsg'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1aaa01e98d3b3439a332302aebe21459dd'; + sec-mem-ref-line = '535'; + sec-mem-ref-name = 'generate_cpmsg_dlul'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1ab8a6ed3cee8fa183142d0c23d0b4971d'; + sec-mem-ref-line = '595'; + sec-mem-ref-name = 'generate_cpmsg_prach'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1ae5d69f1c437b336ec274f5e1ab8e2e30'; + sec-mem-ref-line = '187'; + sec-mem-ref-name = 'xran_cp_add_multisection_info'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a38c83cd67a7265920f3bd0b36510f713'; + sec-mem-ref-line = '1749'; + sec-mem-ref-name = 'xran_parse_cp_pkt'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__gen__params_1ae273caa235b1c6085de4ad13886f82c9'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'sectionType'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '317'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +each section must have same type with this +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a7fd4d380e2392bfe924c06a8101b6d85'; + sec-mem-ref-line = '320'; + sec-mem-ref-name = 'C_plane::prepare_sections'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a2d5e33dd093724772a1447910bd34e15'; + sec-mem-ref-line = '394'; + sec-mem-ref-name = 'C_plane::verify_sections'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a62307393b7f454a2b348ada67997b796'; + sec-mem-ref-line = '177'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1aaa01e98d3b3439a332302aebe21459dd'; + sec-mem-ref-line = '535'; + sec-mem-ref-name = 'generate_cpmsg_dlul'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1ab8a6ed3cee8fa183142d0c23d0b4971d'; + sec-mem-ref-line = '595'; + sec-mem-ref-name = 'generate_cpmsg_prach'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1ad50ae862f0707dab5e7b8e6a774fd225'; + sec-mem-ref-line = '1169'; + sec-mem-ref-name = 'xran_append_control_section'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a1261c107d1103c8bd1b3376db4aa7951'; + sec-mem-ref-line = '1297'; + sec-mem-ref-name = 'xran_append_radioapp_header'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a38c83cd67a7265920f3bd0b36510f713'; + sec-mem-ref-line = '1749'; + sec-mem-ref-name = 'xran_parse_cp_pkt'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__gen__params_1a52bddd404e766ddb6f2b9eabe15ea5b1'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'numSections'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '318'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +the number of sections to generate +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a7fd4d380e2392bfe924c06a8101b6d85'; + sec-mem-ref-line = '320'; + sec-mem-ref-name = 'C_plane::prepare_sections'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a2d5e33dd093724772a1447910bd34e15'; + sec-mem-ref-line = '394'; + sec-mem-ref-name = 'C_plane::verify_sections'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a11a0b914a08e5375cae792dc6db08c7a'; + sec-mem-ref-line = '566'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1a484fa852a2e973600abba0efb1fbefb9'; + sec-mem-ref-line = '510'; + sec-mem-ref-name = 'send_cpmsg'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1aaa01e98d3b3439a332302aebe21459dd'; + sec-mem-ref-line = '535'; + sec-mem-ref-name = 'generate_cpmsg_dlul'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1ab8a6ed3cee8fa183142d0c23d0b4971d'; + sec-mem-ref-line = '595'; + sec-mem-ref-name = 'generate_cpmsg_prach'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1ae5d69f1c437b336ec274f5e1ab8e2e30'; + sec-mem-ref-line = '187'; + sec-mem-ref-name = 'xran_cp_add_multisection_info'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a38c83cd67a7265920f3bd0b36510f713'; + sec-mem-ref-line = '1749'; + sec-mem-ref-name = 'xran_parse_cp_pkt'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__gen__params_1a6c787affb1020c2b8058a3ddeff3fe52'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_cp_header_params +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'hdr'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '318'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +The information for C-Plane message header +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a7fd4d380e2392bfe924c06a8101b6d85'; + sec-mem-ref-line = '320'; + sec-mem-ref-name = 'C_plane::prepare_sections'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a2d5e33dd093724772a1447910bd34e15'; + sec-mem-ref-line = '394'; + sec-mem-ref-name = 'C_plane::verify_sections'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a62307393b7f454a2b348ada67997b796'; + sec-mem-ref-line = '177'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1a484fa852a2e973600abba0efb1fbefb9'; + sec-mem-ref-line = '510'; + sec-mem-ref-name = 'send_cpmsg'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1aaa01e98d3b3439a332302aebe21459dd'; + sec-mem-ref-line = '535'; + sec-mem-ref-name = 'generate_cpmsg_dlul'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1ab8a6ed3cee8fa183142d0c23d0b4971d'; + sec-mem-ref-line = '595'; + sec-mem-ref-name = 'generate_cpmsg_prach'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a38c83cd67a7265920f3bd0b36510f713'; + sec-mem-ref-line = '1749'; + sec-mem-ref-name = 'xran_parse_cp_pkt'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__gen__params_1a5921f2439294279b8111fed577c5c37a'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_section_gen_info * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'sections'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '322'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Array of the section information +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '112'; + sec-mem-ref-name = 'C_plane::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1aecd2fcecaca860136bf56e6af5155e96'; + sec-mem-ref-line = '230'; + sec-mem-ref-name = 'C_plane::prepare_extensions'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a7fd4d380e2392bfe924c06a8101b6d85'; + sec-mem-ref-line = '320'; + sec-mem-ref-name = 'C_plane::prepare_sections'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a2d5e33dd093724772a1447910bd34e15'; + sec-mem-ref-line = '394'; + sec-mem-ref-name = 'C_plane::verify_sections'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a11a0b914a08e5375cae792dc6db08c7a'; + sec-mem-ref-line = '566'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '92'; + sec-mem-ref-name = 'PrachCheck::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__performance_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '91'; + sec-mem-ref-name = 'PrachPerf::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1aaa01e98d3b3439a332302aebe21459dd'; + sec-mem-ref-line = '535'; + sec-mem-ref-name = 'generate_cpmsg_dlul'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1ab8a6ed3cee8fa183142d0c23d0b4971d'; + sec-mem-ref-line = '595'; + sec-mem-ref-name = 'generate_cpmsg_prach'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a38c83cd67a7265920f3bd0b36510f713'; + sec-mem-ref-line = '1749'; + sec-mem-ref-name = 'xran_parse_cp_pkt'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a4eb2b37a85455e8078520bcea40296cc'; + sec-mem-ref-line = '571'; + sec-mem-ref-name = 'process_cplane'; + }; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + cp-fileline = '315'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ +This structure to hold the information to generate a C-Plane message +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 435; + node-label = 'xran_sectionext3_info'; + node-link = { + node-link-id = 'structxran__sectionext3__info'; + }; + }; /* node */ + node = { + node-id = 439; + node-label = 'xran_section_desc'; + node-link = { + node-link-id = 'structxran__section__desc'; + }; + }; /* node */ + node = { + node-id = 434; + node-label = 'xran_sectionext4_info'; + node-link = { + node-link-id = 'structxran__sectionext4__info'; + }; + }; /* node */ + node = { + node-id = 432; + node-label = 'xran_section_gen_info'; + node-link = { + node-link-id = 'structxran__section__gen__info'; + }; + node-child = { + child-id = '433'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++m_ext5 +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '434'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++m_ext4 +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '435'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++m_ext3 +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '436'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++m_ext2 +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '437'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++m_ext1 +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '438'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++info +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + node = { + node-id = 437; + node-label = 'xran_sectionext1_info'; + node-link = { + node-link-id = 'structxran__sectionext1__info'; + }; + }; /* node */ + node = { + node-id = 438; + node-label = 'xran_section_info'; + node-link = { + node-link-id = 'structxran__section__info'; + }; + node-child = { + child-id = '439'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++sec_desc +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + node = { + node-id = 433; + node-label = 'xran_sectionext5_info'; + node-link = { + node-link-id = 'structxran__sectionext5__info'; + }; + }; /* node */ + node = { + node-id = 430; + node-label = 'xran_cp_gen_params'; + node-link = { + node-link-id = 'structxran__cp__gen__params'; + }; + node-child = { + child-id = '431'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++hdr +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '432'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++sections +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + node = { + node-id = 436; + node-label = 'xran_sectionext2_info'; + node-link = { + node-link-id = 'structxran__sectionext2__info'; + }; + }; /* node */ + node = { + node-id = 431; + node-label = 'xran_cp_header_params'; + node-link = { + node-link-id = 'structxran__cp__header__params'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structxran__cp__header__params'; + cp-name = 'xran_cp_header_params'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__header__params_1ad5150de5e1c141cfe288f260afb00830'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'filterIdx'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '277'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a7fd4d380e2392bfe924c06a8101b6d85'; + sec-mem-ref-line = '320'; + sec-mem-ref-name = 'C_plane::prepare_sections'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a2d5e33dd093724772a1447910bd34e15'; + sec-mem-ref-line = '394'; + sec-mem-ref-name = 'C_plane::verify_sections'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a62307393b7f454a2b348ada67997b796'; + sec-mem-ref-line = '177'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1aaa01e98d3b3439a332302aebe21459dd'; + sec-mem-ref-line = '535'; + sec-mem-ref-name = 'generate_cpmsg_dlul'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1ab8a6ed3cee8fa183142d0c23d0b4971d'; + sec-mem-ref-line = '595'; + sec-mem-ref-name = 'generate_cpmsg_prach'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a38c83cd67a7265920f3bd0b36510f713'; + sec-mem-ref-line = '1749'; + sec-mem-ref-name = 'xran_parse_cp_pkt'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__header__params_1a048f7f66787565b266517ddaa551d98e'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'frameId'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '278'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a7fd4d380e2392bfe924c06a8101b6d85'; + sec-mem-ref-line = '320'; + sec-mem-ref-name = 'C_plane::prepare_sections'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a2d5e33dd093724772a1447910bd34e15'; + sec-mem-ref-line = '394'; + sec-mem-ref-name = 'C_plane::verify_sections'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a62307393b7f454a2b348ada67997b796'; + sec-mem-ref-line = '177'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1a484fa852a2e973600abba0efb1fbefb9'; + sec-mem-ref-line = '510'; + sec-mem-ref-name = 'send_cpmsg'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1aaa01e98d3b3439a332302aebe21459dd'; + sec-mem-ref-line = '535'; + sec-mem-ref-name = 'generate_cpmsg_dlul'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1ab8a6ed3cee8fa183142d0c23d0b4971d'; + sec-mem-ref-line = '595'; + sec-mem-ref-name = 'generate_cpmsg_prach'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a38c83cd67a7265920f3bd0b36510f713'; + sec-mem-ref-line = '1749'; + sec-mem-ref-name = 'xran_parse_cp_pkt'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__header__params_1a45cd2998ed056e5139a76bf36053ed14'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'subframeId'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '279'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a7fd4d380e2392bfe924c06a8101b6d85'; + sec-mem-ref-line = '320'; + sec-mem-ref-name = 'C_plane::prepare_sections'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a2d5e33dd093724772a1447910bd34e15'; + sec-mem-ref-line = '394'; + sec-mem-ref-name = 'C_plane::verify_sections'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a62307393b7f454a2b348ada67997b796'; + sec-mem-ref-line = '177'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1a484fa852a2e973600abba0efb1fbefb9'; + sec-mem-ref-line = '510'; + sec-mem-ref-name = 'send_cpmsg'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1aaa01e98d3b3439a332302aebe21459dd'; + sec-mem-ref-line = '535'; + sec-mem-ref-name = 'generate_cpmsg_dlul'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1ab8a6ed3cee8fa183142d0c23d0b4971d'; + sec-mem-ref-line = '595'; + sec-mem-ref-name = 'generate_cpmsg_prach'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a38c83cd67a7265920f3bd0b36510f713'; + sec-mem-ref-line = '1749'; + sec-mem-ref-name = 'xran_parse_cp_pkt'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__header__params_1a0eb3f725109bb1afb9094b025af26678'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'slotId'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '280'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a7fd4d380e2392bfe924c06a8101b6d85'; + sec-mem-ref-line = '320'; + sec-mem-ref-name = 'C_plane::prepare_sections'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a2d5e33dd093724772a1447910bd34e15'; + sec-mem-ref-line = '394'; + sec-mem-ref-name = 'C_plane::verify_sections'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a62307393b7f454a2b348ada67997b796'; + sec-mem-ref-line = '177'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1a484fa852a2e973600abba0efb1fbefb9'; + sec-mem-ref-line = '510'; + sec-mem-ref-name = 'send_cpmsg'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1aaa01e98d3b3439a332302aebe21459dd'; + sec-mem-ref-line = '535'; + sec-mem-ref-name = 'generate_cpmsg_dlul'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1ab8a6ed3cee8fa183142d0c23d0b4971d'; + sec-mem-ref-line = '595'; + sec-mem-ref-name = 'generate_cpmsg_prach'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a38c83cd67a7265920f3bd0b36510f713'; + sec-mem-ref-line = '1749'; + sec-mem-ref-name = 'xran_parse_cp_pkt'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__header__params_1ac54814779041bec5dcf8aec288d69b06'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'startSymId'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '281'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a7fd4d380e2392bfe924c06a8101b6d85'; + sec-mem-ref-line = '320'; + sec-mem-ref-name = 'C_plane::prepare_sections'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a2d5e33dd093724772a1447910bd34e15'; + sec-mem-ref-line = '394'; + sec-mem-ref-name = 'C_plane::verify_sections'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a62307393b7f454a2b348ada67997b796'; + sec-mem-ref-line = '177'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1aaa01e98d3b3439a332302aebe21459dd'; + sec-mem-ref-line = '535'; + sec-mem-ref-name = 'generate_cpmsg_dlul'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1ab8a6ed3cee8fa183142d0c23d0b4971d'; + sec-mem-ref-line = '595'; + sec-mem-ref-name = 'generate_cpmsg_prach'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a38c83cd67a7265920f3bd0b36510f713'; + sec-mem-ref-line = '1749'; + sec-mem-ref-name = 'xran_parse_cp_pkt'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__header__params_1a59e7e8f3feb686850b0cb0ae065de85b'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'fftSize'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '284'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a7fd4d380e2392bfe924c06a8101b6d85'; + sec-mem-ref-line = '320'; + sec-mem-ref-name = 'C_plane::prepare_sections'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a2d5e33dd093724772a1447910bd34e15'; + sec-mem-ref-line = '394'; + sec-mem-ref-name = 'C_plane::verify_sections'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a62307393b7f454a2b348ada67997b796'; + sec-mem-ref-line = '177'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1ab8a6ed3cee8fa183142d0c23d0b4971d'; + sec-mem-ref-line = '595'; + sec-mem-ref-name = 'generate_cpmsg_prach'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a38c83cd67a7265920f3bd0b36510f713'; + sec-mem-ref-line = '1749'; + sec-mem-ref-name = 'xran_parse_cp_pkt'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__header__params_1ae470e3869d1cbf07cd5f78ab6709b9e1'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'scs'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '285'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a7fd4d380e2392bfe924c06a8101b6d85'; + sec-mem-ref-line = '320'; + sec-mem-ref-name = 'C_plane::prepare_sections'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a2d5e33dd093724772a1447910bd34e15'; + sec-mem-ref-line = '394'; + sec-mem-ref-name = 'C_plane::verify_sections'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a62307393b7f454a2b348ada67997b796'; + sec-mem-ref-line = '177'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1ab8a6ed3cee8fa183142d0c23d0b4971d'; + sec-mem-ref-line = '595'; + sec-mem-ref-name = 'generate_cpmsg_prach'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a38c83cd67a7265920f3bd0b36510f713'; + sec-mem-ref-line = '1749'; + sec-mem-ref-name = 'xran_parse_cp_pkt'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__header__params_1a1520b1ef6131bff6c14b88d849c266c5'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'iqWidth'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '286'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a7fd4d380e2392bfe924c06a8101b6d85'; + sec-mem-ref-line = '320'; + sec-mem-ref-name = 'C_plane::prepare_sections'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a2d5e33dd093724772a1447910bd34e15'; + sec-mem-ref-line = '394'; + sec-mem-ref-name = 'C_plane::verify_sections'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a62307393b7f454a2b348ada67997b796'; + sec-mem-ref-line = '177'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1aaa01e98d3b3439a332302aebe21459dd'; + sec-mem-ref-line = '535'; + sec-mem-ref-name = 'generate_cpmsg_dlul'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1ab8a6ed3cee8fa183142d0c23d0b4971d'; + sec-mem-ref-line = '595'; + sec-mem-ref-name = 'generate_cpmsg_prach'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a38c83cd67a7265920f3bd0b36510f713'; + sec-mem-ref-line = '1749'; + sec-mem-ref-name = 'xran_parse_cp_pkt'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__header__params_1a1e4a3c43fc7865c6520471fb9ba8501f'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'compMeth'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '287'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a7fd4d380e2392bfe924c06a8101b6d85'; + sec-mem-ref-line = '320'; + sec-mem-ref-name = 'C_plane::prepare_sections'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a2d5e33dd093724772a1447910bd34e15'; + sec-mem-ref-line = '394'; + sec-mem-ref-name = 'C_plane::verify_sections'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a62307393b7f454a2b348ada67997b796'; + sec-mem-ref-line = '177'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1aaa01e98d3b3439a332302aebe21459dd'; + sec-mem-ref-line = '535'; + sec-mem-ref-name = 'generate_cpmsg_dlul'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1ab8a6ed3cee8fa183142d0c23d0b4971d'; + sec-mem-ref-line = '595'; + sec-mem-ref-name = 'generate_cpmsg_prach'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a38c83cd67a7265920f3bd0b36510f713'; + sec-mem-ref-line = '1749'; + sec-mem-ref-name = 'xran_parse_cp_pkt'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__header__params_1a32f1b5994f68c2670b4db46afdd152f1'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'numUEs'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '288'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__header__params_1aa68c277a66312b4b90819cccc055bdb7'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'timeOffset'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '289'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a7fd4d380e2392bfe924c06a8101b6d85'; + sec-mem-ref-line = '320'; + sec-mem-ref-name = 'C_plane::prepare_sections'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a62307393b7f454a2b348ada67997b796'; + sec-mem-ref-line = '177'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1ab8a6ed3cee8fa183142d0c23d0b4971d'; + sec-mem-ref-line = '595'; + sec-mem-ref-name = 'generate_cpmsg_prach'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a38c83cd67a7265920f3bd0b36510f713'; + sec-mem-ref-line = '1749'; + sec-mem-ref-name = 'xran_parse_cp_pkt'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__header__params_1af57c31d64bbdb0d65fd36c9f38951328'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'cpLength'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '290'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a7fd4d380e2392bfe924c06a8101b6d85'; + sec-mem-ref-line = '320'; + sec-mem-ref-name = 'C_plane::prepare_sections'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a2d5e33dd093724772a1447910bd34e15'; + sec-mem-ref-line = '394'; + sec-mem-ref-name = 'C_plane::verify_sections'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a62307393b7f454a2b348ada67997b796'; + sec-mem-ref-line = '177'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1ab8a6ed3cee8fa183142d0c23d0b4971d'; + sec-mem-ref-line = '595'; + sec-mem-ref-name = 'generate_cpmsg_prach'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a38c83cd67a7265920f3bd0b36510f713'; + sec-mem-ref-line = '1749'; + sec-mem-ref-name = 'xran_parse_cp_pkt'; + }; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + cp-fileline = '275'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ +This structure contains the information to generate the section header of C-Plane message +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 441; + node-label = 'xran_cp_header_params'; + node-link = { + node-link-id = 'structxran__cp__header__params'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structxran__cp__radioapp__common__header'; + cp-name = 'xran_cp_radioapp_common_header'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__common__header_1a158cc4eb9be778527f9afe0bf9df19e0'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'startSymbolId'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '62'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.4.7 start symbol identifier +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__common__header_1ae287404c8c0fa4fb464abf8f6a516346'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'slotId'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '63'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.4.6 slot identifier +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__common__header_1aa948cf928c529d24f8d536fb480094f2'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'subframeId'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '64'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.4.5 subframe identifier +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__common__header_1a15a5e5806d950f2d75550c17b007153c'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'frameId'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '65'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.4.4 frame identifier +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__common__header_1a6275bf84e65f219845e03cf9535f893a'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'filterIndex'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '66'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.4.3 filter index, XRAN_FILTERINDEX_xxxx +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__common__header_1a06cacc53918b2e51a13fc506b4351d63'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'payloadVer'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '67'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.4.2 payload version, should be 1 +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__common__header_1a87c3e6cd307a5ee7d853ec7254fcd010'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'dataDirection'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '68'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.4.1 data direction (gNB Tx/Rx) +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__common__header_1a879dd7efae60d48d1c20349a00feee87'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'numOfSections'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '69'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.4.8 number of sections +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__common__header_1ae273caa235b1c6085de4ad13886f82c9'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'sectionType'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '70'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.4.9 section type +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + cp-fileline = '61'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ +@description + Common Radio Application Header for C-Plane +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 443; + node-label = 'xran_cp_radioapp_common_header'; + node-link = { + node-link-id = 'structxran__cp__radioapp__common__header'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structxran__cp__radioapp__frame_structure'; + cp-name = 'xran_cp_radioapp_frameStructure'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__frame_structure_1aa4ed885cdd3c67f4df8c1f6b20cc031c'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'uScs'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '80'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +sub-carrier spacing, XRAN_SCS_xxx +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a38c83cd67a7265920f3bd0b36510f713'; + sec-mem-ref-line = '1749'; + sec-mem-ref-name = 'xran_parse_cp_pkt'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__frame_structure_1a59e7e8f3feb686850b0cb0ae065de85b'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'fftSize'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '81'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +FFT size, XRAN_FFTSIZE_xxx +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a38c83cd67a7265920f3bd0b36510f713'; + sec-mem-ref-line = '1749'; + sec-mem-ref-name = 'xran_parse_cp_pkt'; + }; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + cp-fileline = '79'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ +@description + frame structure defined in 5.4.4.13 +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 445; + node-label = 'xran_cp_radioapp_frameStructure'; + node-link = { + node-link-id = 'structxran__cp__radioapp__frame_structure'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structxran__cp__radioapp__section0'; + cp-name = 'xran_cp_radioapp_section0'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section0_1a3675a820a4aec2a8724471cb7f840f16'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_cp_radioapp_section_header +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'hdr'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '219'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + cp-fileline = '353'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ +@description + Section definition for type 0: Unused RB or Symbols in DL or UL (Table 5-2) + Not supported in this release +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 448; + node-label = 'xran_cp_radioapp_section_header'; + node-link = { + node-link-id = 'structxran__cp__radioapp__section__header'; + }; + }; /* node */ + node = { + node-id = 447; + node-label = 'xran_cp_radioapp_section0'; + node-link = { + node-link-id = 'structxran__cp__radioapp__section0'; + }; + node-child = { + child-id = '448'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++hdr +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structxran__cp__radioapp__section0__header'; + cp-name = 'xran_cp_radioapp_section0_header'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section0__header_1a5965943d604d681efbc50dbda73e9101'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_cp_radioapp_common_header +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'cmnhdr'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '220'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section0__header_1aa68c277a66312b4b90819cccc055bdb7'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'timeOffset'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '339'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.4.12 time offset +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a38c83cd67a7265920f3bd0b36510f713'; + sec-mem-ref-line = '1749'; + sec-mem-ref-name = 'xran_parse_cp_pkt'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section0__header_1addd131fba195042d2b0b7de7c5183b6a'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_cp_radioapp_frameStructure +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'frameStructure'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '339'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a38c83cd67a7265920f3bd0b36510f713'; + sec-mem-ref-line = '1749'; + sec-mem-ref-name = 'xran_parse_cp_pkt'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section0__header_1af57c31d64bbdb0d65fd36c9f38951328'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'cpLength'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '342'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.4.14 cyclic prefix length +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a38c83cd67a7265920f3bd0b36510f713'; + sec-mem-ref-line = '1749'; + sec-mem-ref-name = 'xran_parse_cp_pkt'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section0__header_1acb7bc06bed6f6408d719334fc41698c7'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'reserved'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '343'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + cp-fileline = '337'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ +@description + Section header definition for type 0 +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 452; + node-label = 'xran_cp_radioapp_common_header'; + node-link = { + node-link-id = 'structxran__cp__radioapp__common__header'; + }; + }; /* node */ + node = { + node-id = 451; + node-label = 'xran_cp_radioapp_frameStructure'; + node-link = { + node-link-id = 'structxran__cp__radioapp__frame_structure'; + }; + }; /* node */ + node = { + node-id = 450; + node-label = 'xran_cp_radioapp_section0_header'; + node-link = { + node-link-id = 'structxran__cp__radioapp__section0__header'; + }; + node-child = { + child-id = '451'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++frameStructure +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '452'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++cmnhdr +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structxran__cp__radioapp__section1'; + cp-name = 'xran_cp_radioapp_section1'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section1_1a3675a820a4aec2a8724471cb7f840f16'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_cp_radioapp_section_header +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'hdr'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '216'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + cp-fileline = '375'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ +@description + Section definition for type 1: Most DL/UL Radio Channels (Table 5-3) +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 455; + node-label = 'xran_cp_radioapp_section_header'; + node-link = { + node-link-id = 'structxran__cp__radioapp__section__header'; + }; + }; /* node */ + node = { + node-id = 454; + node-label = 'xran_cp_radioapp_section1'; + node-link = { + node-link-id = 'structxran__cp__radioapp__section1'; + }; + node-child = { + child-id = '455'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++hdr +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structxran__cp__radioapp__section1__header'; + cp-name = 'xran_cp_radioapp_section1_header'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section1__header_1a5965943d604d681efbc50dbda73e9101'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_cp_radioapp_common_header +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'cmnhdr'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '219'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section1__header_1a2c555c4732301a1ffa8b9957fbe51a76'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_radioapp_udComp_header +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'udComp'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '219'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a38c83cd67a7265920f3bd0b36510f713'; + sec-mem-ref-line = '1749'; + sec-mem-ref-name = 'xran_parse_cp_pkt'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section1__header_1acb7bc06bed6f6408d719334fc41698c7'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'reserved'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '366'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + cp-fileline = '363'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ +@description + Section header definition for type 1 +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 458; + node-label = 'xran_cp_radioapp_common_header'; + node-link = { + node-link-id = 'structxran__cp__radioapp__common__header'; + }; + }; /* node */ + node = { + node-id = 459; + node-label = 'xran_radioapp_udComp_header'; + node-link = { + node-link-id = 'structxran__radioapp__ud_comp__header'; + }; + }; /* node */ + node = { + node-id = 457; + node-label = 'xran_cp_radioapp_section1_header'; + node-link = { + node-link-id = 'structxran__cp__radioapp__section1__header'; + }; + node-child = { + child-id = '458'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++cmnhdr +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '459'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++udComp +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structxran__cp__radioapp__section3'; + cp-name = 'xran_cp_radioapp_section3'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section3_1a3675a820a4aec2a8724471cb7f840f16'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_cp_radioapp_section_header +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'hdr'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '218'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section3_1a13677edb1da78e5c96fc793592142392'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'freqOffset'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '405'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.5.11 frequency offset +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section3_1aa43c4c21b173ada1b6b7568956f0d650'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'reserved'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '406'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + cp-fileline = '403'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ +@description + Section definition for type 3: PRACH and Mixed-numerology Channels (Table 5-4) +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 462; + node-label = 'xran_cp_radioapp_section_header'; + node-link = { + node-link-id = 'structxran__cp__radioapp__section__header'; + }; + }; /* node */ + node = { + node-id = 461; + node-label = 'xran_cp_radioapp_section3'; + node-link = { + node-link-id = 'structxran__cp__radioapp__section3'; + }; + node-child = { + child-id = '462'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++hdr +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structxran__cp__radioapp__section3__header'; + cp-name = 'xran_cp_radioapp_section3_header'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section3__header_1a5965943d604d681efbc50dbda73e9101'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_cp_radioapp_common_header +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'cmnhdr'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '216'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section3__header_1aa68c277a66312b4b90819cccc055bdb7'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'timeOffset'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '390'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.4.12 time offset +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a38c83cd67a7265920f3bd0b36510f713'; + sec-mem-ref-line = '1749'; + sec-mem-ref-name = 'xran_parse_cp_pkt'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section3__header_1addd131fba195042d2b0b7de7c5183b6a'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_cp_radioapp_frameStructure +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'frameStructure'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '390'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a38c83cd67a7265920f3bd0b36510f713'; + sec-mem-ref-line = '1749'; + sec-mem-ref-name = 'xran_parse_cp_pkt'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section3__header_1af57c31d64bbdb0d65fd36c9f38951328'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'cpLength'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '393'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.4.14 cyclic prefix length +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a38c83cd67a7265920f3bd0b36510f713'; + sec-mem-ref-line = '1749'; + sec-mem-ref-name = 'xran_parse_cp_pkt'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section3__header_1a2c555c4732301a1ffa8b9957fbe51a76'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_radioapp_udComp_header +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'udComp'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '393'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a38c83cd67a7265920f3bd0b36510f713'; + sec-mem-ref-line = '1749'; + sec-mem-ref-name = 'xran_parse_cp_pkt'; + }; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + cp-fileline = '388'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ +@description + Section header definition for type 3 +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 466; + node-label = 'xran_cp_radioapp_common_header'; + node-link = { + node-link-id = 'structxran__cp__radioapp__common__header'; + }; + }; /* node */ + node = { + node-id = 465; + node-label = 'xran_cp_radioapp_frameStructure'; + node-link = { + node-link-id = 'structxran__cp__radioapp__frame_structure'; + }; + }; /* node */ + node = { + node-id = 464; + node-label = 'xran_cp_radioapp_section3_header'; + node-link = { + node-link-id = 'structxran__cp__radioapp__section3__header'; + }; + node-child = { + child-id = '465'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++frameStructure +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '466'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++cmnhdr +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '467'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++udComp +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + node = { + node-id = 467; + node-label = 'xran_radioapp_udComp_header'; + node-link = { + node-link-id = 'structxran__radioapp__ud_comp__header'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structxran__cp__radioapp__section5'; + cp-name = 'xran_cp_radioapp_section5'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section5_1a3675a820a4aec2a8724471cb7f840f16'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_cp_radioapp_section_header +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'hdr'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '216'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + cp-fileline = '431'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ +@description + Section definition for type 5: UE scheduling information (Table 5-5) + Not supported in this release +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 470; + node-label = 'xran_cp_radioapp_section_header'; + node-link = { + node-link-id = 'structxran__cp__radioapp__section__header'; + }; + }; /* node */ + node = { + node-id = 469; + node-label = 'xran_cp_radioapp_section5'; + node-link = { + node-link-id = 'structxran__cp__radioapp__section5'; + }; + node-child = { + child-id = '470'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++hdr +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structxran__cp__radioapp__section5__header'; + cp-name = 'xran_cp_radioapp_section5_header'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section5__header_1a5965943d604d681efbc50dbda73e9101'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_cp_radioapp_common_header +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'cmnhdr'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '216'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section5__header_1a2c555c4732301a1ffa8b9957fbe51a76'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_radioapp_udComp_header +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'udComp'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '216'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section5__header_1acb7bc06bed6f6408d719334fc41698c7'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'reserved'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '421'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + cp-fileline = '418'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ +@description + Section header definition for type 5 +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 473; + node-label = 'xran_cp_radioapp_common_header'; + node-link = { + node-link-id = 'structxran__cp__radioapp__common__header'; + }; + }; /* node */ + node = { + node-id = 474; + node-label = 'xran_radioapp_udComp_header'; + node-link = { + node-link-id = 'structxran__radioapp__ud_comp__header'; + }; + }; /* node */ + node = { + node-id = 472; + node-label = 'xran_cp_radioapp_section5_header'; + node-link = { + node-link-id = 'structxran__cp__radioapp__section5__header'; + }; + node-child = { + child-id = '473'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++cmnhdr +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '474'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++udComp +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structxran__cp__radioapp__section6'; + cp-name = 'xran_cp_radioapp_section6'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section6_1ab73e0a6442bf42de3e9110afca7b4ec4'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'regularizationFactor'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '458'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.5.12 regularization Factor +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section6_1a64c04119c39e8dbcf00f4ae22968b1eb'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'ueId'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '459'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.5.10 UE identifier +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section6_1ad63f9c3cee58cacccc463bc3c3313cc6'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'ef'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '460'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.5.8 extension flag +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section6_1a02b265f2198407df96202e1dfdc5c7dd'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'startPrbch'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '461'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.5.4 starting PRB of control section +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section6_1a52f6623d45fec4bf9c14898f7e53db34'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'symInc'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '462'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.5.3 symbol number increment command XRAN_SYMBOLNUMBER_xxxx +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section6_1affa3adbd50cd4af2018ba1fc0e8c3e31'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'rb'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '463'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.5.2 resource block indicator, XRAN_RBIND_xxx +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section6_1acb7bc06bed6f6408d719334fc41698c7'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'reserved'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '464'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section6_1ae0ba1ea05777c0190eb5d898d177f37d'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'startPrbcl'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '465'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.5.4 starting PRB of control section +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section6_1aabc4fe26e40f742fd255e2bb8534de75'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'numPrbc'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '466'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.5.6 number of contiguous PRBs per control section +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + cp-fileline = '457'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ +@description + Section definition for type 5: Channel Information (Table 5-6) + Not supported in this release +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 476; + node-label = 'xran_cp_radioapp_section6'; + node-link = { + node-link-id = 'structxran__cp__radioapp__section6'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structxran__cp__radioapp__section6__header'; + cp-name = 'xran_cp_radioapp_section6_header'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section6__header_1a5965943d604d681efbc50dbda73e9101'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_cp_radioapp_common_header +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'cmnhdr'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '216'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section6__header_1adc2b3bf6f7c4208312d35672ab4f1af7'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'numberOfUEs'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '446'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.4.11 number of UEs +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section6__header_1acb7bc06bed6f6408d719334fc41698c7'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'reserved'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '447'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + cp-fileline = '444'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ +@description + Section header definition for type 6 +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 479; + node-label = 'xran_cp_radioapp_common_header'; + node-link = { + node-link-id = 'structxran__cp__radioapp__common__header'; + }; + }; /* node */ + node = { + node-id = 478; + node-label = 'xran_cp_radioapp_section6_header'; + node-link = { + node-link-id = 'structxran__cp__radioapp__section6__header'; + }; + node-child = { + child-id = '479'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++cmnhdr +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structxran__cp__radioapp__section7__header'; + cp-name = 'xran_cp_radioapp_section7_header'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section7__header_1a5965943d604d681efbc50dbda73e9101'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_cp_radioapp_common_header +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'cmnhdr'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '222'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section7__header_1a5a6ed8c04a3db86066924b1a1bf4dad3'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'reserved'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '484'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section7__header_1a4a3e173586ee317bb0948180e97377d9'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'laaMsgLen'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '485'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.5.15 LAA message length +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section7__header_1aeb1df06af4d93ec0e092de5cb10f0f08'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'laaMsgType'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '486'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.5.14 LAA message type +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + cp-fileline = '482'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ +@description + Section header definition for type 7: LAA + Not supported in this release +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 482; + node-label = 'xran_cp_radioapp_common_header'; + node-link = { + node-link-id = 'structxran__cp__radioapp__common__header'; + }; + }; /* node */ + node = { + node-id = 481; + node-label = 'xran_cp_radioapp_section7_header'; + node-link = { + node-link-id = 'structxran__cp__radioapp__section7__header'; + }; + node-child = { + child-id = '482'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++cmnhdr +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structxran__cp__radioapp__section__ext1'; + cp-name = 'xran_cp_radioapp_section_ext1'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section__ext1_1af69684e1de711986c6c92dcb0cde3ef9'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'extType'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '145'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.6.1 extension type +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a848d22f9f7e5f493782bf8a9bfdb8f3a'; + sec-mem-ref-line = '387'; + sec-mem-ref-name = 'xran_cp_populate_section_ext_1'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section__ext1_1afe3859cd334ad3f912622c58d5b2079e'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'ef'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '146'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.6.2 extension flag +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a11a0b914a08e5375cae792dc6db08c7a'; + sec-mem-ref-line = '566'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a848d22f9f7e5f493782bf8a9bfdb8f3a'; + sec-mem-ref-line = '387'; + sec-mem-ref-name = 'xran_cp_populate_section_ext_1'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section__ext1_1a1704e602910415f3250e10f4f215fb84'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'extLen'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '147'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.6.3 extension length, in 32bits words +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a11a0b914a08e5375cae792dc6db08c7a'; + sec-mem-ref-line = '566'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1aaa0c6012a36b539f8880c45ac909c331'; + sec-mem-ref-line = '1416'; + sec-mem-ref-name = 'xran_parse_section_ext1'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section__ext1_1a489f0b868b86e577a5e515dc40987ba5'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'bfwCompMeth'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '149'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.7.1.1 Beamforming weight Compression method +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a848d22f9f7e5f493782bf8a9bfdb8f3a'; + sec-mem-ref-line = '387'; + sec-mem-ref-name = 'xran_cp_populate_section_ext_1'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1aaa0c6012a36b539f8880c45ac909c331'; + sec-mem-ref-line = '1416'; + sec-mem-ref-name = 'xran_parse_section_ext1'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section__ext1_1ab4efff418afe4f08b45d3c4762f8b31d'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'bfwIqWidth'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '150'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.7.1.1 Beamforming weight IQ bit width +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a848d22f9f7e5f493782bf8a9bfdb8f3a'; + sec-mem-ref-line = '387'; + sec-mem-ref-name = 'xran_cp_populate_section_ext_1'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1aaa0c6012a36b539f8880c45ac909c331'; + sec-mem-ref-line = '1416'; + sec-mem-ref-name = 'xran_parse_section_ext1'; + }; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + cp-fileline = '142'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ +@description + Beamforming Weights Extension Type(ExtType 1) defined in 5.4.7.1 + The structure is reordered for byte order conversion. +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 484; + node-label = 'xran_cp_radioapp_section_ext1'; + node-link = { + node-link-id = 'structxran__cp__radioapp__section__ext1'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structxran__cp__radioapp__section__ext2'; + cp-name = 'xran_cp_radioapp_section_ext2'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section__ext2_1afaa633099e5bb43f394e334d2effa115'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'bfZe3ddWidth'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '173'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.7.2.1 beamforming zenith beamwidth parameter bitwidth, Table 5-21 +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1af3d96c5ccff84bf6a444f260f58a49f2'; + sec-mem-ref-line = '1497'; + sec-mem-ref-name = 'xran_parse_section_ext2'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section__ext2_1a91c2992cc2931d34eedace92ebed95e3'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'bfAz3ddWidth'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '174'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.7.2.1 beamforming azimuth beamwidth parameter bitwidth, Table 5-20 +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1af3d96c5ccff84bf6a444f260f58a49f2'; + sec-mem-ref-line = '1497'; + sec-mem-ref-name = 'xran_parse_section_ext2'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section__ext2_1ad577e27385c9800999196f723131c2a6'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'bfaCompResv1'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '175'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1af3d96c5ccff84bf6a444f260f58a49f2'; + sec-mem-ref-line = '1497'; + sec-mem-ref-name = 'xran_parse_section_ext2'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section__ext2_1a44f3c610f47128f388292d02434afe0b'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'bfZePtWidth'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '176'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.7.2.1 beamforming zenith pointing parameter bitwidth, Table 5-19 +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1af3d96c5ccff84bf6a444f260f58a49f2'; + sec-mem-ref-line = '1497'; + sec-mem-ref-name = 'xran_parse_section_ext2'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section__ext2_1ae4575041f99a19d0b4e60606fa8dbefb'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'bfAzPtWidth'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '177'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.7.2.1 beamforming azimuth pointing parameter bitwidth, Table 5-18 +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1af3d96c5ccff84bf6a444f260f58a49f2'; + sec-mem-ref-line = '1497'; + sec-mem-ref-name = 'xran_parse_section_ext2'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section__ext2_1a2b3796df8f24599db86788e5c585bd8e'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'bfaCompResv0'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '178'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1af3d96c5ccff84bf6a444f260f58a49f2'; + sec-mem-ref-line = '1497'; + sec-mem-ref-name = 'xran_parse_section_ext2'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section__ext2_1ab53808b9894ae611b5b0800f2cdc248c'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'extLen'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '179'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.6.3 extension length, in 32bits words +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1af3d96c5ccff84bf6a444f260f58a49f2'; + sec-mem-ref-line = '1497'; + sec-mem-ref-name = 'xran_parse_section_ext2'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section__ext2_1a0fb8616e86f89f4b8af4e191d1cb7ce7'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'extType'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '180'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.6.1 extension type +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section__ext2_1ad63f9c3cee58cacccc463bc3c3313cc6'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'ef'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '181'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.6.2 extension flag +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + cp-fileline = '169'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ +@description + Beamforming Attributes Extension Type(ExtType 2) defined in 5.4.7.2 + The structure is reordered for byte order conversion. +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 486; + node-label = 'xran_cp_radioapp_section_ext2'; + node-link = { + node-link-id = 'structxran__cp__radioapp__section__ext2'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structxran__cp__radioapp__section__ext3__first'; + cp-name = 'xran_cp_radioapp_section_ext3_first'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section__ext3__first_1aef9bb556c1530f5d648fd57e73b9a105'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'reserved1'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '210'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section__ext3__first_1aec327188e616d1ef6c7c7769fa49ee4b'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'crsSymNum'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '211'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.7.3.6 CRS symbol number indication +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section__ext3__first_1aed93283265f941dc1d2bf8d634164493'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'reserved0'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '212'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section__ext3__first_1a39e7385dc0e87f97e8411cec1e3aced5'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'crsShift'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '213'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.7.3.7 CRS shift used for DL transmission +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section__ext3__first_1a004e4df3faa0bb55443b2e184a8d7ace'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'crsReMask'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '214'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.7.3.5 CRS resource element mask +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section__ext3__first_1a4a4e7cf0028066630bb73b2d58445053'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'txScheme'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '215'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.7.3.3 transmission scheme +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section__ext3__first_1a872448d7734f1458ebd601823497a5fa'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'numLayers'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '216'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.7.3.4 number of layers used for DL transmission +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section__ext3__first_1abb85b533cefe89b78d49e57e7a0c6ee4'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'layerId'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '217'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.7.3.2 Layer ID for DL transmission +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section__ext3__first_1a5645d802dc4e4fac0d73fc7c68388893'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'codebookIndex'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '218'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.7.3.1 precoder codebook used for transmission +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section__ext3__first_1ab53808b9894ae611b5b0800f2cdc248c'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'extLen'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '219'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.6.3 extension length, in 32bits words +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section__ext3__first_1a0fb8616e86f89f4b8af4e191d1cb7ce7'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'extType'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '220'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.6.1 extension type +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section__ext3__first_1ad63f9c3cee58cacccc463bc3c3313cc6'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'ef'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '221'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.6.2 extension flag +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section__ext3__first_1a0780ffbec6d647632e2b31d89de94467'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'beamIdAP3'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '223'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.7.3.10 beam id to be used for antenna port 3 +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section__ext3__first_1a9b459e1b2f309337740ed7a576e8ddfb'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'beamIdAP2'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '224'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.7.3.9 beam id to be used for antenna port 2 +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section__ext3__first_1abcaa5b568a022c3af1146b779d52bebc'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'beamIdAP1'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '225'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.7.3.8 beam id to be used for antenna port 1 +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section__ext3__first_1a0fc429b055e74830a4583ec37f5c3846'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'reserved2'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '226'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + cp-fileline = '206'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ +@description + DL Precoding Extension Type(ExtType 3) for first data layer. + Defined in 5.4.7.3 Table 5-22. + Only be used for LTE TM2-4 and not for other LTE TMs nor NR. + The structure is reordered for byte order conversion. Not supported. +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 488; + node-label = 'xran_cp_radioapp_section_ext3_first'; + node-link = { + node-link-id = 'structxran__cp__radioapp__section__ext3__first'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structxran__cp__radioapp__section__ext3__non__first'; + cp-name = 'xran_cp_radioapp_section_ext3_non_first'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section__ext3__non__first_1a872448d7734f1458ebd601823497a5fa'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'numLayers'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '240'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.7.3.4 number of layers used for DL transmission +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section__ext3__non__first_1abb85b533cefe89b78d49e57e7a0c6ee4'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'layerId'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '241'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.7.3.2 Layer ID for DL transmission +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section__ext3__non__first_1a5645d802dc4e4fac0d73fc7c68388893'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'codebookIndex'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '242'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.7.3.1 precoder codebook used for transmission +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section__ext3__non__first_1ab53808b9894ae611b5b0800f2cdc248c'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'extLen'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '244'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.6.3 extension length, in 32bits words +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section__ext3__non__first_1a0fb8616e86f89f4b8af4e191d1cb7ce7'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'extType'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '245'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.6.1 extension type +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section__ext3__non__first_1ad63f9c3cee58cacccc463bc3c3313cc6'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'ef'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '246'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.6.2 extension flag +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + cp-fileline = '238'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ +@description + DL Precoding Extension Type(ExtType 3) for non-first data layer. + Defined in 5.4.7.3 Table 5-23. + Only be used for LTE TM2-4 and not for other LTE TMs nor NR. + The structure is reordered for byte order conversion. Not supported. +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 490; + node-label = 'xran_cp_radioapp_section_ext3_non_first'; + node-link = { + node-link-id = 'structxran__cp__radioapp__section__ext3__non__first'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structxran__cp__radioapp__section__ext4'; + cp-name = 'xran_cp_radioapp_section_ext4'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section__ext4_1a3e975b4b16cb91991ee107f5f3e336b5'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'modCompScaler'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '259'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.7.4.2 modulation compression scaler value +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1ad4a3ae88412a933d953fc0f8ae9bb352'; + sec-mem-ref-line = '1579'; + sec-mem-ref-name = 'xran_parse_section_ext4'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section__ext4_1a2a77d2bfcb0d61e85b549fdbbe4bce18'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'csf'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '260'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.7.4.1 constellation shift flag +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1ad4a3ae88412a933d953fc0f8ae9bb352'; + sec-mem-ref-line = '1579'; + sec-mem-ref-name = 'xran_parse_section_ext4'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section__ext4_1ab53808b9894ae611b5b0800f2cdc248c'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'extLen'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '262'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.6.3 extension length, in 32bits words +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1ad4a3ae88412a933d953fc0f8ae9bb352'; + sec-mem-ref-line = '1579'; + sec-mem-ref-name = 'xran_parse_section_ext4'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section__ext4_1a0fb8616e86f89f4b8af4e191d1cb7ce7'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'extType'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '263'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.6.1 extension type +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section__ext4_1ad63f9c3cee58cacccc463bc3c3313cc6'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'ef'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '264'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.6.2 extension flag +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + cp-fileline = '257'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ +@description + Modulation Compression Parameter Extension Type(ExtType 4), 5.4.7.4 + Only applies to section type 1 and 3. + The structure is reordered for byte order conversion. +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 492; + node-label = 'xran_cp_radioapp_section_ext4'; + node-link = { + node-link-id = 'structxran__cp__radioapp__section__ext4'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structxran__cp__radioapp__section__ext5'; + cp-name = 'xran_cp_radioapp_section_ext5'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section__ext5_1aed93283265f941dc1d2bf8d634164493'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'reserved0'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '319'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section__ext5_1aca88dbe7fcac3aa95ac605c39a1ef6c3'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'mcScaleOffset2'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '320'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.7.5.3 scaling value for modulation compression +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1af03e99a3b1e9498ca15458e0440c12a1'; + sec-mem-ref-line = '1606'; + sec-mem-ref-name = 'xran_parse_section_ext5'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section__ext5_1a985dc9bc6fcfe447805f23272240db02'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'csf2'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '321'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.7.5.2 constellation shift flag +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1af03e99a3b1e9498ca15458e0440c12a1'; + sec-mem-ref-line = '1606'; + sec-mem-ref-name = 'xran_parse_section_ext5'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section__ext5_1a345b2bf8205e92f1aa2f73109c4e99c5'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'mcScaleReMask2'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '322'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.7.5.1 modulation compression power scale RE mask +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1af03e99a3b1e9498ca15458e0440c12a1'; + sec-mem-ref-line = '1606'; + sec-mem-ref-name = 'xran_parse_section_ext5'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section__ext5_1a8854bc563f0f80ccc93498c6f6386ebe'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'mcScaleOffset1'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '323'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.7.5.3 scaling value for modulation compression +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1af03e99a3b1e9498ca15458e0440c12a1'; + sec-mem-ref-line = '1606'; + sec-mem-ref-name = 'xran_parse_section_ext5'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section__ext5_1ae99d919e21fe8913cf62fe9a45303edf'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'csf1'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '324'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.7.5.2 constellation shift flag +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1af03e99a3b1e9498ca15458e0440c12a1'; + sec-mem-ref-line = '1606'; + sec-mem-ref-name = 'xran_parse_section_ext5'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section__ext5_1aa73c9c8643bc91f9af899bcb09d5329d'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'mcScaleReMask1'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '325'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.7.5.1 modulation compression power scale RE mask +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1af03e99a3b1e9498ca15458e0440c12a1'; + sec-mem-ref-line = '1606'; + sec-mem-ref-name = 'xran_parse_section_ext5'; + }; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + cp-fileline = '318'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 494; + node-label = 'xran_cp_radioapp_section_ext5'; + node-link = { + node-link-id = 'structxran__cp__radioapp__section__ext5'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structxran__cp__radioapp__section__ext__hdr'; + cp-name = 'xran_cp_radioapp_section_ext_hdr'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section__ext__hdr_1ac83c9926f298a62e15cfbc16571a54fb'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'extLen'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '130'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.6.3 extension length, in 32bits words +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1af03e99a3b1e9498ca15458e0440c12a1'; + sec-mem-ref-line = '1606'; + sec-mem-ref-name = 'xran_parse_section_ext5'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section__ext__hdr_1a9f0a18447f69980ff7c9371840018713'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'extType'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '131'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.6.1 extension type +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section__ext__hdr_1a260ff01d6dbfb5c57ac75516eb131c48'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'ef'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '132'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.6.2 extension flag +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + cp-fileline = '126'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 496; + node-label = 'xran_cp_radioapp_section_ext_hdr'; + node-link = { + node-link-id = 'structxran__cp__radioapp__section__ext__hdr'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structxran__cp__radioapp__section__header'; + cp-name = 'xran_cp_radioapp_section_header'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section__header_1aa43c4c21b173ada1b6b7568956f0d650'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'reserved'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '94'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section__header_1a5dc992c6cc64a3f245e5676c0ff12256'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'numSymbol'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '95'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.5.7 number of symbols +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section__header_1aff6c92a5dba7cc22be5e23785fe5fc43'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'reMask'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '96'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.5.5 resource element mask +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section__header_1a95e0dae95f44e3f580dba1f14119b6f8'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_cp_radioapp_section_header::__anonymous__::__anonymous__ +_EnD_oF_dEf_TeXt_; + sec-mem-name = 's0'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '97'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section__header_1a9d9a9bc73a8aaac944ecb453eb402a07'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'beamId'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '99'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.5.9 beam identifier +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section__header_1ad63f9c3cee58cacccc463bc3c3313cc6'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'ef'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '100'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.5.8 extension flag +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section__header_1a2f522ea9e50aa828de1bbafaecc329b7'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_cp_radioapp_section_header::__anonymous__::__anonymous__ +_EnD_oF_dEf_TeXt_; + sec-mem-name = 's1'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '103'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section__header_1a2af8f4835a40414cf6f7950baafd76cf'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_cp_radioapp_section_header::__anonymous__::__anonymous__ +_EnD_oF_dEf_TeXt_; + sec-mem-name = 's3'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '109'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section__header_1a64c04119c39e8dbcf00f4ae22968b1eb'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'ueId'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '111'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.5.10 UE identifier +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section__header_1a5ab4ec89c9271cd004625b947af0dc3b'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_cp_radioapp_section_header::__anonymous__::__anonymous__ +_EnD_oF_dEf_TeXt_; + sec-mem-name = 's5'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '115'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section__header_1aaedd34aab03da5f169634cfc3aaf0e2a'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +union xran_cp_radioapp_section_header::__anonymous__ +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'u'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '116'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section__header_1ae4ab3aebfd71c3b7c6e5e6890c650254'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'numPrbc'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '118'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.5.6 number of contiguous PRBs per control section 0000 0000b = all PRBs +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section__header_1a94a428ce385fe1757f5de40003b85030'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'startPrbc'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '119'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.5.4 starting PRB of control section +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section__header_1a9f989befc2b337ff570354389880d2b6'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'symInc'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '120'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.5.3 symbol number increment command XRAN_SYMBOLNUMBER_xxxx +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section__header_1ac91b2b11ae96c1a44e8a2fad473771c7'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'rb'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '121'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.5.2 resource block indicator, XRAN_RBIND_xxx +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__radioapp__section__header_1a9a83cf1c3a2706e565cbbd8a6e3af8b2'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'sectionId'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '122'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.5.1 section identifier +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + cp-fileline = '91'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ +@description + Section headers definition for C-Plane. + Section type 6 and 7 are not present since those have different fields. +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 498; + node-label = 'xran_cp_radioapp_section_header'; + node-link = { + node-link-id = 'structxran__cp__radioapp__section__header'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structxran__cp__rbmap__list'; + cp-name = 'xran_cp_rbmap_list'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__rbmap__list_1acbe4924d3235876d0b54c3c9ef6f8149'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'grp_id'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '330'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +group id for this entry, reserved for future use +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__rbmap__list_1a23b2201c117393dd97c63e750e211d57'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'sym_start'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '332'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Start symbol ID +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__rbmap__list_1aa3855fbdf569667bde1830fe8033078a'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'sym_num'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '333'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Number of symbols +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__rbmap__list_1a1e0c8aee4bb2520855c655fc3f5ddb3e'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'rb_start'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '335'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Start RB position +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__rbmap__list_1af7735abb4d0e98bff75f6ca302402fd1'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'rb_num'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '336'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Number of RBs +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__rbmap__list_1abde12917f82ac21d3b35f788384b69d4'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'iq_buff_offset'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '338'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Offset within Sym for start of IQs +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__rbmap__list_1a4743b4bb624ddabc85672184430d9d70'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'iq_buff_len'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '339'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +length IQs +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__rbmap__list_1a599d618c91d4ce33661381801a7dca9a'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'beam_id'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '341'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Bean Index +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__rbmap__list_1a1520b1ef6131bff6c14b88d849c266c5'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'iqWidth'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '342'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +I and Q width in bits +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__rbmap__list_1aba2cd161fa32b47ca78d0a2e4cf605c3'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'comp_meth'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '343'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Compression method +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__cp__rbmap__list_1a0976e33e213bf38d277b829252a1ceaa'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'pad0'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '344'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + cp-fileline = '329'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ +This structure to hold the information of RB allocation from PHY +to send data for allocated RBs only. +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 500; + node-label = 'xran_cp_rbmap_list'; + node-link = { + node-link-id = 'structxran__cp__rbmap__list'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structxran__device__ctx'; + cp-name = 'xran_device_ctx'; + cp-section = { + sec-kind = 'public-func'; + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'structxran__device__ctx_1ab7156a390b58bd5a5eb27161c656f112'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'LIST_HEAD'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +sym_cb_elem_list +_EnD_oF_dEf_TeXt_; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +cb_elem_entry +_EnD_oF_dEf_TeXt_; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + sec-mem-desc-line = '247'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__device__ctx_1a863c2e1054bcd2fb5d3a9edcfac2fd8e'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'sector_id'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + sec-mem-desc-line = '205'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__device__ctx_1a2b7202fa1a2e3c5187799f8be3b5459f'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'xran_port_id'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + sec-mem-desc-line = '206'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1acdd1d3179a2ecc831b45df3ac4ee230c'; + sec-mem-ref-line = '2408'; + sec-mem-ref-name = 'xran_sector_get_instances'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__device__ctx_1a3dbfc411296cd3d20af144236590ed91'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_eaxcid_config +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'eAxc_id_cfg'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + sec-mem-desc-line = '206'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__device__ctx_1a3842cc1a01bcaa4df37fd8c10308ff01'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_fh_init +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'fh_init'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + sec-mem-desc-line = '206'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1a3d4bd5c7eec6da4ab71688e209100761'; + sec-mem-ref-line = '143'; + sec-mem-ref-name = 'process_mbuf'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a5b8958fc5688ba856cba84038ee4b938'; + sec-mem-ref-line = '711'; + sec-mem-ref-name = 'xran_timer_arm'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a300b87c29358bb161404c0122a9b2a46'; + sec-mem-ref-line = '1461'; + sec-mem-ref-name = 'xran_process_srs_sym'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1ac5201df2d161091f7319ff2f57432823'; + sec-mem-ref-line = '1536'; + sec-mem-ref-name = 'xran_pkt_validate'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__device__ctx_1a4adf91126704ea524f98f461f6180c85'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_fh_config +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'fh_cfg'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + sec-mem-desc-line = '206'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '92'; + sec-mem-ref-name = 'PrachCheck::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1a3d4bd5c7eec6da4ab71688e209100761'; + sec-mem-ref-line = '143'; + sec-mem-ref-name = 'process_mbuf'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1ab8a6ed3cee8fa183142d0c23d0b4971d'; + sec-mem-ref-line = '595'; + sec-mem-ref-name = 'generate_cpmsg_prach'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a7192955290ca84553d071cedc5ee89cb'; + sec-mem-ref-line = '243'; + sec-mem-ref-name = 'xran_is_prach_slot'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a14cfa955b7fdf58378a97b4cfa7268f8'; + sec-mem-ref-line = '1384'; + sec-mem-ref-name = 'xran_process_prach_sym'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a300b87c29358bb161404c0122a9b2a46'; + sec-mem-ref-line = '1461'; + sec-mem-ref-name = 'xran_process_srs_sym'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1acb6ecf7858c99c963182b9b7884deca6'; + sec-mem-ref-line = '1578'; + sec-mem-ref-name = 'xran_process_rx_sym'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a03f408f45e97aa68ca47c92e4e7d1a70'; + sec-mem-ref-line = '2756'; + sec-mem-ref-name = 'xran_open'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__device__ctx_1ac1db3db55038ef0b2f69827746eaf87c'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_prach_cp_config +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'PrachCPConfig'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + sec-mem-desc-line = '206'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '92'; + sec-mem-ref-name = 'PrachCheck::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__performance_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '91'; + sec-mem-ref-name = 'PrachPerf::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1a3d4bd5c7eec6da4ab71688e209100761'; + sec-mem-ref-line = '143'; + sec-mem-ref-name = 'process_mbuf'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1ab8a6ed3cee8fa183142d0c23d0b4971d'; + sec-mem-ref-line = '595'; + sec-mem-ref-name = 'generate_cpmsg_prach'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a7192955290ca84553d071cedc5ee89cb'; + sec-mem-ref-line = '243'; + sec-mem-ref-name = 'xran_is_prach_slot'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a00025c5bad7b7b6eea4374226f8c54bb'; + sec-mem-ref-line = '308'; + sec-mem-ref-name = 'xran_init_prach'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1ab26e37a9d8915b33e29d632af88ff3a3'; + sec-mem-ref-line = '1045'; + sec-mem-ref-name = 'tx_cp_ul_cb'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a072be4e030e23440817b205256d2df29'; + sec-mem-ref-line = '1715'; + sec-mem-ref-name = 'xran_process_tx_sym_cp_off'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1ad2506f0edcccb4fbdc5b41b03270a1af'; + sec-mem-ref-line = '2000'; + sec-mem-ref-name = 'xran_process_tx_sym_cp_on'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__device__ctx_1ac6a2e22859da6e8385450b7b9303c709'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'enablePrach'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + sec-mem-desc-line = '212'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__device__ctx_1a1acdb894b98fd0ddf9e5542b50acfc50'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'enableCP'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + sec-mem-desc-line = '213'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'init__sys__functional_8cc_1a9796d6da0db5312f3ddffc3c43038daf'; + sec-mem-ref-line = '112'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a165ca95dea40ce1abcc161f39087d38d'; + sec-mem-ref-line = '1024'; + sec-mem-ref-name = 'xranLibWraper::apply_cpenable'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__device__ctx_1a6fcbf469691a192f1ce298f70981c17a'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'DynamicSectionEna'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + sec-mem-desc-line = '215'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__device__ctx_1aee9d04742a7da3cfa9e267fe568b9185'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int64_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'offset_sec'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + sec-mem-desc-line = '216'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__timer_8c_1af01e1311b604e50d00b7ecce78d2ce22'; + sec-mem-ref-line = '116'; + sec-mem-ref-name = 'timing_adjust_gps_second'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__device__ctx_1ac885b03154fc1d5e7c10f09d92dd8a47'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int64_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'offset_nsec'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + sec-mem-desc-line = '217'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__timer_8c_1af01e1311b604e50d00b7ecce78d2ce22'; + sec-mem-ref-line = '116'; + sec-mem-ref-name = 'timing_adjust_gps_second'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__device__ctx_1a66006900f44c762b5df67ded52ee8edb'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'enableSrs'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + sec-mem-desc-line = '219'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__device__ctx_1a0dc2f992bcfe4f620d6ce2e969986d5c'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_srs_config +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'srs_cfg'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + sec-mem-desc-line = '219'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1a3d4bd5c7eec6da4ab71688e209100761'; + sec-mem-ref-line = '143'; + sec-mem-ref-name = 'process_mbuf'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1acb5dd6ae5569cb3090d441c800068244'; + sec-mem-ref-line = '294'; + sec-mem-ref-name = 'xran_init_srs'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a072be4e030e23440817b205256d2df29'; + sec-mem-ref-line = '1715'; + sec-mem-ref-name = 'xran_process_tx_sym_cp_off'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1ad2506f0edcccb4fbdc5b41b03270a1af'; + sec-mem-ref-line = '2000'; + sec-mem-ref-name = 'xran_process_tx_sym_cp_on'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__device__ctx_1aeb7832eb5f4721f4a281feaacd1bb466'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +BbuIoBufCtrlStruct +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'sFrontHaulTxBbuIoBufCtrl'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + sec-mem-desc-line = '222'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +configuration of SRS +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1ac94e2474beef3b68521cfd391211b1be'; + sec-mem-ref-line = '2551'; + sec-mem-ref-name = 'xran_5g_fronthault_config'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__device__ctx_1a964fb75fa6395056fade4167354019f5'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +BbuIoBufCtrlStruct +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'sFrontHaulTxPrbMapBbuIoBufCtrl'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + sec-mem-desc-line = '223'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1ac94e2474beef3b68521cfd391211b1be'; + sec-mem-ref-line = '2551'; + sec-mem-ref-name = 'xran_5g_fronthault_config'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__device__ctx_1af3ad0b6136919aabcdbac46b754aa7ed'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +BbuIoBufCtrlStruct +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'sFrontHaulRxBbuIoBufCtrl'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + sec-mem-desc-line = '224'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1acb6ecf7858c99c963182b9b7884deca6'; + sec-mem-ref-line = '1578'; + sec-mem-ref-name = 'xran_process_rx_sym'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1ac94e2474beef3b68521cfd391211b1be'; + sec-mem-ref-line = '2551'; + sec-mem-ref-name = 'xran_5g_fronthault_config'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__device__ctx_1a3bfdc9ec9f4c738715460ddd03f0833f'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +BbuIoBufCtrlStruct +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'sFrontHaulRxPrbMapBbuIoBufCtrl'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + sec-mem-desc-line = '225'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1acb6ecf7858c99c963182b9b7884deca6'; + sec-mem-ref-line = '1578'; + sec-mem-ref-name = 'xran_process_rx_sym'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1ac94e2474beef3b68521cfd391211b1be'; + sec-mem-ref-line = '2551'; + sec-mem-ref-name = 'xran_5g_fronthault_config'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__device__ctx_1a4bcca72021c589be2adf3647647a1232'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +BbuIoBufCtrlStruct +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'sFHPrachRxBbuIoBufCtrl'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + sec-mem-desc-line = '226'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a14cfa955b7fdf58378a97b4cfa7268f8'; + sec-mem-ref-line = '1384'; + sec-mem-ref-name = 'xran_process_prach_sym'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1ab204e979de14c21d34e9b88c6c700d25'; + sec-mem-ref-line = '2636'; + sec-mem-ref-name = 'xran_5g_prach_req'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__device__ctx_1a8d643c55cfe976d88d44beefc0af0dff'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +BbuIoBufCtrlStruct +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'sFHSrsRxBbuIoBufCtrl'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + sec-mem-desc-line = '227'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a300b87c29358bb161404c0122a9b2a46'; + sec-mem-ref-line = '1461'; + sec-mem-ref-name = 'xran_process_srs_sym'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a2bd01fc3432f80a787d6bf317949dd80'; + sec-mem-ref-line = '2679'; + sec-mem-ref-name = 'xran_5g_srs_req'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__device__ctx_1a9ef97a8be35f99eec4b85d06a3216762'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_flat_buffer +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'sFrontHaulTxBuffers'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + sec-mem-desc-line = '227'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1ac94e2474beef3b68521cfd391211b1be'; + sec-mem-ref-line = '2551'; + sec-mem-ref-name = 'xran_5g_fronthault_config'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__device__ctx_1ad1cf1b34ac94d618897d8767cbfc7c44'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_flat_buffer +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'sFrontHaulTxPrbMapBuffers'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + sec-mem-desc-line = '227'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1ac94e2474beef3b68521cfd391211b1be'; + sec-mem-ref-line = '2551'; + sec-mem-ref-name = 'xran_5g_fronthault_config'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__device__ctx_1a1dfd09a710fa1cf63f61883a284a5f0f'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_flat_buffer +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'sFrontHaulRxBuffers'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + sec-mem-desc-line = '227'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1ac94e2474beef3b68521cfd391211b1be'; + sec-mem-ref-line = '2551'; + sec-mem-ref-name = 'xran_5g_fronthault_config'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__device__ctx_1a0c71464127a5828784d5775051f134d6'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_flat_buffer +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'sFrontHaulRxPrbMapBuffers'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + sec-mem-desc-line = '227'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1ac94e2474beef3b68521cfd391211b1be'; + sec-mem-ref-line = '2551'; + sec-mem-ref-name = 'xran_5g_fronthault_config'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__device__ctx_1a7976d6beded6455154f323e1e542f085'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_flat_buffer +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'sFHPrachRxBuffers'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + sec-mem-desc-line = '227'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1ab204e979de14c21d34e9b88c6c700d25'; + sec-mem-ref-line = '2636'; + sec-mem-ref-name = 'xran_5g_prach_req'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__device__ctx_1a8d0c3597635cdeb50f50f5c43d36e875'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_flat_buffer +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'sFHSrsRxBuffers'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + sec-mem-desc-line = '227'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a2bd01fc3432f80a787d6bf317949dd80'; + sec-mem-ref-line = '2679'; + sec-mem-ref-name = 'xran_5g_srs_req'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__device__ctx_1a023feefd3cb93d648f673ce1a8c79563'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +xran_transport_callback_fn +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'pCallback'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + sec-mem-desc-line = '238'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1ad4544f4d6f4713c010f083bce5758d14'; + sec-mem-ref-line = '963'; + sec-mem-ref-name = 'rx_ul_deadline_half_cb'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a63aa00dad3b771f4db5df8ca8ac68323'; + sec-mem-ref-line = '999'; + sec-mem-ref-name = 'rx_ul_deadline_full_cb'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1ac94e2474beef3b68521cfd391211b1be'; + sec-mem-ref-line = '2551'; + sec-mem-ref-name = 'xran_5g_fronthault_config'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1ab204e979de14c21d34e9b88c6c700d25'; + sec-mem-ref-line = '2636'; + sec-mem-ref-name = 'xran_5g_prach_req'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a2bd01fc3432f80a787d6bf317949dd80'; + sec-mem-ref-line = '2679'; + sec-mem-ref-name = 'xran_5g_srs_req'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__device__ctx_1a4bb009dc28deffeccf1559528dbc5bee'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'pCallbackTag'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + sec-mem-desc-line = '239'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1ad4544f4d6f4713c010f083bce5758d14'; + sec-mem-ref-line = '963'; + sec-mem-ref-name = 'rx_ul_deadline_half_cb'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a63aa00dad3b771f4db5df8ca8ac68323'; + sec-mem-ref-line = '999'; + sec-mem-ref-name = 'rx_ul_deadline_full_cb'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1ac94e2474beef3b68521cfd391211b1be'; + sec-mem-ref-line = '2551'; + sec-mem-ref-name = 'xran_5g_fronthault_config'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1ab204e979de14c21d34e9b88c6c700d25'; + sec-mem-ref-line = '2636'; + sec-mem-ref-name = 'xran_5g_prach_req'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a2bd01fc3432f80a787d6bf317949dd80'; + sec-mem-ref-line = '2679'; + sec-mem-ref-name = 'xran_5g_srs_req'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__device__ctx_1a5f7077fcb0eef30eca298a156e25ec0c'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +xran_transport_callback_fn +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'pPrachCallback'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + sec-mem-desc-line = '241'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a63aa00dad3b771f4db5df8ca8ac68323'; + sec-mem-ref-line = '999'; + sec-mem-ref-name = 'rx_ul_deadline_full_cb'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1ab204e979de14c21d34e9b88c6c700d25'; + sec-mem-ref-line = '2636'; + sec-mem-ref-name = 'xran_5g_prach_req'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__device__ctx_1a31909ed26aa2152e78db6fc72237b5d1'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'pPrachCallbackTag'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + sec-mem-desc-line = '242'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a63aa00dad3b771f4db5df8ca8ac68323'; + sec-mem-ref-line = '999'; + sec-mem-ref-name = 'rx_ul_deadline_full_cb'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1ab204e979de14c21d34e9b88c6c700d25'; + sec-mem-ref-line = '2636'; + sec-mem-ref-name = 'xran_5g_prach_req'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__device__ctx_1a09221a6b8c8f4910a8d0ab9f14aa8d9b'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +xran_transport_callback_fn +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'pSrsCallback'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + sec-mem-desc-line = '244'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a2bd01fc3432f80a787d6bf317949dd80'; + sec-mem-ref-line = '2679'; + sec-mem-ref-name = 'xran_5g_srs_req'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__device__ctx_1aa1ab602d8bd88daec92581433fee0ff3'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'pSrsCallbackTag'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + sec-mem-desc-line = '245'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a2bd01fc3432f80a787d6bf317949dd80'; + sec-mem-ref-line = '2679'; + sec-mem-ref-name = 'xran_5g_srs_req'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__device__ctx_1ae3f1b1cbdaabdcfb693b93d75d4a9972'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'sym_up'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + sec-mem-desc-line = '249'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +when we start sym 0 of up with respect to OTA time as measured in symbols +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1ae4973aab78785b0738c729b26a1474e2'; + sec-mem-ref-line = '1165'; + sec-mem-ref-name = 'xran_timing_source_thread'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a5b3b3bf6af57ee77a2bb1701ad24c7db'; + sec-mem-ref-line = '2202'; + sec-mem-ref-name = 'xran_process_tx_sym'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__device__ctx_1a7986392c9b5ba31ca86b38401d940baa'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'sym_up_ul'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + sec-mem-desc-line = '250'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1ae4973aab78785b0738c729b26a1474e2'; + sec-mem-ref-line = '1165'; + sec-mem-ref-name = 'xran_timing_source_thread'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__device__ctx_1a88a1e1ec152b7daa669176e91660aead'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +xran_fh_tti_callback_fn +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'ttiCb'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + sec-mem-desc-line = '252'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'init__sys__functional_8cc_1a74a4819defc7dbd1cfa7e793456be743'; + sec-mem-ref-line = '244'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a57bc216aff0d372305a6d13a072c605b'; + sec-mem-ref-line = '2900'; + sec-mem-ref-name = 'xran_reg_physide_cb'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__device__ctx_1ab85e177210025d9e720d2696965c5af4'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'TtiCbParam'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + sec-mem-desc-line = '253'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'init__sys__functional_8cc_1a74a4819defc7dbd1cfa7e793456be743'; + sec-mem-ref-line = '244'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a57bc216aff0d372305a6d13a072c605b'; + sec-mem-ref-line = '2900'; + sec-mem-ref-name = 'xran_reg_physide_cb'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__device__ctx_1abd4614a35f8f2cba7d7a671c9e545573'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'SkipTti'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + sec-mem-desc-line = '254'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'init__sys__functional_8cc_1a74a4819defc7dbd1cfa7e793456be743'; + sec-mem-ref-line = '244'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a57bc216aff0d372305a6d13a072c605b'; + sec-mem-ref-line = '2900'; + sec-mem-ref-name = 'xran_reg_physide_cb'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__device__ctx_1a0ac55d6b8988083425a147f343c34455'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'xran2phy_mem_ready'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + sec-mem-desc-line = '256'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'init__sys__functional_8cc_1a9796d6da0db5312f3ddffc3c43038daf'; + sec-mem-ref-line = '112'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1a3d4bd5c7eec6da4ab71688e209100761'; + sec-mem-ref-line = '143'; + sec-mem-ref-name = 'process_mbuf'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1ad4544f4d6f4713c010f083bce5758d14'; + sec-mem-ref-line = '963'; + sec-mem-ref-name = 'rx_ul_deadline_half_cb'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a63aa00dad3b771f4db5df8ca8ac68323'; + sec-mem-ref-line = '999'; + sec-mem-ref-name = 'rx_ul_deadline_full_cb'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a14cfa955b7fdf58378a97b4cfa7268f8'; + sec-mem-ref-line = '1384'; + sec-mem-ref-name = 'xran_process_prach_sym'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a300b87c29358bb161404c0122a9b2a46'; + sec-mem-ref-line = '1461'; + sec-mem-ref-name = 'xran_process_srs_sym'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a5b3b3bf6af57ee77a2bb1701ad24c7db'; + sec-mem-ref-line = '2202'; + sec-mem-ref-name = 'xran_process_tx_sym'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1ac94e2474beef3b68521cfd391211b1be'; + sec-mem-ref-line = '2551'; + sec-mem-ref-name = 'xran_5g_fronthault_config'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__device__ctx_1a016b606244b631c62b0bad792717a27c'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'rx_packet_symb_tracker'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + sec-mem-desc-line = '258'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__device__ctx_1a62f6979f35115d4c857e734d875be5df'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'rx_packet_prach_tracker'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + sec-mem-desc-line = '259'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__device__ctx_1ae3228d07f4ce31d4707fd5934fb8ec03'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'rx_packet_callback_tracker'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + sec-mem-desc-line = '260'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1ad4544f4d6f4713c010f083bce5758d14'; + sec-mem-ref-line = '963'; + sec-mem-ref-name = 'rx_ul_deadline_half_cb'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__device__ctx_1a828091ca5ff40ad8918ace1376d25c05'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'rx_packet_prach_callback_tracker'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + sec-mem-desc-line = '261'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__device__ctx_1a26e6c6447dffca5e7ece503e8c0e890c'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'prach_start_symbol'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + sec-mem-desc-line = '262'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a62307393b7f454a2b348ada67997b796'; + sec-mem-ref-line = '177'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a00025c5bad7b7b6eea4374226f8c54bb'; + sec-mem-ref-line = '308'; + sec-mem-ref-name = 'xran_init_prach'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a14cfa955b7fdf58378a97b4cfa7268f8'; + sec-mem-ref-line = '1384'; + sec-mem-ref-name = 'xran_process_prach_sym'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__device__ctx_1a53af49f65e0dafdafcde73d693961a78'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'prach_last_symbol'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + sec-mem-desc-line = '263'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a62307393b7f454a2b348ada67997b796'; + sec-mem-ref-line = '177'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1ab8a6ed3cee8fa183142d0c23d0b4971d'; + sec-mem-ref-line = '595'; + sec-mem-ref-name = 'generate_cpmsg_prach'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a00025c5bad7b7b6eea4374226f8c54bb'; + sec-mem-ref-line = '308'; + sec-mem-ref-name = 'xran_init_prach'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__device__ctx_1a01cfa0ddd894bb94d785f755bfdd8b9e'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'phy_tti_cb_done'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + sec-mem-desc-line = '265'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a195da46c3cb90e36da543594416cbba7'; + sec-mem-ref-line = '582'; + sec-mem-ref-name = 'sym_ota_cb'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a6bec02784f5898c72bdbe64469186a45'; + sec-mem-ref-line = '1136'; + sec-mem-ref-name = 'tti_to_phy_cb'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__device__ctx_1a824b36e330221e10743e6a09ebabbe89'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mempool * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'direct_pool'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + sec-mem-desc-line = '267'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__device__ctx_1a6708e76366bccd72d10a3161e485e0f4'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mempool * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'indirect_pool'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + sec-mem-desc-line = '268'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__device__ctx_1a346d8b87e236cbb3056a5fb54fa44638'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct mbuf_table +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'tx_mbufs'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + sec-mem-desc-line = '268'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__device__ctx_1ad2bc382255cb424431bb7515a796e5bf'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_common_counters +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'fh_counters'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + sec-mem-desc-line = '268'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1ac5201df2d161091f7319ff2f57432823'; + sec-mem-ref-line = '1536'; + sec-mem-ref-name = 'xran_pkt_validate'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1ac153c5a3e3f4f64ab0fafca6f593c380'; + sec-mem-ref-line = '3074'; + sec-mem-ref-name = 'xran_get_common_counters'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__device__ctx_1a82f0cc2ac9daada1e8330e3a91ec296b'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +phy_encoder_poll_fn +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'bbdev_enc'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + sec-mem-desc-line = '273'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +call back to poll BBDev encoder +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__device__ctx_1a264d30877c919a7f5a20e2b9b35c8aeb'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +phy_decoder_poll_fn +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'bbdev_dec'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + sec-mem-desc-line = '274'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +call back to poll BBDev decoder +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__device__ctx_1ad4eb63363a7e445e90ea75b8e99efaad'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +xran_ethdi_mbuf_send_fn +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'send_cpmbuf2ring'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + sec-mem-desc-line = '276'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +callback to send mbufs of C-Plane packets to the ring +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1a484fa852a2e973600abba0efb1fbefb9'; + sec-mem-ref-line = '510'; + sec-mem-ref-name = 'send_cpmsg'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1ad1ada9c5c57979c50f1a17a9050b8f3a'; + sec-mem-ref-line = '2918'; + sec-mem-ref-name = 'xran_register_cb_mbuf2ring'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__device__ctx_1a77daaa6043406a5924fd69b2dd42571e'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +xran_ethdi_mbuf_send_fn +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'send_upmbuf2ring'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + sec-mem-desc-line = '277'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +callback to send mbufs of U-Plane packets to the ring +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1ab67b9cc6e54d8ba3945b265b47af743c'; + sec-mem-ref-line = '436'; + sec-mem-ref-name = 'send_symbol_ex'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1ad1ada9c5c57979c50f1a17a9050b8f3a'; + sec-mem-ref-line = '2918'; + sec-mem-ref-name = 'xran_register_cb_mbuf2ring'; + }; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + cp-fileline = '204'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 507; + node-label = 'xran_prach_cp_config'; + node-link = { + node-link-id = 'structxran__prach__cp__config'; + }; + }; /* node */ + node = { + node-id = 503; + node-label = 'BbuIoBufCtrlStruct'; + node-link = { + node-link-id = 'struct_bbu_io_buf_ctrl_struct'; + }; + node-child = { + child-id = '504'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++sBufferList +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + node = { + node-id = 510; + node-label = 'xran_fh_init'; + node-link = { + node-link-id = 'structxran__fh__init'; + }; + node-child = { + child-id = '506'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++eAxCId_conf +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '511'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++io_cfg +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + node = { + node-id = 502; + node-label = 'xran_device_ctx'; + node-link = { + node-link-id = 'structxran__device__ctx'; + }; + node-child = { + child-id = '503'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++sFrontHaulTxBbuIoBufCtrl ++sFHPrachRxBbuIoBufCtrl ++sFHSrsRxBbuIoBufCtrl ++sFrontHaulRxBbuIoBufCtrl ++sFrontHaulTxPrbMapBbuIoBufCtrl ++sFrontHaulRxPrbMapBbuIoBufCtrl +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '506'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++eAxc_id_cfg +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '507'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++PrachCPConfig +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '508'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++fh_counters +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '505'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++sFHPrachRxBuffers ++sFrontHaulTxPrbMapBuffers ++sFrontHaulRxPrbMapBuffers ++sFHSrsRxBuffers ++sFrontHaulTxBuffers ++sFrontHaulRxBuffers +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '509'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++tx_mbufs +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '510'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++fh_init +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '512'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++srs_cfg +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '513'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++fh_cfg +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + node = { + node-id = 505; + node-label = 'xran_flat_buffer'; + node-link = { + node-link-id = 'structxran__flat__buffer'; + }; + }; /* node */ + node = { + node-id = 515; + node-label = 'xran_frame_config'; + node-link = { + node-link-id = 'structxran__frame__config'; + }; + node-child = { + child-id = '516'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++sSlotConfig +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + node = { + node-id = 504; + node-label = 'xran_buffer_list'; + node-link = { + node-link-id = 'structxran__buffer__list'; + }; + node-child = { + child-id = '505'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++pBuffers +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + node = { + node-id = 506; + node-label = 'xran_eaxcid_config'; + node-link = { + node-link-id = 'structxran__eaxcid__config'; + }; + }; /* node */ + node = { + node-id = 509; + node-label = 'mbuf_table'; + node-link = { + node-link-id = 'structmbuf__table'; + }; + }; /* node */ + node = { + node-id = 511; + node-label = 'xran_io_cfg'; + node-link = { + node-link-id = 'structxran__io__cfg'; + }; + }; /* node */ + node = { + node-id = 517; + node-label = 'xran_ru_config'; + node-link = { + node-link-id = 'structxran__ru__config'; + }; + }; /* node */ + node = { + node-id = 508; + node-label = 'xran_common_counters'; + node-link = { + node-link-id = 'structxran__common__counters'; + }; + }; /* node */ + node = { + node-id = 512; + node-label = 'xran_srs_config'; + node-link = { + node-link-id = 'structxran__srs__config'; + }; + }; /* node */ + node = { + node-id = 513; + node-label = 'xran_fh_config'; + node-link = { + node-link-id = 'structxran__fh__config'; + }; + node-child = { + child-id = '514'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++prach_conf +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '515'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++frame_conf +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '517'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++ru_conf +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '512'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++srs_conf +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + node = { + node-id = 514; + node-label = 'xran_prach_config'; + node-link = { + node-link-id = 'structxran__prach__config'; + }; + }; /* node */ + node = { + node-id = 516; + node-label = 'xran_slot_config'; + node-link = { + node-link-id = 'structxran__slot__config'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structxran__eaxc__info'; + cp-name = 'xran_eaxc_info'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__eaxc__info_1a6c426a9de5864167cd297299f82535ca'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'cuPortId'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_transport.h'; + sec-mem-desc-line = '41'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a38c83cd67a7265920f3bd0b36510f713'; + sec-mem-ref-line = '1749'; + sec-mem-ref-name = 'xran_parse_cp_pkt'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__transport_8c_1ab08a85b6527f45a9ba22d25061a96a3c'; + sec-mem-ref-line = '89'; + sec-mem-ref-name = 'xran_decompose_cid'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__eaxc__info_1a7d93f32b8b4f771bd3ccf0b917cbec8b'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'bandSectorId'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_transport.h'; + sec-mem-desc-line = '42'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a38c83cd67a7265920f3bd0b36510f713'; + sec-mem-ref-line = '1749'; + sec-mem-ref-name = 'xran_parse_cp_pkt'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__transport_8c_1ab08a85b6527f45a9ba22d25061a96a3c'; + sec-mem-ref-line = '89'; + sec-mem-ref-name = 'xran_decompose_cid'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__eaxc__info_1a9264d54f92ac22a760270816417a692b'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'ccId'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_transport.h'; + sec-mem-desc-line = '43'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a38c83cd67a7265920f3bd0b36510f713'; + sec-mem-ref-line = '1749'; + sec-mem-ref-name = 'xran_parse_cp_pkt'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__transport_8c_1ab08a85b6527f45a9ba22d25061a96a3c'; + sec-mem-ref-line = '89'; + sec-mem-ref-name = 'xran_decompose_cid'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__up__api_8c_1adfc5ea408600c8de1384be020b359d95'; + sec-mem-ref-line = '327'; + sec-mem-ref-name = 'xran_extract_iq_samples'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__eaxc__info_1afb85286a39539b98fa09e33ccfa6226b'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'ruPortId'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_transport.h'; + sec-mem-desc-line = '44'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a38c83cd67a7265920f3bd0b36510f713'; + sec-mem-ref-line = '1749'; + sec-mem-ref-name = 'xran_parse_cp_pkt'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__transport_8c_1ab08a85b6527f45a9ba22d25061a96a3c'; + sec-mem-ref-line = '89'; + sec-mem-ref-name = 'xran_decompose_cid'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__up__api_8c_1adfc5ea408600c8de1384be020b359d95'; + sec-mem-ref-line = '327'; + sec-mem-ref-name = 'xran_extract_iq_samples'; + }; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_transport.h'; + cp-fileline = '40'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 519; + node-label = 'xran_eaxc_info'; + node-link = { + node-link-id = 'structxran__eaxc__info'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structxran__eaxcid__config'; + cp-name = 'xran_eaxcid_config'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__eaxcid__config_1a3357253b181bed8132156f87728efc8d'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'mask_cuPortId'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '309'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Mask CU PortId +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a2e64fc338fcfaac25af91aae564777fa'; + sec-mem-ref-line = '467'; + sec-mem-ref-name = 'xranLibWraper::xranLibWraper'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a126b53d8cc57521b34496dbe3a26621f'; + sec-mem-ref-line = '678'; + sec-mem-ref-name = 'xranLibWraper::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__transport_8c_1ae834080139ba785f1a3ac5781bf2ec88'; + sec-mem-ref-line = '65'; + sec-mem-ref-name = 'xran_compose_cid'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__transport_8c_1ab08a85b6527f45a9ba22d25061a96a3c'; + sec-mem-ref-line = '89'; + sec-mem-ref-name = 'xran_decompose_cid'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__eaxcid__config_1affca087d8bc179073b5ae2f429340898'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'mask_bandSectorId'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '310'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Mask Band +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a2e64fc338fcfaac25af91aae564777fa'; + sec-mem-ref-line = '467'; + sec-mem-ref-name = 'xranLibWraper::xranLibWraper'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a126b53d8cc57521b34496dbe3a26621f'; + sec-mem-ref-line = '678'; + sec-mem-ref-name = 'xranLibWraper::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__transport_8c_1ae834080139ba785f1a3ac5781bf2ec88'; + sec-mem-ref-line = '65'; + sec-mem-ref-name = 'xran_compose_cid'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__transport_8c_1ab08a85b6527f45a9ba22d25061a96a3c'; + sec-mem-ref-line = '89'; + sec-mem-ref-name = 'xran_decompose_cid'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__eaxcid__config_1a0ba87d865af2deb1ee2565f528e1e72d'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'mask_ccId'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '311'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Mask CC +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a2e64fc338fcfaac25af91aae564777fa'; + sec-mem-ref-line = '467'; + sec-mem-ref-name = 'xranLibWraper::xranLibWraper'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a126b53d8cc57521b34496dbe3a26621f'; + sec-mem-ref-line = '678'; + sec-mem-ref-name = 'xranLibWraper::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__transport_8c_1ae834080139ba785f1a3ac5781bf2ec88'; + sec-mem-ref-line = '65'; + sec-mem-ref-name = 'xran_compose_cid'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__transport_8c_1ab08a85b6527f45a9ba22d25061a96a3c'; + sec-mem-ref-line = '89'; + sec-mem-ref-name = 'xran_decompose_cid'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__eaxcid__config_1a64cc7d4da64fe531f01c6bb54e6a02f3'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'mask_ruPortId'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '312'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Mask RU Port ID +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a2e64fc338fcfaac25af91aae564777fa'; + sec-mem-ref-line = '467'; + sec-mem-ref-name = 'xranLibWraper::xranLibWraper'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a126b53d8cc57521b34496dbe3a26621f'; + sec-mem-ref-line = '678'; + sec-mem-ref-name = 'xranLibWraper::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__transport_8c_1ae834080139ba785f1a3ac5781bf2ec88'; + sec-mem-ref-line = '65'; + sec-mem-ref-name = 'xran_compose_cid'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__transport_8c_1ab08a85b6527f45a9ba22d25061a96a3c'; + sec-mem-ref-line = '89'; + sec-mem-ref-name = 'xran_decompose_cid'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__eaxcid__config_1a8812802228fbd32d92c2c8f29963628b'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'bit_cuPortId'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '314'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +bandsectorId + ccId + ruportId +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a2e64fc338fcfaac25af91aae564777fa'; + sec-mem-ref-line = '467'; + sec-mem-ref-name = 'xranLibWraper::xranLibWraper'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a126b53d8cc57521b34496dbe3a26621f'; + sec-mem-ref-line = '678'; + sec-mem-ref-name = 'xranLibWraper::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__transport_8c_1ae834080139ba785f1a3ac5781bf2ec88'; + sec-mem-ref-line = '65'; + sec-mem-ref-name = 'xran_compose_cid'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__transport_8c_1ab08a85b6527f45a9ba22d25061a96a3c'; + sec-mem-ref-line = '89'; + sec-mem-ref-name = 'xran_decompose_cid'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__eaxcid__config_1ab3f5b7b7c113a7fdff4bdf31ff685594'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'bit_bandSectorId'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '315'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +ccId + ruPortId +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a2e64fc338fcfaac25af91aae564777fa'; + sec-mem-ref-line = '467'; + sec-mem-ref-name = 'xranLibWraper::xranLibWraper'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a126b53d8cc57521b34496dbe3a26621f'; + sec-mem-ref-line = '678'; + sec-mem-ref-name = 'xranLibWraper::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__transport_8c_1ae834080139ba785f1a3ac5781bf2ec88'; + sec-mem-ref-line = '65'; + sec-mem-ref-name = 'xran_compose_cid'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__transport_8c_1ab08a85b6527f45a9ba22d25061a96a3c'; + sec-mem-ref-line = '89'; + sec-mem-ref-name = 'xran_decompose_cid'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__eaxcid__config_1a292acf2be52d7b22753f8f3a9839f455'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'bit_ccId'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '316'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +ruportId +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a2e64fc338fcfaac25af91aae564777fa'; + sec-mem-ref-line = '467'; + sec-mem-ref-name = 'xranLibWraper::xranLibWraper'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a126b53d8cc57521b34496dbe3a26621f'; + sec-mem-ref-line = '678'; + sec-mem-ref-name = 'xranLibWraper::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__transport_8c_1ae834080139ba785f1a3ac5781bf2ec88'; + sec-mem-ref-line = '65'; + sec-mem-ref-name = 'xran_compose_cid'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__transport_8c_1ab08a85b6527f45a9ba22d25061a96a3c'; + sec-mem-ref-line = '89'; + sec-mem-ref-name = 'xran_decompose_cid'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__eaxcid__config_1aa6294a3b04f47cabf866ec1e1ec4bd23'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'bit_ruPortId'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '317'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +0 +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a2e64fc338fcfaac25af91aae564777fa'; + sec-mem-ref-line = '467'; + sec-mem-ref-name = 'xranLibWraper::xranLibWraper'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a126b53d8cc57521b34496dbe3a26621f'; + sec-mem-ref-line = '678'; + sec-mem-ref-name = 'xranLibWraper::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__transport_8c_1ae834080139ba785f1a3ac5781bf2ec88'; + sec-mem-ref-line = '65'; + sec-mem-ref-name = 'xran_compose_cid'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__transport_8c_1ab08a85b6527f45a9ba22d25061a96a3c'; + sec-mem-ref-line = '89'; + sec-mem-ref-name = 'xran_decompose_cid'; + }; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + cp-fileline = '308'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ +XRAN spec section 3.1.3.1.6 ecpriRtcid / ecpriPcid define +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 521; + node-label = 'xran_eaxcid_config'; + node-link = { + node-link-id = 'structxran__eaxcid__config'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structxran__ecpri__cmn__hdr'; + cp-name = 'xran_ecpri_cmn_hdr'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__ecpri__cmn__hdr_1a322d75c9ec1299251f0af915b2a1de75'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'ecpri_concat'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt.h'; + sec-mem-desc-line = '115'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +3.1.3.1.3 eCPRI concatenation indicator +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__transport_8c_1aa21387dfaba47c2046d4a05f50cfc768'; + sec-mem-ref-line = '142'; + sec-mem-ref-name = 'xran_build_ecpri_hdr'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__ecpri__cmn__hdr_1a5dc01ebf378adefbe507b257d8e6c6d8'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'ecpri_resv'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt.h'; + sec-mem-desc-line = '116'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +3.1.3.1.2 eCPRI reserved +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__transport_8c_1aa21387dfaba47c2046d4a05f50cfc768'; + sec-mem-ref-line = '142'; + sec-mem-ref-name = 'xran_build_ecpri_hdr'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__ecpri__cmn__hdr_1ae951511bfaa494bee98d7fc69c0966f0'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'ecpri_ver'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt.h'; + sec-mem-desc-line = '117'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +3.1.3.1.1 eCPRI protocol revision, defined in XRAN_ECPRI_VER +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__transport_8c_1aa21387dfaba47c2046d4a05f50cfc768'; + sec-mem-ref-line = '142'; + sec-mem-ref-name = 'xran_build_ecpri_hdr'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__ecpri__cmn__hdr_1a5b41115e5686e3ff4f14c356a3aa209a'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'ecpri_mesg_type'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt.h'; + sec-mem-desc-line = '118'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +3.1.3.1.4 eCPRI message type, defined in ecpri_msg_type +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'u__plane__functional_8cc_1a17e5d82ac5aec3860b1324a80fda79ed'; + sec-mem-ref-line = '61'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a7a412a9cd0ac919dccb2112fb386d64a'; + sec-mem-ref-line = '1342'; + sec-mem-ref-name = 'handle_ecpri_ethertype'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__transport_8c_1aa21387dfaba47c2046d4a05f50cfc768'; + sec-mem-ref-line = '142'; + sec-mem-ref-name = 'xran_build_ecpri_hdr'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__ecpri__cmn__hdr_1a61bf830b8866773b24cbca74ed3a4d6f'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'ecpri_payl_size'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt.h'; + sec-mem-desc-line = '119'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +3.1.3.1.5 eCPRI payload size, without common header and any padding bytes +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'u__plane__functional_8cc_1a17e5d82ac5aec3860b1324a80fda79ed'; + sec-mem-ref-line = '61'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1af9eb550e92ea270af41b4b6bcda363db'; + sec-mem-ref-line = '1381'; + sec-mem-ref-name = 'xran_prepare_ctrl_pkt'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__transport_8c_1a7070bae58b40a4621354bda1677261af'; + sec-mem-ref-line = '113'; + sec-mem-ref-name = 'xran_update_ecpri_payload_size'; + }; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt.h'; + cp-fileline = '114'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ +@description + Structure holds common eCPRI header as per + Table 3 1 : eCPRI Transport Header Field Definitions +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 523; + node-label = 'xran_ecpri_cmn_hdr'; + node-link = { + node-link-id = 'structxran__ecpri__cmn__hdr'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structxran__ecpri__hdr'; + cp-name = 'xran_ecpri_hdr'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__ecpri__hdr_1aa90ff3ad961fe295cdffddc945999212'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_ecpri_cmn_hdr +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'cmnhdr'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt.h'; + sec-mem-desc-line = '119'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'u__plane__functional_8cc_1a17e5d82ac5aec3860b1324a80fda79ed'; + sec-mem-ref-line = '61'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1af9eb550e92ea270af41b4b6bcda363db'; + sec-mem-ref-line = '1381'; + sec-mem-ref-name = 'xran_prepare_ctrl_pkt'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a7a412a9cd0ac919dccb2112fb386d64a'; + sec-mem-ref-line = '1342'; + sec-mem-ref-name = 'handle_ecpri_ethertype'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__transport_8c_1a7070bae58b40a4621354bda1677261af'; + sec-mem-ref-line = '113'; + sec-mem-ref-name = 'xran_update_ecpri_payload_size'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__transport_8c_1aa21387dfaba47c2046d4a05f50cfc768'; + sec-mem-ref-line = '142'; + sec-mem-ref-name = 'xran_build_ecpri_hdr'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__ecpri__hdr_1abe6f9630ee7939118e68d24d90434e0c'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +rte_be16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'ecpri_xtc_id'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt.h'; + sec-mem-desc-line = '133'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +3.1.3.1.6 real time control data / IQ data transfer message series identifier +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__transport_8c_1aa21387dfaba47c2046d4a05f50cfc768'; + sec-mem-ref-line = '142'; + sec-mem-ref-name = 'xran_build_ecpri_hdr'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__up__api_8c_1adfc5ea408600c8de1384be020b359d95'; + sec-mem-ref-line = '327'; + sec-mem-ref-name = 'xran_extract_iq_samples'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__ecpri__hdr_1aa5d2447d17b81766e3843a60296446e3'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct ecpri_seq_id +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'ecpri_seq_id'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt.h'; + sec-mem-desc-line = '133'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +3.1.3.1.7 message identifier +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__transport_8c_1aa21387dfaba47c2046d4a05f50cfc768'; + sec-mem-ref-line = '142'; + sec-mem-ref-name = 'xran_build_ecpri_hdr'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__up__api_8c_1adfc5ea408600c8de1384be020b359d95'; + sec-mem-ref-line = '327'; + sec-mem-ref-name = 'xran_extract_iq_samples'; + }; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt.h'; + cp-fileline = '131'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ +@description + Structure holds eCPRI transport header as per + Table 3 1 : eCPRI Transport Header Field Definitions +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 527; + node-label = 'xran_ecpri_cmn_hdr'; + node-link = { + node-link-id = 'structxran__ecpri__cmn__hdr'; + }; + }; /* node */ + node = { + node-id = 526; + node-label = 'ecpri_seq_id'; + node-link = { + node-link-id = 'structecpri__seq__id'; + }; + }; /* node */ + node = { + node-id = 525; + node-label = 'xran_ecpri_hdr'; + node-link = { + node-link-id = 'structxran__ecpri__hdr'; + }; + node-child = { + child-id = '526'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++ecpri_seq_id +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '527'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++cmnhdr +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structxran__ethdi__ctx'; + cp-name = 'xran_ethdi_ctx'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__ethdi__ctx_1a84a901e82e979ec87118ff865b311a1f'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_io_loop_cfg +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'io_cfg'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethdi.h'; + sec-mem-desc-line = '92'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__ethdi__ctx_1a9aae028a7de6cf24800730ee0ead940a'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct ether_addr +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'entities'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethdi.h'; + sec-mem-desc-line = '92'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__ethdi__ctx_1a5a97f72041614c818fa41ba34f0d776d'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'ping_state'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethdi.h'; + sec-mem-desc-line = '115'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__ethdi__ctx_1af01104d20d9d5120bd7c5b39c7084643'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'ping_times'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethdi.h'; + sec-mem-desc-line = '116'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__ethdi__ctx_1a01a95c1b6bb9bcb0390508a3045ad0ed'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'known_peers'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethdi.h'; + sec-mem-desc-line = '117'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__ethdi__ctx_1af78a2835ea5575b2e63963898d89b34f'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct rte_ring * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'tx_ring'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethdi.h'; + sec-mem-desc-line = '119'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__ethdi__ctx_1a252aa4a41dea61041edb525c4190651b'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct rte_ring * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'rx_ring'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethdi.h'; + sec-mem-desc-line = '120'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__ethdi__ctx_1ae69618bbe52d90014001faa69198051c'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct rte_ring * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'pkt_dump_ring'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethdi.h'; + sec-mem-desc-line = '121'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__ethdi__ctx_1a371cecbf2b9db724d36a5c8da75c5463'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct rte_timer +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'timer_autodetect'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethdi.h'; + sec-mem-desc-line = '121'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__ethdi__ctx_1ae6b738dc6d77d4734678c55c56efdd9d'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct rte_timer +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'timer_ping'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethdi.h'; + sec-mem-desc-line = '121'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__ethdi__ctx_1aa7306ce280013295a40e89e29bb536a6'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct rte_timer +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'timer_sync'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethdi.h'; + sec-mem-desc-line = '121'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__ethdi__ctx_1a46bbd0014fd7d61fb5a9cad69eb2f6b0'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct rte_timer +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'timer_tx'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethdi.h'; + sec-mem-desc-line = '121'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__ethdi__ctx_1a73b587527ef3ade588b6ba7db09b6b87'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint64_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'busy_poll_till'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethdi.h'; + sec-mem-desc-line = '127'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__ethdi__ctx_1a16aa42188d112d73d8d32b0f766d8d2c'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +unsigned +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'pkt_stats'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethdi.h'; + sec-mem-desc-line = '129'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__ethdi__ctx_1a5233222c0adb365a4dbdc52a54abf845'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'cp_vtag'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethdi.h'; + sec-mem-desc-line = '131'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__ethdi__ctx_1a798a71d6d7f0176bb1fcb276811e5271'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'up_vtag'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethdi.h'; + sec-mem-desc-line = '132'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethdi.h'; + cp-fileline = '112'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 530; + node-label = 'xran_io_loop_cfg'; + node-link = { + node-link-id = 'structxran__io__loop__cfg'; + }; + }; /* node */ + node = { + node-id = 529; + node-label = 'xran_ethdi_ctx'; + node-link = { + node-link-id = 'structxran__ethdi__ctx'; + }; + node-child = { + child-id = '530'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++io_cfg +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structxran__fh__config'; + cp-name = 'xran_fh_config'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__fh__config_1acd95c2211d7c4274883572ee1ac829f4'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'dpdk_port'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '498'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +DPDK port number used for FH +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__fh__config_1ad972d84bc9f4c3d7714a3e398abb2a82'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'sector_id'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '499'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Band sector ID for FH +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__fh__config_1a6dcac3ea0b3d99c20c2e6f7091b8b342'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'nCC'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '500'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +number of Component carriers supported on FH +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'chain__tests_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '135'; + sec-mem-ref-name = 'TestChain::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a2e64fc338fcfaac25af91aae564777fa'; + sec-mem-ref-line = '467'; + sec-mem-ref-name = 'xranLibWraper::xranLibWraper'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1aeeef9211b4ee7d22934db64125b538dd'; + sec-mem-ref-line = '1120'; + sec-mem-ref-name = 'xranLibWraper::get_num_cc'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a03f408f45e97aa68ca47c92e4e7d1a70'; + sec-mem-ref-line = '2756'; + sec-mem-ref-name = 'xran_open'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__fh__config_1abcac68b45b2bcf3b5458817d65b86e45'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'neAxc'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '501'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +number of eAxc supported on one CC +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'chain__tests_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '135'; + sec-mem-ref-name = 'TestChain::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a2e64fc338fcfaac25af91aae564777fa'; + sec-mem-ref-line = '467'; + sec-mem-ref-name = 'xranLibWraper::xranLibWraper'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1aef8068804ca7393d92edd9ed22d90070'; + sec-mem-ref-line = '1121'; + sec-mem-ref-name = 'xranLibWraper::get_num_eaxc'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__fh__config_1a6b9c6f2e0bae93c45674bea4082c8a7a'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'neAxcUl'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '502'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +number of eAxc supported on one CC for UL direction +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__fh__config_1ac63d8c67956a8a08cbfd8efb92a2f055'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'nAntElmTRx'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '503'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Number of antenna elements for TX and RX +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'chain__tests_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '135'; + sec-mem-ref-name = 'TestChain::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a2e64fc338fcfaac25af91aae564777fa'; + sec-mem-ref-line = '467'; + sec-mem-ref-name = 'xranLibWraper::xranLibWraper'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1adde1d671cf6532a577f13d85875ee3b4'; + sec-mem-ref-line = '1124'; + sec-mem-ref-name = 'xranLibWraper::get_num_antelmtrx'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__fh__config_1a8956e982993d4b310e3bffe207f66405'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'nDLFftSize'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '504'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +DL FFT size +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'chain__tests_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '135'; + sec-mem-ref-name = 'TestChain::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a2e64fc338fcfaac25af91aae564777fa'; + sec-mem-ref-line = '467'; + sec-mem-ref-name = 'xranLibWraper::xranLibWraper'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__fh__config_1ae4908e70f937e7eca578e348f4e3911f'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'nULFftSize'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '505'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +UL FFT size +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'chain__tests_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '135'; + sec-mem-ref-name = 'TestChain::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a2e64fc338fcfaac25af91aae564777fa'; + sec-mem-ref-line = '467'; + sec-mem-ref-name = 'xranLibWraper::xranLibWraper'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__fh__config_1a7917929ae3bb588a5bf6f4e56cf9549e'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'nDLRBs'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '506'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +DL PRB +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'chain__tests_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '135'; + sec-mem-ref-name = 'TestChain::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a2e64fc338fcfaac25af91aae564777fa'; + sec-mem-ref-line = '467'; + sec-mem-ref-name = 'xranLibWraper::xranLibWraper'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1ad2b06001d76c9a773c242b28fc7c92f4'; + sec-mem-ref-line = '1122'; + sec-mem-ref-name = 'xranLibWraper::get_num_dlrbs'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__fh__config_1a5448b37ad609bb66bf44b44d1f9bac72'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'nULRBs'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '507'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +UL PRB +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'chain__tests_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '135'; + sec-mem-ref-name = 'TestChain::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a2e64fc338fcfaac25af91aae564777fa'; + sec-mem-ref-line = '467'; + sec-mem-ref-name = 'xranLibWraper::xranLibWraper'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a967a0c58430104684cf2f9b1fdb444da'; + sec-mem-ref-line = '1123'; + sec-mem-ref-name = 'xranLibWraper::get_num_ulrbs'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a300b87c29358bb161404c0122a9b2a46'; + sec-mem-ref-line = '1461'; + sec-mem-ref-name = 'xran_process_srs_sym'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__fh__config_1ac0e69adfb3c3429ce7f7b9a568959934'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'nDLAbsFrePointA'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '508'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Abs Freq Point A of the Carrier Center Frequency for in KHz Value: 450000->52600000 +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__fh__config_1a6db9b8b082db12b94c9d7b910a2bf747'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'nULAbsFrePointA'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '509'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Abs Freq Point A of the Carrier Center Frequency for in KHz Value: 450000->52600000 +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__fh__config_1acd9d2cad066dac9c7ae84a0edbc9b8ae'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'nDLCenterFreqARFCN'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '510'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +center frerquency for DL in MHz +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__fh__config_1a1fbf2d7a3e30db571b28c7800f38765d'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'nULCenterFreqARFCN'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '511'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +center frerquency for UL in MHz +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__fh__config_1ac5dde77f03307e306f2a05821bc5179a'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +xran_fh_tti_callback_fn +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'ttiCb'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '512'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +call back for TTI event +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__fh__config_1a61f973d7b468c5fc1df628c476509ca6'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'ttiCbParam'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '513'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +parameters of call back function +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__fh__config_1a167e91cb91119363bf10c9430b6f082c'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_prach_config +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'prach_conf'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '513'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +PRACH specific configurations for FH +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '92'; + sec-mem-ref-name = 'PrachCheck::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__performance_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '91'; + sec-mem-ref-name = 'PrachPerf::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a2e64fc338fcfaac25af91aae564777fa'; + sec-mem-ref-line = '467'; + sec-mem-ref-name = 'xranLibWraper::xranLibWraper'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a0395e3b64e7fe193c70ea4e86ce2bddc'; + sec-mem-ref-line = '1130'; + sec-mem-ref-name = 'xranLibWraper::get_cfg_prach'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a00025c5bad7b7b6eea4374226f8c54bb'; + sec-mem-ref-line = '308'; + sec-mem-ref-name = 'xran_init_prach'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__fh__config_1a418f7a13335ab7fbfb840bae611ed0e5'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_srs_config +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'srs_conf'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '513'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +SRS specific configurations for FH +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1acb5dd6ae5569cb3090d441c800068244'; + sec-mem-ref-line = '294'; + sec-mem-ref-name = 'xran_init_srs'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__fh__config_1a72b0cba491d0dd2703d684cb2c2a14cf'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_frame_config +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'frame_conf'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '513'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +frame config +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'chain__tests_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '135'; + sec-mem-ref-name = 'TestChain::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '92'; + sec-mem-ref-name = 'PrachCheck::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__performance_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '91'; + sec-mem-ref-name = 'PrachPerf::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'sample-app_8c_1aa8022559021fc69bb2664a476ac83ba3'; + sec-mem-ref-line = '226'; + sec-mem-ref-name = 'xran_fh_rx_callback'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1ab8a6ed3cee8fa183142d0c23d0b4971d'; + sec-mem-ref-line = '595'; + sec-mem-ref-name = 'generate_cpmsg_prach'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a2e64fc338fcfaac25af91aae564777fa'; + sec-mem-ref-line = '467'; + sec-mem-ref-name = 'xranLibWraper::xranLibWraper'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a7d7488daf0a2eebb9359f760a60eaf7c'; + sec-mem-ref-line = '1118'; + sec-mem-ref-name = 'xranLibWraper::get_numerology'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a5548a3a1605dbf7b492d6eb164d3c667'; + sec-mem-ref-line = '1119'; + sec-mem-ref-name = 'xranLibWraper::get_duplextype'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a387cf1bf4b8f48c23d58309a0c1a9e2c'; + sec-mem-ref-line = '1136'; + sec-mem-ref-name = 'xranLibWraper::get_cfg_frame'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a7192955290ca84553d071cedc5ee89cb'; + sec-mem-ref-line = '243'; + sec-mem-ref-name = 'xran_is_prach_slot'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a00025c5bad7b7b6eea4374226f8c54bb'; + sec-mem-ref-line = '308'; + sec-mem-ref-name = 'xran_init_prach'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a03f408f45e97aa68ca47c92e4e7d1a70'; + sec-mem-ref-line = '2756'; + sec-mem-ref-name = 'xran_open'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__fh__config_1a27ff648f80c139235421b81f957fcb7e'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_ru_config +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'ru_conf'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '513'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +config of RU as per XRAN spec +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'chain__tests_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '135'; + sec-mem-ref-name = 'TestChain::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '92'; + sec-mem-ref-name = 'PrachCheck::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1a3d4bd5c7eec6da4ab71688e209100761'; + sec-mem-ref-line = '143'; + sec-mem-ref-name = 'process_mbuf'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a2e64fc338fcfaac25af91aae564777fa'; + sec-mem-ref-line = '467'; + sec-mem-ref-name = 'xranLibWraper::xranLibWraper'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a25afbf449e11f9e290e0fdbef77702c2'; + sec-mem-ref-line = '1116'; + sec-mem-ref-name = 'xranLibWraper::get_rucategory'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a8789158912b9607cbc6414c92a120003'; + sec-mem-ref-line = '1142'; + sec-mem-ref-name = 'xranLibWraper::get_cfg_ru'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a14cfa955b7fdf58378a97b4cfa7268f8'; + sec-mem-ref-line = '1384'; + sec-mem-ref-name = 'xran_process_prach_sym'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a300b87c29358bb161404c0122a9b2a46'; + sec-mem-ref-line = '1461'; + sec-mem-ref-name = 'xran_process_srs_sym'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1acb6ecf7858c99c963182b9b7884deca6'; + sec-mem-ref-line = '1578'; + sec-mem-ref-name = 'xran_process_rx_sym'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a03f408f45e97aa68ca47c92e4e7d1a70'; + sec-mem-ref-line = '2756'; + sec-mem-ref-name = 'xran_open'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__fh__config_1a82f0cc2ac9daada1e8330e3a91ec296b'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +phy_encoder_poll_fn +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'bbdev_enc'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '520'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +call back to poll BBDev encoder +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__fh__config_1a264d30877c919a7f5a20e2b9b35c8aeb'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +phy_decoder_poll_fn +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'bbdev_dec'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '521'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +call back to poll BBDev decoder +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__fh__config_1a583c2f58d0655789ea36e22d605ab9ad'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'log_level'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '523'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +configuration of log level +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '92'; + sec-mem-ref-name = 'PrachCheck::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__performance_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '91'; + sec-mem-ref-name = 'PrachPerf::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a2e64fc338fcfaac25af91aae564777fa'; + sec-mem-ref-line = '467'; + sec-mem-ref-name = 'xranLibWraper::xranLibWraper'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a00025c5bad7b7b6eea4374226f8c54bb'; + sec-mem-ref-line = '308'; + sec-mem-ref-name = 'xran_init_prach'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a03f408f45e97aa68ca47c92e4e7d1a70'; + sec-mem-ref-line = '2756'; + sec-mem-ref-name = 'xran_open'; + }; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + cp-fileline = '497'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ +XRAN front haul general configuration +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 534; + node-label = 'xran_frame_config'; + node-link = { + node-link-id = 'structxran__frame__config'; + }; + node-child = { + child-id = '535'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++sSlotConfig +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + node = { + node-id = 536; + node-label = 'xran_ru_config'; + node-link = { + node-link-id = 'structxran__ru__config'; + }; + }; /* node */ + node = { + node-id = 537; + node-label = 'xran_srs_config'; + node-link = { + node-link-id = 'structxran__srs__config'; + }; + }; /* node */ + node = { + node-id = 532; + node-label = 'xran_fh_config'; + node-link = { + node-link-id = 'structxran__fh__config'; + }; + node-child = { + child-id = '533'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++prach_conf +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '534'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++frame_conf +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '536'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++ru_conf +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '537'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++srs_conf +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + node = { + node-id = 533; + node-label = 'xran_prach_config'; + node-link = { + node-link-id = 'structxran__prach__config'; + }; + }; /* node */ + node = { + node-id = 535; + node-label = 'xran_slot_config'; + node-link = { + node-link-id = 'structxran__slot__config'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structxran__fh__init'; + cp-name = 'xran_fh_init'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__fh__init_1a8a5462b0059073e90d42f8bfa066d566'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_io_cfg +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'io_cfg'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '317'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +DPDK IO for XRAN +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a2e64fc338fcfaac25af91aae564777fa'; + sec-mem-ref-line = '467'; + sec-mem-ref-name = 'xranLibWraper::xranLibWraper'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a5b8958fc5688ba856cba84038ee4b938'; + sec-mem-ref-line = '711'; + sec-mem-ref-name = 'xran_timer_arm'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1ac5201df2d161091f7319ff2f57432823'; + sec-mem-ref-line = '1536'; + sec-mem-ref-name = 'xran_pkt_validate'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a4ea0e9c036a1dc7605f53f1f862f4952'; + sec-mem-ref-line = '2319'; + sec-mem-ref-name = 'xran_init'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__fh__init_1a3a10011d5a15ba88d65b9e027cdff35e'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_eaxcid_config +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'eAxCId_conf'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '317'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +config of ecpriRtcid/ecpriPcid +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a2e64fc338fcfaac25af91aae564777fa'; + sec-mem-ref-line = '467'; + sec-mem-ref-name = 'xranLibWraper::xranLibWraper'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a126b53d8cc57521b34496dbe3a26621f'; + sec-mem-ref-line = '678'; + sec-mem-ref-name = 'xranLibWraper::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a4ea0e9c036a1dc7605f53f1f862f4952'; + sec-mem-ref-line = '2319'; + sec-mem-ref-name = 'xran_init'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__fh__init_1a4f3d38bbb69d7dc49515ba2e0002537e'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'dpdkBasebandFecMode'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '327'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +DPDK Baseband FEC device mode (0-SW, 1-HW) +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a2e64fc338fcfaac25af91aae564777fa'; + sec-mem-ref-line = '467'; + sec-mem-ref-name = 'xranLibWraper::xranLibWraper'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__fh__init_1ab783700ba1f1b7d6d617a102f01e2e8a'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +char * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'dpdkBasebandDevice'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '328'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +DPDK Baseband device address +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a2e64fc338fcfaac25af91aae564777fa'; + sec-mem-ref-line = '467'; + sec-mem-ref-name = 'xranLibWraper::xranLibWraper'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__fh__init_1a6a78f61ed42f876c7cfa835be5ed0942'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +char * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'filePrefix'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '329'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +DPDK prefix +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a2e64fc338fcfaac25af91aae564777fa'; + sec-mem-ref-line = '467'; + sec-mem-ref-name = 'xranLibWraper::xranLibWraper'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a4ea0e9c036a1dc7605f53f1f862f4952'; + sec-mem-ref-line = '2319'; + sec-mem-ref-name = 'xran_init'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__fh__init_1a3c8ee4e9dd2a5354e83fb30c95598f30'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'mtu'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '331'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +maximum transmission unit (MTU) is the size of the largest protocol data unit (PDU) that can be communicated in a single +xRAN network layer transaction. supported 1500 bytes and 9600 bytes (Jumbo Frame) +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a2e64fc338fcfaac25af91aae564777fa'; + sec-mem-ref-line = '467'; + sec-mem-ref-name = 'xranLibWraper::xranLibWraper'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a300b87c29358bb161404c0122a9b2a46'; + sec-mem-ref-line = '1461'; + sec-mem-ref-name = 'xran_process_srs_sym'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__fh__init_1adcde08e47bdc5157e76975f32d1e96e8'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int8_t * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'p_o_du_addr'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '333'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +O-DU Ethernet Mac Address +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a2e64fc338fcfaac25af91aae564777fa'; + sec-mem-ref-line = '467'; + sec-mem-ref-name = 'xranLibWraper::xranLibWraper'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a126b53d8cc57521b34496dbe3a26621f'; + sec-mem-ref-line = '678'; + sec-mem-ref-name = 'xranLibWraper::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a4ea0e9c036a1dc7605f53f1f862f4952'; + sec-mem-ref-line = '2319'; + sec-mem-ref-name = 'xran_init'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__fh__init_1ab05fc2b0bda23212626e2f075ce8e817'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int8_t * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'p_o_ru_addr'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '334'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +O-RU Ethernet Mac Address +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a2e64fc338fcfaac25af91aae564777fa'; + sec-mem-ref-line = '467'; + sec-mem-ref-name = 'xranLibWraper::xranLibWraper'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a126b53d8cc57521b34496dbe3a26621f'; + sec-mem-ref-line = '678'; + sec-mem-ref-name = 'xranLibWraper::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a4ea0e9c036a1dc7605f53f1f862f4952'; + sec-mem-ref-line = '2319'; + sec-mem-ref-name = 'xran_init'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__fh__init_1af01fc39016255fbbedd02b31bb9c7959'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'totalBfWeights'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '336'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +The total number of beamforming weights on RU for extensions +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a2e64fc338fcfaac25af91aae564777fa'; + sec-mem-ref-line = '467'; + sec-mem-ref-name = 'xranLibWraper::xranLibWraper'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a126b53d8cc57521b34496dbe3a26621f'; + sec-mem-ref-line = '678'; + sec-mem-ref-name = 'xranLibWraper::SetUp'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__fh__init_1a05dca46f0128cb233e7d4f73215cc4a9'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'Tadv_cp_dl'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '338'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Table 2 7 : xRAN Delay Management Model Parameters +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a2e64fc338fcfaac25af91aae564777fa'; + sec-mem-ref-line = '467'; + sec-mem-ref-name = 'xranLibWraper::xranLibWraper'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__fh__init_1aebed6420fb04aabce30025eec4583807'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'T2a_min_cp_dl'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '339'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Table 2 7 : xRAN Delay Management Model Parameters +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a2e64fc338fcfaac25af91aae564777fa'; + sec-mem-ref-line = '467'; + sec-mem-ref-name = 'xranLibWraper::xranLibWraper'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__fh__init_1a5df6250657a91c27fa2416154ec5a609'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'T2a_max_cp_dl'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '340'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Table 2 7 : xRAN Delay Management Model Parameters +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a2e64fc338fcfaac25af91aae564777fa'; + sec-mem-ref-line = '467'; + sec-mem-ref-name = 'xranLibWraper::xranLibWraper'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__fh__init_1acfa0c4237b95b1dc83d19e00d6487ec0'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'T2a_min_cp_ul'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '341'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Table 2 7 : xRAN Delay Management Model Parameters +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a2e64fc338fcfaac25af91aae564777fa'; + sec-mem-ref-line = '467'; + sec-mem-ref-name = 'xranLibWraper::xranLibWraper'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__fh__init_1a60007ed3e328b06fb7f7ff2b3a37dac5'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'T2a_max_cp_ul'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '342'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Table 2 7 : xRAN Delay Management Model Parameters +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a2e64fc338fcfaac25af91aae564777fa'; + sec-mem-ref-line = '467'; + sec-mem-ref-name = 'xranLibWraper::xranLibWraper'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__fh__init_1aac84937e634fccb665c6de923af50c0f'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'T2a_min_up'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '343'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Table 2 7 : xRAN Delay Management Model Parameters +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a2e64fc338fcfaac25af91aae564777fa'; + sec-mem-ref-line = '467'; + sec-mem-ref-name = 'xranLibWraper::xranLibWraper'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__fh__init_1af27977cbf63a8beb2fd6b1f17c1502df'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'T2a_max_up'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '344'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Table 2 7 : xRAN Delay Management Model Parameters +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a2e64fc338fcfaac25af91aae564777fa'; + sec-mem-ref-line = '467'; + sec-mem-ref-name = 'xranLibWraper::xranLibWraper'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__fh__init_1ac2e5d027408848a38879331bf54d5adf'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'Ta3_min'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '345'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Table 2 7 : xRAN Delay Management Model Parameters +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a2e64fc338fcfaac25af91aae564777fa'; + sec-mem-ref-line = '467'; + sec-mem-ref-name = 'xranLibWraper::xranLibWraper'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__fh__init_1a82517c890db705ee58767fd245193214'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'Ta3_max'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '346'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Table 2 7 : xRAN Delay Management Model Parameters +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a2e64fc338fcfaac25af91aae564777fa'; + sec-mem-ref-line = '467'; + sec-mem-ref-name = 'xranLibWraper::xranLibWraper'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__fh__init_1a73b80929304dcde73f2c2f6d4f7448fa'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'T1a_min_cp_dl'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '347'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Table 2 7 : xRAN Delay Management Model Parameters +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a2e64fc338fcfaac25af91aae564777fa'; + sec-mem-ref-line = '467'; + sec-mem-ref-name = 'xranLibWraper::xranLibWraper'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__fh__init_1a6080f8ca5894be470378d6f265c1f665'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'T1a_max_cp_dl'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '348'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Table 2 7 : xRAN Delay Management Model Parameters +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a2e64fc338fcfaac25af91aae564777fa'; + sec-mem-ref-line = '467'; + sec-mem-ref-name = 'xranLibWraper::xranLibWraper'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__fh__init_1ab2d0817976952478020b3437b3dbbfc3'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'T1a_min_cp_ul'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '349'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Table 2 7 : xRAN Delay Management Model Parameters +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a2e64fc338fcfaac25af91aae564777fa'; + sec-mem-ref-line = '467'; + sec-mem-ref-name = 'xranLibWraper::xranLibWraper'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__fh__init_1a71254f497cb48a57b123c7f4897b7a38'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'T1a_max_cp_ul'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '350'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Table 2 7 : xRAN Delay Management Model Parameters +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a2e64fc338fcfaac25af91aae564777fa'; + sec-mem-ref-line = '467'; + sec-mem-ref-name = 'xranLibWraper::xranLibWraper'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__fh__init_1a0447175262da4e12814983c97d73ad21'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'T1a_min_up'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '351'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Table 2 7 : xRAN Delay Management Model Parameters +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a2e64fc338fcfaac25af91aae564777fa'; + sec-mem-ref-line = '467'; + sec-mem-ref-name = 'xranLibWraper::xranLibWraper'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__fh__init_1a76ae7531da0aa8656d95c194f1e75b0f'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'T1a_max_up'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '352'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Table 2 7 : xRAN Delay Management Model Parameters +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a2e64fc338fcfaac25af91aae564777fa'; + sec-mem-ref-line = '467'; + sec-mem-ref-name = 'xranLibWraper::xranLibWraper'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__fh__init_1ad8a8a60941ab888de5187345ce5fc92c'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'Ta4_min'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '353'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Table 2 7 : xRAN Delay Management Model Parameters +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a2e64fc338fcfaac25af91aae564777fa'; + sec-mem-ref-line = '467'; + sec-mem-ref-name = 'xranLibWraper::xranLibWraper'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__fh__init_1a934a145ce39320896b81ac25276b24d8'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'Ta4_max'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '354'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Table 2 7 : xRAN Delay Management Model Parameters +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a2e64fc338fcfaac25af91aae564777fa'; + sec-mem-ref-line = '467'; + sec-mem-ref-name = 'xranLibWraper::xranLibWraper'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__fh__init_1ab0bb0b684cc2798a2ef1ceabe4a47e38'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'enableCP'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '356'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +enable C-plane +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a2e64fc338fcfaac25af91aae564777fa'; + sec-mem-ref-line = '467'; + sec-mem-ref-name = 'xranLibWraper::xranLibWraper'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a165ca95dea40ce1abcc161f39087d38d'; + sec-mem-ref-line = '1024'; + sec-mem-ref-name = 'xranLibWraper::apply_cpenable'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a5855fc30031ba49b7375526f7cda0ff7'; + sec-mem-ref-line = '1126'; + sec-mem-ref-name = 'xranLibWraper::is_cpenable'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a4ea0e9c036a1dc7605f53f1f862f4952'; + sec-mem-ref-line = '2319'; + sec-mem-ref-name = 'xran_init'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__fh__init_1ac0646000d1448798a186e109df0bb3dd'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'prachEnable'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '357'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +enable PRACH +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1a3d4bd5c7eec6da4ab71688e209100761'; + sec-mem-ref-line = '143'; + sec-mem-ref-name = 'process_mbuf'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a2e64fc338fcfaac25af91aae564777fa'; + sec-mem-ref-line = '467'; + sec-mem-ref-name = 'xranLibWraper::xranLibWraper'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a5b5d9e46f23728cf8901e177fbf1e32b'; + sec-mem-ref-line = '1127'; + sec-mem-ref-name = 'xranLibWraper::is_prachenable'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a4ea0e9c036a1dc7605f53f1f862f4952'; + sec-mem-ref-line = '2319'; + sec-mem-ref-name = 'xran_init'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__fh__init_1a367975ed81727c2747411672f73b2754'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'srsEnable'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '358'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +enable SRS (Cat B specific) +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1a3d4bd5c7eec6da4ab71688e209100761'; + sec-mem-ref-line = '143'; + sec-mem-ref-name = 'process_mbuf'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a4ea0e9c036a1dc7605f53f1f862f4952'; + sec-mem-ref-line = '2319'; + sec-mem-ref-name = 'xran_init'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__fh__init_1adc6cb9229207f58f6c4375305dcb5384'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'cp_vlan_tag'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '359'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +C-plane vlan tag +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a2e64fc338fcfaac25af91aae564777fa'; + sec-mem-ref-line = '467'; + sec-mem-ref-name = 'xranLibWraper::xranLibWraper'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a4ea0e9c036a1dc7605f53f1f862f4952'; + sec-mem-ref-line = '2319'; + sec-mem-ref-name = 'xran_init'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__fh__init_1ae5c22bf3cd63e278914bf627dab04ce8'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'up_vlan_tag'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '360'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +U-plane vlan tag +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a2e64fc338fcfaac25af91aae564777fa'; + sec-mem-ref-line = '467'; + sec-mem-ref-name = 'xranLibWraper::xranLibWraper'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a4ea0e9c036a1dc7605f53f1f862f4952'; + sec-mem-ref-line = '2319'; + sec-mem-ref-name = 'xran_init'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__fh__init_1a8ad55119f3b227785857aaddef6a8384'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'debugStop'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '361'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +enable auto stop +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a2e64fc338fcfaac25af91aae564777fa'; + sec-mem-ref-line = '467'; + sec-mem-ref-name = 'xranLibWraper::xranLibWraper'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__fh__init_1a0ce1293a9896f3e28d960a0b1d9dc911'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'debugStopCount'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '362'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +enable auto stop after number of Tx packets +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a2e64fc338fcfaac25af91aae564777fa'; + sec-mem-ref-line = '467'; + sec-mem-ref-name = 'xranLibWraper::xranLibWraper'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__fh__init_1a6fcbf469691a192f1ce298f70981c17a'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'DynamicSectionEna'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '363'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +enable dynamic C-Plane section allocation +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a2e64fc338fcfaac25af91aae564777fa'; + sec-mem-ref-line = '467'; + sec-mem-ref-name = 'xranLibWraper::xranLibWraper'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a1d92eb426fc3269a180f07289f738d1a'; + sec-mem-ref-line = '1128'; + sec-mem-ref-name = 'xranLibWraper::is_dynamicsection'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a4ea0e9c036a1dc7605f53f1f862f4952'; + sec-mem-ref-line = '2319'; + sec-mem-ref-name = 'xran_init'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__fh__init_1ae2b1a8eb1532f9f5aedc946086bec354'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'GPS_Alpha'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '364'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__fh__init_1aba260ecc47cc76ee126e5b9837f31ab8'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'GPS_Beta'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '365'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + cp-fileline = '323'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ +XRAN Front haul interface initialization settings +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 539; + node-label = 'xran_fh_init'; + node-link = { + node-link-id = 'structxran__fh__init'; + }; + node-child = { + child-id = '540'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++eAxCId_conf +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '541'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++io_cfg +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + node = { + node-id = 540; + node-label = 'xran_eaxcid_config'; + node-link = { + node-link-id = 'structxran__eaxcid__config'; + }; + }; /* node */ + node = { + node-id = 541; + node-label = 'xran_io_cfg'; + node-link = { + node-link-id = 'structxran__io__cfg'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structxran__flat__buffer'; + cp-name = 'xran_flat_buffer'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__flat__buffer_1ac9d92d585877c2ef1af759479baf85fe'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'nElementLenInBytes'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '555'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + The Element length specified in bytes. +This parameter specifies the size of a single element in the buffer. +The total size of the buffer is described as +bufferSize = nElementLenInBytes * nNumberOfElements +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__flat__buffer_1a4371798a7694f5939136dca8baa93f21'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'nNumberOfElements'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '560'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +The number of elements in the physical contiguous memory segment +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__flat__buffer_1a2c3c46f4c4709f349a0cc62bae9ca92d'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'nOffsetInBytes'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '562'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + Offset in bytes to the start of the data in the physical contiguous +memory segment +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__flat__buffer_1a0119c99b1fb0b423f6c1acf165cb8930'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'nIsPhyAddr'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '565'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__flat__buffer_1a77f0d5374ee675db57c0b29946ca7744'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'pData'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '566'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + The data pointer is a virtual address, however the actual data pointed + to is required to be in contiguous physical memory unless the field +requiresPhysicallyContiguousMemory in CpaInstanceInfo is false. +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a14cfa955b7fdf58378a97b4cfa7268f8'; + sec-mem-ref-line = '1384'; + sec-mem-ref-name = 'xran_process_prach_sym'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a300b87c29358bb161404c0122a9b2a46'; + sec-mem-ref-line = '1461'; + sec-mem-ref-name = 'xran_process_srs_sym'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1acb6ecf7858c99c963182b9b7884deca6'; + sec-mem-ref-line = '1578'; + sec-mem-ref-name = 'xran_process_rx_sym'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__flat__buffer_1addb9297d816b26c680888115de8c9538'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'pCtrl'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '570'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +pointer to control section coresponding to data buffer +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a14cfa955b7fdf58378a97b4cfa7268f8'; + sec-mem-ref-line = '1384'; + sec-mem-ref-name = 'xran_process_prach_sym'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a300b87c29358bb161404c0122a9b2a46'; + sec-mem-ref-line = '1461'; + sec-mem-ref-name = 'xran_process_srs_sym'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1acb6ecf7858c99c963182b9b7884deca6'; + sec-mem-ref-line = '1578'; + sec-mem-ref-name = 'xran_process_rx_sym'; + }; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + cp-fileline = '554'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ +@description + A flat buffer structure. The data pointer, pData, is a virtual address. + The API requires the memory to by physically contiguous. Each flat + buffer segment may contain several equally sized elements. +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 543; + node-label = 'xran_flat_buffer'; + node-link = { + node-link-id = 'structxran__flat__buffer'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structxran__frame__config'; + cp-name = 'xran_frame_config'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__frame__config_1a3b86317723a592e240c0047e53a6326d'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'nFrameDuplexType'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '460'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Frame Duplex type: 0 -> FDD, 1 -> TDD +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'chain__tests_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '135'; + sec-mem-ref-name = 'TestChain::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '92'; + sec-mem-ref-name = 'PrachCheck::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__performance_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '91'; + sec-mem-ref-name = 'PrachPerf::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a2e64fc338fcfaac25af91aae564777fa'; + sec-mem-ref-line = '467'; + sec-mem-ref-name = 'xranLibWraper::xranLibWraper'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a5548a3a1605dbf7b492d6eb164d3c667'; + sec-mem-ref-line = '1119'; + sec-mem-ref-name = 'xranLibWraper::get_duplextype'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a00025c5bad7b7b6eea4374226f8c54bb'; + sec-mem-ref-line = '308'; + sec-mem-ref-name = 'xran_init_prach'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a03f408f45e97aa68ca47c92e4e7d1a70'; + sec-mem-ref-line = '2756'; + sec-mem-ref-name = 'xran_open'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__frame__config_1a78b2fab8e8d6a6424c2712d528fd9a58'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'nNumerology'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '461'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Numerology, determine sub carrier spacing, Value: 0->4 +0: 15khz, 1: 30khz, 2: 60khz +3: 120khz, 4: 240khz +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'chain__tests_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '135'; + sec-mem-ref-name = 'TestChain::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '92'; + sec-mem-ref-name = 'PrachCheck::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__performance_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '91'; + sec-mem-ref-name = 'PrachPerf::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'sample-app_8c_1aa8022559021fc69bb2664a476ac83ba3'; + sec-mem-ref-line = '226'; + sec-mem-ref-name = 'xran_fh_rx_callback'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1ab8a6ed3cee8fa183142d0c23d0b4971d'; + sec-mem-ref-line = '595'; + sec-mem-ref-name = 'generate_cpmsg_prach'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a2e64fc338fcfaac25af91aae564777fa'; + sec-mem-ref-line = '467'; + sec-mem-ref-name = 'xranLibWraper::xranLibWraper'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a7d7488daf0a2eebb9359f760a60eaf7c'; + sec-mem-ref-line = '1118'; + sec-mem-ref-name = 'xranLibWraper::get_numerology'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a7192955290ca84553d071cedc5ee89cb'; + sec-mem-ref-line = '243'; + sec-mem-ref-name = 'xran_is_prach_slot'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a00025c5bad7b7b6eea4374226f8c54bb'; + sec-mem-ref-line = '308'; + sec-mem-ref-name = 'xran_init_prach'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__frame__config_1a53a1d989c6dee827495401b1973c9ef8'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'nTddPeriod'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '464'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +TDD period +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a2e64fc338fcfaac25af91aae564777fa'; + sec-mem-ref-line = '467'; + sec-mem-ref-name = 'xranLibWraper::xranLibWraper'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a970616fd84b2f27327a77e202d31eeef'; + sec-mem-ref-line = '1047'; + sec-mem-ref-name = 'xranLibWraper::get_slot_config'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a03f408f45e97aa68ca47c92e4e7d1a70'; + sec-mem-ref-line = '2756'; + sec-mem-ref-name = 'xran_open'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__frame__config_1a4664e9a9005020b4a98ada2d256906e2'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_slot_config +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'sSlotConfig'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '464'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +TDD Slot configuration - If nFrameDuplexType = TDD(1), then this config defines the slot config type for each slot. +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a2e64fc338fcfaac25af91aae564777fa'; + sec-mem-ref-line = '467'; + sec-mem-ref-name = 'xranLibWraper::xranLibWraper'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a970616fd84b2f27327a77e202d31eeef'; + sec-mem-ref-line = '1047'; + sec-mem-ref-name = 'xranLibWraper::get_slot_config'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a03f408f45e97aa68ca47c92e4e7d1a70'; + sec-mem-ref-line = '2756'; + sec-mem-ref-name = 'xran_open'; + }; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + cp-fileline = '459'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ +XRAN front haul frame config +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 545; + node-label = 'xran_frame_config'; + node-link = { + node-link-id = 'structxran__frame__config'; + }; + node-child = { + child-id = '546'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++sSlotConfig +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + node = { + node-id = 546; + node-label = 'xran_slot_config'; + node-link = { + node-link-id = 'structxran__slot__config'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structxran__io__cfg'; + cp-name = 'xran_io_cfg'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__io__cfg_1a1e6927fa1486224044e568f9c370519b'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'id'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '295'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +should be (0) for O-DU or (1) O-RU (debug) +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a2e64fc338fcfaac25af91aae564777fa'; + sec-mem-ref-line = '467'; + sec-mem-ref-name = 'xranLibWraper::xranLibWraper'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1ac5201df2d161091f7319ff2f57432823'; + sec-mem-ref-line = '1536'; + sec-mem-ref-name = 'xran_pkt_validate'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__io__cfg_1ae58734e2aff608373089778da1aa4efa'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +char * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'dpdk_dev'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '296'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +VFs devices +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a2e64fc338fcfaac25af91aae564777fa'; + sec-mem-ref-line = '467'; + sec-mem-ref-name = 'xranLibWraper::xranLibWraper'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__io__cfg_1a64ddf49fc9f31dbe434f9ee6b0a08db4'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +char * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'bbdev_dev'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '297'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +BBDev dev name +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__io__cfg_1ab99f9c6dba4d5fdc09299b3ac670503c'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'bbdev_mode'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '298'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +DPDK for BBDev +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a2e64fc338fcfaac25af91aae564777fa'; + sec-mem-ref-line = '467'; + sec-mem-ref-name = 'xranLibWraper::xranLibWraper'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__io__cfg_1a53341e81716fce9aeddee73d7228f2bf'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'core'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '299'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +reservd +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a2e64fc338fcfaac25af91aae564777fa'; + sec-mem-ref-line = '467'; + sec-mem-ref-name = 'xranLibWraper::xranLibWraper'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__io__cfg_1a727bdc89e33bfc7d18dfaf166d46598a'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'system_core'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '300'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +reservd +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a2e64fc338fcfaac25af91aae564777fa'; + sec-mem-ref-line = '467'; + sec-mem-ref-name = 'xranLibWraper::xranLibWraper'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__io__cfg_1a7ea8f53112b353d5e98cc955437f3706'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'pkt_proc_core'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '301'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +reservd +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a2e64fc338fcfaac25af91aae564777fa'; + sec-mem-ref-line = '467'; + sec-mem-ref-name = 'xranLibWraper::xranLibWraper'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__io__cfg_1afc9b03cdc767412993891263da114dc3'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'pkt_aux_core'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '302'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +reservd +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a2e64fc338fcfaac25af91aae564777fa'; + sec-mem-ref-line = '467'; + sec-mem-ref-name = 'xranLibWraper::xranLibWraper'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__io__cfg_1aa442a227739dcff5212e5356dee54b68'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'timing_core'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '303'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +core used by xRAN +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a2e64fc338fcfaac25af91aae564777fa'; + sec-mem-ref-line = '467'; + sec-mem-ref-name = 'xranLibWraper::xranLibWraper'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a5b8958fc5688ba856cba84038ee4b938'; + sec-mem-ref-line = '711'; + sec-mem-ref-name = 'xran_timer_arm'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__io__cfg_1ab4a87dda9c9ac332a46e6a9b8a8b8315'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'port'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '304'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +VFs ports +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + cp-fileline = '294'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ +DPDK IO configuration for XRAN layer +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 548; + node-label = 'xran_io_cfg'; + node-link = { + node-link-id = 'structxran__io__cfg'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structxran__io__loop__cfg'; + cp-name = 'xran_io_loop_cfg'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__io__loop__cfg_1a1e6927fa1486224044e568f9c370519b'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'id'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethdi.h'; + sec-mem-desc-line = '83'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a4ea0e9c036a1dc7605f53f1f862f4952'; + sec-mem-ref-line = '2319'; + sec-mem-ref-name = 'xran_init'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__io__loop__cfg_1a5df64aa9312bc9c7860efa45117045ff'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +char * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'dpdk_dev'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethdi.h'; + sec-mem-desc-line = '84'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__io__loop__cfg_1a64ddf49fc9f31dbe434f9ee6b0a08db4'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +char * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'bbdev_dev'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethdi.h'; + sec-mem-desc-line = '85'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__io__loop__cfg_1a42ca365685976f50257addd91dfc653a'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'bbdev_mode'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethdi.h'; + sec-mem-desc-line = '86'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__io__loop__cfg_1a18da1e1fddf1ac92da74aecf88ab2b2e'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'core'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethdi.h'; + sec-mem-desc-line = '87'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__io__loop__cfg_1ad541922317ba6249ed0d3d0c333cfad0'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'system_core'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethdi.h'; + sec-mem-desc-line = '88'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__io__loop__cfg_1a0b34ea46d27e0e37faae5f15997cc607'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'pkt_proc_core'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethdi.h'; + sec-mem-desc-line = '89'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__io__loop__cfg_1a45c65f9da3c052a4b461c34be998b138'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'pkt_aux_core'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethdi.h'; + sec-mem-desc-line = '90'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__io__loop__cfg_1ab93b5693f54489ba747cce7e0a09f84a'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'timing_core'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethdi.h'; + sec-mem-desc-line = '91'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__io__loop__cfg_1af48c6d39ced0dc3629c2b2c1322dae84'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'port'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethdi.h'; + sec-mem-desc-line = '92'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethdi.h'; + cp-fileline = '82'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 550; + node-label = 'xran_io_loop_cfg'; + node-link = { + node-link-id = 'structxran__io__loop__cfg'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structxran__pkt__comm__hdr'; + cp-name = 'xran_pkt_comm_hdr'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__pkt__comm__hdr_1a6e3fef7be6167ccb1e122ef76ceb409a'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct ether_hdr +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'eth_hdr'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt.h'; + sec-mem-desc-line = '213'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Ethernet Header +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__pkt__comm__hdr_1ae84e1fad9281c0bfd9c07df6a570a4f0'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_ecpri_hdr +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'ecpri_hdr'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt.h'; + sec-mem-desc-line = '213'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +eCPRI Transport Header +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt.h'; + cp-fileline = '234'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ +@description + Structure holds common xran packet header + 3.1.1 Ethernet Encapsulation +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 555; + node-label = 'xran_ecpri_cmn_hdr'; + node-link = { + node-link-id = 'structxran__ecpri__cmn__hdr'; + }; + }; /* node */ + node = { + node-id = 552; + node-label = 'xran_pkt_comm_hdr'; + node-link = { + node-link-id = 'structxran__pkt__comm__hdr'; + }; + node-child = { + child-id = '553'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++ecpri_hdr +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + node = { + node-id = 554; + node-label = 'ecpri_seq_id'; + node-link = { + node-link-id = 'structecpri__seq__id'; + }; + }; /* node */ + node = { + node-id = 553; + node-label = 'xran_ecpri_hdr'; + node-link = { + node-link-id = 'structxran__ecpri__hdr'; + }; + node-child = { + child-id = '554'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++ecpri_seq_id +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '555'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++cmnhdr +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structxran__prach__config'; + cp-name = 'xran_prach_config'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__prach__config_1acb5fe8097b0115e038eb02d5900f66d6'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'nPrachConfIdx'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '432'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +PRACH Configuration Index +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '92'; + sec-mem-ref-name = 'PrachCheck::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__performance_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '91'; + sec-mem-ref-name = 'PrachPerf::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a2e64fc338fcfaac25af91aae564777fa'; + sec-mem-ref-line = '467'; + sec-mem-ref-name = 'xranLibWraper::xranLibWraper'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a00025c5bad7b7b6eea4374226f8c54bb'; + sec-mem-ref-line = '308'; + sec-mem-ref-name = 'xran_init_prach'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__prach__config_1ab9b99e41ea39f16780f66a539aa872c8'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'nPrachSubcSpacing'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '433'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + PRACH Sub-carrier spacing +Value:0->1 +For below 6GHz the values indicate 15kHz or 30kHz +For above 6GHz the values indicate 60kHz or 120kHz +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '92'; + sec-mem-ref-name = 'PrachCheck::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a62307393b7f454a2b348ada67997b796'; + sec-mem-ref-line = '177'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__performance_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '91'; + sec-mem-ref-name = 'PrachPerf::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a2e64fc338fcfaac25af91aae564777fa'; + sec-mem-ref-line = '467'; + sec-mem-ref-name = 'xranLibWraper::xranLibWraper'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a00025c5bad7b7b6eea4374226f8c54bb'; + sec-mem-ref-line = '308'; + sec-mem-ref-name = 'xran_init_prach'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__prach__config_1a45ae197adc4010202a5b71d7b602bc0c'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'nPrachZeroCorrConf'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '438'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +PRACH zeroCorrelationZoneConfig +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a2e64fc338fcfaac25af91aae564777fa'; + sec-mem-ref-line = '467'; + sec-mem-ref-name = 'xranLibWraper::xranLibWraper'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__prach__config_1a26e6c95dfde831c2588d46dde588c751'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'nPrachRestrictSet'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '439'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +PRACH restrictedSetConfig +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a2e64fc338fcfaac25af91aae564777fa'; + sec-mem-ref-line = '467'; + sec-mem-ref-name = 'xranLibWraper::xranLibWraper'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__prach__config_1a66b19aaa946c36b309a3403b3d576c58'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'nPrachRootSeqIdx'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '440'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +PRACH Root Sequence Index +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a2e64fc338fcfaac25af91aae564777fa'; + sec-mem-ref-line = '467'; + sec-mem-ref-name = 'xranLibWraper::xranLibWraper'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__prach__config_1a5c648c99c04370a4e8767f919a2289bf'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'nPrachFreqStart'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '441'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +PRACH prach-frequency-start +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '92'; + sec-mem-ref-name = 'PrachCheck::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__performance_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '91'; + sec-mem-ref-name = 'PrachPerf::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a2e64fc338fcfaac25af91aae564777fa'; + sec-mem-ref-line = '467'; + sec-mem-ref-name = 'xranLibWraper::xranLibWraper'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a00025c5bad7b7b6eea4374226f8c54bb'; + sec-mem-ref-line = '308'; + sec-mem-ref-name = 'xran_init_prach'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__prach__config_1a3b43924c5ef23b0496d1a7adf2752dbf'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'nPrachFreqOffset'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '442'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +PRACH prach-frequency-offset +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '92'; + sec-mem-ref-name = 'PrachCheck::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__performance_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '91'; + sec-mem-ref-name = 'PrachPerf::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a2e64fc338fcfaac25af91aae564777fa'; + sec-mem-ref-line = '467'; + sec-mem-ref-name = 'xranLibWraper::xranLibWraper'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a00025c5bad7b7b6eea4374226f8c54bb'; + sec-mem-ref-line = '308'; + sec-mem-ref-name = 'xran_init_prach'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__prach__config_1ab3ca7a740428b7023b7e29197124983b'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'nPrachFilterIdx'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '443'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +PRACH Filter index +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a2e64fc338fcfaac25af91aae564777fa'; + sec-mem-ref-line = '467'; + sec-mem-ref-name = 'xranLibWraper::xranLibWraper'; + }; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + cp-fileline = '430'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ +SRS configuration required for XRAN based FH +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 557; + node-label = 'xran_prach_config'; + node-link = { + node-link-id = 'structxran__prach__config'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structxran__prach__cp__config'; + cp-name = 'xran_prach_cp_config'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__prach__cp__config_1ad5150de5e1c141cfe288f260afb00830'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'filterIdx'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + sec-mem-desc-line = '127'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a62307393b7f454a2b348ada67997b796'; + sec-mem-ref-line = '177'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1ab8a6ed3cee8fa183142d0c23d0b4971d'; + sec-mem-ref-line = '595'; + sec-mem-ref-name = 'generate_cpmsg_prach'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a00025c5bad7b7b6eea4374226f8c54bb'; + sec-mem-ref-line = '308'; + sec-mem-ref-name = 'xran_init_prach'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__prach__cp__config_1ac54814779041bec5dcf8aec288d69b06'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'startSymId'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + sec-mem-desc-line = '128'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a62307393b7f454a2b348ada67997b796'; + sec-mem-ref-line = '177'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1ab8a6ed3cee8fa183142d0c23d0b4971d'; + sec-mem-ref-line = '595'; + sec-mem-ref-name = 'generate_cpmsg_prach'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a00025c5bad7b7b6eea4374226f8c54bb'; + sec-mem-ref-line = '308'; + sec-mem-ref-name = 'xran_init_prach'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__prach__cp__config_1a6b13285aabf8f2f4598143b2670204c1'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'startPrbc'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + sec-mem-desc-line = '129'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a62307393b7f454a2b348ada67997b796'; + sec-mem-ref-line = '177'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1ab8a6ed3cee8fa183142d0c23d0b4971d'; + sec-mem-ref-line = '595'; + sec-mem-ref-name = 'generate_cpmsg_prach'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a00025c5bad7b7b6eea4374226f8c54bb'; + sec-mem-ref-line = '308'; + sec-mem-ref-name = 'xran_init_prach'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__prach__cp__config_1aabc4fe26e40f742fd255e2bb8534de75'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'numPrbc'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + sec-mem-desc-line = '130'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a62307393b7f454a2b348ada67997b796'; + sec-mem-ref-line = '177'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1ab8a6ed3cee8fa183142d0c23d0b4971d'; + sec-mem-ref-line = '595'; + sec-mem-ref-name = 'generate_cpmsg_prach'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a00025c5bad7b7b6eea4374226f8c54bb'; + sec-mem-ref-line = '308'; + sec-mem-ref-name = 'xran_init_prach'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__prach__cp__config_1a664cb6ca464c69ef60a445fa4f4b3522'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'numSymbol'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + sec-mem-desc-line = '131'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a62307393b7f454a2b348ada67997b796'; + sec-mem-ref-line = '177'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1ab8a6ed3cee8fa183142d0c23d0b4971d'; + sec-mem-ref-line = '595'; + sec-mem-ref-name = 'generate_cpmsg_prach'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a00025c5bad7b7b6eea4374226f8c54bb'; + sec-mem-ref-line = '308'; + sec-mem-ref-name = 'xran_init_prach'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__prach__cp__config_1aa68c277a66312b4b90819cccc055bdb7'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'timeOffset'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + sec-mem-desc-line = '132'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a62307393b7f454a2b348ada67997b796'; + sec-mem-ref-line = '177'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1ab8a6ed3cee8fa183142d0c23d0b4971d'; + sec-mem-ref-line = '595'; + sec-mem-ref-name = 'generate_cpmsg_prach'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a00025c5bad7b7b6eea4374226f8c54bb'; + sec-mem-ref-line = '308'; + sec-mem-ref-name = 'xran_init_prach'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__prach__cp__config_1a3af58496c14a1c91c015aa6ffe7dca49'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'freqOffset'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + sec-mem-desc-line = '133'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a62307393b7f454a2b348ada67997b796'; + sec-mem-ref-line = '177'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1ab8a6ed3cee8fa183142d0c23d0b4971d'; + sec-mem-ref-line = '595'; + sec-mem-ref-name = 'generate_cpmsg_prach'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a00025c5bad7b7b6eea4374226f8c54bb'; + sec-mem-ref-line = '308'; + sec-mem-ref-name = 'xran_init_prach'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__prach__cp__config_1a855041f3139611ca7478502e3241b2f1'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'nrofPrachInSlot'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + sec-mem-desc-line = '134'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a62307393b7f454a2b348ada67997b796'; + sec-mem-ref-line = '177'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a7192955290ca84553d071cedc5ee89cb'; + sec-mem-ref-line = '243'; + sec-mem-ref-name = 'xran_is_prach_slot'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a00025c5bad7b7b6eea4374226f8c54bb'; + sec-mem-ref-line = '308'; + sec-mem-ref-name = 'xran_init_prach'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__prach__cp__config_1a2e544eaae35a5756272d62af4fa53a19'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'occassionsInPrachSlot'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + sec-mem-desc-line = '135'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a62307393b7f454a2b348ada67997b796'; + sec-mem-ref-line = '177'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1ab8a6ed3cee8fa183142d0c23d0b4971d'; + sec-mem-ref-line = '595'; + sec-mem-ref-name = 'generate_cpmsg_prach'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a00025c5bad7b7b6eea4374226f8c54bb'; + sec-mem-ref-line = '308'; + sec-mem-ref-name = 'xran_init_prach'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__prach__cp__config_1a0f561e77fa0f040b637f4e04f6cd8078'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'x'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + sec-mem-desc-line = '136'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a62307393b7f454a2b348ada67997b796'; + sec-mem-ref-line = '177'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a00025c5bad7b7b6eea4374226f8c54bb'; + sec-mem-ref-line = '308'; + sec-mem-ref-name = 'xran_init_prach'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__prach__cp__config_1a1d627e83c5e0ae889b71ea0508991f29'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'y'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + sec-mem-desc-line = '137'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a62307393b7f454a2b348ada67997b796'; + sec-mem-ref-line = '177'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a00025c5bad7b7b6eea4374226f8c54bb'; + sec-mem-ref-line = '308'; + sec-mem-ref-name = 'xran_init_prach'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__prach__cp__config_1a3b00fdd9e145b9c7be29aa35c6f94fe1'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'isPRACHslot'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + sec-mem-desc-line = '138'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a62307393b7f454a2b348ada67997b796'; + sec-mem-ref-line = '177'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a7192955290ca84553d071cedc5ee89cb'; + sec-mem-ref-line = '243'; + sec-mem-ref-name = 'xran_is_prach_slot'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a00025c5bad7b7b6eea4374226f8c54bb'; + sec-mem-ref-line = '308'; + sec-mem-ref-name = 'xran_init_prach'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__prach__cp__config_1a38a5594e33178248d80ccde98a16262a'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'eAxC_offset'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + sec-mem-desc-line = '139'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +starting eAxC for PRACH stream +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1a3d4bd5c7eec6da4ab71688e209100761'; + sec-mem-ref-line = '143'; + sec-mem-ref-name = 'process_mbuf'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a00025c5bad7b7b6eea4374226f8c54bb'; + sec-mem-ref-line = '308'; + sec-mem-ref-name = 'xran_init_prach'; + }; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + cp-fileline = '126'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 559; + node-label = 'xran_prach_cp_config'; + node-link = { + node-link-id = 'structxran__prach__cp__config'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structxran__prb__elm'; + cp-name = 'xran_prb_elm'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__prb__elm_1a5248ad5c1a177b8b9d5ef60f710652bc'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'nRBStart'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '394'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +start RB of RB allocation +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a200da4e2209141f12cafef2380cb801a'; + sec-mem-ref-line = '740'; + sec-mem-ref-name = 'xranLibWraper::Init'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__prb__elm_1a18adf7163dacc5bd7dd344fb1216f729'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'nRBSize'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '395'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +number of RBs used +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a200da4e2209141f12cafef2380cb801a'; + sec-mem-ref-line = '740'; + sec-mem-ref-name = 'xranLibWraper::Init'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__prb__elm_1a5acab5eec7096fb7732c804f71f02a4d'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'nStartSymb'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '396'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +start symbol ID +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a200da4e2209141f12cafef2380cb801a'; + sec-mem-ref-line = '740'; + sec-mem-ref-name = 'xranLibWraper::Init'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__prb__elm_1ad2586af82c76901c361a2d08a6ba553b'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'numSymb'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '397'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +number of symbols +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a200da4e2209141f12cafef2380cb801a'; + sec-mem-ref-line = '740'; + sec-mem-ref-name = 'xranLibWraper::Init'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__prb__elm_1aba198438bbacf8f73b6bfa481b365ce5'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'nBeamIndex'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '398'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +beam index for given PRB +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a200da4e2209141f12cafef2380cb801a'; + sec-mem-ref-line = '740'; + sec-mem-ref-name = 'xranLibWraper::Init'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__prb__elm_1a0cae38b481020301f9e6831c27b5058b'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'bf_weight_update'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '399'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a200da4e2209141f12cafef2380cb801a'; + sec-mem-ref-line = '740'; + sec-mem-ref-name = 'xranLibWraper::Init'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__prb__elm_1ad73157f14fa98c54fb563244c1327933'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'compMethod'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '400'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +need to update beam weights or not compression index for given PRB +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a200da4e2209141f12cafef2380cb801a'; + sec-mem-ref-line = '740'; + sec-mem-ref-name = 'xranLibWraper::Init'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__prb__elm_1a36f5a0cedd274c3ec55f81535f06e0de'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'iqWidth'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '401'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +compression bit width for given PRB +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__prb__elm_1a8b8b1bd49f0c7c15063d74dd4ad48cde'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'BeamFormingType'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '402'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +index based, weights based or attribute based beam forming +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a200da4e2209141f12cafef2380cb801a'; + sec-mem-ref-line = '740'; + sec-mem-ref-name = 'xranLibWraper::Init'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__prb__elm_1a6c405fdd34c38d29b355cd051527ad9b'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_section_desc * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'p_sec_desc'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '404'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +section desctiptors to U-plane data given RBs +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1acb6ecf7858c99c963182b9b7884deca6'; + sec-mem-ref-line = '1578'; + sec-mem-ref-name = 'xran_process_rx_sym'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__prb__elm_1af868e8b704cfa4b2cfc9f02b14bb8ca4'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_cp_bf_weight +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'bf_weight'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '404'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +beam forming information relevant for given RBs +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__prb__elm_1a3e5b780c49cb9d6ec97dcd4762f8ac34'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_cp_bf_attribute +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'bf_attribute'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '404'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__prb__elm_1a78ed222752b307427c62c9f4c1e4c8be'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_cp_bf_precoding +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'bf_precoding'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '404'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__prb__elm_1a792a3f6fb505ec20367144c2cd79f295'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +union xran_prb_elm::__anonymous__ +_EnD_oF_dEf_TeXt_; + sec-mem-name = '@4'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '410'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + cp-fileline = '393'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ +PRB element structure +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 562; + node-label = 'xran_cp_bf_weight'; + node-link = { + node-link-id = 'structxran__cp__bf__weight'; + }; + }; /* node */ + node = { + node-id = 565; + node-label = 'xran_cp_bf_precoding'; + node-link = { + node-link-id = 'structxran__cp__bf__precoding'; + }; + }; /* node */ + node = { + node-id = 564; + node-label = 'xran_section_desc'; + node-link = { + node-link-id = 'structxran__section__desc'; + }; + }; /* node */ + node = { + node-id = 563; + node-label = 'xran_cp_bf_attribute'; + node-link = { + node-link-id = 'structxran__cp__bf__attribute'; + }; + }; /* node */ + node = { + node-id = 561; + node-label = 'xran_prb_elm'; + node-link = { + node-link-id = 'structxran__prb__elm'; + }; + node-child = { + child-id = '562'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++bf_weight +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '563'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++bf_attribute +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '564'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++p_sec_desc +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '565'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++bf_precoding +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structxran__prb__map'; + cp-name = 'xran_prb_map'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__prb__map_1a92abda0bec7c1c978fe96f87aad18067'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'dir'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '415'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +DL or UL direction +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a200da4e2209141f12cafef2380cb801a'; + sec-mem-ref-line = '740'; + sec-mem-ref-name = 'xranLibWraper::Init'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__prb__map_1a5ca9a2b3d2a5c902f8153e3e383049be'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'xran_port'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '416'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +xran id of given RU [0-(XRAN_PORTS_NUM-1)] +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a200da4e2209141f12cafef2380cb801a'; + sec-mem-ref-line = '740'; + sec-mem-ref-name = 'xranLibWraper::Init'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__prb__map_1a1c85ead6321835264d2451291430a7da'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'band_id'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '417'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +xran band id +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a200da4e2209141f12cafef2380cb801a'; + sec-mem-ref-line = '740'; + sec-mem-ref-name = 'xranLibWraper::Init'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__prb__map_1a7fd0cb6d38d73460d3eaba911462dc69'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'cc_id'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '418'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +componnent carrier id [0 - (XRAN_MAX_SECTOR_NR-1)] +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a200da4e2209141f12cafef2380cb801a'; + sec-mem-ref-line = '740'; + sec-mem-ref-name = 'xranLibWraper::Init'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__prb__map_1a16b7b2d1f57da5ed39e7e3a026592a85'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'ru_port_id'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '419'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +RU device antenna port id [0 - (XRAN_MAX_ANTENNA_NR-1) +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a200da4e2209141f12cafef2380cb801a'; + sec-mem-ref-line = '740'; + sec-mem-ref-name = 'xranLibWraper::Init'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__prb__map_1a689e28eeb2f378d4dc5f915a30f560db'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'tti_id'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '420'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +xRAN slot id [0 - (max tti-1)] +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a200da4e2209141f12cafef2380cb801a'; + sec-mem-ref-line = '740'; + sec-mem-ref-name = 'xranLibWraper::Init'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__prb__map_1afc7dda8bf6b9a76f94c88c3610d9c594'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'start_sym_id'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '421'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +start symbol Id [0-13] +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a200da4e2209141f12cafef2380cb801a'; + sec-mem-ref-line = '740'; + sec-mem-ref-name = 'xranLibWraper::Init'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__prb__map_1a5a2ad8f5285dd33572e310069cdac3c4'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'nPrbElm'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '422'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +total number of PRB elements for given map [0- (XRAN_MAX_PRBS-1)] +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a200da4e2209141f12cafef2380cb801a'; + sec-mem-ref-line = '740'; + sec-mem-ref-name = 'xranLibWraper::Init'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1acb6ecf7858c99c963182b9b7884deca6'; + sec-mem-ref-line = '1578'; + sec-mem-ref-name = 'xran_process_rx_sym'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__prb__map_1a2357c89e196d6c8c53e29bf04d168b7e'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_prb_elm +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'prbMap'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '422'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a200da4e2209141f12cafef2380cb801a'; + sec-mem-ref-line = '740'; + sec-mem-ref-name = 'xranLibWraper::Init'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1acb6ecf7858c99c963182b9b7884deca6'; + sec-mem-ref-line = '1578'; + sec-mem-ref-name = 'xran_process_rx_sym'; + }; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + cp-fileline = '414'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ +PRB map structure +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 569; + node-label = 'xran_cp_bf_weight'; + node-link = { + node-link-id = 'structxran__cp__bf__weight'; + }; + }; /* node */ + node = { + node-id = 572; + node-label = 'xran_cp_bf_precoding'; + node-link = { + node-link-id = 'structxran__cp__bf__precoding'; + }; + }; /* node */ + node = { + node-id = 571; + node-label = 'xran_section_desc'; + node-link = { + node-link-id = 'structxran__section__desc'; + }; + }; /* node */ + node = { + node-id = 567; + node-label = 'xran_prb_map'; + node-link = { + node-link-id = 'structxran__prb__map'; + }; + node-child = { + child-id = '568'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++prbMap +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + node = { + node-id = 570; + node-label = 'xran_cp_bf_attribute'; + node-link = { + node-link-id = 'structxran__cp__bf__attribute'; + }; + }; /* node */ + node = { + node-id = 568; + node-label = 'xran_prb_elm'; + node-link = { + node-link-id = 'structxran__prb__elm'; + }; + node-child = { + child-id = '569'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++bf_weight +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '570'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++bf_attribute +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '571'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++p_sec_desc +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '572'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++bf_precoding +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structxran__radioapp__ud_comp__header'; + cp-name = 'xran_radioapp_udComp_header'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__radioapp__ud_comp__header_1a9c71fd134ce52f71b21a0a9bef99163a'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'udCompMeth'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '47'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Compression method, XRAN_COMPMETHOD_xxxx +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a38c83cd67a7265920f3bd0b36510f713'; + sec-mem-ref-line = '1749'; + sec-mem-ref-name = 'xran_parse_cp_pkt'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__radioapp__ud_comp__header_1aa1f422e7156fc4b759197bd687beffba'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'udIqWidth'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + sec-mem-desc-line = '48'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +IQ bit width, 1 ~ 16 +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a38c83cd67a7265920f3bd0b36510f713'; + sec-mem-ref-line = '1749'; + sec-mem-ref-name = 'xran_parse_cp_pkt'; + }; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + cp-fileline = '46'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ +@description + user data compression header defined in 5.4.4.10 / 6.3.3.13 +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 574; + node-label = 'xran_radioapp_udComp_header'; + node-link = { + node-link-id = 'structxran__radioapp__ud_comp__header'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structxran__recv__packet__info'; + cp-name = 'xran_recv_packet_info'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__recv__packet__info_1af75754cde2a3f5b9a770a31adb61fcbf'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'ecpri_version'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_transport.h'; + sec-mem-desc-line = '48'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__transport_8c_1ad199c3f4bfa018f5d0846471206217d1'; + sec-mem-ref-line = '192'; + sec-mem-ref-name = 'xran_parse_ecpri_hdr'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__recv__packet__info_1a3e9be941593e594f0aece9b7f223d757'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +enum ecpri_msg_type +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'msg_type'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_transport.h'; + sec-mem-desc-line = '48'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__transport_8c_1ad199c3f4bfa018f5d0846471206217d1'; + sec-mem-ref-line = '192'; + sec-mem-ref-name = 'xran_parse_ecpri_hdr'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__recv__packet__info_1abfeae9f0b773fefda3b80b9ca41d3ff6'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'payload_len'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_transport.h'; + sec-mem-desc-line = '50'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a38c83cd67a7265920f3bd0b36510f713'; + sec-mem-ref-line = '1749'; + sec-mem-ref-name = 'xran_parse_cp_pkt'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__transport_8c_1ad199c3f4bfa018f5d0846471206217d1'; + sec-mem-ref-line = '192'; + sec-mem-ref-name = 'xran_parse_ecpri_hdr'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__recv__packet__info_1acd06407a6718be7fc0ed0b9bf6b9e4c3'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_eaxc_info +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'eaxc'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_transport.h'; + sec-mem-desc-line = '50'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a38c83cd67a7265920f3bd0b36510f713'; + sec-mem-ref-line = '1749'; + sec-mem-ref-name = 'xran_parse_cp_pkt'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__transport_8c_1ad199c3f4bfa018f5d0846471206217d1'; + sec-mem-ref-line = '192'; + sec-mem-ref-name = 'xran_parse_ecpri_hdr'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__recv__packet__info_1ad03f3906ca027603299130f471bbdfe3'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'seq_id'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_transport.h'; + sec-mem-desc-line = '52'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a38c83cd67a7265920f3bd0b36510f713'; + sec-mem-ref-line = '1749'; + sec-mem-ref-name = 'xran_parse_cp_pkt'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__transport_8c_1ad199c3f4bfa018f5d0846471206217d1'; + sec-mem-ref-line = '192'; + sec-mem-ref-name = 'xran_parse_ecpri_hdr'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__recv__packet__info_1a860ee826897d09d78f35d2b15085efac'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'subseq_id'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_transport.h'; + sec-mem-desc-line = '53'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a38c83cd67a7265920f3bd0b36510f713'; + sec-mem-ref-line = '1749'; + sec-mem-ref-name = 'xran_parse_cp_pkt'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__transport_8c_1ad199c3f4bfa018f5d0846471206217d1'; + sec-mem-ref-line = '192'; + sec-mem-ref-name = 'xran_parse_ecpri_hdr'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__recv__packet__info_1afc198efda3f50db2a5cae3c738528dd9'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'ebit'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_transport.h'; + sec-mem-desc-line = '54'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a38c83cd67a7265920f3bd0b36510f713'; + sec-mem-ref-line = '1749'; + sec-mem-ref-name = 'xran_parse_cp_pkt'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__transport_8c_1ad199c3f4bfa018f5d0846471206217d1'; + sec-mem-ref-line = '192'; + sec-mem-ref-name = 'xran_parse_ecpri_hdr'; + }; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_transport.h'; + cp-fileline = '47'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 576; + node-label = 'xran_recv_packet_info'; + node-link = { + node-link-id = 'structxran__recv__packet__info'; + }; + node-child = { + child-id = '577'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++eaxc +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + node = { + node-id = 577; + node-label = 'xran_eaxc_info'; + node-link = { + node-link-id = 'structxran__eaxc__info'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structxran__ru__config'; + cp-name = 'xran_ru_config'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__ru__config_1af92ff2dfd2bddd0880d779c04b9fb359'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +enum xran_category +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'xranCat'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '464'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +mode: Catergory A or Category B +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'chain__tests_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '135'; + sec-mem-ref-name = 'TestChain::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a2e64fc338fcfaac25af91aae564777fa'; + sec-mem-ref-line = '467'; + sec-mem-ref-name = 'xranLibWraper::xranLibWraper'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a25afbf449e11f9e290e0fdbef77702c2'; + sec-mem-ref-line = '1116'; + sec-mem-ref-name = 'xranLibWraper::get_rucategory'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a03f408f45e97aa68ca47c92e4e7d1a70'; + sec-mem-ref-line = '2756'; + sec-mem-ref-name = 'xran_open'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__ru__config_1a1520b1ef6131bff6c14b88d849c266c5'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'iqWidth'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '486'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +IQ bit width +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'chain__tests_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '135'; + sec-mem-ref-name = 'TestChain::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '92'; + sec-mem-ref-name = 'PrachCheck::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a62307393b7f454a2b348ada67997b796'; + sec-mem-ref-line = '177'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a2e64fc338fcfaac25af91aae564777fa'; + sec-mem-ref-line = '467'; + sec-mem-ref-name = 'xranLibWraper::xranLibWraper'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__ru__config_1a1e4a3c43fc7865c6520471fb9ba8501f'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'compMeth'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '487'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Compression method +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'chain__tests_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '135'; + sec-mem-ref-name = 'TestChain::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '92'; + sec-mem-ref-name = 'PrachCheck::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a62307393b7f454a2b348ada67997b796'; + sec-mem-ref-line = '177'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1a3d4bd5c7eec6da4ab71688e209100761'; + sec-mem-ref-line = '143'; + sec-mem-ref-name = 'process_mbuf'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a2e64fc338fcfaac25af91aae564777fa'; + sec-mem-ref-line = '467'; + sec-mem-ref-name = 'xranLibWraper::xranLibWraper'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__ru__config_1a59e7e8f3feb686850b0cb0ae065de85b'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'fftSize'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '488'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +FFT Size +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'chain__tests_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '135'; + sec-mem-ref-name = 'TestChain::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '92'; + sec-mem-ref-name = 'PrachCheck::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a62307393b7f454a2b348ada67997b796'; + sec-mem-ref-line = '177'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a2e64fc338fcfaac25af91aae564777fa'; + sec-mem-ref-line = '467'; + sec-mem-ref-name = 'xranLibWraper::xranLibWraper'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__ru__config_1a74e72997edeea7f9f1696baffb9989b4'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +enum xran_input_byte_order +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'byteOrder'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '488'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Order of bytes in int16_t in buffer. Big or little endian +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a2e64fc338fcfaac25af91aae564777fa'; + sec-mem-ref-line = '467'; + sec-mem-ref-name = 'xranLibWraper::xranLibWraper'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a14cfa955b7fdf58378a97b4cfa7268f8'; + sec-mem-ref-line = '1384'; + sec-mem-ref-name = 'xran_process_prach_sym'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a300b87c29358bb161404c0122a9b2a46'; + sec-mem-ref-line = '1461'; + sec-mem-ref-name = 'xran_process_srs_sym'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1acb6ecf7858c99c963182b9b7884deca6'; + sec-mem-ref-line = '1578'; + sec-mem-ref-name = 'xran_process_rx_sym'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a03f408f45e97aa68ca47c92e4e7d1a70'; + sec-mem-ref-line = '2756'; + sec-mem-ref-name = 'xran_open'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__ru__config_1ad1b1309ca2645e24fa201f8decae1988'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +enum xran_input_i_q_order +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'iqOrder'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '488'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +order of IQs in the buffer +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a2e64fc338fcfaac25af91aae564777fa'; + sec-mem-ref-line = '467'; + sec-mem-ref-name = 'xranLibWraper::xranLibWraper'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a03f408f45e97aa68ca47c92e4e7d1a70'; + sec-mem-ref-line = '2756'; + sec-mem-ref-name = 'xran_open'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__ru__config_1a7a25206e77e83a57fd036102cebfb4f0'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'xran_max_frame'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '491'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +max frame number supported +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a03f408f45e97aa68ca47c92e4e7d1a70'; + sec-mem-ref-line = '2756'; + sec-mem-ref-name = 'xran_open'; + }; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + cp-fileline = '483'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ +XRAN front haul IQ compression settings +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 579; + node-label = 'xran_ru_config'; + node-link = { + node-link-id = 'structxran__ru__config'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structxran__section__desc'; + cp-name = 'xran_section_desc'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__section__desc_1aa82fd2a2292b3c25c7027b898fa53815'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'section_id'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '383'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +section id used for this element +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__section__desc_1a4d1fb35f3f2d9f3556fbd1761a167255'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'iq_buffer_offset'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '385'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Offset in bytes for the content of IQs with in main symb buffer +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1aaa01e98d3b3439a332302aebe21459dd'; + sec-mem-ref-line = '535'; + sec-mem-ref-name = 'generate_cpmsg_dlul'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1acb6ecf7858c99c963182b9b7884deca6'; + sec-mem-ref-line = '1578'; + sec-mem-ref-name = 'xran_process_rx_sym'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__section__desc_1ae55ac9499e5406559ad2ff0376dd0a68'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'iq_buffer_len'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '386'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Length in bytes for the content of IQs with in main symb buffer +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1aaa01e98d3b3439a332302aebe21459dd'; + sec-mem-ref-line = '535'; + sec-mem-ref-name = 'generate_cpmsg_dlul'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1acb6ecf7858c99c963182b9b7884deca6'; + sec-mem-ref-line = '1578'; + sec-mem-ref-name = 'xran_process_rx_sym'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__section__desc_1a77f0d5374ee675db57c0b29946ca7744'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'pData'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '388'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +optional pointer to data buffer +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1acb6ecf7858c99c963182b9b7884deca6'; + sec-mem-ref-line = '1578'; + sec-mem-ref-name = 'xran_process_rx_sym'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__section__desc_1addb9297d816b26c680888115de8c9538'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'pCtrl'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '389'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +optional poitner to mbuf +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1acb6ecf7858c99c963182b9b7884deca6'; + sec-mem-ref-line = '1578'; + sec-mem-ref-name = 'xran_process_rx_sym'; + }; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + cp-fileline = '382'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ +section descriptor for given number of PRBs used on U-plane packet creation +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 581; + node-label = 'xran_section_desc'; + node-link = { + node-link-id = 'structxran__section__desc'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structxran__section__gen__info'; + cp-name = 'xran_section_gen_info'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__section__gen__info_1a6ccd48a36736101737e9b419d7a3cc85'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_section_info +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'info'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '290'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +The information for section +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a7fd4d380e2392bfe924c06a8101b6d85'; + sec-mem-ref-line = '320'; + sec-mem-ref-name = 'C_plane::prepare_sections'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a2d5e33dd093724772a1447910bd34e15'; + sec-mem-ref-line = '394'; + sec-mem-ref-name = 'C_plane::verify_sections'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a11a0b914a08e5375cae792dc6db08c7a'; + sec-mem-ref-line = '566'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1aaa01e98d3b3439a332302aebe21459dd'; + sec-mem-ref-line = '535'; + sec-mem-ref-name = 'generate_cpmsg_dlul'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1ab8a6ed3cee8fa183142d0c23d0b4971d'; + sec-mem-ref-line = '595'; + sec-mem-ref-name = 'generate_cpmsg_prach'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a38c83cd67a7265920f3bd0b36510f713'; + sec-mem-ref-line = '1749'; + sec-mem-ref-name = 'xran_parse_cp_pkt'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__section__gen__info_1aa561d89cbc570e39183c64a5095a6053'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'exDataSize'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '298'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +The number of Extensions or type 6/7 data +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1aecd2fcecaca860136bf56e6af5155e96'; + sec-mem-ref-line = '230'; + sec-mem-ref-name = 'C_plane::prepare_extensions'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a7fd4d380e2392bfe924c06a8101b6d85'; + sec-mem-ref-line = '320'; + sec-mem-ref-name = 'C_plane::prepare_sections'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a2d5e33dd093724772a1447910bd34e15'; + sec-mem-ref-line = '394'; + sec-mem-ref-name = 'C_plane::verify_sections'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a11a0b914a08e5375cae792dc6db08c7a'; + sec-mem-ref-line = '566'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1aaa01e98d3b3439a332302aebe21459dd'; + sec-mem-ref-line = '535'; + sec-mem-ref-name = 'generate_cpmsg_dlul'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1ab8a6ed3cee8fa183142d0c23d0b4971d'; + sec-mem-ref-line = '595'; + sec-mem-ref-name = 'generate_cpmsg_prach'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a8a6808ba5994c2ab413ee00dd56299cd'; + sec-mem-ref-line = '907'; + sec-mem-ref-name = 'xran_append_section_extensions'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a9d4ed2d1226eb004597b69dfd86c7c93'; + sec-mem-ref-line = '1668'; + sec-mem-ref-name = 'xran_parse_section_extension'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a38c83cd67a7265920f3bd0b36510f713'; + sec-mem-ref-line = '1749'; + sec-mem-ref-name = 'xran_parse_cp_pkt'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__section__gen__info_1acb5cfd209ba75c853d03f701e7f91679'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'type'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '301'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +the type of section extension +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1aecd2fcecaca860136bf56e6af5155e96'; + sec-mem-ref-line = '230'; + sec-mem-ref-name = 'C_plane::prepare_extensions'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a2d5e33dd093724772a1447910bd34e15'; + sec-mem-ref-line = '394'; + sec-mem-ref-name = 'C_plane::verify_sections'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a11a0b914a08e5375cae792dc6db08c7a'; + sec-mem-ref-line = '566'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a8a6808ba5994c2ab413ee00dd56299cd'; + sec-mem-ref-line = '907'; + sec-mem-ref-name = 'xran_append_section_extensions'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a9d4ed2d1226eb004597b69dfd86c7c93'; + sec-mem-ref-line = '1668'; + sec-mem-ref-name = 'xran_parse_section_extension'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a38c83cd67a7265920f3bd0b36510f713'; + sec-mem-ref-line = '1749'; + sec-mem-ref-name = 'xran_parse_cp_pkt'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__section__gen__info_1a8aed22e2c7b283705ec82e0120515618'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'len'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '302'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +length of extension data +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1aecd2fcecaca860136bf56e6af5155e96'; + sec-mem-ref-line = '230'; + sec-mem-ref-name = 'C_plane::prepare_extensions'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a11a0b914a08e5375cae792dc6db08c7a'; + sec-mem-ref-line = '566'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a9d4ed2d1226eb004597b69dfd86c7c93'; + sec-mem-ref-line = '1668'; + sec-mem-ref-name = 'xran_parse_section_extension'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a38c83cd67a7265920f3bd0b36510f713'; + sec-mem-ref-line = '1749'; + sec-mem-ref-name = 'xran_parse_cp_pkt'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__section__gen__info_1a735984d41155bc1032e09bece8f8d66d'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'data'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '303'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +pointer to extension data +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1aecd2fcecaca860136bf56e6af5155e96'; + sec-mem-ref-line = '230'; + sec-mem-ref-name = 'C_plane::prepare_extensions'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a2d5e33dd093724772a1447910bd34e15'; + sec-mem-ref-line = '394'; + sec-mem-ref-name = 'C_plane::verify_sections'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a11a0b914a08e5375cae792dc6db08c7a'; + sec-mem-ref-line = '566'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a8a6808ba5994c2ab413ee00dd56299cd'; + sec-mem-ref-line = '907'; + sec-mem-ref-name = 'xran_append_section_extensions'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a9d4ed2d1226eb004597b69dfd86c7c93'; + sec-mem-ref-line = '1668'; + sec-mem-ref-name = 'xran_parse_section_extension'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a38c83cd67a7265920f3bd0b36510f713'; + sec-mem-ref-line = '1749'; + sec-mem-ref-name = 'xran_parse_cp_pkt'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__section__gen__info_1ab8e4e63c68495e71cca8e6ea069b9218'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_section_gen_info::__anonymous__ +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'exData'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '304'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +the array to store section extension +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1aecd2fcecaca860136bf56e6af5155e96'; + sec-mem-ref-line = '230'; + sec-mem-ref-name = 'C_plane::prepare_extensions'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a2d5e33dd093724772a1447910bd34e15'; + sec-mem-ref-line = '394'; + sec-mem-ref-name = 'C_plane::verify_sections'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a11a0b914a08e5375cae792dc6db08c7a'; + sec-mem-ref-line = '566'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a8a6808ba5994c2ab413ee00dd56299cd'; + sec-mem-ref-line = '907'; + sec-mem-ref-name = 'xran_append_section_extensions'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a9d4ed2d1226eb004597b69dfd86c7c93'; + sec-mem-ref-line = '1668'; + sec-mem-ref-name = 'xran_parse_section_extension'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a38c83cd67a7265920f3bd0b36510f713'; + sec-mem-ref-line = '1749'; + sec-mem-ref-name = 'xran_parse_cp_pkt'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__section__gen__info_1ac1c64088df7167c5a46bf9a5bb746534'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_sectionext1_info +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_ext1'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '298'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a9d4ed2d1226eb004597b69dfd86c7c93'; + sec-mem-ref-line = '1668'; + sec-mem-ref-name = 'xran_parse_section_extension'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__section__gen__info_1a9da3976c12b7433a90917228f7069381'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_sectionext2_info +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_ext2'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '298'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a9d4ed2d1226eb004597b69dfd86c7c93'; + sec-mem-ref-line = '1668'; + sec-mem-ref-name = 'xran_parse_section_extension'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__section__gen__info_1aa252bcb2bac0467e0262920ec34285a0'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_sectionext3_info +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_ext3'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '298'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__section__gen__info_1adaf7350928e8b26da41ded39ba7295e5'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_sectionext4_info +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_ext4'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '298'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a9d4ed2d1226eb004597b69dfd86c7c93'; + sec-mem-ref-line = '1668'; + sec-mem-ref-name = 'xran_parse_section_extension'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__section__gen__info_1a6948d126d229683da976877b617fbd8e'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_sectionext5_info +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_ext5'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '298'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a9d4ed2d1226eb004597b69dfd86c7c93'; + sec-mem-ref-line = '1668'; + sec-mem-ref-name = 'xran_parse_section_extension'; + }; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + cp-fileline = '295'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ +This structure to hold the information to generate the sections of C-Plane message +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 586; + node-label = 'xran_sectionext3_info'; + node-link = { + node-link-id = 'structxran__sectionext3__info'; + }; + }; /* node */ + node = { + node-id = 590; + node-label = 'xran_section_desc'; + node-link = { + node-link-id = 'structxran__section__desc'; + }; + }; /* node */ + node = { + node-id = 585; + node-label = 'xran_sectionext4_info'; + node-link = { + node-link-id = 'structxran__sectionext4__info'; + }; + }; /* node */ + node = { + node-id = 583; + node-label = 'xran_section_gen_info'; + node-link = { + node-link-id = 'structxran__section__gen__info'; + }; + node-child = { + child-id = '584'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++m_ext5 +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '585'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++m_ext4 +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '586'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++m_ext3 +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '587'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++m_ext2 +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '588'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++m_ext1 +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '589'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++info +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + node = { + node-id = 588; + node-label = 'xran_sectionext1_info'; + node-link = { + node-link-id = 'structxran__sectionext1__info'; + }; + }; /* node */ + node = { + node-id = 589; + node-label = 'xran_section_info'; + node-link = { + node-link-id = 'structxran__section__info'; + }; + node-child = { + child-id = '590'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++sec_desc +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + node = { + node-id = 584; + node-label = 'xran_sectionext5_info'; + node-link = { + node-link-id = 'structxran__sectionext5__info'; + }; + }; /* node */ + node = { + node-id = 587; + node-label = 'xran_sectionext2_info'; + node-link = { + node-link-id = 'structxran__sectionext2__info'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structxran__section__info'; + cp-name = 'xran_section_info'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__section__info_1a1d127017fb298b889f4ba24752d08b8e'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'type'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '185'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a7fd4d380e2392bfe924c06a8101b6d85'; + sec-mem-ref-line = '320'; + sec-mem-ref-name = 'C_plane::prepare_sections'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a62307393b7f454a2b348ada67997b796'; + sec-mem-ref-line = '177'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1aaa01e98d3b3439a332302aebe21459dd'; + sec-mem-ref-line = '535'; + sec-mem-ref-name = 'generate_cpmsg_dlul'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1ab8a6ed3cee8fa183142d0c23d0b4971d'; + sec-mem-ref-line = '595'; + sec-mem-ref-name = 'generate_cpmsg_prach'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a38c83cd67a7265920f3bd0b36510f713'; + sec-mem-ref-line = '1749'; + sec-mem-ref-name = 'xran_parse_cp_pkt'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__section__info_1ac54814779041bec5dcf8aec288d69b06'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'startSymId'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '188'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a7fd4d380e2392bfe924c06a8101b6d85'; + sec-mem-ref-line = '320'; + sec-mem-ref-name = 'C_plane::prepare_sections'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a62307393b7f454a2b348ada67997b796'; + sec-mem-ref-line = '177'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1aaa01e98d3b3439a332302aebe21459dd'; + sec-mem-ref-line = '535'; + sec-mem-ref-name = 'generate_cpmsg_dlul'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1ab8a6ed3cee8fa183142d0c23d0b4971d'; + sec-mem-ref-line = '595'; + sec-mem-ref-name = 'generate_cpmsg_prach'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__section__info_1a664cb6ca464c69ef60a445fa4f4b3522'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'numSymbol'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '189'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a7fd4d380e2392bfe924c06a8101b6d85'; + sec-mem-ref-line = '320'; + sec-mem-ref-name = 'C_plane::prepare_sections'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a2d5e33dd093724772a1447910bd34e15'; + sec-mem-ref-line = '394'; + sec-mem-ref-name = 'C_plane::verify_sections'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a62307393b7f454a2b348ada67997b796'; + sec-mem-ref-line = '177'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1aaa01e98d3b3439a332302aebe21459dd'; + sec-mem-ref-line = '535'; + sec-mem-ref-name = 'generate_cpmsg_dlul'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1ab8a6ed3cee8fa183142d0c23d0b4971d'; + sec-mem-ref-line = '595'; + sec-mem-ref-name = 'generate_cpmsg_prach'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a38c83cd67a7265920f3bd0b36510f713'; + sec-mem-ref-line = '1749'; + sec-mem-ref-name = 'xran_parse_cp_pkt'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__section__info_1a52f6623d45fec4bf9c14898f7e53db34'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'symInc'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '190'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a7fd4d380e2392bfe924c06a8101b6d85'; + sec-mem-ref-line = '320'; + sec-mem-ref-name = 'C_plane::prepare_sections'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a2d5e33dd093724772a1447910bd34e15'; + sec-mem-ref-line = '394'; + sec-mem-ref-name = 'C_plane::verify_sections'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a62307393b7f454a2b348ada67997b796'; + sec-mem-ref-line = '177'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1aaa01e98d3b3439a332302aebe21459dd'; + sec-mem-ref-line = '535'; + sec-mem-ref-name = 'generate_cpmsg_dlul'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1ab8a6ed3cee8fa183142d0c23d0b4971d'; + sec-mem-ref-line = '595'; + sec-mem-ref-name = 'generate_cpmsg_prach'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a38c83cd67a7265920f3bd0b36510f713'; + sec-mem-ref-line = '1749'; + sec-mem-ref-name = 'xran_parse_cp_pkt'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__section__info_1a4fc3a0c58dfbd1e68224521185cb9384'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'id'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '191'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a7fd4d380e2392bfe924c06a8101b6d85'; + sec-mem-ref-line = '320'; + sec-mem-ref-name = 'C_plane::prepare_sections'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a2d5e33dd093724772a1447910bd34e15'; + sec-mem-ref-line = '394'; + sec-mem-ref-name = 'C_plane::verify_sections'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a62307393b7f454a2b348ada67997b796'; + sec-mem-ref-line = '177'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1aaa01e98d3b3439a332302aebe21459dd'; + sec-mem-ref-line = '535'; + sec-mem-ref-name = 'generate_cpmsg_dlul'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1ab8a6ed3cee8fa183142d0c23d0b4971d'; + sec-mem-ref-line = '595'; + sec-mem-ref-name = 'generate_cpmsg_prach'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a38c83cd67a7265920f3bd0b36510f713'; + sec-mem-ref-line = '1749'; + sec-mem-ref-name = 'xran_parse_cp_pkt'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__section__info_1ab8acca18b930cde25e1cf85ae86c964c'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'reMask'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '192'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a7fd4d380e2392bfe924c06a8101b6d85'; + sec-mem-ref-line = '320'; + sec-mem-ref-name = 'C_plane::prepare_sections'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a2d5e33dd093724772a1447910bd34e15'; + sec-mem-ref-line = '394'; + sec-mem-ref-name = 'C_plane::verify_sections'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a62307393b7f454a2b348ada67997b796'; + sec-mem-ref-line = '177'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1aaa01e98d3b3439a332302aebe21459dd'; + sec-mem-ref-line = '535'; + sec-mem-ref-name = 'generate_cpmsg_dlul'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1ab8a6ed3cee8fa183142d0c23d0b4971d'; + sec-mem-ref-line = '595'; + sec-mem-ref-name = 'generate_cpmsg_prach'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a38c83cd67a7265920f3bd0b36510f713'; + sec-mem-ref-line = '1749'; + sec-mem-ref-name = 'xran_parse_cp_pkt'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__section__info_1a6b13285aabf8f2f4598143b2670204c1'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'startPrbc'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '193'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a7fd4d380e2392bfe924c06a8101b6d85'; + sec-mem-ref-line = '320'; + sec-mem-ref-name = 'C_plane::prepare_sections'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a2d5e33dd093724772a1447910bd34e15'; + sec-mem-ref-line = '394'; + sec-mem-ref-name = 'C_plane::verify_sections'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a62307393b7f454a2b348ada67997b796'; + sec-mem-ref-line = '177'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1aaa01e98d3b3439a332302aebe21459dd'; + sec-mem-ref-line = '535'; + sec-mem-ref-name = 'generate_cpmsg_dlul'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1ab8a6ed3cee8fa183142d0c23d0b4971d'; + sec-mem-ref-line = '595'; + sec-mem-ref-name = 'generate_cpmsg_prach'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a38c83cd67a7265920f3bd0b36510f713'; + sec-mem-ref-line = '1749'; + sec-mem-ref-name = 'xran_parse_cp_pkt'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__section__info_1a2b72ddddeff4e4a8a5c191695ec41079'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'numPrbc'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '194'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a7fd4d380e2392bfe924c06a8101b6d85'; + sec-mem-ref-line = '320'; + sec-mem-ref-name = 'C_plane::prepare_sections'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a2d5e33dd093724772a1447910bd34e15'; + sec-mem-ref-line = '394'; + sec-mem-ref-name = 'C_plane::verify_sections'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a62307393b7f454a2b348ada67997b796'; + sec-mem-ref-line = '177'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1aaa01e98d3b3439a332302aebe21459dd'; + sec-mem-ref-line = '535'; + sec-mem-ref-name = 'generate_cpmsg_dlul'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1ab8a6ed3cee8fa183142d0c23d0b4971d'; + sec-mem-ref-line = '595'; + sec-mem-ref-name = 'generate_cpmsg_prach'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a38c83cd67a7265920f3bd0b36510f713'; + sec-mem-ref-line = '1749'; + sec-mem-ref-name = 'xran_parse_cp_pkt'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__section__info_1affa3adbd50cd4af2018ba1fc0e8c3e31'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'rb'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '195'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a7fd4d380e2392bfe924c06a8101b6d85'; + sec-mem-ref-line = '320'; + sec-mem-ref-name = 'C_plane::prepare_sections'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a2d5e33dd093724772a1447910bd34e15'; + sec-mem-ref-line = '394'; + sec-mem-ref-name = 'C_plane::verify_sections'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a62307393b7f454a2b348ada67997b796'; + sec-mem-ref-line = '177'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1aaa01e98d3b3439a332302aebe21459dd'; + sec-mem-ref-line = '535'; + sec-mem-ref-name = 'generate_cpmsg_dlul'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1ab8a6ed3cee8fa183142d0c23d0b4971d'; + sec-mem-ref-line = '595'; + sec-mem-ref-name = 'generate_cpmsg_prach'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a38c83cd67a7265920f3bd0b36510f713'; + sec-mem-ref-line = '1749'; + sec-mem-ref-name = 'xran_parse_cp_pkt'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__section__info_1a1e4a3c43fc7865c6520471fb9ba8501f'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'compMeth'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '196'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a7fd4d380e2392bfe924c06a8101b6d85'; + sec-mem-ref-line = '320'; + sec-mem-ref-name = 'C_plane::prepare_sections'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a62307393b7f454a2b348ada67997b796'; + sec-mem-ref-line = '177'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1aaa01e98d3b3439a332302aebe21459dd'; + sec-mem-ref-line = '535'; + sec-mem-ref-name = 'generate_cpmsg_dlul'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1ab8a6ed3cee8fa183142d0c23d0b4971d'; + sec-mem-ref-line = '595'; + sec-mem-ref-name = 'generate_cpmsg_prach'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__section__info_1a1520b1ef6131bff6c14b88d849c266c5'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'iqWidth'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '197'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a7fd4d380e2392bfe924c06a8101b6d85'; + sec-mem-ref-line = '320'; + sec-mem-ref-name = 'C_plane::prepare_sections'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a62307393b7f454a2b348ada67997b796'; + sec-mem-ref-line = '177'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1aaa01e98d3b3439a332302aebe21459dd'; + sec-mem-ref-line = '535'; + sec-mem-ref-name = 'generate_cpmsg_dlul'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1ab8a6ed3cee8fa183142d0c23d0b4971d'; + sec-mem-ref-line = '595'; + sec-mem-ref-name = 'generate_cpmsg_prach'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__section__info_1afe3859cd334ad3f912622c58d5b2079e'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'ef'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '198'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a7fd4d380e2392bfe924c06a8101b6d85'; + sec-mem-ref-line = '320'; + sec-mem-ref-name = 'C_plane::prepare_sections'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a2d5e33dd093724772a1447910bd34e15'; + sec-mem-ref-line = '394'; + sec-mem-ref-name = 'C_plane::verify_sections'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a11a0b914a08e5375cae792dc6db08c7a'; + sec-mem-ref-line = '566'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1aaa01e98d3b3439a332302aebe21459dd'; + sec-mem-ref-line = '535'; + sec-mem-ref-name = 'generate_cpmsg_dlul'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1ab8a6ed3cee8fa183142d0c23d0b4971d'; + sec-mem-ref-line = '595'; + sec-mem-ref-name = 'generate_cpmsg_prach'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a38c83cd67a7265920f3bd0b36510f713'; + sec-mem-ref-line = '1749'; + sec-mem-ref-name = 'xran_parse_cp_pkt'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__section__info_1a3af58496c14a1c91c015aa6ffe7dca49'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'freqOffset'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '199'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a7fd4d380e2392bfe924c06a8101b6d85'; + sec-mem-ref-line = '320'; + sec-mem-ref-name = 'C_plane::prepare_sections'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a2d5e33dd093724772a1447910bd34e15'; + sec-mem-ref-line = '394'; + sec-mem-ref-name = 'C_plane::verify_sections'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a62307393b7f454a2b348ada67997b796'; + sec-mem-ref-line = '177'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1ab8a6ed3cee8fa183142d0c23d0b4971d'; + sec-mem-ref-line = '595'; + sec-mem-ref-name = 'generate_cpmsg_prach'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a38c83cd67a7265920f3bd0b36510f713'; + sec-mem-ref-line = '1749'; + sec-mem-ref-name = 'xran_parse_cp_pkt'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__section__info_1ac7deef3ca4b0fc12769165dbf9374569'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'beamId'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '200'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a7fd4d380e2392bfe924c06a8101b6d85'; + sec-mem-ref-line = '320'; + sec-mem-ref-name = 'C_plane::prepare_sections'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a2d5e33dd093724772a1447910bd34e15'; + sec-mem-ref-line = '394'; + sec-mem-ref-name = 'C_plane::verify_sections'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'prach__functional_8cc_1a62307393b7f454a2b348ada67997b796'; + sec-mem-ref-line = '177'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1aaa01e98d3b3439a332302aebe21459dd'; + sec-mem-ref-line = '535'; + sec-mem-ref-name = 'generate_cpmsg_dlul'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1ab8a6ed3cee8fa183142d0c23d0b4971d'; + sec-mem-ref-line = '595'; + sec-mem-ref-name = 'generate_cpmsg_prach'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a38c83cd67a7265920f3bd0b36510f713'; + sec-mem-ref-line = '1749'; + sec-mem-ref-name = 'xran_parse_cp_pkt'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__section__info_1abf9a56a4808dd3eba6b3e3303e3d080a'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'ueId'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '201'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__section__info_1aebf3365962d1bbb1b52ee9687006cbed'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'regFactor'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '202'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__section__info_1a0b43a347f3b949ec61086b57503bc00f'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'pad0'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '203'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__section__info_1ae87ace79c701c8bafa8ed69be03b9542'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_section_desc +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'sec_desc'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '203'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +for U-plane +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1aaa01e98d3b3439a332302aebe21459dd'; + sec-mem-ref-line = '535'; + sec-mem-ref-name = 'generate_cpmsg_dlul'; + }; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + cp-fileline = '184'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ +This structure contains the information to generate the section body of C-Plane message +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 593; + node-label = 'xran_section_desc'; + node-link = { + node-link-id = 'structxran__section__desc'; + }; + }; /* node */ + node = { + node-id = 592; + node-label = 'xran_section_info'; + node-link = { + node-link-id = 'structxran__section__info'; + }; + node-child = { + child-id = '593'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++sec_desc +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structxran__sectionext1__info'; + cp-name = 'xran_sectionext1_info'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__sectionext1__info_1ad07777df733bfd87b118b5ea683fcb3b'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'rbNumber'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '210'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +number RBs to ext1 chain +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__sectionext1__info_1ab09d1df0b229edfd34c41706fcfa73e7'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'bfwNumber'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '211'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +number of bf weights in this section +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1aecd2fcecaca860136bf56e6af5155e96'; + sec-mem-ref-line = '230'; + sec-mem-ref-name = 'C_plane::prepare_extensions'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a2d5e33dd093724772a1447910bd34e15'; + sec-mem-ref-line = '394'; + sec-mem-ref-name = 'C_plane::verify_sections'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a11a0b914a08e5375cae792dc6db08c7a'; + sec-mem-ref-line = '566'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1aaa0c6012a36b539f8880c45ac909c331'; + sec-mem-ref-line = '1416'; + sec-mem-ref-name = 'xran_parse_section_ext1'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a38c83cd67a7265920f3bd0b36510f713'; + sec-mem-ref-line = '1749'; + sec-mem-ref-name = 'xran_parse_cp_pkt'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__sectionext1__info_1a3de53935627d11e11003c38bd6dca548'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'bfwiqWidth'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '212'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1aecd2fcecaca860136bf56e6af5155e96'; + sec-mem-ref-line = '230'; + sec-mem-ref-name = 'C_plane::prepare_extensions'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a2d5e33dd093724772a1447910bd34e15'; + sec-mem-ref-line = '394'; + sec-mem-ref-name = 'C_plane::verify_sections'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a11a0b914a08e5375cae792dc6db08c7a'; + sec-mem-ref-line = '566'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1aaa0c6012a36b539f8880c45ac909c331'; + sec-mem-ref-line = '1416'; + sec-mem-ref-name = 'xran_parse_section_ext1'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a38c83cd67a7265920f3bd0b36510f713'; + sec-mem-ref-line = '1749'; + sec-mem-ref-name = 'xran_parse_cp_pkt'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__sectionext1__info_1a489f0b868b86e577a5e515dc40987ba5'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'bfwCompMeth'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '213'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1aecd2fcecaca860136bf56e6af5155e96'; + sec-mem-ref-line = '230'; + sec-mem-ref-name = 'C_plane::prepare_extensions'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a2d5e33dd093724772a1447910bd34e15'; + sec-mem-ref-line = '394'; + sec-mem-ref-name = 'C_plane::verify_sections'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a11a0b914a08e5375cae792dc6db08c7a'; + sec-mem-ref-line = '566'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1aaa0c6012a36b539f8880c45ac909c331'; + sec-mem-ref-line = '1416'; + sec-mem-ref-name = 'xran_parse_section_ext1'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a38c83cd67a7265920f3bd0b36510f713'; + sec-mem-ref-line = '1749'; + sec-mem-ref-name = 'xran_parse_cp_pkt'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__sectionext1__info_1a535b83a8653a891f80fc204eb1d9cb8b'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int16_t * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'p_bfwIQ'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '214'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +pointer to formed section extention +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1aecd2fcecaca860136bf56e6af5155e96'; + sec-mem-ref-line = '230'; + sec-mem-ref-name = 'C_plane::prepare_extensions'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a2d5e33dd093724772a1447910bd34e15'; + sec-mem-ref-line = '394'; + sec-mem-ref-name = 'C_plane::verify_sections'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a11a0b914a08e5375cae792dc6db08c7a'; + sec-mem-ref-line = '566'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1aaa0c6012a36b539f8880c45ac909c331'; + sec-mem-ref-line = '1416'; + sec-mem-ref-name = 'xran_parse_section_ext1'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__sectionext1__info_1ae4f265cd1e2941e2d7366085f6f0b598'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'bfwIQ_sz'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '215'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +size of buffer with section extention information +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a11a0b914a08e5375cae792dc6db08c7a'; + sec-mem-ref-line = '566'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__sectionext1__info_1af05d5abe7656953548edfb3eb5117659'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'exponent'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '217'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1aecd2fcecaca860136bf56e6af5155e96'; + sec-mem-ref-line = '230'; + sec-mem-ref-name = 'C_plane::prepare_extensions'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a2d5e33dd093724772a1447910bd34e15'; + sec-mem-ref-line = '394'; + sec-mem-ref-name = 'C_plane::verify_sections'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1aaa0c6012a36b539f8880c45ac909c331'; + sec-mem-ref-line = '1416'; + sec-mem-ref-name = 'xran_parse_section_ext1'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__sectionext1__info_1ad32c6c9662025c7208ec099075b7ec27'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'blockScaler'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '218'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1aecd2fcecaca860136bf56e6af5155e96'; + sec-mem-ref-line = '230'; + sec-mem-ref-name = 'C_plane::prepare_extensions'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a2d5e33dd093724772a1447910bd34e15'; + sec-mem-ref-line = '394'; + sec-mem-ref-name = 'C_plane::verify_sections'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1aaa0c6012a36b539f8880c45ac909c331'; + sec-mem-ref-line = '1416'; + sec-mem-ref-name = 'xran_parse_section_ext1'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__sectionext1__info_1ac538592c50bd54df6d3c3dfb98fd1a96'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'compBitWidthShift'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '219'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1aecd2fcecaca860136bf56e6af5155e96'; + sec-mem-ref-line = '230'; + sec-mem-ref-name = 'C_plane::prepare_extensions'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a2d5e33dd093724772a1447910bd34e15'; + sec-mem-ref-line = '394'; + sec-mem-ref-name = 'C_plane::verify_sections'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1aaa0c6012a36b539f8880c45ac909c331'; + sec-mem-ref-line = '1416'; + sec-mem-ref-name = 'xran_parse_section_ext1'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__sectionext1__info_1abeddf07371133e2a155418d2ad6e6606'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'activeBeamspaceCoeffMask'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '220'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1aecd2fcecaca860136bf56e6af5155e96'; + sec-mem-ref-line = '230'; + sec-mem-ref-name = 'C_plane::prepare_extensions'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a2d5e33dd093724772a1447910bd34e15'; + sec-mem-ref-line = '394'; + sec-mem-ref-name = 'C_plane::verify_sections'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1aaa0c6012a36b539f8880c45ac909c331'; + sec-mem-ref-line = '1416'; + sec-mem-ref-name = 'xran_parse_section_ext1'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__sectionext1__info_1ae3551ba3eeae98639805a8d3391d5b3d'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +union xran_sectionext1_info::__anonymous__ +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'bfwCompParam'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '221'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1aecd2fcecaca860136bf56e6af5155e96'; + sec-mem-ref-line = '230'; + sec-mem-ref-name = 'C_plane::prepare_extensions'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a2d5e33dd093724772a1447910bd34e15'; + sec-mem-ref-line = '394'; + sec-mem-ref-name = 'C_plane::verify_sections'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1aaa0c6012a36b539f8880c45ac909c331'; + sec-mem-ref-line = '1416'; + sec-mem-ref-name = 'xran_parse_section_ext1'; + }; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + cp-fileline = '209'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 595; + node-label = 'xran_sectionext1_info'; + node-link = { + node-link-id = 'structxran__sectionext1__info'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structxran__sectionext2__info'; + cp-name = 'xran_sectionext2_info'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__sectionext2__info_1a2d14a28b7dc7cc4d18dae8c579a15d00'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'bfAzPtWidth'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '225'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1aecd2fcecaca860136bf56e6af5155e96'; + sec-mem-ref-line = '230'; + sec-mem-ref-name = 'C_plane::prepare_extensions'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a2d5e33dd093724772a1447910bd34e15'; + sec-mem-ref-line = '394'; + sec-mem-ref-name = 'C_plane::verify_sections'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1af3d96c5ccff84bf6a444f260f58a49f2'; + sec-mem-ref-line = '1497'; + sec-mem-ref-name = 'xran_parse_section_ext2'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a38c83cd67a7265920f3bd0b36510f713'; + sec-mem-ref-line = '1749'; + sec-mem-ref-name = 'xran_parse_cp_pkt'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__sectionext2__info_1aed0ddbdef5f3287fe38c115bf0f6b361'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'bfAzPt'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '226'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1aecd2fcecaca860136bf56e6af5155e96'; + sec-mem-ref-line = '230'; + sec-mem-ref-name = 'C_plane::prepare_extensions'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a2d5e33dd093724772a1447910bd34e15'; + sec-mem-ref-line = '394'; + sec-mem-ref-name = 'C_plane::verify_sections'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a38c83cd67a7265920f3bd0b36510f713'; + sec-mem-ref-line = '1749'; + sec-mem-ref-name = 'xran_parse_cp_pkt'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__sectionext2__info_1a0562069083918b7760597eaca4f0dceb'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'bfZePtWidth'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '227'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1aecd2fcecaca860136bf56e6af5155e96'; + sec-mem-ref-line = '230'; + sec-mem-ref-name = 'C_plane::prepare_extensions'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a2d5e33dd093724772a1447910bd34e15'; + sec-mem-ref-line = '394'; + sec-mem-ref-name = 'C_plane::verify_sections'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1af3d96c5ccff84bf6a444f260f58a49f2'; + sec-mem-ref-line = '1497'; + sec-mem-ref-name = 'xran_parse_section_ext2'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a38c83cd67a7265920f3bd0b36510f713'; + sec-mem-ref-line = '1749'; + sec-mem-ref-name = 'xran_parse_cp_pkt'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__sectionext2__info_1a8d5cbe6476d0e8b325cd4e1bad03a6d3'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'bfZePt'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '228'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1aecd2fcecaca860136bf56e6af5155e96'; + sec-mem-ref-line = '230'; + sec-mem-ref-name = 'C_plane::prepare_extensions'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a2d5e33dd093724772a1447910bd34e15'; + sec-mem-ref-line = '394'; + sec-mem-ref-name = 'C_plane::verify_sections'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a38c83cd67a7265920f3bd0b36510f713'; + sec-mem-ref-line = '1749'; + sec-mem-ref-name = 'xran_parse_cp_pkt'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__sectionext2__info_1af6d308ae11840b67c4e3234a78ca1591'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'bfAz3ddWidth'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '229'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1aecd2fcecaca860136bf56e6af5155e96'; + sec-mem-ref-line = '230'; + sec-mem-ref-name = 'C_plane::prepare_extensions'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a2d5e33dd093724772a1447910bd34e15'; + sec-mem-ref-line = '394'; + sec-mem-ref-name = 'C_plane::verify_sections'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1af3d96c5ccff84bf6a444f260f58a49f2'; + sec-mem-ref-line = '1497'; + sec-mem-ref-name = 'xran_parse_section_ext2'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a38c83cd67a7265920f3bd0b36510f713'; + sec-mem-ref-line = '1749'; + sec-mem-ref-name = 'xran_parse_cp_pkt'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__sectionext2__info_1adc26301dfc01bf86c8dc53bdef1ac5c3'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'bfAz3dd'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '230'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1aecd2fcecaca860136bf56e6af5155e96'; + sec-mem-ref-line = '230'; + sec-mem-ref-name = 'C_plane::prepare_extensions'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a2d5e33dd093724772a1447910bd34e15'; + sec-mem-ref-line = '394'; + sec-mem-ref-name = 'C_plane::verify_sections'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a38c83cd67a7265920f3bd0b36510f713'; + sec-mem-ref-line = '1749'; + sec-mem-ref-name = 'xran_parse_cp_pkt'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__sectionext2__info_1a52ffc8175e7bde0adbc75c865c854df2'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'bfZe3ddWidth'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '231'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1aecd2fcecaca860136bf56e6af5155e96'; + sec-mem-ref-line = '230'; + sec-mem-ref-name = 'C_plane::prepare_extensions'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a2d5e33dd093724772a1447910bd34e15'; + sec-mem-ref-line = '394'; + sec-mem-ref-name = 'C_plane::verify_sections'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1af3d96c5ccff84bf6a444f260f58a49f2'; + sec-mem-ref-line = '1497'; + sec-mem-ref-name = 'xran_parse_section_ext2'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a38c83cd67a7265920f3bd0b36510f713'; + sec-mem-ref-line = '1749'; + sec-mem-ref-name = 'xran_parse_cp_pkt'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__sectionext2__info_1a62a0cfe73c1305294d16fb9593a2a947'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'bfZe3dd'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '232'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1aecd2fcecaca860136bf56e6af5155e96'; + sec-mem-ref-line = '230'; + sec-mem-ref-name = 'C_plane::prepare_extensions'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a2d5e33dd093724772a1447910bd34e15'; + sec-mem-ref-line = '394'; + sec-mem-ref-name = 'C_plane::verify_sections'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1af3d96c5ccff84bf6a444f260f58a49f2'; + sec-mem-ref-line = '1497'; + sec-mem-ref-name = 'xran_parse_section_ext2'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a38c83cd67a7265920f3bd0b36510f713'; + sec-mem-ref-line = '1749'; + sec-mem-ref-name = 'xran_parse_cp_pkt'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__sectionext2__info_1a455c1bba3cc6776c7c953f468da68d89'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'bfAzSI'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '234'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1aecd2fcecaca860136bf56e6af5155e96'; + sec-mem-ref-line = '230'; + sec-mem-ref-name = 'C_plane::prepare_extensions'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a2d5e33dd093724772a1447910bd34e15'; + sec-mem-ref-line = '394'; + sec-mem-ref-name = 'C_plane::verify_sections'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a38c83cd67a7265920f3bd0b36510f713'; + sec-mem-ref-line = '1749'; + sec-mem-ref-name = 'xran_parse_cp_pkt'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__sectionext2__info_1ad7bfdcda7332da505aa1712b68452cd2'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'bfZeSI'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '235'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1aecd2fcecaca860136bf56e6af5155e96'; + sec-mem-ref-line = '230'; + sec-mem-ref-name = 'C_plane::prepare_extensions'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a2d5e33dd093724772a1447910bd34e15'; + sec-mem-ref-line = '394'; + sec-mem-ref-name = 'C_plane::verify_sections'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a38c83cd67a7265920f3bd0b36510f713'; + sec-mem-ref-line = '1749'; + sec-mem-ref-name = 'xran_parse_cp_pkt'; + }; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + cp-fileline = '224'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 597; + node-label = 'xran_sectionext2_info'; + node-link = { + node-link-id = 'structxran__sectionext2__info'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structxran__sectionext3__info'; + cp-name = 'xran_sectionext3_info'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__sectionext3__info_1af0609a5d1256dec22d2c153a12b765c9'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'codebookIdx'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '239'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__sectionext3__info_1a539f76c6228d64723233120f82b0369b'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'layerId'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '240'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__sectionext3__info_1a63fd35fb526e104a9e1155da5c9f4a98'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'numLayers'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '241'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__sectionext3__info_1a878ff2db850e901d2c93ca36cae8f4f9'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'txScheme'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '242'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__sectionext3__info_1ab9769277d06e564feeaea9f51770c067'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'crsReMask'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '243'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__sectionext3__info_1a2feefcc4816844ba7a111798d791919f'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'crsShift'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '244'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__sectionext3__info_1a122f48d0face015611f900b5e7c0864a'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'crsSymNum'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '245'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__sectionext3__info_1abcaa5b568a022c3af1146b779d52bebc'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'beamIdAP1'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '246'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__sectionext3__info_1a9b459e1b2f309337740ed7a576e8ddfb'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'beamIdAP2'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '247'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__sectionext3__info_1a0780ffbec6d647632e2b31d89de94467'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'beamIdAP3'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '248'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + cp-fileline = '238'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 599; + node-label = 'xran_sectionext3_info'; + node-link = { + node-link-id = 'structxran__sectionext3__info'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structxran__sectionext4__info'; + cp-name = 'xran_sectionext4_info'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__sectionext4__info_1a9469507e787895ef8a3ec1b89df59954'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'csf'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '252'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1aecd2fcecaca860136bf56e6af5155e96'; + sec-mem-ref-line = '230'; + sec-mem-ref-name = 'C_plane::prepare_extensions'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a2d5e33dd093724772a1447910bd34e15'; + sec-mem-ref-line = '394'; + sec-mem-ref-name = 'C_plane::verify_sections'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1ad4a3ae88412a933d953fc0f8ae9bb352'; + sec-mem-ref-line = '1579'; + sec-mem-ref-name = 'xran_parse_section_ext4'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a38c83cd67a7265920f3bd0b36510f713'; + sec-mem-ref-line = '1749'; + sec-mem-ref-name = 'xran_parse_cp_pkt'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__sectionext4__info_1a0976e33e213bf38d277b829252a1ceaa'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'pad0'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '253'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__sectionext4__info_1a1c0e94567471aac214963f9600d0a4b1'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'modCompScaler'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '254'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1aecd2fcecaca860136bf56e6af5155e96'; + sec-mem-ref-line = '230'; + sec-mem-ref-name = 'C_plane::prepare_extensions'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a2d5e33dd093724772a1447910bd34e15'; + sec-mem-ref-line = '394'; + sec-mem-ref-name = 'C_plane::verify_sections'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1ad4a3ae88412a933d953fc0f8ae9bb352'; + sec-mem-ref-line = '1579'; + sec-mem-ref-name = 'xran_parse_section_ext4'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a38c83cd67a7265920f3bd0b36510f713'; + sec-mem-ref-line = '1749'; + sec-mem-ref-name = 'xran_parse_cp_pkt'; + }; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + cp-fileline = '251'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 601; + node-label = 'xran_sectionext4_info'; + node-link = { + node-link-id = 'structxran__sectionext4__info'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structxran__sectionext5__info'; + cp-name = 'xran_sectionext5_info'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__sectionext5__info_1a7c4e67772e2e32e2f63f636730bf6eea'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'num_sets'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '258'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1aecd2fcecaca860136bf56e6af5155e96'; + sec-mem-ref-line = '230'; + sec-mem-ref-name = 'C_plane::prepare_extensions'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a2d5e33dd093724772a1447910bd34e15'; + sec-mem-ref-line = '394'; + sec-mem-ref-name = 'C_plane::verify_sections'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1af03e99a3b1e9498ca15458e0440c12a1'; + sec-mem-ref-line = '1606'; + sec-mem-ref-name = 'xran_parse_section_ext5'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a38c83cd67a7265920f3bd0b36510f713'; + sec-mem-ref-line = '1749'; + sec-mem-ref-name = 'xran_parse_cp_pkt'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__sectionext5__info_1aff3ff8bd662f3deba04c54adcbbd2826'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'csf'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '260'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1aecd2fcecaca860136bf56e6af5155e96'; + sec-mem-ref-line = '230'; + sec-mem-ref-name = 'C_plane::prepare_extensions'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a2d5e33dd093724772a1447910bd34e15'; + sec-mem-ref-line = '394'; + sec-mem-ref-name = 'C_plane::verify_sections'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1af03e99a3b1e9498ca15458e0440c12a1'; + sec-mem-ref-line = '1606'; + sec-mem-ref-name = 'xran_parse_section_ext5'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a38c83cd67a7265920f3bd0b36510f713'; + sec-mem-ref-line = '1749'; + sec-mem-ref-name = 'xran_parse_cp_pkt'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__sectionext5__info_1aabd93f3473c2432cf02d285e460907da'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'mcScaleReMask'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '261'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1aecd2fcecaca860136bf56e6af5155e96'; + sec-mem-ref-line = '230'; + sec-mem-ref-name = 'C_plane::prepare_extensions'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a2d5e33dd093724772a1447910bd34e15'; + sec-mem-ref-line = '394'; + sec-mem-ref-name = 'C_plane::verify_sections'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1af03e99a3b1e9498ca15458e0440c12a1'; + sec-mem-ref-line = '1606'; + sec-mem-ref-name = 'xran_parse_section_ext5'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a38c83cd67a7265920f3bd0b36510f713'; + sec-mem-ref-line = '1749'; + sec-mem-ref-name = 'xran_parse_cp_pkt'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__sectionext5__info_1a0d53f590f6c03b8aadb7421ea75a0efa'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'mcScaleOffset'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '262'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1aecd2fcecaca860136bf56e6af5155e96'; + sec-mem-ref-line = '230'; + sec-mem-ref-name = 'C_plane::prepare_extensions'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a2d5e33dd093724772a1447910bd34e15'; + sec-mem-ref-line = '394'; + sec-mem-ref-name = 'C_plane::verify_sections'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1af03e99a3b1e9498ca15458e0440c12a1'; + sec-mem-ref-line = '1606'; + sec-mem-ref-name = 'xran_parse_section_ext5'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a38c83cd67a7265920f3bd0b36510f713'; + sec-mem-ref-line = '1749'; + sec-mem-ref-name = 'xran_parse_cp_pkt'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__sectionext5__info_1af63d3e52300d55f02d782a02ef6e6dd0'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_sectionext5_info::__anonymous__ +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'mc'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '263'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1aecd2fcecaca860136bf56e6af5155e96'; + sec-mem-ref-line = '230'; + sec-mem-ref-name = 'C_plane::prepare_extensions'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'c__plane__tests_8cc_1a2d5e33dd093724772a1447910bd34e15'; + sec-mem-ref-line = '394'; + sec-mem-ref-name = 'C_plane::verify_sections'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1af03e99a3b1e9498ca15458e0440c12a1'; + sec-mem-ref-line = '1606'; + sec-mem-ref-name = 'xran_parse_section_ext5'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a38c83cd67a7265920f3bd0b36510f713'; + sec-mem-ref-line = '1749'; + sec-mem-ref-name = 'xran_parse_cp_pkt'; + }; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + cp-fileline = '257'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 603; + node-label = 'xran_sectionext5_info'; + node-link = { + node-link-id = 'structxran__sectionext5__info'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structxran__sectionext__info'; + cp-name = 'xran_sectionext_info'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__sectionext__info_1acb5cfd209ba75c853d03f701e7f91679'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'type'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '267'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__sectionext__info_1a8aed22e2c7b283705ec82e0120515618'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'len'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '268'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__sectionext__info_1a735984d41155bc1032e09bece8f8d66d'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'data'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + sec-mem-desc-line = '269'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + cp-fileline = '266'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 605; + node-label = 'xran_sectionext_info'; + node-link = { + node-link-id = 'structxran__sectionext__info'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structxran__sectioninfo__db'; + cp-name = 'xran_sectioninfo_db'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__sectioninfo__db_1af9f19a44a251a4b45c3e949b698b9294'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'cur_index'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_cp_api.c'; + sec-mem-desc-line = '42'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Current index to store for this eAXC +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__sectioninfo__db_1acadfaa8ee00984098976838a75457775'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_section_info +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'list'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_cp_api.c'; + sec-mem-desc-line = '42'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +The array of section information +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a2a349ad9adaec2cfd7f88e791d451c5e'; + sec-mem-ref-line = '160'; + sec-mem-ref-name = 'xran_cp_add_section_info'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1ae5d69f1c437b336ec274f5e1ab8e2e30'; + sec-mem-ref-line = '187'; + sec-mem-ref-name = 'xran_cp_add_multisection_info'; + }; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_cp_api.c'; + cp-fileline = '41'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ +This structure to store the section information of C-Plane +in order to generate and parse corresponding U-Plane +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 607; + node-label = 'xran_sectioninfo_db'; + node-link = { + node-link-id = 'structxran__sectioninfo__db'; + }; + node-child = { + child-id = '608'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++list +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + node = { + node-id = 609; + node-label = 'xran_section_desc'; + node-link = { + node-link-id = 'structxran__section__desc'; + }; + }; /* node */ + node = { + node-id = 608; + node-label = 'xran_section_info'; + node-link = { + node-link-id = 'structxran__section__info'; + }; + node-child = { + child-id = '609'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++sec_desc +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structxran__slot__config'; + cp-name = 'xran_slot_config'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__slot__config_1a37a7dc4b204c22c2d8b9da9b07abd154'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'nSymbolType'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '454'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Defines the Symbol type for all 14 symbols in a slot. 0: DL, 1: UL, 2: Guard +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a2e64fc338fcfaac25af91aae564777fa'; + sec-mem-ref-line = '467'; + sec-mem-ref-name = 'xranLibWraper::xranLibWraper'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a970616fd84b2f27327a77e202d31eeef'; + sec-mem-ref-line = '1047'; + sec-mem-ref-name = 'xranLibWraper::get_slot_config'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__slot__config_1a8d7e0415efaf6e08cb6510401f765c28'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'reserved'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '455'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a2e64fc338fcfaac25af91aae564777fa'; + sec-mem-ref-line = '467'; + sec-mem-ref-name = 'xranLibWraper::xranLibWraper'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a970616fd84b2f27327a77e202d31eeef'; + sec-mem-ref-line = '1047'; + sec-mem-ref-name = 'xranLibWraper::get_slot_config'; + }; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + cp-fileline = '453'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ +XRAN slot configuration +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 611; + node-label = 'xran_slot_config'; + node-link = { + node-link-id = 'structxran__slot__config'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structxran__srs__config'; + cp-name = 'xran_srs_config'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__srs__config_1a47592bac9bb3ddd09772d5385ffdd508'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'symbMask'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '448'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +symbols used for SRS with in U/S slot [bits 0-13] +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1acb5dd6ae5569cb3090d441c800068244'; + sec-mem-ref-line = '294'; + sec-mem-ref-name = 'xran_init_srs'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__srs__config_1a38a5594e33178248d80ccde98a16262a'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'eAxC_offset'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + sec-mem-desc-line = '449'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +starting value of eAxC for SRS packets +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1a3d4bd5c7eec6da4ab71688e209100761'; + sec-mem-ref-line = '143'; + sec-mem-ref-name = 'process_mbuf'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1acb5dd6ae5569cb3090d441c800068244'; + sec-mem-ref-line = '294'; + sec-mem-ref-name = 'xran_init_srs'; + }; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + cp-fileline = '447'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 613; + node-label = 'xran_srs_config'; + node-link = { + node-link-id = 'structxran__srs__config'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structxran_lib_wraper_1_1xran__timer__ctx'; + cp-name = 'xranLibWraper::xran_timer_ctx'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran_lib_wraper_1_1xran__timer__ctx_1ac9a8f4c80840a80e1a27ff9776e13f66'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'tti_to_process'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + sec-mem-desc-line = '124'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a200da4e2209141f12cafef2380cb801a'; + sec-mem-ref-line = '740'; + sec-mem-ref-name = 'xranLibWraper::Init'; + }; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + cp-fileline = '123'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 615; + node-label = 'xranLibWraper::xran_timer_ctx'; + node-link = { + node-link-id = 'structxran_lib_wraper_1_1xran__timer__ctx'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structxran__timer__ctx'; + cp-name = 'xran_timer_ctx'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__timer__ctx_1ac9a8f4c80840a80e1a27ff9776e13f66'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'tti_to_process'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + sec-mem-desc-line = '97'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1ab26e37a9d8915b33e29d632af88ff3a3'; + sec-mem-ref-line = '1045'; + sec-mem-ref-name = 'tx_cp_ul_cb'; + }; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + cp-fileline = '96'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 617; + node-label = 'xran_timer_ctx'; + node-link = { + node-link-id = 'structxran__timer__ctx'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structxran__up__pkt__gen__no__compression__params'; + cp-name = 'xran_up_pkt_gen_no_compression_params'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__up__pkt__gen__no__compression__params_1a26f46f53ef26bc5d5f86e19a15fc356f'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct radio_app_common_hdr +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'app_params'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_up_api.h'; + sec-mem-desc-line = '93'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__up__pkt__gen__no__compression__params_1ae5c4194f5046a89d06534a69775c1cab'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct data_section_hdr +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'sec_hdr'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_up_api.h'; + sec-mem-desc-line = '93'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_up_api.h'; + cp-fileline = '62'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 619; + node-label = 'xran_up_pkt_gen_no_compression_params'; + node-link = { + node-link-id = 'structxran__up__pkt__gen__no__compression__params'; + }; + node-child = { + child-id = '620'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++sec_hdr +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '621'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++app_params +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + node = { + node-id = 621; + node-label = 'radio_app_common_hdr'; + node-link = { + node-link-id = 'structradio__app__common__hdr'; + }; + }; /* node */ + node = { + node-id = 620; + node-label = 'data_section_hdr'; + node-link = { + node-link-id = 'structdata__section__hdr'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structxran__up__pkt__gen__params'; + cp-name = 'xran_up_pkt_gen_params'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__up__pkt__gen__params_1a26f46f53ef26bc5d5f86e19a15fc356f'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct radio_app_common_hdr +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'app_params'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_up_api.h'; + sec-mem-desc-line = '93'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1adc9636576fb70f4b4fcfd1d03fe59998'; + sec-mem-ref-line = '348'; + sec-mem-ref-name = 'prepare_symbol_ex'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__up__pkt__gen__params_1ae5c4194f5046a89d06534a69775c1cab'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct data_section_hdr +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'sec_hdr'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_up_api.h'; + sec-mem-desc-line = '93'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1adc9636576fb70f4b4fcfd1d03fe59998'; + sec-mem-ref-line = '348'; + sec-mem-ref-name = 'prepare_symbol_ex'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__up__pkt__gen__params_1abd4dfd90066570bbcb342a260adcc7a6'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct data_section_compression_hdr +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'compr_hdr_param'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_up_api.h'; + sec-mem-desc-line = '93'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__common_8c_1adc9636576fb70f4b4fcfd1d03fe59998'; + sec-mem-ref-line = '348'; + sec-mem-ref-name = 'prepare_symbol_ex'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__up__pkt__gen__params_1afac9efa85d81509009b41172040801ec'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +union compression_params +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'compr_param'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_up_api.h'; + sec-mem-desc-line = '93'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_up_api.h'; + cp-fileline = '46'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 627; + node-label = 'u_law'; + node-link = { + node-link-id = 'structcompression__params_1_1u__law'; + }; + }; /* node */ + node = { + node-id = 623; + node-label = 'xran_up_pkt_gen_params'; + node-link = { + node-link-id = 'structxran__up__pkt__gen__params'; + }; + node-child = { + child-id = '624'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++sec_hdr +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '625'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++app_params +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '626'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++compr_param +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '630'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++compr_hdr_param +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + node = { + node-id = 628; + node-label = 'block_fl_point'; + node-link = { + node-link-id = 'structcompression__params_1_1block__fl__point'; + }; + }; /* node */ + node = { + node-id = 629; + node-label = 'block_scaling'; + node-link = { + node-link-id = 'structcompression__params_1_1block__scaling'; + }; + }; /* node */ + node = { + node-id = 631; + node-label = 'compression_hdr'; + node-link = { + node-link-id = 'structcompression__hdr'; + }; + }; /* node */ + node = { + node-id = 626; + node-label = 'compression_params'; + node-link = { + node-link-id = 'unioncompression__params'; + }; + node-child = { + child-id = '627'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++uLaw +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '628'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++blockFlPoint +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '629'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++blockScaling +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + node = { + node-id = 625; + node-label = 'radio_app_common_hdr'; + node-link = { + node-link-id = 'structradio__app__common__hdr'; + }; + }; /* node */ + node = { + node-id = 630; + node-label = 'data_section_compression_hdr'; + node-link = { + node-link-id = 'structdata__section__compression__hdr'; + }; + node-child = { + child-id = '631'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++ud_comp_hdr +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + node = { + node-id = 624; + node-label = 'data_section_hdr'; + node-link = { + node-link-id = 'structdata__section__hdr'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structxran__up__pkt__hdr'; + cp-name = 'xran_up_pkt_hdr'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__up__pkt__hdr_1ae84e1fad9281c0bfd9c07df6a570a4f0'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_ecpri_hdr +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'ecpri_hdr'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_up.h'; + sec-mem-desc-line = '138'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +eCPRI Transport Header +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__up__pkt__hdr_1aaf6128cec538e7dde3f6a1045ea0ce54'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct radio_app_common_hdr +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'app_hdr'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_up.h'; + sec-mem-desc-line = '138'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +eCPRI Transport Header +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxran__up__pkt__hdr_1ae6c3c6125160f3863ad8ef7d7673df50'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct data_section_hdr +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'data_sec_hdr'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_up.h'; + sec-mem-desc-line = '138'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_up.h'; + cp-fileline = '150'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ +@description + Structure holds complete xran u-plane packet header + 3.1.1 Ethernet Encapsulation +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 638; + node-label = 'xran_ecpri_cmn_hdr'; + node-link = { + node-link-id = 'structxran__ecpri__cmn__hdr'; + }; + }; /* node */ + node = { + node-id = 633; + node-label = 'xran_up_pkt_hdr'; + node-link = { + node-link-id = 'structxran__up__pkt__hdr'; + }; + node-child = { + child-id = '634'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++data_sec_hdr +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '635'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++app_hdr +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '636'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++ecpri_hdr +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + node = { + node-id = 637; + node-label = 'ecpri_seq_id'; + node-link = { + node-link-id = 'structecpri__seq__id'; + }; + }; /* node */ + node = { + node-id = 635; + node-label = 'radio_app_common_hdr'; + node-link = { + node-link-id = 'structradio__app__common__hdr'; + }; + }; /* node */ + node = { + node-id = 636; + node-label = 'xran_ecpri_hdr'; + node-link = { + node-link-id = 'structxran__ecpri__hdr'; + }; + node-child = { + child-id = '637'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++ecpri_seq_id +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '638'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++cmnhdr +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + node = { + node-id = 634; + node-label = 'data_section_hdr'; + node-link = { + node-link-id = 'structdata__section__hdr'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structxranlib__compress__request'; + cp-name = 'xranlib_compress_request'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxranlib__compress__request_1a06bde7ceb81ae7d8d8a101d7cfe4bb25'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int16_t * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'data_in'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_compression.h'; + sec-mem-desc-line = '38'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Pointer to data to compress. +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'compander__functional_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '113'; + sec-mem-ref-name = 'BfpPerfEx::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'compander__functional_8cc_1a45d64e11a1ecc040577b7f22b27dde51'; + sec-mem-ref-line = '788'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__compression_8cpp_1a0651de68e87558106615163f96b3e599'; + sec-mem-ref-line = '729'; + sec-mem-ref-name = 'xranlib_compress_avx512'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__compression_8cpp_1aa027200fc051c80b515ee8aeadf44a0e'; + sec-mem-ref-line = '783'; + sec-mem-ref-name = 'xranlib_compress_avx512_bfw'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a848d22f9f7e5f493782bf8a9bfdb8f3a'; + sec-mem-ref-line = '387'; + sec-mem-ref-name = 'xran_cp_populate_section_ext_1'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxranlib__compress__request_1a8ab4fa409402862ead0d17e13edeeb62'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'numRBs'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_compression.h'; + sec-mem-desc-line = '39'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +numRBs +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'compander__functional_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '113'; + sec-mem-ref-name = 'BfpPerfEx::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'compander__functional_8cc_1a45d64e11a1ecc040577b7f22b27dde51'; + sec-mem-ref-line = '788'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__compression_8cpp_1a0651de68e87558106615163f96b3e599'; + sec-mem-ref-line = '729'; + sec-mem-ref-name = 'xranlib_compress_avx512'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxranlib__compress__request_1ad73157f14fa98c54fb563244c1327933'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'compMethod'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_compression.h'; + sec-mem-desc-line = '40'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Compression method +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'compander__functional_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '113'; + sec-mem-ref-name = 'BfpPerfEx::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'compander__functional_8cc_1a45d64e11a1ecc040577b7f22b27dde51'; + sec-mem-ref-line = '788'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a848d22f9f7e5f493782bf8a9bfdb8f3a'; + sec-mem-ref-line = '387'; + sec-mem-ref-name = 'xran_cp_populate_section_ext_1'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxranlib__compress__request_1a36f5a0cedd274c3ec55f81535f06e0de'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'iqWidth'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_compression.h'; + sec-mem-desc-line = '41'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Bit size +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'compander__functional_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '113'; + sec-mem-ref-name = 'BfpPerfEx::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'compander__functional_8cc_1a45d64e11a1ecc040577b7f22b27dde51'; + sec-mem-ref-line = '788'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__compression_8cpp_1a0651de68e87558106615163f96b3e599'; + sec-mem-ref-line = '729'; + sec-mem-ref-name = 'xranlib_compress_avx512'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__compression_8cpp_1aa027200fc051c80b515ee8aeadf44a0e'; + sec-mem-ref-line = '783'; + sec-mem-ref-name = 'xranlib_compress_avx512_bfw'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a848d22f9f7e5f493782bf8a9bfdb8f3a'; + sec-mem-ref-line = '387'; + sec-mem-ref-name = 'xran_cp_populate_section_ext_1'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxranlib__compress__request_1a6858c4011b5cad020222e9ca5c2786f5'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'len'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_compression.h'; + sec-mem-desc-line = '42'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Length of input buffer in bytes +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'compander__functional_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '113'; + sec-mem-ref-name = 'BfpPerfEx::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'compander__functional_8cc_1a45d64e11a1ecc040577b7f22b27dde51'; + sec-mem-ref-line = '788'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a848d22f9f7e5f493782bf8a9bfdb8f3a'; + sec-mem-ref-line = '387'; + sec-mem-ref-name = 'xran_cp_populate_section_ext_1'; + }; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_compression.h'; + cp-fileline = '37'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ +Request structure containing pointer to data and its length. +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 640; + node-label = 'xranlib_compress_request'; + node-link = { + node-link-id = 'structxranlib__compress__request'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structxranlib__compress__response'; + cp-name = 'xranlib_compress_response'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxranlib__compress__response_1aa84b1c03297680b54ecd081d2a69d791'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int8_t * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'data_out'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_compression.h'; + sec-mem-desc-line = '50'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Pointer to data after compression. +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'compander__functional_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '113'; + sec-mem-ref-name = 'BfpPerfEx::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'compander__functional_8cc_1a45d64e11a1ecc040577b7f22b27dde51'; + sec-mem-ref-line = '788'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__compression_8cpp_1a0651de68e87558106615163f96b3e599'; + sec-mem-ref-line = '729'; + sec-mem-ref-name = 'xranlib_compress_avx512'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__compression_8cpp_1aa027200fc051c80b515ee8aeadf44a0e'; + sec-mem-ref-line = '783'; + sec-mem-ref-name = 'xranlib_compress_avx512_bfw'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a848d22f9f7e5f493782bf8a9bfdb8f3a'; + sec-mem-ref-line = '387'; + sec-mem-ref-name = 'xran_cp_populate_section_ext_1'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxranlib__compress__response_1a6858c4011b5cad020222e9ca5c2786f5'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'len'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_compression.h'; + sec-mem-desc-line = '52'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Length of output data. +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'compander__functional_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '113'; + sec-mem-ref-name = 'BfpPerfEx::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'compander__functional_8cc_1a45d64e11a1ecc040577b7f22b27dde51'; + sec-mem-ref-line = '788'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__compression_8cpp_1a0651de68e87558106615163f96b3e599'; + sec-mem-ref-line = '729'; + sec-mem-ref-name = 'xranlib_compress_avx512'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__compression_8cpp_1aa027200fc051c80b515ee8aeadf44a0e'; + sec-mem-ref-line = '783'; + sec-mem-ref-name = 'xranlib_compress_avx512_bfw'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__cp__api_8c_1a848d22f9f7e5f493782bf8a9bfdb8f3a'; + sec-mem-ref-line = '387'; + sec-mem-ref-name = 'xran_cp_populate_section_ext_1'; + }; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_compression.h'; + cp-fileline = '49'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ +Response structure containing pointer to data and its length. +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 642; + node-label = 'xranlib_compress_response'; + node-link = { + node-link-id = 'structxranlib__compress__response'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structxranlib__decompress__request'; + cp-name = 'xranlib_decompress_request'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxranlib__decompress__request_1ab7543a52686c726e2f5575a0f53f883f'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int8_t * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'data_in'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_compression.h'; + sec-mem-desc-line = '60'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Pointer to data to decompress. +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'compander__functional_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '113'; + sec-mem-ref-name = 'BfpPerfEx::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'compander__functional_8cc_1a45d64e11a1ecc040577b7f22b27dde51'; + sec-mem-ref-line = '788'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__compression_8cpp_1a2bd6ebeefb6ca9674598d443e697918c'; + sec-mem-ref-line = '834'; + sec-mem-ref-name = 'xranlib_decompress_avx512'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxranlib__decompress__request_1a8ab4fa409402862ead0d17e13edeeb62'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'numRBs'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_compression.h'; + sec-mem-desc-line = '61'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +numRBs +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'compander__functional_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '113'; + sec-mem-ref-name = 'BfpPerfEx::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'compander__functional_8cc_1a45d64e11a1ecc040577b7f22b27dde51'; + sec-mem-ref-line = '788'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__compression_8cpp_1a2bd6ebeefb6ca9674598d443e697918c'; + sec-mem-ref-line = '834'; + sec-mem-ref-name = 'xranlib_decompress_avx512'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxranlib__decompress__request_1ad73157f14fa98c54fb563244c1327933'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'compMethod'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_compression.h'; + sec-mem-desc-line = '62'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Compression method +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'compander__functional_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '113'; + sec-mem-ref-name = 'BfpPerfEx::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'compander__functional_8cc_1a45d64e11a1ecc040577b7f22b27dde51'; + sec-mem-ref-line = '788'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxranlib__decompress__request_1a36f5a0cedd274c3ec55f81535f06e0de'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'iqWidth'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_compression.h'; + sec-mem-desc-line = '63'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Bit size +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'compander__functional_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '113'; + sec-mem-ref-name = 'BfpPerfEx::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'compander__functional_8cc_1a45d64e11a1ecc040577b7f22b27dde51'; + sec-mem-ref-line = '788'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__compression_8cpp_1a2bd6ebeefb6ca9674598d443e697918c'; + sec-mem-ref-line = '834'; + sec-mem-ref-name = 'xranlib_decompress_avx512'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxranlib__decompress__request_1a6858c4011b5cad020222e9ca5c2786f5'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'len'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_compression.h'; + sec-mem-desc-line = '65'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Length of input data. +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'compander__functional_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '113'; + sec-mem-ref-name = 'BfpPerfEx::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'compander__functional_8cc_1a45d64e11a1ecc040577b7f22b27dde51'; + sec-mem-ref-line = '788'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_compression.h'; + cp-fileline = '59'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ +Request structure containing pointer to data and its length. +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 644; + node-label = 'xranlib_decompress_request'; + node-link = { + node-link-id = 'structxranlib__decompress__request'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structxranlib__decompress__response'; + cp-name = 'xranlib_decompress_response'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxranlib__decompress__response_1a7eac55fa44711c57d8d15dd09e4db135'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int16_t * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'data_out'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_compression.h'; + sec-mem-desc-line = '73'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Pointer to data after decompression. +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'compander__functional_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '113'; + sec-mem-ref-name = 'BfpPerfEx::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'compander__functional_8cc_1a45d64e11a1ecc040577b7f22b27dde51'; + sec-mem-ref-line = '788'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__compression_8cpp_1a2bd6ebeefb6ca9674598d443e697918c'; + sec-mem-ref-line = '834'; + sec-mem-ref-name = 'xranlib_decompress_avx512'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structxranlib__decompress__response_1a6858c4011b5cad020222e9ca5c2786f5'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'len'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_compression.h'; + sec-mem-desc-line = '75'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Length of output data. +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'compander__functional_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '113'; + sec-mem-ref-name = 'BfpPerfEx::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'compander__functional_8cc_1a45d64e11a1ecc040577b7f22b27dde51'; + sec-mem-ref-line = '788'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'sample-app_8c_1a0ddf1224851353fc92bfbff6f499fa97'; + sec-mem-ref-line = '1319'; + sec-mem-ref-name = 'main'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__compression_8cpp_1a2bd6ebeefb6ca9674598d443e697918c'; + sec-mem-ref-line = '834'; + sec-mem-ref-name = 'xranlib_decompress_avx512'; + }; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_compression.h'; + cp-fileline = '72'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ +Response structure containing pointer to data and its length. +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 646; + node-label = 'xranlib_decompress_response'; + node-link = { + node-link-id = 'structxranlib__decompress__response'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'struct_xran_lib_config'; + cp-name = 'XranLibConfig'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct_xran_lib_config_1acd5189037e23e024ae8f03a90399e97e'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'nDriverCoreId'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + sec-mem-desc-line = '92'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct_xran_lib_config_1a0b246b8022911c0057e473e1fd41efd8'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'nTimingAdvance'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + sec-mem-desc-line = '93'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct_xran_lib_config_1af75cbcbef6876a9c79b61b46572b6501'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'nFhConfig'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + sec-mem-desc-line = '94'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct_xran_lib_config_1a0f7b4777832a26c80e4d58003813d70d'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'nFhBufIntFlag'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + sec-mem-desc-line = '95'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct_xran_lib_config_1aba0c303e021d8d3d08a3f667f2662d9e'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'nSectorNum'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + sec-mem-desc-line = '96'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct_xran_lib_config_1a8bf802ca9b9dfa939a1fef031bb8f364'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'nNrOfSlotInSf'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + sec-mem-desc-line = '97'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct_xran_lib_config_1a6574f1a80394aabb048881d606e03f8e'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'nNrofSfInFrame'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + sec-mem-desc-line = '98'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'struct_xran_lib_config_1a42dface8348b0fea71cb9a2c334347e6'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'pFthInstanceHandles'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + sec-mem-desc-line = '99'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + cp-fileline = '91'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 648; + node-label = 'XranLibConfig'; + node-link = { + node-link-id = 'struct_xran_lib_config'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +class = { + cp-id = 'classxran_lib_wraper'; + cp-name = 'xranLibWraper'; + cp-section = { + sec-kind = 'public-type'; + sec-member = { + sec-mem-kind = 'enum'; + sec-mem-id = 'classxran_lib_wraper_1afecde4b156cd353cb29487bbb9675d46'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-name = 'SWXRANInterfaceTypeEnum'; + sec-mem-enum = { enum-name = XRANFTHTX_OUT; enum-value = '= 0'; }; + sec-mem-enum = { enum-name = XRANFTHTX_PRB_MAP_OUT; }; + sec-mem-enum = { enum-name = XRANFTHTX_SEC_DESC_OUT; }; + sec-mem-enum = { enum-name = XRANFTHRX_IN; }; + sec-mem-enum = { enum-name = XRANFTHRX_PRB_MAP_IN; }; + sec-mem-enum = { enum-name = XRANFTHTX_SEC_DESC_IN; }; + sec-mem-enum = { enum-name = XRANFTHRACH_IN; }; + sec-mem-enum = { enum-name = MAX_SW_XRAN_INTERFACE_NUM; }; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + sec-mem-desc-line = '70'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'enum'; + sec-mem-id = 'classxran_lib_wraper_1a163a7a574581e04dfa9cc60cfc81e7f5'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-name = 'nChBw'; + sec-mem-enum = { enum-name = PHY_BW_5MHZ; enum-value = '= 5'; }; + sec-mem-enum = { enum-name = PHY_BW_10MHZ; enum-value = '= 10'; }; + sec-mem-enum = { enum-name = PHY_BW_15MHZ; enum-value = '= 15'; }; + sec-mem-enum = { enum-name = PHY_BW_20MHZ; enum-value = '= 20'; }; + sec-mem-enum = { enum-name = PHY_BW_25MHZ; enum-value = '= 25'; }; + sec-mem-enum = { enum-name = PHY_BW_30MHZ; enum-value = '= 30'; }; + sec-mem-enum = { enum-name = PHY_BW_40MHZ; enum-value = '= 40'; }; + sec-mem-enum = { enum-name = PHY_BW_50MHZ; enum-value = '= 50'; }; + sec-mem-enum = { enum-name = PHY_BW_60MHZ; enum-value = '= 60'; }; + sec-mem-enum = { enum-name = PHY_BW_70MHZ; enum-value = '= 70'; }; + sec-mem-enum = { enum-name = PHY_BW_80MHZ; enum-value = '= 80'; }; + sec-mem-enum = { enum-name = PHY_BW_90MHZ; enum-value = '= 90'; }; + sec-mem-enum = { enum-name = PHY_BW_100MHZ; enum-value = '= 100'; }; + sec-mem-enum = { enum-name = PHY_BW_200MHZ; enum-value = '= 200'; }; + sec-mem-enum = { enum-name = PHY_BW_400MHZ; enum-value = '= 400'; }; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + sec-mem-desc-line = '82'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-section = { + sec-kind = 'public-func'; + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classxran_lib_wraper_1a2e64fc338fcfaac25af91aae564777fa'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'xranLibWraper'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + sec-mem-desc-line = '467'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8cpp_1ad8c062e9b24e4b3a8408b23a0d8ab428'; + sec-mem-ref-line = '106'; + sec-mem-ref-name = 'read_json_from_file'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a7959c3e12f3260a6461fe2610203d1af'; + sec-mem-ref-line = '38'; + sec-mem-ref-name = 'XRAN_UT_CFG_FILENAME'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a9507c81d07af4f634e04173663fd5419'; + sec-mem-ref-line = '121'; + sec-mem-ref-name = 'm_xranInit'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a8a5462b0059073e90d42f8bfa066d566'; + sec-mem-ref-line = '324'; + sec-mem-ref-name = 'xran_fh_init::io_cfg'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a1e6927fa1486224044e568f9c370519b'; + sec-mem-ref-line = '295'; + sec-mem-ref-name = 'xran_io_cfg::id'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1ad3747a607e4b273dfae8278854ffc532'; + sec-mem-ref-line = '41'; + sec-mem-ref-name = 'XRAN_UT_KEY_GLOBALCFG_IO'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1ae58734e2aff608373089778da1aa4efa'; + sec-mem-ref-line = '296'; + sec-mem-ref-name = 'xran_io_cfg::dpdk_dev'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a185d8ae20c697568878935f0a260227aafe31ae20f49aa6ca5a568bfdc89f69ab'; + sec-mem-ref-line = '256'; + sec-mem-ref-name = 'XRAN_UP_VF'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a790ada9a4b1a467dc29bc4bfa1ec3e20'; + sec-mem-ref-line = '111'; + sec-mem-ref-name = 'm_dpdk_dev_up'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a185d8ae20c697568878935f0a260227aabadad61426458852f6c89f1a74b03c1a'; + sec-mem-ref-line = '257'; + sec-mem-ref-name = 'XRAN_CP_VF'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1aa0dbf843da8d26633022c153c473deb5'; + sec-mem-ref-line = '111'; + sec-mem-ref-name = 'm_dpdk_dev_cp'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a53341e81716fce9aeddee73d7228f2bf'; + sec-mem-ref-line = '299'; + sec-mem-ref-name = 'xran_io_cfg::core'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a727bdc89e33bfc7d18dfaf166d46598a'; + sec-mem-ref-line = '300'; + sec-mem-ref-name = 'xran_io_cfg::system_core'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a7ea8f53112b353d5e98cc955437f3706'; + sec-mem-ref-line = '301'; + sec-mem-ref-name = 'xran_io_cfg::pkt_proc_core'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1afc9b03cdc767412993891263da114dc3'; + sec-mem-ref-line = '302'; + sec-mem-ref-name = 'xran_io_cfg::pkt_aux_core'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1aa442a227739dcff5212e5356dee54b68'; + sec-mem-ref-line = '303'; + sec-mem-ref-name = 'xran_io_cfg::timing_core'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1ab99f9c6dba4d5fdc09299b3ac670503c'; + sec-mem-ref-line = '298'; + sec-mem-ref-name = 'xran_io_cfg::bbdev_mode'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a4c62e469317040d695487f294cf9e0baab0a570cb95560770482680552b5dc5d0'; + sec-mem-ref-line = '281'; + sec-mem-ref-name = 'XRAN_BBDEV_MODE_HW_OFF'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a4c62e469317040d695487f294cf9e0baa444621cf5453a912cc492b1bf62c0d39'; + sec-mem-ref-line = '282'; + sec-mem-ref-name = 'XRAN_BBDEV_MODE_HW_ON'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a4c62e469317040d695487f294cf9e0baaedc9957e395dca8c38c07377885b5339'; + sec-mem-ref-line = '280'; + sec-mem-ref-name = 'XRAN_BBDEV_NOT_USED'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a4f3d38bbb69d7dc49515ba2e0002537e'; + sec-mem-ref-line = '327'; + sec-mem-ref-name = 'xran_fh_init::dpdkBasebandFecMode'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1ab783700ba1f1b7d6d617a102f01e2e8a'; + sec-mem-ref-line = '328'; + sec-mem-ref-name = 'xran_fh_init::dpdkBasebandDevice'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1af2f499e1b7c34ec4e1c600e00bddc75f'; + sec-mem-ref-line = '111'; + sec-mem-ref-name = 'm_dpdk_bbdev'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a3c8ee4e9dd2a5354e83fb30c95598f30'; + sec-mem-ref-line = '331'; + sec-mem-ref-name = 'xran_fh_init::mtu'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1adcde08e47bdc5157e76975f32d1e96e8'; + sec-mem-ref-line = '333'; + sec-mem-ref-name = 'xran_fh_init::p_o_du_addr'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1ab05fc2b0bda23212626e2f075ce8e817'; + sec-mem-ref-line = '334'; + sec-mem-ref-name = 'xran_fh_init::p_o_ru_addr'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1adc6cb9229207f58f6c4375305dcb5384'; + sec-mem-ref-line = '359'; + sec-mem-ref-name = 'xran_fh_init::cp_vlan_tag'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1ae5c22bf3cd63e278914bf627dab04ce8'; + sec-mem-ref-line = '360'; + sec-mem-ref-name = 'xran_fh_init::up_vlan_tag'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1ad8d180966ea390f149dea00f5616b540'; + sec-mem-ref-line = '42'; + sec-mem-ref-name = 'XRAN_UT_KEY_GLOBALCFG_EAXCID'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a3a10011d5a15ba88d65b9e027cdff35e'; + sec-mem-ref-line = '325'; + sec-mem-ref-name = 'xran_fh_init::eAxCId_conf'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a8812802228fbd32d92c2c8f29963628b'; + sec-mem-ref-line = '314'; + sec-mem-ref-name = 'xran_eaxcid_config::bit_cuPortId'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1ab3f5b7b7c113a7fdff4bdf31ff685594'; + sec-mem-ref-line = '315'; + sec-mem-ref-name = 'xran_eaxcid_config::bit_bandSectorId'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a292acf2be52d7b22753f8f3a9839f455'; + sec-mem-ref-line = '316'; + sec-mem-ref-name = 'xran_eaxcid_config::bit_ccId'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1aa6294a3b04f47cabf866ec1e1ec4bd23'; + sec-mem-ref-line = '317'; + sec-mem-ref-name = 'xran_eaxcid_config::bit_ruPortId'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a3357253b181bed8132156f87728efc8d'; + sec-mem-ref-line = '309'; + sec-mem-ref-name = 'xran_eaxcid_config::mask_cuPortId'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1affca087d8bc179073b5ae2f429340898'; + sec-mem-ref-line = '310'; + sec-mem-ref-name = 'xran_eaxcid_config::mask_bandSectorId'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a0ba87d865af2deb1ee2565f528e1e72d'; + sec-mem-ref-line = '311'; + sec-mem-ref-name = 'xran_eaxcid_config::mask_ccId'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a64cc7d4da64fe531f01c6bb54e6a02f3'; + sec-mem-ref-line = '312'; + sec-mem-ref-name = 'xran_eaxcid_config::mask_ruPortId'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1af01fc39016255fbbedd02b31bb9c7959'; + sec-mem-ref-line = '336'; + sec-mem-ref-name = 'xran_fh_init::totalBfWeights'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a98f3e1fb2c2dd1381aac8d01b293486a'; + sec-mem-ref-line = '44'; + sec-mem-ref-name = 'XRAN_UT_KEY_GLOBALCFG_RU'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a05dca46f0128cb233e7d4f73215cc4a9'; + sec-mem-ref-line = '338'; + sec-mem-ref-name = 'xran_fh_init::Tadv_cp_dl'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1aebed6420fb04aabce30025eec4583807'; + sec-mem-ref-line = '339'; + sec-mem-ref-name = 'xran_fh_init::T2a_min_cp_dl'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a5df6250657a91c27fa2416154ec5a609'; + sec-mem-ref-line = '340'; + sec-mem-ref-name = 'xran_fh_init::T2a_max_cp_dl'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1acfa0c4237b95b1dc83d19e00d6487ec0'; + sec-mem-ref-line = '341'; + sec-mem-ref-name = 'xran_fh_init::T2a_min_cp_ul'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a60007ed3e328b06fb7f7ff2b3a37dac5'; + sec-mem-ref-line = '342'; + sec-mem-ref-name = 'xran_fh_init::T2a_max_cp_ul'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1aac84937e634fccb665c6de923af50c0f'; + sec-mem-ref-line = '343'; + sec-mem-ref-name = 'xran_fh_init::T2a_min_up'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1af27977cbf63a8beb2fd6b1f17c1502df'; + sec-mem-ref-line = '344'; + sec-mem-ref-name = 'xran_fh_init::T2a_max_up'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1ac2e5d027408848a38879331bf54d5adf'; + sec-mem-ref-line = '345'; + sec-mem-ref-name = 'xran_fh_init::Ta3_min'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a82517c890db705ee58767fd245193214'; + sec-mem-ref-line = '346'; + sec-mem-ref-name = 'xran_fh_init::Ta3_max'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a73b80929304dcde73f2c2f6d4f7448fa'; + sec-mem-ref-line = '347'; + sec-mem-ref-name = 'xran_fh_init::T1a_min_cp_dl'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a6080f8ca5894be470378d6f265c1f665'; + sec-mem-ref-line = '348'; + sec-mem-ref-name = 'xran_fh_init::T1a_max_cp_dl'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1ab2d0817976952478020b3437b3dbbfc3'; + sec-mem-ref-line = '349'; + sec-mem-ref-name = 'xran_fh_init::T1a_min_cp_ul'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a71254f497cb48a57b123c7f4897b7a38'; + sec-mem-ref-line = '350'; + sec-mem-ref-name = 'xran_fh_init::T1a_max_cp_ul'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a0447175262da4e12814983c97d73ad21'; + sec-mem-ref-line = '351'; + sec-mem-ref-name = 'xran_fh_init::T1a_min_up'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a76ae7531da0aa8656d95c194f1e75b0f'; + sec-mem-ref-line = '352'; + sec-mem-ref-name = 'xran_fh_init::T1a_max_up'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1ad8a8a60941ab888de5187345ce5fc92c'; + sec-mem-ref-line = '353'; + sec-mem-ref-name = 'xran_fh_init::Ta4_min'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a934a145ce39320896b81ac25276b24d8'; + sec-mem-ref-line = '354'; + sec-mem-ref-name = 'xran_fh_init::Ta4_max'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1ab0bb0b684cc2798a2ef1ceabe4a47e38'; + sec-mem-ref-line = '356'; + sec-mem-ref-name = 'xran_fh_init::enableCP'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1ac0646000d1448798a186e109df0bb3dd'; + sec-mem-ref-line = '357'; + sec-mem-ref-name = 'xran_fh_init::prachEnable'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a8ad55119f3b227785857aaddef6a8384'; + sec-mem-ref-line = '361'; + sec-mem-ref-name = 'xran_fh_init::debugStop'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a0ce1293a9896f3e28d960a0b1d9dc911'; + sec-mem-ref-line = '362'; + sec-mem-ref-name = 'xran_fh_init::debugStopCount'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a6fcbf469691a192f1ce298f70981c17a'; + sec-mem-ref-line = '363'; + sec-mem-ref-name = 'xran_fh_init::DynamicSectionEna'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a6a78f61ed42f876c7cfa835be5ed0942'; + sec-mem-ref-line = '329'; + sec-mem-ref-name = 'xran_fh_init::filePrefix'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1acb7ae6f5547d5e166b643084db28b2fa'; + sec-mem-ref-line = '120'; + sec-mem-ref-name = 'm_xranConf'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a72b0cba491d0dd2703d684cb2c2a14cf'; + sec-mem-ref-line = '517'; + sec-mem-ref-name = 'xran_fh_config::frame_conf'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a3b86317723a592e240c0047e53a6326d'; + sec-mem-ref-line = '460'; + sec-mem-ref-name = 'xran_frame_config::nFrameDuplexType'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a53a1d989c6dee827495401b1973c9ef8'; + sec-mem-ref-line = '464'; + sec-mem-ref-name = 'xran_frame_config::nTddPeriod'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a4664e9a9005020b4a98ada2d256906e2'; + sec-mem-ref-line = '465'; + sec-mem-ref-name = 'xran_frame_config::sSlotConfig'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a37a7dc4b204c22c2d8b9da9b07abd154'; + sec-mem-ref-line = '454'; + sec-mem-ref-name = 'xran_slot_config::nSymbolType'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a8d7e0415efaf6e08cb6510401f765c28'; + sec-mem-ref-line = '455'; + sec-mem-ref-name = 'xran_slot_config::reserved'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a78b2fab8e8d6a6424c2712d528fd9a58'; + sec-mem-ref-line = '461'; + sec-mem-ref-name = 'xran_frame_config::nNumerology'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a6dcac3ea0b3d99c20c2e6f7091b8b342'; + sec-mem-ref-line = '500'; + sec-mem-ref-name = 'xran_fh_config::nCC'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a34dbe5e515cc78b4ce26fa287e6c1edc'; + sec-mem-ref-line = '110'; + sec-mem-ref-name = 'XRAN_MAX_SECTOR_NR'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1abcac68b45b2bcf3b5458817d65b86e45'; + sec-mem-ref-line = '501'; + sec-mem-ref-name = 'xran_fh_config::neAxc'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a35fa05e7523928c0c86cbcf835c12dc5'; + sec-mem-ref-line = '111'; + sec-mem-ref-name = 'XRAN_MAX_ANTENNA_NR'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a7917929ae3bb588a5bf6f4e56cf9549e'; + sec-mem-ref-line = '506'; + sec-mem-ref-name = 'xran_fh_config::nDLRBs'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1abbe0bfcd68428ee4cc3f63a391495e8d'; + sec-mem-ref-line = '1068'; + sec-mem-ref-name = 'get_num_rbs'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a7d7488daf0a2eebb9359f760a60eaf7c'; + sec-mem-ref-line = '1118'; + sec-mem-ref-name = 'get_numerology'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a5448b37ad609bb66bf44b44d1f9bac72'; + sec-mem-ref-line = '507'; + sec-mem-ref-name = 'xran_fh_config::nULRBs'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1ac63d8c67956a8a08cbfd8efb92a2f055'; + sec-mem-ref-line = '503'; + sec-mem-ref-name = 'xran_fh_config::nAntElmTRx'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a8956e982993d4b310e3bffe207f66405'; + sec-mem-ref-line = '504'; + sec-mem-ref-name = 'xran_fh_config::nDLFftSize'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1ae4908e70f937e7eca578e348f4e3911f'; + sec-mem-ref-line = '505'; + sec-mem-ref-name = 'xran_fh_config::nULFftSize'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a167e91cb91119363bf10c9430b6f082c'; + sec-mem-ref-line = '515'; + sec-mem-ref-name = 'xran_fh_config::prach_conf'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1acb5fe8097b0115e038eb02d5900f66d6'; + sec-mem-ref-line = '432'; + sec-mem-ref-name = 'xran_prach_config::nPrachConfIdx'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a0c97e7d2cdb34b857e3b6de86b49f55d'; + sec-mem-ref-line = '43'; + sec-mem-ref-name = 'XRAN_UT_KEY_GLOBALCFG_PRACH'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1ab9b99e41ea39f16780f66a539aa872c8'; + sec-mem-ref-line = '433'; + sec-mem-ref-name = 'xran_prach_config::nPrachSubcSpacing'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a5c648c99c04370a4e8767f919a2289bf'; + sec-mem-ref-line = '441'; + sec-mem-ref-name = 'xran_prach_config::nPrachFreqStart'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a3b43924c5ef23b0496d1a7adf2752dbf'; + sec-mem-ref-line = '442'; + sec-mem-ref-name = 'xran_prach_config::nPrachFreqOffset'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1ab3ca7a740428b7023b7e29197124983b'; + sec-mem-ref-line = '443'; + sec-mem-ref-name = 'xran_prach_config::nPrachFilterIdx'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a45ae197adc4010202a5b71d7b602bc0c'; + sec-mem-ref-line = '438'; + sec-mem-ref-name = 'xran_prach_config::nPrachZeroCorrConf'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a26e6c95dfde831c2588d46dde588c751'; + sec-mem-ref-line = '439'; + sec-mem-ref-name = 'xran_prach_config::nPrachRestrictSet'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a66b19aaa946c36b309a3403b3d576c58'; + sec-mem-ref-line = '440'; + sec-mem-ref-name = 'xran_prach_config::nPrachRootSeqIdx'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a27ff648f80c139235421b81f957fcb7e'; + sec-mem-ref-line = '518'; + sec-mem-ref-name = 'xran_fh_config::ru_conf'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1af92ff2dfd2bddd0880d779c04b9fb359'; + sec-mem-ref-line = '484'; + sec-mem-ref-name = 'xran_ru_config::xranCat'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1abf0211a253f5881ebad3910cef98d30ea25cae7703b653209b61647fa65ac7e9f'; + sec-mem-ref-line = '264'; + sec-mem-ref-name = 'XRAN_CATEGORY_A'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1abf0211a253f5881ebad3910cef98d30ea6f7ea23328e0189a3c4879d7fa0d3749'; + sec-mem-ref-line = '265'; + sec-mem-ref-name = 'XRAN_CATEGORY_B'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a1520b1ef6131bff6c14b88d849c266c5'; + sec-mem-ref-line = '486'; + sec-mem-ref-name = 'xran_ru_config::iqWidth'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a1e4a3c43fc7865c6520471fb9ba8501f'; + sec-mem-ref-line = '487'; + sec-mem-ref-name = 'xran_ru_config::compMeth'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a59e7e8f3feb686850b0cb0ae065de85b'; + sec-mem-ref-line = '488'; + sec-mem-ref-name = 'xran_ru_config::fftSize'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a74e72997edeea7f9f1696baffb9989b4'; + sec-mem-ref-line = '489'; + sec-mem-ref-name = 'xran_ru_config::byteOrder'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1ab5ce6839bae2968c79930a0bfa17f4d8a61bd03fd3153385f6791bd16e55892b8'; + sec-mem-ref-line = '472'; + sec-mem-ref-name = 'XRAN_NE_BE_BYTE_ORDER'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1ad1b1309ca2645e24fa201f8decae1988'; + sec-mem-ref-line = '490'; + sec-mem-ref-name = 'xran_ru_config::iqOrder'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a0d9cb4cebbc59a8fa5bfef7547898859a0064217ac0728d6ac2d4f92d95db0d21'; + sec-mem-ref-line = '478'; + sec-mem-ref-name = 'XRAN_I_Q_ORDER'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a583c2f58d0655789ea36e22d605ab9ad'; + sec-mem-ref-line = '523'; + sec-mem-ref-name = 'xran_fh_config::log_level'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classxran_lib_wraper_1a6608686375e6c9e5c3ce59970e4b90e0'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-name = '~xranLibWraper'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + sec-mem-desc-line = '674'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classxran_lib_wraper_1a126b53d8cc57521b34496dbe3a26621f'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'SetUp'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + sec-mem-desc-line = '678'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a9507c81d07af4f634e04173663fd5419'; + sec-mem-ref-line = '121'; + sec-mem-ref-name = 'm_xranInit'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1adcde08e47bdc5157e76975f32d1e96e8'; + sec-mem-ref-line = '333'; + sec-mem-ref-name = 'xran_fh_init::p_o_du_addr'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1ab05fc2b0bda23212626e2f075ce8e817'; + sec-mem-ref-line = '334'; + sec-mem-ref-name = 'xran_fh_init::p_o_ru_addr'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a3a10011d5a15ba88d65b9e027cdff35e'; + sec-mem-ref-line = '325'; + sec-mem-ref-name = 'xran_fh_init::eAxCId_conf'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a8812802228fbd32d92c2c8f29963628b'; + sec-mem-ref-line = '314'; + sec-mem-ref-name = 'xran_eaxcid_config::bit_cuPortId'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1ab3f5b7b7c113a7fdff4bdf31ff685594'; + sec-mem-ref-line = '315'; + sec-mem-ref-name = 'xran_eaxcid_config::bit_bandSectorId'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a292acf2be52d7b22753f8f3a9839f455'; + sec-mem-ref-line = '316'; + sec-mem-ref-name = 'xran_eaxcid_config::bit_ccId'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1aa6294a3b04f47cabf866ec1e1ec4bd23'; + sec-mem-ref-line = '317'; + sec-mem-ref-name = 'xran_eaxcid_config::bit_ruPortId'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a3357253b181bed8132156f87728efc8d'; + sec-mem-ref-line = '309'; + sec-mem-ref-name = 'xran_eaxcid_config::mask_cuPortId'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1affca087d8bc179073b5ae2f429340898'; + sec-mem-ref-line = '310'; + sec-mem-ref-name = 'xran_eaxcid_config::mask_bandSectorId'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a0ba87d865af2deb1ee2565f528e1e72d'; + sec-mem-ref-line = '311'; + sec-mem-ref-name = 'xran_eaxcid_config::mask_ccId'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a64cc7d4da64fe531f01c6bb54e6a02f3'; + sec-mem-ref-line = '312'; + sec-mem-ref-name = 'xran_eaxcid_config::mask_ruPortId'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1af01fc39016255fbbedd02b31bb9c7959'; + sec-mem-ref-line = '336'; + sec-mem-ref-name = 'xran_fh_init::totalBfWeights'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__main_8c_1a3efe8aba779b0a2f90adc02065579f5f'; + sec-mem-ref-line = '2319'; + sec-mem-ref-name = 'xran_init'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a34dbe5e515cc78b4ce26fa287e6c1edc'; + sec-mem-ref-line = '110'; + sec-mem-ref-name = 'XRAN_MAX_SECTOR_NR'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classxran_lib_wraper_1a931587596081ef8178c2b128facb0411'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'TearDown'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + sec-mem-desc-line = '729'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__main_8c_1a2f8866c9d6536a56e4d8232b8c45808b'; + sec-mem-ref-line = '2863'; + sec-mem-ref-name = 'xran_close'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classxran_lib_wraper_1a200da4e2209141f12cafef2380cb801a'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'Init'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_fh_config * +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'pCfg'; + sec-mem-param-defval = <<_EnD_oF_dEf_TeXt_ +nullptr +_EnD_oF_dEf_TeXt_; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + sec-mem-desc-line = '740'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1acb7ae6f5547d5e166b643084db28b2fa'; + sec-mem-ref-line = '120'; + sec-mem-ref-name = 'm_xranConf'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__main_8c_1a273a09cbea9267272f4e2a339059e442'; + sec-mem-ref-line = '111'; + sec-mem-ref-name = 'xran_lib_ota_tti'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__main_8c_1a8cec0b41a42705e6ab9f49914ca666c2'; + sec-mem-ref-line = '112'; + sec-mem-ref-name = 'xran_lib_ota_sym'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__main_8c_1a98175f360f5753bc99c4edd3c2d8bd04'; + sec-mem-ref-line = '113'; + sec-mem-ref-name = 'xran_lib_ota_sym_idx'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a16ea7ba6b48522ff69767c3a3d31b776'; + sec-mem-ref-line = '47'; + sec-mem-ref-name = 'MAX_NUM_OF_XRAN_CTX'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1ac9a8f4c80840a80e1a27ff9776e13f66'; + sec-mem-ref-line = '124'; + sec-mem-ref-name = 'xranLibWraper::xran_timer_ctx::tti_to_process'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1aeeef9211b4ee7d22934db64125b538dd'; + sec-mem-ref-line = '1120'; + sec-mem-ref-name = 'get_num_cc'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a25afbf449e11f9e290e0fdbef77702c2'; + sec-mem-ref-line = '1116'; + sec-mem-ref-name = 'get_rucategory'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1abf0211a253f5881ebad3910cef98d30ea6f7ea23328e0189a3c4879d7fa0d3749'; + sec-mem-ref-line = '265'; + sec-mem-ref-name = 'XRAN_CATEGORY_B'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8h_1a534c88c03c366dfbd4dd5efe7693f56b'; + sec-mem-ref-line = '50'; + sec-mem-ref-name = 'N_SYM_PER_SLOT'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1adde1d671cf6532a577f13d85875ee3b4'; + sec-mem-ref-line = '1124'; + sec-mem-ref-name = 'get_num_antelmtrx'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1ad2b06001d76c9a773c242b28fc7c92f4'; + sec-mem-ref-line = '1122'; + sec-mem-ref-name = 'get_num_dlrbs'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a967a0c58430104684cf2f9b1fdb444da'; + sec-mem-ref-line = '1123'; + sec-mem-ref-name = 'get_num_ulrbs'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a14c306e04a1b3ecdd13b82ab9ca6c9b5'; + sec-mem-ref-line = '54'; + sec-mem-ref-name = 'MAX_ANT_CARRIER_SUPPORTED'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1aef8068804ca7393d92edd9ed22d90070'; + sec-mem-ref-line = '1121'; + sec-mem-ref-name = 'get_num_eaxc'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1af0963ba32cc8ecd280afd2e474eb426a'; + sec-mem-ref-line = '109'; + sec-mem-ref-name = 'XRAN_N_FE_BUF_LEN'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a35fa05e7523928c0c86cbcf835c12dc5'; + sec-mem-ref-line = '111'; + sec-mem-ref-name = 'XRAN_MAX_ANTENNA_NR'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'sample-app_8c_1a7941f6b35742c3de02e270f7b80c8dda'; + sec-mem-ref-line = '128'; + sec-mem-ref-name = 'BbuIoBufCtrlStruct::pData'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a92abda0bec7c1c978fe96f87aad18067'; + sec-mem-ref-line = '415'; + sec-mem-ref-name = 'xran_prb_map::dir'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__pkt_8h_1gga9c60a23fdae979ad1842b255790d1558a19f3d3cee814f10e4f3bf7d80194083f'; + sec-mem-ref-line = '149'; + sec-mem-ref-name = 'XRAN_DIR_DL'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a5ca9a2b3d2a5c902f8153e3e383049be'; + sec-mem-ref-line = '416'; + sec-mem-ref-name = 'xran_prb_map::xran_port'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a1c85ead6321835264d2451291430a7da'; + sec-mem-ref-line = '417'; + sec-mem-ref-name = 'xran_prb_map::band_id'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a7fd0cb6d38d73460d3eaba911462dc69'; + sec-mem-ref-line = '418'; + sec-mem-ref-name = 'xran_prb_map::cc_id'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a16b7b2d1f57da5ed39e7e3a026592a85'; + sec-mem-ref-line = '419'; + sec-mem-ref-name = 'xran_prb_map::ru_port_id'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a689e28eeb2f378d4dc5f915a30f560db'; + sec-mem-ref-line = '420'; + sec-mem-ref-name = 'xran_prb_map::tti_id'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1afc7dda8bf6b9a76f94c88c3610d9c594'; + sec-mem-ref-line = '421'; + sec-mem-ref-name = 'xran_prb_map::start_sym_id'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a5a2ad8f5285dd33572e310069cdac3c4'; + sec-mem-ref-line = '422'; + sec-mem-ref-name = 'xran_prb_map::nPrbElm'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a2357c89e196d6c8c53e29bf04d168b7e'; + sec-mem-ref-line = '423'; + sec-mem-ref-name = 'xran_prb_map::prbMap'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a5248ad5c1a177b8b9d5ef60f710652bc'; + sec-mem-ref-line = '394'; + sec-mem-ref-name = 'xran_prb_elm::nRBStart'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a18adf7163dacc5bd7dd344fb1216f729'; + sec-mem-ref-line = '395'; + sec-mem-ref-name = 'xran_prb_elm::nRBSize'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a5acab5eec7096fb7732c804f71f02a4d'; + sec-mem-ref-line = '396'; + sec-mem-ref-name = 'xran_prb_elm::nStartSymb'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1ad2586af82c76901c361a2d08a6ba553b'; + sec-mem-ref-line = '397'; + sec-mem-ref-name = 'xran_prb_elm::numSymb'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1aba198438bbacf8f73b6bfa481b365ce5'; + sec-mem-ref-line = '398'; + sec-mem-ref-name = 'xran_prb_elm::nBeamIndex'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1ad73157f14fa98c54fb563244c1327933'; + sec-mem-ref-line = '400'; + sec-mem-ref-name = 'xran_prb_elm::compMethod'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1afc082593977ad91f3dcdd2175cb74615a7fbf705170e00d2ce3e838fa9826ca8d'; + sec-mem-ref-line = '204'; + sec-mem-ref-name = 'XRAN_COMPMETHOD_NONE'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1abf0211a253f5881ebad3910cef98d30ea25cae7703b653209b61647fa65ac7e9f'; + sec-mem-ref-line = '264'; + sec-mem-ref-name = 'XRAN_CATEGORY_A'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a8b8b1bd49f0c7c15063d74dd4ad48cde'; + sec-mem-ref-line = '402'; + sec-mem-ref-name = 'xran_prb_elm::BeamFormingType'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1ab78adb73387ef66b18318c2425be2f27a28eb3e91604ef0f752bef0c98e48a21f'; + sec-mem-ref-line = '272'; + sec-mem-ref-name = 'XRAN_BEAM_ID_BASED'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a0cae38b481020301f9e6831c27b5058b'; + sec-mem-ref-line = '399'; + sec-mem-ref-name = 'xran_prb_elm::bf_weight_update'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'gen__test_8m_1ac6b31045f94257d82fbbcf64a170a093'; + sec-mem-ref-line = '201'; + sec-mem-ref-name = 'iPrb'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1ab78adb73387ef66b18318c2425be2f27ac65119b19d6f3b1195050fb56529e02a'; + sec-mem-ref-line = '273'; + sec-mem-ref-name = 'XRAN_BEAM_WEIGHT'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__pkt_8h_1gga9c60a23fdae979ad1842b255790d1558a404255db3f05419798875bfb763e1c05'; + sec-mem-ref-line = '148'; + sec-mem-ref-name = 'XRAN_DIR_UL'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'chain__tests_8cc_1a6c5f599800ca755367ad7df4da60eb86'; + sec-mem-ref-line = '226'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'init__sys__functional_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '79'; + sec-mem-ref-name = 'Init_Sys_Check::SetUp'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classxran_lib_wraper_1ae89a123aad1c66a76c398b7af216aae4'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'Cleanup'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + sec-mem-desc-line = '914'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a25afbf449e11f9e290e0fdbef77702c2'; + sec-mem-ref-line = '1116'; + sec-mem-ref-name = 'get_rucategory'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1abf0211a253f5881ebad3910cef98d30ea6f7ea23328e0189a3c4879d7fa0d3749'; + sec-mem-ref-line = '265'; + sec-mem-ref-name = 'XRAN_CATEGORY_B'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a14c306e04a1b3ecdd13b82ab9ca6c9b5'; + sec-mem-ref-line = '54'; + sec-mem-ref-name = 'MAX_ANT_CARRIER_SUPPORTED'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1aeeef9211b4ee7d22934db64125b538dd'; + sec-mem-ref-line = '1120'; + sec-mem-ref-name = 'get_num_cc'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1aef8068804ca7393d92edd9ed22d90070'; + sec-mem-ref-line = '1121'; + sec-mem-ref-name = 'get_num_eaxc'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'chain__tests_8cc_1a6c5f599800ca755367ad7df4da60eb86'; + sec-mem-ref-line = '226'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'init__sys__functional_8cc_1ac4fca95dc3b93372ce7f2078baf8e8b6'; + sec-mem-ref-line = '86'; + sec-mem-ref-name = 'Init_Sys_Check::TearDown'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classxran_lib_wraper_1ad93226058ef4fd59bd7d0cd55701b752'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'Open'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +xran_ethdi_mbuf_send_fn +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'send_cp'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +xran_ethdi_mbuf_send_fn +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'send_up'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'fh_rx_callback'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'fh_rx_prach_callback'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + sec-mem-desc-line = '936'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'sample-app_8c_1ac1813c55eefb1dca0fd1af4c7a173c4a'; + sec-mem-ref-line = '79'; + sec-mem-ref-name = 'pXranConf'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a34dbe5e515cc78b4ce26fa287e6c1edc'; + sec-mem-ref-line = '110'; + sec-mem-ref-name = 'XRAN_MAX_SECTOR_NR'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a35fa05e7523928c0c86cbcf835c12dc5'; + sec-mem-ref-line = '111'; + sec-mem-ref-name = 'XRAN_MAX_ANTENNA_NR'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1af0963ba32cc8ecd280afd2e474eb426a'; + sec-mem-ref-line = '109'; + sec-mem-ref-name = 'XRAN_N_FE_BUF_LEN'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__main_8c_1aa8354b56b0be4be47c44a8a5c38db86e'; + sec-mem-ref-line = '2900'; + sec-mem-ref-name = 'xran_reg_physide_cb'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'sample-app_8c_1a85ff1667d07b822b2c7f5a91a0c0bc95'; + sec-mem-ref-line = '76'; + sec-mem-ref-name = 'xranHandle'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'sample-app_8c_1aa8882d42d07fbd9750da4db4395b438c'; + sec-mem-ref-line = '351'; + sec-mem-ref-name = 'physide_dl_tti_call_back'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a8eb67099ddcb1b5877a494edfd450d24ae2863e9abb188c74c5e36966396988e3'; + sec-mem-ref-line = '221'; + sec-mem-ref-name = 'XRAN_CB_TTI'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'sample-app_8c_1a52c968a559117b66a05591f958da75c2'; + sec-mem-ref-line = '359'; + sec-mem-ref-name = 'physide_ul_half_slot_call_back'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a8eb67099ddcb1b5877a494edfd450d24a75d1b6240b461efda58c8e06e8e9f6d2'; + sec-mem-ref-line = '222'; + sec-mem-ref-name = 'XRAN_CB_HALF_SLOT_RX'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'sample-app_8c_1a874ba95e7c465e83ccc26ab623eec60c'; + sec-mem-ref-line = '367'; + sec-mem-ref-name = 'physide_ul_full_slot_call_back'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a8eb67099ddcb1b5877a494edfd450d24a1e3bbfc0078205779b22c99889f927af'; + sec-mem-ref-line = '223'; + sec-mem-ref-name = 'XRAN_CB_FULL_SLOT_RX'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1aeeef9211b4ee7d22934db64125b538dd'; + sec-mem-ref-line = '1120'; + sec-mem-ref-name = 'get_num_cc'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'sample-app_8c_1ab79185e465507117d7b13fd30ec49f70'; + sec-mem-ref-line = '129'; + sec-mem-ref-name = 'BbuIoBufCtrlStruct::sBufferList'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__main_8c_1ac94e2474beef3b68521cfd391211b1be'; + sec-mem-ref-line = '2551'; + sec-mem-ref-name = 'xran_5g_fronthault_config'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__main_8c_1ab204e979de14c21d34e9b88c6c700d25'; + sec-mem-ref-line = '2636'; + sec-mem-ref-name = 'xran_5g_prach_req'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__main_8c_1ad1ada9c5c57979c50f1a17a9050b8f3a'; + sec-mem-ref-line = '2918'; + sec-mem-ref-name = 'xran_register_cb_mbuf2ring'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__main_8c_1a03f408f45e97aa68ca47c92e4e7d1a70'; + sec-mem-ref-line = '2756'; + sec-mem-ref-name = 'xran_open'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1acb7ae6f5547d5e166b643084db28b2fa'; + sec-mem-ref-line = '120'; + sec-mem-ref-name = 'm_xranConf'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'chain__tests_8cc_1a6c5f599800ca755367ad7df4da60eb86'; + sec-mem-ref-line = '226'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'init__sys__functional_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '79'; + sec-mem-ref-name = 'Init_Sys_Check::SetUp'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classxran_lib_wraper_1a7f7a3199c392465d0767c6506c1af5b4'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'Close'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + sec-mem-desc-line = '984'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__main_8c_1a2f8866c9d6536a56e4d8232b8c45808b'; + sec-mem-ref-line = '2863'; + sec-mem-ref-name = 'xran_close'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'chain__tests_8cc_1a6c5f599800ca755367ad7df4da60eb86'; + sec-mem-ref-line = '226'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'init__sys__functional_8cc_1ac4fca95dc3b93372ce7f2078baf8e8b6'; + sec-mem-ref-line = '86'; + sec-mem-ref-name = 'Init_Sys_Check::TearDown'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classxran_lib_wraper_1af9989f7ffd89540fc26371e24a29fefc'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'Start'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + sec-mem-desc-line = '990'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__main_8c_1ad4852c0827600db95f9841e2f5f9f6f1'; + sec-mem-ref-line = '2841'; + sec-mem-ref-name = 'xran_start'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'init__sys__functional_8cc_1a03935019c7cdf89f54e582fbaf9bff76'; + sec-mem-ref-line = '280'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classxran_lib_wraper_1af7c499a1fa8e52a104500d7d01c1a280'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'Stop'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + sec-mem-desc-line = '998'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__main_8c_1a8f2daee2fe90126f1f7c361b7760a7a3'; + sec-mem-ref-line = '2852'; + sec-mem-ref-name = 'xran_stop'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'init__sys__functional_8cc_1a03935019c7cdf89f54e582fbaf9bff76'; + sec-mem-ref-line = '280'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classxran_lib_wraper_1a3783fbb2a26b8a0530c489850a905a38'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'update_tti'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + sec-mem-desc-line = '1007'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__main_8c_1a9c3700d61ba446fa9b05cca2ca9018ab'; + sec-mem-ref-line = '632'; + sec-mem-ref-name = 'tti_ota_cb'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a1ffad42e0cccdbc800d3dbef66f52d45'; + sec-mem-ref-line = '1110'; + sec-mem-ref-name = 'get_timer_ctx'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'chain__tests_8cc_1af4e08ea14f09b53fce43ec39aba7a605'; + sec-mem-ref-line = '49'; + sec-mem-ref-name = 'xran_ut_tx_cp_dl'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'chain__tests_8cc_1a61f8088ed26f5ccc6a323c3b0feb66c2'; + sec-mem-ref-line = '55'; + sec-mem-ref-name = 'xran_ut_tx_cp_ul'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1ac4ce5a18c687ee515676e035359a1e89'; + sec-mem-ref-line = '1012'; + sec-mem-ref-name = 'update_symbol_index'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classxran_lib_wraper_1ac4ce5a18c687ee515676e035359a1e89'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'update_symbol_index'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + sec-mem-desc-line = '1012'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__main_8c_1a98175f360f5753bc99c4edd3c2d8bd04'; + sec-mem-ref-line = '113'; + sec-mem-ref-name = 'xran_lib_ota_sym_idx'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'common_8h_1a534c88c03c366dfbd4dd5efe7693f56b'; + sec-mem-ref-line = '50'; + sec-mem-ref-name = 'N_SYM_PER_SLOT'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a3783fbb2a26b8a0530c489850a905a38'; + sec-mem-ref-line = '1007'; + sec-mem-ref-name = 'update_tti'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__main_8c_1a8cec0b41a42705e6ab9f49914ca666c2'; + sec-mem-ref-line = '112'; + sec-mem-ref-name = 'xran_lib_ota_sym'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'chain__tests_8cc_1a73639c0dcf18fe068dc350fc0c8ba2f2'; + sec-mem-ref-line = '61'; + sec-mem-ref-name = 'xran_ut_tx_up_dl'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'chain__tests_8cc_1ad274ca70e6c47c2c549422b1cba1f0b0'; + sec-mem-ref-line = '67'; + sec-mem-ref-name = 'xran_ut_tx_cpup_dl'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classxran_lib_wraper_1a165ca95dea40ce1abcc161f39087d38d'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'apply_cpenable'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +bool +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'flag'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + sec-mem-desc-line = '1024'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__main_8c_1aa09e72e94d2a1d891e86f4c09b0f8b21'; + sec-mem-ref-line = '223'; + sec-mem-ref-name = 'xran_dev_get_ctx'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a61da580fc69a74f3ef17956ba5fd88a0'; + sec-mem-ref-line = '1114'; + sec-mem-ref-name = 'is_running'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a9507c81d07af4f634e04173663fd5419'; + sec-mem-ref-line = '121'; + sec-mem-ref-name = 'm_xranInit'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1ab0bb0b684cc2798a2ef1ceabe4a47e38'; + sec-mem-ref-line = '356'; + sec-mem-ref-name = 'xran_fh_init::enableCP'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__common_8h_1a1acdb894b98fd0ddf9e5542b50acfc50'; + sec-mem-ref-line = '213'; + sec-mem-ref-name = 'xran_device_ctx::enableCP'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'chain__tests_8cc_1a2bc2178388f6edfa69905ff5f52fbcdc'; + sec-mem-ref-line = '252'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classxran_lib_wraper_1a970616fd84b2f27327a77e202d31eeef'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'get_slot_config'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'cfgname'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_frame_config * +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'pCfg'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + sec-mem-desc-line = '1047'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a53a1d989c6dee827495401b1973c9ef8'; + sec-mem-ref-line = '464'; + sec-mem-ref-name = 'xran_frame_config::nTddPeriod'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a4664e9a9005020b4a98ada2d256906e2'; + sec-mem-ref-line = '465'; + sec-mem-ref-name = 'xran_frame_config::sSlotConfig'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a37a7dc4b204c22c2d8b9da9b07abd154'; + sec-mem-ref-line = '454'; + sec-mem-ref-name = 'xran_slot_config::nSymbolType'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a8d7e0415efaf6e08cb6510401f765c28'; + sec-mem-ref-line = '455'; + sec-mem-ref-name = 'xran_slot_config::reserved'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'chain__tests_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '135'; + sec-mem-ref-name = 'TestChain::SetUp'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classxran_lib_wraper_1abbe0bfcd68428ee4cc3f63a391495e8d'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'get_num_rbs'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'nNumerology'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'nBandwidth'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +bool +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'nSub6'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + sec-mem-desc-line = '1068'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a163a7a574581e04dfa9cc60cfc81e7f5afe7527756943cdf6474ad1c40ac7d716'; + sec-mem-ref-line = '83'; + sec-mem-ref-name = 'PHY_BW_5MHZ'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a163a7a574581e04dfa9cc60cfc81e7f5aae465d43fabe2dda9a2c6dbd2fa1099a'; + sec-mem-ref-line = '83'; + sec-mem-ref-name = 'PHY_BW_10MHZ'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a163a7a574581e04dfa9cc60cfc81e7f5a6eac287ee60ef4b214f6cd0b8196c7e4'; + sec-mem-ref-line = '83'; + sec-mem-ref-name = 'PHY_BW_15MHZ'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a163a7a574581e04dfa9cc60cfc81e7f5a9aacdbe3977171e1dda54f4778698ae8'; + sec-mem-ref-line = '84'; + sec-mem-ref-name = 'PHY_BW_20MHZ'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a163a7a574581e04dfa9cc60cfc81e7f5a5b785d20b7b0bf419524631adcb69df2'; + sec-mem-ref-line = '84'; + sec-mem-ref-name = 'PHY_BW_25MHZ'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a163a7a574581e04dfa9cc60cfc81e7f5acb0fe0e94ea4f59ab5dd24203d20e7a4'; + sec-mem-ref-line = '84'; + sec-mem-ref-name = 'PHY_BW_30MHZ'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a163a7a574581e04dfa9cc60cfc81e7f5a5a479142e60c93d76621c1390d029109'; + sec-mem-ref-line = '85'; + sec-mem-ref-name = 'PHY_BW_40MHZ'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a163a7a574581e04dfa9cc60cfc81e7f5a890aa1814878ba9f0adfab63784ef1c1'; + sec-mem-ref-line = '85'; + sec-mem-ref-name = 'PHY_BW_50MHZ'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a163a7a574581e04dfa9cc60cfc81e7f5acc82a679f8781bb880161e53650bdc33'; + sec-mem-ref-line = '85'; + sec-mem-ref-name = 'PHY_BW_60MHZ'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a163a7a574581e04dfa9cc60cfc81e7f5a3e20f3de146adbc3420c294819ec1e19'; + sec-mem-ref-line = '86'; + sec-mem-ref-name = 'PHY_BW_70MHZ'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a163a7a574581e04dfa9cc60cfc81e7f5a22ec162486eef1dd707ae1bd7ac8bde6'; + sec-mem-ref-line = '86'; + sec-mem-ref-name = 'PHY_BW_80MHZ'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a163a7a574581e04dfa9cc60cfc81e7f5a78c8c492b7c956fcd6b6e704662d385f'; + sec-mem-ref-line = '86'; + sec-mem-ref-name = 'PHY_BW_90MHZ'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a163a7a574581e04dfa9cc60cfc81e7f5aa890924947f41b2c05cb5acf87b463cb'; + sec-mem-ref-line = '87'; + sec-mem-ref-name = 'PHY_BW_100MHZ'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a163a7a574581e04dfa9cc60cfc81e7f5a845dedb5bd2f41b50f6a7268473435a0'; + sec-mem-ref-line = '87'; + sec-mem-ref-name = 'PHY_BW_200MHZ'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a163a7a574581e04dfa9cc60cfc81e7f5a7217a56ae78997c5ae511d10ebb4c924'; + sec-mem-ref-line = '87'; + sec-mem-ref-name = 'PHY_BW_400MHZ'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'chain__tests_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '135'; + sec-mem-ref-name = 'TestChain::SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a2e64fc338fcfaac25af91aae564777fa'; + sec-mem-ref-line = '467'; + sec-mem-ref-name = 'xranLibWraper'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classxran_lib_wraper_1a2ad94e2d18c69b423d5402d7777832f1'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'get_xranhandle'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + sec-mem-desc-line = '1109'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'init__sys__functional_8cc_1ac2f03036711a42868a78783b735097e5'; + sec-mem-ref-line = '120'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classxran_lib_wraper_1a1ffad42e0cccdbc800d3dbef66f52d45'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'get_timer_ctx'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + sec-mem-desc-line = '1110'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'chain__tests_8cc_1af4e08ea14f09b53fce43ec39aba7a605'; + sec-mem-ref-line = '49'; + sec-mem-ref-name = 'xran_ut_tx_cp_dl'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'chain__tests_8cc_1a61f8088ed26f5ccc6a323c3b0feb66c2'; + sec-mem-ref-line = '55'; + sec-mem-ref-name = 'xran_ut_tx_cp_ul'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'chain__tests_8cc_1a73639c0dcf18fe068dc350fc0c8ba2f2'; + sec-mem-ref-line = '61'; + sec-mem-ref-name = 'xran_ut_tx_up_dl'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'chain__tests_8cc_1ad274ca70e6c47c2c549422b1cba1f0b0'; + sec-mem-ref-line = '67'; + sec-mem-ref-name = 'xran_ut_tx_cpup_dl'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a3783fbb2a26b8a0530c489850a905a38'; + sec-mem-ref-line = '1007'; + sec-mem-ref-name = 'update_tti'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classxran_lib_wraper_1ab795436cc8b07e2b0d665502274b30e6'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'get_symbol_index'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + sec-mem-desc-line = '1112'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__main_8c_1a8cec0b41a42705e6ab9f49914ca666c2'; + sec-mem-ref-line = '112'; + sec-mem-ref-name = 'xran_lib_ota_sym'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'chain__tests_8cc_1ad274ca70e6c47c2c549422b1cba1f0b0'; + sec-mem-ref-line = '67'; + sec-mem-ref-name = 'xran_ut_tx_cpup_dl'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classxran_lib_wraper_1a61da580fc69a74f3ef17956ba5fd88a0'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +bool +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'is_running'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + sec-mem-desc-line = '1114'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__main_8c_1a937105f52446cfcb951e43e1dc3c4d8b'; + sec-mem-ref-line = '238'; + sec-mem-ref-name = 'xran_get_if_state'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a2f600110ab5726a0f21375b7f24c0326a35916b54fc6804c2f2dc1f5891f3047e'; + sec-mem-ref-line = '192'; + sec-mem-ref-name = 'XRAN_RUNNING'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a165ca95dea40ce1abcc161f39087d38d'; + sec-mem-ref-line = '1024'; + sec-mem-ref-name = 'apply_cpenable'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classxran_lib_wraper_1a25afbf449e11f9e290e0fdbef77702c2'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +enum xran_category +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'get_rucategory'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + sec-mem-desc-line = '1114'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1acb7ae6f5547d5e166b643084db28b2fa'; + sec-mem-ref-line = '120'; + sec-mem-ref-name = 'm_xranConf'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a27ff648f80c139235421b81f957fcb7e'; + sec-mem-ref-line = '518'; + sec-mem-ref-name = 'xran_fh_config::ru_conf'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1af92ff2dfd2bddd0880d779c04b9fb359'; + sec-mem-ref-line = '484'; + sec-mem-ref-name = 'xran_ru_config::xranCat'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a200da4e2209141f12cafef2380cb801a'; + sec-mem-ref-line = '740'; + sec-mem-ref-name = 'Init'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1ae89a123aad1c66a76c398b7af216aae4'; + sec-mem-ref-line = '914'; + sec-mem-ref-name = 'Cleanup'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classxran_lib_wraper_1a7d7488daf0a2eebb9359f760a60eaf7c'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'get_numerology'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + sec-mem-desc-line = '1118'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1acb7ae6f5547d5e166b643084db28b2fa'; + sec-mem-ref-line = '120'; + sec-mem-ref-name = 'm_xranConf'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a72b0cba491d0dd2703d684cb2c2a14cf'; + sec-mem-ref-line = '517'; + sec-mem-ref-name = 'xran_fh_config::frame_conf'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a78b2fab8e8d6a6424c2712d528fd9a58'; + sec-mem-ref-line = '461'; + sec-mem-ref-name = 'xran_frame_config::nNumerology'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a2e64fc338fcfaac25af91aae564777fa'; + sec-mem-ref-line = '467'; + sec-mem-ref-name = 'xranLibWraper'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classxran_lib_wraper_1a5548a3a1605dbf7b492d6eb164d3c667'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'get_duplextype'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + sec-mem-desc-line = '1119'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1acb7ae6f5547d5e166b643084db28b2fa'; + sec-mem-ref-line = '120'; + sec-mem-ref-name = 'm_xranConf'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a72b0cba491d0dd2703d684cb2c2a14cf'; + sec-mem-ref-line = '517'; + sec-mem-ref-name = 'xran_fh_config::frame_conf'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a3b86317723a592e240c0047e53a6326d'; + sec-mem-ref-line = '460'; + sec-mem-ref-name = 'xran_frame_config::nFrameDuplexType'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classxran_lib_wraper_1aeeef9211b4ee7d22934db64125b538dd'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'get_num_cc'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + sec-mem-desc-line = '1120'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1acb7ae6f5547d5e166b643084db28b2fa'; + sec-mem-ref-line = '120'; + sec-mem-ref-name = 'm_xranConf'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a6dcac3ea0b3d99c20c2e6f7091b8b342'; + sec-mem-ref-line = '500'; + sec-mem-ref-name = 'xran_fh_config::nCC'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'init__sys__functional_8cc_1ac2f03036711a42868a78783b735097e5'; + sec-mem-ref-line = '120'; + sec-mem-ref-name = 'TEST_P'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a200da4e2209141f12cafef2380cb801a'; + sec-mem-ref-line = '740'; + sec-mem-ref-name = 'Init'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1ae89a123aad1c66a76c398b7af216aae4'; + sec-mem-ref-line = '914'; + sec-mem-ref-name = 'Cleanup'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1ad93226058ef4fd59bd7d0cd55701b752'; + sec-mem-ref-line = '936'; + sec-mem-ref-name = 'Open'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classxran_lib_wraper_1aef8068804ca7393d92edd9ed22d90070'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'get_num_eaxc'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + sec-mem-desc-line = '1121'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1acb7ae6f5547d5e166b643084db28b2fa'; + sec-mem-ref-line = '120'; + sec-mem-ref-name = 'm_xranConf'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1abcac68b45b2bcf3b5458817d65b86e45'; + sec-mem-ref-line = '501'; + sec-mem-ref-name = 'xran_fh_config::neAxc'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a200da4e2209141f12cafef2380cb801a'; + sec-mem-ref-line = '740'; + sec-mem-ref-name = 'Init'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1ae89a123aad1c66a76c398b7af216aae4'; + sec-mem-ref-line = '914'; + sec-mem-ref-name = 'Cleanup'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classxran_lib_wraper_1ad2b06001d76c9a773c242b28fc7c92f4'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'get_num_dlrbs'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + sec-mem-desc-line = '1122'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1acb7ae6f5547d5e166b643084db28b2fa'; + sec-mem-ref-line = '120'; + sec-mem-ref-name = 'm_xranConf'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a7917929ae3bb588a5bf6f4e56cf9549e'; + sec-mem-ref-line = '506'; + sec-mem-ref-name = 'xran_fh_config::nDLRBs'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a200da4e2209141f12cafef2380cb801a'; + sec-mem-ref-line = '740'; + sec-mem-ref-name = 'Init'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classxran_lib_wraper_1a967a0c58430104684cf2f9b1fdb444da'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'get_num_ulrbs'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + sec-mem-desc-line = '1123'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1acb7ae6f5547d5e166b643084db28b2fa'; + sec-mem-ref-line = '120'; + sec-mem-ref-name = 'm_xranConf'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a5448b37ad609bb66bf44b44d1f9bac72'; + sec-mem-ref-line = '507'; + sec-mem-ref-name = 'xran_fh_config::nULRBs'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a200da4e2209141f12cafef2380cb801a'; + sec-mem-ref-line = '740'; + sec-mem-ref-name = 'Init'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classxran_lib_wraper_1adde1d671cf6532a577f13d85875ee3b4'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'get_num_antelmtrx'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + sec-mem-desc-line = '1124'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1acb7ae6f5547d5e166b643084db28b2fa'; + sec-mem-ref-line = '120'; + sec-mem-ref-name = 'm_xranConf'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1ac63d8c67956a8a08cbfd8efb92a2f055'; + sec-mem-ref-line = '503'; + sec-mem-ref-name = 'xran_fh_config::nAntElmTRx'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a200da4e2209141f12cafef2380cb801a'; + sec-mem-ref-line = '740'; + sec-mem-ref-name = 'Init'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classxran_lib_wraper_1a5855fc30031ba49b7375526f7cda0ff7'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +bool +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'is_cpenable'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + sec-mem-desc-line = '1126'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a9507c81d07af4f634e04173663fd5419'; + sec-mem-ref-line = '121'; + sec-mem-ref-name = 'm_xranInit'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1ab0bb0b684cc2798a2ef1ceabe4a47e38'; + sec-mem-ref-line = '356'; + sec-mem-ref-name = 'xran_fh_init::enableCP'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'chain__tests_8cc_1a2bc2178388f6edfa69905ff5f52fbcdc'; + sec-mem-ref-line = '252'; + sec-mem-ref-name = 'TEST_P'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classxran_lib_wraper_1a5b5d9e46f23728cf8901e177fbf1e32b'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +bool +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'is_prachenable'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + sec-mem-desc-line = '1127'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a9507c81d07af4f634e04173663fd5419'; + sec-mem-ref-line = '121'; + sec-mem-ref-name = 'm_xranInit'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1ac0646000d1448798a186e109df0bb3dd'; + sec-mem-ref-line = '357'; + sec-mem-ref-name = 'xran_fh_init::prachEnable'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classxran_lib_wraper_1a1d92eb426fc3269a180f07289f738d1a'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +bool +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'is_dynamicsection'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + sec-mem-desc-line = '1128'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a9507c81d07af4f634e04173663fd5419'; + sec-mem-ref-line = '121'; + sec-mem-ref-name = 'm_xranInit'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a6fcbf469691a192f1ce298f70981c17a'; + sec-mem-ref-line = '363'; + sec-mem-ref-name = 'xran_fh_init::DynamicSectionEna'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classxran_lib_wraper_1a0395e3b64e7fe193c70ea4e86ce2bddc'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'get_cfg_prach'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_prach_config * +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'pCfg'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + sec-mem-desc-line = '1130'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1acb7ae6f5547d5e166b643084db28b2fa'; + sec-mem-ref-line = '120'; + sec-mem-ref-name = 'm_xranConf'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a167e91cb91119363bf10c9430b6f082c'; + sec-mem-ref-line = '515'; + sec-mem-ref-name = 'xran_fh_config::prach_conf'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classxran_lib_wraper_1a387cf1bf4b8f48c23d58309a0c1a9e2c'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'get_cfg_frame'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_frame_config * +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'pCfg'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + sec-mem-desc-line = '1136'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1acb7ae6f5547d5e166b643084db28b2fa'; + sec-mem-ref-line = '120'; + sec-mem-ref-name = 'm_xranConf'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a72b0cba491d0dd2703d684cb2c2a14cf'; + sec-mem-ref-line = '517'; + sec-mem-ref-name = 'xran_fh_config::frame_conf'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classxran_lib_wraper_1a8789158912b9607cbc6414c92a120003'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'get_cfg_ru'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_ru_config * +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'pCfg'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + sec-mem-desc-line = '1142'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1acb7ae6f5547d5e166b643084db28b2fa'; + sec-mem-ref-line = '120'; + sec-mem-ref-name = 'm_xranConf'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__fh__o__du_8h_1a27ff648f80c139235421b81f957fcb7e'; + sec-mem-ref-line = '518'; + sec-mem-ref-name = 'xran_fh_config::ru_conf'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classxran_lib_wraper_1a7d671b9b851d9b0fbae6777e85643c3b'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'get_cfg_fh'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_fh_config * +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'pCfg'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + sec-mem-desc-line = '1148'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceto = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1acb7ae6f5547d5e166b643084db28b2fa'; + sec-mem-ref-line = '120'; + sec-mem-ref-name = 'm_xranConf'; + }; + sec-mem-referenceto = { + sec-mem-ref-id = 'xranlib__unit__test__main_8cc_1a1b2100f9f398243bb4bdbf0db003b9a3'; + sec-mem-ref-line = '44'; + sec-mem-ref-name = 'xranlib'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'chain__tests_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + sec-mem-ref-line = '135'; + sec-mem-ref-name = 'TestChain::SetUp'; + }; + }; /* sec-member */ + }; /* cp-section */ + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'classxran_lib_wraper_1a95651581b17afb55b04ca83f04261353'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +const uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'nNumRbsPerSymF1'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += + { + + { 25, 52, 79, 106, 133, 160, 216, 270, 0, 0, 0, 0, 0 }, + { 11, 24, 38, 51, 65, 78, 106, 133, 162, 0, 217, 245, 273 }, + { 0, 11, 18, 24, 31, 38, 51, 65, 79, 0, 107, 121, 135 } + } +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + sec-mem-desc-line = '91'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'classxran_lib_wraper_1aa77e335f5b2d2cc1d81de7a55f122ded'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +const uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'nNumRbsPerSymF2'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += + { + + { 66, 132, 264, 0 }, + { 32, 66, 132, 264 } + } +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + sec-mem-desc-line = '100'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-section = { + sec-kind = 'protected-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'classxran_lib_wraper_1ac6f9b50e19408f0c2efdcf7e5dd204a9'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +char +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'argv'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += "unittest" +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + sec-mem-desc-line = '109'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'classxran_lib_wraper_1a790ada9a4b1a467dc29bc4bfa1ec3e20'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +std::string +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_dpdk_dev_up'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + sec-mem-desc-line = '111'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a2e64fc338fcfaac25af91aae564777fa'; + sec-mem-ref-line = '467'; + sec-mem-ref-name = 'xranLibWraper'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'classxran_lib_wraper_1aa0dbf843da8d26633022c153c473deb5'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +std::string +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_dpdk_dev_cp'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + sec-mem-desc-line = '111'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a2e64fc338fcfaac25af91aae564777fa'; + sec-mem-ref-line = '467'; + sec-mem-ref-name = 'xranLibWraper'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'classxran_lib_wraper_1af2f499e1b7c34ec4e1c600e00bddc75f'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +std::string +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_dpdk_bbdev'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + sec-mem-desc-line = '111'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a2e64fc338fcfaac25af91aae564777fa'; + sec-mem-ref-line = '467'; + sec-mem-ref-name = 'xranLibWraper'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'classxran_lib_wraper_1adcc43270fba1599cebe2bc32eca45554'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_xranhandle'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + sec-mem-desc-line = '113'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'classxran_lib_wraper_1ab58608944b110026e58c96affe100111'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_du_mac'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += { 0x00,0x11, 0x22, 0x33, 0x44, 0x66 } +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + sec-mem-desc-line = '115'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'classxran_lib_wraper_1a5914f36a470616ef17f5b663a8d21b30'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_ru_mac'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += { 0x00,0x11, 0x22, 0x33, 0x44, 0x55 } +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + sec-mem-desc-line = '116'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'classxran_lib_wraper_1ae064c199bd624882f23a786c57aa5afe'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +bool +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_bSub6'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + sec-mem-desc-line = '117'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'classxran_lib_wraper_1aa7e4fc7db724dc357f1425ab426c8921'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_nSlots'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += 10 +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + sec-mem-desc-line = '118'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'classxran_lib_wraper_1acb7ae6f5547d5e166b643084db28b2fa'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_fh_config +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_xranConf'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + sec-mem-desc-line = '118'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a2e64fc338fcfaac25af91aae564777fa'; + sec-mem-ref-line = '467'; + sec-mem-ref-name = 'xranLibWraper'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a200da4e2209141f12cafef2380cb801a'; + sec-mem-ref-line = '740'; + sec-mem-ref-name = 'Init'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1ad93226058ef4fd59bd7d0cd55701b752'; + sec-mem-ref-line = '936'; + sec-mem-ref-name = 'Open'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a25afbf449e11f9e290e0fdbef77702c2'; + sec-mem-ref-line = '1116'; + sec-mem-ref-name = 'get_rucategory'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a7d7488daf0a2eebb9359f760a60eaf7c'; + sec-mem-ref-line = '1118'; + sec-mem-ref-name = 'get_numerology'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a5548a3a1605dbf7b492d6eb164d3c667'; + sec-mem-ref-line = '1119'; + sec-mem-ref-name = 'get_duplextype'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1aeeef9211b4ee7d22934db64125b538dd'; + sec-mem-ref-line = '1120'; + sec-mem-ref-name = 'get_num_cc'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1aef8068804ca7393d92edd9ed22d90070'; + sec-mem-ref-line = '1121'; + sec-mem-ref-name = 'get_num_eaxc'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1ad2b06001d76c9a773c242b28fc7c92f4'; + sec-mem-ref-line = '1122'; + sec-mem-ref-name = 'get_num_dlrbs'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a967a0c58430104684cf2f9b1fdb444da'; + sec-mem-ref-line = '1123'; + sec-mem-ref-name = 'get_num_ulrbs'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1adde1d671cf6532a577f13d85875ee3b4'; + sec-mem-ref-line = '1124'; + sec-mem-ref-name = 'get_num_antelmtrx'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a0395e3b64e7fe193c70ea4e86ce2bddc'; + sec-mem-ref-line = '1130'; + sec-mem-ref-name = 'get_cfg_prach'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a387cf1bf4b8f48c23d58309a0c1a9e2c'; + sec-mem-ref-line = '1136'; + sec-mem-ref-name = 'get_cfg_frame'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a8789158912b9607cbc6414c92a120003'; + sec-mem-ref-line = '1142'; + sec-mem-ref-name = 'get_cfg_ru'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a7d671b9b851d9b0fbae6777e85643c3b'; + sec-mem-ref-line = '1148'; + sec-mem-ref-name = 'get_cfg_fh'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'classxran_lib_wraper_1a9507c81d07af4f634e04173663fd5419'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_fh_init +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_xranInit'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + sec-mem-desc-line = '118'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a2e64fc338fcfaac25af91aae564777fa'; + sec-mem-ref-line = '467'; + sec-mem-ref-name = 'xranLibWraper'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a126b53d8cc57521b34496dbe3a26621f'; + sec-mem-ref-line = '678'; + sec-mem-ref-name = 'SetUp'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a165ca95dea40ce1abcc161f39087d38d'; + sec-mem-ref-line = '1024'; + sec-mem-ref-name = 'apply_cpenable'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a5855fc30031ba49b7375526f7cda0ff7'; + sec-mem-ref-line = '1126'; + sec-mem-ref-name = 'is_cpenable'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a5b5d9e46f23728cf8901e177fbf1e32b'; + sec-mem-ref-line = '1127'; + sec-mem-ref-name = 'is_prachenable'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a1d92eb426fc3269a180f07289f738d1a'; + sec-mem-ref-line = '1128'; + sec-mem-ref-name = 'is_dynamicsection'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'classxran_lib_wraper_1a74cbf8f188c4df27d645f80be26bb077'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xranLibWraper::xran_timer_ctx +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_timer_ctx'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + sec-mem-desc-line = '125'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a200da4e2209141f12cafef2380cb801a'; + sec-mem-ref-line = '740'; + sec-mem-ref-name = 'Init'; + }; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__lib__wrap_8hpp_1a1ffad42e0cccdbc800d3dbef66f52d45'; + sec-mem-ref-line = '1110'; + sec-mem-ref-name = 'get_timer_ctx'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'classxran_lib_wraper_1a4ec48d0ffb9f1f4310057061754541af'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +BbuIoBufCtrlStruct +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_sFrontHaulTxBbuIoBufCtrl'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + sec-mem-desc-line = '128'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'classxran_lib_wraper_1a5de5e6cb2e5beb2315f16ecc06aa2966'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +BbuIoBufCtrlStruct +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_sFrontHaulTxPrbMapBbuIoBufCtrl'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + sec-mem-desc-line = '129'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'classxran_lib_wraper_1ad99e9ea539081aeef2978a3f472baf1c'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +BbuIoBufCtrlStruct +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_sFrontHaulRxBbuIoBufCtrl'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + sec-mem-desc-line = '130'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'classxran_lib_wraper_1a5d7d51f26d22de978142c336c82b8736'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +BbuIoBufCtrlStruct +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_sFrontHaulRxPrbMapBbuIoBufCtrl'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + sec-mem-desc-line = '131'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'classxran_lib_wraper_1a4e219881fa053028c692fb10ae2bb5a3'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +BbuIoBufCtrlStruct +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_sFHPrachRxBbuIoBufCtrl'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + sec-mem-desc-line = '132'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'classxran_lib_wraper_1aaf96fa2c0147a497910401ba377506db'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_flat_buffer +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_sFrontHaulTxBuffers'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + sec-mem-desc-line = '132'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'classxran_lib_wraper_1aa1611b01fe2d460ebe58e45c901f68e8'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_flat_buffer +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_sFrontHaulTxPrbMapBuffers'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + sec-mem-desc-line = '132'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'classxran_lib_wraper_1a6284df81f3334e6319e99aa3d368acec'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_flat_buffer +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_sFrontHaulRxBuffers'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + sec-mem-desc-line = '132'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'classxran_lib_wraper_1a21adf86e6b2a299b94a4eb59b6094863'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_flat_buffer +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_sFrontHaulRxPrbMapBuffers'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + sec-mem-desc-line = '132'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'classxran_lib_wraper_1ad84b20c11b0095b35674f3eb1c247375'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_flat_buffer +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_sFHPrachRxBuffers'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + sec-mem-desc-line = '132'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'classxran_lib_wraper_1a80a3e8332a69c2beb5df4ad72b4a022c'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_nInstanceHandle'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + sec-mem-desc-line = '141'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'classxran_lib_wraper_1a9270468afb68051247edd5953b828aca'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_nBufPoolIndex'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + sec-mem-desc-line = '142'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'classxran_lib_wraper_1a21b3d390c6eee5d15152cdc5459ff523'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_nSW_ToFpga_FTH_TxBufferLen'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + sec-mem-desc-line = '144'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'classxran_lib_wraper_1af53e776036ad72ea2d2e5a2bdbbdc0b2'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_nFpgaToSW_FTH_RxBufferLen'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + sec-mem-desc-line = '145'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'classxran_lib_wraper_1a98ce8fded84309c17c61f4dd902d4e0f'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_nSectorIndex'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + sec-mem-desc-line = '147'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'classxran_lib_wraper_1ad1ab6e8c4efe2805b76180b34ce4c019'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'iq_bfw_buffer_size_dl'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += 0 +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + sec-mem-desc-line = '149'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'classxran_lib_wraper_1a8b3edaed699562559db744c8e2aa36b1'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'iq_bfw_buffer_size_ul'; + sec-mem-initializer = <<_EnD_oF_dEf_TeXt_ += 0 +_EnD_oF_dEf_TeXt_; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + sec-mem-desc-line = '150'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'classxran_lib_wraper_1a77bd4ecb90ef07ddc1420242672b1587'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int16_t * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'p_tx_dl_bfw_buffer'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + sec-mem-desc-line = '153'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'classxran_lib_wraper_1aad7c467bc9da44318d2e8cf2f4472f17'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'tx_dl_bfw_buffer_size'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + sec-mem-desc-line = '154'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'classxran_lib_wraper_1a364dd5820c1bb3fc2f760e5b6cab5b98'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'tx_dl_bfw_buffer_position'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + sec-mem-desc-line = '155'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'classxran_lib_wraper_1a95b1981d7d33eb50789dbc55d5d2755f'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int16_t * +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'p_tx_ul_bfw_buffer'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + sec-mem-desc-line = '158'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'classxran_lib_wraper_1a2fca7a2340a727f72d85407c5e153ed4'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'tx_ul_bfw_buffer_size'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + sec-mem-desc-line = '159'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'classxran_lib_wraper_1adc7a94af3a9c52fdb09e8733264eee4a'; + sec-mem-virt = normal; + sec-mem-prot = protected; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'tx_ul_bfw_buffer_position'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + sec-mem-desc-line = '160'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-section = { + sec-kind = 'private-func'; + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classxran_lib_wraper_1a8006bd7264c0a274d4096a56717a001c'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +T +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'get_globalcfg'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'type'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'parameter_name'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + sec-mem-desc-line = '167'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classxran_lib_wraper_1a1b7c5ca1fc2d5a3358714436ae02c818'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +std::vector< T > +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'get_globalcfg_array'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'type'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'parameter_name'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + sec-mem-desc-line = '173'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classxran_lib_wraper_1a45c628948967c1db74ec7ab8425bde1a'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'get_eaxcid_mask'; + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'numbit'; + }; /* sec-mem-param--param */ + sec-mem-param = { + sec-mem-param-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + sec-mem-param-declname = 'shift'; + }; /* sec-mem-param--param */ + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + sec-mem-desc-line = '185'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'function'; + sec-mem-id = 'classxran_lib_wraper_1a953cc94cc43264925851c4d2ccec2b03'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'init_memory'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + sec-mem-desc-line = '195'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-section = { + sec-kind = 'private-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'classxran_lib_wraper_1ae80e129940e818877b624faba664a9b4'; + sec-mem-virt = normal; + sec-mem-prot = private; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +json +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'm_global_cfg'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + sec-mem-desc-line = '164'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + cp-fileline = '67'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 651; + node-label = 'BbuIoBufCtrlStruct'; + node-link = { + node-link-id = 'struct_bbu_io_buf_ctrl_struct'; + }; + node-child = { + child-id = '652'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++sBufferList +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + node = { + node-id = 655; + node-label = 'xran_fh_init'; + node-link = { + node-link-id = 'structxran__fh__init'; + }; + node-child = { + child-id = '656'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++eAxCId_conf +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '657'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++io_cfg +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + node = { + node-id = 654; + node-label = 'xran_timer_ctx'; + node-link = { + node-link-id = 'structxran_lib_wraper_1_1xran__timer__ctx'; + }; + }; /* node */ + node = { + node-id = 653; + node-label = 'xran_flat_buffer'; + node-link = { + node-link-id = 'structxran__flat__buffer'; + }; + }; /* node */ + node = { + node-id = 660; + node-label = 'xran_frame_config'; + node-link = { + node-link-id = 'structxran__frame__config'; + }; + node-child = { + child-id = '661'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++sSlotConfig +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + node = { + node-id = 652; + node-label = 'xran_buffer_list'; + node-link = { + node-link-id = 'structxran__buffer__list'; + }; + node-child = { + child-id = '653'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++pBuffers +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + node = { + node-id = 656; + node-label = 'xran_eaxcid_config'; + node-link = { + node-link-id = 'structxran__eaxcid__config'; + }; + }; /* node */ + node = { + node-id = 657; + node-label = 'xran_io_cfg'; + node-link = { + node-link-id = 'structxran__io__cfg'; + }; + }; /* node */ + node = { + node-id = 662; + node-label = 'xran_ru_config'; + node-link = { + node-link-id = 'structxran__ru__config'; + }; + }; /* node */ + node = { + node-id = 663; + node-label = 'xran_srs_config'; + node-link = { + node-link-id = 'structxran__srs__config'; + }; + }; /* node */ + node = { + node-id = 650; + node-label = 'xranLibWraper'; + node-link = { + node-link-id = 'classxran_lib_wraper'; + }; + node-child = { + child-id = '651'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ +#m_sFrontHaulTxPrbMapBbuIoBufCtrl +#m_sFrontHaulTxBbuIoBufCtrl +#m_sFHPrachRxBbuIoBufCtrl +#m_sFrontHaulRxPrbMapBbuIoBufCtrl +#m_sFrontHaulRxBbuIoBufCtrl +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '654'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ +#m_timer_ctx +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '653'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ +#m_sFrontHaulTxBuffers +#m_sFHPrachRxBuffers +#m_sFrontHaulTxPrbMapBuffers +#m_sFrontHaulRxBuffers +#m_sFrontHaulRxPrbMapBuffers +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '655'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ +#m_xranInit +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '658'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ +#m_xranConf +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + node = { + node-id = 658; + node-label = 'xran_fh_config'; + node-link = { + node-link-id = 'structxran__fh__config'; + }; + node-child = { + child-id = '659'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++prach_conf +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '660'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++frame_conf +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '662'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++ru_conf +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + node-child = { + child-id = '663'; + relation = usage; + edgelabel = <<_EnD_oF_dEf_TeXt_ ++srs_conf +_EnD_oF_dEf_TeXt_; + }; /* node-child */ + }; /* node */ + node = { + node-id = 659; + node-label = 'xran_prach_config'; + node-link = { + node-link-id = 'structxran__prach__config'; + }; + }; /* node */ + node = { + node-id = 661; + node-label = 'xran_slot_config'; + node-link = { + node-link-id = 'structxran__slot__config'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* class */ +struct = { + cp-id = 'structx_r_a_n_prach_config_table_struct'; + cp-name = 'xRANPrachConfigTableStruct'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structx_r_a_n_prach_config_table_struct_1ac80f2088871de674e27c76994d18c9e4'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'prachConfigIdx'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + sec-mem-desc-line = '104'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structx_r_a_n_prach_config_table_struct_1acda2526836f55a54072c7582b0735ec6'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'preambleFmrt'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + sec-mem-desc-line = '105'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a00025c5bad7b7b6eea4374226f8c54bb'; + sec-mem-ref-line = '308'; + sec-mem-ref-name = 'xran_init_prach'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structx_r_a_n_prach_config_table_struct_1a0f561e77fa0f040b637f4e04f6cd8078'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'x'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + sec-mem-desc-line = '106'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a00025c5bad7b7b6eea4374226f8c54bb'; + sec-mem-ref-line = '308'; + sec-mem-ref-name = 'xran_init_prach'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structx_r_a_n_prach_config_table_struct_1a1d627e83c5e0ae889b71ea0508991f29'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'y'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + sec-mem-desc-line = '107'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a00025c5bad7b7b6eea4374226f8c54bb'; + sec-mem-ref-line = '308'; + sec-mem-ref-name = 'xran_init_prach'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structx_r_a_n_prach_config_table_struct_1a48f74053065142fe9cffa09c460965e1'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'slotNr'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + sec-mem-desc-line = '108'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a00025c5bad7b7b6eea4374226f8c54bb'; + sec-mem-ref-line = '308'; + sec-mem-ref-name = 'xran_init_prach'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structx_r_a_n_prach_config_table_struct_1ad86e3c05257c9e5fbfce20441a48fdec'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'slotNrNum'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + sec-mem-desc-line = '109'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structx_r_a_n_prach_config_table_struct_1a232bf4a599983638ff369472234af97c'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'startingSym'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + sec-mem-desc-line = '110'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a00025c5bad7b7b6eea4374226f8c54bb'; + sec-mem-ref-line = '308'; + sec-mem-ref-name = 'xran_init_prach'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structx_r_a_n_prach_config_table_struct_1a855041f3139611ca7478502e3241b2f1'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'nrofPrachInSlot'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + sec-mem-desc-line = '111'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a00025c5bad7b7b6eea4374226f8c54bb'; + sec-mem-ref-line = '308'; + sec-mem-ref-name = 'xran_init_prach'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structx_r_a_n_prach_config_table_struct_1a2e544eaae35a5756272d62af4fa53a19'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'occassionsInPrachSlot'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + sec-mem-desc-line = '112'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a00025c5bad7b7b6eea4374226f8c54bb'; + sec-mem-ref-line = '308'; + sec-mem-ref-name = 'xran_init_prach'; + }; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structx_r_a_n_prach_config_table_struct_1ae7b193beba4cc63eed61b211bae9e802'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'duration'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + sec-mem-desc-line = '113'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a00025c5bad7b7b6eea4374226f8c54bb'; + sec-mem-ref-line = '308'; + sec-mem-ref-name = 'xran_init_prach'; + }; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + cp-fileline = '103'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 665; + node-label = 'xRANPrachConfigTableStruct'; + node-link = { + node-link-id = 'structx_r_a_n_prach_config_table_struct'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +struct = { + cp-id = 'structx_r_a_n_prach_preamble_l_r_a_struct'; + cp-name = 'xRANPrachPreambleLRAStruct'; + cp-section = { + sec-kind = 'public-attrib'; + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structx_r_a_n_prach_preamble_l_r_a_struct_1ac8012ba5a5ec95c9cc18ffa77f36e84e'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'preambleFmrt'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + sec-mem-desc-line = '118'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structx_r_a_n_prach_preamble_l_r_a_struct_1ab42b266a3a60e7fc0e082ce7f928208d'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'lRALen'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + sec-mem-desc-line = '119'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structx_r_a_n_prach_preamble_l_r_a_struct_1aed8831c5fee95cb19b08e7fddb5d9658'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'fRA'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + sec-mem-desc-line = '120'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structx_r_a_n_prach_preamble_l_r_a_struct_1abc78f4868475122608abbdf1e0439b4c'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'nu'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + sec-mem-desc-line = '121'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* sec-member */ + sec-member = { + sec-mem-kind = 'variable'; + sec-mem-id = 'structx_r_a_n_prach_preamble_l_r_a_struct_1a3cab2a5fe931bc424f18ac0b23f2060e'; + sec-mem-virt = normal; + sec-mem-prot = public; + sec-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + sec-mem-name = 'nRaCp'; + sec-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + sec-mem-desc-line = '122'; + sec-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + sec-mem-referenceby = { + sec-mem-ref-id = 'xran__main_8c_1a00025c5bad7b7b6eea4374226f8c54bb'; + sec-mem-ref-line = '308'; + sec-mem-ref-name = 'xran_init_prach'; + }; + }; /* sec-member */ + }; /* cp-section */ + cp-filename = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + cp-fileline = '117'; + cp-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_ + node = { + node-id = 667; + node-label = 'xRANPrachPreambleLRAStruct'; + node-link = { + node-link-id = 'structx_r_a_n_prach_preamble_l_r_a_struct'; + }; + }; /* node */ + +_EnD_oF_dEf_TeXt_; +}; /* struct */ +file = { + file-id = 'c__plane__tests_8cc'; + file-name = 'c_plane_tests.cc'; + func = { + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'c__plane__tests_8cc_1ab22c1305386eabc256bc6d3492d50846'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_ut_prepare_cp'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mbuf * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'mbuf'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_cp_gen_params * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'params'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'cc_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'ant_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'seq_id'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/c_plane_tests.cc'; + func-mem-desc-line = '40'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8c_1af9eb550e92ea270af41b4b6bcda363db'; + func-mem-ref-line = '1381'; + func-mem-ref-name = 'xran_prepare_ctrl_pkt'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'c__plane__tests_8cc_1a21d05f2c6607fc534e67ed32883de81f'; + func-mem-ref-line = '766'; + func-mem-ref-name = 'TEST_P'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'c__plane__tests_8cc_1a84fbffc78f58f1319862bbdfef6e3172'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'cput_fh_rx_callback'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pCallbackTag'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +xran_status_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'status'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/c_plane_tests.cc'; + func-mem-desc-line = '48'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'c__plane__tests_8cc_1a2ce052083e592ec2889e8ad05b49f39a'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'cput_fh_rx_prach_callback'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pCallbackTag'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +xran_status_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'status'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/c_plane_tests.cc'; + func-mem-desc-line = '53'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'c__plane__tests_8cc_1a11a0b914a08e5375cae792dc6db08c7a'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-name = 'TEST_P'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +C_plane +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +Section_Ext1 +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/c_plane_tests.cc'; + func-mem-desc-line = '566'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1afc082593977ad91f3dcdd2175cb74615a7fbf705170e00d2ce3e838fa9826ca8d'; + func-mem-ref-line = '204'; + func-mem-ref-name = 'XRAN_COMPMETHOD_NONE'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'c__plane__tests_8cc_1a16c92b16fc21a700c50a7faf19da41b9'; + func-mem-ref-line = '75'; + func-mem-ref-name = 'C_plane::m_params'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a5921f2439294279b8111fed577c5c37a'; + func-mem-ref-line = '322'; + func-mem-ref-name = 'xran_cp_gen_params::sections'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'c__plane__tests_8cc_1a7fd4d380e2392bfe924c06a8101b6d85'; + func-mem-ref-line = '320'; + func-mem-ref-name = 'C_plane::prepare_sections'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'c__plane__tests_8cc_1af3c62a5df704db9218047182f9576367'; + func-mem-ref-line = '102'; + func-mem-ref-name = 'C_plane::m_p_bfw_iq_src'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8c_1afa26200d2578ae0a20cc197b6eab3640'; + func-mem-ref-line = '387'; + func-mem-ref-name = 'xran_cp_populate_section_ext_1'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'c__plane__tests_8cc_1aa03217953847a726043966a4691494f1'; + func-mem-ref-line = '101'; + func-mem-ref-name = 'C_plane::m_p_ext1_dst'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'c__plane__tests_8cc_1ab2dac8fe532ba4f8fa612650aee824ef'; + func-mem-ref-line = '100'; + func-mem-ref-name = 'C_plane::m_ext1_dst_len'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__cp_8h_1a1704e602910415f3250e10f4f215fb84'; + func-mem-ref-line = '147'; + func-mem-ref-name = 'xran_cp_radioapp_section_ext1::extLen'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a63f308af419e410c6e3996a79d2c9897'; + func-mem-ref-line = '50'; + func-mem-ref-name = 'XRAN_SECTIONEXT_ALIGN'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__cp_8h_1afe3859cd334ad3f912622c58d5b2079e'; + func-mem-ref-line = '146'; + func-mem-ref-name = 'xran_cp_radioapp_section_ext1::ef'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a81b257717e74882b591daf7fd958c012'; + func-mem-ref-line = '141'; + func-mem-ref-name = 'XRAN_EF_F_LAST'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1ab09d1df0b229edfd34c41706fcfa73e7'; + func-mem-ref-line = '211'; + func-mem-ref-name = 'xran_sectionext1_info::bfwNumber'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a3de53935627d11e11003c38bd6dca548'; + func-mem-ref-line = '212'; + func-mem-ref-name = 'xran_sectionext1_info::bfwiqWidth'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a489f0b868b86e577a5e515dc40987ba5'; + func-mem-ref-line = '213'; + func-mem-ref-name = 'xran_sectionext1_info::bfwCompMeth'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a535b83a8653a891f80fc204eb1d9cb8b'; + func-mem-ref-line = '214'; + func-mem-ref-name = 'xran_sectionext1_info::p_bfwIQ'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1ae4f265cd1e2941e2d7366085f6f0b598'; + func-mem-ref-line = '215'; + func-mem-ref-name = 'xran_sectionext1_info::bfwIQ_sz'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1acb5cfd209ba75c853d03f701e7f91679'; + func-mem-ref-line = '301'; + func-mem-ref-name = 'xran_section_gen_info::type'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1aa8ad3a412a8007bef79fb6ff224fc977a32fbc3ce682df2f044ceb33dcc1c3e77'; + func-mem-ref-line = '149'; + func-mem-ref-name = 'XRAN_CP_SECTIONEXTCMD_1'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a8aed22e2c7b283705ec82e0120515618'; + func-mem-ref-line = '302'; + func-mem-ref-name = 'xran_section_gen_info::len'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'c__plane__tests_8cc_1a4464b811028d6456143fd9743b03edaa'; + func-mem-ref-line = '104'; + func-mem-ref-name = 'C_plane::m_ext1'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a735984d41155bc1032e09bece8f8d66d'; + func-mem-ref-line = '303'; + func-mem-ref-name = 'xran_section_gen_info::data'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a6ccd48a36736101737e9b419d7a3cc85'; + func-mem-ref-line = '296'; + func-mem-ref-name = 'xran_section_gen_info::info'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1afe3859cd334ad3f912622c58d5b2079e'; + func-mem-ref-line = '198'; + func-mem-ref-name = 'xran_section_info::ef'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1aa561d89cbc570e39183c64a5095a6053'; + func-mem-ref-line = '298'; + func-mem-ref-name = 'xran_section_gen_info::exDataSize'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a52bddd404e766ddb6f2b9eabe15ea5b1'; + func-mem-ref-line = '318'; + func-mem-ref-name = 'xran_cp_gen_params::numSections'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8c_1af9eb550e92ea270af41b4b6bcda363db'; + func-mem-ref-line = '1381'; + func-mem-ref-name = 'xran_prepare_ctrl_pkt'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'c__plane__tests_8cc_1aafa40e823e408268e48585ec7a623eae'; + func-mem-ref-line = '73'; + func-mem-ref-name = 'C_plane::m_pTestBuffer'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'c__plane__tests_8cc_1a9f102f8bfc163d6a26411d1855c8c97c'; + func-mem-ref-line = '83'; + func-mem-ref-name = 'C_plane::m_ccId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'c__plane__tests_8cc_1a73f8e8274bd97892f58f73d1d83b533a'; + func-mem-ref-line = '83'; + func-mem-ref-name = 'C_plane::m_antId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'c__plane__tests_8cc_1a7a0ce01c67c4067cc3ba42fd380e858a'; + func-mem-ref-line = '84'; + func-mem-ref-name = 'C_plane::m_seqId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a814959a7b5ff6cd4474433f62312eee0'; + func-mem-ref-line = '54'; + func-mem-ref-name = 'XRAN_STATUS_SUCCESS'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8c_1a38c83cd67a7265920f3bd0b36510f713'; + func-mem-ref-line = '1749'; + func-mem-ref-name = 'xran_parse_cp_pkt'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'c__plane__tests_8cc_1aa42dde0a7ce436df7e5b607d17d52668'; + func-mem-ref-line = '77'; + func-mem-ref-name = 'C_plane::m_result'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'c__plane__tests_8cc_1a431f2e351a321b762ccd64984d566913'; + func-mem-ref-line = '76'; + func-mem-ref-name = 'C_plane::m_pktInfo'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'c__plane__tests_8cc_1aff93cc204b54a645341363e8bc280f21'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-name = 'TEST_P'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +C_plane +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +Section_Ext1_9bit +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/c_plane_tests.cc'; + func-mem-desc-line = '642'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1afc082593977ad91f3dcdd2175cb74615a91815a9c09cf9e8bc646b51efef13c28'; + func-mem-ref-line = '205'; + func-mem-ref-name = 'XRAN_COMPMETHOD_BLKFLOAT'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'c__plane__tests_8cc_1a16c92b16fc21a700c50a7faf19da41b9'; + func-mem-ref-line = '75'; + func-mem-ref-name = 'C_plane::m_params'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a5921f2439294279b8111fed577c5c37a'; + func-mem-ref-line = '322'; + func-mem-ref-name = 'xran_cp_gen_params::sections'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'c__plane__tests_8cc_1a7fd4d380e2392bfe924c06a8101b6d85'; + func-mem-ref-line = '320'; + func-mem-ref-name = 'C_plane::prepare_sections'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'c__plane__tests_8cc_1af3c62a5df704db9218047182f9576367'; + func-mem-ref-line = '102'; + func-mem-ref-name = 'C_plane::m_p_bfw_iq_src'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8c_1afa26200d2578ae0a20cc197b6eab3640'; + func-mem-ref-line = '387'; + func-mem-ref-name = 'xran_cp_populate_section_ext_1'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'c__plane__tests_8cc_1aa03217953847a726043966a4691494f1'; + func-mem-ref-line = '101'; + func-mem-ref-name = 'C_plane::m_p_ext1_dst'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'c__plane__tests_8cc_1ab2dac8fe532ba4f8fa612650aee824ef'; + func-mem-ref-line = '100'; + func-mem-ref-name = 'C_plane::m_ext1_dst_len'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__cp_8h_1a1704e602910415f3250e10f4f215fb84'; + func-mem-ref-line = '147'; + func-mem-ref-name = 'xran_cp_radioapp_section_ext1::extLen'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a63f308af419e410c6e3996a79d2c9897'; + func-mem-ref-line = '50'; + func-mem-ref-name = 'XRAN_SECTIONEXT_ALIGN'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__cp_8h_1afe3859cd334ad3f912622c58d5b2079e'; + func-mem-ref-line = '146'; + func-mem-ref-name = 'xran_cp_radioapp_section_ext1::ef'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a81b257717e74882b591daf7fd958c012'; + func-mem-ref-line = '141'; + func-mem-ref-name = 'XRAN_EF_F_LAST'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1ab09d1df0b229edfd34c41706fcfa73e7'; + func-mem-ref-line = '211'; + func-mem-ref-name = 'xran_sectionext1_info::bfwNumber'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a3de53935627d11e11003c38bd6dca548'; + func-mem-ref-line = '212'; + func-mem-ref-name = 'xran_sectionext1_info::bfwiqWidth'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a489f0b868b86e577a5e515dc40987ba5'; + func-mem-ref-line = '213'; + func-mem-ref-name = 'xran_sectionext1_info::bfwCompMeth'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a535b83a8653a891f80fc204eb1d9cb8b'; + func-mem-ref-line = '214'; + func-mem-ref-name = 'xran_sectionext1_info::p_bfwIQ'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1ae4f265cd1e2941e2d7366085f6f0b598'; + func-mem-ref-line = '215'; + func-mem-ref-name = 'xran_sectionext1_info::bfwIQ_sz'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1acb5cfd209ba75c853d03f701e7f91679'; + func-mem-ref-line = '301'; + func-mem-ref-name = 'xran_section_gen_info::type'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1aa8ad3a412a8007bef79fb6ff224fc977a32fbc3ce682df2f044ceb33dcc1c3e77'; + func-mem-ref-line = '149'; + func-mem-ref-name = 'XRAN_CP_SECTIONEXTCMD_1'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a8aed22e2c7b283705ec82e0120515618'; + func-mem-ref-line = '302'; + func-mem-ref-name = 'xran_section_gen_info::len'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'c__plane__tests_8cc_1a4464b811028d6456143fd9743b03edaa'; + func-mem-ref-line = '104'; + func-mem-ref-name = 'C_plane::m_ext1'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a735984d41155bc1032e09bece8f8d66d'; + func-mem-ref-line = '303'; + func-mem-ref-name = 'xran_section_gen_info::data'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a6ccd48a36736101737e9b419d7a3cc85'; + func-mem-ref-line = '296'; + func-mem-ref-name = 'xran_section_gen_info::info'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1afe3859cd334ad3f912622c58d5b2079e'; + func-mem-ref-line = '198'; + func-mem-ref-name = 'xran_section_info::ef'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1aa561d89cbc570e39183c64a5095a6053'; + func-mem-ref-line = '298'; + func-mem-ref-name = 'xran_section_gen_info::exDataSize'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a52bddd404e766ddb6f2b9eabe15ea5b1'; + func-mem-ref-line = '318'; + func-mem-ref-name = 'xran_cp_gen_params::numSections'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8c_1af9eb550e92ea270af41b4b6bcda363db'; + func-mem-ref-line = '1381'; + func-mem-ref-name = 'xran_prepare_ctrl_pkt'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'c__plane__tests_8cc_1aafa40e823e408268e48585ec7a623eae'; + func-mem-ref-line = '73'; + func-mem-ref-name = 'C_plane::m_pTestBuffer'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'c__plane__tests_8cc_1a9f102f8bfc163d6a26411d1855c8c97c'; + func-mem-ref-line = '83'; + func-mem-ref-name = 'C_plane::m_ccId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'c__plane__tests_8cc_1a73f8e8274bd97892f58f73d1d83b533a'; + func-mem-ref-line = '83'; + func-mem-ref-name = 'C_plane::m_antId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'c__plane__tests_8cc_1a7a0ce01c67c4067cc3ba42fd380e858a'; + func-mem-ref-line = '84'; + func-mem-ref-name = 'C_plane::m_seqId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a814959a7b5ff6cd4474433f62312eee0'; + func-mem-ref-line = '54'; + func-mem-ref-name = 'XRAN_STATUS_SUCCESS'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8c_1a38c83cd67a7265920f3bd0b36510f713'; + func-mem-ref-line = '1749'; + func-mem-ref-name = 'xran_parse_cp_pkt'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'c__plane__tests_8cc_1aa42dde0a7ce436df7e5b607d17d52668'; + func-mem-ref-line = '77'; + func-mem-ref-name = 'C_plane::m_result'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'c__plane__tests_8cc_1a431f2e351a321b762ccd64984d566913'; + func-mem-ref-line = '76'; + func-mem-ref-name = 'C_plane::m_pktInfo'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'c__plane__tests_8cc_1a8491192ecf8ad52998d66312a4b70f83'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-name = 'TEST_P'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +C_plane +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +PacketGen +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/c_plane_tests.cc'; + func-mem-desc-line = '721'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'c__plane__tests_8cc_1a7fd4d380e2392bfe924c06a8101b6d85'; + func-mem-ref-line = '320'; + func-mem-ref-name = 'C_plane::prepare_sections'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8c_1af9eb550e92ea270af41b4b6bcda363db'; + func-mem-ref-line = '1381'; + func-mem-ref-name = 'xran_prepare_ctrl_pkt'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'c__plane__tests_8cc_1aafa40e823e408268e48585ec7a623eae'; + func-mem-ref-line = '73'; + func-mem-ref-name = 'C_plane::m_pTestBuffer'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'c__plane__tests_8cc_1a16c92b16fc21a700c50a7faf19da41b9'; + func-mem-ref-line = '75'; + func-mem-ref-name = 'C_plane::m_params'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'c__plane__tests_8cc_1a9f102f8bfc163d6a26411d1855c8c97c'; + func-mem-ref-line = '83'; + func-mem-ref-name = 'C_plane::m_ccId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'c__plane__tests_8cc_1a73f8e8274bd97892f58f73d1d83b533a'; + func-mem-ref-line = '83'; + func-mem-ref-name = 'C_plane::m_antId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'c__plane__tests_8cc_1a7a0ce01c67c4067cc3ba42fd380e858a'; + func-mem-ref-line = '84'; + func-mem-ref-name = 'C_plane::m_seqId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a814959a7b5ff6cd4474433f62312eee0'; + func-mem-ref-line = '54'; + func-mem-ref-name = 'XRAN_STATUS_SUCCESS'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8c_1a38c83cd67a7265920f3bd0b36510f713'; + func-mem-ref-line = '1749'; + func-mem-ref-name = 'xran_parse_cp_pkt'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'c__plane__tests_8cc_1aa42dde0a7ce436df7e5b607d17d52668'; + func-mem-ref-line = '77'; + func-mem-ref-name = 'C_plane::m_result'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'c__plane__tests_8cc_1a431f2e351a321b762ccd64984d566913'; + func-mem-ref-line = '76'; + func-mem-ref-name = 'C_plane::m_pktInfo'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'c__plane__tests_8cc_1a2d5e33dd093724772a1447910bd34e15'; + func-mem-ref-line = '394'; + func-mem-ref-name = 'C_plane::verify_sections'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'c__plane__tests_8cc_1a71b8458c71026c561352ee857eb3a490'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-name = 'TEST_P'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +C_plane +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +PacketGen_Ext +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/c_plane_tests.cc'; + func-mem-desc-line = '742'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'c__plane__tests_8cc_1a7fd4d380e2392bfe924c06a8101b6d85'; + func-mem-ref-line = '320'; + func-mem-ref-name = 'C_plane::prepare_sections'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8c_1af9eb550e92ea270af41b4b6bcda363db'; + func-mem-ref-line = '1381'; + func-mem-ref-name = 'xran_prepare_ctrl_pkt'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'c__plane__tests_8cc_1aafa40e823e408268e48585ec7a623eae'; + func-mem-ref-line = '73'; + func-mem-ref-name = 'C_plane::m_pTestBuffer'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'c__plane__tests_8cc_1a16c92b16fc21a700c50a7faf19da41b9'; + func-mem-ref-line = '75'; + func-mem-ref-name = 'C_plane::m_params'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'c__plane__tests_8cc_1a9f102f8bfc163d6a26411d1855c8c97c'; + func-mem-ref-line = '83'; + func-mem-ref-name = 'C_plane::m_ccId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'c__plane__tests_8cc_1a73f8e8274bd97892f58f73d1d83b533a'; + func-mem-ref-line = '83'; + func-mem-ref-name = 'C_plane::m_antId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'c__plane__tests_8cc_1a7a0ce01c67c4067cc3ba42fd380e858a'; + func-mem-ref-line = '84'; + func-mem-ref-name = 'C_plane::m_seqId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a814959a7b5ff6cd4474433f62312eee0'; + func-mem-ref-line = '54'; + func-mem-ref-name = 'XRAN_STATUS_SUCCESS'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8c_1a38c83cd67a7265920f3bd0b36510f713'; + func-mem-ref-line = '1749'; + func-mem-ref-name = 'xran_parse_cp_pkt'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'c__plane__tests_8cc_1aa42dde0a7ce436df7e5b607d17d52668'; + func-mem-ref-line = '77'; + func-mem-ref-name = 'C_plane::m_result'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'c__plane__tests_8cc_1a431f2e351a321b762ccd64984d566913'; + func-mem-ref-line = '76'; + func-mem-ref-name = 'C_plane::m_pktInfo'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'c__plane__tests_8cc_1a2d5e33dd093724772a1447910bd34e15'; + func-mem-ref-line = '394'; + func-mem-ref-name = 'C_plane::verify_sections'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'c__plane__tests_8cc_1a21d05f2c6607fc534e67ed32883de81f'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-name = 'TEST_P'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +C_plane +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +Perf +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/c_plane_tests.cc'; + func-mem-desc-line = '766'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'c__plane__tests_8cc_1a7fd4d380e2392bfe924c06a8101b6d85'; + func-mem-ref-line = '320'; + func-mem-ref-name = 'C_plane::prepare_sections'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'common_8hpp_1a3cf2e25a99be565a4ab570737cfeac41'; + func-mem-ref-line = '253'; + func-mem-ref-name = 'KernelTests::performance'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'c__plane__tests_8cc_1a69b4bff6061152ff85770d725cced3cc'; + func-mem-ref-line = '32'; + func-mem-ref-name = 'module_name'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'c__plane__tests_8cc_1ab22c1305386eabc256bc6d3492d50846'; + func-mem-ref-line = '40'; + func-mem-ref-name = 'xran_ut_prepare_cp'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'c__plane__tests_8cc_1aafa40e823e408268e48585ec7a623eae'; + func-mem-ref-line = '73'; + func-mem-ref-name = 'C_plane::m_pTestBuffer'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'c__plane__tests_8cc_1a16c92b16fc21a700c50a7faf19da41b9'; + func-mem-ref-line = '75'; + func-mem-ref-name = 'C_plane::m_params'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'c__plane__tests_8cc_1a9f102f8bfc163d6a26411d1855c8c97c'; + func-mem-ref-line = '83'; + func-mem-ref-name = 'C_plane::m_ccId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'c__plane__tests_8cc_1a73f8e8274bd97892f58f73d1d83b533a'; + func-mem-ref-line = '83'; + func-mem-ref-name = 'C_plane::m_antId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'c__plane__tests_8cc_1a7a0ce01c67c4067cc3ba42fd380e858a'; + func-mem-ref-line = '84'; + func-mem-ref-name = 'C_plane::m_seqId'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'c__plane__tests_8cc_1ab0ad0e23f1b51f15bd9594a24a2c438f'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-name = 'TEST_P'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +C_plane +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +Perf_Ext +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/c_plane_tests.cc'; + func-mem-desc-line = '778'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'c__plane__tests_8cc_1a7fd4d380e2392bfe924c06a8101b6d85'; + func-mem-ref-line = '320'; + func-mem-ref-name = 'C_plane::prepare_sections'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'common_8hpp_1a3cf2e25a99be565a4ab570737cfeac41'; + func-mem-ref-line = '253'; + func-mem-ref-name = 'KernelTests::performance'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'c__plane__tests_8cc_1a69b4bff6061152ff85770d725cced3cc'; + func-mem-ref-line = '32'; + func-mem-ref-name = 'module_name'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'c__plane__tests_8cc_1ab22c1305386eabc256bc6d3492d50846'; + func-mem-ref-line = '40'; + func-mem-ref-name = 'xran_ut_prepare_cp'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'c__plane__tests_8cc_1aafa40e823e408268e48585ec7a623eae'; + func-mem-ref-line = '73'; + func-mem-ref-name = 'C_plane::m_pTestBuffer'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'c__plane__tests_8cc_1a16c92b16fc21a700c50a7faf19da41b9'; + func-mem-ref-line = '75'; + func-mem-ref-name = 'C_plane::m_params'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'c__plane__tests_8cc_1a9f102f8bfc163d6a26411d1855c8c97c'; + func-mem-ref-line = '83'; + func-mem-ref-name = 'C_plane::m_ccId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'c__plane__tests_8cc_1a73f8e8274bd97892f58f73d1d83b533a'; + func-mem-ref-line = '83'; + func-mem-ref-name = 'C_plane::m_antId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'c__plane__tests_8cc_1a7a0ce01c67c4067cc3ba42fd380e858a'; + func-mem-ref-line = '84'; + func-mem-ref-name = 'C_plane::m_seqId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'common_8cpp_1a39bf4f7770751080f5b72046abfd01a5'; + func-mem-ref-line = '78'; + func-mem-ref-name = 'get_sequence'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'common_8hpp_1a6157ff083be863bba0a7804cd1788d96'; + func-mem-ref-line = '190'; + func-mem-ref-name = 'KernelTests::get_number_of_cases'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'c__plane__tests_8cc_1a2684a65b376489405671120c75efab7b'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-name = 'INSTANTIATE_TEST_CASE_P'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +UnitTest +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +C_plane +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +testing::ValuesIn(get_sequence(C_plane::get_number_of_cases("C_Plane"))) +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/c_plane_tests.cc'; + func-mem-desc-line = '791'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'c__plane__tests_8cc_1ab0ad0e23f1b51f15bd9594a24a2c438f'; + func-mem-ref-line = '778'; + func-mem-ref-name = 'TEST_P'; + }; + }; /* func-member */ + }; + var = { + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'c__plane__tests_8cc_1a69b4bff6061152ff85770d725cced3cc'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +const std::string +_EnD_oF_dEf_TeXt_; + var-mem-name = 'module_name'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += "C-Plane" +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/c_plane_tests.cc'; + var-mem-desc-line = '32'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-referenceby = { + var-mem-ref-id = 'c__plane__tests_8cc_1a21d05f2c6607fc534e67ed32883de81f'; + var-mem-ref-line = '766'; + var-mem-ref-name = 'TEST_P'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'common_8cpp_1a0ab5719a5f67d4d52057b2c4550fe930'; + var-mem-ref-line = '162'; + var-mem-ref-name = 'tsc_tick'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'common_8hpp_1abf28e5ea54fab2b0685972fe6e75560a'; + var-mem-ref-line = '358'; + var-mem-ref-name = 'KernelTests::init_test'; + }; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'c__plane__tests_8cc_1ad7d97e82bb00f5271dc1955f06719e46'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +const uint8_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'm_bitmask'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += { 0x00, 0x03, 0x07, 0x0f, 0x1f, 0x3f, 0x7f, 0xff } +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/c_plane_tests.cc'; + var-mem-desc-line = '34'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-referenceby = { + var-mem-ref-id = 'c__plane__tests_8cc_1aecd2fcecaca860136bf56e6af5155e96'; + var-mem-ref-line = '230'; + var-mem-ref-name = 'C_plane::prepare_extensions'; + }; + }; /* var-member */ + }; + file-full-name = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/c_plane_tests.cc'; + file-first-line = '1'; + file-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + file-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; +}; /* file */ +file = { + file-id = 'chain__tests_8cc'; + file-name = 'chain_tests.cc'; + func = { + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'chain__tests_8cc_1a4474e27c827459f3af40954b0c6f962b'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'tx_cp_dl_cb'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_timer * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'tim'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'arg'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/chain_tests.cc'; + func-mem-desc-line = '42'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__mlog__lnx_8h_1ab3a08558e2971726cddceed59f9fd3bd'; + func-mem-ref-line = '42'; + func-mem-ref-name = 'MLogTick'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'common_8c_1ae69cd45536b5b80a0eac08ee522d8aa2'; + func-mem-ref-line = '47'; + func-mem-ref-name = 'num_eAxc'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1aa09e72e94d2a1d891e86f4c09b0f8b21'; + func-mem-ref-line = '223'; + func-mem-ref-name = 'xran_dev_get_ctx'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1a3fc01469558ddf728239d59038ac5803'; + func-mem-ref-line = '3039'; + func-mem-ref-name = 'xran_get_num_eAxc'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1ad51ee5b7f1f27c770f1eb658b5ee523e'; + func-mem-ref-line = '3029'; + func-mem-ref-name = 'xran_get_num_cc'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'chain__tests_8cc_1af4e08ea14f09b53fce43ec39aba7a605'; + func-mem-ref-line = '49'; + func-mem-ref-name = 'xran_ut_tx_cp_dl'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'chain__tests_8cc_1ad274ca70e6c47c2c549422b1cba1f0b0'; + func-mem-ref-line = '67'; + func-mem-ref-name = 'xran_ut_tx_cpup_dl'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'chain__tests_8cc_1ab26e37a9d8915b33e29d632af88ff3a3'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'tx_cp_ul_cb'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_timer * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'tim'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'arg'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/chain_tests.cc'; + func-mem-desc-line = '43'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__mlog__lnx_8h_1ab3a08558e2971726cddceed59f9fd3bd'; + func-mem-ref-line = '42'; + func-mem-ref-name = 'MLogTick'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'common_8c_1ae69cd45536b5b80a0eac08ee522d8aa2'; + func-mem-ref-line = '47'; + func-mem-ref-name = 'num_eAxc'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1aa09e72e94d2a1d891e86f4c09b0f8b21'; + func-mem-ref-line = '223'; + func-mem-ref-name = 'xran_dev_get_ctx'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1ac1db3db55038ef0b2f69827746eaf87c'; + func-mem-ref-line = '210'; + func-mem-ref-name = 'xran_device_ctx::PrachCPConfig'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1ae3663b3f472b4003acc7f91e61669735'; + func-mem-ref-line = '3049'; + func-mem-ref-name = 'xran_get_ru_category'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1abf0211a253f5881ebad3910cef98d30ea25cae7703b653209b61647fa65ac7e9f'; + func-mem-ref-line = '264'; + func-mem-ref-name = 'XRAN_CATEGORY_A'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1a3fc01469558ddf728239d59038ac5803'; + func-mem-ref-line = '3039'; + func-mem-ref-name = 'xran_get_num_eAxc'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1aaf7b03037e0687819501554a42fb3c52'; + func-mem-ref-line = '3059'; + func-mem-ref-name = 'xran_get_num_eAxcUl'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1ad51ee5b7f1f27c770f1eb658b5ee523e'; + func-mem-ref-line = '3029'; + func-mem-ref-name = 'xran_get_num_cc'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1a273a09cbea9267272f4e2a339059e442'; + func-mem-ref-line = '111'; + func-mem-ref-name = 'xran_lib_ota_tti'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1ac9a8f4c80840a80e1a27ff9776e13f66'; + func-mem-ref-line = '97'; + func-mem-ref-name = 'xran_timer_ctx::tti_to_process'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1af0963ba32cc8ecd280afd2e474eb426a'; + func-mem-ref-line = '109'; + func-mem-ref-name = 'XRAN_N_FE_BUF_LEN'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a36c7ae37e30524321b18fde971372b92'; + func-mem-ref-line = '106'; + func-mem-ref-name = 'XranGetSlotNum'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a76e4794a93b44d5f6bd835f1640f7f4f'; + func-mem-ref-line = '54'; + func-mem-ref-name = 'SLOTNUM_PER_SUBFRAME'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a5ca2a2076a042acdca2e326a436a7882'; + func-mem-ref-line = '104'; + func-mem-ref-name = 'XranGetSubFrameNum'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'common_8h_1a695a7a6db2c879d5a4ec04a4bc99d0e4'; + func-mem-ref-line = '57'; + func-mem-ref-name = 'SUBFRAMES_PER_SYSTEMFRAME'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a5a8a3a7c7c4ff43865b57971dfbf0aa6'; + func-mem-ref-line = '102'; + func-mem-ref-name = 'XranGetFrameNum'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'chain__tests_8cc_1a61f8088ed26f5ccc6a323c3b0feb66c2'; + func-mem-ref-line = '55'; + func-mem-ref-name = 'xran_ut_tx_cp_ul'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'chain__tests_8cc_1a5b3b3bf6af57ee77a2bb1701ad24c7db'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_process_tx_sym'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'arg'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/chain_tests.cc'; + func-mem-desc-line = '44'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__mlog__lnx_8h_1ab3a08558e2971726cddceed59f9fd3bd'; + func-mem-ref-line = '42'; + func-mem-ref-name = 'MLogTick'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'common_8c_1ae69cd45536b5b80a0eac08ee522d8aa2'; + func-mem-ref-line = '47'; + func-mem-ref-name = 'num_eAxc'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1aa09e72e94d2a1d891e86f4c09b0f8b21'; + func-mem-ref-line = '223'; + func-mem-ref-name = 'xran_dev_get_ctx'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a0ac55d6b8988083425a147f343c34455'; + func-mem-ref-line = '256'; + func-mem-ref-name = 'xran_device_ctx::xran2phy_mem_ready'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1ab458f491dfd93be111edf3f3b0d4da71'; + func-mem-ref-line = '67'; + func-mem-ref-name = 'XranOffsetSym'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1ae3f1b1cbdaabdcfb693b93d75d4a9972'; + func-mem-ref-line = '249'; + func-mem-ref-name = 'xran_device_ctx::sym_up'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1a98175f360f5753bc99c4edd3c2d8bd04'; + func-mem-ref-line = '113'; + func-mem-ref-name = 'xran_lib_ota_sym_idx'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a87d92ec177ed9c388685a91051f66205'; + func-mem-ref-line = '122'; + func-mem-ref-name = 'XRAN_NUM_OF_SYMBOL_PER_SLOT'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a76e4794a93b44d5f6bd835f1640f7f4f'; + func-mem-ref-line = '54'; + func-mem-ref-name = 'SLOTNUM_PER_SUBFRAME'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1aa76014e778bb54907d85e05cac204d71'; + func-mem-ref-line = '98'; + func-mem-ref-name = 'XranGetTtiNum'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a36c7ae37e30524321b18fde971372b92'; + func-mem-ref-line = '106'; + func-mem-ref-name = 'XranGetSlotNum'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a5ca2a2076a042acdca2e326a436a7882'; + func-mem-ref-line = '104'; + func-mem-ref-name = 'XranGetSubFrameNum'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'common_8h_1a695a7a6db2c879d5a4ec04a4bc99d0e4'; + func-mem-ref-line = '57'; + func-mem-ref-name = 'SUBFRAMES_PER_SYSTEMFRAME'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a5a8a3a7c7c4ff43865b57971dfbf0aa6'; + func-mem-ref-line = '102'; + func-mem-ref-name = 'XranGetFrameNum'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'chain__tests_8cc_1a73639c0dcf18fe068dc350fc0c8ba2f2'; + func-mem-ref-line = '61'; + func-mem-ref-name = 'xran_ut_tx_up_dl'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'chain__tests_8cc_1ad274ca70e6c47c2c549422b1cba1f0b0'; + func-mem-ref-line = '67'; + func-mem-ref-name = 'xran_ut_tx_cpup_dl'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'chain__tests_8cc_1a3d4bd5c7eec6da4ab71688e209100761'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'process_mbuf'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mbuf * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pkt'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/chain_tests.cc'; + func-mem-desc-line = '45'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1aa09e72e94d2a1d891e86f4c09b0f8b21'; + func-mem-ref-line = '223'; + func-mem-ref-name = 'xran_dev_get_ctx'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__cp_8h_1affa3adbd50cd4af2018ba1fc0e8c3e31'; + func-mem-ref-line = '243'; + func-mem-ref-name = 'rb'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'common_8c_1ae69cd45536b5b80a0eac08ee522d8aa2'; + func-mem-ref-line = '47'; + func-mem-ref-name = 'num_eAxc'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1a3fc01469558ddf728239d59038ac5803'; + func-mem-ref-line = '3039'; + func-mem-ref-name = 'xran_get_num_eAxc'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'ethdi_8h_1a39fca1837c5ce7715cbf571669660c13a90bbe176be23902fec1de76501599769'; + func-mem-ref-line = '137'; + func-mem-ref-name = 'MBUF_FREE'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a4adf91126704ea524f98f461f6180c85'; + func-mem-ref-line = '209'; + func-mem-ref-name = 'xran_device_ctx::fh_cfg'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a27ff648f80c139235421b81f957fcb7e'; + func-mem-ref-line = '518'; + func-mem-ref-name = 'xran_fh_config::ru_conf'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a1e4a3c43fc7865c6520471fb9ba8501f'; + func-mem-ref-line = '487'; + func-mem-ref-name = 'xran_ru_config::compMeth'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1afc082593977ad91f3dcdd2175cb74615a7fbf705170e00d2ce3e838fa9826ca8d'; + func-mem-ref-line = '204'; + func-mem-ref-name = 'XRAN_COMPMETHOD_NONE'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a0ac55d6b8988083425a147f343c34455'; + func-mem-ref-line = '256'; + func-mem-ref-name = 'xran_device_ctx::xran2phy_mem_ready'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__up__api_8c_1adfc5ea408600c8de1384be020b359d95'; + func-mem-ref-line = '327'; + func-mem-ref-name = 'xran_extract_iq_samples'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__printf_8h_1a16c2c0a30b31515830a4a8eff6cf10b5'; + func-mem-ref-line = '62'; + func-mem-ref-name = 'print_err'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1ac5201df2d161091f7319ff2f57432823'; + func-mem-ref-line = '1536'; + func-mem-ref-name = 'xran_pkt_validate'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1a2f25460e9a84fe459a874b8255ed4c71'; + func-mem-ref-line = '99'; + func-mem-ref-name = 'ecpri_seq_id::seq_id'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a0dc2f992bcfe4f620d6ce2e969986d5c'; + func-mem-ref-line = '220'; + func-mem-ref-name = 'xran_device_ctx::srs_cfg'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a38a5594e33178248d80ccde98a16262a'; + func-mem-ref-line = '449'; + func-mem-ref-name = 'xran_srs_config::eAxC_offset'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a3842cc1a01bcaa4df37fd8c10308ff01'; + func-mem-ref-line = '208'; + func-mem-ref-name = 'xran_device_ctx::fh_init'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a367975ed81727c2747411672f73b2754'; + func-mem-ref-line = '358'; + func-mem-ref-name = 'xran_fh_init::srsEnable'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1a1f74b973e738bf357c470565a1256ef5'; + func-mem-ref-line = '101'; + func-mem-ref-name = 'ecpri_seq_id::e_bit'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__printf_8h_1a417ba2c3b49b216e358bc340346bf1cf'; + func-mem-ref-line = '54'; + func-mem-ref-name = 'print_dbg'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'master_8py_1ad5c7a065cddc009146ea1b1192eb2102'; + func-mem-ref-line = '498'; + func-mem-ref-name = 'master::res'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1a300b87c29358bb161404c0122a9b2a46'; + func-mem-ref-line = '1461'; + func-mem-ref-name = 'xran_process_srs_sym'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1ac1db3db55038ef0b2f69827746eaf87c'; + func-mem-ref-line = '210'; + func-mem-ref-name = 'xran_device_ctx::PrachCPConfig'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a38a5594e33178248d80ccde98a16262a'; + func-mem-ref-line = '139'; + func-mem-ref-name = 'xran_prach_cp_config::eAxC_offset'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1ac0646000d1448798a186e109df0bb3dd'; + func-mem-ref-line = '357'; + func-mem-ref-name = 'xran_fh_init::prachEnable'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1aec7f5a73cca88563e12b7e82e7c75b50'; + func-mem-ref-line = '1384'; + func-mem-ref-name = 'xran_process_prach_sym'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1acb6ecf7858c99c963182b9b7884deca6'; + func-mem-ref-line = '1578'; + func-mem-ref-name = 'xran_process_rx_sym'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1a7a412a9cd0ac919dccb2112fb386d64a'; + func-mem-ref-line = '1342'; + func-mem-ref-name = 'handle_ecpri_ethertype'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'chain__tests_8cc_1af4e08ea14f09b53fce43ec39aba7a605'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_ut_tx_cp_dl'; + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/chain_tests.cc'; + func-mem-desc-line = '49'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xranlib__unit__test__main_8cc_1a1b2100f9f398243bb4bdbf0db003b9a3'; + func-mem-ref-line = '44'; + func-mem-ref-name = 'xranlib'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__lib__wrap_8hpp_1a3783fbb2a26b8a0530c489850a905a38'; + func-mem-ref-line = '1007'; + func-mem-ref-name = 'xranLibWraper::update_tti'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1a4474e27c827459f3af40954b0c6f962b'; + func-mem-ref-line = '910'; + func-mem-ref-name = 'tx_cp_dl_cb'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__lib__wrap_8hpp_1a1ffad42e0cccdbc800d3dbef66f52d45'; + func-mem-ref-line = '1110'; + func-mem-ref-name = 'xranLibWraper::get_timer_ctx'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'chain__tests_8cc_1a6c5f599800ca755367ad7df4da60eb86'; + func-mem-ref-line = '226'; + func-mem-ref-name = 'TEST_P'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'chain__tests_8cc_1a61f8088ed26f5ccc6a323c3b0feb66c2'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_ut_tx_cp_ul'; + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/chain_tests.cc'; + func-mem-desc-line = '55'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xranlib__unit__test__main_8cc_1a1b2100f9f398243bb4bdbf0db003b9a3'; + func-mem-ref-line = '44'; + func-mem-ref-name = 'xranlib'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__lib__wrap_8hpp_1a3783fbb2a26b8a0530c489850a905a38'; + func-mem-ref-line = '1007'; + func-mem-ref-name = 'xranLibWraper::update_tti'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1ab26e37a9d8915b33e29d632af88ff3a3'; + func-mem-ref-line = '1045'; + func-mem-ref-name = 'tx_cp_ul_cb'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__lib__wrap_8hpp_1a1ffad42e0cccdbc800d3dbef66f52d45'; + func-mem-ref-line = '1110'; + func-mem-ref-name = 'xranLibWraper::get_timer_ctx'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'chain__tests_8cc_1a54a43b6c3ece3e568457002dbe5b5c1a'; + func-mem-ref-line = '239'; + func-mem-ref-name = 'TEST_P'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'chain__tests_8cc_1a73639c0dcf18fe068dc350fc0c8ba2f2'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_ut_tx_up_dl'; + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/chain_tests.cc'; + func-mem-desc-line = '61'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xranlib__unit__test__main_8cc_1a1b2100f9f398243bb4bdbf0db003b9a3'; + func-mem-ref-line = '44'; + func-mem-ref-name = 'xranlib'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__lib__wrap_8hpp_1ac4ce5a18c687ee515676e035359a1e89'; + func-mem-ref-line = '1012'; + func-mem-ref-name = 'xranLibWraper::update_symbol_index'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1a5b3b3bf6af57ee77a2bb1701ad24c7db'; + func-mem-ref-line = '2202'; + func-mem-ref-name = 'xran_process_tx_sym'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__lib__wrap_8hpp_1a1ffad42e0cccdbc800d3dbef66f52d45'; + func-mem-ref-line = '1110'; + func-mem-ref-name = 'xranLibWraper::get_timer_ctx'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'chain__tests_8cc_1a2bc2178388f6edfa69905ff5f52fbcdc'; + func-mem-ref-line = '252'; + func-mem-ref-name = 'TEST_P'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'chain__tests_8cc_1ad274ca70e6c47c2c549422b1cba1f0b0'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_ut_tx_cpup_dl'; + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/chain_tests.cc'; + func-mem-desc-line = '67'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xranlib__unit__test__main_8cc_1a1b2100f9f398243bb4bdbf0db003b9a3'; + func-mem-ref-line = '44'; + func-mem-ref-name = 'xranlib'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__lib__wrap_8hpp_1ac4ce5a18c687ee515676e035359a1e89'; + func-mem-ref-line = '1012'; + func-mem-ref-name = 'xranLibWraper::update_symbol_index'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__lib__wrap_8hpp_1ab795436cc8b07e2b0d665502274b30e6'; + func-mem-ref-line = '1112'; + func-mem-ref-name = 'xranLibWraper::get_symbol_index'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1a4474e27c827459f3af40954b0c6f962b'; + func-mem-ref-line = '910'; + func-mem-ref-name = 'tx_cp_dl_cb'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__lib__wrap_8hpp_1a1ffad42e0cccdbc800d3dbef66f52d45'; + func-mem-ref-line = '1110'; + func-mem-ref-name = 'xranLibWraper::get_timer_ctx'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1a5b3b3bf6af57ee77a2bb1701ad24c7db'; + func-mem-ref-line = '2202'; + func-mem-ref-name = 'xran_process_tx_sym'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'chain__tests_8cc_1a9dc1e3a47b655cad97eed3db3cdebd92'; + func-mem-ref-line = '276'; + func-mem-ref-name = 'TEST_P'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'chain__tests_8cc_1a35e1cd308253045533454c90a54f876f'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'send_mbuf_up'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mbuf * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'mbuf'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'type'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/chain_tests.cc'; + func-mem-desc-line = '86'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'chain__tests_8cc_1a6c5f599800ca755367ad7df4da60eb86'; + func-mem-ref-line = '226'; + func-mem-ref-name = 'TEST_P'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'chain__tests_8cc_1aa17765d107c851ebcc3d202cef78aa75'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'send_mbuf_cp_perf'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mbuf * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'mbuf'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'type'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/chain_tests.cc'; + func-mem-desc-line = '92'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8c_1a38c83cd67a7265920f3bd0b36510f713'; + func-mem-ref-line = '1749'; + func-mem-ref-name = 'xran_parse_cp_pkt'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'chain__tests_8cc_1a6c5f599800ca755367ad7df4da60eb86'; + func-mem-ref-line = '226'; + func-mem-ref-name = 'TEST_P'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'chain__tests_8cc_1a6862679e16a540ac01d6fd391316f648'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'utcp_fh_rx_callback'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pCallbackTag'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +xran_status_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'status'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/chain_tests.cc'; + func-mem-desc-line = '113'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'chain__tests_8cc_1a6c5f599800ca755367ad7df4da60eb86'; + func-mem-ref-line = '226'; + func-mem-ref-name = 'TEST_P'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'chain__tests_8cc_1ad67ad876d623656e1ddb3c6e22b39d5a'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'utcp_fh_rx_prach_callback'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pCallbackTag'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +xran_status_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'status'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/chain_tests.cc'; + func-mem-desc-line = '118'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'chain__tests_8cc_1a6c5f599800ca755367ad7df4da60eb86'; + func-mem-ref-line = '226'; + func-mem-ref-name = 'TEST_P'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'chain__tests_8cc_1a6c5f599800ca755367ad7df4da60eb86'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-name = 'TEST_P'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +TestChain +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +CPlaneDLPerf +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/chain_tests.cc'; + func-mem-desc-line = '226'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xranlib__unit__test__main_8cc_1a1b2100f9f398243bb4bdbf0db003b9a3'; + func-mem-ref-line = '44'; + func-mem-ref-name = 'xranlib'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__lib__wrap_8hpp_1a200da4e2209141f12cafef2380cb801a'; + func-mem-ref-line = '740'; + func-mem-ref-name = 'xranLibWraper::Init'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'chain__tests_8cc_1acb7ae6f5547d5e166b643084db28b2fa'; + func-mem-ref-line = '129'; + func-mem-ref-name = 'TestChain::m_xranConf'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__lib__wrap_8hpp_1ad93226058ef4fd59bd7d0cd55701b752'; + func-mem-ref-line = '936'; + func-mem-ref-name = 'xranLibWraper::Open'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'chain__tests_8cc_1aa17765d107c851ebcc3d202cef78aa75'; + func-mem-ref-line = '92'; + func-mem-ref-name = 'send_mbuf_cp_perf'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'chain__tests_8cc_1a35e1cd308253045533454c90a54f876f'; + func-mem-ref-line = '86'; + func-mem-ref-name = 'send_mbuf_up'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'chain__tests_8cc_1a6862679e16a540ac01d6fd391316f648'; + func-mem-ref-line = '113'; + func-mem-ref-name = 'utcp_fh_rx_callback'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'chain__tests_8cc_1ad67ad876d623656e1ddb3c6e22b39d5a'; + func-mem-ref-line = '118'; + func-mem-ref-name = 'utcp_fh_rx_prach_callback'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'common_8hpp_1a3cf2e25a99be565a4ab570737cfeac41'; + func-mem-ref-line = '253'; + func-mem-ref-name = 'KernelTests::performance'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'chain__tests_8cc_1a69b4bff6061152ff85770d725cced3cc'; + func-mem-ref-line = '33'; + func-mem-ref-name = 'module_name'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'chain__tests_8cc_1af4e08ea14f09b53fce43ec39aba7a605'; + func-mem-ref-line = '49'; + func-mem-ref-name = 'xran_ut_tx_cp_dl'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__lib__wrap_8hpp_1a7f7a3199c392465d0767c6506c1af5b4'; + func-mem-ref-line = '984'; + func-mem-ref-name = 'xranLibWraper::Close'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__lib__wrap_8hpp_1ae89a123aad1c66a76c398b7af216aae4'; + func-mem-ref-line = '914'; + func-mem-ref-name = 'xranLibWraper::Cleanup'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'chain__tests_8cc_1a9dc1e3a47b655cad97eed3db3cdebd92'; + func-mem-ref-line = '276'; + func-mem-ref-name = 'TEST_P'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'chain__tests_8cc_1a54a43b6c3ece3e568457002dbe5b5c1a'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-name = 'TEST_P'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +TestChain +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +CPlaneULPerf +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/chain_tests.cc'; + func-mem-desc-line = '239'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xranlib__unit__test__main_8cc_1a1b2100f9f398243bb4bdbf0db003b9a3'; + func-mem-ref-line = '44'; + func-mem-ref-name = 'xranlib'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__lib__wrap_8hpp_1a200da4e2209141f12cafef2380cb801a'; + func-mem-ref-line = '740'; + func-mem-ref-name = 'xranLibWraper::Init'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'chain__tests_8cc_1acb7ae6f5547d5e166b643084db28b2fa'; + func-mem-ref-line = '129'; + func-mem-ref-name = 'TestChain::m_xranConf'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__lib__wrap_8hpp_1ad93226058ef4fd59bd7d0cd55701b752'; + func-mem-ref-line = '936'; + func-mem-ref-name = 'xranLibWraper::Open'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'chain__tests_8cc_1aa17765d107c851ebcc3d202cef78aa75'; + func-mem-ref-line = '92'; + func-mem-ref-name = 'send_mbuf_cp_perf'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'chain__tests_8cc_1a35e1cd308253045533454c90a54f876f'; + func-mem-ref-line = '86'; + func-mem-ref-name = 'send_mbuf_up'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'chain__tests_8cc_1a6862679e16a540ac01d6fd391316f648'; + func-mem-ref-line = '113'; + func-mem-ref-name = 'utcp_fh_rx_callback'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'chain__tests_8cc_1ad67ad876d623656e1ddb3c6e22b39d5a'; + func-mem-ref-line = '118'; + func-mem-ref-name = 'utcp_fh_rx_prach_callback'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'common_8hpp_1a3cf2e25a99be565a4ab570737cfeac41'; + func-mem-ref-line = '253'; + func-mem-ref-name = 'KernelTests::performance'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'chain__tests_8cc_1a69b4bff6061152ff85770d725cced3cc'; + func-mem-ref-line = '33'; + func-mem-ref-name = 'module_name'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'chain__tests_8cc_1a61f8088ed26f5ccc6a323c3b0feb66c2'; + func-mem-ref-line = '55'; + func-mem-ref-name = 'xran_ut_tx_cp_ul'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__lib__wrap_8hpp_1a7f7a3199c392465d0767c6506c1af5b4'; + func-mem-ref-line = '984'; + func-mem-ref-name = 'xranLibWraper::Close'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__lib__wrap_8hpp_1ae89a123aad1c66a76c398b7af216aae4'; + func-mem-ref-line = '914'; + func-mem-ref-name = 'xranLibWraper::Cleanup'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'chain__tests_8cc_1a2bc2178388f6edfa69905ff5f52fbcdc'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-name = 'TEST_P'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +TestChain +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +UPlaneDLPerf +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/chain_tests.cc'; + func-mem-desc-line = '252'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xranlib__unit__test__main_8cc_1a1b2100f9f398243bb4bdbf0db003b9a3'; + func-mem-ref-line = '44'; + func-mem-ref-name = 'xranlib'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__lib__wrap_8hpp_1a200da4e2209141f12cafef2380cb801a'; + func-mem-ref-line = '740'; + func-mem-ref-name = 'xranLibWraper::Init'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'chain__tests_8cc_1acb7ae6f5547d5e166b643084db28b2fa'; + func-mem-ref-line = '129'; + func-mem-ref-name = 'TestChain::m_xranConf'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__lib__wrap_8hpp_1a5855fc30031ba49b7375526f7cda0ff7'; + func-mem-ref-line = '1126'; + func-mem-ref-name = 'xranLibWraper::is_cpenable'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__lib__wrap_8hpp_1a165ca95dea40ce1abcc161f39087d38d'; + func-mem-ref-line = '1024'; + func-mem-ref-name = 'xranLibWraper::apply_cpenable'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__lib__wrap_8hpp_1ad93226058ef4fd59bd7d0cd55701b752'; + func-mem-ref-line = '936'; + func-mem-ref-name = 'xranLibWraper::Open'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'chain__tests_8cc_1aa17765d107c851ebcc3d202cef78aa75'; + func-mem-ref-line = '92'; + func-mem-ref-name = 'send_mbuf_cp_perf'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'chain__tests_8cc_1a35e1cd308253045533454c90a54f876f'; + func-mem-ref-line = '86'; + func-mem-ref-name = 'send_mbuf_up'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'chain__tests_8cc_1a6862679e16a540ac01d6fd391316f648'; + func-mem-ref-line = '113'; + func-mem-ref-name = 'utcp_fh_rx_callback'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'chain__tests_8cc_1ad67ad876d623656e1ddb3c6e22b39d5a'; + func-mem-ref-line = '118'; + func-mem-ref-name = 'utcp_fh_rx_prach_callback'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'common_8hpp_1a3cf2e25a99be565a4ab570737cfeac41'; + func-mem-ref-line = '253'; + func-mem-ref-name = 'KernelTests::performance'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'chain__tests_8cc_1a69b4bff6061152ff85770d725cced3cc'; + func-mem-ref-line = '33'; + func-mem-ref-name = 'module_name'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'chain__tests_8cc_1a73639c0dcf18fe068dc350fc0c8ba2f2'; + func-mem-ref-line = '61'; + func-mem-ref-name = 'xran_ut_tx_up_dl'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__lib__wrap_8hpp_1a7f7a3199c392465d0767c6506c1af5b4'; + func-mem-ref-line = '984'; + func-mem-ref-name = 'xranLibWraper::Close'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__lib__wrap_8hpp_1ae89a123aad1c66a76c398b7af216aae4'; + func-mem-ref-line = '914'; + func-mem-ref-name = 'xranLibWraper::Cleanup'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'chain__tests_8cc_1a9dc1e3a47b655cad97eed3db3cdebd92'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-name = 'TEST_P'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +TestChain +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +APlaneDLPerf +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/chain_tests.cc'; + func-mem-desc-line = '276'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xranlib__unit__test__main_8cc_1a1b2100f9f398243bb4bdbf0db003b9a3'; + func-mem-ref-line = '44'; + func-mem-ref-name = 'xranlib'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__lib__wrap_8hpp_1a200da4e2209141f12cafef2380cb801a'; + func-mem-ref-line = '740'; + func-mem-ref-name = 'xranLibWraper::Init'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'chain__tests_8cc_1acb7ae6f5547d5e166b643084db28b2fa'; + func-mem-ref-line = '129'; + func-mem-ref-name = 'TestChain::m_xranConf'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__lib__wrap_8hpp_1a5855fc30031ba49b7375526f7cda0ff7'; + func-mem-ref-line = '1126'; + func-mem-ref-name = 'xranLibWraper::is_cpenable'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__lib__wrap_8hpp_1a165ca95dea40ce1abcc161f39087d38d'; + func-mem-ref-line = '1024'; + func-mem-ref-name = 'xranLibWraper::apply_cpenable'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__lib__wrap_8hpp_1ad93226058ef4fd59bd7d0cd55701b752'; + func-mem-ref-line = '936'; + func-mem-ref-name = 'xranLibWraper::Open'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'chain__tests_8cc_1aa17765d107c851ebcc3d202cef78aa75'; + func-mem-ref-line = '92'; + func-mem-ref-name = 'send_mbuf_cp_perf'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'chain__tests_8cc_1a35e1cd308253045533454c90a54f876f'; + func-mem-ref-line = '86'; + func-mem-ref-name = 'send_mbuf_up'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'chain__tests_8cc_1a6862679e16a540ac01d6fd391316f648'; + func-mem-ref-line = '113'; + func-mem-ref-name = 'utcp_fh_rx_callback'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'chain__tests_8cc_1ad67ad876d623656e1ddb3c6e22b39d5a'; + func-mem-ref-line = '118'; + func-mem-ref-name = 'utcp_fh_rx_prach_callback'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'common_8hpp_1a3cf2e25a99be565a4ab570737cfeac41'; + func-mem-ref-line = '253'; + func-mem-ref-name = 'KernelTests::performance'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'chain__tests_8cc_1a69b4bff6061152ff85770d725cced3cc'; + func-mem-ref-line = '33'; + func-mem-ref-name = 'module_name'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'chain__tests_8cc_1ad274ca70e6c47c2c549422b1cba1f0b0'; + func-mem-ref-line = '67'; + func-mem-ref-name = 'xran_ut_tx_cpup_dl'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__lib__wrap_8hpp_1a7f7a3199c392465d0767c6506c1af5b4'; + func-mem-ref-line = '984'; + func-mem-ref-name = 'xranLibWraper::Close'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__lib__wrap_8hpp_1ae89a123aad1c66a76c398b7af216aae4'; + func-mem-ref-line = '914'; + func-mem-ref-name = 'xranLibWraper::Cleanup'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'chain__tests_8cc_1a6c5f599800ca755367ad7df4da60eb86'; + func-mem-ref-line = '226'; + func-mem-ref-name = 'TEST_P'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'common_8cpp_1a39bf4f7770751080f5b72046abfd01a5'; + func-mem-ref-line = '78'; + func-mem-ref-name = 'get_sequence'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'common_8hpp_1a6157ff083be863bba0a7804cd1788d96'; + func-mem-ref-line = '190'; + func-mem-ref-name = 'KernelTests::get_number_of_cases'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'chain__tests_8cc_1a2f99c2e64ef3c4233a66e3110dd6a781'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-name = 'INSTANTIATE_TEST_CASE_P'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +UnitTest +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +TestChain +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +testing::ValuesIn(get_sequence(TestChain::get_number_of_cases("TestChain"))) +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/chain_tests.cc'; + func-mem-desc-line = '306'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'chain__tests_8cc_1a9dc1e3a47b655cad97eed3db3cdebd92'; + func-mem-ref-line = '276'; + func-mem-ref-name = 'TEST_P'; + }; + }; /* func-member */ + }; + var = { + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'chain__tests_8cc_1a69b4bff6061152ff85770d725cced3cc'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +const std::string +_EnD_oF_dEf_TeXt_; + var-mem-name = 'module_name'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += "C-Plane" +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/chain_tests.cc'; + var-mem-desc-line = '33'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-referenceby = { + var-mem-ref-id = 'chain__tests_8cc_1a6c5f599800ca755367ad7df4da60eb86'; + var-mem-ref-line = '226'; + var-mem-ref-name = 'TEST_P'; + }; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'chain__tests_8cc_1ad7d97e82bb00f5271dc1955f06719e46'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +const uint8_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'm_bitmask'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += { 0x00, 0x03, 0x07, 0x0f, 0x1f, 0x3f, 0x7f, 0xff } +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/chain_tests.cc'; + var-mem-desc-line = '35'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + }; + file-full-name = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/chain_tests.cc'; + file-first-line = '1'; + file-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + file-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; +}; /* file */ +file = { + file-id = 'common_8c'; + file-name = 'common.c'; + func = { + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'common_8c_1a7443b72e990584de0b5b2a9306ed820a'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'app_xran_get_tti_interval'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'nMu'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.c'; + func-mem-desc-line = '168'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'common_8c_1a2d77acfd0f679f0a8a73ef14abc706a9'; + func-mem-ref-line = '128'; + func-mem-ref-name = 'nTtiInterval'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'common_8c_1a4a9173ba3c1f1bdf4b1ea9f8e531c561'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'app_xran_get_scs'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'nMu'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.c'; + func-mem-desc-line = '182'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'common_8c_1a8734b8bf5121975264c578e7a875adf6'; + func-mem-ref-line = '118'; + func-mem-ref-name = 'nSubCarrierSpacing'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'common_8c_1abd62743e637f8bee2b0d3b1e2b4ecaac'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'app_xran_get_num_rbs'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'nNumerology'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'nBandwidth'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'nAbsFrePointA'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.c'; + func-mem-desc-line = '213'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@param[in] nNumerology - Numerology determine sub carrier spacing, Value: 0->4 0: 15khz, 1: 30khz, 2: 60khz 3: 120khz, 4: 240khz +@param[in] nBandwidth - Carrier bandwidth for in MHz. Value: 5->400 +@param[in] nAbsFrePointA - Abs Freq Point A of the Carrier Center Frequency for in KHz Value: 450000->52600000 + +@return Number of RBs in cell + +@description +Returns number of RBs based on 38.101-1 and 38.101-2 for the cell +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'gen__test_8m_1a887ee7a54247d19e5e93955a7b9663ae'; + func-mem-ref-line = '96'; + func-mem-ref-name = 'numRBs'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'common_8h_1ace60ebb76d1266cd70c6b0a2cdb975afa5fe3b6ce32a0f5d07b8d09757b0ca6ae'; + func-mem-ref-line = '44'; + func-mem-ref-name = 'PHY_BW_5_0_MHZ'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'common_8c_1adeaca85bff8e90492381b51b5dd5b55c'; + func-mem-ref-line = '101'; + func-mem-ref-name = 'nNumRbsPerSymF1'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'common_8h_1ace60ebb76d1266cd70c6b0a2cdb975afa0ffa9b60f3de26c5f0c091a92e2690ce'; + func-mem-ref-line = '44'; + func-mem-ref-name = 'PHY_BW_10_0_MHZ'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'common_8h_1ace60ebb76d1266cd70c6b0a2cdb975afa3b9413cb26be463cb08bc3e45f1ba0e4'; + func-mem-ref-line = '44'; + func-mem-ref-name = 'PHY_BW_15_0_MHZ'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'common_8h_1ace60ebb76d1266cd70c6b0a2cdb975afa827e54f2b9563a648648617dabae6b86'; + func-mem-ref-line = '44'; + func-mem-ref-name = 'PHY_BW_20_0_MHZ'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'common_8h_1ace60ebb76d1266cd70c6b0a2cdb975afa34ebc504f2878c8e57b28ecb2aa5a3d6'; + func-mem-ref-line = '44'; + func-mem-ref-name = 'PHY_BW_25_0_MHZ'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'common_8h_1ace60ebb76d1266cd70c6b0a2cdb975afa5e3415eba2853d7a163296722d39ce0a'; + func-mem-ref-line = '45'; + func-mem-ref-name = 'PHY_BW_30_0_MHZ'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'common_8h_1ace60ebb76d1266cd70c6b0a2cdb975afa038fd5bff3233ab71354371731be0cca'; + func-mem-ref-line = '45'; + func-mem-ref-name = 'PHY_BW_40_0_MHZ'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'common_8h_1ace60ebb76d1266cd70c6b0a2cdb975afab80d02a26ce30cff1a0c353fa40ee648'; + func-mem-ref-line = '45'; + func-mem-ref-name = 'PHY_BW_50_0_MHZ'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'common_8h_1ace60ebb76d1266cd70c6b0a2cdb975afa069b1b1bc047d5fa38058f1df13cab23'; + func-mem-ref-line = '45'; + func-mem-ref-name = 'PHY_BW_60_0_MHZ'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'common_8h_1ace60ebb76d1266cd70c6b0a2cdb975afa80603099c73c2d2a53541404c4daea10'; + func-mem-ref-line = '45'; + func-mem-ref-name = 'PHY_BW_70_0_MHZ'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'common_8h_1ace60ebb76d1266cd70c6b0a2cdb975afac06c5f55eeae8d0e44ae09b1b15a4153'; + func-mem-ref-line = '46'; + func-mem-ref-name = 'PHY_BW_80_0_MHZ'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'common_8h_1ace60ebb76d1266cd70c6b0a2cdb975afa5662647cfc4da498383a327296832f1e'; + func-mem-ref-line = '46'; + func-mem-ref-name = 'PHY_BW_90_0_MHZ'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'common_8h_1ace60ebb76d1266cd70c6b0a2cdb975afab0667ae8b27d5f90b2f876dc2fa60a8a'; + func-mem-ref-line = '46'; + func-mem-ref-name = 'PHY_BW_100_0_MHZ'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'common_8c_1ac5b0db7e5c13fb0650285fa9f40a5038'; + func-mem-ref-line = '110'; + func-mem-ref-name = 'nNumRbsPerSymF2'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'common_8h_1ace60ebb76d1266cd70c6b0a2cdb975afa5d3a9ef2cafdd5f4c3b5c9dd9332406b'; + func-mem-ref-line = '46'; + func-mem-ref-name = 'PHY_BW_200_0_MHZ'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'common_8h_1ace60ebb76d1266cd70c6b0a2cdb975afa2e5709bbf9b2c3443fa150a0b9d7bd01'; + func-mem-ref-line = '46'; + func-mem-ref-name = 'PHY_BW_400_0_MHZ'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'common_8c_1a6d7aac49f30b5d75a7a8436fbbc36cd7'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'app_xran_cal_nrarfcn'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'nCenterFreq'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.c'; + func-mem-desc-line = '338'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@param[in] center frequency + +@return NR-ARFCN + +@description +This calculates NR-ARFCN value according to center frequency +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'common_8c_1a2b515e829520e3af448a4d00d22de161'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'app_xran_slot_limit'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'nSfIdx'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.c'; + func-mem-desc-line = '373'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'common_8c_1aa4df1a21858f512ae1335aa50df1ce87'; + func-mem-ref-line = '154'; + func-mem-ref-name = 'gMaxSlotNum'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'common_8c_1a0c617a0804e2a4eda51b402b03922dc2'; + func-mem-ref-line = '517'; + func-mem-ref-name = 'app_xran_get_slot_type'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'common_8c_1a15e01f62daf328aef8184ea50c9955fa'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'app_xran_clear_slot_type'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'nPhyInstanceId'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.c'; + func-mem-desc-line = '386'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'common_8c_1a6ea36bb781b9c3045bedb81a5af4ec90'; + func-mem-ref-line = '165'; + func-mem-ref-name = 'g_UlRate'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'common_8c_1ab6a2b393cac2724a10352f4fc5a54a3c'; + func-mem-ref-line = '166'; + func-mem-ref-name = 'g_DlRate'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'common_8c_1ae41dd953f43c314e9c7688d18cf69e8b'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'app_xran_set_slot_type'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'nPhyInstanceId'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'nFrameDuplexType'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'nTddPeriod'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_slot_config * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'psSlotConfig'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.c'; + func-mem-desc-line = '393'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a581b66d2fea333f0a2e9ca3f9589fd89'; + func-mem-ref-line = '143'; + func-mem-ref-name = 'XRAN_SLOT_TYPE_LAST'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'common_8c_1a6ea36bb781b9c3045bedb81a5af4ec90'; + func-mem-ref-line = '165'; + func-mem-ref-name = 'g_UlRate'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'common_8c_1ab6a2b393cac2724a10352f4fc5a54a3c'; + func-mem-ref-line = '166'; + func-mem-ref-name = 'g_DlRate'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'common_8c_1a0c617a0804e2a4eda51b402b03922dc2'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'app_xran_get_slot_type'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'nCellIdx'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'nSlotdx'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'nType'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.c'; + func-mem-desc-line = '517'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'common_8c_1a2b515e829520e3af448a4d00d22de161'; + func-mem-ref-line = '373'; + func-mem-ref-name = 'app_xran_slot_limit'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'common_8c_1acd37223937d89e77a1ccbdc6e94b38cc'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'sys_save_buf_to_file'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +char * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'filename'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +char * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'bufname'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +unsigned char * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pBuffer'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +unsigned int +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'size'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +unsigned int +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'buffers_num'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.c'; + func-mem-desc-line = '550'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'common_8c_1a8f27f0a8b6843f5e32ecbce83d487262'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'sys_load_file_to_buff'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +char * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'filename'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +char * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'bufname'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +unsigned char * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pBuffer'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +unsigned int +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'size'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +unsigned int +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'buffers_num'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.c'; + func-mem-desc-line = '584'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'common_8c_1ab022cdd736a497eb5cfa7d5dcab0634c'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'sys_save_buf_to_file_txt'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +char * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'filename'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +char * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'bufname'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +unsigned char * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pBuffer'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +unsigned int +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'size'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +unsigned int +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'buffers_num'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.c'; + func-mem-desc-line = '635'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + }; + var = { + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8c_1a9dc062894f50c14d43977487568e69bc'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +enum app_state +_EnD_oF_dEf_TeXt_; + var-mem-name = 'state'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.c'; + var-mem-desc-line = '245'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8c_1a9aedc75ff69810f3a7ff424e562e77de'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + var-mem-name = 'iq_playback_buffer_size_dl'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += IQ_PLAYBACK_BUFFER_BYTES +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.c'; + var-mem-desc-line = '36'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8c_1afd05de12c89b35af48a21e0d9620c2a1'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + var-mem-name = 'iq_playback_buffer_size_ul'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += IQ_PLAYBACK_BUFFER_BYTES +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.c'; + var-mem-desc-line = '37'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8c_1ad1ab6e8c4efe2805b76180b34ce4c019'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + var-mem-name = 'iq_bfw_buffer_size_dl'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += IQ_PLAYBACK_BUFFER_BYTES +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.c'; + var-mem-desc-line = '39'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8c_1a8b3edaed699562559db744c8e2aa36b1'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + var-mem-name = 'iq_bfw_buffer_size_ul'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += IQ_PLAYBACK_BUFFER_BYTES +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.c'; + var-mem-desc-line = '40'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8c_1a325598fd5fa9c647766e2b1fe43f596f'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + var-mem-name = 'iq_srs_buffer_size_ul'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += IQ_PLAYBACK_BUFFER_BYTES +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.c'; + var-mem-desc-line = '42'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8c_1ae3e0286957f26fa1804745d15f82724d'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'numCCPorts'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += 1 +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.c'; + var-mem-desc-line = '44'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-referenceby = { + var-mem-ref-id = 'sample-app_8c_1a0ddf1224851353fc92bfbff6f499fa97'; + var-mem-ref-line = '1319'; + var-mem-ref-name = 'main'; + }; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8c_1ae69cd45536b5b80a0eac08ee522d8aa2'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'num_eAxc'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += 4 +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.c'; + var-mem-desc-line = '47'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-referenceby = { + var-mem-ref-id = 'sample-app_8c_1a0ddf1224851353fc92bfbff6f499fa97'; + var-mem-ref-line = '1319'; + var-mem-ref-name = 'main'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'xran__common_8c_1a3d4bd5c7eec6da4ab71688e209100761'; + var-mem-ref-line = '143'; + var-mem-ref-name = 'process_mbuf'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'xran__main_8c_1a4474e27c827459f3af40954b0c6f962b'; + var-mem-ref-line = '910'; + var-mem-ref-name = 'tx_cp_dl_cb'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'xran__main_8c_1ab26e37a9d8915b33e29d632af88ff3a3'; + var-mem-ref-line = '1045'; + var-mem-ref-name = 'tx_cp_ul_cb'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'xran__main_8c_1a5b3b3bf6af57ee77a2bb1701ad24c7db'; + var-mem-ref-line = '2202'; + var-mem-ref-name = 'xran_process_tx_sym'; + }; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8c_1a5977cef6d782ed0a89fee2038495b544'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +int16_t * +_EnD_oF_dEf_TeXt_; + var-mem-name = 'p_tx_play_buffer'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.c'; + var-mem-desc-line = '50'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8c_1ac6ec5442d9ec39fac4367ad38b9d3d6a'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'tx_play_buffer_size'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.c'; + var-mem-desc-line = '51'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8c_1ab0ca5bc3c9f6c0b230c9ea169747a438'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'tx_play_buffer_position'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.c'; + var-mem-desc-line = '52'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8c_1a248b83fea05a7a50c94dcfd9b12fa6e1'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +int16_t * +_EnD_oF_dEf_TeXt_; + var-mem-name = 'p_tx_prach_play_buffer'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.c'; + var-mem-desc-line = '54'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8c_1a116f357e6a56ff1a8d34d2c31691b007'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'tx_prach_play_buffer_size'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.c'; + var-mem-desc-line = '55'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8c_1a28929b3487c517117e716b7d45865c88'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'tx_prach_play_buffer_position'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.c'; + var-mem-desc-line = '56'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8c_1aaff80269195e14fa4426e20f250f7f7f'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +int16_t * +_EnD_oF_dEf_TeXt_; + var-mem-name = 'p_tx_srs_play_buffer'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.c'; + var-mem-desc-line = '58'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8c_1a3ef30d69e5522784df0a9ead30cc9415'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'tx_srs_play_buffer_size'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.c'; + var-mem-desc-line = '59'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8c_1a7abef2666634dec9ece3f2e8de21dfb0'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'tx_srs_play_buffer_position'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.c'; + var-mem-desc-line = '60'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8c_1a8b2889ff178b629b4256ad3b87a18776'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +int16_t * +_EnD_oF_dEf_TeXt_; + var-mem-name = 'p_rx_log_buffer'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.c'; + var-mem-desc-line = '62'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8c_1abc08d2b5f2da30c4a1e5d258dfe8dfc7'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'rx_log_buffer_size'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.c'; + var-mem-desc-line = '63'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8c_1adb25475aaf7dcca7350334f201c161c4'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'rx_log_buffer_position'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.c'; + var-mem-desc-line = '64'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8c_1a205302b4106968d8d580e286ce56ec8e'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +int16_t * +_EnD_oF_dEf_TeXt_; + var-mem-name = 'p_prach_log_buffer'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.c'; + var-mem-desc-line = '66'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8c_1a2d2caffb405333647be9e6f3e2590b5e'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'prach_log_buffer_size'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.c'; + var-mem-desc-line = '67'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8c_1afde5189915e37caf48edbef9138f966c'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'prach_log_buffer_position'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.c'; + var-mem-desc-line = '68'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8c_1a54f6ae53fc4ffc697c0677f660afceb2'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +int16_t * +_EnD_oF_dEf_TeXt_; + var-mem-name = 'p_srs_log_buffer'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.c'; + var-mem-desc-line = '70'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8c_1a9903f17a482557ec30123a63d9f52c7f'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'srs_log_buffer_size'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.c'; + var-mem-desc-line = '71'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8c_1a54295c1c12a237fac044d84d8c0ff0d9'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'srs_log_buffer_position'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.c'; + var-mem-desc-line = '72'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8c_1a9f1fca36999b354b0c35757f7e307185'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +int16_t * +_EnD_oF_dEf_TeXt_; + var-mem-name = 'p_tx_buffer'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.c'; + var-mem-desc-line = '74'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8c_1ad23ecec0666a9c37160556488199ad5d'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'tx_buffer_size'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.c'; + var-mem-desc-line = '75'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8c_1a66fcfd58fda188d4f58af523ed76258e'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +int16_t * +_EnD_oF_dEf_TeXt_; + var-mem-name = 'p_rx_buffer'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.c'; + var-mem-desc-line = '77'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8c_1ac33fae2fa6f1f85b151fe0d60c132931'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'rx_buffer_size'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.c'; + var-mem-desc-line = '78'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8c_1a77bd4ecb90ef07ddc1420242672b1587'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +int16_t * +_EnD_oF_dEf_TeXt_; + var-mem-name = 'p_tx_dl_bfw_buffer'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.c'; + var-mem-desc-line = '81'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8c_1aad7c467bc9da44318d2e8cf2f4472f17'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'tx_dl_bfw_buffer_size'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.c'; + var-mem-desc-line = '82'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8c_1a364dd5820c1bb3fc2f760e5b6cab5b98'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'tx_dl_bfw_buffer_position'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.c'; + var-mem-desc-line = '83'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8c_1a95b1981d7d33eb50789dbc55d5d2755f'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +int16_t * +_EnD_oF_dEf_TeXt_; + var-mem-name = 'p_tx_ul_bfw_buffer'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.c'; + var-mem-desc-line = '86'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8c_1a2fca7a2340a727f72d85407c5e153ed4'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'tx_ul_bfw_buffer_size'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.c'; + var-mem-desc-line = '87'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8c_1adc7a94af3a9c52fdb09e8733264eee4a'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'tx_ul_bfw_buffer_position'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.c'; + var-mem-desc-line = '88'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8c_1a0029e17870631ef2db8bb2e0cd0f9d3a'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +int16_t * +_EnD_oF_dEf_TeXt_; + var-mem-name = 'p_rx_dl_bfw_buffer'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.c'; + var-mem-desc-line = '91'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8c_1a75c2080232a140585589adea6b446d61'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'rx_dl_bfw_buffer_size'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.c'; + var-mem-desc-line = '92'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8c_1a69ceaec7b612ecba9628a4a078ff319a'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'rx_dl_bfw_buffer_position'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.c'; + var-mem-desc-line = '93'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8c_1a6aa805f25383d5191fbfe3ed4a4f3ce7'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +int16_t * +_EnD_oF_dEf_TeXt_; + var-mem-name = 'p_rx_ul_bfw_buffer'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.c'; + var-mem-desc-line = '96'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8c_1ada292a2cdef3b215f7a2f0e84c8c027c'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'rx_ul_bfw_buffer_size'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.c'; + var-mem-desc-line = '97'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8c_1a49b46cf2c43d8dade13dce8a3e3cdba9'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'rx_ul_bfw_buffer_position'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.c'; + var-mem-desc-line = '98'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8c_1adeaca85bff8e90492381b51b5dd5b55c'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'nNumRbsPerSymF1'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += +{ + + {25, 52, 79, 106, 133, 160, 216, 270, 0, 0, 0, 0, 0}, + {11, 24, 38, 51, 65, 78, 106, 133, 162, 0, 217, 245, 273}, + {0, 11, 18, 24, 31, 38, 51, 65, 79, 0, 107, 121, 135} +} +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.c'; + var-mem-desc-line = '101'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-referenceby = { + var-mem-ref-id = 'common_8c_1abd62743e637f8bee2b0d3b1e2b4ecaac'; + var-mem-ref-line = '213'; + var-mem-ref-name = 'app_xran_get_num_rbs'; + }; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8c_1ac5b0db7e5c13fb0650285fa9f40a5038'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'nNumRbsPerSymF2'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += +{ + + {66, 132, 264, 0}, + {32, 66, 132, 264} +} +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.c'; + var-mem-desc-line = '110'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-referenceby = { + var-mem-ref-id = 'common_8c_1abd62743e637f8bee2b0d3b1e2b4ecaac'; + var-mem-ref-line = '213'; + var-mem-ref-name = 'app_xran_get_num_rbs'; + }; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8c_1a8734b8bf5121975264c578e7a875adf6'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'nSubCarrierSpacing'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += +{ + 15, + 30, + 60, + 120, + 240 +} +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.c'; + var-mem-desc-line = '118'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-referenceby = { + var-mem-ref-id = 'common_8c_1a4a9173ba3c1f1bdf4b1ea9f8e531c561'; + var-mem-ref-line = '182'; + var-mem-ref-name = 'app_xran_get_scs'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'xran__frame__struct_8c_1a358977362c5bc0e3adc9f897994c0d09'; + var-mem-ref-line = '121'; + var-mem-ref-name = 'xran_fs_get_scs'; + }; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8c_1a2d77acfd0f679f0a8a73ef14abc706a9'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'nTtiInterval'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += +{ + 1000, + 500, + 250, + 125, +} +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.c'; + var-mem-desc-line = '128'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-referenceby = { + var-mem-ref-id = 'common_8c_1a7443b72e990584de0b5b2a9306ed820a'; + var-mem-ref-line = '168'; + var-mem-ref-name = 'app_xran_get_tti_interval'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'xran__frame__struct_8c_1a8e8598556da3e49fa48cb646c24162fa'; + var-mem-ref-line = '108'; + var-mem-ref-name = 'xran_fs_get_tti_interval'; + }; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8c_1ad39b126a8b9123072b41967be14235ba'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'nCpSizeF1'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += +{ + + {{40, 36}, {80, 72}, {120, 108}, {160, 144}, {160, 144}, {240, 216}, {320, 288}, {320, 288}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}}, + {{22, 18}, {44, 36}, {66, 54}, {88, 72}, {88, 72}, {132, 108}, {176, 144}, {176, 144}, {264, 216}, {264, 216}, {352, 288}, {352, 288}, {352, 288}}, + { {0, 0}, {26, 18}, {39, 27}, {52, 36}, {52, 36}, {78, 54}, {104, 72}, {104, 72}, {156, 108}, {156, 108}, {208, 144}, {208, 144}, {208, 144}}, +} +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.c'; + var-mem-desc-line = '138'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8c_1a41b634e3c43560c0a29f60ddbf491d99'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +int16_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'nCpSizeF2'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += +{ + + { {0, 0}, {104, 72}, {208, 144}, {416, 288}}, + {{68, 36}, {136, 72}, {272, 144}, {544, 288}}, +} +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.c'; + var-mem-desc-line = '147'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8c_1aa4df1a21858f512ae1335aa50df1ce87'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'gMaxSlotNum'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.c'; + var-mem-desc-line = '154'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-referenceby = { + var-mem-ref-id = 'common_8c_1a2b515e829520e3af448a4d00d22de161'; + var-mem-ref-line = '373'; + var-mem-ref-name = 'app_xran_slot_limit'; + }; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8c_1a791aa78c25664db4024f849dff35373a'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'gNumDLCtx'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.c'; + var-mem-desc-line = '155'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8c_1ad54ed8a4092cdbdec6d5aacbd61d696c'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'gNumULCtx'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.c'; + var-mem-desc-line = '156'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8c_1a76a0e379fc6f77567418d4e796e779db'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'gDLResetAdvance'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.c'; + var-mem-desc-line = '157'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8c_1a187e00334790a43d509b23b49bf9a741'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'gDLProcAdvance'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.c'; + var-mem-desc-line = '158'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8c_1aca5989a141a0f1335592b2ad78a84349'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'gULProcAdvance'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.c'; + var-mem-desc-line = '159'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8c_1ac8f8d73053ff17e7f781debb51e9faae'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +static uint16_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'g_NumSlotTDDLoop'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += { XRAN_NUM_OF_SLOT_IN_TDD_LOOP } +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.c'; + var-mem-desc-line = '161'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8c_1ad47c832a7f90596ee24d50a6b0073e57'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +static uint16_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'g_NumDLSymSp'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += {0} +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.c'; + var-mem-desc-line = '162'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8c_1ae9dd0c0f0af9ae048bd7bc8b94a66d4b'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +static uint16_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'g_NumULSymSp'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += {0} +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.c'; + var-mem-desc-line = '163'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8c_1a7dcdf1b432c5d9562703b136c7654d0c'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +static uint8_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'g_SlotType'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += {{XRAN_SLOT_TYPE_INVALID}} +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.c'; + var-mem-desc-line = '164'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8c_1a6ea36bb781b9c3045bedb81a5af4ec90'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +float +_EnD_oF_dEf_TeXt_; + var-mem-name = 'g_UlRate'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += {0.0} +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.c'; + var-mem-desc-line = '165'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-referenceby = { + var-mem-ref-id = 'common_8c_1a15e01f62daf328aef8184ea50c9955fa'; + var-mem-ref-line = '386'; + var-mem-ref-name = 'app_xran_clear_slot_type'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'common_8c_1ae41dd953f43c314e9c7688d18cf69e8b'; + var-mem-ref-line = '393'; + var-mem-ref-name = 'app_xran_set_slot_type'; + }; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8c_1ab6a2b393cac2724a10352f4fc5a54a3c'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +float +_EnD_oF_dEf_TeXt_; + var-mem-name = 'g_DlRate'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += {0.0} +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.c'; + var-mem-desc-line = '166'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-referenceby = { + var-mem-ref-id = 'common_8c_1a15e01f62daf328aef8184ea50c9955fa'; + var-mem-ref-line = '386'; + var-mem-ref-name = 'app_xran_clear_slot_type'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'common_8c_1ae41dd953f43c314e9c7688d18cf69e8b'; + var-mem-ref-line = '393'; + var-mem-ref-name = 'app_xran_set_slot_type'; + }; + }; /* var-member */ + }; + file-full-name = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.c'; + file-first-line = '1'; + file-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + file-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; +}; /* file */ +file = { + file-id = 'common_8cpp'; + file-name = 'common.cpp'; + define = { + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'common_8cpp_1a80c653d62783a4e7ea960794bd287b49'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'CPU_ID'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +4 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.cpp'; + define-mem-desc-line = '34'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + }; + func = { + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'common_8cpp_1ae39390f41ba978a1f0d79691436c074a'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'bind_to_cpu'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const unsigned +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'cpu'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.cpp'; + func-mem-desc-line = '47'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Attach current process to the selected core. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\param [in] cpu Core number. +\return 0 on success, -1 otherwise. +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'common_8hpp_1a70518905d36686ddeeb2eb3b2682f016'; + func-mem-ref-line = '80'; + func-mem-ref-name = 'reading_input_file_exception::what'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'common_8hpp_1a3cf2e25a99be565a4ab570737cfeac41'; + func-mem-ref-line = '253'; + func-mem-ref-name = 'KernelTests::performance'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'common_8cpp_1a8265b710246f9019ff14556adf5eb35a'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +std::pair< double, double > +_EnD_oF_dEf_TeXt_; + func-mem-name = 'calculate_statistics'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::vector< long > +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'values'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.cpp'; + func-mem-desc-line = '60'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Calculate the mean and variance from the result of the run_benchmark. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\param [in] values Vector with result values. +\return std::pair where the first element is mean and the second one is standard deviation. +\note It's not a general mean/stddev function it only works properly when feed with data from + the benchmark function. +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'common_8hpp_1a7f1e5652bb40ab5c264473c82ac23beb'; + func-mem-ref-line = '66'; + func-mem-ref-name = 'BenchmarkParameters::repetition'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'common_8hpp_1aac742be3d619ef9ed50afc0c063c6727'; + func-mem-ref-line = '67'; + func-mem-ref-name = 'BenchmarkParameters::loop'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'common_8hpp_1a70518905d36686ddeeb2eb3b2682f016'; + func-mem-ref-line = '80'; + func-mem-ref-name = 'reading_input_file_exception::what'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'common_8hpp_1af69d779517f2bdee3aba95bc38022074'; + func-mem-ref-line = '425'; + func-mem-ref-name = 'run_benchmark'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'common_8cpp_1a39bf4f7770751080f5b72046abfd01a5'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +std::vector< unsigned > +_EnD_oF_dEf_TeXt_; + func-mem-name = 'get_sequence'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const unsigned +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'number'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.cpp'; + func-mem-desc-line = '78'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +For a given number return sequence of number from 0 to number - 1. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\param [in] number Positive integer value. +\return Vector with the sorted integer numbers between 0 and number - 1. +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'c__plane__tests_8cc_1ab0ad0e23f1b51f15bd9594a24a2c438f'; + func-mem-ref-line = '778'; + func-mem-ref-name = 'TEST_P'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'common_8hpp_1a70518905d36686ddeeb2eb3b2682f016'; + func-mem-ref-line = '80'; + func-mem-ref-name = 'reading_input_file_exception::what'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'common_8cpp_1a876ed07783b27d38779f7cef4db673e6'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +char * +_EnD_oF_dEf_TeXt_; + func-mem-name = 'read_data_to_aligned_array'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'filename'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.cpp'; + func-mem-desc-line = '86'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Read binary data from the file. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\param [in] filename name of the binary file. +\return Pointer to the allocated memory with data from the file. +\throws std::runtime_error when memory cannot be allocated. +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'common_8hpp_1a70518905d36686ddeeb2eb3b2682f016'; + func-mem-ref-line = '80'; + func-mem-ref-name = 'reading_input_file_exception::what'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'common_8hpp_1abf28e5ea54fab2b0685972fe6e75560a'; + func-mem-ref-line = '358'; + func-mem-ref-name = 'KernelTests::init_test'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'common_8cpp_1ad8c062e9b24e4b3a8408b23a0d8ab428'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +json +_EnD_oF_dEf_TeXt_; + func-mem-name = 'read_json_from_file'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'filename'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.cpp'; + func-mem-desc-line = '106'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Read JSON from the given file. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\param [in] filename name of the .json file. +\return JSON object with data. +\throws missing_config_file_exception when file cannot be opened. +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'common_8hpp_1a70518905d36686ddeeb2eb3b2682f016'; + func-mem-ref-line = '80'; + func-mem-ref-name = 'reading_input_file_exception::what'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'common_8hpp_1aad8181b222f27240e9f07dcb6e620fa3'; + func-mem-ref-line = '162'; + func-mem-ref-name = 'KernelTests::SetUpTestCase'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'common_8hpp_1a6157ff083be863bba0a7804cd1788d96'; + func-mem-ref-line = '190'; + func-mem-ref-name = 'KernelTests::get_number_of_cases'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__lib__wrap_8hpp_1a2e64fc338fcfaac25af91aae564777fa'; + func-mem-ref-line = '467'; + func-mem-ref-name = 'xranLibWraper::xranLibWraper'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'common_8cpp_1a56c41cbb9de4bce25da45ecd74b46a81'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +unsigned long +_EnD_oF_dEf_TeXt_; + func-mem-name = 'tsc_recovery'; + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.cpp'; + func-mem-desc-line = '119'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Measure the TSC on the machine. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\return Number of ticks per us +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'common_8cpp_1a0ab5719a5f67d4d52057b2c4550fe930'; + func-mem-ref-line = '162'; + func-mem-ref-name = 'tsc_tick'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'sample-app_8c_1acbab6f0999957daa6d05b0f286c21666'; + func-mem-ref-line = '64'; + func-mem-ref-name = 'tick_per_usec'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'common_8hpp_1a70518905d36686ddeeb2eb3b2682f016'; + func-mem-ref-line = '80'; + func-mem-ref-name = 'reading_input_file_exception::what'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'common_8hpp_1aad8181b222f27240e9f07dcb6e620fa3'; + func-mem-ref-line = '162'; + func-mem-ref-name = 'KernelTests::SetUpTestCase'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'common_8cpp_1a0ab5719a5f67d4d52057b2c4550fe930'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +unsigned long +_EnD_oF_dEf_TeXt_; + func-mem-name = 'tsc_tick'; + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.cpp'; + func-mem-desc-line = '162'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Return the current value of the TSC. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\return Current TSC value +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'c__plane__tests_8cc_1a69b4bff6061152ff85770d725cced3cc'; + func-mem-ref-line = '32'; + func-mem-ref-name = 'module_name'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'common_8cpp_1a56c41cbb9de4bce25da45ecd74b46a81'; + func-mem-ref-line = '119'; + func-mem-ref-name = 'tsc_recovery'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'common_8hpp_1a70518905d36686ddeeb2eb3b2682f016'; + func-mem-ref-line = '80'; + func-mem-ref-name = 'reading_input_file_exception::what'; + }; + }; /* func-member */ + }; + file-full-name = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.cpp'; + file-first-line = '1'; + file-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + file-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; +}; /* file */ +file = { + file-id = 'common_8h'; + file-name = 'common.h'; + define = { + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'common_8h_1af1b4d7e00abe98f69a2eeb9d7760c14f'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'VERSIONX'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +"#DIRTY#" +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.h'; + define-mem-desc-line = '31'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'common_8h_1a0fde49745ec2d8b8b45c15be781985d6'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'APP_O_DU'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +0 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.h'; + define-mem-desc-line = '33'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'common_8h_1a29df1eeb2e3019bf28e348b79471421b'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'APP_O_RU'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +1 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.h'; + define-mem-desc-line = '34'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'common_8h_1ab97ae0d1cc679c3c40b779b34ab7b4cf'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'N_SC_PER_PRB'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +12 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.h'; + define-mem-desc-line = '49'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'common_8h_1a534c88c03c366dfbd4dd5efe7693f56b'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'N_SYM_PER_SLOT'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +14 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.h'; + define-mem-desc-line = '50'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'common_8h_1a14c306e04a1b3ecdd13b82ab9ca6c9b5'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'MAX_ANT_CARRIER_SUPPORTED'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +(XRAN_MAX_SECTOR_NR*XRAN_MAX_ANTENNA_NR) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.h'; + define-mem-desc-line = '51'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'common_8h_1a11e143c6a879cac4c34a607b2aff730c'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'MAX_ANT_CARRIER_SUPPORTED_CAT_B'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +(XRAN_MAX_SECTOR_NR*XRAN_MAX_ANT_ARRAY_ELM_NR) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.h'; + define-mem-desc-line = '52'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'common_8h_1a9a2a7fcab69aaafebda2e160cf2eb85b'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'SUBFRAME_DURATION_US'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +1000 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.h'; + define-mem-desc-line = '54'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'common_8h_1a695a7a6db2c879d5a4ec04a4bc99d0e4'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'SUBFRAMES_PER_SYSTEMFRAME'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +10 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.h'; + define-mem-desc-line = '57'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'common_8h_1a49c6511dd7755629147643fc2cfdf893'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'IQ_PLAYBACK_BUFFER_BYTES'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +(XRAN_NUM_OF_SLOT_IN_TDD_LOOP*N_SYM_PER_SLOT*XRAN_MAX_PRBS*N_SC_PER_PRB*4L) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.h'; + define-mem-desc-line = '58'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'common_8h_1a465d2f9c1fdfb0b2e06f730bc7df6653'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'PRACH_PLAYBACK_BUFFER_BYTES'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +(144*14*4L) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.h'; + define-mem-desc-line = '60'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'common_8h_1a1474943d458f066f2f4be85a329d9028'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'iAssert'; + define-mem-param = { + define-mem-def-name = 'p'; + }; /* define-mem-def--param */ + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.h'; + define-mem-desc-line = '67'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + }; + enum = { + enum-member = { + enum-mem-kind = 'enum'; + enum-mem-id = 'common_8h_1a3f6c4cb016839c3f57ab648b84dc4d8a'; + enum-mem-virt = normal; + enum-mem-prot = public; + enum-mem-name = 'app_state'; + enum-mem-enum = { enum-name = APP_RUNNING; }; + enum-mem-enum = { enum-name = APP_STOPPED; }; + enum-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.h'; + enum-mem-desc-line = '37'; + enum-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + enum-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* enum-member */ + enum-member = { + enum-mem-kind = 'enum'; + enum-mem-id = 'common_8h_1ace60ebb76d1266cd70c6b0a2cdb975af'; + enum-mem-virt = normal; + enum-mem-prot = public; + enum-mem-name = 'nRChBwOptions'; + enum-mem-enum = { enum-name = PHY_BW_5_0_MHZ; enum-value = '= 5'; }; + enum-mem-enum = { enum-name = PHY_BW_10_0_MHZ; enum-value = '= 10'; }; + enum-mem-enum = { enum-name = PHY_BW_15_0_MHZ; enum-value = '= 15'; }; + enum-mem-enum = { enum-name = PHY_BW_20_0_MHZ; enum-value = '= 20'; }; + enum-mem-enum = { enum-name = PHY_BW_25_0_MHZ; enum-value = '= 25'; }; + enum-mem-enum = { enum-name = PHY_BW_30_0_MHZ; enum-value = '= 30'; }; + enum-mem-enum = { enum-name = PHY_BW_40_0_MHZ; enum-value = '= 40'; }; + enum-mem-enum = { enum-name = PHY_BW_50_0_MHZ; enum-value = '= 50'; }; + enum-mem-enum = { enum-name = PHY_BW_60_0_MHZ; enum-value = '= 60'; }; + enum-mem-enum = { enum-name = PHY_BW_70_0_MHZ; enum-value = '= 70'; }; + enum-mem-enum = { enum-name = PHY_BW_80_0_MHZ; enum-value = '= 80'; }; + enum-mem-enum = { enum-name = PHY_BW_90_0_MHZ; enum-value = '= 90'; }; + enum-mem-enum = { enum-name = PHY_BW_100_0_MHZ; enum-value = '= 100'; }; + enum-mem-enum = { enum-name = PHY_BW_200_0_MHZ; enum-value = '= 200'; }; + enum-mem-enum = { enum-name = PHY_BW_400_0_MHZ; enum-value = '= 400'; }; + enum-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.h'; + enum-mem-desc-line = '43'; + enum-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + enum-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* enum-member */ + }; + func = { + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'common_8h_1ab022cdd736a497eb5cfa7d5dcab0634c'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'sys_save_buf_to_file_txt'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +char * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'filename'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +char * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'bufname'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +unsigned char * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pBuffer'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +unsigned int +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'size'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +unsigned int +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'buffers_num'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.h'; + func-mem-desc-line = '134'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'common_8h_1acd37223937d89e77a1ccbdc6e94b38cc'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'sys_save_buf_to_file'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +char * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'filename'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +char * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'bufname'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +unsigned char * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pBuffer'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +unsigned int +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'size'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +unsigned int +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'buffers_num'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.h'; + func-mem-desc-line = '135'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'common_8h_1a8f27f0a8b6843f5e32ecbce83d487262'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'sys_load_file_to_buff'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +char * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'filename'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +char * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'bufname'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +unsigned char * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pBuffer'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +unsigned int +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'size'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +unsigned int +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'buffers_num'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.h'; + func-mem-desc-line = '136'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'common_8h_1a4a9173ba3c1f1bdf4b1ea9f8e531c561'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'app_xran_get_scs'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'nMu'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.h'; + func-mem-desc-line = '137'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'common_8c_1a8734b8bf5121975264c578e7a875adf6'; + func-mem-ref-line = '118'; + func-mem-ref-name = 'nSubCarrierSpacing'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'common_8h_1abd62743e637f8bee2b0d3b1e2b4ecaac'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'app_xran_get_num_rbs'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'nNumerology'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'nBandwidth'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'nAbsFrePointA'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.h'; + func-mem-desc-line = '138'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@param[in] nNumerology - Numerology determine sub carrier spacing, Value: 0->4 0: 15khz, 1: 30khz, 2: 60khz 3: 120khz, 4: 240khz +@param[in] nBandwidth - Carrier bandwidth for in MHz. Value: 5->400 +@param[in] nAbsFrePointA - Abs Freq Point A of the Carrier Center Frequency for in KHz Value: 450000->52600000 + +@return Number of RBs in cell + +@description +Returns number of RBs based on 38.101-1 and 38.101-2 for the cell +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'gen__test_8m_1a887ee7a54247d19e5e93955a7b9663ae'; + func-mem-ref-line = '96'; + func-mem-ref-name = 'numRBs'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'common_8h_1ace60ebb76d1266cd70c6b0a2cdb975afa5fe3b6ce32a0f5d07b8d09757b0ca6ae'; + func-mem-ref-line = '44'; + func-mem-ref-name = 'PHY_BW_5_0_MHZ'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'common_8c_1adeaca85bff8e90492381b51b5dd5b55c'; + func-mem-ref-line = '101'; + func-mem-ref-name = 'nNumRbsPerSymF1'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'common_8h_1ace60ebb76d1266cd70c6b0a2cdb975afa0ffa9b60f3de26c5f0c091a92e2690ce'; + func-mem-ref-line = '44'; + func-mem-ref-name = 'PHY_BW_10_0_MHZ'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'common_8h_1ace60ebb76d1266cd70c6b0a2cdb975afa3b9413cb26be463cb08bc3e45f1ba0e4'; + func-mem-ref-line = '44'; + func-mem-ref-name = 'PHY_BW_15_0_MHZ'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'common_8h_1ace60ebb76d1266cd70c6b0a2cdb975afa827e54f2b9563a648648617dabae6b86'; + func-mem-ref-line = '44'; + func-mem-ref-name = 'PHY_BW_20_0_MHZ'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'common_8h_1ace60ebb76d1266cd70c6b0a2cdb975afa34ebc504f2878c8e57b28ecb2aa5a3d6'; + func-mem-ref-line = '44'; + func-mem-ref-name = 'PHY_BW_25_0_MHZ'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'common_8h_1ace60ebb76d1266cd70c6b0a2cdb975afa5e3415eba2853d7a163296722d39ce0a'; + func-mem-ref-line = '45'; + func-mem-ref-name = 'PHY_BW_30_0_MHZ'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'common_8h_1ace60ebb76d1266cd70c6b0a2cdb975afa038fd5bff3233ab71354371731be0cca'; + func-mem-ref-line = '45'; + func-mem-ref-name = 'PHY_BW_40_0_MHZ'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'common_8h_1ace60ebb76d1266cd70c6b0a2cdb975afab80d02a26ce30cff1a0c353fa40ee648'; + func-mem-ref-line = '45'; + func-mem-ref-name = 'PHY_BW_50_0_MHZ'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'common_8h_1ace60ebb76d1266cd70c6b0a2cdb975afa069b1b1bc047d5fa38058f1df13cab23'; + func-mem-ref-line = '45'; + func-mem-ref-name = 'PHY_BW_60_0_MHZ'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'common_8h_1ace60ebb76d1266cd70c6b0a2cdb975afa80603099c73c2d2a53541404c4daea10'; + func-mem-ref-line = '45'; + func-mem-ref-name = 'PHY_BW_70_0_MHZ'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'common_8h_1ace60ebb76d1266cd70c6b0a2cdb975afac06c5f55eeae8d0e44ae09b1b15a4153'; + func-mem-ref-line = '46'; + func-mem-ref-name = 'PHY_BW_80_0_MHZ'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'common_8h_1ace60ebb76d1266cd70c6b0a2cdb975afa5662647cfc4da498383a327296832f1e'; + func-mem-ref-line = '46'; + func-mem-ref-name = 'PHY_BW_90_0_MHZ'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'common_8h_1ace60ebb76d1266cd70c6b0a2cdb975afab0667ae8b27d5f90b2f876dc2fa60a8a'; + func-mem-ref-line = '46'; + func-mem-ref-name = 'PHY_BW_100_0_MHZ'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'common_8c_1ac5b0db7e5c13fb0650285fa9f40a5038'; + func-mem-ref-line = '110'; + func-mem-ref-name = 'nNumRbsPerSymF2'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'common_8h_1ace60ebb76d1266cd70c6b0a2cdb975afa5d3a9ef2cafdd5f4c3b5c9dd9332406b'; + func-mem-ref-line = '46'; + func-mem-ref-name = 'PHY_BW_200_0_MHZ'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'common_8h_1ace60ebb76d1266cd70c6b0a2cdb975afa2e5709bbf9b2c3443fa150a0b9d7bd01'; + func-mem-ref-line = '46'; + func-mem-ref-name = 'PHY_BW_400_0_MHZ'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'common_8h_1a6d7aac49f30b5d75a7a8436fbbc36cd7'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'app_xran_cal_nrarfcn'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'nCenterFreq'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.h'; + func-mem-desc-line = '139'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@param[in] center frequency + +@return NR-ARFCN + +@description +This calculates NR-ARFCN value according to center frequency +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'common_8h_1ae41dd953f43c314e9c7688d18cf69e8b'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'app_xran_set_slot_type'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'nPhyInstanceId'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'nFrameDuplexType'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'nTddPeriod'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_slot_config * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'psSlotConfig'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.h'; + func-mem-desc-line = '140'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a581b66d2fea333f0a2e9ca3f9589fd89'; + func-mem-ref-line = '143'; + func-mem-ref-name = 'XRAN_SLOT_TYPE_LAST'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'common_8c_1a6ea36bb781b9c3045bedb81a5af4ec90'; + func-mem-ref-line = '165'; + func-mem-ref-name = 'g_UlRate'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'common_8c_1ab6a2b393cac2724a10352f4fc5a54a3c'; + func-mem-ref-line = '166'; + func-mem-ref-name = 'g_DlRate'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'common_8h_1a7443b72e990584de0b5b2a9306ed820a'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'app_xran_get_tti_interval'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'nMu'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.h'; + func-mem-desc-line = '142'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'common_8c_1a2d77acfd0f679f0a8a73ef14abc706a9'; + func-mem-ref-line = '128'; + func-mem-ref-name = 'nTtiInterval'; + }; + }; /* func-member */ + }; + var = { + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8h_1a9aedc75ff69810f3a7ff424e562e77de'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + var-mem-name = 'iq_playback_buffer_size_dl'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.h'; + var-mem-desc-line = '70'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8h_1afd05de12c89b35af48a21e0d9620c2a1'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + var-mem-name = 'iq_playback_buffer_size_ul'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.h'; + var-mem-desc-line = '71'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8h_1ad1ab6e8c4efe2805b76180b34ce4c019'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + var-mem-name = 'iq_bfw_buffer_size_dl'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.h'; + var-mem-desc-line = '73'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8h_1a8b3edaed699562559db744c8e2aa36b1'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + var-mem-name = 'iq_bfw_buffer_size_ul'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.h'; + var-mem-desc-line = '74'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8h_1a325598fd5fa9c647766e2b1fe43f596f'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + var-mem-name = 'iq_srs_buffer_size_ul'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.h'; + var-mem-desc-line = '76'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8h_1ae3e0286957f26fa1804745d15f82724d'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'numCCPorts'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.h'; + var-mem-desc-line = '78'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-referenceby = { + var-mem-ref-id = 'sample-app_8c_1a0ddf1224851353fc92bfbff6f499fa97'; + var-mem-ref-line = '1319'; + var-mem-ref-name = 'main'; + }; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8h_1ae69cd45536b5b80a0eac08ee522d8aa2'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'num_eAxc'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.h'; + var-mem-desc-line = '81'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-referenceby = { + var-mem-ref-id = 'sample-app_8c_1a0ddf1224851353fc92bfbff6f499fa97'; + var-mem-ref-line = '1319'; + var-mem-ref-name = 'main'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'xran__common_8c_1a3d4bd5c7eec6da4ab71688e209100761'; + var-mem-ref-line = '143'; + var-mem-ref-name = 'process_mbuf'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'xran__main_8c_1a4474e27c827459f3af40954b0c6f962b'; + var-mem-ref-line = '910'; + var-mem-ref-name = 'tx_cp_dl_cb'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'xran__main_8c_1ab26e37a9d8915b33e29d632af88ff3a3'; + var-mem-ref-line = '1045'; + var-mem-ref-name = 'tx_cp_ul_cb'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'xran__main_8c_1a5b3b3bf6af57ee77a2bb1701ad24c7db'; + var-mem-ref-line = '2202'; + var-mem-ref-name = 'xran_process_tx_sym'; + }; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8h_1a5977cef6d782ed0a89fee2038495b544'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +int16_t * +_EnD_oF_dEf_TeXt_; + var-mem-name = 'p_tx_play_buffer'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.h'; + var-mem-desc-line = '83'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8h_1ac6ec5442d9ec39fac4367ad38b9d3d6a'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'tx_play_buffer_size'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.h'; + var-mem-desc-line = '84'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8h_1ab0ca5bc3c9f6c0b230c9ea169747a438'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'tx_play_buffer_position'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.h'; + var-mem-desc-line = '85'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8h_1a248b83fea05a7a50c94dcfd9b12fa6e1'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +int16_t * +_EnD_oF_dEf_TeXt_; + var-mem-name = 'p_tx_prach_play_buffer'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.h'; + var-mem-desc-line = '87'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8h_1a116f357e6a56ff1a8d34d2c31691b007'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'tx_prach_play_buffer_size'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.h'; + var-mem-desc-line = '88'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8h_1a28929b3487c517117e716b7d45865c88'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'tx_prach_play_buffer_position'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.h'; + var-mem-desc-line = '89'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8h_1aaff80269195e14fa4426e20f250f7f7f'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +int16_t * +_EnD_oF_dEf_TeXt_; + var-mem-name = 'p_tx_srs_play_buffer'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.h'; + var-mem-desc-line = '91'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8h_1a3ef30d69e5522784df0a9ead30cc9415'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'tx_srs_play_buffer_size'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.h'; + var-mem-desc-line = '92'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8h_1a7abef2666634dec9ece3f2e8de21dfb0'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'tx_srs_play_buffer_position'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.h'; + var-mem-desc-line = '93'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8h_1a8b2889ff178b629b4256ad3b87a18776'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +int16_t * +_EnD_oF_dEf_TeXt_; + var-mem-name = 'p_rx_log_buffer'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.h'; + var-mem-desc-line = '96'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8h_1abc08d2b5f2da30c4a1e5d258dfe8dfc7'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'rx_log_buffer_size'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.h'; + var-mem-desc-line = '97'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8h_1adb25475aaf7dcca7350334f201c161c4'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'rx_log_buffer_position'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.h'; + var-mem-desc-line = '98'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8h_1a205302b4106968d8d580e286ce56ec8e'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +int16_t * +_EnD_oF_dEf_TeXt_; + var-mem-name = 'p_prach_log_buffer'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.h'; + var-mem-desc-line = '100'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8h_1a2d2caffb405333647be9e6f3e2590b5e'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'prach_log_buffer_size'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.h'; + var-mem-desc-line = '101'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8h_1afde5189915e37caf48edbef9138f966c'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'prach_log_buffer_position'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.h'; + var-mem-desc-line = '102'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8h_1a54f6ae53fc4ffc697c0677f660afceb2'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +int16_t * +_EnD_oF_dEf_TeXt_; + var-mem-name = 'p_srs_log_buffer'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.h'; + var-mem-desc-line = '104'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8h_1a9903f17a482557ec30123a63d9f52c7f'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'srs_log_buffer_size'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.h'; + var-mem-desc-line = '105'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8h_1a54295c1c12a237fac044d84d8c0ff0d9'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'srs_log_buffer_position'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.h'; + var-mem-desc-line = '106'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8h_1a9f1fca36999b354b0c35757f7e307185'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +int16_t * +_EnD_oF_dEf_TeXt_; + var-mem-name = 'p_tx_buffer'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.h'; + var-mem-desc-line = '108'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8h_1ad23ecec0666a9c37160556488199ad5d'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'tx_buffer_size'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.h'; + var-mem-desc-line = '109'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8h_1a66fcfd58fda188d4f58af523ed76258e'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +int16_t * +_EnD_oF_dEf_TeXt_; + var-mem-name = 'p_rx_buffer'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.h'; + var-mem-desc-line = '111'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8h_1ac33fae2fa6f1f85b151fe0d60c132931'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'rx_buffer_size'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.h'; + var-mem-desc-line = '112'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8h_1a77bd4ecb90ef07ddc1420242672b1587'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +int16_t * +_EnD_oF_dEf_TeXt_; + var-mem-name = 'p_tx_dl_bfw_buffer'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.h'; + var-mem-desc-line = '115'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8h_1aad7c467bc9da44318d2e8cf2f4472f17'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'tx_dl_bfw_buffer_size'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.h'; + var-mem-desc-line = '116'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8h_1a364dd5820c1bb3fc2f760e5b6cab5b98'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'tx_dl_bfw_buffer_position'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.h'; + var-mem-desc-line = '117'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8h_1a95b1981d7d33eb50789dbc55d5d2755f'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +int16_t * +_EnD_oF_dEf_TeXt_; + var-mem-name = 'p_tx_ul_bfw_buffer'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.h'; + var-mem-desc-line = '120'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8h_1a2fca7a2340a727f72d85407c5e153ed4'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'tx_ul_bfw_buffer_size'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.h'; + var-mem-desc-line = '121'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8h_1adc7a94af3a9c52fdb09e8733264eee4a'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'tx_ul_bfw_buffer_position'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.h'; + var-mem-desc-line = '122'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8h_1a0029e17870631ef2db8bb2e0cd0f9d3a'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +int16_t * +_EnD_oF_dEf_TeXt_; + var-mem-name = 'p_rx_dl_bfw_buffer'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.h'; + var-mem-desc-line = '125'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8h_1a75c2080232a140585589adea6b446d61'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'rx_dl_bfw_buffer_size'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.h'; + var-mem-desc-line = '126'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8h_1a69ceaec7b612ecba9628a4a078ff319a'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'rx_dl_bfw_buffer_position'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.h'; + var-mem-desc-line = '127'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8h_1a6aa805f25383d5191fbfe3ed4a4f3ce7'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +int16_t * +_EnD_oF_dEf_TeXt_; + var-mem-name = 'p_rx_ul_bfw_buffer'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.h'; + var-mem-desc-line = '130'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8h_1ada292a2cdef3b215f7a2f0e84c8c027c'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'rx_ul_bfw_buffer_size'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.h'; + var-mem-desc-line = '131'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'common_8h_1a49b46cf2c43d8dade13dce8a3e3cdba9'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'rx_ul_bfw_buffer_position'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.h'; + var-mem-desc-line = '132'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + }; + file-full-name = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/common.h'; + file-first-line = '1'; + file-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + file-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; +}; /* file */ +file = { + file-id = 'common_8hpp'; + file-name = 'common.hpp'; + define = { + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'common_8hpp_1a2c73062f66b2d8c71425ef3bc75ae946'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = '_BBLIB_DPDK_'; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + define-mem-desc-line = '40'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'common_8hpp_1a9a330f0a8f2feff43f1ccedfaf049e03'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'ASSERT_ARRAY_NEAR'; + define-mem-param = { + define-mem-def-name = 'reference'; + }; /* define-mem-def--param */ + define-mem-param = { + define-mem-def-name = 'actual'; + }; /* define-mem-def--param */ + define-mem-param = { + define-mem-def-name = 'size'; + }; /* define-mem-def--param */ + define-mem-param = { + define-mem-def-name = 'precision'; + }; /* define-mem-def--param */ + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +assert_array_near(reference, actual, size, precision) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + define-mem-desc-line = '55'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'common_8hpp_1a1c463cb9865e63120f666efd5a6555b5'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'ASSERT_ARRAY_EQ'; + define-mem-param = { + define-mem-def-name = 'reference'; + }; /* define-mem-def--param */ + define-mem-param = { + define-mem-def-name = 'actual'; + }; /* define-mem-def--param */ + define-mem-param = { + define-mem-def-name = 'size'; + }; /* define-mem-def--param */ + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +assert_array_eq(reference, actual, size) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + define-mem-desc-line = '58'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'common_8hpp_1aa748fe650bfa70c23834297931a4a2a7'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'ASSERT_AVG_GREATER_COMPLEX'; + define-mem-param = { + define-mem-def-name = 'reference'; + }; /* define-mem-def--param */ + define-mem-param = { + define-mem-def-name = 'actual'; + }; /* define-mem-def--param */ + define-mem-param = { + define-mem-def-name = 'size'; + }; /* define-mem-def--param */ + define-mem-param = { + define-mem-def-name = 'precision'; + }; /* define-mem-def--param */ + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +assert_avg_greater_complex(reference, actual, size, precision) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + define-mem-desc-line = '61'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + }; + typedef = { + typedef-member = { + typedef-mem-kind = 'typedef'; + typedef-mem-id = 'common_8hpp_1ab701e3ac61a85b337ec5c1abaad6742d'; + typedef-mem-virt = normal; + typedef-mem-prot = public; + typedef-mem-type = <<_EnD_oF_dEf_TeXt_ +nlohmann::json +_EnD_oF_dEf_TeXt_; + typedef-mem-name = 'json'; + typedef-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + typedef-mem-desc-line = '53'; + typedef-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + typedef-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* typedef-member */ + }; + func = { + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'common_8hpp_1ae39390f41ba978a1f0d79691436c074a'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'bind_to_cpu'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const unsigned +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'cpu'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + func-mem-desc-line = '90'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Attach current process to the selected core. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\param [in] cpu Core number. +\return 0 on success, -1 otherwise. +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'common_8hpp_1a70518905d36686ddeeb2eb3b2682f016'; + func-mem-ref-line = '80'; + func-mem-ref-name = 'reading_input_file_exception::what'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'common_8hpp_1a3cf2e25a99be565a4ab570737cfeac41'; + func-mem-ref-line = '253'; + func-mem-ref-name = 'KernelTests::performance'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'common_8hpp_1a8265b710246f9019ff14556adf5eb35a'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +std::pair< double, double > +_EnD_oF_dEf_TeXt_; + func-mem-name = 'calculate_statistics'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::vector< long > +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'values'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + func-mem-desc-line = '99'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Calculate the mean and variance from the result of the run_benchmark. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\param [in] values Vector with result values. +\return std::pair where the first element is mean and the second one is standard deviation. +\note It's not a general mean/stddev function it only works properly when feed with data from + the benchmark function. +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'common_8hpp_1a7f1e5652bb40ab5c264473c82ac23beb'; + func-mem-ref-line = '66'; + func-mem-ref-name = 'BenchmarkParameters::repetition'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'common_8hpp_1aac742be3d619ef9ed50afc0c063c6727'; + func-mem-ref-line = '67'; + func-mem-ref-name = 'BenchmarkParameters::loop'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'common_8hpp_1a70518905d36686ddeeb2eb3b2682f016'; + func-mem-ref-line = '80'; + func-mem-ref-name = 'reading_input_file_exception::what'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'common_8hpp_1af69d779517f2bdee3aba95bc38022074'; + func-mem-ref-line = '425'; + func-mem-ref-name = 'run_benchmark'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'common_8hpp_1a39bf4f7770751080f5b72046abfd01a5'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +std::vector< unsigned > +_EnD_oF_dEf_TeXt_; + func-mem-name = 'get_sequence'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const unsigned +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'number'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + func-mem-desc-line = '106'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +For a given number return sequence of number from 0 to number - 1. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\param [in] number Positive integer value. +\return Vector with the sorted integer numbers between 0 and number - 1. +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'c__plane__tests_8cc_1ab0ad0e23f1b51f15bd9594a24a2c438f'; + func-mem-ref-line = '778'; + func-mem-ref-name = 'TEST_P'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'common_8hpp_1a70518905d36686ddeeb2eb3b2682f016'; + func-mem-ref-line = '80'; + func-mem-ref-name = 'reading_input_file_exception::what'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'common_8hpp_1ad8c062e9b24e4b3a8408b23a0d8ab428'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +json +_EnD_oF_dEf_TeXt_; + func-mem-name = 'read_json_from_file'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'filename'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + func-mem-desc-line = '114'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Read JSON from the given file. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\param [in] filename name of the .json file. +\return JSON object with data. +\throws missing_config_file_exception when file cannot be opened. +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'common_8hpp_1a70518905d36686ddeeb2eb3b2682f016'; + func-mem-ref-line = '80'; + func-mem-ref-name = 'reading_input_file_exception::what'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'common_8hpp_1aad8181b222f27240e9f07dcb6e620fa3'; + func-mem-ref-line = '162'; + func-mem-ref-name = 'KernelTests::SetUpTestCase'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'common_8hpp_1a6157ff083be863bba0a7804cd1788d96'; + func-mem-ref-line = '190'; + func-mem-ref-name = 'KernelTests::get_number_of_cases'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__lib__wrap_8hpp_1a2e64fc338fcfaac25af91aae564777fa'; + func-mem-ref-line = '467'; + func-mem-ref-name = 'xranLibWraper::xranLibWraper'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'common_8hpp_1a876ed07783b27d38779f7cef4db673e6'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +char * +_EnD_oF_dEf_TeXt_; + func-mem-name = 'read_data_to_aligned_array'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const std::string & +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'filename'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + func-mem-desc-line = '122'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Read binary data from the file. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\param [in] filename name of the binary file. +\return Pointer to the allocated memory with data from the file. +\throws std::runtime_error when memory cannot be allocated. +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'common_8hpp_1a70518905d36686ddeeb2eb3b2682f016'; + func-mem-ref-line = '80'; + func-mem-ref-name = 'reading_input_file_exception::what'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'common_8hpp_1abf28e5ea54fab2b0685972fe6e75560a'; + func-mem-ref-line = '358'; + func-mem-ref-name = 'KernelTests::init_test'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'common_8hpp_1a56c41cbb9de4bce25da45ecd74b46a81'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +unsigned long +_EnD_oF_dEf_TeXt_; + func-mem-name = 'tsc_recovery'; + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + func-mem-desc-line = '128'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Measure the TSC on the machine. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\return Number of ticks per us +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'common_8cpp_1a0ab5719a5f67d4d52057b2c4550fe930'; + func-mem-ref-line = '162'; + func-mem-ref-name = 'tsc_tick'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'sample-app_8c_1acbab6f0999957daa6d05b0f286c21666'; + func-mem-ref-line = '64'; + func-mem-ref-name = 'tick_per_usec'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'common_8hpp_1a70518905d36686ddeeb2eb3b2682f016'; + func-mem-ref-line = '80'; + func-mem-ref-name = 'reading_input_file_exception::what'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'common_8hpp_1aad8181b222f27240e9f07dcb6e620fa3'; + func-mem-ref-line = '162'; + func-mem-ref-name = 'KernelTests::SetUpTestCase'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'common_8hpp_1a0ab5719a5f67d4d52057b2c4550fe930'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +unsigned long +_EnD_oF_dEf_TeXt_; + func-mem-name = 'tsc_tick'; + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + func-mem-desc-line = '134'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Return the current value of the TSC. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\return Current TSC value +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'c__plane__tests_8cc_1a69b4bff6061152ff85770d725cced3cc'; + func-mem-ref-line = '32'; + func-mem-ref-name = 'module_name'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'common_8cpp_1a56c41cbb9de4bce25da45ecd74b46a81'; + func-mem-ref-line = '119'; + func-mem-ref-name = 'tsc_recovery'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'common_8hpp_1a70518905d36686ddeeb2eb3b2682f016'; + func-mem-ref-line = '80'; + func-mem-ref-name = 'reading_input_file_exception::what'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'common_8hpp_1af69d779517f2bdee3aba95bc38022074'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +std::pair< double, double > +_EnD_oF_dEf_TeXt_; + func-mem-name = 'run_benchmark'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +F +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'function'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +Args ... +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'args'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + func-mem-desc-line = '425'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Run the given function and return the mean run time and stddev. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\param [in] function Function to benchmark. +\param [in] args Function's arguments. +\return std::pair where the first element is mean and the second one is standard deviation. +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'common_8hpp_1a7f1e5652bb40ab5c264473c82ac23beb'; + func-mem-ref-line = '66'; + func-mem-ref-name = 'BenchmarkParameters::repetition'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'common_8hpp_1aac742be3d619ef9ed50afc0c063c6727'; + func-mem-ref-line = '67'; + func-mem-ref-name = 'BenchmarkParameters::loop'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'common_8cpp_1a8265b710246f9019ff14556adf5eb35a'; + func-mem-ref-line = '60'; + func-mem-ref-name = 'calculate_statistics'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'common_8hpp_1a3cf2e25a99be565a4ab570737cfeac41'; + func-mem-ref-line = '253'; + func-mem-ref-name = 'KernelTests::performance'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'common_8hpp_1a8f4a12d5e7aa88ef72d3a59f9d0a85f0'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'assert_array_eq'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const T * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'reference'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const T * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'actual'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const int +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'size'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + func-mem-desc-line = '448'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Assert elements of two arrays. It calls ASSERT_EQ for each element of the array. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\param [in] reference Array with reference values. +\param [in] actual Array with the actual output. +\param [in] size Size of the array. +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'common_8hpp_1aea945be561738ef40c759d617b04255c'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'assert_array_near'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const T * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'reference'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const T * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'actual'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const int +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'size'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const double +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'precision'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + func-mem-desc-line = '465'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Assert elements of two arrays. It calls ASSERT_NEAR for each element of the array. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\param [in] reference Array with reference values. +\param [in] actual Array with the actual output. +\param [in] size Size of the array. +\param [in] precision Precision fo the comparision used by ASSERT_NEAR. +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'common_8hpp_1ab5ae003c98bada0196a7085942593271'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'assert_array_near< complex_float >'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const complex_float * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'reference'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const complex_float * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'actual'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const int +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'size'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const double +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'precision'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + func-mem-desc-line = '475'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'common_8hpp_1a2bbe1c5dcabc83ba7d8485888720da42'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'assert_avg_greater_complex'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const T * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'reference'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const T * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'actual'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const int +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'size'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const double +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'precision'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + func-mem-desc-line = '494'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Assert average diff of two arrays. It calls ASSERT_GT to check the average. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\param [in] reference Array with reference values, interleaved IQ inputs. +\param [in] actual Array with the actual output, interleaved IQ inputs. +\param [in] size Size of the array, based on complex inputs. +\param [in] precision Precision for the comparison used by ASSERT_GT. +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'common_8hpp_1adfa5a01b33723394c2a1fa179abea990'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +T * +_EnD_oF_dEf_TeXt_; + func-mem-name = 'aligned_malloc'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const int +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'size'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const unsigned +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'alignment'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + func-mem-desc-line = '544'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Allocates memory of the given size. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +aligned_malloc is wrapper to functions that allocate memory: +'rte_malloc' from DPDK if hugepages are defined, 'memalign' otherwise. +Size is defined as a number of variables of given type e.g. floats, rather than bytes. +It hides sizeof(T) multiplication and cast hence makes things cleaner. + +\param [in] size Size of the memory to allocate. +\param [in] alignment Bytes alignment of the allocated memory. If 0, the return is a pointer + that is suitably aligned for any kind of variable (in the same manner as malloc()). + Otherwise, the return is a pointer that is a multiple of align. In this case, + it must be a power of two. (Minimum alignment is the cacheline size, i.e. 64-bytes) +\return Pointer to the allocated memory. +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'common__typedef__xran_8h_1a15bf8d9982f717bfec02eb10ef52003e'; + func-mem-ref-line = '128'; + func-mem-ref-name = '_aligned_malloc'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'common_8hpp_1a2f1a3a41e28280d05df6b8d212d9c5c2'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'aligned_free'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +T * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'ptr'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + func-mem-desc-line = '566'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Frees memory pointed by the given pointer. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +aligned_free is a wrapper for functions that free memory allocated by +aligned_malloc: 'rte_free' from DPDK if hugepages are defined and 'free' otherwise. + +\param [in] ptr Pointer to the allocated memory. +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'common_8hpp_1ae1d15fbbdb031b5ab34dfc289d93a6c9'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +T * +_EnD_oF_dEf_TeXt_; + func-mem-name = 'generate_random_numbers'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const long +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'size'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const unsigned +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'alignment'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +U & +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'distribution'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/common.hpp'; + func-mem-desc-line = '593'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +generate random numbers. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +It allocates memory and populate it with random numbers using C++11 default engine and +uniform real / int distribution (where lo_range <= x +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'config_8c_1a9b88352fe3891166240fff5a13680a30'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +static int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'fillConfigStruct'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +RuntimeConfig * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'config'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const char * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'key'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const char * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'value'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/config.c'; + func-mem-desc-line = '149'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'config_8c_1add16264aa9472e4e90d1a77e086c7f93'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'parseConfigFile'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +char * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'filename'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +RuntimeConfig * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'config'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/config.c'; + func-mem-desc-line = '497'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Parse application configuration file. + +@param filename The name of the configuration file to be parsed. +@param config The configuration structure to be filled with parsed data. +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'config_8c_1a706068f562dd5c64a8b7bbd4b2298dd1'; + func-mem-ref-line = '33'; + func-mem-ref-name = 'MAX_LINE_SIZE'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'debug_8h_1ad782f0c1a9fea27268fa70903f3cc4d7'; + func-mem-ref-line = '59'; + func-mem-ref-name = 'log_err'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'sample-app_8c_1a0ddf1224851353fc92bfbff6f499fa97'; + func-mem-ref-line = '1319'; + func-mem-ref-name = 'main'; + }; + }; /* func-member */ + }; + file-full-name = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/config.c'; + file-first-line = '1'; + file-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + file-documentation = <<_EnD_oF_dEf_TeXt_ +@author Intel Corporation +_EnD_oF_dEf_TeXt_; +}; /* file */ +file = { + file-id = 'config_8h'; + file-name = 'config.h'; + typedef = { + typedef-member = { + typedef-mem-kind = 'typedef'; + typedef-mem-id = 'config_8h_1af57013248b2c9c128e04d2e8ce8c93c9'; + typedef-mem-virt = normal; + typedef-mem-prot = public; + typedef-mem-type = <<_EnD_oF_dEf_TeXt_ +struct _RuntimeConfig +_EnD_oF_dEf_TeXt_; + typedef-mem-name = 'RuntimeConfig'; + typedef-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/config.h'; + typedef-mem-desc-line = '127'; + typedef-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + typedef-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Run time configuration of application +_EnD_oF_dEf_TeXt_; + }; /* typedef-member */ + }; + func = { + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'config_8h_1add16264aa9472e4e90d1a77e086c7f93'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'parseConfigFile'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +char * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'filename'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +RuntimeConfig * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'config'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/config.h'; + func-mem-desc-line = '134'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Parse application configuration file. + +@param filename The name of the configuration file to be parsed. +@param config The configuration structure to be filled with parsed data. +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'config_8c_1a706068f562dd5c64a8b7bbd4b2298dd1'; + func-mem-ref-line = '33'; + func-mem-ref-name = 'MAX_LINE_SIZE'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'debug_8h_1ad782f0c1a9fea27268fa70903f3cc4d7'; + func-mem-ref-line = '59'; + func-mem-ref-name = 'log_err'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'sample-app_8c_1a0ddf1224851353fc92bfbff6f499fa97'; + func-mem-ref-line = '1319'; + func-mem-ref-name = 'main'; + }; + }; /* func-member */ + }; + file-full-name = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/config.h'; + file-first-line = '1'; + file-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + file-documentation = <<_EnD_oF_dEf_TeXt_ +@author Intel Corporation +_EnD_oF_dEf_TeXt_; +}; /* file */ +file = { + file-id = 'debug_8h'; + file-name = 'debug.h'; + define = { + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'debug_8h_1a835262f9c26026aab5f91a528f57ad8f'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'MAX_FILE_NAME_LEN'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +(512) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/debug.h'; + define-mem-desc-line = '33'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'debug_8h_1acae6916a00cd9660ab2ab69569e26d80'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'MAX_PATH_NAME_LEN'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +(1024) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/debug.h'; + define-mem-desc-line = '34'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'debug_8h_1a38df20643802da0ddcfe651c055892aa'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'log_dbg'; + define-mem-param = { + define-mem-def-name = 'fmt'; + }; /* define-mem-def--param */ + define-mem-param = { + define-mem-def-name = '...'; + }; /* define-mem-def--param */ + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/debug.h'; + define-mem-desc-line = '43'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'debug_8h_1a38df20643802da0ddcfe651c055892aa'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'log_dbg'; + define-mem-param = { + define-mem-def-name = 'fmt'; + }; /* define-mem-def--param */ + define-mem-param = { + define-mem-def-name = '...'; + }; /* define-mem-def--param */ + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/debug.h'; + define-mem-desc-line = '54'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'debug_8h_1a1a973e10ccfdb6d28a538c8a9b022261'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'log_wrn'; + define-mem-param = { + define-mem-def-name = 'fmt'; + }; /* define-mem-def--param */ + define-mem-param = { + define-mem-def-name = '...'; + }; /* define-mem-def--param */ + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/debug.h'; + define-mem-desc-line = '55'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'debug_8h_1ad782f0c1a9fea27268fa70903f3cc4d7'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'log_err'; + define-mem-param = { + define-mem-def-name = 'fmt'; + }; /* define-mem-def--param */ + define-mem-param = { + define-mem-def-name = '...'; + }; /* define-mem-def--param */ + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +fprintf(stderr, \ + "ERROR: %s(%d): " fmt "\n", \ + __FILE__, \ + __LINE__, ##__VA_ARGS__) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/debug.h'; + define-mem-desc-line = '59'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + }; + func = { + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'debug_8h_1a42574ce0fd997ec42f57353f49235176'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'ShowData'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'ptr'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +unsigned int +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'size'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/debug.h'; + func-mem-desc-line = '66'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + }; + file-full-name = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/debug.h'; + file-first-line = '1'; + file-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + file-documentation = <<_EnD_oF_dEf_TeXt_ +@author Intel Corporation +_EnD_oF_dEf_TeXt_; +}; /* file */ +file = { + file-id = 'ethdi_8c'; + file-name = 'ethdi.c'; + define = { + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'ethdi_8c_1a369266c24eacffb87046522897a570d5'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = '_GNU_SOURCE'; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethdi.c'; + define-mem-desc-line = '26'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'ethdi_8c_1a4c38cae04fab7c03bcfef74030da111e'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'BURST_RX_IO_SIZE'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +48 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethdi.c'; + define-mem-desc-line = '72'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'ethdi_8c_1a9a0ad39cc5436a5f75a4763bcfd12284'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'CHECK_INTERVAL'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +100 /* 100ms */ +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethdi.c'; + define-mem-desc-line = '240'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'ethdi_8c_1a8656398fc65eefb503ceaf1006c095ac'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'MAX_CHECK_TIME'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +90 /* 9s (90 * 100ms) in total */ +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethdi.c'; + define-mem-desc-line = '241'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + }; + func = { + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'ethdi_8c_1a77f0a4b49dc21be816aefa3066debfa7'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mbuf * +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_ethdi_mbuf_alloc'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethdi.c'; + func-mem-desc-line = '77'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'ethernet_8c_1a8d83e3adb6c9e839b3b7259288f100ba'; + func-mem-ref-line = '70'; + func-mem-ref-name = '_eth_mbuf_pool'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'c__plane__tests_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + func-mem-ref-line = '112'; + func-mem-ref-name = 'C_plane::SetUp'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__common_8c_1ab67b9cc6e54d8ba3945b265b47af743c'; + func-mem-ref-line = '436'; + func-mem-ref-name = 'send_symbol_ex'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'ethdi_8c_1ab6a05b3b37887e49b0017e1668317829'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_ethdi_mbuf_send'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mbuf * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'mb'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'ethertype'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethdi.c'; + func-mem-desc-line = '82'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'ethdi_8c_1ab8a8c592ac06111ce690ab5a6207a6eb'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_ethdi_mbuf_send_cp'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mbuf * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'mb'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'ethertype'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethdi.c'; + func-mem-desc-line = '94'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'ethdi_8c_1a69c763967ba7e28c4a589ce624c226ff'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_register_ethertype_handler'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'ethertype'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +ethertype_handler +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'callback'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethdi.c'; + func-mem-desc-line = '124'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'ethernet_8h_1a0b63de3f9c61ad7ac89987bb44699200'; + func-mem-ref-line = '141'; + func-mem-ref-name = 'elog'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1a4ea0e9c036a1dc7605f53f1f862f4952'; + func-mem-ref-line = '2319'; + func-mem-ref-name = 'xran_init'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'ethdi_8c_1a20cda8ace162cadfe3d21c06385fdebe'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_handle_ether'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'ethertype'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mbuf * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pkt'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint64_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'rx_time'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethdi.c'; + func-mem-desc-line = '140'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'ethdi_8c_1a964502cdb0a980bb8110971755faec77'; + func-mem-ref-line = '115'; + func-mem-ref-name = 'fn'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'ethernet_8h_1aa5cdbe485177843f5b1a2a2c584c0315'; + func-mem-ref-line = '140'; + func-mem-ref-name = 'wlog'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'ethdi_8c_1af110b40ee89935ebe18d65ef84de1359'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_ethdi_filter_packet'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mbuf * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pkt'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint64_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'rx_time'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethdi.c'; + func-mem-desc-line = '156'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'xran__common_8c_1a4e156a8a72cc16b05c6ad0532df4e75a'; + func-mem-ref-line = '676'; + func-mem-ref-name = 'process_ring'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'ethdi_8c_1ac1d63708b547377ff9a34d4ad6116a13'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +static void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'check_port_link_status'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'portid'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethdi.c'; + func-mem-desc-line = '238'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'ethdi_8c_1a97dcf8200aebed714f47764c302a06b5'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_ethdi_init_dpdk_io'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +char * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'name'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const struct xran_io_loop_cfg * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'io_cfg'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +int * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'lcore_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct ether_addr * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'p_lls_cu_addr'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct ether_addr * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'p_ru_addr'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'cp_vlan'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'up_vlan'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethdi.c'; + func-mem-desc-line = '288'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1a4ea0e9c036a1dc7605f53f1f862f4952'; + func-mem-ref-line = '2319'; + func-mem-ref-name = 'xran_init'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'ethdi_8c_1a5e229436e58c6681b0a442c7ac2ba0b4'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +static uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_tx_from_ring'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'port'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_ring * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'r'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethdi.c'; + func-mem-desc-line = '421'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'ethdi_8c_1ae5cd564d3dc5eb89dbe0dd1fa105b645'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'process_dpdk_io'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethdi.c'; + func-mem-desc-line = '445'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + }; + var = { + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'ethdi_8c_1a87322175547262f4937875027a108e90'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_ethdi_ctx +_EnD_oF_dEf_TeXt_; + var-mem-name = 'g_ethdi_ctx'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += { 0 } +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethdi.c'; + var-mem-desc-line = '93'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'ethdi_8c_1aef5f52e6a4f49171518a59382eb03df5'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +enum xran_if_state +_EnD_oF_dEf_TeXt_; + var-mem-name = 'xran_if_current_state'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += XRAN_STOPPED +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethdi.c'; + var-mem-desc-line = '93'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-referenceby = { + var-mem-ref-id = 'init__sys__functional_8cc_1a03935019c7cdf89f54e582fbaf9bff76'; + var-mem-ref-line = '280'; + var-mem-ref-name = 'TEST_P'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'xran__main_8c_1a937105f52446cfcb951e43e1dc3c4d8b'; + var-mem-ref-line = '238'; + var-mem-ref-name = 'xran_get_if_state'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'xran__main_8c_1a5b8958fc5688ba856cba84038ee4b938'; + var-mem-ref-line = '711'; + var-mem-ref-name = 'xran_timer_arm'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'xran__main_8c_1a96de765800aa6de0788fc530cbc16825'; + var-mem-ref-line = '724'; + var-mem-ref-name = 'xran_timer_arm_ex'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'xran__main_8c_1a4ea0e9c036a1dc7605f53f1f862f4952'; + var-mem-ref-line = '2319'; + var-mem-ref-name = 'xran_init'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'xran__main_8c_1ad4852c0827600db95f9841e2f5f9f6f1'; + var-mem-ref-line = '2841'; + var-mem-ref-name = 'xran_start'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'xran__main_8c_1a8f2daee2fe90126f1f7c361b7760a7a3'; + var-mem-ref-line = '2852'; + var-mem-ref-name = 'xran_stop'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'xran__main_8c_1a2f8866c9d6536a56e4d8232b8c45808b'; + var-mem-ref-line = '2863'; + var-mem-ref-name = 'xran_close'; + }; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'ethdi_8c_1aa9296c58dc24c63c4ee927db394a97d7'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'ethertype'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethdi.c'; + var-mem-desc-line = '114'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-referenceby = { + var-mem-ref-id = 'ethernet_8c_1a9928d7cd5a9d3885479a9c0ae27249ee'; + var-mem-ref-line = '229'; + var-mem-ref-name = 'xran_init_port'; + }; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'ethdi_8c_1a964502cdb0a980bb8110971755faec77'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +ethertype_handler +_EnD_oF_dEf_TeXt_; + var-mem-name = 'fn'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethdi.c'; + var-mem-desc-line = '115'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-referenceby = { + var-mem-ref-id = 'ethdi_8c_1a20cda8ace162cadfe3d21c06385fdebe'; + var-mem-ref-line = '140'; + var-mem-ref-name = 'xran_handle_ether'; + }; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'ethdi_8c_1a3f53957f895afe4f72ecdc94556077d7'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +struct __anonymous__ +_EnD_oF_dEf_TeXt_; + var-mem-name = 'xran_ethertype_handlers'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += { + { ETHER_TYPE_ETHDI, NULL }, + { ETHER_TYPE_ECPRI, NULL }, + { ETHER_TYPE_START_TX, NULL } +} +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethdi.c'; + var-mem-desc-line = '120'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-referenceby = { + var-mem-ref-id = 'ethdi_8c_1a69c763967ba7e28c4a589ce624c226ff'; + var-mem-ref-line = '124'; + var-mem-ref-name = 'xran_register_ethertype_handler'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'ethdi_8c_1a20cda8ace162cadfe3d21c06385fdebe'; + var-mem-ref-line = '140'; + var-mem-ref-name = 'xran_handle_ether'; + }; + }; /* var-member */ + }; + file-full-name = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethdi.c'; + file-first-line = '1'; + file-briefdesc = <<_EnD_oF_dEf_TeXt_ +This file has all definitions for the Ethernet Data Interface Layer. +_EnD_oF_dEf_TeXt_; + file-documentation = <<_EnD_oF_dEf_TeXt_ +@author Intel Corporation +_EnD_oF_dEf_TeXt_; +}; /* file */ +file = { + file-id = 'ethdi_8h'; + file-name = 'ethdi.h'; + define = { + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'ethdi_8h_1a3822681248af17c36115a411e29e5fc2'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XRAN_THREAD_DEFAULT_PRIO'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +(98) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethdi.h'; + define-mem-desc-line = '52'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'ethdi_8h_1ae138d10c7cd4199e5e96377ff1f8e317'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'PING_INTERVAL'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +300 /* (us) */ +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethdi.h'; + define-mem-desc-line = '55'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'ethdi_8h_1a5a5cdcb25b0580324b2cfaa1cad7073c'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'PING_BUSY_POLL'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +50 /* (us) how long to actively wait for response */ +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethdi.h'; + define-mem-desc-line = '56'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'ethdi_8h_1abe0b7b2a0ec4b64b92585808a051e1fa'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'SLEEP_TIME'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +200 /* (us) */ +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethdi.h'; + define-mem-desc-line = '61'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'ethdi_8h_1adc4a14c073a7427003796cbd9d435758'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'BCAST'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +{0xff, 0xff, 0xff, 0xff, 0xff, 0xff} +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethdi.h'; + define-mem-desc-line = '62'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'ethdi_8h_1a9df4578d38d6affa477914e529695e10'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'TX_TIMER_INTERVAL'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +((rte_get_timer_hz() / 1000000000L)*interval_us*1000) /* nanosec */ +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethdi.h'; + define-mem-desc-line = '64'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'ethdi_8h_1a2b97f9f2ff76cb92d7f3831918979e56'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'TX_RX_LOOP_TIME'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +rte_get_timer_hz() / 1 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethdi.h'; + define-mem-desc-line = '65'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + }; + typedef = { + typedef-member = { + typedef-mem-kind = 'typedef'; + typedef-mem-id = 'ethdi_8h_1a8f1b290228ee37b3a5ea2282aded6664'; + typedef-mem-virt = normal; + typedef-mem-prot = public; + typedef-mem-type = <<_EnD_oF_dEf_TeXt_ +int(* +_EnD_oF_dEf_TeXt_; + typedef-mem-name = 'PROCESS_CB'; + typedef-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethdi.h'; + typedef-mem-desc-line = '109'; + typedef-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + typedef-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* typedef-member */ + typedef-member = { + typedef-mem-kind = 'typedef'; + typedef-mem-id = 'ethdi_8h_1a3f3cb6ac70cce2db8234669b745b4538'; + typedef-mem-virt = normal; + typedef-mem-prot = public; + typedef-mem-type = <<_EnD_oF_dEf_TeXt_ +int(* +_EnD_oF_dEf_TeXt_; + typedef-mem-name = 'xran_ethdi_handler'; + typedef-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethdi.h'; + typedef-mem-desc-line = '150'; + typedef-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + typedef-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* typedef-member */ + typedef-member = { + typedef-mem-kind = 'typedef'; + typedef-mem-id = 'ethdi_8h_1a7c379f4a70692477327fb1a3538cfd1e'; + typedef-mem-virt = normal; + typedef-mem-prot = public; + typedef-mem-type = <<_EnD_oF_dEf_TeXt_ +int(* +_EnD_oF_dEf_TeXt_; + typedef-mem-name = 'ethertype_handler'; + typedef-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethdi.h'; + typedef-mem-desc-line = '152'; + typedef-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + typedef-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* typedef-member */ + typedef-member = { + typedef-mem-kind = 'typedef'; + typedef-mem-id = 'ethdi_8h_1abdeeae19de30cfa3120005562b0c4588'; + typedef-mem-virt = normal; + typedef-mem-prot = public; + typedef-mem-type = <<_EnD_oF_dEf_TeXt_ +void() +_EnD_oF_dEf_TeXt_; + typedef-mem-name = 'xran_ethdi_tx_callback'; + typedef-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethdi.h'; + typedef-mem-desc-line = '154'; + typedef-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + typedef-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* typedef-member */ + }; + enum = { + enum-member = { + enum-mem-kind = 'enum'; + enum-mem-id = 'ethdi_8h_1a400519d4f3774fc47bc51223a4e3e1b4'; + enum-mem-virt = normal; + enum-mem-prot = public; + enum-mem-name = 'xran_ping_states'; + enum-mem-enum = { enum-name = PING_IDLE; }; + enum-mem-enum = { enum-name = PING_NEEDED; }; + enum-mem-enum = { enum-name = AWAITING_PONG; }; + enum-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethdi.h'; + enum-mem-desc-line = '68'; + enum-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + enum-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* enum-member */ + enum-member = { + enum-mem-kind = 'enum'; + enum-mem-id = 'ethdi_8h_1a08bfa37a0c337e82469d07cac15fd22b'; + enum-mem-virt = normal; + enum-mem-prot = public; + enum-mem-name = 'xran_ethdi_vf_ports'; + enum-mem-enum = { enum-name = ETHDI_UP_VF; enum-value = '= 0'; }; + enum-mem-enum = { enum-name = ETHDI_CP_VF; }; + enum-mem-enum = { enum-name = ETHDI_VF_MAX; }; + enum-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethdi.h'; + enum-mem-desc-line = '75'; + enum-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + enum-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* enum-member */ + enum-member = { + enum-mem-kind = 'enum'; + enum-mem-id = 'ethdi_8h_1a0e36dceadaee8cb4907cd2110d135851'; + enum-mem-virt = normal; + enum-mem-prot = public; + enum-mem-name = 'xran_entities_id'; + enum-mem-enum = { enum-name = ID_LLS_CU; }; + enum-mem-enum = { enum-name = ID_RU; }; + enum-mem-enum = { enum-name = ID_BROADCAST; }; + enum-mem-enum = { enum-name = ID_MAX; }; + enum-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethdi.h'; + enum-mem-desc-line = '97'; + enum-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + enum-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* enum-member */ + enum-member = { + enum-mem-kind = 'enum'; + enum-mem-id = 'ethdi_8h_1a39fca1837c5ce7715cbf571669660c13'; + enum-mem-virt = normal; + enum-mem-prot = public; + enum-mem-name = '@22'; + enum-mem-enum = { enum-name = MBUF_KEEP; }; + enum-mem-enum = { enum-name = MBUF_FREE; }; + enum-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethdi.h'; + enum-mem-desc-line = '135'; + enum-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + enum-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* enum-member */ + }; + func = { + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'ethdi_8h_1a86b3bf9114d7fea8dfeb1e3ddbdfbed2'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +static struct xran_ethdi_ctx * +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_ethdi_get_ctx'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethdi.h'; + func-mem-desc-line = '144'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'ethdi_8h_1a69c763967ba7e28c4a589ce624c226ff'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_register_ethertype_handler'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'ethertype'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +ethertype_handler +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'callback'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethdi.h'; + func-mem-desc-line = '157'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'ethernet_8h_1a0b63de3f9c61ad7ac89987bb44699200'; + func-mem-ref-line = '141'; + func-mem-ref-name = 'elog'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1a4ea0e9c036a1dc7605f53f1f862f4952'; + func-mem-ref-line = '2319'; + func-mem-ref-name = 'xran_init'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'ethdi_8h_1a97dcf8200aebed714f47764c302a06b5'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_ethdi_init_dpdk_io'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +char * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'name'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const struct xran_io_loop_cfg * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'io_cfg'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +int * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'lcore_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct ether_addr * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'p_lls_cu_addr'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct ether_addr * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'p_ru_addr'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'cp_vlan'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'up_vlan'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethdi.h'; + func-mem-desc-line = '160'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1a4ea0e9c036a1dc7605f53f1f862f4952'; + func-mem-ref-line = '2319'; + func-mem-ref-name = 'xran_init'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'ethdi_8h_1a77f0a4b49dc21be816aefa3066debfa7'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mbuf * +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_ethdi_mbuf_alloc'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethdi.h'; + func-mem-desc-line = '163'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'ethernet_8c_1a8d83e3adb6c9e839b3b7259288f100ba'; + func-mem-ref-line = '70'; + func-mem-ref-name = '_eth_mbuf_pool'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'c__plane__tests_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + func-mem-ref-line = '112'; + func-mem-ref-name = 'C_plane::SetUp'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__common_8c_1ab67b9cc6e54d8ba3945b265b47af743c'; + func-mem-ref-line = '436'; + func-mem-ref-name = 'send_symbol_ex'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'ethdi_8h_1ab6a05b3b37887e49b0017e1668317829'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_ethdi_mbuf_send'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mbuf * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'mb'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'ethertype'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethdi.h'; + func-mem-desc-line = '164'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'ethdi_8h_1ab8a8c592ac06111ce690ab5a6207a6eb'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_ethdi_mbuf_send_cp'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mbuf * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'mb'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'ethertype'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethdi.h'; + func-mem-desc-line = '165'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'ethdi_8h_1af110b40ee89935ebe18d65ef84de1359'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_ethdi_filter_packet'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mbuf * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pkt'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint64_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'rx_time'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethdi.h'; + func-mem-desc-line = '171'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'xran__common_8c_1a4e156a8a72cc16b05c6ad0532df4e75a'; + func-mem-ref-line = '676'; + func-mem-ref-name = 'process_ring'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'ethdi_8h_1ae5cd564d3dc5eb89dbe0dd1fa105b645'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'process_dpdk_io'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethdi.h'; + func-mem-desc-line = '172'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + }; + var = { + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'ethdi_8h_1a9caf1d288bfb63adc3850d40e56f3cd0'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +static char *const +_EnD_oF_dEf_TeXt_; + var-mem-name = 'entity_names'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += { + "xRAN lls-CU sim app", + "xRAN RU sim app", +} +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethdi.h'; + var-mem-desc-line = '104'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'ethdi_8h_1aef5f52e6a4f49171518a59382eb03df5'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +enum xran_if_state +_EnD_oF_dEf_TeXt_; + var-mem-name = 'xran_if_current_state'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethdi.h'; + var-mem-desc-line = '109'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'ethdi_8h_1a6cf5d5256dc316f01943cc2850cff44c'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'ping_dst_id'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethdi.h'; + var-mem-desc-line = '141'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'ethdi_8h_1a061420dc29ec42fb222295d9496edbf7'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +struct ether_addr +_EnD_oF_dEf_TeXt_; + var-mem-name = 'entities_addrs'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethdi.h'; + var-mem-desc-line = '141'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + }; + file-full-name = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethdi.h'; + file-first-line = '1'; + file-briefdesc = <<_EnD_oF_dEf_TeXt_ +This file has all definitions for the Ethernet Data Interface Layer. +_EnD_oF_dEf_TeXt_; + file-documentation = <<_EnD_oF_dEf_TeXt_ +@author Intel Corporation +_EnD_oF_dEf_TeXt_; +}; /* file */ +file = { + file-id = 'ethernet_8c'; + file-name = 'ethernet.c'; + define = { + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'ethernet_8c_1a0ff6d080449124d52d868d9ce2ffe871'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'RINGSIZE'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +sizeof(io_ring.buf) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethernet.c'; + define-mem-desc-line = '94'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'ethernet_8c_1a86876a46f9f0a408e13cb2a225b8e4e6'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'RINGMASK'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +(RINGSIZE - 1) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethernet.c'; + define-mem-desc-line = '95'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + }; + typedef = { + typedef-member = { + typedef-mem-kind = 'typedef'; + typedef-mem-id = 'ethernet_8c_1a845b3b4b5f6eeeef2ffa38a0048d5969'; + typedef-mem-virt = normal; + typedef-mem-prot = public; + typedef-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + typedef-mem-name = 'ring_idx'; + typedef-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethernet.c'; + typedef-mem-desc-line = '86'; + typedef-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + typedef-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* typedef-member */ + }; + func = { + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'ethernet_8c_1aee422b7193c84ae1fa4d6708a4bc577b'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = '__xran_delayed_msg'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const char * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'fmt'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +... +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethernet.c'; + func-mem-desc-line = '97'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'ethernet_8c_1a0ff6d080449124d52d868d9ce2ffe871'; + func-mem-ref-line = '94'; + func-mem-ref-name = 'RINGSIZE'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'ethernet_8c_1ae64119c0e95fd2355ab7c07b92d34615'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_init_mbuf_pool'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethernet.c'; + func-mem-desc-line = '185'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'ethernet_8c_1a8d83e3adb6c9e839b3b7259288f100ba'; + func-mem-ref-line = '70'; + func-mem-ref-name = '_eth_mbuf_pool'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'ethernet_8h_1ae543d743ada71b167a5cbd813b15fa7f'; + func-mem-ref-line = '46'; + func-mem-ref-name = 'NUM_MBUFS'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'ethernet_8h_1aff7b5c03d15eefed7ec8ba88836914e6'; + func-mem-ref-line = '47'; + func-mem-ref-name = 'MBUF_CACHE'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'ethernet_8h_1aabc097abe969aa80654d34ee7f15109c'; + func-mem-ref-line = '50'; + func-mem-ref-name = 'MBUF_POOL_ELEMENT'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'ethernet_8c_1a4454a38b3cf49dde846ab9b0e1a7ba56'; + func-mem-ref-line = '71'; + func-mem-ref-name = '_eth_mbuf_pool_inderect'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'ethernet_8c_1a0300893b39ba152362bc3096f082d4be'; + func-mem-ref-line = '72'; + func-mem-ref-name = '_eth_mbuf_pool_rx'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'ethernet_8c_1a3e5502cf11577af4893f3151eb221f75'; + func-mem-ref-line = '73'; + func-mem-ref-name = '_eth_mbuf_pool_small'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'ethernet_8h_1ae9d0e06c9bf8c1de60edfed757593782'; + func-mem-ref-line = '49'; + func-mem-ref-name = 'MBUF_POOL_ELM_SMALL'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'ethernet_8c_1ae3907201762de3de953eb5ea9de9229a'; + func-mem-ref-line = '74'; + func-mem-ref-name = '_eth_mbuf_pool_big'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'ethernet_8h_1a72098506af8c2d5c500ec4f8e0a0e17f'; + func-mem-ref-line = '59'; + func-mem-ref-name = 'NUM_MBUFS_BIG'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'ethernet_8h_1ae8104b3bc03b93180e06acb87f420243'; + func-mem-ref-line = '58'; + func-mem-ref-name = 'MBUF_POOL_ELM_BIG'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'ethernet_8c_1a9b3ca6fe25e72be5c4fd7a95f92d174f'; + func-mem-ref-line = '76'; + func-mem-ref-name = 'socket_direct_pool'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'ethernet_8c_1adb2e2732725779d167cb43cb9ecac924'; + func-mem-ref-line = '77'; + func-mem-ref-name = 'socket_indirect_pool'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'ethernet_8c_1a44ddaef5c37ad5880487ccf60fd6844a'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_init_port'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'p_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct ether_addr * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'p_lls_cu_addr'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethernet.c'; + func-mem-desc-line = '229'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'ethernet_8h_1a703e079cb598d615c750d24ec7432617'; + func-mem-ref-line = '37'; + func-mem-ref-name = 'BURST_SIZE'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'ethernet_8h_1af93d1ffa527a8d74a873d67174d006e1'; + func-mem-ref-line = '52'; + func-mem-ref-name = 'MAX_RX_LEN'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'ethernet_8c_1a0300893b39ba152362bc3096f082d4be'; + func-mem-ref-line = '72'; + func-mem-ref-name = '_eth_mbuf_pool_rx'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'ethernet_8h_1a3f004b0d653b6c6481513d0681771452'; + func-mem-ref-line = '138'; + func-mem-ref-name = 'nlog'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'ethdi_8c_1aa9296c58dc24c63c4ee927db394a97d7'; + func-mem-ref-line = '114'; + func-mem-ref-name = 'ethertype'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'ethernet_8h_1ae9d2374bac7995a342bcf6ffdbe9f4a0'; + func-mem-ref-line = '148'; + func-mem-ref-name = 'PANIC_ON'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'ethernet_8h_1aedb12c4d673468ce4291b4e756a72b38'; + func-mem-ref-line = '40'; + func-mem-ref-name = 'FLEXRAN_UP_VLAN_TAG'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'ethernet_8h_1a52fb3711338fc1b5acbbfb64ad3a2c62'; + func-mem-ref-line = '145'; + func-mem-ref-name = 'dlog'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'ethernet_8h_1a0118652ad4c1f706fd9b626221530738'; + func-mem-ref-line = '41'; + func-mem-ref-name = 'ETHER_TYPE_ETHDI'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'ethernet_8h_1a0b63de3f9c61ad7ac89987bb44699200'; + func-mem-ref-line = '141'; + func-mem-ref-name = 'elog'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'ethernet_8c_1aa3e9cefbde42d6864805b4ba2a8f4c86'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_add_eth_hdr_vlan'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct ether_addr * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'dst'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'ethertype'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mbuf * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'mb'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'vlan_tci'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethernet.c'; + func-mem-desc-line = '434'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'ethernet_8h_1ae9d2374bac7995a342bcf6ffdbe9f4a0'; + func-mem-ref-line = '148'; + func-mem-ref-name = 'PANIC_ON'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'ethernet_8h_1a3f004b0d653b6c6481513d0681771452'; + func-mem-ref-line = '138'; + func-mem-ref-name = 'nlog'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'ethernet_8h_1a52fb3711338fc1b5acbbfb64ad3a2c62'; + func-mem-ref-line = '145'; + func-mem-ref-name = 'dlog'; + }; + }; /* func-member */ + }; + var = { + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'ethernet_8c_1a8d83e3adb6c9e839b3b7259288f100ba'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mempool * +_EnD_oF_dEf_TeXt_; + var-mem-name = '_eth_mbuf_pool'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += NULL +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethernet.c'; + var-mem-desc-line = '70'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-referenceby = { + var-mem-ref-id = 'ethdi_8c_1a77f0a4b49dc21be816aefa3066debfa7'; + var-mem-ref-line = '77'; + var-mem-ref-name = 'xran_ethdi_mbuf_alloc'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'ethernet_8c_1ae64119c0e95fd2355ab7c07b92d34615'; + var-mem-ref-line = '185'; + var-mem-ref-name = 'xran_init_mbuf_pool'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'prach__functional_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + var-mem-ref-line = '92'; + var-mem-ref-name = 'PrachCheck::SetUp'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'prach__performance_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + var-mem-ref-line = '91'; + var-mem-ref-name = 'PrachPerf::SetUp'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'prach__performance_8cc_1a540e426541deb753f7c69d8df5d5b090'; + var-mem-ref-line = '172'; + var-mem-ref-name = 'performance_cp'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'u__plane__functional_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + var-mem-ref-line = '37'; + var-mem-ref-name = 'U_planeCheck::SetUp'; + }; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'ethernet_8c_1a4454a38b3cf49dde846ab9b0e1a7ba56'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mempool * +_EnD_oF_dEf_TeXt_; + var-mem-name = '_eth_mbuf_pool_inderect'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += NULL +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethernet.c'; + var-mem-desc-line = '71'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-referenceby = { + var-mem-ref-id = 'ethernet_8c_1ae64119c0e95fd2355ab7c07b92d34615'; + var-mem-ref-line = '185'; + var-mem-ref-name = 'xran_init_mbuf_pool'; + }; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'ethernet_8c_1a0300893b39ba152362bc3096f082d4be'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mempool * +_EnD_oF_dEf_TeXt_; + var-mem-name = '_eth_mbuf_pool_rx'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += NULL +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethernet.c'; + var-mem-desc-line = '72'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-referenceby = { + var-mem-ref-id = 'ethernet_8c_1ae64119c0e95fd2355ab7c07b92d34615'; + var-mem-ref-line = '185'; + var-mem-ref-name = 'xran_init_mbuf_pool'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'ethernet_8c_1a9928d7cd5a9d3885479a9c0ae27249ee'; + var-mem-ref-line = '229'; + var-mem-ref-name = 'xran_init_port'; + }; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'ethernet_8c_1a3e5502cf11577af4893f3151eb221f75'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mempool * +_EnD_oF_dEf_TeXt_; + var-mem-name = '_eth_mbuf_pool_small'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += NULL +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethernet.c'; + var-mem-desc-line = '73'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-referenceby = { + var-mem-ref-id = 'ethernet_8c_1ae64119c0e95fd2355ab7c07b92d34615'; + var-mem-ref-line = '185'; + var-mem-ref-name = 'xran_init_mbuf_pool'; + }; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'ethernet_8c_1ae3907201762de3de953eb5ea9de9229a'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mempool * +_EnD_oF_dEf_TeXt_; + var-mem-name = '_eth_mbuf_pool_big'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += NULL +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethernet.c'; + var-mem-desc-line = '74'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-referenceby = { + var-mem-ref-id = 'ethernet_8c_1ae64119c0e95fd2355ab7c07b92d34615'; + var-mem-ref-line = '185'; + var-mem-ref-name = 'xran_init_mbuf_pool'; + }; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'ethernet_8c_1a9b3ca6fe25e72be5c4fd7a95f92d174f'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mempool * +_EnD_oF_dEf_TeXt_; + var-mem-name = 'socket_direct_pool'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += NULL +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethernet.c'; + var-mem-desc-line = '76'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-referenceby = { + var-mem-ref-id = 'ethernet_8c_1ae64119c0e95fd2355ab7c07b92d34615'; + var-mem-ref-line = '185'; + var-mem-ref-name = 'xran_init_mbuf_pool'; + }; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'ethernet_8c_1adb2e2732725779d167cb43cb9ecac924'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mempool * +_EnD_oF_dEf_TeXt_; + var-mem-name = 'socket_indirect_pool'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += NULL +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethernet.c'; + var-mem-desc-line = '77'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-referenceby = { + var-mem-ref-id = 'ethernet_8c_1ae64119c0e95fd2355ab7c07b92d34615'; + var-mem-ref-line = '185'; + var-mem-ref-name = 'xran_init_mbuf_pool'; + }; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'ethernet_8c_1ad9e63131290aa4ae5beeddaf0505946d'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +ring_idx +_EnD_oF_dEf_TeXt_; + var-mem-name = 'head'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethernet.c'; + var-mem-desc-line = '88'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'ethernet_8c_1a33dbe0774fc577b56bd532cf3736106e'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +ring_idx +_EnD_oF_dEf_TeXt_; + var-mem-name = 'read_head'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethernet.c'; + var-mem-desc-line = '89'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'ethernet_8c_1a255a402bc6dcd7c53876e55a8162fcb9'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +ring_idx +_EnD_oF_dEf_TeXt_; + var-mem-name = 'tail'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethernet.c'; + var-mem-desc-line = '90'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'ethernet_8c_1ac75fce8692fd1d41a8985f6aacc4a175'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +char +_EnD_oF_dEf_TeXt_; + var-mem-name = 'buf'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethernet.c'; + var-mem-desc-line = '91'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-referenceby = { + var-mem-ref-id = 'json_8hpp_1ab6b353b5dc68fe4151d9d20edecd162c'; + var-mem-ref-line = '11091'; + var-mem-ref-name = 'basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::lexer::strtonum::to'; + }; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'ethernet_8c_1a40b377a55fc6bf086deabb8ce0d531e4'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +static struct __anonymous__ +_EnD_oF_dEf_TeXt_; + var-mem-name = 'io_ring'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += { {0}, 0, 0} +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethernet.c'; + var-mem-desc-line = '92'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + }; + file-full-name = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethernet.c'; + file-first-line = '1'; + file-briefdesc = <<_EnD_oF_dEf_TeXt_ +This file has all definitions for the Ethernet Data Interface Layer. +_EnD_oF_dEf_TeXt_; + file-documentation = <<_EnD_oF_dEf_TeXt_ +@author Intel Corporation +_EnD_oF_dEf_TeXt_; +}; /* file */ +file = { + file-id = 'ethernet_8h'; + file-name = 'ethernet.h'; + define = { + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'ethernet_8h_1a703e079cb598d615c750d24ec7432617'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'BURST_SIZE'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +4096 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethernet.h'; + define-mem-desc-line = '37'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'ethernet_8h_1aedb12c4d673468ce4291b4e756a72b38'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'FLEXRAN_UP_VLAN_TAG'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +2 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethernet.h'; + define-mem-desc-line = '40'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'ethernet_8h_1a0118652ad4c1f706fd9b626221530738'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'ETHER_TYPE_ETHDI'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +ETHER_TYPE_IPv4 /* hack needed for jumbo frames */ +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethernet.h'; + define-mem-desc-line = '41'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'ethernet_8h_1af87cccd4396539ae2fd0000a61907e92'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'ETHER_TYPE_ECPRI'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +0xAEFE +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethernet.h'; + define-mem-desc-line = '42'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'ethernet_8h_1a9603401a9e933e2fd95f0a3a32c78c8a'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'ETHER_TYPE_SYNC'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +0xBEFE +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethernet.h'; + define-mem-desc-line = '43'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'ethernet_8h_1a12f018df6b9efaa5217f341d0d56e66f'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'ETHER_TYPE_START_TX'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +0xCEFE +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethernet.h'; + define-mem-desc-line = '44'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'ethernet_8h_1ae543d743ada71b167a5cbd813b15fa7f'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'NUM_MBUFS'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +65536 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethernet.h'; + define-mem-desc-line = '46'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'ethernet_8h_1aff7b5c03d15eefed7ec8ba88836914e6'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'MBUF_CACHE'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +256 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethernet.h'; + define-mem-desc-line = '47'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'ethernet_8h_1ae9d0e06c9bf8c1de60edfed757593782'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'MBUF_POOL_ELM_SMALL'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +1500 /* regular ethernet MTU, most compatible */ +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethernet.h'; + define-mem-desc-line = '49'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'ethernet_8h_1aabc097abe969aa80654d34ee7f15109c'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'MBUF_POOL_ELEMENT'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +MAX_RX_LEN +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethernet.h'; + define-mem-desc-line = '50'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'ethernet_8h_1af93d1ffa527a8d74a873d67174d006e1'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'MAX_RX_LEN'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +9600 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethernet.h'; + define-mem-desc-line = '52'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'ethernet_8h_1a3ecef14a68660bf7e2c7007097e1a42d'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'MAX_TX_LEN'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +(MAX_RX_LEN - 14) /* headroom for rx driver */ +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethernet.h'; + define-mem-desc-line = '53'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'ethernet_8h_1a87f68e96fb938eddc39ad1f19d923a96'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'MAX_DATA_SIZE'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +(MAX_TX_LEN - sizeof(struct ether_hdr) - \ + sizeof(struct ethdi_hdr) - sizeof(struct burst_hdr)) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethernet.h'; + define-mem-desc-line = '54'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'ethernet_8h_1ae8104b3bc03b93180e06acb87f420243'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'MBUF_POOL_ELM_BIG'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +USHRT_MAX +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethernet.h'; + define-mem-desc-line = '58'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'ethernet_8h_1a72098506af8c2d5c500ec4f8e0a0e17f'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'NUM_MBUFS_BIG'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +64 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethernet.h'; + define-mem-desc-line = '59'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'ethernet_8h_1a831b296affed982065acb18ebb5dc492'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'DEFAULT_DUMP_LENGTH'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +96 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethernet.h'; + define-mem-desc-line = '61'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'ethernet_8h_1a3f004b0d653b6c6481513d0681771452'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'nlog'; + define-mem-param = { + define-mem-def-name = 'm'; + }; /* define-mem-def--param */ + define-mem-param = { + define-mem-def-name = '...'; + }; /* define-mem-def--param */ + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +__xran_delayed_msg("%s(): " m "\n", __FUNCTION__, ##__VA_ARGS__) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethernet.h'; + define-mem-desc-line = '138'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'ethernet_8h_1ac8604734982e77a172bf8acf88571f84'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'delayed_message'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +nlog /* this is the old alias for this function */ +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethernet.h'; + define-mem-desc-line = '139'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'ethernet_8h_1aa5cdbe485177843f5b1a2a2c584c0315'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'wlog'; + define-mem-param = { + define-mem-def-name = 'm'; + }; /* define-mem-def--param */ + define-mem-param = { + define-mem-def-name = '...'; + }; /* define-mem-def--param */ + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +nlog("WARNING: " m, ##__VA_ARGS__) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethernet.h'; + define-mem-desc-line = '140'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'ethernet_8h_1a0b63de3f9c61ad7ac89987bb44699200'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'elog'; + define-mem-param = { + define-mem-def-name = 'm'; + }; /* define-mem-def--param */ + define-mem-param = { + define-mem-def-name = '...'; + }; /* define-mem-def--param */ + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +nlog("ERROR: " m, ##__VA_ARGS__) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethernet.h'; + define-mem-desc-line = '141'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'ethernet_8h_1a52fb3711338fc1b5acbbfb64ad3a2c62'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'dlog'; + define-mem-param = { + define-mem-def-name = 'm'; + }; /* define-mem-def--param */ + define-mem-param = { + define-mem-def-name = '...'; + }; /* define-mem-def--param */ + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethernet.h'; + define-mem-desc-line = '145'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'ethernet_8h_1ae9d2374bac7995a342bcf6ffdbe9f4a0'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'PANIC_ON'; + define-mem-param = { + define-mem-def-name = 'x'; + }; /* define-mem-def--param */ + define-mem-param = { + define-mem-def-name = 'm'; + }; /* define-mem-def--param */ + define-mem-param = { + define-mem-def-name = '...'; + }; /* define-mem-def--param */ + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +do { if (unlikely(x)) \ + rte_panic("%s: " m "\n", #x, ##__VA_ARGS__); } while (0) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethernet.h'; + define-mem-desc-line = '148'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + }; + enum = { + enum-member = { + enum-mem-kind = 'enum'; + enum-mem-id = 'ethernet_8h_1afc285891d94145229942219cffd91c4c'; + enum-mem-virt = normal; + enum-mem-prot = public; + enum-mem-name = 'pkt_type'; + enum-mem-enum = { enum-name = PKT_ZERO; }; + enum-mem-enum = { enum-name = PKT_EMPTY; }; + enum-mem-enum = { enum-name = PKT_DISCOVER_REQUEST; }; + enum-mem-enum = { enum-name = PKT_PING; }; + enum-mem-enum = { enum-name = PKT_PONG; }; + enum-mem-enum = { enum-name = PKT_DISCOVER_REPLY; }; + enum-mem-enum = { enum-name = PKT_LTE_DATA; }; + enum-mem-enum = { enum-name = PKT_LTE_CONTROL; }; + enum-mem-enum = { enum-name = PKT_BURST; }; + enum-mem-enum = { enum-name = PKT_DATATEST; }; + enum-mem-enum = { enum-name = PKT_ADD_ETHDEV; }; + enum-mem-enum = { enum-name = PKT_SYNC_START; }; + enum-mem-enum = { enum-name = PKT_LAST; }; + enum-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethernet.h'; + enum-mem-desc-line = '72'; + enum-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + enum-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* enum-member */ + }; + func = { + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'ethernet_8h_1ae64119c0e95fd2355ab7c07b92d34615'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_init_mbuf_pool'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethernet.h'; + func-mem-desc-line = '120'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'ethernet_8c_1a8d83e3adb6c9e839b3b7259288f100ba'; + func-mem-ref-line = '70'; + func-mem-ref-name = '_eth_mbuf_pool'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'ethernet_8h_1ae543d743ada71b167a5cbd813b15fa7f'; + func-mem-ref-line = '46'; + func-mem-ref-name = 'NUM_MBUFS'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'ethernet_8h_1aff7b5c03d15eefed7ec8ba88836914e6'; + func-mem-ref-line = '47'; + func-mem-ref-name = 'MBUF_CACHE'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'ethernet_8h_1aabc097abe969aa80654d34ee7f15109c'; + func-mem-ref-line = '50'; + func-mem-ref-name = 'MBUF_POOL_ELEMENT'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'ethernet_8c_1a4454a38b3cf49dde846ab9b0e1a7ba56'; + func-mem-ref-line = '71'; + func-mem-ref-name = '_eth_mbuf_pool_inderect'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'ethernet_8c_1a0300893b39ba152362bc3096f082d4be'; + func-mem-ref-line = '72'; + func-mem-ref-name = '_eth_mbuf_pool_rx'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'ethernet_8c_1a3e5502cf11577af4893f3151eb221f75'; + func-mem-ref-line = '73'; + func-mem-ref-name = '_eth_mbuf_pool_small'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'ethernet_8h_1ae9d0e06c9bf8c1de60edfed757593782'; + func-mem-ref-line = '49'; + func-mem-ref-name = 'MBUF_POOL_ELM_SMALL'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'ethernet_8c_1ae3907201762de3de953eb5ea9de9229a'; + func-mem-ref-line = '74'; + func-mem-ref-name = '_eth_mbuf_pool_big'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'ethernet_8h_1a72098506af8c2d5c500ec4f8e0a0e17f'; + func-mem-ref-line = '59'; + func-mem-ref-name = 'NUM_MBUFS_BIG'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'ethernet_8h_1ae8104b3bc03b93180e06acb87f420243'; + func-mem-ref-line = '58'; + func-mem-ref-name = 'MBUF_POOL_ELM_BIG'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'ethernet_8c_1a9b3ca6fe25e72be5c4fd7a95f92d174f'; + func-mem-ref-line = '76'; + func-mem-ref-name = 'socket_direct_pool'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'ethernet_8c_1adb2e2732725779d167cb43cb9ecac924'; + func-mem-ref-line = '77'; + func-mem-ref-name = 'socket_indirect_pool'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'ethernet_8h_1a9928d7cd5a9d3885479a9c0ae27249ee'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_init_port'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'port'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct ether_addr * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'p_lls_cu_addr'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethernet.h'; + func-mem-desc-line = '122'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'ethernet_8h_1a703e079cb598d615c750d24ec7432617'; + func-mem-ref-line = '37'; + func-mem-ref-name = 'BURST_SIZE'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'ethernet_8h_1af93d1ffa527a8d74a873d67174d006e1'; + func-mem-ref-line = '52'; + func-mem-ref-name = 'MAX_RX_LEN'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'ethernet_8c_1a0300893b39ba152362bc3096f082d4be'; + func-mem-ref-line = '72'; + func-mem-ref-name = '_eth_mbuf_pool_rx'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'ethernet_8h_1a3f004b0d653b6c6481513d0681771452'; + func-mem-ref-line = '138'; + func-mem-ref-name = 'nlog'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'ethdi_8c_1aa9296c58dc24c63c4ee927db394a97d7'; + func-mem-ref-line = '114'; + func-mem-ref-name = 'ethertype'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'ethernet_8h_1ae9d2374bac7995a342bcf6ffdbe9f4a0'; + func-mem-ref-line = '148'; + func-mem-ref-name = 'PANIC_ON'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'ethernet_8h_1aedb12c4d673468ce4291b4e756a72b38'; + func-mem-ref-line = '40'; + func-mem-ref-name = 'FLEXRAN_UP_VLAN_TAG'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'ethernet_8h_1a52fb3711338fc1b5acbbfb64ad3a2c62'; + func-mem-ref-line = '145'; + func-mem-ref-name = 'dlog'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'ethernet_8h_1a0118652ad4c1f706fd9b626221530738'; + func-mem-ref-line = '41'; + func-mem-ref-name = 'ETHER_TYPE_ETHDI'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'ethernet_8h_1a0b63de3f9c61ad7ac89987bb44699200'; + func-mem-ref-line = '141'; + func-mem-ref-name = 'elog'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'ethernet_8h_1aa3e9cefbde42d6864805b4ba2a8f4c86'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_add_eth_hdr_vlan'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct ether_addr * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'dst'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'ethertype'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mbuf * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'mb'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'vlan_tci'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethernet.h'; + func-mem-desc-line = '124'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'ethernet_8h_1ae9d2374bac7995a342bcf6ffdbe9f4a0'; + func-mem-ref-line = '148'; + func-mem-ref-name = 'PANIC_ON'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'ethernet_8h_1a3f004b0d653b6c6481513d0681771452'; + func-mem-ref-line = '138'; + func-mem-ref-name = 'nlog'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'ethernet_8h_1a52fb3711338fc1b5acbbfb64ad3a2c62'; + func-mem-ref-line = '145'; + func-mem-ref-name = 'dlog'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'ethernet_8h_1aee422b7193c84ae1fa4d6708a4bc577b'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = '__xran_delayed_msg'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const char * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'fmt'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +... +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethernet.h'; + func-mem-desc-line = '137'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'ethernet_8c_1a0ff6d080449124d52d868d9ce2ffe871'; + func-mem-ref-line = '94'; + func-mem-ref-name = 'RINGSIZE'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'ethernet_8h_1a874ef2a305d442c7cdbc3c212481e6b9'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +static int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_enqueue_mbuf'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mbuf * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'mb'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_ring * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'r'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethernet.h'; + func-mem-desc-line = '152'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + }; + var = { + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'ethernet_8h_1a8d83e3adb6c9e839b3b7259288f100ba'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mempool * +_EnD_oF_dEf_TeXt_; + var-mem-name = '_eth_mbuf_pool'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethernet.h'; + var-mem-desc-line = '63'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-referenceby = { + var-mem-ref-id = 'ethdi_8c_1a77f0a4b49dc21be816aefa3066debfa7'; + var-mem-ref-line = '77'; + var-mem-ref-name = 'xran_ethdi_mbuf_alloc'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'ethernet_8c_1ae64119c0e95fd2355ab7c07b92d34615'; + var-mem-ref-line = '185'; + var-mem-ref-name = 'xran_init_mbuf_pool'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'prach__functional_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + var-mem-ref-line = '92'; + var-mem-ref-name = 'PrachCheck::SetUp'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'prach__performance_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + var-mem-ref-line = '91'; + var-mem-ref-name = 'PrachPerf::SetUp'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'prach__performance_8cc_1a540e426541deb753f7c69d8df5d5b090'; + var-mem-ref-line = '172'; + var-mem-ref-name = 'performance_cp'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'u__plane__functional_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + var-mem-ref-line = '37'; + var-mem-ref-name = 'U_planeCheck::SetUp'; + }; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'ethernet_8h_1a3e5502cf11577af4893f3151eb221f75'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mempool * +_EnD_oF_dEf_TeXt_; + var-mem-name = '_eth_mbuf_pool_small'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethernet.h'; + var-mem-desc-line = '64'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-referenceby = { + var-mem-ref-id = 'ethernet_8c_1ae64119c0e95fd2355ab7c07b92d34615'; + var-mem-ref-line = '185'; + var-mem-ref-name = 'xran_init_mbuf_pool'; + }; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'ethernet_8h_1ae3907201762de3de953eb5ea9de9229a'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mempool * +_EnD_oF_dEf_TeXt_; + var-mem-name = '_eth_mbuf_pool_big'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethernet.h'; + var-mem-desc-line = '65'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-referenceby = { + var-mem-ref-id = 'ethernet_8c_1ae64119c0e95fd2355ab7c07b92d34615'; + var-mem-ref-line = '185'; + var-mem-ref-name = 'xran_init_mbuf_pool'; + }; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'ethernet_8h_1a9b3ca6fe25e72be5c4fd7a95f92d174f'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mempool * +_EnD_oF_dEf_TeXt_; + var-mem-name = 'socket_direct_pool'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethernet.h'; + var-mem-desc-line = '66'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-referenceby = { + var-mem-ref-id = 'ethernet_8c_1ae64119c0e95fd2355ab7c07b92d34615'; + var-mem-ref-line = '185'; + var-mem-ref-name = 'xran_init_mbuf_pool'; + }; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'ethernet_8h_1adb2e2732725779d167cb43cb9ecac924'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mempool * +_EnD_oF_dEf_TeXt_; + var-mem-name = 'socket_indirect_pool'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethernet.h'; + var-mem-desc-line = '67'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-referenceby = { + var-mem-ref-id = 'ethernet_8c_1ae64119c0e95fd2355ab7c07b92d34615'; + var-mem-ref-line = '185'; + var-mem-ref-name = 'xran_init_mbuf_pool'; + }; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'ethernet_8h_1a797745480e289b4940e09d53095eaee4'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +static char *const +_EnD_oF_dEf_TeXt_; + var-mem-name = 'xran_pkt_descriptions'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += { + "ZERO", + "empty packet", + "discovery request packet", + "ping packet", + "pong packet", + "discovery reply packet", + "LTE data packet", + "LTE control packet", + "BURST packet", + "DATATEST packet", + "Add ethernet port command packet", + "SYNC-START packet", + "LAST packet", +} +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethernet.h'; + var-mem-desc-line = '89'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + }; + file-full-name = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet/ethernet.h'; + file-first-line = '1'; + file-briefdesc = <<_EnD_oF_dEf_TeXt_ +This file has all definitions for the Ethernet Data Interface Layer. +_EnD_oF_dEf_TeXt_; + file-documentation = <<_EnD_oF_dEf_TeXt_ +@author Intel Corporation +_EnD_oF_dEf_TeXt_; +}; /* file */ +file = { + file-id = 'gen__test_8m'; + file-name = 'gen_test.m'; + func = { + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'gen__test_8m_1abee116c541345c5756870213b23b01c4'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +< COPYRIGHT_TAG > This script was tested with GNU version or +_EnD_oF_dEf_TeXt_; + func-mem-name = 'Matlab'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +R2017a +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/gen_test.m'; + func-mem-desc-line = '7'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'gen__test_8m_1ae7c338f9b485676bfc0ee154384d8676'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-name = 'switch'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +bw +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/gen_test.m'; + func-mem-desc-line = '94'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'xran__compression_8cpp_1aa027200fc051c80b515ee8aeadf44a0e'; + func-mem-ref-line = '783'; + func-mem-ref-name = 'xranlib_compress_avx512_bfw'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'gen__test_8m_1a7a889c8364428876f88ddaf055df5c82'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +otherwise +_EnD_oF_dEf_TeXt_; + func-mem-name = 'disp'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +'Unknown BW &&mu' +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-initializer = <<_EnD_oF_dEf_TeXt_ +==0 + disp('Incorrect Numerology and BW combination.') + return + end + + bw + numRBs + nSlots + + %use file as input + %ifft_in = load('ifft_in.txt') + + %gen IQs + ifft_in = [[1:1:(numRBs*12)]', [1:1:(numRBs*12)]'] +_EnD_oF_dEf_TeXt_; + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/gen_test.m'; + func-mem-desc-line = '122'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'gen__test_8m_1a00ebf5acd6f00adefc3a19d5e587b58f'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-name = 'for'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +i +_EnD_oF_dEf_TeXt_; + func-mem-param-defval = <<_EnD_oF_dEf_TeXt_ +1:1:nSlots *14-1 +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/gen_test.m'; + func-mem-desc-line = '160'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'gen__test_8m_1ace3ce36f6d9d10aecbbd9f8002551a01'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-name = 'disp'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +file_name +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/gen_test.m'; + func-mem-desc-line = '170'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'gen__test_8m_1a8e50d67d4be6daacbf6522b5950a6a4d'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-name = 'fwrite'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +fileID +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +antX_16 +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +'int16' +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/gen_test.m'; + func-mem-desc-line = '172'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'common_8c_1acd37223937d89e77a1ccbdc6e94b38cc'; + func-mem-ref-line = '550'; + func-mem-ref-name = 'sys_save_buf_to_file'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'gen__test_8m_1a14e2cbac46a5d611bf112b1f4beb7021'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-name = 'fclose'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +fileID +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/gen_test.m'; + func-mem-desc-line = '173'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'common_8c_1acd37223937d89e77a1ccbdc6e94b38cc'; + func-mem-ref-line = '550'; + func-mem-ref-name = 'sys_save_buf_to_file'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'common_8c_1a8f27f0a8b6843f5e32ecbce83d487262'; + func-mem-ref-line = '584'; + func-mem-ref-name = 'sys_load_file_to_buff'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'common_8c_1ab022cdd736a497eb5cfa7d5dcab0634c'; + func-mem-ref-line = '635'; + func-mem-ref-name = 'sys_save_buf_to_file_txt'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'config_8c_1add16264aa9472e4e90d1a77e086c7f93'; + func-mem-ref-line = '497'; + func-mem-ref-name = 'parseConfigFile'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'gen__test_8m_1aa0c2a36f9d65a1ca58ca9801dd59e90f'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +end if bfw_gen +_EnD_oF_dEf_TeXt_; + func-mem-name = 'disp'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +'Generate BF Weights per RB' +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/gen_test.m'; + func-mem-desc-line = '177'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'gen__test_8m_1a4253e838c39515646b8f3ff6b9164f6b'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-name = 'imag'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +(W_dl(:, ant).') +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/gen_test.m'; + func-mem-desc-line = '202'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'gen__test_8m_1af3108abdfc7dbfa64896900ace74b015'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +reuse channel for all symbols +_EnD_oF_dEf_TeXt_; + func-mem-name = 'for'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +slot_idx +_EnD_oF_dEf_TeXt_; + func-mem-param-defval = <<_EnD_oF_dEf_TeXt_ +1:1:nSlots *14 +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-initializer = <<_EnD_oF_dEf_TeXt_ += [bfw_all_slots, bfw_per_sym] +_EnD_oF_dEf_TeXt_; + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/gen_test.m'; + func-mem-desc-line = '207'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'gen__test_8m_1af10557aad79e2c38cd5401912a8d2420'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-name = 'imag'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +(W_ul(:, ant).') +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/gen_test.m'; + func-mem-desc-line = '225'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + }; + var = { + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'gen__test_8m_1a92f802cdcc90c07a0da79cebfdb7474e'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +< COPYRIGHT_TAG > This script was tested with GNU +_EnD_oF_dEf_TeXt_; + var-mem-name = 'Octave'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/gen_test.m'; + var-mem-desc-line = '7'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'gen__test_8m_1a4603254d9990f7140c024d51302d1a8f'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +clear +_EnD_oF_dEf_TeXt_; + var-mem-name = 'all'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/gen_test.m'; + var-mem-desc-line = '10'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'gen__test_8m_1a2b65d42365b9e14ae1c181cb883d93af'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +MHz MHz MHz MHz MHz MHz MHz MHz MHz +_EnD_oF_dEf_TeXt_; + var-mem-name = 'nNumRbsPerSymF1'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += ... +[ + % 5MHz 10MHz 15MHz 20 MHz 25 MHz 30 MHz 40 MHz 50MHz 60 MHz 70 MHz 80 MHz 90 MHz 100 MHz + [25, 52, 79, 106, 133, 160, 216, 270, 0, 0, 0, 0, 0] % Numerology 0 (15KHz) + [11, 24, 38, 51, 65, 78, 106, 133, 162, 0, 217, 245, 273] % Numerology 1 (30KHz) + [0, 11, 18, 24, 31, 38, 51, 65, 79, 0, 107, 121, 135] % Numerology 2 (60KHz) +] +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/gen_test.m'; + var-mem-desc-line = '13'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'gen__test_8m_1a220c0367b38ca34375ea822ff6aadfd9'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-name = 'nNumRbsPerSymF2'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += ... +[ + % 50Mhz 100MHz 200MHz 400MHz + [66, 132, 264, 0] % Numerology 2 (60KHz) + [32, 66, 132, 264] % Numerology 3 (120KHz) +] +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/gen_test.m'; + var-mem-desc-line = '21'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'gen__test_8m_1afb68cbaf85c88c8e862646b7be42f113'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +total number of tests +_EnD_oF_dEf_TeXt_; + var-mem-name = 'tests_total'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += 6 +sub6_all = ... + [ + true, true, true, true, false, true, + ] + +mu_all = ... + [ + 0, 0, 0, 1, 3, 1 + ] + +bw_all = ... + [ + 5, 10, 20, 100, 100, 100 + ] + +ant_num_all = ... + [ + 4, 4, 4, 4, 4, 8 + ] + +bfw_gen_all = ... + [ + false, false, false, false, false, true + ] + +trx_all = ... + [ + 32, 32, 32, 32, 32, 32 + ] +path_to_usecase_all = ... + [ + "./usecase/mu0_5mhz/" +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/gen_test.m'; + var-mem-desc-line = '29'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'gen__test_8m_1ae121fd9f9063d48369ef04627e63f97b'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +usecase +_EnD_oF_dEf_TeXt_; + var-mem-name = 'mu0_10mhz'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/gen_test.m'; + var-mem-desc-line = '62'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'gen__test_8m_1a65690a3451484027a8021fc3e26a8354'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +usecase +_EnD_oF_dEf_TeXt_; + var-mem-name = 'mu0_20mhz'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/gen_test.m'; + var-mem-desc-line = '63'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'gen__test_8m_1aad3519412e0d30a8d6c4f827f1c0aaed'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +usecase +_EnD_oF_dEf_TeXt_; + var-mem-name = 'mu1_100mhz'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/gen_test.m'; + var-mem-desc-line = '64'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'gen__test_8m_1a06fda90da02d48d546f49b1faec2239a'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +usecase +_EnD_oF_dEf_TeXt_; + var-mem-name = 'mu3_100mhz'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/gen_test.m'; + var-mem-desc-line = '65'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'gen__test_8m_1ae622c3d8e02784c9a30a1734452e9c9c'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-name = 'path_to_usecase_all'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += cellstr(path_to_usecase_all) + +nSlots_all = ... + [ + 40,40,40,40,40,10 + ] + +%select mu and bw to generate test files +for test_num =(1:1:tests_total) + test_num + sub6=sub6_all(test_num) %false + mu=mu_all(test_num) % 0 +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/gen_test.m'; + var-mem-desc-line = '69'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'gen__test_8m_1aec71d24b9775c25745c66105ac9371f9'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +or +_EnD_oF_dEf_TeXt_; + var-mem-name = 'bw'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ +=bw_all(test_num) %5 +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/gen_test.m'; + var-mem-desc-line = '81'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'gen__test_8m_1a549e3fface5e83cef0eb316a8b81a7f7'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +or MHz +_EnD_oF_dEf_TeXt_; + var-mem-name = 'ant_num'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += ant_num_all(test_num) + bfw_gen=bfw_gen_all(test_num) + trx = trx_all(test_num) + size(path_to_usecase_all) + path_to_usecase = path_to_usecase_all(test_num) + + nSlots=nSlots_all(test_num) % any 40 and 160 + + if sub6 + disp('Sub6') + if mu < 3 + nNumerology = mu+1 +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/gen_test.m'; + var-mem-desc-line = '82'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'gen__test_8m_1a887ee7a54247d19e5e93955a7b9663ae'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-name = 'numRBs'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += nNumRbsPerSymF1(nNumerology,0+1) +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/gen_test.m'; + var-mem-desc-line = '96'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-referenceby = { + var-mem-ref-id = 'common_8c_1abd62743e637f8bee2b0d3b1e2b4ecaac'; + var-mem-ref-line = '213'; + var-mem-ref-name = 'app_xran_get_num_rbs'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'compander__functional_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + var-mem-ref-line = '113'; + var-mem-ref-name = 'BfpPerfEx::SetUp'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'compander__functional_8cc_1a45d64e11a1ecc040577b7f22b27dde51'; + var-mem-ref-line = '788'; + var-mem-ref-name = 'TEST_P'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'xran__compression_8cpp_1a0651de68e87558106615163f96b3e599'; + var-mem-ref-line = '729'; + var-mem-ref-name = 'xranlib_compress_avx512'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'xran__compression_8cpp_1a2bd6ebeefb6ca9674598d443e697918c'; + var-mem-ref-line = '834'; + var-mem-ref-name = 'xranlib_decompress_avx512'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'xran__frame__struct_8c_1adef530f5f3ebc94606c692d8784ddaf2'; + var-mem-ref-line = '149'; + var-mem-ref-name = 'xran_fs_get_num_rbs'; + }; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'gen__test_8m_1af5cbf8934e1bd30425ac3ccc65d2bfc7'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-name = 'case'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ +{10} + numRBs = nNumRbsPerSymF1(nNumerology,1+1) +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/gen_test.m'; + var-mem-desc-line = '97'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'gen__test_8m_1aba0850eda7aea420ce9c9a1d760451ad'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-name = 'ant_c'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += ifft_in +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/gen_test.m'; + var-mem-desc-line = '159'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'gen__test_8m_1a5ace8229850f860d97894597163148f6'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-name = 'ifft_in_1'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/gen_test.m'; + var-mem-desc-line = '162'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'gen__test_8m_1a38d2cdf58cc777c61b71dd2785d139af'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +end write files for IQ samples for +_EnD_oF_dEf_TeXt_; + var-mem-name = 'ant'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += 1:1:ant_num + antX=ant_c*(ant*10) +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/gen_test.m'; + var-mem-desc-line = '166'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-referenceby = { + var-mem-ref-id = 'xran__cp__api_8c_1a3ca98b2a49501149a7b5baf9174897d8'; + var-mem-ref-line = '66'; + var-mem-ref-name = 'xran_cp_init_sectiondb'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'xran__main_8c_1a54de92e0ced826beeb759580d170562b'; + var-mem-ref-line = '278'; + var-mem-ref-name = 'xran_init_sectionid'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'xran__main_8c_1a7a3c06a23d41de0038747348be9bb9da'; + var-mem-ref-line = '400'; + var-mem-ref-name = 'xran_init_seqid'; + }; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'gen__test_8m_1a44ac39f65dd00d0fa2f62a0175e23965'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-name = 'antX_16'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ +=int16(antX.') +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/gen_test.m'; + var-mem-desc-line = '168'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'gen__test_8m_1a58ed1f4fc05e40edea694d9f889da543'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-name = 'file_name'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += strcat(path_to_usecase,"ant_", num2str(ant-1),".bin") +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/gen_test.m'; + var-mem-desc-line = '169'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'gen__test_8m_1aa64fdf4c18d8172f6bdc412e7d2013e1'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +end if bfw_gen random channel matrix for single sym on syngle RB +_EnD_oF_dEf_TeXt_; + var-mem-name = 'H'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += (rand(trx,ant_num) + 1j*rand(trx,ant_num)) +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/gen_test.m'; + var-mem-desc-line = '183'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'gen__test_8m_1a31c813b96f83786bc7433949e002bf03'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +calculate weights +_EnD_oF_dEf_TeXt_; + var-mem-name = 'W_dl'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += H^*(H^TH^*)^-1 + % W_ul = ((H^H*H)^-1)H^H + % where H^* - conjugate + % H^T - transpose + % H^H - conjugate transpose + W_dl = conj(H)*(transpose(H)*conj(H))^-1 +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/gen_test.m'; + var-mem-desc-line = '186'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'gen__test_8m_1aeef19cc1066ffe1cdd33b503ed85c1ea'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +weights for DL +_EnD_oF_dEf_TeXt_; + var-mem-name = 'W_ul'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += ((ctranspose(H)*H)^-1)*ctranspose(H) +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/gen_test.m'; + var-mem-desc-line = '192'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'gen__test_8m_1ac6b31045f94257d82fbbcf64a170a093'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +adjust channel per each RB for +_EnD_oF_dEf_TeXt_; + var-mem-name = 'iPrb'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += 1:1:numRBs + bfw_per_sym = [ bfw_per_sym, [real((W_dl(:, ant).'))*iPrb +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/gen_test.m'; + var-mem-desc-line = '201'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-referenceby = { + var-mem-ref-id = 'xran__lib__wrap_8hpp_1a200da4e2209141f12cafef2380cb801a'; + var-mem-ref-line = '740'; + var-mem-ref-name = 'xranLibWraper::Init'; + }; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'gen__test_8m_1a89fcb37334f8e931bbfbb3b1649a4c34'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +end +_EnD_oF_dEf_TeXt_; + var-mem-name = 'bfw_all_slots'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += [] +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/gen_test.m'; + var-mem-desc-line = '205'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'gen__test_8m_1af743a8da9d7938005149c84bac57d261'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +end +_EnD_oF_dEf_TeXt_; + var-mem-name = 'bfw_all_slots_int'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += int16(bfw_all_slots./max(max(abs((bfw_all_slots.')))).*2^15) +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/gen_test.m'; + var-mem-desc-line = '211'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'gen__test_8m_1ac96f991c58ca69c2aa63e6814c3252f8'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +UL +_EnD_oF_dEf_TeXt_; + var-mem-name = 'bfw_per_sym'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += [] +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/gen_test.m'; + var-mem-desc-line = '222'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + }; + file-full-name = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/gen_test.m'; + file-first-line = '1'; + file-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + file-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; +}; /* file */ +file = { + file-id = 'init__sys__functional_8cc'; + file-name = 'init_sys_functional.cc'; + define = { + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'init__sys__functional_8cc_1a0b69cdc6288c9c56f1054c582852b613'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'NUM_OF_SUBFRAME_PER_FRAME'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +10 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/init_sys_functional.cc'; + define-mem-desc-line = '228'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + }; + func = { + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'init__sys__functional_8cc_1af2d879cc67de3a1216ff63cbcea4183d'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'physide_sym_call_back'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'param'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/init_sys_functional.cc'; + func-mem-desc-line = '39'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'init__sys__functional_8cc_1a7b1dc2a3c7a3d8e2eb7f2616417feb75'; + func-mem-ref-line = '268'; + func-mem-ref-name = 'TEST_P'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'init__sys__functional_8cc_1aa8882d42d07fbd9750da4db4395b438c'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'physide_dl_tti_call_back'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'param'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/init_sys_functional.cc'; + func-mem-desc-line = '45'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'init__sys__functional_8cc_1a74a4819defc7dbd1cfa7e793456be743'; + func-mem-ref-line = '244'; + func-mem-ref-name = 'TEST_P'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'init__sys__functional_8cc_1a52c968a559117b66a05591f958da75c2'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'physide_ul_half_slot_call_back'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'param'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/init_sys_functional.cc'; + func-mem-desc-line = '51'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'init__sys__functional_8cc_1a74a4819defc7dbd1cfa7e793456be743'; + func-mem-ref-line = '244'; + func-mem-ref-name = 'TEST_P'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'init__sys__functional_8cc_1a874ba95e7c465e83ccc26ab623eec60c'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'physide_ul_full_slot_call_back'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'param'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/init_sys_functional.cc'; + func-mem-desc-line = '57'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'init__sys__functional_8cc_1a74a4819defc7dbd1cfa7e793456be743'; + func-mem-ref-line = '244'; + func-mem-ref-name = 'TEST_P'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'init__sys__functional_8cc_1ac6a3121934d1301a33197c857bd61391'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_fh_rx_callback'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pCallbackTag'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +xran_status_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'status'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/init_sys_functional.cc'; + func-mem-desc-line = '63'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'init__sys__functional_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + func-mem-ref-line = '79'; + func-mem-ref-name = 'Init_Sys_Check::SetUp'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'init__sys__functional_8cc_1ac2f03036711a42868a78783b735097e5'; + func-mem-ref-line = '120'; + func-mem-ref-name = 'TEST_P'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'init__sys__functional_8cc_1a2f5cc4dc3c9d4a042cab8024cb7278c3'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_fh_rx_prach_callback'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pCallbackTag'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +xran_status_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'status'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/init_sys_functional.cc'; + func-mem-desc-line = '69'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'init__sys__functional_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + func-mem-ref-line = '79'; + func-mem-ref-name = 'Init_Sys_Check::SetUp'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'init__sys__functional_8cc_1ac2f03036711a42868a78783b735097e5'; + func-mem-ref-line = '120'; + func-mem-ref-name = 'TEST_P'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'init__sys__functional_8cc_1a9796d6da0db5312f3ddffc3c43038daf'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-name = 'TEST_P'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +Init_Sys_Check +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +Test_Open_Close +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/init_sys_functional.cc'; + func-mem-desc-line = '112'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1aa09e72e94d2a1d891e86f4c09b0f8b21'; + func-mem-ref-line = '223'; + func-mem-ref-name = 'xran_dev_get_ctx'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a1acdb894b98fd0ddf9e5542b50acfc50'; + func-mem-ref-line = '213'; + func-mem-ref-name = 'xran_device_ctx::enableCP'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a0ac55d6b8988083425a147f343c34455'; + func-mem-ref-line = '256'; + func-mem-ref-name = 'xran_device_ctx::xran2phy_mem_ready'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'init__sys__functional_8cc_1ac2f03036711a42868a78783b735097e5'; + func-mem-ref-line = '120'; + func-mem-ref-name = 'TEST_P'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'init__sys__functional_8cc_1ac2f03036711a42868a78783b735097e5'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-name = 'TEST_P'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +Init_Sys_Check +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +Test_xran_mm_init +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/init_sys_functional.cc'; + func-mem-desc-line = '120'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1a999189549fd6b524b733ddd61f1f9962'; + func-mem-ref-line = '2447'; + func-mem-ref-name = 'xran_mm_init'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xranlib__unit__test__main_8cc_1a1b2100f9f398243bb4bdbf0db003b9a3'; + func-mem-ref-line = '44'; + func-mem-ref-name = 'xranlib'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__lib__wrap_8hpp_1a2ad94e2d18c69b423d5402d7777832f1'; + func-mem-ref-line = '1109'; + func-mem-ref-name = 'xranLibWraper::get_xranhandle'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'sample-app_8c_1ad5b1e2ec82b937000bd1fe89acb5384c'; + func-mem-ref-line = '51'; + func-mem-ref-name = 'SW_FPGA_FH_TOTAL_BUFFER_LEN'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'sample-app_8c_1ae9c34194d5ec7c9c24b680085991306c'; + func-mem-ref-line = '50'; + func-mem-ref-name = 'SW_FPGA_SEGMENT_BUFFER_LEN'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'init__sys__functional_8cc_1a9796d6da0db5312f3ddffc3c43038daf'; + func-mem-ref-line = '112'; + func-mem-ref-name = 'TEST_P'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'sample-app_8c_1a9b25e7e7b484cb2d903c20c4791a52ac'; + func-mem-ref-line = '73'; + func-mem-ref-name = 'nSW_ToFpga_FTH_TxBufferLen'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a34dbe5e515cc78b4ce26fa287e6c1edc'; + func-mem-ref-line = '110'; + func-mem-ref-name = 'XRAN_MAX_SECTOR_NR'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a35fa05e7523928c0c86cbcf835c12dc5'; + func-mem-ref-line = '111'; + func-mem-ref-name = 'XRAN_MAX_ANTENNA_NR'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1af0963ba32cc8ecd280afd2e474eb426a'; + func-mem-ref-line = '109'; + func-mem-ref-name = 'XRAN_N_FE_BUF_LEN'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'init__sys__functional_8cc_1a0d19e9e74d94b9c2fb5734392bd7a590'; + func-mem-ref-line = '109'; + func-mem-ref-name = 'Init_Sys_Check::nInstanceNum'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__lib__wrap_8hpp_1aeeef9211b4ee7d22934db64125b538dd'; + func-mem-ref-line = '1120'; + func-mem-ref-name = 'xranLibWraper::get_num_cc'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1ac1e23b437693cb93f1ddd5a74f97cab4'; + func-mem-ref-line = '108'; + func-mem-ref-name = 'XRAN_PORTS_NUM'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1adf5ead6a9f90b5d524e8012521d64bb5'; + func-mem-ref-line = '2408'; + func-mem-ref-name = 'xran_sector_get_instances'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'init__sys__functional_8cc_1a492c471226877c87f771b9f4fe13a6ab'; + func-mem-ref-line = '107'; + func-mem-ref-name = 'Init_Sys_Check::nInstanceHandle'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1a39a9f7b5d01979eb1f8d806d6b9c50fe'; + func-mem-ref-line = '2454'; + func-mem-ref-name = 'xran_bm_init'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'init__sys__functional_8cc_1afbefaeac48b99d44a1930b66c9e4e21f'; + func-mem-ref-line = '108'; + func-mem-ref-name = 'Init_Sys_Check::nBufPoolIndex'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a87d92ec177ed9c388685a91051f66205'; + func-mem-ref-line = '122'; + func-mem-ref-name = 'XRAN_NUM_OF_SYMBOL_PER_SLOT'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1ae79ca138dc77d69ef692886be4e5da81'; + func-mem-ref-line = '2499'; + func-mem-ref-name = 'xran_bm_allocate_buffer'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1a0f904fe772b55bcfc449759a23063aa3'; + func-mem-ref-line = '2541'; + func-mem-ref-name = 'xran_bm_free_buffer'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'init__sys__functional_8cc_1aeb7832eb5f4721f4a281feaacd1bb466'; + func-mem-ref-line = '94'; + func-mem-ref-name = 'Init_Sys_Check::sFrontHaulTxBbuIoBufCtrl'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'sample-app_8c_1ab79185e465507117d7b13fd30ec49f70'; + func-mem-ref-line = '129'; + func-mem-ref-name = 'BbuIoBufCtrlStruct::sBufferList'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'init__sys__functional_8cc_1a964fb75fa6395056fade4167354019f5'; + func-mem-ref-line = '95'; + func-mem-ref-name = 'Init_Sys_Check::sFrontHaulTxPrbMapBbuIoBufCtrl'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'init__sys__functional_8cc_1af3ad0b6136919aabcdbac46b754aa7ed'; + func-mem-ref-line = '96'; + func-mem-ref-name = 'Init_Sys_Check::sFrontHaulRxBbuIoBufCtrl'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'init__sys__functional_8cc_1a3bfdc9ec9f4c738715460ddd03f0833f'; + func-mem-ref-line = '97'; + func-mem-ref-name = 'Init_Sys_Check::sFrontHaulRxPrbMapBbuIoBufCtrl'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'init__sys__functional_8cc_1a4bcca72021c589be2adf3647647a1232'; + func-mem-ref-line = '98'; + func-mem-ref-name = 'Init_Sys_Check::sFHPrachRxBbuIoBufCtrl'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1ac94e2474beef3b68521cfd391211b1be'; + func-mem-ref-line = '2551'; + func-mem-ref-name = 'xran_5g_fronthault_config'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'init__sys__functional_8cc_1ac6a3121934d1301a33197c857bd61391'; + func-mem-ref-line = '63'; + func-mem-ref-name = 'xran_fh_rx_callback'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1ab204e979de14c21d34e9b88c6c700d25'; + func-mem-ref-line = '2636'; + func-mem-ref-name = 'xran_5g_prach_req'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'init__sys__functional_8cc_1a2f5cc4dc3c9d4a042cab8024cb7278c3'; + func-mem-ref-line = '69'; + func-mem-ref-name = 'xran_fh_rx_prach_callback'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'init__sys__functional_8cc_1a8e9607426b34de712f7d450018d0dc05'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-name = 'TEST_P'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +Init_Sys_Check +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +Test_xran_get_common_counters +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/init_sys_functional.cc'; + func-mem-desc-line = '210'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1ac153c5a3e3f4f64ab0fafca6f593c380'; + func-mem-ref-line = '3074'; + func-mem-ref-name = 'xran_get_common_counters'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xranlib__unit__test__main_8cc_1a1b2100f9f398243bb4bdbf0db003b9a3'; + func-mem-ref-line = '44'; + func-mem-ref-name = 'xranlib'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__lib__wrap_8hpp_1a2ad94e2d18c69b423d5402d7777832f1'; + func-mem-ref-line = '1109'; + func-mem-ref-name = 'xranLibWraper::get_xranhandle'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a6094e9310d30333fffbdeec6da91007c'; + func-mem-ref-line = '530'; + func-mem-ref-name = 'xran_common_counters::Rx_on_time'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a1b07b459f4a9596d5c4a615d9e47fea2'; + func-mem-ref-line = '531'; + func-mem-ref-name = 'xran_common_counters::Rx_early'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a2c33ad6e68efd74811ca61eada4f52f2'; + func-mem-ref-line = '532'; + func-mem-ref-name = 'xran_common_counters::Rx_late'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1af07bbcc73027d046cf79aaeeaea95d28'; + func-mem-ref-line = '533'; + func-mem-ref-name = 'xran_common_counters::Rx_corrupt'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a98356b862ea13ddc58a1378a67c4bf8e'; + func-mem-ref-line = '534'; + func-mem-ref-name = 'xran_common_counters::Rx_pkt_dupl'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1ad863eb3e9dc4a977cce64405ec2780c7'; + func-mem-ref-line = '535'; + func-mem-ref-name = 'xran_common_counters::Total_msgs_rcvd'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'init__sys__functional_8cc_1a593270c79e8ce298caeb715272c65173'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-name = 'TEST_P'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +Init_Sys_Check +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +Test_xran_get_slot_idx +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/init_sys_functional.cc'; + func-mem-desc-line = '226'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1a2816fdf0ed3269e998720d01c2b6bf76'; + func-mem-ref-line = '2936'; + func-mem-ref-name = 'xran_get_slot_idx'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'init__sys__functional_8cc_1a74a4819defc7dbd1cfa7e793456be743'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-name = 'TEST_P'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +Init_Sys_Check +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +Test_xran_reg_physide_cb +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/init_sys_functional.cc'; + func-mem-desc-line = '244'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1aa09e72e94d2a1d891e86f4c09b0f8b21'; + func-mem-ref-line = '223'; + func-mem-ref-name = 'xran_dev_get_ctx'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1aa8354b56b0be4be47c44a8a5c38db86e'; + func-mem-ref-line = '2900'; + func-mem-ref-name = 'xran_reg_physide_cb'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xranlib__unit__test__main_8cc_1a1b2100f9f398243bb4bdbf0db003b9a3'; + func-mem-ref-line = '44'; + func-mem-ref-name = 'xranlib'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__lib__wrap_8hpp_1a2ad94e2d18c69b423d5402d7777832f1'; + func-mem-ref-line = '1109'; + func-mem-ref-name = 'xranLibWraper::get_xranhandle'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'init__sys__functional_8cc_1aa8882d42d07fbd9750da4db4395b438c'; + func-mem-ref-line = '45'; + func-mem-ref-name = 'physide_dl_tti_call_back'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a8eb67099ddcb1b5877a494edfd450d24ae2863e9abb188c74c5e36966396988e3'; + func-mem-ref-line = '221'; + func-mem-ref-name = 'XRAN_CB_TTI'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a88a1e1ec152b7daa669176e91660aead'; + func-mem-ref-line = '252'; + func-mem-ref-name = 'xran_device_ctx::ttiCb'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1ab85e177210025d9e720d2696965c5af4'; + func-mem-ref-line = '253'; + func-mem-ref-name = 'xran_device_ctx::TtiCbParam'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1abd4614a35f8f2cba7d7a671c9e545573'; + func-mem-ref-line = '254'; + func-mem-ref-name = 'xran_device_ctx::SkipTti'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'init__sys__functional_8cc_1a52c968a559117b66a05591f958da75c2'; + func-mem-ref-line = '51'; + func-mem-ref-name = 'physide_ul_half_slot_call_back'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a8eb67099ddcb1b5877a494edfd450d24a75d1b6240b461efda58c8e06e8e9f6d2'; + func-mem-ref-line = '222'; + func-mem-ref-name = 'XRAN_CB_HALF_SLOT_RX'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'init__sys__functional_8cc_1a874ba95e7c465e83ccc26ab623eec60c'; + func-mem-ref-line = '57'; + func-mem-ref-name = 'physide_ul_full_slot_call_back'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a8eb67099ddcb1b5877a494edfd450d24a1e3bbfc0078205779b22c99889f927af'; + func-mem-ref-line = '223'; + func-mem-ref-name = 'XRAN_CB_FULL_SLOT_RX'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'init__sys__functional_8cc_1a7b1dc2a3c7a3d8e2eb7f2616417feb75'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-name = 'TEST_P'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +Init_Sys_Check +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +Test_xran_reg_sym_cb +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/init_sys_functional.cc'; + func-mem-desc-line = '268'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1adfcabe4091a4782ecb9ca029314c99ca'; + func-mem-ref-line = '2888'; + func-mem-ref-name = 'xran_reg_sym_cb'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xranlib__unit__test__main_8cc_1a1b2100f9f398243bb4bdbf0db003b9a3'; + func-mem-ref-line = '44'; + func-mem-ref-name = 'xranlib'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__lib__wrap_8hpp_1a2ad94e2d18c69b423d5402d7777832f1'; + func-mem-ref-line = '1109'; + func-mem-ref-name = 'xranLibWraper::get_xranhandle'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'init__sys__functional_8cc_1af2d879cc67de3a1216ff63cbcea4183d'; + func-mem-ref-line = '39'; + func-mem-ref-name = 'physide_sym_call_back'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'init__sys__functional_8cc_1ae5f944f4eff8e2963b83b56f208a114d'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-name = 'TEST_P'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +Init_Sys_Check +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +Test_xran_mm_destroy +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/init_sys_functional.cc'; + func-mem-desc-line = '274'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1a4120602c15ddabfc3372e238d17f0414'; + func-mem-ref-line = '2877'; + func-mem-ref-name = 'xran_mm_destroy'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xranlib__unit__test__main_8cc_1a1b2100f9f398243bb4bdbf0db003b9a3'; + func-mem-ref-line = '44'; + func-mem-ref-name = 'xranlib'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__lib__wrap_8hpp_1a2ad94e2d18c69b423d5402d7777832f1'; + func-mem-ref-line = '1109'; + func-mem-ref-name = 'xranLibWraper::get_xranhandle'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'init__sys__functional_8cc_1a03935019c7cdf89f54e582fbaf9bff76'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-name = 'TEST_P'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +Init_Sys_Check +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +Test_xran_start_stop +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/init_sys_functional.cc'; + func-mem-desc-line = '280'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a2f600110ab5726a0f21375b7f24c0326a57a68dd3f4413f7cc255838c4442938c'; + func-mem-ref-line = '193'; + func-mem-ref-name = 'XRAN_STOPPED'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'ethdi_8c_1aef5f52e6a4f49171518a59382eb03df5'; + func-mem-ref-line = '75'; + func-mem-ref-name = 'xran_if_current_state'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xranlib__unit__test__main_8cc_1a1b2100f9f398243bb4bdbf0db003b9a3'; + func-mem-ref-line = '44'; + func-mem-ref-name = 'xranlib'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__lib__wrap_8hpp_1af9989f7ffd89540fc26371e24a29fefc'; + func-mem-ref-line = '990'; + func-mem-ref-name = 'xranLibWraper::Start'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a2f600110ab5726a0f21375b7f24c0326a35916b54fc6804c2f2dc1f5891f3047e'; + func-mem-ref-line = '192'; + func-mem-ref-name = 'XRAN_RUNNING'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__lib__wrap_8hpp_1af7c499a1fa8e52a104500d7d01c1a280'; + func-mem-ref-line = '998'; + func-mem-ref-name = 'xranLibWraper::Stop'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'common_8cpp_1a39bf4f7770751080f5b72046abfd01a5'; + func-mem-ref-line = '78'; + func-mem-ref-name = 'get_sequence'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'common_8hpp_1a6157ff083be863bba0a7804cd1788d96'; + func-mem-ref-line = '190'; + func-mem-ref-name = 'KernelTests::get_number_of_cases'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'init__sys__functional_8cc_1ab1c8965491e6ac59bfcb56b9fc182f1b'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-name = 'INSTANTIATE_TEST_CASE_P'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +UnitTest +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +Init_Sys_Check +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +testing::ValuesIn(get_sequence(Init_Sys_Check::get_number_of_cases("init_sys_functional"))) +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/init_sys_functional.cc'; + func-mem-desc-line = '291'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'init__sys__functional_8cc_1a03935019c7cdf89f54e582fbaf9bff76'; + func-mem-ref-line = '280'; + func-mem-ref-name = 'TEST_P'; + }; + }; /* func-member */ + }; + var = { + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'init__sys__functional_8cc_1a69b4bff6061152ff85770d725cced3cc'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +const std::string +_EnD_oF_dEf_TeXt_; + var-mem-name = 'module_name'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += "init_sys_functional" +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/init_sys_functional.cc'; + var-mem-desc-line = '35'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'init__sys__functional_8cc_1aef5f52e6a4f49171518a59382eb03df5'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +enum xran_if_state +_EnD_oF_dEf_TeXt_; + var-mem-name = 'xran_if_current_state'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/init_sys_functional.cc'; + var-mem-desc-line = '35'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-referenceby = { + var-mem-ref-id = 'init__sys__functional_8cc_1a03935019c7cdf89f54e582fbaf9bff76'; + var-mem-ref-line = '280'; + var-mem-ref-name = 'TEST_P'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'xran__main_8c_1a937105f52446cfcb951e43e1dc3c4d8b'; + var-mem-ref-line = '238'; + var-mem-ref-name = 'xran_get_if_state'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'xran__main_8c_1a5b8958fc5688ba856cba84038ee4b938'; + var-mem-ref-line = '711'; + var-mem-ref-name = 'xran_timer_arm'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'xran__main_8c_1a96de765800aa6de0788fc530cbc16825'; + var-mem-ref-line = '724'; + var-mem-ref-name = 'xran_timer_arm_ex'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'xran__main_8c_1a4ea0e9c036a1dc7605f53f1f862f4952'; + var-mem-ref-line = '2319'; + var-mem-ref-name = 'xran_init'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'xran__main_8c_1ad4852c0827600db95f9841e2f5f9f6f1'; + var-mem-ref-line = '2841'; + var-mem-ref-name = 'xran_start'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'xran__main_8c_1a8f2daee2fe90126f1f7c361b7760a7a3'; + var-mem-ref-line = '2852'; + var-mem-ref-name = 'xran_stop'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'xran__main_8c_1a2f8866c9d6536a56e4d8232b8c45808b'; + var-mem-ref-line = '2863'; + var-mem-ref-name = 'xran_close'; + }; + }; /* var-member */ + }; + file-full-name = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/init_sys_functional.cc'; + file-first-line = '1'; + file-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + file-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; +}; /* file */ +file = { + file-id = 'json_8hpp'; + file-name = 'json.hpp'; + define = { + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'json_8hpp_1a584fd8f49cd7f4ecf5baba15b5b53cdd'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'JSON_DEPRECATED'; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + define-mem-desc-line = '66'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'json_8hpp_1a6c274f6db2e65c1b66c7d41b06ad690f'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'JSON_THROW'; + define-mem-param = { + define-mem-def-name = 'exception'; + }; /* define-mem-def--param */ + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +std::abort() +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + define-mem-desc-line = '75'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'json_8hpp_1a985d3b82445302c57257f6432f261fe9'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'JSON_TRY'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +if(true) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + define-mem-desc-line = '76'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'json_8hpp_1a6954bec49ed2a2dfb938c1131c82740a'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'JSON_CATCH'; + define-mem-param = { + define-mem-def-name = 'exception'; + }; /* define-mem-def--param */ + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +if(false) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + define-mem-desc-line = '77'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'json_8hpp_1ac0c80a819c5b9029a9344b3841f1cfd7'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'NLOHMANN_JSON_HAS_HELPER'; + define-mem-param = { + define-mem-def-name = 'type'; + }; /* define-mem-def--param */ + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +template struct has_##type { \ + private: \ + template \ + static int detect(U &&); \ + static void detect(...); \ + public: \ + static constexpr bool value = \ + std::is_integral()))>::value; \ + } +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + define-mem-desc-line = '355'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Helper to determine whether there's a key_type for T. +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ +This helper is used to tell associative containers apart from other containers +such as sequence containers. For instance, std::map passes the test as it +contains a mapped_type, whereas std::vector fails the test. + +@sa http://stackoverflow.com/a/7728728/266378 +@since version 1.0.0, overworked in version 2.0.6 +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + }; + typedef = { + typedef-member = { + typedef-mem-kind = 'typedef'; + typedef-mem-id = 'namespacenlohmann_1_1detail_1a012819c9e8b5e04872a271f50f8b8196'; + typedef-mem-virt = normal; + typedef-mem-prot = public; + typedef-mem-type = <<_EnD_oF_dEf_TeXt_ +typename std::enable_if< B, T >::type +_EnD_oF_dEf_TeXt_; + typedef-mem-name = 'enable_if_t'; + typedef-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + typedef-mem-desc-line = '179'; + typedef-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + typedef-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* typedef-member */ + typedef-member = { + typedef-mem-kind = 'typedef'; + typedef-mem-id = 'namespacenlohmann_1_1detail_1abdf13e40e891be51aab2f16091efb71d'; + typedef-mem-virt = normal; + typedef-mem-prot = public; + typedef-mem-type = <<_EnD_oF_dEf_TeXt_ +typename std::remove_cv< typename std::remove_reference< T >::type >::type +_EnD_oF_dEf_TeXt_; + typedef-mem-name = 'uncvref_t'; + typedef-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + typedef-mem-desc-line = '182'; + typedef-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + typedef-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* typedef-member */ + typedef-member = { + typedef-mem-kind = 'typedef'; + typedef-mem-id = 'namespacenlohmann_1_1detail_1a2286e6d77b4265b8daa7ebdb15f99f8d'; + typedef-mem-virt = normal; + typedef-mem-prot = public; + typedef-mem-type = <<_EnD_oF_dEf_TeXt_ +std::integral_constant< bool, std::is_convertible< T, int >::value and std::is_enum< T >::value > +_EnD_oF_dEf_TeXt_; + typedef-mem-name = 'is_unscoped_enum'; + typedef-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + typedef-mem-desc-line = '186'; + typedef-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + typedef-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* typedef-member */ + typedef-member = { + typedef-mem-kind = 'typedef'; + typedef-mem-id = 'namespacenlohmann_1ae6eede511f01c9f33342044d36a388fa'; + typedef-mem-virt = normal; + typedef-mem-prot = public; + typedef-mem-type = <<_EnD_oF_dEf_TeXt_ +basic_json<> +_EnD_oF_dEf_TeXt_; + typedef-mem-name = 'json'; + typedef-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + typedef-mem-desc-line = '12889'; + typedef-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +default JSON class +_EnD_oF_dEf_TeXt_; + typedef-mem-documentation = <<_EnD_oF_dEf_TeXt_ +This type is the default specialization of the @ref basic_json class which +uses the standard template types. + +@since version 1.0.0 +_EnD_oF_dEf_TeXt_; + }; /* typedef-member */ + }; + enum = { + enum-member = { + enum-mem-kind = 'enum'; + enum-mem-id = 'namespacenlohmann_1_1detail_1aedb3045c82a17d48de0f030229adbffe'; + enum-mem-virt = normal; + enum-mem-prot = public; + enum-mem-name = 'value_t'; + enum-mem-enum = { enum-name = null; }; + enum-mem-enum = { enum-name = object; }; + enum-mem-enum = { enum-name = array; }; + enum-mem-enum = { enum-name = string; }; + enum-mem-enum = { enum-name = boolean; }; + enum-mem-enum = { enum-name = number_integer; }; + enum-mem-enum = { enum-name = number_unsigned; }; + enum-mem-enum = { enum-name = number_float; }; + enum-mem-enum = { enum-name = discarded; }; + enum-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + enum-mem-desc-line = '127'; + enum-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +the JSON type enumeration +_EnD_oF_dEf_TeXt_; + enum-mem-documentation = <<_EnD_oF_dEf_TeXt_ +This enumeration collects the different JSON types. It is internally used to +distinguish the stored values, and the functions @ref basic_json::is_null(), +@ref basic_json::is_object(), @ref basic_json::is_array(), +@ref basic_json::is_string(), @ref basic_json::is_boolean(), +@ref basic_json::is_number() (with @ref basic_json::is_number_integer(), +@ref basic_json::is_number_unsigned(), and @ref basic_json::is_number_float()), +@ref basic_json::is_discarded(), @ref basic_json::is_primitive(), and +@ref basic_json::is_structured() rely on it. + +@note There are three enumeration entries (number_integer, number_unsigned, and +number_float), because the library distinguishes these three types for numbers: +@ref basic_json::number_unsigned_t is used for unsigned integers, +@ref basic_json::number_integer_t is used for signed integers, and +@ref basic_json::number_float_t is used for floating-point numbers or to +approximate integers which do not fit in the limits of their respective type. + +@sa @ref basic_json::basic_json(const value_t value_type) – create a JSON +value with the default value for a given type + +@since version 1.0.0 +_EnD_oF_dEf_TeXt_; + }; /* enum-member */ + }; + func = { + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'namespacenlohmann_1_1detail_1a09169efff3bd1771fff29bd92cea19e0'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +bool +_EnD_oF_dEf_TeXt_; + func-mem-name = 'operator<'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const value_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'lhs'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const value_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'rhs'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + func-mem-desc-line = '148'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +comparison operator for JSON types +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Returns an ordering that is similar to Python: +- order: null < boolean < number < object < array < string +- furthermore, each type is not smaller than itself + +@since version 1.0.0 +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'json_8hpp_1a99cfa952f8b8deaae2505c89507ff3cd'; + func-mem-ref-line = '8042'; + func-mem-ref-name = 'basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::type_name'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'json_8hpp_1a0c20da3ba765c99dc8eb0b47f506ee88'; + func-mem-ref-line = '9248'; + func-mem-ref-name = 'basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::iter_impl< U >::operator>='; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'namespacenlohmann_1_1detail_1a7b2601c238073c43a07862768b319cf8'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-name = 'NLOHMANN_JSON_HAS_HELPER'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +mapped_type +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + func-mem-desc-line = '366'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'namespacenlohmann_1_1detail_1ad19328f0c4ffe2890ecafb7c89e0355b'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-name = 'NLOHMANN_JSON_HAS_HELPER'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +key_type +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + func-mem-desc-line = '367'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'namespacenlohmann_1_1detail_1af3e900eb1e0b107c812f7babbb94e69e'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-name = 'NLOHMANN_JSON_HAS_HELPER'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +value_type +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + func-mem-desc-line = '368'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'namespacenlohmann_1_1detail_1a6648328c4b1466fdc48f1fcfbff23e2f'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-name = 'NLOHMANN_JSON_HAS_HELPER'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +iterator +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + func-mem-desc-line = '369'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'namespacenlohmann_1_1detail_1a1a804b98cbe89b7e44b698f2ca860490'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'to_json'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +BasicJsonType & +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'j'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +T +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'b'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + func-mem-desc-line = '505'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'namespacenlohmann_1_1detail_1a7356ed05cdbbb080cee80e1211e1c6c9'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'to_json'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +BasicJsonType & +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'j'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const CompatibleString & +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 's'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + func-mem-desc-line = '513'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'namespacenlohmann_1_1detail_1a22bffdc8bc7e43af380ba2050696b230'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'to_json'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +BasicJsonType & +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'j'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +FloatType +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'val'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + func-mem-desc-line = '520'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'namespacenlohmann_1_1detail_1ae5fd66b5517b3b5a6c6b9fd9f29ba8dc'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'to_json'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +BasicJsonType & +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'j'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +CompatibleNumberUnsignedType +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'val'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + func-mem-desc-line = '529'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'namespacenlohmann_1_1detail_1a91fe576be579c8c2fdd14610605c6dd2'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'to_json'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +BasicJsonType & +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'j'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +CompatibleNumberIntegerType +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'val'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + func-mem-desc-line = '538'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'namespacenlohmann_1_1detail_1a1f83504de38ee6f440a77ae898b86a18'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'to_json'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +BasicJsonType & +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'j'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +UnscopedEnumType +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'e'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + func-mem-desc-line = '545'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'namespacenlohmann_1_1detail_1a3afebc132c5ff83f9cd160e52030fdfd'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'to_json'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +BasicJsonType & +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'j'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const CompatibleArrayType & +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'arr'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + func-mem-desc-line = '556'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'namespacenlohmann_1_1detail_1a6fa2f784014bfc0b62d7a35d51e676c9'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'to_json'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +BasicJsonType & +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'j'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const CompatibleObjectType & +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'arr'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + func-mem-desc-line = '565'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'json_8hpp_1a1e04b5fee91e47467368f279d7f7b941'; + func-mem-ref-line = '916'; + func-mem-ref-name = 'adl_serializer< typename, typename >::to_json'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'json_8hpp_1a12cfdf59e8552b8604c71585e6dd32bc'; + func-mem-ref-line = '1983'; + func-mem-ref-name = 'basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::basic_json'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'namespacenlohmann_1_1detail_1a85955b9c6dd31846e4b8e891f78614b6'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'get_arithmetic_value'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const BasicJsonType & +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'j'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +ArithmeticType & +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'val'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + func-mem-desc-line = '581'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'json_8hpp_1a6c274f6db2e65c1b66c7d41b06ad690f'; + func-mem-ref-line = '75'; + func-mem-ref-name = 'JSON_THROW'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'json_8hpp_1a7cb5dd7d46a60e65f9a8e0873b3f7dd8'; + func-mem-ref-line = '632'; + func-mem-ref-name = 'nlohmann::detail::from_json'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'namespacenlohmann_1_1detail_1a58117f225f43d03e3a0a4a6f3d77c9d9'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'from_json'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const BasicJsonType & +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'j'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +typename BasicJsonType::boolean_t & +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'b'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + func-mem-desc-line = '612'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'json_8hpp_1a6c274f6db2e65c1b66c7d41b06ad690f'; + func-mem-ref-line = '75'; + func-mem-ref-name = 'JSON_THROW'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'namespacenlohmann_1_1detail_1ad74d89f77ada7a57eff38b43d4bf2335'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'from_json'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const BasicJsonType & +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'j'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +typename BasicJsonType::string_t & +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 's'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + func-mem-desc-line = '622'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'json_8hpp_1a6c274f6db2e65c1b66c7d41b06ad690f'; + func-mem-ref-line = '75'; + func-mem-ref-name = 'JSON_THROW'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'namespacenlohmann_1_1detail_1a7cb5dd7d46a60e65f9a8e0873b3f7dd8'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'from_json'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const BasicJsonType & +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'j'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +typename BasicJsonType::number_float_t & +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'val'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + func-mem-desc-line = '632'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'json_8hpp_1a85955b9c6dd31846e4b8e891f78614b6'; + func-mem-ref-line = '581'; + func-mem-ref-name = 'nlohmann::detail::get_arithmetic_value'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'namespacenlohmann_1_1detail_1ace4d5680ba413d9fd897ccb5d9c61a1c'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'from_json'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const BasicJsonType & +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'j'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +typename BasicJsonType::number_unsigned_t & +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'val'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + func-mem-desc-line = '638'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'json_8hpp_1a85955b9c6dd31846e4b8e891f78614b6'; + func-mem-ref-line = '581'; + func-mem-ref-name = 'nlohmann::detail::get_arithmetic_value'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'namespacenlohmann_1_1detail_1a047d881e611fcac709dc318f730a1732'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'from_json'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const BasicJsonType & +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'j'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +typename BasicJsonType::number_integer_t & +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'val'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + func-mem-desc-line = '644'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'json_8hpp_1a85955b9c6dd31846e4b8e891f78614b6'; + func-mem-ref-line = '581'; + func-mem-ref-name = 'nlohmann::detail::get_arithmetic_value'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'namespacenlohmann_1_1detail_1acf8dd944c2c7455880dee6f0b355aa01'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'from_json'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const BasicJsonType & +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'j'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +UnscopedEnumType & +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'e'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + func-mem-desc-line = '651'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'json_8hpp_1a85955b9c6dd31846e4b8e891f78614b6'; + func-mem-ref-line = '581'; + func-mem-ref-name = 'nlohmann::detail::get_arithmetic_value'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'namespacenlohmann_1_1detail_1abc62958462b916726b89f25fa381a129'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'from_json'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const BasicJsonType & +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'j'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +typename BasicJsonType::array_t & +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'arr'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + func-mem-desc-line = '659'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'json_8hpp_1a6c274f6db2e65c1b66c7d41b06ad690f'; + func-mem-ref-line = '75'; + func-mem-ref-name = 'JSON_THROW'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'namespacenlohmann_1_1detail_1a7fb5b5b8034d347b702d31d7fec4ecd7'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'from_json'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const BasicJsonType & +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'j'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +std::forward_list< T, Allocator > & +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'l'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + func-mem-desc-line = '670'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'json_8hpp_1a6c274f6db2e65c1b66c7d41b06ad690f'; + func-mem-ref-line = '75'; + func-mem-ref-name = 'JSON_THROW'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'namespacenlohmann_1_1detail_1ac53673a5ce29fb69b96d41dad33cb3b0'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'from_json_array_impl'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const BasicJsonType & +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'j'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +CompatibleArrayType & +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'arr'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +priority_tag< 0 > +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + func-mem-desc-line = '692'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'json_8hpp_1a8dcac00852dbe1f61d1e78135b19d428'; + func-mem-ref-line = '728'; + func-mem-ref-name = 'nlohmann::detail::from_json'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'namespacenlohmann_1_1detail_1a57f93ed57254a1639087cdc316e0fb83'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +auto +_EnD_oF_dEf_TeXt_; + func-mem-name = 'from_json_array_impl'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const BasicJsonType & +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'j'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +CompatibleArrayType & +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'arr'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +priority_tag< 1 > +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + func-mem-desc-line = '707'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'namespacenlohmann_1_1detail_1a8dcac00852dbe1f61d1e78135b19d428'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'from_json'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const BasicJsonType & +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'j'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +CompatibleArrayType & +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'arr'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + func-mem-desc-line = '728'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'json_8hpp_1a6c274f6db2e65c1b66c7d41b06ad690f'; + func-mem-ref-line = '75'; + func-mem-ref-name = 'JSON_THROW'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'json_8hpp_1ac53673a5ce29fb69b96d41dad33cb3b0'; + func-mem-ref-line = '692'; + func-mem-ref-name = 'nlohmann::detail::from_json_array_impl'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'namespacenlohmann_1_1detail_1a5e7a3674e8ac46f8feebad9712d7c55f'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'from_json'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const BasicJsonType & +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'j'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +CompatibleObjectType & +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'obj'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + func-mem-desc-line = '748'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'json_8hpp_1a6c274f6db2e65c1b66c7d41b06ad690f'; + func-mem-ref-line = '75'; + func-mem-ref-name = 'JSON_THROW'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'namespacenlohmann_1_1detail_1a839b0ab50d2c9bce669068f56bc41202'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'from_json'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const BasicJsonType & +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'j'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +ArithmeticType & +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'val'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + func-mem-desc-line = '776'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'json_8hpp_1a6c274f6db2e65c1b66c7d41b06ad690f'; + func-mem-ref-line = '75'; + func-mem-ref-name = 'JSON_THROW'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'json_8hpp_1adcdd0023173b7ae293da6cc2ffddfd06'; + func-mem-ref-line = '900'; + func-mem-ref-name = 'adl_serializer< typename, typename >::from_json'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'json_8hpp_1a49c729573c3c831d7138c976755d10fd'; + func-mem-ref-line = '3202'; + func-mem-ref-name = 'basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::get'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'namespacestd_1a907191b7578e209391ce938e3b2afdf7'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'swap'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +nlohmann::json & +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'j1'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +nlohmann::json & +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'j2'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + func-mem-desc-line = '12906'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +exchanges the values of two JSON objects +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@since version 1.0.0 +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'json_8hpp_1aee22c00d2bff99e59c1a2abe76bb74d8'; + func-mem-ref-line = '2519'; + func-mem-ref-name = 'basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::operator='; + }; + func-mem-referenceby = { + func-mem-ref-id = 'json_8hpp_1a0f6968dcb6461353787d510aaa671b61'; + func-mem-ref-line = '5715'; + func-mem-ref-name = 'basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::swap'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'json_8hpp_1a8611a2c69368775458a89acd1078d39d'; + func-mem-ref-line = '8911'; + func-mem-ref-name = 'basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::iter_impl< U >::operator='; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'json_8hpp_1a106b949d848bb8243a7cf94f11bcebf1'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +nlohmann::json +_EnD_oF_dEf_TeXt_; + func-mem-name = 'operator"" _json'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const char * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 's'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +std::size_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'n'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + func-mem-desc-line = '12946'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +user-defined string literal for JSON values +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +This operator implements a user-defined string literal for JSON objects. It +can be used by adding "_json" to a string literal and returns a JSON object +if no parse error occurred. + +@param[in] s a string representation of a JSON object +@param[in] n the length of string @a s +@return a JSON object + +@since version 1.0.0 +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'json_8hpp_1a59c8a7fee8883e55b4317dfd6cab4912'; + func-mem-ref-line = '6261'; + func-mem-ref-name = 'basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::parse'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'json_8hpp_1aa2015c6dc3a0fb76fc526cfecef2286a'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +nlohmann::json::json_pointer +_EnD_oF_dEf_TeXt_; + func-mem-name = 'operator"" _json_pointer'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const char * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 's'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +std::size_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'n'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + func-mem-desc-line = '12964'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +user-defined string literal for JSON pointer +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +This operator implements a user-defined string literal for JSON Pointers. It +can be used by adding "_json_pointer" to a string literal and returns a JSON pointer +object if no parse error occurred. + +@param[in] s a string representation of a JSON Pointer +@param[in] n the length of string @a s +@return a JSON pointer object + +@since version 2.0.0 +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + }; + file-full-name = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/json.hpp'; + file-first-line = '1'; + file-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + file-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; +}; /* file */ +file = { + file-id = 'master_8py'; + file-name = 'master.py'; + func = { + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'namespacemaster_1a04bd95e527992baa27396644b17c76e8'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +def +_EnD_oF_dEf_TeXt_; + func-mem-name = 'init_logger'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +console_level +_EnD_oF_dEf_TeXt_; + func-mem-param-defname = 'console_level'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +logfile_level +_EnD_oF_dEf_TeXt_; + func-mem-param-defname = 'logfile_level'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/master.py'; + func-mem-desc-line = '80'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@verbatim Initializes console and logfile logger with given logging levels\endverbatim +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'master_8py_1a1835cdc0fc647a2c5b5ccf8b5e6e1778'; + func-mem-ref-line = '443'; + func-mem-ref-name = 'master::main'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'namespacemaster_1a6ec1b78aa368f25862149fc187d60bfd'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +def +_EnD_oF_dEf_TeXt_; + func-mem-name = 'parse_args'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +args +_EnD_oF_dEf_TeXt_; + func-mem-param-defname = 'args'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/master.py'; + func-mem-desc-line = '95'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@verbatim Configures parser and parses command line configuration\endverbatim +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'master_8py_1a1835cdc0fc647a2c5b5ccf8b5e6e1778'; + func-mem-ref-line = '443'; + func-mem-ref-name = 'master::main'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'namespacemaster_1ada33277f60a7237e56dcc1c27fd0fcc3'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +def +_EnD_oF_dEf_TeXt_; + func-mem-name = 'is_comment'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +s +_EnD_oF_dEf_TeXt_; + func-mem-param-defname = 's'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/master.py'; + func-mem-desc-line = '112'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@verbatim function to check if a line + starts with some character. + Here # for comment +\endverbatim +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'namespacemaster_1a132d8e8f29b5cec353381f127ad4c4ae'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +def +_EnD_oF_dEf_TeXt_; + func-mem-name = 'compare_resuts'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +cat +_EnD_oF_dEf_TeXt_; + func-mem-param-defname = 'cat'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +mu +_EnD_oF_dEf_TeXt_; + func-mem-param-defname = 'mu'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +bw +_EnD_oF_dEf_TeXt_; + func-mem-param-defname = 'bw'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +tcase +_EnD_oF_dEf_TeXt_; + func-mem-param-defname = 'tcase'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +xran_path +_EnD_oF_dEf_TeXt_; + func-mem-param-defname = 'xran_path'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +test_cfg +_EnD_oF_dEf_TeXt_; + func-mem-param-defname = 'test_cfg'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +direction +_EnD_oF_dEf_TeXt_; + func-mem-param-defname = 'direction'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/master.py'; + func-mem-desc-line = '123'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'master_8py_1ab9aaaee357ffa8fa96b544bd05c1ccb8'; + func-mem-ref-line = '367'; + func-mem-ref-name = 'master::run_tcase'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'namespacemaster_1a29041cda44c83caed56c5693ae62c878'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +def +_EnD_oF_dEf_TeXt_; + func-mem-name = 'parse_dat_file'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +cat +_EnD_oF_dEf_TeXt_; + func-mem-param-defname = 'cat'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +mu +_EnD_oF_dEf_TeXt_; + func-mem-param-defname = 'mu'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +bw +_EnD_oF_dEf_TeXt_; + func-mem-param-defname = 'bw'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +tcase +_EnD_oF_dEf_TeXt_; + func-mem-param-defname = 'tcase'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +xran_path +_EnD_oF_dEf_TeXt_; + func-mem-param-defname = 'xran_path'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +test_cfg +_EnD_oF_dEf_TeXt_; + func-mem-param-defname = 'test_cfg'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/master.py'; + func-mem-desc-line = '278'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'master_8py_1ab9aaaee357ffa8fa96b544bd05c1ccb8'; + func-mem-ref-line = '367'; + func-mem-ref-name = 'master::run_tcase'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'namespacemaster_1a2730ffb83f627670caa12f7595551151'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +def +_EnD_oF_dEf_TeXt_; + func-mem-name = 'make_copy_mlog'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +cat +_EnD_oF_dEf_TeXt_; + func-mem-param-defname = 'cat'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +mu +_EnD_oF_dEf_TeXt_; + func-mem-param-defname = 'mu'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +bw +_EnD_oF_dEf_TeXt_; + func-mem-param-defname = 'bw'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +tcase +_EnD_oF_dEf_TeXt_; + func-mem-param-defname = 'tcase'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +xran_path +_EnD_oF_dEf_TeXt_; + func-mem-param-defname = 'xran_path'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/master.py'; + func-mem-desc-line = '306'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'master_8py_1ab9aaaee357ffa8fa96b544bd05c1ccb8'; + func-mem-ref-line = '367'; + func-mem-ref-name = 'master::run_tcase'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'namespacemaster_1ab9aaaee357ffa8fa96b544bd05c1ccb8'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +def +_EnD_oF_dEf_TeXt_; + func-mem-name = 'run_tcase'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +cat +_EnD_oF_dEf_TeXt_; + func-mem-param-defname = 'cat'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +mu +_EnD_oF_dEf_TeXt_; + func-mem-param-defname = 'mu'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +bw +_EnD_oF_dEf_TeXt_; + func-mem-param-defname = 'bw'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +tcase +_EnD_oF_dEf_TeXt_; + func-mem-param-defname = 'tcase'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +xran_path +_EnD_oF_dEf_TeXt_; + func-mem-param-defname = 'xran_path'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/master.py'; + func-mem-desc-line = '367'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'master_8py_1a2730ffb83f627670caa12f7595551151'; + func-mem-ref-line = '306'; + func-mem-ref-name = 'master::make_copy_mlog'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'master_8py_1a29041cda44c83caed56c5693ae62c878'; + func-mem-ref-line = '278'; + func-mem-ref-name = 'master::parse_dat_file'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'master_8py_1a132d8e8f29b5cec353381f127ad4c4ae'; + func-mem-ref-line = '123'; + func-mem-ref-name = 'master::compare_resuts'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'master_8py_1a1835cdc0fc647a2c5b5ccf8b5e6e1778'; + func-mem-ref-line = '443'; + func-mem-ref-name = 'master::main'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'namespacemaster_1a1835cdc0fc647a2c5b5ccf8b5e6e1778'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +def +_EnD_oF_dEf_TeXt_; + func-mem-name = 'main'; + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/master.py'; + func-mem-desc-line = '443'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'master_8py_1a04bd95e527992baa27396644b17c76e8'; + func-mem-ref-line = '80'; + func-mem-ref-name = 'master::init_logger'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'master_8py_1a6ec1b78aa368f25862149fc187d60bfd'; + func-mem-ref-line = '95'; + func-mem-ref-name = 'master::parse_args'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'master_8py_1ab9aaaee357ffa8fa96b544bd05c1ccb8'; + func-mem-ref-line = '367'; + func-mem-ref-name = 'master::run_tcase'; + }; + }; /* func-member */ + }; + var = { + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'namespacemaster_1abcabfd6caec6142edbd47231f3410f90'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +list +_EnD_oF_dEf_TeXt_; + var-mem-name = 'nNumRbsPerSymF1'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += [ + # 5MHz 10MHz 15MHz 20 MHz 25 MHz 30 MHz 40 MHz 50MHz 60 MHz 70 MHz 80 MHz 90 MHz 100 MHz + [25, 52, 79, 106, 133, 160, 216, 270, 0, 0, 0, 0, 0], # Numerology 0 (15KHz) + [11, 24, 38, 51, 65, 78, 106, 133, 162, 0, 217, 245, 273], # Numerology 1 (30KHz) + [0, 11, 18, 24, 31, 38, 51, 65, 79, 0, 107, 121, 135] # Numerology 2 (60KHz) +] +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/master.py'; + var-mem-desc-line = '21'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'namespacemaster_1a1688f1dc8e00536ec7508a3ad672f85a'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +list +_EnD_oF_dEf_TeXt_; + var-mem-name = 'nNumRbsPerSymF2'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += [ + # 50Mhz 100MHz 200MHz 400MHz + [66, 132, 264, 0], # Numerology 2 (60KHz) + [32, 66, 132, 264] # Numerology 3 (120KHz) +] +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/master.py'; + var-mem-desc-line = '28'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'namespacemaster_1af7850f2256bf3ed75be67d2293f8aa82'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +list +_EnD_oF_dEf_TeXt_; + var-mem-name = 'nRChBwOptions_keys'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += ['5','10','15','20', '25', '30', '40', '50', '60','70', '80', '90', '100', '200', '400'] +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/master.py'; + var-mem-desc-line = '35'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'namespacemaster_1a8d41a616ef51e4a0667d7cde6edc510c'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +list +_EnD_oF_dEf_TeXt_; + var-mem-name = 'nRChBwOptions_values'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14] +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/master.py'; + var-mem-desc-line = '36'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'namespacemaster_1ace60ebb76d1266cd70c6b0a2cdb975af'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-name = 'nRChBwOptions'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += dict(zip(nRChBwOptions_keys, nRChBwOptions_values)) +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/master.py'; + var-mem-desc-line = '37'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'namespacemaster_1aed629b78b162e729253b92f7e86074ab'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +list +_EnD_oF_dEf_TeXt_; + var-mem-name = 'nRChBwOptions_keys_mu2and3'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += ['50', '100', '200', '400'] +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/master.py'; + var-mem-desc-line = '39'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'namespacemaster_1a60aad357b43b806ac16bfe47e0c8e83c'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +list +_EnD_oF_dEf_TeXt_; + var-mem-name = 'nRChBwOptions_values_mu2and3'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += [0,1,2,3] +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/master.py'; + var-mem-desc-line = '40'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'namespacemaster_1a3594f126fda7271b1a5f0672794af48d'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-name = 'nRChBwOptions_mu2and3'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += dict(zip(nRChBwOptions_keys_mu2and3, nRChBwOptions_values_mu2and3)) +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/master.py'; + var-mem-desc-line = '41'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'namespacemaster_1a4a9d33bbbfd8552574a68bf5bab018fe'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +list +_EnD_oF_dEf_TeXt_; + var-mem-name = 'all_test_cases'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += [(0, 0, 5, 0), + (0, 0, 10, 0), + (0, 0, 20, 0), + (0, 1, 100, 0), + (0, 3, 100, 0), + (1, 1, 100, 0)] +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/master.py'; + var-mem-desc-line = '45'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'namespacemaster_1a6e1e462cf427d3093cf766e6257db50a'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-name = 'dic_dir'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += dict({0:'DL', 1:'UL'}) +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/master.py'; + var-mem-desc-line = '77'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'namespacemaster_1a0ee1f5720e7776e48e6a82e1d5b78f87'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-name = 'dic_xu'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += dict({0:'o-du', 1:'o-ru'}) +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/master.py'; + var-mem-desc-line = '78'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'namespacemaster_1a929ac850002f98328306afef36bad843'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-name = 'START_TIME'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += datetime.now() +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/master.py'; + var-mem-desc-line = '497'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'namespacemaster_1ad5c7a065cddc009146ea1b1192eb2102'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +def +_EnD_oF_dEf_TeXt_; + var-mem-name = 'res'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += main() +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/master.py'; + var-mem-desc-line = '498'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-referenceby = { + var-mem-ref-id = 'json_8hpp_1a3266031b8b423571de004ddf5bcddd24'; + var-mem-ref-line = '5469'; + var-mem-ref-name = 'basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::emplace'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'json_8hpp_1a09792d435ddd0409a5c002c415f00da4'; + var-mem-ref-line = '6389'; + var-mem-ref-name = 'basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::parse'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'json_8hpp_1a99cfa952f8b8deaae2505c89507ff3cd'; + var-mem-ref-line = '8042'; + var-mem-ref-name = 'basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::type_name'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'xran__common_8c_1a3d4bd5c7eec6da4ab71688e209100761'; + var-mem-ref-line = '143'; + var-mem-ref-name = 'process_mbuf'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'xran__common_8c_1a3cdc276ccd8081a8bda75f22b0cac279'; + var-mem-ref-line = '742'; + var-mem-ref-name = 'ring_processing_thread'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'xran__main_8c_1ae4973aab78785b0738c729b26a1474e2'; + var-mem-ref-line = '1165'; + var-mem-ref-name = 'xran_timing_source_thread'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'xran__sync__api_8c_1a4778e0253fe842243ff1b2cee96e9367'; + var-mem-ref-line = '113'; + var-mem-ref-name = 'xran_is_synchronized'; + }; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'namespacemaster_1a728d32d8d3a9326d4a888b8bb802cf23'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-name = 'END_TIME'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += datetime.now() +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/master.py'; + var-mem-desc-line = '499'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + }; + file-full-name = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/master.py'; + file-first-line = '1'; + file-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + file-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; +}; /* file */ +file = { + file-id = 'prach__functional_8cc'; + file-name = 'prach_functional.cc'; + func = { + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'prach__functional_8cc_1a62307393b7f454a2b348ada67997b796'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-name = 'TEST_P'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +PrachCheck +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +PacketGen +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_functional.cc'; + func-mem-desc-line = '177'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1a00025c5bad7b7b6eea4374226f8c54bb'; + func-mem-ref-line = '308'; + func-mem-ref-name = 'xran_init_prach'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'prach__functional_8cc_1ae3061028ac8e2b8c5dbf9bafc6e1bafa'; + func-mem-ref-line = '39'; + func-mem-ref-name = 'PrachCheck::m_xranConf'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'prach__functional_8cc_1a48dc9763aed8e2af7ff83eb1648aa96e'; + func-mem-ref-line = '40'; + func-mem-ref-name = 'PrachCheck::m_xran_dev_ctx'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a814959a7b5ff6cd4474433f62312eee0'; + func-mem-ref-line = '54'; + func-mem-ref-name = 'XRAN_STATUS_SUCCESS'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'prach__functional_8cc_1a45887981986f86c7811031b354fb4a36'; + func-mem-ref-line = '43'; + func-mem-ref-name = 'PrachCheck::m_pPrachCPConfig'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1ad5150de5e1c141cfe288f260afb00830'; + func-mem-ref-line = '127'; + func-mem-ref-name = 'xran_prach_cp_config::filterIdx'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'prach__functional_8cc_1aa6a94180919a3f3827f581cb9b6038ef'; + func-mem-ref-line = '76'; + func-mem-ref-name = 'PrachCheck::m_filterIdx'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1ac54814779041bec5dcf8aec288d69b06'; + func-mem-ref-line = '128'; + func-mem-ref-name = 'xran_prach_cp_config::startSymId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'prach__functional_8cc_1a1d28f82423abf4fde782a34ae064aea9'; + func-mem-ref-line = '74'; + func-mem-ref-name = 'PrachCheck::m_startSymId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a6b13285aabf8f2f4598143b2670204c1'; + func-mem-ref-line = '129'; + func-mem-ref-name = 'xran_prach_cp_config::startPrbc'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'prach__functional_8cc_1acef6d7b2a1494b7d98e70d4759875349'; + func-mem-ref-line = '77'; + func-mem-ref-name = 'PrachCheck::m_startPrbc'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1aabc4fe26e40f742fd255e2bb8534de75'; + func-mem-ref-line = '130'; + func-mem-ref-name = 'xran_prach_cp_config::numPrbc'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'prach__functional_8cc_1af2657f421b39bfe018266cfe11d27b51'; + func-mem-ref-line = '78'; + func-mem-ref-name = 'PrachCheck::m_numPrbc'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1aa68c277a66312b4b90819cccc055bdb7'; + func-mem-ref-line = '132'; + func-mem-ref-name = 'xran_prach_cp_config::timeOffset'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'prach__functional_8cc_1a509c970617e65a99c8120eef3d309bcb'; + func-mem-ref-line = '80'; + func-mem-ref-name = 'PrachCheck::m_timeOffset'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a3af58496c14a1c91c015aa6ffe7dca49'; + func-mem-ref-line = '133'; + func-mem-ref-name = 'xran_prach_cp_config::freqOffset'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'prach__functional_8cc_1a9c9ab811b57b6250d1712aa6e59c0853'; + func-mem-ref-line = '81'; + func-mem-ref-name = 'PrachCheck::m_freqOffset'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a0f561e77fa0f040b637f4e04f6cd8078'; + func-mem-ref-line = '136'; + func-mem-ref-name = 'xran_prach_cp_config::x'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'prach__functional_8cc_1a95b34835c7215dd09bdfdd82698c1232'; + func-mem-ref-line = '75'; + func-mem-ref-name = 'PrachCheck::m_x'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a855041f3139611ca7478502e3241b2f1'; + func-mem-ref-line = '134'; + func-mem-ref-name = 'xran_prach_cp_config::nrofPrachInSlot'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'prach__functional_8cc_1a8c2ff60cb0ad0f81eafada59dc92c4c6'; + func-mem-ref-line = '82'; + func-mem-ref-name = 'PrachCheck::m_nrofPrachInSlot'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a1d627e83c5e0ae889b71ea0508991f29'; + func-mem-ref-line = '137'; + func-mem-ref-name = 'xran_prach_cp_config::y'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'prach__functional_8cc_1a5067ab67bdb57355a12a0282ced79bdc'; + func-mem-ref-line = '84'; + func-mem-ref-name = 'PrachCheck::m_y'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a664cb6ca464c69ef60a445fa4f4b3522'; + func-mem-ref-line = '131'; + func-mem-ref-name = 'xran_prach_cp_config::numSymbol'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'prach__functional_8cc_1ab7158c23dfca189475b254c35ede1da7'; + func-mem-ref-line = '79'; + func-mem-ref-name = 'PrachCheck::m_numSymbol'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a2e544eaae35a5756272d62af4fa53a19'; + func-mem-ref-line = '135'; + func-mem-ref-name = 'xran_prach_cp_config::occassionsInPrachSlot'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'prach__functional_8cc_1a0baaeee595bffc14f68fefd762c6fa5a'; + func-mem-ref-line = '83'; + func-mem-ref-name = 'PrachCheck::m_occassionsInPrachSlot'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1af7a48e76794ce5d801ab6d0f848abb53'; + func-mem-ref-line = '80'; + func-mem-ref-name = 'XRAN_PRACH_CANDIDATE_SLOT'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a3b00fdd9e145b9c7be29aa35c6f94fe1'; + func-mem-ref-line = '138'; + func-mem-ref-name = 'xran_prach_cp_config::isPRACHslot'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'prach__functional_8cc_1a9ef01047ab319b03151146a47e4516c4'; + func-mem-ref-line = '85'; + func-mem-ref-name = 'PrachCheck::m_isPRACHslot'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a34dbe5e515cc78b4ce26fa287e6c1edc'; + func-mem-ref-line = '110'; + func-mem-ref-name = 'XRAN_MAX_SECTOR_NR'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a26e6c6447dffca5e7ece503e8c0e890c'; + func-mem-ref-line = '262'; + func-mem-ref-name = 'xran_device_ctx::prach_start_symbol'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'prach__functional_8cc_1aee24498b1349e41e8e14f822c6bd8fff'; + func-mem-ref-line = '86'; + func-mem-ref-name = 'PrachCheck::m_prach_start_symbol'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a53af49f65e0dafdafcde73d693961a78'; + func-mem-ref-line = '263'; + func-mem-ref-name = 'xran_device_ctx::prach_last_symbol'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'prach__functional_8cc_1a98ba28864455aad01fecfc51992a252a'; + func-mem-ref-line = '87'; + func-mem-ref-name = 'PrachCheck::m_prach_last_symbol'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1a03f408f45e97aa68ca47c92e4e7d1a70'; + func-mem-ref-line = '2756'; + func-mem-ref-name = 'xran_open'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8c_1ab8a6ed3cee8fa183142d0c23d0b4971d'; + func-mem-ref-line = '595'; + func-mem-ref-name = 'generate_cpmsg_prach'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'prach__functional_8cc_1a16c92b16fc21a700c50a7faf19da41b9'; + func-mem-ref-line = '51'; + func-mem-ref-name = 'PrachCheck::m_params'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'prach__functional_8cc_1a8afca7ac895ea509b38432d1b45bff55'; + func-mem-ref-line = '45'; + func-mem-ref-name = 'PrachCheck::m_pSectGenInfo'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'prach__functional_8cc_1aafa40e823e408268e48585ec7a623eae'; + func-mem-ref-line = '49'; + func-mem-ref-name = 'PrachCheck::m_pTestBuffer'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'prach__functional_8cc_1a65389015c6ac952ac5108c2ae802fa52'; + func-mem-ref-line = '61'; + func-mem-ref-name = 'PrachCheck::m_frameId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'prach__functional_8cc_1afa13542efadbf6db6e8ddfa388a345c0'; + func-mem-ref-line = '61'; + func-mem-ref-name = 'PrachCheck::m_subframeId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'prach__functional_8cc_1a7f021a016314b5d3a9bb095c5c08048f'; + func-mem-ref-line = '61'; + func-mem-ref-name = 'PrachCheck::m_slotId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'prach__functional_8cc_1a047b603d6d908d93ce5d58dcc2b63036'; + func-mem-ref-line = '66'; + func-mem-ref-name = 'PrachCheck::m_beamId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'prach__functional_8cc_1a9f102f8bfc163d6a26411d1855c8c97c'; + func-mem-ref-line = '59'; + func-mem-ref-name = 'PrachCheck::m_ccId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'prach__functional_8cc_1a73f8e8274bd97892f58f73d1d83b533a'; + func-mem-ref-line = '59'; + func-mem-ref-name = 'PrachCheck::m_antId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1ae273caa235b1c6085de4ad13886f82c9'; + func-mem-ref-line = '317'; + func-mem-ref-name = 'xran_cp_gen_params::sectionType'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a6e8f1d76afde95b2d85b1fd99aaa1610a80bcc2d7d7aff5e850d26892e703c637'; + func-mem-ref-line = '57'; + func-mem-ref-name = 'XRAN_CP_SECTIONTYPE_3'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a92abda0bec7c1c978fe96f87aad18067'; + func-mem-ref-line = '316'; + func-mem-ref-name = 'xran_cp_gen_params::dir'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1gga9c60a23fdae979ad1842b255790d1558a404255db3f05419798875bfb763e1c05'; + func-mem-ref-line = '148'; + func-mem-ref-name = 'XRAN_DIR_UL'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a6c787affb1020c2b8058a3ddeff3fe52'; + func-mem-ref-line = '320'; + func-mem-ref-name = 'xran_cp_gen_params::hdr'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1ad5150de5e1c141cfe288f260afb00830'; + func-mem-ref-line = '277'; + func-mem-ref-name = 'xran_cp_header_params::filterIdx'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a048f7f66787565b266517ddaa551d98e'; + func-mem-ref-line = '278'; + func-mem-ref-name = 'xran_cp_header_params::frameId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a45cd2998ed056e5139a76bf36053ed14'; + func-mem-ref-line = '279'; + func-mem-ref-name = 'xran_cp_header_params::subframeId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a0eb3f725109bb1afb9094b025af26678'; + func-mem-ref-line = '280'; + func-mem-ref-name = 'xran_cp_header_params::slotId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1ac54814779041bec5dcf8aec288d69b06'; + func-mem-ref-line = '281'; + func-mem-ref-name = 'xran_cp_header_params::startSymId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a1520b1ef6131bff6c14b88d849c266c5'; + func-mem-ref-line = '286'; + func-mem-ref-name = 'xran_cp_header_params::iqWidth'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'prach__functional_8cc_1a0967c7de3f0299240443557d0b5677b8'; + func-mem-ref-line = '42'; + func-mem-ref-name = 'PrachCheck::m_pRUConfig'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a1520b1ef6131bff6c14b88d849c266c5'; + func-mem-ref-line = '486'; + func-mem-ref-name = 'xran_ru_config::iqWidth'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a1e4a3c43fc7865c6520471fb9ba8501f'; + func-mem-ref-line = '287'; + func-mem-ref-name = 'xran_cp_header_params::compMeth'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a1e4a3c43fc7865c6520471fb9ba8501f'; + func-mem-ref-line = '487'; + func-mem-ref-name = 'xran_ru_config::compMeth'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1aa68c277a66312b4b90819cccc055bdb7'; + func-mem-ref-line = '289'; + func-mem-ref-name = 'xran_cp_header_params::timeOffset'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'prach__functional_8cc_1a71d000429a67e58a4dbdfaa350ef9d4b'; + func-mem-ref-line = '89'; + func-mem-ref-name = 'PrachCheck::m_m_params_timeOffset'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a59e7e8f3feb686850b0cb0ae065de85b'; + func-mem-ref-line = '284'; + func-mem-ref-name = 'xran_cp_header_params::fftSize'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a59e7e8f3feb686850b0cb0ae065de85b'; + func-mem-ref-line = '488'; + func-mem-ref-name = 'xran_ru_config::fftSize'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1ae470e3869d1cbf07cd5f78ab6709b9e1'; + func-mem-ref-line = '285'; + func-mem-ref-name = 'xran_cp_header_params::scs'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'prach__functional_8cc_1a21909f3922fb3485559575d6252575aa'; + func-mem-ref-line = '41'; + func-mem-ref-name = 'PrachCheck::m_pPRACHConfig'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1ab9b99e41ea39f16780f66a539aa872c8'; + func-mem-ref-line = '433'; + func-mem-ref-name = 'xran_prach_config::nPrachSubcSpacing'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1af57c31d64bbdb0d65fd36c9f38951328'; + func-mem-ref-line = '290'; + func-mem-ref-name = 'xran_cp_header_params::cpLength'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a52bddd404e766ddb6f2b9eabe15ea5b1'; + func-mem-ref-line = '318'; + func-mem-ref-name = 'xran_cp_gen_params::numSections'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a5921f2439294279b8111fed577c5c37a'; + func-mem-ref-line = '322'; + func-mem-ref-name = 'xran_cp_gen_params::sections'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a6ccd48a36736101737e9b419d7a3cc85'; + func-mem-ref-line = '296'; + func-mem-ref-name = 'xran_section_gen_info::info'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a1d127017fb298b889f4ba24752d08b8e'; + func-mem-ref-line = '185'; + func-mem-ref-name = 'xran_section_info::type'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1ac54814779041bec5dcf8aec288d69b06'; + func-mem-ref-line = '188'; + func-mem-ref-name = 'xran_section_info::startSymId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a1520b1ef6131bff6c14b88d849c266c5'; + func-mem-ref-line = '197'; + func-mem-ref-name = 'xran_section_info::iqWidth'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a1e4a3c43fc7865c6520471fb9ba8501f'; + func-mem-ref-line = '196'; + func-mem-ref-name = 'xran_section_info::compMeth'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a4fc3a0c58dfbd1e68224521185cb9384'; + func-mem-ref-line = '191'; + func-mem-ref-name = 'xran_section_info::id'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'prach__functional_8cc_1a5a1c72f3b78d7251f2f98b26bf5b795b'; + func-mem-ref-line = '90'; + func-mem-ref-name = 'PrachCheck::m_id'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1affa3adbd50cd4af2018ba1fc0e8c3e31'; + func-mem-ref-line = '195'; + func-mem-ref-name = 'xran_section_info::rb'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a1087eb8c21d4b4e104b12a056ff65553a020e57090e5b6e614d303c027543fd16'; + func-mem-ref-line = '105'; + func-mem-ref-name = 'XRAN_RBIND_EVERY'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a52f6623d45fec4bf9c14898f7e53db34'; + func-mem-ref-line = '190'; + func-mem-ref-name = 'xran_section_info::symInc'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a056d791208720148306b686856cd36b0a2968e08e8282588813b4ace40df05c8e'; + func-mem-ref-line = '112'; + func-mem-ref-name = 'XRAN_SYMBOLNUMBER_NOTINC'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a6b13285aabf8f2f4598143b2670204c1'; + func-mem-ref-line = '193'; + func-mem-ref-name = 'xran_section_info::startPrbc'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a2b72ddddeff4e4a8a5c191695ec41079'; + func-mem-ref-line = '194'; + func-mem-ref-name = 'xran_section_info::numPrbc'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a664cb6ca464c69ef60a445fa4f4b3522'; + func-mem-ref-line = '189'; + func-mem-ref-name = 'xran_section_info::numSymbol'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1ab8acca18b930cde25e1cf85ae86c964c'; + func-mem-ref-line = '192'; + func-mem-ref-name = 'xran_section_info::reMask'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1ac7deef3ca4b0fc12769165dbf9374569'; + func-mem-ref-line = '200'; + func-mem-ref-name = 'xran_section_info::beamId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a3af58496c14a1c91c015aa6ffe7dca49'; + func-mem-ref-line = '199'; + func-mem-ref-name = 'xran_section_info::freqOffset'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1afe3859cd334ad3f912622c58d5b2079e'; + func-mem-ref-line = '198'; + func-mem-ref-name = 'xran_section_info::ef'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1aa561d89cbc570e39183c64a5095a6053'; + func-mem-ref-line = '298'; + func-mem-ref-name = 'xran_section_gen_info::exDataSize'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'common_8cpp_1a39bf4f7770751080f5b72046abfd01a5'; + func-mem-ref-line = '78'; + func-mem-ref-name = 'get_sequence'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'common_8hpp_1a6157ff083be863bba0a7804cd1788d96'; + func-mem-ref-line = '190'; + func-mem-ref-name = 'KernelTests::get_number_of_cases'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'prach__functional_8cc_1ac9bbd414b07f0f0f9220e132a11bea34'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-name = 'INSTANTIATE_TEST_CASE_P'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +UnitTest +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +PrachCheck +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +testing::ValuesIn(get_sequence(PrachCheck::get_number_of_cases("prach_functional"))) +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_functional.cc'; + func-mem-desc-line = '252'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'prach__functional_8cc_1a62307393b7f454a2b348ada67997b796'; + func-mem-ref-line = '177'; + func-mem-ref-name = 'TEST_P'; + }; + }; /* func-member */ + }; + var = { + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'prach__functional_8cc_1a69b4bff6061152ff85770d725cced3cc'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +const std::string +_EnD_oF_dEf_TeXt_; + var-mem-name = 'module_name'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += "Prach_test" +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_functional.cc'; + var-mem-desc-line = '30'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + }; + file-full-name = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_functional.cc'; + file-first-line = '1'; + file-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + file-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; +}; /* file */ +file = { + file-id = 'prach__performance_8cc'; + file-name = 'prach_performance.cc'; + func = { + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'prach__performance_8cc_1a540e426541deb753f7c69d8df5d5b090'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'performance_cp'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pHandle'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_cp_gen_params * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'params'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_section_gen_info * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'sect_geninfo'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_device_ctx * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pxran_lib_ctx'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'frame_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'subframe_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'slot_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'beam_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'cc_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'prach_port_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'seq_id'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_performance.cc'; + func-mem-desc-line = '172'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'ethernet_8c_1a8d83e3adb6c9e839b3b7259288f100ba'; + func-mem-ref-line = '70'; + func-mem-ref-name = '_eth_mbuf_pool'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8c_1ab8a6ed3cee8fa183142d0c23d0b4971d'; + func-mem-ref-line = '595'; + func-mem-ref-name = 'generate_cpmsg_prach'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'prach__performance_8cc_1a048e029f091d3d395e44cc24b3f197ee'; + func-mem-ref-line = '189'; + func-mem-ref-name = 'TEST_P'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'prach__performance_8cc_1a048e029f091d3d395e44cc24b3f197ee'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-name = 'TEST_P'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +PrachPerf +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +PacketGen +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_performance.cc'; + func-mem-desc-line = '189'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1a00025c5bad7b7b6eea4374226f8c54bb'; + func-mem-ref-line = '308'; + func-mem-ref-name = 'xran_init_prach'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'prach__performance_8cc_1acb7ae6f5547d5e166b643084db28b2fa'; + func-mem-ref-line = '40'; + func-mem-ref-name = 'PrachPerf::m_xranConf'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'prach__performance_8cc_1a48dc9763aed8e2af7ff83eb1648aa96e'; + func-mem-ref-line = '41'; + func-mem-ref-name = 'PrachPerf::m_xran_dev_ctx'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a814959a7b5ff6cd4474433f62312eee0'; + func-mem-ref-line = '54'; + func-mem-ref-name = 'XRAN_STATUS_SUCCESS'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8c_1ab8a6ed3cee8fa183142d0c23d0b4971d'; + func-mem-ref-line = '595'; + func-mem-ref-name = 'generate_cpmsg_prach'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'prach__performance_8cc_1a16c92b16fc21a700c50a7faf19da41b9'; + func-mem-ref-line = '51'; + func-mem-ref-name = 'PrachPerf::m_params'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'prach__performance_8cc_1a8afca7ac895ea509b38432d1b45bff55'; + func-mem-ref-line = '45'; + func-mem-ref-name = 'PrachPerf::m_pSectGenInfo'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'prach__performance_8cc_1aafa40e823e408268e48585ec7a623eae'; + func-mem-ref-line = '49'; + func-mem-ref-name = 'PrachPerf::m_pTestBuffer'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'prach__performance_8cc_1a65389015c6ac952ac5108c2ae802fa52'; + func-mem-ref-line = '61'; + func-mem-ref-name = 'PrachPerf::m_frameId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'prach__performance_8cc_1afa13542efadbf6db6e8ddfa388a345c0'; + func-mem-ref-line = '61'; + func-mem-ref-name = 'PrachPerf::m_subframeId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'prach__performance_8cc_1a7f021a016314b5d3a9bb095c5c08048f'; + func-mem-ref-line = '61'; + func-mem-ref-name = 'PrachPerf::m_slotId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'prach__performance_8cc_1a047b603d6d908d93ce5d58dcc2b63036'; + func-mem-ref-line = '66'; + func-mem-ref-name = 'PrachPerf::m_beamId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'prach__performance_8cc_1a9f102f8bfc163d6a26411d1855c8c97c'; + func-mem-ref-line = '59'; + func-mem-ref-name = 'PrachPerf::m_ccId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'prach__performance_8cc_1a73f8e8274bd97892f58f73d1d83b533a'; + func-mem-ref-line = '59'; + func-mem-ref-name = 'PrachPerf::m_antId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'common_8hpp_1a3cf2e25a99be565a4ab570737cfeac41'; + func-mem-ref-line = '253'; + func-mem-ref-name = 'KernelTests::performance'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'prach__performance_8cc_1a69b4bff6061152ff85770d725cced3cc'; + func-mem-ref-line = '30'; + func-mem-ref-name = 'module_name'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'prach__performance_8cc_1a540e426541deb753f7c69d8df5d5b090'; + func-mem-ref-line = '172'; + func-mem-ref-name = 'performance_cp'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'common_8cpp_1a39bf4f7770751080f5b72046abfd01a5'; + func-mem-ref-line = '78'; + func-mem-ref-name = 'get_sequence'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'common_8hpp_1a6157ff083be863bba0a7804cd1788d96'; + func-mem-ref-line = '190'; + func-mem-ref-name = 'KernelTests::get_number_of_cases'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'prach__performance_8cc_1ab4e27bca35e8082ffbe84519993b0e47'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-name = 'INSTANTIATE_TEST_CASE_P'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +UnitTest +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +PrachPerf +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +testing::ValuesIn(get_sequence(PrachPerf::get_number_of_cases("prach_performance"))) +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_performance.cc'; + func-mem-desc-line = '212'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'prach__performance_8cc_1a048e029f091d3d395e44cc24b3f197ee'; + func-mem-ref-line = '189'; + func-mem-ref-name = 'TEST_P'; + }; + }; /* func-member */ + }; + var = { + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'prach__performance_8cc_1a69b4bff6061152ff85770d725cced3cc'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +const std::string +_EnD_oF_dEf_TeXt_; + var-mem-name = 'module_name'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += "Prach_test" +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_performance.cc'; + var-mem-desc-line = '30'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-referenceby = { + var-mem-ref-id = 'prach__performance_8cc_1a048e029f091d3d395e44cc24b3f197ee'; + var-mem-ref-line = '189'; + var-mem-ref-name = 'TEST_P'; + }; + }; /* var-member */ + }; + file-full-name = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/prach_performance.cc'; + file-first-line = '1'; + file-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + file-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; +}; /* file */ +file = { + file-id = 'sample-app_8c'; + file-name = 'sample-app.c'; + define = { + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'sample-app_8c_1a369266c24eacffb87046522897a570d5'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = '_GNU_SOURCE'; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + define-mem-desc-line = '19'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'sample-app_8c_1a5014dc50f4b659adb62b35b41a000112'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'MAX_BBU_POOL_CORE_MASK'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +(4) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + define-mem-desc-line = '46'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'sample-app_8c_1a7b323875aec9da8e30e082063f75b50b'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'SW_FPGA_TOTAL_BUFFER_LEN'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +4*1024*1024*1024 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + define-mem-desc-line = '49'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'sample-app_8c_1ae9c34194d5ec7c9c24b680085991306c'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'SW_FPGA_SEGMENT_BUFFER_LEN'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +1*1024*1024*1024 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + define-mem-desc-line = '50'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'sample-app_8c_1ad5b1e2ec82b937000bd1fe89acb5384c'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'SW_FPGA_FH_TOTAL_BUFFER_LEN'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +1*1024*1024*1024 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + define-mem-desc-line = '51'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'sample-app_8c_1a67e68cef19d6e679b04c315c9234a0e3'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'FPGA_TO_SW_PRACH_RX_BUFFER_LEN'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +(8192) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + define-mem-desc-line = '52'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'sample-app_8c_1a0501e82515b2bdf36453c4cc80f5e0cc'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'NSEC_PER_SEC'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +1000000000 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + define-mem-desc-line = '54'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'sample-app_8c_1a07888c38e252992d1b95545baacad594'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'MAX_PKT_BURST'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +(448+4) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + define-mem-desc-line = '56'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'sample-app_8c_1ac29300907d1558b4b1f7bc1091151643'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'N_MAX_BUFFER_SEGMENT'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +MAX_PKT_BURST +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + define-mem-desc-line = '57'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'sample-app_8c_1a0fc58460f052686e9a3987fe7f606d17'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'MAIN_PRIORITY'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +98 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + define-mem-desc-line = '59'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'sample-app_8c_1a0b69cdc6288c9c56f1054c582852b613'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'NUM_OF_SUBFRAME_PER_FRAME'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +(10) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + define-mem-desc-line = '60'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'sample-app_8c_1aba8a0d43a5485a31890e7840ddd9fb63'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'CPU_HZ'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +tick_per_usec +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + define-mem-desc-line = '181'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'sample-app_8c_1afefb75bba69d2edd2dfe8e2f7cfd23d6'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'NS_PER_SEC'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +1E9 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + define-mem-desc-line = '325'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + }; + typedef = { + typedef-member = { + typedef-mem-kind = 'typedef'; + typedef-mem-id = 'sample-app_8c_1a9e73332de8429fbfbe1463ec8a596750'; + typedef-mem-virt = normal; + typedef-mem-prot = public; + typedef-mem-type = <<_EnD_oF_dEf_TeXt_ +struct XranLibConfig +_EnD_oF_dEf_TeXt_; + typedef-mem-name = 'XranLibConfigStruct'; + typedef-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + typedef-mem-desc-line = '100'; + typedef-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + typedef-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* typedef-member */ + }; + enum = { + enum-member = { + enum-mem-kind = 'enum'; + enum-mem-id = 'sample-app_8c_1afecde4b156cd353cb29487bbb9675d46'; + enum-mem-virt = normal; + enum-mem-prot = public; + enum-mem-name = 'SWXRANInterfaceTypeEnum'; + enum-mem-enum = { enum-name = XRANFTHTX_OUT; enum-value = '= 0'; }; + enum-mem-enum = { enum-name = XRANFTHTX_PRB_MAP_OUT; }; + enum-mem-enum = { enum-name = XRANFTHTX_SEC_DESC_OUT; }; + enum-mem-enum = { enum-name = XRANFTHRX_IN; }; + enum-mem-enum = { enum-name = XRANFTHRX_PRB_MAP_IN; }; + enum-mem-enum = { enum-name = XRANFTHTX_SEC_DESC_IN; }; + enum-mem-enum = { enum-name = XRANFTHRACH_IN; }; + enum-mem-enum = { enum-name = XRANSRS_IN; }; + enum-mem-enum = { enum-name = MAX_SW_XRAN_INTERFACE_NUM; }; + enum-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + enum-mem-desc-line = '101'; + enum-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + enum-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* enum-member */ + }; + func = { + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'sample-app_8c_1aa8022559021fc69bb2664a476ac83ba3'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_fh_rx_callback'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pCallbackTag'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'status'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + func-mem-desc-line = '184'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__mlog__lnx_8h_1ab3a08558e2971726cddceed59f9fd3bd'; + func-mem-ref-line = '42'; + func-mem-ref-name = 'MLogTick'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'sample-app_8c_1adb46cbd655db6e9c061f62d161f7d2b0'; + func-mem-ref-line = '78'; + func-mem-ref-name = 'xranConf'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a72b0cba491d0dd2703d684cb2c2a14cf'; + func-mem-ref-line = '517'; + func-mem-ref-name = 'xran_fh_config::frame_conf'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a78b2fab8e8d6a6424c2712d528fd9a58'; + func-mem-ref-line = '461'; + func-mem-ref-name = 'xran_frame_config::nNumerology'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'sample-app_8c_1ad5f5d1afc7b3f177bdffb5e9c83bc28d'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_fh_rx_prach_callback'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pCallbackTag'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'status'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + func-mem-desc-line = '185'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__mlog__lnx_8h_1ab3a08558e2971726cddceed59f9fd3bd'; + func-mem-ref-line = '42'; + func-mem-ref-name = 'MLogTick'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__mlog__lnx_8h_1a1af05b8bdab3c12648a013c0cda7bbc0'; + func-mem-ref-line = '49'; + func-mem-ref-name = 'MLogAddVariables'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__mlog__lnx_8h_1a2ea88cf07a4bee8b98cb6cea2ef3ae36'; + func-mem-ref-line = '44'; + func-mem-ref-name = 'MLogTask'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__mlog__task__id_8h_1a70799f191170357c8d74fa58300c99d7'; + func-mem-ref-line = '60'; + func-mem-ref-name = 'PID_GNB_PRACH_CB'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'sample-app_8c_1aa2ca457f9c31cce9b71aa56212dcf9c6'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +static BbuXranIoIfStruct * +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_get_ctx'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + func-mem-desc-line = '187'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'sample-app_8c_1ae5e29d73f06fe49668d3e129c84a36f8'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +static void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'print_menu'; + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + func-mem-desc-line = '192'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'sample-app_8c_1a9d94b94ffb052c2cfacbb04385f4868c'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +static int32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'get_xran_sfidx'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'nNrOfSlotInSf'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + func-mem-desc-line = '201'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'sample-app_8c_1abcd59eea4ce9c1b00cf70e967e8d7aef'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_fh_rx_srs_callback'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pCallbackTag'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +xran_status_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'status'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + func-mem-desc-line = '261'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__mlog__lnx_8h_1ab3a08558e2971726cddceed59f9fd3bd'; + func-mem-ref-line = '42'; + func-mem-ref-name = 'MLogTick'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__mlog__lnx_8h_1a1af05b8bdab3c12648a013c0cda7bbc0'; + func-mem-ref-line = '49'; + func-mem-ref-name = 'MLogAddVariables'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__mlog__lnx_8h_1a2ea88cf07a4bee8b98cb6cea2ef3ae36'; + func-mem-ref-line = '44'; + func-mem-ref-name = 'MLogTask'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__mlog__task__id_8h_1a475acdfebabbac2b27bc7c22c201a171'; + func-mem-ref-line = '61'; + func-mem-ref-name = 'PID_GNB_SRS_CB'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'sample-app_8c_1a867314baed90131ffce5918811d2f4ed'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +unsigned long +_EnD_oF_dEf_TeXt_; + func-mem-name = 'timer_get_ticks'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + func-mem-desc-line = '289'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@param void + +@return Ticks + +@description +This function reads the rtdsc clock and returns the current value in there. +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'sample-app_8c_1afee345d3b4282c9b66f6a88a897ca358'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'timer_set_tsc_freq_from_clock'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + func-mem-desc-line = '323'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@param void + +@return 0 if SUCCESS + +@description +This function gets the clock speed of the core and figures out number of ticks per usec. +It is used by l1app and testmac applications to initialize the mlog utility +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'sample-app_8c_1aa8882d42d07fbd9750da4db4395b438c'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'physide_dl_tti_call_back'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'param'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + func-mem-desc-line = '351'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__mlog__lnx_8h_1ab3a08558e2971726cddceed59f9fd3bd'; + func-mem-ref-line = '42'; + func-mem-ref-name = 'MLogTick'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__mlog__lnx_8h_1a2ea88cf07a4bee8b98cb6cea2ef3ae36'; + func-mem-ref-line = '44'; + func-mem-ref-name = 'MLogTask'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__mlog__task__id_8h_1a9884cd7227be2b321f8a85a1643c3b99'; + func-mem-ref-line = '57'; + func-mem-ref-name = 'PID_GNB_PROC_TIMING'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__lib__wrap_8hpp_1ad93226058ef4fd59bd7d0cd55701b752'; + func-mem-ref-line = '936'; + func-mem-ref-name = 'xranLibWraper::Open'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'sample-app_8c_1a52c968a559117b66a05591f958da75c2'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'physide_ul_half_slot_call_back'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'param'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + func-mem-desc-line = '359'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__mlog__lnx_8h_1ab3a08558e2971726cddceed59f9fd3bd'; + func-mem-ref-line = '42'; + func-mem-ref-name = 'MLogTick'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__mlog__lnx_8h_1a2ea88cf07a4bee8b98cb6cea2ef3ae36'; + func-mem-ref-line = '44'; + func-mem-ref-name = 'MLogTask'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__mlog__task__id_8h_1a9884cd7227be2b321f8a85a1643c3b99'; + func-mem-ref-line = '57'; + func-mem-ref-name = 'PID_GNB_PROC_TIMING'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__lib__wrap_8hpp_1ad93226058ef4fd59bd7d0cd55701b752'; + func-mem-ref-line = '936'; + func-mem-ref-name = 'xranLibWraper::Open'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'sample-app_8c_1a874ba95e7c465e83ccc26ab623eec60c'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'physide_ul_full_slot_call_back'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'param'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + func-mem-desc-line = '367'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__mlog__lnx_8h_1ab3a08558e2971726cddceed59f9fd3bd'; + func-mem-ref-line = '42'; + func-mem-ref-name = 'MLogTick'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__mlog__lnx_8h_1a2ea88cf07a4bee8b98cb6cea2ef3ae36'; + func-mem-ref-line = '44'; + func-mem-ref-name = 'MLogTask'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__mlog__task__id_8h_1a9884cd7227be2b321f8a85a1643c3b99'; + func-mem-ref-line = '57'; + func-mem-ref-name = 'PID_GNB_PROC_TIMING'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__lib__wrap_8hpp_1ad93226058ef4fd59bd7d0cd55701b752'; + func-mem-ref-line = '936'; + func-mem-ref-name = 'xranLibWraper::Open'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'sample-app_8c_1ac2172b58f540a081b138ce91d13d9cb3'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'init_xran'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + func-mem-desc-line = '375'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'sample-app_8c_1af495811a4eebe0e61cd87eb465382fb7'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'init_xran_iq_content'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + func-mem-desc-line = '793'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'sample-app_8c_1ac871776e03d4a4ae1717d2600a7f7dff'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'stop_xran'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + func-mem-desc-line = '1122'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1a4120602c15ddabfc3372e238d17f0414'; + func-mem-ref-line = '2877'; + func-mem-ref-name = 'xran_mm_destroy'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'sample-app_8c_1a85ff1667d07b822b2c7f5a91a0c0bc95'; + func-mem-ref-line = '76'; + func-mem-ref-name = 'xranHandle'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a814959a7b5ff6cd4474433f62312eee0'; + func-mem-ref-line = '54'; + func-mem-ref-name = 'XRAN_STATUS_SUCCESS'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'common_8h_1a1474943d458f066f2f4be85a329d9028'; + func-mem-ref-line = '67'; + func-mem-ref-name = 'iAssert'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'sample-app_8c_1a882d9cb83c94aa24d5eb63c90152cb4e'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'get_xran_iq_content'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + func-mem-desc-line = '1139'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'sample-app_8c_1a24a2bdc164076e67087d8fa480d18728'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'version_print'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + func-mem-desc-line = '1297'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'common_8h_1af1b4d7e00abe98f69a2eeb9d7760c14f'; + func-mem-ref-line = '31'; + func-mem-ref-name = 'VERSIONX'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'sample-app_8c_1a0ddf1224851353fc92bfbff6f499fa97'; + func-mem-ref-line = '1319'; + func-mem-ref-name = 'main'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'sample-app_8c_1a0ddf1224851353fc92bfbff6f499fa97'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'main'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'argc'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +char * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'argv'; + func-mem-param-array = '[]'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + func-mem-desc-line = '1319'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__compression_8h_1a6858c4011b5cad020222e9ca5c2786f5'; + func-mem-ref-line = '75'; + func-mem-ref-name = 'xranlib_decompress_response::len'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a2f600110ab5726a0f21375b7f24c0326a4b6bcf9a51e104e19a5fa2d859a63080'; + func-mem-ref-line = '191'; + func-mem-ref-name = 'XRAN_INIT'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'sample-app_8c_1a24a2bdc164076e67087d8fa480d18728'; + func-mem-ref-line = '1297'; + func-mem-ref-name = 'version_print'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__sync__api_8c_1ac7d90edeea3b7f779bf85f44810c6a3a'; + func-mem-ref-line = '113'; + func-mem-ref-name = 'xran_is_synchronized'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'config_8c_1add16264aa9472e4e90d1a77e086c7f93'; + func-mem-ref-line = '497'; + func-mem-ref-name = 'parseConfigFile'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'config_8h_1a5b68c8543d51de71f5d2aa5fa824cc5f'; + func-mem-ref-line = '59'; + func-mem-ref-name = '_RuntimeConfig::ant_file'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'config_8h_1aa7579751e13de05edb086914d6122f31'; + func-mem-ref-line = '38'; + func-mem-ref-name = '_RuntimeConfig::numCC'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a34dbe5e515cc78b4ce26fa287e6c1edc'; + func-mem-ref-line = '110'; + func-mem-ref-name = 'XRAN_MAX_SECTOR_NR'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'config_8h_1ad0ca738be588c2a611cc3f706bfcd49e'; + func-mem-ref-line = '41'; + func-mem-ref-name = '_RuntimeConfig::antElmTRx'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1af3e0ced3530652b3c92220c8783b55fa'; + func-mem-ref-line = '118'; + func-mem-ref-name = 'XRAN_MAX_ANT_ARRAY_ELM_NR'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'common_8c_1ae3e0286957f26fa1804745d15f82724d'; + func-mem-ref-line = '44'; + func-mem-ref-name = 'numCCPorts'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'common_8c_1ae69cd45536b5b80a0eac08ee522d8aa2'; + func-mem-ref-line = '47'; + func-mem-ref-name = 'num_eAxc'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'config_8h_1abbeb3b559727e749a5d085c9374e541d'; + func-mem-ref-line = '39'; + func-mem-ref-name = '_RuntimeConfig::numAxc'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'config_8h_1ac1552b11af951e30f8d57c77cc5bed81'; + func-mem-ref-line = '113'; + func-mem-ref-name = '_RuntimeConfig::mu_number'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'sample-app_8c_1a100fc21a1a29489f7422d4fbacbcde21'; + func-mem-ref-line = '71'; + func-mem-ref-name = 'nFpgaToSW_FTH_RxBufferLen'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'sample-app_8c_1ace6876969173aa1c62dc3a23c19d90c3'; + func-mem-ref-line = '72'; + func-mem-ref-name = 'nFpgaToSW_PRACH_RxBufferLen'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'sample-app_8c_1a9b25e7e7b484cb2d903c20c4791a52ac'; + func-mem-ref-line = '73'; + func-mem-ref-name = 'nSW_ToFpga_FTH_TxBufferLen'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1aa099ceebb1479cddef1ee64f5c311973'; + func-mem-ref-line = '130'; + func-mem-ref-name = 'XRAN_MAX_SECTIONS_PER_SYM'; + }; + }; /* func-member */ + }; + var = { + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'sample-app_8c_1a9dc062894f50c14d43977487568e69bc'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +enum app_state +_EnD_oF_dEf_TeXt_; + var-mem-name = 'state'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + var-mem-desc-line = '66'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'sample-app_8c_1acbab6f0999957daa6d05b0f286c21666'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint64_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'tick_per_usec'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + var-mem-desc-line = '64'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-referenceby = { + var-mem-ref-id = 'common_8cpp_1a56c41cbb9de4bce25da45ecd74b46a81'; + var-mem-ref-line = '119'; + var-mem-ref-name = 'tsc_recovery'; + }; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'sample-app_8c_1a28c5580c982c88687ca36b46d913cc0c'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +static volatile uint64_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'timer_last_irq_tick'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += 0 +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + var-mem-desc-line = '65'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'sample-app_8c_1ad736ae4fe35cf7b8096caad7ddf1cf57'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +static uint64_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'tsc_resolution_hz'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += 0 +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + var-mem-desc-line = '66'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'sample-app_8c_1aa2ff8adc05857ee86fea1fcff787290b'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +RuntimeConfig +_EnD_oF_dEf_TeXt_; + var-mem-name = 'startupConfiguration'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += {0} +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + var-mem-desc-line = '68'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'sample-app_8c_1a100fc21a1a29489f7422d4fbacbcde21'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'nFpgaToSW_FTH_RxBufferLen'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + var-mem-desc-line = '71'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-referenceby = { + var-mem-ref-id = 'sample-app_8c_1a0ddf1224851353fc92bfbff6f499fa97'; + var-mem-ref-line = '1319'; + var-mem-ref-name = 'main'; + }; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'sample-app_8c_1ace6876969173aa1c62dc3a23c19d90c3'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'nFpgaToSW_PRACH_RxBufferLen'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + var-mem-desc-line = '72'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-referenceby = { + var-mem-ref-id = 'sample-app_8c_1a0ddf1224851353fc92bfbff6f499fa97'; + var-mem-ref-line = '1319'; + var-mem-ref-name = 'main'; + }; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'sample-app_8c_1a9b25e7e7b484cb2d903c20c4791a52ac'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'nSW_ToFpga_FTH_TxBufferLen'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + var-mem-desc-line = '73'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-referenceby = { + var-mem-ref-id = 'init__sys__functional_8cc_1ac2f03036711a42868a78783b735097e5'; + var-mem-ref-line = '120'; + var-mem-ref-name = 'TEST_P'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'sample-app_8c_1a0ddf1224851353fc92bfbff6f499fa97'; + var-mem-ref-line = '1319'; + var-mem-ref-name = 'main'; + }; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'sample-app_8c_1ab1ffba8c3756a6511d84df18ea8169ef'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +static struct xran_fh_init +_EnD_oF_dEf_TeXt_; + var-mem-name = 'xranInit'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + var-mem-desc-line = '73'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'sample-app_8c_1a85ff1667d07b822b2c7f5a91a0c0bc95'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + var-mem-name = 'xranHandle'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += NULL +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + var-mem-desc-line = '76'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-referenceby = { + var-mem-ref-id = 'sample-app_8c_1ac871776e03d4a4ae1717d2600a7f7dff'; + var-mem-ref-line = '1122'; + var-mem-ref-name = 'stop_xran'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'xran__lib__wrap_8hpp_1ad93226058ef4fd59bd7d0cd55701b752'; + var-mem-ref-line = '936'; + var-mem-ref-name = 'xranLibWraper::Open'; + }; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'sample-app_8c_1adb46cbd655db6e9c061f62d161f7d2b0'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_fh_config +_EnD_oF_dEf_TeXt_; + var-mem-name = 'xranConf'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + var-mem-desc-line = '76'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-referenceby = { + var-mem-ref-id = 'sample-app_8c_1aa8022559021fc69bb2664a476ac83ba3'; + var-mem-ref-line = '226'; + var-mem-ref-name = 'xran_fh_rx_callback'; + }; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'sample-app_8c_1ac1813c55eefb1dca0fd1af4c7a173c4a'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_fh_config * +_EnD_oF_dEf_TeXt_; + var-mem-name = 'pXranConf'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += NULL +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + var-mem-desc-line = '79'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-referenceby = { + var-mem-ref-id = 'xran__lib__wrap_8hpp_1ad93226058ef4fd59bd7d0cd55701b752'; + var-mem-ref-line = '936'; + var-mem-ref-name = 'xranLibWraper::Open'; + }; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'sample-app_8c_1a32f58d084f5f574e04d6c98baf73f399'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +static BbuXranIoIfStruct +_EnD_oF_dEf_TeXt_; + var-mem-name = 'gsXranIoIf'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + var-mem-desc-line = '167'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'sample-app_8c_1a20254cdf789f9b3603cc86cddecb6c6d'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +static XranLibConfigStruct * +_EnD_oF_dEf_TeXt_; + var-mem-name = 'gpXranLibConfig'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += NULL +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + var-mem-desc-line = '168'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'sample-app_8c_1a9e6e93a89aa6750e04b8249db2d8ad2a'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +long +_EnD_oF_dEf_TeXt_; + var-mem-name = 'rx_counter'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + var-mem-desc-line = '170'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'sample-app_8c_1a633effdcb470f03cbf5aa8c9f9540ddb'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +long +_EnD_oF_dEf_TeXt_; + var-mem-name = 'tx_counter'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + var-mem-desc-line = '171'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'sample-app_8c_1aea924947c3d744f2208baa8a79229f3f'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +long +_EnD_oF_dEf_TeXt_; + var-mem-name = 'tx_bytes_counter'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + var-mem-desc-line = '172'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-referenceby = { + var-mem-ref-id = 'xran__main_8c_1adbe808fba48ef1390180fb1bdc68c1d7'; + var-mem-ref-line = '201'; + var-mem-ref-name = 'xran_updateSfnSecStart'; + }; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'sample-app_8c_1af2fff595280c3b2999bfa40d7beafadf'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +long +_EnD_oF_dEf_TeXt_; + var-mem-name = 'rx_bytes_counter'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + var-mem-desc-line = '173'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-referenceby = { + var-mem-ref-id = 'xran__main_8c_1adbe808fba48ef1390180fb1bdc68c1d7'; + var-mem-ref-line = '201'; + var-mem-ref-name = 'xran_updateSfnSecStart'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'xran__main_8c_1a7a412a9cd0ac919dccb2112fb386d64a'; + var-mem-ref-line = '1342'; + var-mem-ref-name = 'handle_ecpri_ethertype'; + }; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'sample-app_8c_1ad1b05d3ad049de39bc3f9bcdfdf66d1b'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +long +_EnD_oF_dEf_TeXt_; + var-mem-name = 'tx_bytes_per_sec'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + var-mem-desc-line = '174'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-referenceby = { + var-mem-ref-id = 'xran__main_8c_1adbe808fba48ef1390180fb1bdc68c1d7'; + var-mem-ref-line = '201'; + var-mem-ref-name = 'xran_updateSfnSecStart'; + }; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'sample-app_8c_1adc695e955f335d5dedb486ce89a4e0b3'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +long +_EnD_oF_dEf_TeXt_; + var-mem-name = 'rx_bytes_per_sec'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + var-mem-desc-line = '175'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-referenceby = { + var-mem-ref-id = 'xran__main_8c_1adbe808fba48ef1390180fb1bdc68c1d7'; + var-mem-ref-line = '201'; + var-mem-ref-name = 'xran_updateSfnSecStart'; + }; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'sample-app_8c_1a31b24ea77392ef70e4414a8198333f92'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +long +_EnD_oF_dEf_TeXt_; + var-mem-name = 'old_rx_counter'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += 0 +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + var-mem-desc-line = '176'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'sample-app_8c_1a6d55780ebad3284fd5d6c1fcc9b46df2'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +long +_EnD_oF_dEf_TeXt_; + var-mem-name = 'old_tx_counter'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += 0 +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + var-mem-desc-line = '177'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + }; + file-full-name = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/sample-app.c'; + file-first-line = '1'; + file-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + file-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; +}; /* file */ +file = { + file-id = 'u__plane__functional_8cc'; + file-name = 'u_plane_functional.cc'; + func = { + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'u__plane__functional_8cc_1a17e5d82ac5aec3860b1324a80fda79ed'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-name = 'TEST_P'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +U_planeCheck +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +Test_DLUL +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/u_plane_functional.cc'; + func-mem-desc-line = '61'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1gga9c60a23fdae979ad1842b255790d1558a19f3d3cee814f10e4f3bf7d80194083f'; + func-mem-ref-line = '149'; + func-mem-ref-name = 'XRAN_DIR_DL'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1ab5ce6839bae2968c79930a0bfa17f4d8ae0b667dc04b0baacb15bc9c40b776098'; + func-mem-ref-line = '473'; + func-mem-ref-name = 'XRAN_CPU_LE_BYTE_ORDER'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8c_1adc9636576fb70f4b4fcfd1d03fe59998'; + func-mem-ref-line = '348'; + func-mem-ref-name = 'prepare_symbol_ex'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'u__plane__functional_8cc_1a814db5f2ff5eb8cff5caf3ea1b473475'; + func-mem-ref-line = '33'; + func-mem-ref-name = 'U_planeCheck::test_buffer'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'u__plane__functional_8cc_1ad3c8fd8da54a8693b6ea41565af2ad19'; + func-mem-ref-line = '34'; + func-mem-ref-name = 'U_planeCheck::iq_offset'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1aa90ff3ad961fe295cdffddc945999212'; + func-mem-ref-line = '132'; + func-mem-ref-name = 'xran_ecpri_hdr::cmnhdr'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1a5b41115e5686e3ff4f14c356a3aa209a'; + func-mem-ref-line = '118'; + func-mem-ref-name = 'xran_ecpri_cmn_hdr::ecpri_mesg_type'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1gga5f49588115e2d0a807ad613ae866384aaef46b9a1a9d9f7c3276e1e99b02ef6de'; + func-mem-ref-line = '77'; + func-mem-ref-name = 'ECPRI_IQ_DATA'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1a61bf830b8866773b24cbca74ed3a4d6f'; + func-mem-ref-line = '119'; + func-mem-ref-name = 'xran_ecpri_cmn_hdr::ecpri_payl_size'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1a40f66f521df9b1dbae9d0ee852c66e0d'; + func-mem-ref-line = '173'; + func-mem-ref-name = 'radio_app_common_hdr::data_direction'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1a03c1016ac46b9df250b994f242cf956a'; + func-mem-ref-line = '176'; + func-mem-ref-name = 'radio_app_common_hdr::frame_id'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__up_8h_1a9f9f2f87d8b5cc7e4af6ef3e2c4c8189'; + func-mem-ref-line = '69'; + func-mem-ref-name = 'data_section_hdr::all_bits'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__up_8h_1acb00c5e7ebe809fda7288c699eed867c'; + func-mem-ref-line = '71'; + func-mem-ref-name = 'data_section_hdr::num_prbu'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__up_8h_1a11d1616fb975ccafbc33ab590fe501c4'; + func-mem-ref-line = '75'; + func-mem-ref-name = 'data_section_hdr::sect_id'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__cp_8h_1affa3adbd50cd4af2018ba1fc0e8c3e31'; + func-mem-ref-line = '243'; + func-mem-ref-name = 'rb'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__up__api_8c_1adfc5ea408600c8de1384be020b359d95'; + func-mem-ref-line = '327'; + func-mem-ref-name = 'xran_extract_iq_samples'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'common_8cpp_1a39bf4f7770751080f5b72046abfd01a5'; + func-mem-ref-line = '78'; + func-mem-ref-name = 'get_sequence'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'common_8hpp_1a6157ff083be863bba0a7804cd1788d96'; + func-mem-ref-line = '190'; + func-mem-ref-name = 'KernelTests::get_number_of_cases'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'u__plane__functional_8cc_1aa59dece42a6c30feedc30accb71c2001'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-name = 'INSTANTIATE_TEST_CASE_P'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +UnitTest +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +U_planeCheck +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +testing::ValuesIn(get_sequence(U_planeCheck::get_number_of_cases("u_plane_functional"))) +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/u_plane_functional.cc'; + func-mem-desc-line = '180'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'u__plane__functional_8cc_1a17e5d82ac5aec3860b1324a80fda79ed'; + func-mem-ref-line = '61'; + func-mem-ref-name = 'TEST_P'; + }; + }; /* func-member */ + }; + var = { + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'u__plane__functional_8cc_1a69b4bff6061152ff85770d725cced3cc'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +const std::string +_EnD_oF_dEf_TeXt_; + var-mem-name = 'module_name'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += "u-plane" +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/u_plane_functional.cc'; + var-mem-desc-line = '28'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + }; + file-full-name = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/u_plane_functional.cc'; + file-first-line = '1'; + file-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + file-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; +}; /* file */ +file = { + file-id = 'u__plane__performance_8cc'; + file-name = 'u_plane_performance.cc'; + func = { + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'u__plane__performance_8cc_1a227817e595c0b079e12728d4d19364e8'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-name = 'TEST_P'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +U_planePerf +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +Test_DL +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/u_plane_performance.cc'; + func-mem-desc-line = '104'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'common_8hpp_1a3cf2e25a99be565a4ab570737cfeac41'; + func-mem-ref-line = '253'; + func-mem-ref-name = 'KernelTests::performance'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'u__plane__performance_8cc_1a69b4bff6061152ff85770d725cced3cc'; + func-mem-ref-line = '28'; + func-mem-ref-name = 'module_name'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'u__plane__performance_8cc_1aa2fb15367f40188e0a2d2c15fa6ad124'; + func-mem-ref-line = '66'; + func-mem-ref-name = 'U_planePerf::fucntional_dl'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'u__plane__performance_8cc_1aecd4daf2f65d0901e69252e8704aead5'; + func-mem-ref-line = '34'; + func-mem-ref-name = 'U_planePerf::request'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'u__plane__performance_8cc_1a73f283dac7c232619e62aba3cab7e0b1'; + func-mem-ref-line = '35'; + func-mem-ref-name = 'U_planePerf::response'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'common_8cpp_1a39bf4f7770751080f5b72046abfd01a5'; + func-mem-ref-line = '78'; + func-mem-ref-name = 'get_sequence'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'common_8hpp_1a6157ff083be863bba0a7804cd1788d96'; + func-mem-ref-line = '190'; + func-mem-ref-name = 'KernelTests::get_number_of_cases'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'u__plane__performance_8cc_1ac3ee52d20c26760f73891becf45f317b'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-name = 'INSTANTIATE_TEST_CASE_P'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +UnitTest +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +U_planePerf +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +testing::ValuesIn(get_sequence(U_planePerf::get_number_of_cases("u_plane_performance"))) +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/u_plane_performance.cc'; + func-mem-desc-line = '109'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'u__plane__performance_8cc_1a227817e595c0b079e12728d4d19364e8'; + func-mem-ref-line = '104'; + func-mem-ref-name = 'TEST_P'; + }; + }; /* func-member */ + }; + var = { + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'u__plane__performance_8cc_1a69b4bff6061152ff85770d725cced3cc'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +const std::string +_EnD_oF_dEf_TeXt_; + var-mem-name = 'module_name'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += "u-plane" +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/u_plane_performance.cc'; + var-mem-desc-line = '28'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-referenceby = { + var-mem-ref-id = 'u__plane__performance_8cc_1a227817e595c0b079e12728d4d19364e8'; + var-mem-ref-line = '104'; + var-mem-ref-name = 'TEST_P'; + }; + }; /* var-member */ + }; + file-full-name = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/u_plane_performance.cc'; + file-first-line = '1'; + file-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + file-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; +}; /* file */ +file = { + file-id = 'unittests_8cc'; + file-name = 'unittests.cc'; + define = { + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'unittests_8cc_1aef6aa683c7d5cd615a8e78ef6b89208c'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'MAX_IQ'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +(273*12*2) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/unittests.cc'; + define-mem-desc-line = '23'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + }; + var = { + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'unittests_8cc_1a1ad007b76d7b21a06368f0ec21c27cc2'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +int8_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'iCompressionOutput_AVX_A'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/unittests.cc'; + var-mem-desc-line = '25'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'unittests_8cc_1a9d45c46ffc07d37b74ff5a826ce9574b'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +int16_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'iDeCompressionOutput_AVX_A'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/unittests.cc'; + var-mem-desc-line = '26'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'unittests_8cc_1ab82f258658bb6832617db7d0992ee0a4'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +int16_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'iCompressionInput'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/unittests.cc'; + var-mem-desc-line = '27'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'unittests_8cc_1a103741b3e35f622960485bb8022ff1c3'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +int16_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'iLength'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += 273*12*2 +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/unittests.cc'; + var-mem-desc-line = '28'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + }; + file-full-name = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran/unittests.cc'; + file-first-line = '1'; + file-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + file-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; +}; /* file */ +file = { + file-id = 'xran__app__frag_8c'; + file-name = 'xran_app_frag.c'; + define = { + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__app__frag_8c_1a2edabb9c91d40ec79fbebbb2fa0457d0'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XRAN_PAYLOAD_RB_ALIGN'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +(N_SC_PER_PRB*(IQ_BITS/8)*2) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_app_frag.c'; + define-mem-desc-line = '43'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ +at least 12*4=48 bytes per one RB +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + }; + func = { + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__app__frag_8c_1a51a839e367a6499bc53c3839b1a76f6a'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +static void +_EnD_oF_dEf_TeXt_; + func-mem-name = '__fill_xranhdr_frag'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_up_pkt_hdr * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'dst'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const struct xran_up_pkt_hdr * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'src'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'rblen_bytes'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'rboff_bytes'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_section_info * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'sectinfo'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'mf'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'seqid'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_app_frag.c'; + func-mem-desc-line = '45'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__app__frag_8c_1a4f37a272d0d4d9ce35506a01b92e9c85'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +static void +_EnD_oF_dEf_TeXt_; + func-mem-name = '__free_fragments'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mbuf * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'mb'; + func-mem-param-array = '[]'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'num'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_app_frag.c'; + func-mem-desc-line = '75'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__app__frag_8c_1a601e1216fbace8ea32a97e37df69b129'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_app_fragment_packet'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mbuf * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pkt_in'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mbuf ** +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pkts_out'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'nb_pkts_out'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'mtu_size'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mempool * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pool_direct'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mempool * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pool_indirect'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_section_info * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'sectinfo'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'seqid'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_app_frag.c'; + func-mem-desc-line = '104'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +XRAN fragmentation. + +This function implements the application fragmentation of XRAN packets. + +@param pkt_in + The input packet. +@param pkts_out + Array storing the output fragments. +@param mtu_size + Size in bytes of the Maximum Transfer Unit (MTU) for the outgoing XRAN + datagrams. This value includes the size of the XRAN headers. +@param pool_direct + MBUF pool used for allocating direct buffers for the output fragments. +@param pool_indirect + MBUF pool used for allocating indirect buffers for the output fragments. +@return + Upon successful completion - number of output fragments placed + in the pkts_out array. + Otherwise - (-1) * . +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__app__frag_8c_1a2edabb9c91d40ec79fbebbb2fa0457d0'; + func-mem-ref-line = '43'; + func-mem-ref-name = 'XRAN_PAYLOAD_RB_ALIGN'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__printf_8h_1a417ba2c3b49b216e358bc340346bf1cf'; + func-mem-ref-line = '54'; + func-mem-ref-name = 'print_dbg'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__up_8h_1a080244f9e1996ad47a6e709f78897803'; + func-mem-ref-line = '168'; + func-mem-ref-name = 'eth_xran_up_pkt_hdr::xran_hdr'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__printf_8h_1a16c2c0a30b31515830a4a8eff6cf10b5'; + func-mem-ref-line = '62'; + func-mem-ref-name = 'print_err'; + }; + }; /* func-member */ + }; + file-full-name = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_app_frag.c'; + file-first-line = '1'; + file-briefdesc = <<_EnD_oF_dEf_TeXt_ +xRAN application frgamentation for U-plane packets +_EnD_oF_dEf_TeXt_; + file-documentation = <<_EnD_oF_dEf_TeXt_ +@author Intel Corporation +_EnD_oF_dEf_TeXt_; +}; /* file */ +file = { + file-id = 'xran__app__frag_8h'; + file-name = 'xran_app_frag.h'; + func = { + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__app__frag_8h_1a601e1216fbace8ea32a97e37df69b129'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_app_fragment_packet'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mbuf * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pkt_in'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mbuf ** +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pkts_out'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'nb_pkts_out'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'mtu_size'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mempool * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pool_direct'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mempool * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pool_indirect'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_section_info * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'sectinfo'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'seqid'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_app_frag.h'; + func-mem-desc-line = '47'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +XRAN fragmentation. + +This function implements the application fragmentation of XRAN packets. + +@param pkt_in + The input packet. +@param pkts_out + Array storing the output fragments. +@param mtu_size + Size in bytes of the Maximum Transfer Unit (MTU) for the outgoing XRAN + datagrams. This value includes the size of the XRAN headers. +@param pool_direct + MBUF pool used for allocating direct buffers for the output fragments. +@param pool_indirect + MBUF pool used for allocating indirect buffers for the output fragments. +@return + Upon successful completion - number of output fragments placed + in the pkts_out array. + Otherwise - (-1) * . +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__app__frag_8c_1a2edabb9c91d40ec79fbebbb2fa0457d0'; + func-mem-ref-line = '43'; + func-mem-ref-name = 'XRAN_PAYLOAD_RB_ALIGN'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__printf_8h_1a417ba2c3b49b216e358bc340346bf1cf'; + func-mem-ref-line = '54'; + func-mem-ref-name = 'print_dbg'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__up_8h_1a080244f9e1996ad47a6e709f78897803'; + func-mem-ref-line = '168'; + func-mem-ref-name = 'eth_xran_up_pkt_hdr::xran_hdr'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__printf_8h_1a16c2c0a30b31515830a4a8eff6cf10b5'; + func-mem-ref-line = '62'; + func-mem-ref-name = 'print_err'; + }; + }; /* func-member */ + }; + file-full-name = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_app_frag.h'; + file-first-line = '1'; + file-briefdesc = <<_EnD_oF_dEf_TeXt_ +Header file for functions to perform application level fragmentation. +_EnD_oF_dEf_TeXt_; + file-documentation = <<_EnD_oF_dEf_TeXt_ +@author Intel Corporation +_EnD_oF_dEf_TeXt_; +}; /* file */ +file = { + file-id = 'xran__common_8c'; + file-name = 'xran_common.c'; + define = { + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__common_8c_1ae413c4f1a4664d68aca9d331d1891a0c'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'MBUFS_CNT'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +16 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.c'; + define-mem-desc-line = '44'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + }; + func = { + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__common_8c_1acb6ecf7858c99c963182b9b7884deca6'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_process_rx_sym'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'arg'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mbuf * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'mbuf'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'iq_data_start'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'size'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'CC_ID'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'Ant_ID'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'frame_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'subframe_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'slot_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'symb_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'num_prbu'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'start_prbu'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'sym_inc'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'rb'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'sect_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint32_t * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'mb_free'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.c'; + func-mem-desc-line = '48'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1aa09e72e94d2a1d891e86f4c09b0f8b21'; + func-mem-ref-line = '223'; + func-mem-ref-name = 'xran_dev_get_ctx'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a725b4fbf070658ef449db5718a6c9f22'; + func-mem-ref-line = '56'; + func-mem-ref-name = 'SLOTS_PER_SYSTEMFRAME'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a76e4794a93b44d5f6bd835f1640f7f4f'; + func-mem-ref-line = '54'; + func-mem-ref-name = 'SLOTNUM_PER_SUBFRAME'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a34dbe5e515cc78b4ce26fa287e6c1edc'; + func-mem-ref-line = '110'; + func-mem-ref-name = 'XRAN_MAX_SECTOR_NR'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a35fa05e7523928c0c86cbcf835c12dc5'; + func-mem-ref-line = '111'; + func-mem-ref-name = 'XRAN_MAX_ANTENNA_NR'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a87d92ec177ed9c388685a91051f66205'; + func-mem-ref-line = '122'; + func-mem-ref-name = 'XRAN_NUM_OF_SYMBOL_PER_SLOT'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1af3ad0b6136919aabcdbac46b754aa7ed'; + func-mem-ref-line = '224'; + func-mem-ref-name = 'xran_device_ctx::sFrontHaulRxBbuIoBufCtrl'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1af0963ba32cc8ecd280afd2e474eb426a'; + func-mem-ref-line = '109'; + func-mem-ref-name = 'XRAN_N_FE_BUF_LEN'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'sample-app_8c_1ab79185e465507117d7b13fd30ec49f70'; + func-mem-ref-line = '129'; + func-mem-ref-name = 'BbuIoBufCtrlStruct::sBufferList'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1afa8c44acddb126e8bb0652d7b4e4395e'; + func-mem-ref-line = '596'; + func-mem-ref-name = 'xran_buffer_list::pBuffers'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a77f0d5374ee675db57c0b29946ca7744'; + func-mem-ref-line = '566'; + func-mem-ref-name = 'xran_flat_buffer::pData'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a3bfdc9ec9f4c738715460ddd03f0833f'; + func-mem-ref-line = '225'; + func-mem-ref-name = 'xran_device_ctx::sFrontHaulRxPrbMapBbuIoBufCtrl'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a2357c89e196d6c8c53e29bf04d168b7e'; + func-mem-ref-line = '423'; + func-mem-ref-name = 'xran_prb_map::prbMap'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a5a2ad8f5285dd33572e310069cdac3c4'; + func-mem-ref-line = '422'; + func-mem-ref-name = 'xran_prb_map::nPrbElm'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__printf_8h_1a16c2c0a30b31515830a4a8eff6cf10b5'; + func-mem-ref-line = '62'; + func-mem-ref-name = 'print_err'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'ethdi_8h_1a39fca1837c5ce7715cbf571669660c13a90bbe176be23902fec1de76501599769'; + func-mem-ref-line = '137'; + func-mem-ref-name = 'MBUF_FREE'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'common_8h_1ab97ae0d1cc679c3c40b779b34ab7b4cf'; + func-mem-ref-line = '49'; + func-mem-ref-name = 'N_SC_PER_PRB'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a4adf91126704ea524f98f461f6180c85'; + func-mem-ref-line = '209'; + func-mem-ref-name = 'xran_device_ctx::fh_cfg'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a27ff648f80c139235421b81f957fcb7e'; + func-mem-ref-line = '518'; + func-mem-ref-name = 'xran_fh_config::ru_conf'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a74e72997edeea7f9f1696baffb9989b4'; + func-mem-ref-line = '489'; + func-mem-ref-name = 'xran_ru_config::byteOrder'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1ab5ce6839bae2968c79930a0bfa17f4d8ae0b667dc04b0baacb15bc9c40b776098'; + func-mem-ref-line = '473'; + func-mem-ref-name = 'XRAN_CPU_LE_BYTE_ORDER'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1ab5ce6839bae2968c79930a0bfa17f4d8a61bd03fd3153385f6791bd16e55892b8'; + func-mem-ref-line = '472'; + func-mem-ref-name = 'XRAN_NE_BE_BYTE_ORDER'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1addb9297d816b26c680888115de8c9538'; + func-mem-ref-line = '570'; + func-mem-ref-name = 'xran_flat_buffer::pCtrl'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'ethdi_8h_1a39fca1837c5ce7715cbf571669660c13a5c8f213f6ff879119c23ec38c63a54e5'; + func-mem-ref-line = '136'; + func-mem-ref-name = 'MBUF_KEEP'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a6c405fdd34c38d29b355cd051527ad9b'; + func-mem-ref-line = '404'; + func-mem-ref-name = 'xran_prb_elm::p_sec_desc'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1addb9297d816b26c680888115de8c9538'; + func-mem-ref-line = '389'; + func-mem-ref-name = 'xran_section_desc::pCtrl'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a77f0d5374ee675db57c0b29946ca7744'; + func-mem-ref-line = '388'; + func-mem-ref-name = 'xran_section_desc::pData'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1ae55ac9499e5406559ad2ff0376dd0a68'; + func-mem-ref-line = '386'; + func-mem-ref-name = 'xran_section_desc::iq_buffer_len'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a4d1fb35f3f2d9f3556fbd1761a167255'; + func-mem-ref-line = '385'; + func-mem-ref-name = 'xran_section_desc::iq_buffer_offset'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__common_8c_1a3d4bd5c7eec6da4ab71688e209100761'; + func-mem-ref-line = '143'; + func-mem-ref-name = 'process_mbuf'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__common_8c_1aec7f5a73cca88563e12b7e82e7c75b50'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_process_prach_sym'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'arg'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mbuf * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'mbuf'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'iq_data_start'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'size'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'CC_ID'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'Ant_ID'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'frame_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'subframe_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'slot_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'symb_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'num_prbu'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'start_prbu'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'sym_inc'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'rb'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'sect_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint32_t * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'mb_free'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.c'; + func-mem-desc-line = '66'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1aa09e72e94d2a1d891e86f4c09b0f8b21'; + func-mem-ref-line = '223'; + func-mem-ref-name = 'xran_dev_get_ctx'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a0ac55d6b8988083425a147f343c34455'; + func-mem-ref-line = '256'; + func-mem-ref-name = 'xran_device_ctx::xran2phy_mem_ready'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a725b4fbf070658ef449db5718a6c9f22'; + func-mem-ref-line = '56'; + func-mem-ref-name = 'SLOTS_PER_SYSTEMFRAME'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a76e4794a93b44d5f6bd835f1640f7f4f'; + func-mem-ref-line = '54'; + func-mem-ref-name = 'SLOTNUM_PER_SUBFRAME'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a34dbe5e515cc78b4ce26fa287e6c1edc'; + func-mem-ref-line = '110'; + func-mem-ref-name = 'XRAN_MAX_SECTOR_NR'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a35fa05e7523928c0c86cbcf835c12dc5'; + func-mem-ref-line = '111'; + func-mem-ref-name = 'XRAN_MAX_ANTENNA_NR'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a87d92ec177ed9c388685a91051f66205'; + func-mem-ref-line = '122'; + func-mem-ref-name = 'XRAN_NUM_OF_SYMBOL_PER_SLOT'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a26e6c6447dffca5e7ece503e8c0e890c'; + func-mem-ref-line = '262'; + func-mem-ref-name = 'xran_device_ctx::prach_start_symbol'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a4bcca72021c589be2adf3647647a1232'; + func-mem-ref-line = '226'; + func-mem-ref-name = 'xran_device_ctx::sFHPrachRxBbuIoBufCtrl'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1af0963ba32cc8ecd280afd2e474eb426a'; + func-mem-ref-line = '109'; + func-mem-ref-name = 'XRAN_N_FE_BUF_LEN'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'sample-app_8c_1ab79185e465507117d7b13fd30ec49f70'; + func-mem-ref-line = '129'; + func-mem-ref-name = 'BbuIoBufCtrlStruct::sBufferList'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1afa8c44acddb126e8bb0652d7b4e4395e'; + func-mem-ref-line = '596'; + func-mem-ref-name = 'xran_buffer_list::pBuffers'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a77f0d5374ee675db57c0b29946ca7744'; + func-mem-ref-line = '566'; + func-mem-ref-name = 'xran_flat_buffer::pData'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a4adf91126704ea524f98f461f6180c85'; + func-mem-ref-line = '209'; + func-mem-ref-name = 'xran_device_ctx::fh_cfg'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a27ff648f80c139235421b81f957fcb7e'; + func-mem-ref-line = '518'; + func-mem-ref-name = 'xran_fh_config::ru_conf'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a74e72997edeea7f9f1696baffb9989b4'; + func-mem-ref-line = '489'; + func-mem-ref-name = 'xran_ru_config::byteOrder'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1ab5ce6839bae2968c79930a0bfa17f4d8ae0b667dc04b0baacb15bc9c40b776098'; + func-mem-ref-line = '473'; + func-mem-ref-name = 'XRAN_CPU_LE_BYTE_ORDER'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'ethdi_8h_1a39fca1837c5ce7715cbf571669660c13a90bbe176be23902fec1de76501599769'; + func-mem-ref-line = '137'; + func-mem-ref-name = 'MBUF_FREE'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1addb9297d816b26c680888115de8c9538'; + func-mem-ref-line = '570'; + func-mem-ref-name = 'xran_flat_buffer::pCtrl'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__printf_8h_1a16c2c0a30b31515830a4a8eff6cf10b5'; + func-mem-ref-line = '62'; + func-mem-ref-name = 'print_err'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'ethdi_8h_1a39fca1837c5ce7715cbf571669660c13a5c8f213f6ff879119c23ec38c63a54e5'; + func-mem-ref-line = '136'; + func-mem-ref-name = 'MBUF_KEEP'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__common_8c_1a3d4bd5c7eec6da4ab71688e209100761'; + func-mem-ref-line = '143'; + func-mem-ref-name = 'process_mbuf'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__common_8c_1a300b87c29358bb161404c0122a9b2a46'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_process_srs_sym'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'arg'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mbuf * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'mbuf'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'iq_data_start'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'size'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'CC_ID'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'Ant_ID'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'frame_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'subframe_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'slot_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'symb_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'num_prbu'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'start_prbu'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'sym_inc'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'rb'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'sect_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint32_t * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'mb_free'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.c'; + func-mem-desc-line = '83'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1aa09e72e94d2a1d891e86f4c09b0f8b21'; + func-mem-ref-line = '223'; + func-mem-ref-name = 'xran_dev_get_ctx'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a0ac55d6b8988083425a147f343c34455'; + func-mem-ref-line = '256'; + func-mem-ref-name = 'xran_device_ctx::xran2phy_mem_ready'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a725b4fbf070658ef449db5718a6c9f22'; + func-mem-ref-line = '56'; + func-mem-ref-name = 'SLOTS_PER_SYSTEMFRAME'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a76e4794a93b44d5f6bd835f1640f7f4f'; + func-mem-ref-line = '54'; + func-mem-ref-name = 'SLOTNUM_PER_SUBFRAME'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a34dbe5e515cc78b4ce26fa287e6c1edc'; + func-mem-ref-line = '110'; + func-mem-ref-name = 'XRAN_MAX_SECTOR_NR'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a87d92ec177ed9c388685a91051f66205'; + func-mem-ref-line = '122'; + func-mem-ref-name = 'XRAN_NUM_OF_SYMBOL_PER_SLOT'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a8d643c55cfe976d88d44beefc0af0dff'; + func-mem-ref-line = '227'; + func-mem-ref-name = 'xran_device_ctx::sFHSrsRxBbuIoBufCtrl'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1af0963ba32cc8ecd280afd2e474eb426a'; + func-mem-ref-line = '109'; + func-mem-ref-name = 'XRAN_N_FE_BUF_LEN'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'sample-app_8c_1ab79185e465507117d7b13fd30ec49f70'; + func-mem-ref-line = '129'; + func-mem-ref-name = 'BbuIoBufCtrlStruct::sBufferList'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1afa8c44acddb126e8bb0652d7b4e4395e'; + func-mem-ref-line = '596'; + func-mem-ref-name = 'xran_buffer_list::pBuffers'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a77f0d5374ee675db57c0b29946ca7744'; + func-mem-ref-line = '566'; + func-mem-ref-name = 'xran_flat_buffer::pData'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'common_8h_1ab97ae0d1cc679c3c40b779b34ab7b4cf'; + func-mem-ref-line = '49'; + func-mem-ref-name = 'N_SC_PER_PRB'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a4adf91126704ea524f98f461f6180c85'; + func-mem-ref-line = '209'; + func-mem-ref-name = 'xran_device_ctx::fh_cfg'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a27ff648f80c139235421b81f957fcb7e'; + func-mem-ref-line = '518'; + func-mem-ref-name = 'xran_fh_config::ru_conf'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a74e72997edeea7f9f1696baffb9989b4'; + func-mem-ref-line = '489'; + func-mem-ref-name = 'xran_ru_config::byteOrder'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1ab5ce6839bae2968c79930a0bfa17f4d8ae0b667dc04b0baacb15bc9c40b776098'; + func-mem-ref-line = '473'; + func-mem-ref-name = 'XRAN_CPU_LE_BYTE_ORDER'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1ab5ce6839bae2968c79930a0bfa17f4d8a61bd03fd3153385f6791bd16e55892b8'; + func-mem-ref-line = '472'; + func-mem-ref-name = 'XRAN_NE_BE_BYTE_ORDER'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a3842cc1a01bcaa4df37fd8c10308ff01'; + func-mem-ref-line = '208'; + func-mem-ref-name = 'xran_device_ctx::fh_init'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a3c8ee4e9dd2a5354e83fb30c95598f30'; + func-mem-ref-line = '331'; + func-mem-ref-name = 'xran_fh_init::mtu'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a5448b37ad609bb66bf44b44d1f9bac72'; + func-mem-ref-line = '507'; + func-mem-ref-name = 'xran_fh_config::nULRBs'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1addb9297d816b26c680888115de8c9538'; + func-mem-ref-line = '570'; + func-mem-ref-name = 'xran_flat_buffer::pCtrl'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__printf_8h_1a16c2c0a30b31515830a4a8eff6cf10b5'; + func-mem-ref-line = '62'; + func-mem-ref-name = 'print_err'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'ethdi_8h_1a39fca1837c5ce7715cbf571669660c13a5c8f213f6ff879119c23ec38c63a54e5'; + func-mem-ref-line = '136'; + func-mem-ref-name = 'MBUF_KEEP'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'ethdi_8h_1a39fca1837c5ce7715cbf571669660c13a90bbe176be23902fec1de76501599769'; + func-mem-ref-line = '137'; + func-mem-ref-name = 'MBUF_FREE'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__common_8c_1a3d4bd5c7eec6da4ab71688e209100761'; + func-mem-ref-line = '143'; + func-mem-ref-name = 'process_mbuf'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__common_8c_1ac5201df2d161091f7319ff2f57432823'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_pkt_validate'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'arg'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mbuf * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'mbuf'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'iq_data_start'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'size'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'CC_ID'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'Ant_ID'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'frame_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'subframe_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'slot_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'symb_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct ecpri_seq_id * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'seq_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'num_prbu'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'start_prbu'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'sym_inc'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'rb'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'sect_id'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.c'; + func-mem-desc-line = '100'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1aa09e72e94d2a1d891e86f4c09b0f8b21'; + func-mem-ref-line = '223'; + func-mem-ref-name = 'xran_dev_get_ctx'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1ad2bc382255cb424431bb7515a796e5bf'; + func-mem-ref-line = '271'; + func-mem-ref-name = 'xran_device_ctx::fh_counters'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a3842cc1a01bcaa4df37fd8c10308ff01'; + func-mem-ref-line = '208'; + func-mem-ref-name = 'xran_device_ctx::fh_init'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a8a5462b0059073e90d42f8bfa066d566'; + func-mem-ref-line = '324'; + func-mem-ref-name = 'xran_fh_init::io_cfg'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a1e6927fa1486224044e568f9c370519b'; + func-mem-ref-line = '295'; + func-mem-ref-name = 'xran_io_cfg::id'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1ada810b81429ee4ec611614fd69dc99da'; + func-mem-ref-line = '47'; + func-mem-ref-name = 'O_DU'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__common_8c_1a3d4bd5c7eec6da4ab71688e209100761'; + func-mem-ref-line = '143'; + func-mem-ref-name = 'process_mbuf'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__common_8c_1a0bca0820bfef3a6c277c47490179e065'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +struct cb_elem_entry * +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_create_cb'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +XranSymCallbackFn +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'cb_fn'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'cb_data'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.c'; + func-mem-desc-line = '125'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a785dc524b99ed15e17115d076f8ace21'; + func-mem-ref-line = '163'; + func-mem-ref-name = 'cb_elem_entry::pSymCallback'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1af12736a3d2c375571acffe9f7e4e464e'; + func-mem-ref-line = '164'; + func-mem-ref-name = 'cb_elem_entry::pSymCallbackTag'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__common_8c_1aac0cae66657ea84e2030ced6e58c29b4'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_destroy_cb'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct cb_elem_entry * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'cb_elm'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.c'; + func-mem-desc-line = '136'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__common_8c_1a3d4bd5c7eec6da4ab71688e209100761'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'process_mbuf'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mbuf * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pkt'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.c'; + func-mem-desc-line = '143'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1aa09e72e94d2a1d891e86f4c09b0f8b21'; + func-mem-ref-line = '223'; + func-mem-ref-name = 'xran_dev_get_ctx'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__cp_8h_1affa3adbd50cd4af2018ba1fc0e8c3e31'; + func-mem-ref-line = '243'; + func-mem-ref-name = 'rb'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'common_8c_1ae69cd45536b5b80a0eac08ee522d8aa2'; + func-mem-ref-line = '47'; + func-mem-ref-name = 'num_eAxc'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1a3fc01469558ddf728239d59038ac5803'; + func-mem-ref-line = '3039'; + func-mem-ref-name = 'xran_get_num_eAxc'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'ethdi_8h_1a39fca1837c5ce7715cbf571669660c13a90bbe176be23902fec1de76501599769'; + func-mem-ref-line = '137'; + func-mem-ref-name = 'MBUF_FREE'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a4adf91126704ea524f98f461f6180c85'; + func-mem-ref-line = '209'; + func-mem-ref-name = 'xran_device_ctx::fh_cfg'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a27ff648f80c139235421b81f957fcb7e'; + func-mem-ref-line = '518'; + func-mem-ref-name = 'xran_fh_config::ru_conf'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a1e4a3c43fc7865c6520471fb9ba8501f'; + func-mem-ref-line = '487'; + func-mem-ref-name = 'xran_ru_config::compMeth'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1afc082593977ad91f3dcdd2175cb74615a7fbf705170e00d2ce3e838fa9826ca8d'; + func-mem-ref-line = '204'; + func-mem-ref-name = 'XRAN_COMPMETHOD_NONE'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a0ac55d6b8988083425a147f343c34455'; + func-mem-ref-line = '256'; + func-mem-ref-name = 'xran_device_ctx::xran2phy_mem_ready'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__up__api_8c_1adfc5ea408600c8de1384be020b359d95'; + func-mem-ref-line = '327'; + func-mem-ref-name = 'xran_extract_iq_samples'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__printf_8h_1a16c2c0a30b31515830a4a8eff6cf10b5'; + func-mem-ref-line = '62'; + func-mem-ref-name = 'print_err'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1ac5201df2d161091f7319ff2f57432823'; + func-mem-ref-line = '1536'; + func-mem-ref-name = 'xran_pkt_validate'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1a2f25460e9a84fe459a874b8255ed4c71'; + func-mem-ref-line = '99'; + func-mem-ref-name = 'ecpri_seq_id::seq_id'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a0dc2f992bcfe4f620d6ce2e969986d5c'; + func-mem-ref-line = '220'; + func-mem-ref-name = 'xran_device_ctx::srs_cfg'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a38a5594e33178248d80ccde98a16262a'; + func-mem-ref-line = '449'; + func-mem-ref-name = 'xran_srs_config::eAxC_offset'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a3842cc1a01bcaa4df37fd8c10308ff01'; + func-mem-ref-line = '208'; + func-mem-ref-name = 'xran_device_ctx::fh_init'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a367975ed81727c2747411672f73b2754'; + func-mem-ref-line = '358'; + func-mem-ref-name = 'xran_fh_init::srsEnable'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1a1f74b973e738bf357c470565a1256ef5'; + func-mem-ref-line = '101'; + func-mem-ref-name = 'ecpri_seq_id::e_bit'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__printf_8h_1a417ba2c3b49b216e358bc340346bf1cf'; + func-mem-ref-line = '54'; + func-mem-ref-name = 'print_dbg'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'master_8py_1ad5c7a065cddc009146ea1b1192eb2102'; + func-mem-ref-line = '498'; + func-mem-ref-name = 'master::res'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1a300b87c29358bb161404c0122a9b2a46'; + func-mem-ref-line = '1461'; + func-mem-ref-name = 'xran_process_srs_sym'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1ac1db3db55038ef0b2f69827746eaf87c'; + func-mem-ref-line = '210'; + func-mem-ref-name = 'xran_device_ctx::PrachCPConfig'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a38a5594e33178248d80ccde98a16262a'; + func-mem-ref-line = '139'; + func-mem-ref-name = 'xran_prach_cp_config::eAxC_offset'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1ac0646000d1448798a186e109df0bb3dd'; + func-mem-ref-line = '357'; + func-mem-ref-name = 'xran_fh_init::prachEnable'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1aec7f5a73cca88563e12b7e82e7c75b50'; + func-mem-ref-line = '1384'; + func-mem-ref-name = 'xran_process_prach_sym'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1acb6ecf7858c99c963182b9b7884deca6'; + func-mem-ref-line = '1578'; + func-mem-ref-name = 'xran_process_rx_sym'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1a7a412a9cd0ac919dccb2112fb386d64a'; + func-mem-ref-line = '1342'; + func-mem-ref-name = 'handle_ecpri_ethertype'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__common_8c_1ab31163187073eb9b7da9f6aef9123db1'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +static int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'set_iq_bit_width'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'iq_bit_width'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct data_section_compression_hdr * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'compr_hdr'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.c'; + func-mem-desc-line = '336'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__common_8c_1adc9636576fb70f4b4fcfd1d03fe59998'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'prepare_symbol_ex'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +enum xran_pkt_dir +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'direction'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'section_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mbuf * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'mb'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rb_map * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'data'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'compMeth'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'iqWidth'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const enum xran_input_byte_order +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'iq_buf_byte_order'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'frame_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'subframe_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'slot_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'symbol_no'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'prb_start'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'prb_num'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'CC_ID'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'RU_Port_ID'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'seq_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'do_copy'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.c'; + func-mem-desc-line = '348'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a49b173839f33b6d8e91a35ed9ec10f20'; + func-mem-ref-line = '51'; + func-mem-ref-name = 'MAX_N_FULLBAND_SC'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'common_8h_1ab97ae0d1cc679c3c40b779b34ab7b4cf'; + func-mem-ref-line = '49'; + func-mem-ref-name = 'N_SC_PER_PRB'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1afc082593977ad91f3dcdd2175cb74615a7fbf705170e00d2ce3e838fa9826ca8d'; + func-mem-ref-line = '204'; + func-mem-ref-name = 'XRAN_COMPMETHOD_NONE'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1acd19f4ec321bcc5633e81538c789bd4d'; + func-mem-ref-line = '66'; + func-mem-ref-name = 'XRAN_MAX_MBUF_LEN'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__up__api_8h_1a26f46f53ef26bc5d5f86e19a15fc356f'; + func-mem-ref-line = '47'; + func-mem-ref-name = 'xran_up_pkt_gen_params::app_params'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1a40f66f521df9b1dbae9d0ee852c66e0d'; + func-mem-ref-line = '173'; + func-mem-ref-name = 'radio_app_common_hdr::data_direction'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1a0058ea0059aba78a7a164c298c82de33'; + func-mem-ref-line = '170'; + func-mem-ref-name = 'radio_app_common_hdr::payl_ver'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1ab370897260617b317ee8957e470de1cc'; + func-mem-ref-line = '165'; + func-mem-ref-name = 'radio_app_common_hdr::filter_id'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1a03c1016ac46b9df250b994f242cf956a'; + func-mem-ref-line = '176'; + func-mem-ref-name = 'radio_app_common_hdr::frame_id'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1a2c655c9f7a861ed572ea29f90392edda'; + func-mem-ref-line = '189'; + func-mem-ref-name = 'radio_app_common_hdr::subframe_id'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1a02c1d0a330aa46a1bfee985080d93cd4'; + func-mem-ref-line = '185'; + func-mem-ref-name = 'radio_app_common_hdr::slot_id'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1acbbef8fd7acac33a2a461e15a43112ba'; + func-mem-ref-line = '183'; + func-mem-ref-name = 'radio_app_common_hdr::symb_id'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1a900b69af7d674b8db3bceae754b4955a'; + func-mem-ref-line = '181'; + func-mem-ref-name = 'radio_app_common_hdr::value'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__up__api_8h_1ae5c4194f5046a89d06534a69775c1cab'; + func-mem-ref-line = '48'; + func-mem-ref-name = 'xran_up_pkt_gen_params::sec_hdr'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__up_8h_1a11d1616fb975ccafbc33ab590fe501c4'; + func-mem-ref-line = '75'; + func-mem-ref-name = 'data_section_hdr::sect_id'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__up_8h_1acb00c5e7ebe809fda7288c699eed867c'; + func-mem-ref-line = '71'; + func-mem-ref-name = 'data_section_hdr::num_prbu'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__up_8h_1a486aca552c11b7046ca3066ebf4241dc'; + func-mem-ref-line = '72'; + func-mem-ref-name = 'data_section_hdr::start_prbu'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__up_8h_1aba23e80ad7dc1c3f7085ba3a2b4662bb'; + func-mem-ref-line = '73'; + func-mem-ref-name = 'data_section_hdr::sym_inc'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__up_8h_1ac91b2b11ae96c1a44e8a2fad473771c7'; + func-mem-ref-line = '74'; + func-mem-ref-name = 'data_section_hdr::rb'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__up__api_8h_1abd4dfd90066570bbcb342a260adcc7a6'; + func-mem-ref-line = '49'; + func-mem-ref-name = 'xran_up_pkt_gen_params::compr_hdr_param'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__up_8h_1a4638fbd317b5d0c464ef9483038564b0'; + func-mem-ref-line = '92'; + func-mem-ref-name = 'data_section_compression_hdr::ud_comp_hdr'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1ae12079177feb5d2ee414356fc18473cf'; + func-mem-ref-line = '213'; + func-mem-ref-name = 'compression_hdr::ud_comp_meth'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1ab3f5c028170bd3bd241a58be8ca8da96'; + func-mem-ref-line = '208'; + func-mem-ref-name = 'compression_hdr::ud_iq_width'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__up_8h_1a73f8c890ac5a8af7cfe4947d2205e3ee'; + func-mem-ref-line = '93'; + func-mem-ref-name = 'data_section_compression_hdr::rsrvd'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__up_8h_1a9f9f2f87d8b5cc7e4af6ef3e2c4c8189'; + func-mem-ref-line = '69'; + func-mem-ref-name = 'data_section_hdr::all_bits'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__mlog__lnx_8h_1a3c5a3b260b393219742a4604eee825f3'; + func-mem-ref-line = '36'; + func-mem-ref-name = 'MLogPrint'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__up__api_8c_1acd8f547b98d7ebd7dbc41c486a26505d'; + func-mem-ref-line = '455'; + func-mem-ref-name = 'xran_prepare_iq_symbol_portion'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'u__plane__functional_8cc_1a17e5d82ac5aec3860b1324a80fda79ed'; + func-mem-ref-line = '61'; + func-mem-ref-name = 'TEST_P'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'u__plane__performance_8cc_1aa2fb15367f40188e0a2d2c15fa6ad124'; + func-mem-ref-line = '66'; + func-mem-ref-name = 'U_planePerf::fucntional_dl'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__common_8c_1ab67b9cc6e54d8ba3945b265b47af743c'; + func-mem-ref-line = '436'; + func-mem-ref-name = 'send_symbol_ex'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__common_8c_1ab67b9cc6e54d8ba3945b265b47af743c'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'send_symbol_ex'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +enum xran_pkt_dir +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'direction'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'section_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mbuf * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'mb'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rb_map * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'data'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const enum xran_input_byte_order +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'iq_buf_byte_order'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'frame_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'subframe_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'slot_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'symbol_no'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'prb_start'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'prb_num'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'CC_ID'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'RU_Port_ID'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'seq_id'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.c'; + func-mem-desc-line = '436'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a49b173839f33b6d8e91a35ed9ec10f20'; + func-mem-ref-line = '51'; + func-mem-ref-name = 'MAX_N_FULLBAND_SC'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'common_8h_1ab97ae0d1cc679c3c40b779b34ab7b4cf'; + func-mem-ref-line = '49'; + func-mem-ref-name = 'N_SC_PER_PRB'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1aa09e72e94d2a1d891e86f4c09b0f8b21'; + func-mem-ref-line = '223'; + func-mem-ref-name = 'xran_dev_get_ctx'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'ethdi_8c_1a77f0a4b49dc21be816aefa3066debfa7'; + func-mem-ref-line = '77'; + func-mem-ref-name = 'xran_ethdi_mbuf_alloc'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__mlog__lnx_8h_1a3c5a3b260b393219742a4604eee825f3'; + func-mem-ref-line = '36'; + func-mem-ref-name = 'MLogPrint'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8c_1adc9636576fb70f4b4fcfd1d03fe59998'; + func-mem-ref-line = '348'; + func-mem-ref-name = 'prepare_symbol_ex'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8c_1a633effdcb470f03cbf5aa8c9f9540ddb'; + func-mem-ref-line = '118'; + func-mem-ref-name = 'tx_counter'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8c_1aea924947c3d744f2208baa8a79229f3f'; + func-mem-ref-line = '119'; + func-mem-ref-name = 'tx_bytes_counter'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a77daaa6043406a5924fd69b2dd42571e'; + func-mem-ref-line = '277'; + func-mem-ref-name = 'xran_device_ctx::send_upmbuf2ring'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'ethernet_8h_1af87cccd4396539ae2fd0000a61907e92'; + func-mem-ref-line = '42'; + func-mem-ref-name = 'ETHER_TYPE_ECPRI'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__common_8c_1a484fa852a2e973600abba0efb1fbefb9'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'send_cpmsg'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pHandle'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mbuf * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'mbuf'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_cp_gen_params * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'params'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_section_gen_info * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'sect_geninfo'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'cc_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'ru_port_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'seq_id'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.c'; + func-mem-desc-line = '510'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a6c787affb1020c2b8058a3ddeff3fe52'; + func-mem-ref-line = '320'; + func-mem-ref-name = 'xran_cp_gen_params::hdr'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a048f7f66787565b266517ddaa551d98e'; + func-mem-ref-line = '278'; + func-mem-ref-name = 'xran_cp_header_params::frameId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a45cd2998ed056e5139a76bf36053ed14'; + func-mem-ref-line = '279'; + func-mem-ref-name = 'xran_cp_header_params::subframeId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a0eb3f725109bb1afb9094b025af26678'; + func-mem-ref-line = '280'; + func-mem-ref-name = 'xran_cp_header_params::slotId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a92abda0bec7c1c978fe96f87aad18067'; + func-mem-ref-line = '316'; + func-mem-ref-name = 'xran_cp_gen_params::dir'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1aa09e72e94d2a1d891e86f4c09b0f8b21'; + func-mem-ref-line = '223'; + func-mem-ref-name = 'xran_dev_get_ctx'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a52bddd404e766ddb6f2b9eabe15ea5b1'; + func-mem-ref-line = '318'; + func-mem-ref-name = 'xran_cp_gen_params::numSections'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8c_1a633effdcb470f03cbf5aa8c9f9540ddb'; + func-mem-ref-line = '118'; + func-mem-ref-name = 'tx_counter'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8c_1aea924947c3d744f2208baa8a79229f3f'; + func-mem-ref-line = '119'; + func-mem-ref-name = 'tx_bytes_counter'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1ad4eb63363a7e445e90ea75b8e99efaad'; + func-mem-ref-line = '276'; + func-mem-ref-name = 'xran_device_ctx::send_cpmbuf2ring'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'ethernet_8h_1af87cccd4396539ae2fd0000a61907e92'; + func-mem-ref-line = '42'; + func-mem-ref-name = 'ETHER_TYPE_ECPRI'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8c_1a2a349ad9adaec2cfd7f88e791d451c5e'; + func-mem-ref-line = '160'; + func-mem-ref-name = 'xran_cp_add_section_info'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a76e4794a93b44d5f6bd835f1640f7f4f'; + func-mem-ref-line = '54'; + func-mem-ref-name = 'SLOTNUM_PER_SUBFRAME'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a93b65038922e8dd5f6d9cc499daf25aa'; + func-mem-ref-line = '40'; + func-mem-ref-name = 'XRAN_MAX_SECTIONDB_CTX'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__common_8c_1a64cba831fe964827a932a5a129272de1'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'generate_cpmsg_dlul'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pHandle'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_cp_gen_params * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'params'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_section_gen_info * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'sect_geninfo'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mbuf * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'mbuf'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +enum xran_pkt_dir +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'dir'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'frame_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'subframe_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'slot_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'startsym'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'numsym'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'prb_start'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'prb_num'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +int16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'iq_buffer_offset'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +int16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'iq_buffer_len'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'beam_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'cc_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'ru_port_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'comp_method'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'iqWidth'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'seq_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'symInc'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.c'; + func-mem-desc-line = '535'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a92abda0bec7c1c978fe96f87aad18067'; + func-mem-ref-line = '316'; + func-mem-ref-name = 'xran_cp_gen_params::dir'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1ae273caa235b1c6085de4ad13886f82c9'; + func-mem-ref-line = '317'; + func-mem-ref-name = 'xran_cp_gen_params::sectionType'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a6e8f1d76afde95b2d85b1fd99aaa1610a1f3289201658ac2a09203c4fb974b1e7'; + func-mem-ref-line = '56'; + func-mem-ref-name = 'XRAN_CP_SECTIONTYPE_1'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a6c787affb1020c2b8058a3ddeff3fe52'; + func-mem-ref-line = '320'; + func-mem-ref-name = 'xran_cp_gen_params::hdr'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1ad5150de5e1c141cfe288f260afb00830'; + func-mem-ref-line = '277'; + func-mem-ref-name = 'xran_cp_header_params::filterIdx'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1ae51812e2dae7d8776b443f818f277d5ba02f77bf011c81bd0e18ebcb09b175181'; + func-mem-ref-line = '66'; + func-mem-ref-name = 'XRAN_FILTERINDEX_STANDARD'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a048f7f66787565b266517ddaa551d98e'; + func-mem-ref-line = '278'; + func-mem-ref-name = 'xran_cp_header_params::frameId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a45cd2998ed056e5139a76bf36053ed14'; + func-mem-ref-line = '279'; + func-mem-ref-name = 'xran_cp_header_params::subframeId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a0eb3f725109bb1afb9094b025af26678'; + func-mem-ref-line = '280'; + func-mem-ref-name = 'xran_cp_header_params::slotId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1ac54814779041bec5dcf8aec288d69b06'; + func-mem-ref-line = '281'; + func-mem-ref-name = 'xran_cp_header_params::startSymId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a1520b1ef6131bff6c14b88d849c266c5'; + func-mem-ref-line = '286'; + func-mem-ref-name = 'xran_cp_header_params::iqWidth'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a1e4a3c43fc7865c6520471fb9ba8501f'; + func-mem-ref-line = '287'; + func-mem-ref-name = 'xran_cp_header_params::compMeth'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a6ccd48a36736101737e9b419d7a3cc85'; + func-mem-ref-line = '296'; + func-mem-ref-name = 'xran_section_gen_info::info'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a1d127017fb298b889f4ba24752d08b8e'; + func-mem-ref-line = '185'; + func-mem-ref-name = 'xran_section_info::type'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1ac54814779041bec5dcf8aec288d69b06'; + func-mem-ref-line = '188'; + func-mem-ref-name = 'xran_section_info::startSymId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a1520b1ef6131bff6c14b88d849c266c5'; + func-mem-ref-line = '197'; + func-mem-ref-name = 'xran_section_info::iqWidth'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a1e4a3c43fc7865c6520471fb9ba8501f'; + func-mem-ref-line = '196'; + func-mem-ref-name = 'xran_section_info::compMeth'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a4fc3a0c58dfbd1e68224521185cb9384'; + func-mem-ref-line = '191'; + func-mem-ref-name = 'xran_section_info::id'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1a8546e95e2daf30058a66904e7f801723'; + func-mem-ref-line = '379'; + func-mem-ref-name = 'xran_alloc_sectionid'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1affa3adbd50cd4af2018ba1fc0e8c3e31'; + func-mem-ref-line = '195'; + func-mem-ref-name = 'xran_section_info::rb'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a1087eb8c21d4b4e104b12a056ff65553a020e57090e5b6e614d303c027543fd16'; + func-mem-ref-line = '105'; + func-mem-ref-name = 'XRAN_RBIND_EVERY'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a52f6623d45fec4bf9c14898f7e53db34'; + func-mem-ref-line = '190'; + func-mem-ref-name = 'xran_section_info::symInc'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__cp_8h_1a52f6623d45fec4bf9c14898f7e53db34'; + func-mem-ref-line = '242'; + func-mem-ref-name = 'symInc'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a6b13285aabf8f2f4598143b2670204c1'; + func-mem-ref-line = '193'; + func-mem-ref-name = 'xran_section_info::startPrbc'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a2b72ddddeff4e4a8a5c191695ec41079'; + func-mem-ref-line = '194'; + func-mem-ref-name = 'xran_section_info::numPrbc'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a664cb6ca464c69ef60a445fa4f4b3522'; + func-mem-ref-line = '189'; + func-mem-ref-name = 'xran_section_info::numSymbol'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1ab8acca18b930cde25e1cf85ae86c964c'; + func-mem-ref-line = '192'; + func-mem-ref-name = 'xran_section_info::reMask'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1ac7deef3ca4b0fc12769165dbf9374569'; + func-mem-ref-line = '200'; + func-mem-ref-name = 'xran_section_info::beamId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a87d92ec177ed9c388685a91051f66205'; + func-mem-ref-line = '122'; + func-mem-ref-name = 'XRAN_NUM_OF_SYMBOL_PER_SLOT'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1ae87ace79c701c8bafa8ed69be03b9542'; + func-mem-ref-line = '205'; + func-mem-ref-name = 'xran_section_info::sec_desc'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a4d1fb35f3f2d9f3556fbd1761a167255'; + func-mem-ref-line = '385'; + func-mem-ref-name = 'xran_section_desc::iq_buffer_offset'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1ae55ac9499e5406559ad2ff0376dd0a68'; + func-mem-ref-line = '386'; + func-mem-ref-name = 'xran_section_desc::iq_buffer_len'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1afe3859cd334ad3f912622c58d5b2079e'; + func-mem-ref-line = '198'; + func-mem-ref-name = 'xran_section_info::ef'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1aa561d89cbc570e39183c64a5095a6053'; + func-mem-ref-line = '298'; + func-mem-ref-name = 'xran_section_gen_info::exDataSize'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a52bddd404e766ddb6f2b9eabe15ea5b1'; + func-mem-ref-line = '318'; + func-mem-ref-name = 'xran_cp_gen_params::numSections'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a5921f2439294279b8111fed577c5c37a'; + func-mem-ref-line = '322'; + func-mem-ref-name = 'xran_cp_gen_params::sections'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__printf_8h_1a16c2c0a30b31515830a4a8eff6cf10b5'; + func-mem-ref-line = '62'; + func-mem-ref-name = 'print_err'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8c_1af9eb550e92ea270af41b4b6bcda363db'; + func-mem-ref-line = '1381'; + func-mem-ref-name = 'xran_prepare_ctrl_pkt'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__common_8c_1ab8a6ed3cee8fa183142d0c23d0b4971d'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'generate_cpmsg_prach'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pHandle'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_cp_gen_params * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'params'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_section_gen_info * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'sect_geninfo'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mbuf * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'mbuf'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_device_ctx * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pxran_lib_ctx'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'frame_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'subframe_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'slot_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'beam_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'cc_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'prach_port_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'seq_id'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.c'; + func-mem-desc-line = '595'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1ac1db3db55038ef0b2f69827746eaf87c'; + func-mem-ref-line = '210'; + func-mem-ref-name = 'xran_device_ctx::PrachCPConfig'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__cp_8h_1aa68c277a66312b4b90819cccc055bdb7'; + func-mem-ref-line = '215'; + func-mem-ref-name = 'timeOffset'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a4adf91126704ea524f98f461f6180c85'; + func-mem-ref-line = '209'; + func-mem-ref-name = 'xran_device_ctx::fh_cfg'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a72b0cba491d0dd2703d684cb2c2a14cf'; + func-mem-ref-line = '517'; + func-mem-ref-name = 'xran_fh_config::frame_conf'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a78b2fab8e8d6a6424c2712d528fd9a58'; + func-mem-ref-line = '461'; + func-mem-ref-name = 'xran_frame_config::nNumerology'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__printf_8h_1a16c2c0a30b31515830a4a8eff6cf10b5'; + func-mem-ref-line = '62'; + func-mem-ref-name = 'print_err'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1ad5150de5e1c141cfe288f260afb00830'; + func-mem-ref-line = '127'; + func-mem-ref-name = 'xran_prach_cp_config::filterIdx'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1ac54814779041bec5dcf8aec288d69b06'; + func-mem-ref-line = '128'; + func-mem-ref-name = 'xran_prach_cp_config::startSymId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a6b13285aabf8f2f4598143b2670204c1'; + func-mem-ref-line = '129'; + func-mem-ref-name = 'xran_prach_cp_config::startPrbc'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1aabc4fe26e40f742fd255e2bb8534de75'; + func-mem-ref-line = '130'; + func-mem-ref-name = 'xran_prach_cp_config::numPrbc'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a664cb6ca464c69ef60a445fa4f4b3522'; + func-mem-ref-line = '131'; + func-mem-ref-name = 'xran_prach_cp_config::numSymbol'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a2e544eaae35a5756272d62af4fa53a19'; + func-mem-ref-line = '135'; + func-mem-ref-name = 'xran_prach_cp_config::occassionsInPrachSlot'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a3af58496c14a1c91c015aa6ffe7dca49'; + func-mem-ref-line = '133'; + func-mem-ref-name = 'xran_prach_cp_config::freqOffset'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1aa68c277a66312b4b90819cccc055bdb7'; + func-mem-ref-line = '132'; + func-mem-ref-name = 'xran_prach_cp_config::timeOffset'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a76e4794a93b44d5f6bd835f1640f7f4f'; + func-mem-ref-line = '54'; + func-mem-ref-name = 'SLOTNUM_PER_SUBFRAME'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a92abda0bec7c1c978fe96f87aad18067'; + func-mem-ref-line = '316'; + func-mem-ref-name = 'xran_cp_gen_params::dir'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1gga9c60a23fdae979ad1842b255790d1558a404255db3f05419798875bfb763e1c05'; + func-mem-ref-line = '148'; + func-mem-ref-name = 'XRAN_DIR_UL'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1ae273caa235b1c6085de4ad13886f82c9'; + func-mem-ref-line = '317'; + func-mem-ref-name = 'xran_cp_gen_params::sectionType'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a6e8f1d76afde95b2d85b1fd99aaa1610a80bcc2d7d7aff5e850d26892e703c637'; + func-mem-ref-line = '57'; + func-mem-ref-name = 'XRAN_CP_SECTIONTYPE_3'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a6c787affb1020c2b8058a3ddeff3fe52'; + func-mem-ref-line = '320'; + func-mem-ref-name = 'xran_cp_gen_params::hdr'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1ad5150de5e1c141cfe288f260afb00830'; + func-mem-ref-line = '277'; + func-mem-ref-name = 'xran_cp_header_params::filterIdx'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a048f7f66787565b266517ddaa551d98e'; + func-mem-ref-line = '278'; + func-mem-ref-name = 'xran_cp_header_params::frameId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a45cd2998ed056e5139a76bf36053ed14'; + func-mem-ref-line = '279'; + func-mem-ref-name = 'xran_cp_header_params::subframeId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a0eb3f725109bb1afb9094b025af26678'; + func-mem-ref-line = '280'; + func-mem-ref-name = 'xran_cp_header_params::slotId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1ac54814779041bec5dcf8aec288d69b06'; + func-mem-ref-line = '281'; + func-mem-ref-name = 'xran_cp_header_params::startSymId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a1520b1ef6131bff6c14b88d849c266c5'; + func-mem-ref-line = '286'; + func-mem-ref-name = 'xran_cp_header_params::iqWidth'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1a5f780beefc47e125ffd42fde16117e62'; + func-mem-ref-line = '3005'; + func-mem-ref-name = 'xran_get_conf_iqwidth'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a1e4a3c43fc7865c6520471fb9ba8501f'; + func-mem-ref-line = '287'; + func-mem-ref-name = 'xran_cp_header_params::compMeth'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1a70d428b456fbe76f8550ff9b782a9e4e'; + func-mem-ref-line = '3018'; + func-mem-ref-name = 'xran_get_conf_compmethod'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1aa68c277a66312b4b90819cccc055bdb7'; + func-mem-ref-line = '289'; + func-mem-ref-name = 'xran_cp_header_params::timeOffset'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a59e7e8f3feb686850b0cb0ae065de85b'; + func-mem-ref-line = '284'; + func-mem-ref-name = 'xran_cp_header_params::fftSize'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1ada345a8a99480787d4274a342aa39535'; + func-mem-ref-line = '2985'; + func-mem-ref-name = 'xran_get_conf_fftsize'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1ae470e3869d1cbf07cd5f78ab6709b9e1'; + func-mem-ref-line = '285'; + func-mem-ref-name = 'xran_cp_header_params::scs'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1ab39a5770374d16662d62a85504a11930'; + func-mem-ref-line = '2975'; + func-mem-ref-name = 'xran_get_conf_prach_scs'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1af57c31d64bbdb0d65fd36c9f38951328'; + func-mem-ref-line = '290'; + func-mem-ref-name = 'xran_cp_header_params::cpLength'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a6ccd48a36736101737e9b419d7a3cc85'; + func-mem-ref-line = '296'; + func-mem-ref-name = 'xran_section_gen_info::info'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a1d127017fb298b889f4ba24752d08b8e'; + func-mem-ref-line = '185'; + func-mem-ref-name = 'xran_section_info::type'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1ac54814779041bec5dcf8aec288d69b06'; + func-mem-ref-line = '188'; + func-mem-ref-name = 'xran_section_info::startSymId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a1520b1ef6131bff6c14b88d849c266c5'; + func-mem-ref-line = '197'; + func-mem-ref-name = 'xran_section_info::iqWidth'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a1e4a3c43fc7865c6520471fb9ba8501f'; + func-mem-ref-line = '196'; + func-mem-ref-name = 'xran_section_info::compMeth'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a4fc3a0c58dfbd1e68224521185cb9384'; + func-mem-ref-line = '191'; + func-mem-ref-name = 'xran_section_info::id'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1a8546e95e2daf30058a66904e7f801723'; + func-mem-ref-line = '379'; + func-mem-ref-name = 'xran_alloc_sectionid'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1affa3adbd50cd4af2018ba1fc0e8c3e31'; + func-mem-ref-line = '195'; + func-mem-ref-name = 'xran_section_info::rb'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a1087eb8c21d4b4e104b12a056ff65553a020e57090e5b6e614d303c027543fd16'; + func-mem-ref-line = '105'; + func-mem-ref-name = 'XRAN_RBIND_EVERY'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a52f6623d45fec4bf9c14898f7e53db34'; + func-mem-ref-line = '190'; + func-mem-ref-name = 'xran_section_info::symInc'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a056d791208720148306b686856cd36b0a2968e08e8282588813b4ace40df05c8e'; + func-mem-ref-line = '112'; + func-mem-ref-name = 'XRAN_SYMBOLNUMBER_NOTINC'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a6b13285aabf8f2f4598143b2670204c1'; + func-mem-ref-line = '193'; + func-mem-ref-name = 'xran_section_info::startPrbc'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a2b72ddddeff4e4a8a5c191695ec41079'; + func-mem-ref-line = '194'; + func-mem-ref-name = 'xran_section_info::numPrbc'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a664cb6ca464c69ef60a445fa4f4b3522'; + func-mem-ref-line = '189'; + func-mem-ref-name = 'xran_section_info::numSymbol'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1ab8acca18b930cde25e1cf85ae86c964c'; + func-mem-ref-line = '192'; + func-mem-ref-name = 'xran_section_info::reMask'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1ac7deef3ca4b0fc12769165dbf9374569'; + func-mem-ref-line = '200'; + func-mem-ref-name = 'xran_section_info::beamId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a3af58496c14a1c91c015aa6ffe7dca49'; + func-mem-ref-line = '199'; + func-mem-ref-name = 'xran_section_info::freqOffset'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a53af49f65e0dafdafcde73d693961a78'; + func-mem-ref-line = '263'; + func-mem-ref-name = 'xran_device_ctx::prach_last_symbol'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1afe3859cd334ad3f912622c58d5b2079e'; + func-mem-ref-line = '198'; + func-mem-ref-name = 'xran_section_info::ef'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1aa561d89cbc570e39183c64a5095a6053'; + func-mem-ref-line = '298'; + func-mem-ref-name = 'xran_section_gen_info::exDataSize'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a52bddd404e766ddb6f2b9eabe15ea5b1'; + func-mem-ref-line = '318'; + func-mem-ref-name = 'xran_cp_gen_params::numSections'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a5921f2439294279b8111fed577c5c37a'; + func-mem-ref-line = '322'; + func-mem-ref-name = 'xran_cp_gen_params::sections'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8c_1af9eb550e92ea270af41b4b6bcda363db'; + func-mem-ref-line = '1381'; + func-mem-ref-name = 'xran_prepare_ctrl_pkt'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'prach__functional_8cc_1a62307393b7f454a2b348ada67997b796'; + func-mem-ref-line = '177'; + func-mem-ref-name = 'TEST_P'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'prach__performance_8cc_1a540e426541deb753f7c69d8df5d5b090'; + func-mem-ref-line = '172'; + func-mem-ref-name = 'performance_cp'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__common_8c_1a4e156a8a72cc16b05c6ad0532df4e75a'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'process_ring'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_ring * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'r'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.c'; + func-mem-desc-line = '676'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8c_1ae413c4f1a4664d68aca9d331d1891a0c'; + func-mem-ref-line = '44'; + func-mem-ref-name = 'MBUFS_CNT'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__mlog__lnx_8h_1ab3a08558e2971726cddceed59f9fd3bd'; + func-mem-ref-line = '42'; + func-mem-ref-name = 'MLogTick'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'ethdi_8c_1af110b40ee89935ebe18d65ef84de1359'; + func-mem-ref-line = '156'; + func-mem-ref-name = 'xran_ethdi_filter_packet'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'ethdi_8h_1a39fca1837c5ce7715cbf571669660c13a90bbe176be23902fec1de76501599769'; + func-mem-ref-line = '137'; + func-mem-ref-name = 'MBUF_FREE'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__mlog__lnx_8h_1a2ea88cf07a4bee8b98cb6cea2ef3ae36'; + func-mem-ref-line = '44'; + func-mem-ref-name = 'MLogTask'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__lib__mlog__tasks__id_8h_1a9f54a4a7253be8580e0996d84b1bf638'; + func-mem-ref-line = '108'; + func-mem-ref-name = 'PID_PROCESS_UP_PKT'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__common_8c_1a595fa22ad1c316d4c7d77f6333478b49'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'ring_processing_func'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.c'; + func-mem-desc-line = '700'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'xran__common_8c_1a3cdc276ccd8081a8bda75f22b0cac279'; + func-mem-ref-line = '742'; + func-mem-ref-name = 'ring_processing_thread'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__common_8c_1a3cdc276ccd8081a8bda75f22b0cac279'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'ring_processing_thread'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'args'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.c'; + func-mem-desc-line = '742'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'master_8py_1ad5c7a065cddc009146ea1b1192eb2102'; + func-mem-ref-line = '498'; + func-mem-ref-name = 'master::res'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'ethdi_8h_1a3822681248af17c36115a411e29e5fc2'; + func-mem-ref-line = '52'; + func-mem-ref-name = 'XRAN_THREAD_DEFAULT_PRIO'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8c_1a595fa22ad1c316d4c7d77f6333478b49'; + func-mem-ref-line = '700'; + func-mem-ref-name = 'ring_processing_func'; + }; + }; /* func-member */ + }; + var = { + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__common_8c_1ad36e9c82072e0340b87a46d1dcb1c141'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +long +_EnD_oF_dEf_TeXt_; + var-mem-name = 'interval_us'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.c'; + var-mem-desc-line = '46'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-referenceby = { + var-mem-ref-id = 'xran__main_8c_1a03f408f45e97aa68ca47c92e4e7d1a70'; + var-mem-ref-line = '2756'; + var-mem-ref-name = 'xran_open'; + }; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__common_8c_1a9e6e93a89aa6750e04b8249db2d8ad2a'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +long +_EnD_oF_dEf_TeXt_; + var-mem-name = 'rx_counter'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += 0 +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.c'; + var-mem-desc-line = '117'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__common_8c_1a633effdcb470f03cbf5aa8c9f9540ddb'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +long +_EnD_oF_dEf_TeXt_; + var-mem-name = 'tx_counter'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += 0 +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.c'; + var-mem-desc-line = '118'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-referenceby = { + var-mem-ref-id = 'xran__common_8c_1ab67b9cc6e54d8ba3945b265b47af743c'; + var-mem-ref-line = '436'; + var-mem-ref-name = 'send_symbol_ex'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'xran__common_8c_1a484fa852a2e973600abba0efb1fbefb9'; + var-mem-ref-line = '510'; + var-mem-ref-name = 'send_cpmsg'; + }; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__common_8c_1aea924947c3d744f2208baa8a79229f3f'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +long +_EnD_oF_dEf_TeXt_; + var-mem-name = 'tx_bytes_counter'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += 0 +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.c'; + var-mem-desc-line = '119'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-referenceby = { + var-mem-ref-id = 'xran__common_8c_1ab67b9cc6e54d8ba3945b265b47af743c'; + var-mem-ref-line = '436'; + var-mem-ref-name = 'send_symbol_ex'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'xran__common_8c_1a484fa852a2e973600abba0efb1fbefb9'; + var-mem-ref-line = '510'; + var-mem-ref-name = 'send_cpmsg'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'xran__main_8c_1adbe808fba48ef1390180fb1bdc68c1d7'; + var-mem-ref-line = '201'; + var-mem-ref-name = 'xran_updateSfnSecStart'; + }; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__common_8c_1af2fff595280c3b2999bfa40d7beafadf'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +long +_EnD_oF_dEf_TeXt_; + var-mem-name = 'rx_bytes_counter'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += 0 +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.c'; + var-mem-desc-line = '120'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-referenceby = { + var-mem-ref-id = 'xran__main_8c_1adbe808fba48ef1390180fb1bdc68c1d7'; + var-mem-ref-line = '201'; + var-mem-ref-name = 'xran_updateSfnSecStart'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'xran__main_8c_1a7a412a9cd0ac919dccb2112fb386d64a'; + var-mem-ref-line = '1342'; + var-mem-ref-name = 'handle_ecpri_ethertype'; + }; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__common_8c_1ad1b05d3ad049de39bc3f9bcdfdf66d1b'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +long +_EnD_oF_dEf_TeXt_; + var-mem-name = 'tx_bytes_per_sec'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += 0 +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.c'; + var-mem-desc-line = '121'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-referenceby = { + var-mem-ref-id = 'xran__main_8c_1adbe808fba48ef1390180fb1bdc68c1d7'; + var-mem-ref-line = '201'; + var-mem-ref-name = 'xran_updateSfnSecStart'; + }; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__common_8c_1adc695e955f335d5dedb486ce89a4e0b3'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +long +_EnD_oF_dEf_TeXt_; + var-mem-name = 'rx_bytes_per_sec'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += 0 +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.c'; + var-mem-desc-line = '122'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-referenceby = { + var-mem-ref-id = 'xran__main_8c_1adbe808fba48ef1390180fb1bdc68c1d7'; + var-mem-ref-line = '201'; + var-mem-ref-name = 'xran_updateSfnSecStart'; + }; + }; /* var-member */ + }; + file-full-name = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.c'; + file-first-line = '1'; + file-briefdesc = <<_EnD_oF_dEf_TeXt_ +XRAN layer common functionality for both O-DU and O-RU as well as C-plane and + U-plane. +_EnD_oF_dEf_TeXt_; + file-documentation = <<_EnD_oF_dEf_TeXt_ +XRAN layer common functionality for both lls-CU and RU as well as C-plane and + U-plane. + +@author Intel Corporation +_EnD_oF_dEf_TeXt_; +}; /* file */ +file = { + file-id = 'xran__common_8h'; + file-name = 'xran_common.h'; + define = { + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__common_8h_1ada810b81429ee4ec611614fd69dc99da'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'O_DU'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +0 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + define-mem-desc-line = '47'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__common_8h_1a742cfd7821c00ae099b7d4809de9a765'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'O_RU'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +1 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + define-mem-desc-line = '48'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__common_8h_1ab97ae0d1cc679c3c40b779b34ab7b4cf'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'N_SC_PER_PRB'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +12 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + define-mem-desc-line = '50'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__common_8h_1a49b173839f33b6d8e91a35ed9ec10f20'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'MAX_N_FULLBAND_SC'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +273 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + define-mem-desc-line = '51'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__common_8h_1a534c88c03c366dfbd4dd5efe7693f56b'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'N_SYM_PER_SLOT'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +14 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + define-mem-desc-line = '52'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__common_8h_1a9a2a7fcab69aaafebda2e160cf2eb85b'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'SUBFRAME_DURATION_US'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +1000 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + define-mem-desc-line = '53'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__common_8h_1a76e4794a93b44d5f6bd835f1640f7f4f'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'SLOTNUM_PER_SUBFRAME'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +(SUBFRAME_DURATION_US/interval_us) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + define-mem-desc-line = '54'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__common_8h_1a695a7a6db2c879d5a4ec04a4bc99d0e4'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'SUBFRAMES_PER_SYSTEMFRAME'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +10 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + define-mem-desc-line = '55'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__common_8h_1a725b4fbf070658ef449db5718a6c9f22'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'SLOTS_PER_SYSTEMFRAME'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +(SLOTNUM_PER_SUBFRAME*SUBFRAMES_PER_SYSTEMFRAME) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + define-mem-desc-line = '56'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__common_8h_1a465d2f9c1fdfb0b2e06f730bc7df6653'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'PRACH_PLAYBACK_BUFFER_BYTES'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +(144*14*4L) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + define-mem-desc-line = '59'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__common_8h_1ad5222effb7d169ebd94bb58101e62758'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'PRACH_SRS_BUFFER_BYTES'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +(144*14*4L) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + define-mem-desc-line = '61'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ +this is the configuration of M-plane +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__common_8h_1a3a4bb6898c9295b71ffd7b830048580c'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XRAN_MAX_NUM_SECTIONS'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +(N_SYM_PER_SLOT* (XRAN_MAX_ANTENNA_NR*2) + XRAN_MAX_ANT_ARRAY_ELM_NR) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + define-mem-desc-line = '64'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__common_8h_1acd19f4ec321bcc5633e81538c789bd4d'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XRAN_MAX_MBUF_LEN'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +9600 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + define-mem-desc-line = '66'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ +jumbo frame +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__common_8h_1a0501e82515b2bdf36453c4cc80f5e0cc'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'NSEC_PER_SEC'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +1000000000L +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + define-mem-desc-line = '67'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__common_8h_1a5416ef6e53bf3688704e5cd58180a6a0'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'TIMER_RESOLUTION_CYCLES'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +1596*1 /* 1us */ +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + define-mem-desc-line = '68'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__common_8h_1ab286e76cbbc1717b1834ad37012a8f1d'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XRAN_RING_SIZE'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +512 /*4*14*8 pow of 2 */ +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + define-mem-desc-line = '69'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__common_8h_1a8154a36934db4708bd0d91441463ba80'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XRAN_NAME_MAX_LEN'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +(64) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + define-mem-desc-line = '70'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__common_8h_1ae185dfb0be13d1963c956fcf6714102e'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XRAN_RING_NUM'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +(3) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + define-mem-desc-line = '71'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__common_8h_1a7750de5c922f8dd59f0a46526f874957'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XranDiffSymIdx'; + define-mem-param = { + define-mem-def-name = 'prevSymIdx'; + }; /* define-mem-def--param */ + define-mem-param = { + define-mem-def-name = 'currSymIdx'; + }; /* define-mem-def--param */ + define-mem-param = { + define-mem-def-name = 'numTotalSymIdx'; + }; /* define-mem-def--param */ + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +((prevSymIdx > currSymIdx) ? ((currSymIdx + numTotalSymIdx) - prevSymIdx) : (currSymIdx - prevSymIdx)) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + define-mem-desc-line = '73'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__common_8h_1a9de44bc72094a093d31e741cdf8717a9'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XRAN_MLOG_VAR'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +0 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + define-mem-desc-line = '75'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ +enable debug variables to mlog +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__common_8h_1ad90730954cdd8ddb772622a642ef337a'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XRAN_PRACH_CANDIDATE_PREAMBLE'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +(2) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + define-mem-desc-line = '78'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__common_8h_1a342c40a4877f7760c65eca32523efea1'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XRAN_PRACH_CANDIDATE_Y'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +(2) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + define-mem-desc-line = '79'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__common_8h_1af7a48e76794ce5d801ab6d0f848abb53'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XRAN_PRACH_CANDIDATE_SLOT'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +(40) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + define-mem-desc-line = '80'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__common_8h_1acfe10f9da776bb6e50a7280baab35e28'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XRAN_PRACH_CONFIG_TABLE_SIZE'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +(256) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + define-mem-desc-line = '81'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__common_8h_1a68bde19b11ed59418ea6e0b63482c287'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XRAN_PRACH_PREAMBLE_FORMAT_OF_ABC'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +(9) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + define-mem-desc-line = '82'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__common_8h_1a5a5013ea633c2924f1e36bf1e3479c6f'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XRAN_MAX_POOLS_PER_SECTOR_NR'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +8 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + define-mem-desc-line = '142'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ +2x(TX_OUT, RX_IN, PRACH_IN, SRS_IN) with C-plane +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__common_8h_1a36f71a62df15a0f43a49ca89a633288d'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XranIncrementJob'; + define-mem-param = { + define-mem-def-name = 'i'; + }; /* define-mem-def--param */ + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +((i >= (XRAN_SYM_JOB_SIZE-1)) ? 0 : (i+1)) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + define-mem-desc-line = '191'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__common_8h_1a60e31c5b5f9a4baae724c6c09264957f'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XRAN_MAX_PKT_BURST_PER_SYM'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +32 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + define-mem-desc-line = '193'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__common_8h_1a09865e79c615f2e54214998ea06da6e8'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XRAN_MAX_PACKET_FRAG'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +9 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + define-mem-desc-line = '194'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__common_8h_1afb33e5553fd096faa39d5f9059fb80d9'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'MBUF_TABLE_SIZE'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +(2 * MAX(XRAN_MAX_PKT_BURST_PER_SYM, XRAN_MAX_PACKET_FRAG)) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + define-mem-desc-line = '196'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + }; + typedef = { + typedef-member = { + typedef-mem-kind = 'typedef'; + typedef-mem-id = 'xran__common_8h_1a1b1b6d20669bcb5b9639a5f3a95052fd'; + typedef-mem-virt = normal; + typedef-mem-prot = public; + typedef-mem-type = <<_EnD_oF_dEf_TeXt_ +struct sectorHandleInfo +_EnD_oF_dEf_TeXt_; + typedef-mem-name = 'XranSectorHandleInfo'; + typedef-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + typedef-mem-desc-line = '158'; + typedef-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + typedef-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* typedef-member */ + typedef-member = { + typedef-mem-kind = 'typedef'; + typedef-mem-id = 'xran__common_8h_1a28f7fce371ee51a16876af48fa1feac2'; + typedef-mem-virt = normal; + typedef-mem-prot = public; + typedef-mem-type = <<_EnD_oF_dEf_TeXt_ +struct sectorHandleInfo * +_EnD_oF_dEf_TeXt_; + typedef-mem-name = 'PXranSectorHandleInfo'; + typedef-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + typedef-mem-desc-line = '158'; + typedef-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + typedef-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* typedef-member */ + typedef-member = { + typedef-mem-kind = 'typedef'; + typedef-mem-id = 'xran__common_8h_1a7834322ce91726fa8a97364682c6de9d'; + typedef-mem-virt = normal; + typedef-mem-prot = public; + typedef-mem-type = <<_EnD_oF_dEf_TeXt_ +void(* +_EnD_oF_dEf_TeXt_; + typedef-mem-name = 'XranSymCallbackFn'; + typedef-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + typedef-mem-desc-line = '160'; + typedef-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + typedef-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* typedef-member */ + typedef-member = { + typedef-mem-kind = 'typedef'; + typedef-mem-id = 'xran__common_8h_1aedb267cc96c01f38341f460932d4cc5c'; + typedef-mem-virt = normal; + typedef-mem-prot = public; + typedef-mem-type = <<_EnD_oF_dEf_TeXt_ +int(* +_EnD_oF_dEf_TeXt_; + typedef-mem-name = 'xran_ethdi_mbuf_send_fn'; + typedef-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + typedef-mem-desc-line = '169'; + typedef-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + typedef-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* typedef-member */ + }; + enum = { + enum-member = { + enum-mem-kind = 'enum'; + enum-mem-id = 'xran__common_8h_1a8c9c50771b8a51b0209b1866855b80dd'; + enum-mem-virt = normal; + enum-mem-prot = public; + enum-mem-name = 'PreambleFormatEnum'; + enum-mem-enum = { enum-name = FORMAT_0; enum-value = '= 0'; }; + enum-mem-enum = { enum-name = FORMAT_1; }; + enum-mem-enum = { enum-name = FORMAT_2; }; + enum-mem-enum = { enum-name = FORMAT_3; }; + enum-mem-enum = { enum-name = FORMAT_A1; }; + enum-mem-enum = { enum-name = FORMAT_A2; }; + enum-mem-enum = { enum-name = FORMAT_A3; }; + enum-mem-enum = { enum-name = FORMAT_B1; }; + enum-mem-enum = { enum-name = FORMAT_B2; }; + enum-mem-enum = { enum-name = FORMAT_B3; }; + enum-mem-enum = { enum-name = FORMAT_B4; }; + enum-mem-enum = { enum-name = FORMAT_C0; }; + enum-mem-enum = { enum-name = FORMAT_C2; }; + enum-mem-enum = { enum-name = FORMAT_LAST; }; + enum-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + enum-mem-desc-line = '84'; + enum-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + enum-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* enum-member */ + }; + func = { + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__common_8h_1a3d4bd5c7eec6da4ab71688e209100761'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'process_mbuf'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mbuf * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pkt'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + func-mem-desc-line = '293'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__common_8h_1a4e156a8a72cc16b05c6ad0532df4e75a'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'process_ring'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_ring * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'r'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + func-mem-desc-line = '294'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8c_1ae413c4f1a4664d68aca9d331d1891a0c'; + func-mem-ref-line = '44'; + func-mem-ref-name = 'MBUFS_CNT'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__mlog__lnx_8h_1ab3a08558e2971726cddceed59f9fd3bd'; + func-mem-ref-line = '42'; + func-mem-ref-name = 'MLogTick'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'ethdi_8c_1af110b40ee89935ebe18d65ef84de1359'; + func-mem-ref-line = '156'; + func-mem-ref-name = 'xran_ethdi_filter_packet'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'ethdi_8h_1a39fca1837c5ce7715cbf571669660c13a90bbe176be23902fec1de76501599769'; + func-mem-ref-line = '137'; + func-mem-ref-name = 'MBUF_FREE'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__mlog__lnx_8h_1a2ea88cf07a4bee8b98cb6cea2ef3ae36'; + func-mem-ref-line = '44'; + func-mem-ref-name = 'MLogTask'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__lib__mlog__tasks__id_8h_1a9f54a4a7253be8580e0996d84b1bf638'; + func-mem-ref-line = '108'; + func-mem-ref-name = 'PID_PROCESS_UP_PKT'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__common_8h_1a3cdc276ccd8081a8bda75f22b0cac279'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'ring_processing_thread'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'args'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + func-mem-desc-line = '295'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'master_8py_1ad5c7a065cddc009146ea1b1192eb2102'; + func-mem-ref-line = '498'; + func-mem-ref-name = 'master::res'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'ethdi_8h_1a3822681248af17c36115a411e29e5fc2'; + func-mem-ref-line = '52'; + func-mem-ref-name = 'XRAN_THREAD_DEFAULT_PRIO'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8c_1a595fa22ad1c316d4c7d77f6333478b49'; + func-mem-ref-line = '700'; + func-mem-ref-name = 'ring_processing_func'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__common_8h_1a742ac891cd088b4d201945055048c56f'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'packets_dump_thread'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'args'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + func-mem-desc-line = '296'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__common_8h_1ab67b9cc6e54d8ba3945b265b47af743c'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'send_symbol_ex'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +enum xran_pkt_dir +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'direction'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'section_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mbuf * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'mb'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rb_map * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'data'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const enum xran_input_byte_order +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'iq_buf_byte_order'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'frame_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'subframe_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'slot_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'symbol_no'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'prb_start'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'prb_num'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'CC_ID'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'RU_Port_ID'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'seq_id'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + func-mem-desc-line = '298'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a49b173839f33b6d8e91a35ed9ec10f20'; + func-mem-ref-line = '51'; + func-mem-ref-name = 'MAX_N_FULLBAND_SC'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'common_8h_1ab97ae0d1cc679c3c40b779b34ab7b4cf'; + func-mem-ref-line = '49'; + func-mem-ref-name = 'N_SC_PER_PRB'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1aa09e72e94d2a1d891e86f4c09b0f8b21'; + func-mem-ref-line = '223'; + func-mem-ref-name = 'xran_dev_get_ctx'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'ethdi_8c_1a77f0a4b49dc21be816aefa3066debfa7'; + func-mem-ref-line = '77'; + func-mem-ref-name = 'xran_ethdi_mbuf_alloc'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__mlog__lnx_8h_1a3c5a3b260b393219742a4604eee825f3'; + func-mem-ref-line = '36'; + func-mem-ref-name = 'MLogPrint'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8c_1adc9636576fb70f4b4fcfd1d03fe59998'; + func-mem-ref-line = '348'; + func-mem-ref-name = 'prepare_symbol_ex'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8c_1a633effdcb470f03cbf5aa8c9f9540ddb'; + func-mem-ref-line = '118'; + func-mem-ref-name = 'tx_counter'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8c_1aea924947c3d744f2208baa8a79229f3f'; + func-mem-ref-line = '119'; + func-mem-ref-name = 'tx_bytes_counter'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a77daaa6043406a5924fd69b2dd42571e'; + func-mem-ref-line = '277'; + func-mem-ref-name = 'xran_device_ctx::send_upmbuf2ring'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'ethernet_8h_1af87cccd4396539ae2fd0000a61907e92'; + func-mem-ref-line = '42'; + func-mem-ref-name = 'ETHER_TYPE_ECPRI'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__common_8h_1adc9636576fb70f4b4fcfd1d03fe59998'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'prepare_symbol_ex'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +enum xran_pkt_dir +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'direction'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'section_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mbuf * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'mb'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rb_map * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'data'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'compMeth'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'iqWidth'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const enum xran_input_byte_order +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'iq_buf_byte_order'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'frame_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'subframe_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'slot_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'symbol_no'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'prb_start'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'prb_num'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'CC_ID'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'RU_Port_ID'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'seq_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'do_copy'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + func-mem-desc-line = '313'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a49b173839f33b6d8e91a35ed9ec10f20'; + func-mem-ref-line = '51'; + func-mem-ref-name = 'MAX_N_FULLBAND_SC'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'common_8h_1ab97ae0d1cc679c3c40b779b34ab7b4cf'; + func-mem-ref-line = '49'; + func-mem-ref-name = 'N_SC_PER_PRB'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1afc082593977ad91f3dcdd2175cb74615a7fbf705170e00d2ce3e838fa9826ca8d'; + func-mem-ref-line = '204'; + func-mem-ref-name = 'XRAN_COMPMETHOD_NONE'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1acd19f4ec321bcc5633e81538c789bd4d'; + func-mem-ref-line = '66'; + func-mem-ref-name = 'XRAN_MAX_MBUF_LEN'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__up__api_8h_1a26f46f53ef26bc5d5f86e19a15fc356f'; + func-mem-ref-line = '47'; + func-mem-ref-name = 'xran_up_pkt_gen_params::app_params'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1a40f66f521df9b1dbae9d0ee852c66e0d'; + func-mem-ref-line = '173'; + func-mem-ref-name = 'radio_app_common_hdr::data_direction'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1a0058ea0059aba78a7a164c298c82de33'; + func-mem-ref-line = '170'; + func-mem-ref-name = 'radio_app_common_hdr::payl_ver'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1ab370897260617b317ee8957e470de1cc'; + func-mem-ref-line = '165'; + func-mem-ref-name = 'radio_app_common_hdr::filter_id'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1a03c1016ac46b9df250b994f242cf956a'; + func-mem-ref-line = '176'; + func-mem-ref-name = 'radio_app_common_hdr::frame_id'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1a2c655c9f7a861ed572ea29f90392edda'; + func-mem-ref-line = '189'; + func-mem-ref-name = 'radio_app_common_hdr::subframe_id'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1a02c1d0a330aa46a1bfee985080d93cd4'; + func-mem-ref-line = '185'; + func-mem-ref-name = 'radio_app_common_hdr::slot_id'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1acbbef8fd7acac33a2a461e15a43112ba'; + func-mem-ref-line = '183'; + func-mem-ref-name = 'radio_app_common_hdr::symb_id'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1a900b69af7d674b8db3bceae754b4955a'; + func-mem-ref-line = '181'; + func-mem-ref-name = 'radio_app_common_hdr::value'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__up__api_8h_1ae5c4194f5046a89d06534a69775c1cab'; + func-mem-ref-line = '48'; + func-mem-ref-name = 'xran_up_pkt_gen_params::sec_hdr'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__up_8h_1a11d1616fb975ccafbc33ab590fe501c4'; + func-mem-ref-line = '75'; + func-mem-ref-name = 'data_section_hdr::sect_id'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__up_8h_1acb00c5e7ebe809fda7288c699eed867c'; + func-mem-ref-line = '71'; + func-mem-ref-name = 'data_section_hdr::num_prbu'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__up_8h_1a486aca552c11b7046ca3066ebf4241dc'; + func-mem-ref-line = '72'; + func-mem-ref-name = 'data_section_hdr::start_prbu'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__up_8h_1aba23e80ad7dc1c3f7085ba3a2b4662bb'; + func-mem-ref-line = '73'; + func-mem-ref-name = 'data_section_hdr::sym_inc'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__up_8h_1ac91b2b11ae96c1a44e8a2fad473771c7'; + func-mem-ref-line = '74'; + func-mem-ref-name = 'data_section_hdr::rb'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__up__api_8h_1abd4dfd90066570bbcb342a260adcc7a6'; + func-mem-ref-line = '49'; + func-mem-ref-name = 'xran_up_pkt_gen_params::compr_hdr_param'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__up_8h_1a4638fbd317b5d0c464ef9483038564b0'; + func-mem-ref-line = '92'; + func-mem-ref-name = 'data_section_compression_hdr::ud_comp_hdr'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1ae12079177feb5d2ee414356fc18473cf'; + func-mem-ref-line = '213'; + func-mem-ref-name = 'compression_hdr::ud_comp_meth'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1ab3f5c028170bd3bd241a58be8ca8da96'; + func-mem-ref-line = '208'; + func-mem-ref-name = 'compression_hdr::ud_iq_width'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__up_8h_1a73f8c890ac5a8af7cfe4947d2205e3ee'; + func-mem-ref-line = '93'; + func-mem-ref-name = 'data_section_compression_hdr::rsrvd'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__up_8h_1a9f9f2f87d8b5cc7e4af6ef3e2c4c8189'; + func-mem-ref-line = '69'; + func-mem-ref-name = 'data_section_hdr::all_bits'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__mlog__lnx_8h_1a3c5a3b260b393219742a4604eee825f3'; + func-mem-ref-line = '36'; + func-mem-ref-name = 'MLogPrint'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__up__api_8c_1acd8f547b98d7ebd7dbc41c486a26505d'; + func-mem-ref-line = '455'; + func-mem-ref-name = 'xran_prepare_iq_symbol_portion'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'u__plane__functional_8cc_1a17e5d82ac5aec3860b1324a80fda79ed'; + func-mem-ref-line = '61'; + func-mem-ref-name = 'TEST_P'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'u__plane__performance_8cc_1aa2fb15367f40188e0a2d2c15fa6ad124'; + func-mem-ref-line = '66'; + func-mem-ref-name = 'U_planePerf::fucntional_dl'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__common_8c_1ab67b9cc6e54d8ba3945b265b47af743c'; + func-mem-ref-line = '436'; + func-mem-ref-name = 'send_symbol_ex'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__common_8h_1a484fa852a2e973600abba0efb1fbefb9'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'send_cpmsg'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pHandle'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mbuf * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'mbuf'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_cp_gen_params * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'params'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_section_gen_info * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'sect_geninfo'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'cc_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'ru_port_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'seq_id'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + func-mem-desc-line = '331'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a6c787affb1020c2b8058a3ddeff3fe52'; + func-mem-ref-line = '320'; + func-mem-ref-name = 'xran_cp_gen_params::hdr'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a048f7f66787565b266517ddaa551d98e'; + func-mem-ref-line = '278'; + func-mem-ref-name = 'xran_cp_header_params::frameId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a45cd2998ed056e5139a76bf36053ed14'; + func-mem-ref-line = '279'; + func-mem-ref-name = 'xran_cp_header_params::subframeId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a0eb3f725109bb1afb9094b025af26678'; + func-mem-ref-line = '280'; + func-mem-ref-name = 'xran_cp_header_params::slotId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a92abda0bec7c1c978fe96f87aad18067'; + func-mem-ref-line = '316'; + func-mem-ref-name = 'xran_cp_gen_params::dir'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1aa09e72e94d2a1d891e86f4c09b0f8b21'; + func-mem-ref-line = '223'; + func-mem-ref-name = 'xran_dev_get_ctx'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a52bddd404e766ddb6f2b9eabe15ea5b1'; + func-mem-ref-line = '318'; + func-mem-ref-name = 'xran_cp_gen_params::numSections'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8c_1a633effdcb470f03cbf5aa8c9f9540ddb'; + func-mem-ref-line = '118'; + func-mem-ref-name = 'tx_counter'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8c_1aea924947c3d744f2208baa8a79229f3f'; + func-mem-ref-line = '119'; + func-mem-ref-name = 'tx_bytes_counter'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1ad4eb63363a7e445e90ea75b8e99efaad'; + func-mem-ref-line = '276'; + func-mem-ref-name = 'xran_device_ctx::send_cpmbuf2ring'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'ethernet_8h_1af87cccd4396539ae2fd0000a61907e92'; + func-mem-ref-line = '42'; + func-mem-ref-name = 'ETHER_TYPE_ECPRI'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8c_1a2a349ad9adaec2cfd7f88e791d451c5e'; + func-mem-ref-line = '160'; + func-mem-ref-name = 'xran_cp_add_section_info'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a76e4794a93b44d5f6bd835f1640f7f4f'; + func-mem-ref-line = '54'; + func-mem-ref-name = 'SLOTNUM_PER_SUBFRAME'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a93b65038922e8dd5f6d9cc499daf25aa'; + func-mem-ref-line = '40'; + func-mem-ref-name = 'XRAN_MAX_SECTIONDB_CTX'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__common_8h_1aaa01e98d3b3439a332302aebe21459dd'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'generate_cpmsg_dlul'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pHandle'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_cp_gen_params * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'params'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_section_gen_info * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'sect_geninfo'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mbuf * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'mbuf'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +enum xran_pkt_dir +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'dir'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'frame_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'subframe_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'slot_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'startsym'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'numsym'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'prb_start'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'prb_num'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +int16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'iq_buffer_offset'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +int16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'iq_buffer_len'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'beam_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'cc_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'ru_port_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'comp_method'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'iqWidth'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'seq_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'symInc'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + func-mem-desc-line = '334'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a92abda0bec7c1c978fe96f87aad18067'; + func-mem-ref-line = '316'; + func-mem-ref-name = 'xran_cp_gen_params::dir'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1ae273caa235b1c6085de4ad13886f82c9'; + func-mem-ref-line = '317'; + func-mem-ref-name = 'xran_cp_gen_params::sectionType'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a6e8f1d76afde95b2d85b1fd99aaa1610a1f3289201658ac2a09203c4fb974b1e7'; + func-mem-ref-line = '56'; + func-mem-ref-name = 'XRAN_CP_SECTIONTYPE_1'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a6c787affb1020c2b8058a3ddeff3fe52'; + func-mem-ref-line = '320'; + func-mem-ref-name = 'xran_cp_gen_params::hdr'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1ad5150de5e1c141cfe288f260afb00830'; + func-mem-ref-line = '277'; + func-mem-ref-name = 'xran_cp_header_params::filterIdx'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1ae51812e2dae7d8776b443f818f277d5ba02f77bf011c81bd0e18ebcb09b175181'; + func-mem-ref-line = '66'; + func-mem-ref-name = 'XRAN_FILTERINDEX_STANDARD'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a048f7f66787565b266517ddaa551d98e'; + func-mem-ref-line = '278'; + func-mem-ref-name = 'xran_cp_header_params::frameId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a45cd2998ed056e5139a76bf36053ed14'; + func-mem-ref-line = '279'; + func-mem-ref-name = 'xran_cp_header_params::subframeId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a0eb3f725109bb1afb9094b025af26678'; + func-mem-ref-line = '280'; + func-mem-ref-name = 'xran_cp_header_params::slotId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1ac54814779041bec5dcf8aec288d69b06'; + func-mem-ref-line = '281'; + func-mem-ref-name = 'xran_cp_header_params::startSymId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a1520b1ef6131bff6c14b88d849c266c5'; + func-mem-ref-line = '286'; + func-mem-ref-name = 'xran_cp_header_params::iqWidth'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a1e4a3c43fc7865c6520471fb9ba8501f'; + func-mem-ref-line = '287'; + func-mem-ref-name = 'xran_cp_header_params::compMeth'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a6ccd48a36736101737e9b419d7a3cc85'; + func-mem-ref-line = '296'; + func-mem-ref-name = 'xran_section_gen_info::info'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a1d127017fb298b889f4ba24752d08b8e'; + func-mem-ref-line = '185'; + func-mem-ref-name = 'xran_section_info::type'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1ac54814779041bec5dcf8aec288d69b06'; + func-mem-ref-line = '188'; + func-mem-ref-name = 'xran_section_info::startSymId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a1520b1ef6131bff6c14b88d849c266c5'; + func-mem-ref-line = '197'; + func-mem-ref-name = 'xran_section_info::iqWidth'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a1e4a3c43fc7865c6520471fb9ba8501f'; + func-mem-ref-line = '196'; + func-mem-ref-name = 'xran_section_info::compMeth'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a4fc3a0c58dfbd1e68224521185cb9384'; + func-mem-ref-line = '191'; + func-mem-ref-name = 'xran_section_info::id'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1a8546e95e2daf30058a66904e7f801723'; + func-mem-ref-line = '379'; + func-mem-ref-name = 'xran_alloc_sectionid'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1affa3adbd50cd4af2018ba1fc0e8c3e31'; + func-mem-ref-line = '195'; + func-mem-ref-name = 'xran_section_info::rb'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a1087eb8c21d4b4e104b12a056ff65553a020e57090e5b6e614d303c027543fd16'; + func-mem-ref-line = '105'; + func-mem-ref-name = 'XRAN_RBIND_EVERY'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a52f6623d45fec4bf9c14898f7e53db34'; + func-mem-ref-line = '190'; + func-mem-ref-name = 'xran_section_info::symInc'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__cp_8h_1a52f6623d45fec4bf9c14898f7e53db34'; + func-mem-ref-line = '242'; + func-mem-ref-name = 'symInc'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a6b13285aabf8f2f4598143b2670204c1'; + func-mem-ref-line = '193'; + func-mem-ref-name = 'xran_section_info::startPrbc'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a2b72ddddeff4e4a8a5c191695ec41079'; + func-mem-ref-line = '194'; + func-mem-ref-name = 'xran_section_info::numPrbc'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a664cb6ca464c69ef60a445fa4f4b3522'; + func-mem-ref-line = '189'; + func-mem-ref-name = 'xran_section_info::numSymbol'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1ab8acca18b930cde25e1cf85ae86c964c'; + func-mem-ref-line = '192'; + func-mem-ref-name = 'xran_section_info::reMask'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1ac7deef3ca4b0fc12769165dbf9374569'; + func-mem-ref-line = '200'; + func-mem-ref-name = 'xran_section_info::beamId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a87d92ec177ed9c388685a91051f66205'; + func-mem-ref-line = '122'; + func-mem-ref-name = 'XRAN_NUM_OF_SYMBOL_PER_SLOT'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1ae87ace79c701c8bafa8ed69be03b9542'; + func-mem-ref-line = '205'; + func-mem-ref-name = 'xran_section_info::sec_desc'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a4d1fb35f3f2d9f3556fbd1761a167255'; + func-mem-ref-line = '385'; + func-mem-ref-name = 'xran_section_desc::iq_buffer_offset'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1ae55ac9499e5406559ad2ff0376dd0a68'; + func-mem-ref-line = '386'; + func-mem-ref-name = 'xran_section_desc::iq_buffer_len'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1afe3859cd334ad3f912622c58d5b2079e'; + func-mem-ref-line = '198'; + func-mem-ref-name = 'xran_section_info::ef'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1aa561d89cbc570e39183c64a5095a6053'; + func-mem-ref-line = '298'; + func-mem-ref-name = 'xran_section_gen_info::exDataSize'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a52bddd404e766ddb6f2b9eabe15ea5b1'; + func-mem-ref-line = '318'; + func-mem-ref-name = 'xran_cp_gen_params::numSections'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a5921f2439294279b8111fed577c5c37a'; + func-mem-ref-line = '322'; + func-mem-ref-name = 'xran_cp_gen_params::sections'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__printf_8h_1a16c2c0a30b31515830a4a8eff6cf10b5'; + func-mem-ref-line = '62'; + func-mem-ref-name = 'print_err'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8c_1af9eb550e92ea270af41b4b6bcda363db'; + func-mem-ref-line = '1381'; + func-mem-ref-name = 'xran_prepare_ctrl_pkt'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__common_8h_1ab8a6ed3cee8fa183142d0c23d0b4971d'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'generate_cpmsg_prach'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pHandle'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_cp_gen_params * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'params'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_section_gen_info * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'sect_geninfo'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mbuf * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'mbuf'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_device_ctx * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pxran_lib_ctx'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'frame_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'subframe_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'slot_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'beam_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'cc_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'prach_port_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'seq_id'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + func-mem-desc-line = '339'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1ac1db3db55038ef0b2f69827746eaf87c'; + func-mem-ref-line = '210'; + func-mem-ref-name = 'xran_device_ctx::PrachCPConfig'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__cp_8h_1aa68c277a66312b4b90819cccc055bdb7'; + func-mem-ref-line = '215'; + func-mem-ref-name = 'timeOffset'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a4adf91126704ea524f98f461f6180c85'; + func-mem-ref-line = '209'; + func-mem-ref-name = 'xran_device_ctx::fh_cfg'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a72b0cba491d0dd2703d684cb2c2a14cf'; + func-mem-ref-line = '517'; + func-mem-ref-name = 'xran_fh_config::frame_conf'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a78b2fab8e8d6a6424c2712d528fd9a58'; + func-mem-ref-line = '461'; + func-mem-ref-name = 'xran_frame_config::nNumerology'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__printf_8h_1a16c2c0a30b31515830a4a8eff6cf10b5'; + func-mem-ref-line = '62'; + func-mem-ref-name = 'print_err'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1ad5150de5e1c141cfe288f260afb00830'; + func-mem-ref-line = '127'; + func-mem-ref-name = 'xran_prach_cp_config::filterIdx'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1ac54814779041bec5dcf8aec288d69b06'; + func-mem-ref-line = '128'; + func-mem-ref-name = 'xran_prach_cp_config::startSymId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a6b13285aabf8f2f4598143b2670204c1'; + func-mem-ref-line = '129'; + func-mem-ref-name = 'xran_prach_cp_config::startPrbc'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1aabc4fe26e40f742fd255e2bb8534de75'; + func-mem-ref-line = '130'; + func-mem-ref-name = 'xran_prach_cp_config::numPrbc'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a664cb6ca464c69ef60a445fa4f4b3522'; + func-mem-ref-line = '131'; + func-mem-ref-name = 'xran_prach_cp_config::numSymbol'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a2e544eaae35a5756272d62af4fa53a19'; + func-mem-ref-line = '135'; + func-mem-ref-name = 'xran_prach_cp_config::occassionsInPrachSlot'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a3af58496c14a1c91c015aa6ffe7dca49'; + func-mem-ref-line = '133'; + func-mem-ref-name = 'xran_prach_cp_config::freqOffset'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1aa68c277a66312b4b90819cccc055bdb7'; + func-mem-ref-line = '132'; + func-mem-ref-name = 'xran_prach_cp_config::timeOffset'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a76e4794a93b44d5f6bd835f1640f7f4f'; + func-mem-ref-line = '54'; + func-mem-ref-name = 'SLOTNUM_PER_SUBFRAME'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a92abda0bec7c1c978fe96f87aad18067'; + func-mem-ref-line = '316'; + func-mem-ref-name = 'xran_cp_gen_params::dir'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1gga9c60a23fdae979ad1842b255790d1558a404255db3f05419798875bfb763e1c05'; + func-mem-ref-line = '148'; + func-mem-ref-name = 'XRAN_DIR_UL'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1ae273caa235b1c6085de4ad13886f82c9'; + func-mem-ref-line = '317'; + func-mem-ref-name = 'xran_cp_gen_params::sectionType'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a6e8f1d76afde95b2d85b1fd99aaa1610a80bcc2d7d7aff5e850d26892e703c637'; + func-mem-ref-line = '57'; + func-mem-ref-name = 'XRAN_CP_SECTIONTYPE_3'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a6c787affb1020c2b8058a3ddeff3fe52'; + func-mem-ref-line = '320'; + func-mem-ref-name = 'xran_cp_gen_params::hdr'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1ad5150de5e1c141cfe288f260afb00830'; + func-mem-ref-line = '277'; + func-mem-ref-name = 'xran_cp_header_params::filterIdx'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a048f7f66787565b266517ddaa551d98e'; + func-mem-ref-line = '278'; + func-mem-ref-name = 'xran_cp_header_params::frameId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a45cd2998ed056e5139a76bf36053ed14'; + func-mem-ref-line = '279'; + func-mem-ref-name = 'xran_cp_header_params::subframeId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a0eb3f725109bb1afb9094b025af26678'; + func-mem-ref-line = '280'; + func-mem-ref-name = 'xran_cp_header_params::slotId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1ac54814779041bec5dcf8aec288d69b06'; + func-mem-ref-line = '281'; + func-mem-ref-name = 'xran_cp_header_params::startSymId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a1520b1ef6131bff6c14b88d849c266c5'; + func-mem-ref-line = '286'; + func-mem-ref-name = 'xran_cp_header_params::iqWidth'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1a5f780beefc47e125ffd42fde16117e62'; + func-mem-ref-line = '3005'; + func-mem-ref-name = 'xran_get_conf_iqwidth'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a1e4a3c43fc7865c6520471fb9ba8501f'; + func-mem-ref-line = '287'; + func-mem-ref-name = 'xran_cp_header_params::compMeth'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1a70d428b456fbe76f8550ff9b782a9e4e'; + func-mem-ref-line = '3018'; + func-mem-ref-name = 'xran_get_conf_compmethod'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1aa68c277a66312b4b90819cccc055bdb7'; + func-mem-ref-line = '289'; + func-mem-ref-name = 'xran_cp_header_params::timeOffset'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a59e7e8f3feb686850b0cb0ae065de85b'; + func-mem-ref-line = '284'; + func-mem-ref-name = 'xran_cp_header_params::fftSize'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1ada345a8a99480787d4274a342aa39535'; + func-mem-ref-line = '2985'; + func-mem-ref-name = 'xran_get_conf_fftsize'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1ae470e3869d1cbf07cd5f78ab6709b9e1'; + func-mem-ref-line = '285'; + func-mem-ref-name = 'xran_cp_header_params::scs'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1ab39a5770374d16662d62a85504a11930'; + func-mem-ref-line = '2975'; + func-mem-ref-name = 'xran_get_conf_prach_scs'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1af57c31d64bbdb0d65fd36c9f38951328'; + func-mem-ref-line = '290'; + func-mem-ref-name = 'xran_cp_header_params::cpLength'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a6ccd48a36736101737e9b419d7a3cc85'; + func-mem-ref-line = '296'; + func-mem-ref-name = 'xran_section_gen_info::info'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a1d127017fb298b889f4ba24752d08b8e'; + func-mem-ref-line = '185'; + func-mem-ref-name = 'xran_section_info::type'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1ac54814779041bec5dcf8aec288d69b06'; + func-mem-ref-line = '188'; + func-mem-ref-name = 'xran_section_info::startSymId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a1520b1ef6131bff6c14b88d849c266c5'; + func-mem-ref-line = '197'; + func-mem-ref-name = 'xran_section_info::iqWidth'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a1e4a3c43fc7865c6520471fb9ba8501f'; + func-mem-ref-line = '196'; + func-mem-ref-name = 'xran_section_info::compMeth'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a4fc3a0c58dfbd1e68224521185cb9384'; + func-mem-ref-line = '191'; + func-mem-ref-name = 'xran_section_info::id'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1a8546e95e2daf30058a66904e7f801723'; + func-mem-ref-line = '379'; + func-mem-ref-name = 'xran_alloc_sectionid'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1affa3adbd50cd4af2018ba1fc0e8c3e31'; + func-mem-ref-line = '195'; + func-mem-ref-name = 'xran_section_info::rb'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a1087eb8c21d4b4e104b12a056ff65553a020e57090e5b6e614d303c027543fd16'; + func-mem-ref-line = '105'; + func-mem-ref-name = 'XRAN_RBIND_EVERY'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a52f6623d45fec4bf9c14898f7e53db34'; + func-mem-ref-line = '190'; + func-mem-ref-name = 'xran_section_info::symInc'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a056d791208720148306b686856cd36b0a2968e08e8282588813b4ace40df05c8e'; + func-mem-ref-line = '112'; + func-mem-ref-name = 'XRAN_SYMBOLNUMBER_NOTINC'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a6b13285aabf8f2f4598143b2670204c1'; + func-mem-ref-line = '193'; + func-mem-ref-name = 'xran_section_info::startPrbc'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a2b72ddddeff4e4a8a5c191695ec41079'; + func-mem-ref-line = '194'; + func-mem-ref-name = 'xran_section_info::numPrbc'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a664cb6ca464c69ef60a445fa4f4b3522'; + func-mem-ref-line = '189'; + func-mem-ref-name = 'xran_section_info::numSymbol'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1ab8acca18b930cde25e1cf85ae86c964c'; + func-mem-ref-line = '192'; + func-mem-ref-name = 'xran_section_info::reMask'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1ac7deef3ca4b0fc12769165dbf9374569'; + func-mem-ref-line = '200'; + func-mem-ref-name = 'xran_section_info::beamId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a3af58496c14a1c91c015aa6ffe7dca49'; + func-mem-ref-line = '199'; + func-mem-ref-name = 'xran_section_info::freqOffset'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a53af49f65e0dafdafcde73d693961a78'; + func-mem-ref-line = '263'; + func-mem-ref-name = 'xran_device_ctx::prach_last_symbol'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1afe3859cd334ad3f912622c58d5b2079e'; + func-mem-ref-line = '198'; + func-mem-ref-name = 'xran_section_info::ef'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1aa561d89cbc570e39183c64a5095a6053'; + func-mem-ref-line = '298'; + func-mem-ref-name = 'xran_section_gen_info::exDataSize'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a52bddd404e766ddb6f2b9eabe15ea5b1'; + func-mem-ref-line = '318'; + func-mem-ref-name = 'xran_cp_gen_params::numSections'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a5921f2439294279b8111fed577c5c37a'; + func-mem-ref-line = '322'; + func-mem-ref-name = 'xran_cp_gen_params::sections'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8c_1af9eb550e92ea270af41b4b6bcda363db'; + func-mem-ref-line = '1381'; + func-mem-ref-name = 'xran_prepare_ctrl_pkt'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'prach__functional_8cc_1a62307393b7f454a2b348ada67997b796'; + func-mem-ref-line = '177'; + func-mem-ref-name = 'TEST_P'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'prach__performance_8cc_1a540e426541deb753f7c69d8df5d5b090'; + func-mem-ref-line = '172'; + func-mem-ref-name = 'performance_cp'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__common_8h_1a761e3947dcc547008a12a9cca10b1ea0'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_eaxcid_config * +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_get_conf_eAxC'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pHandle'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + func-mem-desc-line = '343'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Get the configuration of eAxC ID. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@return the pointer of configuration +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1aa09e72e94d2a1d891e86f4c09b0f8b21'; + func-mem-ref-line = '223'; + func-mem-ref-name = 'xran_dev_get_ctx'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__transport_8c_1ae834080139ba785f1a3ac5781bf2ec88'; + func-mem-ref-line = '65'; + func-mem-ref-name = 'xran_compose_cid'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__transport_8c_1ab08a85b6527f45a9ba22d25061a96a3c'; + func-mem-ref-line = '89'; + func-mem-ref-name = 'xran_decompose_cid'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__common_8h_1ab39a5770374d16662d62a85504a11930'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_get_conf_prach_scs'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pHandle'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + func-mem-desc-line = '344'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Get the configuration of subcarrier spacing for PRACH. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@return subcarrier spacing value for PRACH +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'xran__common_8c_1ab8a6ed3cee8fa183142d0c23d0b4971d'; + func-mem-ref-line = '595'; + func-mem-ref-name = 'generate_cpmsg_prach'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__common_8h_1ada345a8a99480787d4274a342aa39535'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_get_conf_fftsize'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pHandle'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + func-mem-desc-line = '345'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Get the configuration of FFT size for RU. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@return FFT size value for RU +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'xran__common_8c_1ab8a6ed3cee8fa183142d0c23d0b4971d'; + func-mem-ref-line = '595'; + func-mem-ref-name = 'generate_cpmsg_prach'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__common_8h_1ae6070ee9caf6a7ea8d7ef052ed0a559a'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_get_conf_numerology'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pHandle'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + func-mem-desc-line = '346'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Get the configuration of nummerology. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@return Configured numerology +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1a03f408f45e97aa68ca47c92e4e7d1a70'; + func-mem-ref-line = '2756'; + func-mem-ref-name = 'xran_open'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__common_8h_1a5f780beefc47e125ffd42fde16117e62'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_get_conf_iqwidth'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pHandle'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + func-mem-desc-line = '347'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Get the configuration of IQ bit width for RU. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@return IQ bit width for RU +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'xran__common_8c_1ab8a6ed3cee8fa183142d0c23d0b4971d'; + func-mem-ref-line = '595'; + func-mem-ref-name = 'generate_cpmsg_prach'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__common_8h_1a70d428b456fbe76f8550ff9b782a9e4e'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_get_conf_compmethod'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pHandle'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + func-mem-desc-line = '348'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Get the configuration of compression method for RU. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@return Compression method for RU +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'xran__common_8c_1ab8a6ed3cee8fa183142d0c23d0b4971d'; + func-mem-ref-line = '595'; + func-mem-ref-name = 'generate_cpmsg_prach'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__common_8h_1ad749041bcf50616bac96e4d13b661272'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_get_conf_num_bfweights'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pHandle'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + func-mem-desc-line = '349'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Get the configuration of the total number of beamforming weights on RU. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@return Configured the number of beamforming weights +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1aa09e72e94d2a1d891e86f4c09b0f8b21'; + func-mem-ref-line = '223'; + func-mem-ref-name = 'xran_dev_get_ctx'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__cp__api_8c_1aaa0c6012a36b539f8880c45ac909c331'; + func-mem-ref-line = '1416'; + func-mem-ref-name = 'xran_parse_section_ext1'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__common_8h_1ad51ee5b7f1f27c770f1eb658b5ee523e'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_get_num_cc'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pHandle'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + func-mem-desc-line = '351'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Get the configuration of the number of component carriers. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@return Configured the number of component carriers +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1a4474e27c827459f3af40954b0c6f962b'; + func-mem-ref-line = '910'; + func-mem-ref-name = 'tx_cp_dl_cb'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1ad4544f4d6f4713c010f083bce5758d14'; + func-mem-ref-line = '963'; + func-mem-ref-name = 'rx_ul_deadline_half_cb'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1a63aa00dad3b771f4db5df8ca8ac68323'; + func-mem-ref-line = '999'; + func-mem-ref-name = 'rx_ul_deadline_full_cb'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1ab26e37a9d8915b33e29d632af88ff3a3'; + func-mem-ref-line = '1045'; + func-mem-ref-name = 'tx_cp_ul_cb'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__common_8h_1a3fc01469558ddf728239d59038ac5803'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_get_num_eAxc'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pHandle'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + func-mem-desc-line = '352'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Get the configuration of the number of antenna for UL. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@return Configured the number of antenna +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'xran__common_8c_1a3d4bd5c7eec6da4ab71688e209100761'; + func-mem-ref-line = '143'; + func-mem-ref-name = 'process_mbuf'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1a00025c5bad7b7b6eea4374226f8c54bb'; + func-mem-ref-line = '308'; + func-mem-ref-name = 'xran_init_prach'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1a4474e27c827459f3af40954b0c6f962b'; + func-mem-ref-line = '910'; + func-mem-ref-name = 'tx_cp_dl_cb'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1ab26e37a9d8915b33e29d632af88ff3a3'; + func-mem-ref-line = '1045'; + func-mem-ref-name = 'tx_cp_ul_cb'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__common_8h_1aaf7b03037e0687819501554a42fb3c52'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_get_num_eAxcUl'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pHandle'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + func-mem-desc-line = '353'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Get the configuration of the number of antenna. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@return Configured the number of antenna +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1ab26e37a9d8915b33e29d632af88ff3a3'; + func-mem-ref-line = '1045'; + func-mem-ref-name = 'tx_cp_ul_cb'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__common_8h_1a7c54b342a8b4907858f7f0f074ddd79d'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_get_num_ant_elm'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pHandle'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + func-mem-desc-line = '354'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Get the configuration of the number of antenna elements. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@return Configured the number of antenna +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1a072be4e030e23440817b205256d2df29'; + func-mem-ref-line = '1715'; + func-mem-ref-name = 'xran_process_tx_sym_cp_off'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__common_8h_1ae3663b3f472b4003acc7f91e61669735'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +enum xran_category +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_get_ru_category'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pHandle'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + func-mem-desc-line = '354'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Get configuration of O-RU (Cat A or Cat B) +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@return Configured the number of antenna +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1ab26e37a9d8915b33e29d632af88ff3a3'; + func-mem-ref-line = '1045'; + func-mem-ref-name = 'tx_cp_ul_cb'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__common_8h_1aa09e72e94d2a1d891e86f4c09b0f8b21'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_device_ctx * +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_dev_get_ctx'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + func-mem-desc-line = '357'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'init__sys__functional_8cc_1a9796d6da0db5312f3ddffc3c43038daf'; + func-mem-ref-line = '112'; + func-mem-ref-name = 'TEST_P'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__common_8c_1a3d4bd5c7eec6da4ab71688e209100761'; + func-mem-ref-line = '143'; + func-mem-ref-name = 'process_mbuf'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__common_8c_1ab67b9cc6e54d8ba3945b265b47af743c'; + func-mem-ref-line = '436'; + func-mem-ref-name = 'send_symbol_ex'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__common_8c_1a484fa852a2e973600abba0efb1fbefb9'; + func-mem-ref-line = '510'; + func-mem-ref-name = 'send_cpmsg'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__lib__wrap_8hpp_1a165ca95dea40ce1abcc161f39087d38d'; + func-mem-ref-line = '1024'; + func-mem-ref-name = 'xranLibWraper::apply_cpenable'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1a7192955290ca84553d071cedc5ee89cb'; + func-mem-ref-line = '243'; + func-mem-ref-name = 'xran_is_prach_slot'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1a195da46c3cb90e36da543594416cbba7'; + func-mem-ref-line = '582'; + func-mem-ref-name = 'sym_ota_cb'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1a9c3700d61ba446fa9b05cca2ca9018ab'; + func-mem-ref-line = '632'; + func-mem-ref-name = 'tti_ota_cb'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1a5b8958fc5688ba856cba84038ee4b938'; + func-mem-ref-line = '711'; + func-mem-ref-name = 'xran_timer_arm'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1a96de765800aa6de0788fc530cbc16825'; + func-mem-ref-line = '724'; + func-mem-ref-name = 'xran_timer_arm_ex'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1a66ed2e3f4cefcfdd71841c152c80aa20'; + func-mem-ref-line = '737'; + func-mem-ref-name = 'xran_cp_create_and_send_section'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1a4474e27c827459f3af40954b0c6f962b'; + func-mem-ref-line = '910'; + func-mem-ref-name = 'tx_cp_dl_cb'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1ad4544f4d6f4713c010f083bce5758d14'; + func-mem-ref-line = '963'; + func-mem-ref-name = 'rx_ul_deadline_half_cb'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1a63aa00dad3b771f4db5df8ca8ac68323'; + func-mem-ref-line = '999'; + func-mem-ref-name = 'rx_ul_deadline_full_cb'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1ab26e37a9d8915b33e29d632af88ff3a3'; + func-mem-ref-line = '1045'; + func-mem-ref-name = 'tx_cp_ul_cb'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1a6bec02784f5898c72bdbe64469186a45'; + func-mem-ref-line = '1136'; + func-mem-ref-name = 'tti_to_phy_cb'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1ae4973aab78785b0738c729b26a1474e2'; + func-mem-ref-line = '1165'; + func-mem-ref-name = 'xran_timing_source_thread'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1a7a412a9cd0ac919dccb2112fb386d64a'; + func-mem-ref-line = '1342'; + func-mem-ref-name = 'handle_ecpri_ethertype'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1a14cfa955b7fdf58378a97b4cfa7268f8'; + func-mem-ref-line = '1384'; + func-mem-ref-name = 'xran_process_prach_sym'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1a300b87c29358bb161404c0122a9b2a46'; + func-mem-ref-line = '1461'; + func-mem-ref-name = 'xran_process_srs_sym'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1ac5201df2d161091f7319ff2f57432823'; + func-mem-ref-line = '1536'; + func-mem-ref-name = 'xran_pkt_validate'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1acb6ecf7858c99c963182b9b7884deca6'; + func-mem-ref-line = '1578'; + func-mem-ref-name = 'xran_process_rx_sym'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1a072be4e030e23440817b205256d2df29'; + func-mem-ref-line = '1715'; + func-mem-ref-name = 'xran_process_tx_sym_cp_off'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1ad2506f0edcccb4fbdc5b41b03270a1af'; + func-mem-ref-line = '2000'; + func-mem-ref-name = 'xran_process_tx_sym_cp_on'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1a5b3b3bf6af57ee77a2bb1701ad24c7db'; + func-mem-ref-line = '2202'; + func-mem-ref-name = 'xran_process_tx_sym'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1a4ea0e9c036a1dc7605f53f1f862f4952'; + func-mem-ref-line = '2319'; + func-mem-ref-name = 'xran_init'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1ac94e2474beef3b68521cfd391211b1be'; + func-mem-ref-line = '2551'; + func-mem-ref-name = 'xran_5g_fronthault_config'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1ab204e979de14c21d34e9b88c6c700d25'; + func-mem-ref-line = '2636'; + func-mem-ref-name = 'xran_5g_prach_req'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1a2bd01fc3432f80a787d6bf317949dd80'; + func-mem-ref-line = '2679'; + func-mem-ref-name = 'xran_5g_srs_req'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1a03f408f45e97aa68ca47c92e4e7d1a70'; + func-mem-ref-line = '2756'; + func-mem-ref-name = 'xran_open'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1a57bc216aff0d372305a6d13a072c605b'; + func-mem-ref-line = '2900'; + func-mem-ref-name = 'xran_reg_physide_cb'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1ad1ada9c5c57979c50f1a17a9050b8f3a'; + func-mem-ref-line = '2918'; + func-mem-ref-name = 'xran_register_cb_mbuf2ring'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1a761e3947dcc547008a12a9cca10b1ea0'; + func-mem-ref-line = '2955'; + func-mem-ref-name = 'xran_get_conf_eAxC'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1ad749041bcf50616bac96e4d13b661272'; + func-mem-ref-line = '2965'; + func-mem-ref-name = 'xran_get_conf_num_bfweights'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__timer_8c_1af01e1311b604e50d00b7ecce78d2ce22'; + func-mem-ref-line = '116'; + func-mem-ref-name = 'timing_adjust_gps_second'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__timer_8c_1a52ade7f1436323f071cf7151f7bdb097'; + func-mem-ref-line = '146'; + func-mem-ref-name = 'poll_next_tick'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__common_8h_1ad1ada9c5c57979c50f1a17a9050b8f3a'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_register_cb_mbuf2ring'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +xran_ethdi_mbuf_send_fn +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'mbuf_send_cp'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +xran_ethdi_mbuf_send_fn +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'mbuf_send_up'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + func-mem-desc-line = '359'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1a937105f52446cfcb951e43e1dc3c4d8b'; + func-mem-ref-line = '238'; + func-mem-ref-name = 'xran_get_if_state'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a2f600110ab5726a0f21375b7f24c0326a35916b54fc6804c2f2dc1f5891f3047e'; + func-mem-ref-line = '192'; + func-mem-ref-name = 'XRAN_RUNNING'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__printf_8h_1a16c2c0a30b31515830a4a8eff6cf10b5'; + func-mem-ref-line = '62'; + func-mem-ref-name = 'print_err'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1aa09e72e94d2a1d891e86f4c09b0f8b21'; + func-mem-ref-line = '223'; + func-mem-ref-name = 'xran_dev_get_ctx'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1ad4eb63363a7e445e90ea75b8e99efaad'; + func-mem-ref-line = '276'; + func-mem-ref-name = 'xran_device_ctx::send_cpmbuf2ring'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a77daaa6043406a5924fd69b2dd42571e'; + func-mem-ref-line = '277'; + func-mem-ref-name = 'xran_device_ctx::send_upmbuf2ring'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__lib__wrap_8hpp_1ad93226058ef4fd59bd7d0cd55701b752'; + func-mem-ref-line = '936'; + func-mem-ref-name = 'xranLibWraper::Open'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__common_8h_1a8546e95e2daf30058a66904e7f801723'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_alloc_sectionid'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pHandle'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'dir'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'cc_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'ant_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'slot_id'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + func-mem-desc-line = '361'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a6447bf8849000b9fecf51d77d4fa50b2'; + func-mem-ref-line = '125'; + func-mem-ref-name = 'XRAN_MAX_CELLS_PER_PORT'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__printf_8h_1a16c2c0a30b31515830a4a8eff6cf10b5'; + func-mem-ref-line = '62'; + func-mem-ref-name = 'print_err'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a35fa05e7523928c0c86cbcf835c12dc5'; + func-mem-ref-line = '111'; + func-mem-ref-name = 'XRAN_MAX_ANTENNA_NR'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1af3e0ced3530652b3c92220c8783b55fa'; + func-mem-ref-line = '118'; + func-mem-ref-name = 'XRAN_MAX_ANT_ARRAY_ELM_NR'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__common_8c_1aaa01e98d3b3439a332302aebe21459dd'; + func-mem-ref-line = '535'; + func-mem-ref-name = 'generate_cpmsg_dlul'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__common_8c_1ab8a6ed3cee8fa183142d0c23d0b4971d'; + func-mem-ref-line = '595'; + func-mem-ref-name = 'generate_cpmsg_prach'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__common_8h_1a797338bb7bfd36d9075ccf2683397018'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_get_seqid'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pHandle'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'dir'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'cc_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'ant_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'slot_id'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + func-mem-desc-line = '362'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__common_8h_1a595fa22ad1c316d4c7d77f6333478b49'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'ring_processing_func'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + func-mem-desc-line = '363'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'xran__common_8c_1a3cdc276ccd8081a8bda75f22b0cac279'; + func-mem-ref-line = '742'; + func-mem-ref-name = 'ring_processing_thread'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__common_8h_1a00025c5bad7b7b6eea4374226f8c54bb'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_init_prach'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_fh_config * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pConf'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_device_ctx * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'p_xran_dev_ctx'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + func-mem-desc-line = '364'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a167e91cb91119363bf10c9430b6f082c'; + func-mem-ref-line = '515'; + func-mem-ref-name = 'xran_fh_config::prach_conf'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a72b0cba491d0dd2703d684cb2c2a14cf'; + func-mem-ref-line = '517'; + func-mem-ref-name = 'xran_fh_config::frame_conf'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a78b2fab8e8d6a6424c2712d528fd9a58'; + func-mem-ref-line = '461'; + func-mem-ref-name = 'xran_frame_config::nNumerology'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1acb5fe8097b0115e038eb02d5900f66d6'; + func-mem-ref-line = '432'; + func-mem-ref-name = 'xran_prach_config::nPrachConfIdx'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1ac1db3db55038ef0b2f69827746eaf87c'; + func-mem-ref-line = '210'; + func-mem-ref-name = 'xran_device_ctx::PrachCPConfig'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__ul__tables_8c_1ac7439428a0fb0c1782323193707965f6'; + func-mem-ref-line = '553'; + func-mem-ref-name = 'gxranPrachDataTable_mmw'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a3b86317723a592e240c0047e53a6326d'; + func-mem-ref-line = '460'; + func-mem-ref-name = 'xran_frame_config::nFrameDuplexType'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__ul__tables_8c_1a1c7c9fd55feeae30dc0b8502ef4cab03'; + func-mem-ref-line = '292'; + func-mem-ref-name = 'gxranPrachDataTable_sub6_tdd'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__ul__tables_8c_1a5edf7a402993c76a3a27bee4f390d38c'; + func-mem-ref-line = '32'; + func-mem-ref-name = 'gxranPrachDataTable_sub6_fdd'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1acda2526836f55a54072c7582b0735ec6'; + func-mem-ref-line = '105'; + func-mem-ref-name = 'xRANPrachConfigTableStruct::preambleFmrt'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__ul__tables_8c_1ab7c9c49ac127f2812c5ffe8c54364286'; + func-mem-ref-line = '845'; + func-mem-ref-name = 'gxranPreambleforLRA'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a583c2f58d0655789ea36e22d605ab9ad'; + func-mem-ref-line = '523'; + func-mem-ref-name = 'xran_fh_config::log_level'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a232bf4a599983638ff369472234af97c'; + func-mem-ref-line = '110'; + func-mem-ref-name = 'xRANPrachConfigTableStruct::startingSym'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1ae7b193beba4cc63eed61b211bae9e802'; + func-mem-ref-line = '113'; + func-mem-ref-name = 'xRANPrachConfigTableStruct::duration'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a2e544eaae35a5756272d62af4fa53a19'; + func-mem-ref-line = '112'; + func-mem-ref-name = 'xRANPrachConfigTableStruct::occassionsInPrachSlot'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1ad5150de5e1c141cfe288f260afb00830'; + func-mem-ref-line = '127'; + func-mem-ref-name = 'xran_prach_cp_config::filterIdx'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1ae51812e2dae7d8776b443f818f277d5bad96d5c4d6db49c45dfe5a07ba6ad7440'; + func-mem-ref-line = '69'; + func-mem-ref-name = 'XRAN_FILTERINDEX_PRACH_ABC'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1ac54814779041bec5dcf8aec288d69b06'; + func-mem-ref-line = '128'; + func-mem-ref-name = 'xran_prach_cp_config::startSymId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a6b13285aabf8f2f4598143b2670204c1'; + func-mem-ref-line = '129'; + func-mem-ref-name = 'xran_prach_cp_config::startPrbc'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a5c648c99c04370a4e8767f919a2289bf'; + func-mem-ref-line = '441'; + func-mem-ref-name = 'xran_prach_config::nPrachFreqStart'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1aabc4fe26e40f742fd255e2bb8534de75'; + func-mem-ref-line = '130'; + func-mem-ref-name = 'xran_prach_cp_config::numPrbc'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a8c9c50771b8a51b0209b1866855b80dda4dbd8b9cc1a25a875c17515359bd1b1d'; + func-mem-ref-line = '89'; + func-mem-ref-name = 'FORMAT_A1'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1aa68c277a66312b4b90819cccc055bdb7'; + func-mem-ref-line = '132'; + func-mem-ref-name = 'xran_prach_cp_config::timeOffset'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a3cab2a5fe931bc424f18ac0b23f2060e'; + func-mem-ref-line = '122'; + func-mem-ref-name = 'xRANPrachPreambleLRAStruct::nRaCp'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a3af58496c14a1c91c015aa6ffe7dca49'; + func-mem-ref-line = '133'; + func-mem-ref-name = 'xran_prach_cp_config::freqOffset'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a3b43924c5ef23b0496d1a7adf2752dbf'; + func-mem-ref-line = '442'; + func-mem-ref-name = 'xran_prach_config::nPrachFreqOffset'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1ab9b99e41ea39f16780f66a539aa872c8'; + func-mem-ref-line = '433'; + func-mem-ref-name = 'xran_prach_config::nPrachSubcSpacing'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a0f561e77fa0f040b637f4e04f6cd8078'; + func-mem-ref-line = '136'; + func-mem-ref-name = 'xran_prach_cp_config::x'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a0f561e77fa0f040b637f4e04f6cd8078'; + func-mem-ref-line = '106'; + func-mem-ref-name = 'xRANPrachConfigTableStruct::x'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a855041f3139611ca7478502e3241b2f1'; + func-mem-ref-line = '134'; + func-mem-ref-name = 'xran_prach_cp_config::nrofPrachInSlot'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a855041f3139611ca7478502e3241b2f1'; + func-mem-ref-line = '111'; + func-mem-ref-name = 'xRANPrachConfigTableStruct::nrofPrachInSlot'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a1d627e83c5e0ae889b71ea0508991f29'; + func-mem-ref-line = '137'; + func-mem-ref-name = 'xran_prach_cp_config::y'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a1d627e83c5e0ae889b71ea0508991f29'; + func-mem-ref-line = '107'; + func-mem-ref-name = 'xRANPrachConfigTableStruct::y'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a664cb6ca464c69ef60a445fa4f4b3522'; + func-mem-ref-line = '131'; + func-mem-ref-name = 'xran_prach_cp_config::numSymbol'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a2e544eaae35a5756272d62af4fa53a19'; + func-mem-ref-line = '135'; + func-mem-ref-name = 'xran_prach_cp_config::occassionsInPrachSlot'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a48f74053065142fe9cffa09c460965e1'; + func-mem-ref-line = '108'; + func-mem-ref-name = 'xRANPrachConfigTableStruct::slotNr'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a3b00fdd9e145b9c7be29aa35c6f94fe1'; + func-mem-ref-line = '138'; + func-mem-ref-name = 'xran_prach_cp_config::isPRACHslot'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1af7a48e76794ce5d801ab6d0f848abb53'; + func-mem-ref-line = '80'; + func-mem-ref-name = 'XRAN_PRACH_CANDIDATE_SLOT'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a34dbe5e515cc78b4ce26fa287e6c1edc'; + func-mem-ref-line = '110'; + func-mem-ref-name = 'XRAN_MAX_SECTOR_NR'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a26e6c6447dffca5e7ece503e8c0e890c'; + func-mem-ref-line = '262'; + func-mem-ref-name = 'xran_device_ctx::prach_start_symbol'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a53af49f65e0dafdafcde73d693961a78'; + func-mem-ref-line = '263'; + func-mem-ref-name = 'xran_device_ctx::prach_last_symbol'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a38a5594e33178248d80ccde98a16262a'; + func-mem-ref-line = '139'; + func-mem-ref-name = 'xran_prach_cp_config::eAxC_offset'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1a3fc01469558ddf728239d59038ac5803'; + func-mem-ref-line = '3039'; + func-mem-ref-name = 'xran_get_num_eAxc'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__printf_8h_1a417ba2c3b49b216e358bc340346bf1cf'; + func-mem-ref-line = '54'; + func-mem-ref-name = 'print_dbg'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a814959a7b5ff6cd4474433f62312eee0'; + func-mem-ref-line = '54'; + func-mem-ref-name = 'XRAN_STATUS_SUCCESS'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'prach__functional_8cc_1a62307393b7f454a2b348ada67997b796'; + func-mem-ref-line = '177'; + func-mem-ref-name = 'TEST_P'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1a03f408f45e97aa68ca47c92e4e7d1a70'; + func-mem-ref-line = '2756'; + func-mem-ref-name = 'xran_open'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__common_8h_1adbe808fba48ef1390180fb1bdc68c1d7'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_updateSfnSecStart'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + func-mem-desc-line = '365'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__timer_8c_1abee5de4c0d88f6c17ce6b3962d097f07'; + func-mem-ref-line = '88'; + func-mem-ref-name = 'timing_get_current_second'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1aee8aca8f74a8a2b095a6b7bf90b9543f'; + func-mem-ref-line = '90'; + func-mem-ref-name = 'UNIX_TO_GPS_SECONDS_OFFSET'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1a244be9d83c95821d802d6a0c6c169cb1'; + func-mem-ref-line = '91'; + func-mem-ref-name = 'NUM_OF_FRAMES_PER_SECOND'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1a7a25206e77e83a57fd036102cebfb4f0'; + func-mem-ref-line = '116'; + func-mem-ref-name = 'xran_max_frame'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1a0ff39df15c9c5e487a730d422d2c4725'; + func-mem-ref-line = '115'; + func-mem-ref-name = 'xran_SFN_at_Sec_Start'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8c_1ad1b05d3ad049de39bc3f9bcdfdf66d1b'; + func-mem-ref-line = '121'; + func-mem-ref-name = 'tx_bytes_per_sec'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8c_1aea924947c3d744f2208baa8a79229f3f'; + func-mem-ref-line = '119'; + func-mem-ref-name = 'tx_bytes_counter'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8c_1adc695e955f335d5dedb486ce89a4e0b3'; + func-mem-ref-line = '122'; + func-mem-ref-name = 'rx_bytes_per_sec'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8c_1af2fff595280c3b2999bfa40d7beafadf'; + func-mem-ref-line = '120'; + func-mem-ref-name = 'rx_bytes_counter'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__common_8h_1a0bca0820bfef3a6c277c47490179e065'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +struct cb_elem_entry * +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_create_cb'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +XranSymCallbackFn +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'cb_fn'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'cb_data'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + func-mem-desc-line = '367'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a785dc524b99ed15e17115d076f8ace21'; + func-mem-ref-line = '163'; + func-mem-ref-name = 'cb_elem_entry::pSymCallback'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1af12736a3d2c375571acffe9f7e4e464e'; + func-mem-ref-line = '164'; + func-mem-ref-name = 'cb_elem_entry::pSymCallbackTag'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__common_8h_1aac0cae66657ea84e2030ced6e58c29b4'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_destroy_cb'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct cb_elem_entry * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'cb_elm'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + func-mem-desc-line = '368'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + }; + var = { + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__common_8h_1a9e6e93a89aa6750e04b8249db2d8ad2a'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +long +_EnD_oF_dEf_TeXt_; + var-mem-name = 'rx_counter'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + var-mem-desc-line = '280'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__common_8h_1a633effdcb470f03cbf5aa8c9f9540ddb'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +long +_EnD_oF_dEf_TeXt_; + var-mem-name = 'tx_counter'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + var-mem-desc-line = '281'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-referenceby = { + var-mem-ref-id = 'xran__common_8c_1ab67b9cc6e54d8ba3945b265b47af743c'; + var-mem-ref-line = '436'; + var-mem-ref-name = 'send_symbol_ex'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'xran__common_8c_1a484fa852a2e973600abba0efb1fbefb9'; + var-mem-ref-line = '510'; + var-mem-ref-name = 'send_cpmsg'; + }; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__common_8h_1aea924947c3d744f2208baa8a79229f3f'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +long +_EnD_oF_dEf_TeXt_; + var-mem-name = 'tx_bytes_counter'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + var-mem-desc-line = '282'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-referenceby = { + var-mem-ref-id = 'xran__common_8c_1ab67b9cc6e54d8ba3945b265b47af743c'; + var-mem-ref-line = '436'; + var-mem-ref-name = 'send_symbol_ex'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'xran__common_8c_1a484fa852a2e973600abba0efb1fbefb9'; + var-mem-ref-line = '510'; + var-mem-ref-name = 'send_cpmsg'; + }; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__common_8h_1af2fff595280c3b2999bfa40d7beafadf'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +long +_EnD_oF_dEf_TeXt_; + var-mem-name = 'rx_bytes_counter'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + var-mem-desc-line = '283'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__common_8h_1ad1b05d3ad049de39bc3f9bcdfdf66d1b'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +long +_EnD_oF_dEf_TeXt_; + var-mem-name = 'tx_bytes_per_sec'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + var-mem-desc-line = '284'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__common_8h_1adc695e955f335d5dedb486ce89a4e0b3'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +long +_EnD_oF_dEf_TeXt_; + var-mem-name = 'rx_bytes_per_sec'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + var-mem-desc-line = '285'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__common_8h_1a5edf7a402993c76a3a27bee4f390d38c'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +const xRANPrachConfigTableStruct +_EnD_oF_dEf_TeXt_; + var-mem-name = 'gxranPrachDataTable_sub6_fdd'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + var-mem-desc-line = '288'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-referenceby = { + var-mem-ref-id = 'xran__main_8c_1a00025c5bad7b7b6eea4374226f8c54bb'; + var-mem-ref-line = '308'; + var-mem-ref-name = 'xran_init_prach'; + }; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__common_8h_1a1c7c9fd55feeae30dc0b8502ef4cab03'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +const xRANPrachConfigTableStruct +_EnD_oF_dEf_TeXt_; + var-mem-name = 'gxranPrachDataTable_sub6_tdd'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + var-mem-desc-line = '289'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-referenceby = { + var-mem-ref-id = 'xran__main_8c_1a00025c5bad7b7b6eea4374226f8c54bb'; + var-mem-ref-line = '308'; + var-mem-ref-name = 'xran_init_prach'; + }; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__common_8h_1ac7439428a0fb0c1782323193707965f6'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +const xRANPrachConfigTableStruct +_EnD_oF_dEf_TeXt_; + var-mem-name = 'gxranPrachDataTable_mmw'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + var-mem-desc-line = '290'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-referenceby = { + var-mem-ref-id = 'xran__main_8c_1a00025c5bad7b7b6eea4374226f8c54bb'; + var-mem-ref-line = '308'; + var-mem-ref-name = 'xran_init_prach'; + }; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__common_8h_1ab7c9c49ac127f2812c5ffe8c54364286'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +const xRANPrachPreambleLRAStruct +_EnD_oF_dEf_TeXt_; + var-mem-name = 'gxranPreambleforLRA'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + var-mem-desc-line = '291'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-referenceby = { + var-mem-ref-id = 'xran__main_8c_1a00025c5bad7b7b6eea4374226f8c54bb'; + var-mem-ref-line = '308'; + var-mem-ref-name = 'xran_init_prach'; + }; + }; /* var-member */ + }; + file-full-name = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_common.h'; + file-first-line = '1'; + file-briefdesc = <<_EnD_oF_dEf_TeXt_ +XRAN layer common functionality for both lls-CU and RU as well as C-plane and + U-plane. +_EnD_oF_dEf_TeXt_; + file-documentation = <<_EnD_oF_dEf_TeXt_ +@author Intel Corporation +_EnD_oF_dEf_TeXt_; +}; /* file */ +file = { + file-id = 'xran__compression_8cpp'; + file-name = 'xran_compression.cpp'; + define = { + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__compression_8cpp_1a8e2efc093002a3f4ed586a274dac0814'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'RB_NUM_ROUNDUP'; + define-mem-param = { + define-mem-def-name = 'rb'; + }; /* define-mem-def--param */ + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +(BlockFloatCompander::k_numRB * ((rb + BlockFloatCompander::k_numRB - 1) / BlockFloatCompander::k_numRB)) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_compression.cpp'; + define-mem-desc-line = '720'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + }; + typedef = { + typedef-member = { + typedef-mem-kind = 'typedef'; + typedef-mem-id = 'xran__compression_8cpp_1a509c43699fac542bbef8d2be5ee693e2'; + typedef-mem-virt = normal; + typedef-mem-prot = public; + typedef-mem-type = <<_EnD_oF_dEf_TeXt_ +void(* +_EnD_oF_dEf_TeXt_; + typedef-mem-name = 'xran_bfp_compress_fn'; + typedef-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_compression.cpp'; + typedef-mem-desc-line = '725'; + typedef-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + typedef-mem-documentation = <<_EnD_oF_dEf_TeXt_ +callback function type for Symbol packet +_EnD_oF_dEf_TeXt_; + }; /* typedef-member */ + typedef-member = { + typedef-mem-kind = 'typedef'; + typedef-mem-id = 'xran__compression_8cpp_1a0f2b928dc9ee0b4a12e23b1eb42ec790'; + typedef-mem-virt = normal; + typedef-mem-prot = public; + typedef-mem-type = <<_EnD_oF_dEf_TeXt_ +void(* +_EnD_oF_dEf_TeXt_; + typedef-mem-name = 'xran_bfp_compress_bfw_fn'; + typedef-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_compression.cpp'; + typedef-mem-desc-line = '780'; + typedef-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + typedef-mem-documentation = <<_EnD_oF_dEf_TeXt_ +callback function type for Symbol packet +_EnD_oF_dEf_TeXt_; + }; /* typedef-member */ + typedef-member = { + typedef-mem-kind = 'typedef'; + typedef-mem-id = 'xran__compression_8cpp_1a798850dcd04a495f0e6fb9dc80b74299'; + typedef-mem-virt = normal; + typedef-mem-prot = public; + typedef-mem-type = <<_EnD_oF_dEf_TeXt_ +void(* +_EnD_oF_dEf_TeXt_; + typedef-mem-name = 'xran_bfp_decompress_fn'; + typedef-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_compression.cpp'; + typedef-mem-desc-line = '830'; + typedef-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + typedef-mem-documentation = <<_EnD_oF_dEf_TeXt_ +callback function type for Symbol packet +_EnD_oF_dEf_TeXt_; + }; /* typedef-member */ + }; + func = { + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__compression_8cpp_1a06b3da7a0303b1a6fae3d28d8c81fd1f'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +static int16_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'saturateAbs'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +int16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'inVal'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_compression.cpp'; + func-mem-desc-line = '27'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__compression_8cpp_1a74512492194fcab6a55f769e02aa37b4'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'computeExponent'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const BlockFloatCompander::ExpandedData & +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'dataIn'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +int8_t * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'expStore'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_compression.cpp'; + func-mem-desc-line = '44'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Compute exponent value for a set of RB from the maximum absolute value. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__compression_8hpp_1a24d9d1d1b013179affb41be0424b8360'; + func-mem-ref-line = '73'; + func-mem-ref-name = 'ExpandedData::dataExpanded'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__compression_8hpp_1ad88e9475d4e269108bb716a1cf5f0d40'; + func-mem-ref-line = '76'; + func-mem-ref-name = 'ExpandedData::iqWidth'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__compression_8cpp_1a5b3ddd524752c8f556bc4c654e392321'; + func-mem-ref-line = '335'; + func-mem-ref-name = 'BlockFloatCompander::BlockFloatCompress_8b_AVX512'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__compression_8cpp_1a2356f186e264c7cea4e3c26d448bb1d5'; + func-mem-ref-line = '359'; + func-mem-ref-name = 'BlockFloatCompander::BlockFloatCompress_9b_AVX512'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__compression_8cpp_1ae525362ca026142cab4ac983e29ad0ff'; + func-mem-ref-line = '395'; + func-mem-ref-name = 'BlockFloatCompander::BlockFloatCompress_10b_AVX512'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__compression_8cpp_1a2a8db4c5039bc3d5237b31ca2a129815'; + func-mem-ref-line = '431'; + func-mem-ref-name = 'BlockFloatCompander::BlockFloatCompress_12b_AVX512'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__compression_8cpp_1acb87fe08d3492b251e7a2561488064fa'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +__m512i +_EnD_oF_dEf_TeXt_; + func-mem-name = 'networkBytePack9b'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const __m512i +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'compData'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_compression.cpp'; + func-mem-desc-line = '127'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Pack compressed 9 bit data in network byte order +See https://soco.intel.com/docs/DOC-2665619 +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'xran__compression_8cpp_1a2356f186e264c7cea4e3c26d448bb1d5'; + func-mem-ref-line = '359'; + func-mem-ref-name = 'BlockFloatCompander::BlockFloatCompress_9b_AVX512'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__compression_8cpp_1a4a2767bece9b74bb6348b416af70a3de'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +__m512i +_EnD_oF_dEf_TeXt_; + func-mem-name = 'networkBytePack10b'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const __m512i +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'compData'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_compression.cpp'; + func-mem-desc-line = '164'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Pack compressed 10 bit data in network byte order +See https://soco.intel.com/docs/DOC-2665619 +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'xran__compression_8cpp_1ae525362ca026142cab4ac983e29ad0ff'; + func-mem-ref-line = '395'; + func-mem-ref-name = 'BlockFloatCompander::BlockFloatCompress_10b_AVX512'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__compression_8cpp_1aafe7eae735c4ebf8f028e7baa6783c22'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +__m512i +_EnD_oF_dEf_TeXt_; + func-mem-name = 'networkBytePack12b'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const __m512i +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'compData'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_compression.cpp'; + func-mem-desc-line = '201'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Pack compressed 12 bit data in network byte order +See https://soco.intel.com/docs/DOC-2665619 +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'xran__compression_8cpp_1a2a8db4c5039bc3d5237b31ca2a129815'; + func-mem-ref-line = '431'; + func-mem-ref-name = 'BlockFloatCompander::BlockFloatCompress_12b_AVX512'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__compression_8cpp_1afb29866152e84d42cd2e3bc116454493'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +__m512i +_EnD_oF_dEf_TeXt_; + func-mem-name = 'networkByteUnpack9b'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const uint8_t * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'inData'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_compression.cpp'; + func-mem-desc-line = '238'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Unpack compressed 9 bit data in network byte order +See https://soco.intel.com/docs/DOC-2665619 +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'xran__compression_8cpp_1a32917a78ac1596d9aa95e4089ec88ba9'; + func-mem-ref-line = '486'; + func-mem-ref-name = 'BlockFloatCompander::BlockFloatExpand_9b_AVX512'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__compression_8cpp_1a27043376e22397cc933d3c4d9450677b'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +__m512i +_EnD_oF_dEf_TeXt_; + func-mem-name = 'networkByteUnpack10b'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const uint8_t * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'inData'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_compression.cpp'; + func-mem-desc-line = '271'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Unpack compressed 10 bit data in network byte order +See https://soco.intel.com/docs/DOC-2665619 +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'xran__compression_8cpp_1a8fae7506e2b9c9f9365b306375ab6eff'; + func-mem-ref-line = '510'; + func-mem-ref-name = 'BlockFloatCompander::BlockFloatExpand_10b_AVX512'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__compression_8cpp_1a91aa9bdb6901711b43d848a4a5a94d2f'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +__m512i +_EnD_oF_dEf_TeXt_; + func-mem-name = 'networkByteUnpack12b'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const uint8_t * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'inData'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_compression.cpp'; + func-mem-desc-line = '304'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Unpack compressed 12 bit data in network byte order +See https://soco.intel.com/docs/DOC-2665619 +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'xran__compression_8cpp_1a65b09b78fac0c8dcfc9edd5091b728dd'; + func-mem-ref-line = '534'; + func-mem-ref-name = 'BlockFloatCompander::BlockFloatExpand_12b_AVX512'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__compression_8cpp_1a0651de68e87558106615163f96b3e599'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xranlib_compress_avx512'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const struct xranlib_compress_request * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'request'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xranlib_compress_response * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'response'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_compression.cpp'; + func-mem-desc-line = '729'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'gen__test_8m_1a887ee7a54247d19e5e93955a7b9663ae'; + func-mem-ref-line = '96'; + func-mem-ref-name = 'numRBs'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__compression_8h_1a8ab4fa409402862ead0d17e13edeeb62'; + func-mem-ref-line = '39'; + func-mem-ref-name = 'xranlib_compress_request::numRBs'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__compression_8h_1a36f5a0cedd274c3ec55f81535f06e0de'; + func-mem-ref-line = '41'; + func-mem-ref-name = 'xranlib_compress_request::iqWidth'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__compression_8hpp_1ad88e9475d4e269108bb716a1cf5f0d40'; + func-mem-ref-line = '76'; + func-mem-ref-name = 'ExpandedData::iqWidth'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__compression_8cpp_1a5b3ddd524752c8f556bc4c654e392321'; + func-mem-ref-line = '335'; + func-mem-ref-name = 'BlockFloatCompander::BlockFloatCompress_8b_AVX512'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__compression_8cpp_1a2356f186e264c7cea4e3c26d448bb1d5'; + func-mem-ref-line = '359'; + func-mem-ref-name = 'BlockFloatCompander::BlockFloatCompress_9b_AVX512'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__compression_8cpp_1ae525362ca026142cab4ac983e29ad0ff'; + func-mem-ref-line = '395'; + func-mem-ref-name = 'BlockFloatCompander::BlockFloatCompress_10b_AVX512'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__compression_8cpp_1a2a8db4c5039bc3d5237b31ca2a129815'; + func-mem-ref-line = '431'; + func-mem-ref-name = 'BlockFloatCompander::BlockFloatCompress_12b_AVX512'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__compression_8cpp_1a45cc83687ca392534168cb8f4d64182f'; + func-mem-ref-line = '558'; + func-mem-ref-name = 'BlockFloatCompander::BlockFloatCompress_Basic'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__compression_8cpp_1a8e2efc093002a3f4ed586a274dac0814'; + func-mem-ref-line = '720'; + func-mem-ref-name = 'RB_NUM_ROUNDUP'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__compression_8hpp_1a24d9d1d1b013179affb41be0424b8360'; + func-mem-ref-line = '73'; + func-mem-ref-name = 'ExpandedData::dataExpanded'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__compression_8h_1a06bde7ceb81ae7d8d8a101d7cfe4bb25'; + func-mem-ref-line = '38'; + func-mem-ref-name = 'xranlib_compress_request::data_in'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__compression_8hpp_1ab2fd68d067a2e45c839584d0985a7953'; + func-mem-ref-line = '64'; + func-mem-ref-name = 'CompressedData::dataCompressed'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__compression_8h_1aa84b1c03297680b54ecd081d2a69d791'; + func-mem-ref-line = '50'; + func-mem-ref-name = 'xranlib_compress_response::data_out'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__compression_8h_1a6858c4011b5cad020222e9ca5c2786f5'; + func-mem-ref-line = '52'; + func-mem-ref-name = 'xranlib_compress_response::len'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'compander__functional_8cc_1a45d64e11a1ecc040577b7f22b27dde51'; + func-mem-ref-line = '788'; + func-mem-ref-name = 'TEST_P'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__compression_8cpp_1aa027200fc051c80b515ee8aeadf44a0e'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xranlib_compress_avx512_bfw'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const struct xranlib_compress_request * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'request'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xranlib_compress_response * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'response'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_compression.cpp'; + func-mem-desc-line = '783'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__compression_8hpp_1a24d9d1d1b013179affb41be0424b8360'; + func-mem-ref-line = '115'; + func-mem-ref-name = 'ExpandedData::dataExpanded'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__compression_8h_1a06bde7ceb81ae7d8d8a101d7cfe4bb25'; + func-mem-ref-line = '38'; + func-mem-ref-name = 'xranlib_compress_request::data_in'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__compression_8hpp_1ab2fd68d067a2e45c839584d0985a7953'; + func-mem-ref-line = '106'; + func-mem-ref-name = 'CompressedData::dataCompressed'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__compression_8h_1aa84b1c03297680b54ecd081d2a69d791'; + func-mem-ref-line = '50'; + func-mem-ref-name = 'xranlib_compress_response::data_out'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__compression_8cpp_1a45cc83687ca392534168cb8f4d64182f'; + func-mem-ref-line = '640'; + func-mem-ref-name = 'BlockFloatCompanderBFW::BlockFloatCompress_Basic'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'gen__test_8m_1ae7c338f9b485676bfc0ee154384d8676'; + func-mem-ref-line = '94'; + func-mem-ref-name = 'switch'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__compression_8h_1a36f5a0cedd274c3ec55f81535f06e0de'; + func-mem-ref-line = '41'; + func-mem-ref-name = 'xranlib_compress_request::iqWidth'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__compression_8hpp_1ad88e9475d4e269108bb716a1cf5f0d40'; + func-mem-ref-line = '118'; + func-mem-ref-name = 'ExpandedData::iqWidth'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__compression_8h_1a6858c4011b5cad020222e9ca5c2786f5'; + func-mem-ref-line = '52'; + func-mem-ref-name = 'xranlib_compress_response::len'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__cp__api_8c_1a848d22f9f7e5f493782bf8a9bfdb8f3a'; + func-mem-ref-line = '387'; + func-mem-ref-name = 'xran_cp_populate_section_ext_1'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__compression_8cpp_1a2bd6ebeefb6ca9674598d443e697918c'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xranlib_decompress_avx512'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const struct xranlib_decompress_request * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'request'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xranlib_decompress_response * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'response'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_compression.cpp'; + func-mem-desc-line = '834'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'gen__test_8m_1a887ee7a54247d19e5e93955a7b9663ae'; + func-mem-ref-line = '96'; + func-mem-ref-name = 'numRBs'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__compression_8h_1a8ab4fa409402862ead0d17e13edeeb62'; + func-mem-ref-line = '61'; + func-mem-ref-name = 'xranlib_decompress_request::numRBs'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__compression_8h_1a36f5a0cedd274c3ec55f81535f06e0de'; + func-mem-ref-line = '63'; + func-mem-ref-name = 'xranlib_decompress_request::iqWidth'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__compression_8hpp_1ad88e9475d4e269108bb716a1cf5f0d40'; + func-mem-ref-line = '66'; + func-mem-ref-name = 'CompressedData::iqWidth'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__compression_8cpp_1ae4ad42b117d59e2e7ff8fad2d5da506e'; + func-mem-ref-line = '467'; + func-mem-ref-name = 'BlockFloatCompander::BlockFloatExpand_8b_AVX512'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__compression_8cpp_1a32917a78ac1596d9aa95e4089ec88ba9'; + func-mem-ref-line = '486'; + func-mem-ref-name = 'BlockFloatCompander::BlockFloatExpand_9b_AVX512'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__compression_8cpp_1a8fae7506e2b9c9f9365b306375ab6eff'; + func-mem-ref-line = '510'; + func-mem-ref-name = 'BlockFloatCompander::BlockFloatExpand_10b_AVX512'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__compression_8cpp_1a65b09b78fac0c8dcfc9edd5091b728dd'; + func-mem-ref-line = '534'; + func-mem-ref-name = 'BlockFloatCompander::BlockFloatExpand_12b_AVX512'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__compression_8cpp_1a5f4776cd07aac0ae2d9dbd02aaba3435'; + func-mem-ref-line = '605'; + func-mem-ref-name = 'BlockFloatCompander::BlockFloatExpand_Basic'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__compression_8cpp_1a8e2efc093002a3f4ed586a274dac0814'; + func-mem-ref-line = '720'; + func-mem-ref-name = 'RB_NUM_ROUNDUP'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__compression_8hpp_1ab2fd68d067a2e45c839584d0985a7953'; + func-mem-ref-line = '64'; + func-mem-ref-name = 'CompressedData::dataCompressed'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__compression_8h_1ab7543a52686c726e2f5575a0f53f883f'; + func-mem-ref-line = '60'; + func-mem-ref-name = 'xranlib_decompress_request::data_in'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__compression_8hpp_1a24d9d1d1b013179affb41be0424b8360'; + func-mem-ref-line = '73'; + func-mem-ref-name = 'ExpandedData::dataExpanded'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__compression_8h_1a7eac55fa44711c57d8d15dd09e4db135'; + func-mem-ref-line = '73'; + func-mem-ref-name = 'xranlib_decompress_response::data_out'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__compression_8h_1a6858c4011b5cad020222e9ca5c2786f5'; + func-mem-ref-line = '75'; + func-mem-ref-name = 'xranlib_decompress_response::len'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'compander__functional_8cc_1a45d64e11a1ecc040577b7f22b27dde51'; + func-mem-ref-line = '788'; + func-mem-ref-name = 'TEST_P'; + }; + }; /* func-member */ + }; + file-full-name = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_compression.cpp'; + file-first-line = '1'; + file-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + file-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; +}; /* file */ +file = { + file-id = 'xran__compression_8h'; + file-name = 'xran_compression.h'; + func = { + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__compression_8h_1a0032610d5043d8df490b0bc403c35a45'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int16_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xranlib_companding_version'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +char * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'version'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'buffer_size'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_compression.h'; + func-mem-desc-line = '86'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Report the version number for the xranlib_companding library. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +\param [in] version Pointer to a char buffer where the version string should be copied. +\param [in] buffer_size The length of the string buffer, must be at least + xranlib_SDK_VERSION_STRING_MAX_LEN characters. +\return 0 if the version string was populated, otherwise -1. +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + }; + file-full-name = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_compression.h'; + file-first-line = '1'; + file-briefdesc = <<_EnD_oF_dEf_TeXt_ +External API for compading with the use BFP algorithm. +_EnD_oF_dEf_TeXt_; + file-documentation = <<_EnD_oF_dEf_TeXt_ + + + +_EnD_oF_dEf_TeXt_; +}; /* file */ +file = { + file-id = 'xran__compression_8hpp'; + file-name = 'xran_compression.hpp'; + define = { + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__compression_8hpp_1afb38028874f4f92c87446f57113df109'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'CACHE_ALIGNED'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +alignas(k_cacheByteAlignment) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_compression.hpp'; + define-mem-desc-line = '34'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__compression_8hpp_1a5e70c4df5750d49b6c4b2aacd556500f'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'ASSUME_CACHE_ALIGNED'; + define-mem-param = { + define-mem-def-name = 'data'; + }; /* define-mem-def--param */ + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +__assume_aligned(data, k_cacheByteAlignment); +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_compression.hpp'; + define-mem-desc-line = '40'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + }; + func = { + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'namespace_block_float_compander_1a45cc83687ca392534168cb8f4d64182f'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'BlockFloatCompress_Basic'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const ExpandedData & +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'dataIn'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +CompressedData * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'dataOut'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_compression.hpp'; + func-mem-desc-line = '79'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Reference compression. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__compression_8hpp_1ad88e9475d4e269108bb716a1cf5f0d40'; + func-mem-ref-line = '76'; + func-mem-ref-name = 'ExpandedData::iqWidth'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__cp_8h_1affa3adbd50cd4af2018ba1fc0e8c3e31'; + func-mem-ref-line = '243'; + func-mem-ref-name = 'rb'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'compander__functional_8cc_1a53f55fd621ce0edd0b50933321ae7ade'; + func-mem-ref-line = '176'; + func-mem-ref-name = 'TEST_P'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__compression_8cpp_1a0651de68e87558106615163f96b3e599'; + func-mem-ref-line = '729'; + func-mem-ref-name = 'xranlib_compress_avx512'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'namespace_block_float_compander_1a5b3ddd524752c8f556bc4c654e392321'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'BlockFloatCompress_8b_AVX512'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const ExpandedData & +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'dataIn'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +CompressedData * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'dataOut'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_compression.hpp'; + func-mem-desc-line = '80'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +8 bit compression +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__compression_8cpp_1a74512492194fcab6a55f769e02aa37b4'; + func-mem-ref-line = '44'; + func-mem-ref-name = 'computeExponent'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__compression_8hpp_1a24d9d1d1b013179affb41be0424b8360'; + func-mem-ref-line = '73'; + func-mem-ref-name = 'ExpandedData::dataExpanded'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__compression_8hpp_1ab2fd68d067a2e45c839584d0985a7953'; + func-mem-ref-line = '64'; + func-mem-ref-name = 'CompressedData::dataCompressed'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'compander__functional_8cc_1af62cc2e23934ba7efa6a132a26a339fe'; + func-mem-ref-line = '326'; + func-mem-ref-name = 'TEST_P'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__compression_8cpp_1a0651de68e87558106615163f96b3e599'; + func-mem-ref-line = '729'; + func-mem-ref-name = 'xranlib_compress_avx512'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'namespace_block_float_compander_1a2356f186e264c7cea4e3c26d448bb1d5'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'BlockFloatCompress_9b_AVX512'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const ExpandedData & +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'dataIn'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +CompressedData * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'dataOut'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_compression.hpp'; + func-mem-desc-line = '81'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +9 bit compression +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__compression_8cpp_1a74512492194fcab6a55f769e02aa37b4'; + func-mem-ref-line = '44'; + func-mem-ref-name = 'computeExponent'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__compression_8hpp_1a24d9d1d1b013179affb41be0424b8360'; + func-mem-ref-line = '73'; + func-mem-ref-name = 'ExpandedData::dataExpanded'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__compression_8cpp_1acb87fe08d3492b251e7a2561488064fa'; + func-mem-ref-line = '127'; + func-mem-ref-name = 'networkBytePack9b'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__compression_8hpp_1ab2fd68d067a2e45c839584d0985a7953'; + func-mem-ref-line = '64'; + func-mem-ref-name = 'CompressedData::dataCompressed'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'compander__functional_8cc_1a05f3cac0967e0fc77f7c8e0a1f05ba82'; + func-mem-ref-line = '276'; + func-mem-ref-name = 'TEST_P'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__compression_8cpp_1a0651de68e87558106615163f96b3e599'; + func-mem-ref-line = '729'; + func-mem-ref-name = 'xranlib_compress_avx512'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'namespace_block_float_compander_1ae525362ca026142cab4ac983e29ad0ff'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'BlockFloatCompress_10b_AVX512'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const ExpandedData & +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'dataIn'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +CompressedData * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'dataOut'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_compression.hpp'; + func-mem-desc-line = '82'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +10 bit compression +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__compression_8cpp_1a74512492194fcab6a55f769e02aa37b4'; + func-mem-ref-line = '44'; + func-mem-ref-name = 'computeExponent'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__compression_8hpp_1a24d9d1d1b013179affb41be0424b8360'; + func-mem-ref-line = '73'; + func-mem-ref-name = 'ExpandedData::dataExpanded'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__compression_8cpp_1a4a2767bece9b74bb6348b416af70a3de'; + func-mem-ref-line = '164'; + func-mem-ref-name = 'networkBytePack10b'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__compression_8hpp_1ab2fd68d067a2e45c839584d0985a7953'; + func-mem-ref-line = '64'; + func-mem-ref-name = 'CompressedData::dataCompressed'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'compander__functional_8cc_1a3351c323474adfa4b66c985141776b2f'; + func-mem-ref-line = '225'; + func-mem-ref-name = 'TEST_P'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__compression_8cpp_1a0651de68e87558106615163f96b3e599'; + func-mem-ref-line = '729'; + func-mem-ref-name = 'xranlib_compress_avx512'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'namespace_block_float_compander_1a2a8db4c5039bc3d5237b31ca2a129815'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'BlockFloatCompress_12b_AVX512'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const ExpandedData & +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'dataIn'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +CompressedData * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'dataOut'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_compression.hpp'; + func-mem-desc-line = '83'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +12 bit compression +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__compression_8cpp_1a74512492194fcab6a55f769e02aa37b4'; + func-mem-ref-line = '44'; + func-mem-ref-name = 'computeExponent'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__compression_8hpp_1a24d9d1d1b013179affb41be0424b8360'; + func-mem-ref-line = '73'; + func-mem-ref-name = 'ExpandedData::dataExpanded'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__compression_8cpp_1aafe7eae735c4ebf8f028e7baa6783c22'; + func-mem-ref-line = '201'; + func-mem-ref-name = 'networkBytePack12b'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__compression_8hpp_1ab2fd68d067a2e45c839584d0985a7953'; + func-mem-ref-line = '64'; + func-mem-ref-name = 'CompressedData::dataCompressed'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'compander__functional_8cc_1a53f55fd621ce0edd0b50933321ae7ade'; + func-mem-ref-line = '176'; + func-mem-ref-name = 'TEST_P'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__compression_8cpp_1a0651de68e87558106615163f96b3e599'; + func-mem-ref-line = '729'; + func-mem-ref-name = 'xranlib_compress_avx512'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'namespace_block_float_compander_1a5f4776cd07aac0ae2d9dbd02aaba3435'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'BlockFloatExpand_Basic'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const CompressedData & +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'dataIn'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +ExpandedData * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'dataOut'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_compression.hpp'; + func-mem-desc-line = '85'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Reference expansion. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__compression_8hpp_1ad88e9475d4e269108bb716a1cf5f0d40'; + func-mem-ref-line = '66'; + func-mem-ref-name = 'CompressedData::iqWidth'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__cp_8h_1affa3adbd50cd4af2018ba1fc0e8c3e31'; + func-mem-ref-line = '243'; + func-mem-ref-name = 'rb'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__compression_8hpp_1ab2fd68d067a2e45c839584d0985a7953'; + func-mem-ref-line = '64'; + func-mem-ref-name = 'CompressedData::dataCompressed'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__compression_8hpp_1a24d9d1d1b013179affb41be0424b8360'; + func-mem-ref-line = '73'; + func-mem-ref-name = 'ExpandedData::dataExpanded'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'compander__functional_8cc_1a53f55fd621ce0edd0b50933321ae7ade'; + func-mem-ref-line = '176'; + func-mem-ref-name = 'TEST_P'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__compression_8cpp_1a2bd6ebeefb6ca9674598d443e697918c'; + func-mem-ref-line = '834'; + func-mem-ref-name = 'xranlib_decompress_avx512'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'namespace_block_float_compander_1ae4ad42b117d59e2e7ff8fad2d5da506e'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'BlockFloatExpand_8b_AVX512'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const CompressedData & +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'dataIn'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +ExpandedData * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'dataOut'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_compression.hpp'; + func-mem-desc-line = '86'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +8 bit expansion +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__compression_8hpp_1ab2fd68d067a2e45c839584d0985a7953'; + func-mem-ref-line = '64'; + func-mem-ref-name = 'CompressedData::dataCompressed'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__compression_8hpp_1a24d9d1d1b013179affb41be0424b8360'; + func-mem-ref-line = '73'; + func-mem-ref-name = 'ExpandedData::dataExpanded'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'compander__functional_8cc_1af62cc2e23934ba7efa6a132a26a339fe'; + func-mem-ref-line = '326'; + func-mem-ref-name = 'TEST_P'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__compression_8cpp_1a2bd6ebeefb6ca9674598d443e697918c'; + func-mem-ref-line = '834'; + func-mem-ref-name = 'xranlib_decompress_avx512'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'namespace_block_float_compander_1a32917a78ac1596d9aa95e4089ec88ba9'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'BlockFloatExpand_9b_AVX512'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const CompressedData & +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'dataIn'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +ExpandedData * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'dataOut'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_compression.hpp'; + func-mem-desc-line = '87'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +9 bit expansion +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__compression_8cpp_1afb29866152e84d42cd2e3bc116454493'; + func-mem-ref-line = '238'; + func-mem-ref-name = 'networkByteUnpack9b'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__compression_8hpp_1ab2fd68d067a2e45c839584d0985a7953'; + func-mem-ref-line = '64'; + func-mem-ref-name = 'CompressedData::dataCompressed'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__compression_8hpp_1a24d9d1d1b013179affb41be0424b8360'; + func-mem-ref-line = '73'; + func-mem-ref-name = 'ExpandedData::dataExpanded'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'compander__functional_8cc_1a05f3cac0967e0fc77f7c8e0a1f05ba82'; + func-mem-ref-line = '276'; + func-mem-ref-name = 'TEST_P'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__compression_8cpp_1a2bd6ebeefb6ca9674598d443e697918c'; + func-mem-ref-line = '834'; + func-mem-ref-name = 'xranlib_decompress_avx512'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'namespace_block_float_compander_1a8fae7506e2b9c9f9365b306375ab6eff'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'BlockFloatExpand_10b_AVX512'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const CompressedData & +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'dataIn'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +ExpandedData * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'dataOut'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_compression.hpp'; + func-mem-desc-line = '88'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +10 bit expansion +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__compression_8cpp_1a27043376e22397cc933d3c4d9450677b'; + func-mem-ref-line = '271'; + func-mem-ref-name = 'networkByteUnpack10b'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__compression_8hpp_1ab2fd68d067a2e45c839584d0985a7953'; + func-mem-ref-line = '64'; + func-mem-ref-name = 'CompressedData::dataCompressed'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__compression_8hpp_1a24d9d1d1b013179affb41be0424b8360'; + func-mem-ref-line = '73'; + func-mem-ref-name = 'ExpandedData::dataExpanded'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'compander__functional_8cc_1a3351c323474adfa4b66c985141776b2f'; + func-mem-ref-line = '225'; + func-mem-ref-name = 'TEST_P'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__compression_8cpp_1a2bd6ebeefb6ca9674598d443e697918c'; + func-mem-ref-line = '834'; + func-mem-ref-name = 'xranlib_decompress_avx512'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'namespace_block_float_compander_1a65b09b78fac0c8dcfc9edd5091b728dd'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'BlockFloatExpand_12b_AVX512'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const CompressedData & +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'dataIn'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +ExpandedData * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'dataOut'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_compression.hpp'; + func-mem-desc-line = '89'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +12 bit expansion +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__compression_8cpp_1a91aa9bdb6901711b43d848a4a5a94d2f'; + func-mem-ref-line = '304'; + func-mem-ref-name = 'networkByteUnpack12b'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__compression_8hpp_1ab2fd68d067a2e45c839584d0985a7953'; + func-mem-ref-line = '64'; + func-mem-ref-name = 'CompressedData::dataCompressed'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__compression_8hpp_1a24d9d1d1b013179affb41be0424b8360'; + func-mem-ref-line = '73'; + func-mem-ref-name = 'ExpandedData::dataExpanded'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'compander__functional_8cc_1a53f55fd621ce0edd0b50933321ae7ade'; + func-mem-ref-line = '176'; + func-mem-ref-name = 'TEST_P'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__compression_8cpp_1a2bd6ebeefb6ca9674598d443e697918c'; + func-mem-ref-line = '834'; + func-mem-ref-name = 'xranlib_decompress_avx512'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'namespace_block_float_compander_b_f_w_1a45cc83687ca392534168cb8f4d64182f'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'BlockFloatCompress_Basic'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const ExpandedData & +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'dataIn'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +CompressedData * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'dataOut'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_compression.hpp'; + func-mem-desc-line = '121'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Reference compression. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__compression_8hpp_1ad88e9475d4e269108bb716a1cf5f0d40'; + func-mem-ref-line = '118'; + func-mem-ref-name = 'ExpandedData::iqWidth'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__cp_8h_1affa3adbd50cd4af2018ba1fc0e8c3e31'; + func-mem-ref-line = '243'; + func-mem-ref-name = 'rb'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__compression_8cpp_1aa027200fc051c80b515ee8aeadf44a0e'; + func-mem-ref-line = '783'; + func-mem-ref-name = 'xranlib_compress_avx512_bfw'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'namespace_block_float_compander_b_f_w_1a5f4776cd07aac0ae2d9dbd02aaba3435'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'BlockFloatExpand_Basic'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const CompressedData & +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'dataIn'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +ExpandedData * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'dataOut'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_compression.hpp'; + func-mem-desc-line = '127'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Reference expansion. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__compression_8hpp_1ad88e9475d4e269108bb716a1cf5f0d40'; + func-mem-ref-line = '108'; + func-mem-ref-name = 'CompressedData::iqWidth'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__cp_8h_1affa3adbd50cd4af2018ba1fc0e8c3e31'; + func-mem-ref-line = '243'; + func-mem-ref-name = 'rb'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__compression_8hpp_1ab2fd68d067a2e45c839584d0985a7953'; + func-mem-ref-line = '106'; + func-mem-ref-name = 'CompressedData::dataCompressed'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__compression_8hpp_1a24d9d1d1b013179affb41be0424b8360'; + func-mem-ref-line = '115'; + func-mem-ref-name = 'ExpandedData::dataExpanded'; + }; + }; /* func-member */ + }; + var = { + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__compression_8hpp_1ae5c6eb9e85f08f46ed0bf72749445d5d'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +constexpr unsigned +_EnD_oF_dEf_TeXt_; + var-mem-name = 'k_cacheByteAlignment'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += 64 +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_compression.hpp'; + var-mem-desc-line = '28'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'namespace_block_float_compander_1ac740492378f6561cd70808157445ab25'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +static constexpr int +_EnD_oF_dEf_TeXt_; + var-mem-name = 'k_numBitsIQ'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += 16 +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_compression.hpp'; + var-mem-desc-line = '53'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Compute 32 RB at a time. +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'namespace_block_float_compander_1a32631926e1bf9c12a3d78bd5333e89dc'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +static constexpr int +_EnD_oF_dEf_TeXt_; + var-mem-name = 'k_numRB'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += 16 +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_compression.hpp'; + var-mem-desc-line = '54'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'namespace_block_float_compander_1a50f9476b97e70fe5d181668207df87aa'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +static constexpr int +_EnD_oF_dEf_TeXt_; + var-mem-name = 'k_numRE'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += 12 +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_compression.hpp'; + var-mem-desc-line = '55'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'namespace_block_float_compander_1a1a0058439dde0ea33e6b74f1a40b59c8'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +static constexpr int +_EnD_oF_dEf_TeXt_; + var-mem-name = 'k_numREReal'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += k_numRE * 2 +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_compression.hpp'; + var-mem-desc-line = '56'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'namespace_block_float_compander_1adf512dcf1694f47513a09dfb01657f53'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +static constexpr int +_EnD_oF_dEf_TeXt_; + var-mem-name = 'k_numSampsExpanded'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += k_numRB * k_numREReal +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_compression.hpp'; + var-mem-desc-line = '57'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'namespace_block_float_compander_1a272a213f9881fd9ca5139fac41e0f010'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +static constexpr int +_EnD_oF_dEf_TeXt_; + var-mem-name = 'k_numSampsCompressed'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += (k_numSampsExpanded * 2) + k_numRB +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_compression.hpp'; + var-mem-desc-line = '58'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'namespace_block_float_compander_b_f_w_1ac740492378f6561cd70808157445ab25'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +static constexpr int +_EnD_oF_dEf_TeXt_; + var-mem-name = 'k_numBitsIQ'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += 16 +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_compression.hpp'; + var-mem-desc-line = '95'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Compute 32 RB at a time. +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'namespace_block_float_compander_b_f_w_1a32631926e1bf9c12a3d78bd5333e89dc'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +static constexpr int +_EnD_oF_dEf_TeXt_; + var-mem-name = 'k_numRB'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += 1 +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_compression.hpp'; + var-mem-desc-line = '96'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'namespace_block_float_compander_b_f_w_1a50f9476b97e70fe5d181668207df87aa'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +static constexpr int +_EnD_oF_dEf_TeXt_; + var-mem-name = 'k_numRE'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += 32 +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_compression.hpp'; + var-mem-desc-line = '97'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'namespace_block_float_compander_b_f_w_1a1a0058439dde0ea33e6b74f1a40b59c8'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +static constexpr int +_EnD_oF_dEf_TeXt_; + var-mem-name = 'k_numREReal'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += k_numRE * 2 +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_compression.hpp'; + var-mem-desc-line = '98'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'namespace_block_float_compander_b_f_w_1adf512dcf1694f47513a09dfb01657f53'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +static constexpr int +_EnD_oF_dEf_TeXt_; + var-mem-name = 'k_numSampsExpanded'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += k_numRB * k_numREReal +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_compression.hpp'; + var-mem-desc-line = '99'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'namespace_block_float_compander_b_f_w_1a272a213f9881fd9ca5139fac41e0f010'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +static constexpr int +_EnD_oF_dEf_TeXt_; + var-mem-name = 'k_numSampsCompressed'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += (k_numSampsExpanded * 2) + k_numRB +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_compression.hpp'; + var-mem-desc-line = '100'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + }; + file-full-name = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_compression.hpp'; + file-first-line = '1'; + file-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + file-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; +}; /* file */ +file = { + file-id = 'xran__cp__api_8c'; + file-name = 'xran_cp_api.c'; + define = { + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__cp__api_8c_1ab806fff5c941c5825df646db8f584ee7'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'CPLEN_TS'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +(30720000) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_cp_api.c'; + define-mem-desc-line = '541'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + }; + func = { + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__cp__api_8c_1a3ca98b2a49501149a7b5baf9174897d8'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_cp_init_sectiondb'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pHandle'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_cp_api.c'; + func-mem-desc-line = '66'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Initialize section database. + Allocate required memory space to store section information. + Each eAxC allocates dedicated storage and the entry size is the maximum number of sections. + Total entry size : number of CC * number of antenna * max number of sections * 2(direction) +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@param pHandle + handle for xRAN interface, currently not being used +@return + XRAN_STATUS_SUCCESS on success + XRAN_STATUS_RESOURCE, if memory is not enough to allocate database area +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'gen__test_8m_1a38d2cdf58cc777c61b71dd2785d139af'; + func-mem-ref-line = '166'; + func-mem-ref-name = 'ant'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a93b65038922e8dd5f6d9cc499daf25aa'; + func-mem-ref-line = '40'; + func-mem-ref-name = 'XRAN_MAX_SECTIONDB_CTX'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1gga9c60a23fdae979ad1842b255790d1558a927c0750db0e35def0b5e1a088a5b9e4'; + func-mem-ref-line = '150'; + func-mem-ref-name = 'XRAN_DIR_MAX'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1ad366e06c49d56ecfe336917a71236554'; + func-mem-ref-line = '126'; + func-mem-ref-name = 'XRAN_COMPONENT_CARRIERS_MAX'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a35fa05e7523928c0c86cbcf835c12dc5'; + func-mem-ref-line = '111'; + func-mem-ref-name = 'XRAN_MAX_ANTENNA_NR'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1af3e0ced3530652b3c92220c8783b55fa'; + func-mem-ref-line = '118'; + func-mem-ref-name = 'XRAN_MAX_ANT_ARRAY_ELM_NR'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1a03f408f45e97aa68ca47c92e4e7d1a70'; + func-mem-ref-line = '2756'; + func-mem-ref-name = 'xran_open'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__cp__api_8c_1a965fc18e61438182b0ae70809b68fb23'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_cp_free_sectiondb'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pHandle'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_cp_api.c'; + func-mem-desc-line = '89'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Release and free section database. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@param pHandle + handle for xRAN interface, currently not being used +@return + XRAN_STATUS_SUCCESS on success +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a814959a7b5ff6cd4474433f62312eee0'; + func-mem-ref-line = '54'; + func-mem-ref-name = 'XRAN_STATUS_SUCCESS'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__cp__api_8c_1ae2ff904a83b9524e347f9bab56b5bc70'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +static struct xran_sectioninfo_db * +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_get_section_db'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pHandle'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'dir'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'cc_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'ruport_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'ctx_id'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_cp_api.c'; + func-mem-desc-line = '94'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__cp__api_8c_1a3ec829275710a6a3587af413bd37dc37'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +static struct xran_section_info * +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_get_section_info'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_sectioninfo_db * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'ptr'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'index'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_cp_api.c'; + func-mem-desc-line = '125'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__cp__api_8c_1a2a349ad9adaec2cfd7f88e791d451c5e'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_cp_add_section_info'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pHandle'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'dir'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'cc_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'ruport_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'ctx_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_section_info * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'info'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_cp_api.c'; + func-mem-desc-line = '160'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Add a section information of C-Plane to dabase. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@param pHandle + handle for xRAN interface, currently not being used +@param dir + Direction of C-Plane message for the section to store +@param cc_id + CC ID of C-Plane message for the section to store +@param ruport_id + RU port ID of C-Plane message for the section to store +@param ctx_id + Context index for the section database +@param info + The information of this section to store +@return + XRAN_STATUS_SUCCESS on success + XRAN_STATUS_INVALID_PARAM, if direction, CC ID or RU port ID is incorrect + XRAN_STATUS_RESOURCE, if no more space to add on database +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8c_1acadfaa8ee00984098976838a75457775'; + func-mem-ref-line = '43'; + func-mem-ref-name = 'xran_sectioninfo_db::list'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__common_8c_1a484fa852a2e973600abba0efb1fbefb9'; + func-mem-ref-line = '510'; + func-mem-ref-name = 'send_cpmsg'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__cp__api_8c_1ae5d69f1c437b336ec274f5e1ab8e2e30'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_cp_add_multisection_info'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pHandle'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'cc_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'ruport_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'ctx_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_cp_gen_params * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'gen_info'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_cp_api.c'; + func-mem-desc-line = '187'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8c_1acadfaa8ee00984098976838a75457775'; + func-mem-ref-line = '43'; + func-mem-ref-name = 'xran_sectioninfo_db::list'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a92abda0bec7c1c978fe96f87aad18067'; + func-mem-ref-line = '316'; + func-mem-ref-name = 'xran_cp_gen_params::dir'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a52bddd404e766ddb6f2b9eabe15ea5b1'; + func-mem-ref-line = '318'; + func-mem-ref-name = 'xran_cp_gen_params::numSections'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__cp__api_8c_1a717d00904ede832e69fe4f3114a96563'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_section_info * +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_cp_find_section_info'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pHandle'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'dir'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'cc_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'ruport_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'ctx_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'section_id'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_cp_api.c'; + func-mem-desc-line = '242'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Find a section information of C-Plane from dabase + by given information. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@param pHandle + handle for xRAN interface, currently not being used +@param dir + The direction of the section to find +@param cc_id + The CC ID of the section to find +@param ruport_id + RU port ID of the section to find +@param ctx_id + Context index for the section database +@param section_id + The ID of section to find +@return + The pointer of section information if matched section is found + NULL if failed to find matched section +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__cp__api_8c_1aef16da48f3d30626c31dfeff9d8301fa'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_section_info * +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_cp_iterate_section_info'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pHandle'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'dir'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'cc_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'ruport_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'ctx_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint32_t * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'next'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_cp_api.c'; + func-mem-desc-line = '291'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Iterate each section information of C-Plane + from the database of eAxC by given information. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@param pHandle + handle for xRAN interface, currently not being used +@param dir + The direction of the section to find +@param cc_id + The CC ID of the section to find +@param ruport_id + RU port ID of the section to find +@param ctx_id + Context index for the section database +@param next + The pointer to store the position of next entry +@return + The pointer of section information in the list + NULL if reached at the end of the list +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__cp__api_8c_1a8a0777a40a92869e6b3772feae416db0'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_cp_getsize_section_info'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pHandle'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'dir'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'cc_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'ruport_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'ctx_id'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_cp_api.c'; + func-mem-desc-line = '334'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Get the size of stored entries + for the database of eAxC by given information. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@param pHandle + handle for xRAN interface, currently not being used +@param dir + The direction of the section to find +@param cc_id + The CC ID of the section to find +@param ruport_id + RU port ID of the section to find +@param ctx_id + Context index for the section database +@return + The size of stored entries + -1 if failed to find matched database +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__cp__api_8c_1a3d9c3e2adf0acd0763dbb0c8e8c72f11'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_cp_reset_section_info'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pHandle'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'dir'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'cc_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'ruport_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'ctx_id'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_cp_api.c'; + func-mem-desc-line = '366'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Reset a database of eAxC by given information. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@param pHandle + handle for xRAN interface, currently not being used +@param dir + The direction of the section to find +@param cc_id + The CC ID of the section to find +@param ruport_id + RU port ID of the section to find +@param ctx_id + Context index for the section database +@return + XRAN_STATUS_SUCCESS on success + XRAN_STATUS_INVALID_PARM if failed to find matched database +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__cp__api_8c_1a201fce4384d6799777dbbefc4a053137'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_dump_sectiondb'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_cp_api.c'; + func-mem-desc-line = '381'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__cp__api_8c_1a848d22f9f7e5f493782bf8a9bfdb8f3a'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_cp_populate_section_ext_1'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +int8_t * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'p_ext1_dst'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'ext1_dst_len'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +int16_t * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'p_bfw_iq_src'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'rbNum'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'bfwNumPerRb'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'bfwiqWidth'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'bfwCompMeth'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_cp_api.c'; + func-mem-desc-line = '387'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +compression method +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a2093a855b81dcfff46d379b2c7a700f6'; + func-mem-ref-line = '142'; + func-mem-ref-name = 'XRAN_EF_F_ANOTHER_ONE'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__printf_8h_1a417ba2c3b49b216e358bc340346bf1cf'; + func-mem-ref-line = '54'; + func-mem-ref-name = 'print_dbg'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1aad8a35383b986f4ca80437468b6c625f'; + func-mem-ref-line = '75'; + func-mem-ref-name = 'XRAN_STATUS_INVALID_PARAM'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__printf_8h_1a16c2c0a30b31515830a4a8eff6cf10b5'; + func-mem-ref-line = '62'; + func-mem-ref-name = 'print_err'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a81b257717e74882b591daf7fd958c012'; + func-mem-ref-line = '141'; + func-mem-ref-name = 'XRAN_EF_F_LAST'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__cp_8h_1af69684e1de711986c6c92dcb0cde3ef9'; + func-mem-ref-line = '145'; + func-mem-ref-name = 'xran_cp_radioapp_section_ext1::extType'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1aa8ad3a412a8007bef79fb6ff224fc977a32fbc3ce682df2f044ceb33dcc1c3e77'; + func-mem-ref-line = '149'; + func-mem-ref-name = 'XRAN_CP_SECTIONEXTCMD_1'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__cp_8h_1afe3859cd334ad3f912622c58d5b2079e'; + func-mem-ref-line = '146'; + func-mem-ref-name = 'xran_cp_radioapp_section_ext1::ef'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__cp_8h_1a489f0b868b86e577a5e515dc40987ba5'; + func-mem-ref-line = '149'; + func-mem-ref-name = 'xran_cp_radioapp_section_ext1::bfwCompMeth'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__cp_8h_1a489f0b868b86e577a5e515dc40987ba5'; + func-mem-ref-line = '220'; + func-mem-ref-name = 'bfwCompMeth'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__cp_8h_1ab4efff418afe4f08b45d3c4762f8b31d'; + func-mem-ref-line = '150'; + func-mem-ref-name = 'xran_cp_radioapp_section_ext1::bfwIqWidth'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1abc1efb8cd57478741ed448abe5657af1'; + func-mem-ref-line = '158'; + func-mem-ref-name = 'XRAN_CONVERT_BFWIQWIDTH'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a241943465db5d59b297c1401b4579687ae57fd13dd77647afe0a45fd16d0d1d18'; + func-mem-ref-line = '163'; + func-mem-ref-name = 'XRAN_BFWCOMPMETHOD_BLKFLOAT'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a341e6485fd9de350805503e938f90708'; + func-mem-ref-line = '68'; + func-mem-ref-name = 'XRAN_STATUS_RESOURCE'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__compression_8h_1a06bde7ceb81ae7d8d8a101d7cfe4bb25'; + func-mem-ref-line = '38'; + func-mem-ref-name = 'xranlib_compress_request::data_in'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__compression_8h_1a6858c4011b5cad020222e9ca5c2786f5'; + func-mem-ref-line = '42'; + func-mem-ref-name = 'xranlib_compress_request::len'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__compression_8h_1ad73157f14fa98c54fb563244c1327933'; + func-mem-ref-line = '40'; + func-mem-ref-name = 'xranlib_compress_request::compMethod'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__compression_8h_1a36f5a0cedd274c3ec55f81535f06e0de'; + func-mem-ref-line = '41'; + func-mem-ref-name = 'xranlib_compress_request::iqWidth'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a241943465db5d59b297c1401b4579687aa875f8d378e4505ebf4e03554bccda4e'; + func-mem-ref-line = '164'; + func-mem-ref-name = 'XRAN_BFWCOMPMETHOD_BLKSCALE'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a241943465db5d59b297c1401b4579687a08c6866bf6b30f45d8c78a1acb33f6ca'; + func-mem-ref-line = '165'; + func-mem-ref-name = 'XRAN_BFWCOMPMETHOD_ULAW'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a241943465db5d59b297c1401b4579687a036896de4dea687b4d28bd819e535529'; + func-mem-ref-line = '166'; + func-mem-ref-name = 'XRAN_BFWCOMPMETHOD_BEAMSPACE'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a241943465db5d59b297c1401b4579687a69b09bde0a8a71540b00378a5eb917b9'; + func-mem-ref-line = '162'; + func-mem-ref-name = 'XRAN_BFWCOMPMETHOD_NONE'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__compression_8h_1aa84b1c03297680b54ecd081d2a69d791'; + func-mem-ref-line = '50'; + func-mem-ref-name = 'xranlib_compress_response::data_out'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__compression_8cpp_1a55f53f65b294f4b5f75190e3565ac295'; + func-mem-ref-line = '783'; + func-mem-ref-name = 'xranlib_compress_avx512_bfw'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__compression_8h_1a6858c4011b5cad020222e9ca5c2786f5'; + func-mem-ref-line = '52'; + func-mem-ref-name = 'xranlib_compress_response::len'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a4a957453875309739caacdd651bdab75'; + func-mem-ref-line = '58'; + func-mem-ref-name = 'XRAN_STATUS_FAIL'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a63f308af419e410c6e3996a79d2c9897'; + func-mem-ref-line = '50'; + func-mem-ref-name = 'XRAN_SECTIONEXT_ALIGN'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'c__plane__tests_8cc_1a11a0b914a08e5375cae792dc6db08c7a'; + func-mem-ref-line = '566'; + func-mem-ref-name = 'TEST_P'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__cp__api_8c_1ab147e86ba4d34b9335642861bc2812d5'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_get_cplength'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'CP_length'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_cp_api.c'; + func-mem-desc-line = '542'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__cp__api_8c_1a369024df36c290df733e9a273d5330bd'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_get_freqoffset'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'freqOffset'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'scs'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_cp_api.c'; + func-mem-desc-line = '550'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__cp__api_8c_1a781a2b99d585a188806f964287a2a33a'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +static int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_copy_sectionext_1'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mbuf * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'mbuf'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_sectionext1_info * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'params'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'last_flag'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_cp_api.c'; + func-mem-desc-line = '555'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__cp__api_8c_1a67c2e87aaab47ca06ae007dc1cc77198'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +static int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_prepare_sectionext_1'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mbuf * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'mbuf'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_sectionext1_info * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'params'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'last_flag'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_cp_api.c'; + func-mem-desc-line = '577'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__cp__api_8c_1abe46845a0fe1eea94ce5355d6883eda2'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +static int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_prepare_sectionext_2'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mbuf * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'mbuf'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_sectionext2_info * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'params'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'last_flag'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_cp_api.c'; + func-mem-desc-line = '688'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__cp__api_8c_1ae99af72dda2f085463f0754804a8ac90'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +static int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_prepare_sectionext_4'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mbuf * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'mbuf'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_sectionext4_info * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'params'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'last_flag'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_cp_api.c'; + func-mem-desc-line = '786'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__cp__api_8c_1a55015859be3bf2546d429ac8ff25f729'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +static int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_prepare_sectionext_5'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mbuf * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'mbuf'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_sectionext5_info * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'params'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'last_flag'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_cp_api.c'; + func-mem-desc-line = '818'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__cp__api_8c_1a8a6808ba5994c2ab413ee00dd56299cd'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_append_section_extensions'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mbuf * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'mbuf'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_section_gen_info * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'params'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_cp_api.c'; + func-mem-desc-line = '907'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +add section extension to C-Plane packet +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@param mbuf + A pointer to the packet buffer +@param params + A porinter to the information to generate a C-Plane packet +@return + XRAN_STATUS_SUCCESS on success + XRAN_STATUS_INVALID_PARM + XRAN_STATUS_RESOURCE if failed to allocate the space to packet buffer +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1aa561d89cbc570e39183c64a5095a6053'; + func-mem-ref-line = '298'; + func-mem-ref-name = 'xran_section_gen_info::exDataSize'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a68331320b5c982a49c45ae15be297dc1'; + func-mem-ref-line = '42'; + func-mem-ref-name = 'XRAN_MAX_NUM_EXTENSIONS'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__printf_8h_1a16c2c0a30b31515830a4a8eff6cf10b5'; + func-mem-ref-line = '62'; + func-mem-ref-name = 'print_err'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1aad8a35383b986f4ca80437468b6c625f'; + func-mem-ref-line = '75'; + func-mem-ref-name = 'XRAN_STATUS_INVALID_PARAM'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a814959a7b5ff6cd4474433f62312eee0'; + func-mem-ref-line = '54'; + func-mem-ref-name = 'XRAN_STATUS_SUCCESS'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__printf_8h_1a417ba2c3b49b216e358bc340346bf1cf'; + func-mem-ref-line = '54'; + func-mem-ref-name = 'print_dbg'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a735984d41155bc1032e09bece8f8d66d'; + func-mem-ref-line = '303'; + func-mem-ref-name = 'xran_section_gen_info::data'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1acb5cfd209ba75c853d03f701e7f91679'; + func-mem-ref-line = '301'; + func-mem-ref-name = 'xran_section_gen_info::type'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1aa8ad3a412a8007bef79fb6ff224fc977a32fbc3ce682df2f044ceb33dcc1c3e77'; + func-mem-ref-line = '149'; + func-mem-ref-name = 'XRAN_CP_SECTIONEXTCMD_1'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__cp__api_8c_1ab6bd702ad72249afda1244faf2423b95'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +static int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_prepare_section0'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_cp_radioapp_section0 * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'section'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_section_gen_info * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'params'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_cp_api.c'; + func-mem-desc-line = '977'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Fill the section body of type 0 in C-Plane packet. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@param section + A pointer to the section in the packet buffer +@param params + A porinter to the information to generate a C-Plane packet +@return + XRAN_STATUS_SUCCESS on success + XRAN_STATUS_INVALID_PARM if the number of symbol is invalid +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__cp__api_8c_1a87b43105e354029507934592fd9c02b2'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +static int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_prepare_section0_hdr'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_cp_radioapp_section0_header * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 's0hdr'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_cp_gen_params * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'params'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_cp_api.c'; + func-mem-desc-line = '1013'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Fill the section header of type 0 in C-Plane packet. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@param s0hdr + A pointer to the section header in the packet buffer +@param params + A porinter to the information to generate a C-Plane packet +@return + XRAN_STATUS_SUCCESS always +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__cp__api_8c_1a5afe34fc2d6f3d8ecd8aa5f31e8085db'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +static int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_prepare_section1'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_cp_radioapp_section1 * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'section'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_section_gen_info * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'params'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_cp_api.c'; + func-mem-desc-line = '1039'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Fill the section body of type 1 in C-Plane packet + Extension is not supported. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@param section + A pointer to the section header in the packet buffer +@param params + A porinter to the information to generate a C-Plane packet +@return + XRAN_STATUS_SUCCESS on success + XRAN_STATUS_INVALID_PARM if the number of symbol is invalid +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__cp__api_8c_1af3538a8b0290880a2e13218f11453971'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +static int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_prepare_section1_hdr'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_cp_radioapp_section1_header * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 's1hdr'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_cp_gen_params * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'params'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_cp_api.c'; + func-mem-desc-line = '1077'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Fill the section header of type 1 in C-Plane packet. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@param s1hdr + A pointer to the section header in the packet buffer +@param params + A porinter to the information to generate a C-Plane packet +@return + XRAN_STATUS_SUCCESS always +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__cp__api_8c_1a91f8b9144c3cf4b9d1fb4b2df9a5ee0c'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +static int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_prepare_section3'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_cp_radioapp_section3 * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'section'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_section_gen_info * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'params'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_cp_api.c'; + func-mem-desc-line = '1100'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Fill the section body of type 3 in C-Plane packet + Extension is not supported. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@param section + A pointer to the section header in the packet buffer +@param params + A porinter to the information to generate a C-Plane packet +@return + XRAN_STATUS_SUCCESS on success + XRAN_STATUS_INVALID_PARM if the number of symbol is invalid +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__cp__api_8c_1a4ef81b7f74ac1eeee1f5a7982ef4de7b'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +static int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_prepare_section3_hdr'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_cp_radioapp_section3_header * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 's3hdr'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_cp_gen_params * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'params'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_cp_api.c'; + func-mem-desc-line = '1141'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Fill the section header of type 3 in C-Plane packet. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@param s3hdr + A pointer to the section header in the packet buffer +@param params + A porinter to the information to generate a C-Plane packet +@return + XRAN_STATUS_SUCCESS always +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__cp__api_8c_1ad50ae862f0707dab5e7b8e6a774fd225'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_append_control_section'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mbuf * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'mbuf'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_cp_gen_params * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'params'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_cp_api.c'; + func-mem-desc-line = '1169'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +add sections to C-Plane packet + Section type 1 and 3 are supported. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@param mbuf + A pointer to the packet buffer +@param params + A porinter to the information to generate a C-Plane packet +@return + XRAN_STATUS_SUCCESS on success + XRAN_STATUS_INVALID_PARM if section type is not 1 or 3, or handler is NULL + XRAN_STATUS_RESOURCE if failed to allocate the space to packet buffer +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1ae273caa235b1c6085de4ad13886f82c9'; + func-mem-ref-line = '317'; + func-mem-ref-name = 'xran_cp_gen_params::sectionType'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a6e8f1d76afde95b2d85b1fd99aaa1610a0afad447e78f05813dd3ec3e378c7edd'; + func-mem-ref-line = '55'; + func-mem-ref-name = 'XRAN_CP_SECTIONTYPE_0'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__cp__api_8c_1af9eb550e92ea270af41b4b6bcda363db'; + func-mem-ref-line = '1381'; + func-mem-ref-name = 'xran_prepare_ctrl_pkt'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__cp__api_8c_1a09fae1cc20908a77197db78a7581f153'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +static int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_prepare_radioapp_common_header'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_cp_radioapp_common_header * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'apphdr'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_cp_gen_params * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'params'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_cp_api.c'; + func-mem-desc-line = '1249'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +fill the information of a radio application header in a C-Plane packet +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@param apphdr + A pointer to the application header in the packet buffer +@param params + A porinter to the information to generate a C-Plane packet +@return + XRAN_STATUS_SUCCESS on success + XRAN_STATUS_INVALID_PARM if direction, slot index or symbold index is invalid +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__cp__api_8c_1a1261c107d1103c8bd1b3376db4aa7951'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_append_radioapp_header'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mbuf * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'mbuf'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_cp_gen_params * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'params'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_cp_api.c'; + func-mem-desc-line = '1297'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +add a radio application header in a C-Plane packet +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@param mbuf + A pointer to the packet buffer +@param params + A porinter to the information to generate a C-Plane packet +@return + The length of added section (>0) on success + XRAN_STATUS_INVALID_PARM if section type is invalid, or handler is NULL + XRAN_STATUS_RESOURCE if failed to allocate the space to packet buffer +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__cp_8h_1a3675a820a4aec2a8724471cb7f840f16'; + func-mem-ref-line = '214'; + func-mem-ref-name = 'hdr'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1ae273caa235b1c6085de4ad13886f82c9'; + func-mem-ref-line = '317'; + func-mem-ref-name = 'xran_cp_gen_params::sectionType'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a6e8f1d76afde95b2d85b1fd99aaa1610a3737ed931eee1f2165a21b1bbcd5da78'; + func-mem-ref-line = '61'; + func-mem-ref-name = 'XRAN_CP_SECTIONTYPE_MAX'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__printf_8h_1a16c2c0a30b31515830a4a8eff6cf10b5'; + func-mem-ref-line = '62'; + func-mem-ref-name = 'print_err'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1aad8a35383b986f4ca80437468b6c625f'; + func-mem-ref-line = '75'; + func-mem-ref-name = 'XRAN_STATUS_INVALID_PARAM'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a6e8f1d76afde95b2d85b1fd99aaa1610a0afad447e78f05813dd3ec3e378c7edd'; + func-mem-ref-line = '55'; + func-mem-ref-name = 'XRAN_CP_SECTIONTYPE_0'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__cp__api_8c_1af9eb550e92ea270af41b4b6bcda363db'; + func-mem-ref-line = '1381'; + func-mem-ref-name = 'xran_prepare_ctrl_pkt'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__cp__api_8c_1af9eb550e92ea270af41b4b6bcda363db'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_prepare_ctrl_pkt'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mbuf * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'mbuf'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_cp_gen_params * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'params'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'CC_ID'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'Ant_ID'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'seq_id'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_cp_api.c'; + func-mem-desc-line = '1381'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Create a C-Plane packet + Transport layer fragmentation is not supported. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@param mbuf + A pointer to the packet buffer +@param params + A porinter to the information to generate a C-Plane packet +@param CC_ID + Component Carrier ID for this C-Plane message +@param Ant_ID + Antenna ID(RU Port ID) for this C-Plane message +@param seq_id + Sequence ID for this C-Plane message +@return + XRAN_STATUS_SUCCESS on success + XRAN_STATUS_RESOURCE if failed to allocate the space to packet buffer + XRAN_STATUS_INVALID_PARM if section type is invalid +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__transport_8c_1aa21387dfaba47c2046d4a05f50cfc768'; + func-mem-ref-line = '142'; + func-mem-ref-name = 'xran_build_ecpri_hdr'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8c_1a1261c107d1103c8bd1b3376db4aa7951'; + func-mem-ref-line = '1297'; + func-mem-ref-name = 'xran_append_radioapp_header'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__printf_8h_1a16c2c0a30b31515830a4a8eff6cf10b5'; + func-mem-ref-line = '62'; + func-mem-ref-name = 'print_err'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8c_1ad50ae862f0707dab5e7b8e6a774fd225'; + func-mem-ref-line = '1169'; + func-mem-ref-name = 'xran_append_control_section'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1aa90ff3ad961fe295cdffddc945999212'; + func-mem-ref-line = '132'; + func-mem-ref-name = 'xran_ecpri_hdr::cmnhdr'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1a61bf830b8866773b24cbca74ed3a4d6f'; + func-mem-ref-line = '119'; + func-mem-ref-name = 'xran_ecpri_cmn_hdr::ecpri_payl_size'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a814959a7b5ff6cd4474433f62312eee0'; + func-mem-ref-line = '54'; + func-mem-ref-name = 'XRAN_STATUS_SUCCESS'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'c__plane__tests_8cc_1ab22c1305386eabc256bc6d3492d50846'; + func-mem-ref-line = '40'; + func-mem-ref-name = 'xran_ut_prepare_cp'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'c__plane__tests_8cc_1a11a0b914a08e5375cae792dc6db08c7a'; + func-mem-ref-line = '566'; + func-mem-ref-name = 'TEST_P'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__common_8c_1aaa01e98d3b3439a332302aebe21459dd'; + func-mem-ref-line = '535'; + func-mem-ref-name = 'generate_cpmsg_dlul'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__common_8c_1ab8a6ed3cee8fa183142d0c23d0b4971d'; + func-mem-ref-line = '595'; + func-mem-ref-name = 'generate_cpmsg_prach'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__cp__api_8c_1aaa0c6012a36b539f8880c45ac909c331'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_parse_section_ext1'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'ext'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_sectionext1_info * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'extinfo'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_cp_api.c'; + func-mem-desc-line = '1416'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1ad749041bcf50616bac96e4d13b661272'; + func-mem-ref-line = '2965'; + func-mem-ref-name = 'xran_get_conf_num_bfweights'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1ab09d1df0b229edfd34c41706fcfa73e7'; + func-mem-ref-line = '211'; + func-mem-ref-name = 'xran_sectionext1_info::bfwNumber'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__cp_8h_1a1704e602910415f3250e10f4f215fb84'; + func-mem-ref-line = '147'; + func-mem-ref-name = 'xran_cp_radioapp_section_ext1::extLen'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a63f308af419e410c6e3996a79d2c9897'; + func-mem-ref-line = '50'; + func-mem-ref-name = 'XRAN_SECTIONEXT_ALIGN'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a489f0b868b86e577a5e515dc40987ba5'; + func-mem-ref-line = '213'; + func-mem-ref-name = 'xran_sectionext1_info::bfwCompMeth'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__cp_8h_1a489f0b868b86e577a5e515dc40987ba5'; + func-mem-ref-line = '149'; + func-mem-ref-name = 'xran_cp_radioapp_section_ext1::bfwCompMeth'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a3de53935627d11e11003c38bd6dca548'; + func-mem-ref-line = '212'; + func-mem-ref-name = 'xran_sectionext1_info::bfwiqWidth'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__cp_8h_1ab4efff418afe4f08b45d3c4762f8b31d'; + func-mem-ref-line = '150'; + func-mem-ref-name = 'xran_cp_radioapp_section_ext1::bfwIqWidth'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a241943465db5d59b297c1401b4579687a69b09bde0a8a71540b00378a5eb917b9'; + func-mem-ref-line = '162'; + func-mem-ref-name = 'XRAN_BFWCOMPMETHOD_NONE'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a241943465db5d59b297c1401b4579687ae57fd13dd77647afe0a45fd16d0d1d18'; + func-mem-ref-line = '163'; + func-mem-ref-name = 'XRAN_BFWCOMPMETHOD_BLKFLOAT'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1af05d5abe7656953548edfb3eb5117659'; + func-mem-ref-line = '217'; + func-mem-ref-name = 'xran_sectionext1_info::exponent'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a241943465db5d59b297c1401b4579687aa875f8d378e4505ebf4e03554bccda4e'; + func-mem-ref-line = '164'; + func-mem-ref-name = 'XRAN_BFWCOMPMETHOD_BLKSCALE'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1ad32c6c9662025c7208ec099075b7ec27'; + func-mem-ref-line = '218'; + func-mem-ref-name = 'xran_sectionext1_info::blockScaler'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a241943465db5d59b297c1401b4579687a08c6866bf6b30f45d8c78a1acb33f6ca'; + func-mem-ref-line = '165'; + func-mem-ref-name = 'XRAN_BFWCOMPMETHOD_ULAW'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1ac538592c50bd54df6d3c3dfb98fd1a96'; + func-mem-ref-line = '219'; + func-mem-ref-name = 'xran_sectionext1_info::compBitWidthShift'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a241943465db5d59b297c1401b4579687a036896de4dea687b4d28bd819e535529'; + func-mem-ref-line = '166'; + func-mem-ref-name = 'XRAN_BFWCOMPMETHOD_BEAMSPACE'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1abeddf07371133e2a155418d2ad6e6606'; + func-mem-ref-line = '220'; + func-mem-ref-name = 'xran_sectionext1_info::activeBeamspaceCoeffMask'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__printf_8h_1a16c2c0a30b31515830a4a8eff6cf10b5'; + func-mem-ref-line = '62'; + func-mem-ref-name = 'print_err'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a535b83a8653a891f80fc204eb1d9cb8b'; + func-mem-ref-line = '214'; + func-mem-ref-name = 'xran_sectionext1_info::p_bfwIQ'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__cp__api_8c_1a9d4ed2d1226eb004597b69dfd86c7c93'; + func-mem-ref-line = '1668'; + func-mem-ref-name = 'xran_parse_section_extension'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__cp__api_8c_1af3d96c5ccff84bf6a444f260f58a49f2'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_parse_section_ext2'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'ext'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_sectionext2_info * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'extinfo'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_cp_api.c'; + func-mem-desc-line = '1497'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__cp_8h_1ab53808b9894ae611b5b0800f2cdc248c'; + func-mem-ref-line = '179'; + func-mem-ref-name = 'xran_cp_radioapp_section_ext2::extLen'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a63f308af419e410c6e3996a79d2c9897'; + func-mem-ref-line = '50'; + func-mem-ref-name = 'XRAN_SECTIONEXT_ALIGN'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a2d14a28b7dc7cc4d18dae8c579a15d00'; + func-mem-ref-line = '225'; + func-mem-ref-name = 'xran_sectionext2_info::bfAzPtWidth'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__cp_8h_1ae4575041f99a19d0b4e60606fa8dbefb'; + func-mem-ref-line = '177'; + func-mem-ref-name = 'xran_cp_radioapp_section_ext2::bfAzPtWidth'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a0562069083918b7760597eaca4f0dceb'; + func-mem-ref-line = '227'; + func-mem-ref-name = 'xran_sectionext2_info::bfZePtWidth'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__cp_8h_1a44f3c610f47128f388292d02434afe0b'; + func-mem-ref-line = '176'; + func-mem-ref-name = 'xran_cp_radioapp_section_ext2::bfZePtWidth'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1af6d308ae11840b67c4e3234a78ca1591'; + func-mem-ref-line = '229'; + func-mem-ref-name = 'xran_sectionext2_info::bfAz3ddWidth'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__cp_8h_1a91c2992cc2931d34eedace92ebed95e3'; + func-mem-ref-line = '174'; + func-mem-ref-name = 'xran_cp_radioapp_section_ext2::bfAz3ddWidth'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a52ffc8175e7bde0adbc75c865c854df2'; + func-mem-ref-line = '231'; + func-mem-ref-name = 'xran_sectionext2_info::bfZe3ddWidth'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__cp_8h_1afaa633099e5bb43f394e334d2effa115'; + func-mem-ref-line = '173'; + func-mem-ref-name = 'xran_cp_radioapp_section_ext2::bfZe3ddWidth'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__cp_8h_1a2b3796df8f24599db86788e5c585bd8e'; + func-mem-ref-line = '178'; + func-mem-ref-name = 'xran_cp_radioapp_section_ext2::bfaCompResv0'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__cp_8h_1ad577e27385c9800999196f723131c2a6'; + func-mem-ref-line = '175'; + func-mem-ref-name = 'xran_cp_radioapp_section_ext2::bfaCompResv1'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__printf_8h_1a16c2c0a30b31515830a4a8eff6cf10b5'; + func-mem-ref-line = '62'; + func-mem-ref-name = 'print_err'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a62a0cfe73c1305294d16fb9593a2a947'; + func-mem-ref-line = '232'; + func-mem-ref-name = 'xran_sectionext2_info::bfZe3dd'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__cp__api_8c_1a9d4ed2d1226eb004597b69dfd86c7c93'; + func-mem-ref-line = '1668'; + func-mem-ref-name = 'xran_parse_section_extension'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__cp__api_8c_1ad4a3ae88412a933d953fc0f8ae9bb352'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_parse_section_ext4'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'ext'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_sectionext4_info * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'extinfo'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_cp_api.c'; + func-mem-desc-line = '1579'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__cp_8h_1ab53808b9894ae611b5b0800f2cdc248c'; + func-mem-ref-line = '262'; + func-mem-ref-name = 'xran_cp_radioapp_section_ext4::extLen'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a63f308af419e410c6e3996a79d2c9897'; + func-mem-ref-line = '50'; + func-mem-ref-name = 'XRAN_SECTIONEXT_ALIGN'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a1c0e94567471aac214963f9600d0a4b1'; + func-mem-ref-line = '254'; + func-mem-ref-name = 'xran_sectionext4_info::modCompScaler'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__cp_8h_1a3e975b4b16cb91991ee107f5f3e336b5'; + func-mem-ref-line = '259'; + func-mem-ref-name = 'xran_cp_radioapp_section_ext4::modCompScaler'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a9469507e787895ef8a3ec1b89df59954'; + func-mem-ref-line = '252'; + func-mem-ref-name = 'xran_sectionext4_info::csf'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__cp_8h_1a2a77d2bfcb0d61e85b549fdbbe4bce18'; + func-mem-ref-line = '260'; + func-mem-ref-name = 'xran_cp_radioapp_section_ext4::csf'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__printf_8h_1a16c2c0a30b31515830a4a8eff6cf10b5'; + func-mem-ref-line = '62'; + func-mem-ref-name = 'print_err'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__cp__api_8c_1a9d4ed2d1226eb004597b69dfd86c7c93'; + func-mem-ref-line = '1668'; + func-mem-ref-name = 'xran_parse_section_extension'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__cp__api_8c_1af03e99a3b1e9498ca15458e0440c12a1'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_parse_section_ext5'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'ext'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_sectionext5_info * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'extinfo'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_cp_api.c'; + func-mem-desc-line = '1606'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__cp_8h_1ac83c9926f298a62e15cfbc16571a54fb'; + func-mem-ref-line = '130'; + func-mem-ref-name = 'xran_cp_radioapp_section_ext_hdr::extLen'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a63f308af419e410c6e3996a79d2c9897'; + func-mem-ref-line = '50'; + func-mem-ref-name = 'XRAN_SECTIONEXT_ALIGN'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a8f86cfef3ff1270fe0b6d93259c3a0dc'; + func-mem-ref-line = '48'; + func-mem-ref-name = 'XRAN_MAX_MODCOMP_ADDPARMS'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__printf_8h_1a16c2c0a30b31515830a4a8eff6cf10b5'; + func-mem-ref-line = '62'; + func-mem-ref-name = 'print_err'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a0d53f590f6c03b8aadb7421ea75a0efa'; + func-mem-ref-line = '262'; + func-mem-ref-name = 'xran_sectionext5_info::mcScaleOffset'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__cp_8h_1a8854bc563f0f80ccc93498c6f6386ebe'; + func-mem-ref-line = '323'; + func-mem-ref-name = 'xran_cp_radioapp_section_ext5::mcScaleOffset1'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1aff3ff8bd662f3deba04c54adcbbd2826'; + func-mem-ref-line = '260'; + func-mem-ref-name = 'xran_sectionext5_info::csf'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__cp_8h_1ae99d919e21fe8913cf62fe9a45303edf'; + func-mem-ref-line = '324'; + func-mem-ref-name = 'xran_cp_radioapp_section_ext5::csf1'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1aabd93f3473c2432cf02d285e460907da'; + func-mem-ref-line = '261'; + func-mem-ref-name = 'xran_sectionext5_info::mcScaleReMask'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__cp_8h_1aa73c9c8643bc91f9af899bcb09d5329d'; + func-mem-ref-line = '325'; + func-mem-ref-name = 'xran_cp_radioapp_section_ext5::mcScaleReMask1'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__cp_8h_1aca88dbe7fcac3aa95ac605c39a1ef6c3'; + func-mem-ref-line = '320'; + func-mem-ref-name = 'xran_cp_radioapp_section_ext5::mcScaleOffset2'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__cp_8h_1a985dc9bc6fcfe447805f23272240db02'; + func-mem-ref-line = '321'; + func-mem-ref-name = 'xran_cp_radioapp_section_ext5::csf2'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__cp_8h_1a345b2bf8205e92f1aa2f73109c4e99c5'; + func-mem-ref-line = '322'; + func-mem-ref-name = 'xran_cp_radioapp_section_ext5::mcScaleReMask2'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a7c4e67772e2e32e2f63f636730bf6eea'; + func-mem-ref-line = '258'; + func-mem-ref-name = 'xran_sectionext5_info::num_sets'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__cp__api_8c_1a9d4ed2d1226eb004597b69dfd86c7c93'; + func-mem-ref-line = '1668'; + func-mem-ref-name = 'xran_parse_section_extension'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__cp__api_8c_1a9d4ed2d1226eb004597b69dfd86c7c93'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_parse_section_extension'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mbuf * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'mbuf'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'ext'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_section_gen_info * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'section'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_cp_api.c'; + func-mem-desc-line = '1668'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1acb5cfd209ba75c853d03f701e7f91679'; + func-mem-ref-line = '301'; + func-mem-ref-name = 'xran_section_gen_info::type'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1aa8ad3a412a8007bef79fb6ff224fc977a32fbc3ce682df2f044ceb33dcc1c3e77'; + func-mem-ref-line = '149'; + func-mem-ref-name = 'XRAN_CP_SECTIONEXTCMD_1'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a735984d41155bc1032e09bece8f8d66d'; + func-mem-ref-line = '303'; + func-mem-ref-name = 'xran_section_gen_info::data'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1ac1c64088df7167c5a46bf9a5bb746534'; + func-mem-ref-line = '305'; + func-mem-ref-name = 'xran_section_gen_info::m_ext1'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8c_1aaa0c6012a36b539f8880c45ac909c331'; + func-mem-ref-line = '1416'; + func-mem-ref-name = 'xran_parse_section_ext1'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a8aed22e2c7b283705ec82e0120515618'; + func-mem-ref-line = '302'; + func-mem-ref-name = 'xran_section_gen_info::len'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1aa8ad3a412a8007bef79fb6ff224fc977aa51e4f2fde3e58c4cf60033529779e54'; + func-mem-ref-line = '150'; + func-mem-ref-name = 'XRAN_CP_SECTIONEXTCMD_2'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a9da3976c12b7433a90917228f7069381'; + func-mem-ref-line = '306'; + func-mem-ref-name = 'xran_section_gen_info::m_ext2'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8c_1af3d96c5ccff84bf6a444f260f58a49f2'; + func-mem-ref-line = '1497'; + func-mem-ref-name = 'xran_parse_section_ext2'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1aa8ad3a412a8007bef79fb6ff224fc977a0837b73911763ea972db60ead94d7c15'; + func-mem-ref-line = '152'; + func-mem-ref-name = 'XRAN_CP_SECTIONEXTCMD_4'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1adaf7350928e8b26da41ded39ba7295e5'; + func-mem-ref-line = '308'; + func-mem-ref-name = 'xran_section_gen_info::m_ext4'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8c_1ad4a3ae88412a933d953fc0f8ae9bb352'; + func-mem-ref-line = '1579'; + func-mem-ref-name = 'xran_parse_section_ext4'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1aa8ad3a412a8007bef79fb6ff224fc977aaea21d0be8d5ee905837f26a28c316a9'; + func-mem-ref-line = '153'; + func-mem-ref-name = 'XRAN_CP_SECTIONEXTCMD_5'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a6948d126d229683da976877b617fbd8e'; + func-mem-ref-line = '309'; + func-mem-ref-name = 'xran_section_gen_info::m_ext5'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8c_1af03e99a3b1e9498ca15458e0440c12a1'; + func-mem-ref-line = '1606'; + func-mem-ref-name = 'xran_parse_section_ext5'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1aa8ad3a412a8007bef79fb6ff224fc977ade744d9dc1b89a8e912564d6cd0e0ea5'; + func-mem-ref-line = '148'; + func-mem-ref-name = 'XRAN_CP_SECTIONEXTCMD_0'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1aa8ad3a412a8007bef79fb6ff224fc977a63cd3bfd8691b1633bacfd3cf9d9546d'; + func-mem-ref-line = '151'; + func-mem-ref-name = 'XRAN_CP_SECTIONEXTCMD_3'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__printf_8h_1a16c2c0a30b31515830a4a8eff6cf10b5'; + func-mem-ref-line = '62'; + func-mem-ref-name = 'print_err'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a68331320b5c982a49c45ae15be297dc1'; + func-mem-ref-line = '42'; + func-mem-ref-name = 'XRAN_MAX_NUM_EXTENSIONS'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1aa561d89cbc570e39183c64a5095a6053'; + func-mem-ref-line = '298'; + func-mem-ref-name = 'xran_section_gen_info::exDataSize'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__cp__api_8c_1a38c83cd67a7265920f3bd0b36510f713'; + func-mem-ref-line = '1749'; + func-mem-ref-name = 'xran_parse_cp_pkt'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__cp__api_8c_1a38c83cd67a7265920f3bd0b36510f713'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_parse_cp_pkt'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mbuf * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'mbuf'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_cp_gen_params * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'result'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_recv_packet_info * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pkt_info'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_cp_api.c'; + func-mem-desc-line = '1749'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Parse a C-Plane packet (for RU emulation) + Transport layer fragmentation is not supported. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@param mbuf + The pointer of the packet buffer to be parsed +@param params + The pointer of structure to store the information of parsed packet +@param eaxc + The pointer of sturcture to store the decomposed information of ecpriRtcid/ecpriPcid +@return + XRAN_STATUS_SUCCESS on success + XRAN_STATUS_INVALID_PACKET if failed to parse the packet +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__transport_8c_1ad199c3f4bfa018f5d0846471206217d1'; + func-mem-ref-line = '192'; + func-mem-ref-name = 'xran_parse_ecpri_hdr'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a6602a966370956b35631e68698539cac'; + func-mem-ref-line = '92'; + func-mem-ref-name = 'XRAN_STATUS_INVALID_PACKET'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__printf_8h_1a16c2c0a30b31515830a4a8eff6cf10b5'; + func-mem-ref-line = '62'; + func-mem-ref-name = 'print_err'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1a29711c2ced54314eda6c2d0b869a0e63'; + func-mem-ref-line = '62'; + func-mem-ref-name = 'XRAN_PAYLOAD_VER'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a92abda0bec7c1c978fe96f87aad18067'; + func-mem-ref-line = '316'; + func-mem-ref-name = 'xran_cp_gen_params::dir'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a6c787affb1020c2b8058a3ddeff3fe52'; + func-mem-ref-line = '320'; + func-mem-ref-name = 'xran_cp_gen_params::hdr'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1ad5150de5e1c141cfe288f260afb00830'; + func-mem-ref-line = '277'; + func-mem-ref-name = 'xran_cp_header_params::filterIdx'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a048f7f66787565b266517ddaa551d98e'; + func-mem-ref-line = '278'; + func-mem-ref-name = 'xran_cp_header_params::frameId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a45cd2998ed056e5139a76bf36053ed14'; + func-mem-ref-line = '279'; + func-mem-ref-name = 'xran_cp_header_params::subframeId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a0eb3f725109bb1afb9094b025af26678'; + func-mem-ref-line = '280'; + func-mem-ref-name = 'xran_cp_header_params::slotId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1ac54814779041bec5dcf8aec288d69b06'; + func-mem-ref-line = '281'; + func-mem-ref-name = 'xran_cp_header_params::startSymId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1ae273caa235b1c6085de4ad13886f82c9'; + func-mem-ref-line = '317'; + func-mem-ref-name = 'xran_cp_gen_params::sectionType'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a52bddd404e766ddb6f2b9eabe15ea5b1'; + func-mem-ref-line = '318'; + func-mem-ref-name = 'xran_cp_gen_params::numSections'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__transport_8h_1abfeae9f0b773fefda3b80b9ca41d3ff6'; + func-mem-ref-line = '50'; + func-mem-ref-name = 'xran_recv_packet_info::payload_len'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__transport_8h_1acd06407a6718be7fc0ed0b9bf6b9e4c3'; + func-mem-ref-line = '51'; + func-mem-ref-name = 'xran_recv_packet_info::eaxc'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__transport_8h_1a6c426a9de5864167cd297299f82535ca'; + func-mem-ref-line = '41'; + func-mem-ref-name = 'xran_eaxc_info::cuPortId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__transport_8h_1a7d93f32b8b4f771bd3ccf0b917cbec8b'; + func-mem-ref-line = '42'; + func-mem-ref-name = 'xran_eaxc_info::bandSectorId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__transport_8h_1a9264d54f92ac22a760270816417a692b'; + func-mem-ref-line = '43'; + func-mem-ref-name = 'xran_eaxc_info::ccId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__transport_8h_1afb85286a39539b98fa09e33ccfa6226b'; + func-mem-ref-line = '44'; + func-mem-ref-name = 'xran_eaxc_info::ruPortId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__transport_8h_1ad03f3906ca027603299130f471bbdfe3'; + func-mem-ref-line = '52'; + func-mem-ref-name = 'xran_recv_packet_info::seq_id'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__transport_8h_1a860ee826897d09d78f35d2b15085efac'; + func-mem-ref-line = '53'; + func-mem-ref-name = 'xran_recv_packet_info::subseq_id'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__transport_8h_1afc198efda3f50db2a5cae3c738528dd9'; + func-mem-ref-line = '54'; + func-mem-ref-name = 'xran_recv_packet_info::ebit'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a6e8f1d76afde95b2d85b1fd99aaa1610a0afad447e78f05813dd3ec3e378c7edd'; + func-mem-ref-line = '55'; + func-mem-ref-name = 'XRAN_CP_SECTIONTYPE_0'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__cp_8h_1a3675a820a4aec2a8724471cb7f840f16'; + func-mem-ref-line = '214'; + func-mem-ref-name = 'hdr'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a59e7e8f3feb686850b0cb0ae065de85b'; + func-mem-ref-line = '284'; + func-mem-ref-name = 'xran_cp_header_params::fftSize'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__cp_8h_1aa68c277a66312b4b90819cccc055bdb7'; + func-mem-ref-line = '339'; + func-mem-ref-name = 'xran_cp_radioapp_section0_header::timeOffset'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1ae470e3869d1cbf07cd5f78ab6709b9e1'; + func-mem-ref-line = '285'; + func-mem-ref-name = 'xran_cp_header_params::scs'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__cp_8h_1addd131fba195042d2b0b7de7c5183b6a'; + func-mem-ref-line = '341'; + func-mem-ref-name = 'xran_cp_radioapp_section0_header::frameStructure'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__cp_8h_1a59e7e8f3feb686850b0cb0ae065de85b'; + func-mem-ref-line = '81'; + func-mem-ref-name = 'xran_cp_radioapp_frameStructure::fftSize'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1aa68c277a66312b4b90819cccc055bdb7'; + func-mem-ref-line = '289'; + func-mem-ref-name = 'xran_cp_header_params::timeOffset'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__cp_8h_1aa4ed885cdd3c67f4df8c1f6b20cc031c'; + func-mem-ref-line = '80'; + func-mem-ref-name = 'xran_cp_radioapp_frameStructure::uScs'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1af57c31d64bbdb0d65fd36c9f38951328'; + func-mem-ref-line = '290'; + func-mem-ref-name = 'xran_cp_header_params::cpLength'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__cp_8h_1af57c31d64bbdb0d65fd36c9f38951328'; + func-mem-ref-line = '342'; + func-mem-ref-name = 'xran_cp_radioapp_section0_header::cpLength'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a5921f2439294279b8111fed577c5c37a'; + func-mem-ref-line = '322'; + func-mem-ref-name = 'xran_cp_gen_params::sections'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a6ccd48a36736101737e9b419d7a3cc85'; + func-mem-ref-line = '296'; + func-mem-ref-name = 'xran_section_gen_info::info'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a1d127017fb298b889f4ba24752d08b8e'; + func-mem-ref-line = '185'; + func-mem-ref-name = 'xran_section_info::type'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a4fc3a0c58dfbd1e68224521185cb9384'; + func-mem-ref-line = '191'; + func-mem-ref-name = 'xran_section_info::id'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1affa3adbd50cd4af2018ba1fc0e8c3e31'; + func-mem-ref-line = '195'; + func-mem-ref-name = 'xran_section_info::rb'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a52f6623d45fec4bf9c14898f7e53db34'; + func-mem-ref-line = '190'; + func-mem-ref-name = 'xran_section_info::symInc'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a6b13285aabf8f2f4598143b2670204c1'; + func-mem-ref-line = '193'; + func-mem-ref-name = 'xran_section_info::startPrbc'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a2b72ddddeff4e4a8a5c191695ec41079'; + func-mem-ref-line = '194'; + func-mem-ref-name = 'xran_section_info::numPrbc'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a664cb6ca464c69ef60a445fa4f4b3522'; + func-mem-ref-line = '189'; + func-mem-ref-name = 'xran_section_info::numSymbol'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1ab8acca18b930cde25e1cf85ae86c964c'; + func-mem-ref-line = '192'; + func-mem-ref-name = 'xran_section_info::reMask'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a6e8f1d76afde95b2d85b1fd99aaa1610a1f3289201658ac2a09203c4fb974b1e7'; + func-mem-ref-line = '56'; + func-mem-ref-name = 'XRAN_CP_SECTIONTYPE_1'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a1520b1ef6131bff6c14b88d849c266c5'; + func-mem-ref-line = '286'; + func-mem-ref-name = 'xran_cp_header_params::iqWidth'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__cp_8h_1a2c555c4732301a1ffa8b9957fbe51a76'; + func-mem-ref-line = '365'; + func-mem-ref-name = 'xran_cp_radioapp_section1_header::udComp'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__cp_8h_1aa1f422e7156fc4b759197bd687beffba'; + func-mem-ref-line = '48'; + func-mem-ref-name = 'xran_radioapp_udComp_header::udIqWidth'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a1e4a3c43fc7865c6520471fb9ba8501f'; + func-mem-ref-line = '287'; + func-mem-ref-name = 'xran_cp_header_params::compMeth'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__cp_8h_1a9c71fd134ce52f71b21a0a9bef99163a'; + func-mem-ref-line = '47'; + func-mem-ref-name = 'xran_radioapp_udComp_header::udCompMeth'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1ac7deef3ca4b0fc12769165dbf9374569'; + func-mem-ref-line = '200'; + func-mem-ref-name = 'xran_section_info::beamId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1afe3859cd334ad3f912622c58d5b2079e'; + func-mem-ref-line = '198'; + func-mem-ref-name = 'xran_section_info::ef'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8c_1a9d4ed2d1226eb004597b69dfd86c7c93'; + func-mem-ref-line = '1668'; + func-mem-ref-name = 'xran_parse_section_extension'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a6e8f1d76afde95b2d85b1fd99aaa1610a80bcc2d7d7aff5e850d26892e703c637'; + func-mem-ref-line = '57'; + func-mem-ref-name = 'XRAN_CP_SECTIONTYPE_3'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__cp_8h_1aa68c277a66312b4b90819cccc055bdb7'; + func-mem-ref-line = '390'; + func-mem-ref-name = 'xran_cp_radioapp_section3_header::timeOffset'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__cp_8h_1addd131fba195042d2b0b7de7c5183b6a'; + func-mem-ref-line = '392'; + func-mem-ref-name = 'xran_cp_radioapp_section3_header::frameStructure'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__cp_8h_1af57c31d64bbdb0d65fd36c9f38951328'; + func-mem-ref-line = '393'; + func-mem-ref-name = 'xran_cp_radioapp_section3_header::cpLength'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__cp_8h_1a2c555c4732301a1ffa8b9957fbe51a76'; + func-mem-ref-line = '394'; + func-mem-ref-name = 'xran_cp_radioapp_section3_header::udComp'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a3af58496c14a1c91c015aa6ffe7dca49'; + func-mem-ref-line = '199'; + func-mem-ref-name = 'xran_section_info::freqOffset'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a6e8f1d76afde95b2d85b1fd99aaa1610aef4c60356367eca22835d6905367c532'; + func-mem-ref-line = '58'; + func-mem-ref-name = 'XRAN_CP_SECTIONTYPE_5'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a6e8f1d76afde95b2d85b1fd99aaa1610ae6f2c09491abd9b5ddf176281f5fc901'; + func-mem-ref-line = '59'; + func-mem-ref-name = 'XRAN_CP_SECTIONTYPE_6'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a6e8f1d76afde95b2d85b1fd99aaa1610a99cb6565a1f64c92f624b3e036d810bb'; + func-mem-ref-line = '60'; + func-mem-ref-name = 'XRAN_CP_SECTIONTYPE_7'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1aad8a35383b986f4ca80437468b6c625f'; + func-mem-ref-line = '75'; + func-mem-ref-name = 'XRAN_STATUS_INVALID_PARAM'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1aa561d89cbc570e39183c64a5095a6053'; + func-mem-ref-line = '298'; + func-mem-ref-name = 'xran_section_gen_info::exDataSize'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1acb5cfd209ba75c853d03f701e7f91679'; + func-mem-ref-line = '301'; + func-mem-ref-name = 'xran_section_gen_info::type'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a8aed22e2c7b283705ec82e0120515618'; + func-mem-ref-line = '302'; + func-mem-ref-name = 'xran_section_gen_info::len'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1aa8ad3a412a8007bef79fb6ff224fc977a32fbc3ce682df2f044ceb33dcc1c3e77'; + func-mem-ref-line = '149'; + func-mem-ref-name = 'XRAN_CP_SECTIONEXTCMD_1'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a735984d41155bc1032e09bece8f8d66d'; + func-mem-ref-line = '303'; + func-mem-ref-name = 'xran_section_gen_info::data'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1ab09d1df0b229edfd34c41706fcfa73e7'; + func-mem-ref-line = '211'; + func-mem-ref-name = 'xran_sectionext1_info::bfwNumber'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a3de53935627d11e11003c38bd6dca548'; + func-mem-ref-line = '212'; + func-mem-ref-name = 'xran_sectionext1_info::bfwiqWidth'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a489f0b868b86e577a5e515dc40987ba5'; + func-mem-ref-line = '213'; + func-mem-ref-name = 'xran_sectionext1_info::bfwCompMeth'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1aa8ad3a412a8007bef79fb6ff224fc977aa51e4f2fde3e58c4cf60033529779e54'; + func-mem-ref-line = '150'; + func-mem-ref-name = 'XRAN_CP_SECTIONEXTCMD_2'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1aed0ddbdef5f3287fe38c115bf0f6b361'; + func-mem-ref-line = '226'; + func-mem-ref-name = 'xran_sectionext2_info::bfAzPt'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a2d14a28b7dc7cc4d18dae8c579a15d00'; + func-mem-ref-line = '225'; + func-mem-ref-name = 'xran_sectionext2_info::bfAzPtWidth'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a8d5cbe6476d0e8b325cd4e1bad03a6d3'; + func-mem-ref-line = '228'; + func-mem-ref-name = 'xran_sectionext2_info::bfZePt'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a0562069083918b7760597eaca4f0dceb'; + func-mem-ref-line = '227'; + func-mem-ref-name = 'xran_sectionext2_info::bfZePtWidth'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1adc26301dfc01bf86c8dc53bdef1ac5c3'; + func-mem-ref-line = '230'; + func-mem-ref-name = 'xran_sectionext2_info::bfAz3dd'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1af6d308ae11840b67c4e3234a78ca1591'; + func-mem-ref-line = '229'; + func-mem-ref-name = 'xran_sectionext2_info::bfAz3ddWidth'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a62a0cfe73c1305294d16fb9593a2a947'; + func-mem-ref-line = '232'; + func-mem-ref-name = 'xran_sectionext2_info::bfZe3dd'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a52ffc8175e7bde0adbc75c865c854df2'; + func-mem-ref-line = '231'; + func-mem-ref-name = 'xran_sectionext2_info::bfZe3ddWidth'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a455c1bba3cc6776c7c953f468da68d89'; + func-mem-ref-line = '234'; + func-mem-ref-name = 'xran_sectionext2_info::bfAzSI'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1ad7bfdcda7332da505aa1712b68452cd2'; + func-mem-ref-line = '235'; + func-mem-ref-name = 'xran_sectionext2_info::bfZeSI'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1aa8ad3a412a8007bef79fb6ff224fc977a0837b73911763ea972db60ead94d7c15'; + func-mem-ref-line = '152'; + func-mem-ref-name = 'XRAN_CP_SECTIONEXTCMD_4'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a9469507e787895ef8a3ec1b89df59954'; + func-mem-ref-line = '252'; + func-mem-ref-name = 'xran_sectionext4_info::csf'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a1c0e94567471aac214963f9600d0a4b1'; + func-mem-ref-line = '254'; + func-mem-ref-name = 'xran_sectionext4_info::modCompScaler'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1aa8ad3a412a8007bef79fb6ff224fc977aaea21d0be8d5ee905837f26a28c316a9'; + func-mem-ref-line = '153'; + func-mem-ref-name = 'XRAN_CP_SECTIONEXTCMD_5'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a7c4e67772e2e32e2f63f636730bf6eea'; + func-mem-ref-line = '258'; + func-mem-ref-name = 'xran_sectionext5_info::num_sets'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1aff3ff8bd662f3deba04c54adcbbd2826'; + func-mem-ref-line = '260'; + func-mem-ref-name = 'xran_sectionext5_info::csf'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1aabd93f3473c2432cf02d285e460907da'; + func-mem-ref-line = '261'; + func-mem-ref-name = 'xran_sectionext5_info::mcScaleReMask'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a0d53f590f6c03b8aadb7421ea75a0efa'; + func-mem-ref-line = '262'; + func-mem-ref-name = 'xran_sectionext5_info::mcScaleOffset'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1aa8ad3a412a8007bef79fb6ff224fc977ade744d9dc1b89a8e912564d6cd0e0ea5'; + func-mem-ref-line = '148'; + func-mem-ref-name = 'XRAN_CP_SECTIONEXTCMD_0'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1aa8ad3a412a8007bef79fb6ff224fc977a63cd3bfd8691b1633bacfd3cf9d9546d'; + func-mem-ref-line = '151'; + func-mem-ref-name = 'XRAN_CP_SECTIONEXTCMD_3'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'c__plane__tests_8cc_1a11a0b914a08e5375cae792dc6db08c7a'; + func-mem-ref-line = '566'; + func-mem-ref-name = 'TEST_P'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'chain__tests_8cc_1aa17765d107c851ebcc3d202cef78aa75'; + func-mem-ref-line = '92'; + func-mem-ref-name = 'send_mbuf_cp_perf'; + }; + }; /* func-member */ + }; + var = { + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__cp__api_8c_1a2ca2e11bcf44488ac29a25881880237b'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +static struct xran_sectioninfo_db +_EnD_oF_dEf_TeXt_; + var-mem-name = 'sectiondb'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_cp_api.c'; + var-mem-desc-line = '834'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__cp__api_8c_1a662b3c0ddb39ded79d56724ebf15fab9'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +static const uint8_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'zeropad'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += { 0, 0, 0, 0 } +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_cp_api.c'; + var-mem-desc-line = '48'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__cp__api_8c_1a58882d5ec145878bed73feb68878fc5d'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +static const uint8_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'bitmask'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += { 0x00, 0x03, 0x07, 0x0f, 0x1f, 0x3f, 0x7f, 0xff } +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_cp_api.c'; + var-mem-desc-line = '49'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + }; + file-full-name = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_cp_api.c'; + file-first-line = '1'; + file-briefdesc = <<_EnD_oF_dEf_TeXt_ +This file provides the API functions to build Control Plane Messages + for XRAN Front Haul layer as defined in XRAN-FH.CUS.0-v02.01. +_EnD_oF_dEf_TeXt_; + file-documentation = <<_EnD_oF_dEf_TeXt_ +@author Intel Corporation +_EnD_oF_dEf_TeXt_; +}; /* file */ +file = { + file-id = 'xran__cp__api_8h'; + file-name = 'xran_cp_api.h'; + define = { + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__cp__api_8h_1a93b65038922e8dd5f6d9cc499daf25aa'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XRAN_MAX_SECTIONDB_CTX'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +2 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + define-mem-desc-line = '40'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__cp__api_8h_1a68331320b5c982a49c45ae15be297dc1'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XRAN_MAX_NUM_EXTENSIONS'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +XRAN_MAX_PRBS /* Maximum number of extensions in a section [up to 1 ext section per RB]*/ +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + define-mem-desc-line = '42'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__cp__api_8h_1a43a11acc24aac973f8f6353dee4a532e'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XRAN_MAX_NUM_UE'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +16 /* Maximum number of UEs/Lyaers */ +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + define-mem-desc-line = '43'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__cp__api_8h_1a3dc5e48b847e25677f9b5b36c547f840'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XRAN_MAX_NUM_ANT_BF'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +64 /* Maximum number of beamforming antenna, + * could be defined as XRAN_MAX_ANTENNA_NR */ +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + define-mem-desc-line = '45'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__cp__api_8h_1acf59e7a9af32c6c8c8dd3d7b1e6ee0ca'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XRAN_MAX_BFW_N'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +(XRAN_MAX_NUM_ANT_BF*XRAN_MAX_NUM_UE) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + define-mem-desc-line = '47'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__cp__api_8h_1a8f86cfef3ff1270fe0b6d93259c3a0dc'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XRAN_MAX_MODCOMP_ADDPARMS'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +6 /* max should be even number */ +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + define-mem-desc-line = '48'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__cp__api_8h_1a63f308af419e410c6e3996a79d2c9897'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XRAN_SECTIONEXT_ALIGN'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +4 /* alignment size in byte for section extension */ +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + define-mem-desc-line = '50'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__cp__api_8h_1a7db7a997624aa3f2bb6c24afce785d8f'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XRAN_SLOTID_MAX'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +16 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + define-mem-desc-line = '75'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Maximum Slot Index, defined in 5.4.4.6 +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__cp__api_8h_1ab857f37965e53c6fba1f143b4071eb2c'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XRAN_CONVERT_NUMPRBC'; + define-mem-param = { + define-mem-def-name = 'x'; + }; /* define-mem-def--param */ + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +((x) > 255 ? 0 : (x)) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + define-mem-desc-line = '118'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Macro to convert the number of PRBs as defined in 5.4.5.6 +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__cp__api_8h_1a87f4d003bb899541f97db308e63e886a'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XRAN_CONVERT_IQWIDTH'; + define-mem-param = { + define-mem-def-name = 'x'; + }; /* define-mem-def--param */ + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +((x) > 15 ? 0 : (x)) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + define-mem-desc-line = '120'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__cp__api_8h_1abf98f6e7977eb11f3030825ccd7d055b'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XRAN_SYMBOLNUMBER_MIN'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +1 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + define-mem-desc-line = '123'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Minimum number of symbols, defined in 5.4.5.7 +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__cp__api_8h_1a1d78ee29f7a9b4f518b184f039830372'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XRAN_SYMBOLNUMBER_MAX'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +14 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + define-mem-desc-line = '125'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Maximum number of symbols, defined in 5.4.5.7 +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__cp__api_8h_1a0a08b5da6846d688ab27d4a0eab98144'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XRAN_LAAMSGTYPE_LBT_PDSCH_REQ'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +0 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + define-mem-desc-line = '128'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__cp__api_8h_1a1d6c0f2b27eb754cb7f298814d5e2650'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XRAN_LAAMSGTYPE_LBT_DRS_REQ'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +1 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + define-mem-desc-line = '129'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__cp__api_8h_1a04cde8ffac02a24a7c46d799cc04c34f'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XRAN_LAAMSGTYPE_LBT_PDSCH_RSP'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +2 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + define-mem-desc-line = '130'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__cp__api_8h_1ad3daa5416e356598608e375352b48d32'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XRAN_LAAMSGTYPE_LBT_DRS_RSP'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +3 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + define-mem-desc-line = '131'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__cp__api_8h_1a6e272bac1a1872415b6fbbc45517f8a3'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XRAN_LAAMSGTYPE_LBT_BUFFER_ERROR'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +4 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + define-mem-desc-line = '132'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__cp__api_8h_1a4c0abe755475d81dd73d4af65e512b0b'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XRAN_LAAMSGTYPE_LBT_CWCONFIG_REQ'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +5 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + define-mem-desc-line = '133'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__cp__api_8h_1a07da3eb003ffb682ad3b0d26480930bb'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XRAN_LAAMSGTYPE_LBT_CWCONFIG_RSP'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +6 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + define-mem-desc-line = '134'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__cp__api_8h_1aa5c353bbfda234547d82b2523e7175d1'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XRAN_LBTMODE_FULL'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +0 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + define-mem-desc-line = '136'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__cp__api_8h_1ad33101f746e84d0cafb702f0eac5d06f'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XRAN_LBTMODE_PARTIAL25'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +1 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + define-mem-desc-line = '137'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__cp__api_8h_1a65c843c2f2aed43d8d42f226847929b3'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XRAN_LBTMODE_PARTIAL34'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +2 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + define-mem-desc-line = '138'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__cp__api_8h_1a66d322a9ad89e5cc923a2894071b0130'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XRAN_LBTMODE_FULLSTOP'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +3 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + define-mem-desc-line = '139'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__cp__api_8h_1a81b257717e74882b591daf7fd958c012'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XRAN_EF_F_LAST'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +0 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + define-mem-desc-line = '141'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__cp__api_8h_1a2093a855b81dcfff46d379b2c7a700f6'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XRAN_EF_F_ANOTHER_ONE'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +1 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + define-mem-desc-line = '142'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__cp__api_8h_1abc1efb8cd57478741ed448abe5657af1'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XRAN_CONVERT_BFWIQWIDTH'; + define-mem-param = { + define-mem-def-name = 'x'; + }; /* define-mem-def--param */ + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +((x) > 15 ? 0 : (x)) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + define-mem-desc-line = '158'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Macro to convert bfwIqWidth defined in 5.4.7.1.1, Table 5-15 +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + }; + enum = { + enum-member = { + enum-mem-kind = 'enum'; + enum-mem-id = 'xran__cp__api_8h_1a6e8f1d76afde95b2d85b1fd99aaa1610'; + enum-mem-virt = normal; + enum-mem-prot = public; + enum-mem-name = 'xran_cp_sectiontype'; + enum-mem-enum = { enum-name = XRAN_CP_SECTIONTYPE_0; enum-value = '= 0'; }; + enum-mem-enum = { enum-name = XRAN_CP_SECTIONTYPE_1; enum-value = '= 1'; }; + enum-mem-enum = { enum-name = XRAN_CP_SECTIONTYPE_3; enum-value = '= 3'; }; + enum-mem-enum = { enum-name = XRAN_CP_SECTIONTYPE_5; enum-value = '= 5'; }; + enum-mem-enum = { enum-name = XRAN_CP_SECTIONTYPE_6; enum-value = '= 6'; }; + enum-mem-enum = { enum-name = XRAN_CP_SECTIONTYPE_7; enum-value = '= 7'; }; + enum-mem-enum = { enum-name = XRAN_CP_SECTIONTYPE_MAX; }; + enum-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + enum-mem-desc-line = '54'; + enum-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + enum-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Control Plane section types, defined in 5.4 Table 5.1 +_EnD_oF_dEf_TeXt_; + }; /* enum-member */ + enum-member = { + enum-mem-kind = 'enum'; + enum-mem-id = 'xran__cp__api_8h_1ae51812e2dae7d8776b443f818f277d5b'; + enum-mem-virt = normal; + enum-mem-prot = public; + enum-mem-name = 'xran_cp_filterindex'; + enum-mem-enum = { enum-name = XRAN_FILTERINDEX_STANDARD; enum-value = '= 0'; }; + enum-mem-enum = { enum-name = XRAN_FILTERINDEX_PRACH_012; enum-value = '= 1'; }; + enum-mem-enum = { enum-name = XRAN_FILTERINDEX_PRACH_3; enum-value = '= 2'; }; + enum-mem-enum = { enum-name = XRAN_FILTERINDEX_PRACH_ABC; enum-value = '= 3'; }; + enum-mem-enum = { enum-name = XRAN_FILTERINDEX_NPRACH; enum-value = '= 4'; }; + enum-mem-enum = { enum-name = XRAN_FILTERINDEX_MAX; }; + enum-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + enum-mem-desc-line = '65'; + enum-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + enum-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Filter index, defined in 5.4.4.3 +_EnD_oF_dEf_TeXt_; + }; /* enum-member */ + enum-member = { + enum-mem-kind = 'enum'; + enum-mem-id = 'xran__cp__api_8h_1a36acab66b2e66a57a07491b9bcf042aa'; + enum-mem-virt = normal; + enum-mem-prot = public; + enum-mem-name = 'xran_cp_fftsize'; + enum-mem-enum = { enum-name = XRAN_FFTSIZE_128; enum-value = '= 7'; }; + enum-mem-enum = { enum-name = XRAN_FFTSIZE_256; enum-value = '= 8'; }; + enum-mem-enum = { enum-name = XRAN_FFTSIZE_512; enum-value = '= 9'; }; + enum-mem-enum = { enum-name = XRAN_FFTSIZE_1024; enum-value = '= 10'; }; + enum-mem-enum = { enum-name = XRAN_FFTSIZE_2048; enum-value = '= 11'; }; + enum-mem-enum = { enum-name = XRAN_FFTSIZE_4096; enum-value = '= 12'; }; + enum-mem-enum = { enum-name = XRAN_FFTSIZE_1536; enum-value = '= 13'; }; + enum-mem-enum = { enum-name = XRAN_FFTSIZE_MAX; }; + enum-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + enum-mem-desc-line = '78'; + enum-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + enum-mem-documentation = <<_EnD_oF_dEf_TeXt_ +FFT size in frame structure, defined in 5.4.4.13 Table 5.9 +_EnD_oF_dEf_TeXt_; + }; /* enum-member */ + enum-member = { + enum-mem-kind = 'enum'; + enum-mem-id = 'xran__cp__api_8h_1ab5fcc18cec14a3550b834bdf8f2d5797'; + enum-mem-virt = normal; + enum-mem-prot = public; + enum-mem-name = 'xran_cp_subcarrierspacing'; + enum-mem-enum = { enum-name = XRAN_SCS_15KHZ; enum-value = '= 0'; }; + enum-mem-enum = { enum-name = XRAN_SCS_30KHZ; enum-value = '= 1'; }; + enum-mem-enum = { enum-name = XRAN_SCS_60KHZ; enum-value = '= 2'; }; + enum-mem-enum = { enum-name = XRAN_SCS_120KHZ; enum-value = '= 3'; }; + enum-mem-enum = { enum-name = XRAN_SCS_240KHZ; enum-value = '= 4'; }; + enum-mem-enum = { enum-name = XRAN_SCS_1P25KHZ; enum-value = '= 12'; }; + enum-mem-enum = { enum-name = XRAN_SCS_3P75KHZ; enum-value = '= 13'; }; + enum-mem-enum = { enum-name = XRAN_SCS_5KHZ; enum-value = '= 14'; }; + enum-mem-enum = { enum-name = XRAN_SCS_7P5KHZ; enum-value = '= 15'; }; + enum-mem-enum = { enum-name = XRAN_SCS_MAX; }; + enum-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + enum-mem-desc-line = '90'; + enum-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + enum-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Sub-carrier spacing, defined in 5.4.4.13 Table 5.10 +_EnD_oF_dEf_TeXt_; + }; /* enum-member */ + enum-member = { + enum-mem-kind = 'enum'; + enum-mem-id = 'xran__cp__api_8h_1a1087eb8c21d4b4e104b12a056ff65553'; + enum-mem-virt = normal; + enum-mem-prot = public; + enum-mem-name = 'xran_cp_rbindicator'; + enum-mem-enum = { enum-name = XRAN_RBIND_EVERY; enum-value = '= 0'; }; + enum-mem-enum = { enum-name = XRAN_RBIND_EVERYOTHER; enum-value = '= 1'; }; + enum-mem-enum = { enum-name = XRAN_RBIND_MAX; }; + enum-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + enum-mem-desc-line = '104'; + enum-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + enum-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Resource block indicator, defined in 5.4.5.2 +_EnD_oF_dEf_TeXt_; + }; /* enum-member */ + enum-member = { + enum-mem-kind = 'enum'; + enum-mem-id = 'xran__cp__api_8h_1a056d791208720148306b686856cd36b0'; + enum-mem-virt = normal; + enum-mem-prot = public; + enum-mem-name = 'xran_cp_symbolnuminc'; + enum-mem-enum = { enum-name = XRAN_SYMBOLNUMBER_NOTINC; enum-value = '= 0'; }; + enum-mem-enum = { enum-name = XRAN_SYMBOLNUMBER_INC; enum-value = '= 1'; }; + enum-mem-enum = { enum-name = XRAN_SYMBOLNUMBER_INC_MAX; }; + enum-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + enum-mem-desc-line = '111'; + enum-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + enum-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Symbol number increment command, defined in 5.4.5.3 +_EnD_oF_dEf_TeXt_; + }; /* enum-member */ + enum-member = { + enum-mem-kind = 'enum'; + enum-mem-id = 'xran__cp__api_8h_1aa8ad3a412a8007bef79fb6ff224fc977'; + enum-mem-virt = normal; + enum-mem-prot = public; + enum-mem-name = 'xran_cp_sectionextcmd'; + enum-mem-enum = { enum-name = XRAN_CP_SECTIONEXTCMD_0; enum-value = '= 0'; }; + enum-mem-enum = { enum-name = XRAN_CP_SECTIONEXTCMD_1; enum-value = '= 1'; }; + enum-mem-enum = { enum-name = XRAN_CP_SECTIONEXTCMD_2; enum-value = '= 2'; }; + enum-mem-enum = { enum-name = XRAN_CP_SECTIONEXTCMD_3; enum-value = '= 3'; }; + enum-mem-enum = { enum-name = XRAN_CP_SECTIONEXTCMD_4; enum-value = '= 4'; }; + enum-mem-enum = { enum-name = XRAN_CP_SECTIONEXTCMD_5; enum-value = '= 5'; }; + enum-mem-enum = { enum-name = XRAN_CP_SECTIONEXTCMD_MAX; }; + enum-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + enum-mem-desc-line = '147'; + enum-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + enum-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Control Plane section extension commands, defined in 5.4.6 Table 5.13 +_EnD_oF_dEf_TeXt_; + }; /* enum-member */ + enum-member = { + enum-mem-kind = 'enum'; + enum-mem-id = 'xran__cp__api_8h_1a241943465db5d59b297c1401b4579687'; + enum-mem-virt = normal; + enum-mem-prot = public; + enum-mem-name = 'xran_cp_bfw_compression_method'; + enum-mem-enum = { enum-name = XRAN_BFWCOMPMETHOD_NONE; enum-value = '= 0'; }; + enum-mem-enum = { enum-name = XRAN_BFWCOMPMETHOD_BLKFLOAT; enum-value = '= 1'; }; + enum-mem-enum = { enum-name = XRAN_BFWCOMPMETHOD_BLKSCALE; enum-value = '= 2'; }; + enum-mem-enum = { enum-name = XRAN_BFWCOMPMETHOD_ULAW; enum-value = '= 3'; }; + enum-mem-enum = { enum-name = XRAN_BFWCOMPMETHOD_BEAMSPACE; enum-value = '= 4'; }; + enum-mem-enum = { enum-name = XRAN_BFWCOMPMETHOD_MAX; }; + enum-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + enum-mem-desc-line = '161'; + enum-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + enum-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Beamforming Weights Compression Method 5.4.7.1.1, Table 5-16 +_EnD_oF_dEf_TeXt_; + }; /* enum-member */ + enum-member = { + enum-mem-kind = 'enum'; + enum-mem-id = 'xran__cp__api_8h_1af0c76f21d944cd4527170c37c652d388'; + enum-mem-virt = normal; + enum-mem-prot = public; + enum-mem-name = 'xran_cp_bfa_bitwidth'; + enum-mem-enum = { enum-name = XRAN_BFABITWIDTH_NO; enum-value = '= 0'; }; + enum-mem-enum = { enum-name = XRAN_BFABITWIDTH_2BIT; enum-value = '= 1'; }; + enum-mem-enum = { enum-name = XRAN_BFABITWIDTH_3BIT; enum-value = '= 2'; }; + enum-mem-enum = { enum-name = XRAN_BFABITWIDTH_4BIT; enum-value = '= 3'; }; + enum-mem-enum = { enum-name = XRAN_BFABITWIDTH_5BIT; enum-value = '= 4'; }; + enum-mem-enum = { enum-name = XRAN_BFABITWIDTH_6BIT; enum-value = '= 5'; }; + enum-mem-enum = { enum-name = XRAN_BFABITWIDTH_7BIT; enum-value = '= 6'; }; + enum-mem-enum = { enum-name = XRAN_BFABITWIDTH_8BIT; enum-value = '= 7'; }; + enum-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + enum-mem-desc-line = '171'; + enum-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + enum-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Beamforming Attributes Bitwidth 5.4.7.2.1 +_EnD_oF_dEf_TeXt_; + }; /* enum-member */ + }; + func = { + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__cp__api_8h_1ab4bb8d75b8549c5b475d6ffe27e17286'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_get_cplength'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'cpLength'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + func-mem-desc-line = '348'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__cp__api_8h_1a4b7c2b7f89a0a04b07426e6adbecdb27'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_get_freqoffset'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'freqOffset'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'scs'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + func-mem-desc-line = '349'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1a00025c5bad7b7b6eea4374226f8c54bb'; + func-mem-ref-line = '308'; + func-mem-ref-name = 'xran_init_prach'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__cp__api_8h_1af9eb550e92ea270af41b4b6bcda363db'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_prepare_ctrl_pkt'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mbuf * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'mbuf'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_cp_gen_params * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'params'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'CC_ID'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'Ant_ID'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'seq_id'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + func-mem-desc-line = '351'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Create a C-Plane packet + Transport layer fragmentation is not supported. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@param mbuf + A pointer to the packet buffer +@param params + A porinter to the information to generate a C-Plane packet +@param CC_ID + Component Carrier ID for this C-Plane message +@param Ant_ID + Antenna ID(RU Port ID) for this C-Plane message +@param seq_id + Sequence ID for this C-Plane message +@return + XRAN_STATUS_SUCCESS on success + XRAN_STATUS_RESOURCE if failed to allocate the space to packet buffer + XRAN_STATUS_INVALID_PARM if section type is invalid +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__transport_8c_1aa21387dfaba47c2046d4a05f50cfc768'; + func-mem-ref-line = '142'; + func-mem-ref-name = 'xran_build_ecpri_hdr'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8c_1a1261c107d1103c8bd1b3376db4aa7951'; + func-mem-ref-line = '1297'; + func-mem-ref-name = 'xran_append_radioapp_header'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__printf_8h_1a16c2c0a30b31515830a4a8eff6cf10b5'; + func-mem-ref-line = '62'; + func-mem-ref-name = 'print_err'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8c_1ad50ae862f0707dab5e7b8e6a774fd225'; + func-mem-ref-line = '1169'; + func-mem-ref-name = 'xran_append_control_section'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1aa90ff3ad961fe295cdffddc945999212'; + func-mem-ref-line = '132'; + func-mem-ref-name = 'xran_ecpri_hdr::cmnhdr'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1a61bf830b8866773b24cbca74ed3a4d6f'; + func-mem-ref-line = '119'; + func-mem-ref-name = 'xran_ecpri_cmn_hdr::ecpri_payl_size'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a814959a7b5ff6cd4474433f62312eee0'; + func-mem-ref-line = '54'; + func-mem-ref-name = 'XRAN_STATUS_SUCCESS'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'c__plane__tests_8cc_1ab22c1305386eabc256bc6d3492d50846'; + func-mem-ref-line = '40'; + func-mem-ref-name = 'xran_ut_prepare_cp'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'c__plane__tests_8cc_1a11a0b914a08e5375cae792dc6db08c7a'; + func-mem-ref-line = '566'; + func-mem-ref-name = 'TEST_P'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__common_8c_1aaa01e98d3b3439a332302aebe21459dd'; + func-mem-ref-line = '535'; + func-mem-ref-name = 'generate_cpmsg_dlul'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__common_8c_1ab8a6ed3cee8fa183142d0c23d0b4971d'; + func-mem-ref-line = '595'; + func-mem-ref-name = 'generate_cpmsg_prach'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__cp__api_8h_1a38c83cd67a7265920f3bd0b36510f713'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_parse_cp_pkt'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mbuf * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'mbuf'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_cp_gen_params * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'result'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_recv_packet_info * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pkt_info'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + func-mem-desc-line = '356'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Parse a C-Plane packet (for RU emulation) + Transport layer fragmentation is not supported. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@param mbuf + The pointer of the packet buffer to be parsed +@param params + The pointer of structure to store the information of parsed packet +@param eaxc + The pointer of sturcture to store the decomposed information of ecpriRtcid/ecpriPcid +@return + XRAN_STATUS_SUCCESS on success + XRAN_STATUS_INVALID_PACKET if failed to parse the packet +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__transport_8c_1ad199c3f4bfa018f5d0846471206217d1'; + func-mem-ref-line = '192'; + func-mem-ref-name = 'xran_parse_ecpri_hdr'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a6602a966370956b35631e68698539cac'; + func-mem-ref-line = '92'; + func-mem-ref-name = 'XRAN_STATUS_INVALID_PACKET'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__printf_8h_1a16c2c0a30b31515830a4a8eff6cf10b5'; + func-mem-ref-line = '62'; + func-mem-ref-name = 'print_err'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1a29711c2ced54314eda6c2d0b869a0e63'; + func-mem-ref-line = '62'; + func-mem-ref-name = 'XRAN_PAYLOAD_VER'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a92abda0bec7c1c978fe96f87aad18067'; + func-mem-ref-line = '316'; + func-mem-ref-name = 'xran_cp_gen_params::dir'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a6c787affb1020c2b8058a3ddeff3fe52'; + func-mem-ref-line = '320'; + func-mem-ref-name = 'xran_cp_gen_params::hdr'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1ad5150de5e1c141cfe288f260afb00830'; + func-mem-ref-line = '277'; + func-mem-ref-name = 'xran_cp_header_params::filterIdx'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a048f7f66787565b266517ddaa551d98e'; + func-mem-ref-line = '278'; + func-mem-ref-name = 'xran_cp_header_params::frameId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a45cd2998ed056e5139a76bf36053ed14'; + func-mem-ref-line = '279'; + func-mem-ref-name = 'xran_cp_header_params::subframeId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a0eb3f725109bb1afb9094b025af26678'; + func-mem-ref-line = '280'; + func-mem-ref-name = 'xran_cp_header_params::slotId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1ac54814779041bec5dcf8aec288d69b06'; + func-mem-ref-line = '281'; + func-mem-ref-name = 'xran_cp_header_params::startSymId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1ae273caa235b1c6085de4ad13886f82c9'; + func-mem-ref-line = '317'; + func-mem-ref-name = 'xran_cp_gen_params::sectionType'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a52bddd404e766ddb6f2b9eabe15ea5b1'; + func-mem-ref-line = '318'; + func-mem-ref-name = 'xran_cp_gen_params::numSections'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__transport_8h_1abfeae9f0b773fefda3b80b9ca41d3ff6'; + func-mem-ref-line = '50'; + func-mem-ref-name = 'xran_recv_packet_info::payload_len'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__transport_8h_1acd06407a6718be7fc0ed0b9bf6b9e4c3'; + func-mem-ref-line = '51'; + func-mem-ref-name = 'xran_recv_packet_info::eaxc'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__transport_8h_1a6c426a9de5864167cd297299f82535ca'; + func-mem-ref-line = '41'; + func-mem-ref-name = 'xran_eaxc_info::cuPortId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__transport_8h_1a7d93f32b8b4f771bd3ccf0b917cbec8b'; + func-mem-ref-line = '42'; + func-mem-ref-name = 'xran_eaxc_info::bandSectorId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__transport_8h_1a9264d54f92ac22a760270816417a692b'; + func-mem-ref-line = '43'; + func-mem-ref-name = 'xran_eaxc_info::ccId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__transport_8h_1afb85286a39539b98fa09e33ccfa6226b'; + func-mem-ref-line = '44'; + func-mem-ref-name = 'xran_eaxc_info::ruPortId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__transport_8h_1ad03f3906ca027603299130f471bbdfe3'; + func-mem-ref-line = '52'; + func-mem-ref-name = 'xran_recv_packet_info::seq_id'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__transport_8h_1a860ee826897d09d78f35d2b15085efac'; + func-mem-ref-line = '53'; + func-mem-ref-name = 'xran_recv_packet_info::subseq_id'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__transport_8h_1afc198efda3f50db2a5cae3c738528dd9'; + func-mem-ref-line = '54'; + func-mem-ref-name = 'xran_recv_packet_info::ebit'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a6e8f1d76afde95b2d85b1fd99aaa1610a0afad447e78f05813dd3ec3e378c7edd'; + func-mem-ref-line = '55'; + func-mem-ref-name = 'XRAN_CP_SECTIONTYPE_0'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__cp_8h_1a3675a820a4aec2a8724471cb7f840f16'; + func-mem-ref-line = '214'; + func-mem-ref-name = 'hdr'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a59e7e8f3feb686850b0cb0ae065de85b'; + func-mem-ref-line = '284'; + func-mem-ref-name = 'xran_cp_header_params::fftSize'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__cp_8h_1aa68c277a66312b4b90819cccc055bdb7'; + func-mem-ref-line = '339'; + func-mem-ref-name = 'xran_cp_radioapp_section0_header::timeOffset'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1ae470e3869d1cbf07cd5f78ab6709b9e1'; + func-mem-ref-line = '285'; + func-mem-ref-name = 'xran_cp_header_params::scs'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__cp_8h_1addd131fba195042d2b0b7de7c5183b6a'; + func-mem-ref-line = '341'; + func-mem-ref-name = 'xran_cp_radioapp_section0_header::frameStructure'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__cp_8h_1a59e7e8f3feb686850b0cb0ae065de85b'; + func-mem-ref-line = '81'; + func-mem-ref-name = 'xran_cp_radioapp_frameStructure::fftSize'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1aa68c277a66312b4b90819cccc055bdb7'; + func-mem-ref-line = '289'; + func-mem-ref-name = 'xran_cp_header_params::timeOffset'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__cp_8h_1aa4ed885cdd3c67f4df8c1f6b20cc031c'; + func-mem-ref-line = '80'; + func-mem-ref-name = 'xran_cp_radioapp_frameStructure::uScs'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1af57c31d64bbdb0d65fd36c9f38951328'; + func-mem-ref-line = '290'; + func-mem-ref-name = 'xran_cp_header_params::cpLength'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__cp_8h_1af57c31d64bbdb0d65fd36c9f38951328'; + func-mem-ref-line = '342'; + func-mem-ref-name = 'xran_cp_radioapp_section0_header::cpLength'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a5921f2439294279b8111fed577c5c37a'; + func-mem-ref-line = '322'; + func-mem-ref-name = 'xran_cp_gen_params::sections'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a6ccd48a36736101737e9b419d7a3cc85'; + func-mem-ref-line = '296'; + func-mem-ref-name = 'xran_section_gen_info::info'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a1d127017fb298b889f4ba24752d08b8e'; + func-mem-ref-line = '185'; + func-mem-ref-name = 'xran_section_info::type'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a4fc3a0c58dfbd1e68224521185cb9384'; + func-mem-ref-line = '191'; + func-mem-ref-name = 'xran_section_info::id'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1affa3adbd50cd4af2018ba1fc0e8c3e31'; + func-mem-ref-line = '195'; + func-mem-ref-name = 'xran_section_info::rb'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a52f6623d45fec4bf9c14898f7e53db34'; + func-mem-ref-line = '190'; + func-mem-ref-name = 'xran_section_info::symInc'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a6b13285aabf8f2f4598143b2670204c1'; + func-mem-ref-line = '193'; + func-mem-ref-name = 'xran_section_info::startPrbc'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a2b72ddddeff4e4a8a5c191695ec41079'; + func-mem-ref-line = '194'; + func-mem-ref-name = 'xran_section_info::numPrbc'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a664cb6ca464c69ef60a445fa4f4b3522'; + func-mem-ref-line = '189'; + func-mem-ref-name = 'xran_section_info::numSymbol'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1ab8acca18b930cde25e1cf85ae86c964c'; + func-mem-ref-line = '192'; + func-mem-ref-name = 'xran_section_info::reMask'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a6e8f1d76afde95b2d85b1fd99aaa1610a1f3289201658ac2a09203c4fb974b1e7'; + func-mem-ref-line = '56'; + func-mem-ref-name = 'XRAN_CP_SECTIONTYPE_1'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a1520b1ef6131bff6c14b88d849c266c5'; + func-mem-ref-line = '286'; + func-mem-ref-name = 'xran_cp_header_params::iqWidth'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__cp_8h_1a2c555c4732301a1ffa8b9957fbe51a76'; + func-mem-ref-line = '365'; + func-mem-ref-name = 'xran_cp_radioapp_section1_header::udComp'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__cp_8h_1aa1f422e7156fc4b759197bd687beffba'; + func-mem-ref-line = '48'; + func-mem-ref-name = 'xran_radioapp_udComp_header::udIqWidth'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a1e4a3c43fc7865c6520471fb9ba8501f'; + func-mem-ref-line = '287'; + func-mem-ref-name = 'xran_cp_header_params::compMeth'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__cp_8h_1a9c71fd134ce52f71b21a0a9bef99163a'; + func-mem-ref-line = '47'; + func-mem-ref-name = 'xran_radioapp_udComp_header::udCompMeth'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1ac7deef3ca4b0fc12769165dbf9374569'; + func-mem-ref-line = '200'; + func-mem-ref-name = 'xran_section_info::beamId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1afe3859cd334ad3f912622c58d5b2079e'; + func-mem-ref-line = '198'; + func-mem-ref-name = 'xran_section_info::ef'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8c_1a9d4ed2d1226eb004597b69dfd86c7c93'; + func-mem-ref-line = '1668'; + func-mem-ref-name = 'xran_parse_section_extension'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a6e8f1d76afde95b2d85b1fd99aaa1610a80bcc2d7d7aff5e850d26892e703c637'; + func-mem-ref-line = '57'; + func-mem-ref-name = 'XRAN_CP_SECTIONTYPE_3'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__cp_8h_1aa68c277a66312b4b90819cccc055bdb7'; + func-mem-ref-line = '390'; + func-mem-ref-name = 'xran_cp_radioapp_section3_header::timeOffset'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__cp_8h_1addd131fba195042d2b0b7de7c5183b6a'; + func-mem-ref-line = '392'; + func-mem-ref-name = 'xran_cp_radioapp_section3_header::frameStructure'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__cp_8h_1af57c31d64bbdb0d65fd36c9f38951328'; + func-mem-ref-line = '393'; + func-mem-ref-name = 'xran_cp_radioapp_section3_header::cpLength'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__cp_8h_1a2c555c4732301a1ffa8b9957fbe51a76'; + func-mem-ref-line = '394'; + func-mem-ref-name = 'xran_cp_radioapp_section3_header::udComp'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a3af58496c14a1c91c015aa6ffe7dca49'; + func-mem-ref-line = '199'; + func-mem-ref-name = 'xran_section_info::freqOffset'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a6e8f1d76afde95b2d85b1fd99aaa1610aef4c60356367eca22835d6905367c532'; + func-mem-ref-line = '58'; + func-mem-ref-name = 'XRAN_CP_SECTIONTYPE_5'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a6e8f1d76afde95b2d85b1fd99aaa1610ae6f2c09491abd9b5ddf176281f5fc901'; + func-mem-ref-line = '59'; + func-mem-ref-name = 'XRAN_CP_SECTIONTYPE_6'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a6e8f1d76afde95b2d85b1fd99aaa1610a99cb6565a1f64c92f624b3e036d810bb'; + func-mem-ref-line = '60'; + func-mem-ref-name = 'XRAN_CP_SECTIONTYPE_7'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1aad8a35383b986f4ca80437468b6c625f'; + func-mem-ref-line = '75'; + func-mem-ref-name = 'XRAN_STATUS_INVALID_PARAM'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1aa561d89cbc570e39183c64a5095a6053'; + func-mem-ref-line = '298'; + func-mem-ref-name = 'xran_section_gen_info::exDataSize'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1acb5cfd209ba75c853d03f701e7f91679'; + func-mem-ref-line = '301'; + func-mem-ref-name = 'xran_section_gen_info::type'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a8aed22e2c7b283705ec82e0120515618'; + func-mem-ref-line = '302'; + func-mem-ref-name = 'xran_section_gen_info::len'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1aa8ad3a412a8007bef79fb6ff224fc977a32fbc3ce682df2f044ceb33dcc1c3e77'; + func-mem-ref-line = '149'; + func-mem-ref-name = 'XRAN_CP_SECTIONEXTCMD_1'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a735984d41155bc1032e09bece8f8d66d'; + func-mem-ref-line = '303'; + func-mem-ref-name = 'xran_section_gen_info::data'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1ab09d1df0b229edfd34c41706fcfa73e7'; + func-mem-ref-line = '211'; + func-mem-ref-name = 'xran_sectionext1_info::bfwNumber'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a3de53935627d11e11003c38bd6dca548'; + func-mem-ref-line = '212'; + func-mem-ref-name = 'xran_sectionext1_info::bfwiqWidth'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a489f0b868b86e577a5e515dc40987ba5'; + func-mem-ref-line = '213'; + func-mem-ref-name = 'xran_sectionext1_info::bfwCompMeth'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1aa8ad3a412a8007bef79fb6ff224fc977aa51e4f2fde3e58c4cf60033529779e54'; + func-mem-ref-line = '150'; + func-mem-ref-name = 'XRAN_CP_SECTIONEXTCMD_2'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1aed0ddbdef5f3287fe38c115bf0f6b361'; + func-mem-ref-line = '226'; + func-mem-ref-name = 'xran_sectionext2_info::bfAzPt'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a2d14a28b7dc7cc4d18dae8c579a15d00'; + func-mem-ref-line = '225'; + func-mem-ref-name = 'xran_sectionext2_info::bfAzPtWidth'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a8d5cbe6476d0e8b325cd4e1bad03a6d3'; + func-mem-ref-line = '228'; + func-mem-ref-name = 'xran_sectionext2_info::bfZePt'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a0562069083918b7760597eaca4f0dceb'; + func-mem-ref-line = '227'; + func-mem-ref-name = 'xran_sectionext2_info::bfZePtWidth'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1adc26301dfc01bf86c8dc53bdef1ac5c3'; + func-mem-ref-line = '230'; + func-mem-ref-name = 'xran_sectionext2_info::bfAz3dd'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1af6d308ae11840b67c4e3234a78ca1591'; + func-mem-ref-line = '229'; + func-mem-ref-name = 'xran_sectionext2_info::bfAz3ddWidth'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a62a0cfe73c1305294d16fb9593a2a947'; + func-mem-ref-line = '232'; + func-mem-ref-name = 'xran_sectionext2_info::bfZe3dd'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a52ffc8175e7bde0adbc75c865c854df2'; + func-mem-ref-line = '231'; + func-mem-ref-name = 'xran_sectionext2_info::bfZe3ddWidth'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a455c1bba3cc6776c7c953f468da68d89'; + func-mem-ref-line = '234'; + func-mem-ref-name = 'xran_sectionext2_info::bfAzSI'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1ad7bfdcda7332da505aa1712b68452cd2'; + func-mem-ref-line = '235'; + func-mem-ref-name = 'xran_sectionext2_info::bfZeSI'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1aa8ad3a412a8007bef79fb6ff224fc977a0837b73911763ea972db60ead94d7c15'; + func-mem-ref-line = '152'; + func-mem-ref-name = 'XRAN_CP_SECTIONEXTCMD_4'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a9469507e787895ef8a3ec1b89df59954'; + func-mem-ref-line = '252'; + func-mem-ref-name = 'xran_sectionext4_info::csf'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a1c0e94567471aac214963f9600d0a4b1'; + func-mem-ref-line = '254'; + func-mem-ref-name = 'xran_sectionext4_info::modCompScaler'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1aa8ad3a412a8007bef79fb6ff224fc977aaea21d0be8d5ee905837f26a28c316a9'; + func-mem-ref-line = '153'; + func-mem-ref-name = 'XRAN_CP_SECTIONEXTCMD_5'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a7c4e67772e2e32e2f63f636730bf6eea'; + func-mem-ref-line = '258'; + func-mem-ref-name = 'xran_sectionext5_info::num_sets'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1aff3ff8bd662f3deba04c54adcbbd2826'; + func-mem-ref-line = '260'; + func-mem-ref-name = 'xran_sectionext5_info::csf'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1aabd93f3473c2432cf02d285e460907da'; + func-mem-ref-line = '261'; + func-mem-ref-name = 'xran_sectionext5_info::mcScaleReMask'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a0d53f590f6c03b8aadb7421ea75a0efa'; + func-mem-ref-line = '262'; + func-mem-ref-name = 'xran_sectionext5_info::mcScaleOffset'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1aa8ad3a412a8007bef79fb6ff224fc977ade744d9dc1b89a8e912564d6cd0e0ea5'; + func-mem-ref-line = '148'; + func-mem-ref-name = 'XRAN_CP_SECTIONEXTCMD_0'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1aa8ad3a412a8007bef79fb6ff224fc977a63cd3bfd8691b1633bacfd3cf9d9546d'; + func-mem-ref-line = '151'; + func-mem-ref-name = 'XRAN_CP_SECTIONEXTCMD_3'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'c__plane__tests_8cc_1a11a0b914a08e5375cae792dc6db08c7a'; + func-mem-ref-line = '566'; + func-mem-ref-name = 'TEST_P'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'chain__tests_8cc_1aa17765d107c851ebcc3d202cef78aa75'; + func-mem-ref-line = '92'; + func-mem-ref-name = 'send_mbuf_cp_perf'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__cp__api_8h_1a3ca98b2a49501149a7b5baf9174897d8'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_cp_init_sectiondb'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pHandle'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + func-mem-desc-line = '360'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Initialize section database. + Allocate required memory space to store section information. + Each eAxC allocates dedicated storage and the entry size is the maximum number of sections. + Total entry size : number of CC * number of antenna * max number of sections * 2(direction) +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@param pHandle + handle for xRAN interface, currently not being used +@return + XRAN_STATUS_SUCCESS on success + XRAN_STATUS_RESOURCE, if memory is not enough to allocate database area +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'gen__test_8m_1a38d2cdf58cc777c61b71dd2785d139af'; + func-mem-ref-line = '166'; + func-mem-ref-name = 'ant'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a93b65038922e8dd5f6d9cc499daf25aa'; + func-mem-ref-line = '40'; + func-mem-ref-name = 'XRAN_MAX_SECTIONDB_CTX'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1gga9c60a23fdae979ad1842b255790d1558a927c0750db0e35def0b5e1a088a5b9e4'; + func-mem-ref-line = '150'; + func-mem-ref-name = 'XRAN_DIR_MAX'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1ad366e06c49d56ecfe336917a71236554'; + func-mem-ref-line = '126'; + func-mem-ref-name = 'XRAN_COMPONENT_CARRIERS_MAX'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a35fa05e7523928c0c86cbcf835c12dc5'; + func-mem-ref-line = '111'; + func-mem-ref-name = 'XRAN_MAX_ANTENNA_NR'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1af3e0ced3530652b3c92220c8783b55fa'; + func-mem-ref-line = '118'; + func-mem-ref-name = 'XRAN_MAX_ANT_ARRAY_ELM_NR'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1a03f408f45e97aa68ca47c92e4e7d1a70'; + func-mem-ref-line = '2756'; + func-mem-ref-name = 'xran_open'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__cp__api_8h_1a965fc18e61438182b0ae70809b68fb23'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_cp_free_sectiondb'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pHandle'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + func-mem-desc-line = '361'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Release and free section database. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@param pHandle + handle for xRAN interface, currently not being used +@return + XRAN_STATUS_SUCCESS on success +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a814959a7b5ff6cd4474433f62312eee0'; + func-mem-ref-line = '54'; + func-mem-ref-name = 'XRAN_STATUS_SUCCESS'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__cp__api_8h_1a2a349ad9adaec2cfd7f88e791d451c5e'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_cp_add_section_info'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pHandle'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'dir'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'cc_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'ruport_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'ctx_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_section_info * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'info'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + func-mem-desc-line = '362'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Add a section information of C-Plane to dabase. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@param pHandle + handle for xRAN interface, currently not being used +@param dir + Direction of C-Plane message for the section to store +@param cc_id + CC ID of C-Plane message for the section to store +@param ruport_id + RU port ID of C-Plane message for the section to store +@param ctx_id + Context index for the section database +@param info + The information of this section to store +@return + XRAN_STATUS_SUCCESS on success + XRAN_STATUS_INVALID_PARAM, if direction, CC ID or RU port ID is incorrect + XRAN_STATUS_RESOURCE, if no more space to add on database +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8c_1acadfaa8ee00984098976838a75457775'; + func-mem-ref-line = '43'; + func-mem-ref-name = 'xran_sectioninfo_db::list'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__common_8c_1a484fa852a2e973600abba0efb1fbefb9'; + func-mem-ref-line = '510'; + func-mem-ref-name = 'send_cpmsg'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__cp__api_8h_1ae5d69f1c437b336ec274f5e1ab8e2e30'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_cp_add_multisection_info'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pHandle'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'cc_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'ruport_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'ctx_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_cp_gen_params * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'gen_info'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + func-mem-desc-line = '365'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8c_1acadfaa8ee00984098976838a75457775'; + func-mem-ref-line = '43'; + func-mem-ref-name = 'xran_sectioninfo_db::list'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a92abda0bec7c1c978fe96f87aad18067'; + func-mem-ref-line = '316'; + func-mem-ref-name = 'xran_cp_gen_params::dir'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a52bddd404e766ddb6f2b9eabe15ea5b1'; + func-mem-ref-line = '318'; + func-mem-ref-name = 'xran_cp_gen_params::numSections'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__cp__api_8h_1a717d00904ede832e69fe4f3114a96563'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_section_info * +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_cp_find_section_info'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pHandle'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'dir'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'cc_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'ruport_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'ctx_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'section_id'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + func-mem-desc-line = '368'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Find a section information of C-Plane from dabase + by given information. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@param pHandle + handle for xRAN interface, currently not being used +@param dir + The direction of the section to find +@param cc_id + The CC ID of the section to find +@param ruport_id + RU port ID of the section to find +@param ctx_id + Context index for the section database +@param section_id + The ID of section to find +@return + The pointer of section information if matched section is found + NULL if failed to find matched section +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__cp__api_8h_1aef16da48f3d30626c31dfeff9d8301fa'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_section_info * +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_cp_iterate_section_info'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pHandle'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'dir'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'cc_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'ruport_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'ctx_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint32_t * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'next'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + func-mem-desc-line = '371'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Iterate each section information of C-Plane + from the database of eAxC by given information. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@param pHandle + handle for xRAN interface, currently not being used +@param dir + The direction of the section to find +@param cc_id + The CC ID of the section to find +@param ruport_id + RU port ID of the section to find +@param ctx_id + Context index for the section database +@param next + The pointer to store the position of next entry +@return + The pointer of section information in the list + NULL if reached at the end of the list +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__cp__api_8h_1aacba15717a11e5218541a25674a78bb0'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_cp_getsize_section_info'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pHandle'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'dir'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'cc_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'ruport_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'ctx_id'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + func-mem-desc-line = '374'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Get the size of stored entries + for the database of eAxC by given information. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@param pHandle + handle for xRAN interface, currently not being used +@param dir + The direction of the section to find +@param cc_id + The CC ID of the section to find +@param ruport_id + RU port ID of the section to find +@param ctx_id + Context index for the section database +@return + The size of stored entries + -1 if failed to find matched database +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__cp__api_8h_1a3d9c3e2adf0acd0763dbb0c8e8c72f11'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_cp_reset_section_info'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pHandle'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'dir'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'cc_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'ruport_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'ctx_id'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + func-mem-desc-line = '375'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Reset a database of eAxC by given information. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@param pHandle + handle for xRAN interface, currently not being used +@param dir + The direction of the section to find +@param cc_id + The CC ID of the section to find +@param ruport_id + RU port ID of the section to find +@param ctx_id + Context index for the section database +@return + XRAN_STATUS_SUCCESS on success + XRAN_STATUS_INVALID_PARM if failed to find matched database +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__cp__api_8h_1afa26200d2578ae0a20cc197b6eab3640'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_cp_populate_section_ext_1'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +int8_t * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'p_ext1_dst'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'ext1_dst_len'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +int16_t * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'p_bfw_iq_src'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'rbNumber'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'bfwNumber'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'bfwiqWidth'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'bfwCompMeth'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + func-mem-desc-line = '376'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +compression method +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a2093a855b81dcfff46d379b2c7a700f6'; + func-mem-ref-line = '142'; + func-mem-ref-name = 'XRAN_EF_F_ANOTHER_ONE'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__printf_8h_1a417ba2c3b49b216e358bc340346bf1cf'; + func-mem-ref-line = '54'; + func-mem-ref-name = 'print_dbg'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1aad8a35383b986f4ca80437468b6c625f'; + func-mem-ref-line = '75'; + func-mem-ref-name = 'XRAN_STATUS_INVALID_PARAM'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__printf_8h_1a16c2c0a30b31515830a4a8eff6cf10b5'; + func-mem-ref-line = '62'; + func-mem-ref-name = 'print_err'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a81b257717e74882b591daf7fd958c012'; + func-mem-ref-line = '141'; + func-mem-ref-name = 'XRAN_EF_F_LAST'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__cp_8h_1af69684e1de711986c6c92dcb0cde3ef9'; + func-mem-ref-line = '145'; + func-mem-ref-name = 'xran_cp_radioapp_section_ext1::extType'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1aa8ad3a412a8007bef79fb6ff224fc977a32fbc3ce682df2f044ceb33dcc1c3e77'; + func-mem-ref-line = '149'; + func-mem-ref-name = 'XRAN_CP_SECTIONEXTCMD_1'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__cp_8h_1afe3859cd334ad3f912622c58d5b2079e'; + func-mem-ref-line = '146'; + func-mem-ref-name = 'xran_cp_radioapp_section_ext1::ef'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__cp_8h_1a489f0b868b86e577a5e515dc40987ba5'; + func-mem-ref-line = '149'; + func-mem-ref-name = 'xran_cp_radioapp_section_ext1::bfwCompMeth'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__cp_8h_1a489f0b868b86e577a5e515dc40987ba5'; + func-mem-ref-line = '220'; + func-mem-ref-name = 'bfwCompMeth'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__cp_8h_1ab4efff418afe4f08b45d3c4762f8b31d'; + func-mem-ref-line = '150'; + func-mem-ref-name = 'xran_cp_radioapp_section_ext1::bfwIqWidth'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1abc1efb8cd57478741ed448abe5657af1'; + func-mem-ref-line = '158'; + func-mem-ref-name = 'XRAN_CONVERT_BFWIQWIDTH'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a241943465db5d59b297c1401b4579687ae57fd13dd77647afe0a45fd16d0d1d18'; + func-mem-ref-line = '163'; + func-mem-ref-name = 'XRAN_BFWCOMPMETHOD_BLKFLOAT'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a341e6485fd9de350805503e938f90708'; + func-mem-ref-line = '68'; + func-mem-ref-name = 'XRAN_STATUS_RESOURCE'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__compression_8h_1a06bde7ceb81ae7d8d8a101d7cfe4bb25'; + func-mem-ref-line = '38'; + func-mem-ref-name = 'xranlib_compress_request::data_in'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__compression_8h_1a6858c4011b5cad020222e9ca5c2786f5'; + func-mem-ref-line = '42'; + func-mem-ref-name = 'xranlib_compress_request::len'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__compression_8h_1ad73157f14fa98c54fb563244c1327933'; + func-mem-ref-line = '40'; + func-mem-ref-name = 'xranlib_compress_request::compMethod'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__compression_8h_1a36f5a0cedd274c3ec55f81535f06e0de'; + func-mem-ref-line = '41'; + func-mem-ref-name = 'xranlib_compress_request::iqWidth'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a241943465db5d59b297c1401b4579687aa875f8d378e4505ebf4e03554bccda4e'; + func-mem-ref-line = '164'; + func-mem-ref-name = 'XRAN_BFWCOMPMETHOD_BLKSCALE'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a241943465db5d59b297c1401b4579687a08c6866bf6b30f45d8c78a1acb33f6ca'; + func-mem-ref-line = '165'; + func-mem-ref-name = 'XRAN_BFWCOMPMETHOD_ULAW'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a241943465db5d59b297c1401b4579687a036896de4dea687b4d28bd819e535529'; + func-mem-ref-line = '166'; + func-mem-ref-name = 'XRAN_BFWCOMPMETHOD_BEAMSPACE'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a241943465db5d59b297c1401b4579687a69b09bde0a8a71540b00378a5eb917b9'; + func-mem-ref-line = '162'; + func-mem-ref-name = 'XRAN_BFWCOMPMETHOD_NONE'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__compression_8h_1aa84b1c03297680b54ecd081d2a69d791'; + func-mem-ref-line = '50'; + func-mem-ref-name = 'xranlib_compress_response::data_out'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__compression_8cpp_1a55f53f65b294f4b5f75190e3565ac295'; + func-mem-ref-line = '783'; + func-mem-ref-name = 'xranlib_compress_avx512_bfw'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__compression_8h_1a6858c4011b5cad020222e9ca5c2786f5'; + func-mem-ref-line = '52'; + func-mem-ref-name = 'xranlib_compress_response::len'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a4a957453875309739caacdd651bdab75'; + func-mem-ref-line = '58'; + func-mem-ref-name = 'XRAN_STATUS_FAIL'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a63f308af419e410c6e3996a79d2c9897'; + func-mem-ref-line = '50'; + func-mem-ref-name = 'XRAN_SECTIONEXT_ALIGN'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'c__plane__tests_8cc_1a11a0b914a08e5375cae792dc6db08c7a'; + func-mem-ref-line = '566'; + func-mem-ref-name = 'TEST_P'; + }; + }; /* func-member */ + }; + file-full-name = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_cp_api.h'; + file-first-line = '1'; + file-briefdesc = <<_EnD_oF_dEf_TeXt_ +This file provides the definitions for Control Plane Messages APIs. +_EnD_oF_dEf_TeXt_; + file-documentation = <<_EnD_oF_dEf_TeXt_ +@author Intel Corporation +_EnD_oF_dEf_TeXt_; +}; /* file */ +file = { + file-id = 'xran__fh__o__du_8h'; + file-name = 'xran_fh_o_du.h'; + define = { + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__fh__o__du_8h_1a814959a7b5ff6cd4474433f62312eee0'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XRAN_STATUS_SUCCESS'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +(0) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + define-mem-desc-line = '54'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + Success status value. +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__fh__o__du_8h_1a4a957453875309739caacdd651bdab75'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XRAN_STATUS_FAIL'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +(-1) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + define-mem-desc-line = '58'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + Fail status value. +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__fh__o__du_8h_1a746b130d3c5db158af75c32c240183fc'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XRAN_STATUS_RETRY'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +(-2) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + define-mem-desc-line = '63'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Retry status value. +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__fh__o__du_8h_1a341e6485fd9de350805503e938f90708'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XRAN_STATUS_RESOURCE'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +(-3) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + define-mem-desc-line = '68'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ +The resource that has been requested is unavailable. Refer +to relevant sections of the API for specifics on what the suggested +course of action is. +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__fh__o__du_8h_1aad8a35383b986f4ca80437468b6c625f'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XRAN_STATUS_INVALID_PARAM'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +(-4) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + define-mem-desc-line = '75'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Invalid parameter has been passed in. +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__fh__o__du_8h_1ace75e6583c9238fc2f957c3cc9b92ec4'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XRAN_STATUS_FATAL'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +(-5) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + define-mem-desc-line = '79'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ +A serious error has occurred. Recommended course of action +is to shutdown and restart the component. +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__fh__o__du_8h_1a45590c7e932d3d78451dd72d2cbf5454'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XRAN_STATUS_UNSUPPORTED'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +(-6) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + define-mem-desc-line = '85'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ +The function is not supported, at least not with the specific +parameters supplied. This may be because a particular +capability is not supported by the current implementation. +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__fh__o__du_8h_1a6602a966370956b35631e68698539cac'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XRAN_STATUS_INVALID_PACKET'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +(-7) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + define-mem-desc-line = '92'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Recevied packet does not have correct format. +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__fh__o__du_8h_1aa76014e778bb54907d85e05cac204d71'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XranGetTtiNum'; + define-mem-param = { + define-mem-def-name = 'symIdx'; + }; /* define-mem-def--param */ + define-mem-param = { + define-mem-def-name = 'numSymPerTti'; + }; /* define-mem-def--param */ + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +(((uint32_t)symIdx / (uint32_t)numSymPerTti)) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + define-mem-desc-line = '98'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Macro to calculate TTI number from symbol index used by timing thread +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__fh__o__du_8h_1a605ecc3c0ad6066e39465a108b873373'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XranGetSymNum'; + define-mem-param = { + define-mem-def-name = 'symIdx'; + }; /* define-mem-def--param */ + define-mem-param = { + define-mem-def-name = 'numSymPerTti'; + }; /* define-mem-def--param */ + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +(((uint32_t)symIdx % (uint32_t)numSymPerTti)) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + define-mem-desc-line = '100'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Macro to calculate Symbol number for given slot from symbol index +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__fh__o__du_8h_1a5a8a3a7c7c4ff43865b57971dfbf0aa6'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XranGetFrameNum'; + define-mem-param = { + define-mem-def-name = 'tti'; + }; /* define-mem-def--param */ + define-mem-param = { + define-mem-def-name = 'SFNatSecStart'; + }; /* define-mem-def--param */ + define-mem-param = { + define-mem-def-name = 'numSubFramePerSystemFrame'; + }; /* define-mem-def--param */ + define-mem-param = { + define-mem-def-name = 'numSlotPerSubFrame'; + }; /* define-mem-def--param */ + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +((((uint32_t)tti / ((uint32_t)numSubFramePerSystemFrame * (uint32_t)numSlotPerSubFrame)) + SFNatSecStart) & 0x3FF) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + define-mem-desc-line = '102'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Macro to calculate Frame number for given tti +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__fh__o__du_8h_1a5ca2a2076a042acdca2e326a436a7882'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XranGetSubFrameNum'; + define-mem-param = { + define-mem-def-name = 'tti'; + }; /* define-mem-def--param */ + define-mem-param = { + define-mem-def-name = 'numSlotPerSubFrame'; + }; /* define-mem-def--param */ + define-mem-param = { + define-mem-def-name = 'numSubFramePerSystemFrame'; + }; /* define-mem-def--param */ + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +(((uint32_t)tti/(uint32_t)numSlotPerSubFrame) % (uint32_t)numSubFramePerSystemFrame) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + define-mem-desc-line = '104'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Macro to calculate Subframe number for given tti +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__fh__o__du_8h_1a36c7ae37e30524321b18fde971372b92'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XranGetSlotNum'; + define-mem-param = { + define-mem-def-name = 'tti'; + }; /* define-mem-def--param */ + define-mem-param = { + define-mem-def-name = 'numSlotPerSfn'; + }; /* define-mem-def--param */ + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +((uint32_t)tti % ((uint32_t)numSlotPerSfn)) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + define-mem-desc-line = '106'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Macro to calculate Slot number +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__fh__o__du_8h_1ac1e23b437693cb93f1ddd5a74f97cab4'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XRAN_PORTS_NUM'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +(1) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + define-mem-desc-line = '108'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ +number of XRAN ports (aka O-RU devices) supported +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__fh__o__du_8h_1af0963ba32cc8ecd280afd2e474eb426a'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XRAN_N_FE_BUF_LEN'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +(40) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + define-mem-desc-line = '109'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Number of TTIs (slots) +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__fh__o__du_8h_1a34dbe5e515cc78b4ce26fa287e6c1edc'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XRAN_MAX_SECTOR_NR'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +(12) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + define-mem-desc-line = '110'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Max sectors per XRAN port +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__fh__o__du_8h_1a35fa05e7523928c0c86cbcf835c12dc5'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XRAN_MAX_ANTENNA_NR'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +(16) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + define-mem-desc-line = '112'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Max number of extended Antenna-Carriers: + a data flow for a single antenna (or spatial stream) for a single carrier in a single sector +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__fh__o__du_8h_1a42f4a51ad2109eb30e8cbefcde747e92'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XRAN_MAX_PANEL_NR'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +(1) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + define-mem-desc-line = '115'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Max number of Panels supported per O-RU +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__fh__o__du_8h_1a78d58409e31b11cd5b3512f52c6556ac'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XRAN_MAX_TRX_ANTENNA_ARRAY'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +(1) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + define-mem-desc-line = '116'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Max number of TX and RX arrays per panel in O-RU +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__fh__o__du_8h_1af3e0ced3530652b3c92220c8783b55fa'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XRAN_MAX_ANT_ARRAY_ELM_NR'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +(64) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + define-mem-desc-line = '117'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Maximum number of Antenna Array Elemets in Antenna Array in the O-RU +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__fh__o__du_8h_1a87d92ec177ed9c388685a91051f66205'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XRAN_NUM_OF_SYMBOL_PER_SLOT'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +(14) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + define-mem-desc-line = '121'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Number of symbols per slot +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__fh__o__du_8h_1a6a9b0521b0d67ed1e761047b2a929422'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XRAN_MAX_NUM_OF_SRS_SYMBOL_PER_SLOT'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +XRAN_NUM_OF_SYMBOL_PER_SLOT +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + define-mem-desc-line = '122'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Max Number of SRS symbols per slot +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__fh__o__du_8h_1aba79881ec9b30850184b4f5f6b0afc39'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XRAN_MAX_TDD_PERIODICITY'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +(80) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + define-mem-desc-line = '123'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Max TDD pattern period +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__fh__o__du_8h_1a6447bf8849000b9fecf51d77d4fa50b2'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XRAN_MAX_CELLS_PER_PORT'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +(XRAN_MAX_SECTOR_NR) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + define-mem-desc-line = '124'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Max cells mapped to XRAN port +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__fh__o__du_8h_1ad366e06c49d56ecfe336917a71236554'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XRAN_COMPONENT_CARRIERS_MAX'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +(XRAN_MAX_SECTOR_NR) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + define-mem-desc-line = '125'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ +number of CCs +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__fh__o__du_8h_1a93482eb351961fb07e09d913701dd033'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XRAN_NUM_OF_ANT_RADIO'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +(XRAN_MAX_SECTOR_NR*XRAN_MAX_ANTENNA_NR) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + define-mem-desc-line = '126'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Max Number of Antennas supported for all CC on single XRAN port +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__fh__o__du_8h_1a9435009d03a49d495b2b608129c64b61'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XRAN_MAX_PRBS'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +(275) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + define-mem-desc-line = '127'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Max of PRBs per CC per antanna for 5G NR +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__fh__o__du_8h_1aa099ceebb1479cddef1ee64f5c311973'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XRAN_MAX_SECTIONS_PER_SYM'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +(16) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + define-mem-desc-line = '129'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Max number of different sections in single symbol (section is equal to RB allocation for UE) +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__fh__o__du_8h_1a5a579cae10a206d64b2810a7df8a66f6'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XRAN_MAX_PKT_BURST'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +(448+4) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + define-mem-desc-line = '131'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ +4x14x8 symbols per ms +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__fh__o__du_8h_1ad1cc410c971930e1972f329c5130c886'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XRAN_N_MAX_BUFFER_SEGMENT'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +XRAN_MAX_PKT_BURST +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + define-mem-desc-line = '132'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Max number of segments per ms +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__fh__o__du_8h_1ac1cd6517de77baee725c67b3e5bd417c'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XRAN_STRICT_PARM_CHECK'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +(1) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + define-mem-desc-line = '134'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ +enable parameter check for C-plane +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__fh__o__du_8h_1a81efa76a214d1fd1b9b409bdea15c87c'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XRAN_SLOT_TYPE_INVALID'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +(0) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + define-mem-desc-line = '137'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ +invalid slot type +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__fh__o__du_8h_1a3640d50cafb5ccc15b73219309f60a3b'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XRAN_SLOT_TYPE_DL'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +(1) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + define-mem-desc-line = '138'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ +DL slot +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__fh__o__du_8h_1a3167443dbf786f9b87a133119a8f69e8'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XRAN_SLOT_TYPE_UL'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +(2) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + define-mem-desc-line = '139'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ +UL slot +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__fh__o__du_8h_1a37ddab95bdd53de1ee17a3607a183eae'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XRAN_SLOT_TYPE_SP'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +(3) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + define-mem-desc-line = '140'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Special slot +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__fh__o__du_8h_1ad997c19049d5e80611e4360b1ed79b80'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XRAN_SLOT_TYPE_FDD'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +(4) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + define-mem-desc-line = '141'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ +FDD slot +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__fh__o__du_8h_1a581b66d2fea333f0a2e9ca3f9589fd89'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XRAN_SLOT_TYPE_LAST'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +(5) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + define-mem-desc-line = '142'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ +MAX slot +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__fh__o__du_8h_1aa7db41b67e2cd3be904b7332d8df6657'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XRAN_SYMBOL_TYPE_DL'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +(0) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + define-mem-desc-line = '145'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ +DL symbol +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__fh__o__du_8h_1a78bce62effeb80d1e2bda74c6ee3d5f4'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XRAN_SYMBOL_TYPE_UL'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +(1) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + define-mem-desc-line = '146'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ +UL symbol +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__fh__o__du_8h_1a0e0df6a907cf2724cf3e531d7f18fb3c'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XRAN_SYMBOL_TYPE_GUARD'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +(2) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + define-mem-desc-line = '147'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ +GUARD symbol +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__fh__o__du_8h_1ac7915d813606499af39f5e952391fded'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XRAN_SYMBOL_TYPE_FDD'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +(3) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + define-mem-desc-line = '148'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ +FDD symbol +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__fh__o__du_8h_1acd3869dff9738650c847e456c6ab21ae'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XRAN_NUM_OF_SLOT_IN_TDD_LOOP'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +(80) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + define-mem-desc-line = '150'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ +MAX number of slot for TDD repetition +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__fh__o__du_8h_1adb623b32cb8644414383af3de60433d8'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'xran_log_dbg'; + define-mem-param = { + define-mem-def-name = 'fmt'; + }; /* define-mem-def--param */ + define-mem-param = { + define-mem-def-name = '...'; + }; /* define-mem-def--param */ + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + define-mem-desc-line = '162'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__fh__o__du_8h_1adb623b32cb8644414383af3de60433d8'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'xran_log_dbg'; + define-mem-param = { + define-mem-def-name = 'fmt'; + }; /* define-mem-def--param */ + define-mem-param = { + define-mem-def-name = '...'; + }; /* define-mem-def--param */ + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + define-mem-desc-line = '173'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__fh__o__du_8h_1a8f97ad3d53e73a2807e3b2cf097e267a'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'xran_log_wrn'; + define-mem-param = { + define-mem-def-name = 'fmt'; + }; /* define-mem-def--param */ + define-mem-param = { + define-mem-def-name = '...'; + }; /* define-mem-def--param */ + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + define-mem-desc-line = '174'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__fh__o__du_8h_1a02b163e2e7f90f2c7941fdcb19ebcb3e'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'xran_log_err'; + define-mem-param = { + define-mem-def-name = 'fmt'; + }; /* define-mem-def--param */ + define-mem-param = { + define-mem-def-name = '...'; + }; /* define-mem-def--param */ + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +fprintf(stderr, \ + "ERROR: %s(%d): " fmt "\n", \ + __FILE__, \ + __LINE__, ##__VA_ARGS__) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + define-mem-desc-line = '177'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + }; + typedef = { + typedef-member = { + typedef-mem-kind = 'typedef'; + typedef-mem-id = 'xran__fh__o__du_8h_1aa3ceca070f84e316e0e2f6002419d572'; + typedef-mem-virt = normal; + typedef-mem-prot = public; + typedef-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + typedef-mem-name = 'xran_status_t'; + typedef-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + typedef-mem-desc-line = '236'; + typedef-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + typedef-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Xran status return value +_EnD_oF_dEf_TeXt_; + }; /* typedef-member */ + typedef-member = { + typedef-mem-kind = 'typedef'; + typedef-mem-id = 'xran__fh__o__du_8h_1ad2e55b4fa82ed8c7f00e083b0406c6c8'; + typedef-mem-virt = normal; + typedef-mem-prot = public; + typedef-mem-type = <<_EnD_oF_dEf_TeXt_ +void(* +_EnD_oF_dEf_TeXt_; + typedef-mem-name = 'xran_callback_sym_fn'; + typedef-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + typedef-mem-desc-line = '239'; + typedef-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + typedef-mem-documentation = <<_EnD_oF_dEf_TeXt_ +callback function type for Symbol packet +_EnD_oF_dEf_TeXt_; + }; /* typedef-member */ + typedef-member = { + typedef-mem-kind = 'typedef'; + typedef-mem-id = 'xran__fh__o__du_8h_1af48a00f171ef7a017fddd2a29f9854d0'; + typedef-mem-virt = normal; + typedef-mem-prot = public; + typedef-mem-type = <<_EnD_oF_dEf_TeXt_ +int(* +_EnD_oF_dEf_TeXt_; + typedef-mem-name = 'xran_fh_tti_callback_fn'; + typedef-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + typedef-mem-desc-line = '242'; + typedef-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + typedef-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Callback function type for TTI event +_EnD_oF_dEf_TeXt_; + }; /* typedef-member */ + typedef-member = { + typedef-mem-kind = 'typedef'; + typedef-mem-id = 'xran__fh__o__du_8h_1ad52207145e383ae136995f5a2b7dd82d'; + typedef-mem-virt = normal; + typedef-mem-prot = public; + typedef-mem-type = <<_EnD_oF_dEf_TeXt_ +void(* +_EnD_oF_dEf_TeXt_; + typedef-mem-name = 'xran_transport_callback_fn'; + typedef-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + typedef-mem-desc-line = '245'; + typedef-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + typedef-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Callback function type packet arrival from transport layer (ETH or IP) +_EnD_oF_dEf_TeXt_; + }; /* typedef-member */ + typedef-member = { + typedef-mem-kind = 'typedef'; + typedef-mem-id = 'xran__fh__o__du_8h_1adce425900af03693ff55da9deb17a679'; + typedef-mem-virt = normal; + typedef-mem-prot = public; + typedef-mem-type = <<_EnD_oF_dEf_TeXt_ +int16_t(* +_EnD_oF_dEf_TeXt_; + typedef-mem-name = 'phy_encoder_poll_fn'; + typedef-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + typedef-mem-desc-line = '248'; + typedef-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + typedef-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Callback functions to poll BBdev encoder +_EnD_oF_dEf_TeXt_; + }; /* typedef-member */ + typedef-member = { + typedef-mem-kind = 'typedef'; + typedef-mem-id = 'xran__fh__o__du_8h_1a2c1d5f131c5a23d8339f1babb3b22ade'; + typedef-mem-virt = normal; + typedef-mem-prot = public; + typedef-mem-type = <<_EnD_oF_dEf_TeXt_ +int16_t(* +_EnD_oF_dEf_TeXt_; + typedef-mem-name = 'phy_decoder_poll_fn'; + typedef-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + typedef-mem-desc-line = '251'; + typedef-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + typedef-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Callback functions to poll BBdev secoder +_EnD_oF_dEf_TeXt_; + }; /* typedef-member */ + typedef-member = { + typedef-mem-kind = 'typedef'; + typedef-mem-id = 'xran__fh__o__du_8h_1afe623da85d4542bce592f333046e2c81'; + typedef-mem-virt = normal; + typedef-mem-prot = public; + typedef-mem-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + typedef-mem-name = 'xran_cc_handle_t'; + typedef-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + typedef-mem-desc-line = '541'; + typedef-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + typedef-mem-documentation = <<_EnD_oF_dEf_TeXt_ +CC instance handle pointer type +_EnD_oF_dEf_TeXt_; + }; /* typedef-member */ + }; + enum = { + enum-member = { + enum-mem-kind = 'enum'; + enum-mem-id = 'xran__fh__o__du_8h_1a1784f85d62401cba0ffb49c4d2467aae'; + enum-mem-virt = normal; + enum-mem-prot = public; + enum-mem-name = 'XranFrameDuplexType'; + enum-mem-enum = { enum-name = XRAN_FDD; enum-value = '= 0'; }; + enum-mem-enum = { enum-name = XRAN_TDD; }; + enum-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + enum-mem-desc-line = '185'; + enum-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + enum-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* enum-member */ + enum-member = { + enum-mem-kind = 'enum'; + enum-mem-id = 'xran__fh__o__du_8h_1a2f600110ab5726a0f21375b7f24c0326'; + enum-mem-virt = normal; + enum-mem-prot = public; + enum-mem-name = 'xran_if_state'; + enum-mem-enum = { enum-name = XRAN_INIT; enum-value = '= 0'; }; + enum-mem-enum = { enum-name = XRAN_RUNNING; }; + enum-mem-enum = { enum-name = XRAN_STOPPED; }; + enum-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + enum-mem-desc-line = '190'; + enum-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + enum-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* enum-member */ + enum-member = { + enum-mem-kind = 'enum'; + enum-mem-id = 'xran__fh__o__du_8h_1afc082593977ad91f3dcdd2175cb74615'; + enum-mem-virt = normal; + enum-mem-prot = public; + enum-mem-name = 'xran_compression_method'; + enum-mem-enum = { enum-name = XRAN_COMPMETHOD_NONE; enum-value = '= 0'; }; + enum-mem-enum = { enum-name = XRAN_COMPMETHOD_BLKFLOAT; enum-value = '= 1'; }; + enum-mem-enum = { enum-name = XRAN_COMPMETHOD_BLKSCALE; enum-value = '= 2'; }; + enum-mem-enum = { enum-name = XRAN_COMPMETHOD_ULAW; enum-value = '= 3'; }; + enum-mem-enum = { enum-name = XRAN_COMPMETHOD_MODULATION; enum-value = '= 4'; }; + enum-mem-enum = { enum-name = XRAN_COMPMETHOD_MAX; }; + enum-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + enum-mem-desc-line = '203'; + enum-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + enum-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@description + Compression Method 6.3.3.13, Table 6-43 +_EnD_oF_dEf_TeXt_; + }; /* enum-member */ + enum-member = { + enum-mem-kind = 'enum'; + enum-mem-id = 'xran__fh__o__du_8h_1a8eb67099ddcb1b5877a494edfd450d24'; + enum-mem-virt = normal; + enum-mem-prot = public; + enum-mem-name = 'callback_to_phy_id'; + enum-mem-enum = { enum-name = XRAN_CB_TTI; enum-value = '= 0'; }; + enum-mem-enum = { enum-name = XRAN_CB_HALF_SLOT_RX; enum-value = '=1'; }; + enum-mem-enum = { enum-name = XRAN_CB_FULL_SLOT_RX; enum-value = '=2'; }; + enum-mem-enum = { enum-name = XRAN_CB_MAX; }; + enum-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + enum-mem-desc-line = '220'; + enum-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + enum-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@description + Callback function type for symbol packet enum +_EnD_oF_dEf_TeXt_; + }; /* enum-member */ + enum-member = { + enum-mem-kind = 'enum'; + enum-mem-id = 'xran__fh__o__du_8h_1a80cd33d519d5b1993e2a1de8b78b3059'; + enum-mem-virt = normal; + enum-mem-prot = public; + enum-mem-name = 'xran_weight_based_beamforming_type'; + enum-mem-enum = { enum-name = XRAN_BF_T_FREQUENCY; enum-value = '= 0'; }; + enum-mem-enum = { enum-name = XRAN_BF_T_TIME; enum-value = '= 1'; }; + enum-mem-enum = { enum-name = XRAN_BF_T_HYBRID; enum-value = '= 2'; }; + enum-mem-enum = { enum-name = XRAN_BF_T_MAX; }; + enum-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + enum-mem-desc-line = '229'; + enum-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + enum-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Beamforming type, enumerated as "frequency", "time" or "hybrid" +section 10.4.2 Weight-based dynamic beamforming +_EnD_oF_dEf_TeXt_; + }; /* enum-member */ + enum-member = { + enum-mem-kind = 'enum'; + enum-mem-id = 'xran__fh__o__du_8h_1a185d8ae20c697568878935f0a260227a'; + enum-mem-virt = normal; + enum-mem-prot = public; + enum-mem-name = 'xran_vf_ports'; + enum-mem-enum = { enum-name = XRAN_UP_VF; enum-value = '= 0'; }; + enum-mem-enum = { enum-name = XRAN_CP_VF; }; + enum-mem-enum = { enum-name = XRAN_VF_MAX; }; + enum-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + enum-mem-desc-line = '255'; + enum-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + enum-mem-documentation = <<_EnD_oF_dEf_TeXt_ +XRAN port enum +_EnD_oF_dEf_TeXt_; + }; /* enum-member */ + enum-member = { + enum-mem-kind = 'enum'; + enum-mem-id = 'xran__fh__o__du_8h_1abf0211a253f5881ebad3910cef98d30e'; + enum-mem-virt = normal; + enum-mem-prot = public; + enum-mem-name = 'xran_category'; + enum-mem-enum = { enum-name = XRAN_CATEGORY_A; enum-value = '= 0'; }; + enum-mem-enum = { enum-name = XRAN_CATEGORY_B; enum-value = '= 1'; }; + enum-mem-enum = { enum-name = XRAN_CATEGORY_MAX; }; + enum-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + enum-mem-desc-line = '263'; + enum-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + enum-mem-documentation = <<_EnD_oF_dEf_TeXt_ +XRAN category enum +_EnD_oF_dEf_TeXt_; + }; /* enum-member */ + enum-member = { + enum-mem-kind = 'enum'; + enum-mem-id = 'xran__fh__o__du_8h_1ab78adb73387ef66b18318c2425be2f27'; + enum-mem-virt = normal; + enum-mem-prot = public; + enum-mem-name = 'xran_beamforming_type'; + enum-mem-enum = { enum-name = XRAN_BEAM_ID_BASED; enum-value = '= 0'; }; + enum-mem-enum = { enum-name = XRAN_BEAM_WEIGHT; }; + enum-mem-enum = { enum-name = XRAN_BEAM_ATTRIBUTE; }; + enum-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + enum-mem-desc-line = '271'; + enum-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + enum-mem-documentation = <<_EnD_oF_dEf_TeXt_ +type of beamforming +_EnD_oF_dEf_TeXt_; + }; /* enum-member */ + enum-member = { + enum-mem-kind = 'enum'; + enum-mem-id = 'xran__fh__o__du_8h_1a4c62e469317040d695487f294cf9e0ba'; + enum-mem-virt = normal; + enum-mem-prot = public; + enum-mem-name = 'xran_bbdev_init'; + enum-mem-enum = { enum-name = XRAN_BBDEV_NOT_USED; enum-value = '= -1'; }; + enum-mem-enum = { enum-name = XRAN_BBDEV_MODE_HW_OFF; enum-value = '= 0'; }; + enum-mem-enum = { enum-name = XRAN_BBDEV_MODE_HW_ON; enum-value = '= 1'; }; + enum-mem-enum = { enum-name = XRAN_BBDEV_MODE_MAX; }; + enum-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + enum-mem-desc-line = '279'; + enum-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + enum-mem-documentation = <<_EnD_oF_dEf_TeXt_ +state of bbdev with xran +_EnD_oF_dEf_TeXt_; + }; /* enum-member */ + enum-member = { + enum-mem-kind = 'enum'; + enum-mem-id = 'xran__fh__o__du_8h_1ab5ce6839bae2968c79930a0bfa17f4d8'; + enum-mem-virt = normal; + enum-mem-prot = public; + enum-mem-name = 'xran_input_byte_order'; + enum-mem-enum = { enum-name = XRAN_NE_BE_BYTE_ORDER; enum-value = '= 0'; }; + enum-mem-enum = { enum-name = XRAN_CPU_LE_BYTE_ORDER; }; + enum-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + enum-mem-desc-line = '471'; + enum-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + enum-mem-documentation = <<_EnD_oF_dEf_TeXt_ +XRAN-PHY interface byte order +_EnD_oF_dEf_TeXt_; + }; /* enum-member */ + enum-member = { + enum-mem-kind = 'enum'; + enum-mem-id = 'xran__fh__o__du_8h_1a0d9cb4cebbc59a8fa5bfef7547898859'; + enum-mem-virt = normal; + enum-mem-prot = public; + enum-mem-name = 'xran_input_i_q_order'; + enum-mem-enum = { enum-name = XRAN_I_Q_ORDER; enum-value = '= 0'; }; + enum-mem-enum = { enum-name = XRAN_Q_I_ORDER; }; + enum-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + enum-mem-desc-line = '477'; + enum-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + enum-mem-documentation = <<_EnD_oF_dEf_TeXt_ +XRAN-PHY interface I and Q order +_EnD_oF_dEf_TeXt_; + }; /* enum-member */ + }; + func = { + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__fh__o__du_8h_1a3efe8aba779b0a2f90adc02065579f5f'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_init'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'argc'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +char * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'argv'; + func-mem-param-array = '[]'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_fh_init * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'p_xran_fh_init'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +char * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'appName'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void ** +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pHandle'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + func-mem-desc-line = '626'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Initialize the XRAN Layer via DPDK. + +@param argc + A non-negative value. If it is greater than 0, the array members + for argv[0] through argv[argc] (non-inclusive) shall contain pointers + to strings. +@param argv + An array of strings. The contents of the array, as well as the strings + which are pointed to by the array, may be modified by this function. + +@return + 0 - on success + Error codes returned via rte_errno +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a8a5462b0059073e90d42f8bfa066d566'; + func-mem-ref-line = '324'; + func-mem-ref-name = 'xran_fh_init::io_cfg'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1aa09e72e94d2a1d891e86f4c09b0f8b21'; + func-mem-ref-line = '223'; + func-mem-ref-name = 'xran_dev_get_ctx'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'ethdi_8c_1aef5f52e6a4f49171518a59382eb03df5'; + func-mem-ref-line = '75'; + func-mem-ref-name = 'xran_if_current_state'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a2f600110ab5726a0f21375b7f24c0326a4b6bcf9a51e104e19a5fa2d859a63080'; + func-mem-ref-line = '191'; + func-mem-ref-name = 'XRAN_INIT'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a3a10011d5a15ba88d65b9e027cdff35e'; + func-mem-ref-line = '325'; + func-mem-ref-name = 'xran_fh_init::eAxCId_conf'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1ab0bb0b684cc2798a2ef1ceabe4a47e38'; + func-mem-ref-line = '356'; + func-mem-ref-name = 'xran_fh_init::enableCP'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1ac0646000d1448798a186e109df0bb3dd'; + func-mem-ref-line = '357'; + func-mem-ref-name = 'xran_fh_init::prachEnable'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a367975ed81727c2747411672f73b2754'; + func-mem-ref-line = '358'; + func-mem-ref-name = 'xran_fh_init::srsEnable'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a6fcbf469691a192f1ce298f70981c17a'; + func-mem-ref-line = '363'; + func-mem-ref-name = 'xran_fh_init::DynamicSectionEna'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'ethdi_8c_1a69c763967ba7e28c4a589ce624c226ff'; + func-mem-ref-line = '124'; + func-mem-ref-name = 'xran_register_ethertype_handler'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'ethernet_8h_1af87cccd4396539ae2fd0000a61907e92'; + func-mem-ref-line = '42'; + func-mem-ref-name = 'ETHER_TYPE_ECPRI'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1a7a412a9cd0ac919dccb2112fb386d64a'; + func-mem-ref-line = '1342'; + func-mem-ref-name = 'handle_ecpri_ethertype'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'ethdi_8h_1a1e6927fa1486224044e568f9c370519b'; + func-mem-ref-line = '83'; + func-mem-ref-name = 'xran_io_loop_cfg::id'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'ethdi_8c_1a97dcf8200aebed714f47764c302a06b5'; + func-mem-ref-line = '288'; + func-mem-ref-name = 'xran_ethdi_init_dpdk_io'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a6a78f61ed42f876c7cfa835be5ed0942'; + func-mem-ref-line = '329'; + func-mem-ref-name = 'xran_fh_init::filePrefix'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1adcde08e47bdc5157e76975f32d1e96e8'; + func-mem-ref-line = '333'; + func-mem-ref-name = 'xran_fh_init::p_o_du_addr'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1ab05fc2b0bda23212626e2f075ce8e817'; + func-mem-ref-line = '334'; + func-mem-ref-name = 'xran_fh_init::p_o_ru_addr'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1adc6cb9229207f58f6c4375305dcb5384'; + func-mem-ref-line = '359'; + func-mem-ref-name = 'xran_fh_init::cp_vlan_tag'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1ae5c22bf3cd63e278914bf627dab04ce8'; + func-mem-ref-line = '360'; + func-mem-ref-name = 'xran_fh_init::up_vlan_tag'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__lib__wrap_8hpp_1a126b53d8cc57521b34496dbe3a26621f'; + func-mem-ref-line = '678'; + func-mem-ref-name = 'xranLibWraper::SetUp'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__fh__o__du_8h_1adf5ead6a9f90b5d524e8012521d64bb5'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_sector_get_instances'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pHandle'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'nNumInstances'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +xran_cc_handle_t * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pSectorInstanceHandles'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + func-mem-desc-line = '644'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + Function returns handles for number of sectors supported by XRAN layer. Currently function + supports one handle XRAN layer where it supports only one CC + +@param pHandle + Pointer to XRAN layer handle +@param nNumInstances + total number of instances of CC +@param pSectorInstanceHandles + Pointer to xran_cc_handle_t where to store Handle pointer + +@return + 0 - on success +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a4a957453875309739caacdd651bdab75'; + func-mem-ref-line = '58'; + func-mem-ref-name = 'XRAN_STATUS_FAIL'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__printf_8h_1a6907fcd45c00443dc2e3258a628208ca'; + func-mem-ref-line = '111'; + func-mem-ref-name = 'CHECK_NOT_NULL'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1aad8a35383b986f4ca80437468b6c625f'; + func-mem-ref-line = '75'; + func-mem-ref-name = 'XRAN_STATUS_INVALID_PARAM'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__printf_8h_1a417ba2c3b49b216e358bc340346bf1cf'; + func-mem-ref-line = '54'; + func-mem-ref-name = 'print_dbg'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a341e6485fd9de350805503e938f90708'; + func-mem-ref-line = '68'; + func-mem-ref-name = 'XRAN_STATUS_RESOURCE'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a3e89a68b1b304e37badf1e8a62a38527'; + func-mem-ref-line = '148'; + func-mem-ref-name = 'sectorHandleInfo::nIndex'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a6fa55fef5f643eb92ae1f3890bb239d6'; + func-mem-ref-line = '149'; + func-mem-ref-name = 'sectorHandleInfo::nXranPort'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a2b7202fa1a2e3c5187799f8be3b5459f'; + func-mem-ref-line = '206'; + func-mem-ref-name = 'xran_device_ctx::xran_port_id'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'init__sys__functional_8cc_1ac2f03036711a42868a78783b735097e5'; + func-mem-ref-line = '120'; + func-mem-ref-name = 'TEST_P'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__fh__o__du_8h_1a999189549fd6b524b733ddd61f1f9962'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_mm_init'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pHandle'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint64_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'nMemorySize'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'nMemorySegmentSize'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + func-mem-desc-line = '663'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + Function initialize Memory Management subsystem (mm) in order to handle memory buffers between XRAN layer + and PHY. + +@param pHandle + Pointer to XRAN layer handle for given CC +@param nMemorySize + memory size of all segments +@param nMemorySegmentSize + size of memory per segment + +@return + 0 - on success +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'init__sys__functional_8cc_1ac2f03036711a42868a78783b735097e5'; + func-mem-ref-line = '120'; + func-mem-ref-name = 'TEST_P'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__fh__o__du_8h_1a39a9f7b5d01979eb1f8d806d6b9c50fe'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_bm_init'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pHandle'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint32_t * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pPoolIndex'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'nNumberOfBuffers'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'nBufferSize'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + func-mem-desc-line = '683'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + Function allocates buffer memory (bm) used between XRAN layer and PHY. In general case it's DPDK mbuf. + it uses Memory Management system to get memory chunk and define memory pool on top of it. + +@param pHandle + Pointer to XRAN layer handle for given CC +@param nPoolIndex + pointer to buffer pool identification to be returned +@param nNumberOfBuffers + number of buffer to allocate in the pool +@param nBufferSize + buffer size to allocate + +@return + 0 - on success +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a6fa55fef5f643eb92ae1f3890bb239d6'; + func-mem-ref-line = '149'; + func-mem-ref-name = 'sectorHandleInfo::nXranPort'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a3e89a68b1b304e37badf1e8a62a38527'; + func-mem-ref-line = '148'; + func-mem-ref-name = 'sectorHandleInfo::nIndex'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a7f385bf2d48d174e82285595baa66890'; + func-mem-ref-line = '152'; + func-mem-ref-name = 'sectorHandleInfo::nBufferPoolIndex'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a099c95b9a26488749a7bade28dd45192'; + func-mem-ref-line = '154'; + func-mem-ref-name = 'sectorHandleInfo::p_bufferPool'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'ethernet_8h_1aff7b5c03d15eefed7ec8ba88836914e6'; + func-mem-ref-line = '47'; + func-mem-ref-name = 'MBUF_CACHE'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a331562c12e62e7bae882440025872c95'; + func-mem-ref-line = '155'; + func-mem-ref-name = 'sectorHandleInfo::bufferPoolElmSz'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1af7c3fd31d7919760d9a11bd48b9ad804'; + func-mem-ref-line = '156'; + func-mem-ref-name = 'sectorHandleInfo::bufferPoolNumElm'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'init__sys__functional_8cc_1ac2f03036711a42868a78783b735097e5'; + func-mem-ref-line = '120'; + func-mem-ref-name = 'TEST_P'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__fh__o__du_8h_1ae79ca138dc77d69ef692886be4e5da81'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_bm_allocate_buffer'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pHandle'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'nPoolIndex'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void ** +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'ppData'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void ** +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'ppCtrl'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + func-mem-desc-line = '703'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + Function allocates buffer used between XRAN layer and PHY. In general case it's DPDK mbuf. + +@param pHandle + Pointer to XRAN layer handle for given CC +@param nPoolIndex + buffer pool identification +@param ppData + Pointer to pointer where to store address of new buffer +@param ppCtrl + Pointer to pointer where to store address of internal private control information + + +@return + 0 - on success +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a099c95b9a26488749a7bade28dd45192'; + func-mem-ref-line = '154'; + func-mem-ref-name = 'sectorHandleInfo::p_bufferPool'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a331562c12e62e7bae882440025872c95'; + func-mem-ref-line = '155'; + func-mem-ref-name = 'sectorHandleInfo::bufferPoolElmSz'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__printf_8h_1a16c2c0a30b31515830a4a8eff6cf10b5'; + func-mem-ref-line = '62'; + func-mem-ref-name = 'print_err'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'init__sys__functional_8cc_1ac2f03036711a42868a78783b735097e5'; + func-mem-ref-line = '120'; + func-mem-ref-name = 'TEST_P'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__fh__o__du_8h_1a0f904fe772b55bcfc449759a23063aa3'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_bm_free_buffer'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pHandle'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pData'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pCtrl'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + func-mem-desc-line = '720'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + Function frees buffer used between XRAN layer and PHY. In general case it's DPDK mbuf + +@param pHandle + Pointer to XRAN layer handle for given CC +@param pData + Pointer to buffer +@param pData + Pointer to internal private control information + +@return + 0 - on success +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'init__sys__functional_8cc_1ac2f03036711a42868a78783b735097e5'; + func-mem-ref-line = '120'; + func-mem-ref-name = 'TEST_P'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__fh__o__du_8h_1a4120602c15ddabfc3372e238d17f0414'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_mm_destroy'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pHandle'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + func-mem-desc-line = '733'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + Function destroys Memory Management (MM) layer of XRAN library + +@param pHandle + Pointer to XRAN layer handle for given CC + +@return + 0 - on success +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1a937105f52446cfcb951e43e1dc3c4d8b'; + func-mem-ref-line = '238'; + func-mem-ref-name = 'xran_get_if_state'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a2f600110ab5726a0f21375b7f24c0326a35916b54fc6804c2f2dc1f5891f3047e'; + func-mem-ref-line = '192'; + func-mem-ref-name = 'XRAN_RUNNING'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__printf_8h_1a16c2c0a30b31515830a4a8eff6cf10b5'; + func-mem-ref-line = '62'; + func-mem-ref-name = 'print_err'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'init__sys__functional_8cc_1ae5f944f4eff8e2963b83b56f208a114d'; + func-mem-ref-line = '274'; + func-mem-ref-name = 'TEST_P'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'sample-app_8c_1ac871776e03d4a4ae1717d2600a7f7dff'; + func-mem-ref-line = '1122'; + func-mem-ref-name = 'stop_xran'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__fh__o__du_8h_1ac94e2474beef3b68521cfd391211b1be'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_5g_fronthault_config'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pHandle'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_buffer_list * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pSrcBuffer'; + func-mem-param-array = '[XRAN_MAX_ANTENNA_NR][XRAN_N_FE_BUF_LEN]'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_buffer_list * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pSrcCpBuffer'; + func-mem-param-array = '[XRAN_MAX_ANTENNA_NR][XRAN_N_FE_BUF_LEN]'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_buffer_list * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pDstBuffer'; + func-mem-param-array = '[XRAN_MAX_ANTENNA_NR][XRAN_N_FE_BUF_LEN]'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_buffer_list * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pDstCpBuffer'; + func-mem-param-array = '[XRAN_MAX_ANTENNA_NR][XRAN_N_FE_BUF_LEN]'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +xran_transport_callback_fn +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pCallback'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pCallbackTag'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + func-mem-desc-line = '760'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + Function configures TX(DL) and RX(UL) output buffers and callback (UL only) for XRAN layer with + given handle + +@param pHandle + Pointer to XRAN layer handle for given CC +@param pSrcBuffer + list of memory buffers to use to fetch IQs from PHY to XRAN layer (DL) +@param pSrcCpBuffer + list of memory buffers to use to configure C-plane (DL) +@param pDstBuffer + list of memory buffers to use to deliver IQs from XRAN layer to PHY (UL) +@param pDstCpBuffer + list of memory buffers to use to configure C-plane (UL) +@param xran_transport_callback_fn pCallback + Callback function to call with arrival of all packets for given CC for given symbol +@param pCallbackTag + Parameters of Callback function + +@return + 0 - on success + -1 - on error +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a814959a7b5ff6cd4474433f62312eee0'; + func-mem-ref-line = '54'; + func-mem-ref-name = 'XRAN_STATUS_SUCCESS'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1aa09e72e94d2a1d891e86f4c09b0f8b21'; + func-mem-ref-line = '223'; + func-mem-ref-name = 'xran_dev_get_ctx'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__printf_8h_1a417ba2c3b49b216e358bc340346bf1cf'; + func-mem-ref-line = '54'; + func-mem-ref-name = 'print_dbg'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a4a957453875309739caacdd651bdab75'; + func-mem-ref-line = '58'; + func-mem-ref-name = 'XRAN_STATUS_FAIL'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a3e89a68b1b304e37badf1e8a62a38527'; + func-mem-ref-line = '148'; + func-mem-ref-name = 'sectorHandleInfo::nIndex'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1af0963ba32cc8ecd280afd2e474eb426a'; + func-mem-ref-line = '109'; + func-mem-ref-name = 'XRAN_N_FE_BUF_LEN'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a35fa05e7523928c0c86cbcf835c12dc5'; + func-mem-ref-line = '111'; + func-mem-ref-name = 'XRAN_MAX_ANTENNA_NR'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1aeb7832eb5f4721f4a281feaacd1bb466'; + func-mem-ref-line = '222'; + func-mem-ref-name = 'xran_device_ctx::sFrontHaulTxBbuIoBufCtrl'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'sample-app_8c_1a48c33fa4a8f2f93d51cba58b78d3cd9f'; + func-mem-ref-line = '123'; + func-mem-ref-name = 'BbuIoBufCtrlStruct::bValid'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'sample-app_8c_1af00b094918ddba2073443dcd755141f6'; + func-mem-ref-line = '125'; + func-mem-ref-name = 'BbuIoBufCtrlStruct::nSegGenerated'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'sample-app_8c_1a7dc97933eadb8a8049057209c3303818'; + func-mem-ref-line = '124'; + func-mem-ref-name = 'BbuIoBufCtrlStruct::nSegToBeGen'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'sample-app_8c_1a09ab9a2f4541256129428a4ccabc6803'; + func-mem-ref-line = '127'; + func-mem-ref-name = 'BbuIoBufCtrlStruct::nSegTransferred'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'sample-app_8c_1ab79185e465507117d7b13fd30ec49f70'; + func-mem-ref-line = '129'; + func-mem-ref-name = 'BbuIoBufCtrlStruct::sBufferList'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a3d723fbd99a0f76d412b2b79931fbc6e'; + func-mem-ref-line = '594'; + func-mem-ref-name = 'xran_buffer_list::nNumBuffers'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a87d92ec177ed9c388685a91051f66205'; + func-mem-ref-line = '122'; + func-mem-ref-name = 'XRAN_NUM_OF_SYMBOL_PER_SLOT'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1afa8c44acddb126e8bb0652d7b4e4395e'; + func-mem-ref-line = '596'; + func-mem-ref-name = 'xran_buffer_list::pBuffers'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a9ef97a8be35f99eec4b85d06a3216762'; + func-mem-ref-line = '230'; + func-mem-ref-name = 'xran_device_ctx::sFrontHaulTxBuffers'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a964fb75fa6395056fade4167354019f5'; + func-mem-ref-line = '223'; + func-mem-ref-name = 'xran_device_ctx::sFrontHaulTxPrbMapBbuIoBufCtrl'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1ad1cf1b34ac94d618897d8767cbfc7c44'; + func-mem-ref-line = '231'; + func-mem-ref-name = 'xran_device_ctx::sFrontHaulTxPrbMapBuffers'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1af3ad0b6136919aabcdbac46b754aa7ed'; + func-mem-ref-line = '224'; + func-mem-ref-name = 'xran_device_ctx::sFrontHaulRxBbuIoBufCtrl'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a1dfd09a710fa1cf63f61883a284a5f0f'; + func-mem-ref-line = '232'; + func-mem-ref-name = 'xran_device_ctx::sFrontHaulRxBuffers'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a3bfdc9ec9f4c738715460ddd03f0833f'; + func-mem-ref-line = '225'; + func-mem-ref-name = 'xran_device_ctx::sFrontHaulRxPrbMapBbuIoBufCtrl'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a0c71464127a5828784d5775051f134d6'; + func-mem-ref-line = '233'; + func-mem-ref-name = 'xran_device_ctx::sFrontHaulRxPrbMapBuffers'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a023feefd3cb93d648f673ce1a8c79563'; + func-mem-ref-line = '238'; + func-mem-ref-name = 'xran_device_ctx::pCallback'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a4bb009dc28deffeccf1559528dbc5bee'; + func-mem-ref-line = '239'; + func-mem-ref-name = 'xran_device_ctx::pCallbackTag'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a0ac55d6b8988083425a147f343c34455'; + func-mem-ref-line = '256'; + func-mem-ref-name = 'xran_device_ctx::xran2phy_mem_ready'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'init__sys__functional_8cc_1ac2f03036711a42868a78783b735097e5'; + func-mem-ref-line = '120'; + func-mem-ref-name = 'TEST_P'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__lib__wrap_8hpp_1ad93226058ef4fd59bd7d0cd55701b752'; + func-mem-ref-line = '936'; + func-mem-ref-name = 'xranLibWraper::Open'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__fh__o__du_8h_1ab204e979de14c21d34e9b88c6c700d25'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_5g_prach_req'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pHandle'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_buffer_list * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pDstBuffer'; + func-mem-param-array = '[XRAN_MAX_ANTENNA_NR][XRAN_N_FE_BUF_LEN]'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +xran_transport_callback_fn +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pCallback'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pCallbackTag'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + func-mem-desc-line = '786'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + Function configures PRACH output buffers and callback for XRAN layer with given handle + +@param pHandle + Pointer to XRAN layer handle for given CC +@param pDstBuffer + list of memory buffers to use to deliver PRACH IQs from xran layer to PHY +@param xran_transport_callback_fn pCallback + Callback function to call with arrival of PRACH packets for given CC +@param pCallbackTag + Parameters of Callback function + +@return + 0 - on success + -1 - on error +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a814959a7b5ff6cd4474433f62312eee0'; + func-mem-ref-line = '54'; + func-mem-ref-name = 'XRAN_STATUS_SUCCESS'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1aa09e72e94d2a1d891e86f4c09b0f8b21'; + func-mem-ref-line = '223'; + func-mem-ref-name = 'xran_dev_get_ctx'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a4a957453875309739caacdd651bdab75'; + func-mem-ref-line = '58'; + func-mem-ref-name = 'XRAN_STATUS_FAIL'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a3e89a68b1b304e37badf1e8a62a38527'; + func-mem-ref-line = '148'; + func-mem-ref-name = 'sectorHandleInfo::nIndex'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1af0963ba32cc8ecd280afd2e474eb426a'; + func-mem-ref-line = '109'; + func-mem-ref-name = 'XRAN_N_FE_BUF_LEN'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a35fa05e7523928c0c86cbcf835c12dc5'; + func-mem-ref-line = '111'; + func-mem-ref-name = 'XRAN_MAX_ANTENNA_NR'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a4bcca72021c589be2adf3647647a1232'; + func-mem-ref-line = '226'; + func-mem-ref-name = 'xran_device_ctx::sFHPrachRxBbuIoBufCtrl'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'sample-app_8c_1a48c33fa4a8f2f93d51cba58b78d3cd9f'; + func-mem-ref-line = '123'; + func-mem-ref-name = 'BbuIoBufCtrlStruct::bValid'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'sample-app_8c_1af00b094918ddba2073443dcd755141f6'; + func-mem-ref-line = '125'; + func-mem-ref-name = 'BbuIoBufCtrlStruct::nSegGenerated'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'sample-app_8c_1a7dc97933eadb8a8049057209c3303818'; + func-mem-ref-line = '124'; + func-mem-ref-name = 'BbuIoBufCtrlStruct::nSegToBeGen'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'sample-app_8c_1a09ab9a2f4541256129428a4ccabc6803'; + func-mem-ref-line = '127'; + func-mem-ref-name = 'BbuIoBufCtrlStruct::nSegTransferred'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'sample-app_8c_1ab79185e465507117d7b13fd30ec49f70'; + func-mem-ref-line = '129'; + func-mem-ref-name = 'BbuIoBufCtrlStruct::sBufferList'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a3d723fbd99a0f76d412b2b79931fbc6e'; + func-mem-ref-line = '594'; + func-mem-ref-name = 'xran_buffer_list::nNumBuffers'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1afa8c44acddb126e8bb0652d7b4e4395e'; + func-mem-ref-line = '596'; + func-mem-ref-name = 'xran_buffer_list::pBuffers'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a7976d6beded6455154f323e1e542f085'; + func-mem-ref-line = '234'; + func-mem-ref-name = 'xran_device_ctx::sFHPrachRxBuffers'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a5f7077fcb0eef30eca298a156e25ec0c'; + func-mem-ref-line = '241'; + func-mem-ref-name = 'xran_device_ctx::pPrachCallback'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a023feefd3cb93d648f673ce1a8c79563'; + func-mem-ref-line = '238'; + func-mem-ref-name = 'xran_device_ctx::pCallback'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a31909ed26aa2152e78db6fc72237b5d1'; + func-mem-ref-line = '242'; + func-mem-ref-name = 'xran_device_ctx::pPrachCallbackTag'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a4bb009dc28deffeccf1559528dbc5bee'; + func-mem-ref-line = '239'; + func-mem-ref-name = 'xran_device_ctx::pCallbackTag'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'init__sys__functional_8cc_1ac2f03036711a42868a78783b735097e5'; + func-mem-ref-line = '120'; + func-mem-ref-name = 'TEST_P'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__lib__wrap_8hpp_1ad93226058ef4fd59bd7d0cd55701b752'; + func-mem-ref-line = '936'; + func-mem-ref-name = 'xranLibWraper::Open'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__fh__o__du_8h_1a2bd01fc3432f80a787d6bf317949dd80'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_5g_srs_req'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pHandle'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_buffer_list * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pDstBuffer'; + func-mem-param-array = '[XRAN_MAX_ANT_ARRAY_ELM_NR][XRAN_N_FE_BUF_LEN]'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +xran_transport_callback_fn +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pCallback'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pCallbackTag'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + func-mem-desc-line = '809'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + Function configures SRS output buffers and callback for XRAN layer with given handle + +@param pHandle + Pointer to XRAN layer handle for given CC +@param pDstBuffer + list of memory buffers to use to deliver SRS IQs from xran layer to PHY +@param xran_transport_callback_fn pCallback + Callback function to call with arrival of SRS packets for given CC +@param pCallbackTag + Parameters of Callback function + +@return + 0 - on success + -1 - on error +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a814959a7b5ff6cd4474433f62312eee0'; + func-mem-ref-line = '54'; + func-mem-ref-name = 'XRAN_STATUS_SUCCESS'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1aa09e72e94d2a1d891e86f4c09b0f8b21'; + func-mem-ref-line = '223'; + func-mem-ref-name = 'xran_dev_get_ctx'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a4a957453875309739caacdd651bdab75'; + func-mem-ref-line = '58'; + func-mem-ref-name = 'XRAN_STATUS_FAIL'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a3e89a68b1b304e37badf1e8a62a38527'; + func-mem-ref-line = '148'; + func-mem-ref-name = 'sectorHandleInfo::nIndex'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1af0963ba32cc8ecd280afd2e474eb426a'; + func-mem-ref-line = '109'; + func-mem-ref-name = 'XRAN_N_FE_BUF_LEN'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1af3e0ced3530652b3c92220c8783b55fa'; + func-mem-ref-line = '118'; + func-mem-ref-name = 'XRAN_MAX_ANT_ARRAY_ELM_NR'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a8d643c55cfe976d88d44beefc0af0dff'; + func-mem-ref-line = '227'; + func-mem-ref-name = 'xran_device_ctx::sFHSrsRxBbuIoBufCtrl'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'sample-app_8c_1a48c33fa4a8f2f93d51cba58b78d3cd9f'; + func-mem-ref-line = '123'; + func-mem-ref-name = 'BbuIoBufCtrlStruct::bValid'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'sample-app_8c_1af00b094918ddba2073443dcd755141f6'; + func-mem-ref-line = '125'; + func-mem-ref-name = 'BbuIoBufCtrlStruct::nSegGenerated'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'sample-app_8c_1a7dc97933eadb8a8049057209c3303818'; + func-mem-ref-line = '124'; + func-mem-ref-name = 'BbuIoBufCtrlStruct::nSegToBeGen'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'sample-app_8c_1a09ab9a2f4541256129428a4ccabc6803'; + func-mem-ref-line = '127'; + func-mem-ref-name = 'BbuIoBufCtrlStruct::nSegTransferred'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'sample-app_8c_1ab79185e465507117d7b13fd30ec49f70'; + func-mem-ref-line = '129'; + func-mem-ref-name = 'BbuIoBufCtrlStruct::sBufferList'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a3d723fbd99a0f76d412b2b79931fbc6e'; + func-mem-ref-line = '594'; + func-mem-ref-name = 'xran_buffer_list::nNumBuffers'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1afa8c44acddb126e8bb0652d7b4e4395e'; + func-mem-ref-line = '596'; + func-mem-ref-name = 'xran_buffer_list::pBuffers'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a8d0c3597635cdeb50f50f5c43d36e875'; + func-mem-ref-line = '236'; + func-mem-ref-name = 'xran_device_ctx::sFHSrsRxBuffers'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a09221a6b8c8f4910a8d0ab9f14aa8d9b'; + func-mem-ref-line = '244'; + func-mem-ref-name = 'xran_device_ctx::pSrsCallback'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a023feefd3cb93d648f673ce1a8c79563'; + func-mem-ref-line = '238'; + func-mem-ref-name = 'xran_device_ctx::pCallback'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1aa1ab602d8bd88daec92581433fee0ff3'; + func-mem-ref-line = '245'; + func-mem-ref-name = 'xran_device_ctx::pSrsCallbackTag'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a4bb009dc28deffeccf1559528dbc5bee'; + func-mem-ref-line = '239'; + func-mem-ref-name = 'xran_device_ctx::pCallbackTag'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__fh__o__du_8h_1ac5d259c362d10b47c233b5098052cbf2'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_get_time_stats'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint64_t * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'total_time'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint64_t * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'used_time'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint32_t * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'core_used'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'clear'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + func-mem-desc-line = '832'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + Function returns XRAN core utilization stats + +@param total_time (out) + Pointer to variable to store Total time thread has been running +@param used_time (out) + Pointer to variable to store Total time essential tasks have been running on the thread +@param core_used (out) + Pointer to variable to store Core on which the XRAN thread is running +@param clear (in) + If set to 1, then internal variables total_time and used_time are cleared + +@return + 0 - on success +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__fh__o__du_8h_1a03f408f45e97aa68ca47c92e4e7d1a70'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_open'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pHandle'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_fh_config * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pConf'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + func-mem-desc-line = '847'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + Function opens XRAN layer with given handle + +@param pHandle + Pointer to XRAN layer handle for given CC +@param pointer to struct xran_fh_config pConf + Pointer to XRAN configuration structure with specific settings to use + +@return + 0 - on success +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1aa09e72e94d2a1d891e86f4c09b0f8b21'; + func-mem-ref-line = '223'; + func-mem-ref-name = 'xran_dev_get_ctx'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a4adf91126704ea524f98f461f6180c85'; + func-mem-ref-line = '209'; + func-mem-ref-name = 'xran_device_ctx::fh_cfg'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a583c2f58d0655789ea36e22d605ab9ad'; + func-mem-ref-line = '523'; + func-mem-ref-name = 'xran_fh_config::log_level'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a27ff648f80c139235421b81f957fcb7e'; + func-mem-ref-line = '518'; + func-mem-ref-name = 'xran_fh_config::ru_conf'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1af92ff2dfd2bddd0880d779c04b9fb359'; + func-mem-ref-line = '484'; + func-mem-ref-name = 'xran_ru_config::xranCat'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1abf0211a253f5881ebad3910cef98d30ea25cae7703b653209b61647fa65ac7e9f'; + func-mem-ref-line = '264'; + func-mem-ref-name = 'XRAN_CATEGORY_A'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1ae6070ee9caf6a7ea8d7ef052ed0a559a'; + func-mem-ref-line = '2995'; + func-mem-ref-name = 'xran_get_conf_numerology'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a6dcac3ea0b3d99c20c2e6f7091b8b342'; + func-mem-ref-line = '500'; + func-mem-ref-name = 'xran_fh_config::nCC'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a34dbe5e515cc78b4ce26fa287e6c1edc'; + func-mem-ref-line = '110'; + func-mem-ref-name = 'XRAN_MAX_SECTOR_NR'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1ad1b1309ca2645e24fa201f8decae1988'; + func-mem-ref-line = '490'; + func-mem-ref-name = 'xran_ru_config::iqOrder'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a0d9cb4cebbc59a8fa5bfef7547898859a0064217ac0728d6ac2d4f92d95db0d21'; + func-mem-ref-line = '478'; + func-mem-ref-name = 'XRAN_I_Q_ORDER'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a74e72997edeea7f9f1696baffb9989b4'; + func-mem-ref-line = '489'; + func-mem-ref-name = 'xran_ru_config::byteOrder'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1ab5ce6839bae2968c79930a0bfa17f4d8a61bd03fd3153385f6791bd16e55892b8'; + func-mem-ref-line = '472'; + func-mem-ref-name = 'XRAN_NE_BE_BYTE_ORDER'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__printf_8h_1a16c2c0a30b31515830a4a8eff6cf10b5'; + func-mem-ref-line = '62'; + func-mem-ref-name = 'print_err'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a4a957453875309739caacdd651bdab75'; + func-mem-ref-line = '58'; + func-mem-ref-name = 'XRAN_STATUS_FAIL'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1a00025c5bad7b7b6eea4374226f8c54bb'; + func-mem-ref-line = '308'; + func-mem-ref-name = 'xran_init_prach'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1acb5dd6ae5569cb3090d441c800068244'; + func-mem-ref-line = '294'; + func-mem-ref-name = 'xran_init_srs'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8c_1a3ca98b2a49501149a7b5baf9174897d8'; + func-mem-ref-line = '66'; + func-mem-ref-name = 'xran_cp_init_sectiondb'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1a54de92e0ced826beeb759580d170562b'; + func-mem-ref-line = '278'; + func-mem-ref-name = 'xran_init_sectionid'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1a7a3c06a23d41de0038747348be9bb9da'; + func-mem-ref-line = '400'; + func-mem-ref-name = 'xran_init_seqid'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a7a25206e77e83a57fd036102cebfb4f0'; + func-mem-ref-line = '491'; + func-mem-ref-name = 'xran_ru_config::xran_max_frame'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1a7a25206e77e83a57fd036102cebfb4f0'; + func-mem-ref-line = '116'; + func-mem-ref-name = 'xran_max_frame'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1a4420e8cf61fbcd985ef37ef3425dc899'; + func-mem-ref-line = '109'; + func-mem-ref-name = 'interval_us'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__frame__struct_8c_1a8e8598556da3e49fa48cb646c24162fa'; + func-mem-ref-line = '108'; + func-mem-ref-name = 'xran_fs_get_tti_interval'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__timer_8c_1a6c1790e87767257159038d0d98a393e6'; + func-mem-ref-line = '93'; + func-mem-ref-name = 'timing_set_numerology'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__frame__struct_8c_1a075025c7652869adb79799313aab4f64'; + func-mem-ref-line = '346'; + func-mem-ref-name = 'xran_fs_set_slot_type'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a72b0cba491d0dd2703d684cb2c2a14cf'; + func-mem-ref-line = '517'; + func-mem-ref-name = 'xran_fh_config::frame_conf'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a3b86317723a592e240c0047e53a6326d'; + func-mem-ref-line = '460'; + func-mem-ref-name = 'xran_frame_config::nFrameDuplexType'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a53a1d989c6dee827495401b1973c9ef8'; + func-mem-ref-line = '464'; + func-mem-ref-name = 'xran_frame_config::nTddPeriod'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a4664e9a9005020b4a98ada2d256906e2'; + func-mem-ref-line = '465'; + func-mem-ref-name = 'xran_frame_config::sSlotConfig'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__frame__struct_8c_1a2fd9b68ce2fa4734a021203b320e4e04'; + func-mem-ref-line = '309'; + func-mem-ref-name = 'xran_fs_slot_limit_init'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'prach__functional_8cc_1a62307393b7f454a2b348ada67997b796'; + func-mem-ref-line = '177'; + func-mem-ref-name = 'TEST_P'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__lib__wrap_8hpp_1ad93226058ef4fd59bd7d0cd55701b752'; + func-mem-ref-line = '936'; + func-mem-ref-name = 'xranLibWraper::Open'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__fh__o__du_8h_1ad4852c0827600db95f9841e2f5f9f6f1'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_start'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pHandle'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + func-mem-desc-line = '860'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + Function starts XRAN layer with given handle + +@param pHandle + Pointer to XRAN layer handle for given CC + +@return + 0 - on success +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1a937105f52446cfcb951e43e1dc3c4d8b'; + func-mem-ref-line = '238'; + func-mem-ref-name = 'xran_get_if_state'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a2f600110ab5726a0f21375b7f24c0326a35916b54fc6804c2f2dc1f5891f3047e'; + func-mem-ref-line = '192'; + func-mem-ref-name = 'XRAN_RUNNING'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__printf_8h_1a16c2c0a30b31515830a4a8eff6cf10b5'; + func-mem-ref-line = '62'; + func-mem-ref-name = 'print_err'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'ethdi_8c_1aef5f52e6a4f49171518a59382eb03df5'; + func-mem-ref-line = '75'; + func-mem-ref-name = 'xran_if_current_state'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__lib__wrap_8hpp_1af9989f7ffd89540fc26371e24a29fefc'; + func-mem-ref-line = '990'; + func-mem-ref-name = 'xranLibWraper::Start'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__fh__o__du_8h_1a8f2daee2fe90126f1f7c361b7760a7a3'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_stop'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pHandle'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + func-mem-desc-line = '873'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + Function stops XRAN layer with given handle + +@param pHandle + Pointer to XRAN layer handle for given CC + +@return + 0 - on success +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1a937105f52446cfcb951e43e1dc3c4d8b'; + func-mem-ref-line = '238'; + func-mem-ref-name = 'xran_get_if_state'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a2f600110ab5726a0f21375b7f24c0326a57a68dd3f4413f7cc255838c4442938c'; + func-mem-ref-line = '193'; + func-mem-ref-name = 'XRAN_STOPPED'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__printf_8h_1a16c2c0a30b31515830a4a8eff6cf10b5'; + func-mem-ref-line = '62'; + func-mem-ref-name = 'print_err'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'ethdi_8c_1aef5f52e6a4f49171518a59382eb03df5'; + func-mem-ref-line = '75'; + func-mem-ref-name = 'xran_if_current_state'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__lib__wrap_8hpp_1af7c499a1fa8e52a104500d7d01c1a280'; + func-mem-ref-line = '998'; + func-mem-ref-name = 'xranLibWraper::Stop'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__fh__o__du_8h_1a2f8866c9d6536a56e4d8232b8c45808b'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_close'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pHandle'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + func-mem-desc-line = '886'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + Function closes XRAN layer with given handle + +@param pHandle + Pointer to XRAN layer handle for given CC + +@return + 0 - on success +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'ethdi_8c_1aef5f52e6a4f49171518a59382eb03df5'; + func-mem-ref-line = '75'; + func-mem-ref-name = 'xran_if_current_state'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a2f600110ab5726a0f21375b7f24c0326a57a68dd3f4413f7cc255838c4442938c'; + func-mem-ref-line = '193'; + func-mem-ref-name = 'XRAN_STOPPED'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__lib__wrap_8hpp_1a931587596081ef8178c2b128facb0411'; + func-mem-ref-line = '729'; + func-mem-ref-name = 'xranLibWraper::TearDown'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__lib__wrap_8hpp_1a7f7a3199c392465d0767c6506c1af5b4'; + func-mem-ref-line = '984'; + func-mem-ref-name = 'xranLibWraper::Close'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__fh__o__du_8h_1adfcabe4091a4782ecb9ca029314c99ca'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_reg_sym_cb'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pHandle'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +xran_callback_sym_fn +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'symCb'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'symCbParam'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'symb'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'ant'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + func-mem-desc-line = '908'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + Function registers callback to XRAN layer. Function support callbacks aligned on packet arrival. + +@param pHandle + Pointer to XRAN layer handle for given CC +@param symCb + pointer to callback function +@param symCb + pointer to Callback Function parameters +@param symb + symbol to be register for +@param ant + Antenna number to trigger callback for packet arrival + +@return + 0 - in case of success + -1 - in case of failure +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1a937105f52446cfcb951e43e1dc3c4d8b'; + func-mem-ref-line = '238'; + func-mem-ref-name = 'xran_get_if_state'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a2f600110ab5726a0f21375b7f24c0326a35916b54fc6804c2f2dc1f5891f3047e'; + func-mem-ref-line = '192'; + func-mem-ref-name = 'XRAN_RUNNING'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__printf_8h_1a16c2c0a30b31515830a4a8eff6cf10b5'; + func-mem-ref-line = '62'; + func-mem-ref-name = 'print_err'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'init__sys__functional_8cc_1a7b1dc2a3c7a3d8e2eb7f2616417feb75'; + func-mem-ref-line = '268'; + func-mem-ref-name = 'TEST_P'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__fh__o__du_8h_1aa8354b56b0be4be47c44a8a5c38db86e'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_reg_physide_cb'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pHandle'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +xran_fh_tti_callback_fn +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'Cb'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'cbParam'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'skipTtiNum'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +enum +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'callback_to_phy_id'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + func-mem-desc-line = '931'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + Function registers callback to XRAN layer. Function support callbacks align to OTA time. TTI even, half of slot, + full slot with respect to PTP time. + +@param pHandle + Pointer to XRAN layer handle for given CC +@param Cb + pointer to callback function +@param cbParam + pointer to Callback Function parameters +@param skipTtiNum + number of calls to be skipped before first call +@param callback_to_phy_id + call back time identification (see enum callback_to_phy_id) + +@return + 0 - in case of success + -1 - in case of failure +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1aa09e72e94d2a1d891e86f4c09b0f8b21'; + func-mem-ref-line = '223'; + func-mem-ref-name = 'xran_dev_get_ctx'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1a937105f52446cfcb951e43e1dc3c4d8b'; + func-mem-ref-line = '238'; + func-mem-ref-name = 'xran_get_if_state'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a2f600110ab5726a0f21375b7f24c0326a35916b54fc6804c2f2dc1f5891f3047e'; + func-mem-ref-line = '192'; + func-mem-ref-name = 'XRAN_RUNNING'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__printf_8h_1a16c2c0a30b31515830a4a8eff6cf10b5'; + func-mem-ref-line = '62'; + func-mem-ref-name = 'print_err'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a88a1e1ec152b7daa669176e91660aead'; + func-mem-ref-line = '252'; + func-mem-ref-name = 'xran_device_ctx::ttiCb'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1ab85e177210025d9e720d2696965c5af4'; + func-mem-ref-line = '253'; + func-mem-ref-name = 'xran_device_ctx::TtiCbParam'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1abd4614a35f8f2cba7d7a671c9e545573'; + func-mem-ref-line = '254'; + func-mem-ref-name = 'xran_device_ctx::SkipTti'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'init__sys__functional_8cc_1a74a4819defc7dbd1cfa7e793456be743'; + func-mem-ref-line = '244'; + func-mem-ref-name = 'TEST_P'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__lib__wrap_8hpp_1ad93226058ef4fd59bd7d0cd55701b752'; + func-mem-ref-line = '936'; + func-mem-ref-name = 'xranLibWraper::Open'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__fh__o__du_8h_1a2816fdf0ed3269e998720d01c2b6bf76'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_get_slot_idx'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint32_t * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'nFrameIdx'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint32_t * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'nSubframeIdx'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint32_t * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'nSlotIdx'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint64_t * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'nSecond'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + func-mem-desc-line = '953'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + Function returns current TTI, Frame, Subframe, Slot Number as seen "Over air" base on PTP time + +@param nFrameIdx + Pointer to Frame number [0-99] + +@param nSubframeIdx + Pointer to Subframe number [0-10] + +@param nSlotIdx + Pointer to Slot number [0-7] + +@param nSecond + Pointer to current UTC second + +@return + current TTI number [0-7999] +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1aa76014e778bb54907d85e05cac204d71'; + func-mem-ref-line = '98'; + func-mem-ref-name = 'XranGetTtiNum'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1a98175f360f5753bc99c4edd3c2d8bd04'; + func-mem-ref-line = '113'; + func-mem-ref-name = 'xran_lib_ota_sym_idx'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a87d92ec177ed9c388685a91051f66205'; + func-mem-ref-line = '122'; + func-mem-ref-name = 'XRAN_NUM_OF_SYMBOL_PER_SLOT'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a36c7ae37e30524321b18fde971372b92'; + func-mem-ref-line = '106'; + func-mem-ref-name = 'XranGetSlotNum'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a76e4794a93b44d5f6bd835f1640f7f4f'; + func-mem-ref-line = '54'; + func-mem-ref-name = 'SLOTNUM_PER_SUBFRAME'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a5ca2a2076a042acdca2e326a436a7882'; + func-mem-ref-line = '104'; + func-mem-ref-name = 'XranGetSubFrameNum'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'common_8h_1a695a7a6db2c879d5a4ec04a4bc99d0e4'; + func-mem-ref-line = '57'; + func-mem-ref-name = 'SUBFRAMES_PER_SYSTEMFRAME'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a5a8a3a7c7c4ff43865b57971dfbf0aa6'; + func-mem-ref-line = '102'; + func-mem-ref-name = 'XranGetFrameNum'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'init__sys__functional_8cc_1a593270c79e8ce298caeb715272c65173'; + func-mem-ref-line = '226'; + func-mem-ref-name = 'TEST_P'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1ad4544f4d6f4713c010f083bce5758d14'; + func-mem-ref-line = '963'; + func-mem-ref-name = 'rx_ul_deadline_half_cb'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1a63aa00dad3b771f4db5df8ca8ac68323'; + func-mem-ref-line = '999'; + func-mem-ref-name = 'rx_ul_deadline_full_cb'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__fh__o__du_8h_1ac153c5a3e3f4f64ab0fafca6f593c380'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_get_common_counters'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pXranLayerHandle'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_common_counters * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pStats'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + func-mem-desc-line = '969'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + Function retrun XRAN layer common counters for given handle + +@param pHandle + Pointer to XRAN layer handle for given CC + +@param pStats + Pointer to pointer of common counter structure + +@return + 0 - on success +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1ad2bc382255cb424431bb7515a796e5bf'; + func-mem-ref-line = '271'; + func-mem-ref-name = 'xran_device_ctx::fh_counters'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a814959a7b5ff6cd4474433f62312eee0'; + func-mem-ref-line = '54'; + func-mem-ref-name = 'XRAN_STATUS_SUCCESS'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1aad8a35383b986f4ca80437468b6c625f'; + func-mem-ref-line = '75'; + func-mem-ref-name = 'XRAN_STATUS_INVALID_PARAM'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'init__sys__functional_8cc_1a8e9607426b34de712f7d450018d0dc05'; + func-mem-ref-line = '210'; + func-mem-ref-name = 'TEST_P'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__fh__o__du_8h_1a937105f52446cfcb951e43e1dc3c4d8b'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +enum xran_if_state +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_get_if_state'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + func-mem-desc-line = '969'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + Function returns status of operation of FH layer + +@return + XRAN_INIT - init state + XRAN_RUNNING - running + XRAN_STOPPED - stopped +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'ethdi_8c_1aef5f52e6a4f49171518a59382eb03df5'; + func-mem-ref-line = '75'; + func-mem-ref-name = 'xran_if_current_state'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__lib__wrap_8hpp_1a61da580fc69a74f3ef17956ba5fd88a0'; + func-mem-ref-line = '1114'; + func-mem-ref-name = 'xranLibWraper::is_running'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1ad4852c0827600db95f9841e2f5f9f6f1'; + func-mem-ref-line = '2841'; + func-mem-ref-name = 'xran_start'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1a8f2daee2fe90126f1f7c361b7760a7a3'; + func-mem-ref-line = '2852'; + func-mem-ref-name = 'xran_stop'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1a4120602c15ddabfc3372e238d17f0414'; + func-mem-ref-line = '2877'; + func-mem-ref-name = 'xran_mm_destroy'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1adfcabe4091a4782ecb9ca029314c99ca'; + func-mem-ref-line = '2888'; + func-mem-ref-name = 'xran_reg_sym_cb'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1a57bc216aff0d372305a6d13a072c605b'; + func-mem-ref-line = '2900'; + func-mem-ref-name = 'xran_reg_physide_cb'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1ad1ada9c5c57979c50f1a17a9050b8f3a'; + func-mem-ref-line = '2918'; + func-mem-ref-name = 'xran_register_cb_mbuf2ring'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__fh__o__du_8h_1ad32fb64c20521dbcfeb317e143046e27'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_malloc'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +size_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'buf_len'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + func-mem-desc-line = '996'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + Function allocates memory of given size from heap + +@param buf_len + buffer size + +@return + ptr - to memory buffer or NULL +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__fh__o__du_8h_1a68b53cf51fb3aee4a6d8be54d540965a'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t * +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_add_hdr_offset'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'dst'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +int16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'compMethod'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + func-mem-desc-line = '1012'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + Function calculates offset for ptr according to ORAN headers requared + +@param dst + pointer to be addjusted +@compMethod + compression method according to enum xran_compression_method + +@return + ptr - pointer to payload given header requared +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1afc082593977ad91f3dcdd2175cb74615a7fbf705170e00d2ce3e838fa9826ca8d'; + func-mem-ref-line = '204'; + func-mem-ref-name = 'XRAN_COMPMETHOD_NONE'; + }; + }; /* func-member */ + }; + file-full-name = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_fh_o_du.h'; + file-first-line = '1'; + file-briefdesc = <<_EnD_oF_dEf_TeXt_ +This file provides public interface to xRAN Front Haul layer implementation as defined in the + ORAN-WG4.CUS.0-v01.00 spec. Implementation specific to + Lower Layer Split Central Unit (O-DU): a logical node that includes the eNB/gNB functions as + listed in section 2.1 split option 7-2x, excepting those functions allocated exclusively to the O-RU. + The O-DU controls the operation of O-RUs for 5G NR Radio Access technology. +_EnD_oF_dEf_TeXt_; + file-documentation = <<_EnD_oF_dEf_TeXt_ +@author Intel Corporation +_EnD_oF_dEf_TeXt_; +}; /* file */ +file = { + file-id = 'xran__frame__struct_8c'; + file-name = 'xran_frame_struct.c'; + enum = { + enum-member = { + enum-mem-kind = 'enum'; + enum-mem-id = 'xran__frame__struct_8c_1a6dc2f74f96bce0cce28b65f446b76bc9'; + enum-mem-virt = normal; + enum-mem-prot = public; + enum-mem-name = 'nXranChBwOptions'; + enum-mem-enum = { enum-name = XRAN_BW_5_0_MHZ; enum-value = '= 5'; }; + enum-mem-enum = { enum-name = XRAN_BW_10_0_MHZ; enum-value = '= 10'; }; + enum-mem-enum = { enum-name = XRAN_BW_15_0_MHZ; enum-value = '= 15'; }; + enum-mem-enum = { enum-name = XRAN_BW_20_0_MHZ; enum-value = '= 20'; }; + enum-mem-enum = { enum-name = XRAN_BW_25_0_MHZ; enum-value = '= 25'; }; + enum-mem-enum = { enum-name = XRAN_BW_30_0_MHZ; enum-value = '= 30'; }; + enum-mem-enum = { enum-name = XRAN_BW_40_0_MHZ; enum-value = '= 40'; }; + enum-mem-enum = { enum-name = XRAN_BW_50_0_MHZ; enum-value = '= 50'; }; + enum-mem-enum = { enum-name = XRAN_BW_60_0_MHZ; enum-value = '= 60'; }; + enum-mem-enum = { enum-name = XRAN_BW_70_0_MHZ; enum-value = '= 70'; }; + enum-mem-enum = { enum-name = XRAN_BW_80_0_MHZ; enum-value = '= 80'; }; + enum-mem-enum = { enum-name = XRAN_BW_90_0_MHZ; enum-value = '= 90'; }; + enum-mem-enum = { enum-name = XRAN_BW_100_0_MHZ; enum-value = '= 100'; }; + enum-mem-enum = { enum-name = XRAN_BW_200_0_MHZ; enum-value = '= 200'; }; + enum-mem-enum = { enum-name = XRAN_BW_400_0_MHZ; enum-value = '= 400'; }; + enum-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_frame_struct.c'; + enum-mem-desc-line = '37'; + enum-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + enum-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* enum-member */ + }; + func = { + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__frame__struct_8c_1a8e8598556da3e49fa48cb646c24162fa'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_fs_get_tti_interval'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'nMu'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_frame_struct.c'; + func-mem-desc-line = '108'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'common_8c_1a2d77acfd0f679f0a8a73ef14abc706a9'; + func-mem-ref-line = '128'; + func-mem-ref-name = 'nTtiInterval'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1a03f408f45e97aa68ca47c92e4e7d1a70'; + func-mem-ref-line = '2756'; + func-mem-ref-name = 'xran_open'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__frame__struct_8c_1a358977362c5bc0e3adc9f897994c0d09'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_fs_get_scs'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'nMu'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_frame_struct.c'; + func-mem-desc-line = '121'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'common_8c_1a8734b8bf5121975264c578e7a875adf6'; + func-mem-ref-line = '118'; + func-mem-ref-name = 'nSubCarrierSpacing'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__frame__struct_8c_1adef530f5f3ebc94606c692d8784ddaf2'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_fs_get_num_rbs'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'nNumerology'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'nBandwidth'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'nAbsFrePointA'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_frame_struct.c'; + func-mem-desc-line = '149'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@param[in] nNumerology - Numerology determine sub carrier spacing, Value: 0->4 0: 15khz, 1: 30khz, 2: 60khz 3: 120khz, 4: 240khz +@param[in] nBandwidth - Carrier bandwidth for in MHz. Value: 5->400 +@param[in] nAbsFrePointA - Abs Freq Point A of the Carrier Center Frequency for in KHz Value: 450000->52600000 + +@return Number of RBs in cell + +@description +Returns number of RBs based on 38.101-1 and 38.101-2 for the cell +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'gen__test_8m_1a887ee7a54247d19e5e93955a7b9663ae'; + func-mem-ref-line = '96'; + func-mem-ref-name = 'numRBs'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__frame__struct_8c_1a6dc2f74f96bce0cce28b65f446b76bc9af1715c0daef0f54811ab8a87f42742ee'; + func-mem-ref-line = '38'; + func-mem-ref-name = 'XRAN_BW_5_0_MHZ'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__frame__struct_8c_1acc4fa9a039885a36bec7d1f6b68de1b0'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_fs_cal_nrarfcn'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'nCenterFreq'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_frame_struct.c'; + func-mem-desc-line = '274'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@param[in] center frequency + +@return NR-ARFCN + +@description +This calculates NR-ARFCN value according to center frequency +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__frame__struct_8c_1a2fd9b68ce2fa4734a021203b320e4e04'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_fs_slot_limit_init'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'tti_interval_us'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_frame_struct.c'; + func-mem-desc-line = '309'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1a03f408f45e97aa68ca47c92e4e7d1a70'; + func-mem-ref-line = '2756'; + func-mem-ref-name = 'xran_open'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__frame__struct_8c_1a7f5a87395d3930f222e58976960c99e2'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_fs_get_max_slot'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_frame_struct.c'; + func-mem-desc-line = '316'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1a9c3700d61ba446fa9b05cca2ca9018ab'; + func-mem-ref-line = '632'; + func-mem-ref-name = 'tti_ota_cb'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__frame__struct_8c_1a00aa0f7cc00a6ca9cde2bec43eb1c9f9'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_fs_get_max_slot_SFN'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_frame_struct.c'; + func-mem-desc-line = '321'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1a63aa00dad3b771f4db5df8ca8ac68323'; + func-mem-ref-line = '999'; + func-mem-ref-name = 'rx_ul_deadline_full_cb'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__frame__struct_8c_1ac81b5cb02d886c3eb9e7f006ea1f62f4'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_fs_slot_limit'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'nSfIdx'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_frame_struct.c'; + func-mem-desc-line = '326'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'xran__frame__struct_8c_1a9cc99d80a722f6afd2aaf6c6bd2e8887'; + func-mem-ref-line = '477'; + func-mem-ref-name = 'xran_fs_get_slot_type'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__frame__struct_8c_1a3ad2b8ea8fe3559ce6d0195ed25dca11'; + func-mem-ref-line = '508'; + func-mem-ref-name = 'xran_fs_get_symbol_type'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__frame__struct_8c_1a907e2367ffa2ddb6776aad8e15715a3a'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_fs_clear_slot_type'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'nPhyInstanceId'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_frame_struct.c'; + func-mem-desc-line = '339'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__frame__struct_8c_1a075025c7652869adb79799313aab4f64'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_fs_set_slot_type'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'nPhyInstanceId'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'nFrameDuplexType'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'nTddPeriod'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_slot_config * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'psSlotConfig'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_frame_struct.c'; + func-mem-desc-line = '346'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a581b66d2fea333f0a2e9ca3f9589fd89'; + func-mem-ref-line = '143'; + func-mem-ref-name = 'XRAN_SLOT_TYPE_LAST'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1a03f408f45e97aa68ca47c92e4e7d1a70'; + func-mem-ref-line = '2756'; + func-mem-ref-name = 'xran_open'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__frame__struct_8c_1a875ef2ff0c44ad26c75bebe2a4732c80'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_fs_get_slot_type'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'nCellIdx'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'nSlotdx'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'nType'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_frame_struct.c'; + func-mem-desc-line = '477'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__frame__struct_8c_1ac81b5cb02d886c3eb9e7f006ea1f62f4'; + func-mem-ref-line = '326'; + func-mem-ref-name = 'xran_fs_slot_limit'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__frame__struct_8c_1a3ad2b8ea8fe3559ce6d0195ed25dca11'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_fs_get_symbol_type'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'nCellIdx'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'nSlotdx'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'nSymbIdx'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_frame_struct.c'; + func-mem-desc-line = '508'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__frame__struct_8c_1ac81b5cb02d886c3eb9e7f006ea1f62f4'; + func-mem-ref-line = '326'; + func-mem-ref-name = 'xran_fs_slot_limit'; + }; + }; /* func-member */ + }; + var = { + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__frame__struct_8c_1adeaca85bff8e90492381b51b5dd5b55c'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +static uint16_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'nNumRbsPerSymF1'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += +{ + + {25, 52, 79, 106, 133, 160, 216, 270, 0, 0, 0, 0, 0}, + {11, 24, 38, 51, 65, 78, 106, 133, 162, 0, 217, 245, 273}, + {0, 11, 18, 24, 31, 38, 51, 65, 79, 0, 107, 121, 135} +} +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_frame_struct.c'; + var-mem-desc-line = '44'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__frame__struct_8c_1ac5b0db7e5c13fb0650285fa9f40a5038'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +static uint16_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'nNumRbsPerSymF2'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += +{ + + {66, 132, 264, 0}, + {32, 66, 132, 264} +} +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_frame_struct.c'; + var-mem-desc-line = '53'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__frame__struct_8c_1a8734b8bf5121975264c578e7a875adf6'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +static uint16_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'nSubCarrierSpacing'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += +{ + 15, + 30, + 60, + 120, + 240 +} +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_frame_struct.c'; + var-mem-desc-line = '61'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__frame__struct_8c_1a2d77acfd0f679f0a8a73ef14abc706a9'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +static uint16_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'nTtiInterval'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += +{ + 1000, + 500, + 250, + 125, +} +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_frame_struct.c'; + var-mem-desc-line = '71'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__frame__struct_8c_1ad39b126a8b9123072b41967be14235ba'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +static uint16_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'nCpSizeF1'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += +{ + + {{40, 36}, {80, 72}, {120, 108}, {160, 144}, {160, 144}, {240, 216}, {320, 288}, {320, 288}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}}, + {{22, 18}, {44, 36}, {66, 54}, {88, 72}, {88, 72}, {132, 108}, {176, 144}, {176, 144}, {264, 216}, {264, 216}, {352, 288}, {352, 288}, {352, 288}}, + { {0, 0}, {26, 18}, {39, 27}, {52, 36}, {52, 36}, {78, 54}, {104, 72}, {104, 72}, {156, 108}, {156, 108}, {208, 144}, {208, 144}, {208, 144}}, +} +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_frame_struct.c'; + var-mem-desc-line = '80'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__frame__struct_8c_1a41b634e3c43560c0a29f60ddbf491d99'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +static int16_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'nCpSizeF2'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += +{ + + { {0, 0}, {104, 72}, {208, 144}, {416, 288}}, + {{68, 36}, {136, 72}, {272, 144}, {544, 288}}, +} +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_frame_struct.c'; + var-mem-desc-line = '89'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__frame__struct_8c_1ab4b4c08a38709385466e905e5f9f8b52'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +static uint32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'xran_fs_max_slot_num'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += 8000 +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_frame_struct.c'; + var-mem-desc-line = '96'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__frame__struct_8c_1a5751e3efa10049345ec2d3150bb8d52b'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +static uint32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'xran_fs_max_slot_num_SFN'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += 20480 +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_frame_struct.c'; + var-mem-desc-line = '97'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__frame__struct_8c_1a0edd12e984d49b5deec7ffc87564e0a2'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +static uint16_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'xran_fs_num_slot_tdd_loop'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += { XRAN_NUM_OF_SLOT_IN_TDD_LOOP } +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_frame_struct.c'; + var-mem-desc-line = '98'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__frame__struct_8c_1ac827954a8da080237e2ecab9f4eae3b6'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +static uint16_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'xran_fs_num_dl_sym_sp'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += {0} +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_frame_struct.c'; + var-mem-desc-line = '99'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__frame__struct_8c_1aa9beec8b58bf35d4fb02aad5fad641a7'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +static uint16_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'xran_fs_num_ul_sym_sp'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += {0} +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_frame_struct.c'; + var-mem-desc-line = '100'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__frame__struct_8c_1a3a0ea1c639ac51e7a34ca088fa2c3e4a'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +static uint8_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'xran_fs_slot_type'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += {{XRAN_SLOT_TYPE_INVALID}} +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_frame_struct.c'; + var-mem-desc-line = '101'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__frame__struct_8c_1a85da8d0eceae886f394391c5e276a491'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +static uint8_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'xran_fs_slot_symb_type'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += {{{XRAN_SLOT_TYPE_INVALID}}} +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_frame_struct.c'; + var-mem-desc-line = '102'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__frame__struct_8c_1a0525eb7f21da6dde9a0426577ec2b619'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +static float +_EnD_oF_dEf_TeXt_; + var-mem-name = 'xran_fs_ul_rate'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += {0.0} +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_frame_struct.c'; + var-mem-desc-line = '103'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__frame__struct_8c_1ac80bb75f44867f7fa3ae9a98afa83bf4'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +static float +_EnD_oF_dEf_TeXt_; + var-mem-name = 'xran_fs_dl_rate'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += {0.0} +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_frame_struct.c'; + var-mem-desc-line = '104'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__frame__struct_8c_1a7a25206e77e83a57fd036102cebfb4f0'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'xran_max_frame'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_frame_struct.c'; + var-mem-desc-line = '106'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ +value of max frame used. expected to be 99 (old compatibility mode) and 1023 as per section 9.7.2 System Frame Number Calculation +_EnD_oF_dEf_TeXt_; + var-mem-referenceby = { + var-mem-ref-id = 'xran__main_8c_1adbe808fba48ef1390180fb1bdc68c1d7'; + var-mem-ref-line = '201'; + var-mem-ref-name = 'xran_updateSfnSecStart'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'xran__main_8c_1a03f408f45e97aa68ca47c92e4e7d1a70'; + var-mem-ref-line = '2756'; + var-mem-ref-name = 'xran_open'; + }; + }; /* var-member */ + }; + file-full-name = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_frame_struct.c'; + file-first-line = '1'; + file-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + file-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; +}; /* file */ +file = { + file-id = 'xran__frame__struct_8h'; + file-name = 'xran_frame_struct.h'; + func = { + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__frame__struct_8h_1a8e8598556da3e49fa48cb646c24162fa'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_fs_get_tti_interval'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'nMu'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_frame_struct.h'; + func-mem-desc-line = '38'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'common_8c_1a2d77acfd0f679f0a8a73ef14abc706a9'; + func-mem-ref-line = '128'; + func-mem-ref-name = 'nTtiInterval'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1a03f408f45e97aa68ca47c92e4e7d1a70'; + func-mem-ref-line = '2756'; + func-mem-ref-name = 'xran_open'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__frame__struct_8h_1a358977362c5bc0e3adc9f897994c0d09'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_fs_get_scs'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'nMu'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_frame_struct.h'; + func-mem-desc-line = '39'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'common_8c_1a8734b8bf5121975264c578e7a875adf6'; + func-mem-ref-line = '118'; + func-mem-ref-name = 'nSubCarrierSpacing'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__frame__struct_8h_1adef530f5f3ebc94606c692d8784ddaf2'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_fs_get_num_rbs'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'nNumerology'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'nBandwidth'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'nAbsFrePointA'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_frame_struct.h'; + func-mem-desc-line = '55'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@param[in] nNumerology - Numerology determine sub carrier spacing, Value: 0->4 0: 15khz, 1: 30khz, 2: 60khz 3: 120khz, 4: 240khz +@param[in] nBandwidth - Carrier bandwidth for in MHz. Value: 5->400 +@param[in] nAbsFrePointA - Abs Freq Point A of the Carrier Center Frequency for in KHz Value: 450000->52600000 + +@return Number of RBs in cell + +@description +Returns number of RBs based on 38.101-1 and 38.101-2 for the cell +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'gen__test_8m_1a887ee7a54247d19e5e93955a7b9663ae'; + func-mem-ref-line = '96'; + func-mem-ref-name = 'numRBs'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__frame__struct_8c_1a6dc2f74f96bce0cce28b65f446b76bc9af1715c0daef0f54811ab8a87f42742ee'; + func-mem-ref-line = '38'; + func-mem-ref-name = 'XRAN_BW_5_0_MHZ'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__frame__struct_8h_1acc4fa9a039885a36bec7d1f6b68de1b0'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_fs_cal_nrarfcn'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'nCenterFreq'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_frame_struct.h'; + func-mem-desc-line = '69'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@param[in] center frequency + +@return NR-ARFCN + +@description +This calculates NR-ARFCN value according to center frequency +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__frame__struct_8h_1a2dae6c563c553fcc13a9cd3c87b9f37b'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_fs_slot_limit'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'nSlotIdx'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_frame_struct.h'; + func-mem-desc-line = '70'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'xran__frame__struct_8c_1a9cc99d80a722f6afd2aaf6c6bd2e8887'; + func-mem-ref-line = '477'; + func-mem-ref-name = 'xran_fs_get_slot_type'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__frame__struct_8c_1a3ad2b8ea8fe3559ce6d0195ed25dca11'; + func-mem-ref-line = '508'; + func-mem-ref-name = 'xran_fs_get_symbol_type'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__frame__struct_8h_1a74a51cc251882612b53feb4895bcab61'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_fs_clear_slot_type'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'nCcId'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_frame_struct.h'; + func-mem-desc-line = '71'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__frame__struct_8h_1a93baa96226b7790c8db4942f304269fc'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_fs_set_slot_type'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'nCcId'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'nFrameDuplexType'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'nTddPeriod'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_slot_config * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'psSlotConfig'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_frame_struct.h'; + func-mem-desc-line = '72'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a581b66d2fea333f0a2e9ca3f9589fd89'; + func-mem-ref-line = '143'; + func-mem-ref-name = 'XRAN_SLOT_TYPE_LAST'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1a03f408f45e97aa68ca47c92e4e7d1a70'; + func-mem-ref-line = '2756'; + func-mem-ref-name = 'xran_open'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__frame__struct_8h_1a9cc99d80a722f6afd2aaf6c6bd2e8887'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_fs_get_slot_type'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'nCcId'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'nSlotIdx'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'nType'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_frame_struct.h'; + func-mem-desc-line = '73'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__frame__struct_8c_1ac81b5cb02d886c3eb9e7f006ea1f62f4'; + func-mem-ref-line = '326'; + func-mem-ref-name = 'xran_fs_slot_limit'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__frame__struct_8h_1a2fd9b68ce2fa4734a021203b320e4e04'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_fs_slot_limit_init'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'tti_interval_us'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_frame_struct.h'; + func-mem-desc-line = '74'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1a03f408f45e97aa68ca47c92e4e7d1a70'; + func-mem-ref-line = '2756'; + func-mem-ref-name = 'xran_open'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__frame__struct_8h_1a7f5a87395d3930f222e58976960c99e2'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_fs_get_max_slot'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_frame_struct.h'; + func-mem-desc-line = '75'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1a9c3700d61ba446fa9b05cca2ca9018ab'; + func-mem-ref-line = '632'; + func-mem-ref-name = 'tti_ota_cb'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__frame__struct_8h_1a00aa0f7cc00a6ca9cde2bec43eb1c9f9'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_fs_get_max_slot_SFN'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_frame_struct.h'; + func-mem-desc-line = '76'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1a63aa00dad3b771f4db5df8ca8ac68323'; + func-mem-ref-line = '999'; + func-mem-ref-name = 'rx_ul_deadline_full_cb'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__frame__struct_8h_1a3ad2b8ea8fe3559ce6d0195ed25dca11'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_fs_get_symbol_type'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'nCellIdx'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'nSlotdx'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'nSymbIdx'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_frame_struct.h'; + func-mem-desc-line = '77'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__frame__struct_8c_1ac81b5cb02d886c3eb9e7f006ea1f62f4'; + func-mem-ref-line = '326'; + func-mem-ref-name = 'xran_fs_slot_limit'; + }; + }; /* func-member */ + }; + file-full-name = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_frame_struct.h'; + file-first-line = '1'; + file-briefdesc = <<_EnD_oF_dEf_TeXt_ +Header file for function to work with 5G NR frame structure and related + routines. +_EnD_oF_dEf_TeXt_; + file-documentation = <<_EnD_oF_dEf_TeXt_ +@author Intel Corporation +_EnD_oF_dEf_TeXt_; +}; /* file */ +file = { + file-id = 'xran__lib__mlog__tasks__id_8h'; + file-name = 'xran_lib_mlog_tasks_id.h'; + define = { + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__lib__mlog__tasks__id_8h_1ad63ecf36236d55b6889b694a37f4c82a'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'RESOURCE_CORE_0'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +0 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_lib_mlog_tasks_id.h'; + define-mem-desc-line = '33'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__lib__mlog__tasks__id_8h_1a206f9b6fd7606da5b0ddbeda0cc2d30d'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'RESOURCE_CORE_1'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +1 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_lib_mlog_tasks_id.h'; + define-mem-desc-line = '34'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__lib__mlog__tasks__id_8h_1a85fd89028c0e45defdd171a529cb3eb5'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'RESOURCE_CORE_2'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +2 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_lib_mlog_tasks_id.h'; + define-mem-desc-line = '35'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__lib__mlog__tasks__id_8h_1a497b673d19fb0e0a12e047433e0a0e91'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'RESOURCE_CORE_3'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +3 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_lib_mlog_tasks_id.h'; + define-mem-desc-line = '36'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__lib__mlog__tasks__id_8h_1ab2899a3a28bf6b48f5f252944f96d07b'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'RESOURCE_CORE_4'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +4 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_lib_mlog_tasks_id.h'; + define-mem-desc-line = '37'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__lib__mlog__tasks__id_8h_1a33defb76a292b4840ef108746339240c'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'RESOURCE_CORE_5'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +5 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_lib_mlog_tasks_id.h'; + define-mem-desc-line = '38'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__lib__mlog__tasks__id_8h_1a26695e5577928c9e80d055714a937329'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'RESOURCE_CORE_6'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +6 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_lib_mlog_tasks_id.h'; + define-mem-desc-line = '39'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__lib__mlog__tasks__id_8h_1ae38446635f2f0f32f48776a8af2d21c7'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'RESOURCE_CORE_7'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +7 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_lib_mlog_tasks_id.h'; + define-mem-desc-line = '40'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__lib__mlog__tasks__id_8h_1aac32aa932a156c8c4c0be901d63cfb4f'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'RESOURCE_CORE_8'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +8 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_lib_mlog_tasks_id.h'; + define-mem-desc-line = '41'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__lib__mlog__tasks__id_8h_1a9b127d3cfc1299cb5706e46c1ef6d756'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'RESOURCE_CORE_9'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +9 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_lib_mlog_tasks_id.h'; + define-mem-desc-line = '42'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__lib__mlog__tasks__id_8h_1a95a2ee6d2e9053eba72cfbd68b61e726'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'RESOURCE_CORE_10'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +10 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_lib_mlog_tasks_id.h'; + define-mem-desc-line = '43'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__lib__mlog__tasks__id_8h_1ac7c78da6670986038e59ec04197ba2de'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'RESOURCE_CORE_11'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +11 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_lib_mlog_tasks_id.h'; + define-mem-desc-line = '44'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__lib__mlog__tasks__id_8h_1a4810ab3931b63321f315a33471562621'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'RESOURCE_CORE_12'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +12 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_lib_mlog_tasks_id.h'; + define-mem-desc-line = '45'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__lib__mlog__tasks__id_8h_1a1b85fbf64ceefa1ff866a9904cc08447'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'RESOURCE_CORE_13'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +13 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_lib_mlog_tasks_id.h'; + define-mem-desc-line = '46'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__lib__mlog__tasks__id_8h_1a662204d14e93ec97c3860dba456708ae'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'RESOURCE_CORE_14'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +14 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_lib_mlog_tasks_id.h'; + define-mem-desc-line = '47'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__lib__mlog__tasks__id_8h_1a05f7fe99fea79c815423f3b68b045bbc'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'RESOURCE_CORE_15'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +15 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_lib_mlog_tasks_id.h'; + define-mem-desc-line = '48'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__lib__mlog__tasks__id_8h_1ab62f03244680e08b6d290b84605b926d'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'RESOURCE_CORE_16'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +16 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_lib_mlog_tasks_id.h'; + define-mem-desc-line = '49'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__lib__mlog__tasks__id_8h_1a8e34684ae6b2d25c23323b56693266f0'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'RESOURCE_IA_CORE'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +100 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_lib_mlog_tasks_id.h'; + define-mem-desc-line = '51'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__lib__mlog__tasks__id_8h_1a728d396b7200cb96f090f6eb6ee94a2a'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'PID_XRAN_BBDEV_DL_POLL'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +51 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_lib_mlog_tasks_id.h'; + define-mem-desc-line = '60'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__lib__mlog__tasks__id_8h_1a05b2720d7f0668cc8f18850d5dd6e695'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'PID_XRAN_BBDEV_DL_POLL_DISPATCH'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +52 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_lib_mlog_tasks_id.h'; + define-mem-desc-line = '61'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__lib__mlog__tasks__id_8h_1a7a3cf239d5765c257866fee0dda8b8a5'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'PID_XRAN_BBDEV_UL_POLL'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +53 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_lib_mlog_tasks_id.h'; + define-mem-desc-line = '62'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__lib__mlog__tasks__id_8h_1a54cc76a7682b1337cc0995a37ac0fe7b'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'PID_XRAN_BBDEV_UL_POLL_DISPATCH'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +54 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_lib_mlog_tasks_id.h'; + define-mem-desc-line = '63'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__lib__mlog__tasks__id_8h_1a907f22b7c7e5df63190d8aba4e2bf023'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'PID_TTI_TIMER'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +2100 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_lib_mlog_tasks_id.h'; + define-mem-desc-line = '65'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__lib__mlog__tasks__id_8h_1abfca261c8192f02ca16f5b4cb6f1bd2d'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'PID_TTI_CB'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +2101 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_lib_mlog_tasks_id.h'; + define-mem-desc-line = '66'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__lib__mlog__tasks__id_8h_1affee1f1af3fcf29b997a01029b638474'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'PID_SYM_TIMER'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +2102 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_lib_mlog_tasks_id.h'; + define-mem-desc-line = '68'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__lib__mlog__tasks__id_8h_1a06cadb1ff834c4ae8f8fa45c6d80fcae'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'PID_GNB_PROC_TIMING_TIMEOUT'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +2103 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_lib_mlog_tasks_id.h'; + define-mem-desc-line = '69'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__lib__mlog__tasks__id_8h_1acc9b1e97d62709b2d8ad44d74f106cce'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'PID_TIME_SYSTIME_POLL'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +2104 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_lib_mlog_tasks_id.h'; + define-mem-desc-line = '71'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__lib__mlog__tasks__id_8h_1ad8251a1df978adccb5efbebbb8b84930'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'PID_TIME_SYSTIME_STOP'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +2105 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_lib_mlog_tasks_id.h'; + define-mem-desc-line = '72'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__lib__mlog__tasks__id_8h_1a58e330374d0f1c8a407119c8ba2abb62'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'PID_TIME_ARM_TIMER'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +2106 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_lib_mlog_tasks_id.h'; + define-mem-desc-line = '73'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__lib__mlog__tasks__id_8h_1a161a96778c3bc9e9d598862e96b15063'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'PID_RADIO_FREQ_RX_PKT'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +2400 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_lib_mlog_tasks_id.h'; + define-mem-desc-line = '76'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__lib__mlog__tasks__id_8h_1a3357c8290df6ff594f159ccb9ea95325'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'PID_RADIO_RX_STOP'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +2401 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_lib_mlog_tasks_id.h'; + define-mem-desc-line = '77'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__lib__mlog__tasks__id_8h_1a6f2a962f776a42a526abba0cc07021e5'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'PID_RADIO_RX_UL_IQ'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +2402 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_lib_mlog_tasks_id.h'; + define-mem-desc-line = '78'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__lib__mlog__tasks__id_8h_1a517b6ffde57e63eb6ec8e27c36b6a964'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'PID_RADIO_PRACH_PKT'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +2403 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_lib_mlog_tasks_id.h'; + define-mem-desc-line = '79'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__lib__mlog__tasks__id_8h_1a5ab7d90cffa704f04692a04d907afcce'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'PID_RADIO_FE_COMPRESS'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +2404 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_lib_mlog_tasks_id.h'; + define-mem-desc-line = '80'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__lib__mlog__tasks__id_8h_1ad53e4ae374e70276a1fa7b0e9de3a0d2'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'PID_RADIO_FE_DECOMPRESS'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +2405 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_lib_mlog_tasks_id.h'; + define-mem-desc-line = '81'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__lib__mlog__tasks__id_8h_1aab833f12f1fe268637f47212f510c6dd'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'PID_RADIO_TX_BYPASS_PROC'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +2406 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_lib_mlog_tasks_id.h'; + define-mem-desc-line = '82'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__lib__mlog__tasks__id_8h_1ace7506955e3098166206e80696ef0d2e'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'PID_RADIO_ETH_TX_BURST'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +2407 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_lib_mlog_tasks_id.h'; + define-mem-desc-line = '83'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__lib__mlog__tasks__id_8h_1aa37014d774b5c3d6509d30141892f6ac'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'PID_RADIO_TX_DL_IQ'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +2408 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_lib_mlog_tasks_id.h'; + define-mem-desc-line = '84'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__lib__mlog__tasks__id_8h_1a9e59ba233c913a636f05b3b6df8d56ab'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'PID_RADIO_RX_VALIDATE'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +2409 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_lib_mlog_tasks_id.h'; + define-mem-desc-line = '85'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__lib__mlog__tasks__id_8h_1a04e0d4987fd890e90a978128ba1f55d6'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'PID_RADIO_RX_IRQ_ON'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +2410 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_lib_mlog_tasks_id.h'; + define-mem-desc-line = '87'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__lib__mlog__tasks__id_8h_1ac6c575fd12ace0fd0e8e6482a38bf4e4'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'PID_RADIO_RX_IRQ_OFF'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +2411 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_lib_mlog_tasks_id.h'; + define-mem-desc-line = '88'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__lib__mlog__tasks__id_8h_1a33d74432c736b24705e21b257d340fc3'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'PID_RADIO_RX_EPOLL_WAIT'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +2412 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_lib_mlog_tasks_id.h'; + define-mem-desc-line = '89'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__lib__mlog__tasks__id_8h_1a2c0e970227fbb04f166ac82f8c44948b'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'PID_RADIO_TX_LTEMODE_PROC'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +2413 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_lib_mlog_tasks_id.h'; + define-mem-desc-line = '91'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__lib__mlog__tasks__id_8h_1a7d04f6ec1a4fb714ea5d0da629de4247'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'PID_RADIO_RX_LTEMODE_PROC'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +2414 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_lib_mlog_tasks_id.h'; + define-mem-desc-line = '92'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__lib__mlog__tasks__id_8h_1a82ce188c8318ece4dda41674d34e347f'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'PID_RADIO_TX_PLAY_BACK_IQ'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +2415 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_lib_mlog_tasks_id.h'; + define-mem-desc-line = '94'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__lib__mlog__tasks__id_8h_1a1f5a84fd3596ec0f8cdac6762df1f6d9'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'PID_PROCESS_TX_SYM'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +2416 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_lib_mlog_tasks_id.h'; + define-mem-desc-line = '96'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__lib__mlog__tasks__id_8h_1a92c86b63d1d44b3e81c3728e106cbfd1'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'PID_CP_DL_CB'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +2500 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_lib_mlog_tasks_id.h'; + define-mem-desc-line = '98'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__lib__mlog__tasks__id_8h_1a0fb3a4d1a275f2930824141dd134d918'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'PID_CP_UL_CB'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +2501 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_lib_mlog_tasks_id.h'; + define-mem-desc-line = '99'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__lib__mlog__tasks__id_8h_1a8d216bc1a0fa3dc1370a8cf30a217870'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'PID_UP_DL_CB'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +2502 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_lib_mlog_tasks_id.h'; + define-mem-desc-line = '100'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__lib__mlog__tasks__id_8h_1aea9a7b880c29dc3cbc02586c0f3b8487'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'PID_SYM_OTA_CB'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +2503 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_lib_mlog_tasks_id.h'; + define-mem-desc-line = '101'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__lib__mlog__tasks__id_8h_1a888c066a592695a9b6c49abbc79594d3'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'PID_TTI_CB_TO_PHY'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +2504 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_lib_mlog_tasks_id.h'; + define-mem-desc-line = '102'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__lib__mlog__tasks__id_8h_1a15f6dea581e37101f719cdddefd768b9'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'PID_HALF_SLOT_CB_TO_PHY'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +2505 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_lib_mlog_tasks_id.h'; + define-mem-desc-line = '103'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__lib__mlog__tasks__id_8h_1a20e72b654cfb14e3a280a2244640fea8'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'PID_FULL_SLOT_CB_TO_PHY'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +2506 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_lib_mlog_tasks_id.h'; + define-mem-desc-line = '104'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__lib__mlog__tasks__id_8h_1a7cd97a899b320a85a3b41bb60a02a116'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'PID_UP_UL_HALF_DEAD_LINE_CB'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +2507 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_lib_mlog_tasks_id.h'; + define-mem-desc-line = '105'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__lib__mlog__tasks__id_8h_1ac49aef4af90e965464cd29fd0e0d5426'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'PID_UP_UL_FULL_DEAD_LINE_CB'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +2508 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_lib_mlog_tasks_id.h'; + define-mem-desc-line = '106'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__lib__mlog__tasks__id_8h_1a9f54a4a7253be8580e0996d84b1bf638'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'PID_PROCESS_UP_PKT'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +2600 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_lib_mlog_tasks_id.h'; + define-mem-desc-line = '108'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__lib__mlog__tasks__id_8h_1afe16668c89ce93c5234dc0b39a49a670'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'PID_PROCESS_CP_PKT'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +2700 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_lib_mlog_tasks_id.h'; + define-mem-desc-line = '109'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + }; + file-full-name = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_lib_mlog_tasks_id.h'; + file-first-line = '1'; + file-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + file-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; +}; /* file */ +file = { + file-id = 'xran__lib__wrap_8hpp'; + file-name = 'xran_lib_wrap.hpp'; + define = { + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__lib__wrap_8hpp_1a7959c3e12f3260a6461fe2610203d1af'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XRAN_UT_CFG_FILENAME'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +"conf.json" +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + define-mem-desc-line = '38'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__lib__wrap_8hpp_1a7c71ebeaaa34df8b1f1e2f33c6d7a54e'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XRAN_UT_KEY_GLOBALCFG'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +"GLOBAL" +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + define-mem-desc-line = '40'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__lib__wrap_8hpp_1ad3747a607e4b273dfae8278854ffc532'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XRAN_UT_KEY_GLOBALCFG_IO'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +"io_cfg" +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + define-mem-desc-line = '41'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__lib__wrap_8hpp_1ad8d180966ea390f149dea00f5616b540'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XRAN_UT_KEY_GLOBALCFG_EAXCID'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +"eAxCId_cfg" +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + define-mem-desc-line = '42'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__lib__wrap_8hpp_1a0c97e7d2cdb34b857e3b6de86b49f55d'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XRAN_UT_KEY_GLOBALCFG_PRACH'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +"prach_cfg" +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + define-mem-desc-line = '43'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__lib__wrap_8hpp_1a98f3e1fb2c2dd1381aac8d01b293486a'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XRAN_UT_KEY_GLOBALCFG_RU'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +"ru_cfg" +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + define-mem-desc-line = '44'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__lib__wrap_8hpp_1a1976c5b3ee9779f3fe720e706b5c4e72'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XRAN_UT_KEY_GLOBALCFG_SLOT'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +"slotcfg_" +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + define-mem-desc-line = '45'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__lib__wrap_8hpp_1a16ea7ba6b48522ff69767c3a3d31b776'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'MAX_NUM_OF_XRAN_CTX'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +(2) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + define-mem-desc-line = '47'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__lib__wrap_8hpp_1a7b323875aec9da8e30e082063f75b50b'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'SW_FPGA_TOTAL_BUFFER_LEN'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +(4*1024*1024*1024) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + define-mem-desc-line = '49'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__lib__wrap_8hpp_1ae9c34194d5ec7c9c24b680085991306c'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'SW_FPGA_SEGMENT_BUFFER_LEN'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +(1*1024*1024*1024) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + define-mem-desc-line = '50'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__lib__wrap_8hpp_1ad5b1e2ec82b937000bd1fe89acb5384c'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'SW_FPGA_FH_TOTAL_BUFFER_LEN'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +(1*1024*1024*1024) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + define-mem-desc-line = '51'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__lib__wrap_8hpp_1a67e68cef19d6e679b04c315c9234a0e3'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'FPGA_TO_SW_PRACH_RX_BUFFER_LEN'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +(8192) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + define-mem-desc-line = '52'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__lib__wrap_8hpp_1a14c306e04a1b3ecdd13b82ab9ca6c9b5'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'MAX_ANT_CARRIER_SUPPORTED'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +(XRAN_MAX_SECTOR_NR*XRAN_MAX_ANTENNA_NR) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + define-mem-desc-line = '54'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + }; + func = { + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__lib__wrap_8hpp_1a6c189fbbc24f87fad24cff9cbd0e6a42'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'sym_ota_cb'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_timer * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'tim'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'arg'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + func-mem-desc-line = '62'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__lib__wrap_8hpp_1a9c3700d61ba446fa9b05cca2ca9018ab'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'tti_ota_cb'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_timer * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'tim'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'arg'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + func-mem-desc-line = '63'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__mlog__lnx_8h_1ab3a08558e2971726cddceed59f9fd3bd'; + func-mem-ref-line = '42'; + func-mem-ref-name = 'MLogTick'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1aa09e72e94d2a1d891e86f4c09b0f8b21'; + func-mem-ref-line = '223'; + func-mem-ref-name = 'xran_dev_get_ctx'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__mlog__lnx_8h_1a2ea88cf07a4bee8b98cb6cea2ef3ae36'; + func-mem-ref-line = '44'; + func-mem-ref-name = 'MLogTask'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__lib__mlog__tasks__id_8h_1a907f22b7c7e5df63190d8aba4e2bf023'; + func-mem-ref-line = '65'; + func-mem-ref-name = 'PID_TTI_TIMER'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1a273a09cbea9267272f4e2a339059e442'; + func-mem-ref-line = '111'; + func-mem-ref-name = 'xran_lib_ota_tti'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__frame__struct_8c_1a7f5a87395d3930f222e58976960c99e2'; + func-mem-ref-line = '316'; + func-mem-ref-name = 'xran_fs_get_max_slot'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__mlog__lnx_8h_1a7e13e6c34f14ba82e361777280a5dcc1'; + func-mem-ref-line = '43'; + func-mem-ref-name = 'MLogIncrementCounter'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a5a8a3a7c7c4ff43865b57971dfbf0aa6'; + func-mem-ref-line = '102'; + func-mem-ref-name = 'XranGetFrameNum'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__lib__wrap_8hpp_1a3783fbb2a26b8a0530c489850a905a38'; + func-mem-ref-line = '1007'; + func-mem-ref-name = 'xranLibWraper::update_tti'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1a195da46c3cb90e36da543594416cbba7'; + func-mem-ref-line = '582'; + func-mem-ref-name = 'sym_ota_cb'; + }; + }; /* func-member */ + }; + var = { + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__lib__wrap_8hpp_1a273a09cbea9267272f4e2a339059e442'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'xran_lib_ota_tti'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + var-mem-desc-line = '58'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Slot index in a second [0:(1000000/TTI-1)] +_EnD_oF_dEf_TeXt_; + var-mem-referenceby = { + var-mem-ref-id = 'xran__lib__wrap_8hpp_1a200da4e2209141f12cafef2380cb801a'; + var-mem-ref-line = '740'; + var-mem-ref-name = 'xranLibWraper::Init'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'xran__main_8c_1a9c3700d61ba446fa9b05cca2ca9018ab'; + var-mem-ref-line = '632'; + var-mem-ref-name = 'tti_ota_cb'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'xran__main_8c_1ab26e37a9d8915b33e29d632af88ff3a3'; + var-mem-ref-line = '1045'; + var-mem-ref-name = 'tx_cp_ul_cb'; + }; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__lib__wrap_8hpp_1a8cec0b41a42705e6ab9f49914ca666c2'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'xran_lib_ota_sym'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + var-mem-desc-line = '59'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Symbol index in a slot [0:13] +_EnD_oF_dEf_TeXt_; + var-mem-referenceby = { + var-mem-ref-id = 'xran__lib__wrap_8hpp_1a200da4e2209141f12cafef2380cb801a'; + var-mem-ref-line = '740'; + var-mem-ref-name = 'xranLibWraper::Init'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'xran__lib__wrap_8hpp_1ac4ce5a18c687ee515676e035359a1e89'; + var-mem-ref-line = '1012'; + var-mem-ref-name = 'xranLibWraper::update_symbol_index'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'xran__lib__wrap_8hpp_1ab795436cc8b07e2b0d665502274b30e6'; + var-mem-ref-line = '1112'; + var-mem-ref-name = 'xranLibWraper::get_symbol_index'; + }; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__lib__wrap_8hpp_1a98175f360f5753bc99c4edd3c2d8bd04'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'xran_lib_ota_sym_idx'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + var-mem-desc-line = '60'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Symbol index in a second [0 : 14*(1000000/TTI)-1] + where TTI is TTI interval in microseconds +_EnD_oF_dEf_TeXt_; + var-mem-referenceby = { + var-mem-ref-id = 'xran__lib__wrap_8hpp_1a200da4e2209141f12cafef2380cb801a'; + var-mem-ref-line = '740'; + var-mem-ref-name = 'xranLibWraper::Init'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'xran__lib__wrap_8hpp_1ac4ce5a18c687ee515676e035359a1e89'; + var-mem-ref-line = '1012'; + var-mem-ref-name = 'xranLibWraper::update_symbol_index'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'xran__main_8c_1a195da46c3cb90e36da543594416cbba7'; + var-mem-ref-line = '582'; + var-mem-ref-name = 'sym_ota_cb'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'xran__main_8c_1ad4544f4d6f4713c010f083bce5758d14'; + var-mem-ref-line = '963'; + var-mem-ref-name = 'rx_ul_deadline_half_cb'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'xran__main_8c_1a63aa00dad3b771f4db5df8ca8ac68323'; + var-mem-ref-line = '999'; + var-mem-ref-name = 'rx_ul_deadline_full_cb'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'xran__main_8c_1a5b3b3bf6af57ee77a2bb1701ad24c7db'; + var-mem-ref-line = '2202'; + var-mem-ref-name = 'xran_process_tx_sym'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'xran__main_8c_1a2816fdf0ed3269e998720d01c2b6bf76'; + var-mem-ref-line = '2936'; + var-mem-ref-name = 'xran_get_slot_idx'; + }; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__lib__wrap_8hpp_1a1b2100f9f398243bb4bdbf0db003b9a3'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +xranLibWraper * +_EnD_oF_dEf_TeXt_; + var-mem-name = 'xranlib'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + var-mem-desc-line = '1158'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-referenceby = { + var-mem-ref-id = 'chain__tests_8cc_1af4e08ea14f09b53fce43ec39aba7a605'; + var-mem-ref-line = '49'; + var-mem-ref-name = 'xran_ut_tx_cp_dl'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'chain__tests_8cc_1a61f8088ed26f5ccc6a323c3b0feb66c2'; + var-mem-ref-line = '55'; + var-mem-ref-name = 'xran_ut_tx_cp_ul'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'chain__tests_8cc_1a73639c0dcf18fe068dc350fc0c8ba2f2'; + var-mem-ref-line = '61'; + var-mem-ref-name = 'xran_ut_tx_up_dl'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'chain__tests_8cc_1ad274ca70e6c47c2c549422b1cba1f0b0'; + var-mem-ref-line = '67'; + var-mem-ref-name = 'xran_ut_tx_cpup_dl'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'chain__tests_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + var-mem-ref-line = '135'; + var-mem-ref-name = 'TestChain::SetUp'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'chain__tests_8cc_1a6c5f599800ca755367ad7df4da60eb86'; + var-mem-ref-line = '226'; + var-mem-ref-name = 'TEST_P'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'init__sys__functional_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + var-mem-ref-line = '79'; + var-mem-ref-name = 'Init_Sys_Check::SetUp'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'init__sys__functional_8cc_1ac4fca95dc3b93372ce7f2078baf8e8b6'; + var-mem-ref-line = '86'; + var-mem-ref-name = 'Init_Sys_Check::TearDown'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'xran__lib__wrap_8hpp_1a7d671b9b851d9b0fbae6777e85643c3b'; + var-mem-ref-line = '1148'; + var-mem-ref-name = 'xranLibWraper::get_cfg_fh'; + }; + }; /* var-member */ + }; + file-full-name = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xran_lib_wrap.hpp'; + file-first-line = '1'; + file-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + file-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; +}; /* file */ +file = { + file-id = 'xran__main_8c'; + file-name = 'xran_main.c'; + define = { + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__main_8c_1a369266c24eacffb87046522897a570d5'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = '_GNU_SOURCE'; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + define-mem-desc-line = '26'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__main_8c_1afeff9fda18e3a64301487ca8eb871a40'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'DIV_ROUND_OFFSET'; + define-mem-param = { + define-mem-def-name = 'X'; + }; /* define-mem-def--param */ + define-mem-param = { + define-mem-def-name = 'Y'; + }; /* define-mem-def--param */ + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +( X/Y + ((X%Y)?1:0) ) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + define-mem-desc-line = '65'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__main_8c_1ab458f491dfd93be111edf3f3b0d4da71'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XranOffsetSym'; + define-mem-param = { + define-mem-def-name = 'offSym'; + }; /* define-mem-def--param */ + define-mem-param = { + define-mem-def-name = 'otaSym'; + }; /* define-mem-def--param */ + define-mem-param = { + define-mem-def-name = 'numSymTotal'; + }; /* define-mem-def--param */ + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +(((int32_t)offSym > (int32_t)otaSym) ? \ + ((int32_t)otaSym + ((int32_t)numSymTotal) - (uint32_t)offSym) : \ + (((int32_t)otaSym - (int32_t)offSym) >= numSymTotal) ? \ + (((int32_t)otaSym - (int32_t)offSym) - numSymTotal) : \ + ((int32_t)otaSym - (int32_t)offSym)) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + define-mem-desc-line = '67'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__main_8c_1a16ea7ba6b48522ff69767c3a3d31b776'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'MAX_NUM_OF_XRAN_CTX'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +(2) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + define-mem-desc-line = '73'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__main_8c_1af0c52a84a91cf33014ff0b0f11a65c69'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XranIncrementCtx'; + define-mem-param = { + define-mem-def-name = 'ctx'; + }; /* define-mem-def--param */ + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +((ctx >= (MAX_NUM_OF_XRAN_CTX-1)) ? 0 : (ctx+1)) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + define-mem-desc-line = '74'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__main_8c_1aa552d067ce32d770eb31618b0af0eacb'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XranDecrementCtx'; + define-mem-param = { + define-mem-def-name = 'ctx'; + }; /* define-mem-def--param */ + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +((ctx == 0) ? (MAX_NUM_OF_XRAN_CTX-1) : (ctx-1)) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + define-mem-desc-line = '75'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__main_8c_1af2babb53fd06205eba49b1213e8e18d8'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'MAX_NUM_OF_DPDK_TIMERS'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +(10) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + define-mem-desc-line = '77'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__main_8c_1a2948db68c95f1846f75d82ab409a0e98'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'DpdkTimerIncrementCtx'; + define-mem-param = { + define-mem-def-name = 'ctx'; + }; /* define-mem-def--param */ + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +((ctx >= (MAX_NUM_OF_DPDK_TIMERS-1)) ? 0 : (ctx+1)) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + define-mem-desc-line = '78'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__main_8c_1aa143c249cca4bf1866a724baac742586'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'DpdkTimerDecrementCtx'; + define-mem-param = { + define-mem-def-name = 'ctx'; + }; /* define-mem-def--param */ + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +((ctx == 0) ? (MAX_NUM_OF_DPDK_TIMERS-1) : (ctx-1)) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + define-mem-desc-line = '79'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__main_8c_1aee8aca8f74a8a2b095a6b7bf90b9543f'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'UNIX_TO_GPS_SECONDS_OFFSET'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +315964782UL +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + define-mem-desc-line = '90'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__main_8c_1a244be9d83c95821d802d6a0c6c169cb1'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'NUM_OF_FRAMES_PER_SECOND'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +100 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + define-mem-desc-line = '91'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + }; + func = { + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__main_8c_1a7491c24fd4d4e30ac3664337cd077341'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +static void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'extbuf_free_callback'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void *addr +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = '__rte_unused'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void *opaque +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = '__rte_unused'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + func-mem-desc-line = '130'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__main_8c_1a5b8958fc5688ba856cba84038ee4b938'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_timer_arm'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_timer * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'tim'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'arg'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + func-mem-desc-line = '136'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1aa09e72e94d2a1d891e86f4c09b0f8b21'; + func-mem-ref-line = '223'; + func-mem-ref-name = 'xran_dev_get_ctx'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__mlog__lnx_8h_1ab3a08558e2971726cddceed59f9fd3bd'; + func-mem-ref-line = '42'; + func-mem-ref-name = 'MLogTick'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'ethdi_8c_1aef5f52e6a4f49171518a59382eb03df5'; + func-mem-ref-line = '75'; + func-mem-ref-name = 'xran_if_current_state'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a2f600110ab5726a0f21375b7f24c0326a35916b54fc6804c2f2dc1f5891f3047e'; + func-mem-ref-line = '192'; + func-mem-ref-name = 'XRAN_RUNNING'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a3842cc1a01bcaa4df37fd8c10308ff01'; + func-mem-ref-line = '208'; + func-mem-ref-name = 'xran_device_ctx::fh_init'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a8a5462b0059073e90d42f8bfa066d566'; + func-mem-ref-line = '324'; + func-mem-ref-name = 'xran_fh_init::io_cfg'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1aa442a227739dcff5212e5356dee54b68'; + func-mem-ref-line = '303'; + func-mem-ref-name = 'xran_io_cfg::timing_core'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1aaca86e5bcbfb97d8c24c271a9332b994'; + func-mem-ref-line = '103'; + func-mem-ref-name = 'timer_ctx'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__mlog__lnx_8h_1a2ea88cf07a4bee8b98cb6cea2ef3ae36'; + func-mem-ref-line = '44'; + func-mem-ref-name = 'MLogTask'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__lib__mlog__tasks__id_8h_1a58e330374d0f1c8a407119c8ba2abb62'; + func-mem-ref-line = '73'; + func-mem-ref-name = 'PID_TIME_ARM_TIMER'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__main_8c_1a7645422ee7c8d332c29c3a54bf780ca3'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_process_tx_sym'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'arg'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + func-mem-desc-line = '138'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__mlog__lnx_8h_1ab3a08558e2971726cddceed59f9fd3bd'; + func-mem-ref-line = '42'; + func-mem-ref-name = 'MLogTick'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'common_8c_1ae69cd45536b5b80a0eac08ee522d8aa2'; + func-mem-ref-line = '47'; + func-mem-ref-name = 'num_eAxc'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1aa09e72e94d2a1d891e86f4c09b0f8b21'; + func-mem-ref-line = '223'; + func-mem-ref-name = 'xran_dev_get_ctx'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a0ac55d6b8988083425a147f343c34455'; + func-mem-ref-line = '256'; + func-mem-ref-name = 'xran_device_ctx::xran2phy_mem_ready'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1ab458f491dfd93be111edf3f3b0d4da71'; + func-mem-ref-line = '67'; + func-mem-ref-name = 'XranOffsetSym'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1ae3f1b1cbdaabdcfb693b93d75d4a9972'; + func-mem-ref-line = '249'; + func-mem-ref-name = 'xran_device_ctx::sym_up'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1a98175f360f5753bc99c4edd3c2d8bd04'; + func-mem-ref-line = '113'; + func-mem-ref-name = 'xran_lib_ota_sym_idx'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a87d92ec177ed9c388685a91051f66205'; + func-mem-ref-line = '122'; + func-mem-ref-name = 'XRAN_NUM_OF_SYMBOL_PER_SLOT'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a76e4794a93b44d5f6bd835f1640f7f4f'; + func-mem-ref-line = '54'; + func-mem-ref-name = 'SLOTNUM_PER_SUBFRAME'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1aa76014e778bb54907d85e05cac204d71'; + func-mem-ref-line = '98'; + func-mem-ref-name = 'XranGetTtiNum'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a36c7ae37e30524321b18fde971372b92'; + func-mem-ref-line = '106'; + func-mem-ref-name = 'XranGetSlotNum'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a5ca2a2076a042acdca2e326a436a7882'; + func-mem-ref-line = '104'; + func-mem-ref-name = 'XranGetSubFrameNum'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'common_8h_1a695a7a6db2c879d5a4ec04a4bc99d0e4'; + func-mem-ref-line = '57'; + func-mem-ref-name = 'SUBFRAMES_PER_SYSTEMFRAME'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a5a8a3a7c7c4ff43865b57971dfbf0aa6'; + func-mem-ref-line = '102'; + func-mem-ref-name = 'XranGetFrameNum'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'chain__tests_8cc_1a73639c0dcf18fe068dc350fc0c8ba2f2'; + func-mem-ref-line = '61'; + func-mem-ref-name = 'xran_ut_tx_up_dl'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'chain__tests_8cc_1ad274ca70e6c47c2c549422b1cba1f0b0'; + func-mem-ref-line = '67'; + func-mem-ref-name = 'xran_ut_tx_cpup_dl'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__main_8c_1acb6ecf7858c99c963182b9b7884deca6'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_process_rx_sym'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'arg'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mbuf * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'mbuf'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'iq_data_start'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'size'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'CC_ID'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'Ant_ID'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'frame_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'subframe_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'slot_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'symb_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'num_prbu'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'start_prbu'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'sym_inc'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'rb'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'sect_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint32_t * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'mb_free'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + func-mem-desc-line = '140'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1aa09e72e94d2a1d891e86f4c09b0f8b21'; + func-mem-ref-line = '223'; + func-mem-ref-name = 'xran_dev_get_ctx'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a725b4fbf070658ef449db5718a6c9f22'; + func-mem-ref-line = '56'; + func-mem-ref-name = 'SLOTS_PER_SYSTEMFRAME'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a76e4794a93b44d5f6bd835f1640f7f4f'; + func-mem-ref-line = '54'; + func-mem-ref-name = 'SLOTNUM_PER_SUBFRAME'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a34dbe5e515cc78b4ce26fa287e6c1edc'; + func-mem-ref-line = '110'; + func-mem-ref-name = 'XRAN_MAX_SECTOR_NR'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a35fa05e7523928c0c86cbcf835c12dc5'; + func-mem-ref-line = '111'; + func-mem-ref-name = 'XRAN_MAX_ANTENNA_NR'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a87d92ec177ed9c388685a91051f66205'; + func-mem-ref-line = '122'; + func-mem-ref-name = 'XRAN_NUM_OF_SYMBOL_PER_SLOT'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1af3ad0b6136919aabcdbac46b754aa7ed'; + func-mem-ref-line = '224'; + func-mem-ref-name = 'xran_device_ctx::sFrontHaulRxBbuIoBufCtrl'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1af0963ba32cc8ecd280afd2e474eb426a'; + func-mem-ref-line = '109'; + func-mem-ref-name = 'XRAN_N_FE_BUF_LEN'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'sample-app_8c_1ab79185e465507117d7b13fd30ec49f70'; + func-mem-ref-line = '129'; + func-mem-ref-name = 'BbuIoBufCtrlStruct::sBufferList'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1afa8c44acddb126e8bb0652d7b4e4395e'; + func-mem-ref-line = '596'; + func-mem-ref-name = 'xran_buffer_list::pBuffers'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a77f0d5374ee675db57c0b29946ca7744'; + func-mem-ref-line = '566'; + func-mem-ref-name = 'xran_flat_buffer::pData'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a3bfdc9ec9f4c738715460ddd03f0833f'; + func-mem-ref-line = '225'; + func-mem-ref-name = 'xran_device_ctx::sFrontHaulRxPrbMapBbuIoBufCtrl'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a2357c89e196d6c8c53e29bf04d168b7e'; + func-mem-ref-line = '423'; + func-mem-ref-name = 'xran_prb_map::prbMap'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a5a2ad8f5285dd33572e310069cdac3c4'; + func-mem-ref-line = '422'; + func-mem-ref-name = 'xran_prb_map::nPrbElm'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__printf_8h_1a16c2c0a30b31515830a4a8eff6cf10b5'; + func-mem-ref-line = '62'; + func-mem-ref-name = 'print_err'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'ethdi_8h_1a39fca1837c5ce7715cbf571669660c13a90bbe176be23902fec1de76501599769'; + func-mem-ref-line = '137'; + func-mem-ref-name = 'MBUF_FREE'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'common_8h_1ab97ae0d1cc679c3c40b779b34ab7b4cf'; + func-mem-ref-line = '49'; + func-mem-ref-name = 'N_SC_PER_PRB'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a4adf91126704ea524f98f461f6180c85'; + func-mem-ref-line = '209'; + func-mem-ref-name = 'xran_device_ctx::fh_cfg'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a27ff648f80c139235421b81f957fcb7e'; + func-mem-ref-line = '518'; + func-mem-ref-name = 'xran_fh_config::ru_conf'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a74e72997edeea7f9f1696baffb9989b4'; + func-mem-ref-line = '489'; + func-mem-ref-name = 'xran_ru_config::byteOrder'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1ab5ce6839bae2968c79930a0bfa17f4d8ae0b667dc04b0baacb15bc9c40b776098'; + func-mem-ref-line = '473'; + func-mem-ref-name = 'XRAN_CPU_LE_BYTE_ORDER'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1ab5ce6839bae2968c79930a0bfa17f4d8a61bd03fd3153385f6791bd16e55892b8'; + func-mem-ref-line = '472'; + func-mem-ref-name = 'XRAN_NE_BE_BYTE_ORDER'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1addb9297d816b26c680888115de8c9538'; + func-mem-ref-line = '570'; + func-mem-ref-name = 'xran_flat_buffer::pCtrl'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'ethdi_8h_1a39fca1837c5ce7715cbf571669660c13a5c8f213f6ff879119c23ec38c63a54e5'; + func-mem-ref-line = '136'; + func-mem-ref-name = 'MBUF_KEEP'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a6c405fdd34c38d29b355cd051527ad9b'; + func-mem-ref-line = '404'; + func-mem-ref-name = 'xran_prb_elm::p_sec_desc'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1addb9297d816b26c680888115de8c9538'; + func-mem-ref-line = '389'; + func-mem-ref-name = 'xran_section_desc::pCtrl'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a77f0d5374ee675db57c0b29946ca7744'; + func-mem-ref-line = '388'; + func-mem-ref-name = 'xran_section_desc::pData'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1ae55ac9499e5406559ad2ff0376dd0a68'; + func-mem-ref-line = '386'; + func-mem-ref-name = 'xran_section_desc::iq_buffer_len'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a4d1fb35f3f2d9f3556fbd1761a167255'; + func-mem-ref-line = '385'; + func-mem-ref-name = 'xran_section_desc::iq_buffer_offset'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__common_8c_1a3d4bd5c7eec6da4ab71688e209100761'; + func-mem-ref-line = '143'; + func-mem-ref-name = 'process_mbuf'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__main_8c_1a14cfa955b7fdf58378a97b4cfa7268f8'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_process_prach_sym'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'arg'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mbuf * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'mbuf'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'iq_data_start'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'size'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'CC_ID'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'Ant_ID'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'frame_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'subframe_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'slot_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'symb_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'num_prbu'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'start_prbu'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'sym_inc'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'rb'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'sect_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint32_t * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'mb_free'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + func-mem-desc-line = '157'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1aa09e72e94d2a1d891e86f4c09b0f8b21'; + func-mem-ref-line = '223'; + func-mem-ref-name = 'xran_dev_get_ctx'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a0ac55d6b8988083425a147f343c34455'; + func-mem-ref-line = '256'; + func-mem-ref-name = 'xran_device_ctx::xran2phy_mem_ready'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a725b4fbf070658ef449db5718a6c9f22'; + func-mem-ref-line = '56'; + func-mem-ref-name = 'SLOTS_PER_SYSTEMFRAME'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a76e4794a93b44d5f6bd835f1640f7f4f'; + func-mem-ref-line = '54'; + func-mem-ref-name = 'SLOTNUM_PER_SUBFRAME'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a34dbe5e515cc78b4ce26fa287e6c1edc'; + func-mem-ref-line = '110'; + func-mem-ref-name = 'XRAN_MAX_SECTOR_NR'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a35fa05e7523928c0c86cbcf835c12dc5'; + func-mem-ref-line = '111'; + func-mem-ref-name = 'XRAN_MAX_ANTENNA_NR'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a87d92ec177ed9c388685a91051f66205'; + func-mem-ref-line = '122'; + func-mem-ref-name = 'XRAN_NUM_OF_SYMBOL_PER_SLOT'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a26e6c6447dffca5e7ece503e8c0e890c'; + func-mem-ref-line = '262'; + func-mem-ref-name = 'xran_device_ctx::prach_start_symbol'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a4bcca72021c589be2adf3647647a1232'; + func-mem-ref-line = '226'; + func-mem-ref-name = 'xran_device_ctx::sFHPrachRxBbuIoBufCtrl'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1af0963ba32cc8ecd280afd2e474eb426a'; + func-mem-ref-line = '109'; + func-mem-ref-name = 'XRAN_N_FE_BUF_LEN'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'sample-app_8c_1ab79185e465507117d7b13fd30ec49f70'; + func-mem-ref-line = '129'; + func-mem-ref-name = 'BbuIoBufCtrlStruct::sBufferList'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1afa8c44acddb126e8bb0652d7b4e4395e'; + func-mem-ref-line = '596'; + func-mem-ref-name = 'xran_buffer_list::pBuffers'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a77f0d5374ee675db57c0b29946ca7744'; + func-mem-ref-line = '566'; + func-mem-ref-name = 'xran_flat_buffer::pData'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a4adf91126704ea524f98f461f6180c85'; + func-mem-ref-line = '209'; + func-mem-ref-name = 'xran_device_ctx::fh_cfg'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a27ff648f80c139235421b81f957fcb7e'; + func-mem-ref-line = '518'; + func-mem-ref-name = 'xran_fh_config::ru_conf'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a74e72997edeea7f9f1696baffb9989b4'; + func-mem-ref-line = '489'; + func-mem-ref-name = 'xran_ru_config::byteOrder'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1ab5ce6839bae2968c79930a0bfa17f4d8ae0b667dc04b0baacb15bc9c40b776098'; + func-mem-ref-line = '473'; + func-mem-ref-name = 'XRAN_CPU_LE_BYTE_ORDER'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'ethdi_8h_1a39fca1837c5ce7715cbf571669660c13a90bbe176be23902fec1de76501599769'; + func-mem-ref-line = '137'; + func-mem-ref-name = 'MBUF_FREE'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1addb9297d816b26c680888115de8c9538'; + func-mem-ref-line = '570'; + func-mem-ref-name = 'xran_flat_buffer::pCtrl'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__printf_8h_1a16c2c0a30b31515830a4a8eff6cf10b5'; + func-mem-ref-line = '62'; + func-mem-ref-name = 'print_err'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'ethdi_8h_1a39fca1837c5ce7715cbf571669660c13a5c8f213f6ff879119c23ec38c63a54e5'; + func-mem-ref-line = '136'; + func-mem-ref-name = 'MBUF_KEEP'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__common_8c_1a3d4bd5c7eec6da4ab71688e209100761'; + func-mem-ref-line = '143'; + func-mem-ref-name = 'process_mbuf'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__main_8c_1a300b87c29358bb161404c0122a9b2a46'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_process_srs_sym'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'arg'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mbuf * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'mbuf'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'iq_data_start'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'size'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'CC_ID'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'Ant_ID'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'frame_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'subframe_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'slot_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'symb_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'num_prbu'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'start_prbu'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'sym_inc'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'rb'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'sect_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint32_t * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'mb_free'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + func-mem-desc-line = '174'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1aa09e72e94d2a1d891e86f4c09b0f8b21'; + func-mem-ref-line = '223'; + func-mem-ref-name = 'xran_dev_get_ctx'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a0ac55d6b8988083425a147f343c34455'; + func-mem-ref-line = '256'; + func-mem-ref-name = 'xran_device_ctx::xran2phy_mem_ready'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a725b4fbf070658ef449db5718a6c9f22'; + func-mem-ref-line = '56'; + func-mem-ref-name = 'SLOTS_PER_SYSTEMFRAME'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a76e4794a93b44d5f6bd835f1640f7f4f'; + func-mem-ref-line = '54'; + func-mem-ref-name = 'SLOTNUM_PER_SUBFRAME'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a34dbe5e515cc78b4ce26fa287e6c1edc'; + func-mem-ref-line = '110'; + func-mem-ref-name = 'XRAN_MAX_SECTOR_NR'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a87d92ec177ed9c388685a91051f66205'; + func-mem-ref-line = '122'; + func-mem-ref-name = 'XRAN_NUM_OF_SYMBOL_PER_SLOT'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a8d643c55cfe976d88d44beefc0af0dff'; + func-mem-ref-line = '227'; + func-mem-ref-name = 'xran_device_ctx::sFHSrsRxBbuIoBufCtrl'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1af0963ba32cc8ecd280afd2e474eb426a'; + func-mem-ref-line = '109'; + func-mem-ref-name = 'XRAN_N_FE_BUF_LEN'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'sample-app_8c_1ab79185e465507117d7b13fd30ec49f70'; + func-mem-ref-line = '129'; + func-mem-ref-name = 'BbuIoBufCtrlStruct::sBufferList'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1afa8c44acddb126e8bb0652d7b4e4395e'; + func-mem-ref-line = '596'; + func-mem-ref-name = 'xran_buffer_list::pBuffers'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a77f0d5374ee675db57c0b29946ca7744'; + func-mem-ref-line = '566'; + func-mem-ref-name = 'xran_flat_buffer::pData'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'common_8h_1ab97ae0d1cc679c3c40b779b34ab7b4cf'; + func-mem-ref-line = '49'; + func-mem-ref-name = 'N_SC_PER_PRB'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a4adf91126704ea524f98f461f6180c85'; + func-mem-ref-line = '209'; + func-mem-ref-name = 'xran_device_ctx::fh_cfg'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a27ff648f80c139235421b81f957fcb7e'; + func-mem-ref-line = '518'; + func-mem-ref-name = 'xran_fh_config::ru_conf'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a74e72997edeea7f9f1696baffb9989b4'; + func-mem-ref-line = '489'; + func-mem-ref-name = 'xran_ru_config::byteOrder'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1ab5ce6839bae2968c79930a0bfa17f4d8ae0b667dc04b0baacb15bc9c40b776098'; + func-mem-ref-line = '473'; + func-mem-ref-name = 'XRAN_CPU_LE_BYTE_ORDER'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1ab5ce6839bae2968c79930a0bfa17f4d8a61bd03fd3153385f6791bd16e55892b8'; + func-mem-ref-line = '472'; + func-mem-ref-name = 'XRAN_NE_BE_BYTE_ORDER'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a3842cc1a01bcaa4df37fd8c10308ff01'; + func-mem-ref-line = '208'; + func-mem-ref-name = 'xran_device_ctx::fh_init'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a3c8ee4e9dd2a5354e83fb30c95598f30'; + func-mem-ref-line = '331'; + func-mem-ref-name = 'xran_fh_init::mtu'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a5448b37ad609bb66bf44b44d1f9bac72'; + func-mem-ref-line = '507'; + func-mem-ref-name = 'xran_fh_config::nULRBs'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1addb9297d816b26c680888115de8c9538'; + func-mem-ref-line = '570'; + func-mem-ref-name = 'xran_flat_buffer::pCtrl'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__printf_8h_1a16c2c0a30b31515830a4a8eff6cf10b5'; + func-mem-ref-line = '62'; + func-mem-ref-name = 'print_err'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'ethdi_8h_1a39fca1837c5ce7715cbf571669660c13a5c8f213f6ff879119c23ec38c63a54e5'; + func-mem-ref-line = '136'; + func-mem-ref-name = 'MBUF_KEEP'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'ethdi_8h_1a39fca1837c5ce7715cbf571669660c13a90bbe176be23902fec1de76501599769'; + func-mem-ref-line = '137'; + func-mem-ref-name = 'MBUF_FREE'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__common_8c_1a3d4bd5c7eec6da4ab71688e209100761'; + func-mem-ref-line = '143'; + func-mem-ref-name = 'process_mbuf'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__main_8c_1a9c3700d61ba446fa9b05cca2ca9018ab'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'tti_ota_cb'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_timer * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'tim'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'arg'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + func-mem-desc-line = '192'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__mlog__lnx_8h_1ab3a08558e2971726cddceed59f9fd3bd'; + func-mem-ref-line = '42'; + func-mem-ref-name = 'MLogTick'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1aa09e72e94d2a1d891e86f4c09b0f8b21'; + func-mem-ref-line = '223'; + func-mem-ref-name = 'xran_dev_get_ctx'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__mlog__lnx_8h_1a2ea88cf07a4bee8b98cb6cea2ef3ae36'; + func-mem-ref-line = '44'; + func-mem-ref-name = 'MLogTask'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__lib__mlog__tasks__id_8h_1a907f22b7c7e5df63190d8aba4e2bf023'; + func-mem-ref-line = '65'; + func-mem-ref-name = 'PID_TTI_TIMER'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1a273a09cbea9267272f4e2a339059e442'; + func-mem-ref-line = '111'; + func-mem-ref-name = 'xran_lib_ota_tti'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__frame__struct_8c_1a7f5a87395d3930f222e58976960c99e2'; + func-mem-ref-line = '316'; + func-mem-ref-name = 'xran_fs_get_max_slot'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__mlog__lnx_8h_1a7e13e6c34f14ba82e361777280a5dcc1'; + func-mem-ref-line = '43'; + func-mem-ref-name = 'MLogIncrementCounter'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a5a8a3a7c7c4ff43865b57971dfbf0aa6'; + func-mem-ref-line = '102'; + func-mem-ref-name = 'XranGetFrameNum'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__lib__wrap_8hpp_1a3783fbb2a26b8a0530c489850a905a38'; + func-mem-ref-line = '1007'; + func-mem-ref-name = 'xranLibWraper::update_tti'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1a195da46c3cb90e36da543594416cbba7'; + func-mem-ref-line = '582'; + func-mem-ref-name = 'sym_ota_cb'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__main_8c_1a6bec02784f5898c72bdbe64469186a45'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'tti_to_phy_cb'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_timer * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'tim'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'arg'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + func-mem-desc-line = '193'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__mlog__lnx_8h_1ab3a08558e2971726cddceed59f9fd3bd'; + func-mem-ref-line = '42'; + func-mem-ref-name = 'MLogTick'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1aa09e72e94d2a1d891e86f4c09b0f8b21'; + func-mem-ref-line = '223'; + func-mem-ref-name = 'xran_dev_get_ctx'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a01cfa0ddd894bb94d785f755bfdd8b9e'; + func-mem-ref-line = '265'; + func-mem-ref-name = 'xran_device_ctx::phy_tti_cb_done'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__main_8c_1a96de765800aa6de0788fc530cbc16825'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_timer_arm_ex'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_timer * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'tim'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'CbFct'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'CbArg'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +unsigned +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'tim_lcore'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + func-mem-desc-line = '194'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1aa09e72e94d2a1d891e86f4c09b0f8b21'; + func-mem-ref-line = '223'; + func-mem-ref-name = 'xran_dev_get_ctx'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__mlog__lnx_8h_1ab3a08558e2971726cddceed59f9fd3bd'; + func-mem-ref-line = '42'; + func-mem-ref-name = 'MLogTick'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'ethdi_8c_1aef5f52e6a4f49171518a59382eb03df5'; + func-mem-ref-line = '75'; + func-mem-ref-name = 'xran_if_current_state'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a2f600110ab5726a0f21375b7f24c0326a35916b54fc6804c2f2dc1f5891f3047e'; + func-mem-ref-line = '192'; + func-mem-ref-name = 'XRAN_RUNNING'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__mlog__lnx_8h_1a2ea88cf07a4bee8b98cb6cea2ef3ae36'; + func-mem-ref-line = '44'; + func-mem-ref-name = 'MLogTask'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__lib__mlog__tasks__id_8h_1a58e330374d0f1c8a407119c8ba2abb62'; + func-mem-ref-line = '73'; + func-mem-ref-name = 'PID_TIME_ARM_TIMER'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1a195da46c3cb90e36da543594416cbba7'; + func-mem-ref-line = '582'; + func-mem-ref-name = 'sym_ota_cb'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__main_8c_1a23e5556f127fd7a4c2542d4448cfbcff'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +static uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_getSfnSecStart'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + func-mem-desc-line = '197'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__main_8c_1adbe808fba48ef1390180fb1bdc68c1d7'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_updateSfnSecStart'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + func-mem-desc-line = '201'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__timer_8c_1abee5de4c0d88f6c17ce6b3962d097f07'; + func-mem-ref-line = '88'; + func-mem-ref-name = 'timing_get_current_second'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1aee8aca8f74a8a2b095a6b7bf90b9543f'; + func-mem-ref-line = '90'; + func-mem-ref-name = 'UNIX_TO_GPS_SECONDS_OFFSET'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1a244be9d83c95821d802d6a0c6c169cb1'; + func-mem-ref-line = '91'; + func-mem-ref-name = 'NUM_OF_FRAMES_PER_SECOND'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1a7a25206e77e83a57fd036102cebfb4f0'; + func-mem-ref-line = '116'; + func-mem-ref-name = 'xran_max_frame'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1a0ff39df15c9c5e487a730d422d2c4725'; + func-mem-ref-line = '115'; + func-mem-ref-name = 'xran_SFN_at_Sec_Start'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8c_1ad1b05d3ad049de39bc3f9bcdfdf66d1b'; + func-mem-ref-line = '121'; + func-mem-ref-name = 'tx_bytes_per_sec'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8c_1aea924947c3d744f2208baa8a79229f3f'; + func-mem-ref-line = '119'; + func-mem-ref-name = 'tx_bytes_counter'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8c_1adc695e955f335d5dedb486ce89a4e0b3'; + func-mem-ref-line = '122'; + func-mem-ref-name = 'rx_bytes_per_sec'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8c_1af2fff595280c3b2999bfa40d7beafadf'; + func-mem-ref-line = '120'; + func-mem-ref-name = 'rx_bytes_counter'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__main_8c_1acdb2a8632ebd3e59e5d6f17c4bf358ef'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +static int32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_getSlotIdxSecond'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + func-mem-desc-line = '216'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__main_8c_1aa09e72e94d2a1d891e86f4c09b0f8b21'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_device_ctx * +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_dev_get_ctx'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + func-mem-desc-line = '223'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'init__sys__functional_8cc_1a9796d6da0db5312f3ddffc3c43038daf'; + func-mem-ref-line = '112'; + func-mem-ref-name = 'TEST_P'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__common_8c_1a3d4bd5c7eec6da4ab71688e209100761'; + func-mem-ref-line = '143'; + func-mem-ref-name = 'process_mbuf'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__common_8c_1ab67b9cc6e54d8ba3945b265b47af743c'; + func-mem-ref-line = '436'; + func-mem-ref-name = 'send_symbol_ex'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__common_8c_1a484fa852a2e973600abba0efb1fbefb9'; + func-mem-ref-line = '510'; + func-mem-ref-name = 'send_cpmsg'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__lib__wrap_8hpp_1a165ca95dea40ce1abcc161f39087d38d'; + func-mem-ref-line = '1024'; + func-mem-ref-name = 'xranLibWraper::apply_cpenable'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1a7192955290ca84553d071cedc5ee89cb'; + func-mem-ref-line = '243'; + func-mem-ref-name = 'xran_is_prach_slot'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1a195da46c3cb90e36da543594416cbba7'; + func-mem-ref-line = '582'; + func-mem-ref-name = 'sym_ota_cb'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1a9c3700d61ba446fa9b05cca2ca9018ab'; + func-mem-ref-line = '632'; + func-mem-ref-name = 'tti_ota_cb'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1a5b8958fc5688ba856cba84038ee4b938'; + func-mem-ref-line = '711'; + func-mem-ref-name = 'xran_timer_arm'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1a96de765800aa6de0788fc530cbc16825'; + func-mem-ref-line = '724'; + func-mem-ref-name = 'xran_timer_arm_ex'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1a66ed2e3f4cefcfdd71841c152c80aa20'; + func-mem-ref-line = '737'; + func-mem-ref-name = 'xran_cp_create_and_send_section'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1a4474e27c827459f3af40954b0c6f962b'; + func-mem-ref-line = '910'; + func-mem-ref-name = 'tx_cp_dl_cb'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1ad4544f4d6f4713c010f083bce5758d14'; + func-mem-ref-line = '963'; + func-mem-ref-name = 'rx_ul_deadline_half_cb'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1a63aa00dad3b771f4db5df8ca8ac68323'; + func-mem-ref-line = '999'; + func-mem-ref-name = 'rx_ul_deadline_full_cb'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1ab26e37a9d8915b33e29d632af88ff3a3'; + func-mem-ref-line = '1045'; + func-mem-ref-name = 'tx_cp_ul_cb'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1a6bec02784f5898c72bdbe64469186a45'; + func-mem-ref-line = '1136'; + func-mem-ref-name = 'tti_to_phy_cb'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1ae4973aab78785b0738c729b26a1474e2'; + func-mem-ref-line = '1165'; + func-mem-ref-name = 'xran_timing_source_thread'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1a7a412a9cd0ac919dccb2112fb386d64a'; + func-mem-ref-line = '1342'; + func-mem-ref-name = 'handle_ecpri_ethertype'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1a14cfa955b7fdf58378a97b4cfa7268f8'; + func-mem-ref-line = '1384'; + func-mem-ref-name = 'xran_process_prach_sym'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1a300b87c29358bb161404c0122a9b2a46'; + func-mem-ref-line = '1461'; + func-mem-ref-name = 'xran_process_srs_sym'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1ac5201df2d161091f7319ff2f57432823'; + func-mem-ref-line = '1536'; + func-mem-ref-name = 'xran_pkt_validate'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1acb6ecf7858c99c963182b9b7884deca6'; + func-mem-ref-line = '1578'; + func-mem-ref-name = 'xran_process_rx_sym'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1a072be4e030e23440817b205256d2df29'; + func-mem-ref-line = '1715'; + func-mem-ref-name = 'xran_process_tx_sym_cp_off'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1ad2506f0edcccb4fbdc5b41b03270a1af'; + func-mem-ref-line = '2000'; + func-mem-ref-name = 'xran_process_tx_sym_cp_on'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1a5b3b3bf6af57ee77a2bb1701ad24c7db'; + func-mem-ref-line = '2202'; + func-mem-ref-name = 'xran_process_tx_sym'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1a4ea0e9c036a1dc7605f53f1f862f4952'; + func-mem-ref-line = '2319'; + func-mem-ref-name = 'xran_init'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1ac94e2474beef3b68521cfd391211b1be'; + func-mem-ref-line = '2551'; + func-mem-ref-name = 'xran_5g_fronthault_config'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1ab204e979de14c21d34e9b88c6c700d25'; + func-mem-ref-line = '2636'; + func-mem-ref-name = 'xran_5g_prach_req'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1a2bd01fc3432f80a787d6bf317949dd80'; + func-mem-ref-line = '2679'; + func-mem-ref-name = 'xran_5g_srs_req'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1a03f408f45e97aa68ca47c92e4e7d1a70'; + func-mem-ref-line = '2756'; + func-mem-ref-name = 'xran_open'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1a57bc216aff0d372305a6d13a072c605b'; + func-mem-ref-line = '2900'; + func-mem-ref-name = 'xran_reg_physide_cb'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1ad1ada9c5c57979c50f1a17a9050b8f3a'; + func-mem-ref-line = '2918'; + func-mem-ref-name = 'xran_register_cb_mbuf2ring'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1a761e3947dcc547008a12a9cca10b1ea0'; + func-mem-ref-line = '2955'; + func-mem-ref-name = 'xran_get_conf_eAxC'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1ad749041bcf50616bac96e4d13b661272'; + func-mem-ref-line = '2965'; + func-mem-ref-name = 'xran_get_conf_num_bfweights'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__timer_8c_1af01e1311b604e50d00b7ecce78d2ce22'; + func-mem-ref-line = '116'; + func-mem-ref-name = 'timing_adjust_gps_second'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__timer_8c_1a52ade7f1436323f071cf7151f7bdb097'; + func-mem-ref-line = '146'; + func-mem-ref-name = 'poll_next_tick'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__main_8c_1aaf38329209bc44e1dfd355f1e62a7a23'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +static struct xran_fh_config * +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_lib_get_ctx_fhcfg'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + func-mem-desc-line = '228'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__main_8c_1a9348246ce882be9b72449a64385d7217'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_get_beamid'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pHandle'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'dir'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'cc_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'ant_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'slot_id'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + func-mem-desc-line = '233'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__main_8c_1a937105f52446cfcb951e43e1dc3c4d8b'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +enum xran_if_state +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_get_if_state'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + func-mem-desc-line = '233'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + Function returns status of operation of FH layer + +@return + XRAN_INIT - init state + XRAN_RUNNING - running + XRAN_STOPPED - stopped +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'ethdi_8c_1aef5f52e6a4f49171518a59382eb03df5'; + func-mem-ref-line = '75'; + func-mem-ref-name = 'xran_if_current_state'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__lib__wrap_8hpp_1a61da580fc69a74f3ef17956ba5fd88a0'; + func-mem-ref-line = '1114'; + func-mem-ref-name = 'xranLibWraper::is_running'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1ad4852c0827600db95f9841e2f5f9f6f1'; + func-mem-ref-line = '2841'; + func-mem-ref-name = 'xran_start'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1a8f2daee2fe90126f1f7c361b7760a7a3'; + func-mem-ref-line = '2852'; + func-mem-ref-name = 'xran_stop'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1a4120602c15ddabfc3372e238d17f0414'; + func-mem-ref-line = '2877'; + func-mem-ref-name = 'xran_mm_destroy'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1adfcabe4091a4782ecb9ca029314c99ca'; + func-mem-ref-line = '2888'; + func-mem-ref-name = 'xran_reg_sym_cb'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1a57bc216aff0d372305a6d13a072c605b'; + func-mem-ref-line = '2900'; + func-mem-ref-name = 'xran_reg_physide_cb'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1ad1ada9c5c57979c50f1a17a9050b8f3a'; + func-mem-ref-line = '2918'; + func-mem-ref-name = 'xran_register_cb_mbuf2ring'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__main_8c_1a7192955290ca84553d071cedc5ee89cb'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_is_prach_slot'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'subframe_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'slot_id'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + func-mem-desc-line = '243'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1aa09e72e94d2a1d891e86f4c09b0f8b21'; + func-mem-ref-line = '223'; + func-mem-ref-name = 'xran_dev_get_ctx'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1ac1db3db55038ef0b2f69827746eaf87c'; + func-mem-ref-line = '210'; + func-mem-ref-name = 'xran_device_ctx::PrachCPConfig'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a4adf91126704ea524f98f461f6180c85'; + func-mem-ref-line = '209'; + func-mem-ref-name = 'xran_device_ctx::fh_cfg'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a72b0cba491d0dd2703d684cb2c2a14cf'; + func-mem-ref-line = '517'; + func-mem-ref-name = 'xran_fh_config::frame_conf'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a78b2fab8e8d6a6424c2712d528fd9a58'; + func-mem-ref-line = '461'; + func-mem-ref-name = 'xran_frame_config::nNumerology'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a3b00fdd9e145b9c7be29aa35c6f94fe1'; + func-mem-ref-line = '138'; + func-mem-ref-name = 'xran_prach_cp_config::isPRACHslot'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a855041f3139611ca7478502e3241b2f1'; + func-mem-ref-line = '134'; + func-mem-ref-name = 'xran_prach_cp_config::nrofPrachInSlot'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a76e4794a93b44d5f6bd835f1640f7f4f'; + func-mem-ref-line = '54'; + func-mem-ref-name = 'SLOTNUM_PER_SUBFRAME'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__printf_8h_1a16c2c0a30b31515830a4a8eff6cf10b5'; + func-mem-ref-line = '62'; + func-mem-ref-name = 'print_err'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__main_8c_1a54de92e0ced826beeb759580d170562b'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_init_sectionid'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pHandle'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + func-mem-desc-line = '278'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'gen__test_8m_1a38d2cdf58cc777c61b71dd2785d139af'; + func-mem-ref-line = '166'; + func-mem-ref-name = 'ant'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1gga9c60a23fdae979ad1842b255790d1558a927c0750db0e35def0b5e1a088a5b9e4'; + func-mem-ref-line = '150'; + func-mem-ref-name = 'XRAN_DIR_MAX'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a6447bf8849000b9fecf51d77d4fa50b2'; + func-mem-ref-line = '125'; + func-mem-ref-name = 'XRAN_MAX_CELLS_PER_PORT'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a35fa05e7523928c0c86cbcf835c12dc5'; + func-mem-ref-line = '111'; + func-mem-ref-name = 'XRAN_MAX_ANTENNA_NR'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1a03f408f45e97aa68ca47c92e4e7d1a70'; + func-mem-ref-line = '2756'; + func-mem-ref-name = 'xran_open'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__main_8c_1acb5dd6ae5569cb3090d441c800068244'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_init_srs'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_fh_config * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pConf'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_device_ctx * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'p_xran_dev_ctx'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + func-mem-desc-line = '294'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a0dc2f992bcfe4f620d6ce2e969986d5c'; + func-mem-ref-line = '220'; + func-mem-ref-name = 'xran_device_ctx::srs_cfg'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a47592bac9bb3ddd09772d5385ffdd508'; + func-mem-ref-line = '448'; + func-mem-ref-name = 'xran_srs_config::symbMask'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a418f7a13335ab7fbfb840bae611ed0e5'; + func-mem-ref-line = '516'; + func-mem-ref-name = 'xran_fh_config::srs_conf'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a38a5594e33178248d80ccde98a16262a'; + func-mem-ref-line = '449'; + func-mem-ref-name = 'xran_srs_config::eAxC_offset'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__printf_8h_1a417ba2c3b49b216e358bc340346bf1cf'; + func-mem-ref-line = '54'; + func-mem-ref-name = 'print_dbg'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a814959a7b5ff6cd4474433f62312eee0'; + func-mem-ref-line = '54'; + func-mem-ref-name = 'XRAN_STATUS_SUCCESS'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1a03f408f45e97aa68ca47c92e4e7d1a70'; + func-mem-ref-line = '2756'; + func-mem-ref-name = 'xran_open'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__main_8c_1a00025c5bad7b7b6eea4374226f8c54bb'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_init_prach'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_fh_config * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pConf'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_device_ctx * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'p_xran_dev_ctx'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + func-mem-desc-line = '308'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a167e91cb91119363bf10c9430b6f082c'; + func-mem-ref-line = '515'; + func-mem-ref-name = 'xran_fh_config::prach_conf'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a72b0cba491d0dd2703d684cb2c2a14cf'; + func-mem-ref-line = '517'; + func-mem-ref-name = 'xran_fh_config::frame_conf'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a78b2fab8e8d6a6424c2712d528fd9a58'; + func-mem-ref-line = '461'; + func-mem-ref-name = 'xran_frame_config::nNumerology'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1acb5fe8097b0115e038eb02d5900f66d6'; + func-mem-ref-line = '432'; + func-mem-ref-name = 'xran_prach_config::nPrachConfIdx'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1ac1db3db55038ef0b2f69827746eaf87c'; + func-mem-ref-line = '210'; + func-mem-ref-name = 'xran_device_ctx::PrachCPConfig'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__ul__tables_8c_1ac7439428a0fb0c1782323193707965f6'; + func-mem-ref-line = '553'; + func-mem-ref-name = 'gxranPrachDataTable_mmw'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a3b86317723a592e240c0047e53a6326d'; + func-mem-ref-line = '460'; + func-mem-ref-name = 'xran_frame_config::nFrameDuplexType'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__ul__tables_8c_1a1c7c9fd55feeae30dc0b8502ef4cab03'; + func-mem-ref-line = '292'; + func-mem-ref-name = 'gxranPrachDataTable_sub6_tdd'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__ul__tables_8c_1a5edf7a402993c76a3a27bee4f390d38c'; + func-mem-ref-line = '32'; + func-mem-ref-name = 'gxranPrachDataTable_sub6_fdd'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1acda2526836f55a54072c7582b0735ec6'; + func-mem-ref-line = '105'; + func-mem-ref-name = 'xRANPrachConfigTableStruct::preambleFmrt'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__ul__tables_8c_1ab7c9c49ac127f2812c5ffe8c54364286'; + func-mem-ref-line = '845'; + func-mem-ref-name = 'gxranPreambleforLRA'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a583c2f58d0655789ea36e22d605ab9ad'; + func-mem-ref-line = '523'; + func-mem-ref-name = 'xran_fh_config::log_level'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a232bf4a599983638ff369472234af97c'; + func-mem-ref-line = '110'; + func-mem-ref-name = 'xRANPrachConfigTableStruct::startingSym'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1ae7b193beba4cc63eed61b211bae9e802'; + func-mem-ref-line = '113'; + func-mem-ref-name = 'xRANPrachConfigTableStruct::duration'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a2e544eaae35a5756272d62af4fa53a19'; + func-mem-ref-line = '112'; + func-mem-ref-name = 'xRANPrachConfigTableStruct::occassionsInPrachSlot'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1ad5150de5e1c141cfe288f260afb00830'; + func-mem-ref-line = '127'; + func-mem-ref-name = 'xran_prach_cp_config::filterIdx'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1ae51812e2dae7d8776b443f818f277d5bad96d5c4d6db49c45dfe5a07ba6ad7440'; + func-mem-ref-line = '69'; + func-mem-ref-name = 'XRAN_FILTERINDEX_PRACH_ABC'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1ac54814779041bec5dcf8aec288d69b06'; + func-mem-ref-line = '128'; + func-mem-ref-name = 'xran_prach_cp_config::startSymId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a6b13285aabf8f2f4598143b2670204c1'; + func-mem-ref-line = '129'; + func-mem-ref-name = 'xran_prach_cp_config::startPrbc'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a5c648c99c04370a4e8767f919a2289bf'; + func-mem-ref-line = '441'; + func-mem-ref-name = 'xran_prach_config::nPrachFreqStart'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1aabc4fe26e40f742fd255e2bb8534de75'; + func-mem-ref-line = '130'; + func-mem-ref-name = 'xran_prach_cp_config::numPrbc'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a8c9c50771b8a51b0209b1866855b80dda4dbd8b9cc1a25a875c17515359bd1b1d'; + func-mem-ref-line = '89'; + func-mem-ref-name = 'FORMAT_A1'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1aa68c277a66312b4b90819cccc055bdb7'; + func-mem-ref-line = '132'; + func-mem-ref-name = 'xran_prach_cp_config::timeOffset'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a3cab2a5fe931bc424f18ac0b23f2060e'; + func-mem-ref-line = '122'; + func-mem-ref-name = 'xRANPrachPreambleLRAStruct::nRaCp'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a3af58496c14a1c91c015aa6ffe7dca49'; + func-mem-ref-line = '133'; + func-mem-ref-name = 'xran_prach_cp_config::freqOffset'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a3b43924c5ef23b0496d1a7adf2752dbf'; + func-mem-ref-line = '442'; + func-mem-ref-name = 'xran_prach_config::nPrachFreqOffset'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1ab9b99e41ea39f16780f66a539aa872c8'; + func-mem-ref-line = '433'; + func-mem-ref-name = 'xran_prach_config::nPrachSubcSpacing'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a0f561e77fa0f040b637f4e04f6cd8078'; + func-mem-ref-line = '136'; + func-mem-ref-name = 'xran_prach_cp_config::x'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a0f561e77fa0f040b637f4e04f6cd8078'; + func-mem-ref-line = '106'; + func-mem-ref-name = 'xRANPrachConfigTableStruct::x'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a855041f3139611ca7478502e3241b2f1'; + func-mem-ref-line = '134'; + func-mem-ref-name = 'xran_prach_cp_config::nrofPrachInSlot'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a855041f3139611ca7478502e3241b2f1'; + func-mem-ref-line = '111'; + func-mem-ref-name = 'xRANPrachConfigTableStruct::nrofPrachInSlot'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a1d627e83c5e0ae889b71ea0508991f29'; + func-mem-ref-line = '137'; + func-mem-ref-name = 'xran_prach_cp_config::y'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a1d627e83c5e0ae889b71ea0508991f29'; + func-mem-ref-line = '107'; + func-mem-ref-name = 'xRANPrachConfigTableStruct::y'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a664cb6ca464c69ef60a445fa4f4b3522'; + func-mem-ref-line = '131'; + func-mem-ref-name = 'xran_prach_cp_config::numSymbol'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a2e544eaae35a5756272d62af4fa53a19'; + func-mem-ref-line = '135'; + func-mem-ref-name = 'xran_prach_cp_config::occassionsInPrachSlot'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a48f74053065142fe9cffa09c460965e1'; + func-mem-ref-line = '108'; + func-mem-ref-name = 'xRANPrachConfigTableStruct::slotNr'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a3b00fdd9e145b9c7be29aa35c6f94fe1'; + func-mem-ref-line = '138'; + func-mem-ref-name = 'xran_prach_cp_config::isPRACHslot'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1af7a48e76794ce5d801ab6d0f848abb53'; + func-mem-ref-line = '80'; + func-mem-ref-name = 'XRAN_PRACH_CANDIDATE_SLOT'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a34dbe5e515cc78b4ce26fa287e6c1edc'; + func-mem-ref-line = '110'; + func-mem-ref-name = 'XRAN_MAX_SECTOR_NR'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a26e6c6447dffca5e7ece503e8c0e890c'; + func-mem-ref-line = '262'; + func-mem-ref-name = 'xran_device_ctx::prach_start_symbol'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a53af49f65e0dafdafcde73d693961a78'; + func-mem-ref-line = '263'; + func-mem-ref-name = 'xran_device_ctx::prach_last_symbol'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a38a5594e33178248d80ccde98a16262a'; + func-mem-ref-line = '139'; + func-mem-ref-name = 'xran_prach_cp_config::eAxC_offset'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1a3fc01469558ddf728239d59038ac5803'; + func-mem-ref-line = '3039'; + func-mem-ref-name = 'xran_get_num_eAxc'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__printf_8h_1a417ba2c3b49b216e358bc340346bf1cf'; + func-mem-ref-line = '54'; + func-mem-ref-name = 'print_dbg'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a814959a7b5ff6cd4474433f62312eee0'; + func-mem-ref-line = '54'; + func-mem-ref-name = 'XRAN_STATUS_SUCCESS'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'prach__functional_8cc_1a62307393b7f454a2b348ada67997b796'; + func-mem-ref-line = '177'; + func-mem-ref-name = 'TEST_P'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1a03f408f45e97aa68ca47c92e4e7d1a70'; + func-mem-ref-line = '2756'; + func-mem-ref-name = 'xran_open'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__main_8c_1a8546e95e2daf30058a66904e7f801723'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_alloc_sectionid'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pHandle'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'dir'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'cc_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'ant_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'slot_id'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + func-mem-desc-line = '379'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a6447bf8849000b9fecf51d77d4fa50b2'; + func-mem-ref-line = '125'; + func-mem-ref-name = 'XRAN_MAX_CELLS_PER_PORT'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__printf_8h_1a16c2c0a30b31515830a4a8eff6cf10b5'; + func-mem-ref-line = '62'; + func-mem-ref-name = 'print_err'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a35fa05e7523928c0c86cbcf835c12dc5'; + func-mem-ref-line = '111'; + func-mem-ref-name = 'XRAN_MAX_ANTENNA_NR'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1af3e0ced3530652b3c92220c8783b55fa'; + func-mem-ref-line = '118'; + func-mem-ref-name = 'XRAN_MAX_ANT_ARRAY_ELM_NR'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__common_8c_1aaa01e98d3b3439a332302aebe21459dd'; + func-mem-ref-line = '535'; + func-mem-ref-name = 'generate_cpmsg_dlul'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__common_8c_1ab8a6ed3cee8fa183142d0c23d0b4971d'; + func-mem-ref-line = '595'; + func-mem-ref-name = 'generate_cpmsg_prach'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__main_8c_1a7a3c06a23d41de0038747348be9bb9da'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_init_seqid'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pHandle'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + func-mem-desc-line = '400'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'gen__test_8m_1a38d2cdf58cc777c61b71dd2785d139af'; + func-mem-ref-line = '166'; + func-mem-ref-name = 'ant'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a6447bf8849000b9fecf51d77d4fa50b2'; + func-mem-ref-line = '125'; + func-mem-ref-name = 'XRAN_MAX_CELLS_PER_PORT'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1gga9c60a23fdae979ad1842b255790d1558a927c0750db0e35def0b5e1a088a5b9e4'; + func-mem-ref-line = '150'; + func-mem-ref-name = 'XRAN_DIR_MAX'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a35fa05e7523928c0c86cbcf835c12dc5'; + func-mem-ref-line = '111'; + func-mem-ref-name = 'XRAN_MAX_ANTENNA_NR'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1a03f408f45e97aa68ca47c92e4e7d1a70'; + func-mem-ref-line = '2756'; + func-mem-ref-name = 'xran_open'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__main_8c_1abedca5602cf06d6f39524387b6c72b38'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +static uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_get_cp_seqid'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pHandle'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'dir'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'cc_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'ant_id'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + func-mem-desc-line = '418'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__main_8c_1af9aa4498b613d1a7302ef6b38af04954'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +static uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_get_updl_seqid'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pHandle'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'cc_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'ant_id'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + func-mem-desc-line = '435'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__main_8c_1ab3191f816f144936713d3655d93f1656'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +static uint8_t * +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_get_updl_seqid_addr'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pHandle'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'cc_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'ant_id'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + func-mem-desc-line = '449'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__main_8c_1a8786dbb573ae7dbc009db07927399e61'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +static int8_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_check_upul_seqid'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pHandle'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'cc_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'ant_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'slot_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'seq_id'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + func-mem-desc-line = '463'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__main_8c_1a1a6d4a5b34923cb2ec45709bb177095b'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +static uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_get_upul_seqid'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pHandle'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'cc_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'ant_id'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + func-mem-desc-line = '489'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__main_8c_1a9978422762aaae9a7e907b17b8ef7023'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +static uint8_t * +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_get_upul_seqid_addr'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pHandle'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'cc_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'ant_id'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + func-mem-desc-line = '502'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__main_8c_1aa6257f6d31f8f03e54e7d2ccb56de23b'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +static int8_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_check_cp_seqid'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pHandle'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'dir'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'cc_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'ant_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'seq_id'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + func-mem-desc-line = '515'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__main_8c_1a4008a906c3e80dcf72600ca789a4ed41'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +static int8_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_check_updl_seqid'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pHandle'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'cc_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'ant_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'slot_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'seq_id'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + func-mem-desc-line = '539'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__main_8c_1a4eb2b37a85455e8078520bcea40296cc'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'process_cplane'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mbuf * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pkt'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + func-mem-desc-line = '571'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8h_1a5921f2439294279b8111fed577c5c37a'; + func-mem-ref-line = '322'; + func-mem-ref-name = 'xran_cp_gen_params::sections'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1a7a412a9cd0ac919dccb2112fb386d64a'; + func-mem-ref-line = '1342'; + func-mem-ref-name = 'handle_ecpri_ethertype'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__main_8c_1a195da46c3cb90e36da543594416cbba7'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'sym_ota_cb'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_timer * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'tim'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'arg'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +unsigned long * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'used_tick'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + func-mem-desc-line = '582'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1aa09e72e94d2a1d891e86f4c09b0f8b21'; + func-mem-ref-line = '223'; + func-mem-ref-name = 'xran_dev_get_ctx'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__mlog__lnx_8h_1ab3a08558e2971726cddceed59f9fd3bd'; + func-mem-ref-line = '42'; + func-mem-ref-name = 'MLogTick'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a605ecc3c0ad6066e39465a108b873373'; + func-mem-ref-line = '100'; + func-mem-ref-name = 'XranGetSymNum'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1a98175f360f5753bc99c4edd3c2d8bd04'; + func-mem-ref-line = '113'; + func-mem-ref-name = 'xran_lib_ota_sym_idx'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a87d92ec177ed9c388685a91051f66205'; + func-mem-ref-line = '122'; + func-mem-ref-name = 'XRAN_NUM_OF_SYMBOL_PER_SLOT'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__timer_8c_1a1d2f23e35725cd993cbb72de9f4f565a'; + func-mem-ref-line = '131'; + func-mem-ref-name = 'xran_tick'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1a9c3700d61ba446fa9b05cca2ca9018ab'; + func-mem-ref-line = '632'; + func-mem-ref-name = 'tti_ota_cb'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__timer_8c_1a2c22baf2fd259384ee376d438bb461c1'; + func-mem-ref-line = '138'; + func-mem-ref-name = 'get_ticks_diff'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a01cfa0ddd894bb94d785f755bfdd8b9e'; + func-mem-ref-line = '265'; + func-mem-ref-name = 'xran_device_ctx::phy_tti_cb_done'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1a96de765800aa6de0788fc530cbc16825'; + func-mem-ref-line = '724'; + func-mem-ref-name = 'xran_timer_arm_ex'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__main_8c_1a66ed2e3f4cefcfdd71841c152c80aa20'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_cp_create_and_send_section'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pHandle'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'ru_port_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'dir'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'tti'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'cc_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_prb_map * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'prbMap'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +enum xran_category +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'category'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'ctx_id'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + func-mem-desc-line = '737'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1aa09e72e94d2a1d891e86f4c09b0f8b21'; + func-mem-ref-line = '223'; + func-mem-ref-name = 'xran_dev_get_ctx'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a36c7ae37e30524321b18fde971372b92'; + func-mem-ref-line = '106'; + func-mem-ref-name = 'XranGetSlotNum'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a76e4794a93b44d5f6bd835f1640f7f4f'; + func-mem-ref-line = '54'; + func-mem-ref-name = 'SLOTNUM_PER_SUBFRAME'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a5ca2a2076a042acdca2e326a436a7882'; + func-mem-ref-line = '104'; + func-mem-ref-name = 'XranGetSubFrameNum'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'common_8h_1a695a7a6db2c879d5a4ec04a4bc99d0e4'; + func-mem-ref-line = '57'; + func-mem-ref-name = 'SUBFRAMES_PER_SYSTEMFRAME'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a5a8a3a7c7c4ff43865b57971dfbf0aa6'; + func-mem-ref-line = '102'; + func-mem-ref-name = 'XranGetFrameNum'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__main_8c_1a4474e27c827459f3af40954b0c6f962b'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'tx_cp_dl_cb'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_timer * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'tim'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'arg'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + func-mem-desc-line = '910'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__mlog__lnx_8h_1ab3a08558e2971726cddceed59f9fd3bd'; + func-mem-ref-line = '42'; + func-mem-ref-name = 'MLogTick'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'common_8c_1ae69cd45536b5b80a0eac08ee522d8aa2'; + func-mem-ref-line = '47'; + func-mem-ref-name = 'num_eAxc'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1aa09e72e94d2a1d891e86f4c09b0f8b21'; + func-mem-ref-line = '223'; + func-mem-ref-name = 'xran_dev_get_ctx'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1a3fc01469558ddf728239d59038ac5803'; + func-mem-ref-line = '3039'; + func-mem-ref-name = 'xran_get_num_eAxc'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1ad51ee5b7f1f27c770f1eb658b5ee523e'; + func-mem-ref-line = '3029'; + func-mem-ref-name = 'xran_get_num_cc'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'chain__tests_8cc_1af4e08ea14f09b53fce43ec39aba7a605'; + func-mem-ref-line = '49'; + func-mem-ref-name = 'xran_ut_tx_cp_dl'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'chain__tests_8cc_1ad274ca70e6c47c2c549422b1cba1f0b0'; + func-mem-ref-line = '67'; + func-mem-ref-name = 'xran_ut_tx_cpup_dl'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__main_8c_1ad4544f4d6f4713c010f083bce5758d14'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'rx_ul_deadline_half_cb'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_timer * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'tim'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'arg'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + func-mem-desc-line = '963'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__mlog__lnx_8h_1ab3a08558e2971726cddceed59f9fd3bd'; + func-mem-ref-line = '42'; + func-mem-ref-name = 'MLogTick'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1aa09e72e94d2a1d891e86f4c09b0f8b21'; + func-mem-ref-line = '223'; + func-mem-ref-name = 'xran_dev_get_ctx'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1aa76014e778bb54907d85e05cac204d71'; + func-mem-ref-line = '98'; + func-mem-ref-name = 'XranGetTtiNum'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1a98175f360f5753bc99c4edd3c2d8bd04'; + func-mem-ref-line = '113'; + func-mem-ref-name = 'xran_lib_ota_sym_idx'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a87d92ec177ed9c388685a91051f66205'; + func-mem-ref-line = '122'; + func-mem-ref-name = 'XRAN_NUM_OF_SYMBOL_PER_SLOT'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1a2816fdf0ed3269e998720d01c2b6bf76'; + func-mem-ref-line = '2936'; + func-mem-ref-name = 'xran_get_slot_idx'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'common_8h_1a695a7a6db2c879d5a4ec04a4bc99d0e4'; + func-mem-ref-line = '57'; + func-mem-ref-name = 'SUBFRAMES_PER_SYSTEMFRAME'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a76e4794a93b44d5f6bd835f1640f7f4f'; + func-mem-ref-line = '54'; + func-mem-ref-name = 'SLOTNUM_PER_SUBFRAME'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a0ac55d6b8988083425a147f343c34455'; + func-mem-ref-line = '256'; + func-mem-ref-name = 'xran_device_ctx::xran2phy_mem_ready'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1ad51ee5b7f1f27c770f1eb658b5ee523e'; + func-mem-ref-line = '3029'; + func-mem-ref-name = 'xran_get_num_cc'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1ae3228d07f4ce31d4707fd5934fb8ec03'; + func-mem-ref-line = '260'; + func-mem-ref-name = 'xran_device_ctx::rx_packet_callback_tracker'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1af0963ba32cc8ecd280afd2e474eb426a'; + func-mem-ref-line = '109'; + func-mem-ref-name = 'XRAN_N_FE_BUF_LEN'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a4bb009dc28deffeccf1559528dbc5bee'; + func-mem-ref-line = '239'; + func-mem-ref-name = 'xran_device_ctx::pCallbackTag'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a88d73cc1cc6695b6e27bad4609d887e1'; + func-mem-ref-line = '290'; + func-mem-ref-name = 'xran_cb_tag::slotiId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a0a81ee27053a63e71a6c7db060562eb0'; + func-mem-ref-line = '289'; + func-mem-ref-name = 'xran_cb_tag::symbol'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a814959a7b5ff6cd4474433f62312eee0'; + func-mem-ref-line = '54'; + func-mem-ref-name = 'XRAN_STATUS_SUCCESS'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a023feefd3cb93d648f673ce1a8c79563'; + func-mem-ref-line = '238'; + func-mem-ref-name = 'xran_device_ctx::pCallback'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__mlog__lnx_8h_1a2ea88cf07a4bee8b98cb6cea2ef3ae36'; + func-mem-ref-line = '44'; + func-mem-ref-name = 'MLogTask'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__lib__mlog__tasks__id_8h_1a7cd97a899b320a85a3b41bb60a02a116'; + func-mem-ref-line = '105'; + func-mem-ref-name = 'PID_UP_UL_HALF_DEAD_LINE_CB'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__main_8c_1a63aa00dad3b771f4db5df8ca8ac68323'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'rx_ul_deadline_full_cb'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_timer * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'tim'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'arg'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + func-mem-desc-line = '999'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__mlog__lnx_8h_1ab3a08558e2971726cddceed59f9fd3bd'; + func-mem-ref-line = '42'; + func-mem-ref-name = 'MLogTick'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1aa09e72e94d2a1d891e86f4c09b0f8b21'; + func-mem-ref-line = '223'; + func-mem-ref-name = 'xran_dev_get_ctx'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1aa76014e778bb54907d85e05cac204d71'; + func-mem-ref-line = '98'; + func-mem-ref-name = 'XranGetTtiNum'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1a98175f360f5753bc99c4edd3c2d8bd04'; + func-mem-ref-line = '113'; + func-mem-ref-name = 'xran_lib_ota_sym_idx'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a87d92ec177ed9c388685a91051f66205'; + func-mem-ref-line = '122'; + func-mem-ref-name = 'XRAN_NUM_OF_SYMBOL_PER_SLOT'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1a2816fdf0ed3269e998720d01c2b6bf76'; + func-mem-ref-line = '2936'; + func-mem-ref-name = 'xran_get_slot_idx'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'common_8h_1a695a7a6db2c879d5a4ec04a4bc99d0e4'; + func-mem-ref-line = '57'; + func-mem-ref-name = 'SUBFRAMES_PER_SYSTEMFRAME'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a76e4794a93b44d5f6bd835f1640f7f4f'; + func-mem-ref-line = '54'; + func-mem-ref-name = 'SLOTNUM_PER_SUBFRAME'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__frame__struct_8c_1a00aa0f7cc00a6ca9cde2bec43eb1c9f9'; + func-mem-ref-line = '321'; + func-mem-ref-name = 'xran_fs_get_max_slot_SFN'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a0ac55d6b8988083425a147f343c34455'; + func-mem-ref-line = '256'; + func-mem-ref-name = 'xran_device_ctx::xran2phy_mem_ready'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1ad51ee5b7f1f27c770f1eb658b5ee523e'; + func-mem-ref-line = '3029'; + func-mem-ref-name = 'xran_get_num_cc'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a4bb009dc28deffeccf1559528dbc5bee'; + func-mem-ref-line = '239'; + func-mem-ref-name = 'xran_device_ctx::pCallbackTag'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a88d73cc1cc6695b6e27bad4609d887e1'; + func-mem-ref-line = '290'; + func-mem-ref-name = 'xran_cb_tag::slotiId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a0a81ee27053a63e71a6c7db060562eb0'; + func-mem-ref-line = '289'; + func-mem-ref-name = 'xran_cb_tag::symbol'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a814959a7b5ff6cd4474433f62312eee0'; + func-mem-ref-line = '54'; + func-mem-ref-name = 'XRAN_STATUS_SUCCESS'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a023feefd3cb93d648f673ce1a8c79563'; + func-mem-ref-line = '238'; + func-mem-ref-name = 'xran_device_ctx::pCallback'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a5f7077fcb0eef30eca298a156e25ec0c'; + func-mem-ref-line = '241'; + func-mem-ref-name = 'xran_device_ctx::pPrachCallback'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a31909ed26aa2152e78db6fc72237b5d1'; + func-mem-ref-line = '242'; + func-mem-ref-name = 'xran_device_ctx::pPrachCallbackTag'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__mlog__lnx_8h_1a2ea88cf07a4bee8b98cb6cea2ef3ae36'; + func-mem-ref-line = '44'; + func-mem-ref-name = 'MLogTask'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__lib__mlog__tasks__id_8h_1ac49aef4af90e965464cd29fd0e0d5426'; + func-mem-ref-line = '106'; + func-mem-ref-name = 'PID_UP_UL_FULL_DEAD_LINE_CB'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__main_8c_1ab26e37a9d8915b33e29d632af88ff3a3'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'tx_cp_ul_cb'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_timer * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'tim'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'arg'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + func-mem-desc-line = '1045'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__mlog__lnx_8h_1ab3a08558e2971726cddceed59f9fd3bd'; + func-mem-ref-line = '42'; + func-mem-ref-name = 'MLogTick'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'common_8c_1ae69cd45536b5b80a0eac08ee522d8aa2'; + func-mem-ref-line = '47'; + func-mem-ref-name = 'num_eAxc'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1aa09e72e94d2a1d891e86f4c09b0f8b21'; + func-mem-ref-line = '223'; + func-mem-ref-name = 'xran_dev_get_ctx'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1ac1db3db55038ef0b2f69827746eaf87c'; + func-mem-ref-line = '210'; + func-mem-ref-name = 'xran_device_ctx::PrachCPConfig'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1ae3663b3f472b4003acc7f91e61669735'; + func-mem-ref-line = '3049'; + func-mem-ref-name = 'xran_get_ru_category'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1abf0211a253f5881ebad3910cef98d30ea25cae7703b653209b61647fa65ac7e9f'; + func-mem-ref-line = '264'; + func-mem-ref-name = 'XRAN_CATEGORY_A'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1a3fc01469558ddf728239d59038ac5803'; + func-mem-ref-line = '3039'; + func-mem-ref-name = 'xran_get_num_eAxc'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1aaf7b03037e0687819501554a42fb3c52'; + func-mem-ref-line = '3059'; + func-mem-ref-name = 'xran_get_num_eAxcUl'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1ad51ee5b7f1f27c770f1eb658b5ee523e'; + func-mem-ref-line = '3029'; + func-mem-ref-name = 'xran_get_num_cc'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1a273a09cbea9267272f4e2a339059e442'; + func-mem-ref-line = '111'; + func-mem-ref-name = 'xran_lib_ota_tti'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1ac9a8f4c80840a80e1a27ff9776e13f66'; + func-mem-ref-line = '97'; + func-mem-ref-name = 'xran_timer_ctx::tti_to_process'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1af0963ba32cc8ecd280afd2e474eb426a'; + func-mem-ref-line = '109'; + func-mem-ref-name = 'XRAN_N_FE_BUF_LEN'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a36c7ae37e30524321b18fde971372b92'; + func-mem-ref-line = '106'; + func-mem-ref-name = 'XranGetSlotNum'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a76e4794a93b44d5f6bd835f1640f7f4f'; + func-mem-ref-line = '54'; + func-mem-ref-name = 'SLOTNUM_PER_SUBFRAME'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a5ca2a2076a042acdca2e326a436a7882'; + func-mem-ref-line = '104'; + func-mem-ref-name = 'XranGetSubFrameNum'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'common_8h_1a695a7a6db2c879d5a4ec04a4bc99d0e4'; + func-mem-ref-line = '57'; + func-mem-ref-name = 'SUBFRAMES_PER_SYSTEMFRAME'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a5a8a3a7c7c4ff43865b57971dfbf0aa6'; + func-mem-ref-line = '102'; + func-mem-ref-name = 'XranGetFrameNum'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'chain__tests_8cc_1a61f8088ed26f5ccc6a323c3b0feb66c2'; + func-mem-ref-line = '55'; + func-mem-ref-name = 'xran_ut_tx_cp_ul'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__main_8c_1a739e4c11ebd576733ec5fc965e7a2cc6'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'ul_up_full_slot_cb'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_timer * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'tim'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'arg'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + func-mem-desc-line = '1129'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__mlog__lnx_8h_1ab3a08558e2971726cddceed59f9fd3bd'; + func-mem-ref-line = '42'; + func-mem-ref-name = 'MLogTick'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__mlog__lnx_8h_1a2ea88cf07a4bee8b98cb6cea2ef3ae36'; + func-mem-ref-line = '44'; + func-mem-ref-name = 'MLogTask'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__lib__mlog__tasks__id_8h_1a888c066a592695a9b6c49abbc79594d3'; + func-mem-ref-line = '102'; + func-mem-ref-name = 'PID_TTI_CB_TO_PHY'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__main_8c_1ae4973aab78785b0738c729b26a1474e2'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_timing_source_thread'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'args'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + func-mem-desc-line = '1165'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'master_8py_1ad5c7a065cddc009146ea1b1192eb2102'; + func-mem-ref-line = '498'; + func-mem-ref-name = 'master::res'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a7986392c9b5ba31ca86b38401d940baa'; + func-mem-ref-line = '250'; + func-mem-ref-name = 'xran_device_ctx::sym_up_ul'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1ae3f1b1cbdaabdcfb693b93d75d4a9972'; + func-mem-ref-line = '249'; + func-mem-ref-name = 'xran_device_ctx::sym_up'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1aa09e72e94d2a1d891e86f4c09b0f8b21'; + func-mem-ref-line = '223'; + func-mem-ref-name = 'xran_dev_get_ctx'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__main_8c_1a7a412a9cd0ac919dccb2112fb386d64a'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'handle_ecpri_ethertype'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mbuf * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pkt'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint64_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'rx_time'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + func-mem-desc-line = '1342'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'ethdi_8h_1a39fca1837c5ce7715cbf571669660c13a90bbe176be23902fec1de76501599769'; + func-mem-ref-line = '137'; + func-mem-ref-name = 'MBUF_FREE'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__printf_8h_1a16c2c0a30b31515830a4a8eff6cf10b5'; + func-mem-ref-line = '62'; + func-mem-ref-name = 'print_err'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8c_1af2fff595280c3b2999bfa40d7beafadf'; + func-mem-ref-line = '120'; + func-mem-ref-name = 'rx_bytes_counter'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1aa90ff3ad961fe295cdffddc945999212'; + func-mem-ref-line = '132'; + func-mem-ref-name = 'xran_ecpri_hdr::cmnhdr'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1a5b41115e5686e3ff4f14c356a3aa209a'; + func-mem-ref-line = '118'; + func-mem-ref-name = 'xran_ecpri_cmn_hdr::ecpri_mesg_type'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1gga5f49588115e2d0a807ad613ae866384aaef46b9a1a9d9f7c3276e1e99b02ef6de'; + func-mem-ref-line = '77'; + func-mem-ref-name = 'ECPRI_IQ_DATA'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8c_1a3d4bd5c7eec6da4ab71688e209100761'; + func-mem-ref-line = '143'; + func-mem-ref-name = 'process_mbuf'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1gga5f49588115e2d0a807ad613ae866384aa54c48b34d68f3445f6108e416a655955'; + func-mem-ref-line = '79'; + func-mem-ref-name = 'ECPRI_RT_CONTROL_DATA'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__mlog__lnx_8h_1ab3a08558e2971726cddceed59f9fd3bd'; + func-mem-ref-line = '42'; + func-mem-ref-name = 'MLogTick'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1aa09e72e94d2a1d891e86f4c09b0f8b21'; + func-mem-ref-line = '223'; + func-mem-ref-name = 'xran_dev_get_ctx'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a742cfd7821c00ae099b7d4809de9a765'; + func-mem-ref-line = '48'; + func-mem-ref-name = 'O_RU'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1a4eb2b37a85455e8078520bcea40296cc'; + func-mem-ref-line = '571'; + func-mem-ref-name = 'process_cplane'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__mlog__lnx_8h_1a2ea88cf07a4bee8b98cb6cea2ef3ae36'; + func-mem-ref-line = '44'; + func-mem-ref-name = 'MLogTask'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__lib__mlog__tasks__id_8h_1afe16668c89ce93c5234dc0b39a49a670'; + func-mem-ref-line = '109'; + func-mem-ref-name = 'PID_PROCESS_CP_PKT'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1a4ea0e9c036a1dc7605f53f1f862f4952'; + func-mem-ref-line = '2319'; + func-mem-ref-name = 'xran_init'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__main_8c_1ac5201df2d161091f7319ff2f57432823'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_pkt_validate'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'arg'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mbuf * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'mbuf'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'iq_data_start'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'size'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'CC_ID'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'Ant_ID'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'frame_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'subframe_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'slot_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'symb_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct ecpri_seq_id * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'seq_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'num_prbu'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'start_prbu'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'sym_inc'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'rb'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'sect_id'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + func-mem-desc-line = '1536'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1aa09e72e94d2a1d891e86f4c09b0f8b21'; + func-mem-ref-line = '223'; + func-mem-ref-name = 'xran_dev_get_ctx'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1ad2bc382255cb424431bb7515a796e5bf'; + func-mem-ref-line = '271'; + func-mem-ref-name = 'xran_device_ctx::fh_counters'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a3842cc1a01bcaa4df37fd8c10308ff01'; + func-mem-ref-line = '208'; + func-mem-ref-name = 'xran_device_ctx::fh_init'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a8a5462b0059073e90d42f8bfa066d566'; + func-mem-ref-line = '324'; + func-mem-ref-name = 'xran_fh_init::io_cfg'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a1e6927fa1486224044e568f9c370519b'; + func-mem-ref-line = '295'; + func-mem-ref-name = 'xran_io_cfg::id'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1ada810b81429ee4ec611614fd69dc99da'; + func-mem-ref-line = '47'; + func-mem-ref-name = 'O_DU'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__common_8c_1a3d4bd5c7eec6da4ab71688e209100761'; + func-mem-ref-line = '143'; + func-mem-ref-name = 'process_mbuf'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__main_8c_1a98688c9e38dee57053ba667647966144'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +static int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_send_burst'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_device_ctx * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'dev'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'n'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'port'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + func-mem-desc-line = '1689'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__main_8c_1a072be4e030e23440817b205256d2df29'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_process_tx_sym_cp_off'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'ctx_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'tti'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'cc_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'ant_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'frame_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'subframe_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'slot_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'sym_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'do_srs'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + func-mem-desc-line = '1715'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__mlog__lnx_8h_1ab3a08558e2971726cddceed59f9fd3bd'; + func-mem-ref-line = '42'; + func-mem-ref-name = 'MLogTick'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1aa09e72e94d2a1d891e86f4c09b0f8b21'; + func-mem-ref-line = '223'; + func-mem-ref-name = 'xran_dev_get_ctx'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1ac1db3db55038ef0b2f69827746eaf87c'; + func-mem-ref-line = '210'; + func-mem-ref-name = 'xran_device_ctx::PrachCPConfig'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a0dc2f992bcfe4f620d6ce2e969986d5c'; + func-mem-ref-line = '220'; + func-mem-ref-name = 'xran_device_ctx::srs_cfg'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1a7c54b342a8b4907858f7f0f074ddd79d'; + func-mem-ref-line = '3069'; + func-mem-ref-name = 'xran_get_num_ant_elm'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__main_8c_1ad2506f0edcccb4fbdc5b41b03270a1af'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_process_tx_sym_cp_on'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'ctx_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'tti'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'cc_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'ant_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'frame_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'subframe_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'slot_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'sym_id'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + func-mem-desc-line = '2000'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__mlog__lnx_8h_1ab3a08558e2971726cddceed59f9fd3bd'; + func-mem-ref-line = '42'; + func-mem-ref-name = 'MLogTick'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1aa09e72e94d2a1d891e86f4c09b0f8b21'; + func-mem-ref-line = '223'; + func-mem-ref-name = 'xran_dev_get_ctx'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1ac1db3db55038ef0b2f69827746eaf87c'; + func-mem-ref-line = '210'; + func-mem-ref-name = 'xran_device_ctx::PrachCPConfig'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a0dc2f992bcfe4f620d6ce2e969986d5c'; + func-mem-ref-line = '220'; + func-mem-ref-name = 'xran_device_ctx::srs_cfg'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__main_8c_1a3ec34c1401982803f519f83c7a18175c'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_packet_and_dpdk_timer_thread'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'args'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + func-mem-desc-line = '2282'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__main_8c_1a4ea0e9c036a1dc7605f53f1f862f4952'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_init'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'argc'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +char * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'argv'; + func-mem-param-array = '[]'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_fh_init * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'p_xran_fh_init'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +char * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'appName'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void ** +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pXranLayerHandle'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + func-mem-desc-line = '2319'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Initialize the XRAN Layer via DPDK. + +@param argc + A non-negative value. If it is greater than 0, the array members + for argv[0] through argv[argc] (non-inclusive) shall contain pointers + to strings. +@param argv + An array of strings. The contents of the array, as well as the strings + which are pointed to by the array, may be modified by this function. + +@return + 0 - on success + Error codes returned via rte_errno +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a8a5462b0059073e90d42f8bfa066d566'; + func-mem-ref-line = '324'; + func-mem-ref-name = 'xran_fh_init::io_cfg'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1aa09e72e94d2a1d891e86f4c09b0f8b21'; + func-mem-ref-line = '223'; + func-mem-ref-name = 'xran_dev_get_ctx'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'ethdi_8c_1aef5f52e6a4f49171518a59382eb03df5'; + func-mem-ref-line = '75'; + func-mem-ref-name = 'xran_if_current_state'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a2f600110ab5726a0f21375b7f24c0326a4b6bcf9a51e104e19a5fa2d859a63080'; + func-mem-ref-line = '191'; + func-mem-ref-name = 'XRAN_INIT'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a3a10011d5a15ba88d65b9e027cdff35e'; + func-mem-ref-line = '325'; + func-mem-ref-name = 'xran_fh_init::eAxCId_conf'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1ab0bb0b684cc2798a2ef1ceabe4a47e38'; + func-mem-ref-line = '356'; + func-mem-ref-name = 'xran_fh_init::enableCP'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1ac0646000d1448798a186e109df0bb3dd'; + func-mem-ref-line = '357'; + func-mem-ref-name = 'xran_fh_init::prachEnable'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a367975ed81727c2747411672f73b2754'; + func-mem-ref-line = '358'; + func-mem-ref-name = 'xran_fh_init::srsEnable'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a6fcbf469691a192f1ce298f70981c17a'; + func-mem-ref-line = '363'; + func-mem-ref-name = 'xran_fh_init::DynamicSectionEna'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'ethdi_8c_1a69c763967ba7e28c4a589ce624c226ff'; + func-mem-ref-line = '124'; + func-mem-ref-name = 'xran_register_ethertype_handler'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'ethernet_8h_1af87cccd4396539ae2fd0000a61907e92'; + func-mem-ref-line = '42'; + func-mem-ref-name = 'ETHER_TYPE_ECPRI'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1a7a412a9cd0ac919dccb2112fb386d64a'; + func-mem-ref-line = '1342'; + func-mem-ref-name = 'handle_ecpri_ethertype'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'ethdi_8h_1a1e6927fa1486224044e568f9c370519b'; + func-mem-ref-line = '83'; + func-mem-ref-name = 'xran_io_loop_cfg::id'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'ethdi_8c_1a97dcf8200aebed714f47764c302a06b5'; + func-mem-ref-line = '288'; + func-mem-ref-name = 'xran_ethdi_init_dpdk_io'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a6a78f61ed42f876c7cfa835be5ed0942'; + func-mem-ref-line = '329'; + func-mem-ref-name = 'xran_fh_init::filePrefix'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1adcde08e47bdc5157e76975f32d1e96e8'; + func-mem-ref-line = '333'; + func-mem-ref-name = 'xran_fh_init::p_o_du_addr'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1ab05fc2b0bda23212626e2f075ce8e817'; + func-mem-ref-line = '334'; + func-mem-ref-name = 'xran_fh_init::p_o_ru_addr'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1adc6cb9229207f58f6c4375305dcb5384'; + func-mem-ref-line = '359'; + func-mem-ref-name = 'xran_fh_init::cp_vlan_tag'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1ae5c22bf3cd63e278914bf627dab04ce8'; + func-mem-ref-line = '360'; + func-mem-ref-name = 'xran_fh_init::up_vlan_tag'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__lib__wrap_8hpp_1a126b53d8cc57521b34496dbe3a26621f'; + func-mem-ref-line = '678'; + func-mem-ref-name = 'xranLibWraper::SetUp'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__main_8c_1acdd1d3179a2ecc831b45df3ac4ee230c'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_sector_get_instances'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pDevHandle'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'nNumInstances'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +xran_cc_handle_t * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pSectorInstanceHandles'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + func-mem-desc-line = '2408'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + Function returns handles for number of sectors supported by XRAN layer. Currently function + supports one handle XRAN layer where it supports only one CC + +@param pHandle + Pointer to XRAN layer handle +@param nNumInstances + total number of instances of CC +@param pSectorInstanceHandles + Pointer to xran_cc_handle_t where to store Handle pointer + +@return + 0 - on success +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a4a957453875309739caacdd651bdab75'; + func-mem-ref-line = '58'; + func-mem-ref-name = 'XRAN_STATUS_FAIL'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__printf_8h_1a6907fcd45c00443dc2e3258a628208ca'; + func-mem-ref-line = '111'; + func-mem-ref-name = 'CHECK_NOT_NULL'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1aad8a35383b986f4ca80437468b6c625f'; + func-mem-ref-line = '75'; + func-mem-ref-name = 'XRAN_STATUS_INVALID_PARAM'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__printf_8h_1a417ba2c3b49b216e358bc340346bf1cf'; + func-mem-ref-line = '54'; + func-mem-ref-name = 'print_dbg'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a341e6485fd9de350805503e938f90708'; + func-mem-ref-line = '68'; + func-mem-ref-name = 'XRAN_STATUS_RESOURCE'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a3e89a68b1b304e37badf1e8a62a38527'; + func-mem-ref-line = '148'; + func-mem-ref-name = 'sectorHandleInfo::nIndex'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a6fa55fef5f643eb92ae1f3890bb239d6'; + func-mem-ref-line = '149'; + func-mem-ref-name = 'sectorHandleInfo::nXranPort'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a2b7202fa1a2e3c5187799f8be3b5459f'; + func-mem-ref-line = '206'; + func-mem-ref-name = 'xran_device_ctx::xran_port_id'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'init__sys__functional_8cc_1ac2f03036711a42868a78783b735097e5'; + func-mem-ref-line = '120'; + func-mem-ref-name = 'TEST_P'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__main_8c_1a999189549fd6b524b733ddd61f1f9962'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_mm_init'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pHandle'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint64_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'nMemorySize'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'nMemorySegmentSize'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + func-mem-desc-line = '2447'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + Function initialize Memory Management subsystem (mm) in order to handle memory buffers between XRAN layer + and PHY. + +@param pHandle + Pointer to XRAN layer handle for given CC +@param nMemorySize + memory size of all segments +@param nMemorySegmentSize + size of memory per segment + +@return + 0 - on success +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'init__sys__functional_8cc_1ac2f03036711a42868a78783b735097e5'; + func-mem-ref-line = '120'; + func-mem-ref-name = 'TEST_P'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__main_8c_1a39a9f7b5d01979eb1f8d806d6b9c50fe'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_bm_init'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pHandle'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint32_t * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pPoolIndex'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'nNumberOfBuffers'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'nBufferSize'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + func-mem-desc-line = '2454'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + Function allocates buffer memory (bm) used between XRAN layer and PHY. In general case it's DPDK mbuf. + it uses Memory Management system to get memory chunk and define memory pool on top of it. + +@param pHandle + Pointer to XRAN layer handle for given CC +@param nPoolIndex + pointer to buffer pool identification to be returned +@param nNumberOfBuffers + number of buffer to allocate in the pool +@param nBufferSize + buffer size to allocate + +@return + 0 - on success +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a6fa55fef5f643eb92ae1f3890bb239d6'; + func-mem-ref-line = '149'; + func-mem-ref-name = 'sectorHandleInfo::nXranPort'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a3e89a68b1b304e37badf1e8a62a38527'; + func-mem-ref-line = '148'; + func-mem-ref-name = 'sectorHandleInfo::nIndex'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a7f385bf2d48d174e82285595baa66890'; + func-mem-ref-line = '152'; + func-mem-ref-name = 'sectorHandleInfo::nBufferPoolIndex'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a099c95b9a26488749a7bade28dd45192'; + func-mem-ref-line = '154'; + func-mem-ref-name = 'sectorHandleInfo::p_bufferPool'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'ethernet_8h_1aff7b5c03d15eefed7ec8ba88836914e6'; + func-mem-ref-line = '47'; + func-mem-ref-name = 'MBUF_CACHE'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a331562c12e62e7bae882440025872c95'; + func-mem-ref-line = '155'; + func-mem-ref-name = 'sectorHandleInfo::bufferPoolElmSz'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1af7c3fd31d7919760d9a11bd48b9ad804'; + func-mem-ref-line = '156'; + func-mem-ref-name = 'sectorHandleInfo::bufferPoolNumElm'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'init__sys__functional_8cc_1ac2f03036711a42868a78783b735097e5'; + func-mem-ref-line = '120'; + func-mem-ref-name = 'TEST_P'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__main_8c_1ae79ca138dc77d69ef692886be4e5da81'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_bm_allocate_buffer'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pHandle'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'nPoolIndex'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void ** +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'ppData'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void ** +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'ppCtrl'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + func-mem-desc-line = '2499'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + Function allocates buffer used between XRAN layer and PHY. In general case it's DPDK mbuf. + +@param pHandle + Pointer to XRAN layer handle for given CC +@param nPoolIndex + buffer pool identification +@param ppData + Pointer to pointer where to store address of new buffer +@param ppCtrl + Pointer to pointer where to store address of internal private control information + + +@return + 0 - on success +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a099c95b9a26488749a7bade28dd45192'; + func-mem-ref-line = '154'; + func-mem-ref-name = 'sectorHandleInfo::p_bufferPool'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a331562c12e62e7bae882440025872c95'; + func-mem-ref-line = '155'; + func-mem-ref-name = 'sectorHandleInfo::bufferPoolElmSz'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__printf_8h_1a16c2c0a30b31515830a4a8eff6cf10b5'; + func-mem-ref-line = '62'; + func-mem-ref-name = 'print_err'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'init__sys__functional_8cc_1ac2f03036711a42868a78783b735097e5'; + func-mem-ref-line = '120'; + func-mem-ref-name = 'TEST_P'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__main_8c_1a0f904fe772b55bcfc449759a23063aa3'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_bm_free_buffer'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pHandle'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pData'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pCtrl'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + func-mem-desc-line = '2541'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + Function frees buffer used between XRAN layer and PHY. In general case it's DPDK mbuf + +@param pHandle + Pointer to XRAN layer handle for given CC +@param pData + Pointer to buffer +@param pData + Pointer to internal private control information + +@return + 0 - on success +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'init__sys__functional_8cc_1ac2f03036711a42868a78783b735097e5'; + func-mem-ref-line = '120'; + func-mem-ref-name = 'TEST_P'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__main_8c_1ac94e2474beef3b68521cfd391211b1be'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_5g_fronthault_config'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pHandle'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_buffer_list * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pSrcBuffer'; + func-mem-param-array = '[XRAN_MAX_ANTENNA_NR][XRAN_N_FE_BUF_LEN]'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_buffer_list * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pSrcCpBuffer'; + func-mem-param-array = '[XRAN_MAX_ANTENNA_NR][XRAN_N_FE_BUF_LEN]'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_buffer_list * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pDstBuffer'; + func-mem-param-array = '[XRAN_MAX_ANTENNA_NR][XRAN_N_FE_BUF_LEN]'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_buffer_list * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pDstCpBuffer'; + func-mem-param-array = '[XRAN_MAX_ANTENNA_NR][XRAN_N_FE_BUF_LEN]'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +xran_transport_callback_fn +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pCallback'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pCallbackTag'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + func-mem-desc-line = '2551'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + Function configures TX(DL) and RX(UL) output buffers and callback (UL only) for XRAN layer with + given handle + +@param pHandle + Pointer to XRAN layer handle for given CC +@param pSrcBuffer + list of memory buffers to use to fetch IQs from PHY to XRAN layer (DL) +@param pSrcCpBuffer + list of memory buffers to use to configure C-plane (DL) +@param pDstBuffer + list of memory buffers to use to deliver IQs from XRAN layer to PHY (UL) +@param pDstCpBuffer + list of memory buffers to use to configure C-plane (UL) +@param xran_transport_callback_fn pCallback + Callback function to call with arrival of all packets for given CC for given symbol +@param pCallbackTag + Parameters of Callback function + +@return + 0 - on success + -1 - on error +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a814959a7b5ff6cd4474433f62312eee0'; + func-mem-ref-line = '54'; + func-mem-ref-name = 'XRAN_STATUS_SUCCESS'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1aa09e72e94d2a1d891e86f4c09b0f8b21'; + func-mem-ref-line = '223'; + func-mem-ref-name = 'xran_dev_get_ctx'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__printf_8h_1a417ba2c3b49b216e358bc340346bf1cf'; + func-mem-ref-line = '54'; + func-mem-ref-name = 'print_dbg'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a4a957453875309739caacdd651bdab75'; + func-mem-ref-line = '58'; + func-mem-ref-name = 'XRAN_STATUS_FAIL'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a3e89a68b1b304e37badf1e8a62a38527'; + func-mem-ref-line = '148'; + func-mem-ref-name = 'sectorHandleInfo::nIndex'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1af0963ba32cc8ecd280afd2e474eb426a'; + func-mem-ref-line = '109'; + func-mem-ref-name = 'XRAN_N_FE_BUF_LEN'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a35fa05e7523928c0c86cbcf835c12dc5'; + func-mem-ref-line = '111'; + func-mem-ref-name = 'XRAN_MAX_ANTENNA_NR'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1aeb7832eb5f4721f4a281feaacd1bb466'; + func-mem-ref-line = '222'; + func-mem-ref-name = 'xran_device_ctx::sFrontHaulTxBbuIoBufCtrl'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'sample-app_8c_1a48c33fa4a8f2f93d51cba58b78d3cd9f'; + func-mem-ref-line = '123'; + func-mem-ref-name = 'BbuIoBufCtrlStruct::bValid'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'sample-app_8c_1af00b094918ddba2073443dcd755141f6'; + func-mem-ref-line = '125'; + func-mem-ref-name = 'BbuIoBufCtrlStruct::nSegGenerated'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'sample-app_8c_1a7dc97933eadb8a8049057209c3303818'; + func-mem-ref-line = '124'; + func-mem-ref-name = 'BbuIoBufCtrlStruct::nSegToBeGen'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'sample-app_8c_1a09ab9a2f4541256129428a4ccabc6803'; + func-mem-ref-line = '127'; + func-mem-ref-name = 'BbuIoBufCtrlStruct::nSegTransferred'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'sample-app_8c_1ab79185e465507117d7b13fd30ec49f70'; + func-mem-ref-line = '129'; + func-mem-ref-name = 'BbuIoBufCtrlStruct::sBufferList'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a3d723fbd99a0f76d412b2b79931fbc6e'; + func-mem-ref-line = '594'; + func-mem-ref-name = 'xran_buffer_list::nNumBuffers'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a87d92ec177ed9c388685a91051f66205'; + func-mem-ref-line = '122'; + func-mem-ref-name = 'XRAN_NUM_OF_SYMBOL_PER_SLOT'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1afa8c44acddb126e8bb0652d7b4e4395e'; + func-mem-ref-line = '596'; + func-mem-ref-name = 'xran_buffer_list::pBuffers'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a9ef97a8be35f99eec4b85d06a3216762'; + func-mem-ref-line = '230'; + func-mem-ref-name = 'xran_device_ctx::sFrontHaulTxBuffers'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a964fb75fa6395056fade4167354019f5'; + func-mem-ref-line = '223'; + func-mem-ref-name = 'xran_device_ctx::sFrontHaulTxPrbMapBbuIoBufCtrl'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1ad1cf1b34ac94d618897d8767cbfc7c44'; + func-mem-ref-line = '231'; + func-mem-ref-name = 'xran_device_ctx::sFrontHaulTxPrbMapBuffers'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1af3ad0b6136919aabcdbac46b754aa7ed'; + func-mem-ref-line = '224'; + func-mem-ref-name = 'xran_device_ctx::sFrontHaulRxBbuIoBufCtrl'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a1dfd09a710fa1cf63f61883a284a5f0f'; + func-mem-ref-line = '232'; + func-mem-ref-name = 'xran_device_ctx::sFrontHaulRxBuffers'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a3bfdc9ec9f4c738715460ddd03f0833f'; + func-mem-ref-line = '225'; + func-mem-ref-name = 'xran_device_ctx::sFrontHaulRxPrbMapBbuIoBufCtrl'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a0c71464127a5828784d5775051f134d6'; + func-mem-ref-line = '233'; + func-mem-ref-name = 'xran_device_ctx::sFrontHaulRxPrbMapBuffers'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a023feefd3cb93d648f673ce1a8c79563'; + func-mem-ref-line = '238'; + func-mem-ref-name = 'xran_device_ctx::pCallback'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a4bb009dc28deffeccf1559528dbc5bee'; + func-mem-ref-line = '239'; + func-mem-ref-name = 'xran_device_ctx::pCallbackTag'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a0ac55d6b8988083425a147f343c34455'; + func-mem-ref-line = '256'; + func-mem-ref-name = 'xran_device_ctx::xran2phy_mem_ready'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'init__sys__functional_8cc_1ac2f03036711a42868a78783b735097e5'; + func-mem-ref-line = '120'; + func-mem-ref-name = 'TEST_P'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__lib__wrap_8hpp_1ad93226058ef4fd59bd7d0cd55701b752'; + func-mem-ref-line = '936'; + func-mem-ref-name = 'xranLibWraper::Open'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__main_8c_1ab204e979de14c21d34e9b88c6c700d25'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_5g_prach_req'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pHandle'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_buffer_list * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pDstBuffer'; + func-mem-param-array = '[XRAN_MAX_ANTENNA_NR][XRAN_N_FE_BUF_LEN]'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +xran_transport_callback_fn +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pCallback'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pCallbackTag'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + func-mem-desc-line = '2636'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + Function configures PRACH output buffers and callback for XRAN layer with given handle + +@param pHandle + Pointer to XRAN layer handle for given CC +@param pDstBuffer + list of memory buffers to use to deliver PRACH IQs from xran layer to PHY +@param xran_transport_callback_fn pCallback + Callback function to call with arrival of PRACH packets for given CC +@param pCallbackTag + Parameters of Callback function + +@return + 0 - on success + -1 - on error +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a814959a7b5ff6cd4474433f62312eee0'; + func-mem-ref-line = '54'; + func-mem-ref-name = 'XRAN_STATUS_SUCCESS'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1aa09e72e94d2a1d891e86f4c09b0f8b21'; + func-mem-ref-line = '223'; + func-mem-ref-name = 'xran_dev_get_ctx'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a4a957453875309739caacdd651bdab75'; + func-mem-ref-line = '58'; + func-mem-ref-name = 'XRAN_STATUS_FAIL'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a3e89a68b1b304e37badf1e8a62a38527'; + func-mem-ref-line = '148'; + func-mem-ref-name = 'sectorHandleInfo::nIndex'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1af0963ba32cc8ecd280afd2e474eb426a'; + func-mem-ref-line = '109'; + func-mem-ref-name = 'XRAN_N_FE_BUF_LEN'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a35fa05e7523928c0c86cbcf835c12dc5'; + func-mem-ref-line = '111'; + func-mem-ref-name = 'XRAN_MAX_ANTENNA_NR'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a4bcca72021c589be2adf3647647a1232'; + func-mem-ref-line = '226'; + func-mem-ref-name = 'xran_device_ctx::sFHPrachRxBbuIoBufCtrl'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'sample-app_8c_1a48c33fa4a8f2f93d51cba58b78d3cd9f'; + func-mem-ref-line = '123'; + func-mem-ref-name = 'BbuIoBufCtrlStruct::bValid'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'sample-app_8c_1af00b094918ddba2073443dcd755141f6'; + func-mem-ref-line = '125'; + func-mem-ref-name = 'BbuIoBufCtrlStruct::nSegGenerated'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'sample-app_8c_1a7dc97933eadb8a8049057209c3303818'; + func-mem-ref-line = '124'; + func-mem-ref-name = 'BbuIoBufCtrlStruct::nSegToBeGen'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'sample-app_8c_1a09ab9a2f4541256129428a4ccabc6803'; + func-mem-ref-line = '127'; + func-mem-ref-name = 'BbuIoBufCtrlStruct::nSegTransferred'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'sample-app_8c_1ab79185e465507117d7b13fd30ec49f70'; + func-mem-ref-line = '129'; + func-mem-ref-name = 'BbuIoBufCtrlStruct::sBufferList'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a3d723fbd99a0f76d412b2b79931fbc6e'; + func-mem-ref-line = '594'; + func-mem-ref-name = 'xran_buffer_list::nNumBuffers'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1afa8c44acddb126e8bb0652d7b4e4395e'; + func-mem-ref-line = '596'; + func-mem-ref-name = 'xran_buffer_list::pBuffers'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a7976d6beded6455154f323e1e542f085'; + func-mem-ref-line = '234'; + func-mem-ref-name = 'xran_device_ctx::sFHPrachRxBuffers'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a5f7077fcb0eef30eca298a156e25ec0c'; + func-mem-ref-line = '241'; + func-mem-ref-name = 'xran_device_ctx::pPrachCallback'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a023feefd3cb93d648f673ce1a8c79563'; + func-mem-ref-line = '238'; + func-mem-ref-name = 'xran_device_ctx::pCallback'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a31909ed26aa2152e78db6fc72237b5d1'; + func-mem-ref-line = '242'; + func-mem-ref-name = 'xran_device_ctx::pPrachCallbackTag'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a4bb009dc28deffeccf1559528dbc5bee'; + func-mem-ref-line = '239'; + func-mem-ref-name = 'xran_device_ctx::pCallbackTag'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'init__sys__functional_8cc_1ac2f03036711a42868a78783b735097e5'; + func-mem-ref-line = '120'; + func-mem-ref-name = 'TEST_P'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__lib__wrap_8hpp_1ad93226058ef4fd59bd7d0cd55701b752'; + func-mem-ref-line = '936'; + func-mem-ref-name = 'xranLibWraper::Open'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__main_8c_1a2bd01fc3432f80a787d6bf317949dd80'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_5g_srs_req'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pHandle'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_buffer_list * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pDstBuffer'; + func-mem-param-array = '[XRAN_MAX_ANT_ARRAY_ELM_NR][XRAN_N_FE_BUF_LEN]'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +xran_transport_callback_fn +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pCallback'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pCallbackTag'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + func-mem-desc-line = '2679'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + Function configures SRS output buffers and callback for XRAN layer with given handle + +@param pHandle + Pointer to XRAN layer handle for given CC +@param pDstBuffer + list of memory buffers to use to deliver SRS IQs from xran layer to PHY +@param xran_transport_callback_fn pCallback + Callback function to call with arrival of SRS packets for given CC +@param pCallbackTag + Parameters of Callback function + +@return + 0 - on success + -1 - on error +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a814959a7b5ff6cd4474433f62312eee0'; + func-mem-ref-line = '54'; + func-mem-ref-name = 'XRAN_STATUS_SUCCESS'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1aa09e72e94d2a1d891e86f4c09b0f8b21'; + func-mem-ref-line = '223'; + func-mem-ref-name = 'xran_dev_get_ctx'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a4a957453875309739caacdd651bdab75'; + func-mem-ref-line = '58'; + func-mem-ref-name = 'XRAN_STATUS_FAIL'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a3e89a68b1b304e37badf1e8a62a38527'; + func-mem-ref-line = '148'; + func-mem-ref-name = 'sectorHandleInfo::nIndex'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1af0963ba32cc8ecd280afd2e474eb426a'; + func-mem-ref-line = '109'; + func-mem-ref-name = 'XRAN_N_FE_BUF_LEN'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1af3e0ced3530652b3c92220c8783b55fa'; + func-mem-ref-line = '118'; + func-mem-ref-name = 'XRAN_MAX_ANT_ARRAY_ELM_NR'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a8d643c55cfe976d88d44beefc0af0dff'; + func-mem-ref-line = '227'; + func-mem-ref-name = 'xran_device_ctx::sFHSrsRxBbuIoBufCtrl'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'sample-app_8c_1a48c33fa4a8f2f93d51cba58b78d3cd9f'; + func-mem-ref-line = '123'; + func-mem-ref-name = 'BbuIoBufCtrlStruct::bValid'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'sample-app_8c_1af00b094918ddba2073443dcd755141f6'; + func-mem-ref-line = '125'; + func-mem-ref-name = 'BbuIoBufCtrlStruct::nSegGenerated'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'sample-app_8c_1a7dc97933eadb8a8049057209c3303818'; + func-mem-ref-line = '124'; + func-mem-ref-name = 'BbuIoBufCtrlStruct::nSegToBeGen'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'sample-app_8c_1a09ab9a2f4541256129428a4ccabc6803'; + func-mem-ref-line = '127'; + func-mem-ref-name = 'BbuIoBufCtrlStruct::nSegTransferred'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'sample-app_8c_1ab79185e465507117d7b13fd30ec49f70'; + func-mem-ref-line = '129'; + func-mem-ref-name = 'BbuIoBufCtrlStruct::sBufferList'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a3d723fbd99a0f76d412b2b79931fbc6e'; + func-mem-ref-line = '594'; + func-mem-ref-name = 'xran_buffer_list::nNumBuffers'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1afa8c44acddb126e8bb0652d7b4e4395e'; + func-mem-ref-line = '596'; + func-mem-ref-name = 'xran_buffer_list::pBuffers'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a8d0c3597635cdeb50f50f5c43d36e875'; + func-mem-ref-line = '236'; + func-mem-ref-name = 'xran_device_ctx::sFHSrsRxBuffers'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a09221a6b8c8f4910a8d0ab9f14aa8d9b'; + func-mem-ref-line = '244'; + func-mem-ref-name = 'xran_device_ctx::pSrsCallback'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a023feefd3cb93d648f673ce1a8c79563'; + func-mem-ref-line = '238'; + func-mem-ref-name = 'xran_device_ctx::pCallback'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1aa1ab602d8bd88daec92581433fee0ff3'; + func-mem-ref-line = '245'; + func-mem-ref-name = 'xran_device_ctx::pSrsCallbackTag'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a4bb009dc28deffeccf1559528dbc5bee'; + func-mem-ref-line = '239'; + func-mem-ref-name = 'xran_device_ctx::pCallbackTag'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__main_8c_1ac5d259c362d10b47c233b5098052cbf2'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_get_time_stats'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint64_t * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'total_time'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint64_t * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'used_time'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint32_t * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'core_used'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'clear'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + func-mem-desc-line = '2721'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + Function returns XRAN core utilization stats + +@param total_time (out) + Pointer to variable to store Total time thread has been running +@param used_time (out) + Pointer to variable to store Total time essential tasks have been running on the thread +@param core_used (out) + Pointer to variable to store Core on which the XRAN thread is running +@param clear (in) + If set to 1, then internal variables total_time and used_time are cleared + +@return + 0 - on success +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__main_8c_1ad32fb64c20521dbcfeb317e143046e27'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_malloc'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +size_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'buf_len'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + func-mem-desc-line = '2736'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + Function allocates memory of given size from heap + +@param buf_len + buffer size + +@return + ptr - to memory buffer or NULL +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__main_8c_1a68b53cf51fb3aee4a6d8be54d540965a'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t * +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_add_hdr_offset'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'dst'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +int16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'compMethod'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + func-mem-desc-line = '2741'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + Function calculates offset for ptr according to ORAN headers requared + +@param dst + pointer to be addjusted +@compMethod + compression method according to enum xran_compression_method + +@return + ptr - pointer to payload given header requared +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1afc082593977ad91f3dcdd2175cb74615a7fbf705170e00d2ce3e838fa9826ca8d'; + func-mem-ref-line = '204'; + func-mem-ref-name = 'XRAN_COMPMETHOD_NONE'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__main_8c_1a03f408f45e97aa68ca47c92e4e7d1a70'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_open'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pHandle'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_fh_config * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pConf'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + func-mem-desc-line = '2756'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + Function opens XRAN layer with given handle + +@param pHandle + Pointer to XRAN layer handle for given CC +@param pointer to struct xran_fh_config pConf + Pointer to XRAN configuration structure with specific settings to use + +@return + 0 - on success +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1aa09e72e94d2a1d891e86f4c09b0f8b21'; + func-mem-ref-line = '223'; + func-mem-ref-name = 'xran_dev_get_ctx'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a4adf91126704ea524f98f461f6180c85'; + func-mem-ref-line = '209'; + func-mem-ref-name = 'xran_device_ctx::fh_cfg'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a583c2f58d0655789ea36e22d605ab9ad'; + func-mem-ref-line = '523'; + func-mem-ref-name = 'xran_fh_config::log_level'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a27ff648f80c139235421b81f957fcb7e'; + func-mem-ref-line = '518'; + func-mem-ref-name = 'xran_fh_config::ru_conf'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1af92ff2dfd2bddd0880d779c04b9fb359'; + func-mem-ref-line = '484'; + func-mem-ref-name = 'xran_ru_config::xranCat'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1abf0211a253f5881ebad3910cef98d30ea25cae7703b653209b61647fa65ac7e9f'; + func-mem-ref-line = '264'; + func-mem-ref-name = 'XRAN_CATEGORY_A'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1ae6070ee9caf6a7ea8d7ef052ed0a559a'; + func-mem-ref-line = '2995'; + func-mem-ref-name = 'xran_get_conf_numerology'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a6dcac3ea0b3d99c20c2e6f7091b8b342'; + func-mem-ref-line = '500'; + func-mem-ref-name = 'xran_fh_config::nCC'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a34dbe5e515cc78b4ce26fa287e6c1edc'; + func-mem-ref-line = '110'; + func-mem-ref-name = 'XRAN_MAX_SECTOR_NR'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1ad1b1309ca2645e24fa201f8decae1988'; + func-mem-ref-line = '490'; + func-mem-ref-name = 'xran_ru_config::iqOrder'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a0d9cb4cebbc59a8fa5bfef7547898859a0064217ac0728d6ac2d4f92d95db0d21'; + func-mem-ref-line = '478'; + func-mem-ref-name = 'XRAN_I_Q_ORDER'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a74e72997edeea7f9f1696baffb9989b4'; + func-mem-ref-line = '489'; + func-mem-ref-name = 'xran_ru_config::byteOrder'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1ab5ce6839bae2968c79930a0bfa17f4d8a61bd03fd3153385f6791bd16e55892b8'; + func-mem-ref-line = '472'; + func-mem-ref-name = 'XRAN_NE_BE_BYTE_ORDER'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__printf_8h_1a16c2c0a30b31515830a4a8eff6cf10b5'; + func-mem-ref-line = '62'; + func-mem-ref-name = 'print_err'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a4a957453875309739caacdd651bdab75'; + func-mem-ref-line = '58'; + func-mem-ref-name = 'XRAN_STATUS_FAIL'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1a00025c5bad7b7b6eea4374226f8c54bb'; + func-mem-ref-line = '308'; + func-mem-ref-name = 'xran_init_prach'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1acb5dd6ae5569cb3090d441c800068244'; + func-mem-ref-line = '294'; + func-mem-ref-name = 'xran_init_srs'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__cp__api_8c_1a3ca98b2a49501149a7b5baf9174897d8'; + func-mem-ref-line = '66'; + func-mem-ref-name = 'xran_cp_init_sectiondb'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1a54de92e0ced826beeb759580d170562b'; + func-mem-ref-line = '278'; + func-mem-ref-name = 'xran_init_sectionid'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1a7a3c06a23d41de0038747348be9bb9da'; + func-mem-ref-line = '400'; + func-mem-ref-name = 'xran_init_seqid'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a7a25206e77e83a57fd036102cebfb4f0'; + func-mem-ref-line = '491'; + func-mem-ref-name = 'xran_ru_config::xran_max_frame'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1a7a25206e77e83a57fd036102cebfb4f0'; + func-mem-ref-line = '116'; + func-mem-ref-name = 'xran_max_frame'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1a4420e8cf61fbcd985ef37ef3425dc899'; + func-mem-ref-line = '109'; + func-mem-ref-name = 'interval_us'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__frame__struct_8c_1a8e8598556da3e49fa48cb646c24162fa'; + func-mem-ref-line = '108'; + func-mem-ref-name = 'xran_fs_get_tti_interval'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__timer_8c_1a6c1790e87767257159038d0d98a393e6'; + func-mem-ref-line = '93'; + func-mem-ref-name = 'timing_set_numerology'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__frame__struct_8c_1a075025c7652869adb79799313aab4f64'; + func-mem-ref-line = '346'; + func-mem-ref-name = 'xran_fs_set_slot_type'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a72b0cba491d0dd2703d684cb2c2a14cf'; + func-mem-ref-line = '517'; + func-mem-ref-name = 'xran_fh_config::frame_conf'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a3b86317723a592e240c0047e53a6326d'; + func-mem-ref-line = '460'; + func-mem-ref-name = 'xran_frame_config::nFrameDuplexType'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a53a1d989c6dee827495401b1973c9ef8'; + func-mem-ref-line = '464'; + func-mem-ref-name = 'xran_frame_config::nTddPeriod'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a4664e9a9005020b4a98ada2d256906e2'; + func-mem-ref-line = '465'; + func-mem-ref-name = 'xran_frame_config::sSlotConfig'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__frame__struct_8c_1a2fd9b68ce2fa4734a021203b320e4e04'; + func-mem-ref-line = '309'; + func-mem-ref-name = 'xran_fs_slot_limit_init'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'prach__functional_8cc_1a62307393b7f454a2b348ada67997b796'; + func-mem-ref-line = '177'; + func-mem-ref-name = 'TEST_P'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__lib__wrap_8hpp_1ad93226058ef4fd59bd7d0cd55701b752'; + func-mem-ref-line = '936'; + func-mem-ref-name = 'xranLibWraper::Open'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__main_8c_1ad4852c0827600db95f9841e2f5f9f6f1'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_start'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pHandle'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + func-mem-desc-line = '2841'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + Function starts XRAN layer with given handle + +@param pHandle + Pointer to XRAN layer handle for given CC + +@return + 0 - on success +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1a937105f52446cfcb951e43e1dc3c4d8b'; + func-mem-ref-line = '238'; + func-mem-ref-name = 'xran_get_if_state'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a2f600110ab5726a0f21375b7f24c0326a35916b54fc6804c2f2dc1f5891f3047e'; + func-mem-ref-line = '192'; + func-mem-ref-name = 'XRAN_RUNNING'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__printf_8h_1a16c2c0a30b31515830a4a8eff6cf10b5'; + func-mem-ref-line = '62'; + func-mem-ref-name = 'print_err'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'ethdi_8c_1aef5f52e6a4f49171518a59382eb03df5'; + func-mem-ref-line = '75'; + func-mem-ref-name = 'xran_if_current_state'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__lib__wrap_8hpp_1af9989f7ffd89540fc26371e24a29fefc'; + func-mem-ref-line = '990'; + func-mem-ref-name = 'xranLibWraper::Start'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__main_8c_1a8f2daee2fe90126f1f7c361b7760a7a3'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_stop'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pHandle'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + func-mem-desc-line = '2852'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + Function stops XRAN layer with given handle + +@param pHandle + Pointer to XRAN layer handle for given CC + +@return + 0 - on success +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1a937105f52446cfcb951e43e1dc3c4d8b'; + func-mem-ref-line = '238'; + func-mem-ref-name = 'xran_get_if_state'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a2f600110ab5726a0f21375b7f24c0326a57a68dd3f4413f7cc255838c4442938c'; + func-mem-ref-line = '193'; + func-mem-ref-name = 'XRAN_STOPPED'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__printf_8h_1a16c2c0a30b31515830a4a8eff6cf10b5'; + func-mem-ref-line = '62'; + func-mem-ref-name = 'print_err'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'ethdi_8c_1aef5f52e6a4f49171518a59382eb03df5'; + func-mem-ref-line = '75'; + func-mem-ref-name = 'xran_if_current_state'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__lib__wrap_8hpp_1af7c499a1fa8e52a104500d7d01c1a280'; + func-mem-ref-line = '998'; + func-mem-ref-name = 'xranLibWraper::Stop'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__main_8c_1a2f8866c9d6536a56e4d8232b8c45808b'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_close'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pHandle'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + func-mem-desc-line = '2863'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + Function closes XRAN layer with given handle + +@param pHandle + Pointer to XRAN layer handle for given CC + +@return + 0 - on success +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'ethdi_8c_1aef5f52e6a4f49171518a59382eb03df5'; + func-mem-ref-line = '75'; + func-mem-ref-name = 'xran_if_current_state'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a2f600110ab5726a0f21375b7f24c0326a57a68dd3f4413f7cc255838c4442938c'; + func-mem-ref-line = '193'; + func-mem-ref-name = 'XRAN_STOPPED'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__lib__wrap_8hpp_1a931587596081ef8178c2b128facb0411'; + func-mem-ref-line = '729'; + func-mem-ref-name = 'xranLibWraper::TearDown'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__lib__wrap_8hpp_1a7f7a3199c392465d0767c6506c1af5b4'; + func-mem-ref-line = '984'; + func-mem-ref-name = 'xranLibWraper::Close'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__main_8c_1a4120602c15ddabfc3372e238d17f0414'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_mm_destroy'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pHandle'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + func-mem-desc-line = '2877'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + Function destroys Memory Management (MM) layer of XRAN library + +@param pHandle + Pointer to XRAN layer handle for given CC + +@return + 0 - on success +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1a937105f52446cfcb951e43e1dc3c4d8b'; + func-mem-ref-line = '238'; + func-mem-ref-name = 'xran_get_if_state'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a2f600110ab5726a0f21375b7f24c0326a35916b54fc6804c2f2dc1f5891f3047e'; + func-mem-ref-line = '192'; + func-mem-ref-name = 'XRAN_RUNNING'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__printf_8h_1a16c2c0a30b31515830a4a8eff6cf10b5'; + func-mem-ref-line = '62'; + func-mem-ref-name = 'print_err'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'init__sys__functional_8cc_1ae5f944f4eff8e2963b83b56f208a114d'; + func-mem-ref-line = '274'; + func-mem-ref-name = 'TEST_P'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'sample-app_8c_1ac871776e03d4a4ae1717d2600a7f7dff'; + func-mem-ref-line = '1122'; + func-mem-ref-name = 'stop_xran'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__main_8c_1adfcabe4091a4782ecb9ca029314c99ca'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_reg_sym_cb'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pHandle'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +xran_callback_sym_fn +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'symCb'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'symCbParam'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'symb'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'ant'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + func-mem-desc-line = '2888'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + Function registers callback to XRAN layer. Function support callbacks aligned on packet arrival. + +@param pHandle + Pointer to XRAN layer handle for given CC +@param symCb + pointer to callback function +@param symCb + pointer to Callback Function parameters +@param symb + symbol to be register for +@param ant + Antenna number to trigger callback for packet arrival + +@return + 0 - in case of success + -1 - in case of failure +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1a937105f52446cfcb951e43e1dc3c4d8b'; + func-mem-ref-line = '238'; + func-mem-ref-name = 'xran_get_if_state'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a2f600110ab5726a0f21375b7f24c0326a35916b54fc6804c2f2dc1f5891f3047e'; + func-mem-ref-line = '192'; + func-mem-ref-name = 'XRAN_RUNNING'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__printf_8h_1a16c2c0a30b31515830a4a8eff6cf10b5'; + func-mem-ref-line = '62'; + func-mem-ref-name = 'print_err'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'init__sys__functional_8cc_1a7b1dc2a3c7a3d8e2eb7f2616417feb75'; + func-mem-ref-line = '268'; + func-mem-ref-name = 'TEST_P'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__main_8c_1a57bc216aff0d372305a6d13a072c605b'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_reg_physide_cb'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pHandle'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +xran_fh_tti_callback_fn +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'Cb'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'cbParam'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'skipTtiNum'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +enum callback_to_phy_id +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'id'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + func-mem-desc-line = '2900'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + Function registers callback to XRAN layer. Function support callbacks align to OTA time. TTI even, half of slot, + full slot with respect to PTP time. + +@param pHandle + Pointer to XRAN layer handle for given CC +@param Cb + pointer to callback function +@param cbParam + pointer to Callback Function parameters +@param skipTtiNum + number of calls to be skipped before first call +@param callback_to_phy_id + call back time identification (see enum callback_to_phy_id) + +@return + 0 - in case of success + -1 - in case of failure +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1aa09e72e94d2a1d891e86f4c09b0f8b21'; + func-mem-ref-line = '223'; + func-mem-ref-name = 'xran_dev_get_ctx'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1a937105f52446cfcb951e43e1dc3c4d8b'; + func-mem-ref-line = '238'; + func-mem-ref-name = 'xran_get_if_state'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a2f600110ab5726a0f21375b7f24c0326a35916b54fc6804c2f2dc1f5891f3047e'; + func-mem-ref-line = '192'; + func-mem-ref-name = 'XRAN_RUNNING'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__printf_8h_1a16c2c0a30b31515830a4a8eff6cf10b5'; + func-mem-ref-line = '62'; + func-mem-ref-name = 'print_err'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a88a1e1ec152b7daa669176e91660aead'; + func-mem-ref-line = '252'; + func-mem-ref-name = 'xran_device_ctx::ttiCb'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1ab85e177210025d9e720d2696965c5af4'; + func-mem-ref-line = '253'; + func-mem-ref-name = 'xran_device_ctx::TtiCbParam'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1abd4614a35f8f2cba7d7a671c9e545573'; + func-mem-ref-line = '254'; + func-mem-ref-name = 'xran_device_ctx::SkipTti'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'init__sys__functional_8cc_1a74a4819defc7dbd1cfa7e793456be743'; + func-mem-ref-line = '244'; + func-mem-ref-name = 'TEST_P'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__lib__wrap_8hpp_1ad93226058ef4fd59bd7d0cd55701b752'; + func-mem-ref-line = '936'; + func-mem-ref-name = 'xranLibWraper::Open'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__main_8c_1ad1ada9c5c57979c50f1a17a9050b8f3a'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_register_cb_mbuf2ring'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +xran_ethdi_mbuf_send_fn +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'mbuf_send_cp'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +xran_ethdi_mbuf_send_fn +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'mbuf_send_up'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + func-mem-desc-line = '2918'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1a937105f52446cfcb951e43e1dc3c4d8b'; + func-mem-ref-line = '238'; + func-mem-ref-name = 'xran_get_if_state'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a2f600110ab5726a0f21375b7f24c0326a35916b54fc6804c2f2dc1f5891f3047e'; + func-mem-ref-line = '192'; + func-mem-ref-name = 'XRAN_RUNNING'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__printf_8h_1a16c2c0a30b31515830a4a8eff6cf10b5'; + func-mem-ref-line = '62'; + func-mem-ref-name = 'print_err'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1aa09e72e94d2a1d891e86f4c09b0f8b21'; + func-mem-ref-line = '223'; + func-mem-ref-name = 'xran_dev_get_ctx'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1ad4eb63363a7e445e90ea75b8e99efaad'; + func-mem-ref-line = '276'; + func-mem-ref-name = 'xran_device_ctx::send_cpmbuf2ring'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a77daaa6043406a5924fd69b2dd42571e'; + func-mem-ref-line = '277'; + func-mem-ref-name = 'xran_device_ctx::send_upmbuf2ring'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__lib__wrap_8hpp_1ad93226058ef4fd59bd7d0cd55701b752'; + func-mem-ref-line = '936'; + func-mem-ref-name = 'xranLibWraper::Open'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__main_8c_1a2816fdf0ed3269e998720d01c2b6bf76'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_get_slot_idx'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint32_t * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'nFrameIdx'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint32_t * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'nSubframeIdx'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint32_t * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'nSlotIdx'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint64_t * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'nSecond'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + func-mem-desc-line = '2936'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + Function returns current TTI, Frame, Subframe, Slot Number as seen "Over air" base on PTP time + +@param nFrameIdx + Pointer to Frame number [0-99] + +@param nSubframeIdx + Pointer to Subframe number [0-10] + +@param nSlotIdx + Pointer to Slot number [0-7] + +@param nSecond + Pointer to current UTC second + +@return + current TTI number [0-7999] +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1aa76014e778bb54907d85e05cac204d71'; + func-mem-ref-line = '98'; + func-mem-ref-name = 'XranGetTtiNum'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1a98175f360f5753bc99c4edd3c2d8bd04'; + func-mem-ref-line = '113'; + func-mem-ref-name = 'xran_lib_ota_sym_idx'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a87d92ec177ed9c388685a91051f66205'; + func-mem-ref-line = '122'; + func-mem-ref-name = 'XRAN_NUM_OF_SYMBOL_PER_SLOT'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a36c7ae37e30524321b18fde971372b92'; + func-mem-ref-line = '106'; + func-mem-ref-name = 'XranGetSlotNum'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1a76e4794a93b44d5f6bd835f1640f7f4f'; + func-mem-ref-line = '54'; + func-mem-ref-name = 'SLOTNUM_PER_SUBFRAME'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a5ca2a2076a042acdca2e326a436a7882'; + func-mem-ref-line = '104'; + func-mem-ref-name = 'XranGetSubFrameNum'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'common_8h_1a695a7a6db2c879d5a4ec04a4bc99d0e4'; + func-mem-ref-line = '57'; + func-mem-ref-name = 'SUBFRAMES_PER_SYSTEMFRAME'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a5a8a3a7c7c4ff43865b57971dfbf0aa6'; + func-mem-ref-line = '102'; + func-mem-ref-name = 'XranGetFrameNum'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'init__sys__functional_8cc_1a593270c79e8ce298caeb715272c65173'; + func-mem-ref-line = '226'; + func-mem-ref-name = 'TEST_P'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1ad4544f4d6f4713c010f083bce5758d14'; + func-mem-ref-line = '963'; + func-mem-ref-name = 'rx_ul_deadline_half_cb'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1a63aa00dad3b771f4db5df8ca8ac68323'; + func-mem-ref-line = '999'; + func-mem-ref-name = 'rx_ul_deadline_full_cb'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__main_8c_1a761e3947dcc547008a12a9cca10b1ea0'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_eaxcid_config * +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_get_conf_eAxC'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pHandle'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + func-mem-desc-line = '2955'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Get the configuration of eAxC ID. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@return the pointer of configuration +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1aa09e72e94d2a1d891e86f4c09b0f8b21'; + func-mem-ref-line = '223'; + func-mem-ref-name = 'xran_dev_get_ctx'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__transport_8c_1ae834080139ba785f1a3ac5781bf2ec88'; + func-mem-ref-line = '65'; + func-mem-ref-name = 'xran_compose_cid'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__transport_8c_1ab08a85b6527f45a9ba22d25061a96a3c'; + func-mem-ref-line = '89'; + func-mem-ref-name = 'xran_decompose_cid'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__main_8c_1ad749041bcf50616bac96e4d13b661272'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_get_conf_num_bfweights'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pHandle'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + func-mem-desc-line = '2965'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Get the configuration of the total number of beamforming weights on RU. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@return Configured the number of beamforming weights +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1aa09e72e94d2a1d891e86f4c09b0f8b21'; + func-mem-ref-line = '223'; + func-mem-ref-name = 'xran_dev_get_ctx'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__cp__api_8c_1aaa0c6012a36b539f8880c45ac909c331'; + func-mem-ref-line = '1416'; + func-mem-ref-name = 'xran_parse_section_ext1'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__main_8c_1ab39a5770374d16662d62a85504a11930'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_get_conf_prach_scs'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pHandle'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + func-mem-desc-line = '2975'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Get the configuration of subcarrier spacing for PRACH. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@return subcarrier spacing value for PRACH +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'xran__common_8c_1ab8a6ed3cee8fa183142d0c23d0b4971d'; + func-mem-ref-line = '595'; + func-mem-ref-name = 'generate_cpmsg_prach'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__main_8c_1ada345a8a99480787d4274a342aa39535'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_get_conf_fftsize'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pHandle'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + func-mem-desc-line = '2985'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Get the configuration of FFT size for RU. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@return FFT size value for RU +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'xran__common_8c_1ab8a6ed3cee8fa183142d0c23d0b4971d'; + func-mem-ref-line = '595'; + func-mem-ref-name = 'generate_cpmsg_prach'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__main_8c_1ae6070ee9caf6a7ea8d7ef052ed0a559a'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_get_conf_numerology'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pHandle'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + func-mem-desc-line = '2995'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Get the configuration of nummerology. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@return Configured numerology +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1a03f408f45e97aa68ca47c92e4e7d1a70'; + func-mem-ref-line = '2756'; + func-mem-ref-name = 'xran_open'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__main_8c_1a5f780beefc47e125ffd42fde16117e62'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_get_conf_iqwidth'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pHandle'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + func-mem-desc-line = '3005'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Get the configuration of IQ bit width for RU. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@return IQ bit width for RU +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'xran__common_8c_1ab8a6ed3cee8fa183142d0c23d0b4971d'; + func-mem-ref-line = '595'; + func-mem-ref-name = 'generate_cpmsg_prach'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__main_8c_1a70d428b456fbe76f8550ff9b782a9e4e'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_get_conf_compmethod'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pHandle'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + func-mem-desc-line = '3018'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Get the configuration of compression method for RU. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@return Compression method for RU +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'xran__common_8c_1ab8a6ed3cee8fa183142d0c23d0b4971d'; + func-mem-ref-line = '595'; + func-mem-ref-name = 'generate_cpmsg_prach'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__main_8c_1ad51ee5b7f1f27c770f1eb658b5ee523e'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_get_num_cc'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pHandle'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + func-mem-desc-line = '3029'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Get the configuration of the number of component carriers. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@return Configured the number of component carriers +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1a4474e27c827459f3af40954b0c6f962b'; + func-mem-ref-line = '910'; + func-mem-ref-name = 'tx_cp_dl_cb'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1ad4544f4d6f4713c010f083bce5758d14'; + func-mem-ref-line = '963'; + func-mem-ref-name = 'rx_ul_deadline_half_cb'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1a63aa00dad3b771f4db5df8ca8ac68323'; + func-mem-ref-line = '999'; + func-mem-ref-name = 'rx_ul_deadline_full_cb'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1ab26e37a9d8915b33e29d632af88ff3a3'; + func-mem-ref-line = '1045'; + func-mem-ref-name = 'tx_cp_ul_cb'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__main_8c_1a3fc01469558ddf728239d59038ac5803'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_get_num_eAxc'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pHandle'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + func-mem-desc-line = '3039'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Get the configuration of the number of antenna for UL. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@return Configured the number of antenna +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'xran__common_8c_1a3d4bd5c7eec6da4ab71688e209100761'; + func-mem-ref-line = '143'; + func-mem-ref-name = 'process_mbuf'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1a00025c5bad7b7b6eea4374226f8c54bb'; + func-mem-ref-line = '308'; + func-mem-ref-name = 'xran_init_prach'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1a4474e27c827459f3af40954b0c6f962b'; + func-mem-ref-line = '910'; + func-mem-ref-name = 'tx_cp_dl_cb'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1ab26e37a9d8915b33e29d632af88ff3a3'; + func-mem-ref-line = '1045'; + func-mem-ref-name = 'tx_cp_ul_cb'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__main_8c_1ae3663b3f472b4003acc7f91e61669735'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +enum xran_category +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_get_ru_category'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pHandle'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + func-mem-desc-line = '3039'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Get configuration of O-RU (Cat A or Cat B) +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@return Configured the number of antenna +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1ab26e37a9d8915b33e29d632af88ff3a3'; + func-mem-ref-line = '1045'; + func-mem-ref-name = 'tx_cp_ul_cb'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__main_8c_1aaf7b03037e0687819501554a42fb3c52'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_get_num_eAxcUl'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pHandle'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + func-mem-desc-line = '3059'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Get the configuration of the number of antenna. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@return Configured the number of antenna +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1ab26e37a9d8915b33e29d632af88ff3a3'; + func-mem-ref-line = '1045'; + func-mem-ref-name = 'tx_cp_ul_cb'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__main_8c_1a7c54b342a8b4907858f7f0f074ddd79d'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_get_num_ant_elm'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pHandle'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + func-mem-desc-line = '3069'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Get the configuration of the number of antenna elements. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@return Configured the number of antenna +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1a072be4e030e23440817b205256d2df29'; + func-mem-ref-line = '1715'; + func-mem-ref-name = 'xran_process_tx_sym_cp_off'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__main_8c_1ac153c5a3e3f4f64ab0fafca6f593c380'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_get_common_counters'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pXranLayerHandle'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_common_counters * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pStats'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + func-mem-desc-line = '3074'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + Function retrun XRAN layer common counters for given handle + +@param pHandle + Pointer to XRAN layer handle for given CC + +@param pStats + Pointer to pointer of common counter structure + +@return + 0 - on success +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1ad2bc382255cb424431bb7515a796e5bf'; + func-mem-ref-line = '271'; + func-mem-ref-name = 'xran_device_ctx::fh_counters'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a814959a7b5ff6cd4474433f62312eee0'; + func-mem-ref-line = '54'; + func-mem-ref-name = 'XRAN_STATUS_SUCCESS'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1aad8a35383b986f4ca80437468b6c625f'; + func-mem-ref-line = '75'; + func-mem-ref-name = 'XRAN_STATUS_INVALID_PARAM'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'init__sys__functional_8cc_1a8e9607426b34de712f7d450018d0dc05'; + func-mem-ref-line = '210'; + func-mem-ref-name = 'TEST_P'; + }; + }; /* func-member */ + }; + var = { + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__main_8c_1a2c7ca5fb2e944fba9516f1465d9505d9'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +static xran_cc_handle_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'pLibInstanceHandles'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += {NULL} +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + var-mem-desc-line = '100'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__main_8c_1a752c1d380bf15acb179ba8123da0204a'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +static struct xran_device_ctx +_EnD_oF_dEf_TeXt_; + var-mem-name = 'g_xran_dev_ctx'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += { 0 } +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + var-mem-desc-line = '100'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__main_8c_1aaca86e5bcbfb97d8c24c271a9332b994'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_timer_ctx +_EnD_oF_dEf_TeXt_; + var-mem-name = 'timer_ctx'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + var-mem-desc-line = '100'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-referenceby = { + var-mem-ref-id = 'xran__main_8c_1a5b8958fc5688ba856cba84038ee4b938'; + var-mem-ref-line = '711'; + var-mem-ref-name = 'xran_timer_arm'; + }; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__main_8c_1aac6bc7fb63167bddaa2e567ef8273253'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +static struct rte_timer +_EnD_oF_dEf_TeXt_; + var-mem-name = 'tti_to_phy_timer'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + var-mem-desc-line = '100'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__main_8c_1ab1dddff9235205b46b33928affdee92b'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +static struct rte_timer +_EnD_oF_dEf_TeXt_; + var-mem-name = 'sym_timer'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + var-mem-desc-line = '100'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__main_8c_1a2ab9c41f1558f26e7aac1815ff08a898'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +static struct rte_timer +_EnD_oF_dEf_TeXt_; + var-mem-name = 'dpdk_timer'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + var-mem-desc-line = '100'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__main_8c_1a4420e8cf61fbcd985ef37ef3425dc899'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint64_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'interval_us'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += 1000 +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + var-mem-desc-line = '109'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-referenceby = { + var-mem-ref-id = 'xran__main_8c_1a03f408f45e97aa68ca47c92e4e7d1a70'; + var-mem-ref-line = '2756'; + var-mem-ref-name = 'xran_open'; + }; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__main_8c_1a273a09cbea9267272f4e2a339059e442'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'xran_lib_ota_tti'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += 0 +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + var-mem-desc-line = '111'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Slot index in a second [0:(1000000/TTI-1)] +_EnD_oF_dEf_TeXt_; + var-mem-referenceby = { + var-mem-ref-id = 'xran__lib__wrap_8hpp_1a200da4e2209141f12cafef2380cb801a'; + var-mem-ref-line = '740'; + var-mem-ref-name = 'xranLibWraper::Init'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'xran__main_8c_1a9c3700d61ba446fa9b05cca2ca9018ab'; + var-mem-ref-line = '632'; + var-mem-ref-name = 'tti_ota_cb'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'xran__main_8c_1ab26e37a9d8915b33e29d632af88ff3a3'; + var-mem-ref-line = '1045'; + var-mem-ref-name = 'tx_cp_ul_cb'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'xran__up__api_8c_1adfc5ea408600c8de1384be020b359d95'; + var-mem-ref-line = '327'; + var-mem-ref-name = 'xran_extract_iq_samples'; + }; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__main_8c_1a8cec0b41a42705e6ab9f49914ca666c2'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'xran_lib_ota_sym'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += 0 +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + var-mem-desc-line = '112'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Symbol index in a slot [0:13] +_EnD_oF_dEf_TeXt_; + var-mem-referenceby = { + var-mem-ref-id = 'xran__lib__wrap_8hpp_1a200da4e2209141f12cafef2380cb801a'; + var-mem-ref-line = '740'; + var-mem-ref-name = 'xranLibWraper::Init'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'xran__lib__wrap_8hpp_1ac4ce5a18c687ee515676e035359a1e89'; + var-mem-ref-line = '1012'; + var-mem-ref-name = 'xranLibWraper::update_symbol_index'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'xran__lib__wrap_8hpp_1ab795436cc8b07e2b0d665502274b30e6'; + var-mem-ref-line = '1112'; + var-mem-ref-name = 'xranLibWraper::get_symbol_index'; + }; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__main_8c_1a98175f360f5753bc99c4edd3c2d8bd04'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'xran_lib_ota_sym_idx'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += 0 +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + var-mem-desc-line = '113'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Symbol index in a second [0 : 14*(1000000/TTI)-1] + where TTI is TTI interval in microseconds +_EnD_oF_dEf_TeXt_; + var-mem-referenceby = { + var-mem-ref-id = 'xran__lib__wrap_8hpp_1a200da4e2209141f12cafef2380cb801a'; + var-mem-ref-line = '740'; + var-mem-ref-name = 'xranLibWraper::Init'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'xran__lib__wrap_8hpp_1ac4ce5a18c687ee515676e035359a1e89'; + var-mem-ref-line = '1012'; + var-mem-ref-name = 'xranLibWraper::update_symbol_index'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'xran__main_8c_1a195da46c3cb90e36da543594416cbba7'; + var-mem-ref-line = '582'; + var-mem-ref-name = 'sym_ota_cb'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'xran__main_8c_1ad4544f4d6f4713c010f083bce5758d14'; + var-mem-ref-line = '963'; + var-mem-ref-name = 'rx_ul_deadline_half_cb'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'xran__main_8c_1a63aa00dad3b771f4db5df8ca8ac68323'; + var-mem-ref-line = '999'; + var-mem-ref-name = 'rx_ul_deadline_full_cb'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'xran__main_8c_1a5b3b3bf6af57ee77a2bb1701ad24c7db'; + var-mem-ref-line = '2202'; + var-mem-ref-name = 'xran_process_tx_sym'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'xran__main_8c_1a2816fdf0ed3269e998720d01c2b6bf76'; + var-mem-ref-line = '2936'; + var-mem-ref-name = 'xran_get_slot_idx'; + }; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__main_8c_1a0ff39df15c9c5e487a730d422d2c4725'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'xran_SFN_at_Sec_Start'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += 0 +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + var-mem-desc-line = '115'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ +SFN at current second start +_EnD_oF_dEf_TeXt_; + var-mem-referenceby = { + var-mem-ref-id = 'xran__main_8c_1adbe808fba48ef1390180fb1bdc68c1d7'; + var-mem-ref-line = '201'; + var-mem-ref-name = 'xran_updateSfnSecStart'; + }; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__main_8c_1a7a25206e77e83a57fd036102cebfb4f0'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'xran_max_frame'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += 1023 +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + var-mem-desc-line = '116'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ +value of max frame used. expected to be 99 (old compatibility mode) and 1023 as per section 9.7.2 System Frame Number Calculation +_EnD_oF_dEf_TeXt_; + var-mem-referenceby = { + var-mem-ref-id = 'xran__main_8c_1adbe808fba48ef1390180fb1bdc68c1d7'; + var-mem-ref-line = '201'; + var-mem-ref-name = 'xran_updateSfnSecStart'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'xran__main_8c_1a03f408f45e97aa68ca47c92e4e7d1a70'; + var-mem-ref-line = '2756'; + var-mem-ref-name = 'xran_open'; + }; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__main_8c_1ad66661d0f1b3208e58f60be83e7847de'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +static uint8_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'xran_cp_seq_id_num'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + var-mem-desc-line = '118'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__main_8c_1ae940f95738e4237c37f1a8ab0e618318'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +static uint8_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'xran_updl_seq_id_num'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + var-mem-desc-line = '119'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__main_8c_1acd686355fc9383a2f328029ef828ce74'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +static uint8_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'xran_upul_seq_id_num'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + var-mem-desc-line = '120'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ +PUSCH, PRACH, SRS for Cat B +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__main_8c_1a6314ece5b451ca3fe76af55f98136c8a'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +static uint8_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'xran_section_id_curslot'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + var-mem-desc-line = '122'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__main_8c_1a8e3b6f8e7e93649638a96e0b598ff5d5'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +static uint16_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'xran_section_id'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + var-mem-desc-line = '123'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__main_8c_1a86192b6ffc900924fe9570bbaa0ff2b9'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +static uint64_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'xran_total_tick'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += 0 +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + var-mem-desc-line = '124'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__main_8c_1a63ddc2d6ae423b6133cf87291a912335'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +static uint64_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'xran_used_tick'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += 0 +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + var-mem-desc-line = '124'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__main_8c_1a2ff4a7d0570bcb316e2f21b4e2aeacc5'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +static uint32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'xran_core_used'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += 0 +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + var-mem-desc-line = '125'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__main_8c_1a24ec10556c8c0188bd76e260777e6eeb'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +static int32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'first_call'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += 0 +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + var-mem-desc-line = '126'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__main_8c_1a220c02073c56b7b0525d81288cb0fbf1'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +static struct rte_mbuf_ext_shared_info +_EnD_oF_dEf_TeXt_; + var-mem-name = 'share_data'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + var-mem-desc-line = '130'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__main_8c_1a4804abe1a52e075526cc601de916ee08'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +static struct xran_section_gen_info +_EnD_oF_dEf_TeXt_; + var-mem-name = 'cpSections'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + var-mem-desc-line = '539'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__main_8c_1af9d684c2bce75ae233afef3fb1a51ba3'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +static struct xran_cp_gen_params +_EnD_oF_dEf_TeXt_; + var-mem-name = 'cpInfo'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + var-mem-desc-line = '539'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + }; + file-full-name = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_main.c'; + file-first-line = '1'; + file-briefdesc = <<_EnD_oF_dEf_TeXt_ +XRAN main functionality module. +_EnD_oF_dEf_TeXt_; + file-documentation = <<_EnD_oF_dEf_TeXt_ +@author Intel Corporation +_EnD_oF_dEf_TeXt_; +}; /* file */ +file = { + file-id = 'xran__mlog__lnx_8h'; + file-name = 'xran_mlog_lnx.h'; + define = { + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__mlog__lnx_8h_1a436f70ee63bcae81f7e9f6a2b923bc4a'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'MLOG_FALSE'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +( 0 ) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_mlog_lnx.h'; + define-mem-desc-line = '32'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__mlog__lnx_8h_1a16ef5507c8fc26ce185dc7fafe9fa4f3'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'MLogOpen'; + define-mem-param = { + define-mem-def-name = 'a'; + }; /* define-mem-def--param */ + define-mem-param = { + define-mem-def-name = 'b'; + }; /* define-mem-def--param */ + define-mem-param = { + define-mem-def-name = 'c'; + }; /* define-mem-def--param */ + define-mem-param = { + define-mem-def-name = 'd'; + }; /* define-mem-def--param */ + define-mem-param = { + define-mem-def-name = 'e'; + }; /* define-mem-def--param */ + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +MLOG_FALSE +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_mlog_lnx.h'; + define-mem-desc-line = '34'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__mlog__lnx_8h_1abc81f343a060eb7640f808c3ec044094'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'MLogRestart'; + define-mem-param = { + define-mem-def-name = 'a'; + }; /* define-mem-def--param */ + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +MLOG_FALSE +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_mlog_lnx.h'; + define-mem-desc-line = '35'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__mlog__lnx_8h_1a3c5a3b260b393219742a4604eee825f3'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'MLogPrint'; + define-mem-param = { + define-mem-def-name = 'a'; + }; /* define-mem-def--param */ + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +MLOG_FALSE +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_mlog_lnx.h'; + define-mem-desc-line = '36'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__mlog__lnx_8h_1af85fde2b44839241df3d7a055587a63d'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'MLogGetFileLocation'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +NULL +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_mlog_lnx.h'; + define-mem-desc-line = '37'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__mlog__lnx_8h_1ab8cc989708d3712f38c9590c0ae36845'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'MLogGetFileSize'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +0 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_mlog_lnx.h'; + define-mem-desc-line = '38'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__mlog__lnx_8h_1af082c907eef7707758e6609f51700912'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'MLogSetMask'; + define-mem-param = { + define-mem-def-name = 'a'; + }; /* define-mem-def--param */ + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +MLOG_FALSE +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_mlog_lnx.h'; + define-mem-desc-line = '39'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__mlog__lnx_8h_1a6810b9d49d41abe30593c97ee2aafb7f'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'MLogGetMask'; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_mlog_lnx.h'; + define-mem-desc-line = '40'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__mlog__lnx_8h_1af20d97d01a37bc7b596a3e31dff9f534'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'MLogRegisterTick'; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_mlog_lnx.h'; + define-mem-desc-line = '41'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__mlog__lnx_8h_1ab3a08558e2971726cddceed59f9fd3bd'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'MLogTick'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +0 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_mlog_lnx.h'; + define-mem-desc-line = '42'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__mlog__lnx_8h_1a7e13e6c34f14ba82e361777280a5dcc1'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'MLogIncrementCounter'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +0 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_mlog_lnx.h'; + define-mem-desc-line = '43'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__mlog__lnx_8h_1a2ea88cf07a4bee8b98cb6cea2ef3ae36'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'MLogTask'; + define-mem-param = { + define-mem-def-name = 'w'; + }; /* define-mem-def--param */ + define-mem-param = { + define-mem-def-name = 'x'; + }; /* define-mem-def--param */ + define-mem-param = { + define-mem-def-name = 'y'; + }; /* define-mem-def--param */ + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +0 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_mlog_lnx.h'; + define-mem-desc-line = '44'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__mlog__lnx_8h_1a0ff8af5abafb200b999e885a2eb6f102'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'MLogTaskCore'; + define-mem-param = { + define-mem-def-name = 'w'; + }; /* define-mem-def--param */ + define-mem-param = { + define-mem-def-name = 'x'; + }; /* define-mem-def--param */ + define-mem-param = { + define-mem-def-name = 'y'; + }; /* define-mem-def--param */ + define-mem-param = { + define-mem-def-name = 'z'; + }; /* define-mem-def--param */ + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +0 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_mlog_lnx.h'; + define-mem-desc-line = '45'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__mlog__lnx_8h_1ab3356d3c04286b221a0dc19c17405781'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'MLogMark'; + define-mem-param = { + define-mem-def-name = 'x'; + }; /* define-mem-def--param */ + define-mem-param = { + define-mem-def-name = 'y'; + }; /* define-mem-def--param */ + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_mlog_lnx.h'; + define-mem-desc-line = '46'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__mlog__lnx_8h_1a96ff3293aaa5527d87716499b0a235f8'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'MLogDevInfo'; + define-mem-param = { + define-mem-def-name = 'x'; + }; /* define-mem-def--param */ + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_mlog_lnx.h'; + define-mem-desc-line = '47'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__mlog__lnx_8h_1a0e3ce77f913055c8f15e6a396e58b41e'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'MLogRegisterFrameSubframe'; + define-mem-param = { + define-mem-def-name = 'x'; + }; /* define-mem-def--param */ + define-mem-param = { + define-mem-def-name = 'y'; + }; /* define-mem-def--param */ + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_mlog_lnx.h'; + define-mem-desc-line = '48'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__mlog__lnx_8h_1a1af05b8bdab3c12648a013c0cda7bbc0'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'MLogAddVariables'; + define-mem-param = { + define-mem-def-name = 'x'; + }; /* define-mem-def--param */ + define-mem-param = { + define-mem-def-name = 'y'; + }; /* define-mem-def--param */ + define-mem-param = { + define-mem-def-name = 'z'; + }; /* define-mem-def--param */ + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_mlog_lnx.h'; + define-mem-desc-line = '49'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__mlog__lnx_8h_1af087ea434d0ef4b4e0eafa0ed9ad1a74'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'MLogGetStats'; + define-mem-param = { + define-mem-def-name = 'a'; + }; /* define-mem-def--param */ + define-mem-param = { + define-mem-def-name = 'b'; + }; /* define-mem-def--param */ + define-mem-param = { + define-mem-def-name = 'c'; + }; /* define-mem-def--param */ + define-mem-param = { + define-mem-def-name = 'd'; + }; /* define-mem-def--param */ + define-mem-param = { + define-mem-def-name = 'e'; + }; /* define-mem-def--param */ + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +MLOG_FALSE +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_mlog_lnx.h'; + define-mem-desc-line = '50'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__mlog__lnx_8h_1a19fde128c84794eddd5895b93e1a5c33'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'MLogGetAvgStats'; + define-mem-param = { + define-mem-def-name = 'a'; + }; /* define-mem-def--param */ + define-mem-param = { + define-mem-def-name = 'b'; + }; /* define-mem-def--param */ + define-mem-param = { + define-mem-def-name = 'c'; + }; /* define-mem-def--param */ + define-mem-param = { + define-mem-def-name = 'd'; + }; /* define-mem-def--param */ + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +MLOG_FALSE +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_mlog_lnx.h'; + define-mem-desc-line = '51'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__mlog__lnx_8h_1a8140534ae23398782bedc55f68fcff57'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'MLogAddTestCase'; + define-mem-param = { + define-mem-def-name = 'a'; + }; /* define-mem-def--param */ + define-mem-param = { + define-mem-def-name = 'b'; + }; /* define-mem-def--param */ + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +MLOG_FALSE +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_mlog_lnx.h'; + define-mem-desc-line = '52'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__mlog__lnx_8h_1a47ad69244bf51cbe703cb6d8568c84ae'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'MLogAddPowerStats'; + define-mem-param = { + define-mem-def-name = 'a'; + }; /* define-mem-def--param */ + define-mem-param = { + define-mem-def-name = 'b'; + }; /* define-mem-def--param */ + define-mem-param = { + define-mem-def-name = 'c'; + }; /* define-mem-def--param */ + define-mem-param = { + define-mem-def-name = 'd'; + }; /* define-mem-def--param */ + define-mem-param = { + define-mem-def-name = 'e'; + }; /* define-mem-def--param */ + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +MLOG_FALSE +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_mlog_lnx.h'; + define-mem-desc-line = '53'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + }; + file-full-name = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_mlog_lnx.h'; + file-first-line = '1'; + file-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + file-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; +}; /* file */ +file = { + file-id = 'xran__mlog__task__id_8h'; + file-name = 'xran_mlog_task_id.h'; + define = { + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__mlog__task__id_8h_1ad63ecf36236d55b6889b694a37f4c82a'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'RESOURCE_CORE_0'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +0 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/xran_mlog_task_id.h'; + define-mem-desc-line = '33'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__mlog__task__id_8h_1a206f9b6fd7606da5b0ddbeda0cc2d30d'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'RESOURCE_CORE_1'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +1 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/xran_mlog_task_id.h'; + define-mem-desc-line = '34'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__mlog__task__id_8h_1a85fd89028c0e45defdd171a529cb3eb5'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'RESOURCE_CORE_2'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +2 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/xran_mlog_task_id.h'; + define-mem-desc-line = '35'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__mlog__task__id_8h_1a497b673d19fb0e0a12e047433e0a0e91'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'RESOURCE_CORE_3'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +3 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/xran_mlog_task_id.h'; + define-mem-desc-line = '36'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__mlog__task__id_8h_1ab2899a3a28bf6b48f5f252944f96d07b'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'RESOURCE_CORE_4'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +4 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/xran_mlog_task_id.h'; + define-mem-desc-line = '37'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__mlog__task__id_8h_1a33defb76a292b4840ef108746339240c'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'RESOURCE_CORE_5'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +5 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/xran_mlog_task_id.h'; + define-mem-desc-line = '38'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__mlog__task__id_8h_1a26695e5577928c9e80d055714a937329'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'RESOURCE_CORE_6'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +6 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/xran_mlog_task_id.h'; + define-mem-desc-line = '39'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__mlog__task__id_8h_1ae38446635f2f0f32f48776a8af2d21c7'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'RESOURCE_CORE_7'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +7 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/xran_mlog_task_id.h'; + define-mem-desc-line = '40'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__mlog__task__id_8h_1aac32aa932a156c8c4c0be901d63cfb4f'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'RESOURCE_CORE_8'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +8 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/xran_mlog_task_id.h'; + define-mem-desc-line = '41'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__mlog__task__id_8h_1a9b127d3cfc1299cb5706e46c1ef6d756'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'RESOURCE_CORE_9'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +9 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/xran_mlog_task_id.h'; + define-mem-desc-line = '42'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__mlog__task__id_8h_1a95a2ee6d2e9053eba72cfbd68b61e726'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'RESOURCE_CORE_10'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +10 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/xran_mlog_task_id.h'; + define-mem-desc-line = '43'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__mlog__task__id_8h_1ac7c78da6670986038e59ec04197ba2de'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'RESOURCE_CORE_11'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +11 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/xran_mlog_task_id.h'; + define-mem-desc-line = '44'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__mlog__task__id_8h_1a4810ab3931b63321f315a33471562621'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'RESOURCE_CORE_12'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +12 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/xran_mlog_task_id.h'; + define-mem-desc-line = '45'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__mlog__task__id_8h_1a1b85fbf64ceefa1ff866a9904cc08447'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'RESOURCE_CORE_13'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +13 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/xran_mlog_task_id.h'; + define-mem-desc-line = '46'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__mlog__task__id_8h_1a662204d14e93ec97c3860dba456708ae'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'RESOURCE_CORE_14'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +14 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/xran_mlog_task_id.h'; + define-mem-desc-line = '47'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__mlog__task__id_8h_1a05f7fe99fea79c815423f3b68b045bbc'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'RESOURCE_CORE_15'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +15 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/xran_mlog_task_id.h'; + define-mem-desc-line = '48'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__mlog__task__id_8h_1ab62f03244680e08b6d290b84605b926d'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'RESOURCE_CORE_16'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +16 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/xran_mlog_task_id.h'; + define-mem-desc-line = '49'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__mlog__task__id_8h_1a8e34684ae6b2d25c23323b56693266f0'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'RESOURCE_IA_CORE'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +100 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/xran_mlog_task_id.h'; + define-mem-desc-line = '51'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__mlog__task__id_8h_1a9884cd7227be2b321f8a85a1643c3b99'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'PID_GNB_PROC_TIMING'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +70 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/xran_mlog_task_id.h'; + define-mem-desc-line = '57'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__mlog__task__id_8h_1a06cadb1ff834c4ae8f8fa45c6d80fcae'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'PID_GNB_PROC_TIMING_TIMEOUT'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +71 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/xran_mlog_task_id.h'; + define-mem-desc-line = '58'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__mlog__task__id_8h_1a456df1bb1ff53e9ffff0c36976da1108'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'PID_GNB_SYM_CB'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +72 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/xran_mlog_task_id.h'; + define-mem-desc-line = '59'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__mlog__task__id_8h_1a70799f191170357c8d74fa58300c99d7'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'PID_GNB_PRACH_CB'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +73 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/xran_mlog_task_id.h'; + define-mem-desc-line = '60'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__mlog__task__id_8h_1a475acdfebabbac2b27bc7c22c201a171'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'PID_GNB_SRS_CB'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +74 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/xran_mlog_task_id.h'; + define-mem-desc-line = '61'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + }; + file-full-name = '/home/jonathan/dev/gerrit/phy/fhi_lib/app/src/xran_mlog_task_id.h'; + file-first-line = '1'; + file-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + file-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; +}; /* file */ +file = { + file-id = 'xran__pkt_8h'; + file-name = 'xran_pkt.h'; + define = { + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__pkt_8h_1ada35affbf9950f9f0cfa7faa7c8d0d2c'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'ECPRI_MAX_PAYLOAD_SIZE'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +65535 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt.h'; + define-mem-desc-line = '56'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Max packet size taken in this implementation +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__pkt_8h_1a55ee65757e33fe8e48262f2fafef064e'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XRAN_ETHER_TYPE'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +0xAEFE +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt.h'; + define-mem-desc-line = '59'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ +defined by eCPRI Specification V1.1 +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__pkt_8h_1aa8e98bf0d1f79b3e67a5e27b063c6251'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XRAN_ECPRI_VER'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +0x0001 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt.h'; + define-mem-desc-line = '61'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ +eCPRI protocol revision 3.1.3.1.1 +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__pkt_8h_1a29711c2ced54314eda6c2d0b869a0e63'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XRAN_PAYLOAD_VER'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +0x0001 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt.h'; + define-mem-desc-line = '62'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Payload version 5.4.4.2 +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__pkt_8h_1ac23326adfc4e624044916cc85d9bac2f'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'VLAN_ID'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +0 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt.h'; + define-mem-desc-line = '64'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Default Tag protocol identifier (TPID) +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__pkt_8h_1ab513e295ab0fdafb45b2d30677ed9296'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'VLAN_PCP'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +7 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt.h'; + define-mem-desc-line = '65'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ +U-Plane and C-Plane only see Table 3 5 : Quality of service classes +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + }; + enum = { + enum-member = { + enum-mem-kind = 'enum'; + enum-mem-id = 'group__xran__common__pkt_1ga5f49588115e2d0a807ad613ae866384a'; + enum-mem-virt = normal; + enum-mem-prot = public; + enum-mem-name = 'ecpri_msg_type'; + enum-mem-enum = { enum-name = ECPRI_IQ_DATA; enum-value = '= 0x00'; }; + enum-mem-enum = { enum-name = ECPRI_BIT_SEQUENCE; enum-value = '= 0x01'; }; + enum-mem-enum = { enum-name = ECPRI_RT_CONTROL_DATA; enum-value = '= 0x02'; }; + enum-mem-enum = { enum-name = ECPRI_GEN_DATA_TRANSFER; enum-value = '= 0x03'; }; + enum-mem-enum = { enum-name = ECPRI_REMOTE_MEM_ACCESS; enum-value = '= 0x04'; }; + enum-mem-enum = { enum-name = ECPRI_DELAY_MEASUREMENT; enum-value = '= 0x05'; }; + enum-mem-enum = { enum-name = ECPRI_REMOTE_RESET; enum-value = '= 0x06'; }; + enum-mem-enum = { enum-name = ECPRI_EVENT_INDICATION; enum-value = '= 0x07'; }; + enum-mem-enum = { enum-name = ECPRI_MSG_TYPE_MAX; }; + enum-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt.h'; + enum-mem-desc-line = '76'; + enum-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + enum-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@description + eCPRI message types + as per eCPRI spec 3.2.4. Message Types +_EnD_oF_dEf_TeXt_; + }; /* enum-member */ + enum-member = { + enum-mem-kind = 'enum'; + enum-mem-id = 'group__xran__common__pkt_1ga9c60a23fdae979ad1842b255790d1558'; + enum-mem-virt = normal; + enum-mem-prot = public; + enum-mem-name = 'xran_pkt_dir'; + enum-mem-enum = { enum-name = XRAN_DIR_UL; enum-value = '= 0'; }; + enum-mem-enum = { enum-name = XRAN_DIR_DL; enum-value = '= 1'; }; + enum-mem-enum = { enum-name = XRAN_DIR_MAX; }; + enum-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt.h'; + enum-mem-desc-line = '147'; + enum-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + enum-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@description + Enum used to set xRAN packet data direction (gNB Tx/Rx 5.4.4.1) + uplink or downlink +_EnD_oF_dEf_TeXt_; + }; /* enum-member */ + }; + var = { + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'group__xran__common__pkt_1ga303c201bb1ad2f72aa29dd1375efaf72'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +struct ecpri_seq_id +_EnD_oF_dEf_TeXt_; + var-mem-name = '__rte_packed'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt.h'; + var-mem-desc-line = '102'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + }; + file-full-name = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt.h'; + file-first-line = '1'; + file-briefdesc = <<_EnD_oF_dEf_TeXt_ +Definitions and support functions to process XRAN packet. +_EnD_oF_dEf_TeXt_; + file-documentation = <<_EnD_oF_dEf_TeXt_ +@author Intel Corporation + + + + +_EnD_oF_dEf_TeXt_; +}; /* file */ +file = { + file-id = 'xran__pkt__cp_8h'; + file-name = 'xran_pkt_cp.h'; + func = { + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__pkt__cp_8h_1a507005bd7719a652d07e26f06dfacf5c'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_radioapp_udComp_header +_EnD_oF_dEf_TeXt_; + func-mem-name = '__attribute__'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +(__packed__) +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + func-mem-desc-line = '213'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + }; + var = { + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__pkt__cp_8h_1a9c71fd134ce52f71b21a0a9bef99163a'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'udCompMeth'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + var-mem-desc-line = '214'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Compression method, XRAN_COMPMETHOD_xxxx +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__pkt__cp_8h_1aa1f422e7156fc4b759197bd687beffba'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'udIqWidth'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + var-mem-desc-line = '215'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ +IQ bit width, 1 ~ 16 +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__pkt__cp_8h_1a158cc4eb9be778527f9afe0bf9df19e0'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'startSymbolId'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + var-mem-desc-line = '214'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.4.7 start symbol identifier +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__pkt__cp_8h_1ae287404c8c0fa4fb464abf8f6a516346'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'slotId'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + var-mem-desc-line = '215'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.4.6 slot identifier +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__pkt__cp_8h_1aa948cf928c529d24f8d536fb480094f2'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'subframeId'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + var-mem-desc-line = '216'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.4.5 subframe identifier +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__pkt__cp_8h_1a15a5e5806d950f2d75550c17b007153c'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'frameId'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + var-mem-desc-line = '217'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.4.4 frame identifier +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__pkt__cp_8h_1a6275bf84e65f219845e03cf9535f893a'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'filterIndex'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + var-mem-desc-line = '218'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.4.3 filter index, XRAN_FILTERINDEX_xxxx +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__pkt__cp_8h_1a06cacc53918b2e51a13fc506b4351d63'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'payloadVer'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + var-mem-desc-line = '219'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.4.2 payload version, should be 1 +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__pkt__cp_8h_1a87c3e6cd307a5ee7d853ec7254fcd010'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'dataDirection'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + var-mem-desc-line = '220'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.4.1 data direction (gNB Tx/Rx) +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__pkt__cp_8h_1a879dd7efae60d48d1c20349a00feee87'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'numOfSections'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + var-mem-desc-line = '221'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.4.8 number of sections +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__pkt__cp_8h_1ae273caa235b1c6085de4ad13886f82c9'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'sectionType'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + var-mem-desc-line = '222'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.4.9 section type +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__pkt__cp_8h_1aa4ed885cdd3c67f4df8c1f6b20cc031c'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'uScs'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + var-mem-desc-line = '214'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ +sub-carrier spacing, XRAN_SCS_xxx +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__pkt__cp_8h_1a59e7e8f3feb686850b0cb0ae065de85b'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'fftSize'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + var-mem-desc-line = '215'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ +FFT size, XRAN_FFTSIZE_xxx +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__pkt__cp_8h_1a5a6ed8c04a3db86066924b1a1bf4dad3'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'reserved'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + var-mem-desc-line = '216'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__pkt__cp_8h_1a5dc992c6cc64a3f245e5676c0ff12256'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'numSymbol'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + var-mem-desc-line = '217'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.5.7 number of symbols +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__pkt__cp_8h_1aff6c92a5dba7cc22be5e23785fe5fc43'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'reMask'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + var-mem-desc-line = '218'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.5.5 resource element mask +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__pkt__cp_8h_1a4b39e0bd755009987ba524eeb2dc498c'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +struct __anonymous__::__anonymous__ +_EnD_oF_dEf_TeXt_; + var-mem-name = 's0'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + var-mem-desc-line = '219'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__pkt__cp_8h_1a9d9a9bc73a8aaac944ecb453eb402a07'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'beamId'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + var-mem-desc-line = '221'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.5.9 beam identifier +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__pkt__cp_8h_1ad63f9c3cee58cacccc463bc3c3313cc6'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'ef'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + var-mem-desc-line = '222'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.5.8 extension flag + +5.4.6.2 extension flag +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__pkt__cp_8h_1a3acb089c3231d11a0b19b211a4064858'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +struct __anonymous__::__anonymous__ +_EnD_oF_dEf_TeXt_; + var-mem-name = 's1'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + var-mem-desc-line = '225'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__pkt__cp_8h_1a4127e3fdcd37be2355359a4d62704f29'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +struct __anonymous__::__anonymous__ +_EnD_oF_dEf_TeXt_; + var-mem-name = 's3'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + var-mem-desc-line = '231'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__pkt__cp_8h_1a64c04119c39e8dbcf00f4ae22968b1eb'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'ueId'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + var-mem-desc-line = '233'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.5.10 UE identifier +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__pkt__cp_8h_1a530893d11c684e6332abc2c8f08062fb'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +struct __anonymous__::__anonymous__ +_EnD_oF_dEf_TeXt_; + var-mem-name = 's5'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + var-mem-desc-line = '237'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__pkt__cp_8h_1a6c38e7b5c31753cf9e58246d571ff250'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +union __anonymous__ +_EnD_oF_dEf_TeXt_; + var-mem-name = 'u'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + var-mem-desc-line = '238'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__pkt__cp_8h_1aabc4fe26e40f742fd255e2bb8534de75'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'numPrbc'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + var-mem-desc-line = '240'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.5.6 number of contiguous PRBs per control section 0000 0000b = all PRBs + +5.4.5.6 number of contiguous PRBs per control section +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__pkt__cp_8h_1a94a428ce385fe1757f5de40003b85030'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'startPrbc'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + var-mem-desc-line = '241'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.5.4 starting PRB of control section +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__pkt__cp_8h_1a52f6623d45fec4bf9c14898f7e53db34'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'symInc'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + var-mem-desc-line = '242'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.5.3 symbol number increment command XRAN_SYMBOLNUMBER_xxxx +_EnD_oF_dEf_TeXt_; + var-mem-referenceby = { + var-mem-ref-id = 'xran__common_8c_1aaa01e98d3b3439a332302aebe21459dd'; + var-mem-ref-line = '535'; + var-mem-ref-name = 'generate_cpmsg_dlul'; + }; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__pkt__cp_8h_1affa3adbd50cd4af2018ba1fc0e8c3e31'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'rb'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + var-mem-desc-line = '243'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.5.2 resource block indicator, XRAN_RBIND_xxx +_EnD_oF_dEf_TeXt_; + var-mem-referenceby = { + var-mem-ref-id = 'u__plane__functional_8cc_1a17e5d82ac5aec3860b1324a80fda79ed'; + var-mem-ref-line = '61'; + var-mem-ref-name = 'TEST_P'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'xran__common_8c_1a3d4bd5c7eec6da4ab71688e209100761'; + var-mem-ref-line = '143'; + var-mem-ref-name = 'process_mbuf'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'xran__compression_8cpp_1a45cc83687ca392534168cb8f4d64182f'; + var-mem-ref-line = '558'; + var-mem-ref-name = 'BlockFloatCompander::BlockFloatCompress_Basic'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'xran__compression_8cpp_1a5f4776cd07aac0ae2d9dbd02aaba3435'; + var-mem-ref-line = '605'; + var-mem-ref-name = 'BlockFloatCompander::BlockFloatExpand_Basic'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'xran__compression_8cpp_1a45cc83687ca392534168cb8f4d64182f'; + var-mem-ref-line = '640'; + var-mem-ref-name = 'BlockFloatCompanderBFW::BlockFloatCompress_Basic'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'xran__compression_8cpp_1a5f4776cd07aac0ae2d9dbd02aaba3435'; + var-mem-ref-line = '687'; + var-mem-ref-name = 'BlockFloatCompanderBFW::BlockFloatExpand_Basic'; + }; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__pkt__cp_8h_1a9a83cf1c3a2706e565cbbd8a6e3af8b2'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'sectionId'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + var-mem-desc-line = '244'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.5.1 section identifier +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__pkt__cp_8h_1ab53808b9894ae611b5b0800f2cdc248c'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'extLen'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + var-mem-desc-line = '217'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.6.3 extension length, in 32bits words +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__pkt__cp_8h_1a0fb8616e86f89f4b8af4e191d1cb7ce7'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'extType'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + var-mem-desc-line = '218'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.6.1 extension type +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__pkt__cp_8h_1a489f0b868b86e577a5e515dc40987ba5'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'bfwCompMeth'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + var-mem-desc-line = '220'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.7.1.1 Beamforming weight Compression method +_EnD_oF_dEf_TeXt_; + var-mem-referenceby = { + var-mem-ref-id = 'xran__cp__api_8c_1a848d22f9f7e5f493782bf8a9bfdb8f3a'; + var-mem-ref-line = '387'; + var-mem-ref-name = 'xran_cp_populate_section_ext_1'; + }; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__pkt__cp_8h_1ab4efff418afe4f08b45d3c4762f8b31d'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'bfwIqWidth'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + var-mem-desc-line = '221'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.7.1.1 Beamforming weight IQ bit width +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__pkt__cp_8h_1afaa633099e5bb43f394e334d2effa115'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'bfZe3ddWidth'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + var-mem-desc-line = '217'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.7.2.1 beamforming zenith beamwidth parameter bitwidth, Table 5-21 +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__pkt__cp_8h_1a91c2992cc2931d34eedace92ebed95e3'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'bfAz3ddWidth'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + var-mem-desc-line = '218'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.7.2.1 beamforming azimuth beamwidth parameter bitwidth, Table 5-20 +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__pkt__cp_8h_1ad577e27385c9800999196f723131c2a6'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'bfaCompResv1'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + var-mem-desc-line = '219'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__pkt__cp_8h_1a44f3c610f47128f388292d02434afe0b'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'bfZePtWidth'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + var-mem-desc-line = '220'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.7.2.1 beamforming zenith pointing parameter bitwidth, Table 5-19 +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__pkt__cp_8h_1ae4575041f99a19d0b4e60606fa8dbefb'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'bfAzPtWidth'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + var-mem-desc-line = '221'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.7.2.1 beamforming azimuth pointing parameter bitwidth, Table 5-18 +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__pkt__cp_8h_1a2b3796df8f24599db86788e5c585bd8e'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'bfaCompResv0'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + var-mem-desc-line = '222'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__pkt__cp_8h_1aef9bb556c1530f5d648fd57e73b9a105'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'reserved1'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + var-mem-desc-line = '217'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__pkt__cp_8h_1aec327188e616d1ef6c7c7769fa49ee4b'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'crsSymNum'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + var-mem-desc-line = '218'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.7.3.6 CRS symbol number indication +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__pkt__cp_8h_1aed93283265f941dc1d2bf8d634164493'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'reserved0'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + var-mem-desc-line = '219'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__pkt__cp_8h_1a39e7385dc0e87f97e8411cec1e3aced5'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'crsShift'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + var-mem-desc-line = '220'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.7.3.7 CRS shift used for DL transmission +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__pkt__cp_8h_1a004e4df3faa0bb55443b2e184a8d7ace'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'crsReMask'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + var-mem-desc-line = '221'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.7.3.5 CRS resource element mask +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__pkt__cp_8h_1a4a4e7cf0028066630bb73b2d58445053'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'txScheme'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + var-mem-desc-line = '222'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.7.3.3 transmission scheme +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__pkt__cp_8h_1a872448d7734f1458ebd601823497a5fa'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'numLayers'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + var-mem-desc-line = '223'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.7.3.4 number of layers used for DL transmission +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__pkt__cp_8h_1abb85b533cefe89b78d49e57e7a0c6ee4'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'layerId'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + var-mem-desc-line = '224'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.7.3.2 Layer ID for DL transmission +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__pkt__cp_8h_1a5645d802dc4e4fac0d73fc7c68388893'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'codebookIndex'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + var-mem-desc-line = '225'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.7.3.1 precoder codebook used for transmission +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__pkt__cp_8h_1a0780ffbec6d647632e2b31d89de94467'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'beamIdAP3'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + var-mem-desc-line = '230'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.7.3.10 beam id to be used for antenna port 3 +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__pkt__cp_8h_1a9b459e1b2f309337740ed7a576e8ddfb'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'beamIdAP2'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + var-mem-desc-line = '231'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.7.3.9 beam id to be used for antenna port 2 +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__pkt__cp_8h_1abcaa5b568a022c3af1146b779d52bebc'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'beamIdAP1'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + var-mem-desc-line = '232'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.7.3.8 beam id to be used for antenna port 1 +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__pkt__cp_8h_1a0fc429b055e74830a4583ec37f5c3846'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'reserved2'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + var-mem-desc-line = '233'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__pkt__cp_8h_1a3e975b4b16cb91991ee107f5f3e336b5'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'modCompScaler'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + var-mem-desc-line = '215'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.7.4.2 modulation compression scaler value +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__pkt__cp_8h_1a2a77d2bfcb0d61e85b549fdbbe4bce18'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'csf'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + var-mem-desc-line = '216'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.7.4.1 constellation shift flag +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__pkt__cp_8h_1aca88dbe7fcac3aa95ac605c39a1ef6c3'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'mcScaleOffset2'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + var-mem-desc-line = '215'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.7.5.3 scaling value for modulation compression +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__pkt__cp_8h_1a985dc9bc6fcfe447805f23272240db02'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'csf2'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + var-mem-desc-line = '216'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.7.5.2 constellation shift flag +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__pkt__cp_8h_1a345b2bf8205e92f1aa2f73109c4e99c5'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'mcScaleReMask2'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + var-mem-desc-line = '217'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.7.5.1 modulation compression power scale RE mask +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__pkt__cp_8h_1a8854bc563f0f80ccc93498c6f6386ebe'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'mcScaleOffset1'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + var-mem-desc-line = '218'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.7.5.3 scaling value for modulation compression +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__pkt__cp_8h_1ae99d919e21fe8913cf62fe9a45303edf'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'csf1'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + var-mem-desc-line = '219'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.7.5.2 constellation shift flag +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__pkt__cp_8h_1aa73c9c8643bc91f9af899bcb09d5329d'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'mcScaleReMask1'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + var-mem-desc-line = '220'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.7.5.1 modulation compression power scale RE mask +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__pkt__cp_8h_1a5965943d604d681efbc50dbda73e9101'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_cp_radioapp_common_header +_EnD_oF_dEf_TeXt_; + var-mem-name = 'cmnhdr'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + var-mem-desc-line = '343'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__pkt__cp_8h_1aa68c277a66312b4b90819cccc055bdb7'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'timeOffset'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + var-mem-desc-line = '215'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.4.12 time offset +_EnD_oF_dEf_TeXt_; + var-mem-referenceby = { + var-mem-ref-id = 'xran__common_8c_1ab8a6ed3cee8fa183142d0c23d0b4971d'; + var-mem-ref-line = '595'; + var-mem-ref-name = 'generate_cpmsg_prach'; + }; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__pkt__cp_8h_1addd131fba195042d2b0b7de7c5183b6a'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_cp_radioapp_frameStructure +_EnD_oF_dEf_TeXt_; + var-mem-name = 'frameStructure'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + var-mem-desc-line = '215'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__pkt__cp_8h_1af57c31d64bbdb0d65fd36c9f38951328'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'cpLength'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + var-mem-desc-line = '218'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.4.14 cyclic prefix length +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__pkt__cp_8h_1a3675a820a4aec2a8724471cb7f840f16'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_cp_radioapp_section_header +_EnD_oF_dEf_TeXt_; + var-mem-name = 'hdr'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + var-mem-desc-line = '219'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-referenceby = { + var-mem-ref-id = 'xran__cp__api_8c_1a1261c107d1103c8bd1b3376db4aa7951'; + var-mem-ref-line = '1297'; + var-mem-ref-name = 'xran_append_radioapp_header'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'xran__cp__api_8c_1a38c83cd67a7265920f3bd0b36510f713'; + var-mem-ref-line = '1749'; + var-mem-ref-name = 'xran_parse_cp_pkt'; + }; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__pkt__cp_8h_1a2c555c4732301a1ffa8b9957fbe51a76'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +struct xran_radioapp_udComp_header +_EnD_oF_dEf_TeXt_; + var-mem-name = 'udComp'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + var-mem-desc-line = '366'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__pkt__cp_8h_1a13677edb1da78e5c96fc793592142392'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'freqOffset'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + var-mem-desc-line = '215'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.5.11 frequency offset +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__pkt__cp_8h_1adc2b3bf6f7c4208312d35672ab4f1af7'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'numberOfUEs'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + var-mem-desc-line = '215'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.4.11 number of UEs +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__pkt__cp_8h_1ab73e0a6442bf42de3e9110afca7b4ec4'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'regularizationFactor'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + var-mem-desc-line = '214'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.5.12 regularization Factor +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__pkt__cp_8h_1a02b265f2198407df96202e1dfdc5c7dd'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'startPrbch'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + var-mem-desc-line = '217'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.5.4 starting PRB of control section +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__pkt__cp_8h_1ae0ba1ea05777c0190eb5d898d177f37d'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'startPrbcl'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + var-mem-desc-line = '221'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.5.4 starting PRB of control section +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__pkt__cp_8h_1a4a3e173586ee317bb0948180e97377d9'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'laaMsgLen'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + var-mem-desc-line = '216'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.5.15 LAA message length +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__pkt__cp_8h_1aeb1df06af4d93ec0e092de5cb10f0f08'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'laaMsgType'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + var-mem-desc-line = '217'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ +5.4.5.14 LAA message type +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + }; + file-full-name = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_cp.h'; + file-first-line = '1'; + file-briefdesc = <<_EnD_oF_dEf_TeXt_ +This file provides the definition of Control Plane Messages + for XRAN Front Haul layer as defined in XRAN-FH.CUS.0-v02.01. +_EnD_oF_dEf_TeXt_; + file-documentation = <<_EnD_oF_dEf_TeXt_ +@author Intel Corporation +_EnD_oF_dEf_TeXt_; +}; /* file */ +file = { + file-id = 'xran__pkt__up_8h'; + file-name = 'xran_pkt_up.h'; + define = { + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__pkt__up_8h_1af6647a7b572e3c757fb834c22c06c757'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'IQ_PAIR_NUM_IN_RB'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +12 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_up.h'; + define-mem-desc-line = '45'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__pkt__up_8h_1a886c66796fb86299692ed3629a12ed56'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'MAX_DATA_SECTIONS_NUM'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +273 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_up.h'; + define-mem-desc-line = '46'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__pkt__up_8h_1a863f0b79c08ef7f3431b7d13656fea74'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'MAX_IQ_BIT_WIDTH'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +16 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_up.h'; + define-mem-desc-line = '47'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__pkt__up_8h_1a1f562f709cbcc25bce1e2af28e796ff2'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'IQ_BITS'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +MAX_IQ_BIT_WIDTH +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_up.h'; + define-mem-desc-line = '50'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + }; + var = { + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'group__xran__up__pkt_1ga303c201bb1ad2f72aa29dd1375efaf72'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +struct data_section_hdr +_EnD_oF_dEf_TeXt_; + var-mem-name = '__rte_packed'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_up.h'; + var-mem-desc-line = '78'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + }; + file-full-name = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_pkt_up.h'; + file-first-line = '1'; + file-briefdesc = <<_EnD_oF_dEf_TeXt_ +Definitions and support functions to process XRAN packet. +_EnD_oF_dEf_TeXt_; + file-documentation = <<_EnD_oF_dEf_TeXt_ +@author Intel Corporation + + + + +_EnD_oF_dEf_TeXt_; +}; /* file */ +file = { + file-id = 'xran__printf_8h'; + file-name = 'xran_printf.h'; + define = { + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__printf_8h_1abcb4ad51f1f16a398ff960ba4a0ed8c0'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'PRINTF_LOG_OK'; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_printf.h'; + define-mem-desc-line = '35'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__printf_8h_1a467b83fc581fd7d20f8bf8c0af7240b9'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'PRINTF_INF_OK'; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_printf.h'; + define-mem-desc-line = '36'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__printf_8h_1aa48f1da63506225983d78eeabd664382'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'PRINTF_ERR_OK'; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_printf.h'; + define-mem-desc-line = '37'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__printf_8h_1a677530742f5d55b5410c024f85794361'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'print_log'; + define-mem-param = { + define-mem-def-name = 'fmt'; + }; /* define-mem-def--param */ + define-mem-param = { + define-mem-def-name = 'args...'; + }; /* define-mem-def--param */ + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +printf("%s:" fmt "\n", __FUNCTION__, ## args) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_printf.h'; + define-mem-desc-line = '42'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__printf_8h_1a417ba2c3b49b216e358bc340346bf1cf'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'print_dbg'; + define-mem-param = { + define-mem-def-name = 'fmt'; + }; /* define-mem-def--param */ + define-mem-param = { + define-mem-def-name = 'args...'; + }; /* define-mem-def--param */ + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_printf.h'; + define-mem-desc-line = '54'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__printf_8h_1a16c2c0a30b31515830a4a8eff6cf10b5'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'print_err'; + define-mem-param = { + define-mem-def-name = 'fmt'; + }; /* define-mem-def--param */ + define-mem-param = { + define-mem-def-name = 'args...'; + }; /* define-mem-def--param */ + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +printf("%s:[err] " fmt "\n", __FUNCTION__, ## args) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_printf.h'; + define-mem-desc-line = '62'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__printf_8h_1a4ca9250337e620175e2b71a1dc69d1d2'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'print_inf'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +printf +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_printf.h'; + define-mem-desc-line = '72'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__printf_8h_1a8c47e30913273d0d0599afdc0b39890a'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = '_IASSERT_'; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_printf.h'; + define-mem-desc-line = '85'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__printf_8h_1a1474943d458f066f2f4be85a329d9028'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'iAssert'; + define-mem-param = { + define-mem-def-name = 'p'; + }; /* define-mem-def--param */ + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_printf.h'; + define-mem-desc-line = '92'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__printf_8h_1a0b1e75be8d28458f05360139be8c2555'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = '_assert'; + define-mem-param = { + define-mem-def-name = 'x'; + }; /* define-mem-def--param */ + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_printf.h'; + define-mem-desc-line = '97'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__printf_8h_1a6907fcd45c00443dc2e3258a628208ca'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'CHECK_NOT_NULL'; + define-mem-param = { + define-mem-def-name = 'param'; + }; /* define-mem-def--param */ + define-mem-param = { + define-mem-def-name = 'returnValue'; + }; /* define-mem-def--param */ + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_printf.h'; + define-mem-desc-line = '111'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + }; + file-full-name = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_printf.h'; + file-first-line = '1'; + file-briefdesc = <<_EnD_oF_dEf_TeXt_ +Modules provide debug prints and utility functions. +_EnD_oF_dEf_TeXt_; + file-documentation = <<_EnD_oF_dEf_TeXt_ +@author Intel Corporation +_EnD_oF_dEf_TeXt_; +}; /* file */ +file = { + file-id = 'xran__sync__api_8c'; + file-name = 'xran_sync_api.c'; + define = { + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__sync__api_8c_1a8b5839f71a3b6e7d64b2d5e9967e3dd1'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'BUF_LEN'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +256 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_sync_api.c'; + define-mem-desc-line = '37'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__sync__api_8c_1a74c4e1e72964de291652bbec04e4e4c9'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'PROC_DIR'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +"/proc" +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_sync_api.c'; + define-mem-desc-line = '38'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__sync__api_8c_1a49d668ad019f34e97bb4eab0c86322c4'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'COMM_FILE'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +"comm" +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_sync_api.c'; + define-mem-desc-line = '39'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__sync__api_8c_1ad358ba75ef7ea0f15a200f9e18af64e4'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'PMC_CMD'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +"pmc -u -b 0 'GET PORT_DATA_SET'" +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_sync_api.c'; + define-mem-desc-line = '40'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__sync__api_8c_1ad1e97ed2634bf44c3b2d5366cfa3deda'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'PTP4L_PROC_NAME'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +"ptp4l" +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_sync_api.c'; + define-mem-desc-line = '41'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__sync__api_8c_1a651275b1135ce87eb95b301b6427cf07'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'PHC2SYS_PROC_NAME'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +"phc2sys" +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_sync_api.c'; + define-mem-desc-line = '42'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + }; + func = { + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__sync__api_8c_1ac891d10b2b1653786100ecd8e4ba89ab'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +static int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'find_substr'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const char * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'str'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const unsigned int +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'str_len'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const char * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'substr'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const unsigned int +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'substr_len'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_sync_api.c'; + func-mem-desc-line = '44'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__sync__api_8c_1a5913b705ad5cd1cc4b7740d843fabbbd'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +static int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'is_process_running'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +char * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pname'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_sync_api.c'; + func-mem-desc-line = '59'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__sync__api_8c_1a28a754e9a5d3ea261bdf768972cd25b4'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +static int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'check_ptp_status'; + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_sync_api.c'; + func-mem-desc-line = '90'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__sync__api_8c_1a4778e0253fe842243ff1b2cee96e9367'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_is_synchronized'; + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_sync_api.c'; + func-mem-desc-line = '113'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Function checks if machine is synchronized using PTP for Linux + software. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@return int Returns 0 if synchronized, otherwise positive. +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'master_8py_1ad5c7a065cddc009146ea1b1192eb2102'; + func-mem-ref-line = '498'; + func-mem-ref-name = 'master::res'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'sample-app_8c_1a0ddf1224851353fc92bfbff6f499fa97'; + func-mem-ref-line = '1319'; + func-mem-ref-name = 'main'; + }; + }; /* func-member */ + }; + file-full-name = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_sync_api.c'; + file-first-line = '1'; + file-briefdesc = <<_EnD_oF_dEf_TeXt_ +This file provides implementation of synchronization related APIs (PTP/1588) + for XRAN. +_EnD_oF_dEf_TeXt_; + file-documentation = <<_EnD_oF_dEf_TeXt_ +@author Intel Corporation +_EnD_oF_dEf_TeXt_; +}; /* file */ +file = { + file-id = 'xran__sync__api_8h'; + file-name = 'xran_sync_api.h'; + func = { + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__sync__api_8h_1ac7d90edeea3b7f779bf85f44810c6a3a'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_is_synchronized'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_sync_api.h'; + func-mem-desc-line = '42'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Function checks if machine is synchronized using PTP for Linux + software. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@return int Returns 0 if synchronized, otherwise positive. +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'master_8py_1ad5c7a065cddc009146ea1b1192eb2102'; + func-mem-ref-line = '498'; + func-mem-ref-name = 'master::res'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'sample-app_8c_1a0ddf1224851353fc92bfbff6f499fa97'; + func-mem-ref-line = '1319'; + func-mem-ref-name = 'main'; + }; + }; /* func-member */ + }; + file-full-name = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_sync_api.h'; + file-first-line = '1'; + file-briefdesc = <<_EnD_oF_dEf_TeXt_ +This file provides interface to synchronization related APIs (PTP/1588) + for XRAN. +_EnD_oF_dEf_TeXt_; + file-documentation = <<_EnD_oF_dEf_TeXt_ +@author Intel Corporation +_EnD_oF_dEf_TeXt_; +}; /* file */ +file = { + file-id = 'xran__timer_8c'; + file-name = 'xran_timer.c'; + define = { + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__timer_8c_1a0501e82515b2bdf36453c4cc80f5e0cc'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'NSEC_PER_SEC'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +1000000000L +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_timer.c'; + define-mem-desc-line = '41'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__timer_8c_1a2180f263d149841a7c1fde663edb84c5'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'NSEC_PER_USEC'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +1000L +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_timer.c'; + define-mem-desc-line = '42'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__timer_8c_1a4679d8ea8690999a6c6c7c0cb245c879'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'THRESHOLD'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +35 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_timer.c'; + define-mem-desc-line = '43'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ +the avg cost of clock_gettime() in ns +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__timer_8c_1a5ba5868b3cb09fc7860a1328c31280a6'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'TIMECOMPENSATION'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +2 +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_timer.c'; + define-mem-desc-line = '44'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ +time compensation in us, avg latency of clock_nanosleep +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__timer_8c_1a7ea28dc9406161730556bbec38f1a799'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'SEC_MOD_STOP'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +(60) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_timer.c'; + define-mem-desc-line = '46'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + }; + func = { + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__timer_8c_1abee5de4c0d88f6c17ce6b3962d097f07'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +uint64_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'timing_get_current_second'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_timer.c'; + func-mem-desc-line = '88'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1adbe808fba48ef1390180fb1bdc68c1d7'; + func-mem-ref-line = '201'; + func-mem-ref-name = 'xran_updateSfnSecStart'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__timer_8c_1a6c1790e87767257159038d0d98a393e6'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'timing_set_numerology'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'value'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_timer.c'; + func-mem-desc-line = '93'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1a03f408f45e97aa68ca47c92e4e7d1a70'; + func-mem-ref-line = '2756'; + func-mem-ref-name = 'xran_open'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__timer_8c_1aeb3df12acecd320cd4939d4203dd9a99'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'timing_set_debug_stop'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'value'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'count'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_timer.c'; + func-mem-desc-line = '99'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__timer_8c_1ae12363837fbb4d5f1f7ce0485d443c77'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'timing_get_debug_stop'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_timer.c'; + func-mem-desc-line = '111'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__timer_8c_1af01e1311b604e50d00b7ecce78d2ce22'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'timing_adjust_gps_second'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct timespec * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'p_time'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_timer.c'; + func-mem-desc-line = '116'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1aa09e72e94d2a1d891e86f4c09b0f8b21'; + func-mem-ref-line = '223'; + func-mem-ref-name = 'xran_dev_get_ctx'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1ac885b03154fc1d5e7c10f09d92dd8a47'; + func-mem-ref-line = '217'; + func-mem-ref-name = 'xran_device_ctx::offset_nsec'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__common_8h_1aee9d04742a7da3cfa9e267fe568b9185'; + func-mem-ref-line = '216'; + func-mem-ref-name = 'xran_device_ctx::offset_sec'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__timer_8c_1a1d2f23e35725cd993cbb72de9f4f565a'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +uint64_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_tick'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_timer.c'; + func-mem-desc-line = '131'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1a195da46c3cb90e36da543594416cbba7'; + func-mem-ref-line = '582'; + func-mem-ref-name = 'sym_ota_cb'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__timer_8c_1a2c22baf2fd259384ee376d438bb461c1'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +unsigned long +_EnD_oF_dEf_TeXt_; + func-mem-name = 'get_ticks_diff'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +unsigned long +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'curr_tick'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +unsigned long +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'last_tick'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_timer.c'; + func-mem-desc-line = '138'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1a195da46c3cb90e36da543594416cbba7'; + func-mem-ref-line = '582'; + func-mem-ref-name = 'sym_ota_cb'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__timer_8c_1a52ade7f1436323f071cf7151f7bdb097'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +long +_EnD_oF_dEf_TeXt_; + func-mem-name = 'poll_next_tick'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +long +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'interval_ns'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +unsigned long * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'used_tick'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_timer.c'; + func-mem-desc-line = '146'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1aa09e72e94d2a1d891e86f4c09b0f8b21'; + func-mem-ref-line = '223'; + func-mem-ref-name = 'xran_dev_get_ctx'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__timer_8c_1a63aaaffc2af6e6655ea0fc95078d5a04'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +long +_EnD_oF_dEf_TeXt_; + func-mem-name = 'sleep_next_tick'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +long +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'interval'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_timer.c'; + func-mem-desc-line = '246'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__timer_8c_1a0501e82515b2bdf36453c4cc80f5e0cc'; + func-mem-ref-line = '41'; + func-mem-ref-name = 'NSEC_PER_SEC'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__timer_8c_1a2180f263d149841a7c1fde663edb84c5'; + func-mem-ref-line = '42'; + func-mem-ref-name = 'NSEC_PER_USEC'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__timer_8c_1a5ba5868b3cb09fc7860a1328c31280a6'; + func-mem-ref-line = '44'; + func-mem-ref-name = 'TIMECOMPENSATION'; + }; + }; /* func-member */ + }; + var = { + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__timer_8c_1a675a0b40a426953c0b2c0313b74206e7'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +static struct timespec +_EnD_oF_dEf_TeXt_; + var-mem-name = 'started_time'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_timer.c'; + var-mem-desc-line = '113'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__timer_8c_1a442759bdbc5f797ea86244806090e5eb'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +static struct timespec +_EnD_oF_dEf_TeXt_; + var-mem-name = 'last_time'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_timer.c'; + var-mem-desc-line = '113'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__timer_8c_1aca6807273671d50c81ae472c0ccff882'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +static struct timespec +_EnD_oF_dEf_TeXt_; + var-mem-name = 'cur_time'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_timer.c'; + var-mem-desc-line = '113'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__timer_8c_1ac0d47541ca63a50b68543320ddc5dbdc'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +static uint64_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'curr_tick'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_timer.c'; + var-mem-desc-line = '52'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__timer_8c_1a81bceb1c8bfb882c83a69ee5b7762332'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +static uint64_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'last_tick'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_timer.c'; + var-mem-desc-line = '53'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__timer_8c_1a11ae4c78b6b3d6a2d5cab4d441b6d8bd'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +static struct timespec * +_EnD_oF_dEf_TeXt_; + var-mem-name = 'p_cur_time'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += &cur_time +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_timer.c'; + var-mem-desc-line = '55'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__timer_8c_1a9647e209f5b57bce67758328dbf37182'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +static struct timespec * +_EnD_oF_dEf_TeXt_; + var-mem-name = 'p_last_time'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += &last_time +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_timer.c'; + var-mem-desc-line = '56'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__timer_8c_1a69b9ff90723eb4ffae7747e6973355c0'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +static struct timespec * +_EnD_oF_dEf_TeXt_; + var-mem-name = 'p_temp_time'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_timer.c'; + var-mem-desc-line = '59'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__timer_8c_1acb7e17036a59af5ce6a3b6d04c6abaf0'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +static unsigned long +_EnD_oF_dEf_TeXt_; + var-mem-name = 'current_second'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += 0 +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_timer.c'; + var-mem-desc-line = '61'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__timer_8c_1a543d55c379183652eabb7d08e9562634'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +static unsigned long +_EnD_oF_dEf_TeXt_; + var-mem-name = 'started_second'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += 0 +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_timer.c'; + var-mem-desc-line = '62'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__timer_8c_1a68eb95facf0d3d94a4bcc18aba17da49'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +static uint8_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'numerlogy'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += 0 +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_timer.c'; + var-mem-desc-line = '63'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__timer_8c_1a8cec0b41a42705e6ab9f49914ca666c2'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'xran_lib_ota_sym'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_timer.c'; + var-mem-desc-line = '64'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Symbol index in a slot [0:13] +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__timer_8c_1a273a09cbea9267272f4e2a339059e442'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'xran_lib_ota_tti'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_timer.c'; + var-mem-desc-line = '65'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Slot index in a second [0:(1000000/TTI-1)] +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__timer_8c_1a98175f360f5753bc99c4edd3c2d8bd04'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'xran_lib_ota_sym_idx'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_timer.c'; + var-mem-desc-line = '66'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Symbol index in a second [0 : 14*(1000000/TTI)-1] + where TTI is TTI interval in microseconds +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__timer_8c_1a4b02aee2684901d8439583090e626497'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +static int +_EnD_oF_dEf_TeXt_; + var-mem-name = 'debugStop'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += 0 +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_timer.c'; + var-mem-desc-line = '68'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__timer_8c_1a69272806544b062eb7089f33b5e70561'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +static int +_EnD_oF_dEf_TeXt_; + var-mem-name = 'debugStopCount'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += 0 +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_timer.c'; + var-mem-desc-line = '69'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__timer_8c_1a92c2e9d368d306e125bc1a201de49433'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +static long +_EnD_oF_dEf_TeXt_; + var-mem-name = 'fine_tuning'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += +{ + {71428L, 71429L}, + {35714L, 35715L}, + {0, 0}, + {8928L, 8929L}, + {0,0 } +} +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_timer.c'; + var-mem-desc-line = '71'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__timer_8c_1ab36a32d09632db2845cac9bb5db30c58'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +static uint8_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'slots_per_subframe'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += +{ + 1, + 2, + 4, + 8, +} +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_timer.c'; + var-mem-desc-line = '80'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* var-member */ + }; + file-full-name = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_timer.c'; + file-first-line = '1'; + file-briefdesc = <<_EnD_oF_dEf_TeXt_ +This file provides implementation to Timing for XRAN. +_EnD_oF_dEf_TeXt_; + file-documentation = <<_EnD_oF_dEf_TeXt_ +@author Intel Corporation +_EnD_oF_dEf_TeXt_; +}; /* file */ +file = { + file-id = 'xran__timer_8h'; + file-name = 'xran_timer.h'; + define = { + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__timer_8h_1a222f9dff749accf8de62bc4b52c7bdcd'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'MSEC_PER_SEC'; + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +1000L +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_timer.h'; + define-mem-desc-line = '40'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__timer_8h_1acdb0852cc30aec56cfe119620ec7ba7d'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XranIncrementSymIdx'; + define-mem-param = { + define-mem-def-name = 'sym_idx'; + }; /* define-mem-def--param */ + define-mem-param = { + define-mem-def-name = 'numSymPerMs'; + }; /* define-mem-def--param */ + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +(((uint32_t)sym_idx >= (((uint32_t)numSymPerMs * MSEC_PER_SEC) - 1)) ? 0 : (uint32_t)sym_idx+1) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_timer.h'; + define-mem-desc-line = '42'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + define-member = { + define-mem-kind = 'define'; + define-mem-id = 'xran__timer_8h_1adad74a9ce67793dc420e0a5045f22cb0'; + define-mem-virt = normal; + define-mem-prot = public; + define-mem-name = 'XranDecrementSymIdx'; + define-mem-param = { + define-mem-def-name = 'sym_idx'; + }; /* define-mem-def--param */ + define-mem-param = { + define-mem-def-name = 'numSymPerMs'; + }; /* define-mem-def--param */ + define-mem-initializer = <<_EnD_oF_dEf_TeXt_ +(((uint32_t)sym_idx == 0) ? (((uint32_t)numSymPerMs * MSEC_PER_SEC)) - 1) : (uint32_t)sym_idx-1) +_EnD_oF_dEf_TeXt_; + define-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_timer.h'; + define-mem-desc-line = '43'; + define-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + define-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* define-member */ + }; + func = { + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__timer_8h_1a1d2f23e35725cd993cbb72de9f4f565a'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +uint64_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_tick'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_timer.h'; + func-mem-desc-line = '45'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1a195da46c3cb90e36da543594416cbba7'; + func-mem-ref-line = '582'; + func-mem-ref-name = 'sym_ota_cb'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__timer_8h_1a2c22baf2fd259384ee376d438bb461c1'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +unsigned long +_EnD_oF_dEf_TeXt_; + func-mem-name = 'get_ticks_diff'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +unsigned long +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'curr_tick'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +unsigned long +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'last_tick'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_timer.h'; + func-mem-desc-line = '46'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1a195da46c3cb90e36da543594416cbba7'; + func-mem-ref-line = '582'; + func-mem-ref-name = 'sym_ota_cb'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__timer_8h_1a52ade7f1436323f071cf7151f7bdb097'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +long +_EnD_oF_dEf_TeXt_; + func-mem-name = 'poll_next_tick'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +long +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'interval_ns'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +unsigned long * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'used_tick'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_timer.h'; + func-mem-desc-line = '47'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1aa09e72e94d2a1d891e86f4c09b0f8b21'; + func-mem-ref-line = '223'; + func-mem-ref-name = 'xran_dev_get_ctx'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__timer_8h_1a63aaaffc2af6e6655ea0fc95078d5a04'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +long +_EnD_oF_dEf_TeXt_; + func-mem-name = 'sleep_next_tick'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +long +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'interval'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_timer.h'; + func-mem-desc-line = '48'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__timer_8c_1a0501e82515b2bdf36453c4cc80f5e0cc'; + func-mem-ref-line = '41'; + func-mem-ref-name = 'NSEC_PER_SEC'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__timer_8c_1a2180f263d149841a7c1fde663edb84c5'; + func-mem-ref-line = '42'; + func-mem-ref-name = 'NSEC_PER_USEC'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__timer_8c_1a5ba5868b3cb09fc7860a1328c31280a6'; + func-mem-ref-line = '44'; + func-mem-ref-name = 'TIMECOMPENSATION'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__timer_8h_1aeb3df12acecd320cd4939d4203dd9a99'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'timing_set_debug_stop'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'value'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'count'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_timer.h'; + func-mem-desc-line = '49'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__timer_8h_1ae12363837fbb4d5f1f7ce0485d443c77'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'timing_get_debug_stop'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_timer.h'; + func-mem-desc-line = '50'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__timer_8h_1abee5de4c0d88f6c17ce6b3962d097f07'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +uint64_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'timing_get_current_second'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_timer.h'; + func-mem-desc-line = '51'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1adbe808fba48ef1390180fb1bdc68c1d7'; + func-mem-ref-line = '201'; + func-mem-ref-name = 'xran_updateSfnSecStart'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__timer_8h_1a6c1790e87767257159038d0d98a393e6'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'timing_set_numerology'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'value'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_timer.h'; + func-mem-desc-line = '52'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'xran__main_8c_1a03f408f45e97aa68ca47c92e4e7d1a70'; + func-mem-ref-line = '2756'; + func-mem-ref-name = 'xran_open'; + }; + }; /* func-member */ + }; + file-full-name = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_timer.h'; + file-first-line = '1'; + file-briefdesc = <<_EnD_oF_dEf_TeXt_ +This file provides interface to Timing for XRAN. +_EnD_oF_dEf_TeXt_; + file-documentation = <<_EnD_oF_dEf_TeXt_ +@author Intel Corporation +_EnD_oF_dEf_TeXt_; +}; /* file */ +file = { + file-id = 'xran__transport_8c'; + file-name = 'xran_transport.c'; + func = { + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__transport_8c_1a0f378609208ec66467c58f0702ced85c'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_get_ecpri_hdr_size'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_transport.c'; + func-mem-desc-line = '49'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +return eCPRI header size without eCPRI common header +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@return the size of eCPRI header without common header +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'xran__transport_8c_1aa21387dfaba47c2046d4a05f50cfc768'; + func-mem-ref-line = '142'; + func-mem-ref-name = 'xran_build_ecpri_hdr'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__transport_8c_1ae834080139ba785f1a3ac5781bf2ec88'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_compose_cid'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'CU_Port_ID'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'BandSector_ID'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'CC_ID'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'Ant_ID'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_transport.c'; + func-mem-desc-line = '65'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Compose ecpriRtcid/ecpriPcid. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@param CU_Port_ID CU Port ID +@param BanbSector_ID Band Sector ID +@param CC_ID Component Carrier ID +@param Ant_ID RU Port ID (antenna ID) +@return uint16_t composed ecpriRtcid/ecpriPcid (network byte order) +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1a761e3947dcc547008a12a9cca10b1ea0'; + func-mem-ref-line = '2955'; + func-mem-ref-name = 'xran_get_conf_eAxC'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a8812802228fbd32d92c2c8f29963628b'; + func-mem-ref-line = '314'; + func-mem-ref-name = 'xran_eaxcid_config::bit_cuPortId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a3357253b181bed8132156f87728efc8d'; + func-mem-ref-line = '309'; + func-mem-ref-name = 'xran_eaxcid_config::mask_cuPortId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1ab3f5b7b7c113a7fdff4bdf31ff685594'; + func-mem-ref-line = '315'; + func-mem-ref-name = 'xran_eaxcid_config::bit_bandSectorId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1affca087d8bc179073b5ae2f429340898'; + func-mem-ref-line = '310'; + func-mem-ref-name = 'xran_eaxcid_config::mask_bandSectorId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a292acf2be52d7b22753f8f3a9839f455'; + func-mem-ref-line = '316'; + func-mem-ref-name = 'xran_eaxcid_config::bit_ccId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a0ba87d865af2deb1ee2565f528e1e72d'; + func-mem-ref-line = '311'; + func-mem-ref-name = 'xran_eaxcid_config::mask_ccId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1aa6294a3b04f47cabf866ec1e1ec4bd23'; + func-mem-ref-line = '317'; + func-mem-ref-name = 'xran_eaxcid_config::bit_ruPortId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a64cc7d4da64fe531f01c6bb54e6a02f3'; + func-mem-ref-line = '312'; + func-mem-ref-name = 'xran_eaxcid_config::mask_ruPortId'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__transport_8c_1aa21387dfaba47c2046d4a05f50cfc768'; + func-mem-ref-line = '142'; + func-mem-ref-name = 'xran_build_ecpri_hdr'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__transport_8c_1ab08a85b6527f45a9ba22d25061a96a3c'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_decompose_cid'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'cid'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_eaxc_info * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'result'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_transport.c'; + func-mem-desc-line = '89'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Decompose ecpriRtcid/ecpriPcid. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@param cid composed ecpriRtcid/ecpriPcid (network byte order) +@param result the pointer of the structure to store decomposed values +@return none +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1a761e3947dcc547008a12a9cca10b1ea0'; + func-mem-ref-line = '2955'; + func-mem-ref-name = 'xran_get_conf_eAxC'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__transport_8h_1a6c426a9de5864167cd297299f82535ca'; + func-mem-ref-line = '41'; + func-mem-ref-name = 'xran_eaxc_info::cuPortId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a3357253b181bed8132156f87728efc8d'; + func-mem-ref-line = '309'; + func-mem-ref-name = 'xran_eaxcid_config::mask_cuPortId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a8812802228fbd32d92c2c8f29963628b'; + func-mem-ref-line = '314'; + func-mem-ref-name = 'xran_eaxcid_config::bit_cuPortId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__transport_8h_1a7d93f32b8b4f771bd3ccf0b917cbec8b'; + func-mem-ref-line = '42'; + func-mem-ref-name = 'xran_eaxc_info::bandSectorId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1affca087d8bc179073b5ae2f429340898'; + func-mem-ref-line = '310'; + func-mem-ref-name = 'xran_eaxcid_config::mask_bandSectorId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1ab3f5b7b7c113a7fdff4bdf31ff685594'; + func-mem-ref-line = '315'; + func-mem-ref-name = 'xran_eaxcid_config::bit_bandSectorId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__transport_8h_1a9264d54f92ac22a760270816417a692b'; + func-mem-ref-line = '43'; + func-mem-ref-name = 'xran_eaxc_info::ccId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a0ba87d865af2deb1ee2565f528e1e72d'; + func-mem-ref-line = '311'; + func-mem-ref-name = 'xran_eaxcid_config::mask_ccId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a292acf2be52d7b22753f8f3a9839f455'; + func-mem-ref-line = '316'; + func-mem-ref-name = 'xran_eaxcid_config::bit_ccId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__transport_8h_1afb85286a39539b98fa09e33ccfa6226b'; + func-mem-ref-line = '44'; + func-mem-ref-name = 'xran_eaxc_info::ruPortId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a64cc7d4da64fe531f01c6bb54e6a02f3'; + func-mem-ref-line = '312'; + func-mem-ref-name = 'xran_eaxcid_config::mask_ruPortId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1aa6294a3b04f47cabf866ec1e1ec4bd23'; + func-mem-ref-line = '317'; + func-mem-ref-name = 'xran_eaxcid_config::bit_ruPortId'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__transport_8c_1ad199c3f4bfa018f5d0846471206217d1'; + func-mem-ref-line = '192'; + func-mem-ref-name = 'xran_parse_ecpri_hdr'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__up__api_8c_1adfc5ea408600c8de1384be020b359d95'; + func-mem-ref-line = '327'; + func-mem-ref-name = 'xran_extract_iq_samples'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__transport_8c_1a7070bae58b40a4621354bda1677261af'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_update_ecpri_payload_size'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mbuf * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'mbuf'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'size'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_transport.c'; + func-mem-desc-line = '113'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +modify the payload size of eCPRI header in xRAN packet +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@param mbuf Initialized rte_mbuf packet which has eCPRI header already +@param size payload size to be updated +@return none +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1aa90ff3ad961fe295cdffddc945999212'; + func-mem-ref-line = '132'; + func-mem-ref-name = 'xran_ecpri_hdr::cmnhdr'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1a61bf830b8866773b24cbca74ed3a4d6f'; + func-mem-ref-line = '119'; + func-mem-ref-name = 'xran_ecpri_cmn_hdr::ecpri_payl_size'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__transport_8c_1aa21387dfaba47c2046d4a05f50cfc768'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_build_ecpri_hdr'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mbuf * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'mbuf'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'CC_ID'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'Ant_ID'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'seq_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_ecpri_hdr ** +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'ecpri_hdr'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_transport.c'; + func-mem-desc-line = '142'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Build ECPRI header and returns added length. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@param mbuf + The pointer of the packet buffer to be parsed +@param CC_ID + Component Carrier ID for this C-Plane message +@param Ant_ID + Antenna ID(RU Port ID) for this C-Plane message +@param seq_id + Sequence ID for this C-Plane message +@param ecpri_hdr + The pointer to ECPRI header +@return + added payload size on success + XRAN_STATUS_RESOURCE if failed to allocate the space to packet buffer +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__printf_8h_1a16c2c0a30b31515830a4a8eff6cf10b5'; + func-mem-ref-line = '62'; + func-mem-ref-name = 'print_err'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a341e6485fd9de350805503e938f90708'; + func-mem-ref-line = '68'; + func-mem-ref-name = 'XRAN_STATUS_RESOURCE'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1aa90ff3ad961fe295cdffddc945999212'; + func-mem-ref-line = '132'; + func-mem-ref-name = 'xran_ecpri_hdr::cmnhdr'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1ae951511bfaa494bee98d7fc69c0966f0'; + func-mem-ref-line = '117'; + func-mem-ref-name = 'xran_ecpri_cmn_hdr::ecpri_ver'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1aa8e98bf0d1f79b3e67a5e27b063c6251'; + func-mem-ref-line = '61'; + func-mem-ref-name = 'XRAN_ECPRI_VER'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1a5dc01ebf378adefbe507b257d8e6c6d8'; + func-mem-ref-line = '116'; + func-mem-ref-name = 'xran_ecpri_cmn_hdr::ecpri_resv'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1a322d75c9ec1299251f0af915b2a1de75'; + func-mem-ref-line = '115'; + func-mem-ref-name = 'xran_ecpri_cmn_hdr::ecpri_concat'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1a5b41115e5686e3ff4f14c356a3aa209a'; + func-mem-ref-line = '118'; + func-mem-ref-name = 'xran_ecpri_cmn_hdr::ecpri_mesg_type'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1gga5f49588115e2d0a807ad613ae866384aa54c48b34d68f3445f6108e416a655955'; + func-mem-ref-line = '79'; + func-mem-ref-name = 'ECPRI_RT_CONTROL_DATA'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1abe6f9630ee7939118e68d24d90434e0c'; + func-mem-ref-line = '133'; + func-mem-ref-name = 'xran_ecpri_hdr::ecpri_xtc_id'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__transport_8c_1ae834080139ba785f1a3ac5781bf2ec88'; + func-mem-ref-line = '65'; + func-mem-ref-name = 'xran_compose_cid'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1aa5d2447d17b81766e3843a60296446e3'; + func-mem-ref-line = '134'; + func-mem-ref-name = 'xran_ecpri_hdr::ecpri_seq_id'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1a2f25460e9a84fe459a874b8255ed4c71'; + func-mem-ref-line = '99'; + func-mem-ref-name = 'ecpri_seq_id::seq_id'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1aaf017ad0a1905951403eb33265ffbb4c'; + func-mem-ref-line = '100'; + func-mem-ref-name = 'ecpri_seq_id::sub_seq_id'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1a1f74b973e738bf357c470565a1256ef5'; + func-mem-ref-line = '101'; + func-mem-ref-name = 'ecpri_seq_id::e_bit'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__transport_8c_1a0f378609208ec66467c58f0702ced85c'; + func-mem-ref-line = '49'; + func-mem-ref-name = 'xran_get_ecpri_hdr_size'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__cp__api_8c_1af9eb550e92ea270af41b4b6bcda363db'; + func-mem-ref-line = '1381'; + func-mem-ref-name = 'xran_prepare_ctrl_pkt'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__transport_8c_1ad199c3f4bfa018f5d0846471206217d1'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_parse_ecpri_hdr'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mbuf * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'mbuf'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_ecpri_hdr ** +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'ecpri_hdr'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_recv_packet_info * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pkt_info'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_transport.c'; + func-mem-desc-line = '192'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Parse ECPRI header. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@param mbuf + The pointer of the packet buffer to be parsed +@param ecpri_hdr + The pointer to ECPRI header +@param pkt_info + The pointer of sturcture to store the information from header +@return + XRAN_STATUS_SUCCESS on success + XRAN_STATUS_INVALID_PACKET if failed to parse the packet +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__printf_8h_1a16c2c0a30b31515830a4a8eff6cf10b5'; + func-mem-ref-line = '62'; + func-mem-ref-name = 'print_err'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a6602a966370956b35631e68698539cac'; + func-mem-ref-line = '92'; + func-mem-ref-name = 'XRAN_STATUS_INVALID_PACKET'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a814959a7b5ff6cd4474433f62312eee0'; + func-mem-ref-line = '54'; + func-mem-ref-name = 'XRAN_STATUS_SUCCESS'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1aa8e98bf0d1f79b3e67a5e27b063c6251'; + func-mem-ref-line = '61'; + func-mem-ref-name = 'XRAN_ECPRI_VER'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__transport_8h_1af75754cde2a3f5b9a770a31adb61fcbf'; + func-mem-ref-line = '48'; + func-mem-ref-name = 'xran_recv_packet_info::ecpri_version'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__transport_8h_1a3e9be941593e594f0aece9b7f223d757'; + func-mem-ref-line = '49'; + func-mem-ref-name = 'xran_recv_packet_info::msg_type'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__transport_8h_1abfeae9f0b773fefda3b80b9ca41d3ff6'; + func-mem-ref-line = '50'; + func-mem-ref-name = 'xran_recv_packet_info::payload_len'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__transport_8h_1ad03f3906ca027603299130f471bbdfe3'; + func-mem-ref-line = '52'; + func-mem-ref-name = 'xran_recv_packet_info::seq_id'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__transport_8h_1a860ee826897d09d78f35d2b15085efac'; + func-mem-ref-line = '53'; + func-mem-ref-name = 'xran_recv_packet_info::subseq_id'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__transport_8h_1afc198efda3f50db2a5cae3c738528dd9'; + func-mem-ref-line = '54'; + func-mem-ref-name = 'xran_recv_packet_info::ebit'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__transport_8c_1ab08a85b6527f45a9ba22d25061a96a3c'; + func-mem-ref-line = '89'; + func-mem-ref-name = 'xran_decompose_cid'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__transport_8h_1acd06407a6718be7fc0ed0b9bf6b9e4c3'; + func-mem-ref-line = '51'; + func-mem-ref-name = 'xran_recv_packet_info::eaxc'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__cp__api_8c_1a38c83cd67a7265920f3bd0b36510f713'; + func-mem-ref-line = '1749'; + func-mem-ref-name = 'xran_parse_cp_pkt'; + }; + }; /* func-member */ + }; + file-full-name = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_transport.c'; + file-first-line = '1'; + file-briefdesc = <<_EnD_oF_dEf_TeXt_ +This file provides the implementation for Transport lyaer (eCPRI) API. +_EnD_oF_dEf_TeXt_; + file-documentation = <<_EnD_oF_dEf_TeXt_ +@author Intel Corporation +_EnD_oF_dEf_TeXt_; +}; /* file */ +file = { + file-id = 'xran__transport_8h'; + file-name = 'xran_transport.h'; + func = { + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__transport_8h_1a0f378609208ec66467c58f0702ced85c'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_get_ecpri_hdr_size'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_transport.h'; + func-mem-desc-line = '58'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +return eCPRI header size without eCPRI common header +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@return the size of eCPRI header without common header +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'xran__transport_8c_1aa21387dfaba47c2046d4a05f50cfc768'; + func-mem-ref-line = '142'; + func-mem-ref-name = 'xran_build_ecpri_hdr'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__transport_8h_1a7070bae58b40a4621354bda1677261af'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_update_ecpri_payload_size'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mbuf * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'mbuf'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'size'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_transport.h'; + func-mem-desc-line = '59'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +modify the payload size of eCPRI header in xRAN packet +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@param mbuf Initialized rte_mbuf packet which has eCPRI header already +@param size payload size to be updated +@return none +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1aa90ff3ad961fe295cdffddc945999212'; + func-mem-ref-line = '132'; + func-mem-ref-name = 'xran_ecpri_hdr::cmnhdr'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1a61bf830b8866773b24cbca74ed3a4d6f'; + func-mem-ref-line = '119'; + func-mem-ref-name = 'xran_ecpri_cmn_hdr::ecpri_payl_size'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__transport_8h_1ae834080139ba785f1a3ac5781bf2ec88'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_compose_cid'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'CU_Port_ID'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'BandSector_ID'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'CC_ID'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'Ant_ID'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_transport.h'; + func-mem-desc-line = '61'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Compose ecpriRtcid/ecpriPcid. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@param CU_Port_ID CU Port ID +@param BanbSector_ID Band Sector ID +@param CC_ID Component Carrier ID +@param Ant_ID RU Port ID (antenna ID) +@return uint16_t composed ecpriRtcid/ecpriPcid (network byte order) +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1a761e3947dcc547008a12a9cca10b1ea0'; + func-mem-ref-line = '2955'; + func-mem-ref-name = 'xran_get_conf_eAxC'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a8812802228fbd32d92c2c8f29963628b'; + func-mem-ref-line = '314'; + func-mem-ref-name = 'xran_eaxcid_config::bit_cuPortId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a3357253b181bed8132156f87728efc8d'; + func-mem-ref-line = '309'; + func-mem-ref-name = 'xran_eaxcid_config::mask_cuPortId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1ab3f5b7b7c113a7fdff4bdf31ff685594'; + func-mem-ref-line = '315'; + func-mem-ref-name = 'xran_eaxcid_config::bit_bandSectorId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1affca087d8bc179073b5ae2f429340898'; + func-mem-ref-line = '310'; + func-mem-ref-name = 'xran_eaxcid_config::mask_bandSectorId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a292acf2be52d7b22753f8f3a9839f455'; + func-mem-ref-line = '316'; + func-mem-ref-name = 'xran_eaxcid_config::bit_ccId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a0ba87d865af2deb1ee2565f528e1e72d'; + func-mem-ref-line = '311'; + func-mem-ref-name = 'xran_eaxcid_config::mask_ccId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1aa6294a3b04f47cabf866ec1e1ec4bd23'; + func-mem-ref-line = '317'; + func-mem-ref-name = 'xran_eaxcid_config::bit_ruPortId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a64cc7d4da64fe531f01c6bb54e6a02f3'; + func-mem-ref-line = '312'; + func-mem-ref-name = 'xran_eaxcid_config::mask_ruPortId'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__transport_8c_1aa21387dfaba47c2046d4a05f50cfc768'; + func-mem-ref-line = '142'; + func-mem-ref-name = 'xran_build_ecpri_hdr'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__transport_8h_1ab08a85b6527f45a9ba22d25061a96a3c'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +void +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_decompose_cid'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'cid'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_eaxc_info * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'result'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_transport.h'; + func-mem-desc-line = '62'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Decompose ecpriRtcid/ecpriPcid. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@param cid composed ecpriRtcid/ecpriPcid (network byte order) +@param result the pointer of the structure to store decomposed values +@return none +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1a761e3947dcc547008a12a9cca10b1ea0'; + func-mem-ref-line = '2955'; + func-mem-ref-name = 'xran_get_conf_eAxC'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__transport_8h_1a6c426a9de5864167cd297299f82535ca'; + func-mem-ref-line = '41'; + func-mem-ref-name = 'xran_eaxc_info::cuPortId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a3357253b181bed8132156f87728efc8d'; + func-mem-ref-line = '309'; + func-mem-ref-name = 'xran_eaxcid_config::mask_cuPortId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a8812802228fbd32d92c2c8f29963628b'; + func-mem-ref-line = '314'; + func-mem-ref-name = 'xran_eaxcid_config::bit_cuPortId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__transport_8h_1a7d93f32b8b4f771bd3ccf0b917cbec8b'; + func-mem-ref-line = '42'; + func-mem-ref-name = 'xran_eaxc_info::bandSectorId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1affca087d8bc179073b5ae2f429340898'; + func-mem-ref-line = '310'; + func-mem-ref-name = 'xran_eaxcid_config::mask_bandSectorId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1ab3f5b7b7c113a7fdff4bdf31ff685594'; + func-mem-ref-line = '315'; + func-mem-ref-name = 'xran_eaxcid_config::bit_bandSectorId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__transport_8h_1a9264d54f92ac22a760270816417a692b'; + func-mem-ref-line = '43'; + func-mem-ref-name = 'xran_eaxc_info::ccId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a0ba87d865af2deb1ee2565f528e1e72d'; + func-mem-ref-line = '311'; + func-mem-ref-name = 'xran_eaxcid_config::mask_ccId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a292acf2be52d7b22753f8f3a9839f455'; + func-mem-ref-line = '316'; + func-mem-ref-name = 'xran_eaxcid_config::bit_ccId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__transport_8h_1afb85286a39539b98fa09e33ccfa6226b'; + func-mem-ref-line = '44'; + func-mem-ref-name = 'xran_eaxc_info::ruPortId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a64cc7d4da64fe531f01c6bb54e6a02f3'; + func-mem-ref-line = '312'; + func-mem-ref-name = 'xran_eaxcid_config::mask_ruPortId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1aa6294a3b04f47cabf866ec1e1ec4bd23'; + func-mem-ref-line = '317'; + func-mem-ref-name = 'xran_eaxcid_config::bit_ruPortId'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__transport_8c_1ad199c3f4bfa018f5d0846471206217d1'; + func-mem-ref-line = '192'; + func-mem-ref-name = 'xran_parse_ecpri_hdr'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__up__api_8c_1adfc5ea408600c8de1384be020b359d95'; + func-mem-ref-line = '327'; + func-mem-ref-name = 'xran_extract_iq_samples'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__transport_8h_1aa21387dfaba47c2046d4a05f50cfc768'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_build_ecpri_hdr'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mbuf * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'mbuf'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'CC_ID'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'Ant_ID'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'seq_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_ecpri_hdr ** +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'ecpri_hdr'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_transport.h'; + func-mem-desc-line = '64'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Build ECPRI header and returns added length. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@param mbuf + The pointer of the packet buffer to be parsed +@param CC_ID + Component Carrier ID for this C-Plane message +@param Ant_ID + Antenna ID(RU Port ID) for this C-Plane message +@param seq_id + Sequence ID for this C-Plane message +@param ecpri_hdr + The pointer to ECPRI header +@return + added payload size on success + XRAN_STATUS_RESOURCE if failed to allocate the space to packet buffer +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__printf_8h_1a16c2c0a30b31515830a4a8eff6cf10b5'; + func-mem-ref-line = '62'; + func-mem-ref-name = 'print_err'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a341e6485fd9de350805503e938f90708'; + func-mem-ref-line = '68'; + func-mem-ref-name = 'XRAN_STATUS_RESOURCE'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1aa90ff3ad961fe295cdffddc945999212'; + func-mem-ref-line = '132'; + func-mem-ref-name = 'xran_ecpri_hdr::cmnhdr'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1ae951511bfaa494bee98d7fc69c0966f0'; + func-mem-ref-line = '117'; + func-mem-ref-name = 'xran_ecpri_cmn_hdr::ecpri_ver'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1aa8e98bf0d1f79b3e67a5e27b063c6251'; + func-mem-ref-line = '61'; + func-mem-ref-name = 'XRAN_ECPRI_VER'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1a5dc01ebf378adefbe507b257d8e6c6d8'; + func-mem-ref-line = '116'; + func-mem-ref-name = 'xran_ecpri_cmn_hdr::ecpri_resv'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1a322d75c9ec1299251f0af915b2a1de75'; + func-mem-ref-line = '115'; + func-mem-ref-name = 'xran_ecpri_cmn_hdr::ecpri_concat'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1a5b41115e5686e3ff4f14c356a3aa209a'; + func-mem-ref-line = '118'; + func-mem-ref-name = 'xran_ecpri_cmn_hdr::ecpri_mesg_type'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1gga5f49588115e2d0a807ad613ae866384aa54c48b34d68f3445f6108e416a655955'; + func-mem-ref-line = '79'; + func-mem-ref-name = 'ECPRI_RT_CONTROL_DATA'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1abe6f9630ee7939118e68d24d90434e0c'; + func-mem-ref-line = '133'; + func-mem-ref-name = 'xran_ecpri_hdr::ecpri_xtc_id'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__transport_8c_1ae834080139ba785f1a3ac5781bf2ec88'; + func-mem-ref-line = '65'; + func-mem-ref-name = 'xran_compose_cid'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1aa5d2447d17b81766e3843a60296446e3'; + func-mem-ref-line = '134'; + func-mem-ref-name = 'xran_ecpri_hdr::ecpri_seq_id'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1a2f25460e9a84fe459a874b8255ed4c71'; + func-mem-ref-line = '99'; + func-mem-ref-name = 'ecpri_seq_id::seq_id'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1aaf017ad0a1905951403eb33265ffbb4c'; + func-mem-ref-line = '100'; + func-mem-ref-name = 'ecpri_seq_id::sub_seq_id'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1a1f74b973e738bf357c470565a1256ef5'; + func-mem-ref-line = '101'; + func-mem-ref-name = 'ecpri_seq_id::e_bit'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__transport_8c_1a0f378609208ec66467c58f0702ced85c'; + func-mem-ref-line = '49'; + func-mem-ref-name = 'xran_get_ecpri_hdr_size'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__cp__api_8c_1af9eb550e92ea270af41b4b6bcda363db'; + func-mem-ref-line = '1381'; + func-mem-ref-name = 'xran_prepare_ctrl_pkt'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__transport_8h_1ad199c3f4bfa018f5d0846471206217d1'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_parse_ecpri_hdr'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mbuf * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'mbuf'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_ecpri_hdr ** +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'ecpri_hdr'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_recv_packet_info * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'pkt_info'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_transport.h'; + func-mem-desc-line = '69'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Parse ECPRI header. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@param mbuf + The pointer of the packet buffer to be parsed +@param ecpri_hdr + The pointer to ECPRI header +@param pkt_info + The pointer of sturcture to store the information from header +@return + XRAN_STATUS_SUCCESS on success + XRAN_STATUS_INVALID_PACKET if failed to parse the packet +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__printf_8h_1a16c2c0a30b31515830a4a8eff6cf10b5'; + func-mem-ref-line = '62'; + func-mem-ref-name = 'print_err'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a6602a966370956b35631e68698539cac'; + func-mem-ref-line = '92'; + func-mem-ref-name = 'XRAN_STATUS_INVALID_PACKET'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__fh__o__du_8h_1a814959a7b5ff6cd4474433f62312eee0'; + func-mem-ref-line = '54'; + func-mem-ref-name = 'XRAN_STATUS_SUCCESS'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1aa8e98bf0d1f79b3e67a5e27b063c6251'; + func-mem-ref-line = '61'; + func-mem-ref-name = 'XRAN_ECPRI_VER'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__transport_8h_1af75754cde2a3f5b9a770a31adb61fcbf'; + func-mem-ref-line = '48'; + func-mem-ref-name = 'xran_recv_packet_info::ecpri_version'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__transport_8h_1a3e9be941593e594f0aece9b7f223d757'; + func-mem-ref-line = '49'; + func-mem-ref-name = 'xran_recv_packet_info::msg_type'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__transport_8h_1abfeae9f0b773fefda3b80b9ca41d3ff6'; + func-mem-ref-line = '50'; + func-mem-ref-name = 'xran_recv_packet_info::payload_len'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__transport_8h_1ad03f3906ca027603299130f471bbdfe3'; + func-mem-ref-line = '52'; + func-mem-ref-name = 'xran_recv_packet_info::seq_id'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__transport_8h_1a860ee826897d09d78f35d2b15085efac'; + func-mem-ref-line = '53'; + func-mem-ref-name = 'xran_recv_packet_info::subseq_id'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__transport_8h_1afc198efda3f50db2a5cae3c738528dd9'; + func-mem-ref-line = '54'; + func-mem-ref-name = 'xran_recv_packet_info::ebit'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__transport_8c_1ab08a85b6527f45a9ba22d25061a96a3c'; + func-mem-ref-line = '89'; + func-mem-ref-name = 'xran_decompose_cid'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__transport_8h_1acd06407a6718be7fc0ed0b9bf6b9e4c3'; + func-mem-ref-line = '51'; + func-mem-ref-name = 'xran_recv_packet_info::eaxc'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__cp__api_8c_1a38c83cd67a7265920f3bd0b36510f713'; + func-mem-ref-line = '1749'; + func-mem-ref-name = 'xran_parse_cp_pkt'; + }; + }; /* func-member */ + }; + file-full-name = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_transport.h'; + file-first-line = '1'; + file-briefdesc = <<_EnD_oF_dEf_TeXt_ +This file provides the definitions for Transport layer (eCPRI) API. +_EnD_oF_dEf_TeXt_; + file-documentation = <<_EnD_oF_dEf_TeXt_ +@author Intel Corporation +_EnD_oF_dEf_TeXt_; +}; /* file */ +file = { + file-id = 'xran__ul__tables_8c'; + file-name = 'xran_ul_tables.c'; + var = { + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__ul__tables_8c_1a5edf7a402993c76a3a27bee4f390d38c'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +const xRANPrachConfigTableStruct +_EnD_oF_dEf_TeXt_; + var-mem-name = 'gxranPrachDataTable_sub6_fdd'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += +{ + { 0, { 0 }, 16, { 1 }, { 1 }, 1, 0, 0, 0, 0 }, + { 1, { 0 }, 16, { 1 }, { 4 }, 1, 0, 0, 0, 0 }, + { 2, { 0 }, 16, { 1 }, { 7 }, 1, 0, 0, 0, 0 }, + { 3, { 0 }, 16, { 1 }, { 9 }, 1, 0, 0, 0, 0 }, + { 4, { 0 }, 8, { 1 }, { 1 }, 1, 0, 0, 0, 0 }, + { 5, { 0 }, 8, { 1 }, { 4 }, 1, 0, 0, 0, 0 }, + { 6, { 0 }, 8, { 1 }, { 7 }, 1, 0, 0, 0, 0 }, + { 7, { 0 }, 8, { 1 }, { 9 }, 1, 0, 0, 0, 0 }, + { 8, { 0 }, 4, { 1 }, { 1 }, 1, 0, 0, 0, 0 }, + { 9, { 0 }, 4, { 1 }, { 4 }, 1, 0, 0, 0, 0 }, + { 10, { 0 }, 4, { 1 }, { 7 }, 1, 0, 0, 0, 0 }, + { 11, { 0 }, 4, { 1 }, { 9 }, 1, 0, 0, 0, 0 }, + { 12, { 0 }, 2, { 1 }, { 1 }, 1, 0, 0, 0, 0 }, + { 13, { 0 }, 2, { 1 }, { 4 }, 1, 0, 0, 0, 0 }, + { 14, { 0 }, 2, { 1 }, { 7 }, 1, 0, 0, 0, 0 }, + { 15, { 0 }, 2, { 1 }, { 9 }, 1, 0, 0, 0, 0 }, + { 16, { 0 }, 1, { 0 }, { 1 }, 1, 0, 0, 0, 0 }, + { 17, { 0 }, 1, { 0 }, { 4 }, 1, 0, 0, 0, 0 }, + { 18, { 0 }, 1, { 0 }, { 7 }, 1, 0, 0, 0, 0 }, + { 19, { 0 }, 1, { 0 }, { 1, 6 }, 2, 0, 0, 0, 0 }, + { 20, { 0 }, 1, { 0 }, { 2, 7 }, 2, 0, 0, 0, 0 }, + { 21, { 0 }, 1, { 0 }, { 3, 8 }, 2, 0, 0, 0, 0 }, + { 22, { 0 }, 1, { 0 }, { 1, 4, 7 }, 3, 0, 0, 0, 0 }, + { 23, { 0 }, 1, { 0 }, { 2, 5, 8 }, 3, 0, 0, 0, 0 }, + { 24, { 0 }, 1, { 0 }, { 3, 6, 9 }, 3, 0, 0, 0, 0 }, + { 25, { 0 }, 1, { 0 }, { 0, 2, 4, 6, 8 }, 5, 0, 0, 0, 0 }, + { 26, { 0 }, 1, { 0 }, { 1, 3, 5, 7, 9 }, 5, 0, 0, 0, 0 }, + { 27, { 0 }, 1, { 0 }, { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }, 10, 0, 0, 0, 0 }, + { 28, { 1 }, 16, { 1 }, { 1 }, 1, 0, 0, 0, 0 }, + { 29, { 1 }, 16, { 1 }, { 4 }, 1, 0, 0, 0, 0 }, + { 30, { 1 }, 16, { 1 }, { 7 }, 1, 0, 0, 0, 0 }, + { 31, { 1 }, 16, { 1 }, { 9 }, 1, 0, 0, 0, 0 }, + { 32, { 1 }, 8, { 1 }, { 1 }, 1, 0, 0, 0, 0 }, + { 33, { 1 }, 8, { 1 }, { 4 }, 1, 0, 0, 0, 0 }, + { 34, { 1 }, 8, { 1 }, { 7 }, 1, 0, 0, 0, 0 }, + { 35, { 1 }, 8, { 1 }, { 9 }, 1, 0, 0, 0, 0 }, + { 36, { 1 }, 4, { 1 }, { 1 }, 1, 0, 0, 0, 0 }, + { 37, { 1 }, 4, { 1 }, { 4 }, 1, 0, 0, 0, 0 }, + { 38, { 1 }, 4, { 1 }, { 7 }, 1, 0, 0, 0, 0 }, + { 39, { 1 }, 4, { 1 }, { 9 }, 1, 0, 0, 0, 0 }, + { 40, { 1 }, 2, { 1 }, { 1 }, 1, 0, 0, 0, 0 }, + { 41, { 1 }, 2, { 1 }, { 4 }, 1, 0, 0, 0, 0 }, + { 42, { 1 }, 2, { 1 }, { 7 }, 1, 0, 0, 0, 0 }, + { 43, { 1 }, 2, { 1 }, { 9 }, 1, 0, 0, 0, 0 }, + { 44, { 1 }, 1, { 0 }, { 1 }, 1, 0, 0, 0, 0 }, + { 45, { 1 }, 1, { 0 }, { 4 }, 1, 0, 0, 0, 0 }, + { 46, { 1 }, 1, { 0 }, { 9 }, 1, 0, 0, 0, 0 }, + { 47, { 1 }, 1, { 0 }, { 1, 6 }, 2, 0, 0, 0, 0 }, + { 48, { 1 }, 1, { 0 }, { 2, 7 }, 2, 0, 0, 0, 0 }, + { 49, { 1 }, 1, { 0 }, { 3, 8 }, 2, 0, 0, 0, 0 }, + { 50, { 1 }, 1, { 0 }, { 1, 4, 7 }, 3, 0, 0, 0, 0 }, + { 51, { 1 }, 1, { 0 }, { 2, 5, 8 }, 3, 0, 0, 0, 0 }, + { 52, { 1 }, 1, { 0 }, { 3, 6, 9 }, 3, 0, 0, 0, 0 }, + { 53, { 2 }, 16, { 1 }, { 1 }, 1, 0, 0, 0, 0 }, + { 54, { 2 }, 8, { 1 }, { 1 }, 1, 0, 0, 0, 0 }, + { 55, { 2 }, 4, { 0 }, { 1 }, 1, 0, 0, 0, 0 }, + { 56, { 2 }, 2, { 0 }, { 1 }, 1, 0, 0, 0, 0 }, + { 57, { 2 }, 2, { 0 }, { 5 }, 1, 0, 0, 0, 0 }, + { 58, { 2 }, 1, { 0 }, { 1 }, 1, 0, 0, 0, 0 }, + { 59, { 2 }, 1, { 0 }, { 5 }, 1, 0, 0, 0, 0 }, + { 60, { 3 }, 16, { 1 }, { 1 }, 1, 0, 0, 0, 0 }, + { 61, { 3 }, 16, { 1 }, { 4 }, 1, 0, 0, 0, 0 }, + { 62, { 3 }, 16, { 1 }, { 7 }, 1, 0, 0, 0, 0 }, + { 63, { 3 }, 16, { 1 }, { 9 }, 1, 0, 0, 0, 0 }, + { 64, { 3 }, 8, { 1 }, { 1 }, 1, 0, 0, 0, 0 }, + { 65, { 3 }, 8, { 1 }, { 4 }, 1, 0, 0, 0, 0 }, + { 66, { 3 }, 8, { 1 }, { 7 }, 1, 0, 0, 0, 0 }, + { 67, { 3 }, 8, { 1 }, { 1 }, 1, 0, 0, 0, 0 }, + { 68, { 3 }, 4, { 1 }, { 4 }, 1, 0, 0, 0, 0 }, + { 69, { 3 }, 4, { 1 }, { 7 }, 1, 0, 0, 0, 0 }, + { 70, { 3 }, 4, { 1 }, { 9 }, 1, 0, 0, 0, 0 }, + { 71, { 3 }, 4, { 1 }, { 1 }, 1, 0, 0, 0, 0 }, + { 72, { 3 }, 2, { 1 }, { 4 }, 1, 0, 0, 0, 0 }, + { 73, { 3 }, 2, { 1 }, { 7 }, 1, 0, 0, 0, 0 }, + { 74, { 3 }, 2, { 1 }, { 9 }, 1, 0, 0, 0, 0 }, + { 75, { 3 }, 2, { 0 }, { 1 }, 1, 0, 0, 0, 0 }, + { 76, { 3 }, 1, { 0 }, { 4 }, 1, 0, 0, 0, 0 }, + { 77, { 3 }, 1, { 0 }, { 7 }, 1, 0, 0, 0, 0 }, + { 78, { 3 }, 1, { 0 }, { 1, 6 }, 2, 0, 0, 0, 0 }, + { 79, { 3 }, 1, { 0 }, { 2, 7 }, 2, 0, 0, 0, 0 }, + { 80, { 3 }, 1, { 0 }, { 3, 8 }, 2, 0, 0, 0, 0 }, + { 81, { 3 }, 1, { 0 }, { 1, 4, 7 }, 3, 0, 0, 0, 0 }, + { 82, { 3 }, 1, { 0 }, { 2, 5, 8 }, 3, 0, 0, 0, 0 }, + { 83, { 3 }, 1, { 0 }, { 3, 6, 9 }, 3, 0, 0, 0, 0 }, + { 84, { 3 }, 1, { 0 }, { 0, 2, 4, 6, 8 }, 5, 0, 0, 0, 0 }, + { 85, { 3 }, 1, { 0 }, { 1, 3, 5, 7, 9 }, 5, 0, 0, 0, 0 }, + { 86, { 3 }, 1, { 0 }, { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }, 10, 0, 0, 0, 0 }, + { 87, { FORMAT_A1 }, 16, { 0 }, { 4, 9 }, 2, 0, 1, 6, 2 }, + { 88, { FORMAT_A1 }, 16, { 1 }, { 4 }, 1, 0, 2, 6, 2 }, + { 89, { FORMAT_A1 }, 8, { 0 }, { 4, 9 }, 2, 0, 1, 6, 2 }, + { 90, { FORMAT_A1 }, 8, { 1 }, { 4 }, 1, 0, 2, 6, 2 }, + { 91, { FORMAT_A1 }, 4, { 0 }, { 4, 9 }, 2, 0, 1, 6, 2 }, + { 92, { FORMAT_A1 }, 4, { 1 }, { 4, 9 }, 2, 0, 1, 6, 2 }, + { 93, { FORMAT_A1 }, 4, { 0 }, { 4 }, 1, 0, 2, 6, 2 }, + { 94, { FORMAT_A1 }, 2, { 0 }, { 4, 9 }, 2, 0, 1, 6, 2 }, + { 95, { FORMAT_A1 }, 2, { 0 }, { 1 }, 1, 0, 2, 6, 2 }, + { 96, { FORMAT_A1 }, 2, { 0 }, { 4 }, 1, 0, 2, 6, 2 }, + { 97, { FORMAT_A1 }, 2, { 0 }, { 7 }, 1, 0, 2, 6, 2 }, + { 98, { FORMAT_A1 }, 1, { 0 }, { 4 }, 1, 0, 1, 6, 2 }, + { 99, { FORMAT_A1 }, 1, { 0 }, { 1, 6 }, 2, 0, 1, 6, 2 }, + { 100, { FORMAT_A1 }, 1, { 0 }, { 4, 9 }, 2, 0, 1, 6, 2 }, + { 101, { FORMAT_A1 }, 1, { 0 }, { 1 }, 1, 0, 2, 6, 2 }, + { 102, { FORMAT_A1 }, 1, { 0 }, { 7 }, 1, 0, 2, 6, 2 }, + { 103, { FORMAT_A1 }, 1, { 0 }, { 2, 7 }, 2, 0, 2, 6, 2 }, + { 104, { FORMAT_A1 }, 1, { 0 }, { 1, 4, 7 }, 3, 0, 2, 6, 2 }, + { 105, { FORMAT_A1 }, 1, { 0 }, { 0, 2, 4, 6, 8 }, 5, 0, 2, 6, 2 }, + { 106, { FORMAT_A1 }, 1, { 0 }, { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }, 10, 0, 2, 6, 2 }, + { 107, { FORMAT_A1 }, 1, { 0 }, { 1, 3, 5, 7, 9 }, 5, 0, 2, 6, 2 }, + { 108, { FORMAT_A1, FORMAT_B1 }, 2, { 0 }, { 4, 9 }, 2, 0, 1, 7, 2 }, + { 109, { FORMAT_A1, FORMAT_B1 }, 2, { 0 }, { 4 }, 1, 0, 2, 7, 2 }, + { 110, { FORMAT_A1, FORMAT_B1 }, 1, { 0 }, { 4 }, 1, 0, 1, 7, 2 }, + { 111, { FORMAT_A1, FORMAT_B1 }, 1, { 0 }, { 1, 6 }, 2, 0, 1, 7, 2 }, + { 112, { FORMAT_A1, FORMAT_B1 }, 1, { 0 }, { 4, 9 }, 2, 0, 1, 7, 2 }, + { 113, { FORMAT_A1, FORMAT_B1 }, 1, { 0 }, { 1 }, 1, 0, 2, 7, 2 }, + { 114, { FORMAT_A1, FORMAT_B1 }, 1, { 0 }, { 7 }, 1, 0, 2, 7, 2 }, + { 115, { FORMAT_A1, FORMAT_B1 }, 1, { 0 }, { 1, 4, 7 }, 3, 0, 2, 7, 2 }, + { 116, { FORMAT_A1, FORMAT_B1 }, 1, { 0 }, { 0, 2, 4, 6, 8 }, 5, 0, 2, 7, 2 }, + { 117, { FORMAT_A2 }, 16, { 1 }, { 2, 6, 9 }, 3, 0, 1, 3, 4 }, + { 118, { FORMAT_A2 }, 16, { 1 }, { 4 }, 1, 0, 2, 3, 4 }, + { 119, { FORMAT_A2 }, 8, { 1 }, { 2, 6, 9 }, 3, 0, 1, 3, 4 }, + { 120, { FORMAT_A2 }, 8, { 1 }, { 4 }, 1, 0, 2, 3, 4 }, + { 121, { FORMAT_A2 }, 4, { 0 }, { 2, 6, 9 }, 3, 0, 1, 3, 4 }, + { 122, { FORMAT_A2 }, 4, { 0 }, { 4 }, 1, 0, 2, 3, 4 }, + { 123, { FORMAT_A2 }, 2, { 1 }, { 2, 6, 9 }, 3, 0, 1, 3, 4 }, + { 124, { FORMAT_A2 }, 2, { 0 }, { 1 }, 1, 0, 2, 3, 4 }, + { 125, { FORMAT_A2 }, 2, { 0 }, { 4 }, 1, 0, 2, 3, 4 }, + { 126, { FORMAT_A2 }, 2, { 0 }, { 7 }, 1, 0, 2, 3, 4 }, + { 127, { FORMAT_A2 }, 1, { 0 }, { 4 }, 1, 0, 1, 3, 4 }, + { 128, { FORMAT_A2 }, 1, { 0 }, { 1, 6 }, 2, 0, 1, 3, 4 }, + { 129, { FORMAT_A2 }, 1, { 0 }, { 4, 9 }, 2, 0, 1, 3, 4 }, + { 130, { FORMAT_A2 }, 1, { 0 }, { 1 }, 1, 0, 2, 3, 4 }, + { 131, { FORMAT_A2 }, 1, { 0 }, { 7 }, 1, 0, 2, 3, 4 }, + { 132, { FORMAT_A2 }, 1, { 0 }, { 2, 7 }, 2, 0, 2, 3, 4 }, + { 133, { FORMAT_A2 }, 1, { 0 }, { 1, 4, 7 }, 3, 0, 2, 3, 4 }, + { 134, { FORMAT_A2 }, 1, { 0 }, { 0, 2, 4, 6, 8 }, 5, 0, 2, 3, 4 }, + { 135, { FORMAT_A2 }, 1, { 0 }, { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }, 10, 0, 2, 3, 4 }, + { 136, { FORMAT_A2 }, 1, { 0 }, { 1, 3, 5, 7, 9 }, 5, 0, 2, 3, 4 }, + { 137, { FORMAT_A2, FORMAT_B2 }, 2, { 1 }, { 2, 6, 9 }, 3, 0, 1, 3, 4 }, + { 138, { FORMAT_A2, FORMAT_B2 }, 2, { 0 }, { 4 }, 1, 0, 2, 3, 4 }, + { 139, { FORMAT_A2, FORMAT_B2 }, 1, { 0 }, { 4 }, 1, 0, 1, 3, 4 }, + { 140, { FORMAT_A2, FORMAT_B2 }, 1, { 0 }, { 1, 6 }, 2, 0, 1, 3, 4 }, + { 141, { FORMAT_A2, FORMAT_B2 }, 1, { 0 }, { 4, 9 }, 2, 0, 1, 3, 4 }, + { 142, { FORMAT_A2, FORMAT_B2 }, 1, { 0 }, { 1 }, 1, 0, 2, 3, 4 }, + { 143, { FORMAT_A2, FORMAT_B2 }, 1, { 0 }, { 7 }, 1, 0, 2, 3, 4 }, + { 144, { FORMAT_A2, FORMAT_B2 }, 1, { 0 }, { 1, 4, 7 }, 3, 0, 2, 3, 4 }, + { 145, { FORMAT_A2, FORMAT_B2 }, 1, { 0 }, { 0, 2, 4, 6, 8 }, 5, 0, 2, 3, 4 }, + { 146, { FORMAT_A2, FORMAT_B2 }, 1, { 0 }, { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }, 10, 0, 2, 3, 4 }, + { 147, { FORMAT_A3 }, 16, { 1 }, { 4, 9 }, 2, 0, 1, 2, 6 }, + { 148, { FORMAT_A3 }, 16, { 1 }, { 4 }, 1, 0, 2, 2, 6 }, + { 149, { FORMAT_A3 }, 8, { 1 }, { 4, 9 }, 2, 0, 1, 2, 6 }, + { 150, { FORMAT_A3 }, 8, { 1 }, { 4 }, 1, 0, 2, 2, 6 }, + { 151, { FORMAT_A3 }, 4, { 0 }, { 4, 9 }, 2, 0, 1, 2, 6 }, + { 152, { FORMAT_A3 }, 4, { 0 }, { 4 }, 1, 0, 2, 2, 6 }, + { 153, { FORMAT_A3 }, 2, { 1 }, { 2, 6, 9 }, 3, 0, 2, 2, 6 }, + { 154, { FORMAT_A3 }, 2, { 0 }, { 1 }, 1, 0, 2, 2, 6 }, + { 155, { FORMAT_A3 }, 2, { 0 }, { 4 }, 1, 0, 2, 2, 6 }, + { 156, { FORMAT_A3 }, 2, { 0 }, { 7 }, 1, 0, 2, 2, 6 }, + { 157, { FORMAT_A3 }, 1, { 0 }, { 4 }, 1, 0, 1, 2, 6 }, + { 158, { FORMAT_A3 }, 1, { 0 }, { 1, 6 }, 2, 0, 1, 2, 6 }, + { 159, { FORMAT_A3 }, 1, { 0 }, { 4, 9 }, 2, 0, 1, 2, 6 }, + { 160, { FORMAT_A3 }, 1, { 0 }, { 1 }, 1, 0, 2, 2, 6 }, + { 161, { FORMAT_A3 }, 1, { 0 }, { 7 }, 1, 0, 2, 2, 6 }, + { 162, { FORMAT_A3 }, 1, { 0 }, { 2, 7 }, 2, 0, 2, 2, 6 }, + { 163, { FORMAT_A3 }, 1, { 0 }, { 1, 4, 7 }, 3, 0, 2, 2, 6 }, + { 164, { FORMAT_A3 }, 1, { 0 }, { 0, 2, 4, 6, 8 }, 5, 0, 2, 2, 6 }, + { 165, { FORMAT_A3 }, 1, { 0 }, { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }, 10, 0, 2, 2, 6 }, + { 166, { FORMAT_A3 }, 1, { 0 }, { 1, 3, 5, 7, 9 }, 5, 0, 2, 2, 6 }, + { 167, { FORMAT_A3, FORMAT_B3 }, 2, { 1 }, { 2, 6, 9 }, 3, 0, 2, 2, 6 }, + { 168, { FORMAT_A3, FORMAT_B3 }, 2, { 0 }, { 4 }, 1, 0, 2, 2, 6 }, + { 169, { FORMAT_A3, FORMAT_B3 }, 1, { 0 }, { 4 }, 1, 0, 2, 2, 6 }, + { 170, { FORMAT_A3, FORMAT_B3 }, 1, { 0 }, { 1, 6 }, 2, 0, 1, 2, 6 }, + { 171, { FORMAT_A3, FORMAT_B3 }, 1, { 0 }, { 4, 9 }, 2, 0, 1, 2, 6 }, + { 172, { FORMAT_A3, FORMAT_B3 }, 1, { 0 }, { 1 }, 1, 0, 1, 2, 6 }, + { 173, { FORMAT_A3, FORMAT_B3 }, 1, { 0 }, { 7 }, 1, 0, 2, 2, 6 }, + { 174, { FORMAT_A3, FORMAT_B3 }, 1, { 0 }, { 1, 4, 7 }, 3, 0, 2, 2, 6 }, + { 175, { FORMAT_A3, FORMAT_B3 }, 1, { 0 }, { 0, 2, 4, 6, 8 }, 5, 0, 2, 2, 6 }, + { 176, { FORMAT_A3, FORMAT_B3 }, 1, { 0 }, { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }, 10, 0, 2, 2, 6 }, + { 177, { FORMAT_B1 }, 16, { 0 }, { 4, 9 }, 2, 0, 1, 7, 2 }, + { 178, { FORMAT_B1 }, 16, { 1 }, { 4 }, 1, 0, 2, 7, 2 }, + { 179, { FORMAT_B1 }, 8, { 0 }, { 4, 9 }, 2, 0, 1, 7, 2 }, + { 180, { FORMAT_B1 }, 8, { 1 }, { 4 }, 1, 0, 2, 7, 2 }, + { 181, { FORMAT_B1 }, 4, { 0 }, { 4, 9 }, 2, 0, 1, 7, 2 }, + { 182, { FORMAT_B1 }, 4, { 1 }, { 4, 9 }, 2, 0, 1, 7, 2 }, + { 183, { FORMAT_B1 }, 4, { 0 }, { 4 }, 1, 0, 2, 7, 2 }, + { 184, { FORMAT_B1 }, 2, { 0 }, { 4, 9 }, 2, 0, 1, 7, 2 }, + { 185, { FORMAT_B1 }, 2, { 0 }, { 1 }, 1, 0, 2, 7, 2 }, + { 186, { FORMAT_B1 }, 2, { 0 }, { 4 }, 1, 0, 2, 7, 2 }, + { 187, { FORMAT_B1 }, 2, { 0 }, { 7 }, 1, 0, 2, 7, 2 }, + { 188, { FORMAT_B1 }, 1, { 0 }, { 4 }, 1, 0, 1, 7, 2 }, + { 189, { FORMAT_B1 }, 1, { 0 }, { 1, 6 }, 2, 0, 1, 7, 2 }, + { 190, { FORMAT_B1 }, 1, { 0 }, { 4, 9 }, 2, 0, 1, 7, 2 }, + { 191, { FORMAT_B1 }, 1, { 0 }, { 1 }, 1, 0, 2, 7, 2 }, + { 192, { FORMAT_B1 }, 1, { 0 }, { 7 }, 1, 0, 2, 7, 2 }, + { 193, { FORMAT_B1 }, 1, { 0 }, { 2, 7 }, 2, 0, 2, 7, 2 }, + { 194, { FORMAT_B1 }, 1, { 0 }, { 1, 4, 7 }, 3, 0, 2, 7, 2 }, + { 195, { FORMAT_B1 }, 1, { 0 }, { 0, 2, 4, 6, 8 }, 5, 0, 2, 7, 2 }, + { 196, { FORMAT_B1 }, 1, { 0 }, { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }, 10, 0, 2, 7, 2 }, + { 197, { FORMAT_B1 }, 1, { 0 }, { 1, 3, 5, 7, 9 }, 5, 0, 2, 7, 12 }, + { 198, { FORMAT_B4 }, 16, { 0 }, { 4, 9 }, 2, 0, 2, 1, 12 }, + { 199, { FORMAT_B4 }, 16, { 1 }, { 4 }, 1, 0, 2, 1, 12 }, + { 200, { FORMAT_B4 }, 8, { 0 }, { 4, 9 }, 2, 0, 2, 1, 12 }, + { 201, { FORMAT_B4 }, 8, { 1 }, { 4 }, 1, 0, 2, 1, 12 }, + { 202, { FORMAT_B4 }, 4, { 0 }, { 4, 9 }, 2, 0, 2, 1, 12 }, + { 203, { FORMAT_B4 }, 4, { 0 }, { 4 }, 1, 0, 2, 1, 12 }, + { 204, { FORMAT_B4 }, 4, { 1 }, { 4, 9 }, 2, 0, 2, 1, 12 }, + { 205, { FORMAT_B4 }, 2, { 0 }, { 4, 9 }, 2, 0, 2, 1, 12 }, + { 206, { FORMAT_B4 }, 2, { 0 }, { 1 }, 1, 0, 2, 1, 12 }, + { 207, { FORMAT_B4 }, 2, { 0 }, { 4 }, 1, 0, 2, 1, 12 }, + { 208, { FORMAT_B4 }, 2, { 0 }, { 7 }, 1, 0, 2, 1, 12 }, + { 209, { FORMAT_B4 }, 1, { 0 }, { 1 }, 1, 0, 2, 1, 12 }, + { 210, { FORMAT_B4 }, 1, { 0 }, { 4 }, 1, 0, 2, 1, 12 }, + { 211, { FORMAT_B4 }, 1, { 0 }, { 7 }, 1, 0, 2, 1, 12 }, + { 212, { FORMAT_B4 }, 1, { 0 }, { 1, 6 }, 2, 0, 2, 1, 12 }, + { 213, { FORMAT_B4 }, 1, { 0 }, { 2, 7 }, 2, 0, 2, 1, 12 }, + { 214, { FORMAT_B4 }, 1, { 0 }, { 4, 9 }, 2, 0, 2, 1, 12 }, + { 215, { FORMAT_B4 }, 1, { 0 }, { 1, 4, 7 }, 3, 0, 2, 1, 12 }, + { 216, { FORMAT_B4 }, 1, { 0 }, { 0, 2, 4, 6, 8 }, 5, 0, 2, 1, 12 }, + { 217, { FORMAT_B4 }, 1, { 0 }, { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }, 10, 0, 2, 1, 12 }, + { 218, { FORMAT_B4 }, 1, { 0 }, { 1, 3, 5, 7, 9 }, 5, 0, 2, 1, 12 }, + { 219, { FORMAT_C0 }, 8, { 1 }, { 4 }, 1, 0, 2, 7, 2 }, + { 220, { FORMAT_C0 }, 4, { 1 }, { 4, 9 }, 2, 0, 1, 7, 2 }, + { 221, { FORMAT_C0 }, 4, { 0 }, { 4 }, 1, 0, 2, 7, 2 }, + { 222, { FORMAT_C0 }, 2, { 0 }, { 4, 9 }, 2, 0, 1, 7, 2 }, + { 223, { FORMAT_C0 }, 2, { 0 }, { 1 }, 1, 0, 2, 7, 2 }, + { 224, { FORMAT_C0 }, 2, { 0 }, { 4 }, 1, 0, 2, 7, 2 }, + { 225, { FORMAT_C0 }, 2, { 0 }, { 7 }, 1, 0, 2, 7, 2 }, + { 226, { FORMAT_C0 }, 1, { 0 }, { 4 }, 1, 0, 1, 7, 2 }, + { 227, { FORMAT_C0 }, 1, { 0 }, { 1, 6 }, 2, 0, 1, 7, 2 }, + { 228, { FORMAT_C0 }, 1, { 0 }, { 4, 9 }, 2, 0, 1, 7, 2 }, + { 229, { FORMAT_C0 }, 1, { 0 }, { 1 }, 1, 0, 2, 7, 2 }, + { 230, { FORMAT_C0 }, 1, { 0 }, { 7 }, 1, 0, 2, 7, 2 }, + { 231, { FORMAT_C0 }, 1, { 0 }, { 2, 7 }, 2, 0, 2, 7, 2 }, + { 232, { FORMAT_C0 }, 1, { 0 }, { 1, 4, 7 }, 3, 0, 2, 7, 2 }, + { 233, { FORMAT_C0 }, 1, { 0 }, { 0, 2, 4, 6, 8 }, 5, 0, 2, 7, 2 }, + { 234, { FORMAT_C0 }, 1, { 0 }, { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }, 10, 0, 2, 7, 2 }, + { 235, { FORMAT_C0 }, 1, { 0 }, { 1, 3, 5, 7, 9 }, 5, 0, 2, 7, 2 }, + { 236, { FORMAT_C2 }, 16, { 1 }, { 4, 9 }, 2, 0, 1, 2, 6 }, + { 237, { FORMAT_C2 }, 16, { 1 }, { 4 }, 1, 0, 2, 2, 6 }, + { 238, { FORMAT_C2 }, 8, { 1 }, { 4, 9 }, 2, 0, 1, 2, 6 }, + { 239, { FORMAT_C2 }, 8, { 1 }, { 4 }, 1, 0, 2, 2, 6 }, + { 240, { FORMAT_C2 }, 4, { 0 }, { 4, 9 }, 2, 0, 1, 2, 6 }, + { 241, { FORMAT_C2 }, 4, { 0 }, { 4 }, 1, 0, 2, 2, 6 }, + { 242, { FORMAT_C2 }, 2, { 1 }, { 2, 6, 9 }, 3, 0, 2, 2, 6 }, + { 243, { FORMAT_C2 }, 2, { 0 }, { 1 }, 1, 0, 2, 2, 6 }, + { 244, { FORMAT_C2 }, 2, { 0 }, { 4 }, 1, 0, 2, 2, 6 }, + { 245, { FORMAT_C2 }, 2, { 0 }, { 7 }, 1, 0, 2, 2, 6 }, + { 246, { FORMAT_C2 }, 1, { 0 }, { 4 }, 1, 0, 1, 2, 6 }, + { 247, { FORMAT_C2 }, 1, { 0 }, { 1, 6 }, 2, 0, 1, 2, 6 }, + { 248, { FORMAT_C2 }, 1, { 0 }, { 4, 9 }, 2, 0, 1, 2, 6 }, + { 249, { FORMAT_C2 }, 1, { 0 }, { 1 }, 1, 0, 2, 2, 6 }, + { 250, { FORMAT_C2 }, 1, { 0 }, { 7 }, 1, 0, 2, 2, 6 }, + { 251, { FORMAT_C2 }, 1, { 0 }, { 2, 7 }, 2, 0, 2, 2, 6 }, + { 252, { FORMAT_C2 }, 1, { 0 }, { 1, 4, 7 }, 3, 0, 2, 2, 6 }, + { 253, { FORMAT_C2 }, 1, { 0 }, { 0, 2, 4, 6, 8 }, 5, 0, 2, 2, 6 }, + { 254, { FORMAT_C2 }, 1, { 0 }, { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }, 10, 0, 2, 2, 6 }, + { 255, { FORMAT_C2 }, 1, { 0 }, { 1, 3, 5, 7, 9 }, 5, 0, 2, 2, 6 }, +} +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_ul_tables.c'; + var-mem-desc-line = '32'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-referenceby = { + var-mem-ref-id = 'xran__main_8c_1a00025c5bad7b7b6eea4374226f8c54bb'; + var-mem-ref-line = '308'; + var-mem-ref-name = 'xran_init_prach'; + }; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__ul__tables_8c_1a1c7c9fd55feeae30dc0b8502ef4cab03'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +const xRANPrachConfigTableStruct +_EnD_oF_dEf_TeXt_; + var-mem-name = 'gxranPrachDataTable_sub6_tdd'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += +{ + { 0, { 0 }, 16, { 1 }, { 9 }, 1, 0, 0, 0, 0 }, + { 1, { 0 }, 8, { 1 }, { 9 }, 1, 0, 0, 0, 0 }, + { 2, { 0 }, 4, { 1 }, { 9 }, 1, 0, 0, 0, 0 }, + { 3, { 0 }, 2, { 0 }, { 9 }, 1, 0, 0, 0, 0 }, + { 4, { 0 }, 2, { 1 }, { 9 }, 1, 0, 0, 0, 0 }, + { 5, { 0 }, 2, { 0 }, { 4 }, 1, 0, 0, 0, 0 }, + { 6, { 0 }, 2, { 1 }, { 4 }, 1, 0, 0, 0, 0 }, + { 7, { 0 }, 1, { 0 }, { 9 }, 1, 0, 0, 0, 0 }, + { 8, { 0 }, 1, { 0 }, { 8 }, 1, 0, 0, 0, 0 }, + { 9, { 0 }, 1, { 0 }, { 7 }, 1, 0, 0, 0, 0 }, + { 10, { 0 }, 1, { 0 }, { 6 }, 1, 0, 0, 0, 0 }, + { 11, { 0 }, 1, { 0 }, { 5 }, 1, 0, 0, 0, 0 }, + { 12, { 0 }, 1, { 0 }, { 4 }, 1, 0, 0, 0, 0 }, + { 13, { 0 }, 1, { 0 }, { 3 }, 1, 0, 0, 0, 0 }, + { 14, { 0 }, 1, { 0 }, { 2 }, 1, 0, 0, 0, 0 }, + { 15, { 0 }, 1, { 0 }, { 1, 6 }, 2, 0, 0, 0, 0 }, + { 16, { 0 }, 1, { 0 }, { 1, 6 }, 2, 7, 0, 0, 0 }, + { 17, { 0 }, 1, { 0 }, { 4, 9 }, 2, 0, 0, 0, 0 }, + { 18, { 0 }, 1, { 0 }, { 3, 8 }, 2, 0, 0, 0, 0 }, + { 19, { 0 }, 1, { 0 }, { 2, 7 }, 2, 0, 0, 0, 0 }, + { 20, { 0 }, 1, { 0 }, { 8, 9 }, 2, 0, 0, 0, 0 }, + { 21, { 0 }, 1, { 0 }, { 4, 8, 9 }, 3, 0, 0, 0, 0 }, + { 22, { 0 }, 1, { 0 }, { 3, 4, 9 }, 3, 0, 0, 0, 0 }, + { 23, { 0 }, 1, { 0 }, { 7, 8, 9 }, 3, 0, 0, 0, 0 }, + { 24, { 0 }, 1, { 0 }, { 3, 4, 8, 9 }, 4, 0, 0, 0, 0 }, + { 25, { 0 }, 1, { 0 }, { 6, 7, 8, 9 }, 4, 0, 0, 0, 0 }, + { 26, { 0 }, 1, { 0 }, { 1, 4, 6, 9 }, 4, 0, 0, 0, 0 }, + { 27, { 0 }, 1, { 0 }, { 1, 3, 5, 7, 9 }, 5, 0, 0, 0, 0 }, + { 28, { 1 }, 16, { 1 }, { 7 }, 1, 0, 0, 0, 0 }, + { 29, { 1 }, 8, { 1 }, { 7 }, 1, 0, 0, 0, 0 }, + { 30, { 1 }, 4, { 1 }, { 7 }, 1, 0, 0, 0, 0 }, + { 31, { 1 }, 2, { 0 }, { 7 }, 1, 0, 0, 0, 0 }, + { 32, { 1 }, 2, { 1 }, { 7 }, 1, 0, 0, 0, 0 }, + { 33, { 1 }, 1, { 0 }, { 7 }, 1, 0, 0, 0, 0 }, + { 34, { 2 }, 16, { 1 }, { 6 }, 1, 0, 0, 0, 0 }, + { 35, { 2 }, 8, { 1 }, { 6 }, 1, 0, 0, 0, 0 }, + { 36, { 2 }, 4, { 1 }, { 6 }, 1, 0, 0, 0, 0 }, + { 37, { 2 }, 2, { 0 }, { 6 }, 1, 7, 0, 0, 0 }, + { 38, { 2 }, 2, { 1 }, { 6 }, 1, 7, 0, 0, 0 }, + { 39, { 2 }, 1, { 0 }, { 6 }, 1, 7, 0, 0, 0 }, + { 40, { 3 }, 16, { 1 }, { 9 }, 1, 0, 0, 0, 0 }, + { 41, { 3 }, 8, { 1 }, { 9 }, 1, 0, 0, 0, 0 }, + { 42, { 3 }, 4, { 1 }, { 9 }, 1, 0, 0, 0, 0 }, + { 43, { 3 }, 2, { 0 }, { 9 }, 1, 0, 0, 0, 0 }, + { 44, { 3 }, 2, { 1 }, { 9 }, 1, 0, 0, 0, 0 }, + { 45, { 3 }, 2, { 0 }, { 4 }, 1, 0, 0, 0, 0 }, + { 46, { 3 }, 2, { 1 }, { 4 }, 1, 0, 0, 0, 0 }, + { 47, { 3 }, 1, { 0 }, { 9 }, 1, 0, 0, 0, 0 }, + { 48, { 3 }, 1, { 0 }, { 8 }, 1, 0, 0, 0, 0 }, + { 49, { 3 }, 1, { 0 }, { 7 }, 1, 0, 0, 0, 0 }, + { 50, { 3 }, 1, { 0 }, { 6 }, 1, 0, 0, 0, 0 }, + { 51, { 3 }, 1, { 0 }, { 5 }, 1, 0, 0, 0, 0 }, + { 52, { 3 }, 1, { 0 }, { 4 }, 1, 0, 0, 0, 0 }, + { 53, { 3 }, 1, { 0 }, { 3 }, 1, 0, 0, 0, 0 }, + { 54, { 3 }, 1, { 0 }, { 2 }, 1, 0, 0, 0, 0 }, + { 55, { 3 }, 1, { 0 }, { 1, 6 }, 2, 0, 0, 0, 0 }, + { 56, { 3 }, 1, { 0 }, { 1, 6 }, 2, 7, 0, 0, 0 }, + { 57, { 3 }, 1, { 0 }, { 4, 9 }, 2, 0, 0, 0, 0 }, + { 58, { 3 }, 1, { 0 }, { 3, 8 }, 2, 0, 0, 0, 0 }, + { 59, { 3 }, 1, { 0 }, { 2, 7 }, 2, 0, 0, 0, 0 }, + { 60, { 3 }, 1, { 0 }, { 8, 9 }, 2, 0, 0, 0, 0 }, + { 61, { 3 }, 1, { 0 }, { 4, 8, 9 }, 3, 0, 0, 0, 0 }, + { 62, { 3 }, 1, { 0 }, { 3, 4, 9 }, 3, 0, 0, 0, 0 }, + { 63, { 3 }, 1, { 0 }, { 7, 8, 9 }, 3, 0, 0, 0, 0 }, + { 64, { 3 }, 1, { 0 }, { 3, 4, 8, 9 }, 4, 0, 0, 0, 0 }, + { 65, { 3 }, 1, { 0 }, { 1, 4, 6, 9 }, 4, 0, 0, 0, 0 }, + { 66, { 3 }, 1, { 0 }, { 1, 3, 5, 7, 9 }, 5, 0, 0, 0, 0 }, + { 67, { FORMAT_A1 }, 18, { 1 }, { 9 }, 1, 0, 2, 6, 2 }, + { 68, { FORMAT_A1 }, 8, { 1 }, { 9 }, 1, 0, 2, 6, 2 }, + { 69, { FORMAT_A1 }, 4, { 1 }, { 9 }, 1, 0, 1, 6, 2 }, + { 70, { FORMAT_A1 }, 2, { 1 }, { 9 }, 1, 0, 1, 6, 2 }, + { 71, { FORMAT_A1 }, 2, { 1 }, { 4, 9 }, 2, 7, 1, 3, 2 }, + { 72, { FORMAT_A1 }, 2, { 1 }, { 7, 9 }, 2, 7, 1, 3, 2 }, + { 73, { FORMAT_A1 }, 2, { 1 }, { 7, 9 }, 2, 0, 1, 6, 2 }, + { 74, { FORMAT_A1 }, 2, { 1 }, { 8, 9 }, 2, 0, 2, 6, 2 }, + { 75, { FORMAT_A1 }, 2, { 1 }, { 4, 9 }, 2, 0, 2, 6, 2 }, + { 76, { FORMAT_A1 }, 2, { 1 }, { 2, 3, 4, 7, 8, 9 }, 6, 0, 1, 6, 2 }, + { 77, { FORMAT_A1 }, 1, { 0 }, { 9 }, 1, 0, 2, 6, 2 }, + { 78, { FORMAT_A1 }, 1, { 0 }, { 9 }, 1, 7, 1, 3, 2 }, + { 79, { FORMAT_A1 }, 1, { 0 }, { 9 }, 1, 0, 1, 6, 2 }, + { 80, { FORMAT_A1 }, 1, { 0 }, { 8, 9 }, 2, 0, 2, 6, 2 }, + { 81, { FORMAT_A1 }, 1, { 0 }, { 4, 9 }, 2, 0, 1, 6, 2 }, + { 82, { FORMAT_A1 }, 1, { 0 }, { 7, 9 }, 2, 7, 1, 3, 2 }, + { 83, { FORMAT_A1 }, 1, { 0 }, { 3, 4, 8, 9 }, 4, 0, 1, 6, 2 }, + { 84, { FORMAT_A1 }, 1, { 0 }, { 3, 4, 8, 9 }, 4, 0, 2, 6, 2 }, + { 85, { FORMAT_A1 }, 1, { 0 }, { 1, 3, 5, 7, 9 }, 5, 0, 1, 6, 2 }, + { 86, { FORMAT_A1 }, 1, { 0 }, { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }, 10, 0, 1, 3, 2 }, + { 87, { FORMAT_A2 }, 16, { 1 }, { 9 }, 1, 0, 2, 3, 4 }, + { 88, { FORMAT_A2 }, 8, { 1 }, { 9 }, 1, 0, 2, 3, 4 }, + { 89, { FORMAT_A2 }, 4, { 1 }, { 9 }, 1, 0, 1, 3, 4 }, + { 90, { FORMAT_A2 }, 2, { 1 }, { 7, 9 }, 2, 0, 1, 3, 4 }, + { 91, { FORMAT_A2 }, 2, { 1 }, { 8, 9 }, 2, 0, 2, 3, 4 }, + { 92, { FORMAT_A2 }, 2, { 1 }, { 7, 9 }, 2, 9, 1, 1, 4 }, + { 93, { FORMAT_A2 }, 2, { 1 }, { 4, 9 }, 2, 9, 1, 1, 4 }, + { 94, { FORMAT_A2 }, 2, { 1 }, { 4, 9 }, 2, 0, 2, 3, 4 }, + { 95, { FORMAT_A2 }, 16, { 1 }, { 2, 3, 4, 7, 8, 9 }, 6, 0, 1, 3, 4 }, + { 96, { FORMAT_A2 }, 1, { 0 }, { 2 }, 1, 0, 1, 3, 4 }, + { 97, { FORMAT_A2 }, 1, { 0 }, { 9 }, 1, 0, 1, 3, 4 }, + { 98, { FORMAT_A2 }, 2, { 1 }, { 9 }, 1, 0, 1, 3, 4 }, + { 99, { FORMAT_A2 }, 1, { 0 }, { 9 }, 1, 0, 2, 3, 4 }, + { 100, { FORMAT_A2 }, 1, { 0 }, { 9 }, 1, 9, 1, 1, 4 }, + { 101, { FORMAT_A2 }, 1, { 0 }, { 9 }, 1, 0, 1, 3, 4 }, + { 102, { FORMAT_A2 }, 1, { 0 }, { 2, 7 }, 2, 0, 1, 3, 4 }, + { 103, { FORMAT_A2 }, 1, { 0 }, { 8, 9 }, 2, 0, 2, 3, 4 }, + { 104, { FORMAT_A2 }, 1, { 0 }, { 4, 9 }, 2, 0, 1, 3, 4 }, + { 105, { FORMAT_A2 }, 1, { 0 }, { 7, 9 }, 2, 9, 1, 1, 4 }, + { 106, { FORMAT_A2 }, 1, { 0 }, { 3, 4, 8, 9 }, 4, 0, 1, 3, 4 }, + { 107, { FORMAT_A2 }, 1, { 0 }, { 3, 4, 8, 9 }, 4, 0, 2, 3, 4 }, + { 108, { FORMAT_A2 }, 1, { 0 }, { 1, 3, 5, 7, 9 }, 5, 0, 1, 3, 4 }, + { 109, { FORMAT_A2 }, 1, { 0 }, { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }, 10, 9, 1, 1, 4 }, + { 110, { FORMAT_A3 }, 16, { 1 }, { 9 }, 1, 0, 2, 2, 6 }, + { 111, { FORMAT_A3 }, 8, { 1 }, { 9 }, 1, 0, 2, 2, 6 }, + { 112, { FORMAT_A3 }, 4, { 1 }, { 9 }, 1, 0, 1, 2, 6 }, + { 113, { FORMAT_A3 }, 2, { 1 }, { 4, 9 }, 2, 7, 1, 1, 6 }, + { 114, { FORMAT_A3 }, 2, { 1 }, { 7, 9 }, 2, 7, 1, 1, 6 }, + { 115, { FORMAT_A3 }, 2, { 1 }, { 7, 9 }, 2, 0, 1, 2, 6 }, + { 116, { FORMAT_A3 }, 2, { 1 }, { 4, 9 }, 2, 0, 2, 2, 6 }, + { 117, { FORMAT_A3 }, 2, { 1 }, { 8, 9 }, 2, 0, 2, 2, 6 }, + { 118, { FORMAT_A3 }, 2, { 1 }, { 2, 3, 4, 7, 8, 9 }, 6, 0, 1, 2, 6 }, + { 119, { FORMAT_A3 }, 1, { 0 }, { 2 }, 1, 0, 1, 2, 6 }, + { 120, { FORMAT_A3 }, 1, { 0 }, { 7 }, 1, 0, 1, 2, 6 }, + { 121, { FORMAT_A3 }, 2, { 1 }, { 9 }, 1, 0, 1, 2, 6 }, + { 122, { FORMAT_A3 }, 1, { 0 }, { 9 }, 1, 0, 2, 2, 6 }, + { 123, { FORMAT_A3 }, 1, { 0 }, { 9 }, 1, 7, 1, 1, 6 }, + { 124, { FORMAT_A3 }, 1, { 0 }, { 9 }, 1, 0, 1, 2, 6 }, + { 125, { FORMAT_A3 }, 1, { 0 }, { 2, 7 }, 2, 0, 1, 2, 6 }, + { 126, { FORMAT_A3 }, 1, { 0 }, { 8, 9 }, 2, 0, 2, 2, 6 }, + { 127, { FORMAT_A3 }, 1, { 0 }, { 4, 9 }, 2, 0, 1, 2, 6 }, + { 128, { FORMAT_A3 }, 1, { 0 }, { 7, 9 }, 2, 7, 1, 1, 6 }, + { 129, { FORMAT_A3 }, 1, { 0 }, { 3, 4, 8, 9 }, 4, 0, 1, 2, 6 }, + { 130, { FORMAT_A3 }, 1, { 0 }, { 3, 4, 8, 9 }, 4, 0, 2, 2, 6 }, + { 131, { FORMAT_A3 }, 1, { 0 }, { 1, 3, 5, 7, 9 }, 5, 0, 1, 2, 6 }, + { 132, { FORMAT_A3 }, 1, { 0 }, { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }, 10, 7, 1, 1, 6 }, + { 133, { FORMAT_B1 }, 4, { 1 }, { 9 }, 1, 2, 1, 6, 2 }, + { 134, { FORMAT_B1 }, 2, { 1 }, { 9 }, 1, 2, 1, 6, 2 }, + { 135, { FORMAT_B1 }, 2, { 1 }, { 7, 9 }, 2, 2, 1, 6, 2 }, + { 136, { FORMAT_B1 }, 2, { 1 }, { 4, 9 }, 2, 8, 1, 3, 2 }, + { 137, { FORMAT_B1 }, 2, { 1 }, { 4, 9 }, 2, 2, 2, 6, 2 }, + { 138, { FORMAT_B1 }, 1, { 0 }, { 9 }, 1, 2, 2, 6, 2 }, + { 139, { FORMAT_B1 }, 1, { 0 }, { 9 }, 1, 8, 1, 3, 2 }, + { 140, { FORMAT_B1 }, 1, { 0 }, { 9 }, 1, 2, 1, 6, 2 }, + { 141, { FORMAT_B1 }, 1, { 0 }, { 8, 9 }, 2, 2, 2, 6, 2 }, + { 142, { FORMAT_B1 }, 1, { 0 }, { 4, 9 }, 2, 2, 1, 6, 2 }, + { 143, { FORMAT_B1 }, 1, { 0 }, { 7, 9 }, 2, 8, 1, 3, 2 }, + { 144, { FORMAT_B1 }, 1, { 0 }, { 1, 3, 5, 7, 9 }, 5, 2, 1, 6, 2 }, + { 145, { FORMAT_B4 }, 16, { 1 }, { 9 }, 1, 0, 2, 1, 12 }, + { 146, { FORMAT_B4 }, 8, { 1 }, { 9 }, 1, 0, 2, 1, 12 }, + { 147, { FORMAT_B4 }, 4, { 1 }, { 9 }, 1, 2, 1, 1, 12 }, + { 148, { FORMAT_B4 }, 2, { 1 }, { 9 }, 1, 0, 1, 1, 12 }, + { 149, { FORMAT_B4 }, 2, { 1 }, { 9 }, 1, 2, 1, 1, 12 }, + { 150, { FORMAT_B4 }, 2, { 1 }, { 7, 9 }, 2, 2, 1, 1, 12 }, + { 151, { FORMAT_B4 }, 2, { 1 }, { 4, 9 }, 2, 2, 1, 1, 12 }, + { 152, { FORMAT_B4 }, 2, { 1 }, { 4, 9 }, 2, 0, 2, 1, 12 }, + { 153, { FORMAT_B4 }, 2, { 1 }, { 8, 9 }, 2, 0, 2, 1, 12 }, + { 154, { FORMAT_B4 }, 2, { 1 }, { 2, 3, 4, 7, 8, 9 }, 6, 0, 1, 1, 12 }, + { 155, { FORMAT_B4 }, 1, { 0 }, { 1 }, 1, 0, 1, 1, 12 }, + { 156, { FORMAT_B4 }, 1, { 0 }, { 2 }, 1, 0, 1, 1, 12 }, + { 157, { FORMAT_B4 }, 1, { 0 }, { 4 }, 1, 0, 1, 1, 12 }, + { 158, { FORMAT_B4 }, 1, { 0 }, { 7 }, 1, 0, 1, 1, 12 }, + { 159, { FORMAT_B4 }, 1, { 0 }, { 9 }, 1, 0, 1, 1, 12 }, + { 160, { FORMAT_B4 }, 1, { 0 }, { 9 }, 1, 2, 1, 1, 12 }, + { 161, { FORMAT_B4 }, 1, { 0 }, { 9 }, 1, 0, 2, 1, 12 }, + { 162, { FORMAT_B4 }, 1, { 0 }, { 4, 9 }, 2, 2, 1, 1, 12 }, + { 163, { FORMAT_B4 }, 1, { 0 }, { 7, 9 }, 2, 2, 1, 1, 12 }, + { 164, { FORMAT_B4 }, 1, { 0 }, { 8, 9 }, 2, 0, 2, 1, 12 }, + { 165, { FORMAT_B4 }, 1, { 0 }, { 3, 4, 8, 9 }, 4, 2, 1, 1, 12 }, + { 166, { FORMAT_B4 }, 1, { 0 }, { 1, 3, 5, 7, 9 }, 5, 2, 1, 1, 12 }, + { 167, { FORMAT_B4 }, 1, { 0 }, { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }, 10, 0, 2, 1, 12 }, + { 168, { FORMAT_B4 }, 1, { 0 }, { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }, 10, 2, 1, 1, 12 }, + { 169, { FORMAT_C0 }, 16, { 1 }, { 9 }, 1, 2, 2, 6, 2 }, + { 170, { FORMAT_C0 }, 8, { 1 }, { 9 }, 1, 2, 2, 6, 2 }, + { 171, { FORMAT_C0 }, 4, { 1 }, { 9 }, 1, 2, 1, 6, 2 }, + { 172, { FORMAT_C0 }, 2, { 1 }, { 9 }, 1, 2, 1, 6, 2 }, + { 173, { FORMAT_C0 }, 2, { 1 }, { 8, 9 }, 2, 2, 2, 6, 2 }, + { 174, { FORMAT_C0 }, 2, { 1 }, { 7, 9 }, 2, 2, 1, 6, 2 }, + { 175, { FORMAT_C0 }, 2, { 1 }, { 7, 9 }, 2, 8, 1, 3, 2 }, + { 176, { FORMAT_C0 }, 2, { 1 }, { 4, 9 }, 2, 8, 1, 3, 2 }, + { 177, { FORMAT_C0 }, 2, { 1 }, { 4, 9 }, 2, 2, 2, 6, 2 }, + { 178, { FORMAT_C0 }, 2, { 1 }, { 2, 3, 4, 7, 8, 9 }, 6, 2, 1, 6, 2 }, + { 179, { FORMAT_C0 }, 1, { 0 }, { 9 }, 1, 2, 2, 6, 2 }, + { 180, { FORMAT_C0 }, 1, { 0 }, { 9 }, 1, 8, 1, 3, 2 }, + { 181, { FORMAT_C0 }, 1, { 0 }, { 9 }, 1, 2, 1, 6, 2 }, + { 182, { FORMAT_C0 }, 1, { 0 }, { 8, 9 }, 2, 2, 2, 6, 2 }, + { 183, { FORMAT_C0 }, 1, { 0 }, { 4, 9 }, 2, 2, 1, 6, 2 }, + { 184, { FORMAT_C0 }, 1, { 0 }, { 7, 9 }, 2, 8, 1, 3, 2 }, + { 185, { FORMAT_C0 }, 1, { 0 }, { 3, 4, 8, 9 }, 4, 2, 1, 6, 2 }, + { 186, { FORMAT_C0 }, 1, { 0 }, { 3, 4, 8, 9 }, 4, 2, 2, 6, 2 }, + { 187, { FORMAT_C0 }, 1, { 0 }, { 1, 3, 5, 7, 9 }, 5, 2, 1, 6, 2 }, + { 188, { FORMAT_C0 }, 1, { 0 }, { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }, 10, 8, 1, 3, 2 }, + { 189, { FORMAT_C2 }, 16, { 1 }, { 9 }, 1, 2, 2, 2, 6 }, + { 190, { FORMAT_C2 }, 8, { 1 }, { 9 }, 1, 2, 2, 2, 6 }, + { 191, { FORMAT_C2 }, 4, { 1 }, { 9 }, 1, 2, 1, 2, 6 }, + { 192, { FORMAT_C2 }, 2, { 1 }, { 9 }, 1, 2, 1, 2, 6 }, + { 193, { FORMAT_C2 }, 2, { 1 }, { 8, 9 }, 2, 2, 2, 2, 6 }, + { 194, { FORMAT_C2 }, 2, { 1 }, { 7, 9 }, 2, 2, 1, 2, 6 }, + { 195, { FORMAT_C2 }, 2, { 1 }, { 7, 9 }, 2, 8, 1, 1, 6 }, + { 196, { FORMAT_C2 }, 2, { 1 }, { 4, 9 }, 2, 8, 1, 1, 6 }, + { 197, { FORMAT_C2 }, 2, { 1 }, { 4, 9 }, 2, 2, 2, 2, 6 }, + { 198, { FORMAT_C2 }, 2, { 1 }, { 2, 3, 4, 7, 8, 9 }, 6, 2, 1, 2, 6 }, + { 199, { FORMAT_C2 }, 8, { 1 }, { 9 }, 1, 8, 2, 1, 6 }, + { 200, { FORMAT_C2 }, 4, { 1 }, { 9 }, 1, 8, 1, 1, 6 }, + { 201, { FORMAT_C2 }, 1, { 0 }, { 9 }, 1, 2, 2, 2, 6 }, + { 202, { FORMAT_C2 }, 1, { 0 }, { 9 }, 1, 8, 1, 1, 6 }, + { 203, { FORMAT_C2 }, 1, { 0 }, { 9 }, 1, 2, 1, 2, 6 }, + { 204, { FORMAT_C2 }, 1, { 0 }, { 8, 9 }, 2, 2, 2, 2, 6 }, + { 205, { FORMAT_C2 }, 1, { 0 }, { 4, 9 }, 2, 2, 1, 2, 6 }, + { 206, { FORMAT_C2 }, 1, { 0 }, { 7, 9 }, 2, 8, 1, 1, 6 }, + { 207, { FORMAT_C2 }, 1, { 0 }, { 3, 4, 8, 9 }, 4, 2, 1, 2, 6 }, + { 208, { FORMAT_C2 }, 1, { 0 }, { 3, 4, 8, 9 }, 4, 2, 2, 2, 6 }, + { 209, { FORMAT_C2 }, 1, { 0 }, { 1, 3, 5, 7, 9 }, 5, 2, 1, 2, 6 }, + { 210, { FORMAT_C2 }, 1, { 0 }, { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }, 10, 8, 1, 1, 6 }, + { 211, { FORMAT_A1, FORMAT_B1 }, 2, { 1 }, { 9 }, 1, 2, 1, 6, 2 }, + { 212, { FORMAT_A1, FORMAT_B1 }, 2, { 1 }, { 4, 9 }, 2, 8, 1, 3, 2 }, + { 213, { FORMAT_A1, FORMAT_B1 }, 2, { 1 }, { 7, 9 }, 2, 8, 1, 3, 2 }, + { 214, { FORMAT_A1, FORMAT_B1 }, 2, { 1 }, { 7, 9 }, 2, 2, 1, 6, 2 }, + { 215, { FORMAT_A1, FORMAT_B1 }, 2, { 1 }, { 4, 9 }, 2, 2, 2, 6, 2 }, + { 216, { FORMAT_A1, FORMAT_B1 }, 2, { 1 }, { 8, 9 }, 2, 2, 2, 6, 2 }, + { 217, { FORMAT_A1, FORMAT_B1 }, 1, { 0 }, { 9 }, 1, 2, 2, 6, 2 }, + { 218, { FORMAT_A1, FORMAT_B1 }, 1, { 0 }, { 9 }, 1, 8, 1, 3, 2 }, + { 219, { FORMAT_A1, FORMAT_B1 }, 1, { 0 }, { 9 }, 1, 2, 1, 6, 2 }, + { 220, { FORMAT_A1, FORMAT_B1 }, 1, { 0 }, { 8, 9 }, 2, 2, 2, 6, 2 }, + { 221, { FORMAT_A1, FORMAT_B1 }, 1, { 0 }, { 4, 9 }, 2, 2, 1, 6, 2 }, + { 222, { FORMAT_A1, FORMAT_B1 }, 1, { 0 }, { 7, 9 }, 2, 8, 1, 3, 2 }, + { 223, { FORMAT_A1, FORMAT_B1 }, 1, { 0 }, { 3, 4, 8, 9 }, 4, 2, 2, 6, 2 }, + { 224, { FORMAT_A1, FORMAT_B1 }, 1, { 0 }, { 1, 3, 5, 7, 9 }, 5, 2, 1, 6, 2 }, + { 225, { FORMAT_A1, FORMAT_B1 }, 1, { 0 }, { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }, 10, 8, 1, 3, 2 }, + { 226, { FORMAT_A2, FORMAT_B2 }, 2, { 1 }, { 9 }, 1, 0, 1, 3, 4 }, + { 227, { FORMAT_A2, FORMAT_B2 }, 2, { 1 }, { 4, 9 }, 2, 6, 1, 2, 4 }, + { 228, { FORMAT_A2, FORMAT_B2 }, 2, { 1 }, { 7, 9 }, 2, 6, 1, 2, 4 }, + { 229, { FORMAT_A2, FORMAT_B2 }, 2, { 1 }, { 4, 9 }, 2, 0, 2, 3, 4 }, + { 230, { FORMAT_A2, FORMAT_B2 }, 2, { 1 }, { 8, 9 }, 2, 0, 2, 3, 4 }, + { 231, { FORMAT_A2, FORMAT_B2 }, 1, { 0 }, { 9 }, 1, 0, 2, 3, 4 }, + { 232, { FORMAT_A2, FORMAT_B2 }, 1, { 0 }, { 9 }, 1, 6, 1, 2, 4 }, + { 233, { FORMAT_A2, FORMAT_B2 }, 1, { 0 }, { 9 }, 1, 0, 1, 3, 4 }, + { 234, { FORMAT_A2, FORMAT_B2 }, 1, { 0 }, { 8, 9 }, 2, 0, 2, 3, 4 }, + { 235, { FORMAT_A2, FORMAT_B2 }, 1, { 0 }, { 4, 9 }, 2, 0, 1, 3, 4 }, + { 236, { FORMAT_A2, FORMAT_B2 }, 1, { 0 }, { 7, 9 }, 2, 6, 1, 2, 4 }, + { 237, { FORMAT_A2, FORMAT_B2 }, 1, { 0 }, { 3, 4, 8, 9 }, 4, 0, 1, 3, 4 }, + { 238, { FORMAT_A2, FORMAT_B2 }, 1, { 0 }, { 3, 4, 8, 9 }, 4, 0, 2, 3, 4 }, + { 239, { FORMAT_A2, FORMAT_B2 }, 1, { 0 }, { 1, 3, 5, 7, 9 }, 5, 0, 1, 3, 4 }, + { 240, { FORMAT_A2, FORMAT_B2 }, 1, { 0 }, { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }, 10, 6, 1, 2, 4 }, + { 241, { FORMAT_A3, FORMAT_B3 }, 2, { 1 }, { 9 }, 1, 0, 1, 2, 6 }, + { 242, { FORMAT_A3, FORMAT_B3 }, 2, { 1 }, { 4, 9 }, 2, 2, 1, 2, 6 }, + { 243, { FORMAT_A3, FORMAT_B3 }, 2, { 1 }, { 7, 9 }, 2, 0, 1, 2, 6 }, + { 244, { FORMAT_A3, FORMAT_B3 }, 2, { 1 }, { 7, 9 }, 2, 2, 1, 2, 6 }, + { 245, { FORMAT_A3, FORMAT_B3 }, 2, { 1 }, { 4, 9 }, 2, 0, 2, 2, 6 }, + { 246, { FORMAT_A3, FORMAT_B3 }, 2, { 1 }, { 8, 9 }, 2, 0, 2, 2, 6 }, + { 247, { FORMAT_A3, FORMAT_B3 }, 1, { 0 }, { 9 }, 1, 0, 2, 2, 6 }, + { 248, { FORMAT_A3, FORMAT_B3 }, 1, { 0 }, { 9 }, 1, 2, 1, 2, 6 }, + { 249, { FORMAT_A3, FORMAT_B3 }, 1, { 0 }, { 9 }, 1, 0, 1, 2, 6 }, + { 250, { FORMAT_A3, FORMAT_B3 }, 1, { 0 }, { 8, 9 }, 2, 0, 2, 2, 6 }, + { 251, { FORMAT_A3, FORMAT_B3 }, 1, { 0 }, { 4, 9 }, 2, 0, 1, 2, 6 }, + { 252, { FORMAT_A3, FORMAT_B3 }, 1, { 0 }, { 7, 9 }, 2, 2, 1, 2, 6 }, + { 253, { FORMAT_A3, FORMAT_B3 }, 1, { 0 }, { 3, 4, 8, 9 }, 3, 0, 2, 2, 6 }, + { 254, { FORMAT_A3, FORMAT_B3 }, 1, { 0 }, { 1, 3, 5, 7, 9 }, 5, 0, 1, 2, 6 }, + { 255, { FORMAT_A3, FORMAT_B3 }, 1, { 0 }, { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }, 10, 2, 1, 2, 6 }, +} +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_ul_tables.c'; + var-mem-desc-line = '292'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-referenceby = { + var-mem-ref-id = 'xran__main_8c_1a00025c5bad7b7b6eea4374226f8c54bb'; + var-mem-ref-line = '308'; + var-mem-ref-name = 'xran_init_prach'; + }; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__ul__tables_8c_1ac7439428a0fb0c1782323193707965f6'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +const xRANPrachConfigTableStruct +_EnD_oF_dEf_TeXt_; + var-mem-name = 'gxranPrachDataTable_mmw'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += +{ + { 0, { FORMAT_A1 }, 16, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 0, 2, 6, 2 }, + { 1, { FORMAT_A1 }, 16, { 1 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 0, 1, 6, 2 }, + { 2, { FORMAT_A1 }, 8, { 1, 2 }, { 9, 19, 29, 39 }, 4, 0, 2, 6, 2 }, + { 3, { FORMAT_A1 }, 8, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 0, 2, 6, 2 }, + { 4, { FORMAT_A1 }, 8, { 1 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 0, 1, 6, 2 }, + { 5, { FORMAT_A1 }, 4, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 0, 1, 6, 2 }, + { 6, { FORMAT_A1 }, 4, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 0, 2, 6, 2 }, + { 7, { FORMAT_A1 }, 4, { 1 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 0, 1, 6, 2 }, + { 8, { FORMAT_A1 }, 2, { 1 }, { 7, 15, 23, 31, 39 }, 5, 0, 2, 6, 2 }, + { 9, { FORMAT_A1 }, 2, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 0, 1, 6, 2 }, + { 10, { FORMAT_A1 }, 2, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 0, 2, 6, 2 }, + { 11, { FORMAT_A1 }, 2, { 1 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 0, 1, 6, 2 }, + { 12, { FORMAT_A1 }, 1, { 0 }, { 19, 39 }, 2, 7, 1, 3, 2 }, + { 13, { FORMAT_A1 }, 1, { 0 }, { 3, 5, 7 }, 2, 0, 1, 6, 2 }, + { 14, { FORMAT_A1 }, 1, { 0 }, { 24, 29, 34, 39 }, 4, 7, 1, 3, 2 }, + { 15, { FORMAT_A1 }, 1, { 0 }, { 9, 19, 29, 39 }, 4, 7, 2, 3, 2 }, + { 16, { FORMAT_A1 }, 1, { 0 }, { 17, 19, 37, 39 }, 4, 0, 1, 6, 2 }, + { 17, { FORMAT_A1 }, 1, { 0 }, { 9, 19, 29, 39 }, 4, 0, 2, 6, 2 }, + { 18, { FORMAT_A1 }, 1, { 0 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 0, 1, 6, 2 }, + { 19, { FORMAT_A1 }, 1, { 0 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 7, 1, 3, 2 }, + { 20, { FORMAT_A1 }, 1, { 0 }, { 3, 5, 7, 9, 11, 13 }, 6, 7, 1, 3, 2 }, + { 21, { FORMAT_A1 }, 1, { 0 }, { 23, 27, 31, 35, 39 }, 5, 7, 1, 3, 2 }, + { 22, { FORMAT_A1 }, 1, { 0 }, { 7, 15, 23, 31, 39 }, 5, 0, 1, 6, 2 }, + { 23, { FORMAT_A1 }, 1, { 0 }, { 23, 27, 31, 35, 39 }, 5, 0, 1, 6, 2 }, + { 24, { FORMAT_A1 }, 1, { 0 }, { 13, 14, 15, 29, 30, 31, 37, 38, 39 }, 10, 7, 2, 3, 2 }, + { 25, { FORMAT_A1 }, 1, { 0 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 7, 1, 3, 2 }, + { 26, { FORMAT_A1 }, 1, { 0 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 0, 1, 6, 2 }, + { 27, { FORMAT_A1 }, 1, { 0 }, { 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, + 23, 25, 27, 29, 31, 33, 35, 37, 39 }, 15, 0, 1, 6, 2 }, + { 28, { FORMAT_A1 }, 1, { 0 }, { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, + 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, + 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, + 34, 35, 36, 37, 38, 39 }, 40, 7, 1, 3, 2 }, + { 29, { FORMAT_A2 }, 16, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 0, 2, 3, 4 }, + { 30, { FORMAT_A2 }, 16, { 1 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 0, 1, 3, 4 }, + { 31, { FORMAT_A2 }, 8, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 10, 0, 2, 3, 4 }, + { 32, { FORMAT_A2 }, 8, { 1 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 0, 1, 3, 4 }, + { 33, { FORMAT_A2 }, 8, { 1, 2 }, { 9, 19, 29, 39 }, 4, 0, 2, 3, 4 }, + { 34, { FORMAT_A2 }, 4, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 0, 1, 3, 4 }, + { 35, { FORMAT_A2 }, 4, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 0, 2, 3, 4 }, + { 36, { FORMAT_A2 }, 4, { 1 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 0, 1, 3, 4 }, + { 37, { FORMAT_A2 }, 2, { 1 }, { 7, 15, 23, 31, 39 }, 5, 0, 2, 3, 4 }, + { 38, { FORMAT_A2 }, 2, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 0, 1, 3, 4 }, + { 39, { FORMAT_A2 }, 2, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 0, 2, 3, 4 }, + { 40, { FORMAT_A2 }, 2, { 1 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 0, 1, 3, 4 }, + { 41, { FORMAT_A2 }, 1, { 0 }, { 19, 39 }, 2, 5, 1, 2, 4 }, + { 42, { FORMAT_A2 }, 1, { 0 }, { 3, 5, 7 }, 3, 0, 1, 3, 4 }, + { 43, { FORMAT_A2 }, 1, { 0 }, { 24, 29, 34, 39 }, 4, 5, 1, 2, 4 }, + { 44, { FORMAT_A2 }, 1, { 0 }, { 9, 19, 29, 39 }, 4, 5, 2, 2, 4 }, + { 45, { FORMAT_A2 }, 1, { 0 }, { 17, 19, 37, 39 }, 4, 0, 1, 3, 4 }, + { 46, { FORMAT_A2 }, 1, { 0 }, { 9, 19, 29, 39 }, 4, 0, 2, 3, 4 }, + { 47, { FORMAT_A2 }, 1, { 0 }, { 7, 15, 23, 31, 39 }, 5, 0, 1, 3, 4 }, + { 48, { FORMAT_A2 }, 1, { 0 }, { 23, 27, 31, 35, 39 }, 5, 5, 1, 2, 4 }, + { 49, { FORMAT_A2 }, 1, { 0 }, { 23, 27, 31, 35, 39 }, 5, 0, 1, 3, 4 }, + { 50, { FORMAT_A2 }, 1, { 0 }, { 3, 5, 7, 9, 11, 13 }, 6, 5, 1, 2, 4 }, + { 51, { FORMAT_A2 }, 1, { 0 }, { 3, 5, 7, 9, 11, 13 }, 6, 0, 1, 3, 4 }, + { 52, { FORMAT_A2 }, 1, { 0 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 5, 1, 2, 4 }, + { 53, { FORMAT_A2 }, 1, { 0 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 0, 1, 3, 4 }, + { 54, { FORMAT_A2 }, 1, { 0 }, { 13, 14, 15, 29, 30, 31, 37, 38, 39 }, 10, 5, 2, 2, 4 }, + { 55, { FORMAT_A2 }, 1, { 0 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 5, 1, 2, 4 }, + { 56, { FORMAT_A2 }, 1, { 0 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 0, 1, 3, 4 }, + { 57, { FORMAT_A2 }, 1, { 0 }, { 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, + 23, 25, 27, 29, 31, 33, 35, 37, 39 }, 15, 0, 1, 3, 4 }, + { 58, { FORMAT_A2 }, 1, { 0 }, { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, + 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, + 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, + 34, 35, 36, 37, 38, 39 }, 40, 5, 1, 2, 4 }, + { 59, { FORMAT_A3 }, 16, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 0, 2, 2, 6 }, + { 60, { FORMAT_A3 }, 16, { 1 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 0, 1, 2, 6 }, + { 61, { FORMAT_A3 }, 8, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 0, 2, 2, 6 }, + { 62, { FORMAT_A3 }, 8, { 1 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 0, 1, 2, 6 }, + { 63, { FORMAT_A3 }, 8, { 1, 2 }, { 9, 19, 29, 39 }, 4, 0, 2, 2, 6 }, + { 64, { FORMAT_A3 }, 4, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 0, 1, 2, 6 }, + { 65, { FORMAT_A3 }, 4, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 0, 2, 2, 6 }, + { 66, { FORMAT_A3 }, 4, { 1 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 0, 1, 2, 6 }, + { 67, { FORMAT_A3 }, 2, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 0, 1, 2, 6 }, + { 68, { FORMAT_A3 }, 2, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 0, 2, 2, 6 }, + { 69, { FORMAT_A3 }, 2, { 1 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 0, 1, 2, 6 }, + { 70, { FORMAT_A3 }, 1, { 0 }, { 19, 39 }, 2, 7, 1, 1, 6 }, + { 71, { FORMAT_A3 }, 1, { 0 }, { 3, 5, 7 }, 3, 0, 1, 2, 6 }, + { 72, { FORMAT_A3 }, 1, { 0 }, { 9, 11, 13 }, 3, 2, 1, 2, 6 }, + { 73, { FORMAT_A3 }, 1, { 0 }, { 24, 29, 34, 39 }, 4, 7, 1, 1, 6 }, + { 74, { FORMAT_A3 }, 1, { 0 }, { 9, 19, 29, 39 }, 4, 7, 2, 1, 6 }, + { 75, { FORMAT_A3 }, 1, { 0 }, { 17, 19, 37, 39 }, 4, 0, 1, 2, 6 }, + { 76, { FORMAT_A3 }, 1, { 0 }, { 9, 19, 29, 39 }, 4, 0, 2, 2, 6 }, + { 77, { FORMAT_A3 }, 1, { 0 }, { 7, 15, 23, 31, 39 }, 5, 0, 1, 2, 6 }, + { 78, { FORMAT_A3 }, 1, { 0 }, { 23, 27, 31, 35, 39 }, 5, 7, 1, 1, 6 }, + { 79, { FORMAT_A3 }, 1, { 0 }, { 23, 27, 31, 35, 39 }, 5, 0, 1, 2, 6 }, + { 80, { FORMAT_A3 }, 1, { 0 }, { 3, 5, 7, 9, 11, 13 }, 6, 0, 1, 2, 6 }, + { 81, { FORMAT_A3 }, 1, { 0 }, { 3, 5, 7, 9, 11, 13 }, 6, 7, 1, 1, 6 }, + { 82, { FORMAT_A3 }, 1, { 0 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 0, 1, 2, 6 }, + { 83, { FORMAT_A3 }, 1, { 0 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 7, 1, 1, 6 }, + { 84, { FORMAT_A3 }, 1, { 0 }, { 13, 14, 15, 29, 30, 31, 37, 38, 39 }, 10, 7, 2, 1, 6 }, + { 85, { FORMAT_A3 }, 1, { 0 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 7, 1, 1, 6 }, + { 86, { FORMAT_A3 }, 1, { 0 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 0, 1, 2, 6 }, + { 87, { FORMAT_A3 }, 1, { 0 }, { 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, + 23, 25, 27, 29, 31, 33, 35, 37, 39 }, 15, 0, 1, 2, 6 }, + { 88, { FORMAT_A3 }, 1, { 0 }, { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, + 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, + 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, + 34, 35, 36, 37, 38, 39 }, 40, 7, 1, 1, 6 }, + { 89, { FORMAT_B1 }, 16, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 2, 2, 6, 2 }, + { 90, { FORMAT_B1 }, 8, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 2, 2, 6, 2 }, + { 91, { FORMAT_B1 }, 8, { 1, 2 }, { 9, 19, 29, 39 }, 4, 2, 2, 6, 2 }, + { 92, { FORMAT_B1 }, 4, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 2, 2, 6, 2 }, + { 93, { FORMAT_B1 }, 2, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 2, 2, 6, 2 }, + { 94, { FORMAT_B1 }, 2, { 1 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 2, 1, 6, 2 }, + { 95, { FORMAT_B1 }, 1, { 0 }, { 19, 39 }, 2, 8, 1, 3, 2 }, + { 96, { FORMAT_B1 }, 1, { 0 }, { 3, 5, 7 }, 3, 2, 1, 6, 2 }, + { 97, { FORMAT_B1 }, 1, { 0 }, { 24, 29, 34, 39 }, 4, 8, 1, 3, 2 }, + { 98, { FORMAT_B1 }, 1, { 0 }, { 9, 19, 29, 39 }, 4, 8, 2, 3, 2 }, + { 99, { FORMAT_B1 }, 1, { 0 }, { 17, 19, 37, 39 }, 4, 2, 1, 6, 2 }, + { 100, { FORMAT_B1 }, 1, { 0 }, { 9, 19, 29, 39 }, 4, 2, 2, 6, 2 }, + { 101, { FORMAT_B1 }, 1, { 0 }, { 7, 15, 23, 31, 39 }, 5, 2, 1, 6, 2 }, + { 102, { FORMAT_B1 }, 1, { 0 }, { 23, 27, 31, 35, 39 }, 5, 8, 1, 3, 2 }, + { 103, { FORMAT_B1 }, 1, { 0 }, { 23, 27, 31, 35, 39 }, 5, 2, 1, 6, 2 }, + { 104, { FORMAT_B1 }, 1, { 0 }, { 3, 5, 7, 9, 11, 13 }, 6, 8, 1, 3, 2 }, + { 105, { FORMAT_B1 }, 1, { 0 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 8, 1, 3, 2 }, + { 106, { FORMAT_B1 }, 1, { 0 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 2, 1, 6, 2 }, + { 107, { FORMAT_B1 }, 1, { 0 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 8, 1, 3, 2 }, + { 108, { FORMAT_B1 }, 1, { 0 }, { 13, 14, 15, 29, 30, 31, 37, 38, 39 }, 10, 8, 2, 3, 2 }, + { 109, { FORMAT_B1 }, 1, { 0 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 2, 1, 6, 2 }, + { 110, { FORMAT_B1 }, 1, { 0 }, { 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, + 23, 25, 27, 29, 31, 33, 35, 37, 39 }, 15, 2, 1, 6, 2 }, + { 111, { FORMAT_B1 }, 1, { 0 }, { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, + 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, + 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, + 34, 35, 36, 37, 38, 39 }, 40, 8, 1, 3, 2 }, + { 112, { FORMAT_B4 }, 16, { 1, 2 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 0, 2, 1, 12 }, + { 113, { FORMAT_B4 }, 16, { 1, 2 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 0, 1, 1, 12 }, + { 114, { FORMAT_B4 }, 8, { 1, 2 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 0, 2, 1, 12 }, + { 115, { FORMAT_B4 }, 8, { 1, 2 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 0, 1, 1, 12 }, + { 116, { FORMAT_B4 }, 8, { 1, 2 }, { 9, 19, 29, 39 }, 4, 0, 2, 1, 12 }, + { 117, { FORMAT_B4 }, 4, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 0, 1, 1, 12 }, + { 118, { FORMAT_B4 }, 4, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 0, 2, 1, 12 }, + { 119, { FORMAT_B4 }, 4, { 1, 2 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 0, 1, 1, 12 }, + { 120, { FORMAT_B4 }, 2, { 1 }, { 7, 15, 23, 31, 39 }, 5, 2, 2, 1, 12 }, + { 121, { FORMAT_B4 }, 2, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 0, 1, 1, 12 }, + { 122, { FORMAT_B4 }, 2, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 0, 2, 1, 12 }, + { 123, { FORMAT_B4 }, 2, { 1 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 0, 1, 1, 12 }, + { 124, { FORMAT_B4 }, 1, { 0 }, { 19, 39 }, 2, 2, 2, 1, 12 }, + { 125, { FORMAT_B4 }, 1, { 0 }, { 17, 19, 37, 39 }, 4, 0, 1, 1, 12 }, + { 126, { FORMAT_B4 }, 1, { 0 }, { 24, 29, 34, 39 }, 4, 2, 1, 1, 12 }, + { 127, { FORMAT_B4 }, 1, { 0 }, { 9, 19, 29, 39 }, 4, 2, 2, 1, 12 }, + { 128, { FORMAT_B4 }, 1, { 0 }, { 9, 19, 29, 39 }, 4, 0, 2, 1, 12 }, + { 129, { FORMAT_B4 }, 1, { 0 }, { 7, 15, 23, 31, 39 }, 5, 0, 1, 1, 12 }, + { 130, { FORMAT_B4 }, 1, { 0 }, { 7, 15, 23, 31, 39 }, 5, 0, 2, 1, 12 }, + { 131, { FORMAT_B4 }, 1, { 0 }, { 23, 27, 31, 35, 39 }, 5, 0, 1, 1, 12 }, + { 132, { FORMAT_B4 }, 1, { 0 }, { 23, 27, 31, 35, 39 }, 5, 2, 2, 1, 12 }, + { 133, { FORMAT_B4 }, 1, { 0 }, { 9, 11, 13, 15, 17, 19 }, 6, 0, 1, 1, 12 }, + { 134, { FORMAT_B4 }, 1, { 0 }, { 3, 5, 7, 9, 11, 13 }, 6, 2, 1, 1, 12 }, + { 135, { FORMAT_B4 }, 1, { 0 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 0, 1, 1, 12 }, + { 136, { FORMAT_B4 }, 1, { 0 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 2, 2, 1, 12 }, + { 137, { FORMAT_B4 }, 1, { 0 }, { 13, 14, 15, 29, 30, 31, 37, 38, 39 }, 10, 2, 2, 1, 12 }, + { 138, { FORMAT_B4 }, 1, { 0 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 0, 1, 1, 12 }, + { 139, { FORMAT_B4 }, 1, { 0 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 2, 1, 1, 12 }, + { 140, { FORMAT_B4 }, 1, { 0 }, { 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, + 23, 25 }, 12, 2, 1, 1, 12 }, + { 141, { FORMAT_B4 }, 1, { 0 }, { 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, + 23, 25 }, 12, 0, 2, 1, 12 }, + { 142, { FORMAT_B4 }, 1, { 0 }, { 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, + 23, 25, 27, 29, 31, 33, 35, 37, 39 }, 15, 0, 1, 1, 12 }, + { 143, { FORMAT_B4 }, 1, { 0 }, { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, + 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, + 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, + 34, 35, 36, 37, 38, 39 }, 40, 2, 1, 1, 12 }, + { 144, { FORMAT_C0 }, 16, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 0, 2, 7, 2 }, + { 145, { FORMAT_C0 }, 16, { 1 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 0, 1, 7, 2 }, + { 146, { FORMAT_C0 }, 8, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 0, 1, 7, 2 }, + { 147, { FORMAT_C0 }, 8, { 1 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 0, 1, 7, 2 }, + { 148, { FORMAT_C0 }, 8, { 1, 2 }, { 9, 19, 29, 39 }, 4, 0, 2, 7, 2 }, + { 149, { FORMAT_C0 }, 4, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 0, 1, 7, 2 }, + { 150, { FORMAT_C0 }, 4, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 0, 2, 7, 2 }, + { 151, { FORMAT_C0 }, 4, { 1 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 0, 1, 7, 2 }, + { 152, { FORMAT_C0 }, 2, { 1 }, { 7, 15, 23, 31, 39 }, 5, 0, 2, 7, 2 }, + { 153, { FORMAT_C0 }, 2, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 0, 1, 7, 2 }, + { 154, { FORMAT_C0 }, 2, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 0, 2, 7, 2 }, + { 155, { FORMAT_C0 }, 2, { 1 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 0, 1, 7, 2 }, + { 156, { FORMAT_C0 }, 1, { 0 }, { 19, 39 }, 2, 8, 1, 3, 2 }, + { 157, { FORMAT_C0 }, 1, { 0 }, { 3, 5, 7 }, 3, 0, 1, 7, 2 }, + { 158, { FORMAT_C0 }, 1, { 0 }, { 24, 29, 34, 39 }, 4, 8, 1, 3, 2 }, + { 159, { FORMAT_C0 }, 1, { 0 }, { 9, 19, 29, 39 }, 4, 8, 2, 3, 2 }, + { 160, { FORMAT_C0 }, 1, { 0 }, { 17, 19, 37, 39 }, 4, 0, 1, 7, 2 }, + { 161, { FORMAT_C0 }, 1, { 0 }, { 9, 19, 29, 39 }, 4, 0, 2, 7, 2 }, + { 162, { FORMAT_C0 }, 1, { 0 }, { 23, 27, 31, 35, 39 }, 5, 8, 1, 3, 2 }, + { 163, { FORMAT_C0 }, 1, { 0 }, { 7, 15, 23, 31, 39 }, 5, 0, 1, 7, 2 }, + { 164, { FORMAT_C0 }, 1, { 0 }, { 23, 27, 31, 35, 39 }, 5, 0, 1, 7, 2 }, + { 165, { FORMAT_C0 }, 1, { 0 }, { 3, 5, 7, 9, 11, 13 }, 6, 8, 1, 3, 2 }, + { 166, { FORMAT_C0 }, 1, { 0 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 8, 1, 3, 2 }, + { 167, { FORMAT_C0 }, 1, { 0 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 0, 1, 7, 2 }, + { 168, { FORMAT_C0 }, 1, { 0 }, { 13, 14, 15, 29, 30, 31, 37, 38, 39 }, 10, 8, 2, 3, 2 }, + { 169, { FORMAT_C0 }, 1, { 0 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 8, 1, 3, 2 }, + { 170, { FORMAT_C0 }, 1, { 0 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 0, 1, 7, 2 }, + { 171, { FORMAT_C0 }, 1, { 0 }, { 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, + 23, 25, 27, 29, 31, 33, 35, 37, 39 }, 15, 0, 1, 7, 2 }, + { 172, { FORMAT_C0 }, 1, { 0 }, { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, + 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, + 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, + 34, 35, 36, 37, 38, 39 }, 40, 8, 1, 3, 2 }, + { 173, { FORMAT_C2 }, 16, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 0, 2, 2, 6 }, + { 174, { FORMAT_C2 }, 16, { 1 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 0, 1, 2, 6 }, + { 175, { FORMAT_C2 }, 8, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 0, 2, 2, 6 }, + { 176, { FORMAT_C2 }, 8, { 1 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 0, 1, 2, 6 }, + { 177, { FORMAT_C2 }, 8, { 1, 2 }, { 9, 19, 29, 39 }, 4, 0, 2, 2, 6 }, + { 178, { FORMAT_C2 }, 4, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 0, 1, 2, 6 }, + { 179, { FORMAT_C2 }, 4, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 0, 2, 2, 6 }, + { 180, { FORMAT_C2 }, 4, { 1 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 0, 1, 2, 6 }, + { 181, { FORMAT_C2 }, 2, { 1 }, { 7, 15, 23, 31, 39 }, 5, 2, 2, 2, 6 }, + { 182, { FORMAT_C2 }, 2, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 0, 1, 2, 6 }, + { 183, { FORMAT_C2 }, 2, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 0, 2, 2, 6 }, + { 184, { FORMAT_C2 }, 2, { 1 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 0, 1, 2, 6 }, + { 185, { FORMAT_C2 }, 1, { 0 }, { 19, 39 }, 2, 2, 1, 2, 6 }, + { 186, { FORMAT_C2 }, 1, { 0 }, { 3, 5, 7 }, 3, 0, 1, 2, 6 }, + { 187, { FORMAT_C2 }, 1, { 0 }, { 24, 29, 34, 39 }, 4, 7, 1, 1, 6 }, + { 188, { FORMAT_C2 }, 1, { 0 }, { 9, 19, 29, 39 }, 4, 7, 2, 1, 6 }, + { 189, { FORMAT_C2 }, 1, { 0 }, { 17, 19, 37, 39 }, 4, 0, 1, 2, 6 }, + { 190, { FORMAT_C2 }, 1, { 0 }, { 9, 19, 29, 39 }, 4, 2, 2, 2, 6 }, + { 191, { FORMAT_C2 }, 1, { 0 }, { 7, 15, 23, 31, 39 }, 5, 2, 1, 2, 6 }, + { 192, { FORMAT_C2 }, 1, { 0 }, { 3, 5, 7, 9, 11, 13 }, 6, 7, 1, 1, 6 }, + { 193, { FORMAT_C2 }, 1, { 0 }, { 23, 27, 31, 35, 39 }, 5, 7, 2, 1, 6 }, + { 194, { FORMAT_C2 }, 1, { 0 }, { 23, 27, 31, 35, 39 }, 5, 0, 1, 2, 6 }, + { 195, { FORMAT_C2 }, 1, { 0 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 7, 2, 1, 6 }, + { 196, { FORMAT_C2 }, 1, { 0 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 2, 1, 2, 6 }, + { 197, { FORMAT_C2 }, 1, { 0 }, { 13, 14, 15, 29, 30, 31, 37, 38, 39 }, 10, 7, 2, 1, 6 }, + { 198, { FORMAT_C2 }, 1, { 0 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 7, 1, 1, 6 }, + { 199, { FORMAT_C2 }, 1, { 0 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 0, 1, 2, 6 }, + { 200, { FORMAT_C2 }, 1, { 0 }, { 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, + 23, 25, 27, 29, 31, 33, 35, 37, 39 }, 15, 0, 1, 2, 6 }, + { 201, { FORMAT_C2 }, 1, { 0 }, { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, + 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, + 33, 34, 35, 36, 37, 38, 39 }, 40, 7, 1, 1, 6 }, + { 202, { FORMAT_A1, FORMAT_B1 }, 16, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 2, 1, 6, 2 }, + { 203, { FORMAT_A1, FORMAT_B1 }, 16, { 1 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 2, 1, 6, 2 }, + { 204, { FORMAT_A1, FORMAT_B1 }, 8, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 2, 1, 6, 2 }, + { 205, { FORMAT_A1, FORMAT_B1 }, 8, { 1 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 2, 1, 6, 2 }, + { 206, { FORMAT_A1, FORMAT_B1 }, 4, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 2, 1, 6, 2 }, + { 207, { FORMAT_A1, FORMAT_B1 }, 4, { 1 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 2, 1, 6, 2 }, + { 208, { FORMAT_A1, FORMAT_B1 }, 2, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 2, 1, 6, 2 }, + { 209, { FORMAT_A1, FORMAT_B1 }, 1, { 0 }, { 19, 39 }, 2, 8, 1, 3, 2 }, + { 210, { FORMAT_A1, FORMAT_B1 }, 1, { 0 }, { 9, 19, 29, 39 }, 4, 8, 1, 3, 2 }, + { 211, { FORMAT_A1, FORMAT_B1 }, 1, { 0 }, { 17, 19, 37, 39 }, 4, 2, 1, 6, 2 }, + { 212, { FORMAT_A1, FORMAT_B1 }, 1, { 0 }, { 9, 19, 29, 39 }, 4, 2, 2, 6, 2 }, + { 213, { FORMAT_A1, FORMAT_B1 }, 1, { 0 }, { 23, 27, 31, 35, 39 }, 5, 8, 1, 3, 2 }, + { 214, { FORMAT_A1, FORMAT_B1 }, 1, { 0 }, { 7, 15, 23, 31, 39 }, 5, 2, 1, 6, 2 }, + { 215, { FORMAT_A1, FORMAT_B1 }, 1, { 0 }, { 23, 27, 31, 35, 39 }, 5, 2, 1, 6, 2 }, + { 216, { FORMAT_A1, FORMAT_B1 }, 1, { 0 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 8, 1, 3, 2 }, + { 217, { FORMAT_A1, FORMAT_B1 }, 1, { 0 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 2, 1, 6, 2 }, + { 218, { FORMAT_A1, FORMAT_B1 }, 1, { 0 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 2, 1, 6, 2 }, + { 219, { FORMAT_A1, FORMAT_B1 }, 1, { 0 }, { 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, + 23, 25, 27, 29, 31, 33, 35, 37, 39 }, 15, 2, 1, 6, 2 }, + { 220, { FORMAT_A2, FORMAT_B2 }, 16, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 2, 1, 3, 4 }, + { 221, { FORMAT_A2, FORMAT_B2 }, 16, { 1 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 2, 1, 3, 4 }, + { 222, { FORMAT_A2, FORMAT_B2 }, 8, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 2, 1, 3, 4 }, + { 223, { FORMAT_A2, FORMAT_B2 }, 8, { 1 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 2, 1, 3, 4 }, + { 224, { FORMAT_A2, FORMAT_B2 }, 4, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 2, 1, 3, 4 }, + { 225, { FORMAT_A2, FORMAT_B2 }, 4, { 1 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 2, 1, 3, 4 }, + { 226, { FORMAT_A2, FORMAT_B2 }, 2, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 2, 1, 3, 4 }, + { 227, { FORMAT_A2, FORMAT_B2 }, 1, { 0 }, { 19, 39 }, 2, 6, 1, 2, 4 }, + { 228, { FORMAT_A2, FORMAT_B2 }, 1, { 0 }, { 9, 19, 29, 39 }, 4, 6, 1, 2, 4 }, + { 229, { FORMAT_A2, FORMAT_B2 }, 1, { 0 }, { 17, 19, 37, 39 }, 4, 2, 1, 3, 4 }, + { 230, { FORMAT_A2, FORMAT_B2 }, 1, { 0 }, { 9, 19, 29, 39 }, 4, 2, 2, 3, 4 }, + { 231, { FORMAT_A2, FORMAT_B2 }, 1, { 0 }, { 23, 27, 31, 35, 39 }, 5, 6, 1, 2, 4 }, + { 232, { FORMAT_A2, FORMAT_B2 }, 1, { 0 }, { 7, 15, 23, 31, 39 }, 5, 2, 1, 3, 4 }, + { 233, { FORMAT_A2, FORMAT_B2 }, 1, { 0 }, { 23, 27, 31, 35, 39 }, 5, 2, 1, 3, 4 }, + { 234, { FORMAT_A2, FORMAT_B2 }, 1, { 0 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 6, 1, 2, 4 }, + { 235, { FORMAT_A2, FORMAT_B2 }, 1, { 0 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 2, 1, 3, 4 }, + { 236, { FORMAT_A2, FORMAT_B2 }, 1, { 0 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 2, 1, 3, 4 }, + { 237, { FORMAT_A2, FORMAT_B2 }, 1, { 0 }, { 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, + 23, 25, 27, 29, 31, 33, 35, 37, 39 }, 15, 2, 1, 3, 4 }, + { 238, { FORMAT_A3, FORMAT_B3 }, 16, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 2, 1, 2, 6 }, + { 239, { FORMAT_A3, FORMAT_B3 }, 16, { 1 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 2, 1, 2, 6 }, + { 240, { FORMAT_A3, FORMAT_B3 }, 8, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 2, 1, 2, 6 }, + { 241, { FORMAT_A3, FORMAT_B3 }, 8, { 1 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 2, 1, 2, 6 }, + { 242, { FORMAT_A3, FORMAT_B3 }, 4, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 2, 1, 2, 6 }, + { 243, { FORMAT_A3, FORMAT_B3 }, 4, { 1 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 2, 1, 2, 6 }, + { 244, { FORMAT_A3, FORMAT_B3 }, 2, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 2, 1, 2, 6 }, + { 245, { FORMAT_A3, FORMAT_B3 }, 1, { 0 }, { 19, 39 }, 2, 2, 1, 2, 6 }, + { 246, { FORMAT_A3, FORMAT_B3 }, 1, { 0 }, { 9, 19, 29, 39 }, 4, 2, 1, 2, 6 }, + { 247, { FORMAT_A3, FORMAT_B3 }, 1, { 0 }, { 17, 19, 37, 39 }, 4, 2, 1, 2, 6 }, + { 248, { FORMAT_A3, FORMAT_B3 }, 1, { 0 }, { 9, 19, 29, 39 }, 4, 2, 2, 2, 6 }, + { 249, { FORMAT_A3, FORMAT_B3 }, 1, { 0 }, { 23, 27, 31, 35, 39 }, 5, 2, 1, 2, 6 }, + { 250, { FORMAT_A3, FORMAT_B3 }, 1, { 0 }, { 23, 27, 31, 35, 39 }, 5, 2, 1, 2, 6 }, + { 251, { FORMAT_A3, FORMAT_B3 }, 1, { 0 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 2, 2, 2, 6 }, + { 252, { FORMAT_A3, FORMAT_B3 }, 1, { 0 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 2, 1, 2, 6 }, + { 253, { FORMAT_A3, FORMAT_B3 }, 1, { 0 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 2, 2, 2, 6 }, + { 254, { FORMAT_A3, FORMAT_B3 }, 1, { 0 }, { 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, + 23, 25, 27, 29, 31, 33, 35, 37, 39 }, 15, 2, 1, 2, 6 }, + { 255, { FORMAT_A3, FORMAT_B3 }, 1, { 0 }, { 7, 15, 23, 31, 39 }, 5, 2, 1, 2, 6 }, +} +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_ul_tables.c'; + var-mem-desc-line = '553'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-referenceby = { + var-mem-ref-id = 'xran__main_8c_1a00025c5bad7b7b6eea4374226f8c54bb'; + var-mem-ref-line = '308'; + var-mem-ref-name = 'xran_init_prach'; + }; + }; /* var-member */ + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__ul__tables_8c_1ab7c9c49ac127f2812c5ffe8c54364286'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +const xRANPrachPreambleLRAStruct +_EnD_oF_dEf_TeXt_; + var-mem-name = 'gxranPreambleforLRA'; + var-mem-initializer = <<_EnD_oF_dEf_TeXt_ += +{ + {FORMAT_0, 839, 125, 1 , 3168 }, + {FORMAT_1, 839, 125, 2 ,21024 }, + {FORMAT_2, 839, 125, 4 , 4688 }, + {FORMAT_3, 839, 5, 1 , 3168 }, + {FORMAT_A1, 139, 15, 2 , 288 }, + {FORMAT_A2, 139, 15, 4 , 576 }, + {FORMAT_A3, 139, 15, 6 , 864 }, + {FORMAT_B1, 139, 15, 2 , 216 }, + {FORMAT_B2, 139, 15, 4 , 360 }, + {FORMAT_B3, 139, 15, 6 , 504 }, + {FORMAT_B4, 139, 15, 12, 936 }, + {FORMAT_C0, 139, 15, 1 , 1240}, + {FORMAT_C2, 139, 15, 4 , 2048} +} +_EnD_oF_dEf_TeXt_; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_ul_tables.c'; + var-mem-desc-line = '845'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-referenceby = { + var-mem-ref-id = 'xran__main_8c_1a00025c5bad7b7b6eea4374226f8c54bb'; + var-mem-ref-line = '308'; + var-mem-ref-name = 'xran_init_prach'; + }; + }; /* var-member */ + }; + file-full-name = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_ul_tables.c'; + file-first-line = '1'; + file-briefdesc = <<_EnD_oF_dEf_TeXt_ +This file defines those table used in 5G NR spec. +_EnD_oF_dEf_TeXt_; + file-documentation = <<_EnD_oF_dEf_TeXt_ +@author Intel Corporation +_EnD_oF_dEf_TeXt_; +}; /* file */ +file = { + file-id = 'xran__up__api_8c'; + file-name = 'xran_up_api.c'; + func = { + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__up__api_8c_1a2d2f0b4b756b3d139fb41d994e801eac'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +static int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'build_ecpri_hdr'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mbuf * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'mbuf'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const uint32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'iq_data_num_bytes'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const uint32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'iq_data_offset'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'alignment'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_up_api.c'; + func-mem-desc-line = '48'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Builds eCPRI header in xRAN packet. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@param mbuf Initialized rte_mbuf packet +@param iq_data_num_bytes Number of bytes in IQ data buffer +@param iq_data_offset Number of elements already sent +@return int int 0 on success, non zero on failure +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__up__api_8c_1a06d71225c7b91f95649aaa5d28375711'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +static int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_build_ecpri_hdr_ex'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mbuf * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'mbuf'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'ecpri_mesg_type'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'payl_size'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'CC_ID'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'Ant_ID'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'seq_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'comp_meth'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_up_api.c'; + func-mem-desc-line = '105'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Builds eCPRI header in xRAN packet. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@param mbuf Initialized rte_mbuf packet +@param ecpri_mesg_type eCPRI message type +@param payl_size the size in bytes of the payload part of eCPRI message +@param CC_ID Component Carrier ID for ecpriRtcid/ecpriPcid +@param Ant_ID Antenna ID for ecpriRtcid/ecpriPcid +@param seq_id Message identifier for eCPRI message +@param comp_meth Compression method +@return int int 0 on success, non zero on failure +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__up__api_8c_1a3d107d89aac51af076191b0fd8dce6a9'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +static int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'build_application_layer'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mbuf * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'mbuf'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const struct radio_app_common_hdr * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'app_hdr_input'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_up_api.c'; + func-mem-desc-line = '153'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Builds application layer of xRAN packet. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@param mbuf Initialized rte_mbuf packet +@param app_hdr_input Radio App common header structure to be set in mbuf + packet. +@return int 0 on success, non zero on failure +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__up__api_8c_1a1ced5ede6879fbc76e9d4e37ca9dab56'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +static int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'build_section_hdr'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mbuf * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'mbuf'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const struct data_section_hdr * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'sec_hdr'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_up_api.c'; + func-mem-desc-line = '176'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Builds section header in xRAN packet. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@param mbuf Initialized rte_mbuf packet +@param sec_hdr Section header structure to be set in mbuf packet +@return int 0 on success, non zero on failure +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__up__api_8c_1ab3e30878e4a16bdd2e44b777100c2805'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +static uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'append_iq_samples_ex'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mbuf * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'mbuf'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'iq_data_start'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const uint32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'iq_data_num_bytes'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +enum xran_input_byte_order +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'iq_buf_byte_order'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'do_copy'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_up_api.c'; + func-mem-desc-line = '200'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Function for appending IQ samples data to the mbuf. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@param mbuf Initialized rte_mbuf packet. +@param iq_data_start Address of the first element in IQ data array. +@param iq_data_num_bytes Size of the IQ data array. +@param iq_data_offset IQ data btyes already sent. +@return uint16_t Bytes that have been appended to the packet. +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__up__api_8c_1ae96d2e296c1af16defcce7790a7a74c9'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +static uint16_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'append_iq_samples'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mbuf * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'mbuf'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'iq_data_start'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const uint32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'iq_data_num_bytes'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const uint32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'iq_data_offset'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'alignment'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_up_api.c'; + func-mem-desc-line = '247'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Function for appending IQ samples data to the mbuf. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@param mbuf Initialized rte_mbuf packet. +@param iq_data_start Address of the first element in IQ data array. +@param iq_data_num_bytes Size of the IQ data array. +@param iq_data_offset IQ data btyes already sent. +@return uint16_t Bytes that have been appended to the packet. +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__up__api_8c_1a8c3af5d2a9411472b1848dfb98ad78bc'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +static int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'build_compression_hdr'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mbuf * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'mbuf'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const struct data_section_compression_hdr * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'compr_hdr'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_up_api.c'; + func-mem-desc-line = '281'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Builds compression header in xRAN packet. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@param mbuf Initialized rte_mbuf packet +@param compression_hdr Section compression header structure + to be set in mbuf packet +@return int 0 on success, non zero on failure +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__up__api_8c_1a0ef631ffb1a8cba4bbe5c1f9546431a6'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +static int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'append_comp_param'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mbuf * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'mbuf'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +union compression_params * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'ud_comp_param'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_up_api.c'; + func-mem-desc-line = '305'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Appends compression parameter in xRAN packet. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@param mbuf Initialized rte_mbuf packet +@param ud_comp_paramr Compression param to be set in mbuf packet +@return int 0 on success, non zero on failure +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__up__api_8c_1adfc5ea408600c8de1384be020b359d95'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_extract_iq_samples'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mbuf * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'mbuf'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void ** +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'iq_data_start'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'CC_ID'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'Ant_ID'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'frame_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'subframe_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'slot_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'symb_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct ecpri_seq_id * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'seq_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'num_prbu'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'start_prbu'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'sym_inc'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'rb'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'sect_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +int8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'expect_comp'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'compMeth'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'iqWidth'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_up_api.c'; + func-mem-desc-line = '327'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Function for extracting all IQ samples from xRAN packet + holding a single data section. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Function extracts IQ samples from received mbuf packet. + +@param iq_data_start Address of the first element in IQ data array. +@param symb_id Symbol ID to be extracted from ecpri header +@param seq_id Sequence ID to be extracted from radio header +@return int Size of remaining mbuf filled with IQ samples + zero on failure +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1aa5d2447d17b81766e3843a60296446e3'; + func-mem-ref-line = '134'; + func-mem-ref-name = 'xran_ecpri_hdr::ecpri_seq_id'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__transport_8c_1ab08a85b6527f45a9ba22d25061a96a3c'; + func-mem-ref-line = '89'; + func-mem-ref-name = 'xran_decompose_cid'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1abe6f9630ee7939118e68d24d90434e0c'; + func-mem-ref-line = '133'; + func-mem-ref-name = 'xran_ecpri_hdr::ecpri_xtc_id'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__transport_8h_1a9264d54f92ac22a760270816417a692b'; + func-mem-ref-line = '43'; + func-mem-ref-name = 'xran_eaxc_info::ccId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__transport_8h_1afb85286a39539b98fa09e33ccfa6226b'; + func-mem-ref-line = '44'; + func-mem-ref-name = 'xran_eaxc_info::ruPortId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1a900b69af7d674b8db3bceae754b4955a'; + func-mem-ref-line = '181'; + func-mem-ref-name = 'radio_app_common_hdr::value'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1a03c1016ac46b9df250b994f242cf956a'; + func-mem-ref-line = '176'; + func-mem-ref-name = 'radio_app_common_hdr::frame_id'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1a2c655c9f7a861ed572ea29f90392edda'; + func-mem-ref-line = '189'; + func-mem-ref-name = 'radio_app_common_hdr::subframe_id'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1a02c1d0a330aa46a1bfee985080d93cd4'; + func-mem-ref-line = '185'; + func-mem-ref-name = 'radio_app_common_hdr::slot_id'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1acbbef8fd7acac33a2a461e15a43112ba'; + func-mem-ref-line = '183'; + func-mem-ref-name = 'radio_app_common_hdr::symb_id'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__up_8h_1a9f9f2f87d8b5cc7e4af6ef3e2c4c8189'; + func-mem-ref-line = '69'; + func-mem-ref-name = 'data_section_hdr::all_bits'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__up_8h_1acb00c5e7ebe809fda7288c699eed867c'; + func-mem-ref-line = '71'; + func-mem-ref-name = 'data_section_hdr::num_prbu'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__up_8h_1a486aca552c11b7046ca3066ebf4241dc'; + func-mem-ref-line = '72'; + func-mem-ref-name = 'data_section_hdr::start_prbu'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__up_8h_1aba23e80ad7dc1c3f7085ba3a2b4662bb'; + func-mem-ref-line = '73'; + func-mem-ref-name = 'data_section_hdr::sym_inc'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__up_8h_1ac91b2b11ae96c1a44e8a2fad473771c7'; + func-mem-ref-line = '74'; + func-mem-ref-name = 'data_section_hdr::rb'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__up_8h_1a11d1616fb975ccafbc33ab590fe501c4'; + func-mem-ref-line = '75'; + func-mem-ref-name = 'data_section_hdr::sect_id'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__up_8h_1a4638fbd317b5d0c464ef9483038564b0'; + func-mem-ref-line = '92'; + func-mem-ref-name = 'data_section_compression_hdr::ud_comp_hdr'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1ae12079177feb5d2ee414356fc18473cf'; + func-mem-ref-line = '213'; + func-mem-ref-name = 'compression_hdr::ud_comp_meth'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1ab3f5c028170bd3bd241a58be8ca8da96'; + func-mem-ref-line = '208'; + func-mem-ref-name = 'compression_hdr::ud_iq_width'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1a273a09cbea9267272f4e2a339059e442'; + func-mem-ref-line = '111'; + func-mem-ref-name = 'xran_lib_ota_tti'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__mlog__lnx_8h_1a1af05b8bdab3c12648a013c0cda7bbc0'; + func-mem-ref-line = '49'; + func-mem-ref-name = 'MLogAddVariables'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__mlog__lnx_8h_1ab3a08558e2971726cddceed59f9fd3bd'; + func-mem-ref-line = '42'; + func-mem-ref-name = 'MLogTick'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'u__plane__functional_8cc_1a17e5d82ac5aec3860b1324a80fda79ed'; + func-mem-ref-line = '61'; + func-mem-ref-name = 'TEST_P'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__common_8c_1a3d4bd5c7eec6da4ab71688e209100761'; + func-mem-ref-line = '143'; + func-mem-ref-name = 'process_mbuf'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__up__api_8c_1a15cc2e736c7d618de27b49be8d4922ec'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_prepare_iq_symbol_portion'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mbuf * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'mbuf'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'iq_data_start'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const enum xran_input_byte_order +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'iq_buf_byte_order'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const uint32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'iq_data_num_bytes'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_up_pkt_gen_params * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'params'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'CC_ID'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'Ant_ID'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'seq_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'do_copy'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_up_api.c'; + func-mem-desc-line = '455'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Function for starting preparion of IQ samples portions + to be sent in xRAN packet. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@param mbuf Initialized rte_mbuf packet. +@param iq_data_start Address of the first element in IQ data array. +@param iq_data_num_bytes Size of the IQ data array. +@param iq_data_offset IQ data bytes already sent. +@param alignment Size of IQ data alignment. +@param pkt_gen_params Struct with parameters used for building packet +@return int Number of bytes that have been appended + to the packet within all appended sections. +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'xran__common_8c_1adc9636576fb70f4b4fcfd1d03fe59998'; + func-mem-ref-line = '348'; + func-mem-ref-name = 'prepare_symbol_ex'; + }; + }; /* func-member */ + }; + var = { + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xran__up__api_8c_1a273a09cbea9267272f4e2a339059e442'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + var-mem-name = 'xran_lib_ota_tti'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_up_api.c'; + var-mem-desc-line = '38'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ +Slot index in a second [0:(1000000/TTI-1)] +_EnD_oF_dEf_TeXt_; + var-mem-referenceby = { + var-mem-ref-id = 'xran__up__api_8c_1adfc5ea408600c8de1384be020b359d95'; + var-mem-ref-line = '327'; + var-mem-ref-name = 'xran_extract_iq_samples'; + }; + }; /* var-member */ + }; + file-full-name = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/src/xran_up_api.c'; + file-first-line = '1'; + file-briefdesc = <<_EnD_oF_dEf_TeXt_ +This file provides the implementation of User Plane Messages APIs. +_EnD_oF_dEf_TeXt_; + file-documentation = <<_EnD_oF_dEf_TeXt_ +@author Intel Corporation +_EnD_oF_dEf_TeXt_; +}; /* file */ +file = { + file-id = 'xran__up__api_8h'; + file-name = 'xran_up_api.h'; + func = { + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__up__api_8h_1adfc5ea408600c8de1384be020b359d95'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int32_t +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_extract_iq_samples'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mbuf * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'mbuf'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +void ** +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'iq_data_start'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'CC_ID'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'Ant_ID'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'frame_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'subframe_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'slot_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'symb_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct ecpri_seq_id * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'seq_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'num_prbu'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'start_prbu'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'sym_inc'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'rb'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint16_t * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'sect_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +int8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'expect_comp'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'compMeth'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'iqWidth'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_up_api.h'; + func-mem-desc-line = '75'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Function extracts IQ samples from received mbuf packet. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@param mbuf Packet with received data. +@param iq_data_start Address of the first IQ sample in mbuf will be returned + here +@return int Bytes of IQ samples that have been extracted from mbuf. + +Function extracts IQ samples from received mbuf packet. + +@param iq_data_start Address of the first element in IQ data array. +@param symb_id Symbol ID to be extracted from ecpri header +@param seq_id Sequence ID to be extracted from radio header +@return int Size of remaining mbuf filled with IQ samples + zero on failure +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1aa5d2447d17b81766e3843a60296446e3'; + func-mem-ref-line = '134'; + func-mem-ref-name = 'xran_ecpri_hdr::ecpri_seq_id'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__transport_8c_1ab08a85b6527f45a9ba22d25061a96a3c'; + func-mem-ref-line = '89'; + func-mem-ref-name = 'xran_decompose_cid'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1abe6f9630ee7939118e68d24d90434e0c'; + func-mem-ref-line = '133'; + func-mem-ref-name = 'xran_ecpri_hdr::ecpri_xtc_id'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__transport_8h_1a9264d54f92ac22a760270816417a692b'; + func-mem-ref-line = '43'; + func-mem-ref-name = 'xran_eaxc_info::ccId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__transport_8h_1afb85286a39539b98fa09e33ccfa6226b'; + func-mem-ref-line = '44'; + func-mem-ref-name = 'xran_eaxc_info::ruPortId'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1a900b69af7d674b8db3bceae754b4955a'; + func-mem-ref-line = '181'; + func-mem-ref-name = 'radio_app_common_hdr::value'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1a03c1016ac46b9df250b994f242cf956a'; + func-mem-ref-line = '176'; + func-mem-ref-name = 'radio_app_common_hdr::frame_id'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1a2c655c9f7a861ed572ea29f90392edda'; + func-mem-ref-line = '189'; + func-mem-ref-name = 'radio_app_common_hdr::subframe_id'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1a02c1d0a330aa46a1bfee985080d93cd4'; + func-mem-ref-line = '185'; + func-mem-ref-name = 'radio_app_common_hdr::slot_id'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1acbbef8fd7acac33a2a461e15a43112ba'; + func-mem-ref-line = '183'; + func-mem-ref-name = 'radio_app_common_hdr::symb_id'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__up_8h_1a9f9f2f87d8b5cc7e4af6ef3e2c4c8189'; + func-mem-ref-line = '69'; + func-mem-ref-name = 'data_section_hdr::all_bits'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__up_8h_1acb00c5e7ebe809fda7288c699eed867c'; + func-mem-ref-line = '71'; + func-mem-ref-name = 'data_section_hdr::num_prbu'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__up_8h_1a486aca552c11b7046ca3066ebf4241dc'; + func-mem-ref-line = '72'; + func-mem-ref-name = 'data_section_hdr::start_prbu'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__up_8h_1aba23e80ad7dc1c3f7085ba3a2b4662bb'; + func-mem-ref-line = '73'; + func-mem-ref-name = 'data_section_hdr::sym_inc'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__up_8h_1ac91b2b11ae96c1a44e8a2fad473771c7'; + func-mem-ref-line = '74'; + func-mem-ref-name = 'data_section_hdr::rb'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__up_8h_1a11d1616fb975ccafbc33ab590fe501c4'; + func-mem-ref-line = '75'; + func-mem-ref-name = 'data_section_hdr::sect_id'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt__up_8h_1a4638fbd317b5d0c464ef9483038564b0'; + func-mem-ref-line = '92'; + func-mem-ref-name = 'data_section_compression_hdr::ud_comp_hdr'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1ae12079177feb5d2ee414356fc18473cf'; + func-mem-ref-line = '213'; + func-mem-ref-name = 'compression_hdr::ud_comp_meth'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__pkt_8h_1ab3f5c028170bd3bd241a58be8ca8da96'; + func-mem-ref-line = '208'; + func-mem-ref-name = 'compression_hdr::ud_iq_width'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__main_8c_1a273a09cbea9267272f4e2a339059e442'; + func-mem-ref-line = '111'; + func-mem-ref-name = 'xran_lib_ota_tti'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__mlog__lnx_8h_1a1af05b8bdab3c12648a013c0cda7bbc0'; + func-mem-ref-line = '49'; + func-mem-ref-name = 'MLogAddVariables'; + }; + func-mem-referenceto = { + func-mem-ref-id = 'xran__mlog__lnx_8h_1ab3a08558e2971726cddceed59f9fd3bd'; + func-mem-ref-line = '42'; + func-mem-ref-name = 'MLogTick'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'u__plane__functional_8cc_1a17e5d82ac5aec3860b1324a80fda79ed'; + func-mem-ref-line = '61'; + func-mem-ref-name = 'TEST_P'; + }; + func-mem-referenceby = { + func-mem-ref-id = 'xran__common_8c_1a3d4bd5c7eec6da4ab71688e209100761'; + func-mem-ref-line = '143'; + func-mem-ref-name = 'process_mbuf'; + }; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xran__up__api_8h_1acd8f547b98d7ebd7dbc41c486a26505d'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'xran_prepare_iq_symbol_portion'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct rte_mbuf * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'mbuf'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const void * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'iq_data_start'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const enum xran_input_byte_order +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'iq_buf_byte_order'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +const uint32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'iq_data_num_bytes'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +struct xran_up_pkt_gen_params * +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'params'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'CC_ID'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'Ant_ID'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint8_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'seq_id'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +uint32_t +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'do_copy'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_up_api.h'; + func-mem-desc-line = '93'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ +Function for starting preparion of IQ samples portions + to be sent in xRAN packet. +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ +@param mbuf Initialized rte_mbuf packet. +@param iq_data_start Address of the first element in IQ data array. +@param iq_data_num_bytes Size of the IQ data array. +@param iq_data_offset IQ data bytes already sent. +@param alignment Size of IQ data alignment. +@param pkt_gen_params Struct with parameters used for building packet +@return int Number of bytes that have been appended + to the packet within all appended sections. +_EnD_oF_dEf_TeXt_; + func-mem-referenceby = { + func-mem-ref-id = 'xran__common_8c_1adc9636576fb70f4b4fcfd1d03fe59998'; + func-mem-ref-line = '348'; + func-mem-ref-name = 'prepare_symbol_ex'; + }; + }; /* func-member */ + }; + file-full-name = '/home/jonathan/dev/gerrit/phy/fhi_lib/lib/api/xran_up_api.h'; + file-first-line = '1'; + file-briefdesc = <<_EnD_oF_dEf_TeXt_ +This file provides the definitions for User Plane Messages APIs. +_EnD_oF_dEf_TeXt_; + file-documentation = <<_EnD_oF_dEf_TeXt_ +@author Intel Corporation +_EnD_oF_dEf_TeXt_; +}; /* file */ +file = { + file-id = 'xranlib__unit__test__main_8cc'; + file-name = 'xranlib_unit_test_main.cc'; + func = { + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xranlib__unit__test__main_8cc_1ae1a822d108363d67859905ae324c28df'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +static int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'parse_input_parameter'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +std::string +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'executable'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +std::string +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'option'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xranlib_unit_test_main.cc'; + func-mem-desc-line = '26'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + }; /* func-member */ + func-member = { + func-mem-kind = 'function'; + func-mem-id = 'xranlib__unit__test__main_8cc_1a3c04138a5bfe5d72780bb7e82a18e627'; + func-mem-virt = normal; + func-mem-prot = public; + func-mem-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-name = 'main'; + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +int +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'argc'; + }; /* func-mem-param--param */ + func-mem-param = { + func-mem-param-type = <<_EnD_oF_dEf_TeXt_ +char ** +_EnD_oF_dEf_TeXt_; + func-mem-param-declname = 'argv'; + }; /* func-mem-param--param */ + func-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xranlib_unit_test_main.cc'; + func-mem-desc-line = '46'; + func-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + func-mem-referenceto = { + func-mem-ref-id = 'common_8hpp_1a7f1e5652bb40ab5c264473c82ac23beb'; + func-mem-ref-line = '66'; + func-mem-ref-name = 'BenchmarkParameters::repetition'; + }; + }; /* func-member */ + }; + var = { + var-member = { + var-mem-kind = 'variable'; + var-mem-id = 'xranlib__unit__test__main_8cc_1a1b2100f9f398243bb4bdbf0db003b9a3'; + var-mem-virt = normal; + var-mem-prot = public; + var-mem-type = <<_EnD_oF_dEf_TeXt_ +xranLibWraper * +_EnD_oF_dEf_TeXt_; + var-mem-name = 'xranlib'; + var-mem-desc-file = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xranlib_unit_test_main.cc'; + var-mem-desc-line = '44'; + var-mem-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + var-mem-referenceby = { + var-mem-ref-id = 'chain__tests_8cc_1af4e08ea14f09b53fce43ec39aba7a605'; + var-mem-ref-line = '49'; + var-mem-ref-name = 'xran_ut_tx_cp_dl'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'chain__tests_8cc_1a61f8088ed26f5ccc6a323c3b0feb66c2'; + var-mem-ref-line = '55'; + var-mem-ref-name = 'xran_ut_tx_cp_ul'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'chain__tests_8cc_1a73639c0dcf18fe068dc350fc0c8ba2f2'; + var-mem-ref-line = '61'; + var-mem-ref-name = 'xran_ut_tx_up_dl'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'chain__tests_8cc_1ad274ca70e6c47c2c549422b1cba1f0b0'; + var-mem-ref-line = '67'; + var-mem-ref-name = 'xran_ut_tx_cpup_dl'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'chain__tests_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + var-mem-ref-line = '135'; + var-mem-ref-name = 'TestChain::SetUp'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'chain__tests_8cc_1a6c5f599800ca755367ad7df4da60eb86'; + var-mem-ref-line = '226'; + var-mem-ref-name = 'TEST_P'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'init__sys__functional_8cc_1a3a1707f6479611fdc609a3eb8a0cef1b'; + var-mem-ref-line = '79'; + var-mem-ref-name = 'Init_Sys_Check::SetUp'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'init__sys__functional_8cc_1ac4fca95dc3b93372ce7f2078baf8e8b6'; + var-mem-ref-line = '86'; + var-mem-ref-name = 'Init_Sys_Check::TearDown'; + }; + var-mem-referenceby = { + var-mem-ref-id = 'xran__lib__wrap_8hpp_1a7d671b9b851d9b0fbae6777e85643c3b'; + var-mem-ref-line = '1148'; + var-mem-ref-name = 'xranLibWraper::get_cfg_fh'; + }; + }; /* var-member */ + }; + file-full-name = '/home/jonathan/dev/gerrit/phy/fhi_lib/test/common/xranlib_unit_test_main.cc'; + file-first-line = '1'; + file-briefdesc = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; + file-documentation = <<_EnD_oF_dEf_TeXt_ + +_EnD_oF_dEf_TeXt_; +}; /* file */ diff --git a/docs/API/deprecated.html b/docs/API/deprecated.html new file mode 100644 index 0000000..7fba909 --- /dev/null +++ b/docs/API/deprecated.html @@ -0,0 +1,78 @@ + + + + + + + +o-du/phy: Deprecated List + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
Deprecated List
+
+
+
+
Global basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::basic_json (std::istream &i, const parser_callback_t cb=nullptr)
+
This constructor is deprecated and will be removed in version 3.0.0 to unify the interface of the library. Deserialization will be done by stream operators or by calling one of the parse functions, e.g. parse(std::istream&, const parser_callback_t). That is, calls like json j(i); for an input stream i need to be replaced by json j = json::parse(i);. See the example below.
+
+
+ + + + diff --git a/docs/API/dir_000001_000003.html b/docs/API/dir_000001_000003.html new file mode 100644 index 0000000..1b30e5b --- /dev/null +++ b/docs/API/dir_000001_000003.html @@ -0,0 +1,74 @@ + + + + + + + +o-du/phy: /home/jonathan/dev/gerrit/phy/fhi_lib/app -> lib Relation + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+ + + + + diff --git a/docs/API/dir_000001_000006.html b/docs/API/dir_000001_000006.html new file mode 100644 index 0000000..094643f --- /dev/null +++ b/docs/API/dir_000001_000006.html @@ -0,0 +1,74 @@ + + + + + + + +o-du/phy: test -> lib Relation + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+

test → lib Relation

File in fhi_lib/testIncludes file in fhi_lib/lib
common / xran_lib_wrap.hppsrc / xran_common.h
common / xran_lib_wrap.hppapi / xran_fh_o_du.h
common / xran_lib_wrap.hppsrc / xran_frame_struct.h
test_xran / c_plane_tests.ccsrc / xran_common.h
test_xran / c_plane_tests.ccapi / xran_fh_o_du.h
test_xran / c_plane_tests.ccethernet / ethdi.h
test_xran / c_plane_tests.ccethernet / ethernet.h
test_xran / c_plane_tests.ccapi / xran_transport.h
test_xran / c_plane_tests.ccapi / xran_cp_api.h
test_xran / chain_tests.ccsrc / xran_common.h
test_xran / chain_tests.ccapi / xran_fh_o_du.h
test_xran / chain_tests.ccethernet / ethdi.h
test_xran / chain_tests.ccethernet / ethernet.h
test_xran / chain_tests.ccapi / xran_transport.h
test_xran / chain_tests.ccapi / xran_cp_api.h
test_xran / compander_functional.ccapi / xran_fh_o_du.h
test_xran / compander_functional.ccapi / xran_compression.h
test_xran / compander_functional.ccapi / xran_compression.hpp
test_xran / init_sys_functional.ccapi / xran_fh_o_du.h
test_xran / init_sys_functional.ccapi / xran_cp_api.h
test_xran / init_sys_functional.ccsrc / xran_common.h
test_xran / init_sys_functional.ccethernet / ethdi.h
test_xran / prach_functional.ccsrc / xran_common.h
test_xran / prach_functional.ccapi / xran_fh_o_du.h
test_xran / prach_functional.ccethernet / ethernet.h
test_xran / prach_functional.ccapi / xran_transport.h
test_xran / prach_functional.ccapi / xran_cp_api.h
test_xran / prach_performance.ccsrc / xran_common.h
test_xran / prach_performance.ccapi / xran_fh_o_du.h
test_xran / prach_performance.ccethernet / ethernet.h
test_xran / prach_performance.ccapi / xran_transport.h
test_xran / prach_performance.ccapi / xran_cp_api.h
test_xran / u_plane_functional.ccsrc / xran_common.h
test_xran / u_plane_functional.ccapi / xran_up_api.h
test_xran / u_plane_functional.ccapi / xran_fh_o_du.h
test_xran / u_plane_functional.ccethernet / ethernet.h
test_xran / u_plane_performance.ccsrc / xran_common.h
test_xran / u_plane_performance.ccapi / xran_fh_o_du.h
test_xran / u_plane_performance.ccethernet / ethernet.h
test_xran / unittests.ccapi / xran_compression.h
+ + + + diff --git a/docs/API/dir_000002_000003.html b/docs/API/dir_000002_000003.html new file mode 100644 index 0000000..d802011 --- /dev/null +++ b/docs/API/dir_000002_000003.html @@ -0,0 +1,74 @@ + + + + + + + +o-du/phy: /home/jonathan/dev/gerrit/phy/fhi_lib/app/src -> lib Relation + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+ + + + + diff --git a/docs/API/dir_000002_000005.html b/docs/API/dir_000002_000005.html new file mode 100644 index 0000000..5fe1713 --- /dev/null +++ b/docs/API/dir_000002_000005.html @@ -0,0 +1,74 @@ + + + + + + + +o-du/phy: test_xran -> common Relation + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+ + + + + diff --git a/docs/API/dir_000002_000006.html b/docs/API/dir_000002_000006.html new file mode 100644 index 0000000..6b2fb03 --- /dev/null +++ b/docs/API/dir_000002_000006.html @@ -0,0 +1,74 @@ + + + + + + + +o-du/phy: test_xran -> lib Relation + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+

test_xran → lib Relation

File in fhi_lib/test/test_xranIncludes file in fhi_lib/lib
c_plane_tests.ccethernet / ethdi.h
c_plane_tests.ccethernet / ethernet.h
c_plane_tests.ccsrc / xran_common.h
c_plane_tests.ccapi / xran_cp_api.h
c_plane_tests.ccapi / xran_fh_o_du.h
c_plane_tests.ccapi / xran_transport.h
chain_tests.ccethernet / ethdi.h
chain_tests.ccethernet / ethernet.h
chain_tests.ccsrc / xran_common.h
chain_tests.ccapi / xran_cp_api.h
chain_tests.ccapi / xran_fh_o_du.h
chain_tests.ccapi / xran_transport.h
compander_functional.ccapi / xran_compression.h
compander_functional.ccapi / xran_compression.hpp
compander_functional.ccapi / xran_fh_o_du.h
init_sys_functional.ccethernet / ethdi.h
init_sys_functional.ccsrc / xran_common.h
init_sys_functional.ccapi / xran_cp_api.h
init_sys_functional.ccapi / xran_fh_o_du.h
prach_functional.ccethernet / ethernet.h
prach_functional.ccsrc / xran_common.h
prach_functional.ccapi / xran_cp_api.h
prach_functional.ccapi / xran_fh_o_du.h
prach_functional.ccapi / xran_transport.h
prach_performance.ccethernet / ethernet.h
prach_performance.ccsrc / xran_common.h
prach_performance.ccapi / xran_cp_api.h
prach_performance.ccapi / xran_fh_o_du.h
prach_performance.ccapi / xran_transport.h
u_plane_functional.ccethernet / ethernet.h
u_plane_functional.ccsrc / xran_common.h
u_plane_functional.ccapi / xran_fh_o_du.h
u_plane_functional.ccapi / xran_up_api.h
u_plane_performance.ccethernet / ethernet.h
u_plane_performance.ccsrc / xran_common.h
u_plane_performance.ccapi / xran_fh_o_du.h
unittests.ccapi / xran_compression.h
+ + + + diff --git a/docs/API/dir_000003_000006.html b/docs/API/dir_000003_000006.html new file mode 100644 index 0000000..ea50380 --- /dev/null +++ b/docs/API/dir_000003_000006.html @@ -0,0 +1,74 @@ + + + + + + + +o-du/phy: app -> lib Relation + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+ + + + + diff --git a/docs/API/dir_000004_000006.html b/docs/API/dir_000004_000006.html new file mode 100644 index 0000000..40267d0 --- /dev/null +++ b/docs/API/dir_000004_000006.html @@ -0,0 +1,74 @@ + + + + + + + +o-du/phy: src -> lib Relation + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+ + + + + diff --git a/docs/API/dir_000005_000004.html b/docs/API/dir_000005_000004.html new file mode 100644 index 0000000..8d448d7 --- /dev/null +++ b/docs/API/dir_000005_000004.html @@ -0,0 +1,74 @@ + + + + + + + +o-du/phy: /home/jonathan/dev/gerrit/phy/fhi_lib/lib/ethernet -> api Relation + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+

ethernet → api Relation

File in fhi_lib/lib/ethernetIncludes file in fhi_lib/lib/api
ethdi.cxran_fh_o_du.h
ethdi.cxran_mlog_lnx.h
ethdi.hxran_fh_o_du.h
+ + + + diff --git a/docs/API/dir_000005_000006.html b/docs/API/dir_000005_000006.html new file mode 100644 index 0000000..72255f0 --- /dev/null +++ b/docs/API/dir_000005_000006.html @@ -0,0 +1,74 @@ + + + + + + + +o-du/phy: common -> lib Relation + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+

common → lib Relation

File in fhi_lib/test/commonIncludes file in fhi_lib/lib
xran_lib_wrap.hppsrc / xran_common.h
xran_lib_wrap.hppapi / xran_fh_o_du.h
xran_lib_wrap.hppsrc / xran_frame_struct.h
+ + + + diff --git a/docs/API/dir_000006_000004.html b/docs/API/dir_000006_000004.html new file mode 100644 index 0000000..f5dff52 --- /dev/null +++ b/docs/API/dir_000006_000004.html @@ -0,0 +1,74 @@ + + + + + + + +o-du/phy: /home/jonathan/dev/gerrit/phy/fhi_lib/lib/src -> api Relation + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+ + + + + diff --git a/docs/API/dir_000006_000005.html b/docs/API/dir_000006_000005.html new file mode 100644 index 0000000..5947540 --- /dev/null +++ b/docs/API/dir_000006_000005.html @@ -0,0 +1,74 @@ + + + + + + + +o-du/phy: /home/jonathan/dev/gerrit/phy/fhi_lib/lib/src -> ethernet Relation + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+

src → ethernet Relation

File in fhi_lib/lib/srcIncludes file in fhi_lib/lib/ethernet
xran_common.cethdi.h
xran_main.cethdi.h
xran_timer.cethdi.h
+ + + + diff --git a/docs/API/dir_000007_000003.html b/docs/API/dir_000007_000003.html new file mode 100644 index 0000000..86b6f19 --- /dev/null +++ b/docs/API/dir_000007_000003.html @@ -0,0 +1,74 @@ + + + + + + + +o-du/phy: /home/jonathan/dev/gerrit/phy/fhi_lib/test -> lib Relation + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+

test → lib Relation

File in fhi_lib/testIncludes file in fhi_lib/lib
common / xran_lib_wrap.hppsrc / xran_common.h
common / xran_lib_wrap.hppapi / xran_fh_o_du.h
common / xran_lib_wrap.hppsrc / xran_frame_struct.h
test_xran / c_plane_tests.ccsrc / xran_common.h
test_xran / c_plane_tests.ccapi / xran_fh_o_du.h
test_xran / c_plane_tests.ccethernet / ethdi.h
test_xran / c_plane_tests.ccethernet / ethernet.h
test_xran / c_plane_tests.ccapi / xran_transport.h
test_xran / c_plane_tests.ccapi / xran_cp_api.h
test_xran / chain_tests.ccsrc / xran_common.h
test_xran / chain_tests.ccapi / xran_fh_o_du.h
test_xran / chain_tests.ccethernet / ethdi.h
test_xran / chain_tests.ccethernet / ethernet.h
test_xran / chain_tests.ccapi / xran_transport.h
test_xran / chain_tests.ccapi / xran_cp_api.h
test_xran / compander_functional.ccapi / xran_fh_o_du.h
test_xran / compander_functional.ccapi / xran_compression.h
test_xran / compander_functional.ccapi / xran_compression.hpp
test_xran / init_sys_functional.ccapi / xran_fh_o_du.h
test_xran / init_sys_functional.ccapi / xran_cp_api.h
test_xran / init_sys_functional.ccsrc / xran_common.h
test_xran / init_sys_functional.ccethernet / ethdi.h
test_xran / prach_functional.ccsrc / xran_common.h
test_xran / prach_functional.ccapi / xran_fh_o_du.h
test_xran / prach_functional.ccethernet / ethernet.h
test_xran / prach_functional.ccapi / xran_transport.h
test_xran / prach_functional.ccapi / xran_cp_api.h
test_xran / prach_performance.ccsrc / xran_common.h
test_xran / prach_performance.ccapi / xran_fh_o_du.h
test_xran / prach_performance.ccethernet / ethernet.h
test_xran / prach_performance.ccapi / xran_transport.h
test_xran / prach_performance.ccapi / xran_cp_api.h
test_xran / u_plane_functional.ccsrc / xran_common.h
test_xran / u_plane_functional.ccapi / xran_up_api.h
test_xran / u_plane_functional.ccapi / xran_fh_o_du.h
test_xran / u_plane_functional.ccethernet / ethernet.h
test_xran / u_plane_performance.ccsrc / xran_common.h
test_xran / u_plane_performance.ccapi / xran_fh_o_du.h
test_xran / u_plane_performance.ccethernet / ethernet.h
test_xran / unittests.ccapi / xran_compression.h
+ + + + diff --git a/docs/API/dir_000007_000008.html b/docs/API/dir_000007_000008.html new file mode 100644 index 0000000..72b49a8 --- /dev/null +++ b/docs/API/dir_000007_000008.html @@ -0,0 +1,74 @@ + + + + + + + +o-du/phy: ethernet -> src Relation + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+

ethernet → src Relation

File in fhi_lib/lib/ethernetIncludes file in fhi_lib/lib/src
ethdi.cxran_lib_mlog_tasks_id.h
ethdi.cxran_printf.h
+ + + + diff --git a/docs/API/dir_000007_000009.html b/docs/API/dir_000007_000009.html new file mode 100644 index 0000000..177bf34 --- /dev/null +++ b/docs/API/dir_000007_000009.html @@ -0,0 +1,74 @@ + + + + + + + +o-du/phy: ethernet -> api Relation + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+

ethernet → api Relation

File in fhi_lib/lib/ethernetIncludes file in fhi_lib/lib/api
ethdi.cxran_fh_o_du.h
ethdi.cxran_mlog_lnx.h
ethdi.hxran_fh_o_du.h
+ + + + diff --git a/docs/API/dir_000008_000003.html b/docs/API/dir_000008_000003.html new file mode 100644 index 0000000..239f4f4 --- /dev/null +++ b/docs/API/dir_000008_000003.html @@ -0,0 +1,74 @@ + + + + + + + +o-du/phy: /home/jonathan/dev/gerrit/phy/fhi_lib/test/common -> lib Relation + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+

common → lib Relation

File in fhi_lib/test/commonIncludes file in fhi_lib/lib
xran_lib_wrap.hppsrc / xran_common.h
xran_lib_wrap.hppapi / xran_fh_o_du.h
xran_lib_wrap.hppsrc / xran_frame_struct.h
+ + + + diff --git a/docs/API/dir_000008_000007.html b/docs/API/dir_000008_000007.html new file mode 100644 index 0000000..4fb450f --- /dev/null +++ b/docs/API/dir_000008_000007.html @@ -0,0 +1,74 @@ + + + + + + + +o-du/phy: src -> ethernet Relation + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+

src → ethernet Relation

File in fhi_lib/lib/srcIncludes file in fhi_lib/lib/ethernet
xran_common.cethdi.h
xran_main.cethdi.h
xran_timer.cethdi.h
+ + + + diff --git a/docs/API/dir_000008_000009.html b/docs/API/dir_000008_000009.html new file mode 100644 index 0000000..48159e7 --- /dev/null +++ b/docs/API/dir_000008_000009.html @@ -0,0 +1,74 @@ + + + + + + + +o-du/phy: src -> api Relation + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+ + + + + diff --git a/docs/API/dir_000009_000003.html b/docs/API/dir_000009_000003.html new file mode 100644 index 0000000..a3b6028 --- /dev/null +++ b/docs/API/dir_000009_000003.html @@ -0,0 +1,74 @@ + + + + + + + +o-du/phy: /home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran -> lib Relation + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+

test_xran → lib Relation

File in fhi_lib/test/test_xranIncludes file in fhi_lib/lib
c_plane_tests.ccethernet / ethdi.h
c_plane_tests.ccethernet / ethernet.h
c_plane_tests.ccsrc / xran_common.h
c_plane_tests.ccapi / xran_cp_api.h
c_plane_tests.ccapi / xran_fh_o_du.h
c_plane_tests.ccapi / xran_transport.h
chain_tests.ccethernet / ethdi.h
chain_tests.ccethernet / ethernet.h
chain_tests.ccsrc / xran_common.h
chain_tests.ccapi / xran_cp_api.h
chain_tests.ccapi / xran_fh_o_du.h
chain_tests.ccapi / xran_transport.h
compander_functional.ccapi / xran_compression.h
compander_functional.ccapi / xran_compression.hpp
compander_functional.ccapi / xran_fh_o_du.h
init_sys_functional.ccethernet / ethdi.h
init_sys_functional.ccsrc / xran_common.h
init_sys_functional.ccapi / xran_cp_api.h
init_sys_functional.ccapi / xran_fh_o_du.h
prach_functional.ccethernet / ethernet.h
prach_functional.ccsrc / xran_common.h
prach_functional.ccapi / xran_cp_api.h
prach_functional.ccapi / xran_fh_o_du.h
prach_functional.ccapi / xran_transport.h
prach_performance.ccethernet / ethernet.h
prach_performance.ccsrc / xran_common.h
prach_performance.ccapi / xran_cp_api.h
prach_performance.ccapi / xran_fh_o_du.h
prach_performance.ccapi / xran_transport.h
u_plane_functional.ccethernet / ethernet.h
u_plane_functional.ccsrc / xran_common.h
u_plane_functional.ccapi / xran_fh_o_du.h
u_plane_functional.ccapi / xran_up_api.h
u_plane_performance.ccethernet / ethernet.h
u_plane_performance.ccsrc / xran_common.h
u_plane_performance.ccapi / xran_fh_o_du.h
unittests.ccapi / xran_compression.h
+ + + + diff --git a/docs/API/dir_000009_000008.html b/docs/API/dir_000009_000008.html new file mode 100644 index 0000000..b2a83a5 --- /dev/null +++ b/docs/API/dir_000009_000008.html @@ -0,0 +1,74 @@ + + + + + + + +o-du/phy: /home/jonathan/dev/gerrit/phy/fhi_lib/test/test_xran -> common Relation + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+ + + + + diff --git a/docs/API/dir_1bd9561fc3fad99ea06f3a94905f6e7f.html b/docs/API/dir_1bd9561fc3fad99ea06f3a94905f6e7f.html new file mode 100644 index 0000000..923c638 --- /dev/null +++ b/docs/API/dir_1bd9561fc3fad99ea06f3a94905f6e7f.html @@ -0,0 +1,106 @@ + + + + + + + +o-du/phy: common Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
common Directory Reference
+
+
+
+Directory dependency graph for common:
+
+
common
+ + + + + + +
+ + + + + + + + + + + + + + + +

+Files

file  common.cpp [code]
 
file  common.hpp [code]
 
file  common_typedef_xran.h [code]
 This header file defines those data type both used by eNB and UE.
 
file  json.hpp [code]
 
file  xran_lib_wrap.hpp [code]
 
file  xranlib_unit_test_main.cc [code]
 
+
+ + + + diff --git a/docs/API/dir_1bd9561fc3fad99ea06f3a94905f6e7f_dep.map b/docs/API/dir_1bd9561fc3fad99ea06f3a94905f6e7f_dep.map new file mode 100644 index 0000000..cdaec38 --- /dev/null +++ b/docs/API/dir_1bd9561fc3fad99ea06f3a94905f6e7f_dep.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/API/dir_1bd9561fc3fad99ea06f3a94905f6e7f_dep.md5 b/docs/API/dir_1bd9561fc3fad99ea06f3a94905f6e7f_dep.md5 new file mode 100644 index 0000000..5180037 --- /dev/null +++ b/docs/API/dir_1bd9561fc3fad99ea06f3a94905f6e7f_dep.md5 @@ -0,0 +1 @@ +fc50d90f4b65f6eafae2d5f544106ff8 \ No newline at end of file diff --git a/docs/API/dir_1bd9561fc3fad99ea06f3a94905f6e7f_dep.png b/docs/API/dir_1bd9561fc3fad99ea06f3a94905f6e7f_dep.png new file mode 100644 index 0000000..d62af6f Binary files /dev/null and b/docs/API/dir_1bd9561fc3fad99ea06f3a94905f6e7f_dep.png differ diff --git a/docs/API/dir_4b76f00ffa3e05ab9c225ea6671f6b6c.html b/docs/API/dir_4b76f00ffa3e05ab9c225ea6671f6b6c.html new file mode 100644 index 0000000..2994441 --- /dev/null +++ b/docs/API/dir_4b76f00ffa3e05ab9c225ea6671f6b6c.html @@ -0,0 +1,101 @@ + + + + + + + +o-du/phy: app Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
app Directory Reference
+
+
+
+Directory dependency graph for app:
+
+
app
+ + + + + + + +
+ + + + +

+Directories

directory  src
 
+ + + +

+Files

file  gen_test.m [code]
 
+
+ + + + diff --git a/docs/API/dir_4b76f00ffa3e05ab9c225ea6671f6b6c_dep.map b/docs/API/dir_4b76f00ffa3e05ab9c225ea6671f6b6c_dep.map new file mode 100644 index 0000000..f084253 --- /dev/null +++ b/docs/API/dir_4b76f00ffa3e05ab9c225ea6671f6b6c_dep.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/API/dir_4b76f00ffa3e05ab9c225ea6671f6b6c_dep.md5 b/docs/API/dir_4b76f00ffa3e05ab9c225ea6671f6b6c_dep.md5 new file mode 100644 index 0000000..2331c57 --- /dev/null +++ b/docs/API/dir_4b76f00ffa3e05ab9c225ea6671f6b6c_dep.md5 @@ -0,0 +1 @@ +04f4bd4fa76b3ee6a155db8137ab51c9 \ No newline at end of file diff --git a/docs/API/dir_4b76f00ffa3e05ab9c225ea6671f6b6c_dep.png b/docs/API/dir_4b76f00ffa3e05ab9c225ea6671f6b6c_dep.png new file mode 100644 index 0000000..2841b56 Binary files /dev/null and b/docs/API/dir_4b76f00ffa3e05ab9c225ea6671f6b6c_dep.png differ diff --git a/docs/API/dir_5cc0cc0264b57168b75ca56bde6cc403.html b/docs/API/dir_5cc0cc0264b57168b75ca56bde6cc403.html new file mode 100644 index 0000000..6168341 --- /dev/null +++ b/docs/API/dir_5cc0cc0264b57168b75ca56bde6cc403.html @@ -0,0 +1,104 @@ + + + + + + + +o-du/phy: lib Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
lib Directory Reference
+
+
+
+Directory dependency graph for lib:
+
+
lib
+ + + + + + + + + + + +
+ + + + + + + + +

+Directories

directory  api
 
directory  ethernet
 
directory  src
 
+
+ + + + diff --git a/docs/API/dir_5cc0cc0264b57168b75ca56bde6cc403_dep.map b/docs/API/dir_5cc0cc0264b57168b75ca56bde6cc403_dep.map new file mode 100644 index 0000000..0188008 --- /dev/null +++ b/docs/API/dir_5cc0cc0264b57168b75ca56bde6cc403_dep.map @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/docs/API/dir_5cc0cc0264b57168b75ca56bde6cc403_dep.md5 b/docs/API/dir_5cc0cc0264b57168b75ca56bde6cc403_dep.md5 new file mode 100644 index 0000000..66ee4d4 --- /dev/null +++ b/docs/API/dir_5cc0cc0264b57168b75ca56bde6cc403_dep.md5 @@ -0,0 +1 @@ +08a0274e2d91dbb85e6e21392fb4849e \ No newline at end of file diff --git a/docs/API/dir_5cc0cc0264b57168b75ca56bde6cc403_dep.png b/docs/API/dir_5cc0cc0264b57168b75ca56bde6cc403_dep.png new file mode 100644 index 0000000..f94dd3b Binary files /dev/null and b/docs/API/dir_5cc0cc0264b57168b75ca56bde6cc403_dep.png differ diff --git a/docs/API/dir_7b477aa413287cfa2199e983b77d66dd.html b/docs/API/dir_7b477aa413287cfa2199e983b77d66dd.html new file mode 100644 index 0000000..6863620 --- /dev/null +++ b/docs/API/dir_7b477aa413287cfa2199e983b77d66dd.html @@ -0,0 +1,116 @@ + + + + + + + +o-du/phy: api Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
api Directory Reference
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Files

file  xran_compression.h [code]
 External API for compading with the use BFP algorithm.
 
file  xran_compression.hpp [code]
 
file  xran_cp_api.h [code]
 This file provides the definitions for Control Plane Messages APIs.
 
file  xran_fh_o_du.h [code]
 This file provides public interface to xRAN Front Haul layer implementation as defined in the ORAN-WG4.CUS.0-v01.00 spec. Implementation specific to Lower Layer Split Central Unit (O-DU): a logical node that includes the eNB/gNB functions as listed in section 2.1 split option 7-2x, excepting those functions allocated exclusively to the O-RU. The O-DU controls the operation of O-RUs for 5G NR Radio Access technology.
 
file  xran_mlog_lnx.h [code]
 
file  xran_pkt.h [code]
 Definitions and support functions to process XRAN packet.
 
file  xran_pkt_cp.h [code]
 This file provides the definition of Control Plane Messages for XRAN Front Haul layer as defined in XRAN-FH.CUS.0-v02.01.
 
file  xran_pkt_up.h [code]
 Definitions and support functions to process XRAN packet.
 
file  xran_sync_api.h [code]
 This file provides interface to synchronization related APIs (PTP/1588) for XRAN.
 
file  xran_timer.h [code]
 This file provides interface to Timing for XRAN.
 
file  xran_transport.h [code]
 This file provides the definitions for Transport layer (eCPRI) API.
 
file  xran_up_api.h [code]
 This file provides the definitions for User Plane Messages APIs.
 
+
+ + + + diff --git a/docs/API/dir_88a772f59406d8641777e8d7da928916.html b/docs/API/dir_88a772f59406d8641777e8d7da928916.html new file mode 100644 index 0000000..045e3a4 --- /dev/null +++ b/docs/API/dir_88a772f59406d8641777e8d7da928916.html @@ -0,0 +1,109 @@ + + + + + + + +o-du/phy: ethernet Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
ethernet Directory Reference
+
+
+
+Directory dependency graph for ethernet:
+
+
ethernet
+ + + + + + + + + + +
+ + + + + + + + + + + + + + +

+Files

file  ethdi.c [code]
 This file has all definitions for the Ethernet Data Interface Layer.
 
file  ethdi.h [code]
 This file has all definitions for the Ethernet Data Interface Layer.
 
file  ethernet.c [code]
 This file has all definitions for the Ethernet Data Interface Layer.
 
file  ethernet.h [code]
 This file has all definitions for the Ethernet Data Interface Layer.
 
+
+ + + + diff --git a/docs/API/dir_88a772f59406d8641777e8d7da928916_dep.map b/docs/API/dir_88a772f59406d8641777e8d7da928916_dep.map new file mode 100644 index 0000000..3b337d5 --- /dev/null +++ b/docs/API/dir_88a772f59406d8641777e8d7da928916_dep.map @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/docs/API/dir_88a772f59406d8641777e8d7da928916_dep.md5 b/docs/API/dir_88a772f59406d8641777e8d7da928916_dep.md5 new file mode 100644 index 0000000..707175e --- /dev/null +++ b/docs/API/dir_88a772f59406d8641777e8d7da928916_dep.md5 @@ -0,0 +1 @@ +baf9db51cdf6df2a075c250052abfa42 \ No newline at end of file diff --git a/docs/API/dir_88a772f59406d8641777e8d7da928916_dep.png b/docs/API/dir_88a772f59406d8641777e8d7da928916_dep.png new file mode 100644 index 0000000..02d1db3 Binary files /dev/null and b/docs/API/dir_88a772f59406d8641777e8d7da928916_dep.png differ diff --git a/docs/API/dir_9fc50806095da30fbd4a2dbe2e456ff5.html b/docs/API/dir_9fc50806095da30fbd4a2dbe2e456ff5.html new file mode 100644 index 0000000..dec9ded --- /dev/null +++ b/docs/API/dir_9fc50806095da30fbd4a2dbe2e456ff5.html @@ -0,0 +1,142 @@ + + + + + + + +o-du/phy: src Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
src Directory Reference
+
+
+
+Directory dependency graph for src:
+
+
src
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Files

file  xran_app_frag.c [code]
 xRAN application frgamentation for U-plane packets
 
file  xran_app_frag.h [code]
 Header file for functions to perform application level fragmentation.
 
file  xran_common.c [code]
 XRAN layer common functionality for both O-DU and O-RU as well as C-plane and U-plane.
 
file  xran_common.h [code]
 XRAN layer common functionality for both lls-CU and RU as well as C-plane and U-plane.
 
file  xran_compression.cpp [code]
 
file  xran_cp_api.c [code]
 This file provides the API functions to build Control Plane Messages for XRAN Front Haul layer as defined in XRAN-FH.CUS.0-v02.01.
 
file  xran_frame_struct.c [code]
 
file  xran_frame_struct.h [code]
 Header file for function to work with 5G NR frame structure and related routines.
 
file  xran_lib_mlog_tasks_id.h [code]
 
file  xran_main.c [code]
 XRAN main functionality module.
 
file  xran_printf.h [code]
 Modules provide debug prints and utility functions.
 
file  xran_sync_api.c [code]
 This file provides implementation of synchronization related APIs (PTP/1588) for XRAN.
 
file  xran_timer.c [code]
 This file provides implementation to Timing for XRAN.
 
file  xran_transport.c [code]
 This file provides the implementation for Transport lyaer (eCPRI) API.
 
file  xran_ul_tables.c [code]
 This file defines those table used in 5G NR spec.
 
file  xran_up_api.c [code]
 This file provides the implementation of User Plane Messages APIs.
 
+
+ + + + diff --git a/docs/API/dir_9fc50806095da30fbd4a2dbe2e456ff5_dep.map b/docs/API/dir_9fc50806095da30fbd4a2dbe2e456ff5_dep.map new file mode 100644 index 0000000..2b29c6b --- /dev/null +++ b/docs/API/dir_9fc50806095da30fbd4a2dbe2e456ff5_dep.map @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/docs/API/dir_9fc50806095da30fbd4a2dbe2e456ff5_dep.md5 b/docs/API/dir_9fc50806095da30fbd4a2dbe2e456ff5_dep.md5 new file mode 100644 index 0000000..83a3b7b --- /dev/null +++ b/docs/API/dir_9fc50806095da30fbd4a2dbe2e456ff5_dep.md5 @@ -0,0 +1 @@ +e569135f9bf191a41bccb47978e3c3c1 \ No newline at end of file diff --git a/docs/API/dir_9fc50806095da30fbd4a2dbe2e456ff5_dep.png b/docs/API/dir_9fc50806095da30fbd4a2dbe2e456ff5_dep.png new file mode 100644 index 0000000..8d2de5e Binary files /dev/null and b/docs/API/dir_9fc50806095da30fbd4a2dbe2e456ff5_dep.png differ diff --git a/docs/API/dir_a4c74d6baed87eba72f3b201b7b4b8f2.html b/docs/API/dir_a4c74d6baed87eba72f3b201b7b4b8f2.html new file mode 100644 index 0000000..399e29f --- /dev/null +++ b/docs/API/dir_a4c74d6baed87eba72f3b201b7b4b8f2.html @@ -0,0 +1,101 @@ + + + + + + + +o-du/phy: fhi_lib Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
fhi_lib Directory Reference
+
+
+
+Directory dependency graph for fhi_lib:
+
+
fhi_lib
+ + + + + + + + +
+ + + + + + + + +

+Directories

directory  app
 
directory  lib
 
directory  test
 
+
+ + + + diff --git a/docs/API/dir_a4c74d6baed87eba72f3b201b7b4b8f2_dep.map b/docs/API/dir_a4c74d6baed87eba72f3b201b7b4b8f2_dep.map new file mode 100644 index 0000000..6754ff7 --- /dev/null +++ b/docs/API/dir_a4c74d6baed87eba72f3b201b7b4b8f2_dep.map @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/API/dir_a4c74d6baed87eba72f3b201b7b4b8f2_dep.md5 b/docs/API/dir_a4c74d6baed87eba72f3b201b7b4b8f2_dep.md5 new file mode 100644 index 0000000..3039972 --- /dev/null +++ b/docs/API/dir_a4c74d6baed87eba72f3b201b7b4b8f2_dep.md5 @@ -0,0 +1 @@ +e3de671afa433a97bf1b226517f98c0a \ No newline at end of file diff --git a/docs/API/dir_a4c74d6baed87eba72f3b201b7b4b8f2_dep.png b/docs/API/dir_a4c74d6baed87eba72f3b201b7b4b8f2_dep.png new file mode 100644 index 0000000..6d7df4f Binary files /dev/null and b/docs/API/dir_a4c74d6baed87eba72f3b201b7b4b8f2_dep.png differ diff --git a/docs/API/dir_babe8eacf738372576863f88f66866a5.html b/docs/API/dir_babe8eacf738372576863f88f66866a5.html new file mode 100644 index 0000000..147b97f --- /dev/null +++ b/docs/API/dir_babe8eacf738372576863f88f66866a5.html @@ -0,0 +1,106 @@ + + + + + + + +o-du/phy: test Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
test Directory Reference
+
+
+
+Directory dependency graph for test:
+
+
test
+ + + + + + + + + + +
+ + + + + + +

+Directories

directory  common
 
directory  test_xran
 
+ + + +

+Files

file  master.py [code]
 
+
+ + + + diff --git a/docs/API/dir_babe8eacf738372576863f88f66866a5_dep.map b/docs/API/dir_babe8eacf738372576863f88f66866a5_dep.map new file mode 100644 index 0000000..1b87f6d --- /dev/null +++ b/docs/API/dir_babe8eacf738372576863f88f66866a5_dep.map @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/docs/API/dir_babe8eacf738372576863f88f66866a5_dep.md5 b/docs/API/dir_babe8eacf738372576863f88f66866a5_dep.md5 new file mode 100644 index 0000000..23380ab --- /dev/null +++ b/docs/API/dir_babe8eacf738372576863f88f66866a5_dep.md5 @@ -0,0 +1 @@ +01dbcf8127bfa7919a09c8cbf9d976b0 \ No newline at end of file diff --git a/docs/API/dir_babe8eacf738372576863f88f66866a5_dep.png b/docs/API/dir_babe8eacf738372576863f88f66866a5_dep.png new file mode 100644 index 0000000..6621455 Binary files /dev/null and b/docs/API/dir_babe8eacf738372576863f88f66866a5_dep.png differ diff --git a/docs/API/dir_dd7de4ccd45f8474612b8f6c09959d91.html b/docs/API/dir_dd7de4ccd45f8474612b8f6c09959d91.html new file mode 100644 index 0000000..41e8989 --- /dev/null +++ b/docs/API/dir_dd7de4ccd45f8474612b8f6c09959d91.html @@ -0,0 +1,107 @@ + + + + + + + +o-du/phy: src Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
src Directory Reference
+
+
+
+Directory dependency graph for src:
+
+
src
+ + + + + + +
+ + + + + + + + + + + + + + + + +

+Files

file  common.c [code]
 
file  common.h [code]
 
file  config.c [code]
 
file  config.h [code]
 
file  debug.h [code]
 
file  sample-app.c [code]
 
file  xran_mlog_task_id.h [code]
 
+
+ + + + diff --git a/docs/API/dir_dd7de4ccd45f8474612b8f6c09959d91_dep.map b/docs/API/dir_dd7de4ccd45f8474612b8f6c09959d91_dep.map new file mode 100644 index 0000000..da61002 --- /dev/null +++ b/docs/API/dir_dd7de4ccd45f8474612b8f6c09959d91_dep.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/API/dir_dd7de4ccd45f8474612b8f6c09959d91_dep.md5 b/docs/API/dir_dd7de4ccd45f8474612b8f6c09959d91_dep.md5 new file mode 100644 index 0000000..ded5749 --- /dev/null +++ b/docs/API/dir_dd7de4ccd45f8474612b8f6c09959d91_dep.md5 @@ -0,0 +1 @@ +f434c61b54e5b8ea042c0838a108be52 \ No newline at end of file diff --git a/docs/API/dir_dd7de4ccd45f8474612b8f6c09959d91_dep.png b/docs/API/dir_dd7de4ccd45f8474612b8f6c09959d91_dep.png new file mode 100644 index 0000000..85251ff Binary files /dev/null and b/docs/API/dir_dd7de4ccd45f8474612b8f6c09959d91_dep.png differ diff --git a/docs/API/dir_eb25680e5ae075ef825a327f00297047.html b/docs/API/dir_eb25680e5ae075ef825a327f00297047.html new file mode 100644 index 0000000..b99cee0 --- /dev/null +++ b/docs/API/dir_eb25680e5ae075ef825a327f00297047.html @@ -0,0 +1,114 @@ + + + + + + + +o-du/phy: test_xran Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
test_xran Directory Reference
+
+
+
+Directory dependency graph for test_xran:
+
+
test_xran
+ + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + +

+Files

file  c_plane_tests.cc [code]
 
file  chain_tests.cc [code]
 
file  compander_functional.cc [code]
 
file  init_sys_functional.cc [code]
 
file  prach_functional.cc [code]
 
file  prach_performance.cc [code]
 
file  u_plane_functional.cc [code]
 
file  u_plane_performance.cc [code]
 
file  unittests.cc [code]
 
+
+ + + + diff --git a/docs/API/dir_eb25680e5ae075ef825a327f00297047_dep.map b/docs/API/dir_eb25680e5ae075ef825a327f00297047_dep.map new file mode 100644 index 0000000..1d5b08b --- /dev/null +++ b/docs/API/dir_eb25680e5ae075ef825a327f00297047_dep.map @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/docs/API/dir_eb25680e5ae075ef825a327f00297047_dep.md5 b/docs/API/dir_eb25680e5ae075ef825a327f00297047_dep.md5 new file mode 100644 index 0000000..684b0fd --- /dev/null +++ b/docs/API/dir_eb25680e5ae075ef825a327f00297047_dep.md5 @@ -0,0 +1 @@ +143c2fa53c5c8263ac595c4a00afa5f6 \ No newline at end of file diff --git a/docs/API/dir_eb25680e5ae075ef825a327f00297047_dep.png b/docs/API/dir_eb25680e5ae075ef825a327f00297047_dep.png new file mode 100644 index 0000000..af28354 Binary files /dev/null and b/docs/API/dir_eb25680e5ae075ef825a327f00297047_dep.png differ diff --git a/docs/API/doc.png b/docs/API/doc.png new file mode 100644 index 0000000..17edabf Binary files /dev/null and b/docs/API/doc.png differ diff --git a/docs/API/doxygen.css b/docs/API/doxygen.css new file mode 100644 index 0000000..4f1ab91 --- /dev/null +++ b/docs/API/doxygen.css @@ -0,0 +1,1596 @@ +/* The standard CSS for doxygen 1.8.13 */ + +body, table, div, p, dl { + font: 400 14px/22px Roboto,sans-serif; +} + +p.reference, p.definition { + font: 400 14px/22px Roboto,sans-serif; +} + +/* @group Heading Levels */ + +h1.groupheader { + font-size: 150%; +} + +.title { + font: 400 14px/28px Roboto,sans-serif; + font-size: 150%; + font-weight: bold; + margin: 10px 2px; +} + +h2.groupheader { + border-bottom: 1px solid #879ECB; + color: #354C7B; + font-size: 150%; + font-weight: normal; + margin-top: 1.75em; + padding-top: 8px; + padding-bottom: 4px; + width: 100%; +} + +h3.groupheader { + font-size: 100%; +} + +h1, h2, h3, h4, h5, h6 { + -webkit-transition: text-shadow 0.5s linear; + -moz-transition: text-shadow 0.5s linear; + -ms-transition: text-shadow 0.5s linear; + -o-transition: text-shadow 0.5s linear; + transition: text-shadow 0.5s linear; + margin-right: 15px; +} + +h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow { + text-shadow: 0 0 15px cyan; +} + +dt { + font-weight: bold; +} + +div.multicol { + -moz-column-gap: 1em; + -webkit-column-gap: 1em; + -moz-column-count: 3; + -webkit-column-count: 3; +} + +p.startli, p.startdd { + margin-top: 2px; +} + +p.starttd { + margin-top: 0px; +} + +p.endli { + margin-bottom: 0px; +} + +p.enddd { + margin-bottom: 4px; +} + +p.endtd { + margin-bottom: 2px; +} + +/* @end */ + +caption { + font-weight: bold; +} + +span.legend { + font-size: 70%; + text-align: center; +} + +h3.version { + font-size: 90%; + text-align: center; +} + +div.qindex, div.navtab{ + background-color: #EBEFF6; + border: 1px solid #A3B4D7; + text-align: center; +} + +div.qindex, div.navpath { + width: 100%; + line-height: 140%; +} + +div.navtab { + margin-right: 15px; +} + +/* @group Link Styling */ + +a { + color: #3D578C; + font-weight: normal; + text-decoration: none; +} + +.contents a:visited { + color: #4665A2; +} + +a:hover { + text-decoration: underline; +} + +a.qindex { + font-weight: bold; +} + +a.qindexHL { + font-weight: bold; + background-color: #9CAFD4; + color: #ffffff; + border: 1px double #869DCA; +} + +.contents a.qindexHL:visited { + color: #ffffff; +} + +a.el { + font-weight: bold; +} + +a.elRef { +} + +a.code, a.code:visited, a.line, a.line:visited { + color: #4665A2; +} + +a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited { + color: #4665A2; +} + +/* @end */ + +dl.el { + margin-left: -1cm; +} + +pre.fragment { + border: 1px solid #C4CFE5; + background-color: #FBFCFD; + padding: 4px 6px; + margin: 4px 8px 4px 2px; + overflow: auto; + word-wrap: break-word; + font-size: 9pt; + line-height: 125%; + font-family: monospace, fixed; + font-size: 105%; +} + +div.fragment { + padding: 0px; + margin: 4px 8px 4px 2px; + background-color: #FBFCFD; + border: 1px solid #C4CFE5; +} + +div.line { + font-family: monospace, fixed; + font-size: 13px; + min-height: 13px; + line-height: 1.0; + text-wrap: unrestricted; + white-space: -moz-pre-wrap; /* Moz */ + white-space: -pre-wrap; /* Opera 4-6 */ + white-space: -o-pre-wrap; /* Opera 7 */ + white-space: pre-wrap; /* CSS3 */ + word-wrap: break-word; /* IE 5.5+ */ + text-indent: -53px; + padding-left: 53px; + padding-bottom: 0px; + margin: 0px; + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +div.line:after { + content:"\000A"; + white-space: pre; +} + +div.line.glow { + background-color: cyan; + box-shadow: 0 0 10px cyan; +} + + +span.lineno { + padding-right: 4px; + text-align: right; + border-right: 2px solid #0F0; + background-color: #E8E8E8; + white-space: pre; +} +span.lineno a { + background-color: #D8D8D8; +} + +span.lineno a:hover { + background-color: #C8C8C8; +} + +.lineno { + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +div.ah, span.ah { + background-color: black; + font-weight: bold; + color: #ffffff; + margin-bottom: 3px; + margin-top: 3px; + padding: 0.2em; + border: solid thin #333; + border-radius: 0.5em; + -webkit-border-radius: .5em; + -moz-border-radius: .5em; + box-shadow: 2px 2px 3px #999; + -webkit-box-shadow: 2px 2px 3px #999; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444)); + background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000 110%); +} + +div.classindex ul { + list-style: none; + padding-left: 0; +} + +div.classindex span.ai { + display: inline-block; +} + +div.groupHeader { + margin-left: 16px; + margin-top: 12px; + font-weight: bold; +} + +div.groupText { + margin-left: 16px; + font-style: italic; +} + +body { + background-color: white; + color: black; + margin: 0; +} + +div.contents { + margin-top: 10px; + margin-left: 12px; + margin-right: 8px; +} + +td.indexkey { + background-color: #EBEFF6; + font-weight: bold; + border: 1px solid #C4CFE5; + margin: 2px 0px 2px 0; + padding: 2px 10px; + white-space: nowrap; + vertical-align: top; +} + +td.indexvalue { + background-color: #EBEFF6; + border: 1px solid #C4CFE5; + padding: 2px 10px; + margin: 2px 0px; +} + +tr.memlist { + background-color: #EEF1F7; +} + +p.formulaDsp { + text-align: center; +} + +img.formulaDsp { + +} + +img.formulaInl { + vertical-align: middle; +} + +div.center { + text-align: center; + margin-top: 0px; + margin-bottom: 0px; + padding: 0px; +} + +div.center img { + border: 0px; +} + +address.footer { + text-align: right; + padding-right: 12px; +} + +img.footer { + border: 0px; + vertical-align: middle; +} + +/* @group Code Colorization */ + +span.keyword { + color: #008000 +} + +span.keywordtype { + color: #604020 +} + +span.keywordflow { + color: #e08000 +} + +span.comment { + color: #800000 +} + +span.preprocessor { + color: #806020 +} + +span.stringliteral { + color: #002080 +} + +span.charliteral { + color: #008080 +} + +span.vhdldigit { + color: #ff00ff +} + +span.vhdlchar { + color: #000000 +} + +span.vhdlkeyword { + color: #700070 +} + +span.vhdllogic { + color: #ff0000 +} + +blockquote { + background-color: #F7F8FB; + border-left: 2px solid #9CAFD4; + margin: 0 24px 0 4px; + padding: 0 12px 0 16px; +} + +/* @end */ + +/* +.search { + color: #003399; + font-weight: bold; +} + +form.search { + margin-bottom: 0px; + margin-top: 0px; +} + +input.search { + font-size: 75%; + color: #000080; + font-weight: normal; + background-color: #e8eef2; +} +*/ + +td.tiny { + font-size: 75%; +} + +.dirtab { + padding: 4px; + border-collapse: collapse; + border: 1px solid #A3B4D7; +} + +th.dirtab { + background: #EBEFF6; + font-weight: bold; +} + +hr { + height: 0px; + border: none; + border-top: 1px solid #4A6AAA; +} + +hr.footer { + height: 1px; +} + +/* @group Member Descriptions */ + +table.memberdecls { + border-spacing: 0px; + padding: 0px; +} + +.memberdecls td, .fieldtable tr { + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +.memberdecls td.glow, .fieldtable tr.glow { + background-color: cyan; + box-shadow: 0 0 15px cyan; +} + +.mdescLeft, .mdescRight, +.memItemLeft, .memItemRight, +.memTemplItemLeft, .memTemplItemRight, .memTemplParams { + background-color: #F9FAFC; + border: none; + margin: 4px; + padding: 1px 0 0 8px; +} + +.mdescLeft, .mdescRight { + padding: 0px 8px 4px 8px; + color: #555; +} + +.memSeparator { + border-bottom: 1px solid #DEE4F0; + line-height: 1px; + margin: 0px; + padding: 0px; +} + +.memItemLeft, .memTemplItemLeft { + white-space: nowrap; +} + +.memItemRight { + width: 100%; +} + +.memTemplParams { + color: #4665A2; + white-space: nowrap; + font-size: 80%; +} + +/* @end */ + +/* @group Member Details */ + +/* Styles for detailed member documentation */ + +.memtitle { + padding: 8px; + border-top: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + border-top-right-radius: 4px; + border-top-left-radius: 4px; + margin-bottom: -1px; + background-image: url('nav_f.png'); + background-repeat: repeat-x; + background-color: #E2E8F2; + line-height: 1.25; + font-weight: 300; + float:left; +} + +.permalink +{ + font-size: 65%; + display: inline-block; + vertical-align: middle; +} + +.memtemplate { + font-size: 80%; + color: #4665A2; + font-weight: normal; + margin-left: 9px; +} + +.memnav { + background-color: #EBEFF6; + border: 1px solid #A3B4D7; + text-align: center; + margin: 2px; + margin-right: 15px; + padding: 2px; +} + +.mempage { + width: 100%; +} + +.memitem { + padding: 0; + margin-bottom: 10px; + margin-right: 5px; + -webkit-transition: box-shadow 0.5s linear; + -moz-transition: box-shadow 0.5s linear; + -ms-transition: box-shadow 0.5s linear; + -o-transition: box-shadow 0.5s linear; + transition: box-shadow 0.5s linear; + display: table !important; + width: 100%; +} + +.memitem.glow { + box-shadow: 0 0 15px cyan; +} + +.memname { + font-weight: 400; + margin-left: 6px; +} + +.memname td { + vertical-align: bottom; +} + +.memproto, dl.reflist dt { + border-top: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + padding: 6px 0px 6px 0px; + color: #253555; + font-weight: bold; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + background-color: #DFE5F1; + /* opera specific markup */ + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + border-top-right-radius: 4px; + /* firefox specific markup */ + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + -moz-border-radius-topright: 4px; + /* webkit specific markup */ + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + -webkit-border-top-right-radius: 4px; + +} + +.overload { + font-family: "courier new",courier,monospace; + font-size: 65%; +} + +.memdoc, dl.reflist dd { + border-bottom: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + padding: 6px 10px 2px 10px; + background-color: #FBFCFD; + border-top-width: 0; + background-image:url('nav_g.png'); + background-repeat:repeat-x; + background-color: #FFFFFF; + /* opera specific markup */ + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + /* firefox specific markup */ + -moz-border-radius-bottomleft: 4px; + -moz-border-radius-bottomright: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + /* webkit specific markup */ + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +} + +dl.reflist dt { + padding: 5px; +} + +dl.reflist dd { + margin: 0px 0px 10px 0px; + padding: 5px; +} + +.paramkey { + text-align: right; +} + +.paramtype { + white-space: nowrap; +} + +.paramname { + color: #602020; + white-space: nowrap; +} +.paramname em { + font-style: normal; +} +.paramname code { + line-height: 14px; +} + +.params, .retval, .exception, .tparams { + margin-left: 0px; + padding-left: 0px; +} + +.params .paramname, .retval .paramname { + font-weight: bold; + vertical-align: top; +} + +.params .paramtype { + font-style: italic; + vertical-align: top; +} + +.params .paramdir { + font-family: "courier new",courier,monospace; + vertical-align: top; +} + +table.mlabels { + border-spacing: 0px; +} + +td.mlabels-left { + width: 100%; + padding: 0px; +} + +td.mlabels-right { + vertical-align: bottom; + padding: 0px; + white-space: nowrap; +} + +span.mlabels { + margin-left: 8px; +} + +span.mlabel { + background-color: #728DC1; + border-top:1px solid #5373B4; + border-left:1px solid #5373B4; + border-right:1px solid #C4CFE5; + border-bottom:1px solid #C4CFE5; + text-shadow: none; + color: white; + margin-right: 4px; + padding: 2px 3px; + border-radius: 3px; + font-size: 7pt; + white-space: nowrap; + vertical-align: middle; +} + + + +/* @end */ + +/* these are for tree view inside a (index) page */ + +div.directory { + margin: 10px 0px; + border-top: 1px solid #9CAFD4; + border-bottom: 1px solid #9CAFD4; + width: 100%; +} + +.directory table { + border-collapse:collapse; +} + +.directory td { + margin: 0px; + padding: 0px; + vertical-align: top; +} + +.directory td.entry { + white-space: nowrap; + padding-right: 6px; + padding-top: 3px; +} + +.directory td.entry a { + outline:none; +} + +.directory td.entry a img { + border: none; +} + +.directory td.desc { + width: 100%; + padding-left: 6px; + padding-right: 6px; + padding-top: 3px; + border-left: 1px solid rgba(0,0,0,0.05); +} + +.directory tr.even { + padding-left: 6px; + background-color: #F7F8FB; +} + +.directory img { + vertical-align: -30%; +} + +.directory .levels { + white-space: nowrap; + width: 100%; + text-align: right; + font-size: 9pt; +} + +.directory .levels span { + cursor: pointer; + padding-left: 2px; + padding-right: 2px; + color: #3D578C; +} + +.arrow { + color: #9CAFD4; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + cursor: pointer; + font-size: 80%; + display: inline-block; + width: 16px; + height: 22px; +} + +.icon { + font-family: Arial, Helvetica; + font-weight: bold; + font-size: 12px; + height: 14px; + width: 16px; + display: inline-block; + background-color: #728DC1; + color: white; + text-align: center; + border-radius: 4px; + margin-left: 2px; + margin-right: 2px; +} + +.icona { + width: 24px; + height: 22px; + display: inline-block; +} + +.iconfopen { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('folderopen.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +.iconfclosed { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('folderclosed.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +.icondoc { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('doc.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +table.directory { + font: 400 14px Roboto,sans-serif; +} + +/* @end */ + +div.dynheader { + margin-top: 8px; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +address { + font-style: normal; + color: #2A3D61; +} + +table.doxtable caption { + caption-side: top; +} + +table.doxtable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.doxtable td, table.doxtable th { + border: 1px solid #2D4068; + padding: 3px 7px 2px; +} + +table.doxtable th { + background-color: #374F7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +table.fieldtable { + /*width: 100%;*/ + margin-bottom: 10px; + border: 1px solid #A8B8D9; + border-spacing: 0px; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); + box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); +} + +.fieldtable td, .fieldtable th { + padding: 3px 7px 2px; +} + +.fieldtable td.fieldtype, .fieldtable td.fieldname { + white-space: nowrap; + border-right: 1px solid #A8B8D9; + border-bottom: 1px solid #A8B8D9; + vertical-align: top; +} + +.fieldtable td.fieldname { + padding-top: 3px; +} + +.fieldtable td.fielddoc { + border-bottom: 1px solid #A8B8D9; + /*width: 100%;*/ +} + +.fieldtable td.fielddoc p:first-child { + margin-top: 0px; +} + +.fieldtable td.fielddoc p:last-child { + margin-bottom: 2px; +} + +.fieldtable tr:last-child td { + border-bottom: none; +} + +.fieldtable th { + background-image:url('nav_f.png'); + background-repeat:repeat-x; + background-color: #E2E8F2; + font-size: 90%; + color: #253555; + padding-bottom: 4px; + padding-top: 5px; + text-align:left; + font-weight: 400; + -moz-border-radius-topleft: 4px; + -moz-border-radius-topright: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + border-top-left-radius: 4px; + border-top-right-radius: 4px; + border-bottom: 1px solid #A8B8D9; +} + + +.tabsearch { + top: 0px; + left: 10px; + height: 36px; + background-image: url('tab_b.png'); + z-index: 101; + overflow: hidden; + font-size: 13px; +} + +.navpath ul +{ + font-size: 11px; + background-image:url('tab_b.png'); + background-repeat:repeat-x; + background-position: 0 -5px; + height:30px; + line-height:30px; + color:#8AA0CC; + border:solid 1px #C2CDE4; + overflow:hidden; + margin:0px; + padding:0px; +} + +.navpath li +{ + list-style-type:none; + float:left; + padding-left:10px; + padding-right:15px; + background-image:url('bc_s.png'); + background-repeat:no-repeat; + background-position:right; + color:#364D7C; +} + +.navpath li.navelem a +{ + height:32px; + display:block; + text-decoration: none; + outline: none; + color: #283A5D; + font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + text-decoration: none; +} + +.navpath li.navelem a:hover +{ + color:#6884BD; +} + +.navpath li.footer +{ + list-style-type:none; + float:right; + padding-left:10px; + padding-right:15px; + background-image:none; + background-repeat:no-repeat; + background-position:right; + color:#364D7C; + font-size: 8pt; +} + + +div.summary +{ + float: right; + font-size: 8pt; + padding-right: 5px; + width: 50%; + text-align: right; +} + +div.summary a +{ + white-space: nowrap; +} + +table.classindex +{ + margin: 10px; + white-space: nowrap; + margin-left: 3%; + margin-right: 3%; + width: 94%; + border: 0; + border-spacing: 0; + padding: 0; +} + +div.ingroups +{ + font-size: 8pt; + width: 50%; + text-align: left; +} + +div.ingroups a +{ + white-space: nowrap; +} + +div.header +{ + background-image:url('nav_h.png'); + background-repeat:repeat-x; + background-color: #F9FAFC; + margin: 0px; + border-bottom: 1px solid #C4CFE5; +} + +div.headertitle +{ + padding: 5px 5px 5px 10px; +} + +dl +{ + padding: 0 0 0 10px; +} + +/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug */ +dl.section +{ + margin-left: 0px; + padding-left: 0px; +} + +dl.note +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #D0C000; +} + +dl.warning, dl.attention +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #FF0000; +} + +dl.pre, dl.post, dl.invariant +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #00D000; +} + +dl.deprecated +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #505050; +} + +dl.todo +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #00C0E0; +} + +dl.test +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #3030E0; +} + +dl.bug +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #C08050; +} + +dl.section dd { + margin-bottom: 6px; +} + + +#projectlogo +{ + text-align: center; + vertical-align: bottom; + border-collapse: separate; +} + +#projectlogo img +{ + border: 0px none; +} + +#projectalign +{ + vertical-align: middle; +} + +#projectname +{ + font: 300% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 2px 0px; +} + +#projectbrief +{ + font: 120% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#projectnumber +{ + font: 50% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#titlearea +{ + padding: 0px; + margin: 0px; + width: 100%; + border-bottom: 1px solid #5373B4; +} + +.image +{ + text-align: center; +} + +.dotgraph +{ + text-align: center; +} + +.mscgraph +{ + text-align: center; +} + +.plantumlgraph +{ + text-align: center; +} + +.diagraph +{ + text-align: center; +} + +.caption +{ + font-weight: bold; +} + +div.zoom +{ + border: 1px solid #90A5CE; +} + +dl.citelist { + margin-bottom:50px; +} + +dl.citelist dt { + color:#334975; + float:left; + font-weight:bold; + margin-right:10px; + padding:5px; +} + +dl.citelist dd { + margin:2px 0; + padding:5px 0; +} + +div.toc { + padding: 14px 25px; + background-color: #F4F6FA; + border: 1px solid #D8DFEE; + border-radius: 7px 7px 7px 7px; + float: right; + height: auto; + margin: 0 8px 10px 10px; + width: 200px; +} + +div.toc li { + background: url("bdwn.png") no-repeat scroll 0 5px transparent; + font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif; + margin-top: 5px; + padding-left: 10px; + padding-top: 2px; +} + +div.toc h3 { + font: bold 12px/1.2 Arial,FreeSans,sans-serif; + color: #4665A2; + border-bottom: 0 none; + margin: 0; +} + +div.toc ul { + list-style: none outside none; + border: medium none; + padding: 0px; +} + +div.toc li.level1 { + margin-left: 0px; +} + +div.toc li.level2 { + margin-left: 15px; +} + +div.toc li.level3 { + margin-left: 30px; +} + +div.toc li.level4 { + margin-left: 45px; +} + +.inherit_header { + font-weight: bold; + color: gray; + cursor: pointer; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.inherit_header td { + padding: 6px 0px 2px 5px; +} + +.inherit { + display: none; +} + +tr.heading h2 { + margin-top: 12px; + margin-bottom: 4px; +} + +/* tooltip related style info */ + +.ttc { + position: absolute; + display: none; +} + +#powerTip { + cursor: default; + white-space: nowrap; + background-color: white; + border: 1px solid gray; + border-radius: 4px 4px 4px 4px; + box-shadow: 1px 1px 7px gray; + display: none; + font-size: smaller; + max-width: 80%; + opacity: 0.9; + padding: 1ex 1em 1em; + position: absolute; + z-index: 2147483647; +} + +#powerTip div.ttdoc { + color: grey; + font-style: italic; +} + +#powerTip div.ttname a { + font-weight: bold; +} + +#powerTip div.ttname { + font-weight: bold; +} + +#powerTip div.ttdeci { + color: #006318; +} + +#powerTip div { + margin: 0px; + padding: 0px; + font: 12px/16px Roboto,sans-serif; +} + +#powerTip:before, #powerTip:after { + content: ""; + position: absolute; + margin: 0px; +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.s:after, #powerTip.s:before, +#powerTip.w:after, #powerTip.w:before, +#powerTip.e:after, #powerTip.e:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.nw:after, #powerTip.nw:before, +#powerTip.sw:after, #powerTip.sw:before { + border: solid transparent; + content: " "; + height: 0; + width: 0; + position: absolute; +} + +#powerTip.n:after, #powerTip.s:after, +#powerTip.w:after, #powerTip.e:after, +#powerTip.nw:after, #powerTip.ne:after, +#powerTip.sw:after, #powerTip.se:after { + border-color: rgba(255, 255, 255, 0); +} + +#powerTip.n:before, #powerTip.s:before, +#powerTip.w:before, #powerTip.e:before, +#powerTip.nw:before, #powerTip.ne:before, +#powerTip.sw:before, #powerTip.se:before { + border-color: rgba(128, 128, 128, 0); +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.nw:after, #powerTip.nw:before { + top: 100%; +} + +#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after { + border-top-color: #ffffff; + border-width: 10px; + margin: 0px -10px; +} +#powerTip.n:before { + border-top-color: #808080; + border-width: 11px; + margin: 0px -11px; +} +#powerTip.n:after, #powerTip.n:before { + left: 50%; +} + +#powerTip.nw:after, #powerTip.nw:before { + right: 14px; +} + +#powerTip.ne:after, #powerTip.ne:before { + left: 14px; +} + +#powerTip.s:after, #powerTip.s:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.sw:after, #powerTip.sw:before { + bottom: 100%; +} + +#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after { + border-bottom-color: #ffffff; + border-width: 10px; + margin: 0px -10px; +} + +#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before { + border-bottom-color: #808080; + border-width: 11px; + margin: 0px -11px; +} + +#powerTip.s:after, #powerTip.s:before { + left: 50%; +} + +#powerTip.sw:after, #powerTip.sw:before { + right: 14px; +} + +#powerTip.se:after, #powerTip.se:before { + left: 14px; +} + +#powerTip.e:after, #powerTip.e:before { + left: 100%; +} +#powerTip.e:after { + border-left-color: #ffffff; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.e:before { + border-left-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +#powerTip.w:after, #powerTip.w:before { + right: 100%; +} +#powerTip.w:after { + border-right-color: #ffffff; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.w:before { + border-right-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +@media print +{ + #top { display: none; } + #side-nav { display: none; } + #nav-path { display: none; } + body { overflow:visible; } + h1, h2, h3, h4, h5, h6 { page-break-after: avoid; } + .summary { display: none; } + .memitem { page-break-inside: avoid; } + #doc-content + { + margin-left:0 !important; + height:auto !important; + width:auto !important; + overflow:inherit; + display:inline; + } +} + +/* @group Markdown */ + +/* +table.markdownTable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.markdownTable td, table.markdownTable th { + border: 1px solid #2D4068; + padding: 3px 7px 2px; +} + +table.markdownTableHead tr { +} + +table.markdownTableBodyLeft td, table.markdownTable th { + border: 1px solid #2D4068; + padding: 3px 7px 2px; +} + +th.markdownTableHeadLeft th.markdownTableHeadRight th.markdownTableHeadCenter th.markdownTableHeadNone { + background-color: #374F7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +th.markdownTableHeadLeft { + text-align: left +} + +th.markdownTableHeadRight { + text-align: right +} + +th.markdownTableHeadCenter { + text-align: center +} +*/ + +table.markdownTable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.markdownTable td, table.markdownTable th { + border: 1px solid #2D4068; + padding: 3px 7px 2px; +} + +table.markdownTable tr { +} + +th.markdownTableHeadLeft, th.markdownTableHeadRight, th.markdownTableHeadCenter, th.markdownTableHeadNone { + background-color: #374F7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +th.markdownTableHeadLeft, td.markdownTableBodyLeft { + text-align: left +} + +th.markdownTableHeadRight, td.markdownTableBodyRight { + text-align: right +} + +th.markdownTableHeadCenter, td.markdownTableBodyCenter { + text-align: center +} + + +/* @end */ diff --git a/docs/API/doxygen.png b/docs/API/doxygen.png new file mode 100644 index 0000000..3ff17d8 Binary files /dev/null and b/docs/API/doxygen.png differ diff --git a/docs/API/dynsections.js b/docs/API/dynsections.js new file mode 100644 index 0000000..1e6bf07 --- /dev/null +++ b/docs/API/dynsections.js @@ -0,0 +1,104 @@ +function toggleVisibility(linkObj) +{ + var base = $(linkObj).attr('id'); + var summary = $('#'+base+'-summary'); + var content = $('#'+base+'-content'); + var trigger = $('#'+base+'-trigger'); + var src=$(trigger).attr('src'); + if (content.is(':visible')===true) { + content.hide(); + summary.show(); + $(linkObj).addClass('closed').removeClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png'); + } else { + content.show(); + summary.hide(); + $(linkObj).removeClass('closed').addClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-10)+'open.png'); + } + return false; +} + +function updateStripes() +{ + $('table.directory tr'). + removeClass('even').filter(':visible:even').addClass('even'); +} + +function toggleLevel(level) +{ + $('table.directory tr').each(function() { + var l = this.id.split('_').length-1; + var i = $('#img'+this.id.substring(3)); + var a = $('#arr'+this.id.substring(3)); + if (l + + + + + + +o-du/phy: ethdi.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
ethdi.c File Reference
+
+
+ +

This file has all definitions for the Ethernet Data Interface Layer. +More...

+
#include <stdio.h>
+#include <string.h>
+#include <stdint.h>
+#include <errno.h>
+#include <sys/queue.h>
+#include <err.h>
+#include <assert.h>
+#include <linux/limits.h>
+#include <sys/types.h>
+#include <stdlib.h>
+#include <sys/time.h>
+#include <time.h>
+#include <unistd.h>
+#include <rte_config.h>
+#include <rte_common.h>
+#include <rte_log.h>
+#include <rte_memory.h>
+#include <rte_memcpy.h>
+#include <rte_memzone.h>
+#include <rte_eal.h>
+#include <rte_per_lcore.h>
+#include <rte_launch.h>
+#include <rte_atomic.h>
+#include <rte_cycles.h>
+#include <rte_prefetch.h>
+#include <rte_lcore.h>
+#include <rte_branch_prediction.h>
+#include <rte_interrupts.h>
+#include <rte_pci.h>
+#include <rte_debug.h>
+#include <rte_ethdev.h>
+#include <rte_ring.h>
+#include <rte_mbuf.h>
+#include <rte_timer.h>
+#include "ethernet.h"
+#include "ethdi.h"
+#include "xran_fh_o_du.h"
+#include "xran_mlog_lnx.h"
+#include "xran_printf.h"
+#include "../src/xran_lib_mlog_tasks_id.h"
+
+Include dependency graph for ethdi.c:
+
+
+ + + + + + + + +
+
+

Go to the source code of this file.

+ + + + + + + + + + +

+Macros

#define _GNU_SOURCE
 
#define BURST_RX_IO_SIZE   48
 
#define CHECK_INTERVAL   100 /* 100ms */
 
#define MAX_CHECK_TIME   90 /* 9s (90 * 100ms) in total */
 
+ + + + + + + + + + + + + + + + + +

+Functions

struct rte_mbuf * xran_ethdi_mbuf_alloc (void)
 
int xran_ethdi_mbuf_send (struct rte_mbuf *mb, uint16_t ethertype)
 
int xran_ethdi_mbuf_send_cp (struct rte_mbuf *mb, uint16_t ethertype)
 
int xran_register_ethertype_handler (uint16_t ethertype, ethertype_handler callback)
 
int xran_handle_ether (uint16_t ethertype, struct rte_mbuf *pkt, uint64_t rx_time)
 
int xran_ethdi_filter_packet (struct rte_mbuf *pkt, uint64_t rx_time)
 
int xran_ethdi_init_dpdk_io (char *name, const struct xran_io_loop_cfg *io_cfg, int *lcore_id, struct ether_addr *p_lls_cu_addr, struct ether_addr *p_ru_addr, uint16_t cp_vlan, uint16_t up_vlan)
 
int32_t process_dpdk_io (void)
 
+ + + + + + + + + + + + +

+Variables

struct xran_ethdi_ctx g_ethdi_ctx = { 0 }
 
enum xran_if_state xran_if_current_state = XRAN_STOPPED
 
struct {
   uint16_t   ethertype
 
   ethertype_handler   fn
 
xran_ethertype_handlers []
 
+

Detailed Description

+

This file has all definitions for the Ethernet Data Interface Layer.

+
Author
Intel Corporation
+ +

Definition in file ethdi.c.

+

Macro Definition Documentation

+ +

◆ _GNU_SOURCE

+ +
+
+ + + + +
#define _GNU_SOURCE
+
+ +

Definition at line 26 of file ethdi.c.

+ +
+
+ +

◆ BURST_RX_IO_SIZE

+ +
+
+ + + + +
#define BURST_RX_IO_SIZE   48
+
+ +

Definition at line 72 of file ethdi.c.

+ +
+
+ +

◆ CHECK_INTERVAL

+ +
+
+ + + + +
#define CHECK_INTERVAL   100 /* 100ms */
+
+ +
+
+ +

◆ MAX_CHECK_TIME

+ +
+
+ + + + +
#define MAX_CHECK_TIME   90 /* 9s (90 * 100ms) in total */
+
+ +
+
+

Function Documentation

+ +

◆ process_dpdk_io()

+ +
+
+ + + + + + + + +
int32_t process_dpdk_io (void )
+
+ +

Definition at line 445 of file ethdi.c.

+ +
+
+ +

◆ xran_ethdi_filter_packet()

+ +
+
+ + + + + + + + + + + + + + + + + + +
int xran_ethdi_filter_packet (struct rte_mbuf * pkt,
uint64_t rx_time 
)
+
+ +

Definition at line 156 of file ethdi.c.

+
+Here is the caller graph for this function:
+
+
+ + + +
+ +
+
+ +

◆ xran_ethdi_init_dpdk_io()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int xran_ethdi_init_dpdk_io (char * name,
const struct xran_io_loop_cfgio_cfg,
int * lcore_id,
struct ether_addr * p_lls_cu_addr,
struct ether_addr * p_ru_addr,
uint16_t cp_vlan,
uint16_t up_vlan 
)
+
+ +

Definition at line 288 of file ethdi.c.

+
+Here is the caller graph for this function:
+
+
+ + + + +
+ +
+
+ +

◆ xran_ethdi_mbuf_alloc()

+ +
+
+ + + + + + + + +
struct rte_mbuf* xran_ethdi_mbuf_alloc (void )
+
+ +

Definition at line 77 of file ethdi.c.

+
+Here is the caller graph for this function:
+
+
+ + + + +
+ +
+
+ +

◆ xran_ethdi_mbuf_send()

+ +
+
+ + + + + + + + + + + + + + + + + + +
int xran_ethdi_mbuf_send (struct rte_mbuf * mb,
uint16_t ethertype 
)
+
+ +

Definition at line 82 of file ethdi.c.

+ +
+
+ +

◆ xran_ethdi_mbuf_send_cp()

+ +
+
+ + + + + + + + + + + + + + + + + + +
int xran_ethdi_mbuf_send_cp (struct rte_mbuf * mb,
uint16_t ethertype 
)
+
+ +

Definition at line 94 of file ethdi.c.

+ +
+
+ +

◆ xran_handle_ether()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
int xran_handle_ether (uint16_t ethertype,
struct rte_mbuf * pkt,
uint64_t rx_time 
)
+
+ +

Definition at line 140 of file ethdi.c.

+ +
+
+ +

◆ xran_register_ethertype_handler()

+ +
+
+ + + + + + + + + + + + + + + + + + +
int xran_register_ethertype_handler (uint16_t ethertype,
ethertype_handler callback 
)
+
+ +

Definition at line 124 of file ethdi.c.

+
+Here is the caller graph for this function:
+
+
+ + + + +
+ +
+
+

Variable Documentation

+ +

◆ ethertype

+ +
+
+ + + + +
uint16_t ethertype
+
+ +

Definition at line 114 of file ethdi.c.

+ +
+
+ +

◆ fn

+ +
+
+ + + + +
ethertype_handler fn
+
+ +

Definition at line 115 of file ethdi.c.

+ +
+
+ +

◆ g_ethdi_ctx

+ +
+
+ + + + +
struct xran_ethdi_ctx g_ethdi_ctx = { 0 }
+
+ +

Definition at line 74 of file ethdi.c.

+ +
+
+ +

◆ xran_ethertype_handlers

+ +
+
+ + + + +
struct { ... } xran_ethertype_handlers[]
+
+Initial value:
= {
{ ETHER_TYPE_ETHDI, NULL },
{ ETHER_TYPE_ECPRI, NULL },
}
#define ETHER_TYPE_ECPRI
Definition: ethernet.h:42
+
#define ETHER_TYPE_START_TX
Definition: ethernet.h:44
+
#define ETHER_TYPE_ETHDI
Definition: ethernet.h:41
+
+
+
+ +

◆ xran_if_current_state

+ +
+
+ + + + +
enum xran_if_state xran_if_current_state = XRAN_STOPPED
+
+ +

Definition at line 75 of file ethdi.c.

+ +
+
+
+ + + + diff --git a/docs/API/ethdi_8c__incl.map b/docs/API/ethdi_8c__incl.map new file mode 100644 index 0000000..c89fca8 --- /dev/null +++ b/docs/API/ethdi_8c__incl.map @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/API/ethdi_8c__incl.md5 b/docs/API/ethdi_8c__incl.md5 new file mode 100644 index 0000000..d9ba27d --- /dev/null +++ b/docs/API/ethdi_8c__incl.md5 @@ -0,0 +1 @@ +33fda148f675ec3bb03dab715df0887f \ No newline at end of file diff --git a/docs/API/ethdi_8c__incl.png b/docs/API/ethdi_8c__incl.png new file mode 100644 index 0000000..00ca32b Binary files /dev/null and b/docs/API/ethdi_8c__incl.png differ diff --git a/docs/API/ethdi_8c_a69c763967ba7e28c4a589ce624c226ff_icgraph.map b/docs/API/ethdi_8c_a69c763967ba7e28c4a589ce624c226ff_icgraph.map new file mode 100644 index 0000000..7dc1d5d --- /dev/null +++ b/docs/API/ethdi_8c_a69c763967ba7e28c4a589ce624c226ff_icgraph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/ethdi_8c_a69c763967ba7e28c4a589ce624c226ff_icgraph.md5 b/docs/API/ethdi_8c_a69c763967ba7e28c4a589ce624c226ff_icgraph.md5 new file mode 100644 index 0000000..b0cad02 --- /dev/null +++ b/docs/API/ethdi_8c_a69c763967ba7e28c4a589ce624c226ff_icgraph.md5 @@ -0,0 +1 @@ +bd35ba5d8f68fa430fbcf10df6a15c5f \ No newline at end of file diff --git a/docs/API/ethdi_8c_a69c763967ba7e28c4a589ce624c226ff_icgraph.png b/docs/API/ethdi_8c_a69c763967ba7e28c4a589ce624c226ff_icgraph.png new file mode 100644 index 0000000..359f83b Binary files /dev/null and b/docs/API/ethdi_8c_a69c763967ba7e28c4a589ce624c226ff_icgraph.png differ diff --git a/docs/API/ethdi_8c_a77f0a4b49dc21be816aefa3066debfa7_icgraph.map b/docs/API/ethdi_8c_a77f0a4b49dc21be816aefa3066debfa7_icgraph.map new file mode 100644 index 0000000..a50b266 --- /dev/null +++ b/docs/API/ethdi_8c_a77f0a4b49dc21be816aefa3066debfa7_icgraph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/ethdi_8c_a77f0a4b49dc21be816aefa3066debfa7_icgraph.md5 b/docs/API/ethdi_8c_a77f0a4b49dc21be816aefa3066debfa7_icgraph.md5 new file mode 100644 index 0000000..6672d49 --- /dev/null +++ b/docs/API/ethdi_8c_a77f0a4b49dc21be816aefa3066debfa7_icgraph.md5 @@ -0,0 +1 @@ +768399c43c6f361f87e21d39b4ee7450 \ No newline at end of file diff --git a/docs/API/ethdi_8c_a77f0a4b49dc21be816aefa3066debfa7_icgraph.png b/docs/API/ethdi_8c_a77f0a4b49dc21be816aefa3066debfa7_icgraph.png new file mode 100644 index 0000000..5e246dc Binary files /dev/null and b/docs/API/ethdi_8c_a77f0a4b49dc21be816aefa3066debfa7_icgraph.png differ diff --git a/docs/API/ethdi_8c_a97dcf8200aebed714f47764c302a06b5_icgraph.map b/docs/API/ethdi_8c_a97dcf8200aebed714f47764c302a06b5_icgraph.map new file mode 100644 index 0000000..9096b2e --- /dev/null +++ b/docs/API/ethdi_8c_a97dcf8200aebed714f47764c302a06b5_icgraph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/ethdi_8c_a97dcf8200aebed714f47764c302a06b5_icgraph.md5 b/docs/API/ethdi_8c_a97dcf8200aebed714f47764c302a06b5_icgraph.md5 new file mode 100644 index 0000000..beb4db8 --- /dev/null +++ b/docs/API/ethdi_8c_a97dcf8200aebed714f47764c302a06b5_icgraph.md5 @@ -0,0 +1 @@ +6b52254bd55b7639b2c3f8f5a585ee17 \ No newline at end of file diff --git a/docs/API/ethdi_8c_a97dcf8200aebed714f47764c302a06b5_icgraph.png b/docs/API/ethdi_8c_a97dcf8200aebed714f47764c302a06b5_icgraph.png new file mode 100644 index 0000000..cb2a078 Binary files /dev/null and b/docs/API/ethdi_8c_a97dcf8200aebed714f47764c302a06b5_icgraph.png differ diff --git a/docs/API/ethdi_8c_af110b40ee89935ebe18d65ef84de1359_icgraph.map b/docs/API/ethdi_8c_af110b40ee89935ebe18d65ef84de1359_icgraph.map new file mode 100644 index 0000000..8aff263 --- /dev/null +++ b/docs/API/ethdi_8c_af110b40ee89935ebe18d65ef84de1359_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/ethdi_8c_af110b40ee89935ebe18d65ef84de1359_icgraph.md5 b/docs/API/ethdi_8c_af110b40ee89935ebe18d65ef84de1359_icgraph.md5 new file mode 100644 index 0000000..6b43289 --- /dev/null +++ b/docs/API/ethdi_8c_af110b40ee89935ebe18d65ef84de1359_icgraph.md5 @@ -0,0 +1 @@ +56bf2fb2e090911f2c0b0570dfeac7e7 \ No newline at end of file diff --git a/docs/API/ethdi_8c_af110b40ee89935ebe18d65ef84de1359_icgraph.png b/docs/API/ethdi_8c_af110b40ee89935ebe18d65ef84de1359_icgraph.png new file mode 100644 index 0000000..4513f30 Binary files /dev/null and b/docs/API/ethdi_8c_af110b40ee89935ebe18d65ef84de1359_icgraph.png differ diff --git a/docs/API/ethdi_8c_source.html b/docs/API/ethdi_8c_source.html new file mode 100644 index 0000000..6fdcc63 --- /dev/null +++ b/docs/API/ethdi_8c_source.html @@ -0,0 +1,158 @@ + + + + + + + +o-du/phy: ethdi.c Source File + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
ethdi.c
+
+
+Go to the documentation of this file.
1 /******************************************************************************
2 *
3 * Copyright (c) 2019 Intel.
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 *
17 *******************************************************************************/
18 
26 #define _GNU_SOURCE
27 #include <stdio.h>
28 #include <string.h>
29 #include <stdint.h>
30 #include <errno.h>
31 #include <sys/queue.h>
32 #include <err.h>
33 #include <assert.h>
34 #include <linux/limits.h>
35 #include <sys/types.h>
36 #include <stdlib.h>
37 #include <sys/time.h>
38 #include <time.h>
39 #include <unistd.h>
40 
41 #include <rte_config.h>
42 #include <rte_common.h>
43 #include <rte_log.h>
44 #include <rte_memory.h>
45 #include <rte_memcpy.h>
46 #include <rte_memzone.h>
47 #include <rte_eal.h>
48 #include <rte_per_lcore.h>
49 #include <rte_launch.h>
50 #include <rte_atomic.h>
51 #include <rte_cycles.h>
52 #include <rte_prefetch.h>
53 #include <rte_lcore.h>
54 #include <rte_per_lcore.h>
55 #include <rte_branch_prediction.h>
56 #include <rte_interrupts.h>
57 #include <rte_pci.h>
58 #include <rte_debug.h>
59 #include <rte_ethdev.h>
60 #include <rte_ring.h>
61 #include <rte_mbuf.h>
62 #include <rte_timer.h>
63 
64 #include "ethernet.h"
65 #include "ethdi.h"
66 #include "xran_fh_o_du.h"
67 #include "xran_mlog_lnx.h"
68 #include "xran_printf.h"
69 
70 #include "../src/xran_lib_mlog_tasks_id.h"
71 
72 #define BURST_RX_IO_SIZE 48
73 
74 struct xran_ethdi_ctx g_ethdi_ctx = { 0 };
76 
77 struct rte_mbuf *xran_ethdi_mbuf_alloc(void)
78 {
79  return rte_pktmbuf_alloc(_eth_mbuf_pool);
80 }
81 
82 int xran_ethdi_mbuf_send(struct rte_mbuf *mb, uint16_t ethertype)
83 {
84  struct xran_ethdi_ctx *ctx = xran_ethdi_get_ctx();
85  int res = 0;
86 
87  mb->port = ctx->io_cfg.port[ETHDI_UP_VF];
88  xran_add_eth_hdr_vlan(&ctx->entities[ID_RU], ethertype, mb, ctx->up_vtag);
89 
90  res = xran_enqueue_mbuf(mb, ctx->tx_ring[ETHDI_UP_VF]);
91  return res;
92 }
93 
94 int xran_ethdi_mbuf_send_cp(struct rte_mbuf *mb, uint16_t ethertype)
95 {
96  struct xran_ethdi_ctx *ctx = xran_ethdi_get_ctx();
97  int res = 0;
98 
99  mb->port = ctx->io_cfg.port[ETHDI_CP_VF];
100  xran_add_eth_hdr_vlan(&ctx->entities[ID_RU], ethertype, mb, ctx->cp_vtag);
101 
102  res = xran_enqueue_mbuf(mb, ctx->tx_ring[ETHDI_CP_VF]);
103  return res;
104 }
105 #if 0
106 void xran_ethdi_stop_tx()
107 {
108  struct xran_ethdi_ctx *const ctx = xran_ethdi_get_ctx();
109  rte_timer_stop_sync(&ctx->timer_tx);
110 }
111 #endif
112 
113 struct {
114  uint16_t ethertype;
117  { ETHER_TYPE_ETHDI, NULL },
118  { ETHER_TYPE_ECPRI, NULL },
119  { ETHER_TYPE_START_TX, NULL }
120 };
121 
122 
123 
125 {
126  int i;
127 
128  for (i = 0; i < RTE_DIM(xran_ethertype_handlers); ++i)
129  if (xran_ethertype_handlers[i].ethertype == ethertype) {
130  xran_ethertype_handlers[i].fn = callback;
131 
132  return 1;
133  }
134 
135  elog("support for ethertype %u not found", ethertype);
136 
137  return 0;
138 }
139 
140 int xran_handle_ether(uint16_t ethertype, struct rte_mbuf *pkt, uint64_t rx_time)
141 {
142  int i;
143 
144  for (i = 0; i < RTE_DIM(xran_ethertype_handlers); ++i)
145  if (xran_ethertype_handlers[i].ethertype == ethertype)
147  return xran_ethertype_handlers[i].fn(pkt, rx_time);
148 
149  wlog("Packet with unrecognized ethertype '%.4X' dropped", ethertype);
150 
151  return 0;
152 };
153 
154 
155 /* Process vlan tag. Cut the ethernet header. Call the etherype handlers. */
156 int xran_ethdi_filter_packet(struct rte_mbuf *pkt, uint64_t rx_time)
157 {
158  struct xran_ethdi_ctx *ctx = xran_ethdi_get_ctx();
159 
160 #ifdef VLAN_SUPPORT
161  if (rte_vlan_strip(pkt) == 0) {
162  if (pkt->vlan_tci == ctx->cp_vtag) {
163  dlog("VLAN tci matches %d", pkt->vlan_tci);
164  } else {
165  wlog("packet with wrong VLAN tag %d, dropping",
166  pkt->vlan_tci);
167  return 0;
168  }
169  } else
170  dlog("Packet not vlan tagged");
171 #endif
172 
173  const struct ether_hdr *eth_hdr = rte_pktmbuf_mtod(pkt, void *);
174 
175 #if defined(DPDKIO_DEBUG) && DPDKIO_DEBUG > 1
176  nlog("*** processing RX'ed packet of size %d ***",
177  rte_pktmbuf_data_len(pkt));
178  /* TODO: just dump ethernet header in readable format? */
179 #endif
180 
181 #if defined(DPDKIO_DEBUG) && DPDKIO_DEBUG > 1
182  {
183  char dst[ETHER_ADDR_FMT_SIZE] = "(empty)";
184  char src[ETHER_ADDR_FMT_SIZE] = "(empty)";
185 
186  ether_format_addr(dst, sizeof(dst), &eth_hdr->d_addr);
187  ether_format_addr(src, sizeof(src), &eth_hdr->s_addr);
188  nlog("src: %s dst: %s ethertype: %.4X", dst, src,
189  rte_be_to_cpu_16(eth_hdr->ether_type));
190  }
191 #endif
192 
193  /* Cut out the ethernet header. It's not needed anymore. */
194  if (rte_pktmbuf_adj(pkt, sizeof(*eth_hdr)) == NULL) {
195  wlog("Packet too short, dropping");
196  return 0;
197  }
198 
199 
200  return xran_handle_ether(rte_be_to_cpu_16(eth_hdr->ether_type), pkt, rx_time);
201 }
202 
203 #if 0
204 //-------------------------------------------------------------------------------------------
215 //-------------------------------------------------------------------------------------------
216 void xran_ethdi_ports_stats(void)
217 {
218  struct rte_eth_stats stats;
219  struct xran_ethdi_ctx *ctx = xran_ethdi_get_ctx();
220  int32_t i = 0;
221 
222  for(i = 0; i < ETHDI_VF_MAX; i++){
223  /* Get stats (extended stats includes common stats) */
224  rte_eth_stats_get(ctx->io_cfg.port[i], &stats);
225  printf("DPDK stats:\n");
226  printf("** Port %hhu **\n", ctx->io_cfg.port[i]);
227  printf("ierrors:\t%lu\n", stats.ierrors);
228  printf("oerrors:\t%lu\n", stats.oerrors);
229  printf("ipackets:\t%lu\n", stats.ipackets);
230  printf("opackets:\t%lu\n", stats.opackets);
231  printf("imissed:\t%lu\n", stats.imissed);
232  printf("rx_nombuf:\t%lu\n", stats.rx_nombuf);
233  }
234  return ;
235 }
236 #endif
237 /* Check the link status of all ports in up to 9s, and print them finally */
238 static void check_port_link_status(uint8_t portid)
239 {
240 #define CHECK_INTERVAL 100 /* 100ms */
241 #define MAX_CHECK_TIME 90 /* 9s (90 * 100ms) in total */
242  uint8_t count, all_ports_up, print_flag = 0;
243  struct rte_eth_link link;
244 
245  printf("\nChecking link status");
246  fflush(stdout);
247  for (count = 0; count <= MAX_CHECK_TIME; count++) {
248  all_ports_up = 1;
249  memset(&link, 0, sizeof(link));
250  rte_eth_link_get_nowait(portid, &link);
251 
252  /* print link status if flag set */
253  if (print_flag == 1) {
254  if (link.link_status)
255  printf("Port %d Link Up - speed %u "
256  "Mbps - %s\n", (uint8_t)portid,
257  (unsigned)link.link_speed,
258  (link.link_duplex == ETH_LINK_FULL_DUPLEX) ?
259  ("full-duplex") : ("half-duplex\n"));
260  else
261  printf("Port %d Link Down\n",
262  (uint8_t)portid);
263  }
264  /* clear all_ports_up flag if any link down */
265  if (link.link_status == ETH_LINK_DOWN) {
266  all_ports_up = 0;
267  break;
268  }
269  /* after finally printing all link status, get out */
270  if (print_flag == 1)
271  break;
272 
273  if (all_ports_up == 0) {
274  printf(".");
275  fflush(stdout);
276  rte_delay_ms(CHECK_INTERVAL);
277  }
278 
279  /* set the print_flag if all ports up or timeout */
280  if (all_ports_up == 1 || count == (MAX_CHECK_TIME - 1)) {
281  print_flag = 1;
282  printf(" ... done\n");
283  }
284  }
285 }
286 
287 
288 int xran_ethdi_init_dpdk_io(char *name, const struct xran_io_loop_cfg *io_cfg,
289  int *lcore_id, struct ether_addr *p_lls_cu_addr, struct ether_addr *p_ru_addr,
290  uint16_t cp_vlan, uint16_t up_vlan)
291 {
292  uint16_t port[2] = {0xffff, 0xffff};
293  struct xran_ethdi_ctx *ctx = xran_ethdi_get_ctx();
294  int i;
295  char core_mask[64];
296  long c_mask=0;
297  char bbdev_wdev[32] = "";
298  char bbdev_vdev[32] = "";
299 
300  char *argv[] = { name, /*"-c 0xFFFFF00000FFFFF"*/core_mask, "-n2", "--socket-mem=8192", "--proc-type=auto",
301  "--file-prefix", name, "-w", "0000:00:00.0", bbdev_wdev, bbdev_vdev};
302 
303  if (io_cfg == NULL)
304  return 0;
305  if(io_cfg->bbdev_mode != XRAN_BBDEV_NOT_USED){
306  printf("BBDEV_FEC_ACCL_NR5G\n");
307  if (io_cfg->bbdev_mode == XRAN_BBDEV_MODE_HW_ON){
308  // hw-accelerated bbdev
309  printf("hw-accelerated bbdev %s\n", io_cfg->bbdev_dev[0]);
310  sprintf(bbdev_wdev, "-w %s", io_cfg->bbdev_dev[0]);
311  } else if (io_cfg->bbdev_mode == XRAN_BBDEV_MODE_HW_OFF){
312  // hw-accelerated bbdev disable
313  if(io_cfg->bbdev_dev[0]){
314  printf("hw-accelerated bbdev disable %s\n", io_cfg->bbdev_dev[0]);
315  sprintf(bbdev_wdev, "-b %s", io_cfg->bbdev_dev[0]);
316  }
317  sprintf(bbdev_wdev, "%s", "--vdev=baseband_turbo_sw");
318  } else {
319  rte_panic("Cannot init DPDK incorrect [bbdev_mode %d]\n", io_cfg->bbdev_mode);
320  }
321  }
322 
323  c_mask = (long)(1L << io_cfg->core) |
324  (long)(1L << io_cfg->system_core) |
325  (long)(1L << io_cfg->pkt_proc_core) |
326  (long)(1L << io_cfg->pkt_aux_core) |
327  (long)(1L << io_cfg->timing_core);
328 
329  printf("c_mask 0x%lx core %d system_core %d pkt_proc_core %d pkt_aux_core %d timing_core %d\n",
330  c_mask, io_cfg->core, io_cfg->system_core, io_cfg->pkt_proc_core, io_cfg->pkt_aux_core, io_cfg->timing_core);
331 
332  snprintf(core_mask, sizeof(core_mask), "-c 0x%lx", c_mask);
333 
334  ctx->io_cfg = *io_cfg;
335  ctx->ping_state = PING_IDLE;
336  ctx->known_peers = 1;
337  ctx->busy_poll_till = rte_rdtsc();
338  ctx->cp_vtag = cp_vlan;
339  ctx->up_vtag = up_vlan;
340 
341  for (i = 0; i <= ID_BROADCAST; i++) /* Initialize all as broadcast */
342  memset(&ctx->entities[i], 0xFF, sizeof(ctx->entities[0]));
343 
344  printf("%s: Calling rte_eal_init:", __FUNCTION__);
345  for (i = 0; i < RTE_DIM(argv); i++)
346  {
347  printf("%s ", argv[i]);
348  }
349  printf("\n");
350 
351 
352  /* This will return on system_core, which is not necessarily the
353  * one we're on right now. */
354  if (rte_eal_init(RTE_DIM(argv), argv) < 0)
355  rte_panic("Cannot init EAL: %s\n", rte_strerror(rte_errno));
356 
358 
359 #ifdef RTE_LIBRTE_PDUMP
360  /* initialize packet capture framework */
361  rte_pdump_init(NULL);
362 #endif
363 
364  /* Timers. */
365  rte_timer_subsystem_init();
366  rte_timer_init(&ctx->timer_ping);
367  rte_timer_init(&ctx->timer_sync);
368  rte_timer_init(&ctx->timer_tx);
369 
370  *lcore_id = rte_get_next_lcore(rte_lcore_id(), 0, 0);
371 
372  PANIC_ON(*lcore_id == RTE_MAX_LCORE, "out of lcores for io_loop()");
373 
374  if (rte_eal_process_type() == RTE_PROC_PRIMARY) {
375  for (i = 0; i < ETHDI_VF_MAX; i ++){
376  if(io_cfg->dpdk_dev[i]){
377  if (rte_eth_dev_attach(io_cfg->dpdk_dev[i], &port[i]) != 0 ||
378  rte_eth_dev_count_avail() == 0)
379  errx(1, "Network port doesn't exist.");
380  xran_init_port(port[i], p_lls_cu_addr);
381  } else {
382  printf("no DPDK port provided\n");
383  }
384  if(i==0){
385  ctx->tx_ring[i] = rte_ring_create("tx_ring_up", NUM_MBUFS,
386  rte_lcore_to_socket_id(*lcore_id), RING_F_SC_DEQ);
387  ctx->rx_ring[i] = rte_ring_create("rx_ring_up", NUM_MBUFS,
388  rte_lcore_to_socket_id(*lcore_id), RING_F_SC_DEQ);
389  ctx->pkt_dump_ring[i] = rte_ring_create("pkt_dump_ring_up", NUM_MBUFS,
390  rte_lcore_to_socket_id(*lcore_id), RING_F_SC_DEQ);
391  }else {
392  ctx->tx_ring[i] = rte_ring_create("tx_ring_cp", NUM_MBUFS,
393  rte_lcore_to_socket_id(*lcore_id), RING_F_SC_DEQ);
394  ctx->rx_ring[i] = rte_ring_create("rx_ring_cp", NUM_MBUFS,
395  rte_lcore_to_socket_id(*lcore_id), RING_F_SC_DEQ);
396  ctx->pkt_dump_ring[i] = rte_ring_create("pkt_dump_ring_cp", NUM_MBUFS,
397  rte_lcore_to_socket_id(*lcore_id), RING_F_SC_DEQ);
398  }
399  if(io_cfg->dpdk_dev[i])
400  check_port_link_status(port[i]);
401  }
402  } else {
403  rte_panic("ethdi_dpdk_io_loop() failed to start with RTE_PROC_SECONDARY\n");
404  }
405  PANIC_ON(ctx->tx_ring == NULL, "failed to allocate tx ring");
406  PANIC_ON(ctx->rx_ring == NULL, "failed to allocate rx ring");
407  PANIC_ON(ctx->pkt_dump_ring == NULL, "failed to allocate pkt dumping ring");
408  for (i = 0; i < ETHDI_VF_MAX; i++){
409  ctx->io_cfg.port[i] = port[i];
410  print_dbg("port_id 0x%04x\n", ctx->io_cfg.port[i]);
411  }
412 
413  if(io_cfg->dpdk_dev[ETHDI_UP_VF]){
414  rte_eth_macaddr_get(port[ETHDI_UP_VF], &ctx->entities[io_cfg->id]);
415  ether_addr_copy(p_ru_addr, &ctx->entities[ID_RU]);
416  }
417 
418  return 1;
419 }
420 
421 static inline uint16_t xran_tx_from_ring(int port, struct rte_ring *r)
422 {
423  struct rte_mbuf *mbufs[BURST_SIZE];
424  uint16_t dequeued, sent = 0;
425  uint32_t remaining;
426  int i;
427  long t1 = MLogTick();
428 
429  dequeued = rte_ring_dequeue_burst(r, (void **)mbufs, BURST_SIZE,
430  &remaining);
431  if (!dequeued)
432  return 0; /* Nothing to send. */
433 
434  while (1) { /* When tx queue is full it is trying again till succeed */
435  t1 = MLogTick();
436  sent += rte_eth_tx_burst(port, 0, &mbufs[sent], dequeued - sent);
437 
439 
440  if (sent == dequeued)
441  return remaining;
442  }
443 }
444 
445 int32_t process_dpdk_io(void)
446 {
447  struct xran_ethdi_ctx *ctx = xran_ethdi_get_ctx();
448  const struct xran_io_loop_cfg *const cfg = &(xran_ethdi_get_ctx()->io_cfg);
449  const int port[ETHDI_VF_MAX] = {cfg->port[ETHDI_UP_VF], cfg->port[ETHDI_CP_VF]};
450  int port_id = 0;
451 
452  for (port_id = 0; port_id < ETHDI_VF_MAX; port_id++){
453  struct rte_mbuf *mbufs[BURST_RX_IO_SIZE];
454  if(port[port_id] == 0xFF)
455  return 0;
456  /* RX */
457  const uint16_t rxed = rte_eth_rx_burst(port[port_id], 0, mbufs, BURST_RX_IO_SIZE);
458  if (rxed != 0){
459  unsigned enq_n = 0;
460  long t1 = MLogTick();
461  enq_n = rte_ring_enqueue_burst(ctx->rx_ring[port_id], (void*)mbufs, rxed, NULL);
462  if(rxed - enq_n)
463  rte_panic("error enq\n");
465  }
466 
467  /* TX */
468  const uint16_t sent = xran_tx_from_ring(port[port_id], ctx->tx_ring[port_id]);
469 
471  return -1;
472  }
473 
475  return -1;
476 
477  return 0;
478 }
479 
480 #if 0
481 static inline void xran_process_rx_burst(struct rte_mbuf *mbufs[], uint16_t n_mbufs,
482  uint64_t rx_time)
483 {
484  int i;
485 
486  if (!n_mbufs)
487  return;
488 
489  for (i = 0; i < n_mbufs; ++i)
490  {
491  if (xran_ethdi_filter_packet(mbufs[i], rx_time) == MBUF_FREE)
492  rte_pktmbuf_free(mbufs[i]);
493  }
494 
495 #ifdef DPDKIO_LATENCY_DEBUG
496  struct timeval tv_now, tv_diff;
497 
498  gettimeofday(&tv_now, NULL);
499  if (n_mbufs > 1)
500  nlog("Warning - received %d mbufs in a row", n_mbufs);
501 
502  timersub(&tv_now, &rx_time, &tv_diff);
503  nlog("rx processing took %d usec", tv_diff.tv_usec);
504 #endif
505 }
506 
507 /*
508  * This is the main DPDK-IO loop.
509  * This will sleep if there's no packets incoming and there's
510  * no work enqueued, sleep lenth is defined in IDLE_SLEEP_MICROSECS
511  */
512 int xran_ethdi_dpdk_io_loop(void *io_loop_cfg)
513 {
514  struct sched_param sched_param;
515  int res = 0;
516  struct xran_ethdi_ctx *ctx = xran_ethdi_get_ctx();
517  const struct xran_io_loop_cfg *const cfg = &(xran_ethdi_get_ctx()->io_cfg);
518  const int port[ETHDI_VF_MAX] = {cfg->port[ETHDI_UP_VF], cfg->port[ETHDI_CP_VF]};
519 
520  printf("%s [PORT: %d %d] [CPU %2d] [PID: %6d]\n", __FUNCTION__, port[ETHDI_UP_VF], port[ETHDI_CP_VF] , rte_lcore_id(), getpid());
521 
522  printf("%s [CPU %2d] [PID: %6d]\n", __FUNCTION__, rte_lcore_id(), getpid());
523  sched_param.sched_priority = XRAN_THREAD_DEFAULT_PRIO;
524  if ((res = pthread_setschedparam(pthread_self(), SCHED_FIFO, &sched_param))) {
525  printf("priority is not changed: coreId = %d, result1 = %d\n",rte_lcore_id(), res);
526  }
527 
528  for (;;){
529  if(process_dpdk_io()!=0)
530  break;
531  }
532 
533  fflush(stderr);
534  fflush(stdout);
535  puts("IO loop finished");
536 
537  return 0;
538 }
539 #endif
540 
+
#define PID_RADIO_ETH_TX_BURST
+ +
struct rte_mbuf * xran_ethdi_mbuf_alloc(void)
Definition: ethdi.c:77
+ +
#define PANIC_ON(x, m,...)
Definition: ethernet.h:148
+
#define ETHER_TYPE_ECPRI
Definition: ethernet.h:42
+
#define print_dbg(fmt, args...)
Definition: xran_printf.h:54
+
struct rte_timer timer_ping
Definition: ethdi.h:123
+
Definition: ethdi.h:99
+
char * dpdk_dev[ETHDI_VF_MAX]
Definition: ethdi.h:84
+ +
enum xran_if_state xran_if_current_state
Definition: ethdi.c:75
+
struct xran_io_loop_cfg io_cfg
Definition: ethdi.h:113
+
#define ETHER_TYPE_START_TX
Definition: ethernet.h:44
+
int xran_ethdi_mbuf_send(struct rte_mbuf *mb, uint16_t ethertype)
Definition: ethdi.c:82
+
struct rte_ring * tx_ring[ETHDI_VF_MAX]
Definition: ethdi.h:119
+
int xran_ethdi_mbuf_send_cp(struct rte_mbuf *mb, uint16_t ethertype)
Definition: ethdi.c:94
+
int(* ethertype_handler)(struct rte_mbuf *, uint64_t rx_time)
Definition: ethdi.h:152
+
uint8_t id
Definition: ethdi.h:83
+
struct ether_addr entities[ID_BROADCAST+1]
Definition: ethdi.h:114
+
void xran_init_port(int p_id, struct ether_addr *p_lls_cu_addr)
Definition: ethernet.c:229
+
struct @21 xran_ethertype_handlers[]
+ +
#define dlog(m,...)
Definition: ethernet.h:145
+
int xran_ethdi_filter_packet(struct rte_mbuf *pkt, uint64_t rx_time)
Definition: ethdi.c:156
+
struct rte_timer timer_sync
Definition: ethdi.h:124
+
struct xran_ethdi_ctx g_ethdi_ctx
Definition: ethdi.c:74
+ +
int pkt_proc_core
Definition: ethdi.h:89
+
#define BURST_RX_IO_SIZE
Definition: ethdi.c:72
+
struct rte_ring * rx_ring[ETHDI_VF_MAX]
Definition: ethdi.h:120
+
This file has all definitions for the Ethernet Data Interface Layer.
+
void xran_add_eth_hdr_vlan(struct ether_addr *dst, uint16_t ethertype, struct rte_mbuf *mb, uint16_t vlan_tci)
Definition: ethernet.c:434
+
#define nlog(m,...)
Definition: ethernet.h:138
+
int known_peers
Definition: ethdi.h:117
+ +
struct rte_ring * pkt_dump_ring[ETHDI_VF_MAX]
Definition: ethdi.h:121
+
#define MAX_CHECK_TIME
+
uint8_t ping_state
Definition: ethdi.h:115
+
int xran_handle_ether(uint16_t ethertype, struct rte_mbuf *pkt, uint64_t rx_time)
Definition: ethdi.c:140
+
int timing_core
Definition: ethdi.h:91
+
uint64_t busy_poll_till
Definition: ethdi.h:127
+
int32_t process_dpdk_io(void)
Definition: ethdi.c:445
+
int port[ETHDI_VF_MAX]
Definition: ethdi.h:92
+
xran_if_state
Definition: xran_fh_o_du.h:189
+
#define BURST_SIZE
Definition: ethernet.h:37
+
struct rte_mempool * _eth_mbuf_pool
Definition: ethernet.c:70
+
uint16_t cp_vtag
Definition: ethdi.h:131
+
int xran_ethdi_init_dpdk_io(char *name, const struct xran_io_loop_cfg *io_cfg, int *lcore_id, struct ether_addr *p_lls_cu_addr, struct ether_addr *p_ru_addr, uint16_t cp_vlan, uint16_t up_vlan)
Definition: ethdi.c:288
+
int pkt_aux_core
Definition: ethdi.h:90
+
This file has all definitions for the Ethernet Data Interface Layer.
+
#define PID_RADIO_RX_VALIDATE
+
Modules provide debug prints and utility functions.
+
#define ETHER_TYPE_ETHDI
Definition: ethernet.h:41
+
#define CHECK_INTERVAL
+ + + + +
#define NUM_MBUFS
Definition: ethernet.h:46
+
uint16_t up_vtag
Definition: ethdi.h:132
+
This file provides public interface to xRAN Front Haul layer implementation as defined in the ORAN-WG...
+ + +
uint16_t ethertype
Definition: ethdi.c:114
+
int system_core
Definition: ethdi.h:88
+ +
#define wlog(m,...)
Definition: ethernet.h:140
+
#define elog(m,...)
Definition: ethernet.h:141
+
ethertype_handler fn
Definition: ethdi.c:115
+
#define MLogTask(w, x, y)
Definition: xran_mlog_lnx.h:44
+
char * bbdev_dev[1]
Definition: ethdi.h:85
+
def res
Definition: master.py:498
+
int bbdev_mode
Definition: ethdi.h:86
+
void xran_init_mbuf_pool(void)
Definition: ethernet.c:185
+
struct rte_timer timer_tx
Definition: ethdi.h:125
+
#define XRAN_THREAD_DEFAULT_PRIO
Definition: ethdi.h:52
+
#define MLogTick()
Definition: xran_mlog_lnx.h:42
+
int xran_register_ethertype_handler(uint16_t ethertype, ethertype_handler callback)
Definition: ethdi.c:124
+
+ + + + diff --git a/docs/API/ethdi_8h.html b/docs/API/ethdi_8h.html new file mode 100644 index 0000000..4f1d88a --- /dev/null +++ b/docs/API/ethdi_8h.html @@ -0,0 +1,773 @@ + + + + + + + +o-du/phy: ethdi.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
ethdi.h File Reference
+
+
+ +

This file has all definitions for the Ethernet Data Interface Layer. +More...

+
#include <rte_config.h>
+#include <rte_mbuf.h>
+#include <rte_timer.h>
+#include "ethernet.h"
+#include "xran_fh_o_du.h"
+
+Include dependency graph for ethdi.h:
+
+
+ + + + +
+
+This graph shows which files directly or indirectly include this file:
+
+
+ + + + + + + + + + +
+
+

Go to the source code of this file.

+ + + + + + +

+Data Structures

struct  xran_io_loop_cfg
 
struct  xran_ethdi_ctx
 
+ + + + + + + + + + + + + + + +

+Macros

#define XRAN_THREAD_DEFAULT_PRIO   (98)
 
#define PING_INTERVAL   300 /* (us) */
 
#define PING_BUSY_POLL   50 /* (us) how long to actively wait for response */
 
#define SLEEP_TIME   200 /* (us) */
 
#define BCAST   {0xff, 0xff, 0xff, 0xff, 0xff, 0xff}
 
#define TX_TIMER_INTERVAL   ((rte_get_timer_hz() / 1000000000L)*interval_us*1000) /* nanosec */
 
#define TX_RX_LOOP_TIME   rte_get_timer_hz() / 1
 
+ + + + + + + + + +

+Typedefs

typedef int(* PROCESS_CB) (void *arg)
 
typedef int(* xran_ethdi_handler) (struct rte_mbuf *, int sender, uint64_t rx_time)
 
typedef int(* ethertype_handler) (struct rte_mbuf *, uint64_t rx_time)
 
typedef void() xran_ethdi_tx_callback(struct rte_timer *tim, void *arg)
 
+ + + + + + + + + +

+Enumerations

enum  xran_ping_states { PING_IDLE, +PING_NEEDED, +AWAITING_PONG + }
 
enum  xran_ethdi_vf_ports { ETHDI_UP_VF = 0, +ETHDI_CP_VF, +ETHDI_VF_MAX + }
 
enum  xran_entities_id { ID_LLS_CU, +ID_RU, +ID_BROADCAST, +ID_MAX + }
 
enum  { MBUF_KEEP, +MBUF_FREE + }
 
+ + + + + + + + + + + + + + + +

+Functions

int xran_register_ethertype_handler (uint16_t ethertype, ethertype_handler callback)
 
int xran_ethdi_init_dpdk_io (char *name, const struct xran_io_loop_cfg *io_cfg, int *lcore_id, struct ether_addr *p_lls_cu_addr, struct ether_addr *p_ru_addr, uint16_t cp_vlan, uint16_t up_vlan)
 
struct rte_mbuf * xran_ethdi_mbuf_alloc (void)
 
int xran_ethdi_mbuf_send (struct rte_mbuf *mb, uint16_t ethertype)
 
int xran_ethdi_mbuf_send_cp (struct rte_mbuf *mb, uint16_t ethertype)
 
int xran_ethdi_filter_packet (struct rte_mbuf *pkt, uint64_t rx_time)
 
int32_t process_dpdk_io (void)
 
+ + + + + + + +

+Variables

enum xran_if_state xran_if_current_state
 
uint8_t ping_dst_id
 
struct ether_addr entities_addrs []
 
+

Detailed Description

+

This file has all definitions for the Ethernet Data Interface Layer.

+
Author
Intel Corporation
+ +

Definition in file ethdi.h.

+

Macro Definition Documentation

+ +

◆ BCAST

+ +
+
+ + + + +
#define BCAST   {0xff, 0xff, 0xff, 0xff, 0xff, 0xff}
+
+ +

Definition at line 62 of file ethdi.h.

+ +
+
+ +

◆ PING_BUSY_POLL

+ +
+
+ + + + +
#define PING_BUSY_POLL   50 /* (us) how long to actively wait for response */
+
+ +

Definition at line 56 of file ethdi.h.

+ +
+
+ +

◆ PING_INTERVAL

+ +
+
+ + + + +
#define PING_INTERVAL   300 /* (us) */
+
+ +

Definition at line 55 of file ethdi.h.

+ +
+
+ +

◆ SLEEP_TIME

+ +
+
+ + + + +
#define SLEEP_TIME   200 /* (us) */
+
+ +

Definition at line 61 of file ethdi.h.

+ +
+
+ +

◆ TX_RX_LOOP_TIME

+ +
+
+ + + + +
#define TX_RX_LOOP_TIME   rte_get_timer_hz() / 1
+
+ +

Definition at line 65 of file ethdi.h.

+ +
+
+ +

◆ TX_TIMER_INTERVAL

+ +
+
+ + + + +
#define TX_TIMER_INTERVAL   ((rte_get_timer_hz() / 1000000000L)*interval_us*1000) /* nanosec */
+
+ +

Definition at line 64 of file ethdi.h.

+ +
+
+ +

◆ XRAN_THREAD_DEFAULT_PRIO

+ +
+
+ + + + +
#define XRAN_THREAD_DEFAULT_PRIO   (98)
+
+ +

Definition at line 52 of file ethdi.h.

+ +
+
+

Typedef Documentation

+ +

◆ ethertype_handler

+ +
+
+ + + + +
typedef int(* ethertype_handler) (struct rte_mbuf *, uint64_t rx_time)
+
+ +

Definition at line 152 of file ethdi.h.

+ +
+
+ +

◆ PROCESS_CB

+ +
+
+ + + + +
typedef int(* PROCESS_CB) (void *arg)
+
+ +

Definition at line 109 of file ethdi.h.

+ +
+
+ +

◆ xran_ethdi_handler

+ +
+
+ + + + +
typedef int(* xran_ethdi_handler)(struct rte_mbuf *, int sender, uint64_t rx_time)
+
+ +

Definition at line 150 of file ethdi.h.

+ +
+
+ +

◆ xran_ethdi_tx_callback

+ +
+
+ + + + +
typedef void() xran_ethdi_tx_callback(struct rte_timer *tim, void *arg)
+
+ +

Definition at line 154 of file ethdi.h.

+ +
+
+

Enumeration Type Documentation

+ +

◆ anonymous enum

+ +
+
+ + + + +
anonymous enum
+
+ + + +
Enumerator
MBUF_KEEP 
MBUF_FREE 
+ +

Definition at line 135 of file ethdi.h.

+ +
+
+ +

◆ xran_entities_id

+ +
+
+ + + + +
enum xran_entities_id
+
+ + + + + +
Enumerator
ID_LLS_CU 
ID_RU 
ID_BROADCAST 
ID_MAX 
+ +

Definition at line 96 of file ethdi.h.

+ +
+
+ +

◆ xran_ethdi_vf_ports

+ +
+
+ + + + +
enum xran_ethdi_vf_ports
+
+ + + + +
Enumerator
ETHDI_UP_VF 
ETHDI_CP_VF 
ETHDI_VF_MAX 
+ +

Definition at line 74 of file ethdi.h.

+ +
+
+ +

◆ xran_ping_states

+ +
+
+ + + + +
enum xran_ping_states
+
+ + + + +
Enumerator
PING_IDLE 
PING_NEEDED 
AWAITING_PONG 
+ +

Definition at line 67 of file ethdi.h.

+ +
+
+

Function Documentation

+ +

◆ process_dpdk_io()

+ +
+
+ + + + + + + + +
int32_t process_dpdk_io (void )
+
+ +

Definition at line 445 of file ethdi.c.

+ +
+
+ +

◆ xran_ethdi_filter_packet()

+ +
+
+ + + + + + + + + + + + + + + + + + +
int xran_ethdi_filter_packet (struct rte_mbuf * pkt,
uint64_t rx_time 
)
+
+ +

Definition at line 156 of file ethdi.c.

+
+Here is the caller graph for this function:
+
+
+ + + +
+ +
+
+ +

◆ xran_ethdi_init_dpdk_io()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int xran_ethdi_init_dpdk_io (char * name,
const struct xran_io_loop_cfgio_cfg,
int * lcore_id,
struct ether_addr * p_lls_cu_addr,
struct ether_addr * p_ru_addr,
uint16_t cp_vlan,
uint16_t up_vlan 
)
+
+ +

Definition at line 288 of file ethdi.c.

+
+Here is the caller graph for this function:
+
+
+ + + + +
+ +
+
+ +

◆ xran_ethdi_mbuf_alloc()

+ +
+
+ + + + + + + + +
struct rte_mbuf* xran_ethdi_mbuf_alloc (void )
+
+ +

Definition at line 77 of file ethdi.c.

+
+Here is the caller graph for this function:
+
+
+ + + + +
+ +
+
+ +

◆ xran_ethdi_mbuf_send()

+ +
+
+ + + + + + + + + + + + + + + + + + +
int xran_ethdi_mbuf_send (struct rte_mbuf * mb,
uint16_t ethertype 
)
+
+ +

Definition at line 82 of file ethdi.c.

+ +
+
+ +

◆ xran_ethdi_mbuf_send_cp()

+ +
+
+ + + + + + + + + + + + + + + + + + +
int xran_ethdi_mbuf_send_cp (struct rte_mbuf * mb,
uint16_t ethertype 
)
+
+ +

Definition at line 94 of file ethdi.c.

+ +
+
+ +

◆ xran_register_ethertype_handler()

+ +
+
+ + + + + + + + + + + + + + + + + + +
int xran_register_ethertype_handler (uint16_t ethertype,
ethertype_handler callback 
)
+
+ +

Definition at line 124 of file ethdi.c.

+
+Here is the caller graph for this function:
+
+
+ + + + +
+ +
+
+

Variable Documentation

+ +

◆ entities_addrs

+ +
+
+ + + + +
struct ether_addr entities_addrs[]
+
+ +
+
+ +

◆ ping_dst_id

+ +
+
+ + + + +
uint8_t ping_dst_id
+
+ +
+
+ +

◆ xran_if_current_state

+ +
+
+ + + + +
enum xran_if_state xran_if_current_state
+
+ +

Definition at line 75 of file ethdi.c.

+ +
+
+
+ + + + diff --git a/docs/API/ethdi_8h__dep__incl.map b/docs/API/ethdi_8h__dep__incl.map new file mode 100644 index 0000000..0fe21a8 --- /dev/null +++ b/docs/API/ethdi_8h__dep__incl.map @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/docs/API/ethdi_8h__dep__incl.md5 b/docs/API/ethdi_8h__dep__incl.md5 new file mode 100644 index 0000000..92d521d --- /dev/null +++ b/docs/API/ethdi_8h__dep__incl.md5 @@ -0,0 +1 @@ +150c86df504820ac44471a8cded3288d \ No newline at end of file diff --git a/docs/API/ethdi_8h__dep__incl.png b/docs/API/ethdi_8h__dep__incl.png new file mode 100644 index 0000000..27cb842 Binary files /dev/null and b/docs/API/ethdi_8h__dep__incl.png differ diff --git a/docs/API/ethdi_8h__incl.map b/docs/API/ethdi_8h__incl.map new file mode 100644 index 0000000..c77a712 --- /dev/null +++ b/docs/API/ethdi_8h__incl.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/ethdi_8h__incl.md5 b/docs/API/ethdi_8h__incl.md5 new file mode 100644 index 0000000..809d7b4 --- /dev/null +++ b/docs/API/ethdi_8h__incl.md5 @@ -0,0 +1 @@ +44f54197d5c1d65d995db1dfab5e17be \ No newline at end of file diff --git a/docs/API/ethdi_8h__incl.png b/docs/API/ethdi_8h__incl.png new file mode 100644 index 0000000..8ee93ab Binary files /dev/null and b/docs/API/ethdi_8h__incl.png differ diff --git a/docs/API/ethdi_8h_a69c763967ba7e28c4a589ce624c226ff_icgraph.map b/docs/API/ethdi_8h_a69c763967ba7e28c4a589ce624c226ff_icgraph.map new file mode 100644 index 0000000..7dc1d5d --- /dev/null +++ b/docs/API/ethdi_8h_a69c763967ba7e28c4a589ce624c226ff_icgraph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/ethdi_8h_a69c763967ba7e28c4a589ce624c226ff_icgraph.md5 b/docs/API/ethdi_8h_a69c763967ba7e28c4a589ce624c226ff_icgraph.md5 new file mode 100644 index 0000000..5f79c84 --- /dev/null +++ b/docs/API/ethdi_8h_a69c763967ba7e28c4a589ce624c226ff_icgraph.md5 @@ -0,0 +1 @@ +a611df94beee89aa489b7c1f90b61d77 \ No newline at end of file diff --git a/docs/API/ethdi_8h_a69c763967ba7e28c4a589ce624c226ff_icgraph.png b/docs/API/ethdi_8h_a69c763967ba7e28c4a589ce624c226ff_icgraph.png new file mode 100644 index 0000000..359f83b Binary files /dev/null and b/docs/API/ethdi_8h_a69c763967ba7e28c4a589ce624c226ff_icgraph.png differ diff --git a/docs/API/ethdi_8h_a77f0a4b49dc21be816aefa3066debfa7_icgraph.map b/docs/API/ethdi_8h_a77f0a4b49dc21be816aefa3066debfa7_icgraph.map new file mode 100644 index 0000000..a50b266 --- /dev/null +++ b/docs/API/ethdi_8h_a77f0a4b49dc21be816aefa3066debfa7_icgraph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/ethdi_8h_a77f0a4b49dc21be816aefa3066debfa7_icgraph.md5 b/docs/API/ethdi_8h_a77f0a4b49dc21be816aefa3066debfa7_icgraph.md5 new file mode 100644 index 0000000..6672d49 --- /dev/null +++ b/docs/API/ethdi_8h_a77f0a4b49dc21be816aefa3066debfa7_icgraph.md5 @@ -0,0 +1 @@ +768399c43c6f361f87e21d39b4ee7450 \ No newline at end of file diff --git a/docs/API/ethdi_8h_a77f0a4b49dc21be816aefa3066debfa7_icgraph.png b/docs/API/ethdi_8h_a77f0a4b49dc21be816aefa3066debfa7_icgraph.png new file mode 100644 index 0000000..5e246dc Binary files /dev/null and b/docs/API/ethdi_8h_a77f0a4b49dc21be816aefa3066debfa7_icgraph.png differ diff --git a/docs/API/ethdi_8h_a97dcf8200aebed714f47764c302a06b5_icgraph.map b/docs/API/ethdi_8h_a97dcf8200aebed714f47764c302a06b5_icgraph.map new file mode 100644 index 0000000..9096b2e --- /dev/null +++ b/docs/API/ethdi_8h_a97dcf8200aebed714f47764c302a06b5_icgraph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/ethdi_8h_a97dcf8200aebed714f47764c302a06b5_icgraph.md5 b/docs/API/ethdi_8h_a97dcf8200aebed714f47764c302a06b5_icgraph.md5 new file mode 100644 index 0000000..beb4db8 --- /dev/null +++ b/docs/API/ethdi_8h_a97dcf8200aebed714f47764c302a06b5_icgraph.md5 @@ -0,0 +1 @@ +6b52254bd55b7639b2c3f8f5a585ee17 \ No newline at end of file diff --git a/docs/API/ethdi_8h_a97dcf8200aebed714f47764c302a06b5_icgraph.png b/docs/API/ethdi_8h_a97dcf8200aebed714f47764c302a06b5_icgraph.png new file mode 100644 index 0000000..cb2a078 Binary files /dev/null and b/docs/API/ethdi_8h_a97dcf8200aebed714f47764c302a06b5_icgraph.png differ diff --git a/docs/API/ethdi_8h_af110b40ee89935ebe18d65ef84de1359_icgraph.map b/docs/API/ethdi_8h_af110b40ee89935ebe18d65ef84de1359_icgraph.map new file mode 100644 index 0000000..8aff263 --- /dev/null +++ b/docs/API/ethdi_8h_af110b40ee89935ebe18d65ef84de1359_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/ethdi_8h_af110b40ee89935ebe18d65ef84de1359_icgraph.md5 b/docs/API/ethdi_8h_af110b40ee89935ebe18d65ef84de1359_icgraph.md5 new file mode 100644 index 0000000..6b43289 --- /dev/null +++ b/docs/API/ethdi_8h_af110b40ee89935ebe18d65ef84de1359_icgraph.md5 @@ -0,0 +1 @@ +56bf2fb2e090911f2c0b0570dfeac7e7 \ No newline at end of file diff --git a/docs/API/ethdi_8h_af110b40ee89935ebe18d65ef84de1359_icgraph.png b/docs/API/ethdi_8h_af110b40ee89935ebe18d65ef84de1359_icgraph.png new file mode 100644 index 0000000..4513f30 Binary files /dev/null and b/docs/API/ethdi_8h_af110b40ee89935ebe18d65ef84de1359_icgraph.png differ diff --git a/docs/API/ethdi_8h_source.html b/docs/API/ethdi_8h_source.html new file mode 100644 index 0000000..195e523 --- /dev/null +++ b/docs/API/ethdi_8h_source.html @@ -0,0 +1,131 @@ + + + + + + + +o-du/phy: ethdi.h Source File + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
ethdi.h
+
+
+Go to the documentation of this file.
1 /******************************************************************************
2 *
3 * Copyright (c) 2019 Intel.
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 *
17 *******************************************************************************/
18 
27 #ifndef _ETHDI_H_
28 #define _ETHDI_H_
29 
30 #ifdef __cplusplus
31 extern "C" {
32 #endif
33 
34 #include <rte_config.h>
35 #include <rte_mbuf.h>
36 #include <rte_timer.h>
37 
38 /* comment this to enable PDUMP
39  * DPDK has to be compiled with
40  * CONFIG_RTE_LIBRTE_PMD_PCAP=y
41  * CONFIG_RTE_LIBRTE_PDUMP=y
42  */
43 #undef RTE_LIBRTE_PDUMP
44 
45 #ifdef RTE_LIBRTE_PDUMP
46 #include <rte_pdump.h>
47 #endif
48 
49 #include "ethernet.h"
50 #include "xran_fh_o_du.h"
51 
52 #define XRAN_THREAD_DEFAULT_PRIO (98)
53 
54 /* How often to ping? */
55 #define PING_INTERVAL 300 /* (us) */
56 #define PING_BUSY_POLL 50 /* (us) how long to actively wait for response */
57 
58 /* If we're not receiving packets for more then this threshold... */
59 //#define SLEEP_THRESHOLD (rte_get_tsc_hz() / 30) /* = 33.3(3)ms */
60 /* we go to sleep for this long (usleep). Undef SLEEP_TRESHOLD to disable. */
61 #define SLEEP_TIME 200 /* (us) */
62 #define BCAST {0xff, 0xff, 0xff, 0xff, 0xff, 0xff}
63 
64 #define TX_TIMER_INTERVAL ((rte_get_timer_hz() / 1000000000L)*interval_us*1000) /* nanosec */
65 #define TX_RX_LOOP_TIME rte_get_timer_hz() / 1
66 
68 {
72 };
73 
75 {
79 };
80 
82 {
83  uint8_t id;
85  char *bbdev_dev[1];
87  int core;
88  int system_core; /* Needed as DPDK will change your starting core. */
89  int pkt_proc_core; /* Needed for packet processing thread. */
90  int pkt_aux_core; /* Needed for packet dumping for debug purposes. */
91  int timing_core; /* Needed for getting precise time */
92  int port[ETHDI_VF_MAX]; /* This is auto-detected, no need to set. */
93 };
94 
95 /* CAUTION: Keep in sync with the string table below. */
97 {
102 };
103 
104 static char *const entity_names[] = {
105  "xRAN lls-CU sim app",
106  "xRAN RU sim app",
107 };
108 
109 typedef int (*PROCESS_CB)(void * arg);
110 
112 {
113  struct xran_io_loop_cfg io_cfg;
114  struct ether_addr entities[ID_BROADCAST + 1];
115  uint8_t ping_state;
118 
119  struct rte_ring *tx_ring[ETHDI_VF_MAX];
120  struct rte_ring *rx_ring[ETHDI_VF_MAX];
121  struct rte_ring *pkt_dump_ring[ETHDI_VF_MAX];
122  struct rte_timer timer_autodetect;
123  struct rte_timer timer_ping;
124  struct rte_timer timer_sync;
125  struct rte_timer timer_tx;
126 
127  uint64_t busy_poll_till;
128 
129  unsigned pkt_stats[PKT_LAST + 1];
130 
131  uint16_t cp_vtag;
132  uint16_t up_vtag;
133 };
134 
135 enum {
138 };
139 
141 extern uint8_t ping_dst_id;
142 extern struct ether_addr entities_addrs[];
143 
144 static inline struct xran_ethdi_ctx *xran_ethdi_get_ctx(void)
145 {
146  extern struct xran_ethdi_ctx g_ethdi_ctx;
147 
148  return &g_ethdi_ctx;
149 }
150 typedef int (*xran_ethdi_handler)(struct rte_mbuf *, int sender, uint64_t rx_time);
151 
152 typedef int (*ethertype_handler)(struct rte_mbuf *, uint64_t rx_time);
153 typedef int (*xran_ethdi_handler)(struct rte_mbuf *, int sender, uint64_t rx_time);
154 typedef void (xran_ethdi_tx_callback)(struct rte_timer *tim, void *arg);
155 
156 
158 
159 
160 int xran_ethdi_init_dpdk_io(char *name, const struct xran_io_loop_cfg *io_cfg,
161  int *lcore_id, struct ether_addr *p_lls_cu_addr, struct ether_addr *p_ru_addr,
162  uint16_t cp_vlan, uint16_t up_vlan);
163 struct rte_mbuf *xran_ethdi_mbuf_alloc(void);
164 int xran_ethdi_mbuf_send(struct rte_mbuf *mb, uint16_t ethertype);
165 int xran_ethdi_mbuf_send_cp(struct rte_mbuf *mb, uint16_t ethertype);
166 #if 0
167 void xran_ethdi_stop_tx(void);
168 void xran_ethdi_ports_stats(void);
169 int xran_ethdi_dpdk_io_loop(void *);
170 #endif
171 int xran_ethdi_filter_packet(struct rte_mbuf *pkt, uint64_t rx_time);
172 int32_t process_dpdk_io(void);
173 
174 
175 #ifdef __cplusplus
176 }
177 #endif
178 
179 #endif /* #ifndef _ETHDI_H_ */
int(* PROCESS_CB)(void *arg)
Definition: ethdi.h:109
+
Definition: ethdi.h:101
+ +
int32_t process_dpdk_io(void)
Definition: ethdi.c:445
+
struct ether_addr entities_addrs[]
+
Definition: ethdi.h:99
+
char * dpdk_dev[ETHDI_VF_MAX]
Definition: ethdi.h:84
+ +
int(* ethertype_handler)(struct rte_mbuf *, uint64_t rx_time)
Definition: ethdi.h:152
+
uint8_t id
Definition: ethdi.h:83
+
int ping_times
Definition: ethdi.h:116
+ +
xran_entities_id
Definition: ethdi.h:96
+
int xran_ethdi_filter_packet(struct rte_mbuf *pkt, uint64_t rx_time)
Definition: ethdi.c:156
+ +
int xran_ethdi_mbuf_send(struct rte_mbuf *mb, uint16_t ethertype)
Definition: ethdi.c:82
+
struct xran_ethdi_ctx g_ethdi_ctx
Definition: ethdi.c:74
+ +
int pkt_proc_core
Definition: ethdi.h:89
+
struct rte_mbuf * xran_ethdi_mbuf_alloc(void)
Definition: ethdi.c:77
+
This file has all definitions for the Ethernet Data Interface Layer.
+
int known_peers
Definition: ethdi.h:117
+
void() xran_ethdi_tx_callback(struct rte_timer *tim, void *arg)
Definition: ethdi.h:154
+ +
uint8_t ping_state
Definition: ethdi.h:115
+
int timing_core
Definition: ethdi.h:91
+
uint64_t busy_poll_till
Definition: ethdi.h:127
+
int port[ETHDI_VF_MAX]
Definition: ethdi.h:92
+
xran_if_state
Definition: xran_fh_o_du.h:189
+
uint16_t cp_vtag
Definition: ethdi.h:131
+
uint8_t ping_dst_id
+
int pkt_aux_core
Definition: ethdi.h:90
+ + +
enum xran_if_state xran_if_current_state
Definition: ethdi.c:75
+
int xran_ethdi_init_dpdk_io(char *name, const struct xran_io_loop_cfg *io_cfg, int *lcore_id, struct ether_addr *p_lls_cu_addr, struct ether_addr *p_ru_addr, uint16_t cp_vlan, uint16_t up_vlan)
Definition: ethdi.c:288
+ + + +
int xran_ethdi_mbuf_send_cp(struct rte_mbuf *mb, uint16_t ethertype)
Definition: ethdi.c:94
+
uint16_t up_vtag
Definition: ethdi.h:132
+
This file provides public interface to xRAN Front Haul layer implementation as defined in the ORAN-WG...
+ +
uint16_t ethertype
Definition: ethdi.c:114
+
int system_core
Definition: ethdi.h:88
+ + +
xran_ethdi_vf_ports
Definition: ethdi.h:74
+
char * bbdev_dev[1]
Definition: ethdi.h:85
+
int(* xran_ethdi_handler)(struct rte_mbuf *, int sender, uint64_t rx_time)
Definition: ethdi.h:150
+
int bbdev_mode
Definition: ethdi.h:86
+
xran_ping_states
Definition: ethdi.h:67
+
int xran_register_ethertype_handler(uint16_t ethertype, ethertype_handler callback)
Definition: ethdi.c:124
+
+ + + + diff --git a/docs/API/ethernet_8c.html b/docs/API/ethernet_8c.html new file mode 100644 index 0000000..7ebf18a --- /dev/null +++ b/docs/API/ethernet_8c.html @@ -0,0 +1,531 @@ + + + + + + + +o-du/phy: ethernet.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
ethernet.c File Reference
+
+
+ +

This file has all definitions for the Ethernet Data Interface Layer. +More...

+
#include <stdio.h>
+#include <string.h>
+#include <stdint.h>
+#include <unistd.h>
+#include <errno.h>
+#include <sys/queue.h>
+#include <err.h>
+#include <assert.h>
+#include <linux/limits.h>
+#include <sys/types.h>
+#include <stdlib.h>
+#include <math.h>
+#include <rte_config.h>
+#include <rte_common.h>
+#include <rte_log.h>
+#include <rte_memory.h>
+#include <rte_memcpy.h>
+#include <rte_memzone.h>
+#include <rte_eal.h>
+#include <rte_per_lcore.h>
+#include <rte_launch.h>
+#include <rte_atomic.h>
+#include <rte_cycles.h>
+#include <rte_prefetch.h>
+#include <rte_lcore.h>
+#include <rte_branch_prediction.h>
+#include <rte_interrupts.h>
+#include <rte_pci.h>
+#include <rte_debug.h>
+#include <rte_ether.h>
+#include <rte_ethdev.h>
+#include <rte_ring.h>
+#include <rte_mempool.h>
+#include <rte_mbuf.h>
+#include <rte_errno.h>
+#include "ethernet.h"
+#include "ethdi.h"
+
+Include dependency graph for ethernet.c:
+
+
+ + + + + +
+
+

Go to the source code of this file.

+ + + + + + +

+Macros

#define RINGSIZE   sizeof(io_ring.buf)
 
#define RINGMASK   (RINGSIZE - 1)
 
+ + + +

+Typedefs

typedef uint16_t ring_idx
 
+ + + + + + + + + +

+Functions

int __xran_delayed_msg (const char *fmt,...)
 
void xran_init_mbuf_pool (void)
 
void xran_init_port (int p_id, struct ether_addr *p_lls_cu_addr)
 
void xran_add_eth_hdr_vlan (struct ether_addr *dst, uint16_t ethertype, struct rte_mbuf *mb, uint16_t vlan_tci)
 
+ + + + + + + + + + + + + + + +

+Variables

struct rte_mempool * _eth_mbuf_pool = NULL
 
struct rte_mempool * _eth_mbuf_pool_inderect = NULL
 
struct rte_mempool * _eth_mbuf_pool_rx = NULL
 
struct rte_mempool * _eth_mbuf_pool_small = NULL
 
struct rte_mempool * _eth_mbuf_pool_big = NULL
 
struct rte_mempool * socket_direct_pool = NULL
 
struct rte_mempool * socket_indirect_pool = NULL
 
+

Detailed Description

+

This file has all definitions for the Ethernet Data Interface Layer.

+
Author
Intel Corporation
+ +

Definition in file ethernet.c.

+

Macro Definition Documentation

+ +

◆ RINGMASK

+ +
+
+ + + + +
#define RINGMASK   (RINGSIZE - 1)
+
+ +

Definition at line 95 of file ethernet.c.

+ +
+
+ +

◆ RINGSIZE

+ +
+
+ + + + +
#define RINGSIZE   sizeof(io_ring.buf)
+
+ +

Definition at line 94 of file ethernet.c.

+ +
+
+

Typedef Documentation

+ +

◆ ring_idx

+ +
+
+ + + + +
typedef uint16_t ring_idx
+
+ +

Definition at line 86 of file ethernet.c.

+ +
+
+

Function Documentation

+ +

◆ __xran_delayed_msg()

+ +
+
+ + + + + + + + + + + + + + + + + + +
int __xran_delayed_msg (const char * fmt,
 ... 
)
+
+ +

Definition at line 97 of file ethernet.c.

+ +
+
+ +

◆ xran_add_eth_hdr_vlan()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void xran_add_eth_hdr_vlan (struct ether_addr * dst,
uint16_t ethertype,
struct rte_mbuf * mb,
uint16_t vlan_tci 
)
+
+ +

Definition at line 434 of file ethernet.c.

+ +
+
+ +

◆ xran_init_mbuf_pool()

+ +
+
+ + + + + + + + +
void xran_init_mbuf_pool (void )
+
+ +

Definition at line 185 of file ethernet.c.

+ +
+
+ +

◆ xran_init_port()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void xran_init_port (int p_id,
struct ether_addr * p_lls_cu_addr 
)
+
+ +

Definition at line 229 of file ethernet.c.

+ +
+
+

Variable Documentation

+ +

◆ _eth_mbuf_pool

+ +
+
+ + + + +
struct rte_mempool* _eth_mbuf_pool = NULL
+
+ +

Definition at line 70 of file ethernet.c.

+ +
+
+ +

◆ _eth_mbuf_pool_big

+ +
+
+ + + + +
struct rte_mempool* _eth_mbuf_pool_big = NULL
+
+ +

Definition at line 74 of file ethernet.c.

+ +
+
+ +

◆ _eth_mbuf_pool_inderect

+ +
+
+ + + + +
struct rte_mempool* _eth_mbuf_pool_inderect = NULL
+
+ +

Definition at line 71 of file ethernet.c.

+ +
+
+ +

◆ _eth_mbuf_pool_rx

+ +
+
+ + + + +
struct rte_mempool* _eth_mbuf_pool_rx = NULL
+
+ +

Definition at line 72 of file ethernet.c.

+ +
+
+ +

◆ _eth_mbuf_pool_small

+ +
+
+ + + + +
struct rte_mempool* _eth_mbuf_pool_small = NULL
+
+ +

Definition at line 73 of file ethernet.c.

+ +
+
+ +

◆ buf

+ +
+
+ + + + +
char buf[1024]
+
+ +

Definition at line 91 of file ethernet.c.

+ +
+
+ +

◆ head

+ +
+
+ + + + +
ring_idx head
+
+ +

Definition at line 88 of file ethernet.c.

+ +
+
+ +

◆ read_head

+ +
+
+ + + + +
ring_idx read_head
+
+ +

Definition at line 89 of file ethernet.c.

+ +
+
+ +

◆ socket_direct_pool

+ +
+
+ + + + +
struct rte_mempool* socket_direct_pool = NULL
+
+ +

Definition at line 76 of file ethernet.c.

+ +
+
+ +

◆ socket_indirect_pool

+ +
+
+ + + + +
struct rte_mempool* socket_indirect_pool = NULL
+
+ +

Definition at line 77 of file ethernet.c.

+ +
+
+ +

◆ tail

+ +
+
+ + + + +
ring_idx tail
+
+ +

Definition at line 90 of file ethernet.c.

+ +
+
+
+ + + + diff --git a/docs/API/ethernet_8c__incl.map b/docs/API/ethernet_8c__incl.map new file mode 100644 index 0000000..c090378 --- /dev/null +++ b/docs/API/ethernet_8c__incl.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/API/ethernet_8c__incl.md5 b/docs/API/ethernet_8c__incl.md5 new file mode 100644 index 0000000..09b1ef7 --- /dev/null +++ b/docs/API/ethernet_8c__incl.md5 @@ -0,0 +1 @@ +b06662f8608019b6d9a9f2ddda9ed03a \ No newline at end of file diff --git a/docs/API/ethernet_8c__incl.png b/docs/API/ethernet_8c__incl.png new file mode 100644 index 0000000..0849a26 Binary files /dev/null and b/docs/API/ethernet_8c__incl.png differ diff --git a/docs/API/ethernet_8c_source.html b/docs/API/ethernet_8c_source.html new file mode 100644 index 0000000..d3457b7 --- /dev/null +++ b/docs/API/ethernet_8c_source.html @@ -0,0 +1,128 @@ + + + + + + + +o-du/phy: ethernet.c Source File + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
ethernet.c
+
+
+Go to the documentation of this file.
1 /******************************************************************************
2 *
3 * Copyright (c) 2019 Intel.
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 *
17 *******************************************************************************/
18 
27 #include <stdio.h>
28 #include <string.h>
29 #include <stdint.h>
30 #include <unistd.h>
31 #include <errno.h>
32 #include <sys/queue.h>
33 #include <err.h>
34 #include <assert.h>
35 
36 #include <linux/limits.h>
37 #include <sys/types.h>
38 #include <stdlib.h>
39 #include <math.h>
40 
41 #include <rte_config.h>
42 #include <rte_common.h>
43 #include <rte_log.h>
44 #include <rte_memory.h>
45 #include <rte_memcpy.h>
46 #include <rte_memzone.h>
47 #include <rte_eal.h>
48 #include <rte_per_lcore.h>
49 #include <rte_launch.h>
50 #include <rte_atomic.h>
51 #include <rte_cycles.h>
52 #include <rte_prefetch.h>
53 #include <rte_lcore.h>
54 #include <rte_per_lcore.h>
55 #include <rte_branch_prediction.h>
56 #include <rte_interrupts.h>
57 #include <rte_pci.h>
58 #include <rte_debug.h>
59 #include <rte_ether.h>
60 #include <rte_ethdev.h>
61 #include <rte_ring.h>
62 #include <rte_mempool.h>
63 #include <rte_mbuf.h>
64 #include <rte_errno.h>
65 
66 #include "ethernet.h"
67 #include "ethdi.h"
68 
69 /* Our mbuf pools. */
70 struct rte_mempool *_eth_mbuf_pool = NULL;
71 struct rte_mempool *_eth_mbuf_pool_inderect = NULL;
72 struct rte_mempool *_eth_mbuf_pool_rx = NULL;
73 struct rte_mempool *_eth_mbuf_pool_small = NULL;
74 struct rte_mempool *_eth_mbuf_pool_big = NULL;
75 
76 struct rte_mempool *socket_direct_pool = NULL;
77 struct rte_mempool *socket_indirect_pool = NULL;
78 
79 
80 /*
81  * Make sure the ring indexes are big enough to cover buf space x2
82  * This ring-buffer maintains the property head - tail <= RINGSIZE.
83  * head == tail: ring buffer empty
84  * head - tail == RINGSIZE: ring buffer full
85  */
86 typedef uint16_t ring_idx;
87 static struct {
91  char buf[1024]; /* needs power of 2! */
92 } io_ring = { {0}, 0, 0};
93 
94 #define RINGSIZE sizeof(io_ring.buf)
95 #define RINGMASK (RINGSIZE - 1)
96 
97 int __xran_delayed_msg(const char *fmt, ...)
98 {
99 #if 0
100  va_list ap;
101  int msg_len;
102  char localbuf[RINGSIZE];
103  ring_idx old_head, new_head;
104  ring_idx copy_len;
105 
106  /* first prep a copy of the message on the local stack */
107  va_start(ap, fmt);
108  msg_len = vsnprintf(localbuf, RINGSIZE, fmt, ap);
109  va_end(ap);
110 
111  /* atomically reserve space in the ring */
112  for (;;) {
113  old_head = io_ring.head; /* snapshot head */
114  /* free always within range of [0, RINGSIZE] - proof by induction */
115  const ring_idx free = RINGSIZE - (old_head - io_ring.tail);
116 
117  copy_len = RTE_MIN(msg_len, free);
118  if (copy_len <= 0)
119  return 0; /* vsnprintf error or ringbuff full. Drop log. */
120 
121  new_head = old_head + copy_len;
122  RTE_ASSERT((ring_idx)(new_head - io_ring.tail) <= RINGSIZE);
123 
124  if (likely(__atomic_compare_exchange_n(&io_ring.head, &old_head,
125  new_head, 0, __ATOMIC_ACQUIRE, __ATOMIC_RELAXED)))
126  break;
127  }
128 
129  /* Now copy data in at ease. */
130  const int copy_start = (old_head & RINGMASK);
131  if (copy_start < (new_head & RINGMASK)) /* no wrap */
132  memcpy(io_ring.buf + copy_start, localbuf, copy_len);
133  else { /* wrap-around */
134  const int chunk_len = RINGSIZE - copy_start;
135 
136  memcpy(io_ring.buf + copy_start, localbuf, chunk_len);
137  memcpy(io_ring.buf, localbuf + chunk_len, copy_len - chunk_len);
138  }
139 
140  /* wait for previous writes to complete before updating read_head. */
141  while (io_ring.read_head != old_head)
142  rte_pause();
143  io_ring.read_head = new_head;
144 
145 
146  return copy_len;
147  #endif
148  return 0;
149 }
150 
151 /*
152  * Display part of the message stored in the ring buffer.
153  * Might require multiple calls to print the full message.
154  * Will return 0 when nothing left to print.
155  */
156 #if 0
157 int xran_show_delayed_message(void)
158 {
159  ring_idx tail = io_ring.tail;
160  ring_idx wlen = io_ring.read_head - tail; /* always within [0, RINGSIZE] */
161 
162  if (wlen <= 0)
163  return 0;
164 
165  tail &= RINGMASK; /* modulo the range down now that we have wlen */
166 
167  /* Make sure we're not going over buffer end. Next call will wrap. */
168  if (tail + wlen > RINGSIZE)
169  wlen = RINGSIZE - tail;
170 
171  RTE_ASSERT(tail + wlen <= RINGSIZE);
172 
173  /* We use write() here to avoid recaculating string length in fwrite(). */
174  const ssize_t written = write(STDOUT_FILENO, io_ring.buf + tail, wlen);
175  if (written <= 0)
176  return 0; /* To avoid moving tail the wrong way on error. */
177 
178  /* Move tail up. Only we touch it. And we only print from one core. */
179  io_ring.tail += written;
180 
181  return written; /* next invocation will print the rest if any */
182 }
183 #endif
184 
186 {
187  /* Init the buffer pool */
188  if (rte_eal_process_type() == RTE_PROC_PRIMARY) {
189  _eth_mbuf_pool = rte_pktmbuf_pool_create("mempool", NUM_MBUFS,
190  MBUF_CACHE, 0, MBUF_POOL_ELEMENT, rte_socket_id());
191 #ifdef XRAN_ATTACH_MBUF
192  _eth_mbuf_pool_inderect = rte_pktmbuf_pool_create("mempool_indirect", NUM_MBUFS,
193  MBUF_CACHE, 0, MBUF_POOL_ELEMENT, rte_socket_id());*/
194 #endif
195  _eth_mbuf_pool_rx = rte_pktmbuf_pool_create("mempool_rx", NUM_MBUFS,
196  MBUF_CACHE, 0, MBUF_POOL_ELEMENT, rte_socket_id());
197  _eth_mbuf_pool_small = rte_pktmbuf_pool_create("mempool_small",
198  NUM_MBUFS, MBUF_CACHE, 0, MBUF_POOL_ELM_SMALL, rte_socket_id());
199  _eth_mbuf_pool_big = rte_pktmbuf_pool_create("mempool_big",
200  NUM_MBUFS_BIG, 0, 0, MBUF_POOL_ELM_BIG, rte_socket_id());
201  } else {
202  _eth_mbuf_pool = rte_mempool_lookup("mempool");
203  _eth_mbuf_pool_inderect = rte_mempool_lookup("mempool_indirect");
204  _eth_mbuf_pool_rx = rte_mempool_lookup("mempool_rx");
205  _eth_mbuf_pool_small = rte_mempool_lookup("mempool_small");
206  _eth_mbuf_pool_big = rte_mempool_lookup("mempool_big");
207  }
208  if (_eth_mbuf_pool == NULL)
209  rte_panic("Cannot create mbuf pool: %s\n", rte_strerror(rte_errno));
210 #ifdef XRAN_ATTACH_MBUF
211  if (_eth_mbuf_pool_inderect == NULL)
212  rte_panic("Cannot create mbuf pool: %s\n", rte_strerror(rte_errno));
213 #endif
214  if (_eth_mbuf_pool_rx == NULL)
215  rte_panic("Cannot create mbuf pool: %s\n", rte_strerror(rte_errno));
216  if (_eth_mbuf_pool_small == NULL)
217  rte_panic("Cannot create small mbuf pool: %s\n", rte_strerror(rte_errno));
218  if (_eth_mbuf_pool_big == NULL)
219  rte_panic("Cannot create big mbuf pool: %s\n", rte_strerror(rte_errno));
220 
221  if (socket_direct_pool == NULL)
223 
224  if (socket_indirect_pool == NULL)
226 }
227 
228 /* Init NIC port, then start the port */
229 void xran_init_port(int p_id, struct ether_addr *p_lls_cu_addr)
230 {
231  static uint16_t nb_rxd = BURST_SIZE;
232  static uint16_t nb_txd = BURST_SIZE;
233  struct ether_addr addr;
234  struct rte_eth_rxmode rxmode =
235  { .split_hdr_size = 0,
236  .max_rx_pkt_len = MAX_RX_LEN,
237  .offloads=(DEV_RX_OFFLOAD_JUMBO_FRAME|DEV_RX_OFFLOAD_CRC_STRIP)
238  };
239  struct rte_eth_txmode txmode = {
240  .mq_mode = ETH_MQ_TX_NONE
241  };
242  struct rte_eth_conf port_conf = {
243  .rxmode = rxmode,
244  .txmode = txmode
245  };
246  struct rte_eth_rxconf rxq_conf;
247  struct rte_eth_txconf txq_conf;
248 
249  int ret;
250  struct rte_eth_dev_info dev_info;
251  const char *drv_name = "";
252  int sock_id = rte_eth_dev_socket_id(p_id);
253 
254  rte_eth_dev_info_get(p_id, &dev_info);
255  if (dev_info.driver_name)
256  drv_name = dev_info.driver_name;
257  printf("initializing port %d for TX, drv=%s\n", p_id, drv_name);
258 
259  rte_eth_macaddr_get(p_id, &addr);
260 
261  printf("Port %u MAC: %02"PRIx8" %02"PRIx8" %02"PRIx8
262  " %02"PRIx8" %02"PRIx8" %02"PRIx8"\n",
263  (unsigned)p_id,
264  addr.addr_bytes[0], addr.addr_bytes[1], addr.addr_bytes[2],
265  addr.addr_bytes[3], addr.addr_bytes[4], addr.addr_bytes[5]);
266 
267  /* Init port */
268  ret = rte_eth_dev_configure(p_id, 1, 1, &port_conf);
269  if (ret < 0)
270  rte_panic("Cannot configure port %u (%d)\n", p_id, ret);
271 
272  ret = rte_eth_dev_adjust_nb_rx_tx_desc(p_id, &nb_rxd,&nb_txd);
273 
274  if (ret < 0) {
275  printf("\n");
276  rte_exit(EXIT_FAILURE, "Cannot adjust number of "
277  "descriptors: err=%d, port=%d\n", ret, p_id);
278  }
279  printf("Port %u: nb_rxd %d nb_txd %d\n", p_id, nb_rxd, nb_txd);
280 
281  /* Init RX queues */
282  rxq_conf = dev_info.default_rxconf;
283  ret = rte_eth_rx_queue_setup(p_id, 0, nb_rxd,
284  sock_id, &rxq_conf, _eth_mbuf_pool_rx);
285  if (ret < 0)
286  rte_panic("Cannot init RX for port %u (%d)\n",
287  p_id, ret);
288 
289  /* Init TX queues */
290  txq_conf = dev_info.default_txconf;
291  ret = rte_eth_tx_queue_setup(p_id, 0, nb_txd, sock_id, &txq_conf);
292  if (ret < 0)
293  rte_panic("Cannot init TX for port %u (%d)\n",
294  p_id, ret);
295 
296  /* Start port */
297  ret = rte_eth_dev_start(p_id);
298  if (ret < 0)
299  rte_panic("Cannot start port %u (%d)\n", p_id, ret);
300 
301 // rte_eth_promiscuous_enable(p_id);
302 }
303 
304 #if 0
305 void xran_memdump(void *addr, int len)
306 {
307  int i;
308  char tmp_buf[len * 2 + len / 16 + 1];
309  char *p = tmp_buf;
310 
311  return;
312 #if 0
313  for (i = 0; i < len; ++i) {
314  sprintf(p, "%.2X ", ((uint8_t *)addr)[i]);
315  if (i % 16 == 15)
316  *p++ = '\n';
317  }
318  *p = 0;
319  nlog("%s", tmp_buf);
320 #endif
321 }
322 
323 /* Prepend ethernet header, possibly vlan tag. */
324 void xran_add_eth_hdr(struct ether_addr *dst, uint16_t ethertype, struct rte_mbuf *mb)
325 {
326  /* add in the ethernet header */
327  struct ether_hdr *const h = (void *)rte_pktmbuf_prepend(mb, sizeof(*h));
328 
329  PANIC_ON(h == NULL, "mbuf prepend of ether_hdr failed");
330 
331  /* Fill in the ethernet header. */
332  rte_eth_macaddr_get(mb->port, &h->s_addr); /* set source addr */
333  h->d_addr = *dst; /* set dst addr */
334  h->ether_type = rte_cpu_to_be_16(ethertype); /* ethertype too */
335 
336 #if defined(DPDKIO_DEBUG) && DPDKIO_DEBUG > 1
337  {
338  char dst[ETHER_ADDR_FMT_SIZE] = "(empty)";
339  char src[ETHER_ADDR_FMT_SIZE] = "(empty)";
340 
341  nlog("*** packet for TX below (len %d) ***", rte_pktmbuf_pkt_len(mb));
342  ether_format_addr(src, sizeof(src), &h->s_addr);
343  ether_format_addr(dst, sizeof(dst), &h->d_addr);
344  nlog("src: %s dst: %s ethertype: %.4X", src, dst, ethertype);
345  }
346 #endif
347 #ifdef VLAN_SUPPORT
348  mb->vlan_tci = FLEXRAN_UP_VLAN_TAG;
349  dlog("Inserting vlan tag of %d", FLEXRAN_UP_VLAN_TAG);
350  rte_vlan_insert(&mb);
351 #endif
352 }
353 
354 int xran_send_mbuf(struct ether_addr *dst, struct rte_mbuf *mb)
355 {
356  xran_add_eth_hdr(dst, ETHER_TYPE_ETHDI, mb);
357 
358  if (rte_eth_tx_burst(mb->port, 0, &mb, 1) == 1)
359  return 1;
360 
361  elog("packet sending failed on port %d", mb->port);
362  rte_pktmbuf_free(mb);
363 
364  return 0; /* fail */
365 }
366 
367 int xran_send_message_burst(int dst_id, int pkt_type, void *body, int len)
368 {
369  struct rte_mbuf *mbufs[BURST_SIZE];
370  int i;
371  uint8_t *src = body;
372  const struct xran_ethdi_ctx *const ctx = xran_ethdi_get_ctx();
373 
374  /* We're limited by maximum mbuf size on the receive size.
375  * We can change this but this would be a bigger rework. */
376  RTE_ASSERT(len < MBUF_POOL_ELM_BIG);
377 
378  /* Allocate the required number of mbufs. */
379  const uint8_t count = ceilf((float)len / MAX_DATA_SIZE);
380  if (rte_pktmbuf_alloc_bulk(_eth_mbuf_pool, mbufs, count) != 0)
381  rte_panic("Failed to allocate %d mbufs\n", count);
382 
383  nlog("burst transfer with data size %lu", MAX_DATA_SIZE);
384  for (i = 0; len > 0; ++i) {
385  char *p;
386  struct burst_hdr *bhdr;
387  struct ethdi_hdr *edi_hdr;
388 
389  /* Setup the ethdi_hdr. */
390  edi_hdr = (void *)rte_pktmbuf_append(mbufs[i], sizeof(*edi_hdr));
391  if (edi_hdr == NULL)
392  rte_panic("append of ethdi_hdr failed\n");
393  edi_hdr->pkt_type = PKT_BURST;
394  /* edi_hdr->source_id setup in tx_from_ring */
395  edi_hdr->dest_id = dst_id;
396 
397  /* Setup the burst header */
398  bhdr = (void *)rte_pktmbuf_append(mbufs[i], sizeof(*bhdr));
399  if (bhdr == NULL) /* append failed. */
400  rte_panic("mbuf prepend of burst_hdr failed\n");
401  bhdr->original_type = pkt_type;
402  bhdr->pkt_idx = i; /* save the index of the burst chunk. */
403  bhdr->total_pkts = count;
404 
405  /* now copy in the actual data */
406  const int curr_data_len = RTE_MIN(len, MAX_TX_LEN -
407  rte_pktmbuf_pkt_len(mbufs[i]) - sizeof(struct ether_hdr));
408  p = (void *)rte_pktmbuf_append(mbufs[i], curr_data_len);
409  if (p == NULL)
410  rte_panic("mbuf append of %d data bytes failed\n", curr_data_len);
411  /* This copy is unavoidable, as we're splitting one big buffer
412  * into multiple mbufs. */
413  rte_memcpy(p, src, curr_data_len);
414 
415  dlog("curr_data_len[%d] = %d", i, curr_data_len);
416  dlog("packet %d size %d", i, rte_pktmbuf_pkt_len(mbufs[i]));
417 
418  /* Update our source data pointer and remaining length. */
419  len -= curr_data_len;
420  src += curr_data_len;
421  }
422 
423  /* Now enqueue the full prepared burst. */
424  i = rte_ring_enqueue_bulk(ctx->tx_ring[0], (void **)mbufs, count, NULL);
425  PANIC_ON(i != count, "failed to enqueue all mbufs: %d/%d", i, count);
426  dlog("%d packets enqueued on port %d.", count, ctx->io_cfg.port);
427 
428  return 1;
429 }
430 
431 #endif
432 
433 /* Prepend ethernet header, possibly vlan tag. */
434 void xran_add_eth_hdr_vlan(struct ether_addr *dst, uint16_t ethertype, struct rte_mbuf *mb, uint16_t vlan_tci)
435 {
436  /* add in the ethernet header */
437  struct ether_hdr *h = (struct ether_hdr *)rte_pktmbuf_mtod(mb, struct ether_hdr*);
438 
439  PANIC_ON(h == NULL, "mbuf prepend of ether_hdr failed");
440 
441  /* Fill in the ethernet header. */
442  rte_eth_macaddr_get(mb->port, &h->s_addr); /* set source addr */
443  h->d_addr = *dst; /* set dst addr */
444  h->ether_type = rte_cpu_to_be_16(ethertype); /* ethertype too */
445 
446 #if defined(DPDKIO_DEBUG) && DPDKIO_DEBUG > 1
447  {
448  char dst[ETHER_ADDR_FMT_SIZE] = "(empty)";
449  char src[ETHER_ADDR_FMT_SIZE] = "(empty)";
450 
451  nlog("*** packet for TX below (len %d) ***", rte_pktmbuf_pkt_len(mb));
452  ether_format_addr(src, sizeof(src), &h->s_addr);
453  ether_format_addr(dst, sizeof(dst), &h->d_addr);
454  nlog("src: %s dst: %s ethertype: %.4X", src, dst, ethertype);
455  }
456 #endif
457 #ifdef VLAN_SUPPORT
458  mb->vlan_tci = vlan_tci;
459  dlog("Inserting vlan tag of %d", vlan_tci);
460  rte_vlan_insert(&mb);
461 #endif
462 }
463 
464 
struct rte_mempool * socket_indirect_pool
Definition: ethernet.c:77
+
#define PANIC_ON(x, m,...)
Definition: ethernet.h:148
+
#define MBUF_POOL_ELEMENT
Definition: ethernet.h:50
+
#define NUM_MBUFS_BIG
Definition: ethernet.h:59
+
int8_t original_type
Definition: ethernet.h:108
+
struct xran_io_loop_cfg io_cfg
Definition: ethdi.h:113
+
pkt_type
Definition: ethernet.h:71
+
struct rte_ring * tx_ring[ETHDI_VF_MAX]
Definition: ethdi.h:119
+
struct rte_mempool * socket_direct_pool
Definition: ethernet.c:76
+
void xran_init_port(int p_id, struct ether_addr *p_lls_cu_addr)
Definition: ethernet.c:229
+
int __xran_delayed_msg(const char *fmt,...)
Definition: ethernet.c:97
+
int8_t total_pkts
Definition: ethernet.h:107
+
ring_idx tail
Definition: ethernet.c:90
+
#define dlog(m,...)
Definition: ethernet.h:145
+
#define RINGMASK
Definition: ethernet.c:95
+
struct rte_mempool * _eth_mbuf_pool_rx
Definition: ethernet.c:72
+
#define MAX_DATA_SIZE
Definition: ethernet.h:54
+ +
int8_t pkt_idx
Definition: ethernet.h:106
+
This file has all definitions for the Ethernet Data Interface Layer.
+
void xran_add_eth_hdr_vlan(struct ether_addr *dst, uint16_t ethertype, struct rte_mbuf *mb, uint16_t vlan_tci)
Definition: ethernet.c:434
+
#define FLEXRAN_UP_VLAN_TAG
Definition: ethernet.h:40
+
#define nlog(m,...)
Definition: ethernet.h:138
+
struct rte_mempool * _eth_mbuf_pool_small
Definition: ethernet.c:73
+ +
#define MAX_RX_LEN
Definition: ethernet.h:52
+
struct rte_mempool * _eth_mbuf_pool_inderect
Definition: ethernet.c:71
+
#define MAX_TX_LEN
Definition: ethernet.h:53
+
int port[ETHDI_VF_MAX]
Definition: ethdi.h:92
+
#define BURST_SIZE
Definition: ethernet.h:37
+
struct rte_mempool * _eth_mbuf_pool
Definition: ethernet.c:70
+
ring_idx head
Definition: ethernet.c:88
+
This file has all definitions for the Ethernet Data Interface Layer.
+
char buf[1024]
Definition: ethernet.c:91
+
#define ETHER_TYPE_ETHDI
Definition: ethernet.h:41
+ + +
#define MBUF_CACHE
Definition: ethernet.h:47
+
uint16_t ring_idx
Definition: ethernet.c:86
+
#define NUM_MBUFS
Definition: ethernet.h:46
+
uint16_t ethertype
Definition: ethdi.c:114
+
#define elog(m,...)
Definition: ethernet.h:141
+
#define MBUF_POOL_ELM_BIG
Definition: ethernet.h:58
+
uint8_t dest_id
Definition: ethernet.h:115
+
ring_idx read_head
Definition: ethernet.c:89
+
uint8_t pkt_type
Definition: ethernet.h:113
+
void xran_init_mbuf_pool(void)
Definition: ethernet.c:185
+
struct rte_mempool * _eth_mbuf_pool_big
Definition: ethernet.c:74
+
#define MBUF_POOL_ELM_SMALL
Definition: ethernet.h:49
+
#define RINGSIZE
Definition: ethernet.c:94
+
+ + + + diff --git a/docs/API/ethernet_8h.html b/docs/API/ethernet_8h.html new file mode 100644 index 0000000..6300d15 --- /dev/null +++ b/docs/API/ethernet_8h.html @@ -0,0 +1,894 @@ + + + + + + + +o-du/phy: ethernet.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
ethernet.h File Reference
+
+
+ +

This file has all definitions for the Ethernet Data Interface Layer. +More...

+
#include <rte_config.h>
+#include <rte_ether.h>
+#include <rte_mbuf.h>
+
+Include dependency graph for ethernet.h:
+
+
+ + +
+
+This graph shows which files directly or indirectly include this file:
+
+
+ + + + + + + + + + + + + + + +
+
+

Go to the source code of this file.

+ + + + + + +

+Data Structures

struct  burst_hdr
 
struct  ethdi_hdr
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Macros

#define BURST_SIZE   4096
 
#define FLEXRAN_UP_VLAN_TAG   2
 
#define ETHER_TYPE_ETHDI   ETHER_TYPE_IPv4 /* hack needed for jumbo frames */
 
#define ETHER_TYPE_ECPRI   0xAEFE
 
#define ETHER_TYPE_SYNC   0xBEFE
 
#define ETHER_TYPE_START_TX   0xCEFE
 
#define NUM_MBUFS   65536
 
#define MBUF_CACHE   256
 
#define MBUF_POOL_ELM_SMALL   1500 /* regular ethernet MTU, most compatible */
 
#define MBUF_POOL_ELEMENT   MAX_RX_LEN
 
#define MAX_RX_LEN   9600
 
#define MAX_TX_LEN   (MAX_RX_LEN - 14) /* headroom for rx driver */
 
#define MAX_DATA_SIZE
 
#define MBUF_POOL_ELM_BIG   USHRT_MAX
 
#define NUM_MBUFS_BIG   64
 
#define DEFAULT_DUMP_LENGTH   96
 
#define nlog(m, ...)   __xran_delayed_msg("%s(): " m "\n", __FUNCTION__, ##__VA_ARGS__)
 
#define delayed_message   nlog /* this is the old alias for this function */
 
#define wlog(m, ...)   nlog("WARNING: " m, ##__VA_ARGS__)
 
#define elog(m, ...)   nlog("ERROR: " m, ##__VA_ARGS__)
 
#define dlog(m, ...)
 
#define PANIC_ON(x, m, ...)
 
+ + + +

+Enumerations

enum  pkt_type {
+  PKT_ZERO, +PKT_EMPTY, +PKT_DISCOVER_REQUEST, +PKT_PING, +
+  PKT_PONG, +PKT_DISCOVER_REPLY, +PKT_LTE_DATA, +PKT_LTE_CONTROL, +
+  PKT_BURST, +PKT_DATATEST, +PKT_ADD_ETHDEV, +PKT_SYNC_START, +
+  PKT_LAST +
+ }
 
+ + + + + + + + + +

+Functions

void xran_init_mbuf_pool (void)
 
void xran_init_port (int port, struct ether_addr *p_lls_cu_addr)
 
void xran_add_eth_hdr_vlan (struct ether_addr *dst, uint16_t ethertype, struct rte_mbuf *mb, uint16_t vlan_tci)
 
int __xran_delayed_msg (const char *fmt,...)
 
+ + + + + + + + + + + +

+Variables

struct rte_mempool * _eth_mbuf_pool
 
struct rte_mempool * _eth_mbuf_pool_small
 
struct rte_mempool * _eth_mbuf_pool_big
 
struct rte_mempool * socket_direct_pool
 
struct rte_mempool * socket_indirect_pool
 
+

Detailed Description

+

This file has all definitions for the Ethernet Data Interface Layer.

+
Author
Intel Corporation
+ +

Definition in file ethernet.h.

+

Macro Definition Documentation

+ +

◆ BURST_SIZE

+ +
+
+ + + + +
#define BURST_SIZE   4096
+
+ +

Definition at line 37 of file ethernet.h.

+ +
+
+ +

◆ DEFAULT_DUMP_LENGTH

+ +
+
+ + + + +
#define DEFAULT_DUMP_LENGTH   96
+
+ +

Definition at line 61 of file ethernet.h.

+ +
+
+ +

◆ delayed_message

+ +
+
+ + + + +
#define delayed_message   nlog /* this is the old alias for this function */
+
+ +

Definition at line 139 of file ethernet.h.

+ +
+
+ +

◆ dlog

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define dlog( m,
 ... 
)
+
+ +

Definition at line 145 of file ethernet.h.

+ +
+
+ +

◆ elog

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define elog( m,
 ... 
)   nlog("ERROR: " m, ##__VA_ARGS__)
+
+ +

Definition at line 141 of file ethernet.h.

+ +
+
+ +

◆ ETHER_TYPE_ECPRI

+ +
+
+ + + + +
#define ETHER_TYPE_ECPRI   0xAEFE
+
+ +

Definition at line 42 of file ethernet.h.

+ +
+
+ +

◆ ETHER_TYPE_ETHDI

+ +
+
+ + + + +
#define ETHER_TYPE_ETHDI   ETHER_TYPE_IPv4 /* hack needed for jumbo frames */
+
+ +

Definition at line 41 of file ethernet.h.

+ +
+
+ +

◆ ETHER_TYPE_START_TX

+ +
+
+ + + + +
#define ETHER_TYPE_START_TX   0xCEFE
+
+ +

Definition at line 44 of file ethernet.h.

+ +
+
+ +

◆ ETHER_TYPE_SYNC

+ +
+
+ + + + +
#define ETHER_TYPE_SYNC   0xBEFE
+
+ +

Definition at line 43 of file ethernet.h.

+ +
+
+ +

◆ FLEXRAN_UP_VLAN_TAG

+ +
+
+ + + + +
#define FLEXRAN_UP_VLAN_TAG   2
+
+ +

Definition at line 40 of file ethernet.h.

+ +
+
+ +

◆ MAX_DATA_SIZE

+ +
+
+ + + + +
#define MAX_DATA_SIZE
+
+Value:
(MAX_TX_LEN - sizeof(struct ether_hdr) - \
sizeof(struct ethdi_hdr) - sizeof(struct burst_hdr))
+ +
#define MAX_TX_LEN
Definition: ethernet.h:53
+
+

Definition at line 54 of file ethernet.h.

+ +
+
+ +

◆ MAX_RX_LEN

+ +
+
+ + + + +
#define MAX_RX_LEN   9600
+
+ +

Definition at line 52 of file ethernet.h.

+ +
+
+ +

◆ MAX_TX_LEN

+ +
+
+ + + + +
#define MAX_TX_LEN   (MAX_RX_LEN - 14) /* headroom for rx driver */
+
+ +

Definition at line 53 of file ethernet.h.

+ +
+
+ +

◆ MBUF_CACHE

+ +
+
+ + + + +
#define MBUF_CACHE   256
+
+ +

Definition at line 47 of file ethernet.h.

+ +
+
+ +

◆ MBUF_POOL_ELEMENT

+ +
+
+ + + + +
#define MBUF_POOL_ELEMENT   MAX_RX_LEN
+
+ +

Definition at line 50 of file ethernet.h.

+ +
+
+ +

◆ MBUF_POOL_ELM_BIG

+ +
+
+ + + + +
#define MBUF_POOL_ELM_BIG   USHRT_MAX
+
+ +

Definition at line 58 of file ethernet.h.

+ +
+
+ +

◆ MBUF_POOL_ELM_SMALL

+ +
+
+ + + + +
#define MBUF_POOL_ELM_SMALL   1500 /* regular ethernet MTU, most compatible */
+
+ +

Definition at line 49 of file ethernet.h.

+ +
+
+ +

◆ nlog

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define nlog( m,
 ... 
)   __xran_delayed_msg("%s(): " m "\n", __FUNCTION__, ##__VA_ARGS__)
+
+ +

Definition at line 138 of file ethernet.h.

+ +
+
+ +

◆ NUM_MBUFS

+ +
+
+ + + + +
#define NUM_MBUFS   65536
+
+ +

Definition at line 46 of file ethernet.h.

+ +
+
+ +

◆ NUM_MBUFS_BIG

+ +
+
+ + + + +
#define NUM_MBUFS_BIG   64
+
+ +

Definition at line 59 of file ethernet.h.

+ +
+
+ +

◆ PANIC_ON

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
#define PANIC_ON( x,
 m,
 ... 
)
+
+Value:
do { if (unlikely(x)) \
rte_panic("%s: " m "\n", #x, ##__VA_ARGS__); } while (0)
+

Definition at line 148 of file ethernet.h.

+ +
+
+ +

◆ wlog

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define wlog( m,
 ... 
)   nlog("WARNING: " m, ##__VA_ARGS__)
+
+ +

Definition at line 140 of file ethernet.h.

+ +
+
+

Enumeration Type Documentation

+ +

◆ pkt_type

+ +
+
+ + + + +
enum pkt_type
+
+ + + + + + + + + + + + + + +
Enumerator
PKT_ZERO 
PKT_EMPTY 
PKT_DISCOVER_REQUEST 
PKT_PING 
PKT_PONG 
PKT_DISCOVER_REPLY 
PKT_LTE_DATA 
PKT_LTE_CONTROL 
PKT_BURST 
PKT_DATATEST 
PKT_ADD_ETHDEV 
PKT_SYNC_START 
PKT_LAST 
+ +

Definition at line 71 of file ethernet.h.

+ +
+
+

Function Documentation

+ +

◆ __xran_delayed_msg()

+ +
+
+ + + + + + + + + + + + + + + + + + +
int __xran_delayed_msg (const char * fmt,
 ... 
)
+
+ +

Definition at line 97 of file ethernet.c.

+ +
+
+ +

◆ xran_add_eth_hdr_vlan()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void xran_add_eth_hdr_vlan (struct ether_addr * dst,
uint16_t ethertype,
struct rte_mbuf * mb,
uint16_t vlan_tci 
)
+
+ +

Definition at line 434 of file ethernet.c.

+ +
+
+ +

◆ xran_init_mbuf_pool()

+ +
+
+ + + + + + + + +
void xran_init_mbuf_pool (void )
+
+ +

Definition at line 185 of file ethernet.c.

+ +
+
+ +

◆ xran_init_port()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void xran_init_port (int port,
struct ether_addr * p_lls_cu_addr 
)
+
+ +

Definition at line 229 of file ethernet.c.

+ +
+
+

Variable Documentation

+ +

◆ _eth_mbuf_pool

+ +
+
+ + + + +
struct rte_mempool* _eth_mbuf_pool
+
+ +

Definition at line 70 of file ethernet.c.

+ +
+
+ +

◆ _eth_mbuf_pool_big

+ +
+
+ + + + +
struct rte_mempool* _eth_mbuf_pool_big
+
+ +

Definition at line 74 of file ethernet.c.

+ +
+
+ +

◆ _eth_mbuf_pool_small

+ +
+
+ + + + +
struct rte_mempool* _eth_mbuf_pool_small
+
+ +

Definition at line 73 of file ethernet.c.

+ +
+
+ +

◆ socket_direct_pool

+ +
+
+ + + + +
struct rte_mempool* socket_direct_pool
+
+ +

Definition at line 76 of file ethernet.c.

+ +
+
+ +

◆ socket_indirect_pool

+ +
+
+ + + + +
struct rte_mempool* socket_indirect_pool
+
+ +

Definition at line 77 of file ethernet.c.

+ +
+
+
+ + + + diff --git a/docs/API/ethernet_8h__dep__incl.map b/docs/API/ethernet_8h__dep__incl.map new file mode 100644 index 0000000..2bd46bd --- /dev/null +++ b/docs/API/ethernet_8h__dep__incl.map @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/docs/API/ethernet_8h__dep__incl.md5 b/docs/API/ethernet_8h__dep__incl.md5 new file mode 100644 index 0000000..d003af2 --- /dev/null +++ b/docs/API/ethernet_8h__dep__incl.md5 @@ -0,0 +1 @@ +10ec1b55c0f71f72aa2fa347c71913cc \ No newline at end of file diff --git a/docs/API/ethernet_8h__dep__incl.png b/docs/API/ethernet_8h__dep__incl.png new file mode 100644 index 0000000..6e0ace4 Binary files /dev/null and b/docs/API/ethernet_8h__dep__incl.png differ diff --git a/docs/API/ethernet_8h__incl.map b/docs/API/ethernet_8h__incl.map new file mode 100644 index 0000000..0c7ec66 --- /dev/null +++ b/docs/API/ethernet_8h__incl.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/ethernet_8h__incl.md5 b/docs/API/ethernet_8h__incl.md5 new file mode 100644 index 0000000..823d166 --- /dev/null +++ b/docs/API/ethernet_8h__incl.md5 @@ -0,0 +1 @@ +01f6d94969ad273208dd7d47f33bbdf1 \ No newline at end of file diff --git a/docs/API/ethernet_8h__incl.png b/docs/API/ethernet_8h__incl.png new file mode 100644 index 0000000..f5b9587 Binary files /dev/null and b/docs/API/ethernet_8h__incl.png differ diff --git a/docs/API/ethernet_8h_source.html b/docs/API/ethernet_8h_source.html new file mode 100644 index 0000000..4812637 --- /dev/null +++ b/docs/API/ethernet_8h_source.html @@ -0,0 +1,112 @@ + + + + + + + +o-du/phy: ethernet.h Source File + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
ethernet.h
+
+
+Go to the documentation of this file.
1 /******************************************************************************
2 *
3 * Copyright (c) 2019 Intel.
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 *
17 *******************************************************************************/
18 
26 #ifndef AUXLIB_ETHERNET_H
27 #define AUXLIB_ETHERNET_H
28 
29 #ifdef __cplusplus
30 extern "C" {
31 #endif
32 
33 #include <rte_config.h>
34 #include <rte_ether.h>
35 #include <rte_mbuf.h>
36 
37 #define BURST_SIZE 4096
38 
39 //#define VLAN_SUPPORT
40 #define FLEXRAN_UP_VLAN_TAG 2
41 #define ETHER_TYPE_ETHDI ETHER_TYPE_IPv4 /* hack needed for jumbo frames */
42 #define ETHER_TYPE_ECPRI 0xAEFE
43 #define ETHER_TYPE_SYNC 0xBEFE
44 #define ETHER_TYPE_START_TX 0xCEFE
45 
46 #define NUM_MBUFS 65536
47 #define MBUF_CACHE 256
48 
49 #define MBUF_POOL_ELM_SMALL 1500 /* regular ethernet MTU, most compatible */
50 #define MBUF_POOL_ELEMENT MAX_RX_LEN
51 
52 #define MAX_RX_LEN 9600
53 #define MAX_TX_LEN (MAX_RX_LEN - 14) /* headroom for rx driver */
54 #define MAX_DATA_SIZE (MAX_TX_LEN - sizeof(struct ether_hdr) - \
55  sizeof(struct ethdi_hdr) - sizeof(struct burst_hdr))
56 
57 /* Looks like mbuf size is limited to 16 bits - see the buf_len field. */
58 #define MBUF_POOL_ELM_BIG USHRT_MAX
59 #define NUM_MBUFS_BIG 64
60 
61 #define DEFAULT_DUMP_LENGTH 96
62 
63 extern struct rte_mempool *_eth_mbuf_pool;
64 extern struct rte_mempool *_eth_mbuf_pool_small;
65 extern struct rte_mempool *_eth_mbuf_pool_big;
66 extern struct rte_mempool *socket_direct_pool;
67 extern struct rte_mempool *socket_indirect_pool;
68 
69 /* Do NOT change the order of this enum and below
70  * - need to be in sync with the table of handlers in testue.c */
72 {
86 };
87 
88 /* Do NOT change the order. */
89 static char * const xran_pkt_descriptions[PKT_LAST + 1] = {
90  "ZERO",
91  "empty packet",
92  "discovery request packet",
93  "ping packet",
94  "pong packet",
95  "discovery reply packet",
96  "LTE data packet",
97  "LTE control packet",
98  "BURST packet",
99  "DATATEST packet",
100  "Add ethernet port command packet",
101  "SYNC-START packet",
102  "LAST packet",
103 };
104 
105 struct burst_hdr {
106  int8_t pkt_idx;
107  int8_t total_pkts;
109  int8_t data[];
110 };
111 
112 struct ethdi_hdr {
113  uint8_t pkt_type;
114  uint8_t source_id;
115  uint8_t dest_id;
116  int8_t data[]; /* original raw data starts here! */
117 };
118 
119 
120 void xran_init_mbuf_pool(void);
121 
122 void xran_init_port(int port, struct ether_addr *p_lls_cu_addr);
123 
124 void xran_add_eth_hdr_vlan(struct ether_addr *dst, uint16_t ethertype, struct rte_mbuf *mb, uint16_t vlan_tci);
125 
126 #if 0
127 void xran_memdump(void *addr, int len);
128 void xran_add_eth_hdr(struct ether_addr *dst, uint16_t ethertype, struct rte_mbuf *);
129 int xran_send_mbuf(struct ether_addr *dst, struct rte_mbuf *mb);
130 int xran_send_message_burst(int dst_id, int pkt_type, void *body, int len);
131 int xran_show_delayed_message(void);
132 #endif
133 /*
134  * Print a message after all critical processing done.
135  * Mt-safe. 4 variants - normal, warning, error and debug log.
136  */
137 int __xran_delayed_msg(const char *fmt, ...);
138 #define nlog(m, ...) __xran_delayed_msg("%s(): " m "\n", __FUNCTION__, ##__VA_ARGS__)
139 #define delayed_message nlog /* this is the old alias for this function */
140 #define wlog(m, ...) nlog("WARNING: " m, ##__VA_ARGS__)
141 #define elog(m, ...) nlog("ERROR: " m, ##__VA_ARGS__)
142 #ifdef DEBUG
143 # define dlog(m, ...) nlog("DEBUG: " m, ##__VA_ARGS__)
144 #else
145 # define dlog(m, ...)
146 #endif
147 
148 #define PANIC_ON(x, m, ...) do { if (unlikely(x)) \
149  rte_panic("%s: " m "\n", #x, ##__VA_ARGS__); } while (0)
150 
151 /* Add mbuf to the TX ring. */
152 static inline int xran_enqueue_mbuf(struct rte_mbuf *mb, struct rte_ring *r)
153 {
154  if (rte_ring_enqueue(r, mb) == 0) {
155  return 1; /* success */
156  }
157 
158  rte_pktmbuf_free(mb);
159  wlog("failed to enqueue packet on port %d (ring full)", mb->port);
160 
161  return 0; /* fail */
162 }
163 
164 #ifdef __cplusplus
165 }
166 #endif
167 
168 #endif /* AUXLIB_ETHERNET_H */
void xran_add_eth_hdr_vlan(struct ether_addr *dst, uint16_t ethertype, struct rte_mbuf *mb, uint16_t vlan_tci)
Definition: ethernet.c:434
+
struct rte_mempool * _eth_mbuf_pool_big
Definition: ethernet.c:74
+ +
void xran_init_port(int port, struct ether_addr *p_lls_cu_addr)
Definition: ethernet.c:229
+
int8_t original_type
Definition: ethernet.h:108
+
pkt_type
Definition: ethernet.h:71
+ +
int __xran_delayed_msg(const char *fmt,...)
Definition: ethernet.c:97
+ +
int8_t total_pkts
Definition: ethernet.h:107
+
int8_t data[]
Definition: ethernet.h:109
+
struct rte_mempool * _eth_mbuf_pool_small
Definition: ethernet.c:73
+ +
int8_t pkt_idx
Definition: ethernet.h:106
+ + +
struct rte_mempool * socket_indirect_pool
Definition: ethernet.c:77
+ + + + + + +
uint16_t ethertype
Definition: ethdi.c:114
+ +
#define wlog(m,...)
Definition: ethernet.h:140
+ +
uint8_t dest_id
Definition: ethernet.h:115
+ +
uint8_t pkt_type
Definition: ethernet.h:113
+
uint8_t source_id
Definition: ethernet.h:114
+
void xran_init_mbuf_pool(void)
Definition: ethernet.c:185
+
struct rte_mempool * _eth_mbuf_pool
Definition: ethernet.c:70
+
struct rte_mempool * socket_direct_pool
Definition: ethernet.c:76
+
+ + + + diff --git a/docs/API/files.html b/docs/API/files.html new file mode 100644 index 0000000..2b6e5e9 --- /dev/null +++ b/docs/API/files.html @@ -0,0 +1,134 @@ + + + + + + + +o-du/phy: File List + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
File List
+
+
+
Here is a list of all files with brief descriptions:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 c_plane_tests.cc
 chain_tests.cc
 common.c
 common.cpp
 common.h
 common.hpp
 common_typedef_xran.hThis header file defines those data type both used by eNB and UE
 compander_functional.cc
 config.c
 config.h
 debug.h
 ethdi.cThis file has all definitions for the Ethernet Data Interface Layer
 ethdi.hThis file has all definitions for the Ethernet Data Interface Layer
 ethernet.cThis file has all definitions for the Ethernet Data Interface Layer
 ethernet.hThis file has all definitions for the Ethernet Data Interface Layer
 gen_test.m
 init_sys_functional.cc
 json.hpp
 master.py
 prach_functional.cc
 prach_performance.cc
 sample-app.c
 u_plane_functional.cc
 u_plane_performance.cc
 unittests.cc
 xran_app_frag.cXRAN application frgamentation for U-plane packets
 xran_app_frag.hHeader file for functions to perform application level fragmentation
 xran_common.cXRAN layer common functionality for both O-DU and O-RU as well as C-plane and U-plane
 xran_common.hXRAN layer common functionality for both lls-CU and RU as well as C-plane and U-plane
 xran_compression.cpp
 xran_compression.hExternal API for compading with the use BFP algorithm
 xran_compression.hpp
 xran_cp_api.cThis file provides the API functions to build Control Plane Messages for XRAN Front Haul layer as defined in XRAN-FH.CUS.0-v02.01
 xran_cp_api.hThis file provides the definitions for Control Plane Messages APIs
 xran_fh_o_du.hThis file provides public interface to xRAN Front Haul layer implementation as defined in the ORAN-WG4.CUS.0-v01.00 spec. Implementation specific to Lower Layer Split Central Unit (O-DU): a logical node that includes the eNB/gNB functions as listed in section 2.1 split option 7-2x, excepting those functions allocated exclusively to the O-RU. The O-DU controls the operation of O-RUs for 5G NR Radio Access technology
 xran_frame_struct.c
 xran_frame_struct.hHeader file for function to work with 5G NR frame structure and related routines
 xran_lib_mlog_tasks_id.h
 xran_lib_wrap.hpp
 xran_main.cXRAN main functionality module
 xran_mlog_lnx.h
 xran_mlog_task_id.h
 xran_pkt.hDefinitions and support functions to process XRAN packet
 xran_pkt_cp.hThis file provides the definition of Control Plane Messages for XRAN Front Haul layer as defined in XRAN-FH.CUS.0-v02.01
 xran_pkt_up.hDefinitions and support functions to process XRAN packet
 xran_printf.hModules provide debug prints and utility functions
 xran_sync_api.cThis file provides implementation of synchronization related APIs (PTP/1588) for XRAN
 xran_sync_api.hThis file provides interface to synchronization related APIs (PTP/1588) for XRAN
 xran_timer.cThis file provides implementation to Timing for XRAN
 xran_timer.hThis file provides interface to Timing for XRAN
 xran_transport.cThis file provides the implementation for Transport lyaer (eCPRI) API
 xran_transport.hThis file provides the definitions for Transport layer (eCPRI) API
 xran_ul_tables.cThis file defines those table used in 5G NR spec
 xran_up_api.cThis file provides the implementation of User Plane Messages APIs
 xran_up_api.hThis file provides the definitions for User Plane Messages APIs
 xranlib_unit_test_main.cc
+
+
+ + + + diff --git a/docs/API/folderclosed.png b/docs/API/folderclosed.png new file mode 100644 index 0000000..bb8ab35 Binary files /dev/null and b/docs/API/folderclosed.png differ diff --git a/docs/API/folderopen.png b/docs/API/folderopen.png new file mode 100644 index 0000000..d6c7f67 Binary files /dev/null and b/docs/API/folderopen.png differ diff --git a/docs/API/functions.html b/docs/API/functions.html new file mode 100644 index 0000000..11210df --- /dev/null +++ b/docs/API/functions.html @@ -0,0 +1,114 @@ + + + + + + + +o-du/phy: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ + + + + + diff --git a/docs/API/functions_0x7e.html b/docs/API/functions_0x7e.html new file mode 100644 index 0000000..f368e56 --- /dev/null +++ b/docs/API/functions_0x7e.html @@ -0,0 +1,80 @@ + + + + + + + +o-du/phy: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- ~ -

+
+ + + + diff --git a/docs/API/functions_b.html b/docs/API/functions_b.html new file mode 100644 index 0000000..daedf84 --- /dev/null +++ b/docs/API/functions_b.html @@ -0,0 +1,260 @@ + + + + + + + +o-du/phy: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- b -

+
+ + + + diff --git a/docs/API/functions_c.html b/docs/API/functions_c.html new file mode 100644 index 0000000..9ff75bd --- /dev/null +++ b/docs/API/functions_c.html @@ -0,0 +1,232 @@ + + + + + + + +o-du/phy: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- c -

+
+ + + + diff --git a/docs/API/functions_d.html b/docs/API/functions_d.html new file mode 100644 index 0000000..e52ae7a --- /dev/null +++ b/docs/API/functions_d.html @@ -0,0 +1,170 @@ + + + + + + + +o-du/phy: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- d -

+
+ + + + diff --git a/docs/API/functions_e.html b/docs/API/functions_e.html new file mode 100644 index 0000000..7131cdf --- /dev/null +++ b/docs/API/functions_e.html @@ -0,0 +1,196 @@ + + + + + + + +o-du/phy: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- e -

+
+ + + + diff --git a/docs/API/functions_enum.html b/docs/API/functions_enum.html new file mode 100644 index 0000000..5ef8b06 --- /dev/null +++ b/docs/API/functions_enum.html @@ -0,0 +1,81 @@ + + + + + + + +o-du/phy: Data Fields - Enumerations + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ + + + + + diff --git a/docs/API/functions_eval.html b/docs/API/functions_eval.html new file mode 100644 index 0000000..1e4047a --- /dev/null +++ b/docs/API/functions_eval.html @@ -0,0 +1,141 @@ + + + + + + + +o-du/phy: Data Fields - Enumerator + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+ + + + diff --git a/docs/API/functions_f.html b/docs/API/functions_f.html new file mode 100644 index 0000000..f345fc8 --- /dev/null +++ b/docs/API/functions_f.html @@ -0,0 +1,147 @@ + + + + + + + +o-du/phy: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- f -

+
+ + + + diff --git a/docs/API/functions_func.html b/docs/API/functions_func.html new file mode 100644 index 0000000..0c72bb0 --- /dev/null +++ b/docs/API/functions_func.html @@ -0,0 +1,83 @@ + + + + + + + +o-du/phy: Data Fields - Functions + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ + + + + + diff --git a/docs/API/functions_func_0x7e.html b/docs/API/functions_func_0x7e.html new file mode 100644 index 0000000..2f45e84 --- /dev/null +++ b/docs/API/functions_func_0x7e.html @@ -0,0 +1,80 @@ + + + + + + + +o-du/phy: Data Fields - Functions + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ + + + + + diff --git a/docs/API/functions_func_b.html b/docs/API/functions_func_b.html new file mode 100644 index 0000000..c201642 --- /dev/null +++ b/docs/API/functions_func_b.html @@ -0,0 +1,83 @@ + + + + + + + +o-du/phy: Data Fields - Functions + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ + + + + + diff --git a/docs/API/functions_func_c.html b/docs/API/functions_func_c.html new file mode 100644 index 0000000..d2ac31c --- /dev/null +++ b/docs/API/functions_func_c.html @@ -0,0 +1,107 @@ + + + + + + + +o-du/phy: Data Fields - Functions + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ + + + + + diff --git a/docs/API/functions_func_d.html b/docs/API/functions_func_d.html new file mode 100644 index 0000000..aa47371 --- /dev/null +++ b/docs/API/functions_func_d.html @@ -0,0 +1,80 @@ + + + + + + + +o-du/phy: Data Fields - Functions + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ + + + + + diff --git a/docs/API/functions_func_e.html b/docs/API/functions_func_e.html new file mode 100644 index 0000000..29534b7 --- /dev/null +++ b/docs/API/functions_func_e.html @@ -0,0 +1,89 @@ + + + + + + + +o-du/phy: Data Fields - Functions + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ + + + + + diff --git a/docs/API/functions_func_f.html b/docs/API/functions_func_f.html new file mode 100644 index 0000000..73937f2 --- /dev/null +++ b/docs/API/functions_func_f.html @@ -0,0 +1,95 @@ + + + + + + + +o-du/phy: Data Fields - Functions + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ + + + + + diff --git a/docs/API/functions_func_g.html b/docs/API/functions_func_g.html new file mode 100644 index 0000000..30a4db8 --- /dev/null +++ b/docs/API/functions_func_g.html @@ -0,0 +1,149 @@ + + + + + + + +o-du/phy: Data Fields - Functions + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- g -

+
+ + + + diff --git a/docs/API/functions_func_i.html b/docs/API/functions_func_i.html new file mode 100644 index 0000000..599b765 --- /dev/null +++ b/docs/API/functions_func_i.html @@ -0,0 +1,137 @@ + + + + + + + +o-du/phy: Data Fields - Functions + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- i -

+
+ + + + diff --git a/docs/API/functions_func_j.html b/docs/API/functions_func_j.html new file mode 100644 index 0000000..2527f0d --- /dev/null +++ b/docs/API/functions_func_j.html @@ -0,0 +1,80 @@ + + + + + + + +o-du/phy: Data Fields - Functions + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ + + + + + diff --git a/docs/API/functions_func_k.html b/docs/API/functions_func_k.html new file mode 100644 index 0000000..7365bb3 --- /dev/null +++ b/docs/API/functions_func_k.html @@ -0,0 +1,78 @@ + + + + + + + +o-du/phy: Data Fields - Functions + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ + + + + + diff --git a/docs/API/functions_func_l.html b/docs/API/functions_func_l.html new file mode 100644 index 0000000..a101915 --- /dev/null +++ b/docs/API/functions_func_l.html @@ -0,0 +1,80 @@ + + + + + + + +o-du/phy: Data Fields - Functions + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- l -

+
+ + + + diff --git a/docs/API/functions_func_m.html b/docs/API/functions_func_m.html new file mode 100644 index 0000000..ce00466 --- /dev/null +++ b/docs/API/functions_func_m.html @@ -0,0 +1,80 @@ + + + + + + + +o-du/phy: Data Fields - Functions + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ + + + + + diff --git a/docs/API/functions_func_o.html b/docs/API/functions_func_o.html new file mode 100644 index 0000000..2ba6f0d --- /dev/null +++ b/docs/API/functions_func_o.html @@ -0,0 +1,154 @@ + + + + + + + +o-du/phy: Data Fields - Functions + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- o -

+
+ + + + diff --git a/docs/API/functions_func_p.html b/docs/API/functions_func_p.html new file mode 100644 index 0000000..adef330 --- /dev/null +++ b/docs/API/functions_func_p.html @@ -0,0 +1,95 @@ + + + + + + + +o-du/phy: Data Fields - Functions + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ + + + + + diff --git a/docs/API/functions_func_r.html b/docs/API/functions_func_r.html new file mode 100644 index 0000000..91ef873 --- /dev/null +++ b/docs/API/functions_func_r.html @@ -0,0 +1,80 @@ + + + + + + + +o-du/phy: Data Fields - Functions + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ + + + + + diff --git a/docs/API/functions_func_s.html b/docs/API/functions_func_s.html new file mode 100644 index 0000000..ae669bb --- /dev/null +++ b/docs/API/functions_func_s.html @@ -0,0 +1,114 @@ + + + + + + + +o-du/phy: Data Fields - Functions + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ + + + + + diff --git a/docs/API/functions_func_t.html b/docs/API/functions_func_t.html new file mode 100644 index 0000000..3012140 --- /dev/null +++ b/docs/API/functions_func_t.html @@ -0,0 +1,111 @@ + + + + + + + +o-du/phy: Data Fields - Functions + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ + + + + + diff --git a/docs/API/functions_func_u.html b/docs/API/functions_func_u.html new file mode 100644 index 0000000..87179a1 --- /dev/null +++ b/docs/API/functions_func_u.html @@ -0,0 +1,83 @@ + + + + + + + +o-du/phy: Data Fields - Functions + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ + + + + + diff --git a/docs/API/functions_func_v.html b/docs/API/functions_func_v.html new file mode 100644 index 0000000..d2db589 --- /dev/null +++ b/docs/API/functions_func_v.html @@ -0,0 +1,82 @@ + + + + + + + +o-du/phy: Data Fields - Functions + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ + + + + + diff --git a/docs/API/functions_func_w.html b/docs/API/functions_func_w.html new file mode 100644 index 0000000..2fb14fb --- /dev/null +++ b/docs/API/functions_func_w.html @@ -0,0 +1,78 @@ + + + + + + + +o-du/phy: Data Fields - Functions + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ + + + + + diff --git a/docs/API/functions_func_x.html b/docs/API/functions_func_x.html new file mode 100644 index 0000000..36cab9d --- /dev/null +++ b/docs/API/functions_func_x.html @@ -0,0 +1,77 @@ + + + + + + + +o-du/phy: Data Fields - Functions + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- x -

+
+ + + + diff --git a/docs/API/functions_g.html b/docs/API/functions_g.html new file mode 100644 index 0000000..7630968 --- /dev/null +++ b/docs/API/functions_g.html @@ -0,0 +1,160 @@ + + + + + + + +o-du/phy: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- g -

+
+ + + + diff --git a/docs/API/functions_h.html b/docs/API/functions_h.html new file mode 100644 index 0000000..434974f --- /dev/null +++ b/docs/API/functions_h.html @@ -0,0 +1,81 @@ + + + + + + + +o-du/phy: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- h -

+
+ + + + diff --git a/docs/API/functions_i.html b/docs/API/functions_i.html new file mode 100644 index 0000000..8b03545 --- /dev/null +++ b/docs/API/functions_i.html @@ -0,0 +1,219 @@ + + + + + + + +o-du/phy: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- i -

+
+ + + + diff --git a/docs/API/functions_j.html b/docs/API/functions_j.html new file mode 100644 index 0000000..fd0ab48 --- /dev/null +++ b/docs/API/functions_j.html @@ -0,0 +1,83 @@ + + + + + + + +o-du/phy: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ + + + + + diff --git a/docs/API/functions_k.html b/docs/API/functions_k.html new file mode 100644 index 0000000..3a1ea78 --- /dev/null +++ b/docs/API/functions_k.html @@ -0,0 +1,81 @@ + + + + + + + +o-du/phy: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ + + + + + diff --git a/docs/API/functions_l.html b/docs/API/functions_l.html new file mode 100644 index 0000000..5fa0f8c --- /dev/null +++ b/docs/API/functions_l.html @@ -0,0 +1,116 @@ + + + + + + + +o-du/phy: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- l -

+
+ + + + diff --git a/docs/API/functions_m.html b/docs/API/functions_m.html new file mode 100644 index 0000000..e531a8d --- /dev/null +++ b/docs/API/functions_m.html @@ -0,0 +1,474 @@ + + + + + + + +o-du/phy: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- m -

+
+ + + + diff --git a/docs/API/functions_n.html b/docs/API/functions_n.html new file mode 100644 index 0000000..4c68f0e --- /dev/null +++ b/docs/API/functions_n.html @@ -0,0 +1,337 @@ + + + + + + + +o-du/phy: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- n -

+
+ + + + diff --git a/docs/API/functions_o.html b/docs/API/functions_o.html new file mode 100644 index 0000000..17630bc --- /dev/null +++ b/docs/API/functions_o.html @@ -0,0 +1,190 @@ + + + + + + + +o-du/phy: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- o -

+
+ + + + diff --git a/docs/API/functions_p.html b/docs/API/functions_p.html new file mode 100644 index 0000000..cd53f7c --- /dev/null +++ b/docs/API/functions_p.html @@ -0,0 +1,312 @@ + + + + + + + +o-du/phy: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- p -

+
+ + + + diff --git a/docs/API/functions_q.html b/docs/API/functions_q.html new file mode 100644 index 0000000..58f12ab --- /dev/null +++ b/docs/API/functions_q.html @@ -0,0 +1,77 @@ + + + + + + + +o-du/phy: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- q -

+
+ + + + diff --git a/docs/API/functions_r.html b/docs/API/functions_r.html new file mode 100644 index 0000000..b19bd7d --- /dev/null +++ b/docs/API/functions_r.html @@ -0,0 +1,203 @@ + + + + + + + +o-du/phy: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- r -

+
+ + + + diff --git a/docs/API/functions_rela.html b/docs/API/functions_rela.html new file mode 100644 index 0000000..0cc01e2 --- /dev/null +++ b/docs/API/functions_rela.html @@ -0,0 +1,105 @@ + + + + + + + +o-du/phy: Data Fields - Related Functions + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+ + + + diff --git a/docs/API/functions_s.html b/docs/API/functions_s.html new file mode 100644 index 0000000..39040c7 --- /dev/null +++ b/docs/API/functions_s.html @@ -0,0 +1,360 @@ + + + + + + + +o-du/phy: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- s -

+
+ + + + diff --git a/docs/API/functions_t.html b/docs/API/functions_t.html new file mode 100644 index 0000000..a3c4054 --- /dev/null +++ b/docs/API/functions_t.html @@ -0,0 +1,273 @@ + + + + + + + +o-du/phy: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- t -

+
+ + + + diff --git a/docs/API/functions_type.html b/docs/API/functions_type.html new file mode 100644 index 0000000..898e93c --- /dev/null +++ b/docs/API/functions_type.html @@ -0,0 +1,201 @@ + + + + + + + +o-du/phy: Data Fields - Typedefs + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- a -

+ + +

- b -

+ + +

- c -

+ + +

- d -

+ + +

- i -

+ + +

- j -

+ + +

- n -

+ + +

- o -

+ + +

- p -

+ + +

- r -

+ + +

- s -

+ + +

- v -

+
+ + + + diff --git a/docs/API/functions_u.html b/docs/API/functions_u.html new file mode 100644 index 0000000..31cb58d --- /dev/null +++ b/docs/API/functions_u.html @@ -0,0 +1,133 @@ + + + + + + + +o-du/phy: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- u -

+
+ + + + diff --git a/docs/API/functions_v.html b/docs/API/functions_v.html new file mode 100644 index 0000000..853b4a5 --- /dev/null +++ b/docs/API/functions_v.html @@ -0,0 +1,100 @@ + + + + + + + +o-du/phy: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- v -

+
+ + + + diff --git a/docs/API/functions_vars.html b/docs/API/functions_vars.html new file mode 100644 index 0000000..d0dd41c --- /dev/null +++ b/docs/API/functions_vars.html @@ -0,0 +1,99 @@ + + + + + + + +o-du/phy: Data Fields - Variables + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- a -

+
+ + + + diff --git a/docs/API/functions_vars_b.html b/docs/API/functions_vars_b.html new file mode 100644 index 0000000..b1882b0 --- /dev/null +++ b/docs/API/functions_vars_b.html @@ -0,0 +1,243 @@ + + + + + + + +o-du/phy: Data Fields - Variables + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- b -

+
+ + + + diff --git a/docs/API/functions_vars_c.html b/docs/API/functions_vars_c.html new file mode 100644 index 0000000..d17883e --- /dev/null +++ b/docs/API/functions_vars_c.html @@ -0,0 +1,184 @@ + + + + + + + +o-du/phy: Data Fields - Variables + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- c -

+
+ + + + diff --git a/docs/API/functions_vars_d.html b/docs/API/functions_vars_d.html new file mode 100644 index 0000000..baf7299 --- /dev/null +++ b/docs/API/functions_vars_d.html @@ -0,0 +1,157 @@ + + + + + + + +o-du/phy: Data Fields - Variables + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- d -

+
+ + + + diff --git a/docs/API/functions_vars_e.html b/docs/API/functions_vars_e.html new file mode 100644 index 0000000..9bdd8d8 --- /dev/null +++ b/docs/API/functions_vars_e.html @@ -0,0 +1,181 @@ + + + + + + + +o-du/phy: Data Fields - Variables + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- e -

+
+ + + + diff --git a/docs/API/functions_vars_f.html b/docs/API/functions_vars_f.html new file mode 100644 index 0000000..9268ce9 --- /dev/null +++ b/docs/API/functions_vars_f.html @@ -0,0 +1,126 @@ + + + + + + + +o-du/phy: Data Fields - Variables + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ + + + + + diff --git a/docs/API/functions_vars_g.html b/docs/API/functions_vars_g.html new file mode 100644 index 0000000..f64ca86 --- /dev/null +++ b/docs/API/functions_vars_g.html @@ -0,0 +1,85 @@ + + + + + + + +o-du/phy: Data Fields - Variables + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- g -

+
+ + + + diff --git a/docs/API/functions_vars_h.html b/docs/API/functions_vars_h.html new file mode 100644 index 0000000..dd45470 --- /dev/null +++ b/docs/API/functions_vars_h.html @@ -0,0 +1,81 @@ + + + + + + + +o-du/phy: Data Fields - Variables + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ + + + + + diff --git a/docs/API/functions_vars_i.html b/docs/API/functions_vars_i.html new file mode 100644 index 0000000..9d4e7e9 --- /dev/null +++ b/docs/API/functions_vars_i.html @@ -0,0 +1,150 @@ + + + + + + + +o-du/phy: Data Fields - Variables + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- i -

+
+ + + + diff --git a/docs/API/functions_vars_k.html b/docs/API/functions_vars_k.html new file mode 100644 index 0000000..1204327 --- /dev/null +++ b/docs/API/functions_vars_k.html @@ -0,0 +1,77 @@ + + + + + + + +o-du/phy: Data Fields - Variables + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- k -

+
+ + + + diff --git a/docs/API/functions_vars_l.html b/docs/API/functions_vars_l.html new file mode 100644 index 0000000..895f578 --- /dev/null +++ b/docs/API/functions_vars_l.html @@ -0,0 +1,110 @@ + + + + + + + +o-du/phy: Data Fields - Variables + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ + + + + + diff --git a/docs/API/functions_vars_m.html b/docs/API/functions_vars_m.html new file mode 100644 index 0000000..74b063b --- /dev/null +++ b/docs/API/functions_vars_m.html @@ -0,0 +1,465 @@ + + + + + + + +o-du/phy: Data Fields - Variables + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- m -

+
+ + + + diff --git a/docs/API/functions_vars_n.html b/docs/API/functions_vars_n.html new file mode 100644 index 0000000..85cb2d9 --- /dev/null +++ b/docs/API/functions_vars_n.html @@ -0,0 +1,325 @@ + + + + + + + +o-du/phy: Data Fields - Variables + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- n -

+
+ + + + diff --git a/docs/API/functions_vars_o.html b/docs/API/functions_vars_o.html new file mode 100644 index 0000000..0437841 --- /dev/null +++ b/docs/API/functions_vars_o.html @@ -0,0 +1,93 @@ + + + + + + + +o-du/phy: Data Fields - Variables + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- o -

+
+ + + + diff --git a/docs/API/functions_vars_p.html b/docs/API/functions_vars_p.html new file mode 100644 index 0000000..170feea --- /dev/null +++ b/docs/API/functions_vars_p.html @@ -0,0 +1,236 @@ + + + + + + + +o-du/phy: Data Fields - Variables + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- p -

+
+ + + + diff --git a/docs/API/functions_vars_q.html b/docs/API/functions_vars_q.html new file mode 100644 index 0000000..b28370c --- /dev/null +++ b/docs/API/functions_vars_q.html @@ -0,0 +1,77 @@ + + + + + + + +o-du/phy: Data Fields - Variables + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- q -

+
+ + + + diff --git a/docs/API/functions_vars_r.html b/docs/API/functions_vars_r.html new file mode 100644 index 0000000..6d19f27 --- /dev/null +++ b/docs/API/functions_vars_r.html @@ -0,0 +1,186 @@ + + + + + + + +o-du/phy: Data Fields - Variables + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- r -

+
+ + + + diff --git a/docs/API/functions_vars_s.html b/docs/API/functions_vars_s.html new file mode 100644 index 0000000..01e9fd3 --- /dev/null +++ b/docs/API/functions_vars_s.html @@ -0,0 +1,311 @@ + + + + + + + +o-du/phy: Data Fields - Variables + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- s -

+
+ + + + diff --git a/docs/API/functions_vars_t.html b/docs/API/functions_vars_t.html new file mode 100644 index 0000000..07af91c --- /dev/null +++ b/docs/API/functions_vars_t.html @@ -0,0 +1,238 @@ + + + + + + + +o-du/phy: Data Fields - Variables + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- t -

+
+ + + + diff --git a/docs/API/functions_vars_u.html b/docs/API/functions_vars_u.html new file mode 100644 index 0000000..7c8f2fe --- /dev/null +++ b/docs/API/functions_vars_u.html @@ -0,0 +1,124 @@ + + + + + + + +o-du/phy: Data Fields - Variables + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ + + + + + diff --git a/docs/API/functions_vars_v.html b/docs/API/functions_vars_v.html new file mode 100644 index 0000000..f2f635e --- /dev/null +++ b/docs/API/functions_vars_v.html @@ -0,0 +1,87 @@ + + + + + + + +o-du/phy: Data Fields - Variables + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ + + + + + diff --git a/docs/API/functions_vars_w.html b/docs/API/functions_vars_w.html new file mode 100644 index 0000000..41050d4 --- /dev/null +++ b/docs/API/functions_vars_w.html @@ -0,0 +1,78 @@ + + + + + + + +o-du/phy: Data Fields - Variables + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- w -

+
+ + + + diff --git a/docs/API/functions_vars_x.html b/docs/API/functions_vars_x.html new file mode 100644 index 0000000..54a32a6 --- /dev/null +++ b/docs/API/functions_vars_x.html @@ -0,0 +1,97 @@ + + + + + + + +o-du/phy: Data Fields - Variables + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- x -

+
+ + + + diff --git a/docs/API/functions_vars_y.html b/docs/API/functions_vars_y.html new file mode 100644 index 0000000..06b9cb4 --- /dev/null +++ b/docs/API/functions_vars_y.html @@ -0,0 +1,78 @@ + + + + + + + +o-du/phy: Data Fields - Variables + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ + + + + + diff --git a/docs/API/functions_w.html b/docs/API/functions_w.html new file mode 100644 index 0000000..9ee2e87 --- /dev/null +++ b/docs/API/functions_w.html @@ -0,0 +1,82 @@ + + + + + + + +o-du/phy: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- w -

+
+ + + + diff --git a/docs/API/functions_x.html b/docs/API/functions_x.html new file mode 100644 index 0000000..3dd3956 --- /dev/null +++ b/docs/API/functions_x.html @@ -0,0 +1,121 @@ + + + + + + + +o-du/phy: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- x -

+
+ + + + diff --git a/docs/API/functions_y.html b/docs/API/functions_y.html new file mode 100644 index 0000000..1a30c00 --- /dev/null +++ b/docs/API/functions_y.html @@ -0,0 +1,78 @@ + + + + + + + +o-du/phy: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- y -

+
+ + + + diff --git a/docs/API/gen__test_8m.html b/docs/API/gen__test_8m.html new file mode 100644 index 0000000..fd4bfbf --- /dev/null +++ b/docs/API/gen__test_8m.html @@ -0,0 +1,846 @@ + + + + + + + +o-du/phy: gen_test.m File Reference + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
gen_test.m File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

< COPYRIGHT_TAG > This script was tested with GNU version or Matlab (R2017a) close all
 
 switch (bw) case
 
otherwise disp ('Unknown BW &&mu') end end else disp('mmWave') if(mu >
 
 for (i=1:1:nSlots *14-1) ifft_in_1
 
 disp (file_name) fileID
 
 fwrite (fileID, antX_16, 'int16')
 
 fclose (fileID)
 
end if bfw_gen disp ('Generate BF Weights per RB') %seed to make it repeatable rand('seed'
 
 imag ((W_dl(:, ant).')) *iPrb]]
 
reuse channel for all symbols for (slot_idx=1:1:nSlots *14) bfw_all_slots = [bfw_all_slots, bfw_per_sym]
 
 imag ((W_ul(:, ant).')) *iPrb]]
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Variables

< COPYRIGHT_TAG > This script was tested with GNU Octave
 
clear all
 
MHz MHz MHz MHz MHz MHz MHz MHz MHz nNumRbsPerSymF1
 
 nNumRbsPerSymF2
 
total number of tests tests_total
 
usecase mu0_10mhz
 
usecase mu0_20mhz
 
usecase mu1_100mhz
 
usecase mu3_100mhz
 
 path_to_usecase_all
 
or bw =bw_all(test_num) %5
 
or MHz ant_num
 
 numRBs = nNumRbsPerSymF1(nNumerology,0+1)
 
 case
 
 ant_c = ifft_in
 
 ifft_in_1
 
end write files for IQ samples for ant
 
 antX_16 =int16(antX.')
 
 file_name = strcat(path_to_usecase,"ant_", num2str(ant-1),".bin")
 
end if bfw_gen random channel matrix for single sym on syngle RB H = (rand(trx,ant_num) + 1j*rand(trx,ant_num))
 
calculate weights W_dl
 
weights for DL W_ul = ((ctranspose(H)*H)^-1)*ctranspose(H)
 
adjust channel per each RB for iPrb
 
end bfw_all_slots = []
 
end bfw_all_slots_int = int16(bfw_all_slots./max(max(abs((bfw_all_slots.')))).*2^15)
 
UL bfw_per_sym = []
 
+

Function Documentation

+ +

◆ disp() [1/3]

+ +
+
+ + + + + + + + +
otherwise disp ('Unknown BW &&mu' )
+
+Initial value:
==0
disp('Incorrect Numerology and BW combination.')
return
end
nSlots
%use file as input
%ifft_in = load('ifft_in.txt')
%gen IQs
ifft_in = [[1:1:(numRBs*12)]', [1:1:(numRBs*12)]']
or bw
Definition: gen_test.m:81
+
otherwise disp('Unknown BW &&mu') end end else disp('mmWave') if(mu >
+
numRBs
Definition: gen_test.m:96
+
+
+
+ +

◆ disp() [2/3]

+ +
+
+ + + + + + + + +
disp (file_name )
+
+ +
+
+ +

◆ disp() [3/3]

+ +
+
+ + + + + + + + +
end if bfw_gen disp ('Generate BF Weights per RB' )
+
+ +
+
+ +

◆ fclose()

+ +
+
+ + + + + + + + +
fclose (fileID )
+
+
+Here is the caller graph for this function:
+
+
+ + + + + + + +
+ +
+
+ +

◆ for() [1/2]

+ +
+
+ + + + + + + + +
for ( = 1:1:nSlots *14-1)
+
+ +
+
+ +

◆ for() [2/2]

+ +
+
+ + + + + + + + +
reuse channel for all symbols for (slot_idx  = 1:1:nSlots *14) = [bfw_all_slots, bfw_per_sym]
+
+ +
+
+ +

◆ fwrite()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
fwrite (fileID ,
antX_16 ,
'int16'  
)
+
+
+Here is the caller graph for this function:
+
+
+ + + +
+ +
+
+ +

◆ imag() [1/2]

+ +
+
+ + + + + + + + +
imag ((W_dl(:, ant).') )
+
+ +
+
+ +

◆ imag() [2/2]

+ +
+
+ + + + + + + + +
imag ((W_ul(:, ant).') )
+
+ +
+
+ +

◆ Matlab()

+ +
+
+ + + + + + + + +
<COPYRIGHT_TAG> This script was tested with GNU version or Matlab (R2017a )
+
+ +
+
+ +

◆ switch()

+ +
+
+ + + + + + + + +
switch (bw )
+
+ +

Definition at line 94 of file gen_test.m.

+
+Here is the caller graph for this function:
+
+
+ + + + + +
+ +
+
+

Variable Documentation

+ +

◆ all

+ +
+
+ + + + +
clear all
+
+ +

Definition at line 10 of file gen_test.m.

+ +
+
+ +

◆ ant

+ +
+
+ + + + +
for ant
+
+Initial value:
= 1:1:ant_num
antX=ant_c*(ant*10)
end write files for IQ samples for ant
Definition: gen_test.m:166
+
ant_c
Definition: gen_test.m:159
+
or MHz ant_num
Definition: gen_test.m:82
+
+

Definition at line 166 of file gen_test.m.

+ +
+
+ +

◆ ant_c

+ +
+
+ + + + +
ant_c = ifft_in
+
+ +

Definition at line 159 of file gen_test.m.

+ +
+
+ +

◆ ant_num

+ +
+
+ + + + +
or MHz ant_num
+
+Initial value:
= ant_num_all(test_num)
bfw_gen=bfw_gen_all(test_num)
trx = trx_all(test_num)
path_to_usecase = path_to_usecase_all(test_num)
nSlots=nSlots_all(test_num) % any 40 and 160
if sub6
disp('Sub6')
if mu < 3
nNumerology = mu+1
otherwise disp('Unknown BW &&mu') end end else disp('mmWave') if(mu >
+
path_to_usecase_all
Definition: gen_test.m:69
+
+

Definition at line 82 of file gen_test.m.

+ +
+
+ +

◆ antX_16

+ +
+
+ + + + +
write files for IQ samples antX_16 =int16(antX.')
+
+ +

Definition at line 168 of file gen_test.m.

+ +
+
+ +

◆ bfw_all_slots

+ +
+
+ + + + +
end bfw_all_slots = []
+
+ +

Definition at line 205 of file gen_test.m.

+ +
+
+ +

◆ bfw_all_slots_int

+ +
+
+ + + + +
end bfw_all_slots_int = int16(bfw_all_slots./max(max(abs((bfw_all_slots.')))).*2^15)
+
+ +

Definition at line 211 of file gen_test.m.

+ +
+
+ +

◆ bfw_per_sym

+ +
+
+ + + + +
UL bfw_per_sym = []
+
+ +

Definition at line 222 of file gen_test.m.

+ +
+
+ +

◆ bw

+ +
+
+ + + + +
or bw =bw_all(test_num) %5
+
+ +

Definition at line 81 of file gen_test.m.

+ +
+
+ +

◆ case

+ +
+
+ + + + +
switch(bw case
+
+Initial value:
{10}
numRBs = nNumRbsPerSymF1(nNumerology,1+1)
MHz MHz MHz MHz MHz MHz MHz MHz MHz nNumRbsPerSymF1
Definition: gen_test.m:13
+
numRBs
Definition: gen_test.m:96
+
+

Definition at line 97 of file gen_test.m.

+ +
+
+ +

◆ file_name

+ +
+
+ + + + +
file_name = strcat(path_to_usecase,"ant_", num2str(ant-1),".bin")
+
+ +

Definition at line 169 of file gen_test.m.

+ +
+
+ +

◆ H

+ +
+
+ + + + +
end if bfw_gen random channel matrix for single sym on syngle RB H = (rand(trx,ant_num) + 1j*rand(trx,ant_num))
+
+ +

Definition at line 183 of file gen_test.m.

+ +
+
+ +

◆ ifft_in_1

+ +
+
+ + + + +
ifft_in_1
+
+ +

Definition at line 162 of file gen_test.m.

+ +
+
+ +

◆ iPrb

+ +
+
+ + + + +
adjust channel per each RB for iPrb
+
+Initial value:
= 1:1:numRBs
numRBs
Definition: gen_test.m:96
+
UL bfw_per_sym
Definition: gen_test.m:222
+
+

Definition at line 201 of file gen_test.m.

+ +
+
+ +

◆ mu0_10mhz

+ +
+
+ + + + +
usecase mu0_10mhz
+
+ +

Definition at line 62 of file gen_test.m.

+ +
+
+ +

◆ mu0_20mhz

+ +
+
+ + + + +
usecase mu0_20mhz
+
+ +

Definition at line 63 of file gen_test.m.

+ +
+
+ +

◆ mu1_100mhz

+ +
+
+ + + + +
usecase cat_b mu1_100mhz
+
+ +

Definition at line 64 of file gen_test.m.

+ +
+
+ +

◆ mu3_100mhz

+ +
+
+ + + + +
usecase mu3_100mhz
+
+ +

Definition at line 65 of file gen_test.m.

+ +
+
+ +

◆ nNumRbsPerSymF1

+ +
+
+ + + + +
MHz MHz MHz MHz MHz MHz MHz MHz MHz nNumRbsPerSymF1
+
+Initial value:
= ...
[
% 5MHz 10MHz 15MHz 20 MHz 25 MHz 30 MHz 40 MHz 50MHz 60 MHz 70 MHz 80 MHz 90 MHz 100 MHz
[25, 52, 79, 106, 133, 160, 216, 270, 0, 0, 0, 0, 0]
+

Definition at line 13 of file gen_test.m.

+ +
+
+ +

◆ nNumRbsPerSymF2

+ +
+
+ + + + +
nNumRbsPerSymF2
+
+Initial value:
= ...
[
% 50Mhz 100MHz 200MHz 400MHz
[66, 132, 264, 0] % Numerology 2 (60KHz)
[32, 66, 132, 264] % Numerology 3 (120KHz)
]
+

Definition at line 21 of file gen_test.m.

+ +
+
+ +

◆ numRBs

+ +
+
+ + + + +
numRBs = nNumRbsPerSymF1(nNumerology,0+1)
+
+ +

Definition at line 96 of file gen_test.m.

+ +
+
+ +

◆ Octave

+ +
+
+ + + + +
<COPYRIGHT_TAG> This script was tested with GNU Octave
+
+ +

Definition at line 7 of file gen_test.m.

+ +
+
+ +

◆ path_to_usecase_all

+ +
+
+ + + + +
path_to_usecase_all
+
+Initial value:
nSlots_all = ...
[
40,40,40,40,40,10
]
%select mu and bw to generate test files
for test_num =(1:1:tests_total)
test_num
sub6=sub6_all(test_num) %false
mu=mu_all(test_num) % 0
or bw
Definition: gen_test.m:81
+
total number of tests tests_total
Definition: gen_test.m:29
+
path_to_usecase_all
Definition: gen_test.m:69
+
+

Definition at line 69 of file gen_test.m.

+ +
+
+ +

◆ tests_total

+ +
+
+ + + + +
total number of tests tests_total
+
+ +

Definition at line 29 of file gen_test.m.

+ +
+
+ +

◆ W_dl

+ +
+
+ + + + +
calculate weights W_dl
+
+Initial value:
= H^*(H^TH^*)^-1
% W_ul = ((H^H*H)^-1)H^H
% where H^* - conjugate
% H^T - transpose
% H^H - conjugate transpose
W_dl = conj(H)*(transpose(H)*conj(H))^-1
end if bfw_gen random channel matrix for single sym on syngle RB H
Definition: gen_test.m:183
+
calculate weights W_dl
Definition: gen_test.m:186
+
weights for DL W_ul
Definition: gen_test.m:192
+
+

Definition at line 186 of file gen_test.m.

+ +
+
+ +

◆ W_ul

+ +
+
+ + + + +
weights for UL W_ul = ((ctranspose(H)*H)^-1)*ctranspose(H)
+
+ +

Definition at line 192 of file gen_test.m.

+ +
+
+
+ + + + diff --git a/docs/API/gen__test_8m_a14e2cbac46a5d611bf112b1f4beb7021_icgraph.map b/docs/API/gen__test_8m_a14e2cbac46a5d611bf112b1f4beb7021_icgraph.map new file mode 100644 index 0000000..958a053 --- /dev/null +++ b/docs/API/gen__test_8m_a14e2cbac46a5d611bf112b1f4beb7021_icgraph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/API/gen__test_8m_a14e2cbac46a5d611bf112b1f4beb7021_icgraph.md5 b/docs/API/gen__test_8m_a14e2cbac46a5d611bf112b1f4beb7021_icgraph.md5 new file mode 100644 index 0000000..485a9fe --- /dev/null +++ b/docs/API/gen__test_8m_a14e2cbac46a5d611bf112b1f4beb7021_icgraph.md5 @@ -0,0 +1 @@ +8e6efe8ee052e3ae9fc12937ac88c615 \ No newline at end of file diff --git a/docs/API/gen__test_8m_a14e2cbac46a5d611bf112b1f4beb7021_icgraph.png b/docs/API/gen__test_8m_a14e2cbac46a5d611bf112b1f4beb7021_icgraph.png new file mode 100644 index 0000000..0287512 Binary files /dev/null and b/docs/API/gen__test_8m_a14e2cbac46a5d611bf112b1f4beb7021_icgraph.png differ diff --git a/docs/API/gen__test_8m_a8e50d67d4be6daacbf6522b5950a6a4d_icgraph.map b/docs/API/gen__test_8m_a8e50d67d4be6daacbf6522b5950a6a4d_icgraph.map new file mode 100644 index 0000000..185476d --- /dev/null +++ b/docs/API/gen__test_8m_a8e50d67d4be6daacbf6522b5950a6a4d_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/gen__test_8m_a8e50d67d4be6daacbf6522b5950a6a4d_icgraph.md5 b/docs/API/gen__test_8m_a8e50d67d4be6daacbf6522b5950a6a4d_icgraph.md5 new file mode 100644 index 0000000..0bfb95d --- /dev/null +++ b/docs/API/gen__test_8m_a8e50d67d4be6daacbf6522b5950a6a4d_icgraph.md5 @@ -0,0 +1 @@ +72ebb9c5982a74e41e8633267a7f78ee \ No newline at end of file diff --git a/docs/API/gen__test_8m_a8e50d67d4be6daacbf6522b5950a6a4d_icgraph.png b/docs/API/gen__test_8m_a8e50d67d4be6daacbf6522b5950a6a4d_icgraph.png new file mode 100644 index 0000000..f5d920a Binary files /dev/null and b/docs/API/gen__test_8m_a8e50d67d4be6daacbf6522b5950a6a4d_icgraph.png differ diff --git a/docs/API/gen__test_8m_ae7c338f9b485676bfc0ee154384d8676_icgraph.map b/docs/API/gen__test_8m_ae7c338f9b485676bfc0ee154384d8676_icgraph.map new file mode 100644 index 0000000..42ffe95 --- /dev/null +++ b/docs/API/gen__test_8m_ae7c338f9b485676bfc0ee154384d8676_icgraph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/API/gen__test_8m_ae7c338f9b485676bfc0ee154384d8676_icgraph.md5 b/docs/API/gen__test_8m_ae7c338f9b485676bfc0ee154384d8676_icgraph.md5 new file mode 100644 index 0000000..9574ad7 --- /dev/null +++ b/docs/API/gen__test_8m_ae7c338f9b485676bfc0ee154384d8676_icgraph.md5 @@ -0,0 +1 @@ +ba67b518d045cc3665e668c9a389529f \ No newline at end of file diff --git a/docs/API/gen__test_8m_ae7c338f9b485676bfc0ee154384d8676_icgraph.png b/docs/API/gen__test_8m_ae7c338f9b485676bfc0ee154384d8676_icgraph.png new file mode 100644 index 0000000..747255a Binary files /dev/null and b/docs/API/gen__test_8m_ae7c338f9b485676bfc0ee154384d8676_icgraph.png differ diff --git a/docs/API/gen__test_8m_source.html b/docs/API/gen__test_8m_source.html new file mode 100644 index 0000000..5216c3b --- /dev/null +++ b/docs/API/gen__test_8m_source.html @@ -0,0 +1,103 @@ + + + + + + + +o-du/phy: gen_test.m Source File + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
gen_test.m
+
+
+Go to the documentation of this file.
1 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2 %
3 % <COPYRIGHT_TAG>
4 %
5 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6 
7 %This script was tested with GNU Octave, version 3.8.2 or Matlab 9.2.0.538062 (R2017a)
8 
9 close all;
10 clear all;
11 
12  % 5MHz 10MHz 15MHz 20 MHz 25 MHz 30 MHz 40 MHz 50MHz 60 MHz 70 MHz 80 MHz 90 MHz 100 MHz
14 [
15  % 5MHz 10MHz 15MHz 20 MHz 25 MHz 30 MHz 40 MHz 50MHz 60 MHz 70 MHz 80 MHz 90 MHz 100 MHz
16  [25, 52, 79, 106, 133, 160, 216, 270, 0, 0, 0, 0, 0] % Numerology 0 (15KHz)
17  [11, 24, 38, 51, 65, 78, 106, 133, 162, 0, 217, 245, 273] % Numerology 1 (30KHz)
18  [0, 11, 18, 24, 31, 38, 51, 65, 79, 0, 107, 121, 135] % Numerology 2 (60KHz)
19 ];
20 
22 [
23  % 50Mhz 100MHz 200MHz 400MHz
24  [66, 132, 264, 0] % Numerology 2 (60KHz)
25  [32, 66, 132, 264] % Numerology 3 (120KHz)
26 ];
27 
28 % total number of tests
30 sub6_all = ...
31  [
32  true, true, true, true, false, true,
33  ]
34 
35 mu_all = ...
36  [
37  0, 0, 0, 1, 3, 1
38  ]
39 
40 bw_all = ...
41  [
42  5, 10, 20, 100, 100, 100
43  ]
44 
45 ant_num_all = ...
46  [
47  4, 4, 4, 4, 4, 8
48  ]
49 
50 bfw_gen_all = ...
51  [
52  false, false, false, false, false, true
53  ]
54 
55 trx_all = ...
56  [
57  32, 32, 32, 32, 32, 32
58  ]
60  [
61  "./usecase/mu0_5mhz/";
62  "./usecase/mu0_10mhz/";
63  "./usecase/mu0_20mhz/";
64  "./usecase/mu1_100mhz/";
65  "./usecase/mu3_100mhz/";
66  "./usecase/cat_b/mu1_100mhz/";
67  ]
68 
70 
71 nSlots_all = ...
72  [
73  40,40,40,40,40,10
74  ]
75 
76 %select mu and bw to generate test files
77 for test_num =(1:1:tests_total)
78  test_num
79  sub6=sub6_all(test_num) %false
80  mu=mu_all(test_num) % 0,1, or 3
81  bw=bw_all(test_num) %5,10,20,100 MHz
82  ant_num = ant_num_all(test_num)
83  bfw_gen=bfw_gen_all(test_num)
84  trx = trx_all(test_num)
86  path_to_usecase = path_to_usecase_all(test_num)
87 
88  nSlots=nSlots_all(test_num) % any 40 and 160
89 
90  if sub6
91  disp('Sub6')
92  if mu < 3
93  nNumerology = mu+1;
95  case {5}
96  numRBs = nNumRbsPerSymF1(nNumerology,0+1);
97  case {10}
98  numRBs = nNumRbsPerSymF1(nNumerology,1+1);
99  case {15}
100  numRBs = nNumRbsPerSymF1(nNumerology,2+1);
101  case {20}
102  numRBs = nNumRbsPerSymF1(nNumerology,3+1);
103  case {25}
104  numRBs = nNumRbsPerSymF1(nNumerology,4+1);
105  case {30}
106  numRBs = nNumRbsPerSymF1(nNumerology,5+1);
107  case {40}
108  numRBs = nNumRbsPerSymF1(nNumerology,6+1);
109  case {50}
110  numRBs = nNumRbsPerSymF1(nNumerology,7+1);
111  case {60}
112  numRBs = nNumRbsPerSymF1(nNumerology,8+1);
113  case {70}
114  numRBs = nNumRbsPerSymF1(nNumerology,9+1);
115  case {80}
116  numRBs = nNumRbsPerSymF1(nNumerology,10+1);
117  case {90}
118  numRBs = nNumRbsPerSymF1(nNumerology,11+1);
119  case {100}
120  numRBs = nNumRbsPerSymF1(nNumerology,12+1);
121  otherwise
122  disp('Unknown BW && mu')
123  end
124  end
125  else
126  disp('mmWave')
127  if (mu >=2) && (mu <= 3)
128  nNumerology = mu;
129  switch (bw)
130  case {50}
131  numRBs = nNumRbsPerSymF2(nNumerology-1,0+1);
132  case {100}
133  numRBs = nNumRbsPerSymF2(nNumerology-1,1+1);
134  case {200}
135  numRBs = nNumRbsPerSymF2(nNumerology-1,2+1);
136  case {400}
137  numRBs = nNumRbsPerSymF2(nNumerology-1,3+1);
138  otherwise
139  disp('Unknown BW && mu')
140  end
141  end
142  end
143 
144  if numRBs ==0
145  disp('Incorrect Numerology and BW combination.')
146  return
147  end
148 
149  bw
150  numRBs
151  nSlots
152 
153  %use file as input
154  %ifft_in = load('ifft_in.txt')
155 
156  %gen IQs
157  ifft_in = [[1:1:(numRBs*12)]', [1:1:(numRBs*12)]'];
158 
159  ant_c = ifft_in;
160  for (i=1:1:nSlots*14-1)
161  ifft_in_1 = ifft_in + i;
162  ant_c = [ant_c; ifft_in_1];
163  end
164 
165  %write files for IQ samples
166  for ant = 1:1:ant_num
167  antX=ant_c*(ant*10);
168  antX_16=int16(antX.');
169  file_name = strcat(path_to_usecase,"ant_", num2str(ant-1),".bin");
170  disp(file_name)
171  fileID = fopen(file_name,'w');
172  fwrite(fileID, antX_16, 'int16');
173  fclose(fileID);
174  end
175 
176  if bfw_gen
177  disp('Generate BF Weights per RB')
178 
179  %seed to make it repeatable
180  rand('seed',47)
181 
182  %random channel matrix for single sym on syngle RB
183  H = (rand(trx,ant_num) + 1j*rand(trx,ant_num));
184 
185  %calculate weights
186  % W_dl = H^*(H^TH^*)^-1
187  % W_ul = ((H^H*H)^-1)H^H
188  % where H^* - conjugate
189  % H^T - transpose
190  % H^H - conjugate transpose
191  W_dl = conj(H)*(transpose(H)*conj(H))^-1; %weights for DL
192  W_ul = ((ctranspose(H)*H)^-1)*ctranspose(H); %weights for UL
193 
194  W_ul = W_ul.';
195 
196  for ant = 1:1:ant_num
197  %DL
198 
199  bfw_per_sym = [];
200  % adjust channel per each RB
201  for iPrb = 1:1:numRBs
202  bfw_per_sym = [ bfw_per_sym, [real((W_dl(:, ant).'))*iPrb; imag((W_dl(:, ant).'))*iPrb]];
203  end
204 
206  %reuse channel for all symbols
207  for (slot_idx=1:1:nSlots*14)
209  end
210 
211  bfw_all_slots_int = int16(bfw_all_slots./max(max(abs((bfw_all_slots.')))).*2^15);
212 
213  %write files for IQ samples
214  antX_16=bfw_all_slots_int.';
215  file_name = strcat(path_to_usecase,"dl_bfw_ue_", num2str(ant-1),".bin");
216  disp(file_name)
217  fileID = fopen(file_name,'w');
218  fwrite(fileID,antX_16, 'int16');
219  fclose(fileID);
220 
221  %UL
223  % adjust channel per each RB
224  for iPrb = 1:1:numRBs
225  bfw_per_sym = [ bfw_per_sym, [real((W_ul(:, ant).'))*iPrb; imag((W_ul(:, ant).'))*iPrb]];
226  end
227 
228  bfw_all_slots = [];
229  %reuse channel for all symbols
230  for (slot_idx=1:1:nSlots*14)
231  bfw_all_slots = [bfw_all_slots, bfw_per_sym];
232  end
233 
234  bfw_all_slots_int = int16(bfw_all_slots./max(max(abs((bfw_all_slots.')))).*2^15);
235 
236  %write files for IQ samples
237  antX_16=bfw_all_slots_int.';
238  file_name = strcat(path_to_usecase,"ul_bfw_ue_", num2str(ant-1),".bin");
239  disp(file_name)
240  fileID = fopen(file_name,'w');
241  fwrite(fileID,antX_16, 'int16');
242  fclose(fileID);
243  end
244  end
245 end
end bfw_all_slots
Definition: gen_test.m:205
+
file_name
Definition: gen_test.m:169
+
fclose(fileID)
+
or bw
Definition: gen_test.m:81
+
end write files for IQ samples for ant
Definition: gen_test.m:166
+
MHz MHz MHz MHz MHz MHz MHz MHz MHz nNumRbsPerSymF1
Definition: gen_test.m:13
+
ant_c
Definition: gen_test.m:159
+
otherwise disp('Unknown BW &&mu') end end else disp('mmWave') if(mu >
+
antX_16
Definition: gen_test.m:168
+
nNumRbsPerSymF2
Definition: gen_test.m:21
+
fwrite(fileID, antX_16, 'int16')
+
ifft_in_1
Definition: gen_test.m:162
+
numRBs
Definition: gen_test.m:96
+
UL bfw_per_sym
Definition: gen_test.m:222
+
< COPYRIGHT_TAG > This script was tested with GNU version or Matlab(R2017a) close all
+
case
Definition: gen_test.m:97
+
calculate weights W_dl
Definition: gen_test.m:186
+
total number of tests tests_total
Definition: gen_test.m:29
+
adjust channel per each RB for iPrb
Definition: gen_test.m:201
+
or MHz ant_num
Definition: gen_test.m:82
+
end bfw_all_slots_int
Definition: gen_test.m:211
+
switch(bw) case
Definition: gen_test.m:94
+
< COPYRIGHT_TAG > This script was tested with GNU Octave
Definition: gen_test.m:7
+
clear all
Definition: gen_test.m:10
+
path_to_usecase_all
Definition: gen_test.m:69
+
+ + + + diff --git a/docs/API/globals.html b/docs/API/globals.html new file mode 100644 index 0000000..71110f2 --- /dev/null +++ b/docs/API/globals.html @@ -0,0 +1,123 @@ + + + + + + + +o-du/phy: Globals + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+ +

- _ -

+
+ + + + diff --git a/docs/API/globals_a.html b/docs/API/globals_a.html new file mode 100644 index 0000000..929c92b --- /dev/null +++ b/docs/API/globals_a.html @@ -0,0 +1,175 @@ + + + + + + + +o-du/phy: Globals + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+ +

- a -

+
+ + + + diff --git a/docs/API/globals_b.html b/docs/API/globals_b.html new file mode 100644 index 0000000..d9beac3 --- /dev/null +++ b/docs/API/globals_b.html @@ -0,0 +1,168 @@ + + + + + + + +o-du/phy: Globals + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+ +

- b -

+
+ + + + diff --git a/docs/API/globals_c.html b/docs/API/globals_c.html new file mode 100644 index 0000000..cec4604 --- /dev/null +++ b/docs/API/globals_c.html @@ -0,0 +1,153 @@ + + + + + + + +o-du/phy: Globals + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+ +

- c -

+
+ + + + diff --git a/docs/API/globals_d.html b/docs/API/globals_d.html new file mode 100644 index 0000000..04c135d --- /dev/null +++ b/docs/API/globals_d.html @@ -0,0 +1,98 @@ + + + + + + + +o-du/phy: Globals + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+ +

- d -

+
+ + + + diff --git a/docs/API/globals_defs.html b/docs/API/globals_defs.html new file mode 100644 index 0000000..aa96f45 --- /dev/null +++ b/docs/API/globals_defs.html @@ -0,0 +1,94 @@ + + + + + + + +o-du/phy: Globals + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- _ -

+
+ + + + diff --git a/docs/API/globals_defs_a.html b/docs/API/globals_defs_a.html new file mode 100644 index 0000000..c692733 --- /dev/null +++ b/docs/API/globals_defs_a.html @@ -0,0 +1,92 @@ + + + + + + + +o-du/phy: Globals + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- a -

+
+ + + + diff --git a/docs/API/globals_defs_b.html b/docs/API/globals_defs_b.html new file mode 100644 index 0000000..bf0181a --- /dev/null +++ b/docs/API/globals_defs_b.html @@ -0,0 +1,86 @@ + + + + + + + +o-du/phy: Globals + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- b -

+
+ + + + diff --git a/docs/API/globals_defs_c.html b/docs/API/globals_defs_c.html new file mode 100644 index 0000000..7999829 --- /dev/null +++ b/docs/API/globals_defs_c.html @@ -0,0 +1,95 @@ + + + + + + + +o-du/phy: Globals + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- c -

+
+ + + + diff --git a/docs/API/globals_defs_d.html b/docs/API/globals_defs_d.html new file mode 100644 index 0000000..8798c2a --- /dev/null +++ b/docs/API/globals_defs_d.html @@ -0,0 +1,92 @@ + + + + + + + +o-du/phy: Globals + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- d -

+
+ + + + diff --git a/docs/API/globals_defs_e.html b/docs/API/globals_defs_e.html new file mode 100644 index 0000000..583296c --- /dev/null +++ b/docs/API/globals_defs_e.html @@ -0,0 +1,92 @@ + + + + + + + +o-du/phy: Globals + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- e -

+
+ + + + diff --git a/docs/API/globals_defs_f.html b/docs/API/globals_defs_f.html new file mode 100644 index 0000000..dda4d4e --- /dev/null +++ b/docs/API/globals_defs_f.html @@ -0,0 +1,81 @@ + + + + + + + +o-du/phy: Globals + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- f -

+
+ + + + diff --git a/docs/API/globals_defs_i.html b/docs/API/globals_defs_i.html new file mode 100644 index 0000000..1e9e17a --- /dev/null +++ b/docs/API/globals_defs_i.html @@ -0,0 +1,87 @@ + + + + + + + +o-du/phy: Globals + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- i -

+
+ + + + diff --git a/docs/API/globals_defs_j.html b/docs/API/globals_defs_j.html new file mode 100644 index 0000000..efdd322 --- /dev/null +++ b/docs/API/globals_defs_j.html @@ -0,0 +1,86 @@ + + + + + + + +o-du/phy: Globals + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- j -

+
+ + + + diff --git a/docs/API/globals_defs_k.html b/docs/API/globals_defs_k.html new file mode 100644 index 0000000..44cb0ef --- /dev/null +++ b/docs/API/globals_defs_k.html @@ -0,0 +1,284 @@ + + + + + + + +o-du/phy: Globals + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- k -

+
+ + + + diff --git a/docs/API/globals_defs_l.html b/docs/API/globals_defs_l.html new file mode 100644 index 0000000..421f696 --- /dev/null +++ b/docs/API/globals_defs_l.html @@ -0,0 +1,86 @@ + + + + + + + +o-du/phy: Globals + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- l -

+
+ + + + diff --git a/docs/API/globals_defs_m.html b/docs/API/globals_defs_m.html new file mode 100644 index 0000000..ce41417 --- /dev/null +++ b/docs/API/globals_defs_m.html @@ -0,0 +1,214 @@ + + + + + + + +o-du/phy: Globals + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- m -

+
+ + + + diff --git a/docs/API/globals_defs_n.html b/docs/API/globals_defs_n.html new file mode 100644 index 0000000..ea68dea --- /dev/null +++ b/docs/API/globals_defs_n.html @@ -0,0 +1,115 @@ + + + + + + + +o-du/phy: Globals + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- n -

+
+ + + + diff --git a/docs/API/globals_defs_o.html b/docs/API/globals_defs_o.html new file mode 100644 index 0000000..0e46b02 --- /dev/null +++ b/docs/API/globals_defs_o.html @@ -0,0 +1,80 @@ + + + + + + + +o-du/phy: Globals + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- o -

+
+ + + + diff --git a/docs/API/globals_defs_p.html b/docs/API/globals_defs_p.html new file mode 100644 index 0000000..a635089 --- /dev/null +++ b/docs/API/globals_defs_p.html @@ -0,0 +1,253 @@ + + + + + + + +o-du/phy: Globals + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- p -

+
+ + + + diff --git a/docs/API/globals_defs_r.html b/docs/API/globals_defs_r.html new file mode 100644 index 0000000..2358155 --- /dev/null +++ b/docs/API/globals_defs_r.html @@ -0,0 +1,155 @@ + + + + + + + +o-du/phy: Globals + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- r -

+
+ + + + diff --git a/docs/API/globals_defs_s.html b/docs/API/globals_defs_s.html new file mode 100644 index 0000000..6218722 --- /dev/null +++ b/docs/API/globals_defs_s.html @@ -0,0 +1,106 @@ + + + + + + + +o-du/phy: Globals + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- s -

+
+ + + + diff --git a/docs/API/globals_defs_t.html b/docs/API/globals_defs_t.html new file mode 100644 index 0000000..1f12dfa --- /dev/null +++ b/docs/API/globals_defs_t.html @@ -0,0 +1,92 @@ + + + + + + + +o-du/phy: Globals + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- t -

+
+ + + + diff --git a/docs/API/globals_defs_u.html b/docs/API/globals_defs_u.html new file mode 100644 index 0000000..5c142c5 --- /dev/null +++ b/docs/API/globals_defs_u.html @@ -0,0 +1,77 @@ + + + + + + + +o-du/phy: Globals + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- u -

+
+ + + + diff --git a/docs/API/globals_defs_v.html b/docs/API/globals_defs_v.html new file mode 100644 index 0000000..87040b0 --- /dev/null +++ b/docs/API/globals_defs_v.html @@ -0,0 +1,83 @@ + + + + + + + +o-du/phy: Globals + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- v -

+
+ + + + diff --git a/docs/API/globals_defs_w.html b/docs/API/globals_defs_w.html new file mode 100644 index 0000000..83b09e2 --- /dev/null +++ b/docs/API/globals_defs_w.html @@ -0,0 +1,77 @@ + + + + + + + +o-du/phy: Globals + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- w -

+
+ + + + diff --git a/docs/API/globals_defs_x.html b/docs/API/globals_defs_x.html new file mode 100644 index 0000000..a38ec7b --- /dev/null +++ b/docs/API/globals_defs_x.html @@ -0,0 +1,386 @@ + + + + + + + +o-du/phy: Globals + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- x -

+
+ + + + diff --git a/docs/API/globals_e.html b/docs/API/globals_e.html new file mode 100644 index 0000000..e48e740 --- /dev/null +++ b/docs/API/globals_e.html @@ -0,0 +1,149 @@ + + + + + + + +o-du/phy: Globals + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+ +

- e -

+
+ + + + diff --git a/docs/API/globals_enum.html b/docs/API/globals_enum.html new file mode 100644 index 0000000..001e4bc --- /dev/null +++ b/docs/API/globals_enum.html @@ -0,0 +1,205 @@ + + + + + + + +o-du/phy: Globals + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- a -

+ + +

- b -

+ + +

- c -

+ + +

- e -

+ + +

- i -

+ + +

- n -

+ + +

- p -

+ + +

- s -

+ + +

- x -

+
+ + + + diff --git a/docs/API/globals_eval.html b/docs/API/globals_eval.html new file mode 100644 index 0000000..0bd74ce --- /dev/null +++ b/docs/API/globals_eval.html @@ -0,0 +1,707 @@ + + + + + + + +o-du/phy: Globals + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- a -

+ + +

- b -

+ + +

- c -

+ + +

- e -

+ + +

- f -

+ + +

- i -

+ + +

- m -

+ + +

- p -

+ + +

- s -

+ + +

- x -

+
+ + + + diff --git a/docs/API/globals_f.html b/docs/API/globals_f.html new file mode 100644 index 0000000..246ab52 --- /dev/null +++ b/docs/API/globals_f.html @@ -0,0 +1,153 @@ + + + + + + + +o-du/phy: Globals + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+ +

- f -

+
+ + + + diff --git a/docs/API/globals_func.html b/docs/API/globals_func.html new file mode 100644 index 0000000..e728ed2 --- /dev/null +++ b/docs/API/globals_func.html @@ -0,0 +1,81 @@ + + + + + + + +o-du/phy: Globals + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- _ -

+
+ + + + diff --git a/docs/API/globals_func_a.html b/docs/API/globals_func_a.html new file mode 100644 index 0000000..6de7be7 --- /dev/null +++ b/docs/API/globals_func_a.html @@ -0,0 +1,121 @@ + + + + + + + +o-du/phy: Globals + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- a -

+
+ + + + diff --git a/docs/API/globals_func_b.html b/docs/API/globals_func_b.html new file mode 100644 index 0000000..c03e850 --- /dev/null +++ b/docs/API/globals_func_b.html @@ -0,0 +1,78 @@ + + + + + + + +o-du/phy: Globals + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- b -

+
+ + + + diff --git a/docs/API/globals_func_c.html b/docs/API/globals_func_c.html new file mode 100644 index 0000000..0545e19 --- /dev/null +++ b/docs/API/globals_func_c.html @@ -0,0 +1,93 @@ + + + + + + + +o-du/phy: Globals + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- c -

+
+ + + + diff --git a/docs/API/globals_func_d.html b/docs/API/globals_func_d.html new file mode 100644 index 0000000..239e90f --- /dev/null +++ b/docs/API/globals_func_d.html @@ -0,0 +1,77 @@ + + + + + + + +o-du/phy: Globals + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- d -

+
+ + + + diff --git a/docs/API/globals_func_f.html b/docs/API/globals_func_f.html new file mode 100644 index 0000000..98ce52f --- /dev/null +++ b/docs/API/globals_func_f.html @@ -0,0 +1,83 @@ + + + + + + + +o-du/phy: Globals + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- f -

+
+ + + + diff --git a/docs/API/globals_func_g.html b/docs/API/globals_func_g.html new file mode 100644 index 0000000..1d4bd88 --- /dev/null +++ b/docs/API/globals_func_g.html @@ -0,0 +1,105 @@ + + + + + + + +o-du/phy: Globals + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- g -

+
+ + + + diff --git a/docs/API/globals_func_h.html b/docs/API/globals_func_h.html new file mode 100644 index 0000000..2014fbe --- /dev/null +++ b/docs/API/globals_func_h.html @@ -0,0 +1,77 @@ + + + + + + + +o-du/phy: Globals + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- h -

+
+ + + + diff --git a/docs/API/globals_func_i.html b/docs/API/globals_func_i.html new file mode 100644 index 0000000..9e4c5c9 --- /dev/null +++ b/docs/API/globals_func_i.html @@ -0,0 +1,93 @@ + + + + + + + +o-du/phy: Globals + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- i -

+
+ + + + diff --git a/docs/API/globals_func_m.html b/docs/API/globals_func_m.html new file mode 100644 index 0000000..bfd3dd6 --- /dev/null +++ b/docs/API/globals_func_m.html @@ -0,0 +1,81 @@ + + + + + + + +o-du/phy: Globals + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- m -

+
+ + + + diff --git a/docs/API/globals_func_n.html b/docs/API/globals_func_n.html new file mode 100644 index 0000000..a02bc09 --- /dev/null +++ b/docs/API/globals_func_n.html @@ -0,0 +1,92 @@ + + + + + + + +o-du/phy: Globals + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- n -

+
+ + + + diff --git a/docs/API/globals_func_o.html b/docs/API/globals_func_o.html new file mode 100644 index 0000000..7e3349c --- /dev/null +++ b/docs/API/globals_func_o.html @@ -0,0 +1,80 @@ + + + + + + + +o-du/phy: Globals + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- o -

+
+ + + + diff --git a/docs/API/globals_func_p.html b/docs/API/globals_func_p.html new file mode 100644 index 0000000..d0404e9 --- /dev/null +++ b/docs/API/globals_func_p.html @@ -0,0 +1,123 @@ + + + + + + + +o-du/phy: Globals + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- p -

+
+ + + + diff --git a/docs/API/globals_func_r.html b/docs/API/globals_func_r.html new file mode 100644 index 0000000..a92e177 --- /dev/null +++ b/docs/API/globals_func_r.html @@ -0,0 +1,99 @@ + + + + + + + +o-du/phy: Globals + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- r -

+
+ + + + diff --git a/docs/API/globals_func_s.html b/docs/API/globals_func_s.html new file mode 100644 index 0000000..0c1e7ba --- /dev/null +++ b/docs/API/globals_func_s.html @@ -0,0 +1,117 @@ + + + + + + + +o-du/phy: Globals + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- s -

+
+ + + + diff --git a/docs/API/globals_func_t.html b/docs/API/globals_func_t.html new file mode 100644 index 0000000..0061f05 --- /dev/null +++ b/docs/API/globals_func_t.html @@ -0,0 +1,144 @@ + + + + + + + +o-du/phy: Globals + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- t -

+
+ + + + diff --git a/docs/API/globals_func_u.html b/docs/API/globals_func_u.html new file mode 100644 index 0000000..0033d46 --- /dev/null +++ b/docs/API/globals_func_u.html @@ -0,0 +1,83 @@ + + + + + + + +o-du/phy: Globals + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- u -

+
+ + + + diff --git a/docs/API/globals_func_v.html b/docs/API/globals_func_v.html new file mode 100644 index 0000000..840f7c7 --- /dev/null +++ b/docs/API/globals_func_v.html @@ -0,0 +1,77 @@ + + + + + + + +o-du/phy: Globals + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- v -

+
+ + + + diff --git a/docs/API/globals_func_x.html b/docs/API/globals_func_x.html new file mode 100644 index 0000000..d16fded --- /dev/null +++ b/docs/API/globals_func_x.html @@ -0,0 +1,566 @@ + + + + + + + +o-du/phy: Globals + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- x -

+
+ + + + diff --git a/docs/API/globals_g.html b/docs/API/globals_g.html new file mode 100644 index 0000000..465bdba --- /dev/null +++ b/docs/API/globals_g.html @@ -0,0 +1,148 @@ + + + + + + + +o-du/phy: Globals + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+ +

- g -

+
+ + + + diff --git a/docs/API/globals_h.html b/docs/API/globals_h.html new file mode 100644 index 0000000..4a6cc15 --- /dev/null +++ b/docs/API/globals_h.html @@ -0,0 +1,89 @@ + + + + + + + +o-du/phy: Globals + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+ +

- h -

+
+ + + + diff --git a/docs/API/globals_i.html b/docs/API/globals_i.html new file mode 100644 index 0000000..ee94504 --- /dev/null +++ b/docs/API/globals_i.html @@ -0,0 +1,163 @@ + + + + + + + +o-du/phy: Globals + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+ +

- i -

+
+ + + + diff --git a/docs/API/globals_j.html b/docs/API/globals_j.html new file mode 100644 index 0000000..f725553 --- /dev/null +++ b/docs/API/globals_j.html @@ -0,0 +1,89 @@ + + + + + + + +o-du/phy: Globals + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+ +

- j -

+
+ + + + diff --git a/docs/API/globals_k.html b/docs/API/globals_k.html new file mode 100644 index 0000000..e61657b --- /dev/null +++ b/docs/API/globals_k.html @@ -0,0 +1,287 @@ + + + + + + + +o-du/phy: Globals + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+ +

- k -

+
+ + + + diff --git a/docs/API/globals_l.html b/docs/API/globals_l.html new file mode 100644 index 0000000..1703fbc --- /dev/null +++ b/docs/API/globals_l.html @@ -0,0 +1,104 @@ + + + + + + + +o-du/phy: Globals + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+ +

- l -

+
+ + + + diff --git a/docs/API/globals_m.html b/docs/API/globals_m.html new file mode 100644 index 0000000..83c9ebe --- /dev/null +++ b/docs/API/globals_m.html @@ -0,0 +1,271 @@ + + + + + + + +o-du/phy: Globals + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+ +

- m -

+
+ + + + diff --git a/docs/API/globals_n.html b/docs/API/globals_n.html new file mode 100644 index 0000000..7722d49 --- /dev/null +++ b/docs/API/globals_n.html @@ -0,0 +1,194 @@ + + + + + + + +o-du/phy: Globals + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+ +

- n -

+
+ + + + diff --git a/docs/API/globals_o.html b/docs/API/globals_o.html new file mode 100644 index 0000000..1afe249 --- /dev/null +++ b/docs/API/globals_o.html @@ -0,0 +1,95 @@ + + + + + + + +o-du/phy: Globals + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+ +

- o -

+
+ + + + diff --git a/docs/API/globals_p.html b/docs/API/globals_p.html new file mode 100644 index 0000000..9403d4c --- /dev/null +++ b/docs/API/globals_p.html @@ -0,0 +1,478 @@ + + + + + + + +o-du/phy: Globals + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+ +

- p -

+
+ + + + diff --git a/docs/API/globals_r.html b/docs/API/globals_r.html new file mode 100644 index 0000000..b3fbfcb --- /dev/null +++ b/docs/API/globals_r.html @@ -0,0 +1,253 @@ + + + + + + + +o-du/phy: Globals + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+ +

- r -

+
+ + + + diff --git a/docs/API/globals_s.html b/docs/API/globals_s.html new file mode 100644 index 0000000..f231d00 --- /dev/null +++ b/docs/API/globals_s.html @@ -0,0 +1,217 @@ + + + + + + + +o-du/phy: Globals + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+ +

- s -

+
+ + + + diff --git a/docs/API/globals_t.html b/docs/API/globals_t.html new file mode 100644 index 0000000..a55556b --- /dev/null +++ b/docs/API/globals_t.html @@ -0,0 +1,245 @@ + + + + + + + +o-du/phy: Globals + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+ +

- t -

+
+ + + + diff --git a/docs/API/globals_type.html b/docs/API/globals_type.html new file mode 100644 index 0000000..7177a9a --- /dev/null +++ b/docs/API/globals_type.html @@ -0,0 +1,144 @@ + + + + + + + +o-du/phy: Globals + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+ + + + diff --git a/docs/API/globals_u.html b/docs/API/globals_u.html new file mode 100644 index 0000000..95f67fb --- /dev/null +++ b/docs/API/globals_u.html @@ -0,0 +1,104 @@ + + + + + + + +o-du/phy: Globals + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+ +

- u -

+
+ + + + diff --git a/docs/API/globals_v.html b/docs/API/globals_v.html new file mode 100644 index 0000000..8417b44 --- /dev/null +++ b/docs/API/globals_v.html @@ -0,0 +1,86 @@ + + + + + + + +o-du/phy: Globals + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+ +

- v -

+
+ + + + diff --git a/docs/API/globals_vars.html b/docs/API/globals_vars.html new file mode 100644 index 0000000..a65691c --- /dev/null +++ b/docs/API/globals_vars.html @@ -0,0 +1,96 @@ + + + + + + + +o-du/phy: Globals + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- _ -

+
+ + + + diff --git a/docs/API/globals_vars_a.html b/docs/API/globals_vars_a.html new file mode 100644 index 0000000..96b190a --- /dev/null +++ b/docs/API/globals_vars_a.html @@ -0,0 +1,89 @@ + + + + + + + +o-du/phy: Globals + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- a -

+
+ + + + diff --git a/docs/API/globals_vars_b.html b/docs/API/globals_vars_b.html new file mode 100644 index 0000000..ce83d6f --- /dev/null +++ b/docs/API/globals_vars_b.html @@ -0,0 +1,125 @@ + + + + + + + +o-du/phy: Globals + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- b -

+
+ + + + diff --git a/docs/API/globals_vars_c.html b/docs/API/globals_vars_c.html new file mode 100644 index 0000000..2ad3577 --- /dev/null +++ b/docs/API/globals_vars_c.html @@ -0,0 +1,104 @@ + + + + + + + +o-du/phy: Globals + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- c -

+
+ + + + diff --git a/docs/API/globals_vars_d.html b/docs/API/globals_vars_d.html new file mode 100644 index 0000000..ca90a5e --- /dev/null +++ b/docs/API/globals_vars_d.html @@ -0,0 +1,77 @@ + + + + + + + +o-du/phy: Globals + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- d -

+
+ + + + diff --git a/docs/API/globals_vars_e.html b/docs/API/globals_vars_e.html new file mode 100644 index 0000000..25e9a0c --- /dev/null +++ b/docs/API/globals_vars_e.html @@ -0,0 +1,89 @@ + + + + + + + +o-du/phy: Globals + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- e -

+
+ + + + diff --git a/docs/API/globals_vars_f.html b/docs/API/globals_vars_f.html new file mode 100644 index 0000000..ed5ee9a --- /dev/null +++ b/docs/API/globals_vars_f.html @@ -0,0 +1,95 @@ + + + + + + + +o-du/phy: Globals + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- f -

+
+ + + + diff --git a/docs/API/globals_vars_g.html b/docs/API/globals_vars_g.html new file mode 100644 index 0000000..7e38291 --- /dev/null +++ b/docs/API/globals_vars_g.html @@ -0,0 +1,117 @@ + + + + + + + +o-du/phy: Globals + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- g -

+
+ + + + diff --git a/docs/API/globals_vars_h.html b/docs/API/globals_vars_h.html new file mode 100644 index 0000000..f5a4e49 --- /dev/null +++ b/docs/API/globals_vars_h.html @@ -0,0 +1,83 @@ + + + + + + + +o-du/phy: Globals + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- h -

+
+ + + + diff --git a/docs/API/globals_vars_i.html b/docs/API/globals_vars_i.html new file mode 100644 index 0000000..0803673 --- /dev/null +++ b/docs/API/globals_vars_i.html @@ -0,0 +1,116 @@ + + + + + + + +o-du/phy: Globals + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- i -

+
+ + + + diff --git a/docs/API/globals_vars_k.html b/docs/API/globals_vars_k.html new file mode 100644 index 0000000..f37a5dd --- /dev/null +++ b/docs/API/globals_vars_k.html @@ -0,0 +1,77 @@ + + + + + + + +o-du/phy: Globals + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- k -

+
+ + + + diff --git a/docs/API/globals_vars_l.html b/docs/API/globals_vars_l.html new file mode 100644 index 0000000..6a7c46f --- /dev/null +++ b/docs/API/globals_vars_l.html @@ -0,0 +1,92 @@ + + + + + + + +o-du/phy: Globals + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- l -

+
+ + + + diff --git a/docs/API/globals_vars_m.html b/docs/API/globals_vars_m.html new file mode 100644 index 0000000..2c4613a --- /dev/null +++ b/docs/API/globals_vars_m.html @@ -0,0 +1,115 @@ + + + + + + + +o-du/phy: Globals + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- m -

+
+ + + + diff --git a/docs/API/globals_vars_n.html b/docs/API/globals_vars_n.html new file mode 100644 index 0000000..4d1188a --- /dev/null +++ b/docs/API/globals_vars_n.html @@ -0,0 +1,129 @@ + + + + + + + +o-du/phy: Globals + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- n -

+
+ + + + diff --git a/docs/API/globals_vars_o.html b/docs/API/globals_vars_o.html new file mode 100644 index 0000000..3b2c03b --- /dev/null +++ b/docs/API/globals_vars_o.html @@ -0,0 +1,83 @@ + + + + + + + +o-du/phy: Globals + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- o -

+
+ + + + diff --git a/docs/API/globals_vars_p.html b/docs/API/globals_vars_p.html new file mode 100644 index 0000000..e75c342 --- /dev/null +++ b/docs/API/globals_vars_p.html @@ -0,0 +1,142 @@ + + + + + + + +o-du/phy: Globals + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- p -

+
+ + + + diff --git a/docs/API/globals_vars_r.html b/docs/API/globals_vars_r.html new file mode 100644 index 0000000..4ae63f1 --- /dev/null +++ b/docs/API/globals_vars_r.html @@ -0,0 +1,141 @@ + + + + + + + +o-du/phy: Globals + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- r -

+
+ + + + diff --git a/docs/API/globals_vars_s.html b/docs/API/globals_vars_s.html new file mode 100644 index 0000000..6caf53c --- /dev/null +++ b/docs/API/globals_vars_s.html @@ -0,0 +1,136 @@ + + + + + + + +o-du/phy: Globals + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- s -

+
+ + + + diff --git a/docs/API/globals_vars_t.html b/docs/API/globals_vars_t.html new file mode 100644 index 0000000..deeaeec --- /dev/null +++ b/docs/API/globals_vars_t.html @@ -0,0 +1,151 @@ + + + + + + + +o-du/phy: Globals + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- t -

+
+ + + + diff --git a/docs/API/globals_vars_u.html b/docs/API/globals_vars_u.html new file mode 100644 index 0000000..86dc8ec --- /dev/null +++ b/docs/API/globals_vars_u.html @@ -0,0 +1,92 @@ + + + + + + + +o-du/phy: Globals + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- u -

+
+ + + + diff --git a/docs/API/globals_vars_w.html b/docs/API/globals_vars_w.html new file mode 100644 index 0000000..87ee878 --- /dev/null +++ b/docs/API/globals_vars_w.html @@ -0,0 +1,80 @@ + + + + + + + +o-du/phy: Globals + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- w -

+
+ + + + diff --git a/docs/API/globals_vars_x.html b/docs/API/globals_vars_x.html new file mode 100644 index 0000000..9df2381 --- /dev/null +++ b/docs/API/globals_vars_x.html @@ -0,0 +1,115 @@ + + + + + + + +o-du/phy: Globals + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- x -

+
+ + + + diff --git a/docs/API/globals_w.html b/docs/API/globals_w.html new file mode 100644 index 0000000..86c2fa3 --- /dev/null +++ b/docs/API/globals_w.html @@ -0,0 +1,83 @@ + + + + + + + +o-du/phy: Globals + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+ +

- w -

+
+ + + + diff --git a/docs/API/globals_x.html b/docs/API/globals_x.html new file mode 100644 index 0000000..ccdd2a5 --- /dev/null +++ b/docs/API/globals_x.html @@ -0,0 +1,1390 @@ + + + + + + + +o-du/phy: Globals + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+ +

- x -

+
+ + + + diff --git a/docs/API/graph_legend.html b/docs/API/graph_legend.html new file mode 100644 index 0000000..bcd7580 --- /dev/null +++ b/docs/API/graph_legend.html @@ -0,0 +1,103 @@ + + + + + + + +o-du/phy: Graph Legend + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
Graph Legend
+
+
+

This page explains how to interpret the graphs that are generated by doxygen.

+

Consider the following example:

/*! Invisible class because of truncation */
class Invisible { };
/*! Truncated class, inheritance relation is hidden */
class Truncated : public Invisible { };
/* Class not documented with doxygen comments */
class Undocumented { };
/*! Class that is inherited using public inheritance */
class PublicBase : public Truncated { };
/*! A template class */
template<class T> class Templ { };
/*! Class that is inherited using protected inheritance */
class ProtectedBase { };
/*! Class that is inherited using private inheritance */
class PrivateBase { };
/*! Class that is used by the Inherited class */
class Used { };
/*! Super class that inherits a number of other classes */
class Inherited : public PublicBase,
protected ProtectedBase,
private PrivateBase,
public Undocumented,
public Templ<int>
{
private:
Used *m_usedClass;
};

This will result in the following graph:

+
+ +
+

The boxes in the above graph have the following meaning:

+
    +
  • +A filled gray box represents the struct or class for which the graph is generated.
  • +
  • +A box with a black border denotes a documented struct or class.
  • +
  • +A box with a gray border denotes an undocumented struct or class.
  • +
  • +A box with a red border denotes a documented struct or class forwhich not all inheritance/containment relations are shown. A graph is truncated if it does not fit within the specified boundaries.
  • +
+

The arrows have the following meaning:

+
    +
  • +A dark blue arrow is used to visualize a public inheritance relation between two classes.
  • +
  • +A dark green arrow is used for protected inheritance.
  • +
  • +A dark red arrow is used for private inheritance.
  • +
  • +A purple dashed arrow is used if a class is contained or used by another class. The arrow is labelled with the variable(s) through which the pointed class or struct is accessible.
  • +
  • +A yellow dashed arrow denotes a relation between a template instance and the template class it was instantiated from. The arrow is labelled with the template parameters of the instance.
  • +
+
+ + + + diff --git a/docs/API/graph_legend.md5 b/docs/API/graph_legend.md5 new file mode 100644 index 0000000..a06ed05 --- /dev/null +++ b/docs/API/graph_legend.md5 @@ -0,0 +1 @@ +387ff8eb65306fa251338d3c9bd7bfff \ No newline at end of file diff --git a/docs/API/graph_legend.png b/docs/API/graph_legend.png new file mode 100644 index 0000000..81788d8 Binary files /dev/null and b/docs/API/graph_legend.png differ diff --git a/docs/API/group__xran__common__pkt.html b/docs/API/group__xran__common__pkt.html new file mode 100644 index 0000000..91b081a --- /dev/null +++ b/docs/API/group__xran__common__pkt.html @@ -0,0 +1,198 @@ + + + + + + + +o-du/phy: XRAN Packet definitions and functions + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+ +
+
XRAN Packet definitions and functions
+
+
+ + + + + + + + + + + + + + + + + + +

+Data Structures

struct  ecpri_seq_id
 
struct  xran_ecpri_cmn_hdr
 
struct  xran_ecpri_hdr
 
struct  radio_app_common_hdr
 
struct  compression_hdr
 
struct  xran_pkt_comm_hdr
 
struct  xran_up_pkt_hdr
 
struct  eth_xran_up_pkt_hdr
 
+ + + + + +

+Enumerations

enum  ecpri_msg_type {
+  ECPRI_IQ_DATA = 0x00, +ECPRI_BIT_SEQUENCE = 0x01, +ECPRI_RT_CONTROL_DATA = 0x02, +ECPRI_GEN_DATA_TRANSFER = 0x03, +
+  ECPRI_REMOTE_MEM_ACCESS = 0x04, +ECPRI_DELAY_MEASUREMENT = 0x05, +ECPRI_REMOTE_RESET = 0x06, +ECPRI_EVENT_INDICATION = 0x07, +
+  ECPRI_MSG_TYPE_MAX +
+ }
 
enum  xran_pkt_dir { XRAN_DIR_UL = 0, +XRAN_DIR_DL = 1, +XRAN_DIR_MAX + }
 
+ + + +

+Variables

struct ecpri_seq_id __rte_packed
 
+

Detailed Description

+

Definitions and support functions to process XRAN packet

+

Enumeration Type Documentation

+ +

◆ ecpri_msg_type

+ +
+
+ + + + +
enum ecpri_msg_type
+
+

eCPRI message types as per eCPRI spec 3.2.4. Message Types

+ + + + + + + + + + +
Enumerator
ECPRI_IQ_DATA 

U-plane: IQ data

+
ECPRI_BIT_SEQUENCE 
ECPRI_RT_CONTROL_DATA 

C-plane: Control

+
ECPRI_GEN_DATA_TRANSFER 
ECPRI_REMOTE_MEM_ACCESS 
ECPRI_DELAY_MEASUREMENT 
ECPRI_REMOTE_RESET 
ECPRI_EVENT_INDICATION 
ECPRI_MSG_TYPE_MAX 
+ +

Definition at line 75 of file xran_pkt.h.

+ +
+
+ +

◆ xran_pkt_dir

+ +
+
+ + + + +
enum xran_pkt_dir
+
+

Enum used to set xRAN packet data direction (gNB Tx/Rx 5.4.4.1) uplink or downlink

+ + + + +
Enumerator
XRAN_DIR_UL 

UL direction

+
XRAN_DIR_DL 

DL direction

+
XRAN_DIR_MAX 
+ +

Definition at line 146 of file xran_pkt.h.

+ +
+
+

Variable Documentation

+ +

◆ __rte_packed

+ +
+
+ + + + +
struct eth_xran_up_pkt_hdr __rte_packed
+
+ +
+
+
+ + + + diff --git a/docs/API/group__xran__up__pkt.html b/docs/API/group__xran__up__pkt.html new file mode 100644 index 0000000..c697e08 --- /dev/null +++ b/docs/API/group__xran__up__pkt.html @@ -0,0 +1,105 @@ + + + + + + + +o-du/phy: U-Plane XRAN Packet definitions and functions + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+ +
+
U-Plane XRAN Packet definitions and functions
+
+
+ + + + +

+Data Structures

struct  data_section_hdr
 
+ + + +

+Variables

struct data_section_hdr __rte_packed
 
+

Detailed Description

+

Structures relevant to U-plane packets only (data now only)

+

Variable Documentation

+ +

◆ __rte_packed

+ +
+
+ + + + +
struct eth_xran_up_pkt_hdr __rte_packed
+
+ +
+
+
+ + + + diff --git a/docs/API/hierarchy.html b/docs/API/hierarchy.html new file mode 100644 index 0000000..d050857 --- /dev/null +++ b/docs/API/hierarchy.html @@ -0,0 +1,245 @@ + + + + + + + +o-du/phy: Class Hierarchy + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
Class Hierarchy
+
+
+
+

Go to the graphical class hierarchy

+This inheritance list is sorted roughly, but not completely, alphabetically:
+
[detail level 123]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 C_RuntimeConfig
 Cadl_serializer< typename, typename >Default JSONSerializer template argument
 CB1
 Cbasic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >Class to store JSON values
 CBbuIoBufCtrlStruct
 CBbuXranIoIfStruct
 CBenchmarkParameters
 Ccompression_params::block_fl_point
 Ccompression_params::block_scaling
 Cburst_hdr
 Ccb_elem_entry
 CCOMPLEX32Defines 64-bit complex structure; both real part and image part have 32 bit width
 Ccomplex_doubleDefines 128-bit complex structure; both real part and image part have 64 bit width
 Ccomplex_floatDefines 64-bit complex structure; both real part and image part have 32 bit width
 Ccomplex_halfDefines 32-bit complex structure; both real part and image part have 16 bit width
 Ccomplex_int16_tDefines 32-bit complex structure; both real part and image part have 16 bit width
 Ccomplex_int32_tDefines 64-bit complex structure; both real part and image part have 32 bit width
 CCompressedData
 CCompressedData
 Ccompression_hdr
 Ccompression_params
 Cdata_section_compression_hdr
 Cdata_section_hdr
 Cecpri_seq_id
 Ceth_xran_up_pkt_hdr
 Cethdi_hdr
 Cexception
 CException
 CExpandedData
 CExpandedData
 Cexternal_constructor< value_t >
 Cexternal_constructor< value_t::array >
 Cexternal_constructor< value_t::boolean >
 Cexternal_constructor< value_t::number_float >
 Cexternal_constructor< value_t::number_integer >
 Cexternal_constructor< value_t::number_unsigned >
 Cexternal_constructor< value_t::object >
 Cexternal_constructor< value_t::string >
 Cfalse_type
 CFPGAPhaseCompCfg
 Cfrom_json_fn
 Chas_from_json< BasicJsonType, T >
 Chas_non_default_from_json< BasicJsonType, T >
 Chas_to_json< BasicJsonType, T >
 Chash< nlohmann::json >Hash value for JSON objects
 Cintegral_constant
 Cis_basic_json_nested_type< BasicJsonType, T >
 Cis_compatible_array_type< BasicJsonType, CompatibleArrayType >
 Cis_compatible_integer_type< RealIntegerType, CompatibleNumberIntegerType >
 Cis_compatible_integer_type_impl< true, RealIntegerType, CompatibleNumberIntegerType >
 Cis_compatible_object_type< BasicJsonType, CompatibleObjectType >
 Cis_compatible_object_type_impl< true, RealType, CompatibleObjectType >
 Citerator
 Cbasic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::json_pointerJSON Pointer
 Cmbuf_table
 Cpriority_tag< N >
 Cpriority_tag< 0 >
 Cradio_app_common_hdr
 Crb_map
 Creverse_iterator
 CsectorHandleInfo
 Cstatic_const< T >
 Cbasic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::lexer::strtonumParse string into a built-in arithmetic type as if the current locale is POSIX
 CTestWithParam
 Cto_json_fn
 Ctrue_type
 Ctype
 Ccompression_params::u_law
 Cxran_buffer_list
 Cxran_cb_tag
 Cxran_common_counters
 Cxran_cp_bf_attribute
 Cxran_cp_bf_precoding
 Cxran_cp_bf_weight
 Cxran_cp_gen_params
 Cxran_cp_header_params
 Cxran_cp_radioapp_common_header
 Cxran_cp_radioapp_frameStructure
 Cxran_cp_radioapp_section0
 Cxran_cp_radioapp_section0_header
 Cxran_cp_radioapp_section1
 Cxran_cp_radioapp_section1_header
 Cxran_cp_radioapp_section3
 Cxran_cp_radioapp_section3_header
 Cxran_cp_radioapp_section5
 Cxran_cp_radioapp_section5_header
 Cxran_cp_radioapp_section6
 Cxran_cp_radioapp_section6_header
 Cxran_cp_radioapp_section7_header
 Cxran_cp_radioapp_section_ext1
 Cxran_cp_radioapp_section_ext2
 Cxran_cp_radioapp_section_ext3_first
 Cxran_cp_radioapp_section_ext3_non_first
 Cxran_cp_radioapp_section_ext4
 Cxran_cp_radioapp_section_ext5
 Cxran_cp_radioapp_section_ext_hdr
 Cxran_cp_radioapp_section_header
 Cxran_cp_rbmap_list
 Cxran_device_ctx
 Cxran_eaxc_info
 Cxran_eaxcid_config
 Cxran_ecpri_cmn_hdr
 Cxran_ecpri_hdr
 Cxran_ethdi_ctx
 Cxran_fh_config
 Cxran_fh_init
 Cxran_flat_buffer
 Cxran_frame_config
 Cxran_io_cfg
 Cxran_io_loop_cfg
 Cxran_pkt_comm_hdr
 Cxran_prach_config
 Cxran_prach_cp_config
 Cxran_prb_elm
 Cxran_prb_map
 Cxran_radioapp_udComp_header
 Cxran_recv_packet_info
 Cxran_ru_config
 Cxran_section_desc
 Cxran_section_gen_info
 Cxran_section_info
 Cxran_sectionext1_info
 Cxran_sectionext2_info
 Cxran_sectionext3_info
 Cxran_sectionext4_info
 Cxran_sectionext5_info
 Cxran_sectionext_info
 Cxran_sectioninfo_db
 Cxran_slot_config
 Cxran_srs_config
 CxranLibWraper::xran_timer_ctx
 Cxran_timer_ctx
 Cxran_up_pkt_gen_no_compression_params
 Cxran_up_pkt_gen_params
 Cxran_up_pkt_hdr
 Cxranlib_compress_requestRequest structure containing pointer to data and its length
 Cxranlib_compress_responseResponse structure containing pointer to data and its length
 Cxranlib_decompress_requestRequest structure containing pointer to data and its length
 Cxranlib_decompress_responseResponse structure containing pointer to data and its length
 CXranLibConfig
 CxranLibWraper
 CxRANPrachConfigTableStruct
 CxRANPrachPreambleLRAStruct
+
+
+ + + + diff --git a/docs/API/index.html b/docs/API/index.html new file mode 100644 index 0000000..2c14d4d --- /dev/null +++ b/docs/API/index.html @@ -0,0 +1,74 @@ + + + + + + + +o-du/phy: Main Page + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
o-du/phy Documentation
+
+
+
+ + + + diff --git a/docs/API/inherit_graph_0.map b/docs/API/inherit_graph_0.map new file mode 100644 index 0000000..93f18ea --- /dev/null +++ b/docs/API/inherit_graph_0.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_0.md5 b/docs/API/inherit_graph_0.md5 new file mode 100644 index 0000000..89c761a --- /dev/null +++ b/docs/API/inherit_graph_0.md5 @@ -0,0 +1 @@ +304519bbd92c52ed9169742d684bf9e4 \ No newline at end of file diff --git a/docs/API/inherit_graph_0.png b/docs/API/inherit_graph_0.png new file mode 100644 index 0000000..c85424d Binary files /dev/null and b/docs/API/inherit_graph_0.png differ diff --git a/docs/API/inherit_graph_1.map b/docs/API/inherit_graph_1.map new file mode 100644 index 0000000..1744062 --- /dev/null +++ b/docs/API/inherit_graph_1.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_1.md5 b/docs/API/inherit_graph_1.md5 new file mode 100644 index 0000000..8a5e36d --- /dev/null +++ b/docs/API/inherit_graph_1.md5 @@ -0,0 +1 @@ +aa2cb33e2801a3f471131344e6b9f329 \ No newline at end of file diff --git a/docs/API/inherit_graph_1.png b/docs/API/inherit_graph_1.png new file mode 100644 index 0000000..b6a2469 Binary files /dev/null and b/docs/API/inherit_graph_1.png differ diff --git a/docs/API/inherit_graph_10.map b/docs/API/inherit_graph_10.map new file mode 100644 index 0000000..2ccf612 --- /dev/null +++ b/docs/API/inherit_graph_10.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_10.md5 b/docs/API/inherit_graph_10.md5 new file mode 100644 index 0000000..7a0f011 --- /dev/null +++ b/docs/API/inherit_graph_10.md5 @@ -0,0 +1 @@ +de959ef2116ae21560d17acb623e8823 \ No newline at end of file diff --git a/docs/API/inherit_graph_10.png b/docs/API/inherit_graph_10.png new file mode 100644 index 0000000..8cabff1 Binary files /dev/null and b/docs/API/inherit_graph_10.png differ diff --git a/docs/API/inherit_graph_100.map b/docs/API/inherit_graph_100.map new file mode 100644 index 0000000..c882d48 --- /dev/null +++ b/docs/API/inherit_graph_100.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_100.md5 b/docs/API/inherit_graph_100.md5 new file mode 100644 index 0000000..fcb77af --- /dev/null +++ b/docs/API/inherit_graph_100.md5 @@ -0,0 +1 @@ +c71c7866b503601798e4fe7c8ebb30a1 \ No newline at end of file diff --git a/docs/API/inherit_graph_100.png b/docs/API/inherit_graph_100.png new file mode 100644 index 0000000..92b48c4 Binary files /dev/null and b/docs/API/inherit_graph_100.png differ diff --git a/docs/API/inherit_graph_101.map b/docs/API/inherit_graph_101.map new file mode 100644 index 0000000..e21ade4 --- /dev/null +++ b/docs/API/inherit_graph_101.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_101.md5 b/docs/API/inherit_graph_101.md5 new file mode 100644 index 0000000..1eae1f2 --- /dev/null +++ b/docs/API/inherit_graph_101.md5 @@ -0,0 +1 @@ +b65469a4f121a0e517cbdfd3cd4f14c7 \ No newline at end of file diff --git a/docs/API/inherit_graph_101.png b/docs/API/inherit_graph_101.png new file mode 100644 index 0000000..8d81f55 Binary files /dev/null and b/docs/API/inherit_graph_101.png differ diff --git a/docs/API/inherit_graph_102.map b/docs/API/inherit_graph_102.map new file mode 100644 index 0000000..7291df3 --- /dev/null +++ b/docs/API/inherit_graph_102.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_102.md5 b/docs/API/inherit_graph_102.md5 new file mode 100644 index 0000000..3d0b085 --- /dev/null +++ b/docs/API/inherit_graph_102.md5 @@ -0,0 +1 @@ +ec619eee01fb917894ebefc03c2428dd \ No newline at end of file diff --git a/docs/API/inherit_graph_102.png b/docs/API/inherit_graph_102.png new file mode 100644 index 0000000..ee6ecb2 Binary files /dev/null and b/docs/API/inherit_graph_102.png differ diff --git a/docs/API/inherit_graph_103.map b/docs/API/inherit_graph_103.map new file mode 100644 index 0000000..5591387 --- /dev/null +++ b/docs/API/inherit_graph_103.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_103.md5 b/docs/API/inherit_graph_103.md5 new file mode 100644 index 0000000..ac8474e --- /dev/null +++ b/docs/API/inherit_graph_103.md5 @@ -0,0 +1 @@ +d1c3cd878f500c7a35db819f9f5a6532 \ No newline at end of file diff --git a/docs/API/inherit_graph_103.png b/docs/API/inherit_graph_103.png new file mode 100644 index 0000000..501295f Binary files /dev/null and b/docs/API/inherit_graph_103.png differ diff --git a/docs/API/inherit_graph_104.map b/docs/API/inherit_graph_104.map new file mode 100644 index 0000000..f28746b --- /dev/null +++ b/docs/API/inherit_graph_104.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_104.md5 b/docs/API/inherit_graph_104.md5 new file mode 100644 index 0000000..06d5dfe --- /dev/null +++ b/docs/API/inherit_graph_104.md5 @@ -0,0 +1 @@ +0acfed408f1ad4cac354aa2f94f11ff0 \ No newline at end of file diff --git a/docs/API/inherit_graph_104.png b/docs/API/inherit_graph_104.png new file mode 100644 index 0000000..8508347 Binary files /dev/null and b/docs/API/inherit_graph_104.png differ diff --git a/docs/API/inherit_graph_105.map b/docs/API/inherit_graph_105.map new file mode 100644 index 0000000..a8bbcbd --- /dev/null +++ b/docs/API/inherit_graph_105.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_105.md5 b/docs/API/inherit_graph_105.md5 new file mode 100644 index 0000000..a578284 --- /dev/null +++ b/docs/API/inherit_graph_105.md5 @@ -0,0 +1 @@ +aa9ee7a030d89d3788781531cbb5b65e \ No newline at end of file diff --git a/docs/API/inherit_graph_105.png b/docs/API/inherit_graph_105.png new file mode 100644 index 0000000..ebc528e Binary files /dev/null and b/docs/API/inherit_graph_105.png differ diff --git a/docs/API/inherit_graph_106.map b/docs/API/inherit_graph_106.map new file mode 100644 index 0000000..d0eee86 --- /dev/null +++ b/docs/API/inherit_graph_106.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_106.md5 b/docs/API/inherit_graph_106.md5 new file mode 100644 index 0000000..6f16e8c --- /dev/null +++ b/docs/API/inherit_graph_106.md5 @@ -0,0 +1 @@ +636012425ccb95f1f9f1f33ffc625c64 \ No newline at end of file diff --git a/docs/API/inherit_graph_106.png b/docs/API/inherit_graph_106.png new file mode 100644 index 0000000..63919a6 Binary files /dev/null and b/docs/API/inherit_graph_106.png differ diff --git a/docs/API/inherit_graph_107.map b/docs/API/inherit_graph_107.map new file mode 100644 index 0000000..56b724f --- /dev/null +++ b/docs/API/inherit_graph_107.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_107.md5 b/docs/API/inherit_graph_107.md5 new file mode 100644 index 0000000..77b1e29 --- /dev/null +++ b/docs/API/inherit_graph_107.md5 @@ -0,0 +1 @@ +276c80b106eec51ffa5852033e3304fd \ No newline at end of file diff --git a/docs/API/inherit_graph_107.png b/docs/API/inherit_graph_107.png new file mode 100644 index 0000000..66afb75 Binary files /dev/null and b/docs/API/inherit_graph_107.png differ diff --git a/docs/API/inherit_graph_108.map b/docs/API/inherit_graph_108.map new file mode 100644 index 0000000..0e7fcb5 --- /dev/null +++ b/docs/API/inherit_graph_108.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_108.md5 b/docs/API/inherit_graph_108.md5 new file mode 100644 index 0000000..2babd78 --- /dev/null +++ b/docs/API/inherit_graph_108.md5 @@ -0,0 +1 @@ +b2e4943cb267d1fd22ebb267a2ca6f84 \ No newline at end of file diff --git a/docs/API/inherit_graph_108.png b/docs/API/inherit_graph_108.png new file mode 100644 index 0000000..d0a4d3f Binary files /dev/null and b/docs/API/inherit_graph_108.png differ diff --git a/docs/API/inherit_graph_109.map b/docs/API/inherit_graph_109.map new file mode 100644 index 0000000..a53e0ae --- /dev/null +++ b/docs/API/inherit_graph_109.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_109.md5 b/docs/API/inherit_graph_109.md5 new file mode 100644 index 0000000..dbdfaa7 --- /dev/null +++ b/docs/API/inherit_graph_109.md5 @@ -0,0 +1 @@ +52f211c020a6eac25528734ff3af2b0d \ No newline at end of file diff --git a/docs/API/inherit_graph_109.png b/docs/API/inherit_graph_109.png new file mode 100644 index 0000000..7ad4104 Binary files /dev/null and b/docs/API/inherit_graph_109.png differ diff --git a/docs/API/inherit_graph_11.map b/docs/API/inherit_graph_11.map new file mode 100644 index 0000000..51f00ae --- /dev/null +++ b/docs/API/inherit_graph_11.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_11.md5 b/docs/API/inherit_graph_11.md5 new file mode 100644 index 0000000..8f4d25b --- /dev/null +++ b/docs/API/inherit_graph_11.md5 @@ -0,0 +1 @@ +53cc242ba93eb90e75039f2e0a6299c1 \ No newline at end of file diff --git a/docs/API/inherit_graph_11.png b/docs/API/inherit_graph_11.png new file mode 100644 index 0000000..0db5ec3 Binary files /dev/null and b/docs/API/inherit_graph_11.png differ diff --git a/docs/API/inherit_graph_110.map b/docs/API/inherit_graph_110.map new file mode 100644 index 0000000..4a5841b --- /dev/null +++ b/docs/API/inherit_graph_110.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_110.md5 b/docs/API/inherit_graph_110.md5 new file mode 100644 index 0000000..d72a8ed --- /dev/null +++ b/docs/API/inherit_graph_110.md5 @@ -0,0 +1 @@ +c9c2f3b34e0b435999470977f491943a \ No newline at end of file diff --git a/docs/API/inherit_graph_110.png b/docs/API/inherit_graph_110.png new file mode 100644 index 0000000..20dec65 Binary files /dev/null and b/docs/API/inherit_graph_110.png differ diff --git a/docs/API/inherit_graph_111.map b/docs/API/inherit_graph_111.map new file mode 100644 index 0000000..2c3d501 --- /dev/null +++ b/docs/API/inherit_graph_111.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_111.md5 b/docs/API/inherit_graph_111.md5 new file mode 100644 index 0000000..ecf2350 --- /dev/null +++ b/docs/API/inherit_graph_111.md5 @@ -0,0 +1 @@ +a9387c2e652ddd31ac3f05f97e0fd69a \ No newline at end of file diff --git a/docs/API/inherit_graph_111.png b/docs/API/inherit_graph_111.png new file mode 100644 index 0000000..843ef6f Binary files /dev/null and b/docs/API/inherit_graph_111.png differ diff --git a/docs/API/inherit_graph_112.map b/docs/API/inherit_graph_112.map new file mode 100644 index 0000000..c5861e5 --- /dev/null +++ b/docs/API/inherit_graph_112.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_112.md5 b/docs/API/inherit_graph_112.md5 new file mode 100644 index 0000000..e017900 --- /dev/null +++ b/docs/API/inherit_graph_112.md5 @@ -0,0 +1 @@ +cf9503e2854f894cc6bcff0f9ce05b30 \ No newline at end of file diff --git a/docs/API/inherit_graph_112.png b/docs/API/inherit_graph_112.png new file mode 100644 index 0000000..933e294 Binary files /dev/null and b/docs/API/inherit_graph_112.png differ diff --git a/docs/API/inherit_graph_113.map b/docs/API/inherit_graph_113.map new file mode 100644 index 0000000..e361f3d --- /dev/null +++ b/docs/API/inherit_graph_113.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_113.md5 b/docs/API/inherit_graph_113.md5 new file mode 100644 index 0000000..a8fa67c --- /dev/null +++ b/docs/API/inherit_graph_113.md5 @@ -0,0 +1 @@ +5c86d020a4cadcf83d8cefe23f0db48e \ No newline at end of file diff --git a/docs/API/inherit_graph_113.png b/docs/API/inherit_graph_113.png new file mode 100644 index 0000000..c954e69 Binary files /dev/null and b/docs/API/inherit_graph_113.png differ diff --git a/docs/API/inherit_graph_114.map b/docs/API/inherit_graph_114.map new file mode 100644 index 0000000..7f9a716 --- /dev/null +++ b/docs/API/inherit_graph_114.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_114.md5 b/docs/API/inherit_graph_114.md5 new file mode 100644 index 0000000..6d92923 --- /dev/null +++ b/docs/API/inherit_graph_114.md5 @@ -0,0 +1 @@ +2d4f0fcae4a1536d3ea8b765d5adedac \ No newline at end of file diff --git a/docs/API/inherit_graph_114.png b/docs/API/inherit_graph_114.png new file mode 100644 index 0000000..806fae9 Binary files /dev/null and b/docs/API/inherit_graph_114.png differ diff --git a/docs/API/inherit_graph_115.map b/docs/API/inherit_graph_115.map new file mode 100644 index 0000000..f49144b --- /dev/null +++ b/docs/API/inherit_graph_115.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_115.md5 b/docs/API/inherit_graph_115.md5 new file mode 100644 index 0000000..7e27ad7 --- /dev/null +++ b/docs/API/inherit_graph_115.md5 @@ -0,0 +1 @@ +d2f8c3d193ac8fb22434d0ee54118e81 \ No newline at end of file diff --git a/docs/API/inherit_graph_115.png b/docs/API/inherit_graph_115.png new file mode 100644 index 0000000..5de1bcd Binary files /dev/null and b/docs/API/inherit_graph_115.png differ diff --git a/docs/API/inherit_graph_116.map b/docs/API/inherit_graph_116.map new file mode 100644 index 0000000..71d726a --- /dev/null +++ b/docs/API/inherit_graph_116.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_116.md5 b/docs/API/inherit_graph_116.md5 new file mode 100644 index 0000000..beac2a6 --- /dev/null +++ b/docs/API/inherit_graph_116.md5 @@ -0,0 +1 @@ +810a39980df758626f17148d9bdbc194 \ No newline at end of file diff --git a/docs/API/inherit_graph_116.png b/docs/API/inherit_graph_116.png new file mode 100644 index 0000000..5eee02b Binary files /dev/null and b/docs/API/inherit_graph_116.png differ diff --git a/docs/API/inherit_graph_117.map b/docs/API/inherit_graph_117.map new file mode 100644 index 0000000..8f38ef1 --- /dev/null +++ b/docs/API/inherit_graph_117.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_117.md5 b/docs/API/inherit_graph_117.md5 new file mode 100644 index 0000000..a440c2d --- /dev/null +++ b/docs/API/inherit_graph_117.md5 @@ -0,0 +1 @@ +bc1319f2bcb3b51358f1a221a7c94ece \ No newline at end of file diff --git a/docs/API/inherit_graph_117.png b/docs/API/inherit_graph_117.png new file mode 100644 index 0000000..f38da83 Binary files /dev/null and b/docs/API/inherit_graph_117.png differ diff --git a/docs/API/inherit_graph_118.map b/docs/API/inherit_graph_118.map new file mode 100644 index 0000000..d8a8d4b --- /dev/null +++ b/docs/API/inherit_graph_118.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_118.md5 b/docs/API/inherit_graph_118.md5 new file mode 100644 index 0000000..07c63bf --- /dev/null +++ b/docs/API/inherit_graph_118.md5 @@ -0,0 +1 @@ +3c3cdc23ff9abc1a080fa3fae723b865 \ No newline at end of file diff --git a/docs/API/inherit_graph_118.png b/docs/API/inherit_graph_118.png new file mode 100644 index 0000000..fa83cf7 Binary files /dev/null and b/docs/API/inherit_graph_118.png differ diff --git a/docs/API/inherit_graph_119.map b/docs/API/inherit_graph_119.map new file mode 100644 index 0000000..a372977 --- /dev/null +++ b/docs/API/inherit_graph_119.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_119.md5 b/docs/API/inherit_graph_119.md5 new file mode 100644 index 0000000..1f59d22 --- /dev/null +++ b/docs/API/inherit_graph_119.md5 @@ -0,0 +1 @@ +7ab370173ec3c09840477bea6dc7f654 \ No newline at end of file diff --git a/docs/API/inherit_graph_119.png b/docs/API/inherit_graph_119.png new file mode 100644 index 0000000..e7b326b Binary files /dev/null and b/docs/API/inherit_graph_119.png differ diff --git a/docs/API/inherit_graph_12.map b/docs/API/inherit_graph_12.map new file mode 100644 index 0000000..5fc5649 --- /dev/null +++ b/docs/API/inherit_graph_12.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_12.md5 b/docs/API/inherit_graph_12.md5 new file mode 100644 index 0000000..07fd79f --- /dev/null +++ b/docs/API/inherit_graph_12.md5 @@ -0,0 +1 @@ +19cc3978b30328f3a1dde462cf3f0a1d \ No newline at end of file diff --git a/docs/API/inherit_graph_12.png b/docs/API/inherit_graph_12.png new file mode 100644 index 0000000..dc8de31 Binary files /dev/null and b/docs/API/inherit_graph_12.png differ diff --git a/docs/API/inherit_graph_120.map b/docs/API/inherit_graph_120.map new file mode 100644 index 0000000..a2ef5f8 --- /dev/null +++ b/docs/API/inherit_graph_120.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_120.md5 b/docs/API/inherit_graph_120.md5 new file mode 100644 index 0000000..fdb0d16 --- /dev/null +++ b/docs/API/inherit_graph_120.md5 @@ -0,0 +1 @@ +928d1398e0100b3a75c260e39138f6cb \ No newline at end of file diff --git a/docs/API/inherit_graph_120.png b/docs/API/inherit_graph_120.png new file mode 100644 index 0000000..3e08ffb Binary files /dev/null and b/docs/API/inherit_graph_120.png differ diff --git a/docs/API/inherit_graph_121.map b/docs/API/inherit_graph_121.map new file mode 100644 index 0000000..fd0afaf --- /dev/null +++ b/docs/API/inherit_graph_121.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_121.md5 b/docs/API/inherit_graph_121.md5 new file mode 100644 index 0000000..6fb2ddc --- /dev/null +++ b/docs/API/inherit_graph_121.md5 @@ -0,0 +1 @@ +48d4b7477e900dc6c05b74ec5352b546 \ No newline at end of file diff --git a/docs/API/inherit_graph_121.png b/docs/API/inherit_graph_121.png new file mode 100644 index 0000000..d813d7c Binary files /dev/null and b/docs/API/inherit_graph_121.png differ diff --git a/docs/API/inherit_graph_122.map b/docs/API/inherit_graph_122.map new file mode 100644 index 0000000..d967487 --- /dev/null +++ b/docs/API/inherit_graph_122.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_122.md5 b/docs/API/inherit_graph_122.md5 new file mode 100644 index 0000000..20665d6 --- /dev/null +++ b/docs/API/inherit_graph_122.md5 @@ -0,0 +1 @@ +84a75717b9ff7b184eb71d4db590de44 \ No newline at end of file diff --git a/docs/API/inherit_graph_122.png b/docs/API/inherit_graph_122.png new file mode 100644 index 0000000..8eef866 Binary files /dev/null and b/docs/API/inherit_graph_122.png differ diff --git a/docs/API/inherit_graph_123.map b/docs/API/inherit_graph_123.map new file mode 100644 index 0000000..0ff17be --- /dev/null +++ b/docs/API/inherit_graph_123.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_123.md5 b/docs/API/inherit_graph_123.md5 new file mode 100644 index 0000000..8dbf267 --- /dev/null +++ b/docs/API/inherit_graph_123.md5 @@ -0,0 +1 @@ +c6c97016561a41c43e63f848f0f83fb4 \ No newline at end of file diff --git a/docs/API/inherit_graph_123.png b/docs/API/inherit_graph_123.png new file mode 100644 index 0000000..2d5d44e Binary files /dev/null and b/docs/API/inherit_graph_123.png differ diff --git a/docs/API/inherit_graph_124.map b/docs/API/inherit_graph_124.map new file mode 100644 index 0000000..28c9cd8 --- /dev/null +++ b/docs/API/inherit_graph_124.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_124.md5 b/docs/API/inherit_graph_124.md5 new file mode 100644 index 0000000..cff49bc --- /dev/null +++ b/docs/API/inherit_graph_124.md5 @@ -0,0 +1 @@ +6844258391264a0216a15672260d6482 \ No newline at end of file diff --git a/docs/API/inherit_graph_124.png b/docs/API/inherit_graph_124.png new file mode 100644 index 0000000..5a926d6 Binary files /dev/null and b/docs/API/inherit_graph_124.png differ diff --git a/docs/API/inherit_graph_125.map b/docs/API/inherit_graph_125.map new file mode 100644 index 0000000..15cae5a --- /dev/null +++ b/docs/API/inherit_graph_125.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_125.md5 b/docs/API/inherit_graph_125.md5 new file mode 100644 index 0000000..8017b0a --- /dev/null +++ b/docs/API/inherit_graph_125.md5 @@ -0,0 +1 @@ +1a8b05e68cd57c716a0b7897bda04483 \ No newline at end of file diff --git a/docs/API/inherit_graph_125.png b/docs/API/inherit_graph_125.png new file mode 100644 index 0000000..215a267 Binary files /dev/null and b/docs/API/inherit_graph_125.png differ diff --git a/docs/API/inherit_graph_126.map b/docs/API/inherit_graph_126.map new file mode 100644 index 0000000..9c1a30f --- /dev/null +++ b/docs/API/inherit_graph_126.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_126.md5 b/docs/API/inherit_graph_126.md5 new file mode 100644 index 0000000..d19f80e --- /dev/null +++ b/docs/API/inherit_graph_126.md5 @@ -0,0 +1 @@ +e79244ad5346efc515239256f39a50ec \ No newline at end of file diff --git a/docs/API/inherit_graph_126.png b/docs/API/inherit_graph_126.png new file mode 100644 index 0000000..fd288bf Binary files /dev/null and b/docs/API/inherit_graph_126.png differ diff --git a/docs/API/inherit_graph_127.map b/docs/API/inherit_graph_127.map new file mode 100644 index 0000000..b5cd949 --- /dev/null +++ b/docs/API/inherit_graph_127.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_127.md5 b/docs/API/inherit_graph_127.md5 new file mode 100644 index 0000000..460f838 --- /dev/null +++ b/docs/API/inherit_graph_127.md5 @@ -0,0 +1 @@ +5592cdbade921edfb5846a5587bb3f50 \ No newline at end of file diff --git a/docs/API/inherit_graph_127.png b/docs/API/inherit_graph_127.png new file mode 100644 index 0000000..6ca07c9 Binary files /dev/null and b/docs/API/inherit_graph_127.png differ diff --git a/docs/API/inherit_graph_128.map b/docs/API/inherit_graph_128.map new file mode 100644 index 0000000..0df9a5a --- /dev/null +++ b/docs/API/inherit_graph_128.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_128.md5 b/docs/API/inherit_graph_128.md5 new file mode 100644 index 0000000..2deb59e --- /dev/null +++ b/docs/API/inherit_graph_128.md5 @@ -0,0 +1 @@ +c23af401df1bad15d0fa42372edf805d \ No newline at end of file diff --git a/docs/API/inherit_graph_128.png b/docs/API/inherit_graph_128.png new file mode 100644 index 0000000..ef15b26 Binary files /dev/null and b/docs/API/inherit_graph_128.png differ diff --git a/docs/API/inherit_graph_129.map b/docs/API/inherit_graph_129.map new file mode 100644 index 0000000..6c64a72 --- /dev/null +++ b/docs/API/inherit_graph_129.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_129.md5 b/docs/API/inherit_graph_129.md5 new file mode 100644 index 0000000..2e58af4 --- /dev/null +++ b/docs/API/inherit_graph_129.md5 @@ -0,0 +1 @@ +d7a18a50a81d24f54997bafa935adebc \ No newline at end of file diff --git a/docs/API/inherit_graph_129.png b/docs/API/inherit_graph_129.png new file mode 100644 index 0000000..5cd4032 Binary files /dev/null and b/docs/API/inherit_graph_129.png differ diff --git a/docs/API/inherit_graph_13.map b/docs/API/inherit_graph_13.map new file mode 100644 index 0000000..dd9a35e --- /dev/null +++ b/docs/API/inherit_graph_13.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_13.md5 b/docs/API/inherit_graph_13.md5 new file mode 100644 index 0000000..924dccc --- /dev/null +++ b/docs/API/inherit_graph_13.md5 @@ -0,0 +1 @@ +47e9a4ff95c46e35eeb3bbc64df7cbb4 \ No newline at end of file diff --git a/docs/API/inherit_graph_13.png b/docs/API/inherit_graph_13.png new file mode 100644 index 0000000..34b90d6 Binary files /dev/null and b/docs/API/inherit_graph_13.png differ diff --git a/docs/API/inherit_graph_130.map b/docs/API/inherit_graph_130.map new file mode 100644 index 0000000..9a77edb --- /dev/null +++ b/docs/API/inherit_graph_130.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_130.md5 b/docs/API/inherit_graph_130.md5 new file mode 100644 index 0000000..29400ea --- /dev/null +++ b/docs/API/inherit_graph_130.md5 @@ -0,0 +1 @@ +3c1b873d6c4f33ff2b9bede33f513487 \ No newline at end of file diff --git a/docs/API/inherit_graph_130.png b/docs/API/inherit_graph_130.png new file mode 100644 index 0000000..c4308d5 Binary files /dev/null and b/docs/API/inherit_graph_130.png differ diff --git a/docs/API/inherit_graph_131.map b/docs/API/inherit_graph_131.map new file mode 100644 index 0000000..1d1194d --- /dev/null +++ b/docs/API/inherit_graph_131.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_131.md5 b/docs/API/inherit_graph_131.md5 new file mode 100644 index 0000000..3bcd841 --- /dev/null +++ b/docs/API/inherit_graph_131.md5 @@ -0,0 +1 @@ +0b86e0d184fd7bef483c87f281c43bf1 \ No newline at end of file diff --git a/docs/API/inherit_graph_131.png b/docs/API/inherit_graph_131.png new file mode 100644 index 0000000..977ad20 Binary files /dev/null and b/docs/API/inherit_graph_131.png differ diff --git a/docs/API/inherit_graph_132.map b/docs/API/inherit_graph_132.map new file mode 100644 index 0000000..953599e --- /dev/null +++ b/docs/API/inherit_graph_132.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_132.md5 b/docs/API/inherit_graph_132.md5 new file mode 100644 index 0000000..299c017 --- /dev/null +++ b/docs/API/inherit_graph_132.md5 @@ -0,0 +1 @@ +9f1d0f9aec70c8d5eec8927190906511 \ No newline at end of file diff --git a/docs/API/inherit_graph_132.png b/docs/API/inherit_graph_132.png new file mode 100644 index 0000000..d8ce16d Binary files /dev/null and b/docs/API/inherit_graph_132.png differ diff --git a/docs/API/inherit_graph_133.map b/docs/API/inherit_graph_133.map new file mode 100644 index 0000000..2a1259a --- /dev/null +++ b/docs/API/inherit_graph_133.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_133.md5 b/docs/API/inherit_graph_133.md5 new file mode 100644 index 0000000..5706709 --- /dev/null +++ b/docs/API/inherit_graph_133.md5 @@ -0,0 +1 @@ +6740d2e99845e61cfc6bd221ee750884 \ No newline at end of file diff --git a/docs/API/inherit_graph_133.png b/docs/API/inherit_graph_133.png new file mode 100644 index 0000000..365201c Binary files /dev/null and b/docs/API/inherit_graph_133.png differ diff --git a/docs/API/inherit_graph_134.map b/docs/API/inherit_graph_134.map new file mode 100644 index 0000000..d99e28a --- /dev/null +++ b/docs/API/inherit_graph_134.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_134.md5 b/docs/API/inherit_graph_134.md5 new file mode 100644 index 0000000..d3299af --- /dev/null +++ b/docs/API/inherit_graph_134.md5 @@ -0,0 +1 @@ +20f05cb1d4d1e7cf5269a7a7a2a07782 \ No newline at end of file diff --git a/docs/API/inherit_graph_134.png b/docs/API/inherit_graph_134.png new file mode 100644 index 0000000..5864c8c Binary files /dev/null and b/docs/API/inherit_graph_134.png differ diff --git a/docs/API/inherit_graph_135.map b/docs/API/inherit_graph_135.map new file mode 100644 index 0000000..50f66c8 --- /dev/null +++ b/docs/API/inherit_graph_135.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_135.md5 b/docs/API/inherit_graph_135.md5 new file mode 100644 index 0000000..1e8b78e --- /dev/null +++ b/docs/API/inherit_graph_135.md5 @@ -0,0 +1 @@ +672e9994e9ed55d3a3f9973b0331bab8 \ No newline at end of file diff --git a/docs/API/inherit_graph_135.png b/docs/API/inherit_graph_135.png new file mode 100644 index 0000000..3877512 Binary files /dev/null and b/docs/API/inherit_graph_135.png differ diff --git a/docs/API/inherit_graph_136.map b/docs/API/inherit_graph_136.map new file mode 100644 index 0000000..f71abc2 --- /dev/null +++ b/docs/API/inherit_graph_136.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_136.md5 b/docs/API/inherit_graph_136.md5 new file mode 100644 index 0000000..537a899 --- /dev/null +++ b/docs/API/inherit_graph_136.md5 @@ -0,0 +1 @@ +9affbc13a11c84ae9f8262eefd58e6da \ No newline at end of file diff --git a/docs/API/inherit_graph_136.png b/docs/API/inherit_graph_136.png new file mode 100644 index 0000000..4cca54f Binary files /dev/null and b/docs/API/inherit_graph_136.png differ diff --git a/docs/API/inherit_graph_137.map b/docs/API/inherit_graph_137.map new file mode 100644 index 0000000..2fcda03 --- /dev/null +++ b/docs/API/inherit_graph_137.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_137.md5 b/docs/API/inherit_graph_137.md5 new file mode 100644 index 0000000..450c788 --- /dev/null +++ b/docs/API/inherit_graph_137.md5 @@ -0,0 +1 @@ +f7064d0fbe506bfb655b6e3651d59133 \ No newline at end of file diff --git a/docs/API/inherit_graph_137.png b/docs/API/inherit_graph_137.png new file mode 100644 index 0000000..0f81067 Binary files /dev/null and b/docs/API/inherit_graph_137.png differ diff --git a/docs/API/inherit_graph_138.map b/docs/API/inherit_graph_138.map new file mode 100644 index 0000000..ca6d578 --- /dev/null +++ b/docs/API/inherit_graph_138.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_138.md5 b/docs/API/inherit_graph_138.md5 new file mode 100644 index 0000000..abf79aa --- /dev/null +++ b/docs/API/inherit_graph_138.md5 @@ -0,0 +1 @@ +9c57d8ef73d1b0722179012bcc4ddca4 \ No newline at end of file diff --git a/docs/API/inherit_graph_138.png b/docs/API/inherit_graph_138.png new file mode 100644 index 0000000..fa460a0 Binary files /dev/null and b/docs/API/inherit_graph_138.png differ diff --git a/docs/API/inherit_graph_139.map b/docs/API/inherit_graph_139.map new file mode 100644 index 0000000..b88ae72 --- /dev/null +++ b/docs/API/inherit_graph_139.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_139.md5 b/docs/API/inherit_graph_139.md5 new file mode 100644 index 0000000..da90da2 --- /dev/null +++ b/docs/API/inherit_graph_139.md5 @@ -0,0 +1 @@ +4c97a6261de8fe84809d1b8d059a6416 \ No newline at end of file diff --git a/docs/API/inherit_graph_139.png b/docs/API/inherit_graph_139.png new file mode 100644 index 0000000..0063b89 Binary files /dev/null and b/docs/API/inherit_graph_139.png differ diff --git a/docs/API/inherit_graph_14.map b/docs/API/inherit_graph_14.map new file mode 100644 index 0000000..04bc6ac --- /dev/null +++ b/docs/API/inherit_graph_14.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_14.md5 b/docs/API/inherit_graph_14.md5 new file mode 100644 index 0000000..14fcf91 --- /dev/null +++ b/docs/API/inherit_graph_14.md5 @@ -0,0 +1 @@ +056e03ec44481eaae26db5d12ccf34ef \ No newline at end of file diff --git a/docs/API/inherit_graph_14.png b/docs/API/inherit_graph_14.png new file mode 100644 index 0000000..b111abf Binary files /dev/null and b/docs/API/inherit_graph_14.png differ diff --git a/docs/API/inherit_graph_140.map b/docs/API/inherit_graph_140.map new file mode 100644 index 0000000..d4ab79a --- /dev/null +++ b/docs/API/inherit_graph_140.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_140.md5 b/docs/API/inherit_graph_140.md5 new file mode 100644 index 0000000..4859288 --- /dev/null +++ b/docs/API/inherit_graph_140.md5 @@ -0,0 +1 @@ +f7972824965a20634a04ec1c92343491 \ No newline at end of file diff --git a/docs/API/inherit_graph_140.png b/docs/API/inherit_graph_140.png new file mode 100644 index 0000000..be150f6 Binary files /dev/null and b/docs/API/inherit_graph_140.png differ diff --git a/docs/API/inherit_graph_141.map b/docs/API/inherit_graph_141.map new file mode 100644 index 0000000..a1a4642 --- /dev/null +++ b/docs/API/inherit_graph_141.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_141.md5 b/docs/API/inherit_graph_141.md5 new file mode 100644 index 0000000..0e07c78 --- /dev/null +++ b/docs/API/inherit_graph_141.md5 @@ -0,0 +1 @@ +b24fc505a2d7738d2fe9459706980c67 \ No newline at end of file diff --git a/docs/API/inherit_graph_141.png b/docs/API/inherit_graph_141.png new file mode 100644 index 0000000..40ce38d Binary files /dev/null and b/docs/API/inherit_graph_141.png differ diff --git a/docs/API/inherit_graph_142.map b/docs/API/inherit_graph_142.map new file mode 100644 index 0000000..2078583 --- /dev/null +++ b/docs/API/inherit_graph_142.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_142.md5 b/docs/API/inherit_graph_142.md5 new file mode 100644 index 0000000..726fc25 --- /dev/null +++ b/docs/API/inherit_graph_142.md5 @@ -0,0 +1 @@ +dc2b665455d10a48d359196274266378 \ No newline at end of file diff --git a/docs/API/inherit_graph_142.png b/docs/API/inherit_graph_142.png new file mode 100644 index 0000000..098a85a Binary files /dev/null and b/docs/API/inherit_graph_142.png differ diff --git a/docs/API/inherit_graph_15.map b/docs/API/inherit_graph_15.map new file mode 100644 index 0000000..b4b86e2 --- /dev/null +++ b/docs/API/inherit_graph_15.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_15.md5 b/docs/API/inherit_graph_15.md5 new file mode 100644 index 0000000..9d82e37 --- /dev/null +++ b/docs/API/inherit_graph_15.md5 @@ -0,0 +1 @@ +ea040a732c4996ded783c71d9cfd0cef \ No newline at end of file diff --git a/docs/API/inherit_graph_15.png b/docs/API/inherit_graph_15.png new file mode 100644 index 0000000..197aa34 Binary files /dev/null and b/docs/API/inherit_graph_15.png differ diff --git a/docs/API/inherit_graph_16.map b/docs/API/inherit_graph_16.map new file mode 100644 index 0000000..60f9bff --- /dev/null +++ b/docs/API/inherit_graph_16.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_16.md5 b/docs/API/inherit_graph_16.md5 new file mode 100644 index 0000000..6ae98b5 --- /dev/null +++ b/docs/API/inherit_graph_16.md5 @@ -0,0 +1 @@ +1ad0280d8c635f2d172cfa6cd0a7ae74 \ No newline at end of file diff --git a/docs/API/inherit_graph_16.png b/docs/API/inherit_graph_16.png new file mode 100644 index 0000000..bd2498a Binary files /dev/null and b/docs/API/inherit_graph_16.png differ diff --git a/docs/API/inherit_graph_17.map b/docs/API/inherit_graph_17.map new file mode 100644 index 0000000..ac66b3e --- /dev/null +++ b/docs/API/inherit_graph_17.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_17.md5 b/docs/API/inherit_graph_17.md5 new file mode 100644 index 0000000..b82df10 --- /dev/null +++ b/docs/API/inherit_graph_17.md5 @@ -0,0 +1 @@ +11f79188a359b35b0af20201b11e0e86 \ No newline at end of file diff --git a/docs/API/inherit_graph_17.png b/docs/API/inherit_graph_17.png new file mode 100644 index 0000000..72df953 Binary files /dev/null and b/docs/API/inherit_graph_17.png differ diff --git a/docs/API/inherit_graph_18.map b/docs/API/inherit_graph_18.map new file mode 100644 index 0000000..0a7f91c --- /dev/null +++ b/docs/API/inherit_graph_18.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_18.md5 b/docs/API/inherit_graph_18.md5 new file mode 100644 index 0000000..7b72cce --- /dev/null +++ b/docs/API/inherit_graph_18.md5 @@ -0,0 +1 @@ +a081aaf45fd475815bb622fe615b995d \ No newline at end of file diff --git a/docs/API/inherit_graph_18.png b/docs/API/inherit_graph_18.png new file mode 100644 index 0000000..0eef4e0 Binary files /dev/null and b/docs/API/inherit_graph_18.png differ diff --git a/docs/API/inherit_graph_19.map b/docs/API/inherit_graph_19.map new file mode 100644 index 0000000..8abb71d --- /dev/null +++ b/docs/API/inherit_graph_19.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_19.md5 b/docs/API/inherit_graph_19.md5 new file mode 100644 index 0000000..b555e63 --- /dev/null +++ b/docs/API/inherit_graph_19.md5 @@ -0,0 +1 @@ +b5b45d44e0081b3eac2d10670ccc7dc9 \ No newline at end of file diff --git a/docs/API/inherit_graph_19.png b/docs/API/inherit_graph_19.png new file mode 100644 index 0000000..0eef4e0 Binary files /dev/null and b/docs/API/inherit_graph_19.png differ diff --git a/docs/API/inherit_graph_2.map b/docs/API/inherit_graph_2.map new file mode 100644 index 0000000..8d88c42 --- /dev/null +++ b/docs/API/inherit_graph_2.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_2.md5 b/docs/API/inherit_graph_2.md5 new file mode 100644 index 0000000..5e41a45 --- /dev/null +++ b/docs/API/inherit_graph_2.md5 @@ -0,0 +1 @@ +19c57db11bad6d7bfd05f4e86d98a50f \ No newline at end of file diff --git a/docs/API/inherit_graph_2.png b/docs/API/inherit_graph_2.png new file mode 100644 index 0000000..f1b3093 Binary files /dev/null and b/docs/API/inherit_graph_2.png differ diff --git a/docs/API/inherit_graph_20.map b/docs/API/inherit_graph_20.map new file mode 100644 index 0000000..e898735 --- /dev/null +++ b/docs/API/inherit_graph_20.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_20.md5 b/docs/API/inherit_graph_20.md5 new file mode 100644 index 0000000..73a11f5 --- /dev/null +++ b/docs/API/inherit_graph_20.md5 @@ -0,0 +1 @@ +3f8d52648db99c41ff0058cbbe5f4831 \ No newline at end of file diff --git a/docs/API/inherit_graph_20.png b/docs/API/inherit_graph_20.png new file mode 100644 index 0000000..b93a063 Binary files /dev/null and b/docs/API/inherit_graph_20.png differ diff --git a/docs/API/inherit_graph_21.map b/docs/API/inherit_graph_21.map new file mode 100644 index 0000000..1ca1100 --- /dev/null +++ b/docs/API/inherit_graph_21.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_21.md5 b/docs/API/inherit_graph_21.md5 new file mode 100644 index 0000000..8184b4f --- /dev/null +++ b/docs/API/inherit_graph_21.md5 @@ -0,0 +1 @@ +468b09a84e173283d3e4e1387ba618c6 \ No newline at end of file diff --git a/docs/API/inherit_graph_21.png b/docs/API/inherit_graph_21.png new file mode 100644 index 0000000..b59a41b Binary files /dev/null and b/docs/API/inherit_graph_21.png differ diff --git a/docs/API/inherit_graph_22.map b/docs/API/inherit_graph_22.map new file mode 100644 index 0000000..8837445 --- /dev/null +++ b/docs/API/inherit_graph_22.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_22.md5 b/docs/API/inherit_graph_22.md5 new file mode 100644 index 0000000..3e40ad6 --- /dev/null +++ b/docs/API/inherit_graph_22.md5 @@ -0,0 +1 @@ +955ee24497a4b4394726f840c429c5b3 \ No newline at end of file diff --git a/docs/API/inherit_graph_22.png b/docs/API/inherit_graph_22.png new file mode 100644 index 0000000..c110834 Binary files /dev/null and b/docs/API/inherit_graph_22.png differ diff --git a/docs/API/inherit_graph_23.map b/docs/API/inherit_graph_23.map new file mode 100644 index 0000000..96c1a6c --- /dev/null +++ b/docs/API/inherit_graph_23.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_23.md5 b/docs/API/inherit_graph_23.md5 new file mode 100644 index 0000000..95778e9 --- /dev/null +++ b/docs/API/inherit_graph_23.md5 @@ -0,0 +1 @@ +adbdf7800171d4893b0db7fb94b2ff7c \ No newline at end of file diff --git a/docs/API/inherit_graph_23.png b/docs/API/inherit_graph_23.png new file mode 100644 index 0000000..9b436e3 Binary files /dev/null and b/docs/API/inherit_graph_23.png differ diff --git a/docs/API/inherit_graph_24.map b/docs/API/inherit_graph_24.map new file mode 100644 index 0000000..c1da39a --- /dev/null +++ b/docs/API/inherit_graph_24.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_24.md5 b/docs/API/inherit_graph_24.md5 new file mode 100644 index 0000000..608299e --- /dev/null +++ b/docs/API/inherit_graph_24.md5 @@ -0,0 +1 @@ +a90dce7b1d4dc4853bd99e06a8194ffc \ No newline at end of file diff --git a/docs/API/inherit_graph_24.png b/docs/API/inherit_graph_24.png new file mode 100644 index 0000000..8cf972a Binary files /dev/null and b/docs/API/inherit_graph_24.png differ diff --git a/docs/API/inherit_graph_25.map b/docs/API/inherit_graph_25.map new file mode 100644 index 0000000..a622982 --- /dev/null +++ b/docs/API/inherit_graph_25.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_25.md5 b/docs/API/inherit_graph_25.md5 new file mode 100644 index 0000000..c823816 --- /dev/null +++ b/docs/API/inherit_graph_25.md5 @@ -0,0 +1 @@ +f5e6684a68a5498810c11bf12eb55a1f \ No newline at end of file diff --git a/docs/API/inherit_graph_25.png b/docs/API/inherit_graph_25.png new file mode 100644 index 0000000..699f5a9 Binary files /dev/null and b/docs/API/inherit_graph_25.png differ diff --git a/docs/API/inherit_graph_26.map b/docs/API/inherit_graph_26.map new file mode 100644 index 0000000..158801a --- /dev/null +++ b/docs/API/inherit_graph_26.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_26.md5 b/docs/API/inherit_graph_26.md5 new file mode 100644 index 0000000..a6cda3b --- /dev/null +++ b/docs/API/inherit_graph_26.md5 @@ -0,0 +1 @@ +492d9c70cd76a3d8022669ae069f79b1 \ No newline at end of file diff --git a/docs/API/inherit_graph_26.png b/docs/API/inherit_graph_26.png new file mode 100644 index 0000000..9c91b66 Binary files /dev/null and b/docs/API/inherit_graph_26.png differ diff --git a/docs/API/inherit_graph_27.map b/docs/API/inherit_graph_27.map new file mode 100644 index 0000000..ceac5f8 --- /dev/null +++ b/docs/API/inherit_graph_27.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_27.md5 b/docs/API/inherit_graph_27.md5 new file mode 100644 index 0000000..c4cf2b3 --- /dev/null +++ b/docs/API/inherit_graph_27.md5 @@ -0,0 +1 @@ +17cee3ad9877674b4018a61683fdd5f7 \ No newline at end of file diff --git a/docs/API/inherit_graph_27.png b/docs/API/inherit_graph_27.png new file mode 100644 index 0000000..83d7937 Binary files /dev/null and b/docs/API/inherit_graph_27.png differ diff --git a/docs/API/inherit_graph_28.map b/docs/API/inherit_graph_28.map new file mode 100644 index 0000000..b72a914 --- /dev/null +++ b/docs/API/inherit_graph_28.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_28.md5 b/docs/API/inherit_graph_28.md5 new file mode 100644 index 0000000..9c8ce7f --- /dev/null +++ b/docs/API/inherit_graph_28.md5 @@ -0,0 +1 @@ +5b19cc3c80d0ef9755d67a82f76b7cf8 \ No newline at end of file diff --git a/docs/API/inherit_graph_28.png b/docs/API/inherit_graph_28.png new file mode 100644 index 0000000..9a30efb Binary files /dev/null and b/docs/API/inherit_graph_28.png differ diff --git a/docs/API/inherit_graph_29.map b/docs/API/inherit_graph_29.map new file mode 100644 index 0000000..0051398 --- /dev/null +++ b/docs/API/inherit_graph_29.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_29.md5 b/docs/API/inherit_graph_29.md5 new file mode 100644 index 0000000..5644d05 --- /dev/null +++ b/docs/API/inherit_graph_29.md5 @@ -0,0 +1 @@ +4fa452eacddf9f7407cbc65be2d826fc \ No newline at end of file diff --git a/docs/API/inherit_graph_29.png b/docs/API/inherit_graph_29.png new file mode 100644 index 0000000..8780cfb Binary files /dev/null and b/docs/API/inherit_graph_29.png differ diff --git a/docs/API/inherit_graph_3.map b/docs/API/inherit_graph_3.map new file mode 100644 index 0000000..703f6d9 --- /dev/null +++ b/docs/API/inherit_graph_3.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_3.md5 b/docs/API/inherit_graph_3.md5 new file mode 100644 index 0000000..c003d91 --- /dev/null +++ b/docs/API/inherit_graph_3.md5 @@ -0,0 +1 @@ +596c62007a104898e1d299a2166319cf \ No newline at end of file diff --git a/docs/API/inherit_graph_3.png b/docs/API/inherit_graph_3.png new file mode 100644 index 0000000..5cb2aef Binary files /dev/null and b/docs/API/inherit_graph_3.png differ diff --git a/docs/API/inherit_graph_30.map b/docs/API/inherit_graph_30.map new file mode 100644 index 0000000..4ab952f --- /dev/null +++ b/docs/API/inherit_graph_30.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_30.md5 b/docs/API/inherit_graph_30.md5 new file mode 100644 index 0000000..ed5547d --- /dev/null +++ b/docs/API/inherit_graph_30.md5 @@ -0,0 +1 @@ +1852cd8ffd6cc924fae2671118044e80 \ No newline at end of file diff --git a/docs/API/inherit_graph_30.png b/docs/API/inherit_graph_30.png new file mode 100644 index 0000000..f29abc4 Binary files /dev/null and b/docs/API/inherit_graph_30.png differ diff --git a/docs/API/inherit_graph_31.map b/docs/API/inherit_graph_31.map new file mode 100644 index 0000000..af26bdc --- /dev/null +++ b/docs/API/inherit_graph_31.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_31.md5 b/docs/API/inherit_graph_31.md5 new file mode 100644 index 0000000..fcc2807 --- /dev/null +++ b/docs/API/inherit_graph_31.md5 @@ -0,0 +1 @@ +716a53567669404bdc7ead0dcbc10c8e \ No newline at end of file diff --git a/docs/API/inherit_graph_31.png b/docs/API/inherit_graph_31.png new file mode 100644 index 0000000..964d548 Binary files /dev/null and b/docs/API/inherit_graph_31.png differ diff --git a/docs/API/inherit_graph_32.map b/docs/API/inherit_graph_32.map new file mode 100644 index 0000000..616fac8 --- /dev/null +++ b/docs/API/inherit_graph_32.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_32.md5 b/docs/API/inherit_graph_32.md5 new file mode 100644 index 0000000..c1405f3 --- /dev/null +++ b/docs/API/inherit_graph_32.md5 @@ -0,0 +1 @@ +605a4f675c8f1f519a4601b1b11474ac \ No newline at end of file diff --git a/docs/API/inherit_graph_32.png b/docs/API/inherit_graph_32.png new file mode 100644 index 0000000..97dd5ab Binary files /dev/null and b/docs/API/inherit_graph_32.png differ diff --git a/docs/API/inherit_graph_33.map b/docs/API/inherit_graph_33.map new file mode 100644 index 0000000..2b52265 --- /dev/null +++ b/docs/API/inherit_graph_33.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_33.md5 b/docs/API/inherit_graph_33.md5 new file mode 100644 index 0000000..8bfc628 --- /dev/null +++ b/docs/API/inherit_graph_33.md5 @@ -0,0 +1 @@ +bc19144dce686b34f5273aa656310683 \ No newline at end of file diff --git a/docs/API/inherit_graph_33.png b/docs/API/inherit_graph_33.png new file mode 100644 index 0000000..f2fbd53 Binary files /dev/null and b/docs/API/inherit_graph_33.png differ diff --git a/docs/API/inherit_graph_34.map b/docs/API/inherit_graph_34.map new file mode 100644 index 0000000..666f037 --- /dev/null +++ b/docs/API/inherit_graph_34.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_34.md5 b/docs/API/inherit_graph_34.md5 new file mode 100644 index 0000000..58923e6 --- /dev/null +++ b/docs/API/inherit_graph_34.md5 @@ -0,0 +1 @@ +428733ab8e6493e4fbdfb711f2716055 \ No newline at end of file diff --git a/docs/API/inherit_graph_34.png b/docs/API/inherit_graph_34.png new file mode 100644 index 0000000..f2fbd53 Binary files /dev/null and b/docs/API/inherit_graph_34.png differ diff --git a/docs/API/inherit_graph_35.map b/docs/API/inherit_graph_35.map new file mode 100644 index 0000000..71387ae --- /dev/null +++ b/docs/API/inherit_graph_35.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_35.md5 b/docs/API/inherit_graph_35.md5 new file mode 100644 index 0000000..31836b5 --- /dev/null +++ b/docs/API/inherit_graph_35.md5 @@ -0,0 +1 @@ +acc2f9e506650bbc06315d36942c64ab \ No newline at end of file diff --git a/docs/API/inherit_graph_35.png b/docs/API/inherit_graph_35.png new file mode 100644 index 0000000..100be7d Binary files /dev/null and b/docs/API/inherit_graph_35.png differ diff --git a/docs/API/inherit_graph_36.map b/docs/API/inherit_graph_36.map new file mode 100644 index 0000000..b319c4d --- /dev/null +++ b/docs/API/inherit_graph_36.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_36.md5 b/docs/API/inherit_graph_36.md5 new file mode 100644 index 0000000..00293d2 --- /dev/null +++ b/docs/API/inherit_graph_36.md5 @@ -0,0 +1 @@ +39639d21bcac5b93f1c60d6d1a7cd358 \ No newline at end of file diff --git a/docs/API/inherit_graph_36.png b/docs/API/inherit_graph_36.png new file mode 100644 index 0000000..4fc930b Binary files /dev/null and b/docs/API/inherit_graph_36.png differ diff --git a/docs/API/inherit_graph_37.map b/docs/API/inherit_graph_37.map new file mode 100644 index 0000000..ee8d3a8 --- /dev/null +++ b/docs/API/inherit_graph_37.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_37.md5 b/docs/API/inherit_graph_37.md5 new file mode 100644 index 0000000..e7d7463 --- /dev/null +++ b/docs/API/inherit_graph_37.md5 @@ -0,0 +1 @@ +8435008e36b2701e27e2325eabe8fb51 \ No newline at end of file diff --git a/docs/API/inherit_graph_37.png b/docs/API/inherit_graph_37.png new file mode 100644 index 0000000..a176142 Binary files /dev/null and b/docs/API/inherit_graph_37.png differ diff --git a/docs/API/inherit_graph_38.map b/docs/API/inherit_graph_38.map new file mode 100644 index 0000000..2b79514 --- /dev/null +++ b/docs/API/inherit_graph_38.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_38.md5 b/docs/API/inherit_graph_38.md5 new file mode 100644 index 0000000..2fd53bc --- /dev/null +++ b/docs/API/inherit_graph_38.md5 @@ -0,0 +1 @@ +26712975ff236f36d388698765c8b2b4 \ No newline at end of file diff --git a/docs/API/inherit_graph_38.png b/docs/API/inherit_graph_38.png new file mode 100644 index 0000000..a1e05f7 Binary files /dev/null and b/docs/API/inherit_graph_38.png differ diff --git a/docs/API/inherit_graph_39.map b/docs/API/inherit_graph_39.map new file mode 100644 index 0000000..67ed3d6 --- /dev/null +++ b/docs/API/inherit_graph_39.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_39.md5 b/docs/API/inherit_graph_39.md5 new file mode 100644 index 0000000..0e03fd7 --- /dev/null +++ b/docs/API/inherit_graph_39.md5 @@ -0,0 +1 @@ +d3e19b49351e110b03c73da3ad014de5 \ No newline at end of file diff --git a/docs/API/inherit_graph_39.png b/docs/API/inherit_graph_39.png new file mode 100644 index 0000000..0396b32 Binary files /dev/null and b/docs/API/inherit_graph_39.png differ diff --git a/docs/API/inherit_graph_4.map b/docs/API/inherit_graph_4.map new file mode 100644 index 0000000..5d1960c --- /dev/null +++ b/docs/API/inherit_graph_4.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_4.md5 b/docs/API/inherit_graph_4.md5 new file mode 100644 index 0000000..6910f99 --- /dev/null +++ b/docs/API/inherit_graph_4.md5 @@ -0,0 +1 @@ +9a3ea9501ea4cb5c61ef04f4afb2dc27 \ No newline at end of file diff --git a/docs/API/inherit_graph_4.png b/docs/API/inherit_graph_4.png new file mode 100644 index 0000000..87be8c5 Binary files /dev/null and b/docs/API/inherit_graph_4.png differ diff --git a/docs/API/inherit_graph_40.map b/docs/API/inherit_graph_40.map new file mode 100644 index 0000000..bfd01d9 --- /dev/null +++ b/docs/API/inherit_graph_40.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_40.md5 b/docs/API/inherit_graph_40.md5 new file mode 100644 index 0000000..aa7ad6b --- /dev/null +++ b/docs/API/inherit_graph_40.md5 @@ -0,0 +1 @@ +e58b4f704887721d6aae7d0c71ad5654 \ No newline at end of file diff --git a/docs/API/inherit_graph_40.png b/docs/API/inherit_graph_40.png new file mode 100644 index 0000000..548fb5d Binary files /dev/null and b/docs/API/inherit_graph_40.png differ diff --git a/docs/API/inherit_graph_41.map b/docs/API/inherit_graph_41.map new file mode 100644 index 0000000..b566be6 --- /dev/null +++ b/docs/API/inherit_graph_41.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_41.md5 b/docs/API/inherit_graph_41.md5 new file mode 100644 index 0000000..b35d8e0 --- /dev/null +++ b/docs/API/inherit_graph_41.md5 @@ -0,0 +1 @@ +08392ca3f49777fdc05c191ff3f24828 \ No newline at end of file diff --git a/docs/API/inherit_graph_41.png b/docs/API/inherit_graph_41.png new file mode 100644 index 0000000..f8f9e34 Binary files /dev/null and b/docs/API/inherit_graph_41.png differ diff --git a/docs/API/inherit_graph_42.map b/docs/API/inherit_graph_42.map new file mode 100644 index 0000000..2c3e2f4 --- /dev/null +++ b/docs/API/inherit_graph_42.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_42.md5 b/docs/API/inherit_graph_42.md5 new file mode 100644 index 0000000..bae96de --- /dev/null +++ b/docs/API/inherit_graph_42.md5 @@ -0,0 +1 @@ +76d7707bf5862613e090af837f04d655 \ No newline at end of file diff --git a/docs/API/inherit_graph_42.png b/docs/API/inherit_graph_42.png new file mode 100644 index 0000000..6c93489 Binary files /dev/null and b/docs/API/inherit_graph_42.png differ diff --git a/docs/API/inherit_graph_43.map b/docs/API/inherit_graph_43.map new file mode 100644 index 0000000..911f3d7 --- /dev/null +++ b/docs/API/inherit_graph_43.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_43.md5 b/docs/API/inherit_graph_43.md5 new file mode 100644 index 0000000..5d5d34b --- /dev/null +++ b/docs/API/inherit_graph_43.md5 @@ -0,0 +1 @@ +fa39ff7e7080c5862fe7be8357ba837c \ No newline at end of file diff --git a/docs/API/inherit_graph_43.png b/docs/API/inherit_graph_43.png new file mode 100644 index 0000000..8701454 Binary files /dev/null and b/docs/API/inherit_graph_43.png differ diff --git a/docs/API/inherit_graph_44.map b/docs/API/inherit_graph_44.map new file mode 100644 index 0000000..4d13d8d --- /dev/null +++ b/docs/API/inherit_graph_44.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_44.md5 b/docs/API/inherit_graph_44.md5 new file mode 100644 index 0000000..ac8c1b0 --- /dev/null +++ b/docs/API/inherit_graph_44.md5 @@ -0,0 +1 @@ +a15c353225d711f3d22542c1f5a52c3e \ No newline at end of file diff --git a/docs/API/inherit_graph_44.png b/docs/API/inherit_graph_44.png new file mode 100644 index 0000000..8ca09da Binary files /dev/null and b/docs/API/inherit_graph_44.png differ diff --git a/docs/API/inherit_graph_45.map b/docs/API/inherit_graph_45.map new file mode 100644 index 0000000..2fe67e4 --- /dev/null +++ b/docs/API/inherit_graph_45.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_45.md5 b/docs/API/inherit_graph_45.md5 new file mode 100644 index 0000000..4225e80 --- /dev/null +++ b/docs/API/inherit_graph_45.md5 @@ -0,0 +1 @@ +0987e9e7eb7a84862dd5a378567b68af \ No newline at end of file diff --git a/docs/API/inherit_graph_45.png b/docs/API/inherit_graph_45.png new file mode 100644 index 0000000..16dc6e3 Binary files /dev/null and b/docs/API/inherit_graph_45.png differ diff --git a/docs/API/inherit_graph_46.map b/docs/API/inherit_graph_46.map new file mode 100644 index 0000000..f9c043e --- /dev/null +++ b/docs/API/inherit_graph_46.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_46.md5 b/docs/API/inherit_graph_46.md5 new file mode 100644 index 0000000..1d796f7 --- /dev/null +++ b/docs/API/inherit_graph_46.md5 @@ -0,0 +1 @@ +7f594ee4991e832f2f62a816c1adb616 \ No newline at end of file diff --git a/docs/API/inherit_graph_46.png b/docs/API/inherit_graph_46.png new file mode 100644 index 0000000..e5d276d Binary files /dev/null and b/docs/API/inherit_graph_46.png differ diff --git a/docs/API/inherit_graph_47.map b/docs/API/inherit_graph_47.map new file mode 100644 index 0000000..0e8946f --- /dev/null +++ b/docs/API/inherit_graph_47.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_47.md5 b/docs/API/inherit_graph_47.md5 new file mode 100644 index 0000000..1f5ae35 --- /dev/null +++ b/docs/API/inherit_graph_47.md5 @@ -0,0 +1 @@ +a43fdc9aa5c6e16cf2a967a5e6928a96 \ No newline at end of file diff --git a/docs/API/inherit_graph_47.png b/docs/API/inherit_graph_47.png new file mode 100644 index 0000000..08c8c32 Binary files /dev/null and b/docs/API/inherit_graph_47.png differ diff --git a/docs/API/inherit_graph_48.map b/docs/API/inherit_graph_48.map new file mode 100644 index 0000000..5fff738 --- /dev/null +++ b/docs/API/inherit_graph_48.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_48.md5 b/docs/API/inherit_graph_48.md5 new file mode 100644 index 0000000..c8bd044 --- /dev/null +++ b/docs/API/inherit_graph_48.md5 @@ -0,0 +1 @@ +3d17244aa519ff6b7099628e07660bf5 \ No newline at end of file diff --git a/docs/API/inherit_graph_48.png b/docs/API/inherit_graph_48.png new file mode 100644 index 0000000..0c29c62 Binary files /dev/null and b/docs/API/inherit_graph_48.png differ diff --git a/docs/API/inherit_graph_49.map b/docs/API/inherit_graph_49.map new file mode 100644 index 0000000..1a74ec4 --- /dev/null +++ b/docs/API/inherit_graph_49.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_49.md5 b/docs/API/inherit_graph_49.md5 new file mode 100644 index 0000000..20adb95 --- /dev/null +++ b/docs/API/inherit_graph_49.md5 @@ -0,0 +1 @@ +2ae7dbbac18a7c343603df01bd730bfb \ No newline at end of file diff --git a/docs/API/inherit_graph_49.png b/docs/API/inherit_graph_49.png new file mode 100644 index 0000000..762ff4a Binary files /dev/null and b/docs/API/inherit_graph_49.png differ diff --git a/docs/API/inherit_graph_5.map b/docs/API/inherit_graph_5.map new file mode 100644 index 0000000..1b3ce64 --- /dev/null +++ b/docs/API/inherit_graph_5.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_5.md5 b/docs/API/inherit_graph_5.md5 new file mode 100644 index 0000000..e1e471c --- /dev/null +++ b/docs/API/inherit_graph_5.md5 @@ -0,0 +1 @@ +16b58d3de99cc956585fe628fa519f50 \ No newline at end of file diff --git a/docs/API/inherit_graph_5.png b/docs/API/inherit_graph_5.png new file mode 100644 index 0000000..4dc345b Binary files /dev/null and b/docs/API/inherit_graph_5.png differ diff --git a/docs/API/inherit_graph_50.map b/docs/API/inherit_graph_50.map new file mode 100644 index 0000000..d668107 --- /dev/null +++ b/docs/API/inherit_graph_50.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_50.md5 b/docs/API/inherit_graph_50.md5 new file mode 100644 index 0000000..fa34643 --- /dev/null +++ b/docs/API/inherit_graph_50.md5 @@ -0,0 +1 @@ +71aa71f8c7f816ec300de84ede0e84f6 \ No newline at end of file diff --git a/docs/API/inherit_graph_50.png b/docs/API/inherit_graph_50.png new file mode 100644 index 0000000..7931f99 Binary files /dev/null and b/docs/API/inherit_graph_50.png differ diff --git a/docs/API/inherit_graph_51.map b/docs/API/inherit_graph_51.map new file mode 100644 index 0000000..e539d07 --- /dev/null +++ b/docs/API/inherit_graph_51.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_51.md5 b/docs/API/inherit_graph_51.md5 new file mode 100644 index 0000000..52376de --- /dev/null +++ b/docs/API/inherit_graph_51.md5 @@ -0,0 +1 @@ +f0a6770b3971080efbac6fa637556c85 \ No newline at end of file diff --git a/docs/API/inherit_graph_51.png b/docs/API/inherit_graph_51.png new file mode 100644 index 0000000..c15911a Binary files /dev/null and b/docs/API/inherit_graph_51.png differ diff --git a/docs/API/inherit_graph_52.map b/docs/API/inherit_graph_52.map new file mode 100644 index 0000000..d3b9637 --- /dev/null +++ b/docs/API/inherit_graph_52.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_52.md5 b/docs/API/inherit_graph_52.md5 new file mode 100644 index 0000000..863094c --- /dev/null +++ b/docs/API/inherit_graph_52.md5 @@ -0,0 +1 @@ +459ee51149be83bb2eece1287c6c35df \ No newline at end of file diff --git a/docs/API/inherit_graph_52.png b/docs/API/inherit_graph_52.png new file mode 100644 index 0000000..a201387 Binary files /dev/null and b/docs/API/inherit_graph_52.png differ diff --git a/docs/API/inherit_graph_53.map b/docs/API/inherit_graph_53.map new file mode 100644 index 0000000..8ec8c56 --- /dev/null +++ b/docs/API/inherit_graph_53.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/inherit_graph_53.md5 b/docs/API/inherit_graph_53.md5 new file mode 100644 index 0000000..1eb28d9 --- /dev/null +++ b/docs/API/inherit_graph_53.md5 @@ -0,0 +1 @@ +bcace30fc27a6f485d7c846bc37b36a9 \ No newline at end of file diff --git a/docs/API/inherit_graph_53.png b/docs/API/inherit_graph_53.png new file mode 100644 index 0000000..c9b8531 Binary files /dev/null and b/docs/API/inherit_graph_53.png differ diff --git a/docs/API/inherit_graph_54.map b/docs/API/inherit_graph_54.map new file mode 100644 index 0000000..dfcdeb2 --- /dev/null +++ b/docs/API/inherit_graph_54.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_54.md5 b/docs/API/inherit_graph_54.md5 new file mode 100644 index 0000000..2b58489 --- /dev/null +++ b/docs/API/inherit_graph_54.md5 @@ -0,0 +1 @@ +4c7c574936e842721e4cae96990db470 \ No newline at end of file diff --git a/docs/API/inherit_graph_54.png b/docs/API/inherit_graph_54.png new file mode 100644 index 0000000..54d3e58 Binary files /dev/null and b/docs/API/inherit_graph_54.png differ diff --git a/docs/API/inherit_graph_55.map b/docs/API/inherit_graph_55.map new file mode 100644 index 0000000..13ed246 --- /dev/null +++ b/docs/API/inherit_graph_55.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_55.md5 b/docs/API/inherit_graph_55.md5 new file mode 100644 index 0000000..84c44f8 --- /dev/null +++ b/docs/API/inherit_graph_55.md5 @@ -0,0 +1 @@ +ddffe2b5d9b5dc3824441dc1c72971cf \ No newline at end of file diff --git a/docs/API/inherit_graph_55.png b/docs/API/inherit_graph_55.png new file mode 100644 index 0000000..94c8a24 Binary files /dev/null and b/docs/API/inherit_graph_55.png differ diff --git a/docs/API/inherit_graph_56.map b/docs/API/inherit_graph_56.map new file mode 100644 index 0000000..dc7e385 --- /dev/null +++ b/docs/API/inherit_graph_56.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_56.md5 b/docs/API/inherit_graph_56.md5 new file mode 100644 index 0000000..b9fb5f0 --- /dev/null +++ b/docs/API/inherit_graph_56.md5 @@ -0,0 +1 @@ +493ff5f36323ab98255bf784c07cc1f8 \ No newline at end of file diff --git a/docs/API/inherit_graph_56.png b/docs/API/inherit_graph_56.png new file mode 100644 index 0000000..d71bb3e Binary files /dev/null and b/docs/API/inherit_graph_56.png differ diff --git a/docs/API/inherit_graph_57.map b/docs/API/inherit_graph_57.map new file mode 100644 index 0000000..c7c2e61 --- /dev/null +++ b/docs/API/inherit_graph_57.map @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/docs/API/inherit_graph_57.md5 b/docs/API/inherit_graph_57.md5 new file mode 100644 index 0000000..c45168b --- /dev/null +++ b/docs/API/inherit_graph_57.md5 @@ -0,0 +1 @@ +9db5153f499bf0ffeb55834e98d84a7f \ No newline at end of file diff --git a/docs/API/inherit_graph_57.png b/docs/API/inherit_graph_57.png new file mode 100644 index 0000000..236b094 Binary files /dev/null and b/docs/API/inherit_graph_57.png differ diff --git a/docs/API/inherit_graph_58.map b/docs/API/inherit_graph_58.map new file mode 100644 index 0000000..3e42699 --- /dev/null +++ b/docs/API/inherit_graph_58.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_58.md5 b/docs/API/inherit_graph_58.md5 new file mode 100644 index 0000000..d8afee7 --- /dev/null +++ b/docs/API/inherit_graph_58.md5 @@ -0,0 +1 @@ +6760f9be3b561216a1fef6c80ecbb4a0 \ No newline at end of file diff --git a/docs/API/inherit_graph_58.png b/docs/API/inherit_graph_58.png new file mode 100644 index 0000000..3d1dfb3 Binary files /dev/null and b/docs/API/inherit_graph_58.png differ diff --git a/docs/API/inherit_graph_59.map b/docs/API/inherit_graph_59.map new file mode 100644 index 0000000..367e948 --- /dev/null +++ b/docs/API/inherit_graph_59.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/inherit_graph_59.md5 b/docs/API/inherit_graph_59.md5 new file mode 100644 index 0000000..d21dd7f --- /dev/null +++ b/docs/API/inherit_graph_59.md5 @@ -0,0 +1 @@ +8c377569c9a077322fc6b9d415ef0b3e \ No newline at end of file diff --git a/docs/API/inherit_graph_59.png b/docs/API/inherit_graph_59.png new file mode 100644 index 0000000..42182cc Binary files /dev/null and b/docs/API/inherit_graph_59.png differ diff --git a/docs/API/inherit_graph_6.map b/docs/API/inherit_graph_6.map new file mode 100644 index 0000000..1cb0c80 --- /dev/null +++ b/docs/API/inherit_graph_6.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_6.md5 b/docs/API/inherit_graph_6.md5 new file mode 100644 index 0000000..1bd53aa --- /dev/null +++ b/docs/API/inherit_graph_6.md5 @@ -0,0 +1 @@ +f02e72a3255906d570320d74e27a49ce \ No newline at end of file diff --git a/docs/API/inherit_graph_6.png b/docs/API/inherit_graph_6.png new file mode 100644 index 0000000..f29b060 Binary files /dev/null and b/docs/API/inherit_graph_6.png differ diff --git a/docs/API/inherit_graph_60.map b/docs/API/inherit_graph_60.map new file mode 100644 index 0000000..e0ff203 --- /dev/null +++ b/docs/API/inherit_graph_60.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_60.md5 b/docs/API/inherit_graph_60.md5 new file mode 100644 index 0000000..6a1d3a5 --- /dev/null +++ b/docs/API/inherit_graph_60.md5 @@ -0,0 +1 @@ +29a13179305d49ffbd87feb1d3395bdc \ No newline at end of file diff --git a/docs/API/inherit_graph_60.png b/docs/API/inherit_graph_60.png new file mode 100644 index 0000000..ec25012 Binary files /dev/null and b/docs/API/inherit_graph_60.png differ diff --git a/docs/API/inherit_graph_61.map b/docs/API/inherit_graph_61.map new file mode 100644 index 0000000..88a08fa --- /dev/null +++ b/docs/API/inherit_graph_61.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_61.md5 b/docs/API/inherit_graph_61.md5 new file mode 100644 index 0000000..c4d8696 --- /dev/null +++ b/docs/API/inherit_graph_61.md5 @@ -0,0 +1 @@ +813f7387edda75368daffbf9ec2692ac \ No newline at end of file diff --git a/docs/API/inherit_graph_61.png b/docs/API/inherit_graph_61.png new file mode 100644 index 0000000..3317107 Binary files /dev/null and b/docs/API/inherit_graph_61.png differ diff --git a/docs/API/inherit_graph_62.map b/docs/API/inherit_graph_62.map new file mode 100644 index 0000000..c14b68a --- /dev/null +++ b/docs/API/inherit_graph_62.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_62.md5 b/docs/API/inherit_graph_62.md5 new file mode 100644 index 0000000..6dd66c5 --- /dev/null +++ b/docs/API/inherit_graph_62.md5 @@ -0,0 +1 @@ +2190edba2f1327c08e4eb37c834a144b \ No newline at end of file diff --git a/docs/API/inherit_graph_62.png b/docs/API/inherit_graph_62.png new file mode 100644 index 0000000..1390ab3 Binary files /dev/null and b/docs/API/inherit_graph_62.png differ diff --git a/docs/API/inherit_graph_63.map b/docs/API/inherit_graph_63.map new file mode 100644 index 0000000..615084b --- /dev/null +++ b/docs/API/inherit_graph_63.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_63.md5 b/docs/API/inherit_graph_63.md5 new file mode 100644 index 0000000..3d41fbe --- /dev/null +++ b/docs/API/inherit_graph_63.md5 @@ -0,0 +1 @@ +566e10c397b7ca3d0e6dde0143e9cca6 \ No newline at end of file diff --git a/docs/API/inherit_graph_63.png b/docs/API/inherit_graph_63.png new file mode 100644 index 0000000..5cea224 Binary files /dev/null and b/docs/API/inherit_graph_63.png differ diff --git a/docs/API/inherit_graph_64.map b/docs/API/inherit_graph_64.map new file mode 100644 index 0000000..cf4bfc4 --- /dev/null +++ b/docs/API/inherit_graph_64.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_64.md5 b/docs/API/inherit_graph_64.md5 new file mode 100644 index 0000000..b82a394 --- /dev/null +++ b/docs/API/inherit_graph_64.md5 @@ -0,0 +1 @@ +5cd5f5ccccf77b71dde7bc62a984169d \ No newline at end of file diff --git a/docs/API/inherit_graph_64.png b/docs/API/inherit_graph_64.png new file mode 100644 index 0000000..4356047 Binary files /dev/null and b/docs/API/inherit_graph_64.png differ diff --git a/docs/API/inherit_graph_65.map b/docs/API/inherit_graph_65.map new file mode 100644 index 0000000..21d47ab --- /dev/null +++ b/docs/API/inherit_graph_65.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_65.md5 b/docs/API/inherit_graph_65.md5 new file mode 100644 index 0000000..bba6304 --- /dev/null +++ b/docs/API/inherit_graph_65.md5 @@ -0,0 +1 @@ +e6bd1408735f58212545f7e70b15e24a \ No newline at end of file diff --git a/docs/API/inherit_graph_65.png b/docs/API/inherit_graph_65.png new file mode 100644 index 0000000..582fb88 Binary files /dev/null and b/docs/API/inherit_graph_65.png differ diff --git a/docs/API/inherit_graph_66.map b/docs/API/inherit_graph_66.map new file mode 100644 index 0000000..9371c4f --- /dev/null +++ b/docs/API/inherit_graph_66.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_66.md5 b/docs/API/inherit_graph_66.md5 new file mode 100644 index 0000000..861c30a --- /dev/null +++ b/docs/API/inherit_graph_66.md5 @@ -0,0 +1 @@ +e1c7cdc312bb1c33457d20864fa9bf12 \ No newline at end of file diff --git a/docs/API/inherit_graph_66.png b/docs/API/inherit_graph_66.png new file mode 100644 index 0000000..ecc6de0 Binary files /dev/null and b/docs/API/inherit_graph_66.png differ diff --git a/docs/API/inherit_graph_67.map b/docs/API/inherit_graph_67.map new file mode 100644 index 0000000..1daeb9d --- /dev/null +++ b/docs/API/inherit_graph_67.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_67.md5 b/docs/API/inherit_graph_67.md5 new file mode 100644 index 0000000..180ceb5 --- /dev/null +++ b/docs/API/inherit_graph_67.md5 @@ -0,0 +1 @@ +8b50f2bb4c707bb39d764e929255e59c \ No newline at end of file diff --git a/docs/API/inherit_graph_67.png b/docs/API/inherit_graph_67.png new file mode 100644 index 0000000..ab45677 Binary files /dev/null and b/docs/API/inherit_graph_67.png differ diff --git a/docs/API/inherit_graph_68.map b/docs/API/inherit_graph_68.map new file mode 100644 index 0000000..ebce4f6 --- /dev/null +++ b/docs/API/inherit_graph_68.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_68.md5 b/docs/API/inherit_graph_68.md5 new file mode 100644 index 0000000..6f30de4 --- /dev/null +++ b/docs/API/inherit_graph_68.md5 @@ -0,0 +1 @@ +ad6bdb767e28d6a481f9c487d62e5c69 \ No newline at end of file diff --git a/docs/API/inherit_graph_68.png b/docs/API/inherit_graph_68.png new file mode 100644 index 0000000..41c507e Binary files /dev/null and b/docs/API/inherit_graph_68.png differ diff --git a/docs/API/inherit_graph_69.map b/docs/API/inherit_graph_69.map new file mode 100644 index 0000000..a121f12 --- /dev/null +++ b/docs/API/inherit_graph_69.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_69.md5 b/docs/API/inherit_graph_69.md5 new file mode 100644 index 0000000..84f7ccd --- /dev/null +++ b/docs/API/inherit_graph_69.md5 @@ -0,0 +1 @@ +f760cc5a7ff3517a0bbb2814d08692db \ No newline at end of file diff --git a/docs/API/inherit_graph_69.png b/docs/API/inherit_graph_69.png new file mode 100644 index 0000000..2f70e87 Binary files /dev/null and b/docs/API/inherit_graph_69.png differ diff --git a/docs/API/inherit_graph_7.map b/docs/API/inherit_graph_7.map new file mode 100644 index 0000000..d2590eb --- /dev/null +++ b/docs/API/inherit_graph_7.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_7.md5 b/docs/API/inherit_graph_7.md5 new file mode 100644 index 0000000..2c30546 --- /dev/null +++ b/docs/API/inherit_graph_7.md5 @@ -0,0 +1 @@ +81b4303e3201353113dff99093b6f98c \ No newline at end of file diff --git a/docs/API/inherit_graph_7.png b/docs/API/inherit_graph_7.png new file mode 100644 index 0000000..bd36c7c Binary files /dev/null and b/docs/API/inherit_graph_7.png differ diff --git a/docs/API/inherit_graph_70.map b/docs/API/inherit_graph_70.map new file mode 100644 index 0000000..1004646 --- /dev/null +++ b/docs/API/inherit_graph_70.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_70.md5 b/docs/API/inherit_graph_70.md5 new file mode 100644 index 0000000..095a69b --- /dev/null +++ b/docs/API/inherit_graph_70.md5 @@ -0,0 +1 @@ +fa61015d8503b0eaf2ccfb3d88590e83 \ No newline at end of file diff --git a/docs/API/inherit_graph_70.png b/docs/API/inherit_graph_70.png new file mode 100644 index 0000000..eaf1a6a Binary files /dev/null and b/docs/API/inherit_graph_70.png differ diff --git a/docs/API/inherit_graph_71.map b/docs/API/inherit_graph_71.map new file mode 100644 index 0000000..4d969c3 --- /dev/null +++ b/docs/API/inherit_graph_71.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_71.md5 b/docs/API/inherit_graph_71.md5 new file mode 100644 index 0000000..35fe453 --- /dev/null +++ b/docs/API/inherit_graph_71.md5 @@ -0,0 +1 @@ +2442226d85da364d5984e48dc42ae3f8 \ No newline at end of file diff --git a/docs/API/inherit_graph_71.png b/docs/API/inherit_graph_71.png new file mode 100644 index 0000000..b3f743d Binary files /dev/null and b/docs/API/inherit_graph_71.png differ diff --git a/docs/API/inherit_graph_72.map b/docs/API/inherit_graph_72.map new file mode 100644 index 0000000..d14a26d --- /dev/null +++ b/docs/API/inherit_graph_72.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_72.md5 b/docs/API/inherit_graph_72.md5 new file mode 100644 index 0000000..38f4a0d --- /dev/null +++ b/docs/API/inherit_graph_72.md5 @@ -0,0 +1 @@ +26e42c430c0b92d15a982e86c95fcc8a \ No newline at end of file diff --git a/docs/API/inherit_graph_72.png b/docs/API/inherit_graph_72.png new file mode 100644 index 0000000..f8189fd Binary files /dev/null and b/docs/API/inherit_graph_72.png differ diff --git a/docs/API/inherit_graph_73.map b/docs/API/inherit_graph_73.map new file mode 100644 index 0000000..cb0b4c7 --- /dev/null +++ b/docs/API/inherit_graph_73.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_73.md5 b/docs/API/inherit_graph_73.md5 new file mode 100644 index 0000000..29d40cc --- /dev/null +++ b/docs/API/inherit_graph_73.md5 @@ -0,0 +1 @@ +ca15e1a5e3ebe0270de06b136e1bd3a3 \ No newline at end of file diff --git a/docs/API/inherit_graph_73.png b/docs/API/inherit_graph_73.png new file mode 100644 index 0000000..0e85ecf Binary files /dev/null and b/docs/API/inherit_graph_73.png differ diff --git a/docs/API/inherit_graph_74.map b/docs/API/inherit_graph_74.map new file mode 100644 index 0000000..58ab6b4 --- /dev/null +++ b/docs/API/inherit_graph_74.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_74.md5 b/docs/API/inherit_graph_74.md5 new file mode 100644 index 0000000..dc97d38 --- /dev/null +++ b/docs/API/inherit_graph_74.md5 @@ -0,0 +1 @@ +b842f29dc8784b8b23e903a99183939d \ No newline at end of file diff --git a/docs/API/inherit_graph_74.png b/docs/API/inherit_graph_74.png new file mode 100644 index 0000000..071ba68 Binary files /dev/null and b/docs/API/inherit_graph_74.png differ diff --git a/docs/API/inherit_graph_75.map b/docs/API/inherit_graph_75.map new file mode 100644 index 0000000..a540672 --- /dev/null +++ b/docs/API/inherit_graph_75.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_75.md5 b/docs/API/inherit_graph_75.md5 new file mode 100644 index 0000000..532db01 --- /dev/null +++ b/docs/API/inherit_graph_75.md5 @@ -0,0 +1 @@ +59326bdfa9e519cf71b4ec09afd263a2 \ No newline at end of file diff --git a/docs/API/inherit_graph_75.png b/docs/API/inherit_graph_75.png new file mode 100644 index 0000000..e1bd701 Binary files /dev/null and b/docs/API/inherit_graph_75.png differ diff --git a/docs/API/inherit_graph_76.map b/docs/API/inherit_graph_76.map new file mode 100644 index 0000000..1797f43 --- /dev/null +++ b/docs/API/inherit_graph_76.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_76.md5 b/docs/API/inherit_graph_76.md5 new file mode 100644 index 0000000..a1e1551 --- /dev/null +++ b/docs/API/inherit_graph_76.md5 @@ -0,0 +1 @@ +924912d45809053260c40a0aab2cb2bb \ No newline at end of file diff --git a/docs/API/inherit_graph_76.png b/docs/API/inherit_graph_76.png new file mode 100644 index 0000000..86f37fe Binary files /dev/null and b/docs/API/inherit_graph_76.png differ diff --git a/docs/API/inherit_graph_77.map b/docs/API/inherit_graph_77.map new file mode 100644 index 0000000..ae538dd --- /dev/null +++ b/docs/API/inherit_graph_77.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_77.md5 b/docs/API/inherit_graph_77.md5 new file mode 100644 index 0000000..364a8bc --- /dev/null +++ b/docs/API/inherit_graph_77.md5 @@ -0,0 +1 @@ +30a21f74deb31edc546be1694162b65b \ No newline at end of file diff --git a/docs/API/inherit_graph_77.png b/docs/API/inherit_graph_77.png new file mode 100644 index 0000000..dc48f2f Binary files /dev/null and b/docs/API/inherit_graph_77.png differ diff --git a/docs/API/inherit_graph_78.map b/docs/API/inherit_graph_78.map new file mode 100644 index 0000000..54909a7 --- /dev/null +++ b/docs/API/inherit_graph_78.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_78.md5 b/docs/API/inherit_graph_78.md5 new file mode 100644 index 0000000..83347e4 --- /dev/null +++ b/docs/API/inherit_graph_78.md5 @@ -0,0 +1 @@ +f0fcbd767aea590a9ad3b966d27830d6 \ No newline at end of file diff --git a/docs/API/inherit_graph_78.png b/docs/API/inherit_graph_78.png new file mode 100644 index 0000000..aeb4675 Binary files /dev/null and b/docs/API/inherit_graph_78.png differ diff --git a/docs/API/inherit_graph_79.map b/docs/API/inherit_graph_79.map new file mode 100644 index 0000000..753f97a --- /dev/null +++ b/docs/API/inherit_graph_79.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_79.md5 b/docs/API/inherit_graph_79.md5 new file mode 100644 index 0000000..0680441 --- /dev/null +++ b/docs/API/inherit_graph_79.md5 @@ -0,0 +1 @@ +3756c6518be7d66fd6b60bcdbbebf458 \ No newline at end of file diff --git a/docs/API/inherit_graph_79.png b/docs/API/inherit_graph_79.png new file mode 100644 index 0000000..bcbfcec Binary files /dev/null and b/docs/API/inherit_graph_79.png differ diff --git a/docs/API/inherit_graph_8.map b/docs/API/inherit_graph_8.map new file mode 100644 index 0000000..3410509 --- /dev/null +++ b/docs/API/inherit_graph_8.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_8.md5 b/docs/API/inherit_graph_8.md5 new file mode 100644 index 0000000..13a05f7 --- /dev/null +++ b/docs/API/inherit_graph_8.md5 @@ -0,0 +1 @@ +a80a53f6c7761638392ced3462f86e7e \ No newline at end of file diff --git a/docs/API/inherit_graph_8.png b/docs/API/inherit_graph_8.png new file mode 100644 index 0000000..1e7218a Binary files /dev/null and b/docs/API/inherit_graph_8.png differ diff --git a/docs/API/inherit_graph_80.map b/docs/API/inherit_graph_80.map new file mode 100644 index 0000000..7dd709c --- /dev/null +++ b/docs/API/inherit_graph_80.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_80.md5 b/docs/API/inherit_graph_80.md5 new file mode 100644 index 0000000..e728379 --- /dev/null +++ b/docs/API/inherit_graph_80.md5 @@ -0,0 +1 @@ +f1f3a0653202a68773eaae93464d0954 \ No newline at end of file diff --git a/docs/API/inherit_graph_80.png b/docs/API/inherit_graph_80.png new file mode 100644 index 0000000..073cdbc Binary files /dev/null and b/docs/API/inherit_graph_80.png differ diff --git a/docs/API/inherit_graph_81.map b/docs/API/inherit_graph_81.map new file mode 100644 index 0000000..da856f9 --- /dev/null +++ b/docs/API/inherit_graph_81.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_81.md5 b/docs/API/inherit_graph_81.md5 new file mode 100644 index 0000000..eb25953 --- /dev/null +++ b/docs/API/inherit_graph_81.md5 @@ -0,0 +1 @@ +05c3e8e9966432ea8cdd5ebceb35a708 \ No newline at end of file diff --git a/docs/API/inherit_graph_81.png b/docs/API/inherit_graph_81.png new file mode 100644 index 0000000..063f0f5 Binary files /dev/null and b/docs/API/inherit_graph_81.png differ diff --git a/docs/API/inherit_graph_82.map b/docs/API/inherit_graph_82.map new file mode 100644 index 0000000..50c59b5 --- /dev/null +++ b/docs/API/inherit_graph_82.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_82.md5 b/docs/API/inherit_graph_82.md5 new file mode 100644 index 0000000..b0ab890 --- /dev/null +++ b/docs/API/inherit_graph_82.md5 @@ -0,0 +1 @@ +48afcb6fb34b46bc055bfe36b579094f \ No newline at end of file diff --git a/docs/API/inherit_graph_82.png b/docs/API/inherit_graph_82.png new file mode 100644 index 0000000..914aa59 Binary files /dev/null and b/docs/API/inherit_graph_82.png differ diff --git a/docs/API/inherit_graph_83.map b/docs/API/inherit_graph_83.map new file mode 100644 index 0000000..d492ef0 --- /dev/null +++ b/docs/API/inherit_graph_83.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_83.md5 b/docs/API/inherit_graph_83.md5 new file mode 100644 index 0000000..4d9bb9c --- /dev/null +++ b/docs/API/inherit_graph_83.md5 @@ -0,0 +1 @@ +79cfab83841fc4085129b761a1697d9a \ No newline at end of file diff --git a/docs/API/inherit_graph_83.png b/docs/API/inherit_graph_83.png new file mode 100644 index 0000000..4c76f59 Binary files /dev/null and b/docs/API/inherit_graph_83.png differ diff --git a/docs/API/inherit_graph_84.map b/docs/API/inherit_graph_84.map new file mode 100644 index 0000000..f806176 --- /dev/null +++ b/docs/API/inherit_graph_84.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_84.md5 b/docs/API/inherit_graph_84.md5 new file mode 100644 index 0000000..3955238 --- /dev/null +++ b/docs/API/inherit_graph_84.md5 @@ -0,0 +1 @@ +5c01fac11451184fb7a6c60c99d5902c \ No newline at end of file diff --git a/docs/API/inherit_graph_84.png b/docs/API/inherit_graph_84.png new file mode 100644 index 0000000..7dc7acc Binary files /dev/null and b/docs/API/inherit_graph_84.png differ diff --git a/docs/API/inherit_graph_85.map b/docs/API/inherit_graph_85.map new file mode 100644 index 0000000..9a14bfd --- /dev/null +++ b/docs/API/inherit_graph_85.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_85.md5 b/docs/API/inherit_graph_85.md5 new file mode 100644 index 0000000..c95e7b4 --- /dev/null +++ b/docs/API/inherit_graph_85.md5 @@ -0,0 +1 @@ +6d488ef3f00ae492da5dcaaefcf22b68 \ No newline at end of file diff --git a/docs/API/inherit_graph_85.png b/docs/API/inherit_graph_85.png new file mode 100644 index 0000000..09d15ed Binary files /dev/null and b/docs/API/inherit_graph_85.png differ diff --git a/docs/API/inherit_graph_86.map b/docs/API/inherit_graph_86.map new file mode 100644 index 0000000..72afd05 --- /dev/null +++ b/docs/API/inherit_graph_86.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_86.md5 b/docs/API/inherit_graph_86.md5 new file mode 100644 index 0000000..d4c1e8b --- /dev/null +++ b/docs/API/inherit_graph_86.md5 @@ -0,0 +1 @@ +d14ba45758895781d6bf3e78d84ecbb8 \ No newline at end of file diff --git a/docs/API/inherit_graph_86.png b/docs/API/inherit_graph_86.png new file mode 100644 index 0000000..765a9c5 Binary files /dev/null and b/docs/API/inherit_graph_86.png differ diff --git a/docs/API/inherit_graph_87.map b/docs/API/inherit_graph_87.map new file mode 100644 index 0000000..bf62d60 --- /dev/null +++ b/docs/API/inherit_graph_87.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_87.md5 b/docs/API/inherit_graph_87.md5 new file mode 100644 index 0000000..9fdfe73 --- /dev/null +++ b/docs/API/inherit_graph_87.md5 @@ -0,0 +1 @@ +08beb7dbbc70419d9202913f2fe83700 \ No newline at end of file diff --git a/docs/API/inherit_graph_87.png b/docs/API/inherit_graph_87.png new file mode 100644 index 0000000..be98fa0 Binary files /dev/null and b/docs/API/inherit_graph_87.png differ diff --git a/docs/API/inherit_graph_88.map b/docs/API/inherit_graph_88.map new file mode 100644 index 0000000..e9d611e --- /dev/null +++ b/docs/API/inherit_graph_88.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_88.md5 b/docs/API/inherit_graph_88.md5 new file mode 100644 index 0000000..c269539 --- /dev/null +++ b/docs/API/inherit_graph_88.md5 @@ -0,0 +1 @@ +228d07422cffd47312c290ef3d4eb2be \ No newline at end of file diff --git a/docs/API/inherit_graph_88.png b/docs/API/inherit_graph_88.png new file mode 100644 index 0000000..29f6010 Binary files /dev/null and b/docs/API/inherit_graph_88.png differ diff --git a/docs/API/inherit_graph_89.map b/docs/API/inherit_graph_89.map new file mode 100644 index 0000000..581e43a --- /dev/null +++ b/docs/API/inherit_graph_89.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_89.md5 b/docs/API/inherit_graph_89.md5 new file mode 100644 index 0000000..a5ea59d --- /dev/null +++ b/docs/API/inherit_graph_89.md5 @@ -0,0 +1 @@ +a6edfbfb8e1254d352f3df9b0cb04c4c \ No newline at end of file diff --git a/docs/API/inherit_graph_89.png b/docs/API/inherit_graph_89.png new file mode 100644 index 0000000..dd7d96d Binary files /dev/null and b/docs/API/inherit_graph_89.png differ diff --git a/docs/API/inherit_graph_9.map b/docs/API/inherit_graph_9.map new file mode 100644 index 0000000..6584a95 --- /dev/null +++ b/docs/API/inherit_graph_9.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_9.md5 b/docs/API/inherit_graph_9.md5 new file mode 100644 index 0000000..7107ec2 --- /dev/null +++ b/docs/API/inherit_graph_9.md5 @@ -0,0 +1 @@ +24028121960260239c5c74ed57a608fb \ No newline at end of file diff --git a/docs/API/inherit_graph_9.png b/docs/API/inherit_graph_9.png new file mode 100644 index 0000000..c726244 Binary files /dev/null and b/docs/API/inherit_graph_9.png differ diff --git a/docs/API/inherit_graph_90.map b/docs/API/inherit_graph_90.map new file mode 100644 index 0000000..481ea54 --- /dev/null +++ b/docs/API/inherit_graph_90.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_90.md5 b/docs/API/inherit_graph_90.md5 new file mode 100644 index 0000000..204e0ad --- /dev/null +++ b/docs/API/inherit_graph_90.md5 @@ -0,0 +1 @@ +b335f4a5c98cf98034b244ac3bb9bb68 \ No newline at end of file diff --git a/docs/API/inherit_graph_90.png b/docs/API/inherit_graph_90.png new file mode 100644 index 0000000..9039506 Binary files /dev/null and b/docs/API/inherit_graph_90.png differ diff --git a/docs/API/inherit_graph_91.map b/docs/API/inherit_graph_91.map new file mode 100644 index 0000000..f17ee56 --- /dev/null +++ b/docs/API/inherit_graph_91.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_91.md5 b/docs/API/inherit_graph_91.md5 new file mode 100644 index 0000000..49d9d66 --- /dev/null +++ b/docs/API/inherit_graph_91.md5 @@ -0,0 +1 @@ +a0c162578179b6d78cc27a71f6f19cfc \ No newline at end of file diff --git a/docs/API/inherit_graph_91.png b/docs/API/inherit_graph_91.png new file mode 100644 index 0000000..ec3eb02 Binary files /dev/null and b/docs/API/inherit_graph_91.png differ diff --git a/docs/API/inherit_graph_92.map b/docs/API/inherit_graph_92.map new file mode 100644 index 0000000..38a906a --- /dev/null +++ b/docs/API/inherit_graph_92.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_92.md5 b/docs/API/inherit_graph_92.md5 new file mode 100644 index 0000000..5f8a9d9 --- /dev/null +++ b/docs/API/inherit_graph_92.md5 @@ -0,0 +1 @@ +8fb337d0029fb50d8da1c376c7d29301 \ No newline at end of file diff --git a/docs/API/inherit_graph_92.png b/docs/API/inherit_graph_92.png new file mode 100644 index 0000000..298f55a Binary files /dev/null and b/docs/API/inherit_graph_92.png differ diff --git a/docs/API/inherit_graph_93.map b/docs/API/inherit_graph_93.map new file mode 100644 index 0000000..d5e3757 --- /dev/null +++ b/docs/API/inherit_graph_93.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_93.md5 b/docs/API/inherit_graph_93.md5 new file mode 100644 index 0000000..db2307b --- /dev/null +++ b/docs/API/inherit_graph_93.md5 @@ -0,0 +1 @@ +d5a12951f094ce057fb528e80ca4abe3 \ No newline at end of file diff --git a/docs/API/inherit_graph_93.png b/docs/API/inherit_graph_93.png new file mode 100644 index 0000000..f5167bc Binary files /dev/null and b/docs/API/inherit_graph_93.png differ diff --git a/docs/API/inherit_graph_94.map b/docs/API/inherit_graph_94.map new file mode 100644 index 0000000..959f531 --- /dev/null +++ b/docs/API/inherit_graph_94.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_94.md5 b/docs/API/inherit_graph_94.md5 new file mode 100644 index 0000000..fd435ac --- /dev/null +++ b/docs/API/inherit_graph_94.md5 @@ -0,0 +1 @@ +e5a2ab95dce70f1353c11bb9000befd7 \ No newline at end of file diff --git a/docs/API/inherit_graph_94.png b/docs/API/inherit_graph_94.png new file mode 100644 index 0000000..645e887 Binary files /dev/null and b/docs/API/inherit_graph_94.png differ diff --git a/docs/API/inherit_graph_95.map b/docs/API/inherit_graph_95.map new file mode 100644 index 0000000..f1d190d --- /dev/null +++ b/docs/API/inherit_graph_95.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_95.md5 b/docs/API/inherit_graph_95.md5 new file mode 100644 index 0000000..45247c6 --- /dev/null +++ b/docs/API/inherit_graph_95.md5 @@ -0,0 +1 @@ +71b9b5d3abc9b23f5dd6bc968f6ad564 \ No newline at end of file diff --git a/docs/API/inherit_graph_95.png b/docs/API/inherit_graph_95.png new file mode 100644 index 0000000..78fd4e1 Binary files /dev/null and b/docs/API/inherit_graph_95.png differ diff --git a/docs/API/inherit_graph_96.map b/docs/API/inherit_graph_96.map new file mode 100644 index 0000000..b4025ef --- /dev/null +++ b/docs/API/inherit_graph_96.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_96.md5 b/docs/API/inherit_graph_96.md5 new file mode 100644 index 0000000..72ca2aa --- /dev/null +++ b/docs/API/inherit_graph_96.md5 @@ -0,0 +1 @@ +11eb92b0e11d74229d0deff4219c1dd6 \ No newline at end of file diff --git a/docs/API/inherit_graph_96.png b/docs/API/inherit_graph_96.png new file mode 100644 index 0000000..6493d03 Binary files /dev/null and b/docs/API/inherit_graph_96.png differ diff --git a/docs/API/inherit_graph_97.map b/docs/API/inherit_graph_97.map new file mode 100644 index 0000000..974046b --- /dev/null +++ b/docs/API/inherit_graph_97.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_97.md5 b/docs/API/inherit_graph_97.md5 new file mode 100644 index 0000000..ed5cd10 --- /dev/null +++ b/docs/API/inherit_graph_97.md5 @@ -0,0 +1 @@ +f8e335d8f74f8ba7a69f74481e5d7c2f \ No newline at end of file diff --git a/docs/API/inherit_graph_97.png b/docs/API/inherit_graph_97.png new file mode 100644 index 0000000..d88e261 Binary files /dev/null and b/docs/API/inherit_graph_97.png differ diff --git a/docs/API/inherit_graph_98.map b/docs/API/inherit_graph_98.map new file mode 100644 index 0000000..06874f1 --- /dev/null +++ b/docs/API/inherit_graph_98.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_98.md5 b/docs/API/inherit_graph_98.md5 new file mode 100644 index 0000000..791b82e --- /dev/null +++ b/docs/API/inherit_graph_98.md5 @@ -0,0 +1 @@ +5fa36d82b5969aace35ccb31f11f67c2 \ No newline at end of file diff --git a/docs/API/inherit_graph_98.png b/docs/API/inherit_graph_98.png new file mode 100644 index 0000000..fcf670f Binary files /dev/null and b/docs/API/inherit_graph_98.png differ diff --git a/docs/API/inherit_graph_99.map b/docs/API/inherit_graph_99.map new file mode 100644 index 0000000..2254024 --- /dev/null +++ b/docs/API/inherit_graph_99.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/inherit_graph_99.md5 b/docs/API/inherit_graph_99.md5 new file mode 100644 index 0000000..b18362d --- /dev/null +++ b/docs/API/inherit_graph_99.md5 @@ -0,0 +1 @@ +395fff2463a8f36c90c8aafc59517bb1 \ No newline at end of file diff --git a/docs/API/inherit_graph_99.png b/docs/API/inherit_graph_99.png new file mode 100644 index 0000000..04fb06c Binary files /dev/null and b/docs/API/inherit_graph_99.png differ diff --git a/docs/API/inherits.html b/docs/API/inherits.html new file mode 100644 index 0000000..239baf8 --- /dev/null +++ b/docs/API/inherits.html @@ -0,0 +1,805 @@ + + + + + + + +o-du/phy: Class Hierarchy + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
Class Hierarchy
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + + +
+ + + +
+ + + +
+ + + +
+ + + + + + + + + + + + + +
+ + + +
+ + + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+
+ + + + diff --git a/docs/API/init__sys__functional_8cc.html b/docs/API/init__sys__functional_8cc.html new file mode 100644 index 0000000..9556015 --- /dev/null +++ b/docs/API/init__sys__functional_8cc.html @@ -0,0 +1,795 @@ + + + + + + + +o-du/phy: init_sys_functional.cc File Reference + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
init_sys_functional.cc File Reference
+
+
+
#include "common.hpp"
+#include "xran_fh_o_du.h"
+#include "xran_cp_api.h"
+#include "xran_lib_wrap.hpp"
+#include "xran_common.h"
+#include "ethdi.h"
+#include <stdint.h>
+#include <iostream>
+#include <vector>
+#include <string>
+
+Include dependency graph for init_sys_functional.cc:
+
+
+ + + + + + + + + + + + + + + +
+
+

Go to the source code of this file.

+ + + + +

+Data Structures

class  Init_Sys_Check
 
+ + + +

+Macros

#define NUM_OF_SUBFRAME_PER_FRAME   10
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

void physide_sym_call_back (void *param)
 
int physide_dl_tti_call_back (void *param)
 
int physide_ul_half_slot_call_back (void *param)
 
int physide_ul_full_slot_call_back (void *param)
 
void xran_fh_rx_callback (void *pCallbackTag, xran_status_t status)
 
void xran_fh_rx_prach_callback (void *pCallbackTag, xran_status_t status)
 
 TEST_P (Init_Sys_Check, Test_Open_Close)
 
 TEST_P (Init_Sys_Check, Test_xran_mm_init)
 
 TEST_P (Init_Sys_Check, Test_xran_get_common_counters)
 
 TEST_P (Init_Sys_Check, Test_xran_get_slot_idx)
 
 TEST_P (Init_Sys_Check, Test_xran_reg_physide_cb)
 
 TEST_P (Init_Sys_Check, Test_xran_reg_sym_cb)
 
 TEST_P (Init_Sys_Check, Test_xran_mm_destroy)
 
 TEST_P (Init_Sys_Check, Test_xran_start_stop)
 
 INSTANTIATE_TEST_CASE_P (UnitTest, Init_Sys_Check, testing::ValuesIn(get_sequence(Init_Sys_Check::get_number_of_cases("init_sys_functional"))))
 
+ + + + + +

+Variables

const std::string module_name = "init_sys_functional"
 
enum xran_if_state xran_if_current_state
 
+

Macro Definition Documentation

+ +

◆ NUM_OF_SUBFRAME_PER_FRAME

+ +
+
+ + + + +
#define NUM_OF_SUBFRAME_PER_FRAME   10
+
+ +
+
+

Function Documentation

+ +

◆ INSTANTIATE_TEST_CASE_P()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
INSTANTIATE_TEST_CASE_P (UnitTest ,
Init_Sys_Check ,
testing::ValuesIn(get_sequence(Init_Sys_Check::get_number_of_cases("init_sys_functional")))  
)
+
+
+Here is the caller graph for this function:
+
+
+ + + +
+ +
+
+ +

◆ physide_dl_tti_call_back()

+ +
+
+ + + + + + + + +
int physide_dl_tti_call_back (void * param)
+
+ +

Definition at line 45 of file init_sys_functional.cc.

+
+Here is the caller graph for this function:
+
+
+ + + +
+ +
+
+ +

◆ physide_sym_call_back()

+ +
+
+ + + + + + + + +
void physide_sym_call_back (void * param)
+
+ +

Definition at line 39 of file init_sys_functional.cc.

+
+Here is the caller graph for this function:
+
+
+ + + +
+ +
+
+ +

◆ physide_ul_full_slot_call_back()

+ +
+
+ + + + + + + + +
int physide_ul_full_slot_call_back (void * param)
+
+ +

Definition at line 57 of file init_sys_functional.cc.

+
+Here is the caller graph for this function:
+
+
+ + + +
+ +
+
+ +

◆ physide_ul_half_slot_call_back()

+ +
+
+ + + + + + + + +
int physide_ul_half_slot_call_back (void * param)
+
+ +

Definition at line 51 of file init_sys_functional.cc.

+
+Here is the caller graph for this function:
+
+
+ + + +
+ +
+
+ +

◆ TEST_P() [1/8]

+ +
+
+ + + + + + + + + + + + + + + + + + +
TEST_P (Init_Sys_Check ,
Test_Open_Close  
)
+
+ +

Definition at line 112 of file init_sys_functional.cc.

+
+Here is the call graph for this function:
+
+
+ + + +
+
+Here is the caller graph for this function:
+
+
+ + + +
+ +
+
+ +

◆ TEST_P() [2/8]

+ +
+
+ + + + + + + + + + + + + + + + + + +
TEST_P (Init_Sys_Check ,
Test_xran_mm_init  
)
+
+ +

Definition at line 120 of file init_sys_functional.cc.

+
+Here is the call graph for this function:
+
+
+ + + + + + + + + + + + + + + + +
+ +
+
+ +

◆ TEST_P() [3/8]

+ +
+
+ + + + + + + + + + + + + + + + + + +
TEST_P (Init_Sys_Check ,
Test_xran_get_common_counters  
)
+
+ +

Definition at line 210 of file init_sys_functional.cc.

+
+Here is the call graph for this function:
+
+
+ + + + +
+ +
+
+ +

◆ TEST_P() [4/8]

+ +
+
+ + + + + + + + + + + + + + + + + + +
TEST_P (Init_Sys_Check ,
Test_xran_get_slot_idx  
)
+
+ +

Definition at line 226 of file init_sys_functional.cc.

+
+Here is the call graph for this function:
+
+
+ + + +
+ +
+
+ +

◆ TEST_P() [5/8]

+ +
+
+ + + + + + + + + + + + + + + + + + +
TEST_P (Init_Sys_Check ,
Test_xran_reg_physide_cb  
)
+
+ +

Definition at line 244 of file init_sys_functional.cc.

+
+Here is the call graph for this function:
+
+
+ + + + + + + + + + +
+ +
+
+ +

◆ TEST_P() [6/8]

+ +
+
+ + + + + + + + + + + + + + + + + + +
TEST_P (Init_Sys_Check ,
Test_xran_reg_sym_cb  
)
+
+ +

Definition at line 268 of file init_sys_functional.cc.

+
+Here is the call graph for this function:
+
+
+ + + + + + +
+ +
+
+ +

◆ TEST_P() [7/8]

+ +
+
+ + + + + + + + + + + + + + + + + + +
TEST_P (Init_Sys_Check ,
Test_xran_mm_destroy  
)
+
+ +

Definition at line 274 of file init_sys_functional.cc.

+
+Here is the call graph for this function:
+
+
+ + + + + +
+ +
+
+ +

◆ TEST_P() [8/8]

+ +
+
+ + + + + + + + + + + + + + + + + + +
TEST_P (Init_Sys_Check ,
Test_xran_start_stop  
)
+
+ +

Definition at line 280 of file init_sys_functional.cc.

+
+Here is the call graph for this function:
+
+
+ + + + + + + + + + + + + +
+ +
+
+ +

◆ xran_fh_rx_callback()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void xran_fh_rx_callback (void * pCallbackTag,
xran_status_t status 
)
+
+ +

Definition at line 63 of file init_sys_functional.cc.

+
+Here is the caller graph for this function:
+
+
+ + + + +
+ +
+
+ +

◆ xran_fh_rx_prach_callback()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void xran_fh_rx_prach_callback (void * pCallbackTag,
xran_status_t status 
)
+
+ +

Definition at line 69 of file init_sys_functional.cc.

+
+Here is the caller graph for this function:
+
+
+ + + + +
+ +
+
+

Variable Documentation

+ +

◆ module_name

+ +
+
+ + + + +
const std::string module_name = "init_sys_functional"
+
+ +

Definition at line 35 of file init_sys_functional.cc.

+ +
+
+ +

◆ xran_if_current_state

+ +
+
+ + + + +
enum xran_if_state xran_if_current_state
+
+ +

Definition at line 75 of file ethdi.c.

+ +
+
+
+ + + + diff --git a/docs/API/init__sys__functional_8cc__incl.map b/docs/API/init__sys__functional_8cc__incl.map new file mode 100644 index 0000000..199d835 --- /dev/null +++ b/docs/API/init__sys__functional_8cc__incl.map @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/docs/API/init__sys__functional_8cc__incl.md5 b/docs/API/init__sys__functional_8cc__incl.md5 new file mode 100644 index 0000000..08758a3 --- /dev/null +++ b/docs/API/init__sys__functional_8cc__incl.md5 @@ -0,0 +1 @@ +6133a9f1d8a106fd1191bfbe0789845a \ No newline at end of file diff --git a/docs/API/init__sys__functional_8cc__incl.png b/docs/API/init__sys__functional_8cc__incl.png new file mode 100644 index 0000000..e2ea6b1 Binary files /dev/null and b/docs/API/init__sys__functional_8cc__incl.png differ diff --git a/docs/API/init__sys__functional_8cc_a03935019c7cdf89f54e582fbaf9bff76_cgraph.map b/docs/API/init__sys__functional_8cc_a03935019c7cdf89f54e582fbaf9bff76_cgraph.map new file mode 100644 index 0000000..fc0b0eb --- /dev/null +++ b/docs/API/init__sys__functional_8cc_a03935019c7cdf89f54e582fbaf9bff76_cgraph.map @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/docs/API/init__sys__functional_8cc_a03935019c7cdf89f54e582fbaf9bff76_cgraph.md5 b/docs/API/init__sys__functional_8cc_a03935019c7cdf89f54e582fbaf9bff76_cgraph.md5 new file mode 100644 index 0000000..3c63db5 --- /dev/null +++ b/docs/API/init__sys__functional_8cc_a03935019c7cdf89f54e582fbaf9bff76_cgraph.md5 @@ -0,0 +1 @@ +678e56d5ffa081b1679e044275cd0552 \ No newline at end of file diff --git a/docs/API/init__sys__functional_8cc_a03935019c7cdf89f54e582fbaf9bff76_cgraph.png b/docs/API/init__sys__functional_8cc_a03935019c7cdf89f54e582fbaf9bff76_cgraph.png new file mode 100644 index 0000000..32f01f5 Binary files /dev/null and b/docs/API/init__sys__functional_8cc_a03935019c7cdf89f54e582fbaf9bff76_cgraph.png differ diff --git a/docs/API/init__sys__functional_8cc_a2f5cc4dc3c9d4a042cab8024cb7278c3_icgraph.map b/docs/API/init__sys__functional_8cc_a2f5cc4dc3c9d4a042cab8024cb7278c3_icgraph.map new file mode 100644 index 0000000..73cce08 --- /dev/null +++ b/docs/API/init__sys__functional_8cc_a2f5cc4dc3c9d4a042cab8024cb7278c3_icgraph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/init__sys__functional_8cc_a2f5cc4dc3c9d4a042cab8024cb7278c3_icgraph.md5 b/docs/API/init__sys__functional_8cc_a2f5cc4dc3c9d4a042cab8024cb7278c3_icgraph.md5 new file mode 100644 index 0000000..2ce8bf3 --- /dev/null +++ b/docs/API/init__sys__functional_8cc_a2f5cc4dc3c9d4a042cab8024cb7278c3_icgraph.md5 @@ -0,0 +1 @@ +1da85cfa4b27e3e3edbeaa9b48e9be34 \ No newline at end of file diff --git a/docs/API/init__sys__functional_8cc_a2f5cc4dc3c9d4a042cab8024cb7278c3_icgraph.png b/docs/API/init__sys__functional_8cc_a2f5cc4dc3c9d4a042cab8024cb7278c3_icgraph.png new file mode 100644 index 0000000..6fe274c Binary files /dev/null and b/docs/API/init__sys__functional_8cc_a2f5cc4dc3c9d4a042cab8024cb7278c3_icgraph.png differ diff --git a/docs/API/init__sys__functional_8cc_a52c968a559117b66a05591f958da75c2_icgraph.map b/docs/API/init__sys__functional_8cc_a52c968a559117b66a05591f958da75c2_icgraph.map new file mode 100644 index 0000000..399924f --- /dev/null +++ b/docs/API/init__sys__functional_8cc_a52c968a559117b66a05591f958da75c2_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/init__sys__functional_8cc_a52c968a559117b66a05591f958da75c2_icgraph.md5 b/docs/API/init__sys__functional_8cc_a52c968a559117b66a05591f958da75c2_icgraph.md5 new file mode 100644 index 0000000..9f98a66 --- /dev/null +++ b/docs/API/init__sys__functional_8cc_a52c968a559117b66a05591f958da75c2_icgraph.md5 @@ -0,0 +1 @@ +83083be169f48ab64063de8e8712d92a \ No newline at end of file diff --git a/docs/API/init__sys__functional_8cc_a52c968a559117b66a05591f958da75c2_icgraph.png b/docs/API/init__sys__functional_8cc_a52c968a559117b66a05591f958da75c2_icgraph.png new file mode 100644 index 0000000..eeb4b3d Binary files /dev/null and b/docs/API/init__sys__functional_8cc_a52c968a559117b66a05591f958da75c2_icgraph.png differ diff --git a/docs/API/init__sys__functional_8cc_a593270c79e8ce298caeb715272c65173_cgraph.map b/docs/API/init__sys__functional_8cc_a593270c79e8ce298caeb715272c65173_cgraph.map new file mode 100644 index 0000000..4c92b76 --- /dev/null +++ b/docs/API/init__sys__functional_8cc_a593270c79e8ce298caeb715272c65173_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/init__sys__functional_8cc_a593270c79e8ce298caeb715272c65173_cgraph.md5 b/docs/API/init__sys__functional_8cc_a593270c79e8ce298caeb715272c65173_cgraph.md5 new file mode 100644 index 0000000..9f797a0 --- /dev/null +++ b/docs/API/init__sys__functional_8cc_a593270c79e8ce298caeb715272c65173_cgraph.md5 @@ -0,0 +1 @@ +72aa7f43de8c0aa245a0e6b777321e55 \ No newline at end of file diff --git a/docs/API/init__sys__functional_8cc_a593270c79e8ce298caeb715272c65173_cgraph.png b/docs/API/init__sys__functional_8cc_a593270c79e8ce298caeb715272c65173_cgraph.png new file mode 100644 index 0000000..0f64ef4 Binary files /dev/null and b/docs/API/init__sys__functional_8cc_a593270c79e8ce298caeb715272c65173_cgraph.png differ diff --git a/docs/API/init__sys__functional_8cc_a74a4819defc7dbd1cfa7e793456be743_cgraph.map b/docs/API/init__sys__functional_8cc_a74a4819defc7dbd1cfa7e793456be743_cgraph.map new file mode 100644 index 0000000..8e77964 --- /dev/null +++ b/docs/API/init__sys__functional_8cc_a74a4819defc7dbd1cfa7e793456be743_cgraph.map @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/docs/API/init__sys__functional_8cc_a74a4819defc7dbd1cfa7e793456be743_cgraph.md5 b/docs/API/init__sys__functional_8cc_a74a4819defc7dbd1cfa7e793456be743_cgraph.md5 new file mode 100644 index 0000000..850e033 --- /dev/null +++ b/docs/API/init__sys__functional_8cc_a74a4819defc7dbd1cfa7e793456be743_cgraph.md5 @@ -0,0 +1 @@ +e7586637c5c2ee271b5be6958cb5dff9 \ No newline at end of file diff --git a/docs/API/init__sys__functional_8cc_a74a4819defc7dbd1cfa7e793456be743_cgraph.png b/docs/API/init__sys__functional_8cc_a74a4819defc7dbd1cfa7e793456be743_cgraph.png new file mode 100644 index 0000000..7a8db4c Binary files /dev/null and b/docs/API/init__sys__functional_8cc_a74a4819defc7dbd1cfa7e793456be743_cgraph.png differ diff --git a/docs/API/init__sys__functional_8cc_a7b1dc2a3c7a3d8e2eb7f2616417feb75_cgraph.map b/docs/API/init__sys__functional_8cc_a7b1dc2a3c7a3d8e2eb7f2616417feb75_cgraph.map new file mode 100644 index 0000000..e8ad25a --- /dev/null +++ b/docs/API/init__sys__functional_8cc_a7b1dc2a3c7a3d8e2eb7f2616417feb75_cgraph.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/API/init__sys__functional_8cc_a7b1dc2a3c7a3d8e2eb7f2616417feb75_cgraph.md5 b/docs/API/init__sys__functional_8cc_a7b1dc2a3c7a3d8e2eb7f2616417feb75_cgraph.md5 new file mode 100644 index 0000000..c65a717 --- /dev/null +++ b/docs/API/init__sys__functional_8cc_a7b1dc2a3c7a3d8e2eb7f2616417feb75_cgraph.md5 @@ -0,0 +1 @@ +85d6124c5b1243236f29f0d92f483d46 \ No newline at end of file diff --git a/docs/API/init__sys__functional_8cc_a7b1dc2a3c7a3d8e2eb7f2616417feb75_cgraph.png b/docs/API/init__sys__functional_8cc_a7b1dc2a3c7a3d8e2eb7f2616417feb75_cgraph.png new file mode 100644 index 0000000..bcb1ef2 Binary files /dev/null and b/docs/API/init__sys__functional_8cc_a7b1dc2a3c7a3d8e2eb7f2616417feb75_cgraph.png differ diff --git a/docs/API/init__sys__functional_8cc_a874ba95e7c465e83ccc26ab623eec60c_icgraph.map b/docs/API/init__sys__functional_8cc_a874ba95e7c465e83ccc26ab623eec60c_icgraph.map new file mode 100644 index 0000000..344d397 --- /dev/null +++ b/docs/API/init__sys__functional_8cc_a874ba95e7c465e83ccc26ab623eec60c_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/init__sys__functional_8cc_a874ba95e7c465e83ccc26ab623eec60c_icgraph.md5 b/docs/API/init__sys__functional_8cc_a874ba95e7c465e83ccc26ab623eec60c_icgraph.md5 new file mode 100644 index 0000000..8943c14 --- /dev/null +++ b/docs/API/init__sys__functional_8cc_a874ba95e7c465e83ccc26ab623eec60c_icgraph.md5 @@ -0,0 +1 @@ +7197bbef07200e32f933081bd2acbe3d \ No newline at end of file diff --git a/docs/API/init__sys__functional_8cc_a874ba95e7c465e83ccc26ab623eec60c_icgraph.png b/docs/API/init__sys__functional_8cc_a874ba95e7c465e83ccc26ab623eec60c_icgraph.png new file mode 100644 index 0000000..e3cfd82 Binary files /dev/null and b/docs/API/init__sys__functional_8cc_a874ba95e7c465e83ccc26ab623eec60c_icgraph.png differ diff --git a/docs/API/init__sys__functional_8cc_a8e9607426b34de712f7d450018d0dc05_cgraph.map b/docs/API/init__sys__functional_8cc_a8e9607426b34de712f7d450018d0dc05_cgraph.map new file mode 100644 index 0000000..950593c --- /dev/null +++ b/docs/API/init__sys__functional_8cc_a8e9607426b34de712f7d450018d0dc05_cgraph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/init__sys__functional_8cc_a8e9607426b34de712f7d450018d0dc05_cgraph.md5 b/docs/API/init__sys__functional_8cc_a8e9607426b34de712f7d450018d0dc05_cgraph.md5 new file mode 100644 index 0000000..ad703ad --- /dev/null +++ b/docs/API/init__sys__functional_8cc_a8e9607426b34de712f7d450018d0dc05_cgraph.md5 @@ -0,0 +1 @@ +84695030ea508c0b18d97975fad52758 \ No newline at end of file diff --git a/docs/API/init__sys__functional_8cc_a8e9607426b34de712f7d450018d0dc05_cgraph.png b/docs/API/init__sys__functional_8cc_a8e9607426b34de712f7d450018d0dc05_cgraph.png new file mode 100644 index 0000000..462defb Binary files /dev/null and b/docs/API/init__sys__functional_8cc_a8e9607426b34de712f7d450018d0dc05_cgraph.png differ diff --git a/docs/API/init__sys__functional_8cc_a9796d6da0db5312f3ddffc3c43038daf_cgraph.map b/docs/API/init__sys__functional_8cc_a9796d6da0db5312f3ddffc3c43038daf_cgraph.map new file mode 100644 index 0000000..33c7cae --- /dev/null +++ b/docs/API/init__sys__functional_8cc_a9796d6da0db5312f3ddffc3c43038daf_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/init__sys__functional_8cc_a9796d6da0db5312f3ddffc3c43038daf_cgraph.md5 b/docs/API/init__sys__functional_8cc_a9796d6da0db5312f3ddffc3c43038daf_cgraph.md5 new file mode 100644 index 0000000..0aeeb78 --- /dev/null +++ b/docs/API/init__sys__functional_8cc_a9796d6da0db5312f3ddffc3c43038daf_cgraph.md5 @@ -0,0 +1 @@ +1c006f8af158dbf9889fb30badc5132c \ No newline at end of file diff --git a/docs/API/init__sys__functional_8cc_a9796d6da0db5312f3ddffc3c43038daf_cgraph.png b/docs/API/init__sys__functional_8cc_a9796d6da0db5312f3ddffc3c43038daf_cgraph.png new file mode 100644 index 0000000..3a0036c Binary files /dev/null and b/docs/API/init__sys__functional_8cc_a9796d6da0db5312f3ddffc3c43038daf_cgraph.png differ diff --git a/docs/API/init__sys__functional_8cc_a9796d6da0db5312f3ddffc3c43038daf_icgraph.map b/docs/API/init__sys__functional_8cc_a9796d6da0db5312f3ddffc3c43038daf_icgraph.map new file mode 100644 index 0000000..7b853c8 --- /dev/null +++ b/docs/API/init__sys__functional_8cc_a9796d6da0db5312f3ddffc3c43038daf_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/init__sys__functional_8cc_a9796d6da0db5312f3ddffc3c43038daf_icgraph.md5 b/docs/API/init__sys__functional_8cc_a9796d6da0db5312f3ddffc3c43038daf_icgraph.md5 new file mode 100644 index 0000000..d6281b1 --- /dev/null +++ b/docs/API/init__sys__functional_8cc_a9796d6da0db5312f3ddffc3c43038daf_icgraph.md5 @@ -0,0 +1 @@ +7494125d4c5dad331972f39b759fc5ee \ No newline at end of file diff --git a/docs/API/init__sys__functional_8cc_a9796d6da0db5312f3ddffc3c43038daf_icgraph.png b/docs/API/init__sys__functional_8cc_a9796d6da0db5312f3ddffc3c43038daf_icgraph.png new file mode 100644 index 0000000..52f3adb Binary files /dev/null and b/docs/API/init__sys__functional_8cc_a9796d6da0db5312f3ddffc3c43038daf_icgraph.png differ diff --git a/docs/API/init__sys__functional_8cc_aa8882d42d07fbd9750da4db4395b438c_icgraph.map b/docs/API/init__sys__functional_8cc_aa8882d42d07fbd9750da4db4395b438c_icgraph.map new file mode 100644 index 0000000..b519759 --- /dev/null +++ b/docs/API/init__sys__functional_8cc_aa8882d42d07fbd9750da4db4395b438c_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/init__sys__functional_8cc_aa8882d42d07fbd9750da4db4395b438c_icgraph.md5 b/docs/API/init__sys__functional_8cc_aa8882d42d07fbd9750da4db4395b438c_icgraph.md5 new file mode 100644 index 0000000..7b48171 --- /dev/null +++ b/docs/API/init__sys__functional_8cc_aa8882d42d07fbd9750da4db4395b438c_icgraph.md5 @@ -0,0 +1 @@ +4d25f398854a37083492056b5ff59c3c \ No newline at end of file diff --git a/docs/API/init__sys__functional_8cc_aa8882d42d07fbd9750da4db4395b438c_icgraph.png b/docs/API/init__sys__functional_8cc_aa8882d42d07fbd9750da4db4395b438c_icgraph.png new file mode 100644 index 0000000..bb9ad1a Binary files /dev/null and b/docs/API/init__sys__functional_8cc_aa8882d42d07fbd9750da4db4395b438c_icgraph.png differ diff --git a/docs/API/init__sys__functional_8cc_ab1c8965491e6ac59bfcb56b9fc182f1b_icgraph.map b/docs/API/init__sys__functional_8cc_ab1c8965491e6ac59bfcb56b9fc182f1b_icgraph.map new file mode 100644 index 0000000..1ef59de --- /dev/null +++ b/docs/API/init__sys__functional_8cc_ab1c8965491e6ac59bfcb56b9fc182f1b_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/init__sys__functional_8cc_ab1c8965491e6ac59bfcb56b9fc182f1b_icgraph.md5 b/docs/API/init__sys__functional_8cc_ab1c8965491e6ac59bfcb56b9fc182f1b_icgraph.md5 new file mode 100644 index 0000000..a03148f --- /dev/null +++ b/docs/API/init__sys__functional_8cc_ab1c8965491e6ac59bfcb56b9fc182f1b_icgraph.md5 @@ -0,0 +1 @@ +1fe27df3d74e0beee89c53b0ef553f6f \ No newline at end of file diff --git a/docs/API/init__sys__functional_8cc_ab1c8965491e6ac59bfcb56b9fc182f1b_icgraph.png b/docs/API/init__sys__functional_8cc_ab1c8965491e6ac59bfcb56b9fc182f1b_icgraph.png new file mode 100644 index 0000000..f435981 Binary files /dev/null and b/docs/API/init__sys__functional_8cc_ab1c8965491e6ac59bfcb56b9fc182f1b_icgraph.png differ diff --git a/docs/API/init__sys__functional_8cc_ac2f03036711a42868a78783b735097e5_cgraph.map b/docs/API/init__sys__functional_8cc_ac2f03036711a42868a78783b735097e5_cgraph.map new file mode 100644 index 0000000..ae9e530 --- /dev/null +++ b/docs/API/init__sys__functional_8cc_ac2f03036711a42868a78783b735097e5_cgraph.map @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/docs/API/init__sys__functional_8cc_ac2f03036711a42868a78783b735097e5_cgraph.md5 b/docs/API/init__sys__functional_8cc_ac2f03036711a42868a78783b735097e5_cgraph.md5 new file mode 100644 index 0000000..4278301 --- /dev/null +++ b/docs/API/init__sys__functional_8cc_ac2f03036711a42868a78783b735097e5_cgraph.md5 @@ -0,0 +1 @@ +9f471e3930f16a722776476c89526285 \ No newline at end of file diff --git a/docs/API/init__sys__functional_8cc_ac2f03036711a42868a78783b735097e5_cgraph.png b/docs/API/init__sys__functional_8cc_ac2f03036711a42868a78783b735097e5_cgraph.png new file mode 100644 index 0000000..343a638 Binary files /dev/null and b/docs/API/init__sys__functional_8cc_ac2f03036711a42868a78783b735097e5_cgraph.png differ diff --git a/docs/API/init__sys__functional_8cc_ac6a3121934d1301a33197c857bd61391_icgraph.map b/docs/API/init__sys__functional_8cc_ac6a3121934d1301a33197c857bd61391_icgraph.map new file mode 100644 index 0000000..9cae457 --- /dev/null +++ b/docs/API/init__sys__functional_8cc_ac6a3121934d1301a33197c857bd61391_icgraph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/init__sys__functional_8cc_ac6a3121934d1301a33197c857bd61391_icgraph.md5 b/docs/API/init__sys__functional_8cc_ac6a3121934d1301a33197c857bd61391_icgraph.md5 new file mode 100644 index 0000000..bbd372e --- /dev/null +++ b/docs/API/init__sys__functional_8cc_ac6a3121934d1301a33197c857bd61391_icgraph.md5 @@ -0,0 +1 @@ +f7df45432cc2cc0083eaa9ab4b00be41 \ No newline at end of file diff --git a/docs/API/init__sys__functional_8cc_ac6a3121934d1301a33197c857bd61391_icgraph.png b/docs/API/init__sys__functional_8cc_ac6a3121934d1301a33197c857bd61391_icgraph.png new file mode 100644 index 0000000..b9d7a41 Binary files /dev/null and b/docs/API/init__sys__functional_8cc_ac6a3121934d1301a33197c857bd61391_icgraph.png differ diff --git a/docs/API/init__sys__functional_8cc_ae5f944f4eff8e2963b83b56f208a114d_cgraph.map b/docs/API/init__sys__functional_8cc_ae5f944f4eff8e2963b83b56f208a114d_cgraph.map new file mode 100644 index 0000000..a3a0f21 --- /dev/null +++ b/docs/API/init__sys__functional_8cc_ae5f944f4eff8e2963b83b56f208a114d_cgraph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/API/init__sys__functional_8cc_ae5f944f4eff8e2963b83b56f208a114d_cgraph.md5 b/docs/API/init__sys__functional_8cc_ae5f944f4eff8e2963b83b56f208a114d_cgraph.md5 new file mode 100644 index 0000000..1467b8b --- /dev/null +++ b/docs/API/init__sys__functional_8cc_ae5f944f4eff8e2963b83b56f208a114d_cgraph.md5 @@ -0,0 +1 @@ +712e3e71d248d3157184f6c594d15b57 \ No newline at end of file diff --git a/docs/API/init__sys__functional_8cc_ae5f944f4eff8e2963b83b56f208a114d_cgraph.png b/docs/API/init__sys__functional_8cc_ae5f944f4eff8e2963b83b56f208a114d_cgraph.png new file mode 100644 index 0000000..8a7631a Binary files /dev/null and b/docs/API/init__sys__functional_8cc_ae5f944f4eff8e2963b83b56f208a114d_cgraph.png differ diff --git a/docs/API/init__sys__functional_8cc_af2d879cc67de3a1216ff63cbcea4183d_icgraph.map b/docs/API/init__sys__functional_8cc_af2d879cc67de3a1216ff63cbcea4183d_icgraph.map new file mode 100644 index 0000000..37d325e --- /dev/null +++ b/docs/API/init__sys__functional_8cc_af2d879cc67de3a1216ff63cbcea4183d_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/init__sys__functional_8cc_af2d879cc67de3a1216ff63cbcea4183d_icgraph.md5 b/docs/API/init__sys__functional_8cc_af2d879cc67de3a1216ff63cbcea4183d_icgraph.md5 new file mode 100644 index 0000000..148c60a --- /dev/null +++ b/docs/API/init__sys__functional_8cc_af2d879cc67de3a1216ff63cbcea4183d_icgraph.md5 @@ -0,0 +1 @@ +8410e7e148e28e2d06d0ff2b7c64c8b2 \ No newline at end of file diff --git a/docs/API/init__sys__functional_8cc_af2d879cc67de3a1216ff63cbcea4183d_icgraph.png b/docs/API/init__sys__functional_8cc_af2d879cc67de3a1216ff63cbcea4183d_icgraph.png new file mode 100644 index 0000000..17e8eeb Binary files /dev/null and b/docs/API/init__sys__functional_8cc_af2d879cc67de3a1216ff63cbcea4183d_icgraph.png differ diff --git a/docs/API/init__sys__functional_8cc_source.html b/docs/API/init__sys__functional_8cc_source.html new file mode 100644 index 0000000..e40d4c9 --- /dev/null +++ b/docs/API/init__sys__functional_8cc_source.html @@ -0,0 +1,165 @@ + + + + + + + +o-du/phy: init_sys_functional.cc Source File + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
init_sys_functional.cc
+
+
+Go to the documentation of this file.
1 /******************************************************************************
2 *
3 * Copyright (c) 2019 Intel.
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 *
17 *******************************************************************************/
18 
19 
20 #include "common.hpp"
21 #include "xran_fh_o_du.h"
22 #include "xran_cp_api.h"
23 #include "xran_lib_wrap.hpp"
24 #include "xran_common.h"
25 #include "ethdi.h"
26 
27 #include <stdint.h>
28 #include <iostream>
29 #include <vector>
30 #include <string>
31 
32 
33 
34 using namespace std;
35 const std::string module_name = "init_sys_functional";
36 
38 
39 void physide_sym_call_back(void * param)
40 {
41  rte_pause();
42  return;
43 }
44 
45 int physide_dl_tti_call_back(void * param)
46 {
47  rte_pause();
48  return 0;
49 }
50 
52 {
53  rte_pause();
54  return 0;
55 }
56 
58 {
59  rte_pause();
60  return 0;
61 }
62 
63 void xran_fh_rx_callback(void *pCallbackTag, xran_status_t status)
64 {
65  rte_pause();
66  return;
67 }
68 
69 void xran_fh_rx_prach_callback(void *pCallbackTag, xran_status_t status)
70 {
71 
72  rte_pause();
73 }
74 
76 {
77 protected:
78 
79  void SetUp() override
80  {
81  xranlib->Init();
82  xranlib->Open(nullptr, nullptr, (void *)xran_fh_rx_callback, (void *)xran_fh_rx_prach_callback);
83  }
84 
85  /* It's called after an execution of the each test case.*/
86  void TearDown() override
87  {
88  xranlib->Close();
89  xranlib->Cleanup();
90  }
91 
92 public:
93 
99 
100  /* buffers lists */
106 
107  void* nInstanceHandle[XRAN_PORTS_NUM][XRAN_MAX_SECTOR_NR]; // instance per sector
109  uint16_t nInstanceNum;
110 };
111 
112 TEST_P(Init_Sys_Check, Test_Open_Close)
113 {
114  struct xran_device_ctx * p_xran_dev_ctx = xran_dev_get_ctx();
115  /* check stat of lib */
116  ASSERT_EQ(1, p_xran_dev_ctx->enableCP);
117  ASSERT_EQ(1, p_xran_dev_ctx->xran2phy_mem_ready);
118 }
119 
120 TEST_P(Init_Sys_Check, Test_xran_mm_init)
121 {
122  int16_t ret = 0;
124  ASSERT_EQ(0, ret);
125 }
126 
127 /* this case cannot be tested since memory cannot be initialized twice */
128 /* memory initialization is moved to the wrapper class */
129 #if 0
130 TEST_P(Init_Sys_Check, Test_xran_bm_init_alloc_free)
131 {
132  int16_t ret = 0;
133  void *ptr;
134  void *mb;
135  uint32_t nSW_ToFpga_FTH_TxBufferLen = 13168; /* 273*12*4 + 64*/
136  int16_t k = 0;
137 
138 
144 
146 
147  for (k = 0; k < XRAN_PORTS_NUM; k++) {
149  ASSERT_EQ(0, ret);
150  ASSERT_EQ(1, Init_Sys_Check::nInstanceNum);
151  }
152 
153 
157  ASSERT_EQ(0, ret);
158 
160  ASSERT_EQ(0, ret);
161  ASSERT_NE(ptr, nullptr);
162  ASSERT_NE(mb, nullptr);
163 
165  ASSERT_EQ(0, ret);
166 
167 
168 
169  for(int i=0; i< xranlib->get_num_cc(); i++)
170  {
171  for(int j=0; j<XRAN_N_FE_BUF_LEN; j++)
172  {
173  for(int z = 0; z < XRAN_MAX_ANTENNA_NR; z++){
174  pFthTxBuffer[i][z][j] = &(Init_Sys_Check::sFrontHaulTxBbuIoBufCtrl[j][i][z].sBufferList);
175  pFthTxPrbMapBuffer[i][z][j] = &(Init_Sys_Check::sFrontHaulTxPrbMapBbuIoBufCtrl[j][i][z].sBufferList);
176  pFthRxBuffer[i][z][j] = &(Init_Sys_Check::sFrontHaulRxBbuIoBufCtrl[j][i][z].sBufferList);
177  pFthRxPrbMapBuffer[i][z][j] = &(Init_Sys_Check::sFrontHaulRxPrbMapBbuIoBufCtrl[j][i][z].sBufferList);
178  pFthRxRachBuffer[i][z][j] = &(Init_Sys_Check::sFHPrachRxBbuIoBufCtrl[j][i][z].sBufferList);
179  }
180  }
181  }
182 
183  if(NULL != Init_Sys_Check::nInstanceHandle[0])
184  {
185  for (int i = 0; i < xranlib->get_num_cc(); i++)
186  {
188  pFthTxBuffer[i],
189  pFthTxPrbMapBuffer[i],
190  pFthRxBuffer[i],
191  pFthRxPrbMapBuffer[i],
192  xran_fh_rx_callback, &pFthRxBuffer[i][0]);
193 
194  ASSERT_EQ(0, ret);
195  }
196 
197  // add prach callback here
198  for (int i = 0; i < xranlib->get_num_cc(); i++)
199  {
200  ret = xran_5g_prach_req(Init_Sys_Check::nInstanceHandle[0][i], pFthRxRachBuffer[i],
201  xran_fh_rx_prach_callback,&pFthRxRachBuffer[i][0]);
202  ASSERT_EQ(0, ret);
203  }
204  }
205 
206 
207 }
208 #endif
209 
210 TEST_P(Init_Sys_Check, Test_xran_get_common_counters)
211 {
212  int16_t ret = 0;
213  struct xran_common_counters x_counters;
214 
215  ret = xran_get_common_counters(xranlib->get_xranhandle(), &x_counters);
216 
217  ASSERT_EQ(0, ret);
218  ASSERT_EQ(0, x_counters.Rx_on_time);
219  ASSERT_EQ(0, x_counters.Rx_early);
220  ASSERT_EQ(0, x_counters.Rx_late);
221  ASSERT_EQ(0, x_counters.Rx_corrupt);
222  ASSERT_EQ(0, x_counters.Rx_pkt_dupl);
223  ASSERT_EQ(0, x_counters.Total_msgs_rcvd);
224 }
225 
226 TEST_P(Init_Sys_Check, Test_xran_get_slot_idx)
227 {
228 #define NUM_OF_SUBFRAME_PER_FRAME 10
229  int32_t nNrOfSlotInSf = 1;
230  int32_t nSfIdx = -1;
231  uint32_t nFrameIdx;
232  uint32_t nSubframeIdx;
233  uint32_t nSlotIdx;
234  uint64_t nSecond;
235 
236  uint32_t nXranTime = xran_get_slot_idx(&nFrameIdx, &nSubframeIdx, &nSlotIdx, &nSecond);
237  nSfIdx = nFrameIdx*NUM_OF_SUBFRAME_PER_FRAME*nNrOfSlotInSf
238  + nSubframeIdx*nNrOfSlotInSf
239  + nSlotIdx;
240 
241  ASSERT_EQ(0, nSfIdx);
242 }
243 
244 TEST_P(Init_Sys_Check, Test_xran_reg_physide_cb)
245 {
246  struct xran_device_ctx * p_xran_dev_ctx = xran_dev_get_ctx();
247  int16_t ret = 0;
249  ASSERT_EQ(0,ret);
250  ASSERT_EQ(physide_dl_tti_call_back, p_xran_dev_ctx->ttiCb[XRAN_CB_TTI]);
251  ASSERT_EQ(NULL, p_xran_dev_ctx->TtiCbParam[XRAN_CB_TTI]);
252  ASSERT_EQ(10, p_xran_dev_ctx->SkipTti[XRAN_CB_TTI]);
253 
255  ASSERT_EQ(0,ret);
256  ASSERT_EQ(physide_ul_half_slot_call_back, p_xran_dev_ctx->ttiCb[XRAN_CB_HALF_SLOT_RX]);
257  ASSERT_EQ(NULL, p_xran_dev_ctx->TtiCbParam[XRAN_CB_HALF_SLOT_RX]);
258  ASSERT_EQ(10, p_xran_dev_ctx->SkipTti[XRAN_CB_HALF_SLOT_RX]);
259 
261  ASSERT_EQ(0,ret);
262  ASSERT_EQ(physide_ul_full_slot_call_back, p_xran_dev_ctx->ttiCb[XRAN_CB_FULL_SLOT_RX]);
263  ASSERT_EQ(NULL, p_xran_dev_ctx->TtiCbParam[XRAN_CB_FULL_SLOT_RX]);
264  ASSERT_EQ(10, p_xran_dev_ctx->SkipTti[XRAN_CB_FULL_SLOT_RX]);
265 
266 }
267 
268 TEST_P(Init_Sys_Check, Test_xran_reg_sym_cb){
269  int16_t ret = 0;
271  ASSERT_EQ(-1,ret);
272 }
273 
274 TEST_P(Init_Sys_Check, Test_xran_mm_destroy){
275  int16_t ret = 0;
277  ASSERT_EQ(-1,ret);
278 }
279 
280 TEST_P(Init_Sys_Check, Test_xran_start_stop){
281  int16_t ret = 0;
283  ret = xranlib->Start();
284  ASSERT_EQ(0,ret);
286  ret = xranlib->Stop();
287  ASSERT_EQ(0,ret);
289 }
290 
292  testing::ValuesIn(get_sequence(Init_Sys_Check::get_number_of_cases("init_sys_functional"))));
293 
294 
295 
int32_t xran_get_common_counters(void *pXranLayerHandle, struct xran_common_counters *pStats)
Definition: xran_main.c:3074
+
enum xran_if_state xran_if_current_state
Definition: ethdi.c:75
+
void * TtiCbParam[XRAN_CB_MAX]
Definition: xran_common.h:253
+ +
#define XRAN_N_FE_BUF_LEN
Definition: xran_fh_o_du.h:109
+ + +
void SetUp() override
+
void xran_fh_rx_callback(void *pCallbackTag, xran_status_t status)
+
BbuIoBufCtrlStruct sFrontHaulRxPrbMapBbuIoBufCtrl[XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR]
+
int32_t xran_reg_sym_cb(void *pHandle, xran_callback_sym_fn symCb, void *symCbParam, uint8_t symb, uint8_t ant)
Definition: xran_main.c:2888
+
static unsigned get_number_of_cases(const std::string &type)
Definition: common.hpp:190
+ +
int32_t xran_mm_init(void *pHandle, uint64_t nMemorySize, uint32_t nMemorySegmentSize)
Definition: xran_main.c:2447
+
TEST_P(Init_Sys_Check, Test_Open_Close)
+
const std::string module_name
+ + +
void * nInstanceHandle[XRAN_PORTS_NUM][XRAN_MAX_SECTOR_NR]
+ +
int32_t xran_bm_init(void *pHandle, uint32_t *pPoolIndex, uint32_t nNumberOfBuffers, uint32_t nBufferSize)
Definition: xran_main.c:2454
+
#define XRAN_MAX_SECTOR_NR
Definition: xran_fh_o_du.h:110
+
int32_t xran_get_slot_idx(uint32_t *nFrameIdx, uint32_t *nSubframeIdx, uint32_t *nSlotIdx, uint64_t *nSecond)
Definition: xran_main.c:2936
+ +
Definition: json.hpp:12898
+ + + +
#define XRAN_MAX_ANTENNA_NR
Definition: xran_fh_o_du.h:111
+
int physide_ul_full_slot_call_back(void *param)
+
#define XRAN_PORTS_NUM
Definition: xran_fh_o_du.h:108
+ + +
xran_fh_tti_callback_fn ttiCb[XRAN_CB_MAX]
Definition: xran_common.h:252
+
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)
Definition: xran_main.c:2636
+
BbuIoBufCtrlStruct sFHPrachRxBbuIoBufCtrl[XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR]
+ + +
struct xran_device_ctx * xran_dev_get_ctx(void)
Definition: xran_main.c:223
+
int32_t xran_mm_destroy(void *pHandle)
Definition: xran_main.c:2877
+
uint32_t enableCP
Definition: xran_common.h:213
+
void xran_fh_rx_prach_callback(void *pCallbackTag, xran_status_t status)
+
uint32_t nSW_ToFpga_FTH_TxBufferLen
Definition: sample-app.c:73
+ + + +
xran_if_state
Definition: xran_fh_o_du.h:189
+
int physide_ul_half_slot_call_back(void *param)
+
#define SW_FPGA_FH_TOTAL_BUFFER_LEN
Definition: sample-app.c:51
+ +
#define SW_FPGA_SEGMENT_BUFFER_LEN
Definition: sample-app.c:50
+
int32_t xran_bm_allocate_buffer(void *pHandle, uint32_t nPoolIndex, void **ppData, void **ppCtrl)
Definition: xran_main.c:2499
+
This file has all definitions for the Ethernet Data Interface Layer.
+ +
int32_t xran_bm_free_buffer(void *pHandle, void *pData, void *pCtrl)
Definition: xran_main.c:2541
+
uint32_t SkipTti[XRAN_CB_MAX]
Definition: xran_common.h:254
+ +
BbuIoBufCtrlStruct sFrontHaulRxBbuIoBufCtrl[XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR]
+
void TearDown() override
+
XRAN layer common functionality for both lls-CU and RU as well as C-plane and U-plane.
+
INSTANTIATE_TEST_CASE_P(UnitTest, Init_Sys_Check, testing::ValuesIn(get_sequence(Init_Sys_Check::get_number_of_cases("init_sys_functional"))))
+ +
BbuIoBufCtrlStruct sFrontHaulTxBbuIoBufCtrl[XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR]
+ +
#define XRAN_NUM_OF_SYMBOL_PER_SLOT
Definition: xran_fh_o_du.h:122
+
void physide_sym_call_back(void *param)
+
This file provides public interface to xRAN Front Haul layer implementation as defined in the ORAN-WG...
+
int32_t xran_sector_get_instances(void *pHandle, uint16_t nNumInstances, xran_cc_handle_t *pSectorInstanceHandles)
Definition: xran_main.c:2408
+
struct xran_buffer_list sBufferList
Definition: sample-app.c:129
+
int Init(struct xran_fh_config *pCfg=nullptr)
+ +
BbuIoBufCtrlStruct sFrontHaulTxPrbMapBbuIoBufCtrl[XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR]
+
void Open(xran_ethdi_mbuf_send_fn send_cp, xran_ethdi_mbuf_send_fn send_up, void *fh_rx_callback, void *fh_rx_prach_callback)
+ +
#define NUM_OF_SUBFRAME_PER_FRAME
+
xranLibWraper * xranlib
+
uint32_t nBufPoolIndex[XRAN_MAX_SECTOR_NR][xranLibWraper::MAX_SW_XRAN_INTERFACE_NUM]
+
std::vector< unsigned > get_sequence(const unsigned number)
For a given number return sequence of number from 0 to number - 1.
Definition: common.cpp:78
+
void * get_xranhandle()
+
This file provides the definitions for Control Plane Messages APIs.
+ +
int32_t xran_reg_physide_cb(void *pHandle, xran_fh_tti_callback_fn Cb, void *cbParam, int skipTtiNum, enum callback_to_phy_id)
Definition: xran_main.c:2900
+
int physide_dl_tti_call_back(void *param)
+
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)
Definition: xran_main.c:2551
+ +
int32_t xran_status_t
Definition: xran_fh_o_du.h:236
+ +
+ + + + diff --git a/docs/API/jquery.js b/docs/API/jquery.js new file mode 100644 index 0000000..f5343ed --- /dev/null +++ b/docs/API/jquery.js @@ -0,0 +1,87 @@ +/*! + * jQuery JavaScript Library v1.7.1 + * http://jquery.com/ + * + * Copyright 2011, John Resig + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * + * Date: Mon Nov 21 21:11:03 2011 -0500 + */ +(function(bb,L){var av=bb.document,bu=bb.navigator,bl=bb.location;var b=(function(){var bF=function(b0,b1){return new bF.fn.init(b0,b1,bD)},bU=bb.jQuery,bH=bb.$,bD,bY=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,bM=/\S/,bI=/^\s+/,bE=/\s+$/,bA=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,bN=/^[\],:{}\s]*$/,bW=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,bP=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,bJ=/(?:^|:|,)(?:\s*\[)+/g,by=/(webkit)[ \/]([\w.]+)/,bR=/(opera)(?:.*version)?[ \/]([\w.]+)/,bQ=/(msie) ([\w.]+)/,bS=/(mozilla)(?:.*? rv:([\w.]+))?/,bB=/-([a-z]|[0-9])/ig,bZ=/^-ms-/,bT=function(b0,b1){return(b1+"").toUpperCase()},bX=bu.userAgent,bV,bC,e,bL=Object.prototype.toString,bG=Object.prototype.hasOwnProperty,bz=Array.prototype.push,bK=Array.prototype.slice,bO=String.prototype.trim,bv=Array.prototype.indexOf,bx={};bF.fn=bF.prototype={constructor:bF,init:function(b0,b4,b3){var b2,b5,b1,b6;if(!b0){return this}if(b0.nodeType){this.context=this[0]=b0;this.length=1;return this}if(b0==="body"&&!b4&&av.body){this.context=av;this[0]=av.body;this.selector=b0;this.length=1;return this}if(typeof b0==="string"){if(b0.charAt(0)==="<"&&b0.charAt(b0.length-1)===">"&&b0.length>=3){b2=[null,b0,null]}else{b2=bY.exec(b0)}if(b2&&(b2[1]||!b4)){if(b2[1]){b4=b4 instanceof bF?b4[0]:b4;b6=(b4?b4.ownerDocument||b4:av);b1=bA.exec(b0);if(b1){if(bF.isPlainObject(b4)){b0=[av.createElement(b1[1])];bF.fn.attr.call(b0,b4,true)}else{b0=[b6.createElement(b1[1])]}}else{b1=bF.buildFragment([b2[1]],[b6]);b0=(b1.cacheable?bF.clone(b1.fragment):b1.fragment).childNodes}return bF.merge(this,b0)}else{b5=av.getElementById(b2[2]);if(b5&&b5.parentNode){if(b5.id!==b2[2]){return b3.find(b0)}this.length=1;this[0]=b5}this.context=av;this.selector=b0;return this}}else{if(!b4||b4.jquery){return(b4||b3).find(b0)}else{return this.constructor(b4).find(b0)}}}else{if(bF.isFunction(b0)){return b3.ready(b0)}}if(b0.selector!==L){this.selector=b0.selector;this.context=b0.context}return bF.makeArray(b0,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return bK.call(this,0)},get:function(b0){return b0==null?this.toArray():(b0<0?this[this.length+b0]:this[b0])},pushStack:function(b1,b3,b0){var b2=this.constructor();if(bF.isArray(b1)){bz.apply(b2,b1)}else{bF.merge(b2,b1)}b2.prevObject=this;b2.context=this.context;if(b3==="find"){b2.selector=this.selector+(this.selector?" ":"")+b0}else{if(b3){b2.selector=this.selector+"."+b3+"("+b0+")"}}return b2},each:function(b1,b0){return bF.each(this,b1,b0)},ready:function(b0){bF.bindReady();bC.add(b0);return this},eq:function(b0){b0=+b0;return b0===-1?this.slice(b0):this.slice(b0,b0+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(bK.apply(this,arguments),"slice",bK.call(arguments).join(","))},map:function(b0){return this.pushStack(bF.map(this,function(b2,b1){return b0.call(b2,b1,b2)}))},end:function(){return this.prevObject||this.constructor(null)},push:bz,sort:[].sort,splice:[].splice};bF.fn.init.prototype=bF.fn;bF.extend=bF.fn.extend=function(){var b9,b2,b0,b1,b6,b7,b5=arguments[0]||{},b4=1,b3=arguments.length,b8=false;if(typeof b5==="boolean"){b8=b5;b5=arguments[1]||{};b4=2}if(typeof b5!=="object"&&!bF.isFunction(b5)){b5={}}if(b3===b4){b5=this;--b4}for(;b40){return}bC.fireWith(av,[bF]);if(bF.fn.trigger){bF(av).trigger("ready").off("ready")}}},bindReady:function(){if(bC){return}bC=bF.Callbacks("once memory");if(av.readyState==="complete"){return setTimeout(bF.ready,1)}if(av.addEventListener){av.addEventListener("DOMContentLoaded",e,false);bb.addEventListener("load",bF.ready,false)}else{if(av.attachEvent){av.attachEvent("onreadystatechange",e);bb.attachEvent("onload",bF.ready);var b0=false;try{b0=bb.frameElement==null}catch(b1){}if(av.documentElement.doScroll&&b0){bw()}}}},isFunction:function(b0){return bF.type(b0)==="function"},isArray:Array.isArray||function(b0){return bF.type(b0)==="array"},isWindow:function(b0){return b0&&typeof b0==="object"&&"setInterval" in b0},isNumeric:function(b0){return !isNaN(parseFloat(b0))&&isFinite(b0)},type:function(b0){return b0==null?String(b0):bx[bL.call(b0)]||"object"},isPlainObject:function(b2){if(!b2||bF.type(b2)!=="object"||b2.nodeType||bF.isWindow(b2)){return false}try{if(b2.constructor&&!bG.call(b2,"constructor")&&!bG.call(b2.constructor.prototype,"isPrototypeOf")){return false}}catch(b1){return false}var b0;for(b0 in b2){}return b0===L||bG.call(b2,b0)},isEmptyObject:function(b1){for(var b0 in b1){return false}return true},error:function(b0){throw new Error(b0)},parseJSON:function(b0){if(typeof b0!=="string"||!b0){return null}b0=bF.trim(b0);if(bb.JSON&&bb.JSON.parse){return bb.JSON.parse(b0)}if(bN.test(b0.replace(bW,"@").replace(bP,"]").replace(bJ,""))){return(new Function("return "+b0))()}bF.error("Invalid JSON: "+b0)},parseXML:function(b2){var b0,b1;try{if(bb.DOMParser){b1=new DOMParser();b0=b1.parseFromString(b2,"text/xml")}else{b0=new ActiveXObject("Microsoft.XMLDOM");b0.async="false";b0.loadXML(b2)}}catch(b3){b0=L}if(!b0||!b0.documentElement||b0.getElementsByTagName("parsererror").length){bF.error("Invalid XML: "+b2)}return b0},noop:function(){},globalEval:function(b0){if(b0&&bM.test(b0)){(bb.execScript||function(b1){bb["eval"].call(bb,b1)})(b0)}},camelCase:function(b0){return b0.replace(bZ,"ms-").replace(bB,bT)},nodeName:function(b1,b0){return b1.nodeName&&b1.nodeName.toUpperCase()===b0.toUpperCase()},each:function(b3,b6,b2){var b1,b4=0,b5=b3.length,b0=b5===L||bF.isFunction(b3);if(b2){if(b0){for(b1 in b3){if(b6.apply(b3[b1],b2)===false){break}}}else{for(;b40&&b0[0]&&b0[b1-1])||b1===0||bF.isArray(b0));if(b3){for(;b21?aJ.call(arguments,0):bG;if(!(--bw)){bC.resolveWith(bC,bx)}}}function bz(bF){return function(bG){bB[bF]=arguments.length>1?aJ.call(arguments,0):bG;bC.notifyWith(bE,bB)}}if(e>1){for(;bv
a";bI=bv.getElementsByTagName("*");bF=bv.getElementsByTagName("a")[0];if(!bI||!bI.length||!bF){return{}}bG=av.createElement("select");bx=bG.appendChild(av.createElement("option"));bE=bv.getElementsByTagName("input")[0];bJ={leadingWhitespace:(bv.firstChild.nodeType===3),tbody:!bv.getElementsByTagName("tbody").length,htmlSerialize:!!bv.getElementsByTagName("link").length,style:/top/.test(bF.getAttribute("style")),hrefNormalized:(bF.getAttribute("href")==="/a"),opacity:/^0.55/.test(bF.style.opacity),cssFloat:!!bF.style.cssFloat,checkOn:(bE.value==="on"),optSelected:bx.selected,getSetAttribute:bv.className!=="t",enctype:!!av.createElement("form").enctype,html5Clone:av.createElement("nav").cloneNode(true).outerHTML!=="<:nav>",submitBubbles:true,changeBubbles:true,focusinBubbles:false,deleteExpando:true,noCloneEvent:true,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableMarginRight:true};bE.checked=true;bJ.noCloneChecked=bE.cloneNode(true).checked;bG.disabled=true;bJ.optDisabled=!bx.disabled;try{delete bv.test}catch(bC){bJ.deleteExpando=false}if(!bv.addEventListener&&bv.attachEvent&&bv.fireEvent){bv.attachEvent("onclick",function(){bJ.noCloneEvent=false});bv.cloneNode(true).fireEvent("onclick")}bE=av.createElement("input");bE.value="t";bE.setAttribute("type","radio");bJ.radioValue=bE.value==="t";bE.setAttribute("checked","checked");bv.appendChild(bE);bD=av.createDocumentFragment();bD.appendChild(bv.lastChild);bJ.checkClone=bD.cloneNode(true).cloneNode(true).lastChild.checked;bJ.appendChecked=bE.checked;bD.removeChild(bE);bD.appendChild(bv);bv.innerHTML="";if(bb.getComputedStyle){bA=av.createElement("div");bA.style.width="0";bA.style.marginRight="0";bv.style.width="2px";bv.appendChild(bA);bJ.reliableMarginRight=(parseInt((bb.getComputedStyle(bA,null)||{marginRight:0}).marginRight,10)||0)===0}if(bv.attachEvent){for(by in {submit:1,change:1,focusin:1}){bB="on"+by;bw=(bB in bv);if(!bw){bv.setAttribute(bB,"return;");bw=(typeof bv[bB]==="function")}bJ[by+"Bubbles"]=bw}}bD.removeChild(bv);bD=bG=bx=bA=bv=bE=null;b(function(){var bM,bU,bV,bT,bN,bO,bL,bS,bR,e,bP,bQ=av.getElementsByTagName("body")[0];if(!bQ){return}bL=1;bS="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;";bR="visibility:hidden;border:0;";e="style='"+bS+"border:5px solid #000;padding:0;'";bP="
";bM=av.createElement("div");bM.style.cssText=bR+"width:0;height:0;position:static;top:0;margin-top:"+bL+"px";bQ.insertBefore(bM,bQ.firstChild);bv=av.createElement("div");bM.appendChild(bv);bv.innerHTML="
t
";bz=bv.getElementsByTagName("td");bw=(bz[0].offsetHeight===0);bz[0].style.display="";bz[1].style.display="none";bJ.reliableHiddenOffsets=bw&&(bz[0].offsetHeight===0);bv.innerHTML="";bv.style.width=bv.style.paddingLeft="1px";b.boxModel=bJ.boxModel=bv.offsetWidth===2;if(typeof bv.style.zoom!=="undefined"){bv.style.display="inline";bv.style.zoom=1;bJ.inlineBlockNeedsLayout=(bv.offsetWidth===2);bv.style.display="";bv.innerHTML="
";bJ.shrinkWrapBlocks=(bv.offsetWidth!==2)}bv.style.cssText=bS+bR;bv.innerHTML=bP;bU=bv.firstChild;bV=bU.firstChild;bN=bU.nextSibling.firstChild.firstChild;bO={doesNotAddBorder:(bV.offsetTop!==5),doesAddBorderForTableAndCells:(bN.offsetTop===5)};bV.style.position="fixed";bV.style.top="20px";bO.fixedPosition=(bV.offsetTop===20||bV.offsetTop===15);bV.style.position=bV.style.top="";bU.style.overflow="hidden";bU.style.position="relative";bO.subtractsBorderForOverflowNotVisible=(bV.offsetTop===-5);bO.doesNotIncludeMarginInBodyOffset=(bQ.offsetTop!==bL);bQ.removeChild(bM);bv=bM=null;b.extend(bJ,bO)});return bJ})();var aS=/^(?:\{.*\}|\[.*\])$/,aA=/([A-Z])/g;b.extend({cache:{},uuid:0,expando:"jQuery"+(b.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:true,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:true},hasData:function(e){e=e.nodeType?b.cache[e[b.expando]]:e[b.expando];return !!e&&!S(e)},data:function(bx,bv,bz,by){if(!b.acceptData(bx)){return}var bG,bA,bD,bE=b.expando,bC=typeof bv==="string",bF=bx.nodeType,e=bF?b.cache:bx,bw=bF?bx[bE]:bx[bE]&&bE,bB=bv==="events";if((!bw||!e[bw]||(!bB&&!by&&!e[bw].data))&&bC&&bz===L){return}if(!bw){if(bF){bx[bE]=bw=++b.uuid}else{bw=bE}}if(!e[bw]){e[bw]={};if(!bF){e[bw].toJSON=b.noop}}if(typeof bv==="object"||typeof bv==="function"){if(by){e[bw]=b.extend(e[bw],bv)}else{e[bw].data=b.extend(e[bw].data,bv)}}bG=bA=e[bw];if(!by){if(!bA.data){bA.data={}}bA=bA.data}if(bz!==L){bA[b.camelCase(bv)]=bz}if(bB&&!bA[bv]){return bG.events}if(bC){bD=bA[bv];if(bD==null){bD=bA[b.camelCase(bv)]}}else{bD=bA}return bD},removeData:function(bx,bv,by){if(!b.acceptData(bx)){return}var bB,bA,bz,bC=b.expando,bD=bx.nodeType,e=bD?b.cache:bx,bw=bD?bx[bC]:bC;if(!e[bw]){return}if(bv){bB=by?e[bw]:e[bw].data;if(bB){if(!b.isArray(bv)){if(bv in bB){bv=[bv]}else{bv=b.camelCase(bv);if(bv in bB){bv=[bv]}else{bv=bv.split(" ")}}}for(bA=0,bz=bv.length;bA-1){return true}}return false},val:function(bx){var e,bv,by,bw=this[0];if(!arguments.length){if(bw){e=b.valHooks[bw.nodeName.toLowerCase()]||b.valHooks[bw.type];if(e&&"get" in e&&(bv=e.get(bw,"value"))!==L){return bv}bv=bw.value;return typeof bv==="string"?bv.replace(aU,""):bv==null?"":bv}return}by=b.isFunction(bx);return this.each(function(bA){var bz=b(this),bB;if(this.nodeType!==1){return}if(by){bB=bx.call(this,bA,bz.val())}else{bB=bx}if(bB==null){bB=""}else{if(typeof bB==="number"){bB+=""}else{if(b.isArray(bB)){bB=b.map(bB,function(bC){return bC==null?"":bC+""})}}}e=b.valHooks[this.nodeName.toLowerCase()]||b.valHooks[this.type];if(!e||!("set" in e)||e.set(this,bB,"value")===L){this.value=bB}})}});b.extend({valHooks:{option:{get:function(e){var bv=e.attributes.value;return !bv||bv.specified?e.value:e.text}},select:{get:function(e){var bA,bv,bz,bx,by=e.selectedIndex,bB=[],bC=e.options,bw=e.type==="select-one";if(by<0){return null}bv=bw?by:0;bz=bw?by+1:bC.length;for(;bv=0});if(!e.length){bv.selectedIndex=-1}return e}}},attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(bA,bx,bB,bz){var bw,e,by,bv=bA.nodeType;if(!bA||bv===3||bv===8||bv===2){return}if(bz&&bx in b.attrFn){return b(bA)[bx](bB)}if(typeof bA.getAttribute==="undefined"){return b.prop(bA,bx,bB)}by=bv!==1||!b.isXMLDoc(bA);if(by){bx=bx.toLowerCase();e=b.attrHooks[bx]||(ao.test(bx)?aY:be)}if(bB!==L){if(bB===null){b.removeAttr(bA,bx);return}else{if(e&&"set" in e&&by&&(bw=e.set(bA,bB,bx))!==L){return bw}else{bA.setAttribute(bx,""+bB);return bB}}}else{if(e&&"get" in e&&by&&(bw=e.get(bA,bx))!==null){return bw}else{bw=bA.getAttribute(bx);return bw===null?L:bw}}},removeAttr:function(bx,bz){var by,bA,bv,e,bw=0;if(bz&&bx.nodeType===1){bA=bz.toLowerCase().split(af);e=bA.length;for(;bw=0)}}})});var bd=/^(?:textarea|input|select)$/i,n=/^([^\.]*)?(?:\.(.+))?$/,J=/\bhover(\.\S+)?\b/,aO=/^key/,bf=/^(?:mouse|contextmenu)|click/,T=/^(?:focusinfocus|focusoutblur)$/,U=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,Y=function(e){var bv=U.exec(e);if(bv){bv[1]=(bv[1]||"").toLowerCase();bv[3]=bv[3]&&new RegExp("(?:^|\\s)"+bv[3]+"(?:\\s|$)")}return bv},j=function(bw,e){var bv=bw.attributes||{};return((!e[1]||bw.nodeName.toLowerCase()===e[1])&&(!e[2]||(bv.id||{}).value===e[2])&&(!e[3]||e[3].test((bv["class"]||{}).value)))},bt=function(e){return b.event.special.hover?e:e.replace(J,"mouseenter$1 mouseleave$1")};b.event={add:function(bx,bC,bJ,bA,by){var bD,bB,bK,bI,bH,bF,e,bG,bv,bz,bw,bE;if(bx.nodeType===3||bx.nodeType===8||!bC||!bJ||!(bD=b._data(bx))){return}if(bJ.handler){bv=bJ;bJ=bv.handler}if(!bJ.guid){bJ.guid=b.guid++}bK=bD.events;if(!bK){bD.events=bK={}}bB=bD.handle;if(!bB){bD.handle=bB=function(bL){return typeof b!=="undefined"&&(!bL||b.event.triggered!==bL.type)?b.event.dispatch.apply(bB.elem,arguments):L};bB.elem=bx}bC=b.trim(bt(bC)).split(" ");for(bI=0;bI=0){bG=bG.slice(0,-1);bw=true}if(bG.indexOf(".")>=0){bx=bG.split(".");bG=bx.shift();bx.sort()}if((!bA||b.event.customEvent[bG])&&!b.event.global[bG]){return}bv=typeof bv==="object"?bv[b.expando]?bv:new b.Event(bG,bv):new b.Event(bG);bv.type=bG;bv.isTrigger=true;bv.exclusive=bw;bv.namespace=bx.join(".");bv.namespace_re=bv.namespace?new RegExp("(^|\\.)"+bx.join("\\.(?:.*\\.)?")+"(\\.|$)"):null;by=bG.indexOf(":")<0?"on"+bG:"";if(!bA){e=b.cache;for(bC in e){if(e[bC].events&&e[bC].events[bG]){b.event.trigger(bv,bD,e[bC].handle.elem,true)}}return}bv.result=L;if(!bv.target){bv.target=bA}bD=bD!=null?b.makeArray(bD):[];bD.unshift(bv);bF=b.event.special[bG]||{};if(bF.trigger&&bF.trigger.apply(bA,bD)===false){return}bB=[[bA,bF.bindType||bG]];if(!bJ&&!bF.noBubble&&!b.isWindow(bA)){bI=bF.delegateType||bG;bH=T.test(bI+bG)?bA:bA.parentNode;bz=null;for(;bH;bH=bH.parentNode){bB.push([bH,bI]);bz=bH}if(bz&&bz===bA.ownerDocument){bB.push([bz.defaultView||bz.parentWindow||bb,bI])}}for(bC=0;bCbA){bH.push({elem:this,matches:bz.slice(bA)})}for(bC=0;bC0?this.on(e,null,bx,bw):this.trigger(e)};if(b.attrFn){b.attrFn[e]=true}if(aO.test(e)){b.event.fixHooks[e]=b.event.keyHooks}if(bf.test(e)){b.event.fixHooks[e]=b.event.mouseHooks}}); +/*! + * Sizzle CSS Selector Engine + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * More information: http://sizzlejs.com/ + */ +(function(){var bH=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,bC="sizcache"+(Math.random()+"").replace(".",""),bI=0,bL=Object.prototype.toString,bB=false,bA=true,bK=/\\/g,bO=/\r\n/g,bQ=/\W/;[0,0].sort(function(){bA=false;return 0});var by=function(bV,e,bY,bZ){bY=bY||[];e=e||av;var b1=e;if(e.nodeType!==1&&e.nodeType!==9){return[]}if(!bV||typeof bV!=="string"){return bY}var bS,b3,b6,bR,b2,b5,b4,bX,bU=true,bT=by.isXML(e),bW=[],b0=bV;do{bH.exec("");bS=bH.exec(b0);if(bS){b0=bS[3];bW.push(bS[1]);if(bS[2]){bR=bS[3];break}}}while(bS);if(bW.length>1&&bD.exec(bV)){if(bW.length===2&&bE.relative[bW[0]]){b3=bM(bW[0]+bW[1],e,bZ)}else{b3=bE.relative[bW[0]]?[e]:by(bW.shift(),e);while(bW.length){bV=bW.shift();if(bE.relative[bV]){bV+=bW.shift()}b3=bM(bV,b3,bZ)}}}else{if(!bZ&&bW.length>1&&e.nodeType===9&&!bT&&bE.match.ID.test(bW[0])&&!bE.match.ID.test(bW[bW.length-1])){b2=by.find(bW.shift(),e,bT);e=b2.expr?by.filter(b2.expr,b2.set)[0]:b2.set[0]}if(e){b2=bZ?{expr:bW.pop(),set:bF(bZ)}:by.find(bW.pop(),bW.length===1&&(bW[0]==="~"||bW[0]==="+")&&e.parentNode?e.parentNode:e,bT);b3=b2.expr?by.filter(b2.expr,b2.set):b2.set;if(bW.length>0){b6=bF(b3)}else{bU=false}while(bW.length){b5=bW.pop();b4=b5;if(!bE.relative[b5]){b5=""}else{b4=bW.pop()}if(b4==null){b4=e}bE.relative[b5](b6,b4,bT)}}else{b6=bW=[]}}if(!b6){b6=b3}if(!b6){by.error(b5||bV)}if(bL.call(b6)==="[object Array]"){if(!bU){bY.push.apply(bY,b6)}else{if(e&&e.nodeType===1){for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&(b6[bX]===true||b6[bX].nodeType===1&&by.contains(e,b6[bX]))){bY.push(b3[bX])}}}else{for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&b6[bX].nodeType===1){bY.push(b3[bX])}}}}}else{bF(b6,bY)}if(bR){by(bR,b1,bY,bZ);by.uniqueSort(bY)}return bY};by.uniqueSort=function(bR){if(bJ){bB=bA;bR.sort(bJ);if(bB){for(var e=1;e0};by.find=function(bX,e,bY){var bW,bS,bU,bT,bV,bR;if(!bX){return[]}for(bS=0,bU=bE.order.length;bS":function(bW,bR){var bV,bU=typeof bR==="string",bS=0,e=bW.length;if(bU&&!bQ.test(bR)){bR=bR.toLowerCase();for(;bS=0)){if(!bS){e.push(bV)}}else{if(bS){bR[bU]=false}}}}return false},ID:function(e){return e[1].replace(bK,"")},TAG:function(bR,e){return bR[1].replace(bK,"").toLowerCase()},CHILD:function(e){if(e[1]==="nth"){if(!e[2]){by.error(e[0])}e[2]=e[2].replace(/^\+|\s*/g,"");var bR=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(e[2]==="even"&&"2n"||e[2]==="odd"&&"2n+1"||!/\D/.test(e[2])&&"0n+"+e[2]||e[2]);e[2]=(bR[1]+(bR[2]||1))-0;e[3]=bR[3]-0}else{if(e[2]){by.error(e[0])}}e[0]=bI++;return e},ATTR:function(bU,bR,bS,e,bV,bW){var bT=bU[1]=bU[1].replace(bK,"");if(!bW&&bE.attrMap[bT]){bU[1]=bE.attrMap[bT]}bU[4]=(bU[4]||bU[5]||"").replace(bK,"");if(bU[2]==="~="){bU[4]=" "+bU[4]+" "}return bU},PSEUDO:function(bU,bR,bS,e,bV){if(bU[1]==="not"){if((bH.exec(bU[3])||"").length>1||/^\w/.test(bU[3])){bU[3]=by(bU[3],null,null,bR)}else{var bT=by.filter(bU[3],bR,bS,true^bV);if(!bS){e.push.apply(e,bT)}return false}}else{if(bE.match.POS.test(bU[0])||bE.match.CHILD.test(bU[0])){return true}}return bU},POS:function(e){e.unshift(true);return e}},filters:{enabled:function(e){return e.disabled===false&&e.type!=="hidden"},disabled:function(e){return e.disabled===true},checked:function(e){return e.checked===true},selected:function(e){if(e.parentNode){e.parentNode.selectedIndex}return e.selected===true},parent:function(e){return !!e.firstChild},empty:function(e){return !e.firstChild},has:function(bS,bR,e){return !!by(e[3],bS).length},header:function(e){return(/h\d/i).test(e.nodeName)},text:function(bS){var e=bS.getAttribute("type"),bR=bS.type;return bS.nodeName.toLowerCase()==="input"&&"text"===bR&&(e===bR||e===null)},radio:function(e){return e.nodeName.toLowerCase()==="input"&&"radio"===e.type},checkbox:function(e){return e.nodeName.toLowerCase()==="input"&&"checkbox"===e.type},file:function(e){return e.nodeName.toLowerCase()==="input"&&"file"===e.type},password:function(e){return e.nodeName.toLowerCase()==="input"&&"password"===e.type},submit:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"submit"===bR.type},image:function(e){return e.nodeName.toLowerCase()==="input"&&"image"===e.type},reset:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"reset"===bR.type},button:function(bR){var e=bR.nodeName.toLowerCase();return e==="input"&&"button"===bR.type||e==="button"},input:function(e){return(/input|select|textarea|button/i).test(e.nodeName)},focus:function(e){return e===e.ownerDocument.activeElement}},setFilters:{first:function(bR,e){return e===0},last:function(bS,bR,e,bT){return bR===bT.length-1},even:function(bR,e){return e%2===0},odd:function(bR,e){return e%2===1},lt:function(bS,bR,e){return bRe[3]-0},nth:function(bS,bR,e){return e[3]-0===bR},eq:function(bS,bR,e){return e[3]-0===bR}},filter:{PSEUDO:function(bS,bX,bW,bY){var e=bX[1],bR=bE.filters[e];if(bR){return bR(bS,bW,bX,bY)}else{if(e==="contains"){return(bS.textContent||bS.innerText||bw([bS])||"").indexOf(bX[3])>=0}else{if(e==="not"){var bT=bX[3];for(var bV=0,bU=bT.length;bV=0)}}},ID:function(bR,e){return bR.nodeType===1&&bR.getAttribute("id")===e},TAG:function(bR,e){return(e==="*"&&bR.nodeType===1)||!!bR.nodeName&&bR.nodeName.toLowerCase()===e},CLASS:function(bR,e){return(" "+(bR.className||bR.getAttribute("class"))+" ").indexOf(e)>-1},ATTR:function(bV,bT){var bS=bT[1],e=by.attr?by.attr(bV,bS):bE.attrHandle[bS]?bE.attrHandle[bS](bV):bV[bS]!=null?bV[bS]:bV.getAttribute(bS),bW=e+"",bU=bT[2],bR=bT[4];return e==null?bU==="!=":!bU&&by.attr?e!=null:bU==="="?bW===bR:bU==="*="?bW.indexOf(bR)>=0:bU==="~="?(" "+bW+" ").indexOf(bR)>=0:!bR?bW&&e!==false:bU==="!="?bW!==bR:bU==="^="?bW.indexOf(bR)===0:bU==="$="?bW.substr(bW.length-bR.length)===bR:bU==="|="?bW===bR||bW.substr(0,bR.length+1)===bR+"-":false},POS:function(bU,bR,bS,bV){var e=bR[2],bT=bE.setFilters[e];if(bT){return bT(bU,bS,bR,bV)}}}};var bD=bE.match.POS,bx=function(bR,e){return"\\"+(e-0+1)};for(var bz in bE.match){bE.match[bz]=new RegExp(bE.match[bz].source+(/(?![^\[]*\])(?![^\(]*\))/.source));bE.leftMatch[bz]=new RegExp(/(^(?:.|\r|\n)*?)/.source+bE.match[bz].source.replace(/\\(\d+)/g,bx))}var bF=function(bR,e){bR=Array.prototype.slice.call(bR,0);if(e){e.push.apply(e,bR);return e}return bR};try{Array.prototype.slice.call(av.documentElement.childNodes,0)[0].nodeType}catch(bP){bF=function(bU,bT){var bS=0,bR=bT||[];if(bL.call(bU)==="[object Array]"){Array.prototype.push.apply(bR,bU)}else{if(typeof bU.length==="number"){for(var e=bU.length;bS";e.insertBefore(bR,e.firstChild);if(av.getElementById(bS)){bE.find.ID=function(bU,bV,bW){if(typeof bV.getElementById!=="undefined"&&!bW){var bT=bV.getElementById(bU[1]);return bT?bT.id===bU[1]||typeof bT.getAttributeNode!=="undefined"&&bT.getAttributeNode("id").nodeValue===bU[1]?[bT]:L:[]}};bE.filter.ID=function(bV,bT){var bU=typeof bV.getAttributeNode!=="undefined"&&bV.getAttributeNode("id");return bV.nodeType===1&&bU&&bU.nodeValue===bT}}e.removeChild(bR);e=bR=null})();(function(){var e=av.createElement("div");e.appendChild(av.createComment(""));if(e.getElementsByTagName("*").length>0){bE.find.TAG=function(bR,bV){var bU=bV.getElementsByTagName(bR[1]);if(bR[1]==="*"){var bT=[];for(var bS=0;bU[bS];bS++){if(bU[bS].nodeType===1){bT.push(bU[bS])}}bU=bT}return bU}}e.innerHTML="";if(e.firstChild&&typeof e.firstChild.getAttribute!=="undefined"&&e.firstChild.getAttribute("href")!=="#"){bE.attrHandle.href=function(bR){return bR.getAttribute("href",2)}}e=null})();if(av.querySelectorAll){(function(){var e=by,bT=av.createElement("div"),bS="__sizzle__";bT.innerHTML="

";if(bT.querySelectorAll&&bT.querySelectorAll(".TEST").length===0){return}by=function(b4,bV,bZ,b3){bV=bV||av;if(!b3&&!by.isXML(bV)){var b2=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b4);if(b2&&(bV.nodeType===1||bV.nodeType===9)){if(b2[1]){return bF(bV.getElementsByTagName(b4),bZ)}else{if(b2[2]&&bE.find.CLASS&&bV.getElementsByClassName){return bF(bV.getElementsByClassName(b2[2]),bZ)}}}if(bV.nodeType===9){if(b4==="body"&&bV.body){return bF([bV.body],bZ)}else{if(b2&&b2[3]){var bY=bV.getElementById(b2[3]);if(bY&&bY.parentNode){if(bY.id===b2[3]){return bF([bY],bZ)}}else{return bF([],bZ)}}}try{return bF(bV.querySelectorAll(b4),bZ)}catch(b0){}}else{if(bV.nodeType===1&&bV.nodeName.toLowerCase()!=="object"){var bW=bV,bX=bV.getAttribute("id"),bU=bX||bS,b6=bV.parentNode,b5=/^\s*[+~]/.test(b4);if(!bX){bV.setAttribute("id",bU)}else{bU=bU.replace(/'/g,"\\$&")}if(b5&&b6){bV=bV.parentNode}try{if(!b5||b6){return bF(bV.querySelectorAll("[id='"+bU+"'] "+b4),bZ)}}catch(b1){}finally{if(!bX){bW.removeAttribute("id")}}}}}return e(b4,bV,bZ,b3)};for(var bR in e){by[bR]=e[bR]}bT=null})()}(function(){var e=av.documentElement,bS=e.matchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.msMatchesSelector;if(bS){var bU=!bS.call(av.createElement("div"),"div"),bR=false;try{bS.call(av.documentElement,"[test!='']:sizzle")}catch(bT){bR=true}by.matchesSelector=function(bW,bY){bY=bY.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!by.isXML(bW)){try{if(bR||!bE.match.PSEUDO.test(bY)&&!/!=/.test(bY)){var bV=bS.call(bW,bY);if(bV||!bU||bW.document&&bW.document.nodeType!==11){return bV}}}catch(bX){}}return by(bY,null,null,[bW]).length>0}}})();(function(){var e=av.createElement("div");e.innerHTML="
";if(!e.getElementsByClassName||e.getElementsByClassName("e").length===0){return}e.lastChild.className="e";if(e.getElementsByClassName("e").length===1){return}bE.order.splice(1,0,"CLASS");bE.find.CLASS=function(bR,bS,bT){if(typeof bS.getElementsByClassName!=="undefined"&&!bT){return bS.getElementsByClassName(bR[1])}};e=null})();function bv(bR,bW,bV,bZ,bX,bY){for(var bT=0,bS=bZ.length;bT0){bU=e;break}}}e=e[bR]}bZ[bT]=bU}}}if(av.documentElement.contains){by.contains=function(bR,e){return bR!==e&&(bR.contains?bR.contains(e):true)}}else{if(av.documentElement.compareDocumentPosition){by.contains=function(bR,e){return !!(bR.compareDocumentPosition(e)&16)}}else{by.contains=function(){return false}}}by.isXML=function(e){var bR=(e?e.ownerDocument||e:0).documentElement;return bR?bR.nodeName!=="HTML":false};var bM=function(bS,e,bW){var bV,bX=[],bU="",bY=e.nodeType?[e]:e;while((bV=bE.match.PSEUDO.exec(bS))){bU+=bV[0];bS=bS.replace(bE.match.PSEUDO,"")}bS=bE.relative[bS]?bS+"*":bS;for(var bT=0,bR=bY.length;bT0){for(bB=bA;bB=0:b.filter(e,this).length>0:this.filter(e).length>0)},closest:function(by,bx){var bv=[],bw,e,bz=this[0];if(b.isArray(by)){var bB=1;while(bz&&bz.ownerDocument&&bz!==bx){for(bw=0;bw-1:b.find.matchesSelector(bz,by)){bv.push(bz);break}else{bz=bz.parentNode;if(!bz||!bz.ownerDocument||bz===bx||bz.nodeType===11){break}}}}bv=bv.length>1?b.unique(bv):bv;return this.pushStack(bv,"closest",by)},index:function(e){if(!e){return(this[0]&&this[0].parentNode)?this.prevAll().length:-1}if(typeof e==="string"){return b.inArray(this[0],b(e))}return b.inArray(e.jquery?e[0]:e,this)},add:function(e,bv){var bx=typeof e==="string"?b(e,bv):b.makeArray(e&&e.nodeType?[e]:e),bw=b.merge(this.get(),bx);return this.pushStack(C(bx[0])||C(bw[0])?bw:b.unique(bw))},andSelf:function(){return this.add(this.prevObject)}});function C(e){return !e||!e.parentNode||e.parentNode.nodeType===11}b.each({parent:function(bv){var e=bv.parentNode;return e&&e.nodeType!==11?e:null},parents:function(e){return b.dir(e,"parentNode")},parentsUntil:function(bv,e,bw){return b.dir(bv,"parentNode",bw)},next:function(e){return b.nth(e,2,"nextSibling")},prev:function(e){return b.nth(e,2,"previousSibling")},nextAll:function(e){return b.dir(e,"nextSibling")},prevAll:function(e){return b.dir(e,"previousSibling")},nextUntil:function(bv,e,bw){return b.dir(bv,"nextSibling",bw)},prevUntil:function(bv,e,bw){return b.dir(bv,"previousSibling",bw)},siblings:function(e){return b.sibling(e.parentNode.firstChild,e)},children:function(e){return b.sibling(e.firstChild)},contents:function(e){return b.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:b.makeArray(e.childNodes)}},function(e,bv){b.fn[e]=function(by,bw){var bx=b.map(this,bv,by);if(!ab.test(e)){bw=by}if(bw&&typeof bw==="string"){bx=b.filter(bw,bx)}bx=this.length>1&&!ay[e]?b.unique(bx):bx;if((this.length>1||a9.test(bw))&&aq.test(e)){bx=bx.reverse()}return this.pushStack(bx,e,P.call(arguments).join(","))}});b.extend({filter:function(bw,e,bv){if(bv){bw=":not("+bw+")"}return e.length===1?b.find.matchesSelector(e[0],bw)?[e[0]]:[]:b.find.matches(bw,e)},dir:function(bw,bv,by){var e=[],bx=bw[bv];while(bx&&bx.nodeType!==9&&(by===L||bx.nodeType!==1||!b(bx).is(by))){if(bx.nodeType===1){e.push(bx)}bx=bx[bv]}return e},nth:function(by,e,bw,bx){e=e||1;var bv=0;for(;by;by=by[bw]){if(by.nodeType===1&&++bv===e){break}}return by},sibling:function(bw,bv){var e=[];for(;bw;bw=bw.nextSibling){if(bw.nodeType===1&&bw!==bv){e.push(bw)}}return e}});function aG(bx,bw,e){bw=bw||0;if(b.isFunction(bw)){return b.grep(bx,function(bz,by){var bA=!!bw.call(bz,by,bz);return bA===e})}else{if(bw.nodeType){return b.grep(bx,function(bz,by){return(bz===bw)===e})}else{if(typeof bw==="string"){var bv=b.grep(bx,function(by){return by.nodeType===1});if(bp.test(bw)){return b.filter(bw,bv,!e)}else{bw=b.filter(bw,bv)}}}}return b.grep(bx,function(bz,by){return(b.inArray(bz,bw)>=0)===e})}function a(e){var bw=aR.split("|"),bv=e.createDocumentFragment();if(bv.createElement){while(bw.length){bv.createElement(bw.pop())}}return bv}var aR="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",ag=/ jQuery\d+="(?:\d+|null)"/g,ar=/^\s+/,R=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,d=/<([\w:]+)/,w=/",""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]},ac=a(av);ax.optgroup=ax.option;ax.tbody=ax.tfoot=ax.colgroup=ax.caption=ax.thead;ax.th=ax.td;if(!b.support.htmlSerialize){ax._default=[1,"div
","
"]}b.fn.extend({text:function(e){if(b.isFunction(e)){return this.each(function(bw){var bv=b(this);bv.text(e.call(this,bw,bv.text()))})}if(typeof e!=="object"&&e!==L){return this.empty().append((this[0]&&this[0].ownerDocument||av).createTextNode(e))}return b.text(this)},wrapAll:function(e){if(b.isFunction(e)){return this.each(function(bw){b(this).wrapAll(e.call(this,bw))})}if(this[0]){var bv=b(e,this[0].ownerDocument).eq(0).clone(true);if(this[0].parentNode){bv.insertBefore(this[0])}bv.map(function(){var bw=this;while(bw.firstChild&&bw.firstChild.nodeType===1){bw=bw.firstChild}return bw}).append(this)}return this},wrapInner:function(e){if(b.isFunction(e)){return this.each(function(bv){b(this).wrapInner(e.call(this,bv))})}return this.each(function(){var bv=b(this),bw=bv.contents();if(bw.length){bw.wrapAll(e)}else{bv.append(e)}})},wrap:function(e){var bv=b.isFunction(e);return this.each(function(bw){b(this).wrapAll(bv?e.call(this,bw):e)})},unwrap:function(){return this.parent().each(function(){if(!b.nodeName(this,"body")){b(this).replaceWith(this.childNodes)}}).end()},append:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.appendChild(e)}})},prepend:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.insertBefore(e,this.firstChild)}})},before:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this)})}else{if(arguments.length){var e=b.clean(arguments);e.push.apply(e,this.toArray());return this.pushStack(e,"before",arguments)}}},after:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this.nextSibling)})}else{if(arguments.length){var e=this.pushStack(this,"after",arguments);e.push.apply(e,b.clean(arguments));return e}}},remove:function(e,bx){for(var bv=0,bw;(bw=this[bv])!=null;bv++){if(!e||b.filter(e,[bw]).length){if(!bx&&bw.nodeType===1){b.cleanData(bw.getElementsByTagName("*"));b.cleanData([bw])}if(bw.parentNode){bw.parentNode.removeChild(bw)}}}return this},empty:function(){for(var e=0,bv;(bv=this[e])!=null;e++){if(bv.nodeType===1){b.cleanData(bv.getElementsByTagName("*"))}while(bv.firstChild){bv.removeChild(bv.firstChild)}}return this},clone:function(bv,e){bv=bv==null?false:bv;e=e==null?bv:e;return this.map(function(){return b.clone(this,bv,e)})},html:function(bx){if(bx===L){return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(ag,""):null}else{if(typeof bx==="string"&&!ae.test(bx)&&(b.support.leadingWhitespace||!ar.test(bx))&&!ax[(d.exec(bx)||["",""])[1].toLowerCase()]){bx=bx.replace(R,"<$1>");try{for(var bw=0,bv=this.length;bw1&&bw0?this.clone(true):this).get();b(bC[bA])[bv](by);bz=bz.concat(by)}return this.pushStack(bz,e,bC.selector)}}});function bg(e){if(typeof e.getElementsByTagName!=="undefined"){return e.getElementsByTagName("*")}else{if(typeof e.querySelectorAll!=="undefined"){return e.querySelectorAll("*")}else{return[]}}}function az(e){if(e.type==="checkbox"||e.type==="radio"){e.defaultChecked=e.checked}}function E(e){var bv=(e.nodeName||"").toLowerCase();if(bv==="input"){az(e)}else{if(bv!=="script"&&typeof e.getElementsByTagName!=="undefined"){b.grep(e.getElementsByTagName("input"),az)}}}function al(e){var bv=av.createElement("div");ac.appendChild(bv);bv.innerHTML=e.outerHTML;return bv.firstChild}b.extend({clone:function(by,bA,bw){var e,bv,bx,bz=b.support.html5Clone||!ah.test("<"+by.nodeName)?by.cloneNode(true):al(by);if((!b.support.noCloneEvent||!b.support.noCloneChecked)&&(by.nodeType===1||by.nodeType===11)&&!b.isXMLDoc(by)){ai(by,bz);e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){if(bv[bx]){ai(e[bx],bv[bx])}}}if(bA){t(by,bz);if(bw){e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){t(e[bx],bv[bx])}}}e=bv=null;return bz},clean:function(bw,by,bH,bA){var bF;by=by||av;if(typeof by.createElement==="undefined"){by=by.ownerDocument||by[0]&&by[0].ownerDocument||av}var bI=[],bB;for(var bE=0,bz;(bz=bw[bE])!=null;bE++){if(typeof bz==="number"){bz+=""}if(!bz){continue}if(typeof bz==="string"){if(!W.test(bz)){bz=by.createTextNode(bz)}else{bz=bz.replace(R,"<$1>");var bK=(d.exec(bz)||["",""])[1].toLowerCase(),bx=ax[bK]||ax._default,bD=bx[0],bv=by.createElement("div");if(by===av){ac.appendChild(bv)}else{a(by).appendChild(bv)}bv.innerHTML=bx[1]+bz+bx[2];while(bD--){bv=bv.lastChild}if(!b.support.tbody){var e=w.test(bz),bC=bK==="table"&&!e?bv.firstChild&&bv.firstChild.childNodes:bx[1]===""&&!e?bv.childNodes:[];for(bB=bC.length-1;bB>=0;--bB){if(b.nodeName(bC[bB],"tbody")&&!bC[bB].childNodes.length){bC[bB].parentNode.removeChild(bC[bB])}}}if(!b.support.leadingWhitespace&&ar.test(bz)){bv.insertBefore(by.createTextNode(ar.exec(bz)[0]),bv.firstChild)}bz=bv.childNodes}}var bG;if(!b.support.appendChecked){if(bz[0]&&typeof(bG=bz.length)==="number"){for(bB=0;bB=0){return bx+"px"}}else{return bx}}}});if(!b.support.opacity){b.cssHooks.opacity={get:function(bv,e){return au.test((e&&bv.currentStyle?bv.currentStyle.filter:bv.style.filter)||"")?(parseFloat(RegExp.$1)/100)+"":e?"1":""},set:function(by,bz){var bx=by.style,bv=by.currentStyle,e=b.isNumeric(bz)?"alpha(opacity="+bz*100+")":"",bw=bv&&bv.filter||bx.filter||"";bx.zoom=1;if(bz>=1&&b.trim(bw.replace(ak,""))===""){bx.removeAttribute("filter");if(bv&&!bv.filter){return}}bx.filter=ak.test(bw)?bw.replace(ak,e):bw+" "+e}}}b(function(){if(!b.support.reliableMarginRight){b.cssHooks.marginRight={get:function(bw,bv){var e;b.swap(bw,{display:"inline-block"},function(){if(bv){e=Z(bw,"margin-right","marginRight")}else{e=bw.style.marginRight}});return e}}}});if(av.defaultView&&av.defaultView.getComputedStyle){aI=function(by,bw){var bv,bx,e;bw=bw.replace(z,"-$1").toLowerCase();if((bx=by.ownerDocument.defaultView)&&(e=bx.getComputedStyle(by,null))){bv=e.getPropertyValue(bw);if(bv===""&&!b.contains(by.ownerDocument.documentElement,by)){bv=b.style(by,bw)}}return bv}}if(av.documentElement.currentStyle){aX=function(bz,bw){var bA,e,by,bv=bz.currentStyle&&bz.currentStyle[bw],bx=bz.style;if(bv===null&&bx&&(by=bx[bw])){bv=by}if(!bc.test(bv)&&bn.test(bv)){bA=bx.left;e=bz.runtimeStyle&&bz.runtimeStyle.left;if(e){bz.runtimeStyle.left=bz.currentStyle.left}bx.left=bw==="fontSize"?"1em":(bv||0);bv=bx.pixelLeft+"px";bx.left=bA;if(e){bz.runtimeStyle.left=e}}return bv===""?"auto":bv}}Z=aI||aX;function p(by,bw,bv){var bA=bw==="width"?by.offsetWidth:by.offsetHeight,bz=bw==="width"?an:a1,bx=0,e=bz.length;if(bA>0){if(bv!=="border"){for(;bx)<[^<]*)*<\/script>/gi,q=/^(?:select|textarea)/i,h=/\s+/,br=/([?&])_=[^&]*/,K=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,A=b.fn.load,aa={},r={},aE,s,aV=["*/"]+["*"];try{aE=bl.href}catch(aw){aE=av.createElement("a");aE.href="";aE=aE.href}s=K.exec(aE.toLowerCase())||[];function f(e){return function(by,bA){if(typeof by!=="string"){bA=by;by="*"}if(b.isFunction(bA)){var bx=by.toLowerCase().split(h),bw=0,bz=bx.length,bv,bB,bC;for(;bw=0){var e=bw.slice(by,bw.length);bw=bw.slice(0,by)}var bx="GET";if(bz){if(b.isFunction(bz)){bA=bz;bz=L}else{if(typeof bz==="object"){bz=b.param(bz,b.ajaxSettings.traditional);bx="POST"}}}var bv=this;b.ajax({url:bw,type:bx,dataType:"html",data:bz,complete:function(bC,bB,bD){bD=bC.responseText;if(bC.isResolved()){bC.done(function(bE){bD=bE});bv.html(e?b("
").append(bD.replace(a6,"")).find(e):bD)}if(bA){bv.each(bA,[bD,bB,bC])}}});return this},serialize:function(){return b.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?b.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||q.test(this.nodeName)||aZ.test(this.type))}).map(function(e,bv){var bw=b(this).val();return bw==null?null:b.isArray(bw)?b.map(bw,function(by,bx){return{name:bv.name,value:by.replace(bs,"\r\n")}}):{name:bv.name,value:bw.replace(bs,"\r\n")}}).get()}});b.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(e,bv){b.fn[bv]=function(bw){return this.on(bv,bw)}});b.each(["get","post"],function(e,bv){b[bv]=function(bw,by,bz,bx){if(b.isFunction(by)){bx=bx||bz;bz=by;by=L}return b.ajax({type:bv,url:bw,data:by,success:bz,dataType:bx})}});b.extend({getScript:function(e,bv){return b.get(e,L,bv,"script")},getJSON:function(e,bv,bw){return b.get(e,bv,bw,"json")},ajaxSetup:function(bv,e){if(e){am(bv,b.ajaxSettings)}else{e=bv;bv=b.ajaxSettings}am(bv,e);return bv},ajaxSettings:{url:aE,isLocal:aM.test(s[1]),global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":aV},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":bb.String,"text html":true,"text json":b.parseJSON,"text xml":b.parseXML},flatOptions:{context:true,url:true}},ajaxPrefilter:f(aa),ajaxTransport:f(r),ajax:function(bz,bx){if(typeof bz==="object"){bx=bz;bz=L}bx=bx||{};var bD=b.ajaxSetup({},bx),bS=bD.context||bD,bG=bS!==bD&&(bS.nodeType||bS instanceof b)?b(bS):b.event,bR=b.Deferred(),bN=b.Callbacks("once memory"),bB=bD.statusCode||{},bC,bH={},bO={},bQ,by,bL,bE,bI,bA=0,bw,bK,bJ={readyState:0,setRequestHeader:function(bT,bU){if(!bA){var e=bT.toLowerCase();bT=bO[e]=bO[e]||bT;bH[bT]=bU}return this},getAllResponseHeaders:function(){return bA===2?bQ:null},getResponseHeader:function(bT){var e;if(bA===2){if(!by){by={};while((e=aD.exec(bQ))){by[e[1].toLowerCase()]=e[2]}}e=by[bT.toLowerCase()]}return e===L?null:e},overrideMimeType:function(e){if(!bA){bD.mimeType=e}return this},abort:function(e){e=e||"abort";if(bL){bL.abort(e)}bF(0,e);return this}};function bF(bZ,bU,b0,bW){if(bA===2){return}bA=2;if(bE){clearTimeout(bE)}bL=L;bQ=bW||"";bJ.readyState=bZ>0?4:0;var bT,b4,b3,bX=bU,bY=b0?bj(bD,bJ,b0):L,bV,b2;if(bZ>=200&&bZ<300||bZ===304){if(bD.ifModified){if((bV=bJ.getResponseHeader("Last-Modified"))){b.lastModified[bC]=bV}if((b2=bJ.getResponseHeader("Etag"))){b.etag[bC]=b2}}if(bZ===304){bX="notmodified";bT=true}else{try{b4=G(bD,bY);bX="success";bT=true}catch(b1){bX="parsererror";b3=b1}}}else{b3=bX;if(!bX||bZ){bX="error";if(bZ<0){bZ=0}}}bJ.status=bZ;bJ.statusText=""+(bU||bX);if(bT){bR.resolveWith(bS,[b4,bX,bJ])}else{bR.rejectWith(bS,[bJ,bX,b3])}bJ.statusCode(bB);bB=L;if(bw){bG.trigger("ajax"+(bT?"Success":"Error"),[bJ,bD,bT?b4:b3])}bN.fireWith(bS,[bJ,bX]);if(bw){bG.trigger("ajaxComplete",[bJ,bD]);if(!(--b.active)){b.event.trigger("ajaxStop")}}}bR.promise(bJ);bJ.success=bJ.done;bJ.error=bJ.fail;bJ.complete=bN.add;bJ.statusCode=function(bT){if(bT){var e;if(bA<2){for(e in bT){bB[e]=[bB[e],bT[e]]}}else{e=bT[bJ.status];bJ.then(e,e)}}return this};bD.url=((bz||bD.url)+"").replace(bq,"").replace(c,s[1]+"//");bD.dataTypes=b.trim(bD.dataType||"*").toLowerCase().split(h);if(bD.crossDomain==null){bI=K.exec(bD.url.toLowerCase());bD.crossDomain=!!(bI&&(bI[1]!=s[1]||bI[2]!=s[2]||(bI[3]||(bI[1]==="http:"?80:443))!=(s[3]||(s[1]==="http:"?80:443))))}if(bD.data&&bD.processData&&typeof bD.data!=="string"){bD.data=b.param(bD.data,bD.traditional)}aW(aa,bD,bx,bJ);if(bA===2){return false}bw=bD.global;bD.type=bD.type.toUpperCase();bD.hasContent=!aQ.test(bD.type);if(bw&&b.active++===0){b.event.trigger("ajaxStart")}if(!bD.hasContent){if(bD.data){bD.url+=(M.test(bD.url)?"&":"?")+bD.data;delete bD.data}bC=bD.url;if(bD.cache===false){var bv=b.now(),bP=bD.url.replace(br,"$1_="+bv);bD.url=bP+((bP===bD.url)?(M.test(bD.url)?"&":"?")+"_="+bv:"")}}if(bD.data&&bD.hasContent&&bD.contentType!==false||bx.contentType){bJ.setRequestHeader("Content-Type",bD.contentType)}if(bD.ifModified){bC=bC||bD.url;if(b.lastModified[bC]){bJ.setRequestHeader("If-Modified-Since",b.lastModified[bC])}if(b.etag[bC]){bJ.setRequestHeader("If-None-Match",b.etag[bC])}}bJ.setRequestHeader("Accept",bD.dataTypes[0]&&bD.accepts[bD.dataTypes[0]]?bD.accepts[bD.dataTypes[0]]+(bD.dataTypes[0]!=="*"?", "+aV+"; q=0.01":""):bD.accepts["*"]);for(bK in bD.headers){bJ.setRequestHeader(bK,bD.headers[bK])}if(bD.beforeSend&&(bD.beforeSend.call(bS,bJ,bD)===false||bA===2)){bJ.abort();return false}for(bK in {success:1,error:1,complete:1}){bJ[bK](bD[bK])}bL=aW(r,bD,bx,bJ);if(!bL){bF(-1,"No Transport")}else{bJ.readyState=1;if(bw){bG.trigger("ajaxSend",[bJ,bD])}if(bD.async&&bD.timeout>0){bE=setTimeout(function(){bJ.abort("timeout")},bD.timeout)}try{bA=1;bL.send(bH,bF)}catch(bM){if(bA<2){bF(-1,bM)}else{throw bM}}}return bJ},param:function(e,bw){var bv=[],by=function(bz,bA){bA=b.isFunction(bA)?bA():bA;bv[bv.length]=encodeURIComponent(bz)+"="+encodeURIComponent(bA)};if(bw===L){bw=b.ajaxSettings.traditional}if(b.isArray(e)||(e.jquery&&!b.isPlainObject(e))){b.each(e,function(){by(this.name,this.value)})}else{for(var bx in e){v(bx,e[bx],bw,by)}}return bv.join("&").replace(k,"+")}});function v(bw,by,bv,bx){if(b.isArray(by)){b.each(by,function(bA,bz){if(bv||ap.test(bw)){bx(bw,bz)}else{v(bw+"["+(typeof bz==="object"||b.isArray(bz)?bA:"")+"]",bz,bv,bx)}})}else{if(!bv&&by!=null&&typeof by==="object"){for(var e in by){v(bw+"["+e+"]",by[e],bv,bx)}}else{bx(bw,by)}}}b.extend({active:0,lastModified:{},etag:{}});function bj(bD,bC,bz){var bv=bD.contents,bB=bD.dataTypes,bw=bD.responseFields,by,bA,bx,e;for(bA in bw){if(bA in bz){bC[bw[bA]]=bz[bA]}}while(bB[0]==="*"){bB.shift();if(by===L){by=bD.mimeType||bC.getResponseHeader("content-type")}}if(by){for(bA in bv){if(bv[bA]&&bv[bA].test(by)){bB.unshift(bA);break}}}if(bB[0] in bz){bx=bB[0]}else{for(bA in bz){if(!bB[0]||bD.converters[bA+" "+bB[0]]){bx=bA;break}if(!e){e=bA}}bx=bx||e}if(bx){if(bx!==bB[0]){bB.unshift(bx)}return bz[bx]}}function G(bH,bz){if(bH.dataFilter){bz=bH.dataFilter(bz,bH.dataType)}var bD=bH.dataTypes,bG={},bA,bE,bw=bD.length,bB,bC=bD[0],bx,by,bF,bv,e;for(bA=1;bA=bw.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();bw.animatedProperties[this.prop]=true;for(bA in bw.animatedProperties){if(bw.animatedProperties[bA]!==true){e=false}}if(e){if(bw.overflow!=null&&!b.support.shrinkWrapBlocks){b.each(["","X","Y"],function(bC,bD){bz.style["overflow"+bD]=bw.overflow[bC]})}if(bw.hide){b(bz).hide()}if(bw.hide||bw.show){for(bA in bw.animatedProperties){b.style(bz,bA,bw.orig[bA]);b.removeData(bz,"fxshow"+bA,true);b.removeData(bz,"toggle"+bA,true)}}bv=bw.complete;if(bv){bw.complete=false;bv.call(bz)}}return false}else{if(bw.duration==Infinity){this.now=bx}else{bB=bx-this.startTime;this.state=bB/bw.duration;this.pos=b.easing[bw.animatedProperties[this.prop]](this.state,bB,0,1,bw.duration);this.now=this.start+((this.end-this.start)*this.pos)}this.update()}return true}};b.extend(b.fx,{tick:function(){var bw,bv=b.timers,e=0;for(;e").appendTo(e),bw=bv.css("display");bv.remove();if(bw==="none"||bw===""){if(!a8){a8=av.createElement("iframe");a8.frameBorder=a8.width=a8.height=0}e.appendChild(a8);if(!m||!a8.createElement){m=(a8.contentWindow||a8.contentDocument).document;m.write((av.compatMode==="CSS1Compat"?"":"")+"");m.close()}bv=m.createElement(bx);m.body.appendChild(bv);bw=b.css(bv,"display");e.removeChild(a8)}Q[bx]=bw}return Q[bx]}var V=/^t(?:able|d|h)$/i,ad=/^(?:body|html)$/i;if("getBoundingClientRect" in av.documentElement){b.fn.offset=function(bI){var by=this[0],bB;if(bI){return this.each(function(e){b.offset.setOffset(this,bI,e)})}if(!by||!by.ownerDocument){return null}if(by===by.ownerDocument.body){return b.offset.bodyOffset(by)}try{bB=by.getBoundingClientRect()}catch(bF){}var bH=by.ownerDocument,bw=bH.documentElement;if(!bB||!b.contains(bw,by)){return bB?{top:bB.top,left:bB.left}:{top:0,left:0}}var bC=bH.body,bD=aK(bH),bA=bw.clientTop||bC.clientTop||0,bE=bw.clientLeft||bC.clientLeft||0,bv=bD.pageYOffset||b.support.boxModel&&bw.scrollTop||bC.scrollTop,bz=bD.pageXOffset||b.support.boxModel&&bw.scrollLeft||bC.scrollLeft,bG=bB.top+bv-bA,bx=bB.left+bz-bE;return{top:bG,left:bx}}}else{b.fn.offset=function(bF){var bz=this[0];if(bF){return this.each(function(bG){b.offset.setOffset(this,bF,bG)})}if(!bz||!bz.ownerDocument){return null}if(bz===bz.ownerDocument.body){return b.offset.bodyOffset(bz)}var bC,bw=bz.offsetParent,bv=bz,bE=bz.ownerDocument,bx=bE.documentElement,bA=bE.body,bB=bE.defaultView,e=bB?bB.getComputedStyle(bz,null):bz.currentStyle,bD=bz.offsetTop,by=bz.offsetLeft;while((bz=bz.parentNode)&&bz!==bA&&bz!==bx){if(b.support.fixedPosition&&e.position==="fixed"){break}bC=bB?bB.getComputedStyle(bz,null):bz.currentStyle;bD-=bz.scrollTop;by-=bz.scrollLeft;if(bz===bw){bD+=bz.offsetTop;by+=bz.offsetLeft;if(b.support.doesNotAddBorder&&!(b.support.doesAddBorderForTableAndCells&&V.test(bz.nodeName))){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}bv=bw;bw=bz.offsetParent}if(b.support.subtractsBorderForOverflowNotVisible&&bC.overflow!=="visible"){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}e=bC}if(e.position==="relative"||e.position==="static"){bD+=bA.offsetTop;by+=bA.offsetLeft}if(b.support.fixedPosition&&e.position==="fixed"){bD+=Math.max(bx.scrollTop,bA.scrollTop);by+=Math.max(bx.scrollLeft,bA.scrollLeft)}return{top:bD,left:by}}}b.offset={bodyOffset:function(e){var bw=e.offsetTop,bv=e.offsetLeft;if(b.support.doesNotIncludeMarginInBodyOffset){bw+=parseFloat(b.css(e,"marginTop"))||0;bv+=parseFloat(b.css(e,"marginLeft"))||0}return{top:bw,left:bv}},setOffset:function(bx,bG,bA){var bB=b.css(bx,"position");if(bB==="static"){bx.style.position="relative"}var bz=b(bx),bv=bz.offset(),e=b.css(bx,"top"),bE=b.css(bx,"left"),bF=(bB==="absolute"||bB==="fixed")&&b.inArray("auto",[e,bE])>-1,bD={},bC={},bw,by;if(bF){bC=bz.position();bw=bC.top;by=bC.left}else{bw=parseFloat(e)||0;by=parseFloat(bE)||0}if(b.isFunction(bG)){bG=bG.call(bx,bA,bv)}if(bG.top!=null){bD.top=(bG.top-bv.top)+bw}if(bG.left!=null){bD.left=(bG.left-bv.left)+by}if("using" in bG){bG.using.call(bx,bD)}else{bz.css(bD)}}};b.fn.extend({position:function(){if(!this[0]){return null}var bw=this[0],bv=this.offsetParent(),bx=this.offset(),e=ad.test(bv[0].nodeName)?{top:0,left:0}:bv.offset();bx.top-=parseFloat(b.css(bw,"marginTop"))||0;bx.left-=parseFloat(b.css(bw,"marginLeft"))||0;e.top+=parseFloat(b.css(bv[0],"borderTopWidth"))||0;e.left+=parseFloat(b.css(bv[0],"borderLeftWidth"))||0;return{top:bx.top-e.top,left:bx.left-e.left}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||av.body;while(e&&(!ad.test(e.nodeName)&&b.css(e,"position")==="static")){e=e.offsetParent}return e})}});b.each(["Left","Top"],function(bv,e){var bw="scroll"+e;b.fn[bw]=function(bz){var bx,by;if(bz===L){bx=this[0];if(!bx){return null}by=aK(bx);return by?("pageXOffset" in by)?by[bv?"pageYOffset":"pageXOffset"]:b.support.boxModel&&by.document.documentElement[bw]||by.document.body[bw]:bx[bw]}return this.each(function(){by=aK(this);if(by){by.scrollTo(!bv?bz:b(by).scrollLeft(),bv?bz:b(by).scrollTop())}else{this[bw]=bz}})}});function aK(e){return b.isWindow(e)?e:e.nodeType===9?e.defaultView||e.parentWindow:false}b.each(["Height","Width"],function(bv,e){var bw=e.toLowerCase();b.fn["inner"+e]=function(){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,"padding")):this[bw]():null};b.fn["outer"+e]=function(by){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,by?"margin":"border")):this[bw]():null};b.fn[bw]=function(bz){var bA=this[0];if(!bA){return bz==null?null:this}if(b.isFunction(bz)){return this.each(function(bE){var bD=b(this);bD[bw](bz.call(this,bE,bD[bw]()))})}if(b.isWindow(bA)){var bB=bA.document.documentElement["client"+e],bx=bA.document.body;return bA.document.compatMode==="CSS1Compat"&&bB||bx&&bx["client"+e]||bB}else{if(bA.nodeType===9){return Math.max(bA.documentElement["client"+e],bA.body["scroll"+e],bA.documentElement["scroll"+e],bA.body["offset"+e],bA.documentElement["offset"+e])}else{if(bz===L){var bC=b.css(bA,bw),by=parseFloat(bC);return b.isNumeric(by)?by:bC}else{return this.css(bw,typeof bz==="string"?bz:bz+"px")}}}}});bb.jQuery=bb.$=b;if(typeof define==="function"&&define.amd&&define.amd.jQuery){define("jquery",[],function(){return b})}})(window);/*! + * jQuery UI 1.8.18 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI + */ +(function(a,d){a.ui=a.ui||{};if(a.ui.version){return}a.extend(a.ui,{version:"1.8.18",keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}});a.fn.extend({propAttr:a.fn.prop||a.fn.attr,_focus:a.fn.focus,focus:function(e,f){return typeof e==="number"?this.each(function(){var g=this;setTimeout(function(){a(g).focus();if(f){f.call(g)}},e)}):this._focus.apply(this,arguments)},scrollParent:function(){var e;if((a.browser.msie&&(/(static|relative)/).test(this.css("position")))||(/absolute/).test(this.css("position"))){e=this.parents().filter(function(){return(/(relative|absolute|fixed)/).test(a.curCSS(this,"position",1))&&(/(auto|scroll)/).test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0)}else{e=this.parents().filter(function(){return(/(auto|scroll)/).test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0)}return(/fixed/).test(this.css("position"))||!e.length?a(document):e},zIndex:function(h){if(h!==d){return this.css("zIndex",h)}if(this.length){var f=a(this[0]),e,g;while(f.length&&f[0]!==document){e=f.css("position");if(e==="absolute"||e==="relative"||e==="fixed"){g=parseInt(f.css("zIndex"),10);if(!isNaN(g)&&g!==0){return g}}f=f.parent()}}return 0},disableSelection:function(){return this.bind((a.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(e){e.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}});a.each(["Width","Height"],function(g,e){var f=e==="Width"?["Left","Right"]:["Top","Bottom"],h=e.toLowerCase(),k={innerWidth:a.fn.innerWidth,innerHeight:a.fn.innerHeight,outerWidth:a.fn.outerWidth,outerHeight:a.fn.outerHeight};function j(m,l,i,n){a.each(f,function(){l-=parseFloat(a.curCSS(m,"padding"+this,true))||0;if(i){l-=parseFloat(a.curCSS(m,"border"+this+"Width",true))||0}if(n){l-=parseFloat(a.curCSS(m,"margin"+this,true))||0}});return l}a.fn["inner"+e]=function(i){if(i===d){return k["inner"+e].call(this)}return this.each(function(){a(this).css(h,j(this,i)+"px")})};a.fn["outer"+e]=function(i,l){if(typeof i!=="number"){return k["outer"+e].call(this,i)}return this.each(function(){a(this).css(h,j(this,i,true,l)+"px")})}});function c(g,e){var j=g.nodeName.toLowerCase();if("area"===j){var i=g.parentNode,h=i.name,f;if(!g.href||!h||i.nodeName.toLowerCase()!=="map"){return false}f=a("img[usemap=#"+h+"]")[0];return !!f&&b(f)}return(/input|select|textarea|button|object/.test(j)?!g.disabled:"a"==j?g.href||e:e)&&b(g)}function b(e){return !a(e).parents().andSelf().filter(function(){return a.curCSS(this,"visibility")==="hidden"||a.expr.filters.hidden(this)}).length}a.extend(a.expr[":"],{data:function(g,f,e){return !!a.data(g,e[3])},focusable:function(e){return c(e,!isNaN(a.attr(e,"tabindex")))},tabbable:function(g){var e=a.attr(g,"tabindex"),f=isNaN(e);return(f||e>=0)&&c(g,!f)}});a(function(){var e=document.body,f=e.appendChild(f=document.createElement("div"));f.offsetHeight;a.extend(f.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0});a.support.minHeight=f.offsetHeight===100;a.support.selectstart="onselectstart" in f;e.removeChild(f).style.display="none"});a.extend(a.ui,{plugin:{add:function(f,g,j){var h=a.ui[f].prototype;for(var e in j){h.plugins[e]=h.plugins[e]||[];h.plugins[e].push([g,j[e]])}},call:function(e,g,f){var j=e.plugins[g];if(!j||!e.element[0].parentNode){return}for(var h=0;h0){return true}h[e]=1;g=(h[e]>0);h[e]=0;return g},isOverAxis:function(f,e,g){return(f>e)&&(f<(e+g))},isOver:function(j,f,i,h,e,g){return a.ui.isOverAxis(j,i,e)&&a.ui.isOverAxis(f,h,g)}})})(jQuery);/*! + * jQuery UI Widget 1.8.18 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Widget + */ +(function(b,d){if(b.cleanData){var c=b.cleanData;b.cleanData=function(f){for(var g=0,h;(h=f[g])!=null;g++){try{b(h).triggerHandler("remove")}catch(j){}}c(f)}}else{var a=b.fn.remove;b.fn.remove=function(e,f){return this.each(function(){if(!f){if(!e||b.filter(e,[this]).length){b("*",this).add([this]).each(function(){try{b(this).triggerHandler("remove")}catch(g){}})}}return a.call(b(this),e,f)})}}b.widget=function(f,h,e){var g=f.split(".")[0],j;f=f.split(".")[1];j=g+"-"+f;if(!e){e=h;h=b.Widget}b.expr[":"][j]=function(k){return !!b.data(k,f)};b[g]=b[g]||{};b[g][f]=function(k,l){if(arguments.length){this._createWidget(k,l)}};var i=new h();i.options=b.extend(true,{},i.options);b[g][f].prototype=b.extend(true,i,{namespace:g,widgetName:f,widgetEventPrefix:b[g][f].prototype.widgetEventPrefix||f,widgetBaseClass:j},e);b.widget.bridge(f,b[g][f])};b.widget.bridge=function(f,e){b.fn[f]=function(i){var g=typeof i==="string",h=Array.prototype.slice.call(arguments,1),j=this;i=!g&&h.length?b.extend.apply(null,[true,i].concat(h)):i;if(g&&i.charAt(0)==="_"){return j}if(g){this.each(function(){var k=b.data(this,f),l=k&&b.isFunction(k[i])?k[i].apply(k,h):k;if(l!==k&&l!==d){j=l;return false}})}else{this.each(function(){var k=b.data(this,f);if(k){k.option(i||{})._init()}else{b.data(this,f,new e(i,this))}})}return j}};b.Widget=function(e,f){if(arguments.length){this._createWidget(e,f)}};b.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:false},_createWidget:function(f,g){b.data(g,this.widgetName,this);this.element=b(g);this.options=b.extend(true,{},this.options,this._getCreateOptions(),f);var e=this;this.element.bind("remove."+this.widgetName,function(){e.destroy()});this._create();this._trigger("create");this._init()},_getCreateOptions:function(){return b.metadata&&b.metadata.get(this.element[0])[this.widgetName]},_create:function(){},_init:function(){},destroy:function(){this.element.unbind("."+this.widgetName).removeData(this.widgetName);this.widget().unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass+"-disabled ui-state-disabled")},widget:function(){return this.element},option:function(f,g){var e=f;if(arguments.length===0){return b.extend({},this.options)}if(typeof f==="string"){if(g===d){return this.options[f]}e={};e[f]=g}this._setOptions(e);return this},_setOptions:function(f){var e=this;b.each(f,function(g,h){e._setOption(g,h)});return this},_setOption:function(e,f){this.options[e]=f;if(e==="disabled"){this.widget()[f?"addClass":"removeClass"](this.widgetBaseClass+"-disabled ui-state-disabled").attr("aria-disabled",f)}return this},enable:function(){return this._setOption("disabled",false)},disable:function(){return this._setOption("disabled",true)},_trigger:function(e,f,g){var j,i,h=this.options[e];g=g||{};f=b.Event(f);f.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase();f.target=this.element[0];i=f.originalEvent;if(i){for(j in i){if(!(j in f)){f[j]=i[j]}}}this.element.trigger(f,g);return !(b.isFunction(h)&&h.call(this.element[0],f,g)===false||f.isDefaultPrevented())}}})(jQuery);/*! + * jQuery UI Mouse 1.8.18 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Mouse + * + * Depends: + * jquery.ui.widget.js + */ +(function(b,c){var a=false;b(document).mouseup(function(d){a=false});b.widget("ui.mouse",{options:{cancel:":input,option",distance:1,delay:0},_mouseInit:function(){var d=this;this.element.bind("mousedown."+this.widgetName,function(e){return d._mouseDown(e)}).bind("click."+this.widgetName,function(e){if(true===b.data(e.target,d.widgetName+".preventClickEvent")){b.removeData(e.target,d.widgetName+".preventClickEvent");e.stopImmediatePropagation();return false}});this.started=false},_mouseDestroy:function(){this.element.unbind("."+this.widgetName)},_mouseDown:function(f){if(a){return}(this._mouseStarted&&this._mouseUp(f));this._mouseDownEvent=f;var e=this,g=(f.which==1),d=(typeof this.options.cancel=="string"&&f.target.nodeName?b(f.target).closest(this.options.cancel).length:false);if(!g||d||!this._mouseCapture(f)){return true}this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet){this._mouseDelayTimer=setTimeout(function(){e.mouseDelayMet=true},this.options.delay)}if(this._mouseDistanceMet(f)&&this._mouseDelayMet(f)){this._mouseStarted=(this._mouseStart(f)!==false);if(!this._mouseStarted){f.preventDefault();return true}}if(true===b.data(f.target,this.widgetName+".preventClickEvent")){b.removeData(f.target,this.widgetName+".preventClickEvent")}this._mouseMoveDelegate=function(h){return e._mouseMove(h)};this._mouseUpDelegate=function(h){return e._mouseUp(h)};b(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);f.preventDefault();a=true;return true},_mouseMove:function(d){if(b.browser.msie&&!(document.documentMode>=9)&&!d.button){return this._mouseUp(d)}if(this._mouseStarted){this._mouseDrag(d);return d.preventDefault()}if(this._mouseDistanceMet(d)&&this._mouseDelayMet(d)){this._mouseStarted=(this._mouseStart(this._mouseDownEvent,d)!==false);(this._mouseStarted?this._mouseDrag(d):this._mouseUp(d))}return !this._mouseStarted},_mouseUp:function(d){b(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;if(d.target==this._mouseDownEvent.target){b.data(d.target,this.widgetName+".preventClickEvent",true)}this._mouseStop(d)}return false},_mouseDistanceMet:function(d){return(Math.max(Math.abs(this._mouseDownEvent.pageX-d.pageX),Math.abs(this._mouseDownEvent.pageY-d.pageY))>=this.options.distance)},_mouseDelayMet:function(d){return this.mouseDelayMet},_mouseStart:function(d){},_mouseDrag:function(d){},_mouseStop:function(d){},_mouseCapture:function(d){return true}})})(jQuery);(function(c,d){c.widget("ui.resizable",c.ui.mouse,{widgetEventPrefix:"resize",options:{alsoResize:false,animate:false,animateDuration:"slow",animateEasing:"swing",aspectRatio:false,autoHide:false,containment:false,ghost:false,grid:false,handles:"e,s,se",helper:false,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:1000},_create:function(){var f=this,k=this.options;this.element.addClass("ui-resizable");c.extend(this,{_aspectRatio:!!(k.aspectRatio),aspectRatio:k.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:k.helper||k.ghost||k.animate?k.helper||"ui-resizable-helper":null});if(this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)){this.element.wrap(c('
').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")}));this.element=this.element.parent().data("resizable",this.element.data("resizable"));this.elementIsWrapper=true;this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")});this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0});this.originalResizeStyle=this.originalElement.css("resize");this.originalElement.css("resize","none");this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"}));this.originalElement.css({margin:this.originalElement.css("margin")});this._proportionallyResize()}this.handles=k.handles||(!c(".ui-resizable-handle",this.element).length?"e,s,se":{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"});if(this.handles.constructor==String){if(this.handles=="all"){this.handles="n,e,s,w,se,sw,ne,nw"}var l=this.handles.split(",");this.handles={};for(var g=0;g
');if(/sw|se|ne|nw/.test(j)){h.css({zIndex:++k.zIndex})}if("se"==j){h.addClass("ui-icon ui-icon-gripsmall-diagonal-se")}this.handles[j]=".ui-resizable-"+j;this.element.append(h)}}this._renderAxis=function(q){q=q||this.element;for(var n in this.handles){if(this.handles[n].constructor==String){this.handles[n]=c(this.handles[n],this.element).show()}if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var o=c(this.handles[n],this.element),p=0;p=/sw|ne|nw|se|n|s/.test(n)?o.outerHeight():o.outerWidth();var m=["padding",/ne|nw|n/.test(n)?"Top":/se|sw|s/.test(n)?"Bottom":/^e$/.test(n)?"Right":"Left"].join("");q.css(m,p);this._proportionallyResize()}if(!c(this.handles[n]).length){continue}}};this._renderAxis(this.element);this._handles=c(".ui-resizable-handle",this.element).disableSelection();this._handles.mouseover(function(){if(!f.resizing){if(this.className){var i=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)}f.axis=i&&i[1]?i[1]:"se"}});if(k.autoHide){this._handles.hide();c(this.element).addClass("ui-resizable-autohide").hover(function(){if(k.disabled){return}c(this).removeClass("ui-resizable-autohide");f._handles.show()},function(){if(k.disabled){return}if(!f.resizing){c(this).addClass("ui-resizable-autohide");f._handles.hide()}})}this._mouseInit()},destroy:function(){this._mouseDestroy();var e=function(g){c(g).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};if(this.elementIsWrapper){e(this.element);var f=this.element;f.after(this.originalElement.css({position:f.css("position"),width:f.outerWidth(),height:f.outerHeight(),top:f.css("top"),left:f.css("left")})).remove()}this.originalElement.css("resize",this.originalResizeStyle);e(this.originalElement);return this},_mouseCapture:function(f){var g=false;for(var e in this.handles){if(c(this.handles[e])[0]==f.target){g=true}}return !this.options.disabled&&g},_mouseStart:function(g){var j=this.options,f=this.element.position(),e=this.element;this.resizing=true;this.documentScroll={top:c(document).scrollTop(),left:c(document).scrollLeft()};if(e.is(".ui-draggable")||(/absolute/).test(e.css("position"))){e.css({position:"absolute",top:f.top,left:f.left})}this._renderProxy();var k=b(this.helper.css("left")),h=b(this.helper.css("top"));if(j.containment){k+=c(j.containment).scrollLeft()||0;h+=c(j.containment).scrollTop()||0}this.offset=this.helper.offset();this.position={left:k,top:h};this.size=this._helper?{width:e.outerWidth(),height:e.outerHeight()}:{width:e.width(),height:e.height()};this.originalSize=this._helper?{width:e.outerWidth(),height:e.outerHeight()}:{width:e.width(),height:e.height()};this.originalPosition={left:k,top:h};this.sizeDiff={width:e.outerWidth()-e.width(),height:e.outerHeight()-e.height()};this.originalMousePosition={left:g.pageX,top:g.pageY};this.aspectRatio=(typeof j.aspectRatio=="number")?j.aspectRatio:((this.originalSize.width/this.originalSize.height)||1);var i=c(".ui-resizable-"+this.axis).css("cursor");c("body").css("cursor",i=="auto"?this.axis+"-resize":i);e.addClass("ui-resizable-resizing");this._propagate("start",g);return true},_mouseDrag:function(e){var h=this.helper,g=this.options,m={},q=this,j=this.originalMousePosition,n=this.axis;var r=(e.pageX-j.left)||0,p=(e.pageY-j.top)||0;var i=this._change[n];if(!i){return false}var l=i.apply(this,[e,r,p]),k=c.browser.msie&&c.browser.version<7,f=this.sizeDiff;this._updateVirtualBoundaries(e.shiftKey);if(this._aspectRatio||e.shiftKey){l=this._updateRatio(l,e)}l=this._respectSize(l,e);this._propagate("resize",e);h.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"});if(!this._helper&&this._proportionallyResizeElements.length){this._proportionallyResize()}this._updateCache(l);this._trigger("resize",e,this.ui());return false},_mouseStop:function(h){this.resizing=false;var i=this.options,m=this;if(this._helper){var g=this._proportionallyResizeElements,e=g.length&&(/textarea/i).test(g[0].nodeName),f=e&&c.ui.hasScroll(g[0],"left")?0:m.sizeDiff.height,k=e?0:m.sizeDiff.width;var n={width:(m.helper.width()-k),height:(m.helper.height()-f)},j=(parseInt(m.element.css("left"),10)+(m.position.left-m.originalPosition.left))||null,l=(parseInt(m.element.css("top"),10)+(m.position.top-m.originalPosition.top))||null;if(!i.animate){this.element.css(c.extend(n,{top:l,left:j}))}m.helper.height(m.size.height);m.helper.width(m.size.width);if(this._helper&&!i.animate){this._proportionallyResize()}}c("body").css("cursor","auto");this.element.removeClass("ui-resizable-resizing");this._propagate("stop",h);if(this._helper){this.helper.remove()}return false},_updateVirtualBoundaries:function(g){var j=this.options,i,h,f,k,e;e={minWidth:a(j.minWidth)?j.minWidth:0,maxWidth:a(j.maxWidth)?j.maxWidth:Infinity,minHeight:a(j.minHeight)?j.minHeight:0,maxHeight:a(j.maxHeight)?j.maxHeight:Infinity};if(this._aspectRatio||g){i=e.minHeight*this.aspectRatio;f=e.minWidth/this.aspectRatio;h=e.maxHeight*this.aspectRatio;k=e.maxWidth/this.aspectRatio;if(i>e.minWidth){e.minWidth=i}if(f>e.minHeight){e.minHeight=f}if(hl.width),s=a(l.height)&&i.minHeight&&(i.minHeight>l.height);if(h){l.width=i.minWidth}if(s){l.height=i.minHeight}if(t){l.width=i.maxWidth}if(m){l.height=i.maxHeight}var f=this.originalPosition.left+this.originalSize.width,p=this.position.top+this.size.height;var k=/sw|nw|w/.test(q),e=/nw|ne|n/.test(q);if(h&&k){l.left=f-i.minWidth}if(t&&k){l.left=f-i.maxWidth}if(s&&e){l.top=p-i.minHeight}if(m&&e){l.top=p-i.maxHeight}var n=!l.width&&!l.height;if(n&&!l.left&&l.top){l.top=null}else{if(n&&!l.top&&l.left){l.left=null}}return l},_proportionallyResize:function(){var k=this.options;if(!this._proportionallyResizeElements.length){return}var g=this.helper||this.element;for(var f=0;f');var e=c.browser.msie&&c.browser.version<7,g=(e?1:0),h=(e?2:-1);this.helper.addClass(this._helper).css({width:this.element.outerWidth()+h,height:this.element.outerHeight()+h,position:"absolute",left:this.elementOffset.left-g+"px",top:this.elementOffset.top-g+"px",zIndex:++i.zIndex});this.helper.appendTo("body").disableSelection()}else{this.helper=this.element}},_change:{e:function(g,f,e){return{width:this.originalSize.width+f}},w:function(h,f,e){var j=this.options,g=this.originalSize,i=this.originalPosition;return{left:i.left+f,width:g.width-f}},n:function(h,f,e){var j=this.options,g=this.originalSize,i=this.originalPosition;return{top:i.top+e,height:g.height-e}},s:function(g,f,e){return{height:this.originalSize.height+e}},se:function(g,f,e){return c.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[g,f,e]))},sw:function(g,f,e){return c.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[g,f,e]))},ne:function(g,f,e){return c.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[g,f,e]))},nw:function(g,f,e){return c.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[g,f,e]))}},_propagate:function(f,e){c.ui.plugin.call(this,f,[e,this.ui()]);(f!="resize"&&this._trigger(f,e,this.ui()))},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}});c.extend(c.ui.resizable,{version:"1.8.18"});c.ui.plugin.add("resizable","alsoResize",{start:function(f,g){var e=c(this).data("resizable"),i=e.options;var h=function(j){c(j).each(function(){var k=c(this);k.data("resizable-alsoresize",{width:parseInt(k.width(),10),height:parseInt(k.height(),10),left:parseInt(k.css("left"),10),top:parseInt(k.css("top"),10)})})};if(typeof(i.alsoResize)=="object"&&!i.alsoResize.parentNode){if(i.alsoResize.length){i.alsoResize=i.alsoResize[0];h(i.alsoResize)}else{c.each(i.alsoResize,function(j){h(j)})}}else{h(i.alsoResize)}},resize:function(g,i){var f=c(this).data("resizable"),j=f.options,h=f.originalSize,l=f.originalPosition;var k={height:(f.size.height-h.height)||0,width:(f.size.width-h.width)||0,top:(f.position.top-l.top)||0,left:(f.position.left-l.left)||0},e=function(m,n){c(m).each(function(){var q=c(this),r=c(this).data("resizable-alsoresize"),p={},o=n&&n.length?n:q.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];c.each(o,function(s,u){var t=(r[u]||0)+(k[u]||0);if(t&&t>=0){p[u]=t||null}});q.css(p)})};if(typeof(j.alsoResize)=="object"&&!j.alsoResize.nodeType){c.each(j.alsoResize,function(m,n){e(m,n)})}else{e(j.alsoResize)}},stop:function(e,f){c(this).removeData("resizable-alsoresize")}});c.ui.plugin.add("resizable","animate",{stop:function(i,n){var p=c(this).data("resizable"),j=p.options;var h=p._proportionallyResizeElements,e=h.length&&(/textarea/i).test(h[0].nodeName),f=e&&c.ui.hasScroll(h[0],"left")?0:p.sizeDiff.height,l=e?0:p.sizeDiff.width;var g={width:(p.size.width-l),height:(p.size.height-f)},k=(parseInt(p.element.css("left"),10)+(p.position.left-p.originalPosition.left))||null,m=(parseInt(p.element.css("top"),10)+(p.position.top-p.originalPosition.top))||null;p.element.animate(c.extend(g,m&&k?{top:m,left:k}:{}),{duration:j.animateDuration,easing:j.animateEasing,step:function(){var o={width:parseInt(p.element.css("width"),10),height:parseInt(p.element.css("height"),10),top:parseInt(p.element.css("top"),10),left:parseInt(p.element.css("left"),10)};if(h&&h.length){c(h[0]).css({width:o.width,height:o.height})}p._updateCache(o);p._propagate("resize",i)}})}});c.ui.plugin.add("resizable","containment",{start:function(f,r){var t=c(this).data("resizable"),j=t.options,l=t.element;var g=j.containment,k=(g instanceof c)?g.get(0):(/parent/.test(g))?l.parent().get(0):g;if(!k){return}t.containerElement=c(k);if(/document/.test(g)||g==document){t.containerOffset={left:0,top:0};t.containerPosition={left:0,top:0};t.parentData={element:c(document),left:0,top:0,width:c(document).width(),height:c(document).height()||document.body.parentNode.scrollHeight}}else{var n=c(k),i=[];c(["Top","Right","Left","Bottom"]).each(function(p,o){i[p]=b(n.css("padding"+o))});t.containerOffset=n.offset();t.containerPosition=n.position();t.containerSize={height:(n.innerHeight()-i[3]),width:(n.innerWidth()-i[1])};var q=t.containerOffset,e=t.containerSize.height,m=t.containerSize.width,h=(c.ui.hasScroll(k,"left")?k.scrollWidth:m),s=(c.ui.hasScroll(k)?k.scrollHeight:e);t.parentData={element:k,left:q.left,top:q.top,width:h,height:s}}},resize:function(g,q){var t=c(this).data("resizable"),i=t.options,f=t.containerSize,p=t.containerOffset,m=t.size,n=t.position,r=t._aspectRatio||g.shiftKey,e={top:0,left:0},h=t.containerElement;if(h[0]!=document&&(/static/).test(h.css("position"))){e=p}if(n.left<(t._helper?p.left:0)){t.size.width=t.size.width+(t._helper?(t.position.left-p.left):(t.position.left-e.left));if(r){t.size.height=t.size.width/i.aspectRatio}t.position.left=i.helper?p.left:0}if(n.top<(t._helper?p.top:0)){t.size.height=t.size.height+(t._helper?(t.position.top-p.top):t.position.top);if(r){t.size.width=t.size.height*i.aspectRatio}t.position.top=t._helper?p.top:0}t.offset.left=t.parentData.left+t.position.left;t.offset.top=t.parentData.top+t.position.top;var l=Math.abs((t._helper?t.offset.left-e.left:(t.offset.left-e.left))+t.sizeDiff.width),s=Math.abs((t._helper?t.offset.top-e.top:(t.offset.top-p.top))+t.sizeDiff.height);var k=t.containerElement.get(0)==t.element.parent().get(0),j=/relative|absolute/.test(t.containerElement.css("position"));if(k&&j){l-=t.parentData.left}if(l+t.size.width>=t.parentData.width){t.size.width=t.parentData.width-l;if(r){t.size.height=t.size.width/t.aspectRatio}}if(s+t.size.height>=t.parentData.height){t.size.height=t.parentData.height-s;if(r){t.size.width=t.size.height*t.aspectRatio}}},stop:function(f,n){var q=c(this).data("resizable"),g=q.options,l=q.position,m=q.containerOffset,e=q.containerPosition,i=q.containerElement;var j=c(q.helper),r=j.offset(),p=j.outerWidth()-q.sizeDiff.width,k=j.outerHeight()-q.sizeDiff.height;if(q._helper&&!g.animate&&(/relative/).test(i.css("position"))){c(this).css({left:r.left-e.left-m.left,width:p,height:k})}if(q._helper&&!g.animate&&(/static/).test(i.css("position"))){c(this).css({left:r.left-e.left-m.left,width:p,height:k})}}});c.ui.plugin.add("resizable","ghost",{start:function(g,h){var e=c(this).data("resizable"),i=e.options,f=e.size;e.ghost=e.originalElement.clone();e.ghost.css({opacity:0.25,display:"block",position:"relative",height:f.height,width:f.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof i.ghost=="string"?i.ghost:"");e.ghost.appendTo(e.helper)},resize:function(f,g){var e=c(this).data("resizable"),h=e.options;if(e.ghost){e.ghost.css({position:"relative",height:e.size.height,width:e.size.width})}},stop:function(f,g){var e=c(this).data("resizable"),h=e.options;if(e.ghost&&e.helper){e.helper.get(0).removeChild(e.ghost.get(0))}}});c.ui.plugin.add("resizable","grid",{resize:function(e,m){var p=c(this).data("resizable"),h=p.options,k=p.size,i=p.originalSize,j=p.originalPosition,n=p.axis,l=h._aspectRatio||e.shiftKey;h.grid=typeof h.grid=="number"?[h.grid,h.grid]:h.grid;var g=Math.round((k.width-i.width)/(h.grid[0]||1))*(h.grid[0]||1),f=Math.round((k.height-i.height)/(h.grid[1]||1))*(h.grid[1]||1);if(/^(se|s|e)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f}else{if(/^(ne)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f;p.position.top=j.top-f}else{if(/^(sw)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f;p.position.left=j.left-g}else{p.size.width=i.width+g;p.size.height=i.height+f;p.position.top=j.top-f;p.position.left=j.left-g}}}}});var b=function(e){return parseInt(e,10)||0};var a=function(e){return !isNaN(parseInt(e,10))}})(jQuery);/*! + * jQuery hashchange event - v1.3 - 7/21/2010 + * http://benalman.com/projects/jquery-hashchange-plugin/ + * + * Copyright (c) 2010 "Cowboy" Ben Alman + * Dual licensed under the MIT and GPL licenses. + * http://benalman.com/about/license/ + */ +(function($,e,b){var c="hashchange",h=document,f,g=$.event.special,i=h.documentMode,d="on"+c in e&&(i===b||i>7);function a(j){j=j||location.href;return"#"+j.replace(/^[^#]*#?(.*)$/,"$1")}$.fn[c]=function(j){return j?this.bind(c,j):this.trigger(c)};$.fn[c].delay=50;g[c]=$.extend(g[c],{setup:function(){if(d){return false}$(f.start)},teardown:function(){if(d){return false}$(f.stop)}});f=(function(){var j={},p,m=a(),k=function(q){return q},l=k,o=k;j.start=function(){p||n()};j.stop=function(){p&&clearTimeout(p);p=b};function n(){var r=a(),q=o(m);if(r!==m){l(m=r,q);$(e).trigger(c)}else{if(q!==m){location.href=location.href.replace(/#.*/,"")+q}}p=setTimeout(n,$.fn[c].delay)}$.browser.msie&&!d&&(function(){var q,r;j.start=function(){if(!q){r=$.fn[c].src;r=r&&r+a();q=$(' + + + + +
+ +
+
json.hpp File Reference
+
+
+
#include <algorithm>
+#include <array>
+#include <cassert>
+#include <cctype>
+#include <ciso646>
+#include <cmath>
+#include <cstddef>
+#include <cstdint>
+#include <cstdlib>
+#include <cstring>
+#include <forward_list>
+#include <functional>
+#include <initializer_list>
+#include <iomanip>
+#include <iostream>
+#include <iterator>
+#include <limits>
+#include <locale>
+#include <map>
+#include <memory>
+#include <numeric>
+#include <sstream>
+#include <stdexcept>
+#include <string>
+#include <type_traits>
+#include <utility>
+#include <vector>
+
+Include dependency graph for json.hpp:
+
+
+ + +
+
+This graph shows which files directly or indirectly include this file:
+
+
+ + + + + + + + + + + + + + +
+
+

Go to the source code of this file.

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Data Structures

struct  conjunction<... >
 
struct  conjunction< B1 >
 
struct  conjunction< B1, Bn... >
 
struct  negation< B >
 
struct  priority_tag< N >
 
struct  priority_tag< 0 >
 
struct  external_constructor< value_t >
 
struct  external_constructor< value_t::boolean >
 
struct  external_constructor< value_t::string >
 
struct  external_constructor< value_t::number_float >
 
struct  external_constructor< value_t::number_unsigned >
 
struct  external_constructor< value_t::number_integer >
 
struct  external_constructor< value_t::array >
 
struct  external_constructor< value_t::object >
 
struct  is_compatible_object_type_impl< B, RealType, CompatibleObjectType >
 
struct  is_compatible_object_type_impl< true, RealType, CompatibleObjectType >
 
struct  is_compatible_object_type< BasicJsonType, CompatibleObjectType >
 
struct  is_basic_json_nested_type< BasicJsonType, T >
 
struct  is_compatible_array_type< BasicJsonType, CompatibleArrayType >
 
struct  is_compatible_integer_type_impl< bool, typename, typename >
 
struct  is_compatible_integer_type_impl< true, RealIntegerType, CompatibleNumberIntegerType >
 
struct  is_compatible_integer_type< RealIntegerType, CompatibleNumberIntegerType >
 
struct  has_from_json< BasicJsonType, T >
 
struct  has_non_default_from_json< BasicJsonType, T >
 
struct  has_to_json< BasicJsonType, T >
 
struct  to_json_fn
 
struct  from_json_fn
 
struct  static_const< T >
 
struct  adl_serializer< typename, typename >
 default JSONSerializer template argument More...
 
class  basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >
 a class to store JSON values More...
 
class  basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::iter_impl< U >
 a template for a random access iterator for the basic_json class More...
 
class  basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::json_reverse_iterator< Base >
 a template for a reverse iterator class More...
 
class  basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::iter_impl< U >
 a template for a random access iterator for the basic_json class More...
 
class  basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::json_reverse_iterator< Base >
 a template for a reverse iterator class More...
 
struct  basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::lexer::strtonum
 parse string into a built-in arithmetic type as if the current locale is POSIX. More...
 
class  basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::json_pointer
 JSON Pointer. More...
 
struct  hash< nlohmann::json >
 hash value for JSON objects More...
 
+ + + + + + + + + +

+Namespaces

 nlohmann
 namespace for Niels Lohmann
 
 nlohmann::detail
 unnamed namespace with internal helper functions
 
 std
 
+ + + + + + + + + + + + +

+Macros

#define JSON_DEPRECATED
 
#define JSON_THROW(exception)   std::abort()
 
#define JSON_TRY   if(true)
 
#define JSON_CATCH(exception)   if(false)
 
#define NLOHMANN_JSON_HAS_HELPER(type)
 Helper to determine whether there's a key_type for T. More...
 
+ + + + + + + + + + + + + +

+Typedefs

template<bool B, typename T = void>
using enable_if_t = typename std::enable_if< B, T >::type
 
template<typename T >
using uncvref_t = typename std::remove_cv< typename std::remove_reference< T >::type >::type
 
template<typename T >
using is_unscoped_enum = std::integral_constant< bool, std::is_convertible< T, int >::value and std::is_enum< T >::value >
 
using json = basic_json<>
 default JSON class More...
 
+ + + + +

+Enumerations

enum  value_t : uint8_t {
+  null, +object, +array, +string, +
+  boolean, +number_integer, +number_unsigned, +number_float, +
+  discarded +
+ }
 the JSON type enumeration More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

bool operator< (const value_t lhs, const value_t rhs) noexcept
 comparison operator for JSON types More...
 
 NLOHMANN_JSON_HAS_HELPER (mapped_type)
 
 NLOHMANN_JSON_HAS_HELPER (key_type)
 
 NLOHMANN_JSON_HAS_HELPER (value_type)
 
 NLOHMANN_JSON_HAS_HELPER (iterator)
 
template<typename BasicJsonType , typename T , enable_if_t< std::is_same< T, typename BasicJsonType::boolean_t >::value, int > = 0>
void to_json (BasicJsonType &j, T b) noexcept
 
template<typename BasicJsonType , typename CompatibleString , enable_if_t< std::is_constructible< typename BasicJsonType::string_t, CompatibleString >::value, int > = 0>
void to_json (BasicJsonType &j, const CompatibleString &s)
 
template<typename BasicJsonType , typename FloatType , enable_if_t< std::is_floating_point< FloatType >::value, int > = 0>
void to_json (BasicJsonType &j, FloatType val) noexcept
 
template<typename BasicJsonType , typename CompatibleNumberUnsignedType , enable_if_t< is_compatible_integer_type< typename BasicJsonType::number_unsigned_t, CompatibleNumberUnsignedType >::value, int > = 0>
void to_json (BasicJsonType &j, CompatibleNumberUnsignedType val) noexcept
 
template<typename BasicJsonType , typename CompatibleNumberIntegerType , enable_if_t< is_compatible_integer_type< typename BasicJsonType::number_integer_t, CompatibleNumberIntegerType >::value, int > = 0>
void to_json (BasicJsonType &j, CompatibleNumberIntegerType val) noexcept
 
template<typename BasicJsonType , typename UnscopedEnumType , enable_if_t< is_unscoped_enum< UnscopedEnumType >::value, int > = 0>
void to_json (BasicJsonType &j, UnscopedEnumType e) noexcept
 
template<typename BasicJsonType , typename CompatibleArrayType , enable_if_t< is_compatible_array_type< BasicJsonType, CompatibleArrayType >::value or std::is_same< typename BasicJsonType::array_t, CompatibleArrayType >::value, int > = 0>
void to_json (BasicJsonType &j, const CompatibleArrayType &arr)
 
template<typename BasicJsonType , typename CompatibleObjectType , enable_if_t< is_compatible_object_type< BasicJsonType, CompatibleObjectType >::value, int > = 0>
void to_json (BasicJsonType &j, const CompatibleObjectType &arr)
 
template<typename BasicJsonType , typename ArithmeticType , enable_if_t< std::is_arithmetic< ArithmeticType >::value and not std::is_same< ArithmeticType, typename BasicJsonType::boolean_t >::value, int > = 0>
void get_arithmetic_value (const BasicJsonType &j, ArithmeticType &val)
 
template<typename BasicJsonType >
void from_json (const BasicJsonType &j, typename BasicJsonType::boolean_t &b)
 
template<typename BasicJsonType >
void from_json (const BasicJsonType &j, typename BasicJsonType::string_t &s)
 
template<typename BasicJsonType >
void from_json (const BasicJsonType &j, typename BasicJsonType::number_float_t &val)
 
template<typename BasicJsonType >
void from_json (const BasicJsonType &j, typename BasicJsonType::number_unsigned_t &val)
 
template<typename BasicJsonType >
void from_json (const BasicJsonType &j, typename BasicJsonType::number_integer_t &val)
 
template<typename BasicJsonType , typename UnscopedEnumType , enable_if_t< is_unscoped_enum< UnscopedEnumType >::value, int > = 0>
void from_json (const BasicJsonType &j, UnscopedEnumType &e)
 
template<typename BasicJsonType >
void from_json (const BasicJsonType &j, typename BasicJsonType::array_t &arr)
 
template<typename BasicJsonType , typename T , typename Allocator >
void from_json (const BasicJsonType &j, std::forward_list< T, Allocator > &l)
 
template<typename BasicJsonType , typename CompatibleArrayType >
void from_json_array_impl (const BasicJsonType &j, CompatibleArrayType &arr, priority_tag< 0 >)
 
template<typename BasicJsonType , typename CompatibleArrayType >
auto from_json_array_impl (const BasicJsonType &j, CompatibleArrayType &arr, priority_tag< 1 >) -> decltype(arr.reserve(std::declval< typename CompatibleArrayType::size_type >()), void())
 
template<typename BasicJsonType , typename CompatibleArrayType , enable_if_t< is_compatible_array_type< BasicJsonType, CompatibleArrayType >::value and not std::is_same< typename BasicJsonType::array_t, CompatibleArrayType >::value, int > = 0>
void from_json (const BasicJsonType &j, CompatibleArrayType &arr)
 
template<typename BasicJsonType , typename CompatibleObjectType , enable_if_t< is_compatible_object_type< BasicJsonType, CompatibleObjectType >::value, int > = 0>
void from_json (const BasicJsonType &j, CompatibleObjectType &obj)
 
template<typename BasicJsonType , typename ArithmeticType , enable_if_t< std::is_arithmetic< ArithmeticType >::value and not std::is_same< ArithmeticType, typename BasicJsonType::number_unsigned_t >::value and not std::is_same< ArithmeticType, typename BasicJsonType::number_integer_t >::value and not std::is_same< ArithmeticType, typename BasicJsonType::number_float_t >::value and not std::is_same< ArithmeticType, typename BasicJsonType::boolean_t >::value, int > = 0>
void from_json (const BasicJsonType &j, ArithmeticType &val)
 
template<>
void swap (nlohmann::json &j1, nlohmann::json &j2) noexcept(is_nothrow_move_constructible< nlohmann::json >::value and is_nothrow_move_assignable< nlohmann::json >::value)
 exchanges the values of two JSON objects More...
 
nlohmann::json operator"" _json (const char *s, std::size_t n)
 user-defined string literal for JSON values More...
 
nlohmann::json::json_pointer operator"" _json_pointer (const char *s, std::size_t n)
 user-defined string literal for JSON pointer More...
 
+

Macro Definition Documentation

+ +

◆ JSON_CATCH

+ +
+
+ + + + + + + + +
#define JSON_CATCH( exception)   if(false)
+
+ +

Definition at line 77 of file json.hpp.

+ +
+
+ +

◆ JSON_DEPRECATED

+ +
+
+ + + + +
#define JSON_DEPRECATED
+
+ +

Definition at line 66 of file json.hpp.

+ +
+
+ +

◆ JSON_THROW

+ +
+
+ + + + + + + + +
#define JSON_THROW( exception)   std::abort()
+
+ +

Definition at line 75 of file json.hpp.

+ +
+
+ +

◆ JSON_TRY

+ +
+
+ + + + +
#define JSON_TRY   if(true)
+
+ +

Definition at line 76 of file json.hpp.

+ +
+
+ +

◆ NLOHMANN_JSON_HAS_HELPER

+ +
+
+ + + + + + + + +
#define NLOHMANN_JSON_HAS_HELPER( type)
+
+Value:
template<typename T> struct has_##type { \
private: \
template<typename U, typename = typename U::type> \
static int detect(U &&); \
static void detect(...); \
public: \
static constexpr bool value = \
std::is_integral<decltype(detect(std::declval<T>()))>::value; \
}
+

Helper to determine whether there's a key_type for T.

+

This helper is used to tell associative containers apart from other containers such as sequence containers. For instance, std::map passes the test as it contains a mapped_type, whereas std::vector fails the test.

+
See also
http://stackoverflow.com/a/7728728/266378
+
Since
version 1.0.0, overworked in version 2.0.6
+ +

Definition at line 355 of file json.hpp.

+ +
+
+

Function Documentation

+ +

◆ operator"" _json()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
nlohmann::json operator"" _json (const char * s,
std::size_t n 
)
+
+inline
+
+ +

user-defined string literal for JSON values

+

This operator implements a user-defined string literal for JSON objects. It can be used by adding "_json" to a string literal and returns a JSON object if no parse error occurred.

+
Parameters
+ + + +
[in]sa string representation of a JSON object
[in]nthe length of string s
+
+
+
Returns
a JSON object
+
Since
version 1.0.0
+ +

Definition at line 12946 of file json.hpp.

+
+Here is the call graph for this function:
+
+
+ + + +
+ +
+
+ +

◆ operator"" _json_pointer()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
nlohmann::json::json_pointer operator"" _json_pointer (const char * s,
std::size_t n 
)
+
+inline
+
+ +

user-defined string literal for JSON pointer

+

This operator implements a user-defined string literal for JSON Pointers. It can be used by adding "_json_pointer" to a string literal and returns a JSON pointer object if no parse error occurred.

+
Parameters
+ + + +
[in]sa string representation of a JSON Pointer
[in]nthe length of string s
+
+
+
Returns
a JSON pointer object
+
Since
version 2.0.0
+ +

Definition at line 12964 of file json.hpp.

+ +
+
+ + + + + diff --git a/docs/API/json_8hpp__dep__incl.map b/docs/API/json_8hpp__dep__incl.map new file mode 100644 index 0000000..6ce92de --- /dev/null +++ b/docs/API/json_8hpp__dep__incl.map @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/docs/API/json_8hpp__dep__incl.md5 b/docs/API/json_8hpp__dep__incl.md5 new file mode 100644 index 0000000..d12faaf --- /dev/null +++ b/docs/API/json_8hpp__dep__incl.md5 @@ -0,0 +1 @@ +40c69069fa610ea0508205fcb3465cdf \ No newline at end of file diff --git a/docs/API/json_8hpp__dep__incl.png b/docs/API/json_8hpp__dep__incl.png new file mode 100644 index 0000000..ce6cf23 Binary files /dev/null and b/docs/API/json_8hpp__dep__incl.png differ diff --git a/docs/API/json_8hpp__incl.map b/docs/API/json_8hpp__incl.map new file mode 100644 index 0000000..ad709e6 --- /dev/null +++ b/docs/API/json_8hpp__incl.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/json_8hpp__incl.md5 b/docs/API/json_8hpp__incl.md5 new file mode 100644 index 0000000..70d40c0 --- /dev/null +++ b/docs/API/json_8hpp__incl.md5 @@ -0,0 +1 @@ +9c4aea70787ed1544d57e70f161d31c9 \ No newline at end of file diff --git a/docs/API/json_8hpp__incl.png b/docs/API/json_8hpp__incl.png new file mode 100644 index 0000000..6331eb2 Binary files /dev/null and b/docs/API/json_8hpp__incl.png differ diff --git a/docs/API/json_8hpp_a106b949d848bb8243a7cf94f11bcebf1_cgraph.map b/docs/API/json_8hpp_a106b949d848bb8243a7cf94f11bcebf1_cgraph.map new file mode 100644 index 0000000..d1a414b --- /dev/null +++ b/docs/API/json_8hpp_a106b949d848bb8243a7cf94f11bcebf1_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/json_8hpp_a106b949d848bb8243a7cf94f11bcebf1_cgraph.md5 b/docs/API/json_8hpp_a106b949d848bb8243a7cf94f11bcebf1_cgraph.md5 new file mode 100644 index 0000000..1568f8f --- /dev/null +++ b/docs/API/json_8hpp_a106b949d848bb8243a7cf94f11bcebf1_cgraph.md5 @@ -0,0 +1 @@ +e3a04ce7bd4f943a628bcd2ceeabd060 \ No newline at end of file diff --git a/docs/API/json_8hpp_a106b949d848bb8243a7cf94f11bcebf1_cgraph.png b/docs/API/json_8hpp_a106b949d848bb8243a7cf94f11bcebf1_cgraph.png new file mode 100644 index 0000000..a12c751 Binary files /dev/null and b/docs/API/json_8hpp_a106b949d848bb8243a7cf94f11bcebf1_cgraph.png differ diff --git a/docs/API/json_8hpp_source.html b/docs/API/json_8hpp_source.html new file mode 100644 index 0000000..85b11df --- /dev/null +++ b/docs/API/json_8hpp_source.html @@ -0,0 +1,346 @@ + + + + + + + +o-du/phy: json.hpp Source File + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
json.hpp
+
+
+Go to the documentation of this file.
1 /*
2  __ _____ _____ _____
3  __| | __| | | | JSON for Modern C++
4 | | |__ | | | | | | version 2.1.1
5 |_____|_____|_____|_|___| https://github.com/nlohmann/json
6 
7 Licensed under the MIT License <http://opensource.org/licenses/MIT>.
8 Copyright (c) 2013-2017 Niels Lohmann <http://nlohmann.me>.
9 
10 Permission is hereby granted, free of charge, to any person obtaining a copy
11 of this software and associated documentation files (the "Software"), to deal
12 in the Software without restriction, including without limitation the rights
13 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
14 copies of the Software, and to permit persons to whom the Software is
15 furnished to do so, subject to the following conditions:
16 
17 The above copyright notice and this permission notice shall be included in all
18 copies or substantial portions of the Software.
19 
20 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
21 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
22 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
23 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
24 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
25 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
26 SOFTWARE.
27 */
28 
29 #ifndef NLOHMANN_JSON_HPP
30 #define NLOHMANN_JSON_HPP
31 
32 #include <algorithm> // all_of, copy, fill, find, for_each, none_of, remove, reverse, transform
33 #include <array> // array
34 #include <cassert> // assert
35 #include <cctype> // isdigit
36 #include <ciso646> // and, not, or
37 #include <cmath> // isfinite, labs, ldexp, signbit
38 #include <cstddef> // nullptr_t, ptrdiff_t, size_t
39 #include <cstdint> // int64_t, uint64_t
40 #include <cstdlib> // abort, strtod, strtof, strtold, strtoul, strtoll, strtoull
41 #include <cstring> // strlen
42 #include <forward_list> // forward_list
43 #include <functional> // function, hash, less
44 #include <initializer_list> // initializer_list
45 #include <iomanip> // setw
46 #include <iostream> // istream, ostream
47 #include <iterator> // advance, begin, back_inserter, bidirectional_iterator_tag, distance, end, inserter, iterator, iterator_traits, next, random_access_iterator_tag, reverse_iterator
48 #include <limits> // numeric_limits
49 #include <locale> // locale
50 #include <map> // map
51 #include <memory> // addressof, allocator, allocator_traits, unique_ptr
52 #include <numeric> // accumulate
53 #include <sstream> // stringstream
54 #include <stdexcept> // domain_error, invalid_argument, out_of_range
55 #include <string> // getline, stoi, string, to_string
56 #include <type_traits> // add_pointer, conditional, decay, enable_if, false_type, integral_constant, is_arithmetic, is_base_of, is_const, is_constructible, is_convertible, is_default_constructible, is_enum, is_floating_point, is_integral, is_nothrow_move_assignable, is_nothrow_move_constructible, is_pointer, is_reference, is_same, is_scalar, is_signed, remove_const, remove_cv, remove_pointer, remove_reference, true_type, underlying_type
57 #include <utility> // declval, forward, make_pair, move, pair, swap
58 #include <vector> // vector
59 
60 // allow for portable deprecation warnings
61 #if defined(__clang__) || defined(__GNUC__) || defined(__GNUG__)
62  #define JSON_DEPRECATED __attribute__((deprecated))
63 #elif defined(_MSC_VER)
64  #define JSON_DEPRECATED __declspec(deprecated)
65 #else
66  #define JSON_DEPRECATED
67 #endif
68 
69 // allow to disable exceptions
70 #if not defined(JSON_NOEXCEPTION) || defined(__EXCEPTIONS)
71  #define JSON_THROW(exception) throw exception
72  #define JSON_TRY try
73  #define JSON_CATCH(exception) catch(exception)
74 #else
75  #define JSON_THROW(exception) std::abort()
76  #define JSON_TRY if(true)
77  #define JSON_CATCH(exception) if(false)
78 #endif
79 
85 namespace nlohmann
86 {
87 
96 namespace detail
97 {
99 // JSON type enumeration //
101 
126 enum class value_t : uint8_t
127 {
128  null,
129  object,
130  array,
131  string,
132  boolean,
135  number_float,
136  discarded
137 };
138 
148 inline bool operator<(const value_t lhs, const value_t rhs) noexcept
149 {
150  static constexpr std::array<uint8_t, 8> order = {{
151  0, // null
152  3, // object
153  4, // array
154  5, // string
155  1, // boolean
156  2, // integer
157  2, // unsigned
158  2, // float
159  }
160  };
161 
162  // discarded values are not comparable
163  if (lhs == value_t::discarded or rhs == value_t::discarded)
164  {
165  return false;
166  }
167 
168  return order[static_cast<std::size_t>(lhs)] <
169  order[static_cast<std::size_t>(rhs)];
170 }
171 
172 
174 // helpers //
176 
177 // alias templates to reduce boilerplate
178 template<bool B, typename T = void>
179 using enable_if_t = typename std::enable_if<B, T>::type;
180 
181 template<typename T>
182 using uncvref_t = typename std::remove_cv<typename std::remove_reference<T>::type>::type;
183 
184 // taken from http://stackoverflow.com/a/26936864/266378
185 template<typename T>
186 using is_unscoped_enum =
187  std::integral_constant<bool, std::is_convertible<T, int>::value and
188  std::is_enum<T>::value>;
189 
190 /*
191 Implementation of two C++17 constructs: conjunction, negation. This is needed
192 to avoid evaluating all the traits in a condition
193 
194 For example: not std::is_same<void, T>::value and has_value_type<T>::value
195 will not compile when T = void (on MSVC at least). Whereas
196 conjunction<negation<std::is_same<void, T>>, has_value_type<T>>::value will
197 stop evaluating if negation<...>::value == false
198 
199 Please note that those constructs must be used with caution, since symbols can
200 become very long quickly (which can slow down compilation and cause MSVC
201 internal compiler errors). Only use it when you have to (see example ahead).
202 */
203 template<class...> struct conjunction : std::true_type {};
204 template<class B1> struct conjunction<B1> : B1 {};
205 template<class B1, class... Bn>
206 struct conjunction<B1, Bn...> : std::conditional<bool(B1::value), conjunction<Bn...>, B1>::type {};
207 
208 template<class B> struct negation : std::integral_constant < bool, !B::value > {};
209 
210 // dispatch utility (taken from ranges-v3)
211 template<unsigned N> struct priority_tag : priority_tag < N - 1 > {};
212 template<> struct priority_tag<0> {};
213 
214 
216 // constructors //
218 
219 template<value_t> struct external_constructor;
220 
221 template<>
223 {
224  template<typename BasicJsonType>
225  static void construct(BasicJsonType& j, typename BasicJsonType::boolean_t b) noexcept
226  {
227  j.m_type = value_t::boolean;
228  j.m_value = b;
229  j.assert_invariant();
230  }
231 };
232 
233 template<>
235 {
236  template<typename BasicJsonType>
237  static void construct(BasicJsonType& j, const typename BasicJsonType::string_t& s)
238  {
239  j.m_type = value_t::string;
240  j.m_value = s;
241  j.assert_invariant();
242  }
243 };
244 
245 template<>
247 {
248  template<typename BasicJsonType>
249  static void construct(BasicJsonType& j, typename BasicJsonType::number_float_t val) noexcept
250  {
251  // replace infinity and NAN by null
252  if (not std::isfinite(val))
253  {
254  j = BasicJsonType{};
255  }
256  else
257  {
258  j.m_type = value_t::number_float;
259  j.m_value = val;
260  }
261  j.assert_invariant();
262  }
263 };
264 
265 template<>
267 {
268  template<typename BasicJsonType>
269  static void construct(BasicJsonType& j, typename BasicJsonType::number_unsigned_t val) noexcept
270  {
271  j.m_type = value_t::number_unsigned;
272  j.m_value = val;
273  j.assert_invariant();
274  }
275 };
276 
277 template<>
279 {
280  template<typename BasicJsonType>
281  static void construct(BasicJsonType& j, typename BasicJsonType::number_integer_t val) noexcept
282  {
283  j.m_type = value_t::number_integer;
284  j.m_value = val;
285  j.assert_invariant();
286  }
287 };
288 
289 template<>
291 {
292  template<typename BasicJsonType>
293  static void construct(BasicJsonType& j, const typename BasicJsonType::array_t& arr)
294  {
295  j.m_type = value_t::array;
296  j.m_value = arr;
297  j.assert_invariant();
298  }
299 
300  template<typename BasicJsonType, typename CompatibleArrayType,
301  enable_if_t<not std::is_same<CompatibleArrayType,
302  typename BasicJsonType::array_t>::value,
303  int> = 0>
304  static void construct(BasicJsonType& j, const CompatibleArrayType& arr)
305  {
306  using std::begin;
307  using std::end;
308  j.m_type = value_t::array;
309  j.m_value.array = j.template create<typename BasicJsonType::array_t>(begin(arr), end(arr));
310  j.assert_invariant();
311  }
312 };
313 
314 template<>
316 {
317  template<typename BasicJsonType>
318  static void construct(BasicJsonType& j, const typename BasicJsonType::object_t& obj)
319  {
320  j.m_type = value_t::object;
321  j.m_value = obj;
322  j.assert_invariant();
323  }
324 
325  template<typename BasicJsonType, typename CompatibleObjectType,
326  enable_if_t<not std::is_same<CompatibleObjectType,
327  typename BasicJsonType::object_t>::value,
328  int> = 0>
329  static void construct(BasicJsonType& j, const CompatibleObjectType& obj)
330  {
331  using std::begin;
332  using std::end;
333 
334  j.m_type = value_t::object;
335  j.m_value.object = j.template create<typename BasicJsonType::object_t>(begin(obj), end(obj));
336  j.assert_invariant();
337  }
338 };
339 
340 
342 // has_/is_ functions //
344 
355 #define NLOHMANN_JSON_HAS_HELPER(type) \
356  template<typename T> struct has_##type { \
357  private: \
358  template<typename U, typename = typename U::type> \
359  static int detect(U &&); \
360  static void detect(...); \
361  public: \
362  static constexpr bool value = \
363  std::is_integral<decltype(detect(std::declval<T>()))>::value; \
364  }
365 
366 NLOHMANN_JSON_HAS_HELPER(mapped_type);
367 NLOHMANN_JSON_HAS_HELPER(key_type);
368 NLOHMANN_JSON_HAS_HELPER(value_type);
369 NLOHMANN_JSON_HAS_HELPER(iterator);
370 
371 #undef NLOHMANN_JSON_HAS_HELPER
372 
373 
374 template<bool B, class RealType, class CompatibleObjectType>
375 struct is_compatible_object_type_impl : std::false_type {};
376 
377 template<class RealType, class CompatibleObjectType>
378 struct is_compatible_object_type_impl<true, RealType, CompatibleObjectType>
379 {
380  static constexpr auto value =
381  std::is_constructible<typename RealType::key_type,
382  typename CompatibleObjectType::key_type>::value and
383  std::is_constructible<typename RealType::mapped_type,
384  typename CompatibleObjectType::mapped_type>::value;
385 };
386 
387 template<class BasicJsonType, class CompatibleObjectType>
389 {
390  static auto constexpr value = is_compatible_object_type_impl <
392  has_mapped_type<CompatibleObjectType>,
393  has_key_type<CompatibleObjectType>>::value,
394  typename BasicJsonType::object_t, CompatibleObjectType >::value;
395 };
396 
397 template<typename BasicJsonType, typename T>
399 {
400  static auto constexpr value = std::is_same<T, typename BasicJsonType::iterator>::value or
401  std::is_same<T, typename BasicJsonType::const_iterator>::value or
402  std::is_same<T, typename BasicJsonType::reverse_iterator>::value or
403  std::is_same<T, typename BasicJsonType::const_reverse_iterator>::value or
404  std::is_same<T, typename BasicJsonType::json_pointer>::value;
405 };
406 
407 template<class BasicJsonType, class CompatibleArrayType>
409 {
410  static auto constexpr value =
413  BasicJsonType, CompatibleArrayType>>,
414  negation<std::is_constructible<typename BasicJsonType::string_t,
415  CompatibleArrayType>>,
417  has_value_type<CompatibleArrayType>,
418  has_iterator<CompatibleArrayType>>::value;
419 };
420 
421 template<bool, typename, typename>
422 struct is_compatible_integer_type_impl : std::false_type {};
423 
424 template<typename RealIntegerType, typename CompatibleNumberIntegerType>
425 struct is_compatible_integer_type_impl<true, RealIntegerType, CompatibleNumberIntegerType>
426 {
427  // is there an assert somewhere on overflows?
428  using RealLimits = std::numeric_limits<RealIntegerType>;
429  using CompatibleLimits = std::numeric_limits<CompatibleNumberIntegerType>;
430 
431  static constexpr auto value =
432  std::is_constructible<RealIntegerType,
433  CompatibleNumberIntegerType>::value and
434  CompatibleLimits::is_integer and
435  RealLimits::is_signed == CompatibleLimits::is_signed;
436 };
437 
438 template<typename RealIntegerType, typename CompatibleNumberIntegerType>
440 {
441  static constexpr auto value =
443  std::is_integral<CompatibleNumberIntegerType>::value and
444  not std::is_same<bool, CompatibleNumberIntegerType>::value,
445  RealIntegerType, CompatibleNumberIntegerType > ::value;
446 };
447 
448 
449 // trait checking if JSONSerializer<T>::from_json(json const&, udt&) exists
450 template<typename BasicJsonType, typename T>
452 {
453  private:
454  // also check the return type of from_json
456  std::declval<BasicJsonType>(), std::declval<T&>()))>::value>>
457  static int detect(U&&);
458  static void detect(...);
459 
460  public:
461  static constexpr bool value = std::is_integral<decltype(
462  detect(std::declval<typename BasicJsonType::template json_serializer<T, void > >()))>::value;
463 };
464 
465 // This trait checks if JSONSerializer<T>::from_json(json const&) exists
466 // this overload is used for non-default-constructible user-defined-types
467 template<typename BasicJsonType, typename T>
469 {
470  private:
471  template <
472  typename U,
473  typename = enable_if_t<std::is_same<
474  T, decltype(uncvref_t<U>::from_json(std::declval<BasicJsonType>()))>::value >>
475  static int detect(U&&);
476  static void detect(...);
477 
478  public:
479  static constexpr bool value = std::is_integral<decltype(detect(
480  std::declval<typename BasicJsonType::template json_serializer<T, void> >()))>::value;
481 };
482 
483 // This trait checks if BasicJsonType::json_serializer<T>::to_json exists
484 template<typename BasicJsonType, typename T>
486 {
487  private:
489  std::declval<BasicJsonType&>(), std::declval<T>()))>
490  static int detect(U&&);
491  static void detect(...);
492 
493  public:
494  static constexpr bool value = std::is_integral<decltype(detect(
495  std::declval<typename BasicJsonType::template json_serializer<T, void> >()))>::value;
496 };
497 
498 
500 // to_json //
502 
503 template<typename BasicJsonType, typename T, enable_if_t<
504  std::is_same<T, typename BasicJsonType::boolean_t>::value, int> = 0>
505 void to_json(BasicJsonType& j, T b) noexcept
506 {
508 }
509 
510 template<typename BasicJsonType, typename CompatibleString,
511  enable_if_t<std::is_constructible<typename BasicJsonType::string_t,
512  CompatibleString>::value, int> = 0>
513 void to_json(BasicJsonType& j, const CompatibleString& s)
514 {
516 }
517 
518 template<typename BasicJsonType, typename FloatType,
520 void to_json(BasicJsonType& j, FloatType val) noexcept
521 {
522  external_constructor<value_t::number_float>::construct(j, static_cast<typename BasicJsonType::number_float_t>(val));
523 }
524 
525 template <
526  typename BasicJsonType, typename CompatibleNumberUnsignedType,
527  enable_if_t<is_compatible_integer_type<typename BasicJsonType::number_unsigned_t,
528  CompatibleNumberUnsignedType>::value, int> = 0 >
529 void to_json(BasicJsonType& j, CompatibleNumberUnsignedType val) noexcept
530 {
531  external_constructor<value_t::number_unsigned>::construct(j, static_cast<typename BasicJsonType::number_unsigned_t>(val));
532 }
533 
534 template <
535  typename BasicJsonType, typename CompatibleNumberIntegerType,
536  enable_if_t<is_compatible_integer_type<typename BasicJsonType::number_integer_t,
537  CompatibleNumberIntegerType>::value, int> = 0 >
538 void to_json(BasicJsonType& j, CompatibleNumberIntegerType val) noexcept
539 {
540  external_constructor<value_t::number_integer>::construct(j, static_cast<typename BasicJsonType::number_integer_t>(val));
541 }
542 
543 template<typename BasicJsonType, typename UnscopedEnumType,
545 void to_json(BasicJsonType& j, UnscopedEnumType e) noexcept
546 {
548 }
549 
550 template <
551  typename BasicJsonType, typename CompatibleArrayType,
552  enable_if_t <
554  std::is_same<typename BasicJsonType::array_t, CompatibleArrayType>::value,
555  int > = 0 >
556 void to_json(BasicJsonType& j, const CompatibleArrayType& arr)
557 {
559 }
560 
561 template <
562  typename BasicJsonType, typename CompatibleObjectType,
564  int> = 0 >
565 void to_json(BasicJsonType& j, const CompatibleObjectType& arr)
566 {
568 }
569 
570 
572 // from_json //
574 
575 // overloads for basic_json template parameters
576 template<typename BasicJsonType, typename ArithmeticType,
578  not std::is_same<ArithmeticType,
579  typename BasicJsonType::boolean_t>::value,
580  int> = 0>
581 void get_arithmetic_value(const BasicJsonType& j, ArithmeticType& val)
582 {
583  switch (static_cast<value_t>(j))
584  {
586  {
587  val = static_cast<ArithmeticType>(
588  *j.template get_ptr<const typename BasicJsonType::number_unsigned_t*>());
589  break;
590  }
592  {
593  val = static_cast<ArithmeticType>(
594  *j.template get_ptr<const typename BasicJsonType::number_integer_t*>());
595  break;
596  }
598  {
599  val = static_cast<ArithmeticType>(
600  *j.template get_ptr<const typename BasicJsonType::number_float_t*>());
601  break;
602  }
603  default:
604  {
605  JSON_THROW(
606  std::domain_error("type must be number, but is " + j.type_name()));
607  }
608  }
609 }
610 
611 template<typename BasicJsonType>
612 void from_json(const BasicJsonType& j, typename BasicJsonType::boolean_t& b)
613 {
614  if (not j.is_boolean())
615  {
616  JSON_THROW(std::domain_error("type must be boolean, but is " + j.type_name()));
617  }
618  b = *j.template get_ptr<const typename BasicJsonType::boolean_t*>();
619 }
620 
621 template<typename BasicJsonType>
622 void from_json(const BasicJsonType& j, typename BasicJsonType::string_t& s)
623 {
624  if (not j.is_string())
625  {
626  JSON_THROW(std::domain_error("type must be string, but is " + j.type_name()));
627  }
628  s = *j.template get_ptr<const typename BasicJsonType::string_t*>();
629 }
630 
631 template<typename BasicJsonType>
632 void from_json(const BasicJsonType& j, typename BasicJsonType::number_float_t& val)
633 {
634  get_arithmetic_value(j, val);
635 }
636 
637 template<typename BasicJsonType>
638 void from_json(const BasicJsonType& j, typename BasicJsonType::number_unsigned_t& val)
639 {
640  get_arithmetic_value(j, val);
641 }
642 
643 template<typename BasicJsonType>
644 void from_json(const BasicJsonType& j, typename BasicJsonType::number_integer_t& val)
645 {
646  get_arithmetic_value(j, val);
647 }
648 
649 template<typename BasicJsonType, typename UnscopedEnumType,
650  enable_if_t<is_unscoped_enum<UnscopedEnumType>::value, int> = 0>
651 void from_json(const BasicJsonType& j, UnscopedEnumType& e)
652 {
653  typename std::underlying_type<UnscopedEnumType>::type val;
654  get_arithmetic_value(j, val);
655  e = static_cast<UnscopedEnumType>(val);
656 }
657 
658 template<typename BasicJsonType>
659 void from_json(const BasicJsonType& j, typename BasicJsonType::array_t& arr)
660 {
661  if (not j.is_array())
662  {
663  JSON_THROW(std::domain_error("type must be array, but is " + j.type_name()));
664  }
665  arr = *j.template get_ptr<const typename BasicJsonType::array_t*>();
666 }
667 
668 // forward_list doesn't have an insert method
669 template<typename BasicJsonType, typename T, typename Allocator>
670 void from_json(const BasicJsonType& j, std::forward_list<T, Allocator>& l)
671 {
672  // do not perform the check when user wants to retrieve jsons
673  // (except when it's null.. ?)
674  if (j.is_null())
675  {
676  JSON_THROW(std::domain_error("type must be array, but is " + j.type_name()));
677  }
678  if (not std::is_same<T, BasicJsonType>::value)
679  {
680  if (not j.is_array())
681  {
682  JSON_THROW(std::domain_error("type must be array, but is " + j.type_name()));
683  }
684  }
685  for (auto it = j.rbegin(), end = j.rend(); it != end; ++it)
686  {
687  l.push_front(it->template get<T>());
688  }
689 }
690 
691 template<typename BasicJsonType, typename CompatibleArrayType>
692 void from_json_array_impl(const BasicJsonType& j, CompatibleArrayType& arr, priority_tag<0>)
693 {
694  using std::begin;
695  using std::end;
696 
697  std::transform(j.begin(), j.end(),
698  std::inserter(arr, end(arr)), [](const BasicJsonType & i)
699  {
700  // get<BasicJsonType>() returns *this, this won't call a from_json
701  // method when value_type is BasicJsonType
702  return i.template get<typename CompatibleArrayType::value_type>();
703  });
704 }
705 
706 template<typename BasicJsonType, typename CompatibleArrayType>
707 auto from_json_array_impl(const BasicJsonType& j, CompatibleArrayType& arr, priority_tag<1>)
708 -> decltype(
709  arr.reserve(std::declval<typename CompatibleArrayType::size_type>()),
710  void())
711 {
712  using std::begin;
713  using std::end;
714 
715  arr.reserve(j.size());
716  std::transform(
717  j.begin(), j.end(), std::inserter(arr, end(arr)), [](const BasicJsonType & i)
718  {
719  // get<BasicJsonType>() returns *this, this won't call a from_json
720  // method when value_type is BasicJsonType
721  return i.template get<typename CompatibleArrayType::value_type>();
722  });
723 }
724 
725 template<typename BasicJsonType, typename CompatibleArrayType,
727  not std::is_same<typename BasicJsonType::array_t, CompatibleArrayType>::value, int> = 0>
728 void from_json(const BasicJsonType& j, CompatibleArrayType& arr)
729 {
730  if (j.is_null())
731  {
732  JSON_THROW(std::domain_error("type must be array, but is " + j.type_name()));
733  }
734 
735  // when T == BasicJsonType, do not check if value_t is correct
736  if (not std::is_same<typename CompatibleArrayType::value_type, BasicJsonType>::value)
737  {
738  if (not j.is_array())
739  {
740  JSON_THROW(std::domain_error("type must be array, but is " + j.type_name()));
741  }
742  }
744 }
745 
746 template<typename BasicJsonType, typename CompatibleObjectType,
747  enable_if_t<is_compatible_object_type<BasicJsonType, CompatibleObjectType>::value, int> = 0>
748 void from_json(const BasicJsonType& j, CompatibleObjectType& obj)
749 {
750  if (not j.is_object())
751  {
752  JSON_THROW(std::domain_error("type must be object, but is " + j.type_name()));
753  }
754 
755  auto inner_object = j.template get_ptr<const typename BasicJsonType::object_t*>();
756  using std::begin;
757  using std::end;
758  // we could avoid the assignment, but this might require a for loop, which
759  // might be less efficient than the container constructor for some
760  // containers (would it?)
761  obj = CompatibleObjectType(begin(*inner_object), end(*inner_object));
762 }
763 
764 // overload for arithmetic types, not chosen for basic_json template arguments
765 // (BooleanType, etc..); note: Is it really necessary to provide explicit
766 // overloads for boolean_t etc. in case of a custom BooleanType which is not
767 // an arithmetic type?
768 template<typename BasicJsonType, typename ArithmeticType,
769  enable_if_t <
770  std::is_arithmetic<ArithmeticType>::value and
771  not std::is_same<ArithmeticType, typename BasicJsonType::number_unsigned_t>::value and
772  not std::is_same<ArithmeticType, typename BasicJsonType::number_integer_t>::value and
773  not std::is_same<ArithmeticType, typename BasicJsonType::number_float_t>::value and
774  not std::is_same<ArithmeticType, typename BasicJsonType::boolean_t>::value,
775  int> = 0>
776 void from_json(const BasicJsonType& j, ArithmeticType& val)
777 {
778  switch (static_cast<value_t>(j))
779  {
781  {
782  val = static_cast<ArithmeticType>(*j.template get_ptr<const typename BasicJsonType::number_unsigned_t*>());
783  break;
784  }
786  {
787  val = static_cast<ArithmeticType>(*j.template get_ptr<const typename BasicJsonType::number_integer_t*>());
788  break;
789  }
791  {
792  val = static_cast<ArithmeticType>(*j.template get_ptr<const typename BasicJsonType::number_float_t*>());
793  break;
794  }
795  case value_t::boolean:
796  {
797  val = static_cast<ArithmeticType>(*j.template get_ptr<const typename BasicJsonType::boolean_t*>());
798  break;
799  }
800  default:
801  {
802  JSON_THROW(std::domain_error("type must be number, but is " + j.type_name()));
803  }
804  }
805 }
806 
808 {
809  private:
810  template<typename BasicJsonType, typename T>
811  auto call(BasicJsonType& j, T&& val, priority_tag<1>) const noexcept(noexcept(to_json(j, std::forward<T>(val))))
812  -> decltype(to_json(j, std::forward<T>(val)), void())
813  {
814  return to_json(j, std::forward<T>(val));
815  }
816 
817  template<typename BasicJsonType, typename T>
818  void call(BasicJsonType&, T&&, priority_tag<0>) const noexcept
819  {
820  static_assert(sizeof(BasicJsonType) == 0,
821  "could not find to_json() method in T's namespace");
822  }
823 
824  public:
825  template<typename BasicJsonType, typename T>
826  void operator()(BasicJsonType& j, T&& val) const
827  noexcept(noexcept(std::declval<to_json_fn>().call(j, std::forward<T>(val), priority_tag<1> {})))
828  {
829  return call(j, std::forward<T>(val), priority_tag<1> {});
830  }
831 };
832 
834 {
835  private:
836  template<typename BasicJsonType, typename T>
837  auto call(const BasicJsonType& j, T& val, priority_tag<1>) const
838  noexcept(noexcept(from_json(j, val)))
839  -> decltype(from_json(j, val), void())
840  {
841  return from_json(j, val);
842  }
843 
844  template<typename BasicJsonType, typename T>
845  void call(const BasicJsonType&, T&, priority_tag<0>) const noexcept
846  {
847  static_assert(sizeof(BasicJsonType) == 0,
848  "could not find from_json() method in T's namespace");
849  }
850 
851  public:
852  template<typename BasicJsonType, typename T>
853  void operator()(const BasicJsonType& j, T& val) const
854  noexcept(noexcept(std::declval<from_json_fn>().call(j, val, priority_tag<1> {})))
855  {
856  return call(j, val, priority_tag<1> {});
857  }
858 };
859 
860 // taken from ranges-v3
861 template<typename T>
863 {
864  static constexpr T value{};
865 };
866 
867 template<typename T>
868 constexpr T static_const<T>::value;
869 } // namespace detail
870 
871 
873 namespace
874 {
877 }
878 
879 
887 template<typename = void, typename = void>
889 {
899  template<typename BasicJsonType, typename ValueType>
900  static void from_json(BasicJsonType&& j, ValueType& val) noexcept(
901  noexcept(::nlohmann::from_json(std::forward<BasicJsonType>(j), val)))
902  {
903  ::nlohmann::from_json(std::forward<BasicJsonType>(j), val);
904  }
905 
915  template<typename BasicJsonType, typename ValueType>
916  static void to_json(BasicJsonType& j, ValueType&& val) noexcept(
917  noexcept(::nlohmann::to_json(j, std::forward<ValueType>(val))))
918  {
919  ::nlohmann::to_json(j, std::forward<ValueType>(val));
920  }
921 };
922 
923 
1005 template <
1006  template<typename U, typename V, typename... Args> class ObjectType = std::map,
1007  template<typename U, typename... Args> class ArrayType = std::vector,
1008  class StringType = std::string,
1009  class BooleanType = bool,
1010  class NumberIntegerType = std::int64_t,
1011  class NumberUnsignedType = std::uint64_t,
1012  class NumberFloatType = double,
1013  template<typename U> class AllocatorType = std::allocator,
1014  template<typename T, typename SFINAE = void> class JSONSerializer = adl_serializer
1015  >
1017 {
1018  private:
1019  template<detail::value_t> friend struct detail::external_constructor;
1021  using basic_json_t = basic_json<ObjectType, ArrayType, StringType,
1022  BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType,
1023  AllocatorType, JSONSerializer>;
1024 
1025  public:
1027  // forward declarations
1028  template<typename U> class iter_impl;
1029  template<typename Base> class json_reverse_iterator;
1030  class json_pointer;
1031  template<typename T, typename SFINAE>
1032  using json_serializer = JSONSerializer<T, SFINAE>;
1033 
1035  // container types //
1037 
1042 
1045 
1049  using const_reference = const value_type&;
1050 
1052  using difference_type = std::ptrdiff_t;
1054  using size_type = std::size_t;
1055 
1057  using allocator_type = AllocatorType<basic_json>;
1058 
1060  using pointer = typename std::allocator_traits<allocator_type>::pointer;
1062  using const_pointer = typename std::allocator_traits<allocator_type>::const_pointer;
1063 
1072 
1074 
1075 
1080  {
1081  return allocator_type();
1082  }
1083 
1107  static basic_json meta()
1108  {
1109  basic_json result;
1110 
1111  result["copyright"] = "(C) 2013-2017 Niels Lohmann";
1112  result["name"] = "JSON for Modern C++";
1113  result["url"] = "https://github.com/nlohmann/json";
1114  result["version"] =
1115  {
1116  {"string", "2.1.1"},
1117  {"major", 2},
1118  {"minor", 1},
1119  {"patch", 1}
1120  };
1121 
1122 #ifdef _WIN32
1123  result["platform"] = "win32";
1124 #elif defined __linux__
1125  result["platform"] = "linux";
1126 #elif defined __APPLE__
1127  result["platform"] = "apple";
1128 #elif defined __unix__
1129  result["platform"] = "unix";
1130 #else
1131  result["platform"] = "unknown";
1132 #endif
1133 
1134 #if defined(__clang__)
1135  result["compiler"] = {{"family", "clang"}, {"version", __clang_version__}};
1136 #elif defined(__ICC) || defined(__INTEL_COMPILER)
1137  result["compiler"] = {{"family", "icc"}, {"version", __INTEL_COMPILER}};
1138 #elif defined(__GNUC__) || defined(__GNUG__)
1139  result["compiler"] = {{"family", "gcc"}, {"version", std::to_string(__GNUC__) + "." + std::to_string(__GNUC_MINOR__) + "." + std::to_string(__GNUC_PATCHLEVEL__)}};
1140 #elif defined(__HP_cc) || defined(__HP_aCC)
1141  result["compiler"] = "hp"
1142 #elif defined(__IBMCPP__)
1143  result["compiler"] = {{"family", "ilecpp"}, {"version", __IBMCPP__}};
1144 #elif defined(_MSC_VER)
1145  result["compiler"] = {{"family", "msvc"}, {"version", _MSC_VER}};
1146 #elif defined(__PGI)
1147  result["compiler"] = {{"family", "pgcpp"}, {"version", __PGI}};
1148 #elif defined(__SUNPRO_CC)
1149  result["compiler"] = {{"family", "sunpro"}, {"version", __SUNPRO_CC}};
1150 #else
1151  result["compiler"] = {{"family", "unknown"}, {"version", "unknown"}};
1152 #endif
1153 
1154 #ifdef __cplusplus
1155  result["compiler"]["c++"] = std::to_string(__cplusplus);
1156 #else
1157  result["compiler"]["c++"] = "unknown";
1158 #endif
1159  return result;
1160  }
1161 
1162 
1164  // JSON value data types //
1166 
1171 
1255  using object_t = ObjectType<StringType,
1256  basic_json,
1257  std::less<StringType>,
1258  AllocatorType<std::pair<const StringType,
1259  basic_json>>>;
1260 
1305  using array_t = ArrayType<basic_json, AllocatorType<basic_json>>;
1306 
1358  using string_t = StringType;
1359 
1384  using boolean_t = BooleanType;
1385 
1456  using number_integer_t = NumberIntegerType;
1457 
1527  using number_unsigned_t = NumberUnsignedType;
1528 
1595  using number_float_t = NumberFloatType;
1596 
1598 
1599  private:
1600 
1602  template<typename T, typename... Args>
1603  static T* create(Args&& ... args)
1604  {
1605  AllocatorType<T> alloc;
1606  auto deleter = [&](T * object)
1607  {
1608  alloc.deallocate(object, 1);
1609  };
1610  std::unique_ptr<T, decltype(deleter)> object(alloc.allocate(1), deleter);
1611  alloc.construct(object.get(), std::forward<Args>(args)...);
1612  assert(object != nullptr);
1613  return object.release();
1614  }
1615 
1617  // JSON value storage //
1619 
1644  union json_value
1645  {
1647  object_t* object;
1649  array_t* array;
1651  string_t* string;
1660 
1662  json_value() = default;
1664  json_value(boolean_t v) noexcept : boolean(v) {}
1666  json_value(number_integer_t v) noexcept : number_integer(v) {}
1668  json_value(number_unsigned_t v) noexcept : number_unsigned(v) {}
1670  json_value(number_float_t v) noexcept : number_float(v) {}
1672  json_value(value_t t)
1673  {
1674  switch (t)
1675  {
1676  case value_t::object:
1677  {
1678  object = create<object_t>();
1679  break;
1680  }
1681 
1682  case value_t::array:
1683  {
1684  array = create<array_t>();
1685  break;
1686  }
1687 
1688  case value_t::string:
1689  {
1690  string = create<string_t>("");
1691  break;
1692  }
1693 
1694  case value_t::boolean:
1695  {
1696  boolean = boolean_t(false);
1697  break;
1698  }
1699 
1701  {
1702  number_integer = number_integer_t(0);
1703  break;
1704  }
1705 
1707  {
1708  number_unsigned = number_unsigned_t(0);
1709  break;
1710  }
1711 
1712  case value_t::number_float:
1713  {
1714  number_float = number_float_t(0.0);
1715  break;
1716  }
1717 
1718  case value_t::null:
1719  {
1720  break;
1721  }
1722 
1723  default:
1724  {
1725  if (t == value_t::null)
1726  {
1727  JSON_THROW(std::domain_error("961c151d2e87f2686a955a9be24d316f1362bf21 2.1.1")); // LCOV_EXCL_LINE
1728  }
1729  break;
1730  }
1731  }
1732  }
1733 
1735  json_value(const string_t& value)
1736  {
1737  string = create<string_t>(value);
1738  }
1739 
1741  json_value(const object_t& value)
1742  {
1743  object = create<object_t>(value);
1744  }
1745 
1747  json_value(const array_t& value)
1748  {
1749  array = create<array_t>(value);
1750  }
1751  };
1752 
1762  void assert_invariant() const
1763  {
1764  assert(m_type != value_t::object or m_value.object != nullptr);
1765  assert(m_type != value_t::array or m_value.array != nullptr);
1766  assert(m_type != value_t::string or m_value.string != nullptr);
1767  }
1768 
1769  public:
1771  // JSON parser callback //
1773 
1784  enum class parse_event_t : uint8_t
1785  {
1787  object_start,
1789  object_end,
1791  array_start,
1793  array_end,
1795  key,
1797  value
1798  };
1799 
1852  using parser_callback_t = std::function<bool(int depth,
1853  parse_event_t event,
1854  basic_json& parsed)>;
1855 
1856 
1858  // constructors //
1860 
1865 
1894  : m_type(value_type), m_value(value_type)
1895  {
1896  assert_invariant();
1897  }
1898 
1917  basic_json(std::nullptr_t = nullptr) noexcept
1918  : basic_json(value_t::null)
1919  {
1920  assert_invariant();
1921  }
1922 
1976  template<typename CompatibleType, typename U = detail::uncvref_t<CompatibleType>,
1977  detail::enable_if_t<not std::is_base_of<std::istream, U>::value and
1978  not std::is_same<U, basic_json_t>::value and
1979  not detail::is_basic_json_nested_type<
1980  basic_json_t, U>::value and
1981  detail::has_to_json<basic_json, U>::value,
1982  int> = 0>
1983  basic_json(CompatibleType && val) noexcept(noexcept(JSONSerializer<U>::to_json(
1984  std::declval<basic_json_t&>(), std::forward<CompatibleType>(val))))
1985  {
1986  JSONSerializer<U>::to_json(*this, std::forward<CompatibleType>(val));
1987  assert_invariant();
1988  }
1989 
2059  basic_json(std::initializer_list<basic_json> init,
2060  bool type_deduction = true,
2061  value_t manual_type = value_t::array)
2062  {
2063  // check if each element is an array with two elements whose first
2064  // element is a string
2065  bool is_an_object = std::all_of(init.begin(), init.end(),
2066  [](const basic_json & element)
2067  {
2068  return element.is_array() and element.size() == 2 and element[0].is_string();
2069  });
2070 
2071  // adjust type if type deduction is not wanted
2072  if (not type_deduction)
2073  {
2074  // if array is wanted, do not create an object though possible
2075  if (manual_type == value_t::array)
2076  {
2077  is_an_object = false;
2078  }
2079 
2080  // if object is wanted but impossible, throw an exception
2081  if (manual_type == value_t::object and not is_an_object)
2082  {
2083  JSON_THROW(std::domain_error("cannot create object from initializer list"));
2084  }
2085  }
2086 
2087  if (is_an_object)
2088  {
2089  // the initializer list is a list of pairs -> create object
2090  m_type = value_t::object;
2091  m_value = value_t::object;
2092 
2093  std::for_each(init.begin(), init.end(), [this](const basic_json & element)
2094  {
2095  m_value.object->emplace(*(element[0].m_value.string), element[1]);
2096  });
2097  }
2098  else
2099  {
2100  // the initializer list describes an array -> create array
2101  m_type = value_t::array;
2102  m_value.array = create<array_t>(init);
2103  }
2104 
2105  assert_invariant();
2106  }
2107 
2142  static basic_json array(std::initializer_list<basic_json> init =
2143  std::initializer_list<basic_json>())
2144  {
2145  return basic_json(init, false, value_t::array);
2146  }
2147 
2182  static basic_json object(std::initializer_list<basic_json> init =
2183  std::initializer_list<basic_json>())
2184  {
2185  return basic_json(init, false, value_t::object);
2186  }
2187 
2207  : m_type(value_t::array)
2208  {
2209  m_value.array = create<array_t>(cnt, val);
2210  assert_invariant();
2211  }
2212 
2250  template<class InputIT, typename std::enable_if<
2251  std::is_same<InputIT, typename basic_json_t::iterator>::value or
2252  std::is_same<InputIT, typename basic_json_t::const_iterator>::value, int>::type = 0>
2253  basic_json(InputIT first, InputIT last)
2254  {
2255  assert(first.m_object != nullptr);
2256  assert(last.m_object != nullptr);
2257 
2258  // make sure iterator fits the current value
2259  if (first.m_object != last.m_object)
2260  {
2261  JSON_THROW(std::domain_error("iterators are not compatible"));
2262  }
2263 
2264  // copy type from first iterator
2265  m_type = first.m_object->m_type;
2266 
2267  // check if iterator range is complete for primitive values
2268  switch (m_type)
2269  {
2270  case value_t::boolean:
2271  case value_t::number_float:
2274  case value_t::string:
2275  {
2276  if (not first.m_it.primitive_iterator.is_begin() or not last.m_it.primitive_iterator.is_end())
2277  {
2278  JSON_THROW(std::out_of_range("iterators out of range"));
2279  }
2280  break;
2281  }
2282 
2283  default:
2284  {
2285  break;
2286  }
2287  }
2288 
2289  switch (m_type)
2290  {
2292  {
2293  m_value.number_integer = first.m_object->m_value.number_integer;
2294  break;
2295  }
2296 
2298  {
2299  m_value.number_unsigned = first.m_object->m_value.number_unsigned;
2300  break;
2301  }
2302 
2303  case value_t::number_float:
2304  {
2305  m_value.number_float = first.m_object->m_value.number_float;
2306  break;
2307  }
2308 
2309  case value_t::boolean:
2310  {
2311  m_value.boolean = first.m_object->m_value.boolean;
2312  break;
2313  }
2314 
2315  case value_t::string:
2316  {
2317  m_value = *first.m_object->m_value.string;
2318  break;
2319  }
2320 
2321  case value_t::object:
2322  {
2323  m_value.object = create<object_t>(first.m_it.object_iterator,
2324  last.m_it.object_iterator);
2325  break;
2326  }
2327 
2328  case value_t::array:
2329  {
2330  m_value.array = create<array_t>(first.m_it.array_iterator,
2331  last.m_it.array_iterator);
2332  break;
2333  }
2334 
2335  default:
2336  {
2337  JSON_THROW(std::domain_error("cannot use construct with iterators from " + first.m_object->type_name()));
2338  }
2339  }
2340 
2341  assert_invariant();
2342  }
2343 
2373  explicit basic_json(std::istream& i, const parser_callback_t cb = nullptr)
2374  {
2375  *this = parser(i, cb).parse();
2376  assert_invariant();
2377  }
2378 
2380  // other constructors and destructor //
2382 
2405  basic_json(const basic_json& other)
2406  : m_type(other.m_type)
2407  {
2408  // check of passed value is valid
2409  other.assert_invariant();
2410 
2411  switch (m_type)
2412  {
2413  case value_t::object:
2414  {
2415  m_value = *other.m_value.object;
2416  break;
2417  }
2418 
2419  case value_t::array:
2420  {
2421  m_value = *other.m_value.array;
2422  break;
2423  }
2424 
2425  case value_t::string:
2426  {
2427  m_value = *other.m_value.string;
2428  break;
2429  }
2430 
2431  case value_t::boolean:
2432  {
2433  m_value = other.m_value.boolean;
2434  break;
2435  }
2436 
2438  {
2439  m_value = other.m_value.number_integer;
2440  break;
2441  }
2442 
2444  {
2445  m_value = other.m_value.number_unsigned;
2446  break;
2447  }
2448 
2449  case value_t::number_float:
2450  {
2451  m_value = other.m_value.number_float;
2452  break;
2453  }
2454 
2455  default:
2456  {
2457  break;
2458  }
2459  }
2460 
2461  assert_invariant();
2462  }
2463 
2482  basic_json(basic_json&& other) noexcept
2483  : m_type(std::move(other.m_type)),
2484  m_value(std::move(other.m_value))
2485  {
2486  // check that passed value is valid
2487  other.assert_invariant();
2488 
2489  // invalidate payload
2490  other.m_type = value_t::null;
2491  other.m_value = {};
2492 
2493  assert_invariant();
2494  }
2495 
2519  reference& operator=(basic_json other) noexcept (
2520  std::is_nothrow_move_constructible<value_t>::value and
2521  std::is_nothrow_move_assignable<value_t>::value and
2522  std::is_nothrow_move_constructible<json_value>::value and
2523  std::is_nothrow_move_assignable<json_value>::value
2524  )
2525  {
2526  // check that passed value is valid
2527  other.assert_invariant();
2528 
2529  using std::swap;
2530  swap(m_type, other.m_type);
2531  swap(m_value, other.m_value);
2532 
2533  assert_invariant();
2534  return *this;
2535  }
2536 
2553  {
2554  assert_invariant();
2555 
2556  switch (m_type)
2557  {
2558  case value_t::object:
2559  {
2560  AllocatorType<object_t> alloc;
2561  alloc.destroy(m_value.object);
2562  alloc.deallocate(m_value.object, 1);
2563  break;
2564  }
2565 
2566  case value_t::array:
2567  {
2568  AllocatorType<array_t> alloc;
2569  alloc.destroy(m_value.array);
2570  alloc.deallocate(m_value.array, 1);
2571  break;
2572  }
2573 
2574  case value_t::string:
2575  {
2576  AllocatorType<string_t> alloc;
2577  alloc.destroy(m_value.string);
2578  alloc.deallocate(m_value.string, 1);
2579  break;
2580  }
2581 
2582  default:
2583  {
2584  // all other types need no specific destructor
2585  break;
2586  }
2587  }
2588  }
2589 
2591 
2592  public:
2594  // object inspection //
2596 
2600 
2624  string_t dump(const int indent = -1) const
2625  {
2626  std::stringstream ss;
2627 
2628  if (indent >= 0)
2629  {
2630  dump(ss, true, static_cast<unsigned int>(indent));
2631  }
2632  else
2633  {
2634  dump(ss, false, 0);
2635  }
2636 
2637  return ss.str();
2638  }
2639 
2658  constexpr value_t type() const noexcept
2659  {
2660  return m_type;
2661  }
2662 
2688  constexpr bool is_primitive() const noexcept
2689  {
2690  return is_null() or is_string() or is_boolean() or is_number();
2691  }
2692 
2715  constexpr bool is_structured() const noexcept
2716  {
2717  return is_array() or is_object();
2718  }
2719 
2737  constexpr bool is_null() const noexcept
2738  {
2739  return m_type == value_t::null;
2740  }
2741 
2759  constexpr bool is_boolean() const noexcept
2760  {
2761  return m_type == value_t::boolean;
2762  }
2763 
2789  constexpr bool is_number() const noexcept
2790  {
2791  return is_number_integer() or is_number_float();
2792  }
2793 
2818  constexpr bool is_number_integer() const noexcept
2819  {
2820  return m_type == value_t::number_integer or m_type == value_t::number_unsigned;
2821  }
2822 
2846  constexpr bool is_number_unsigned() const noexcept
2847  {
2848  return m_type == value_t::number_unsigned;
2849  }
2850 
2874  constexpr bool is_number_float() const noexcept
2875  {
2876  return m_type == value_t::number_float;
2877  }
2878 
2896  constexpr bool is_object() const noexcept
2897  {
2898  return m_type == value_t::object;
2899  }
2900 
2918  constexpr bool is_array() const noexcept
2919  {
2920  return m_type == value_t::array;
2921  }
2922 
2940  constexpr bool is_string() const noexcept
2941  {
2942  return m_type == value_t::string;
2943  }
2944 
2967  constexpr bool is_discarded() const noexcept
2968  {
2969  return m_type == value_t::discarded;
2970  }
2971 
2990  constexpr operator value_t() const noexcept
2991  {
2992  return m_type;
2993  }
2994 
2996 
2997  private:
2999  // value access //
3001 
3003  boolean_t get_impl(boolean_t* /*unused*/) const
3004  {
3005  if (is_boolean())
3006  {
3007  return m_value.boolean;
3008  }
3009 
3010  JSON_THROW(std::domain_error("type must be boolean, but is " + type_name()));
3011  }
3012 
3014  object_t* get_impl_ptr(object_t* /*unused*/) noexcept
3015  {
3016  return is_object() ? m_value.object : nullptr;
3017  }
3018 
3020  constexpr const object_t* get_impl_ptr(const object_t* /*unused*/) const noexcept
3021  {
3022  return is_object() ? m_value.object : nullptr;
3023  }
3024 
3026  array_t* get_impl_ptr(array_t* /*unused*/) noexcept
3027  {
3028  return is_array() ? m_value.array : nullptr;
3029  }
3030 
3032  constexpr const array_t* get_impl_ptr(const array_t* /*unused*/) const noexcept
3033  {
3034  return is_array() ? m_value.array : nullptr;
3035  }
3036 
3038  string_t* get_impl_ptr(string_t* /*unused*/) noexcept
3039  {
3040  return is_string() ? m_value.string : nullptr;
3041  }
3042 
3044  constexpr const string_t* get_impl_ptr(const string_t* /*unused*/) const noexcept
3045  {
3046  return is_string() ? m_value.string : nullptr;
3047  }
3048 
3050  boolean_t* get_impl_ptr(boolean_t* /*unused*/) noexcept
3051  {
3052  return is_boolean() ? &m_value.boolean : nullptr;
3053  }
3054 
3056  constexpr const boolean_t* get_impl_ptr(const boolean_t* /*unused*/) const noexcept
3057  {
3058  return is_boolean() ? &m_value.boolean : nullptr;
3059  }
3060 
3062  number_integer_t* get_impl_ptr(number_integer_t* /*unused*/) noexcept
3063  {
3064  return is_number_integer() ? &m_value.number_integer : nullptr;
3065  }
3066 
3068  constexpr const number_integer_t* get_impl_ptr(const number_integer_t* /*unused*/) const noexcept
3069  {
3070  return is_number_integer() ? &m_value.number_integer : nullptr;
3071  }
3072 
3074  number_unsigned_t* get_impl_ptr(number_unsigned_t* /*unused*/) noexcept
3075  {
3076  return is_number_unsigned() ? &m_value.number_unsigned : nullptr;
3077  }
3078 
3080  constexpr const number_unsigned_t* get_impl_ptr(const number_unsigned_t* /*unused*/) const noexcept
3081  {
3082  return is_number_unsigned() ? &m_value.number_unsigned : nullptr;
3083  }
3084 
3086  number_float_t* get_impl_ptr(number_float_t* /*unused*/) noexcept
3087  {
3088  return is_number_float() ? &m_value.number_float : nullptr;
3089  }
3090 
3092  constexpr const number_float_t* get_impl_ptr(const number_float_t* /*unused*/) const noexcept
3093  {
3094  return is_number_float() ? &m_value.number_float : nullptr;
3095  }
3096 
3108  template<typename ReferenceType, typename ThisType>
3109  static ReferenceType get_ref_impl(ThisType& obj)
3110  {
3111  // helper type
3112  using PointerType = typename std::add_pointer<ReferenceType>::type;
3113 
3114  // delegate the call to get_ptr<>()
3115  auto ptr = obj.template get_ptr<PointerType>();
3116 
3117  if (ptr != nullptr)
3118  {
3119  return *ptr;
3120  }
3121 
3122  JSON_THROW(std::domain_error("incompatible ReferenceType for get_ref, actual type is " +
3123  obj.type_name()));
3124  }
3125 
3126  public:
3130 
3145  template <
3146  typename BasicJsonType,
3148  basic_json_t>::value,
3149  int> = 0 >
3150  basic_json get() const
3151  {
3152  return *this;
3153  }
3154 
3194  template <
3195  typename ValueTypeCV,
3196  typename ValueType = detail::uncvref_t<ValueTypeCV>,
3198  not std::is_same<basic_json_t, ValueType>::value and
3201  int > = 0 >
3202  ValueType get() const noexcept(noexcept(
3203  JSONSerializer<ValueType>::from_json(std::declval<const basic_json_t&>(), std::declval<ValueType&>())))
3204  {
3205  // we cannot static_assert on ValueTypeCV being non-const, because
3206  // there is support for get<const basic_json_t>(), which is why we
3207  // still need the uncvref
3208  static_assert(not std::is_reference<ValueTypeCV>::value,
3209  "get() cannot be used with reference types, you might want to use get_ref()");
3210  static_assert(std::is_default_constructible<ValueType>::value,
3211  "types must be DefaultConstructible when used with get()");
3212 
3213  ValueType ret;
3215  return ret;
3216  }
3217 
3249  template <
3250  typename ValueTypeCV,
3251  typename ValueType = detail::uncvref_t<ValueTypeCV>,
3254  ValueType>::value, int> = 0 >
3255  ValueType get() const noexcept(noexcept(
3256  JSONSerializer<ValueTypeCV>::from_json(std::declval<const basic_json_t&>())))
3257  {
3258  static_assert(not std::is_reference<ValueTypeCV>::value,
3259  "get() cannot be used with reference types, you might want to use get_ref()");
3261  }
3262 
3290  template<typename PointerType, typename std::enable_if<
3291  std::is_pointer<PointerType>::value, int>::type = 0>
3292  PointerType get() noexcept
3293  {
3294  // delegate the call to get_ptr
3295  return get_ptr<PointerType>();
3296  }
3297 
3302  template<typename PointerType, typename std::enable_if<
3303  std::is_pointer<PointerType>::value, int>::type = 0>
3304  constexpr const PointerType get() const noexcept
3305  {
3306  // delegate the call to get_ptr
3307  return get_ptr<PointerType>();
3308  }
3309 
3336  template<typename PointerType, typename std::enable_if<
3337  std::is_pointer<PointerType>::value, int>::type = 0>
3338  PointerType get_ptr() noexcept
3339  {
3340  // get the type of the PointerType (remove pointer and const)
3341  using pointee_t = typename std::remove_const<typename
3342  std::remove_pointer<typename
3343  std::remove_const<PointerType>::type>::type>::type;
3344  // make sure the type matches the allowed types
3345  static_assert(
3346  std::is_same<object_t, pointee_t>::value
3347  or std::is_same<array_t, pointee_t>::value
3348  or std::is_same<string_t, pointee_t>::value
3349  or std::is_same<boolean_t, pointee_t>::value
3350  or std::is_same<number_integer_t, pointee_t>::value
3351  or std::is_same<number_unsigned_t, pointee_t>::value
3352  or std::is_same<number_float_t, pointee_t>::value
3353  , "incompatible pointer type");
3354 
3355  // delegate the call to get_impl_ptr<>()
3356  return get_impl_ptr(static_cast<PointerType>(nullptr));
3357  }
3358 
3363  template<typename PointerType, typename std::enable_if<
3364  std::is_pointer<PointerType>::value and
3365  std::is_const<typename std::remove_pointer<PointerType>::type>::value, int>::type = 0>
3366  constexpr const PointerType get_ptr() const noexcept
3367  {
3368  // get the type of the PointerType (remove pointer and const)
3369  using pointee_t = typename std::remove_const<typename
3370  std::remove_pointer<typename
3371  std::remove_const<PointerType>::type>::type>::type;
3372  // make sure the type matches the allowed types
3373  static_assert(
3374  std::is_same<object_t, pointee_t>::value
3375  or std::is_same<array_t, pointee_t>::value
3376  or std::is_same<string_t, pointee_t>::value
3377  or std::is_same<boolean_t, pointee_t>::value
3378  or std::is_same<number_integer_t, pointee_t>::value
3379  or std::is_same<number_unsigned_t, pointee_t>::value
3380  or std::is_same<number_float_t, pointee_t>::value
3381  , "incompatible pointer type");
3382 
3383  // delegate the call to get_impl_ptr<>() const
3384  return get_impl_ptr(static_cast<const PointerType>(nullptr));
3385  }
3386 
3413  template<typename ReferenceType, typename std::enable_if<
3414  std::is_reference<ReferenceType>::value, int>::type = 0>
3415  ReferenceType get_ref()
3416  {
3417  // delegate call to get_ref_impl
3418  return get_ref_impl<ReferenceType>(*this);
3419  }
3420 
3425  template<typename ReferenceType, typename std::enable_if<
3426  std::is_reference<ReferenceType>::value and
3427  std::is_const<typename std::remove_reference<ReferenceType>::type>::value, int>::type = 0>
3428  ReferenceType get_ref() const
3429  {
3430  // delegate call to get_ref_impl
3431  return get_ref_impl<ReferenceType>(*this);
3432  }
3433 
3462  template < typename ValueType, typename std::enable_if <
3463  not std::is_pointer<ValueType>::value and
3464  not std::is_same<ValueType, typename string_t::value_type>::value
3465 #ifndef _MSC_VER // fix for issue #167 operator<< ambiguity under VS2015
3466  and not std::is_same<ValueType, std::initializer_list<typename string_t::value_type>>::value
3467 #endif
3468  , int >::type = 0 >
3469  operator ValueType() const
3470  {
3471  // delegate the call to get<>() const
3472  return get<ValueType>();
3473  }
3474 
3476 
3477 
3479  // element access //
3481 
3485 
3509  {
3510  // at only works for arrays
3511  if (is_array())
3512  {
3513  JSON_TRY
3514  {
3515  return m_value.array->at(idx);
3516  }
3517  JSON_CATCH (std::out_of_range&)
3518  {
3519  // create better exception explanation
3520  JSON_THROW(std::out_of_range("array index " + std::to_string(idx) + " is out of range"));
3521  }
3522  }
3523  else
3524  {
3525  JSON_THROW(std::domain_error("cannot use at() with " + type_name()));
3526  }
3527  }
3528 
3552  {
3553  // at only works for arrays
3554  if (is_array())
3555  {
3556  JSON_TRY
3557  {
3558  return m_value.array->at(idx);
3559  }
3560  JSON_CATCH (std::out_of_range&)
3561  {
3562  // create better exception explanation
3563  JSON_THROW(std::out_of_range("array index " + std::to_string(idx) + " is out of range"));
3564  }
3565  }
3566  else
3567  {
3568  JSON_THROW(std::domain_error("cannot use at() with " + type_name()));
3569  }
3570  }
3571 
3598  reference at(const typename object_t::key_type& key)
3599  {
3600  // at only works for objects
3601  if (is_object())
3602  {
3603  JSON_TRY
3604  {
3605  return m_value.object->at(key);
3606  }
3607  JSON_CATCH (std::out_of_range&)
3608  {
3609  // create better exception explanation
3610  JSON_THROW(std::out_of_range("key '" + key + "' not found"));
3611  }
3612  }
3613  else
3614  {
3615  JSON_THROW(std::domain_error("cannot use at() with " + type_name()));
3616  }
3617  }
3618 
3645  const_reference at(const typename object_t::key_type& key) const
3646  {
3647  // at only works for objects
3648  if (is_object())
3649  {
3650  JSON_TRY
3651  {
3652  return m_value.object->at(key);
3653  }
3654  JSON_CATCH (std::out_of_range&)
3655  {
3656  // create better exception explanation
3657  JSON_THROW(std::out_of_range("key '" + key + "' not found"));
3658  }
3659  }
3660  else
3661  {
3662  JSON_THROW(std::domain_error("cannot use at() with " + type_name()));
3663  }
3664  }
3665 
3692  {
3693  // implicitly convert null value to an empty array
3694  if (is_null())
3695  {
3696  m_type = value_t::array;
3697  m_value.array = create<array_t>();
3698  assert_invariant();
3699  }
3700 
3701  // operator[] only works for arrays
3702  if (is_array())
3703  {
3704  // fill up array with null values if given idx is outside range
3705  if (idx >= m_value.array->size())
3706  {
3707  m_value.array->insert(m_value.array->end(),
3708  idx - m_value.array->size() + 1,
3709  basic_json());
3710  }
3711 
3712  return m_value.array->operator[](idx);
3713  }
3714 
3715  JSON_THROW(std::domain_error("cannot use operator[] with " + type_name()));
3716  }
3717 
3738  {
3739  // const operator[] only works for arrays
3740  if (is_array())
3741  {
3742  return m_value.array->operator[](idx);
3743  }
3744 
3745  JSON_THROW(std::domain_error("cannot use operator[] with " + type_name()));
3746  }
3747 
3775  reference operator[](const typename object_t::key_type& key)
3776  {
3777  // implicitly convert null value to an empty object
3778  if (is_null())
3779  {
3780  m_type = value_t::object;
3781  m_value.object = create<object_t>();
3782  assert_invariant();
3783  }
3784 
3785  // operator[] only works for objects
3786  if (is_object())
3787  {
3788  return m_value.object->operator[](key);
3789  }
3790 
3791  JSON_THROW(std::domain_error("cannot use operator[] with " + type_name()));
3792  }
3793 
3824  const_reference operator[](const typename object_t::key_type& key) const
3825  {
3826  // const operator[] only works for objects
3827  if (is_object())
3828  {
3829  assert(m_value.object->find(key) != m_value.object->end());
3830  return m_value.object->find(key)->second;
3831  }
3832 
3833  JSON_THROW(std::domain_error("cannot use operator[] with " + type_name()));
3834  }
3835 
3863  template<typename T, std::size_t n>
3864  reference operator[](T * (&key)[n])
3865  {
3866  return operator[](static_cast<const T>(key));
3867  }
3868 
3898  template<typename T, std::size_t n>
3899  const_reference operator[](T * (&key)[n]) const
3900  {
3901  return operator[](static_cast<const T>(key));
3902  }
3903 
3931  template<typename T>
3933  {
3934  // implicitly convert null to object
3935  if (is_null())
3936  {
3937  m_type = value_t::object;
3938  m_value = value_t::object;
3939  assert_invariant();
3940  }
3941 
3942  // at only works for objects
3943  if (is_object())
3944  {
3945  return m_value.object->operator[](key);
3946  }
3947 
3948  JSON_THROW(std::domain_error("cannot use operator[] with " + type_name()));
3949  }
3950 
3981  template<typename T>
3983  {
3984  // at only works for objects
3985  if (is_object())
3986  {
3987  assert(m_value.object->find(key) != m_value.object->end());
3988  return m_value.object->find(key)->second;
3989  }
3990 
3991  JSON_THROW(std::domain_error("cannot use operator[] with " + type_name()));
3992  }
3993 
4042  template<class ValueType, typename std::enable_if<
4043  std::is_convertible<basic_json_t, ValueType>::value, int>::type = 0>
4044  ValueType value(const typename object_t::key_type& key, ValueType default_value) const
4045  {
4046  // at only works for objects
4047  if (is_object())
4048  {
4049  // if key is found, return value and given default value otherwise
4050  const auto it = find(key);
4051  if (it != end())
4052  {
4053  return *it;
4054  }
4055 
4056  return default_value;
4057  }
4058  else
4059  {
4060  JSON_THROW(std::domain_error("cannot use value() with " + type_name()));
4061  }
4062  }
4063 
4068  string_t value(const typename object_t::key_type& key, const char* default_value) const
4069  {
4070  return value(key, string_t(default_value));
4071  }
4072 
4114  template<class ValueType, typename std::enable_if<
4115  std::is_convertible<basic_json_t, ValueType>::value, int>::type = 0>
4116  ValueType value(const json_pointer& ptr, ValueType default_value) const
4117  {
4118  // at only works for objects
4119  if (is_object())
4120  {
4121  // if pointer resolves a value, return it or use default value
4122  JSON_TRY
4123  {
4124  return ptr.get_checked(this);
4125  }
4126  JSON_CATCH (std::out_of_range&)
4127  {
4128  return default_value;
4129  }
4130  }
4131 
4132  JSON_THROW(std::domain_error("cannot use value() with " + type_name()));
4133  }
4134 
4139  string_t value(const json_pointer& ptr, const char* default_value) const
4140  {
4141  return value(ptr, string_t(default_value));
4142  }
4143 
4170  {
4171  return *begin();
4172  }
4173 
4178  {
4179  return *cbegin();
4180  }
4181 
4213  {
4214  auto tmp = end();
4215  --tmp;
4216  return *tmp;
4217  }
4218 
4223  {
4224  auto tmp = cend();
4225  --tmp;
4226  return *tmp;
4227  }
4228 
4274  template<class IteratorType, typename std::enable_if<
4275  std::is_same<IteratorType, typename basic_json_t::iterator>::value or
4276  std::is_same<IteratorType, typename basic_json_t::const_iterator>::value, int>::type
4277  = 0>
4278  IteratorType erase(IteratorType pos)
4279  {
4280  // make sure iterator fits the current value
4281  if (this != pos.m_object)
4282  {
4283  JSON_THROW(std::domain_error("iterator does not fit current value"));
4284  }
4285 
4286  IteratorType result = end();
4287 
4288  switch (m_type)
4289  {
4290  case value_t::boolean:
4291  case value_t::number_float:
4294  case value_t::string:
4295  {
4296  if (not pos.m_it.primitive_iterator.is_begin())
4297  {
4298  JSON_THROW(std::out_of_range("iterator out of range"));
4299  }
4300 
4301  if (is_string())
4302  {
4303  AllocatorType<string_t> alloc;
4304  alloc.destroy(m_value.string);
4305  alloc.deallocate(m_value.string, 1);
4306  m_value.string = nullptr;
4307  }
4308 
4309  m_type = value_t::null;
4310  assert_invariant();
4311  break;
4312  }
4313 
4314  case value_t::object:
4315  {
4316  result.m_it.object_iterator = m_value.object->erase(pos.m_it.object_iterator);
4317  break;
4318  }
4319 
4320  case value_t::array:
4321  {
4322  result.m_it.array_iterator = m_value.array->erase(pos.m_it.array_iterator);
4323  break;
4324  }
4325 
4326  default:
4327  {
4328  JSON_THROW(std::domain_error("cannot use erase() with " + type_name()));
4329  }
4330  }
4331 
4332  return result;
4333  }
4334 
4381  template<class IteratorType, typename std::enable_if<
4382  std::is_same<IteratorType, typename basic_json_t::iterator>::value or
4383  std::is_same<IteratorType, typename basic_json_t::const_iterator>::value, int>::type
4384  = 0>
4385  IteratorType erase(IteratorType first, IteratorType last)
4386  {
4387  // make sure iterator fits the current value
4388  if (this != first.m_object or this != last.m_object)
4389  {
4390  JSON_THROW(std::domain_error("iterators do not fit current value"));
4391  }
4392 
4393  IteratorType result = end();
4394 
4395  switch (m_type)
4396  {
4397  case value_t::boolean:
4398  case value_t::number_float:
4401  case value_t::string:
4402  {
4403  if (not first.m_it.primitive_iterator.is_begin() or not last.m_it.primitive_iterator.is_end())
4404  {
4405  JSON_THROW(std::out_of_range("iterators out of range"));
4406  }
4407 
4408  if (is_string())
4409  {
4410  AllocatorType<string_t> alloc;
4411  alloc.destroy(m_value.string);
4412  alloc.deallocate(m_value.string, 1);
4413  m_value.string = nullptr;
4414  }
4415 
4416  m_type = value_t::null;
4417  assert_invariant();
4418  break;
4419  }
4420 
4421  case value_t::object:
4422  {
4423  result.m_it.object_iterator = m_value.object->erase(first.m_it.object_iterator,
4424  last.m_it.object_iterator);
4425  break;
4426  }
4427 
4428  case value_t::array:
4429  {
4430  result.m_it.array_iterator = m_value.array->erase(first.m_it.array_iterator,
4431  last.m_it.array_iterator);
4432  break;
4433  }
4434 
4435  default:
4436  {
4437  JSON_THROW(std::domain_error("cannot use erase() with " + type_name()));
4438  }
4439  }
4440 
4441  return result;
4442  }
4443 
4473  size_type erase(const typename object_t::key_type& key)
4474  {
4475  // this erase only works for objects
4476  if (is_object())
4477  {
4478  return m_value.object->erase(key);
4479  }
4480 
4481  JSON_THROW(std::domain_error("cannot use erase() with " + type_name()));
4482  }
4483 
4508  void erase(const size_type idx)
4509  {
4510  // this erase only works for arrays
4511  if (is_array())
4512  {
4513  if (idx >= size())
4514  {
4515  JSON_THROW(std::out_of_range("array index " + std::to_string(idx) + " is out of range"));
4516  }
4517 
4518  m_value.array->erase(m_value.array->begin() + static_cast<difference_type>(idx));
4519  }
4520  else
4521  {
4522  JSON_THROW(std::domain_error("cannot use erase() with " + type_name()));
4523  }
4524  }
4525 
4527 
4528 
4530  // lookup //
4532 
4535 
4558  iterator find(typename object_t::key_type key)
4559  {
4560  auto result = end();
4561 
4562  if (is_object())
4563  {
4564  result.m_it.object_iterator = m_value.object->find(key);
4565  }
4566 
4567  return result;
4568  }
4569 
4574  const_iterator find(typename object_t::key_type key) const
4575  {
4576  auto result = cend();
4577 
4578  if (is_object())
4579  {
4580  result.m_it.object_iterator = m_value.object->find(key);
4581  }
4582 
4583  return result;
4584  }
4585 
4607  size_type count(typename object_t::key_type key) const
4608  {
4609  // return 0 for all nonobject types
4610  return is_object() ? m_value.object->count(key) : 0;
4611  }
4612 
4614 
4615 
4617  // iterators //
4619 
4622 
4647  iterator begin() noexcept
4648  {
4649  iterator result(this);
4650  result.set_begin();
4651  return result;
4652  }
4653 
4657  const_iterator begin() const noexcept
4658  {
4659  return cbegin();
4660  }
4661 
4687  const_iterator cbegin() const noexcept
4688  {
4689  const_iterator result(this);
4690  result.set_begin();
4691  return result;
4692  }
4693 
4718  iterator end() noexcept
4719  {
4720  iterator result(this);
4721  result.set_end();
4722  return result;
4723  }
4724 
4728  const_iterator end() const noexcept
4729  {
4730  return cend();
4731  }
4732 
4758  const_iterator cend() const noexcept
4759  {
4760  const_iterator result(this);
4761  result.set_end();
4762  return result;
4763  }
4764 
4789  {
4790  return reverse_iterator(end());
4791  }
4792 
4797  {
4798  return crbegin();
4799  }
4800 
4826  {
4827  return reverse_iterator(begin());
4828  }
4829 
4833  const_reverse_iterator rend() const noexcept
4834  {
4835  return crend();
4836  }
4837 
4863  {
4864  return const_reverse_iterator(cend());
4865  }
4866 
4892  {
4893  return const_reverse_iterator(cbegin());
4894  }
4895 
4896  private:
4897  // forward declaration
4898  template<typename IteratorType> class iteration_proxy;
4899 
4900  public:
4912  static iteration_proxy<iterator> iterator_wrapper(reference cont)
4913  {
4914  return iteration_proxy<iterator>(cont);
4915  }
4916 
4920  static iteration_proxy<const_iterator> iterator_wrapper(const_reference cont)
4921  {
4922  return iteration_proxy<const_iterator>(cont);
4923  }
4924 
4926 
4927 
4929  // capacity //
4931 
4934 
4972  bool empty() const noexcept
4973  {
4974  switch (m_type)
4975  {
4976  case value_t::null:
4977  {
4978  // null values are empty
4979  return true;
4980  }
4981 
4982  case value_t::array:
4983  {
4984  // delegate call to array_t::empty()
4985  return m_value.array->empty();
4986  }
4987 
4988  case value_t::object:
4989  {
4990  // delegate call to object_t::empty()
4991  return m_value.object->empty();
4992  }
4993 
4994  default:
4995  {
4996  // all other types are nonempty
4997  return false;
4998  }
4999  }
5000  }
5001 
5040  size_type size() const noexcept
5041  {
5042  switch (m_type)
5043  {
5044  case value_t::null:
5045  {
5046  // null values are empty
5047  return 0;
5048  }
5049 
5050  case value_t::array:
5051  {
5052  // delegate call to array_t::size()
5053  return m_value.array->size();
5054  }
5055 
5056  case value_t::object:
5057  {
5058  // delegate call to object_t::size()
5059  return m_value.object->size();
5060  }
5061 
5062  default:
5063  {
5064  // all other types have size 1
5065  return 1;
5066  }
5067  }
5068  }
5069 
5106  size_type max_size() const noexcept
5107  {
5108  switch (m_type)
5109  {
5110  case value_t::array:
5111  {
5112  // delegate call to array_t::max_size()
5113  return m_value.array->max_size();
5114  }
5115 
5116  case value_t::object:
5117  {
5118  // delegate call to object_t::max_size()
5119  return m_value.object->max_size();
5120  }
5121 
5122  default:
5123  {
5124  // all other types have max_size() == size()
5125  return size();
5126  }
5127  }
5128  }
5129 
5131 
5132 
5134  // modifiers //
5136 
5139 
5162  void clear() noexcept
5163  {
5164  switch (m_type)
5165  {
5167  {
5168  m_value.number_integer = 0;
5169  break;
5170  }
5171 
5173  {
5174  m_value.number_unsigned = 0;
5175  break;
5176  }
5177 
5178  case value_t::number_float:
5179  {
5180  m_value.number_float = 0.0;
5181  break;
5182  }
5183 
5184  case value_t::boolean:
5185  {
5186  m_value.boolean = false;
5187  break;
5188  }
5189 
5190  case value_t::string:
5191  {
5192  m_value.string->clear();
5193  break;
5194  }
5195 
5196  case value_t::array:
5197  {
5198  m_value.array->clear();
5199  break;
5200  }
5201 
5202  case value_t::object:
5203  {
5204  m_value.object->clear();
5205  break;
5206  }
5207 
5208  default:
5209  {
5210  break;
5211  }
5212  }
5213  }
5214 
5235  void push_back(basic_json&& val)
5236  {
5237  // push_back only works for null objects or arrays
5238  if (not(is_null() or is_array()))
5239  {
5240  JSON_THROW(std::domain_error("cannot use push_back() with " + type_name()));
5241  }
5242 
5243  // transform null object into an array
5244  if (is_null())
5245  {
5246  m_type = value_t::array;
5247  m_value = value_t::array;
5248  assert_invariant();
5249  }
5250 
5251  // add element to array (move semantics)
5252  m_value.array->push_back(std::move(val));
5253  // invalidate object
5254  val.m_type = value_t::null;
5255  }
5256 
5262  {
5263  push_back(std::move(val));
5264  return *this;
5265  }
5266 
5271  void push_back(const basic_json& val)
5272  {
5273  // push_back only works for null objects or arrays
5274  if (not(is_null() or is_array()))
5275  {
5276  JSON_THROW(std::domain_error("cannot use push_back() with " + type_name()));
5277  }
5278 
5279  // transform null object into an array
5280  if (is_null())
5281  {
5282  m_type = value_t::array;
5283  m_value = value_t::array;
5284  assert_invariant();
5285  }
5286 
5287  // add element to array
5288  m_value.array->push_back(val);
5289  }
5290 
5296  {
5297  push_back(val);
5298  return *this;
5299  }
5300 
5321  void push_back(const typename object_t::value_type& val)
5322  {
5323  // push_back only works for null objects or objects
5324  if (not(is_null() or is_object()))
5325  {
5326  JSON_THROW(std::domain_error("cannot use push_back() with " + type_name()));
5327  }
5328 
5329  // transform null object into an object
5330  if (is_null())
5331  {
5332  m_type = value_t::object;
5333  m_value = value_t::object;
5334  assert_invariant();
5335  }
5336 
5337  // add element to array
5338  m_value.object->insert(val);
5339  }
5340 
5345  reference operator+=(const typename object_t::value_type& val)
5346  {
5347  push_back(val);
5348  return *this;
5349  }
5350 
5376  void push_back(std::initializer_list<basic_json> init)
5377  {
5378  if (is_object() and init.size() == 2 and init.begin()->is_string())
5379  {
5380  const string_t key = *init.begin();
5381  push_back(typename object_t::value_type(key, *(init.begin() + 1)));
5382  }
5383  else
5384  {
5385  push_back(basic_json(init));
5386  }
5387  }
5388 
5393  reference operator+=(std::initializer_list<basic_json> init)
5394  {
5395  push_back(init);
5396  return *this;
5397  }
5398 
5420  template<class... Args>
5421  void emplace_back(Args&& ... args)
5422  {
5423  // emplace_back only works for null objects or arrays
5424  if (not(is_null() or is_array()))
5425  {
5426  JSON_THROW(std::domain_error("cannot use emplace_back() with " + type_name()));
5427  }
5428 
5429  // transform null object into an array
5430  if (is_null())
5431  {
5432  m_type = value_t::array;
5433  m_value = value_t::array;
5434  assert_invariant();
5435  }
5436 
5437  // add element to array (perfect forwarding)
5438  m_value.array->emplace_back(std::forward<Args>(args)...);
5439  }
5440 
5468  template<class... Args>
5469  std::pair<iterator, bool> emplace(Args&& ... args)
5470  {
5471  // emplace only works for null objects or arrays
5472  if (not(is_null() or is_object()))
5473  {
5474  JSON_THROW(std::domain_error("cannot use emplace() with " + type_name()));
5475  }
5476 
5477  // transform null object into an object
5478  if (is_null())
5479  {
5480  m_type = value_t::object;
5481  m_value = value_t::object;
5482  assert_invariant();
5483  }
5484 
5485  // add element to array (perfect forwarding)
5486  auto res = m_value.object->emplace(std::forward<Args>(args)...);
5487  // create result iterator and set iterator to the result of emplace
5488  auto it = begin();
5489  it.m_it.object_iterator = res.first;
5490 
5491  // return pair of iterator and boolean
5492  return {it, res.second};
5493  }
5494 
5518  {
5519  // insert only works for arrays
5520  if (is_array())
5521  {
5522  // check if iterator pos fits to this JSON value
5523  if (pos.m_object != this)
5524  {
5525  JSON_THROW(std::domain_error("iterator does not fit current value"));
5526  }
5527 
5528  // insert to array and return iterator
5529  iterator result(this);
5530  result.m_it.array_iterator = m_value.array->insert(pos.m_it.array_iterator, val);
5531  return result;
5532  }
5533 
5534  JSON_THROW(std::domain_error("cannot use insert() with " + type_name()));
5535  }
5536 
5542  {
5543  return insert(pos, val);
5544  }
5545 
5571  {
5572  // insert only works for arrays
5573  if (is_array())
5574  {
5575  // check if iterator pos fits to this JSON value
5576  if (pos.m_object != this)
5577  {
5578  JSON_THROW(std::domain_error("iterator does not fit current value"));
5579  }
5580 
5581  // insert to array and return iterator
5582  iterator result(this);
5583  result.m_it.array_iterator = m_value.array->insert(pos.m_it.array_iterator, cnt, val);
5584  return result;
5585  }
5586 
5587  JSON_THROW(std::domain_error("cannot use insert() with " + type_name()));
5588  }
5589 
5621  {
5622  // insert only works for arrays
5623  if (not is_array())
5624  {
5625  JSON_THROW(std::domain_error("cannot use insert() with " + type_name()));
5626  }
5627 
5628  // check if iterator pos fits to this JSON value
5629  if (pos.m_object != this)
5630  {
5631  JSON_THROW(std::domain_error("iterator does not fit current value"));
5632  }
5633 
5634  // check if range iterators belong to the same JSON object
5635  if (first.m_object != last.m_object)
5636  {
5637  JSON_THROW(std::domain_error("iterators do not fit"));
5638  }
5639 
5640  if (first.m_object == this or last.m_object == this)
5641  {
5642  JSON_THROW(std::domain_error("passed iterators may not belong to container"));
5643  }
5644 
5645  // insert to array and return iterator
5646  iterator result(this);
5647  result.m_it.array_iterator = m_value.array->insert(
5648  pos.m_it.array_iterator,
5649  first.m_it.array_iterator,
5650  last.m_it.array_iterator);
5651  return result;
5652  }
5653 
5678  iterator insert(const_iterator pos, std::initializer_list<basic_json> ilist)
5679  {
5680  // insert only works for arrays
5681  if (not is_array())
5682  {
5683  JSON_THROW(std::domain_error("cannot use insert() with " + type_name()));
5684  }
5685 
5686  // check if iterator pos fits to this JSON value
5687  if (pos.m_object != this)
5688  {
5689  JSON_THROW(std::domain_error("iterator does not fit current value"));
5690  }
5691 
5692  // insert to array and return iterator
5693  iterator result(this);
5694  result.m_it.array_iterator = m_value.array->insert(pos.m_it.array_iterator, ilist);
5695  return result;
5696  }
5697 
5715  void swap(reference other) noexcept (
5716  std::is_nothrow_move_constructible<value_t>::value and
5717  std::is_nothrow_move_assignable<value_t>::value and
5718  std::is_nothrow_move_constructible<json_value>::value and
5719  std::is_nothrow_move_assignable<json_value>::value
5720  )
5721  {
5722  std::swap(m_type, other.m_type);
5723  std::swap(m_value, other.m_value);
5724  assert_invariant();
5725  }
5726 
5747  void swap(array_t& other)
5748  {
5749  // swap only works for arrays
5750  if (is_array())
5751  {
5752  std::swap(*(m_value.array), other);
5753  }
5754  else
5755  {
5756  JSON_THROW(std::domain_error("cannot use swap() with " + type_name()));
5757  }
5758  }
5759 
5780  void swap(object_t& other)
5781  {
5782  // swap only works for objects
5783  if (is_object())
5784  {
5785  std::swap(*(m_value.object), other);
5786  }
5787  else
5788  {
5789  JSON_THROW(std::domain_error("cannot use swap() with " + type_name()));
5790  }
5791  }
5792 
5813  void swap(string_t& other)
5814  {
5815  // swap only works for strings
5816  if (is_string())
5817  {
5818  std::swap(*(m_value.string), other);
5819  }
5820  else
5821  {
5822  JSON_THROW(std::domain_error("cannot use swap() with " + type_name()));
5823  }
5824  }
5825 
5827 
5828  public:
5830  // lexicographical comparison operators //
5832 
5835 
5859  friend bool operator==(const_reference lhs, const_reference rhs) noexcept
5860  {
5861  const auto lhs_type = lhs.type();
5862  const auto rhs_type = rhs.type();
5863 
5864  if (lhs_type == rhs_type)
5865  {
5866  switch (lhs_type)
5867  {
5868  case value_t::array:
5869  {
5870  return *lhs.m_value.array == *rhs.m_value.array;
5871  }
5872  case value_t::object:
5873  {
5874  return *lhs.m_value.object == *rhs.m_value.object;
5875  }
5876  case value_t::null:
5877  {
5878  return true;
5879  }
5880  case value_t::string:
5881  {
5882  return *lhs.m_value.string == *rhs.m_value.string;
5883  }
5884  case value_t::boolean:
5885  {
5886  return lhs.m_value.boolean == rhs.m_value.boolean;
5887  }
5889  {
5890  return lhs.m_value.number_integer == rhs.m_value.number_integer;
5891  }
5893  {
5894  return lhs.m_value.number_unsigned == rhs.m_value.number_unsigned;
5895  }
5896  case value_t::number_float:
5897  {
5898  return lhs.m_value.number_float == rhs.m_value.number_float;
5899  }
5900  default:
5901  {
5902  return false;
5903  }
5904  }
5905  }
5906  else if (lhs_type == value_t::number_integer and rhs_type == value_t::number_float)
5907  {
5908  return static_cast<number_float_t>(lhs.m_value.number_integer) == rhs.m_value.number_float;
5909  }
5910  else if (lhs_type == value_t::number_float and rhs_type == value_t::number_integer)
5911  {
5912  return lhs.m_value.number_float == static_cast<number_float_t>(rhs.m_value.number_integer);
5913  }
5914  else if (lhs_type == value_t::number_unsigned and rhs_type == value_t::number_float)
5915  {
5916  return static_cast<number_float_t>(lhs.m_value.number_unsigned) == rhs.m_value.number_float;
5917  }
5918  else if (lhs_type == value_t::number_float and rhs_type == value_t::number_unsigned)
5919  {
5920  return lhs.m_value.number_float == static_cast<number_float_t>(rhs.m_value.number_unsigned);
5921  }
5922  else if (lhs_type == value_t::number_unsigned and rhs_type == value_t::number_integer)
5923  {
5924  return static_cast<number_integer_t>(lhs.m_value.number_unsigned) == rhs.m_value.number_integer;
5925  }
5926  else if (lhs_type == value_t::number_integer and rhs_type == value_t::number_unsigned)
5927  {
5928  return lhs.m_value.number_integer == static_cast<number_integer_t>(rhs.m_value.number_unsigned);
5929  }
5930 
5931  return false;
5932  }
5933 
5938  template<typename ScalarType, typename std::enable_if<
5939  std::is_scalar<ScalarType>::value, int>::type = 0>
5940  friend bool operator==(const_reference lhs, const ScalarType rhs) noexcept
5941  {
5942  return (lhs == basic_json(rhs));
5943  }
5944 
5949  template<typename ScalarType, typename std::enable_if<
5950  std::is_scalar<ScalarType>::value, int>::type = 0>
5951  friend bool operator==(const ScalarType lhs, const_reference rhs) noexcept
5952  {
5953  return (basic_json(lhs) == rhs);
5954  }
5955 
5972  friend bool operator!=(const_reference lhs, const_reference rhs) noexcept
5973  {
5974  return not (lhs == rhs);
5975  }
5976 
5981  template<typename ScalarType, typename std::enable_if<
5982  std::is_scalar<ScalarType>::value, int>::type = 0>
5983  friend bool operator!=(const_reference lhs, const ScalarType rhs) noexcept
5984  {
5985  return (lhs != basic_json(rhs));
5986  }
5987 
5992  template<typename ScalarType, typename std::enable_if<
5993  std::is_scalar<ScalarType>::value, int>::type = 0>
5994  friend bool operator!=(const ScalarType lhs, const_reference rhs) noexcept
5995  {
5996  return (basic_json(lhs) != rhs);
5997  }
5998 
6023  friend bool operator<(const_reference lhs, const_reference rhs) noexcept
6024  {
6025  const auto lhs_type = lhs.type();
6026  const auto rhs_type = rhs.type();
6027 
6028  if (lhs_type == rhs_type)
6029  {
6030  switch (lhs_type)
6031  {
6032  case value_t::array:
6033  {
6034  return *lhs.m_value.array < *rhs.m_value.array;
6035  }
6036  case value_t::object:
6037  {
6038  return *lhs.m_value.object < *rhs.m_value.object;
6039  }
6040  case value_t::null:
6041  {
6042  return false;
6043  }
6044  case value_t::string:
6045  {
6046  return *lhs.m_value.string < *rhs.m_value.string;
6047  }
6048  case value_t::boolean:
6049  {
6050  return lhs.m_value.boolean < rhs.m_value.boolean;
6051  }
6053  {
6054  return lhs.m_value.number_integer < rhs.m_value.number_integer;
6055  }
6057  {
6058  return lhs.m_value.number_unsigned < rhs.m_value.number_unsigned;
6059  }
6060  case value_t::number_float:
6061  {
6062  return lhs.m_value.number_float < rhs.m_value.number_float;
6063  }
6064  default:
6065  {
6066  return false;
6067  }
6068  }
6069  }
6070  else if (lhs_type == value_t::number_integer and rhs_type == value_t::number_float)
6071  {
6072  return static_cast<number_float_t>(lhs.m_value.number_integer) < rhs.m_value.number_float;
6073  }
6074  else if (lhs_type == value_t::number_float and rhs_type == value_t::number_integer)
6075  {
6076  return lhs.m_value.number_float < static_cast<number_float_t>(rhs.m_value.number_integer);
6077  }
6078  else if (lhs_type == value_t::number_unsigned and rhs_type == value_t::number_float)
6079  {
6080  return static_cast<number_float_t>(lhs.m_value.number_unsigned) < rhs.m_value.number_float;
6081  }
6082  else if (lhs_type == value_t::number_float and rhs_type == value_t::number_unsigned)
6083  {
6084  return lhs.m_value.number_float < static_cast<number_float_t>(rhs.m_value.number_unsigned);
6085  }
6086  else if (lhs_type == value_t::number_integer and rhs_type == value_t::number_unsigned)
6087  {
6088  return lhs.m_value.number_integer < static_cast<number_integer_t>(rhs.m_value.number_unsigned);
6089  }
6090  else if (lhs_type == value_t::number_unsigned and rhs_type == value_t::number_integer)
6091  {
6092  return static_cast<number_integer_t>(lhs.m_value.number_unsigned) < rhs.m_value.number_integer;
6093  }
6094 
6095  // We only reach this line if we cannot compare values. In that case,
6096  // we compare types. Note we have to call the operator explicitly,
6097  // because MSVC has problems otherwise.
6098  return operator<(lhs_type, rhs_type);
6099  }
6100 
6118  friend bool operator<=(const_reference lhs, const_reference rhs) noexcept
6119  {
6120  return not (rhs < lhs);
6121  }
6122 
6140  friend bool operator>(const_reference lhs, const_reference rhs) noexcept
6141  {
6142  return not (lhs <= rhs);
6143  }
6144 
6162  friend bool operator>=(const_reference lhs, const_reference rhs) noexcept
6163  {
6164  return not (lhs < rhs);
6165  }
6166 
6168 
6169 
6171  // serialization //
6173 
6176 
6199  friend std::ostream& operator<<(std::ostream& o, const basic_json& j)
6200  {
6201  // read width member and use it as indentation parameter if nonzero
6202  const bool pretty_print = (o.width() > 0);
6203  const auto indentation = (pretty_print ? o.width() : 0);
6204 
6205  // reset width to 0 for subsequent calls to this stream
6206  o.width(0);
6207 
6208  // do the actual serialization
6209  j.dump(o, pretty_print, static_cast<unsigned int>(indentation));
6210 
6211  return o;
6212  }
6213 
6218  friend std::ostream& operator>>(const basic_json& j, std::ostream& o)
6219  {
6220  return o << j;
6221  }
6222 
6224 
6225 
6227  // deserialization //
6229 
6232 
6260  template<class T, std::size_t N>
6261  static basic_json parse(T (&array)[N],
6262  const parser_callback_t cb = nullptr)
6263  {
6264  // delegate the call to the iterator-range parse overload
6265  return parse(std::begin(array), std::end(array), cb);
6266  }
6267 
6295  template<typename CharT, typename std::enable_if<
6296  std::is_pointer<CharT>::value and
6297  std::is_integral<typename std::remove_pointer<CharT>::type>::value and
6298  sizeof(typename std::remove_pointer<CharT>::type) == 1, int>::type = 0>
6299  static basic_json parse(const CharT s,
6300  const parser_callback_t cb = nullptr)
6301  {
6302  return parser(reinterpret_cast<const char*>(s), cb).parse();
6303  }
6304 
6329  static basic_json parse(std::istream& i,
6330  const parser_callback_t cb = nullptr)
6331  {
6332  return parser(i, cb).parse();
6333  }
6334 
6338  static basic_json parse(std::istream&& i,
6339  const parser_callback_t cb = nullptr)
6340  {
6341  return parser(i, cb).parse();
6342  }
6343 
6385  template<class IteratorType, typename std::enable_if<
6386  std::is_base_of<
6387  std::random_access_iterator_tag,
6388  typename std::iterator_traits<IteratorType>::iterator_category>::value, int>::type = 0>
6389  static basic_json parse(IteratorType first, IteratorType last,
6390  const parser_callback_t cb = nullptr)
6391  {
6392  // assertion to check that the iterator range is indeed contiguous,
6393  // see http://stackoverflow.com/a/35008842/266378 for more discussion
6394  assert(std::accumulate(first, last, std::pair<bool, int>(true, 0),
6395  [&first](std::pair<bool, int> res, decltype(*first) val)
6396  {
6397  res.first &= (val == *(std::next(std::addressof(*first), res.second++)));
6398  return res;
6399  }).first);
6400 
6401  // assertion to check that each element is 1 byte long
6402  static_assert(sizeof(typename std::iterator_traits<IteratorType>::value_type) == 1,
6403  "each element in the iterator range must have the size of 1 byte");
6404 
6405  // if iterator range is empty, create a parser with an empty string
6406  // to generate "unexpected EOF" error message
6407  if (std::distance(first, last) <= 0)
6408  {
6409  return parser("").parse();
6410  }
6411 
6412  return parser(first, last, cb).parse();
6413  }
6414 
6455  template<class ContiguousContainer, typename std::enable_if<
6456  not std::is_pointer<ContiguousContainer>::value and
6457  std::is_base_of<
6458  std::random_access_iterator_tag,
6459  typename std::iterator_traits<decltype(std::begin(std::declval<ContiguousContainer const>()))>::iterator_category>::value
6460  , int>::type = 0>
6461  static basic_json parse(const ContiguousContainer& c,
6462  const parser_callback_t cb = nullptr)
6463  {
6464  // delegate the call to the iterator-range parse overload
6465  return parse(std::begin(c), std::end(c), cb);
6466  }
6467 
6491  friend std::istream& operator<<(basic_json& j, std::istream& i)
6492  {
6493  j = parser(i).parse();
6494  return i;
6495  }
6496 
6501  friend std::istream& operator>>(std::istream& i, basic_json& j)
6502  {
6503  j = parser(i).parse();
6504  return i;
6505  }
6506 
6508 
6510  // binary serialization/deserialization //
6512 
6515 
6516  private:
6522  template<typename T>
6523  static void add_to_vector(std::vector<uint8_t>& vec, size_t bytes, const T number)
6524  {
6525  assert(bytes == 1 or bytes == 2 or bytes == 4 or bytes == 8);
6526 
6527  switch (bytes)
6528  {
6529  case 8:
6530  {
6531  vec.push_back(static_cast<uint8_t>((static_cast<uint64_t>(number) >> 070) & 0xff));
6532  vec.push_back(static_cast<uint8_t>((static_cast<uint64_t>(number) >> 060) & 0xff));
6533  vec.push_back(static_cast<uint8_t>((static_cast<uint64_t>(number) >> 050) & 0xff));
6534  vec.push_back(static_cast<uint8_t>((static_cast<uint64_t>(number) >> 040) & 0xff));
6535  vec.push_back(static_cast<uint8_t>((number >> 030) & 0xff));
6536  vec.push_back(static_cast<uint8_t>((number >> 020) & 0xff));
6537  vec.push_back(static_cast<uint8_t>((number >> 010) & 0xff));
6538  vec.push_back(static_cast<uint8_t>(number & 0xff));
6539  break;
6540  }
6541 
6542  case 4:
6543  {
6544  vec.push_back(static_cast<uint8_t>((number >> 030) & 0xff));
6545  vec.push_back(static_cast<uint8_t>((number >> 020) & 0xff));
6546  vec.push_back(static_cast<uint8_t>((number >> 010) & 0xff));
6547  vec.push_back(static_cast<uint8_t>(number & 0xff));
6548  break;
6549  }
6550 
6551  case 2:
6552  {
6553  vec.push_back(static_cast<uint8_t>((number >> 010) & 0xff));
6554  vec.push_back(static_cast<uint8_t>(number & 0xff));
6555  break;
6556  }
6557 
6558  case 1:
6559  {
6560  vec.push_back(static_cast<uint8_t>(number & 0xff));
6561  break;
6562  }
6563  }
6564  }
6565 
6602  template<typename T>
6603  static T get_from_vector(const std::vector<uint8_t>& vec, const size_t current_index)
6604  {
6605  if (current_index + sizeof(T) + 1 > vec.size())
6606  {
6607  JSON_THROW(std::out_of_range("cannot read " + std::to_string(sizeof(T)) + " bytes from vector"));
6608  }
6609 
6610  T result;
6611  auto* ptr = reinterpret_cast<uint8_t*>(&result);
6612  for (size_t i = 0; i < sizeof(T); ++i)
6613  {
6614  *ptr++ = vec[current_index + sizeof(T) - i];
6615  }
6616  return result;
6617  }
6618 
6629  static void to_msgpack_internal(const basic_json& j, std::vector<uint8_t>& v)
6630  {
6631  switch (j.type())
6632  {
6633  case value_t::null:
6634  {
6635  // nil
6636  v.push_back(0xc0);
6637  break;
6638  }
6639 
6640  case value_t::boolean:
6641  {
6642  // true and false
6643  v.push_back(j.m_value.boolean ? 0xc3 : 0xc2);
6644  break;
6645  }
6646 
6648  {
6649  if (j.m_value.number_integer >= 0)
6650  {
6651  // MessagePack does not differentiate between positive
6652  // signed integers and unsigned integers. Therefore, we
6653  // used the code from the value_t::number_unsigned case
6654  // here.
6655  if (j.m_value.number_unsigned < 128)
6656  {
6657  // positive fixnum
6658  add_to_vector(v, 1, j.m_value.number_unsigned);
6659  }
6660  else if (j.m_value.number_unsigned <= std::numeric_limits<uint8_t>::max())
6661  {
6662  // uint 8
6663  v.push_back(0xcc);
6664  add_to_vector(v, 1, j.m_value.number_unsigned);
6665  }
6666  else if (j.m_value.number_unsigned <= std::numeric_limits<uint16_t>::max())
6667  {
6668  // uint 16
6669  v.push_back(0xcd);
6670  add_to_vector(v, 2, j.m_value.number_unsigned);
6671  }
6672  else if (j.m_value.number_unsigned <= std::numeric_limits<uint32_t>::max())
6673  {
6674  // uint 32
6675  v.push_back(0xce);
6676  add_to_vector(v, 4, j.m_value.number_unsigned);
6677  }
6678  else if (j.m_value.number_unsigned <= std::numeric_limits<uint64_t>::max())
6679  {
6680  // uint 64
6681  v.push_back(0xcf);
6682  add_to_vector(v, 8, j.m_value.number_unsigned);
6683  }
6684  }
6685  else
6686  {
6687  if (j.m_value.number_integer >= -32)
6688  {
6689  // negative fixnum
6690  add_to_vector(v, 1, j.m_value.number_integer);
6691  }
6692  else if (j.m_value.number_integer >= std::numeric_limits<int8_t>::min() and j.m_value.number_integer <= std::numeric_limits<int8_t>::max())
6693  {
6694  // int 8
6695  v.push_back(0xd0);
6696  add_to_vector(v, 1, j.m_value.number_integer);
6697  }
6698  else if (j.m_value.number_integer >= std::numeric_limits<int16_t>::min() and j.m_value.number_integer <= std::numeric_limits<int16_t>::max())
6699  {
6700  // int 16
6701  v.push_back(0xd1);
6702  add_to_vector(v, 2, j.m_value.number_integer);
6703  }
6704  else if (j.m_value.number_integer >= std::numeric_limits<int32_t>::min() and j.m_value.number_integer <= std::numeric_limits<int32_t>::max())
6705  {
6706  // int 32
6707  v.push_back(0xd2);
6708  add_to_vector(v, 4, j.m_value.number_integer);
6709  }
6710  else if (j.m_value.number_integer >= std::numeric_limits<int64_t>::min() and j.m_value.number_integer <= std::numeric_limits<int64_t>::max())
6711  {
6712  // int 64
6713  v.push_back(0xd3);
6714  add_to_vector(v, 8, j.m_value.number_integer);
6715  }
6716  }
6717  break;
6718  }
6719 
6721  {
6722  if (j.m_value.number_unsigned < 128)
6723  {
6724  // positive fixnum
6725  add_to_vector(v, 1, j.m_value.number_unsigned);
6726  }
6727  else if (j.m_value.number_unsigned <= std::numeric_limits<uint8_t>::max())
6728  {
6729  // uint 8
6730  v.push_back(0xcc);
6731  add_to_vector(v, 1, j.m_value.number_unsigned);
6732  }
6733  else if (j.m_value.number_unsigned <= std::numeric_limits<uint16_t>::max())
6734  {
6735  // uint 16
6736  v.push_back(0xcd);
6737  add_to_vector(v, 2, j.m_value.number_unsigned);
6738  }
6739  else if (j.m_value.number_unsigned <= std::numeric_limits<uint32_t>::max())
6740  {
6741  // uint 32
6742  v.push_back(0xce);
6743  add_to_vector(v, 4, j.m_value.number_unsigned);
6744  }
6745  else if (j.m_value.number_unsigned <= std::numeric_limits<uint64_t>::max())
6746  {
6747  // uint 64
6748  v.push_back(0xcf);
6749  add_to_vector(v, 8, j.m_value.number_unsigned);
6750  }
6751  break;
6752  }
6753 
6754  case value_t::number_float:
6755  {
6756  // float 64
6757  v.push_back(0xcb);
6758  const auto* helper = reinterpret_cast<const uint8_t*>(&(j.m_value.number_float));
6759  for (size_t i = 0; i < 8; ++i)
6760  {
6761  v.push_back(helper[7 - i]);
6762  }
6763  break;
6764  }
6765 
6766  case value_t::string:
6767  {
6768  const auto N = j.m_value.string->size();
6769  if (N <= 31)
6770  {
6771  // fixstr
6772  v.push_back(static_cast<uint8_t>(0xa0 | N));
6773  }
6774  else if (N <= 255)
6775  {
6776  // str 8
6777  v.push_back(0xd9);
6778  add_to_vector(v, 1, N);
6779  }
6780  else if (N <= 65535)
6781  {
6782  // str 16
6783  v.push_back(0xda);
6784  add_to_vector(v, 2, N);
6785  }
6786  else if (N <= 4294967295)
6787  {
6788  // str 32
6789  v.push_back(0xdb);
6790  add_to_vector(v, 4, N);
6791  }
6792 
6793  // append string
6794  std::copy(j.m_value.string->begin(), j.m_value.string->end(),
6795  std::back_inserter(v));
6796  break;
6797  }
6798 
6799  case value_t::array:
6800  {
6801  const auto N = j.m_value.array->size();
6802  if (N <= 15)
6803  {
6804  // fixarray
6805  v.push_back(static_cast<uint8_t>(0x90 | N));
6806  }
6807  else if (N <= 0xffff)
6808  {
6809  // array 16
6810  v.push_back(0xdc);
6811  add_to_vector(v, 2, N);
6812  }
6813  else if (N <= 0xffffffff)
6814  {
6815  // array 32
6816  v.push_back(0xdd);
6817  add_to_vector(v, 4, N);
6818  }
6819 
6820  // append each element
6821  for (const auto& el : *j.m_value.array)
6822  {
6823  to_msgpack_internal(el, v);
6824  }
6825  break;
6826  }
6827 
6828  case value_t::object:
6829  {
6830  const auto N = j.m_value.object->size();
6831  if (N <= 15)
6832  {
6833  // fixmap
6834  v.push_back(static_cast<uint8_t>(0x80 | (N & 0xf)));
6835  }
6836  else if (N <= 65535)
6837  {
6838  // map 16
6839  v.push_back(0xde);
6840  add_to_vector(v, 2, N);
6841  }
6842  else if (N <= 4294967295)
6843  {
6844  // map 32
6845  v.push_back(0xdf);
6846  add_to_vector(v, 4, N);
6847  }
6848 
6849  // append each element
6850  for (const auto& el : *j.m_value.object)
6851  {
6852  to_msgpack_internal(el.first, v);
6853  to_msgpack_internal(el.second, v);
6854  }
6855  break;
6856  }
6857 
6858  default:
6859  {
6860  break;
6861  }
6862  }
6863  }
6864 
6875  static void to_cbor_internal(const basic_json& j, std::vector<uint8_t>& v)
6876  {
6877  switch (j.type())
6878  {
6879  case value_t::null:
6880  {
6881  v.push_back(0xf6);
6882  break;
6883  }
6884 
6885  case value_t::boolean:
6886  {
6887  v.push_back(j.m_value.boolean ? 0xf5 : 0xf4);
6888  break;
6889  }
6890 
6892  {
6893  if (j.m_value.number_integer >= 0)
6894  {
6895  // CBOR does not differentiate between positive signed
6896  // integers and unsigned integers. Therefore, we used the
6897  // code from the value_t::number_unsigned case here.
6898  if (j.m_value.number_integer <= 0x17)
6899  {
6900  add_to_vector(v, 1, j.m_value.number_integer);
6901  }
6902  else if (j.m_value.number_integer <= std::numeric_limits<uint8_t>::max())
6903  {
6904  v.push_back(0x18);
6905  // one-byte uint8_t
6906  add_to_vector(v, 1, j.m_value.number_integer);
6907  }
6908  else if (j.m_value.number_integer <= std::numeric_limits<uint16_t>::max())
6909  {
6910  v.push_back(0x19);
6911  // two-byte uint16_t
6912  add_to_vector(v, 2, j.m_value.number_integer);
6913  }
6914  else if (j.m_value.number_integer <= std::numeric_limits<uint32_t>::max())
6915  {
6916  v.push_back(0x1a);
6917  // four-byte uint32_t
6918  add_to_vector(v, 4, j.m_value.number_integer);
6919  }
6920  else
6921  {
6922  v.push_back(0x1b);
6923  // eight-byte uint64_t
6924  add_to_vector(v, 8, j.m_value.number_integer);
6925  }
6926  }
6927  else
6928  {
6929  // The conversions below encode the sign in the first
6930  // byte, and the value is converted to a positive number.
6931  const auto positive_number = -1 - j.m_value.number_integer;
6932  if (j.m_value.number_integer >= -24)
6933  {
6934  v.push_back(static_cast<uint8_t>(0x20 + positive_number));
6935  }
6936  else if (positive_number <= std::numeric_limits<uint8_t>::max())
6937  {
6938  // int 8
6939  v.push_back(0x38);
6940  add_to_vector(v, 1, positive_number);
6941  }
6942  else if (positive_number <= std::numeric_limits<uint16_t>::max())
6943  {
6944  // int 16
6945  v.push_back(0x39);
6946  add_to_vector(v, 2, positive_number);
6947  }
6948  else if (positive_number <= std::numeric_limits<uint32_t>::max())
6949  {
6950  // int 32
6951  v.push_back(0x3a);
6952  add_to_vector(v, 4, positive_number);
6953  }
6954  else
6955  {
6956  // int 64
6957  v.push_back(0x3b);
6958  add_to_vector(v, 8, positive_number);
6959  }
6960  }
6961  break;
6962  }
6963 
6965  {
6966  if (j.m_value.number_unsigned <= 0x17)
6967  {
6968  v.push_back(static_cast<uint8_t>(j.m_value.number_unsigned));
6969  }
6970  else if (j.m_value.number_unsigned <= 0xff)
6971  {
6972  v.push_back(0x18);
6973  // one-byte uint8_t
6974  add_to_vector(v, 1, j.m_value.number_unsigned);
6975  }
6976  else if (j.m_value.number_unsigned <= 0xffff)
6977  {
6978  v.push_back(0x19);
6979  // two-byte uint16_t
6980  add_to_vector(v, 2, j.m_value.number_unsigned);
6981  }
6982  else if (j.m_value.number_unsigned <= 0xffffffff)
6983  {
6984  v.push_back(0x1a);
6985  // four-byte uint32_t
6986  add_to_vector(v, 4, j.m_value.number_unsigned);
6987  }
6988  else if (j.m_value.number_unsigned <= 0xffffffffffffffff)
6989  {
6990  v.push_back(0x1b);
6991  // eight-byte uint64_t
6992  add_to_vector(v, 8, j.m_value.number_unsigned);
6993  }
6994  break;
6995  }
6996 
6997  case value_t::number_float:
6998  {
6999  // Double-Precision Float
7000  v.push_back(0xfb);
7001  const auto* helper = reinterpret_cast<const uint8_t*>(&(j.m_value.number_float));
7002  for (size_t i = 0; i < 8; ++i)
7003  {
7004  v.push_back(helper[7 - i]);
7005  }
7006  break;
7007  }
7008 
7009  case value_t::string:
7010  {
7011  const auto N = j.m_value.string->size();
7012  if (N <= 0x17)
7013  {
7014  v.push_back(0x60 + static_cast<uint8_t>(N)); // 1 byte for string + size
7015  }
7016  else if (N <= 0xff)
7017  {
7018  v.push_back(0x78); // one-byte uint8_t for N
7019  add_to_vector(v, 1, N);
7020  }
7021  else if (N <= 0xffff)
7022  {
7023  v.push_back(0x79); // two-byte uint16_t for N
7024  add_to_vector(v, 2, N);
7025  }
7026  else if (N <= 0xffffffff)
7027  {
7028  v.push_back(0x7a); // four-byte uint32_t for N
7029  add_to_vector(v, 4, N);
7030  }
7031  // LCOV_EXCL_START
7032  else if (N <= 0xffffffffffffffff)
7033  {
7034  v.push_back(0x7b); // eight-byte uint64_t for N
7035  add_to_vector(v, 8, N);
7036  }
7037  // LCOV_EXCL_STOP
7038 
7039  // append string
7040  std::copy(j.m_value.string->begin(), j.m_value.string->end(),
7041  std::back_inserter(v));
7042  break;
7043  }
7044 
7045  case value_t::array:
7046  {
7047  const auto N = j.m_value.array->size();
7048  if (N <= 0x17)
7049  {
7050  v.push_back(0x80 + static_cast<uint8_t>(N)); // 1 byte for array + size
7051  }
7052  else if (N <= 0xff)
7053  {
7054  v.push_back(0x98); // one-byte uint8_t for N
7055  add_to_vector(v, 1, N);
7056  }
7057  else if (N <= 0xffff)
7058  {
7059  v.push_back(0x99); // two-byte uint16_t for N
7060  add_to_vector(v, 2, N);
7061  }
7062  else if (N <= 0xffffffff)
7063  {
7064  v.push_back(0x9a); // four-byte uint32_t for N
7065  add_to_vector(v, 4, N);
7066  }
7067  // LCOV_EXCL_START
7068  else if (N <= 0xffffffffffffffff)
7069  {
7070  v.push_back(0x9b); // eight-byte uint64_t for N
7071  add_to_vector(v, 8, N);
7072  }
7073  // LCOV_EXCL_STOP
7074 
7075  // append each element
7076  for (const auto& el : *j.m_value.array)
7077  {
7078  to_cbor_internal(el, v);
7079  }
7080  break;
7081  }
7082 
7083  case value_t::object:
7084  {
7085  const auto N = j.m_value.object->size();
7086  if (N <= 0x17)
7087  {
7088  v.push_back(0xa0 + static_cast<uint8_t>(N)); // 1 byte for object + size
7089  }
7090  else if (N <= 0xff)
7091  {
7092  v.push_back(0xb8);
7093  add_to_vector(v, 1, N); // one-byte uint8_t for N
7094  }
7095  else if (N <= 0xffff)
7096  {
7097  v.push_back(0xb9);
7098  add_to_vector(v, 2, N); // two-byte uint16_t for N
7099  }
7100  else if (N <= 0xffffffff)
7101  {
7102  v.push_back(0xba);
7103  add_to_vector(v, 4, N); // four-byte uint32_t for N
7104  }
7105  // LCOV_EXCL_START
7106  else if (N <= 0xffffffffffffffff)
7107  {
7108  v.push_back(0xbb);
7109  add_to_vector(v, 8, N); // eight-byte uint64_t for N
7110  }
7111  // LCOV_EXCL_STOP
7112 
7113  // append each element
7114  for (const auto& el : *j.m_value.object)
7115  {
7116  to_cbor_internal(el.first, v);
7117  to_cbor_internal(el.second, v);
7118  }
7119  break;
7120  }
7121 
7122  default:
7123  {
7124  break;
7125  }
7126  }
7127  }
7128 
7129 
7130  /*
7131  @brief checks if given lengths do not exceed the size of a given vector
7132 
7133  To secure the access to the byte vector during CBOR/MessagePack
7134  deserialization, bytes are copied from the vector into buffers. This
7135  function checks if the number of bytes to copy (@a len) does not exceed
7136  the size @s size of the vector. Additionally, an @a offset is given from
7137  where to start reading the bytes.
7138 
7139  This function checks whether reading the bytes is safe; that is, offset is
7140  a valid index in the vector, offset+len
7141 
7142  @param[in] size size of the byte vector
7143  @param[in] len number of bytes to read
7144  @param[in] offset offset where to start reading
7145 
7146  vec: x x x x x X X X X X
7147  ^ ^ ^
7148  0 offset len
7149 
7150  @throws out_of_range if `len > v.size()`
7151  */
7152  static void check_length(const size_t size, const size_t len, const size_t offset)
7153  {
7154  // simple case: requested length is greater than the vector's length
7155  if (len > size or offset > size)
7156  {
7157  JSON_THROW(std::out_of_range("len out of range"));
7158  }
7159 
7160  // second case: adding offset would result in overflow
7161  if ((size > (std::numeric_limits<size_t>::max() - offset)))
7162  {
7163  JSON_THROW(std::out_of_range("len+offset out of range"));
7164  }
7165 
7166  // last case: reading past the end of the vector
7167  if (len + offset > size)
7168  {
7169  JSON_THROW(std::out_of_range("len+offset out of range"));
7170  }
7171  }
7172 
7187  static basic_json from_msgpack_internal(const std::vector<uint8_t>& v, size_t& idx)
7188  {
7189  // make sure reading 1 byte is safe
7190  check_length(v.size(), 1, idx);
7191 
7192  // store and increment index
7193  const size_t current_idx = idx++;
7194 
7195  if (v[current_idx] <= 0xbf)
7196  {
7197  if (v[current_idx] <= 0x7f) // positive fixint
7198  {
7199  return v[current_idx];
7200  }
7201  if (v[current_idx] <= 0x8f) // fixmap
7202  {
7203  basic_json result = value_t::object;
7204  const size_t len = v[current_idx] & 0x0f;
7205  for (size_t i = 0; i < len; ++i)
7206  {
7207  std::string key = from_msgpack_internal(v, idx);
7208  result[key] = from_msgpack_internal(v, idx);
7209  }
7210  return result;
7211  }
7212  else if (v[current_idx] <= 0x9f) // fixarray
7213  {
7214  basic_json result = value_t::array;
7215  const size_t len = v[current_idx] & 0x0f;
7216  for (size_t i = 0; i < len; ++i)
7217  {
7218  result.push_back(from_msgpack_internal(v, idx));
7219  }
7220  return result;
7221  }
7222  else // fixstr
7223  {
7224  const size_t len = v[current_idx] & 0x1f;
7225  const size_t offset = current_idx + 1;
7226  idx += len; // skip content bytes
7227  check_length(v.size(), len, offset);
7228  return std::string(reinterpret_cast<const char*>(v.data()) + offset, len);
7229  }
7230  }
7231  else if (v[current_idx] >= 0xe0) // negative fixint
7232  {
7233  return static_cast<int8_t>(v[current_idx]);
7234  }
7235  else
7236  {
7237  switch (v[current_idx])
7238  {
7239  case 0xc0: // nil
7240  {
7241  return value_t::null;
7242  }
7243 
7244  case 0xc2: // false
7245  {
7246  return false;
7247  }
7248 
7249  case 0xc3: // true
7250  {
7251  return true;
7252  }
7253 
7254  case 0xca: // float 32
7255  {
7256  // copy bytes in reverse order into the double variable
7257  float res;
7258  for (size_t byte = 0; byte < sizeof(float); ++byte)
7259  {
7260  reinterpret_cast<uint8_t*>(&res)[sizeof(float) - byte - 1] = v.at(current_idx + 1 + byte);
7261  }
7262  idx += sizeof(float); // skip content bytes
7263  return res;
7264  }
7265 
7266  case 0xcb: // float 64
7267  {
7268  // copy bytes in reverse order into the double variable
7269  double res;
7270  for (size_t byte = 0; byte < sizeof(double); ++byte)
7271  {
7272  reinterpret_cast<uint8_t*>(&res)[sizeof(double) - byte - 1] = v.at(current_idx + 1 + byte);
7273  }
7274  idx += sizeof(double); // skip content bytes
7275  return res;
7276  }
7277 
7278  case 0xcc: // uint 8
7279  {
7280  idx += 1; // skip content byte
7281  return get_from_vector<uint8_t>(v, current_idx);
7282  }
7283 
7284  case 0xcd: // uint 16
7285  {
7286  idx += 2; // skip 2 content bytes
7287  return get_from_vector<uint16_t>(v, current_idx);
7288  }
7289 
7290  case 0xce: // uint 32
7291  {
7292  idx += 4; // skip 4 content bytes
7293  return get_from_vector<uint32_t>(v, current_idx);
7294  }
7295 
7296  case 0xcf: // uint 64
7297  {
7298  idx += 8; // skip 8 content bytes
7299  return get_from_vector<uint64_t>(v, current_idx);
7300  }
7301 
7302  case 0xd0: // int 8
7303  {
7304  idx += 1; // skip content byte
7305  return get_from_vector<int8_t>(v, current_idx);
7306  }
7307 
7308  case 0xd1: // int 16
7309  {
7310  idx += 2; // skip 2 content bytes
7311  return get_from_vector<int16_t>(v, current_idx);
7312  }
7313 
7314  case 0xd2: // int 32
7315  {
7316  idx += 4; // skip 4 content bytes
7317  return get_from_vector<int32_t>(v, current_idx);
7318  }
7319 
7320  case 0xd3: // int 64
7321  {
7322  idx += 8; // skip 8 content bytes
7323  return get_from_vector<int64_t>(v, current_idx);
7324  }
7325 
7326  case 0xd9: // str 8
7327  {
7328  const auto len = static_cast<size_t>(get_from_vector<uint8_t>(v, current_idx));
7329  const size_t offset = current_idx + 2;
7330  idx += len + 1; // skip size byte + content bytes
7331  check_length(v.size(), len, offset);
7332  return std::string(reinterpret_cast<const char*>(v.data()) + offset, len);
7333  }
7334 
7335  case 0xda: // str 16
7336  {
7337  const auto len = static_cast<size_t>(get_from_vector<uint16_t>(v, current_idx));
7338  const size_t offset = current_idx + 3;
7339  idx += len + 2; // skip 2 size bytes + content bytes
7340  check_length(v.size(), len, offset);
7341  return std::string(reinterpret_cast<const char*>(v.data()) + offset, len);
7342  }
7343 
7344  case 0xdb: // str 32
7345  {
7346  const auto len = static_cast<size_t>(get_from_vector<uint32_t>(v, current_idx));
7347  const size_t offset = current_idx + 5;
7348  idx += len + 4; // skip 4 size bytes + content bytes
7349  check_length(v.size(), len, offset);
7350  return std::string(reinterpret_cast<const char*>(v.data()) + offset, len);
7351  }
7352 
7353  case 0xdc: // array 16
7354  {
7355  basic_json result = value_t::array;
7356  const auto len = static_cast<size_t>(get_from_vector<uint16_t>(v, current_idx));
7357  idx += 2; // skip 2 size bytes
7358  for (size_t i = 0; i < len; ++i)
7359  {
7360  result.push_back(from_msgpack_internal(v, idx));
7361  }
7362  return result;
7363  }
7364 
7365  case 0xdd: // array 32
7366  {
7367  basic_json result = value_t::array;
7368  const auto len = static_cast<size_t>(get_from_vector<uint32_t>(v, current_idx));
7369  idx += 4; // skip 4 size bytes
7370  for (size_t i = 0; i < len; ++i)
7371  {
7372  result.push_back(from_msgpack_internal(v, idx));
7373  }
7374  return result;
7375  }
7376 
7377  case 0xde: // map 16
7378  {
7379  basic_json result = value_t::object;
7380  const auto len = static_cast<size_t>(get_from_vector<uint16_t>(v, current_idx));
7381  idx += 2; // skip 2 size bytes
7382  for (size_t i = 0; i < len; ++i)
7383  {
7384  std::string key = from_msgpack_internal(v, idx);
7385  result[key] = from_msgpack_internal(v, idx);
7386  }
7387  return result;
7388  }
7389 
7390  case 0xdf: // map 32
7391  {
7392  basic_json result = value_t::object;
7393  const auto len = static_cast<size_t>(get_from_vector<uint32_t>(v, current_idx));
7394  idx += 4; // skip 4 size bytes
7395  for (size_t i = 0; i < len; ++i)
7396  {
7397  std::string key = from_msgpack_internal(v, idx);
7398  result[key] = from_msgpack_internal(v, idx);
7399  }
7400  return result;
7401  }
7402 
7403  default:
7404  {
7405  JSON_THROW(std::invalid_argument("error parsing a msgpack @ " + std::to_string(current_idx) + ": " + std::to_string(static_cast<int>(v[current_idx]))));
7406  }
7407  }
7408  }
7409  }
7410 
7425  static basic_json from_cbor_internal(const std::vector<uint8_t>& v, size_t& idx)
7426  {
7427  // store and increment index
7428  const size_t current_idx = idx++;
7429 
7430  switch (v.at(current_idx))
7431  {
7432  // Integer 0x00..0x17 (0..23)
7433  case 0x00:
7434  case 0x01:
7435  case 0x02:
7436  case 0x03:
7437  case 0x04:
7438  case 0x05:
7439  case 0x06:
7440  case 0x07:
7441  case 0x08:
7442  case 0x09:
7443  case 0x0a:
7444  case 0x0b:
7445  case 0x0c:
7446  case 0x0d:
7447  case 0x0e:
7448  case 0x0f:
7449  case 0x10:
7450  case 0x11:
7451  case 0x12:
7452  case 0x13:
7453  case 0x14:
7454  case 0x15:
7455  case 0x16:
7456  case 0x17:
7457  {
7458  return v[current_idx];
7459  }
7460 
7461  case 0x18: // Unsigned integer (one-byte uint8_t follows)
7462  {
7463  idx += 1; // skip content byte
7464  return get_from_vector<uint8_t>(v, current_idx);
7465  }
7466 
7467  case 0x19: // Unsigned integer (two-byte uint16_t follows)
7468  {
7469  idx += 2; // skip 2 content bytes
7470  return get_from_vector<uint16_t>(v, current_idx);
7471  }
7472 
7473  case 0x1a: // Unsigned integer (four-byte uint32_t follows)
7474  {
7475  idx += 4; // skip 4 content bytes
7476  return get_from_vector<uint32_t>(v, current_idx);
7477  }
7478 
7479  case 0x1b: // Unsigned integer (eight-byte uint64_t follows)
7480  {
7481  idx += 8; // skip 8 content bytes
7482  return get_from_vector<uint64_t>(v, current_idx);
7483  }
7484 
7485  // Negative integer -1-0x00..-1-0x17 (-1..-24)
7486  case 0x20:
7487  case 0x21:
7488  case 0x22:
7489  case 0x23:
7490  case 0x24:
7491  case 0x25:
7492  case 0x26:
7493  case 0x27:
7494  case 0x28:
7495  case 0x29:
7496  case 0x2a:
7497  case 0x2b:
7498  case 0x2c:
7499  case 0x2d:
7500  case 0x2e:
7501  case 0x2f:
7502  case 0x30:
7503  case 0x31:
7504  case 0x32:
7505  case 0x33:
7506  case 0x34:
7507  case 0x35:
7508  case 0x36:
7509  case 0x37:
7510  {
7511  return static_cast<int8_t>(0x20 - 1 - v[current_idx]);
7512  }
7513 
7514  case 0x38: // Negative integer (one-byte uint8_t follows)
7515  {
7516  idx += 1; // skip content byte
7517  // must be uint8_t !
7518  return static_cast<number_integer_t>(-1) - get_from_vector<uint8_t>(v, current_idx);
7519  }
7520 
7521  case 0x39: // Negative integer -1-n (two-byte uint16_t follows)
7522  {
7523  idx += 2; // skip 2 content bytes
7524  return static_cast<number_integer_t>(-1) - get_from_vector<uint16_t>(v, current_idx);
7525  }
7526 
7527  case 0x3a: // Negative integer -1-n (four-byte uint32_t follows)
7528  {
7529  idx += 4; // skip 4 content bytes
7530  return static_cast<number_integer_t>(-1) - get_from_vector<uint32_t>(v, current_idx);
7531  }
7532 
7533  case 0x3b: // Negative integer -1-n (eight-byte uint64_t follows)
7534  {
7535  idx += 8; // skip 8 content bytes
7536  return static_cast<number_integer_t>(-1) - static_cast<number_integer_t>(get_from_vector<uint64_t>(v, current_idx));
7537  }
7538 
7539  // UTF-8 string (0x00..0x17 bytes follow)
7540  case 0x60:
7541  case 0x61:
7542  case 0x62:
7543  case 0x63:
7544  case 0x64:
7545  case 0x65:
7546  case 0x66:
7547  case 0x67:
7548  case 0x68:
7549  case 0x69:
7550  case 0x6a:
7551  case 0x6b:
7552  case 0x6c:
7553  case 0x6d:
7554  case 0x6e:
7555  case 0x6f:
7556  case 0x70:
7557  case 0x71:
7558  case 0x72:
7559  case 0x73:
7560  case 0x74:
7561  case 0x75:
7562  case 0x76:
7563  case 0x77:
7564  {
7565  const auto len = static_cast<size_t>(v[current_idx] - 0x60);
7566  const size_t offset = current_idx + 1;
7567  idx += len; // skip content bytes
7568  check_length(v.size(), len, offset);
7569  return std::string(reinterpret_cast<const char*>(v.data()) + offset, len);
7570  }
7571 
7572  case 0x78: // UTF-8 string (one-byte uint8_t for n follows)
7573  {
7574  const auto len = static_cast<size_t>(get_from_vector<uint8_t>(v, current_idx));
7575  const size_t offset = current_idx + 2;
7576  idx += len + 1; // skip size byte + content bytes
7577  check_length(v.size(), len, offset);
7578  return std::string(reinterpret_cast<const char*>(v.data()) + offset, len);
7579  }
7580 
7581  case 0x79: // UTF-8 string (two-byte uint16_t for n follow)
7582  {
7583  const auto len = static_cast<size_t>(get_from_vector<uint16_t>(v, current_idx));
7584  const size_t offset = current_idx + 3;
7585  idx += len + 2; // skip 2 size bytes + content bytes
7586  check_length(v.size(), len, offset);
7587  return std::string(reinterpret_cast<const char*>(v.data()) + offset, len);
7588  }
7589 
7590  case 0x7a: // UTF-8 string (four-byte uint32_t for n follow)
7591  {
7592  const auto len = static_cast<size_t>(get_from_vector<uint32_t>(v, current_idx));
7593  const size_t offset = current_idx + 5;
7594  idx += len + 4; // skip 4 size bytes + content bytes
7595  check_length(v.size(), len, offset);
7596  return std::string(reinterpret_cast<const char*>(v.data()) + offset, len);
7597  }
7598 
7599  case 0x7b: // UTF-8 string (eight-byte uint64_t for n follow)
7600  {
7601  const auto len = static_cast<size_t>(get_from_vector<uint64_t>(v, current_idx));
7602  const size_t offset = current_idx + 9;
7603  idx += len + 8; // skip 8 size bytes + content bytes
7604  check_length(v.size(), len, offset);
7605  return std::string(reinterpret_cast<const char*>(v.data()) + offset, len);
7606  }
7607 
7608  case 0x7f: // UTF-8 string (indefinite length)
7609  {
7610  std::string result;
7611  while (v.at(idx) != 0xff)
7612  {
7613  string_t s = from_cbor_internal(v, idx);
7614  result += s;
7615  }
7616  // skip break byte (0xFF)
7617  idx += 1;
7618  return result;
7619  }
7620 
7621  // array (0x00..0x17 data items follow)
7622  case 0x80:
7623  case 0x81:
7624  case 0x82:
7625  case 0x83:
7626  case 0x84:
7627  case 0x85:
7628  case 0x86:
7629  case 0x87:
7630  case 0x88:
7631  case 0x89:
7632  case 0x8a:
7633  case 0x8b:
7634  case 0x8c:
7635  case 0x8d:
7636  case 0x8e:
7637  case 0x8f:
7638  case 0x90:
7639  case 0x91:
7640  case 0x92:
7641  case 0x93:
7642  case 0x94:
7643  case 0x95:
7644  case 0x96:
7645  case 0x97:
7646  {
7647  basic_json result = value_t::array;
7648  const auto len = static_cast<size_t>(v[current_idx] - 0x80);
7649  for (size_t i = 0; i < len; ++i)
7650  {
7651  result.push_back(from_cbor_internal(v, idx));
7652  }
7653  return result;
7654  }
7655 
7656  case 0x98: // array (one-byte uint8_t for n follows)
7657  {
7658  basic_json result = value_t::array;
7659  const auto len = static_cast<size_t>(get_from_vector<uint8_t>(v, current_idx));
7660  idx += 1; // skip 1 size byte
7661  for (size_t i = 0; i < len; ++i)
7662  {
7663  result.push_back(from_cbor_internal(v, idx));
7664  }
7665  return result;
7666  }
7667 
7668  case 0x99: // array (two-byte uint16_t for n follow)
7669  {
7670  basic_json result = value_t::array;
7671  const auto len = static_cast<size_t>(get_from_vector<uint16_t>(v, current_idx));
7672  idx += 2; // skip 4 size bytes
7673  for (size_t i = 0; i < len; ++i)
7674  {
7675  result.push_back(from_cbor_internal(v, idx));
7676  }
7677  return result;
7678  }
7679 
7680  case 0x9a: // array (four-byte uint32_t for n follow)
7681  {
7682  basic_json result = value_t::array;
7683  const auto len = static_cast<size_t>(get_from_vector<uint32_t>(v, current_idx));
7684  idx += 4; // skip 4 size bytes
7685  for (size_t i = 0; i < len; ++i)
7686  {
7687  result.push_back(from_cbor_internal(v, idx));
7688  }
7689  return result;
7690  }
7691 
7692  case 0x9b: // array (eight-byte uint64_t for n follow)
7693  {
7694  basic_json result = value_t::array;
7695  const auto len = static_cast<size_t>(get_from_vector<uint64_t>(v, current_idx));
7696  idx += 8; // skip 8 size bytes
7697  for (size_t i = 0; i < len; ++i)
7698  {
7699  result.push_back(from_cbor_internal(v, idx));
7700  }
7701  return result;
7702  }
7703 
7704  case 0x9f: // array (indefinite length)
7705  {
7706  basic_json result = value_t::array;
7707  while (v.at(idx) != 0xff)
7708  {
7709  result.push_back(from_cbor_internal(v, idx));
7710  }
7711  // skip break byte (0xFF)
7712  idx += 1;
7713  return result;
7714  }
7715 
7716  // map (0x00..0x17 pairs of data items follow)
7717  case 0xa0:
7718  case 0xa1:
7719  case 0xa2:
7720  case 0xa3:
7721  case 0xa4:
7722  case 0xa5:
7723  case 0xa6:
7724  case 0xa7:
7725  case 0xa8:
7726  case 0xa9:
7727  case 0xaa:
7728  case 0xab:
7729  case 0xac:
7730  case 0xad:
7731  case 0xae:
7732  case 0xaf:
7733  case 0xb0:
7734  case 0xb1:
7735  case 0xb2:
7736  case 0xb3:
7737  case 0xb4:
7738  case 0xb5:
7739  case 0xb6:
7740  case 0xb7:
7741  {
7742  basic_json result = value_t::object;
7743  const auto len = static_cast<size_t>(v[current_idx] - 0xa0);
7744  for (size_t i = 0; i < len; ++i)
7745  {
7746  std::string key = from_cbor_internal(v, idx);
7747  result[key] = from_cbor_internal(v, idx);
7748  }
7749  return result;
7750  }
7751 
7752  case 0xb8: // map (one-byte uint8_t for n follows)
7753  {
7754  basic_json result = value_t::object;
7755  const auto len = static_cast<size_t>(get_from_vector<uint8_t>(v, current_idx));
7756  idx += 1; // skip 1 size byte
7757  for (size_t i = 0; i < len; ++i)
7758  {
7759  std::string key = from_cbor_internal(v, idx);
7760  result[key] = from_cbor_internal(v, idx);
7761  }
7762  return result;
7763  }
7764 
7765  case 0xb9: // map (two-byte uint16_t for n follow)
7766  {
7767  basic_json result = value_t::object;
7768  const auto len = static_cast<size_t>(get_from_vector<uint16_t>(v, current_idx));
7769  idx += 2; // skip 2 size bytes
7770  for (size_t i = 0; i < len; ++i)
7771  {
7772  std::string key = from_cbor_internal(v, idx);
7773  result[key] = from_cbor_internal(v, idx);
7774  }
7775  return result;
7776  }
7777 
7778  case 0xba: // map (four-byte uint32_t for n follow)
7779  {
7780  basic_json result = value_t::object;
7781  const auto len = static_cast<size_t>(get_from_vector<uint32_t>(v, current_idx));
7782  idx += 4; // skip 4 size bytes
7783  for (size_t i = 0; i < len; ++i)
7784  {
7785  std::string key = from_cbor_internal(v, idx);
7786  result[key] = from_cbor_internal(v, idx);
7787  }
7788  return result;
7789  }
7790 
7791  case 0xbb: // map (eight-byte uint64_t for n follow)
7792  {
7793  basic_json result = value_t::object;
7794  const auto len = static_cast<size_t>(get_from_vector<uint64_t>(v, current_idx));
7795  idx += 8; // skip 8 size bytes
7796  for (size_t i = 0; i < len; ++i)
7797  {
7798  std::string key = from_cbor_internal(v, idx);
7799  result[key] = from_cbor_internal(v, idx);
7800  }
7801  return result;
7802  }
7803 
7804  case 0xbf: // map (indefinite length)
7805  {
7806  basic_json result = value_t::object;
7807  while (v.at(idx) != 0xff)
7808  {
7809  std::string key = from_cbor_internal(v, idx);
7810  result[key] = from_cbor_internal(v, idx);
7811  }
7812  // skip break byte (0xFF)
7813  idx += 1;
7814  return result;
7815  }
7816 
7817  case 0xf4: // false
7818  {
7819  return false;
7820  }
7821 
7822  case 0xf5: // true
7823  {
7824  return true;
7825  }
7826 
7827  case 0xf6: // null
7828  {
7829  return value_t::null;
7830  }
7831 
7832  case 0xf9: // Half-Precision Float (two-byte IEEE 754)
7833  {
7834  idx += 2; // skip two content bytes
7835 
7836  // code from RFC 7049, Appendix D, Figure 3:
7837  // As half-precision floating-point numbers were only added to
7838  // IEEE 754 in 2008, today's programming platforms often still
7839  // only have limited support for them. It is very easy to
7840  // include at least decoding support for them even without such
7841  // support. An example of a small decoder for half-precision
7842  // floating-point numbers in the C language is shown in Fig. 3.
7843  const int half = (v.at(current_idx + 1) << 8) + v.at(current_idx + 2);
7844  const int exp = (half >> 10) & 0x1f;
7845  const int mant = half & 0x3ff;
7846  double val;
7847  if (exp == 0)
7848  {
7849  val = std::ldexp(mant, -24);
7850  }
7851  else if (exp != 31)
7852  {
7853  val = std::ldexp(mant + 1024, exp - 25);
7854  }
7855  else
7856  {
7857  val = mant == 0
7858  ? std::numeric_limits<double>::infinity()
7859  : std::numeric_limits<double>::quiet_NaN();
7860  }
7861  return (half & 0x8000) != 0 ? -val : val;
7862  }
7863 
7864  case 0xfa: // Single-Precision Float (four-byte IEEE 754)
7865  {
7866  // copy bytes in reverse order into the float variable
7867  float res;
7868  for (size_t byte = 0; byte < sizeof(float); ++byte)
7869  {
7870  reinterpret_cast<uint8_t*>(&res)[sizeof(float) - byte - 1] = v.at(current_idx + 1 + byte);
7871  }
7872  idx += sizeof(float); // skip content bytes
7873  return res;
7874  }
7875 
7876  case 0xfb: // Double-Precision Float (eight-byte IEEE 754)
7877  {
7878  // copy bytes in reverse order into the double variable
7879  double res;
7880  for (size_t byte = 0; byte < sizeof(double); ++byte)
7881  {
7882  reinterpret_cast<uint8_t*>(&res)[sizeof(double) - byte - 1] = v.at(current_idx + 1 + byte);
7883  }
7884  idx += sizeof(double); // skip content bytes
7885  return res;
7886  }
7887 
7888  default: // anything else (0xFF is handled inside the other types)
7889  {
7890  JSON_THROW(std::invalid_argument("error parsing a CBOR @ " + std::to_string(current_idx) + ": " + std::to_string(static_cast<int>(v[current_idx]))));
7891  }
7892  }
7893  }
7894 
7895  public:
7918  static std::vector<uint8_t> to_msgpack(const basic_json& j)
7919  {
7920  std::vector<uint8_t> result;
7921  to_msgpack_internal(j, result);
7922  return result;
7923  }
7924 
7951  static basic_json from_msgpack(const std::vector<uint8_t>& v,
7952  const size_t start_index = 0)
7953  {
7954  size_t i = start_index;
7955  return from_msgpack_internal(v, i);
7956  }
7957 
7981  static std::vector<uint8_t> to_cbor(const basic_json& j)
7982  {
7983  std::vector<uint8_t> result;
7984  to_cbor_internal(j, result);
7985  return result;
7986  }
7987 
8014  static basic_json from_cbor(const std::vector<uint8_t>& v,
8015  const size_t start_index = 0)
8016  {
8017  size_t i = start_index;
8018  return from_cbor_internal(v, i);
8019  }
8020 
8022 
8024  // convenience functions //
8026 
8043  {
8044  {
8045  switch (m_type)
8046  {
8047  case value_t::null:
8048  return "null";
8049  case value_t::object:
8050  return "object";
8051  case value_t::array:
8052  return "array";
8053  case value_t::string:
8054  return "string";
8055  case value_t::boolean:
8056  return "boolean";
8057  case value_t::discarded:
8058  return "discarded";
8059  default:
8060  return "number";
8061  }
8062  }
8063  }
8064 
8065  private:
8074  static std::size_t extra_space(const string_t& s) noexcept
8075  {
8076  return std::accumulate(s.begin(), s.end(), size_t{},
8077  [](size_t res, typename string_t::value_type c)
8078  {
8079  switch (c)
8080  {
8081  case '"':
8082  case '\\':
8083  case '\b':
8084  case '\f':
8085  case '\n':
8086  case '\r':
8087  case '\t':
8088  {
8089  // from c (1 byte) to \x (2 bytes)
8090  return res + 1;
8091  }
8092 
8093  default:
8094  {
8095  if (c >= 0x00 and c <= 0x1f)
8096  {
8097  // from c (1 byte) to \uxxxx (6 bytes)
8098  return res + 5;
8099  }
8100 
8101  return res;
8102  }
8103  }
8104  });
8105  }
8106 
8120  static string_t escape_string(const string_t& s)
8121  {
8122  const auto space = extra_space(s);
8123  if (space == 0)
8124  {
8125  return s;
8126  }
8127 
8128  // create a result string of necessary size
8129  string_t result(s.size() + space, '\\');
8130  std::size_t pos = 0;
8131 
8132  for (const auto& c : s)
8133  {
8134  switch (c)
8135  {
8136  // quotation mark (0x22)
8137  case '"':
8138  {
8139  result[pos + 1] = '"';
8140  pos += 2;
8141  break;
8142  }
8143 
8144  // reverse solidus (0x5c)
8145  case '\\':
8146  {
8147  // nothing to change
8148  pos += 2;
8149  break;
8150  }
8151 
8152  // backspace (0x08)
8153  case '\b':
8154  {
8155  result[pos + 1] = 'b';
8156  pos += 2;
8157  break;
8158  }
8159 
8160  // formfeed (0x0c)
8161  case '\f':
8162  {
8163  result[pos + 1] = 'f';
8164  pos += 2;
8165  break;
8166  }
8167 
8168  // newline (0x0a)
8169  case '\n':
8170  {
8171  result[pos + 1] = 'n';
8172  pos += 2;
8173  break;
8174  }
8175 
8176  // carriage return (0x0d)
8177  case '\r':
8178  {
8179  result[pos + 1] = 'r';
8180  pos += 2;
8181  break;
8182  }
8183 
8184  // horizontal tab (0x09)
8185  case '\t':
8186  {
8187  result[pos + 1] = 't';
8188  pos += 2;
8189  break;
8190  }
8191 
8192  default:
8193  {
8194  if (c >= 0x00 and c <= 0x1f)
8195  {
8196  // convert a number 0..15 to its hex representation
8197  // (0..f)
8198  static const char hexify[16] =
8199  {
8200  '0', '1', '2', '3', '4', '5', '6', '7',
8201  '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'
8202  };
8203 
8204  // print character c as \uxxxx
8205  for (const char m :
8206  { 'u', '0', '0', hexify[c >> 4], hexify[c & 0x0f]
8207  })
8208  {
8209  result[++pos] = m;
8210  }
8211 
8212  ++pos;
8213  }
8214  else
8215  {
8216  // all other characters are added as-is
8217  result[pos++] = c;
8218  }
8219  break;
8220  }
8221  }
8222  }
8223 
8224  return result;
8225  }
8226 
8227 
8231  struct numtostr
8232  {
8233  public:
8234  template<typename NumberType>
8235  numtostr(NumberType value)
8236  {
8237  x_write(value, std::is_integral<NumberType>());
8238  }
8239 
8240  const char* c_str() const
8241  {
8242  return m_buf.data();
8243  }
8244 
8245  private:
8247  std::array < char, 64 > m_buf{{}};
8248 
8249  template<typename NumberType>
8250  void x_write(NumberType x, /*is_integral=*/std::true_type)
8251  {
8252  // special case for "0"
8253  if (x == 0)
8254  {
8255  m_buf[0] = '0';
8256  return;
8257  }
8258 
8259  const bool is_negative = x < 0;
8260  size_t i = 0;
8261 
8262  // spare 1 byte for '\0'
8263  while (x != 0 and i < m_buf.size() - 1)
8264  {
8265  const auto digit = std::labs(static_cast<long>(x % 10));
8266  m_buf[i++] = static_cast<char>('0' + digit);
8267  x /= 10;
8268  }
8269 
8270  // make sure the number has been processed completely
8271  assert(x == 0);
8272 
8273  if (is_negative)
8274  {
8275  // make sure there is capacity for the '-'
8276  assert(i < m_buf.size() - 2);
8277  m_buf[i++] = '-';
8278  }
8279 
8280  std::reverse(m_buf.begin(), m_buf.begin() + i);
8281  }
8282 
8283  template<typename NumberType>
8284  void x_write(NumberType x, /*is_integral=*/std::false_type)
8285  {
8286  // special case for 0.0 and -0.0
8287  if (x == 0)
8288  {
8289  size_t i = 0;
8290  if (std::signbit(x))
8291  {
8292  m_buf[i++] = '-';
8293  }
8294  m_buf[i++] = '0';
8295  m_buf[i++] = '.';
8296  m_buf[i] = '0';
8297  return;
8298  }
8299 
8300  // get number of digits for a text -> float -> text round-trip
8301  static constexpr auto d = std::numeric_limits<NumberType>::digits10;
8302 
8303  // the actual conversion
8304  const auto written_bytes = snprintf(m_buf.data(), m_buf.size(), "%.*g", d, (double)x);
8305 
8306  // negative value indicates an error
8307  assert(written_bytes > 0);
8308  // check if buffer was large enough
8309  assert(static_cast<size_t>(written_bytes) < m_buf.size());
8310 
8311  // read information from locale
8312  const auto loc = localeconv();
8313  assert(loc != nullptr);
8314  const char thousands_sep = !loc->thousands_sep ? '\0'
8315  : loc->thousands_sep[0];
8316 
8317  const char decimal_point = !loc->decimal_point ? '\0'
8318  : loc->decimal_point[0];
8319 
8320  // erase thousands separator
8321  if (thousands_sep != '\0')
8322  {
8323  const auto end = std::remove(m_buf.begin(), m_buf.begin() + written_bytes, thousands_sep);
8324  std::fill(end, m_buf.end(), '\0');
8325  }
8326 
8327  // convert decimal point to '.'
8328  if (decimal_point != '\0' and decimal_point != '.')
8329  {
8330  for (auto& c : m_buf)
8331  {
8332  if (c == decimal_point)
8333  {
8334  c = '.';
8335  break;
8336  }
8337  }
8338  }
8339 
8340  // determine if need to append ".0"
8341  size_t i = 0;
8342  bool value_is_int_like = true;
8343  for (i = 0; i < m_buf.size(); ++i)
8344  {
8345  // break when end of number is reached
8346  if (m_buf[i] == '\0')
8347  {
8348  break;
8349  }
8350 
8351  // check if we find non-int character
8352  value_is_int_like = value_is_int_like and m_buf[i] != '.' and
8353  m_buf[i] != 'e' and m_buf[i] != 'E';
8354  }
8355 
8356  if (value_is_int_like)
8357  {
8358  // there must be 2 bytes left for ".0"
8359  assert((i + 2) < m_buf.size());
8360  // we write to the end of the number
8361  assert(m_buf[i] == '\0');
8362  assert(m_buf[i - 1] != '\0');
8363 
8364  // add ".0"
8365  m_buf[i] = '.';
8366  m_buf[i + 1] = '0';
8367 
8368  // the resulting string is properly terminated
8369  assert(m_buf[i + 2] == '\0');
8370  }
8371  }
8372  };
8373 
8374 
8392  void dump(std::ostream& o,
8393  const bool pretty_print,
8394  const unsigned int indent_step,
8395  const unsigned int current_indent = 0) const
8396  {
8397  // variable to hold indentation for recursive calls
8398  unsigned int new_indent = current_indent;
8399 
8400  switch (m_type)
8401  {
8402  case value_t::object:
8403  {
8404  if (m_value.object->empty())
8405  {
8406  o << "{}";
8407  return;
8408  }
8409 
8410  o << "{";
8411 
8412  // increase indentation
8413  if (pretty_print)
8414  {
8415  new_indent += indent_step;
8416  o << "\n";
8417  }
8418 
8419  for (auto i = m_value.object->cbegin(); i != m_value.object->cend(); ++i)
8420  {
8421  if (i != m_value.object->cbegin())
8422  {
8423  o << (pretty_print ? ",\n" : ",");
8424  }
8425  o << string_t(new_indent, ' ') << "\""
8426  << escape_string(i->first) << "\":"
8427  << (pretty_print ? " " : "");
8428  i->second.dump(o, pretty_print, indent_step, new_indent);
8429  }
8430 
8431  // decrease indentation
8432  if (pretty_print)
8433  {
8434  new_indent -= indent_step;
8435  o << "\n";
8436  }
8437 
8438  o << string_t(new_indent, ' ') + "}";
8439  return;
8440  }
8441 
8442  case value_t::array:
8443  {
8444  if (m_value.array->empty())
8445  {
8446  o << "[]";
8447  return;
8448  }
8449 
8450  o << "[";
8451 
8452  // increase indentation
8453  if (pretty_print)
8454  {
8455  new_indent += indent_step;
8456  o << "\n";
8457  }
8458 
8459  for (auto i = m_value.array->cbegin(); i != m_value.array->cend(); ++i)
8460  {
8461  if (i != m_value.array->cbegin())
8462  {
8463  o << (pretty_print ? ",\n" : ",");
8464  }
8465  o << string_t(new_indent, ' ');
8466  i->dump(o, pretty_print, indent_step, new_indent);
8467  }
8468 
8469  // decrease indentation
8470  if (pretty_print)
8471  {
8472  new_indent -= indent_step;
8473  o << "\n";
8474  }
8475 
8476  o << string_t(new_indent, ' ') << "]";
8477  return;
8478  }
8479 
8480  case value_t::string:
8481  {
8482  o << string_t("\"") << escape_string(*m_value.string) << "\"";
8483  return;
8484  }
8485 
8486  case value_t::boolean:
8487  {
8488  o << (m_value.boolean ? "true" : "false");
8489  return;
8490  }
8491 
8493  {
8494  o << numtostr(m_value.number_integer).c_str();
8495  return;
8496  }
8497 
8499  {
8500  o << numtostr(m_value.number_unsigned).c_str();
8501  return;
8502  }
8503 
8504  case value_t::number_float:
8505  {
8506  o << numtostr(m_value.number_float).c_str();
8507  return;
8508  }
8509 
8510  case value_t::discarded:
8511  {
8512  o << "<discarded>";
8513  return;
8514  }
8515 
8516  case value_t::null:
8517  {
8518  o << "null";
8519  return;
8520  }
8521  }
8522  }
8523 
8524  private:
8526  // member variables //
8528 
8530  value_t m_type = value_t::null;
8531 
8533  json_value m_value = {};
8534 
8535 
8536  private:
8538  // iterators //
8540 
8550  class primitive_iterator_t
8551  {
8552  public:
8553 
8554  difference_type get_value() const noexcept
8555  {
8556  return m_it;
8557  }
8559  void set_begin() noexcept
8560  {
8561  m_it = begin_value;
8562  }
8563 
8565  void set_end() noexcept
8566  {
8567  m_it = end_value;
8568  }
8569 
8571  constexpr bool is_begin() const noexcept
8572  {
8573  return (m_it == begin_value);
8574  }
8575 
8577  constexpr bool is_end() const noexcept
8578  {
8579  return (m_it == end_value);
8580  }
8581 
8582  friend constexpr bool operator==(primitive_iterator_t lhs, primitive_iterator_t rhs) noexcept
8583  {
8584  return lhs.m_it == rhs.m_it;
8585  }
8586 
8587  friend constexpr bool operator!=(primitive_iterator_t lhs, primitive_iterator_t rhs) noexcept
8588  {
8589  return !(lhs == rhs);
8590  }
8591 
8592  friend constexpr bool operator<(primitive_iterator_t lhs, primitive_iterator_t rhs) noexcept
8593  {
8594  return lhs.m_it < rhs.m_it;
8595  }
8596 
8597  friend constexpr bool operator<=(primitive_iterator_t lhs, primitive_iterator_t rhs) noexcept
8598  {
8599  return lhs.m_it <= rhs.m_it;
8600  }
8601 
8602  friend constexpr bool operator>(primitive_iterator_t lhs, primitive_iterator_t rhs) noexcept
8603  {
8604  return lhs.m_it > rhs.m_it;
8605  }
8606 
8607  friend constexpr bool operator>=(primitive_iterator_t lhs, primitive_iterator_t rhs) noexcept
8608  {
8609  return lhs.m_it >= rhs.m_it;
8610  }
8611 
8612  primitive_iterator_t operator+(difference_type i)
8613  {
8614  auto result = *this;
8615  result += i;
8616  return result;
8617  }
8618 
8619  friend constexpr difference_type operator-(primitive_iterator_t lhs, primitive_iterator_t rhs) noexcept
8620  {
8621  return lhs.m_it - rhs.m_it;
8622  }
8623 
8624  friend std::ostream& operator<<(std::ostream& os, primitive_iterator_t it)
8625  {
8626  return os << it.m_it;
8627  }
8628 
8629  primitive_iterator_t& operator++()
8630  {
8631  ++m_it;
8632  return *this;
8633  }
8634 
8635  primitive_iterator_t operator++(int)
8636  {
8637  auto result = *this;
8638  m_it++;
8639  return result;
8640  }
8641 
8642  primitive_iterator_t& operator--()
8643  {
8644  --m_it;
8645  return *this;
8646  }
8647 
8648  primitive_iterator_t operator--(int)
8649  {
8650  auto result = *this;
8651  m_it--;
8652  return result;
8653  }
8654 
8655  primitive_iterator_t& operator+=(difference_type n)
8656  {
8657  m_it += n;
8658  return *this;
8659  }
8660 
8661  primitive_iterator_t& operator-=(difference_type n)
8662  {
8663  m_it -= n;
8664  return *this;
8665  }
8666 
8667  private:
8668  static constexpr difference_type begin_value = 0;
8669  static constexpr difference_type end_value = begin_value + 1;
8670 
8672  difference_type m_it = std::numeric_limits<std::ptrdiff_t>::denorm_min();
8673  };
8674 
8682  struct internal_iterator
8683  {
8685  typename object_t::iterator object_iterator;
8687  typename array_t::iterator array_iterator;
8689  primitive_iterator_t primitive_iterator;
8690 
8692  internal_iterator() noexcept
8693  : object_iterator(), array_iterator(), primitive_iterator()
8694  {}
8695  };
8696 
8698  template<typename IteratorType>
8699  class iteration_proxy
8700  {
8701  private:
8703  class iteration_proxy_internal
8704  {
8705  private:
8707  IteratorType anchor;
8709  size_t array_index = 0;
8710 
8711  public:
8712  explicit iteration_proxy_internal(IteratorType it) noexcept
8713  : anchor(it)
8714  {}
8715 
8717  iteration_proxy_internal& operator*()
8718  {
8719  return *this;
8720  }
8721 
8723  iteration_proxy_internal& operator++()
8724  {
8725  ++anchor;
8726  ++array_index;
8727 
8728  return *this;
8729  }
8730 
8732  bool operator!= (const iteration_proxy_internal& o) const
8733  {
8734  return anchor != o.anchor;
8735  }
8736 
8738  typename basic_json::string_t key() const
8739  {
8740  assert(anchor.m_object != nullptr);
8741 
8742  switch (anchor.m_object->type())
8743  {
8744  // use integer array index as key
8745  case value_t::array:
8746  {
8747  return std::to_string(array_index);
8748  }
8749 
8750  // use key from the object
8751  case value_t::object:
8752  {
8753  return anchor.key();
8754  }
8755 
8756  // use an empty key for all primitive types
8757  default:
8758  {
8759  return "";
8760  }
8761  }
8762  }
8763 
8765  typename IteratorType::reference value() const
8766  {
8767  return anchor.value();
8768  }
8769  };
8770 
8772  typename IteratorType::reference container;
8773 
8774  public:
8776  explicit iteration_proxy(typename IteratorType::reference cont)
8777  : container(cont)
8778  {}
8779 
8781  iteration_proxy_internal begin() noexcept
8782  {
8783  return iteration_proxy_internal(container.begin());
8784  }
8785 
8787  iteration_proxy_internal end() noexcept
8788  {
8789  return iteration_proxy_internal(container.end());
8790  }
8791  };
8792 
8793  public:
8813  template<typename U>
8814  class iter_impl : public std::iterator<std::random_access_iterator_tag, U>
8815  {
8817  friend class basic_json;
8818 
8819  // make sure U is basic_json or const basic_json
8820  static_assert(std::is_same<U, basic_json>::value
8821  or std::is_same<U, const basic_json>::value,
8822  "iter_impl only accepts (const) basic_json");
8823 
8824  public:
8830  using pointer = typename std::conditional<std::is_const<U>::value,
8831  typename basic_json::const_pointer,
8832  typename basic_json::pointer>::type;
8834  using reference = typename std::conditional<std::is_const<U>::value,
8835  typename basic_json::const_reference,
8836  typename basic_json::reference>::type;
8838  using iterator_category = std::bidirectional_iterator_tag;
8839 
8841  iter_impl() = default;
8842 
8849  explicit iter_impl(pointer object) noexcept
8850  : m_object(object)
8851  {
8852  assert(m_object != nullptr);
8853 
8854  switch (m_object->m_type)
8855  {
8857  {
8858  m_it.object_iterator = typename object_t::iterator();
8859  break;
8860  }
8861 
8863  {
8864  m_it.array_iterator = typename array_t::iterator();
8865  break;
8866  }
8867 
8868  default:
8869  {
8870  m_it.primitive_iterator = primitive_iterator_t();
8871  break;
8872  }
8873  }
8874  }
8875 
8876  /*
8877  Use operator `const_iterator` instead of `const_iterator(const iterator&
8878  other) noexcept` to avoid two class definitions for @ref iterator and
8879  @ref const_iterator.
8880 
8881  This function is only called if this class is an @ref iterator. If this
8882  class is a @ref const_iterator this function is not called.
8883  */
8884  operator const_iterator() const
8885  {
8886  const_iterator ret;
8887 
8888  if (m_object)
8889  {
8890  ret.m_object = m_object;
8891  ret.m_it = m_it;
8892  }
8893 
8894  return ret;
8895  }
8896 
8902  iter_impl(const iter_impl& other) noexcept
8903  : m_object(other.m_object), m_it(other.m_it)
8904  {}
8905 
8911  iter_impl& operator=(iter_impl other) noexcept(
8912  std::is_nothrow_move_constructible<pointer>::value and
8913  std::is_nothrow_move_assignable<pointer>::value and
8914  std::is_nothrow_move_constructible<internal_iterator>::value and
8915  std::is_nothrow_move_assignable<internal_iterator>::value
8916  )
8917  {
8918  std::swap(m_object, other.m_object);
8919  std::swap(m_it, other.m_it);
8920  return *this;
8921  }
8922 
8923  private:
8928  void set_begin() noexcept
8929  {
8930  assert(m_object != nullptr);
8931 
8932  switch (m_object->m_type)
8933  {
8935  {
8936  m_it.object_iterator = m_object->m_value.object->begin();
8937  break;
8938  }
8939 
8941  {
8942  m_it.array_iterator = m_object->m_value.array->begin();
8943  break;
8944  }
8945 
8946  case basic_json::value_t::null:
8947  {
8948  // set to end so begin()==end() is true: null is empty
8949  m_it.primitive_iterator.set_end();
8950  break;
8951  }
8952 
8953  default:
8954  {
8955  m_it.primitive_iterator.set_begin();
8956  break;
8957  }
8958  }
8959  }
8960 
8965  void set_end() noexcept
8966  {
8967  assert(m_object != nullptr);
8968 
8969  switch (m_object->m_type)
8970  {
8972  {
8973  m_it.object_iterator = m_object->m_value.object->end();
8974  break;
8975  }
8976 
8978  {
8979  m_it.array_iterator = m_object->m_value.array->end();
8980  break;
8981  }
8982 
8983  default:
8984  {
8985  m_it.primitive_iterator.set_end();
8986  break;
8987  }
8988  }
8989  }
8990 
8991  public:
8997  {
8998  assert(m_object != nullptr);
8999 
9000  switch (m_object->m_type)
9001  {
9003  {
9004  assert(m_it.object_iterator != m_object->m_value.object->end());
9005  return m_it.object_iterator->second;
9006  }
9007 
9009  {
9010  assert(m_it.array_iterator != m_object->m_value.array->end());
9011  return *m_it.array_iterator;
9012  }
9013 
9014  case basic_json::value_t::null:
9015  {
9016  JSON_THROW(std::out_of_range("cannot get value"));
9017  }
9018 
9019  default:
9020  {
9021  if (m_it.primitive_iterator.is_begin())
9022  {
9023  return *m_object;
9024  }
9025 
9026  JSON_THROW(std::out_of_range("cannot get value"));
9027  }
9028  }
9029  }
9030 
9036  {
9037  assert(m_object != nullptr);
9038 
9039  switch (m_object->m_type)
9040  {
9042  {
9043  assert(m_it.object_iterator != m_object->m_value.object->end());
9044  return &(m_it.object_iterator->second);
9045  }
9046 
9048  {
9049  assert(m_it.array_iterator != m_object->m_value.array->end());
9050  return &*m_it.array_iterator;
9051  }
9052 
9053  default:
9054  {
9055  if (m_it.primitive_iterator.is_begin())
9056  {
9057  return m_object;
9058  }
9059 
9060  JSON_THROW(std::out_of_range("cannot get value"));
9061  }
9062  }
9063  }
9064 
9070  {
9071  auto result = *this;
9072  ++(*this);
9073  return result;
9074  }
9075 
9081  {
9082  assert(m_object != nullptr);
9083 
9084  switch (m_object->m_type)
9085  {
9087  {
9088  std::advance(m_it.object_iterator, 1);
9089  break;
9090  }
9091 
9093  {
9094  std::advance(m_it.array_iterator, 1);
9095  break;
9096  }
9097 
9098  default:
9099  {
9100  ++m_it.primitive_iterator;
9101  break;
9102  }
9103  }
9104 
9105  return *this;
9106  }
9107 
9113  {
9114  auto result = *this;
9115  --(*this);
9116  return result;
9117  }
9118 
9124  {
9125  assert(m_object != nullptr);
9126 
9127  switch (m_object->m_type)
9128  {
9130  {
9131  std::advance(m_it.object_iterator, -1);
9132  break;
9133  }
9134 
9136  {
9137  std::advance(m_it.array_iterator, -1);
9138  break;
9139  }
9140 
9141  default:
9142  {
9143  --m_it.primitive_iterator;
9144  break;
9145  }
9146  }
9147 
9148  return *this;
9149  }
9150 
9155  bool operator==(const iter_impl& other) const
9156  {
9157  // if objects are not the same, the comparison is undefined
9158  if (m_object != other.m_object)
9159  {
9160  JSON_THROW(std::domain_error("cannot compare iterators of different containers"));
9161  }
9162 
9163  assert(m_object != nullptr);
9164 
9165  switch (m_object->m_type)
9166  {
9168  {
9169  return (m_it.object_iterator == other.m_it.object_iterator);
9170  }
9171 
9173  {
9174  return (m_it.array_iterator == other.m_it.array_iterator);
9175  }
9176 
9177  default:
9178  {
9179  return (m_it.primitive_iterator == other.m_it.primitive_iterator);
9180  }
9181  }
9182  }
9183 
9188  bool operator!=(const iter_impl& other) const
9189  {
9190  return not operator==(other);
9191  }
9192 
9197  bool operator<(const iter_impl& other) const
9198  {
9199  // if objects are not the same, the comparison is undefined
9200  if (m_object != other.m_object)
9201  {
9202  JSON_THROW(std::domain_error("cannot compare iterators of different containers"));
9203  }
9204 
9205  assert(m_object != nullptr);
9206 
9207  switch (m_object->m_type)
9208  {
9210  {
9211  JSON_THROW(std::domain_error("cannot compare order of object iterators"));
9212  }
9213 
9215  {
9216  return (m_it.array_iterator < other.m_it.array_iterator);
9217  }
9218 
9219  default:
9220  {
9221  return (m_it.primitive_iterator < other.m_it.primitive_iterator);
9222  }
9223  }
9224  }
9225 
9230  bool operator<=(const iter_impl& other) const
9231  {
9232  return not other.operator < (*this);
9233  }
9234 
9239  bool operator>(const iter_impl& other) const
9240  {
9241  return not operator<=(other);
9242  }
9243 
9248  bool operator>=(const iter_impl& other) const
9249  {
9250  return not operator<(other);
9251  }
9252 
9258  {
9259  assert(m_object != nullptr);
9260 
9261  switch (m_object->m_type)
9262  {
9264  {
9265  JSON_THROW(std::domain_error("cannot use offsets with object iterators"));
9266  }
9267 
9269  {
9270  std::advance(m_it.array_iterator, i);
9271  break;
9272  }
9273 
9274  default:
9275  {
9276  m_it.primitive_iterator += i;
9277  break;
9278  }
9279  }
9280 
9281  return *this;
9282  }
9283 
9289  {
9290  return operator+=(-i);
9291  }
9292 
9298  {
9299  auto result = *this;
9300  result += i;
9301  return result;
9302  }
9303 
9309  {
9310  auto result = *this;
9311  result -= i;
9312  return result;
9313  }
9314 
9320  {
9321  assert(m_object != nullptr);
9322 
9323  switch (m_object->m_type)
9324  {
9326  {
9327  JSON_THROW(std::domain_error("cannot use offsets with object iterators"));
9328  }
9329 
9331  {
9332  return m_it.array_iterator - other.m_it.array_iterator;
9333  }
9334 
9335  default:
9336  {
9337  return m_it.primitive_iterator - other.m_it.primitive_iterator;
9338  }
9339  }
9340  }
9341 
9347  {
9348  assert(m_object != nullptr);
9349 
9350  switch (m_object->m_type)
9351  {
9353  {
9354  JSON_THROW(std::domain_error("cannot use operator[] for object iterators"));
9355  }
9356 
9358  {
9359  return *std::next(m_it.array_iterator, n);
9360  }
9361 
9362  case basic_json::value_t::null:
9363  {
9364  JSON_THROW(std::out_of_range("cannot get value"));
9365  }
9366 
9367  default:
9368  {
9369  if (m_it.primitive_iterator.get_value() == -n)
9370  {
9371  return *m_object;
9372  }
9373 
9374  JSON_THROW(std::out_of_range("cannot get value"));
9375  }
9376  }
9377  }
9378 
9383  typename object_t::key_type key() const
9384  {
9385  assert(m_object != nullptr);
9386 
9387  if (m_object->is_object())
9388  {
9389  return m_it.object_iterator->first;
9390  }
9391 
9392  JSON_THROW(std::domain_error("cannot use key() for non-object iterators"));
9393  }
9394 
9400  {
9401  return operator*();
9402  }
9403 
9404  private:
9406  pointer m_object = nullptr;
9408  internal_iterator m_it = internal_iterator();
9409  };
9410 
9428  template<typename Base>
9429  class json_reverse_iterator : public std::reverse_iterator<Base>
9430  {
9431  public:
9433  using base_iterator = std::reverse_iterator<Base>;
9435  using reference = typename Base::reference;
9436 
9438  json_reverse_iterator(const typename base_iterator::iterator_type& it) noexcept
9439  : base_iterator(it)
9440  {}
9441 
9444  : base_iterator(it)
9445  {}
9446 
9449  {
9450  return base_iterator::operator++(1);
9451  }
9452 
9455  {
9456  base_iterator::operator++();
9457  return *this;
9458  }
9459 
9462  {
9463  return base_iterator::operator--(1);
9464  }
9465 
9468  {
9469  base_iterator::operator--();
9470  return *this;
9471  }
9472 
9475  {
9476  base_iterator::operator+=(i);
9477  return *this;
9478  }
9479 
9482  {
9483  auto result = *this;
9484  result += i;
9485  return result;
9486  }
9487 
9490  {
9491  auto result = *this;
9492  result -= i;
9493  return result;
9494  }
9495 
9498  {
9499  return this->base() - other.base();
9500  }
9501 
9504  {
9505  return *(this->operator+(n));
9506  }
9507 
9509  typename object_t::key_type key() const
9510  {
9511  auto it = --this->base();
9512  return it.key();
9513  }
9514 
9517  {
9518  auto it = --this->base();
9519  return it.operator * ();
9520  }
9521  };
9522 
9523 
9524  private:
9526  // lexer and parser //
9528 
9536  class lexer
9537  {
9538  public:
9540  enum class token_type
9541  {
9542  uninitialized,
9543  literal_true,
9544  literal_false,
9545  literal_null,
9546  value_string,
9547  value_unsigned,
9548  value_integer,
9549  value_float,
9550  begin_array,
9551  begin_object,
9552  end_array,
9553  end_object,
9554  name_separator,
9555  value_separator,
9556  parse_error,
9557  end_of_input
9558  };
9559 
9561  using lexer_char_t = unsigned char;
9562 
9564  lexer(const lexer_char_t* buff, const size_t len) noexcept
9565  : m_content(buff)
9566  {
9567  assert(m_content != nullptr);
9568  m_start = m_cursor = m_content;
9569  m_limit = m_content + len;
9570  }
9571 
9573  explicit lexer(std::istream& s)
9574  : m_stream(&s), m_line_buffer()
9575  {
9576  // immediately abort if stream is erroneous
9577  if (s.fail())
9578  {
9579  JSON_THROW(std::invalid_argument("stream error"));
9580  }
9581 
9582  // fill buffer
9583  fill_line_buffer();
9584 
9585  // skip UTF-8 byte-order mark
9586  if (m_line_buffer.size() >= 3 and m_line_buffer.substr(0, 3) == "\xEF\xBB\xBF")
9587  {
9588  m_line_buffer[0] = ' ';
9589  m_line_buffer[1] = ' ';
9590  m_line_buffer[2] = ' ';
9591  }
9592  }
9593 
9594  // switch off unwanted functions (due to pointer members)
9595  lexer() = delete;
9596  lexer(const lexer&) = delete;
9597  lexer operator=(const lexer&) = delete;
9598 
9622  static string_t to_unicode(const std::size_t codepoint1,
9623  const std::size_t codepoint2 = 0)
9624  {
9625  // calculate the code point from the given code points
9626  std::size_t codepoint = codepoint1;
9627 
9628  // check if codepoint1 is a high surrogate
9629  if (codepoint1 >= 0xD800 and codepoint1 <= 0xDBFF)
9630  {
9631  // check if codepoint2 is a low surrogate
9632  if (codepoint2 >= 0xDC00 and codepoint2 <= 0xDFFF)
9633  {
9634  codepoint =
9635  // high surrogate occupies the most significant 22 bits
9636  (codepoint1 << 10)
9637  // low surrogate occupies the least significant 15 bits
9638  + codepoint2
9639  // there is still the 0xD800, 0xDC00 and 0x10000 noise
9640  // in the result so we have to subtract with:
9641  // (0xD800 << 10) + DC00 - 0x10000 = 0x35FDC00
9642  - 0x35FDC00;
9643  }
9644  else
9645  {
9646  JSON_THROW(std::invalid_argument("missing or wrong low surrogate"));
9647  }
9648  }
9649 
9650  string_t result;
9651 
9652  if (codepoint < 0x80)
9653  {
9654  // 1-byte characters: 0xxxxxxx (ASCII)
9655  result.append(1, static_cast<typename string_t::value_type>(codepoint));
9656  }
9657  else if (codepoint <= 0x7ff)
9658  {
9659  // 2-byte characters: 110xxxxx 10xxxxxx
9660  result.append(1, static_cast<typename string_t::value_type>(0xC0 | ((codepoint >> 6) & 0x1F)));
9661  result.append(1, static_cast<typename string_t::value_type>(0x80 | (codepoint & 0x3F)));
9662  }
9663  else if (codepoint <= 0xffff)
9664  {
9665  // 3-byte characters: 1110xxxx 10xxxxxx 10xxxxxx
9666  result.append(1, static_cast<typename string_t::value_type>(0xE0 | ((codepoint >> 12) & 0x0F)));
9667  result.append(1, static_cast<typename string_t::value_type>(0x80 | ((codepoint >> 6) & 0x3F)));
9668  result.append(1, static_cast<typename string_t::value_type>(0x80 | (codepoint & 0x3F)));
9669  }
9670  else if (codepoint <= 0x10ffff)
9671  {
9672  // 4-byte characters: 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
9673  result.append(1, static_cast<typename string_t::value_type>(0xF0 | ((codepoint >> 18) & 0x07)));
9674  result.append(1, static_cast<typename string_t::value_type>(0x80 | ((codepoint >> 12) & 0x3F)));
9675  result.append(1, static_cast<typename string_t::value_type>(0x80 | ((codepoint >> 6) & 0x3F)));
9676  result.append(1, static_cast<typename string_t::value_type>(0x80 | (codepoint & 0x3F)));
9677  }
9678  else
9679  {
9680  JSON_THROW(std::out_of_range("code points above 0x10FFFF are invalid"));
9681  }
9682 
9683  return result;
9684  }
9685 
9687  static std::string token_type_name(const token_type t)
9688  {
9689  switch (t)
9690  {
9691  case token_type::uninitialized:
9692  return "<uninitialized>";
9693  case token_type::literal_true:
9694  return "true literal";
9695  case token_type::literal_false:
9696  return "false literal";
9697  case token_type::literal_null:
9698  return "null literal";
9699  case token_type::value_string:
9700  return "string literal";
9701  case lexer::token_type::value_unsigned:
9702  case lexer::token_type::value_integer:
9703  case lexer::token_type::value_float:
9704  return "number literal";
9705  case token_type::begin_array:
9706  return "'['";
9707  case token_type::begin_object:
9708  return "'{'";
9709  case token_type::end_array:
9710  return "']'";
9711  case token_type::end_object:
9712  return "'}'";
9713  case token_type::name_separator:
9714  return "':'";
9715  case token_type::value_separator:
9716  return "','";
9717  case token_type::parse_error:
9718  return "<parse error>";
9719  case token_type::end_of_input:
9720  return "end of input";
9721  default:
9722  {
9723  // catch non-enum values
9724  return "unknown token"; // LCOV_EXCL_LINE
9725  }
9726  }
9727  }
9728 
9750  token_type scan()
9751  {
9752  while (true)
9753  {
9754  // pointer for backtracking information
9755  m_marker = nullptr;
9756 
9757  // remember the begin of the token
9758  m_start = m_cursor;
9759  assert(m_start != nullptr);
9760 
9761 
9762  {
9763  lexer_char_t yych;
9764  unsigned int yyaccept = 0;
9765  static const unsigned char yybm[] =
9766  {
9767  0, 0, 0, 0, 0, 0, 0, 0,
9768  0, 32, 32, 0, 0, 32, 0, 0,
9769  0, 0, 0, 0, 0, 0, 0, 0,
9770  0, 0, 0, 0, 0, 0, 0, 0,
9771  160, 128, 0, 128, 128, 128, 128, 128,
9772  128, 128, 128, 128, 128, 128, 128, 128,
9773  192, 192, 192, 192, 192, 192, 192, 192,
9774  192, 192, 128, 128, 128, 128, 128, 128,
9775  128, 128, 128, 128, 128, 128, 128, 128,
9776  128, 128, 128, 128, 128, 128, 128, 128,
9777  128, 128, 128, 128, 128, 128, 128, 128,
9778  128, 128, 128, 128, 0, 128, 128, 128,
9779  128, 128, 128, 128, 128, 128, 128, 128,
9780  128, 128, 128, 128, 128, 128, 128, 128,
9781  128, 128, 128, 128, 128, 128, 128, 128,
9782  128, 128, 128, 128, 128, 128, 128, 128,
9783  0, 0, 0, 0, 0, 0, 0, 0,
9784  0, 0, 0, 0, 0, 0, 0, 0,
9785  0, 0, 0, 0, 0, 0, 0, 0,
9786  0, 0, 0, 0, 0, 0, 0, 0,
9787  0, 0, 0, 0, 0, 0, 0, 0,
9788  0, 0, 0, 0, 0, 0, 0, 0,
9789  0, 0, 0, 0, 0, 0, 0, 0,
9790  0, 0, 0, 0, 0, 0, 0, 0,
9791  0, 0, 0, 0, 0, 0, 0, 0,
9792  0, 0, 0, 0, 0, 0, 0, 0,
9793  0, 0, 0, 0, 0, 0, 0, 0,
9794  0, 0, 0, 0, 0, 0, 0, 0,
9795  0, 0, 0, 0, 0, 0, 0, 0,
9796  0, 0, 0, 0, 0, 0, 0, 0,
9797  0, 0, 0, 0, 0, 0, 0, 0,
9798  0, 0, 0, 0, 0, 0, 0, 0,
9799  };
9800  if ((m_limit - m_cursor) < 5)
9801  {
9802  fill_line_buffer(5); // LCOV_EXCL_LINE
9803  }
9804  yych = *m_cursor;
9805  if (yybm[0 + yych] & 32)
9806  {
9807  goto basic_json_parser_6;
9808  }
9809  if (yych <= '[')
9810  {
9811  if (yych <= '-')
9812  {
9813  if (yych <= '"')
9814  {
9815  if (yych <= 0x00)
9816  {
9817  goto basic_json_parser_2;
9818  }
9819  if (yych <= '!')
9820  {
9821  goto basic_json_parser_4;
9822  }
9823  goto basic_json_parser_9;
9824  }
9825  else
9826  {
9827  if (yych <= '+')
9828  {
9829  goto basic_json_parser_4;
9830  }
9831  if (yych <= ',')
9832  {
9833  goto basic_json_parser_10;
9834  }
9835  goto basic_json_parser_12;
9836  }
9837  }
9838  else
9839  {
9840  if (yych <= '9')
9841  {
9842  if (yych <= '/')
9843  {
9844  goto basic_json_parser_4;
9845  }
9846  if (yych <= '0')
9847  {
9848  goto basic_json_parser_13;
9849  }
9850  goto basic_json_parser_15;
9851  }
9852  else
9853  {
9854  if (yych <= ':')
9855  {
9856  goto basic_json_parser_17;
9857  }
9858  if (yych <= 'Z')
9859  {
9860  goto basic_json_parser_4;
9861  }
9862  goto basic_json_parser_19;
9863  }
9864  }
9865  }
9866  else
9867  {
9868  if (yych <= 'n')
9869  {
9870  if (yych <= 'e')
9871  {
9872  if (yych == ']')
9873  {
9874  goto basic_json_parser_21;
9875  }
9876  goto basic_json_parser_4;
9877  }
9878  else
9879  {
9880  if (yych <= 'f')
9881  {
9882  goto basic_json_parser_23;
9883  }
9884  if (yych <= 'm')
9885  {
9886  goto basic_json_parser_4;
9887  }
9888  goto basic_json_parser_24;
9889  }
9890  }
9891  else
9892  {
9893  if (yych <= 'z')
9894  {
9895  if (yych == 't')
9896  {
9897  goto basic_json_parser_25;
9898  }
9899  goto basic_json_parser_4;
9900  }
9901  else
9902  {
9903  if (yych <= '{')
9904  {
9905  goto basic_json_parser_26;
9906  }
9907  if (yych == '}')
9908  {
9909  goto basic_json_parser_28;
9910  }
9911  goto basic_json_parser_4;
9912  }
9913  }
9914  }
9915 basic_json_parser_2:
9916  ++m_cursor;
9917  {
9918  last_token_type = token_type::end_of_input;
9919  break;
9920  }
9921 basic_json_parser_4:
9922  ++m_cursor;
9923 basic_json_parser_5:
9924  {
9925  last_token_type = token_type::parse_error;
9926  break;
9927  }
9928 basic_json_parser_6:
9929  ++m_cursor;
9930  if (m_limit <= m_cursor)
9931  {
9932  fill_line_buffer(1); // LCOV_EXCL_LINE
9933  }
9934  yych = *m_cursor;
9935  if (yybm[0 + yych] & 32)
9936  {
9937  goto basic_json_parser_6;
9938  }
9939  {
9940  continue;
9941  }
9942 basic_json_parser_9:
9943  yyaccept = 0;
9944  yych = *(m_marker = ++m_cursor);
9945  if (yych <= 0x1F)
9946  {
9947  goto basic_json_parser_5;
9948  }
9949  if (yych <= 0x7F)
9950  {
9951  goto basic_json_parser_31;
9952  }
9953  if (yych <= 0xC1)
9954  {
9955  goto basic_json_parser_5;
9956  }
9957  if (yych <= 0xF4)
9958  {
9959  goto basic_json_parser_31;
9960  }
9961  goto basic_json_parser_5;
9962 basic_json_parser_10:
9963  ++m_cursor;
9964  {
9965  last_token_type = token_type::value_separator;
9966  break;
9967  }
9968 basic_json_parser_12:
9969  yych = *++m_cursor;
9970  if (yych <= '/')
9971  {
9972  goto basic_json_parser_5;
9973  }
9974  if (yych <= '0')
9975  {
9976  goto basic_json_parser_43;
9977  }
9978  if (yych <= '9')
9979  {
9980  goto basic_json_parser_45;
9981  }
9982  goto basic_json_parser_5;
9983 basic_json_parser_13:
9984  yyaccept = 1;
9985  yych = *(m_marker = ++m_cursor);
9986  if (yych <= '9')
9987  {
9988  if (yych == '.')
9989  {
9990  goto basic_json_parser_47;
9991  }
9992  if (yych >= '0')
9993  {
9994  goto basic_json_parser_48;
9995  }
9996  }
9997  else
9998  {
9999  if (yych <= 'E')
10000  {
10001  if (yych >= 'E')
10002  {
10003  goto basic_json_parser_51;
10004  }
10005  }
10006  else
10007  {
10008  if (yych == 'e')
10009  {
10010  goto basic_json_parser_51;
10011  }
10012  }
10013  }
10014 basic_json_parser_14:
10015  {
10016  last_token_type = token_type::value_unsigned;
10017  break;
10018  }
10019 basic_json_parser_15:
10020  yyaccept = 1;
10021  m_marker = ++m_cursor;
10022  if ((m_limit - m_cursor) < 3)
10023  {
10024  fill_line_buffer(3); // LCOV_EXCL_LINE
10025  }
10026  yych = *m_cursor;
10027  if (yybm[0 + yych] & 64)
10028  {
10029  goto basic_json_parser_15;
10030  }
10031  if (yych <= 'D')
10032  {
10033  if (yych == '.')
10034  {
10035  goto basic_json_parser_47;
10036  }
10037  goto basic_json_parser_14;
10038  }
10039  else
10040  {
10041  if (yych <= 'E')
10042  {
10043  goto basic_json_parser_51;
10044  }
10045  if (yych == 'e')
10046  {
10047  goto basic_json_parser_51;
10048  }
10049  goto basic_json_parser_14;
10050  }
10051 basic_json_parser_17:
10052  ++m_cursor;
10053  {
10054  last_token_type = token_type::name_separator;
10055  break;
10056  }
10057 basic_json_parser_19:
10058  ++m_cursor;
10059  {
10060  last_token_type = token_type::begin_array;
10061  break;
10062  }
10063 basic_json_parser_21:
10064  ++m_cursor;
10065  {
10066  last_token_type = token_type::end_array;
10067  break;
10068  }
10069 basic_json_parser_23:
10070  yyaccept = 0;
10071  yych = *(m_marker = ++m_cursor);
10072  if (yych == 'a')
10073  {
10074  goto basic_json_parser_52;
10075  }
10076  goto basic_json_parser_5;
10077 basic_json_parser_24:
10078  yyaccept = 0;
10079  yych = *(m_marker = ++m_cursor);
10080  if (yych == 'u')
10081  {
10082  goto basic_json_parser_53;
10083  }
10084  goto basic_json_parser_5;
10085 basic_json_parser_25:
10086  yyaccept = 0;
10087  yych = *(m_marker = ++m_cursor);
10088  if (yych == 'r')
10089  {
10090  goto basic_json_parser_54;
10091  }
10092  goto basic_json_parser_5;
10093 basic_json_parser_26:
10094  ++m_cursor;
10095  {
10096  last_token_type = token_type::begin_object;
10097  break;
10098  }
10099 basic_json_parser_28:
10100  ++m_cursor;
10101  {
10102  last_token_type = token_type::end_object;
10103  break;
10104  }
10105 basic_json_parser_30:
10106  ++m_cursor;
10107  if (m_limit <= m_cursor)
10108  {
10109  fill_line_buffer(1); // LCOV_EXCL_LINE
10110  }
10111  yych = *m_cursor;
10112 basic_json_parser_31:
10113  if (yybm[0 + yych] & 128)
10114  {
10115  goto basic_json_parser_30;
10116  }
10117  if (yych <= 0xE0)
10118  {
10119  if (yych <= '\\')
10120  {
10121  if (yych <= 0x1F)
10122  {
10123  goto basic_json_parser_32;
10124  }
10125  if (yych <= '"')
10126  {
10127  goto basic_json_parser_33;
10128  }
10129  goto basic_json_parser_35;
10130  }
10131  else
10132  {
10133  if (yych <= 0xC1)
10134  {
10135  goto basic_json_parser_32;
10136  }
10137  if (yych <= 0xDF)
10138  {
10139  goto basic_json_parser_36;
10140  }
10141  goto basic_json_parser_37;
10142  }
10143  }
10144  else
10145  {
10146  if (yych <= 0xEF)
10147  {
10148  if (yych == 0xED)
10149  {
10150  goto basic_json_parser_39;
10151  }
10152  goto basic_json_parser_38;
10153  }
10154  else
10155  {
10156  if (yych <= 0xF0)
10157  {
10158  goto basic_json_parser_40;
10159  }
10160  if (yych <= 0xF3)
10161  {
10162  goto basic_json_parser_41;
10163  }
10164  if (yych <= 0xF4)
10165  {
10166  goto basic_json_parser_42;
10167  }
10168  }
10169  }
10170 basic_json_parser_32:
10171  m_cursor = m_marker;
10172  if (yyaccept <= 1)
10173  {
10174  if (yyaccept == 0)
10175  {
10176  goto basic_json_parser_5;
10177  }
10178  else
10179  {
10180  goto basic_json_parser_14;
10181  }
10182  }
10183  else
10184  {
10185  if (yyaccept == 2)
10186  {
10187  goto basic_json_parser_44;
10188  }
10189  else
10190  {
10191  goto basic_json_parser_58;
10192  }
10193  }
10194 basic_json_parser_33:
10195  ++m_cursor;
10196  {
10197  last_token_type = token_type::value_string;
10198  break;
10199  }
10200 basic_json_parser_35:
10201  ++m_cursor;
10202  if (m_limit <= m_cursor)
10203  {
10204  fill_line_buffer(1); // LCOV_EXCL_LINE
10205  }
10206  yych = *m_cursor;
10207  if (yych <= 'e')
10208  {
10209  if (yych <= '/')
10210  {
10211  if (yych == '"')
10212  {
10213  goto basic_json_parser_30;
10214  }
10215  if (yych <= '.')
10216  {
10217  goto basic_json_parser_32;
10218  }
10219  goto basic_json_parser_30;
10220  }
10221  else
10222  {
10223  if (yych <= '\\')
10224  {
10225  if (yych <= '[')
10226  {
10227  goto basic_json_parser_32;
10228  }
10229  goto basic_json_parser_30;
10230  }
10231  else
10232  {
10233  if (yych == 'b')
10234  {
10235  goto basic_json_parser_30;
10236  }
10237  goto basic_json_parser_32;
10238  }
10239  }
10240  }
10241  else
10242  {
10243  if (yych <= 'q')
10244  {
10245  if (yych <= 'f')
10246  {
10247  goto basic_json_parser_30;
10248  }
10249  if (yych == 'n')
10250  {
10251  goto basic_json_parser_30;
10252  }
10253  goto basic_json_parser_32;
10254  }
10255  else
10256  {
10257  if (yych <= 's')
10258  {
10259  if (yych <= 'r')
10260  {
10261  goto basic_json_parser_30;
10262  }
10263  goto basic_json_parser_32;
10264  }
10265  else
10266  {
10267  if (yych <= 't')
10268  {
10269  goto basic_json_parser_30;
10270  }
10271  if (yych <= 'u')
10272  {
10273  goto basic_json_parser_55;
10274  }
10275  goto basic_json_parser_32;
10276  }
10277  }
10278  }
10279 basic_json_parser_36:
10280  ++m_cursor;
10281  if (m_limit <= m_cursor)
10282  {
10283  fill_line_buffer(1); // LCOV_EXCL_LINE
10284  }
10285  yych = *m_cursor;
10286  if (yych <= 0x7F)
10287  {
10288  goto basic_json_parser_32;
10289  }
10290  if (yych <= 0xBF)
10291  {
10292  goto basic_json_parser_30;
10293  }
10294  goto basic_json_parser_32;
10295 basic_json_parser_37:
10296  ++m_cursor;
10297  if (m_limit <= m_cursor)
10298  {
10299  fill_line_buffer(1); // LCOV_EXCL_LINE
10300  }
10301  yych = *m_cursor;
10302  if (yych <= 0x9F)
10303  {
10304  goto basic_json_parser_32;
10305  }
10306  if (yych <= 0xBF)
10307  {
10308  goto basic_json_parser_36;
10309  }
10310  goto basic_json_parser_32;
10311 basic_json_parser_38:
10312  ++m_cursor;
10313  if (m_limit <= m_cursor)
10314  {
10315  fill_line_buffer(1); // LCOV_EXCL_LINE
10316  }
10317  yych = *m_cursor;
10318  if (yych <= 0x7F)
10319  {
10320  goto basic_json_parser_32;
10321  }
10322  if (yych <= 0xBF)
10323  {
10324  goto basic_json_parser_36;
10325  }
10326  goto basic_json_parser_32;
10327 basic_json_parser_39:
10328  ++m_cursor;
10329  if (m_limit <= m_cursor)
10330  {
10331  fill_line_buffer(1); // LCOV_EXCL_LINE
10332  }
10333  yych = *m_cursor;
10334  if (yych <= 0x7F)
10335  {
10336  goto basic_json_parser_32;
10337  }
10338  if (yych <= 0x9F)
10339  {
10340  goto basic_json_parser_36;
10341  }
10342  goto basic_json_parser_32;
10343 basic_json_parser_40:
10344  ++m_cursor;
10345  if (m_limit <= m_cursor)
10346  {
10347  fill_line_buffer(1); // LCOV_EXCL_LINE
10348  }
10349  yych = *m_cursor;
10350  if (yych <= 0x8F)
10351  {
10352  goto basic_json_parser_32;
10353  }
10354  if (yych <= 0xBF)
10355  {
10356  goto basic_json_parser_38;
10357  }
10358  goto basic_json_parser_32;
10359 basic_json_parser_41:
10360  ++m_cursor;
10361  if (m_limit <= m_cursor)
10362  {
10363  fill_line_buffer(1); // LCOV_EXCL_LINE
10364  }
10365  yych = *m_cursor;
10366  if (yych <= 0x7F)
10367  {
10368  goto basic_json_parser_32;
10369  }
10370  if (yych <= 0xBF)
10371  {
10372  goto basic_json_parser_38;
10373  }
10374  goto basic_json_parser_32;
10375 basic_json_parser_42:
10376  ++m_cursor;
10377  if (m_limit <= m_cursor)
10378  {
10379  fill_line_buffer(1); // LCOV_EXCL_LINE
10380  }
10381  yych = *m_cursor;
10382  if (yych <= 0x7F)
10383  {
10384  goto basic_json_parser_32;
10385  }
10386  if (yych <= 0x8F)
10387  {
10388  goto basic_json_parser_38;
10389  }
10390  goto basic_json_parser_32;
10391 basic_json_parser_43:
10392  yyaccept = 2;
10393  yych = *(m_marker = ++m_cursor);
10394  if (yych <= '9')
10395  {
10396  if (yych == '.')
10397  {
10398  goto basic_json_parser_47;
10399  }
10400  if (yych >= '0')
10401  {
10402  goto basic_json_parser_48;
10403  }
10404  }
10405  else
10406  {
10407  if (yych <= 'E')
10408  {
10409  if (yych >= 'E')
10410  {
10411  goto basic_json_parser_51;
10412  }
10413  }
10414  else
10415  {
10416  if (yych == 'e')
10417  {
10418  goto basic_json_parser_51;
10419  }
10420  }
10421  }
10422 basic_json_parser_44:
10423  {
10424  last_token_type = token_type::value_integer;
10425  break;
10426  }
10427 basic_json_parser_45:
10428  yyaccept = 2;
10429  m_marker = ++m_cursor;
10430  if ((m_limit - m_cursor) < 3)
10431  {
10432  fill_line_buffer(3); // LCOV_EXCL_LINE
10433  }
10434  yych = *m_cursor;
10435  if (yych <= '9')
10436  {
10437  if (yych == '.')
10438  {
10439  goto basic_json_parser_47;
10440  }
10441  if (yych <= '/')
10442  {
10443  goto basic_json_parser_44;
10444  }
10445  goto basic_json_parser_45;
10446  }
10447  else
10448  {
10449  if (yych <= 'E')
10450  {
10451  if (yych <= 'D')
10452  {
10453  goto basic_json_parser_44;
10454  }
10455  goto basic_json_parser_51;
10456  }
10457  else
10458  {
10459  if (yych == 'e')
10460  {
10461  goto basic_json_parser_51;
10462  }
10463  goto basic_json_parser_44;
10464  }
10465  }
10466 basic_json_parser_47:
10467  yych = *++m_cursor;
10468  if (yych <= '/')
10469  {
10470  goto basic_json_parser_32;
10471  }
10472  if (yych <= '9')
10473  {
10474  goto basic_json_parser_56;
10475  }
10476  goto basic_json_parser_32;
10477 basic_json_parser_48:
10478  ++m_cursor;
10479  if (m_limit <= m_cursor)
10480  {
10481  fill_line_buffer(1); // LCOV_EXCL_LINE
10482  }
10483  yych = *m_cursor;
10484  if (yych <= '/')
10485  {
10486  goto basic_json_parser_50;
10487  }
10488  if (yych <= '9')
10489  {
10490  goto basic_json_parser_48;
10491  }
10492 basic_json_parser_50:
10493  {
10494  last_token_type = token_type::parse_error;
10495  break;
10496  }
10497 basic_json_parser_51:
10498  yych = *++m_cursor;
10499  if (yych <= ',')
10500  {
10501  if (yych == '+')
10502  {
10503  goto basic_json_parser_59;
10504  }
10505  goto basic_json_parser_32;
10506  }
10507  else
10508  {
10509  if (yych <= '-')
10510  {
10511  goto basic_json_parser_59;
10512  }
10513  if (yych <= '/')
10514  {
10515  goto basic_json_parser_32;
10516  }
10517  if (yych <= '9')
10518  {
10519  goto basic_json_parser_60;
10520  }
10521  goto basic_json_parser_32;
10522  }
10523 basic_json_parser_52:
10524  yych = *++m_cursor;
10525  if (yych == 'l')
10526  {
10527  goto basic_json_parser_62;
10528  }
10529  goto basic_json_parser_32;
10530 basic_json_parser_53:
10531  yych = *++m_cursor;
10532  if (yych == 'l')
10533  {
10534  goto basic_json_parser_63;
10535  }
10536  goto basic_json_parser_32;
10537 basic_json_parser_54:
10538  yych = *++m_cursor;
10539  if (yych == 'u')
10540  {
10541  goto basic_json_parser_64;
10542  }
10543  goto basic_json_parser_32;
10544 basic_json_parser_55:
10545  ++m_cursor;
10546  if (m_limit <= m_cursor)
10547  {
10548  fill_line_buffer(1); // LCOV_EXCL_LINE
10549  }
10550  yych = *m_cursor;
10551  if (yych <= '@')
10552  {
10553  if (yych <= '/')
10554  {
10555  goto basic_json_parser_32;
10556  }
10557  if (yych <= '9')
10558  {
10559  goto basic_json_parser_65;
10560  }
10561  goto basic_json_parser_32;
10562  }
10563  else
10564  {
10565  if (yych <= 'F')
10566  {
10567  goto basic_json_parser_65;
10568  }
10569  if (yych <= '`')
10570  {
10571  goto basic_json_parser_32;
10572  }
10573  if (yych <= 'f')
10574  {
10575  goto basic_json_parser_65;
10576  }
10577  goto basic_json_parser_32;
10578  }
10579 basic_json_parser_56:
10580  yyaccept = 3;
10581  m_marker = ++m_cursor;
10582  if ((m_limit - m_cursor) < 3)
10583  {
10584  fill_line_buffer(3); // LCOV_EXCL_LINE
10585  }
10586  yych = *m_cursor;
10587  if (yych <= 'D')
10588  {
10589  if (yych <= '/')
10590  {
10591  goto basic_json_parser_58;
10592  }
10593  if (yych <= '9')
10594  {
10595  goto basic_json_parser_56;
10596  }
10597  }
10598  else
10599  {
10600  if (yych <= 'E')
10601  {
10602  goto basic_json_parser_51;
10603  }
10604  if (yych == 'e')
10605  {
10606  goto basic_json_parser_51;
10607  }
10608  }
10609 basic_json_parser_58:
10610  {
10611  last_token_type = token_type::value_float;
10612  break;
10613  }
10614 basic_json_parser_59:
10615  yych = *++m_cursor;
10616  if (yych <= '/')
10617  {
10618  goto basic_json_parser_32;
10619  }
10620  if (yych >= ':')
10621  {
10622  goto basic_json_parser_32;
10623  }
10624 basic_json_parser_60:
10625  ++m_cursor;
10626  if (m_limit <= m_cursor)
10627  {
10628  fill_line_buffer(1); // LCOV_EXCL_LINE
10629  }
10630  yych = *m_cursor;
10631  if (yych <= '/')
10632  {
10633  goto basic_json_parser_58;
10634  }
10635  if (yych <= '9')
10636  {
10637  goto basic_json_parser_60;
10638  }
10639  goto basic_json_parser_58;
10640 basic_json_parser_62:
10641  yych = *++m_cursor;
10642  if (yych == 's')
10643  {
10644  goto basic_json_parser_66;
10645  }
10646  goto basic_json_parser_32;
10647 basic_json_parser_63:
10648  yych = *++m_cursor;
10649  if (yych == 'l')
10650  {
10651  goto basic_json_parser_67;
10652  }
10653  goto basic_json_parser_32;
10654 basic_json_parser_64:
10655  yych = *++m_cursor;
10656  if (yych == 'e')
10657  {
10658  goto basic_json_parser_69;
10659  }
10660  goto basic_json_parser_32;
10661 basic_json_parser_65:
10662  ++m_cursor;
10663  if (m_limit <= m_cursor)
10664  {
10665  fill_line_buffer(1); // LCOV_EXCL_LINE
10666  }
10667  yych = *m_cursor;
10668  if (yych <= '@')
10669  {
10670  if (yych <= '/')
10671  {
10672  goto basic_json_parser_32;
10673  }
10674  if (yych <= '9')
10675  {
10676  goto basic_json_parser_71;
10677  }
10678  goto basic_json_parser_32;
10679  }
10680  else
10681  {
10682  if (yych <= 'F')
10683  {
10684  goto basic_json_parser_71;
10685  }
10686  if (yych <= '`')
10687  {
10688  goto basic_json_parser_32;
10689  }
10690  if (yych <= 'f')
10691  {
10692  goto basic_json_parser_71;
10693  }
10694  goto basic_json_parser_32;
10695  }
10696 basic_json_parser_66:
10697  yych = *++m_cursor;
10698  if (yych == 'e')
10699  {
10700  goto basic_json_parser_72;
10701  }
10702  goto basic_json_parser_32;
10703 basic_json_parser_67:
10704  ++m_cursor;
10705  {
10706  last_token_type = token_type::literal_null;
10707  break;
10708  }
10709 basic_json_parser_69:
10710  ++m_cursor;
10711  {
10712  last_token_type = token_type::literal_true;
10713  break;
10714  }
10715 basic_json_parser_71:
10716  ++m_cursor;
10717  if (m_limit <= m_cursor)
10718  {
10719  fill_line_buffer(1); // LCOV_EXCL_LINE
10720  }
10721  yych = *m_cursor;
10722  if (yych <= '@')
10723  {
10724  if (yych <= '/')
10725  {
10726  goto basic_json_parser_32;
10727  }
10728  if (yych <= '9')
10729  {
10730  goto basic_json_parser_74;
10731  }
10732  goto basic_json_parser_32;
10733  }
10734  else
10735  {
10736  if (yych <= 'F')
10737  {
10738  goto basic_json_parser_74;
10739  }
10740  if (yych <= '`')
10741  {
10742  goto basic_json_parser_32;
10743  }
10744  if (yych <= 'f')
10745  {
10746  goto basic_json_parser_74;
10747  }
10748  goto basic_json_parser_32;
10749  }
10750 basic_json_parser_72:
10751  ++m_cursor;
10752  {
10753  last_token_type = token_type::literal_false;
10754  break;
10755  }
10756 basic_json_parser_74:
10757  ++m_cursor;
10758  if (m_limit <= m_cursor)
10759  {
10760  fill_line_buffer(1); // LCOV_EXCL_LINE
10761  }
10762  yych = *m_cursor;
10763  if (yych <= '@')
10764  {
10765  if (yych <= '/')
10766  {
10767  goto basic_json_parser_32;
10768  }
10769  if (yych <= '9')
10770  {
10771  goto basic_json_parser_30;
10772  }
10773  goto basic_json_parser_32;
10774  }
10775  else
10776  {
10777  if (yych <= 'F')
10778  {
10779  goto basic_json_parser_30;
10780  }
10781  if (yych <= '`')
10782  {
10783  goto basic_json_parser_32;
10784  }
10785  if (yych <= 'f')
10786  {
10787  goto basic_json_parser_30;
10788  }
10789  goto basic_json_parser_32;
10790  }
10791  }
10792 
10793  }
10794 
10795  return last_token_type;
10796  }
10797 
10826  void fill_line_buffer(size_t n = 0)
10827  {
10828  // if line buffer is used, m_content points to its data
10829  assert(m_line_buffer.empty()
10830  or m_content == reinterpret_cast<const lexer_char_t*>(m_line_buffer.data()));
10831 
10832  // if line buffer is used, m_limit is set past the end of its data
10833  assert(m_line_buffer.empty()
10834  or m_limit == m_content + m_line_buffer.size());
10835 
10836  // pointer relationships
10837  assert(m_content <= m_start);
10838  assert(m_start <= m_cursor);
10839  assert(m_cursor <= m_limit);
10840  assert(m_marker == nullptr or m_marker <= m_limit);
10841 
10842  // number of processed characters (p)
10843  const auto num_processed_chars = static_cast<size_t>(m_start - m_content);
10844  // offset for m_marker wrt. to m_start
10845  const auto offset_marker = (m_marker == nullptr) ? 0 : m_marker - m_start;
10846  // number of unprocessed characters (u)
10847  const auto offset_cursor = m_cursor - m_start;
10848 
10849  // no stream is used or end of file is reached
10850  if (m_stream == nullptr or m_stream->eof())
10851  {
10852  // m_start may or may not be pointing into m_line_buffer at
10853  // this point. We trust the standard library to do the right
10854  // thing. See http://stackoverflow.com/q/28142011/266378
10855  m_line_buffer.assign(m_start, m_limit);
10856 
10857  // append n characters to make sure that there is sufficient
10858  // space between m_cursor and m_limit
10859  m_line_buffer.append(1, '\x00');
10860  if (n > 0)
10861  {
10862  m_line_buffer.append(n - 1, '\x01');
10863  }
10864  }
10865  else
10866  {
10867  // delete processed characters from line buffer
10868  m_line_buffer.erase(0, num_processed_chars);
10869  // read next line from input stream
10870  m_line_buffer_tmp.clear();
10871  std::getline(*m_stream, m_line_buffer_tmp, '\n');
10872 
10873  // add line with newline symbol to the line buffer
10874  m_line_buffer += m_line_buffer_tmp;
10875  m_line_buffer.push_back('\n');
10876  }
10877 
10878  // set pointers
10879  m_content = reinterpret_cast<const lexer_char_t*>(m_line_buffer.data());
10880  assert(m_content != nullptr);
10881  m_start = m_content;
10882  m_marker = m_start + offset_marker;
10883  m_cursor = m_start + offset_cursor;
10884  m_limit = m_start + m_line_buffer.size();
10885  }
10886 
10888  string_t get_token_string() const
10889  {
10890  assert(m_start != nullptr);
10891  return string_t(reinterpret_cast<typename string_t::const_pointer>(m_start),
10892  static_cast<size_t>(m_cursor - m_start));
10893  }
10894 
10952  string_t get_string() const
10953  {
10954  assert(m_cursor - m_start >= 2);
10955 
10956  string_t result;
10957  result.reserve(static_cast<size_t>(m_cursor - m_start - 2));
10958 
10959  // iterate the result between the quotes
10960  for (const lexer_char_t* i = m_start + 1; i < m_cursor - 1; ++i)
10961  {
10962  // find next escape character
10963  auto e = std::find(i, m_cursor - 1, '\\');
10964  if (e != i)
10965  {
10966  // see https://github.com/nlohmann/json/issues/365#issuecomment-262874705
10967  for (auto k = i; k < e; k++)
10968  {
10969  result.push_back(static_cast<typename string_t::value_type>(*k));
10970  }
10971  i = e - 1; // -1 because of ++i
10972  }
10973  else
10974  {
10975  // processing escaped character
10976  // read next character
10977  ++i;
10978 
10979  switch (*i)
10980  {
10981  // the default escapes
10982  case 't':
10983  {
10984  result += "\t";
10985  break;
10986  }
10987  case 'b':
10988  {
10989  result += "\b";
10990  break;
10991  }
10992  case 'f':
10993  {
10994  result += "\f";
10995  break;
10996  }
10997  case 'n':
10998  {
10999  result += "\n";
11000  break;
11001  }
11002  case 'r':
11003  {
11004  result += "\r";
11005  break;
11006  }
11007  case '\\':
11008  {
11009  result += "\\";
11010  break;
11011  }
11012  case '/':
11013  {
11014  result += "/";
11015  break;
11016  }
11017  case '"':
11018  {
11019  result += "\"";
11020  break;
11021  }
11022 
11023  // unicode
11024  case 'u':
11025  {
11026  // get code xxxx from uxxxx
11027  auto codepoint = std::strtoul(std::string(reinterpret_cast<typename string_t::const_pointer>(i + 1),
11028  4).c_str(), nullptr, 16);
11029 
11030  // check if codepoint is a high surrogate
11031  if (codepoint >= 0xD800 and codepoint <= 0xDBFF)
11032  {
11033  // make sure there is a subsequent unicode
11034  if ((i + 6 >= m_limit) or * (i + 5) != '\\' or * (i + 6) != 'u')
11035  {
11036  JSON_THROW(std::invalid_argument("missing low surrogate"));
11037  }
11038 
11039  // get code yyyy from uxxxx\uyyyy
11040  auto codepoint2 = std::strtoul(std::string(reinterpret_cast<typename string_t::const_pointer>
11041  (i + 7), 4).c_str(), nullptr, 16);
11042  result += to_unicode(codepoint, codepoint2);
11043  // skip the next 10 characters (xxxx\uyyyy)
11044  i += 10;
11045  }
11046  else if (codepoint >= 0xDC00 and codepoint <= 0xDFFF)
11047  {
11048  // we found a lone low surrogate
11049  JSON_THROW(std::invalid_argument("missing high surrogate"));
11050  }
11051  else
11052  {
11053  // add unicode character(s)
11054  result += to_unicode(codepoint);
11055  // skip the next four characters (xxxx)
11056  i += 4;
11057  }
11058  break;
11059  }
11060  }
11061  }
11062  }
11063 
11064  return result;
11065  }
11066 
11067 
11077  struct strtonum
11078  {
11079  public:
11080  strtonum(const char* start, const char* end)
11081  : m_start(start), m_end(end)
11082  {}
11083 
11090  template<typename T, typename = typename std::enable_if<std::is_arithmetic<T>::value>::type>
11091  bool to(T& val) const
11092  {
11093  return parse(val, std::is_integral<T>());
11094  }
11095 
11096  private:
11097  const char* const m_start = nullptr;
11098  const char* const m_end = nullptr;
11099 
11100  // floating-point conversion
11101 
11102  // overloaded wrappers for strtod/strtof/strtold
11103  // that will be called from parse<floating_point_t>
11104  static void strtof(float& f, const char* str, char** endptr)
11105  {
11106  f = std::strtof(str, endptr);
11107  }
11108 
11109  static void strtof(double& f, const char* str, char** endptr)
11110  {
11111  f = std::strtod(str, endptr);
11112  }
11113 
11114  static void strtof(long double& f, const char* str, char** endptr)
11115  {
11116  f = std::strtold(str, endptr);
11117  }
11118 
11119  template<typename T>
11120  bool parse(T& value, /*is_integral=*/std::false_type) const
11121  {
11122  // replace decimal separator with locale-specific version,
11123  // when necessary; data will point to either the original
11124  // string, or buf, or tempstr containing the fixed string.
11125  std::string tempstr;
11126  std::array<char, 64> buf;
11127  const size_t len = static_cast<size_t>(m_end - m_start);
11128 
11129  // lexer will reject empty numbers
11130  assert(len > 0);
11131 
11132  // since dealing with strtod family of functions, we're
11133  // getting the decimal point char from the C locale facilities
11134  // instead of C++'s numpunct facet of the current std::locale
11135  const auto loc = localeconv();
11136  assert(loc != nullptr);
11137  const char decimal_point_char = (loc->decimal_point == nullptr) ? '.' : loc->decimal_point[0];
11138 
11139  const char* data = m_start;
11140 
11141  if (decimal_point_char != '.')
11142  {
11143  const size_t ds_pos = static_cast<size_t>(std::find(m_start, m_end, '.') - m_start);
11144 
11145  if (ds_pos != len)
11146  {
11147  // copy the data into the local buffer or tempstr, if
11148  // buffer is too small; replace decimal separator, and
11149  // update data to point to the modified bytes
11150  if ((len + 1) < buf.size())
11151  {
11152  std::copy(m_start, m_end, buf.begin());
11153  buf[len] = 0;
11154  buf[ds_pos] = decimal_point_char;
11155  data = buf.data();
11156  }
11157  else
11158  {
11159  tempstr.assign(m_start, m_end);
11160  tempstr[ds_pos] = decimal_point_char;
11161  data = tempstr.c_str();
11162  }
11163  }
11164  }
11165 
11166  char* endptr = nullptr;
11167  value = 0;
11168  // this calls appropriate overload depending on T
11169  strtof(value, data, &endptr);
11170 
11171  // parsing was successful iff strtof parsed exactly the number
11172  // of characters determined by the lexer (len)
11173  const bool ok = (endptr == (data + len));
11174 
11175  if (ok and (value == static_cast<T>(0.0)) and (*data == '-'))
11176  {
11177  // some implementations forget to negate the zero
11178  value = -0.0;
11179  }
11180 
11181  return ok;
11182  }
11183 
11184  // integral conversion
11185 
11186  signed long long parse_integral(char** endptr, /*is_signed*/std::true_type) const
11187  {
11188  return std::strtoll(m_start, endptr, 10);
11189  }
11190 
11191  unsigned long long parse_integral(char** endptr, /*is_signed*/std::false_type) const
11192  {
11193  return std::strtoull(m_start, endptr, 10);
11194  }
11195 
11196  template<typename T>
11197  bool parse(T& value, /*is_integral=*/std::true_type) const
11198  {
11199  char* endptr = nullptr;
11200  errno = 0; // these are thread-local
11201  const auto x = parse_integral(&endptr, std::is_signed<T>());
11202 
11203  // called right overload?
11204  static_assert(std::is_signed<T>() == std::is_signed<decltype(x)>(), "");
11205 
11206  value = static_cast<T>(x);
11207 
11208  return (x == static_cast<decltype(x)>(value)) // x fits into destination T
11209  and (x < 0) == (value < 0) // preserved sign
11210  //and ((x != 0) or is_integral()) // strto[u]ll did nto fail
11211  and (errno == 0) // strto[u]ll did not overflow
11212  and (m_start < m_end) // token was not empty
11213  and (endptr == m_end); // parsed entire token exactly
11214  }
11215  };
11216 
11236  bool get_number(basic_json& result, const token_type token) const
11237  {
11238  assert(m_start != nullptr);
11239  assert(m_start < m_cursor);
11240  assert((token == token_type::value_unsigned) or
11241  (token == token_type::value_integer) or
11242  (token == token_type::value_float));
11243 
11244  strtonum num_converter(reinterpret_cast<const char*>(m_start),
11245  reinterpret_cast<const char*>(m_cursor));
11246 
11247  switch (token)
11248  {
11249  case lexer::token_type::value_unsigned:
11250  {
11251  number_unsigned_t val;
11252  if (num_converter.to(val))
11253  {
11254  // parsing successful
11255  result.m_type = value_t::number_unsigned;
11256  result.m_value = val;
11257  return true;
11258  }
11259  break;
11260  }
11261 
11262  case lexer::token_type::value_integer:
11263  {
11264  number_integer_t val;
11265  if (num_converter.to(val))
11266  {
11267  // parsing successful
11268  result.m_type = value_t::number_integer;
11269  result.m_value = val;
11270  return true;
11271  }
11272  break;
11273  }
11274 
11275  default:
11276  {
11277  break;
11278  }
11279  }
11280 
11281  // parse float (either explicitly or because a previous conversion
11282  // failed)
11283  number_float_t val;
11284  if (num_converter.to(val))
11285  {
11286  // parsing successful
11287  result.m_type = value_t::number_float;
11288  result.m_value = val;
11289 
11290  // replace infinity and NAN by null
11291  if (not std::isfinite(result.m_value.number_float))
11292  {
11293  result.m_type = value_t::null;
11294  result.m_value = basic_json::json_value();
11295  }
11296 
11297  return true;
11298  }
11299 
11300  // couldn't parse number in any format
11301  return false;
11302  }
11303 
11304  private:
11306  std::istream* m_stream = nullptr;
11308  string_t m_line_buffer {};
11310  string_t m_line_buffer_tmp {};
11312  const lexer_char_t* m_content = nullptr;
11314  const lexer_char_t* m_start = nullptr;
11316  const lexer_char_t* m_marker = nullptr;
11318  const lexer_char_t* m_cursor = nullptr;
11320  const lexer_char_t* m_limit = nullptr;
11322  token_type last_token_type = token_type::end_of_input;
11323  };
11324 
11330  class parser
11331  {
11332  public:
11334  parser(const char* buff, const parser_callback_t cb = nullptr)
11335  : callback(cb),
11336  m_lexer(reinterpret_cast<const typename lexer::lexer_char_t*>(buff), std::strlen(buff))
11337  {}
11338 
11340  parser(std::istream& is, const parser_callback_t cb = nullptr)
11341  : callback(cb), m_lexer(is)
11342  {}
11343 
11345  template<class IteratorType, typename std::enable_if<
11346  std::is_same<typename std::iterator_traits<IteratorType>::iterator_category, std::random_access_iterator_tag>::value
11347  , int>::type
11348  = 0>
11349  parser(IteratorType first, IteratorType last, const parser_callback_t cb = nullptr)
11350  : callback(cb),
11351  m_lexer(reinterpret_cast<const typename lexer::lexer_char_t*>(&(*first)),
11352  static_cast<size_t>(std::distance(first, last)))
11353  {}
11354 
11356  basic_json parse()
11357  {
11358  // read first token
11359  get_token();
11360 
11361  basic_json result = parse_internal(true);
11362  result.assert_invariant();
11363 
11364  expect(lexer::token_type::end_of_input);
11365 
11366  // return parser result and replace it with null in case the
11367  // top-level value was discarded by the callback function
11368  return result.is_discarded() ? basic_json() : std::move(result);
11369  }
11370 
11371  private:
11373  basic_json parse_internal(bool keep)
11374  {
11375  auto result = basic_json(value_t::discarded);
11376 
11377  switch (last_token)
11378  {
11379  case lexer::token_type::begin_object:
11380  {
11381  if (keep and (not callback
11382  or ((keep = callback(depth++, parse_event_t::object_start, result)) != 0)))
11383  {
11384  // explicitly set result to object to cope with {}
11385  result.m_type = value_t::object;
11386  result.m_value = value_t::object;
11387  }
11388 
11389  // read next token
11390  get_token();
11391 
11392  // closing } -> we are done
11393  if (last_token == lexer::token_type::end_object)
11394  {
11395  get_token();
11396  if (keep and callback and not callback(--depth, parse_event_t::object_end, result))
11397  {
11398  result = basic_json(value_t::discarded);
11399  }
11400  return result;
11401  }
11402 
11403  // no comma is expected here
11404  unexpect(lexer::token_type::value_separator);
11405 
11406  // otherwise: parse key-value pairs
11407  do
11408  {
11409  // ugly, but could be fixed with loop reorganization
11410  if (last_token == lexer::token_type::value_separator)
11411  {
11412  get_token();
11413  }
11414 
11415  // store key
11416  expect(lexer::token_type::value_string);
11417  const auto key = m_lexer.get_string();
11418 
11419  bool keep_tag = false;
11420  if (keep)
11421  {
11422  if (callback)
11423  {
11424  basic_json k(key);
11425  keep_tag = callback(depth, parse_event_t::key, k);
11426  }
11427  else
11428  {
11429  keep_tag = true;
11430  }
11431  }
11432 
11433  // parse separator (:)
11434  get_token();
11435  expect(lexer::token_type::name_separator);
11436 
11437  // parse and add value
11438  get_token();
11439  auto value = parse_internal(keep);
11440  if (keep and keep_tag and not value.is_discarded())
11441  {
11442  result[key] = std::move(value);
11443  }
11444  }
11445  while (last_token == lexer::token_type::value_separator);
11446 
11447  // closing }
11448  expect(lexer::token_type::end_object);
11449  get_token();
11450  if (keep and callback and not callback(--depth, parse_event_t::object_end, result))
11451  {
11452  result = basic_json(value_t::discarded);
11453  }
11454 
11455  return result;
11456  }
11457 
11458  case lexer::token_type::begin_array:
11459  {
11460  if (keep and (not callback
11461  or ((keep = callback(depth++, parse_event_t::array_start, result)) != 0)))
11462  {
11463  // explicitly set result to object to cope with []
11464  result.m_type = value_t::array;
11465  result.m_value = value_t::array;
11466  }
11467 
11468  // read next token
11469  get_token();
11470 
11471  // closing ] -> we are done
11472  if (last_token == lexer::token_type::end_array)
11473  {
11474  get_token();
11475  if (callback and not callback(--depth, parse_event_t::array_end, result))
11476  {
11477  result = basic_json(value_t::discarded);
11478  }
11479  return result;
11480  }
11481 
11482  // no comma is expected here
11483  unexpect(lexer::token_type::value_separator);
11484 
11485  // otherwise: parse values
11486  do
11487  {
11488  // ugly, but could be fixed with loop reorganization
11489  if (last_token == lexer::token_type::value_separator)
11490  {
11491  get_token();
11492  }
11493 
11494  // parse value
11495  auto value = parse_internal(keep);
11496  if (keep and not value.is_discarded())
11497  {
11498  result.push_back(std::move(value));
11499  }
11500  }
11501  while (last_token == lexer::token_type::value_separator);
11502 
11503  // closing ]
11504  expect(lexer::token_type::end_array);
11505  get_token();
11506  if (keep and callback and not callback(--depth, parse_event_t::array_end, result))
11507  {
11508  result = basic_json(value_t::discarded);
11509  }
11510 
11511  return result;
11512  }
11513 
11514  case lexer::token_type::literal_null:
11515  {
11516  get_token();
11517  result.m_type = value_t::null;
11518  break;
11519  }
11520 
11521  case lexer::token_type::value_string:
11522  {
11523  const auto s = m_lexer.get_string();
11524  get_token();
11525  result = basic_json(s);
11526  break;
11527  }
11528 
11529  case lexer::token_type::literal_true:
11530  {
11531  get_token();
11532  result.m_type = value_t::boolean;
11533  result.m_value = true;
11534  break;
11535  }
11536 
11537  case lexer::token_type::literal_false:
11538  {
11539  get_token();
11540  result.m_type = value_t::boolean;
11541  result.m_value = false;
11542  break;
11543  }
11544 
11545  case lexer::token_type::value_unsigned:
11546  case lexer::token_type::value_integer:
11547  case lexer::token_type::value_float:
11548  {
11549  m_lexer.get_number(result, last_token);
11550  get_token();
11551  break;
11552  }
11553 
11554  default:
11555  {
11556  // the last token was unexpected
11557  unexpect(last_token);
11558  }
11559  }
11560 
11561  if (keep and callback and not callback(depth, parse_event_t::value, result))
11562  {
11563  result = basic_json(value_t::discarded);
11564  }
11565  return result;
11566  }
11567 
11569  typename lexer::token_type get_token()
11570  {
11571  last_token = m_lexer.scan();
11572  return last_token;
11573  }
11574 
11575  void expect(typename lexer::token_type t) const
11576  {
11577  if (t != last_token)
11578  {
11579  std::string error_msg = "parse error - unexpected ";
11580  error_msg += (last_token == lexer::token_type::parse_error ? ("'" + m_lexer.get_token_string() +
11581  "'") :
11582  lexer::token_type_name(last_token));
11583  error_msg += "; expected " + lexer::token_type_name(t);
11584  JSON_THROW(std::invalid_argument(error_msg));
11585  }
11586  }
11587 
11588  void unexpect(typename lexer::token_type t) const
11589  {
11590  if (t == last_token)
11591  {
11592  std::string error_msg = "parse error - unexpected ";
11593  error_msg += (last_token == lexer::token_type::parse_error ? ("'" + m_lexer.get_token_string() +
11594  "'") :
11595  lexer::token_type_name(last_token));
11596  JSON_THROW(std::invalid_argument(error_msg));
11597  }
11598  }
11599 
11600  private:
11602  int depth = 0;
11604  const parser_callback_t callback = nullptr;
11606  typename lexer::token_type last_token = lexer::token_type::uninitialized;
11608  lexer m_lexer;
11609  };
11610 
11611  public:
11624  {
11626  friend class basic_json;
11627 
11628  public:
11651  explicit json_pointer(const std::string& s = "")
11652  : reference_tokens(split(s))
11653  {}
11654 
11670  std::string to_string() const noexcept
11671  {
11672  return std::accumulate(reference_tokens.begin(),
11673  reference_tokens.end(), std::string{},
11674  [](const std::string & a, const std::string & b)
11675  {
11676  return a + "/" + escape(b);
11677  });
11678  }
11679 
11681  operator std::string() const
11682  {
11683  return to_string();
11684  }
11685 
11686  private:
11688  std::string pop_back()
11689  {
11690  if (is_root())
11691  {
11692  JSON_THROW(std::domain_error("JSON pointer has no parent"));
11693  }
11694 
11695  auto last = reference_tokens.back();
11696  reference_tokens.pop_back();
11697  return last;
11698  }
11699 
11701  bool is_root() const
11702  {
11703  return reference_tokens.empty();
11704  }
11705 
11706  json_pointer top() const
11707  {
11708  if (is_root())
11709  {
11710  JSON_THROW(std::domain_error("JSON pointer has no parent"));
11711  }
11712 
11713  json_pointer result = *this;
11714  result.reference_tokens = {reference_tokens[0]};
11715  return result;
11716  }
11717 
11723  reference get_and_create(reference j) const
11724  {
11725  pointer result = &j;
11726 
11727  // in case no reference tokens exist, return a reference to the
11728  // JSON value j which will be overwritten by a primitive value
11729  for (const auto& reference_token : reference_tokens)
11730  {
11731  switch (result->m_type)
11732  {
11733  case value_t::null:
11734  {
11735  if (reference_token == "0")
11736  {
11737  // start a new array if reference token is 0
11738  result = &result->operator[](0);
11739  }
11740  else
11741  {
11742  // start a new object otherwise
11743  result = &result->operator[](reference_token);
11744  }
11745  break;
11746  }
11747 
11748  case value_t::object:
11749  {
11750  // create an entry in the object
11751  result = &result->operator[](reference_token);
11752  break;
11753  }
11754 
11755  case value_t::array:
11756  {
11757  // create an entry in the array
11758  result = &result->operator[](static_cast<size_type>(std::stoi(reference_token)));
11759  break;
11760  }
11761 
11762  /*
11763  The following code is only reached if there exists a
11764  reference token _and_ the current value is primitive. In
11765  this case, we have an error situation, because primitive
11766  values may only occur as single value; that is, with an
11767  empty list of reference tokens.
11768  */
11769  default:
11770  {
11771  JSON_THROW(std::domain_error("invalid value to unflatten"));
11772  }
11773  }
11774  }
11775 
11776  return *result;
11777  }
11778 
11798  reference get_unchecked(pointer ptr) const
11799  {
11800  for (const auto& reference_token : reference_tokens)
11801  {
11802  // convert null values to arrays or objects before continuing
11803  if (ptr->m_type == value_t::null)
11804  {
11805  // check if reference token is a number
11806  const bool nums = std::all_of(reference_token.begin(),
11807  reference_token.end(),
11808  [](const char x)
11809  {
11810  return std::isdigit(x);
11811  });
11812 
11813  // change value to array for numbers or "-" or to object
11814  // otherwise
11815  if (nums or reference_token == "-")
11816  {
11817  *ptr = value_t::array;
11818  }
11819  else
11820  {
11821  *ptr = value_t::object;
11822  }
11823  }
11824 
11825  switch (ptr->m_type)
11826  {
11827  case value_t::object:
11828  {
11829  // use unchecked object access
11830  ptr = &ptr->operator[](reference_token);
11831  break;
11832  }
11833 
11834  case value_t::array:
11835  {
11836  // error condition (cf. RFC 6901, Sect. 4)
11837  if (reference_token.size() > 1 and reference_token[0] == '0')
11838  {
11839  JSON_THROW(std::domain_error("array index must not begin with '0'"));
11840  }
11841 
11842  if (reference_token == "-")
11843  {
11844  // explicitly treat "-" as index beyond the end
11845  ptr = &ptr->operator[](ptr->m_value.array->size());
11846  }
11847  else
11848  {
11849  // convert array index to number; unchecked access
11850  ptr = &ptr->operator[](static_cast<size_type>(std::stoi(reference_token)));
11851  }
11852  break;
11853  }
11854 
11855  default:
11856  {
11857  JSON_THROW(std::out_of_range("unresolved reference token '" + reference_token + "'"));
11858  }
11859  }
11860  }
11861 
11862  return *ptr;
11863  }
11864 
11865  reference get_checked(pointer ptr) const
11866  {
11867  for (const auto& reference_token : reference_tokens)
11868  {
11869  switch (ptr->m_type)
11870  {
11871  case value_t::object:
11872  {
11873  // note: at performs range check
11874  ptr = &ptr->at(reference_token);
11875  break;
11876  }
11877 
11878  case value_t::array:
11879  {
11880  if (reference_token == "-")
11881  {
11882  // "-" always fails the range check
11883  JSON_THROW(std::out_of_range("array index '-' (" +
11884  std::to_string(ptr->m_value.array->size()) +
11885  ") is out of range"));
11886  }
11887 
11888  // error condition (cf. RFC 6901, Sect. 4)
11889  if (reference_token.size() > 1 and reference_token[0] == '0')
11890  {
11891  JSON_THROW(std::domain_error("array index must not begin with '0'"));
11892  }
11893 
11894  // note: at performs range check
11895  ptr = &ptr->at(static_cast<size_type>(std::stoi(reference_token)));
11896  break;
11897  }
11898 
11899  default:
11900  {
11901  JSON_THROW(std::out_of_range("unresolved reference token '" + reference_token + "'"));
11902  }
11903  }
11904  }
11905 
11906  return *ptr;
11907  }
11908 
11917  const_reference get_unchecked(const_pointer ptr) const
11918  {
11919  for (const auto& reference_token : reference_tokens)
11920  {
11921  switch (ptr->m_type)
11922  {
11923  case value_t::object:
11924  {
11925  // use unchecked object access
11926  ptr = &ptr->operator[](reference_token);
11927  break;
11928  }
11929 
11930  case value_t::array:
11931  {
11932  if (reference_token == "-")
11933  {
11934  // "-" cannot be used for const access
11935  JSON_THROW(std::out_of_range("array index '-' (" +
11936  std::to_string(ptr->m_value.array->size()) +
11937  ") is out of range"));
11938  }
11939 
11940  // error condition (cf. RFC 6901, Sect. 4)
11941  if (reference_token.size() > 1 and reference_token[0] == '0')
11942  {
11943  JSON_THROW(std::domain_error("array index must not begin with '0'"));
11944  }
11945 
11946  // use unchecked array access
11947  ptr = &ptr->operator[](static_cast<size_type>(std::stoi(reference_token)));
11948  break;
11949  }
11950 
11951  default:
11952  {
11953  JSON_THROW(std::out_of_range("unresolved reference token '" + reference_token + "'"));
11954  }
11955  }
11956  }
11957 
11958  return *ptr;
11959  }
11960 
11961  const_reference get_checked(const_pointer ptr) const
11962  {
11963  for (const auto& reference_token : reference_tokens)
11964  {
11965  switch (ptr->m_type)
11966  {
11967  case value_t::object:
11968  {
11969  // note: at performs range check
11970  ptr = &ptr->at(reference_token);
11971  break;
11972  }
11973 
11974  case value_t::array:
11975  {
11976  if (reference_token == "-")
11977  {
11978  // "-" always fails the range check
11979  JSON_THROW(std::out_of_range("array index '-' (" +
11980  std::to_string(ptr->m_value.array->size()) +
11981  ") is out of range"));
11982  }
11983 
11984  // error condition (cf. RFC 6901, Sect. 4)
11985  if (reference_token.size() > 1 and reference_token[0] == '0')
11986  {
11987  JSON_THROW(std::domain_error("array index must not begin with '0'"));
11988  }
11989 
11990  // note: at performs range check
11991  ptr = &ptr->at(static_cast<size_type>(std::stoi(reference_token)));
11992  break;
11993  }
11994 
11995  default:
11996  {
11997  JSON_THROW(std::out_of_range("unresolved reference token '" + reference_token + "'"));
11998  }
11999  }
12000  }
12001 
12002  return *ptr;
12003  }
12004 
12006  static std::vector<std::string> split(const std::string& reference_string)
12007  {
12008  std::vector<std::string> result;
12009 
12010  // special case: empty reference string -> no reference tokens
12011  if (reference_string.empty())
12012  {
12013  return result;
12014  }
12015 
12016  // check if nonempty reference string begins with slash
12017  if (reference_string[0] != '/')
12018  {
12019  JSON_THROW(std::domain_error("JSON pointer must be empty or begin with '/'"));
12020  }
12021 
12022  // extract the reference tokens:
12023  // - slash: position of the last read slash (or end of string)
12024  // - start: position after the previous slash
12025  for (
12026  // search for the first slash after the first character
12027  size_t slash = reference_string.find_first_of('/', 1),
12028  // set the beginning of the first reference token
12029  start = 1;
12030  // we can stop if start == string::npos+1 = 0
12031  start != 0;
12032  // set the beginning of the next reference token
12033  // (will eventually be 0 if slash == std::string::npos)
12034  start = slash + 1,
12035  // find next slash
12036  slash = reference_string.find_first_of('/', start))
12037  {
12038  // use the text between the beginning of the reference token
12039  // (start) and the last slash (slash).
12040  auto reference_token = reference_string.substr(start, slash - start);
12041 
12042  // check reference tokens are properly escaped
12043  for (size_t pos = reference_token.find_first_of('~');
12044  pos != std::string::npos;
12045  pos = reference_token.find_first_of('~', pos + 1))
12046  {
12047  assert(reference_token[pos] == '~');
12048 
12049  // ~ must be followed by 0 or 1
12050  if (pos == reference_token.size() - 1 or
12051  (reference_token[pos + 1] != '0' and
12052  reference_token[pos + 1] != '1'))
12053  {
12054  JSON_THROW(std::domain_error("escape error: '~' must be followed with '0' or '1'"));
12055  }
12056  }
12057 
12058  // finally, store the reference token
12059  unescape(reference_token);
12060  result.push_back(reference_token);
12061  }
12062 
12063  return result;
12064  }
12065 
12066  private:
12079  static void replace_substring(std::string& s,
12080  const std::string& f,
12081  const std::string& t)
12082  {
12083  assert(not f.empty());
12084 
12085  for (
12086  size_t pos = s.find(f); // find first occurrence of f
12087  pos != std::string::npos; // make sure f was found
12088  s.replace(pos, f.size(), t), // replace with t
12089  pos = s.find(f, pos + t.size()) // find next occurrence of f
12090  );
12091  }
12092 
12094  static std::string escape(std::string s)
12095  {
12096  // escape "~"" to "~0" and "/" to "~1"
12097  replace_substring(s, "~", "~0");
12098  replace_substring(s, "/", "~1");
12099  return s;
12100  }
12101 
12103  static void unescape(std::string& s)
12104  {
12105  // first transform any occurrence of the sequence '~1' to '/'
12106  replace_substring(s, "~1", "/");
12107  // then transform any occurrence of the sequence '~0' to '~'
12108  replace_substring(s, "~0", "~");
12109  }
12110 
12118  static void flatten(const std::string& reference_string,
12119  const basic_json& value,
12120  basic_json& result)
12121  {
12122  switch (value.m_type)
12123  {
12124  case value_t::array:
12125  {
12126  if (value.m_value.array->empty())
12127  {
12128  // flatten empty array as null
12129  result[reference_string] = nullptr;
12130  }
12131  else
12132  {
12133  // iterate array and use index as reference string
12134  for (size_t i = 0; i < value.m_value.array->size(); ++i)
12135  {
12136  flatten(reference_string + "/" + std::to_string(i),
12137  value.m_value.array->operator[](i), result);
12138  }
12139  }
12140  break;
12141  }
12142 
12143  case value_t::object:
12144  {
12145  if (value.m_value.object->empty())
12146  {
12147  // flatten empty object as null
12148  result[reference_string] = nullptr;
12149  }
12150  else
12151  {
12152  // iterate object and use keys as reference string
12153  for (const auto& element : *value.m_value.object)
12154  {
12155  flatten(reference_string + "/" + escape(element.first),
12156  element.second, result);
12157  }
12158  }
12159  break;
12160  }
12161 
12162  default:
12163  {
12164  // add primitive value with its reference string
12165  result[reference_string] = value;
12166  break;
12167  }
12168  }
12169  }
12170 
12176  static basic_json unflatten(const basic_json& value)
12177  {
12178  if (not value.is_object())
12179  {
12180  JSON_THROW(std::domain_error("only objects can be unflattened"));
12181  }
12182 
12183  basic_json result;
12184 
12185  // iterate the JSON object values
12186  for (const auto& element : *value.m_value.object)
12187  {
12188  if (not element.second.is_primitive())
12189  {
12190  JSON_THROW(std::domain_error("values in object must be primitive"));
12191  }
12192 
12193  // assign value to reference pointed to by JSON pointer; Note
12194  // that if the JSON pointer is "" (i.e., points to the whole
12195  // value), function get_and_create returns a reference to
12196  // result itself. An assignment will then create a primitive
12197  // value.
12198  json_pointer(element.first).get_and_create(result) = element.second;
12199  }
12200 
12201  return result;
12202  }
12203 
12204  private:
12205  friend bool operator==(json_pointer const& lhs,
12206  json_pointer const& rhs) noexcept
12207  {
12208  return lhs.reference_tokens == rhs.reference_tokens;
12209  }
12210 
12211  friend bool operator!=(json_pointer const& lhs,
12212  json_pointer const& rhs) noexcept
12213  {
12214  return !(lhs == rhs);
12215  }
12216 
12218  std::vector<std::string> reference_tokens {};
12219  };
12220 
12222  // JSON Pointer support //
12224 
12227 
12262  {
12263  return ptr.get_unchecked(this);
12264  }
12265 
12289  {
12290  return ptr.get_unchecked(this);
12291  }
12292 
12314  {
12315  return ptr.get_checked(this);
12316  }
12317 
12338  const_reference at(const json_pointer& ptr) const
12339  {
12340  return ptr.get_checked(this);
12341  }
12342 
12366  {
12367  basic_json result(value_t::object);
12368  json_pointer::flatten("", *this, result);
12369  return result;
12370  }
12371 
12400  {
12401  return json_pointer::unflatten(*this);
12402  }
12403 
12405 
12407  // JSON Patch functions //
12409 
12412 
12449  basic_json patch(const basic_json& json_patch) const
12450  {
12451  // make a working copy to apply the patch to
12452  basic_json result = *this;
12453 
12454  // the valid JSON Patch operations
12455  enum class patch_operations {add, remove, replace, move, copy, test, invalid};
12456 
12457  const auto get_op = [](const std::string op)
12458  {
12459  if (op == "add")
12460  {
12461  return patch_operations::add;
12462  }
12463  if (op == "remove")
12464  {
12465  return patch_operations::remove;
12466  }
12467  if (op == "replace")
12468  {
12469  return patch_operations::replace;
12470  }
12471  if (op == "move")
12472  {
12473  return patch_operations::move;
12474  }
12475  if (op == "copy")
12476  {
12477  return patch_operations::copy;
12478  }
12479  if (op == "test")
12480  {
12481  return patch_operations::test;
12482  }
12483 
12484  return patch_operations::invalid;
12485  };
12486 
12487  // wrapper for "add" operation; add value at ptr
12488  const auto operation_add = [&result](json_pointer & ptr, basic_json val)
12489  {
12490  // adding to the root of the target document means replacing it
12491  if (ptr.is_root())
12492  {
12493  result = val;
12494  }
12495  else
12496  {
12497  // make sure the top element of the pointer exists
12498  json_pointer top_pointer = ptr.top();
12499  if (top_pointer != ptr)
12500  {
12501  result.at(top_pointer);
12502  }
12503 
12504  // get reference to parent of JSON pointer ptr
12505  const auto last_path = ptr.pop_back();
12506  basic_json& parent = result[ptr];
12507 
12508  switch (parent.m_type)
12509  {
12510  case value_t::null:
12511  case value_t::object:
12512  {
12513  // use operator[] to add value
12514  parent[last_path] = val;
12515  break;
12516  }
12517 
12518  case value_t::array:
12519  {
12520  if (last_path == "-")
12521  {
12522  // special case: append to back
12523  parent.push_back(val);
12524  }
12525  else
12526  {
12527  const auto idx = std::stoi(last_path);
12528  if (static_cast<size_type>(idx) > parent.size())
12529  {
12530  // avoid undefined behavior
12531  JSON_THROW(std::out_of_range("array index " + std::to_string(idx) + " is out of range"));
12532  }
12533  else
12534  {
12535  // default case: insert add offset
12536  parent.insert(parent.begin() + static_cast<difference_type>(idx), val);
12537  }
12538  }
12539  break;
12540  }
12541 
12542  default:
12543  {
12544  // if there exists a parent it cannot be primitive
12545  assert(false); // LCOV_EXCL_LINE
12546  }
12547  }
12548  }
12549  };
12550 
12551  // wrapper for "remove" operation; remove value at ptr
12552  const auto operation_remove = [&result](json_pointer & ptr)
12553  {
12554  // get reference to parent of JSON pointer ptr
12555  const auto last_path = ptr.pop_back();
12556  basic_json& parent = result.at(ptr);
12557 
12558  // remove child
12559  if (parent.is_object())
12560  {
12561  // perform range check
12562  auto it = parent.find(last_path);
12563  if (it != parent.end())
12564  {
12565  parent.erase(it);
12566  }
12567  else
12568  {
12569  JSON_THROW(std::out_of_range("key '" + last_path + "' not found"));
12570  }
12571  }
12572  else if (parent.is_array())
12573  {
12574  // note erase performs range check
12575  parent.erase(static_cast<size_type>(std::stoi(last_path)));
12576  }
12577  };
12578 
12579  // type check
12580  if (not json_patch.is_array())
12581  {
12582  // a JSON patch must be an array of objects
12583  JSON_THROW(std::invalid_argument("JSON patch must be an array of objects"));
12584  }
12585 
12586  // iterate and apply the operations
12587  for (const auto& val : json_patch)
12588  {
12589  // wrapper to get a value for an operation
12590  const auto get_value = [&val](const std::string & op,
12591  const std::string & member,
12592  bool string_type) -> basic_json&
12593  {
12594  // find value
12595  auto it = val.m_value.object->find(member);
12596 
12597  // context-sensitive error message
12598  const auto error_msg = (op == "op") ? "operation" : "operation '" + op + "'";
12599 
12600  // check if desired value is present
12601  if (it == val.m_value.object->end())
12602  {
12603  JSON_THROW(std::invalid_argument(error_msg + " must have member '" + member + "'"));
12604  }
12605 
12606  // check if result is of type string
12607  if (string_type and not it->second.is_string())
12608  {
12609  JSON_THROW(std::invalid_argument(error_msg + " must have string member '" + member + "'"));
12610  }
12611 
12612  // no error: return value
12613  return it->second;
12614  };
12615 
12616  // type check
12617  if (not val.is_object())
12618  {
12619  JSON_THROW(std::invalid_argument("JSON patch must be an array of objects"));
12620  }
12621 
12622  // collect mandatory members
12623  const std::string op = get_value("op", "op", true);
12624  const std::string path = get_value(op, "path", true);
12625  json_pointer ptr(path);
12626 
12627  switch (get_op(op))
12628  {
12629  case patch_operations::add:
12630  {
12631  operation_add(ptr, get_value("add", "value", false));
12632  break;
12633  }
12634 
12635  case patch_operations::remove:
12636  {
12637  operation_remove(ptr);
12638  break;
12639  }
12640 
12641  case patch_operations::replace:
12642  {
12643  // the "path" location must exist - use at()
12644  result.at(ptr) = get_value("replace", "value", false);
12645  break;
12646  }
12647 
12648  case patch_operations::move:
12649  {
12650  const std::string from_path = get_value("move", "from", true);
12651  json_pointer from_ptr(from_path);
12652 
12653  // the "from" location must exist - use at()
12654  basic_json v = result.at(from_ptr);
12655 
12656  // The move operation is functionally identical to a
12657  // "remove" operation on the "from" location, followed
12658  // immediately by an "add" operation at the target
12659  // location with the value that was just removed.
12660  operation_remove(from_ptr);
12661  operation_add(ptr, v);
12662  break;
12663  }
12664 
12665  case patch_operations::copy:
12666  {
12667  const std::string from_path = get_value("copy", "from", true);;
12668  const json_pointer from_ptr(from_path);
12669 
12670  // the "from" location must exist - use at()
12671  result[ptr] = result.at(from_ptr);
12672  break;
12673  }
12674 
12675  case patch_operations::test:
12676  {
12677  bool success = false;
12678  JSON_TRY
12679  {
12680  // check if "value" matches the one at "path"
12681  // the "path" location must exist - use at()
12682  success = (result.at(ptr) == get_value("test", "value", false));
12683  }
12684  JSON_CATCH (std::out_of_range&)
12685  {
12686  // ignore out of range errors: success remains false
12687  }
12688 
12689  // throw an exception if test fails
12690  if (not success)
12691  {
12692  JSON_THROW(std::domain_error("unsuccessful: " + val.dump()));
12693  }
12694 
12695  break;
12696  }
12697 
12698  case patch_operations::invalid:
12699  {
12700  // op must be "add", "remove", "replace", "move", "copy", or
12701  // "test"
12702  JSON_THROW(std::invalid_argument("operation value '" + op + "' is invalid"));
12703  }
12704  }
12705  }
12706 
12707  return result;
12708  }
12709 
12742  static basic_json diff(const basic_json& source,
12743  const basic_json& target,
12744  const std::string& path = "")
12745  {
12746  // the patch
12747  basic_json result(value_t::array);
12748 
12749  // if the values are the same, return empty patch
12750  if (source == target)
12751  {
12752  return result;
12753  }
12754 
12755  if (source.type() != target.type())
12756  {
12757  // different types: replace value
12758  result.push_back(
12759  {
12760  {"op", "replace"},
12761  {"path", path},
12762  {"value", target}
12763  });
12764  }
12765  else
12766  {
12767  switch (source.type())
12768  {
12769  case value_t::array:
12770  {
12771  // first pass: traverse common elements
12772  size_t i = 0;
12773  while (i < source.size() and i < target.size())
12774  {
12775  // recursive call to compare array values at index i
12776  auto temp_diff = diff(source[i], target[i], path + "/" + std::to_string(i));
12777  result.insert(result.end(), temp_diff.begin(), temp_diff.end());
12778  ++i;
12779  }
12780 
12781  // i now reached the end of at least one array
12782  // in a second pass, traverse the remaining elements
12783 
12784  // remove my remaining elements
12785  const auto end_index = static_cast<difference_type>(result.size());
12786  while (i < source.size())
12787  {
12788  // add operations in reverse order to avoid invalid
12789  // indices
12790  result.insert(result.begin() + end_index, object(
12791  {
12792  {"op", "remove"},
12793  {"path", path + "/" + std::to_string(i)}
12794  }));
12795  ++i;
12796  }
12797 
12798  // add other remaining elements
12799  while (i < target.size())
12800  {
12801  result.push_back(
12802  {
12803  {"op", "add"},
12804  {"path", path + "/" + std::to_string(i)},
12805  {"value", target[i]}
12806  });
12807  ++i;
12808  }
12809 
12810  break;
12811  }
12812 
12813  case value_t::object:
12814  {
12815  // first pass: traverse this object's elements
12816  for (auto it = source.begin(); it != source.end(); ++it)
12817  {
12818  // escape the key name to be used in a JSON patch
12819  const auto key = json_pointer::escape(it.key());
12820 
12821  if (target.find(it.key()) != target.end())
12822  {
12823  // recursive call to compare object values at key it
12824  auto temp_diff = diff(it.value(), target[it.key()], path + "/" + key);
12825  result.insert(result.end(), temp_diff.begin(), temp_diff.end());
12826  }
12827  else
12828  {
12829  // found a key that is not in o -> remove it
12830  result.push_back(object(
12831  {
12832  {"op", "remove"},
12833  {"path", path + "/" + key}
12834  }));
12835  }
12836  }
12837 
12838  // second pass: traverse other object's elements
12839  for (auto it = target.begin(); it != target.end(); ++it)
12840  {
12841  if (source.find(it.key()) == source.end())
12842  {
12843  // found a key that is not in this -> add it
12844  const auto key = json_pointer::escape(it.key());
12845  result.push_back(
12846  {
12847  {"op", "add"},
12848  {"path", path + "/" + key},
12849  {"value", it.value()}
12850  });
12851  }
12852  }
12853 
12854  break;
12855  }
12856 
12857  default:
12858  {
12859  // both primitive type: replace value
12860  result.push_back(
12861  {
12862  {"op", "replace"},
12863  {"path", path},
12864  {"value", target}
12865  });
12866  break;
12867  }
12868  }
12869  }
12870 
12871  return result;
12872  }
12873 
12875 };
12876 
12878 // presets //
12880 
12890 } // namespace nlohmann
12891 
12892 
12894 // nonmember support //
12896 
12897 // specialization of std::swap, and std::hash
12898 namespace std
12899 {
12905 template<>
12906 inline void swap(nlohmann::json& j1,
12907  nlohmann::json& j2) noexcept(
12908  is_nothrow_move_constructible<nlohmann::json>::value and
12909  is_nothrow_move_assignable<nlohmann::json>::value
12910  )
12911 {
12912  j1.swap(j2);
12913 }
12914 
12916 template<>
12917 struct hash<nlohmann::json>
12918 {
12924  std::size_t operator()(const nlohmann::json& j) const
12925  {
12926  // a naive hashing via the string representation
12927  const auto& h = hash<nlohmann::json::string_t>();
12928  return h(j.dump());
12929  }
12930 };
12931 } // namespace std
12932 
12946 inline nlohmann::json operator "" _json(const char* s, std::size_t n)
12947 {
12948  return nlohmann::json::parse(s, s + n);
12949 }
12950 
12964 inline nlohmann::json::json_pointer operator "" _json_pointer(const char* s, std::size_t n)
12965 {
12967 }
12968 
12969 // clean up
12970 #undef JSON_CATCH
12971 #undef JSON_DEPRECATED
12972 #undef JSON_THROW
12973 #undef JSON_TRY
12974 
12975 #endif
reference operator+=(basic_json &&val)
add an object to an array
Definition: json.hpp:5261
+
reference operator[](T *key)
access specified object element
Definition: json.hpp:3932
+
ReferenceType get_ref()
get a reference value (implicit)
Definition: json.hpp:3415
+
object_t::key_type key() const
return the key of an object iterator
Definition: json.hpp:9509
+
iterator insert(const_iterator pos, size_type cnt, const basic_json &val)
inserts elements
Definition: json.hpp:5570
+
json_reverse_iterator operator--(int)
post-decrement (it–)
Definition: json.hpp:9461
+
iter_impl(pointer object) noexcept
constructor for a given JSON instance
Definition: json.hpp:8849
+
basic_json flatten() const
return flattened JSON value
Definition: json.hpp:12365
+
void swap(object_t &other)
exchanges the values
Definition: json.hpp:5780
+
const_reference at(const typename object_t::key_type &key) const
access specified object element with bounds checking
Definition: json.hpp:3645
+
typename std::conditional< std::is_const< U >::value, typename basic_json::const_reference, typename basic_json::reference >::type reference
defines a reference to the type iterated over (value_type)
Definition: json.hpp:8836
+
static void construct(BasicJsonType &j, typename BasicJsonType::number_integer_t val) noexcept
Definition: json.hpp:281
+ +
std::integral_constant< bool, std::is_convertible< T, int >::value and std::is_enum< T >::value > is_unscoped_enum
Definition: json.hpp:188
+
basic_json value_type
the type of elements in a basic_json container
Definition: json.hpp:1044
+ +
static basic_json object(std::initializer_list< basic_json > init=std::initializer_list< basic_json >())
explicitly create an object from an initializer list
Definition: json.hpp:2182
+
constexpr bool is_number_integer() const noexcept
return whether value is an integer number
Definition: json.hpp:2818
+
difference_type operator-(const iter_impl &other) const
return difference
Definition: json.hpp:9319
+
reference operator[](const typename object_t::key_type &key)
access specified object element
Definition: json.hpp:3775
+
const_reference operator[](const typename object_t::key_type &key) const
read-only access specified object element
Definition: json.hpp:3824
+ +
const_reference operator[](size_type idx) const
access specified array element
Definition: json.hpp:3737
+
friend bool operator<(const_reference lhs, const_reference rhs) noexcept
comparison: less than
Definition: json.hpp:6023
+
string_t dump(const int indent=-1) const
serialization
Definition: json.hpp:2624
+
#define JSON_CATCH(exception)
Definition: json.hpp:77
+
iter_impl & operator++()
pre-increment (++it)
Definition: json.hpp:9080
+
reference at(const json_pointer &ptr)
access specified element via JSON Pointer
Definition: json.hpp:12313
+
static void construct(BasicJsonType &j, typename BasicJsonType::boolean_t b) noexcept
Definition: json.hpp:225
+
reference operator[](difference_type n) const
access to successor
Definition: json.hpp:9346
+
friend bool operator==(json_pointer const &lhs, json_pointer const &rhs) noexcept
Definition: json.hpp:12205
+
const_reference at(size_type idx) const
access specified array element with bounds checking
Definition: json.hpp:3551
+
basic_json(InputIT first, InputIT last)
construct a JSON container given an iterator range
Definition: json.hpp:2253
+
typename std::allocator_traits< allocator_type >::pointer pointer
the type of an element pointer
Definition: json.hpp:1060
+
constexpr bool is_primitive() const noexcept
return whether type is primitive
Definition: json.hpp:2688
+
iter_impl(const iter_impl &other) noexcept
copy constructor
Definition: json.hpp:8902
+
const_reverse_iterator crbegin() const noexcept
returns a const reverse iterator to the last element
Definition: json.hpp:4862
+
bool operator<=(const iter_impl &other) const
comparison: less than or equal
Definition: json.hpp:9230
+
ValueType value(const typename object_t::key_type &key, ValueType default_value) const
access specified object element with default value
Definition: json.hpp:4044
+
friend bool operator!=(json_pointer const &lhs, json_pointer const &rhs) noexcept
Definition: json.hpp:12211
+ +
bool empty() const noexcept
checks whether the container is empty
Definition: json.hpp:4972
+
basic_json(std::nullptr_t=nullptr) noexcept
create a null object
Definition: json.hpp:1917
+
static void construct(BasicJsonType &j, const typename BasicJsonType::string_t &s)
Definition: json.hpp:237
+
iter_impl operator++(int)
post-increment (it++)
Definition: json.hpp:9069
+
static iteration_proxy< iterator > iterator_wrapper(reference cont)
wrapper to access iterator member functions in range-based for
Definition: json.hpp:4912
+
size_type count(typename object_t::key_type key) const
returns the number of occurrences of a key in a JSON object
Definition: json.hpp:4607
+
size_type size() const noexcept
returns the number of elements
Definition: json.hpp:5040
+
iter_impl & operator+=(difference_type i)
add to iterator
Definition: json.hpp:9257
+
void erase(const size_type idx)
remove element from a JSON array given an index
Definition: json.hpp:4508
+
json_reverse_iterator operator+(difference_type i) const
add to iterator
Definition: json.hpp:9481
+
a class to store JSON values
Definition: json.hpp:1016
+ +
iterator begin() noexcept
returns an iterator to the first element
Definition: json.hpp:4647
+
void from_json_array_impl(const BasicJsonType &j, CompatibleArrayType &arr, priority_tag< 0 >)
Definition: json.hpp:692
+
const_iterator find(typename object_t::key_type key) const
find an element in a JSON object
Definition: json.hpp:4574
+
static basic_json parse(std::istream &i, const parser_callback_t cb=nullptr)
deserialize from stream
Definition: json.hpp:6329
+
default JSONSerializer template argument
Definition: json.hpp:888
+ +
constexpr bool is_null() const noexcept
return whether value is null
Definition: json.hpp:2737
+
iter_impl & operator=(iter_impl other) noexcept(std::is_nothrow_move_constructible< pointer >::value and std::is_nothrow_move_assignable< pointer >::value and std::is_nothrow_move_constructible< internal_iterator >::value and std::is_nothrow_move_assignable< internal_iterator >::value)
copy assignment
Definition: json.hpp:8911
+
friend std::ostream & operator<<(std::ostream &o, const basic_json &j)
serialize to stream
Definition: json.hpp:6199
+
PointerType get_ptr() noexcept
get a pointer value (implicit)
Definition: json.hpp:3338
+
const_reference back() const
access the last element
Definition: json.hpp:4222
+
void swap(nlohmann::json &j1, nlohmann::json &j2) noexcept(is_nothrow_move_constructible< nlohmann::json >::value and is_nothrow_move_assignable< nlohmann::json >::value)
exchanges the values of two JSON objects
Definition: json.hpp:12906
+
reference front()
access the first element
Definition: json.hpp:4169
+
const_iterator cend() const noexcept
returns a const iterator to one past the last element
Definition: json.hpp:4758
+
AllocatorType< basic_json > allocator_type
the allocator type
Definition: json.hpp:1057
+
static basic_json array(std::initializer_list< basic_json > init=std::initializer_list< basic_json >())
explicitly create an array from an initializer list
Definition: json.hpp:2142
+
ArrayType< basic_json, AllocatorType< basic_json > > array_t
a type for an array
Definition: json.hpp:1305
+
JSONSerializer< T, SFINAE > json_serializer
Definition: json.hpp:1032
+
Definition: json.hpp:12898
+
reference value() const
return the value of an iterator
Definition: json.hpp:9399
+
static void construct(BasicJsonType &j, const CompatibleObjectType &obj)
Definition: json.hpp:329
+
IteratorType erase(IteratorType pos)
remove element given an iterator
Definition: json.hpp:4278
+
object_t::key_type key() const
return the key of an object iterator
Definition: json.hpp:9383
+
bool operator<(const iter_impl &other) const
comparison: smaller
Definition: json.hpp:9197
+
friend bool operator!=(const ScalarType lhs, const_reference rhs) noexcept
comparison: not equal
Definition: json.hpp:5994
+ +
typename std::allocator_traits< allocator_type >::const_pointer const_pointer
the type of an element const pointer
Definition: json.hpp:1062
+
iterator find(typename object_t::key_type key)
find an element in a JSON object
Definition: json.hpp:4558
+
basic_json unflatten() const
unflatten a previously flattened JSON value
Definition: json.hpp:12399
+
ObjectType< StringType, basic_json, std::less< StringType >, AllocatorType< std::pair< const StringType, basic_json > >> object_t
a type for an object
Definition: json.hpp:1259
+
basic_json patch(const basic_json &json_patch) const
applies a JSON patch
Definition: json.hpp:12449
+
typename std::enable_if< B, T >::type enable_if_t
Definition: json.hpp:179
+
friend bool operator==(const ScalarType lhs, const_reference rhs) noexcept
comparison: equal
Definition: json.hpp:5951
+
void get_arithmetic_value(const BasicJsonType &j, ArithmeticType &val)
Definition: json.hpp:581
+
discarded by the the parser callback function
+
void swap(string_t &other)
exchanges the values
Definition: json.hpp:5813
+ +
constexpr bool is_number_float() const noexcept
return whether value is a floating-point number
Definition: json.hpp:2874
+
static void construct(BasicJsonType &j, typename BasicJsonType::number_unsigned_t val) noexcept
Definition: json.hpp:269
+
json_reverse_iterator operator-(difference_type i) const
subtract from iterator
Definition: json.hpp:9489
+
iter_impl operator-(difference_type i)
subtract from iterator
Definition: json.hpp:9308
+
std::size_t operator()(const nlohmann::json &j) const
return a hash value for a JSON object
Definition: json.hpp:12924
+ +
string_t value(const typename object_t::key_type &key, const char *default_value) const
overload for a default value of type const char*
Definition: json.hpp:4068
+
void to_json(BasicJsonType &j, T b) noexcept
Definition: json.hpp:505
+
std::string type_name() const
return the type as string
Definition: json.hpp:8042
+
void emplace_back(Args &&... args)
add an object to an array
Definition: json.hpp:5421
+
iter_impl & operator-=(difference_type i)
subtract from iterator
Definition: json.hpp:9288
+
constexpr bool is_structured() const noexcept
return whether type is structured
Definition: json.hpp:2715
+
static basic_json parse(IteratorType first, IteratorType last, const parser_callback_t cb=nullptr)
deserialize from an iterator range with contiguous storage
Definition: json.hpp:6389
+
std::pair< iterator, bool > emplace(Args &&... args)
add an object to an object if key does not exist
Definition: json.hpp:5469
+
iter_impl operator--(int)
post-decrement (it–)
Definition: json.hpp:9112
+
NLOHMANN_JSON_HAS_HELPER(mapped_type)
+
static void construct(BasicJsonType &j, const typename BasicJsonType::object_t &obj)
Definition: json.hpp:318
+ + +
size_type erase(const typename object_t::key_type &key)
remove element from a JSON object given a key
Definition: json.hpp:4473
+
const_reference front() const
access the first element
Definition: json.hpp:4177
+
void push_back(basic_json &&val)
add an object to an array
Definition: json.hpp:5235
+
json_reverse_iterator & operator+=(difference_type i)
add to iterator
Definition: json.hpp:9474
+
ValueType value(const json_pointer &ptr, ValueType default_value) const
access specified object element via JSON Pointer with default value
Definition: json.hpp:4116
+
number value (signed integer)
+
iterator insert(const_iterator pos, const basic_json &val)
inserts element
Definition: json.hpp:5517
+
reference operator*() const
return a reference to the value pointed to by the iterator
Definition: json.hpp:8996
+
static void to_json(BasicJsonType &j, ValueType &&val) noexcept(noexcept(::nlohmann::to_json(j, std::forward< ValueType >(val))))
convert any value type to a JSON value
Definition: json.hpp:916
+
friend class basic_json
allow basic_json to access private members
Definition: json.hpp:8817
+
#define JSON_THROW(exception)
Definition: json.hpp:75
+
void swap(reference other) noexcept(std::is_nothrow_move_constructible< value_t >::value and std::is_nothrow_move_assignable< value_t >::value and std::is_nothrow_move_constructible< json_value >::value and std::is_nothrow_move_assignable< json_value >::value)
exchanges the values
Definition: json.hpp:5715
+
#define JSON_DEPRECATED
Definition: json.hpp:66
+
parse string into a built-in arithmetic type as if the current locale is POSIX.
Definition: json.hpp:11077
+
json_reverse_iterator operator++(int)
post-increment (it++)
Definition: json.hpp:9448
+
json_pointer(const std::string &s="")
create JSON pointer
Definition: json.hpp:11651
+ +
NumberUnsignedType number_unsigned_t
a type for a number (unsigned)
Definition: json.hpp:1527
+
reverse_iterator rbegin() noexcept
returns an iterator to the reverse-beginning
Definition: json.hpp:4788
+
JSON_DEPRECATED basic_json(std::istream &i, const parser_callback_t cb=nullptr)
construct a JSON value given an input stream
Definition: json.hpp:2373
+
friend bool operator==(const_reference lhs, const ScalarType rhs) noexcept
comparison: equal
Definition: json.hpp:5940
+
constexpr bool is_object() const noexcept
return whether value is an object
Definition: json.hpp:2896
+
~basic_json()
destructor
Definition: json.hpp:2552
+ +
bool operator<(const value_t lhs, const value_t rhs) noexcept
comparison operator for JSON types
Definition: json.hpp:148
+
json_reverse_iterator & operator--()
pre-decrement (–it)
Definition: json.hpp:9467
+
json_reverse_iterator(const typename base_iterator::iterator_type &it) noexcept
create reverse iterator from iterator
Definition: json.hpp:9438
+
namespace for Niels Lohmann
Definition: json.hpp:85
+
static basic_json from_msgpack(const std::vector< uint8_t > &v, const size_t start_index=0)
create a JSON value from a byte vector in MessagePack format
Definition: json.hpp:7951
+
void push_back(const typename object_t::value_type &val)
add an object to an object
Definition: json.hpp:5321
+
constexpr bool is_string() const noexcept
return whether value is a string
Definition: json.hpp:2940
+
iter_impl & operator--()
pre-decrement (–it)
Definition: json.hpp:9123
+ + +
reference at(size_type idx)
access specified array element with bounds checking
Definition: json.hpp:3508
+
const_iterator end() const noexcept
returns a const iterator to one past the last element
Definition: json.hpp:4728
+
static std::vector< uint8_t > to_cbor(const basic_json &j)
create a MessagePack serialization of a given JSON value
Definition: json.hpp:7981
+
static basic_json meta()
returns version information on the library
Definition: json.hpp:1107
+
basic_json(const basic_json &other)
copy constructor
Definition: json.hpp:2405
+
size_type max_size() const noexcept
returns the maximum possible number of elements
Definition: json.hpp:5106
+
friend std::istream & operator>>(std::istream &i, basic_json &j)
deserialize from stream
Definition: json.hpp:6501
+
number value (unsigned integer)
+
const value_type & const_reference
the type of an element const reference
Definition: json.hpp:1049
+
friend bool operator==(const_reference lhs, const_reference rhs) noexcept
comparison: equal
Definition: json.hpp:5859
+ +
friend std::ostream & operator>>(const basic_json &j, std::ostream &o)
serialize to stream
Definition: json.hpp:6218
+
static void from_json(BasicJsonType &&j, ValueType &val) noexcept(noexcept(::nlohmann::from_json(std::forward< BasicJsonType >(j), val)))
convert a JSON value to any value type
Definition: json.hpp:900
+
friend std::istream & operator<<(basic_json &j, std::istream &i)
deserialize from stream
Definition: json.hpp:6491
+
constexpr bool is_discarded() const noexcept
return whether value is discarded
Definition: json.hpp:2967
+
const_reference at(const json_pointer &ptr) const
access specified element via JSON Pointer
Definition: json.hpp:12338
+ +
reverse_iterator rend() noexcept
returns an iterator to the reverse-end
Definition: json.hpp:4825
+
basic_json(basic_json &&other) noexcept
move constructor
Definition: json.hpp:2482
+
void push_back(const basic_json &val)
add an object to an array
Definition: json.hpp:5271
+
typename Base::reference reference
the reference type for the pointed-to element
Definition: json.hpp:9435
+
basic_json(const value_t value_type)
create an empty value with a given type
Definition: json.hpp:1893
+
ReferenceType get_ref() const
get a reference value (implicit)
Definition: json.hpp:3428
+
constexpr value_t type() const noexcept
return the type of the JSON value (explicit)
Definition: json.hpp:2658
+
char buf[1024]
Definition: ethernet.c:91
+
#define JSON_TRY
Definition: json.hpp:76
+
pointer operator->() const
dereference the iterator
Definition: json.hpp:9035
+
StringType string_t
a type for a string
Definition: json.hpp:1358
+
string_t value(const json_pointer &ptr, const char *default_value) const
overload for a default value of type const char*
Definition: json.hpp:4139
+
bool operator>=(const iter_impl &other) const
comparison: greater than or equal
Definition: json.hpp:9248
+ +
static std::vector< uint8_t > to_msgpack(const basic_json &j)
create a MessagePack serialization of a given JSON value
Definition: json.hpp:7918
+
const_reverse_iterator rend() const noexcept
returns a const reverse iterator to one before the first
Definition: json.hpp:4833
+
reference at(const typename object_t::key_type &key)
access specified object element with bounds checking
Definition: json.hpp:3598
+
reference operator[](T *(&key)[n])
access specified object element
Definition: json.hpp:3864
+
friend bool operator>(const_reference lhs, const_reference rhs) noexcept
comparison: greater than
Definition: json.hpp:6140
+
void from_json(const BasicJsonType &j, ArithmeticType &val)
Definition: json.hpp:776
+
static void construct(BasicJsonType &j, const CompatibleArrayType &arr)
Definition: json.hpp:304
+
const_reference operator[](T *key) const
read-only access specified object element
Definition: json.hpp:3982
+ +
static basic_json parse(T(&array)[N], const parser_callback_t cb=nullptr)
deserialize from an array
Definition: json.hpp:6261
+
NumberIntegerType number_integer_t
a type for a number (integer)
Definition: json.hpp:1456
+
int16_t half
half is a 16-bit IEEE floating-point standard number format.
+
void push_back(std::initializer_list< basic_json > init)
add an object to an object
Definition: json.hpp:5376
+ +
basic_json(CompatibleType &&val) noexcept(noexcept(JSONSerializer< U >::to_json(std::declval< basic_json_t &>(), std::forward< CompatibleType >(val))))
create a JSON value
Definition: json.hpp:1983
+
reference & operator=(basic_json other) noexcept(std::is_nothrow_move_constructible< value_t >::value and std::is_nothrow_move_assignable< value_t >::value and std::is_nothrow_move_constructible< json_value >::value and std::is_nothrow_move_assignable< json_value >::value)
copy assignment
Definition: json.hpp:2519
+
iterator insert(const_iterator pos, const_iterator first, const_iterator last)
inserts elements
Definition: json.hpp:5620
+
static basic_json from_cbor(const std::vector< uint8_t > &v, const size_t start_index=0)
create a JSON value from a byte vector in CBOR format
Definition: json.hpp:8014
+
static basic_json parse(const ContiguousContainer &c, const parser_callback_t cb=nullptr)
deserialize from a container with contiguous storage
Definition: json.hpp:6461
+
static void construct(BasicJsonType &j, const typename BasicJsonType::array_t &arr)
Definition: json.hpp:293
+
json_reverse_iterator & operator++()
pre-increment (++it)
Definition: json.hpp:9454
+
strtonum(const char *start, const char *end)
Definition: json.hpp:11080
+
std::size_t size_type
a type to represent container sizes
Definition: json.hpp:1054
+
object (unordered set of name/value pairs)
+
std::function< bool(int depth, parse_event_t event, basic_json &parsed)> parser_callback_t
per-element parser callback type
Definition: json.hpp:1854
+
parse_event_t
JSON callback events.
Definition: json.hpp:1784
+
iter_impl operator+(difference_type i)
add to iterator
Definition: json.hpp:9297
+
constexpr bool is_boolean() const noexcept
return whether value is a boolean
Definition: json.hpp:2759
+
constexpr bool is_number_unsigned() const noexcept
return whether value is an unsigned integer number
Definition: json.hpp:2846
+ +
const_reverse_iterator crend() const noexcept
returns a const reverse iterator to one before the first
Definition: json.hpp:4891
+
static basic_json diff(const basic_json &source, const basic_json &target, const std::string &path="")
creates a diff as a JSON patch
Definition: json.hpp:12742
+
static basic_json parse(std::istream &&i, const parser_callback_t cb=nullptr)
deserialize from stream
Definition: json.hpp:6338
+
reference operator[](difference_type n) const
access to successor
Definition: json.hpp:9503
+ + +
constexpr const PointerType get_ptr() const noexcept
get a pointer value (implicit)
Definition: json.hpp:3366
+
json_reverse_iterator(const base_iterator &it) noexcept
create reverse iterator from base class
Definition: json.hpp:9443
+
iterator insert(const_iterator pos, basic_json &&val)
inserts element
Definition: json.hpp:5541
+
typename basic_json::value_type value_type
the type of the values when the iterator is dereferenced
Definition: json.hpp:8826
+
IteratorType erase(IteratorType first, IteratorType last)
remove elements given an iterator range
Definition: json.hpp:4385
+
reference operator+=(const typename object_t::value_type &val)
add an object to an object
Definition: json.hpp:5345
+
reference operator[](size_type idx)
access specified array element
Definition: json.hpp:3691
+
const_reference operator[](T *(&key)[n]) const
read-only access specified object element
Definition: json.hpp:3899
+
reference operator+=(std::initializer_list< basic_json > init)
add an object to an object
Definition: json.hpp:5393
+
bool operator==(const iter_impl &other) const
comparison: equal
Definition: json.hpp:9155
+ +
const_iterator begin() const noexcept
returns a const iterator to the first element
Definition: json.hpp:4657
+
std::ptrdiff_t difference_type
a type to represent differences between iterators
Definition: json.hpp:1052
+
const_iterator cbegin() const noexcept
returns a const iterator to the first element
Definition: json.hpp:4687
+
reference operator+=(const basic_json &val)
add an object to an array
Definition: json.hpp:5295
+
reference back()
access the last element
Definition: json.hpp:4212
+
reference operator[](const json_pointer &ptr)
access specified element via JSON Pointer
Definition: json.hpp:12261
+
iterator end() noexcept
returns an iterator to one past the last element
Definition: json.hpp:4718
+
friend bool operator!=(const_reference lhs, const ScalarType rhs) noexcept
comparison: not equal
Definition: json.hpp:5983
+
difference_type operator-(const json_reverse_iterator &other) const
return difference
Definition: json.hpp:9497
+
bool operator>(const iter_impl &other) const
comparison: greater than
Definition: json.hpp:9239
+
static basic_json parse(const CharT s, const parser_callback_t cb=nullptr)
deserialize from string literal
Definition: json.hpp:6299
+
def res
Definition: master.py:498
+
a template for a reverse iterator class
Definition: json.hpp:1029
+
constexpr bool is_array() const noexcept
return whether value is an array
Definition: json.hpp:2918
+
typename basic_json::difference_type difference_type
a type to represent differences between iterators
Definition: json.hpp:8828
+
basic_json(size_type cnt, const basic_json &val)
construct an array with count copies of given value
Definition: json.hpp:2206
+
number value (floating-point)
+
static allocator_type get_allocator()
returns the allocator associated with the container
Definition: json.hpp:1079
+
void from_json(const BasicJsonType &j, typename BasicJsonType::boolean_t &b)
Definition: json.hpp:612
+
std::reverse_iterator< Base > base_iterator
shortcut to the reverse iterator adaptor
Definition: json.hpp:9433
+
constexpr bool is_number() const noexcept
return whether value is a number
Definition: json.hpp:2789
+
const_reference operator[](const json_pointer &ptr) const
access specified element via JSON Pointer
Definition: json.hpp:12288
+ +
BooleanType boolean_t
a type for a boolean
Definition: json.hpp:1384
+
bool operator!=(const iter_impl &other) const
comparison: not equal
Definition: json.hpp:9188
+
std::string to_string() const noexcept
return a string representation of the JSON pointer
Definition: json.hpp:11670
+
void operator()(BasicJsonType &j, T &&val) const noexcept(noexcept(std::declval< to_json_fn >().call(j, std::forward< T >(val), priority_tag< 1 > {})))
Definition: json.hpp:826
+
void swap(array_t &other)
exchanges the values
Definition: json.hpp:5747
+
friend bool operator<=(const_reference lhs, const_reference rhs) noexcept
comparison: less than or equal
Definition: json.hpp:6118
+
basic_json(std::initializer_list< basic_json > init, bool type_deduction=true, value_t manual_type=value_t::array)
create a container (array or object) from an initializer list
Definition: json.hpp:2059
+
friend bool operator>=(const_reference lhs, const_reference rhs) noexcept
comparison: greater than or equal
Definition: json.hpp:6162
+
NumberFloatType number_float_t
a type for a number (floating-point)
Definition: json.hpp:1595
+
friend bool operator!=(const_reference lhs, const_reference rhs) noexcept
comparison: not equal
Definition: json.hpp:5972
+
std::bidirectional_iterator_tag iterator_category
the category of the iterator
Definition: json.hpp:8838
+
array (ordered collection of values)
+
const_reverse_iterator rbegin() const noexcept
returns a const reverse iterator to the last element
Definition: json.hpp:4796
+
void to_json(BasicJsonType &j, const CompatibleObjectType &arr)
Definition: json.hpp:565
+
reference value() const
return the value of an iterator
Definition: json.hpp:9516
+
static void construct(BasicJsonType &j, typename BasicJsonType::number_float_t val) noexcept
Definition: json.hpp:249
+
a template for a random access iterator for the basic_json class
Definition: json.hpp:1028
+
value_t
the JSON type enumeration
Definition: json.hpp:126
+
typename std::remove_cv< typename std::remove_reference< T >::type >::type uncvref_t
Definition: json.hpp:182
+
void clear() noexcept
clears the contents
Definition: json.hpp:5162
+
void operator()(const BasicJsonType &j, T &val) const noexcept(noexcept(std::declval< from_json_fn >().call(j, val, priority_tag< 1 > {})))
Definition: json.hpp:853
+
typename std::conditional< std::is_const< U >::value, typename basic_json::const_pointer, typename basic_json::pointer >::type pointer
defines a pointer to the type iterated over (value_type)
Definition: json.hpp:8832
+
iterator insert(const_iterator pos, std::initializer_list< basic_json > ilist)
inserts elements
Definition: json.hpp:5678
+
static iteration_proxy< const_iterator > iterator_wrapper(const_reference cont)
wrapper to access iterator member functions in range-based for
Definition: json.hpp:4920
+
+ + + + diff --git a/docs/API/master_8py.html b/docs/API/master_8py.html new file mode 100644 index 0000000..d9a446c --- /dev/null +++ b/docs/API/master_8py.html @@ -0,0 +1,146 @@ + + + + + + + +o-du/phy: master.py File Reference + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
master.py File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Data Structures

class  GetOutOfLoops
 
+ + + +

+Namespaces

 master
 
+ + + + + + + + + + + + + + + + + +

+Functions

def init_logger (console_level, logfile_level)
 
def parse_args (args)
 
def is_comment (s)
 
def compare_resuts (cat, mu, bw, tcase, xran_path, test_cfg, direction)
 
def parse_dat_file (cat, mu, bw, tcase, xran_path, test_cfg)
 
def make_copy_mlog (cat, mu, bw, tcase, xran_path)
 
def run_tcase (cat, mu, bw, tcase, xran_path)
 
def main ()
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Variables

list nNumRbsPerSymF1
 
list nNumRbsPerSymF2
 
list nRChBwOptions_keys = ['5','10','15','20', '25', '30', '40', '50', '60','70', '80', '90', '100', '200', '400']
 
list nRChBwOptions_values = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14]
 
 nRChBwOptions = dict(zip(nRChBwOptions_keys, nRChBwOptions_values))
 
list nRChBwOptions_keys_mu2and3 = ['50', '100', '200', '400']
 
list nRChBwOptions_values_mu2and3 = [0,1,2,3]
 
 nRChBwOptions_mu2and3 = dict(zip(nRChBwOptions_keys_mu2and3, nRChBwOptions_values_mu2and3))
 
list all_test_cases
 
 dic_dir = dict({0:'DL', 1:'UL'})
 
 dic_xu = dict({0:'o-du', 1:'o-ru'})
 
 START_TIME = datetime.now()
 
def res = main()
 
 END_TIME = datetime.now()
 
+
+ + + + diff --git a/docs/API/master_8py_source.html b/docs/API/master_8py_source.html new file mode 100644 index 0000000..e36545f --- /dev/null +++ b/docs/API/master_8py_source.html @@ -0,0 +1,87 @@ + + + + + + + +o-du/phy: master.py Source File + + + + + + + + + +
+
+ + + + + + +
+
o-du/phy +
+
Intel O-RAN/X-RAN Generated Doxygen Documentation
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
master.py
+
+
+Go to the documentation of this file.
1 #!/usr/bin/python
2 
7 
8 """This script run test cases with O-DU and O-RU
9 """
10 import logging
11 import sys
12 import argparse
13 import re
14 import subprocess
15 import os
16 import shutil
17 from itertools import dropwhile
18 from datetime import datetime
19 import json
20 
21 nNumRbsPerSymF1 = [
22  # 5MHz 10MHz 15MHz 20 MHz 25 MHz 30 MHz 40 MHz 50MHz 60 MHz 70 MHz 80 MHz 90 MHz 100 MHz
23  [25, 52, 79, 106, 133, 160, 216, 270, 0, 0, 0, 0, 0], # Numerology 0 (15KHz)
24  [11, 24, 38, 51, 65, 78, 106, 133, 162, 0, 217, 245, 273], # Numerology 1 (30KHz)
25  [0, 11, 18, 24, 31, 38, 51, 65, 79, 0, 107, 121, 135] # Numerology 2 (60KHz)
26 ]
27 
28 nNumRbsPerSymF2 = [
29  # 50Mhz 100MHz 200MHz 400MHz
30  [66, 132, 264, 0], # Numerology 2 (60KHz)
31  [32, 66, 132, 264] # Numerology 3 (120KHz)
32 ]
33 
34 
35 nRChBwOptions_keys = ['5','10','15','20', '25', '30', '40', '50', '60','70', '80', '90', '100', '200', '400']
36 nRChBwOptions_values = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14]
37 nRChBwOptions = dict(zip(nRChBwOptions_keys, nRChBwOptions_values))
38 
39 nRChBwOptions_keys_mu2and3 = ['50', '100', '200', '400']
40 nRChBwOptions_values_mu2and3 = [0,1,2,3]
41 nRChBwOptions_mu2and3 = dict(zip(nRChBwOptions_keys_mu2and3, nRChBwOptions_values_mu2and3))
42 
43 # table of all test cases
44 # (cat, mu, bw, test case)
45 all_test_cases = [(0, 0, 5, 0),
46  (0, 0, 10, 0),
47  (0, 0, 20, 0),
48  (0, 1, 100, 0),
49  (0, 3, 100, 0),
50  (1, 1, 100, 0)]
51 #Cat B
52 """ all_test_cases = [(1, 1, 100, 0),
53  (1, 1, 100, 1),
54  (1, 1, 100, 101),
55  (1, 1, 100, 102),
56  (1, 1, 100, 103),
57  (1, 1, 100, 104),
58  (1, 1, 100, 105),
59  #(1, 1, 100, 106), 25G not enough
60  (1, 1, 100, 107),
61  (1, 1, 100, 108),
62  #(1, 1, 100, 109), 25G not enough
63  (1, 1, 100, 201),
64  #(1, 1, 100, 202), 25G not enough
65  (1, 1, 100, 203),
66  (1, 1, 100, 204),
67  (1, 1, 100, 205),
68  (1, 1, 100, 206),
69  (1, 1, 100, 211),
70  #(1, 1, 100, 212), 25G not enough
71  (1, 1, 100, 213),
72  (1, 1, 100, 214),
73  (1, 1, 100, 215),
74  (1, 1, 100, 216)
75 ]
76  """
77 dic_dir = dict({0:'DL', 1:'UL'})
78 dic_xu = dict({0:'o-du', 1:'o-ru'})
79 
80 def init_logger(console_level, logfile_level):
81  """Initializes console and logfile logger with given logging levels"""
82  # File logger
83  logging.basicConfig(filename="runtests.log",
84  filemode='w',
85  format="%(asctime)s: %(levelname)s: %(message)s",
86  level=logfile_level)
87  # Console logger
88  logger = logging.getLogger()
89  handler = logging.StreamHandler()
90  handler.setLevel(console_level)
91  formatter = logging.Formatter("%(levelname)s: %(message)s")
92  handler.setFormatter(formatter)
93  logger.addHandler(handler)
94 
95 def parse_args(args):
96  """Configures parser and parses command line configuration"""
97  # Parser configuration
98  parser = argparse.ArgumentParser(description="Run test cases: category numerology bandwidth test_num")
99 
100  parser.add_argument("--cat", type=int, default=0, help="Category: 0 (A) or 1 (B)", metavar="cat", dest="category")
101  parser.add_argument("--mu", type=int, default=0, help="numerology [0,1,3]", metavar="num", dest="numerology")
102  parser.add_argument("--bw", type=int, default=20, help="bandwidth [5,10,20,100]", metavar="bw", dest="bandwidth")
103  parser.add_argument("--testcase", type=int, default=0, help="test case number", metavar="testcase", dest="testcase")
104 
105  # Parse arguments
106  options = parser.parse_args(args)
107  #parser.print_help()
108  logging.debug("Options: category=%d num=%d bw=%d testcase=%d",
109  options.category, options.numerology, options.bandwidth, options.testcase)
110  return options
111 
112 def is_comment(s):
113  """ function to check if a line
114  starts with some character.
115  Here # for comment
116  """
117  # return true if a line starts with #
118  return s.startswith('#')
119 
120 class GetOutOfLoops( Exception ):
121  pass
122 
123 def compare_resuts(cat, mu, bw, tcase, xran_path, test_cfg, direction):
124  res = 0
125 
126  if mu < 3:
127  nDlRB = nNumRbsPerSymF1[mu][nRChBwOptions.get(str(nDLBandwidth))]
128  nUlRB = nNumRbsPerSymF1[mu][nRChBwOptions.get(str(nULBandwidth))]
129  elif (mu >=2) & (mu <= 3):
130  nDlRB = nNumRbsPerSymF2[mu - 2][nRChBwOptions_mu2and3.get(str(nDLBandwidth))]
131  nUlRB = nNumRbsPerSymF2[mu - 2][nRChBwOptions_mu2and3.get(str(nULBandwidth))]
132  print(nDlRB, nUlRB)
133  else:
134  print("Incorrect arguments\n")
135  res = -1
136  return res
137 
138  if 'compression' in globals():
139  comp = compression
140  else:
141  comp = 0
142 
143  print("compare results: {} [compression {}]\n".format(dic_dir.get(direction), comp))
144 
145  #if cat == 1:
146  # print("WARNING: Skip checking IQs and BF Weights for CAT B for now\n");
147  # return res
148 
149  #get slot config
150  if nFrameDuplexType == 1:
151  SlotConfig = []
152  for i in range(nTddPeriod):
153  if i == 0:
154  SlotConfig.insert(i, sSlotConfig0)
155  elif i == 1:
156  SlotConfig.insert(i, sSlotConfig1)
157  elif i == 2:
158  SlotConfig.insert(i, sSlotConfig2)
159  elif i == 3:
160  SlotConfig.insert(i, sSlotConfig3)
161  elif i == 4:
162  SlotConfig.insert(i, sSlotConfig4)
163  elif i == 5:
164  SlotConfig.insert(i, sSlotConfig5)
165  elif i == 6:
166  SlotConfig.insert(i, sSlotConfig6)
167  elif i == 7:
168  SlotConfig.insert(i, sSlotConfig7)
169  elif i == 8:
170  SlotConfig.insert(i, sSlotConfig8)
171  elif i == 9:
172  SlotConfig.insert(i, sSlotConfig9)
173  else :
174  raise Exception('i should not exceed nTddPeriod %d. The value of i was: {}'.format(nTddPeriod, i))
175  #print(SlotConfig, type(sSlotConfig0))
176  try:
177 
178  if (direction == 1) & (cat == 1): #UL
179  flowId = ccNum*antNumUL
180  else:
181  flowId = ccNum*antNum
182 
183  for i in range(0, flowId):
184  #read ref and test files
185  tst = []
186  ref = []
187  if direction == 0:
188  # DL
189  nRB = nDlRB
190  file_tst = xran_path+"/app/logs/"+"o-ru-rx_log_ant"+str(i)+".txt"
191  file_ref = xran_path+"/app/logs/"+"o-du-play_ant"+str(i)+".txt"
192  elif direction == 1:
193  # UL
194  nRB = nUlRB
195  file_tst = xran_path+"/app/logs/"+"o-du-rx_log_ant"+str(i)+".txt"
196  file_ref = xran_path+"/app/logs/"+"o-ru-play_ant"+str(i)+".txt"
197  else:
198  raise Exception('Direction is not supported %d'.format(direction))
199 
200  print("test result :", file_tst)
201  print("test reference:", file_ref)
202  if os.path.exists(file_tst):
203  try:
204  file_tst = open(file_tst, 'r')
205  except OSError:
206  print ("Could not open/read file:", file_tst)
207  sys.exit()
208  else:
209  print(file_tst, "doesn't exist")
210  res = -1
211  return res
212  if os.path.exists(file_ref):
213  try:
214  file_ref = open(file_ref, 'r')
215  except OSError:
216  print ("Could not open/read file:", file_ref)
217  sys.exit()
218  else:
219  print(file_tst, "doesn't exist")
220  res = -1
221  return res
222 
223  tst = file_tst.readlines()
224  ref = file_ref.readlines()
225 
226  print(len(tst))
227  print(len(ref))
228 
229  file_tst.close();
230  file_ref.close();
231 
232  print(numSlots)
233 
234  for slot_idx in range(0, numSlots):
235  for sym_idx in range(0, 14):
236  if nFrameDuplexType==1:
237  #skip sym if TDD
238  if direction == 0:
239  #DL
240  sym_dir = SlotConfig[slot_idx%nTddPeriod][sym_idx]
241  if(sym_dir != 0):
242  continue
243  elif direction == 1:
244  #UL
245  sym_dir = SlotConfig[slot_idx%nTddPeriod][sym_idx]
246  if(sym_dir != 1):
247  continue
248 
249  #print("Check:","[",i,"]", slot_idx, sym_idx)
250  for line_idx in range(0, nRB*12):
251  offset = (slot_idx*nRB*12*14) + sym_idx*nRB*12 + line_idx
252  line_tst = tst[offset].rstrip()
253  line_ref = ref[offset].rstrip()
254  if comp == 1:
255  # discard LSB bits as BFP compression is not Bit Exact
256  tst_i_value = int(line_tst.split(" ")[0]) & 0xFF80
257  tst_q_value = int(line_tst.split(" ")[1]) & 0xFF80
258  ref_i_value = int(line_ref.split(" ")[0]) & 0xFF80
259  ref_q_value = int(line_ref.split(" ")[1]) & 0xFF80
260 
261  print("check:","ant:[",i,"]:",offset, slot_idx, sym_idx, line_idx,":","tst: ", tst_i_value, " ", tst_q_value, " " , "ref: ", ref_i_value, " ", ref_q_value, " ")
262  if (tst_i_value != ref_i_value) or (tst_q_value != ref_q_value) :
263  print("FAIL:","ant:[",i,"]:",offset, slot_idx, sym_idx, line_idx,":","tst: ", tst_i_value, " ", tst_q_value, " " , "ref: ", ref_i_value, " ", ref_q_value, " ")
264  res = -1
265  raise GetOutOfLoops
266  else:
267  #if line_idx == 0:
268  #print("Check:", offset,"[",i,"]", slot_idx, sym_idx,":",line_tst, line_ref)
269  if line_ref != line_tst:
270  print("FAIL:","ant:[",i,"]:",offset, slot_idx, sym_idx, line_idx,":","tst:", line_tst, "ref:", line_ref)
271  res = -1
272  raise GetOutOfLoops
273  except GetOutOfLoops:
274  pass
275 
276  return res
277 
278 def parse_dat_file(cat, mu, bw, tcase, xran_path, test_cfg):
279  #parse config files
280  logging.info("parse config files %s\n", test_cfg[0])
281  lineList = list()
282  sep = '#'
283  with open(test_cfg[0],'r') as fh:
284  for curline in dropwhile(is_comment, fh):
285  my_line = curline.rstrip().split(sep, 1)[0].strip()
286  if my_line:
287  lineList.append(my_line)
288  global_env = {}
289  local_env = {}
290 
291  for line in lineList:
292  exe_line = line.replace(":", ",")
293  if exe_line.find("/") > 0 :
294  exe_line = exe_line.replace('./', "'")
295  exe_line = exe_line+"'"
296 
297  code = compile(str(exe_line), '<string>', 'exec')
298  exec (code, global_env, local_env)
299 
300  for k, v in local_env.items():
301  globals()[k] = v
302  print(k, v)
303 
304  return local_env
305 
306 def make_copy_mlog(cat, mu, bw, tcase, xran_path):
307  res = 0
308 
309  src_bin = xran_path+"/app/mlog-o-du-c0.bin"
310  src_csv = xran_path+"/app/mlog-o-du-hist.csv"
311  dst_bin = xran_path+"/app/mlog-o-du-c0-cat"+str(cat)+"-mu"+str(mu)+"-bw"+str(bw)+"-tcase"+str(tcase)+".bin"
312  dst_csv = xran_path+"/app/mlog-o-du-hist-cat"+str(cat)+"-mu"+str(mu)+"-bw"+str(bw)+"-tcase"+str(tcase)+".csv"
313 
314  try:
315  d_bin = shutil.copyfile(src_bin, dst_bin)
316  d_csv = shutil.copyfile(src_csv, dst_csv)
317  except IOError:
318  logging.info("MLog is not present\n")
319  res = 1
320  else:
321  logging.info("Mlog was copied\n")
322 
323  print("Destination path:", d_bin)
324  print("Destination path:", d_csv)
325 
326  d_bin = shutil.copyfile(src_bin, dst_bin)
327  d_csv = shutil.copyfile(src_csv, dst_csv)
328 
329  #print("After copying file:")
330  #print(os.listdir(xran_path+"/app/"))
331 
332  #print("Destination path:", d_bin)
333  #print("Destination path:", d_csv)
334 
335  src_bin = xran_path+"/app/mlog-o-ru-c0.bin"
336  src_csv = xran_path+"/app/mlog-o-ru-hist.csv"
337  dst_bin = xran_path+"/app/mlog-o-ru-c0-cat"+str(cat)+"-mu"+str(mu)+"-bw"+str(bw)+"-tcase"+str(tcase)+".bin"
338  dst_csv = xran_path+"/app/mlog-o-ru-hist-cat"+str(cat)+"-mu"+str(mu)+"-bw"+str(bw)+"-tcase"+str(tcase)+".csv"
339 
340  d_bin = shutil.copyfile(src_bin, dst_bin)
341  d_csv = shutil.copyfile(src_csv, dst_csv)
342 
343  #print("After copying file:")
344  #print(os.listdir(xran_path+"/app/"))
345 
346  #print("Destination path:", d_bin)
347  #print("Destination path:", d_csv)
348 
349  try:
350  d_bin = shutil.copyfile(src_bin, dst_bin)
351  d_csv = shutil.copyfile(src_csv, dst_csv)
352  except IOError:
353  logging.info("MLog is not present\n")
354  res = 1
355  else:
356  logging.info("Mlog was copied\n")
357 
358  #print("After copying file:")
359  #print(os.listdir(xran_path+"/app/"))
360 
361  #print("Destination path:", d_bin)
362  #print("Destination path:", d_csv)
363 
364  return res
365 
366 
367 def run_tcase(cat, mu, bw, tcase, xran_path):
368  if cat == 1:
369  test_config = xran_path+"/app/usecase/cat_b/mu{0:d}_{1:d}mhz".format(mu, bw)
370  elif cat == 0 :
371  test_config = xran_path+"/app/usecase/mu{0:d}_{1:d}mhz".format(mu, bw)
372  else:
373  print("Incorrect arguments\n")
374 
375  if(tcase > 0) :
376  test_config = test_config+"/"+str(tcase)
377 
378  app = xran_path+"/app/build/sample-app"
379 
380  logging.debug("run: %s %s", app, test_config)
381  logging.debug("Started script: master.py, XRAN path %s", xran_path)
382 
383  test_cfg = []
384  #TODO: add detection of ETH ports
385  eth_cp_dev = ["0000:22:02.1", "0000:22:0a.1"]
386  eth_up_dev = ["0000:22:02.0", "0000:22:0a.0"]
387 
388  test_cfg.append(test_config+"/config_file_o_du.dat")
389  test_cfg.append(test_config+"/config_file_o_ru.dat")
390 
391  wd = os.getcwd()
392  os.chdir(xran_path+"/app/")
393 
394  processes = []
395  logfile_xu = []
396  log_file_name = []
397 
398  os.system('rm -rf ./logs')
399 
400  for i in range(2):
401  log_file_name.append("sampleapp_log_{}_cat_{}_mu{}_{}mhz_tst_{}.log".format(dic_xu.get(i),cat, mu, bw, tcase))
402  with open(log_file_name[i], "w") as f:
403  #, stdout=f, stderr=f
404  p = subprocess.Popen([app, test_cfg[i], eth_up_dev[i], eth_cp_dev[i]], stdout=f, stderr=f)
405  logfile_xu.insert(i, f)
406  processes.append((p, logfile_xu[i]))
407 
408  logging.info("Running O-DU and O-RU see output in: %s %s\n", logfile_xu[0].name, logfile_xu[1].name)
409  for p, f in processes:
410  p.wait()
411  p.communicate()[0]
412  if p.returncode != 0:
413  print("Application {} failed p.returncode:{}".format(dic_xu.get(i), p.returncode))
414  print("FAIL")
415  logging.info("FAIL\n")
416  logging.shutdown()
417  sys.exit(p.returncode)
418 
419  f.close()
420 
421  logging.info("O-DU and O-RU are done\n")
422 
423  make_copy_mlog(cat, mu, bw, tcase, xran_path)
424 
425  usecase_cfg = parse_dat_file(cat, mu, bw, tcase, xran_path, test_cfg)
426 
427  res = compare_resuts(cat, mu, bw, tcase, xran_path, test_cfg, 0)
428  if res != 0:
429  os.chdir(wd)
430  print("FAIL")
431  return res
432 
433  res = compare_resuts(cat, mu, bw, tcase, xran_path, test_cfg, 1)
434  if res != 0:
435  os.chdir(wd)
436  print("FAIL")
437  return res
438 
439  os.chdir(wd)
440  print("PASS")
441  return res
442 
443 def main():
444  test_results = []
445  test_executed_total = 0
446  run_total = 0
447  cat = 0
448  mu = 0
449  bw = 0
450  tcase = 0
451  """Processes input files to produce IACA files"""
452  # Find path to XRAN
453  xran_path = os.getenv("XRAN_DIR")
454 
455  # Set up logging with given level (DEBUG, INFO, ERROR) for console end logfile
456  init_logger(logging.INFO, logging.DEBUG)
457  logging.info("Started script: master.py, XRAN path %s", xran_path)
458 
459  # Parse input arguments
460  if len(sys.argv) == 1 :
461  run_total = len(all_test_cases)
462  print(run_total)
463  print("Run All test cases {}\n".format(run_total))
464  else:
465  options = parse_args(sys.argv[1:])
466  cat = options.category
467  mu = options.numerology
468  bw = options.bandwidth
469  tcase = options.testcase
470 
471 
472  if (run_total):
473  for test_run_ix in range(0, run_total):
474  cat = all_test_cases[test_run_ix][0]
475  mu = all_test_cases[test_run_ix][1]
476  bw = all_test_cases[test_run_ix][2]
477  tcase = all_test_cases[test_run_ix][3]
478 
479  res = run_tcase(cat, mu, bw, tcase, xran_path)
480  if (res != 0):
481  test_results.append((cat, mu, bw, tcase,'FAIL'))
482  break;
483 
484  test_results.append((cat, mu, bw, tcase,'PASS'))
485  else:
486  res = run_tcase(cat, mu, bw, tcase, xran_path)
487  if (res != 0):
488  test_results.append((cat, mu, bw, tcase,'FAIL'))
489  test_results.append((cat, mu, bw, tcase,'PASS'))
490 
491  with open('testresult.txt', 'w') as reshandle:
492  json.dump(test_results, reshandle)
493 
494  return res
495 
496 if __name__ == '__main__':
497  START_TIME = datetime.now()
498  res = main()
499  END_TIME = datetime.now()
500  logging.debug("Start time: %s, end time: %s", START_TIME, END_TIME)
501  logging.info("Execution time: %s", END_TIME - START_TIME)
502  logging.shutdown()
503  sys.exit(res)
def is_comment(s)
Definition: master.py:112
+
def compare_resuts(cat, mu, bw, tcase, xran_path, test_cfg, direction)
Definition: master.py:123
+
def run_tcase(cat, mu, bw, tcase, xran_path)
Definition: master.py:367
+ +
def parse_dat_file(cat, mu, bw, tcase, xran_path, test_cfg)
Definition: master.py:278
+
def main()
Definition: master.py:443
+
def make_copy_mlog(cat, mu, bw, tcase, xran_path)
Definition: master.py:306
+
def init_logger(console_level, logfile_level)
Definition: master.py:80
+
def parse_args(args)
Definition: master.py:95
+
+ + + + diff --git a/docs/API/menu.js b/docs/API/menu.js new file mode 100644 index 0000000..97db4c2 --- /dev/null +++ b/docs/API/menu.js @@ -0,0 +1,26 @@ +function initMenu(relPath,searchEnabled,serverSide,searchPage,search) { + function makeTree(data,relPath) { + var result=''; + if ('children' in data) { + result+=''; + } + return result; + } + + $('#main-nav').append(makeTree(menudata,relPath)); + $('#main-nav').children(':first').addClass('sm sm-dox').attr('id','main-menu'); + if (searchEnabled) { + if (serverSide) { + $('#main-menu').append('
  • '); + } else { + $('#main-menu').append('
  • '); + } + } + $('#main-menu').smartmenus(); +} diff --git a/docs/API/menudata.js b/docs/API/menudata.js new file mode 100644 index 0000000..0578d8b --- /dev/null +++ b/docs/API/menudata.js @@ -0,0 +1,254 @@ +var menudata={children:[ +{text:"Main Page",url:"index.html"}, +{text:"Related Pages",url:"pages.html"}, +{text:"Modules",url:"modules.html"}, +{text:"Namespaces",url:"namespaces.html",children:[ +{text:"Namespace List",url:"namespaces.html"}, +{text:"Namespace Members",url:"namespacemembers.html",children:[ +{text:"All",url:"namespacemembers.html",children:[ +{text:"a",url:"namespacemembers.html#index_a"}, +{text:"b",url:"namespacemembers.html#index_b"}, +{text:"c",url:"namespacemembers.html#index_c"}, +{text:"d",url:"namespacemembers.html#index_d"}, +{text:"e",url:"namespacemembers.html#index_e"}, +{text:"f",url:"namespacemembers.html#index_f"}, +{text:"g",url:"namespacemembers.html#index_g"}, +{text:"i",url:"namespacemembers.html#index_i"}, +{text:"j",url:"namespacemembers.html#index_j"}, +{text:"m",url:"namespacemembers.html#index_m"}, +{text:"n",url:"namespacemembers.html#index_n"}, +{text:"o",url:"namespacemembers.html#index_o"}, +{text:"p",url:"namespacemembers.html#index_p"}, +{text:"r",url:"namespacemembers.html#index_r"}, +{text:"s",url:"namespacemembers.html#index_s"}, +{text:"t",url:"namespacemembers.html#index_t"}, +{text:"u",url:"namespacemembers.html#index_u"}, +{text:"v",url:"namespacemembers.html#index_v"}]}, +{text:"Functions",url:"namespacemembers_func.html",children:[ +{text:"b",url:"namespacemembers_func.html#index_b"}, +{text:"c",url:"namespacemembers_func.html#index_c"}, +{text:"f",url:"namespacemembers_func.html#index_f"}, +{text:"g",url:"namespacemembers_func.html#index_g"}, +{text:"i",url:"namespacemembers_func.html#index_i"}, +{text:"m",url:"namespacemembers_func.html#index_m"}, +{text:"n",url:"namespacemembers_func.html#index_n"}, +{text:"o",url:"namespacemembers_func.html#index_o"}, +{text:"p",url:"namespacemembers_func.html#index_p"}, +{text:"r",url:"namespacemembers_func.html#index_r"}, +{text:"s",url:"namespacemembers_func.html#index_s"}, +{text:"t",url:"namespacemembers_func.html#index_t"}]}, +{text:"Variables",url:"namespacemembers_vars.html"}, +{text:"Typedefs",url:"namespacemembers_type.html"}, +{text:"Enumerations",url:"namespacemembers_enum.html"}]}]}, +{text:"Data Structures",url:"annotated.html",children:[ +{text:"Data Structures",url:"annotated.html"}, +{text:"Data Structure Index",url:"classes.html"}, +{text:"Class Hierarchy",url:"inherits.html"}, +{text:"Data Fields",url:"functions.html",children:[ +{text:"All",url:"functions.html",children:[ +{text:"a",url:"functions.html#index_a"}, +{text:"b",url:"functions_b.html#index_b"}, +{text:"c",url:"functions_c.html#index_c"}, +{text:"d",url:"functions_d.html#index_d"}, +{text:"e",url:"functions_e.html#index_e"}, +{text:"f",url:"functions_f.html#index_f"}, +{text:"g",url:"functions_g.html#index_g"}, +{text:"h",url:"functions_h.html#index_h"}, +{text:"i",url:"functions_i.html#index_i"}, +{text:"j",url:"functions_j.html#index_j"}, +{text:"k",url:"functions_k.html#index_k"}, +{text:"l",url:"functions_l.html#index_l"}, +{text:"m",url:"functions_m.html#index_m"}, +{text:"n",url:"functions_n.html#index_n"}, +{text:"o",url:"functions_o.html#index_o"}, +{text:"p",url:"functions_p.html#index_p"}, +{text:"q",url:"functions_q.html#index_q"}, +{text:"r",url:"functions_r.html#index_r"}, +{text:"s",url:"functions_s.html#index_s"}, +{text:"t",url:"functions_t.html#index_t"}, +{text:"u",url:"functions_u.html#index_u"}, +{text:"v",url:"functions_v.html#index_v"}, +{text:"w",url:"functions_w.html#index_w"}, +{text:"x",url:"functions_x.html#index_x"}, +{text:"y",url:"functions_y.html#index_y"}, +{text:"~",url:"functions_0x7e.html#index_0x7e"}]}, +{text:"Functions",url:"functions_func.html",children:[ +{text:"a",url:"functions_func.html#index_a"}, +{text:"b",url:"functions_func_b.html#index_b"}, +{text:"c",url:"functions_func_c.html#index_c"}, +{text:"d",url:"functions_func_d.html#index_d"}, +{text:"e",url:"functions_func_e.html#index_e"}, +{text:"f",url:"functions_func_f.html#index_f"}, +{text:"g",url:"functions_func_g.html#index_g"}, +{text:"i",url:"functions_func_i.html#index_i"}, +{text:"j",url:"functions_func_j.html#index_j"}, +{text:"k",url:"functions_func_k.html#index_k"}, +{text:"l",url:"functions_func_l.html#index_l"}, +{text:"m",url:"functions_func_m.html#index_m"}, +{text:"o",url:"functions_func_o.html#index_o"}, +{text:"p",url:"functions_func_p.html#index_p"}, +{text:"r",url:"functions_func_r.html#index_r"}, +{text:"s",url:"functions_func_s.html#index_s"}, +{text:"t",url:"functions_func_t.html#index_t"}, +{text:"u",url:"functions_func_u.html#index_u"}, +{text:"v",url:"functions_func_v.html#index_v"}, +{text:"w",url:"functions_func_w.html#index_w"}, +{text:"x",url:"functions_func_x.html#index_x"}, +{text:"~",url:"functions_func_0x7e.html#index_0x7e"}]}, +{text:"Variables",url:"functions_vars.html",children:[ +{text:"a",url:"functions_vars.html#index_a"}, +{text:"b",url:"functions_vars_b.html#index_b"}, +{text:"c",url:"functions_vars_c.html#index_c"}, +{text:"d",url:"functions_vars_d.html#index_d"}, +{text:"e",url:"functions_vars_e.html#index_e"}, +{text:"f",url:"functions_vars_f.html#index_f"}, +{text:"g",url:"functions_vars_g.html#index_g"}, +{text:"h",url:"functions_vars_h.html#index_h"}, +{text:"i",url:"functions_vars_i.html#index_i"}, +{text:"k",url:"functions_vars_k.html#index_k"}, +{text:"l",url:"functions_vars_l.html#index_l"}, +{text:"m",url:"functions_vars_m.html#index_m"}, +{text:"n",url:"functions_vars_n.html#index_n"}, +{text:"o",url:"functions_vars_o.html#index_o"}, +{text:"p",url:"functions_vars_p.html#index_p"}, +{text:"q",url:"functions_vars_q.html#index_q"}, +{text:"r",url:"functions_vars_r.html#index_r"}, +{text:"s",url:"functions_vars_s.html#index_s"}, +{text:"t",url:"functions_vars_t.html#index_t"}, +{text:"u",url:"functions_vars_u.html#index_u"}, +{text:"v",url:"functions_vars_v.html#index_v"}, +{text:"w",url:"functions_vars_w.html#index_w"}, +{text:"x",url:"functions_vars_x.html#index_x"}, +{text:"y",url:"functions_vars_y.html#index_y"}]}, +{text:"Typedefs",url:"functions_type.html",children:[ +{text:"a",url:"functions_type.html#index_a"}, +{text:"b",url:"functions_type.html#index_b"}, +{text:"c",url:"functions_type.html#index_c"}, +{text:"d",url:"functions_type.html#index_d"}, +{text:"i",url:"functions_type.html#index_i"}, +{text:"j",url:"functions_type.html#index_j"}, +{text:"n",url:"functions_type.html#index_n"}, +{text:"o",url:"functions_type.html#index_o"}, +{text:"p",url:"functions_type.html#index_p"}, +{text:"r",url:"functions_type.html#index_r"}, +{text:"s",url:"functions_type.html#index_s"}, +{text:"v",url:"functions_type.html#index_v"}]}, +{text:"Enumerations",url:"functions_enum.html"}, +{text:"Enumerator",url:"functions_eval.html"}, +{text:"Related Functions",url:"functions_rela.html"}]}]}, +{text:"Files",url:"files.html",children:[ +{text:"File List",url:"files.html"}, +{text:"Globals",url:"globals.html",children:[ +{text:"All",url:"globals.html",children:[ +{text:"_",url:"globals.html#index__"}, +{text:"a",url:"globals_a.html#index_a"}, +{text:"b",url:"globals_b.html#index_b"}, +{text:"c",url:"globals_c.html#index_c"}, +{text:"d",url:"globals_d.html#index_d"}, +{text:"e",url:"globals_e.html#index_e"}, +{text:"f",url:"globals_f.html#index_f"}, +{text:"g",url:"globals_g.html#index_g"}, +{text:"h",url:"globals_h.html#index_h"}, +{text:"i",url:"globals_i.html#index_i"}, +{text:"j",url:"globals_j.html#index_j"}, +{text:"k",url:"globals_k.html#index_k"}, +{text:"l",url:"globals_l.html#index_l"}, +{text:"m",url:"globals_m.html#index_m"}, +{text:"n",url:"globals_n.html#index_n"}, +{text:"o",url:"globals_o.html#index_o"}, +{text:"p",url:"globals_p.html#index_p"}, +{text:"r",url:"globals_r.html#index_r"}, +{text:"s",url:"globals_s.html#index_s"}, +{text:"t",url:"globals_t.html#index_t"}, +{text:"u",url:"globals_u.html#index_u"}, +{text:"v",url:"globals_v.html#index_v"}, +{text:"w",url:"globals_w.html#index_w"}, +{text:"x",url:"globals_x.html#index_x"}]}, +{text:"Functions",url:"globals_func.html",children:[ +{text:"_",url:"globals_func.html#index__"}, +{text:"a",url:"globals_func_a.html#index_a"}, +{text:"b",url:"globals_func_b.html#index_b"}, +{text:"c",url:"globals_func_c.html#index_c"}, +{text:"d",url:"globals_func_d.html#index_d"}, +{text:"f",url:"globals_func_f.html#index_f"}, +{text:"g",url:"globals_func_g.html#index_g"}, +{text:"h",url:"globals_func_h.html#index_h"}, +{text:"i",url:"globals_func_i.html#index_i"}, +{text:"m",url:"globals_func_m.html#index_m"}, +{text:"n",url:"globals_func_n.html#index_n"}, +{text:"o",url:"globals_func_o.html#index_o"}, +{text:"p",url:"globals_func_p.html#index_p"}, +{text:"r",url:"globals_func_r.html#index_r"}, +{text:"s",url:"globals_func_s.html#index_s"}, +{text:"t",url:"globals_func_t.html#index_t"}, +{text:"u",url:"globals_func_u.html#index_u"}, +{text:"v",url:"globals_func_v.html#index_v"}, +{text:"x",url:"globals_func_x.html#index_x"}]}, +{text:"Variables",url:"globals_vars.html",children:[ +{text:"_",url:"globals_vars.html#index__"}, +{text:"a",url:"globals_vars_a.html#index_a"}, +{text:"b",url:"globals_vars_b.html#index_b"}, +{text:"c",url:"globals_vars_c.html#index_c"}, +{text:"d",url:"globals_vars_d.html#index_d"}, +{text:"e",url:"globals_vars_e.html#index_e"}, +{text:"f",url:"globals_vars_f.html#index_f"}, +{text:"g",url:"globals_vars_g.html#index_g"}, +{text:"h",url:"globals_vars_h.html#index_h"}, +{text:"i",url:"globals_vars_i.html#index_i"}, +{text:"k",url:"globals_vars_k.html#index_k"}, +{text:"l",url:"globals_vars_l.html#index_l"}, +{text:"m",url:"globals_vars_m.html#index_m"}, +{text:"n",url:"globals_vars_n.html#index_n"}, +{text:"o",url:"globals_vars_o.html#index_o"}, +{text:"p",url:"globals_vars_p.html#index_p"}, +{text:"r",url:"globals_vars_r.html#index_r"}, +{text:"s",url:"globals_vars_s.html#index_s"}, +{text:"t",url:"globals_vars_t.html#index_t"}, +{text:"u",url:"globals_vars_u.html#index_u"}, +{text:"w",url:"globals_vars_w.html#index_w"}, +{text:"x",url:"globals_vars_x.html#index_x"}]}, +{text:"Typedefs",url:"globals_type.html"}, +{text:"Enumerations",url:"globals_enum.html",children:[ +{text:"a",url:"globals_enum.html#index_a"}, +{text:"b",url:"globals_enum.html#index_b"}, +{text:"c",url:"globals_enum.html#index_c"}, +{text:"e",url:"globals_enum.html#index_e"}, +{text:"i",url:"globals_enum.html#index_i"}, +{text:"n",url:"globals_enum.html#index_n"}, +{text:"p",url:"globals_enum.html#index_p"}, +{text:"s",url:"globals_enum.html#index_s"}, +{text:"x",url:"globals_enum.html#index_x"}]}, +{text:"Enumerator",url:"globals_eval.html",children:[ +{text:"a",url:"globals_eval.html#index_a"}, +{text:"b",url:"globals_eval.html#index_b"}, +{text:"c",url:"globals_eval.html#index_c"}, +{text:"e",url:"globals_eval.html#index_e"}, +{text:"f",url:"globals_eval.html#index_f"}, +{text:"i",url:"globals_eval.html#index_i"}, +{text:"m",url:"globals_eval.html#index_m"}, +{text:"p",url:"globals_eval.html#index_p"}, +{text:"s",url:"globals_eval.html#index_s"}, +{text:"x",url:"globals_eval.html#index_x"}]}, +{text:"Macros",url:"globals_defs.html",children:[ +{text:"_",url:"globals_defs.html#index__"}, +{text:"a",url:"globals_defs_a.html#index_a"}, +{text:"b",url:"globals_defs_b.html#index_b"}, +{text:"c",url:"globals_defs_c.html#index_c"}, +{text:"d",url:"globals_defs_d.html#index_d"}, +{text:"e",url:"globals_defs_e.html#index_e"}, +{text:"f",url:"globals_defs_f.html#index_f"}, +{text:"i",url:"globals_defs_i.html#index_i"}, +{text:"j",url:"globals_defs_j.html#index_j"}, +{text:"k",url:"globals_defs_k.html#index_k"}, +{text:"l",url:"globals_defs_l.html#index_l"}, +{text:"m",url:"globals_defs_m.html#index_m"}, +{text:"n",url:"globals_defs_n.html#index_n"}, +{text:"o",url:"globals_defs_o.html#index_o"}, +{text:"p",url:"globals_defs_p.html#index_p"}, +{text:"r",url:"globals_defs_r.html#index_r"}, +{text:"s",url:"globals_defs_s.html#index_s"}, +{text:"t",url:"globals_defs_t.html#index_t"}, +{text:"u",url:"globals_defs_u.html#index_u"}, +{text:"v",url:"globals_defs_v.html#index_v"}, +{text:"w",url:"globals_defs_w.html#index_w"}, +{text:"x",url:"globals_defs_x.html#index_x"}]}]}]}]} diff --git a/docs/API/modules.html b/docs/API/modules.html new file mode 100644 index 0000000..a00d47e --- /dev/null +++ b/docs/API/modules.html @@ -0,0 +1,80 @@ + + + + + + + +o-du/phy: Modules + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    Modules
    +
    + + + + + diff --git a/docs/API/namespace_block_float_compander.html b/docs/API/namespace_block_float_compander.html new file mode 100644 index 0000000..9dca61b --- /dev/null +++ b/docs/API/namespace_block_float_compander.html @@ -0,0 +1,636 @@ + + + + + + + +o-du/phy: BlockFloatCompander Namespace Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    BlockFloatCompander Namespace Reference
    +
    +
    + + + + + + +

    +Data Structures

    struct  CompressedData
     
    struct  ExpandedData
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Functions

    void BlockFloatCompress_Basic (const ExpandedData &dataIn, CompressedData *dataOut)
     Reference compression. More...
     
    void BlockFloatCompress_8b_AVX512 (const ExpandedData &dataIn, CompressedData *dataOut)
     8 bit compression More...
     
    void BlockFloatCompress_9b_AVX512 (const ExpandedData &dataIn, CompressedData *dataOut)
     9 bit compression More...
     
    void BlockFloatCompress_10b_AVX512 (const ExpandedData &dataIn, CompressedData *dataOut)
     10 bit compression More...
     
    void BlockFloatCompress_12b_AVX512 (const ExpandedData &dataIn, CompressedData *dataOut)
     12 bit compression More...
     
    void BlockFloatExpand_Basic (const CompressedData &dataIn, ExpandedData *dataOut)
     Reference expansion. More...
     
    void BlockFloatExpand_8b_AVX512 (const CompressedData &dataIn, ExpandedData *dataOut)
     8 bit expansion More...
     
    void BlockFloatExpand_9b_AVX512 (const CompressedData &dataIn, ExpandedData *dataOut)
     9 bit expansion More...
     
    void BlockFloatExpand_10b_AVX512 (const CompressedData &dataIn, ExpandedData *dataOut)
     10 bit expansion More...
     
    void BlockFloatExpand_12b_AVX512 (const CompressedData &dataIn, ExpandedData *dataOut)
     12 bit expansion More...
     
    +

    Detailed Description

    +

    Intel compiler frequently complains about templates not being declared in an external header. Templates are used throughout this project's source files to define local type-specific versions of functions. Defining every one of these in a header is unnecessary, so the warnings about this are turned off globally.

    +

    Function Documentation

    + +

    ◆ BlockFloatCompress_10b_AVX512()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void BlockFloatCompress_10b_AVX512 (const ExpandedDatadataIn,
    CompressedDatadataOut 
    )
    +
    + +

    10 bit compression

    +

    Compute exponent and store for later use

    +

    Shift 1RB by corresponding exponent and write exponent and data to output Output data is packed exponent first followed by corresponding compressed RB

    +

    Apply exponent shift

    +

    Pack compressed data network byte order

    +

    Store exponent first

    +

    Now have 1 RB worth of bytes separated into 3 chunks (1 per lane) Use three offset stores to join

    + +

    Definition at line 395 of file xran_compression.cpp.

    +
    +Here is the call graph for this function:
    +
    +
    + + + + +
    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + +
    + +
    +
    + +

    ◆ BlockFloatCompress_12b_AVX512()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void BlockFloatCompress_12b_AVX512 (const ExpandedDatadataIn,
    CompressedDatadataOut 
    )
    +
    + +

    12 bit compression

    +

    Compute exponent and store for later use

    +

    Shift 1RB by corresponding exponent and write exponent and data to output Output data is packed exponent first followed by corresponding compressed RB

    +

    Apply exponent shift

    +

    Pack compressed data network byte order

    +

    Store exponent first

    +

    Now have 1 RB worth of bytes separated into 3 chunks (1 per lane) Use three offset stores to join

    + +

    Definition at line 431 of file xran_compression.cpp.

    +
    +Here is the call graph for this function:
    +
    +
    + + + + +
    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + +
    + +
    +
    + +

    ◆ BlockFloatCompress_8b_AVX512()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void BlockFloatCompress_8b_AVX512 (const ExpandedDatadataIn,
    CompressedDatadataOut 
    )
    +
    + +

    8 bit compression

    +

    Compute exponent and store for later use

    +

    Shift 1RB by corresponding exponent and write exponent and data to output

    +

    Store exponent first

    +

    Store compressed RB

    + +

    Definition at line 335 of file xran_compression.cpp.

    +
    +Here is the call graph for this function:
    +
    +
    + + + +
    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + +
    + +
    +
    + +

    ◆ BlockFloatCompress_9b_AVX512()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void BlockFloatCompress_9b_AVX512 (const ExpandedDatadataIn,
    CompressedDatadataOut 
    )
    +
    + +

    9 bit compression

    +

    Compute exponent and store for later use

    +

    Shift 1RB by corresponding exponent and write exponent and data to output Output data is packed exponent first followed by corresponding compressed RB

    +

    Apply exponent shift

    +

    Pack compressed data network byte order

    +

    Store exponent first

    +

    Now have 1 RB worth of bytes separated into 3 chunks (1 per lane) Use three offset stores to join

    + +

    Definition at line 359 of file xran_compression.cpp.

    +
    +Here is the call graph for this function:
    +
    +
    + + + + +
    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + +
    + +
    +
    + +

    ◆ BlockFloatCompress_Basic()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void BlockFloatCompress_Basic (const ExpandedDatadataIn,
    CompressedDatadataOut 
    )
    +
    + +

    Reference compression.

    +

    Find max abs value for this RB

    +

    ARS data by exponent and pack bytes in Network order This uses a sliding buffer where one or more bytes are extracted after the insertion of each compressed sample

    + +

    Definition at line 558 of file xran_compression.cpp.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + +
    + +
    +
    + +

    ◆ BlockFloatExpand_10b_AVX512()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void BlockFloatExpand_10b_AVX512 (const CompressedDatadataIn,
    ExpandedDatadataOut 
    )
    +
    + +

    10 bit expansion

    +

    Unpack network order packed data

    +

    Apply exponent scaling (by appropriate arithmetic shift right)

    +

    Write expanded data to output

    + +

    Definition at line 510 of file xran_compression.cpp.

    +
    +Here is the call graph for this function:
    +
    +
    + + + +
    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + +
    + +
    +
    + +

    ◆ BlockFloatExpand_12b_AVX512()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void BlockFloatExpand_12b_AVX512 (const CompressedDatadataIn,
    ExpandedDatadataOut 
    )
    +
    + +

    12 bit expansion

    +

    Unpack network order packed data

    +

    Apply exponent scaling (by appropriate arithmetic shift right)

    +

    Write expanded data to output

    + +

    Definition at line 534 of file xran_compression.cpp.

    +
    +Here is the call graph for this function:
    +
    +
    + + + +
    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + +
    + +
    +
    + +

    ◆ BlockFloatExpand_8b_AVX512()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void BlockFloatExpand_8b_AVX512 (const CompressedDatadataIn,
    ExpandedDatadataOut 
    )
    +
    + +

    8 bit expansion

    +

    Expand 1RB of data

    +

    Write expanded data to output

    + +

    Definition at line 467 of file xran_compression.cpp.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + +
    + +
    +
    + +

    ◆ BlockFloatExpand_9b_AVX512()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void BlockFloatExpand_9b_AVX512 (const CompressedDatadataIn,
    ExpandedDatadataOut 
    )
    +
    + +

    9 bit expansion

    +

    Unpack network order packed data

    +

    Apply exponent scaling (by appropriate arithmetic shift right)

    +

    Write expanded data to output

    + +

    Definition at line 486 of file xran_compression.cpp.

    +
    +Here is the call graph for this function:
    +
    +
    + + + +
    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + +
    + +
    +
    + +

    ◆ BlockFloatExpand_Basic()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void BlockFloatExpand_Basic (const CompressedDatadataIn,
    ExpandedDatadataOut 
    )
    +
    + +

    Reference expansion.

    +

    byteBuffer currently has enough data in it to extract a sample Shift left first to set sign bit at MSB, then shift right to sign extend down to iqWidth. Finally recast to int16.

    + +

    Definition at line 605 of file xran_compression.cpp.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + +
    + +
    +
    +
    + + + + diff --git a/docs/API/namespace_block_float_compander_a2356f186e264c7cea4e3c26d448bb1d5_cgraph.map b/docs/API/namespace_block_float_compander_a2356f186e264c7cea4e3c26d448bb1d5_cgraph.map new file mode 100644 index 0000000..95d4fb0 --- /dev/null +++ b/docs/API/namespace_block_float_compander_a2356f186e264c7cea4e3c26d448bb1d5_cgraph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/namespace_block_float_compander_a2356f186e264c7cea4e3c26d448bb1d5_cgraph.md5 b/docs/API/namespace_block_float_compander_a2356f186e264c7cea4e3c26d448bb1d5_cgraph.md5 new file mode 100644 index 0000000..842802f --- /dev/null +++ b/docs/API/namespace_block_float_compander_a2356f186e264c7cea4e3c26d448bb1d5_cgraph.md5 @@ -0,0 +1 @@ +8ba25f4372d8e4ce2dfaf8a9fbcffb23 \ No newline at end of file diff --git a/docs/API/namespace_block_float_compander_a2356f186e264c7cea4e3c26d448bb1d5_cgraph.png b/docs/API/namespace_block_float_compander_a2356f186e264c7cea4e3c26d448bb1d5_cgraph.png new file mode 100644 index 0000000..8e0bf3c Binary files /dev/null and b/docs/API/namespace_block_float_compander_a2356f186e264c7cea4e3c26d448bb1d5_cgraph.png differ diff --git a/docs/API/namespace_block_float_compander_a2356f186e264c7cea4e3c26d448bb1d5_icgraph.map b/docs/API/namespace_block_float_compander_a2356f186e264c7cea4e3c26d448bb1d5_icgraph.map new file mode 100644 index 0000000..b690d7b --- /dev/null +++ b/docs/API/namespace_block_float_compander_a2356f186e264c7cea4e3c26d448bb1d5_icgraph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/API/namespace_block_float_compander_a2356f186e264c7cea4e3c26d448bb1d5_icgraph.md5 b/docs/API/namespace_block_float_compander_a2356f186e264c7cea4e3c26d448bb1d5_icgraph.md5 new file mode 100644 index 0000000..4ca63d5 --- /dev/null +++ b/docs/API/namespace_block_float_compander_a2356f186e264c7cea4e3c26d448bb1d5_icgraph.md5 @@ -0,0 +1 @@ +fcf183dc3bba7699c0ad7f07b134d6a4 \ No newline at end of file diff --git a/docs/API/namespace_block_float_compander_a2356f186e264c7cea4e3c26d448bb1d5_icgraph.png b/docs/API/namespace_block_float_compander_a2356f186e264c7cea4e3c26d448bb1d5_icgraph.png new file mode 100644 index 0000000..61ceb13 Binary files /dev/null and b/docs/API/namespace_block_float_compander_a2356f186e264c7cea4e3c26d448bb1d5_icgraph.png differ diff --git a/docs/API/namespace_block_float_compander_a2a8db4c5039bc3d5237b31ca2a129815_cgraph.map b/docs/API/namespace_block_float_compander_a2a8db4c5039bc3d5237b31ca2a129815_cgraph.map new file mode 100644 index 0000000..fdb1ece --- /dev/null +++ b/docs/API/namespace_block_float_compander_a2a8db4c5039bc3d5237b31ca2a129815_cgraph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/namespace_block_float_compander_a2a8db4c5039bc3d5237b31ca2a129815_cgraph.md5 b/docs/API/namespace_block_float_compander_a2a8db4c5039bc3d5237b31ca2a129815_cgraph.md5 new file mode 100644 index 0000000..27888ed --- /dev/null +++ b/docs/API/namespace_block_float_compander_a2a8db4c5039bc3d5237b31ca2a129815_cgraph.md5 @@ -0,0 +1 @@ +2855073ecb38912ee2eae6c40b353e8c \ No newline at end of file diff --git a/docs/API/namespace_block_float_compander_a2a8db4c5039bc3d5237b31ca2a129815_cgraph.png b/docs/API/namespace_block_float_compander_a2a8db4c5039bc3d5237b31ca2a129815_cgraph.png new file mode 100644 index 0000000..f8b8fae Binary files /dev/null and b/docs/API/namespace_block_float_compander_a2a8db4c5039bc3d5237b31ca2a129815_cgraph.png differ diff --git a/docs/API/namespace_block_float_compander_a2a8db4c5039bc3d5237b31ca2a129815_icgraph.map b/docs/API/namespace_block_float_compander_a2a8db4c5039bc3d5237b31ca2a129815_icgraph.map new file mode 100644 index 0000000..556ae75 --- /dev/null +++ b/docs/API/namespace_block_float_compander_a2a8db4c5039bc3d5237b31ca2a129815_icgraph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/API/namespace_block_float_compander_a2a8db4c5039bc3d5237b31ca2a129815_icgraph.md5 b/docs/API/namespace_block_float_compander_a2a8db4c5039bc3d5237b31ca2a129815_icgraph.md5 new file mode 100644 index 0000000..818057b --- /dev/null +++ b/docs/API/namespace_block_float_compander_a2a8db4c5039bc3d5237b31ca2a129815_icgraph.md5 @@ -0,0 +1 @@ +d71ac2642e5447ecd5a446a554dc2071 \ No newline at end of file diff --git a/docs/API/namespace_block_float_compander_a2a8db4c5039bc3d5237b31ca2a129815_icgraph.png b/docs/API/namespace_block_float_compander_a2a8db4c5039bc3d5237b31ca2a129815_icgraph.png new file mode 100644 index 0000000..22d0c2b Binary files /dev/null and b/docs/API/namespace_block_float_compander_a2a8db4c5039bc3d5237b31ca2a129815_icgraph.png differ diff --git a/docs/API/namespace_block_float_compander_a32917a78ac1596d9aa95e4089ec88ba9_cgraph.map b/docs/API/namespace_block_float_compander_a32917a78ac1596d9aa95e4089ec88ba9_cgraph.map new file mode 100644 index 0000000..bf6aa57 --- /dev/null +++ b/docs/API/namespace_block_float_compander_a32917a78ac1596d9aa95e4089ec88ba9_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/namespace_block_float_compander_a32917a78ac1596d9aa95e4089ec88ba9_cgraph.md5 b/docs/API/namespace_block_float_compander_a32917a78ac1596d9aa95e4089ec88ba9_cgraph.md5 new file mode 100644 index 0000000..2683cb5 --- /dev/null +++ b/docs/API/namespace_block_float_compander_a32917a78ac1596d9aa95e4089ec88ba9_cgraph.md5 @@ -0,0 +1 @@ +fe6ee79bb2959ed4411796ffcda6cc0c \ No newline at end of file diff --git a/docs/API/namespace_block_float_compander_a32917a78ac1596d9aa95e4089ec88ba9_cgraph.png b/docs/API/namespace_block_float_compander_a32917a78ac1596d9aa95e4089ec88ba9_cgraph.png new file mode 100644 index 0000000..f1dd2f2 Binary files /dev/null and b/docs/API/namespace_block_float_compander_a32917a78ac1596d9aa95e4089ec88ba9_cgraph.png differ diff --git a/docs/API/namespace_block_float_compander_a32917a78ac1596d9aa95e4089ec88ba9_icgraph.map b/docs/API/namespace_block_float_compander_a32917a78ac1596d9aa95e4089ec88ba9_icgraph.map new file mode 100644 index 0000000..2ef720d --- /dev/null +++ b/docs/API/namespace_block_float_compander_a32917a78ac1596d9aa95e4089ec88ba9_icgraph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/API/namespace_block_float_compander_a32917a78ac1596d9aa95e4089ec88ba9_icgraph.md5 b/docs/API/namespace_block_float_compander_a32917a78ac1596d9aa95e4089ec88ba9_icgraph.md5 new file mode 100644 index 0000000..af2164c --- /dev/null +++ b/docs/API/namespace_block_float_compander_a32917a78ac1596d9aa95e4089ec88ba9_icgraph.md5 @@ -0,0 +1 @@ +49e989eea7e1f22ff7a39954480dc9f6 \ No newline at end of file diff --git a/docs/API/namespace_block_float_compander_a32917a78ac1596d9aa95e4089ec88ba9_icgraph.png b/docs/API/namespace_block_float_compander_a32917a78ac1596d9aa95e4089ec88ba9_icgraph.png new file mode 100644 index 0000000..bab7dda Binary files /dev/null and b/docs/API/namespace_block_float_compander_a32917a78ac1596d9aa95e4089ec88ba9_icgraph.png differ diff --git a/docs/API/namespace_block_float_compander_a45cc83687ca392534168cb8f4d64182f_icgraph.map b/docs/API/namespace_block_float_compander_a45cc83687ca392534168cb8f4d64182f_icgraph.map new file mode 100644 index 0000000..2acc52c --- /dev/null +++ b/docs/API/namespace_block_float_compander_a45cc83687ca392534168cb8f4d64182f_icgraph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/API/namespace_block_float_compander_a45cc83687ca392534168cb8f4d64182f_icgraph.md5 b/docs/API/namespace_block_float_compander_a45cc83687ca392534168cb8f4d64182f_icgraph.md5 new file mode 100644 index 0000000..0ed2cc3 --- /dev/null +++ b/docs/API/namespace_block_float_compander_a45cc83687ca392534168cb8f4d64182f_icgraph.md5 @@ -0,0 +1 @@ +475a2408b7073ae082ac8912449e1368 \ No newline at end of file diff --git a/docs/API/namespace_block_float_compander_a45cc83687ca392534168cb8f4d64182f_icgraph.png b/docs/API/namespace_block_float_compander_a45cc83687ca392534168cb8f4d64182f_icgraph.png new file mode 100644 index 0000000..5334971 Binary files /dev/null and b/docs/API/namespace_block_float_compander_a45cc83687ca392534168cb8f4d64182f_icgraph.png differ diff --git a/docs/API/namespace_block_float_compander_a5b3ddd524752c8f556bc4c654e392321_cgraph.map b/docs/API/namespace_block_float_compander_a5b3ddd524752c8f556bc4c654e392321_cgraph.map new file mode 100644 index 0000000..a1fef51 --- /dev/null +++ b/docs/API/namespace_block_float_compander_a5b3ddd524752c8f556bc4c654e392321_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/namespace_block_float_compander_a5b3ddd524752c8f556bc4c654e392321_cgraph.md5 b/docs/API/namespace_block_float_compander_a5b3ddd524752c8f556bc4c654e392321_cgraph.md5 new file mode 100644 index 0000000..cc2c0a5 --- /dev/null +++ b/docs/API/namespace_block_float_compander_a5b3ddd524752c8f556bc4c654e392321_cgraph.md5 @@ -0,0 +1 @@ +5e1128fc4aa33b935e163433e471df12 \ No newline at end of file diff --git a/docs/API/namespace_block_float_compander_a5b3ddd524752c8f556bc4c654e392321_cgraph.png b/docs/API/namespace_block_float_compander_a5b3ddd524752c8f556bc4c654e392321_cgraph.png new file mode 100644 index 0000000..85b5415 Binary files /dev/null and b/docs/API/namespace_block_float_compander_a5b3ddd524752c8f556bc4c654e392321_cgraph.png differ diff --git a/docs/API/namespace_block_float_compander_a5b3ddd524752c8f556bc4c654e392321_icgraph.map b/docs/API/namespace_block_float_compander_a5b3ddd524752c8f556bc4c654e392321_icgraph.map new file mode 100644 index 0000000..ac2bb27 --- /dev/null +++ b/docs/API/namespace_block_float_compander_a5b3ddd524752c8f556bc4c654e392321_icgraph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/API/namespace_block_float_compander_a5b3ddd524752c8f556bc4c654e392321_icgraph.md5 b/docs/API/namespace_block_float_compander_a5b3ddd524752c8f556bc4c654e392321_icgraph.md5 new file mode 100644 index 0000000..84520cb --- /dev/null +++ b/docs/API/namespace_block_float_compander_a5b3ddd524752c8f556bc4c654e392321_icgraph.md5 @@ -0,0 +1 @@ +cf38edd130a0def4f3af9898855f4d69 \ No newline at end of file diff --git a/docs/API/namespace_block_float_compander_a5b3ddd524752c8f556bc4c654e392321_icgraph.png b/docs/API/namespace_block_float_compander_a5b3ddd524752c8f556bc4c654e392321_icgraph.png new file mode 100644 index 0000000..ef6a400 Binary files /dev/null and b/docs/API/namespace_block_float_compander_a5b3ddd524752c8f556bc4c654e392321_icgraph.png differ diff --git a/docs/API/namespace_block_float_compander_a5f4776cd07aac0ae2d9dbd02aaba3435_icgraph.map b/docs/API/namespace_block_float_compander_a5f4776cd07aac0ae2d9dbd02aaba3435_icgraph.map new file mode 100644 index 0000000..e5cab62 --- /dev/null +++ b/docs/API/namespace_block_float_compander_a5f4776cd07aac0ae2d9dbd02aaba3435_icgraph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/API/namespace_block_float_compander_a5f4776cd07aac0ae2d9dbd02aaba3435_icgraph.md5 b/docs/API/namespace_block_float_compander_a5f4776cd07aac0ae2d9dbd02aaba3435_icgraph.md5 new file mode 100644 index 0000000..1212b73 --- /dev/null +++ b/docs/API/namespace_block_float_compander_a5f4776cd07aac0ae2d9dbd02aaba3435_icgraph.md5 @@ -0,0 +1 @@ +2796c7a8f5bb5cdc86b566f3a56d088f \ No newline at end of file diff --git a/docs/API/namespace_block_float_compander_a5f4776cd07aac0ae2d9dbd02aaba3435_icgraph.png b/docs/API/namespace_block_float_compander_a5f4776cd07aac0ae2d9dbd02aaba3435_icgraph.png new file mode 100644 index 0000000..2a6438c Binary files /dev/null and b/docs/API/namespace_block_float_compander_a5f4776cd07aac0ae2d9dbd02aaba3435_icgraph.png differ diff --git a/docs/API/namespace_block_float_compander_a65b09b78fac0c8dcfc9edd5091b728dd_cgraph.map b/docs/API/namespace_block_float_compander_a65b09b78fac0c8dcfc9edd5091b728dd_cgraph.map new file mode 100644 index 0000000..bc385c0 --- /dev/null +++ b/docs/API/namespace_block_float_compander_a65b09b78fac0c8dcfc9edd5091b728dd_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/namespace_block_float_compander_a65b09b78fac0c8dcfc9edd5091b728dd_cgraph.md5 b/docs/API/namespace_block_float_compander_a65b09b78fac0c8dcfc9edd5091b728dd_cgraph.md5 new file mode 100644 index 0000000..12d16de --- /dev/null +++ b/docs/API/namespace_block_float_compander_a65b09b78fac0c8dcfc9edd5091b728dd_cgraph.md5 @@ -0,0 +1 @@ +bde89f1ac1adfcebbba1f111b77a5722 \ No newline at end of file diff --git a/docs/API/namespace_block_float_compander_a65b09b78fac0c8dcfc9edd5091b728dd_cgraph.png b/docs/API/namespace_block_float_compander_a65b09b78fac0c8dcfc9edd5091b728dd_cgraph.png new file mode 100644 index 0000000..ee29ec0 Binary files /dev/null and b/docs/API/namespace_block_float_compander_a65b09b78fac0c8dcfc9edd5091b728dd_cgraph.png differ diff --git a/docs/API/namespace_block_float_compander_a65b09b78fac0c8dcfc9edd5091b728dd_icgraph.map b/docs/API/namespace_block_float_compander_a65b09b78fac0c8dcfc9edd5091b728dd_icgraph.map new file mode 100644 index 0000000..9d775b6 --- /dev/null +++ b/docs/API/namespace_block_float_compander_a65b09b78fac0c8dcfc9edd5091b728dd_icgraph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/API/namespace_block_float_compander_a65b09b78fac0c8dcfc9edd5091b728dd_icgraph.md5 b/docs/API/namespace_block_float_compander_a65b09b78fac0c8dcfc9edd5091b728dd_icgraph.md5 new file mode 100644 index 0000000..b6146d4 --- /dev/null +++ b/docs/API/namespace_block_float_compander_a65b09b78fac0c8dcfc9edd5091b728dd_icgraph.md5 @@ -0,0 +1 @@ +680ee119166aa9a2bd453d7a2f84fb50 \ No newline at end of file diff --git a/docs/API/namespace_block_float_compander_a65b09b78fac0c8dcfc9edd5091b728dd_icgraph.png b/docs/API/namespace_block_float_compander_a65b09b78fac0c8dcfc9edd5091b728dd_icgraph.png new file mode 100644 index 0000000..999d830 Binary files /dev/null and b/docs/API/namespace_block_float_compander_a65b09b78fac0c8dcfc9edd5091b728dd_icgraph.png differ diff --git a/docs/API/namespace_block_float_compander_a8fae7506e2b9c9f9365b306375ab6eff_cgraph.map b/docs/API/namespace_block_float_compander_a8fae7506e2b9c9f9365b306375ab6eff_cgraph.map new file mode 100644 index 0000000..665d384 --- /dev/null +++ b/docs/API/namespace_block_float_compander_a8fae7506e2b9c9f9365b306375ab6eff_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/namespace_block_float_compander_a8fae7506e2b9c9f9365b306375ab6eff_cgraph.md5 b/docs/API/namespace_block_float_compander_a8fae7506e2b9c9f9365b306375ab6eff_cgraph.md5 new file mode 100644 index 0000000..2911916 --- /dev/null +++ b/docs/API/namespace_block_float_compander_a8fae7506e2b9c9f9365b306375ab6eff_cgraph.md5 @@ -0,0 +1 @@ +09718ad568588ee6a9f20bc7e0c3681a \ No newline at end of file diff --git a/docs/API/namespace_block_float_compander_a8fae7506e2b9c9f9365b306375ab6eff_cgraph.png b/docs/API/namespace_block_float_compander_a8fae7506e2b9c9f9365b306375ab6eff_cgraph.png new file mode 100644 index 0000000..ea0e328 Binary files /dev/null and b/docs/API/namespace_block_float_compander_a8fae7506e2b9c9f9365b306375ab6eff_cgraph.png differ diff --git a/docs/API/namespace_block_float_compander_a8fae7506e2b9c9f9365b306375ab6eff_icgraph.map b/docs/API/namespace_block_float_compander_a8fae7506e2b9c9f9365b306375ab6eff_icgraph.map new file mode 100644 index 0000000..e9d764c --- /dev/null +++ b/docs/API/namespace_block_float_compander_a8fae7506e2b9c9f9365b306375ab6eff_icgraph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/API/namespace_block_float_compander_a8fae7506e2b9c9f9365b306375ab6eff_icgraph.md5 b/docs/API/namespace_block_float_compander_a8fae7506e2b9c9f9365b306375ab6eff_icgraph.md5 new file mode 100644 index 0000000..f797f85 --- /dev/null +++ b/docs/API/namespace_block_float_compander_a8fae7506e2b9c9f9365b306375ab6eff_icgraph.md5 @@ -0,0 +1 @@ +4ec7d4bb1e85a5ee6d3af633371bfb37 \ No newline at end of file diff --git a/docs/API/namespace_block_float_compander_a8fae7506e2b9c9f9365b306375ab6eff_icgraph.png b/docs/API/namespace_block_float_compander_a8fae7506e2b9c9f9365b306375ab6eff_icgraph.png new file mode 100644 index 0000000..7bb62b8 Binary files /dev/null and b/docs/API/namespace_block_float_compander_a8fae7506e2b9c9f9365b306375ab6eff_icgraph.png differ diff --git a/docs/API/namespace_block_float_compander_ae4ad42b117d59e2e7ff8fad2d5da506e_icgraph.map b/docs/API/namespace_block_float_compander_ae4ad42b117d59e2e7ff8fad2d5da506e_icgraph.map new file mode 100644 index 0000000..1180cce --- /dev/null +++ b/docs/API/namespace_block_float_compander_ae4ad42b117d59e2e7ff8fad2d5da506e_icgraph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/API/namespace_block_float_compander_ae4ad42b117d59e2e7ff8fad2d5da506e_icgraph.md5 b/docs/API/namespace_block_float_compander_ae4ad42b117d59e2e7ff8fad2d5da506e_icgraph.md5 new file mode 100644 index 0000000..3424436 --- /dev/null +++ b/docs/API/namespace_block_float_compander_ae4ad42b117d59e2e7ff8fad2d5da506e_icgraph.md5 @@ -0,0 +1 @@ +c614f180911b3c63d0ddc848c0d7933d \ No newline at end of file diff --git a/docs/API/namespace_block_float_compander_ae4ad42b117d59e2e7ff8fad2d5da506e_icgraph.png b/docs/API/namespace_block_float_compander_ae4ad42b117d59e2e7ff8fad2d5da506e_icgraph.png new file mode 100644 index 0000000..a289a54 Binary files /dev/null and b/docs/API/namespace_block_float_compander_ae4ad42b117d59e2e7ff8fad2d5da506e_icgraph.png differ diff --git a/docs/API/namespace_block_float_compander_ae525362ca026142cab4ac983e29ad0ff_cgraph.map b/docs/API/namespace_block_float_compander_ae525362ca026142cab4ac983e29ad0ff_cgraph.map new file mode 100644 index 0000000..fc3ee32 --- /dev/null +++ b/docs/API/namespace_block_float_compander_ae525362ca026142cab4ac983e29ad0ff_cgraph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/namespace_block_float_compander_ae525362ca026142cab4ac983e29ad0ff_cgraph.md5 b/docs/API/namespace_block_float_compander_ae525362ca026142cab4ac983e29ad0ff_cgraph.md5 new file mode 100644 index 0000000..2aeea41 --- /dev/null +++ b/docs/API/namespace_block_float_compander_ae525362ca026142cab4ac983e29ad0ff_cgraph.md5 @@ -0,0 +1 @@ +9c82b8d616e5f62f8eb05edff1380190 \ No newline at end of file diff --git a/docs/API/namespace_block_float_compander_ae525362ca026142cab4ac983e29ad0ff_cgraph.png b/docs/API/namespace_block_float_compander_ae525362ca026142cab4ac983e29ad0ff_cgraph.png new file mode 100644 index 0000000..3ff5fe3 Binary files /dev/null and b/docs/API/namespace_block_float_compander_ae525362ca026142cab4ac983e29ad0ff_cgraph.png differ diff --git a/docs/API/namespace_block_float_compander_ae525362ca026142cab4ac983e29ad0ff_icgraph.map b/docs/API/namespace_block_float_compander_ae525362ca026142cab4ac983e29ad0ff_icgraph.map new file mode 100644 index 0000000..05e934e --- /dev/null +++ b/docs/API/namespace_block_float_compander_ae525362ca026142cab4ac983e29ad0ff_icgraph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/API/namespace_block_float_compander_ae525362ca026142cab4ac983e29ad0ff_icgraph.md5 b/docs/API/namespace_block_float_compander_ae525362ca026142cab4ac983e29ad0ff_icgraph.md5 new file mode 100644 index 0000000..31967a3 --- /dev/null +++ b/docs/API/namespace_block_float_compander_ae525362ca026142cab4ac983e29ad0ff_icgraph.md5 @@ -0,0 +1 @@ +d41497f3cc906daf9d58306ae06dbdd9 \ No newline at end of file diff --git a/docs/API/namespace_block_float_compander_ae525362ca026142cab4ac983e29ad0ff_icgraph.png b/docs/API/namespace_block_float_compander_ae525362ca026142cab4ac983e29ad0ff_icgraph.png new file mode 100644 index 0000000..533885e Binary files /dev/null and b/docs/API/namespace_block_float_compander_ae525362ca026142cab4ac983e29ad0ff_icgraph.png differ diff --git a/docs/API/namespace_block_float_compander_b_f_w.html b/docs/API/namespace_block_float_compander_b_f_w.html new file mode 100644 index 0000000..ed629a4 --- /dev/null +++ b/docs/API/namespace_block_float_compander_b_f_w.html @@ -0,0 +1,172 @@ + + + + + + + +o-du/phy: BlockFloatCompanderBFW Namespace Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    BlockFloatCompanderBFW Namespace Reference
    +
    +
    + + + + + + +

    +Data Structures

    struct  CompressedData
     
    struct  ExpandedData
     
    + + + + + + + +

    +Functions

    void BlockFloatCompress_Basic (const ExpandedData &dataIn, CompressedData *dataOut)
     Reference compression. More...
     
    void BlockFloatExpand_Basic (const CompressedData &dataIn, ExpandedData *dataOut)
     Reference expansion. More...
     
    +

    Function Documentation

    + +

    ◆ BlockFloatCompress_Basic()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void BlockFloatCompress_Basic (const ExpandedDatadataIn,
    BlockFloatCompanderBFW::CompressedDatadataOut 
    )
    +
    + +

    Reference compression.

    +

    Find max abs value for this RB

    +

    ARS data by exponent and pack bytes in Network order This uses a sliding buffer where one or more bytes are extracted after the insertion of each compressed sample

    + +

    Definition at line 640 of file xran_compression.cpp.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + +
    + +
    +
    + +

    ◆ BlockFloatExpand_Basic()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void BlockFloatExpand_Basic (const CompressedDatadataIn,
    BlockFloatCompanderBFW::ExpandedDatadataOut 
    )
    +
    + +

    Reference expansion.

    +

    byteBuffer currently has enough data in it to extract a sample Shift left first to set sign bit at MSB, then shift right to sign extend down to iqWidth. Finally recast to int16.

    + +

    Definition at line 687 of file xran_compression.cpp.

    + +
    +
    +
    + + + + diff --git a/docs/API/namespace_block_float_compander_b_f_w_a45cc83687ca392534168cb8f4d64182f_icgraph.map b/docs/API/namespace_block_float_compander_b_f_w_a45cc83687ca392534168cb8f4d64182f_icgraph.map new file mode 100644 index 0000000..70a130f --- /dev/null +++ b/docs/API/namespace_block_float_compander_b_f_w_a45cc83687ca392534168cb8f4d64182f_icgraph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/API/namespace_block_float_compander_b_f_w_a45cc83687ca392534168cb8f4d64182f_icgraph.md5 b/docs/API/namespace_block_float_compander_b_f_w_a45cc83687ca392534168cb8f4d64182f_icgraph.md5 new file mode 100644 index 0000000..9be96d1 --- /dev/null +++ b/docs/API/namespace_block_float_compander_b_f_w_a45cc83687ca392534168cb8f4d64182f_icgraph.md5 @@ -0,0 +1 @@ +5eafe36a8c4b689a8411ca1b63ba284a \ No newline at end of file diff --git a/docs/API/namespace_block_float_compander_b_f_w_a45cc83687ca392534168cb8f4d64182f_icgraph.png b/docs/API/namespace_block_float_compander_b_f_w_a45cc83687ca392534168cb8f4d64182f_icgraph.png new file mode 100644 index 0000000..996203c Binary files /dev/null and b/docs/API/namespace_block_float_compander_b_f_w_a45cc83687ca392534168cb8f4d64182f_icgraph.png differ diff --git a/docs/API/namespacemaster.html b/docs/API/namespacemaster.html new file mode 100644 index 0000000..978e867 --- /dev/null +++ b/docs/API/namespacemaster.html @@ -0,0 +1,736 @@ + + + + + + + +o-du/phy: master Namespace Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    master Namespace Reference
    +
    +
    + + + + +

    +Data Structures

    class  GetOutOfLoops
     
    + + + + + + + + + + + + + + + + + +

    +Functions

    def init_logger (console_level, logfile_level)
     
    def parse_args (args)
     
    def is_comment (s)
     
    def compare_resuts (cat, mu, bw, tcase, xran_path, test_cfg, direction)
     
    def parse_dat_file (cat, mu, bw, tcase, xran_path, test_cfg)
     
    def make_copy_mlog (cat, mu, bw, tcase, xran_path)
     
    def run_tcase (cat, mu, bw, tcase, xran_path)
     
    def main ()
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Variables

    list nNumRbsPerSymF1
     
    list nNumRbsPerSymF2
     
    list nRChBwOptions_keys = ['5','10','15','20', '25', '30', '40', '50', '60','70', '80', '90', '100', '200', '400']
     
    list nRChBwOptions_values = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14]
     
     nRChBwOptions = dict(zip(nRChBwOptions_keys, nRChBwOptions_values))
     
    list nRChBwOptions_keys_mu2and3 = ['50', '100', '200', '400']
     
    list nRChBwOptions_values_mu2and3 = [0,1,2,3]
     
     nRChBwOptions_mu2and3 = dict(zip(nRChBwOptions_keys_mu2and3, nRChBwOptions_values_mu2and3))
     
    list all_test_cases
     
     dic_dir = dict({0:'DL', 1:'UL'})
     
     dic_xu = dict({0:'o-du', 1:'o-ru'})
     
     START_TIME = datetime.now()
     
    def res = main()
     
     END_TIME = datetime.now()
     
    +

    Function Documentation

    + +

    ◆ compare_resuts()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    def master.compare_resuts ( cat,
     mu,
     bw,
     tcase,
     xran_path,
     test_cfg,
     direction 
    )
    +
    + +

    Definition at line 123 of file master.py.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + + +
    + +
    +
    + +

    ◆ init_logger()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    def master.init_logger ( console_level,
     logfile_level 
    )
    +
    +
    Initializes console and logfile logger with given logging levels
    +

    Definition at line 80 of file master.py.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + +
    + +
    +
    + +

    ◆ is_comment()

    + +
    +
    + + + + + + + + +
    def master.is_comment ( s)
    +
    +
    function to check if a line
    +     starts with some character.
    +     Here # for comment
    +
    +

    Definition at line 112 of file master.py.

    + +
    +
    + +

    ◆ main()

    + +
    +
    + + + + + + + +
    def master.main ()
    +
    + +

    Definition at line 443 of file master.py.

    +
    +Here is the call graph for this function:
    +
    +
    + + + + + + + + +
    + +
    +
    + +

    ◆ make_copy_mlog()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    def master.make_copy_mlog ( cat,
     mu,
     bw,
     tcase,
     xran_path 
    )
    +
    + +

    Definition at line 306 of file master.py.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + + +
    + +
    +
    + +

    ◆ parse_args()

    + +
    +
    + + + + + + + + +
    def master.parse_args ( args)
    +
    +
    Configures parser and parses command line configuration
    +

    Definition at line 95 of file master.py.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + +
    + +
    +
    + +

    ◆ parse_dat_file()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    def master.parse_dat_file ( cat,
     mu,
     bw,
     tcase,
     xran_path,
     test_cfg 
    )
    +
    + +

    Definition at line 278 of file master.py.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + + +
    + +
    +
    + +

    ◆ run_tcase()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    def master.run_tcase ( cat,
     mu,
     bw,
     tcase,
     xran_path 
    )
    +
    + +

    Definition at line 367 of file master.py.

    +
    +Here is the call graph for this function:
    +
    +
    + + + + + +
    +
    +Here is the caller graph for this function:
    +
    +
    + + + +
    + +
    +
    +

    Variable Documentation

    + +

    ◆ all_test_cases

    + +
    +
    + + + + +
    list all_test_cases
    +
    +Initial value:
    1 = [(0, 0, 5, 0),
    2  (0, 0, 10, 0),
    3  (0, 0, 20, 0),
    4  (0, 1, 100, 0),
    5  (0, 3, 100, 0),
    6  (1, 1, 100, 0)]
    +

    Definition at line 45 of file master.py.

    + +
    +
    + +

    ◆ dic_dir

    + +
    +
    + + + + +
    dic_dir = dict({0:'DL', 1:'UL'})
    +
    + +

    Definition at line 77 of file master.py.

    + +
    +
    + +

    ◆ dic_xu

    + +
    +
    + + + + +
    dic_xu = dict({0:'o-du', 1:'o-ru'})
    +
    + +

    Definition at line 78 of file master.py.

    + +
    +
    + +

    ◆ END_TIME

    + +
    +
    + + + + +
    END_TIME = datetime.now()
    +
    + +

    Definition at line 499 of file master.py.

    + +
    +
    + +

    ◆ nNumRbsPerSymF1

    + +
    +
    + + + + +
    list nNumRbsPerSymF1
    +
    +Initial value:
    1 = [
    2  # 5MHz 10MHz 15MHz 20 MHz 25 MHz 30 MHz 40 MHz 50MHz 60 MHz 70 MHz 80 MHz 90 MHz 100 MHz
    3  [25, 52, 79, 106, 133, 160, 216, 270, 0, 0, 0, 0, 0], # Numerology 0 (15KHz)
    4  [11, 24, 38, 51, 65, 78, 106, 133, 162, 0, 217, 245, 273], # Numerology 1 (30KHz)
    5  [0, 11, 18, 24, 31, 38, 51, 65, 79, 0, 107, 121, 135] # Numerology 2 (60KHz)
    6 ]
    +

    Definition at line 21 of file master.py.

    + +
    +
    + +

    ◆ nNumRbsPerSymF2

    + +
    +
    + + + + +
    list nNumRbsPerSymF2
    +
    +Initial value:
    1 = [
    2  # 50Mhz 100MHz 200MHz 400MHz
    3  [66, 132, 264, 0], # Numerology 2 (60KHz)
    4  [32, 66, 132, 264] # Numerology 3 (120KHz)
    5 ]
    +

    Definition at line 28 of file master.py.

    + +
    +
    + +

    ◆ nRChBwOptions

    + +
    +
    + +

    Definition at line 37 of file master.py.

    + +
    +
    + +

    ◆ nRChBwOptions_keys

    + +
    +
    + + + + +
    list nRChBwOptions_keys = ['5','10','15','20', '25', '30', '40', '50', '60','70', '80', '90', '100', '200', '400']
    +
    + +

    Definition at line 35 of file master.py.

    + +
    +
    + +

    ◆ nRChBwOptions_keys_mu2and3

    + +
    +
    + + + + +
    list nRChBwOptions_keys_mu2and3 = ['50', '100', '200', '400']
    +
    + +

    Definition at line 39 of file master.py.

    + +
    +
    + +

    ◆ nRChBwOptions_mu2and3

    + +
    +
    + + + + +
    nRChBwOptions_mu2and3 = dict(zip(nRChBwOptions_keys_mu2and3, nRChBwOptions_values_mu2and3))
    +
    + +

    Definition at line 41 of file master.py.

    + +
    +
    + +

    ◆ nRChBwOptions_values

    + +
    +
    + + + + +
    list nRChBwOptions_values = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14]
    +
    + +

    Definition at line 36 of file master.py.

    + +
    +
    + +

    ◆ nRChBwOptions_values_mu2and3

    + +
    +
    + + + + +
    list nRChBwOptions_values_mu2and3 = [0,1,2,3]
    +
    + +

    Definition at line 40 of file master.py.

    + +
    +
    + +

    ◆ res

    + +
    +
    + + + + +
    def res = main()
    +
    + +

    Definition at line 498 of file master.py.

    + +
    +
    + +

    ◆ START_TIME

    + +
    +
    + + + + +
    START_TIME = datetime.now()
    +
    + +

    Definition at line 497 of file master.py.

    + +
    +
    +
    + + + + diff --git a/docs/API/namespacemaster_a04bd95e527992baa27396644b17c76e8_icgraph.map b/docs/API/namespacemaster_a04bd95e527992baa27396644b17c76e8_icgraph.map new file mode 100644 index 0000000..e2ae5d9 --- /dev/null +++ b/docs/API/namespacemaster_a04bd95e527992baa27396644b17c76e8_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/namespacemaster_a04bd95e527992baa27396644b17c76e8_icgraph.md5 b/docs/API/namespacemaster_a04bd95e527992baa27396644b17c76e8_icgraph.md5 new file mode 100644 index 0000000..43b260f --- /dev/null +++ b/docs/API/namespacemaster_a04bd95e527992baa27396644b17c76e8_icgraph.md5 @@ -0,0 +1 @@ +eee64503ec73278d92651efd1fcd6455 \ No newline at end of file diff --git a/docs/API/namespacemaster_a04bd95e527992baa27396644b17c76e8_icgraph.png b/docs/API/namespacemaster_a04bd95e527992baa27396644b17c76e8_icgraph.png new file mode 100644 index 0000000..01182dd Binary files /dev/null and b/docs/API/namespacemaster_a04bd95e527992baa27396644b17c76e8_icgraph.png differ diff --git a/docs/API/namespacemaster_a132d8e8f29b5cec353381f127ad4c4ae_icgraph.map b/docs/API/namespacemaster_a132d8e8f29b5cec353381f127ad4c4ae_icgraph.map new file mode 100644 index 0000000..4b46727 --- /dev/null +++ b/docs/API/namespacemaster_a132d8e8f29b5cec353381f127ad4c4ae_icgraph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/namespacemaster_a132d8e8f29b5cec353381f127ad4c4ae_icgraph.md5 b/docs/API/namespacemaster_a132d8e8f29b5cec353381f127ad4c4ae_icgraph.md5 new file mode 100644 index 0000000..baa1734 --- /dev/null +++ b/docs/API/namespacemaster_a132d8e8f29b5cec353381f127ad4c4ae_icgraph.md5 @@ -0,0 +1 @@ +6eb0dfb20718cab3afeac1bf755848e6 \ No newline at end of file diff --git a/docs/API/namespacemaster_a132d8e8f29b5cec353381f127ad4c4ae_icgraph.png b/docs/API/namespacemaster_a132d8e8f29b5cec353381f127ad4c4ae_icgraph.png new file mode 100644 index 0000000..d82ec2d Binary files /dev/null and b/docs/API/namespacemaster_a132d8e8f29b5cec353381f127ad4c4ae_icgraph.png differ diff --git a/docs/API/namespacemaster_a1835cdc0fc647a2c5b5ccf8b5e6e1778_cgraph.map b/docs/API/namespacemaster_a1835cdc0fc647a2c5b5ccf8b5e6e1778_cgraph.map new file mode 100644 index 0000000..8fe15c3 --- /dev/null +++ b/docs/API/namespacemaster_a1835cdc0fc647a2c5b5ccf8b5e6e1778_cgraph.map @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/API/namespacemaster_a1835cdc0fc647a2c5b5ccf8b5e6e1778_cgraph.md5 b/docs/API/namespacemaster_a1835cdc0fc647a2c5b5ccf8b5e6e1778_cgraph.md5 new file mode 100644 index 0000000..dd9f6d1 --- /dev/null +++ b/docs/API/namespacemaster_a1835cdc0fc647a2c5b5ccf8b5e6e1778_cgraph.md5 @@ -0,0 +1 @@ +d36ff2670a2a628e1bcb393ff7343254 \ No newline at end of file diff --git a/docs/API/namespacemaster_a1835cdc0fc647a2c5b5ccf8b5e6e1778_cgraph.png b/docs/API/namespacemaster_a1835cdc0fc647a2c5b5ccf8b5e6e1778_cgraph.png new file mode 100644 index 0000000..5ffa744 Binary files /dev/null and b/docs/API/namespacemaster_a1835cdc0fc647a2c5b5ccf8b5e6e1778_cgraph.png differ diff --git a/docs/API/namespacemaster_a2730ffb83f627670caa12f7595551151_icgraph.map b/docs/API/namespacemaster_a2730ffb83f627670caa12f7595551151_icgraph.map new file mode 100644 index 0000000..6b6fc97 --- /dev/null +++ b/docs/API/namespacemaster_a2730ffb83f627670caa12f7595551151_icgraph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/namespacemaster_a2730ffb83f627670caa12f7595551151_icgraph.md5 b/docs/API/namespacemaster_a2730ffb83f627670caa12f7595551151_icgraph.md5 new file mode 100644 index 0000000..5bc72bb --- /dev/null +++ b/docs/API/namespacemaster_a2730ffb83f627670caa12f7595551151_icgraph.md5 @@ -0,0 +1 @@ +55563168d033a8e6e41056b760267939 \ No newline at end of file diff --git a/docs/API/namespacemaster_a2730ffb83f627670caa12f7595551151_icgraph.png b/docs/API/namespacemaster_a2730ffb83f627670caa12f7595551151_icgraph.png new file mode 100644 index 0000000..1e5ee9b Binary files /dev/null and b/docs/API/namespacemaster_a2730ffb83f627670caa12f7595551151_icgraph.png differ diff --git a/docs/API/namespacemaster_a29041cda44c83caed56c5693ae62c878_icgraph.map b/docs/API/namespacemaster_a29041cda44c83caed56c5693ae62c878_icgraph.map new file mode 100644 index 0000000..9383b17 --- /dev/null +++ b/docs/API/namespacemaster_a29041cda44c83caed56c5693ae62c878_icgraph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/namespacemaster_a29041cda44c83caed56c5693ae62c878_icgraph.md5 b/docs/API/namespacemaster_a29041cda44c83caed56c5693ae62c878_icgraph.md5 new file mode 100644 index 0000000..d087f0f --- /dev/null +++ b/docs/API/namespacemaster_a29041cda44c83caed56c5693ae62c878_icgraph.md5 @@ -0,0 +1 @@ +ec7c95c82d2fe0fd91c5638afcc72599 \ No newline at end of file diff --git a/docs/API/namespacemaster_a29041cda44c83caed56c5693ae62c878_icgraph.png b/docs/API/namespacemaster_a29041cda44c83caed56c5693ae62c878_icgraph.png new file mode 100644 index 0000000..8334b5e Binary files /dev/null and b/docs/API/namespacemaster_a29041cda44c83caed56c5693ae62c878_icgraph.png differ diff --git a/docs/API/namespacemaster_a6ec1b78aa368f25862149fc187d60bfd_icgraph.map b/docs/API/namespacemaster_a6ec1b78aa368f25862149fc187d60bfd_icgraph.map new file mode 100644 index 0000000..4629c88 --- /dev/null +++ b/docs/API/namespacemaster_a6ec1b78aa368f25862149fc187d60bfd_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/namespacemaster_a6ec1b78aa368f25862149fc187d60bfd_icgraph.md5 b/docs/API/namespacemaster_a6ec1b78aa368f25862149fc187d60bfd_icgraph.md5 new file mode 100644 index 0000000..4535f0f --- /dev/null +++ b/docs/API/namespacemaster_a6ec1b78aa368f25862149fc187d60bfd_icgraph.md5 @@ -0,0 +1 @@ +ffedf04c357cfccffd82c06a1e12c3b5 \ No newline at end of file diff --git a/docs/API/namespacemaster_a6ec1b78aa368f25862149fc187d60bfd_icgraph.png b/docs/API/namespacemaster_a6ec1b78aa368f25862149fc187d60bfd_icgraph.png new file mode 100644 index 0000000..1a65871 Binary files /dev/null and b/docs/API/namespacemaster_a6ec1b78aa368f25862149fc187d60bfd_icgraph.png differ diff --git a/docs/API/namespacemaster_ab9aaaee357ffa8fa96b544bd05c1ccb8_cgraph.map b/docs/API/namespacemaster_ab9aaaee357ffa8fa96b544bd05c1ccb8_cgraph.map new file mode 100644 index 0000000..4d3d3a8 --- /dev/null +++ b/docs/API/namespacemaster_ab9aaaee357ffa8fa96b544bd05c1ccb8_cgraph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/API/namespacemaster_ab9aaaee357ffa8fa96b544bd05c1ccb8_cgraph.md5 b/docs/API/namespacemaster_ab9aaaee357ffa8fa96b544bd05c1ccb8_cgraph.md5 new file mode 100644 index 0000000..1392013 --- /dev/null +++ b/docs/API/namespacemaster_ab9aaaee357ffa8fa96b544bd05c1ccb8_cgraph.md5 @@ -0,0 +1 @@ +68b61d5fbc738da265ed3c2370a58b1f \ No newline at end of file diff --git a/docs/API/namespacemaster_ab9aaaee357ffa8fa96b544bd05c1ccb8_cgraph.png b/docs/API/namespacemaster_ab9aaaee357ffa8fa96b544bd05c1ccb8_cgraph.png new file mode 100644 index 0000000..df63d6b Binary files /dev/null and b/docs/API/namespacemaster_ab9aaaee357ffa8fa96b544bd05c1ccb8_cgraph.png differ diff --git a/docs/API/namespacemaster_ab9aaaee357ffa8fa96b544bd05c1ccb8_icgraph.map b/docs/API/namespacemaster_ab9aaaee357ffa8fa96b544bd05c1ccb8_icgraph.map new file mode 100644 index 0000000..a416e72 --- /dev/null +++ b/docs/API/namespacemaster_ab9aaaee357ffa8fa96b544bd05c1ccb8_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/namespacemaster_ab9aaaee357ffa8fa96b544bd05c1ccb8_icgraph.md5 b/docs/API/namespacemaster_ab9aaaee357ffa8fa96b544bd05c1ccb8_icgraph.md5 new file mode 100644 index 0000000..48c5582 --- /dev/null +++ b/docs/API/namespacemaster_ab9aaaee357ffa8fa96b544bd05c1ccb8_icgraph.md5 @@ -0,0 +1 @@ +e07a7d75ca9155aa200be15c4ace8ec4 \ No newline at end of file diff --git a/docs/API/namespacemaster_ab9aaaee357ffa8fa96b544bd05c1ccb8_icgraph.png b/docs/API/namespacemaster_ab9aaaee357ffa8fa96b544bd05c1ccb8_icgraph.png new file mode 100644 index 0000000..234a531 Binary files /dev/null and b/docs/API/namespacemaster_ab9aaaee357ffa8fa96b544bd05c1ccb8_icgraph.png differ diff --git a/docs/API/namespacemembers.html b/docs/API/namespacemembers.html new file mode 100644 index 0000000..1a8d6f7 --- /dev/null +++ b/docs/API/namespacemembers.html @@ -0,0 +1,276 @@ + + + + + + + +o-du/phy: Namespace Members + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + +
    + +
    +
    + + +
    + +
    + +
    +
    Here is a list of all namespace members with links to the namespace documentation for each member:
    + +

    - a -

      +
    • all_test_cases +: master +
    • +
    + + +

    - b -

    + + +

    - c -

      +
    • compare_resuts() +: master +
    • +
    + + +

    - d -

    + + +

    - e -

    + + +

    - f -

    + + +

    - g -

    + + +

    - i -

    + + +

    - j -

    + + +

    - m -

    + + +

    - n -

      +
    • NLOHMANN_JSON_HAS_HELPER() +: nlohmann::detail +
    • +
    • nNumRbsPerSymF1 +: master +
    • +
    • nNumRbsPerSymF2 +: master +
    • +
    • nRChBwOptions +: master +
    • +
    • nRChBwOptions_keys +: master +
    • +
    • nRChBwOptions_keys_mu2and3 +: master +
    • +
    • nRChBwOptions_mu2and3 +: master +
    • +
    • nRChBwOptions_values +: master +
    • +
    • nRChBwOptions_values_mu2and3 +: master +
    • +
    + + +

    - o -

    + + +

    - p -

    + + +

    - r -

    + + +

    - s -

    + + +

    - t -

    + + +

    - u -

    + + +

    - v -

    +
    + + + + diff --git a/docs/API/namespacemembers_enum.html b/docs/API/namespacemembers_enum.html new file mode 100644 index 0000000..b40b41c --- /dev/null +++ b/docs/API/namespacemembers_enum.html @@ -0,0 +1,75 @@ + + + + + + + +o-du/phy: Namespace Members + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + +
    + +
    +
    + + +
    + +
    + +
    +
    + + + + diff --git a/docs/API/namespacemembers_func.html b/docs/API/namespacemembers_func.html new file mode 100644 index 0000000..6325408 --- /dev/null +++ b/docs/API/namespacemembers_func.html @@ -0,0 +1,195 @@ + + + + + + + +o-du/phy: Namespace Members + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + +
    + +
    +
    + + +
    + +
    + +
    +  + +

    - b -

    + + +

    - c -

      +
    • compare_resuts() +: master +
    • +
    + + +

    - f -

    + + +

    - g -

    + + +

    - i -

    + + +

    - m -

    + + +

    - n -

    + + +

    - o -

    + + +

    - p -

    + + +

    - r -

    + + +

    - s -

      +
    • swap() +: std +
    • +
    + + +

    - t -

    +
    + + + + diff --git a/docs/API/namespacemembers_type.html b/docs/API/namespacemembers_type.html new file mode 100644 index 0000000..4d78b03 --- /dev/null +++ b/docs/API/namespacemembers_type.html @@ -0,0 +1,84 @@ + + + + + + + +o-du/phy: Namespace Members + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + +
    + +
    +
    + + +
    + +
    + +
    +
    + + + + diff --git a/docs/API/namespacemembers_vars.html b/docs/API/namespacemembers_vars.html new file mode 100644 index 0000000..506fc09 --- /dev/null +++ b/docs/API/namespacemembers_vars.html @@ -0,0 +1,114 @@ + + + + + + + +o-du/phy: Namespace Members + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + +
    + +
    +
    + + +
    + +
    + +
    +
    + + + + diff --git a/docs/API/namespacenlohmann.html b/docs/API/namespacenlohmann.html new file mode 100644 index 0000000..3d76de2 --- /dev/null +++ b/docs/API/namespacenlohmann.html @@ -0,0 +1,128 @@ + + + + + + + +o-du/phy: nlohmann Namespace Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    nlohmann Namespace Reference
    +
    +
    + +

    namespace for Niels Lohmann +More...

    + + + + + +

    +Namespaces

     detail
     unnamed namespace with internal helper functions
     
    + + + + + + + +

    +Data Structures

    struct  adl_serializer
     default JSONSerializer template argument More...
     
    class  basic_json
     a class to store JSON values More...
     
    + + + + +

    +Typedefs

    using json = basic_json<>
     default JSON class More...
     
    +

    Detailed Description

    +

    namespace for Niels Lohmann

    +
    See also
    https://github.com/nlohmann
    +
    Since
    version 1.0.0
    +

    Typedef Documentation

    + +

    ◆ json

    + +
    +
    + + + + +
    using json = basic_json<>
    +
    + +

    default JSON class

    +

    This type is the default specialization of the basic_json class which uses the standard template types.

    +
    Since
    version 1.0.0
    + +

    Definition at line 12889 of file json.hpp.

    + +
    +
    +
    + + + + diff --git a/docs/API/namespacenlohmann_1_1detail.html b/docs/API/namespacenlohmann_1_1detail.html new file mode 100644 index 0000000..c1b7e1b --- /dev/null +++ b/docs/API/namespacenlohmann_1_1detail.html @@ -0,0 +1,1277 @@ + + + + + + + +o-du/phy: nlohmann::detail Namespace Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    nlohmann::detail Namespace Reference
    +
    +
    + +

    unnamed namespace with internal helper functions +More...

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Data Structures

    struct  conjunction
     
    struct  conjunction< B1 >
     
    struct  conjunction< B1, Bn... >
     
    struct  external_constructor
     
    struct  external_constructor< value_t::array >
     
    struct  external_constructor< value_t::boolean >
     
    struct  external_constructor< value_t::number_float >
     
    struct  external_constructor< value_t::number_integer >
     
    struct  external_constructor< value_t::number_unsigned >
     
    struct  external_constructor< value_t::object >
     
    struct  external_constructor< value_t::string >
     
    struct  from_json_fn
     
    struct  has_from_json
     
    struct  has_non_default_from_json
     
    struct  has_to_json
     
    struct  is_basic_json_nested_type
     
    struct  is_compatible_array_type
     
    struct  is_compatible_integer_type
     
    struct  is_compatible_integer_type_impl
     
    struct  is_compatible_integer_type_impl< true, RealIntegerType, CompatibleNumberIntegerType >
     
    struct  is_compatible_object_type
     
    struct  is_compatible_object_type_impl
     
    struct  is_compatible_object_type_impl< true, RealType, CompatibleObjectType >
     
    struct  negation
     
    struct  priority_tag
     
    struct  priority_tag< 0 >
     
    struct  static_const
     
    struct  to_json_fn
     
    + + + + + + + + + + +

    +Typedefs

    template<bool B, typename T = void>
    using enable_if_t = typename std::enable_if< B, T >::type
     
    template<typename T >
    using uncvref_t = typename std::remove_cv< typename std::remove_reference< T >::type >::type
     
    template<typename T >
    using is_unscoped_enum = std::integral_constant< bool, std::is_convertible< T, int >::value and std::is_enum< T >::value >
     
    + + + + +

    +Enumerations

    enum  value_t : uint8_t {
    +  null, +object, +array, +string, +
    +  boolean, +number_integer, +number_unsigned, +number_float, +
    +  discarded +
    + }
     the JSON type enumeration More...
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Functions

    bool operator< (const value_t lhs, const value_t rhs) noexcept
     comparison operator for JSON types More...
     
     NLOHMANN_JSON_HAS_HELPER (mapped_type)
     
     NLOHMANN_JSON_HAS_HELPER (key_type)
     
     NLOHMANN_JSON_HAS_HELPER (value_type)
     
     NLOHMANN_JSON_HAS_HELPER (iterator)
     
    template<typename BasicJsonType , typename T , enable_if_t< std::is_same< T, typename BasicJsonType::boolean_t >::value, int > = 0>
    void to_json (BasicJsonType &j, T b) noexcept
     
    template<typename BasicJsonType , typename CompatibleString , enable_if_t< std::is_constructible< typename BasicJsonType::string_t, CompatibleString >::value, int > = 0>
    void to_json (BasicJsonType &j, const CompatibleString &s)
     
    template<typename BasicJsonType , typename FloatType , enable_if_t< std::is_floating_point< FloatType >::value, int > = 0>
    void to_json (BasicJsonType &j, FloatType val) noexcept
     
    template<typename BasicJsonType , typename CompatibleNumberUnsignedType , enable_if_t< is_compatible_integer_type< typename BasicJsonType::number_unsigned_t, CompatibleNumberUnsignedType >::value, int > = 0>
    void to_json (BasicJsonType &j, CompatibleNumberUnsignedType val) noexcept
     
    template<typename BasicJsonType , typename CompatibleNumberIntegerType , enable_if_t< is_compatible_integer_type< typename BasicJsonType::number_integer_t, CompatibleNumberIntegerType >::value, int > = 0>
    void to_json (BasicJsonType &j, CompatibleNumberIntegerType val) noexcept
     
    template<typename BasicJsonType , typename UnscopedEnumType , enable_if_t< is_unscoped_enum< UnscopedEnumType >::value, int > = 0>
    void to_json (BasicJsonType &j, UnscopedEnumType e) noexcept
     
    template<typename BasicJsonType , typename CompatibleArrayType , enable_if_t< is_compatible_array_type< BasicJsonType, CompatibleArrayType >::value or std::is_same< typename BasicJsonType::array_t, CompatibleArrayType >::value, int > = 0>
    void to_json (BasicJsonType &j, const CompatibleArrayType &arr)
     
    template<typename BasicJsonType , typename CompatibleObjectType , enable_if_t< is_compatible_object_type< BasicJsonType, CompatibleObjectType >::value, int > = 0>
    void to_json (BasicJsonType &j, const CompatibleObjectType &arr)
     
    template<typename BasicJsonType , typename ArithmeticType , enable_if_t< std::is_arithmetic< ArithmeticType >::value and not std::is_same< ArithmeticType, typename BasicJsonType::boolean_t >::value, int > = 0>
    void get_arithmetic_value (const BasicJsonType &j, ArithmeticType &val)
     
    template<typename BasicJsonType >
    void from_json (const BasicJsonType &j, typename BasicJsonType::boolean_t &b)
     
    template<typename BasicJsonType >
    void from_json (const BasicJsonType &j, typename BasicJsonType::string_t &s)
     
    template<typename BasicJsonType >
    void from_json (const BasicJsonType &j, typename BasicJsonType::number_float_t &val)
     
    template<typename BasicJsonType >
    void from_json (const BasicJsonType &j, typename BasicJsonType::number_unsigned_t &val)
     
    template<typename BasicJsonType >
    void from_json (const BasicJsonType &j, typename BasicJsonType::number_integer_t &val)
     
    template<typename BasicJsonType , typename UnscopedEnumType , enable_if_t< is_unscoped_enum< UnscopedEnumType >::value, int > = 0>
    void from_json (const BasicJsonType &j, UnscopedEnumType &e)
     
    template<typename BasicJsonType >
    void from_json (const BasicJsonType &j, typename BasicJsonType::array_t &arr)
     
    template<typename BasicJsonType , typename T , typename Allocator >
    void from_json (const BasicJsonType &j, std::forward_list< T, Allocator > &l)
     
    template<typename BasicJsonType , typename CompatibleArrayType >
    void from_json_array_impl (const BasicJsonType &j, CompatibleArrayType &arr, priority_tag< 0 >)
     
    template<typename BasicJsonType , typename CompatibleArrayType >
    auto from_json_array_impl (const BasicJsonType &j, CompatibleArrayType &arr, priority_tag< 1 >) -> decltype(arr.reserve(std::declval< typename CompatibleArrayType::size_type >()), void())
     
    template<typename BasicJsonType , typename CompatibleArrayType , enable_if_t< is_compatible_array_type< BasicJsonType, CompatibleArrayType >::value and not std::is_same< typename BasicJsonType::array_t, CompatibleArrayType >::value, int > = 0>
    void from_json (const BasicJsonType &j, CompatibleArrayType &arr)
     
    template<typename BasicJsonType , typename CompatibleObjectType , enable_if_t< is_compatible_object_type< BasicJsonType, CompatibleObjectType >::value, int > = 0>
    void from_json (const BasicJsonType &j, CompatibleObjectType &obj)
     
    template<typename BasicJsonType , typename ArithmeticType , enable_if_t< std::is_arithmetic< ArithmeticType >::value and not std::is_same< ArithmeticType, typename BasicJsonType::number_unsigned_t >::value and not std::is_same< ArithmeticType, typename BasicJsonType::number_integer_t >::value and not std::is_same< ArithmeticType, typename BasicJsonType::number_float_t >::value and not std::is_same< ArithmeticType, typename BasicJsonType::boolean_t >::value, int > = 0>
    void from_json (const BasicJsonType &j, ArithmeticType &val)
     
    +

    Detailed Description

    +

    unnamed namespace with internal helper functions

    +

    This namespace collects some functions that could not be defined inside the basic_json class.

    +
    Since
    version 2.1.0
    +

    Typedef Documentation

    + +

    ◆ enable_if_t

    + +
    +
    + + + + +
    using enable_if_t = typename std::enable_if<B, T>::type
    +
    + +

    Definition at line 179 of file json.hpp.

    + +
    +
    + +

    ◆ is_unscoped_enum

    + +
    +
    + + + + +
    using is_unscoped_enum = std::integral_constant<bool, std::is_convertible<T, int>::value and std::is_enum<T>::value>
    +
    + +

    Definition at line 188 of file json.hpp.

    + +
    +
    + +

    ◆ uncvref_t

    + +
    +
    + + + + +
    using uncvref_t = typename std::remove_cv<typename std::remove_reference<T>::type>::type
    +
    + +

    Definition at line 182 of file json.hpp.

    + +
    +
    +

    Enumeration Type Documentation

    + +

    ◆ value_t

    + +
    +
    + + + + + +
    + + + + +
    enum value_t : uint8_t
    +
    +strong
    +
    + +

    the JSON type enumeration

    +

    This enumeration collects the different JSON types. It is internally used to distinguish the stored values, and the functions basic_json::is_null(), basic_json::is_object(), basic_json::is_array(), basic_json::is_string(), basic_json::is_boolean(), basic_json::is_number() (with basic_json::is_number_integer(), basic_json::is_number_unsigned(), and basic_json::is_number_float()), basic_json::is_discarded(), basic_json::is_primitive(), and basic_json::is_structured() rely on it.

    +
    Note
    There are three enumeration entries (number_integer, number_unsigned, and number_float), because the library distinguishes these three types for numbers: basic_json::number_unsigned_t is used for unsigned integers, basic_json::number_integer_t is used for signed integers, and basic_json::number_float_t is used for floating-point numbers or to approximate integers which do not fit in the limits of their respective type.
    +
    See also
    basic_json::basic_json(const value_t value_type) – create a JSON value with the default value for a given type
    +
    Since
    version 1.0.0
    + + + + + + + + + + +
    Enumerator
    null 

    null value

    +
    object 

    object (unordered set of name/value pairs)

    +
    array 

    array (ordered collection of values)

    +
    string 

    string value

    +
    boolean 

    boolean value

    +
    number_integer 

    number value (signed integer)

    +
    number_unsigned 

    number value (unsigned integer)

    +
    number_float 

    number value (floating-point)

    +
    discarded 

    discarded by the the parser callback function

    +
    + +

    Definition at line 126 of file json.hpp.

    + +
    +
    +

    Function Documentation

    + +

    ◆ from_json() [1/11]

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void nlohmann::detail::from_json (const BasicJsonType & j,
    typename BasicJsonType::boolean_t & b 
    )
    +
    + +

    Definition at line 612 of file json.hpp.

    + +
    +
    + +

    ◆ from_json() [2/11]

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void nlohmann::detail::from_json (const BasicJsonType & j,
    typename BasicJsonType::string_t & s 
    )
    +
    + +

    Definition at line 622 of file json.hpp.

    + +
    +
    + +

    ◆ from_json() [3/11]

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void nlohmann::detail::from_json (const BasicJsonType & j,
    typename BasicJsonType::number_float_t & val 
    )
    +
    + +

    Definition at line 632 of file json.hpp.

    +
    +Here is the call graph for this function:
    +
    +
    + + + +
    + +
    +
    + +

    ◆ from_json() [4/11]

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void nlohmann::detail::from_json (const BasicJsonType & j,
    typename BasicJsonType::number_unsigned_t & val 
    )
    +
    + +

    Definition at line 638 of file json.hpp.

    +
    +Here is the call graph for this function:
    +
    +
    + + + +
    + +
    +
    + +

    ◆ from_json() [5/11]

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void nlohmann::detail::from_json (const BasicJsonType & j,
    typename BasicJsonType::number_integer_t & val 
    )
    +
    + +

    Definition at line 644 of file json.hpp.

    +
    +Here is the call graph for this function:
    +
    +
    + + + +
    + +
    +
    + +

    ◆ from_json() [6/11]

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void nlohmann::detail::from_json (const BasicJsonType & j,
    UnscopedEnumType & e 
    )
    +
    + +

    Definition at line 651 of file json.hpp.

    +
    +Here is the call graph for this function:
    +
    +
    + + + +
    + +
    +
    + +

    ◆ from_json() [7/11]

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void nlohmann::detail::from_json (const BasicJsonType & j,
    typename BasicJsonType::array_t & arr 
    )
    +
    + +

    Definition at line 659 of file json.hpp.

    + +
    +
    + +

    ◆ from_json() [8/11]

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void nlohmann::detail::from_json (const BasicJsonType & j,
    std::forward_list< T, Allocator > & l 
    )
    +
    + +

    Definition at line 670 of file json.hpp.

    + +
    +
    + +

    ◆ from_json() [9/11]

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void nlohmann::detail::from_json (const BasicJsonType & j,
    CompatibleArrayType & arr 
    )
    +
    + +

    Definition at line 728 of file json.hpp.

    +
    +Here is the call graph for this function:
    +
    +
    + + + +
    + +
    +
    + +

    ◆ from_json() [10/11]

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void nlohmann::detail::from_json (const BasicJsonType & j,
    CompatibleObjectType & obj 
    )
    +
    + +

    Definition at line 748 of file json.hpp.

    + +
    +
    + +

    ◆ from_json() [11/11]

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void nlohmann::detail::from_json (const BasicJsonType & j,
    ArithmeticType & val 
    )
    +
    + +

    Definition at line 776 of file json.hpp.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + + +
    + +
    +
    + +

    ◆ from_json_array_impl() [1/2]

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    void nlohmann::detail::from_json_array_impl (const BasicJsonType & j,
    CompatibleArrayType & arr,
    priority_tag< 0 >  
    )
    +
    + +

    Definition at line 692 of file json.hpp.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + +
    + +
    +
    + +

    ◆ from_json_array_impl() [2/2]

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    auto nlohmann::detail::from_json_array_impl (const BasicJsonType & j,
    CompatibleArrayType & arr,
    priority_tag< 1 >  
    ) -> decltype( + arr.reserve(std::declval<typename CompatibleArrayType::size_type>()), + void()) +
    +
    + +

    Definition at line 707 of file json.hpp.

    + +
    +
    + +

    ◆ get_arithmetic_value()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void nlohmann::detail::get_arithmetic_value (const BasicJsonType & j,
    ArithmeticType & val 
    )
    +
    + +

    Definition at line 581 of file json.hpp.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + +
    + +
    +
    + +

    ◆ NLOHMANN_JSON_HAS_HELPER() [1/4]

    + +
    +
    + + + + + + + + +
    nlohmann::detail::NLOHMANN_JSON_HAS_HELPER (mapped_type )
    +
    + +
    +
    + +

    ◆ NLOHMANN_JSON_HAS_HELPER() [2/4]

    + +
    +
    + + + + + + + + +
    nlohmann::detail::NLOHMANN_JSON_HAS_HELPER (key_type )
    +
    + +
    +
    + +

    ◆ NLOHMANN_JSON_HAS_HELPER() [3/4]

    + +
    +
    + + + + + + + + +
    nlohmann::detail::NLOHMANN_JSON_HAS_HELPER (value_type )
    +
    + +
    +
    + +

    ◆ NLOHMANN_JSON_HAS_HELPER() [4/4]

    + +
    +
    + + + + + + + + +
    nlohmann::detail::NLOHMANN_JSON_HAS_HELPER (iterator )
    +
    + +
    +
    + +

    ◆ operator<()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    bool nlohmann::detail::operator< (const value_t lhs,
    const value_t rhs 
    )
    +
    +inlinenoexcept
    +
    + +

    comparison operator for JSON types

    +

    Returns an ordering that is similar to Python:

      +
    • order: null < boolean < number < object < array < string
    • +
    • furthermore, each type is not smaller than itself
    • +
    +
    Since
    version 1.0.0
    + +

    Definition at line 148 of file json.hpp.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + + +
    + +
    +
    + +

    ◆ to_json() [1/8]

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    void nlohmann::detail::to_json (BasicJsonType & j,
    b 
    )
    +
    +noexcept
    +
    + +

    Definition at line 505 of file json.hpp.

    + +
    +
    + +

    ◆ to_json() [2/8]

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void nlohmann::detail::to_json (BasicJsonType & j,
    const CompatibleString & s 
    )
    +
    + +

    Definition at line 513 of file json.hpp.

    + +
    +
    + +

    ◆ to_json() [3/8]

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    void nlohmann::detail::to_json (BasicJsonType & j,
    FloatType val 
    )
    +
    +noexcept
    +
    + +

    Definition at line 520 of file json.hpp.

    + +
    +
    + +

    ◆ to_json() [4/8]

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    void nlohmann::detail::to_json (BasicJsonType & j,
    CompatibleNumberUnsignedType val 
    )
    +
    +noexcept
    +
    + +

    Definition at line 529 of file json.hpp.

    + +
    +
    + +

    ◆ to_json() [5/8]

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    void nlohmann::detail::to_json (BasicJsonType & j,
    CompatibleNumberIntegerType val 
    )
    +
    +noexcept
    +
    + +

    Definition at line 538 of file json.hpp.

    + +
    +
    + +

    ◆ to_json() [6/8]

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    void nlohmann::detail::to_json (BasicJsonType & j,
    UnscopedEnumType e 
    )
    +
    +noexcept
    +
    + +

    Definition at line 545 of file json.hpp.

    + +
    +
    + +

    ◆ to_json() [7/8]

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void nlohmann::detail::to_json (BasicJsonType & j,
    const CompatibleArrayType & arr 
    )
    +
    + +

    Definition at line 556 of file json.hpp.

    + +
    +
    + +

    ◆ to_json() [8/8]

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void nlohmann::detail::to_json (BasicJsonType & j,
    const CompatibleObjectType & arr 
    )
    +
    + +

    Definition at line 565 of file json.hpp.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + + +
    + +
    +
    +
    + + + + diff --git a/docs/API/namespacenlohmann_1_1detail_a047d881e611fcac709dc318f730a1732_cgraph.map b/docs/API/namespacenlohmann_1_1detail_a047d881e611fcac709dc318f730a1732_cgraph.map new file mode 100644 index 0000000..c414cc7 --- /dev/null +++ b/docs/API/namespacenlohmann_1_1detail_a047d881e611fcac709dc318f730a1732_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/namespacenlohmann_1_1detail_a047d881e611fcac709dc318f730a1732_cgraph.md5 b/docs/API/namespacenlohmann_1_1detail_a047d881e611fcac709dc318f730a1732_cgraph.md5 new file mode 100644 index 0000000..cf50209 --- /dev/null +++ b/docs/API/namespacenlohmann_1_1detail_a047d881e611fcac709dc318f730a1732_cgraph.md5 @@ -0,0 +1 @@ +29f88276f82e27b5af0bac831913774d \ No newline at end of file diff --git a/docs/API/namespacenlohmann_1_1detail_a047d881e611fcac709dc318f730a1732_cgraph.png b/docs/API/namespacenlohmann_1_1detail_a047d881e611fcac709dc318f730a1732_cgraph.png new file mode 100644 index 0000000..21bc190 Binary files /dev/null and b/docs/API/namespacenlohmann_1_1detail_a047d881e611fcac709dc318f730a1732_cgraph.png differ diff --git a/docs/API/namespacenlohmann_1_1detail_a09169efff3bd1771fff29bd92cea19e0_icgraph.map b/docs/API/namespacenlohmann_1_1detail_a09169efff3bd1771fff29bd92cea19e0_icgraph.map new file mode 100644 index 0000000..97d6081 --- /dev/null +++ b/docs/API/namespacenlohmann_1_1detail_a09169efff3bd1771fff29bd92cea19e0_icgraph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/namespacenlohmann_1_1detail_a09169efff3bd1771fff29bd92cea19e0_icgraph.md5 b/docs/API/namespacenlohmann_1_1detail_a09169efff3bd1771fff29bd92cea19e0_icgraph.md5 new file mode 100644 index 0000000..492ec06 --- /dev/null +++ b/docs/API/namespacenlohmann_1_1detail_a09169efff3bd1771fff29bd92cea19e0_icgraph.md5 @@ -0,0 +1 @@ +2b1c1a487587deceb7fb6546eeae811b \ No newline at end of file diff --git a/docs/API/namespacenlohmann_1_1detail_a09169efff3bd1771fff29bd92cea19e0_icgraph.png b/docs/API/namespacenlohmann_1_1detail_a09169efff3bd1771fff29bd92cea19e0_icgraph.png new file mode 100644 index 0000000..fe8378f Binary files /dev/null and b/docs/API/namespacenlohmann_1_1detail_a09169efff3bd1771fff29bd92cea19e0_icgraph.png differ diff --git a/docs/API/namespacenlohmann_1_1detail_a6fa2f784014bfc0b62d7a35d51e676c9_icgraph.map b/docs/API/namespacenlohmann_1_1detail_a6fa2f784014bfc0b62d7a35d51e676c9_icgraph.map new file mode 100644 index 0000000..17d6747 --- /dev/null +++ b/docs/API/namespacenlohmann_1_1detail_a6fa2f784014bfc0b62d7a35d51e676c9_icgraph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/namespacenlohmann_1_1detail_a6fa2f784014bfc0b62d7a35d51e676c9_icgraph.md5 b/docs/API/namespacenlohmann_1_1detail_a6fa2f784014bfc0b62d7a35d51e676c9_icgraph.md5 new file mode 100644 index 0000000..267ac86 --- /dev/null +++ b/docs/API/namespacenlohmann_1_1detail_a6fa2f784014bfc0b62d7a35d51e676c9_icgraph.md5 @@ -0,0 +1 @@ +657f5b3d563d0a647713c9364eb239c4 \ No newline at end of file diff --git a/docs/API/namespacenlohmann_1_1detail_a6fa2f784014bfc0b62d7a35d51e676c9_icgraph.png b/docs/API/namespacenlohmann_1_1detail_a6fa2f784014bfc0b62d7a35d51e676c9_icgraph.png new file mode 100644 index 0000000..de5178e Binary files /dev/null and b/docs/API/namespacenlohmann_1_1detail_a6fa2f784014bfc0b62d7a35d51e676c9_icgraph.png differ diff --git a/docs/API/namespacenlohmann_1_1detail_a7cb5dd7d46a60e65f9a8e0873b3f7dd8_cgraph.map b/docs/API/namespacenlohmann_1_1detail_a7cb5dd7d46a60e65f9a8e0873b3f7dd8_cgraph.map new file mode 100644 index 0000000..c414cc7 --- /dev/null +++ b/docs/API/namespacenlohmann_1_1detail_a7cb5dd7d46a60e65f9a8e0873b3f7dd8_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/namespacenlohmann_1_1detail_a7cb5dd7d46a60e65f9a8e0873b3f7dd8_cgraph.md5 b/docs/API/namespacenlohmann_1_1detail_a7cb5dd7d46a60e65f9a8e0873b3f7dd8_cgraph.md5 new file mode 100644 index 0000000..05298ea --- /dev/null +++ b/docs/API/namespacenlohmann_1_1detail_a7cb5dd7d46a60e65f9a8e0873b3f7dd8_cgraph.md5 @@ -0,0 +1 @@ +01cf83f403d3f436c2b10e29be5f21e9 \ No newline at end of file diff --git a/docs/API/namespacenlohmann_1_1detail_a7cb5dd7d46a60e65f9a8e0873b3f7dd8_cgraph.png b/docs/API/namespacenlohmann_1_1detail_a7cb5dd7d46a60e65f9a8e0873b3f7dd8_cgraph.png new file mode 100644 index 0000000..21bc190 Binary files /dev/null and b/docs/API/namespacenlohmann_1_1detail_a7cb5dd7d46a60e65f9a8e0873b3f7dd8_cgraph.png differ diff --git a/docs/API/namespacenlohmann_1_1detail_a839b0ab50d2c9bce669068f56bc41202_icgraph.map b/docs/API/namespacenlohmann_1_1detail_a839b0ab50d2c9bce669068f56bc41202_icgraph.map new file mode 100644 index 0000000..93ea0f1 --- /dev/null +++ b/docs/API/namespacenlohmann_1_1detail_a839b0ab50d2c9bce669068f56bc41202_icgraph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/namespacenlohmann_1_1detail_a839b0ab50d2c9bce669068f56bc41202_icgraph.md5 b/docs/API/namespacenlohmann_1_1detail_a839b0ab50d2c9bce669068f56bc41202_icgraph.md5 new file mode 100644 index 0000000..5a018ba --- /dev/null +++ b/docs/API/namespacenlohmann_1_1detail_a839b0ab50d2c9bce669068f56bc41202_icgraph.md5 @@ -0,0 +1 @@ +27471ed6c4507fea213f5192c46d8688 \ No newline at end of file diff --git a/docs/API/namespacenlohmann_1_1detail_a839b0ab50d2c9bce669068f56bc41202_icgraph.png b/docs/API/namespacenlohmann_1_1detail_a839b0ab50d2c9bce669068f56bc41202_icgraph.png new file mode 100644 index 0000000..6df8d24 Binary files /dev/null and b/docs/API/namespacenlohmann_1_1detail_a839b0ab50d2c9bce669068f56bc41202_icgraph.png differ diff --git a/docs/API/namespacenlohmann_1_1detail_a85955b9c6dd31846e4b8e891f78614b6_icgraph.map b/docs/API/namespacenlohmann_1_1detail_a85955b9c6dd31846e4b8e891f78614b6_icgraph.map new file mode 100644 index 0000000..08b6ab9 --- /dev/null +++ b/docs/API/namespacenlohmann_1_1detail_a85955b9c6dd31846e4b8e891f78614b6_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/namespacenlohmann_1_1detail_a85955b9c6dd31846e4b8e891f78614b6_icgraph.md5 b/docs/API/namespacenlohmann_1_1detail_a85955b9c6dd31846e4b8e891f78614b6_icgraph.md5 new file mode 100644 index 0000000..fb91910 --- /dev/null +++ b/docs/API/namespacenlohmann_1_1detail_a85955b9c6dd31846e4b8e891f78614b6_icgraph.md5 @@ -0,0 +1 @@ +3e0536437e665c9ccd6ef5ad8043a35c \ No newline at end of file diff --git a/docs/API/namespacenlohmann_1_1detail_a85955b9c6dd31846e4b8e891f78614b6_icgraph.png b/docs/API/namespacenlohmann_1_1detail_a85955b9c6dd31846e4b8e891f78614b6_icgraph.png new file mode 100644 index 0000000..012ba38 Binary files /dev/null and b/docs/API/namespacenlohmann_1_1detail_a85955b9c6dd31846e4b8e891f78614b6_icgraph.png differ diff --git a/docs/API/namespacenlohmann_1_1detail_a8dcac00852dbe1f61d1e78135b19d428_cgraph.map b/docs/API/namespacenlohmann_1_1detail_a8dcac00852dbe1f61d1e78135b19d428_cgraph.map new file mode 100644 index 0000000..db92d4e --- /dev/null +++ b/docs/API/namespacenlohmann_1_1detail_a8dcac00852dbe1f61d1e78135b19d428_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/namespacenlohmann_1_1detail_a8dcac00852dbe1f61d1e78135b19d428_cgraph.md5 b/docs/API/namespacenlohmann_1_1detail_a8dcac00852dbe1f61d1e78135b19d428_cgraph.md5 new file mode 100644 index 0000000..aa99929 --- /dev/null +++ b/docs/API/namespacenlohmann_1_1detail_a8dcac00852dbe1f61d1e78135b19d428_cgraph.md5 @@ -0,0 +1 @@ +ac4d2b1115dba8edcb5307d570a62512 \ No newline at end of file diff --git a/docs/API/namespacenlohmann_1_1detail_a8dcac00852dbe1f61d1e78135b19d428_cgraph.png b/docs/API/namespacenlohmann_1_1detail_a8dcac00852dbe1f61d1e78135b19d428_cgraph.png new file mode 100644 index 0000000..6021e47 Binary files /dev/null and b/docs/API/namespacenlohmann_1_1detail_a8dcac00852dbe1f61d1e78135b19d428_cgraph.png differ diff --git a/docs/API/namespacenlohmann_1_1detail_ac53673a5ce29fb69b96d41dad33cb3b0_icgraph.map b/docs/API/namespacenlohmann_1_1detail_ac53673a5ce29fb69b96d41dad33cb3b0_icgraph.map new file mode 100644 index 0000000..6b86bba --- /dev/null +++ b/docs/API/namespacenlohmann_1_1detail_ac53673a5ce29fb69b96d41dad33cb3b0_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/namespacenlohmann_1_1detail_ac53673a5ce29fb69b96d41dad33cb3b0_icgraph.md5 b/docs/API/namespacenlohmann_1_1detail_ac53673a5ce29fb69b96d41dad33cb3b0_icgraph.md5 new file mode 100644 index 0000000..ff4433c --- /dev/null +++ b/docs/API/namespacenlohmann_1_1detail_ac53673a5ce29fb69b96d41dad33cb3b0_icgraph.md5 @@ -0,0 +1 @@ +896abb2d7369661432eace7a90c1a3d8 \ No newline at end of file diff --git a/docs/API/namespacenlohmann_1_1detail_ac53673a5ce29fb69b96d41dad33cb3b0_icgraph.png b/docs/API/namespacenlohmann_1_1detail_ac53673a5ce29fb69b96d41dad33cb3b0_icgraph.png new file mode 100644 index 0000000..0517d8a Binary files /dev/null and b/docs/API/namespacenlohmann_1_1detail_ac53673a5ce29fb69b96d41dad33cb3b0_icgraph.png differ diff --git a/docs/API/namespacenlohmann_1_1detail_ace4d5680ba413d9fd897ccb5d9c61a1c_cgraph.map b/docs/API/namespacenlohmann_1_1detail_ace4d5680ba413d9fd897ccb5d9c61a1c_cgraph.map new file mode 100644 index 0000000..c414cc7 --- /dev/null +++ b/docs/API/namespacenlohmann_1_1detail_ace4d5680ba413d9fd897ccb5d9c61a1c_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/namespacenlohmann_1_1detail_ace4d5680ba413d9fd897ccb5d9c61a1c_cgraph.md5 b/docs/API/namespacenlohmann_1_1detail_ace4d5680ba413d9fd897ccb5d9c61a1c_cgraph.md5 new file mode 100644 index 0000000..2da1121 --- /dev/null +++ b/docs/API/namespacenlohmann_1_1detail_ace4d5680ba413d9fd897ccb5d9c61a1c_cgraph.md5 @@ -0,0 +1 @@ +02d0c8aa1abf857cb202b1df242e10c2 \ No newline at end of file diff --git a/docs/API/namespacenlohmann_1_1detail_ace4d5680ba413d9fd897ccb5d9c61a1c_cgraph.png b/docs/API/namespacenlohmann_1_1detail_ace4d5680ba413d9fd897ccb5d9c61a1c_cgraph.png new file mode 100644 index 0000000..21bc190 Binary files /dev/null and b/docs/API/namespacenlohmann_1_1detail_ace4d5680ba413d9fd897ccb5d9c61a1c_cgraph.png differ diff --git a/docs/API/namespacenlohmann_1_1detail_acf8dd944c2c7455880dee6f0b355aa01_cgraph.map b/docs/API/namespacenlohmann_1_1detail_acf8dd944c2c7455880dee6f0b355aa01_cgraph.map new file mode 100644 index 0000000..c414cc7 --- /dev/null +++ b/docs/API/namespacenlohmann_1_1detail_acf8dd944c2c7455880dee6f0b355aa01_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/namespacenlohmann_1_1detail_acf8dd944c2c7455880dee6f0b355aa01_cgraph.md5 b/docs/API/namespacenlohmann_1_1detail_acf8dd944c2c7455880dee6f0b355aa01_cgraph.md5 new file mode 100644 index 0000000..2e10d4a --- /dev/null +++ b/docs/API/namespacenlohmann_1_1detail_acf8dd944c2c7455880dee6f0b355aa01_cgraph.md5 @@ -0,0 +1 @@ +eff0b2f7aba626b81ad2baee86d390fb \ No newline at end of file diff --git a/docs/API/namespacenlohmann_1_1detail_acf8dd944c2c7455880dee6f0b355aa01_cgraph.png b/docs/API/namespacenlohmann_1_1detail_acf8dd944c2c7455880dee6f0b355aa01_cgraph.png new file mode 100644 index 0000000..21bc190 Binary files /dev/null and b/docs/API/namespacenlohmann_1_1detail_acf8dd944c2c7455880dee6f0b355aa01_cgraph.png differ diff --git a/docs/API/namespaces.html b/docs/API/namespaces.html new file mode 100644 index 0000000..96ed3cc --- /dev/null +++ b/docs/API/namespaces.html @@ -0,0 +1,84 @@ + + + + + + + +o-du/phy: Namespace List + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    Namespace List
    +
    +
    +
    Here is a list of all namespaces with brief descriptions:
    +
    [detail level 12]
    + + + + + + +
     NBlockFloatCompander
     NBlockFloatCompanderBFW
     Nmaster
     NnlohmannNamespace for Niels Lohmann
     NdetailUnnamed namespace with internal helper functions
     Nstd
    +
    +
    + + + + diff --git a/docs/API/namespacestd.html b/docs/API/namespacestd.html new file mode 100644 index 0000000..d2ff7df --- /dev/null +++ b/docs/API/namespacestd.html @@ -0,0 +1,143 @@ + + + + + + + +o-du/phy: std Namespace Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    std Namespace Reference
    +
    +
    + + + + + +

    +Data Structures

    struct  hash< nlohmann::json >
     hash value for JSON objects More...
     
    + + + + + +

    +Functions

    template<>
    void swap (nlohmann::json &j1, nlohmann::json &j2) noexcept(is_nothrow_move_constructible< nlohmann::json >::value and is_nothrow_move_assignable< nlohmann::json >::value)
     exchanges the values of two JSON objects More...
     
    +

    Function Documentation

    + +

    ◆ swap()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    void std::swap (nlohmann::jsonj1,
    nlohmann::jsonj2 
    )
    +
    +inlinenoexcept
    +
    + +

    exchanges the values of two JSON objects

    +
    Since
    version 1.0.0
    + +

    Definition at line 12906 of file json.hpp.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + +
    + +
    +
    +
    + + + + diff --git a/docs/API/namespacestd_a907191b7578e209391ce938e3b2afdf7_icgraph.map b/docs/API/namespacestd_a907191b7578e209391ce938e3b2afdf7_icgraph.map new file mode 100644 index 0000000..cdba614 --- /dev/null +++ b/docs/API/namespacestd_a907191b7578e209391ce938e3b2afdf7_icgraph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/API/namespacestd_a907191b7578e209391ce938e3b2afdf7_icgraph.md5 b/docs/API/namespacestd_a907191b7578e209391ce938e3b2afdf7_icgraph.md5 new file mode 100644 index 0000000..a61aff5 --- /dev/null +++ b/docs/API/namespacestd_a907191b7578e209391ce938e3b2afdf7_icgraph.md5 @@ -0,0 +1 @@ +e5fd8ce9d915e5a01eb1062465a6a773 \ No newline at end of file diff --git a/docs/API/namespacestd_a907191b7578e209391ce938e3b2afdf7_icgraph.png b/docs/API/namespacestd_a907191b7578e209391ce938e3b2afdf7_icgraph.png new file mode 100644 index 0000000..8f253c5 Binary files /dev/null and b/docs/API/namespacestd_a907191b7578e209391ce938e3b2afdf7_icgraph.png differ diff --git a/docs/API/nav_f.png b/docs/API/nav_f.png new file mode 100644 index 0000000..72a58a5 Binary files /dev/null and b/docs/API/nav_f.png differ diff --git a/docs/API/nav_g.png b/docs/API/nav_g.png new file mode 100644 index 0000000..2093a23 Binary files /dev/null and b/docs/API/nav_g.png differ diff --git a/docs/API/nav_h.png b/docs/API/nav_h.png new file mode 100644 index 0000000..33389b1 Binary files /dev/null and b/docs/API/nav_h.png differ diff --git a/docs/API/open.png b/docs/API/open.png new file mode 100644 index 0000000..30f75c7 Binary files /dev/null and b/docs/API/open.png differ diff --git a/docs/API/pages.html b/docs/API/pages.html new file mode 100644 index 0000000..0af17da --- /dev/null +++ b/docs/API/pages.html @@ -0,0 +1,79 @@ + + + + + + + +o-du/phy: Related Pages + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    Related Pages
    +
    +
    +
    Here is a list of all related documentation pages:
    + + +
     Deprecated List
    +
    +
    + + + + diff --git a/docs/API/prach__functional_8cc.html b/docs/API/prach__functional_8cc.html new file mode 100644 index 0000000..b896672 --- /dev/null +++ b/docs/API/prach__functional_8cc.html @@ -0,0 +1,258 @@ + + + + + + + +o-du/phy: prach_functional.cc File Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    prach_functional.cc File Reference
    +
    +
    +
    #include "common.hpp"
    +#include "xran_common.h"
    +#include "xran_fh_o_du.h"
    +#include "ethernet.h"
    +#include "xran_transport.h"
    +#include "xran_cp_api.h"
    +#include <stdint.h>
    +
    +Include dependency graph for prach_functional.cc:
    +
    +
    + + + + + + + + + + + + + +
    +
    +

    Go to the source code of this file.

    + + + + +

    +Data Structures

    class  PrachCheck
     
    + + + + + +

    +Functions

     TEST_P (PrachCheck, PacketGen)
     
     INSTANTIATE_TEST_CASE_P (UnitTest, PrachCheck, testing::ValuesIn(get_sequence(PrachCheck::get_number_of_cases("prach_functional"))))
     
    + + + +

    +Variables

    const std::string module_name = "Prach_test"
     
    +

    Function Documentation

    + +

    ◆ INSTANTIATE_TEST_CASE_P()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    INSTANTIATE_TEST_CASE_P (UnitTest ,
    PrachCheck ,
    testing::ValuesIn(get_sequence(PrachCheck::get_number_of_cases("prach_functional")))  
    )
    +
    +
    +Here is the caller graph for this function:
    +
    +
    + + + +
    + +
    +
    + +

    ◆ TEST_P()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    TEST_P (PrachCheck ,
    PacketGen  
    )
    +
    + +

    Definition at line 177 of file prach_functional.cc.

    +
    +Here is the call graph for this function:
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    +
    +

    Variable Documentation

    + +

    ◆ module_name

    + +
    +
    + + + + +
    const std::string module_name = "Prach_test"
    +
    + +

    Definition at line 30 of file prach_functional.cc.

    + +
    +
    +
    + + + + diff --git a/docs/API/prach__functional_8cc__incl.map b/docs/API/prach__functional_8cc__incl.map new file mode 100644 index 0000000..3012c21 --- /dev/null +++ b/docs/API/prach__functional_8cc__incl.map @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/docs/API/prach__functional_8cc__incl.md5 b/docs/API/prach__functional_8cc__incl.md5 new file mode 100644 index 0000000..ec8d804 --- /dev/null +++ b/docs/API/prach__functional_8cc__incl.md5 @@ -0,0 +1 @@ +8ed6dbe97165fd40e820fbd335316c1f \ No newline at end of file diff --git a/docs/API/prach__functional_8cc__incl.png b/docs/API/prach__functional_8cc__incl.png new file mode 100644 index 0000000..12a7915 Binary files /dev/null and b/docs/API/prach__functional_8cc__incl.png differ diff --git a/docs/API/prach__functional_8cc_a62307393b7f454a2b348ada67997b796_cgraph.map b/docs/API/prach__functional_8cc_a62307393b7f454a2b348ada67997b796_cgraph.map new file mode 100644 index 0000000..d0ba795 --- /dev/null +++ b/docs/API/prach__functional_8cc_a62307393b7f454a2b348ada67997b796_cgraph.map @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/API/prach__functional_8cc_a62307393b7f454a2b348ada67997b796_cgraph.md5 b/docs/API/prach__functional_8cc_a62307393b7f454a2b348ada67997b796_cgraph.md5 new file mode 100644 index 0000000..2453e05 --- /dev/null +++ b/docs/API/prach__functional_8cc_a62307393b7f454a2b348ada67997b796_cgraph.md5 @@ -0,0 +1 @@ +8e5740bd16b19febc2565373f7456a33 \ No newline at end of file diff --git a/docs/API/prach__functional_8cc_a62307393b7f454a2b348ada67997b796_cgraph.png b/docs/API/prach__functional_8cc_a62307393b7f454a2b348ada67997b796_cgraph.png new file mode 100644 index 0000000..bcb10c5 Binary files /dev/null and b/docs/API/prach__functional_8cc_a62307393b7f454a2b348ada67997b796_cgraph.png differ diff --git a/docs/API/prach__functional_8cc_ac9bbd414b07f0f0f9220e132a11bea34_icgraph.map b/docs/API/prach__functional_8cc_ac9bbd414b07f0f0f9220e132a11bea34_icgraph.map new file mode 100644 index 0000000..80fc5f7 --- /dev/null +++ b/docs/API/prach__functional_8cc_ac9bbd414b07f0f0f9220e132a11bea34_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/prach__functional_8cc_ac9bbd414b07f0f0f9220e132a11bea34_icgraph.md5 b/docs/API/prach__functional_8cc_ac9bbd414b07f0f0f9220e132a11bea34_icgraph.md5 new file mode 100644 index 0000000..e84fd14 --- /dev/null +++ b/docs/API/prach__functional_8cc_ac9bbd414b07f0f0f9220e132a11bea34_icgraph.md5 @@ -0,0 +1 @@ +0dc4f36adf084dcc18ce7c01df788cca \ No newline at end of file diff --git a/docs/API/prach__functional_8cc_ac9bbd414b07f0f0f9220e132a11bea34_icgraph.png b/docs/API/prach__functional_8cc_ac9bbd414b07f0f0f9220e132a11bea34_icgraph.png new file mode 100644 index 0000000..f435981 Binary files /dev/null and b/docs/API/prach__functional_8cc_ac9bbd414b07f0f0f9220e132a11bea34_icgraph.png differ diff --git a/docs/API/prach__functional_8cc_source.html b/docs/API/prach__functional_8cc_source.html new file mode 100644 index 0000000..5c00eee --- /dev/null +++ b/docs/API/prach__functional_8cc_source.html @@ -0,0 +1,224 @@ + + + + + + + +o-du/phy: prach_functional.cc Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    prach_functional.cc
    +
    +
    +Go to the documentation of this file.
    1 /******************************************************************************
    2 *
    3 * Copyright (c) 2019 Intel.
    4 *
    5 * Licensed under the Apache License, Version 2.0 (the "License");
    6 * you may not use this file except in compliance with the License.
    7 * You may obtain a copy of the License at
    8 *
    9 * http://www.apache.org/licenses/LICENSE-2.0
    10 *
    11 * Unless required by applicable law or agreed to in writing, software
    12 * distributed under the License is distributed on an "AS IS" BASIS,
    13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    14 * See the License for the specific language governing permissions and
    15 * limitations under the License.
    16 *
    17 *******************************************************************************/
    18 
    19 
    20 #include "common.hpp"
    21 #include "xran_common.h"
    22 #include "xran_fh_o_du.h"
    23 #include "ethernet.h"
    24 #include "xran_transport.h"
    25 #include "xran_cp_api.h"
    26 
    27 #include <stdint.h>
    28 
    29 
    30 const std::string module_name = "Prach_test";
    31 
    32 
    33 class PrachCheck : public KernelTests
    34 {
    35 private:
    36  struct xran_section_gen_info *m_pSectResult = NULL;
    37 
    38 protected:
    44 
    46  int m_maxSections = 8; /* not used */
    48 
    49  struct rte_mbuf *m_pTestBuffer;
    50 
    54 
    55  uint8_t m_dir;
    56  std::string m_dirStr;
    57  uint8_t m_sectionType;
    58 
    59  uint8_t m_ccId, m_antId;
    60  uint8_t m_seqId;
    62  uint8_t m_symStart, m_symNum;
    63  uint16_t *m_prbStart = NULL, *m_prbNum = NULL;
    64 
    66  uint16_t m_beamId;
    67  uint16_t m_reMask = 0xfff;
    68  uint16_t m_sectionId;
    69  uint8_t m_filterIndex;
    70  //uint16_t m_timeOffset;
    71  uint8_t m_fftSize;
    72 
    73  //define reference values
    74  uint8_t m_startSymId;
    75  uint8_t m_x;
    76  uint8_t m_filterIdx;
    77  uint16_t m_startPrbc;
    78  uint8_t m_numPrbc;
    79  uint8_t m_numSymbol;
    80  uint16_t m_timeOffset;
    81  int32_t m_freqOffset;
    88  uint8_t m_SlotNrNum;
    90  uint16_t m_id;
    91 
    92  void SetUp() override
    93  {
    94  init_test("prach_functional");
    95  memset(&m_xran_dev_ctx, 0, sizeof(struct xran_device_ctx));
    96  //modify
    97  m_xranConf = &m_xran_dev_ctx.fh_cfg;
    98 
    99  m_pPRACHConfig = &m_xranConf->prach_conf;
    100  m_pRUConfig = &m_xranConf->ru_conf;
    101  m_pPrachCPConfig = &m_xran_dev_ctx.PrachCPConfig;
    102  //initialize input parameters
    103  m_xranConf->frame_conf.nNumerology = get_input_parameter<uint8_t>("Numerology");
    104  m_xranConf->frame_conf.nFrameDuplexType = get_input_parameter<uint8_t>("FrameDuplexType");
    105  m_xranConf->log_level = get_input_parameter<uint32_t>("loglevel");
    106  m_pPRACHConfig->nPrachConfIdx = get_input_parameter<uint8_t>("PrachConfIdx");
    107  m_pPRACHConfig->nPrachFreqStart = get_input_parameter<uint16_t>("PrachFreqStart");
    108  m_pPRACHConfig->nPrachFreqOffset = get_input_parameter<int32_t>("PrachFreqOffset");
    109  m_pPRACHConfig->nPrachSubcSpacing = get_input_parameter<uint8_t>("PrachSubcSpacing");
    110 
    111  m_pRUConfig->iqWidth = get_input_parameter<uint8_t>("iqWidth");
    112  m_pRUConfig->compMeth = get_input_parameter<uint8_t>("compMeth");
    113  m_pRUConfig->fftSize = get_input_parameter<uint8_t>("fftSize");
    114 
    115  m_frameId = get_input_parameter<uint8_t>("frameId");
    116  m_subframeId = get_input_parameter<uint8_t>("subframeId");
    117  m_slotId = get_input_parameter<uint8_t>("slotId");
    118  m_beamId = get_input_parameter<uint16_t>("beamId");
    119  m_ccId = get_input_parameter<uint8_t>("ccId");
    120  m_antId = get_input_parameter<uint8_t>("antId");
    121 
    122  //initialize reference output
    123  m_startSymId = get_reference_parameter<uint8_t>("startSymId");
    124  m_x = get_reference_parameter<uint8_t>("x_value");
    125 
    126  m_filterIdx = get_reference_parameter<uint8_t>("filterIdx");
    127  m_startPrbc = get_reference_parameter<uint16_t>("startPrbc");
    128  m_numPrbc = get_reference_parameter<uint8_t>("numPrbc");
    129  m_timeOffset = get_reference_parameter<uint16_t>("timeOffset");
    130  m_freqOffset = get_reference_parameter<uint32_t>("freqOffset");
    131  m_nrofPrachInSlot = get_reference_parameter<uint8_t>("nrofPrachInSlot");
    132  m_m_params_timeOffset = get_reference_parameter<uint16_t>("m_params_timeOffset");
    133  m_id = get_reference_parameter<uint16_t>("id");
    134  std::vector<uint8_t> y_vec = get_reference_parameter<std::vector<uint8_t>>("y_value");
    135  for(int i=0; i < XRAN_PRACH_CANDIDATE_Y; i++) {
    136  m_y[i] = y_vec[i];
    137  }
    138 
    139  m_numSymbol = get_reference_parameter<uint8_t>("numSymbol");
    140  m_occassionsInPrachSlot = get_reference_parameter<uint8_t>("occassionsInPrachSlot");
    141 
    142  std::vector<uint8_t> index_vec = get_reference_parameter<std::vector<uint8_t>>("isPRACHslot");
    143  m_SlotNrNum = get_reference_parameter<uint8_t>("SlotNrNum");
    144  for(int i = 0; i < XRAN_PRACH_CANDIDATE_SLOT; i++){
    145  m_isPRACHslot[i]=0;
    146  }
    147  for(int i=0; i<m_SlotNrNum;i++){
    148  m_isPRACHslot[index_vec[i]]=1;
    149  }
    150 
    151 
    152  m_prach_start_symbol = get_reference_parameter<int>("prach_start_symbol");
    153  m_prach_last_symbol = get_reference_parameter<int>("prach_last_symbol");
    154 
    155  /* allocate and prepare required data storage */
    156  m_pSectGenInfo = new struct xran_section_gen_info[8];
    157  ASSERT_NE(m_pSectGenInfo, nullptr);
    159 
    160  /* allocating an mbuf for packet generatrion */
    161  m_pTestBuffer = (struct rte_mbuf*)rte_pktmbuf_alloc(_eth_mbuf_pool);
    162  ASSERT_FALSE(m_pTestBuffer == NULL);
    163 
    164  }
    165 
    166  void TearDown() override
    167  {
    168  if(m_pTestBuffer != NULL)
    169  rte_pktmbuf_free(m_pTestBuffer);
    170  if(m_pSectGenInfo)
    171  delete[] m_pSectGenInfo;
    172  return;
    173  }
    174 };
    175 
    176 
    177 TEST_P(PrachCheck, PacketGen)//TestCaseName TestName
    178 {
    179  int ret;
    180  int32_t i;
    181  void *pHandle = NULL;
    182 
    183  /* Preparing input data for prach config */
    185  ASSERT_TRUE(ret == XRAN_STATUS_SUCCESS);
    186 
    187  /* Verify the result */
    191  EXPECT_EQ(m_pPrachCPConfig->numPrbc, m_numPrbc);
    194  EXPECT_EQ(m_pPrachCPConfig->x, m_x);
    196  EXPECT_EQ(m_pPrachCPConfig->y[0], m_y[0]);
    197  EXPECT_EQ(m_pPrachCPConfig->y[1], m_y[1]);
    200  for (i = 0; i < XRAN_PRACH_CANDIDATE_SLOT; i++){
    201  EXPECT_EQ(m_pPrachCPConfig->isPRACHslot[i], m_isPRACHslot[i]);
    202  }
    203  for (i = 0; i < XRAN_MAX_SECTOR_NR; i++){
    206  }
    207 
    208  ret = xran_open(pHandle, m_xranConf);
    209  ASSERT_TRUE(ret == XRAN_STATUS_SUCCESS);
    210 
    213  m_beamId, m_ccId, m_antId, 0);
    214  ASSERT_TRUE(ret == XRAN_STATUS_SUCCESS);
    215  /* Verify the result */
    217  EXPECT_EQ(m_params.dir, XRAN_DIR_UL);
    218  EXPECT_EQ(m_params.hdr.filterIdx, m_filterIdx);
    219  EXPECT_EQ(m_params.hdr.frameId, m_frameId);
    220  EXPECT_EQ(m_params.hdr.subframeId, m_subframeId);
    221  EXPECT_EQ(m_params.hdr.slotId, m_slotId);
    222  EXPECT_EQ(m_params.hdr.startSymId, m_startSymId);
    223  EXPECT_EQ(m_params.hdr.iqWidth, (m_pRUConfig->iqWidth==16)?0:m_pRUConfig->iqWidth);
    226  EXPECT_EQ(m_params.hdr.fftSize,m_pRUConfig->fftSize);
    228  EXPECT_EQ(m_params.hdr.cpLength, 0);
    229  EXPECT_EQ(m_params.numSections, 1);
    230 
    235 
    236  EXPECT_EQ(m_params.sections[0].info.id, m_id);
    237  EXPECT_EQ(m_params.sections[0].info.rb, XRAN_RBIND_EVERY);
    239  EXPECT_EQ(m_params.sections[0].info.startPrbc, m_startPrbc);
    240  EXPECT_EQ(m_params.sections[0].info.numPrbc, m_numPrbc);
    242  EXPECT_EQ(m_params.sections[0].info.reMask, 0xfff);
    243  EXPECT_EQ(m_params.sections[0].info.beamId, m_beamId);
    246  EXPECT_EQ(m_params.sections[0].info.ef, 0);
    247  EXPECT_EQ(m_params.sections[0].exDataSize, 0);
    248 
    249 }
    250 
    251 
    253  testing::ValuesIn(get_sequence(PrachCheck::get_number_of_cases("prach_functional"))));
    254 
    int generate_cpmsg_prach(void *pHandle, struct xran_cp_gen_params *params, struct xran_section_gen_info *sect_geninfo, struct rte_mbuf *mbuf, struct xran_device_ctx *pxran_lib_ctx, uint8_t frame_id, uint8_t subframe_id, uint8_t slot_id, uint16_t beam_id, uint8_t cc_id, uint8_t prach_port_id, uint8_t seq_id)
    Definition: xran_common.c:595
    + + + + +
    uint8_t m_occassionsInPrachSlot
    +
    uint8_t m_sectionType
    +
    struct xran_prach_config * m_pPRACHConfig
    +
    int prach_last_symbol[XRAN_MAX_SECTOR_NR]
    Definition: xran_common.h:263
    + +
    #define XRAN_STATUS_SUCCESS
    Definition: xran_fh_o_du.h:54
    + + +
    int32_t xran_open(void *pHandle, struct xran_fh_config *pConf)
    Definition: xran_main.c:2756
    +
    int32_t nPrachFreqOffset
    Definition: xran_fh_o_du.h:442
    + +
    uint8_t m_SlotNrNum
    +
    static unsigned get_number_of_cases(const std::string &type)
    Definition: common.hpp:190
    +
    uint8_t y[XRAN_PRACH_CANDIDATE_Y]
    Definition: xran_common.h:137
    +
    struct xran_ru_config * m_pRUConfig
    + + +
    uint16_t m_startPrbc
    +
    uint8_t m_isPRACHslot[XRAN_PRACH_CANDIDATE_SLOT]
    +
    #define XRAN_MAX_SECTOR_NR
    Definition: xran_fh_o_du.h:110
    + + + +
    struct xran_section_info info
    Definition: xran_cp_api.h:296
    + + + + +
    struct xran_recv_packet_info m_pktInfo
    +
    uint16_t nPrachFreqStart
    Definition: xran_fh_o_du.h:441
    + + + + +
    TEST_P(PrachCheck, PacketGen)
    + + +
    int prach_start_symbol[XRAN_MAX_SECTOR_NR]
    Definition: xran_common.h:262
    +
    uint8_t nFrameDuplexType
    Definition: xran_fh_o_du.h:460
    +
    uint8_t m_subframeId
    +
    uint16_t m_beamId
    +
    const std::string module_name
    +
    uint8_t m_filterIdx
    + +
    struct xran_fh_config fh_cfg
    Definition: xran_common.h:209
    +
    uint8_t m_symStart
    +
    uint16_t * m_prbStart
    +
    uint8_t m_filterIndex
    +
    void SetUp() override
    +
    uint8_t occassionsInPrachSlot
    Definition: xran_common.h:135
    + + +
    int xran_init_prach(struct xran_fh_config *pConf, struct xran_device_ctx *p_xran_dev_ctx)
    Definition: xran_main.c:308
    +
    This file has all definitions for the Ethernet Data Interface Layer.
    +
    INSTANTIATE_TEST_CASE_P(UnitTest, PrachCheck, testing::ValuesIn(get_sequence(PrachCheck::get_number_of_cases("prach_functional"))))
    +
    int32_t m_freqOffset
    +
    uint32_t log_level
    Definition: xran_fh_o_du.h:523
    +
    #define XRAN_PRACH_CANDIDATE_SLOT
    Definition: xran_common.h:80
    + +
    uint8_t m_y[XRAN_PRACH_CANDIDATE_Y]
    +
    uint8_t compMeth
    Definition: xran_fh_o_du.h:487
    +
    uint16_t startPrbc
    Definition: xran_cp_api.h:193
    + +
    uint16_t * m_prbNum
    + +
    struct xran_frame_config frame_conf
    Definition: xran_fh_o_du.h:517
    + +
    uint8_t m_compMethod
    +
    uint8_t m_numPrbc
    + + + +
    uint8_t m_startSymId
    + +
    void init_test(const std::string &type)
    Defines section in the conf.json that is used to load parameters from.
    Definition: common.hpp:358
    + +
    struct xran_fh_config * m_xranConf
    +
    struct rte_mempool * _eth_mbuf_pool
    Definition: ethernet.c:70
    +
    struct xran_cp_header_params hdr
    Definition: xran_cp_api.h:320
    +
    struct xran_prach_config prach_conf
    Definition: xran_fh_o_du.h:515
    +
    uint16_t m_m_params_timeOffset
    +
    #define XRAN_PRACH_CANDIDATE_Y
    Definition: xran_common.h:79
    + + + + + +
    uint8_t m_nrofPrachInSlot
    +
    uint16_t m_timeOffset
    + + + +
    uint16_t m_sectionId
    +
    XRAN layer common functionality for both lls-CU and RU as well as C-plane and U-plane.
    +
    struct xran_ru_config ru_conf
    Definition: xran_fh_o_du.h:518
    + +
    struct xran_section_gen_info * m_pSectGenInfo
    + +
    uint16_t m_reMask
    +
    uint8_t m_fftSize
    +
    void TearDown() override
    + +
    uint8_t m_slotId
    +
    std::string m_dirStr
    +
    uint8_t m_iqWidth
    +
    uint8_t isPRACHslot[XRAN_PRACH_CANDIDATE_SLOT]
    Definition: xran_common.h:138
    +
    This file provides public interface to xRAN Front Haul layer implementation as defined in the ORAN-WG...
    + +
    int m_prach_start_symbol
    + +
    struct xran_prach_cp_config PrachCPConfig
    Definition: xran_common.h:210
    + + + +
    struct xran_section_gen_info * sections
    Definition: xran_cp_api.h:322
    +
    uint16_t numSections
    Definition: xran_cp_api.h:318
    + +
    struct rte_mbuf * m_pTestBuffer
    + + + + +
    struct xran_device_ctx m_xran_dev_ctx
    +
    struct xran_prach_cp_config * m_pPrachCPConfig
    +
    uint8_t m_frameId
    + +
    uint8_t m_numSymbol
    +
    struct xran_cp_gen_params m_params
    + + +
    uint8_t m_symNum
    +
    std::vector< unsigned > get_sequence(const unsigned number)
    For a given number return sequence of number from 0 to number - 1.
    Definition: common.cpp:78
    + +
    This file provides the definitions for Control Plane Messages APIs.
    +
    struct xran_cp_gen_params m_result
    + + + +
    uint8_t nPrachSubcSpacing
    Definition: xran_fh_o_du.h:433
    +
    This file provides the definitions for Transport layer (eCPRI) API.
    + +
    + + + + diff --git a/docs/API/prach__performance_8cc.html b/docs/API/prach__performance_8cc.html new file mode 100644 index 0000000..49e86ee --- /dev/null +++ b/docs/API/prach__performance_8cc.html @@ -0,0 +1,367 @@ + + + + + + + +o-du/phy: prach_performance.cc File Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    prach_performance.cc File Reference
    +
    +
    +
    #include "common.hpp"
    +#include "xran_common.h"
    +#include "xran_fh_o_du.h"
    +#include "ethernet.h"
    +#include "xran_transport.h"
    +#include "xran_cp_api.h"
    +#include <stdint.h>
    +
    +Include dependency graph for prach_performance.cc:
    +
    +
    + + + + + + + + + + + + + +
    +
    +

    Go to the source code of this file.

    + + + + +

    +Data Structures

    class  PrachPerf
     
    + + + + + + + +

    +Functions

    void performance_cp (void *pHandle, struct xran_cp_gen_params *params, struct xran_section_gen_info *sect_geninfo, struct xran_device_ctx *pxran_lib_ctx, uint8_t frame_id, uint8_t subframe_id, uint8_t slot_id, uint16_t beam_id, uint8_t cc_id, uint8_t prach_port_id, uint8_t seq_id)
     
     TEST_P (PrachPerf, PacketGen)
     
     INSTANTIATE_TEST_CASE_P (UnitTest, PrachPerf, testing::ValuesIn(get_sequence(PrachPerf::get_number_of_cases("prach_performance"))))
     
    + + + +

    +Variables

    const std::string module_name = "Prach_test"
     
    +

    Function Documentation

    + +

    ◆ INSTANTIATE_TEST_CASE_P()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    INSTANTIATE_TEST_CASE_P (UnitTest ,
    PrachPerf ,
    testing::ValuesIn(get_sequence(PrachPerf::get_number_of_cases("prach_performance")))  
    )
    +
    +
    +Here is the caller graph for this function:
    +
    +
    + + + +
    + +
    +
    + +

    ◆ performance_cp()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    void performance_cp (void * pHandle,
    struct xran_cp_gen_paramsparams,
    struct xran_section_gen_infosect_geninfo,
    struct xran_device_ctxpxran_lib_ctx,
    uint8_t frame_id,
    uint8_t subframe_id,
    uint8_t slot_id,
    uint16_t beam_id,
    uint8_t cc_id,
    uint8_t prach_port_id,
    uint8_t seq_id 
    )
    +
    + +

    Definition at line 172 of file prach_performance.cc.

    +
    +Here is the call graph for this function:
    +
    +
    + + + + + + + + + + + + + + + + +
    +
    +Here is the caller graph for this function:
    +
    +
    + + + +
    + +
    +
    + +

    ◆ TEST_P()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    TEST_P (PrachPerf ,
    PacketGen  
    )
    +
    + +

    Definition at line 189 of file prach_performance.cc.

    +
    +Here is the call graph for this function:
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    +
    +

    Variable Documentation

    + +

    ◆ module_name

    + +
    +
    + + + + +
    const std::string module_name = "Prach_test"
    +
    + +

    Definition at line 30 of file prach_performance.cc.

    + +
    +
    +
    + + + + diff --git a/docs/API/prach__performance_8cc__incl.map b/docs/API/prach__performance_8cc__incl.map new file mode 100644 index 0000000..80f3b15 --- /dev/null +++ b/docs/API/prach__performance_8cc__incl.map @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/docs/API/prach__performance_8cc__incl.md5 b/docs/API/prach__performance_8cc__incl.md5 new file mode 100644 index 0000000..ef8b5b6 --- /dev/null +++ b/docs/API/prach__performance_8cc__incl.md5 @@ -0,0 +1 @@ +7d7b0e37d39b3566b2ef5351c195e105 \ No newline at end of file diff --git a/docs/API/prach__performance_8cc__incl.png b/docs/API/prach__performance_8cc__incl.png new file mode 100644 index 0000000..2616425 Binary files /dev/null and b/docs/API/prach__performance_8cc__incl.png differ diff --git a/docs/API/prach__performance_8cc_a048e029f091d3d395e44cc24b3f197ee_cgraph.map b/docs/API/prach__performance_8cc_a048e029f091d3d395e44cc24b3f197ee_cgraph.map new file mode 100644 index 0000000..1ea4405 --- /dev/null +++ b/docs/API/prach__performance_8cc_a048e029f091d3d395e44cc24b3f197ee_cgraph.map @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/API/prach__performance_8cc_a048e029f091d3d395e44cc24b3f197ee_cgraph.md5 b/docs/API/prach__performance_8cc_a048e029f091d3d395e44cc24b3f197ee_cgraph.md5 new file mode 100644 index 0000000..ef23ff6 --- /dev/null +++ b/docs/API/prach__performance_8cc_a048e029f091d3d395e44cc24b3f197ee_cgraph.md5 @@ -0,0 +1 @@ +bcdfbc0a392867e856e390052abb847e \ No newline at end of file diff --git a/docs/API/prach__performance_8cc_a048e029f091d3d395e44cc24b3f197ee_cgraph.png b/docs/API/prach__performance_8cc_a048e029f091d3d395e44cc24b3f197ee_cgraph.png new file mode 100644 index 0000000..1c47c0b Binary files /dev/null and b/docs/API/prach__performance_8cc_a048e029f091d3d395e44cc24b3f197ee_cgraph.png differ diff --git a/docs/API/prach__performance_8cc_a540e426541deb753f7c69d8df5d5b090_cgraph.map b/docs/API/prach__performance_8cc_a540e426541deb753f7c69d8df5d5b090_cgraph.map new file mode 100644 index 0000000..46aac2d --- /dev/null +++ b/docs/API/prach__performance_8cc_a540e426541deb753f7c69d8df5d5b090_cgraph.map @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/docs/API/prach__performance_8cc_a540e426541deb753f7c69d8df5d5b090_cgraph.md5 b/docs/API/prach__performance_8cc_a540e426541deb753f7c69d8df5d5b090_cgraph.md5 new file mode 100644 index 0000000..c8da116 --- /dev/null +++ b/docs/API/prach__performance_8cc_a540e426541deb753f7c69d8df5d5b090_cgraph.md5 @@ -0,0 +1 @@ +0b50776658c9d66746e79866aacbdb83 \ No newline at end of file diff --git a/docs/API/prach__performance_8cc_a540e426541deb753f7c69d8df5d5b090_cgraph.png b/docs/API/prach__performance_8cc_a540e426541deb753f7c69d8df5d5b090_cgraph.png new file mode 100644 index 0000000..2b85df1 Binary files /dev/null and b/docs/API/prach__performance_8cc_a540e426541deb753f7c69d8df5d5b090_cgraph.png differ diff --git a/docs/API/prach__performance_8cc_a540e426541deb753f7c69d8df5d5b090_icgraph.map b/docs/API/prach__performance_8cc_a540e426541deb753f7c69d8df5d5b090_icgraph.map new file mode 100644 index 0000000..62494a6 --- /dev/null +++ b/docs/API/prach__performance_8cc_a540e426541deb753f7c69d8df5d5b090_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/prach__performance_8cc_a540e426541deb753f7c69d8df5d5b090_icgraph.md5 b/docs/API/prach__performance_8cc_a540e426541deb753f7c69d8df5d5b090_icgraph.md5 new file mode 100644 index 0000000..fc1aad0 --- /dev/null +++ b/docs/API/prach__performance_8cc_a540e426541deb753f7c69d8df5d5b090_icgraph.md5 @@ -0,0 +1 @@ +8ed592e5fc0e58f536925f1f411a79cf \ No newline at end of file diff --git a/docs/API/prach__performance_8cc_a540e426541deb753f7c69d8df5d5b090_icgraph.png b/docs/API/prach__performance_8cc_a540e426541deb753f7c69d8df5d5b090_icgraph.png new file mode 100644 index 0000000..cdd3937 Binary files /dev/null and b/docs/API/prach__performance_8cc_a540e426541deb753f7c69d8df5d5b090_icgraph.png differ diff --git a/docs/API/prach__performance_8cc_ab4e27bca35e8082ffbe84519993b0e47_icgraph.map b/docs/API/prach__performance_8cc_ab4e27bca35e8082ffbe84519993b0e47_icgraph.map new file mode 100644 index 0000000..41de61c --- /dev/null +++ b/docs/API/prach__performance_8cc_ab4e27bca35e8082ffbe84519993b0e47_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/prach__performance_8cc_ab4e27bca35e8082ffbe84519993b0e47_icgraph.md5 b/docs/API/prach__performance_8cc_ab4e27bca35e8082ffbe84519993b0e47_icgraph.md5 new file mode 100644 index 0000000..8700281 --- /dev/null +++ b/docs/API/prach__performance_8cc_ab4e27bca35e8082ffbe84519993b0e47_icgraph.md5 @@ -0,0 +1 @@ +a60aab32f5c37efa672f36b9fe1649fa \ No newline at end of file diff --git a/docs/API/prach__performance_8cc_ab4e27bca35e8082ffbe84519993b0e47_icgraph.png b/docs/API/prach__performance_8cc_ab4e27bca35e8082ffbe84519993b0e47_icgraph.png new file mode 100644 index 0000000..f435981 Binary files /dev/null and b/docs/API/prach__performance_8cc_ab4e27bca35e8082ffbe84519993b0e47_icgraph.png differ diff --git a/docs/API/prach__performance_8cc_source.html b/docs/API/prach__performance_8cc_source.html new file mode 100644 index 0000000..fa3dcc9 --- /dev/null +++ b/docs/API/prach__performance_8cc_source.html @@ -0,0 +1,166 @@ + + + + + + + +o-du/phy: prach_performance.cc Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    prach_performance.cc
    +
    +
    +Go to the documentation of this file.
    1 /******************************************************************************
    2 *
    3 * Copyright (c) 2019 Intel.
    4 *
    5 * Licensed under the Apache License, Version 2.0 (the "License");
    6 * you may not use this file except in compliance with the License.
    7 * You may obtain a copy of the License at
    8 *
    9 * http://www.apache.org/licenses/LICENSE-2.0
    10 *
    11 * Unless required by applicable law or agreed to in writing, software
    12 * distributed under the License is distributed on an "AS IS" BASIS,
    13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    14 * See the License for the specific language governing permissions and
    15 * limitations under the License.
    16 *
    17 *******************************************************************************/
    18 
    19 
    20 #include "common.hpp"
    21 #include "xran_common.h"
    22 #include "xran_fh_o_du.h"
    23 #include "ethernet.h"
    24 #include "xran_transport.h"
    25 #include "xran_cp_api.h"
    26 
    27 #include <stdint.h>
    28 
    29 
    30 const std::string module_name = "Prach_test";
    31 
    32 
    33 class PrachPerf : public KernelTests
    34 {
    35 
    36  private:
    37  struct xran_section_gen_info *m_pSectResult = NULL;
    38 
    39  protected:
    44 
    46  int m_maxSections = 8; /* not used */
    48 
    49  struct rte_mbuf *m_pTestBuffer;
    50 
    54 
    55  uint8_t m_dir;
    56  std::string m_dirStr;
    57  uint8_t m_sectionType;
    58 
    59  uint8_t m_ccId, m_antId;
    60  uint8_t m_seqId;
    62  uint8_t m_symStart, m_symNum;
    63  uint16_t *m_prbStart = NULL, *m_prbNum = NULL;
    64 
    66  uint16_t m_beamId;
    67  uint16_t m_reMask = 0xfff;
    68  uint16_t m_sectionId;
    69  uint8_t m_filterIndex;
    70  //uint16_t m_timeOffset;
    71  uint8_t m_fftSize;
    72 
    73  //define reference values
    74  uint8_t m_startSymId;
    75  uint8_t m_x;
    76  uint8_t m_filterIdx;
    77  uint16_t m_startPrbc;
    78  uint8_t m_numPrbc;
    79  uint8_t m_numSymbol;
    80  uint16_t m_timeOffset;
    81  int32_t m_freqOffset;
    88  uint8_t m_SlotNrNum;
    89 
    90 
    91  void SetUp() override
    92  {
    93  init_test("prach_performance");
    94  memset(&m_xranConf, 0, sizeof(struct xran_fh_config));
    95  memset(&m_xran_dev_ctx, 0, sizeof(struct xran_device_ctx));
    96  m_pPRACHConfig = &m_xranConf.prach_conf;
    97  m_pPrachCPConfig = &m_xran_dev_ctx.PrachCPConfig;
    98 
    99  //initialize input parameters
    100  m_xranConf.frame_conf.nNumerology = get_input_parameter<uint8_t>("Numerology");
    101  m_xranConf.frame_conf.nFrameDuplexType = get_input_parameter<uint8_t>("FrameDuplexType");
    102  m_xranConf.log_level = get_input_parameter<uint32_t>("loglevel");
    103 
    104  m_pPRACHConfig->nPrachConfIdx = get_input_parameter<uint8_t>("PrachConfIdx");
    105  m_pPRACHConfig->nPrachFreqStart = get_input_parameter<uint16_t>("PrachFreqStart");
    106  m_pPRACHConfig->nPrachFreqOffset = get_input_parameter<int32_t>("PrachFreqOffset");
    107  m_pPRACHConfig->nPrachSubcSpacing = get_input_parameter<uint8_t>("PrachSubcSpacing");
    108 
    109 
    110  m_frameId = get_input_parameter<uint8_t>("frameId");
    111  m_subframeId = get_input_parameter<uint8_t>("subframeId");
    112  m_slotId = get_input_parameter<uint8_t>("slotId");
    113  m_beamId = get_input_parameter<uint16_t>("beamId");
    114  m_ccId = get_input_parameter<uint8_t>("ccId");
    115  m_antId = get_input_parameter<uint8_t>("antId");
    116 
    117  //initialize reference output
    118  m_startSymId = get_reference_parameter<uint8_t>("startSymId");
    119  m_x = get_reference_parameter<uint8_t>("x_value");
    120  m_filterIdx = get_reference_parameter<uint8_t>("filterIdx");
    121  m_startPrbc = get_reference_parameter<uint16_t>("startPrbc");
    122  m_numPrbc = get_reference_parameter<uint8_t>("numPrbc");
    123  m_timeOffset = get_reference_parameter<uint16_t>("timeOffset");
    124  m_freqOffset = get_reference_parameter<uint32_t>("freqOffset");
    125  m_nrofPrachInSlot = get_reference_parameter<uint8_t>("nrofPrachInSlot");
    126 
    127  //get the values from a vector
    128  std::vector<uint8_t> y_vec = get_reference_parameter<std::vector<uint8_t>>("y_value");
    129  for(int i=0; i < XRAN_PRACH_CANDIDATE_Y; i++) {
    130  m_y[i] = y_vec[i];
    131  }
    132 
    133  m_numSymbol = get_reference_parameter<uint8_t>("numSymbol");
    134  m_occassionsInPrachSlot = get_reference_parameter<uint8_t>("occassionsInPrachSlot");
    135 
    136  std::vector<uint8_t> index_vec = get_reference_parameter<std::vector<uint8_t>>("isPRACHslot");
    137  m_SlotNrNum = get_reference_parameter<uint8_t>("SlotNrNum");
    138  for(int i = 0; i < XRAN_PRACH_CANDIDATE_SLOT; i++){
    139  m_isPRACHslot[i]=0;
    140  }
    141  for(int i=0; i<m_SlotNrNum;i++){
    142  m_isPRACHslot[index_vec[i]]=1;
    143  }
    144 
    145 
    146  m_prach_start_symbol = get_reference_parameter<int>("prach_start_symbol");
    147  m_prach_last_symbol = get_reference_parameter<int>("prach_last_symbol");
    148 
    149  /* allocate and prepare required data storage */
    150  m_pSectGenInfo = new struct xran_section_gen_info[8];
    151  ASSERT_NE(m_pSectGenInfo, nullptr);
    153 
    154  /* allocating an mbuf for packet generatrion */
    155  m_pTestBuffer = (struct rte_mbuf*)rte_pktmbuf_alloc(_eth_mbuf_pool);
    156  ASSERT_FALSE(m_pTestBuffer == NULL);
    157 
    158  }
    159 
    160  void TearDown() override
    161  {
    162 
    163  if(m_pTestBuffer != NULL)
    164  rte_pktmbuf_free(m_pTestBuffer);
    165  if(m_pSectGenInfo)
    166  delete[] m_pSectGenInfo;
    167 
    168  return;
    169  }
    170 };
    171 
    172 void performance_cp(void *pHandle,struct xran_cp_gen_params *params, struct xran_section_gen_info *sect_geninfo, struct xran_device_ctx *pxran_lib_ctx,
    173  uint8_t frame_id, uint8_t subframe_id, uint8_t slot_id,
    174  uint16_t beam_id, uint8_t cc_id, uint8_t prach_port_id, uint8_t seq_id)
    175 {
    176  struct rte_mbuf *mbuf;
    177 
    178  mbuf = (struct rte_mbuf*)rte_pktmbuf_alloc(_eth_mbuf_pool);
    179 
    180  generate_cpmsg_prach(pHandle, params, sect_geninfo, mbuf, pxran_lib_ctx,
    181  frame_id, subframe_id, slot_id,
    182  beam_id, cc_id, prach_port_id, seq_id);
    183 
    184  seq_id++;
    185 
    186  rte_pktmbuf_free(mbuf);
    187 }
    188 
    189 TEST_P(PrachPerf, PacketGen)//TestCaseName TestName
    190 {
    191  int ret;
    192  void *pHandle = NULL;
    193 
    194  /* Preparing input data for prach config */
    196  ASSERT_TRUE(ret == XRAN_STATUS_SUCCESS);
    197 
    198 
    201  m_beamId, m_ccId, m_antId, 0);
    202  ASSERT_TRUE(ret == XRAN_STATUS_SUCCESS);
    203 
    204 
    208  m_beamId, m_ccId, m_antId, 0);
    209 }
    210 
    211 
    213  testing::ValuesIn(get_sequence(PrachPerf::get_number_of_cases("prach_performance"))));
    214 
    int generate_cpmsg_prach(void *pHandle, struct xran_cp_gen_params *params, struct xran_section_gen_info *sect_geninfo, struct rte_mbuf *mbuf, struct xran_device_ctx *pxran_lib_ctx, uint8_t frame_id, uint8_t subframe_id, uint8_t slot_id, uint16_t beam_id, uint8_t cc_id, uint8_t prach_port_id, uint8_t seq_id)
    Definition: xran_common.c:595
    +
    uint8_t m_iqWidth
    +
    struct xran_device_ctx m_xran_dev_ctx
    + + +
    #define XRAN_STATUS_SUCCESS
    Definition: xran_fh_o_du.h:54
    + +
    int32_t nPrachFreqOffset
    Definition: xran_fh_o_du.h:442
    +
    uint8_t m_occassionsInPrachSlot
    +
    static unsigned get_number_of_cases(const std::string &type)
    Definition: common.hpp:190
    +
    uint8_t m_SlotNrNum
    +
    uint8_t m_frameId
    +
    void performance(const std::string &isa, const std::string &module_name, F function, Args ... args)
    Run performance test case for a given function.
    Definition: common.hpp:253
    +
    uint8_t m_numSymbol
    + +
    void TearDown() override
    +
    uint8_t m_subframeId
    + +
    uint16_t nPrachFreqStart
    Definition: xran_fh_o_du.h:441
    +
    uint16_t m_beamId
    +
    uint8_t m_slotId
    + +
    uint8_t m_startSymId
    +
    struct xran_fh_config m_xranConf
    +
    uint8_t nFrameDuplexType
    Definition: xran_fh_o_du.h:460
    + +
    struct xran_prach_cp_config * m_pPrachCPConfig
    +
    uint8_t m_numPrbc
    + +
    struct xran_cp_gen_params m_result
    +
    int xran_init_prach(struct xran_fh_config *pConf, struct xran_device_ctx *p_xran_dev_ctx)
    Definition: xran_main.c:308
    +
    uint8_t m_symNum
    +
    const std::string module_name
    +
    This file has all definitions for the Ethernet Data Interface Layer.
    +
    uint32_t log_level
    Definition: xran_fh_o_du.h:523
    +
    #define XRAN_PRACH_CANDIDATE_SLOT
    Definition: xran_common.h:80
    +
    void performance_cp(void *pHandle, struct xran_cp_gen_params *params, struct xran_section_gen_info *sect_geninfo, struct xran_device_ctx *pxran_lib_ctx, uint8_t frame_id, uint8_t subframe_id, uint8_t slot_id, uint16_t beam_id, uint8_t cc_id, uint8_t prach_port_id, uint8_t seq_id)
    +
    struct xran_cp_gen_params m_params
    +
    int m_prach_start_symbol
    +
    struct xran_frame_config frame_conf
    Definition: xran_fh_o_du.h:517
    +
    uint8_t m_isPRACHslot[XRAN_PRACH_CANDIDATE_SLOT]
    +
    struct xran_section_gen_info * m_pSectGenInfo
    + + +
    struct rte_mbuf * m_pTestBuffer
    +
    uint8_t m_filterIdx
    + +
    void init_test(const std::string &type)
    Defines section in the conf.json that is used to load parameters from.
    Definition: common.hpp:358
    +
    struct rte_mempool * _eth_mbuf_pool
    Definition: ethernet.c:70
    +
    uint16_t m_sectionId
    +
    struct xran_prach_config prach_conf
    Definition: xran_fh_o_du.h:515
    +
    void SetUp() override
    +
    struct xran_recv_packet_info m_pktInfo
    +
    #define XRAN_PRACH_CANDIDATE_Y
    Definition: xran_common.h:79
    + +
    uint8_t m_symStart
    + +
    uint8_t m_y[XRAN_PRACH_CANDIDATE_Y]
    +
    uint8_t m_sectionType
    +
    XRAN layer common functionality for both lls-CU and RU as well as C-plane and U-plane.
    +
    uint8_t m_fftSize
    + +
    uint16_t * m_prbNum
    +
    uint16_t m_startPrbc
    +
    std::string m_dirStr
    +
    struct xran_prach_config * m_pPRACHConfig
    + +
    INSTANTIATE_TEST_CASE_P(UnitTest, PrachPerf, testing::ValuesIn(get_sequence(PrachPerf::get_number_of_cases("prach_performance"))))
    +
    This file provides public interface to xRAN Front Haul layer implementation as defined in the ORAN-WG...
    +
    uint8_t m_compMethod
    +
    struct xran_prach_cp_config PrachCPConfig
    Definition: xran_common.h:210
    + +
    uint8_t m_nrofPrachInSlot
    +
    struct xran_section_gen_info * sections
    Definition: xran_cp_api.h:322
    +
    TEST_P(PrachPerf, PacketGen)
    + + + + +
    uint16_t m_reMask
    +
    uint16_t * m_prbStart
    +
    std::vector< unsigned > get_sequence(const unsigned number)
    For a given number return sequence of number from 0 to number - 1.
    Definition: common.cpp:78
    +
    int32_t m_freqOffset
    +
    This file provides the definitions for Control Plane Messages APIs.
    +
    uint16_t m_timeOffset
    +
    uint8_t m_filterIndex
    +
    uint8_t nPrachSubcSpacing
    Definition: xran_fh_o_du.h:433
    +
    This file provides the definitions for Transport layer (eCPRI) API.
    +
    + + + + diff --git a/docs/API/sample-app_8c.html b/docs/API/sample-app_8c.html new file mode 100644 index 0000000..811a133 --- /dev/null +++ b/docs/API/sample-app_8c.html @@ -0,0 +1,1179 @@ + + + + + + + +o-du/phy: sample-app.c File Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    sample-app.c File Reference
    +
    +
    +
    #include <unistd.h>
    +#include <sys/syscall.h>
    +#include <sched.h>
    +#include <assert.h>
    +#include <err.h>
    +#include <libgen.h>
    +#include <sys/time.h>
    +#include <time.h>
    +#include <stdio.h>
    +#include <fcntl.h>
    +#include <pthread.h>
    +#include <sys/stat.h>
    +#include "common.h"
    +#include "config.h"
    +#include "xran_mlog_lnx.h"
    +#include "xran_fh_o_du.h"
    +#include "xran_compression.h"
    +#include "xran_cp_api.h"
    +#include "xran_sync_api.h"
    +#include "xran_mlog_task_id.h"
    +
    +Include dependency graph for sample-app.c:
    +
    +
    + + + + + + + + + + + + + + +
    +
    +

    Go to the source code of this file.

    + + + + + + + + + + +

    +Data Structures

    struct  FPGAPhaseCompCfg
     
    struct  XranLibConfig
     
    struct  BbuIoBufCtrlStruct
     
    struct  BbuXranIoIfStruct
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Macros

    #define _GNU_SOURCE
     
    #define MAX_BBU_POOL_CORE_MASK   (4)
     
    #define SW_FPGA_TOTAL_BUFFER_LEN   4*1024*1024*1024
     
    #define SW_FPGA_SEGMENT_BUFFER_LEN   1*1024*1024*1024
     
    #define SW_FPGA_FH_TOTAL_BUFFER_LEN   1*1024*1024*1024
     
    #define FPGA_TO_SW_PRACH_RX_BUFFER_LEN   (8192)
     
    #define NSEC_PER_SEC   1000000000
     
    #define MAX_PKT_BURST   (448+4)
     
    #define N_MAX_BUFFER_SEGMENT   MAX_PKT_BURST
     
    #define MAIN_PRIORITY   98
     
    #define NUM_OF_SUBFRAME_PER_FRAME   (10)
     
    #define CPU_HZ   tick_per_usec
     
    #define NS_PER_SEC   1E9
     
    + + + +

    +Typedefs

    typedef struct XranLibConfig XranLibConfigStruct
     
    + + + +

    +Enumerations

    enum  SWXRANInterfaceTypeEnum {
    +  XRANFTHTX_OUT = 0, +XRANFTHTX_PRB_MAP_OUT, +XRANFTHTX_SEC_DESC_OUT, +XRANFTHRX_IN, +
    +  XRANFTHRX_PRB_MAP_IN, +XRANFTHTX_SEC_DESC_IN, +XRANFTHRACH_IN, +XRANSRS_IN, +
    +  MAX_SW_XRAN_INTERFACE_NUM +
    + }
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Functions

    void xran_fh_rx_callback (void *pCallbackTag, int32_t status)
     
    void xran_fh_rx_prach_callback (void *pCallbackTag, int32_t status)
     
    void xran_fh_rx_srs_callback (void *pCallbackTag, xran_status_t status)
     
    unsigned long timer_get_ticks (void)
     
    int timer_set_tsc_freq_from_clock (void)
     
    int physide_dl_tti_call_back (void *param)
     
    int physide_ul_half_slot_call_back (void *param)
     
    int physide_ul_full_slot_call_back (void *param)
     
    int32_t init_xran (void)
     
    int init_xran_iq_content (void)
     
    void stop_xran (void)
     
    int get_xran_iq_content (void)
     
    void version_print (void)
     
    int main (int argc, char *argv[])
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Variables

    enum app_state state
     
    uint64_t tick_per_usec
     
    RuntimeConfig startupConfiguration = {0}
     
    uint32_t nFpgaToSW_FTH_RxBufferLen
     
    uint32_t nFpgaToSW_PRACH_RxBufferLen
     
    uint32_t nSW_ToFpga_FTH_TxBufferLen
     
    void * xranHandle = NULL
     
    struct xran_fh_config xranConf
     
    struct xran_fh_configpXranConf = NULL
     
    long rx_counter
     
    long tx_counter
     
    long tx_bytes_counter
     
    long rx_bytes_counter
     
    long tx_bytes_per_sec
     
    long rx_bytes_per_sec
     
    long old_rx_counter = 0
     
    long old_tx_counter = 0
     
    +

    Macro Definition Documentation

    + +

    ◆ _GNU_SOURCE

    + +
    +
    + + + + +
    #define _GNU_SOURCE
    +
    + +

    Definition at line 19 of file sample-app.c.

    + +
    +
    + +

    ◆ CPU_HZ

    + +
    +
    + + + + +
    #define CPU_HZ   tick_per_usec
    +
    + +

    Definition at line 181 of file sample-app.c.

    + +
    +
    + +

    ◆ FPGA_TO_SW_PRACH_RX_BUFFER_LEN

    + +
    +
    + + + + +
    #define FPGA_TO_SW_PRACH_RX_BUFFER_LEN   (8192)
    +
    + +

    Definition at line 52 of file sample-app.c.

    + +
    +
    + +

    ◆ MAIN_PRIORITY

    + +
    +
    + + + + +
    #define MAIN_PRIORITY   98
    +
    + +

    Definition at line 59 of file sample-app.c.

    + +
    +
    + +

    ◆ MAX_BBU_POOL_CORE_MASK

    + +
    +
    + + + + +
    #define MAX_BBU_POOL_CORE_MASK   (4)
    +
    + +

    Definition at line 46 of file sample-app.c.

    + +
    +
    + +

    ◆ MAX_PKT_BURST

    + +
    +
    + + + + +
    #define MAX_PKT_BURST   (448+4)
    +
    + +

    Definition at line 56 of file sample-app.c.

    + +
    +
    + +

    ◆ N_MAX_BUFFER_SEGMENT

    + +
    +
    + + + + +
    #define N_MAX_BUFFER_SEGMENT   MAX_PKT_BURST
    +
    + +

    Definition at line 57 of file sample-app.c.

    + +
    +
    + +

    ◆ NS_PER_SEC

    + +
    +
    + + + + +
    #define NS_PER_SEC   1E9
    +
    + +
    +
    + +

    ◆ NSEC_PER_SEC

    + +
    +
    + + + + +
    #define NSEC_PER_SEC   1000000000
    +
    + +

    Definition at line 54 of file sample-app.c.

    + +
    +
    + +

    ◆ NUM_OF_SUBFRAME_PER_FRAME

    + +
    +
    + + + + +
    #define NUM_OF_SUBFRAME_PER_FRAME   (10)
    +
    + +

    Definition at line 60 of file sample-app.c.

    + +
    +
    + +

    ◆ SW_FPGA_FH_TOTAL_BUFFER_LEN

    + +
    +
    + + + + +
    #define SW_FPGA_FH_TOTAL_BUFFER_LEN   1*1024*1024*1024
    +
    + +

    Definition at line 51 of file sample-app.c.

    + +
    +
    + +

    ◆ SW_FPGA_SEGMENT_BUFFER_LEN

    + +
    +
    + + + + +
    #define SW_FPGA_SEGMENT_BUFFER_LEN   1*1024*1024*1024
    +
    + +

    Definition at line 50 of file sample-app.c.

    + +
    +
    + +

    ◆ SW_FPGA_TOTAL_BUFFER_LEN

    + +
    +
    + + + + +
    #define SW_FPGA_TOTAL_BUFFER_LEN   4*1024*1024*1024
    +
    + +

    Definition at line 49 of file sample-app.c.

    + +
    +
    +

    Typedef Documentation

    + +

    ◆ XranLibConfigStruct

    + +
    +
    + + + + +
    typedef struct XranLibConfig XranLibConfigStruct
    +
    + +
    +
    +

    Enumeration Type Documentation

    + +

    ◆ SWXRANInterfaceTypeEnum

    + +
    +
    + + + + +
    enum SWXRANInterfaceTypeEnum
    +
    + + + + + + + + + + +
    Enumerator
    XRANFTHTX_OUT 
    XRANFTHTX_PRB_MAP_OUT 
    XRANFTHTX_SEC_DESC_OUT 
    XRANFTHRX_IN 
    XRANFTHRX_PRB_MAP_IN 
    XRANFTHTX_SEC_DESC_IN 
    XRANFTHRACH_IN 
    XRANSRS_IN 
    MAX_SW_XRAN_INTERFACE_NUM 
    + +

    Definition at line 101 of file sample-app.c.

    + +
    +
    +

    Function Documentation

    + +

    ◆ get_xran_iq_content()

    + +
    +
    + + + + + + + + +
    int get_xran_iq_content (void )
    +
    + +

    Definition at line 1139 of file sample-app.c.

    + +
    +
    + +

    ◆ init_xran()

    + +
    +
    + + + + + + + + +
    int32_t init_xran (void )
    +
    + +

    Definition at line 375 of file sample-app.c.

    + +
    +
    + +

    ◆ init_xran_iq_content()

    + +
    +
    + + + + + + + + +
    int init_xran_iq_content (void )
    +
    + +

    Definition at line 793 of file sample-app.c.

    + +
    +
    + +

    ◆ main()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    int main (int argc,
    char * argv[] 
    )
    +
    + +

    Definition at line 1319 of file sample-app.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + + + + +
    + +
    +
    + +

    ◆ physide_dl_tti_call_back()

    + +
    +
    + + + + + + + + +
    int physide_dl_tti_call_back (void * param)
    +
    + +

    Definition at line 351 of file sample-app.c.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + +
    + +
    +
    + +

    ◆ physide_ul_full_slot_call_back()

    + +
    +
    + + + + + + + + +
    int physide_ul_full_slot_call_back (void * param)
    +
    + +

    Definition at line 367 of file sample-app.c.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + +
    + +
    +
    + +

    ◆ physide_ul_half_slot_call_back()

    + +
    +
    + + + + + + + + +
    int physide_ul_half_slot_call_back (void * param)
    +
    + +

    Definition at line 359 of file sample-app.c.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + +
    + +
    +
    + +

    ◆ stop_xran()

    + +
    +
    + + + + + + + + +
    void stop_xran (void )
    +
    + +

    Definition at line 1122 of file sample-app.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + + +
    + +
    +
    + +

    ◆ timer_get_ticks()

    + +
    +
    + + + + + + + + +
    unsigned long timer_get_ticks (void )
    +
    +
    Parameters
    + + +
    void
    +
    +
    +
    Returns
    Ticks
    +

    This function reads the rtdsc clock and returns the current value in there.

    + +

    Definition at line 289 of file sample-app.c.

    + +
    +
    + +

    ◆ timer_set_tsc_freq_from_clock()

    + +
    +
    + + + + + + + + +
    int timer_set_tsc_freq_from_clock (void )
    +
    +
    Parameters
    + + +
    void
    +
    +
    +
    Returns
    0 if SUCCESS
    +

    This function gets the clock speed of the core and figures out number of ticks per usec. It is used by l1app and testmac applications to initialize the mlog utility

    + +

    Definition at line 323 of file sample-app.c.

    + +
    +
    + +

    ◆ version_print()

    + +
    +
    + + + + + + + + +
    void version_print (void )
    +
    + +

    Definition at line 1297 of file sample-app.c.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + +
    + +
    +
    + +

    ◆ xran_fh_rx_callback()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void xran_fh_rx_callback (void * pCallbackTag,
    int32_t status 
    )
    +
    + +

    Definition at line 226 of file sample-app.c.

    + +
    +
    + +

    ◆ xran_fh_rx_prach_callback()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void xran_fh_rx_prach_callback (void * pCallbackTag,
    int32_t status 
    )
    +
    + +

    Definition at line 246 of file sample-app.c.

    + +
    +
    + +

    ◆ xran_fh_rx_srs_callback()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void xran_fh_rx_srs_callback (void * pCallbackTag,
    xran_status_t status 
    )
    +
    + +

    Definition at line 261 of file sample-app.c.

    + +
    +
    +

    Variable Documentation

    + +

    ◆ nFpgaToSW_FTH_RxBufferLen

    + +
    +
    + + + + +
    uint32_t nFpgaToSW_FTH_RxBufferLen
    +
    + +

    Definition at line 71 of file sample-app.c.

    + +
    +
    + +

    ◆ nFpgaToSW_PRACH_RxBufferLen

    + +
    +
    + + + + +
    uint32_t nFpgaToSW_PRACH_RxBufferLen
    +
    + +

    Definition at line 72 of file sample-app.c.

    + +
    +
    + +

    ◆ nSW_ToFpga_FTH_TxBufferLen

    + +
    +
    + + + + +
    uint32_t nSW_ToFpga_FTH_TxBufferLen
    +
    + +

    Definition at line 73 of file sample-app.c.

    + +
    +
    + +

    ◆ old_rx_counter

    + +
    +
    + + + + +
    long old_rx_counter = 0
    +
    + +

    Definition at line 176 of file sample-app.c.

    + +
    +
    + +

    ◆ old_tx_counter

    + +
    +
    + + + + +
    long old_tx_counter = 0
    +
    + +

    Definition at line 177 of file sample-app.c.

    + +
    +
    + +

    ◆ pXranConf

    + +
    +
    + + + + +
    struct xran_fh_config* pXranConf = NULL
    +
    + +

    Definition at line 79 of file sample-app.c.

    + +
    +
    + +

    ◆ rx_bytes_counter

    + +
    +
    + + + + +
    long rx_bytes_counter
    +
    + +

    Definition at line 120 of file xran_common.c.

    + +
    +
    + +

    ◆ rx_bytes_per_sec

    + +
    +
    + + + + +
    long rx_bytes_per_sec
    +
    + +

    Definition at line 122 of file xran_common.c.

    + +
    +
    + +

    ◆ rx_counter

    + +
    +
    + + + + +
    long rx_counter
    +
    + +

    Definition at line 117 of file xran_common.c.

    + +
    +
    + +

    ◆ startupConfiguration

    + +
    +
    + + + + +
    RuntimeConfig startupConfiguration = {0}
    +
    + +

    Definition at line 68 of file sample-app.c.

    + +
    +
    + +

    ◆ state

    + +
    +
    + + + + +
    enum app_state state
    +
    + +

    Definition at line 62 of file sample-app.c.

    + +
    +
    + +

    ◆ tick_per_usec

    + +
    +
    + + + + +
    uint64_t tick_per_usec
    +
    + +

    Definition at line 64 of file sample-app.c.

    + +
    +
    + +

    ◆ tx_bytes_counter

    + +
    +
    + + + + +
    long tx_bytes_counter
    +
    + +

    Definition at line 119 of file xran_common.c.

    + +
    +
    + +

    ◆ tx_bytes_per_sec

    + +
    +
    + + + + +
    long tx_bytes_per_sec
    +
    + +

    Definition at line 121 of file xran_common.c.

    + +
    +
    + +

    ◆ tx_counter

    + +
    +
    + + + + +
    long tx_counter
    +
    + +

    Definition at line 118 of file xran_common.c.

    + +
    +
    + +

    ◆ xranConf

    + +
    +
    + + + + +
    struct xran_fh_config xranConf
    +
    + +

    Definition at line 78 of file sample-app.c.

    + +
    +
    + +

    ◆ xranHandle

    + +
    +
    + + + + +
    void* xranHandle = NULL
    +
    + +

    Definition at line 76 of file sample-app.c.

    + +
    +
    +
    + + + + diff --git a/docs/API/sample-app_8c__incl.map b/docs/API/sample-app_8c__incl.map new file mode 100644 index 0000000..5f08361 --- /dev/null +++ b/docs/API/sample-app_8c__incl.map @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/docs/API/sample-app_8c__incl.md5 b/docs/API/sample-app_8c__incl.md5 new file mode 100644 index 0000000..500ef28 --- /dev/null +++ b/docs/API/sample-app_8c__incl.md5 @@ -0,0 +1 @@ +dd221ff508984316b75a5d9f88c26fa3 \ No newline at end of file diff --git a/docs/API/sample-app_8c__incl.png b/docs/API/sample-app_8c__incl.png new file mode 100644 index 0000000..431f7fc Binary files /dev/null and b/docs/API/sample-app_8c__incl.png differ diff --git a/docs/API/sample-app_8c_a0ddf1224851353fc92bfbff6f499fa97_cgraph.map b/docs/API/sample-app_8c_a0ddf1224851353fc92bfbff6f499fa97_cgraph.map new file mode 100644 index 0000000..17b18a3 --- /dev/null +++ b/docs/API/sample-app_8c_a0ddf1224851353fc92bfbff6f499fa97_cgraph.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/API/sample-app_8c_a0ddf1224851353fc92bfbff6f499fa97_cgraph.md5 b/docs/API/sample-app_8c_a0ddf1224851353fc92bfbff6f499fa97_cgraph.md5 new file mode 100644 index 0000000..a09f5b2 --- /dev/null +++ b/docs/API/sample-app_8c_a0ddf1224851353fc92bfbff6f499fa97_cgraph.md5 @@ -0,0 +1 @@ +1c6b2dd9bc3d33aa46a78931a148ef72 \ No newline at end of file diff --git a/docs/API/sample-app_8c_a0ddf1224851353fc92bfbff6f499fa97_cgraph.png b/docs/API/sample-app_8c_a0ddf1224851353fc92bfbff6f499fa97_cgraph.png new file mode 100644 index 0000000..81e313d Binary files /dev/null and b/docs/API/sample-app_8c_a0ddf1224851353fc92bfbff6f499fa97_cgraph.png differ diff --git a/docs/API/sample-app_8c_a24a2bdc164076e67087d8fa480d18728_icgraph.map b/docs/API/sample-app_8c_a24a2bdc164076e67087d8fa480d18728_icgraph.map new file mode 100644 index 0000000..9cf36e9 --- /dev/null +++ b/docs/API/sample-app_8c_a24a2bdc164076e67087d8fa480d18728_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/sample-app_8c_a24a2bdc164076e67087d8fa480d18728_icgraph.md5 b/docs/API/sample-app_8c_a24a2bdc164076e67087d8fa480d18728_icgraph.md5 new file mode 100644 index 0000000..2ca1035 --- /dev/null +++ b/docs/API/sample-app_8c_a24a2bdc164076e67087d8fa480d18728_icgraph.md5 @@ -0,0 +1 @@ +6df224b2a8e10f826d959a5d69a24f15 \ No newline at end of file diff --git a/docs/API/sample-app_8c_a24a2bdc164076e67087d8fa480d18728_icgraph.png b/docs/API/sample-app_8c_a24a2bdc164076e67087d8fa480d18728_icgraph.png new file mode 100644 index 0000000..c1e632d Binary files /dev/null and b/docs/API/sample-app_8c_a24a2bdc164076e67087d8fa480d18728_icgraph.png differ diff --git a/docs/API/sample-app_8c_a52c968a559117b66a05591f958da75c2_icgraph.map b/docs/API/sample-app_8c_a52c968a559117b66a05591f958da75c2_icgraph.map new file mode 100644 index 0000000..89deea2 --- /dev/null +++ b/docs/API/sample-app_8c_a52c968a559117b66a05591f958da75c2_icgraph.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/API/sample-app_8c_a52c968a559117b66a05591f958da75c2_icgraph.md5 b/docs/API/sample-app_8c_a52c968a559117b66a05591f958da75c2_icgraph.md5 new file mode 100644 index 0000000..2976775 --- /dev/null +++ b/docs/API/sample-app_8c_a52c968a559117b66a05591f958da75c2_icgraph.md5 @@ -0,0 +1 @@ +bc4d6b9d7aadf1b1c92ef10e9684f080 \ No newline at end of file diff --git a/docs/API/sample-app_8c_a52c968a559117b66a05591f958da75c2_icgraph.png b/docs/API/sample-app_8c_a52c968a559117b66a05591f958da75c2_icgraph.png new file mode 100644 index 0000000..490b562 Binary files /dev/null and b/docs/API/sample-app_8c_a52c968a559117b66a05591f958da75c2_icgraph.png differ diff --git a/docs/API/sample-app_8c_a874ba95e7c465e83ccc26ab623eec60c_icgraph.map b/docs/API/sample-app_8c_a874ba95e7c465e83ccc26ab623eec60c_icgraph.map new file mode 100644 index 0000000..7035985 --- /dev/null +++ b/docs/API/sample-app_8c_a874ba95e7c465e83ccc26ab623eec60c_icgraph.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/API/sample-app_8c_a874ba95e7c465e83ccc26ab623eec60c_icgraph.md5 b/docs/API/sample-app_8c_a874ba95e7c465e83ccc26ab623eec60c_icgraph.md5 new file mode 100644 index 0000000..a5af692 --- /dev/null +++ b/docs/API/sample-app_8c_a874ba95e7c465e83ccc26ab623eec60c_icgraph.md5 @@ -0,0 +1 @@ +23633f76ca2b5271131340407a09d36c \ No newline at end of file diff --git a/docs/API/sample-app_8c_a874ba95e7c465e83ccc26ab623eec60c_icgraph.png b/docs/API/sample-app_8c_a874ba95e7c465e83ccc26ab623eec60c_icgraph.png new file mode 100644 index 0000000..10f3eae Binary files /dev/null and b/docs/API/sample-app_8c_a874ba95e7c465e83ccc26ab623eec60c_icgraph.png differ diff --git a/docs/API/sample-app_8c_aa8882d42d07fbd9750da4db4395b438c_icgraph.map b/docs/API/sample-app_8c_aa8882d42d07fbd9750da4db4395b438c_icgraph.map new file mode 100644 index 0000000..7cf8b4a --- /dev/null +++ b/docs/API/sample-app_8c_aa8882d42d07fbd9750da4db4395b438c_icgraph.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/API/sample-app_8c_aa8882d42d07fbd9750da4db4395b438c_icgraph.md5 b/docs/API/sample-app_8c_aa8882d42d07fbd9750da4db4395b438c_icgraph.md5 new file mode 100644 index 0000000..3575a30 --- /dev/null +++ b/docs/API/sample-app_8c_aa8882d42d07fbd9750da4db4395b438c_icgraph.md5 @@ -0,0 +1 @@ +e54fb39155ab33ddcc4c15e304b6a751 \ No newline at end of file diff --git a/docs/API/sample-app_8c_aa8882d42d07fbd9750da4db4395b438c_icgraph.png b/docs/API/sample-app_8c_aa8882d42d07fbd9750da4db4395b438c_icgraph.png new file mode 100644 index 0000000..f840053 Binary files /dev/null and b/docs/API/sample-app_8c_aa8882d42d07fbd9750da4db4395b438c_icgraph.png differ diff --git a/docs/API/sample-app_8c_ac871776e03d4a4ae1717d2600a7f7dff_cgraph.map b/docs/API/sample-app_8c_ac871776e03d4a4ae1717d2600a7f7dff_cgraph.map new file mode 100644 index 0000000..5059c44 --- /dev/null +++ b/docs/API/sample-app_8c_ac871776e03d4a4ae1717d2600a7f7dff_cgraph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/sample-app_8c_ac871776e03d4a4ae1717d2600a7f7dff_cgraph.md5 b/docs/API/sample-app_8c_ac871776e03d4a4ae1717d2600a7f7dff_cgraph.md5 new file mode 100644 index 0000000..135102d --- /dev/null +++ b/docs/API/sample-app_8c_ac871776e03d4a4ae1717d2600a7f7dff_cgraph.md5 @@ -0,0 +1 @@ +5dcfb04b1144b9825a8bf2b37be306b6 \ No newline at end of file diff --git a/docs/API/sample-app_8c_ac871776e03d4a4ae1717d2600a7f7dff_cgraph.png b/docs/API/sample-app_8c_ac871776e03d4a4ae1717d2600a7f7dff_cgraph.png new file mode 100644 index 0000000..68b1a13 Binary files /dev/null and b/docs/API/sample-app_8c_ac871776e03d4a4ae1717d2600a7f7dff_cgraph.png differ diff --git a/docs/API/sample-app_8c_source.html b/docs/API/sample-app_8c_source.html new file mode 100644 index 0000000..8649012 --- /dev/null +++ b/docs/API/sample-app_8c_source.html @@ -0,0 +1,509 @@ + + + + + + + +o-du/phy: sample-app.c Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    sample-app.c
    +
    +
    +Go to the documentation of this file.
    1 /******************************************************************************
    2 *
    3 * Copyright (c) 2019 Intel.
    4 *
    5 * Licensed under the Apache License, Version 2.0 (the "License");
    6 * you may not use this file except in compliance with the License.
    7 * You may obtain a copy of the License at
    8 *
    9 * http://www.apache.org/licenses/LICENSE-2.0
    10 *
    11 * Unless required by applicable law or agreed to in writing, software
    12 * distributed under the License is distributed on an "AS IS" BASIS,
    13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    14 * See the License for the specific language governing permissions and
    15 * limitations under the License.
    16 *
    17 *******************************************************************************/
    18 
    19 #define _GNU_SOURCE
    20 #include <unistd.h>
    21 #include <sys/syscall.h>
    22 #include <sched.h>
    23 #include <assert.h>
    24 #include <err.h>
    25 #include <libgen.h>
    26 #include <sys/time.h>
    27 #include <time.h>
    28 #include <unistd.h>
    29 #include <stdio.h>
    30 #include <fcntl.h>
    31 #include <pthread.h>
    32 #include <sys/stat.h>
    33 #include <unistd.h>
    34 
    35 
    36 #include "common.h"
    37 #include "config.h"
    38 #include "xran_mlog_lnx.h"
    39 
    40 #include "xran_fh_o_du.h"
    41 #include "xran_compression.h"
    42 #include "xran_cp_api.h"
    43 #include "xran_sync_api.h"
    44 #include "xran_mlog_task_id.h"
    45 
    46 #define MAX_BBU_POOL_CORE_MASK (4)
    47 
    48 
    49 #define SW_FPGA_TOTAL_BUFFER_LEN 4*1024*1024*1024
    50 #define SW_FPGA_SEGMENT_BUFFER_LEN 1*1024*1024*1024
    51 #define SW_FPGA_FH_TOTAL_BUFFER_LEN 1*1024*1024*1024
    52 #define FPGA_TO_SW_PRACH_RX_BUFFER_LEN (8192)
    53 
    54 #define NSEC_PER_SEC 1000000000
    55 
    56 #define MAX_PKT_BURST (448+4) // 4x14x8
    57 #define N_MAX_BUFFER_SEGMENT MAX_PKT_BURST
    58 
    59 #define MAIN_PRIORITY 98
    60 #define NUM_OF_SUBFRAME_PER_FRAME (10)
    61 
    63 
    64 uint64_t tick_per_usec;
    65 static volatile uint64_t timer_last_irq_tick = 0;
    66 static uint64_t tsc_resolution_hz = 0;
    67 
    69 
    70 /* buffers size */
    74 
    75 static struct xran_fh_init xranInit;
    76 void * xranHandle = NULL;
    77 
    79 struct xran_fh_config *pXranConf = NULL;
    80 
    81 typedef struct
    82 {
    83  uint32_t phaseFlag :1;
    84  uint32_t NRARFCN :22;
    85  uint32_t SULFreShift :1;
    86  uint32_t SULFlag :1;
    87  uint32_t rsv :7;
    89 
    90 typedef struct XranLibConfig
    91 {
    92  uint32_t nDriverCoreId;
    93  uint32_t nTimingAdvance;
    94  uint32_t nFhConfig;
    95  uint32_t nFhBufIntFlag;
    96  uint32_t nSectorNum;
    97  uint32_t nNrOfSlotInSf;
    98  uint32_t nNrofSfInFrame;
    101 typedef enum {
    112 
    113 /*
    114  * manage one cell's all Ethernet frames for one DL or UL LTE subframe
    115  */
    116 typedef struct {
    117  /* -1-this subframe is not used in current frame format
    118  0-this subframe can be transmitted, i.e., data is ready
    119  1-this subframe is waiting transmission, i.e., data is not ready
    120  10 - DL transmission missing deadline. When FE needs this subframe data but bValid is still 1,
    121  set bValid to 10.
    122  */
    123  int32_t bValid ; // when UL rx, it is subframe index.
    124  int32_t nSegToBeGen;
    125  int32_t nSegGenerated; // how many date segment are generated by DL LTE processing or received from FE
    126  // -1 means that DL packet to be transmitted is not ready in BS
    127  int32_t nSegTransferred; // number of data segments has been transmitted or received
    128  struct rte_mbuf *pData[N_MAX_BUFFER_SEGMENT]; // point to DPDK allocated memory pool
    129  struct xran_buffer_list sBufferList;
    131 
    132 typedef struct {
    133  uint64_t nCoreMask;
    134  int16_t cpuSocketId;
    135  uint8_t nDriverCoreId;
    136  uint8_t nFHCoreId;
    137 
    138  struct rte_mempool *bbuio_buf_pool;
    139 
    140  /* io struct */
    146 
    147  /* Cat B */
    149 
    150  /* buffers lists */
    156 
    157  /* Cat B SRS buffers */
    159 
    160  void* nInstanceHandle[XRAN_PORTS_NUM][XRAN_MAX_SECTOR_NR]; // instance per sector
    161  uint32_t nBufPoolIndex[XRAN_MAX_SECTOR_NR][MAX_SW_XRAN_INTERFACE_NUM]; // every api owns unique buffer pool
    162  uint16_t nInstanceNum;
    163 
    164  uint64_t nTscTiming[XRAN_N_FE_BUF_LEN]; // records the TSC when a timing packet is received.
    166 
    167 static BbuXranIoIfStruct gsXranIoIf;
    168 static XranLibConfigStruct *gpXranLibConfig = NULL;
    169 
    170 extern long rx_counter;
    171 extern long tx_counter;
    172 extern long tx_bytes_counter;
    173 extern long rx_bytes_counter;
    174 extern long tx_bytes_per_sec;
    175 extern long rx_bytes_per_sec;
    176 long old_rx_counter = 0;
    177 long old_tx_counter = 0;
    178 
    179 
    180 
    181 #define CPU_HZ tick_per_usec //us
    182 
    183 /* Application User space functions */
    184 void xran_fh_rx_callback(void *pCallbackTag, int32_t status);
    185 void xran_fh_rx_prach_callback(void *pCallbackTag, int32_t status);
    186 
    187 static BbuXranIoIfStruct *xran_get_ctx(void)
    188 {
    189  return &gsXranIoIf;
    190 }
    191 
    192 static void print_menu()
    193 {
    194  puts("+---------------------------------------+");
    195  puts("| Press 1 to start 5G NR XRAN traffic |");
    196  puts("| Press 2 reserved for future use |");
    197  puts("| Press 3 to quit |");
    198  puts("+---------------------------------------+");
    199 }
    200 
    201 static int32_t get_xran_sfidx(uint8_t nNrOfSlotInSf)
    202 {
    203  int32_t nSfIdx = -1;
    204  uint32_t nFrameIdx;
    205  uint32_t nSubframeIdx;
    206  uint32_t nSlotIdx;
    207  uint64_t nSecond;
    208 
    209  uint32_t nXranTime = xran_get_slot_idx(&nFrameIdx, &nSubframeIdx, &nSlotIdx, &nSecond);
    210  nSfIdx = nFrameIdx*NUM_OF_SUBFRAME_PER_FRAME*nNrOfSlotInSf
    211  + nSubframeIdx*nNrOfSlotInSf
    212  + nSlotIdx;
    213 #if 0
    214  printf("\nxranTime is %d, return is %d, radio frame is %d, subframe is %d slot is %d tsc is %llu us",
    215  nXranTime,
    216  nSfIdx,
    217  nFrameIdx,
    218  nSubframeIdx,
    219  nSlotIdx,
    220  __rdtsc()/CPU_HZ);
    221 #endif
    222 
    223  return nSfIdx;
    224 }
    225 
    226 void xran_fh_rx_callback(void *pCallbackTag, xran_status_t status)
    227 {
    228  uint64_t t1 = MLogTick();
    229  uint32_t mlogVar[10];
    230  uint32_t mlogVarCnt = 0;
    231  uint8_t Numerlogy = xranConf.frame_conf.nNumerology;
    232  uint8_t nNrOfSlotInSf = 1<<Numerlogy;
    233  int32_t sfIdx = get_xran_sfidx(nNrOfSlotInSf);
    234 
    235  mlogVar[mlogVarCnt++] = 0xCCCCCCCC;
    236  mlogVar[mlogVarCnt++] = status >> 16; /* tti */
    237  mlogVar[mlogVarCnt++] = status & 0xFF; /* sym */
    238  mlogVar[mlogVarCnt++] = (uint32_t)sfIdx;
    239  MLogAddVariables(mlogVarCnt, mlogVar, MLogTick());
    240  rte_pause();
    241 
    243  return;
    244 }
    245 
    246 void xran_fh_rx_prach_callback(void *pCallbackTag, xran_status_t status)
    247 {
    248  uint64_t t1 = MLogTick();
    249  uint32_t mlogVar[10];
    250  uint32_t mlogVarCnt = 0;
    251 
    252  mlogVar[mlogVarCnt++] = 0xDDDDDDDD;
    253  mlogVar[mlogVarCnt++] = status >> 16; /* tti */
    254  mlogVar[mlogVarCnt++] = status & 0xFF; /* sym */
    255  MLogAddVariables(mlogVarCnt, mlogVar, MLogTick());
    256  rte_pause();
    257 
    259 }
    260 
    261 void xran_fh_rx_srs_callback(void *pCallbackTag, xran_status_t status)
    262 {
    263  uint64_t t1 = MLogTick();
    264  uint32_t mlogVar[10];
    265  uint32_t mlogVarCnt = 0;
    266 
    267  mlogVar[mlogVarCnt++] = 0xCCCCCCCC;
    268  mlogVar[mlogVarCnt++] = status >> 16; /* tti */
    269  mlogVar[mlogVarCnt++] = status & 0xFF; /* sym */
    270  MLogAddVariables(mlogVarCnt, mlogVar, MLogTick());
    271  rte_pause();
    272 
    274 }
    275 
    276 
    277 //-------------------------------------------------------------------------------------------
    288 //-------------------------------------------------------------------------------------------
    289 unsigned long timer_get_ticks(void)
    290 {
    291  unsigned long ret;
    292  union
    293  {
    294  unsigned long tsc_64;
    295  struct
    296  {
    297  uint32_t lo_32;
    298  uint32_t hi_32;
    299  };
    300  } tsc;
    301 
    302  __asm volatile("rdtsc" :
    303  "=a" (tsc.lo_32),
    304  "=d" (tsc.hi_32));
    305 
    306  ret = ((unsigned long)tsc.tsc_64);
    307  return ret;
    308 }
    309 
    310 //-------------------------------------------------------------------------------------------
    322 //-------------------------------------------------------------------------------------------
    324 {
    325 #define NS_PER_SEC 1E9
    326  struct timespec sleeptime = {.tv_nsec = 5E8 }; /* 1/2 second */
    327  struct timespec t_start, t_end;
    328  uint64_t tsc_resolution_hz = 0;
    329 
    330  if (clock_gettime(CLOCK_MONOTONIC_RAW, &t_start) == 0)
    331  {
    332  unsigned long ns, end, start = timer_get_ticks();
    333  nanosleep(&sleeptime,NULL);
    334  clock_gettime(CLOCK_MONOTONIC_RAW, &t_end);
    335  end = timer_get_ticks();
    336  ns = ((t_end.tv_sec - t_start.tv_sec) * NS_PER_SEC);
    337  ns += (t_end.tv_nsec - t_start.tv_nsec);
    338 
    339  double secs = (double)ns/NS_PER_SEC;
    340  tsc_resolution_hz = (unsigned long)((end - start)/secs);
    341 
    342  tick_per_usec = (tsc_resolution_hz / 1000000);
    343  printf("System clock (rdtsc) resolution %lu [Hz]\n", tsc_resolution_hz);
    344  printf("Ticks per us %lu\n", tick_per_usec);
    345  return 0;
    346  }
    347 
    348  return -1;
    349 }
    350 
    351 int physide_dl_tti_call_back(void * param)
    352 {
    353  uint64_t t1 = MLogTick();
    354  rte_pause();
    356  return 0;
    357 }
    358 
    360 {
    361  uint64_t t1 = MLogTick();
    362  rte_pause();
    364  return 0;
    365 }
    366 
    368 {
    369  uint64_t t1 = MLogTick();
    370  rte_pause();
    372  return 0;
    373 }
    374 
    375 int32_t init_xran(void)
    376 {
    377  BbuXranIoIfStruct *psBbuIo = xran_get_ctx();
    378  xran_status_t status;
    379  int32_t nSectorIndex[XRAN_MAX_SECTOR_NR];
    380  int32_t nSectorNum;
    381  int32_t i, j, k, z;
    382 
    383  void *ptr;
    384  void *mb;
    385  uint32_t *u32dptr;
    386  uint16_t *u16dptr;
    387  uint8_t *u8dptr;
    388 
    389  SWXRANInterfaceTypeEnum eInterfaceType;
    390 
    391  XranLibConfigStruct *ptrLibConfig;
    392 
    399 
    400  for (nSectorNum = 0; nSectorNum < XRAN_MAX_SECTOR_NR; nSectorNum++)
    401  {
    402  nSectorIndex[nSectorNum] = nSectorNum;
    403  }
    404 
    405  nSectorNum = numCCPorts;
    406  printf ("XRAN front haul xran_mm_init \n");
    408  if (status != XRAN_STATUS_SUCCESS)
    409  {
    410  printf ("Failed at XRAN front haul xran_mm_init \n");
    411  exit(-1);
    412  }
    413 
    414  psBbuIo->nInstanceNum = numCCPorts;
    415 
    416  for (k = 0; k < XRAN_PORTS_NUM; k++) {
    417  status = xran_sector_get_instances (xranHandle, psBbuIo->nInstanceNum,&psBbuIo->nInstanceHandle[k][0]);
    418  if (status != XRAN_STATUS_SUCCESS)
    419  {
    420  printf ("get sector instance failed %d for XRAN nInstanceNum %d\n",k, psBbuIo->nInstanceNum);
    421  exit(-1);
    422  }
    423  for (i = 0; i < psBbuIo->nInstanceNum; i++){
    424  printf("%s [%d]: CC %d handle %p\n", __FUNCTION__, k, i, psBbuIo->nInstanceHandle[0][i]);
    425  }
    426  }
    427 
    428  printf("Sucess xran_mm_init \n");
    429  gpXranLibConfig = (XranLibConfigStruct*)malloc(sizeof(XranLibConfigStruct));
    430  ptrLibConfig = gpXranLibConfig;
    431  if (ptrLibConfig)
    432  {
    433  #if 0
    434  ptrLibConfig->nDriverCoreId = psBbuIo->nDriverCoreId;
    435  ptrLibConfig->pFecInstanceHandles = &(psBbuIo->nInstanceHandle[FPGA_FEC][0]);
    436  ptrLibConfig->pFthInstanceHandles = &(psBbuIo->nInstanceHandle[FPGA_FRONTHAUL][0]);
    437  ptrLibConfig->nTimingAdvance = psFPGAInitPara->nTimeAdvance;
    438  ptrLibConfig->nFhConfig = psFPGAInitPara->nEthPorts;
    439  ptrLibConfig->nFhBufIntFlag = 0; //need init fronthaul buffer, then set to 1.
    441  ptrLibConfig->nNrOfSlotInSf = pConfigParams->nNumOfSlotPerSubframe;
    442  if (pConfigParams->nNumerology < 3)
    443  {
    444  ptrLibConfig->nSectorNum = psFPGAInitPara->nSecNum;
    445  }
    446  #endif
    447  }
    448  else
    449  {
    450  printf ("could not allocate ptrLibConfig in init_xran\n");
    451  exit(-1);
    452  }
    453 
    454  printf("nSectorNum %d\n", nSectorNum);
    455 
    456  /* Init Memory */
    457  for(i = 0; i<nSectorNum; i++)
    458  {
    459  eInterfaceType = XRANFTHTX_OUT;
    460  printf("nSectorIndex[%d] = %d\n",i, nSectorIndex[i]);
    461  status = xran_bm_init(psBbuIo->nInstanceHandle[0][i], &psBbuIo->nBufPoolIndex[nSectorIndex[i]][eInterfaceType],
    463  if(XRAN_STATUS_SUCCESS != status) {
    464  rte_panic("Failed at xran_bm_init , status %d\n", status);
    465  }
    466  for(j = 0; j < XRAN_N_FE_BUF_LEN; j++)
    467  {
    468  for(z = 0; z < XRAN_MAX_ANTENNA_NR; z++){
    469  psBbuIo->sFrontHaulTxBbuIoBufCtrl[j][i][z].bValid = 0;
    470  psBbuIo->sFrontHaulTxBbuIoBufCtrl[j][i][z].nSegGenerated = -1;
    471  psBbuIo->sFrontHaulTxBbuIoBufCtrl[j][i][z].nSegToBeGen = -1;
    472  psBbuIo->sFrontHaulTxBbuIoBufCtrl[j][i][z].nSegTransferred = 0;
    474  psBbuIo->sFrontHaulTxBbuIoBufCtrl[j][i][z].sBufferList.pBuffers = &psBbuIo->sFrontHaulTxBuffers[j][i][z][0];
    475 
    476  for(k = 0; k < XRAN_NUM_OF_SYMBOL_PER_SLOT; k++)
    477  {
    478  psBbuIo->sFrontHaulTxBbuIoBufCtrl[j][i][z].sBufferList.pBuffers[k].nElementLenInBytes = nSW_ToFpga_FTH_TxBufferLen; // 14 symbols 3200bytes/symbol
    481  status = xran_bm_allocate_buffer(psBbuIo->nInstanceHandle[0][i], psBbuIo->nBufPoolIndex[nSectorIndex[i]][eInterfaceType],&ptr, &mb);
    482  if(XRAN_STATUS_SUCCESS != status){
    483  rte_panic("Failed at xran_bm_allocate_buffer , status %d\n",status);
    484  }
    485  psBbuIo->sFrontHaulTxBbuIoBufCtrl[j][i][z].sBufferList.pBuffers[k].pData = (uint8_t *)ptr;
    486  psBbuIo->sFrontHaulTxBbuIoBufCtrl[j][i][z].sBufferList.pBuffers[k].pCtrl = (void *)mb;
    487 
    488  if(ptr){
    489  u32dptr = (uint32_t*)(ptr);
    490  uint8_t *ptr_temp = (uint8_t *)ptr;
    491  memset(u32dptr, 0x0, nSW_ToFpga_FTH_TxBufferLen);
    492  // ptr_temp[0] = j; // TTI
    493  // ptr_temp[1] = i; // Sec
    494  // ptr_temp[2] = z; // Ant
    495  // ptr_temp[3] = k; // sym
    496  }
    497  }
    498  }
    499  }
    500 
    501  /* C-plane DL */
    502  eInterfaceType = XRANFTHTX_SEC_DESC_OUT;
    503  status = xran_bm_init(psBbuIo->nInstanceHandle[0][i], &psBbuIo->nBufPoolIndex[nSectorIndex[i]][eInterfaceType],
    504  XRAN_N_FE_BUF_LEN*XRAN_MAX_ANTENNA_NR*XRAN_NUM_OF_SYMBOL_PER_SLOT*XRAN_MAX_SECTIONS_PER_SYM, sizeof(struct xran_section_desc));
    505  if(XRAN_STATUS_SUCCESS != status) {
    506  rte_panic("Failed at xran_bm_init , status %d\n", status);
    507  }
    508 
    509  eInterfaceType = XRANFTHTX_PRB_MAP_OUT;
    510  status = xran_bm_init(psBbuIo->nInstanceHandle[0][i], &psBbuIo->nBufPoolIndex[nSectorIndex[i]][eInterfaceType],
    511  XRAN_N_FE_BUF_LEN*XRAN_MAX_ANTENNA_NR*XRAN_NUM_OF_SYMBOL_PER_SLOT, sizeof(struct xran_prb_map));
    512  if(XRAN_STATUS_SUCCESS != status) {
    513  rte_panic("Failed at xran_bm_init , status %d\n", status);
    514  }
    515 
    516  for(j = 0; j < XRAN_N_FE_BUF_LEN; j++)
    517  {
    518  for(z = 0; z < XRAN_MAX_ANTENNA_NR; z++){
    519  psBbuIo->sFrontHaulTxPrbMapBbuIoBufCtrl[j][i][z].bValid = 0;
    520  psBbuIo->sFrontHaulTxPrbMapBbuIoBufCtrl[j][i][z].nSegGenerated = -1;
    521  psBbuIo->sFrontHaulTxPrbMapBbuIoBufCtrl[j][i][z].nSegToBeGen = -1;
    522  psBbuIo->sFrontHaulTxPrbMapBbuIoBufCtrl[j][i][z].nSegTransferred = 0;
    524  psBbuIo->sFrontHaulTxPrbMapBbuIoBufCtrl[j][i][z].sBufferList.pBuffers = &psBbuIo->sFrontHaulTxPrbMapBuffers[j][i][z];
    525 
    526  {
    530  status = xran_bm_allocate_buffer(psBbuIo->nInstanceHandle[0][i], psBbuIo->nBufPoolIndex[nSectorIndex[i]][eInterfaceType],&ptr, &mb);
    531  if(XRAN_STATUS_SUCCESS != status) {
    532  rte_panic("Failed at xran_bm_allocate_buffer , status %d\n",status);
    533  }
    534  psBbuIo->sFrontHaulTxPrbMapBbuIoBufCtrl[j][i][z].sBufferList.pBuffers->pData = (uint8_t *)ptr;
    535  psBbuIo->sFrontHaulTxPrbMapBbuIoBufCtrl[j][i][z].sBufferList.pBuffers->pCtrl = (void *)mb;
    536 
    537  if(ptr){
    538  void *sd_ptr;
    539  void *sd_mb;
    540  int elm_id;
    541  struct xran_prb_map * p_rb_map = (struct xran_prb_map *)ptr;
    542  if (startupConfiguration.appMode == APP_O_DU)
    543  memcpy(ptr, &startupConfiguration.PrbMapDl, sizeof(struct xran_prb_map));
    544  else
    545  memcpy(ptr, &startupConfiguration.PrbMapUl, sizeof(struct xran_prb_map));
    546 
    547  for (elm_id = 0; elm_id < p_rb_map->nPrbElm; elm_id++){
    548  struct xran_prb_elm *pPrbElem = &p_rb_map->prbMap[elm_id];
    549  for(k = 0; k < XRAN_NUM_OF_SYMBOL_PER_SLOT; k++){
    550  status = xran_bm_allocate_buffer(psBbuIo->nInstanceHandle[0][i], psBbuIo->nBufPoolIndex[nSectorIndex[i]][XRANFTHTX_SEC_DESC_OUT],&sd_ptr, &sd_mb);
    551  if(XRAN_STATUS_SUCCESS != status){
    552  rte_panic("SD Failed at xran_bm_allocate_buffer , status %d\n",status);
    553  }
    554  pPrbElem->p_sec_desc[k] = sd_ptr;
    555  }
    556  }
    557  }
    558  }
    559  }
    560  }
    561  }
    562 
    563  for(i = 0; i<nSectorNum; i++)
    564  {
    565  eInterfaceType = XRANFTHRX_IN;
    567  if(XRAN_STATUS_SUCCESS != status)
    568  {
    569  printf("Failed at xran_bm_init, status %d\n", status);
    570  iAssert(status == XRAN_STATUS_SUCCESS);
    571  }
    572 
    573  for(j = 0;j < XRAN_N_FE_BUF_LEN; j++)
    574  {
    575  for(z = 0; z < XRAN_MAX_ANTENNA_NR; z++){
    576  psBbuIo->sFrontHaulRxBbuIoBufCtrl[j][i][z].bValid = 0;
    577  psBbuIo->sFrontHaulRxBbuIoBufCtrl[j][i][z].nSegGenerated = -1;
    578  psBbuIo->sFrontHaulRxBbuIoBufCtrl[j][i][z].nSegToBeGen = -1;
    579  psBbuIo->sFrontHaulRxBbuIoBufCtrl[j][i][z].nSegTransferred = 0;
    581  psBbuIo->sFrontHaulRxBbuIoBufCtrl[j][i][z].sBufferList.pBuffers = &psBbuIo->sFrontHaulRxBuffers[j][i][z][0];
    582  for(k = 0; k< XRAN_NUM_OF_SYMBOL_PER_SLOT; k++)
    583  {
    584  psBbuIo->sFrontHaulRxBbuIoBufCtrl[j][i][z].sBufferList.pBuffers[k].nElementLenInBytes = nFpgaToSW_FTH_RxBufferLen; // 1 symbols 3200bytes
    587  status = xran_bm_allocate_buffer(psBbuIo->nInstanceHandle[0][i],psBbuIo->nBufPoolIndex[nSectorIndex[i]][eInterfaceType],&ptr, &mb);
    588  if(XRAN_STATUS_SUCCESS != status) {
    589  rte_panic("Failed at xran_bm_allocate_buffer , status %d\n",status);
    590  }
    591  psBbuIo->sFrontHaulRxBbuIoBufCtrl[j][i][z].sBufferList.pBuffers[k].pData = (uint8_t *)ptr;
    592  psBbuIo->sFrontHaulRxBbuIoBufCtrl[j][i][z].sBufferList.pBuffers[k].pCtrl = (void *) mb;
    593  if(ptr){
    594  u32dptr = (uint32_t*)(ptr);
    595  uint8_t *ptr_temp = (uint8_t *)ptr;
    596  memset(u32dptr, 0x0, nFpgaToSW_FTH_RxBufferLen);
    597  // ptr_temp[0] = j; // TTI
    598  // ptr_temp[1] = i; // Sec
    599  // ptr_temp[2] = z; // Ant
    600  // ptr_temp[3] = k; // sym
    601  }
    602  }
    603  }
    604  }
    605 
    606  /* C-plane */
    607  eInterfaceType = XRANFTHTX_SEC_DESC_IN;
    608  status = xran_bm_init(psBbuIo->nInstanceHandle[0][i], &psBbuIo->nBufPoolIndex[nSectorIndex[i]][eInterfaceType],
    609  XRAN_N_FE_BUF_LEN*XRAN_MAX_ANTENNA_NR*XRAN_NUM_OF_SYMBOL_PER_SLOT*XRAN_MAX_SECTIONS_PER_SYM, sizeof(struct xran_section_desc));
    610  if(XRAN_STATUS_SUCCESS != status) {
    611  rte_panic("Failed at xran_bm_init , status %d\n", status);
    612  }
    613  eInterfaceType = XRANFTHRX_PRB_MAP_IN;
    614  status = xran_bm_init(psBbuIo->nInstanceHandle[0][i], &psBbuIo->nBufPoolIndex[nSectorIndex[i]][eInterfaceType],
    615  XRAN_N_FE_BUF_LEN*XRAN_MAX_ANTENNA_NR*XRAN_NUM_OF_SYMBOL_PER_SLOT, sizeof(struct xran_prb_map));
    616  if(XRAN_STATUS_SUCCESS != status) {
    617  rte_panic("Failed at xran_bm_init, status %d\n", status);
    618  }
    619 
    620  for(j = 0;j < XRAN_N_FE_BUF_LEN; j++) {
    621  for(z = 0; z < XRAN_MAX_ANTENNA_NR; z++){
    622  psBbuIo->sFrontHaulRxPrbMapBbuIoBufCtrl[j][i][z].bValid = 0;
    623  psBbuIo->sFrontHaulRxPrbMapBbuIoBufCtrl[j][i][z].nSegGenerated = -1;
    624  psBbuIo->sFrontHaulRxPrbMapBbuIoBufCtrl[j][i][z].nSegToBeGen = -1;
    625  psBbuIo->sFrontHaulRxPrbMapBbuIoBufCtrl[j][i][z].nSegTransferred = 0;
    627  psBbuIo->sFrontHaulRxPrbMapBbuIoBufCtrl[j][i][z].sBufferList.pBuffers = &psBbuIo->sFrontHaulRxPrbMapBuffers[j][i][z];
    628  {
    632  status = xran_bm_allocate_buffer(psBbuIo->nInstanceHandle[0][i],psBbuIo->nBufPoolIndex[nSectorIndex[i]][eInterfaceType],&ptr, &mb);
    633  if(XRAN_STATUS_SUCCESS != status) {
    634  rte_panic("Failed at xran_bm_allocate_buffer , status %d\n",status);
    635  }
    636  psBbuIo->sFrontHaulRxPrbMapBbuIoBufCtrl[j][i][z].sBufferList.pBuffers->pData = (uint8_t *)ptr;
    637  psBbuIo->sFrontHaulRxPrbMapBbuIoBufCtrl[j][i][z].sBufferList.pBuffers->pCtrl = (void *)mb;
    638  if(ptr){
    639  void *sd_ptr;
    640  void *sd_mb;
    641  int elm_id;
    642  struct xran_prb_map * p_rb_map = (struct xran_prb_map *)ptr;
    643 
    644  if (startupConfiguration.appMode == APP_O_DU)
    645  memcpy(ptr, &startupConfiguration.PrbMapUl, sizeof(struct xran_prb_map));
    646  else
    647  memcpy(ptr, &startupConfiguration.PrbMapDl, sizeof(struct xran_prb_map));
    648 
    649  for (elm_id = 0; elm_id < p_rb_map->nPrbElm; elm_id++){
    650  struct xran_prb_elm *pPrbElem = &p_rb_map->prbMap[elm_id];
    651  for(k = 0; k < XRAN_NUM_OF_SYMBOL_PER_SLOT; k++){
    652  status = xran_bm_allocate_buffer(psBbuIo->nInstanceHandle[0][i], psBbuIo->nBufPoolIndex[nSectorIndex[i]][XRANFTHTX_SEC_DESC_IN],&sd_ptr, &sd_mb);
    653  if(XRAN_STATUS_SUCCESS != status){
    654  rte_panic("SD Failed at xran_bm_allocate_buffer , status %d\n",status);
    655  }
    656  pPrbElem->p_sec_desc[k] = sd_ptr;
    657  }
    658  }
    659  }
    660  }
    661  }
    662  }
    663  }
    664 
    665 
    666  // add prach rx buffer
    667  for(i = 0; i<nSectorNum; i++)
    668  {
    669  eInterfaceType = XRANFTHRACH_IN;
    671  if(XRAN_STATUS_SUCCESS != status) {
    672  rte_panic("Failed at xran_bm_init, status %d\n", status);
    673  }
    674  for(j = 0;j < XRAN_N_FE_BUF_LEN; j++)
    675  {
    676  for(z = 0; z < XRAN_MAX_ANTENNA_NR; z++){
    677  psBbuIo->sFHPrachRxBbuIoBufCtrl[j][i][z].bValid = 0;
    678  psBbuIo->sFHPrachRxBbuIoBufCtrl[j][i][z].nSegGenerated = -1;
    679  psBbuIo->sFHPrachRxBbuIoBufCtrl[j][i][z].nSegToBeGen = -1;
    680  psBbuIo->sFHPrachRxBbuIoBufCtrl[j][i][z].nSegTransferred = 0;
    681  psBbuIo->sFHPrachRxBbuIoBufCtrl[j][i][z].sBufferList.nNumBuffers = XRAN_MAX_ANTENNA_NR; // ant number.
    682  psBbuIo->sFHPrachRxBbuIoBufCtrl[j][i][z].sBufferList.pBuffers = &psBbuIo->sFHPrachRxBuffers[j][i][z][0];
    683  for(k = 0; k< XRAN_NUM_OF_SYMBOL_PER_SLOT; k++)
    684  {
    688  status = xran_bm_allocate_buffer(psBbuIo->nInstanceHandle[0][i],psBbuIo->nBufPoolIndex[nSectorIndex[i]][eInterfaceType],&ptr, &mb);
    689  if(XRAN_STATUS_SUCCESS != status) {
    690  rte_panic("Failed at xran_bm_allocate_buffer, status %d\n",status);
    691  }
    692  psBbuIo->sFHPrachRxBbuIoBufCtrl[j][i][z].sBufferList.pBuffers[k].pData = (uint8_t *)ptr;
    693  psBbuIo->sFHPrachRxBbuIoBufCtrl[j][i][z].sBufferList.pBuffers[k].pCtrl = (void *)mb;
    694  if(ptr){
    695  u32dptr = (uint32_t*)(ptr);
    696  memset(u32dptr, 0x0, FPGA_TO_SW_PRACH_RX_BUFFER_LEN);
    697  }
    698  }
    699  }
    700  }
    701  }
    702 
    703  /* add SRS rx buffer */
    704  for(i = 0; i<nSectorNum; i++)
    705  {
    706  eInterfaceType = XRANSRS_IN;
    707  status = xran_bm_init(psBbuIo->nInstanceHandle[0][i],&psBbuIo->nBufPoolIndex[nSectorIndex[i]][eInterfaceType],
    709 
    710  if(XRAN_STATUS_SUCCESS != status) {
    711  rte_panic("Failed at xran_bm_init, status %d\n", status);
    712  }
    713  for(j = 0; j < XRAN_N_FE_BUF_LEN; j++)
    714  {
    715  for(z = 0; z < XRAN_MAX_ANT_ARRAY_ELM_NR; z++){
    716  psBbuIo->sFHSrsRxBbuIoBufCtrl[j][i][z].bValid = 0;
    717  psBbuIo->sFHSrsRxBbuIoBufCtrl[j][i][z].nSegGenerated = -1;
    718  psBbuIo->sFHSrsRxBbuIoBufCtrl[j][i][z].nSegToBeGen = -1;
    719  psBbuIo->sFHSrsRxBbuIoBufCtrl[j][i][z].nSegTransferred = 0;
    720  psBbuIo->sFHSrsRxBbuIoBufCtrl[j][i][z].sBufferList.nNumBuffers = XRAN_MAX_ANT_ARRAY_ELM_NR; /* ant number */
    721  psBbuIo->sFHSrsRxBbuIoBufCtrl[j][i][z].sBufferList.pBuffers = &psBbuIo->sFHSrsRxBuffers[j][i][z][0];
    722  for(k = 0; k < XRAN_MAX_NUM_OF_SRS_SYMBOL_PER_SLOT; k++)
    723  {
    726  psBbuIo->sFHSrsRxBbuIoBufCtrl[j][i][z].sBufferList.pBuffers[k].nOffsetInBytes = 0;
    727  status = xran_bm_allocate_buffer(psBbuIo->nInstanceHandle[0][i],psBbuIo->nBufPoolIndex[nSectorIndex[i]][eInterfaceType],&ptr, &mb);
    728  if(XRAN_STATUS_SUCCESS != status) {
    729  rte_panic("Failed at xran_bm_allocate_buffer, status %d\n",status);
    730  }
    731  psBbuIo->sFHSrsRxBbuIoBufCtrl[j][i][z].sBufferList.pBuffers[k].pData = (uint8_t *)ptr;
    732  psBbuIo->sFHSrsRxBbuIoBufCtrl[j][i][z].sBufferList.pBuffers[k].pCtrl = (void *)mb;
    733  if(ptr){
    734  u32dptr = (uint32_t*)(ptr);
    735  memset(u32dptr, 0x0, nSW_ToFpga_FTH_TxBufferLen);
    736  }
    737  }
    738  }
    739  }
    740  }
    741 
    742 
    743  for(i=0; i<nSectorNum; i++)
    744  {
    745  for(j=0; j<XRAN_N_FE_BUF_LEN; j++)
    746  {
    747  for(z = 0; z < XRAN_MAX_ANTENNA_NR; z++){
    748  pFthTxBuffer[i][z][j] = &(psBbuIo->sFrontHaulTxBbuIoBufCtrl[j][i][z].sBufferList);
    749  pFthTxPrbMapBuffer[i][z][j] = &(psBbuIo->sFrontHaulTxPrbMapBbuIoBufCtrl[j][i][z].sBufferList);
    750  pFthRxBuffer[i][z][j] = &(psBbuIo->sFrontHaulRxBbuIoBufCtrl[j][i][z].sBufferList);
    751  pFthRxPrbMapBuffer[i][z][j] = &(psBbuIo->sFrontHaulRxPrbMapBbuIoBufCtrl[j][i][z].sBufferList);
    752  pFthRxRachBuffer[i][z][j] = &(psBbuIo->sFHPrachRxBbuIoBufCtrl[j][i][z].sBufferList);
    753  }
    754 
    755  for(z = 0; z < XRAN_MAX_ANT_ARRAY_ELM_NR; z++){
    756  pFthRxSrsBuffer[i][z][j] = &(psBbuIo->sFHSrsRxBbuIoBufCtrl[j][i][z].sBufferList);
    757  }
    758  }
    759  }
    760 
    761  if(NULL != psBbuIo->nInstanceHandle[0])
    762  {
    763  /* add pusch callback */
    764  for (i = 0; i<nSectorNum; i++)
    765  {
    767  pFthTxBuffer[i],
    768  pFthTxPrbMapBuffer[i],
    769  pFthRxBuffer[i],
    770  pFthRxPrbMapBuffer[i],
    771  xran_fh_rx_callback, &pFthRxBuffer[i][0]);
    772  }
    773 
    774  /* add prach callback here */
    775  for (i = 0; i<nSectorNum; i++)
    776  {
    777  xran_5g_prach_req(psBbuIo->nInstanceHandle[0][i], pFthRxRachBuffer[i],
    778  xran_fh_rx_prach_callback,&pFthRxRachBuffer[i][0]);
    779  }
    780 
    781  /* add SRS callback here */
    782  for (i = 0; i<nSectorNum; i++) {
    783  xran_5g_srs_req(psBbuIo->nInstanceHandle[0][i], pFthRxSrsBuffer[i],
    784  xran_fh_rx_srs_callback,&pFthRxSrsBuffer[i][0]);
    785  }
    786 
    787  ptrLibConfig->nFhBufIntFlag = 1;
    788  }
    789 
    790  return status;
    791 }
    792 
    794 {
    795  BbuXranIoIfStruct *psBbuIo = xran_get_ctx();
    796  xran_status_t status;
    797  int32_t nSectorIndex[XRAN_MAX_SECTOR_NR];
    798  int32_t nSectorNum;
    799  int32_t cc_id, ant_id, sym_id, tti;
    800  int32_t flowId;
    801 
    802  uint8_t frame_id = 0;
    803  uint8_t subframe_id = 0;
    804  uint8_t slot_id = 0;
    805  uint8_t sym = 0;
    806 
    807  void *ptr;
    808  uint32_t *u32dptr;
    809  uint16_t *u16dptr;
    810  uint8_t *u8dptr;
    811 
    812  char *pos = NULL;
    813  struct xran_prb_map *pRbMap = NULL;
    814 
    815  for (nSectorNum = 0; nSectorNum < XRAN_MAX_SECTOR_NR; nSectorNum++)
    816  {
    817  nSectorIndex[nSectorNum] = nSectorNum;
    818  }
    819  nSectorNum = numCCPorts;
    820  printf ("init_xran_iq_content\n");
    821 
    822  /* Init Memory */
    823  for(cc_id = 0; cc_id <nSectorNum; cc_id++)
    824  {
    825  for(tti = 0; tti < XRAN_N_FE_BUF_LEN; tti ++) {
    826  for(ant_id = 0; ant_id < XRAN_MAX_ANTENNA_NR; ant_id++){
    827  for(sym_id = 0; sym_id < XRAN_NUM_OF_SYMBOL_PER_SLOT; sym_id++) {
    828 
    829  flowId = XRAN_MAX_ANTENNA_NR*cc_id + ant_id;
    830  if(p_tx_play_buffer[flowId]){
    831  /* c-plane DL */
    832  pRbMap = (struct xran_prb_map *) psBbuIo->sFrontHaulTxPrbMapBbuIoBufCtrl[tti][cc_id][ant_id].sBufferList.pBuffers->pData;
    833  if(pRbMap){
    834  if (xranInit.DynamicSectionEna == 0){
    835  pRbMap->dir = XRAN_DIR_DL;
    836  pRbMap->xran_port = 0;
    837  pRbMap->band_id = 0;
    838  pRbMap->cc_id = cc_id;
    839  pRbMap->ru_port_id = ant_id;
    840  pRbMap->tti_id = tti;
    841  pRbMap->start_sym_id = 0;
    842  pRbMap->nPrbElm = 1;
    843  pRbMap->prbMap[0].nStartSymb = 0;
    844  pRbMap->prbMap[0].numSymb = 14;
    845  pRbMap->prbMap[0].nRBStart = 0;
    846  pRbMap->prbMap[0].nRBSize = pXranConf->nDLRBs;
    847  pRbMap->prbMap[0].nBeamIndex = 0;
    849  pRbMap->prbMap[0].iqWidth = 16;
    850  } else if(pXranConf->ru_conf.xranCat == XRAN_CATEGORY_B
    851  && startupConfiguration.appMode == APP_O_DU
    852  && sym_id == 0){ /* BF Ws are per slot */
    853  int idxElm = 0;
    854  char* dl_bfw_pos = ((char*)p_tx_dl_bfw_buffer[flowId]) + tx_dl_bfw_buffer_position[flowId];
    855  struct xran_prb_elm* p_pRbMapElm = NULL;
    856  for (idxElm = 0; idxElm < pRbMap->nPrbElm; idxElm++){
    857  p_pRbMapElm = &pRbMap->prbMap[idxElm];
    858  p_pRbMapElm->bf_weight.nAntElmTRx = pXranConf->nAntElmTRx;
    859  if(p_pRbMapElm->BeamFormingType == XRAN_BEAM_WEIGHT && p_pRbMapElm->bf_weight_update){
    860  int16_t ext_len = 9600;
    861  int16_t ext_sec_total = 0;
    862  int8_t * ext_buf =(int8_t*) xran_malloc(ext_len);
    863  int idRb = 0;
    864  int16_t *ptr = NULL;
    865  int i;
    866  if (ext_buf){
    867  ext_buf += (RTE_PKTMBUF_HEADROOM +
    868  sizeof (struct xran_ecpri_hdr) +
    869  sizeof(struct xran_cp_radioapp_section1));
    870 
    871  ext_len -= (RTE_PKTMBUF_HEADROOM +
    872  sizeof (struct xran_ecpri_hdr) +
    873  sizeof(struct xran_cp_radioapp_section1));
    874  ext_sec_total = xran_cp_populate_section_ext_1((int8_t *)ext_buf,
    875  ext_len,
    876  (int16_t *) (dl_bfw_pos + (p_pRbMapElm->nRBStart*pXranConf->nAntElmTRx)*4),
    877  p_pRbMapElm->nRBSize,
    878  pXranConf->nAntElmTRx,
    879  p_pRbMapElm->iqWidth, p_pRbMapElm->compMethod);
    880  if(ext_sec_total > 0){
    881  p_pRbMapElm->bf_weight.p_ext_section = ext_buf;
    882  p_pRbMapElm->bf_weight.ext_section_sz = ext_sec_total;
    883  }else {
    884  rte_panic("xran_cp_populate_section_ext_1 return error [%d]\n", ext_sec_total);
    885  }
    886  } else {
    887  rte_panic("xran_malloc return NULL\n");
    888  }
    889  }
    890  }
    891  }
    892  } else {
    893  printf("DL pRbMap ==NULL\n");
    894  exit(-1);
    895  }
    896 
    897  pos = ((char*)p_tx_play_buffer[flowId]) + tx_play_buffer_position[flowId];
    898  ptr = psBbuIo->sFrontHaulTxBbuIoBufCtrl[tti][cc_id][ant_id].sBufferList.pBuffers[sym_id].pData;
    899 
    900  if(ptr && pos){
    901  int idxElm = 0;
    902  u8dptr = (uint8_t*)ptr;
    903  int16_t payload_len = 0;
    904 
    905  uint8_t *dst = (uint8_t *)u8dptr;
    906  uint8_t *src = (uint8_t *)pos;
    907  struct xran_prb_elm* p_prbMapElm = &pRbMap->prbMap[idxElm];
    908  dst = xran_add_hdr_offset(dst, p_prbMapElm->compMethod);
    909  for (idxElm = 0; idxElm < pRbMap->nPrbElm; idxElm++) {
    910  struct xran_section_desc *p_sec_desc = NULL;
    911  p_prbMapElm = &pRbMap->prbMap[idxElm];
    912  p_sec_desc = p_prbMapElm->p_sec_desc[sym_id];
    913 
    914  if(p_sec_desc == NULL){
    915  printf ("p_sec_desc == NULL\n");
    916  exit(-1);
    917  }
    918  src = (uint8_t *)(pos + p_prbMapElm->nRBStart*N_SC_PER_PRB*4L);
    919 
    920  if(p_prbMapElm->compMethod == XRAN_COMPMETHOD_NONE) {
    921  payload_len = p_prbMapElm->nRBSize*N_SC_PER_PRB*4L;
    922  rte_memcpy(dst, src, payload_len);
    923 
    924  } else if (p_prbMapElm->compMethod == XRAN_COMPMETHOD_BLKFLOAT) {
    925  struct xranlib_compress_request bfp_com_req;
    926  struct xranlib_compress_response bfp_com_rsp;
    927 
    928  memset(&bfp_com_req, 0, sizeof(struct xranlib_compress_request));
    929  memset(&bfp_com_rsp, 0, sizeof(struct xranlib_compress_response));
    930 
    931  bfp_com_req.data_in = (int16_t*)src;
    932  bfp_com_req.numRBs = p_prbMapElm->nRBSize;
    933  bfp_com_req.len = p_prbMapElm->nRBSize*N_SC_PER_PRB*4L;
    934  bfp_com_req.compMethod = p_prbMapElm->compMethod;
    935  bfp_com_req.iqWidth = p_prbMapElm->iqWidth;
    936 
    937  bfp_com_rsp.data_out = (int8_t*)dst;
    938  bfp_com_rsp.len = 0;
    939 
    940  if(xranlib_compress_avx512(&bfp_com_req, &bfp_com_rsp) < 0){
    941  printf ("compression failed [%d]\n",
    942  p_prbMapElm->compMethod);
    943  exit(-1);
    944  } else {
    945  payload_len = bfp_com_rsp.len;
    946  }
    947  }else {
    948  printf ("p_prbMapElm->compMethod == %d is not supported\n",
    949  p_prbMapElm->compMethod);
    950  exit(-1);
    951  }
    952 
    953  /* update RB map for given element */
    954  p_sec_desc->iq_buffer_offset = RTE_PTR_DIFF(dst, u8dptr);
    955  p_sec_desc->iq_buffer_len = payload_len;
    956 
    957  /* add headroom for ORAN headers between IQs for chunk of RBs*/
    958  dst += payload_len;
    959  dst = xran_add_hdr_offset(dst, p_prbMapElm->compMethod);
    960  }
    961  } else {
    962  exit(-1);
    963  printf("ptr ==NULL\n");
    964  }
    965 
    966 
    967  /* c-plane UL */
    968  pRbMap = (struct xran_prb_map *) psBbuIo->sFrontHaulRxPrbMapBbuIoBufCtrl[tti][cc_id][ant_id].sBufferList.pBuffers->pData;
    969  if(pRbMap){
    970  if (xranInit.DynamicSectionEna == 0){
    971  pRbMap->dir = XRAN_DIR_UL;
    972  pRbMap->xran_port = 0;
    973  pRbMap->band_id = 0;
    974  pRbMap->cc_id = cc_id;
    975  pRbMap->ru_port_id = ant_id;
    976  pRbMap->tti_id = tti;
    977  pRbMap->start_sym_id = 0;
    978  pRbMap->nPrbElm = 1;
    979  pRbMap->prbMap[0].nRBStart = 0;
    980  pRbMap->prbMap[0].nRBSize = pXranConf->nULRBs;
    981  pRbMap->prbMap[0].nStartSymb = 0;
    982  pRbMap->prbMap[0].numSymb = 14;
    983  pRbMap->prbMap[0].p_sec_desc[sym_id]->iq_buffer_offset = 0;
    984  pRbMap->prbMap[0].p_sec_desc[sym_id]->iq_buffer_len = pXranConf->nULRBs *4L;
    985  pRbMap->prbMap[0].nBeamIndex = 0;
    987  } else if(pXranConf->ru_conf.xranCat == XRAN_CATEGORY_B
    988  && startupConfiguration.appMode == APP_O_DU
    989  && sym_id == 0){
    990  int idxElm = 0;
    991  char * ul_bfw_pos = ((char*)p_tx_ul_bfw_buffer[flowId]) + tx_ul_bfw_buffer_position[flowId];
    992  struct xran_prb_elm* p_pRbMapElm = NULL;
    993 
    994  for (idxElm = 0; idxElm < pRbMap->nPrbElm; idxElm++){
    995  p_pRbMapElm = &pRbMap->prbMap[idxElm];
    996  p_pRbMapElm->bf_weight.nAntElmTRx = pXranConf->nAntElmTRx;
    997  if(p_pRbMapElm->BeamFormingType == XRAN_BEAM_WEIGHT && p_pRbMapElm->bf_weight_update){
    998  int16_t ext_len = 9600;
    999  int16_t ext_sec_total = 0;
    1000  int8_t * ext_buf =(int8_t*) xran_malloc(ext_len);
    1001  int idRb = 0;
    1002  int16_t *ptr = NULL;
    1003  int i;
    1004  if (ext_buf){
    1005  ext_buf += (RTE_PKTMBUF_HEADROOM +
    1006  sizeof (struct xran_ecpri_hdr) +
    1007  sizeof(struct xran_cp_radioapp_section1));
    1008 
    1009  ext_len -= (RTE_PKTMBUF_HEADROOM +
    1010  sizeof (struct xran_ecpri_hdr) +
    1011  sizeof(struct xran_cp_radioapp_section1));
    1012  ptr = (int16_t*)(ul_bfw_pos +(p_pRbMapElm->nRBStart*pXranConf->nAntElmTRx)*4);
    1013  ext_sec_total = xran_cp_populate_section_ext_1((int8_t *)ext_buf,
    1014  ext_len,
    1015  (int16_t *) (ul_bfw_pos + (p_pRbMapElm->nRBStart*pXranConf->nAntElmTRx)*4),
    1016  p_pRbMapElm->nRBSize,
    1017  pXranConf->nAntElmTRx,
    1018  p_pRbMapElm->iqWidth, p_pRbMapElm->compMethod);
    1019  if(ext_sec_total > 0){
    1020  p_pRbMapElm->bf_weight.p_ext_section = ext_buf;
    1021  p_pRbMapElm->bf_weight.ext_section_sz = ext_sec_total;
    1022  }else {
    1023  rte_panic("xran_cp_populate_section_ext_1 return error [%d]\n", ext_sec_total);
    1024  }
    1025  } else {
    1026  rte_panic("xran_malloc return NULL\n");
    1027  }
    1028  }
    1029  }
    1030  }
    1031  } else {
    1032  printf("DL pRbMap ==NULL\n");
    1033  exit(-1);
    1034  }
    1035 
    1036  tx_play_buffer_position[flowId] += pXranConf->nDLRBs*N_SC_PER_PRB*4;
    1037 
    1038  if(tx_play_buffer_position[flowId] >= tx_play_buffer_size[flowId])
    1039  tx_play_buffer_position[flowId] = 0;
    1040 
    1041  if(pXranConf->ru_conf.xranCat == XRAN_CATEGORY_B
    1042  && startupConfiguration.appMode == APP_O_DU
    1043  && sym_id == 0) {
    1044  tx_dl_bfw_buffer_position[flowId] += (pXranConf->nDLRBs*pXranConf->nAntElmTRx)*4;
    1045  if(tx_dl_bfw_buffer_position[flowId] >= tx_dl_bfw_buffer_size[flowId])
    1046  tx_dl_bfw_buffer_position[flowId] = 0;
    1047 
    1048  tx_ul_bfw_buffer_position[flowId] += (pXranConf->nULRBs*pXranConf->nAntElmTRx)*4;
    1049  if(tx_ul_bfw_buffer_position[flowId] >= tx_ul_bfw_buffer_size[flowId])
    1050  tx_ul_bfw_buffer_position[flowId] = 0;
    1051  }
    1052  } else {
    1053  //printf("flowId %d\n", flowId);
    1054  }
    1055  }
    1056  }
    1057 
    1058  /* prach TX for RU only */
    1059  if(startupConfiguration.appMode == APP_O_RU && startupConfiguration.enablePrach){
    1060  for(ant_id = 0; ant_id < XRAN_MAX_ANTENNA_NR; ant_id++){
    1061  for(sym_id = 0; sym_id < XRAN_NUM_OF_SYMBOL_PER_SLOT; sym_id++) {
    1062  flowId = XRAN_MAX_ANTENNA_NR*cc_id + ant_id;
    1063 
    1064  if(p_tx_prach_play_buffer[flowId]){
    1065  pos = ((char*)p_tx_prach_play_buffer[flowId]);
    1066 
    1067  ptr = psBbuIo->sFHPrachRxBbuIoBufCtrl[tti][cc_id][ant_id].sBufferList.pBuffers[sym_id].pData;
    1068 
    1069  if(ptr && pos){
    1070  u32dptr = (uint32_t*)(ptr);
    1071  /* duplicate full PRACH (repetition * occassions ) in every symbol */
    1072  memset(u32dptr,0 , PRACH_PLAYBACK_BUFFER_BYTES);
    1073  rte_memcpy(u32dptr, pos, RTE_MIN(PRACH_PLAYBACK_BUFFER_BYTES, tx_prach_play_buffer_size[flowId]));
    1074  } else {
    1075  exit(-1);
    1076  printf("ptr ==NULL\n");
    1077  }
    1078  } else {
    1079  //printf("flowId %d\n", flowId);
    1080  }
    1081  }
    1082  }
    1083  }
    1084 
    1085  /* SRS TX for RU only */
    1086  if(startupConfiguration.appMode == APP_O_RU && startupConfiguration.enableSrs){
    1087  for(ant_id = 0; ant_id < XRAN_MAX_ANT_ARRAY_ELM_NR; ant_id++){
    1088  for(sym_id = 0; sym_id < XRAN_MAX_NUM_OF_SRS_SYMBOL_PER_SLOT; sym_id++) {
    1089  flowId = XRAN_MAX_ANT_ARRAY_ELM_NR*cc_id + ant_id;
    1090 
    1091  if(p_tx_srs_play_buffer[flowId]){
    1092  pos = ((char*)p_tx_srs_play_buffer[flowId]) + tx_srs_play_buffer_position[flowId];
    1093  ptr = psBbuIo->sFHSrsRxBbuIoBufCtrl[tti][cc_id][ant_id].sBufferList.pBuffers[sym_id].pData;
    1094 
    1095  if(startupConfiguration.srsSymMask & (1 << sym_id) ){
    1096  if(ptr && pos){
    1097  u32dptr = (uint32_t*)(ptr);
    1098  memset(u32dptr,0 , pXranConf->nULRBs*N_SC_PER_PRB*4);
    1099  rte_memcpy(u32dptr, pos, pXranConf->nULRBs*N_SC_PER_PRB*4);
    1100  } else {
    1101  exit(-1);
    1102  printf("ptr ==NULL\n");
    1103  }
    1104  }
    1105 
    1106  tx_srs_play_buffer_position[flowId] += pXranConf->nULRBs*N_SC_PER_PRB*4;
    1107 
    1109  tx_srs_play_buffer_position[flowId] = 0;
    1110  } else {
    1111  //printf("flowId %d\n", flowId);
    1112  }
    1113  }
    1114  }
    1115  }
    1116  }
    1117  }
    1118 
    1119  return 0;
    1120 }
    1121 
    1122 void stop_xran(void)
    1123 {
    1124  xran_status_t status = 0;
    1125  SWXRANInterfaceTypeEnum eInterfaceType;
    1126 
    1127  free(gpXranLibConfig);
    1128  gpXranLibConfig = NULL;
    1129 
    1130  status += xran_mm_destroy(xranHandle)*2;
    1131 
    1132  if(XRAN_STATUS_SUCCESS != status)
    1133  {
    1134  printf("Failed at xran_mm_destroy, status %d\n",status);
    1135  iAssert(status == XRAN_STATUS_SUCCESS);
    1136  }
    1137 }
    1138 
    1140 {
    1141  BbuXranIoIfStruct *psBbuIo = xran_get_ctx();
    1142  xran_status_t status;
    1143  int32_t nSectorIndex[XRAN_MAX_SECTOR_NR];
    1144  int32_t nSectorNum;
    1145  int32_t cc_id, ant_id, sym_id, tti;
    1146  int32_t flowId;
    1147 
    1148  uint8_t frame_id = 0;
    1149  uint8_t subframe_id = 0;
    1150  uint8_t slot_id = 0;
    1151  uint8_t sym = 0;
    1152 
    1153  void *ptr;
    1154  uint32_t *u32dptr;
    1155  uint16_t *u16dptr;
    1156  uint8_t *u8dptr;
    1157 
    1158  char *pos = NULL;
    1159 
    1160  for (nSectorNum = 0; nSectorNum < XRAN_MAX_SECTOR_NR; nSectorNum++)
    1161  {
    1162  nSectorIndex[nSectorNum] = nSectorNum;
    1163  }
    1164  nSectorNum = numCCPorts;
    1165  printf ("get_xran_iq_content\n");
    1166 
    1167  /* Init Memory */
    1168  for(cc_id = 0; cc_id <nSectorNum; cc_id++)
    1169  {
    1170  for(tti = 0; tti < XRAN_N_FE_BUF_LEN; tti++) {
    1171  for(ant_id = 0; ant_id < XRAN_MAX_ANTENNA_NR; ant_id++){
    1172  int32_t idxElm = 0;
    1173  struct xran_prb_map *pRbMap = NULL;
    1174  struct xran_prb_elm *pRbElm = NULL;
    1175  struct xran_section_desc *p_sec_desc = NULL;
    1176  pRbMap = (struct xran_prb_map *) psBbuIo->sFrontHaulRxPrbMapBbuIoBufCtrl[tti][cc_id][ant_id].sBufferList.pBuffers->pData;
    1177  if(pRbMap == NULL)
    1178  exit(-1);
    1179  flowId = XRAN_MAX_ANTENNA_NR * cc_id + ant_id;
    1180  for(sym_id = 0; sym_id < XRAN_NUM_OF_SYMBOL_PER_SLOT; sym_id++) {
    1181  pRbElm = &pRbMap->prbMap[0];
    1182  if(pRbMap->nPrbElm == 1){
    1183  if(p_rx_log_buffer[flowId]) {
    1184  pos = ((char*)p_rx_log_buffer[flowId]) + rx_log_buffer_position[flowId];
    1185  ptr = psBbuIo->sFrontHaulRxBbuIoBufCtrl[tti][cc_id][ant_id].sBufferList.pBuffers[sym_id].pData;
    1186  if(ptr){
    1187  u32dptr = (uint32_t*)(ptr);
    1188  char* my_ptr =(char *)ptr;
    1189  rte_memcpy(pos + pRbElm->nRBStart*N_SC_PER_PRB*4L , u32dptr, pRbElm->nRBSize*N_SC_PER_PRB*4L);
    1190  }else {
    1191  printf("[%d][%d][%d][%d]ptr ==NULL\n",tti,cc_id,ant_id, sym_id);
    1192  }
    1193  }
    1194  } else {
    1195  for(idxElm = 0; idxElm < pRbMap->nPrbElm; idxElm++ ) {
    1196  pRbElm = &pRbMap->prbMap[idxElm];
    1197  p_sec_desc = pRbElm->p_sec_desc[sym_id];
    1198  if(p_rx_log_buffer[flowId] && p_sec_desc){
    1199  if(sym_id >= pRbElm->nStartSymb && sym_id < pRbElm->nStartSymb + pRbElm->numSymb){
    1200  pos = ((char*)p_rx_log_buffer[flowId]) + rx_log_buffer_position[flowId];
    1201  ptr = p_sec_desc->pData;
    1202  if(ptr){
    1203  int32_t payload_len = 0;
    1204  u32dptr = (uint32_t*)(ptr);
    1205  if (pRbElm->compMethod != XRAN_COMPMETHOD_NONE){
    1206  struct xranlib_decompress_request bfp_decom_req;
    1207  struct xranlib_decompress_response bfp_decom_rsp;
    1208 
    1209  memset(&bfp_decom_req, 0, sizeof(struct xranlib_decompress_request));
    1210  memset(&bfp_decom_rsp, 0, sizeof(struct xranlib_decompress_response));
    1211 
    1212  bfp_decom_req.data_in = (int8_t *)u32dptr;
    1213  bfp_decom_req.numRBs = pRbElm->nRBSize;
    1214  bfp_decom_req.len = (3* pRbElm->iqWidth + 1)*pRbElm->nRBSize;
    1215  bfp_decom_req.compMethod = pRbElm->compMethod;
    1216  bfp_decom_req.iqWidth = pRbElm->iqWidth;
    1217 
    1218  bfp_decom_rsp.data_out = (int16_t *)(pos + pRbElm->nRBStart*N_SC_PER_PRB*4);
    1219  bfp_decom_rsp.len = 0;
    1220 
    1221  if(xranlib_decompress_avx512(&bfp_decom_req, &bfp_decom_rsp) < 0){
    1222  printf ("compression failed [%d]\n",
    1223  pRbElm->compMethod);
    1224  exit(-1);
    1225  } else {
    1226  payload_len = bfp_decom_rsp.len;
    1227  }
    1228  } else {
    1229  rte_memcpy(pos + pRbElm->nRBStart*N_SC_PER_PRB*4 , u32dptr, pRbElm->nRBSize*N_SC_PER_PRB*4);
    1230  }
    1231  }
    1232  }
    1233  }
    1234  }
    1235  }
    1236  rx_log_buffer_position[flowId] += pXranConf->nULRBs*N_SC_PER_PRB*4;
    1237 
    1238  if(rx_log_buffer_position[flowId] >= rx_log_buffer_size[flowId])
    1239  rx_log_buffer_position[flowId] = 0;
    1240  }
    1241 
    1242  /* prach RX for O-DU only */
    1243  if(startupConfiguration.appMode == APP_O_DU) {
    1244  flowId = XRAN_MAX_ANTENNA_NR * cc_id + ant_id;
    1245  for(sym_id = 0; sym_id < XRAN_NUM_OF_SYMBOL_PER_SLOT; sym_id++){
    1246  if(p_prach_log_buffer[flowId]){
    1247  /* (0-79 slots) 10ms of IQs */
    1248  pos = ((char*)p_prach_log_buffer[flowId]) + prach_log_buffer_position[flowId];
    1249  ptr = psBbuIo->sFHPrachRxBbuIoBufCtrl[tti][cc_id][ant_id].sBufferList.pBuffers[sym_id].pData; //8192 144
    1250  if(ptr){
    1251  u32dptr = (uint32_t*)(ptr);
    1252  rte_memcpy(pos, u32dptr, PRACH_PLAYBACK_BUFFER_BYTES);
    1253  }else
    1254  printf("ptr ==NULL\n");
    1255 
    1257 
    1258  if(prach_log_buffer_position[flowId] >= prach_log_buffer_size[flowId])
    1259  prach_log_buffer_position[flowId] = 0;
    1260  } else {
    1261  //printf("flowId %d\n", flowId);
    1262  }
    1263  }
    1264  }
    1265  }
    1266 
    1267  /* SRS RX for O-DU only */
    1268  if(startupConfiguration.appMode == APP_O_DU) {
    1269  for(ant_id = 0; ant_id < XRAN_MAX_ANT_ARRAY_ELM_NR; ant_id++){
    1270  flowId = XRAN_MAX_ANT_ARRAY_ELM_NR*cc_id + ant_id;
    1271  for(sym_id = 0; sym_id < XRAN_MAX_NUM_OF_SRS_SYMBOL_PER_SLOT; sym_id++){
    1272  if(p_srs_log_buffer[flowId]){
    1273  pos = ((char*)p_srs_log_buffer[flowId]) + srs_log_buffer_position[flowId];
    1274  ptr = psBbuIo->sFHSrsRxBbuIoBufCtrl[tti][cc_id][ant_id].sBufferList.pBuffers[sym_id].pData;
    1275  if(ptr){
    1276  u32dptr = (uint32_t*)(ptr);
    1277  rte_memcpy(pos, u32dptr, pXranConf->nULRBs*N_SC_PER_PRB*4);
    1278  }else
    1279  printf("ptr ==NULL\n");
    1280 
    1281  srs_log_buffer_position[flowId] += pXranConf->nULRBs*N_SC_PER_PRB*4;
    1282 
    1283  if(srs_log_buffer_position[flowId] >= srs_log_buffer_size[flowId])
    1284  srs_log_buffer_position[flowId] = 0;
    1285  } else {
    1286  //printf("flowId %d\n", flowId);
    1287  }
    1288  }
    1289  }
    1290  }
    1291  }
    1292  }
    1293 
    1294  return 0;
    1295 }
    1296 
    1297 void version_print(void)
    1298 {
    1299  char sysversion[100];
    1300  char *compilation_date = __DATE__;
    1301  char *compilation_time = __TIME__;
    1302 
    1303  uint32_t nLen;
    1304  uint32_t i;
    1305 
    1306  snprintf(sysversion, 99, "Version: %s", VERSIONX);
    1307  nLen = strlen(sysversion);
    1308 
    1309  printf("\n\n");
    1310  printf("===========================================================================================================\n");
    1311  printf("SAMPLE-APP VERSION\n");
    1312  printf("===========================================================================================================\n");
    1313 
    1314  printf("%s\n", sysversion);
    1315  printf("build-date: %s\n", compilation_date);
    1316  printf("build-time: %s\n", compilation_time);
    1317 }
    1318 
    1319 int main(int argc, char *argv[])
    1320 {
    1321  int i;
    1322  int j, len;
    1323  int lcore_id = 0;
    1324  char filename[256];
    1325  char prefix_name[256];
    1326  uint32_t nCenterFreq;
    1327  int32_t xret = 0;
    1328  struct stat st = {0};
    1329  uint32_t filenameLength = strlen(argv[1]);
    1330  char *pCheckName1 = NULL, *pCheckName2 = NULL;
    1331  enum xran_if_state xran_curr_if_state = XRAN_INIT;
    1332 
    1333  uint64_t nMask = (uint64_t)1;
    1334  uint16_t nCoreUsage[4*64+1];
    1335  uint16_t nCoreId[4*64];
    1336  float nTotal = 0.0;
    1337  uint64_t nTotalTime;
    1338  uint64_t nUsedTime;
    1339  uint32_t nCoreUsed;
    1340  float nUsedPercent;
    1341 
    1342 
    1343  if (argc == 3)
    1344  errx(2, "Need two argument - the PCI address of the network port");
    1345  if (filenameLength >= 256)
    1346  {
    1347  printf("Config file name input is too long, exiting!\n");
    1348  exit(-1);
    1349  }
    1350 
    1351  version_print();
    1352 
    1353  //add for Klocworks
    1354  len = strlen(argv[1]) + 1;
    1355  if (len > (sizeof(filename) - 10))
    1356  len = (sizeof(filename) - 10);
    1357  strncpy(filename, argv[1], (sizeof(filename) - 10));
    1358  filename[len] = '\0';
    1359 
    1360  if (xran_is_synchronized() != 0)
    1361  printf("Machine is not synchronized using PTP!\n");
    1362  else
    1363  printf("Machine is synchronized using PTP!\n");
    1364 
    1365  memset(&startupConfiguration, 0, sizeof(RuntimeConfig));
    1366 
    1367  if (parseConfigFile(filename, (RuntimeConfig*)&startupConfiguration) != 0) {
    1368  printf("Configuration file error.\n");
    1369  return -1;
    1370  }
    1371 
    1372  if(startupConfiguration.ant_file[0] == NULL){
    1373  printf("it looks like test vector for antennas were not provided\n");
    1374  exit(-1);
    1375  }
    1376 
    1377  if (startupConfiguration.numCC > XRAN_MAX_SECTOR_NR) {
    1378  printf("Number of cells %d exceeds max number supported %d!\n", startupConfiguration.numCC, XRAN_MAX_SECTOR_NR);
    1379  startupConfiguration.numCC = XRAN_MAX_SECTOR_NR;
    1380 
    1381  }
    1382  if (startupConfiguration.antElmTRx > XRAN_MAX_ANT_ARRAY_ELM_NR) {
    1383  printf("Number of Antenna elements %d exceeds max number supported %d!\n", startupConfiguration.antElmTRx, XRAN_MAX_ANT_ARRAY_ELM_NR);
    1384  startupConfiguration.antElmTRx = XRAN_MAX_ANT_ARRAY_ELM_NR;
    1385  }
    1386 
    1387  numCCPorts = startupConfiguration.numCC;
    1388  num_eAxc = startupConfiguration.numAxc;
    1389 
    1390  printf("numCCPorts %d num_eAxc%d\n", numCCPorts, num_eAxc);
    1391 
    1392  if (startupConfiguration.mu_number <= 1){
    1393  nFpgaToSW_FTH_RxBufferLen = 13168; /* 273*12*4 + 64*/
    1395  nSW_ToFpga_FTH_TxBufferLen = 13168 + /* 273*12*4 + 64* + ETH AND ORAN HDRs */
    1396  XRAN_MAX_SECTIONS_PER_SYM* (RTE_PKTMBUF_HEADROOM + sizeof(struct ether_hdr) +
    1397  sizeof(struct xran_ecpri_hdr) +
    1398  sizeof(struct radio_app_common_hdr) +
    1399  sizeof(struct data_section_hdr));
    1400  } else if (startupConfiguration.mu_number == 3){
    1404  XRAN_MAX_SECTIONS_PER_SYM * (RTE_PKTMBUF_HEADROOM + sizeof(struct ether_hdr) +
    1405  sizeof(struct xran_ecpri_hdr) +
    1406  sizeof(struct radio_app_common_hdr) +
    1407  sizeof(struct data_section_hdr));
    1408  } else {
    1409  printf("given numerology is not supported %d\n", startupConfiguration.mu_number);
    1410  exit(-1);
    1411  }
    1412  printf("nSW_ToFpga_FTH_TxBufferLen %d\n", nSW_ToFpga_FTH_TxBufferLen);
    1413 
    1414  memset(&xranInit, 0, sizeof(struct xran_fh_init));
    1415 
    1416  if(startupConfiguration.appMode == APP_O_DU) {
    1417  printf("set O-DU\n");
    1418  xranInit.io_cfg.id = 0;/* O-DU */
    1419  xranInit.io_cfg.core = startupConfiguration.io_core;
    1420  xranInit.io_cfg.system_core = 0;
    1421  xranInit.io_cfg.pkt_proc_core = startupConfiguration.io_core+1;
    1422  xranInit.io_cfg.pkt_aux_core = 0; /* do not start*/
    1423  xranInit.io_cfg.timing_core = startupConfiguration.io_core+2;
    1424  } else {
    1425  printf("set O-RU\n");
    1426  xranInit.io_cfg.id = 1; /* O-RU*/
    1427  xranInit.io_cfg.core = startupConfiguration.io_core;
    1428  xranInit.io_cfg.system_core = 0;
    1429  xranInit.io_cfg.pkt_proc_core = startupConfiguration.io_core+1;
    1430  xranInit.io_cfg.pkt_aux_core = 0; /* do not start */
    1431  xranInit.io_cfg.timing_core = startupConfiguration.io_core+2;
    1432  }
    1433 
    1435 
    1436  if(startupConfiguration.xranCat == XRAN_CATEGORY_A){
    1437  xranInit.eAxCId_conf.mask_cuPortId = 0xf000;
    1438  xranInit.eAxCId_conf.mask_bandSectorId = 0x0f00;
    1439  xranInit.eAxCId_conf.mask_ccId = 0x00f0;
    1440  xranInit.eAxCId_conf.mask_ruPortId = 0x000f;
    1441  xranInit.eAxCId_conf.bit_cuPortId = 12;
    1442  xranInit.eAxCId_conf.bit_bandSectorId = 8;
    1443  xranInit.eAxCId_conf.bit_ccId = 4;
    1444  xranInit.eAxCId_conf.bit_ruPortId = 0;
    1445  } else {
    1446  xranInit.eAxCId_conf.mask_cuPortId = 0xf000;
    1447  xranInit.eAxCId_conf.mask_bandSectorId = 0x0c00;
    1448  xranInit.eAxCId_conf.mask_ccId = 0x0300;
    1449  xranInit.eAxCId_conf.mask_ruPortId = 0x00ff; /* more than [0-127] eAxC */
    1450  xranInit.eAxCId_conf.bit_cuPortId = 12;
    1451  xranInit.eAxCId_conf.bit_bandSectorId = 10;
    1452  xranInit.eAxCId_conf.bit_ccId = 8;
    1453  xranInit.eAxCId_conf.bit_ruPortId = 0;
    1454  }
    1455 
    1456  xranInit.io_cfg.dpdk_dev[XRAN_UP_VF] = argv[2];
    1457  xranInit.io_cfg.dpdk_dev[XRAN_CP_VF] = argv[3];
    1458  xranInit.mtu = startupConfiguration.mtu;
    1459 
    1460  xranInit.p_o_du_addr = (int8_t *)&startupConfiguration.o_du_addr;
    1461  xranInit.p_o_ru_addr = (int8_t *)&startupConfiguration.o_ru_addr;
    1462 
    1463  sprintf(prefix_name, "wls_%d",startupConfiguration.instance_id);
    1464  xranInit.filePrefix = prefix_name;
    1465 
    1466  xranInit.totalBfWeights = startupConfiguration.totalBfWeights;
    1467 
    1468  xranInit.Tadv_cp_dl = startupConfiguration.Tadv_cp_dl;
    1469  xranInit.T2a_min_cp_dl = startupConfiguration.T2a_min_cp_dl;
    1470  xranInit.T2a_max_cp_dl = startupConfiguration.T2a_max_cp_dl;
    1471  xranInit.T2a_min_cp_ul = startupConfiguration.T2a_min_cp_ul;
    1472  xranInit.T2a_max_cp_ul = startupConfiguration.T2a_max_cp_ul;
    1473  xranInit.T2a_min_up = startupConfiguration.T2a_min_up;
    1474  xranInit.T2a_max_up = startupConfiguration.T2a_max_up;
    1475  xranInit.Ta3_min = startupConfiguration.Ta3_min;
    1476  xranInit.Ta3_max = startupConfiguration.Ta3_max;
    1477  xranInit.T1a_min_cp_dl = startupConfiguration.T1a_min_cp_dl;
    1478  xranInit.T1a_max_cp_dl = startupConfiguration.T1a_max_cp_dl;
    1479  xranInit.T1a_min_cp_ul = startupConfiguration.T1a_min_cp_ul;
    1480  xranInit.T1a_max_cp_ul = startupConfiguration.T1a_max_cp_ul;
    1481  xranInit.T1a_min_up = startupConfiguration.T1a_min_up;
    1482  xranInit.T1a_max_up = startupConfiguration.T1a_max_up;
    1483  xranInit.Ta4_min = startupConfiguration.Ta4_min;
    1484  xranInit.Ta4_max = startupConfiguration.Ta4_max;
    1485 
    1486  xranInit.enableCP = startupConfiguration.enableCP;
    1487  xranInit.prachEnable = startupConfiguration.enablePrach;
    1488  xranInit.srsEnable = startupConfiguration.enableSrs;
    1489  xranInit.debugStop = startupConfiguration.debugStop;
    1490  xranInit.debugStopCount = startupConfiguration.debugStopCount;
    1491  xranInit.DynamicSectionEna = startupConfiguration.DynamicSectionEna;
    1493  xranInit.GPS_Alpha = startupConfiguration.GPS_Alpha;
    1494  xranInit.GPS_Beta = startupConfiguration.GPS_Beta;
    1495 
    1496  xranInit.cp_vlan_tag = startupConfiguration.cp_vlan_tag;
    1497  xranInit.up_vlan_tag = startupConfiguration.up_vlan_tag;
    1498 
    1499  printf("IQ files size is %d slots\n", startupConfiguration.numSlots);
    1500 
    1501  iq_playback_buffer_size_dl = (startupConfiguration.numSlots * N_SYM_PER_SLOT * N_SC_PER_PRB *
    1502  app_xran_get_num_rbs(startupConfiguration.mu_number, startupConfiguration.nDLBandwidth, startupConfiguration.nDLAbsFrePointA)
    1503  *4L);
    1504 
    1505  iq_playback_buffer_size_ul = (startupConfiguration.numSlots * N_SYM_PER_SLOT * N_SC_PER_PRB *
    1506  app_xran_get_num_rbs(startupConfiguration.mu_number, startupConfiguration.nULBandwidth, startupConfiguration.nULAbsFrePointA)
    1507  *4L);
    1508 
    1509 
    1510  /* 10 * [14*32*273*2*2] = 4892160 bytes */
    1511  iq_bfw_buffer_size_dl = (startupConfiguration.numSlots * N_SYM_PER_SLOT * startupConfiguration.antElmTRx *
    1512  app_xran_get_num_rbs(startupConfiguration.mu_number, startupConfiguration.nDLBandwidth, startupConfiguration.nDLAbsFrePointA)
    1513  *4L);
    1514 
    1515  /* 10 * [14*32*273*2*2] = 4892160 bytes */
    1516  iq_bfw_buffer_size_ul = (startupConfiguration.numSlots * N_SYM_PER_SLOT *
    1517  app_xran_get_num_rbs(startupConfiguration.mu_number, startupConfiguration.nULBandwidth, startupConfiguration.nULAbsFrePointA)
    1518  *4L);
    1519 
    1520  /* 10 * [1*273*2*2] = 349440 bytes */
    1521  iq_srs_buffer_size_ul = (startupConfiguration.numSlots * N_SYM_PER_SLOT * N_SC_PER_PRB *
    1522  app_xran_get_num_rbs(startupConfiguration.mu_number, startupConfiguration.nULBandwidth, startupConfiguration.nULAbsFrePointA)
    1523  *4L);
    1524 
    1525  for(i = 0; i < MAX_ANT_CARRIER_SUPPORTED && i < (uint32_t)(numCCPorts * num_eAxc); i++) {
    1526  p_tx_play_buffer[i] = (int16_t*)malloc(iq_playback_buffer_size_dl);
    1528 
    1529  if (p_tx_play_buffer[i] == NULL)
    1530  exit(-1);
    1531 
    1532  tx_play_buffer_size[i] = sys_load_file_to_buff(startupConfiguration.ant_file[i],
    1533  "DL IFFT IN IQ Samples in binary format",
    1534  (uint8_t*) p_tx_play_buffer[i],
    1536  1);
    1537  tx_play_buffer_position[i] = 0;
    1538  }
    1539 
    1540  if (startupConfiguration.appMode == APP_O_DU && startupConfiguration.xranCat == XRAN_CATEGORY_B){
    1541  for(i = 0; i < MAX_ANT_CARRIER_SUPPORTED && i < (uint32_t)(numCCPorts * num_eAxc); i++) {
    1542 
    1543  p_tx_dl_bfw_buffer[i] = (int16_t*)malloc(iq_bfw_buffer_size_dl);
    1545 
    1546  if (p_tx_dl_bfw_buffer[i] == NULL)
    1547  exit(-1);
    1548 
    1549  tx_dl_bfw_buffer_size[i] = sys_load_file_to_buff(startupConfiguration.dl_bfw_file[i],
    1550  "DL BF weights IQ Samples in binary format",
    1551  (uint8_t*) p_tx_dl_bfw_buffer[i],
    1553  1);
    1555  }
    1556  }
    1557 
    1558  if (startupConfiguration.appMode == APP_O_DU && startupConfiguration.xranCat == XRAN_CATEGORY_B){
    1559 
    1560  for(i = 0; i < MAX_ANT_CARRIER_SUPPORTED && i < (uint32_t)(numCCPorts * num_eAxc); i++) {
    1561  p_tx_ul_bfw_buffer[i] = (int16_t*)malloc(iq_bfw_buffer_size_ul);
    1563 
    1564  if (p_tx_ul_bfw_buffer[i] == NULL)
    1565  exit(-1);
    1566 
    1567  tx_ul_bfw_buffer_size[i] = sys_load_file_to_buff(startupConfiguration.ul_bfw_file[i],
    1568  "UL BF weights IQ Samples in binary format",
    1569  (uint8_t*) p_tx_ul_bfw_buffer[i],
    1571  1);
    1573  }
    1574  }
    1575 
    1576  if (startupConfiguration.appMode == APP_O_RU && startupConfiguration.enablePrach){
    1577  for(i = 0; i < MAX_ANT_CARRIER_SUPPORTED && i < (uint32_t)(numCCPorts * num_eAxc); i++) {
    1578  p_tx_prach_play_buffer[i] = (int16_t*)malloc(PRACH_PLAYBACK_BUFFER_BYTES);
    1580 
    1581  if (p_tx_prach_play_buffer[i] == NULL)
    1582  exit(-1);
    1583 
    1585 
    1586  tx_prach_play_buffer_size[i] = sys_load_file_to_buff(startupConfiguration.prach_file[i],
    1587  "PRACH IQ Samples in binary format",
    1588  (uint8_t*) p_tx_prach_play_buffer[i],
    1590  1);
    1592  }
    1593  }
    1594 
    1595  if (startupConfiguration.appMode == APP_O_RU && startupConfiguration.enableSrs){
    1596  for(i = 0;
    1597  i < MAX_ANT_CARRIER_SUPPORTED_CAT_B && i < (uint32_t)(numCCPorts * startupConfiguration.antElmTRx);
    1598  i++) {
    1599 
    1600  p_tx_srs_play_buffer[i] = (int16_t*)malloc(iq_srs_buffer_size_ul);
    1602 
    1603  if (p_tx_srs_play_buffer[i] == NULL)
    1604  exit(-1);
    1605 
    1607  tx_prach_play_buffer_size[i] = sys_load_file_to_buff(startupConfiguration.ul_srs_file[i],
    1608  "SRS IQ Samples in binary format",
    1609  (uint8_t*) p_tx_srs_play_buffer[i],
    1611  1);
    1612 
    1614  }
    1615  }
    1616 
    1617  /* log of ul */
    1618  for(i = 0; i < MAX_ANT_CARRIER_SUPPORTED && i < (uint32_t)(numCCPorts * num_eAxc); i++) {
    1619 
    1620  p_rx_log_buffer[i] = (int16_t*)malloc(iq_playback_buffer_size_ul);
    1622 
    1623  if (p_rx_log_buffer[i] == NULL)
    1624  exit(-1);
    1625 
    1626  rx_log_buffer_position[i] = 0;
    1627 
    1628  memset(p_rx_log_buffer[i], 0, rx_log_buffer_size[i]);
    1629  }
    1630 
    1631  /* log of prach */
    1632  for(i = 0; i < MAX_ANT_CARRIER_SUPPORTED && i < (uint32_t)(numCCPorts * num_eAxc); i++) {
    1633 
    1634  p_prach_log_buffer[i] = (int16_t*)malloc(startupConfiguration.numSlots*XRAN_NUM_OF_SYMBOL_PER_SLOT*PRACH_PLAYBACK_BUFFER_BYTES);
    1635  prach_log_buffer_size[i] = (int32_t)startupConfiguration.numSlots*XRAN_NUM_OF_SYMBOL_PER_SLOT*PRACH_PLAYBACK_BUFFER_BYTES;
    1636 
    1637  if (p_prach_log_buffer[i] == NULL)
    1638  exit(-1);
    1639 
    1640  memset(p_prach_log_buffer[i], 0, prach_log_buffer_size[i]);
    1642  }
    1643 
    1644  /* log of SRS */
    1645  if (startupConfiguration.appMode == APP_O_DU && startupConfiguration.enableSrs){
    1646  for(i = 0;
    1647  i < MAX_ANT_CARRIER_SUPPORTED_CAT_B && i < (uint32_t)(numCCPorts * startupConfiguration.antElmTRx);
    1648  i++) {
    1649 
    1650  p_srs_log_buffer[i] = (int16_t*)malloc(iq_srs_buffer_size_ul);
    1652 
    1653  if (p_srs_log_buffer[i] == NULL)
    1654  exit(-1);
    1655 
    1656  memset(p_srs_log_buffer[i], 0, iq_srs_buffer_size_ul);
    1657  srs_log_buffer_position[i] = 0;
    1658  }
    1659  }
    1660 
    1661  if (stat("./logs", &st) == -1) {
    1662  mkdir("./logs", 0777);
    1663  }
    1664 
    1665  for (i = 0; i < MAX_ANT_CARRIER_SUPPORTED && i < (uint32_t)(numCCPorts * num_eAxc); i++) {
    1666 
    1667  sprintf(filename, "./logs/%s-play_ant%d.txt",((startupConfiguration.appMode == APP_O_DU) ? "o-du" : "o-ru"), i);
    1668  sys_save_buf_to_file_txt(filename,
    1669  "DL IFFT IN IQ Samples in human readable format",
    1670  (uint8_t*) p_tx_play_buffer[i],
    1672  1);
    1673 
    1674  sprintf(filename, "./logs/%s-play_ant%d.bin",((startupConfiguration.appMode == APP_O_DU) ? "o-du" : "o-ru"), i);
    1675  sys_save_buf_to_file(filename,
    1676  "DL IFFT IN IQ Samples in binary format",
    1677  (uint8_t*) p_tx_play_buffer[i],
    1678  tx_play_buffer_size[i]/sizeof(short),
    1679  sizeof(short));
    1680 
    1681 
    1682  if (startupConfiguration.appMode == APP_O_DU && startupConfiguration.xranCat == XRAN_CATEGORY_B){
    1683  sprintf(filename, "./logs/%s-dl_bfw_ue%d.txt",((startupConfiguration.appMode == APP_O_DU) ? "o-du" : "o-ru"), i);
    1684  sys_save_buf_to_file_txt(filename,
    1685  "DL Beamformig weights IQ Samples in human readable format",
    1686  (uint8_t*) p_tx_dl_bfw_buffer[i],
    1688  1);
    1689 
    1690  sprintf(filename, "./logs/%s-dl_bfw_ue%d.bin",((startupConfiguration.appMode == APP_O_DU) ? "o-du" : "o-ru"), i);
    1691  sys_save_buf_to_file(filename,
    1692  "DL Beamformig weightsIQ Samples in binary format",
    1693  (uint8_t*) p_tx_dl_bfw_buffer[i],
    1694  tx_dl_bfw_buffer_size[i]/sizeof(short),
    1695  sizeof(short));
    1696 
    1697 
    1698  sprintf(filename, "./logs/%s-ul_bfw_ue%d.txt",((startupConfiguration.appMode == APP_O_DU) ? "o-du" : "o-ru"), i);
    1699  sys_save_buf_to_file_txt(filename,
    1700  "UL Beamformig weights IQ Samples in human readable format",
    1701  (uint8_t*) p_tx_ul_bfw_buffer[i],
    1703  1);
    1704 
    1705  sprintf(filename, "./logs/%s-ul_bfw_ue%d.bin",((startupConfiguration.appMode == APP_O_DU) ? "o-du" : "o-ru"), i);
    1706  sys_save_buf_to_file(filename,
    1707  "UL Beamformig weightsIQ Samples in binary format",
    1708  (uint8_t*) p_tx_ul_bfw_buffer[i],
    1709  tx_ul_bfw_buffer_size[i]/sizeof(short),
    1710  sizeof(short));
    1711 
    1712  }
    1713 
    1714  if (startupConfiguration.appMode == APP_O_RU && startupConfiguration.enablePrach){
    1715  sprintf(filename, "./logs/%s-play_prach_ant%d.txt",((startupConfiguration.appMode == APP_O_DU) ? "o-du" : "o-ru"), i);
    1716  sys_save_buf_to_file_txt(filename,
    1717  "PRACH IQ Samples in human readable format",
    1718  (uint8_t*) p_tx_prach_play_buffer[i],
    1720  1);
    1721 
    1722  sprintf(filename, "./logs/%s-play_prach_ant%d.bin",((startupConfiguration.appMode == APP_O_DU) ? "o-du" : "o-ru"), i);
    1723  sys_save_buf_to_file(filename,
    1724  "PRACH IQ Samples in binary format",
    1725  (uint8_t*) p_tx_prach_play_buffer[i],
    1726  tx_prach_play_buffer_size[i]/sizeof(short),
    1727  sizeof(short));
    1728  }
    1729  }
    1730 
    1731  if (startupConfiguration.appMode == APP_O_RU && startupConfiguration.enableSrs && startupConfiguration.xranCat == XRAN_CATEGORY_B){
    1732  for(i = 0;
    1733  i < MAX_ANT_CARRIER_SUPPORTED_CAT_B && i < (uint32_t)(numCCPorts * startupConfiguration.antElmTRx);
    1734  i++) {
    1735 
    1736 
    1737  sprintf(filename, "./logs/%s-play_srs_ant%d.txt",((startupConfiguration.appMode == APP_O_DU) ? "o-du" : "o-ru"), i);
    1738  sys_save_buf_to_file_txt(filename,
    1739  "SRS IQ Samples in human readable format",
    1740  (uint8_t*) p_tx_srs_play_buffer[i],
    1742  1);
    1743 
    1744  sprintf(filename, "./logs/%s-play_srs_ant%d.bin",((startupConfiguration.appMode == APP_O_DU) ? "o-du" : "o-ru"), i);
    1745  sys_save_buf_to_file(filename,
    1746  "SRS IQ Samples in binary format",
    1747  (uint8_t*) p_tx_srs_play_buffer[i],
    1748  tx_srs_play_buffer_size[i]/sizeof(short),
    1749  sizeof(short));
    1750  }
    1751  }
    1752 
    1753  if (startupConfiguration.iqswap == 1){
    1754  for(i = 0; i < MAX_ANT_CARRIER_SUPPORTED && i < (uint32_t)(numCCPorts * num_eAxc); i++) {
    1755  printf("TX: Swap I and Q to match RU format: [%d]\n",i);
    1756  {
    1757  /* swap I and Q */
    1758  int32_t j;
    1759  signed short *ptr = (signed short *) p_tx_play_buffer[i];
    1760  signed short temp;
    1761 
    1762  for (j = 0; j < (int32_t)(tx_play_buffer_size[i]/sizeof(short)) ; j = j + 2){
    1763  temp = ptr[j];
    1764  ptr[j] = ptr[j + 1];
    1765  ptr[j + 1] = temp;
    1766  }
    1767  }
    1768  if (startupConfiguration.appMode == APP_O_DU && startupConfiguration.xranCat == XRAN_CATEGORY_B){
    1769  printf("DL BFW: Swap I and Q to match RU format: [%d]\n",i);
    1770  {
    1771  /* swap I and Q */
    1772  int32_t j;
    1773  signed short *ptr = (signed short *) p_tx_dl_bfw_buffer[i];
    1774  signed short temp;
    1775 
    1776  for (j = 0; j < (int32_t)(tx_dl_bfw_buffer_size[i]/sizeof(short)) ; j = j + 2){
    1777  temp = ptr[j];
    1778  ptr[j] = ptr[j + 1];
    1779  ptr[j + 1] = temp;
    1780  }
    1781  }
    1782  printf("UL BFW: Swap I and Q to match RU format: [%d]\n",i);
    1783  {
    1784  /* swap I and Q */
    1785  int32_t j;
    1786  signed short *ptr = (signed short *) p_tx_ul_bfw_buffer[i];
    1787  signed short temp;
    1788 
    1789  for (j = 0; j < (int32_t)(tx_ul_bfw_buffer_size[i]/sizeof(short)) ; j = j + 2){
    1790  temp = ptr[j];
    1791  ptr[j] = ptr[j + 1];
    1792  ptr[j + 1] = temp;
    1793  }
    1794  }
    1795  }
    1796  }
    1797 
    1798  if (startupConfiguration.appMode == APP_O_RU){
    1799  for(i = 0; i < MAX_ANT_CARRIER_SUPPORTED && i < (uint32_t)(numCCPorts * num_eAxc); i++) {
    1800  printf("PRACH: Swap I and Q to match RU format: [%d]\n",i);
    1801  {
    1802  /* swap I and Q */
    1803  int32_t j;
    1804  signed short *ptr = (signed short *) p_tx_prach_play_buffer[i];
    1805  signed short temp;
    1806 
    1807  for (j = 0; j < (int32_t)(tx_prach_play_buffer_size[i]/sizeof(short)) ; j = j + 2){
    1808  temp = ptr[j];
    1809  ptr[j] = ptr[j + 1];
    1810  ptr[j + 1] = temp;
    1811  }
    1812  }
    1813  }
    1814  }
    1815 
    1816  if (startupConfiguration.appMode == APP_O_RU){
    1817  for(i = 0;
    1818  i < MAX_ANT_CARRIER_SUPPORTED_CAT_B && i < (uint32_t)(numCCPorts * startupConfiguration.antElmTRx);
    1819  i++) {
    1820  printf("SRS: Swap I and Q to match RU format: [%d]\n",i);
    1821  {
    1822  /* swap I and Q */
    1823  int32_t j;
    1824  signed short *ptr = (signed short *) p_tx_srs_play_buffer[i];
    1825  signed short temp;
    1826 
    1827  for (j = 0; j < (int32_t)(tx_srs_play_buffer_size[i]/sizeof(short)) ; j = j + 2){
    1828  temp = ptr[j];
    1829  ptr[j] = ptr[j + 1];
    1830  ptr[j + 1] = temp;
    1831  }
    1832  }
    1833  }
    1834  }
    1835  }
    1836 
    1837 #if 0
    1838  for (i = 0; i < MAX_ANT_CARRIER_SUPPORTED && i < (uint32_t)(numCCPorts * num_eAxc); i++) {
    1839 
    1840  sprintf(filename, "./logs/swap_IQ_play_ant%d.txt", i);
    1841  sys_save_buf_to_file_txt(filename,
    1842  "DL IFFT IN IQ Samples in human readable format",
    1843  (uint8_t*) p_tx_play_buffer[i],
    1845  1);
    1846  }
    1847 #endif
    1848  if (startupConfiguration.nebyteorderswap == 1 && startupConfiguration.compression == 0){
    1849  for(i = 0; i < MAX_ANT_CARRIER_SUPPORTED && i < (uint32_t)(numCCPorts * num_eAxc); i++) {
    1850  printf("TX: Convert S16 I and S16 Q to network byte order for XRAN Ant: [%d]\n",i);
    1851  for (j = 0; j < tx_play_buffer_size[i]/sizeof(short); j++){
    1852  p_tx_play_buffer[i][j] = rte_cpu_to_be_16(p_tx_play_buffer[i][j]);
    1853  }
    1854 
    1855  if (startupConfiguration.appMode == APP_O_DU && startupConfiguration.xranCat == XRAN_CATEGORY_B){
    1856  printf("DL BFW: Convert S16 I and S16 Q to network byte order for XRAN Ant: [%d]\n",i);
    1857  for (j = 0; j < tx_dl_bfw_buffer_size[i]/sizeof(short); j++){
    1858  p_tx_dl_bfw_buffer[i][j] = rte_cpu_to_be_16(p_tx_dl_bfw_buffer[i][j]);
    1859  }
    1860  printf("UL BFW: Convert S16 I and S16 Q to network byte order for XRAN Ant: [%d]\n",i);
    1861  for (j = 0; j < tx_ul_bfw_buffer_size[i]/sizeof(short); j++){
    1862  p_tx_ul_bfw_buffer[i][j] = rte_cpu_to_be_16(p_tx_ul_bfw_buffer[i][j]);
    1863  }
    1864  }
    1865  }
    1866 
    1867  if (startupConfiguration.appMode == APP_O_RU && startupConfiguration.enablePrach){
    1868  for(i = 0; i < MAX_ANT_CARRIER_SUPPORTED && i < (uint32_t)(numCCPorts * num_eAxc); i++) {
    1869  printf("PRACH: Convert S16 I and S16 Q to network byte order for XRAN Ant: [%d]\n",i);
    1870  for (j = 0; j < tx_prach_play_buffer_size[i]/sizeof(short); j++){
    1871  p_tx_prach_play_buffer[i][j] = rte_cpu_to_be_16(p_tx_prach_play_buffer[i][j]);
    1872  }
    1873  }
    1874  }
    1875 
    1876  if (startupConfiguration.appMode == APP_O_RU && startupConfiguration.enableSrs){
    1877  for(i = 0;
    1878  i < MAX_ANT_CARRIER_SUPPORTED_CAT_B && i < (uint32_t)(numCCPorts * startupConfiguration.antElmTRx);
    1879  i++) {
    1880  printf("SRS: Convert S16 I and S16 Q to network byte order for XRAN Ant: [%d]\n",i);
    1881  for (j = 0; j < tx_srs_play_buffer_size[i]/sizeof(short); j++){
    1882  p_tx_srs_play_buffer[i][j] = rte_cpu_to_be_16(p_tx_srs_play_buffer[i][j]);
    1883  }
    1884  }
    1885  }
    1886 
    1887  }
    1888 
    1889 #if 0
    1890  for (i = 0; i < MAX_ANT_CARRIER_SUPPORTED && i < (uint32_t)(numCCPorts * num_eAxc); i++) {
    1891 
    1892  sprintf(filename, "./logs/swap_be_play_ant%d.txt", i);
    1893  sys_save_buf_to_file_txt(filename,
    1894  "DL IFFT IN IQ Samples in human readable format",
    1895  (uint8_t*) p_tx_play_buffer[i],
    1897  1);
    1898  }
    1899 #endif
    1900 
    1901  memset(&xranConf, 0, sizeof(struct xran_fh_config));
    1902  pXranConf = &xranConf;
    1903 
    1904  pXranConf->nDLRBs = app_xran_get_num_rbs(startupConfiguration.mu_number, startupConfiguration.nDLBandwidth, startupConfiguration.nDLAbsFrePointA);
    1905  pXranConf->nULRBs = app_xran_get_num_rbs(startupConfiguration.mu_number, startupConfiguration.nULBandwidth, startupConfiguration.nULAbsFrePointA);
    1906 
    1907  if(startupConfiguration.DynamicSectionEna == 0){
    1908  struct xran_prb_map* pRbMap;
    1909 
    1910  pRbMap = &startupConfiguration.PrbMapDl;
    1911 
    1912  pRbMap->dir = XRAN_DIR_DL;
    1913  pRbMap->xran_port = 0;
    1914  pRbMap->band_id = 0;
    1915  pRbMap->cc_id = 0;
    1916  pRbMap->ru_port_id = 0;
    1917  pRbMap->tti_id = 0;
    1918  pRbMap->start_sym_id = 0;
    1919  pRbMap->nPrbElm = 1;
    1920  pRbMap->prbMap[0].nStartSymb = 0;
    1921  pRbMap->prbMap[0].numSymb = 14;
    1922  pRbMap->prbMap[0].nRBStart = 0;
    1923  pRbMap->prbMap[0].nRBSize = pXranConf->nDLRBs;
    1924  pRbMap->prbMap[0].nBeamIndex = 0;
    1925  pRbMap->prbMap[0].compMethod = XRAN_COMPMETHOD_NONE;
    1926  pRbMap->prbMap[0].iqWidth = 16;
    1927 
    1928  pRbMap = &startupConfiguration.PrbMapUl;
    1929  pRbMap->dir = XRAN_DIR_UL;
    1930  pRbMap->xran_port = 0;
    1931  pRbMap->band_id = 0;
    1932  pRbMap->cc_id = 0;
    1933  pRbMap->ru_port_id = 0;
    1934  pRbMap->tti_id = 0;
    1935  pRbMap->start_sym_id = 0;
    1936  pRbMap->nPrbElm = 1;
    1937  pRbMap->prbMap[0].nStartSymb = 0;
    1938  pRbMap->prbMap[0].numSymb = 14;
    1939  pRbMap->prbMap[0].nRBStart = 0;
    1940  pRbMap->prbMap[0].nRBSize = pXranConf->nULRBs;
    1941  pRbMap->prbMap[0].nBeamIndex = 0;
    1942  pRbMap->prbMap[0].compMethod = XRAN_COMPMETHOD_NONE;
    1943  pRbMap->prbMap[0].iqWidth = 16;
    1944  }
    1945 
    1947  xret = xran_init(argc, argv, &xranInit, argv[0], &xranHandle);
    1948  if(xret != XRAN_STATUS_SUCCESS){
    1949  printf("xran_init failed %d\n", xret);
    1950  exit(-1);
    1951  }
    1952 
    1953  if(xranHandle == NULL)
    1954  exit(1);
    1955 
    1956 
    1957  pXranConf->sector_id = 0;
    1958  pXranConf->nCC = numCCPorts;
    1959  pXranConf->neAxc = num_eAxc;
    1960  pXranConf->neAxcUl = startupConfiguration.numUlAxc;
    1961  pXranConf->nAntElmTRx = startupConfiguration.antElmTRx;
    1962 
    1963  pXranConf->frame_conf.nFrameDuplexType = startupConfiguration.nFrameDuplexType;
    1964  pXranConf->frame_conf.nNumerology = startupConfiguration.mu_number;
    1965  pXranConf->frame_conf.nTddPeriod = startupConfiguration.nTddPeriod;
    1966 
    1967  for (i = 0; i < startupConfiguration.nTddPeriod; i++){
    1968  pXranConf->frame_conf.sSlotConfig[i] = startupConfiguration.sSlotConfig[i];
    1969  }
    1970 
    1971  pXranConf->prach_conf.nPrachSubcSpacing = startupConfiguration.mu_number;
    1972  pXranConf->prach_conf.nPrachFreqStart = 0;
    1974  pXranConf->prach_conf.nPrachConfIdx = startupConfiguration.prachConfigIndex;
    1975  pXranConf->prach_conf.nPrachFreqOffset = -792;
    1976 
    1977  pXranConf->srs_conf.symbMask = startupConfiguration.srsSymMask;
    1978  pXranConf->srs_conf.eAxC_offset = 2 * startupConfiguration.numAxc; /* PUSCH, PRACH, SRS */
    1979 
    1980  pXranConf->ru_conf.xranCat = startupConfiguration.xranCat;
    1981  pXranConf->ru_conf.iqWidth = startupConfiguration.PrbMapDl.prbMap[0].iqWidth;
    1982 
    1983  if (startupConfiguration.compression == 0)
    1984  pXranConf->ru_conf.compMeth = XRAN_COMPMETHOD_NONE;
    1985  else
    1987 
    1988  pXranConf->ru_conf.fftSize = 0;
    1989  while (startupConfiguration.nULFftSize >>= 1)
    1990  ++pXranConf->ru_conf.fftSize;
    1991 
    1992  pXranConf->ru_conf.byteOrder = (startupConfiguration.nebyteorderswap == 1) ? XRAN_NE_BE_BYTE_ORDER : XRAN_CPU_LE_BYTE_ORDER ;
    1993  pXranConf->ru_conf.iqOrder = (startupConfiguration.iqswap == 1) ? XRAN_Q_I_ORDER : XRAN_I_Q_ORDER;
    1994 
    1995  printf("FFT Order %d\n", pXranConf->ru_conf.fftSize);
    1996 
    1997  nCenterFreq = startupConfiguration.nDLAbsFrePointA + (((pXranConf->nDLRBs * N_SC_PER_PRB) / 2) * app_xran_get_scs(startupConfiguration.mu_number));
    1998  pXranConf->nDLCenterFreqARFCN = app_xran_cal_nrarfcn(nCenterFreq);
    1999  printf("DL center freq %d DL NR-ARFCN %d\n", nCenterFreq, pXranConf->nDLCenterFreqARFCN);
    2000 
    2001  nCenterFreq = startupConfiguration.nULAbsFrePointA + (((pXranConf->nULRBs * N_SC_PER_PRB) / 2) * app_xran_get_scs(startupConfiguration.mu_number));
    2002  pXranConf->nULCenterFreqARFCN = app_xran_cal_nrarfcn(nCenterFreq);
    2003  printf("UL center freq %d UL NR-ARFCN %d\n", nCenterFreq, pXranConf->nULCenterFreqARFCN);
    2004 
    2005  pXranConf->bbdev_dec = NULL;
    2006  pXranConf->bbdev_enc = NULL;
    2007 
    2008  pXranConf->log_level = 1;
    2009 
    2010  if(startupConfiguration.maxFrameId)
    2011  pXranConf->ru_conf.xran_max_frame = startupConfiguration.maxFrameId;
    2012 
    2013  if(init_xran() != 0)
    2014  exit(-1);
    2015 
    2019 
    2021 
    2022  xret = xran_open(xranHandle, pXranConf);
    2023 
    2024  if(xret != XRAN_STATUS_SUCCESS){
    2025  printf("xran_open failed %d\n", xret);
    2026  exit(-1);
    2027  }
    2028 
    2029  sprintf(filename, "mlog-%s", startupConfiguration.appMode == 0 ? "o-du" : "o-ru");
    2030 
    2031  /* MLogOpen(0, 32, 0, 0xFFFFFFFF, filename);*/
    2032 
    2033  MLogOpen(256, 3, 20000, 0, filename);
    2034  MLogSetMask(0);
    2035 
    2036  puts("----------------------------------------");
    2037  printf("MLog Info: virt=0x%016lx size=%d\n", MLogGetFileLocation(), MLogGetFileSize());
    2038  puts("----------------------------------------");
    2039 
    2040 
    2041  uint64_t nActiveCoreMask[MAX_BBU_POOL_CORE_MASK] = {0};
    2042  nActiveCoreMask[0] = 1 << xranInit.io_cfg.timing_core;
    2043  uint32_t numCarriers = startupConfiguration.numCC;
    2044 
    2045  MLogAddTestCase(nActiveCoreMask, numCarriers);
    2046 
    2047  fcntl(0, F_SETFL, fcntl(0, F_GETFL) | O_NONBLOCK);
    2048 
    2049  state = APP_RUNNING;
    2050  printf("Start XRAN traffic\n");
    2052  sleep(3);
    2053  print_menu();
    2054  for (;;) {
    2055  struct xran_common_counters x_counters;
    2056  char input[10];
    2057  sleep(1);
    2058  xran_curr_if_state = xran_get_if_state();
    2060 
    2061  xran_get_time_stats(&nTotalTime, &nUsedTime, &nCoreUsed, 1);
    2062  nUsedPercent = ((float)nUsedTime * 100.0) / (float)nTotalTime;
    2063 
    2064  printf("[%s][rx %ld pps %ld kbps %ld][tx %ld pps %ld kbps %ld] [on_time %ld early %ld late %ld corrupt %ld pkt_dupl %ld Total %ld] IO Util: %5.2f %%\n",
    2065  ((startupConfiguration.appMode == APP_O_DU) ? "o-du" : "o-ru"),
    2066  rx_counter,
    2068  rx_bytes_per_sec*8/1000L,
    2069  tx_counter,
    2071  tx_bytes_per_sec*8/1000L,
    2072  x_counters.Rx_on_time,
    2073  x_counters.Rx_early,
    2074  x_counters.Rx_late,
    2075  x_counters.Rx_corrupt,
    2076  x_counters.Rx_pkt_dupl,
    2077  x_counters.Total_msgs_rcvd,
    2078  nUsedPercent);
    2079 
    2084 
    2085  if(rx_counter > 0 && tx_counter > 0)
    2086  MLogSetMask(0xFFFFFFFF);
    2087  } else {
    2088  printf("error xran_get_common_counters\n");
    2089  }
    2090 
    2091  if (xran_curr_if_state == XRAN_STOPPED){
    2092  break;
    2093  }
    2094  if (NULL == fgets(input, 10, stdin)) {
    2095  continue;
    2096  }
    2097 
    2098  const int sel_opt = atoi(input);
    2099  switch (sel_opt) {
    2100  case 1:
    2102  printf("Start XRAN traffic\n");
    2103  break;
    2104  case 2:
    2105  break;
    2106  case 3:
    2108  printf("Stop XRAN traffic\n");
    2109  state = APP_STOPPED;
    2110  break;
    2111  default:
    2112  puts("Wrong option passed!");
    2113  break;
    2114  }
    2115  if (APP_STOPPED == state)
    2116  break;
    2117  }
    2118 
    2120 
    2121  puts("Closing l1 app... Ending all threads...");
    2123  MLogPrint(NULL);
    2124 
    2125  stop_xran();
    2126  puts("Dump IQs...");
    2127 
    2128  if (startupConfiguration.iqswap == 1){
    2129  for(i = 0; i < MAX_ANT_CARRIER_SUPPORTED && i < (uint32_t)(numCCPorts * num_eAxc); i++) {
    2130  printf("RX: Swap I and Q to match CPU format: [%d]\n",i);
    2131  {
    2132  /* swap I and Q */
    2133  int32_t j;
    2134  signed short *ptr = (signed short *) p_rx_log_buffer[i];
    2135  signed short temp;
    2136 
    2137  for (j = 0; j < (int32_t)(rx_log_buffer_size[i]/sizeof(short)) ; j = j + 2){
    2138  temp = ptr[j];
    2139  ptr[j] = ptr[j + 1];
    2140  ptr[j + 1] = temp;
    2141  }
    2142  }
    2143  }
    2144 
    2145  if (startupConfiguration.appMode == APP_O_DU && startupConfiguration.enableSrs){
    2146  for(i = 0;
    2147  i < MAX_ANT_CARRIER_SUPPORTED_CAT_B && i < (uint32_t)(numCCPorts * startupConfiguration.antElmTRx);
    2148  i++) {
    2149  printf("SRS: Swap I and Q to match CPU format: [%d]\n",i);
    2150  {
    2151  /* swap I and Q */
    2152  int32_t j;
    2153  signed short *ptr = (signed short *) p_srs_log_buffer[i];
    2154  signed short temp;
    2155 
    2156  for (j = 0; j < (int32_t)(srs_log_buffer_size[i]/sizeof(short)) ; j = j + 2){
    2157  temp = ptr[j];
    2158  ptr[j] = ptr[j + 1];
    2159  ptr[j + 1] = temp;
    2160  }
    2161  }
    2162  }
    2163  }
    2164  }
    2165 
    2166  if (startupConfiguration.nebyteorderswap == 1 && startupConfiguration.compression == 0) {
    2167 
    2168  for(i = 0; i < MAX_ANT_CARRIER_SUPPORTED && i < (uint32_t)(numCCPorts * num_eAxc); i++) {
    2169  printf("RX: Convert S16 I and S16 Q to cpu byte order from XRAN Ant: [%d]\n",i);
    2170  for (j = 0; j < rx_log_buffer_size[i]/sizeof(short); j++){
    2171  p_rx_log_buffer[i][j] = rte_be_to_cpu_16(p_rx_log_buffer[i][j]);
    2172  }
    2173  }
    2174 
    2175  if (startupConfiguration.appMode == APP_O_DU && startupConfiguration.enableSrs){
    2176  for(i = 0;
    2177  i < MAX_ANT_CARRIER_SUPPORTED_CAT_B && i < (uint32_t)(numCCPorts * startupConfiguration.antElmTRx);
    2178  i++) {
    2179  printf("SRS: Convert S16 I and S16 Q to cpu byte order from XRAN Ant: [%d]\n",i);
    2180  for (j = 0; j < srs_log_buffer_size[i]/sizeof(short); j++){
    2181  p_srs_log_buffer[i][j] = rte_be_to_cpu_16(p_srs_log_buffer[i][j]);
    2182  }
    2183  }
    2184  }
    2185  }
    2186 
    2187  for (i = 0; i < MAX_ANT_CARRIER_SUPPORTED && i < (uint32_t)(numCCPorts * num_eAxc); i++) {
    2188 
    2189  sprintf(filename, "./logs/%s-rx_log_ant%d.txt",((startupConfiguration.appMode == APP_O_DU) ? "o-du" : "o-ru"), i);
    2190  sys_save_buf_to_file_txt(filename,
    2191  "UL FFT OUT IQ Samples in human readable format",
    2192  (uint8_t*) p_rx_log_buffer[i],
    2193  rx_log_buffer_size[i],
    2194  1);
    2195 
    2196  sprintf(filename, "./logs/%s-rx_log_ant%d.bin",((startupConfiguration.appMode == APP_O_DU) ? "o-du" : "o-ru"), i);
    2197  sys_save_buf_to_file(filename,
    2198  "UL FFT OUT IQ Samples in binary format",
    2199  (uint8_t*) p_rx_log_buffer[i],
    2200  rx_log_buffer_size[i]/sizeof(short),
    2201  sizeof(short));
    2202  }
    2203 
    2204  if (startupConfiguration.appMode == APP_O_DU && startupConfiguration.enableSrs){
    2205  for(i = 0;
    2206  i < MAX_ANT_CARRIER_SUPPORTED_CAT_B && i < (uint32_t)(numCCPorts * startupConfiguration.antElmTRx);
    2207  i++) {
    2208  sprintf(filename, "./logs/%s-srs_log_ant%d.txt",((startupConfiguration.appMode == APP_O_DU) ? "o-du" : "o-ru"), i);
    2209  sys_save_buf_to_file_txt(filename,
    2210  "SRS UL FFT OUT IQ Samples in human readable format",
    2211  (uint8_t*) p_srs_log_buffer[i],
    2213  1);
    2214 
    2215  sprintf(filename, "./logs/%s-srs_log_ant%d.bin",((startupConfiguration.appMode == APP_O_DU) ? "o-du" : "o-ru"), i);
    2216  sys_save_buf_to_file(filename,
    2217  "SRS UL FFT OUT IQ Samples in binary format",
    2218  (uint8_t*) p_srs_log_buffer[i],
    2219  srs_log_buffer_size[i]/sizeof(short),
    2220  sizeof(short));
    2221  }
    2222  }
    2223 
    2224  if (startupConfiguration.appMode == APP_O_DU && startupConfiguration.enablePrach){
    2225  if (startupConfiguration.iqswap == 1){
    2226  for(i = 0; i < MAX_ANT_CARRIER_SUPPORTED && i < (uint32_t)(numCCPorts * num_eAxc); i++) {
    2227  printf("PRACH: Swap I and Q to match CPU format: [%d]\n",i);
    2228  {
    2229  /* swap I and Q */
    2230  int32_t j;
    2231  signed short *ptr = (signed short *) p_prach_log_buffer[i];
    2232  signed short temp;
    2233 
    2234  for (j = 0; j < (int32_t)(prach_log_buffer_size[i]/sizeof(short)) ; j = j + 2){
    2235  temp = ptr[j];
    2236  ptr[j] = ptr[j + 1];
    2237  ptr[j + 1] = temp;
    2238  }
    2239  }
    2240  }
    2241  }
    2242 
    2243 
    2244  if (startupConfiguration.nebyteorderswap == 1 && startupConfiguration.compression == 0){
    2245  for(i = 0; i < MAX_ANT_CARRIER_SUPPORTED && i < (uint32_t)(numCCPorts * num_eAxc); i++) {
    2246  printf("PRACH: Convert S16 I and S16 Q to cpu byte order from XRAN Ant: [%d]\n",i);
    2247  for (j = 0; j < prach_log_buffer_size[i]/sizeof(short); j++){
    2248  p_prach_log_buffer[i][j] = rte_be_to_cpu_16(p_prach_log_buffer[i][j]);
    2249  }
    2250  }
    2251  }
    2252 
    2253 
    2254  for (i = 0; i < MAX_ANT_CARRIER_SUPPORTED && i < (uint32_t)(numCCPorts * num_eAxc); i++) {
    2255 
    2256  sprintf(filename, "./logs/%s-prach_log_ant%d.txt",((startupConfiguration.appMode == APP_O_DU) ? "o-du" : "o-ru"), i);
    2257  sys_save_buf_to_file_txt(filename,
    2258  "PRACH FFT OUT IQ Samples in human readable format",
    2259  (uint8_t*) p_prach_log_buffer[i],
    2261  1);
    2262 
    2263  sprintf(filename, "./logs/%s-prach_log_ant%d.bin",((startupConfiguration.appMode == APP_O_DU) ? "o-du" : "o-ru"), i);
    2264  sys_save_buf_to_file(filename,
    2265  "PRACH FFT OUT IQ Samples in binary format",
    2266  (uint8_t*) p_prach_log_buffer[i],
    2267  prach_log_buffer_size[i]/sizeof(short),
    2268  sizeof(short));
    2269  }
    2270  }
    2271 
    2272  return 0;
    2273 }
    +
    int32_t xran_get_common_counters(void *pXranLayerHandle, struct xran_common_counters *pStats)
    Definition: xran_main.c:3074
    +
    uint8_t enablePrach
    Definition: config.h:68
    +
    int32_t DynamicSectionEna
    Definition: config.h:109
    +
    int32_t debugStop
    Definition: xran_fh_o_du.h:361
    +
    int physide_ul_full_slot_call_back(void *param)
    Definition: sample-app.c:367
    +
    #define XRAN_MAX_SECTIONS_PER_SYM
    Definition: xran_fh_o_du.h:130
    +
    uint8_t xranCat
    Definition: config.h:37
    +
    int parseConfigFile(char *filename, RuntimeConfig *config)
    Definition: config.c:497
    +
    int32_t prach_log_buffer_position[MAX_ANT_CARRIER_SUPPORTED]
    Definition: common.c:68
    + + +
    struct ether_addr o_du_addr
    Definition: config.h:49
    +
    #define N_SC_PER_PRB
    Definition: common.h:49
    +
    #define CPU_HZ
    Definition: sample-app.c:181
    +
    BbuIoBufCtrlStruct sFHPrachRxBbuIoBufCtrl[XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR]
    Definition: sample-app.c:145
    +
    uint8_t enableCP
    Definition: xran_fh_o_du.h:356
    + +
    #define MAX_ANT_CARRIER_SUPPORTED
    Definition: common.h:51
    +
    int iq_bfw_buffer_size_ul
    Definition: common.c:40
    +
    int32_t tx_dl_bfw_buffer_position[MAX_ANT_CARRIER_SUPPORTED]
    Definition: common.c:83
    +
    phy_encoder_poll_fn bbdev_enc
    Definition: xran_fh_o_du.h:520
    + + + +
    #define XRAN_MAX_ANT_ARRAY_ELM_NR
    Definition: xran_fh_o_du.h:118
    +
    uint16_t Tadv_cp_dl
    Definition: config.h:84
    +
    uint8_t cp_vlan_tag
    Definition: config.h:103
    +
    int32_t tx_ul_bfw_buffer_size[MAX_ANT_CARRIER_SUPPORTED]
    Definition: common.c:87
    + +
    int32_t timing_core
    Definition: xran_fh_o_du.h:303
    +
    #define XRAN_N_FE_BUF_LEN
    Definition: xran_fh_o_du.h:109
    +
    uint16_t ru_port_id
    Definition: xran_fh_o_du.h:419
    +
    uint32_t nFhConfig
    Definition: sample-app.c:94
    +
    int32_t rx_log_buffer_size[MAX_ANT_CARRIER_SUPPORTED]
    Definition: common.c:63
    +
    #define XRAN_STATUS_SUCCESS
    Definition: xran_fh_o_du.h:54
    + +
    int16_t * p_rx_log_buffer[MAX_ANT_CARRIER_SUPPORTED]
    Definition: common.c:62
    +
    int get_xran_iq_content(void)
    Definition: sample-app.c:1139
    +
    int16_t cpuSocketId
    Definition: sample-app.c:134
    +
    #define MLogSetMask(a)
    Definition: xran_mlog_lnx.h:39
    +
    uint32_t nAntElmTRx
    Definition: xran_fh_o_du.h:503
    + + +
    int32_t xran_open(void *pHandle, struct xran_fh_config *pConf)
    Definition: xran_main.c:2756
    +
    int32_t nPrachFreqOffset
    Definition: xran_fh_o_du.h:442
    +
    #define PID_GNB_PRACH_CB
    + +
    uint16_t T1a_max_up
    Definition: xran_fh_o_du.h:352
    +
    uint8_t eAxC_offset
    Definition: xran_fh_o_du.h:449
    +
    uint16_t T2a_min_cp_ul
    Definition: config.h:87
    +
    uint32_t nNrofSfInFrame
    Definition: sample-app.c:98
    +
    uint32_t nNumBuffers
    Definition: xran_fh_o_du.h:594
    +
    uint16_t nDLRBs
    Definition: xran_fh_o_du.h:506
    +
    int32_t pkt_aux_core
    Definition: xran_fh_o_du.h:302
    +
    int32_t xran_init(int argc, char *argv[], struct xran_fh_init *p_xran_fh_init, char *appName, void **pHandle)
    Definition: xran_main.c:2319
    +
    int32_t init_xran(void)
    Definition: sample-app.c:375
    +
    struct XranLibConfig XranLibConfigStruct
    + +
    int32_t xran_mm_init(void *pHandle, uint64_t nMemorySize, uint32_t nMemorySegmentSize)
    Definition: xran_main.c:2447
    +
    uint16_t mask_bandSectorId
    Definition: xran_fh_o_du.h:310
    +
    uint16_t nULRBs
    Definition: xran_fh_o_du.h:507
    +
    uint8_t id
    Definition: xran_fh_o_du.h:295
    +
    int32_t GPS_Beta
    Definition: xran_fh_o_du.h:365
    +
    #define VERSIONX
    Definition: common.h:31
    +
    struct xran_flat_buffer sFHSrsRxBuffers[XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANT_ARRAY_ELM_NR][XRAN_MAX_NUM_OF_SRS_SYMBOL_PER_SLOT]
    Definition: sample-app.c:158
    +
    struct xran_flat_buffer sFrontHaulTxBuffers[XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR][XRAN_NUM_OF_SYMBOL_PER_SLOT]
    Definition: sample-app.c:151
    +
    uint16_t Ta3_max
    Definition: config.h:92
    +
    char prach_file[XRAN_MAX_SECTOR_NR *XRAN_MAX_ANTENNA_NR][512]
    Definition: config.h:60
    + +
    uint8_t xran_port
    Definition: xran_fh_o_du.h:416
    +
    uint8_t up_vlan_tag
    Definition: config.h:104
    +
    int physide_ul_half_slot_call_back(void *param)
    Definition: sample-app.c:359
    +
    int main(int argc, char *argv[])
    Definition: sample-app.c:1319
    +
    uint32_t app_xran_get_scs(uint8_t nMu)
    Definition: common.c:182
    +
    int16_t nRBStart
    Definition: xran_fh_o_du.h:394
    +
    int xranlib_decompress_avx512(const struct xranlib_decompress_request *request, struct xranlib_decompress_response *response)
    +
    int iq_playback_buffer_size_dl
    Definition: common.c:36
    + + +
    int32_t core
    Definition: xran_fh_o_du.h:299
    +
    int32_t debugStopCount
    Definition: xran_fh_o_du.h:362
    +
    int16_t nBeamIndex
    Definition: xran_fh_o_du.h:398
    +
    struct xran_flat_buffer sFrontHaulTxPrbMapBuffers[XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR]
    Definition: sample-app.c:152
    +
    uint8_t prachEnable
    Definition: xran_fh_o_du.h:357
    +
    enum xran_input_byte_order byteOrder
    Definition: xran_fh_o_du.h:489
    +
    struct xran_fh_config * pXranConf
    Definition: sample-app.c:79
    +
    uint8_t srsEnable
    Definition: xran_fh_o_du.h:358
    + +
    uint16_t totalBfWeights
    Definition: xran_fh_o_du.h:336
    +
    uint32_t nPrbElm
    Definition: xran_fh_o_du.h:422
    +
    int32_t nSegTransferred
    Definition: sample-app.c:127
    +
    struct xran_prb_map PrbMapDl
    Definition: config.h:125
    +
    uint8_t nebyteorderswap
    Definition: config.h:74
    +
    long rx_counter
    Definition: xran_common.c:117
    +
    int16_t nRBSize
    Definition: xran_fh_o_du.h:395
    + +
    int32_t tx_prach_play_buffer_size[MAX_ANT_CARRIER_SUPPORTED]
    Definition: common.c:55
    +
    int32_t xran_bm_init(void *pHandle, uint32_t *pPoolIndex, uint32_t nNumberOfBuffers, uint32_t nBufferSize)
    Definition: xran_main.c:2454
    + +
    Request structure containing pointer to data and its length.
    +
    uint16_t T2a_min_cp_ul
    Definition: xran_fh_o_du.h:341
    +
    uint8_t prachConfigIndex
    Definition: config.h:72
    +
    RuntimeConfig startupConfiguration
    Definition: sample-app.c:68
    +
    #define XRAN_MAX_SECTOR_NR
    Definition: xran_fh_o_du.h:110
    +
    int32_t xran_get_slot_idx(uint32_t *nFrameIdx, uint32_t *nSubframeIdx, uint32_t *nSlotIdx, uint64_t *nSecond)
    Definition: xran_main.c:2936
    + +
    uint32_t nDriverCoreId
    Definition: sample-app.c:92
    + +
    uint16_t T2a_max_cp_dl
    Definition: config.h:86
    +
    uint8_t * xran_add_hdr_offset(uint8_t *dst, int16_t compMethod)
    Definition: xran_main.c:2741
    +
    #define MLogAddVariables(x, y, z)
    Definition: xran_mlog_lnx.h:49
    + +
    uint16_t srsSymMask
    Definition: config.h:80
    +
    uint16_t xran_max_frame
    Definition: xran_fh_o_du.h:491
    +
    External API for compading with the use BFP algorithm.
    +
    char dl_bfw_file[XRAN_MAX_SECTOR_NR *XRAN_MAX_ANTENNA_NR][512]
    Definition: config.h:62
    +
    int16_t ext_section_sz
    Definition: xran_fh_o_du.h:372
    +
    uint16_t cc_id
    Definition: xran_fh_o_du.h:418
    +
    struct xran_srs_config srs_conf
    Definition: xran_fh_o_du.h:516
    +
    struct xran_eaxcid_config eAxCId_conf
    Definition: xran_fh_o_du.h:325
    +
    int32_t xran_start(void *pHandle)
    Definition: xran_main.c:2841
    +
    int16_t iqWidth
    Definition: xran_fh_o_du.h:401
    + +
    uint16_t nPrachFreqStart
    Definition: xran_fh_o_du.h:441
    +
    uint16_t T1a_min_up
    Definition: config.h:97
    +
    uint16_t Ta3_min
    Definition: xran_fh_o_du.h:345
    +
    uint16_t Tadv_cp_dl
    Definition: xran_fh_o_du.h:338
    + +
    phy_decoder_poll_fn bbdev_dec
    Definition: xran_fh_o_du.h:521
    +
    #define XRAN_MAX_ANTENNA_NR
    Definition: xran_fh_o_du.h:111
    +
    void stop_xran(void)
    Definition: sample-app.c:1122
    +
    int8_t * p_ext_section
    Definition: xran_fh_o_du.h:371
    + +
    int init_xran_iq_content(void)
    Definition: sample-app.c:793
    +
    int8_t * p_o_ru_addr
    Definition: xran_fh_o_du.h:334
    +
    #define XRAN_PORTS_NUM
    Definition: xran_fh_o_du.h:108
    +
    uint16_t nInstanceNum
    Definition: sample-app.c:162
    +
    struct xran_cp_bf_weight bf_weight
    Definition: xran_fh_o_du.h:405
    +
    uint8_t nFrameDuplexType
    Definition: xran_fh_o_du.h:460
    +
    enum xran_if_state xran_get_if_state(void)
    Definition: xran_main.c:238
    +
    uint16_t maxFrameId
    Definition: config.h:82
    +
    int32_t system_core
    Definition: xran_fh_o_du.h:300
    +
    uint8_t start_sym_id
    Definition: xran_fh_o_du.h:421
    +
    uint16_t Ta4_min
    Definition: config.h:99
    +
    uint16_t tti_id
    Definition: xran_fh_o_du.h:420
    +
    char * filePrefix
    Definition: xran_fh_o_du.h:329
    + +
    uint32_t mtu
    Definition: xran_fh_o_du.h:331
    +
    int physide_dl_tti_call_back(void *param)
    Definition: sample-app.c:351
    +
    uint32_t nNumberOfElements
    Definition: xran_fh_o_du.h:560
    +
    uint32_t nULBandwidth
    Definition: config.h:117
    +
    #define PRACH_PLAYBACK_BUFFER_BYTES
    Definition: common.h:60
    +
    enum xran_input_i_q_order iqOrder
    Definition: xran_fh_o_du.h:490
    + +
    uint16_t T1a_max_cp_dl
    Definition: xran_fh_o_du.h:348
    +
    uint8_t compression
    Definition: config.h:75
    +
    int sys_load_file_to_buff(char *filename, char *bufname, unsigned char *pBuffer, unsigned int size, unsigned int buffers_num)
    Definition: common.c:584
    +
    int32_t tx_dl_bfw_buffer_size[MAX_ANT_CARRIER_SUPPORTED]
    Definition: common.c:82
    +
    uint32_t SULFreShift
    Definition: sample-app.c:85
    +
    #define NS_PER_SEC
    +
    struct xran_flat_buffer sFrontHaulRxPrbMapBuffers[XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR]
    Definition: sample-app.c:154
    +
    #define PID_GNB_PROC_TIMING
    +
    uint32_t instance_id
    Definition: config.h:53
    +
    uint32_t mtu
    Definition: config.h:56
    +
    struct xran_io_cfg io_cfg
    Definition: xran_fh_o_du.h:324
    +
    #define FPGA_TO_SW_PRACH_RX_BUFFER_LEN
    Definition: sample-app.c:52
    +
    uint32_t nDLBandwidth
    Definition: config.h:116
    +
    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)
    Definition: xran_main.c:2679
    +
    #define PID_GNB_SYM_CB
    +
    void sys_save_buf_to_file_txt(char *filename, char *bufname, unsigned char *pBuffer, unsigned int size, unsigned int buffers_num)
    Definition: common.c:635
    + + + +
    uint32_t nNrOfSlotInSf
    Definition: sample-app.c:97
    +
    #define APP_O_DU
    Definition: common.h:33
    +
    uint32_t log_level
    Definition: xran_fh_o_du.h:523
    +
    uint16_t T2a_max_cp_ul
    Definition: config.h:88
    +
    int32_t tx_srs_play_buffer_size[XRAN_MAX_SECTOR_NR *XRAN_MAX_ANT_ARRAY_ELM_NR]
    Definition: common.c:59
    +
    uint32_t nSectorNum
    Definition: sample-app.c:96
    +
    long old_rx_counter
    Definition: sample-app.c:176
    +
    uint8_t bit_bandSectorId
    Definition: xran_fh_o_du.h:315
    +
    long tx_counter
    Definition: xran_common.c:118
    +
    uint32_t nULCenterFreqARFCN
    Definition: xran_fh_o_du.h:511
    + +
    uint8_t nPrachFilterIdx
    Definition: xran_fh_o_du.h:443
    +
    uint32_t nOffsetInBytes
    Definition: xran_fh_o_du.h:562
    +
    uint64_t nCoreMask
    Definition: sample-app.c:133
    +
    uint8_t iqswap
    Definition: config.h:73
    +
    struct ether_addr o_ru_addr
    Definition: config.h:50
    + +
    uint32_t nFpgaToSW_PRACH_RxBufferLen
    Definition: sample-app.c:72
    +
    uint8_t compMeth
    Definition: xran_fh_o_du.h:487
    +
    void sys_save_buf_to_file(char *filename, char *bufname, unsigned char *pBuffer, unsigned int size, unsigned int buffers_num)
    Definition: common.c:550
    + +
    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)
    Definition: xran_main.c:2636
    + +
    uint32_t SULFlag
    Definition: sample-app.c:86
    + +
    uint16_t Ta4_min
    Definition: xran_fh_o_du.h:353
    + + +
    struct xran_flat_buffer sFHPrachRxBuffers[XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR][XRAN_NUM_OF_SYMBOL_PER_SLOT]
    Definition: sample-app.c:155
    +
    uint16_t Ta4_max
    Definition: xran_fh_o_du.h:354
    +
    #define NUM_OF_SUBFRAME_PER_FRAME
    Definition: sample-app.c:60
    +
    long old_tx_counter
    Definition: sample-app.c:177
    + +
    uint32_t nTimingAdvance
    Definition: sample-app.c:93
    +
    struct xran_frame_config frame_conf
    Definition: xran_fh_o_du.h:517
    + + +
    uint8_t appMode
    Definition: config.h:36
    +
    This file provides interface to synchronization related APIs (PTP/1588) for XRAN. ...
    +
    int32_t xran_mm_destroy(void *pHandle)
    Definition: xran_main.c:2877
    +
    int32_t nSegGenerated
    Definition: sample-app.c:125
    +
    int32_t xran_close(void *pHandle)
    Definition: xran_main.c:2863
    +
    Request structure containing pointer to data and its length.
    +
    uint32_t sector_id
    Definition: xran_fh_o_du.h:499
    +
    uint16_t T1a_min_up
    Definition: xran_fh_o_du.h:351
    +
    uint16_t app_xran_get_num_rbs(uint32_t nNumerology, uint32_t nBandwidth, uint32_t nAbsFrePointA)
    Definition: common.c:213
    +
    long rx_bytes_per_sec
    Definition: xran_common.c:122
    +
    uint16_t Ta3_max
    Definition: xran_fh_o_du.h:346
    +
    uint16_t T1a_max_up
    Definition: config.h:98
    +
    uint16_t T2a_min_cp_dl
    Definition: xran_fh_o_du.h:339
    +
    int16_t * p_tx_ul_bfw_buffer[MAX_ANT_CARRIER_SUPPORTED]
    Definition: common.c:86
    + +
    uint32_t nSW_ToFpga_FTH_TxBufferLen
    Definition: sample-app.c:73
    + +
    #define MAX_BBU_POOL_CORE_MASK
    Definition: sample-app.c:46
    + +
    int16_t * p_tx_play_buffer[MAX_ANT_CARRIER_SUPPORTED]
    Definition: common.c:50
    +
    #define MLogOpen(a, b, c, d, e)
    Definition: xran_mlog_lnx.h:34
    +
    uint16_t T2a_max_up
    Definition: config.h:90
    +
    void xran_fh_rx_callback(void *pCallbackTag, int32_t status)
    Definition: sample-app.c:226
    + +
    int xranlib_compress_avx512(const struct xranlib_compress_request *request, struct xranlib_compress_response *response)
    +
    xran_if_state
    Definition: xran_fh_o_du.h:189
    + + +
    uint16_t symbMask
    Definition: xran_fh_o_du.h:448
    +
    int timer_set_tsc_freq_from_clock(void)
    Definition: sample-app.c:323
    +
    uint8_t up_vlan_tag
    Definition: xran_fh_o_du.h:360
    +
    uint16_t T2a_max_cp_dl
    Definition: xran_fh_o_du.h:340
    + +
    struct xran_flat_buffer * pBuffers
    Definition: xran_fh_o_du.h:596
    +
    BbuIoBufCtrlStruct sFrontHaulRxBbuIoBufCtrl[XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR]
    Definition: sample-app.c:143
    +
    #define SW_FPGA_FH_TOTAL_BUFFER_LEN
    Definition: sample-app.c:51
    +
    #define SW_FPGA_SEGMENT_BUFFER_LEN
    Definition: sample-app.c:50
    +
    int32_t tx_srs_play_buffer_position[XRAN_MAX_SECTOR_NR *XRAN_MAX_ANT_ARRAY_ELM_NR]
    Definition: common.c:60
    + + + + +
    void * nInstanceHandle[XRAN_PORTS_NUM][XRAN_MAX_SECTOR_NR]
    Definition: sample-app.c:160
    +
    uint16_t T2a_min_up
    Definition: xran_fh_o_du.h:343
    + +
    uint32_t app_xran_cal_nrarfcn(uint32_t nCenterFreq)
    Definition: common.c:338
    +
    int32_t xran_bm_allocate_buffer(void *pHandle, uint32_t nPoolIndex, void **ppData, void **ppCtrl)
    Definition: xran_main.c:2499
    +
    #define MAX_ANT_CARRIER_SUPPORTED_CAT_B
    Definition: common.h:52
    +
    int16_t * p_srs_log_buffer[XRAN_MAX_SECTOR_NR *XRAN_MAX_ANT_ARRAY_ELM_NR]
    Definition: common.c:70
    +
    struct xran_prach_config prach_conf
    Definition: xran_fh_o_du.h:515
    +
    uint32_t nDLAbsFrePointA
    Definition: config.h:114
    +
    int16_t bf_weight_update
    Definition: xran_fh_o_du.h:399
    +
    uint16_t totalBfWeights
    Definition: config.h:77
    +
    BbuIoBufCtrlStruct sFHSrsRxBbuIoBufCtrl[XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANT_ARRAY_ELM_NR]
    Definition: sample-app.c:148
    + +
    #define MLogPrint(a)
    Definition: xran_mlog_lnx.h:36
    +
    uint16_t T1a_max_cp_ul
    Definition: config.h:96
    +
    uint32_t rsv
    Definition: sample-app.c:87
    +
    int16_t compMethod
    Definition: xran_fh_o_du.h:400
    +
    uint8_t num_eAxc
    Definition: common.c:47
    +
    uint32_t neAxcUl
    Definition: xran_fh_o_du.h:502
    +
    enum xran_category xranCat
    Definition: xran_fh_o_du.h:484
    +
    int32_t xran_stop(void *pHandle)
    Definition: xran_main.c:2852
    +
    struct xran_slot_config sSlotConfig[XRAN_MAX_TDD_PERIODICITY]
    Definition: xran_fh_o_du.h:465
    + +
    void * xran_malloc(size_t buf_len)
    Definition: xran_main.c:2736
    +
    uint16_t T2a_max_cp_ul
    Definition: xran_fh_o_du.h:342
    +
    int32_t debugStop
    Definition: config.h:106
    + +
    int16_t iq_buffer_offset
    Definition: xran_fh_o_du.h:385
    +
    int iq_playback_buffer_size_ul
    Definition: common.c:37
    +
    int16_t nStartSymb
    Definition: xran_fh_o_du.h:396
    +
    int32_t prach_log_buffer_size[MAX_ANT_CARRIER_SUPPORTED]
    Definition: common.c:67
    + +
    struct xran_flat_buffer sFrontHaulRxBuffers[XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR][XRAN_NUM_OF_SYMBOL_PER_SLOT]
    Definition: sample-app.c:153
    +
    SWXRANInterfaceTypeEnum
    Definition: sample-app.c:101
    +
    uint16_t Ta4_max
    Definition: config.h:100
    +
    uint8_t nDriverCoreId
    Definition: sample-app.c:135
    +
    uint16_t T2a_min_up
    Definition: config.h:89
    +
    uint16_t band_id
    Definition: xran_fh_o_du.h:417
    +
    int32_t debugStopCount
    Definition: config.h:107
    +
    struct xran_ru_config ru_conf
    Definition: xran_fh_o_du.h:518
    +
    #define N_MAX_BUFFER_SEGMENT
    Definition: sample-app.c:57
    +
    int32_t tx_play_buffer_position[MAX_ANT_CARRIER_SUPPORTED]
    Definition: common.c:52
    +
    uint8_t cp_vlan_tag
    Definition: xran_fh_o_du.h:359
    +
    struct xran_section_desc * p_sec_desc[XRAN_NUM_OF_SYMBOL_PER_SLOT]
    Definition: xran_fh_o_du.h:404
    + +
    int16_t BeamFormingType
    Definition: xran_fh_o_du.h:402
    + + +
    uint8_t numUlAxc
    Definition: config.h:40
    +
    long tx_bytes_per_sec
    Definition: xran_common.c:121
    +
    void * xranHandle
    Definition: sample-app.c:76
    +
    #define XRAN_MAX_NUM_OF_SRS_SYMBOL_PER_SLOT
    Definition: xran_fh_o_du.h:123
    +
    uint16_t T1a_min_cp_ul
    Definition: config.h:95
    +
    enum app_state state
    Definition: sample-app.c:62
    + +
    #define XRAN_NUM_OF_SYMBOL_PER_SLOT
    Definition: xran_fh_o_du.h:122
    +
    int32_t xran_cp_populate_section_ext_1(int8_t *p_ext1_dst, uint16_t ext1_dst_len, int16_t *p_bfw_iq_src, uint16_t rbNumber, uint16_t bfwNumber, uint8_t bfwiqWidth, uint8_t bfwCompMeth)
    Definition: xran_cp_api.c:387
    +
    Response structure containing pointer to data and its length.
    +
    int32_t DynamicSectionEna
    Definition: xran_fh_o_du.h:363
    +
    char ul_bfw_file[XRAN_MAX_SECTOR_NR *XRAN_MAX_ANTENNA_NR][512]
    Definition: config.h:63
    +
    int32_t tx_prach_play_buffer_position[MAX_ANT_CARRIER_SUPPORTED]
    Definition: common.c:56
    +
    int16_t * p_tx_dl_bfw_buffer[MAX_ANT_CARRIER_SUPPORTED]
    Definition: common.c:81
    +
    uint32_t nFhBufIntFlag
    Definition: sample-app.c:95
    +
    uint8_t numCCPorts
    Definition: common.c:44
    +
    int32_t GPS_Alpha
    Definition: xran_fh_o_du.h:364
    +
    int xran_is_synchronized(void)
    Function checks if machine is synchronized using PTP for Linux software.
    +
    #define iAssert(p)
    Definition: common.h:67
    +
    uint16_t T1a_min_cp_dl
    Definition: config.h:93
    +
    uint32_t neAxc
    Definition: xran_fh_o_du.h:501
    +
    app_state
    Definition: common.h:36
    +
    char * dpdk_dev[XRAN_VF_MAX]
    Definition: xran_fh_o_du.h:296
    +
    int32_t GPS_Alpha
    Definition: config.h:110
    +
    This file provides public interface to xRAN Front Haul layer implementation as defined in the ORAN-WG...
    +
    int32_t srs_log_buffer_position[XRAN_MAX_SECTOR_NR *XRAN_MAX_ANT_ARRAY_ELM_NR]
    Definition: common.c:72
    + +
    int32_t pkt_proc_core
    Definition: xran_fh_o_du.h:301
    +
    int32_t xran_sector_get_instances(void *pHandle, uint16_t nNumInstances, xran_cc_handle_t *pSectorInstanceHandles)
    Definition: xran_main.c:2408
    +
    uint16_t mask_cuPortId
    Definition: xran_fh_o_du.h:309
    +
    int iq_srs_buffer_size_ul
    Definition: common.c:42
    +
    uint8_t nFrameDuplexType
    Definition: config.h:122
    +
    struct xran_buffer_list sBufferList
    Definition: sample-app.c:129
    +
    uint8_t numCC
    Definition: config.h:38
    +
    uint16_t T1a_min_cp_dl
    Definition: xran_fh_o_du.h:347
    +
    uint8_t nTddPeriod
    Definition: config.h:123
    +
    int16_t * p_tx_prach_play_buffer[MAX_ANT_CARRIER_SUPPORTED]
    Definition: common.c:54
    +
    char ant_file[XRAN_MAX_SECTOR_NR *XRAN_MAX_ANTENNA_NR][512]
    Definition: config.h:59
    +
    uint16_t T2a_min_cp_dl
    Definition: config.h:85
    + + +
    #define MLogGetFileLocation()
    Definition: xran_mlog_lnx.h:37
    +
    uint8_t mu_number
    Definition: config.h:113
    + + +
    void xran_fh_rx_srs_callback(void *pCallbackTag, xran_status_t status)
    Definition: sample-app.c:261
    +
    uint16_t T1a_max_cp_ul
    Definition: xran_fh_o_du.h:350
    + + +
    uint8_t numAxc
    Definition: config.h:39
    + + +
    void xran_fh_rx_prach_callback(void *pCallbackTag, int32_t status)
    Definition: sample-app.c:246
    +
    int numSlots
    Definition: config.h:58
    +
    uint32_t io_core
    Definition: config.h:54
    +
    #define MLogTask(w, x, y)
    Definition: xran_mlog_lnx.h:44
    +
    uint16_t T1a_min_cp_ul
    Definition: xran_fh_o_du.h:349
    +
    uint32_t nULFftSize
    Definition: config.h:119
    +
    uint16_t T2a_max_up
    Definition: xran_fh_o_du.h:344
    +
    uint32_t antElmTRx
    Definition: config.h:41
    +
    BbuIoBufCtrlStruct sFrontHaulRxPrbMapBbuIoBufCtrl[XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR]
    Definition: sample-app.c:144
    +
    #define MLogAddTestCase(a, b)
    Definition: xran_mlog_lnx.h:52
    + + + + + +
    uint16_t T1a_max_cp_dl
    Definition: config.h:94
    + +
    void version_print(void)
    Definition: sample-app.c:1297
    +
    int32_t rx_log_buffer_position[MAX_ANT_CARRIER_SUPPORTED]
    Definition: common.c:64
    +
    void * pFthInstanceHandles
    Definition: sample-app.c:99
    +
    uint8_t enableSrs
    Definition: config.h:79
    +
    int iq_bfw_buffer_size_dl
    Definition: common.c:39
    +
    struct xran_prb_elm prbMap[XRAN_MAX_PRBS]
    Definition: xran_fh_o_du.h:423
    +
    BbuIoBufCtrlStruct sFrontHaulTxBbuIoBufCtrl[XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR]
    Definition: sample-app.c:141
    + + +
    unsigned long timer_get_ticks(void)
    Definition: sample-app.c:289
    +
    BbuIoBufCtrlStruct sFrontHaulTxPrbMapBbuIoBufCtrl[XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR]
    Definition: sample-app.c:142
    +
    struct rte_mempool * bbuio_buf_pool
    Definition: sample-app.c:138
    + + +
    struct xran_fh_config xranConf
    Definition: sample-app.c:78
    +
    uint64_t tick_per_usec
    Definition: sample-app.c:64
    +
    uint16_t mask_ruPortId
    Definition: xran_fh_o_du.h:312
    +
    uint32_t xran_get_time_stats(uint64_t *total_time, uint64_t *used_time, uint32_t *core_used, uint32_t clear)
    Definition: xran_main.c:2721
    + + + +
    int32_t tx_ul_bfw_buffer_position[MAX_ANT_CARRIER_SUPPORTED]
    Definition: common.c:88
    +
    int32_t tx_play_buffer_size[MAX_ANT_CARRIER_SUPPORTED]
    Definition: common.c:51
    +
    int32_t srs_log_buffer_size[XRAN_MAX_SECTOR_NR *XRAN_MAX_ANT_ARRAY_ELM_NR]
    Definition: common.c:71
    +
    #define N_SYM_PER_SLOT
    Definition: common.h:50
    +
    #define MLogGetFileSize()
    Definition: xran_mlog_lnx.h:38
    +
    This file provides the definitions for Control Plane Messages APIs.
    +
    struct xran_prb_map PrbMapUl
    Definition: config.h:126
    +
    uint32_t nBufPoolIndex[XRAN_MAX_SECTOR_NR][MAX_SW_XRAN_INTERFACE_NUM]
    Definition: sample-app.c:161
    +
    #define APP_O_RU
    Definition: common.h:34
    +
    #define MLogTick()
    Definition: xran_mlog_lnx.h:42
    +
    int32_t bbdev_mode
    Definition: xran_fh_o_du.h:298
    + +
    uint32_t NRARFCN
    Definition: sample-app.c:84
    +
    uint32_t nULAbsFrePointA
    Definition: config.h:115
    +
    long rx_bytes_counter
    Definition: xran_common.c:120
    +
    int16_t * p_prach_log_buffer[MAX_ANT_CARRIER_SUPPORTED]
    Definition: common.c:66
    +
    char ul_srs_file[XRAN_MAX_SECTOR_NR *XRAN_MAX_ANT_ARRAY_ELM_NR][512]
    Definition: config.h:65
    +
    uint32_t nDLCenterFreqARFCN
    Definition: xran_fh_o_du.h:510
    +
    int16_t numSymb
    Definition: xran_fh_o_du.h:397
    +
    #define PID_GNB_SRS_CB
    + +
    int32_t xran_reg_physide_cb(void *pHandle, xran_fh_tti_callback_fn Cb, void *cbParam, int skipTtiNum, enum callback_to_phy_id)
    Definition: xran_main.c:2900
    + +
    Response structure containing pointer to data and its length.
    +
    long tx_bytes_counter
    Definition: xran_common.c:119
    +
    struct xran_slot_config sSlotConfig[XRAN_MAX_TDD_PERIODICITY]
    Definition: config.h:124
    +
    int16_t * p_tx_srs_play_buffer[XRAN_MAX_SECTOR_NR *XRAN_MAX_ANT_ARRAY_ELM_NR]
    Definition: common.c:58
    +
    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)
    Definition: xran_main.c:2551
    +
    uint32_t nFpgaToSW_FTH_RxBufferLen
    Definition: sample-app.c:71
    +
    uint8_t nPrachSubcSpacing
    Definition: xran_fh_o_du.h:433
    +
    int8_t * p_o_du_addr
    Definition: xran_fh_o_du.h:333
    +
    uint8_t enableCP
    Definition: config.h:102
    + +
    int32_t xran_status_t
    Definition: xran_fh_o_du.h:236
    + +
    uint32_t phaseFlag
    Definition: sample-app.c:83
    + +
    uint16_t Ta3_min
    Definition: config.h:91
    +
    uint32_t nElementLenInBytes
    Definition: xran_fh_o_du.h:555
    +
    int32_t GPS_Beta
    Definition: config.h:111
    +
    + + + + diff --git a/docs/API/search/all_0.html b/docs/API/search/all_0.html new file mode 100644 index 0000000..f25360b --- /dev/null +++ b/docs/API/search/all_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/all_0.js b/docs/API/search/all_0.js new file mode 100644 index 0000000..2625577 --- /dev/null +++ b/docs/API/search/all_0.js @@ -0,0 +1,18 @@ +var searchData= +[ + ['_5f_5falign',['__align',['../common__typedef__xran_8h.html#af4fde40ad100e819ef72e170d5a4c8da',1,'common_typedef_xran.h']]], + ['_5f_5fattribute_5f_5f',['__attribute__',['../xran__pkt__cp_8h.html#a507005bd7719a652d07e26f06dfacf5c',1,'xran_pkt_cp.h']]], + ['_5f_5frte_5fpacked',['__rte_packed',['../group__xran__common__pkt.html#ga303c201bb1ad2f72aa29dd1375efaf72',1,'__rte_packed(): xran_pkt.h'],['../group__xran__up__pkt.html#ga303c201bb1ad2f72aa29dd1375efaf72',1,'__rte_packed(): xran_pkt_up.h']]], + ['_5f_5fxran_5fdelayed_5fmsg',['__xran_delayed_msg',['../ethernet_8c.html#aee422b7193c84ae1fa4d6708a4bc577b',1,'__xran_delayed_msg(const char *fmt,...): ethernet.c'],['../ethernet_8h.html#aee422b7193c84ae1fa4d6708a4bc577b',1,'__xran_delayed_msg(const char *fmt,...): ethernet.c']]], + ['_5faligned_5fmalloc',['_aligned_malloc',['../common__typedef__xran_8h.html#a15bf8d9982f717bfec02eb10ef52003e',1,'common_typedef_xran.h']]], + ['_5fassert',['_assert',['../xran__printf_8h.html#a0b1e75be8d28458f05360139be8c2555',1,'xran_printf.h']]], + ['_5fbblib_5fdpdk_5f',['_BBLIB_DPDK_',['../common_8hpp.html#a2c73062f66b2d8c71425ef3bc75ae946',1,'common.hpp']]], + ['_5feth_5fmbuf_5fpool',['_eth_mbuf_pool',['../ethernet_8c.html#a8d83e3adb6c9e839b3b7259288f100ba',1,'_eth_mbuf_pool(): ethernet.c'],['../ethernet_8h.html#a8d83e3adb6c9e839b3b7259288f100ba',1,'_eth_mbuf_pool(): ethernet.c']]], + ['_5feth_5fmbuf_5fpool_5fbig',['_eth_mbuf_pool_big',['../ethernet_8c.html#ae3907201762de3de953eb5ea9de9229a',1,'_eth_mbuf_pool_big(): ethernet.c'],['../ethernet_8h.html#ae3907201762de3de953eb5ea9de9229a',1,'_eth_mbuf_pool_big(): ethernet.c']]], + ['_5feth_5fmbuf_5fpool_5finderect',['_eth_mbuf_pool_inderect',['../ethernet_8c.html#a4454a38b3cf49dde846ab9b0e1a7ba56',1,'ethernet.c']]], + ['_5feth_5fmbuf_5fpool_5frx',['_eth_mbuf_pool_rx',['../ethernet_8c.html#a0300893b39ba152362bc3096f082d4be',1,'ethernet.c']]], + ['_5feth_5fmbuf_5fpool_5fsmall',['_eth_mbuf_pool_small',['../ethernet_8c.html#a3e5502cf11577af4893f3151eb221f75',1,'_eth_mbuf_pool_small(): ethernet.c'],['../ethernet_8h.html#a3e5502cf11577af4893f3151eb221f75',1,'_eth_mbuf_pool_small(): ethernet.c']]], + ['_5fgnu_5fsource',['_GNU_SOURCE',['../sample-app_8c.html#a369266c24eacffb87046522897a570d5',1,'_GNU_SOURCE(): sample-app.c'],['../ethdi_8c.html#a369266c24eacffb87046522897a570d5',1,'_GNU_SOURCE(): ethdi.c'],['../xran__main_8c.html#a369266c24eacffb87046522897a570d5',1,'_GNU_SOURCE(): xran_main.c']]], + ['_5fiassert_5f',['_IASSERT_',['../xran__printf_8h.html#a8c47e30913273d0d0599afdc0b39890a',1,'xran_printf.h']]], + ['_5fruntimeconfig',['_RuntimeConfig',['../struct___runtime_config.html',1,'']]] +]; diff --git a/docs/API/search/all_1.html b/docs/API/search/all_1.html new file mode 100644 index 0000000..b13f0f7 --- /dev/null +++ b/docs/API/search/all_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/all_1.js b/docs/API/search/all_1.js new file mode 100644 index 0000000..5c47d37 --- /dev/null +++ b/docs/API/search/all_1.js @@ -0,0 +1,49 @@ +var searchData= +[ + ['activebeamspacecoeffmask',['activeBeamspaceCoeffMask',['../structxran__sectionext1__info.html#abeddf07371133e2a155418d2ad6e6606',1,'xran_sectionext1_info']]], + ['adl_5fserializer',['adl_serializer',['../structnlohmann_1_1adl__serializer.html',1,'nlohmann']]], + ['aligned_5ffree',['aligned_free',['../common_8hpp.html#a2f1a3a41e28280d05df6b8d212d9c5c2',1,'common.hpp']]], + ['aligned_5fmalloc',['aligned_malloc',['../common_8hpp.html#adfa5a01b33723394c2a1fa179abea990',1,'common.hpp']]], + ['all',['all',['../gen__test_8m.html#a4603254d9990f7140c024d51302d1a8f',1,'gen_test.m']]], + ['all_5fbits',['all_bits',['../structdata__section__hdr.html#a9f9f2f87d8b5cc7e4af6ef3e2c4c8189',1,'data_section_hdr']]], + ['all_5ftest_5fcases',['all_test_cases',['../namespacemaster.html#a4a9d33bbbfd8552574a68bf5bab018fe',1,'master']]], + ['allocator_5ftype',['allocator_type',['../classnlohmann_1_1basic__json.html#ac2ba7cdee02c8dca32097093847cef4a',1,'nlohmann::basic_json']]], + ['ant',['ant',['../gen__test_8m.html#a38d2cdf58cc777c61b71dd2785d139af',1,'gen_test.m']]], + ['ant_5fc',['ant_c',['../gen__test_8m.html#aba0850eda7aea420ce9c9a1d760451ad',1,'gen_test.m']]], + ['ant_5ffile',['ant_file',['../struct___runtime_config.html#a5b68c8543d51de71f5d2aa5fa824cc5f',1,'_RuntimeConfig']]], + ['ant_5fnum',['ant_num',['../gen__test_8m.html#a549e3fface5e83cef0eb316a8b81a7f7',1,'gen_test.m']]], + ['antelmtrx',['antElmTRx',['../struct___runtime_config.html#ad0ca738be588c2a611cc3f706bfcd49e',1,'_RuntimeConfig']]], + ['antx_5f16',['antX_16',['../gen__test_8m.html#a44ac39f65dd00d0fa2f62a0175e23965',1,'gen_test.m']]], + ['app_5fhdr',['app_hdr',['../structxran__up__pkt__hdr.html#aaf6128cec538e7dde3f6a1045ea0ce54',1,'xran_up_pkt_hdr']]], + ['app_5fo_5fdu',['APP_O_DU',['../common_8h.html#a0fde49745ec2d8b8b45c15be781985d6',1,'common.h']]], + ['app_5fo_5fru',['APP_O_RU',['../common_8h.html#a29df1eeb2e3019bf28e348b79471421b',1,'common.h']]], + ['app_5fparams',['app_params',['../structxran__up__pkt__gen__params.html#a26f46f53ef26bc5d5f86e19a15fc356f',1,'xran_up_pkt_gen_params::app_params()'],['../structxran__up__pkt__gen__no__compression__params.html#a26f46f53ef26bc5d5f86e19a15fc356f',1,'xran_up_pkt_gen_no_compression_params::app_params()']]], + ['app_5frunning',['APP_RUNNING',['../common_8h.html#a3f6c4cb016839c3f57ab648b84dc4d8aa71b026b3a2b676e4176ee9f8dae22f1d',1,'common.h']]], + ['app_5fstate',['app_state',['../common_8h.html#a3f6c4cb016839c3f57ab648b84dc4d8a',1,'common.h']]], + ['app_5fstopped',['APP_STOPPED',['../common_8h.html#a3f6c4cb016839c3f57ab648b84dc4d8aa19260773e34f9f3a8a32038f798c8dc8',1,'common.h']]], + ['app_5fxran_5fcal_5fnrarfcn',['app_xran_cal_nrarfcn',['../common_8c.html#a6d7aac49f30b5d75a7a8436fbbc36cd7',1,'app_xran_cal_nrarfcn(uint32_t nCenterFreq): common.c'],['../common_8h.html#a6d7aac49f30b5d75a7a8436fbbc36cd7',1,'app_xran_cal_nrarfcn(uint32_t nCenterFreq): common.c']]], + ['app_5fxran_5fclear_5fslot_5ftype',['app_xran_clear_slot_type',['../common_8c.html#a15e01f62daf328aef8184ea50c9955fa',1,'common.c']]], + ['app_5fxran_5fget_5fnum_5frbs',['app_xran_get_num_rbs',['../common_8c.html#abd62743e637f8bee2b0d3b1e2b4ecaac',1,'app_xran_get_num_rbs(uint32_t nNumerology, uint32_t nBandwidth, uint32_t nAbsFrePointA): common.c'],['../common_8h.html#abd62743e637f8bee2b0d3b1e2b4ecaac',1,'app_xran_get_num_rbs(uint32_t nNumerology, uint32_t nBandwidth, uint32_t nAbsFrePointA): common.c']]], + ['app_5fxran_5fget_5fscs',['app_xran_get_scs',['../common_8c.html#a4a9173ba3c1f1bdf4b1ea9f8e531c561',1,'app_xran_get_scs(uint8_t nMu): common.c'],['../common_8h.html#a4a9173ba3c1f1bdf4b1ea9f8e531c561',1,'app_xran_get_scs(uint8_t nMu): common.c']]], + ['app_5fxran_5fget_5fslot_5ftype',['app_xran_get_slot_type',['../common_8c.html#a0c617a0804e2a4eda51b402b03922dc2',1,'common.c']]], + ['app_5fxran_5fget_5ftti_5finterval',['app_xran_get_tti_interval',['../common_8c.html#a7443b72e990584de0b5b2a9306ed820a',1,'app_xran_get_tti_interval(uint8_t nMu): common.c'],['../common_8h.html#a7443b72e990584de0b5b2a9306ed820a',1,'app_xran_get_tti_interval(uint8_t nMu): common.c']]], + ['app_5fxran_5fset_5fslot_5ftype',['app_xran_set_slot_type',['../common_8c.html#ae41dd953f43c314e9c7688d18cf69e8b',1,'app_xran_set_slot_type(uint32_t nPhyInstanceId, uint32_t nFrameDuplexType, uint32_t nTddPeriod, struct xran_slot_config *psSlotConfig): common.c'],['../common_8h.html#ae41dd953f43c314e9c7688d18cf69e8b',1,'app_xran_set_slot_type(uint32_t nPhyInstanceId, uint32_t nFrameDuplexType, uint32_t nTddPeriod, struct xran_slot_config *psSlotConfig): common.c']]], + ['app_5fxran_5fslot_5flimit',['app_xran_slot_limit',['../common_8c.html#a2b515e829520e3af448a4d00d22de161',1,'common.c']]], + ['apply_5fcpenable',['apply_cpenable',['../classxran_lib_wraper.html#a165ca95dea40ce1abcc161f39087d38d',1,'xranLibWraper']]], + ['appmode',['appMode',['../struct___runtime_config.html#a4136346ae28fdf2f104e3eb6a9e4da63',1,'_RuntimeConfig']]], + ['argv',['argv',['../classxran_lib_wraper.html#ac6f9b50e19408f0c2efdcf7e5dd204a9',1,'xranLibWraper']]], + ['array',['array',['../classnlohmann_1_1basic__json.html#a16bfbc9e705582cdf7e88affced6ca51',1,'nlohmann::basic_json::array()'],['../namespacenlohmann_1_1detail.html#aedb3045c82a17d48de0f030229adbffeaf1f713c9e000f5d3f280adbd124df4f5',1,'nlohmann::detail::array()']]], + ['array_5fend',['array_end',['../classnlohmann_1_1basic__json.html#a284abb29079a3ece0b67d67da11da441a49642fb732aa2e112188fba1f9d3ef7f',1,'nlohmann::basic_json']]], + ['array_5fstart',['array_start',['../classnlohmann_1_1basic__json.html#a284abb29079a3ece0b67d67da11da441aa4388a3d92419edbb1c6efd4d52461f3',1,'nlohmann::basic_json']]], + ['array_5ft',['array_t',['../classnlohmann_1_1basic__json.html#a289ffe7b795d293d233d03cfc60bcd15',1,'nlohmann::basic_json']]], + ['assert_5farray_5feq',['assert_array_eq',['../common_8hpp.html#a8f4a12d5e7aa88ef72d3a59f9d0a85f0',1,'assert_array_eq(const T *reference, const T *actual, const int size): common.hpp'],['../common_8hpp.html#a1c463cb9865e63120f666efd5a6555b5',1,'ASSERT_ARRAY_EQ(): common.hpp']]], + ['assert_5farray_5fnear',['assert_array_near',['../common_8hpp.html#aea945be561738ef40c759d617b04255c',1,'assert_array_near(const T *reference, const T *actual, const int size, const double precision): common.hpp'],['../common_8hpp.html#a9a330f0a8f2feff43f1ccedfaf049e03',1,'ASSERT_ARRAY_NEAR(): common.hpp']]], + ['assert_5farray_5fnear_3c_20complex_5ffloat_20_3e',['assert_array_near< complex_float >',['../common_8hpp.html#ab5ae003c98bada0196a7085942593271',1,'common.hpp']]], + ['assert_5favg_5fgreater_5fcomplex',['assert_avg_greater_complex',['../common_8hpp.html#a2bbe1c5dcabc83ba7d8485888720da42',1,'assert_avg_greater_complex(const T *reference, const T *actual, const int size, const double precision): common.hpp'],['../common_8hpp.html#aa748fe650bfa70c23834297931a4a2a7',1,'ASSERT_AVG_GREATER_COMPLEX(): common.hpp']]], + ['assume_5fcache_5faligned',['ASSUME_CACHE_ALIGNED',['../xran__compression_8hpp.html#a5e70c4df5750d49b6c4b2aacd556500f',1,'xran_compression.hpp']]], + ['at',['at',['../classnlohmann_1_1basic__json.html#a3d5717f39bfe485057850f116fb2ed12',1,'nlohmann::basic_json::at(size_type idx)'],['../classnlohmann_1_1basic__json.html#af67a114d84325900759c8aeb6b6ad916',1,'nlohmann::basic_json::at(size_type idx) const'],['../classnlohmann_1_1basic__json.html#a18c0c62edce2742d5ab24d1979c3ef00',1,'nlohmann::basic_json::at(const typename object_t::key_type &key)'],['../classnlohmann_1_1basic__json.html#a4f54990041741beea9083540c8ea25c7',1,'nlohmann::basic_json::at(const typename object_t::key_type &key) const'],['../classnlohmann_1_1basic__json.html#a4d402bba79c6c22a6399472f5ffa748e',1,'nlohmann::basic_json::at(const json_pointer &ptr)'],['../classnlohmann_1_1basic__json.html#a64916a31807a0cf9c5dbb16d228a4d5a',1,'nlohmann::basic_json::at(const json_pointer &ptr) const']]], + ['avx',['AVX',['../common__typedef__xran_8h.html#a4c160ac3b177a2fde8738ef01e58494ca0f2500907bbad2fb795fba8fafd31b2a',1,'common_typedef_xran.h']]], + ['avx2',['AVX2',['../common__typedef__xran_8h.html#a4c160ac3b177a2fde8738ef01e58494ca7b9822126e7b712535af7b882409bf8b',1,'common_typedef_xran.h']]], + ['avx_5f512',['AVX_512',['../common__typedef__xran_8h.html#a4c160ac3b177a2fde8738ef01e58494ca90b287f46b6b1d6837db75d9822aa45b',1,'common_typedef_xran.h']]], + ['awaiting_5fpong',['AWAITING_PONG',['../ethdi_8h.html#a400519d4f3774fc47bc51223a4e3e1b4a626bfa1d39d92be95dde42f08ec88ef1',1,'ethdi.h']]] +]; diff --git a/docs/API/search/all_10.html b/docs/API/search/all_10.html new file mode 100644 index 0000000..d1345a1 --- /dev/null +++ b/docs/API/search/all_10.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/all_10.js b/docs/API/search/all_10.js new file mode 100644 index 0000000..02d3677 --- /dev/null +++ b/docs/API/search/all_10.js @@ -0,0 +1,209 @@ +var searchData= +[ + ['p_5fbfwiq',['p_bfwIQ',['../structxran__sectionext1__info.html#a535b83a8653a891f80fc204eb1d9cb8b',1,'xran_sectionext1_info']]], + ['p_5fbufferpool',['p_bufferPool',['../structsector_handle_info.html#a099c95b9a26488749a7bade28dd45192',1,'sectorHandleInfo']]], + ['p_5fext_5fsection',['p_ext_section',['../structxran__cp__bf__weight.html#ab3eed3d1b60ab946d704b2dfe7890d91',1,'xran_cp_bf_weight']]], + ['p_5fo_5fdu_5faddr',['p_o_du_addr',['../structxran__fh__init.html#adcde08e47bdc5157e76975f32d1e96e8',1,'xran_fh_init']]], + ['p_5fo_5fru_5faddr',['p_o_ru_addr',['../structxran__fh__init.html#ab05fc2b0bda23212626e2f075ce8e817',1,'xran_fh_init']]], + ['p_5fprach_5flog_5fbuffer',['p_prach_log_buffer',['../common_8c.html#a205302b4106968d8d580e286ce56ec8e',1,'p_prach_log_buffer(): common.c'],['../common_8h.html#a205302b4106968d8d580e286ce56ec8e',1,'p_prach_log_buffer(): common.c']]], + ['p_5frx_5fbuffer',['p_rx_buffer',['../common_8c.html#a66fcfd58fda188d4f58af523ed76258e',1,'p_rx_buffer(): common.c'],['../common_8h.html#a66fcfd58fda188d4f58af523ed76258e',1,'p_rx_buffer(): common.c']]], + ['p_5frx_5fdl_5fbfw_5fbuffer',['p_rx_dl_bfw_buffer',['../common_8c.html#a0029e17870631ef2db8bb2e0cd0f9d3a',1,'p_rx_dl_bfw_buffer(): common.c'],['../common_8h.html#a0029e17870631ef2db8bb2e0cd0f9d3a',1,'p_rx_dl_bfw_buffer(): common.c']]], + ['p_5frx_5flog_5fbuffer',['p_rx_log_buffer',['../common_8c.html#a8b2889ff178b629b4256ad3b87a18776',1,'p_rx_log_buffer(): common.c'],['../common_8h.html#a8b2889ff178b629b4256ad3b87a18776',1,'p_rx_log_buffer(): common.c']]], + ['p_5frx_5ful_5fbfw_5fbuffer',['p_rx_ul_bfw_buffer',['../common_8c.html#a6aa805f25383d5191fbfe3ed4a4f3ce7',1,'p_rx_ul_bfw_buffer(): common.c'],['../common_8h.html#a6aa805f25383d5191fbfe3ed4a4f3ce7',1,'p_rx_ul_bfw_buffer(): common.c']]], + ['p_5fsec_5fdesc',['p_sec_desc',['../structxran__prb__elm.html#a6c405fdd34c38d29b355cd051527ad9b',1,'xran_prb_elm']]], + ['p_5fsrs_5flog_5fbuffer',['p_srs_log_buffer',['../common_8c.html#a54f6ae53fc4ffc697c0677f660afceb2',1,'p_srs_log_buffer(): common.c'],['../common_8h.html#a54f6ae53fc4ffc697c0677f660afceb2',1,'p_srs_log_buffer(): common.c']]], + ['p_5ftx_5fbuffer',['p_tx_buffer',['../common_8c.html#a9f1fca36999b354b0c35757f7e307185',1,'p_tx_buffer(): common.c'],['../common_8h.html#a9f1fca36999b354b0c35757f7e307185',1,'p_tx_buffer(): common.c']]], + ['p_5ftx_5fdl_5fbfw_5fbuffer',['p_tx_dl_bfw_buffer',['../classxran_lib_wraper.html#a77bd4ecb90ef07ddc1420242672b1587',1,'xranLibWraper::p_tx_dl_bfw_buffer()'],['../common_8c.html#a77bd4ecb90ef07ddc1420242672b1587',1,'p_tx_dl_bfw_buffer(): common.c'],['../common_8h.html#a77bd4ecb90ef07ddc1420242672b1587',1,'p_tx_dl_bfw_buffer(): common.c']]], + ['p_5ftx_5fplay_5fbuffer',['p_tx_play_buffer',['../common_8c.html#a5977cef6d782ed0a89fee2038495b544',1,'p_tx_play_buffer(): common.c'],['../common_8h.html#a5977cef6d782ed0a89fee2038495b544',1,'p_tx_play_buffer(): common.c']]], + ['p_5ftx_5fprach_5fplay_5fbuffer',['p_tx_prach_play_buffer',['../common_8c.html#a248b83fea05a7a50c94dcfd9b12fa6e1',1,'p_tx_prach_play_buffer(): common.c'],['../common_8h.html#a248b83fea05a7a50c94dcfd9b12fa6e1',1,'p_tx_prach_play_buffer(): common.c']]], + ['p_5ftx_5fsrs_5fplay_5fbuffer',['p_tx_srs_play_buffer',['../common_8c.html#aaff80269195e14fa4426e20f250f7f7f',1,'p_tx_srs_play_buffer(): common.c'],['../common_8h.html#aaff80269195e14fa4426e20f250f7f7f',1,'p_tx_srs_play_buffer(): common.c']]], + ['p_5ftx_5ful_5fbfw_5fbuffer',['p_tx_ul_bfw_buffer',['../classxran_lib_wraper.html#a95b1981d7d33eb50789dbc55d5d2755f',1,'xranLibWraper::p_tx_ul_bfw_buffer()'],['../common_8c.html#a95b1981d7d33eb50789dbc55d5d2755f',1,'p_tx_ul_bfw_buffer(): common.c'],['../common_8h.html#a95b1981d7d33eb50789dbc55d5d2755f',1,'p_tx_ul_bfw_buffer(): common.c']]], + ['packets_5fdump_5fthread',['packets_dump_thread',['../xran__common_8h.html#a742ac891cd088b4d201945055048c56f',1,'xran_common.h']]], + ['pad0',['pad0',['../structxran__section__info.html#a0b43a347f3b949ec61086b57503bc00f',1,'xran_section_info::pad0()'],['../structxran__sectionext4__info.html#a0976e33e213bf38d277b829252a1ceaa',1,'xran_sectionext4_info::pad0()'],['../structxran__cp__rbmap__list.html#a0976e33e213bf38d277b829252a1ceaa',1,'xran_cp_rbmap_list::pad0()']]], + ['panic_5fon',['PANIC_ON',['../ethernet_8h.html#ae9d2374bac7995a342bcf6ffdbe9f4a0',1,'ethernet.h']]], + ['parallelization_5ffactor',['parallelization_factor',['../class_kernel_tests.html#a88ea1f1de6b4d7d01ddc5fced408c813',1,'KernelTests']]], + ['parse',['parse',['../classnlohmann_1_1basic__json.html#a59c8a7fee8883e55b4317dfd6cab4912',1,'nlohmann::basic_json::parse(T(&array)[N], const parser_callback_t cb=nullptr)'],['../classnlohmann_1_1basic__json.html#afa4d3c57e6fda1fce97025d155f5642f',1,'nlohmann::basic_json::parse(const CharT s, const parser_callback_t cb=nullptr)'],['../classnlohmann_1_1basic__json.html#ad19ad3fa5d9a806c5018faa3cd0ed85c',1,'nlohmann::basic_json::parse(std::istream &i, const parser_callback_t cb=nullptr)'],['../classnlohmann_1_1basic__json.html#afd3a3ede6b43cdf69827593006813658',1,'nlohmann::basic_json::parse(std::istream &&i, const parser_callback_t cb=nullptr)'],['../classnlohmann_1_1basic__json.html#a09792d435ddd0409a5c002c415f00da4',1,'nlohmann::basic_json::parse(IteratorType first, IteratorType last, const parser_callback_t cb=nullptr)'],['../classnlohmann_1_1basic__json.html#a39a861de8ee4cc685cd0c5b47f0ab097',1,'nlohmann::basic_json::parse(const ContiguousContainer &c, const parser_callback_t cb=nullptr)']]], + ['parse_5fargs',['parse_args',['../namespacemaster.html#a6ec1b78aa368f25862149fc187d60bfd',1,'master']]], + ['parse_5fdat_5ffile',['parse_dat_file',['../namespacemaster.html#a29041cda44c83caed56c5693ae62c878',1,'master']]], + ['parse_5fevent_5ft',['parse_event_t',['../classnlohmann_1_1basic__json.html#a284abb29079a3ece0b67d67da11da441',1,'nlohmann::basic_json']]], + ['parseconfigfile',['parseConfigFile',['../config_8c.html#add16264aa9472e4e90d1a77e086c7f93',1,'parseConfigFile(char *filename, RuntimeConfig *config): config.c'],['../config_8h.html#add16264aa9472e4e90d1a77e086c7f93',1,'parseConfigFile(char *filename, RuntimeConfig *config): config.c']]], + ['parser_5fcallback_5ft',['parser_callback_t',['../classnlohmann_1_1basic__json.html#a8bcd7fb59f7978ccd8942605357fc28a',1,'nlohmann::basic_json']]], + ['patch',['patch',['../classnlohmann_1_1basic__json.html#a614dd03ce3e99e79c52bedcf55945645',1,'nlohmann::basic_json']]], + ['path_5fto_5fusecase_5fall',['path_to_usecase_all',['../gen__test_8m.html#ae622c3d8e02784c9a30a1734452e9c9c',1,'gen_test.m']]], + ['payl_5fver',['payl_ver',['../structradio__app__common__hdr.html#a0058ea0059aba78a7a164c298c82de33',1,'radio_app_common_hdr']]], + ['payload_5flen',['payload_len',['../structxran__recv__packet__info.html#abfeae9f0b773fefda3b80b9ca41d3ff6',1,'xran_recv_packet_info']]], + ['payloadver',['payloadVer',['../structxran__cp__radioapp__common__header.html#a06cacc53918b2e51a13fc506b4351d63',1,'xran_cp_radioapp_common_header::payloadVer()'],['../xran__pkt__cp_8h.html#a06cacc53918b2e51a13fc506b4351d63',1,'payloadVer(): xran_pkt_cp.h']]], + ['pbuffers',['pBuffers',['../structxran__buffer__list.html#afa8c44acddb126e8bb0652d7b4e4395e',1,'xran_buffer_list']]], + ['pcallback',['pCallback',['../structxran__device__ctx.html#a023feefd3cb93d648f673ce1a8c79563',1,'xran_device_ctx']]], + ['pcallbacktag',['pCallbackTag',['../structxran__device__ctx.html#a4bb009dc28deffeccf1559528dbc5bee',1,'xran_device_ctx']]], + ['pctrl',['pCtrl',['../structxran__section__desc.html#addb9297d816b26c680888115de8c9538',1,'xran_section_desc::pCtrl()'],['../structxran__flat__buffer.html#addb9297d816b26c680888115de8c9538',1,'xran_flat_buffer::pCtrl()']]], + ['pdata',['pData',['../struct_bbu_io_buf_ctrl_struct.html#a7941f6b35742c3de02e270f7b80c8dda',1,'BbuIoBufCtrlStruct::pData()'],['../structxran__section__desc.html#a77f0d5374ee675db57c0b29946ca7744',1,'xran_section_desc::pData()'],['../structxran__flat__buffer.html#a77f0d5374ee675db57c0b29946ca7744',1,'xran_flat_buffer::pData()']]], + ['performance',['performance',['../class_kernel_tests.html#a3cf2e25a99be565a4ab570737cfeac41',1,'KernelTests']]], + ['performance_5fcp',['performance_cp',['../prach__performance_8cc.html#a540e426541deb753f7c69d8df5d5b090',1,'prach_performance.cc']]], + ['pfthinstancehandles',['pFthInstanceHandles',['../struct_xran_lib_config.html#a42dface8348b0fea71cb9a2c334347e6',1,'XranLibConfig']]], + ['phaseflag',['phaseFlag',['../struct_f_p_g_a_phase_comp_cfg.html#a07f4226dca8e0d57f316ef71e8ce7097',1,'FPGAPhaseCompCfg']]], + ['phc2sys_5fproc_5fname',['PHC2SYS_PROC_NAME',['../xran__sync__api_8c.html#a651275b1135ce87eb95b301b6427cf07',1,'xran_sync_api.c']]], + ['phy_5fbw_5f100_5f0_5fmhz',['PHY_BW_100_0_MHZ',['../common_8h.html#ace60ebb76d1266cd70c6b0a2cdb975afab0667ae8b27d5f90b2f876dc2fa60a8a',1,'common.h']]], + ['phy_5fbw_5f100mhz',['PHY_BW_100MHZ',['../classxran_lib_wraper.html#a163a7a574581e04dfa9cc60cfc81e7f5aa890924947f41b2c05cb5acf87b463cb',1,'xranLibWraper']]], + ['phy_5fbw_5f10_5f0_5fmhz',['PHY_BW_10_0_MHZ',['../common_8h.html#ace60ebb76d1266cd70c6b0a2cdb975afa0ffa9b60f3de26c5f0c091a92e2690ce',1,'common.h']]], + ['phy_5fbw_5f10mhz',['PHY_BW_10MHZ',['../classxran_lib_wraper.html#a163a7a574581e04dfa9cc60cfc81e7f5aae465d43fabe2dda9a2c6dbd2fa1099a',1,'xranLibWraper']]], + ['phy_5fbw_5f15_5f0_5fmhz',['PHY_BW_15_0_MHZ',['../common_8h.html#ace60ebb76d1266cd70c6b0a2cdb975afa3b9413cb26be463cb08bc3e45f1ba0e4',1,'common.h']]], + ['phy_5fbw_5f15mhz',['PHY_BW_15MHZ',['../classxran_lib_wraper.html#a163a7a574581e04dfa9cc60cfc81e7f5a6eac287ee60ef4b214f6cd0b8196c7e4',1,'xranLibWraper']]], + ['phy_5fbw_5f200_5f0_5fmhz',['PHY_BW_200_0_MHZ',['../common_8h.html#ace60ebb76d1266cd70c6b0a2cdb975afa5d3a9ef2cafdd5f4c3b5c9dd9332406b',1,'common.h']]], + ['phy_5fbw_5f200mhz',['PHY_BW_200MHZ',['../classxran_lib_wraper.html#a163a7a574581e04dfa9cc60cfc81e7f5a845dedb5bd2f41b50f6a7268473435a0',1,'xranLibWraper']]], + ['phy_5fbw_5f20_5f0_5fmhz',['PHY_BW_20_0_MHZ',['../common_8h.html#ace60ebb76d1266cd70c6b0a2cdb975afa827e54f2b9563a648648617dabae6b86',1,'common.h']]], + ['phy_5fbw_5f20mhz',['PHY_BW_20MHZ',['../classxran_lib_wraper.html#a163a7a574581e04dfa9cc60cfc81e7f5a9aacdbe3977171e1dda54f4778698ae8',1,'xranLibWraper']]], + ['phy_5fbw_5f25_5f0_5fmhz',['PHY_BW_25_0_MHZ',['../common_8h.html#ace60ebb76d1266cd70c6b0a2cdb975afa34ebc504f2878c8e57b28ecb2aa5a3d6',1,'common.h']]], + ['phy_5fbw_5f25mhz',['PHY_BW_25MHZ',['../classxran_lib_wraper.html#a163a7a574581e04dfa9cc60cfc81e7f5a5b785d20b7b0bf419524631adcb69df2',1,'xranLibWraper']]], + ['phy_5fbw_5f30_5f0_5fmhz',['PHY_BW_30_0_MHZ',['../common_8h.html#ace60ebb76d1266cd70c6b0a2cdb975afa5e3415eba2853d7a163296722d39ce0a',1,'common.h']]], + ['phy_5fbw_5f30mhz',['PHY_BW_30MHZ',['../classxran_lib_wraper.html#a163a7a574581e04dfa9cc60cfc81e7f5acb0fe0e94ea4f59ab5dd24203d20e7a4',1,'xranLibWraper']]], + ['phy_5fbw_5f400_5f0_5fmhz',['PHY_BW_400_0_MHZ',['../common_8h.html#ace60ebb76d1266cd70c6b0a2cdb975afa2e5709bbf9b2c3443fa150a0b9d7bd01',1,'common.h']]], + ['phy_5fbw_5f400mhz',['PHY_BW_400MHZ',['../classxran_lib_wraper.html#a163a7a574581e04dfa9cc60cfc81e7f5a7217a56ae78997c5ae511d10ebb4c924',1,'xranLibWraper']]], + ['phy_5fbw_5f40_5f0_5fmhz',['PHY_BW_40_0_MHZ',['../common_8h.html#ace60ebb76d1266cd70c6b0a2cdb975afa038fd5bff3233ab71354371731be0cca',1,'common.h']]], + ['phy_5fbw_5f40mhz',['PHY_BW_40MHZ',['../classxran_lib_wraper.html#a163a7a574581e04dfa9cc60cfc81e7f5a5a479142e60c93d76621c1390d029109',1,'xranLibWraper']]], + ['phy_5fbw_5f50_5f0_5fmhz',['PHY_BW_50_0_MHZ',['../common_8h.html#ace60ebb76d1266cd70c6b0a2cdb975afab80d02a26ce30cff1a0c353fa40ee648',1,'common.h']]], + ['phy_5fbw_5f50mhz',['PHY_BW_50MHZ',['../classxran_lib_wraper.html#a163a7a574581e04dfa9cc60cfc81e7f5a890aa1814878ba9f0adfab63784ef1c1',1,'xranLibWraper']]], + ['phy_5fbw_5f5_5f0_5fmhz',['PHY_BW_5_0_MHZ',['../common_8h.html#ace60ebb76d1266cd70c6b0a2cdb975afa5fe3b6ce32a0f5d07b8d09757b0ca6ae',1,'common.h']]], + ['phy_5fbw_5f5mhz',['PHY_BW_5MHZ',['../classxran_lib_wraper.html#a163a7a574581e04dfa9cc60cfc81e7f5afe7527756943cdf6474ad1c40ac7d716',1,'xranLibWraper']]], + ['phy_5fbw_5f60_5f0_5fmhz',['PHY_BW_60_0_MHZ',['../common_8h.html#ace60ebb76d1266cd70c6b0a2cdb975afa069b1b1bc047d5fa38058f1df13cab23',1,'common.h']]], + ['phy_5fbw_5f60mhz',['PHY_BW_60MHZ',['../classxran_lib_wraper.html#a163a7a574581e04dfa9cc60cfc81e7f5acc82a679f8781bb880161e53650bdc33',1,'xranLibWraper']]], + ['phy_5fbw_5f70_5f0_5fmhz',['PHY_BW_70_0_MHZ',['../common_8h.html#ace60ebb76d1266cd70c6b0a2cdb975afa80603099c73c2d2a53541404c4daea10',1,'common.h']]], + ['phy_5fbw_5f70mhz',['PHY_BW_70MHZ',['../classxran_lib_wraper.html#a163a7a574581e04dfa9cc60cfc81e7f5a3e20f3de146adbc3420c294819ec1e19',1,'xranLibWraper']]], + ['phy_5fbw_5f80_5f0_5fmhz',['PHY_BW_80_0_MHZ',['../common_8h.html#ace60ebb76d1266cd70c6b0a2cdb975afac06c5f55eeae8d0e44ae09b1b15a4153',1,'common.h']]], + ['phy_5fbw_5f80mhz',['PHY_BW_80MHZ',['../classxran_lib_wraper.html#a163a7a574581e04dfa9cc60cfc81e7f5a22ec162486eef1dd707ae1bd7ac8bde6',1,'xranLibWraper']]], + ['phy_5fbw_5f90_5f0_5fmhz',['PHY_BW_90_0_MHZ',['../common_8h.html#ace60ebb76d1266cd70c6b0a2cdb975afa5662647cfc4da498383a327296832f1e',1,'common.h']]], + ['phy_5fbw_5f90mhz',['PHY_BW_90MHZ',['../classxran_lib_wraper.html#a163a7a574581e04dfa9cc60cfc81e7f5a78c8c492b7c956fcd6b6e704662d385f',1,'xranLibWraper']]], + ['phy_5fdecoder_5fpoll_5ffn',['phy_decoder_poll_fn',['../xran__fh__o__du_8h.html#a2c1d5f131c5a23d8339f1babb3b22ade',1,'xran_fh_o_du.h']]], + ['phy_5fencoder_5fpoll_5ffn',['phy_encoder_poll_fn',['../xran__fh__o__du_8h.html#adce425900af03693ff55da9deb17a679',1,'xran_fh_o_du.h']]], + ['phy_5ftti_5fcb_5fdone',['phy_tti_cb_done',['../structxran__device__ctx.html#a01cfa0ddd894bb94d785f755bfdd8b9e',1,'xran_device_ctx']]], + ['physide_5fdl_5ftti_5fcall_5fback',['physide_dl_tti_call_back',['../sample-app_8c.html#aa8882d42d07fbd9750da4db4395b438c',1,'physide_dl_tti_call_back(void *param): sample-app.c'],['../init__sys__functional_8cc.html#aa8882d42d07fbd9750da4db4395b438c',1,'physide_dl_tti_call_back(void *param): init_sys_functional.cc']]], + ['physide_5fsym_5fcall_5fback',['physide_sym_call_back',['../init__sys__functional_8cc.html#af2d879cc67de3a1216ff63cbcea4183d',1,'init_sys_functional.cc']]], + ['physide_5ful_5ffull_5fslot_5fcall_5fback',['physide_ul_full_slot_call_back',['../sample-app_8c.html#a874ba95e7c465e83ccc26ab623eec60c',1,'physide_ul_full_slot_call_back(void *param): sample-app.c'],['../init__sys__functional_8cc.html#a874ba95e7c465e83ccc26ab623eec60c',1,'physide_ul_full_slot_call_back(void *param): init_sys_functional.cc']]], + ['physide_5ful_5fhalf_5fslot_5fcall_5fback',['physide_ul_half_slot_call_back',['../sample-app_8c.html#a52c968a559117b66a05591f958da75c2',1,'physide_ul_half_slot_call_back(void *param): sample-app.c'],['../init__sys__functional_8cc.html#a52c968a559117b66a05591f958da75c2',1,'physide_ul_half_slot_call_back(void *param): init_sys_functional.cc']]], + ['pid_5fcp_5fdl_5fcb',['PID_CP_DL_CB',['../xran__lib__mlog__tasks__id_8h.html#a92c86b63d1d44b3e81c3728e106cbfd1',1,'xran_lib_mlog_tasks_id.h']]], + ['pid_5fcp_5ful_5fcb',['PID_CP_UL_CB',['../xran__lib__mlog__tasks__id_8h.html#a0fb3a4d1a275f2930824141dd134d918',1,'xran_lib_mlog_tasks_id.h']]], + ['pid_5ffull_5fslot_5fcb_5fto_5fphy',['PID_FULL_SLOT_CB_TO_PHY',['../xran__lib__mlog__tasks__id_8h.html#a20e72b654cfb14e3a280a2244640fea8',1,'xran_lib_mlog_tasks_id.h']]], + ['pid_5fgnb_5fprach_5fcb',['PID_GNB_PRACH_CB',['../xran__mlog__task__id_8h.html#a70799f191170357c8d74fa58300c99d7',1,'xran_mlog_task_id.h']]], + ['pid_5fgnb_5fproc_5ftiming',['PID_GNB_PROC_TIMING',['../xran__mlog__task__id_8h.html#a9884cd7227be2b321f8a85a1643c3b99',1,'xran_mlog_task_id.h']]], + ['pid_5fgnb_5fproc_5ftiming_5ftimeout',['PID_GNB_PROC_TIMING_TIMEOUT',['../xran__mlog__task__id_8h.html#a06cadb1ff834c4ae8f8fa45c6d80fcae',1,'PID_GNB_PROC_TIMING_TIMEOUT(): xran_mlog_task_id.h'],['../xran__lib__mlog__tasks__id_8h.html#a06cadb1ff834c4ae8f8fa45c6d80fcae',1,'PID_GNB_PROC_TIMING_TIMEOUT(): xran_lib_mlog_tasks_id.h']]], + ['pid_5fgnb_5fsrs_5fcb',['PID_GNB_SRS_CB',['../xran__mlog__task__id_8h.html#a475acdfebabbac2b27bc7c22c201a171',1,'xran_mlog_task_id.h']]], + ['pid_5fgnb_5fsym_5fcb',['PID_GNB_SYM_CB',['../xran__mlog__task__id_8h.html#a456df1bb1ff53e9ffff0c36976da1108',1,'xran_mlog_task_id.h']]], + ['pid_5fhalf_5fslot_5fcb_5fto_5fphy',['PID_HALF_SLOT_CB_TO_PHY',['../xran__lib__mlog__tasks__id_8h.html#a15f6dea581e37101f719cdddefd768b9',1,'xran_lib_mlog_tasks_id.h']]], + ['pid_5fprocess_5fcp_5fpkt',['PID_PROCESS_CP_PKT',['../xran__lib__mlog__tasks__id_8h.html#afe16668c89ce93c5234dc0b39a49a670',1,'xran_lib_mlog_tasks_id.h']]], + ['pid_5fprocess_5ftx_5fsym',['PID_PROCESS_TX_SYM',['../xran__lib__mlog__tasks__id_8h.html#a1f5a84fd3596ec0f8cdac6762df1f6d9',1,'xran_lib_mlog_tasks_id.h']]], + ['pid_5fprocess_5fup_5fpkt',['PID_PROCESS_UP_PKT',['../xran__lib__mlog__tasks__id_8h.html#a9f54a4a7253be8580e0996d84b1bf638',1,'xran_lib_mlog_tasks_id.h']]], + ['pid_5fradio_5feth_5ftx_5fburst',['PID_RADIO_ETH_TX_BURST',['../xran__lib__mlog__tasks__id_8h.html#ace7506955e3098166206e80696ef0d2e',1,'xran_lib_mlog_tasks_id.h']]], + ['pid_5fradio_5ffe_5fcompress',['PID_RADIO_FE_COMPRESS',['../xran__lib__mlog__tasks__id_8h.html#a5ab7d90cffa704f04692a04d907afcce',1,'xran_lib_mlog_tasks_id.h']]], + ['pid_5fradio_5ffe_5fdecompress',['PID_RADIO_FE_DECOMPRESS',['../xran__lib__mlog__tasks__id_8h.html#ad53e4ae374e70276a1fa7b0e9de3a0d2',1,'xran_lib_mlog_tasks_id.h']]], + ['pid_5fradio_5ffreq_5frx_5fpkt',['PID_RADIO_FREQ_RX_PKT',['../xran__lib__mlog__tasks__id_8h.html#a161a96778c3bc9e9d598862e96b15063',1,'xran_lib_mlog_tasks_id.h']]], + ['pid_5fradio_5fprach_5fpkt',['PID_RADIO_PRACH_PKT',['../xran__lib__mlog__tasks__id_8h.html#a517b6ffde57e63eb6ec8e27c36b6a964',1,'xran_lib_mlog_tasks_id.h']]], + ['pid_5fradio_5frx_5fepoll_5fwait',['PID_RADIO_RX_EPOLL_WAIT',['../xran__lib__mlog__tasks__id_8h.html#a33d74432c736b24705e21b257d340fc3',1,'xran_lib_mlog_tasks_id.h']]], + ['pid_5fradio_5frx_5firq_5foff',['PID_RADIO_RX_IRQ_OFF',['../xran__lib__mlog__tasks__id_8h.html#ac6c575fd12ace0fd0e8e6482a38bf4e4',1,'xran_lib_mlog_tasks_id.h']]], + ['pid_5fradio_5frx_5firq_5fon',['PID_RADIO_RX_IRQ_ON',['../xran__lib__mlog__tasks__id_8h.html#a04e0d4987fd890e90a978128ba1f55d6',1,'xran_lib_mlog_tasks_id.h']]], + ['pid_5fradio_5frx_5fltemode_5fproc',['PID_RADIO_RX_LTEMODE_PROC',['../xran__lib__mlog__tasks__id_8h.html#a7d04f6ec1a4fb714ea5d0da629de4247',1,'xran_lib_mlog_tasks_id.h']]], + ['pid_5fradio_5frx_5fstop',['PID_RADIO_RX_STOP',['../xran__lib__mlog__tasks__id_8h.html#a3357c8290df6ff594f159ccb9ea95325',1,'xran_lib_mlog_tasks_id.h']]], + ['pid_5fradio_5frx_5ful_5fiq',['PID_RADIO_RX_UL_IQ',['../xran__lib__mlog__tasks__id_8h.html#a6f2a962f776a42a526abba0cc07021e5',1,'xran_lib_mlog_tasks_id.h']]], + ['pid_5fradio_5frx_5fvalidate',['PID_RADIO_RX_VALIDATE',['../xran__lib__mlog__tasks__id_8h.html#a9e59ba233c913a636f05b3b6df8d56ab',1,'xran_lib_mlog_tasks_id.h']]], + ['pid_5fradio_5ftx_5fbypass_5fproc',['PID_RADIO_TX_BYPASS_PROC',['../xran__lib__mlog__tasks__id_8h.html#aab833f12f1fe268637f47212f510c6dd',1,'xran_lib_mlog_tasks_id.h']]], + ['pid_5fradio_5ftx_5fdl_5fiq',['PID_RADIO_TX_DL_IQ',['../xran__lib__mlog__tasks__id_8h.html#aa37014d774b5c3d6509d30141892f6ac',1,'xran_lib_mlog_tasks_id.h']]], + ['pid_5fradio_5ftx_5fltemode_5fproc',['PID_RADIO_TX_LTEMODE_PROC',['../xran__lib__mlog__tasks__id_8h.html#a2c0e970227fbb04f166ac82f8c44948b',1,'xran_lib_mlog_tasks_id.h']]], + ['pid_5fradio_5ftx_5fplay_5fback_5fiq',['PID_RADIO_TX_PLAY_BACK_IQ',['../xran__lib__mlog__tasks__id_8h.html#a82ce188c8318ece4dda41674d34e347f',1,'xran_lib_mlog_tasks_id.h']]], + ['pid_5fsym_5fota_5fcb',['PID_SYM_OTA_CB',['../xran__lib__mlog__tasks__id_8h.html#aea9a7b880c29dc3cbc02586c0f3b8487',1,'xran_lib_mlog_tasks_id.h']]], + ['pid_5fsym_5ftimer',['PID_SYM_TIMER',['../xran__lib__mlog__tasks__id_8h.html#affee1f1af3fcf29b997a01029b638474',1,'xran_lib_mlog_tasks_id.h']]], + ['pid_5ftime_5farm_5ftimer',['PID_TIME_ARM_TIMER',['../xran__lib__mlog__tasks__id_8h.html#a58e330374d0f1c8a407119c8ba2abb62',1,'xran_lib_mlog_tasks_id.h']]], + ['pid_5ftime_5fsystime_5fpoll',['PID_TIME_SYSTIME_POLL',['../xran__lib__mlog__tasks__id_8h.html#acc9b1e97d62709b2d8ad44d74f106cce',1,'xran_lib_mlog_tasks_id.h']]], + ['pid_5ftime_5fsystime_5fstop',['PID_TIME_SYSTIME_STOP',['../xran__lib__mlog__tasks__id_8h.html#ad8251a1df978adccb5efbebbb8b84930',1,'xran_lib_mlog_tasks_id.h']]], + ['pid_5ftti_5fcb',['PID_TTI_CB',['../xran__lib__mlog__tasks__id_8h.html#abfca261c8192f02ca16f5b4cb6f1bd2d',1,'xran_lib_mlog_tasks_id.h']]], + ['pid_5ftti_5fcb_5fto_5fphy',['PID_TTI_CB_TO_PHY',['../xran__lib__mlog__tasks__id_8h.html#a888c066a592695a9b6c49abbc79594d3',1,'xran_lib_mlog_tasks_id.h']]], + ['pid_5ftti_5ftimer',['PID_TTI_TIMER',['../xran__lib__mlog__tasks__id_8h.html#a907f22b7c7e5df63190d8aba4e2bf023',1,'xran_lib_mlog_tasks_id.h']]], + ['pid_5fup_5fdl_5fcb',['PID_UP_DL_CB',['../xran__lib__mlog__tasks__id_8h.html#a8d216bc1a0fa3dc1370a8cf30a217870',1,'xran_lib_mlog_tasks_id.h']]], + ['pid_5fup_5ful_5ffull_5fdead_5fline_5fcb',['PID_UP_UL_FULL_DEAD_LINE_CB',['../xran__lib__mlog__tasks__id_8h.html#ac49aef4af90e965464cd29fd0e0d5426',1,'xran_lib_mlog_tasks_id.h']]], + ['pid_5fup_5ful_5fhalf_5fdead_5fline_5fcb',['PID_UP_UL_HALF_DEAD_LINE_CB',['../xran__lib__mlog__tasks__id_8h.html#a7cd97a899b320a85a3b41bb60a02a116',1,'xran_lib_mlog_tasks_id.h']]], + ['pid_5fxran_5fbbdev_5fdl_5fpoll',['PID_XRAN_BBDEV_DL_POLL',['../xran__lib__mlog__tasks__id_8h.html#a728d396b7200cb96f090f6eb6ee94a2a',1,'xran_lib_mlog_tasks_id.h']]], + ['pid_5fxran_5fbbdev_5fdl_5fpoll_5fdispatch',['PID_XRAN_BBDEV_DL_POLL_DISPATCH',['../xran__lib__mlog__tasks__id_8h.html#a05b2720d7f0668cc8f18850d5dd6e695',1,'xran_lib_mlog_tasks_id.h']]], + ['pid_5fxran_5fbbdev_5ful_5fpoll',['PID_XRAN_BBDEV_UL_POLL',['../xran__lib__mlog__tasks__id_8h.html#a7a3cf239d5765c257866fee0dda8b8a5',1,'xran_lib_mlog_tasks_id.h']]], + ['pid_5fxran_5fbbdev_5ful_5fpoll_5fdispatch',['PID_XRAN_BBDEV_UL_POLL_DISPATCH',['../xran__lib__mlog__tasks__id_8h.html#a54cc76a7682b1337cc0995a37ac0fe7b',1,'xran_lib_mlog_tasks_id.h']]], + ['ping_5fbusy_5fpoll',['PING_BUSY_POLL',['../ethdi_8h.html#a5a5cdcb25b0580324b2cfaa1cad7073c',1,'ethdi.h']]], + ['ping_5fdst_5fid',['ping_dst_id',['../ethdi_8h.html#a6cf5d5256dc316f01943cc2850cff44c',1,'ethdi.h']]], + ['ping_5fidle',['PING_IDLE',['../ethdi_8h.html#a400519d4f3774fc47bc51223a4e3e1b4a10b65ee0f4ee1fa197fcc2171d53a988',1,'ethdi.h']]], + ['ping_5finterval',['PING_INTERVAL',['../ethdi_8h.html#ae138d10c7cd4199e5e96377ff1f8e317',1,'ethdi.h']]], + ['ping_5fneeded',['PING_NEEDED',['../ethdi_8h.html#a400519d4f3774fc47bc51223a4e3e1b4a5a397770156c4176fc6a845070313c31',1,'ethdi.h']]], + ['ping_5fstate',['ping_state',['../structxran__ethdi__ctx.html#a5a97f72041614c818fa41ba34f0d776d',1,'xran_ethdi_ctx']]], + ['ping_5ftimes',['ping_times',['../structxran__ethdi__ctx.html#af01104d20d9d5120bd7c5b39c7084643',1,'xran_ethdi_ctx']]], + ['pkt_5fadd_5fethdev',['PKT_ADD_ETHDEV',['../ethernet_8h.html#afc285891d94145229942219cffd91c4ca3195c95ca22deaf7dc02536c6617555a',1,'ethernet.h']]], + ['pkt_5faux_5fcore',['pkt_aux_core',['../structxran__io__cfg.html#afc9b03cdc767412993891263da114dc3',1,'xran_io_cfg::pkt_aux_core()'],['../structxran__io__loop__cfg.html#a45c65f9da3c052a4b461c34be998b138',1,'xran_io_loop_cfg::pkt_aux_core()']]], + ['pkt_5fburst',['PKT_BURST',['../ethernet_8h.html#afc285891d94145229942219cffd91c4ca8af90a8520aed9743a099ba2b764531f',1,'ethernet.h']]], + ['pkt_5fdatatest',['PKT_DATATEST',['../ethernet_8h.html#afc285891d94145229942219cffd91c4ca908ae7600f065a89921a5c456af47c7d',1,'ethernet.h']]], + ['pkt_5fdiscover_5freply',['PKT_DISCOVER_REPLY',['../ethernet_8h.html#afc285891d94145229942219cffd91c4cae21f6cb75a01b2c580aaead45f7c7196',1,'ethernet.h']]], + ['pkt_5fdiscover_5frequest',['PKT_DISCOVER_REQUEST',['../ethernet_8h.html#afc285891d94145229942219cffd91c4ca078b62e511ba63d14ecb88603e4bb3d8',1,'ethernet.h']]], + ['pkt_5fdump_5fring',['pkt_dump_ring',['../structxran__ethdi__ctx.html#ae69618bbe52d90014001faa69198051c',1,'xran_ethdi_ctx']]], + ['pkt_5fempty',['PKT_EMPTY',['../ethernet_8h.html#afc285891d94145229942219cffd91c4ca24456e415b49514cd63e1cc38fe71650',1,'ethernet.h']]], + ['pkt_5fidx',['pkt_idx',['../structburst__hdr.html#a90db3068871720903d0ccbb5a0b2fb1a',1,'burst_hdr']]], + ['pkt_5flast',['PKT_LAST',['../ethernet_8h.html#afc285891d94145229942219cffd91c4ca7f0f1f1aa3a08f0073130d85a93a27ad',1,'ethernet.h']]], + ['pkt_5flte_5fcontrol',['PKT_LTE_CONTROL',['../ethernet_8h.html#afc285891d94145229942219cffd91c4cab97d45d92672782b2d5df4b22e05b37a',1,'ethernet.h']]], + ['pkt_5flte_5fdata',['PKT_LTE_DATA',['../ethernet_8h.html#afc285891d94145229942219cffd91c4ca2d1fdda73b5130ab56898a63b87340aa',1,'ethernet.h']]], + ['pkt_5fping',['PKT_PING',['../ethernet_8h.html#afc285891d94145229942219cffd91c4ca56f5f292a54ae899fed23930aa7f3595',1,'ethernet.h']]], + ['pkt_5fpong',['PKT_PONG',['../ethernet_8h.html#afc285891d94145229942219cffd91c4ca46ea3ede1ac89dc1da120d81f1d4e789',1,'ethernet.h']]], + ['pkt_5fproc_5fcore',['pkt_proc_core',['../structxran__io__cfg.html#a7ea8f53112b353d5e98cc955437f3706',1,'xran_io_cfg::pkt_proc_core()'],['../structxran__io__loop__cfg.html#a0b34ea46d27e0e37faae5f15997cc607',1,'xran_io_loop_cfg::pkt_proc_core()']]], + ['pkt_5fstats',['pkt_stats',['../structxran__ethdi__ctx.html#a16aa42188d112d73d8d32b0f766d8d2c',1,'xran_ethdi_ctx']]], + ['pkt_5fsync_5fstart',['PKT_SYNC_START',['../ethernet_8h.html#afc285891d94145229942219cffd91c4caf2fd82f605d41a149b61f8ba60143f72',1,'ethernet.h']]], + ['pkt_5ftype',['pkt_type',['../structethdi__hdr.html#a4a94413bc9a9a87e4231f299727b8bc7',1,'ethdi_hdr::pkt_type()'],['../ethernet_8h.html#afc285891d94145229942219cffd91c4c',1,'pkt_type(): ethernet.h']]], + ['pkt_5fzero',['PKT_ZERO',['../ethernet_8h.html#afc285891d94145229942219cffd91c4ca63ce2044eec9f80b76960c2145bac8e3',1,'ethernet.h']]], + ['pmc_5fcmd',['PMC_CMD',['../xran__sync__api_8c.html#ad358ba75ef7ea0f15a200f9e18af64e4',1,'xran_sync_api.c']]], + ['pointer',['pointer',['../classnlohmann_1_1basic__json.html#a1e2c3fce980b34a87b95f41000e849cc',1,'nlohmann::basic_json::pointer()'],['../classnlohmann_1_1basic__json_1_1iter__impl.html#a4dddbf447cb71cb216d9e05e8b7a3eb0',1,'nlohmann::basic_json::iter_impl::pointer()']]], + ['poll_5fnext_5ftick',['poll_next_tick',['../xran__timer_8h.html#a52ade7f1436323f071cf7151f7bdb097',1,'poll_next_tick(long interval_ns, unsigned long *used_tick): xran_timer.c'],['../xran__timer_8c.html#a52ade7f1436323f071cf7151f7bdb097',1,'poll_next_tick(long interval_ns, unsigned long *used_tick): xran_timer.c']]], + ['port',['port',['../structxran__io__cfg.html#ab4a87dda9c9ac332a46e6a9b8a8b8315',1,'xran_io_cfg::port()'],['../structxran__io__loop__cfg.html#af48c6d39ced0dc3629c2b2c1322dae84',1,'xran_io_loop_cfg::port()']]], + ['pprachcallback',['pPrachCallback',['../structxran__device__ctx.html#a5f7077fcb0eef30eca298a156e25ec0c',1,'xran_device_ctx']]], + ['pprachcallbacktag',['pPrachCallbackTag',['../structxran__device__ctx.html#a31909ed26aa2152e78db6fc72237b5d1',1,'xran_device_ctx']]], + ['pprivatemetadata',['pPrivateMetaData',['../structxran__buffer__list.html#a8ff74a1602372db410403d44e0bdd4a9',1,'xran_buffer_list']]], + ['prach_5fconf',['prach_conf',['../structxran__fh__config.html#a167e91cb91119363bf10c9430b6f082c',1,'xran_fh_config']]], + ['prach_5ffile',['prach_file',['../struct___runtime_config.html#ac7a5bcd96e56c56fb91c9a4cb7c57d20',1,'_RuntimeConfig']]], + ['prach_5ffunctional_2ecc',['prach_functional.cc',['../prach__functional_8cc.html',1,'']]], + ['prach_5flast_5fsymbol',['prach_last_symbol',['../structxran__device__ctx.html#a53af49f65e0dafdafcde73d693961a78',1,'xran_device_ctx']]], + ['prach_5flog_5fbuffer_5fposition',['prach_log_buffer_position',['../common_8c.html#afde5189915e37caf48edbef9138f966c',1,'prach_log_buffer_position(): common.c'],['../common_8h.html#afde5189915e37caf48edbef9138f966c',1,'prach_log_buffer_position(): common.c']]], + ['prach_5flog_5fbuffer_5fsize',['prach_log_buffer_size',['../common_8c.html#a2d2caffb405333647be9e6f3e2590b5e',1,'prach_log_buffer_size(): common.c'],['../common_8h.html#a2d2caffb405333647be9e6f3e2590b5e',1,'prach_log_buffer_size(): common.c']]], + ['prach_5fperformance_2ecc',['prach_performance.cc',['../prach__performance_8cc.html',1,'']]], + ['prach_5fplayback_5fbuffer_5fbytes',['PRACH_PLAYBACK_BUFFER_BYTES',['../common_8h.html#a465d2f9c1fdfb0b2e06f730bc7df6653',1,'PRACH_PLAYBACK_BUFFER_BYTES(): common.h'],['../xran__common_8h.html#a465d2f9c1fdfb0b2e06f730bc7df6653',1,'PRACH_PLAYBACK_BUFFER_BYTES(): xran_common.h']]], + ['prach_5fsrs_5fbuffer_5fbytes',['PRACH_SRS_BUFFER_BYTES',['../xran__common_8h.html#ad5222effb7d169ebd94bb58101e62758',1,'xran_common.h']]], + ['prach_5fstart_5fsymbol',['prach_start_symbol',['../structxran__device__ctx.html#a26e6c6447dffca5e7ece503e8c0e890c',1,'xran_device_ctx']]], + ['prachcheck',['PrachCheck',['../class_prach_check.html',1,'']]], + ['prachconfigidx',['prachConfigIdx',['../structx_r_a_n_prach_config_table_struct.html#ac80f2088871de674e27c76994d18c9e4',1,'xRANPrachConfigTableStruct']]], + ['prachconfigindex',['prachConfigIndex',['../struct___runtime_config.html#a99f4cd3e313c4d956132e277043498c6',1,'_RuntimeConfig']]], + ['prachcpconfig',['PrachCPConfig',['../structxran__device__ctx.html#ac1db3db55038ef0b2f69827746eaf87c',1,'xran_device_ctx']]], + ['prachenable',['prachEnable',['../structxran__fh__init.html#ac0646000d1448798a186e109df0bb3dd',1,'xran_fh_init']]], + ['prachoffset',['prachOffset',['../struct___runtime_config.html#a27e72df1357d47d3028bba20c4af0453',1,'_RuntimeConfig']]], + ['prachperf',['PrachPerf',['../class_prach_perf.html',1,'']]], + ['prbmap',['prbMap',['../structxran__prb__map.html#a2357c89e196d6c8c53e29bf04d168b7e',1,'xran_prb_map']]], + ['prbmapdl',['PrbMapDl',['../struct___runtime_config.html#a62e6a2d0e1ba75667b3983405ccd2c84',1,'_RuntimeConfig']]], + ['prbmapul',['PrbMapUl',['../struct___runtime_config.html#aa6dd3fbdc60ae22de4c06c1c4e7fbd73',1,'_RuntimeConfig']]], + ['preamblefmrt',['preambleFmrt',['../structx_r_a_n_prach_config_table_struct.html#acda2526836f55a54072c7582b0735ec6',1,'xRANPrachConfigTableStruct::preambleFmrt()'],['../structx_r_a_n_prach_preamble_l_r_a_struct.html#ac8012ba5a5ec95c9cc18ffa77f36e84e',1,'xRANPrachPreambleLRAStruct::preambleFmrt()']]], + ['preambleformatenum',['PreambleFormatEnum',['../xran__common_8h.html#a8c9c50771b8a51b0209b1866855b80dd',1,'xran_common.h']]], + ['prepare_5fextensions',['prepare_extensions',['../class_c__plane.html#aecd2fcecaca860136bf56e6af5155e96',1,'C_plane']]], + ['prepare_5fsections',['prepare_sections',['../class_c__plane.html#a7fd4d380e2392bfe924c06a8101b6d85',1,'C_plane']]], + ['prepare_5fsymbol_5fex',['prepare_symbol_ex',['../xran__common_8c.html#adc9636576fb70f4b4fcfd1d03fe59998',1,'prepare_symbol_ex(enum xran_pkt_dir direction, uint16_t section_id, struct rte_mbuf *mb, struct rb_map *data, uint8_t compMeth, uint8_t iqWidth, const enum xran_input_byte_order iq_buf_byte_order, uint8_t frame_id, uint8_t subframe_id, uint8_t slot_id, uint8_t symbol_no, int prb_start, int prb_num, uint8_t CC_ID, uint8_t RU_Port_ID, uint8_t seq_id, uint32_t do_copy): xran_common.c'],['../xran__common_8h.html#adc9636576fb70f4b4fcfd1d03fe59998',1,'prepare_symbol_ex(enum xran_pkt_dir direction, uint16_t section_id, struct rte_mbuf *mb, struct rb_map *data, uint8_t compMeth, uint8_t iqWidth, const enum xran_input_byte_order iq_buf_byte_order, uint8_t frame_id, uint8_t subframe_id, uint8_t slot_id, uint8_t symbol_no, int prb_start, int prb_num, uint8_t CC_ID, uint8_t RU_Port_ID, uint8_t seq_id, uint32_t do_copy): xran_common.c']]], + ['print_5fdbg',['print_dbg',['../xran__printf_8h.html#a417ba2c3b49b216e358bc340346bf1cf',1,'xran_printf.h']]], + ['print_5ferr',['print_err',['../xran__printf_8h.html#a16c2c0a30b31515830a4a8eff6cf10b5',1,'xran_printf.h']]], + ['print_5finf',['print_inf',['../xran__printf_8h.html#a4ca9250337e620175e2b71a1dc69d1d2',1,'xran_printf.h']]], + ['print_5flog',['print_log',['../xran__printf_8h.html#a677530742f5d55b5410c024f85794361',1,'xran_printf.h']]], + ['print_5ftest_5fdescription',['print_test_description',['../class_kernel_tests.html#af9e5657bce588536aef7baf8c33a0108',1,'KernelTests']]], + ['printf_5ferr_5fok',['PRINTF_ERR_OK',['../xran__printf_8h.html#aa48f1da63506225983d78eeabd664382',1,'xran_printf.h']]], + ['printf_5finf_5fok',['PRINTF_INF_OK',['../xran__printf_8h.html#a467b83fc581fd7d20f8bf8c0af7240b9',1,'xran_printf.h']]], + ['printf_5flog_5fok',['PRINTF_LOG_OK',['../xran__printf_8h.html#abcb4ad51f1f16a398ff960ba4a0ed8c0',1,'xran_printf.h']]], + ['priority_5ftag',['priority_tag',['../structnlohmann_1_1detail_1_1priority__tag.html',1,'nlohmann::detail']]], + ['priority_5ftag_3c_200_20_3e',['priority_tag< 0 >',['../structnlohmann_1_1detail_1_1priority__tag_3_010_01_4.html',1,'nlohmann::detail']]], + ['proc_5fdir',['PROC_DIR',['../xran__sync__api_8c.html#a74c4e1e72964de291652bbec04e4e4c9',1,'xran_sync_api.c']]], + ['process_5fcb',['PROCESS_CB',['../ethdi_8h.html#a8f1b290228ee37b3a5ea2282aded6664',1,'ethdi.h']]], + ['process_5fcplane',['process_cplane',['../xran__main_8c.html#a4eb2b37a85455e8078520bcea40296cc',1,'xran_main.c']]], + ['process_5fdpdk_5fio',['process_dpdk_io',['../ethdi_8c.html#ae5cd564d3dc5eb89dbe0dd1fa105b645',1,'process_dpdk_io(void): ethdi.c'],['../ethdi_8h.html#ae5cd564d3dc5eb89dbe0dd1fa105b645',1,'process_dpdk_io(void): ethdi.c']]], + ['process_5fmbuf',['process_mbuf',['../xran__common_8c.html#a3d4bd5c7eec6da4ab71688e209100761',1,'process_mbuf(struct rte_mbuf *pkt): xran_common.c'],['../xran__common_8h.html#a3d4bd5c7eec6da4ab71688e209100761',1,'process_mbuf(struct rte_mbuf *pkt): xran_common.c'],['../chain__tests_8cc.html#a3d4bd5c7eec6da4ab71688e209100761',1,'process_mbuf(struct rte_mbuf *pkt): xran_common.c']]], + ['process_5fring',['process_ring',['../xran__common_8c.html#a4e156a8a72cc16b05c6ad0532df4e75a',1,'process_ring(struct rte_ring *r): xran_common.c'],['../xran__common_8h.html#a4e156a8a72cc16b05c6ad0532df4e75a',1,'process_ring(struct rte_ring *r): xran_common.c']]], + ['psrscallback',['pSrsCallback',['../structxran__device__ctx.html#a09221a6b8c8f4910a8d0ab9f14aa8d9b',1,'xran_device_ctx']]], + ['psrscallbacktag',['pSrsCallbackTag',['../structxran__device__ctx.html#aa1ab602d8bd88daec92581433fee0ff3',1,'xran_device_ctx']]], + ['psymcallback',['pSymCallback',['../structcb__elem__entry.html#a785dc524b99ed15e17115d076f8ace21',1,'cb_elem_entry']]], + ['psymcallbacktag',['pSymCallbackTag',['../structcb__elem__entry.html#af12736a3d2c375571acffe9f7e4e464e',1,'cb_elem_entry']]], + ['ptp4l_5fproc_5fname',['PTP4L_PROC_NAME',['../xran__sync__api_8c.html#ad1e97ed2634bf44c3b2d5366cfa3deda',1,'xran_sync_api.c']]], + ['puserdata',['pUserData',['../structxran__buffer__list.html#a8d75dbe9027a94780bc2f31670400613',1,'xran_buffer_list']]], + ['push_5fback',['push_back',['../classnlohmann_1_1basic__json.html#aaf38acbc4aaada0a40549bc606f99c4f',1,'nlohmann::basic_json::push_back(basic_json &&val)'],['../classnlohmann_1_1basic__json.html#a2e642105ec753ddb0650b7013749af7b',1,'nlohmann::basic_json::push_back(const basic_json &val)'],['../classnlohmann_1_1basic__json.html#af39e5dcd421f92346c586d57ad7d6609',1,'nlohmann::basic_json::push_back(const typename object_t::value_type &val)'],['../classnlohmann_1_1basic__json.html#a77ab6e7e6b70135f022172a021a15550',1,'nlohmann::basic_json::push_back(std::initializer_list< basic_json > init)']]], + ['pxranconf',['pXranConf',['../sample-app_8c.html#ac1813c55eefb1dca0fd1af4c7a173c4a',1,'sample-app.c']]], + ['pxransectorhandleinfo',['PXranSectorHandleInfo',['../xran__common_8h.html#a28f7fce371ee51a16876af48fa1feac2',1,'xran_common.h']]] +]; diff --git a/docs/API/search/all_11.html b/docs/API/search/all_11.html new file mode 100644 index 0000000..2be8b71 --- /dev/null +++ b/docs/API/search/all_11.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/all_11.js b/docs/API/search/all_11.js new file mode 100644 index 0000000..463c8f9 --- /dev/null +++ b/docs/API/search/all_11.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['q_5fsample',['q_sample',['../structrb__map.html#a2689a6e20e8408a3e5a7058748c3de33',1,'rb_map']]] +]; diff --git a/docs/API/search/all_12.html b/docs/API/search/all_12.html new file mode 100644 index 0000000..13c5263 --- /dev/null +++ b/docs/API/search/all_12.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/all_12.js b/docs/API/search/all_12.js new file mode 100644 index 0000000..3f051cb --- /dev/null +++ b/docs/API/search/all_12.js @@ -0,0 +1,85 @@ +var searchData= +[ + ['radio_5fapp_5fcommon_5fhdr',['radio_app_common_hdr',['../structradio__app__common__hdr.html',1,'']]], + ['rb',['rb',['../structxran__section__info.html#affa3adbd50cd4af2018ba1fc0e8c3e31',1,'xran_section_info::rb()'],['../structxran__cp__radioapp__section__header.html#ac91b2b11ae96c1a44e8a2fad473771c7',1,'xran_cp_radioapp_section_header::rb()'],['../structxran__cp__radioapp__section6.html#affa3adbd50cd4af2018ba1fc0e8c3e31',1,'xran_cp_radioapp_section6::rb()'],['../structdata__section__hdr.html#ac91b2b11ae96c1a44e8a2fad473771c7',1,'data_section_hdr::rb()'],['../xran__pkt__cp_8h.html#affa3adbd50cd4af2018ba1fc0e8c3e31',1,'rb(): xran_pkt_cp.h']]], + ['rb_5fmap',['rb_map',['../structrb__map.html',1,'']]], + ['rb_5fnum',['rb_num',['../structxran__cp__rbmap__list.html#af7735abb4d0e98bff75f6ca302402fd1',1,'xran_cp_rbmap_list']]], + ['rb_5fnum_5froundup',['RB_NUM_ROUNDUP',['../xran__compression_8cpp.html#a8e2efc093002a3f4ed586a274dac0814',1,'xran_compression.cpp']]], + ['rb_5fstart',['rb_start',['../structxran__cp__rbmap__list.html#a1e0c8aee4bb2520855c655fc3f5ddb3e',1,'xran_cp_rbmap_list']]], + ['rbegin',['rbegin',['../classnlohmann_1_1basic__json.html#ac7cd69c57ab7c76ac6eb26c474a43053',1,'nlohmann::basic_json::rbegin() noexcept'],['../classnlohmann_1_1basic__json.html#aff2c14a4e54378db02316aa5dacce912',1,'nlohmann::basic_json::rbegin() const noexcept']]], + ['rbnumber',['rbNumber',['../structxran__sectionext1__info.html#ad07777df733bfd87b118b5ea683fcb3b',1,'xran_sectionext1_info']]], + ['re',['re',['../struct_c_o_m_p_l_e_x32.html#aeac685ede53ad58d0e24e6c060feff7a',1,'COMPLEX32::re()'],['../structcomplex__int16__t.html#af076f3e7a3b5f655e2cb2b9c3be29b3e',1,'complex_int16_t::re()'],['../structcomplex__int32__t.html#a44e1ef2f79beb4877834c23fb4547e58',1,'complex_int32_t::re()'],['../structcomplex__float.html#aeac685ede53ad58d0e24e6c060feff7a',1,'complex_float::re()'],['../structcomplex__double.html#a5a6fce2fc5cae153945fea2c45beeb4f',1,'complex_double::re()'],['../structcomplex__half.html#afc3876dabc752cb80a88432b6456170d',1,'complex_half::re()']]], + ['read_5fdata_5fto_5faligned_5farray',['read_data_to_aligned_array',['../common_8cpp.html#a876ed07783b27d38779f7cef4db673e6',1,'read_data_to_aligned_array(const std::string &filename): common.cpp'],['../common_8hpp.html#a876ed07783b27d38779f7cef4db673e6',1,'read_data_to_aligned_array(const std::string &filename): common.cpp']]], + ['read_5fhead',['read_head',['../ethernet_8c.html#a33dbe0774fc577b56bd532cf3736106e',1,'ethernet.c']]], + ['read_5fjson_5ffrom_5ffile',['read_json_from_file',['../common_8cpp.html#ad8c062e9b24e4b3a8408b23a0d8ab428',1,'read_json_from_file(const std::string &filename): common.cpp'],['../common_8hpp.html#ad8c062e9b24e4b3a8408b23a0d8ab428',1,'read_json_from_file(const std::string &filename): common.cpp']]], + ['reading_5finput_5ffile_5fexception',['reading_input_file_exception',['../structreading__input__file__exception.html',1,'']]], + ['reallimits',['RealLimits',['../structnlohmann_1_1detail_1_1is__compatible__integer__type__impl_3_01true_00_01_real_integer_type78b0ba77f36a8c8169cdb79b01d1a4bf.html#ab9c4451c9a268c8cb1c2a3d7fe772bbc',1,'nlohmann::detail::is_compatible_integer_type_impl< true, RealIntegerType, CompatibleNumberIntegerType >']]], + ['reference',['reference',['../classnlohmann_1_1basic__json.html#a74202cdd96628bc49a756e5fc87d22de',1,'nlohmann::basic_json::reference()'],['../classnlohmann_1_1basic__json_1_1iter__impl.html#a89a36094ec6faba74170f6ec2d41a932',1,'nlohmann::basic_json::iter_impl::reference()'],['../classnlohmann_1_1basic__json_1_1json__reverse__iterator.html#a2d0b26e9f77160f2fa35c115619b8c9c',1,'nlohmann::basic_json::json_reverse_iterator::reference()']]], + ['regfactor',['regFactor',['../structxran__section__info.html#aebf3365962d1bbb1b52ee9687006cbed',1,'xran_section_info']]], + ['regularizationfactor',['regularizationFactor',['../structxran__cp__radioapp__section6.html#ab73e0a6442bf42de3e9110afca7b4ec4',1,'xran_cp_radioapp_section6::regularizationFactor()'],['../xran__pkt__cp_8h.html#ab73e0a6442bf42de3e9110afca7b4ec4',1,'regularizationFactor(): xran_pkt_cp.h']]], + ['remask',['reMask',['../structxran__section__info.html#ab8acca18b930cde25e1cf85ae86c964c',1,'xran_section_info::reMask()'],['../structxran__cp__radioapp__section__header.html#aff6c92a5dba7cc22be5e23785fe5fc43',1,'xran_cp_radioapp_section_header::reMask()'],['../xran__pkt__cp_8h.html#aff6c92a5dba7cc22be5e23785fe5fc43',1,'reMask(): xran_pkt_cp.h']]], + ['rend',['rend',['../classnlohmann_1_1basic__json.html#ad4e3dd675f301e0b86183699a2db7d79',1,'nlohmann::basic_json::rend() noexcept'],['../classnlohmann_1_1basic__json.html#ac5bfd48090cb59d7dd635954831415df',1,'nlohmann::basic_json::rend() const noexcept']]], + ['repetition',['repetition',['../struct_benchmark_parameters.html#a7f1e5652bb40ab5c264473c82ac23beb',1,'BenchmarkParameters']]], + ['request',['request',['../class_u__plane_perf.html#aecd4daf2f65d0901e69252e8704aead5',1,'U_planePerf']]], + ['res',['res',['../namespacemaster.html#ad5c7a065cddc009146ea1b1192eb2102',1,'master']]], + ['reserved',['reserved',['../structxran__slot__config.html#a8d7e0415efaf6e08cb6510401f765c28',1,'xran_slot_config::reserved()'],['../structxran__cp__radioapp__section__header.html#aa43c4c21b173ada1b6b7568956f0d650',1,'xran_cp_radioapp_section_header::reserved()'],['../structxran__cp__radioapp__section0__header.html#acb7bc06bed6f6408d719334fc41698c7',1,'xran_cp_radioapp_section0_header::reserved()'],['../structxran__cp__radioapp__section1__header.html#acb7bc06bed6f6408d719334fc41698c7',1,'xran_cp_radioapp_section1_header::reserved()'],['../structxran__cp__radioapp__section3.html#aa43c4c21b173ada1b6b7568956f0d650',1,'xran_cp_radioapp_section3::reserved()'],['../structxran__cp__radioapp__section5__header.html#acb7bc06bed6f6408d719334fc41698c7',1,'xran_cp_radioapp_section5_header::reserved()'],['../structxran__cp__radioapp__section6__header.html#acb7bc06bed6f6408d719334fc41698c7',1,'xran_cp_radioapp_section6_header::reserved()'],['../structxran__cp__radioapp__section6.html#acb7bc06bed6f6408d719334fc41698c7',1,'xran_cp_radioapp_section6::reserved()'],['../structxran__cp__radioapp__section7__header.html#a5a6ed8c04a3db86066924b1a1bf4dad3',1,'xran_cp_radioapp_section7_header::reserved()'],['../structcompression__params_1_1block__fl__point.html#acb7bc06bed6f6408d719334fc41698c7',1,'compression_params::block_fl_point::reserved()'],['../xran__pkt__cp_8h.html#a5a6ed8c04a3db86066924b1a1bf4dad3',1,'reserved(): xran_pkt_cp.h']]], + ['reserved0',['reserved0',['../structxran__cp__radioapp__section__ext3__first.html#aed93283265f941dc1d2bf8d634164493',1,'xran_cp_radioapp_section_ext3_first::reserved0()'],['../structxran__cp__radioapp__section__ext5.html#aed93283265f941dc1d2bf8d634164493',1,'xran_cp_radioapp_section_ext5::reserved0()'],['../xran__pkt__cp_8h.html#aed93283265f941dc1d2bf8d634164493',1,'reserved0(): xran_pkt_cp.h']]], + ['reserved1',['reserved1',['../structxran__cp__radioapp__section__ext3__first.html#aef9bb556c1530f5d648fd57e73b9a105',1,'xran_cp_radioapp_section_ext3_first::reserved1()'],['../xran__pkt__cp_8h.html#aef9bb556c1530f5d648fd57e73b9a105',1,'reserved1(): xran_pkt_cp.h']]], + ['reserved2',['reserved2',['../structxran__cp__radioapp__section__ext3__first.html#a0fc429b055e74830a4583ec37f5c3846',1,'xran_cp_radioapp_section_ext3_first::reserved2()'],['../xran__pkt__cp_8h.html#a0fc429b055e74830a4583ec37f5c3846',1,'reserved2(): xran_pkt_cp.h']]], + ['resource_5fcore_5f0',['RESOURCE_CORE_0',['../xran__mlog__task__id_8h.html#ad63ecf36236d55b6889b694a37f4c82a',1,'RESOURCE_CORE_0(): xran_mlog_task_id.h'],['../xran__lib__mlog__tasks__id_8h.html#ad63ecf36236d55b6889b694a37f4c82a',1,'RESOURCE_CORE_0(): xran_lib_mlog_tasks_id.h']]], + ['resource_5fcore_5f1',['RESOURCE_CORE_1',['../xran__mlog__task__id_8h.html#a206f9b6fd7606da5b0ddbeda0cc2d30d',1,'RESOURCE_CORE_1(): xran_mlog_task_id.h'],['../xran__lib__mlog__tasks__id_8h.html#a206f9b6fd7606da5b0ddbeda0cc2d30d',1,'RESOURCE_CORE_1(): xran_lib_mlog_tasks_id.h']]], + ['resource_5fcore_5f10',['RESOURCE_CORE_10',['../xran__mlog__task__id_8h.html#a95a2ee6d2e9053eba72cfbd68b61e726',1,'RESOURCE_CORE_10(): xran_mlog_task_id.h'],['../xran__lib__mlog__tasks__id_8h.html#a95a2ee6d2e9053eba72cfbd68b61e726',1,'RESOURCE_CORE_10(): xran_lib_mlog_tasks_id.h']]], + ['resource_5fcore_5f11',['RESOURCE_CORE_11',['../xran__mlog__task__id_8h.html#ac7c78da6670986038e59ec04197ba2de',1,'RESOURCE_CORE_11(): xran_mlog_task_id.h'],['../xran__lib__mlog__tasks__id_8h.html#ac7c78da6670986038e59ec04197ba2de',1,'RESOURCE_CORE_11(): xran_lib_mlog_tasks_id.h']]], + ['resource_5fcore_5f12',['RESOURCE_CORE_12',['../xran__mlog__task__id_8h.html#a4810ab3931b63321f315a33471562621',1,'RESOURCE_CORE_12(): xran_mlog_task_id.h'],['../xran__lib__mlog__tasks__id_8h.html#a4810ab3931b63321f315a33471562621',1,'RESOURCE_CORE_12(): xran_lib_mlog_tasks_id.h']]], + ['resource_5fcore_5f13',['RESOURCE_CORE_13',['../xran__mlog__task__id_8h.html#a1b85fbf64ceefa1ff866a9904cc08447',1,'RESOURCE_CORE_13(): xran_mlog_task_id.h'],['../xran__lib__mlog__tasks__id_8h.html#a1b85fbf64ceefa1ff866a9904cc08447',1,'RESOURCE_CORE_13(): xran_lib_mlog_tasks_id.h']]], + ['resource_5fcore_5f14',['RESOURCE_CORE_14',['../xran__mlog__task__id_8h.html#a662204d14e93ec97c3860dba456708ae',1,'RESOURCE_CORE_14(): xran_mlog_task_id.h'],['../xran__lib__mlog__tasks__id_8h.html#a662204d14e93ec97c3860dba456708ae',1,'RESOURCE_CORE_14(): xran_lib_mlog_tasks_id.h']]], + ['resource_5fcore_5f15',['RESOURCE_CORE_15',['../xran__mlog__task__id_8h.html#a05f7fe99fea79c815423f3b68b045bbc',1,'RESOURCE_CORE_15(): xran_mlog_task_id.h'],['../xran__lib__mlog__tasks__id_8h.html#a05f7fe99fea79c815423f3b68b045bbc',1,'RESOURCE_CORE_15(): xran_lib_mlog_tasks_id.h']]], + ['resource_5fcore_5f16',['RESOURCE_CORE_16',['../xran__mlog__task__id_8h.html#ab62f03244680e08b6d290b84605b926d',1,'RESOURCE_CORE_16(): xran_mlog_task_id.h'],['../xran__lib__mlog__tasks__id_8h.html#ab62f03244680e08b6d290b84605b926d',1,'RESOURCE_CORE_16(): xran_lib_mlog_tasks_id.h']]], + ['resource_5fcore_5f2',['RESOURCE_CORE_2',['../xran__mlog__task__id_8h.html#a85fd89028c0e45defdd171a529cb3eb5',1,'RESOURCE_CORE_2(): xran_mlog_task_id.h'],['../xran__lib__mlog__tasks__id_8h.html#a85fd89028c0e45defdd171a529cb3eb5',1,'RESOURCE_CORE_2(): xran_lib_mlog_tasks_id.h']]], + ['resource_5fcore_5f3',['RESOURCE_CORE_3',['../xran__mlog__task__id_8h.html#a497b673d19fb0e0a12e047433e0a0e91',1,'RESOURCE_CORE_3(): xran_mlog_task_id.h'],['../xran__lib__mlog__tasks__id_8h.html#a497b673d19fb0e0a12e047433e0a0e91',1,'RESOURCE_CORE_3(): xran_lib_mlog_tasks_id.h']]], + ['resource_5fcore_5f4',['RESOURCE_CORE_4',['../xran__mlog__task__id_8h.html#ab2899a3a28bf6b48f5f252944f96d07b',1,'RESOURCE_CORE_4(): xran_mlog_task_id.h'],['../xran__lib__mlog__tasks__id_8h.html#ab2899a3a28bf6b48f5f252944f96d07b',1,'RESOURCE_CORE_4(): xran_lib_mlog_tasks_id.h']]], + ['resource_5fcore_5f5',['RESOURCE_CORE_5',['../xran__mlog__task__id_8h.html#a33defb76a292b4840ef108746339240c',1,'RESOURCE_CORE_5(): xran_mlog_task_id.h'],['../xran__lib__mlog__tasks__id_8h.html#a33defb76a292b4840ef108746339240c',1,'RESOURCE_CORE_5(): xran_lib_mlog_tasks_id.h']]], + ['resource_5fcore_5f6',['RESOURCE_CORE_6',['../xran__mlog__task__id_8h.html#a26695e5577928c9e80d055714a937329',1,'RESOURCE_CORE_6(): xran_mlog_task_id.h'],['../xran__lib__mlog__tasks__id_8h.html#a26695e5577928c9e80d055714a937329',1,'RESOURCE_CORE_6(): xran_lib_mlog_tasks_id.h']]], + ['resource_5fcore_5f7',['RESOURCE_CORE_7',['../xran__mlog__task__id_8h.html#ae38446635f2f0f32f48776a8af2d21c7',1,'RESOURCE_CORE_7(): xran_mlog_task_id.h'],['../xran__lib__mlog__tasks__id_8h.html#ae38446635f2f0f32f48776a8af2d21c7',1,'RESOURCE_CORE_7(): xran_lib_mlog_tasks_id.h']]], + ['resource_5fcore_5f8',['RESOURCE_CORE_8',['../xran__mlog__task__id_8h.html#aac32aa932a156c8c4c0be901d63cfb4f',1,'RESOURCE_CORE_8(): xran_mlog_task_id.h'],['../xran__lib__mlog__tasks__id_8h.html#aac32aa932a156c8c4c0be901d63cfb4f',1,'RESOURCE_CORE_8(): xran_lib_mlog_tasks_id.h']]], + ['resource_5fcore_5f9',['RESOURCE_CORE_9',['../xran__mlog__task__id_8h.html#a9b127d3cfc1299cb5706e46c1ef6d756',1,'RESOURCE_CORE_9(): xran_mlog_task_id.h'],['../xran__lib__mlog__tasks__id_8h.html#a9b127d3cfc1299cb5706e46c1ef6d756',1,'RESOURCE_CORE_9(): xran_lib_mlog_tasks_id.h']]], + ['resource_5fia_5fcore',['RESOURCE_IA_CORE',['../xran__mlog__task__id_8h.html#a8e34684ae6b2d25c23323b56693266f0',1,'RESOURCE_IA_CORE(): xran_mlog_task_id.h'],['../xran__lib__mlog__tasks__id_8h.html#a8e34684ae6b2d25c23323b56693266f0',1,'RESOURCE_IA_CORE(): xran_lib_mlog_tasks_id.h']]], + ['response',['response',['../class_u__plane_perf.html#a73f283dac7c232619e62aba3cab7e0b1',1,'U_planePerf']]], + ['result_5funits',['result_units',['../class_kernel_tests.html#a0f6b306c821273c76461f8799c5d4d4c',1,'KernelTests']]], + ['reverse_5fiterator',['reverse_iterator',['../classnlohmann_1_1basic__json.html#a44b6b974744b30149559c9dce91b92ec',1,'nlohmann::basic_json']]], + ['ring_5fidx',['ring_idx',['../ethernet_8c.html#a845b3b4b5f6eeeef2ffa38a0048d5969',1,'ethernet.c']]], + ['ring_5fprocessing_5ffunc',['ring_processing_func',['../xran__common_8c.html#a595fa22ad1c316d4c7d77f6333478b49',1,'ring_processing_func(void): xran_common.c'],['../xran__common_8h.html#a595fa22ad1c316d4c7d77f6333478b49',1,'ring_processing_func(void): xran_common.c']]], + ['ring_5fprocessing_5fthread',['ring_processing_thread',['../xran__common_8c.html#a3cdc276ccd8081a8bda75f22b0cac279',1,'ring_processing_thread(void *args): xran_common.c'],['../xran__common_8h.html#a3cdc276ccd8081a8bda75f22b0cac279',1,'ring_processing_thread(void *args): xran_common.c']]], + ['ringmask',['RINGMASK',['../ethernet_8c.html#a86876a46f9f0a408e13cb2a225b8e4e6',1,'ethernet.c']]], + ['ringsize',['RINGSIZE',['../ethernet_8c.html#a0ff6d080449124d52d868d9ce2ffe871',1,'ethernet.c']]], + ['rsrvd',['rsrvd',['../structdata__section__compression__hdr.html#a73f8c890ac5a8af7cfe4947d2205e3ee',1,'data_section_compression_hdr']]], + ['rsv',['rsv',['../struct_f_p_g_a_phase_comp_cfg.html#a5c5d68350191dc26727218ef0ce86f1d',1,'FPGAPhaseCompCfg']]], + ['ru_5fconf',['ru_conf',['../structxran__fh__config.html#a27ff648f80c139235421b81f957fcb7e',1,'xran_fh_config']]], + ['ru_5fport_5fid',['ru_port_id',['../structxran__prb__map.html#a16b7b2d1f57da5ed39e7e3a026592a85',1,'xran_prb_map']]], + ['run_5fbenchmark',['run_benchmark',['../common_8hpp.html#af69d779517f2bdee3aba95bc38022074',1,'common.hpp']]], + ['run_5ftcase',['run_tcase',['../namespacemaster.html#ab9aaaee357ffa8fa96b544bd05c1ccb8',1,'master']]], + ['runtimeconfig',['RuntimeConfig',['../config_8h.html#af57013248b2c9c128e04d2e8ce8c93c9',1,'config.h']]], + ['ruportid',['ruPortId',['../structxran__eaxc__info.html#afb85286a39539b98fa09e33ccfa6226b',1,'xran_eaxc_info']]], + ['rx_5fbuffer_5fsize',['rx_buffer_size',['../common_8c.html#ac33fae2fa6f1f85b151fe0d60c132931',1,'rx_buffer_size(): common.c'],['../common_8h.html#ac33fae2fa6f1f85b151fe0d60c132931',1,'rx_buffer_size(): common.c']]], + ['rx_5fbytes_5fcounter',['rx_bytes_counter',['../sample-app_8c.html#af2fff595280c3b2999bfa40d7beafadf',1,'rx_bytes_counter(): xran_common.c'],['../xran__common_8c.html#af2fff595280c3b2999bfa40d7beafadf',1,'rx_bytes_counter(): xran_common.c'],['../xran__common_8h.html#af2fff595280c3b2999bfa40d7beafadf',1,'rx_bytes_counter(): xran_common.c']]], + ['rx_5fbytes_5fper_5fsec',['rx_bytes_per_sec',['../sample-app_8c.html#adc695e955f335d5dedb486ce89a4e0b3',1,'rx_bytes_per_sec(): xran_common.c'],['../xran__common_8c.html#adc695e955f335d5dedb486ce89a4e0b3',1,'rx_bytes_per_sec(): xran_common.c'],['../xran__common_8h.html#adc695e955f335d5dedb486ce89a4e0b3',1,'rx_bytes_per_sec(): xran_common.c']]], + ['rx_5fcorrupt',['Rx_corrupt',['../structxran__common__counters.html#af07bbcc73027d046cf79aaeeaea95d28',1,'xran_common_counters']]], + ['rx_5fcounter',['rx_counter',['../sample-app_8c.html#a9e6e93a89aa6750e04b8249db2d8ad2a',1,'rx_counter(): xran_common.c'],['../xran__common_8c.html#a9e6e93a89aa6750e04b8249db2d8ad2a',1,'rx_counter(): xran_common.c'],['../xran__common_8h.html#a9e6e93a89aa6750e04b8249db2d8ad2a',1,'rx_counter(): xran_common.c']]], + ['rx_5fdl_5fbfw_5fbuffer_5fposition',['rx_dl_bfw_buffer_position',['../common_8c.html#a69ceaec7b612ecba9628a4a078ff319a',1,'rx_dl_bfw_buffer_position(): common.c'],['../common_8h.html#a69ceaec7b612ecba9628a4a078ff319a',1,'rx_dl_bfw_buffer_position(): common.c']]], + ['rx_5fdl_5fbfw_5fbuffer_5fsize',['rx_dl_bfw_buffer_size',['../common_8c.html#a75c2080232a140585589adea6b446d61',1,'rx_dl_bfw_buffer_size(): common.c'],['../common_8h.html#a75c2080232a140585589adea6b446d61',1,'rx_dl_bfw_buffer_size(): common.c']]], + ['rx_5fearly',['Rx_early',['../structxran__common__counters.html#a1b07b459f4a9596d5c4a615d9e47fea2',1,'xran_common_counters']]], + ['rx_5flate',['Rx_late',['../structxran__common__counters.html#a2c33ad6e68efd74811ca61eada4f52f2',1,'xran_common_counters']]], + ['rx_5flog_5fbuffer_5fposition',['rx_log_buffer_position',['../common_8c.html#adb25475aaf7dcca7350334f201c161c4',1,'rx_log_buffer_position(): common.c'],['../common_8h.html#adb25475aaf7dcca7350334f201c161c4',1,'rx_log_buffer_position(): common.c']]], + ['rx_5flog_5fbuffer_5fsize',['rx_log_buffer_size',['../common_8c.html#abc08d2b5f2da30c4a1e5d258dfe8dfc7',1,'rx_log_buffer_size(): common.c'],['../common_8h.html#abc08d2b5f2da30c4a1e5d258dfe8dfc7',1,'rx_log_buffer_size(): common.c']]], + ['rx_5fon_5ftime',['Rx_on_time',['../structxran__common__counters.html#a6094e9310d30333fffbdeec6da91007c',1,'xran_common_counters']]], + ['rx_5fpacket_5fcallback_5ftracker',['rx_packet_callback_tracker',['../structxran__device__ctx.html#ae3228d07f4ce31d4707fd5934fb8ec03',1,'xran_device_ctx']]], + ['rx_5fpacket_5fprach_5fcallback_5ftracker',['rx_packet_prach_callback_tracker',['../structxran__device__ctx.html#a828091ca5ff40ad8918ace1376d25c05',1,'xran_device_ctx']]], + ['rx_5fpacket_5fprach_5ftracker',['rx_packet_prach_tracker',['../structxran__device__ctx.html#a62f6979f35115d4c857e734d875be5df',1,'xran_device_ctx']]], + ['rx_5fpacket_5fsymb_5ftracker',['rx_packet_symb_tracker',['../structxran__device__ctx.html#a016b606244b631c62b0bad792717a27c',1,'xran_device_ctx']]], + ['rx_5fpkt_5fdupl',['Rx_pkt_dupl',['../structxran__common__counters.html#a98356b862ea13ddc58a1378a67c4bf8e',1,'xran_common_counters']]], + ['rx_5fring',['rx_ring',['../structxran__ethdi__ctx.html#a252aa4a41dea61041edb525c4190651b',1,'xran_ethdi_ctx']]], + ['rx_5ful_5fbfw_5fbuffer_5fposition',['rx_ul_bfw_buffer_position',['../common_8c.html#a49b46cf2c43d8dade13dce8a3e3cdba9',1,'rx_ul_bfw_buffer_position(): common.c'],['../common_8h.html#a49b46cf2c43d8dade13dce8a3e3cdba9',1,'rx_ul_bfw_buffer_position(): common.c']]], + ['rx_5ful_5fbfw_5fbuffer_5fsize',['rx_ul_bfw_buffer_size',['../common_8c.html#ada292a2cdef3b215f7a2f0e84c8c027c',1,'rx_ul_bfw_buffer_size(): common.c'],['../common_8h.html#ada292a2cdef3b215f7a2f0e84c8c027c',1,'rx_ul_bfw_buffer_size(): common.c']]], + ['rx_5ful_5fdeadline_5ffull_5fcb',['rx_ul_deadline_full_cb',['../xran__main_8c.html#a63aa00dad3b771f4db5df8ca8ac68323',1,'xran_main.c']]], + ['rx_5ful_5fdeadline_5fhalf_5fcb',['rx_ul_deadline_half_cb',['../xran__main_8c.html#ad4544f4d6f4713c010f083bce5758d14',1,'xran_main.c']]] +]; diff --git a/docs/API/search/all_13.html b/docs/API/search/all_13.html new file mode 100644 index 0000000..b4a8bca --- /dev/null +++ b/docs/API/search/all_13.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/all_13.js b/docs/API/search/all_13.js new file mode 100644 index 0000000..f34e8f0 --- /dev/null +++ b/docs/API/search/all_13.js @@ -0,0 +1,117 @@ +var searchData= +[ + ['s0',['s0',['../structxran__cp__radioapp__section__header.html#a95e0dae95f44e3f580dba1f14119b6f8',1,'xran_cp_radioapp_section_header::s0()'],['../xran__pkt__cp_8h.html#a4b39e0bd755009987ba524eeb2dc498c',1,'s0(): xran_pkt_cp.h']]], + ['s1',['s1',['../structxran__cp__radioapp__section__header.html#a2f522ea9e50aa828de1bbafaecc329b7',1,'xran_cp_radioapp_section_header::s1()'],['../xran__pkt__cp_8h.html#a3acb089c3231d11a0b19b211a4064858',1,'s1(): xran_pkt_cp.h']]], + ['s3',['s3',['../structxran__cp__radioapp__section__header.html#a2af8f4835a40414cf6f7950baafd76cf',1,'xran_cp_radioapp_section_header::s3()'],['../xran__pkt__cp_8h.html#a4127e3fdcd37be2355359a4d62704f29',1,'s3(): xran_pkt_cp.h']]], + ['s5',['s5',['../structxran__cp__radioapp__section__header.html#a5ab4ec89c9271cd004625b947af0dc3b',1,'xran_cp_radioapp_section_header::s5()'],['../xran__pkt__cp_8h.html#a530893d11c684e6332abc2c8f08062fb',1,'s5(): xran_pkt_cp.h']]], + ['sample_2dapp_2ec',['sample-app.c',['../sample-app_8c.html',1,'']]], + ['sblockscaler',['sblockScaler',['../structcompression__params_1_1block__scaling.html#ab6bae75214b448e20540a986ed4bc760',1,'compression_params::block_scaling']]], + ['sbufferlist',['sBufferList',['../struct_bbu_io_buf_ctrl_struct.html#ab79185e465507117d7b13fd30ec49f70',1,'BbuIoBufCtrlStruct']]], + ['scs',['scs',['../structxran__cp__header__params.html#ae470e3869d1cbf07cd5f78ab6709b9e1',1,'xran_cp_header_params']]], + ['sec_5fdesc',['sec_desc',['../structxran__section__info.html#ae87ace79c701c8bafa8ed69be03b9542',1,'xran_section_info']]], + ['sec_5fhdr',['sec_hdr',['../structxran__up__pkt__gen__params.html#ae5c4194f5046a89d06534a69775c1cab',1,'xran_up_pkt_gen_params::sec_hdr()'],['../structxran__up__pkt__gen__no__compression__params.html#ae5c4194f5046a89d06534a69775c1cab',1,'xran_up_pkt_gen_no_compression_params::sec_hdr()']]], + ['sec_5fmod_5fstop',['SEC_MOD_STOP',['../xran__timer_8c.html#a7ea28dc9406161730556bbec38f1a799',1,'xran_timer.c']]], + ['sect_5fid',['sect_id',['../structdata__section__hdr.html#a11d1616fb975ccafbc33ab590fe501c4',1,'data_section_hdr']]], + ['section_5fid',['section_id',['../structxran__section__desc.html#aa82fd2a2292b3c25c7027b898fa53815',1,'xran_section_desc']]], + ['sectionid',['sectionId',['../structxran__cp__radioapp__section__header.html#a9a83cf1c3a2706e565cbbd8a6e3af8b2',1,'xran_cp_radioapp_section_header::sectionId()'],['../xran__pkt__cp_8h.html#a9a83cf1c3a2706e565cbbd8a6e3af8b2',1,'sectionId(): xran_pkt_cp.h']]], + ['sections',['sections',['../structxran__cp__gen__params.html#a5921f2439294279b8111fed577c5c37a',1,'xran_cp_gen_params']]], + ['sectiontype',['sectionType',['../structxran__cp__gen__params.html#ae273caa235b1c6085de4ad13886f82c9',1,'xran_cp_gen_params::sectionType()'],['../structxran__cp__radioapp__common__header.html#ae273caa235b1c6085de4ad13886f82c9',1,'xran_cp_radioapp_common_header::sectionType()'],['../xran__pkt__cp_8h.html#ae273caa235b1c6085de4ad13886f82c9',1,'sectionType(): xran_pkt_cp.h']]], + ['sector_5fid',['sector_id',['../structxran__fh__config.html#ad972d84bc9f4c3d7714a3e398abb2a82',1,'xran_fh_config::sector_id()'],['../structxran__device__ctx.html#a863c2e1054bcd2fb5d3a9edcfac2fd8e',1,'xran_device_ctx::sector_id()']]], + ['sectorhandleinfo',['sectorHandleInfo',['../structsector_handle_info.html',1,'']]], + ['send_5fcpmbuf2ring',['send_cpmbuf2ring',['../structxran__device__ctx.html#ad4eb63363a7e445e90ea75b8e99efaad',1,'xran_device_ctx']]], + ['send_5fcpmsg',['send_cpmsg',['../xran__common_8c.html#a484fa852a2e973600abba0efb1fbefb9',1,'send_cpmsg(void *pHandle, struct rte_mbuf *mbuf, struct xran_cp_gen_params *params, struct xran_section_gen_info *sect_geninfo, uint8_t cc_id, uint8_t ru_port_id, uint8_t seq_id): xran_common.c'],['../xran__common_8h.html#a484fa852a2e973600abba0efb1fbefb9',1,'send_cpmsg(void *pHandle, struct rte_mbuf *mbuf, struct xran_cp_gen_params *params, struct xran_section_gen_info *sect_geninfo, uint8_t cc_id, uint8_t ru_port_id, uint8_t seq_id): xran_common.c']]], + ['send_5fmbuf_5fcp_5fperf',['send_mbuf_cp_perf',['../chain__tests_8cc.html#aa17765d107c851ebcc3d202cef78aa75',1,'chain_tests.cc']]], + ['send_5fmbuf_5fup',['send_mbuf_up',['../chain__tests_8cc.html#a35e1cd308253045533454c90a54f876f',1,'chain_tests.cc']]], + ['send_5fsymbol_5fex',['send_symbol_ex',['../xran__common_8c.html#ab67b9cc6e54d8ba3945b265b47af743c',1,'send_symbol_ex(enum xran_pkt_dir direction, uint16_t section_id, struct rte_mbuf *mb, struct rb_map *data, const enum xran_input_byte_order iq_buf_byte_order, uint8_t frame_id, uint8_t subframe_id, uint8_t slot_id, uint8_t symbol_no, int prb_start, int prb_num, uint8_t CC_ID, uint8_t RU_Port_ID, uint8_t seq_id): xran_common.c'],['../xran__common_8h.html#ab67b9cc6e54d8ba3945b265b47af743c',1,'send_symbol_ex(enum xran_pkt_dir direction, uint16_t section_id, struct rte_mbuf *mb, struct rb_map *data, const enum xran_input_byte_order iq_buf_byte_order, uint8_t frame_id, uint8_t subframe_id, uint8_t slot_id, uint8_t symbol_no, int prb_start, int prb_num, uint8_t CC_ID, uint8_t RU_Port_ID, uint8_t seq_id): xran_common.c']]], + ['send_5fupmbuf2ring',['send_upmbuf2ring',['../structxran__device__ctx.html#a77daaa6043406a5924fd69b2dd42571e',1,'xran_device_ctx']]], + ['seq_5fid',['seq_id',['../structecpri__seq__id.html#a2f25460e9a84fe459a874b8255ed4c71',1,'ecpri_seq_id::seq_id()'],['../structxran__recv__packet__info.html#ad03f3906ca027603299130f471bbdfe3',1,'xran_recv_packet_info::seq_id()']]], + ['set_5fdivision_5ffactor',['set_division_factor',['../class_kernel_tests.html#ad49152dbf530aeb2a2844895e6d47a3e',1,'KernelTests']]], + ['set_5fparallelization_5ffactor',['set_parallelization_factor',['../class_kernel_tests.html#a5666c82d220a2c66784b9a238cc43c7e',1,'KernelTests']]], + ['set_5fresults_5funits',['set_results_units',['../class_kernel_tests.html#a1bf2180658ad6d459231c631237f9311',1,'KernelTests']]], + ['setup',['SetUp',['../classxran_lib_wraper.html#a126b53d8cc57521b34496dbe3a26621f',1,'xranLibWraper::SetUp()'],['../class_c__plane.html#a3a1707f6479611fdc609a3eb8a0cef1b',1,'C_plane::SetUp()'],['../class_test_chain.html#a3a1707f6479611fdc609a3eb8a0cef1b',1,'TestChain::SetUp()'],['../class_bfp_check.html#a3a1707f6479611fdc609a3eb8a0cef1b',1,'BfpCheck::SetUp()'],['../class_bfp_perf.html#a3a1707f6479611fdc609a3eb8a0cef1b',1,'BfpPerf::SetUp()'],['../class_bfp_perf_ex.html#a3a1707f6479611fdc609a3eb8a0cef1b',1,'BfpPerfEx::SetUp()'],['../class_init___sys___check.html#a3a1707f6479611fdc609a3eb8a0cef1b',1,'Init_Sys_Check::SetUp()'],['../class_prach_check.html#a3a1707f6479611fdc609a3eb8a0cef1b',1,'PrachCheck::SetUp()'],['../class_prach_perf.html#a3a1707f6479611fdc609a3eb8a0cef1b',1,'PrachPerf::SetUp()'],['../class_u__plane_check.html#a3a1707f6479611fdc609a3eb8a0cef1b',1,'U_planeCheck::SetUp()'],['../class_u__plane_perf.html#a3a1707f6479611fdc609a3eb8a0cef1b',1,'U_planePerf::SetUp()']]], + ['setuptestcase',['SetUpTestCase',['../class_kernel_tests.html#aad8181b222f27240e9f07dcb6e620fa3',1,'KernelTests']]], + ['sf_5fslot_5fsym',['sf_slot_sym',['../structradio__app__common__hdr.html#a9beac05a1b301143744ef1968d01cc55',1,'radio_app_common_hdr']]], + ['sfhprachrxbbuiobufctrl',['sFHPrachRxBbuIoBufCtrl',['../struct_bbu_xran_io_if_struct.html#a4bcca72021c589be2adf3647647a1232',1,'BbuXranIoIfStruct::sFHPrachRxBbuIoBufCtrl()'],['../structxran__device__ctx.html#a4bcca72021c589be2adf3647647a1232',1,'xran_device_ctx::sFHPrachRxBbuIoBufCtrl()'],['../class_init___sys___check.html#a4bcca72021c589be2adf3647647a1232',1,'Init_Sys_Check::sFHPrachRxBbuIoBufCtrl()']]], + ['sfhprachrxbuffers',['sFHPrachRxBuffers',['../struct_bbu_xran_io_if_struct.html#a7976d6beded6455154f323e1e542f085',1,'BbuXranIoIfStruct::sFHPrachRxBuffers()'],['../structxran__device__ctx.html#a7976d6beded6455154f323e1e542f085',1,'xran_device_ctx::sFHPrachRxBuffers()'],['../class_init___sys___check.html#a7976d6beded6455154f323e1e542f085',1,'Init_Sys_Check::sFHPrachRxBuffers()']]], + ['sfhsrsrxbbuiobufctrl',['sFHSrsRxBbuIoBufCtrl',['../struct_bbu_xran_io_if_struct.html#a8d643c55cfe976d88d44beefc0af0dff',1,'BbuXranIoIfStruct::sFHSrsRxBbuIoBufCtrl()'],['../structxran__device__ctx.html#a8d643c55cfe976d88d44beefc0af0dff',1,'xran_device_ctx::sFHSrsRxBbuIoBufCtrl()']]], + ['sfhsrsrxbuffers',['sFHSrsRxBuffers',['../struct_bbu_xran_io_if_struct.html#a8d0c3597635cdeb50f50f5c43d36e875',1,'BbuXranIoIfStruct::sFHSrsRxBuffers()'],['../structxran__device__ctx.html#a8d0c3597635cdeb50f50f5c43d36e875',1,'xran_device_ctx::sFHSrsRxBuffers()']]], + ['sfronthaulrxbbuiobufctrl',['sFrontHaulRxBbuIoBufCtrl',['../struct_bbu_xran_io_if_struct.html#af3ad0b6136919aabcdbac46b754aa7ed',1,'BbuXranIoIfStruct::sFrontHaulRxBbuIoBufCtrl()'],['../structxran__device__ctx.html#af3ad0b6136919aabcdbac46b754aa7ed',1,'xran_device_ctx::sFrontHaulRxBbuIoBufCtrl()'],['../class_init___sys___check.html#af3ad0b6136919aabcdbac46b754aa7ed',1,'Init_Sys_Check::sFrontHaulRxBbuIoBufCtrl()']]], + ['sfronthaulrxbuffers',['sFrontHaulRxBuffers',['../struct_bbu_xran_io_if_struct.html#a1dfd09a710fa1cf63f61883a284a5f0f',1,'BbuXranIoIfStruct::sFrontHaulRxBuffers()'],['../structxran__device__ctx.html#a1dfd09a710fa1cf63f61883a284a5f0f',1,'xran_device_ctx::sFrontHaulRxBuffers()'],['../class_init___sys___check.html#a1dfd09a710fa1cf63f61883a284a5f0f',1,'Init_Sys_Check::sFrontHaulRxBuffers()']]], + ['sfronthaulrxprbmapbbuiobufctrl',['sFrontHaulRxPrbMapBbuIoBufCtrl',['../struct_bbu_xran_io_if_struct.html#a3bfdc9ec9f4c738715460ddd03f0833f',1,'BbuXranIoIfStruct::sFrontHaulRxPrbMapBbuIoBufCtrl()'],['../structxran__device__ctx.html#a3bfdc9ec9f4c738715460ddd03f0833f',1,'xran_device_ctx::sFrontHaulRxPrbMapBbuIoBufCtrl()'],['../class_init___sys___check.html#a3bfdc9ec9f4c738715460ddd03f0833f',1,'Init_Sys_Check::sFrontHaulRxPrbMapBbuIoBufCtrl()']]], + ['sfronthaulrxprbmapbuffers',['sFrontHaulRxPrbMapBuffers',['../struct_bbu_xran_io_if_struct.html#a416ab9567cd2c1bed5a500644fce9a04',1,'BbuXranIoIfStruct::sFrontHaulRxPrbMapBuffers()'],['../structxran__device__ctx.html#a0c71464127a5828784d5775051f134d6',1,'xran_device_ctx::sFrontHaulRxPrbMapBuffers()'],['../class_init___sys___check.html#a416ab9567cd2c1bed5a500644fce9a04',1,'Init_Sys_Check::sFrontHaulRxPrbMapBuffers()']]], + ['sfronthaultxbbuiobufctrl',['sFrontHaulTxBbuIoBufCtrl',['../struct_bbu_xran_io_if_struct.html#aeb7832eb5f4721f4a281feaacd1bb466',1,'BbuXranIoIfStruct::sFrontHaulTxBbuIoBufCtrl()'],['../structxran__device__ctx.html#aeb7832eb5f4721f4a281feaacd1bb466',1,'xran_device_ctx::sFrontHaulTxBbuIoBufCtrl()'],['../class_init___sys___check.html#aeb7832eb5f4721f4a281feaacd1bb466',1,'Init_Sys_Check::sFrontHaulTxBbuIoBufCtrl()']]], + ['sfronthaultxbuffers',['sFrontHaulTxBuffers',['../struct_bbu_xran_io_if_struct.html#a9ef97a8be35f99eec4b85d06a3216762',1,'BbuXranIoIfStruct::sFrontHaulTxBuffers()'],['../structxran__device__ctx.html#a9ef97a8be35f99eec4b85d06a3216762',1,'xran_device_ctx::sFrontHaulTxBuffers()'],['../class_init___sys___check.html#a9ef97a8be35f99eec4b85d06a3216762',1,'Init_Sys_Check::sFrontHaulTxBuffers()']]], + ['sfronthaultxprbmapbbuiobufctrl',['sFrontHaulTxPrbMapBbuIoBufCtrl',['../struct_bbu_xran_io_if_struct.html#a964fb75fa6395056fade4167354019f5',1,'BbuXranIoIfStruct::sFrontHaulTxPrbMapBbuIoBufCtrl()'],['../structxran__device__ctx.html#a964fb75fa6395056fade4167354019f5',1,'xran_device_ctx::sFrontHaulTxPrbMapBbuIoBufCtrl()'],['../class_init___sys___check.html#a964fb75fa6395056fade4167354019f5',1,'Init_Sys_Check::sFrontHaulTxPrbMapBbuIoBufCtrl()']]], + ['sfronthaultxprbmapbuffers',['sFrontHaulTxPrbMapBuffers',['../struct_bbu_xran_io_if_struct.html#a511190592ad97b9f7a43ad31c761ff56',1,'BbuXranIoIfStruct::sFrontHaulTxPrbMapBuffers()'],['../structxran__device__ctx.html#ad1cf1b34ac94d618897d8767cbfc7c44',1,'xran_device_ctx::sFrontHaulTxPrbMapBuffers()'],['../class_init___sys___check.html#a511190592ad97b9f7a43ad31c761ff56',1,'Init_Sys_Check::sFrontHaulTxPrbMapBuffers()']]], + ['showdata',['ShowData',['../debug_8h.html#a42574ce0fd997ec42f57353f49235176',1,'debug.h']]], + ['size',['size',['../classnlohmann_1_1basic__json.html#a0801762a3fe36fe32dca5f16e515478d',1,'nlohmann::basic_json']]], + ['size_5ftype',['size_type',['../classnlohmann_1_1basic__json.html#af38ce1af42d538f410180c265518d4f0',1,'nlohmann::basic_json']]], + ['skiptti',['SkipTti',['../structxran__device__ctx.html#abd4614a35f8f2cba7d7a671c9e545573',1,'xran_device_ctx']]], + ['sleep_5fnext_5ftick',['sleep_next_tick',['../xran__timer_8h.html#a63aaaffc2af6e6655ea0fc95078d5a04',1,'sleep_next_tick(long interval): xran_timer.c'],['../xran__timer_8c.html#a63aaaffc2af6e6655ea0fc95078d5a04',1,'sleep_next_tick(long interval): xran_timer.c']]], + ['sleep_5ftime',['SLEEP_TIME',['../ethdi_8h.html#abe0b7b2a0ec4b64b92585808a051e1fa',1,'ethdi.h']]], + ['slot_5fid',['slot_id',['../structradio__app__common__hdr.html#a02c1d0a330aa46a1bfee985080d93cd4',1,'radio_app_common_hdr']]], + ['slotid',['slotId',['../structxran__cp__header__params.html#a0eb3f725109bb1afb9094b025af26678',1,'xran_cp_header_params::slotId()'],['../structxran__cp__radioapp__common__header.html#ae287404c8c0fa4fb464abf8f6a516346',1,'xran_cp_radioapp_common_header::slotId()'],['../xran__pkt__cp_8h.html#ae287404c8c0fa4fb464abf8f6a516346',1,'slotId(): xran_pkt_cp.h']]], + ['slotiid',['slotiId',['../structxran__cb__tag.html#a88d73cc1cc6695b6e27bad4609d887e1',1,'xran_cb_tag']]], + ['slotnr',['slotNr',['../structx_r_a_n_prach_config_table_struct.html#a48f74053065142fe9cffa09c460965e1',1,'xRANPrachConfigTableStruct']]], + ['slotnrnum',['slotNrNum',['../structx_r_a_n_prach_config_table_struct.html#ad86e3c05257c9e5fbfce20441a48fdec',1,'xRANPrachConfigTableStruct']]], + ['slotnum_5fper_5fsubframe',['SLOTNUM_PER_SUBFRAME',['../xran__common_8h.html#a76e4794a93b44d5f6bd835f1640f7f4f',1,'xran_common.h']]], + ['slots_5fper_5fsystemframe',['SLOTS_PER_SYSTEMFRAME',['../xran__common_8h.html#a725b4fbf070658ef449db5718a6c9f22',1,'xran_common.h']]], + ['socket_5fdirect_5fpool',['socket_direct_pool',['../ethernet_8c.html#a9b3ca6fe25e72be5c4fd7a95f92d174f',1,'socket_direct_pool(): ethernet.c'],['../ethernet_8h.html#a9b3ca6fe25e72be5c4fd7a95f92d174f',1,'socket_direct_pool(): ethernet.c']]], + ['socket_5findirect_5fpool',['socket_indirect_pool',['../ethernet_8c.html#adb2e2732725779d167cb43cb9ecac924',1,'socket_indirect_pool(): ethernet.c'],['../ethernet_8h.html#adb2e2732725779d167cb43cb9ecac924',1,'socket_indirect_pool(): ethernet.c']]], + ['source_5fid',['source_id',['../structethdi__hdr.html#af8997c5cd725a1ef652639c2d33b7990',1,'ethdi_hdr']]], + ['srs_5fcfg',['srs_cfg',['../structxran__device__ctx.html#a0dc2f992bcfe4f620d6ce2e969986d5c',1,'xran_device_ctx']]], + ['srs_5fconf',['srs_conf',['../structxran__fh__config.html#a418f7a13335ab7fbfb840bae611ed0e5',1,'xran_fh_config']]], + ['srs_5flog_5fbuffer_5fposition',['srs_log_buffer_position',['../common_8c.html#a54295c1c12a237fac044d84d8c0ff0d9',1,'srs_log_buffer_position(): common.c'],['../common_8h.html#a54295c1c12a237fac044d84d8c0ff0d9',1,'srs_log_buffer_position(): common.c']]], + ['srs_5flog_5fbuffer_5fsize',['srs_log_buffer_size',['../common_8c.html#a9903f17a482557ec30123a63d9f52c7f',1,'srs_log_buffer_size(): common.c'],['../common_8h.html#a9903f17a482557ec30123a63d9f52c7f',1,'srs_log_buffer_size(): common.c']]], + ['srsenable',['srsEnable',['../structxran__fh__init.html#a367975ed81727c2747411672f73b2754',1,'xran_fh_init']]], + ['srssymmask',['srsSymMask',['../struct___runtime_config.html#ac8db74934b603e276bbe8d5bf14e8333',1,'_RuntimeConfig']]], + ['sse4_5f2',['SSE4_2',['../common__typedef__xran_8h.html#a4c160ac3b177a2fde8738ef01e58494ca4c63ae1c44ecd28b978e615d7773e15f',1,'common_typedef_xran.h']]], + ['sslotconfig',['sSlotConfig',['../struct___runtime_config.html#a4664e9a9005020b4a98ada2d256906e2',1,'_RuntimeConfig::sSlotConfig()'],['../structxran__frame__config.html#a4664e9a9005020b4a98ada2d256906e2',1,'xran_frame_config::sSlotConfig()']]], + ['start',['Start',['../classxran_lib_wraper.html#af9989f7ffd89540fc26371e24a29fefc',1,'xranLibWraper']]], + ['start_5fprbu',['start_prbu',['../structdata__section__hdr.html#a486aca552c11b7046ca3066ebf4241dc',1,'data_section_hdr']]], + ['start_5fsym_5fid',['start_sym_id',['../structxran__prb__map.html#afc7dda8bf6b9a76f94c88c3610d9c594',1,'xran_prb_map']]], + ['start_5ftime',['START_TIME',['../namespacemaster.html#a929ac850002f98328306afef36bad843',1,'master']]], + ['startingsym',['startingSym',['../structx_r_a_n_prach_config_table_struct.html#a232bf4a599983638ff369472234af97c',1,'xRANPrachConfigTableStruct']]], + ['startprbc',['startPrbc',['../structxran__section__info.html#a6b13285aabf8f2f4598143b2670204c1',1,'xran_section_info::startPrbc()'],['../structxran__cp__radioapp__section__header.html#a94a428ce385fe1757f5de40003b85030',1,'xran_cp_radioapp_section_header::startPrbc()'],['../structxran__prach__cp__config.html#a6b13285aabf8f2f4598143b2670204c1',1,'xran_prach_cp_config::startPrbc()'],['../xran__pkt__cp_8h.html#a94a428ce385fe1757f5de40003b85030',1,'startPrbc(): xran_pkt_cp.h']]], + ['startprbch',['startPrbch',['../structxran__cp__radioapp__section6.html#a02b265f2198407df96202e1dfdc5c7dd',1,'xran_cp_radioapp_section6::startPrbch()'],['../xran__pkt__cp_8h.html#a02b265f2198407df96202e1dfdc5c7dd',1,'startPrbch(): xran_pkt_cp.h']]], + ['startprbcl',['startPrbcl',['../structxran__cp__radioapp__section6.html#ae0ba1ea05777c0190eb5d898d177f37d',1,'xran_cp_radioapp_section6::startPrbcl()'],['../xran__pkt__cp_8h.html#ae0ba1ea05777c0190eb5d898d177f37d',1,'startPrbcl(): xran_pkt_cp.h']]], + ['startsymbolid',['startSymbolId',['../structxran__cp__radioapp__common__header.html#a158cc4eb9be778527f9afe0bf9df19e0',1,'xran_cp_radioapp_common_header::startSymbolId()'],['../xran__pkt__cp_8h.html#a158cc4eb9be778527f9afe0bf9df19e0',1,'startSymbolId(): xran_pkt_cp.h']]], + ['startsymid',['startSymId',['../structxran__section__info.html#ac54814779041bec5dcf8aec288d69b06',1,'xran_section_info::startSymId()'],['../structxran__cp__header__params.html#ac54814779041bec5dcf8aec288d69b06',1,'xran_cp_header_params::startSymId()'],['../structxran__prach__cp__config.html#ac54814779041bec5dcf8aec288d69b06',1,'xran_prach_cp_config::startSymId()']]], + ['startupconfiguration',['startupConfiguration',['../sample-app_8c.html#aa2ff8adc05857ee86fea1fcff787290b',1,'sample-app.c']]], + ['state',['state',['../common_8c.html#a9dc062894f50c14d43977487568e69bc',1,'state(): sample-app.c'],['../sample-app_8c.html#a9dc062894f50c14d43977487568e69bc',1,'state(): sample-app.c']]], + ['static_5fconst',['static_const',['../structnlohmann_1_1detail_1_1static__const.html',1,'nlohmann::detail']]], + ['std',['std',['../namespacestd.html',1,'']]], + ['stop',['Stop',['../classxran_lib_wraper.html#af7c499a1fa8e52a104500d7d01c1a280',1,'xranLibWraper']]], + ['stop_5fxran',['stop_xran',['../sample-app_8c.html#ac871776e03d4a4ae1717d2600a7f7dff',1,'sample-app.c']]], + ['string',['string',['../namespacenlohmann_1_1detail.html#aedb3045c82a17d48de0f030229adbffeab45cffe084dd3d20d928bee85e7b0f21',1,'nlohmann::detail']]], + ['string_5ft',['string_t',['../classnlohmann_1_1basic__json.html#aeacc0aa4079b56866238b8845928c2b7',1,'nlohmann::basic_json']]], + ['strtonum',['strtonum',['../structnlohmann_1_1basic__json_1_1lexer_1_1strtonum.html',1,'basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::lexer::strtonum'],['../structnlohmann_1_1basic__json_1_1lexer_1_1strtonum.html#ad1858c576c5f6050dd45cc9825a16bb9',1,'nlohmann::basic_json::lexer::strtonum::strtonum()']]], + ['sub_5fseq_5fid',['sub_seq_id',['../structecpri__seq__id.html#aaf017ad0a1905951403eb33265ffbb4c',1,'ecpri_seq_id']]], + ['subframe_5fduration_5fus',['SUBFRAME_DURATION_US',['../common_8h.html#a9a2a7fcab69aaafebda2e160cf2eb85b',1,'SUBFRAME_DURATION_US(): common.h'],['../xran__common_8h.html#a9a2a7fcab69aaafebda2e160cf2eb85b',1,'SUBFRAME_DURATION_US(): xran_common.h']]], + ['subframe_5fid',['subframe_id',['../structradio__app__common__hdr.html#a2c655c9f7a861ed572ea29f90392edda',1,'radio_app_common_hdr']]], + ['subframeid',['subframeId',['../structxran__cp__header__params.html#a45cd2998ed056e5139a76bf36053ed14',1,'xran_cp_header_params::subframeId()'],['../structxran__cp__radioapp__common__header.html#aa948cf928c529d24f8d536fb480094f2',1,'xran_cp_radioapp_common_header::subframeId()'],['../xran__pkt__cp_8h.html#aa948cf928c529d24f8d536fb480094f2',1,'subframeId(): xran_pkt_cp.h']]], + ['subframes_5fper_5fsystemframe',['SUBFRAMES_PER_SYSTEMFRAME',['../common_8h.html#a695a7a6db2c879d5a4ec04a4bc99d0e4',1,'SUBFRAMES_PER_SYSTEMFRAME(): common.h'],['../xran__common_8h.html#a695a7a6db2c879d5a4ec04a4bc99d0e4',1,'SUBFRAMES_PER_SYSTEMFRAME(): xran_common.h']]], + ['subseq_5fid',['subseq_id',['../structxran__recv__packet__info.html#a860ee826897d09d78f35d2b15085efac',1,'xran_recv_packet_info']]], + ['sulflag',['SULFlag',['../struct_f_p_g_a_phase_comp_cfg.html#a4815820879b084312800d26c1072a38c',1,'FPGAPhaseCompCfg']]], + ['sulfreshift',['SULFreShift',['../struct_f_p_g_a_phase_comp_cfg.html#a70a3677b8445208f3b3b1dc5e39c2be0',1,'FPGAPhaseCompCfg']]], + ['sw_5ffpga_5ffh_5ftotal_5fbuffer_5flen',['SW_FPGA_FH_TOTAL_BUFFER_LEN',['../sample-app_8c.html#ad5b1e2ec82b937000bd1fe89acb5384c',1,'SW_FPGA_FH_TOTAL_BUFFER_LEN(): sample-app.c'],['../xran__lib__wrap_8hpp.html#ad5b1e2ec82b937000bd1fe89acb5384c',1,'SW_FPGA_FH_TOTAL_BUFFER_LEN(): xran_lib_wrap.hpp']]], + ['sw_5ffpga_5fsegment_5fbuffer_5flen',['SW_FPGA_SEGMENT_BUFFER_LEN',['../sample-app_8c.html#ae9c34194d5ec7c9c24b680085991306c',1,'SW_FPGA_SEGMENT_BUFFER_LEN(): sample-app.c'],['../xran__lib__wrap_8hpp.html#ae9c34194d5ec7c9c24b680085991306c',1,'SW_FPGA_SEGMENT_BUFFER_LEN(): xran_lib_wrap.hpp']]], + ['sw_5ffpga_5ftotal_5fbuffer_5flen',['SW_FPGA_TOTAL_BUFFER_LEN',['../sample-app_8c.html#a7b323875aec9da8e30e082063f75b50b',1,'SW_FPGA_TOTAL_BUFFER_LEN(): sample-app.c'],['../xran__lib__wrap_8hpp.html#a7b323875aec9da8e30e082063f75b50b',1,'SW_FPGA_TOTAL_BUFFER_LEN(): xran_lib_wrap.hpp']]], + ['swap',['swap',['../classnlohmann_1_1basic__json.html#a0f6968dcb6461353787d510aaa671b61',1,'nlohmann::basic_json::swap(reference other) noexcept(std::is_nothrow_move_constructible< value_t >::value and std::is_nothrow_move_assignable< value_t >::value and std::is_nothrow_move_constructible< json_value >::value and std::is_nothrow_move_assignable< json_value >::value)'],['../classnlohmann_1_1basic__json.html#aa9099a065ca08f872f864685ee2e8227',1,'nlohmann::basic_json::swap(array_t &other)'],['../classnlohmann_1_1basic__json.html#a4427f06d587d010c62fb08021ad13612',1,'nlohmann::basic_json::swap(object_t &other)'],['../classnlohmann_1_1basic__json.html#afa2f6591635aca46d323a7e41d71c4b1',1,'nlohmann::basic_json::swap(string_t &other)'],['../namespacestd.html#a907191b7578e209391ce938e3b2afdf7',1,'std::swap()']]], + ['switch',['switch',['../gen__test_8m.html#ae7c338f9b485676bfc0ee154384d8676',1,'gen_test.m']]], + ['swxraninterfacetypeenum',['SWXRANInterfaceTypeEnum',['../classxran_lib_wraper.html#afecde4b156cd353cb29487bbb9675d46',1,'xranLibWraper::SWXRANInterfaceTypeEnum()'],['../sample-app_8c.html#afecde4b156cd353cb29487bbb9675d46',1,'SWXRANInterfaceTypeEnum(): sample-app.c']]], + ['sym_5finc',['sym_inc',['../structdata__section__hdr.html#aba23e80ad7dc1c3f7085ba3a2b4662bb',1,'data_section_hdr']]], + ['sym_5fnum',['sym_num',['../structxran__cp__rbmap__list.html#aa3855fbdf569667bde1830fe8033078a',1,'xran_cp_rbmap_list']]], + ['sym_5fota_5fcb',['sym_ota_cb',['../xran__main_8c.html#a195da46c3cb90e36da543594416cbba7',1,'sym_ota_cb(struct rte_timer *tim, void *arg, unsigned long *used_tick): xran_main.c'],['../xran__lib__wrap_8hpp.html#a6c189fbbc24f87fad24cff9cbd0e6a42',1,'sym_ota_cb(struct rte_timer *tim, void *arg): xran_lib_wrap.hpp']]], + ['sym_5fstart',['sym_start',['../structxran__cp__rbmap__list.html#a23b2201c117393dd97c63e750e211d57',1,'xran_cp_rbmap_list']]], + ['sym_5fup',['sym_up',['../structxran__device__ctx.html#ae3f1b1cbdaabdcfb693b93d75d4a9972',1,'xran_device_ctx']]], + ['sym_5fup_5ful',['sym_up_ul',['../structxran__device__ctx.html#a7986392c9b5ba31ca86b38401d940baa',1,'xran_device_ctx']]], + ['symb_5fid',['symb_id',['../structradio__app__common__hdr.html#acbbef8fd7acac33a2a461e15a43112ba',1,'radio_app_common_hdr']]], + ['symbmask',['symbMask',['../structxran__srs__config.html#a47592bac9bb3ddd09772d5385ffdd508',1,'xran_srs_config']]], + ['symbol',['symbol',['../structxran__cb__tag.html#a0a81ee27053a63e71a6c7db060562eb0',1,'xran_cb_tag']]], + ['syminc',['symInc',['../structxran__section__info.html#a52f6623d45fec4bf9c14898f7e53db34',1,'xran_section_info::symInc()'],['../structxran__cp__radioapp__section__header.html#a9f989befc2b337ff570354389880d2b6',1,'xran_cp_radioapp_section_header::symInc()'],['../structxran__cp__radioapp__section6.html#a52f6623d45fec4bf9c14898f7e53db34',1,'xran_cp_radioapp_section6::symInc()'],['../xran__pkt__cp_8h.html#a52f6623d45fec4bf9c14898f7e53db34',1,'symInc(): xran_pkt_cp.h']]], + ['sys_5fload_5ffile_5fto_5fbuff',['sys_load_file_to_buff',['../common_8c.html#a8f27f0a8b6843f5e32ecbce83d487262',1,'sys_load_file_to_buff(char *filename, char *bufname, unsigned char *pBuffer, unsigned int size, unsigned int buffers_num): common.c'],['../common_8h.html#a8f27f0a8b6843f5e32ecbce83d487262',1,'sys_load_file_to_buff(char *filename, char *bufname, unsigned char *pBuffer, unsigned int size, unsigned int buffers_num): common.c']]], + ['sys_5fsave_5fbuf_5fto_5ffile',['sys_save_buf_to_file',['../common_8c.html#acd37223937d89e77a1ccbdc6e94b38cc',1,'sys_save_buf_to_file(char *filename, char *bufname, unsigned char *pBuffer, unsigned int size, unsigned int buffers_num): common.c'],['../common_8h.html#acd37223937d89e77a1ccbdc6e94b38cc',1,'sys_save_buf_to_file(char *filename, char *bufname, unsigned char *pBuffer, unsigned int size, unsigned int buffers_num): common.c']]], + ['sys_5fsave_5fbuf_5fto_5ffile_5ftxt',['sys_save_buf_to_file_txt',['../common_8c.html#ab022cdd736a497eb5cfa7d5dcab0634c',1,'sys_save_buf_to_file_txt(char *filename, char *bufname, unsigned char *pBuffer, unsigned int size, unsigned int buffers_num): common.c'],['../common_8h.html#ab022cdd736a497eb5cfa7d5dcab0634c',1,'sys_save_buf_to_file_txt(char *filename, char *bufname, unsigned char *pBuffer, unsigned int size, unsigned int buffers_num): common.c']]], + ['system_5fcore',['system_core',['../structxran__io__cfg.html#a727bdc89e33bfc7d18dfaf166d46598a',1,'xran_io_cfg::system_core()'],['../structxran__io__loop__cfg.html#ad541922317ba6249ed0d3d0c333cfad0',1,'xran_io_loop_cfg::system_core()']]] +]; diff --git a/docs/API/search/all_14.html b/docs/API/search/all_14.html new file mode 100644 index 0000000..fb4d0ec --- /dev/null +++ b/docs/API/search/all_14.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/all_14.js b/docs/API/search/all_14.js new file mode 100644 index 0000000..fa473d2 --- /dev/null +++ b/docs/API/search/all_14.js @@ -0,0 +1,91 @@ +var searchData= +[ + ['t1a_5fmax_5fcp_5fdl',['T1a_max_cp_dl',['../struct___runtime_config.html#a6080f8ca5894be470378d6f265c1f665',1,'_RuntimeConfig::T1a_max_cp_dl()'],['../structxran__fh__init.html#a6080f8ca5894be470378d6f265c1f665',1,'xran_fh_init::T1a_max_cp_dl()']]], + ['t1a_5fmax_5fcp_5ful',['T1a_max_cp_ul',['../struct___runtime_config.html#a71254f497cb48a57b123c7f4897b7a38',1,'_RuntimeConfig::T1a_max_cp_ul()'],['../structxran__fh__init.html#a71254f497cb48a57b123c7f4897b7a38',1,'xran_fh_init::T1a_max_cp_ul()']]], + ['t1a_5fmax_5fup',['T1a_max_up',['../struct___runtime_config.html#a76ae7531da0aa8656d95c194f1e75b0f',1,'_RuntimeConfig::T1a_max_up()'],['../structxran__fh__init.html#a76ae7531da0aa8656d95c194f1e75b0f',1,'xran_fh_init::T1a_max_up()']]], + ['t1a_5fmin_5fcp_5fdl',['T1a_min_cp_dl',['../struct___runtime_config.html#a73b80929304dcde73f2c2f6d4f7448fa',1,'_RuntimeConfig::T1a_min_cp_dl()'],['../structxran__fh__init.html#a73b80929304dcde73f2c2f6d4f7448fa',1,'xran_fh_init::T1a_min_cp_dl()']]], + ['t1a_5fmin_5fcp_5ful',['T1a_min_cp_ul',['../struct___runtime_config.html#ab2d0817976952478020b3437b3dbbfc3',1,'_RuntimeConfig::T1a_min_cp_ul()'],['../structxran__fh__init.html#ab2d0817976952478020b3437b3dbbfc3',1,'xran_fh_init::T1a_min_cp_ul()']]], + ['t1a_5fmin_5fup',['T1a_min_up',['../struct___runtime_config.html#a0447175262da4e12814983c97d73ad21',1,'_RuntimeConfig::T1a_min_up()'],['../structxran__fh__init.html#a0447175262da4e12814983c97d73ad21',1,'xran_fh_init::T1a_min_up()']]], + ['t2a_5fmax_5fcp_5fdl',['T2a_max_cp_dl',['../struct___runtime_config.html#a5df6250657a91c27fa2416154ec5a609',1,'_RuntimeConfig::T2a_max_cp_dl()'],['../structxran__fh__init.html#a5df6250657a91c27fa2416154ec5a609',1,'xran_fh_init::T2a_max_cp_dl()']]], + ['t2a_5fmax_5fcp_5ful',['T2a_max_cp_ul',['../struct___runtime_config.html#a60007ed3e328b06fb7f7ff2b3a37dac5',1,'_RuntimeConfig::T2a_max_cp_ul()'],['../structxran__fh__init.html#a60007ed3e328b06fb7f7ff2b3a37dac5',1,'xran_fh_init::T2a_max_cp_ul()']]], + ['t2a_5fmax_5fup',['T2a_max_up',['../struct___runtime_config.html#af27977cbf63a8beb2fd6b1f17c1502df',1,'_RuntimeConfig::T2a_max_up()'],['../structxran__fh__init.html#af27977cbf63a8beb2fd6b1f17c1502df',1,'xran_fh_init::T2a_max_up()']]], + ['t2a_5fmin_5fcp_5fdl',['T2a_min_cp_dl',['../struct___runtime_config.html#aebed6420fb04aabce30025eec4583807',1,'_RuntimeConfig::T2a_min_cp_dl()'],['../structxran__fh__init.html#aebed6420fb04aabce30025eec4583807',1,'xran_fh_init::T2a_min_cp_dl()']]], + ['t2a_5fmin_5fcp_5ful',['T2a_min_cp_ul',['../struct___runtime_config.html#acfa0c4237b95b1dc83d19e00d6487ec0',1,'_RuntimeConfig::T2a_min_cp_ul()'],['../structxran__fh__init.html#acfa0c4237b95b1dc83d19e00d6487ec0',1,'xran_fh_init::T2a_min_cp_ul()']]], + ['t2a_5fmin_5fup',['T2a_min_up',['../struct___runtime_config.html#aac84937e634fccb665c6de923af50c0f',1,'_RuntimeConfig::T2a_min_up()'],['../structxran__fh__init.html#aac84937e634fccb665c6de923af50c0f',1,'xran_fh_init::T2a_min_up()']]], + ['ta3_5fmax',['Ta3_max',['../struct___runtime_config.html#a82517c890db705ee58767fd245193214',1,'_RuntimeConfig::Ta3_max()'],['../structxran__fh__init.html#a82517c890db705ee58767fd245193214',1,'xran_fh_init::Ta3_max()']]], + ['ta3_5fmin',['Ta3_min',['../struct___runtime_config.html#ac2e5d027408848a38879331bf54d5adf',1,'_RuntimeConfig::Ta3_min()'],['../structxran__fh__init.html#ac2e5d027408848a38879331bf54d5adf',1,'xran_fh_init::Ta3_min()']]], + ['ta4_5fmax',['Ta4_max',['../struct___runtime_config.html#a934a145ce39320896b81ac25276b24d8',1,'_RuntimeConfig::Ta4_max()'],['../structxran__fh__init.html#a934a145ce39320896b81ac25276b24d8',1,'xran_fh_init::Ta4_max()']]], + ['ta4_5fmin',['Ta4_min',['../struct___runtime_config.html#ad8a8a60941ab888de5187345ce5fc92c',1,'_RuntimeConfig::Ta4_min()'],['../structxran__fh__init.html#ad8a8a60941ab888de5187345ce5fc92c',1,'xran_fh_init::Ta4_min()']]], + ['tadv_5fcp_5fdl',['Tadv_cp_dl',['../struct___runtime_config.html#a05dca46f0128cb233e7d4f73215cc4a9',1,'_RuntimeConfig::Tadv_cp_dl()'],['../structxran__fh__init.html#a05dca46f0128cb233e7d4f73215cc4a9',1,'xran_fh_init::Tadv_cp_dl()']]], + ['tail',['tail',['../ethernet_8c.html#a255a402bc6dcd7c53876e55a8162fcb9',1,'ethernet.c']]], + ['teardown',['TearDown',['../classxran_lib_wraper.html#a931587596081ef8178c2b128facb0411',1,'xranLibWraper::TearDown()'],['../class_c__plane.html#ac4fca95dc3b93372ce7f2078baf8e8b6',1,'C_plane::TearDown()'],['../class_test_chain.html#ac4fca95dc3b93372ce7f2078baf8e8b6',1,'TestChain::TearDown()'],['../class_bfp_check.html#ac4fca95dc3b93372ce7f2078baf8e8b6',1,'BfpCheck::TearDown()'],['../class_bfp_perf.html#ac4fca95dc3b93372ce7f2078baf8e8b6',1,'BfpPerf::TearDown()'],['../class_bfp_perf_ex.html#ac4fca95dc3b93372ce7f2078baf8e8b6',1,'BfpPerfEx::TearDown()'],['../class_init___sys___check.html#ac4fca95dc3b93372ce7f2078baf8e8b6',1,'Init_Sys_Check::TearDown()'],['../class_prach_check.html#ac4fca95dc3b93372ce7f2078baf8e8b6',1,'PrachCheck::TearDown()'],['../class_prach_perf.html#ac4fca95dc3b93372ce7f2078baf8e8b6',1,'PrachPerf::TearDown()'],['../class_u__plane_check.html#ac4fca95dc3b93372ce7f2078baf8e8b6',1,'U_planeCheck::TearDown()'],['../class_u__plane_perf.html#ac4fca95dc3b93372ce7f2078baf8e8b6',1,'U_planePerf::TearDown()']]], + ['teardowntestcase',['TearDownTestCase',['../class_kernel_tests.html#aaff0dc66f57f643a49ad3dd6bcb56916',1,'KernelTests']]], + ['test_5fbuffer',['test_buffer',['../class_u__plane_check.html#a814db5f2ff5eb8cff5caf3ea1b473475',1,'U_planeCheck::test_buffer()'],['../class_u__plane_perf.html#a814db5f2ff5eb8cff5caf3ea1b473475',1,'U_planePerf::test_buffer()']]], + ['test_5feth_5fmbuf_5fpool',['test_eth_mbuf_pool',['../class_u__plane_check.html#aab306187cd86e6270f16af7fac1d0a63',1,'U_planeCheck::test_eth_mbuf_pool()'],['../class_u__plane_perf.html#aab306187cd86e6270f16af7fac1d0a63',1,'U_planePerf::test_eth_mbuf_pool()']]], + ['test_5fp',['TEST_P',['../c__plane__tests_8cc.html#a11a0b914a08e5375cae792dc6db08c7a',1,'TEST_P(C_plane, Section_Ext1): c_plane_tests.cc'],['../c__plane__tests_8cc.html#aff93cc204b54a645341363e8bc280f21',1,'TEST_P(C_plane, Section_Ext1_9bit): c_plane_tests.cc'],['../c__plane__tests_8cc.html#a8491192ecf8ad52998d66312a4b70f83',1,'TEST_P(C_plane, PacketGen): c_plane_tests.cc'],['../c__plane__tests_8cc.html#a71b8458c71026c561352ee857eb3a490',1,'TEST_P(C_plane, PacketGen_Ext): c_plane_tests.cc'],['../c__plane__tests_8cc.html#a21d05f2c6607fc534e67ed32883de81f',1,'TEST_P(C_plane, Perf): c_plane_tests.cc'],['../c__plane__tests_8cc.html#ab0ad0e23f1b51f15bd9594a24a2c438f',1,'TEST_P(C_plane, Perf_Ext): c_plane_tests.cc'],['../chain__tests_8cc.html#a6c5f599800ca755367ad7df4da60eb86',1,'TEST_P(TestChain, CPlaneDLPerf): chain_tests.cc'],['../chain__tests_8cc.html#a54a43b6c3ece3e568457002dbe5b5c1a',1,'TEST_P(TestChain, CPlaneULPerf): chain_tests.cc'],['../chain__tests_8cc.html#a2bc2178388f6edfa69905ff5f52fbcdc',1,'TEST_P(TestChain, UPlaneDLPerf): chain_tests.cc'],['../chain__tests_8cc.html#a9dc1e3a47b655cad97eed3db3cdebd92',1,'TEST_P(TestChain, APlaneDLPerf): chain_tests.cc'],['../compander__functional_8cc.html#a53f55fd621ce0edd0b50933321ae7ade',1,'TEST_P(BfpCheck, AVX512_12bit): compander_functional.cc'],['../compander__functional_8cc.html#a3351c323474adfa4b66c985141776b2f',1,'TEST_P(BfpCheck, AVX512_10bit): compander_functional.cc'],['../compander__functional_8cc.html#a05f3cac0967e0fc77f7c8e0a1f05ba82',1,'TEST_P(BfpCheck, AVX512_9bit): compander_functional.cc'],['../compander__functional_8cc.html#af62cc2e23934ba7efa6a132a26a339fe',1,'TEST_P(BfpCheck, AVX512_8bit): compander_functional.cc'],['../compander__functional_8cc.html#ae322f73cf02c6e8cfa6e8187808de25b',1,'TEST_P(BfpPerf, AVX512_8bit_compression): compander_functional.cc'],['../compander__functional_8cc.html#a10836724f09d11c2520cd68db95aeca9',1,'TEST_P(BfpPerf, AVX512_8bit_decompression): compander_functional.cc'],['../compander__functional_8cc.html#aae69c6516cb0940cc68f27bc8854078b',1,'TEST_P(BfpPerf, AVX512_9bit_compression): compander_functional.cc'],['../compander__functional_8cc.html#afaefb1e4f9068a1fd21a27ef4ecdc529',1,'TEST_P(BfpPerf, AVX512_9bit_decompression): compander_functional.cc'],['../compander__functional_8cc.html#a1d0782094c6955e4b867efff51568a26',1,'TEST_P(BfpPerf, AVX512_10bit_compression): compander_functional.cc'],['../compander__functional_8cc.html#a94e6d7fe20edfe5b4ab1dfc265b188aa',1,'TEST_P(BfpPerf, AVX512_10bit_decompression): compander_functional.cc'],['../compander__functional_8cc.html#acc81043d5db9467b97bb44076b2c119d',1,'TEST_P(BfpPerf, AVX512_12bit_compression): compander_functional.cc'],['../compander__functional_8cc.html#a3b6ae394cbf14a0bfec66e010120eba8',1,'TEST_P(BfpPerf, AVX512_12bit_decompression): compander_functional.cc'],['../compander__functional_8cc.html#a45d64e11a1ecc040577b7f22b27dde51',1,'TEST_P(BfpCheck, AVX512_sweep_xranlib): compander_functional.cc'],['../compander__functional_8cc.html#a6f2f68d309e1fe6232db3d1c760901e5',1,'TEST_P(BfpPerfEx, AVX512_Comp): compander_functional.cc'],['../compander__functional_8cc.html#a43868f8668eda22af0b7fea9a453febc',1,'TEST_P(BfpPerfEx, AVX512_DeComp): compander_functional.cc'],['../init__sys__functional_8cc.html#a9796d6da0db5312f3ddffc3c43038daf',1,'TEST_P(Init_Sys_Check, Test_Open_Close): init_sys_functional.cc'],['../init__sys__functional_8cc.html#ac2f03036711a42868a78783b735097e5',1,'TEST_P(Init_Sys_Check, Test_xran_mm_init): init_sys_functional.cc'],['../init__sys__functional_8cc.html#a8e9607426b34de712f7d450018d0dc05',1,'TEST_P(Init_Sys_Check, Test_xran_get_common_counters): init_sys_functional.cc'],['../init__sys__functional_8cc.html#a593270c79e8ce298caeb715272c65173',1,'TEST_P(Init_Sys_Check, Test_xran_get_slot_idx): init_sys_functional.cc'],['../init__sys__functional_8cc.html#a74a4819defc7dbd1cfa7e793456be743',1,'TEST_P(Init_Sys_Check, Test_xran_reg_physide_cb): init_sys_functional.cc'],['../init__sys__functional_8cc.html#a7b1dc2a3c7a3d8e2eb7f2616417feb75',1,'TEST_P(Init_Sys_Check, Test_xran_reg_sym_cb): init_sys_functional.cc'],['../init__sys__functional_8cc.html#ae5f944f4eff8e2963b83b56f208a114d',1,'TEST_P(Init_Sys_Check, Test_xran_mm_destroy): init_sys_functional.cc'],['../init__sys__functional_8cc.html#a03935019c7cdf89f54e582fbaf9bff76',1,'TEST_P(Init_Sys_Check, Test_xran_start_stop): init_sys_functional.cc'],['../prach__functional_8cc.html#a62307393b7f454a2b348ada67997b796',1,'TEST_P(PrachCheck, PacketGen): prach_functional.cc'],['../prach__performance_8cc.html#a048e029f091d3d395e44cc24b3f197ee',1,'TEST_P(PrachPerf, PacketGen): prach_performance.cc'],['../u__plane__functional_8cc.html#a17e5d82ac5aec3860b1324a80fda79ed',1,'TEST_P(U_planeCheck, Test_DLUL): u_plane_functional.cc'],['../u__plane__performance_8cc.html#a227817e595c0b079e12728d4d19364e8',1,'TEST_P(U_planePerf, Test_DL): u_plane_performance.cc']]], + ['test_5ftype',['test_type',['../class_kernel_tests.html#a4e9607ae94d1958d38388cead2e4e3bf',1,'KernelTests']]], + ['testchain',['TestChain',['../class_test_chain.html',1,'']]], + ['tests_5ftotal',['tests_total',['../gen__test_8m.html#afb68cbaf85c88c8e862646b7be42f113',1,'gen_test.m']]], + ['testvect',['testVect',['../struct___runtime_config.html#a5c81c4a16480f1214d03545216aa6a23',1,'_RuntimeConfig']]], + ['threshold',['THRESHOLD',['../xran__timer_8c.html#a4679d8ea8690999a6c6c7c0cb245c879',1,'xran_timer.c']]], + ['tick_5fper_5fusec',['tick_per_usec',['../sample-app_8c.html#acbab6f0999957daa6d05b0f286c21666',1,'sample-app.c']]], + ['time',['TIME',['../common__typedef__xran_8h.html#a078b6c12f1ac6819cecef90ab5870276',1,'common_typedef_xran.h']]], + ['timecompensation',['TIMECOMPENSATION',['../xran__timer_8c.html#a5ba5868b3cb09fc7860a1328c31280a6',1,'xran_timer.c']]], + ['timeoffset',['timeOffset',['../structxran__cp__header__params.html#aa68c277a66312b4b90819cccc055bdb7',1,'xran_cp_header_params::timeOffset()'],['../structxran__cp__radioapp__section0__header.html#aa68c277a66312b4b90819cccc055bdb7',1,'xran_cp_radioapp_section0_header::timeOffset()'],['../structxran__cp__radioapp__section3__header.html#aa68c277a66312b4b90819cccc055bdb7',1,'xran_cp_radioapp_section3_header::timeOffset()'],['../structxran__prach__cp__config.html#aa68c277a66312b4b90819cccc055bdb7',1,'xran_prach_cp_config::timeOffset()'],['../xran__pkt__cp_8h.html#aa68c277a66312b4b90819cccc055bdb7',1,'timeOffset(): xran_pkt_cp.h']]], + ['timer_5fautodetect',['timer_autodetect',['../structxran__ethdi__ctx.html#a371cecbf2b9db724d36a5c8da75c5463',1,'xran_ethdi_ctx']]], + ['timer_5fctx',['timer_ctx',['../xran__main_8c.html#aaca86e5bcbfb97d8c24c271a9332b994',1,'xran_main.c']]], + ['timer_5fget_5fticks',['timer_get_ticks',['../sample-app_8c.html#a867314baed90131ffce5918811d2f4ed',1,'sample-app.c']]], + ['timer_5fping',['timer_ping',['../structxran__ethdi__ctx.html#ae6b738dc6d77d4734678c55c56efdd9d',1,'xran_ethdi_ctx']]], + ['timer_5fresolution_5fcycles',['TIMER_RESOLUTION_CYCLES',['../xran__common_8h.html#a5416ef6e53bf3688704e5cd58180a6a0',1,'xran_common.h']]], + ['timer_5fset_5ftsc_5ffreq_5ffrom_5fclock',['timer_set_tsc_freq_from_clock',['../sample-app_8c.html#afee345d3b4282c9b66f6a88a897ca358',1,'sample-app.c']]], + ['timer_5fsync',['timer_sync',['../structxran__ethdi__ctx.html#aa7306ce280013295a40e89e29bb536a6',1,'xran_ethdi_ctx']]], + ['timer_5ftx',['timer_tx',['../structxran__ethdi__ctx.html#a46bbd0014fd7d61fb5a9cad69eb2f6b0',1,'xran_ethdi_ctx']]], + ['timing_5fadjust_5fgps_5fsecond',['timing_adjust_gps_second',['../xran__timer_8c.html#af01e1311b604e50d00b7ecce78d2ce22',1,'xran_timer.c']]], + ['timing_5fcore',['timing_core',['../structxran__io__cfg.html#aa442a227739dcff5212e5356dee54b68',1,'xran_io_cfg::timing_core()'],['../structxran__io__loop__cfg.html#ab93b5693f54489ba747cce7e0a09f84a',1,'xran_io_loop_cfg::timing_core()']]], + ['timing_5fget_5fcurrent_5fsecond',['timing_get_current_second',['../xran__timer_8h.html#abee5de4c0d88f6c17ce6b3962d097f07',1,'timing_get_current_second(void): xran_timer.c'],['../xran__timer_8c.html#abee5de4c0d88f6c17ce6b3962d097f07',1,'timing_get_current_second(void): xran_timer.c']]], + ['timing_5fget_5fdebug_5fstop',['timing_get_debug_stop',['../xran__timer_8h.html#ae12363837fbb4d5f1f7ce0485d443c77',1,'timing_get_debug_stop(void): xran_timer.c'],['../xran__timer_8c.html#ae12363837fbb4d5f1f7ce0485d443c77',1,'timing_get_debug_stop(void): xran_timer.c']]], + ['timing_5fset_5fdebug_5fstop',['timing_set_debug_stop',['../xran__timer_8h.html#aeb3df12acecd320cd4939d4203dd9a99',1,'timing_set_debug_stop(int value, int count): xran_timer.c'],['../xran__timer_8c.html#aeb3df12acecd320cd4939d4203dd9a99',1,'timing_set_debug_stop(int value, int count): xran_timer.c']]], + ['timing_5fset_5fnumerology',['timing_set_numerology',['../xran__timer_8h.html#a6c1790e87767257159038d0d98a393e6',1,'timing_set_numerology(uint8_t value): xran_timer.c'],['../xran__timer_8c.html#a6c1790e87767257159038d0d98a393e6',1,'timing_set_numerology(uint8_t value): xran_timer.c']]], + ['tmp_5faddr',['tmp_addr',['../struct___runtime_config.html#a52e0a00c08b59dd8495d5f291c928a3f',1,'_RuntimeConfig']]], + ['to',['to',['../structnlohmann_1_1basic__json_1_1lexer_1_1strtonum.html#ab6b353b5dc68fe4151d9d20edecd162c',1,'nlohmann::basic_json::lexer::strtonum']]], + ['to_5fcbor',['to_cbor',['../classnlohmann_1_1basic__json.html#a7c65575e95a173952806dbf6cb43db9d',1,'nlohmann::basic_json']]], + ['to_5fjson',['to_json',['../structnlohmann_1_1adl__serializer.html#a1e04b5fee91e47467368f279d7f7b941',1,'nlohmann::adl_serializer::to_json()'],['../namespacenlohmann_1_1detail.html#a1a804b98cbe89b7e44b698f2ca860490',1,'nlohmann::detail::to_json(BasicJsonType &j, T b) noexcept'],['../namespacenlohmann_1_1detail.html#a7356ed05cdbbb080cee80e1211e1c6c9',1,'nlohmann::detail::to_json(BasicJsonType &j, const CompatibleString &s)'],['../namespacenlohmann_1_1detail.html#a22bffdc8bc7e43af380ba2050696b230',1,'nlohmann::detail::to_json(BasicJsonType &j, FloatType val) noexcept'],['../namespacenlohmann_1_1detail.html#ae5fd66b5517b3b5a6c6b9fd9f29ba8dc',1,'nlohmann::detail::to_json(BasicJsonType &j, CompatibleNumberUnsignedType val) noexcept'],['../namespacenlohmann_1_1detail.html#a91fe576be579c8c2fdd14610605c6dd2',1,'nlohmann::detail::to_json(BasicJsonType &j, CompatibleNumberIntegerType val) noexcept'],['../namespacenlohmann_1_1detail.html#a1f83504de38ee6f440a77ae898b86a18',1,'nlohmann::detail::to_json(BasicJsonType &j, UnscopedEnumType e) noexcept'],['../namespacenlohmann_1_1detail.html#a3afebc132c5ff83f9cd160e52030fdfd',1,'nlohmann::detail::to_json(BasicJsonType &j, const CompatibleArrayType &arr)'],['../namespacenlohmann_1_1detail.html#a6fa2f784014bfc0b62d7a35d51e676c9',1,'nlohmann::detail::to_json(BasicJsonType &j, const CompatibleObjectType &arr)']]], + ['to_5fjson_5ffn',['to_json_fn',['../structnlohmann_1_1detail_1_1to__json__fn.html',1,'nlohmann::detail']]], + ['to_5fmsgpack',['to_msgpack',['../classnlohmann_1_1basic__json.html#aefc0b96a623a236cf9cc27f44c7e997e',1,'nlohmann::basic_json']]], + ['to_5fstring',['to_string',['../classnlohmann_1_1basic__json_1_1json__pointer.html#a37b45672a268d893d5c07bed4160ed0d',1,'nlohmann::basic_json::json_pointer']]], + ['total_5fmsgs_5frcvd',['Total_msgs_rcvd',['../structxran__common__counters.html#ad863eb3e9dc4a977cce64405ec2780c7',1,'xran_common_counters']]], + ['total_5fpkts',['total_pkts',['../structburst__hdr.html#addab391714c822ecc21f9b0551e2ae25',1,'burst_hdr']]], + ['totalbfweights',['totalBfWeights',['../struct___runtime_config.html#af01fc39016255fbbedd02b31bb9c7959',1,'_RuntimeConfig::totalBfWeights()'],['../structxran__fh__init.html#af01fc39016255fbbedd02b31bb9c7959',1,'xran_fh_init::totalBfWeights()']]], + ['tsc_5frecovery',['tsc_recovery',['../common_8cpp.html#a56c41cbb9de4bce25da45ecd74b46a81',1,'tsc_recovery(): common.cpp'],['../common_8hpp.html#a56c41cbb9de4bce25da45ecd74b46a81',1,'tsc_recovery(): common.cpp']]], + ['tsc_5ftick',['tsc_tick',['../common_8cpp.html#a0ab5719a5f67d4d52057b2c4550fe930',1,'tsc_tick(): common.cpp'],['../common_8hpp.html#a0ab5719a5f67d4d52057b2c4550fe930',1,'tsc_tick(): common.cpp']]], + ['tti_5fid',['tti_id',['../structxran__prb__map.html#a689e28eeb2f378d4dc5f915a30f560db',1,'xran_prb_map']]], + ['tti_5fota_5fcb',['tti_ota_cb',['../xran__main_8c.html#a9c3700d61ba446fa9b05cca2ca9018ab',1,'tti_ota_cb(struct rte_timer *tim, void *arg): xran_main.c'],['../xran__lib__wrap_8hpp.html#a9c3700d61ba446fa9b05cca2ca9018ab',1,'tti_ota_cb(struct rte_timer *tim, void *arg): xran_main.c']]], + ['tti_5fto_5fphy_5fcb',['tti_to_phy_cb',['../xran__main_8c.html#a6bec02784f5898c72bdbe64469186a45',1,'xran_main.c']]], + ['tti_5fto_5fprocess',['tti_to_process',['../structxran__timer__ctx.html#ac9a8f4c80840a80e1a27ff9776e13f66',1,'xran_timer_ctx::tti_to_process()'],['../structxran_lib_wraper_1_1xran__timer__ctx.html#ac9a8f4c80840a80e1a27ff9776e13f66',1,'xranLibWraper::xran_timer_ctx::tti_to_process()']]], + ['tticb',['ttiCb',['../structxran__fh__config.html#ac5dde77f03307e306f2a05821bc5179a',1,'xran_fh_config::ttiCb()'],['../structxran__device__ctx.html#a88a1e1ec152b7daa669176e91660aead',1,'xran_device_ctx::ttiCb()']]], + ['tticbparam',['ttiCbParam',['../structxran__fh__config.html#a61f973d7b468c5fc1df628c476509ca6',1,'xran_fh_config::ttiCbParam()'],['../structxran__device__ctx.html#ab85e177210025d9e720d2696965c5af4',1,'xran_device_ctx::TtiCbParam()']]], + ['ttiperiod',['ttiPeriod',['../struct___runtime_config.html#afe3cec6983e2e599c33fc6fe05d80002',1,'_RuntimeConfig']]], + ['tx_5fbuffer_5fsize',['tx_buffer_size',['../common_8c.html#ad23ecec0666a9c37160556488199ad5d',1,'tx_buffer_size(): common.c'],['../common_8h.html#ad23ecec0666a9c37160556488199ad5d',1,'tx_buffer_size(): common.c']]], + ['tx_5fbytes_5fcounter',['tx_bytes_counter',['../sample-app_8c.html#aea924947c3d744f2208baa8a79229f3f',1,'tx_bytes_counter(): xran_common.c'],['../xran__common_8c.html#aea924947c3d744f2208baa8a79229f3f',1,'tx_bytes_counter(): xran_common.c'],['../xran__common_8h.html#aea924947c3d744f2208baa8a79229f3f',1,'tx_bytes_counter(): xran_common.c']]], + ['tx_5fbytes_5fper_5fsec',['tx_bytes_per_sec',['../sample-app_8c.html#ad1b05d3ad049de39bc3f9bcdfdf66d1b',1,'tx_bytes_per_sec(): xran_common.c'],['../xran__common_8c.html#ad1b05d3ad049de39bc3f9bcdfdf66d1b',1,'tx_bytes_per_sec(): xran_common.c'],['../xran__common_8h.html#ad1b05d3ad049de39bc3f9bcdfdf66d1b',1,'tx_bytes_per_sec(): xran_common.c']]], + ['tx_5fcounter',['tx_counter',['../sample-app_8c.html#a633effdcb470f03cbf5aa8c9f9540ddb',1,'tx_counter(): xran_common.c'],['../xran__common_8c.html#a633effdcb470f03cbf5aa8c9f9540ddb',1,'tx_counter(): xran_common.c'],['../xran__common_8h.html#a633effdcb470f03cbf5aa8c9f9540ddb',1,'tx_counter(): xran_common.c']]], + ['tx_5fcp_5fdl_5fcb',['tx_cp_dl_cb',['../xran__main_8c.html#a4474e27c827459f3af40954b0c6f962b',1,'tx_cp_dl_cb(struct rte_timer *tim, void *arg): xran_main.c'],['../chain__tests_8cc.html#a4474e27c827459f3af40954b0c6f962b',1,'tx_cp_dl_cb(struct rte_timer *tim, void *arg): xran_main.c']]], + ['tx_5fcp_5ful_5fcb',['tx_cp_ul_cb',['../xran__main_8c.html#ab26e37a9d8915b33e29d632af88ff3a3',1,'tx_cp_ul_cb(struct rte_timer *tim, void *arg): xran_main.c'],['../chain__tests_8cc.html#ab26e37a9d8915b33e29d632af88ff3a3',1,'tx_cp_ul_cb(struct rte_timer *tim, void *arg): xran_main.c']]], + ['tx_5fdl_5fbfw_5fbuffer_5fposition',['tx_dl_bfw_buffer_position',['../classxran_lib_wraper.html#a364dd5820c1bb3fc2f760e5b6cab5b98',1,'xranLibWraper::tx_dl_bfw_buffer_position()'],['../common_8c.html#a364dd5820c1bb3fc2f760e5b6cab5b98',1,'tx_dl_bfw_buffer_position(): common.c'],['../common_8h.html#a364dd5820c1bb3fc2f760e5b6cab5b98',1,'tx_dl_bfw_buffer_position(): common.c']]], + ['tx_5fdl_5fbfw_5fbuffer_5fsize',['tx_dl_bfw_buffer_size',['../classxran_lib_wraper.html#aad7c467bc9da44318d2e8cf2f4472f17',1,'xranLibWraper::tx_dl_bfw_buffer_size()'],['../common_8c.html#aad7c467bc9da44318d2e8cf2f4472f17',1,'tx_dl_bfw_buffer_size(): common.c'],['../common_8h.html#aad7c467bc9da44318d2e8cf2f4472f17',1,'tx_dl_bfw_buffer_size(): common.c']]], + ['tx_5fmbufs',['tx_mbufs',['../structxran__device__ctx.html#a346d8b87e236cbb3056a5fb54fa44638',1,'xran_device_ctx']]], + ['tx_5fplay_5fbuffer_5fposition',['tx_play_buffer_position',['../common_8c.html#ab0ca5bc3c9f6c0b230c9ea169747a438',1,'tx_play_buffer_position(): common.c'],['../common_8h.html#ab0ca5bc3c9f6c0b230c9ea169747a438',1,'tx_play_buffer_position(): common.c']]], + ['tx_5fplay_5fbuffer_5fsize',['tx_play_buffer_size',['../common_8c.html#ac6ec5442d9ec39fac4367ad38b9d3d6a',1,'tx_play_buffer_size(): common.c'],['../common_8h.html#ac6ec5442d9ec39fac4367ad38b9d3d6a',1,'tx_play_buffer_size(): common.c']]], + ['tx_5fprach_5fplay_5fbuffer_5fposition',['tx_prach_play_buffer_position',['../common_8c.html#a28929b3487c517117e716b7d45865c88',1,'tx_prach_play_buffer_position(): common.c'],['../common_8h.html#a28929b3487c517117e716b7d45865c88',1,'tx_prach_play_buffer_position(): common.c']]], + ['tx_5fprach_5fplay_5fbuffer_5fsize',['tx_prach_play_buffer_size',['../common_8c.html#a116f357e6a56ff1a8d34d2c31691b007',1,'tx_prach_play_buffer_size(): common.c'],['../common_8h.html#a116f357e6a56ff1a8d34d2c31691b007',1,'tx_prach_play_buffer_size(): common.c']]], + ['tx_5fring',['tx_ring',['../structxran__ethdi__ctx.html#af78a2835ea5575b2e63963898d89b34f',1,'xran_ethdi_ctx']]], + ['tx_5frx_5floop_5ftime',['TX_RX_LOOP_TIME',['../ethdi_8h.html#a2b97f9f2ff76cb92d7f3831918979e56',1,'ethdi.h']]], + ['tx_5fsrs_5fplay_5fbuffer_5fposition',['tx_srs_play_buffer_position',['../common_8c.html#a7abef2666634dec9ece3f2e8de21dfb0',1,'tx_srs_play_buffer_position(): common.c'],['../common_8h.html#a7abef2666634dec9ece3f2e8de21dfb0',1,'tx_srs_play_buffer_position(): common.c']]], + ['tx_5fsrs_5fplay_5fbuffer_5fsize',['tx_srs_play_buffer_size',['../common_8c.html#a3ef30d69e5522784df0a9ead30cc9415',1,'tx_srs_play_buffer_size(): common.c'],['../common_8h.html#a3ef30d69e5522784df0a9ead30cc9415',1,'tx_srs_play_buffer_size(): common.c']]], + ['tx_5ftimer_5finterval',['TX_TIMER_INTERVAL',['../ethdi_8h.html#a9df4578d38d6affa477914e529695e10',1,'ethdi.h']]], + ['tx_5ful_5fbfw_5fbuffer_5fposition',['tx_ul_bfw_buffer_position',['../classxran_lib_wraper.html#adc7a94af3a9c52fdb09e8733264eee4a',1,'xranLibWraper::tx_ul_bfw_buffer_position()'],['../common_8c.html#adc7a94af3a9c52fdb09e8733264eee4a',1,'tx_ul_bfw_buffer_position(): common.c'],['../common_8h.html#adc7a94af3a9c52fdb09e8733264eee4a',1,'tx_ul_bfw_buffer_position(): common.c']]], + ['tx_5ful_5fbfw_5fbuffer_5fsize',['tx_ul_bfw_buffer_size',['../classxran_lib_wraper.html#a2fca7a2340a727f72d85407c5e153ed4',1,'xranLibWraper::tx_ul_bfw_buffer_size()'],['../common_8c.html#a2fca7a2340a727f72d85407c5e153ed4',1,'tx_ul_bfw_buffer_size(): common.c'],['../common_8h.html#a2fca7a2340a727f72d85407c5e153ed4',1,'tx_ul_bfw_buffer_size(): common.c']]], + ['txscheme',['txScheme',['../structxran__sectionext3__info.html#a878ff2db850e901d2c93ca36cae8f4f9',1,'xran_sectionext3_info::txScheme()'],['../structxran__cp__radioapp__section__ext3__first.html#a4a4e7cf0028066630bb73b2d58445053',1,'xran_cp_radioapp_section_ext3_first::txScheme()'],['../xran__pkt__cp_8h.html#a4a4e7cf0028066630bb73b2d58445053',1,'txScheme(): xran_pkt_cp.h']]], + ['type',['type',['../structxran__section__info.html#a1d127017fb298b889f4ba24752d08b8e',1,'xran_section_info::type()'],['../structxran__sectionext__info.html#acb5cfd209ba75c853d03f701e7f91679',1,'xran_sectionext_info::type()'],['../structxran__section__gen__info.html#acb5cfd209ba75c853d03f701e7f91679',1,'xran_section_gen_info::type()'],['../classnlohmann_1_1basic__json.html#adb8999aa40f92f1a176d8b43dc0ab25b',1,'nlohmann::basic_json::type()']]], + ['type_5fname',['type_name',['../classnlohmann_1_1basic__json.html#a99cfa952f8b8deaae2505c89507ff3cd',1,'nlohmann::basic_json']]] +]; diff --git a/docs/API/search/all_15.html b/docs/API/search/all_15.html new file mode 100644 index 0000000..8afe9a0 --- /dev/null +++ b/docs/API/search/all_15.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/all_15.js b/docs/API/search/all_15.js new file mode 100644 index 0000000..2276a05 --- /dev/null +++ b/docs/API/search/all_15.js @@ -0,0 +1,33 @@ +var searchData= +[ + ['u',['u',['../structxran__cp__radioapp__section__header.html#aaedd34aab03da5f169634cfc3aaf0e2a',1,'xran_cp_radioapp_section_header::u()'],['../xran__pkt__cp_8h.html#a6c38e7b5c31753cf9e58246d571ff250',1,'u(): xran_pkt_cp.h']]], + ['u_5flaw',['u_law',['../structcompression__params_1_1u__law.html',1,'compression_params']]], + ['u_5fplane_5ffunctional_2ecc',['u_plane_functional.cc',['../u__plane__functional_8cc.html',1,'']]], + ['u_5fplane_5fperformance_2ecc',['u_plane_performance.cc',['../u__plane__performance_8cc.html',1,'']]], + ['u_5fplanecheck',['U_planeCheck',['../class_u__plane_check.html',1,'']]], + ['u_5fplaneperf',['U_planePerf',['../class_u__plane_perf.html',1,'']]], + ['ud_5fcomp_5fhdr',['ud_comp_hdr',['../structdata__section__compression__hdr.html#a4638fbd317b5d0c464ef9483038564b0',1,'data_section_compression_hdr']]], + ['ud_5fcomp_5fmeth',['ud_comp_meth',['../structcompression__hdr.html#ae12079177feb5d2ee414356fc18473cf',1,'compression_hdr']]], + ['ud_5fiq_5fwidth',['ud_iq_width',['../structcompression__hdr.html#ab3f5c028170bd3bd241a58be8ca8da96',1,'compression_hdr']]], + ['udcomp',['udComp',['../structxran__cp__radioapp__section1__header.html#a2c555c4732301a1ffa8b9957fbe51a76',1,'xran_cp_radioapp_section1_header::udComp()'],['../structxran__cp__radioapp__section3__header.html#a2c555c4732301a1ffa8b9957fbe51a76',1,'xran_cp_radioapp_section3_header::udComp()'],['../structxran__cp__radioapp__section5__header.html#a2c555c4732301a1ffa8b9957fbe51a76',1,'xran_cp_radioapp_section5_header::udComp()'],['../xran__pkt__cp_8h.html#a2c555c4732301a1ffa8b9957fbe51a76',1,'udComp(): xran_pkt_cp.h']]], + ['udcompmeth',['udCompMeth',['../structxran__radioapp__ud_comp__header.html#a9c71fd134ce52f71b21a0a9bef99163a',1,'xran_radioapp_udComp_header::udCompMeth()'],['../xran__pkt__cp_8h.html#a9c71fd134ce52f71b21a0a9bef99163a',1,'udCompMeth(): xran_pkt_cp.h']]], + ['udiqwidth',['udIqWidth',['../structxran__radioapp__ud_comp__header.html#aa1f422e7156fc4b759197bd687beffba',1,'xran_radioapp_udComp_header::udIqWidth()'],['../xran__pkt__cp_8h.html#aa1f422e7156fc4b759197bd687beffba',1,'udIqWidth(): xran_pkt_cp.h']]], + ['ueid',['ueId',['../structxran__section__info.html#abf9a56a4808dd3eba6b3e3303e3d080a',1,'xran_section_info::ueId()'],['../structxran__cp__radioapp__section__header.html#a64c04119c39e8dbcf00f4ae22968b1eb',1,'xran_cp_radioapp_section_header::ueId()'],['../structxran__cp__radioapp__section6.html#a64c04119c39e8dbcf00f4ae22968b1eb',1,'xran_cp_radioapp_section6::ueId()'],['../xran__pkt__cp_8h.html#a64c04119c39e8dbcf00f4ae22968b1eb',1,'ueId(): xran_pkt_cp.h']]], + ['ul_5fbfw_5ffile',['ul_bfw_file',['../struct___runtime_config.html#ac84cf72167889004a12d616ad466e48e',1,'_RuntimeConfig']]], + ['ul_5fsrs_5ffile',['ul_srs_file',['../struct___runtime_config.html#a50fb35f7655e4f8581192c9ea0ce0517',1,'_RuntimeConfig']]], + ['ul_5fup_5ffull_5fslot_5fcb',['ul_up_full_slot_cb',['../xran__main_8c.html#a739e4c11ebd576733ec5fc965e7a2cc6',1,'xran_main.c']]], + ['ulaw',['uLaw',['../unioncompression__params.html#aa01efd88da34f7d6c784886bc3f69298',1,'compression_params']]], + ['ullayersperue',['UlLayersPerUe',['../struct___runtime_config.html#aba27e8723558adbd7f998a08df310ec9',1,'_RuntimeConfig']]], + ['uncvref_5ft',['uncvref_t',['../namespacenlohmann_1_1detail.html#abdf13e40e891be51aab2f16091efb71d',1,'nlohmann::detail']]], + ['unflatten',['unflatten',['../classnlohmann_1_1basic__json.html#a8d2f715c23be7e55ca35697e88fe6672',1,'nlohmann::basic_json']]], + ['unittests_2ecc',['unittests.cc',['../unittests_8cc.html',1,'']]], + ['unix_5fto_5fgps_5fseconds_5foffset',['UNIX_TO_GPS_SECONDS_OFFSET',['../xran__main_8c.html#aee8aca8f74a8a2b095a6b7bf90b9543f',1,'xran_main.c']]], + ['up_5fvlan_5ftag',['up_vlan_tag',['../struct___runtime_config.html#ae5c22bf3cd63e278914bf627dab04ce8',1,'_RuntimeConfig::up_vlan_tag()'],['../structxran__fh__init.html#ae5c22bf3cd63e278914bf627dab04ce8',1,'xran_fh_init::up_vlan_tag()']]], + ['up_5fvtag',['up_vtag',['../structxran__ethdi__ctx.html#a798a71d6d7f0176bb1fcb276811e5271',1,'xran_ethdi_ctx']]], + ['update_5fsymbol_5findex',['update_symbol_index',['../classxran_lib_wraper.html#ac4ce5a18c687ee515676e035359a1e89',1,'xranLibWraper']]], + ['update_5ftti',['update_tti',['../classxran_lib_wraper.html#a3783fbb2a26b8a0530c489850a905a38',1,'xranLibWraper']]], + ['uscs',['uScs',['../structxran__cp__radioapp__frame_structure.html#aa4ed885cdd3c67f4df8c1f6b20cc031c',1,'xran_cp_radioapp_frameStructure::uScs()'],['../xran__pkt__cp_8h.html#aa4ed885cdd3c67f4df8c1f6b20cc031c',1,'uScs(): xran_pkt_cp.h']]], + ['utcp_5ffh_5frx_5fcallback',['utcp_fh_rx_callback',['../chain__tests_8cc.html#a6862679e16a540ac01d6fd391316f648',1,'chain_tests.cc']]], + ['utcp_5ffh_5frx_5fprach_5fcallback',['utcp_fh_rx_prach_callback',['../chain__tests_8cc.html#ad67ad876d623656e1ddb3c6e22b39d5a',1,'chain_tests.cc']]], + ['u_2dplane_20xran_20packet_20definitions_20and_20functions',['U-Plane XRAN Packet definitions and functions',['../group__xran__up__pkt.html',1,'']]] +]; diff --git a/docs/API/search/all_16.html b/docs/API/search/all_16.html new file mode 100644 index 0000000..e511edb --- /dev/null +++ b/docs/API/search/all_16.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/all_16.js b/docs/API/search/all_16.js new file mode 100644 index 0000000..ef268c0 --- /dev/null +++ b/docs/API/search/all_16.js @@ -0,0 +1,11 @@ +var searchData= +[ + ['value',['value',['../structradio__app__common__hdr.html#a900b69af7d674b8db3bceae754b4955a',1,'radio_app_common_hdr::value()'],['../structnlohmann_1_1detail_1_1is__compatible__object__type__impl_3_01true_00_01_real_type_00_01_compatible_object_type_01_4.html#a615a7728e2278acb2cab50854079d7fc',1,'nlohmann::detail::is_compatible_object_type_impl< true, RealType, CompatibleObjectType >::value()'],['../structnlohmann_1_1detail_1_1is__compatible__object__type.html#afb4135e27d236d51b7a115e86f9a5a31',1,'nlohmann::detail::is_compatible_object_type::value()'],['../structnlohmann_1_1detail_1_1is__basic__json__nested__type.html#afb4135e27d236d51b7a115e86f9a5a31',1,'nlohmann::detail::is_basic_json_nested_type::value()'],['../structnlohmann_1_1detail_1_1is__compatible__array__type.html#afb4135e27d236d51b7a115e86f9a5a31',1,'nlohmann::detail::is_compatible_array_type::value()'],['../structnlohmann_1_1detail_1_1is__compatible__integer__type__impl_3_01true_00_01_real_integer_type78b0ba77f36a8c8169cdb79b01d1a4bf.html#a615a7728e2278acb2cab50854079d7fc',1,'nlohmann::detail::is_compatible_integer_type_impl< true, RealIntegerType, CompatibleNumberIntegerType >::value()'],['../structnlohmann_1_1detail_1_1is__compatible__integer__type.html#a615a7728e2278acb2cab50854079d7fc',1,'nlohmann::detail::is_compatible_integer_type::value()'],['../structnlohmann_1_1detail_1_1has__from__json.html#a5b4ee4ae6cba6bb75200ba7af1910873',1,'nlohmann::detail::has_from_json::value()'],['../structnlohmann_1_1detail_1_1has__non__default__from__json.html#a5b4ee4ae6cba6bb75200ba7af1910873',1,'nlohmann::detail::has_non_default_from_json::value()'],['../structnlohmann_1_1detail_1_1has__to__json.html#a5b4ee4ae6cba6bb75200ba7af1910873',1,'nlohmann::detail::has_to_json::value()'],['../structnlohmann_1_1detail_1_1static__const.html#a4ab5db6c35fee2e04b35b4a300d50bf1',1,'nlohmann::detail::static_const::value()'],['../classnlohmann_1_1basic__json.html#a13f9440aff453090f573a39f4713668f',1,'nlohmann::basic_json::value(const typename object_t::key_type &key, ValueType default_value) const'],['../classnlohmann_1_1basic__json.html#a47ae67764aed69ccdbf53dac54249070',1,'nlohmann::basic_json::value(const typename object_t::key_type &key, const char *default_value) const'],['../classnlohmann_1_1basic__json.html#ab2b8ceec8ed782b929dcb426bac15966',1,'nlohmann::basic_json::value(const json_pointer &ptr, ValueType default_value) const'],['../classnlohmann_1_1basic__json.html#afd2fc91538dba07614e9c1da44fafad7',1,'nlohmann::basic_json::value(const json_pointer &ptr, const char *default_value) const'],['../classnlohmann_1_1basic__json_1_1iter__impl.html#a964fb45284debd5434cd10dc6b59adab',1,'nlohmann::basic_json::iter_impl::value()'],['../classnlohmann_1_1basic__json_1_1json__reverse__iterator.html#a964fb45284debd5434cd10dc6b59adab',1,'nlohmann::basic_json::json_reverse_iterator::value()'],['../classnlohmann_1_1basic__json.html#a284abb29079a3ece0b67d67da11da441a2063c1608d6e0baf80249c42e2be5804',1,'nlohmann::basic_json::value()']]], + ['value_5ft',['value_t',['../classnlohmann_1_1basic__json.html#ace569a7a0433ec013c33c927453cb727',1,'nlohmann::basic_json::value_t()'],['../namespacenlohmann_1_1detail.html#aedb3045c82a17d48de0f030229adbffe',1,'nlohmann::detail::value_t()']]], + ['value_5ftype',['value_type',['../classnlohmann_1_1basic__json.html#a6266b89788d56d4601b357b9bf3b06d5',1,'nlohmann::basic_json::value_type()'],['../classnlohmann_1_1basic__json_1_1iter__impl.html#a2cf899dee9ae2adba7128b41ea912d6a',1,'nlohmann::basic_json::iter_impl::value_type()']]], + ['verify_5fsections',['verify_sections',['../class_c__plane.html#a2d5e33dd093724772a1447910bd34e15',1,'C_plane']]], + ['version_5fprint',['version_print',['../sample-app_8c.html#a24a2bdc164076e67087d8fa480d18728',1,'sample-app.c']]], + ['versionx',['VERSIONX',['../common_8h.html#af1b4d7e00abe98f69a2eeb9d7760c14f',1,'common.h']]], + ['vlan_5fid',['VLAN_ID',['../xran__pkt_8h.html#ac23326adfc4e624044916cc85d9bac2f',1,'xran_pkt.h']]], + ['vlan_5fpcp',['VLAN_PCP',['../xran__pkt_8h.html#ab513e295ab0fdafb45b2d30677ed9296',1,'xran_pkt.h']]] +]; diff --git a/docs/API/search/all_17.html b/docs/API/search/all_17.html new file mode 100644 index 0000000..5ca9efd --- /dev/null +++ b/docs/API/search/all_17.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/all_17.js b/docs/API/search/all_17.js new file mode 100644 index 0000000..a2d253d --- /dev/null +++ b/docs/API/search/all_17.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['w_5fdl',['W_dl',['../gen__test_8m.html#a31c813b96f83786bc7433949e002bf03',1,'gen_test.m']]], + ['w_5ful',['W_ul',['../gen__test_8m.html#aeef19cc1066ffe1cdd33b503ed85c1ea',1,'gen_test.m']]], + ['weight',['weight',['../structxran__cp__bf__attribute.html#a6327553f15198377152abe9523b68847',1,'xran_cp_bf_attribute::weight()'],['../structxran__cp__bf__precoding.html#a6327553f15198377152abe9523b68847',1,'xran_cp_bf_precoding::weight()']]], + ['what',['what',['../structmissing__config__file__exception.html#a70518905d36686ddeeb2eb3b2682f016',1,'missing_config_file_exception::what()'],['../structreading__input__file__exception.html#a70518905d36686ddeeb2eb3b2682f016',1,'reading_input_file_exception::what()']]], + ['wlog',['wlog',['../ethernet_8h.html#aa5cdbe485177843f5b1a2a2c584c0315',1,'ethernet.h']]] +]; diff --git a/docs/API/search/all_18.html b/docs/API/search/all_18.html new file mode 100644 index 0000000..069edeb --- /dev/null +++ b/docs/API/search/all_18.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/all_18.js b/docs/API/search/all_18.js new file mode 100644 index 0000000..827b98e --- /dev/null +++ b/docs/API/search/all_18.js @@ -0,0 +1,517 @@ +var searchData= +[ + ['x',['x',['../structx_r_a_n_prach_config_table_struct.html#a0f561e77fa0f040b637f4e04f6cd8078',1,'xRANPrachConfigTableStruct::x()'],['../structxran__prach__cp__config.html#a0f561e77fa0f040b637f4e04f6cd8078',1,'xran_prach_cp_config::x()']]], + ['xran2phy_5fmem_5fready',['xran2phy_mem_ready',['../structxran__device__ctx.html#a0ac55d6b8988083425a147f343c34455',1,'xran_device_ctx']]], + ['xran_5f5g_5ffronthault_5fconfig',['xran_5g_fronthault_config',['../xran__fh__o__du_8h.html#ac94e2474beef3b68521cfd391211b1be',1,'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): xran_main.c'],['../xran__main_8c.html#ac94e2474beef3b68521cfd391211b1be',1,'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): xran_main.c']]], + ['xran_5f5g_5fprach_5freq',['xran_5g_prach_req',['../xran__fh__o__du_8h.html#ab204e979de14c21d34e9b88c6c700d25',1,'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): xran_main.c'],['../xran__main_8c.html#ab204e979de14c21d34e9b88c6c700d25',1,'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): xran_main.c']]], + ['xran_5f5g_5fsrs_5freq',['xran_5g_srs_req',['../xran__fh__o__du_8h.html#a2bd01fc3432f80a787d6bf317949dd80',1,'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): xran_main.c'],['../xran__main_8c.html#a2bd01fc3432f80a787d6bf317949dd80',1,'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): xran_main.c']]], + ['xran_5fadd_5feth_5fhdr_5fvlan',['xran_add_eth_hdr_vlan',['../ethernet_8c.html#aa3e9cefbde42d6864805b4ba2a8f4c86',1,'xran_add_eth_hdr_vlan(struct ether_addr *dst, uint16_t ethertype, struct rte_mbuf *mb, uint16_t vlan_tci): ethernet.c'],['../ethernet_8h.html#aa3e9cefbde42d6864805b4ba2a8f4c86',1,'xran_add_eth_hdr_vlan(struct ether_addr *dst, uint16_t ethertype, struct rte_mbuf *mb, uint16_t vlan_tci): ethernet.c']]], + ['xran_5fadd_5fhdr_5foffset',['xran_add_hdr_offset',['../xran__fh__o__du_8h.html#a68b53cf51fb3aee4a6d8be54d540965a',1,'xran_add_hdr_offset(uint8_t *dst, int16_t compMethod): xran_main.c'],['../xran__main_8c.html#a68b53cf51fb3aee4a6d8be54d540965a',1,'xran_add_hdr_offset(uint8_t *dst, int16_t compMethod): xran_main.c']]], + ['xran_5falloc_5fsectionid',['xran_alloc_sectionid',['../xran__common_8h.html#a8546e95e2daf30058a66904e7f801723',1,'xran_alloc_sectionid(void *pHandle, uint8_t dir, uint8_t cc_id, uint8_t ant_id, uint8_t slot_id): xran_main.c'],['../xran__main_8c.html#a8546e95e2daf30058a66904e7f801723',1,'xran_alloc_sectionid(void *pHandle, uint8_t dir, uint8_t cc_id, uint8_t ant_id, uint8_t slot_id): xran_main.c']]], + ['xran_5fapp_5ffrag_2ec',['xran_app_frag.c',['../xran__app__frag_8c.html',1,'']]], + ['xran_5fapp_5ffrag_2eh',['xran_app_frag.h',['../xran__app__frag_8h.html',1,'']]], + ['xran_5fapp_5ffragment_5fpacket',['xran_app_fragment_packet',['../xran__app__frag_8c.html#a601e1216fbace8ea32a97e37df69b129',1,'xran_app_fragment_packet(struct rte_mbuf *pkt_in, struct rte_mbuf **pkts_out, uint16_t nb_pkts_out, uint16_t mtu_size, struct rte_mempool *pool_direct, struct rte_mempool *pool_indirect, struct xran_section_info *sectinfo, uint8_t *seqid): xran_app_frag.c'],['../xran__app__frag_8h.html#a601e1216fbace8ea32a97e37df69b129',1,'xran_app_fragment_packet(struct rte_mbuf *pkt_in, struct rte_mbuf **pkts_out, uint16_t nb_pkts_out, uint16_t mtu_size, struct rte_mempool *pool_direct, struct rte_mempool *pool_indirect, struct xran_section_info *sectinfo, uint8_t *seqid): xran_app_frag.c']]], + ['xran_5fappend_5fcontrol_5fsection',['xran_append_control_section',['../xran__cp__api_8c.html#ad50ae862f0707dab5e7b8e6a774fd225',1,'xran_cp_api.c']]], + ['xran_5fappend_5fradioapp_5fheader',['xran_append_radioapp_header',['../xran__cp__api_8c.html#a1261c107d1103c8bd1b3376db4aa7951',1,'xran_cp_api.c']]], + ['xran_5fappend_5fsection_5fextensions',['xran_append_section_extensions',['../xran__cp__api_8c.html#a8a6808ba5994c2ab413ee00dd56299cd',1,'xran_cp_api.c']]], + ['xran_5fbbdev_5finit',['xran_bbdev_init',['../xran__fh__o__du_8h.html#a4c62e469317040d695487f294cf9e0ba',1,'xran_fh_o_du.h']]], + ['xran_5fbbdev_5fmode_5fhw_5foff',['XRAN_BBDEV_MODE_HW_OFF',['../xran__fh__o__du_8h.html#a4c62e469317040d695487f294cf9e0baab0a570cb95560770482680552b5dc5d0',1,'xran_fh_o_du.h']]], + ['xran_5fbbdev_5fmode_5fhw_5fon',['XRAN_BBDEV_MODE_HW_ON',['../xran__fh__o__du_8h.html#a4c62e469317040d695487f294cf9e0baa444621cf5453a912cc492b1bf62c0d39',1,'xran_fh_o_du.h']]], + ['xran_5fbbdev_5fmode_5fmax',['XRAN_BBDEV_MODE_MAX',['../xran__fh__o__du_8h.html#a4c62e469317040d695487f294cf9e0baadcefd86b1065c7105f59941e8c589f09',1,'xran_fh_o_du.h']]], + ['xran_5fbbdev_5fnot_5fused',['XRAN_BBDEV_NOT_USED',['../xran__fh__o__du_8h.html#a4c62e469317040d695487f294cf9e0baaedc9957e395dca8c38c07377885b5339',1,'xran_fh_o_du.h']]], + ['xran_5fbeam_5fattribute',['XRAN_BEAM_ATTRIBUTE',['../xran__fh__o__du_8h.html#ab78adb73387ef66b18318c2425be2f27a04381c94022b91dd4d93c039dd2f87cd',1,'xran_fh_o_du.h']]], + ['xran_5fbeam_5fid_5fbased',['XRAN_BEAM_ID_BASED',['../xran__fh__o__du_8h.html#ab78adb73387ef66b18318c2425be2f27a28eb3e91604ef0f752bef0c98e48a21f',1,'xran_fh_o_du.h']]], + ['xran_5fbeam_5fweight',['XRAN_BEAM_WEIGHT',['../xran__fh__o__du_8h.html#ab78adb73387ef66b18318c2425be2f27ac65119b19d6f3b1195050fb56529e02a',1,'xran_fh_o_du.h']]], + ['xran_5fbeamforming_5ftype',['xran_beamforming_type',['../xran__fh__o__du_8h.html#ab78adb73387ef66b18318c2425be2f27',1,'xran_fh_o_du.h']]], + ['xran_5fbf_5ft_5ffrequency',['XRAN_BF_T_FREQUENCY',['../xran__fh__o__du_8h.html#a80cd33d519d5b1993e2a1de8b78b3059a459884d8e31ccd918c52f051b1b870d3',1,'xran_fh_o_du.h']]], + ['xran_5fbf_5ft_5fhybrid',['XRAN_BF_T_HYBRID',['../xran__fh__o__du_8h.html#a80cd33d519d5b1993e2a1de8b78b3059abdddd2bf1b12f6fe676edd6a56284ceb',1,'xran_fh_o_du.h']]], + ['xran_5fbf_5ft_5fmax',['XRAN_BF_T_MAX',['../xran__fh__o__du_8h.html#a80cd33d519d5b1993e2a1de8b78b3059a3173fbcf6585cebb8a2e1959d908a003',1,'xran_fh_o_du.h']]], + ['xran_5fbf_5ft_5ftime',['XRAN_BF_T_TIME',['../xran__fh__o__du_8h.html#a80cd33d519d5b1993e2a1de8b78b3059aa2fb4539eb367f9d2c8f3392a5558f1d',1,'xran_fh_o_du.h']]], + ['xran_5fbfabitwidth_5f2bit',['XRAN_BFABITWIDTH_2BIT',['../xran__cp__api_8h.html#af0c76f21d944cd4527170c37c652d388a0d26ef06d0b2c89e93e8212c429898cd',1,'xran_cp_api.h']]], + ['xran_5fbfabitwidth_5f3bit',['XRAN_BFABITWIDTH_3BIT',['../xran__cp__api_8h.html#af0c76f21d944cd4527170c37c652d388a2ed8e4c00c32cec3714c748c5cb06498',1,'xran_cp_api.h']]], + ['xran_5fbfabitwidth_5f4bit',['XRAN_BFABITWIDTH_4BIT',['../xran__cp__api_8h.html#af0c76f21d944cd4527170c37c652d388a481551fc7c2b5cc3b7cc062f4c5065ec',1,'xran_cp_api.h']]], + ['xran_5fbfabitwidth_5f5bit',['XRAN_BFABITWIDTH_5BIT',['../xran__cp__api_8h.html#af0c76f21d944cd4527170c37c652d388af8cbf731a351d09786f5057ee57b4cbc',1,'xran_cp_api.h']]], + ['xran_5fbfabitwidth_5f6bit',['XRAN_BFABITWIDTH_6BIT',['../xran__cp__api_8h.html#af0c76f21d944cd4527170c37c652d388acac54cd28f5db6b9be39d8fcaf549b1b',1,'xran_cp_api.h']]], + ['xran_5fbfabitwidth_5f7bit',['XRAN_BFABITWIDTH_7BIT',['../xran__cp__api_8h.html#af0c76f21d944cd4527170c37c652d388a2bc08da32f8ff5f97f84759965172645',1,'xran_cp_api.h']]], + ['xran_5fbfabitwidth_5f8bit',['XRAN_BFABITWIDTH_8BIT',['../xran__cp__api_8h.html#af0c76f21d944cd4527170c37c652d388aab257dc74601e31feeadbdd0182f090d',1,'xran_cp_api.h']]], + ['xran_5fbfabitwidth_5fno',['XRAN_BFABITWIDTH_NO',['../xran__cp__api_8h.html#af0c76f21d944cd4527170c37c652d388a5d445f989133cbc78fb29f9c295ee43f',1,'xran_cp_api.h']]], + ['xran_5fbfp_5fcompress_5fbfw_5ffn',['xran_bfp_compress_bfw_fn',['../xran__compression_8cpp.html#a0f2b928dc9ee0b4a12e23b1eb42ec790',1,'xran_compression.cpp']]], + ['xran_5fbfp_5fcompress_5ffn',['xran_bfp_compress_fn',['../xran__compression_8cpp.html#a509c43699fac542bbef8d2be5ee693e2',1,'xran_compression.cpp']]], + ['xran_5fbfp_5fdecompress_5ffn',['xran_bfp_decompress_fn',['../xran__compression_8cpp.html#a798850dcd04a495f0e6fb9dc80b74299',1,'xran_compression.cpp']]], + ['xran_5fbfwcompmethod_5fbeamspace',['XRAN_BFWCOMPMETHOD_BEAMSPACE',['../xran__cp__api_8h.html#a241943465db5d59b297c1401b4579687a036896de4dea687b4d28bd819e535529',1,'xran_cp_api.h']]], + ['xran_5fbfwcompmethod_5fblkfloat',['XRAN_BFWCOMPMETHOD_BLKFLOAT',['../xran__cp__api_8h.html#a241943465db5d59b297c1401b4579687ae57fd13dd77647afe0a45fd16d0d1d18',1,'xran_cp_api.h']]], + ['xran_5fbfwcompmethod_5fblkscale',['XRAN_BFWCOMPMETHOD_BLKSCALE',['../xran__cp__api_8h.html#a241943465db5d59b297c1401b4579687aa875f8d378e4505ebf4e03554bccda4e',1,'xran_cp_api.h']]], + ['xran_5fbfwcompmethod_5fmax',['XRAN_BFWCOMPMETHOD_MAX',['../xran__cp__api_8h.html#a241943465db5d59b297c1401b4579687ace72716ca3289daee97fc49c9f43bfc1',1,'xran_cp_api.h']]], + ['xran_5fbfwcompmethod_5fnone',['XRAN_BFWCOMPMETHOD_NONE',['../xran__cp__api_8h.html#a241943465db5d59b297c1401b4579687a69b09bde0a8a71540b00378a5eb917b9',1,'xran_cp_api.h']]], + ['xran_5fbfwcompmethod_5fulaw',['XRAN_BFWCOMPMETHOD_ULAW',['../xran__cp__api_8h.html#a241943465db5d59b297c1401b4579687a08c6866bf6b30f45d8c78a1acb33f6ca',1,'xran_cp_api.h']]], + ['xran_5fbm_5fallocate_5fbuffer',['xran_bm_allocate_buffer',['../xran__fh__o__du_8h.html#ae79ca138dc77d69ef692886be4e5da81',1,'xran_bm_allocate_buffer(void *pHandle, uint32_t nPoolIndex, void **ppData, void **ppCtrl): xran_main.c'],['../xran__main_8c.html#ae79ca138dc77d69ef692886be4e5da81',1,'xran_bm_allocate_buffer(void *pHandle, uint32_t nPoolIndex, void **ppData, void **ppCtrl): xran_main.c']]], + ['xran_5fbm_5ffree_5fbuffer',['xran_bm_free_buffer',['../xran__fh__o__du_8h.html#a0f904fe772b55bcfc449759a23063aa3',1,'xran_bm_free_buffer(void *pHandle, void *pData, void *pCtrl): xran_main.c'],['../xran__main_8c.html#a0f904fe772b55bcfc449759a23063aa3',1,'xran_bm_free_buffer(void *pHandle, void *pData, void *pCtrl): xran_main.c']]], + ['xran_5fbm_5finit',['xran_bm_init',['../xran__fh__o__du_8h.html#a39a9f7b5d01979eb1f8d806d6b9c50fe',1,'xran_bm_init(void *pHandle, uint32_t *pPoolIndex, uint32_t nNumberOfBuffers, uint32_t nBufferSize): xran_main.c'],['../xran__main_8c.html#a39a9f7b5d01979eb1f8d806d6b9c50fe',1,'xran_bm_init(void *pHandle, uint32_t *pPoolIndex, uint32_t nNumberOfBuffers, uint32_t nBufferSize): xran_main.c']]], + ['xran_5fbuffer_5flist',['xran_buffer_list',['../structxran__buffer__list.html',1,'']]], + ['xran_5fbuild_5fecpri_5fhdr',['xran_build_ecpri_hdr',['../xran__transport_8h.html#aa21387dfaba47c2046d4a05f50cfc768',1,'xran_build_ecpri_hdr(struct rte_mbuf *mbuf, uint8_t CC_ID, uint8_t Ant_ID, uint8_t seq_id, struct xran_ecpri_hdr **ecpri_hdr): xran_transport.c'],['../xran__transport_8c.html#aa21387dfaba47c2046d4a05f50cfc768',1,'xran_build_ecpri_hdr(struct rte_mbuf *mbuf, uint8_t CC_ID, uint8_t Ant_ID, uint8_t seq_id, struct xran_ecpri_hdr **ecpri_hdr): xran_transport.c']]], + ['xran_5fbw_5f100_5f0_5fmhz',['XRAN_BW_100_0_MHZ',['../xran__frame__struct_8c.html#a6dc2f74f96bce0cce28b65f446b76bc9a74e3adf2f47cbea3b1969d0c2abf6b6d',1,'xran_frame_struct.c']]], + ['xran_5fbw_5f10_5f0_5fmhz',['XRAN_BW_10_0_MHZ',['../xran__frame__struct_8c.html#a6dc2f74f96bce0cce28b65f446b76bc9a6962ae2a5f54f4e3ce9a149de814facd',1,'xran_frame_struct.c']]], + ['xran_5fbw_5f15_5f0_5fmhz',['XRAN_BW_15_0_MHZ',['../xran__frame__struct_8c.html#a6dc2f74f96bce0cce28b65f446b76bc9a6ad31835c019040e0e36910d47fcc516',1,'xran_frame_struct.c']]], + ['xran_5fbw_5f200_5f0_5fmhz',['XRAN_BW_200_0_MHZ',['../xran__frame__struct_8c.html#a6dc2f74f96bce0cce28b65f446b76bc9a47330264cd7945b7ec2aed5b87ebde87',1,'xran_frame_struct.c']]], + ['xran_5fbw_5f20_5f0_5fmhz',['XRAN_BW_20_0_MHZ',['../xran__frame__struct_8c.html#a6dc2f74f96bce0cce28b65f446b76bc9afb339cd770ae4e049e8771c934eb803e',1,'xran_frame_struct.c']]], + ['xran_5fbw_5f25_5f0_5fmhz',['XRAN_BW_25_0_MHZ',['../xran__frame__struct_8c.html#a6dc2f74f96bce0cce28b65f446b76bc9a04f20811e9e1a6fadba19b332f363d01',1,'xran_frame_struct.c']]], + ['xran_5fbw_5f30_5f0_5fmhz',['XRAN_BW_30_0_MHZ',['../xran__frame__struct_8c.html#a6dc2f74f96bce0cce28b65f446b76bc9a46a890a929d9a17917fb95cfaed14d77',1,'xran_frame_struct.c']]], + ['xran_5fbw_5f400_5f0_5fmhz',['XRAN_BW_400_0_MHZ',['../xran__frame__struct_8c.html#a6dc2f74f96bce0cce28b65f446b76bc9ae5c86bacab2727a2aefd1ebede8b50bf',1,'xran_frame_struct.c']]], + ['xran_5fbw_5f40_5f0_5fmhz',['XRAN_BW_40_0_MHZ',['../xran__frame__struct_8c.html#a6dc2f74f96bce0cce28b65f446b76bc9a140d2813310b9a09102560d53c574f5d',1,'xran_frame_struct.c']]], + ['xran_5fbw_5f50_5f0_5fmhz',['XRAN_BW_50_0_MHZ',['../xran__frame__struct_8c.html#a6dc2f74f96bce0cce28b65f446b76bc9a0a6780597350044ee01ce150b95b9d13',1,'xran_frame_struct.c']]], + ['xran_5fbw_5f5_5f0_5fmhz',['XRAN_BW_5_0_MHZ',['../xran__frame__struct_8c.html#a6dc2f74f96bce0cce28b65f446b76bc9af1715c0daef0f54811ab8a87f42742ee',1,'xran_frame_struct.c']]], + ['xran_5fbw_5f60_5f0_5fmhz',['XRAN_BW_60_0_MHZ',['../xran__frame__struct_8c.html#a6dc2f74f96bce0cce28b65f446b76bc9a3d0d107fb6cbe02dd80119161f686d3e',1,'xran_frame_struct.c']]], + ['xran_5fbw_5f70_5f0_5fmhz',['XRAN_BW_70_0_MHZ',['../xran__frame__struct_8c.html#a6dc2f74f96bce0cce28b65f446b76bc9af4a58d303ddb79d4204b118b9c913169',1,'xran_frame_struct.c']]], + ['xran_5fbw_5f80_5f0_5fmhz',['XRAN_BW_80_0_MHZ',['../xran__frame__struct_8c.html#a6dc2f74f96bce0cce28b65f446b76bc9af8bd3316418b620a4faed776b3526060',1,'xran_frame_struct.c']]], + ['xran_5fbw_5f90_5f0_5fmhz',['XRAN_BW_90_0_MHZ',['../xran__frame__struct_8c.html#a6dc2f74f96bce0cce28b65f446b76bc9ad49cca1191fc91dd0e54717304dd7526',1,'xran_frame_struct.c']]], + ['xran_5fcallback_5fsym_5ffn',['xran_callback_sym_fn',['../xran__fh__o__du_8h.html#ad2e55b4fa82ed8c7f00e083b0406c6c8',1,'xran_fh_o_du.h']]], + ['xran_5fcategory',['xran_category',['../xran__fh__o__du_8h.html#abf0211a253f5881ebad3910cef98d30e',1,'xran_fh_o_du.h']]], + ['xran_5fcategory_5fa',['XRAN_CATEGORY_A',['../xran__fh__o__du_8h.html#abf0211a253f5881ebad3910cef98d30ea25cae7703b653209b61647fa65ac7e9f',1,'xran_fh_o_du.h']]], + ['xran_5fcategory_5fb',['XRAN_CATEGORY_B',['../xran__fh__o__du_8h.html#abf0211a253f5881ebad3910cef98d30ea6f7ea23328e0189a3c4879d7fa0d3749',1,'xran_fh_o_du.h']]], + ['xran_5fcategory_5fmax',['XRAN_CATEGORY_MAX',['../xran__fh__o__du_8h.html#abf0211a253f5881ebad3910cef98d30ea9d20ba705f8c8fa5fca2ac5dfb10c561',1,'xran_fh_o_du.h']]], + ['xran_5fcb_5ffull_5fslot_5frx',['XRAN_CB_FULL_SLOT_RX',['../xran__fh__o__du_8h.html#a8eb67099ddcb1b5877a494edfd450d24a1e3bbfc0078205779b22c99889f927af',1,'xran_fh_o_du.h']]], + ['xran_5fcb_5fhalf_5fslot_5frx',['XRAN_CB_HALF_SLOT_RX',['../xran__fh__o__du_8h.html#a8eb67099ddcb1b5877a494edfd450d24a75d1b6240b461efda58c8e06e8e9f6d2',1,'xran_fh_o_du.h']]], + ['xran_5fcb_5fmax',['XRAN_CB_MAX',['../xran__fh__o__du_8h.html#a8eb67099ddcb1b5877a494edfd450d24ae94002de5bb212ba3d5d0d761ab8149d',1,'xran_fh_o_du.h']]], + ['xran_5fcb_5ftag',['xran_cb_tag',['../structxran__cb__tag.html',1,'']]], + ['xran_5fcb_5ftti',['XRAN_CB_TTI',['../xran__fh__o__du_8h.html#a8eb67099ddcb1b5877a494edfd450d24ae2863e9abb188c74c5e36966396988e3',1,'xran_fh_o_du.h']]], + ['xran_5fcc_5fhandle_5ft',['xran_cc_handle_t',['../xran__fh__o__du_8h.html#afe623da85d4542bce592f333046e2c81',1,'xran_fh_o_du.h']]], + ['xran_5fclose',['xran_close',['../xran__fh__o__du_8h.html#a2f8866c9d6536a56e4d8232b8c45808b',1,'xran_close(void *pHandle): xran_main.c'],['../xran__main_8c.html#a2f8866c9d6536a56e4d8232b8c45808b',1,'xran_close(void *pHandle): xran_main.c']]], + ['xran_5fcommon_2ec',['xran_common.c',['../xran__common_8c.html',1,'']]], + ['xran_5fcommon_2eh',['xran_common.h',['../xran__common_8h.html',1,'']]], + ['xran_5fcommon_5fcounters',['xran_common_counters',['../structxran__common__counters.html',1,'']]], + ['xran_20packet_20definitions_20and_20functions',['XRAN Packet definitions and functions',['../group__xran__common__pkt.html',1,'']]], + ['xran_5fcompmethod_5fblkfloat',['XRAN_COMPMETHOD_BLKFLOAT',['../xran__fh__o__du_8h.html#afc082593977ad91f3dcdd2175cb74615a91815a9c09cf9e8bc646b51efef13c28',1,'xran_fh_o_du.h']]], + ['xran_5fcompmethod_5fblkscale',['XRAN_COMPMETHOD_BLKSCALE',['../xran__fh__o__du_8h.html#afc082593977ad91f3dcdd2175cb74615abb1f75bf59f6240e8bb007f1baca8b76',1,'xran_fh_o_du.h']]], + ['xran_5fcompmethod_5fmax',['XRAN_COMPMETHOD_MAX',['../xran__fh__o__du_8h.html#afc082593977ad91f3dcdd2175cb74615a52b87e9b516e0c85522a8c2cd21b4fae',1,'xran_fh_o_du.h']]], + ['xran_5fcompmethod_5fmodulation',['XRAN_COMPMETHOD_MODULATION',['../xran__fh__o__du_8h.html#afc082593977ad91f3dcdd2175cb74615a9f74b93c96dd056e192cbe2295d0e33c',1,'xran_fh_o_du.h']]], + ['xran_5fcompmethod_5fnone',['XRAN_COMPMETHOD_NONE',['../xran__fh__o__du_8h.html#afc082593977ad91f3dcdd2175cb74615a7fbf705170e00d2ce3e838fa9826ca8d',1,'xran_fh_o_du.h']]], + ['xran_5fcompmethod_5fulaw',['XRAN_COMPMETHOD_ULAW',['../xran__fh__o__du_8h.html#afc082593977ad91f3dcdd2175cb74615a1b9e420d95dba65260f772a83acdf713',1,'xran_fh_o_du.h']]], + ['xran_5fcomponent_5fcarriers_5fmax',['XRAN_COMPONENT_CARRIERS_MAX',['../xran__fh__o__du_8h.html#ad366e06c49d56ecfe336917a71236554',1,'xran_fh_o_du.h']]], + ['xran_5fcompose_5fcid',['xran_compose_cid',['../xran__transport_8h.html#ae834080139ba785f1a3ac5781bf2ec88',1,'xran_compose_cid(uint8_t CU_Port_ID, uint8_t BandSector_ID, uint8_t CC_ID, uint8_t Ant_ID): xran_transport.c'],['../xran__transport_8c.html#ae834080139ba785f1a3ac5781bf2ec88',1,'xran_compose_cid(uint8_t CU_Port_ID, uint8_t BandSector_ID, uint8_t CC_ID, uint8_t Ant_ID): xran_transport.c']]], + ['xran_5fcompression_2ecpp',['xran_compression.cpp',['../xran__compression_8cpp.html',1,'']]], + ['xran_5fcompression_2eh',['xran_compression.h',['../xran__compression_8h.html',1,'']]], + ['xran_5fcompression_2ehpp',['xran_compression.hpp',['../xran__compression_8hpp.html',1,'']]], + ['xran_5fcompression_5fmethod',['xran_compression_method',['../xran__fh__o__du_8h.html#afc082593977ad91f3dcdd2175cb74615',1,'xran_fh_o_du.h']]], + ['xran_5fconvert_5fbfwiqwidth',['XRAN_CONVERT_BFWIQWIDTH',['../xran__cp__api_8h.html#abc1efb8cd57478741ed448abe5657af1',1,'xran_cp_api.h']]], + ['xran_5fconvert_5fiqwidth',['XRAN_CONVERT_IQWIDTH',['../xran__cp__api_8h.html#a87f4d003bb899541f97db308e63e886a',1,'xran_cp_api.h']]], + ['xran_5fconvert_5fnumprbc',['XRAN_CONVERT_NUMPRBC',['../xran__cp__api_8h.html#ab857f37965e53c6fba1f143b4071eb2c',1,'xran_cp_api.h']]], + ['xran_5fcp_5fadd_5fmultisection_5finfo',['xran_cp_add_multisection_info',['../xran__cp__api_8h.html#ae5d69f1c437b336ec274f5e1ab8e2e30',1,'xran_cp_add_multisection_info(void *pHandle, uint8_t cc_id, uint8_t ruport_id, uint8_t ctx_id, struct xran_cp_gen_params *gen_info): xran_cp_api.c'],['../xran__cp__api_8c.html#ae5d69f1c437b336ec274f5e1ab8e2e30',1,'xran_cp_add_multisection_info(void *pHandle, uint8_t cc_id, uint8_t ruport_id, uint8_t ctx_id, struct xran_cp_gen_params *gen_info): xran_cp_api.c']]], + ['xran_5fcp_5fadd_5fsection_5finfo',['xran_cp_add_section_info',['../xran__cp__api_8h.html#a2a349ad9adaec2cfd7f88e791d451c5e',1,'xran_cp_add_section_info(void *pHandle, uint8_t dir, uint8_t cc_id, uint8_t ruport_id, uint8_t ctx_id, struct xran_section_info *info): xran_cp_api.c'],['../xran__cp__api_8c.html#a2a349ad9adaec2cfd7f88e791d451c5e',1,'xran_cp_add_section_info(void *pHandle, uint8_t dir, uint8_t cc_id, uint8_t ruport_id, uint8_t ctx_id, struct xran_section_info *info): xran_cp_api.c']]], + ['xran_5fcp_5fapi_2ec',['xran_cp_api.c',['../xran__cp__api_8c.html',1,'']]], + ['xran_5fcp_5fapi_2eh',['xran_cp_api.h',['../xran__cp__api_8h.html',1,'']]], + ['xran_5fcp_5fbf_5fattribute',['xran_cp_bf_attribute',['../structxran__cp__bf__attribute.html',1,'']]], + ['xran_5fcp_5fbf_5fprecoding',['xran_cp_bf_precoding',['../structxran__cp__bf__precoding.html',1,'']]], + ['xran_5fcp_5fbf_5fweight',['xran_cp_bf_weight',['../structxran__cp__bf__weight.html',1,'']]], + ['xran_5fcp_5fbfa_5fbitwidth',['xran_cp_bfa_bitwidth',['../xran__cp__api_8h.html#af0c76f21d944cd4527170c37c652d388',1,'xran_cp_api.h']]], + ['xran_5fcp_5fbfw_5fcompression_5fmethod',['xran_cp_bfw_compression_method',['../xran__cp__api_8h.html#a241943465db5d59b297c1401b4579687',1,'xran_cp_api.h']]], + ['xran_5fcp_5fcreate_5fand_5fsend_5fsection',['xran_cp_create_and_send_section',['../xran__main_8c.html#a66ed2e3f4cefcfdd71841c152c80aa20',1,'xran_main.c']]], + ['xran_5fcp_5ffftsize',['xran_cp_fftsize',['../xran__cp__api_8h.html#a36acab66b2e66a57a07491b9bcf042aa',1,'xran_cp_api.h']]], + ['xran_5fcp_5ffilterindex',['xran_cp_filterindex',['../xran__cp__api_8h.html#ae51812e2dae7d8776b443f818f277d5b',1,'xran_cp_api.h']]], + ['xran_5fcp_5ffind_5fsection_5finfo',['xran_cp_find_section_info',['../xran__cp__api_8h.html#a717d00904ede832e69fe4f3114a96563',1,'xran_cp_find_section_info(void *pHandle, uint8_t dir, uint8_t cc_id, uint8_t ruport_id, uint8_t ctx_id, uint16_t section_id): xran_cp_api.c'],['../xran__cp__api_8c.html#a717d00904ede832e69fe4f3114a96563',1,'xran_cp_find_section_info(void *pHandle, uint8_t dir, uint8_t cc_id, uint8_t ruport_id, uint8_t ctx_id, uint16_t section_id): xran_cp_api.c']]], + ['xran_5fcp_5ffree_5fsectiondb',['xran_cp_free_sectiondb',['../xran__cp__api_8h.html#a965fc18e61438182b0ae70809b68fb23',1,'xran_cp_free_sectiondb(void *pHandle): xran_cp_api.c'],['../xran__cp__api_8c.html#a965fc18e61438182b0ae70809b68fb23',1,'xran_cp_free_sectiondb(void *pHandle): xran_cp_api.c']]], + ['xran_5fcp_5fgen_5fparams',['xran_cp_gen_params',['../structxran__cp__gen__params.html',1,'']]], + ['xran_5fcp_5fgetsize_5fsection_5finfo',['xran_cp_getsize_section_info',['../xran__cp__api_8h.html#aacba15717a11e5218541a25674a78bb0',1,'xran_cp_getsize_section_info(void *pHandle, uint8_t dir, uint8_t cc_id, uint8_t ruport_id, uint8_t ctx_id): xran_cp_api.c'],['../xran__cp__api_8c.html#a8a0777a40a92869e6b3772feae416db0',1,'xran_cp_getsize_section_info(void *pHandle, uint8_t dir, uint8_t cc_id, uint8_t ruport_id, uint8_t ctx_id): xran_cp_api.c']]], + ['xran_5fcp_5fheader_5fparams',['xran_cp_header_params',['../structxran__cp__header__params.html',1,'']]], + ['xran_5fcp_5finit_5fsectiondb',['xran_cp_init_sectiondb',['../xran__cp__api_8h.html#a3ca98b2a49501149a7b5baf9174897d8',1,'xran_cp_init_sectiondb(void *pHandle): xran_cp_api.c'],['../xran__cp__api_8c.html#a3ca98b2a49501149a7b5baf9174897d8',1,'xran_cp_init_sectiondb(void *pHandle): xran_cp_api.c']]], + ['xran_5fcp_5fiterate_5fsection_5finfo',['xran_cp_iterate_section_info',['../xran__cp__api_8h.html#aef16da48f3d30626c31dfeff9d8301fa',1,'xran_cp_iterate_section_info(void *pHandle, uint8_t dir, uint8_t cc_id, uint8_t ruport_id, uint8_t ctx_id, uint32_t *next): xran_cp_api.c'],['../xran__cp__api_8c.html#aef16da48f3d30626c31dfeff9d8301fa',1,'xran_cp_iterate_section_info(void *pHandle, uint8_t dir, uint8_t cc_id, uint8_t ruport_id, uint8_t ctx_id, uint32_t *next): xran_cp_api.c']]], + ['xran_5fcp_5fpopulate_5fsection_5fext_5f1',['xran_cp_populate_section_ext_1',['../xran__cp__api_8h.html#afa26200d2578ae0a20cc197b6eab3640',1,'xran_cp_populate_section_ext_1(int8_t *p_ext1_dst, uint16_t ext1_dst_len, int16_t *p_bfw_iq_src, uint16_t rbNumber, uint16_t bfwNumber, uint8_t bfwiqWidth, uint8_t bfwCompMeth): xran_cp_api.c'],['../xran__cp__api_8c.html#a848d22f9f7e5f493782bf8a9bfdb8f3a',1,'xran_cp_populate_section_ext_1(int8_t *p_ext1_dst, uint16_t ext1_dst_len, int16_t *p_bfw_iq_src, uint16_t rbNum, uint16_t bfwNumPerRb, uint8_t bfwiqWidth, uint8_t bfwCompMeth): xran_cp_api.c']]], + ['xran_5fcp_5fradioapp_5fcommon_5fheader',['xran_cp_radioapp_common_header',['../structxran__cp__radioapp__common__header.html',1,'']]], + ['xran_5fcp_5fradioapp_5fframestructure',['xran_cp_radioapp_frameStructure',['../structxran__cp__radioapp__frame_structure.html',1,'']]], + ['xran_5fcp_5fradioapp_5fsection0',['xran_cp_radioapp_section0',['../structxran__cp__radioapp__section0.html',1,'']]], + ['xran_5fcp_5fradioapp_5fsection0_5fheader',['xran_cp_radioapp_section0_header',['../structxran__cp__radioapp__section0__header.html',1,'']]], + ['xran_5fcp_5fradioapp_5fsection1',['xran_cp_radioapp_section1',['../structxran__cp__radioapp__section1.html',1,'']]], + ['xran_5fcp_5fradioapp_5fsection1_5fheader',['xran_cp_radioapp_section1_header',['../structxran__cp__radioapp__section1__header.html',1,'']]], + ['xran_5fcp_5fradioapp_5fsection3',['xran_cp_radioapp_section3',['../structxran__cp__radioapp__section3.html',1,'']]], + ['xran_5fcp_5fradioapp_5fsection3_5fheader',['xran_cp_radioapp_section3_header',['../structxran__cp__radioapp__section3__header.html',1,'']]], + ['xran_5fcp_5fradioapp_5fsection5',['xran_cp_radioapp_section5',['../structxran__cp__radioapp__section5.html',1,'']]], + ['xran_5fcp_5fradioapp_5fsection5_5fheader',['xran_cp_radioapp_section5_header',['../structxran__cp__radioapp__section5__header.html',1,'']]], + ['xran_5fcp_5fradioapp_5fsection6',['xran_cp_radioapp_section6',['../structxran__cp__radioapp__section6.html',1,'']]], + ['xran_5fcp_5fradioapp_5fsection6_5fheader',['xran_cp_radioapp_section6_header',['../structxran__cp__radioapp__section6__header.html',1,'']]], + ['xran_5fcp_5fradioapp_5fsection7_5fheader',['xran_cp_radioapp_section7_header',['../structxran__cp__radioapp__section7__header.html',1,'']]], + ['xran_5fcp_5fradioapp_5fsection_5fext1',['xran_cp_radioapp_section_ext1',['../structxran__cp__radioapp__section__ext1.html',1,'']]], + ['xran_5fcp_5fradioapp_5fsection_5fext2',['xran_cp_radioapp_section_ext2',['../structxran__cp__radioapp__section__ext2.html',1,'']]], + ['xran_5fcp_5fradioapp_5fsection_5fext3_5ffirst',['xran_cp_radioapp_section_ext3_first',['../structxran__cp__radioapp__section__ext3__first.html',1,'']]], + ['xran_5fcp_5fradioapp_5fsection_5fext3_5fnon_5ffirst',['xran_cp_radioapp_section_ext3_non_first',['../structxran__cp__radioapp__section__ext3__non__first.html',1,'']]], + ['xran_5fcp_5fradioapp_5fsection_5fext4',['xran_cp_radioapp_section_ext4',['../structxran__cp__radioapp__section__ext4.html',1,'']]], + ['xran_5fcp_5fradioapp_5fsection_5fext5',['xran_cp_radioapp_section_ext5',['../structxran__cp__radioapp__section__ext5.html',1,'']]], + ['xran_5fcp_5fradioapp_5fsection_5fext_5fhdr',['xran_cp_radioapp_section_ext_hdr',['../structxran__cp__radioapp__section__ext__hdr.html',1,'']]], + ['xran_5fcp_5fradioapp_5fsection_5fheader',['xran_cp_radioapp_section_header',['../structxran__cp__radioapp__section__header.html',1,'']]], + ['xran_5fcp_5frbindicator',['xran_cp_rbindicator',['../xran__cp__api_8h.html#a1087eb8c21d4b4e104b12a056ff65553',1,'xran_cp_api.h']]], + ['xran_5fcp_5frbmap_5flist',['xran_cp_rbmap_list',['../structxran__cp__rbmap__list.html',1,'']]], + ['xran_5fcp_5freset_5fsection_5finfo',['xran_cp_reset_section_info',['../xran__cp__api_8h.html#a3d9c3e2adf0acd0763dbb0c8e8c72f11',1,'xran_cp_reset_section_info(void *pHandle, uint8_t dir, uint8_t cc_id, uint8_t ruport_id, uint8_t ctx_id): xran_cp_api.c'],['../xran__cp__api_8c.html#a3d9c3e2adf0acd0763dbb0c8e8c72f11',1,'xran_cp_reset_section_info(void *pHandle, uint8_t dir, uint8_t cc_id, uint8_t ruport_id, uint8_t ctx_id): xran_cp_api.c']]], + ['xran_5fcp_5fsectionextcmd',['xran_cp_sectionextcmd',['../xran__cp__api_8h.html#aa8ad3a412a8007bef79fb6ff224fc977',1,'xran_cp_api.h']]], + ['xran_5fcp_5fsectionextcmd_5f0',['XRAN_CP_SECTIONEXTCMD_0',['../xran__cp__api_8h.html#aa8ad3a412a8007bef79fb6ff224fc977ade744d9dc1b89a8e912564d6cd0e0ea5',1,'xran_cp_api.h']]], + ['xran_5fcp_5fsectionextcmd_5f1',['XRAN_CP_SECTIONEXTCMD_1',['../xran__cp__api_8h.html#aa8ad3a412a8007bef79fb6ff224fc977a32fbc3ce682df2f044ceb33dcc1c3e77',1,'xran_cp_api.h']]], + ['xran_5fcp_5fsectionextcmd_5f2',['XRAN_CP_SECTIONEXTCMD_2',['../xran__cp__api_8h.html#aa8ad3a412a8007bef79fb6ff224fc977aa51e4f2fde3e58c4cf60033529779e54',1,'xran_cp_api.h']]], + ['xran_5fcp_5fsectionextcmd_5f3',['XRAN_CP_SECTIONEXTCMD_3',['../xran__cp__api_8h.html#aa8ad3a412a8007bef79fb6ff224fc977a63cd3bfd8691b1633bacfd3cf9d9546d',1,'xran_cp_api.h']]], + ['xran_5fcp_5fsectionextcmd_5f4',['XRAN_CP_SECTIONEXTCMD_4',['../xran__cp__api_8h.html#aa8ad3a412a8007bef79fb6ff224fc977a0837b73911763ea972db60ead94d7c15',1,'xran_cp_api.h']]], + ['xran_5fcp_5fsectionextcmd_5f5',['XRAN_CP_SECTIONEXTCMD_5',['../xran__cp__api_8h.html#aa8ad3a412a8007bef79fb6ff224fc977aaea21d0be8d5ee905837f26a28c316a9',1,'xran_cp_api.h']]], + ['xran_5fcp_5fsectionextcmd_5fmax',['XRAN_CP_SECTIONEXTCMD_MAX',['../xran__cp__api_8h.html#aa8ad3a412a8007bef79fb6ff224fc977ac08c14037e08ed6581c6251f93ecfcab',1,'xran_cp_api.h']]], + ['xran_5fcp_5fsectiontype',['xran_cp_sectiontype',['../xran__cp__api_8h.html#a6e8f1d76afde95b2d85b1fd99aaa1610',1,'xran_cp_api.h']]], + ['xran_5fcp_5fsectiontype_5f0',['XRAN_CP_SECTIONTYPE_0',['../xran__cp__api_8h.html#a6e8f1d76afde95b2d85b1fd99aaa1610a0afad447e78f05813dd3ec3e378c7edd',1,'xran_cp_api.h']]], + ['xran_5fcp_5fsectiontype_5f1',['XRAN_CP_SECTIONTYPE_1',['../xran__cp__api_8h.html#a6e8f1d76afde95b2d85b1fd99aaa1610a1f3289201658ac2a09203c4fb974b1e7',1,'xran_cp_api.h']]], + ['xran_5fcp_5fsectiontype_5f3',['XRAN_CP_SECTIONTYPE_3',['../xran__cp__api_8h.html#a6e8f1d76afde95b2d85b1fd99aaa1610a80bcc2d7d7aff5e850d26892e703c637',1,'xran_cp_api.h']]], + ['xran_5fcp_5fsectiontype_5f5',['XRAN_CP_SECTIONTYPE_5',['../xran__cp__api_8h.html#a6e8f1d76afde95b2d85b1fd99aaa1610aef4c60356367eca22835d6905367c532',1,'xran_cp_api.h']]], + ['xran_5fcp_5fsectiontype_5f6',['XRAN_CP_SECTIONTYPE_6',['../xran__cp__api_8h.html#a6e8f1d76afde95b2d85b1fd99aaa1610ae6f2c09491abd9b5ddf176281f5fc901',1,'xran_cp_api.h']]], + ['xran_5fcp_5fsectiontype_5f7',['XRAN_CP_SECTIONTYPE_7',['../xran__cp__api_8h.html#a6e8f1d76afde95b2d85b1fd99aaa1610a99cb6565a1f64c92f624b3e036d810bb',1,'xran_cp_api.h']]], + ['xran_5fcp_5fsectiontype_5fmax',['XRAN_CP_SECTIONTYPE_MAX',['../xran__cp__api_8h.html#a6e8f1d76afde95b2d85b1fd99aaa1610a3737ed931eee1f2165a21b1bbcd5da78',1,'xran_cp_api.h']]], + ['xran_5fcp_5fsubcarrierspacing',['xran_cp_subcarrierspacing',['../xran__cp__api_8h.html#ab5fcc18cec14a3550b834bdf8f2d5797',1,'xran_cp_api.h']]], + ['xran_5fcp_5fsymbolnuminc',['xran_cp_symbolnuminc',['../xran__cp__api_8h.html#a056d791208720148306b686856cd36b0',1,'xran_cp_api.h']]], + ['xran_5fcp_5fvf',['XRAN_CP_VF',['../xran__fh__o__du_8h.html#a185d8ae20c697568878935f0a260227aabadad61426458852f6c89f1a74b03c1a',1,'xran_fh_o_du.h']]], + ['xran_5fcpu_5fle_5fbyte_5forder',['XRAN_CPU_LE_BYTE_ORDER',['../xran__fh__o__du_8h.html#ab5ce6839bae2968c79930a0bfa17f4d8ae0b667dc04b0baacb15bc9c40b776098',1,'xran_fh_o_du.h']]], + ['xran_5fcreate_5fcb',['xran_create_cb',['../xran__common_8c.html#a0bca0820bfef3a6c277c47490179e065',1,'xran_create_cb(XranSymCallbackFn cb_fn, void *cb_data): xran_common.c'],['../xran__common_8h.html#a0bca0820bfef3a6c277c47490179e065',1,'xran_create_cb(XranSymCallbackFn cb_fn, void *cb_data): xran_common.c']]], + ['xran_5fdecompose_5fcid',['xran_decompose_cid',['../xran__transport_8h.html#ab08a85b6527f45a9ba22d25061a96a3c',1,'xran_decompose_cid(uint16_t cid, struct xran_eaxc_info *result): xran_transport.c'],['../xran__transport_8c.html#ab08a85b6527f45a9ba22d25061a96a3c',1,'xran_decompose_cid(uint16_t cid, struct xran_eaxc_info *result): xran_transport.c']]], + ['xran_5fdestroy_5fcb',['xran_destroy_cb',['../xran__common_8c.html#aac0cae66657ea84e2030ced6e58c29b4',1,'xran_destroy_cb(struct cb_elem_entry *cb_elm): xran_common.c'],['../xran__common_8h.html#aac0cae66657ea84e2030ced6e58c29b4',1,'xran_destroy_cb(struct cb_elem_entry *cb_elm): xran_common.c']]], + ['xran_5fdev_5fget_5fctx',['xran_dev_get_ctx',['../xran__common_8h.html#aa09e72e94d2a1d891e86f4c09b0f8b21',1,'xran_dev_get_ctx(void): xran_main.c'],['../xran__main_8c.html#aa09e72e94d2a1d891e86f4c09b0f8b21',1,'xran_dev_get_ctx(void): xran_main.c']]], + ['xran_5fdevice_5fctx',['xran_device_ctx',['../structxran__device__ctx.html',1,'']]], + ['xran_5fdir_5fdl',['XRAN_DIR_DL',['../group__xran__common__pkt.html#gga9c60a23fdae979ad1842b255790d1558a19f3d3cee814f10e4f3bf7d80194083f',1,'xran_pkt.h']]], + ['xran_5fdir_5fmax',['XRAN_DIR_MAX',['../group__xran__common__pkt.html#gga9c60a23fdae979ad1842b255790d1558a927c0750db0e35def0b5e1a088a5b9e4',1,'xran_pkt.h']]], + ['xran_5fdir_5ful',['XRAN_DIR_UL',['../group__xran__common__pkt.html#gga9c60a23fdae979ad1842b255790d1558a404255db3f05419798875bfb763e1c05',1,'xran_pkt.h']]], + ['xran_5fdump_5fsectiondb',['xran_dump_sectiondb',['../xran__cp__api_8c.html#a201fce4384d6799777dbbefc4a053137',1,'xran_cp_api.c']]], + ['xran_5feaxc_5finfo',['xran_eaxc_info',['../structxran__eaxc__info.html',1,'']]], + ['xran_5feaxcid_5fconfig',['xran_eaxcid_config',['../structxran__eaxcid__config.html',1,'']]], + ['xran_5fecpri_5fcmn_5fhdr',['xran_ecpri_cmn_hdr',['../structxran__ecpri__cmn__hdr.html',1,'']]], + ['xran_5fecpri_5fhdr',['xran_ecpri_hdr',['../structxran__ecpri__hdr.html',1,'']]], + ['xran_5fecpri_5fver',['XRAN_ECPRI_VER',['../xran__pkt_8h.html#aa8e98bf0d1f79b3e67a5e27b063c6251',1,'xran_pkt.h']]], + ['xran_5fef_5ff_5fanother_5fone',['XRAN_EF_F_ANOTHER_ONE',['../xran__cp__api_8h.html#a2093a855b81dcfff46d379b2c7a700f6',1,'xran_cp_api.h']]], + ['xran_5fef_5ff_5flast',['XRAN_EF_F_LAST',['../xran__cp__api_8h.html#a81b257717e74882b591daf7fd958c012',1,'xran_cp_api.h']]], + ['xran_5fentities_5fid',['xran_entities_id',['../ethdi_8h.html#a0e36dceadaee8cb4907cd2110d135851',1,'ethdi.h']]], + ['xran_5fethdi_5fctx',['xran_ethdi_ctx',['../structxran__ethdi__ctx.html',1,'']]], + ['xran_5fethdi_5ffilter_5fpacket',['xran_ethdi_filter_packet',['../ethdi_8c.html#af110b40ee89935ebe18d65ef84de1359',1,'xran_ethdi_filter_packet(struct rte_mbuf *pkt, uint64_t rx_time): ethdi.c'],['../ethdi_8h.html#af110b40ee89935ebe18d65ef84de1359',1,'xran_ethdi_filter_packet(struct rte_mbuf *pkt, uint64_t rx_time): ethdi.c']]], + ['xran_5fethdi_5fhandler',['xran_ethdi_handler',['../ethdi_8h.html#a3f3cb6ac70cce2db8234669b745b4538',1,'ethdi.h']]], + ['xran_5fethdi_5finit_5fdpdk_5fio',['xran_ethdi_init_dpdk_io',['../ethdi_8c.html#a97dcf8200aebed714f47764c302a06b5',1,'xran_ethdi_init_dpdk_io(char *name, const struct xran_io_loop_cfg *io_cfg, int *lcore_id, struct ether_addr *p_lls_cu_addr, struct ether_addr *p_ru_addr, uint16_t cp_vlan, uint16_t up_vlan): ethdi.c'],['../ethdi_8h.html#a97dcf8200aebed714f47764c302a06b5',1,'xran_ethdi_init_dpdk_io(char *name, const struct xran_io_loop_cfg *io_cfg, int *lcore_id, struct ether_addr *p_lls_cu_addr, struct ether_addr *p_ru_addr, uint16_t cp_vlan, uint16_t up_vlan): ethdi.c']]], + ['xran_5fethdi_5fmbuf_5falloc',['xran_ethdi_mbuf_alloc',['../ethdi_8c.html#a77f0a4b49dc21be816aefa3066debfa7',1,'xran_ethdi_mbuf_alloc(void): ethdi.c'],['../ethdi_8h.html#a77f0a4b49dc21be816aefa3066debfa7',1,'xran_ethdi_mbuf_alloc(void): ethdi.c']]], + ['xran_5fethdi_5fmbuf_5fsend',['xran_ethdi_mbuf_send',['../ethdi_8c.html#ab6a05b3b37887e49b0017e1668317829',1,'xran_ethdi_mbuf_send(struct rte_mbuf *mb, uint16_t ethertype): ethdi.c'],['../ethdi_8h.html#ab6a05b3b37887e49b0017e1668317829',1,'xran_ethdi_mbuf_send(struct rte_mbuf *mb, uint16_t ethertype): ethdi.c']]], + ['xran_5fethdi_5fmbuf_5fsend_5fcp',['xran_ethdi_mbuf_send_cp',['../ethdi_8c.html#ab8a8c592ac06111ce690ab5a6207a6eb',1,'xran_ethdi_mbuf_send_cp(struct rte_mbuf *mb, uint16_t ethertype): ethdi.c'],['../ethdi_8h.html#ab8a8c592ac06111ce690ab5a6207a6eb',1,'xran_ethdi_mbuf_send_cp(struct rte_mbuf *mb, uint16_t ethertype): ethdi.c']]], + ['xran_5fethdi_5fmbuf_5fsend_5ffn',['xran_ethdi_mbuf_send_fn',['../xran__common_8h.html#aedb267cc96c01f38341f460932d4cc5c',1,'xran_common.h']]], + ['xran_5fethdi_5ftx_5fcallback',['xran_ethdi_tx_callback',['../ethdi_8h.html#abdeeae19de30cfa3120005562b0c4588',1,'ethdi.h']]], + ['xran_5fethdi_5fvf_5fports',['xran_ethdi_vf_ports',['../ethdi_8h.html#a08bfa37a0c337e82469d07cac15fd22b',1,'ethdi.h']]], + ['xran_5fether_5ftype',['XRAN_ETHER_TYPE',['../xran__pkt_8h.html#a55ee65757e33fe8e48262f2fafef064e',1,'xran_pkt.h']]], + ['xran_5fethertype_5fhandlers',['xran_ethertype_handlers',['../ethdi_8c.html#a3f53957f895afe4f72ecdc94556077d7',1,'ethdi.c']]], + ['xran_5fextract_5fiq_5fsamples',['xran_extract_iq_samples',['../xran__up__api_8h.html#adfc5ea408600c8de1384be020b359d95',1,'xran_extract_iq_samples(struct rte_mbuf *mbuf, void **iq_data_start, uint8_t *CC_ID, uint8_t *Ant_ID, uint8_t *frame_id, uint8_t *subframe_id, uint8_t *slot_id, uint8_t *symb_id, struct ecpri_seq_id *seq_id, uint16_t *num_prbu, uint16_t *start_prbu, uint16_t *sym_inc, uint16_t *rb, uint16_t *sect_id, int8_t expect_comp, uint8_t *compMeth, uint8_t *iqWidth): xran_up_api.c'],['../xran__up__api_8c.html#adfc5ea408600c8de1384be020b359d95',1,'xran_extract_iq_samples(struct rte_mbuf *mbuf, void **iq_data_start, uint8_t *CC_ID, uint8_t *Ant_ID, uint8_t *frame_id, uint8_t *subframe_id, uint8_t *slot_id, uint8_t *symb_id, struct ecpri_seq_id *seq_id, uint16_t *num_prbu, uint16_t *start_prbu, uint16_t *sym_inc, uint16_t *rb, uint16_t *sect_id, int8_t expect_comp, uint8_t *compMeth, uint8_t *iqWidth): xran_up_api.c']]], + ['xran_5ffdd',['XRAN_FDD',['../xran__fh__o__du_8h.html#a1784f85d62401cba0ffb49c4d2467aaea852ad6bfdec7d14a64425c01c16d00c0',1,'xran_fh_o_du.h']]], + ['xran_5ffftsize_5f1024',['XRAN_FFTSIZE_1024',['../xran__cp__api_8h.html#a36acab66b2e66a57a07491b9bcf042aaab0419a98b0714d38b884840ab84ad784',1,'xran_cp_api.h']]], + ['xran_5ffftsize_5f128',['XRAN_FFTSIZE_128',['../xran__cp__api_8h.html#a36acab66b2e66a57a07491b9bcf042aaa50d036637af08ab7677a368920003e1b',1,'xran_cp_api.h']]], + ['xran_5ffftsize_5f1536',['XRAN_FFTSIZE_1536',['../xran__cp__api_8h.html#a36acab66b2e66a57a07491b9bcf042aaa211f2536fd4f1cc8c1b36807932e2d4f',1,'xran_cp_api.h']]], + ['xran_5ffftsize_5f2048',['XRAN_FFTSIZE_2048',['../xran__cp__api_8h.html#a36acab66b2e66a57a07491b9bcf042aaad1bc92c46f3cc3cf906cf22319330df7',1,'xran_cp_api.h']]], + ['xran_5ffftsize_5f256',['XRAN_FFTSIZE_256',['../xran__cp__api_8h.html#a36acab66b2e66a57a07491b9bcf042aaa704833d53f0b90eb03f834ef5ddd837e',1,'xran_cp_api.h']]], + ['xran_5ffftsize_5f4096',['XRAN_FFTSIZE_4096',['../xran__cp__api_8h.html#a36acab66b2e66a57a07491b9bcf042aaa9b94b67c9b33edae085f53f7e7c957c0',1,'xran_cp_api.h']]], + ['xran_5ffftsize_5f512',['XRAN_FFTSIZE_512',['../xran__cp__api_8h.html#a36acab66b2e66a57a07491b9bcf042aaae95c978a1024b371581c860cb2e8756d',1,'xran_cp_api.h']]], + ['xran_5ffftsize_5fmax',['XRAN_FFTSIZE_MAX',['../xran__cp__api_8h.html#a36acab66b2e66a57a07491b9bcf042aaa69d38a2028a30549ad74597c6d4ea9f6',1,'xran_cp_api.h']]], + ['xran_5ffh_5fconfig',['xran_fh_config',['../structxran__fh__config.html',1,'']]], + ['xran_5ffh_5finit',['xran_fh_init',['../structxran__fh__init.html',1,'']]], + ['xran_5ffh_5fo_5fdu_2eh',['xran_fh_o_du.h',['../xran__fh__o__du_8h.html',1,'']]], + ['xran_5ffh_5frx_5fcallback',['xran_fh_rx_callback',['../sample-app_8c.html#aa8022559021fc69bb2664a476ac83ba3',1,'xran_fh_rx_callback(void *pCallbackTag, int32_t status): sample-app.c'],['../init__sys__functional_8cc.html#ac6a3121934d1301a33197c857bd61391',1,'xran_fh_rx_callback(void *pCallbackTag, xran_status_t status): init_sys_functional.cc']]], + ['xran_5ffh_5frx_5fprach_5fcallback',['xran_fh_rx_prach_callback',['../sample-app_8c.html#ad5f5d1afc7b3f177bdffb5e9c83bc28d',1,'xran_fh_rx_prach_callback(void *pCallbackTag, int32_t status): sample-app.c'],['../init__sys__functional_8cc.html#a2f5cc4dc3c9d4a042cab8024cb7278c3',1,'xran_fh_rx_prach_callback(void *pCallbackTag, xran_status_t status): init_sys_functional.cc']]], + ['xran_5ffh_5frx_5fsrs_5fcallback',['xran_fh_rx_srs_callback',['../sample-app_8c.html#abcd59eea4ce9c1b00cf70e967e8d7aef',1,'sample-app.c']]], + ['xran_5ffh_5ftti_5fcallback_5ffn',['xran_fh_tti_callback_fn',['../xran__fh__o__du_8h.html#af48a00f171ef7a017fddd2a29f9854d0',1,'xran_fh_o_du.h']]], + ['xran_5ffilterindex_5fmax',['XRAN_FILTERINDEX_MAX',['../xran__cp__api_8h.html#ae51812e2dae7d8776b443f818f277d5ba8319015bdd5c905cbeaa44e2e06c159e',1,'xran_cp_api.h']]], + ['xran_5ffilterindex_5fnprach',['XRAN_FILTERINDEX_NPRACH',['../xran__cp__api_8h.html#ae51812e2dae7d8776b443f818f277d5bacbd3323e6b1ff94148f8e923a0c764a5',1,'xran_cp_api.h']]], + ['xran_5ffilterindex_5fprach_5f012',['XRAN_FILTERINDEX_PRACH_012',['../xran__cp__api_8h.html#ae51812e2dae7d8776b443f818f277d5ba1fb381749d41f85d52b2213a0ed12899',1,'xran_cp_api.h']]], + ['xran_5ffilterindex_5fprach_5f3',['XRAN_FILTERINDEX_PRACH_3',['../xran__cp__api_8h.html#ae51812e2dae7d8776b443f818f277d5ba09075588698c0c8e2be67e2ed73efac8',1,'xran_cp_api.h']]], + ['xran_5ffilterindex_5fprach_5fabc',['XRAN_FILTERINDEX_PRACH_ABC',['../xran__cp__api_8h.html#ae51812e2dae7d8776b443f818f277d5bad96d5c4d6db49c45dfe5a07ba6ad7440',1,'xran_cp_api.h']]], + ['xran_5ffilterindex_5fstandard',['XRAN_FILTERINDEX_STANDARD',['../xran__cp__api_8h.html#ae51812e2dae7d8776b443f818f277d5ba02f77bf011c81bd0e18ebcb09b175181',1,'xran_cp_api.h']]], + ['xran_5fflat_5fbuffer',['xran_flat_buffer',['../structxran__flat__buffer.html',1,'']]], + ['xran_5fframe_5fconfig',['xran_frame_config',['../structxran__frame__config.html',1,'']]], + ['xran_5fframe_5fstruct_2ec',['xran_frame_struct.c',['../xran__frame__struct_8c.html',1,'']]], + ['xran_5fframe_5fstruct_2eh',['xran_frame_struct.h',['../xran__frame__struct_8h.html',1,'']]], + ['xran_5ffs_5fcal_5fnrarfcn',['xran_fs_cal_nrarfcn',['../xran__frame__struct_8c.html#acc4fa9a039885a36bec7d1f6b68de1b0',1,'xran_fs_cal_nrarfcn(uint32_t nCenterFreq): xran_frame_struct.c'],['../xran__frame__struct_8h.html#acc4fa9a039885a36bec7d1f6b68de1b0',1,'xran_fs_cal_nrarfcn(uint32_t nCenterFreq): xran_frame_struct.c']]], + ['xran_5ffs_5fclear_5fslot_5ftype',['xran_fs_clear_slot_type',['../xran__frame__struct_8c.html#a907e2367ffa2ddb6776aad8e15715a3a',1,'xran_fs_clear_slot_type(uint32_t nPhyInstanceId): xran_frame_struct.c'],['../xran__frame__struct_8h.html#a74a51cc251882612b53feb4895bcab61',1,'xran_fs_clear_slot_type(uint32_t nCcId): xran_frame_struct.c']]], + ['xran_5ffs_5fget_5fmax_5fslot',['xran_fs_get_max_slot',['../xran__frame__struct_8c.html#a7f5a87395d3930f222e58976960c99e2',1,'xran_fs_get_max_slot(void): xran_frame_struct.c'],['../xran__frame__struct_8h.html#a7f5a87395d3930f222e58976960c99e2',1,'xran_fs_get_max_slot(void): xran_frame_struct.c']]], + ['xran_5ffs_5fget_5fmax_5fslot_5fsfn',['xran_fs_get_max_slot_SFN',['../xran__frame__struct_8c.html#a00aa0f7cc00a6ca9cde2bec43eb1c9f9',1,'xran_fs_get_max_slot_SFN(void): xran_frame_struct.c'],['../xran__frame__struct_8h.html#a00aa0f7cc00a6ca9cde2bec43eb1c9f9',1,'xran_fs_get_max_slot_SFN(void): xran_frame_struct.c']]], + ['xran_5ffs_5fget_5fnum_5frbs',['xran_fs_get_num_rbs',['../xran__frame__struct_8c.html#adef530f5f3ebc94606c692d8784ddaf2',1,'xran_fs_get_num_rbs(uint32_t nNumerology, uint32_t nBandwidth, uint32_t nAbsFrePointA): xran_frame_struct.c'],['../xran__frame__struct_8h.html#adef530f5f3ebc94606c692d8784ddaf2',1,'xran_fs_get_num_rbs(uint32_t nNumerology, uint32_t nBandwidth, uint32_t nAbsFrePointA): xran_frame_struct.c']]], + ['xran_5ffs_5fget_5fscs',['xran_fs_get_scs',['../xran__frame__struct_8c.html#a358977362c5bc0e3adc9f897994c0d09',1,'xran_fs_get_scs(uint8_t nMu): xran_frame_struct.c'],['../xran__frame__struct_8h.html#a358977362c5bc0e3adc9f897994c0d09',1,'xran_fs_get_scs(uint8_t nMu): xran_frame_struct.c']]], + ['xran_5ffs_5fget_5fslot_5ftype',['xran_fs_get_slot_type',['../xran__frame__struct_8c.html#a875ef2ff0c44ad26c75bebe2a4732c80',1,'xran_fs_get_slot_type(int32_t nCellIdx, int32_t nSlotdx, int32_t nType): xran_frame_struct.c'],['../xran__frame__struct_8h.html#a9cc99d80a722f6afd2aaf6c6bd2e8887',1,'xran_fs_get_slot_type(int32_t nCcId, int32_t nSlotIdx, int32_t nType): xran_frame_struct.c']]], + ['xran_5ffs_5fget_5fsymbol_5ftype',['xran_fs_get_symbol_type',['../xran__frame__struct_8c.html#a3ad2b8ea8fe3559ce6d0195ed25dca11',1,'xran_fs_get_symbol_type(int32_t nCellIdx, int32_t nSlotdx, int32_t nSymbIdx): xran_frame_struct.c'],['../xran__frame__struct_8h.html#a3ad2b8ea8fe3559ce6d0195ed25dca11',1,'xran_fs_get_symbol_type(int32_t nCellIdx, int32_t nSlotdx, int32_t nSymbIdx): xran_frame_struct.c']]], + ['xran_5ffs_5fget_5ftti_5finterval',['xran_fs_get_tti_interval',['../xran__frame__struct_8c.html#a8e8598556da3e49fa48cb646c24162fa',1,'xran_fs_get_tti_interval(uint8_t nMu): xran_frame_struct.c'],['../xran__frame__struct_8h.html#a8e8598556da3e49fa48cb646c24162fa',1,'xran_fs_get_tti_interval(uint8_t nMu): xran_frame_struct.c']]], + ['xran_5ffs_5fset_5fslot_5ftype',['xran_fs_set_slot_type',['../xran__frame__struct_8c.html#a075025c7652869adb79799313aab4f64',1,'xran_fs_set_slot_type(uint32_t nPhyInstanceId, uint32_t nFrameDuplexType, uint32_t nTddPeriod, struct xran_slot_config *psSlotConfig): xran_frame_struct.c'],['../xran__frame__struct_8h.html#a93baa96226b7790c8db4942f304269fc',1,'xran_fs_set_slot_type(uint32_t nCcId, uint32_t nFrameDuplexType, uint32_t nTddPeriod, struct xran_slot_config *psSlotConfig): xran_frame_struct.c']]], + ['xran_5ffs_5fslot_5flimit',['xran_fs_slot_limit',['../xran__frame__struct_8c.html#ac81b5cb02d886c3eb9e7f006ea1f62f4',1,'xran_fs_slot_limit(int32_t nSfIdx): xran_frame_struct.c'],['../xran__frame__struct_8h.html#a2dae6c563c553fcc13a9cd3c87b9f37b',1,'xran_fs_slot_limit(int32_t nSlotIdx): xran_frame_struct.c']]], + ['xran_5ffs_5fslot_5flimit_5finit',['xran_fs_slot_limit_init',['../xran__frame__struct_8c.html#a2fd9b68ce2fa4734a021203b320e4e04',1,'xran_fs_slot_limit_init(int32_t tti_interval_us): xran_frame_struct.c'],['../xran__frame__struct_8h.html#a2fd9b68ce2fa4734a021203b320e4e04',1,'xran_fs_slot_limit_init(int32_t tti_interval_us): xran_frame_struct.c']]], + ['xran_5fget_5fbeamid',['xran_get_beamid',['../xran__main_8c.html#a9348246ce882be9b72449a64385d7217',1,'xran_main.c']]], + ['xran_5fget_5fcommon_5fcounters',['xran_get_common_counters',['../xran__fh__o__du_8h.html#ac153c5a3e3f4f64ab0fafca6f593c380',1,'xran_get_common_counters(void *pXranLayerHandle, struct xran_common_counters *pStats): xran_main.c'],['../xran__main_8c.html#ac153c5a3e3f4f64ab0fafca6f593c380',1,'xran_get_common_counters(void *pXranLayerHandle, struct xran_common_counters *pStats): xran_main.c']]], + ['xran_5fget_5fconf_5fcompmethod',['xran_get_conf_compmethod',['../xran__common_8h.html#a70d428b456fbe76f8550ff9b782a9e4e',1,'xran_get_conf_compmethod(void *pHandle): xran_main.c'],['../xran__main_8c.html#a70d428b456fbe76f8550ff9b782a9e4e',1,'xran_get_conf_compmethod(void *pHandle): xran_main.c']]], + ['xran_5fget_5fconf_5feaxc',['xran_get_conf_eAxC',['../xran__common_8h.html#a761e3947dcc547008a12a9cca10b1ea0',1,'xran_get_conf_eAxC(void *pHandle): xran_main.c'],['../xran__main_8c.html#a761e3947dcc547008a12a9cca10b1ea0',1,'xran_get_conf_eAxC(void *pHandle): xran_main.c']]], + ['xran_5fget_5fconf_5ffftsize',['xran_get_conf_fftsize',['../xran__common_8h.html#ada345a8a99480787d4274a342aa39535',1,'xran_get_conf_fftsize(void *pHandle): xran_main.c'],['../xran__main_8c.html#ada345a8a99480787d4274a342aa39535',1,'xran_get_conf_fftsize(void *pHandle): xran_main.c']]], + ['xran_5fget_5fconf_5fiqwidth',['xran_get_conf_iqwidth',['../xran__common_8h.html#a5f780beefc47e125ffd42fde16117e62',1,'xran_get_conf_iqwidth(void *pHandle): xran_main.c'],['../xran__main_8c.html#a5f780beefc47e125ffd42fde16117e62',1,'xran_get_conf_iqwidth(void *pHandle): xran_main.c']]], + ['xran_5fget_5fconf_5fnum_5fbfweights',['xran_get_conf_num_bfweights',['../xran__common_8h.html#ad749041bcf50616bac96e4d13b661272',1,'xran_get_conf_num_bfweights(void *pHandle): xran_main.c'],['../xran__main_8c.html#ad749041bcf50616bac96e4d13b661272',1,'xran_get_conf_num_bfweights(void *pHandle): xran_main.c']]], + ['xran_5fget_5fconf_5fnumerology',['xran_get_conf_numerology',['../xran__common_8h.html#ae6070ee9caf6a7ea8d7ef052ed0a559a',1,'xran_get_conf_numerology(void *pHandle): xran_main.c'],['../xran__main_8c.html#ae6070ee9caf6a7ea8d7ef052ed0a559a',1,'xran_get_conf_numerology(void *pHandle): xran_main.c']]], + ['xran_5fget_5fconf_5fprach_5fscs',['xran_get_conf_prach_scs',['../xran__common_8h.html#ab39a5770374d16662d62a85504a11930',1,'xran_get_conf_prach_scs(void *pHandle): xran_main.c'],['../xran__main_8c.html#ab39a5770374d16662d62a85504a11930',1,'xran_get_conf_prach_scs(void *pHandle): xran_main.c']]], + ['xran_5fget_5fcplength',['xran_get_cplength',['../xran__cp__api_8h.html#ab4bb8d75b8549c5b475d6ffe27e17286',1,'xran_get_cplength(int cpLength): xran_cp_api.c'],['../xran__cp__api_8c.html#ab147e86ba4d34b9335642861bc2812d5',1,'xran_get_cplength(int CP_length): xran_cp_api.c']]], + ['xran_5fget_5fecpri_5fhdr_5fsize',['xran_get_ecpri_hdr_size',['../xran__transport_8h.html#a0f378609208ec66467c58f0702ced85c',1,'xran_get_ecpri_hdr_size(void): xran_transport.c'],['../xran__transport_8c.html#a0f378609208ec66467c58f0702ced85c',1,'xran_get_ecpri_hdr_size(void): xran_transport.c']]], + ['xran_5fget_5ffreqoffset',['xran_get_freqoffset',['../xran__cp__api_8h.html#a4b7c2b7f89a0a04b07426e6adbecdb27',1,'xran_get_freqoffset(int freqOffset, int scs): xran_cp_api.h'],['../xran__cp__api_8c.html#a369024df36c290df733e9a273d5330bd',1,'xran_get_freqoffset(int32_t freqOffset, int32_t scs): xran_cp_api.c']]], + ['xran_5fget_5fif_5fstate',['xran_get_if_state',['../xran__fh__o__du_8h.html#a937105f52446cfcb951e43e1dc3c4d8b',1,'xran_get_if_state(void): xran_main.c'],['../xran__main_8c.html#a937105f52446cfcb951e43e1dc3c4d8b',1,'xran_get_if_state(void): xran_main.c']]], + ['xran_5fget_5fnum_5fant_5felm',['xran_get_num_ant_elm',['../xran__common_8h.html#a7c54b342a8b4907858f7f0f074ddd79d',1,'xran_get_num_ant_elm(void *pHandle): xran_main.c'],['../xran__main_8c.html#a7c54b342a8b4907858f7f0f074ddd79d',1,'xran_get_num_ant_elm(void *pHandle): xran_main.c']]], + ['xran_5fget_5fnum_5fcc',['xran_get_num_cc',['../xran__common_8h.html#ad51ee5b7f1f27c770f1eb658b5ee523e',1,'xran_get_num_cc(void *pHandle): xran_main.c'],['../xran__main_8c.html#ad51ee5b7f1f27c770f1eb658b5ee523e',1,'xran_get_num_cc(void *pHandle): xran_main.c']]], + ['xran_5fget_5fnum_5feaxc',['xran_get_num_eAxc',['../xran__common_8h.html#a3fc01469558ddf728239d59038ac5803',1,'xran_get_num_eAxc(void *pHandle): xran_main.c'],['../xran__main_8c.html#a3fc01469558ddf728239d59038ac5803',1,'xran_get_num_eAxc(void *pHandle): xran_main.c']]], + ['xran_5fget_5fnum_5feaxcul',['xran_get_num_eAxcUl',['../xran__common_8h.html#aaf7b03037e0687819501554a42fb3c52',1,'xran_get_num_eAxcUl(void *pHandle): xran_main.c'],['../xran__main_8c.html#aaf7b03037e0687819501554a42fb3c52',1,'xran_get_num_eAxcUl(void *pHandle): xran_main.c']]], + ['xran_5fget_5fru_5fcategory',['xran_get_ru_category',['../xran__common_8h.html#ae3663b3f472b4003acc7f91e61669735',1,'xran_get_ru_category(void *pHandle): xran_main.c'],['../xran__main_8c.html#ae3663b3f472b4003acc7f91e61669735',1,'xran_get_ru_category(void *pHandle): xran_main.c']]], + ['xran_5fget_5fseqid',['xran_get_seqid',['../xran__common_8h.html#a797338bb7bfd36d9075ccf2683397018',1,'xran_common.h']]], + ['xran_5fget_5fslot_5fidx',['xran_get_slot_idx',['../xran__fh__o__du_8h.html#a2816fdf0ed3269e998720d01c2b6bf76',1,'xran_get_slot_idx(uint32_t *nFrameIdx, uint32_t *nSubframeIdx, uint32_t *nSlotIdx, uint64_t *nSecond): xran_main.c'],['../xran__main_8c.html#a2816fdf0ed3269e998720d01c2b6bf76',1,'xran_get_slot_idx(uint32_t *nFrameIdx, uint32_t *nSubframeIdx, uint32_t *nSlotIdx, uint64_t *nSecond): xran_main.c']]], + ['xran_5fget_5ftime_5fstats',['xran_get_time_stats',['../xran__fh__o__du_8h.html#ac5d259c362d10b47c233b5098052cbf2',1,'xran_get_time_stats(uint64_t *total_time, uint64_t *used_time, uint32_t *core_used, uint32_t clear): xran_main.c'],['../xran__main_8c.html#ac5d259c362d10b47c233b5098052cbf2',1,'xran_get_time_stats(uint64_t *total_time, uint64_t *used_time, uint32_t *core_used, uint32_t clear): xran_main.c']]], + ['xran_5fhandle_5fether',['xran_handle_ether',['../ethdi_8c.html#a20cda8ace162cadfe3d21c06385fdebe',1,'ethdi.c']]], + ['xran_5fhdr',['xran_hdr',['../structeth__xran__up__pkt__hdr.html#a080244f9e1996ad47a6e709f78897803',1,'eth_xran_up_pkt_hdr']]], + ['xran_5fi_5fq_5forder',['XRAN_I_Q_ORDER',['../xran__fh__o__du_8h.html#a0d9cb4cebbc59a8fa5bfef7547898859a0064217ac0728d6ac2d4f92d95db0d21',1,'xran_fh_o_du.h']]], + ['xran_5fif_5fcurrent_5fstate',['xran_if_current_state',['../ethdi_8c.html#aef5f52e6a4f49171518a59382eb03df5',1,'xran_if_current_state(): ethdi.c'],['../ethdi_8h.html#aef5f52e6a4f49171518a59382eb03df5',1,'xran_if_current_state(): ethdi.c'],['../init__sys__functional_8cc.html#aef5f52e6a4f49171518a59382eb03df5',1,'xran_if_current_state(): ethdi.c']]], + ['xran_5fif_5fstate',['xran_if_state',['../xran__fh__o__du_8h.html#a2f600110ab5726a0f21375b7f24c0326',1,'xran_fh_o_du.h']]], + ['xran_5finit',['xran_init',['../xran__fh__o__du_8h.html#a3efe8aba779b0a2f90adc02065579f5f',1,'xran_init(int argc, char *argv[], struct xran_fh_init *p_xran_fh_init, char *appName, void **pHandle): xran_main.c'],['../xran__main_8c.html#a4ea0e9c036a1dc7605f53f1f862f4952',1,'xran_init(int argc, char *argv[], struct xran_fh_init *p_xran_fh_init, char *appName, void **pXranLayerHandle): xran_main.c'],['../xran__fh__o__du_8h.html#a2f600110ab5726a0f21375b7f24c0326a4b6bcf9a51e104e19a5fa2d859a63080',1,'XRAN_INIT(): xran_fh_o_du.h']]], + ['xran_5finit_5fmbuf_5fpool',['xran_init_mbuf_pool',['../ethernet_8c.html#ae64119c0e95fd2355ab7c07b92d34615',1,'xran_init_mbuf_pool(void): ethernet.c'],['../ethernet_8h.html#ae64119c0e95fd2355ab7c07b92d34615',1,'xran_init_mbuf_pool(void): ethernet.c']]], + ['xran_5finit_5fport',['xran_init_port',['../ethernet_8c.html#a44ddaef5c37ad5880487ccf60fd6844a',1,'xran_init_port(int p_id, struct ether_addr *p_lls_cu_addr): ethernet.c'],['../ethernet_8h.html#a9928d7cd5a9d3885479a9c0ae27249ee',1,'xran_init_port(int port, struct ether_addr *p_lls_cu_addr): ethernet.c']]], + ['xran_5finit_5fprach',['xran_init_prach',['../xran__common_8h.html#a00025c5bad7b7b6eea4374226f8c54bb',1,'xran_init_prach(struct xran_fh_config *pConf, struct xran_device_ctx *p_xran_dev_ctx): xran_main.c'],['../xran__main_8c.html#a00025c5bad7b7b6eea4374226f8c54bb',1,'xran_init_prach(struct xran_fh_config *pConf, struct xran_device_ctx *p_xran_dev_ctx): xran_main.c']]], + ['xran_5finit_5fsectionid',['xran_init_sectionid',['../xran__main_8c.html#a54de92e0ced826beeb759580d170562b',1,'xran_main.c']]], + ['xran_5finit_5fseqid',['xran_init_seqid',['../xran__main_8c.html#a7a3c06a23d41de0038747348be9bb9da',1,'xran_main.c']]], + ['xran_5finit_5fsrs',['xran_init_srs',['../xran__main_8c.html#acb5dd6ae5569cb3090d441c800068244',1,'xran_main.c']]], + ['xran_5finput_5fbyte_5forder',['xran_input_byte_order',['../xran__fh__o__du_8h.html#ab5ce6839bae2968c79930a0bfa17f4d8',1,'xran_fh_o_du.h']]], + ['xran_5finput_5fi_5fq_5forder',['xran_input_i_q_order',['../xran__fh__o__du_8h.html#a0d9cb4cebbc59a8fa5bfef7547898859',1,'xran_fh_o_du.h']]], + ['xran_5fio_5fcfg',['xran_io_cfg',['../structxran__io__cfg.html',1,'']]], + ['xran_5fio_5floop_5fcfg',['xran_io_loop_cfg',['../structxran__io__loop__cfg.html',1,'']]], + ['xran_5fis_5fprach_5fslot',['xran_is_prach_slot',['../xran__main_8c.html#a7192955290ca84553d071cedc5ee89cb',1,'xran_main.c']]], + ['xran_5fis_5fsynchronized',['xran_is_synchronized',['../xran__sync__api_8h.html#ac7d90edeea3b7f779bf85f44810c6a3a',1,'xran_is_synchronized(void): xran_sync_api.c'],['../xran__sync__api_8c.html#a4778e0253fe842243ff1b2cee96e9367',1,'xran_is_synchronized(): xran_sync_api.c']]], + ['xran_5flaamsgtype_5flbt_5fbuffer_5ferror',['XRAN_LAAMSGTYPE_LBT_BUFFER_ERROR',['../xran__cp__api_8h.html#a6e272bac1a1872415b6fbbc45517f8a3',1,'xran_cp_api.h']]], + ['xran_5flaamsgtype_5flbt_5fcwconfig_5freq',['XRAN_LAAMSGTYPE_LBT_CWCONFIG_REQ',['../xran__cp__api_8h.html#a4c0abe755475d81dd73d4af65e512b0b',1,'xran_cp_api.h']]], + ['xran_5flaamsgtype_5flbt_5fcwconfig_5frsp',['XRAN_LAAMSGTYPE_LBT_CWCONFIG_RSP',['../xran__cp__api_8h.html#a07da3eb003ffb682ad3b0d26480930bb',1,'xran_cp_api.h']]], + ['xran_5flaamsgtype_5flbt_5fdrs_5freq',['XRAN_LAAMSGTYPE_LBT_DRS_REQ',['../xran__cp__api_8h.html#a1d6c0f2b27eb754cb7f298814d5e2650',1,'xran_cp_api.h']]], + ['xran_5flaamsgtype_5flbt_5fdrs_5frsp',['XRAN_LAAMSGTYPE_LBT_DRS_RSP',['../xran__cp__api_8h.html#ad3daa5416e356598608e375352b48d32',1,'xran_cp_api.h']]], + ['xran_5flaamsgtype_5flbt_5fpdsch_5freq',['XRAN_LAAMSGTYPE_LBT_PDSCH_REQ',['../xran__cp__api_8h.html#a0a08b5da6846d688ab27d4a0eab98144',1,'xran_cp_api.h']]], + ['xran_5flaamsgtype_5flbt_5fpdsch_5frsp',['XRAN_LAAMSGTYPE_LBT_PDSCH_RSP',['../xran__cp__api_8h.html#a04cde8ffac02a24a7c46d799cc04c34f',1,'xran_cp_api.h']]], + ['xran_5flbtmode_5ffull',['XRAN_LBTMODE_FULL',['../xran__cp__api_8h.html#aa5c353bbfda234547d82b2523e7175d1',1,'xran_cp_api.h']]], + ['xran_5flbtmode_5ffullstop',['XRAN_LBTMODE_FULLSTOP',['../xran__cp__api_8h.html#a66d322a9ad89e5cc923a2894071b0130',1,'xran_cp_api.h']]], + ['xran_5flbtmode_5fpartial25',['XRAN_LBTMODE_PARTIAL25',['../xran__cp__api_8h.html#ad33101f746e84d0cafb702f0eac5d06f',1,'xran_cp_api.h']]], + ['xran_5flbtmode_5fpartial34',['XRAN_LBTMODE_PARTIAL34',['../xran__cp__api_8h.html#a65c843c2f2aed43d8d42f226847929b3',1,'xran_cp_api.h']]], + ['xran_5flib_5fmlog_5ftasks_5fid_2eh',['xran_lib_mlog_tasks_id.h',['../xran__lib__mlog__tasks__id_8h.html',1,'']]], + ['xran_5flib_5fota_5fsym',['xran_lib_ota_sym',['../xran__main_8c.html#a8cec0b41a42705e6ab9f49914ca666c2',1,'xran_lib_ota_sym(): xran_main.c'],['../xran__timer_8c.html#a8cec0b41a42705e6ab9f49914ca666c2',1,'xran_lib_ota_sym(): xran_main.c'],['../xran__lib__wrap_8hpp.html#a8cec0b41a42705e6ab9f49914ca666c2',1,'xran_lib_ota_sym(): xran_main.c']]], + ['xran_5flib_5fota_5fsym_5fidx',['xran_lib_ota_sym_idx',['../xran__main_8c.html#a98175f360f5753bc99c4edd3c2d8bd04',1,'xran_lib_ota_sym_idx(): xran_main.c'],['../xran__timer_8c.html#a98175f360f5753bc99c4edd3c2d8bd04',1,'xran_lib_ota_sym_idx(): xran_main.c'],['../xran__lib__wrap_8hpp.html#a98175f360f5753bc99c4edd3c2d8bd04',1,'xran_lib_ota_sym_idx(): xran_main.c']]], + ['xran_5flib_5fota_5ftti',['xran_lib_ota_tti',['../xran__main_8c.html#a273a09cbea9267272f4e2a339059e442',1,'xran_lib_ota_tti(): xran_main.c'],['../xran__timer_8c.html#a273a09cbea9267272f4e2a339059e442',1,'xran_lib_ota_tti(): xran_main.c'],['../xran__up__api_8c.html#a273a09cbea9267272f4e2a339059e442',1,'xran_lib_ota_tti(): xran_main.c'],['../xran__lib__wrap_8hpp.html#a273a09cbea9267272f4e2a339059e442',1,'xran_lib_ota_tti(): xran_main.c']]], + ['xran_5flib_5fwrap_2ehpp',['xran_lib_wrap.hpp',['../xran__lib__wrap_8hpp.html',1,'']]], + ['xran_5flog_5fdbg',['xran_log_dbg',['../xran__fh__o__du_8h.html#adb623b32cb8644414383af3de60433d8',1,'xran_log_dbg(): xran_fh_o_du.h'],['../xran__fh__o__du_8h.html#adb623b32cb8644414383af3de60433d8',1,'xran_log_dbg(): xran_fh_o_du.h']]], + ['xran_5flog_5ferr',['xran_log_err',['../xran__fh__o__du_8h.html#a02b163e2e7f90f2c7941fdcb19ebcb3e',1,'xran_fh_o_du.h']]], + ['xran_5flog_5fwrn',['xran_log_wrn',['../xran__fh__o__du_8h.html#a8f97ad3d53e73a2807e3b2cf097e267a',1,'xran_fh_o_du.h']]], + ['xran_5fmain_2ec',['xran_main.c',['../xran__main_8c.html',1,'']]], + ['xran_5fmalloc',['xran_malloc',['../xran__fh__o__du_8h.html#ad32fb64c20521dbcfeb317e143046e27',1,'xran_malloc(size_t buf_len): xran_main.c'],['../xran__main_8c.html#ad32fb64c20521dbcfeb317e143046e27',1,'xran_malloc(size_t buf_len): xran_main.c']]], + ['xran_5fmax_5fant_5farray_5felm_5fnr',['XRAN_MAX_ANT_ARRAY_ELM_NR',['../xran__fh__o__du_8h.html#af3e0ced3530652b3c92220c8783b55fa',1,'xran_fh_o_du.h']]], + ['xran_5fmax_5fantenna_5fnr',['XRAN_MAX_ANTENNA_NR',['../xran__fh__o__du_8h.html#a35fa05e7523928c0c86cbcf835c12dc5',1,'xran_fh_o_du.h']]], + ['xran_5fmax_5fbfw_5fn',['XRAN_MAX_BFW_N',['../xran__cp__api_8h.html#acf59e7a9af32c6c8c8dd3d7b1e6ee0ca',1,'xran_cp_api.h']]], + ['xran_5fmax_5fcells_5fper_5fport',['XRAN_MAX_CELLS_PER_PORT',['../xran__fh__o__du_8h.html#a6447bf8849000b9fecf51d77d4fa50b2',1,'xran_fh_o_du.h']]], + ['xran_5fmax_5fframe',['xran_max_frame',['../structxran__ru__config.html#a7a25206e77e83a57fd036102cebfb4f0',1,'xran_ru_config::xran_max_frame()'],['../xran__frame__struct_8c.html#a7a25206e77e83a57fd036102cebfb4f0',1,'xran_max_frame(): xran_main.c'],['../xran__main_8c.html#a7a25206e77e83a57fd036102cebfb4f0',1,'xran_max_frame(): xran_main.c']]], + ['xran_5fmax_5fmbuf_5flen',['XRAN_MAX_MBUF_LEN',['../xran__common_8h.html#acd19f4ec321bcc5633e81538c789bd4d',1,'xran_common.h']]], + ['xran_5fmax_5fmodcomp_5faddparms',['XRAN_MAX_MODCOMP_ADDPARMS',['../xran__cp__api_8h.html#a8f86cfef3ff1270fe0b6d93259c3a0dc',1,'xran_cp_api.h']]], + ['xran_5fmax_5fnum_5fant_5fbf',['XRAN_MAX_NUM_ANT_BF',['../xran__cp__api_8h.html#a3dc5e48b847e25677f9b5b36c547f840',1,'xran_cp_api.h']]], + ['xran_5fmax_5fnum_5fextensions',['XRAN_MAX_NUM_EXTENSIONS',['../xran__cp__api_8h.html#a68331320b5c982a49c45ae15be297dc1',1,'xran_cp_api.h']]], + ['xran_5fmax_5fnum_5fof_5fsrs_5fsymbol_5fper_5fslot',['XRAN_MAX_NUM_OF_SRS_SYMBOL_PER_SLOT',['../xran__fh__o__du_8h.html#a6a9b0521b0d67ed1e761047b2a929422',1,'xran_fh_o_du.h']]], + ['xran_5fmax_5fnum_5fsections',['XRAN_MAX_NUM_SECTIONS',['../xran__common_8h.html#a3a4bb6898c9295b71ffd7b830048580c',1,'xran_common.h']]], + ['xran_5fmax_5fnum_5fue',['XRAN_MAX_NUM_UE',['../xran__cp__api_8h.html#a43a11acc24aac973f8f6353dee4a532e',1,'xran_cp_api.h']]], + ['xran_5fmax_5fpacket_5ffrag',['XRAN_MAX_PACKET_FRAG',['../xran__common_8h.html#a09865e79c615f2e54214998ea06da6e8',1,'xran_common.h']]], + ['xran_5fmax_5fpanel_5fnr',['XRAN_MAX_PANEL_NR',['../xran__fh__o__du_8h.html#a42f4a51ad2109eb30e8cbefcde747e92',1,'xran_fh_o_du.h']]], + ['xran_5fmax_5fpkt_5fburst',['XRAN_MAX_PKT_BURST',['../xran__fh__o__du_8h.html#a5a579cae10a206d64b2810a7df8a66f6',1,'xran_fh_o_du.h']]], + ['xran_5fmax_5fpkt_5fburst_5fper_5fsym',['XRAN_MAX_PKT_BURST_PER_SYM',['../xran__common_8h.html#a60e31c5b5f9a4baae724c6c09264957f',1,'xran_common.h']]], + ['xran_5fmax_5fpools_5fper_5fsector_5fnr',['XRAN_MAX_POOLS_PER_SECTOR_NR',['../xran__common_8h.html#a5a5013ea633c2924f1e36bf1e3479c6f',1,'xran_common.h']]], + ['xran_5fmax_5fprbs',['XRAN_MAX_PRBS',['../xran__fh__o__du_8h.html#a9435009d03a49d495b2b608129c64b61',1,'xran_fh_o_du.h']]], + ['xran_5fmax_5fsectiondb_5fctx',['XRAN_MAX_SECTIONDB_CTX',['../xran__cp__api_8h.html#a93b65038922e8dd5f6d9cc499daf25aa',1,'xran_cp_api.h']]], + ['xran_5fmax_5fsections_5fper_5fsym',['XRAN_MAX_SECTIONS_PER_SYM',['../xran__fh__o__du_8h.html#aa099ceebb1479cddef1ee64f5c311973',1,'xran_fh_o_du.h']]], + ['xran_5fmax_5fsector_5fnr',['XRAN_MAX_SECTOR_NR',['../xran__fh__o__du_8h.html#a34dbe5e515cc78b4ce26fa287e6c1edc',1,'xran_fh_o_du.h']]], + ['xran_5fmax_5ftdd_5fperiodicity',['XRAN_MAX_TDD_PERIODICITY',['../xran__fh__o__du_8h.html#aba79881ec9b30850184b4f5f6b0afc39',1,'xran_fh_o_du.h']]], + ['xran_5fmax_5ftrx_5fantenna_5farray',['XRAN_MAX_TRX_ANTENNA_ARRAY',['../xran__fh__o__du_8h.html#a78d58409e31b11cd5b3512f52c6556ac',1,'xran_fh_o_du.h']]], + ['xran_5fmlog_5flnx_2eh',['xran_mlog_lnx.h',['../xran__mlog__lnx_8h.html',1,'']]], + ['xran_5fmlog_5ftask_5fid_2eh',['xran_mlog_task_id.h',['../xran__mlog__task__id_8h.html',1,'']]], + ['xran_5fmlog_5fvar',['XRAN_MLOG_VAR',['../xran__common_8h.html#a9de44bc72094a093d31e741cdf8717a9',1,'xran_common.h']]], + ['xran_5fmm_5fdestroy',['xran_mm_destroy',['../xran__fh__o__du_8h.html#a4120602c15ddabfc3372e238d17f0414',1,'xran_mm_destroy(void *pHandle): xran_main.c'],['../xran__main_8c.html#a4120602c15ddabfc3372e238d17f0414',1,'xran_mm_destroy(void *pHandle): xran_main.c']]], + ['xran_5fmm_5finit',['xran_mm_init',['../xran__fh__o__du_8h.html#a999189549fd6b524b733ddd61f1f9962',1,'xran_mm_init(void *pHandle, uint64_t nMemorySize, uint32_t nMemorySegmentSize): xran_main.c'],['../xran__main_8c.html#a999189549fd6b524b733ddd61f1f9962',1,'xran_mm_init(void *pHandle, uint64_t nMemorySize, uint32_t nMemorySegmentSize): xran_main.c']]], + ['xran_5fn_5ffe_5fbuf_5flen',['XRAN_N_FE_BUF_LEN',['../xran__fh__o__du_8h.html#af0963ba32cc8ecd280afd2e474eb426a',1,'xran_fh_o_du.h']]], + ['xran_5fn_5fmax_5fbuffer_5fsegment',['XRAN_N_MAX_BUFFER_SEGMENT',['../xran__fh__o__du_8h.html#ad1cc410c971930e1972f329c5130c886',1,'xran_fh_o_du.h']]], + ['xran_5fname_5fmax_5flen',['XRAN_NAME_MAX_LEN',['../xran__common_8h.html#a8154a36934db4708bd0d91441463ba80',1,'xran_common.h']]], + ['xran_5fne_5fbe_5fbyte_5forder',['XRAN_NE_BE_BYTE_ORDER',['../xran__fh__o__du_8h.html#ab5ce6839bae2968c79930a0bfa17f4d8a61bd03fd3153385f6791bd16e55892b8',1,'xran_fh_o_du.h']]], + ['xran_5fnum_5fof_5fant_5fradio',['XRAN_NUM_OF_ANT_RADIO',['../xran__fh__o__du_8h.html#a93482eb351961fb07e09d913701dd033',1,'xran_fh_o_du.h']]], + ['xran_5fnum_5fof_5fslot_5fin_5ftdd_5floop',['XRAN_NUM_OF_SLOT_IN_TDD_LOOP',['../xran__fh__o__du_8h.html#acd3869dff9738650c847e456c6ab21ae',1,'xran_fh_o_du.h']]], + ['xran_5fnum_5fof_5fsymbol_5fper_5fslot',['XRAN_NUM_OF_SYMBOL_PER_SLOT',['../xran__fh__o__du_8h.html#a87d92ec177ed9c388685a91051f66205',1,'xran_fh_o_du.h']]], + ['xran_5fopen',['xran_open',['../xran__fh__o__du_8h.html#a03f408f45e97aa68ca47c92e4e7d1a70',1,'xran_open(void *pHandle, struct xran_fh_config *pConf): xran_main.c'],['../xran__main_8c.html#a03f408f45e97aa68ca47c92e4e7d1a70',1,'xran_open(void *pHandle, struct xran_fh_config *pConf): xran_main.c']]], + ['xran_5fpacket_5fand_5fdpdk_5ftimer_5fthread',['xran_packet_and_dpdk_timer_thread',['../xran__main_8c.html#a3ec34c1401982803f519f83c7a18175c',1,'xran_main.c']]], + ['xran_5fparse_5fcp_5fpkt',['xran_parse_cp_pkt',['../xran__cp__api_8h.html#a38c83cd67a7265920f3bd0b36510f713',1,'xran_parse_cp_pkt(struct rte_mbuf *mbuf, struct xran_cp_gen_params *result, struct xran_recv_packet_info *pkt_info): xran_cp_api.c'],['../xran__cp__api_8c.html#a38c83cd67a7265920f3bd0b36510f713',1,'xran_parse_cp_pkt(struct rte_mbuf *mbuf, struct xran_cp_gen_params *result, struct xran_recv_packet_info *pkt_info): xran_cp_api.c']]], + ['xran_5fparse_5fecpri_5fhdr',['xran_parse_ecpri_hdr',['../xran__transport_8h.html#ad199c3f4bfa018f5d0846471206217d1',1,'xran_parse_ecpri_hdr(struct rte_mbuf *mbuf, struct xran_ecpri_hdr **ecpri_hdr, struct xran_recv_packet_info *pkt_info): xran_transport.c'],['../xran__transport_8c.html#ad199c3f4bfa018f5d0846471206217d1',1,'xran_parse_ecpri_hdr(struct rte_mbuf *mbuf, struct xran_ecpri_hdr **ecpri_hdr, struct xran_recv_packet_info *pkt_info): xran_transport.c']]], + ['xran_5fparse_5fsection_5fext1',['xran_parse_section_ext1',['../xran__cp__api_8c.html#aaa0c6012a36b539f8880c45ac909c331',1,'xran_cp_api.c']]], + ['xran_5fparse_5fsection_5fext2',['xran_parse_section_ext2',['../xran__cp__api_8c.html#af3d96c5ccff84bf6a444f260f58a49f2',1,'xran_cp_api.c']]], + ['xran_5fparse_5fsection_5fext4',['xran_parse_section_ext4',['../xran__cp__api_8c.html#ad4a3ae88412a933d953fc0f8ae9bb352',1,'xran_cp_api.c']]], + ['xran_5fparse_5fsection_5fext5',['xran_parse_section_ext5',['../xran__cp__api_8c.html#af03e99a3b1e9498ca15458e0440c12a1',1,'xran_cp_api.c']]], + ['xran_5fparse_5fsection_5fextension',['xran_parse_section_extension',['../xran__cp__api_8c.html#a9d4ed2d1226eb004597b69dfd86c7c93',1,'xran_cp_api.c']]], + ['xran_5fpayload_5frb_5falign',['XRAN_PAYLOAD_RB_ALIGN',['../xran__app__frag_8c.html#a2edabb9c91d40ec79fbebbb2fa0457d0',1,'xran_app_frag.c']]], + ['xran_5fpayload_5fver',['XRAN_PAYLOAD_VER',['../xran__pkt_8h.html#a29711c2ced54314eda6c2d0b869a0e63',1,'xran_pkt.h']]], + ['xran_5fping_5fstates',['xran_ping_states',['../ethdi_8h.html#a400519d4f3774fc47bc51223a4e3e1b4',1,'ethdi.h']]], + ['xran_5fpkt_2eh',['xran_pkt.h',['../xran__pkt_8h.html',1,'']]], + ['xran_5fpkt_5fcomm_5fhdr',['xran_pkt_comm_hdr',['../structxran__pkt__comm__hdr.html',1,'']]], + ['xran_5fpkt_5fcp_2eh',['xran_pkt_cp.h',['../xran__pkt__cp_8h.html',1,'']]], + ['xran_5fpkt_5fdir',['xran_pkt_dir',['../group__xran__common__pkt.html#ga9c60a23fdae979ad1842b255790d1558',1,'xran_pkt.h']]], + ['xran_5fpkt_5fup_2eh',['xran_pkt_up.h',['../xran__pkt__up_8h.html',1,'']]], + ['xran_5fpkt_5fvalidate',['xran_pkt_validate',['../xran__common_8c.html#ac5201df2d161091f7319ff2f57432823',1,'xran_pkt_validate(void *arg, struct rte_mbuf *mbuf, void *iq_data_start, uint16_t size, uint8_t CC_ID, uint8_t Ant_ID, uint8_t frame_id, uint8_t subframe_id, uint8_t slot_id, uint8_t symb_id, struct ecpri_seq_id *seq_id, uint16_t num_prbu, uint16_t start_prbu, uint16_t sym_inc, uint16_t rb, uint16_t sect_id): xran_main.c'],['../xran__main_8c.html#ac5201df2d161091f7319ff2f57432823',1,'xran_pkt_validate(void *arg, struct rte_mbuf *mbuf, void *iq_data_start, uint16_t size, uint8_t CC_ID, uint8_t Ant_ID, uint8_t frame_id, uint8_t subframe_id, uint8_t slot_id, uint8_t symb_id, struct ecpri_seq_id *seq_id, uint16_t num_prbu, uint16_t start_prbu, uint16_t sym_inc, uint16_t rb, uint16_t sect_id): xran_main.c']]], + ['xran_5fport',['xran_port',['../structxran__prb__map.html#a5ca9a2b3d2a5c902f8153e3e383049be',1,'xran_prb_map']]], + ['xran_5fport_5fid',['xran_port_id',['../structxran__device__ctx.html#a2b7202fa1a2e3c5187799f8be3b5459f',1,'xran_device_ctx']]], + ['xran_5fports_5fnum',['XRAN_PORTS_NUM',['../xran__fh__o__du_8h.html#ac1e23b437693cb93f1ddd5a74f97cab4',1,'xran_fh_o_du.h']]], + ['xran_5fprach_5fcandidate_5fpreamble',['XRAN_PRACH_CANDIDATE_PREAMBLE',['../xran__common_8h.html#ad90730954cdd8ddb772622a642ef337a',1,'xran_common.h']]], + ['xran_5fprach_5fcandidate_5fslot',['XRAN_PRACH_CANDIDATE_SLOT',['../xran__common_8h.html#af7a48e76794ce5d801ab6d0f848abb53',1,'xran_common.h']]], + ['xran_5fprach_5fcandidate_5fy',['XRAN_PRACH_CANDIDATE_Y',['../xran__common_8h.html#a342c40a4877f7760c65eca32523efea1',1,'xran_common.h']]], + ['xran_5fprach_5fconfig',['xran_prach_config',['../structxran__prach__config.html',1,'']]], + ['xran_5fprach_5fconfig_5ftable_5fsize',['XRAN_PRACH_CONFIG_TABLE_SIZE',['../xran__common_8h.html#acfe10f9da776bb6e50a7280baab35e28',1,'xran_common.h']]], + ['xran_5fprach_5fcp_5fconfig',['xran_prach_cp_config',['../structxran__prach__cp__config.html',1,'']]], + ['xran_5fprach_5fpreamble_5fformat_5fof_5fabc',['XRAN_PRACH_PREAMBLE_FORMAT_OF_ABC',['../xran__common_8h.html#a68bde19b11ed59418ea6e0b63482c287',1,'xran_common.h']]], + ['xran_5fprb_5felm',['xran_prb_elm',['../structxran__prb__elm.html',1,'']]], + ['xran_5fprb_5fmap',['xran_prb_map',['../structxran__prb__map.html',1,'']]], + ['xran_5fprepare_5fctrl_5fpkt',['xran_prepare_ctrl_pkt',['../xran__cp__api_8h.html#af9eb550e92ea270af41b4b6bcda363db',1,'xran_prepare_ctrl_pkt(struct rte_mbuf *mbuf, struct xran_cp_gen_params *params, uint8_t CC_ID, uint8_t Ant_ID, uint8_t seq_id): xran_cp_api.c'],['../xran__cp__api_8c.html#af9eb550e92ea270af41b4b6bcda363db',1,'xran_prepare_ctrl_pkt(struct rte_mbuf *mbuf, struct xran_cp_gen_params *params, uint8_t CC_ID, uint8_t Ant_ID, uint8_t seq_id): xran_cp_api.c']]], + ['xran_5fprepare_5fiq_5fsymbol_5fportion',['xran_prepare_iq_symbol_portion',['../xran__up__api_8h.html#acd8f547b98d7ebd7dbc41c486a26505d',1,'xran_prepare_iq_symbol_portion(struct rte_mbuf *mbuf, const void *iq_data_start, const enum xran_input_byte_order iq_buf_byte_order, const uint32_t iq_data_num_bytes, struct xran_up_pkt_gen_params *params, uint8_t CC_ID, uint8_t Ant_ID, uint8_t seq_id, uint32_t do_copy): xran_up_api.c'],['../xran__up__api_8c.html#a15cc2e736c7d618de27b49be8d4922ec',1,'xran_prepare_iq_symbol_portion(struct rte_mbuf *mbuf, const void *iq_data_start, const enum xran_input_byte_order iq_buf_byte_order, const uint32_t iq_data_num_bytes, struct xran_up_pkt_gen_params *params, uint8_t CC_ID, uint8_t Ant_ID, uint8_t seq_id, uint32_t do_copy): xran_up_api.c']]], + ['xran_5fprintf_2eh',['xran_printf.h',['../xran__printf_8h.html',1,'']]], + ['xran_5fprocess_5fprach_5fsym',['xran_process_prach_sym',['../xran__common_8c.html#aec7f5a73cca88563e12b7e82e7c75b50',1,'xran_process_prach_sym(void *arg, struct rte_mbuf *mbuf, void *iq_data_start, uint16_t size, uint8_t CC_ID, uint8_t Ant_ID, uint8_t frame_id, uint8_t subframe_id, uint8_t slot_id, uint8_t symb_id, uint16_t num_prbu, uint16_t start_prbu, uint16_t sym_inc, uint16_t rb, uint16_t sect_id, uint32_t *mb_free): xran_main.c'],['../xran__main_8c.html#a14cfa955b7fdf58378a97b4cfa7268f8',1,'xran_process_prach_sym(void *arg, struct rte_mbuf *mbuf, void *iq_data_start, uint16_t size, uint8_t CC_ID, uint8_t Ant_ID, uint8_t frame_id, uint8_t subframe_id, uint8_t slot_id, uint8_t symb_id, uint16_t num_prbu, uint16_t start_prbu, uint16_t sym_inc, uint16_t rb, uint16_t sect_id, uint32_t *mb_free): xran_main.c']]], + ['xran_5fprocess_5frx_5fsym',['xran_process_rx_sym',['../xran__common_8c.html#acb6ecf7858c99c963182b9b7884deca6',1,'xran_process_rx_sym(void *arg, struct rte_mbuf *mbuf, void *iq_data_start, uint16_t size, uint8_t CC_ID, uint8_t Ant_ID, uint8_t frame_id, uint8_t subframe_id, uint8_t slot_id, uint8_t symb_id, uint16_t num_prbu, uint16_t start_prbu, uint16_t sym_inc, uint16_t rb, uint16_t sect_id, uint32_t *mb_free): xran_main.c'],['../xran__main_8c.html#acb6ecf7858c99c963182b9b7884deca6',1,'xran_process_rx_sym(void *arg, struct rte_mbuf *mbuf, void *iq_data_start, uint16_t size, uint8_t CC_ID, uint8_t Ant_ID, uint8_t frame_id, uint8_t subframe_id, uint8_t slot_id, uint8_t symb_id, uint16_t num_prbu, uint16_t start_prbu, uint16_t sym_inc, uint16_t rb, uint16_t sect_id, uint32_t *mb_free): xran_main.c']]], + ['xran_5fprocess_5fsrs_5fsym',['xran_process_srs_sym',['../xran__common_8c.html#a300b87c29358bb161404c0122a9b2a46',1,'xran_process_srs_sym(void *arg, struct rte_mbuf *mbuf, void *iq_data_start, uint16_t size, uint8_t CC_ID, uint8_t Ant_ID, uint8_t frame_id, uint8_t subframe_id, uint8_t slot_id, uint8_t symb_id, uint16_t num_prbu, uint16_t start_prbu, uint16_t sym_inc, uint16_t rb, uint16_t sect_id, uint32_t *mb_free): xran_main.c'],['../xran__main_8c.html#a300b87c29358bb161404c0122a9b2a46',1,'xran_process_srs_sym(void *arg, struct rte_mbuf *mbuf, void *iq_data_start, uint16_t size, uint8_t CC_ID, uint8_t Ant_ID, uint8_t frame_id, uint8_t subframe_id, uint8_t slot_id, uint8_t symb_id, uint16_t num_prbu, uint16_t start_prbu, uint16_t sym_inc, uint16_t rb, uint16_t sect_id, uint32_t *mb_free): xran_main.c']]], + ['xran_5fprocess_5ftx_5fsym',['xran_process_tx_sym',['../xran__main_8c.html#a7645422ee7c8d332c29c3a54bf780ca3',1,'xran_process_tx_sym(void *arg): xran_main.c'],['../chain__tests_8cc.html#a5b3b3bf6af57ee77a2bb1701ad24c7db',1,'xran_process_tx_sym(void *arg): xran_main.c']]], + ['xran_5fprocess_5ftx_5fsym_5fcp_5foff',['xran_process_tx_sym_cp_off',['../xran__main_8c.html#a072be4e030e23440817b205256d2df29',1,'xran_main.c']]], + ['xran_5fprocess_5ftx_5fsym_5fcp_5fon',['xran_process_tx_sym_cp_on',['../xran__main_8c.html#ad2506f0edcccb4fbdc5b41b03270a1af',1,'xran_main.c']]], + ['xran_5fq_5fi_5forder',['XRAN_Q_I_ORDER',['../xran__fh__o__du_8h.html#a0d9cb4cebbc59a8fa5bfef7547898859affc94d5062a9df002a08262d843fc2f3',1,'xran_fh_o_du.h']]], + ['xran_5fradioapp_5fudcomp_5fheader',['xran_radioapp_udComp_header',['../structxran__radioapp__ud_comp__header.html',1,'']]], + ['xran_5frbind_5fevery',['XRAN_RBIND_EVERY',['../xran__cp__api_8h.html#a1087eb8c21d4b4e104b12a056ff65553a020e57090e5b6e614d303c027543fd16',1,'xran_cp_api.h']]], + ['xran_5frbind_5feveryother',['XRAN_RBIND_EVERYOTHER',['../xran__cp__api_8h.html#a1087eb8c21d4b4e104b12a056ff65553abaa831174169072d419180e49af5eb4a',1,'xran_cp_api.h']]], + ['xran_5frbind_5fmax',['XRAN_RBIND_MAX',['../xran__cp__api_8h.html#a1087eb8c21d4b4e104b12a056ff65553af94eec771b571088905e9268fd2b9fe6',1,'xran_cp_api.h']]], + ['xran_5frecv_5fpacket_5finfo',['xran_recv_packet_info',['../structxran__recv__packet__info.html',1,'']]], + ['xran_5freg_5fphyside_5fcb',['xran_reg_physide_cb',['../xran__fh__o__du_8h.html#aa8354b56b0be4be47c44a8a5c38db86e',1,'xran_reg_physide_cb(void *pHandle, xran_fh_tti_callback_fn Cb, void *cbParam, int skipTtiNum, enum callback_to_phy_id): xran_main.c'],['../xran__main_8c.html#a57bc216aff0d372305a6d13a072c605b',1,'xran_reg_physide_cb(void *pHandle, xran_fh_tti_callback_fn Cb, void *cbParam, int skipTtiNum, enum callback_to_phy_id id): xran_main.c']]], + ['xran_5freg_5fsym_5fcb',['xran_reg_sym_cb',['../xran__fh__o__du_8h.html#adfcabe4091a4782ecb9ca029314c99ca',1,'xran_reg_sym_cb(void *pHandle, xran_callback_sym_fn symCb, void *symCbParam, uint8_t symb, uint8_t ant): xran_main.c'],['../xran__main_8c.html#adfcabe4091a4782ecb9ca029314c99ca',1,'xran_reg_sym_cb(void *pHandle, xran_callback_sym_fn symCb, void *symCbParam, uint8_t symb, uint8_t ant): xran_main.c']]], + ['xran_5fregister_5fcb_5fmbuf2ring',['xran_register_cb_mbuf2ring',['../xran__common_8h.html#ad1ada9c5c57979c50f1a17a9050b8f3a',1,'xran_register_cb_mbuf2ring(xran_ethdi_mbuf_send_fn mbuf_send_cp, xran_ethdi_mbuf_send_fn mbuf_send_up): xran_main.c'],['../xran__main_8c.html#ad1ada9c5c57979c50f1a17a9050b8f3a',1,'xran_register_cb_mbuf2ring(xran_ethdi_mbuf_send_fn mbuf_send_cp, xran_ethdi_mbuf_send_fn mbuf_send_up): xran_main.c']]], + ['xran_5fregister_5fethertype_5fhandler',['xran_register_ethertype_handler',['../ethdi_8c.html#a69c763967ba7e28c4a589ce624c226ff',1,'xran_register_ethertype_handler(uint16_t ethertype, ethertype_handler callback): ethdi.c'],['../ethdi_8h.html#a69c763967ba7e28c4a589ce624c226ff',1,'xran_register_ethertype_handler(uint16_t ethertype, ethertype_handler callback): ethdi.c']]], + ['xran_5fring_5fnum',['XRAN_RING_NUM',['../xran__common_8h.html#ae185dfb0be13d1963c956fcf6714102e',1,'xran_common.h']]], + ['xran_5fring_5fsize',['XRAN_RING_SIZE',['../xran__common_8h.html#ab286e76cbbc1717b1834ad37012a8f1d',1,'xran_common.h']]], + ['xran_5fru_5fconfig',['xran_ru_config',['../structxran__ru__config.html',1,'']]], + ['xran_5frunning',['XRAN_RUNNING',['../xran__fh__o__du_8h.html#a2f600110ab5726a0f21375b7f24c0326a35916b54fc6804c2f2dc1f5891f3047e',1,'xran_fh_o_du.h']]], + ['xran_5fscs_5f120khz',['XRAN_SCS_120KHZ',['../xran__cp__api_8h.html#ab5fcc18cec14a3550b834bdf8f2d5797a96eb43a85832217358262f3e46898064',1,'xran_cp_api.h']]], + ['xran_5fscs_5f15khz',['XRAN_SCS_15KHZ',['../xran__cp__api_8h.html#ab5fcc18cec14a3550b834bdf8f2d5797a4f102d99af91a59da1a2b5cfa10ee21e',1,'xran_cp_api.h']]], + ['xran_5fscs_5f1p25khz',['XRAN_SCS_1P25KHZ',['../xran__cp__api_8h.html#ab5fcc18cec14a3550b834bdf8f2d5797a7b1db4ec545bde50a57a7153fc433171',1,'xran_cp_api.h']]], + ['xran_5fscs_5f240khz',['XRAN_SCS_240KHZ',['../xran__cp__api_8h.html#ab5fcc18cec14a3550b834bdf8f2d5797a4d077818bbfe659cbdacd2c381713609',1,'xran_cp_api.h']]], + ['xran_5fscs_5f30khz',['XRAN_SCS_30KHZ',['../xran__cp__api_8h.html#ab5fcc18cec14a3550b834bdf8f2d5797a5bedf05ecef7390187d6e2da90d4cfe5',1,'xran_cp_api.h']]], + ['xran_5fscs_5f3p75khz',['XRAN_SCS_3P75KHZ',['../xran__cp__api_8h.html#ab5fcc18cec14a3550b834bdf8f2d5797afe1b4bcac85f929f3f2c8d7d4d641638',1,'xran_cp_api.h']]], + ['xran_5fscs_5f5khz',['XRAN_SCS_5KHZ',['../xran__cp__api_8h.html#ab5fcc18cec14a3550b834bdf8f2d5797a63c359901283265eac9c1ecf92089aba',1,'xran_cp_api.h']]], + ['xran_5fscs_5f60khz',['XRAN_SCS_60KHZ',['../xran__cp__api_8h.html#ab5fcc18cec14a3550b834bdf8f2d5797a57974f0d02b7d26f8e9a142e5b86ec5c',1,'xran_cp_api.h']]], + ['xran_5fscs_5f7p5khz',['XRAN_SCS_7P5KHZ',['../xran__cp__api_8h.html#ab5fcc18cec14a3550b834bdf8f2d5797aa5bbc7ba0552033b34c65cb012da0345',1,'xran_cp_api.h']]], + ['xran_5fscs_5fmax',['XRAN_SCS_MAX',['../xran__cp__api_8h.html#ab5fcc18cec14a3550b834bdf8f2d5797a901be5608d974b8016a4e01615dd99f0',1,'xran_cp_api.h']]], + ['xran_5fsection_5fdesc',['xran_section_desc',['../structxran__section__desc.html',1,'']]], + ['xran_5fsection_5fgen_5finfo',['xran_section_gen_info',['../structxran__section__gen__info.html',1,'']]], + ['xran_5fsection_5finfo',['xran_section_info',['../structxran__section__info.html',1,'']]], + ['xran_5fsectionext1_5finfo',['xran_sectionext1_info',['../structxran__sectionext1__info.html',1,'']]], + ['xran_5fsectionext2_5finfo',['xran_sectionext2_info',['../structxran__sectionext2__info.html',1,'']]], + ['xran_5fsectionext3_5finfo',['xran_sectionext3_info',['../structxran__sectionext3__info.html',1,'']]], + ['xran_5fsectionext4_5finfo',['xran_sectionext4_info',['../structxran__sectionext4__info.html',1,'']]], + ['xran_5fsectionext5_5finfo',['xran_sectionext5_info',['../structxran__sectionext5__info.html',1,'']]], + ['xran_5fsectionext_5falign',['XRAN_SECTIONEXT_ALIGN',['../xran__cp__api_8h.html#a63f308af419e410c6e3996a79d2c9897',1,'xran_cp_api.h']]], + ['xran_5fsectionext_5finfo',['xran_sectionext_info',['../structxran__sectionext__info.html',1,'']]], + ['xran_5fsectioninfo_5fdb',['xran_sectioninfo_db',['../structxran__sectioninfo__db.html',1,'']]], + ['xran_5fsector_5fget_5finstances',['xran_sector_get_instances',['../xran__fh__o__du_8h.html#adf5ead6a9f90b5d524e8012521d64bb5',1,'xran_sector_get_instances(void *pHandle, uint16_t nNumInstances, xran_cc_handle_t *pSectorInstanceHandles): xran_main.c'],['../xran__main_8c.html#acdd1d3179a2ecc831b45df3ac4ee230c',1,'xran_sector_get_instances(void *pDevHandle, uint16_t nNumInstances, xran_cc_handle_t *pSectorInstanceHandles): xran_main.c']]], + ['xran_5fsfn_5fat_5fsec_5fstart',['xran_SFN_at_Sec_Start',['../xran__main_8c.html#a0ff39df15c9c5e487a730d422d2c4725',1,'xran_main.c']]], + ['xran_5fslot_5fconfig',['xran_slot_config',['../structxran__slot__config.html',1,'']]], + ['xran_5fslot_5ftype_5fdl',['XRAN_SLOT_TYPE_DL',['../xran__fh__o__du_8h.html#a3640d50cafb5ccc15b73219309f60a3b',1,'xran_fh_o_du.h']]], + ['xran_5fslot_5ftype_5ffdd',['XRAN_SLOT_TYPE_FDD',['../xran__fh__o__du_8h.html#ad997c19049d5e80611e4360b1ed79b80',1,'xran_fh_o_du.h']]], + ['xran_5fslot_5ftype_5finvalid',['XRAN_SLOT_TYPE_INVALID',['../xran__fh__o__du_8h.html#a81efa76a214d1fd1b9b409bdea15c87c',1,'xran_fh_o_du.h']]], + ['xran_5fslot_5ftype_5flast',['XRAN_SLOT_TYPE_LAST',['../xran__fh__o__du_8h.html#a581b66d2fea333f0a2e9ca3f9589fd89',1,'xran_fh_o_du.h']]], + ['xran_5fslot_5ftype_5fsp',['XRAN_SLOT_TYPE_SP',['../xran__fh__o__du_8h.html#a37ddab95bdd53de1ee17a3607a183eae',1,'xran_fh_o_du.h']]], + ['xran_5fslot_5ftype_5ful',['XRAN_SLOT_TYPE_UL',['../xran__fh__o__du_8h.html#a3167443dbf786f9b87a133119a8f69e8',1,'xran_fh_o_du.h']]], + ['xran_5fslotid_5fmax',['XRAN_SLOTID_MAX',['../xran__cp__api_8h.html#a7db7a997624aa3f2bb6c24afce785d8f',1,'xran_cp_api.h']]], + ['xran_5fsrs_5fconfig',['xran_srs_config',['../structxran__srs__config.html',1,'']]], + ['xran_5fstart',['xran_start',['../xran__fh__o__du_8h.html#ad4852c0827600db95f9841e2f5f9f6f1',1,'xran_start(void *pHandle): xran_main.c'],['../xran__main_8c.html#ad4852c0827600db95f9841e2f5f9f6f1',1,'xran_start(void *pHandle): xran_main.c']]], + ['xran_5fstatus_5ffail',['XRAN_STATUS_FAIL',['../xran__fh__o__du_8h.html#a4a957453875309739caacdd651bdab75',1,'xran_fh_o_du.h']]], + ['xran_5fstatus_5ffatal',['XRAN_STATUS_FATAL',['../xran__fh__o__du_8h.html#ace75e6583c9238fc2f957c3cc9b92ec4',1,'xran_fh_o_du.h']]], + ['xran_5fstatus_5finvalid_5fpacket',['XRAN_STATUS_INVALID_PACKET',['../xran__fh__o__du_8h.html#a6602a966370956b35631e68698539cac',1,'xran_fh_o_du.h']]], + ['xran_5fstatus_5finvalid_5fparam',['XRAN_STATUS_INVALID_PARAM',['../xran__fh__o__du_8h.html#aad8a35383b986f4ca80437468b6c625f',1,'xran_fh_o_du.h']]], + ['xran_5fstatus_5fresource',['XRAN_STATUS_RESOURCE',['../xran__fh__o__du_8h.html#a341e6485fd9de350805503e938f90708',1,'xran_fh_o_du.h']]], + ['xran_5fstatus_5fretry',['XRAN_STATUS_RETRY',['../xran__fh__o__du_8h.html#a746b130d3c5db158af75c32c240183fc',1,'xran_fh_o_du.h']]], + ['xran_5fstatus_5fsuccess',['XRAN_STATUS_SUCCESS',['../xran__fh__o__du_8h.html#a814959a7b5ff6cd4474433f62312eee0',1,'xran_fh_o_du.h']]], + ['xran_5fstatus_5ft',['xran_status_t',['../xran__fh__o__du_8h.html#aa3ceca070f84e316e0e2f6002419d572',1,'xran_fh_o_du.h']]], + ['xran_5fstatus_5funsupported',['XRAN_STATUS_UNSUPPORTED',['../xran__fh__o__du_8h.html#a45590c7e932d3d78451dd72d2cbf5454',1,'xran_fh_o_du.h']]], + ['xran_5fstop',['xran_stop',['../xran__fh__o__du_8h.html#a8f2daee2fe90126f1f7c361b7760a7a3',1,'xran_stop(void *pHandle): xran_main.c'],['../xran__main_8c.html#a8f2daee2fe90126f1f7c361b7760a7a3',1,'xran_stop(void *pHandle): xran_main.c']]], + ['xran_5fstopped',['XRAN_STOPPED',['../xran__fh__o__du_8h.html#a2f600110ab5726a0f21375b7f24c0326a57a68dd3f4413f7cc255838c4442938c',1,'xran_fh_o_du.h']]], + ['xran_5fstrict_5fparm_5fcheck',['XRAN_STRICT_PARM_CHECK',['../xran__fh__o__du_8h.html#ac1cd6517de77baee725c67b3e5bd417c',1,'xran_fh_o_du.h']]], + ['xran_5fsymbol_5ftype_5fdl',['XRAN_SYMBOL_TYPE_DL',['../xran__fh__o__du_8h.html#aa7db41b67e2cd3be904b7332d8df6657',1,'xran_fh_o_du.h']]], + ['xran_5fsymbol_5ftype_5ffdd',['XRAN_SYMBOL_TYPE_FDD',['../xran__fh__o__du_8h.html#ac7915d813606499af39f5e952391fded',1,'xran_fh_o_du.h']]], + ['xran_5fsymbol_5ftype_5fguard',['XRAN_SYMBOL_TYPE_GUARD',['../xran__fh__o__du_8h.html#a0e0df6a907cf2724cf3e531d7f18fb3c',1,'xran_fh_o_du.h']]], + ['xran_5fsymbol_5ftype_5ful',['XRAN_SYMBOL_TYPE_UL',['../xran__fh__o__du_8h.html#a78bce62effeb80d1e2bda74c6ee3d5f4',1,'xran_fh_o_du.h']]], + ['xran_5fsymbolnumber_5finc',['XRAN_SYMBOLNUMBER_INC',['../xran__cp__api_8h.html#a056d791208720148306b686856cd36b0a24b002ad82b562efb71a187df7665db3',1,'xran_cp_api.h']]], + ['xran_5fsymbolnumber_5finc_5fmax',['XRAN_SYMBOLNUMBER_INC_MAX',['../xran__cp__api_8h.html#a056d791208720148306b686856cd36b0a413ab49f1a7d0a18b19ebd243c064227',1,'xran_cp_api.h']]], + ['xran_5fsymbolnumber_5fmax',['XRAN_SYMBOLNUMBER_MAX',['../xran__cp__api_8h.html#a1d78ee29f7a9b4f518b184f039830372',1,'xran_cp_api.h']]], + ['xran_5fsymbolnumber_5fmin',['XRAN_SYMBOLNUMBER_MIN',['../xran__cp__api_8h.html#abf98f6e7977eb11f3030825ccd7d055b',1,'xran_cp_api.h']]], + ['xran_5fsymbolnumber_5fnotinc',['XRAN_SYMBOLNUMBER_NOTINC',['../xran__cp__api_8h.html#a056d791208720148306b686856cd36b0a2968e08e8282588813b4ace40df05c8e',1,'xran_cp_api.h']]], + ['xran_5fsync_5fapi_2ec',['xran_sync_api.c',['../xran__sync__api_8c.html',1,'']]], + ['xran_5fsync_5fapi_2eh',['xran_sync_api.h',['../xran__sync__api_8h.html',1,'']]], + ['xran_5ftdd',['XRAN_TDD',['../xran__fh__o__du_8h.html#a1784f85d62401cba0ffb49c4d2467aaeaf54a8e4c1661f320606100a7f5bc0d08',1,'xran_fh_o_du.h']]], + ['xran_5fthread_5fdefault_5fprio',['XRAN_THREAD_DEFAULT_PRIO',['../ethdi_8h.html#a3822681248af17c36115a411e29e5fc2',1,'ethdi.h']]], + ['xran_5ftick',['xran_tick',['../xran__timer_8h.html#a1d2f23e35725cd993cbb72de9f4f565a',1,'xran_tick(void): xran_timer.c'],['../xran__timer_8c.html#a1d2f23e35725cd993cbb72de9f4f565a',1,'xran_tick(void): xran_timer.c']]], + ['xran_5ftimer_2ec',['xran_timer.c',['../xran__timer_8c.html',1,'']]], + ['xran_5ftimer_2eh',['xran_timer.h',['../xran__timer_8h.html',1,'']]], + ['xran_5ftimer_5farm',['xran_timer_arm',['../xran__main_8c.html#a5b8958fc5688ba856cba84038ee4b938',1,'xran_main.c']]], + ['xran_5ftimer_5farm_5fex',['xran_timer_arm_ex',['../xran__main_8c.html#a96de765800aa6de0788fc530cbc16825',1,'xran_main.c']]], + ['xran_5ftimer_5fctx',['xran_timer_ctx',['../structxran_lib_wraper_1_1xran__timer__ctx.html',1,'xranLibWraper::xran_timer_ctx'],['../structxran__timer__ctx.html',1,'xran_timer_ctx']]], + ['xran_5ftiming_5fsource_5fthread',['xran_timing_source_thread',['../xran__main_8c.html#ae4973aab78785b0738c729b26a1474e2',1,'xran_main.c']]], + ['xran_5ftransport_2ec',['xran_transport.c',['../xran__transport_8c.html',1,'']]], + ['xran_5ftransport_2eh',['xran_transport.h',['../xran__transport_8h.html',1,'']]], + ['xran_5ftransport_5fcallback_5ffn',['xran_transport_callback_fn',['../xran__fh__o__du_8h.html#ad52207145e383ae136995f5a2b7dd82d',1,'xran_fh_o_du.h']]], + ['xran_5ful_5ftables_2ec',['xran_ul_tables.c',['../xran__ul__tables_8c.html',1,'']]], + ['xran_5fup_5fapi_2ec',['xran_up_api.c',['../xran__up__api_8c.html',1,'']]], + ['xran_5fup_5fapi_2eh',['xran_up_api.h',['../xran__up__api_8h.html',1,'']]], + ['xran_5fup_5fpkt_5fgen_5fno_5fcompression_5fparams',['xran_up_pkt_gen_no_compression_params',['../structxran__up__pkt__gen__no__compression__params.html',1,'']]], + ['xran_5fup_5fpkt_5fgen_5fparams',['xran_up_pkt_gen_params',['../structxran__up__pkt__gen__params.html',1,'']]], + ['xran_5fup_5fpkt_5fhdr',['xran_up_pkt_hdr',['../structxran__up__pkt__hdr.html',1,'']]], + ['xran_5fup_5fvf',['XRAN_UP_VF',['../xran__fh__o__du_8h.html#a185d8ae20c697568878935f0a260227aafe31ae20f49aa6ca5a568bfdc89f69ab',1,'xran_fh_o_du.h']]], + ['xran_5fupdate_5fecpri_5fpayload_5fsize',['xran_update_ecpri_payload_size',['../xran__transport_8h.html#a7070bae58b40a4621354bda1677261af',1,'xran_update_ecpri_payload_size(struct rte_mbuf *mbuf, int size): xran_transport.c'],['../xran__transport_8c.html#a7070bae58b40a4621354bda1677261af',1,'xran_update_ecpri_payload_size(struct rte_mbuf *mbuf, int size): xran_transport.c']]], + ['xran_5fupdatesfnsecstart',['xran_updateSfnSecStart',['../xran__common_8h.html#adbe808fba48ef1390180fb1bdc68c1d7',1,'xran_updateSfnSecStart(void): xran_main.c'],['../xran__main_8c.html#adbe808fba48ef1390180fb1bdc68c1d7',1,'xran_updateSfnSecStart(void): xran_main.c']]], + ['xran_5fut_5fcfg_5ffilename',['XRAN_UT_CFG_FILENAME',['../xran__lib__wrap_8hpp.html#a7959c3e12f3260a6461fe2610203d1af',1,'xran_lib_wrap.hpp']]], + ['xran_5fut_5fkey_5fglobalcfg',['XRAN_UT_KEY_GLOBALCFG',['../xran__lib__wrap_8hpp.html#a7c71ebeaaa34df8b1f1e2f33c6d7a54e',1,'xran_lib_wrap.hpp']]], + ['xran_5fut_5fkey_5fglobalcfg_5feaxcid',['XRAN_UT_KEY_GLOBALCFG_EAXCID',['../xran__lib__wrap_8hpp.html#ad8d180966ea390f149dea00f5616b540',1,'xran_lib_wrap.hpp']]], + ['xran_5fut_5fkey_5fglobalcfg_5fio',['XRAN_UT_KEY_GLOBALCFG_IO',['../xran__lib__wrap_8hpp.html#ad3747a607e4b273dfae8278854ffc532',1,'xran_lib_wrap.hpp']]], + ['xran_5fut_5fkey_5fglobalcfg_5fprach',['XRAN_UT_KEY_GLOBALCFG_PRACH',['../xran__lib__wrap_8hpp.html#a0c97e7d2cdb34b857e3b6de86b49f55d',1,'xran_lib_wrap.hpp']]], + ['xran_5fut_5fkey_5fglobalcfg_5fru',['XRAN_UT_KEY_GLOBALCFG_RU',['../xran__lib__wrap_8hpp.html#a98f3e1fb2c2dd1381aac8d01b293486a',1,'xran_lib_wrap.hpp']]], + ['xran_5fut_5fkey_5fglobalcfg_5fslot',['XRAN_UT_KEY_GLOBALCFG_SLOT',['../xran__lib__wrap_8hpp.html#a1976c5b3ee9779f3fe720e706b5c4e72',1,'xran_lib_wrap.hpp']]], + ['xran_5fut_5fprepare_5fcp',['xran_ut_prepare_cp',['../c__plane__tests_8cc.html#ab22c1305386eabc256bc6d3492d50846',1,'c_plane_tests.cc']]], + ['xran_5fut_5ftx_5fcp_5fdl',['xran_ut_tx_cp_dl',['../chain__tests_8cc.html#af4e08ea14f09b53fce43ec39aba7a605',1,'chain_tests.cc']]], + ['xran_5fut_5ftx_5fcp_5ful',['xran_ut_tx_cp_ul',['../chain__tests_8cc.html#a61f8088ed26f5ccc6a323c3b0feb66c2',1,'chain_tests.cc']]], + ['xran_5fut_5ftx_5fcpup_5fdl',['xran_ut_tx_cpup_dl',['../chain__tests_8cc.html#ad274ca70e6c47c2c549422b1cba1f0b0',1,'chain_tests.cc']]], + ['xran_5fut_5ftx_5fup_5fdl',['xran_ut_tx_up_dl',['../chain__tests_8cc.html#a73639c0dcf18fe068dc350fc0c8ba2f2',1,'chain_tests.cc']]], + ['xran_5fvf_5fmax',['XRAN_VF_MAX',['../xran__fh__o__du_8h.html#a185d8ae20c697568878935f0a260227aaacf0b73353fef317536c389fcccde6ac',1,'xran_fh_o_du.h']]], + ['xran_5fvf_5fports',['xran_vf_ports',['../xran__fh__o__du_8h.html#a185d8ae20c697568878935f0a260227a',1,'xran_fh_o_du.h']]], + ['xran_5fweight_5fbased_5fbeamforming_5ftype',['xran_weight_based_beamforming_type',['../xran__fh__o__du_8h.html#a80cd33d519d5b1993e2a1de8b78b3059',1,'xran_fh_o_du.h']]], + ['xrancat',['xranCat',['../struct___runtime_config.html#ad674f5880669afb1153cf6e77b64a838',1,'_RuntimeConfig::xranCat()'],['../structxran__ru__config.html#af92ff2dfd2bddd0880d779c04b9fb359',1,'xran_ru_config::xranCat()']]], + ['xranconf',['xranConf',['../sample-app_8c.html#adb46cbd655db6e9c061f62d161f7d2b0',1,'sample-app.c']]], + ['xrandecrementctx',['XranDecrementCtx',['../xran__main_8c.html#aa552d067ce32d770eb31618b0af0eacb',1,'xran_main.c']]], + ['xrandecrementsymidx',['XranDecrementSymIdx',['../xran__timer_8h.html#adad74a9ce67793dc420e0a5045f22cb0',1,'xran_timer.h']]], + ['xrandiffsymidx',['XranDiffSymIdx',['../xran__common_8h.html#a7750de5c922f8dd59f0a46526f874957',1,'xran_common.h']]], + ['xranframeduplextype',['XranFrameDuplexType',['../xran__fh__o__du_8h.html#a1784f85d62401cba0ffb49c4d2467aae',1,'xran_fh_o_du.h']]], + ['xranfthrach_5fin',['XRANFTHRACH_IN',['../classxran_lib_wraper.html#afecde4b156cd353cb29487bbb9675d46a08f01b9504a22e9c6b9692585b471729',1,'xranLibWraper::XRANFTHRACH_IN()'],['../sample-app_8c.html#afecde4b156cd353cb29487bbb9675d46a08f01b9504a22e9c6b9692585b471729',1,'XRANFTHRACH_IN(): sample-app.c']]], + ['xranfthrx_5fin',['XRANFTHRX_IN',['../classxran_lib_wraper.html#afecde4b156cd353cb29487bbb9675d46a18a697e15ab9936bdc60f3e5b83ddf54',1,'xranLibWraper::XRANFTHRX_IN()'],['../sample-app_8c.html#afecde4b156cd353cb29487bbb9675d46a18a697e15ab9936bdc60f3e5b83ddf54',1,'XRANFTHRX_IN(): sample-app.c']]], + ['xranfthrx_5fprb_5fmap_5fin',['XRANFTHRX_PRB_MAP_IN',['../classxran_lib_wraper.html#afecde4b156cd353cb29487bbb9675d46a49ff95bd57852bfa8cfd8039fffad1e2',1,'xranLibWraper::XRANFTHRX_PRB_MAP_IN()'],['../sample-app_8c.html#afecde4b156cd353cb29487bbb9675d46a49ff95bd57852bfa8cfd8039fffad1e2',1,'XRANFTHRX_PRB_MAP_IN(): sample-app.c']]], + ['xranfthtx_5fout',['XRANFTHTX_OUT',['../classxran_lib_wraper.html#afecde4b156cd353cb29487bbb9675d46a4d401558e32ed1e564c795cdc03ee5e5',1,'xranLibWraper::XRANFTHTX_OUT()'],['../sample-app_8c.html#afecde4b156cd353cb29487bbb9675d46a4d401558e32ed1e564c795cdc03ee5e5',1,'XRANFTHTX_OUT(): sample-app.c']]], + ['xranfthtx_5fprb_5fmap_5fout',['XRANFTHTX_PRB_MAP_OUT',['../classxran_lib_wraper.html#afecde4b156cd353cb29487bbb9675d46a93393e301d55554422fb4780cbaf1cb1',1,'xranLibWraper::XRANFTHTX_PRB_MAP_OUT()'],['../sample-app_8c.html#afecde4b156cd353cb29487bbb9675d46a93393e301d55554422fb4780cbaf1cb1',1,'XRANFTHTX_PRB_MAP_OUT(): sample-app.c']]], + ['xranfthtx_5fsec_5fdesc_5fin',['XRANFTHTX_SEC_DESC_IN',['../classxran_lib_wraper.html#afecde4b156cd353cb29487bbb9675d46adc5b684e21c0681c775b8f903328de35',1,'xranLibWraper::XRANFTHTX_SEC_DESC_IN()'],['../sample-app_8c.html#afecde4b156cd353cb29487bbb9675d46adc5b684e21c0681c775b8f903328de35',1,'XRANFTHTX_SEC_DESC_IN(): sample-app.c']]], + ['xranfthtx_5fsec_5fdesc_5fout',['XRANFTHTX_SEC_DESC_OUT',['../classxran_lib_wraper.html#afecde4b156cd353cb29487bbb9675d46a18f6c4a01fa5ed71ccbe1caa53201f4b',1,'xranLibWraper::XRANFTHTX_SEC_DESC_OUT()'],['../sample-app_8c.html#afecde4b156cd353cb29487bbb9675d46a18f6c4a01fa5ed71ccbe1caa53201f4b',1,'XRANFTHTX_SEC_DESC_OUT(): sample-app.c']]], + ['xrangetframenum',['XranGetFrameNum',['../xran__fh__o__du_8h.html#a5a8a3a7c7c4ff43865b57971dfbf0aa6',1,'xran_fh_o_du.h']]], + ['xrangetslotnum',['XranGetSlotNum',['../xran__fh__o__du_8h.html#a36c7ae37e30524321b18fde971372b92',1,'xran_fh_o_du.h']]], + ['xrangetsubframenum',['XranGetSubFrameNum',['../xran__fh__o__du_8h.html#a5ca2a2076a042acdca2e326a436a7882',1,'xran_fh_o_du.h']]], + ['xrangetsymnum',['XranGetSymNum',['../xran__fh__o__du_8h.html#a605ecc3c0ad6066e39465a108b873373',1,'xran_fh_o_du.h']]], + ['xrangetttinum',['XranGetTtiNum',['../xran__fh__o__du_8h.html#aa76014e778bb54907d85e05cac204d71',1,'xran_fh_o_du.h']]], + ['xranhandle',['xranHandle',['../sample-app_8c.html#a85ff1667d07b822b2c7f5a91a0c0bc95',1,'sample-app.c']]], + ['xranincrementctx',['XranIncrementCtx',['../xran__main_8c.html#af0c52a84a91cf33014ff0b0f11a65c69',1,'xran_main.c']]], + ['xranincrementjob',['XranIncrementJob',['../xran__common_8h.html#a36f71a62df15a0f43a49ca89a633288d',1,'xran_common.h']]], + ['xranincrementsymidx',['XranIncrementSymIdx',['../xran__timer_8h.html#acdb0852cc30aec56cfe119620ec7ba7d',1,'xran_timer.h']]], + ['xranlib',['xranlib',['../xran__lib__wrap_8hpp.html#a1b2100f9f398243bb4bdbf0db003b9a3',1,'xranlib(): xranlib_unit_test_main.cc'],['../xranlib__unit__test__main_8cc.html#a1b2100f9f398243bb4bdbf0db003b9a3',1,'xranlib(): xranlib_unit_test_main.cc']]], + ['xranlib_5fcompanding_5fversion',['xranlib_companding_version',['../xran__compression_8h.html#a0032610d5043d8df490b0bc403c35a45',1,'xran_compression.h']]], + ['xranlib_5fcompress',['xranlib_compress',['../xran__compression_8h.html#aa08016c7e24398f0f220f01b3a98c15f',1,'xran_compression.h']]], + ['xranlib_5fcompress_5favx2',['xranlib_compress_avx2',['../xran__compression_8h.html#a142dbbd7f519c433ffa88614d3913118',1,'xran_compression.h']]], + ['xranlib_5fcompress_5favx512',['xranlib_compress_avx512',['../xran__compression_8h.html#aa6b18eb6f1138abd91d649218c2950d4',1,'xranlib_compress_avx512(const struct xranlib_compress_request *request, struct xranlib_compress_response *response): xran_compression.cpp'],['../xran__compression_8cpp.html#a0651de68e87558106615163f96b3e599',1,'xranlib_compress_avx512(const struct xranlib_compress_request *request, struct xranlib_compress_response *response): xran_compression.cpp']]], + ['xranlib_5fcompress_5favx512_5fbfw',['xranlib_compress_avx512_bfw',['../xran__compression_8h.html#a55f53f65b294f4b5f75190e3565ac295',1,'xranlib_compress_avx512_bfw(const struct xranlib_compress_request *request, struct xranlib_compress_response *response): xran_compression.cpp'],['../xran__compression_8cpp.html#aa027200fc051c80b515ee8aeadf44a0e',1,'xranlib_compress_avx512_bfw(const struct xranlib_compress_request *request, struct xranlib_compress_response *response): xran_compression.cpp']]], + ['xranlib_5fcompress_5frequest',['xranlib_compress_request',['../structxranlib__compress__request.html',1,'']]], + ['xranlib_5fcompress_5fresponse',['xranlib_compress_response',['../structxranlib__compress__response.html',1,'']]], + ['xranlib_5fcompress_5fsse',['xranlib_compress_sse',['../xran__compression_8h.html#a642992d274eca873db77a58c482ac073',1,'xran_compression.h']]], + ['xranlib_5fdecompress',['xranlib_decompress',['../xran__compression_8h.html#a87039039cf9791d4b9df993db7552a65',1,'xran_compression.h']]], + ['xranlib_5fdecompress_5favx2',['xranlib_decompress_avx2',['../xran__compression_8h.html#aaedd509b1e2db7c3df0022c6c4efb88b',1,'xran_compression.h']]], + ['xranlib_5fdecompress_5favx512',['xranlib_decompress_avx512',['../xran__compression_8h.html#a37cf9d6083277717f55016a8c160c635',1,'xranlib_decompress_avx512(const struct xranlib_decompress_request *request, struct xranlib_decompress_response *response): xran_compression.cpp'],['../xran__compression_8cpp.html#a2bd6ebeefb6ca9674598d443e697918c',1,'xranlib_decompress_avx512(const struct xranlib_decompress_request *request, struct xranlib_decompress_response *response): xran_compression.cpp']]], + ['xranlib_5fdecompress_5frequest',['xranlib_decompress_request',['../structxranlib__decompress__request.html',1,'']]], + ['xranlib_5fdecompress_5fresponse',['xranlib_decompress_response',['../structxranlib__decompress__response.html',1,'']]], + ['xranlib_5fdecompress_5fsse',['xranlib_decompress_sse',['../xran__compression_8h.html#acdf24f8d97689c6ec0394c44888787ff',1,'xran_compression.h']]], + ['xranlib_5funit_5ftest_5fmain_2ecc',['xranlib_unit_test_main.cc',['../xranlib__unit__test__main_8cc.html',1,'']]], + ['xranlibconfig',['XranLibConfig',['../struct_xran_lib_config.html',1,'']]], + ['xranlibconfigstruct',['XranLibConfigStruct',['../sample-app_8c.html#a9e73332de8429fbfbe1463ec8a596750',1,'sample-app.c']]], + ['xranlibwraper',['xranLibWraper',['../classxran_lib_wraper.html',1,'xranLibWraper'],['../classxran_lib_wraper.html#a2e64fc338fcfaac25af91aae564777fa',1,'xranLibWraper::xranLibWraper()']]], + ['xranoffsetsym',['XranOffsetSym',['../xran__main_8c.html#ab458f491dfd93be111edf3f3b0d4da71',1,'xran_main.c']]], + ['xranprachconfigtablestruct',['xRANPrachConfigTableStruct',['../structx_r_a_n_prach_config_table_struct.html',1,'']]], + ['xranprachpreamblelrastruct',['xRANPrachPreambleLRAStruct',['../structx_r_a_n_prach_preamble_l_r_a_struct.html',1,'']]], + ['xransectorhandleinfo',['XranSectorHandleInfo',['../xran__common_8h.html#a1b1b6d20669bcb5b9639a5f3a95052fd',1,'xran_common.h']]], + ['xransrs_5fin',['XRANSRS_IN',['../sample-app_8c.html#afecde4b156cd353cb29487bbb9675d46a0fe4cdc5d4c20e436c265a81916d8e0c',1,'sample-app.c']]], + ['xransymcallbackfn',['XranSymCallbackFn',['../xran__common_8h.html#a7834322ce91726fa8a97364682c6de9d',1,'xran_common.h']]] +]; diff --git a/docs/API/search/all_19.html b/docs/API/search/all_19.html new file mode 100644 index 0000000..4fdfe46 --- /dev/null +++ b/docs/API/search/all_19.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/all_19.js b/docs/API/search/all_19.js new file mode 100644 index 0000000..6445460 --- /dev/null +++ b/docs/API/search/all_19.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['y',['y',['../structx_r_a_n_prach_config_table_struct.html#a1d627e83c5e0ae889b71ea0508991f29',1,'xRANPrachConfigTableStruct::y()'],['../structxran__prach__cp__config.html#a1d627e83c5e0ae889b71ea0508991f29',1,'xran_prach_cp_config::y()']]] +]; diff --git a/docs/API/search/all_1a.html b/docs/API/search/all_1a.html new file mode 100644 index 0000000..8c85d9d --- /dev/null +++ b/docs/API/search/all_1a.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/all_1a.js b/docs/API/search/all_1a.js new file mode 100644 index 0000000..5c7d7d1 --- /dev/null +++ b/docs/API/search/all_1a.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['_7ebasic_5fjson',['~basic_json',['../classnlohmann_1_1basic__json.html#a5d09c330bdb8627ef5ed12a5ff38b542',1,'nlohmann::basic_json']]], + ['_7exranlibwraper',['~xranLibWraper',['../classxran_lib_wraper.html#a6608686375e6c9e5c3ce59970e4b90e0',1,'xranLibWraper']]] +]; diff --git a/docs/API/search/all_2.html b/docs/API/search/all_2.html new file mode 100644 index 0000000..9543c57 --- /dev/null +++ b/docs/API/search/all_2.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/all_2.js b/docs/API/search/all_2.js new file mode 100644 index 0000000..90a4790 --- /dev/null +++ b/docs/API/search/all_2.js @@ -0,0 +1,100 @@ +var searchData= +[ + ['back',['back',['../classnlohmann_1_1basic__json.html#af71e6c1eccbc12e9339c00a86a981a43',1,'nlohmann::basic_json::back()'],['../classnlohmann_1_1basic__json.html#a61772c77ad2abfbb296912e7281e154c',1,'nlohmann::basic_json::back() const']]], + ['band_5fid',['band_id',['../structxran__prb__map.html#a1c85ead6321835264d2451291430a7da',1,'xran_prb_map']]], + ['bandsectorid',['bandSectorId',['../structxran__eaxc__info.html#a7d93f32b8b4f771bd3ccf0b917cbec8b',1,'xran_eaxc_info']]], + ['base_5fiterator',['base_iterator',['../classnlohmann_1_1basic__json_1_1json__reverse__iterator.html#a538d9aea2b1ad6e7bf2dfa81263e87b2',1,'nlohmann::basic_json::json_reverse_iterator']]], + ['basic_5fjson',['basic_json',['../classnlohmann_1_1basic__json.html',1,'basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >'],['../classnlohmann_1_1basic__json_1_1iter__impl.html#ada3100cdb8700566051828f1355fa745',1,'nlohmann::basic_json::iter_impl::basic_json()'],['../classnlohmann_1_1basic__json_1_1json__pointer.html#ada3100cdb8700566051828f1355fa745',1,'nlohmann::basic_json::json_pointer::basic_json()'],['../classnlohmann_1_1basic__json.html#af2ec44358263a76e8289454bd0514f69',1,'nlohmann::basic_json::basic_json(const value_t value_type)'],['../classnlohmann_1_1basic__json.html#a87c8001776394acd236550ac497556b3',1,'nlohmann::basic_json::basic_json(std::nullptr_t=nullptr) noexcept'],['../classnlohmann_1_1basic__json.html#a12cfdf59e8552b8604c71585e6dd32bc',1,'nlohmann::basic_json::basic_json(CompatibleType &&val) noexcept(noexcept(JSONSerializer< U >::to_json(std::declval< basic_json_t &>(), std::forward< CompatibleType >(val))))'],['../classnlohmann_1_1basic__json.html#a0ed1b6bedb9c7915b6e4bdca58d9921d',1,'nlohmann::basic_json::basic_json(std::initializer_list< basic_json > init, bool type_deduction=true, value_t manual_type=value_t::array)'],['../classnlohmann_1_1basic__json.html#a87b55a17c55bfd7d77f7e8ee05a13211',1,'nlohmann::basic_json::basic_json(size_type cnt, const basic_json &val)'],['../classnlohmann_1_1basic__json.html#a0d91af4d13eb01626697367f92991b19',1,'nlohmann::basic_json::basic_json(InputIT first, InputIT last)'],['../classnlohmann_1_1basic__json.html#a8ba521ef10c3a04a086c19526c3cdc64',1,'nlohmann::basic_json::basic_json(std::istream &i, const parser_callback_t cb=nullptr)'],['../classnlohmann_1_1basic__json.html#a9a119fd02c79c9acab75c1cc6a8e9dea',1,'nlohmann::basic_json::basic_json(const basic_json &other)'],['../classnlohmann_1_1basic__json.html#a9288df424f61d19905ae6f3d8152225a',1,'nlohmann::basic_json::basic_json(basic_json &&other) noexcept']]], + ['bbdev_5fdec',['bbdev_dec',['../structxran__fh__config.html#a264d30877c919a7f5a20e2b9b35c8aeb',1,'xran_fh_config::bbdev_dec()'],['../structxran__device__ctx.html#a264d30877c919a7f5a20e2b9b35c8aeb',1,'xran_device_ctx::bbdev_dec()']]], + ['bbdev_5fdev',['bbdev_dev',['../structxran__io__cfg.html#a64ddf49fc9f31dbe434f9ee6b0a08db4',1,'xran_io_cfg::bbdev_dev()'],['../structxran__io__loop__cfg.html#a64ddf49fc9f31dbe434f9ee6b0a08db4',1,'xran_io_loop_cfg::bbdev_dev()']]], + ['bbdev_5fenc',['bbdev_enc',['../structxran__fh__config.html#a82f0cc2ac9daada1e8330e3a91ec296b',1,'xran_fh_config::bbdev_enc()'],['../structxran__device__ctx.html#a82f0cc2ac9daada1e8330e3a91ec296b',1,'xran_device_ctx::bbdev_enc()']]], + ['bbdev_5fmode',['bbdev_mode',['../structxran__io__cfg.html#ab99f9c6dba4d5fdc09299b3ac670503c',1,'xran_io_cfg::bbdev_mode()'],['../structxran__io__loop__cfg.html#a42ca365685976f50257addd91dfc653a',1,'xran_io_loop_cfg::bbdev_mode()']]], + ['bbdevmode',['bbdevMode',['../struct___runtime_config.html#aed69c3a25134cbc416f08a2138ab1136',1,'_RuntimeConfig']]], + ['bblib_5fbpsk',['BBLIB_BPSK',['../common__typedef__xran_8h.html#ae4964776723fd520ab6b6bfc0e67a8b6affa185d00e64c0fc312a10c71c144bfe',1,'common_typedef_xran.h']]], + ['bblib_5fmodulation_5forder',['bblib_modulation_order',['../common__typedef__xran_8h.html#ae4964776723fd520ab6b6bfc0e67a8b6',1,'common_typedef_xran.h']]], + ['bblib_5fpam16',['BBLIB_PAM16',['../common__typedef__xran_8h.html#ae4964776723fd520ab6b6bfc0e67a8b6ad1d71af50723bd8a63f71121583ab733',1,'common_typedef_xran.h']]], + ['bblib_5fpam4',['BBLIB_PAM4',['../common__typedef__xran_8h.html#ae4964776723fd520ab6b6bfc0e67a8b6ae29379fddc7553a86ec472c04dd2de75',1,'common_typedef_xran.h']]], + ['bblib_5fpam8',['BBLIB_PAM8',['../common__typedef__xran_8h.html#ae4964776723fd520ab6b6bfc0e67a8b6abc850d4e4f30926a8765a407ff5aad1d',1,'common_typedef_xran.h']]], + ['bblib_5fqam16',['BBLIB_QAM16',['../common__typedef__xran_8h.html#ae4964776723fd520ab6b6bfc0e67a8b6ae78ba60e6ca5f0a213f076475d518681',1,'common_typedef_xran.h']]], + ['bblib_5fqam256',['BBLIB_QAM256',['../common__typedef__xran_8h.html#ae4964776723fd520ab6b6bfc0e67a8b6adf6fefcea8ec929ec875115de63f6baa',1,'common_typedef_xran.h']]], + ['bblib_5fqam64',['BBLIB_QAM64',['../common__typedef__xran_8h.html#ae4964776723fd520ab6b6bfc0e67a8b6a3cb5c6d126958eb06de4d66cf88b9ca9',1,'common_typedef_xran.h']]], + ['bblib_5fqpsk',['BBLIB_QPSK',['../common__typedef__xran_8h.html#ae4964776723fd520ab6b6bfc0e67a8b6a9d7f0f22fd5b2ef5cb084bebf379eaa7',1,'common_typedef_xran.h']]], + ['bbuio_5fbuf_5fpool',['bbuio_buf_pool',['../struct_bbu_xran_io_if_struct.html#ab17d30b2540eca4acd7248fccbf575b4',1,'BbuXranIoIfStruct']]], + ['bbuiobufctrlstruct',['BbuIoBufCtrlStruct',['../struct_bbu_io_buf_ctrl_struct.html',1,'']]], + ['bbuxranioifstruct',['BbuXranIoIfStruct',['../struct_bbu_xran_io_if_struct.html',1,'']]], + ['bcast',['BCAST',['../ethdi_8h.html#adc4a14c073a7427003796cbd9d435758',1,'ethdi.h']]], + ['beam_5fid',['beam_id',['../structxran__cp__rbmap__list.html#a599d618c91d4ce33661381801a7dca9a',1,'xran_cp_rbmap_list']]], + ['beamformingtype',['BeamFormingType',['../structxran__prb__elm.html#a8b8b1bd49f0c7c15063d74dd4ad48cde',1,'xran_prb_elm']]], + ['beamid',['beamId',['../structxran__section__info.html#ac7deef3ca4b0fc12769165dbf9374569',1,'xran_section_info::beamId()'],['../structxran__cp__radioapp__section__header.html#a9d9a9bc73a8aaac944ecb453eb402a07',1,'xran_cp_radioapp_section_header::beamId()'],['../xran__pkt__cp_8h.html#a9d9a9bc73a8aaac944ecb453eb402a07',1,'beamId(): xran_pkt_cp.h']]], + ['beamidap1',['beamIdAP1',['../structxran__sectionext3__info.html#abcaa5b568a022c3af1146b779d52bebc',1,'xran_sectionext3_info::beamIdAP1()'],['../structxran__cp__radioapp__section__ext3__first.html#abcaa5b568a022c3af1146b779d52bebc',1,'xran_cp_radioapp_section_ext3_first::beamIdAP1()'],['../xran__pkt__cp_8h.html#abcaa5b568a022c3af1146b779d52bebc',1,'beamIdAP1(): xran_pkt_cp.h']]], + ['beamidap2',['beamIdAP2',['../structxran__sectionext3__info.html#a9b459e1b2f309337740ed7a576e8ddfb',1,'xran_sectionext3_info::beamIdAP2()'],['../structxran__cp__radioapp__section__ext3__first.html#a9b459e1b2f309337740ed7a576e8ddfb',1,'xran_cp_radioapp_section_ext3_first::beamIdAP2()'],['../xran__pkt__cp_8h.html#a9b459e1b2f309337740ed7a576e8ddfb',1,'beamIdAP2(): xran_pkt_cp.h']]], + ['beamidap3',['beamIdAP3',['../structxran__sectionext3__info.html#a0780ffbec6d647632e2b31d89de94467',1,'xran_sectionext3_info::beamIdAP3()'],['../structxran__cp__radioapp__section__ext3__first.html#a0780ffbec6d647632e2b31d89de94467',1,'xran_cp_radioapp_section_ext3_first::beamIdAP3()'],['../xran__pkt__cp_8h.html#a0780ffbec6d647632e2b31d89de94467',1,'beamIdAP3(): xran_pkt_cp.h']]], + ['begin',['begin',['../classnlohmann_1_1basic__json.html#a979556eb331ec35eb33472a90a160f99',1,'nlohmann::basic_json::begin() noexcept'],['../classnlohmann_1_1basic__json.html#a1ca1fc2c9fc3e169d5d0decfd1e54221',1,'nlohmann::basic_json::begin() const noexcept']]], + ['benchmarkparameters',['BenchmarkParameters',['../struct_benchmark_parameters.html',1,'']]], + ['bf_5fattribute',['bf_attribute',['../structxran__prb__elm.html#a3e5b780c49cb9d6ec97dcd4762f8ac34',1,'xran_prb_elm']]], + ['bf_5fprecoding',['bf_precoding',['../structxran__prb__elm.html#a78ed222752b307427c62c9f4c1e4c8be',1,'xran_prb_elm']]], + ['bf_5fweight',['bf_weight',['../structxran__prb__elm.html#af868e8b704cfa4b2cfc9f02b14bb8ca4',1,'xran_prb_elm']]], + ['bf_5fweight_5fupdate',['bf_weight_update',['../structxran__prb__elm.html#a0cae38b481020301f9e6831c27b5058b',1,'xran_prb_elm']]], + ['bfacompresv0',['bfaCompResv0',['../structxran__cp__radioapp__section__ext2.html#a2b3796df8f24599db86788e5c585bd8e',1,'xran_cp_radioapp_section_ext2::bfaCompResv0()'],['../xran__pkt__cp_8h.html#a2b3796df8f24599db86788e5c585bd8e',1,'bfaCompResv0(): xran_pkt_cp.h']]], + ['bfacompresv1',['bfaCompResv1',['../structxran__cp__radioapp__section__ext2.html#ad577e27385c9800999196f723131c2a6',1,'xran_cp_radioapp_section_ext2::bfaCompResv1()'],['../xran__pkt__cp_8h.html#ad577e27385c9800999196f723131c2a6',1,'bfaCompResv1(): xran_pkt_cp.h']]], + ['bfaz3dd',['bfAz3dd',['../structxran__sectionext2__info.html#adc26301dfc01bf86c8dc53bdef1ac5c3',1,'xran_sectionext2_info']]], + ['bfaz3ddwidth',['bfAz3ddWidth',['../structxran__sectionext2__info.html#af6d308ae11840b67c4e3234a78ca1591',1,'xran_sectionext2_info::bfAz3ddWidth()'],['../structxran__cp__radioapp__section__ext2.html#a91c2992cc2931d34eedace92ebed95e3',1,'xran_cp_radioapp_section_ext2::bfAz3ddWidth()'],['../xran__pkt__cp_8h.html#a91c2992cc2931d34eedace92ebed95e3',1,'bfAz3ddWidth(): xran_pkt_cp.h']]], + ['bfazpt',['bfAzPt',['../structxran__sectionext2__info.html#aed0ddbdef5f3287fe38c115bf0f6b361',1,'xran_sectionext2_info']]], + ['bfazptwidth',['bfAzPtWidth',['../structxran__sectionext2__info.html#a2d14a28b7dc7cc4d18dae8c579a15d00',1,'xran_sectionext2_info::bfAzPtWidth()'],['../structxran__cp__radioapp__section__ext2.html#ae4575041f99a19d0b4e60606fa8dbefb',1,'xran_cp_radioapp_section_ext2::bfAzPtWidth()'],['../xran__pkt__cp_8h.html#ae4575041f99a19d0b4e60606fa8dbefb',1,'bfAzPtWidth(): xran_pkt_cp.h']]], + ['bfazsi',['bfAzSI',['../structxran__sectionext2__info.html#a455c1bba3cc6776c7c953f468da68d89',1,'xran_sectionext2_info']]], + ['bfp_5fcom_5freq',['bfp_com_req',['../class_bfp_perf_ex.html#a4b9492db80de53fd043f5ccb74176ae3',1,'BfpPerfEx']]], + ['bfp_5fcom_5frsp',['bfp_com_rsp',['../class_bfp_perf_ex.html#ade6c6a1bda416568c7b7238eb7eaa9af',1,'BfpPerfEx']]], + ['bfp_5fdecom_5freq',['bfp_decom_req',['../class_bfp_perf_ex.html#a2e0cd66e2cbaebc0d72fdabe6a09f47f',1,'BfpPerfEx']]], + ['bfp_5fdecom_5frsp',['bfp_decom_rsp',['../class_bfp_perf_ex.html#a0e0d8e6d1740b7622d9f1f2f8f0f320f',1,'BfpPerfEx']]], + ['bfpcheck',['BfpCheck',['../class_bfp_check.html',1,'']]], + ['bfpperf',['BfpPerf',['../class_bfp_perf.html',1,'']]], + ['bfpperfex',['BfpPerfEx',['../class_bfp_perf_ex.html',1,'']]], + ['bfw_5fall_5fslots',['bfw_all_slots',['../gen__test_8m.html#a89fcb37334f8e931bbfbb3b1649a4c34',1,'gen_test.m']]], + ['bfw_5fall_5fslots_5fint',['bfw_all_slots_int',['../gen__test_8m.html#af743a8da9d7938005149c84bac57d261',1,'gen_test.m']]], + ['bfw_5fper_5fsym',['bfw_per_sym',['../gen__test_8m.html#ac96f991c58ca69c2aa63e6814c3252f8',1,'gen_test.m']]], + ['bfwcompmeth',['bfwCompMeth',['../structxran__sectionext1__info.html#a489f0b868b86e577a5e515dc40987ba5',1,'xran_sectionext1_info::bfwCompMeth()'],['../structxran__cp__radioapp__section__ext1.html#a489f0b868b86e577a5e515dc40987ba5',1,'xran_cp_radioapp_section_ext1::bfwCompMeth()'],['../xran__pkt__cp_8h.html#a489f0b868b86e577a5e515dc40987ba5',1,'bfwCompMeth(): xran_pkt_cp.h']]], + ['bfwcompparam',['bfwCompParam',['../structxran__sectionext1__info.html#ae3551ba3eeae98639805a8d3391d5b3d',1,'xran_sectionext1_info']]], + ['bfwiq_5fsz',['bfwIQ_sz',['../structxran__sectionext1__info.html#ae4f265cd1e2941e2d7366085f6f0b598',1,'xran_sectionext1_info']]], + ['bfwiqwidth',['bfwiqWidth',['../structxran__sectionext1__info.html#a3de53935627d11e11003c38bd6dca548',1,'xran_sectionext1_info::bfwiqWidth()'],['../structxran__cp__radioapp__section__ext1.html#ab4efff418afe4f08b45d3c4762f8b31d',1,'xran_cp_radioapp_section_ext1::bfwIqWidth()'],['../xran__pkt__cp_8h.html#ab4efff418afe4f08b45d3c4762f8b31d',1,'bfwIqWidth(): xran_pkt_cp.h']]], + ['bfwnumber',['bfwNumber',['../structxran__sectionext1__info.html#ab09d1df0b229edfd34c41706fcfa73e7',1,'xran_sectionext1_info']]], + ['bfze3dd',['bfZe3dd',['../structxran__sectionext2__info.html#a62a0cfe73c1305294d16fb9593a2a947',1,'xran_sectionext2_info']]], + ['bfze3ddwidth',['bfZe3ddWidth',['../structxran__sectionext2__info.html#a52ffc8175e7bde0adbc75c865c854df2',1,'xran_sectionext2_info::bfZe3ddWidth()'],['../structxran__cp__radioapp__section__ext2.html#afaa633099e5bb43f394e334d2effa115',1,'xran_cp_radioapp_section_ext2::bfZe3ddWidth()'],['../xran__pkt__cp_8h.html#afaa633099e5bb43f394e334d2effa115',1,'bfZe3ddWidth(): xran_pkt_cp.h']]], + ['bfzept',['bfZePt',['../structxran__sectionext2__info.html#a8d5cbe6476d0e8b325cd4e1bad03a6d3',1,'xran_sectionext2_info']]], + ['bfzeptwidth',['bfZePtWidth',['../structxran__sectionext2__info.html#a0562069083918b7760597eaca4f0dceb',1,'xran_sectionext2_info::bfZePtWidth()'],['../structxran__cp__radioapp__section__ext2.html#a44f3c610f47128f388292d02434afe0b',1,'xran_cp_radioapp_section_ext2::bfZePtWidth()'],['../xran__pkt__cp_8h.html#a44f3c610f47128f388292d02434afe0b',1,'bfZePtWidth(): xran_pkt_cp.h']]], + ['bfzesi',['bfZeSI',['../structxran__sectionext2__info.html#ad7bfdcda7332da505aa1712b68452cd2',1,'xran_sectionext2_info']]], + ['bind_5fto_5fcpu',['bind_to_cpu',['../common_8cpp.html#ae39390f41ba978a1f0d79691436c074a',1,'bind_to_cpu(const unsigned cpu): common.cpp'],['../common_8hpp.html#ae39390f41ba978a1f0d79691436c074a',1,'bind_to_cpu(const unsigned cpu): common.cpp']]], + ['bit_5fbandsectorid',['bit_bandSectorId',['../structxran__eaxcid__config.html#ab3f5b7b7c113a7fdff4bdf31ff685594',1,'xran_eaxcid_config']]], + ['bit_5fccid',['bit_ccId',['../structxran__eaxcid__config.html#a292acf2be52d7b22753f8f3a9839f455',1,'xran_eaxcid_config']]], + ['bit_5fcuportid',['bit_cuPortId',['../structxran__eaxcid__config.html#a8812802228fbd32d92c2c8f29963628b',1,'xran_eaxcid_config']]], + ['bit_5fruportid',['bit_ruPortId',['../structxran__eaxcid__config.html#aa6294a3b04f47cabf866ec1e1ec4bd23',1,'xran_eaxcid_config']]], + ['block_5ffl_5fpoint',['block_fl_point',['../structcompression__params_1_1block__fl__point.html',1,'compression_params']]], + ['block_5fscaling',['block_scaling',['../structcompression__params_1_1block__scaling.html',1,'compression_params']]], + ['blockfloatcompander',['BlockFloatCompander',['../namespace_block_float_compander.html',1,'']]], + ['blockfloatcompanderbfw',['BlockFloatCompanderBFW',['../namespace_block_float_compander_b_f_w.html',1,'']]], + ['blockfloatcompress_5f10b_5favx512',['BlockFloatCompress_10b_AVX512',['../namespace_block_float_compander.html#ae525362ca026142cab4ac983e29ad0ff',1,'BlockFloatCompander']]], + ['blockfloatcompress_5f12b_5favx512',['BlockFloatCompress_12b_AVX512',['../namespace_block_float_compander.html#a2a8db4c5039bc3d5237b31ca2a129815',1,'BlockFloatCompander']]], + ['blockfloatcompress_5f8b_5favx512',['BlockFloatCompress_8b_AVX512',['../namespace_block_float_compander.html#a5b3ddd524752c8f556bc4c654e392321',1,'BlockFloatCompander']]], + ['blockfloatcompress_5f9b_5favx512',['BlockFloatCompress_9b_AVX512',['../namespace_block_float_compander.html#a2356f186e264c7cea4e3c26d448bb1d5',1,'BlockFloatCompander']]], + ['blockfloatcompress_5fbasic',['BlockFloatCompress_Basic',['../namespace_block_float_compander.html#a45cc83687ca392534168cb8f4d64182f',1,'BlockFloatCompander::BlockFloatCompress_Basic()'],['../namespace_block_float_compander_b_f_w.html#a45cc83687ca392534168cb8f4d64182f',1,'BlockFloatCompanderBFW::BlockFloatCompress_Basic()']]], + ['blockfloatexpand_5f10b_5favx512',['BlockFloatExpand_10b_AVX512',['../namespace_block_float_compander.html#a8fae7506e2b9c9f9365b306375ab6eff',1,'BlockFloatCompander']]], + ['blockfloatexpand_5f12b_5favx512',['BlockFloatExpand_12b_AVX512',['../namespace_block_float_compander.html#a65b09b78fac0c8dcfc9edd5091b728dd',1,'BlockFloatCompander']]], + ['blockfloatexpand_5f8b_5favx512',['BlockFloatExpand_8b_AVX512',['../namespace_block_float_compander.html#ae4ad42b117d59e2e7ff8fad2d5da506e',1,'BlockFloatCompander']]], + ['blockfloatexpand_5f9b_5favx512',['BlockFloatExpand_9b_AVX512',['../namespace_block_float_compander.html#a32917a78ac1596d9aa95e4089ec88ba9',1,'BlockFloatCompander']]], + ['blockfloatexpand_5fbasic',['BlockFloatExpand_Basic',['../namespace_block_float_compander.html#a5f4776cd07aac0ae2d9dbd02aaba3435',1,'BlockFloatCompander::BlockFloatExpand_Basic()'],['../namespace_block_float_compander_b_f_w.html#a5f4776cd07aac0ae2d9dbd02aaba3435',1,'BlockFloatCompanderBFW::BlockFloatExpand_Basic()']]], + ['blockflpoint',['blockFlPoint',['../unioncompression__params.html#a1cd49a68b116fdcbab85bc9140594918',1,'compression_params']]], + ['blockscaler',['blockScaler',['../structxran__sectionext1__info.html#ad32c6c9662025c7208ec099075b7ec27',1,'xran_sectionext1_info']]], + ['blockscaling',['blockScaling',['../unioncompression__params.html#a4cd9171274a8d8229ca026d1d6b1d133',1,'compression_params']]], + ['boolean',['boolean',['../namespacenlohmann_1_1detail.html#aedb3045c82a17d48de0f030229adbffea84e2c64f38f78ba3ea5c905ab5a2da27',1,'nlohmann::detail']]], + ['boolean_5ft',['boolean_t',['../classnlohmann_1_1basic__json.html#a8fc151a08d12d6ca47c54458703e573f',1,'nlohmann::basic_json']]], + ['buf',['buf',['../ethernet_8c.html#ac75fce8692fd1d41a8985f6aacc4a175',1,'ethernet.c']]], + ['buf_5flen',['BUF_LEN',['../xran__sync__api_8c.html#a8b5839f71a3b6e7d64b2d5e9967e3dd1',1,'xran_sync_api.c']]], + ['bufferpoolelmsz',['bufferPoolElmSz',['../structsector_handle_info.html#a331562c12e62e7bae882440025872c95',1,'sectorHandleInfo']]], + ['bufferpoolnumelm',['bufferPoolNumElm',['../structsector_handle_info.html#af7c3fd31d7919760d9a11bd48b9ad804',1,'sectorHandleInfo']]], + ['burst_5fhdr',['burst_hdr',['../structburst__hdr.html',1,'']]], + ['burst_5frx_5fio_5fsize',['BURST_RX_IO_SIZE',['../ethdi_8c.html#a4c38cae04fab7c03bcfef74030da111e',1,'ethdi.c']]], + ['burst_5fsize',['BURST_SIZE',['../ethernet_8h.html#a703e079cb598d615c750d24ec7432617',1,'ethernet.h']]], + ['busy_5fpoll_5ftill',['busy_poll_till',['../structxran__ethdi__ctx.html#a73b587527ef3ade588b6ba7db09b6b87',1,'xran_ethdi_ctx']]], + ['bvalid',['bValid',['../struct_bbu_io_buf_ctrl_struct.html#a48c33fa4a8f2f93d51cba58b78d3cd9f',1,'BbuIoBufCtrlStruct']]], + ['bw',['bw',['../gen__test_8m.html#aec71d24b9775c25745c66105ac9371f9',1,'gen_test.m']]], + ['byteorder',['byteOrder',['../structxran__ru__config.html#a74e72997edeea7f9f1696baffb9989b4',1,'xran_ru_config']]] +]; diff --git a/docs/API/search/all_3.html b/docs/API/search/all_3.html new file mode 100644 index 0000000..03405c0 --- /dev/null +++ b/docs/API/search/all_3.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/all_3.js b/docs/API/search/all_3.js new file mode 100644 index 0000000..6f1bbb2 --- /dev/null +++ b/docs/API/search/all_3.js @@ -0,0 +1,88 @@ +var searchData= +[ + ['c_5fplane',['C_plane',['../class_c__plane.html',1,'']]], + ['c_5fplane_5ftests_2ecc',['c_plane_tests.cc',['../c__plane__tests_8cc.html',1,'']]], + ['cache_5faligned',['CACHE_ALIGNED',['../xran__compression_8hpp.html#afb38028874f4f92c87446f57113df109',1,'xran_compression.hpp']]], + ['calculate_5fstatistics',['calculate_statistics',['../common_8cpp.html#a8265b710246f9019ff14556adf5eb35a',1,'calculate_statistics(const std::vector< long > values): common.cpp'],['../common_8hpp.html#a8265b710246f9019ff14556adf5eb35a',1,'calculate_statistics(const std::vector< long > values): common.cpp']]], + ['callback_5fto_5fphy_5fid',['callback_to_phy_id',['../xran__fh__o__du_8h.html#a8eb67099ddcb1b5877a494edfd450d24',1,'xran_fh_o_du.h']]], + ['case',['case',['../gen__test_8m.html#af5cbf8934e1bd30425ac3ccc65d2bfc7',1,'gen_test.m']]], + ['cb_5felem_5fentry',['cb_elem_entry',['../structcb__elem__entry.html',1,'']]], + ['cbegin',['cbegin',['../classnlohmann_1_1basic__json.html#abeb76f7f3414f270020e6f467586bd93',1,'nlohmann::basic_json']]], + ['cc_5fid',['cc_id',['../structxran__prb__map.html#a7fd0cb6d38d73460d3eaba911462dc69',1,'xran_prb_map']]], + ['ccid',['ccId',['../structxran__eaxc__info.html#a9264d54f92ac22a760270816417a692b',1,'xran_eaxc_info']]], + ['cellid',['cellId',['../structxran__cb__tag.html#a4daa962a4ae09a2811670d1fa4875f5f',1,'xran_cb_tag']]], + ['cend',['cend',['../classnlohmann_1_1basic__json.html#a9859a454bb6f50c654e280274d6a9d13',1,'nlohmann::basic_json']]], + ['chain_5ftests_2ecc',['chain_tests.cc',['../chain__tests_8cc.html',1,'']]], + ['check_5finterval',['CHECK_INTERVAL',['../ethdi_8c.html#a9a0ad39cc5436a5f75a4763bcfd12284',1,'ethdi.c']]], + ['check_5fnot_5fnull',['CHECK_NOT_NULL',['../xran__printf_8h.html#a6907fcd45c00443dc2e3258a628208ca',1,'xran_printf.h']]], + ['checkdata',['checkData',['../compander__functional_8cc.html#a1b6359dcad38667a5625c184cf490bef',1,'checkData(T *inVec1, T *inVec2, int numVals): compander_functional.cc'],['../compander__functional_8cc.html#affea39d1af5bc25e00c2ed6349e55ff5',1,'checkData(int8_t *, int8_t *, int): compander_functional.cc'],['../compander__functional_8cc.html#abad102b4500c35c8181fcb4762e2c238',1,'checkData(int16_t *, int16_t *, int): compander_functional.cc']]], + ['checkdataapprox',['checkDataApprox',['../compander__functional_8cc.html#ad91fcc9f956c7d16b5fc30315ff3b803',1,'compander_functional.cc']]], + ['cleanup',['Cleanup',['../classxran_lib_wraper.html#ae89a123aad1c66a76c398b7af216aae4',1,'xranLibWraper']]], + ['clear',['clear',['../classnlohmann_1_1basic__json.html#a03bfacfaaba9195e4498375659f43531',1,'nlohmann::basic_json']]], + ['close',['Close',['../classxran_lib_wraper.html#a7f7a3199c392465d0767c6506c1af5b4',1,'xranLibWraper']]], + ['cmnhdr',['cmnhdr',['../structxran__ecpri__hdr.html#aa90ff3ad961fe295cdffddc945999212',1,'xran_ecpri_hdr::cmnhdr()'],['../structxran__cp__radioapp__section0__header.html#a5965943d604d681efbc50dbda73e9101',1,'xran_cp_radioapp_section0_header::cmnhdr()'],['../structxran__cp__radioapp__section1__header.html#a5965943d604d681efbc50dbda73e9101',1,'xran_cp_radioapp_section1_header::cmnhdr()'],['../structxran__cp__radioapp__section3__header.html#a5965943d604d681efbc50dbda73e9101',1,'xran_cp_radioapp_section3_header::cmnhdr()'],['../structxran__cp__radioapp__section5__header.html#a5965943d604d681efbc50dbda73e9101',1,'xran_cp_radioapp_section5_header::cmnhdr()'],['../structxran__cp__radioapp__section6__header.html#a5965943d604d681efbc50dbda73e9101',1,'xran_cp_radioapp_section6_header::cmnhdr()'],['../structxran__cp__radioapp__section7__header.html#a5965943d604d681efbc50dbda73e9101',1,'xran_cp_radioapp_section7_header::cmnhdr()'],['../xran__pkt__cp_8h.html#a5965943d604d681efbc50dbda73e9101',1,'cmnhdr(): xran_pkt_cp.h']]], + ['codebookidx',['codebookIdx',['../structxran__sectionext3__info.html#af0609a5d1256dec22d2c153a12b765c9',1,'xran_sectionext3_info']]], + ['codebookindex',['codebookIndex',['../structxran__cp__radioapp__section__ext3__first.html#a5645d802dc4e4fac0d73fc7c68388893',1,'xran_cp_radioapp_section_ext3_first::codebookIndex()'],['../structxran__cp__radioapp__section__ext3__non__first.html#a5645d802dc4e4fac0d73fc7c68388893',1,'xran_cp_radioapp_section_ext3_non_first::codebookIndex()'],['../xran__pkt__cp_8h.html#a5645d802dc4e4fac0d73fc7c68388893',1,'codebookIndex(): xran_pkt_cp.h']]], + ['comm_5ffile',['COMM_FILE',['../xran__sync__api_8c.html#a49d668ad019f34e97bb4eab0c86322c4',1,'xran_sync_api.c']]], + ['common_2ec',['common.c',['../common_8c.html',1,'']]], + ['common_2ecpp',['common.cpp',['../common_8cpp.html',1,'']]], + ['common_2eh',['common.h',['../common_8h.html',1,'']]], + ['common_2ehpp',['common.hpp',['../common_8hpp.html',1,'']]], + ['common_5ftypedef_5fxran_2eh',['common_typedef_xran.h',['../common__typedef__xran_8h.html',1,'']]], + ['comp_5fmeth',['comp_meth',['../structxran__cp__rbmap__list.html#aba2cd161fa32b47ca78d0a2e4cf605c3',1,'xran_cp_rbmap_list']]], + ['compander_5ffunctional_2ecc',['compander_functional.cc',['../compander__functional_8cc.html',1,'']]], + ['compare_5fresuts',['compare_resuts',['../namespacemaster.html#a132d8e8f29b5cec353381f127ad4c4ae',1,'master']]], + ['compatiblelimits',['CompatibleLimits',['../structnlohmann_1_1detail_1_1is__compatible__integer__type__impl_3_01true_00_01_real_integer_type78b0ba77f36a8c8169cdb79b01d1a4bf.html#ad1003c3bbc251486afbeb325ddb7db98',1,'nlohmann::detail::is_compatible_integer_type_impl< true, RealIntegerType, CompatibleNumberIntegerType >']]], + ['compbitwidth',['compBitWidth',['../structcompression__params_1_1u__law.html#af01aa0d561630d65396393219f4b3ed2',1,'compression_params::u_law']]], + ['compbitwidthshift',['compBitWidthShift',['../structxran__sectionext1__info.html#ac538592c50bd54df6d3c3dfb98fd1a96',1,'xran_sectionext1_info']]], + ['complex16',['COMPLEX16',['../common__typedef__xran_8h.html#a9806c36641a7e6dd6b59550989799d53',1,'common_typedef_xran.h']]], + ['complex32',['COMPLEX32',['../struct_c_o_m_p_l_e_x32.html',1,'']]], + ['complex_5fdouble',['complex_double',['../structcomplex__double.html',1,'']]], + ['complex_5ffloat',['complex_float',['../structcomplex__float.html',1,'']]], + ['complex_5fhalf',['complex_half',['../structcomplex__half.html',1,'']]], + ['complex_5fint16_5ft',['complex_int16_t',['../structcomplex__int16__t.html',1,'']]], + ['complex_5fint32_5ft',['complex_int32_t',['../structcomplex__int32__t.html',1,'']]], + ['compmeth',['compMeth',['../structxran__section__info.html#a1e4a3c43fc7865c6520471fb9ba8501f',1,'xran_section_info::compMeth()'],['../structxran__cp__header__params.html#a1e4a3c43fc7865c6520471fb9ba8501f',1,'xran_cp_header_params::compMeth()'],['../structxran__ru__config.html#a1e4a3c43fc7865c6520471fb9ba8501f',1,'xran_ru_config::compMeth()']]], + ['compmethod',['compMethod',['../structxranlib__compress__request.html#ad73157f14fa98c54fb563244c1327933',1,'xranlib_compress_request::compMethod()'],['../structxranlib__decompress__request.html#ad73157f14fa98c54fb563244c1327933',1,'xranlib_decompress_request::compMethod()'],['../structxran__prb__elm.html#ad73157f14fa98c54fb563244c1327933',1,'xran_prb_elm::compMethod()']]], + ['compr_5fhdr_5fparam',['compr_hdr_param',['../structxran__up__pkt__gen__params.html#abd4dfd90066570bbcb342a260adcc7a6',1,'xran_up_pkt_gen_params']]], + ['compr_5fparam',['compr_param',['../structxran__up__pkt__gen__params.html#afac9efa85d81509009b41172040801ec',1,'xran_up_pkt_gen_params']]], + ['compresseddata',['CompressedData',['../struct_block_float_compander_1_1_compressed_data.html',1,'CompressedData'],['../struct_block_float_compander_b_f_w_1_1_compressed_data.html',1,'CompressedData']]], + ['compression',['compression',['../struct___runtime_config.html#aeb626e525b4a8a7381eda9c3d11400cb',1,'_RuntimeConfig']]], + ['compression_5fhdr',['compression_hdr',['../structcompression__hdr.html',1,'']]], + ['compression_5fparams',['compression_params',['../unioncompression__params.html',1,'']]], + ['compshift',['compShift',['../structcompression__params_1_1u__law.html#a6de249d83bc31f90fb2c3882cbe2e54d',1,'compression_params::u_law']]], + ['computeexponent',['computeExponent',['../xran__compression_8cpp.html#a74512492194fcab6a55f769e02aa37b4',1,'xran_compression.cpp']]], + ['conf',['conf',['../class_kernel_tests.html#abd42f3e51ae547ec1631e9ac60df29d6',1,'KernelTests']]], + ['config_2ec',['config.c',['../config_8c.html',1,'']]], + ['config_2eh',['config.h',['../config_8h.html',1,'']]], + ['conjunction',['conjunction',['../structnlohmann_1_1detail_1_1conjunction.html',1,'nlohmann::detail']]], + ['conjunction_3c_20b1_20_3e',['conjunction< B1 >',['../structnlohmann_1_1detail_1_1conjunction_3_01_b1_01_4.html',1,'nlohmann::detail']]], + ['conjunction_3c_20b1_2c_20bn_2e_2e_2e_20_3e',['conjunction< B1, Bn... >',['../structnlohmann_1_1detail_1_1conjunction_3_01_b1_00_01_bn_8_8_8_01_4.html',1,'nlohmann::detail']]], + ['const_5fiterator',['const_iterator',['../classnlohmann_1_1basic__json.html#aad59084c30e18d9f72bbeaea04b69c08',1,'nlohmann::basic_json']]], + ['const_5fpointer',['const_pointer',['../classnlohmann_1_1basic__json.html#a4c63dc62d030308ff89f0327e752c5e2',1,'nlohmann::basic_json']]], + ['const_5freference',['const_reference',['../classnlohmann_1_1basic__json.html#ab1137da269e66589b98fce3416d40502',1,'nlohmann::basic_json']]], + ['const_5freverse_5fiterator',['const_reverse_iterator',['../classnlohmann_1_1basic__json.html#a80e93f4899e95d7ba9f80df4c423b9d5',1,'nlohmann::basic_json']]], + ['construct',['construct',['../structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1boolean_01_4.html#ae331f2baa366b6c6a2f652597eb50540',1,'nlohmann::detail::external_constructor< value_t::boolean >::construct()'],['../structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1string_01_4.html#a3661b916129e658d55d74b4a2a8797c3',1,'nlohmann::detail::external_constructor< value_t::string >::construct()'],['../structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__float_01_4.html#aa0120124dea7824ec6df80e991aea33e',1,'nlohmann::detail::external_constructor< value_t::number_float >::construct()'],['../structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__unsigned_01_4.html#aebb9cf4af36070c7c4a24fd97010aa88',1,'nlohmann::detail::external_constructor< value_t::number_unsigned >::construct()'],['../structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__integer_01_4.html#a91772fd76348fd21b39fd809968814a5',1,'nlohmann::detail::external_constructor< value_t::number_integer >::construct()'],['../structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1array_01_4.html#a5003f696ea3e28d18d7a4dbe9ef49aa1',1,'nlohmann::detail::external_constructor< value_t::array >::construct(BasicJsonType &j, const typename BasicJsonType::array_t &arr)'],['../structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1array_01_4.html#ad9a22b8b02dafec80f850ddbfb52981e',1,'nlohmann::detail::external_constructor< value_t::array >::construct(BasicJsonType &j, const CompatibleArrayType &arr)'],['../structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1object_01_4.html#a531b0b0169f0bf3c9a1ac5ff9fedb207',1,'nlohmann::detail::external_constructor< value_t::object >::construct(BasicJsonType &j, const typename BasicJsonType::object_t &obj)'],['../structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1object_01_4.html#aa0a616bc6e376741a3e4f0554ee48654',1,'nlohmann::detail::external_constructor< value_t::object >::construct(BasicJsonType &j, const CompatibleObjectType &obj)']]], + ['core',['core',['../structxran__io__cfg.html#a53341e81716fce9aeddee73d7228f2bf',1,'xran_io_cfg::core()'],['../structxran__io__loop__cfg.html#a18da1e1fddf1ac92da74aecf88ab2b2e',1,'xran_io_loop_cfg::core()']]], + ['count',['count',['../classnlohmann_1_1basic__json.html#a7e5aaef6e00508e105d713b512c4affa',1,'nlohmann::basic_json']]], + ['cp_5fvlan_5ftag',['cp_vlan_tag',['../struct___runtime_config.html#adc6cb9229207f58f6c4375305dcb5384',1,'_RuntimeConfig::cp_vlan_tag()'],['../structxran__fh__init.html#adc6cb9229207f58f6c4375305dcb5384',1,'xran_fh_init::cp_vlan_tag()']]], + ['cp_5fvtag',['cp_vtag',['../structxran__ethdi__ctx.html#a5233222c0adb365a4dbdc52a54abf845',1,'xran_ethdi_ctx']]], + ['cplen_5fts',['CPLEN_TS',['../xran__cp__api_8c.html#ab806fff5c941c5825df646db8f584ee7',1,'xran_cp_api.c']]], + ['cplength',['cpLength',['../structxran__cp__header__params.html#af57c31d64bbdb0d65fd36c9f38951328',1,'xran_cp_header_params::cpLength()'],['../structxran__cp__radioapp__section0__header.html#af57c31d64bbdb0d65fd36c9f38951328',1,'xran_cp_radioapp_section0_header::cpLength()'],['../structxran__cp__radioapp__section3__header.html#af57c31d64bbdb0d65fd36c9f38951328',1,'xran_cp_radioapp_section3_header::cpLength()'],['../xran__pkt__cp_8h.html#af57c31d64bbdb0d65fd36c9f38951328',1,'cpLength(): xran_pkt_cp.h']]], + ['cpu_5fgeneric',['CPU_GENERIC',['../common__typedef__xran_8h.html#a4c160ac3b177a2fde8738ef01e58494caa76b502aab6c6110511beaf3297aab5f',1,'common_typedef_xran.h']]], + ['cpu_5fhz',['CPU_HZ',['../sample-app_8c.html#aba8a0d43a5485a31890e7840ddd9fb63',1,'sample-app.c']]], + ['cpu_5fid',['cpu_id',['../struct_benchmark_parameters.html#a12661f1773e3ba71d5b29d7ffa042b1a',1,'BenchmarkParameters::cpu_id()'],['../common_8cpp.html#a80c653d62783a4e7ea960794bd287b49',1,'CPU_ID(): common.cpp']]], + ['cpusocketid',['cpuSocketId',['../struct_bbu_xran_io_if_struct.html#a137eb45fb17a00119b74ca11a6f4a410',1,'BbuXranIoIfStruct']]], + ['cput_5ffh_5frx_5fcallback',['cput_fh_rx_callback',['../c__plane__tests_8cc.html#a84fbffc78f58f1319862bbdfef6e3172',1,'c_plane_tests.cc']]], + ['cput_5ffh_5frx_5fprach_5fcallback',['cput_fh_rx_prach_callback',['../c__plane__tests_8cc.html#a2ce052083e592ec2889e8ad05b49f39a',1,'c_plane_tests.cc']]], + ['crbegin',['crbegin',['../classnlohmann_1_1basic__json.html#abd227f43fec65b1bfeb96751b5eea9c4',1,'nlohmann::basic_json']]], + ['crend',['crend',['../classnlohmann_1_1basic__json.html#acbe115c4709d004c9899ef5855f96288',1,'nlohmann::basic_json']]], + ['crsremask',['crsReMask',['../structxran__sectionext3__info.html#ab9769277d06e564feeaea9f51770c067',1,'xran_sectionext3_info::crsReMask()'],['../structxran__cp__radioapp__section__ext3__first.html#a004e4df3faa0bb55443b2e184a8d7ace',1,'xran_cp_radioapp_section_ext3_first::crsReMask()'],['../xran__pkt__cp_8h.html#a004e4df3faa0bb55443b2e184a8d7ace',1,'crsReMask(): xran_pkt_cp.h']]], + ['crsshift',['crsShift',['../structxran__sectionext3__info.html#a2feefcc4816844ba7a111798d791919f',1,'xran_sectionext3_info::crsShift()'],['../structxran__cp__radioapp__section__ext3__first.html#a39e7385dc0e87f97e8411cec1e3aced5',1,'xran_cp_radioapp_section_ext3_first::crsShift()'],['../xran__pkt__cp_8h.html#a39e7385dc0e87f97e8411cec1e3aced5',1,'crsShift(): xran_pkt_cp.h']]], + ['crssymnum',['crsSymNum',['../structxran__sectionext3__info.html#a122f48d0face015611f900b5e7c0864a',1,'xran_sectionext3_info::crsSymNum()'],['../structxran__cp__radioapp__section__ext3__first.html#aec327188e616d1ef6c7c7769fa49ee4b',1,'xran_cp_radioapp_section_ext3_first::crsSymNum()'],['../xran__pkt__cp_8h.html#aec327188e616d1ef6c7c7769fa49ee4b',1,'crsSymNum(): xran_pkt_cp.h']]], + ['csf',['csf',['../structxran__sectionext4__info.html#a9469507e787895ef8a3ec1b89df59954',1,'xran_sectionext4_info::csf()'],['../structxran__sectionext5__info.html#aff3ff8bd662f3deba04c54adcbbd2826',1,'xran_sectionext5_info::csf()'],['../structxran__cp__radioapp__section__ext4.html#a2a77d2bfcb0d61e85b549fdbbe4bce18',1,'xran_cp_radioapp_section_ext4::csf()'],['../xran__pkt__cp_8h.html#a2a77d2bfcb0d61e85b549fdbbe4bce18',1,'csf(): xran_pkt_cp.h']]], + ['csf1',['csf1',['../structxran__cp__radioapp__section__ext5.html#ae99d919e21fe8913cf62fe9a45303edf',1,'xran_cp_radioapp_section_ext5::csf1()'],['../xran__pkt__cp_8h.html#ae99d919e21fe8913cf62fe9a45303edf',1,'csf1(): xran_pkt_cp.h']]], + ['csf2',['csf2',['../structxran__cp__radioapp__section__ext5.html#a985dc9bc6fcfe447805f23272240db02',1,'xran_cp_radioapp_section_ext5::csf2()'],['../xran__pkt__cp_8h.html#a985dc9bc6fcfe447805f23272240db02',1,'csf2(): xran_pkt_cp.h']]], + ['cuportid',['cuPortId',['../structxran__eaxc__info.html#a6c426a9de5864167cd297299f82535ca',1,'xran_eaxc_info']]], + ['cur_5findex',['cur_index',['../structxran__sectioninfo__db.html#af9f19a44a251a4b45c3e949b698b9294',1,'xran_sectioninfo_db']]] +]; diff --git a/docs/API/search/all_4.html b/docs/API/search/all_4.html new file mode 100644 index 0000000..8e1f4b9 --- /dev/null +++ b/docs/API/search/all_4.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/all_4.js b/docs/API/search/all_4.js new file mode 100644 index 0000000..624ebd1 --- /dev/null +++ b/docs/API/search/all_4.js @@ -0,0 +1,45 @@ +var searchData= +[ + ['data',['data',['../structxran__sectionext__info.html#a735984d41155bc1032e09bece8f8d66d',1,'xran_sectionext_info::data()'],['../structxran__section__gen__info.html#a735984d41155bc1032e09bece8f8d66d',1,'xran_section_gen_info::data()'],['../structburst__hdr.html#a5cddf2dd16a831a2fecfa71bc0f34191',1,'burst_hdr::data()'],['../structethdi__hdr.html#a5cddf2dd16a831a2fecfa71bc0f34191',1,'ethdi_hdr::data()']]], + ['data_5fdirection',['data_direction',['../structradio__app__common__hdr.html#a40f66f521df9b1dbae9d0ee852c66e0d',1,'radio_app_common_hdr']]], + ['data_5fin',['data_in',['../structxranlib__compress__request.html#a06bde7ceb81ae7d8d8a101d7cfe4bb25',1,'xranlib_compress_request::data_in()'],['../structxranlib__decompress__request.html#ab7543a52686c726e2f5575a0f53f883f',1,'xranlib_decompress_request::data_in()']]], + ['data_5fout',['data_out',['../structxranlib__compress__response.html#aa84b1c03297680b54ecd081d2a69d791',1,'xranlib_compress_response::data_out()'],['../structxranlib__decompress__response.html#a7eac55fa44711c57d8d15dd09e4db135',1,'xranlib_decompress_response::data_out()']]], + ['data_5fsec_5fhdr',['data_sec_hdr',['../structxran__up__pkt__hdr.html#ae6c3c6125160f3863ad8ef7d7673df50',1,'xran_up_pkt_hdr']]], + ['data_5fsection_5fcompression_5fhdr',['data_section_compression_hdr',['../structdata__section__compression__hdr.html',1,'']]], + ['data_5fsection_5fhdr',['data_section_hdr',['../structdata__section__hdr.html',1,'']]], + ['datacompressed',['dataCompressed',['../struct_block_float_compander_1_1_compressed_data.html#ab2fd68d067a2e45c839584d0985a7953',1,'BlockFloatCompander::CompressedData::dataCompressed()'],['../struct_block_float_compander_b_f_w_1_1_compressed_data.html#ab2fd68d067a2e45c839584d0985a7953',1,'BlockFloatCompanderBFW::CompressedData::dataCompressed()']]], + ['datacompresseddataout',['dataCompressedDataOut',['../struct_block_float_compander_1_1_compressed_data.html#a1ba10aad9e5d2d0c430ced60a4e5083e',1,'BlockFloatCompander::CompressedData::dataCompressedDataOut()'],['../struct_block_float_compander_b_f_w_1_1_compressed_data.html#a1ba10aad9e5d2d0c430ced60a4e5083e',1,'BlockFloatCompanderBFW::CompressedData::dataCompressedDataOut()']]], + ['datadirection',['dataDirection',['../structxran__cp__radioapp__common__header.html#a87c3e6cd307a5ee7d853ec7254fcd010',1,'xran_cp_radioapp_common_header::dataDirection()'],['../xran__pkt__cp_8h.html#a87c3e6cd307a5ee7d853ec7254fcd010',1,'dataDirection(): xran_pkt_cp.h']]], + ['dataexpanded',['dataExpanded',['../struct_block_float_compander_1_1_expanded_data.html#a24d9d1d1b013179affb41be0424b8360',1,'BlockFloatCompander::ExpandedData::dataExpanded()'],['../struct_block_float_compander_b_f_w_1_1_expanded_data.html#a24d9d1d1b013179affb41be0424b8360',1,'BlockFloatCompanderBFW::ExpandedData::dataExpanded()']]], + ['dataexpandedin',['dataExpandedIn',['../struct_block_float_compander_1_1_expanded_data.html#a7bc8fb83339162111a65afae4adeb8a6',1,'BlockFloatCompander::ExpandedData::dataExpandedIn()'],['../struct_block_float_compander_b_f_w_1_1_expanded_data.html#a7bc8fb83339162111a65afae4adeb8a6',1,'BlockFloatCompanderBFW::ExpandedData::dataExpandedIn()']]], + ['debug_2eh',['debug.h',['../debug_8h.html',1,'']]], + ['debugstop',['debugStop',['../struct___runtime_config.html#a8ad55119f3b227785857aaddef6a8384',1,'_RuntimeConfig::debugStop()'],['../structxran__fh__init.html#a8ad55119f3b227785857aaddef6a8384',1,'xran_fh_init::debugStop()']]], + ['debugstopcount',['debugStopCount',['../struct___runtime_config.html#a0ce1293a9896f3e28d960a0b1d9dc911',1,'_RuntimeConfig::debugStopCount()'],['../structxran__fh__init.html#a0ce1293a9896f3e28d960a0b1d9dc911',1,'xran_fh_init::debugStopCount()']]], + ['default_5fdump_5flength',['DEFAULT_DUMP_LENGTH',['../ethernet_8h.html#a831b296affed982065acb18ebb5dc492',1,'ethernet.h']]], + ['delayed_5fmessage',['delayed_message',['../ethernet_8h.html#ac8604734982e77a172bf8acf88571f84',1,'ethernet.h']]], + ['deprecated_20list',['Deprecated List',['../deprecated.html',1,'']]], + ['dest_5fid',['dest_id',['../structethdi__hdr.html#acaae193f1ae491957a7144912b32712b',1,'ethdi_hdr']]], + ['dic_5fdir',['dic_dir',['../namespacemaster.html#a6e1e462cf427d3093cf766e6257db50a',1,'master']]], + ['dic_5fxu',['dic_xu',['../namespacemaster.html#a0ee1f5720e7776e48e6a82e1d5b78f87',1,'master']]], + ['diff',['diff',['../classnlohmann_1_1basic__json.html#a2fb1e92221746ff32c5f5c8ff1e7a7f7',1,'nlohmann::basic_json']]], + ['difference_5ftype',['difference_type',['../classnlohmann_1_1basic__json.html#ace405568d0b2f3fad4990044252c7732',1,'nlohmann::basic_json::difference_type()'],['../classnlohmann_1_1basic__json_1_1iter__impl.html#a0a01ff9431d91494f35caf1dd4f6fac6',1,'nlohmann::basic_json::iter_impl::difference_type()']]], + ['dir',['dir',['../structxran__cp__gen__params.html#a92abda0bec7c1c978fe96f87aad18067',1,'xran_cp_gen_params::dir()'],['../structxran__prb__map.html#a92abda0bec7c1c978fe96f87aad18067',1,'xran_prb_map::dir()']]], + ['direct_5fpool',['direct_pool',['../structxran__device__ctx.html#a824b36e330221e10743e6a09ebabbe89',1,'xran_device_ctx']]], + ['discarded',['discarded',['../namespacenlohmann_1_1detail.html#aedb3045c82a17d48de0f030229adbffea94708897ec9db8647dfe695714c98e46',1,'nlohmann::detail']]], + ['disp',['disp',['../gen__test_8m.html#a7a889c8364428876f88ddaf055df5c82',1,'disp('Unknown BW &&mu') end end else disp('mmWave') if(mu >: gen_test.m'],['../gen__test_8m.html#ace3ce36f6d9d10aecbbd9f8002551a01',1,'disp(file_name) fileID: gen_test.m'],['../gen__test_8m.html#aa0c2a36f9d65a1ca58ca9801dd59e90f',1,'disp('Generate BF Weights per RB') %seed to make it repeatable rand('seed': gen_test.m']]], + ['div_5fround_5foffset',['DIV_ROUND_OFFSET',['../xran__main_8c.html#afeff9fda18e3a64301487ca8eb871a40',1,'xran_main.c']]], + ['division_5ffactor',['division_factor',['../class_kernel_tests.html#a929401f577bc540c1f8b7ec8c3b974fd',1,'KernelTests']]], + ['dl_5fbfw_5ffile',['dl_bfw_file',['../struct___runtime_config.html#adca0e9d6c0f577d2eb19c0c17e7d1f21',1,'_RuntimeConfig']]], + ['dllayersperue',['DlLayersPerUe',['../struct___runtime_config.html#af2be62462d0071aa5bb14ecc5f55c701',1,'_RuntimeConfig']]], + ['dlog',['dlog',['../ethernet_8h.html#a52fb3711338fc1b5acbbfb64ad3a2c62',1,'ethernet.h']]], + ['dpdk_5fdev',['dpdk_dev',['../structxran__io__cfg.html#ae58734e2aff608373089778da1aa4efa',1,'xran_io_cfg::dpdk_dev()'],['../structxran__io__loop__cfg.html#a5df64aa9312bc9c7860efa45117045ff',1,'xran_io_loop_cfg::dpdk_dev()']]], + ['dpdk_5fport',['dpdk_port',['../structxran__fh__config.html#acd95c2211d7c4274883572ee1ac829f4',1,'xran_fh_config']]], + ['dpdkbasebanddevice',['dpdkBasebandDevice',['../structxran__fh__init.html#ab783700ba1f1b7d6d617a102f01e2e8a',1,'xran_fh_init']]], + ['dpdkbasebandfecmode',['dpdkBasebandFecMode',['../structxran__fh__init.html#a4f3d38bbb69d7dc49515ba2e0002537e',1,'xran_fh_init']]], + ['dpdktimerdecrementctx',['DpdkTimerDecrementCtx',['../xran__main_8c.html#aa143c249cca4bf1866a724baac742586',1,'xran_main.c']]], + ['dpdktimerincrementctx',['DpdkTimerIncrementCtx',['../xran__main_8c.html#a2948db68c95f1846f75d82ab409a0e98',1,'xran_main.c']]], + ['dump',['dump',['../classnlohmann_1_1basic__json.html#a42de62d3e7b710d0279ac373a22c63eb',1,'nlohmann::basic_json']]], + ['duration',['duration',['../structx_r_a_n_prach_config_table_struct.html#ae7b193beba4cc63eed61b211bae9e802',1,'xRANPrachConfigTableStruct']]], + ['dynamicsectionena',['DynamicSectionEna',['../struct___runtime_config.html#a6fcbf469691a192f1ce298f70981c17a',1,'_RuntimeConfig::DynamicSectionEna()'],['../structxran__fh__init.html#a6fcbf469691a192f1ce298f70981c17a',1,'xran_fh_init::DynamicSectionEna()'],['../structxran__device__ctx.html#a6fcbf469691a192f1ce298f70981c17a',1,'xran_device_ctx::DynamicSectionEna()']]], + ['external_5fconstructor',['external_constructor',['../classnlohmann_1_1basic__json.html#a6275ed57bae6866cdf5db5370a7ad47c',1,'nlohmann::basic_json']]] +]; diff --git a/docs/API/search/all_5.html b/docs/API/search/all_5.html new file mode 100644 index 0000000..89a879e --- /dev/null +++ b/docs/API/search/all_5.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/all_5.js b/docs/API/search/all_5.js new file mode 100644 index 0000000..1ee29e6 --- /dev/null +++ b/docs/API/search/all_5.js @@ -0,0 +1,74 @@ +var searchData= +[ + ['e_5fbit',['e_bit',['../structecpri__seq__id.html#a1f74b973e738bf357c470565a1256ef5',1,'ecpri_seq_id']]], + ['eaxc',['eaxc',['../structxran__recv__packet__info.html#acd06407a6718be7fc0ed0b9bf6b9e4c3',1,'xran_recv_packet_info']]], + ['eaxc_5fid_5fcfg',['eAxc_id_cfg',['../structxran__device__ctx.html#a3dbfc411296cd3d20af144236590ed91',1,'xran_device_ctx']]], + ['eaxc_5foffset',['eAxC_offset',['../structxran__srs__config.html#a38a5594e33178248d80ccde98a16262a',1,'xran_srs_config::eAxC_offset()'],['../structxran__prach__cp__config.html#a38a5594e33178248d80ccde98a16262a',1,'xran_prach_cp_config::eAxC_offset()']]], + ['eaxcid_5fconf',['eAxCId_conf',['../structxran__fh__init.html#a3a10011d5a15ba88d65b9e027cdff35e',1,'xran_fh_init']]], + ['ebit',['ebit',['../structxran__recv__packet__info.html#afc198efda3f50db2a5cae3c738528dd9',1,'xran_recv_packet_info']]], + ['ecpri_5fbit_5fsequence',['ECPRI_BIT_SEQUENCE',['../group__xran__common__pkt.html#gga5f49588115e2d0a807ad613ae866384aa83e30716d1c67fc4c96aed3dc63306e7',1,'xran_pkt.h']]], + ['ecpri_5fconcat',['ecpri_concat',['../structxran__ecpri__cmn__hdr.html#a322d75c9ec1299251f0af915b2a1de75',1,'xran_ecpri_cmn_hdr']]], + ['ecpri_5fdelay_5fmeasurement',['ECPRI_DELAY_MEASUREMENT',['../group__xran__common__pkt.html#gga5f49588115e2d0a807ad613ae866384aa83e33b4f939bf5f34675c575efef7725',1,'xran_pkt.h']]], + ['ecpri_5fevent_5findication',['ECPRI_EVENT_INDICATION',['../group__xran__common__pkt.html#gga5f49588115e2d0a807ad613ae866384aa2936c4480b2bb50029755835dca9727d',1,'xran_pkt.h']]], + ['ecpri_5fgen_5fdata_5ftransfer',['ECPRI_GEN_DATA_TRANSFER',['../group__xran__common__pkt.html#gga5f49588115e2d0a807ad613ae866384aaa63937b639e3635a13a385109df8883b',1,'xran_pkt.h']]], + ['ecpri_5fhdr',['ecpri_hdr',['../structxran__pkt__comm__hdr.html#ae84e1fad9281c0bfd9c07df6a570a4f0',1,'xran_pkt_comm_hdr::ecpri_hdr()'],['../structxran__up__pkt__hdr.html#ae84e1fad9281c0bfd9c07df6a570a4f0',1,'xran_up_pkt_hdr::ecpri_hdr()']]], + ['ecpri_5fiq_5fdata',['ECPRI_IQ_DATA',['../group__xran__common__pkt.html#gga5f49588115e2d0a807ad613ae866384aaef46b9a1a9d9f7c3276e1e99b02ef6de',1,'xran_pkt.h']]], + ['ecpri_5fmax_5fpayload_5fsize',['ECPRI_MAX_PAYLOAD_SIZE',['../xran__pkt_8h.html#ada35affbf9950f9f0cfa7faa7c8d0d2c',1,'xran_pkt.h']]], + ['ecpri_5fmesg_5ftype',['ecpri_mesg_type',['../structxran__ecpri__cmn__hdr.html#a5b41115e5686e3ff4f14c356a3aa209a',1,'xran_ecpri_cmn_hdr']]], + ['ecpri_5fmsg_5ftype',['ecpri_msg_type',['../group__xran__common__pkt.html#ga5f49588115e2d0a807ad613ae866384a',1,'xran_pkt.h']]], + ['ecpri_5fmsg_5ftype_5fmax',['ECPRI_MSG_TYPE_MAX',['../group__xran__common__pkt.html#gga5f49588115e2d0a807ad613ae866384aa02a7dc510de42e21631982f2c60be2f1',1,'xran_pkt.h']]], + ['ecpri_5fpayl_5fsize',['ecpri_payl_size',['../structxran__ecpri__cmn__hdr.html#a61bf830b8866773b24cbca74ed3a4d6f',1,'xran_ecpri_cmn_hdr']]], + ['ecpri_5fremote_5fmem_5faccess',['ECPRI_REMOTE_MEM_ACCESS',['../group__xran__common__pkt.html#gga5f49588115e2d0a807ad613ae866384aa030da92cf8a6e8fe6ef5dda2d8d6869b',1,'xran_pkt.h']]], + ['ecpri_5fremote_5freset',['ECPRI_REMOTE_RESET',['../group__xran__common__pkt.html#gga5f49588115e2d0a807ad613ae866384aa58c3ff60f86b8a738082deeee4e3f1ab',1,'xran_pkt.h']]], + ['ecpri_5fresv',['ecpri_resv',['../structxran__ecpri__cmn__hdr.html#a5dc01ebf378adefbe507b257d8e6c6d8',1,'xran_ecpri_cmn_hdr']]], + ['ecpri_5frt_5fcontrol_5fdata',['ECPRI_RT_CONTROL_DATA',['../group__xran__common__pkt.html#gga5f49588115e2d0a807ad613ae866384aa54c48b34d68f3445f6108e416a655955',1,'xran_pkt.h']]], + ['ecpri_5fseq_5fid',['ecpri_seq_id',['../structecpri__seq__id.html',1,'ecpri_seq_id'],['../structxran__ecpri__hdr.html#aa5d2447d17b81766e3843a60296446e3',1,'xran_ecpri_hdr::ecpri_seq_id()']]], + ['ecpri_5fver',['ecpri_ver',['../structxran__ecpri__cmn__hdr.html#ae951511bfaa494bee98d7fc69c0966f0',1,'xran_ecpri_cmn_hdr']]], + ['ecpri_5fversion',['ecpri_version',['../structxran__recv__packet__info.html#af75754cde2a3f5b9a770a31adb61fcbf',1,'xran_recv_packet_info']]], + ['ecpri_5fxtc_5fid',['ecpri_xtc_id',['../structxran__ecpri__hdr.html#abe6f9630ee7939118e68d24d90434e0c',1,'xran_ecpri_hdr']]], + ['ef',['ef',['../structxran__section__info.html#afe3859cd334ad3f912622c58d5b2079e',1,'xran_section_info::ef()'],['../structxran__cp__radioapp__section__header.html#ad63f9c3cee58cacccc463bc3c3313cc6',1,'xran_cp_radioapp_section_header::ef()'],['../structxran__cp__radioapp__section__ext__hdr.html#a260ff01d6dbfb5c57ac75516eb131c48',1,'xran_cp_radioapp_section_ext_hdr::ef()'],['../structxran__cp__radioapp__section__ext1.html#afe3859cd334ad3f912622c58d5b2079e',1,'xran_cp_radioapp_section_ext1::ef()'],['../structxran__cp__radioapp__section__ext2.html#ad63f9c3cee58cacccc463bc3c3313cc6',1,'xran_cp_radioapp_section_ext2::ef()'],['../structxran__cp__radioapp__section__ext3__first.html#ad63f9c3cee58cacccc463bc3c3313cc6',1,'xran_cp_radioapp_section_ext3_first::ef()'],['../structxran__cp__radioapp__section__ext3__non__first.html#ad63f9c3cee58cacccc463bc3c3313cc6',1,'xran_cp_radioapp_section_ext3_non_first::ef()'],['../structxran__cp__radioapp__section__ext4.html#ad63f9c3cee58cacccc463bc3c3313cc6',1,'xran_cp_radioapp_section_ext4::ef()'],['../structxran__cp__radioapp__section6.html#ad63f9c3cee58cacccc463bc3c3313cc6',1,'xran_cp_radioapp_section6::ef()'],['../xran__pkt__cp_8h.html#ad63f9c3cee58cacccc463bc3c3313cc6',1,'ef(): xran_pkt_cp.h']]], + ['elog',['elog',['../ethernet_8h.html#a0b63de3f9c61ad7ac89987bb44699200',1,'ethernet.h']]], + ['emplace',['emplace',['../classnlohmann_1_1basic__json.html#a3266031b8b423571de004ddf5bcddd24',1,'nlohmann::basic_json']]], + ['emplace_5fback',['emplace_back',['../classnlohmann_1_1basic__json.html#ac294eba73765b9a72a7399d64e8ecd9a',1,'nlohmann::basic_json']]], + ['empty',['empty',['../classnlohmann_1_1basic__json.html#a3f6fc5de06a318920d84f3c3742db07f',1,'nlohmann::basic_json']]], + ['enable_5fif_5ft',['enable_if_t',['../namespacenlohmann_1_1detail.html#a012819c9e8b5e04872a271f50f8b8196',1,'nlohmann::detail']]], + ['enablecp',['enableCP',['../struct___runtime_config.html#ab0bb0b684cc2798a2ef1ceabe4a47e38',1,'_RuntimeConfig::enableCP()'],['../structxran__fh__init.html#ab0bb0b684cc2798a2ef1ceabe4a47e38',1,'xran_fh_init::enableCP()'],['../structxran__device__ctx.html#a1acdb894b98fd0ddf9e5542b50acfc50',1,'xran_device_ctx::enableCP()']]], + ['enableprach',['enablePrach',['../struct___runtime_config.html#aede2a014b7865a3e3b425d468f157331',1,'_RuntimeConfig::enablePrach()'],['../structxran__device__ctx.html#ac6a2e22859da6e8385450b7b9303c709',1,'xran_device_ctx::enablePrach()']]], + ['enablesrs',['enableSrs',['../struct___runtime_config.html#ac059a4a69d0a3fd511290fea2d95ab25',1,'_RuntimeConfig::enableSrs()'],['../structxran__device__ctx.html#a66006900f44c762b5df67ded52ee8edb',1,'xran_device_ctx::enableSrs()']]], + ['end',['end',['../classnlohmann_1_1basic__json.html#afc5380afa64b233d0df01a147616974b',1,'nlohmann::basic_json::end() noexcept'],['../classnlohmann_1_1basic__json.html#a5b9b57293fae9b18b26349ac0b3fdcd3',1,'nlohmann::basic_json::end() const noexcept']]], + ['end_5ftime',['END_TIME',['../namespacemaster.html#a728d32d8d3a9326d4a888b8bb802cf23',1,'master']]], + ['entities',['entities',['../structxran__ethdi__ctx.html#a9aae028a7de6cf24800730ee0ead940a',1,'xran_ethdi_ctx']]], + ['entities_5faddrs',['entities_addrs',['../ethdi_8h.html#a061420dc29ec42fb222295d9496edbf7',1,'ethdi.h']]], + ['erase',['erase',['../classnlohmann_1_1basic__json.html#a05a2d4678b130a13b4bcbc62f4318d72',1,'nlohmann::basic_json::erase(IteratorType pos)'],['../classnlohmann_1_1basic__json.html#ae6435ba8565966a32cbaa5f3b7a9429f',1,'nlohmann::basic_json::erase(IteratorType first, IteratorType last)'],['../classnlohmann_1_1basic__json.html#a506aa484ea4e1a2cee6b9f77c33b7979',1,'nlohmann::basic_json::erase(const typename object_t::key_type &key)'],['../classnlohmann_1_1basic__json.html#a2dd65c471eadf1651db73f3c1f155bfd',1,'nlohmann::basic_json::erase(const size_type idx)']]], + ['eth_5fhdr',['eth_hdr',['../structxran__pkt__comm__hdr.html#a6e3fef7be6167ccb1e122ef76ceb409a',1,'xran_pkt_comm_hdr::eth_hdr()'],['../structeth__xran__up__pkt__hdr.html#a6e3fef7be6167ccb1e122ef76ceb409a',1,'eth_xran_up_pkt_hdr::eth_hdr()']]], + ['eth_5fxran_5fup_5fpkt_5fhdr',['eth_xran_up_pkt_hdr',['../structeth__xran__up__pkt__hdr.html',1,'']]], + ['ethdi_2ec',['ethdi.c',['../ethdi_8c.html',1,'']]], + ['ethdi_2eh',['ethdi.h',['../ethdi_8h.html',1,'']]], + ['ethdi_5fcp_5fvf',['ETHDI_CP_VF',['../ethdi_8h.html#a08bfa37a0c337e82469d07cac15fd22bafd65206af3962a0d333f6bf4456b8c11',1,'ethdi.h']]], + ['ethdi_5fhdr',['ethdi_hdr',['../structethdi__hdr.html',1,'']]], + ['ethdi_5fup_5fvf',['ETHDI_UP_VF',['../ethdi_8h.html#a08bfa37a0c337e82469d07cac15fd22bad26902fd68760130ecf75d5ec52a027d',1,'ethdi.h']]], + ['ethdi_5fvf_5fmax',['ETHDI_VF_MAX',['../ethdi_8h.html#a08bfa37a0c337e82469d07cac15fd22ba6f2e27be6beca5899e45e8ebade5216d',1,'ethdi.h']]], + ['ether_5ftype_5fecpri',['ETHER_TYPE_ECPRI',['../ethernet_8h.html#af87cccd4396539ae2fd0000a61907e92',1,'ethernet.h']]], + ['ether_5ftype_5fethdi',['ETHER_TYPE_ETHDI',['../ethernet_8h.html#a0118652ad4c1f706fd9b626221530738',1,'ethernet.h']]], + ['ether_5ftype_5fstart_5ftx',['ETHER_TYPE_START_TX',['../ethernet_8h.html#a12f018df6b9efaa5217f341d0d56e66f',1,'ethernet.h']]], + ['ether_5ftype_5fsync',['ETHER_TYPE_SYNC',['../ethernet_8h.html#a9603401a9e933e2fd95f0a3a32c78c8a',1,'ethernet.h']]], + ['ethernet_2ec',['ethernet.c',['../ethernet_8c.html',1,'']]], + ['ethernet_2eh',['ethernet.h',['../ethernet_8h.html',1,'']]], + ['ethertype',['ethertype',['../ethdi_8c.html#aa9296c58dc24c63c4ee927db394a97d7',1,'ethdi.c']]], + ['ethertype_5fhandler',['ethertype_handler',['../ethdi_8h.html#a7c379f4a70692477327fb1a3538cfd1e',1,'ethdi.h']]], + ['exdata',['exData',['../structxran__section__gen__info.html#ab8e4e63c68495e71cca8e6ea069b9218',1,'xran_section_gen_info']]], + ['exdatasize',['exDataSize',['../structxran__section__gen__info.html#aa561d89cbc570e39183c64a5095a6053',1,'xran_section_gen_info']]], + ['expandeddata',['ExpandedData',['../struct_block_float_compander_1_1_expanded_data.html',1,'ExpandedData'],['../struct_block_float_compander_b_f_w_1_1_expanded_data.html',1,'ExpandedData']]], + ['exponent',['exponent',['../structxran__sectionext1__info.html#af05d5abe7656953548edfb3eb5117659',1,'xran_sectionext1_info::exponent()'],['../structcompression__params_1_1block__fl__point.html#af05d5abe7656953548edfb3eb5117659',1,'compression_params::block_fl_point::exponent()']]], + ['ext_5fsection_5fsz',['ext_section_sz',['../structxran__cp__bf__weight.html#a17671b66262aad67690f1c6f50b11c67',1,'xran_cp_bf_weight']]], + ['external_5fconstructor',['external_constructor',['../structnlohmann_1_1detail_1_1external__constructor.html',1,'nlohmann::detail']]], + ['external_5fconstructor_3c_20value_5ft_3a_3aarray_20_3e',['external_constructor< value_t::array >',['../structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1array_01_4.html',1,'nlohmann::detail']]], + ['external_5fconstructor_3c_20value_5ft_3a_3aboolean_20_3e',['external_constructor< value_t::boolean >',['../structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1boolean_01_4.html',1,'nlohmann::detail']]], + ['external_5fconstructor_3c_20value_5ft_3a_3anumber_5ffloat_20_3e',['external_constructor< value_t::number_float >',['../structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__float_01_4.html',1,'nlohmann::detail']]], + ['external_5fconstructor_3c_20value_5ft_3a_3anumber_5finteger_20_3e',['external_constructor< value_t::number_integer >',['../structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__integer_01_4.html',1,'nlohmann::detail']]], + ['external_5fconstructor_3c_20value_5ft_3a_3anumber_5funsigned_20_3e',['external_constructor< value_t::number_unsigned >',['../structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__unsigned_01_4.html',1,'nlohmann::detail']]], + ['external_5fconstructor_3c_20value_5ft_3a_3aobject_20_3e',['external_constructor< value_t::object >',['../structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1object_01_4.html',1,'nlohmann::detail']]], + ['external_5fconstructor_3c_20value_5ft_3a_3astring_20_3e',['external_constructor< value_t::string >',['../structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1string_01_4.html',1,'nlohmann::detail']]], + ['extlen',['extLen',['../structxran__cp__radioapp__section__ext__hdr.html#ac83c9926f298a62e15cfbc16571a54fb',1,'xran_cp_radioapp_section_ext_hdr::extLen()'],['../structxran__cp__radioapp__section__ext1.html#a1704e602910415f3250e10f4f215fb84',1,'xran_cp_radioapp_section_ext1::extLen()'],['../structxran__cp__radioapp__section__ext2.html#ab53808b9894ae611b5b0800f2cdc248c',1,'xran_cp_radioapp_section_ext2::extLen()'],['../structxran__cp__radioapp__section__ext3__first.html#ab53808b9894ae611b5b0800f2cdc248c',1,'xran_cp_radioapp_section_ext3_first::extLen()'],['../structxran__cp__radioapp__section__ext3__non__first.html#ab53808b9894ae611b5b0800f2cdc248c',1,'xran_cp_radioapp_section_ext3_non_first::extLen()'],['../structxran__cp__radioapp__section__ext4.html#ab53808b9894ae611b5b0800f2cdc248c',1,'xran_cp_radioapp_section_ext4::extLen()'],['../xran__pkt__cp_8h.html#ab53808b9894ae611b5b0800f2cdc248c',1,'extLen(): xran_pkt_cp.h']]], + ['exttype',['extType',['../structxran__cp__radioapp__section__ext__hdr.html#a9f0a18447f69980ff7c9371840018713',1,'xran_cp_radioapp_section_ext_hdr::extType()'],['../structxran__cp__radioapp__section__ext1.html#af69684e1de711986c6c92dcb0cde3ef9',1,'xran_cp_radioapp_section_ext1::extType()'],['../structxran__cp__radioapp__section__ext2.html#a0fb8616e86f89f4b8af4e191d1cb7ce7',1,'xran_cp_radioapp_section_ext2::extType()'],['../structxran__cp__radioapp__section__ext3__first.html#a0fb8616e86f89f4b8af4e191d1cb7ce7',1,'xran_cp_radioapp_section_ext3_first::extType()'],['../structxran__cp__radioapp__section__ext3__non__first.html#a0fb8616e86f89f4b8af4e191d1cb7ce7',1,'xran_cp_radioapp_section_ext3_non_first::extType()'],['../structxran__cp__radioapp__section__ext4.html#a0fb8616e86f89f4b8af4e191d1cb7ce7',1,'xran_cp_radioapp_section_ext4::extType()'],['../xran__pkt__cp_8h.html#a0fb8616e86f89f4b8af4e191d1cb7ce7',1,'extType(): xran_pkt_cp.h']]] +]; diff --git a/docs/API/search/all_6.html b/docs/API/search/all_6.html new file mode 100644 index 0000000..6afac06 --- /dev/null +++ b/docs/API/search/all_6.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/all_6.js b/docs/API/search/all_6.js new file mode 100644 index 0000000..f69c035 --- /dev/null +++ b/docs/API/search/all_6.js @@ -0,0 +1,49 @@ +var searchData= +[ + ['fclose',['fclose',['../gen__test_8m.html#a14e2cbac46a5d611bf112b1f4beb7021',1,'gen_test.m']]], + ['fftsize',['fftSize',['../structxran__cp__header__params.html#a59e7e8f3feb686850b0cb0ae065de85b',1,'xran_cp_header_params::fftSize()'],['../structxran__ru__config.html#a59e7e8f3feb686850b0cb0ae065de85b',1,'xran_ru_config::fftSize()'],['../structxran__cp__radioapp__frame_structure.html#a59e7e8f3feb686850b0cb0ae065de85b',1,'xran_cp_radioapp_frameStructure::fftSize()'],['../xran__pkt__cp_8h.html#a59e7e8f3feb686850b0cb0ae065de85b',1,'fftSize(): xran_pkt_cp.h']]], + ['fh_5fcfg',['fh_cfg',['../structxran__device__ctx.html#a4adf91126704ea524f98f461f6180c85',1,'xran_device_ctx']]], + ['fh_5fcounters',['fh_counters',['../structxran__device__ctx.html#ad2bc382255cb424431bb7515a796e5bf',1,'xran_device_ctx']]], + ['fh_5finit',['fh_init',['../structxran__device__ctx.html#a3842cc1a01bcaa4df37fd8c10308ff01',1,'xran_device_ctx']]], + ['fields',['fields',['../structdata__section__hdr.html#a9f1bf385f4549249e191e6563acbdecb',1,'data_section_hdr']]], + ['file_5fname',['file_name',['../gen__test_8m.html#a58ed1f4fc05e40edea694d9f889da543',1,'gen_test.m']]], + ['fileprefix',['filePrefix',['../structxran__fh__init.html#a6a78f61ed42f876c7cfa835be5ed0942',1,'xran_fh_init']]], + ['filter_5fid',['filter_id',['../structradio__app__common__hdr.html#ab370897260617b317ee8957e470de1cc',1,'radio_app_common_hdr']]], + ['filteridx',['filterIdx',['../structxran__cp__header__params.html#ad5150de5e1c141cfe288f260afb00830',1,'xran_cp_header_params::filterIdx()'],['../structxran__prach__cp__config.html#ad5150de5e1c141cfe288f260afb00830',1,'xran_prach_cp_config::filterIdx()']]], + ['filterindex',['filterIndex',['../structxran__cp__radioapp__common__header.html#a6275bf84e65f219845e03cf9535f893a',1,'xran_cp_radioapp_common_header::filterIndex()'],['../xran__pkt__cp_8h.html#a6275bf84e65f219845e03cf9535f893a',1,'filterIndex(): xran_pkt_cp.h']]], + ['find',['find',['../classnlohmann_1_1basic__json.html#a4cf2116be00a99de7addd2c32d71f99d',1,'nlohmann::basic_json::find(typename object_t::key_type key)'],['../classnlohmann_1_1basic__json.html#a22458ba24125dc0fe0d363864dddc889',1,'nlohmann::basic_json::find(typename object_t::key_type key) const']]], + ['flatten',['flatten',['../classnlohmann_1_1basic__json.html#a6a19297e3c35ea1836a330681443e241',1,'nlohmann::basic_json']]], + ['flexran_5fup_5fvlan_5ftag',['FLEXRAN_UP_VLAN_TAG',['../ethernet_8h.html#aedb12c4d673468ce4291b4e756a72b38',1,'ethernet.h']]], + ['fn',['fn',['../ethdi_8c.html#a964502cdb0a980bb8110971755faec77',1,'ethdi.c']]], + ['for',['for',['../gen__test_8m.html#a00ebf5acd6f00adefc3a19d5e587b58f',1,'for(i=1:1:nSlots *14-1) ifft_in_1: gen_test.m'],['../gen__test_8m.html#af3108abdfc7dbfa64896900ace74b015',1,'for(slot_idx=1:1:nSlots *14) bfw_all_slots: gen_test.m']]], + ['format_5f0',['FORMAT_0',['../xran__common_8h.html#a8c9c50771b8a51b0209b1866855b80dda3da3630c9b4bcccd0ce575dec64f1e8c',1,'xran_common.h']]], + ['format_5f1',['FORMAT_1',['../xran__common_8h.html#a8c9c50771b8a51b0209b1866855b80ddaa8dcdd4c043312a1375dcca7c9871890',1,'xran_common.h']]], + ['format_5f2',['FORMAT_2',['../xran__common_8h.html#a8c9c50771b8a51b0209b1866855b80ddace242c744b99c7a362cd3d1def11f1c2',1,'xran_common.h']]], + ['format_5f3',['FORMAT_3',['../xran__common_8h.html#a8c9c50771b8a51b0209b1866855b80ddaf68a27769c5e6ba92952e5c0e020e5a6',1,'xran_common.h']]], + ['format_5fa1',['FORMAT_A1',['../xran__common_8h.html#a8c9c50771b8a51b0209b1866855b80dda4dbd8b9cc1a25a875c17515359bd1b1d',1,'xran_common.h']]], + ['format_5fa2',['FORMAT_A2',['../xran__common_8h.html#a8c9c50771b8a51b0209b1866855b80ddac9e8e841dda58d91cba5f171ff7ff3fe',1,'xran_common.h']]], + ['format_5fa3',['FORMAT_A3',['../xran__common_8h.html#a8c9c50771b8a51b0209b1866855b80dda4daf71066792c884693864fefcda15e7',1,'xran_common.h']]], + ['format_5fb1',['FORMAT_B1',['../xran__common_8h.html#a8c9c50771b8a51b0209b1866855b80ddac94f811c4266a82ce5064662e402e1ef',1,'xran_common.h']]], + ['format_5fb2',['FORMAT_B2',['../xran__common_8h.html#a8c9c50771b8a51b0209b1866855b80ddadcf4ca500d4c83886f855a53e4f7d525',1,'xran_common.h']]], + ['format_5fb3',['FORMAT_B3',['../xran__common_8h.html#a8c9c50771b8a51b0209b1866855b80dda6934efee56a47d220a516928ec0d3306',1,'xran_common.h']]], + ['format_5fb4',['FORMAT_B4',['../xran__common_8h.html#a8c9c50771b8a51b0209b1866855b80dda4f3a9d68540b513a7ea82b7795632e95',1,'xran_common.h']]], + ['format_5fc0',['FORMAT_C0',['../xran__common_8h.html#a8c9c50771b8a51b0209b1866855b80dda858e0c1dfeafae5dba3691fbfcb3c7a2',1,'xran_common.h']]], + ['format_5fc2',['FORMAT_C2',['../xran__common_8h.html#a8c9c50771b8a51b0209b1866855b80dda900ab029e31373a471a67c75dbbefa50',1,'xran_common.h']]], + ['format_5flast',['FORMAT_LAST',['../xran__common_8h.html#a8c9c50771b8a51b0209b1866855b80ddaa185443c6e7b69491fda0d39d09ebe73',1,'xran_common.h']]], + ['fpga_5fto_5fsw_5fprach_5frx_5fbuffer_5flen',['FPGA_TO_SW_PRACH_RX_BUFFER_LEN',['../sample-app_8c.html#a67e68cef19d6e679b04c315c9234a0e3',1,'FPGA_TO_SW_PRACH_RX_BUFFER_LEN(): sample-app.c'],['../xran__lib__wrap_8hpp.html#a67e68cef19d6e679b04c315c9234a0e3',1,'FPGA_TO_SW_PRACH_RX_BUFFER_LEN(): xran_lib_wrap.hpp']]], + ['fpgaphasecompcfg',['FPGAPhaseCompCfg',['../struct_f_p_g_a_phase_comp_cfg.html',1,'']]], + ['fra',['fRA',['../structx_r_a_n_prach_preamble_l_r_a_struct.html#aed8831c5fee95cb19b08e7fddb5d9658',1,'xRANPrachPreambleLRAStruct']]], + ['frame_5fconf',['frame_conf',['../structxran__fh__config.html#a72b0cba491d0dd2703d684cb2c2a14cf',1,'xran_fh_config']]], + ['frame_5fid',['frame_id',['../structradio__app__common__hdr.html#a03c1016ac46b9df250b994f242cf956a',1,'radio_app_common_hdr']]], + ['frameid',['frameId',['../structxran__cp__header__params.html#a048f7f66787565b266517ddaa551d98e',1,'xran_cp_header_params::frameId()'],['../structxran__cp__radioapp__common__header.html#a15a5e5806d950f2d75550c17b007153c',1,'xran_cp_radioapp_common_header::frameId()'],['../xran__pkt__cp_8h.html#a15a5e5806d950f2d75550c17b007153c',1,'frameId(): xran_pkt_cp.h']]], + ['framestructure',['frameStructure',['../structxran__cp__radioapp__section0__header.html#addd131fba195042d2b0b7de7c5183b6a',1,'xran_cp_radioapp_section0_header::frameStructure()'],['../structxran__cp__radioapp__section3__header.html#addd131fba195042d2b0b7de7c5183b6a',1,'xran_cp_radioapp_section3_header::frameStructure()'],['../xran__pkt__cp_8h.html#addd131fba195042d2b0b7de7c5183b6a',1,'frameStructure(): xran_pkt_cp.h']]], + ['freqoffset',['freqOffset',['../structxran__section__info.html#a3af58496c14a1c91c015aa6ffe7dca49',1,'xran_section_info::freqOffset()'],['../structxran__cp__radioapp__section3.html#a13677edb1da78e5c96fc793592142392',1,'xran_cp_radioapp_section3::freqOffset()'],['../structxran__prach__cp__config.html#a3af58496c14a1c91c015aa6ffe7dca49',1,'xran_prach_cp_config::freqOffset()'],['../xran__pkt__cp_8h.html#a13677edb1da78e5c96fc793592142392',1,'freqOffset(): xran_pkt_cp.h']]], + ['from_5fcbor',['from_cbor',['../classnlohmann_1_1basic__json.html#adc1943642176bb9091891f24bbb67416',1,'nlohmann::basic_json']]], + ['from_5fjson',['from_json',['../structnlohmann_1_1adl__serializer.html#adcdd0023173b7ae293da6cc2ffddfd06',1,'nlohmann::adl_serializer::from_json()'],['../namespacenlohmann_1_1detail.html#a58117f225f43d03e3a0a4a6f3d77c9d9',1,'nlohmann::detail::from_json(const BasicJsonType &j, typename BasicJsonType::boolean_t &b)'],['../namespacenlohmann_1_1detail.html#ad74d89f77ada7a57eff38b43d4bf2335',1,'nlohmann::detail::from_json(const BasicJsonType &j, typename BasicJsonType::string_t &s)'],['../namespacenlohmann_1_1detail.html#a7cb5dd7d46a60e65f9a8e0873b3f7dd8',1,'nlohmann::detail::from_json(const BasicJsonType &j, typename BasicJsonType::number_float_t &val)'],['../namespacenlohmann_1_1detail.html#ace4d5680ba413d9fd897ccb5d9c61a1c',1,'nlohmann::detail::from_json(const BasicJsonType &j, typename BasicJsonType::number_unsigned_t &val)'],['../namespacenlohmann_1_1detail.html#a047d881e611fcac709dc318f730a1732',1,'nlohmann::detail::from_json(const BasicJsonType &j, typename BasicJsonType::number_integer_t &val)'],['../namespacenlohmann_1_1detail.html#acf8dd944c2c7455880dee6f0b355aa01',1,'nlohmann::detail::from_json(const BasicJsonType &j, UnscopedEnumType &e)'],['../namespacenlohmann_1_1detail.html#abc62958462b916726b89f25fa381a129',1,'nlohmann::detail::from_json(const BasicJsonType &j, typename BasicJsonType::array_t &arr)'],['../namespacenlohmann_1_1detail.html#a7fb5b5b8034d347b702d31d7fec4ecd7',1,'nlohmann::detail::from_json(const BasicJsonType &j, std::forward_list< T, Allocator > &l)'],['../namespacenlohmann_1_1detail.html#a8dcac00852dbe1f61d1e78135b19d428',1,'nlohmann::detail::from_json(const BasicJsonType &j, CompatibleArrayType &arr)'],['../namespacenlohmann_1_1detail.html#a5e7a3674e8ac46f8feebad9712d7c55f',1,'nlohmann::detail::from_json(const BasicJsonType &j, CompatibleObjectType &obj)'],['../namespacenlohmann_1_1detail.html#a839b0ab50d2c9bce669068f56bc41202',1,'nlohmann::detail::from_json(const BasicJsonType &j, ArithmeticType &val)']]], + ['from_5fjson_5farray_5fimpl',['from_json_array_impl',['../namespacenlohmann_1_1detail.html#ac53673a5ce29fb69b96d41dad33cb3b0',1,'nlohmann::detail::from_json_array_impl(const BasicJsonType &j, CompatibleArrayType &arr, priority_tag< 0 >)'],['../namespacenlohmann_1_1detail.html#a57f93ed57254a1639087cdc316e0fb83',1,'nlohmann::detail::from_json_array_impl(const BasicJsonType &j, CompatibleArrayType &arr, priority_tag< 1 >) -> decltype(arr.reserve(std::declval< typename CompatibleArrayType::size_type >()), void())']]], + ['from_5fjson_5ffn',['from_json_fn',['../structnlohmann_1_1detail_1_1from__json__fn.html',1,'nlohmann::detail']]], + ['from_5fmsgpack',['from_msgpack',['../classnlohmann_1_1basic__json.html#ae9e03e9dcfd9897c8c9b03a53cf02d30',1,'nlohmann::basic_json']]], + ['front',['front',['../classnlohmann_1_1basic__json.html#a6a48363b4355f6f5b441637774f79a59',1,'nlohmann::basic_json::front()'],['../classnlohmann_1_1basic__json.html#a0ae6b4f9719202f7ddb334c16fb03d80',1,'nlohmann::basic_json::front() const']]], + ['fucntional_5fdl',['fucntional_dl',['../class_u__plane_perf.html#aa2fb15367f40188e0a2d2c15fa6ad124',1,'U_planePerf']]], + ['fwrite',['fwrite',['../gen__test_8m.html#a8e50d67d4be6daacbf6522b5950a6a4d',1,'gen_test.m']]] +]; diff --git a/docs/API/search/all_7.html b/docs/API/search/all_7.html new file mode 100644 index 0000000..de19107 --- /dev/null +++ b/docs/API/search/all_7.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/all_7.js b/docs/API/search/all_7.js new file mode 100644 index 0000000..04add52 --- /dev/null +++ b/docs/API/search/all_7.js @@ -0,0 +1,56 @@ +var searchData= +[ + ['g_5fdlrate',['g_DlRate',['../common_8c.html#ab6a2b393cac2724a10352f4fc5a54a3c',1,'common.c']]], + ['g_5fethdi_5fctx',['g_ethdi_ctx',['../ethdi_8c.html#a87322175547262f4937875027a108e90',1,'ethdi.c']]], + ['g_5fulrate',['g_UlRate',['../common_8c.html#a6ea36bb781b9c3045bedb81a5af4ec90',1,'common.c']]], + ['gdlprocadvance',['gDLProcAdvance',['../common_8c.html#a187e00334790a43d509b23b49bf9a741',1,'common.c']]], + ['gdlresetadvance',['gDLResetAdvance',['../common_8c.html#a76a0e379fc6f77567418d4e796e779db',1,'common.c']]], + ['gen_5ftest_2em',['gen_test.m',['../gen__test_8m.html',1,'']]], + ['generate_5fcpmsg_5fdlul',['generate_cpmsg_dlul',['../xran__common_8c.html#a64cba831fe964827a932a5a129272de1',1,'generate_cpmsg_dlul(void *pHandle, struct xran_cp_gen_params *params, struct xran_section_gen_info *sect_geninfo, struct rte_mbuf *mbuf, enum xran_pkt_dir dir, uint8_t frame_id, uint8_t subframe_id, uint8_t slot_id, uint8_t startsym, uint8_t numsym, uint16_t prb_start, uint16_t prb_num, int16_t iq_buffer_offset, int16_t iq_buffer_len, uint16_t beam_id, uint8_t cc_id, uint8_t ru_port_id, uint8_t comp_method, uint8_t iqWidth, uint8_t seq_id, uint8_t symInc): xran_common.c'],['../xran__common_8h.html#aaa01e98d3b3439a332302aebe21459dd',1,'generate_cpmsg_dlul(void *pHandle, struct xran_cp_gen_params *params, struct xran_section_gen_info *sect_geninfo, struct rte_mbuf *mbuf, enum xran_pkt_dir dir, uint8_t frame_id, uint8_t subframe_id, uint8_t slot_id, uint8_t startsym, uint8_t numsym, uint16_t prb_start, uint16_t prb_num, int16_t iq_buffer_offset, int16_t iq_buffer_len, uint16_t beam_id, uint8_t cc_id, uint8_t ru_port_id, uint8_t comp_method, uint8_t iqWidth, uint8_t seq_id, uint8_t symInc): xran_common.c']]], + ['generate_5fcpmsg_5fprach',['generate_cpmsg_prach',['../xran__common_8c.html#ab8a6ed3cee8fa183142d0c23d0b4971d',1,'generate_cpmsg_prach(void *pHandle, struct xran_cp_gen_params *params, struct xran_section_gen_info *sect_geninfo, struct rte_mbuf *mbuf, struct xran_device_ctx *pxran_lib_ctx, uint8_t frame_id, uint8_t subframe_id, uint8_t slot_id, uint16_t beam_id, uint8_t cc_id, uint8_t prach_port_id, uint8_t seq_id): xran_common.c'],['../xran__common_8h.html#ab8a6ed3cee8fa183142d0c23d0b4971d',1,'generate_cpmsg_prach(void *pHandle, struct xran_cp_gen_params *params, struct xran_section_gen_info *sect_geninfo, struct rte_mbuf *mbuf, struct xran_device_ctx *pxran_lib_ctx, uint8_t frame_id, uint8_t subframe_id, uint8_t slot_id, uint16_t beam_id, uint8_t cc_id, uint8_t prach_port_id, uint8_t seq_id): xran_common.c']]], + ['generate_5frandom_5fdata',['generate_random_data',['../common_8hpp.html#a6b7eb6e3593756a484e8e73ba7456683',1,'common.hpp']]], + ['generate_5frandom_5fint_5fnumbers',['generate_random_int_numbers',['../common_8hpp.html#a152b12cc7a564929ac984e570020e548',1,'common.hpp']]], + ['generate_5frandom_5fnumbers',['generate_random_numbers',['../common_8hpp.html#ae1d15fbbdb031b5ab34dfc289d93a6c9',1,'common.hpp']]], + ['generate_5frandom_5freal_5fnumbers',['generate_random_real_numbers',['../common_8hpp.html#ad93fb4e37255c588def24071ede04229',1,'common.hpp']]], + ['get',['get',['../classnlohmann_1_1basic__json.html#ac0019ee44c3e6a11491b841b589391ad',1,'nlohmann::basic_json::get() const'],['../classnlohmann_1_1basic__json.html#a49c729573c3c831d7138c976755d10fd',1,'nlohmann::basic_json::get() const noexcept(noexcept(JSONSerializer< ValueType >::from_json(std::declval< const basic_json_t &>(), std::declval< ValueType &>())))'],['../classnlohmann_1_1basic__json.html#a9cad661513975b42da8bc1d805fd0848',1,'nlohmann::basic_json::get() const noexcept(noexcept(JSONSerializer< ValueTypeCV >::from_json(std::declval< const basic_json_t &>())))'],['../classnlohmann_1_1basic__json.html#a621804845aa82d44271fa934fca54dde',1,'nlohmann::basic_json::get() noexcept'],['../classnlohmann_1_1basic__json.html#aa322e329129e2cc7629145724279c614',1,'nlohmann::basic_json::get() const noexcept']]], + ['get_5fallocator',['get_allocator',['../classnlohmann_1_1basic__json.html#a00ebe95bd430fd8f70297c7d8e6b1393',1,'nlohmann::basic_json']]], + ['get_5farithmetic_5fvalue',['get_arithmetic_value',['../namespacenlohmann_1_1detail.html#a85955b9c6dd31846e4b8e891f78614b6',1,'nlohmann::detail']]], + ['get_5fcase_5fname',['get_case_name',['../class_kernel_tests.html#a5a1ec6ee393f8538815bc0a82eac2e88',1,'KernelTests']]], + ['get_5fcfg_5ffh',['get_cfg_fh',['../classxran_lib_wraper.html#a7d671b9b851d9b0fbae6777e85643c3b',1,'xranLibWraper']]], + ['get_5fcfg_5fframe',['get_cfg_frame',['../classxran_lib_wraper.html#a387cf1bf4b8f48c23d58309a0c1a9e2c',1,'xranLibWraper']]], + ['get_5fcfg_5fprach',['get_cfg_prach',['../classxran_lib_wraper.html#a0395e3b64e7fe193c70ea4e86ce2bddc',1,'xranLibWraper']]], + ['get_5fcfg_5fru',['get_cfg_ru',['../classxran_lib_wraper.html#a8789158912b9607cbc6414c92a120003',1,'xranLibWraper']]], + ['get_5fduplextype',['get_duplextype',['../classxran_lib_wraper.html#a5548a3a1605dbf7b492d6eb164d3c667',1,'xranLibWraper']]], + ['get_5finput_5fparameter',['get_input_parameter',['../class_kernel_tests.html#a6dc1bccfd02f1a94b5c799c15cd98135',1,'KernelTests']]], + ['get_5fnum_5fantelmtrx',['get_num_antelmtrx',['../classxran_lib_wraper.html#adde1d671cf6532a577f13d85875ee3b4',1,'xranLibWraper']]], + ['get_5fnum_5fcc',['get_num_cc',['../classxran_lib_wraper.html#aeeef9211b4ee7d22934db64125b538dd',1,'xranLibWraper']]], + ['get_5fnum_5fdlrbs',['get_num_dlrbs',['../classxran_lib_wraper.html#ad2b06001d76c9a773c242b28fc7c92f4',1,'xranLibWraper']]], + ['get_5fnum_5feaxc',['get_num_eaxc',['../classxran_lib_wraper.html#aef8068804ca7393d92edd9ed22d90070',1,'xranLibWraper']]], + ['get_5fnum_5frbs',['get_num_rbs',['../classxran_lib_wraper.html#abbe0bfcd68428ee4cc3f63a391495e8d',1,'xranLibWraper']]], + ['get_5fnum_5fulrbs',['get_num_ulrbs',['../classxran_lib_wraper.html#a967a0c58430104684cf2f9b1fdb444da',1,'xranLibWraper']]], + ['get_5fnumber_5fof_5fcases',['get_number_of_cases',['../class_kernel_tests.html#a6157ff083be863bba0a7804cd1788d96',1,'KernelTests']]], + ['get_5fnumerology',['get_numerology',['../classxran_lib_wraper.html#a7d7488daf0a2eebb9359f760a60eaf7c',1,'xranLibWraper']]], + ['get_5fptr',['get_ptr',['../classnlohmann_1_1basic__json.html#ac27278f706614ec358de7eea17be96ee',1,'nlohmann::basic_json::get_ptr() noexcept'],['../classnlohmann_1_1basic__json.html#abdc4eee48904c134bc94bd5c7a32b97a',1,'nlohmann::basic_json::get_ptr() const noexcept']]], + ['get_5fref',['get_ref',['../classnlohmann_1_1basic__json.html#ad466825405fe763b16ce1a000b3d9b6c',1,'nlohmann::basic_json::get_ref()'],['../classnlohmann_1_1basic__json.html#ab4df689f8cd3fe0e11f25c319b0da394',1,'nlohmann::basic_json::get_ref() const']]], + ['get_5freference_5fparameter',['get_reference_parameter',['../class_kernel_tests.html#adfbe724335d86320c9839c426c4d5715',1,'KernelTests']]], + ['get_5frucategory',['get_rucategory',['../classxran_lib_wraper.html#a25afbf449e11f9e290e0fdbef77702c2',1,'xranLibWraper']]], + ['get_5fsequence',['get_sequence',['../common_8cpp.html#a39bf4f7770751080f5b72046abfd01a5',1,'get_sequence(const unsigned number): common.cpp'],['../common_8hpp.html#a39bf4f7770751080f5b72046abfd01a5',1,'get_sequence(const unsigned number): common.cpp']]], + ['get_5fslot_5fconfig',['get_slot_config',['../classxran_lib_wraper.html#a970616fd84b2f27327a77e202d31eeef',1,'xranLibWraper']]], + ['get_5fsymbol_5findex',['get_symbol_index',['../classxran_lib_wraper.html#ab795436cc8b07e2b0d665502274b30e6',1,'xranLibWraper']]], + ['get_5fticks_5fdiff',['get_ticks_diff',['../xran__timer_8h.html#a2c22baf2fd259384ee376d438bb461c1',1,'get_ticks_diff(unsigned long curr_tick, unsigned long last_tick): xran_timer.c'],['../xran__timer_8c.html#a2c22baf2fd259384ee376d438bb461c1',1,'get_ticks_diff(unsigned long curr_tick, unsigned long last_tick): xran_timer.c']]], + ['get_5ftimer_5fctx',['get_timer_ctx',['../classxran_lib_wraper.html#a1ffad42e0cccdbc800d3dbef66f52d45',1,'xranLibWraper']]], + ['get_5fxran_5fiq_5fcontent',['get_xran_iq_content',['../sample-app_8c.html#a882d9cb83c94aa24d5eb63c90152cb4e',1,'sample-app.c']]], + ['get_5fxranhandle',['get_xranhandle',['../classxran_lib_wraper.html#a2ad94e2d18c69b423d5402d7777832f1',1,'xranLibWraper']]], + ['getoutofloops',['GetOutOfLoops',['../classmaster_1_1_get_out_of_loops.html',1,'master']]], + ['gmaxslotnum',['gMaxSlotNum',['../common_8c.html#aa4df1a21858f512ae1335aa50df1ce87',1,'common.c']]], + ['gnumdlctx',['gNumDLCtx',['../common_8c.html#a791aa78c25664db4024f849dff35373a',1,'common.c']]], + ['gnumulctx',['gNumULCtx',['../common_8c.html#ad54ed8a4092cdbdec6d5aacbd61d696c',1,'common.c']]], + ['gps_5falpha',['GPS_Alpha',['../struct___runtime_config.html#ae2b1a8eb1532f9f5aedc946086bec354',1,'_RuntimeConfig::GPS_Alpha()'],['../structxran__fh__init.html#ae2b1a8eb1532f9f5aedc946086bec354',1,'xran_fh_init::GPS_Alpha()']]], + ['gps_5fbeta',['GPS_Beta',['../struct___runtime_config.html#aba260ecc47cc76ee126e5b9837f31ab8',1,'_RuntimeConfig::GPS_Beta()'],['../structxran__fh__init.html#aba260ecc47cc76ee126e5b9837f31ab8',1,'xran_fh_init::GPS_Beta()']]], + ['grp_5fid',['grp_id',['../structxran__cp__rbmap__list.html#acbe4924d3235876d0b54c3c9ef6f8149',1,'xran_cp_rbmap_list']]], + ['gulprocadvance',['gULProcAdvance',['../common_8c.html#aca5989a141a0f1335592b2ad78a84349',1,'common.c']]], + ['gxranprachdatatable_5fmmw',['gxranPrachDataTable_mmw',['../xran__common_8h.html#ac7439428a0fb0c1782323193707965f6',1,'gxranPrachDataTable_mmw(): xran_ul_tables.c'],['../xran__ul__tables_8c.html#ac7439428a0fb0c1782323193707965f6',1,'gxranPrachDataTable_mmw(): xran_ul_tables.c']]], + ['gxranprachdatatable_5fsub6_5ffdd',['gxranPrachDataTable_sub6_fdd',['../xran__common_8h.html#a5edf7a402993c76a3a27bee4f390d38c',1,'gxranPrachDataTable_sub6_fdd(): xran_ul_tables.c'],['../xran__ul__tables_8c.html#a5edf7a402993c76a3a27bee4f390d38c',1,'gxranPrachDataTable_sub6_fdd(): xran_ul_tables.c']]], + ['gxranprachdatatable_5fsub6_5ftdd',['gxranPrachDataTable_sub6_tdd',['../xran__common_8h.html#a1c7c9fd55feeae30dc0b8502ef4cab03',1,'gxranPrachDataTable_sub6_tdd(): xran_ul_tables.c'],['../xran__ul__tables_8c.html#a1c7c9fd55feeae30dc0b8502ef4cab03',1,'gxranPrachDataTable_sub6_tdd(): xran_ul_tables.c']]], + ['gxranpreambleforlra',['gxranPreambleforLRA',['../xran__common_8h.html#ab7c9c49ac127f2812c5ffe8c54364286',1,'gxranPreambleforLRA(): xran_ul_tables.c'],['../xran__ul__tables_8c.html#ab7c9c49ac127f2812c5ffe8c54364286',1,'gxranPreambleforLRA(): xran_ul_tables.c']]] +]; diff --git a/docs/API/search/all_8.html b/docs/API/search/all_8.html new file mode 100644 index 0000000..11e27cd --- /dev/null +++ b/docs/API/search/all_8.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/all_8.js b/docs/API/search/all_8.js new file mode 100644 index 0000000..bb09f22 --- /dev/null +++ b/docs/API/search/all_8.js @@ -0,0 +1,12 @@ +var searchData= +[ + ['h',['H',['../gen__test_8m.html#aa64fdf4c18d8172f6bdc412e7d2013e1',1,'gen_test.m']]], + ['half',['half',['../common__typedef__xran_8h.html#ae04954bf174dbb783b950eca2db7c15b',1,'common_typedef_xran.h']]], + ['handle_5fecpri_5fethertype',['handle_ecpri_ethertype',['../xran__main_8c.html#a7a412a9cd0ac919dccb2112fb386d64a',1,'xran_main.c']]], + ['has_5ffrom_5fjson',['has_from_json',['../structnlohmann_1_1detail_1_1has__from__json.html',1,'nlohmann::detail']]], + ['has_5fnon_5fdefault_5ffrom_5fjson',['has_non_default_from_json',['../structnlohmann_1_1detail_1_1has__non__default__from__json.html',1,'nlohmann::detail']]], + ['has_5fto_5fjson',['has_to_json',['../structnlohmann_1_1detail_1_1has__to__json.html',1,'nlohmann::detail']]], + ['hash_3c_20nlohmann_3a_3ajson_20_3e',['hash< nlohmann::json >',['../structstd_1_1hash_3_01nlohmann_1_1json_01_4.html',1,'std']]], + ['hdr',['hdr',['../structxran__cp__gen__params.html#a6c787affb1020c2b8058a3ddeff3fe52',1,'xran_cp_gen_params::hdr()'],['../structxran__cp__radioapp__section0.html#a3675a820a4aec2a8724471cb7f840f16',1,'xran_cp_radioapp_section0::hdr()'],['../structxran__cp__radioapp__section1.html#a3675a820a4aec2a8724471cb7f840f16',1,'xran_cp_radioapp_section1::hdr()'],['../structxran__cp__radioapp__section3.html#a3675a820a4aec2a8724471cb7f840f16',1,'xran_cp_radioapp_section3::hdr()'],['../structxran__cp__radioapp__section5.html#a3675a820a4aec2a8724471cb7f840f16',1,'xran_cp_radioapp_section5::hdr()'],['../xran__pkt__cp_8h.html#a3675a820a4aec2a8724471cb7f840f16',1,'hdr(): xran_pkt_cp.h']]], + ['head',['head',['../ethernet_8c.html#ad9e63131290aa4ae5beeddaf0505946d',1,'ethernet.c']]] +]; diff --git a/docs/API/search/all_9.html b/docs/API/search/all_9.html new file mode 100644 index 0000000..f8abbbe --- /dev/null +++ b/docs/API/search/all_9.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/all_9.js b/docs/API/search/all_9.js new file mode 100644 index 0000000..721a487 --- /dev/null +++ b/docs/API/search/all_9.js @@ -0,0 +1,81 @@ +var searchData= +[ + ['i_5fsample',['i_sample',['../structrb__map.html#ac65eb6aaf536c0ee06118898dd5bd82d',1,'rb_map']]], + ['iassert',['iAssert',['../common_8h.html#a1474943d458f066f2f4be85a329d9028',1,'iAssert(): common.h'],['../xran__printf_8h.html#a1474943d458f066f2f4be85a329d9028',1,'iAssert(): xran_printf.h']]], + ['icompressioninput',['iCompressionInput',['../unittests_8cc.html#ab82f258658bb6832617db7d0992ee0a4',1,'unittests.cc']]], + ['icompressionoutput_5favx_5fa',['iCompressionOutput_AVX_A',['../unittests_8cc.html#a1ad007b76d7b21a06368f0ec21c27cc2',1,'unittests.cc']]], + ['id',['id',['../structxran__section__info.html#a4fc3a0c58dfbd1e68224521185cb9384',1,'xran_section_info::id()'],['../structxran__io__cfg.html#a1e6927fa1486224044e568f9c370519b',1,'xran_io_cfg::id()'],['../structxran__io__loop__cfg.html#a1e6927fa1486224044e568f9c370519b',1,'xran_io_loop_cfg::id()']]], + ['id_5fbroadcast',['ID_BROADCAST',['../ethdi_8h.html#a0e36dceadaee8cb4907cd2110d135851ac960a8651dfedb74f745d26695fcc844',1,'ethdi.h']]], + ['id_5flls_5fcu',['ID_LLS_CU',['../ethdi_8h.html#a0e36dceadaee8cb4907cd2110d135851adb43d55990f322d26e5cdd13ae5df1c1',1,'ethdi.h']]], + ['id_5fmax',['ID_MAX',['../ethdi_8h.html#a0e36dceadaee8cb4907cd2110d135851a04d25c2b2f0416a3d9ac9c75b10d017e',1,'ethdi.h']]], + ['id_5fru',['ID_RU',['../ethdi_8h.html#a0e36dceadaee8cb4907cd2110d135851ac45a8e08bb429947dc63349e955829f9',1,'ethdi.h']]], + ['idecompressionoutput_5favx_5fa',['iDeCompressionOutput_AVX_A',['../unittests_8cc.html#a9d45c46ffc07d37b74ff5a826ce9574b',1,'unittests.cc']]], + ['ifft_5fin_5f1',['ifft_in_1',['../gen__test_8m.html#a5ace8229850f860d97894597163148f6',1,'gen_test.m']]], + ['ilength',['iLength',['../unittests_8cc.html#a103741b3e35f622960485bb8022ff1c3',1,'unittests.cc']]], + ['im',['im',['../struct_c_o_m_p_l_e_x32.html#a967065f052e06d0e239b9bc56e0cc317',1,'COMPLEX32::im()'],['../structcomplex__int16__t.html#a0a0dbf17332859821db9cbe7b4bc7183',1,'complex_int16_t::im()'],['../structcomplex__int32__t.html#affac5cb482b316df6c36ee03670fff9a',1,'complex_int32_t::im()'],['../structcomplex__float.html#a967065f052e06d0e239b9bc56e0cc317',1,'complex_float::im()'],['../structcomplex__double.html#a994624d52dcfaad836adf3f92a8d6b7d',1,'complex_double::im()'],['../structcomplex__half.html#a6d310439e7665c7a3ebee8be034a56d2',1,'complex_half::im()']]], + ['imag',['imag',['../gen__test_8m.html#a4253e838c39515646b8f3ff6b9164f6b',1,'imag((W_dl(:, ant).')) *iPrb]]: gen_test.m'],['../gen__test_8m.html#af10557aad79e2c38cd5401912a8d2420',1,'imag((W_ul(:, ant).')) *iPrb]]: gen_test.m']]], + ['indirect_5fpool',['indirect_pool',['../structxran__device__ctx.html#a6708e76366bccd72d10a3161e485e0f4',1,'xran_device_ctx']]], + ['info',['info',['../structxran__section__gen__info.html#a6ccd48a36736101737e9b419d7a3cc85',1,'xran_section_gen_info']]], + ['init',['Init',['../classxran_lib_wraper.html#a200da4e2209141f12cafef2380cb801a',1,'xranLibWraper']]], + ['init_5flogger',['init_logger',['../namespacemaster.html#a04bd95e527992baa27396644b17c76e8',1,'master']]], + ['init_5fsys_5fcheck',['Init_Sys_Check',['../class_init___sys___check.html',1,'']]], + ['init_5fsys_5ffunctional_2ecc',['init_sys_functional.cc',['../init__sys__functional_8cc.html',1,'']]], + ['init_5ftest',['init_test',['../class_kernel_tests.html#abf28e5ea54fab2b0685972fe6e75560a',1,'KernelTests']]], + ['init_5fxran',['init_xran',['../sample-app_8c.html#ac2172b58f540a081b138ce91d13d9cb3',1,'sample-app.c']]], + ['init_5fxran_5fiq_5fcontent',['init_xran_iq_content',['../sample-app_8c.html#af495811a4eebe0e61cd87eb465382fb7',1,'sample-app.c']]], + ['insert',['insert',['../classnlohmann_1_1basic__json.html#a61546bf37d98e9b0d098220009e8376d',1,'nlohmann::basic_json::insert(const_iterator pos, const basic_json &val)'],['../classnlohmann_1_1basic__json.html#a3558f3419aa799071e6ce6114da3d2ec',1,'nlohmann::basic_json::insert(const_iterator pos, basic_json &&val)'],['../classnlohmann_1_1basic__json.html#ad30ad11886ceb1c06ee5dd940fd73dc7',1,'nlohmann::basic_json::insert(const_iterator pos, size_type cnt, const basic_json &val)'],['../classnlohmann_1_1basic__json.html#ac3333d8377ac68529c6aecebae9e0b9d',1,'nlohmann::basic_json::insert(const_iterator pos, const_iterator first, const_iterator last)'],['../classnlohmann_1_1basic__json.html#ace9415ac72c37ce036fdcd82710cbc83',1,'nlohmann::basic_json::insert(const_iterator pos, std::initializer_list< basic_json > ilist)']]], + ['instance_5fid',['instance_id',['../struct___runtime_config.html#a7c41b87d5f4518f22797b56e183c6d81',1,'_RuntimeConfig']]], + ['instantiate_5ftest_5fcase_5fp',['INSTANTIATE_TEST_CASE_P',['../c__plane__tests_8cc.html#a2684a65b376489405671120c75efab7b',1,'INSTANTIATE_TEST_CASE_P(UnitTest, C_plane, testing::ValuesIn(get_sequence(C_plane::get_number_of_cases("C_Plane")))): c_plane_tests.cc'],['../chain__tests_8cc.html#a2f99c2e64ef3c4233a66e3110dd6a781',1,'INSTANTIATE_TEST_CASE_P(UnitTest, TestChain, testing::ValuesIn(get_sequence(TestChain::get_number_of_cases("TestChain")))): chain_tests.cc'],['../compander__functional_8cc.html#af1f014fcec0bb4765564caa98c3bb2ce',1,'INSTANTIATE_TEST_CASE_P(UnitTest, BfpCheck, testing::ValuesIn(get_sequence(BfpCheck::get_number_of_cases("bfp_functional")))): compander_functional.cc'],['../compander__functional_8cc.html#af960710866a00c534487d7a0ae5f6d9e',1,'INSTANTIATE_TEST_CASE_P(UnitTest, BfpPerf, testing::ValuesIn(get_sequence(BfpPerf::get_number_of_cases("bfp_performace")))): compander_functional.cc'],['../compander__functional_8cc.html#ac1af5cd148c8c0519a73c9f7bb744cf7',1,'INSTANTIATE_TEST_CASE_P(UnitTest, BfpPerfEx, testing::ValuesIn(get_sequence(BfpPerf::get_number_of_cases("bfp_performace_ex")))): compander_functional.cc'],['../init__sys__functional_8cc.html#ab1c8965491e6ac59bfcb56b9fc182f1b',1,'INSTANTIATE_TEST_CASE_P(UnitTest, Init_Sys_Check, testing::ValuesIn(get_sequence(Init_Sys_Check::get_number_of_cases("init_sys_functional")))): init_sys_functional.cc'],['../prach__functional_8cc.html#ac9bbd414b07f0f0f9220e132a11bea34',1,'INSTANTIATE_TEST_CASE_P(UnitTest, PrachCheck, testing::ValuesIn(get_sequence(PrachCheck::get_number_of_cases("prach_functional")))): prach_functional.cc'],['../prach__performance_8cc.html#ab4e27bca35e8082ffbe84519993b0e47',1,'INSTANTIATE_TEST_CASE_P(UnitTest, PrachPerf, testing::ValuesIn(get_sequence(PrachPerf::get_number_of_cases("prach_performance")))): prach_performance.cc'],['../u__plane__functional_8cc.html#aa59dece42a6c30feedc30accb71c2001',1,'INSTANTIATE_TEST_CASE_P(UnitTest, U_planeCheck, testing::ValuesIn(get_sequence(U_planeCheck::get_number_of_cases("u_plane_functional")))): u_plane_functional.cc'],['../u__plane__performance_8cc.html#ac3ee52d20c26760f73891becf45f317b',1,'INSTANTIATE_TEST_CASE_P(UnitTest, U_planePerf, testing::ValuesIn(get_sequence(U_planePerf::get_number_of_cases("u_plane_performance")))): u_plane_performance.cc']]], + ['instruction_5fcpu_5fsupport',['instruction_cpu_support',['../common__typedef__xran_8h.html#a4c160ac3b177a2fde8738ef01e58494c',1,'common_typedef_xran.h']]], + ['interval_5fus',['interval_us',['../xran__common_8c.html#ad36e9c82072e0340b87a46d1dcb1c141',1,'interval_us(): xran_main.c'],['../xran__main_8c.html#a4420e8cf61fbcd985ef37ef3425dc899',1,'interval_us(): xran_main.c']]], + ['io_5fcfg',['io_cfg',['../structxran__fh__init.html#a8a5462b0059073e90d42f8bfa066d566',1,'xran_fh_init::io_cfg()'],['../structxran__ethdi__ctx.html#a84a901e82e979ec87118ff865b311a1f',1,'xran_ethdi_ctx::io_cfg()']]], + ['io_5fcore',['io_core',['../struct___runtime_config.html#a32d3d485cc059e8003d9d99f0707f2e1',1,'_RuntimeConfig']]], + ['iprb',['iPrb',['../gen__test_8m.html#ac6b31045f94257d82fbbcf64a170a093',1,'gen_test.m']]], + ['iq_5fbfw_5fbuffer_5fsize_5fdl',['iq_bfw_buffer_size_dl',['../classxran_lib_wraper.html#ad1ab6e8c4efe2805b76180b34ce4c019',1,'xranLibWraper::iq_bfw_buffer_size_dl()'],['../common_8c.html#ad1ab6e8c4efe2805b76180b34ce4c019',1,'iq_bfw_buffer_size_dl(): common.c'],['../common_8h.html#ad1ab6e8c4efe2805b76180b34ce4c019',1,'iq_bfw_buffer_size_dl(): common.c']]], + ['iq_5fbfw_5fbuffer_5fsize_5ful',['iq_bfw_buffer_size_ul',['../classxran_lib_wraper.html#a8b3edaed699562559db744c8e2aa36b1',1,'xranLibWraper::iq_bfw_buffer_size_ul()'],['../common_8c.html#a8b3edaed699562559db744c8e2aa36b1',1,'iq_bfw_buffer_size_ul(): common.c'],['../common_8h.html#a8b3edaed699562559db744c8e2aa36b1',1,'iq_bfw_buffer_size_ul(): common.c']]], + ['iq_5fbits',['IQ_BITS',['../xran__pkt__up_8h.html#a1f562f709cbcc25bce1e2af28e796ff2',1,'xran_pkt_up.h']]], + ['iq_5fbuff_5flen',['iq_buff_len',['../structxran__cp__rbmap__list.html#a4743b4bb624ddabc85672184430d9d70',1,'xran_cp_rbmap_list']]], + ['iq_5fbuff_5foffset',['iq_buff_offset',['../structxran__cp__rbmap__list.html#abde12917f82ac21d3b35f788384b69d4',1,'xran_cp_rbmap_list']]], + ['iq_5fbuffer_5flen',['iq_buffer_len',['../structxran__section__desc.html#ae55ac9499e5406559ad2ff0376dd0a68',1,'xran_section_desc']]], + ['iq_5fbuffer_5foffset',['iq_buffer_offset',['../structxran__section__desc.html#a4d1fb35f3f2d9f3556fbd1761a167255',1,'xran_section_desc']]], + ['iq_5foffset',['iq_offset',['../class_u__plane_check.html#ad3c8fd8da54a8693b6ea41565af2ad19',1,'U_planeCheck::iq_offset()'],['../class_u__plane_perf.html#ad3c8fd8da54a8693b6ea41565af2ad19',1,'U_planePerf::iq_offset()']]], + ['iq_5fpair_5fnum_5fin_5frb',['IQ_PAIR_NUM_IN_RB',['../xran__pkt__up_8h.html#af6647a7b572e3c757fb834c22c06c757',1,'xran_pkt_up.h']]], + ['iq_5fplayback_5fbuffer_5fbytes',['IQ_PLAYBACK_BUFFER_BYTES',['../common_8h.html#a49c6511dd7755629147643fc2cfdf893',1,'common.h']]], + ['iq_5fplayback_5fbuffer_5fsize_5fdl',['iq_playback_buffer_size_dl',['../common_8c.html#a9aedc75ff69810f3a7ff424e562e77de',1,'iq_playback_buffer_size_dl(): common.c'],['../common_8h.html#a9aedc75ff69810f3a7ff424e562e77de',1,'iq_playback_buffer_size_dl(): common.c']]], + ['iq_5fplayback_5fbuffer_5fsize_5ful',['iq_playback_buffer_size_ul',['../common_8c.html#afd05de12c89b35af48a21e0d9620c2a1',1,'iq_playback_buffer_size_ul(): common.c'],['../common_8h.html#afd05de12c89b35af48a21e0d9620c2a1',1,'iq_playback_buffer_size_ul(): common.c']]], + ['iq_5fsrs_5fbuffer_5fsize_5ful',['iq_srs_buffer_size_ul',['../common_8c.html#a325598fd5fa9c647766e2b1fe43f596f',1,'iq_srs_buffer_size_ul(): common.c'],['../common_8h.html#a325598fd5fa9c647766e2b1fe43f596f',1,'iq_srs_buffer_size_ul(): common.c']]], + ['iqorder',['iqOrder',['../structxran__ru__config.html#ad1b1309ca2645e24fa201f8decae1988',1,'xran_ru_config']]], + ['iqswap',['iqswap',['../struct___runtime_config.html#ad08d1758ebedc3f28561b3f4d1c51645',1,'_RuntimeConfig']]], + ['iqwidth',['iqWidth',['../structxranlib__compress__request.html#a36f5a0cedd274c3ec55f81535f06e0de',1,'xranlib_compress_request::iqWidth()'],['../structxranlib__decompress__request.html#a36f5a0cedd274c3ec55f81535f06e0de',1,'xranlib_decompress_request::iqWidth()'],['../struct_block_float_compander_1_1_compressed_data.html#ad88e9475d4e269108bb716a1cf5f0d40',1,'BlockFloatCompander::CompressedData::iqWidth()'],['../struct_block_float_compander_1_1_expanded_data.html#ad88e9475d4e269108bb716a1cf5f0d40',1,'BlockFloatCompander::ExpandedData::iqWidth()'],['../struct_block_float_compander_b_f_w_1_1_compressed_data.html#ad88e9475d4e269108bb716a1cf5f0d40',1,'BlockFloatCompanderBFW::CompressedData::iqWidth()'],['../struct_block_float_compander_b_f_w_1_1_expanded_data.html#ad88e9475d4e269108bb716a1cf5f0d40',1,'BlockFloatCompanderBFW::ExpandedData::iqWidth()'],['../structxran__section__info.html#a1520b1ef6131bff6c14b88d849c266c5',1,'xran_section_info::iqWidth()'],['../structxran__cp__header__params.html#a1520b1ef6131bff6c14b88d849c266c5',1,'xran_cp_header_params::iqWidth()'],['../structxran__cp__rbmap__list.html#a1520b1ef6131bff6c14b88d849c266c5',1,'xran_cp_rbmap_list::iqWidth()'],['../structxran__prb__elm.html#a36f5a0cedd274c3ec55f81535f06e0de',1,'xran_prb_elm::iqWidth()'],['../structxran__ru__config.html#a1520b1ef6131bff6c14b88d849c266c5',1,'xran_ru_config::iqWidth()']]], + ['is_5farray',['is_array',['../classnlohmann_1_1basic__json.html#a286a1af9e72e4e41a359b6d01a7b9be9',1,'nlohmann::basic_json']]], + ['is_5fbasic_5fjson_5fnested_5ftype',['is_basic_json_nested_type',['../structnlohmann_1_1detail_1_1is__basic__json__nested__type.html',1,'nlohmann::detail']]], + ['is_5fboolean',['is_boolean',['../classnlohmann_1_1basic__json.html#a3f27b4908e7f73e1028bf681f0e25258',1,'nlohmann::basic_json']]], + ['is_5fcomment',['is_comment',['../namespacemaster.html#ada33277f60a7237e56dcc1c27fd0fcc3',1,'master']]], + ['is_5fcompatible_5farray_5ftype',['is_compatible_array_type',['../structnlohmann_1_1detail_1_1is__compatible__array__type.html',1,'nlohmann::detail']]], + ['is_5fcompatible_5finteger_5ftype',['is_compatible_integer_type',['../structnlohmann_1_1detail_1_1is__compatible__integer__type.html',1,'nlohmann::detail']]], + ['is_5fcompatible_5finteger_5ftype_5fimpl',['is_compatible_integer_type_impl',['../structnlohmann_1_1detail_1_1is__compatible__integer__type__impl.html',1,'nlohmann::detail']]], + ['is_5fcompatible_5finteger_5ftype_5fimpl_3c_20true_2c_20realintegertype_2c_20compatiblenumberintegertype_20_3e',['is_compatible_integer_type_impl< true, RealIntegerType, CompatibleNumberIntegerType >',['../structnlohmann_1_1detail_1_1is__compatible__integer__type__impl_3_01true_00_01_real_integer_type78b0ba77f36a8c8169cdb79b01d1a4bf.html',1,'nlohmann::detail']]], + ['is_5fcompatible_5fobject_5ftype',['is_compatible_object_type',['../structnlohmann_1_1detail_1_1is__compatible__object__type.html',1,'nlohmann::detail']]], + ['is_5fcompatible_5fobject_5ftype_5fimpl',['is_compatible_object_type_impl',['../structnlohmann_1_1detail_1_1is__compatible__object__type__impl.html',1,'nlohmann::detail']]], + ['is_5fcompatible_5fobject_5ftype_5fimpl_3c_20true_2c_20realtype_2c_20compatibleobjecttype_20_3e',['is_compatible_object_type_impl< true, RealType, CompatibleObjectType >',['../structnlohmann_1_1detail_1_1is__compatible__object__type__impl_3_01true_00_01_real_type_00_01_compatible_object_type_01_4.html',1,'nlohmann::detail']]], + ['is_5fcpenable',['is_cpenable',['../classxran_lib_wraper.html#a5855fc30031ba49b7375526f7cda0ff7',1,'xranLibWraper']]], + ['is_5fdiscarded',['is_discarded',['../classnlohmann_1_1basic__json.html#aa3755192d05bc50d680919b259b69305',1,'nlohmann::basic_json']]], + ['is_5fdynamicsection',['is_dynamicsection',['../classxran_lib_wraper.html#a1d92eb426fc3269a180f07289f738d1a',1,'xranLibWraper']]], + ['is_5fnull',['is_null',['../classnlohmann_1_1basic__json.html#a5343c52ade262b120e6cdafb516f1f65',1,'nlohmann::basic_json']]], + ['is_5fnumber',['is_number',['../classnlohmann_1_1basic__json.html#ac752edf4fd63784b587cd7116a407392',1,'nlohmann::basic_json']]], + ['is_5fnumber_5ffloat',['is_number_float',['../classnlohmann_1_1basic__json.html#a8bcacf4b2549df21e7e3d6d5882bc26f',1,'nlohmann::basic_json']]], + ['is_5fnumber_5finteger',['is_number_integer',['../classnlohmann_1_1basic__json.html#a8719f77e4b63e026597607704740f89a',1,'nlohmann::basic_json']]], + ['is_5fnumber_5funsigned',['is_number_unsigned',['../classnlohmann_1_1basic__json.html#a1899915ea90604c5bf3204c2a270d44e',1,'nlohmann::basic_json']]], + ['is_5fobject',['is_object',['../classnlohmann_1_1basic__json.html#ad6a2a9425ea3806424417c2e7dcdbc01',1,'nlohmann::basic_json']]], + ['is_5fprachenable',['is_prachenable',['../classxran_lib_wraper.html#a5b5d9e46f23728cf8901e177fbf1e32b',1,'xranLibWraper']]], + ['is_5fprimitive',['is_primitive',['../classnlohmann_1_1basic__json.html#ae5e7e83e05bf011781326a00fdf7a733',1,'nlohmann::basic_json']]], + ['is_5frunning',['is_running',['../classxran_lib_wraper.html#a61da580fc69a74f3ef17956ba5fd88a0',1,'xranLibWraper']]], + ['is_5fstring',['is_string',['../classnlohmann_1_1basic__json.html#adef80b7704d7b8d8ed6bcf3c69fe9568',1,'nlohmann::basic_json']]], + ['is_5fstructured',['is_structured',['../classnlohmann_1_1basic__json.html#abc946f8df0445e62162a6633a444ae79',1,'nlohmann::basic_json']]], + ['is_5funscoped_5fenum',['is_unscoped_enum',['../namespacenlohmann_1_1detail.html#a2286e6d77b4265b8daa7ebdb15f99f8d',1,'nlohmann::detail']]], + ['isprachslot',['isPRACHslot',['../structxran__prach__cp__config.html#a3b00fdd9e145b9c7be29aa35c6f94fe1',1,'xran_prach_cp_config']]], + ['iter_5fimpl',['iter_impl',['../classnlohmann_1_1basic__json_1_1iter__impl.html',1,'basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::iter_impl< U >'],['../classnlohmann_1_1basic__json_1_1iter__impl.html#aee3b9445acb70a87db074076a113738a',1,'nlohmann::basic_json::iter_impl::iter_impl()=default'],['../classnlohmann_1_1basic__json_1_1iter__impl.html#a4d3a3cd2792cdef6cd69694681ba5976',1,'nlohmann::basic_json::iter_impl::iter_impl(pointer object) noexcept'],['../classnlohmann_1_1basic__json_1_1iter__impl.html#a7cb700fcddd2cfd8e9279fddcb97620e',1,'nlohmann::basic_json::iter_impl::iter_impl(const iter_impl &other) noexcept']]], + ['iterator',['iterator',['../classnlohmann_1_1basic__json.html#a241034c44708fd20925e6ae18efcfb56',1,'nlohmann::basic_json']]], + ['iterator_5fcategory',['iterator_category',['../classnlohmann_1_1basic__json_1_1iter__impl.html#a13fe24ca0865b19fbff05ff095c4ffea',1,'nlohmann::basic_json::iter_impl']]], + ['iterator_5fwrapper',['iterator_wrapper',['../classnlohmann_1_1basic__json.html#ace1114c14ae7995319c4248e5fb77f39',1,'nlohmann::basic_json::iterator_wrapper(reference cont)'],['../classnlohmann_1_1basic__json.html#ad5aec3fa1ab1dd3fb95581f13d0b0f72',1,'nlohmann::basic_json::iterator_wrapper(const_reference cont)']]] +]; diff --git a/docs/API/search/all_a.html b/docs/API/search/all_a.html new file mode 100644 index 0000000..9601fce --- /dev/null +++ b/docs/API/search/all_a.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/all_a.js b/docs/API/search/all_a.js new file mode 100644 index 0000000..c6a6bb5 --- /dev/null +++ b/docs/API/search/all_a.js @@ -0,0 +1,12 @@ +var searchData= +[ + ['json',['json',['../common_8hpp.html#ab701e3ac61a85b337ec5c1abaad6742d',1,'json(): common.hpp'],['../namespacenlohmann.html#ae6eede511f01c9f33342044d36a388fa',1,'nlohmann::json()']]], + ['json_2ehpp',['json.hpp',['../json_8hpp.html',1,'']]], + ['json_5fcatch',['JSON_CATCH',['../json_8hpp.html#a6954bec49ed2a2dfb938c1131c82740a',1,'json.hpp']]], + ['json_5fdeprecated',['JSON_DEPRECATED',['../json_8hpp.html#a584fd8f49cd7f4ecf5baba15b5b53cdd',1,'json.hpp']]], + ['json_5fpointer',['json_pointer',['../classnlohmann_1_1basic__json_1_1json__pointer.html',1,'basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::json_pointer'],['../classnlohmann_1_1basic__json_1_1json__pointer.html#a15ea0c26b93c10a51bcef1df5e30cb1a',1,'nlohmann::basic_json::json_pointer::json_pointer()']]], + ['json_5freverse_5fiterator',['json_reverse_iterator',['../classnlohmann_1_1basic__json_1_1json__reverse__iterator.html',1,'basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::json_reverse_iterator< Base >'],['../classnlohmann_1_1basic__json_1_1json__reverse__iterator.html#aaf6ca19ab4ec736908a5c12171fcc4a1',1,'nlohmann::basic_json::json_reverse_iterator::json_reverse_iterator(const typename base_iterator::iterator_type &it) noexcept'],['../classnlohmann_1_1basic__json_1_1json__reverse__iterator.html#a98821662fa993b2b87cfeb1da8b78e35',1,'nlohmann::basic_json::json_reverse_iterator::json_reverse_iterator(const base_iterator &it) noexcept']]], + ['json_5fserializer',['json_serializer',['../classnlohmann_1_1basic__json.html#a0529ada731a19a6860d72dd7ca888271',1,'nlohmann::basic_json']]], + ['json_5fthrow',['JSON_THROW',['../json_8hpp.html#a6c274f6db2e65c1b66c7d41b06ad690f',1,'json.hpp']]], + ['json_5ftry',['JSON_TRY',['../json_8hpp.html#a985d3b82445302c57257f6432f261fe9',1,'json.hpp']]] +]; diff --git a/docs/API/search/all_b.html b/docs/API/search/all_b.html new file mode 100644 index 0000000..0814e4e --- /dev/null +++ b/docs/API/search/all_b.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/all_b.js b/docs/API/search/all_b.js new file mode 100644 index 0000000..fbf1f3c --- /dev/null +++ b/docs/API/search/all_b.js @@ -0,0 +1,77 @@ +var searchData= +[ + ['k_5fcachebytealignment',['k_cacheByteAlignment',['../xran__compression_8hpp.html#ae5c6eb9e85f08f46ed0bf72749445d5d',1,'xran_compression.hpp']]], + ['kerneltests',['KernelTests',['../class_kernel_tests.html',1,'']]], + ['key',['key',['../classnlohmann_1_1basic__json_1_1iter__impl.html#a20a906353f77b2a7b947eb67c441fd20',1,'nlohmann::basic_json::iter_impl::key()'],['../classnlohmann_1_1basic__json_1_1json__reverse__iterator.html#a20a906353f77b2a7b947eb67c441fd20',1,'nlohmann::basic_json::json_reverse_iterator::key()'],['../classnlohmann_1_1basic__json.html#a284abb29079a3ece0b67d67da11da441a3c6e0b8a9c15224a8228b9a98ca1531d',1,'nlohmann::basic_json::key()']]], + ['key_5falpha',['KEY_ALPHA',['../config_8c.html#a530bffcbdc1ba68a26aa284dce027858',1,'config.c']]], + ['key_5fant_5felm_5ftrx_5fnum',['KEY_ANT_ELM_TRX_NUM',['../config_8c.html#aeed46c9d6b18e455d710564dea3f9ed7',1,'config.c']]], + ['key_5fant_5fnum',['KEY_ANT_NUM',['../config_8c.html#a69ba40bad64e6002bcac4e204ec4418c',1,'config.c']]], + ['key_5fapp_5fmode',['KEY_APP_MODE',['../config_8c.html#ac4783f5fa660b64b250734e3c4db6a5a',1,'config.c']]], + ['key_5fbbdev_5fmode',['KEY_BBDEV_MODE',['../config_8c.html#a3dc398d78b77ac1813120223c5cdf45f',1,'config.c']]], + ['key_5fbeta',['KEY_BETA',['../config_8c.html#a430ddcabfab6608e93370454baec14eb',1,'config.c']]], + ['key_5fbfw_5fnum',['KEY_BFW_NUM',['../config_8c.html#aa911c49995cdcf04eeb5f361db32bad7',1,'config.c']]], + ['key_5fcc_5fper_5fport_5fnum',['KEY_CC_PER_PORT_NUM',['../config_8c.html#a05339d83eaa6e5145d92aa5fd8dfde97',1,'config.c']]], + ['key_5fcompression',['KEY_COMPRESSION',['../config_8c.html#ac35df7aa7ab636a4bf5bd3628fc954c5',1,'config.c']]], + ['key_5fcp_5fenable',['KEY_CP_ENABLE',['../config_8c.html#a38e73a5a1ca5e0b38fa44a215a5ac53b',1,'config.c']]], + ['key_5fcp_5fvtag',['KEY_CP_VTAG',['../config_8c.html#a0dda0931ebf5f28af49fb4b9224c231c',1,'config.c']]], + ['key_5fdebug_5fstop',['KEY_DEBUG_STOP',['../config_8c.html#af70fe8dbd7cffbd5f8d08e66672df110',1,'config.c']]], + ['key_5fdebug_5fstop_5fcnt',['KEY_DEBUG_STOP_CNT',['../config_8c.html#a4c3351dec8077d11ecac68e0e1d438f5',1,'config.c']]], + ['key_5fdllayers_5fper_5fue',['KEY_DLLAYERS_PER_UE',['../config_8c.html#a818faa5200fb29e8ed726da2725ddaf2',1,'config.c']]], + ['key_5fdyna_5fsec_5fena',['KEY_DYNA_SEC_ENA',['../config_8c.html#a3653596279fba8314563990574d88cda',1,'config.c']]], + ['key_5ffile_5faxc',['KEY_FILE_AxC',['../config_8c.html#abcf06760408dccd71d9bd4deee868c42',1,'config.c']]], + ['key_5ffile_5fdlbfwue',['KEY_FILE_DLBFWUE',['../config_8c.html#a0cb913babff8de4f81af7e4698326be3',1,'config.c']]], + ['key_5ffile_5fnumslots',['KEY_FILE_NUMSLOTS',['../config_8c.html#af9d6fab7cbd17bb62747500aa323d302',1,'config.c']]], + ['key_5ffile_5fprach_5faxc',['KEY_FILE_PRACH_AxC',['../config_8c.html#a455d69df70b3837d9276d5a65a2c37c9',1,'config.c']]], + ['key_5ffile_5fulbfwue',['KEY_FILE_ULBFWUE',['../config_8c.html#a87a0630d322577190a7f543b4b32bba9',1,'config.c']]], + ['key_5ffile_5fulsrs',['KEY_FILE_ULSRS',['../config_8c.html#a78a383229e172f1ac8feb0f6c38bac9e',1,'config.c']]], + ['key_5fhtons_5fswap',['KEY_HTONS_SWAP',['../config_8c.html#aa7bd4d0efbda00b22c29582948887216',1,'config.c']]], + ['key_5finstance_5fid',['KEY_INSTANCE_ID',['../config_8c.html#ab7808b7478807ac3ad05de40814e1874',1,'config.c']]], + ['key_5fio_5fcore',['KEY_IO_CORE',['../config_8c.html#aa6e17363693d89fc1f933fb6058f16e2',1,'config.c']]], + ['key_5fiq_5fswap',['KEY_IQ_SWAP',['../config_8c.html#a7885aae27cd2726ba5379e3f658cf296',1,'config.c']]], + ['key_5flls_5fcu_5fmac',['KEY_LLS_CU_MAC',['../config_8c.html#ac3ba14f661904e65dad9f4e66b5d58c3',1,'config.c']]], + ['key_5fmax_5fframe_5fid',['KEY_MAX_FRAME_ID',['../config_8c.html#a005b99470e7ad16e1d98a96e55dbf0e6',1,'config.c']]], + ['key_5fmtu_5fsize',['KEY_MTU_SIZE',['../config_8c.html#a77661854525ce6e2c64519a10334a971',1,'config.c']]], + ['key_5fmu_5fmimo_5fues_5fnum',['KEY_MU_MIMO_UES_NUM',['../config_8c.html#af4c6682891334b263760961e137be7b0',1,'config.c']]], + ['key_5fmu_5fnumber',['KEY_MU_NUMBER',['../config_8c.html#a0f0a0edde80206b082cd5d6a99dbea02',1,'config.c']]], + ['key_5fndlabsfrepointa',['KEY_NDLABSFREPOINTA',['../config_8c.html#af27127ccb8c7924564c72544f53fbe9a',1,'config.c']]], + ['key_5fndlbandwidth',['KEY_NDLBANDWIDTH',['../config_8c.html#a5b768e0a832832efce4a3ac55a47e3f2',1,'config.c']]], + ['key_5fndlfftsize',['KEY_NDLFFTSIZE',['../config_8c.html#acaa841ce9380a63c29943b2395d2e398',1,'config.c']]], + ['key_5fnframeduplextype',['KEY_NFRAMEDUPLEXTYPE',['../config_8c.html#a0678347ed5fb8675a1c7040db49b04ec',1,'config.c']]], + ['key_5fnprbelem_5fdl',['KEY_NPRBELEM_DL',['../config_8c.html#a3a0e3bf83ff7e833ed5f80d692842cfa',1,'config.c']]], + ['key_5fnprbelem_5ful',['KEY_NPRBELEM_UL',['../config_8c.html#a2fdddad8a9757b0c42a30784a3febc5f',1,'config.c']]], + ['key_5fntddperiod',['KEY_NTDDPERIOD',['../config_8c.html#a7b6eb4c8ed492c077723234b19a4f847',1,'config.c']]], + ['key_5fnulabsfrepointa',['KEY_NULABSFREPOINTA',['../config_8c.html#a2cd68838aeb0a7093b507288f90a95f4',1,'config.c']]], + ['key_5fnulbandwidth',['KEY_NULBANDWIDTH',['../config_8c.html#a3dd4a6f7e194523b484b789bc8122210',1,'config.c']]], + ['key_5fnulfftsize',['KEY_NULFFTSIZE',['../config_8c.html#adccb3ba03303910ccdf3b9472422cd76',1,'config.c']]], + ['key_5fprach_5fcfgidx',['KEY_PRACH_CFGIDX',['../config_8c.html#a9eeb372943c743036efc9ec39c632eb9',1,'config.c']]], + ['key_5fprach_5fenable',['KEY_PRACH_ENABLE',['../config_8c.html#a7eea870f6a537e7742e9be2c5dcfcd4d',1,'config.c']]], + ['key_5fprbelem_5fdl',['KEY_PRBELEM_DL',['../config_8c.html#ac9eb3f1d06c1d9ffa9d2a13ad3d23d30',1,'config.c']]], + ['key_5fprbelem_5ful',['KEY_PRBELEM_UL',['../config_8c.html#a2e50702815809aac46b04c5a3b444f60',1,'config.c']]], + ['key_5fru_5fmac',['KEY_RU_MAC',['../config_8c.html#a1598fd1e360b9e2dc88e3ea7e42b184e',1,'config.c']]], + ['key_5fsrs_5fenable',['KEY_SRS_ENABLE',['../config_8c.html#ab010d3afc9f936b0ae2ecf541580f5e2',1,'config.c']]], + ['key_5fsrs_5fsym_5fidx',['KEY_SRS_SYM_IDX',['../config_8c.html#a9cf3f849f010693242b0790b5fcba005',1,'config.c']]], + ['key_5fsslotconfig',['KEY_SSLOTCONFIG',['../config_8c.html#a0e49fb92c807304ce7b699f0a01f4005',1,'config.c']]], + ['key_5ft1a_5fmax_5fcp_5fdl',['KEY_T1A_MAX_CP_DL',['../config_8c.html#ac55df0f9fcb3a6296b0f5a52c18c225b',1,'config.c']]], + ['key_5ft1a_5fmax_5fcp_5ful',['KEY_T1A_MAX_CP_UL',['../config_8c.html#a3e281246da54d79bf837e3b3dcf13300',1,'config.c']]], + ['key_5ft1a_5fmax_5fup',['KEY_T1A_MAX_UP',['../config_8c.html#a7083fad07061ca912326364146c824a6',1,'config.c']]], + ['key_5ft1a_5fmin_5fcp_5fdl',['KEY_T1A_MIN_CP_DL',['../config_8c.html#a362092fec67da33487af6f9ded046a7f',1,'config.c']]], + ['key_5ft1a_5fmin_5fcp_5ful',['KEY_T1A_MIN_CP_UL',['../config_8c.html#a886ddfe6fb263cbcc8a64dd1cb143873',1,'config.c']]], + ['key_5ft1a_5fmin_5fup',['KEY_T1A_MIN_UP',['../config_8c.html#a37b8b65aa921bdabcc390f8cc2e5f47f',1,'config.c']]], + ['key_5ft2a_5fmax_5fcp_5fdl',['KEY_T2A_MAX_CP_DL',['../config_8c.html#a84cf7be0f5b42a4eb6a1a81693252799',1,'config.c']]], + ['key_5ft2a_5fmax_5fcp_5ful',['KEY_T2A_MAX_CP_UL',['../config_8c.html#ab7b0ae3857203dc03a0e65bbe4fe2e7c',1,'config.c']]], + ['key_5ft2a_5fmax_5fup',['KEY_T2A_MAX_UP',['../config_8c.html#a87284c2e9e0b370cc46c462b302416ac',1,'config.c']]], + ['key_5ft2a_5fmin_5fcp_5fdl',['KEY_T2A_MIN_CP_DL',['../config_8c.html#a163f06fb1a7fd29b64f2e67cffde62b3',1,'config.c']]], + ['key_5ft2a_5fmin_5fcp_5ful',['KEY_T2A_MIN_CP_UL',['../config_8c.html#adcfa8e7c1f08e7f202b9ee3cc23a61c6',1,'config.c']]], + ['key_5ft2a_5fmin_5fup',['KEY_T2A_MIN_UP',['../config_8c.html#aec391f94625cd3fcefab8157a5a07c0f',1,'config.c']]], + ['key_5fta3_5fmax',['KEY_TA3_MAX',['../config_8c.html#a2155431381a404039d93d2aaf51c2bbd',1,'config.c']]], + ['key_5fta3_5fmin',['KEY_TA3_MIN',['../config_8c.html#a98a7409bf5ac4ac57990e5f84aedc2fd',1,'config.c']]], + ['key_5fta4_5fmax',['KEY_TA4_MAX',['../config_8c.html#a758d442cf7f5050d650b238c49ba5303',1,'config.c']]], + ['key_5fta4_5fmin',['KEY_TA4_MIN',['../config_8c.html#a3daac7d19ee072b19049c46743f300d0',1,'config.c']]], + ['key_5ftadv_5fcp_5fdl',['KEY_TADV_CP_DL',['../config_8c.html#a3571bc8ed80d86f4462279296fb16fc0',1,'config.c']]], + ['key_5ftti_5fperiod',['KEY_TTI_PERIOD',['../config_8c.html#a4504a95aafcc554cccb1999278b02cf4',1,'config.c']]], + ['key_5ful_5fant_5fnum',['KEY_UL_ANT_NUM',['../config_8c.html#abad526bb5458cab7a02b8cddae6de62e',1,'config.c']]], + ['key_5fullayers_5fper_5fue',['KEY_ULLAYERS_PER_UE',['../config_8c.html#a7ed8249c26126323ae23f9aec8c8df8e',1,'config.c']]], + ['key_5fup_5fvtag',['KEY_UP_VTAG',['../config_8c.html#aa7edbc717cafd56f48d7f3357a1dc4e2',1,'config.c']]], + ['key_5fxran_5fmode',['KEY_XRAN_MODE',['../config_8c.html#aed15457ebf16701d6d027314e626bb1b',1,'config.c']]], + ['known_5fpeers',['known_peers',['../structxran__ethdi__ctx.html#a01a95c1b6bb9bcb0390508a3045ad0ed',1,'xran_ethdi_ctx']]] +]; diff --git a/docs/API/search/all_c.html b/docs/API/search/all_c.html new file mode 100644 index 0000000..da08c38 --- /dev/null +++ b/docs/API/search/all_c.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/all_c.js b/docs/API/search/all_c.js new file mode 100644 index 0000000..3890d0d --- /dev/null +++ b/docs/API/search/all_c.js @@ -0,0 +1,20 @@ +var searchData= +[ + ['laamsglen',['laaMsgLen',['../structxran__cp__radioapp__section7__header.html#a4a3e173586ee317bb0948180e97377d9',1,'xran_cp_radioapp_section7_header::laaMsgLen()'],['../xran__pkt__cp_8h.html#a4a3e173586ee317bb0948180e97377d9',1,'laaMsgLen(): xran_pkt_cp.h']]], + ['laamsgtype',['laaMsgType',['../structxran__cp__radioapp__section7__header.html#aeb1df06af4d93ec0e092de5cb10f0f08',1,'xran_cp_radioapp_section7_header::laaMsgType()'],['../xran__pkt__cp_8h.html#aeb1df06af4d93ec0e092de5cb10f0f08',1,'laaMsgType(): xran_pkt_cp.h']]], + ['lastsymbol',['lastsymbol',['../class_prach_check.html#a28e2512868d0865874dc55150a46f39a',1,'PrachCheck::lastsymbol()'],['../class_prach_perf.html#a28e2512868d0865874dc55150a46f39a',1,'PrachPerf::lastsymbol()']]], + ['layerid',['layerId',['../structxran__sectionext3__info.html#a539f76c6228d64723233120f82b0369b',1,'xran_sectionext3_info::layerId()'],['../structxran__cp__radioapp__section__ext3__first.html#abb85b533cefe89b78d49e57e7a0c6ee4',1,'xran_cp_radioapp_section_ext3_first::layerId()'],['../structxran__cp__radioapp__section__ext3__non__first.html#abb85b533cefe89b78d49e57e7a0c6ee4',1,'xran_cp_radioapp_section_ext3_non_first::layerId()'],['../xran__pkt__cp_8h.html#abb85b533cefe89b78d49e57e7a0c6ee4',1,'layerId(): xran_pkt_cp.h']]], + ['len',['len',['../structxranlib__compress__request.html#a6858c4011b5cad020222e9ca5c2786f5',1,'xranlib_compress_request::len()'],['../structxranlib__compress__response.html#a6858c4011b5cad020222e9ca5c2786f5',1,'xranlib_compress_response::len()'],['../structxranlib__decompress__request.html#a6858c4011b5cad020222e9ca5c2786f5',1,'xranlib_decompress_request::len()'],['../structxranlib__decompress__response.html#a6858c4011b5cad020222e9ca5c2786f5',1,'xranlib_decompress_response::len()'],['../structxran__sectionext__info.html#a8aed22e2c7b283705ec82e0120515618',1,'xran_sectionext_info::len()'],['../structxran__section__gen__info.html#a8aed22e2c7b283705ec82e0120515618',1,'xran_section_gen_info::len()'],['../structmbuf__table.html#a8aed22e2c7b283705ec82e0120515618',1,'mbuf_table::len()']]], + ['list',['list',['../structxran__sectioninfo__db.html#acadfaa8ee00984098976838a75457775',1,'xran_sectioninfo_db']]], + ['list_5fentry',['LIST_ENTRY',['../structcb__elem__entry.html#a38c422707541b71db2fe581e608f0024',1,'cb_elem_entry']]], + ['list_5fhead',['LIST_HEAD',['../structxran__device__ctx.html#ab7156a390b58bd5a5eb27161c656f112',1,'xran_device_ctx']]], + ['loc_5fdatacompresseddataout',['loc_dataCompressedDataOut',['../compander__functional_8cc.html#a30484453f2665005b64f9c3304c66219',1,'compander_functional.cc']]], + ['loc_5fdataexpandedin',['loc_dataExpandedIn',['../compander__functional_8cc.html#ae7803337d9e14f3be742bb64592b4436',1,'compander_functional.cc']]], + ['loc_5fdataexpandedres',['loc_dataExpandedRes',['../compander__functional_8cc.html#a16766ae2dce2fc482597a6861ce33723',1,'compander_functional.cc']]], + ['log_5fdbg',['log_dbg',['../debug_8h.html#a38df20643802da0ddcfe651c055892aa',1,'log_dbg(): debug.h'],['../debug_8h.html#a38df20643802da0ddcfe651c055892aa',1,'log_dbg(): debug.h']]], + ['log_5ferr',['log_err',['../debug_8h.html#ad782f0c1a9fea27268fa70903f3cc4d7',1,'debug.h']]], + ['log_5flevel',['log_level',['../structxran__fh__config.html#a583c2f58d0655789ea36e22d605ab9ad',1,'xran_fh_config']]], + ['log_5fwrn',['log_wrn',['../debug_8h.html#a1a973e10ccfdb6d28a538c8a9b022261',1,'debug.h']]], + ['loop',['loop',['../struct_benchmark_parameters.html#aac742be3d619ef9ed50afc0c063c6727',1,'BenchmarkParameters::loop()'],['../common__typedef__xran_8h.html#a8e8f11caf539de9555d07b4e7ef5b1da',1,'LOOP(): common_typedef_xran.h']]], + ['lralen',['lRALen',['../structx_r_a_n_prach_preamble_l_r_a_struct.html#ab42b266a3a60e7fc0e082ce7f928208d',1,'xRANPrachPreambleLRAStruct']]] +]; diff --git a/docs/API/search/all_d.html b/docs/API/search/all_d.html new file mode 100644 index 0000000..9986c9c --- /dev/null +++ b/docs/API/search/all_d.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/all_d.js b/docs/API/search/all_d.js new file mode 100644 index 0000000..23aebc0 --- /dev/null +++ b/docs/API/search/all_d.js @@ -0,0 +1,170 @@ +var searchData= +[ + ['m_5fantid',['m_antId',['../class_c__plane.html#a73f8e8274bd97892f58f73d1d83b533a',1,'C_plane::m_antId()'],['../class_prach_check.html#a73f8e8274bd97892f58f73d1d83b533a',1,'PrachCheck::m_antId()'],['../class_prach_perf.html#a73f8e8274bd97892f58f73d1d83b533a',1,'PrachPerf::m_antId()']]], + ['m_5fbeamid',['m_beamId',['../class_c__plane.html#a047b603d6d908d93ce5d58dcc2b63036',1,'C_plane::m_beamId()'],['../class_prach_check.html#a047b603d6d908d93ce5d58dcc2b63036',1,'PrachCheck::m_beamId()'],['../class_prach_perf.html#a047b603d6d908d93ce5d58dcc2b63036',1,'PrachPerf::m_beamId()']]], + ['m_5fbfwiq',['m_bfwIQ',['../class_c__plane.html#a710f294997b8d29aaa21b691735a724b',1,'C_plane']]], + ['m_5fbitmask',['m_bitmask',['../c__plane__tests_8cc.html#ad7d97e82bb00f5271dc1955f06719e46',1,'m_bitmask(): c_plane_tests.cc'],['../chain__tests_8cc.html#ad7d97e82bb00f5271dc1955f06719e46',1,'m_bitmask(): chain_tests.cc']]], + ['m_5fbsub6',['m_bSub6',['../classxran_lib_wraper.html#ae064c199bd624882f23a786c57aa5afe',1,'xranLibWraper::m_bSub6()'],['../class_test_chain.html#ae064c199bd624882f23a786c57aa5afe',1,'TestChain::m_bSub6()']]], + ['m_5fccid',['m_ccId',['../class_c__plane.html#a9f102f8bfc163d6a26411d1855c8c97c',1,'C_plane::m_ccId()'],['../class_prach_check.html#a9f102f8bfc163d6a26411d1855c8c97c',1,'PrachCheck::m_ccId()'],['../class_prach_perf.html#a9f102f8bfc163d6a26411d1855c8c97c',1,'PrachPerf::m_ccId()']]], + ['m_5fcompmethod',['m_compMethod',['../class_c__plane.html#a493740cacd8f8d3e235c4626e501d3e2',1,'C_plane::m_compMethod()'],['../class_prach_check.html#a493740cacd8f8d3e235c4626e501d3e2',1,'PrachCheck::m_compMethod()'],['../class_prach_perf.html#a493740cacd8f8d3e235c4626e501d3e2',1,'PrachPerf::m_compMethod()']]], + ['m_5fcplength',['m_cpLength',['../class_c__plane.html#a0d7a93a1807e46144dedf9ab3cf87865',1,'C_plane']]], + ['m_5fdir',['m_dir',['../class_c__plane.html#afa985909bf1a1a9cc7a7070c9a73016e',1,'C_plane::m_dir()'],['../class_prach_check.html#afa985909bf1a1a9cc7a7070c9a73016e',1,'PrachCheck::m_dir()'],['../class_prach_perf.html#afa985909bf1a1a9cc7a7070c9a73016e',1,'PrachPerf::m_dir()']]], + ['m_5fdirstr',['m_dirStr',['../class_c__plane.html#a4bb0d1ca82a59555014c6c0e1060cbdf',1,'C_plane::m_dirStr()'],['../class_prach_check.html#a4bb0d1ca82a59555014c6c0e1060cbdf',1,'PrachCheck::m_dirStr()'],['../class_prach_perf.html#a4bb0d1ca82a59555014c6c0e1060cbdf',1,'PrachPerf::m_dirStr()']]], + ['m_5fdpdk_5fbbdev',['m_dpdk_bbdev',['../classxran_lib_wraper.html#af2f499e1b7c34ec4e1c600e00bddc75f',1,'xranLibWraper']]], + ['m_5fdpdk_5fdev_5fcp',['m_dpdk_dev_cp',['../classxran_lib_wraper.html#aa0dbf843da8d26633022c153c473deb5',1,'xranLibWraper']]], + ['m_5fdpdk_5fdev_5fup',['m_dpdk_dev_up',['../classxran_lib_wraper.html#a790ada9a4b1a467dc29bc4bfa1ec3e20',1,'xranLibWraper']]], + ['m_5fdu_5fmac',['m_du_mac',['../classxran_lib_wraper.html#ab58608944b110026e58c96affe100111',1,'xranLibWraper']]], + ['m_5fext1',['m_ext1',['../structxran__section__gen__info.html#ac1c64088df7167c5a46bf9a5bb746534',1,'xran_section_gen_info::m_ext1()'],['../class_c__plane.html#a4464b811028d6456143fd9743b03edaa',1,'C_plane::m_ext1()']]], + ['m_5fext1_5fdst_5flen',['m_ext1_dst_len',['../class_c__plane.html#ab2dac8fe532ba4f8fa612650aee824ef',1,'C_plane']]], + ['m_5fext2',['m_ext2',['../structxran__section__gen__info.html#a9da3976c12b7433a90917228f7069381',1,'xran_section_gen_info::m_ext2()'],['../class_c__plane.html#ab59c73cb615f0b02e940c1ac1c64744e',1,'C_plane::m_ext2()']]], + ['m_5fext3',['m_ext3',['../structxran__section__gen__info.html#aa252bcb2bac0467e0262920ec34285a0',1,'xran_section_gen_info']]], + ['m_5fext4',['m_ext4',['../structxran__section__gen__info.html#adaf7350928e8b26da41ded39ba7295e5',1,'xran_section_gen_info::m_ext4()'],['../class_c__plane.html#a3cbc91f245eb6e99fcc07b55ee33f267',1,'C_plane::m_ext4()']]], + ['m_5fext5',['m_ext5',['../structxran__section__gen__info.html#a6948d126d229683da976877b617fbd8e',1,'xran_section_gen_info::m_ext5()'],['../class_c__plane.html#a729386bcda2efafa2b1f6967b6a0b64f',1,'C_plane::m_ext5()']]], + ['m_5ffftsize',['m_fftSize',['../class_c__plane.html#a7a8bdb868f3812cf7270734d13159255',1,'C_plane::m_fftSize()'],['../class_prach_check.html#a7a8bdb868f3812cf7270734d13159255',1,'PrachCheck::m_fftSize()'],['../class_prach_perf.html#a7a8bdb868f3812cf7270734d13159255',1,'PrachPerf::m_fftSize()']]], + ['m_5ffilteridx',['m_filterIdx',['../class_prach_check.html#aa6a94180919a3f3827f581cb9b6038ef',1,'PrachCheck::m_filterIdx()'],['../class_prach_perf.html#aa6a94180919a3f3827f581cb9b6038ef',1,'PrachPerf::m_filterIdx()']]], + ['m_5ffilterindex',['m_filterIndex',['../class_c__plane.html#adfa9d2df36650f369b04652749c1134b',1,'C_plane::m_filterIndex()'],['../class_prach_check.html#adfa9d2df36650f369b04652749c1134b',1,'PrachCheck::m_filterIndex()'],['../class_prach_perf.html#adfa9d2df36650f369b04652749c1134b',1,'PrachPerf::m_filterIndex()']]], + ['m_5fframeid',['m_frameId',['../class_c__plane.html#a65389015c6ac952ac5108c2ae802fa52',1,'C_plane::m_frameId()'],['../class_prach_check.html#a65389015c6ac952ac5108c2ae802fa52',1,'PrachCheck::m_frameId()'],['../class_prach_perf.html#a65389015c6ac952ac5108c2ae802fa52',1,'PrachPerf::m_frameId()']]], + ['m_5ffreqoffset',['m_freqOffset',['../class_c__plane.html#a383e7e8333c8f9d71ab872f93b2f6708',1,'C_plane::m_freqOffset()'],['../class_prach_check.html#a9c9ab811b57b6250d1712aa6e59c0853',1,'PrachCheck::m_freqOffset()'],['../class_prach_perf.html#a9c9ab811b57b6250d1712aa6e59c0853',1,'PrachPerf::m_freqOffset()']]], + ['m_5fid',['m_id',['../class_prach_check.html#a5a1c72f3b78d7251f2f98b26bf5b795b',1,'PrachCheck']]], + ['m_5fiqwidth',['m_iqWidth',['../class_c__plane.html#a5b1a6d8e8257b3bb7e3a187c0cce4011',1,'C_plane::m_iqWidth()'],['../class_prach_check.html#a5b1a6d8e8257b3bb7e3a187c0cce4011',1,'PrachCheck::m_iqWidth()'],['../class_prach_perf.html#a5b1a6d8e8257b3bb7e3a187c0cce4011',1,'PrachPerf::m_iqWidth()']]], + ['m_5fisprachslot',['m_isPRACHslot',['../class_prach_check.html#a9ef01047ab319b03151146a47e4516c4',1,'PrachCheck::m_isPRACHslot()'],['../class_prach_perf.html#a9ef01047ab319b03151146a47e4516c4',1,'PrachPerf::m_isPRACHslot()']]], + ['m_5fm_5fparams_5ftimeoffset',['m_m_params_timeOffset',['../class_prach_check.html#a71d000429a67e58a4dbdfaa350ef9d4b',1,'PrachCheck']]], + ['m_5fmaxsections',['m_maxSections',['../class_c__plane.html#ae68e73b40ca04879362dc67fbb368682',1,'C_plane::m_maxSections()'],['../class_prach_check.html#ae68e73b40ca04879362dc67fbb368682',1,'PrachCheck::m_maxSections()'],['../class_prach_perf.html#ae68e73b40ca04879362dc67fbb368682',1,'PrachPerf::m_maxSections()']]], + ['m_5fnbufpoolindex',['m_nBufPoolIndex',['../classxran_lib_wraper.html#a9270468afb68051247edd5953b828aca',1,'xranLibWraper']]], + ['m_5fnfpgatosw_5ffth_5frxbufferlen',['m_nFpgaToSW_FTH_RxBufferLen',['../classxran_lib_wraper.html#af53e776036ad72ea2d2e5a2bdbbdc0b2',1,'xranLibWraper']]], + ['m_5fninstancehandle',['m_nInstanceHandle',['../classxran_lib_wraper.html#a80a3e8332a69c2beb5df4ad72b4a022c',1,'xranLibWraper']]], + ['m_5fnrofprachinslot',['m_nrofPrachInSlot',['../class_prach_check.html#a8c2ff60cb0ad0f81eafada59dc92c4c6',1,'PrachCheck::m_nrofPrachInSlot()'],['../class_prach_perf.html#a8c2ff60cb0ad0f81eafada59dc92c4c6',1,'PrachPerf::m_nrofPrachInSlot()']]], + ['m_5fnsectorindex',['m_nSectorIndex',['../classxran_lib_wraper.html#a98ce8fded84309c17c61f4dd902d4e0f',1,'xranLibWraper']]], + ['m_5fnslots',['m_nSlots',['../classxran_lib_wraper.html#aa7e4fc7db724dc357f1425ab426c8921',1,'xranLibWraper']]], + ['m_5fnsw_5ftofpga_5ffth_5ftxbufferlen',['m_nSW_ToFpga_FTH_TxBufferLen',['../classxran_lib_wraper.html#a21b3d390c6eee5d15152cdc5459ff523',1,'xranLibWraper']]], + ['m_5fnumprbc',['m_numPrbc',['../class_prach_check.html#af2657f421b39bfe018266cfe11d27b51',1,'PrachCheck::m_numPrbc()'],['../class_prach_perf.html#af2657f421b39bfe018266cfe11d27b51',1,'PrachPerf::m_numPrbc()']]], + ['m_5fnumsections',['m_numSections',['../class_c__plane.html#a78b09c2fc0f3b0d610248ab3ce1df5d7',1,'C_plane']]], + ['m_5fnumsymbol',['m_numSymbol',['../class_prach_check.html#ab7158c23dfca189475b254c35ede1da7',1,'PrachCheck::m_numSymbol()'],['../class_prach_perf.html#ab7158c23dfca189475b254c35ede1da7',1,'PrachPerf::m_numSymbol()']]], + ['m_5foccassionsinprachslot',['m_occassionsInPrachSlot',['../class_prach_check.html#a0baaeee595bffc14f68fefd762c6fa5a',1,'PrachCheck::m_occassionsInPrachSlot()'],['../class_prach_perf.html#a0baaeee595bffc14f68fefd762c6fa5a',1,'PrachPerf::m_occassionsInPrachSlot()']]], + ['m_5fp_5fbfw_5fiq_5fsrc',['m_p_bfw_iq_src',['../class_c__plane.html#af3c62a5df704db9218047182f9576367',1,'C_plane']]], + ['m_5fp_5fext1_5fdst',['m_p_ext1_dst',['../class_c__plane.html#aa03217953847a726043966a4691494f1',1,'C_plane']]], + ['m_5fparams',['m_params',['../class_c__plane.html#a16c92b16fc21a700c50a7faf19da41b9',1,'C_plane::m_params()'],['../class_prach_check.html#a16c92b16fc21a700c50a7faf19da41b9',1,'PrachCheck::m_params()'],['../class_prach_perf.html#a16c92b16fc21a700c50a7faf19da41b9',1,'PrachPerf::m_params()']]], + ['m_5fpktinfo',['m_pktInfo',['../class_c__plane.html#a431f2e351a321b762ccd64984d566913',1,'C_plane::m_pktInfo()'],['../class_prach_check.html#a431f2e351a321b762ccd64984d566913',1,'PrachCheck::m_pktInfo()'],['../class_prach_perf.html#a431f2e351a321b762ccd64984d566913',1,'PrachPerf::m_pktInfo()']]], + ['m_5fpprachconfig',['m_pPRACHConfig',['../class_prach_check.html#a21909f3922fb3485559575d6252575aa',1,'PrachCheck::m_pPRACHConfig()'],['../class_prach_perf.html#a21909f3922fb3485559575d6252575aa',1,'PrachPerf::m_pPRACHConfig()']]], + ['m_5fpprachcpconfig',['m_pPrachCPConfig',['../class_prach_check.html#a45887981986f86c7811031b354fb4a36',1,'PrachCheck::m_pPrachCPConfig()'],['../class_prach_perf.html#a45887981986f86c7811031b354fb4a36',1,'PrachPerf::m_pPrachCPConfig()']]], + ['m_5fprach_5flast_5fsymbol',['m_prach_last_symbol',['../class_prach_check.html#a98ba28864455aad01fecfc51992a252a',1,'PrachCheck::m_prach_last_symbol()'],['../class_prach_perf.html#a98ba28864455aad01fecfc51992a252a',1,'PrachPerf::m_prach_last_symbol()']]], + ['m_5fprach_5fstart_5fsymbol',['m_prach_start_symbol',['../class_prach_check.html#aee24498b1349e41e8e14f822c6bd8fff',1,'PrachCheck::m_prach_start_symbol()'],['../class_prach_perf.html#aee24498b1349e41e8e14f822c6bd8fff',1,'PrachPerf::m_prach_start_symbol()']]], + ['m_5fprbnum',['m_prbNum',['../class_c__plane.html#a81096035b0802bc24810c07ca13df7e9',1,'C_plane::m_prbNum()'],['../class_prach_check.html#a81096035b0802bc24810c07ca13df7e9',1,'PrachCheck::m_prbNum()'],['../class_prach_perf.html#a81096035b0802bc24810c07ca13df7e9',1,'PrachPerf::m_prbNum()']]], + ['m_5fprbstart',['m_prbStart',['../class_c__plane.html#a59b4057d63386649d2facf030a08fa0e',1,'C_plane::m_prbStart()'],['../class_prach_check.html#a59b4057d63386649d2facf030a08fa0e',1,'PrachCheck::m_prbStart()'],['../class_prach_perf.html#a59b4057d63386649d2facf030a08fa0e',1,'PrachPerf::m_prbStart()']]], + ['m_5fpruconfig',['m_pRUConfig',['../class_prach_check.html#a0967c7de3f0299240443557d0b5677b8',1,'PrachCheck']]], + ['m_5fpsectgeninfo',['m_pSectGenInfo',['../class_prach_check.html#a8afca7ac895ea509b38432d1b45bff55',1,'PrachCheck::m_pSectGenInfo()'],['../class_prach_perf.html#a8afca7ac895ea509b38432d1b45bff55',1,'PrachPerf::m_pSectGenInfo()']]], + ['m_5fptestbuffer',['m_pTestBuffer',['../class_c__plane.html#aafa40e823e408268e48585ec7a623eae',1,'C_plane::m_pTestBuffer()'],['../class_prach_check.html#aafa40e823e408268e48585ec7a623eae',1,'PrachCheck::m_pTestBuffer()'],['../class_prach_perf.html#aafa40e823e408268e48585ec7a623eae',1,'PrachPerf::m_pTestBuffer()']]], + ['m_5fremask',['m_reMask',['../class_c__plane.html#ab4be4cfb9be32a9a6c516f5cfbae0d6f',1,'C_plane::m_reMask()'],['../class_prach_check.html#ab4be4cfb9be32a9a6c516f5cfbae0d6f',1,'PrachCheck::m_reMask()'],['../class_prach_perf.html#ab4be4cfb9be32a9a6c516f5cfbae0d6f',1,'PrachPerf::m_reMask()']]], + ['m_5fresult',['m_result',['../class_c__plane.html#aa42dde0a7ce436df7e5b607d17d52668',1,'C_plane::m_result()'],['../class_prach_check.html#aa42dde0a7ce436df7e5b607d17d52668',1,'PrachCheck::m_result()'],['../class_prach_perf.html#aa42dde0a7ce436df7e5b607d17d52668',1,'PrachPerf::m_result()']]], + ['m_5fru_5fmac',['m_ru_mac',['../classxran_lib_wraper.html#a5914f36a470616ef17f5b663a8d21b30',1,'xranLibWraper']]], + ['m_5fscs',['m_scs',['../class_c__plane.html#ac106dad0f3171eb074e8e654b4ea2c4b',1,'C_plane']]], + ['m_5fsectionid',['m_sectionId',['../class_c__plane.html#a9c4d35a4cce2560e384f2fe95c4c341f',1,'C_plane::m_sectionId()'],['../class_prach_check.html#a9c4d35a4cce2560e384f2fe95c4c341f',1,'PrachCheck::m_sectionId()'],['../class_prach_perf.html#a9c4d35a4cce2560e384f2fe95c4c341f',1,'PrachPerf::m_sectionId()']]], + ['m_5fsectiontype',['m_sectionType',['../class_c__plane.html#abc4c88e1904502c47099799767ea3991',1,'C_plane::m_sectionType()'],['../class_prach_check.html#abc4c88e1904502c47099799767ea3991',1,'PrachCheck::m_sectionType()'],['../class_prach_perf.html#abc4c88e1904502c47099799767ea3991',1,'PrachPerf::m_sectionType()']]], + ['m_5fseqid',['m_seqId',['../class_c__plane.html#a7a0ce01c67c4067cc3ba42fd380e858a',1,'C_plane::m_seqId()'],['../class_prach_check.html#a7a0ce01c67c4067cc3ba42fd380e858a',1,'PrachCheck::m_seqId()'],['../class_prach_perf.html#a7a0ce01c67c4067cc3ba42fd380e858a',1,'PrachPerf::m_seqId()']]], + ['m_5fsfhprachrxbbuiobufctrl',['m_sFHPrachRxBbuIoBufCtrl',['../classxran_lib_wraper.html#a4e219881fa053028c692fb10ae2bb5a3',1,'xranLibWraper']]], + ['m_5fsfhprachrxbuffers',['m_sFHPrachRxBuffers',['../classxran_lib_wraper.html#ad84b20c11b0095b35674f3eb1c247375',1,'xranLibWraper']]], + ['m_5fsfronthaulrxbbuiobufctrl',['m_sFrontHaulRxBbuIoBufCtrl',['../classxran_lib_wraper.html#ad99e9ea539081aeef2978a3f472baf1c',1,'xranLibWraper']]], + ['m_5fsfronthaulrxbuffers',['m_sFrontHaulRxBuffers',['../classxran_lib_wraper.html#a6284df81f3334e6319e99aa3d368acec',1,'xranLibWraper']]], + ['m_5fsfronthaulrxprbmapbbuiobufctrl',['m_sFrontHaulRxPrbMapBbuIoBufCtrl',['../classxran_lib_wraper.html#a5d7d51f26d22de978142c336c82b8736',1,'xranLibWraper']]], + ['m_5fsfronthaulrxprbmapbuffers',['m_sFrontHaulRxPrbMapBuffers',['../classxran_lib_wraper.html#a21adf86e6b2a299b94a4eb59b6094863',1,'xranLibWraper']]], + ['m_5fsfronthaultxbbuiobufctrl',['m_sFrontHaulTxBbuIoBufCtrl',['../classxran_lib_wraper.html#a4ec48d0ffb9f1f4310057061754541af',1,'xranLibWraper']]], + ['m_5fsfronthaultxbuffers',['m_sFrontHaulTxBuffers',['../classxran_lib_wraper.html#aaf96fa2c0147a497910401ba377506db',1,'xranLibWraper']]], + ['m_5fsfronthaultxprbmapbbuiobufctrl',['m_sFrontHaulTxPrbMapBbuIoBufCtrl',['../classxran_lib_wraper.html#a5de5e6cb2e5beb2315f16ecc06aa2966',1,'xranLibWraper']]], + ['m_5fsfronthaultxprbmapbuffers',['m_sFrontHaulTxPrbMapBuffers',['../classxran_lib_wraper.html#aa1611b01fe2d460ebe58e45c901f68e8',1,'xranLibWraper']]], + ['m_5fslotid',['m_slotId',['../class_c__plane.html#a7f021a016314b5d3a9bb095c5c08048f',1,'C_plane::m_slotId()'],['../class_prach_check.html#a7f021a016314b5d3a9bb095c5c08048f',1,'PrachCheck::m_slotId()'],['../class_prach_perf.html#a7f021a016314b5d3a9bb095c5c08048f',1,'PrachPerf::m_slotId()']]], + ['m_5fslotnrnum',['m_SlotNrNum',['../class_prach_check.html#ae0c317f2faf44b0e7bde79d34e00b2e7',1,'PrachCheck::m_SlotNrNum()'],['../class_prach_perf.html#ae0c317f2faf44b0e7bde79d34e00b2e7',1,'PrachPerf::m_SlotNrNum()']]], + ['m_5fstartprbc',['m_startPrbc',['../class_prach_check.html#acef6d7b2a1494b7d98e70d4759875349',1,'PrachCheck::m_startPrbc()'],['../class_prach_perf.html#acef6d7b2a1494b7d98e70d4759875349',1,'PrachPerf::m_startPrbc()']]], + ['m_5fstartsymid',['m_startSymId',['../class_prach_check.html#a1d28f82423abf4fde782a34ae064aea9',1,'PrachCheck::m_startSymId()'],['../class_prach_perf.html#a1d28f82423abf4fde782a34ae064aea9',1,'PrachPerf::m_startSymId()']]], + ['m_5fsubframeid',['m_subframeId',['../class_c__plane.html#afa13542efadbf6db6e8ddfa388a345c0',1,'C_plane::m_subframeId()'],['../class_prach_check.html#afa13542efadbf6db6e8ddfa388a345c0',1,'PrachCheck::m_subframeId()'],['../class_prach_perf.html#afa13542efadbf6db6e8ddfa388a345c0',1,'PrachPerf::m_subframeId()']]], + ['m_5fsymnum',['m_symNum',['../class_c__plane.html#a88a1f1ad78450f64aab4fa3f6499060a',1,'C_plane::m_symNum()'],['../class_prach_check.html#a88a1f1ad78450f64aab4fa3f6499060a',1,'PrachCheck::m_symNum()'],['../class_prach_perf.html#a88a1f1ad78450f64aab4fa3f6499060a',1,'PrachPerf::m_symNum()']]], + ['m_5fsymstart',['m_symStart',['../class_c__plane.html#aba23eca36e0c5cc06d74919fa5fe0dd6',1,'C_plane::m_symStart()'],['../class_prach_check.html#aba23eca36e0c5cc06d74919fa5fe0dd6',1,'PrachCheck::m_symStart()'],['../class_prach_perf.html#aba23eca36e0c5cc06d74919fa5fe0dd6',1,'PrachPerf::m_symStart()']]], + ['m_5ftable',['m_table',['../structmbuf__table.html#ae6c3a4e6ff2dbb852d3cfc14b2f33d6f',1,'mbuf_table']]], + ['m_5ftimeoffset',['m_timeOffset',['../class_c__plane.html#a509c970617e65a99c8120eef3d309bcb',1,'C_plane::m_timeOffset()'],['../class_prach_check.html#a509c970617e65a99c8120eef3d309bcb',1,'PrachCheck::m_timeOffset()'],['../class_prach_perf.html#a509c970617e65a99c8120eef3d309bcb',1,'PrachPerf::m_timeOffset()']]], + ['m_5ftimer_5fctx',['m_timer_ctx',['../classxran_lib_wraper.html#a74cbf8f188c4df27d645f80be26bb077',1,'xranLibWraper']]], + ['m_5fx',['m_x',['../class_prach_check.html#a95b34835c7215dd09bdfdd82698c1232',1,'PrachCheck::m_x()'],['../class_prach_perf.html#a95b34835c7215dd09bdfdd82698c1232',1,'PrachPerf::m_x()']]], + ['m_5fxran_5fdev_5fctx',['m_xran_dev_ctx',['../class_prach_check.html#a48dc9763aed8e2af7ff83eb1648aa96e',1,'PrachCheck::m_xran_dev_ctx()'],['../class_prach_perf.html#a48dc9763aed8e2af7ff83eb1648aa96e',1,'PrachPerf::m_xran_dev_ctx()']]], + ['m_5fxranconf',['m_xranConf',['../classxran_lib_wraper.html#acb7ae6f5547d5e166b643084db28b2fa',1,'xranLibWraper::m_xranConf()'],['../class_test_chain.html#acb7ae6f5547d5e166b643084db28b2fa',1,'TestChain::m_xranConf()'],['../class_prach_check.html#ae3061028ac8e2b8c5dbf9bafc6e1bafa',1,'PrachCheck::m_xranConf()'],['../class_prach_perf.html#acb7ae6f5547d5e166b643084db28b2fa',1,'PrachPerf::m_xranConf()']]], + ['m_5fxranhandle',['m_xranhandle',['../classxran_lib_wraper.html#adcc43270fba1599cebe2bc32eca45554',1,'xranLibWraper']]], + ['m_5fxraninit',['m_xranInit',['../classxran_lib_wraper.html#a9507c81d07af4f634e04173663fd5419',1,'xranLibWraper::m_xranInit()'],['../class_test_chain.html#a9507c81d07af4f634e04173663fd5419',1,'TestChain::m_xranInit()']]], + ['m_5fy',['m_y',['../class_prach_check.html#a5067ab67bdb57355a12a0282ced79bdc',1,'PrachCheck::m_y()'],['../class_prach_perf.html#a5067ab67bdb57355a12a0282ced79bdc',1,'PrachPerf::m_y()']]], + ['main',['main',['../sample-app_8c.html#a0ddf1224851353fc92bfbff6f499fa97',1,'main(int argc, char *argv[]): sample-app.c'],['../xranlib__unit__test__main_8cc.html#a3c04138a5bfe5d72780bb7e82a18e627',1,'main(int argc, char **argv): xranlib_unit_test_main.cc'],['../namespacemaster.html#a1835cdc0fc647a2c5b5ccf8b5e6e1778',1,'master.main()']]], + ['main_5fpriority',['MAIN_PRIORITY',['../sample-app_8c.html#a0fc58460f052686e9a3987fe7f606d17',1,'sample-app.c']]], + ['make_5fcopy_5fmlog',['make_copy_mlog',['../namespacemaster.html#a2730ffb83f627670caa12f7595551151',1,'master']]], + ['mask_5fbandsectorid',['mask_bandSectorId',['../structxran__eaxcid__config.html#affca087d8bc179073b5ae2f429340898',1,'xran_eaxcid_config']]], + ['mask_5fccid',['mask_ccId',['../structxran__eaxcid__config.html#a0ba87d865af2deb1ee2565f528e1e72d',1,'xran_eaxcid_config']]], + ['mask_5fcuportid',['mask_cuPortId',['../structxran__eaxcid__config.html#a3357253b181bed8132156f87728efc8d',1,'xran_eaxcid_config']]], + ['mask_5fruportid',['mask_ruPortId',['../structxran__eaxcid__config.html#a64cc7d4da64fe531f01c6bb54e6a02f3',1,'xran_eaxcid_config']]], + ['master',['master',['../namespacemaster.html',1,'']]], + ['master_2epy',['master.py',['../master_8py.html',1,'']]], + ['matlab',['Matlab',['../gen__test_8m.html#abee116c541345c5756870213b23b01c4',1,'gen_test.m']]], + ['max_5fant_5fcarrier_5fsupported',['MAX_ANT_CARRIER_SUPPORTED',['../common_8h.html#a14c306e04a1b3ecdd13b82ab9ca6c9b5',1,'MAX_ANT_CARRIER_SUPPORTED(): common.h'],['../xran__lib__wrap_8hpp.html#a14c306e04a1b3ecdd13b82ab9ca6c9b5',1,'MAX_ANT_CARRIER_SUPPORTED(): xran_lib_wrap.hpp']]], + ['max_5fant_5fcarrier_5fsupported_5fcat_5fb',['MAX_ANT_CARRIER_SUPPORTED_CAT_B',['../common_8h.html#a11e143c6a879cac4c34a607b2aff730c',1,'common.h']]], + ['max_5fbbu_5fpool_5fcore_5fmask',['MAX_BBU_POOL_CORE_MASK',['../sample-app_8c.html#a5014dc50f4b659adb62b35b41a000112',1,'sample-app.c']]], + ['max_5fcheck_5ftime',['MAX_CHECK_TIME',['../ethdi_8c.html#a8656398fc65eefb503ceaf1006c095ac',1,'ethdi.c']]], + ['max_5fdata_5fsections_5fnum',['MAX_DATA_SECTIONS_NUM',['../xran__pkt__up_8h.html#a886c66796fb86299692ed3629a12ed56',1,'xran_pkt_up.h']]], + ['max_5fdata_5fsize',['MAX_DATA_SIZE',['../ethernet_8h.html#a87f68e96fb938eddc39ad1f19d923a96',1,'ethernet.h']]], + ['max_5ffile_5fname_5flen',['MAX_FILE_NAME_LEN',['../debug_8h.html#a835262f9c26026aab5f91a528f57ad8f',1,'debug.h']]], + ['max_5fiq',['MAX_IQ',['../unittests_8cc.html#aef6aa683c7d5cd615a8e78ef6b89208c',1,'unittests.cc']]], + ['max_5fiq_5fbit_5fwidth',['MAX_IQ_BIT_WIDTH',['../xran__pkt__up_8h.html#a863f0b79c08ef7f3431b7d13656fea74',1,'xran_pkt_up.h']]], + ['max_5fline_5fsize',['MAX_LINE_SIZE',['../config_8c.html#a706068f562dd5c64a8b7bbd4b2298dd1',1,'config.c']]], + ['max_5fn_5ffullband_5fsc',['MAX_N_FULLBAND_SC',['../xran__common_8h.html#a49b173839f33b6d8e91a35ed9ec10f20',1,'xran_common.h']]], + ['max_5fnum_5fof_5fdpdk_5ftimers',['MAX_NUM_OF_DPDK_TIMERS',['../xran__main_8c.html#af2babb53fd06205eba49b1213e8e18d8',1,'xran_main.c']]], + ['max_5fnum_5fof_5fxran_5fctx',['MAX_NUM_OF_XRAN_CTX',['../xran__main_8c.html#a16ea7ba6b48522ff69767c3a3d31b776',1,'MAX_NUM_OF_XRAN_CTX(): xran_main.c'],['../xran__lib__wrap_8hpp.html#a16ea7ba6b48522ff69767c3a3d31b776',1,'MAX_NUM_OF_XRAN_CTX(): xran_lib_wrap.hpp']]], + ['max_5fpath_5fname_5flen',['MAX_PATH_NAME_LEN',['../debug_8h.html#acae6916a00cd9660ab2ab69569e26d80',1,'debug.h']]], + ['max_5fpkt_5fburst',['MAX_PKT_BURST',['../sample-app_8c.html#a07888c38e252992d1b95545baacad594',1,'sample-app.c']]], + ['max_5frx_5flen',['MAX_RX_LEN',['../ethernet_8h.html#af93d1ffa527a8d74a873d67174d006e1',1,'ethernet.h']]], + ['max_5fsize',['max_size',['../classnlohmann_1_1basic__json.html#ac2a85e463df4e95c1bf051cfb8237805',1,'nlohmann::basic_json']]], + ['max_5fsw_5fxran_5finterface_5fnum',['MAX_SW_XRAN_INTERFACE_NUM',['../classxran_lib_wraper.html#afecde4b156cd353cb29487bbb9675d46a6365b7a9adffb0e096ffbd8012b909c1',1,'xranLibWraper::MAX_SW_XRAN_INTERFACE_NUM()'],['../sample-app_8c.html#afecde4b156cd353cb29487bbb9675d46a6365b7a9adffb0e096ffbd8012b909c1',1,'MAX_SW_XRAN_INTERFACE_NUM(): sample-app.c']]], + ['max_5ftx_5flen',['MAX_TX_LEN',['../ethernet_8h.html#a3ecef14a68660bf7e2c7007097e1a42d',1,'ethernet.h']]], + ['maxframeid',['maxFrameId',['../struct___runtime_config.html#a7e2e66f6bfc7521847c69479e3f17a79',1,'_RuntimeConfig']]], + ['mbuf_5fcache',['MBUF_CACHE',['../ethernet_8h.html#aff7b5c03d15eefed7ec8ba88836914e6',1,'ethernet.h']]], + ['mbuf_5ffree',['MBUF_FREE',['../ethdi_8h.html#a39fca1837c5ce7715cbf571669660c13a90bbe176be23902fec1de76501599769',1,'ethdi.h']]], + ['mbuf_5fkeep',['MBUF_KEEP',['../ethdi_8h.html#a39fca1837c5ce7715cbf571669660c13a5c8f213f6ff879119c23ec38c63a54e5',1,'ethdi.h']]], + ['mbuf_5fpool_5felement',['MBUF_POOL_ELEMENT',['../ethernet_8h.html#aabc097abe969aa80654d34ee7f15109c',1,'ethernet.h']]], + ['mbuf_5fpool_5felm_5fbig',['MBUF_POOL_ELM_BIG',['../ethernet_8h.html#ae8104b3bc03b93180e06acb87f420243',1,'ethernet.h']]], + ['mbuf_5fpool_5felm_5fsmall',['MBUF_POOL_ELM_SMALL',['../ethernet_8h.html#ae9d0e06c9bf8c1de60edfed757593782',1,'ethernet.h']]], + ['mbuf_5ftable',['mbuf_table',['../structmbuf__table.html',1,'']]], + ['mbuf_5ftable_5fsize',['MBUF_TABLE_SIZE',['../xran__common_8h.html#afb33e5553fd096faa39d5f9059fb80d9',1,'xran_common.h']]], + ['mbufs_5fcnt',['MBUFS_CNT',['../xran__common_8c.html#ae413c4f1a4664d68aca9d331d1891a0c',1,'xran_common.c']]], + ['mc',['mc',['../structxran__sectionext5__info.html#af63d3e52300d55f02d782a02ef6e6dd0',1,'xran_sectionext5_info']]], + ['mcscaleoffset',['mcScaleOffset',['../structxran__sectionext5__info.html#a0d53f590f6c03b8aadb7421ea75a0efa',1,'xran_sectionext5_info']]], + ['mcscaleoffset1',['mcScaleOffset1',['../structxran__cp__radioapp__section__ext5.html#a8854bc563f0f80ccc93498c6f6386ebe',1,'xran_cp_radioapp_section_ext5::mcScaleOffset1()'],['../xran__pkt__cp_8h.html#a8854bc563f0f80ccc93498c6f6386ebe',1,'mcScaleOffset1(): xran_pkt_cp.h']]], + ['mcscaleoffset2',['mcScaleOffset2',['../structxran__cp__radioapp__section__ext5.html#aca88dbe7fcac3aa95ac605c39a1ef6c3',1,'xran_cp_radioapp_section_ext5::mcScaleOffset2()'],['../xran__pkt__cp_8h.html#aca88dbe7fcac3aa95ac605c39a1ef6c3',1,'mcScaleOffset2(): xran_pkt_cp.h']]], + ['mcscaleremask',['mcScaleReMask',['../structxran__sectionext5__info.html#aabd93f3473c2432cf02d285e460907da',1,'xran_sectionext5_info']]], + ['mcscaleremask1',['mcScaleReMask1',['../structxran__cp__radioapp__section__ext5.html#aa73c9c8643bc91f9af899bcb09d5329d',1,'xran_cp_radioapp_section_ext5::mcScaleReMask1()'],['../xran__pkt__cp_8h.html#aa73c9c8643bc91f9af899bcb09d5329d',1,'mcScaleReMask1(): xran_pkt_cp.h']]], + ['mcscaleremask2',['mcScaleReMask2',['../structxran__cp__radioapp__section__ext5.html#a345b2bf8205e92f1aa2f73109c4e99c5',1,'xran_cp_radioapp_section_ext5::mcScaleReMask2()'],['../xran__pkt__cp_8h.html#a345b2bf8205e92f1aa2f73109c4e99c5',1,'mcScaleReMask2(): xran_pkt_cp.h']]], + ['meta',['meta',['../classnlohmann_1_1basic__json.html#a7b7fb3fbbbbae070cef34411707c887b',1,'nlohmann::basic_json']]], + ['missing_5fconfig_5ffile_5fexception',['missing_config_file_exception',['../structmissing__config__file__exception.html',1,'']]], + ['mlog_5ffalse',['MLOG_FALSE',['../xran__mlog__lnx_8h.html#a436f70ee63bcae81f7e9f6a2b923bc4a',1,'xran_mlog_lnx.h']]], + ['mlogaddpowerstats',['MLogAddPowerStats',['../xran__mlog__lnx_8h.html#a47ad69244bf51cbe703cb6d8568c84ae',1,'xran_mlog_lnx.h']]], + ['mlogaddtestcase',['MLogAddTestCase',['../xran__mlog__lnx_8h.html#a8140534ae23398782bedc55f68fcff57',1,'xran_mlog_lnx.h']]], + ['mlogaddvariables',['MLogAddVariables',['../xran__mlog__lnx_8h.html#a1af05b8bdab3c12648a013c0cda7bbc0',1,'xran_mlog_lnx.h']]], + ['mlogdevinfo',['MLogDevInfo',['../xran__mlog__lnx_8h.html#a96ff3293aaa5527d87716499b0a235f8',1,'xran_mlog_lnx.h']]], + ['mloggetavgstats',['MLogGetAvgStats',['../xran__mlog__lnx_8h.html#a19fde128c84794eddd5895b93e1a5c33',1,'xran_mlog_lnx.h']]], + ['mloggetfilelocation',['MLogGetFileLocation',['../xran__mlog__lnx_8h.html#af85fde2b44839241df3d7a055587a63d',1,'xran_mlog_lnx.h']]], + ['mloggetfilesize',['MLogGetFileSize',['../xran__mlog__lnx_8h.html#ab8cc989708d3712f38c9590c0ae36845',1,'xran_mlog_lnx.h']]], + ['mloggetmask',['MLogGetMask',['../xran__mlog__lnx_8h.html#a6810b9d49d41abe30593c97ee2aafb7f',1,'xran_mlog_lnx.h']]], + ['mloggetstats',['MLogGetStats',['../xran__mlog__lnx_8h.html#af087ea434d0ef4b4e0eafa0ed9ad1a74',1,'xran_mlog_lnx.h']]], + ['mlogincrementcounter',['MLogIncrementCounter',['../xran__mlog__lnx_8h.html#a7e13e6c34f14ba82e361777280a5dcc1',1,'xran_mlog_lnx.h']]], + ['mlogmark',['MLogMark',['../xran__mlog__lnx_8h.html#ab3356d3c04286b221a0dc19c17405781',1,'xran_mlog_lnx.h']]], + ['mlogopen',['MLogOpen',['../xran__mlog__lnx_8h.html#a16ef5507c8fc26ce185dc7fafe9fa4f3',1,'xran_mlog_lnx.h']]], + ['mlogprint',['MLogPrint',['../xran__mlog__lnx_8h.html#a3c5a3b260b393219742a4604eee825f3',1,'xran_mlog_lnx.h']]], + ['mlogregisterframesubframe',['MLogRegisterFrameSubframe',['../xran__mlog__lnx_8h.html#a0e3ce77f913055c8f15e6a396e58b41e',1,'xran_mlog_lnx.h']]], + ['mlogregistertick',['MLogRegisterTick',['../xran__mlog__lnx_8h.html#af20d97d01a37bc7b596a3e31dff9f534',1,'xran_mlog_lnx.h']]], + ['mlogrestart',['MLogRestart',['../xran__mlog__lnx_8h.html#abc81f343a060eb7640f808c3ec044094',1,'xran_mlog_lnx.h']]], + ['mlogsetmask',['MLogSetMask',['../xran__mlog__lnx_8h.html#af082c907eef7707758e6609f51700912',1,'xran_mlog_lnx.h']]], + ['mlogtask',['MLogTask',['../xran__mlog__lnx_8h.html#a2ea88cf07a4bee8b98cb6cea2ef3ae36',1,'xran_mlog_lnx.h']]], + ['mlogtaskcore',['MLogTaskCore',['../xran__mlog__lnx_8h.html#a0ff8af5abafb200b999e885a2eb6f102',1,'xran_mlog_lnx.h']]], + ['mlogtick',['MLogTick',['../xran__mlog__lnx_8h.html#ab3a08558e2971726cddceed59f9fd3bd',1,'xran_mlog_lnx.h']]], + ['modcompscaler',['modCompScaler',['../structxran__sectionext4__info.html#a1c0e94567471aac214963f9600d0a4b1',1,'xran_sectionext4_info::modCompScaler()'],['../structxran__cp__radioapp__section__ext4.html#a3e975b4b16cb91991ee107f5f3e336b5',1,'xran_cp_radioapp_section_ext4::modCompScaler()'],['../xran__pkt__cp_8h.html#a3e975b4b16cb91991ee107f5f3e336b5',1,'modCompScaler(): xran_pkt_cp.h']]], + ['module_5fname',['module_name',['../c__plane__tests_8cc.html#a69b4bff6061152ff85770d725cced3cc',1,'module_name(): c_plane_tests.cc'],['../chain__tests_8cc.html#a69b4bff6061152ff85770d725cced3cc',1,'module_name(): chain_tests.cc'],['../compander__functional_8cc.html#a69b4bff6061152ff85770d725cced3cc',1,'module_name(): compander_functional.cc'],['../init__sys__functional_8cc.html#a69b4bff6061152ff85770d725cced3cc',1,'module_name(): init_sys_functional.cc'],['../prach__functional_8cc.html#a69b4bff6061152ff85770d725cced3cc',1,'module_name(): prach_functional.cc'],['../prach__performance_8cc.html#a69b4bff6061152ff85770d725cced3cc',1,'module_name(): prach_performance.cc'],['../u__plane__functional_8cc.html#a69b4bff6061152ff85770d725cced3cc',1,'module_name(): u_plane_functional.cc'],['../u__plane__performance_8cc.html#a69b4bff6061152ff85770d725cced3cc',1,'module_name(): u_plane_performance.cc']]], + ['msec_5fper_5fsec',['MSEC_PER_SEC',['../xran__timer_8h.html#a222f9dff749accf8de62bc4b52c7bdcd',1,'xran_timer.h']]], + ['msg_5ftype',['msg_type',['../structxran__recv__packet__info.html#a3e9be941593e594f0aece9b7f223d757',1,'xran_recv_packet_info']]], + ['mtu',['mtu',['../struct___runtime_config.html#a3c8ee4e9dd2a5354e83fb30c95598f30',1,'_RuntimeConfig::mtu()'],['../structxran__fh__init.html#a3c8ee4e9dd2a5354e83fb30c95598f30',1,'xran_fh_init::mtu()']]], + ['mu0_5f10mhz',['mu0_10mhz',['../gen__test_8m.html#ae121fd9f9063d48369ef04627e63f97b',1,'gen_test.m']]], + ['mu0_5f20mhz',['mu0_20mhz',['../gen__test_8m.html#a65690a3451484027a8021fc3e26a8354',1,'gen_test.m']]], + ['mu1_5f100mhz',['mu1_100mhz',['../gen__test_8m.html#aad3519412e0d30a8d6c4f827f1c0aaed',1,'gen_test.m']]], + ['mu3_5f100mhz',['mu3_100mhz',['../gen__test_8m.html#a06fda90da02d48d546f49b1faec2239a',1,'gen_test.m']]], + ['mu_5fnumber',['mu_number',['../struct___runtime_config.html#ac1552b11af951e30f8d57c77cc5bed81',1,'_RuntimeConfig']]], + ['mumimoues',['muMimoUEs',['../struct___runtime_config.html#a19978ec8645efbee660315f67d5b2358',1,'_RuntimeConfig']]] +]; diff --git a/docs/API/search/all_e.html b/docs/API/search/all_e.html new file mode 100644 index 0000000..9fa42bb --- /dev/null +++ b/docs/API/search/all_e.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/all_e.js b/docs/API/search/all_e.js new file mode 100644 index 0000000..005a6b6 --- /dev/null +++ b/docs/API/search/all_e.js @@ -0,0 +1,125 @@ +var searchData= +[ + ['detail',['detail',['../namespacenlohmann_1_1detail.html',1,'nlohmann']]], + ['n_5fmax_5fbuffer_5fsegment',['N_MAX_BUFFER_SEGMENT',['../sample-app_8c.html#ac29300907d1558b4b1f7bc1091151643',1,'sample-app.c']]], + ['n_5fsc_5fper_5fprb',['N_SC_PER_PRB',['../common_8h.html#ab97ae0d1cc679c3c40b779b34ab7b4cf',1,'N_SC_PER_PRB(): common.h'],['../xran__common_8h.html#ab97ae0d1cc679c3c40b779b34ab7b4cf',1,'N_SC_PER_PRB(): xran_common.h']]], + ['n_5fsym_5fper_5fslot',['N_SYM_PER_SLOT',['../common_8h.html#a534c88c03c366dfbd4dd5efe7693f56b',1,'N_SYM_PER_SLOT(): common.h'],['../xran__common_8h.html#a534c88c03c366dfbd4dd5efe7693f56b',1,'N_SYM_PER_SLOT(): xran_common.h']]], + ['nantelmtrx',['nAntElmTRx',['../structxran__cp__bf__weight.html#a5a0bb9b26c357c93eb4a7822b5272300',1,'xran_cp_bf_weight::nAntElmTRx()'],['../structxran__fh__config.html#ac63d8c67956a8a08cbfd8efb92a2f055',1,'xran_fh_config::nAntElmTRx()']]], + ['nbeamindex',['nBeamIndex',['../structxran__prb__elm.html#aba198438bbacf8f73b6bfa481b365ce5',1,'xran_prb_elm']]], + ['nbufferpoolindex',['nBufferPoolIndex',['../structsector_handle_info.html#a7f385bf2d48d174e82285595baa66890',1,'sectorHandleInfo']]], + ['nbufpoolindex',['nBufPoolIndex',['../struct_bbu_xran_io_if_struct.html#a52c040c5ef8cdccb720b42ea0c5632a6',1,'BbuXranIoIfStruct::nBufPoolIndex()'],['../class_init___sys___check.html#afbefaeac48b99d44a1930b66c9e4e21f',1,'Init_Sys_Check::nBufPoolIndex()']]], + ['ncc',['nCC',['../structxran__fh__config.html#a6dcac3ea0b3d99c20c2e6f7091b8b342',1,'xran_fh_config']]], + ['nchbw',['nChBw',['../classxran_lib_wraper.html#a163a7a574581e04dfa9cc60cfc81e7f5',1,'xranLibWraper']]], + ['ncoremask',['nCoreMask',['../struct_bbu_xran_io_if_struct.html#a1467a6caa947129c506085d9d44d099e',1,'BbuXranIoIfStruct']]], + ['ncpsizef1',['nCpSizeF1',['../common_8c.html#ad39b126a8b9123072b41967be14235ba',1,'common.c']]], + ['ncpsizef2',['nCpSizeF2',['../common_8c.html#a41b634e3c43560c0a29f60ddbf491d99',1,'common.c']]], + ['ndlabsfrepointa',['nDLAbsFrePointA',['../struct___runtime_config.html#ac0e69adfb3c3429ce7f7b9a568959934',1,'_RuntimeConfig::nDLAbsFrePointA()'],['../structxran__fh__config.html#ac0e69adfb3c3429ce7f7b9a568959934',1,'xran_fh_config::nDLAbsFrePointA()']]], + ['ndlbandwidth',['nDLBandwidth',['../struct___runtime_config.html#ad218e25642a9ecba017dfab4637c0b50',1,'_RuntimeConfig']]], + ['ndlcenterfreqarfcn',['nDLCenterFreqARFCN',['../structxran__fh__config.html#acd9d2cad066dac9c7ae84a0edbc9b8ae',1,'xran_fh_config']]], + ['ndlfftsize',['nDLFftSize',['../struct___runtime_config.html#ad86ba09b02f93a0f8525f5d07b471ead',1,'_RuntimeConfig::nDLFftSize()'],['../structxran__fh__config.html#a8956e982993d4b310e3bffe207f66405',1,'xran_fh_config::nDLFftSize()']]], + ['ndlrbs',['nDLRBs',['../structxran__fh__config.html#a7917929ae3bb588a5bf6f4e56cf9549e',1,'xran_fh_config']]], + ['ndrivercoreid',['nDriverCoreId',['../struct_xran_lib_config.html#acd5189037e23e024ae8f03a90399e97e',1,'XranLibConfig::nDriverCoreId()'],['../struct_bbu_xran_io_if_struct.html#a42e7078befd835706ed80adc1688c033',1,'BbuXranIoIfStruct::nDriverCoreId()']]], + ['neaxc',['neAxc',['../structxran__fh__config.html#abcac68b45b2bcf3b5458817d65b86e45',1,'xran_fh_config']]], + ['neaxcul',['neAxcUl',['../structxran__fh__config.html#a6b9c6f2e0bae93c45674bea4082c8a7a',1,'xran_fh_config']]], + ['nebyteorderswap',['nebyteorderswap',['../struct___runtime_config.html#a932c6c205ec4695d57632b623753a7ab',1,'_RuntimeConfig']]], + ['negation',['negation',['../structnlohmann_1_1detail_1_1negation.html',1,'nlohmann::detail']]], + ['nelementleninbytes',['nElementLenInBytes',['../structxran__flat__buffer.html#ac9d92d585877c2ef1af759479baf85fe',1,'xran_flat_buffer']]], + ['networkbytepack10b',['networkBytePack10b',['../xran__compression_8cpp.html#a4a2767bece9b74bb6348b416af70a3de',1,'xran_compression.cpp']]], + ['networkbytepack12b',['networkBytePack12b',['../xran__compression_8cpp.html#aafe7eae735c4ebf8f028e7baa6783c22',1,'xran_compression.cpp']]], + ['networkbytepack9b',['networkBytePack9b',['../xran__compression_8cpp.html#acb87fe08d3492b251e7a2561488064fa',1,'xran_compression.cpp']]], + ['networkbyteunpack10b',['networkByteUnpack10b',['../xran__compression_8cpp.html#a27043376e22397cc933d3c4d9450677b',1,'xran_compression.cpp']]], + ['networkbyteunpack12b',['networkByteUnpack12b',['../xran__compression_8cpp.html#a91aa9bdb6901711b43d848a4a5a94d2f',1,'xran_compression.cpp']]], + ['networkbyteunpack9b',['networkByteUnpack9b',['../xran__compression_8cpp.html#afb29866152e84d42cd2e3bc116454493',1,'xran_compression.cpp']]], + ['nfhbufintflag',['nFhBufIntFlag',['../struct_xran_lib_config.html#a0f7b4777832a26c80e4d58003813d70d',1,'XranLibConfig']]], + ['nfhconfig',['nFhConfig',['../struct_xran_lib_config.html#af75cbcbef6876a9c79b61b46572b6501',1,'XranLibConfig']]], + ['nfhcoreid',['nFHCoreId',['../struct_bbu_xran_io_if_struct.html#a94a63af18d6661b189605db8f66dbc7a',1,'BbuXranIoIfStruct']]], + ['nfpgatosw_5ffth_5frxbufferlen',['nFpgaToSW_FTH_RxBufferLen',['../sample-app_8c.html#a100fc21a1a29489f7422d4fbacbcde21',1,'sample-app.c']]], + ['nfpgatosw_5fprach_5frxbufferlen',['nFpgaToSW_PRACH_RxBufferLen',['../sample-app_8c.html#ace6876969173aa1c62dc3a23c19d90c3',1,'sample-app.c']]], + ['nframeduplextype',['nFrameDuplexType',['../struct___runtime_config.html#a3b86317723a592e240c0047e53a6326d',1,'_RuntimeConfig::nFrameDuplexType()'],['../structxran__frame__config.html#a3b86317723a592e240c0047e53a6326d',1,'xran_frame_config::nFrameDuplexType()']]], + ['nindex',['nIndex',['../structsector_handle_info.html#a3e89a68b1b304e37badf1e8a62a38527',1,'sectorHandleInfo']]], + ['ninstancehandle',['nInstanceHandle',['../struct_bbu_xran_io_if_struct.html#a492c471226877c87f771b9f4fe13a6ab',1,'BbuXranIoIfStruct::nInstanceHandle()'],['../class_init___sys___check.html#a492c471226877c87f771b9f4fe13a6ab',1,'Init_Sys_Check::nInstanceHandle()']]], + ['ninstancenum',['nInstanceNum',['../struct_bbu_xran_io_if_struct.html#a0d19e9e74d94b9c2fb5734392bd7a590',1,'BbuXranIoIfStruct::nInstanceNum()'],['../class_init___sys___check.html#a0d19e9e74d94b9c2fb5734392bd7a590',1,'Init_Sys_Check::nInstanceNum()']]], + ['nisphyaddr',['nIsPhyAddr',['../structxran__flat__buffer.html#a0119c99b1fb0b423f6c1acf165cb8930',1,'xran_flat_buffer']]], + ['nlog',['nlog',['../ethernet_8h.html#a3f004b0d653b6c6481513d0681771452',1,'ethernet.h']]], + ['nlohmann',['nlohmann',['../namespacenlohmann.html',1,'']]], + ['nlohmann_5fjson_5fhas_5fhelper',['NLOHMANN_JSON_HAS_HELPER',['../json_8hpp.html#ac0c80a819c5b9029a9344b3841f1cfd7',1,'NLOHMANN_JSON_HAS_HELPER(): json.hpp'],['../namespacenlohmann_1_1detail.html#a7b2601c238073c43a07862768b319cf8',1,'nlohmann::detail::NLOHMANN_JSON_HAS_HELPER(mapped_type)'],['../namespacenlohmann_1_1detail.html#ad19328f0c4ffe2890ecafb7c89e0355b',1,'nlohmann::detail::NLOHMANN_JSON_HAS_HELPER(key_type)'],['../namespacenlohmann_1_1detail.html#af3e900eb1e0b107c812f7babbb94e69e',1,'nlohmann::detail::NLOHMANN_JSON_HAS_HELPER(value_type)'],['../namespacenlohmann_1_1detail.html#a6648328c4b1466fdc48f1fcfbff23e2f',1,'nlohmann::detail::NLOHMANN_JSON_HAS_HELPER(iterator)']]], + ['nnrofsfinframe',['nNrofSfInFrame',['../struct_xran_lib_config.html#a6574f1a80394aabb048881d606e03f8e',1,'XranLibConfig']]], + ['nnrofslotinsf',['nNrOfSlotInSf',['../struct_xran_lib_config.html#a8bf802ca9b9dfa939a1fef031bb8f364',1,'XranLibConfig']]], + ['nnumberofelements',['nNumberOfElements',['../structxran__flat__buffer.html#a4371798a7694f5939136dca8baa93f21',1,'xran_flat_buffer']]], + ['nnumbuffers',['nNumBuffers',['../structxran__buffer__list.html#a3d723fbd99a0f76d412b2b79931fbc6e',1,'xran_buffer_list']]], + ['nnumerology',['nNumerology',['../structxran__frame__config.html#a78b2fab8e8d6a6424c2712d528fd9a58',1,'xran_frame_config']]], + ['nnumrbspersymf1',['nNumRbsPerSymF1',['../classxran_lib_wraper.html#a95651581b17afb55b04ca83f04261353',1,'xranLibWraper::nNumRbsPerSymF1()'],['../gen__test_8m.html#a2b65d42365b9e14ae1c181cb883d93af',1,'nNumRbsPerSymF1(): gen_test.m'],['../common_8c.html#adeaca85bff8e90492381b51b5dd5b55c',1,'nNumRbsPerSymF1(): common.c'],['../namespacemaster.html#abcabfd6caec6142edbd47231f3410f90',1,'master.nNumRbsPerSymF1()']]], + ['nnumrbspersymf2',['nNumRbsPerSymF2',['../classxran_lib_wraper.html#aa77e335f5b2d2cc1d81de7a55f122ded',1,'xranLibWraper::nNumRbsPerSymF2()'],['../gen__test_8m.html#a220c0367b38ca34375ea822ff6aadfd9',1,'nNumRbsPerSymF2(): gen_test.m'],['../common_8c.html#ac5b0db7e5c13fb0650285fa9f40a5038',1,'nNumRbsPerSymF2(): common.c'],['../namespacemaster.html#a1688f1dc8e00536ec7508a3ad672f85a',1,'master.nNumRbsPerSymF2()']]], + ['noffsetinbytes',['nOffsetInBytes',['../structxran__flat__buffer.html#a2c3c46f4c4709f349a0cc62bae9ca92d',1,'xran_flat_buffer']]], + ['nprachconfidx',['nPrachConfIdx',['../structxran__prach__config.html#acb5fe8097b0115e038eb02d5900f66d6',1,'xran_prach_config']]], + ['nprachfilteridx',['nPrachFilterIdx',['../structxran__prach__config.html#ab3ca7a740428b7023b7e29197124983b',1,'xran_prach_config']]], + ['nprachfreqoffset',['nPrachFreqOffset',['../structxran__prach__config.html#a3b43924c5ef23b0496d1a7adf2752dbf',1,'xran_prach_config']]], + ['nprachfreqstart',['nPrachFreqStart',['../structxran__prach__config.html#a5c648c99c04370a4e8767f919a2289bf',1,'xran_prach_config']]], + ['nprachrestrictset',['nPrachRestrictSet',['../structxran__prach__config.html#a26e6c95dfde831c2588d46dde588c751',1,'xran_prach_config']]], + ['nprachrootseqidx',['nPrachRootSeqIdx',['../structxran__prach__config.html#a66b19aaa946c36b309a3403b3d576c58',1,'xran_prach_config']]], + ['nprachsubcspacing',['nPrachSubcSpacing',['../structxran__prach__config.html#ab9b99e41ea39f16780f66a539aa872c8',1,'xran_prach_config']]], + ['nprachzerocorrconf',['nPrachZeroCorrConf',['../structxran__prach__config.html#a45ae197adc4010202a5b71d7b602bc0c',1,'xran_prach_config']]], + ['nprbelm',['nPrbElm',['../structxran__prb__map.html#a5a2ad8f5285dd33572e310069cdac3c4',1,'xran_prb_map']]], + ['nracp',['nRaCp',['../structx_r_a_n_prach_preamble_l_r_a_struct.html#a3cab2a5fe931bc424f18ac0b23f2060e',1,'xRANPrachPreambleLRAStruct']]], + ['nrarfcn',['NRARFCN',['../struct_f_p_g_a_phase_comp_cfg.html#a6d109b341fbd0f31e0a1198a87e79434',1,'FPGAPhaseCompCfg']]], + ['nrbsize',['nRBSize',['../structxran__prb__elm.html#a18adf7163dacc5bd7dd344fb1216f729',1,'xran_prb_elm']]], + ['nrbstart',['nRBStart',['../structxran__prb__elm.html#a5248ad5c1a177b8b9d5ef60f710652bc',1,'xran_prb_elm']]], + ['nrchbwoptions',['nRChBwOptions',['../common_8h.html#ace60ebb76d1266cd70c6b0a2cdb975af',1,'nRChBwOptions(): common.h'],['../namespacemaster.html#ace60ebb76d1266cd70c6b0a2cdb975af',1,'master.nRChBwOptions()']]], + ['nrchbwoptions_5fkeys',['nRChBwOptions_keys',['../namespacemaster.html#af7850f2256bf3ed75be67d2293f8aa82',1,'master']]], + ['nrchbwoptions_5fkeys_5fmu2and3',['nRChBwOptions_keys_mu2and3',['../namespacemaster.html#aed629b78b162e729253b92f7e86074ab',1,'master']]], + ['nrchbwoptions_5fmu2and3',['nRChBwOptions_mu2and3',['../namespacemaster.html#a3594f126fda7271b1a5f0672794af48d',1,'master']]], + ['nrchbwoptions_5fvalues',['nRChBwOptions_values',['../namespacemaster.html#a8d41a616ef51e4a0667d7cde6edc510c',1,'master']]], + ['nrchbwoptions_5fvalues_5fmu2and3',['nRChBwOptions_values_mu2and3',['../namespacemaster.html#a60aad357b43b806ac16bfe47e0c8e83c',1,'master']]], + ['nrofprachinslot',['nrofPrachInSlot',['../structx_r_a_n_prach_config_table_struct.html#a855041f3139611ca7478502e3241b2f1',1,'xRANPrachConfigTableStruct::nrofPrachInSlot()'],['../structxran__prach__cp__config.html#a855041f3139611ca7478502e3241b2f1',1,'xran_prach_cp_config::nrofPrachInSlot()']]], + ['ns_5fper_5fsec',['NS_PER_SEC',['../sample-app_8c.html#afefb75bba69d2edd2dfe8e2f7cfd23d6',1,'sample-app.c']]], + ['nsec_5fper_5fsec',['NSEC_PER_SEC',['../sample-app_8c.html#a0501e82515b2bdf36453c4cc80f5e0cc',1,'NSEC_PER_SEC(): sample-app.c'],['../xran__common_8h.html#a0501e82515b2bdf36453c4cc80f5e0cc',1,'NSEC_PER_SEC(): xran_common.h'],['../xran__timer_8c.html#a0501e82515b2bdf36453c4cc80f5e0cc',1,'NSEC_PER_SEC(): xran_timer.c']]], + ['nsec_5fper_5fusec',['NSEC_PER_USEC',['../xran__timer_8c.html#a2180f263d149841a7c1fde663edb84c5',1,'xran_timer.c']]], + ['nsectornum',['nSectorNum',['../struct_xran_lib_config.html#aba0c303e021d8d3d08a3f667f2662d9e',1,'XranLibConfig']]], + ['nseggenerated',['nSegGenerated',['../struct_bbu_io_buf_ctrl_struct.html#af00b094918ddba2073443dcd755141f6',1,'BbuIoBufCtrlStruct']]], + ['nsegtobegen',['nSegToBeGen',['../struct_bbu_io_buf_ctrl_struct.html#a7dc97933eadb8a8049057209c3303818',1,'BbuIoBufCtrlStruct']]], + ['nsegtransferred',['nSegTransferred',['../struct_bbu_io_buf_ctrl_struct.html#a09ab9a2f4541256129428a4ccabc6803',1,'BbuIoBufCtrlStruct']]], + ['nstartsymb',['nStartSymb',['../structxran__prb__elm.html#a5acab5eec7096fb7732c804f71f02a4d',1,'xran_prb_elm']]], + ['nsubcarrierspacing',['nSubCarrierSpacing',['../common_8c.html#a8734b8bf5121975264c578e7a875adf6',1,'common.c']]], + ['nsw_5ftofpga_5ffth_5ftxbufferlen',['nSW_ToFpga_FTH_TxBufferLen',['../sample-app_8c.html#a9b25e7e7b484cb2d903c20c4791a52ac',1,'sample-app.c']]], + ['nsymboltype',['nSymbolType',['../structxran__slot__config.html#a37a7dc4b204c22c2d8b9da9b07abd154',1,'xran_slot_config']]], + ['ntddperiod',['nTddPeriod',['../struct___runtime_config.html#a53a1d989c6dee827495401b1973c9ef8',1,'_RuntimeConfig::nTddPeriod()'],['../structxran__frame__config.html#a53a1d989c6dee827495401b1973c9ef8',1,'xran_frame_config::nTddPeriod()']]], + ['ntimingadvance',['nTimingAdvance',['../struct_xran_lib_config.html#a0b246b8022911c0057e473e1fd41efd8',1,'XranLibConfig']]], + ['ntsctiming',['nTscTiming',['../struct_bbu_xran_io_if_struct.html#a469fc57d9ae37025ca91e2ce34aea812',1,'BbuXranIoIfStruct']]], + ['nttiinterval',['nTtiInterval',['../common_8c.html#a2d77acfd0f679f0a8a73ef14abc706a9',1,'common.c']]], + ['nu',['nu',['../structx_r_a_n_prach_preamble_l_r_a_struct.html#abc78f4868475122608abbdf1e0439b4c',1,'xRANPrachPreambleLRAStruct']]], + ['nulabsfrepointa',['nULAbsFrePointA',['../struct___runtime_config.html#a6db9b8b082db12b94c9d7b910a2bf747',1,'_RuntimeConfig::nULAbsFrePointA()'],['../structxran__fh__config.html#a6db9b8b082db12b94c9d7b910a2bf747',1,'xran_fh_config::nULAbsFrePointA()']]], + ['nulbandwidth',['nULBandwidth',['../struct___runtime_config.html#a62e3563effce6c4c7fa25c233f24c855',1,'_RuntimeConfig']]], + ['nulcenterfreqarfcn',['nULCenterFreqARFCN',['../structxran__fh__config.html#a1fbf2d7a3e30db571b28c7800f38765d',1,'xran_fh_config']]], + ['nulfftsize',['nULFftSize',['../struct___runtime_config.html#aa531dddfbcecb22e905ed06255f5ce09',1,'_RuntimeConfig::nULFftSize()'],['../structxran__fh__config.html#ae4908e70f937e7eca578e348f4e3911f',1,'xran_fh_config::nULFftSize()']]], + ['null',['null',['../namespacenlohmann_1_1detail.html#aedb3045c82a17d48de0f030229adbffea37a6259cc0c1dae299a7866489dff0bd',1,'nlohmann::detail']]], + ['nulrbs',['nULRBs',['../structxran__fh__config.html#a5448b37ad609bb66bf44b44d1f9bac72',1,'xran_fh_config']]], + ['num_5feaxc',['num_eAxc',['../common_8c.html#ae69cd45536b5b80a0eac08ee522d8aa2',1,'num_eAxc(): common.c'],['../common_8h.html#ae69cd45536b5b80a0eac08ee522d8aa2',1,'num_eAxc(): common.c']]], + ['num_5fmbufs',['NUM_MBUFS',['../ethernet_8h.html#ae543d743ada71b167a5cbd813b15fa7f',1,'ethernet.h']]], + ['num_5fmbufs_5fbig',['NUM_MBUFS_BIG',['../ethernet_8h.html#a72098506af8c2d5c500ec4f8e0a0e17f',1,'ethernet.h']]], + ['num_5fof_5fframes_5fper_5fsecond',['NUM_OF_FRAMES_PER_SECOND',['../xran__main_8c.html#a244be9d83c95821d802d6a0c6c169cb1',1,'xran_main.c']]], + ['num_5fof_5fsubframe_5fper_5fframe',['NUM_OF_SUBFRAME_PER_FRAME',['../sample-app_8c.html#a0b69cdc6288c9c56f1054c582852b613',1,'NUM_OF_SUBFRAME_PER_FRAME(): sample-app.c'],['../init__sys__functional_8cc.html#a0b69cdc6288c9c56f1054c582852b613',1,'NUM_OF_SUBFRAME_PER_FRAME(): init_sys_functional.cc']]], + ['num_5fprbu',['num_prbu',['../structdata__section__hdr.html#acb00c5e7ebe809fda7288c699eed867c',1,'data_section_hdr']]], + ['num_5fsets',['num_sets',['../structxran__sectionext5__info.html#a7c4e67772e2e32e2f63f636730bf6eea',1,'xran_sectionext5_info']]], + ['numaxc',['numAxc',['../struct___runtime_config.html#abbeb3b559727e749a5d085c9374e541d',1,'_RuntimeConfig']]], + ['number_5ffloat',['number_float',['../namespacenlohmann_1_1detail.html#aedb3045c82a17d48de0f030229adbffead9966ecb59667235a57b4b999a649eef',1,'nlohmann::detail']]], + ['number_5ffloat_5ft',['number_float_t',['../classnlohmann_1_1basic__json.html#aa43a00a590f6ce46ee8ced69513ee4ef',1,'nlohmann::basic_json']]], + ['number_5finteger',['number_integer',['../namespacenlohmann_1_1detail.html#aedb3045c82a17d48de0f030229adbffea5763da164f8659d94a56e29df64b4bcc',1,'nlohmann::detail']]], + ['number_5finteger_5ft',['number_integer_t',['../classnlohmann_1_1basic__json.html#a4bd9b6d54deaadefc43b5c536062b792',1,'nlohmann::basic_json']]], + ['number_5funsigned',['number_unsigned',['../namespacenlohmann_1_1detail.html#aedb3045c82a17d48de0f030229adbffeadce7cc8ec29055c4158828921f2f265e',1,'nlohmann::detail']]], + ['number_5funsigned_5ft',['number_unsigned_t',['../classnlohmann_1_1basic__json.html#a915185d4413599516b85993e6baaca73',1,'nlohmann::basic_json']]], + ['numberofues',['numberOfUEs',['../structxran__cp__radioapp__section6__header.html#adc2b3bf6f7c4208312d35672ab4f1af7',1,'xran_cp_radioapp_section6_header::numberOfUEs()'],['../xran__pkt__cp_8h.html#adc2b3bf6f7c4208312d35672ab4f1af7',1,'numberOfUEs(): xran_pkt_cp.h']]], + ['numcc',['numCC',['../struct___runtime_config.html#aa7579751e13de05edb086914d6122f31',1,'_RuntimeConfig']]], + ['numccports',['numCCPorts',['../common_8c.html#ae3e0286957f26fa1804745d15f82724d',1,'numCCPorts(): common.c'],['../common_8h.html#ae3e0286957f26fa1804745d15f82724d',1,'numCCPorts(): common.c']]], + ['numlayers',['numLayers',['../structxran__sectionext3__info.html#a63fd35fb526e104a9e1155da5c9f4a98',1,'xran_sectionext3_info::numLayers()'],['../structxran__cp__radioapp__section__ext3__first.html#a872448d7734f1458ebd601823497a5fa',1,'xran_cp_radioapp_section_ext3_first::numLayers()'],['../structxran__cp__radioapp__section__ext3__non__first.html#a872448d7734f1458ebd601823497a5fa',1,'xran_cp_radioapp_section_ext3_non_first::numLayers()'],['../xran__pkt__cp_8h.html#a872448d7734f1458ebd601823497a5fa',1,'numLayers(): xran_pkt_cp.h']]], + ['numofsections',['numOfSections',['../structxran__cp__radioapp__common__header.html#a879dd7efae60d48d1c20349a00feee87',1,'xran_cp_radioapp_common_header::numOfSections()'],['../xran__pkt__cp_8h.html#a879dd7efae60d48d1c20349a00feee87',1,'numOfSections(): xran_pkt_cp.h']]], + ['numprbc',['numPrbc',['../structxran__section__info.html#a2b72ddddeff4e4a8a5c191695ec41079',1,'xran_section_info::numPrbc()'],['../structxran__cp__radioapp__section__header.html#ae4ab3aebfd71c3b7c6e5e6890c650254',1,'xran_cp_radioapp_section_header::numPrbc()'],['../structxran__cp__radioapp__section6.html#aabc4fe26e40f742fd255e2bb8534de75',1,'xran_cp_radioapp_section6::numPrbc()'],['../structxran__prach__cp__config.html#aabc4fe26e40f742fd255e2bb8534de75',1,'xran_prach_cp_config::numPrbc()'],['../xran__pkt__cp_8h.html#aabc4fe26e40f742fd255e2bb8534de75',1,'numPrbc(): xran_pkt_cp.h']]], + ['numrbs',['numRBs',['../structxranlib__compress__request.html#a8ab4fa409402862ead0d17e13edeeb62',1,'xranlib_compress_request::numRBs()'],['../structxranlib__decompress__request.html#a8ab4fa409402862ead0d17e13edeeb62',1,'xranlib_decompress_request::numRBs()'],['../gen__test_8m.html#a887ee7a54247d19e5e93955a7b9663ae',1,'numRBs(): gen_test.m']]], + ['numsections',['numSections',['../structxran__cp__gen__params.html#a52bddd404e766ddb6f2b9eabe15ea5b1',1,'xran_cp_gen_params']]], + ['numslots',['numSlots',['../struct___runtime_config.html#ae80b6685104e5d649ce7c9e3865b5ac3',1,'_RuntimeConfig']]], + ['numsymb',['numSymb',['../structxran__prb__elm.html#ad2586af82c76901c361a2d08a6ba553b',1,'xran_prb_elm']]], + ['numsymbol',['numSymbol',['../structxran__section__info.html#a664cb6ca464c69ef60a445fa4f4b3522',1,'xran_section_info::numSymbol()'],['../structxran__cp__radioapp__section__header.html#a5dc992c6cc64a3f245e5676c0ff12256',1,'xran_cp_radioapp_section_header::numSymbol()'],['../structxran__prach__cp__config.html#a664cb6ca464c69ef60a445fa4f4b3522',1,'xran_prach_cp_config::numSymbol()'],['../xran__pkt__cp_8h.html#a5dc992c6cc64a3f245e5676c0ff12256',1,'numSymbol(): xran_pkt_cp.h']]], + ['numues',['numUEs',['../structxran__cp__header__params.html#a32f1b5994f68c2670b4db46afdd152f1',1,'xran_cp_header_params']]], + ['numulaxc',['numUlAxc',['../struct___runtime_config.html#a8bc1b7962f0840749ad1536662177b43',1,'_RuntimeConfig']]], + ['nxranchbwoptions',['nXranChBwOptions',['../xran__frame__struct_8c.html#a6dc2f74f96bce0cce28b65f446b76bc9',1,'xran_frame_struct.c']]], + ['nxranport',['nXranPort',['../structsector_handle_info.html#a6fa55fef5f643eb92ae1f3890bb239d6',1,'sectorHandleInfo']]] +]; diff --git a/docs/API/search/all_f.html b/docs/API/search/all_f.html new file mode 100644 index 0000000..6ecfc0e --- /dev/null +++ b/docs/API/search/all_f.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/all_f.js b/docs/API/search/all_f.js new file mode 100644 index 0000000..2fb3f8d --- /dev/null +++ b/docs/API/search/all_f.js @@ -0,0 +1,44 @@ +var searchData= +[ + ['o_5fdu',['O_DU',['../xran__common_8h.html#ada810b81429ee4ec611614fd69dc99da',1,'xran_common.h']]], + ['o_5fdu_5faddr',['o_du_addr',['../struct___runtime_config.html#afa518f99bacc58366e6e1690d4b99fe4',1,'_RuntimeConfig']]], + ['o_5fru',['O_RU',['../xran__common_8h.html#a742cfd7821c00ae099b7d4809de9a765',1,'xran_common.h']]], + ['o_5fru_5faddr',['o_ru_addr',['../struct___runtime_config.html#a3d99b0989c1d336455a447cbc71dce13',1,'_RuntimeConfig']]], + ['object',['object',['../classnlohmann_1_1basic__json.html#a6955fcba671f39d7d04164ef034aada8',1,'nlohmann::basic_json::object()'],['../namespacenlohmann_1_1detail.html#aedb3045c82a17d48de0f030229adbffeaa8cfde6331bd59eb2ac96f8911c4b666',1,'nlohmann::detail::object()']]], + ['object_5fend',['object_end',['../classnlohmann_1_1basic__json.html#a284abb29079a3ece0b67d67da11da441af63e2a2468a37aa4f394fcc3bcb8249c',1,'nlohmann::basic_json']]], + ['object_5fstart',['object_start',['../classnlohmann_1_1basic__json.html#a284abb29079a3ece0b67d67da11da441ae73f17027cb0acbb537f29d0a6944b26',1,'nlohmann::basic_json']]], + ['object_5ft',['object_t',['../classnlohmann_1_1basic__json.html#a143db8a40359a56372e21a8feea66454',1,'nlohmann::basic_json']]], + ['occassionsinprachslot',['occassionsInPrachSlot',['../structx_r_a_n_prach_config_table_struct.html#a2e544eaae35a5756272d62af4fa53a19',1,'xRANPrachConfigTableStruct::occassionsInPrachSlot()'],['../structxran__prach__cp__config.html#a2e544eaae35a5756272d62af4fa53a19',1,'xran_prach_cp_config::occassionsInPrachSlot()']]], + ['octave',['Octave',['../gen__test_8m.html#a92f802cdcc90c07a0da79cebfdb7474e',1,'gen_test.m']]], + ['offset_5fnsec',['offset_nsec',['../structxran__device__ctx.html#ac885b03154fc1d5e7c10f09d92dd8a47',1,'xran_device_ctx']]], + ['offset_5fsec',['offset_sec',['../structxran__device__ctx.html#aee9d04742a7da3cfa9e267fe568b9185',1,'xran_device_ctx']]], + ['old_5frx_5fcounter',['old_rx_counter',['../sample-app_8c.html#a31b24ea77392ef70e4414a8198333f92',1,'sample-app.c']]], + ['old_5ftx_5fcounter',['old_tx_counter',['../sample-app_8c.html#a6d55780ebad3284fd5d6c1fcc9b46df2',1,'sample-app.c']]], + ['open',['Open',['../classxran_lib_wraper.html#ad93226058ef4fd59bd7d0cd55701b752',1,'xranLibWraper']]], + ['operator_20const_5fiterator',['operator const_iterator',['../classnlohmann_1_1basic__json_1_1iter__impl.html#ad353fe4df2005dff2442f68d922131e4',1,'nlohmann::basic_json::iter_impl']]], + ['operator_20value_5ft',['operator value_t',['../classnlohmann_1_1basic__json.html#a88617128d78ac71c7f1025c3de7a2859',1,'nlohmann::basic_json']]], + ['operator_20valuetype',['operator ValueType',['../classnlohmann_1_1basic__json.html#ad473c5817538254b1cc601abcd371157',1,'nlohmann::basic_json']]], + ['operator_21_3d',['operator!=',['../classnlohmann_1_1basic__json.html#a6e2e21da48f5d9471716cd868a068327',1,'nlohmann::basic_json::operator!=()'],['../classnlohmann_1_1basic__json.html#afefc38fc08bdb7a9a7474b5ab4a1140f',1,'nlohmann::basic_json::operator!=()'],['../classnlohmann_1_1basic__json.html#ab0e886db6e9fa91ff9fd853333fed05b',1,'nlohmann::basic_json::operator!=()'],['../classnlohmann_1_1basic__json_1_1iter__impl.html#a38c475d645b64df182fa37f07d54d17f',1,'nlohmann::basic_json::iter_impl::operator!=()'],['../classnlohmann_1_1basic__json_1_1json__pointer.html#a6779edcf28e6f018a3bbb29c0b4b5e1e',1,'nlohmann::basic_json::json_pointer::operator!=()']]], + ['operator_22_22_20_5fjson',['operator"" _json',['../json_8hpp.html#a106b949d848bb8243a7cf94f11bcebf1',1,'json.hpp']]], + ['operator_22_22_20_5fjson_5fpointer',['operator"" _json_pointer',['../json_8hpp.html#aa2015c6dc3a0fb76fc526cfecef2286a',1,'json.hpp']]], + ['operator_28_29',['operator()',['../structnlohmann_1_1detail_1_1to__json__fn.html#af2d38ad6a42ac8284e4be1f5839be322',1,'nlohmann::detail::to_json_fn::operator()()'],['../structnlohmann_1_1detail_1_1from__json__fn.html#a6729179bc94182b30176c8d5b7401513',1,'nlohmann::detail::from_json_fn::operator()()'],['../structstd_1_1hash_3_01nlohmann_1_1json_01_4.html#ac575ca25c0e836661bdb284b102a6aaf',1,'std::hash< nlohmann::json >::operator()()']]], + ['operator_2a',['operator*',['../classnlohmann_1_1basic__json_1_1iter__impl.html#ab086ec1916db61d1ab56a801abca8d91',1,'nlohmann::basic_json::iter_impl']]], + ['operator_2b',['operator+',['../classnlohmann_1_1basic__json_1_1iter__impl.html#ab3aa2093236c9db5d53b9b011d7e34de',1,'nlohmann::basic_json::iter_impl::operator+()'],['../classnlohmann_1_1basic__json_1_1json__reverse__iterator.html#a379ba238d7e1db7e0e728b248f3d2d1d',1,'nlohmann::basic_json::json_reverse_iterator::operator+()']]], + ['operator_2b_2b',['operator++',['../classnlohmann_1_1basic__json_1_1iter__impl.html#a56748d2feda14d9302a9056f90b9a60e',1,'nlohmann::basic_json::iter_impl::operator++(int)'],['../classnlohmann_1_1basic__json_1_1iter__impl.html#a1b374ca565bfc8190db3ec82343ce439',1,'nlohmann::basic_json::iter_impl::operator++()'],['../classnlohmann_1_1basic__json_1_1json__reverse__iterator.html#ad914a5637b429ac954b6be1db4219f99',1,'nlohmann::basic_json::json_reverse_iterator::operator++(int)'],['../classnlohmann_1_1basic__json_1_1json__reverse__iterator.html#ac1c46ac846ae806e7df76b4adc4fe0e5',1,'nlohmann::basic_json::json_reverse_iterator::operator++()']]], + ['operator_2b_3d',['operator+=',['../classnlohmann_1_1basic__json.html#aa130f045dca0b2e8d0ddae89e0f9cba8',1,'nlohmann::basic_json::operator+=(basic_json &&val)'],['../classnlohmann_1_1basic__json.html#a0e7ec359c5e44fa0b81c19a4bb699c3d',1,'nlohmann::basic_json::operator+=(const basic_json &val)'],['../classnlohmann_1_1basic__json.html#abba1e62253b8581d1e8fa1aab041702f',1,'nlohmann::basic_json::operator+=(const typename object_t::value_type &val)'],['../classnlohmann_1_1basic__json.html#ac42b45d70dbd9ad603c60305540f5aca',1,'nlohmann::basic_json::operator+=(std::initializer_list< basic_json > init)'],['../classnlohmann_1_1basic__json_1_1iter__impl.html#abbb1f35d8a5497bfdf3223abc6e01f36',1,'nlohmann::basic_json::iter_impl::operator+=()'],['../classnlohmann_1_1basic__json_1_1json__reverse__iterator.html#a6f1d98b981f6ec93ce6238052ced1427',1,'nlohmann::basic_json::json_reverse_iterator::operator+=()']]], + ['operator_2d',['operator-',['../classnlohmann_1_1basic__json_1_1iter__impl.html#a712db987ec665d7094fab4a48895deb8',1,'nlohmann::basic_json::iter_impl::operator-(difference_type i)'],['../classnlohmann_1_1basic__json_1_1iter__impl.html#af5b7432e5f4c236f890ca6f47e6adfa2',1,'nlohmann::basic_json::iter_impl::operator-(const iter_impl &other) const'],['../classnlohmann_1_1basic__json_1_1json__reverse__iterator.html#a7b955a5e882bfc49b7051faacc5379d6',1,'nlohmann::basic_json::json_reverse_iterator::operator-(difference_type i) const'],['../classnlohmann_1_1basic__json_1_1json__reverse__iterator.html#ac89403aab4e338130aa6dc520ea5b223',1,'nlohmann::basic_json::json_reverse_iterator::operator-(const json_reverse_iterator &other) const']]], + ['operator_2d_2d',['operator--',['../classnlohmann_1_1basic__json_1_1iter__impl.html#afbd4f01fad2a960f17a8abca32565e09',1,'nlohmann::basic_json::iter_impl::operator--(int)'],['../classnlohmann_1_1basic__json_1_1iter__impl.html#a5d13d2f7598ea808a97706918dcf02b6',1,'nlohmann::basic_json::iter_impl::operator--()'],['../classnlohmann_1_1basic__json_1_1json__reverse__iterator.html#aca64e618db2fb5cc23cf6e03ab98fb59',1,'nlohmann::basic_json::json_reverse_iterator::operator--(int)'],['../classnlohmann_1_1basic__json_1_1json__reverse__iterator.html#aa598935489b2d385e06ce56e44df0f21',1,'nlohmann::basic_json::json_reverse_iterator::operator--()']]], + ['operator_2d_3d',['operator-=',['../classnlohmann_1_1basic__json_1_1iter__impl.html#a66545be272d63090426284b0a9a72262',1,'nlohmann::basic_json::iter_impl']]], + ['operator_2d_3e',['operator->',['../classnlohmann_1_1basic__json_1_1iter__impl.html#aef4e7d4e0fa56e9f7509c555f73d24d2',1,'nlohmann::basic_json::iter_impl']]], + ['operator_3c',['operator<',['../classnlohmann_1_1basic__json.html#aacd442b66140c764c594ac8ad7dfd5b3',1,'nlohmann::basic_json::operator<()'],['../classnlohmann_1_1basic__json_1_1iter__impl.html#acc11749d3c5dda58cd448d23865b7cf7',1,'nlohmann::basic_json::iter_impl::operator<()'],['../namespacenlohmann_1_1detail.html#a09169efff3bd1771fff29bd92cea19e0',1,'nlohmann::detail::operator<()']]], + ['operator_3c_3c',['operator<<',['../classnlohmann_1_1basic__json.html#a5e34c5435e557d0bf666bd7311211405',1,'nlohmann::basic_json::operator<<()'],['../classnlohmann_1_1basic__json.html#a60ca396028b8d9714c6e10efbf475af6',1,'nlohmann::basic_json::operator<<()']]], + ['operator_3c_3d',['operator<=',['../classnlohmann_1_1basic__json.html#a5c8bb5200f5eac10d31e26be46e5b1ac',1,'nlohmann::basic_json::operator<=()'],['../classnlohmann_1_1basic__json_1_1iter__impl.html#af63486c9f2dff66291a8a93c717de968',1,'nlohmann::basic_json::iter_impl::operator<=()']]], + ['operator_3d',['operator=',['../classnlohmann_1_1basic__json.html#aee22c00d2bff99e59c1a2abe76bb74d8',1,'nlohmann::basic_json::operator=()'],['../classnlohmann_1_1basic__json_1_1iter__impl.html#a8611a2c69368775458a89acd1078d39d',1,'nlohmann::basic_json::iter_impl::operator=()']]], + ['operator_3d_3d',['operator==',['../classnlohmann_1_1basic__json.html#a122640e7e2db1814fc7bbb3c122ec76e',1,'nlohmann::basic_json::operator==()'],['../classnlohmann_1_1basic__json.html#aba21440ea1aff44f718285ed7d6d20d9',1,'nlohmann::basic_json::operator==()'],['../classnlohmann_1_1basic__json.html#aef302e3ae215e46e5035d0e4fdf47235',1,'nlohmann::basic_json::operator==()'],['../classnlohmann_1_1basic__json_1_1iter__impl.html#a2462cda9c28eb73eada8f362227ccafc',1,'nlohmann::basic_json::iter_impl::operator==()'],['../classnlohmann_1_1basic__json_1_1json__pointer.html#a4667ef558c8c3f8a646bfda0c6654653',1,'nlohmann::basic_json::json_pointer::operator==()']]], + ['operator_3e',['operator>',['../classnlohmann_1_1basic__json.html#a87db51b6b936fb2ea293cdbc8702dcb8',1,'nlohmann::basic_json::operator>()'],['../classnlohmann_1_1basic__json_1_1iter__impl.html#a018829d57a7e2a02b6e17397b68de52a',1,'nlohmann::basic_json::iter_impl::operator>()']]], + ['operator_3e_3d',['operator>=',['../classnlohmann_1_1basic__json.html#a74a943800c7f103d0990d7eef82c6453',1,'nlohmann::basic_json::operator>=()'],['../classnlohmann_1_1basic__json_1_1iter__impl.html#a0c20da3ba765c99dc8eb0b47f506ee88',1,'nlohmann::basic_json::iter_impl::operator>=()']]], + ['operator_3e_3e',['operator>>',['../classnlohmann_1_1basic__json.html#a34d6a60dd99e9f33b8273a1c8db5669b',1,'nlohmann::basic_json::operator>>()'],['../classnlohmann_1_1basic__json.html#aaf363408931d76472ded14017e59c9e8',1,'nlohmann::basic_json::operator>>()']]], + ['operator_5b_5d',['operator[]',['../classnlohmann_1_1basic__json.html#a693ccc537e47d7c90c86d4ca2fe1db05',1,'nlohmann::basic_json::operator[](size_type idx)'],['../classnlohmann_1_1basic__json.html#a890ecb965cd00d2cae1f76c0602f350a',1,'nlohmann::basic_json::operator[](size_type idx) const'],['../classnlohmann_1_1basic__json.html#a27efc3966d94d080bb36fa3595c15df5',1,'nlohmann::basic_json::operator[](const typename object_t::key_type &key)'],['../classnlohmann_1_1basic__json.html#a21e205d45fed194dec979bc1ea5388ac',1,'nlohmann::basic_json::operator[](const typename object_t::key_type &key) const'],['../classnlohmann_1_1basic__json.html#aea49996d0be84a9e652cadf7f975db33',1,'nlohmann::basic_json::operator[](T *(&key)[n])'],['../classnlohmann_1_1basic__json.html#ae4a416f01acd73e941714fe5c54389ce',1,'nlohmann::basic_json::operator[](T *(&key)[n]) const'],['../classnlohmann_1_1basic__json.html#ace3f02fdb9af2b87d407db1bfd20c424',1,'nlohmann::basic_json::operator[](T *key)'],['../classnlohmann_1_1basic__json.html#a12d90fef934fc6cfdac130424872604a',1,'nlohmann::basic_json::operator[](T *key) const'],['../classnlohmann_1_1basic__json_1_1iter__impl.html#a63cb79f90807943ec3a6968d8497e20f',1,'nlohmann::basic_json::iter_impl::operator[]()'],['../classnlohmann_1_1basic__json_1_1json__reverse__iterator.html#a63cb79f90807943ec3a6968d8497e20f',1,'nlohmann::basic_json::json_reverse_iterator::operator[]()'],['../classnlohmann_1_1basic__json.html#af16e882a2401f188f4b26d728c5fc2ed',1,'nlohmann::basic_json::operator[](const json_pointer &ptr)'],['../classnlohmann_1_1basic__json.html#a3ac9a62afdca75d5793047e6913e5ab1',1,'nlohmann::basic_json::operator[](const json_pointer &ptr) const']]], + ['original_5ftype',['original_type',['../structburst__hdr.html#a1bf90df9ae78437aca3a36cc15d8dea4',1,'burst_hdr']]], + ['string',['string',['../classnlohmann_1_1basic__json_1_1json__pointer.html#a3888dcd59dd5acd1ca5b9bee4c2e252a',1,'nlohmann::basic_json::json_pointer']]] +]; diff --git a/docs/API/search/classes_0.html b/docs/API/search/classes_0.html new file mode 100644 index 0000000..1c3e406 --- /dev/null +++ b/docs/API/search/classes_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/classes_0.js b/docs/API/search/classes_0.js new file mode 100644 index 0000000..c12a46f --- /dev/null +++ b/docs/API/search/classes_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['_5fruntimeconfig',['_RuntimeConfig',['../struct___runtime_config.html',1,'']]] +]; diff --git a/docs/API/search/classes_1.html b/docs/API/search/classes_1.html new file mode 100644 index 0000000..a8e7069 --- /dev/null +++ b/docs/API/search/classes_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/classes_1.js b/docs/API/search/classes_1.js new file mode 100644 index 0000000..cb83ba1 --- /dev/null +++ b/docs/API/search/classes_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['adl_5fserializer',['adl_serializer',['../structnlohmann_1_1adl__serializer.html',1,'nlohmann']]] +]; diff --git a/docs/API/search/classes_10.html b/docs/API/search/classes_10.html new file mode 100644 index 0000000..c1a9355 --- /dev/null +++ b/docs/API/search/classes_10.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/classes_10.js b/docs/API/search/classes_10.js new file mode 100644 index 0000000..e29e3c5 --- /dev/null +++ b/docs/API/search/classes_10.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['sectorhandleinfo',['sectorHandleInfo',['../structsector_handle_info.html',1,'']]], + ['static_5fconst',['static_const',['../structnlohmann_1_1detail_1_1static__const.html',1,'nlohmann::detail']]], + ['strtonum',['strtonum',['../structnlohmann_1_1basic__json_1_1lexer_1_1strtonum.html',1,'nlohmann::basic_json::lexer']]] +]; diff --git a/docs/API/search/classes_11.html b/docs/API/search/classes_11.html new file mode 100644 index 0000000..2df8ed3 --- /dev/null +++ b/docs/API/search/classes_11.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/classes_11.js b/docs/API/search/classes_11.js new file mode 100644 index 0000000..037f395 --- /dev/null +++ b/docs/API/search/classes_11.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['testchain',['TestChain',['../class_test_chain.html',1,'']]], + ['to_5fjson_5ffn',['to_json_fn',['../structnlohmann_1_1detail_1_1to__json__fn.html',1,'nlohmann::detail']]] +]; diff --git a/docs/API/search/classes_12.html b/docs/API/search/classes_12.html new file mode 100644 index 0000000..9413245 --- /dev/null +++ b/docs/API/search/classes_12.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/classes_12.js b/docs/API/search/classes_12.js new file mode 100644 index 0000000..2c6d789 --- /dev/null +++ b/docs/API/search/classes_12.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['u_5flaw',['u_law',['../structcompression__params_1_1u__law.html',1,'compression_params']]], + ['u_5fplanecheck',['U_planeCheck',['../class_u__plane_check.html',1,'']]], + ['u_5fplaneperf',['U_planePerf',['../class_u__plane_perf.html',1,'']]] +]; diff --git a/docs/API/search/classes_13.html b/docs/API/search/classes_13.html new file mode 100644 index 0000000..00fb7b0 --- /dev/null +++ b/docs/API/search/classes_13.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/classes_13.js b/docs/API/search/classes_13.js new file mode 100644 index 0000000..29d3c93 --- /dev/null +++ b/docs/API/search/classes_13.js @@ -0,0 +1,77 @@ +var searchData= +[ + ['xran_5fbuffer_5flist',['xran_buffer_list',['../structxran__buffer__list.html',1,'']]], + ['xran_5fcb_5ftag',['xran_cb_tag',['../structxran__cb__tag.html',1,'']]], + ['xran_5fcommon_5fcounters',['xran_common_counters',['../structxran__common__counters.html',1,'']]], + ['xran_5fcp_5fbf_5fattribute',['xran_cp_bf_attribute',['../structxran__cp__bf__attribute.html',1,'']]], + ['xran_5fcp_5fbf_5fprecoding',['xran_cp_bf_precoding',['../structxran__cp__bf__precoding.html',1,'']]], + ['xran_5fcp_5fbf_5fweight',['xran_cp_bf_weight',['../structxran__cp__bf__weight.html',1,'']]], + ['xran_5fcp_5fgen_5fparams',['xran_cp_gen_params',['../structxran__cp__gen__params.html',1,'']]], + ['xran_5fcp_5fheader_5fparams',['xran_cp_header_params',['../structxran__cp__header__params.html',1,'']]], + ['xran_5fcp_5fradioapp_5fcommon_5fheader',['xran_cp_radioapp_common_header',['../structxran__cp__radioapp__common__header.html',1,'']]], + ['xran_5fcp_5fradioapp_5fframestructure',['xran_cp_radioapp_frameStructure',['../structxran__cp__radioapp__frame_structure.html',1,'']]], + ['xran_5fcp_5fradioapp_5fsection0',['xran_cp_radioapp_section0',['../structxran__cp__radioapp__section0.html',1,'']]], + ['xran_5fcp_5fradioapp_5fsection0_5fheader',['xran_cp_radioapp_section0_header',['../structxran__cp__radioapp__section0__header.html',1,'']]], + ['xran_5fcp_5fradioapp_5fsection1',['xran_cp_radioapp_section1',['../structxran__cp__radioapp__section1.html',1,'']]], + ['xran_5fcp_5fradioapp_5fsection1_5fheader',['xran_cp_radioapp_section1_header',['../structxran__cp__radioapp__section1__header.html',1,'']]], + ['xran_5fcp_5fradioapp_5fsection3',['xran_cp_radioapp_section3',['../structxran__cp__radioapp__section3.html',1,'']]], + ['xran_5fcp_5fradioapp_5fsection3_5fheader',['xran_cp_radioapp_section3_header',['../structxran__cp__radioapp__section3__header.html',1,'']]], + ['xran_5fcp_5fradioapp_5fsection5',['xran_cp_radioapp_section5',['../structxran__cp__radioapp__section5.html',1,'']]], + ['xran_5fcp_5fradioapp_5fsection5_5fheader',['xran_cp_radioapp_section5_header',['../structxran__cp__radioapp__section5__header.html',1,'']]], + ['xran_5fcp_5fradioapp_5fsection6',['xran_cp_radioapp_section6',['../structxran__cp__radioapp__section6.html',1,'']]], + ['xran_5fcp_5fradioapp_5fsection6_5fheader',['xran_cp_radioapp_section6_header',['../structxran__cp__radioapp__section6__header.html',1,'']]], + ['xran_5fcp_5fradioapp_5fsection7_5fheader',['xran_cp_radioapp_section7_header',['../structxran__cp__radioapp__section7__header.html',1,'']]], + ['xran_5fcp_5fradioapp_5fsection_5fext1',['xran_cp_radioapp_section_ext1',['../structxran__cp__radioapp__section__ext1.html',1,'']]], + ['xran_5fcp_5fradioapp_5fsection_5fext2',['xran_cp_radioapp_section_ext2',['../structxran__cp__radioapp__section__ext2.html',1,'']]], + ['xran_5fcp_5fradioapp_5fsection_5fext3_5ffirst',['xran_cp_radioapp_section_ext3_first',['../structxran__cp__radioapp__section__ext3__first.html',1,'']]], + ['xran_5fcp_5fradioapp_5fsection_5fext3_5fnon_5ffirst',['xran_cp_radioapp_section_ext3_non_first',['../structxran__cp__radioapp__section__ext3__non__first.html',1,'']]], + ['xran_5fcp_5fradioapp_5fsection_5fext4',['xran_cp_radioapp_section_ext4',['../structxran__cp__radioapp__section__ext4.html',1,'']]], + ['xran_5fcp_5fradioapp_5fsection_5fext5',['xran_cp_radioapp_section_ext5',['../structxran__cp__radioapp__section__ext5.html',1,'']]], + ['xran_5fcp_5fradioapp_5fsection_5fext_5fhdr',['xran_cp_radioapp_section_ext_hdr',['../structxran__cp__radioapp__section__ext__hdr.html',1,'']]], + ['xran_5fcp_5fradioapp_5fsection_5fheader',['xran_cp_radioapp_section_header',['../structxran__cp__radioapp__section__header.html',1,'']]], + ['xran_5fcp_5frbmap_5flist',['xran_cp_rbmap_list',['../structxran__cp__rbmap__list.html',1,'']]], + ['xran_5fdevice_5fctx',['xran_device_ctx',['../structxran__device__ctx.html',1,'']]], + ['xran_5feaxc_5finfo',['xran_eaxc_info',['../structxran__eaxc__info.html',1,'']]], + ['xran_5feaxcid_5fconfig',['xran_eaxcid_config',['../structxran__eaxcid__config.html',1,'']]], + ['xran_5fecpri_5fcmn_5fhdr',['xran_ecpri_cmn_hdr',['../structxran__ecpri__cmn__hdr.html',1,'']]], + ['xran_5fecpri_5fhdr',['xran_ecpri_hdr',['../structxran__ecpri__hdr.html',1,'']]], + ['xran_5fethdi_5fctx',['xran_ethdi_ctx',['../structxran__ethdi__ctx.html',1,'']]], + ['xran_5ffh_5fconfig',['xran_fh_config',['../structxran__fh__config.html',1,'']]], + ['xran_5ffh_5finit',['xran_fh_init',['../structxran__fh__init.html',1,'']]], + ['xran_5fflat_5fbuffer',['xran_flat_buffer',['../structxran__flat__buffer.html',1,'']]], + ['xran_5fframe_5fconfig',['xran_frame_config',['../structxran__frame__config.html',1,'']]], + ['xran_5fio_5fcfg',['xran_io_cfg',['../structxran__io__cfg.html',1,'']]], + ['xran_5fio_5floop_5fcfg',['xran_io_loop_cfg',['../structxran__io__loop__cfg.html',1,'']]], + ['xran_5fpkt_5fcomm_5fhdr',['xran_pkt_comm_hdr',['../structxran__pkt__comm__hdr.html',1,'']]], + ['xran_5fprach_5fconfig',['xran_prach_config',['../structxran__prach__config.html',1,'']]], + ['xran_5fprach_5fcp_5fconfig',['xran_prach_cp_config',['../structxran__prach__cp__config.html',1,'']]], + ['xran_5fprb_5felm',['xran_prb_elm',['../structxran__prb__elm.html',1,'']]], + ['xran_5fprb_5fmap',['xran_prb_map',['../structxran__prb__map.html',1,'']]], + ['xran_5fradioapp_5fudcomp_5fheader',['xran_radioapp_udComp_header',['../structxran__radioapp__ud_comp__header.html',1,'']]], + ['xran_5frecv_5fpacket_5finfo',['xran_recv_packet_info',['../structxran__recv__packet__info.html',1,'']]], + ['xran_5fru_5fconfig',['xran_ru_config',['../structxran__ru__config.html',1,'']]], + ['xran_5fsection_5fdesc',['xran_section_desc',['../structxran__section__desc.html',1,'']]], + ['xran_5fsection_5fgen_5finfo',['xran_section_gen_info',['../structxran__section__gen__info.html',1,'']]], + ['xran_5fsection_5finfo',['xran_section_info',['../structxran__section__info.html',1,'']]], + ['xran_5fsectionext1_5finfo',['xran_sectionext1_info',['../structxran__sectionext1__info.html',1,'']]], + ['xran_5fsectionext2_5finfo',['xran_sectionext2_info',['../structxran__sectionext2__info.html',1,'']]], + ['xran_5fsectionext3_5finfo',['xran_sectionext3_info',['../structxran__sectionext3__info.html',1,'']]], + ['xran_5fsectionext4_5finfo',['xran_sectionext4_info',['../structxran__sectionext4__info.html',1,'']]], + ['xran_5fsectionext5_5finfo',['xran_sectionext5_info',['../structxran__sectionext5__info.html',1,'']]], + ['xran_5fsectionext_5finfo',['xran_sectionext_info',['../structxran__sectionext__info.html',1,'']]], + ['xran_5fsectioninfo_5fdb',['xran_sectioninfo_db',['../structxran__sectioninfo__db.html',1,'']]], + ['xran_5fslot_5fconfig',['xran_slot_config',['../structxran__slot__config.html',1,'']]], + ['xran_5fsrs_5fconfig',['xran_srs_config',['../structxran__srs__config.html',1,'']]], + ['xran_5ftimer_5fctx',['xran_timer_ctx',['../structxran_lib_wraper_1_1xran__timer__ctx.html',1,'xranLibWraper::xran_timer_ctx'],['../structxran__timer__ctx.html',1,'xran_timer_ctx']]], + ['xran_5fup_5fpkt_5fgen_5fno_5fcompression_5fparams',['xran_up_pkt_gen_no_compression_params',['../structxran__up__pkt__gen__no__compression__params.html',1,'']]], + ['xran_5fup_5fpkt_5fgen_5fparams',['xran_up_pkt_gen_params',['../structxran__up__pkt__gen__params.html',1,'']]], + ['xran_5fup_5fpkt_5fhdr',['xran_up_pkt_hdr',['../structxran__up__pkt__hdr.html',1,'']]], + ['xranlib_5fcompress_5frequest',['xranlib_compress_request',['../structxranlib__compress__request.html',1,'']]], + ['xranlib_5fcompress_5fresponse',['xranlib_compress_response',['../structxranlib__compress__response.html',1,'']]], + ['xranlib_5fdecompress_5frequest',['xranlib_decompress_request',['../structxranlib__decompress__request.html',1,'']]], + ['xranlib_5fdecompress_5fresponse',['xranlib_decompress_response',['../structxranlib__decompress__response.html',1,'']]], + ['xranlibconfig',['XranLibConfig',['../struct_xran_lib_config.html',1,'']]], + ['xranlibwraper',['xranLibWraper',['../classxran_lib_wraper.html',1,'']]], + ['xranprachconfigtablestruct',['xRANPrachConfigTableStruct',['../structx_r_a_n_prach_config_table_struct.html',1,'']]], + ['xranprachpreamblelrastruct',['xRANPrachPreambleLRAStruct',['../structx_r_a_n_prach_preamble_l_r_a_struct.html',1,'']]] +]; diff --git a/docs/API/search/classes_2.html b/docs/API/search/classes_2.html new file mode 100644 index 0000000..5c09c96 --- /dev/null +++ b/docs/API/search/classes_2.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/classes_2.js b/docs/API/search/classes_2.js new file mode 100644 index 0000000..4633f6e --- /dev/null +++ b/docs/API/search/classes_2.js @@ -0,0 +1,13 @@ +var searchData= +[ + ['basic_5fjson',['basic_json',['../classnlohmann_1_1basic__json.html',1,'nlohmann']]], + ['bbuiobufctrlstruct',['BbuIoBufCtrlStruct',['../struct_bbu_io_buf_ctrl_struct.html',1,'']]], + ['bbuxranioifstruct',['BbuXranIoIfStruct',['../struct_bbu_xran_io_if_struct.html',1,'']]], + ['benchmarkparameters',['BenchmarkParameters',['../struct_benchmark_parameters.html',1,'']]], + ['bfpcheck',['BfpCheck',['../class_bfp_check.html',1,'']]], + ['bfpperf',['BfpPerf',['../class_bfp_perf.html',1,'']]], + ['bfpperfex',['BfpPerfEx',['../class_bfp_perf_ex.html',1,'']]], + ['block_5ffl_5fpoint',['block_fl_point',['../structcompression__params_1_1block__fl__point.html',1,'compression_params']]], + ['block_5fscaling',['block_scaling',['../structcompression__params_1_1block__scaling.html',1,'compression_params']]], + ['burst_5fhdr',['burst_hdr',['../structburst__hdr.html',1,'']]] +]; diff --git a/docs/API/search/classes_3.html b/docs/API/search/classes_3.html new file mode 100644 index 0000000..5faaeba --- /dev/null +++ b/docs/API/search/classes_3.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/classes_3.js b/docs/API/search/classes_3.js new file mode 100644 index 0000000..c05fd07 --- /dev/null +++ b/docs/API/search/classes_3.js @@ -0,0 +1,17 @@ +var searchData= +[ + ['c_5fplane',['C_plane',['../class_c__plane.html',1,'']]], + ['cb_5felem_5fentry',['cb_elem_entry',['../structcb__elem__entry.html',1,'']]], + ['complex32',['COMPLEX32',['../struct_c_o_m_p_l_e_x32.html',1,'']]], + ['complex_5fdouble',['complex_double',['../structcomplex__double.html',1,'']]], + ['complex_5ffloat',['complex_float',['../structcomplex__float.html',1,'']]], + ['complex_5fhalf',['complex_half',['../structcomplex__half.html',1,'']]], + ['complex_5fint16_5ft',['complex_int16_t',['../structcomplex__int16__t.html',1,'']]], + ['complex_5fint32_5ft',['complex_int32_t',['../structcomplex__int32__t.html',1,'']]], + ['compresseddata',['CompressedData',['../struct_block_float_compander_1_1_compressed_data.html',1,'CompressedData'],['../struct_block_float_compander_b_f_w_1_1_compressed_data.html',1,'CompressedData']]], + ['compression_5fhdr',['compression_hdr',['../structcompression__hdr.html',1,'']]], + ['compression_5fparams',['compression_params',['../unioncompression__params.html',1,'']]], + ['conjunction',['conjunction',['../structnlohmann_1_1detail_1_1conjunction.html',1,'nlohmann::detail']]], + ['conjunction_3c_20b1_20_3e',['conjunction< B1 >',['../structnlohmann_1_1detail_1_1conjunction_3_01_b1_01_4.html',1,'nlohmann::detail']]], + ['conjunction_3c_20b1_2c_20bn_2e_2e_2e_20_3e',['conjunction< B1, Bn... >',['../structnlohmann_1_1detail_1_1conjunction_3_01_b1_00_01_bn_8_8_8_01_4.html',1,'nlohmann::detail']]] +]; diff --git a/docs/API/search/classes_4.html b/docs/API/search/classes_4.html new file mode 100644 index 0000000..b3f11bc --- /dev/null +++ b/docs/API/search/classes_4.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/classes_4.js b/docs/API/search/classes_4.js new file mode 100644 index 0000000..4f16132 --- /dev/null +++ b/docs/API/search/classes_4.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['data_5fsection_5fcompression_5fhdr',['data_section_compression_hdr',['../structdata__section__compression__hdr.html',1,'']]], + ['data_5fsection_5fhdr',['data_section_hdr',['../structdata__section__hdr.html',1,'']]] +]; diff --git a/docs/API/search/classes_5.html b/docs/API/search/classes_5.html new file mode 100644 index 0000000..952ace6 --- /dev/null +++ b/docs/API/search/classes_5.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/classes_5.js b/docs/API/search/classes_5.js new file mode 100644 index 0000000..a2f1f09 --- /dev/null +++ b/docs/API/search/classes_5.js @@ -0,0 +1,15 @@ +var searchData= +[ + ['ecpri_5fseq_5fid',['ecpri_seq_id',['../structecpri__seq__id.html',1,'']]], + ['eth_5fxran_5fup_5fpkt_5fhdr',['eth_xran_up_pkt_hdr',['../structeth__xran__up__pkt__hdr.html',1,'']]], + ['ethdi_5fhdr',['ethdi_hdr',['../structethdi__hdr.html',1,'']]], + ['expandeddata',['ExpandedData',['../struct_block_float_compander_1_1_expanded_data.html',1,'ExpandedData'],['../struct_block_float_compander_b_f_w_1_1_expanded_data.html',1,'ExpandedData']]], + ['external_5fconstructor',['external_constructor',['../structnlohmann_1_1detail_1_1external__constructor.html',1,'nlohmann::detail']]], + ['external_5fconstructor_3c_20value_5ft_3a_3aarray_20_3e',['external_constructor< value_t::array >',['../structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1array_01_4.html',1,'nlohmann::detail']]], + ['external_5fconstructor_3c_20value_5ft_3a_3aboolean_20_3e',['external_constructor< value_t::boolean >',['../structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1boolean_01_4.html',1,'nlohmann::detail']]], + ['external_5fconstructor_3c_20value_5ft_3a_3anumber_5ffloat_20_3e',['external_constructor< value_t::number_float >',['../structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__float_01_4.html',1,'nlohmann::detail']]], + ['external_5fconstructor_3c_20value_5ft_3a_3anumber_5finteger_20_3e',['external_constructor< value_t::number_integer >',['../structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__integer_01_4.html',1,'nlohmann::detail']]], + ['external_5fconstructor_3c_20value_5ft_3a_3anumber_5funsigned_20_3e',['external_constructor< value_t::number_unsigned >',['../structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__unsigned_01_4.html',1,'nlohmann::detail']]], + ['external_5fconstructor_3c_20value_5ft_3a_3aobject_20_3e',['external_constructor< value_t::object >',['../structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1object_01_4.html',1,'nlohmann::detail']]], + ['external_5fconstructor_3c_20value_5ft_3a_3astring_20_3e',['external_constructor< value_t::string >',['../structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1string_01_4.html',1,'nlohmann::detail']]] +]; diff --git a/docs/API/search/classes_6.html b/docs/API/search/classes_6.html new file mode 100644 index 0000000..75eef9f --- /dev/null +++ b/docs/API/search/classes_6.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/classes_6.js b/docs/API/search/classes_6.js new file mode 100644 index 0000000..e5ed5c6 --- /dev/null +++ b/docs/API/search/classes_6.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['fpgaphasecompcfg',['FPGAPhaseCompCfg',['../struct_f_p_g_a_phase_comp_cfg.html',1,'']]], + ['from_5fjson_5ffn',['from_json_fn',['../structnlohmann_1_1detail_1_1from__json__fn.html',1,'nlohmann::detail']]] +]; diff --git a/docs/API/search/classes_7.html b/docs/API/search/classes_7.html new file mode 100644 index 0000000..745f5f2 --- /dev/null +++ b/docs/API/search/classes_7.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/classes_7.js b/docs/API/search/classes_7.js new file mode 100644 index 0000000..0af29a2 --- /dev/null +++ b/docs/API/search/classes_7.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['getoutofloops',['GetOutOfLoops',['../classmaster_1_1_get_out_of_loops.html',1,'master']]] +]; diff --git a/docs/API/search/classes_8.html b/docs/API/search/classes_8.html new file mode 100644 index 0000000..5a443d9 --- /dev/null +++ b/docs/API/search/classes_8.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/classes_8.js b/docs/API/search/classes_8.js new file mode 100644 index 0000000..d365afa --- /dev/null +++ b/docs/API/search/classes_8.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['has_5ffrom_5fjson',['has_from_json',['../structnlohmann_1_1detail_1_1has__from__json.html',1,'nlohmann::detail']]], + ['has_5fnon_5fdefault_5ffrom_5fjson',['has_non_default_from_json',['../structnlohmann_1_1detail_1_1has__non__default__from__json.html',1,'nlohmann::detail']]], + ['has_5fto_5fjson',['has_to_json',['../structnlohmann_1_1detail_1_1has__to__json.html',1,'nlohmann::detail']]], + ['hash_3c_20nlohmann_3a_3ajson_20_3e',['hash< nlohmann::json >',['../structstd_1_1hash_3_01nlohmann_1_1json_01_4.html',1,'std']]] +]; diff --git a/docs/API/search/classes_9.html b/docs/API/search/classes_9.html new file mode 100644 index 0000000..9cb55be --- /dev/null +++ b/docs/API/search/classes_9.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/classes_9.js b/docs/API/search/classes_9.js new file mode 100644 index 0000000..fa02d13 --- /dev/null +++ b/docs/API/search/classes_9.js @@ -0,0 +1,13 @@ +var searchData= +[ + ['init_5fsys_5fcheck',['Init_Sys_Check',['../class_init___sys___check.html',1,'']]], + ['is_5fbasic_5fjson_5fnested_5ftype',['is_basic_json_nested_type',['../structnlohmann_1_1detail_1_1is__basic__json__nested__type.html',1,'nlohmann::detail']]], + ['is_5fcompatible_5farray_5ftype',['is_compatible_array_type',['../structnlohmann_1_1detail_1_1is__compatible__array__type.html',1,'nlohmann::detail']]], + ['is_5fcompatible_5finteger_5ftype',['is_compatible_integer_type',['../structnlohmann_1_1detail_1_1is__compatible__integer__type.html',1,'nlohmann::detail']]], + ['is_5fcompatible_5finteger_5ftype_5fimpl',['is_compatible_integer_type_impl',['../structnlohmann_1_1detail_1_1is__compatible__integer__type__impl.html',1,'nlohmann::detail']]], + ['is_5fcompatible_5finteger_5ftype_5fimpl_3c_20true_2c_20realintegertype_2c_20compatiblenumberintegertype_20_3e',['is_compatible_integer_type_impl< true, RealIntegerType, CompatibleNumberIntegerType >',['../structnlohmann_1_1detail_1_1is__compatible__integer__type__impl_3_01true_00_01_real_integer_type78b0ba77f36a8c8169cdb79b01d1a4bf.html',1,'nlohmann::detail']]], + ['is_5fcompatible_5fobject_5ftype',['is_compatible_object_type',['../structnlohmann_1_1detail_1_1is__compatible__object__type.html',1,'nlohmann::detail']]], + ['is_5fcompatible_5fobject_5ftype_5fimpl',['is_compatible_object_type_impl',['../structnlohmann_1_1detail_1_1is__compatible__object__type__impl.html',1,'nlohmann::detail']]], + ['is_5fcompatible_5fobject_5ftype_5fimpl_3c_20true_2c_20realtype_2c_20compatibleobjecttype_20_3e',['is_compatible_object_type_impl< true, RealType, CompatibleObjectType >',['../structnlohmann_1_1detail_1_1is__compatible__object__type__impl_3_01true_00_01_real_type_00_01_compatible_object_type_01_4.html',1,'nlohmann::detail']]], + ['iter_5fimpl',['iter_impl',['../classnlohmann_1_1basic__json_1_1iter__impl.html',1,'nlohmann::basic_json']]] +]; diff --git a/docs/API/search/classes_a.html b/docs/API/search/classes_a.html new file mode 100644 index 0000000..54940d7 --- /dev/null +++ b/docs/API/search/classes_a.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/classes_a.js b/docs/API/search/classes_a.js new file mode 100644 index 0000000..1a449b0 --- /dev/null +++ b/docs/API/search/classes_a.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['json_5fpointer',['json_pointer',['../classnlohmann_1_1basic__json_1_1json__pointer.html',1,'nlohmann::basic_json']]], + ['json_5freverse_5fiterator',['json_reverse_iterator',['../classnlohmann_1_1basic__json_1_1json__reverse__iterator.html',1,'nlohmann::basic_json']]] +]; diff --git a/docs/API/search/classes_b.html b/docs/API/search/classes_b.html new file mode 100644 index 0000000..6071ae0 --- /dev/null +++ b/docs/API/search/classes_b.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/classes_b.js b/docs/API/search/classes_b.js new file mode 100644 index 0000000..019c369 --- /dev/null +++ b/docs/API/search/classes_b.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['kerneltests',['KernelTests',['../class_kernel_tests.html',1,'']]] +]; diff --git a/docs/API/search/classes_c.html b/docs/API/search/classes_c.html new file mode 100644 index 0000000..6cf1d00 --- /dev/null +++ b/docs/API/search/classes_c.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/classes_c.js b/docs/API/search/classes_c.js new file mode 100644 index 0000000..ee0238e --- /dev/null +++ b/docs/API/search/classes_c.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['mbuf_5ftable',['mbuf_table',['../structmbuf__table.html',1,'']]], + ['missing_5fconfig_5ffile_5fexception',['missing_config_file_exception',['../structmissing__config__file__exception.html',1,'']]] +]; diff --git a/docs/API/search/classes_d.html b/docs/API/search/classes_d.html new file mode 100644 index 0000000..d4a7ed7 --- /dev/null +++ b/docs/API/search/classes_d.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/classes_d.js b/docs/API/search/classes_d.js new file mode 100644 index 0000000..52958d3 --- /dev/null +++ b/docs/API/search/classes_d.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['negation',['negation',['../structnlohmann_1_1detail_1_1negation.html',1,'nlohmann::detail']]] +]; diff --git a/docs/API/search/classes_e.html b/docs/API/search/classes_e.html new file mode 100644 index 0000000..9a9f48c --- /dev/null +++ b/docs/API/search/classes_e.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/classes_e.js b/docs/API/search/classes_e.js new file mode 100644 index 0000000..2fa8e98 --- /dev/null +++ b/docs/API/search/classes_e.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['prachcheck',['PrachCheck',['../class_prach_check.html',1,'']]], + ['prachperf',['PrachPerf',['../class_prach_perf.html',1,'']]], + ['priority_5ftag',['priority_tag',['../structnlohmann_1_1detail_1_1priority__tag.html',1,'nlohmann::detail']]], + ['priority_5ftag_3c_200_20_3e',['priority_tag< 0 >',['../structnlohmann_1_1detail_1_1priority__tag_3_010_01_4.html',1,'nlohmann::detail']]] +]; diff --git a/docs/API/search/classes_f.html b/docs/API/search/classes_f.html new file mode 100644 index 0000000..a128d60 --- /dev/null +++ b/docs/API/search/classes_f.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/classes_f.js b/docs/API/search/classes_f.js new file mode 100644 index 0000000..b543921 --- /dev/null +++ b/docs/API/search/classes_f.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['radio_5fapp_5fcommon_5fhdr',['radio_app_common_hdr',['../structradio__app__common__hdr.html',1,'']]], + ['rb_5fmap',['rb_map',['../structrb__map.html',1,'']]], + ['reading_5finput_5ffile_5fexception',['reading_input_file_exception',['../structreading__input__file__exception.html',1,'']]] +]; diff --git a/docs/API/search/close.png b/docs/API/search/close.png new file mode 100644 index 0000000..9342d3d Binary files /dev/null and b/docs/API/search/close.png differ diff --git a/docs/API/search/defines_0.html b/docs/API/search/defines_0.html new file mode 100644 index 0000000..5b25204 --- /dev/null +++ b/docs/API/search/defines_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/defines_0.js b/docs/API/search/defines_0.js new file mode 100644 index 0000000..87dd01c --- /dev/null +++ b/docs/API/search/defines_0.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['_5f_5falign',['__align',['../common__typedef__xran_8h.html#af4fde40ad100e819ef72e170d5a4c8da',1,'common_typedef_xran.h']]], + ['_5faligned_5fmalloc',['_aligned_malloc',['../common__typedef__xran_8h.html#a15bf8d9982f717bfec02eb10ef52003e',1,'common_typedef_xran.h']]], + ['_5fassert',['_assert',['../xran__printf_8h.html#a0b1e75be8d28458f05360139be8c2555',1,'xran_printf.h']]], + ['_5fbblib_5fdpdk_5f',['_BBLIB_DPDK_',['../common_8hpp.html#a2c73062f66b2d8c71425ef3bc75ae946',1,'common.hpp']]], + ['_5fgnu_5fsource',['_GNU_SOURCE',['../sample-app_8c.html#a369266c24eacffb87046522897a570d5',1,'_GNU_SOURCE(): sample-app.c'],['../ethdi_8c.html#a369266c24eacffb87046522897a570d5',1,'_GNU_SOURCE(): ethdi.c'],['../xran__main_8c.html#a369266c24eacffb87046522897a570d5',1,'_GNU_SOURCE(): xran_main.c']]], + ['_5fiassert_5f',['_IASSERT_',['../xran__printf_8h.html#a8c47e30913273d0d0599afdc0b39890a',1,'xran_printf.h']]] +]; diff --git a/docs/API/search/defines_1.html b/docs/API/search/defines_1.html new file mode 100644 index 0000000..91488cb --- /dev/null +++ b/docs/API/search/defines_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/defines_1.js b/docs/API/search/defines_1.js new file mode 100644 index 0000000..dc47fcf --- /dev/null +++ b/docs/API/search/defines_1.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['app_5fo_5fdu',['APP_O_DU',['../common_8h.html#a0fde49745ec2d8b8b45c15be781985d6',1,'common.h']]], + ['app_5fo_5fru',['APP_O_RU',['../common_8h.html#a29df1eeb2e3019bf28e348b79471421b',1,'common.h']]], + ['assert_5farray_5feq',['ASSERT_ARRAY_EQ',['../common_8hpp.html#a1c463cb9865e63120f666efd5a6555b5',1,'common.hpp']]], + ['assert_5farray_5fnear',['ASSERT_ARRAY_NEAR',['../common_8hpp.html#a9a330f0a8f2feff43f1ccedfaf049e03',1,'common.hpp']]], + ['assert_5favg_5fgreater_5fcomplex',['ASSERT_AVG_GREATER_COMPLEX',['../common_8hpp.html#aa748fe650bfa70c23834297931a4a2a7',1,'common.hpp']]], + ['assume_5fcache_5faligned',['ASSUME_CACHE_ALIGNED',['../xran__compression_8hpp.html#a5e70c4df5750d49b6c4b2aacd556500f',1,'xran_compression.hpp']]] +]; diff --git a/docs/API/search/defines_10.html b/docs/API/search/defines_10.html new file mode 100644 index 0000000..702c126 --- /dev/null +++ b/docs/API/search/defines_10.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/defines_10.js b/docs/API/search/defines_10.js new file mode 100644 index 0000000..69ea4d4 --- /dev/null +++ b/docs/API/search/defines_10.js @@ -0,0 +1,12 @@ +var searchData= +[ + ['sec_5fmod_5fstop',['SEC_MOD_STOP',['../xran__timer_8c.html#a7ea28dc9406161730556bbec38f1a799',1,'xran_timer.c']]], + ['sleep_5ftime',['SLEEP_TIME',['../ethdi_8h.html#abe0b7b2a0ec4b64b92585808a051e1fa',1,'ethdi.h']]], + ['slotnum_5fper_5fsubframe',['SLOTNUM_PER_SUBFRAME',['../xran__common_8h.html#a76e4794a93b44d5f6bd835f1640f7f4f',1,'xran_common.h']]], + ['slots_5fper_5fsystemframe',['SLOTS_PER_SYSTEMFRAME',['../xran__common_8h.html#a725b4fbf070658ef449db5718a6c9f22',1,'xran_common.h']]], + ['subframe_5fduration_5fus',['SUBFRAME_DURATION_US',['../common_8h.html#a9a2a7fcab69aaafebda2e160cf2eb85b',1,'SUBFRAME_DURATION_US(): common.h'],['../xran__common_8h.html#a9a2a7fcab69aaafebda2e160cf2eb85b',1,'SUBFRAME_DURATION_US(): xran_common.h']]], + ['subframes_5fper_5fsystemframe',['SUBFRAMES_PER_SYSTEMFRAME',['../common_8h.html#a695a7a6db2c879d5a4ec04a4bc99d0e4',1,'SUBFRAMES_PER_SYSTEMFRAME(): common.h'],['../xran__common_8h.html#a695a7a6db2c879d5a4ec04a4bc99d0e4',1,'SUBFRAMES_PER_SYSTEMFRAME(): xran_common.h']]], + ['sw_5ffpga_5ffh_5ftotal_5fbuffer_5flen',['SW_FPGA_FH_TOTAL_BUFFER_LEN',['../sample-app_8c.html#ad5b1e2ec82b937000bd1fe89acb5384c',1,'SW_FPGA_FH_TOTAL_BUFFER_LEN(): sample-app.c'],['../xran__lib__wrap_8hpp.html#ad5b1e2ec82b937000bd1fe89acb5384c',1,'SW_FPGA_FH_TOTAL_BUFFER_LEN(): xran_lib_wrap.hpp']]], + ['sw_5ffpga_5fsegment_5fbuffer_5flen',['SW_FPGA_SEGMENT_BUFFER_LEN',['../sample-app_8c.html#ae9c34194d5ec7c9c24b680085991306c',1,'SW_FPGA_SEGMENT_BUFFER_LEN(): sample-app.c'],['../xran__lib__wrap_8hpp.html#ae9c34194d5ec7c9c24b680085991306c',1,'SW_FPGA_SEGMENT_BUFFER_LEN(): xran_lib_wrap.hpp']]], + ['sw_5ffpga_5ftotal_5fbuffer_5flen',['SW_FPGA_TOTAL_BUFFER_LEN',['../sample-app_8c.html#a7b323875aec9da8e30e082063f75b50b',1,'SW_FPGA_TOTAL_BUFFER_LEN(): sample-app.c'],['../xran__lib__wrap_8hpp.html#a7b323875aec9da8e30e082063f75b50b',1,'SW_FPGA_TOTAL_BUFFER_LEN(): xran_lib_wrap.hpp']]] +]; diff --git a/docs/API/search/defines_11.html b/docs/API/search/defines_11.html new file mode 100644 index 0000000..5d0c8f8 --- /dev/null +++ b/docs/API/search/defines_11.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/defines_11.js b/docs/API/search/defines_11.js new file mode 100644 index 0000000..6908462 --- /dev/null +++ b/docs/API/search/defines_11.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['threshold',['THRESHOLD',['../xran__timer_8c.html#a4679d8ea8690999a6c6c7c0cb245c879',1,'xran_timer.c']]], + ['time',['TIME',['../common__typedef__xran_8h.html#a078b6c12f1ac6819cecef90ab5870276',1,'common_typedef_xran.h']]], + ['timecompensation',['TIMECOMPENSATION',['../xran__timer_8c.html#a5ba5868b3cb09fc7860a1328c31280a6',1,'xran_timer.c']]], + ['timer_5fresolution_5fcycles',['TIMER_RESOLUTION_CYCLES',['../xran__common_8h.html#a5416ef6e53bf3688704e5cd58180a6a0',1,'xran_common.h']]], + ['tx_5frx_5floop_5ftime',['TX_RX_LOOP_TIME',['../ethdi_8h.html#a2b97f9f2ff76cb92d7f3831918979e56',1,'ethdi.h']]], + ['tx_5ftimer_5finterval',['TX_TIMER_INTERVAL',['../ethdi_8h.html#a9df4578d38d6affa477914e529695e10',1,'ethdi.h']]] +]; diff --git a/docs/API/search/defines_12.html b/docs/API/search/defines_12.html new file mode 100644 index 0000000..d5649ef --- /dev/null +++ b/docs/API/search/defines_12.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/defines_12.js b/docs/API/search/defines_12.js new file mode 100644 index 0000000..41a8f86 --- /dev/null +++ b/docs/API/search/defines_12.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['unix_5fto_5fgps_5fseconds_5foffset',['UNIX_TO_GPS_SECONDS_OFFSET',['../xran__main_8c.html#aee8aca8f74a8a2b095a6b7bf90b9543f',1,'xran_main.c']]] +]; diff --git a/docs/API/search/defines_13.html b/docs/API/search/defines_13.html new file mode 100644 index 0000000..34c592f --- /dev/null +++ b/docs/API/search/defines_13.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/defines_13.js b/docs/API/search/defines_13.js new file mode 100644 index 0000000..d9cd132 --- /dev/null +++ b/docs/API/search/defines_13.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['versionx',['VERSIONX',['../common_8h.html#af1b4d7e00abe98f69a2eeb9d7760c14f',1,'common.h']]], + ['vlan_5fid',['VLAN_ID',['../xran__pkt_8h.html#ac23326adfc4e624044916cc85d9bac2f',1,'xran_pkt.h']]], + ['vlan_5fpcp',['VLAN_PCP',['../xran__pkt_8h.html#ab513e295ab0fdafb45b2d30677ed9296',1,'xran_pkt.h']]] +]; diff --git a/docs/API/search/defines_14.html b/docs/API/search/defines_14.html new file mode 100644 index 0000000..fe3500f --- /dev/null +++ b/docs/API/search/defines_14.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/defines_14.js b/docs/API/search/defines_14.js new file mode 100644 index 0000000..f97017f --- /dev/null +++ b/docs/API/search/defines_14.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['wlog',['wlog',['../ethernet_8h.html#aa5cdbe485177843f5b1a2a2c584c0315',1,'ethernet.h']]] +]; diff --git a/docs/API/search/defines_15.html b/docs/API/search/defines_15.html new file mode 100644 index 0000000..ff7526f --- /dev/null +++ b/docs/API/search/defines_15.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/defines_15.js b/docs/API/search/defines_15.js new file mode 100644 index 0000000..38aa016 --- /dev/null +++ b/docs/API/search/defines_15.js @@ -0,0 +1,107 @@ +var searchData= +[ + ['xran_5fcomponent_5fcarriers_5fmax',['XRAN_COMPONENT_CARRIERS_MAX',['../xran__fh__o__du_8h.html#ad366e06c49d56ecfe336917a71236554',1,'xran_fh_o_du.h']]], + ['xran_5fconvert_5fbfwiqwidth',['XRAN_CONVERT_BFWIQWIDTH',['../xran__cp__api_8h.html#abc1efb8cd57478741ed448abe5657af1',1,'xran_cp_api.h']]], + ['xran_5fconvert_5fiqwidth',['XRAN_CONVERT_IQWIDTH',['../xran__cp__api_8h.html#a87f4d003bb899541f97db308e63e886a',1,'xran_cp_api.h']]], + ['xran_5fconvert_5fnumprbc',['XRAN_CONVERT_NUMPRBC',['../xran__cp__api_8h.html#ab857f37965e53c6fba1f143b4071eb2c',1,'xran_cp_api.h']]], + ['xran_5fecpri_5fver',['XRAN_ECPRI_VER',['../xran__pkt_8h.html#aa8e98bf0d1f79b3e67a5e27b063c6251',1,'xran_pkt.h']]], + ['xran_5fef_5ff_5fanother_5fone',['XRAN_EF_F_ANOTHER_ONE',['../xran__cp__api_8h.html#a2093a855b81dcfff46d379b2c7a700f6',1,'xran_cp_api.h']]], + ['xran_5fef_5ff_5flast',['XRAN_EF_F_LAST',['../xran__cp__api_8h.html#a81b257717e74882b591daf7fd958c012',1,'xran_cp_api.h']]], + ['xran_5fether_5ftype',['XRAN_ETHER_TYPE',['../xran__pkt_8h.html#a55ee65757e33fe8e48262f2fafef064e',1,'xran_pkt.h']]], + ['xran_5flaamsgtype_5flbt_5fbuffer_5ferror',['XRAN_LAAMSGTYPE_LBT_BUFFER_ERROR',['../xran__cp__api_8h.html#a6e272bac1a1872415b6fbbc45517f8a3',1,'xran_cp_api.h']]], + ['xran_5flaamsgtype_5flbt_5fcwconfig_5freq',['XRAN_LAAMSGTYPE_LBT_CWCONFIG_REQ',['../xran__cp__api_8h.html#a4c0abe755475d81dd73d4af65e512b0b',1,'xran_cp_api.h']]], + ['xran_5flaamsgtype_5flbt_5fcwconfig_5frsp',['XRAN_LAAMSGTYPE_LBT_CWCONFIG_RSP',['../xran__cp__api_8h.html#a07da3eb003ffb682ad3b0d26480930bb',1,'xran_cp_api.h']]], + ['xran_5flaamsgtype_5flbt_5fdrs_5freq',['XRAN_LAAMSGTYPE_LBT_DRS_REQ',['../xran__cp__api_8h.html#a1d6c0f2b27eb754cb7f298814d5e2650',1,'xran_cp_api.h']]], + ['xran_5flaamsgtype_5flbt_5fdrs_5frsp',['XRAN_LAAMSGTYPE_LBT_DRS_RSP',['../xran__cp__api_8h.html#ad3daa5416e356598608e375352b48d32',1,'xran_cp_api.h']]], + ['xran_5flaamsgtype_5flbt_5fpdsch_5freq',['XRAN_LAAMSGTYPE_LBT_PDSCH_REQ',['../xran__cp__api_8h.html#a0a08b5da6846d688ab27d4a0eab98144',1,'xran_cp_api.h']]], + ['xran_5flaamsgtype_5flbt_5fpdsch_5frsp',['XRAN_LAAMSGTYPE_LBT_PDSCH_RSP',['../xran__cp__api_8h.html#a04cde8ffac02a24a7c46d799cc04c34f',1,'xran_cp_api.h']]], + ['xran_5flbtmode_5ffull',['XRAN_LBTMODE_FULL',['../xran__cp__api_8h.html#aa5c353bbfda234547d82b2523e7175d1',1,'xran_cp_api.h']]], + ['xran_5flbtmode_5ffullstop',['XRAN_LBTMODE_FULLSTOP',['../xran__cp__api_8h.html#a66d322a9ad89e5cc923a2894071b0130',1,'xran_cp_api.h']]], + ['xran_5flbtmode_5fpartial25',['XRAN_LBTMODE_PARTIAL25',['../xran__cp__api_8h.html#ad33101f746e84d0cafb702f0eac5d06f',1,'xran_cp_api.h']]], + ['xran_5flbtmode_5fpartial34',['XRAN_LBTMODE_PARTIAL34',['../xran__cp__api_8h.html#a65c843c2f2aed43d8d42f226847929b3',1,'xran_cp_api.h']]], + ['xran_5flog_5fdbg',['xran_log_dbg',['../xran__fh__o__du_8h.html#adb623b32cb8644414383af3de60433d8',1,'xran_log_dbg(): xran_fh_o_du.h'],['../xran__fh__o__du_8h.html#adb623b32cb8644414383af3de60433d8',1,'xran_log_dbg(): xran_fh_o_du.h']]], + ['xran_5flog_5ferr',['xran_log_err',['../xran__fh__o__du_8h.html#a02b163e2e7f90f2c7941fdcb19ebcb3e',1,'xran_fh_o_du.h']]], + ['xran_5flog_5fwrn',['xran_log_wrn',['../xran__fh__o__du_8h.html#a8f97ad3d53e73a2807e3b2cf097e267a',1,'xran_fh_o_du.h']]], + ['xran_5fmax_5fant_5farray_5felm_5fnr',['XRAN_MAX_ANT_ARRAY_ELM_NR',['../xran__fh__o__du_8h.html#af3e0ced3530652b3c92220c8783b55fa',1,'xran_fh_o_du.h']]], + ['xran_5fmax_5fantenna_5fnr',['XRAN_MAX_ANTENNA_NR',['../xran__fh__o__du_8h.html#a35fa05e7523928c0c86cbcf835c12dc5',1,'xran_fh_o_du.h']]], + ['xran_5fmax_5fbfw_5fn',['XRAN_MAX_BFW_N',['../xran__cp__api_8h.html#acf59e7a9af32c6c8c8dd3d7b1e6ee0ca',1,'xran_cp_api.h']]], + ['xran_5fmax_5fcells_5fper_5fport',['XRAN_MAX_CELLS_PER_PORT',['../xran__fh__o__du_8h.html#a6447bf8849000b9fecf51d77d4fa50b2',1,'xran_fh_o_du.h']]], + ['xran_5fmax_5fmbuf_5flen',['XRAN_MAX_MBUF_LEN',['../xran__common_8h.html#acd19f4ec321bcc5633e81538c789bd4d',1,'xran_common.h']]], + ['xran_5fmax_5fmodcomp_5faddparms',['XRAN_MAX_MODCOMP_ADDPARMS',['../xran__cp__api_8h.html#a8f86cfef3ff1270fe0b6d93259c3a0dc',1,'xran_cp_api.h']]], + ['xran_5fmax_5fnum_5fant_5fbf',['XRAN_MAX_NUM_ANT_BF',['../xran__cp__api_8h.html#a3dc5e48b847e25677f9b5b36c547f840',1,'xran_cp_api.h']]], + ['xran_5fmax_5fnum_5fextensions',['XRAN_MAX_NUM_EXTENSIONS',['../xran__cp__api_8h.html#a68331320b5c982a49c45ae15be297dc1',1,'xran_cp_api.h']]], + ['xran_5fmax_5fnum_5fof_5fsrs_5fsymbol_5fper_5fslot',['XRAN_MAX_NUM_OF_SRS_SYMBOL_PER_SLOT',['../xran__fh__o__du_8h.html#a6a9b0521b0d67ed1e761047b2a929422',1,'xran_fh_o_du.h']]], + ['xran_5fmax_5fnum_5fsections',['XRAN_MAX_NUM_SECTIONS',['../xran__common_8h.html#a3a4bb6898c9295b71ffd7b830048580c',1,'xran_common.h']]], + ['xran_5fmax_5fnum_5fue',['XRAN_MAX_NUM_UE',['../xran__cp__api_8h.html#a43a11acc24aac973f8f6353dee4a532e',1,'xran_cp_api.h']]], + ['xran_5fmax_5fpacket_5ffrag',['XRAN_MAX_PACKET_FRAG',['../xran__common_8h.html#a09865e79c615f2e54214998ea06da6e8',1,'xran_common.h']]], + ['xran_5fmax_5fpanel_5fnr',['XRAN_MAX_PANEL_NR',['../xran__fh__o__du_8h.html#a42f4a51ad2109eb30e8cbefcde747e92',1,'xran_fh_o_du.h']]], + ['xran_5fmax_5fpkt_5fburst',['XRAN_MAX_PKT_BURST',['../xran__fh__o__du_8h.html#a5a579cae10a206d64b2810a7df8a66f6',1,'xran_fh_o_du.h']]], + ['xran_5fmax_5fpkt_5fburst_5fper_5fsym',['XRAN_MAX_PKT_BURST_PER_SYM',['../xran__common_8h.html#a60e31c5b5f9a4baae724c6c09264957f',1,'xran_common.h']]], + ['xran_5fmax_5fpools_5fper_5fsector_5fnr',['XRAN_MAX_POOLS_PER_SECTOR_NR',['../xran__common_8h.html#a5a5013ea633c2924f1e36bf1e3479c6f',1,'xran_common.h']]], + ['xran_5fmax_5fprbs',['XRAN_MAX_PRBS',['../xran__fh__o__du_8h.html#a9435009d03a49d495b2b608129c64b61',1,'xran_fh_o_du.h']]], + ['xran_5fmax_5fsectiondb_5fctx',['XRAN_MAX_SECTIONDB_CTX',['../xran__cp__api_8h.html#a93b65038922e8dd5f6d9cc499daf25aa',1,'xran_cp_api.h']]], + ['xran_5fmax_5fsections_5fper_5fsym',['XRAN_MAX_SECTIONS_PER_SYM',['../xran__fh__o__du_8h.html#aa099ceebb1479cddef1ee64f5c311973',1,'xran_fh_o_du.h']]], + ['xran_5fmax_5fsector_5fnr',['XRAN_MAX_SECTOR_NR',['../xran__fh__o__du_8h.html#a34dbe5e515cc78b4ce26fa287e6c1edc',1,'xran_fh_o_du.h']]], + ['xran_5fmax_5ftdd_5fperiodicity',['XRAN_MAX_TDD_PERIODICITY',['../xran__fh__o__du_8h.html#aba79881ec9b30850184b4f5f6b0afc39',1,'xran_fh_o_du.h']]], + ['xran_5fmax_5ftrx_5fantenna_5farray',['XRAN_MAX_TRX_ANTENNA_ARRAY',['../xran__fh__o__du_8h.html#a78d58409e31b11cd5b3512f52c6556ac',1,'xran_fh_o_du.h']]], + ['xran_5fmlog_5fvar',['XRAN_MLOG_VAR',['../xran__common_8h.html#a9de44bc72094a093d31e741cdf8717a9',1,'xran_common.h']]], + ['xran_5fn_5ffe_5fbuf_5flen',['XRAN_N_FE_BUF_LEN',['../xran__fh__o__du_8h.html#af0963ba32cc8ecd280afd2e474eb426a',1,'xran_fh_o_du.h']]], + ['xran_5fn_5fmax_5fbuffer_5fsegment',['XRAN_N_MAX_BUFFER_SEGMENT',['../xran__fh__o__du_8h.html#ad1cc410c971930e1972f329c5130c886',1,'xran_fh_o_du.h']]], + ['xran_5fname_5fmax_5flen',['XRAN_NAME_MAX_LEN',['../xran__common_8h.html#a8154a36934db4708bd0d91441463ba80',1,'xran_common.h']]], + ['xran_5fnum_5fof_5fant_5fradio',['XRAN_NUM_OF_ANT_RADIO',['../xran__fh__o__du_8h.html#a93482eb351961fb07e09d913701dd033',1,'xran_fh_o_du.h']]], + ['xran_5fnum_5fof_5fslot_5fin_5ftdd_5floop',['XRAN_NUM_OF_SLOT_IN_TDD_LOOP',['../xran__fh__o__du_8h.html#acd3869dff9738650c847e456c6ab21ae',1,'xran_fh_o_du.h']]], + ['xran_5fnum_5fof_5fsymbol_5fper_5fslot',['XRAN_NUM_OF_SYMBOL_PER_SLOT',['../xran__fh__o__du_8h.html#a87d92ec177ed9c388685a91051f66205',1,'xran_fh_o_du.h']]], + ['xran_5fpayload_5frb_5falign',['XRAN_PAYLOAD_RB_ALIGN',['../xran__app__frag_8c.html#a2edabb9c91d40ec79fbebbb2fa0457d0',1,'xran_app_frag.c']]], + ['xran_5fpayload_5fver',['XRAN_PAYLOAD_VER',['../xran__pkt_8h.html#a29711c2ced54314eda6c2d0b869a0e63',1,'xran_pkt.h']]], + ['xran_5fports_5fnum',['XRAN_PORTS_NUM',['../xran__fh__o__du_8h.html#ac1e23b437693cb93f1ddd5a74f97cab4',1,'xran_fh_o_du.h']]], + ['xran_5fprach_5fcandidate_5fpreamble',['XRAN_PRACH_CANDIDATE_PREAMBLE',['../xran__common_8h.html#ad90730954cdd8ddb772622a642ef337a',1,'xran_common.h']]], + ['xran_5fprach_5fcandidate_5fslot',['XRAN_PRACH_CANDIDATE_SLOT',['../xran__common_8h.html#af7a48e76794ce5d801ab6d0f848abb53',1,'xran_common.h']]], + ['xran_5fprach_5fcandidate_5fy',['XRAN_PRACH_CANDIDATE_Y',['../xran__common_8h.html#a342c40a4877f7760c65eca32523efea1',1,'xran_common.h']]], + ['xran_5fprach_5fconfig_5ftable_5fsize',['XRAN_PRACH_CONFIG_TABLE_SIZE',['../xran__common_8h.html#acfe10f9da776bb6e50a7280baab35e28',1,'xran_common.h']]], + ['xran_5fprach_5fpreamble_5fformat_5fof_5fabc',['XRAN_PRACH_PREAMBLE_FORMAT_OF_ABC',['../xran__common_8h.html#a68bde19b11ed59418ea6e0b63482c287',1,'xran_common.h']]], + ['xran_5fring_5fnum',['XRAN_RING_NUM',['../xran__common_8h.html#ae185dfb0be13d1963c956fcf6714102e',1,'xran_common.h']]], + ['xran_5fring_5fsize',['XRAN_RING_SIZE',['../xran__common_8h.html#ab286e76cbbc1717b1834ad37012a8f1d',1,'xran_common.h']]], + ['xran_5fsectionext_5falign',['XRAN_SECTIONEXT_ALIGN',['../xran__cp__api_8h.html#a63f308af419e410c6e3996a79d2c9897',1,'xran_cp_api.h']]], + ['xran_5fslot_5ftype_5fdl',['XRAN_SLOT_TYPE_DL',['../xran__fh__o__du_8h.html#a3640d50cafb5ccc15b73219309f60a3b',1,'xran_fh_o_du.h']]], + ['xran_5fslot_5ftype_5ffdd',['XRAN_SLOT_TYPE_FDD',['../xran__fh__o__du_8h.html#ad997c19049d5e80611e4360b1ed79b80',1,'xran_fh_o_du.h']]], + ['xran_5fslot_5ftype_5finvalid',['XRAN_SLOT_TYPE_INVALID',['../xran__fh__o__du_8h.html#a81efa76a214d1fd1b9b409bdea15c87c',1,'xran_fh_o_du.h']]], + ['xran_5fslot_5ftype_5flast',['XRAN_SLOT_TYPE_LAST',['../xran__fh__o__du_8h.html#a581b66d2fea333f0a2e9ca3f9589fd89',1,'xran_fh_o_du.h']]], + ['xran_5fslot_5ftype_5fsp',['XRAN_SLOT_TYPE_SP',['../xran__fh__o__du_8h.html#a37ddab95bdd53de1ee17a3607a183eae',1,'xran_fh_o_du.h']]], + ['xran_5fslot_5ftype_5ful',['XRAN_SLOT_TYPE_UL',['../xran__fh__o__du_8h.html#a3167443dbf786f9b87a133119a8f69e8',1,'xran_fh_o_du.h']]], + ['xran_5fslotid_5fmax',['XRAN_SLOTID_MAX',['../xran__cp__api_8h.html#a7db7a997624aa3f2bb6c24afce785d8f',1,'xran_cp_api.h']]], + ['xran_5fstatus_5ffail',['XRAN_STATUS_FAIL',['../xran__fh__o__du_8h.html#a4a957453875309739caacdd651bdab75',1,'xran_fh_o_du.h']]], + ['xran_5fstatus_5ffatal',['XRAN_STATUS_FATAL',['../xran__fh__o__du_8h.html#ace75e6583c9238fc2f957c3cc9b92ec4',1,'xran_fh_o_du.h']]], + ['xran_5fstatus_5finvalid_5fpacket',['XRAN_STATUS_INVALID_PACKET',['../xran__fh__o__du_8h.html#a6602a966370956b35631e68698539cac',1,'xran_fh_o_du.h']]], + ['xran_5fstatus_5finvalid_5fparam',['XRAN_STATUS_INVALID_PARAM',['../xran__fh__o__du_8h.html#aad8a35383b986f4ca80437468b6c625f',1,'xran_fh_o_du.h']]], + ['xran_5fstatus_5fresource',['XRAN_STATUS_RESOURCE',['../xran__fh__o__du_8h.html#a341e6485fd9de350805503e938f90708',1,'xran_fh_o_du.h']]], + ['xran_5fstatus_5fretry',['XRAN_STATUS_RETRY',['../xran__fh__o__du_8h.html#a746b130d3c5db158af75c32c240183fc',1,'xran_fh_o_du.h']]], + ['xran_5fstatus_5fsuccess',['XRAN_STATUS_SUCCESS',['../xran__fh__o__du_8h.html#a814959a7b5ff6cd4474433f62312eee0',1,'xran_fh_o_du.h']]], + ['xran_5fstatus_5funsupported',['XRAN_STATUS_UNSUPPORTED',['../xran__fh__o__du_8h.html#a45590c7e932d3d78451dd72d2cbf5454',1,'xran_fh_o_du.h']]], + ['xran_5fstrict_5fparm_5fcheck',['XRAN_STRICT_PARM_CHECK',['../xran__fh__o__du_8h.html#ac1cd6517de77baee725c67b3e5bd417c',1,'xran_fh_o_du.h']]], + ['xran_5fsymbol_5ftype_5fdl',['XRAN_SYMBOL_TYPE_DL',['../xran__fh__o__du_8h.html#aa7db41b67e2cd3be904b7332d8df6657',1,'xran_fh_o_du.h']]], + ['xran_5fsymbol_5ftype_5ffdd',['XRAN_SYMBOL_TYPE_FDD',['../xran__fh__o__du_8h.html#ac7915d813606499af39f5e952391fded',1,'xran_fh_o_du.h']]], + ['xran_5fsymbol_5ftype_5fguard',['XRAN_SYMBOL_TYPE_GUARD',['../xran__fh__o__du_8h.html#a0e0df6a907cf2724cf3e531d7f18fb3c',1,'xran_fh_o_du.h']]], + ['xran_5fsymbol_5ftype_5ful',['XRAN_SYMBOL_TYPE_UL',['../xran__fh__o__du_8h.html#a78bce62effeb80d1e2bda74c6ee3d5f4',1,'xran_fh_o_du.h']]], + ['xran_5fsymbolnumber_5fmax',['XRAN_SYMBOLNUMBER_MAX',['../xran__cp__api_8h.html#a1d78ee29f7a9b4f518b184f039830372',1,'xran_cp_api.h']]], + ['xran_5fsymbolnumber_5fmin',['XRAN_SYMBOLNUMBER_MIN',['../xran__cp__api_8h.html#abf98f6e7977eb11f3030825ccd7d055b',1,'xran_cp_api.h']]], + ['xran_5fthread_5fdefault_5fprio',['XRAN_THREAD_DEFAULT_PRIO',['../ethdi_8h.html#a3822681248af17c36115a411e29e5fc2',1,'ethdi.h']]], + ['xran_5fut_5fcfg_5ffilename',['XRAN_UT_CFG_FILENAME',['../xran__lib__wrap_8hpp.html#a7959c3e12f3260a6461fe2610203d1af',1,'xran_lib_wrap.hpp']]], + ['xran_5fut_5fkey_5fglobalcfg',['XRAN_UT_KEY_GLOBALCFG',['../xran__lib__wrap_8hpp.html#a7c71ebeaaa34df8b1f1e2f33c6d7a54e',1,'xran_lib_wrap.hpp']]], + ['xran_5fut_5fkey_5fglobalcfg_5feaxcid',['XRAN_UT_KEY_GLOBALCFG_EAXCID',['../xran__lib__wrap_8hpp.html#ad8d180966ea390f149dea00f5616b540',1,'xran_lib_wrap.hpp']]], + ['xran_5fut_5fkey_5fglobalcfg_5fio',['XRAN_UT_KEY_GLOBALCFG_IO',['../xran__lib__wrap_8hpp.html#ad3747a607e4b273dfae8278854ffc532',1,'xran_lib_wrap.hpp']]], + ['xran_5fut_5fkey_5fglobalcfg_5fprach',['XRAN_UT_KEY_GLOBALCFG_PRACH',['../xran__lib__wrap_8hpp.html#a0c97e7d2cdb34b857e3b6de86b49f55d',1,'xran_lib_wrap.hpp']]], + ['xran_5fut_5fkey_5fglobalcfg_5fru',['XRAN_UT_KEY_GLOBALCFG_RU',['../xran__lib__wrap_8hpp.html#a98f3e1fb2c2dd1381aac8d01b293486a',1,'xran_lib_wrap.hpp']]], + ['xran_5fut_5fkey_5fglobalcfg_5fslot',['XRAN_UT_KEY_GLOBALCFG_SLOT',['../xran__lib__wrap_8hpp.html#a1976c5b3ee9779f3fe720e706b5c4e72',1,'xran_lib_wrap.hpp']]], + ['xrandecrementctx',['XranDecrementCtx',['../xran__main_8c.html#aa552d067ce32d770eb31618b0af0eacb',1,'xran_main.c']]], + ['xrandecrementsymidx',['XranDecrementSymIdx',['../xran__timer_8h.html#adad74a9ce67793dc420e0a5045f22cb0',1,'xran_timer.h']]], + ['xrandiffsymidx',['XranDiffSymIdx',['../xran__common_8h.html#a7750de5c922f8dd59f0a46526f874957',1,'xran_common.h']]], + ['xrangetframenum',['XranGetFrameNum',['../xran__fh__o__du_8h.html#a5a8a3a7c7c4ff43865b57971dfbf0aa6',1,'xran_fh_o_du.h']]], + ['xrangetslotnum',['XranGetSlotNum',['../xran__fh__o__du_8h.html#a36c7ae37e30524321b18fde971372b92',1,'xran_fh_o_du.h']]], + ['xrangetsubframenum',['XranGetSubFrameNum',['../xran__fh__o__du_8h.html#a5ca2a2076a042acdca2e326a436a7882',1,'xran_fh_o_du.h']]], + ['xrangetsymnum',['XranGetSymNum',['../xran__fh__o__du_8h.html#a605ecc3c0ad6066e39465a108b873373',1,'xran_fh_o_du.h']]], + ['xrangetttinum',['XranGetTtiNum',['../xran__fh__o__du_8h.html#aa76014e778bb54907d85e05cac204d71',1,'xran_fh_o_du.h']]], + ['xranincrementctx',['XranIncrementCtx',['../xran__main_8c.html#af0c52a84a91cf33014ff0b0f11a65c69',1,'xran_main.c']]], + ['xranincrementjob',['XranIncrementJob',['../xran__common_8h.html#a36f71a62df15a0f43a49ca89a633288d',1,'xran_common.h']]], + ['xranincrementsymidx',['XranIncrementSymIdx',['../xran__timer_8h.html#acdb0852cc30aec56cfe119620ec7ba7d',1,'xran_timer.h']]], + ['xranoffsetsym',['XranOffsetSym',['../xran__main_8c.html#ab458f491dfd93be111edf3f3b0d4da71',1,'xran_main.c']]] +]; diff --git a/docs/API/search/defines_2.html b/docs/API/search/defines_2.html new file mode 100644 index 0000000..8655993 --- /dev/null +++ b/docs/API/search/defines_2.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/defines_2.js b/docs/API/search/defines_2.js new file mode 100644 index 0000000..38fcb4e --- /dev/null +++ b/docs/API/search/defines_2.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['bcast',['BCAST',['../ethdi_8h.html#adc4a14c073a7427003796cbd9d435758',1,'ethdi.h']]], + ['buf_5flen',['BUF_LEN',['../xran__sync__api_8c.html#a8b5839f71a3b6e7d64b2d5e9967e3dd1',1,'xran_sync_api.c']]], + ['burst_5frx_5fio_5fsize',['BURST_RX_IO_SIZE',['../ethdi_8c.html#a4c38cae04fab7c03bcfef74030da111e',1,'ethdi.c']]], + ['burst_5fsize',['BURST_SIZE',['../ethernet_8h.html#a703e079cb598d615c750d24ec7432617',1,'ethernet.h']]] +]; diff --git a/docs/API/search/defines_3.html b/docs/API/search/defines_3.html new file mode 100644 index 0000000..a55d3ff --- /dev/null +++ b/docs/API/search/defines_3.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/defines_3.js b/docs/API/search/defines_3.js new file mode 100644 index 0000000..ced1e81 --- /dev/null +++ b/docs/API/search/defines_3.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['cache_5faligned',['CACHE_ALIGNED',['../xran__compression_8hpp.html#afb38028874f4f92c87446f57113df109',1,'xran_compression.hpp']]], + ['check_5finterval',['CHECK_INTERVAL',['../ethdi_8c.html#a9a0ad39cc5436a5f75a4763bcfd12284',1,'ethdi.c']]], + ['check_5fnot_5fnull',['CHECK_NOT_NULL',['../xran__printf_8h.html#a6907fcd45c00443dc2e3258a628208ca',1,'xran_printf.h']]], + ['comm_5ffile',['COMM_FILE',['../xran__sync__api_8c.html#a49d668ad019f34e97bb4eab0c86322c4',1,'xran_sync_api.c']]], + ['cplen_5fts',['CPLEN_TS',['../xran__cp__api_8c.html#ab806fff5c941c5825df646db8f584ee7',1,'xran_cp_api.c']]], + ['cpu_5fhz',['CPU_HZ',['../sample-app_8c.html#aba8a0d43a5485a31890e7840ddd9fb63',1,'sample-app.c']]], + ['cpu_5fid',['CPU_ID',['../common_8cpp.html#a80c653d62783a4e7ea960794bd287b49',1,'common.cpp']]] +]; diff --git a/docs/API/search/defines_4.html b/docs/API/search/defines_4.html new file mode 100644 index 0000000..54da39a --- /dev/null +++ b/docs/API/search/defines_4.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/defines_4.js b/docs/API/search/defines_4.js new file mode 100644 index 0000000..0fd7f8f --- /dev/null +++ b/docs/API/search/defines_4.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['default_5fdump_5flength',['DEFAULT_DUMP_LENGTH',['../ethernet_8h.html#a831b296affed982065acb18ebb5dc492',1,'ethernet.h']]], + ['delayed_5fmessage',['delayed_message',['../ethernet_8h.html#ac8604734982e77a172bf8acf88571f84',1,'ethernet.h']]], + ['div_5fround_5foffset',['DIV_ROUND_OFFSET',['../xran__main_8c.html#afeff9fda18e3a64301487ca8eb871a40',1,'xran_main.c']]], + ['dlog',['dlog',['../ethernet_8h.html#a52fb3711338fc1b5acbbfb64ad3a2c62',1,'ethernet.h']]], + ['dpdktimerdecrementctx',['DpdkTimerDecrementCtx',['../xran__main_8c.html#aa143c249cca4bf1866a724baac742586',1,'xran_main.c']]], + ['dpdktimerincrementctx',['DpdkTimerIncrementCtx',['../xran__main_8c.html#a2948db68c95f1846f75d82ab409a0e98',1,'xran_main.c']]] +]; diff --git a/docs/API/search/defines_5.html b/docs/API/search/defines_5.html new file mode 100644 index 0000000..dd7bfdc --- /dev/null +++ b/docs/API/search/defines_5.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/defines_5.js b/docs/API/search/defines_5.js new file mode 100644 index 0000000..63e64f1 --- /dev/null +++ b/docs/API/search/defines_5.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['ecpri_5fmax_5fpayload_5fsize',['ECPRI_MAX_PAYLOAD_SIZE',['../xran__pkt_8h.html#ada35affbf9950f9f0cfa7faa7c8d0d2c',1,'xran_pkt.h']]], + ['elog',['elog',['../ethernet_8h.html#a0b63de3f9c61ad7ac89987bb44699200',1,'ethernet.h']]], + ['ether_5ftype_5fecpri',['ETHER_TYPE_ECPRI',['../ethernet_8h.html#af87cccd4396539ae2fd0000a61907e92',1,'ethernet.h']]], + ['ether_5ftype_5fethdi',['ETHER_TYPE_ETHDI',['../ethernet_8h.html#a0118652ad4c1f706fd9b626221530738',1,'ethernet.h']]], + ['ether_5ftype_5fstart_5ftx',['ETHER_TYPE_START_TX',['../ethernet_8h.html#a12f018df6b9efaa5217f341d0d56e66f',1,'ethernet.h']]], + ['ether_5ftype_5fsync',['ETHER_TYPE_SYNC',['../ethernet_8h.html#a9603401a9e933e2fd95f0a3a32c78c8a',1,'ethernet.h']]] +]; diff --git a/docs/API/search/defines_6.html b/docs/API/search/defines_6.html new file mode 100644 index 0000000..58d00e9 --- /dev/null +++ b/docs/API/search/defines_6.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/defines_6.js b/docs/API/search/defines_6.js new file mode 100644 index 0000000..cbe4b94 --- /dev/null +++ b/docs/API/search/defines_6.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['flexran_5fup_5fvlan_5ftag',['FLEXRAN_UP_VLAN_TAG',['../ethernet_8h.html#aedb12c4d673468ce4291b4e756a72b38',1,'ethernet.h']]], + ['fpga_5fto_5fsw_5fprach_5frx_5fbuffer_5flen',['FPGA_TO_SW_PRACH_RX_BUFFER_LEN',['../sample-app_8c.html#a67e68cef19d6e679b04c315c9234a0e3',1,'FPGA_TO_SW_PRACH_RX_BUFFER_LEN(): sample-app.c'],['../xran__lib__wrap_8hpp.html#a67e68cef19d6e679b04c315c9234a0e3',1,'FPGA_TO_SW_PRACH_RX_BUFFER_LEN(): xran_lib_wrap.hpp']]] +]; diff --git a/docs/API/search/defines_7.html b/docs/API/search/defines_7.html new file mode 100644 index 0000000..275e1b3 --- /dev/null +++ b/docs/API/search/defines_7.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/defines_7.js b/docs/API/search/defines_7.js new file mode 100644 index 0000000..686402b --- /dev/null +++ b/docs/API/search/defines_7.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['iassert',['iAssert',['../common_8h.html#a1474943d458f066f2f4be85a329d9028',1,'iAssert(): common.h'],['../xran__printf_8h.html#a1474943d458f066f2f4be85a329d9028',1,'iAssert(): xran_printf.h']]], + ['iq_5fbits',['IQ_BITS',['../xran__pkt__up_8h.html#a1f562f709cbcc25bce1e2af28e796ff2',1,'xran_pkt_up.h']]], + ['iq_5fpair_5fnum_5fin_5frb',['IQ_PAIR_NUM_IN_RB',['../xran__pkt__up_8h.html#af6647a7b572e3c757fb834c22c06c757',1,'xran_pkt_up.h']]], + ['iq_5fplayback_5fbuffer_5fbytes',['IQ_PLAYBACK_BUFFER_BYTES',['../common_8h.html#a49c6511dd7755629147643fc2cfdf893',1,'common.h']]] +]; diff --git a/docs/API/search/defines_8.html b/docs/API/search/defines_8.html new file mode 100644 index 0000000..de651d9 --- /dev/null +++ b/docs/API/search/defines_8.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/defines_8.js b/docs/API/search/defines_8.js new file mode 100644 index 0000000..e347847 --- /dev/null +++ b/docs/API/search/defines_8.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['json_5fcatch',['JSON_CATCH',['../json_8hpp.html#a6954bec49ed2a2dfb938c1131c82740a',1,'json.hpp']]], + ['json_5fdeprecated',['JSON_DEPRECATED',['../json_8hpp.html#a584fd8f49cd7f4ecf5baba15b5b53cdd',1,'json.hpp']]], + ['json_5fthrow',['JSON_THROW',['../json_8hpp.html#a6c274f6db2e65c1b66c7d41b06ad690f',1,'json.hpp']]], + ['json_5ftry',['JSON_TRY',['../json_8hpp.html#a985d3b82445302c57257f6432f261fe9',1,'json.hpp']]] +]; diff --git a/docs/API/search/defines_9.html b/docs/API/search/defines_9.html new file mode 100644 index 0000000..a93bb53 --- /dev/null +++ b/docs/API/search/defines_9.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/defines_9.js b/docs/API/search/defines_9.js new file mode 100644 index 0000000..da2c219 --- /dev/null +++ b/docs/API/search/defines_9.js @@ -0,0 +1,73 @@ +var searchData= +[ + ['key_5falpha',['KEY_ALPHA',['../config_8c.html#a530bffcbdc1ba68a26aa284dce027858',1,'config.c']]], + ['key_5fant_5felm_5ftrx_5fnum',['KEY_ANT_ELM_TRX_NUM',['../config_8c.html#aeed46c9d6b18e455d710564dea3f9ed7',1,'config.c']]], + ['key_5fant_5fnum',['KEY_ANT_NUM',['../config_8c.html#a69ba40bad64e6002bcac4e204ec4418c',1,'config.c']]], + ['key_5fapp_5fmode',['KEY_APP_MODE',['../config_8c.html#ac4783f5fa660b64b250734e3c4db6a5a',1,'config.c']]], + ['key_5fbbdev_5fmode',['KEY_BBDEV_MODE',['../config_8c.html#a3dc398d78b77ac1813120223c5cdf45f',1,'config.c']]], + ['key_5fbeta',['KEY_BETA',['../config_8c.html#a430ddcabfab6608e93370454baec14eb',1,'config.c']]], + ['key_5fbfw_5fnum',['KEY_BFW_NUM',['../config_8c.html#aa911c49995cdcf04eeb5f361db32bad7',1,'config.c']]], + ['key_5fcc_5fper_5fport_5fnum',['KEY_CC_PER_PORT_NUM',['../config_8c.html#a05339d83eaa6e5145d92aa5fd8dfde97',1,'config.c']]], + ['key_5fcompression',['KEY_COMPRESSION',['../config_8c.html#ac35df7aa7ab636a4bf5bd3628fc954c5',1,'config.c']]], + ['key_5fcp_5fenable',['KEY_CP_ENABLE',['../config_8c.html#a38e73a5a1ca5e0b38fa44a215a5ac53b',1,'config.c']]], + ['key_5fcp_5fvtag',['KEY_CP_VTAG',['../config_8c.html#a0dda0931ebf5f28af49fb4b9224c231c',1,'config.c']]], + ['key_5fdebug_5fstop',['KEY_DEBUG_STOP',['../config_8c.html#af70fe8dbd7cffbd5f8d08e66672df110',1,'config.c']]], + ['key_5fdebug_5fstop_5fcnt',['KEY_DEBUG_STOP_CNT',['../config_8c.html#a4c3351dec8077d11ecac68e0e1d438f5',1,'config.c']]], + ['key_5fdllayers_5fper_5fue',['KEY_DLLAYERS_PER_UE',['../config_8c.html#a818faa5200fb29e8ed726da2725ddaf2',1,'config.c']]], + ['key_5fdyna_5fsec_5fena',['KEY_DYNA_SEC_ENA',['../config_8c.html#a3653596279fba8314563990574d88cda',1,'config.c']]], + ['key_5ffile_5faxc',['KEY_FILE_AxC',['../config_8c.html#abcf06760408dccd71d9bd4deee868c42',1,'config.c']]], + ['key_5ffile_5fdlbfwue',['KEY_FILE_DLBFWUE',['../config_8c.html#a0cb913babff8de4f81af7e4698326be3',1,'config.c']]], + ['key_5ffile_5fnumslots',['KEY_FILE_NUMSLOTS',['../config_8c.html#af9d6fab7cbd17bb62747500aa323d302',1,'config.c']]], + ['key_5ffile_5fprach_5faxc',['KEY_FILE_PRACH_AxC',['../config_8c.html#a455d69df70b3837d9276d5a65a2c37c9',1,'config.c']]], + ['key_5ffile_5fulbfwue',['KEY_FILE_ULBFWUE',['../config_8c.html#a87a0630d322577190a7f543b4b32bba9',1,'config.c']]], + ['key_5ffile_5fulsrs',['KEY_FILE_ULSRS',['../config_8c.html#a78a383229e172f1ac8feb0f6c38bac9e',1,'config.c']]], + ['key_5fhtons_5fswap',['KEY_HTONS_SWAP',['../config_8c.html#aa7bd4d0efbda00b22c29582948887216',1,'config.c']]], + ['key_5finstance_5fid',['KEY_INSTANCE_ID',['../config_8c.html#ab7808b7478807ac3ad05de40814e1874',1,'config.c']]], + ['key_5fio_5fcore',['KEY_IO_CORE',['../config_8c.html#aa6e17363693d89fc1f933fb6058f16e2',1,'config.c']]], + ['key_5fiq_5fswap',['KEY_IQ_SWAP',['../config_8c.html#a7885aae27cd2726ba5379e3f658cf296',1,'config.c']]], + ['key_5flls_5fcu_5fmac',['KEY_LLS_CU_MAC',['../config_8c.html#ac3ba14f661904e65dad9f4e66b5d58c3',1,'config.c']]], + ['key_5fmax_5fframe_5fid',['KEY_MAX_FRAME_ID',['../config_8c.html#a005b99470e7ad16e1d98a96e55dbf0e6',1,'config.c']]], + ['key_5fmtu_5fsize',['KEY_MTU_SIZE',['../config_8c.html#a77661854525ce6e2c64519a10334a971',1,'config.c']]], + ['key_5fmu_5fmimo_5fues_5fnum',['KEY_MU_MIMO_UES_NUM',['../config_8c.html#af4c6682891334b263760961e137be7b0',1,'config.c']]], + ['key_5fmu_5fnumber',['KEY_MU_NUMBER',['../config_8c.html#a0f0a0edde80206b082cd5d6a99dbea02',1,'config.c']]], + ['key_5fndlabsfrepointa',['KEY_NDLABSFREPOINTA',['../config_8c.html#af27127ccb8c7924564c72544f53fbe9a',1,'config.c']]], + ['key_5fndlbandwidth',['KEY_NDLBANDWIDTH',['../config_8c.html#a5b768e0a832832efce4a3ac55a47e3f2',1,'config.c']]], + ['key_5fndlfftsize',['KEY_NDLFFTSIZE',['../config_8c.html#acaa841ce9380a63c29943b2395d2e398',1,'config.c']]], + ['key_5fnframeduplextype',['KEY_NFRAMEDUPLEXTYPE',['../config_8c.html#a0678347ed5fb8675a1c7040db49b04ec',1,'config.c']]], + ['key_5fnprbelem_5fdl',['KEY_NPRBELEM_DL',['../config_8c.html#a3a0e3bf83ff7e833ed5f80d692842cfa',1,'config.c']]], + ['key_5fnprbelem_5ful',['KEY_NPRBELEM_UL',['../config_8c.html#a2fdddad8a9757b0c42a30784a3febc5f',1,'config.c']]], + ['key_5fntddperiod',['KEY_NTDDPERIOD',['../config_8c.html#a7b6eb4c8ed492c077723234b19a4f847',1,'config.c']]], + ['key_5fnulabsfrepointa',['KEY_NULABSFREPOINTA',['../config_8c.html#a2cd68838aeb0a7093b507288f90a95f4',1,'config.c']]], + ['key_5fnulbandwidth',['KEY_NULBANDWIDTH',['../config_8c.html#a3dd4a6f7e194523b484b789bc8122210',1,'config.c']]], + ['key_5fnulfftsize',['KEY_NULFFTSIZE',['../config_8c.html#adccb3ba03303910ccdf3b9472422cd76',1,'config.c']]], + ['key_5fprach_5fcfgidx',['KEY_PRACH_CFGIDX',['../config_8c.html#a9eeb372943c743036efc9ec39c632eb9',1,'config.c']]], + ['key_5fprach_5fenable',['KEY_PRACH_ENABLE',['../config_8c.html#a7eea870f6a537e7742e9be2c5dcfcd4d',1,'config.c']]], + ['key_5fprbelem_5fdl',['KEY_PRBELEM_DL',['../config_8c.html#ac9eb3f1d06c1d9ffa9d2a13ad3d23d30',1,'config.c']]], + ['key_5fprbelem_5ful',['KEY_PRBELEM_UL',['../config_8c.html#a2e50702815809aac46b04c5a3b444f60',1,'config.c']]], + ['key_5fru_5fmac',['KEY_RU_MAC',['../config_8c.html#a1598fd1e360b9e2dc88e3ea7e42b184e',1,'config.c']]], + ['key_5fsrs_5fenable',['KEY_SRS_ENABLE',['../config_8c.html#ab010d3afc9f936b0ae2ecf541580f5e2',1,'config.c']]], + ['key_5fsrs_5fsym_5fidx',['KEY_SRS_SYM_IDX',['../config_8c.html#a9cf3f849f010693242b0790b5fcba005',1,'config.c']]], + ['key_5fsslotconfig',['KEY_SSLOTCONFIG',['../config_8c.html#a0e49fb92c807304ce7b699f0a01f4005',1,'config.c']]], + ['key_5ft1a_5fmax_5fcp_5fdl',['KEY_T1A_MAX_CP_DL',['../config_8c.html#ac55df0f9fcb3a6296b0f5a52c18c225b',1,'config.c']]], + ['key_5ft1a_5fmax_5fcp_5ful',['KEY_T1A_MAX_CP_UL',['../config_8c.html#a3e281246da54d79bf837e3b3dcf13300',1,'config.c']]], + ['key_5ft1a_5fmax_5fup',['KEY_T1A_MAX_UP',['../config_8c.html#a7083fad07061ca912326364146c824a6',1,'config.c']]], + ['key_5ft1a_5fmin_5fcp_5fdl',['KEY_T1A_MIN_CP_DL',['../config_8c.html#a362092fec67da33487af6f9ded046a7f',1,'config.c']]], + ['key_5ft1a_5fmin_5fcp_5ful',['KEY_T1A_MIN_CP_UL',['../config_8c.html#a886ddfe6fb263cbcc8a64dd1cb143873',1,'config.c']]], + ['key_5ft1a_5fmin_5fup',['KEY_T1A_MIN_UP',['../config_8c.html#a37b8b65aa921bdabcc390f8cc2e5f47f',1,'config.c']]], + ['key_5ft2a_5fmax_5fcp_5fdl',['KEY_T2A_MAX_CP_DL',['../config_8c.html#a84cf7be0f5b42a4eb6a1a81693252799',1,'config.c']]], + ['key_5ft2a_5fmax_5fcp_5ful',['KEY_T2A_MAX_CP_UL',['../config_8c.html#ab7b0ae3857203dc03a0e65bbe4fe2e7c',1,'config.c']]], + ['key_5ft2a_5fmax_5fup',['KEY_T2A_MAX_UP',['../config_8c.html#a87284c2e9e0b370cc46c462b302416ac',1,'config.c']]], + ['key_5ft2a_5fmin_5fcp_5fdl',['KEY_T2A_MIN_CP_DL',['../config_8c.html#a163f06fb1a7fd29b64f2e67cffde62b3',1,'config.c']]], + ['key_5ft2a_5fmin_5fcp_5ful',['KEY_T2A_MIN_CP_UL',['../config_8c.html#adcfa8e7c1f08e7f202b9ee3cc23a61c6',1,'config.c']]], + ['key_5ft2a_5fmin_5fup',['KEY_T2A_MIN_UP',['../config_8c.html#aec391f94625cd3fcefab8157a5a07c0f',1,'config.c']]], + ['key_5fta3_5fmax',['KEY_TA3_MAX',['../config_8c.html#a2155431381a404039d93d2aaf51c2bbd',1,'config.c']]], + ['key_5fta3_5fmin',['KEY_TA3_MIN',['../config_8c.html#a98a7409bf5ac4ac57990e5f84aedc2fd',1,'config.c']]], + ['key_5fta4_5fmax',['KEY_TA4_MAX',['../config_8c.html#a758d442cf7f5050d650b238c49ba5303',1,'config.c']]], + ['key_5fta4_5fmin',['KEY_TA4_MIN',['../config_8c.html#a3daac7d19ee072b19049c46743f300d0',1,'config.c']]], + ['key_5ftadv_5fcp_5fdl',['KEY_TADV_CP_DL',['../config_8c.html#a3571bc8ed80d86f4462279296fb16fc0',1,'config.c']]], + ['key_5ftti_5fperiod',['KEY_TTI_PERIOD',['../config_8c.html#a4504a95aafcc554cccb1999278b02cf4',1,'config.c']]], + ['key_5ful_5fant_5fnum',['KEY_UL_ANT_NUM',['../config_8c.html#abad526bb5458cab7a02b8cddae6de62e',1,'config.c']]], + ['key_5fullayers_5fper_5fue',['KEY_ULLAYERS_PER_UE',['../config_8c.html#a7ed8249c26126323ae23f9aec8c8df8e',1,'config.c']]], + ['key_5fup_5fvtag',['KEY_UP_VTAG',['../config_8c.html#aa7edbc717cafd56f48d7f3357a1dc4e2',1,'config.c']]], + ['key_5fxran_5fmode',['KEY_XRAN_MODE',['../config_8c.html#aed15457ebf16701d6d027314e626bb1b',1,'config.c']]] +]; diff --git a/docs/API/search/defines_a.html b/docs/API/search/defines_a.html new file mode 100644 index 0000000..cf4841d --- /dev/null +++ b/docs/API/search/defines_a.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/defines_a.js b/docs/API/search/defines_a.js new file mode 100644 index 0000000..1d02159 --- /dev/null +++ b/docs/API/search/defines_a.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['log_5fdbg',['log_dbg',['../debug_8h.html#a38df20643802da0ddcfe651c055892aa',1,'log_dbg(): debug.h'],['../debug_8h.html#a38df20643802da0ddcfe651c055892aa',1,'log_dbg(): debug.h']]], + ['log_5ferr',['log_err',['../debug_8h.html#ad782f0c1a9fea27268fa70903f3cc4d7',1,'debug.h']]], + ['log_5fwrn',['log_wrn',['../debug_8h.html#a1a973e10ccfdb6d28a538c8a9b022261',1,'debug.h']]], + ['loop',['LOOP',['../common__typedef__xran_8h.html#a8e8f11caf539de9555d07b4e7ef5b1da',1,'common_typedef_xran.h']]] +]; diff --git a/docs/API/search/defines_b.html b/docs/API/search/defines_b.html new file mode 100644 index 0000000..26cf44f --- /dev/null +++ b/docs/API/search/defines_b.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/defines_b.js b/docs/API/search/defines_b.js new file mode 100644 index 0000000..a61b908 --- /dev/null +++ b/docs/API/search/defines_b.js @@ -0,0 +1,49 @@ +var searchData= +[ + ['main_5fpriority',['MAIN_PRIORITY',['../sample-app_8c.html#a0fc58460f052686e9a3987fe7f606d17',1,'sample-app.c']]], + ['max_5fant_5fcarrier_5fsupported',['MAX_ANT_CARRIER_SUPPORTED',['../common_8h.html#a14c306e04a1b3ecdd13b82ab9ca6c9b5',1,'MAX_ANT_CARRIER_SUPPORTED(): common.h'],['../xran__lib__wrap_8hpp.html#a14c306e04a1b3ecdd13b82ab9ca6c9b5',1,'MAX_ANT_CARRIER_SUPPORTED(): xran_lib_wrap.hpp']]], + ['max_5fant_5fcarrier_5fsupported_5fcat_5fb',['MAX_ANT_CARRIER_SUPPORTED_CAT_B',['../common_8h.html#a11e143c6a879cac4c34a607b2aff730c',1,'common.h']]], + ['max_5fbbu_5fpool_5fcore_5fmask',['MAX_BBU_POOL_CORE_MASK',['../sample-app_8c.html#a5014dc50f4b659adb62b35b41a000112',1,'sample-app.c']]], + ['max_5fcheck_5ftime',['MAX_CHECK_TIME',['../ethdi_8c.html#a8656398fc65eefb503ceaf1006c095ac',1,'ethdi.c']]], + ['max_5fdata_5fsections_5fnum',['MAX_DATA_SECTIONS_NUM',['../xran__pkt__up_8h.html#a886c66796fb86299692ed3629a12ed56',1,'xran_pkt_up.h']]], + ['max_5fdata_5fsize',['MAX_DATA_SIZE',['../ethernet_8h.html#a87f68e96fb938eddc39ad1f19d923a96',1,'ethernet.h']]], + ['max_5ffile_5fname_5flen',['MAX_FILE_NAME_LEN',['../debug_8h.html#a835262f9c26026aab5f91a528f57ad8f',1,'debug.h']]], + ['max_5fiq',['MAX_IQ',['../unittests_8cc.html#aef6aa683c7d5cd615a8e78ef6b89208c',1,'unittests.cc']]], + ['max_5fiq_5fbit_5fwidth',['MAX_IQ_BIT_WIDTH',['../xran__pkt__up_8h.html#a863f0b79c08ef7f3431b7d13656fea74',1,'xran_pkt_up.h']]], + ['max_5fline_5fsize',['MAX_LINE_SIZE',['../config_8c.html#a706068f562dd5c64a8b7bbd4b2298dd1',1,'config.c']]], + ['max_5fn_5ffullband_5fsc',['MAX_N_FULLBAND_SC',['../xran__common_8h.html#a49b173839f33b6d8e91a35ed9ec10f20',1,'xran_common.h']]], + ['max_5fnum_5fof_5fdpdk_5ftimers',['MAX_NUM_OF_DPDK_TIMERS',['../xran__main_8c.html#af2babb53fd06205eba49b1213e8e18d8',1,'xran_main.c']]], + ['max_5fnum_5fof_5fxran_5fctx',['MAX_NUM_OF_XRAN_CTX',['../xran__main_8c.html#a16ea7ba6b48522ff69767c3a3d31b776',1,'MAX_NUM_OF_XRAN_CTX(): xran_main.c'],['../xran__lib__wrap_8hpp.html#a16ea7ba6b48522ff69767c3a3d31b776',1,'MAX_NUM_OF_XRAN_CTX(): xran_lib_wrap.hpp']]], + ['max_5fpath_5fname_5flen',['MAX_PATH_NAME_LEN',['../debug_8h.html#acae6916a00cd9660ab2ab69569e26d80',1,'debug.h']]], + ['max_5fpkt_5fburst',['MAX_PKT_BURST',['../sample-app_8c.html#a07888c38e252992d1b95545baacad594',1,'sample-app.c']]], + ['max_5frx_5flen',['MAX_RX_LEN',['../ethernet_8h.html#af93d1ffa527a8d74a873d67174d006e1',1,'ethernet.h']]], + ['max_5ftx_5flen',['MAX_TX_LEN',['../ethernet_8h.html#a3ecef14a68660bf7e2c7007097e1a42d',1,'ethernet.h']]], + ['mbuf_5fcache',['MBUF_CACHE',['../ethernet_8h.html#aff7b5c03d15eefed7ec8ba88836914e6',1,'ethernet.h']]], + ['mbuf_5fpool_5felement',['MBUF_POOL_ELEMENT',['../ethernet_8h.html#aabc097abe969aa80654d34ee7f15109c',1,'ethernet.h']]], + ['mbuf_5fpool_5felm_5fbig',['MBUF_POOL_ELM_BIG',['../ethernet_8h.html#ae8104b3bc03b93180e06acb87f420243',1,'ethernet.h']]], + ['mbuf_5fpool_5felm_5fsmall',['MBUF_POOL_ELM_SMALL',['../ethernet_8h.html#ae9d0e06c9bf8c1de60edfed757593782',1,'ethernet.h']]], + ['mbuf_5ftable_5fsize',['MBUF_TABLE_SIZE',['../xran__common_8h.html#afb33e5553fd096faa39d5f9059fb80d9',1,'xran_common.h']]], + ['mbufs_5fcnt',['MBUFS_CNT',['../xran__common_8c.html#ae413c4f1a4664d68aca9d331d1891a0c',1,'xran_common.c']]], + ['mlog_5ffalse',['MLOG_FALSE',['../xran__mlog__lnx_8h.html#a436f70ee63bcae81f7e9f6a2b923bc4a',1,'xran_mlog_lnx.h']]], + ['mlogaddpowerstats',['MLogAddPowerStats',['../xran__mlog__lnx_8h.html#a47ad69244bf51cbe703cb6d8568c84ae',1,'xran_mlog_lnx.h']]], + ['mlogaddtestcase',['MLogAddTestCase',['../xran__mlog__lnx_8h.html#a8140534ae23398782bedc55f68fcff57',1,'xran_mlog_lnx.h']]], + ['mlogaddvariables',['MLogAddVariables',['../xran__mlog__lnx_8h.html#a1af05b8bdab3c12648a013c0cda7bbc0',1,'xran_mlog_lnx.h']]], + ['mlogdevinfo',['MLogDevInfo',['../xran__mlog__lnx_8h.html#a96ff3293aaa5527d87716499b0a235f8',1,'xran_mlog_lnx.h']]], + ['mloggetavgstats',['MLogGetAvgStats',['../xran__mlog__lnx_8h.html#a19fde128c84794eddd5895b93e1a5c33',1,'xran_mlog_lnx.h']]], + ['mloggetfilelocation',['MLogGetFileLocation',['../xran__mlog__lnx_8h.html#af85fde2b44839241df3d7a055587a63d',1,'xran_mlog_lnx.h']]], + ['mloggetfilesize',['MLogGetFileSize',['../xran__mlog__lnx_8h.html#ab8cc989708d3712f38c9590c0ae36845',1,'xran_mlog_lnx.h']]], + ['mloggetmask',['MLogGetMask',['../xran__mlog__lnx_8h.html#a6810b9d49d41abe30593c97ee2aafb7f',1,'xran_mlog_lnx.h']]], + ['mloggetstats',['MLogGetStats',['../xran__mlog__lnx_8h.html#af087ea434d0ef4b4e0eafa0ed9ad1a74',1,'xran_mlog_lnx.h']]], + ['mlogincrementcounter',['MLogIncrementCounter',['../xran__mlog__lnx_8h.html#a7e13e6c34f14ba82e361777280a5dcc1',1,'xran_mlog_lnx.h']]], + ['mlogmark',['MLogMark',['../xran__mlog__lnx_8h.html#ab3356d3c04286b221a0dc19c17405781',1,'xran_mlog_lnx.h']]], + ['mlogopen',['MLogOpen',['../xran__mlog__lnx_8h.html#a16ef5507c8fc26ce185dc7fafe9fa4f3',1,'xran_mlog_lnx.h']]], + ['mlogprint',['MLogPrint',['../xran__mlog__lnx_8h.html#a3c5a3b260b393219742a4604eee825f3',1,'xran_mlog_lnx.h']]], + ['mlogregisterframesubframe',['MLogRegisterFrameSubframe',['../xran__mlog__lnx_8h.html#a0e3ce77f913055c8f15e6a396e58b41e',1,'xran_mlog_lnx.h']]], + ['mlogregistertick',['MLogRegisterTick',['../xran__mlog__lnx_8h.html#af20d97d01a37bc7b596a3e31dff9f534',1,'xran_mlog_lnx.h']]], + ['mlogrestart',['MLogRestart',['../xran__mlog__lnx_8h.html#abc81f343a060eb7640f808c3ec044094',1,'xran_mlog_lnx.h']]], + ['mlogsetmask',['MLogSetMask',['../xran__mlog__lnx_8h.html#af082c907eef7707758e6609f51700912',1,'xran_mlog_lnx.h']]], + ['mlogtask',['MLogTask',['../xran__mlog__lnx_8h.html#a2ea88cf07a4bee8b98cb6cea2ef3ae36',1,'xran_mlog_lnx.h']]], + ['mlogtaskcore',['MLogTaskCore',['../xran__mlog__lnx_8h.html#a0ff8af5abafb200b999e885a2eb6f102',1,'xran_mlog_lnx.h']]], + ['mlogtick',['MLogTick',['../xran__mlog__lnx_8h.html#ab3a08558e2971726cddceed59f9fd3bd',1,'xran_mlog_lnx.h']]], + ['msec_5fper_5fsec',['MSEC_PER_SEC',['../xran__timer_8h.html#a222f9dff749accf8de62bc4b52c7bdcd',1,'xran_timer.h']]] +]; diff --git a/docs/API/search/defines_c.html b/docs/API/search/defines_c.html new file mode 100644 index 0000000..eca33be --- /dev/null +++ b/docs/API/search/defines_c.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/defines_c.js b/docs/API/search/defines_c.js new file mode 100644 index 0000000..eb56038 --- /dev/null +++ b/docs/API/search/defines_c.js @@ -0,0 +1,15 @@ +var searchData= +[ + ['n_5fmax_5fbuffer_5fsegment',['N_MAX_BUFFER_SEGMENT',['../sample-app_8c.html#ac29300907d1558b4b1f7bc1091151643',1,'sample-app.c']]], + ['n_5fsc_5fper_5fprb',['N_SC_PER_PRB',['../common_8h.html#ab97ae0d1cc679c3c40b779b34ab7b4cf',1,'N_SC_PER_PRB(): common.h'],['../xran__common_8h.html#ab97ae0d1cc679c3c40b779b34ab7b4cf',1,'N_SC_PER_PRB(): xran_common.h']]], + ['n_5fsym_5fper_5fslot',['N_SYM_PER_SLOT',['../common_8h.html#a534c88c03c366dfbd4dd5efe7693f56b',1,'N_SYM_PER_SLOT(): common.h'],['../xran__common_8h.html#a534c88c03c366dfbd4dd5efe7693f56b',1,'N_SYM_PER_SLOT(): xran_common.h']]], + ['nlog',['nlog',['../ethernet_8h.html#a3f004b0d653b6c6481513d0681771452',1,'ethernet.h']]], + ['nlohmann_5fjson_5fhas_5fhelper',['NLOHMANN_JSON_HAS_HELPER',['../json_8hpp.html#ac0c80a819c5b9029a9344b3841f1cfd7',1,'json.hpp']]], + ['ns_5fper_5fsec',['NS_PER_SEC',['../sample-app_8c.html#afefb75bba69d2edd2dfe8e2f7cfd23d6',1,'sample-app.c']]], + ['nsec_5fper_5fsec',['NSEC_PER_SEC',['../sample-app_8c.html#a0501e82515b2bdf36453c4cc80f5e0cc',1,'NSEC_PER_SEC(): sample-app.c'],['../xran__common_8h.html#a0501e82515b2bdf36453c4cc80f5e0cc',1,'NSEC_PER_SEC(): xran_common.h'],['../xran__timer_8c.html#a0501e82515b2bdf36453c4cc80f5e0cc',1,'NSEC_PER_SEC(): xran_timer.c']]], + ['nsec_5fper_5fusec',['NSEC_PER_USEC',['../xran__timer_8c.html#a2180f263d149841a7c1fde663edb84c5',1,'xran_timer.c']]], + ['num_5fmbufs',['NUM_MBUFS',['../ethernet_8h.html#ae543d743ada71b167a5cbd813b15fa7f',1,'ethernet.h']]], + ['num_5fmbufs_5fbig',['NUM_MBUFS_BIG',['../ethernet_8h.html#a72098506af8c2d5c500ec4f8e0a0e17f',1,'ethernet.h']]], + ['num_5fof_5fframes_5fper_5fsecond',['NUM_OF_FRAMES_PER_SECOND',['../xran__main_8c.html#a244be9d83c95821d802d6a0c6c169cb1',1,'xran_main.c']]], + ['num_5fof_5fsubframe_5fper_5fframe',['NUM_OF_SUBFRAME_PER_FRAME',['../sample-app_8c.html#a0b69cdc6288c9c56f1054c582852b613',1,'NUM_OF_SUBFRAME_PER_FRAME(): sample-app.c'],['../init__sys__functional_8cc.html#a0b69cdc6288c9c56f1054c582852b613',1,'NUM_OF_SUBFRAME_PER_FRAME(): init_sys_functional.cc']]] +]; diff --git a/docs/API/search/defines_d.html b/docs/API/search/defines_d.html new file mode 100644 index 0000000..bdb5500 --- /dev/null +++ b/docs/API/search/defines_d.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/defines_d.js b/docs/API/search/defines_d.js new file mode 100644 index 0000000..bbac7e6 --- /dev/null +++ b/docs/API/search/defines_d.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['o_5fdu',['O_DU',['../xran__common_8h.html#ada810b81429ee4ec611614fd69dc99da',1,'xran_common.h']]], + ['o_5fru',['O_RU',['../xran__common_8h.html#a742cfd7821c00ae099b7d4809de9a765',1,'xran_common.h']]] +]; diff --git a/docs/API/search/defines_e.html b/docs/API/search/defines_e.html new file mode 100644 index 0000000..f8cb784 --- /dev/null +++ b/docs/API/search/defines_e.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/defines_e.js b/docs/API/search/defines_e.js new file mode 100644 index 0000000..fc88588 --- /dev/null +++ b/docs/API/search/defines_e.js @@ -0,0 +1,62 @@ +var searchData= +[ + ['panic_5fon',['PANIC_ON',['../ethernet_8h.html#ae9d2374bac7995a342bcf6ffdbe9f4a0',1,'ethernet.h']]], + ['phc2sys_5fproc_5fname',['PHC2SYS_PROC_NAME',['../xran__sync__api_8c.html#a651275b1135ce87eb95b301b6427cf07',1,'xran_sync_api.c']]], + ['pid_5fcp_5fdl_5fcb',['PID_CP_DL_CB',['../xran__lib__mlog__tasks__id_8h.html#a92c86b63d1d44b3e81c3728e106cbfd1',1,'xran_lib_mlog_tasks_id.h']]], + ['pid_5fcp_5ful_5fcb',['PID_CP_UL_CB',['../xran__lib__mlog__tasks__id_8h.html#a0fb3a4d1a275f2930824141dd134d918',1,'xran_lib_mlog_tasks_id.h']]], + ['pid_5ffull_5fslot_5fcb_5fto_5fphy',['PID_FULL_SLOT_CB_TO_PHY',['../xran__lib__mlog__tasks__id_8h.html#a20e72b654cfb14e3a280a2244640fea8',1,'xran_lib_mlog_tasks_id.h']]], + ['pid_5fgnb_5fprach_5fcb',['PID_GNB_PRACH_CB',['../xran__mlog__task__id_8h.html#a70799f191170357c8d74fa58300c99d7',1,'xran_mlog_task_id.h']]], + ['pid_5fgnb_5fproc_5ftiming',['PID_GNB_PROC_TIMING',['../xran__mlog__task__id_8h.html#a9884cd7227be2b321f8a85a1643c3b99',1,'xran_mlog_task_id.h']]], + ['pid_5fgnb_5fproc_5ftiming_5ftimeout',['PID_GNB_PROC_TIMING_TIMEOUT',['../xran__mlog__task__id_8h.html#a06cadb1ff834c4ae8f8fa45c6d80fcae',1,'PID_GNB_PROC_TIMING_TIMEOUT(): xran_mlog_task_id.h'],['../xran__lib__mlog__tasks__id_8h.html#a06cadb1ff834c4ae8f8fa45c6d80fcae',1,'PID_GNB_PROC_TIMING_TIMEOUT(): xran_lib_mlog_tasks_id.h']]], + ['pid_5fgnb_5fsrs_5fcb',['PID_GNB_SRS_CB',['../xran__mlog__task__id_8h.html#a475acdfebabbac2b27bc7c22c201a171',1,'xran_mlog_task_id.h']]], + ['pid_5fgnb_5fsym_5fcb',['PID_GNB_SYM_CB',['../xran__mlog__task__id_8h.html#a456df1bb1ff53e9ffff0c36976da1108',1,'xran_mlog_task_id.h']]], + ['pid_5fhalf_5fslot_5fcb_5fto_5fphy',['PID_HALF_SLOT_CB_TO_PHY',['../xran__lib__mlog__tasks__id_8h.html#a15f6dea581e37101f719cdddefd768b9',1,'xran_lib_mlog_tasks_id.h']]], + ['pid_5fprocess_5fcp_5fpkt',['PID_PROCESS_CP_PKT',['../xran__lib__mlog__tasks__id_8h.html#afe16668c89ce93c5234dc0b39a49a670',1,'xran_lib_mlog_tasks_id.h']]], + ['pid_5fprocess_5ftx_5fsym',['PID_PROCESS_TX_SYM',['../xran__lib__mlog__tasks__id_8h.html#a1f5a84fd3596ec0f8cdac6762df1f6d9',1,'xran_lib_mlog_tasks_id.h']]], + ['pid_5fprocess_5fup_5fpkt',['PID_PROCESS_UP_PKT',['../xran__lib__mlog__tasks__id_8h.html#a9f54a4a7253be8580e0996d84b1bf638',1,'xran_lib_mlog_tasks_id.h']]], + ['pid_5fradio_5feth_5ftx_5fburst',['PID_RADIO_ETH_TX_BURST',['../xran__lib__mlog__tasks__id_8h.html#ace7506955e3098166206e80696ef0d2e',1,'xran_lib_mlog_tasks_id.h']]], + ['pid_5fradio_5ffe_5fcompress',['PID_RADIO_FE_COMPRESS',['../xran__lib__mlog__tasks__id_8h.html#a5ab7d90cffa704f04692a04d907afcce',1,'xran_lib_mlog_tasks_id.h']]], + ['pid_5fradio_5ffe_5fdecompress',['PID_RADIO_FE_DECOMPRESS',['../xran__lib__mlog__tasks__id_8h.html#ad53e4ae374e70276a1fa7b0e9de3a0d2',1,'xran_lib_mlog_tasks_id.h']]], + ['pid_5fradio_5ffreq_5frx_5fpkt',['PID_RADIO_FREQ_RX_PKT',['../xran__lib__mlog__tasks__id_8h.html#a161a96778c3bc9e9d598862e96b15063',1,'xran_lib_mlog_tasks_id.h']]], + ['pid_5fradio_5fprach_5fpkt',['PID_RADIO_PRACH_PKT',['../xran__lib__mlog__tasks__id_8h.html#a517b6ffde57e63eb6ec8e27c36b6a964',1,'xran_lib_mlog_tasks_id.h']]], + ['pid_5fradio_5frx_5fepoll_5fwait',['PID_RADIO_RX_EPOLL_WAIT',['../xran__lib__mlog__tasks__id_8h.html#a33d74432c736b24705e21b257d340fc3',1,'xran_lib_mlog_tasks_id.h']]], + ['pid_5fradio_5frx_5firq_5foff',['PID_RADIO_RX_IRQ_OFF',['../xran__lib__mlog__tasks__id_8h.html#ac6c575fd12ace0fd0e8e6482a38bf4e4',1,'xran_lib_mlog_tasks_id.h']]], + ['pid_5fradio_5frx_5firq_5fon',['PID_RADIO_RX_IRQ_ON',['../xran__lib__mlog__tasks__id_8h.html#a04e0d4987fd890e90a978128ba1f55d6',1,'xran_lib_mlog_tasks_id.h']]], + ['pid_5fradio_5frx_5fltemode_5fproc',['PID_RADIO_RX_LTEMODE_PROC',['../xran__lib__mlog__tasks__id_8h.html#a7d04f6ec1a4fb714ea5d0da629de4247',1,'xran_lib_mlog_tasks_id.h']]], + ['pid_5fradio_5frx_5fstop',['PID_RADIO_RX_STOP',['../xran__lib__mlog__tasks__id_8h.html#a3357c8290df6ff594f159ccb9ea95325',1,'xran_lib_mlog_tasks_id.h']]], + ['pid_5fradio_5frx_5ful_5fiq',['PID_RADIO_RX_UL_IQ',['../xran__lib__mlog__tasks__id_8h.html#a6f2a962f776a42a526abba0cc07021e5',1,'xran_lib_mlog_tasks_id.h']]], + ['pid_5fradio_5frx_5fvalidate',['PID_RADIO_RX_VALIDATE',['../xran__lib__mlog__tasks__id_8h.html#a9e59ba233c913a636f05b3b6df8d56ab',1,'xran_lib_mlog_tasks_id.h']]], + ['pid_5fradio_5ftx_5fbypass_5fproc',['PID_RADIO_TX_BYPASS_PROC',['../xran__lib__mlog__tasks__id_8h.html#aab833f12f1fe268637f47212f510c6dd',1,'xran_lib_mlog_tasks_id.h']]], + ['pid_5fradio_5ftx_5fdl_5fiq',['PID_RADIO_TX_DL_IQ',['../xran__lib__mlog__tasks__id_8h.html#aa37014d774b5c3d6509d30141892f6ac',1,'xran_lib_mlog_tasks_id.h']]], + ['pid_5fradio_5ftx_5fltemode_5fproc',['PID_RADIO_TX_LTEMODE_PROC',['../xran__lib__mlog__tasks__id_8h.html#a2c0e970227fbb04f166ac82f8c44948b',1,'xran_lib_mlog_tasks_id.h']]], + ['pid_5fradio_5ftx_5fplay_5fback_5fiq',['PID_RADIO_TX_PLAY_BACK_IQ',['../xran__lib__mlog__tasks__id_8h.html#a82ce188c8318ece4dda41674d34e347f',1,'xran_lib_mlog_tasks_id.h']]], + ['pid_5fsym_5fota_5fcb',['PID_SYM_OTA_CB',['../xran__lib__mlog__tasks__id_8h.html#aea9a7b880c29dc3cbc02586c0f3b8487',1,'xran_lib_mlog_tasks_id.h']]], + ['pid_5fsym_5ftimer',['PID_SYM_TIMER',['../xran__lib__mlog__tasks__id_8h.html#affee1f1af3fcf29b997a01029b638474',1,'xran_lib_mlog_tasks_id.h']]], + ['pid_5ftime_5farm_5ftimer',['PID_TIME_ARM_TIMER',['../xran__lib__mlog__tasks__id_8h.html#a58e330374d0f1c8a407119c8ba2abb62',1,'xran_lib_mlog_tasks_id.h']]], + ['pid_5ftime_5fsystime_5fpoll',['PID_TIME_SYSTIME_POLL',['../xran__lib__mlog__tasks__id_8h.html#acc9b1e97d62709b2d8ad44d74f106cce',1,'xran_lib_mlog_tasks_id.h']]], + ['pid_5ftime_5fsystime_5fstop',['PID_TIME_SYSTIME_STOP',['../xran__lib__mlog__tasks__id_8h.html#ad8251a1df978adccb5efbebbb8b84930',1,'xran_lib_mlog_tasks_id.h']]], + ['pid_5ftti_5fcb',['PID_TTI_CB',['../xran__lib__mlog__tasks__id_8h.html#abfca261c8192f02ca16f5b4cb6f1bd2d',1,'xran_lib_mlog_tasks_id.h']]], + ['pid_5ftti_5fcb_5fto_5fphy',['PID_TTI_CB_TO_PHY',['../xran__lib__mlog__tasks__id_8h.html#a888c066a592695a9b6c49abbc79594d3',1,'xran_lib_mlog_tasks_id.h']]], + ['pid_5ftti_5ftimer',['PID_TTI_TIMER',['../xran__lib__mlog__tasks__id_8h.html#a907f22b7c7e5df63190d8aba4e2bf023',1,'xran_lib_mlog_tasks_id.h']]], + ['pid_5fup_5fdl_5fcb',['PID_UP_DL_CB',['../xran__lib__mlog__tasks__id_8h.html#a8d216bc1a0fa3dc1370a8cf30a217870',1,'xran_lib_mlog_tasks_id.h']]], + ['pid_5fup_5ful_5ffull_5fdead_5fline_5fcb',['PID_UP_UL_FULL_DEAD_LINE_CB',['../xran__lib__mlog__tasks__id_8h.html#ac49aef4af90e965464cd29fd0e0d5426',1,'xran_lib_mlog_tasks_id.h']]], + ['pid_5fup_5ful_5fhalf_5fdead_5fline_5fcb',['PID_UP_UL_HALF_DEAD_LINE_CB',['../xran__lib__mlog__tasks__id_8h.html#a7cd97a899b320a85a3b41bb60a02a116',1,'xran_lib_mlog_tasks_id.h']]], + ['pid_5fxran_5fbbdev_5fdl_5fpoll',['PID_XRAN_BBDEV_DL_POLL',['../xran__lib__mlog__tasks__id_8h.html#a728d396b7200cb96f090f6eb6ee94a2a',1,'xran_lib_mlog_tasks_id.h']]], + ['pid_5fxran_5fbbdev_5fdl_5fpoll_5fdispatch',['PID_XRAN_BBDEV_DL_POLL_DISPATCH',['../xran__lib__mlog__tasks__id_8h.html#a05b2720d7f0668cc8f18850d5dd6e695',1,'xran_lib_mlog_tasks_id.h']]], + ['pid_5fxran_5fbbdev_5ful_5fpoll',['PID_XRAN_BBDEV_UL_POLL',['../xran__lib__mlog__tasks__id_8h.html#a7a3cf239d5765c257866fee0dda8b8a5',1,'xran_lib_mlog_tasks_id.h']]], + ['pid_5fxran_5fbbdev_5ful_5fpoll_5fdispatch',['PID_XRAN_BBDEV_UL_POLL_DISPATCH',['../xran__lib__mlog__tasks__id_8h.html#a54cc76a7682b1337cc0995a37ac0fe7b',1,'xran_lib_mlog_tasks_id.h']]], + ['ping_5fbusy_5fpoll',['PING_BUSY_POLL',['../ethdi_8h.html#a5a5cdcb25b0580324b2cfaa1cad7073c',1,'ethdi.h']]], + ['ping_5finterval',['PING_INTERVAL',['../ethdi_8h.html#ae138d10c7cd4199e5e96377ff1f8e317',1,'ethdi.h']]], + ['pmc_5fcmd',['PMC_CMD',['../xran__sync__api_8c.html#ad358ba75ef7ea0f15a200f9e18af64e4',1,'xran_sync_api.c']]], + ['prach_5fplayback_5fbuffer_5fbytes',['PRACH_PLAYBACK_BUFFER_BYTES',['../common_8h.html#a465d2f9c1fdfb0b2e06f730bc7df6653',1,'PRACH_PLAYBACK_BUFFER_BYTES(): common.h'],['../xran__common_8h.html#a465d2f9c1fdfb0b2e06f730bc7df6653',1,'PRACH_PLAYBACK_BUFFER_BYTES(): xran_common.h']]], + ['prach_5fsrs_5fbuffer_5fbytes',['PRACH_SRS_BUFFER_BYTES',['../xran__common_8h.html#ad5222effb7d169ebd94bb58101e62758',1,'xran_common.h']]], + ['print_5fdbg',['print_dbg',['../xran__printf_8h.html#a417ba2c3b49b216e358bc340346bf1cf',1,'xran_printf.h']]], + ['print_5ferr',['print_err',['../xran__printf_8h.html#a16c2c0a30b31515830a4a8eff6cf10b5',1,'xran_printf.h']]], + ['print_5finf',['print_inf',['../xran__printf_8h.html#a4ca9250337e620175e2b71a1dc69d1d2',1,'xran_printf.h']]], + ['print_5flog',['print_log',['../xran__printf_8h.html#a677530742f5d55b5410c024f85794361',1,'xran_printf.h']]], + ['printf_5ferr_5fok',['PRINTF_ERR_OK',['../xran__printf_8h.html#aa48f1da63506225983d78eeabd664382',1,'xran_printf.h']]], + ['printf_5finf_5fok',['PRINTF_INF_OK',['../xran__printf_8h.html#a467b83fc581fd7d20f8bf8c0af7240b9',1,'xran_printf.h']]], + ['printf_5flog_5fok',['PRINTF_LOG_OK',['../xran__printf_8h.html#abcb4ad51f1f16a398ff960ba4a0ed8c0',1,'xran_printf.h']]], + ['proc_5fdir',['PROC_DIR',['../xran__sync__api_8c.html#a74c4e1e72964de291652bbec04e4e4c9',1,'xran_sync_api.c']]], + ['ptp4l_5fproc_5fname',['PTP4L_PROC_NAME',['../xran__sync__api_8c.html#ad1e97ed2634bf44c3b2d5366cfa3deda',1,'xran_sync_api.c']]] +]; diff --git a/docs/API/search/defines_f.html b/docs/API/search/defines_f.html new file mode 100644 index 0000000..fbd7936 --- /dev/null +++ b/docs/API/search/defines_f.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/defines_f.js b/docs/API/search/defines_f.js new file mode 100644 index 0000000..a242ce9 --- /dev/null +++ b/docs/API/search/defines_f.js @@ -0,0 +1,24 @@ +var searchData= +[ + ['rb_5fnum_5froundup',['RB_NUM_ROUNDUP',['../xran__compression_8cpp.html#a8e2efc093002a3f4ed586a274dac0814',1,'xran_compression.cpp']]], + ['resource_5fcore_5f0',['RESOURCE_CORE_0',['../xran__mlog__task__id_8h.html#ad63ecf36236d55b6889b694a37f4c82a',1,'RESOURCE_CORE_0(): xran_mlog_task_id.h'],['../xran__lib__mlog__tasks__id_8h.html#ad63ecf36236d55b6889b694a37f4c82a',1,'RESOURCE_CORE_0(): xran_lib_mlog_tasks_id.h']]], + ['resource_5fcore_5f1',['RESOURCE_CORE_1',['../xran__mlog__task__id_8h.html#a206f9b6fd7606da5b0ddbeda0cc2d30d',1,'RESOURCE_CORE_1(): xran_mlog_task_id.h'],['../xran__lib__mlog__tasks__id_8h.html#a206f9b6fd7606da5b0ddbeda0cc2d30d',1,'RESOURCE_CORE_1(): xran_lib_mlog_tasks_id.h']]], + ['resource_5fcore_5f10',['RESOURCE_CORE_10',['../xran__mlog__task__id_8h.html#a95a2ee6d2e9053eba72cfbd68b61e726',1,'RESOURCE_CORE_10(): xran_mlog_task_id.h'],['../xran__lib__mlog__tasks__id_8h.html#a95a2ee6d2e9053eba72cfbd68b61e726',1,'RESOURCE_CORE_10(): xran_lib_mlog_tasks_id.h']]], + ['resource_5fcore_5f11',['RESOURCE_CORE_11',['../xran__mlog__task__id_8h.html#ac7c78da6670986038e59ec04197ba2de',1,'RESOURCE_CORE_11(): xran_mlog_task_id.h'],['../xran__lib__mlog__tasks__id_8h.html#ac7c78da6670986038e59ec04197ba2de',1,'RESOURCE_CORE_11(): xran_lib_mlog_tasks_id.h']]], + ['resource_5fcore_5f12',['RESOURCE_CORE_12',['../xran__mlog__task__id_8h.html#a4810ab3931b63321f315a33471562621',1,'RESOURCE_CORE_12(): xran_mlog_task_id.h'],['../xran__lib__mlog__tasks__id_8h.html#a4810ab3931b63321f315a33471562621',1,'RESOURCE_CORE_12(): xran_lib_mlog_tasks_id.h']]], + ['resource_5fcore_5f13',['RESOURCE_CORE_13',['../xran__mlog__task__id_8h.html#a1b85fbf64ceefa1ff866a9904cc08447',1,'RESOURCE_CORE_13(): xran_mlog_task_id.h'],['../xran__lib__mlog__tasks__id_8h.html#a1b85fbf64ceefa1ff866a9904cc08447',1,'RESOURCE_CORE_13(): xran_lib_mlog_tasks_id.h']]], + ['resource_5fcore_5f14',['RESOURCE_CORE_14',['../xran__mlog__task__id_8h.html#a662204d14e93ec97c3860dba456708ae',1,'RESOURCE_CORE_14(): xran_mlog_task_id.h'],['../xran__lib__mlog__tasks__id_8h.html#a662204d14e93ec97c3860dba456708ae',1,'RESOURCE_CORE_14(): xran_lib_mlog_tasks_id.h']]], + ['resource_5fcore_5f15',['RESOURCE_CORE_15',['../xran__mlog__task__id_8h.html#a05f7fe99fea79c815423f3b68b045bbc',1,'RESOURCE_CORE_15(): xran_mlog_task_id.h'],['../xran__lib__mlog__tasks__id_8h.html#a05f7fe99fea79c815423f3b68b045bbc',1,'RESOURCE_CORE_15(): xran_lib_mlog_tasks_id.h']]], + ['resource_5fcore_5f16',['RESOURCE_CORE_16',['../xran__mlog__task__id_8h.html#ab62f03244680e08b6d290b84605b926d',1,'RESOURCE_CORE_16(): xran_mlog_task_id.h'],['../xran__lib__mlog__tasks__id_8h.html#ab62f03244680e08b6d290b84605b926d',1,'RESOURCE_CORE_16(): xran_lib_mlog_tasks_id.h']]], + ['resource_5fcore_5f2',['RESOURCE_CORE_2',['../xran__mlog__task__id_8h.html#a85fd89028c0e45defdd171a529cb3eb5',1,'RESOURCE_CORE_2(): xran_mlog_task_id.h'],['../xran__lib__mlog__tasks__id_8h.html#a85fd89028c0e45defdd171a529cb3eb5',1,'RESOURCE_CORE_2(): xran_lib_mlog_tasks_id.h']]], + ['resource_5fcore_5f3',['RESOURCE_CORE_3',['../xran__mlog__task__id_8h.html#a497b673d19fb0e0a12e047433e0a0e91',1,'RESOURCE_CORE_3(): xran_mlog_task_id.h'],['../xran__lib__mlog__tasks__id_8h.html#a497b673d19fb0e0a12e047433e0a0e91',1,'RESOURCE_CORE_3(): xran_lib_mlog_tasks_id.h']]], + ['resource_5fcore_5f4',['RESOURCE_CORE_4',['../xran__mlog__task__id_8h.html#ab2899a3a28bf6b48f5f252944f96d07b',1,'RESOURCE_CORE_4(): xran_mlog_task_id.h'],['../xran__lib__mlog__tasks__id_8h.html#ab2899a3a28bf6b48f5f252944f96d07b',1,'RESOURCE_CORE_4(): xran_lib_mlog_tasks_id.h']]], + ['resource_5fcore_5f5',['RESOURCE_CORE_5',['../xran__mlog__task__id_8h.html#a33defb76a292b4840ef108746339240c',1,'RESOURCE_CORE_5(): xran_mlog_task_id.h'],['../xran__lib__mlog__tasks__id_8h.html#a33defb76a292b4840ef108746339240c',1,'RESOURCE_CORE_5(): xran_lib_mlog_tasks_id.h']]], + ['resource_5fcore_5f6',['RESOURCE_CORE_6',['../xran__mlog__task__id_8h.html#a26695e5577928c9e80d055714a937329',1,'RESOURCE_CORE_6(): xran_mlog_task_id.h'],['../xran__lib__mlog__tasks__id_8h.html#a26695e5577928c9e80d055714a937329',1,'RESOURCE_CORE_6(): xran_lib_mlog_tasks_id.h']]], + ['resource_5fcore_5f7',['RESOURCE_CORE_7',['../xran__mlog__task__id_8h.html#ae38446635f2f0f32f48776a8af2d21c7',1,'RESOURCE_CORE_7(): xran_mlog_task_id.h'],['../xran__lib__mlog__tasks__id_8h.html#ae38446635f2f0f32f48776a8af2d21c7',1,'RESOURCE_CORE_7(): xran_lib_mlog_tasks_id.h']]], + ['resource_5fcore_5f8',['RESOURCE_CORE_8',['../xran__mlog__task__id_8h.html#aac32aa932a156c8c4c0be901d63cfb4f',1,'RESOURCE_CORE_8(): xran_mlog_task_id.h'],['../xran__lib__mlog__tasks__id_8h.html#aac32aa932a156c8c4c0be901d63cfb4f',1,'RESOURCE_CORE_8(): xran_lib_mlog_tasks_id.h']]], + ['resource_5fcore_5f9',['RESOURCE_CORE_9',['../xran__mlog__task__id_8h.html#a9b127d3cfc1299cb5706e46c1ef6d756',1,'RESOURCE_CORE_9(): xran_mlog_task_id.h'],['../xran__lib__mlog__tasks__id_8h.html#a9b127d3cfc1299cb5706e46c1ef6d756',1,'RESOURCE_CORE_9(): xran_lib_mlog_tasks_id.h']]], + ['resource_5fia_5fcore',['RESOURCE_IA_CORE',['../xran__mlog__task__id_8h.html#a8e34684ae6b2d25c23323b56693266f0',1,'RESOURCE_IA_CORE(): xran_mlog_task_id.h'],['../xran__lib__mlog__tasks__id_8h.html#a8e34684ae6b2d25c23323b56693266f0',1,'RESOURCE_IA_CORE(): xran_lib_mlog_tasks_id.h']]], + ['ringmask',['RINGMASK',['../ethernet_8c.html#a86876a46f9f0a408e13cb2a225b8e4e6',1,'ethernet.c']]], + ['ringsize',['RINGSIZE',['../ethernet_8c.html#a0ff6d080449124d52d868d9ce2ffe871',1,'ethernet.c']]] +]; diff --git a/docs/API/search/enums_0.html b/docs/API/search/enums_0.html new file mode 100644 index 0000000..ee343ac --- /dev/null +++ b/docs/API/search/enums_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/enums_0.js b/docs/API/search/enums_0.js new file mode 100644 index 0000000..94232a7 --- /dev/null +++ b/docs/API/search/enums_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['app_5fstate',['app_state',['../common_8h.html#a3f6c4cb016839c3f57ab648b84dc4d8a',1,'common.h']]] +]; diff --git a/docs/API/search/enums_1.html b/docs/API/search/enums_1.html new file mode 100644 index 0000000..3fd210a --- /dev/null +++ b/docs/API/search/enums_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/enums_1.js b/docs/API/search/enums_1.js new file mode 100644 index 0000000..8ec46ad --- /dev/null +++ b/docs/API/search/enums_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['bblib_5fmodulation_5forder',['bblib_modulation_order',['../common__typedef__xran_8h.html#ae4964776723fd520ab6b6bfc0e67a8b6',1,'common_typedef_xran.h']]] +]; diff --git a/docs/API/search/enums_2.html b/docs/API/search/enums_2.html new file mode 100644 index 0000000..a042e52 --- /dev/null +++ b/docs/API/search/enums_2.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/enums_2.js b/docs/API/search/enums_2.js new file mode 100644 index 0000000..8543147 --- /dev/null +++ b/docs/API/search/enums_2.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['callback_5fto_5fphy_5fid',['callback_to_phy_id',['../xran__fh__o__du_8h.html#a8eb67099ddcb1b5877a494edfd450d24',1,'xran_fh_o_du.h']]] +]; diff --git a/docs/API/search/enums_3.html b/docs/API/search/enums_3.html new file mode 100644 index 0000000..265e0cb --- /dev/null +++ b/docs/API/search/enums_3.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/enums_3.js b/docs/API/search/enums_3.js new file mode 100644 index 0000000..045e0a7 --- /dev/null +++ b/docs/API/search/enums_3.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['ecpri_5fmsg_5ftype',['ecpri_msg_type',['../group__xran__common__pkt.html#ga5f49588115e2d0a807ad613ae866384a',1,'xran_pkt.h']]] +]; diff --git a/docs/API/search/enums_4.html b/docs/API/search/enums_4.html new file mode 100644 index 0000000..97ee07f --- /dev/null +++ b/docs/API/search/enums_4.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/enums_4.js b/docs/API/search/enums_4.js new file mode 100644 index 0000000..b7ec23f --- /dev/null +++ b/docs/API/search/enums_4.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['instruction_5fcpu_5fsupport',['instruction_cpu_support',['../common__typedef__xran_8h.html#a4c160ac3b177a2fde8738ef01e58494c',1,'common_typedef_xran.h']]] +]; diff --git a/docs/API/search/enums_5.html b/docs/API/search/enums_5.html new file mode 100644 index 0000000..f837d25 --- /dev/null +++ b/docs/API/search/enums_5.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/enums_5.js b/docs/API/search/enums_5.js new file mode 100644 index 0000000..781733a --- /dev/null +++ b/docs/API/search/enums_5.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['nchbw',['nChBw',['../classxran_lib_wraper.html#a163a7a574581e04dfa9cc60cfc81e7f5',1,'xranLibWraper']]], + ['nrchbwoptions',['nRChBwOptions',['../common_8h.html#ace60ebb76d1266cd70c6b0a2cdb975af',1,'common.h']]], + ['nxranchbwoptions',['nXranChBwOptions',['../xran__frame__struct_8c.html#a6dc2f74f96bce0cce28b65f446b76bc9',1,'xran_frame_struct.c']]] +]; diff --git a/docs/API/search/enums_6.html b/docs/API/search/enums_6.html new file mode 100644 index 0000000..56491ab --- /dev/null +++ b/docs/API/search/enums_6.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/enums_6.js b/docs/API/search/enums_6.js new file mode 100644 index 0000000..e408e1c --- /dev/null +++ b/docs/API/search/enums_6.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['parse_5fevent_5ft',['parse_event_t',['../classnlohmann_1_1basic__json.html#a284abb29079a3ece0b67d67da11da441',1,'nlohmann::basic_json']]], + ['pkt_5ftype',['pkt_type',['../ethernet_8h.html#afc285891d94145229942219cffd91c4c',1,'ethernet.h']]], + ['preambleformatenum',['PreambleFormatEnum',['../xran__common_8h.html#a8c9c50771b8a51b0209b1866855b80dd',1,'xran_common.h']]] +]; diff --git a/docs/API/search/enums_7.html b/docs/API/search/enums_7.html new file mode 100644 index 0000000..5851773 --- /dev/null +++ b/docs/API/search/enums_7.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/enums_7.js b/docs/API/search/enums_7.js new file mode 100644 index 0000000..d7fee15 --- /dev/null +++ b/docs/API/search/enums_7.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['swxraninterfacetypeenum',['SWXRANInterfaceTypeEnum',['../classxran_lib_wraper.html#afecde4b156cd353cb29487bbb9675d46',1,'xranLibWraper::SWXRANInterfaceTypeEnum()'],['../sample-app_8c.html#afecde4b156cd353cb29487bbb9675d46',1,'SWXRANInterfaceTypeEnum(): sample-app.c']]] +]; diff --git a/docs/API/search/enums_8.html b/docs/API/search/enums_8.html new file mode 100644 index 0000000..74b2e21 --- /dev/null +++ b/docs/API/search/enums_8.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/enums_8.js b/docs/API/search/enums_8.js new file mode 100644 index 0000000..924ab68 --- /dev/null +++ b/docs/API/search/enums_8.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['value_5ft',['value_t',['../namespacenlohmann_1_1detail.html#aedb3045c82a17d48de0f030229adbffe',1,'nlohmann::detail']]] +]; diff --git a/docs/API/search/enums_9.html b/docs/API/search/enums_9.html new file mode 100644 index 0000000..c08dec7 --- /dev/null +++ b/docs/API/search/enums_9.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/enums_9.js b/docs/API/search/enums_9.js new file mode 100644 index 0000000..5a5ad56 --- /dev/null +++ b/docs/API/search/enums_9.js @@ -0,0 +1,26 @@ +var searchData= +[ + ['xran_5fbbdev_5finit',['xran_bbdev_init',['../xran__fh__o__du_8h.html#a4c62e469317040d695487f294cf9e0ba',1,'xran_fh_o_du.h']]], + ['xran_5fbeamforming_5ftype',['xran_beamforming_type',['../xran__fh__o__du_8h.html#ab78adb73387ef66b18318c2425be2f27',1,'xran_fh_o_du.h']]], + ['xran_5fcategory',['xran_category',['../xran__fh__o__du_8h.html#abf0211a253f5881ebad3910cef98d30e',1,'xran_fh_o_du.h']]], + ['xran_5fcompression_5fmethod',['xran_compression_method',['../xran__fh__o__du_8h.html#afc082593977ad91f3dcdd2175cb74615',1,'xran_fh_o_du.h']]], + ['xran_5fcp_5fbfa_5fbitwidth',['xran_cp_bfa_bitwidth',['../xran__cp__api_8h.html#af0c76f21d944cd4527170c37c652d388',1,'xran_cp_api.h']]], + ['xran_5fcp_5fbfw_5fcompression_5fmethod',['xran_cp_bfw_compression_method',['../xran__cp__api_8h.html#a241943465db5d59b297c1401b4579687',1,'xran_cp_api.h']]], + ['xran_5fcp_5ffftsize',['xran_cp_fftsize',['../xran__cp__api_8h.html#a36acab66b2e66a57a07491b9bcf042aa',1,'xran_cp_api.h']]], + ['xran_5fcp_5ffilterindex',['xran_cp_filterindex',['../xran__cp__api_8h.html#ae51812e2dae7d8776b443f818f277d5b',1,'xran_cp_api.h']]], + ['xran_5fcp_5frbindicator',['xran_cp_rbindicator',['../xran__cp__api_8h.html#a1087eb8c21d4b4e104b12a056ff65553',1,'xran_cp_api.h']]], + ['xran_5fcp_5fsectionextcmd',['xran_cp_sectionextcmd',['../xran__cp__api_8h.html#aa8ad3a412a8007bef79fb6ff224fc977',1,'xran_cp_api.h']]], + ['xran_5fcp_5fsectiontype',['xran_cp_sectiontype',['../xran__cp__api_8h.html#a6e8f1d76afde95b2d85b1fd99aaa1610',1,'xran_cp_api.h']]], + ['xran_5fcp_5fsubcarrierspacing',['xran_cp_subcarrierspacing',['../xran__cp__api_8h.html#ab5fcc18cec14a3550b834bdf8f2d5797',1,'xran_cp_api.h']]], + ['xran_5fcp_5fsymbolnuminc',['xran_cp_symbolnuminc',['../xran__cp__api_8h.html#a056d791208720148306b686856cd36b0',1,'xran_cp_api.h']]], + ['xran_5fentities_5fid',['xran_entities_id',['../ethdi_8h.html#a0e36dceadaee8cb4907cd2110d135851',1,'ethdi.h']]], + ['xran_5fethdi_5fvf_5fports',['xran_ethdi_vf_ports',['../ethdi_8h.html#a08bfa37a0c337e82469d07cac15fd22b',1,'ethdi.h']]], + ['xran_5fif_5fstate',['xran_if_state',['../xran__fh__o__du_8h.html#a2f600110ab5726a0f21375b7f24c0326',1,'xran_fh_o_du.h']]], + ['xran_5finput_5fbyte_5forder',['xran_input_byte_order',['../xran__fh__o__du_8h.html#ab5ce6839bae2968c79930a0bfa17f4d8',1,'xran_fh_o_du.h']]], + ['xran_5finput_5fi_5fq_5forder',['xran_input_i_q_order',['../xran__fh__o__du_8h.html#a0d9cb4cebbc59a8fa5bfef7547898859',1,'xran_fh_o_du.h']]], + ['xran_5fping_5fstates',['xran_ping_states',['../ethdi_8h.html#a400519d4f3774fc47bc51223a4e3e1b4',1,'ethdi.h']]], + ['xran_5fpkt_5fdir',['xran_pkt_dir',['../group__xran__common__pkt.html#ga9c60a23fdae979ad1842b255790d1558',1,'xran_pkt.h']]], + ['xran_5fvf_5fports',['xran_vf_ports',['../xran__fh__o__du_8h.html#a185d8ae20c697568878935f0a260227a',1,'xran_fh_o_du.h']]], + ['xran_5fweight_5fbased_5fbeamforming_5ftype',['xran_weight_based_beamforming_type',['../xran__fh__o__du_8h.html#a80cd33d519d5b1993e2a1de8b78b3059',1,'xran_fh_o_du.h']]], + ['xranframeduplextype',['XranFrameDuplexType',['../xran__fh__o__du_8h.html#a1784f85d62401cba0ffb49c4d2467aae',1,'xran_fh_o_du.h']]] +]; diff --git a/docs/API/search/enumvalues_0.html b/docs/API/search/enumvalues_0.html new file mode 100644 index 0000000..9387b6a --- /dev/null +++ b/docs/API/search/enumvalues_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/enumvalues_0.js b/docs/API/search/enumvalues_0.js new file mode 100644 index 0000000..e1f4f89 --- /dev/null +++ b/docs/API/search/enumvalues_0.js @@ -0,0 +1,12 @@ +var searchData= +[ + ['app_5frunning',['APP_RUNNING',['../common_8h.html#a3f6c4cb016839c3f57ab648b84dc4d8aa71b026b3a2b676e4176ee9f8dae22f1d',1,'common.h']]], + ['app_5fstopped',['APP_STOPPED',['../common_8h.html#a3f6c4cb016839c3f57ab648b84dc4d8aa19260773e34f9f3a8a32038f798c8dc8',1,'common.h']]], + ['array',['array',['../namespacenlohmann_1_1detail.html#aedb3045c82a17d48de0f030229adbffeaf1f713c9e000f5d3f280adbd124df4f5',1,'nlohmann::detail']]], + ['array_5fend',['array_end',['../classnlohmann_1_1basic__json.html#a284abb29079a3ece0b67d67da11da441a49642fb732aa2e112188fba1f9d3ef7f',1,'nlohmann::basic_json']]], + ['array_5fstart',['array_start',['../classnlohmann_1_1basic__json.html#a284abb29079a3ece0b67d67da11da441aa4388a3d92419edbb1c6efd4d52461f3',1,'nlohmann::basic_json']]], + ['avx',['AVX',['../common__typedef__xran_8h.html#a4c160ac3b177a2fde8738ef01e58494ca0f2500907bbad2fb795fba8fafd31b2a',1,'common_typedef_xran.h']]], + ['avx2',['AVX2',['../common__typedef__xran_8h.html#a4c160ac3b177a2fde8738ef01e58494ca7b9822126e7b712535af7b882409bf8b',1,'common_typedef_xran.h']]], + ['avx_5f512',['AVX_512',['../common__typedef__xran_8h.html#a4c160ac3b177a2fde8738ef01e58494ca90b287f46b6b1d6837db75d9822aa45b',1,'common_typedef_xran.h']]], + ['awaiting_5fpong',['AWAITING_PONG',['../ethdi_8h.html#a400519d4f3774fc47bc51223a4e3e1b4a626bfa1d39d92be95dde42f08ec88ef1',1,'ethdi.h']]] +]; diff --git a/docs/API/search/enumvalues_1.html b/docs/API/search/enumvalues_1.html new file mode 100644 index 0000000..f622aba --- /dev/null +++ b/docs/API/search/enumvalues_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/enumvalues_1.js b/docs/API/search/enumvalues_1.js new file mode 100644 index 0000000..70f01c5 --- /dev/null +++ b/docs/API/search/enumvalues_1.js @@ -0,0 +1,12 @@ +var searchData= +[ + ['bblib_5fbpsk',['BBLIB_BPSK',['../common__typedef__xran_8h.html#ae4964776723fd520ab6b6bfc0e67a8b6affa185d00e64c0fc312a10c71c144bfe',1,'common_typedef_xran.h']]], + ['bblib_5fpam16',['BBLIB_PAM16',['../common__typedef__xran_8h.html#ae4964776723fd520ab6b6bfc0e67a8b6ad1d71af50723bd8a63f71121583ab733',1,'common_typedef_xran.h']]], + ['bblib_5fpam4',['BBLIB_PAM4',['../common__typedef__xran_8h.html#ae4964776723fd520ab6b6bfc0e67a8b6ae29379fddc7553a86ec472c04dd2de75',1,'common_typedef_xran.h']]], + ['bblib_5fpam8',['BBLIB_PAM8',['../common__typedef__xran_8h.html#ae4964776723fd520ab6b6bfc0e67a8b6abc850d4e4f30926a8765a407ff5aad1d',1,'common_typedef_xran.h']]], + ['bblib_5fqam16',['BBLIB_QAM16',['../common__typedef__xran_8h.html#ae4964776723fd520ab6b6bfc0e67a8b6ae78ba60e6ca5f0a213f076475d518681',1,'common_typedef_xran.h']]], + ['bblib_5fqam256',['BBLIB_QAM256',['../common__typedef__xran_8h.html#ae4964776723fd520ab6b6bfc0e67a8b6adf6fefcea8ec929ec875115de63f6baa',1,'common_typedef_xran.h']]], + ['bblib_5fqam64',['BBLIB_QAM64',['../common__typedef__xran_8h.html#ae4964776723fd520ab6b6bfc0e67a8b6a3cb5c6d126958eb06de4d66cf88b9ca9',1,'common_typedef_xran.h']]], + ['bblib_5fqpsk',['BBLIB_QPSK',['../common__typedef__xran_8h.html#ae4964776723fd520ab6b6bfc0e67a8b6a9d7f0f22fd5b2ef5cb084bebf379eaa7',1,'common_typedef_xran.h']]], + ['boolean',['boolean',['../namespacenlohmann_1_1detail.html#aedb3045c82a17d48de0f030229adbffea84e2c64f38f78ba3ea5c905ab5a2da27',1,'nlohmann::detail']]] +]; diff --git a/docs/API/search/enumvalues_2.html b/docs/API/search/enumvalues_2.html new file mode 100644 index 0000000..d499078 --- /dev/null +++ b/docs/API/search/enumvalues_2.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/enumvalues_2.js b/docs/API/search/enumvalues_2.js new file mode 100644 index 0000000..ddc6f4b --- /dev/null +++ b/docs/API/search/enumvalues_2.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['cpu_5fgeneric',['CPU_GENERIC',['../common__typedef__xran_8h.html#a4c160ac3b177a2fde8738ef01e58494caa76b502aab6c6110511beaf3297aab5f',1,'common_typedef_xran.h']]] +]; diff --git a/docs/API/search/enumvalues_3.html b/docs/API/search/enumvalues_3.html new file mode 100644 index 0000000..b4fc3ee --- /dev/null +++ b/docs/API/search/enumvalues_3.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/enumvalues_3.js b/docs/API/search/enumvalues_3.js new file mode 100644 index 0000000..c0212e0 --- /dev/null +++ b/docs/API/search/enumvalues_3.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['discarded',['discarded',['../namespacenlohmann_1_1detail.html#aedb3045c82a17d48de0f030229adbffea94708897ec9db8647dfe695714c98e46',1,'nlohmann::detail']]] +]; diff --git a/docs/API/search/enumvalues_4.html b/docs/API/search/enumvalues_4.html new file mode 100644 index 0000000..d6f69ac --- /dev/null +++ b/docs/API/search/enumvalues_4.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/enumvalues_4.js b/docs/API/search/enumvalues_4.js new file mode 100644 index 0000000..63bc2d0 --- /dev/null +++ b/docs/API/search/enumvalues_4.js @@ -0,0 +1,15 @@ +var searchData= +[ + ['ecpri_5fbit_5fsequence',['ECPRI_BIT_SEQUENCE',['../group__xran__common__pkt.html#gga5f49588115e2d0a807ad613ae866384aa83e30716d1c67fc4c96aed3dc63306e7',1,'xran_pkt.h']]], + ['ecpri_5fdelay_5fmeasurement',['ECPRI_DELAY_MEASUREMENT',['../group__xran__common__pkt.html#gga5f49588115e2d0a807ad613ae866384aa83e33b4f939bf5f34675c575efef7725',1,'xran_pkt.h']]], + ['ecpri_5fevent_5findication',['ECPRI_EVENT_INDICATION',['../group__xran__common__pkt.html#gga5f49588115e2d0a807ad613ae866384aa2936c4480b2bb50029755835dca9727d',1,'xran_pkt.h']]], + ['ecpri_5fgen_5fdata_5ftransfer',['ECPRI_GEN_DATA_TRANSFER',['../group__xran__common__pkt.html#gga5f49588115e2d0a807ad613ae866384aaa63937b639e3635a13a385109df8883b',1,'xran_pkt.h']]], + ['ecpri_5fiq_5fdata',['ECPRI_IQ_DATA',['../group__xran__common__pkt.html#gga5f49588115e2d0a807ad613ae866384aaef46b9a1a9d9f7c3276e1e99b02ef6de',1,'xran_pkt.h']]], + ['ecpri_5fmsg_5ftype_5fmax',['ECPRI_MSG_TYPE_MAX',['../group__xran__common__pkt.html#gga5f49588115e2d0a807ad613ae866384aa02a7dc510de42e21631982f2c60be2f1',1,'xran_pkt.h']]], + ['ecpri_5fremote_5fmem_5faccess',['ECPRI_REMOTE_MEM_ACCESS',['../group__xran__common__pkt.html#gga5f49588115e2d0a807ad613ae866384aa030da92cf8a6e8fe6ef5dda2d8d6869b',1,'xran_pkt.h']]], + ['ecpri_5fremote_5freset',['ECPRI_REMOTE_RESET',['../group__xran__common__pkt.html#gga5f49588115e2d0a807ad613ae866384aa58c3ff60f86b8a738082deeee4e3f1ab',1,'xran_pkt.h']]], + ['ecpri_5frt_5fcontrol_5fdata',['ECPRI_RT_CONTROL_DATA',['../group__xran__common__pkt.html#gga5f49588115e2d0a807ad613ae866384aa54c48b34d68f3445f6108e416a655955',1,'xran_pkt.h']]], + ['ethdi_5fcp_5fvf',['ETHDI_CP_VF',['../ethdi_8h.html#a08bfa37a0c337e82469d07cac15fd22bafd65206af3962a0d333f6bf4456b8c11',1,'ethdi.h']]], + ['ethdi_5fup_5fvf',['ETHDI_UP_VF',['../ethdi_8h.html#a08bfa37a0c337e82469d07cac15fd22bad26902fd68760130ecf75d5ec52a027d',1,'ethdi.h']]], + ['ethdi_5fvf_5fmax',['ETHDI_VF_MAX',['../ethdi_8h.html#a08bfa37a0c337e82469d07cac15fd22ba6f2e27be6beca5899e45e8ebade5216d',1,'ethdi.h']]] +]; diff --git a/docs/API/search/enumvalues_5.html b/docs/API/search/enumvalues_5.html new file mode 100644 index 0000000..43a28d1 --- /dev/null +++ b/docs/API/search/enumvalues_5.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/enumvalues_5.js b/docs/API/search/enumvalues_5.js new file mode 100644 index 0000000..757a580 --- /dev/null +++ b/docs/API/search/enumvalues_5.js @@ -0,0 +1,17 @@ +var searchData= +[ + ['format_5f0',['FORMAT_0',['../xran__common_8h.html#a8c9c50771b8a51b0209b1866855b80dda3da3630c9b4bcccd0ce575dec64f1e8c',1,'xran_common.h']]], + ['format_5f1',['FORMAT_1',['../xran__common_8h.html#a8c9c50771b8a51b0209b1866855b80ddaa8dcdd4c043312a1375dcca7c9871890',1,'xran_common.h']]], + ['format_5f2',['FORMAT_2',['../xran__common_8h.html#a8c9c50771b8a51b0209b1866855b80ddace242c744b99c7a362cd3d1def11f1c2',1,'xran_common.h']]], + ['format_5f3',['FORMAT_3',['../xran__common_8h.html#a8c9c50771b8a51b0209b1866855b80ddaf68a27769c5e6ba92952e5c0e020e5a6',1,'xran_common.h']]], + ['format_5fa1',['FORMAT_A1',['../xran__common_8h.html#a8c9c50771b8a51b0209b1866855b80dda4dbd8b9cc1a25a875c17515359bd1b1d',1,'xran_common.h']]], + ['format_5fa2',['FORMAT_A2',['../xran__common_8h.html#a8c9c50771b8a51b0209b1866855b80ddac9e8e841dda58d91cba5f171ff7ff3fe',1,'xran_common.h']]], + ['format_5fa3',['FORMAT_A3',['../xran__common_8h.html#a8c9c50771b8a51b0209b1866855b80dda4daf71066792c884693864fefcda15e7',1,'xran_common.h']]], + ['format_5fb1',['FORMAT_B1',['../xran__common_8h.html#a8c9c50771b8a51b0209b1866855b80ddac94f811c4266a82ce5064662e402e1ef',1,'xran_common.h']]], + ['format_5fb2',['FORMAT_B2',['../xran__common_8h.html#a8c9c50771b8a51b0209b1866855b80ddadcf4ca500d4c83886f855a53e4f7d525',1,'xran_common.h']]], + ['format_5fb3',['FORMAT_B3',['../xran__common_8h.html#a8c9c50771b8a51b0209b1866855b80dda6934efee56a47d220a516928ec0d3306',1,'xran_common.h']]], + ['format_5fb4',['FORMAT_B4',['../xran__common_8h.html#a8c9c50771b8a51b0209b1866855b80dda4f3a9d68540b513a7ea82b7795632e95',1,'xran_common.h']]], + ['format_5fc0',['FORMAT_C0',['../xran__common_8h.html#a8c9c50771b8a51b0209b1866855b80dda858e0c1dfeafae5dba3691fbfcb3c7a2',1,'xran_common.h']]], + ['format_5fc2',['FORMAT_C2',['../xran__common_8h.html#a8c9c50771b8a51b0209b1866855b80dda900ab029e31373a471a67c75dbbefa50',1,'xran_common.h']]], + ['format_5flast',['FORMAT_LAST',['../xran__common_8h.html#a8c9c50771b8a51b0209b1866855b80ddaa185443c6e7b69491fda0d39d09ebe73',1,'xran_common.h']]] +]; diff --git a/docs/API/search/enumvalues_6.html b/docs/API/search/enumvalues_6.html new file mode 100644 index 0000000..7439ee1 --- /dev/null +++ b/docs/API/search/enumvalues_6.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/enumvalues_6.js b/docs/API/search/enumvalues_6.js new file mode 100644 index 0000000..825542b --- /dev/null +++ b/docs/API/search/enumvalues_6.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['id_5fbroadcast',['ID_BROADCAST',['../ethdi_8h.html#a0e36dceadaee8cb4907cd2110d135851ac960a8651dfedb74f745d26695fcc844',1,'ethdi.h']]], + ['id_5flls_5fcu',['ID_LLS_CU',['../ethdi_8h.html#a0e36dceadaee8cb4907cd2110d135851adb43d55990f322d26e5cdd13ae5df1c1',1,'ethdi.h']]], + ['id_5fmax',['ID_MAX',['../ethdi_8h.html#a0e36dceadaee8cb4907cd2110d135851a04d25c2b2f0416a3d9ac9c75b10d017e',1,'ethdi.h']]], + ['id_5fru',['ID_RU',['../ethdi_8h.html#a0e36dceadaee8cb4907cd2110d135851ac45a8e08bb429947dc63349e955829f9',1,'ethdi.h']]] +]; diff --git a/docs/API/search/enumvalues_7.html b/docs/API/search/enumvalues_7.html new file mode 100644 index 0000000..ab72ef1 --- /dev/null +++ b/docs/API/search/enumvalues_7.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/enumvalues_7.js b/docs/API/search/enumvalues_7.js new file mode 100644 index 0000000..2ae7b79 --- /dev/null +++ b/docs/API/search/enumvalues_7.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['key',['key',['../classnlohmann_1_1basic__json.html#a284abb29079a3ece0b67d67da11da441a3c6e0b8a9c15224a8228b9a98ca1531d',1,'nlohmann::basic_json']]] +]; diff --git a/docs/API/search/enumvalues_8.html b/docs/API/search/enumvalues_8.html new file mode 100644 index 0000000..a0e8f1c --- /dev/null +++ b/docs/API/search/enumvalues_8.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/enumvalues_8.js b/docs/API/search/enumvalues_8.js new file mode 100644 index 0000000..c44fb1b --- /dev/null +++ b/docs/API/search/enumvalues_8.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['max_5fsw_5fxran_5finterface_5fnum',['MAX_SW_XRAN_INTERFACE_NUM',['../classxran_lib_wraper.html#afecde4b156cd353cb29487bbb9675d46a6365b7a9adffb0e096ffbd8012b909c1',1,'xranLibWraper::MAX_SW_XRAN_INTERFACE_NUM()'],['../sample-app_8c.html#afecde4b156cd353cb29487bbb9675d46a6365b7a9adffb0e096ffbd8012b909c1',1,'MAX_SW_XRAN_INTERFACE_NUM(): sample-app.c']]], + ['mbuf_5ffree',['MBUF_FREE',['../ethdi_8h.html#a39fca1837c5ce7715cbf571669660c13a90bbe176be23902fec1de76501599769',1,'ethdi.h']]], + ['mbuf_5fkeep',['MBUF_KEEP',['../ethdi_8h.html#a39fca1837c5ce7715cbf571669660c13a5c8f213f6ff879119c23ec38c63a54e5',1,'ethdi.h']]] +]; diff --git a/docs/API/search/enumvalues_9.html b/docs/API/search/enumvalues_9.html new file mode 100644 index 0000000..9051459 --- /dev/null +++ b/docs/API/search/enumvalues_9.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/enumvalues_9.js b/docs/API/search/enumvalues_9.js new file mode 100644 index 0000000..9efd3d1 --- /dev/null +++ b/docs/API/search/enumvalues_9.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['null',['null',['../namespacenlohmann_1_1detail.html#aedb3045c82a17d48de0f030229adbffea37a6259cc0c1dae299a7866489dff0bd',1,'nlohmann::detail']]], + ['number_5ffloat',['number_float',['../namespacenlohmann_1_1detail.html#aedb3045c82a17d48de0f030229adbffead9966ecb59667235a57b4b999a649eef',1,'nlohmann::detail']]], + ['number_5finteger',['number_integer',['../namespacenlohmann_1_1detail.html#aedb3045c82a17d48de0f030229adbffea5763da164f8659d94a56e29df64b4bcc',1,'nlohmann::detail']]], + ['number_5funsigned',['number_unsigned',['../namespacenlohmann_1_1detail.html#aedb3045c82a17d48de0f030229adbffeadce7cc8ec29055c4158828921f2f265e',1,'nlohmann::detail']]] +]; diff --git a/docs/API/search/enumvalues_a.html b/docs/API/search/enumvalues_a.html new file mode 100644 index 0000000..f10160a --- /dev/null +++ b/docs/API/search/enumvalues_a.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/enumvalues_a.js b/docs/API/search/enumvalues_a.js new file mode 100644 index 0000000..8a2d012 --- /dev/null +++ b/docs/API/search/enumvalues_a.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['object',['object',['../namespacenlohmann_1_1detail.html#aedb3045c82a17d48de0f030229adbffeaa8cfde6331bd59eb2ac96f8911c4b666',1,'nlohmann::detail']]], + ['object_5fend',['object_end',['../classnlohmann_1_1basic__json.html#a284abb29079a3ece0b67d67da11da441af63e2a2468a37aa4f394fcc3bcb8249c',1,'nlohmann::basic_json']]], + ['object_5fstart',['object_start',['../classnlohmann_1_1basic__json.html#a284abb29079a3ece0b67d67da11da441ae73f17027cb0acbb537f29d0a6944b26',1,'nlohmann::basic_json']]] +]; diff --git a/docs/API/search/enumvalues_b.html b/docs/API/search/enumvalues_b.html new file mode 100644 index 0000000..0e2cb48 --- /dev/null +++ b/docs/API/search/enumvalues_b.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/enumvalues_b.js b/docs/API/search/enumvalues_b.js new file mode 100644 index 0000000..f1594d2 --- /dev/null +++ b/docs/API/search/enumvalues_b.js @@ -0,0 +1,48 @@ +var searchData= +[ + ['phy_5fbw_5f100_5f0_5fmhz',['PHY_BW_100_0_MHZ',['../common_8h.html#ace60ebb76d1266cd70c6b0a2cdb975afab0667ae8b27d5f90b2f876dc2fa60a8a',1,'common.h']]], + ['phy_5fbw_5f100mhz',['PHY_BW_100MHZ',['../classxran_lib_wraper.html#a163a7a574581e04dfa9cc60cfc81e7f5aa890924947f41b2c05cb5acf87b463cb',1,'xranLibWraper']]], + ['phy_5fbw_5f10_5f0_5fmhz',['PHY_BW_10_0_MHZ',['../common_8h.html#ace60ebb76d1266cd70c6b0a2cdb975afa0ffa9b60f3de26c5f0c091a92e2690ce',1,'common.h']]], + ['phy_5fbw_5f10mhz',['PHY_BW_10MHZ',['../classxran_lib_wraper.html#a163a7a574581e04dfa9cc60cfc81e7f5aae465d43fabe2dda9a2c6dbd2fa1099a',1,'xranLibWraper']]], + ['phy_5fbw_5f15_5f0_5fmhz',['PHY_BW_15_0_MHZ',['../common_8h.html#ace60ebb76d1266cd70c6b0a2cdb975afa3b9413cb26be463cb08bc3e45f1ba0e4',1,'common.h']]], + ['phy_5fbw_5f15mhz',['PHY_BW_15MHZ',['../classxran_lib_wraper.html#a163a7a574581e04dfa9cc60cfc81e7f5a6eac287ee60ef4b214f6cd0b8196c7e4',1,'xranLibWraper']]], + ['phy_5fbw_5f200_5f0_5fmhz',['PHY_BW_200_0_MHZ',['../common_8h.html#ace60ebb76d1266cd70c6b0a2cdb975afa5d3a9ef2cafdd5f4c3b5c9dd9332406b',1,'common.h']]], + ['phy_5fbw_5f200mhz',['PHY_BW_200MHZ',['../classxran_lib_wraper.html#a163a7a574581e04dfa9cc60cfc81e7f5a845dedb5bd2f41b50f6a7268473435a0',1,'xranLibWraper']]], + ['phy_5fbw_5f20_5f0_5fmhz',['PHY_BW_20_0_MHZ',['../common_8h.html#ace60ebb76d1266cd70c6b0a2cdb975afa827e54f2b9563a648648617dabae6b86',1,'common.h']]], + ['phy_5fbw_5f20mhz',['PHY_BW_20MHZ',['../classxran_lib_wraper.html#a163a7a574581e04dfa9cc60cfc81e7f5a9aacdbe3977171e1dda54f4778698ae8',1,'xranLibWraper']]], + ['phy_5fbw_5f25_5f0_5fmhz',['PHY_BW_25_0_MHZ',['../common_8h.html#ace60ebb76d1266cd70c6b0a2cdb975afa34ebc504f2878c8e57b28ecb2aa5a3d6',1,'common.h']]], + ['phy_5fbw_5f25mhz',['PHY_BW_25MHZ',['../classxran_lib_wraper.html#a163a7a574581e04dfa9cc60cfc81e7f5a5b785d20b7b0bf419524631adcb69df2',1,'xranLibWraper']]], + ['phy_5fbw_5f30_5f0_5fmhz',['PHY_BW_30_0_MHZ',['../common_8h.html#ace60ebb76d1266cd70c6b0a2cdb975afa5e3415eba2853d7a163296722d39ce0a',1,'common.h']]], + ['phy_5fbw_5f30mhz',['PHY_BW_30MHZ',['../classxran_lib_wraper.html#a163a7a574581e04dfa9cc60cfc81e7f5acb0fe0e94ea4f59ab5dd24203d20e7a4',1,'xranLibWraper']]], + ['phy_5fbw_5f400_5f0_5fmhz',['PHY_BW_400_0_MHZ',['../common_8h.html#ace60ebb76d1266cd70c6b0a2cdb975afa2e5709bbf9b2c3443fa150a0b9d7bd01',1,'common.h']]], + ['phy_5fbw_5f400mhz',['PHY_BW_400MHZ',['../classxran_lib_wraper.html#a163a7a574581e04dfa9cc60cfc81e7f5a7217a56ae78997c5ae511d10ebb4c924',1,'xranLibWraper']]], + ['phy_5fbw_5f40_5f0_5fmhz',['PHY_BW_40_0_MHZ',['../common_8h.html#ace60ebb76d1266cd70c6b0a2cdb975afa038fd5bff3233ab71354371731be0cca',1,'common.h']]], + ['phy_5fbw_5f40mhz',['PHY_BW_40MHZ',['../classxran_lib_wraper.html#a163a7a574581e04dfa9cc60cfc81e7f5a5a479142e60c93d76621c1390d029109',1,'xranLibWraper']]], + ['phy_5fbw_5f50_5f0_5fmhz',['PHY_BW_50_0_MHZ',['../common_8h.html#ace60ebb76d1266cd70c6b0a2cdb975afab80d02a26ce30cff1a0c353fa40ee648',1,'common.h']]], + ['phy_5fbw_5f50mhz',['PHY_BW_50MHZ',['../classxran_lib_wraper.html#a163a7a574581e04dfa9cc60cfc81e7f5a890aa1814878ba9f0adfab63784ef1c1',1,'xranLibWraper']]], + ['phy_5fbw_5f5_5f0_5fmhz',['PHY_BW_5_0_MHZ',['../common_8h.html#ace60ebb76d1266cd70c6b0a2cdb975afa5fe3b6ce32a0f5d07b8d09757b0ca6ae',1,'common.h']]], + ['phy_5fbw_5f5mhz',['PHY_BW_5MHZ',['../classxran_lib_wraper.html#a163a7a574581e04dfa9cc60cfc81e7f5afe7527756943cdf6474ad1c40ac7d716',1,'xranLibWraper']]], + ['phy_5fbw_5f60_5f0_5fmhz',['PHY_BW_60_0_MHZ',['../common_8h.html#ace60ebb76d1266cd70c6b0a2cdb975afa069b1b1bc047d5fa38058f1df13cab23',1,'common.h']]], + ['phy_5fbw_5f60mhz',['PHY_BW_60MHZ',['../classxran_lib_wraper.html#a163a7a574581e04dfa9cc60cfc81e7f5acc82a679f8781bb880161e53650bdc33',1,'xranLibWraper']]], + ['phy_5fbw_5f70_5f0_5fmhz',['PHY_BW_70_0_MHZ',['../common_8h.html#ace60ebb76d1266cd70c6b0a2cdb975afa80603099c73c2d2a53541404c4daea10',1,'common.h']]], + ['phy_5fbw_5f70mhz',['PHY_BW_70MHZ',['../classxran_lib_wraper.html#a163a7a574581e04dfa9cc60cfc81e7f5a3e20f3de146adbc3420c294819ec1e19',1,'xranLibWraper']]], + ['phy_5fbw_5f80_5f0_5fmhz',['PHY_BW_80_0_MHZ',['../common_8h.html#ace60ebb76d1266cd70c6b0a2cdb975afac06c5f55eeae8d0e44ae09b1b15a4153',1,'common.h']]], + ['phy_5fbw_5f80mhz',['PHY_BW_80MHZ',['../classxran_lib_wraper.html#a163a7a574581e04dfa9cc60cfc81e7f5a22ec162486eef1dd707ae1bd7ac8bde6',1,'xranLibWraper']]], + ['phy_5fbw_5f90_5f0_5fmhz',['PHY_BW_90_0_MHZ',['../common_8h.html#ace60ebb76d1266cd70c6b0a2cdb975afa5662647cfc4da498383a327296832f1e',1,'common.h']]], + ['phy_5fbw_5f90mhz',['PHY_BW_90MHZ',['../classxran_lib_wraper.html#a163a7a574581e04dfa9cc60cfc81e7f5a78c8c492b7c956fcd6b6e704662d385f',1,'xranLibWraper']]], + ['ping_5fidle',['PING_IDLE',['../ethdi_8h.html#a400519d4f3774fc47bc51223a4e3e1b4a10b65ee0f4ee1fa197fcc2171d53a988',1,'ethdi.h']]], + ['ping_5fneeded',['PING_NEEDED',['../ethdi_8h.html#a400519d4f3774fc47bc51223a4e3e1b4a5a397770156c4176fc6a845070313c31',1,'ethdi.h']]], + ['pkt_5fadd_5fethdev',['PKT_ADD_ETHDEV',['../ethernet_8h.html#afc285891d94145229942219cffd91c4ca3195c95ca22deaf7dc02536c6617555a',1,'ethernet.h']]], + ['pkt_5fburst',['PKT_BURST',['../ethernet_8h.html#afc285891d94145229942219cffd91c4ca8af90a8520aed9743a099ba2b764531f',1,'ethernet.h']]], + ['pkt_5fdatatest',['PKT_DATATEST',['../ethernet_8h.html#afc285891d94145229942219cffd91c4ca908ae7600f065a89921a5c456af47c7d',1,'ethernet.h']]], + ['pkt_5fdiscover_5freply',['PKT_DISCOVER_REPLY',['../ethernet_8h.html#afc285891d94145229942219cffd91c4cae21f6cb75a01b2c580aaead45f7c7196',1,'ethernet.h']]], + ['pkt_5fdiscover_5frequest',['PKT_DISCOVER_REQUEST',['../ethernet_8h.html#afc285891d94145229942219cffd91c4ca078b62e511ba63d14ecb88603e4bb3d8',1,'ethernet.h']]], + ['pkt_5fempty',['PKT_EMPTY',['../ethernet_8h.html#afc285891d94145229942219cffd91c4ca24456e415b49514cd63e1cc38fe71650',1,'ethernet.h']]], + ['pkt_5flast',['PKT_LAST',['../ethernet_8h.html#afc285891d94145229942219cffd91c4ca7f0f1f1aa3a08f0073130d85a93a27ad',1,'ethernet.h']]], + ['pkt_5flte_5fcontrol',['PKT_LTE_CONTROL',['../ethernet_8h.html#afc285891d94145229942219cffd91c4cab97d45d92672782b2d5df4b22e05b37a',1,'ethernet.h']]], + ['pkt_5flte_5fdata',['PKT_LTE_DATA',['../ethernet_8h.html#afc285891d94145229942219cffd91c4ca2d1fdda73b5130ab56898a63b87340aa',1,'ethernet.h']]], + ['pkt_5fping',['PKT_PING',['../ethernet_8h.html#afc285891d94145229942219cffd91c4ca56f5f292a54ae899fed23930aa7f3595',1,'ethernet.h']]], + ['pkt_5fpong',['PKT_PONG',['../ethernet_8h.html#afc285891d94145229942219cffd91c4ca46ea3ede1ac89dc1da120d81f1d4e789',1,'ethernet.h']]], + ['pkt_5fsync_5fstart',['PKT_SYNC_START',['../ethernet_8h.html#afc285891d94145229942219cffd91c4caf2fd82f605d41a149b61f8ba60143f72',1,'ethernet.h']]], + ['pkt_5fzero',['PKT_ZERO',['../ethernet_8h.html#afc285891d94145229942219cffd91c4ca63ce2044eec9f80b76960c2145bac8e3',1,'ethernet.h']]] +]; diff --git a/docs/API/search/enumvalues_c.html b/docs/API/search/enumvalues_c.html new file mode 100644 index 0000000..82ba68a --- /dev/null +++ b/docs/API/search/enumvalues_c.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/enumvalues_c.js b/docs/API/search/enumvalues_c.js new file mode 100644 index 0000000..81f4d07 --- /dev/null +++ b/docs/API/search/enumvalues_c.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['sse4_5f2',['SSE4_2',['../common__typedef__xran_8h.html#a4c160ac3b177a2fde8738ef01e58494ca4c63ae1c44ecd28b978e615d7773e15f',1,'common_typedef_xran.h']]], + ['string',['string',['../namespacenlohmann_1_1detail.html#aedb3045c82a17d48de0f030229adbffeab45cffe084dd3d20d928bee85e7b0f21',1,'nlohmann::detail']]] +]; diff --git a/docs/API/search/enumvalues_d.html b/docs/API/search/enumvalues_d.html new file mode 100644 index 0000000..8516692 --- /dev/null +++ b/docs/API/search/enumvalues_d.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/enumvalues_d.js b/docs/API/search/enumvalues_d.js new file mode 100644 index 0000000..3b2ea06 --- /dev/null +++ b/docs/API/search/enumvalues_d.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['value',['value',['../classnlohmann_1_1basic__json.html#a284abb29079a3ece0b67d67da11da441a2063c1608d6e0baf80249c42e2be5804',1,'nlohmann::basic_json']]] +]; diff --git a/docs/API/search/enumvalues_e.html b/docs/API/search/enumvalues_e.html new file mode 100644 index 0000000..d95adb6 --- /dev/null +++ b/docs/API/search/enumvalues_e.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/enumvalues_e.js b/docs/API/search/enumvalues_e.js new file mode 100644 index 0000000..f67149f --- /dev/null +++ b/docs/API/search/enumvalues_e.js @@ -0,0 +1,123 @@ +var searchData= +[ + ['xran_5fbbdev_5fmode_5fhw_5foff',['XRAN_BBDEV_MODE_HW_OFF',['../xran__fh__o__du_8h.html#a4c62e469317040d695487f294cf9e0baab0a570cb95560770482680552b5dc5d0',1,'xran_fh_o_du.h']]], + ['xran_5fbbdev_5fmode_5fhw_5fon',['XRAN_BBDEV_MODE_HW_ON',['../xran__fh__o__du_8h.html#a4c62e469317040d695487f294cf9e0baa444621cf5453a912cc492b1bf62c0d39',1,'xran_fh_o_du.h']]], + ['xran_5fbbdev_5fmode_5fmax',['XRAN_BBDEV_MODE_MAX',['../xran__fh__o__du_8h.html#a4c62e469317040d695487f294cf9e0baadcefd86b1065c7105f59941e8c589f09',1,'xran_fh_o_du.h']]], + ['xran_5fbbdev_5fnot_5fused',['XRAN_BBDEV_NOT_USED',['../xran__fh__o__du_8h.html#a4c62e469317040d695487f294cf9e0baaedc9957e395dca8c38c07377885b5339',1,'xran_fh_o_du.h']]], + ['xran_5fbeam_5fattribute',['XRAN_BEAM_ATTRIBUTE',['../xran__fh__o__du_8h.html#ab78adb73387ef66b18318c2425be2f27a04381c94022b91dd4d93c039dd2f87cd',1,'xran_fh_o_du.h']]], + ['xran_5fbeam_5fid_5fbased',['XRAN_BEAM_ID_BASED',['../xran__fh__o__du_8h.html#ab78adb73387ef66b18318c2425be2f27a28eb3e91604ef0f752bef0c98e48a21f',1,'xran_fh_o_du.h']]], + ['xran_5fbeam_5fweight',['XRAN_BEAM_WEIGHT',['../xran__fh__o__du_8h.html#ab78adb73387ef66b18318c2425be2f27ac65119b19d6f3b1195050fb56529e02a',1,'xran_fh_o_du.h']]], + ['xran_5fbf_5ft_5ffrequency',['XRAN_BF_T_FREQUENCY',['../xran__fh__o__du_8h.html#a80cd33d519d5b1993e2a1de8b78b3059a459884d8e31ccd918c52f051b1b870d3',1,'xran_fh_o_du.h']]], + ['xran_5fbf_5ft_5fhybrid',['XRAN_BF_T_HYBRID',['../xran__fh__o__du_8h.html#a80cd33d519d5b1993e2a1de8b78b3059abdddd2bf1b12f6fe676edd6a56284ceb',1,'xran_fh_o_du.h']]], + ['xran_5fbf_5ft_5fmax',['XRAN_BF_T_MAX',['../xran__fh__o__du_8h.html#a80cd33d519d5b1993e2a1de8b78b3059a3173fbcf6585cebb8a2e1959d908a003',1,'xran_fh_o_du.h']]], + ['xran_5fbf_5ft_5ftime',['XRAN_BF_T_TIME',['../xran__fh__o__du_8h.html#a80cd33d519d5b1993e2a1de8b78b3059aa2fb4539eb367f9d2c8f3392a5558f1d',1,'xran_fh_o_du.h']]], + ['xran_5fbfabitwidth_5f2bit',['XRAN_BFABITWIDTH_2BIT',['../xran__cp__api_8h.html#af0c76f21d944cd4527170c37c652d388a0d26ef06d0b2c89e93e8212c429898cd',1,'xran_cp_api.h']]], + ['xran_5fbfabitwidth_5f3bit',['XRAN_BFABITWIDTH_3BIT',['../xran__cp__api_8h.html#af0c76f21d944cd4527170c37c652d388a2ed8e4c00c32cec3714c748c5cb06498',1,'xran_cp_api.h']]], + ['xran_5fbfabitwidth_5f4bit',['XRAN_BFABITWIDTH_4BIT',['../xran__cp__api_8h.html#af0c76f21d944cd4527170c37c652d388a481551fc7c2b5cc3b7cc062f4c5065ec',1,'xran_cp_api.h']]], + ['xran_5fbfabitwidth_5f5bit',['XRAN_BFABITWIDTH_5BIT',['../xran__cp__api_8h.html#af0c76f21d944cd4527170c37c652d388af8cbf731a351d09786f5057ee57b4cbc',1,'xran_cp_api.h']]], + ['xran_5fbfabitwidth_5f6bit',['XRAN_BFABITWIDTH_6BIT',['../xran__cp__api_8h.html#af0c76f21d944cd4527170c37c652d388acac54cd28f5db6b9be39d8fcaf549b1b',1,'xran_cp_api.h']]], + ['xran_5fbfabitwidth_5f7bit',['XRAN_BFABITWIDTH_7BIT',['../xran__cp__api_8h.html#af0c76f21d944cd4527170c37c652d388a2bc08da32f8ff5f97f84759965172645',1,'xran_cp_api.h']]], + ['xran_5fbfabitwidth_5f8bit',['XRAN_BFABITWIDTH_8BIT',['../xran__cp__api_8h.html#af0c76f21d944cd4527170c37c652d388aab257dc74601e31feeadbdd0182f090d',1,'xran_cp_api.h']]], + ['xran_5fbfabitwidth_5fno',['XRAN_BFABITWIDTH_NO',['../xran__cp__api_8h.html#af0c76f21d944cd4527170c37c652d388a5d445f989133cbc78fb29f9c295ee43f',1,'xran_cp_api.h']]], + ['xran_5fbfwcompmethod_5fbeamspace',['XRAN_BFWCOMPMETHOD_BEAMSPACE',['../xran__cp__api_8h.html#a241943465db5d59b297c1401b4579687a036896de4dea687b4d28bd819e535529',1,'xran_cp_api.h']]], + ['xran_5fbfwcompmethod_5fblkfloat',['XRAN_BFWCOMPMETHOD_BLKFLOAT',['../xran__cp__api_8h.html#a241943465db5d59b297c1401b4579687ae57fd13dd77647afe0a45fd16d0d1d18',1,'xran_cp_api.h']]], + ['xran_5fbfwcompmethod_5fblkscale',['XRAN_BFWCOMPMETHOD_BLKSCALE',['../xran__cp__api_8h.html#a241943465db5d59b297c1401b4579687aa875f8d378e4505ebf4e03554bccda4e',1,'xran_cp_api.h']]], + ['xran_5fbfwcompmethod_5fmax',['XRAN_BFWCOMPMETHOD_MAX',['../xran__cp__api_8h.html#a241943465db5d59b297c1401b4579687ace72716ca3289daee97fc49c9f43bfc1',1,'xran_cp_api.h']]], + ['xran_5fbfwcompmethod_5fnone',['XRAN_BFWCOMPMETHOD_NONE',['../xran__cp__api_8h.html#a241943465db5d59b297c1401b4579687a69b09bde0a8a71540b00378a5eb917b9',1,'xran_cp_api.h']]], + ['xran_5fbfwcompmethod_5fulaw',['XRAN_BFWCOMPMETHOD_ULAW',['../xran__cp__api_8h.html#a241943465db5d59b297c1401b4579687a08c6866bf6b30f45d8c78a1acb33f6ca',1,'xran_cp_api.h']]], + ['xran_5fbw_5f100_5f0_5fmhz',['XRAN_BW_100_0_MHZ',['../xran__frame__struct_8c.html#a6dc2f74f96bce0cce28b65f446b76bc9a74e3adf2f47cbea3b1969d0c2abf6b6d',1,'xran_frame_struct.c']]], + ['xran_5fbw_5f10_5f0_5fmhz',['XRAN_BW_10_0_MHZ',['../xran__frame__struct_8c.html#a6dc2f74f96bce0cce28b65f446b76bc9a6962ae2a5f54f4e3ce9a149de814facd',1,'xran_frame_struct.c']]], + ['xran_5fbw_5f15_5f0_5fmhz',['XRAN_BW_15_0_MHZ',['../xran__frame__struct_8c.html#a6dc2f74f96bce0cce28b65f446b76bc9a6ad31835c019040e0e36910d47fcc516',1,'xran_frame_struct.c']]], + ['xran_5fbw_5f200_5f0_5fmhz',['XRAN_BW_200_0_MHZ',['../xran__frame__struct_8c.html#a6dc2f74f96bce0cce28b65f446b76bc9a47330264cd7945b7ec2aed5b87ebde87',1,'xran_frame_struct.c']]], + ['xran_5fbw_5f20_5f0_5fmhz',['XRAN_BW_20_0_MHZ',['../xran__frame__struct_8c.html#a6dc2f74f96bce0cce28b65f446b76bc9afb339cd770ae4e049e8771c934eb803e',1,'xran_frame_struct.c']]], + ['xran_5fbw_5f25_5f0_5fmhz',['XRAN_BW_25_0_MHZ',['../xran__frame__struct_8c.html#a6dc2f74f96bce0cce28b65f446b76bc9a04f20811e9e1a6fadba19b332f363d01',1,'xran_frame_struct.c']]], + ['xran_5fbw_5f30_5f0_5fmhz',['XRAN_BW_30_0_MHZ',['../xran__frame__struct_8c.html#a6dc2f74f96bce0cce28b65f446b76bc9a46a890a929d9a17917fb95cfaed14d77',1,'xran_frame_struct.c']]], + ['xran_5fbw_5f400_5f0_5fmhz',['XRAN_BW_400_0_MHZ',['../xran__frame__struct_8c.html#a6dc2f74f96bce0cce28b65f446b76bc9ae5c86bacab2727a2aefd1ebede8b50bf',1,'xran_frame_struct.c']]], + ['xran_5fbw_5f40_5f0_5fmhz',['XRAN_BW_40_0_MHZ',['../xran__frame__struct_8c.html#a6dc2f74f96bce0cce28b65f446b76bc9a140d2813310b9a09102560d53c574f5d',1,'xran_frame_struct.c']]], + ['xran_5fbw_5f50_5f0_5fmhz',['XRAN_BW_50_0_MHZ',['../xran__frame__struct_8c.html#a6dc2f74f96bce0cce28b65f446b76bc9a0a6780597350044ee01ce150b95b9d13',1,'xran_frame_struct.c']]], + ['xran_5fbw_5f5_5f0_5fmhz',['XRAN_BW_5_0_MHZ',['../xran__frame__struct_8c.html#a6dc2f74f96bce0cce28b65f446b76bc9af1715c0daef0f54811ab8a87f42742ee',1,'xran_frame_struct.c']]], + ['xran_5fbw_5f60_5f0_5fmhz',['XRAN_BW_60_0_MHZ',['../xran__frame__struct_8c.html#a6dc2f74f96bce0cce28b65f446b76bc9a3d0d107fb6cbe02dd80119161f686d3e',1,'xran_frame_struct.c']]], + ['xran_5fbw_5f70_5f0_5fmhz',['XRAN_BW_70_0_MHZ',['../xran__frame__struct_8c.html#a6dc2f74f96bce0cce28b65f446b76bc9af4a58d303ddb79d4204b118b9c913169',1,'xran_frame_struct.c']]], + ['xran_5fbw_5f80_5f0_5fmhz',['XRAN_BW_80_0_MHZ',['../xran__frame__struct_8c.html#a6dc2f74f96bce0cce28b65f446b76bc9af8bd3316418b620a4faed776b3526060',1,'xran_frame_struct.c']]], + ['xran_5fbw_5f90_5f0_5fmhz',['XRAN_BW_90_0_MHZ',['../xran__frame__struct_8c.html#a6dc2f74f96bce0cce28b65f446b76bc9ad49cca1191fc91dd0e54717304dd7526',1,'xran_frame_struct.c']]], + ['xran_5fcategory_5fa',['XRAN_CATEGORY_A',['../xran__fh__o__du_8h.html#abf0211a253f5881ebad3910cef98d30ea25cae7703b653209b61647fa65ac7e9f',1,'xran_fh_o_du.h']]], + ['xran_5fcategory_5fb',['XRAN_CATEGORY_B',['../xran__fh__o__du_8h.html#abf0211a253f5881ebad3910cef98d30ea6f7ea23328e0189a3c4879d7fa0d3749',1,'xran_fh_o_du.h']]], + ['xran_5fcategory_5fmax',['XRAN_CATEGORY_MAX',['../xran__fh__o__du_8h.html#abf0211a253f5881ebad3910cef98d30ea9d20ba705f8c8fa5fca2ac5dfb10c561',1,'xran_fh_o_du.h']]], + ['xran_5fcb_5ffull_5fslot_5frx',['XRAN_CB_FULL_SLOT_RX',['../xran__fh__o__du_8h.html#a8eb67099ddcb1b5877a494edfd450d24a1e3bbfc0078205779b22c99889f927af',1,'xran_fh_o_du.h']]], + ['xran_5fcb_5fhalf_5fslot_5frx',['XRAN_CB_HALF_SLOT_RX',['../xran__fh__o__du_8h.html#a8eb67099ddcb1b5877a494edfd450d24a75d1b6240b461efda58c8e06e8e9f6d2',1,'xran_fh_o_du.h']]], + ['xran_5fcb_5fmax',['XRAN_CB_MAX',['../xran__fh__o__du_8h.html#a8eb67099ddcb1b5877a494edfd450d24ae94002de5bb212ba3d5d0d761ab8149d',1,'xran_fh_o_du.h']]], + ['xran_5fcb_5ftti',['XRAN_CB_TTI',['../xran__fh__o__du_8h.html#a8eb67099ddcb1b5877a494edfd450d24ae2863e9abb188c74c5e36966396988e3',1,'xran_fh_o_du.h']]], + ['xran_5fcompmethod_5fblkfloat',['XRAN_COMPMETHOD_BLKFLOAT',['../xran__fh__o__du_8h.html#afc082593977ad91f3dcdd2175cb74615a91815a9c09cf9e8bc646b51efef13c28',1,'xran_fh_o_du.h']]], + ['xran_5fcompmethod_5fblkscale',['XRAN_COMPMETHOD_BLKSCALE',['../xran__fh__o__du_8h.html#afc082593977ad91f3dcdd2175cb74615abb1f75bf59f6240e8bb007f1baca8b76',1,'xran_fh_o_du.h']]], + ['xran_5fcompmethod_5fmax',['XRAN_COMPMETHOD_MAX',['../xran__fh__o__du_8h.html#afc082593977ad91f3dcdd2175cb74615a52b87e9b516e0c85522a8c2cd21b4fae',1,'xran_fh_o_du.h']]], + ['xran_5fcompmethod_5fmodulation',['XRAN_COMPMETHOD_MODULATION',['../xran__fh__o__du_8h.html#afc082593977ad91f3dcdd2175cb74615a9f74b93c96dd056e192cbe2295d0e33c',1,'xran_fh_o_du.h']]], + ['xran_5fcompmethod_5fnone',['XRAN_COMPMETHOD_NONE',['../xran__fh__o__du_8h.html#afc082593977ad91f3dcdd2175cb74615a7fbf705170e00d2ce3e838fa9826ca8d',1,'xran_fh_o_du.h']]], + ['xran_5fcompmethod_5fulaw',['XRAN_COMPMETHOD_ULAW',['../xran__fh__o__du_8h.html#afc082593977ad91f3dcdd2175cb74615a1b9e420d95dba65260f772a83acdf713',1,'xran_fh_o_du.h']]], + ['xran_5fcp_5fsectionextcmd_5f0',['XRAN_CP_SECTIONEXTCMD_0',['../xran__cp__api_8h.html#aa8ad3a412a8007bef79fb6ff224fc977ade744d9dc1b89a8e912564d6cd0e0ea5',1,'xran_cp_api.h']]], + ['xran_5fcp_5fsectionextcmd_5f1',['XRAN_CP_SECTIONEXTCMD_1',['../xran__cp__api_8h.html#aa8ad3a412a8007bef79fb6ff224fc977a32fbc3ce682df2f044ceb33dcc1c3e77',1,'xran_cp_api.h']]], + ['xran_5fcp_5fsectionextcmd_5f2',['XRAN_CP_SECTIONEXTCMD_2',['../xran__cp__api_8h.html#aa8ad3a412a8007bef79fb6ff224fc977aa51e4f2fde3e58c4cf60033529779e54',1,'xran_cp_api.h']]], + ['xran_5fcp_5fsectionextcmd_5f3',['XRAN_CP_SECTIONEXTCMD_3',['../xran__cp__api_8h.html#aa8ad3a412a8007bef79fb6ff224fc977a63cd3bfd8691b1633bacfd3cf9d9546d',1,'xran_cp_api.h']]], + ['xran_5fcp_5fsectionextcmd_5f4',['XRAN_CP_SECTIONEXTCMD_4',['../xran__cp__api_8h.html#aa8ad3a412a8007bef79fb6ff224fc977a0837b73911763ea972db60ead94d7c15',1,'xran_cp_api.h']]], + ['xran_5fcp_5fsectionextcmd_5f5',['XRAN_CP_SECTIONEXTCMD_5',['../xran__cp__api_8h.html#aa8ad3a412a8007bef79fb6ff224fc977aaea21d0be8d5ee905837f26a28c316a9',1,'xran_cp_api.h']]], + ['xran_5fcp_5fsectionextcmd_5fmax',['XRAN_CP_SECTIONEXTCMD_MAX',['../xran__cp__api_8h.html#aa8ad3a412a8007bef79fb6ff224fc977ac08c14037e08ed6581c6251f93ecfcab',1,'xran_cp_api.h']]], + ['xran_5fcp_5fsectiontype_5f0',['XRAN_CP_SECTIONTYPE_0',['../xran__cp__api_8h.html#a6e8f1d76afde95b2d85b1fd99aaa1610a0afad447e78f05813dd3ec3e378c7edd',1,'xran_cp_api.h']]], + ['xran_5fcp_5fsectiontype_5f1',['XRAN_CP_SECTIONTYPE_1',['../xran__cp__api_8h.html#a6e8f1d76afde95b2d85b1fd99aaa1610a1f3289201658ac2a09203c4fb974b1e7',1,'xran_cp_api.h']]], + ['xran_5fcp_5fsectiontype_5f3',['XRAN_CP_SECTIONTYPE_3',['../xran__cp__api_8h.html#a6e8f1d76afde95b2d85b1fd99aaa1610a80bcc2d7d7aff5e850d26892e703c637',1,'xran_cp_api.h']]], + ['xran_5fcp_5fsectiontype_5f5',['XRAN_CP_SECTIONTYPE_5',['../xran__cp__api_8h.html#a6e8f1d76afde95b2d85b1fd99aaa1610aef4c60356367eca22835d6905367c532',1,'xran_cp_api.h']]], + ['xran_5fcp_5fsectiontype_5f6',['XRAN_CP_SECTIONTYPE_6',['../xran__cp__api_8h.html#a6e8f1d76afde95b2d85b1fd99aaa1610ae6f2c09491abd9b5ddf176281f5fc901',1,'xran_cp_api.h']]], + ['xran_5fcp_5fsectiontype_5f7',['XRAN_CP_SECTIONTYPE_7',['../xran__cp__api_8h.html#a6e8f1d76afde95b2d85b1fd99aaa1610a99cb6565a1f64c92f624b3e036d810bb',1,'xran_cp_api.h']]], + ['xran_5fcp_5fsectiontype_5fmax',['XRAN_CP_SECTIONTYPE_MAX',['../xran__cp__api_8h.html#a6e8f1d76afde95b2d85b1fd99aaa1610a3737ed931eee1f2165a21b1bbcd5da78',1,'xran_cp_api.h']]], + ['xran_5fcp_5fvf',['XRAN_CP_VF',['../xran__fh__o__du_8h.html#a185d8ae20c697568878935f0a260227aabadad61426458852f6c89f1a74b03c1a',1,'xran_fh_o_du.h']]], + ['xran_5fcpu_5fle_5fbyte_5forder',['XRAN_CPU_LE_BYTE_ORDER',['../xran__fh__o__du_8h.html#ab5ce6839bae2968c79930a0bfa17f4d8ae0b667dc04b0baacb15bc9c40b776098',1,'xran_fh_o_du.h']]], + ['xran_5fdir_5fdl',['XRAN_DIR_DL',['../group__xran__common__pkt.html#gga9c60a23fdae979ad1842b255790d1558a19f3d3cee814f10e4f3bf7d80194083f',1,'xran_pkt.h']]], + ['xran_5fdir_5fmax',['XRAN_DIR_MAX',['../group__xran__common__pkt.html#gga9c60a23fdae979ad1842b255790d1558a927c0750db0e35def0b5e1a088a5b9e4',1,'xran_pkt.h']]], + ['xran_5fdir_5ful',['XRAN_DIR_UL',['../group__xran__common__pkt.html#gga9c60a23fdae979ad1842b255790d1558a404255db3f05419798875bfb763e1c05',1,'xran_pkt.h']]], + ['xran_5ffdd',['XRAN_FDD',['../xran__fh__o__du_8h.html#a1784f85d62401cba0ffb49c4d2467aaea852ad6bfdec7d14a64425c01c16d00c0',1,'xran_fh_o_du.h']]], + ['xran_5ffftsize_5f1024',['XRAN_FFTSIZE_1024',['../xran__cp__api_8h.html#a36acab66b2e66a57a07491b9bcf042aaab0419a98b0714d38b884840ab84ad784',1,'xran_cp_api.h']]], + ['xran_5ffftsize_5f128',['XRAN_FFTSIZE_128',['../xran__cp__api_8h.html#a36acab66b2e66a57a07491b9bcf042aaa50d036637af08ab7677a368920003e1b',1,'xran_cp_api.h']]], + ['xran_5ffftsize_5f1536',['XRAN_FFTSIZE_1536',['../xran__cp__api_8h.html#a36acab66b2e66a57a07491b9bcf042aaa211f2536fd4f1cc8c1b36807932e2d4f',1,'xran_cp_api.h']]], + ['xran_5ffftsize_5f2048',['XRAN_FFTSIZE_2048',['../xran__cp__api_8h.html#a36acab66b2e66a57a07491b9bcf042aaad1bc92c46f3cc3cf906cf22319330df7',1,'xran_cp_api.h']]], + ['xran_5ffftsize_5f256',['XRAN_FFTSIZE_256',['../xran__cp__api_8h.html#a36acab66b2e66a57a07491b9bcf042aaa704833d53f0b90eb03f834ef5ddd837e',1,'xran_cp_api.h']]], + ['xran_5ffftsize_5f4096',['XRAN_FFTSIZE_4096',['../xran__cp__api_8h.html#a36acab66b2e66a57a07491b9bcf042aaa9b94b67c9b33edae085f53f7e7c957c0',1,'xran_cp_api.h']]], + ['xran_5ffftsize_5f512',['XRAN_FFTSIZE_512',['../xran__cp__api_8h.html#a36acab66b2e66a57a07491b9bcf042aaae95c978a1024b371581c860cb2e8756d',1,'xran_cp_api.h']]], + ['xran_5ffftsize_5fmax',['XRAN_FFTSIZE_MAX',['../xran__cp__api_8h.html#a36acab66b2e66a57a07491b9bcf042aaa69d38a2028a30549ad74597c6d4ea9f6',1,'xran_cp_api.h']]], + ['xran_5ffilterindex_5fmax',['XRAN_FILTERINDEX_MAX',['../xran__cp__api_8h.html#ae51812e2dae7d8776b443f818f277d5ba8319015bdd5c905cbeaa44e2e06c159e',1,'xran_cp_api.h']]], + ['xran_5ffilterindex_5fnprach',['XRAN_FILTERINDEX_NPRACH',['../xran__cp__api_8h.html#ae51812e2dae7d8776b443f818f277d5bacbd3323e6b1ff94148f8e923a0c764a5',1,'xran_cp_api.h']]], + ['xran_5ffilterindex_5fprach_5f012',['XRAN_FILTERINDEX_PRACH_012',['../xran__cp__api_8h.html#ae51812e2dae7d8776b443f818f277d5ba1fb381749d41f85d52b2213a0ed12899',1,'xran_cp_api.h']]], + ['xran_5ffilterindex_5fprach_5f3',['XRAN_FILTERINDEX_PRACH_3',['../xran__cp__api_8h.html#ae51812e2dae7d8776b443f818f277d5ba09075588698c0c8e2be67e2ed73efac8',1,'xran_cp_api.h']]], + ['xran_5ffilterindex_5fprach_5fabc',['XRAN_FILTERINDEX_PRACH_ABC',['../xran__cp__api_8h.html#ae51812e2dae7d8776b443f818f277d5bad96d5c4d6db49c45dfe5a07ba6ad7440',1,'xran_cp_api.h']]], + ['xran_5ffilterindex_5fstandard',['XRAN_FILTERINDEX_STANDARD',['../xran__cp__api_8h.html#ae51812e2dae7d8776b443f818f277d5ba02f77bf011c81bd0e18ebcb09b175181',1,'xran_cp_api.h']]], + ['xran_5fi_5fq_5forder',['XRAN_I_Q_ORDER',['../xran__fh__o__du_8h.html#a0d9cb4cebbc59a8fa5bfef7547898859a0064217ac0728d6ac2d4f92d95db0d21',1,'xran_fh_o_du.h']]], + ['xran_5finit',['XRAN_INIT',['../xran__fh__o__du_8h.html#a2f600110ab5726a0f21375b7f24c0326a4b6bcf9a51e104e19a5fa2d859a63080',1,'xran_fh_o_du.h']]], + ['xran_5fne_5fbe_5fbyte_5forder',['XRAN_NE_BE_BYTE_ORDER',['../xran__fh__o__du_8h.html#ab5ce6839bae2968c79930a0bfa17f4d8a61bd03fd3153385f6791bd16e55892b8',1,'xran_fh_o_du.h']]], + ['xran_5fq_5fi_5forder',['XRAN_Q_I_ORDER',['../xran__fh__o__du_8h.html#a0d9cb4cebbc59a8fa5bfef7547898859affc94d5062a9df002a08262d843fc2f3',1,'xran_fh_o_du.h']]], + ['xran_5frbind_5fevery',['XRAN_RBIND_EVERY',['../xran__cp__api_8h.html#a1087eb8c21d4b4e104b12a056ff65553a020e57090e5b6e614d303c027543fd16',1,'xran_cp_api.h']]], + ['xran_5frbind_5feveryother',['XRAN_RBIND_EVERYOTHER',['../xran__cp__api_8h.html#a1087eb8c21d4b4e104b12a056ff65553abaa831174169072d419180e49af5eb4a',1,'xran_cp_api.h']]], + ['xran_5frbind_5fmax',['XRAN_RBIND_MAX',['../xran__cp__api_8h.html#a1087eb8c21d4b4e104b12a056ff65553af94eec771b571088905e9268fd2b9fe6',1,'xran_cp_api.h']]], + ['xran_5frunning',['XRAN_RUNNING',['../xran__fh__o__du_8h.html#a2f600110ab5726a0f21375b7f24c0326a35916b54fc6804c2f2dc1f5891f3047e',1,'xran_fh_o_du.h']]], + ['xran_5fscs_5f120khz',['XRAN_SCS_120KHZ',['../xran__cp__api_8h.html#ab5fcc18cec14a3550b834bdf8f2d5797a96eb43a85832217358262f3e46898064',1,'xran_cp_api.h']]], + ['xran_5fscs_5f15khz',['XRAN_SCS_15KHZ',['../xran__cp__api_8h.html#ab5fcc18cec14a3550b834bdf8f2d5797a4f102d99af91a59da1a2b5cfa10ee21e',1,'xran_cp_api.h']]], + ['xran_5fscs_5f1p25khz',['XRAN_SCS_1P25KHZ',['../xran__cp__api_8h.html#ab5fcc18cec14a3550b834bdf8f2d5797a7b1db4ec545bde50a57a7153fc433171',1,'xran_cp_api.h']]], + ['xran_5fscs_5f240khz',['XRAN_SCS_240KHZ',['../xran__cp__api_8h.html#ab5fcc18cec14a3550b834bdf8f2d5797a4d077818bbfe659cbdacd2c381713609',1,'xran_cp_api.h']]], + ['xran_5fscs_5f30khz',['XRAN_SCS_30KHZ',['../xran__cp__api_8h.html#ab5fcc18cec14a3550b834bdf8f2d5797a5bedf05ecef7390187d6e2da90d4cfe5',1,'xran_cp_api.h']]], + ['xran_5fscs_5f3p75khz',['XRAN_SCS_3P75KHZ',['../xran__cp__api_8h.html#ab5fcc18cec14a3550b834bdf8f2d5797afe1b4bcac85f929f3f2c8d7d4d641638',1,'xran_cp_api.h']]], + ['xran_5fscs_5f5khz',['XRAN_SCS_5KHZ',['../xran__cp__api_8h.html#ab5fcc18cec14a3550b834bdf8f2d5797a63c359901283265eac9c1ecf92089aba',1,'xran_cp_api.h']]], + ['xran_5fscs_5f60khz',['XRAN_SCS_60KHZ',['../xran__cp__api_8h.html#ab5fcc18cec14a3550b834bdf8f2d5797a57974f0d02b7d26f8e9a142e5b86ec5c',1,'xran_cp_api.h']]], + ['xran_5fscs_5f7p5khz',['XRAN_SCS_7P5KHZ',['../xran__cp__api_8h.html#ab5fcc18cec14a3550b834bdf8f2d5797aa5bbc7ba0552033b34c65cb012da0345',1,'xran_cp_api.h']]], + ['xran_5fscs_5fmax',['XRAN_SCS_MAX',['../xran__cp__api_8h.html#ab5fcc18cec14a3550b834bdf8f2d5797a901be5608d974b8016a4e01615dd99f0',1,'xran_cp_api.h']]], + ['xran_5fstopped',['XRAN_STOPPED',['../xran__fh__o__du_8h.html#a2f600110ab5726a0f21375b7f24c0326a57a68dd3f4413f7cc255838c4442938c',1,'xran_fh_o_du.h']]], + ['xran_5fsymbolnumber_5finc',['XRAN_SYMBOLNUMBER_INC',['../xran__cp__api_8h.html#a056d791208720148306b686856cd36b0a24b002ad82b562efb71a187df7665db3',1,'xran_cp_api.h']]], + ['xran_5fsymbolnumber_5finc_5fmax',['XRAN_SYMBOLNUMBER_INC_MAX',['../xran__cp__api_8h.html#a056d791208720148306b686856cd36b0a413ab49f1a7d0a18b19ebd243c064227',1,'xran_cp_api.h']]], + ['xran_5fsymbolnumber_5fnotinc',['XRAN_SYMBOLNUMBER_NOTINC',['../xran__cp__api_8h.html#a056d791208720148306b686856cd36b0a2968e08e8282588813b4ace40df05c8e',1,'xran_cp_api.h']]], + ['xran_5ftdd',['XRAN_TDD',['../xran__fh__o__du_8h.html#a1784f85d62401cba0ffb49c4d2467aaeaf54a8e4c1661f320606100a7f5bc0d08',1,'xran_fh_o_du.h']]], + ['xran_5fup_5fvf',['XRAN_UP_VF',['../xran__fh__o__du_8h.html#a185d8ae20c697568878935f0a260227aafe31ae20f49aa6ca5a568bfdc89f69ab',1,'xran_fh_o_du.h']]], + ['xran_5fvf_5fmax',['XRAN_VF_MAX',['../xran__fh__o__du_8h.html#a185d8ae20c697568878935f0a260227aaacf0b73353fef317536c389fcccde6ac',1,'xran_fh_o_du.h']]], + ['xranfthrach_5fin',['XRANFTHRACH_IN',['../classxran_lib_wraper.html#afecde4b156cd353cb29487bbb9675d46a08f01b9504a22e9c6b9692585b471729',1,'xranLibWraper::XRANFTHRACH_IN()'],['../sample-app_8c.html#afecde4b156cd353cb29487bbb9675d46a08f01b9504a22e9c6b9692585b471729',1,'XRANFTHRACH_IN(): sample-app.c']]], + ['xranfthrx_5fin',['XRANFTHRX_IN',['../classxran_lib_wraper.html#afecde4b156cd353cb29487bbb9675d46a18a697e15ab9936bdc60f3e5b83ddf54',1,'xranLibWraper::XRANFTHRX_IN()'],['../sample-app_8c.html#afecde4b156cd353cb29487bbb9675d46a18a697e15ab9936bdc60f3e5b83ddf54',1,'XRANFTHRX_IN(): sample-app.c']]], + ['xranfthrx_5fprb_5fmap_5fin',['XRANFTHRX_PRB_MAP_IN',['../classxran_lib_wraper.html#afecde4b156cd353cb29487bbb9675d46a49ff95bd57852bfa8cfd8039fffad1e2',1,'xranLibWraper::XRANFTHRX_PRB_MAP_IN()'],['../sample-app_8c.html#afecde4b156cd353cb29487bbb9675d46a49ff95bd57852bfa8cfd8039fffad1e2',1,'XRANFTHRX_PRB_MAP_IN(): sample-app.c']]], + ['xranfthtx_5fout',['XRANFTHTX_OUT',['../classxran_lib_wraper.html#afecde4b156cd353cb29487bbb9675d46a4d401558e32ed1e564c795cdc03ee5e5',1,'xranLibWraper::XRANFTHTX_OUT()'],['../sample-app_8c.html#afecde4b156cd353cb29487bbb9675d46a4d401558e32ed1e564c795cdc03ee5e5',1,'XRANFTHTX_OUT(): sample-app.c']]], + ['xranfthtx_5fprb_5fmap_5fout',['XRANFTHTX_PRB_MAP_OUT',['../classxran_lib_wraper.html#afecde4b156cd353cb29487bbb9675d46a93393e301d55554422fb4780cbaf1cb1',1,'xranLibWraper::XRANFTHTX_PRB_MAP_OUT()'],['../sample-app_8c.html#afecde4b156cd353cb29487bbb9675d46a93393e301d55554422fb4780cbaf1cb1',1,'XRANFTHTX_PRB_MAP_OUT(): sample-app.c']]], + ['xranfthtx_5fsec_5fdesc_5fin',['XRANFTHTX_SEC_DESC_IN',['../classxran_lib_wraper.html#afecde4b156cd353cb29487bbb9675d46adc5b684e21c0681c775b8f903328de35',1,'xranLibWraper::XRANFTHTX_SEC_DESC_IN()'],['../sample-app_8c.html#afecde4b156cd353cb29487bbb9675d46adc5b684e21c0681c775b8f903328de35',1,'XRANFTHTX_SEC_DESC_IN(): sample-app.c']]], + ['xranfthtx_5fsec_5fdesc_5fout',['XRANFTHTX_SEC_DESC_OUT',['../classxran_lib_wraper.html#afecde4b156cd353cb29487bbb9675d46a18f6c4a01fa5ed71ccbe1caa53201f4b',1,'xranLibWraper::XRANFTHTX_SEC_DESC_OUT()'],['../sample-app_8c.html#afecde4b156cd353cb29487bbb9675d46a18f6c4a01fa5ed71ccbe1caa53201f4b',1,'XRANFTHTX_SEC_DESC_OUT(): sample-app.c']]], + ['xransrs_5fin',['XRANSRS_IN',['../sample-app_8c.html#afecde4b156cd353cb29487bbb9675d46a0fe4cdc5d4c20e436c265a81916d8e0c',1,'sample-app.c']]] +]; diff --git a/docs/API/search/files_0.html b/docs/API/search/files_0.html new file mode 100644 index 0000000..4f272b8 --- /dev/null +++ b/docs/API/search/files_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/files_0.js b/docs/API/search/files_0.js new file mode 100644 index 0000000..6f30b34 --- /dev/null +++ b/docs/API/search/files_0.js @@ -0,0 +1,13 @@ +var searchData= +[ + ['c_5fplane_5ftests_2ecc',['c_plane_tests.cc',['../c__plane__tests_8cc.html',1,'']]], + ['chain_5ftests_2ecc',['chain_tests.cc',['../chain__tests_8cc.html',1,'']]], + ['common_2ec',['common.c',['../common_8c.html',1,'']]], + ['common_2ecpp',['common.cpp',['../common_8cpp.html',1,'']]], + ['common_2eh',['common.h',['../common_8h.html',1,'']]], + ['common_2ehpp',['common.hpp',['../common_8hpp.html',1,'']]], + ['common_5ftypedef_5fxran_2eh',['common_typedef_xran.h',['../common__typedef__xran_8h.html',1,'']]], + ['compander_5ffunctional_2ecc',['compander_functional.cc',['../compander__functional_8cc.html',1,'']]], + ['config_2ec',['config.c',['../config_8c.html',1,'']]], + ['config_2eh',['config.h',['../config_8h.html',1,'']]] +]; diff --git a/docs/API/search/files_1.html b/docs/API/search/files_1.html new file mode 100644 index 0000000..dcce422 --- /dev/null +++ b/docs/API/search/files_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/files_1.js b/docs/API/search/files_1.js new file mode 100644 index 0000000..db92c00 --- /dev/null +++ b/docs/API/search/files_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['debug_2eh',['debug.h',['../debug_8h.html',1,'']]] +]; diff --git a/docs/API/search/files_2.html b/docs/API/search/files_2.html new file mode 100644 index 0000000..d5c6c3b --- /dev/null +++ b/docs/API/search/files_2.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/files_2.js b/docs/API/search/files_2.js new file mode 100644 index 0000000..e954940 --- /dev/null +++ b/docs/API/search/files_2.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['ethdi_2ec',['ethdi.c',['../ethdi_8c.html',1,'']]], + ['ethdi_2eh',['ethdi.h',['../ethdi_8h.html',1,'']]], + ['ethernet_2ec',['ethernet.c',['../ethernet_8c.html',1,'']]], + ['ethernet_2eh',['ethernet.h',['../ethernet_8h.html',1,'']]] +]; diff --git a/docs/API/search/files_3.html b/docs/API/search/files_3.html new file mode 100644 index 0000000..d5a9528 --- /dev/null +++ b/docs/API/search/files_3.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/files_3.js b/docs/API/search/files_3.js new file mode 100644 index 0000000..033c66b --- /dev/null +++ b/docs/API/search/files_3.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['gen_5ftest_2em',['gen_test.m',['../gen__test_8m.html',1,'']]] +]; diff --git a/docs/API/search/files_4.html b/docs/API/search/files_4.html new file mode 100644 index 0000000..7b4c42a --- /dev/null +++ b/docs/API/search/files_4.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/files_4.js b/docs/API/search/files_4.js new file mode 100644 index 0000000..5e3ff32 --- /dev/null +++ b/docs/API/search/files_4.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['init_5fsys_5ffunctional_2ecc',['init_sys_functional.cc',['../init__sys__functional_8cc.html',1,'']]] +]; diff --git a/docs/API/search/files_5.html b/docs/API/search/files_5.html new file mode 100644 index 0000000..1f77bb1 --- /dev/null +++ b/docs/API/search/files_5.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/files_5.js b/docs/API/search/files_5.js new file mode 100644 index 0000000..df7512f --- /dev/null +++ b/docs/API/search/files_5.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['json_2ehpp',['json.hpp',['../json_8hpp.html',1,'']]] +]; diff --git a/docs/API/search/files_6.html b/docs/API/search/files_6.html new file mode 100644 index 0000000..7573254 --- /dev/null +++ b/docs/API/search/files_6.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/files_6.js b/docs/API/search/files_6.js new file mode 100644 index 0000000..47e309c --- /dev/null +++ b/docs/API/search/files_6.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['master_2epy',['master.py',['../master_8py.html',1,'']]] +]; diff --git a/docs/API/search/files_7.html b/docs/API/search/files_7.html new file mode 100644 index 0000000..214b329 --- /dev/null +++ b/docs/API/search/files_7.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/files_7.js b/docs/API/search/files_7.js new file mode 100644 index 0000000..0d782b6 --- /dev/null +++ b/docs/API/search/files_7.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['prach_5ffunctional_2ecc',['prach_functional.cc',['../prach__functional_8cc.html',1,'']]], + ['prach_5fperformance_2ecc',['prach_performance.cc',['../prach__performance_8cc.html',1,'']]] +]; diff --git a/docs/API/search/files_8.html b/docs/API/search/files_8.html new file mode 100644 index 0000000..6720c7c --- /dev/null +++ b/docs/API/search/files_8.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/files_8.js b/docs/API/search/files_8.js new file mode 100644 index 0000000..135db62 --- /dev/null +++ b/docs/API/search/files_8.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['sample_2dapp_2ec',['sample-app.c',['../sample-app_8c.html',1,'']]] +]; diff --git a/docs/API/search/files_9.html b/docs/API/search/files_9.html new file mode 100644 index 0000000..fc95877 --- /dev/null +++ b/docs/API/search/files_9.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/files_9.js b/docs/API/search/files_9.js new file mode 100644 index 0000000..9240e3f --- /dev/null +++ b/docs/API/search/files_9.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['u_5fplane_5ffunctional_2ecc',['u_plane_functional.cc',['../u__plane__functional_8cc.html',1,'']]], + ['u_5fplane_5fperformance_2ecc',['u_plane_performance.cc',['../u__plane__performance_8cc.html',1,'']]], + ['unittests_2ecc',['unittests.cc',['../unittests_8cc.html',1,'']]] +]; diff --git a/docs/API/search/files_a.html b/docs/API/search/files_a.html new file mode 100644 index 0000000..ffe3e9d --- /dev/null +++ b/docs/API/search/files_a.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/files_a.js b/docs/API/search/files_a.js new file mode 100644 index 0000000..e22fb20 --- /dev/null +++ b/docs/API/search/files_a.js @@ -0,0 +1,34 @@ +var searchData= +[ + ['xran_5fapp_5ffrag_2ec',['xran_app_frag.c',['../xran__app__frag_8c.html',1,'']]], + ['xran_5fapp_5ffrag_2eh',['xran_app_frag.h',['../xran__app__frag_8h.html',1,'']]], + ['xran_5fcommon_2ec',['xran_common.c',['../xran__common_8c.html',1,'']]], + ['xran_5fcommon_2eh',['xran_common.h',['../xran__common_8h.html',1,'']]], + ['xran_5fcompression_2ecpp',['xran_compression.cpp',['../xran__compression_8cpp.html',1,'']]], + ['xran_5fcompression_2eh',['xran_compression.h',['../xran__compression_8h.html',1,'']]], + ['xran_5fcompression_2ehpp',['xran_compression.hpp',['../xran__compression_8hpp.html',1,'']]], + ['xran_5fcp_5fapi_2ec',['xran_cp_api.c',['../xran__cp__api_8c.html',1,'']]], + ['xran_5fcp_5fapi_2eh',['xran_cp_api.h',['../xran__cp__api_8h.html',1,'']]], + ['xran_5ffh_5fo_5fdu_2eh',['xran_fh_o_du.h',['../xran__fh__o__du_8h.html',1,'']]], + ['xran_5fframe_5fstruct_2ec',['xran_frame_struct.c',['../xran__frame__struct_8c.html',1,'']]], + ['xran_5fframe_5fstruct_2eh',['xran_frame_struct.h',['../xran__frame__struct_8h.html',1,'']]], + ['xran_5flib_5fmlog_5ftasks_5fid_2eh',['xran_lib_mlog_tasks_id.h',['../xran__lib__mlog__tasks__id_8h.html',1,'']]], + ['xran_5flib_5fwrap_2ehpp',['xran_lib_wrap.hpp',['../xran__lib__wrap_8hpp.html',1,'']]], + ['xran_5fmain_2ec',['xran_main.c',['../xran__main_8c.html',1,'']]], + ['xran_5fmlog_5flnx_2eh',['xran_mlog_lnx.h',['../xran__mlog__lnx_8h.html',1,'']]], + ['xran_5fmlog_5ftask_5fid_2eh',['xran_mlog_task_id.h',['../xran__mlog__task__id_8h.html',1,'']]], + ['xran_5fpkt_2eh',['xran_pkt.h',['../xran__pkt_8h.html',1,'']]], + ['xran_5fpkt_5fcp_2eh',['xran_pkt_cp.h',['../xran__pkt__cp_8h.html',1,'']]], + ['xran_5fpkt_5fup_2eh',['xran_pkt_up.h',['../xran__pkt__up_8h.html',1,'']]], + ['xran_5fprintf_2eh',['xran_printf.h',['../xran__printf_8h.html',1,'']]], + ['xran_5fsync_5fapi_2ec',['xran_sync_api.c',['../xran__sync__api_8c.html',1,'']]], + ['xran_5fsync_5fapi_2eh',['xran_sync_api.h',['../xran__sync__api_8h.html',1,'']]], + ['xran_5ftimer_2ec',['xran_timer.c',['../xran__timer_8c.html',1,'']]], + ['xran_5ftimer_2eh',['xran_timer.h',['../xran__timer_8h.html',1,'']]], + ['xran_5ftransport_2ec',['xran_transport.c',['../xran__transport_8c.html',1,'']]], + ['xran_5ftransport_2eh',['xran_transport.h',['../xran__transport_8h.html',1,'']]], + ['xran_5ful_5ftables_2ec',['xran_ul_tables.c',['../xran__ul__tables_8c.html',1,'']]], + ['xran_5fup_5fapi_2ec',['xran_up_api.c',['../xran__up__api_8c.html',1,'']]], + ['xran_5fup_5fapi_2eh',['xran_up_api.h',['../xran__up__api_8h.html',1,'']]], + ['xranlib_5funit_5ftest_5fmain_2ecc',['xranlib_unit_test_main.cc',['../xranlib__unit__test__main_8cc.html',1,'']]] +]; diff --git a/docs/API/search/functions_0.html b/docs/API/search/functions_0.html new file mode 100644 index 0000000..4e6d87d --- /dev/null +++ b/docs/API/search/functions_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/functions_0.js b/docs/API/search/functions_0.js new file mode 100644 index 0000000..e3473ea --- /dev/null +++ b/docs/API/search/functions_0.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['_5f_5fattribute_5f_5f',['__attribute__',['../xran__pkt__cp_8h.html#a507005bd7719a652d07e26f06dfacf5c',1,'xran_pkt_cp.h']]], + ['_5f_5fxran_5fdelayed_5fmsg',['__xran_delayed_msg',['../ethernet_8c.html#aee422b7193c84ae1fa4d6708a4bc577b',1,'__xran_delayed_msg(const char *fmt,...): ethernet.c'],['../ethernet_8h.html#aee422b7193c84ae1fa4d6708a4bc577b',1,'__xran_delayed_msg(const char *fmt,...): ethernet.c']]] +]; diff --git a/docs/API/search/functions_1.html b/docs/API/search/functions_1.html new file mode 100644 index 0000000..b343e2d --- /dev/null +++ b/docs/API/search/functions_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/functions_1.js b/docs/API/search/functions_1.js new file mode 100644 index 0000000..3298397 --- /dev/null +++ b/docs/API/search/functions_1.js @@ -0,0 +1,20 @@ +var searchData= +[ + ['aligned_5ffree',['aligned_free',['../common_8hpp.html#a2f1a3a41e28280d05df6b8d212d9c5c2',1,'common.hpp']]], + ['aligned_5fmalloc',['aligned_malloc',['../common_8hpp.html#adfa5a01b33723394c2a1fa179abea990',1,'common.hpp']]], + ['app_5fxran_5fcal_5fnrarfcn',['app_xran_cal_nrarfcn',['../common_8c.html#a6d7aac49f30b5d75a7a8436fbbc36cd7',1,'app_xran_cal_nrarfcn(uint32_t nCenterFreq): common.c'],['../common_8h.html#a6d7aac49f30b5d75a7a8436fbbc36cd7',1,'app_xran_cal_nrarfcn(uint32_t nCenterFreq): common.c']]], + ['app_5fxran_5fclear_5fslot_5ftype',['app_xran_clear_slot_type',['../common_8c.html#a15e01f62daf328aef8184ea50c9955fa',1,'common.c']]], + ['app_5fxran_5fget_5fnum_5frbs',['app_xran_get_num_rbs',['../common_8c.html#abd62743e637f8bee2b0d3b1e2b4ecaac',1,'app_xran_get_num_rbs(uint32_t nNumerology, uint32_t nBandwidth, uint32_t nAbsFrePointA): common.c'],['../common_8h.html#abd62743e637f8bee2b0d3b1e2b4ecaac',1,'app_xran_get_num_rbs(uint32_t nNumerology, uint32_t nBandwidth, uint32_t nAbsFrePointA): common.c']]], + ['app_5fxran_5fget_5fscs',['app_xran_get_scs',['../common_8c.html#a4a9173ba3c1f1bdf4b1ea9f8e531c561',1,'app_xran_get_scs(uint8_t nMu): common.c'],['../common_8h.html#a4a9173ba3c1f1bdf4b1ea9f8e531c561',1,'app_xran_get_scs(uint8_t nMu): common.c']]], + ['app_5fxran_5fget_5fslot_5ftype',['app_xran_get_slot_type',['../common_8c.html#a0c617a0804e2a4eda51b402b03922dc2',1,'common.c']]], + ['app_5fxran_5fget_5ftti_5finterval',['app_xran_get_tti_interval',['../common_8c.html#a7443b72e990584de0b5b2a9306ed820a',1,'app_xran_get_tti_interval(uint8_t nMu): common.c'],['../common_8h.html#a7443b72e990584de0b5b2a9306ed820a',1,'app_xran_get_tti_interval(uint8_t nMu): common.c']]], + ['app_5fxran_5fset_5fslot_5ftype',['app_xran_set_slot_type',['../common_8c.html#ae41dd953f43c314e9c7688d18cf69e8b',1,'app_xran_set_slot_type(uint32_t nPhyInstanceId, uint32_t nFrameDuplexType, uint32_t nTddPeriod, struct xran_slot_config *psSlotConfig): common.c'],['../common_8h.html#ae41dd953f43c314e9c7688d18cf69e8b',1,'app_xran_set_slot_type(uint32_t nPhyInstanceId, uint32_t nFrameDuplexType, uint32_t nTddPeriod, struct xran_slot_config *psSlotConfig): common.c']]], + ['app_5fxran_5fslot_5flimit',['app_xran_slot_limit',['../common_8c.html#a2b515e829520e3af448a4d00d22de161',1,'common.c']]], + ['apply_5fcpenable',['apply_cpenable',['../classxran_lib_wraper.html#a165ca95dea40ce1abcc161f39087d38d',1,'xranLibWraper']]], + ['array',['array',['../classnlohmann_1_1basic__json.html#a16bfbc9e705582cdf7e88affced6ca51',1,'nlohmann::basic_json']]], + ['assert_5farray_5feq',['assert_array_eq',['../common_8hpp.html#a8f4a12d5e7aa88ef72d3a59f9d0a85f0',1,'common.hpp']]], + ['assert_5farray_5fnear',['assert_array_near',['../common_8hpp.html#aea945be561738ef40c759d617b04255c',1,'common.hpp']]], + ['assert_5farray_5fnear_3c_20complex_5ffloat_20_3e',['assert_array_near< complex_float >',['../common_8hpp.html#ab5ae003c98bada0196a7085942593271',1,'common.hpp']]], + ['assert_5favg_5fgreater_5fcomplex',['assert_avg_greater_complex',['../common_8hpp.html#a2bbe1c5dcabc83ba7d8485888720da42',1,'common.hpp']]], + ['at',['at',['../classnlohmann_1_1basic__json.html#a3d5717f39bfe485057850f116fb2ed12',1,'nlohmann::basic_json::at(size_type idx)'],['../classnlohmann_1_1basic__json.html#af67a114d84325900759c8aeb6b6ad916',1,'nlohmann::basic_json::at(size_type idx) const'],['../classnlohmann_1_1basic__json.html#a18c0c62edce2742d5ab24d1979c3ef00',1,'nlohmann::basic_json::at(const typename object_t::key_type &key)'],['../classnlohmann_1_1basic__json.html#a4f54990041741beea9083540c8ea25c7',1,'nlohmann::basic_json::at(const typename object_t::key_type &key) const'],['../classnlohmann_1_1basic__json.html#a4d402bba79c6c22a6399472f5ffa748e',1,'nlohmann::basic_json::at(const json_pointer &ptr)'],['../classnlohmann_1_1basic__json.html#a64916a31807a0cf9c5dbb16d228a4d5a',1,'nlohmann::basic_json::at(const json_pointer &ptr) const']]] +]; diff --git a/docs/API/search/functions_10.html b/docs/API/search/functions_10.html new file mode 100644 index 0000000..72bc1ea --- /dev/null +++ b/docs/API/search/functions_10.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/functions_10.js b/docs/API/search/functions_10.js new file mode 100644 index 0000000..6719943 --- /dev/null +++ b/docs/API/search/functions_10.js @@ -0,0 +1,25 @@ +var searchData= +[ + ['packets_5fdump_5fthread',['packets_dump_thread',['../xran__common_8h.html#a742ac891cd088b4d201945055048c56f',1,'xran_common.h']]], + ['parse',['parse',['../classnlohmann_1_1basic__json.html#a59c8a7fee8883e55b4317dfd6cab4912',1,'nlohmann::basic_json::parse(T(&array)[N], const parser_callback_t cb=nullptr)'],['../classnlohmann_1_1basic__json.html#afa4d3c57e6fda1fce97025d155f5642f',1,'nlohmann::basic_json::parse(const CharT s, const parser_callback_t cb=nullptr)'],['../classnlohmann_1_1basic__json.html#ad19ad3fa5d9a806c5018faa3cd0ed85c',1,'nlohmann::basic_json::parse(std::istream &i, const parser_callback_t cb=nullptr)'],['../classnlohmann_1_1basic__json.html#afd3a3ede6b43cdf69827593006813658',1,'nlohmann::basic_json::parse(std::istream &&i, const parser_callback_t cb=nullptr)'],['../classnlohmann_1_1basic__json.html#a09792d435ddd0409a5c002c415f00da4',1,'nlohmann::basic_json::parse(IteratorType first, IteratorType last, const parser_callback_t cb=nullptr)'],['../classnlohmann_1_1basic__json.html#a39a861de8ee4cc685cd0c5b47f0ab097',1,'nlohmann::basic_json::parse(const ContiguousContainer &c, const parser_callback_t cb=nullptr)']]], + ['parse_5fargs',['parse_args',['../namespacemaster.html#a6ec1b78aa368f25862149fc187d60bfd',1,'master']]], + ['parse_5fdat_5ffile',['parse_dat_file',['../namespacemaster.html#a29041cda44c83caed56c5693ae62c878',1,'master']]], + ['parseconfigfile',['parseConfigFile',['../config_8c.html#add16264aa9472e4e90d1a77e086c7f93',1,'parseConfigFile(char *filename, RuntimeConfig *config): config.c'],['../config_8h.html#add16264aa9472e4e90d1a77e086c7f93',1,'parseConfigFile(char *filename, RuntimeConfig *config): config.c']]], + ['patch',['patch',['../classnlohmann_1_1basic__json.html#a614dd03ce3e99e79c52bedcf55945645',1,'nlohmann::basic_json']]], + ['performance',['performance',['../class_kernel_tests.html#a3cf2e25a99be565a4ab570737cfeac41',1,'KernelTests']]], + ['performance_5fcp',['performance_cp',['../prach__performance_8cc.html#a540e426541deb753f7c69d8df5d5b090',1,'prach_performance.cc']]], + ['physide_5fdl_5ftti_5fcall_5fback',['physide_dl_tti_call_back',['../sample-app_8c.html#aa8882d42d07fbd9750da4db4395b438c',1,'physide_dl_tti_call_back(void *param): sample-app.c'],['../init__sys__functional_8cc.html#aa8882d42d07fbd9750da4db4395b438c',1,'physide_dl_tti_call_back(void *param): init_sys_functional.cc']]], + ['physide_5fsym_5fcall_5fback',['physide_sym_call_back',['../init__sys__functional_8cc.html#af2d879cc67de3a1216ff63cbcea4183d',1,'init_sys_functional.cc']]], + ['physide_5ful_5ffull_5fslot_5fcall_5fback',['physide_ul_full_slot_call_back',['../sample-app_8c.html#a874ba95e7c465e83ccc26ab623eec60c',1,'physide_ul_full_slot_call_back(void *param): sample-app.c'],['../init__sys__functional_8cc.html#a874ba95e7c465e83ccc26ab623eec60c',1,'physide_ul_full_slot_call_back(void *param): init_sys_functional.cc']]], + ['physide_5ful_5fhalf_5fslot_5fcall_5fback',['physide_ul_half_slot_call_back',['../sample-app_8c.html#a52c968a559117b66a05591f958da75c2',1,'physide_ul_half_slot_call_back(void *param): sample-app.c'],['../init__sys__functional_8cc.html#a52c968a559117b66a05591f958da75c2',1,'physide_ul_half_slot_call_back(void *param): init_sys_functional.cc']]], + ['poll_5fnext_5ftick',['poll_next_tick',['../xran__timer_8h.html#a52ade7f1436323f071cf7151f7bdb097',1,'poll_next_tick(long interval_ns, unsigned long *used_tick): xran_timer.c'],['../xran__timer_8c.html#a52ade7f1436323f071cf7151f7bdb097',1,'poll_next_tick(long interval_ns, unsigned long *used_tick): xran_timer.c']]], + ['prepare_5fextensions',['prepare_extensions',['../class_c__plane.html#aecd2fcecaca860136bf56e6af5155e96',1,'C_plane']]], + ['prepare_5fsections',['prepare_sections',['../class_c__plane.html#a7fd4d380e2392bfe924c06a8101b6d85',1,'C_plane']]], + ['prepare_5fsymbol_5fex',['prepare_symbol_ex',['../xran__common_8c.html#adc9636576fb70f4b4fcfd1d03fe59998',1,'prepare_symbol_ex(enum xran_pkt_dir direction, uint16_t section_id, struct rte_mbuf *mb, struct rb_map *data, uint8_t compMeth, uint8_t iqWidth, const enum xran_input_byte_order iq_buf_byte_order, uint8_t frame_id, uint8_t subframe_id, uint8_t slot_id, uint8_t symbol_no, int prb_start, int prb_num, uint8_t CC_ID, uint8_t RU_Port_ID, uint8_t seq_id, uint32_t do_copy): xran_common.c'],['../xran__common_8h.html#adc9636576fb70f4b4fcfd1d03fe59998',1,'prepare_symbol_ex(enum xran_pkt_dir direction, uint16_t section_id, struct rte_mbuf *mb, struct rb_map *data, uint8_t compMeth, uint8_t iqWidth, const enum xran_input_byte_order iq_buf_byte_order, uint8_t frame_id, uint8_t subframe_id, uint8_t slot_id, uint8_t symbol_no, int prb_start, int prb_num, uint8_t CC_ID, uint8_t RU_Port_ID, uint8_t seq_id, uint32_t do_copy): xran_common.c']]], + ['print_5ftest_5fdescription',['print_test_description',['../class_kernel_tests.html#af9e5657bce588536aef7baf8c33a0108',1,'KernelTests']]], + ['process_5fcplane',['process_cplane',['../xran__main_8c.html#a4eb2b37a85455e8078520bcea40296cc',1,'xran_main.c']]], + ['process_5fdpdk_5fio',['process_dpdk_io',['../ethdi_8c.html#ae5cd564d3dc5eb89dbe0dd1fa105b645',1,'process_dpdk_io(void): ethdi.c'],['../ethdi_8h.html#ae5cd564d3dc5eb89dbe0dd1fa105b645',1,'process_dpdk_io(void): ethdi.c']]], + ['process_5fmbuf',['process_mbuf',['../xran__common_8c.html#a3d4bd5c7eec6da4ab71688e209100761',1,'process_mbuf(struct rte_mbuf *pkt): xran_common.c'],['../xran__common_8h.html#a3d4bd5c7eec6da4ab71688e209100761',1,'process_mbuf(struct rte_mbuf *pkt): xran_common.c'],['../chain__tests_8cc.html#a3d4bd5c7eec6da4ab71688e209100761',1,'process_mbuf(struct rte_mbuf *pkt): xran_common.c']]], + ['process_5fring',['process_ring',['../xran__common_8c.html#a4e156a8a72cc16b05c6ad0532df4e75a',1,'process_ring(struct rte_ring *r): xran_common.c'],['../xran__common_8h.html#a4e156a8a72cc16b05c6ad0532df4e75a',1,'process_ring(struct rte_ring *r): xran_common.c']]], + ['push_5fback',['push_back',['../classnlohmann_1_1basic__json.html#aaf38acbc4aaada0a40549bc606f99c4f',1,'nlohmann::basic_json::push_back(basic_json &&val)'],['../classnlohmann_1_1basic__json.html#a2e642105ec753ddb0650b7013749af7b',1,'nlohmann::basic_json::push_back(const basic_json &val)'],['../classnlohmann_1_1basic__json.html#af39e5dcd421f92346c586d57ad7d6609',1,'nlohmann::basic_json::push_back(const typename object_t::value_type &val)'],['../classnlohmann_1_1basic__json.html#a77ab6e7e6b70135f022172a021a15550',1,'nlohmann::basic_json::push_back(std::initializer_list< basic_json > init)']]] +]; diff --git a/docs/API/search/functions_11.html b/docs/API/search/functions_11.html new file mode 100644 index 0000000..6948a61 --- /dev/null +++ b/docs/API/search/functions_11.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/functions_11.js b/docs/API/search/functions_11.js new file mode 100644 index 0000000..828acec --- /dev/null +++ b/docs/API/search/functions_11.js @@ -0,0 +1,13 @@ +var searchData= +[ + ['rbegin',['rbegin',['../classnlohmann_1_1basic__json.html#ac7cd69c57ab7c76ac6eb26c474a43053',1,'nlohmann::basic_json::rbegin() noexcept'],['../classnlohmann_1_1basic__json.html#aff2c14a4e54378db02316aa5dacce912',1,'nlohmann::basic_json::rbegin() const noexcept']]], + ['read_5fdata_5fto_5faligned_5farray',['read_data_to_aligned_array',['../common_8cpp.html#a876ed07783b27d38779f7cef4db673e6',1,'read_data_to_aligned_array(const std::string &filename): common.cpp'],['../common_8hpp.html#a876ed07783b27d38779f7cef4db673e6',1,'read_data_to_aligned_array(const std::string &filename): common.cpp']]], + ['read_5fjson_5ffrom_5ffile',['read_json_from_file',['../common_8cpp.html#ad8c062e9b24e4b3a8408b23a0d8ab428',1,'read_json_from_file(const std::string &filename): common.cpp'],['../common_8hpp.html#ad8c062e9b24e4b3a8408b23a0d8ab428',1,'read_json_from_file(const std::string &filename): common.cpp']]], + ['rend',['rend',['../classnlohmann_1_1basic__json.html#ad4e3dd675f301e0b86183699a2db7d79',1,'nlohmann::basic_json::rend() noexcept'],['../classnlohmann_1_1basic__json.html#ac5bfd48090cb59d7dd635954831415df',1,'nlohmann::basic_json::rend() const noexcept']]], + ['ring_5fprocessing_5ffunc',['ring_processing_func',['../xran__common_8c.html#a595fa22ad1c316d4c7d77f6333478b49',1,'ring_processing_func(void): xran_common.c'],['../xran__common_8h.html#a595fa22ad1c316d4c7d77f6333478b49',1,'ring_processing_func(void): xran_common.c']]], + ['ring_5fprocessing_5fthread',['ring_processing_thread',['../xran__common_8c.html#a3cdc276ccd8081a8bda75f22b0cac279',1,'ring_processing_thread(void *args): xran_common.c'],['../xran__common_8h.html#a3cdc276ccd8081a8bda75f22b0cac279',1,'ring_processing_thread(void *args): xran_common.c']]], + ['run_5fbenchmark',['run_benchmark',['../common_8hpp.html#af69d779517f2bdee3aba95bc38022074',1,'common.hpp']]], + ['run_5ftcase',['run_tcase',['../namespacemaster.html#ab9aaaee357ffa8fa96b544bd05c1ccb8',1,'master']]], + ['rx_5ful_5fdeadline_5ffull_5fcb',['rx_ul_deadline_full_cb',['../xran__main_8c.html#a63aa00dad3b771f4db5df8ca8ac68323',1,'xran_main.c']]], + ['rx_5ful_5fdeadline_5fhalf_5fcb',['rx_ul_deadline_half_cb',['../xran__main_8c.html#ad4544f4d6f4713c010f083bce5758d14',1,'xran_main.c']]] +]; diff --git a/docs/API/search/functions_12.html b/docs/API/search/functions_12.html new file mode 100644 index 0000000..3df8489 --- /dev/null +++ b/docs/API/search/functions_12.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/functions_12.js b/docs/API/search/functions_12.js new file mode 100644 index 0000000..59fca9b --- /dev/null +++ b/docs/API/search/functions_12.js @@ -0,0 +1,25 @@ +var searchData= +[ + ['send_5fcpmsg',['send_cpmsg',['../xran__common_8c.html#a484fa852a2e973600abba0efb1fbefb9',1,'send_cpmsg(void *pHandle, struct rte_mbuf *mbuf, struct xran_cp_gen_params *params, struct xran_section_gen_info *sect_geninfo, uint8_t cc_id, uint8_t ru_port_id, uint8_t seq_id): xran_common.c'],['../xran__common_8h.html#a484fa852a2e973600abba0efb1fbefb9',1,'send_cpmsg(void *pHandle, struct rte_mbuf *mbuf, struct xran_cp_gen_params *params, struct xran_section_gen_info *sect_geninfo, uint8_t cc_id, uint8_t ru_port_id, uint8_t seq_id): xran_common.c']]], + ['send_5fmbuf_5fcp_5fperf',['send_mbuf_cp_perf',['../chain__tests_8cc.html#aa17765d107c851ebcc3d202cef78aa75',1,'chain_tests.cc']]], + ['send_5fmbuf_5fup',['send_mbuf_up',['../chain__tests_8cc.html#a35e1cd308253045533454c90a54f876f',1,'chain_tests.cc']]], + ['send_5fsymbol_5fex',['send_symbol_ex',['../xran__common_8c.html#ab67b9cc6e54d8ba3945b265b47af743c',1,'send_symbol_ex(enum xran_pkt_dir direction, uint16_t section_id, struct rte_mbuf *mb, struct rb_map *data, const enum xran_input_byte_order iq_buf_byte_order, uint8_t frame_id, uint8_t subframe_id, uint8_t slot_id, uint8_t symbol_no, int prb_start, int prb_num, uint8_t CC_ID, uint8_t RU_Port_ID, uint8_t seq_id): xran_common.c'],['../xran__common_8h.html#ab67b9cc6e54d8ba3945b265b47af743c',1,'send_symbol_ex(enum xran_pkt_dir direction, uint16_t section_id, struct rte_mbuf *mb, struct rb_map *data, const enum xran_input_byte_order iq_buf_byte_order, uint8_t frame_id, uint8_t subframe_id, uint8_t slot_id, uint8_t symbol_no, int prb_start, int prb_num, uint8_t CC_ID, uint8_t RU_Port_ID, uint8_t seq_id): xran_common.c']]], + ['set_5fdivision_5ffactor',['set_division_factor',['../class_kernel_tests.html#ad49152dbf530aeb2a2844895e6d47a3e',1,'KernelTests']]], + ['set_5fparallelization_5ffactor',['set_parallelization_factor',['../class_kernel_tests.html#a5666c82d220a2c66784b9a238cc43c7e',1,'KernelTests']]], + ['set_5fresults_5funits',['set_results_units',['../class_kernel_tests.html#a1bf2180658ad6d459231c631237f9311',1,'KernelTests']]], + ['setup',['SetUp',['../classxran_lib_wraper.html#a126b53d8cc57521b34496dbe3a26621f',1,'xranLibWraper::SetUp()'],['../class_c__plane.html#a3a1707f6479611fdc609a3eb8a0cef1b',1,'C_plane::SetUp()'],['../class_test_chain.html#a3a1707f6479611fdc609a3eb8a0cef1b',1,'TestChain::SetUp()'],['../class_bfp_check.html#a3a1707f6479611fdc609a3eb8a0cef1b',1,'BfpCheck::SetUp()'],['../class_bfp_perf.html#a3a1707f6479611fdc609a3eb8a0cef1b',1,'BfpPerf::SetUp()'],['../class_bfp_perf_ex.html#a3a1707f6479611fdc609a3eb8a0cef1b',1,'BfpPerfEx::SetUp()'],['../class_init___sys___check.html#a3a1707f6479611fdc609a3eb8a0cef1b',1,'Init_Sys_Check::SetUp()'],['../class_prach_check.html#a3a1707f6479611fdc609a3eb8a0cef1b',1,'PrachCheck::SetUp()'],['../class_prach_perf.html#a3a1707f6479611fdc609a3eb8a0cef1b',1,'PrachPerf::SetUp()'],['../class_u__plane_check.html#a3a1707f6479611fdc609a3eb8a0cef1b',1,'U_planeCheck::SetUp()'],['../class_u__plane_perf.html#a3a1707f6479611fdc609a3eb8a0cef1b',1,'U_planePerf::SetUp()']]], + ['setuptestcase',['SetUpTestCase',['../class_kernel_tests.html#aad8181b222f27240e9f07dcb6e620fa3',1,'KernelTests']]], + ['showdata',['ShowData',['../debug_8h.html#a42574ce0fd997ec42f57353f49235176',1,'debug.h']]], + ['size',['size',['../classnlohmann_1_1basic__json.html#a0801762a3fe36fe32dca5f16e515478d',1,'nlohmann::basic_json']]], + ['sleep_5fnext_5ftick',['sleep_next_tick',['../xran__timer_8h.html#a63aaaffc2af6e6655ea0fc95078d5a04',1,'sleep_next_tick(long interval): xran_timer.c'],['../xran__timer_8c.html#a63aaaffc2af6e6655ea0fc95078d5a04',1,'sleep_next_tick(long interval): xran_timer.c']]], + ['start',['Start',['../classxran_lib_wraper.html#af9989f7ffd89540fc26371e24a29fefc',1,'xranLibWraper']]], + ['stop',['Stop',['../classxran_lib_wraper.html#af7c499a1fa8e52a104500d7d01c1a280',1,'xranLibWraper']]], + ['stop_5fxran',['stop_xran',['../sample-app_8c.html#ac871776e03d4a4ae1717d2600a7f7dff',1,'sample-app.c']]], + ['strtonum',['strtonum',['../structnlohmann_1_1basic__json_1_1lexer_1_1strtonum.html#ad1858c576c5f6050dd45cc9825a16bb9',1,'nlohmann::basic_json::lexer::strtonum']]], + ['swap',['swap',['../classnlohmann_1_1basic__json.html#a0f6968dcb6461353787d510aaa671b61',1,'nlohmann::basic_json::swap(reference other) noexcept(std::is_nothrow_move_constructible< value_t >::value and std::is_nothrow_move_assignable< value_t >::value and std::is_nothrow_move_constructible< json_value >::value and std::is_nothrow_move_assignable< json_value >::value)'],['../classnlohmann_1_1basic__json.html#aa9099a065ca08f872f864685ee2e8227',1,'nlohmann::basic_json::swap(array_t &other)'],['../classnlohmann_1_1basic__json.html#a4427f06d587d010c62fb08021ad13612',1,'nlohmann::basic_json::swap(object_t &other)'],['../classnlohmann_1_1basic__json.html#afa2f6591635aca46d323a7e41d71c4b1',1,'nlohmann::basic_json::swap(string_t &other)'],['../namespacestd.html#a907191b7578e209391ce938e3b2afdf7',1,'std::swap()']]], + ['switch',['switch',['../gen__test_8m.html#ae7c338f9b485676bfc0ee154384d8676',1,'gen_test.m']]], + ['sym_5fota_5fcb',['sym_ota_cb',['../xran__main_8c.html#a195da46c3cb90e36da543594416cbba7',1,'sym_ota_cb(struct rte_timer *tim, void *arg, unsigned long *used_tick): xran_main.c'],['../xran__lib__wrap_8hpp.html#a6c189fbbc24f87fad24cff9cbd0e6a42',1,'sym_ota_cb(struct rte_timer *tim, void *arg): xran_lib_wrap.hpp']]], + ['sys_5fload_5ffile_5fto_5fbuff',['sys_load_file_to_buff',['../common_8c.html#a8f27f0a8b6843f5e32ecbce83d487262',1,'sys_load_file_to_buff(char *filename, char *bufname, unsigned char *pBuffer, unsigned int size, unsigned int buffers_num): common.c'],['../common_8h.html#a8f27f0a8b6843f5e32ecbce83d487262',1,'sys_load_file_to_buff(char *filename, char *bufname, unsigned char *pBuffer, unsigned int size, unsigned int buffers_num): common.c']]], + ['sys_5fsave_5fbuf_5fto_5ffile',['sys_save_buf_to_file',['../common_8c.html#acd37223937d89e77a1ccbdc6e94b38cc',1,'sys_save_buf_to_file(char *filename, char *bufname, unsigned char *pBuffer, unsigned int size, unsigned int buffers_num): common.c'],['../common_8h.html#acd37223937d89e77a1ccbdc6e94b38cc',1,'sys_save_buf_to_file(char *filename, char *bufname, unsigned char *pBuffer, unsigned int size, unsigned int buffers_num): common.c']]], + ['sys_5fsave_5fbuf_5fto_5ffile_5ftxt',['sys_save_buf_to_file_txt',['../common_8c.html#ab022cdd736a497eb5cfa7d5dcab0634c',1,'sys_save_buf_to_file_txt(char *filename, char *bufname, unsigned char *pBuffer, unsigned int size, unsigned int buffers_num): common.c'],['../common_8h.html#ab022cdd736a497eb5cfa7d5dcab0634c',1,'sys_save_buf_to_file_txt(char *filename, char *bufname, unsigned char *pBuffer, unsigned int size, unsigned int buffers_num): common.c']]] +]; diff --git a/docs/API/search/functions_13.html b/docs/API/search/functions_13.html new file mode 100644 index 0000000..febf8e0 --- /dev/null +++ b/docs/API/search/functions_13.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/functions_13.js b/docs/API/search/functions_13.js new file mode 100644 index 0000000..c1ae8b3 --- /dev/null +++ b/docs/API/search/functions_13.js @@ -0,0 +1,26 @@ +var searchData= +[ + ['teardown',['TearDown',['../classxran_lib_wraper.html#a931587596081ef8178c2b128facb0411',1,'xranLibWraper::TearDown()'],['../class_c__plane.html#ac4fca95dc3b93372ce7f2078baf8e8b6',1,'C_plane::TearDown()'],['../class_test_chain.html#ac4fca95dc3b93372ce7f2078baf8e8b6',1,'TestChain::TearDown()'],['../class_bfp_check.html#ac4fca95dc3b93372ce7f2078baf8e8b6',1,'BfpCheck::TearDown()'],['../class_bfp_perf.html#ac4fca95dc3b93372ce7f2078baf8e8b6',1,'BfpPerf::TearDown()'],['../class_bfp_perf_ex.html#ac4fca95dc3b93372ce7f2078baf8e8b6',1,'BfpPerfEx::TearDown()'],['../class_init___sys___check.html#ac4fca95dc3b93372ce7f2078baf8e8b6',1,'Init_Sys_Check::TearDown()'],['../class_prach_check.html#ac4fca95dc3b93372ce7f2078baf8e8b6',1,'PrachCheck::TearDown()'],['../class_prach_perf.html#ac4fca95dc3b93372ce7f2078baf8e8b6',1,'PrachPerf::TearDown()'],['../class_u__plane_check.html#ac4fca95dc3b93372ce7f2078baf8e8b6',1,'U_planeCheck::TearDown()'],['../class_u__plane_perf.html#ac4fca95dc3b93372ce7f2078baf8e8b6',1,'U_planePerf::TearDown()']]], + ['teardowntestcase',['TearDownTestCase',['../class_kernel_tests.html#aaff0dc66f57f643a49ad3dd6bcb56916',1,'KernelTests']]], + ['test_5fp',['TEST_P',['../c__plane__tests_8cc.html#a11a0b914a08e5375cae792dc6db08c7a',1,'TEST_P(C_plane, Section_Ext1): c_plane_tests.cc'],['../c__plane__tests_8cc.html#aff93cc204b54a645341363e8bc280f21',1,'TEST_P(C_plane, Section_Ext1_9bit): c_plane_tests.cc'],['../c__plane__tests_8cc.html#a8491192ecf8ad52998d66312a4b70f83',1,'TEST_P(C_plane, PacketGen): c_plane_tests.cc'],['../c__plane__tests_8cc.html#a71b8458c71026c561352ee857eb3a490',1,'TEST_P(C_plane, PacketGen_Ext): c_plane_tests.cc'],['../c__plane__tests_8cc.html#a21d05f2c6607fc534e67ed32883de81f',1,'TEST_P(C_plane, Perf): c_plane_tests.cc'],['../c__plane__tests_8cc.html#ab0ad0e23f1b51f15bd9594a24a2c438f',1,'TEST_P(C_plane, Perf_Ext): c_plane_tests.cc'],['../chain__tests_8cc.html#a6c5f599800ca755367ad7df4da60eb86',1,'TEST_P(TestChain, CPlaneDLPerf): chain_tests.cc'],['../chain__tests_8cc.html#a54a43b6c3ece3e568457002dbe5b5c1a',1,'TEST_P(TestChain, CPlaneULPerf): chain_tests.cc'],['../chain__tests_8cc.html#a2bc2178388f6edfa69905ff5f52fbcdc',1,'TEST_P(TestChain, UPlaneDLPerf): chain_tests.cc'],['../chain__tests_8cc.html#a9dc1e3a47b655cad97eed3db3cdebd92',1,'TEST_P(TestChain, APlaneDLPerf): chain_tests.cc'],['../compander__functional_8cc.html#a53f55fd621ce0edd0b50933321ae7ade',1,'TEST_P(BfpCheck, AVX512_12bit): compander_functional.cc'],['../compander__functional_8cc.html#a3351c323474adfa4b66c985141776b2f',1,'TEST_P(BfpCheck, AVX512_10bit): compander_functional.cc'],['../compander__functional_8cc.html#a05f3cac0967e0fc77f7c8e0a1f05ba82',1,'TEST_P(BfpCheck, AVX512_9bit): compander_functional.cc'],['../compander__functional_8cc.html#af62cc2e23934ba7efa6a132a26a339fe',1,'TEST_P(BfpCheck, AVX512_8bit): compander_functional.cc'],['../compander__functional_8cc.html#ae322f73cf02c6e8cfa6e8187808de25b',1,'TEST_P(BfpPerf, AVX512_8bit_compression): compander_functional.cc'],['../compander__functional_8cc.html#a10836724f09d11c2520cd68db95aeca9',1,'TEST_P(BfpPerf, AVX512_8bit_decompression): compander_functional.cc'],['../compander__functional_8cc.html#aae69c6516cb0940cc68f27bc8854078b',1,'TEST_P(BfpPerf, AVX512_9bit_compression): compander_functional.cc'],['../compander__functional_8cc.html#afaefb1e4f9068a1fd21a27ef4ecdc529',1,'TEST_P(BfpPerf, AVX512_9bit_decompression): compander_functional.cc'],['../compander__functional_8cc.html#a1d0782094c6955e4b867efff51568a26',1,'TEST_P(BfpPerf, AVX512_10bit_compression): compander_functional.cc'],['../compander__functional_8cc.html#a94e6d7fe20edfe5b4ab1dfc265b188aa',1,'TEST_P(BfpPerf, AVX512_10bit_decompression): compander_functional.cc'],['../compander__functional_8cc.html#acc81043d5db9467b97bb44076b2c119d',1,'TEST_P(BfpPerf, AVX512_12bit_compression): compander_functional.cc'],['../compander__functional_8cc.html#a3b6ae394cbf14a0bfec66e010120eba8',1,'TEST_P(BfpPerf, AVX512_12bit_decompression): compander_functional.cc'],['../compander__functional_8cc.html#a45d64e11a1ecc040577b7f22b27dde51',1,'TEST_P(BfpCheck, AVX512_sweep_xranlib): compander_functional.cc'],['../compander__functional_8cc.html#a6f2f68d309e1fe6232db3d1c760901e5',1,'TEST_P(BfpPerfEx, AVX512_Comp): compander_functional.cc'],['../compander__functional_8cc.html#a43868f8668eda22af0b7fea9a453febc',1,'TEST_P(BfpPerfEx, AVX512_DeComp): compander_functional.cc'],['../init__sys__functional_8cc.html#a9796d6da0db5312f3ddffc3c43038daf',1,'TEST_P(Init_Sys_Check, Test_Open_Close): init_sys_functional.cc'],['../init__sys__functional_8cc.html#ac2f03036711a42868a78783b735097e5',1,'TEST_P(Init_Sys_Check, Test_xran_mm_init): init_sys_functional.cc'],['../init__sys__functional_8cc.html#a8e9607426b34de712f7d450018d0dc05',1,'TEST_P(Init_Sys_Check, Test_xran_get_common_counters): init_sys_functional.cc'],['../init__sys__functional_8cc.html#a593270c79e8ce298caeb715272c65173',1,'TEST_P(Init_Sys_Check, Test_xran_get_slot_idx): init_sys_functional.cc'],['../init__sys__functional_8cc.html#a74a4819defc7dbd1cfa7e793456be743',1,'TEST_P(Init_Sys_Check, Test_xran_reg_physide_cb): init_sys_functional.cc'],['../init__sys__functional_8cc.html#a7b1dc2a3c7a3d8e2eb7f2616417feb75',1,'TEST_P(Init_Sys_Check, Test_xran_reg_sym_cb): init_sys_functional.cc'],['../init__sys__functional_8cc.html#ae5f944f4eff8e2963b83b56f208a114d',1,'TEST_P(Init_Sys_Check, Test_xran_mm_destroy): init_sys_functional.cc'],['../init__sys__functional_8cc.html#a03935019c7cdf89f54e582fbaf9bff76',1,'TEST_P(Init_Sys_Check, Test_xran_start_stop): init_sys_functional.cc'],['../prach__functional_8cc.html#a62307393b7f454a2b348ada67997b796',1,'TEST_P(PrachCheck, PacketGen): prach_functional.cc'],['../prach__performance_8cc.html#a048e029f091d3d395e44cc24b3f197ee',1,'TEST_P(PrachPerf, PacketGen): prach_performance.cc'],['../u__plane__functional_8cc.html#a17e5d82ac5aec3860b1324a80fda79ed',1,'TEST_P(U_planeCheck, Test_DLUL): u_plane_functional.cc'],['../u__plane__performance_8cc.html#a227817e595c0b079e12728d4d19364e8',1,'TEST_P(U_planePerf, Test_DL): u_plane_performance.cc']]], + ['timer_5fget_5fticks',['timer_get_ticks',['../sample-app_8c.html#a867314baed90131ffce5918811d2f4ed',1,'sample-app.c']]], + ['timer_5fset_5ftsc_5ffreq_5ffrom_5fclock',['timer_set_tsc_freq_from_clock',['../sample-app_8c.html#afee345d3b4282c9b66f6a88a897ca358',1,'sample-app.c']]], + ['timing_5fadjust_5fgps_5fsecond',['timing_adjust_gps_second',['../xran__timer_8c.html#af01e1311b604e50d00b7ecce78d2ce22',1,'xran_timer.c']]], + ['timing_5fget_5fcurrent_5fsecond',['timing_get_current_second',['../xran__timer_8h.html#abee5de4c0d88f6c17ce6b3962d097f07',1,'timing_get_current_second(void): xran_timer.c'],['../xran__timer_8c.html#abee5de4c0d88f6c17ce6b3962d097f07',1,'timing_get_current_second(void): xran_timer.c']]], + ['timing_5fget_5fdebug_5fstop',['timing_get_debug_stop',['../xran__timer_8h.html#ae12363837fbb4d5f1f7ce0485d443c77',1,'timing_get_debug_stop(void): xran_timer.c'],['../xran__timer_8c.html#ae12363837fbb4d5f1f7ce0485d443c77',1,'timing_get_debug_stop(void): xran_timer.c']]], + ['timing_5fset_5fdebug_5fstop',['timing_set_debug_stop',['../xran__timer_8h.html#aeb3df12acecd320cd4939d4203dd9a99',1,'timing_set_debug_stop(int value, int count): xran_timer.c'],['../xran__timer_8c.html#aeb3df12acecd320cd4939d4203dd9a99',1,'timing_set_debug_stop(int value, int count): xran_timer.c']]], + ['timing_5fset_5fnumerology',['timing_set_numerology',['../xran__timer_8h.html#a6c1790e87767257159038d0d98a393e6',1,'timing_set_numerology(uint8_t value): xran_timer.c'],['../xran__timer_8c.html#a6c1790e87767257159038d0d98a393e6',1,'timing_set_numerology(uint8_t value): xran_timer.c']]], + ['to',['to',['../structnlohmann_1_1basic__json_1_1lexer_1_1strtonum.html#ab6b353b5dc68fe4151d9d20edecd162c',1,'nlohmann::basic_json::lexer::strtonum']]], + ['to_5fcbor',['to_cbor',['../classnlohmann_1_1basic__json.html#a7c65575e95a173952806dbf6cb43db9d',1,'nlohmann::basic_json']]], + ['to_5fjson',['to_json',['../structnlohmann_1_1adl__serializer.html#a1e04b5fee91e47467368f279d7f7b941',1,'nlohmann::adl_serializer::to_json()'],['../namespacenlohmann_1_1detail.html#a1a804b98cbe89b7e44b698f2ca860490',1,'nlohmann::detail::to_json(BasicJsonType &j, T b) noexcept'],['../namespacenlohmann_1_1detail.html#a7356ed05cdbbb080cee80e1211e1c6c9',1,'nlohmann::detail::to_json(BasicJsonType &j, const CompatibleString &s)'],['../namespacenlohmann_1_1detail.html#a22bffdc8bc7e43af380ba2050696b230',1,'nlohmann::detail::to_json(BasicJsonType &j, FloatType val) noexcept'],['../namespacenlohmann_1_1detail.html#ae5fd66b5517b3b5a6c6b9fd9f29ba8dc',1,'nlohmann::detail::to_json(BasicJsonType &j, CompatibleNumberUnsignedType val) noexcept'],['../namespacenlohmann_1_1detail.html#a91fe576be579c8c2fdd14610605c6dd2',1,'nlohmann::detail::to_json(BasicJsonType &j, CompatibleNumberIntegerType val) noexcept'],['../namespacenlohmann_1_1detail.html#a1f83504de38ee6f440a77ae898b86a18',1,'nlohmann::detail::to_json(BasicJsonType &j, UnscopedEnumType e) noexcept'],['../namespacenlohmann_1_1detail.html#a3afebc132c5ff83f9cd160e52030fdfd',1,'nlohmann::detail::to_json(BasicJsonType &j, const CompatibleArrayType &arr)'],['../namespacenlohmann_1_1detail.html#a6fa2f784014bfc0b62d7a35d51e676c9',1,'nlohmann::detail::to_json(BasicJsonType &j, const CompatibleObjectType &arr)']]], + ['to_5fmsgpack',['to_msgpack',['../classnlohmann_1_1basic__json.html#aefc0b96a623a236cf9cc27f44c7e997e',1,'nlohmann::basic_json']]], + ['to_5fstring',['to_string',['../classnlohmann_1_1basic__json_1_1json__pointer.html#a37b45672a268d893d5c07bed4160ed0d',1,'nlohmann::basic_json::json_pointer']]], + ['tsc_5frecovery',['tsc_recovery',['../common_8cpp.html#a56c41cbb9de4bce25da45ecd74b46a81',1,'tsc_recovery(): common.cpp'],['../common_8hpp.html#a56c41cbb9de4bce25da45ecd74b46a81',1,'tsc_recovery(): common.cpp']]], + ['tsc_5ftick',['tsc_tick',['../common_8cpp.html#a0ab5719a5f67d4d52057b2c4550fe930',1,'tsc_tick(): common.cpp'],['../common_8hpp.html#a0ab5719a5f67d4d52057b2c4550fe930',1,'tsc_tick(): common.cpp']]], + ['tti_5fota_5fcb',['tti_ota_cb',['../xran__main_8c.html#a9c3700d61ba446fa9b05cca2ca9018ab',1,'tti_ota_cb(struct rte_timer *tim, void *arg): xran_main.c'],['../xran__lib__wrap_8hpp.html#a9c3700d61ba446fa9b05cca2ca9018ab',1,'tti_ota_cb(struct rte_timer *tim, void *arg): xran_main.c']]], + ['tti_5fto_5fphy_5fcb',['tti_to_phy_cb',['../xran__main_8c.html#a6bec02784f5898c72bdbe64469186a45',1,'xran_main.c']]], + ['tx_5fcp_5fdl_5fcb',['tx_cp_dl_cb',['../xran__main_8c.html#a4474e27c827459f3af40954b0c6f962b',1,'tx_cp_dl_cb(struct rte_timer *tim, void *arg): xran_main.c'],['../chain__tests_8cc.html#a4474e27c827459f3af40954b0c6f962b',1,'tx_cp_dl_cb(struct rte_timer *tim, void *arg): xran_main.c']]], + ['tx_5fcp_5ful_5fcb',['tx_cp_ul_cb',['../xran__main_8c.html#ab26e37a9d8915b33e29d632af88ff3a3',1,'tx_cp_ul_cb(struct rte_timer *tim, void *arg): xran_main.c'],['../chain__tests_8cc.html#ab26e37a9d8915b33e29d632af88ff3a3',1,'tx_cp_ul_cb(struct rte_timer *tim, void *arg): xran_main.c']]], + ['type',['type',['../classnlohmann_1_1basic__json.html#adb8999aa40f92f1a176d8b43dc0ab25b',1,'nlohmann::basic_json']]], + ['type_5fname',['type_name',['../classnlohmann_1_1basic__json.html#a99cfa952f8b8deaae2505c89507ff3cd',1,'nlohmann::basic_json']]] +]; diff --git a/docs/API/search/functions_14.html b/docs/API/search/functions_14.html new file mode 100644 index 0000000..4c814f5 --- /dev/null +++ b/docs/API/search/functions_14.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/functions_14.js b/docs/API/search/functions_14.js new file mode 100644 index 0000000..52bcb4e --- /dev/null +++ b/docs/API/search/functions_14.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['ul_5fup_5ffull_5fslot_5fcb',['ul_up_full_slot_cb',['../xran__main_8c.html#a739e4c11ebd576733ec5fc965e7a2cc6',1,'xran_main.c']]], + ['unflatten',['unflatten',['../classnlohmann_1_1basic__json.html#a8d2f715c23be7e55ca35697e88fe6672',1,'nlohmann::basic_json']]], + ['update_5fsymbol_5findex',['update_symbol_index',['../classxran_lib_wraper.html#ac4ce5a18c687ee515676e035359a1e89',1,'xranLibWraper']]], + ['update_5ftti',['update_tti',['../classxran_lib_wraper.html#a3783fbb2a26b8a0530c489850a905a38',1,'xranLibWraper']]], + ['utcp_5ffh_5frx_5fcallback',['utcp_fh_rx_callback',['../chain__tests_8cc.html#a6862679e16a540ac01d6fd391316f648',1,'chain_tests.cc']]], + ['utcp_5ffh_5frx_5fprach_5fcallback',['utcp_fh_rx_prach_callback',['../chain__tests_8cc.html#ad67ad876d623656e1ddb3c6e22b39d5a',1,'chain_tests.cc']]] +]; diff --git a/docs/API/search/functions_15.html b/docs/API/search/functions_15.html new file mode 100644 index 0000000..0f002b8 --- /dev/null +++ b/docs/API/search/functions_15.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/functions_15.js b/docs/API/search/functions_15.js new file mode 100644 index 0000000..e11eca3 --- /dev/null +++ b/docs/API/search/functions_15.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['value',['value',['../classnlohmann_1_1basic__json.html#a13f9440aff453090f573a39f4713668f',1,'nlohmann::basic_json::value(const typename object_t::key_type &key, ValueType default_value) const'],['../classnlohmann_1_1basic__json.html#a47ae67764aed69ccdbf53dac54249070',1,'nlohmann::basic_json::value(const typename object_t::key_type &key, const char *default_value) const'],['../classnlohmann_1_1basic__json.html#ab2b8ceec8ed782b929dcb426bac15966',1,'nlohmann::basic_json::value(const json_pointer &ptr, ValueType default_value) const'],['../classnlohmann_1_1basic__json.html#afd2fc91538dba07614e9c1da44fafad7',1,'nlohmann::basic_json::value(const json_pointer &ptr, const char *default_value) const'],['../classnlohmann_1_1basic__json_1_1iter__impl.html#a964fb45284debd5434cd10dc6b59adab',1,'nlohmann::basic_json::iter_impl::value()'],['../classnlohmann_1_1basic__json_1_1json__reverse__iterator.html#a964fb45284debd5434cd10dc6b59adab',1,'nlohmann::basic_json::json_reverse_iterator::value()']]], + ['verify_5fsections',['verify_sections',['../class_c__plane.html#a2d5e33dd093724772a1447910bd34e15',1,'C_plane']]], + ['version_5fprint',['version_print',['../sample-app_8c.html#a24a2bdc164076e67087d8fa480d18728',1,'sample-app.c']]] +]; diff --git a/docs/API/search/functions_16.html b/docs/API/search/functions_16.html new file mode 100644 index 0000000..28a5025 --- /dev/null +++ b/docs/API/search/functions_16.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/functions_16.js b/docs/API/search/functions_16.js new file mode 100644 index 0000000..94f6f58 --- /dev/null +++ b/docs/API/search/functions_16.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['what',['what',['../structmissing__config__file__exception.html#a70518905d36686ddeeb2eb3b2682f016',1,'missing_config_file_exception::what()'],['../structreading__input__file__exception.html#a70518905d36686ddeeb2eb3b2682f016',1,'reading_input_file_exception::what()']]] +]; diff --git a/docs/API/search/functions_17.html b/docs/API/search/functions_17.html new file mode 100644 index 0000000..dabb214 --- /dev/null +++ b/docs/API/search/functions_17.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/functions_17.js b/docs/API/search/functions_17.js new file mode 100644 index 0000000..42ef4bf --- /dev/null +++ b/docs/API/search/functions_17.js @@ -0,0 +1,136 @@ +var searchData= +[ + ['xran_5f5g_5ffronthault_5fconfig',['xran_5g_fronthault_config',['../xran__fh__o__du_8h.html#ac94e2474beef3b68521cfd391211b1be',1,'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): xran_main.c'],['../xran__main_8c.html#ac94e2474beef3b68521cfd391211b1be',1,'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): xran_main.c']]], + ['xran_5f5g_5fprach_5freq',['xran_5g_prach_req',['../xran__fh__o__du_8h.html#ab204e979de14c21d34e9b88c6c700d25',1,'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): xran_main.c'],['../xran__main_8c.html#ab204e979de14c21d34e9b88c6c700d25',1,'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): xran_main.c']]], + ['xran_5f5g_5fsrs_5freq',['xran_5g_srs_req',['../xran__fh__o__du_8h.html#a2bd01fc3432f80a787d6bf317949dd80',1,'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): xran_main.c'],['../xran__main_8c.html#a2bd01fc3432f80a787d6bf317949dd80',1,'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): xran_main.c']]], + ['xran_5fadd_5feth_5fhdr_5fvlan',['xran_add_eth_hdr_vlan',['../ethernet_8c.html#aa3e9cefbde42d6864805b4ba2a8f4c86',1,'xran_add_eth_hdr_vlan(struct ether_addr *dst, uint16_t ethertype, struct rte_mbuf *mb, uint16_t vlan_tci): ethernet.c'],['../ethernet_8h.html#aa3e9cefbde42d6864805b4ba2a8f4c86',1,'xran_add_eth_hdr_vlan(struct ether_addr *dst, uint16_t ethertype, struct rte_mbuf *mb, uint16_t vlan_tci): ethernet.c']]], + ['xran_5fadd_5fhdr_5foffset',['xran_add_hdr_offset',['../xran__fh__o__du_8h.html#a68b53cf51fb3aee4a6d8be54d540965a',1,'xran_add_hdr_offset(uint8_t *dst, int16_t compMethod): xran_main.c'],['../xran__main_8c.html#a68b53cf51fb3aee4a6d8be54d540965a',1,'xran_add_hdr_offset(uint8_t *dst, int16_t compMethod): xran_main.c']]], + ['xran_5falloc_5fsectionid',['xran_alloc_sectionid',['../xran__common_8h.html#a8546e95e2daf30058a66904e7f801723',1,'xran_alloc_sectionid(void *pHandle, uint8_t dir, uint8_t cc_id, uint8_t ant_id, uint8_t slot_id): xran_main.c'],['../xran__main_8c.html#a8546e95e2daf30058a66904e7f801723',1,'xran_alloc_sectionid(void *pHandle, uint8_t dir, uint8_t cc_id, uint8_t ant_id, uint8_t slot_id): xran_main.c']]], + ['xran_5fapp_5ffragment_5fpacket',['xran_app_fragment_packet',['../xran__app__frag_8c.html#a601e1216fbace8ea32a97e37df69b129',1,'xran_app_fragment_packet(struct rte_mbuf *pkt_in, struct rte_mbuf **pkts_out, uint16_t nb_pkts_out, uint16_t mtu_size, struct rte_mempool *pool_direct, struct rte_mempool *pool_indirect, struct xran_section_info *sectinfo, uint8_t *seqid): xran_app_frag.c'],['../xran__app__frag_8h.html#a601e1216fbace8ea32a97e37df69b129',1,'xran_app_fragment_packet(struct rte_mbuf *pkt_in, struct rte_mbuf **pkts_out, uint16_t nb_pkts_out, uint16_t mtu_size, struct rte_mempool *pool_direct, struct rte_mempool *pool_indirect, struct xran_section_info *sectinfo, uint8_t *seqid): xran_app_frag.c']]], + ['xran_5fappend_5fcontrol_5fsection',['xran_append_control_section',['../xran__cp__api_8c.html#ad50ae862f0707dab5e7b8e6a774fd225',1,'xran_cp_api.c']]], + ['xran_5fappend_5fradioapp_5fheader',['xran_append_radioapp_header',['../xran__cp__api_8c.html#a1261c107d1103c8bd1b3376db4aa7951',1,'xran_cp_api.c']]], + ['xran_5fappend_5fsection_5fextensions',['xran_append_section_extensions',['../xran__cp__api_8c.html#a8a6808ba5994c2ab413ee00dd56299cd',1,'xran_cp_api.c']]], + ['xran_5fbm_5fallocate_5fbuffer',['xran_bm_allocate_buffer',['../xran__fh__o__du_8h.html#ae79ca138dc77d69ef692886be4e5da81',1,'xran_bm_allocate_buffer(void *pHandle, uint32_t nPoolIndex, void **ppData, void **ppCtrl): xran_main.c'],['../xran__main_8c.html#ae79ca138dc77d69ef692886be4e5da81',1,'xran_bm_allocate_buffer(void *pHandle, uint32_t nPoolIndex, void **ppData, void **ppCtrl): xran_main.c']]], + ['xran_5fbm_5ffree_5fbuffer',['xran_bm_free_buffer',['../xran__fh__o__du_8h.html#a0f904fe772b55bcfc449759a23063aa3',1,'xran_bm_free_buffer(void *pHandle, void *pData, void *pCtrl): xran_main.c'],['../xran__main_8c.html#a0f904fe772b55bcfc449759a23063aa3',1,'xran_bm_free_buffer(void *pHandle, void *pData, void *pCtrl): xran_main.c']]], + ['xran_5fbm_5finit',['xran_bm_init',['../xran__fh__o__du_8h.html#a39a9f7b5d01979eb1f8d806d6b9c50fe',1,'xran_bm_init(void *pHandle, uint32_t *pPoolIndex, uint32_t nNumberOfBuffers, uint32_t nBufferSize): xran_main.c'],['../xran__main_8c.html#a39a9f7b5d01979eb1f8d806d6b9c50fe',1,'xran_bm_init(void *pHandle, uint32_t *pPoolIndex, uint32_t nNumberOfBuffers, uint32_t nBufferSize): xran_main.c']]], + ['xran_5fbuild_5fecpri_5fhdr',['xran_build_ecpri_hdr',['../xran__transport_8h.html#aa21387dfaba47c2046d4a05f50cfc768',1,'xran_build_ecpri_hdr(struct rte_mbuf *mbuf, uint8_t CC_ID, uint8_t Ant_ID, uint8_t seq_id, struct xran_ecpri_hdr **ecpri_hdr): xran_transport.c'],['../xran__transport_8c.html#aa21387dfaba47c2046d4a05f50cfc768',1,'xran_build_ecpri_hdr(struct rte_mbuf *mbuf, uint8_t CC_ID, uint8_t Ant_ID, uint8_t seq_id, struct xran_ecpri_hdr **ecpri_hdr): xran_transport.c']]], + ['xran_5fclose',['xran_close',['../xran__fh__o__du_8h.html#a2f8866c9d6536a56e4d8232b8c45808b',1,'xran_close(void *pHandle): xran_main.c'],['../xran__main_8c.html#a2f8866c9d6536a56e4d8232b8c45808b',1,'xran_close(void *pHandle): xran_main.c']]], + ['xran_5fcompose_5fcid',['xran_compose_cid',['../xran__transport_8h.html#ae834080139ba785f1a3ac5781bf2ec88',1,'xran_compose_cid(uint8_t CU_Port_ID, uint8_t BandSector_ID, uint8_t CC_ID, uint8_t Ant_ID): xran_transport.c'],['../xran__transport_8c.html#ae834080139ba785f1a3ac5781bf2ec88',1,'xran_compose_cid(uint8_t CU_Port_ID, uint8_t BandSector_ID, uint8_t CC_ID, uint8_t Ant_ID): xran_transport.c']]], + ['xran_5fcp_5fadd_5fmultisection_5finfo',['xran_cp_add_multisection_info',['../xran__cp__api_8h.html#ae5d69f1c437b336ec274f5e1ab8e2e30',1,'xran_cp_add_multisection_info(void *pHandle, uint8_t cc_id, uint8_t ruport_id, uint8_t ctx_id, struct xran_cp_gen_params *gen_info): xran_cp_api.c'],['../xran__cp__api_8c.html#ae5d69f1c437b336ec274f5e1ab8e2e30',1,'xran_cp_add_multisection_info(void *pHandle, uint8_t cc_id, uint8_t ruport_id, uint8_t ctx_id, struct xran_cp_gen_params *gen_info): xran_cp_api.c']]], + ['xran_5fcp_5fadd_5fsection_5finfo',['xran_cp_add_section_info',['../xran__cp__api_8h.html#a2a349ad9adaec2cfd7f88e791d451c5e',1,'xran_cp_add_section_info(void *pHandle, uint8_t dir, uint8_t cc_id, uint8_t ruport_id, uint8_t ctx_id, struct xran_section_info *info): xran_cp_api.c'],['../xran__cp__api_8c.html#a2a349ad9adaec2cfd7f88e791d451c5e',1,'xran_cp_add_section_info(void *pHandle, uint8_t dir, uint8_t cc_id, uint8_t ruport_id, uint8_t ctx_id, struct xran_section_info *info): xran_cp_api.c']]], + ['xran_5fcp_5fcreate_5fand_5fsend_5fsection',['xran_cp_create_and_send_section',['../xran__main_8c.html#a66ed2e3f4cefcfdd71841c152c80aa20',1,'xran_main.c']]], + ['xran_5fcp_5ffind_5fsection_5finfo',['xran_cp_find_section_info',['../xran__cp__api_8h.html#a717d00904ede832e69fe4f3114a96563',1,'xran_cp_find_section_info(void *pHandle, uint8_t dir, uint8_t cc_id, uint8_t ruport_id, uint8_t ctx_id, uint16_t section_id): xran_cp_api.c'],['../xran__cp__api_8c.html#a717d00904ede832e69fe4f3114a96563',1,'xran_cp_find_section_info(void *pHandle, uint8_t dir, uint8_t cc_id, uint8_t ruport_id, uint8_t ctx_id, uint16_t section_id): xran_cp_api.c']]], + ['xran_5fcp_5ffree_5fsectiondb',['xran_cp_free_sectiondb',['../xran__cp__api_8h.html#a965fc18e61438182b0ae70809b68fb23',1,'xran_cp_free_sectiondb(void *pHandle): xran_cp_api.c'],['../xran__cp__api_8c.html#a965fc18e61438182b0ae70809b68fb23',1,'xran_cp_free_sectiondb(void *pHandle): xran_cp_api.c']]], + ['xran_5fcp_5fgetsize_5fsection_5finfo',['xran_cp_getsize_section_info',['../xran__cp__api_8h.html#aacba15717a11e5218541a25674a78bb0',1,'xran_cp_getsize_section_info(void *pHandle, uint8_t dir, uint8_t cc_id, uint8_t ruport_id, uint8_t ctx_id): xran_cp_api.c'],['../xran__cp__api_8c.html#a8a0777a40a92869e6b3772feae416db0',1,'xran_cp_getsize_section_info(void *pHandle, uint8_t dir, uint8_t cc_id, uint8_t ruport_id, uint8_t ctx_id): xran_cp_api.c']]], + ['xran_5fcp_5finit_5fsectiondb',['xran_cp_init_sectiondb',['../xran__cp__api_8h.html#a3ca98b2a49501149a7b5baf9174897d8',1,'xran_cp_init_sectiondb(void *pHandle): xran_cp_api.c'],['../xran__cp__api_8c.html#a3ca98b2a49501149a7b5baf9174897d8',1,'xran_cp_init_sectiondb(void *pHandle): xran_cp_api.c']]], + ['xran_5fcp_5fiterate_5fsection_5finfo',['xran_cp_iterate_section_info',['../xran__cp__api_8h.html#aef16da48f3d30626c31dfeff9d8301fa',1,'xran_cp_iterate_section_info(void *pHandle, uint8_t dir, uint8_t cc_id, uint8_t ruport_id, uint8_t ctx_id, uint32_t *next): xran_cp_api.c'],['../xran__cp__api_8c.html#aef16da48f3d30626c31dfeff9d8301fa',1,'xran_cp_iterate_section_info(void *pHandle, uint8_t dir, uint8_t cc_id, uint8_t ruport_id, uint8_t ctx_id, uint32_t *next): xran_cp_api.c']]], + ['xran_5fcp_5fpopulate_5fsection_5fext_5f1',['xran_cp_populate_section_ext_1',['../xran__cp__api_8h.html#afa26200d2578ae0a20cc197b6eab3640',1,'xran_cp_populate_section_ext_1(int8_t *p_ext1_dst, uint16_t ext1_dst_len, int16_t *p_bfw_iq_src, uint16_t rbNumber, uint16_t bfwNumber, uint8_t bfwiqWidth, uint8_t bfwCompMeth): xran_cp_api.c'],['../xran__cp__api_8c.html#a848d22f9f7e5f493782bf8a9bfdb8f3a',1,'xran_cp_populate_section_ext_1(int8_t *p_ext1_dst, uint16_t ext1_dst_len, int16_t *p_bfw_iq_src, uint16_t rbNum, uint16_t bfwNumPerRb, uint8_t bfwiqWidth, uint8_t bfwCompMeth): xran_cp_api.c']]], + ['xran_5fcp_5freset_5fsection_5finfo',['xran_cp_reset_section_info',['../xran__cp__api_8h.html#a3d9c3e2adf0acd0763dbb0c8e8c72f11',1,'xran_cp_reset_section_info(void *pHandle, uint8_t dir, uint8_t cc_id, uint8_t ruport_id, uint8_t ctx_id): xran_cp_api.c'],['../xran__cp__api_8c.html#a3d9c3e2adf0acd0763dbb0c8e8c72f11',1,'xran_cp_reset_section_info(void *pHandle, uint8_t dir, uint8_t cc_id, uint8_t ruport_id, uint8_t ctx_id): xran_cp_api.c']]], + ['xran_5fcreate_5fcb',['xran_create_cb',['../xran__common_8c.html#a0bca0820bfef3a6c277c47490179e065',1,'xran_create_cb(XranSymCallbackFn cb_fn, void *cb_data): xran_common.c'],['../xran__common_8h.html#a0bca0820bfef3a6c277c47490179e065',1,'xran_create_cb(XranSymCallbackFn cb_fn, void *cb_data): xran_common.c']]], + ['xran_5fdecompose_5fcid',['xran_decompose_cid',['../xran__transport_8h.html#ab08a85b6527f45a9ba22d25061a96a3c',1,'xran_decompose_cid(uint16_t cid, struct xran_eaxc_info *result): xran_transport.c'],['../xran__transport_8c.html#ab08a85b6527f45a9ba22d25061a96a3c',1,'xran_decompose_cid(uint16_t cid, struct xran_eaxc_info *result): xran_transport.c']]], + ['xran_5fdestroy_5fcb',['xran_destroy_cb',['../xran__common_8c.html#aac0cae66657ea84e2030ced6e58c29b4',1,'xran_destroy_cb(struct cb_elem_entry *cb_elm): xran_common.c'],['../xran__common_8h.html#aac0cae66657ea84e2030ced6e58c29b4',1,'xran_destroy_cb(struct cb_elem_entry *cb_elm): xran_common.c']]], + ['xran_5fdev_5fget_5fctx',['xran_dev_get_ctx',['../xran__common_8h.html#aa09e72e94d2a1d891e86f4c09b0f8b21',1,'xran_dev_get_ctx(void): xran_main.c'],['../xran__main_8c.html#aa09e72e94d2a1d891e86f4c09b0f8b21',1,'xran_dev_get_ctx(void): xran_main.c']]], + ['xran_5fdump_5fsectiondb',['xran_dump_sectiondb',['../xran__cp__api_8c.html#a201fce4384d6799777dbbefc4a053137',1,'xran_cp_api.c']]], + ['xran_5fethdi_5ffilter_5fpacket',['xran_ethdi_filter_packet',['../ethdi_8c.html#af110b40ee89935ebe18d65ef84de1359',1,'xran_ethdi_filter_packet(struct rte_mbuf *pkt, uint64_t rx_time): ethdi.c'],['../ethdi_8h.html#af110b40ee89935ebe18d65ef84de1359',1,'xran_ethdi_filter_packet(struct rte_mbuf *pkt, uint64_t rx_time): ethdi.c']]], + ['xran_5fethdi_5finit_5fdpdk_5fio',['xran_ethdi_init_dpdk_io',['../ethdi_8c.html#a97dcf8200aebed714f47764c302a06b5',1,'xran_ethdi_init_dpdk_io(char *name, const struct xran_io_loop_cfg *io_cfg, int *lcore_id, struct ether_addr *p_lls_cu_addr, struct ether_addr *p_ru_addr, uint16_t cp_vlan, uint16_t up_vlan): ethdi.c'],['../ethdi_8h.html#a97dcf8200aebed714f47764c302a06b5',1,'xran_ethdi_init_dpdk_io(char *name, const struct xran_io_loop_cfg *io_cfg, int *lcore_id, struct ether_addr *p_lls_cu_addr, struct ether_addr *p_ru_addr, uint16_t cp_vlan, uint16_t up_vlan): ethdi.c']]], + ['xran_5fethdi_5fmbuf_5falloc',['xran_ethdi_mbuf_alloc',['../ethdi_8c.html#a77f0a4b49dc21be816aefa3066debfa7',1,'xran_ethdi_mbuf_alloc(void): ethdi.c'],['../ethdi_8h.html#a77f0a4b49dc21be816aefa3066debfa7',1,'xran_ethdi_mbuf_alloc(void): ethdi.c']]], + ['xran_5fethdi_5fmbuf_5fsend',['xran_ethdi_mbuf_send',['../ethdi_8c.html#ab6a05b3b37887e49b0017e1668317829',1,'xran_ethdi_mbuf_send(struct rte_mbuf *mb, uint16_t ethertype): ethdi.c'],['../ethdi_8h.html#ab6a05b3b37887e49b0017e1668317829',1,'xran_ethdi_mbuf_send(struct rte_mbuf *mb, uint16_t ethertype): ethdi.c']]], + ['xran_5fethdi_5fmbuf_5fsend_5fcp',['xran_ethdi_mbuf_send_cp',['../ethdi_8c.html#ab8a8c592ac06111ce690ab5a6207a6eb',1,'xran_ethdi_mbuf_send_cp(struct rte_mbuf *mb, uint16_t ethertype): ethdi.c'],['../ethdi_8h.html#ab8a8c592ac06111ce690ab5a6207a6eb',1,'xran_ethdi_mbuf_send_cp(struct rte_mbuf *mb, uint16_t ethertype): ethdi.c']]], + ['xran_5fextract_5fiq_5fsamples',['xran_extract_iq_samples',['../xran__up__api_8h.html#adfc5ea408600c8de1384be020b359d95',1,'xran_extract_iq_samples(struct rte_mbuf *mbuf, void **iq_data_start, uint8_t *CC_ID, uint8_t *Ant_ID, uint8_t *frame_id, uint8_t *subframe_id, uint8_t *slot_id, uint8_t *symb_id, struct ecpri_seq_id *seq_id, uint16_t *num_prbu, uint16_t *start_prbu, uint16_t *sym_inc, uint16_t *rb, uint16_t *sect_id, int8_t expect_comp, uint8_t *compMeth, uint8_t *iqWidth): xran_up_api.c'],['../xran__up__api_8c.html#adfc5ea408600c8de1384be020b359d95',1,'xran_extract_iq_samples(struct rte_mbuf *mbuf, void **iq_data_start, uint8_t *CC_ID, uint8_t *Ant_ID, uint8_t *frame_id, uint8_t *subframe_id, uint8_t *slot_id, uint8_t *symb_id, struct ecpri_seq_id *seq_id, uint16_t *num_prbu, uint16_t *start_prbu, uint16_t *sym_inc, uint16_t *rb, uint16_t *sect_id, int8_t expect_comp, uint8_t *compMeth, uint8_t *iqWidth): xran_up_api.c']]], + ['xran_5ffh_5frx_5fcallback',['xran_fh_rx_callback',['../sample-app_8c.html#aa8022559021fc69bb2664a476ac83ba3',1,'xran_fh_rx_callback(void *pCallbackTag, int32_t status): sample-app.c'],['../init__sys__functional_8cc.html#ac6a3121934d1301a33197c857bd61391',1,'xran_fh_rx_callback(void *pCallbackTag, xran_status_t status): init_sys_functional.cc']]], + ['xran_5ffh_5frx_5fprach_5fcallback',['xran_fh_rx_prach_callback',['../sample-app_8c.html#ad5f5d1afc7b3f177bdffb5e9c83bc28d',1,'xran_fh_rx_prach_callback(void *pCallbackTag, int32_t status): sample-app.c'],['../init__sys__functional_8cc.html#a2f5cc4dc3c9d4a042cab8024cb7278c3',1,'xran_fh_rx_prach_callback(void *pCallbackTag, xran_status_t status): init_sys_functional.cc']]], + ['xran_5ffh_5frx_5fsrs_5fcallback',['xran_fh_rx_srs_callback',['../sample-app_8c.html#abcd59eea4ce9c1b00cf70e967e8d7aef',1,'sample-app.c']]], + ['xran_5ffs_5fcal_5fnrarfcn',['xran_fs_cal_nrarfcn',['../xran__frame__struct_8c.html#acc4fa9a039885a36bec7d1f6b68de1b0',1,'xran_fs_cal_nrarfcn(uint32_t nCenterFreq): xran_frame_struct.c'],['../xran__frame__struct_8h.html#acc4fa9a039885a36bec7d1f6b68de1b0',1,'xran_fs_cal_nrarfcn(uint32_t nCenterFreq): xran_frame_struct.c']]], + ['xran_5ffs_5fclear_5fslot_5ftype',['xran_fs_clear_slot_type',['../xran__frame__struct_8c.html#a907e2367ffa2ddb6776aad8e15715a3a',1,'xran_fs_clear_slot_type(uint32_t nPhyInstanceId): xran_frame_struct.c'],['../xran__frame__struct_8h.html#a74a51cc251882612b53feb4895bcab61',1,'xran_fs_clear_slot_type(uint32_t nCcId): xran_frame_struct.c']]], + ['xran_5ffs_5fget_5fmax_5fslot',['xran_fs_get_max_slot',['../xran__frame__struct_8c.html#a7f5a87395d3930f222e58976960c99e2',1,'xran_fs_get_max_slot(void): xran_frame_struct.c'],['../xran__frame__struct_8h.html#a7f5a87395d3930f222e58976960c99e2',1,'xran_fs_get_max_slot(void): xran_frame_struct.c']]], + ['xran_5ffs_5fget_5fmax_5fslot_5fsfn',['xran_fs_get_max_slot_SFN',['../xran__frame__struct_8c.html#a00aa0f7cc00a6ca9cde2bec43eb1c9f9',1,'xran_fs_get_max_slot_SFN(void): xran_frame_struct.c'],['../xran__frame__struct_8h.html#a00aa0f7cc00a6ca9cde2bec43eb1c9f9',1,'xran_fs_get_max_slot_SFN(void): xran_frame_struct.c']]], + ['xran_5ffs_5fget_5fnum_5frbs',['xran_fs_get_num_rbs',['../xran__frame__struct_8c.html#adef530f5f3ebc94606c692d8784ddaf2',1,'xran_fs_get_num_rbs(uint32_t nNumerology, uint32_t nBandwidth, uint32_t nAbsFrePointA): xran_frame_struct.c'],['../xran__frame__struct_8h.html#adef530f5f3ebc94606c692d8784ddaf2',1,'xran_fs_get_num_rbs(uint32_t nNumerology, uint32_t nBandwidth, uint32_t nAbsFrePointA): xran_frame_struct.c']]], + ['xran_5ffs_5fget_5fscs',['xran_fs_get_scs',['../xran__frame__struct_8c.html#a358977362c5bc0e3adc9f897994c0d09',1,'xran_fs_get_scs(uint8_t nMu): xran_frame_struct.c'],['../xran__frame__struct_8h.html#a358977362c5bc0e3adc9f897994c0d09',1,'xran_fs_get_scs(uint8_t nMu): xran_frame_struct.c']]], + ['xran_5ffs_5fget_5fslot_5ftype',['xran_fs_get_slot_type',['../xran__frame__struct_8c.html#a875ef2ff0c44ad26c75bebe2a4732c80',1,'xran_fs_get_slot_type(int32_t nCellIdx, int32_t nSlotdx, int32_t nType): xran_frame_struct.c'],['../xran__frame__struct_8h.html#a9cc99d80a722f6afd2aaf6c6bd2e8887',1,'xran_fs_get_slot_type(int32_t nCcId, int32_t nSlotIdx, int32_t nType): xran_frame_struct.c']]], + ['xran_5ffs_5fget_5fsymbol_5ftype',['xran_fs_get_symbol_type',['../xran__frame__struct_8c.html#a3ad2b8ea8fe3559ce6d0195ed25dca11',1,'xran_fs_get_symbol_type(int32_t nCellIdx, int32_t nSlotdx, int32_t nSymbIdx): xran_frame_struct.c'],['../xran__frame__struct_8h.html#a3ad2b8ea8fe3559ce6d0195ed25dca11',1,'xran_fs_get_symbol_type(int32_t nCellIdx, int32_t nSlotdx, int32_t nSymbIdx): xran_frame_struct.c']]], + ['xran_5ffs_5fget_5ftti_5finterval',['xran_fs_get_tti_interval',['../xran__frame__struct_8c.html#a8e8598556da3e49fa48cb646c24162fa',1,'xran_fs_get_tti_interval(uint8_t nMu): xran_frame_struct.c'],['../xran__frame__struct_8h.html#a8e8598556da3e49fa48cb646c24162fa',1,'xran_fs_get_tti_interval(uint8_t nMu): xran_frame_struct.c']]], + ['xran_5ffs_5fset_5fslot_5ftype',['xran_fs_set_slot_type',['../xran__frame__struct_8c.html#a075025c7652869adb79799313aab4f64',1,'xran_fs_set_slot_type(uint32_t nPhyInstanceId, uint32_t nFrameDuplexType, uint32_t nTddPeriod, struct xran_slot_config *psSlotConfig): xran_frame_struct.c'],['../xran__frame__struct_8h.html#a93baa96226b7790c8db4942f304269fc',1,'xran_fs_set_slot_type(uint32_t nCcId, uint32_t nFrameDuplexType, uint32_t nTddPeriod, struct xran_slot_config *psSlotConfig): xran_frame_struct.c']]], + ['xran_5ffs_5fslot_5flimit',['xran_fs_slot_limit',['../xran__frame__struct_8c.html#ac81b5cb02d886c3eb9e7f006ea1f62f4',1,'xran_fs_slot_limit(int32_t nSfIdx): xran_frame_struct.c'],['../xran__frame__struct_8h.html#a2dae6c563c553fcc13a9cd3c87b9f37b',1,'xran_fs_slot_limit(int32_t nSlotIdx): xran_frame_struct.c']]], + ['xran_5ffs_5fslot_5flimit_5finit',['xran_fs_slot_limit_init',['../xran__frame__struct_8c.html#a2fd9b68ce2fa4734a021203b320e4e04',1,'xran_fs_slot_limit_init(int32_t tti_interval_us): xran_frame_struct.c'],['../xran__frame__struct_8h.html#a2fd9b68ce2fa4734a021203b320e4e04',1,'xran_fs_slot_limit_init(int32_t tti_interval_us): xran_frame_struct.c']]], + ['xran_5fget_5fbeamid',['xran_get_beamid',['../xran__main_8c.html#a9348246ce882be9b72449a64385d7217',1,'xran_main.c']]], + ['xran_5fget_5fcommon_5fcounters',['xran_get_common_counters',['../xran__fh__o__du_8h.html#ac153c5a3e3f4f64ab0fafca6f593c380',1,'xran_get_common_counters(void *pXranLayerHandle, struct xran_common_counters *pStats): xran_main.c'],['../xran__main_8c.html#ac153c5a3e3f4f64ab0fafca6f593c380',1,'xran_get_common_counters(void *pXranLayerHandle, struct xran_common_counters *pStats): xran_main.c']]], + ['xran_5fget_5fconf_5fcompmethod',['xran_get_conf_compmethod',['../xran__common_8h.html#a70d428b456fbe76f8550ff9b782a9e4e',1,'xran_get_conf_compmethod(void *pHandle): xran_main.c'],['../xran__main_8c.html#a70d428b456fbe76f8550ff9b782a9e4e',1,'xran_get_conf_compmethod(void *pHandle): xran_main.c']]], + ['xran_5fget_5fconf_5feaxc',['xran_get_conf_eAxC',['../xran__common_8h.html#a761e3947dcc547008a12a9cca10b1ea0',1,'xran_get_conf_eAxC(void *pHandle): xran_main.c'],['../xran__main_8c.html#a761e3947dcc547008a12a9cca10b1ea0',1,'xran_get_conf_eAxC(void *pHandle): xran_main.c']]], + ['xran_5fget_5fconf_5ffftsize',['xran_get_conf_fftsize',['../xran__common_8h.html#ada345a8a99480787d4274a342aa39535',1,'xran_get_conf_fftsize(void *pHandle): xran_main.c'],['../xran__main_8c.html#ada345a8a99480787d4274a342aa39535',1,'xran_get_conf_fftsize(void *pHandle): xran_main.c']]], + ['xran_5fget_5fconf_5fiqwidth',['xran_get_conf_iqwidth',['../xran__common_8h.html#a5f780beefc47e125ffd42fde16117e62',1,'xran_get_conf_iqwidth(void *pHandle): xran_main.c'],['../xran__main_8c.html#a5f780beefc47e125ffd42fde16117e62',1,'xran_get_conf_iqwidth(void *pHandle): xran_main.c']]], + ['xran_5fget_5fconf_5fnum_5fbfweights',['xran_get_conf_num_bfweights',['../xran__common_8h.html#ad749041bcf50616bac96e4d13b661272',1,'xran_get_conf_num_bfweights(void *pHandle): xran_main.c'],['../xran__main_8c.html#ad749041bcf50616bac96e4d13b661272',1,'xran_get_conf_num_bfweights(void *pHandle): xran_main.c']]], + ['xran_5fget_5fconf_5fnumerology',['xran_get_conf_numerology',['../xran__common_8h.html#ae6070ee9caf6a7ea8d7ef052ed0a559a',1,'xran_get_conf_numerology(void *pHandle): xran_main.c'],['../xran__main_8c.html#ae6070ee9caf6a7ea8d7ef052ed0a559a',1,'xran_get_conf_numerology(void *pHandle): xran_main.c']]], + ['xran_5fget_5fconf_5fprach_5fscs',['xran_get_conf_prach_scs',['../xran__common_8h.html#ab39a5770374d16662d62a85504a11930',1,'xran_get_conf_prach_scs(void *pHandle): xran_main.c'],['../xran__main_8c.html#ab39a5770374d16662d62a85504a11930',1,'xran_get_conf_prach_scs(void *pHandle): xran_main.c']]], + ['xran_5fget_5fcplength',['xran_get_cplength',['../xran__cp__api_8h.html#ab4bb8d75b8549c5b475d6ffe27e17286',1,'xran_get_cplength(int cpLength): xran_cp_api.c'],['../xran__cp__api_8c.html#ab147e86ba4d34b9335642861bc2812d5',1,'xran_get_cplength(int CP_length): xran_cp_api.c']]], + ['xran_5fget_5fecpri_5fhdr_5fsize',['xran_get_ecpri_hdr_size',['../xran__transport_8h.html#a0f378609208ec66467c58f0702ced85c',1,'xran_get_ecpri_hdr_size(void): xran_transport.c'],['../xran__transport_8c.html#a0f378609208ec66467c58f0702ced85c',1,'xran_get_ecpri_hdr_size(void): xran_transport.c']]], + ['xran_5fget_5ffreqoffset',['xran_get_freqoffset',['../xran__cp__api_8h.html#a4b7c2b7f89a0a04b07426e6adbecdb27',1,'xran_get_freqoffset(int freqOffset, int scs): xran_cp_api.h'],['../xran__cp__api_8c.html#a369024df36c290df733e9a273d5330bd',1,'xran_get_freqoffset(int32_t freqOffset, int32_t scs): xran_cp_api.c']]], + ['xran_5fget_5fif_5fstate',['xran_get_if_state',['../xran__fh__o__du_8h.html#a937105f52446cfcb951e43e1dc3c4d8b',1,'xran_get_if_state(void): xran_main.c'],['../xran__main_8c.html#a937105f52446cfcb951e43e1dc3c4d8b',1,'xran_get_if_state(void): xran_main.c']]], + ['xran_5fget_5fnum_5fant_5felm',['xran_get_num_ant_elm',['../xran__common_8h.html#a7c54b342a8b4907858f7f0f074ddd79d',1,'xran_get_num_ant_elm(void *pHandle): xran_main.c'],['../xran__main_8c.html#a7c54b342a8b4907858f7f0f074ddd79d',1,'xran_get_num_ant_elm(void *pHandle): xran_main.c']]], + ['xran_5fget_5fnum_5fcc',['xran_get_num_cc',['../xran__common_8h.html#ad51ee5b7f1f27c770f1eb658b5ee523e',1,'xran_get_num_cc(void *pHandle): xran_main.c'],['../xran__main_8c.html#ad51ee5b7f1f27c770f1eb658b5ee523e',1,'xran_get_num_cc(void *pHandle): xran_main.c']]], + ['xran_5fget_5fnum_5feaxc',['xran_get_num_eAxc',['../xran__common_8h.html#a3fc01469558ddf728239d59038ac5803',1,'xran_get_num_eAxc(void *pHandle): xran_main.c'],['../xran__main_8c.html#a3fc01469558ddf728239d59038ac5803',1,'xran_get_num_eAxc(void *pHandle): xran_main.c']]], + ['xran_5fget_5fnum_5feaxcul',['xran_get_num_eAxcUl',['../xran__common_8h.html#aaf7b03037e0687819501554a42fb3c52',1,'xran_get_num_eAxcUl(void *pHandle): xran_main.c'],['../xran__main_8c.html#aaf7b03037e0687819501554a42fb3c52',1,'xran_get_num_eAxcUl(void *pHandle): xran_main.c']]], + ['xran_5fget_5fru_5fcategory',['xran_get_ru_category',['../xran__common_8h.html#ae3663b3f472b4003acc7f91e61669735',1,'xran_get_ru_category(void *pHandle): xran_main.c'],['../xran__main_8c.html#ae3663b3f472b4003acc7f91e61669735',1,'xran_get_ru_category(void *pHandle): xran_main.c']]], + ['xran_5fget_5fseqid',['xran_get_seqid',['../xran__common_8h.html#a797338bb7bfd36d9075ccf2683397018',1,'xran_common.h']]], + ['xran_5fget_5fslot_5fidx',['xran_get_slot_idx',['../xran__fh__o__du_8h.html#a2816fdf0ed3269e998720d01c2b6bf76',1,'xran_get_slot_idx(uint32_t *nFrameIdx, uint32_t *nSubframeIdx, uint32_t *nSlotIdx, uint64_t *nSecond): xran_main.c'],['../xran__main_8c.html#a2816fdf0ed3269e998720d01c2b6bf76',1,'xran_get_slot_idx(uint32_t *nFrameIdx, uint32_t *nSubframeIdx, uint32_t *nSlotIdx, uint64_t *nSecond): xran_main.c']]], + ['xran_5fget_5ftime_5fstats',['xran_get_time_stats',['../xran__fh__o__du_8h.html#ac5d259c362d10b47c233b5098052cbf2',1,'xran_get_time_stats(uint64_t *total_time, uint64_t *used_time, uint32_t *core_used, uint32_t clear): xran_main.c'],['../xran__main_8c.html#ac5d259c362d10b47c233b5098052cbf2',1,'xran_get_time_stats(uint64_t *total_time, uint64_t *used_time, uint32_t *core_used, uint32_t clear): xran_main.c']]], + ['xran_5fhandle_5fether',['xran_handle_ether',['../ethdi_8c.html#a20cda8ace162cadfe3d21c06385fdebe',1,'ethdi.c']]], + ['xran_5finit',['xran_init',['../xran__fh__o__du_8h.html#a3efe8aba779b0a2f90adc02065579f5f',1,'xran_init(int argc, char *argv[], struct xran_fh_init *p_xran_fh_init, char *appName, void **pHandle): xran_main.c'],['../xran__main_8c.html#a4ea0e9c036a1dc7605f53f1f862f4952',1,'xran_init(int argc, char *argv[], struct xran_fh_init *p_xran_fh_init, char *appName, void **pXranLayerHandle): xran_main.c']]], + ['xran_5finit_5fmbuf_5fpool',['xran_init_mbuf_pool',['../ethernet_8c.html#ae64119c0e95fd2355ab7c07b92d34615',1,'xran_init_mbuf_pool(void): ethernet.c'],['../ethernet_8h.html#ae64119c0e95fd2355ab7c07b92d34615',1,'xran_init_mbuf_pool(void): ethernet.c']]], + ['xran_5finit_5fport',['xran_init_port',['../ethernet_8c.html#a44ddaef5c37ad5880487ccf60fd6844a',1,'xran_init_port(int p_id, struct ether_addr *p_lls_cu_addr): ethernet.c'],['../ethernet_8h.html#a9928d7cd5a9d3885479a9c0ae27249ee',1,'xran_init_port(int port, struct ether_addr *p_lls_cu_addr): ethernet.c']]], + ['xran_5finit_5fprach',['xran_init_prach',['../xran__common_8h.html#a00025c5bad7b7b6eea4374226f8c54bb',1,'xran_init_prach(struct xran_fh_config *pConf, struct xran_device_ctx *p_xran_dev_ctx): xran_main.c'],['../xran__main_8c.html#a00025c5bad7b7b6eea4374226f8c54bb',1,'xran_init_prach(struct xran_fh_config *pConf, struct xran_device_ctx *p_xran_dev_ctx): xran_main.c']]], + ['xran_5finit_5fsectionid',['xran_init_sectionid',['../xran__main_8c.html#a54de92e0ced826beeb759580d170562b',1,'xran_main.c']]], + ['xran_5finit_5fseqid',['xran_init_seqid',['../xran__main_8c.html#a7a3c06a23d41de0038747348be9bb9da',1,'xran_main.c']]], + ['xran_5finit_5fsrs',['xran_init_srs',['../xran__main_8c.html#acb5dd6ae5569cb3090d441c800068244',1,'xran_main.c']]], + ['xran_5fis_5fprach_5fslot',['xran_is_prach_slot',['../xran__main_8c.html#a7192955290ca84553d071cedc5ee89cb',1,'xran_main.c']]], + ['xran_5fis_5fsynchronized',['xran_is_synchronized',['../xran__sync__api_8h.html#ac7d90edeea3b7f779bf85f44810c6a3a',1,'xran_is_synchronized(void): xran_sync_api.c'],['../xran__sync__api_8c.html#a4778e0253fe842243ff1b2cee96e9367',1,'xran_is_synchronized(): xran_sync_api.c']]], + ['xran_5fmalloc',['xran_malloc',['../xran__fh__o__du_8h.html#ad32fb64c20521dbcfeb317e143046e27',1,'xran_malloc(size_t buf_len): xran_main.c'],['../xran__main_8c.html#ad32fb64c20521dbcfeb317e143046e27',1,'xran_malloc(size_t buf_len): xran_main.c']]], + ['xran_5fmm_5fdestroy',['xran_mm_destroy',['../xran__fh__o__du_8h.html#a4120602c15ddabfc3372e238d17f0414',1,'xran_mm_destroy(void *pHandle): xran_main.c'],['../xran__main_8c.html#a4120602c15ddabfc3372e238d17f0414',1,'xran_mm_destroy(void *pHandle): xran_main.c']]], + ['xran_5fmm_5finit',['xran_mm_init',['../xran__fh__o__du_8h.html#a999189549fd6b524b733ddd61f1f9962',1,'xran_mm_init(void *pHandle, uint64_t nMemorySize, uint32_t nMemorySegmentSize): xran_main.c'],['../xran__main_8c.html#a999189549fd6b524b733ddd61f1f9962',1,'xran_mm_init(void *pHandle, uint64_t nMemorySize, uint32_t nMemorySegmentSize): xran_main.c']]], + ['xran_5fopen',['xran_open',['../xran__fh__o__du_8h.html#a03f408f45e97aa68ca47c92e4e7d1a70',1,'xran_open(void *pHandle, struct xran_fh_config *pConf): xran_main.c'],['../xran__main_8c.html#a03f408f45e97aa68ca47c92e4e7d1a70',1,'xran_open(void *pHandle, struct xran_fh_config *pConf): xran_main.c']]], + ['xran_5fpacket_5fand_5fdpdk_5ftimer_5fthread',['xran_packet_and_dpdk_timer_thread',['../xran__main_8c.html#a3ec34c1401982803f519f83c7a18175c',1,'xran_main.c']]], + ['xran_5fparse_5fcp_5fpkt',['xran_parse_cp_pkt',['../xran__cp__api_8h.html#a38c83cd67a7265920f3bd0b36510f713',1,'xran_parse_cp_pkt(struct rte_mbuf *mbuf, struct xran_cp_gen_params *result, struct xran_recv_packet_info *pkt_info): xran_cp_api.c'],['../xran__cp__api_8c.html#a38c83cd67a7265920f3bd0b36510f713',1,'xran_parse_cp_pkt(struct rte_mbuf *mbuf, struct xran_cp_gen_params *result, struct xran_recv_packet_info *pkt_info): xran_cp_api.c']]], + ['xran_5fparse_5fecpri_5fhdr',['xran_parse_ecpri_hdr',['../xran__transport_8h.html#ad199c3f4bfa018f5d0846471206217d1',1,'xran_parse_ecpri_hdr(struct rte_mbuf *mbuf, struct xran_ecpri_hdr **ecpri_hdr, struct xran_recv_packet_info *pkt_info): xran_transport.c'],['../xran__transport_8c.html#ad199c3f4bfa018f5d0846471206217d1',1,'xran_parse_ecpri_hdr(struct rte_mbuf *mbuf, struct xran_ecpri_hdr **ecpri_hdr, struct xran_recv_packet_info *pkt_info): xran_transport.c']]], + ['xran_5fparse_5fsection_5fext1',['xran_parse_section_ext1',['../xran__cp__api_8c.html#aaa0c6012a36b539f8880c45ac909c331',1,'xran_cp_api.c']]], + ['xran_5fparse_5fsection_5fext2',['xran_parse_section_ext2',['../xran__cp__api_8c.html#af3d96c5ccff84bf6a444f260f58a49f2',1,'xran_cp_api.c']]], + ['xran_5fparse_5fsection_5fext4',['xran_parse_section_ext4',['../xran__cp__api_8c.html#ad4a3ae88412a933d953fc0f8ae9bb352',1,'xran_cp_api.c']]], + ['xran_5fparse_5fsection_5fext5',['xran_parse_section_ext5',['../xran__cp__api_8c.html#af03e99a3b1e9498ca15458e0440c12a1',1,'xran_cp_api.c']]], + ['xran_5fparse_5fsection_5fextension',['xran_parse_section_extension',['../xran__cp__api_8c.html#a9d4ed2d1226eb004597b69dfd86c7c93',1,'xran_cp_api.c']]], + ['xran_5fpkt_5fvalidate',['xran_pkt_validate',['../xran__common_8c.html#ac5201df2d161091f7319ff2f57432823',1,'xran_pkt_validate(void *arg, struct rte_mbuf *mbuf, void *iq_data_start, uint16_t size, uint8_t CC_ID, uint8_t Ant_ID, uint8_t frame_id, uint8_t subframe_id, uint8_t slot_id, uint8_t symb_id, struct ecpri_seq_id *seq_id, uint16_t num_prbu, uint16_t start_prbu, uint16_t sym_inc, uint16_t rb, uint16_t sect_id): xran_main.c'],['../xran__main_8c.html#ac5201df2d161091f7319ff2f57432823',1,'xran_pkt_validate(void *arg, struct rte_mbuf *mbuf, void *iq_data_start, uint16_t size, uint8_t CC_ID, uint8_t Ant_ID, uint8_t frame_id, uint8_t subframe_id, uint8_t slot_id, uint8_t symb_id, struct ecpri_seq_id *seq_id, uint16_t num_prbu, uint16_t start_prbu, uint16_t sym_inc, uint16_t rb, uint16_t sect_id): xran_main.c']]], + ['xran_5fprepare_5fctrl_5fpkt',['xran_prepare_ctrl_pkt',['../xran__cp__api_8h.html#af9eb550e92ea270af41b4b6bcda363db',1,'xran_prepare_ctrl_pkt(struct rte_mbuf *mbuf, struct xran_cp_gen_params *params, uint8_t CC_ID, uint8_t Ant_ID, uint8_t seq_id): xran_cp_api.c'],['../xran__cp__api_8c.html#af9eb550e92ea270af41b4b6bcda363db',1,'xran_prepare_ctrl_pkt(struct rte_mbuf *mbuf, struct xran_cp_gen_params *params, uint8_t CC_ID, uint8_t Ant_ID, uint8_t seq_id): xran_cp_api.c']]], + ['xran_5fprepare_5fiq_5fsymbol_5fportion',['xran_prepare_iq_symbol_portion',['../xran__up__api_8h.html#acd8f547b98d7ebd7dbc41c486a26505d',1,'xran_prepare_iq_symbol_portion(struct rte_mbuf *mbuf, const void *iq_data_start, const enum xran_input_byte_order iq_buf_byte_order, const uint32_t iq_data_num_bytes, struct xran_up_pkt_gen_params *params, uint8_t CC_ID, uint8_t Ant_ID, uint8_t seq_id, uint32_t do_copy): xran_up_api.c'],['../xran__up__api_8c.html#a15cc2e736c7d618de27b49be8d4922ec',1,'xran_prepare_iq_symbol_portion(struct rte_mbuf *mbuf, const void *iq_data_start, const enum xran_input_byte_order iq_buf_byte_order, const uint32_t iq_data_num_bytes, struct xran_up_pkt_gen_params *params, uint8_t CC_ID, uint8_t Ant_ID, uint8_t seq_id, uint32_t do_copy): xran_up_api.c']]], + ['xran_5fprocess_5fprach_5fsym',['xran_process_prach_sym',['../xran__common_8c.html#aec7f5a73cca88563e12b7e82e7c75b50',1,'xran_process_prach_sym(void *arg, struct rte_mbuf *mbuf, void *iq_data_start, uint16_t size, uint8_t CC_ID, uint8_t Ant_ID, uint8_t frame_id, uint8_t subframe_id, uint8_t slot_id, uint8_t symb_id, uint16_t num_prbu, uint16_t start_prbu, uint16_t sym_inc, uint16_t rb, uint16_t sect_id, uint32_t *mb_free): xran_main.c'],['../xran__main_8c.html#a14cfa955b7fdf58378a97b4cfa7268f8',1,'xran_process_prach_sym(void *arg, struct rte_mbuf *mbuf, void *iq_data_start, uint16_t size, uint8_t CC_ID, uint8_t Ant_ID, uint8_t frame_id, uint8_t subframe_id, uint8_t slot_id, uint8_t symb_id, uint16_t num_prbu, uint16_t start_prbu, uint16_t sym_inc, uint16_t rb, uint16_t sect_id, uint32_t *mb_free): xran_main.c']]], + ['xran_5fprocess_5frx_5fsym',['xran_process_rx_sym',['../xran__common_8c.html#acb6ecf7858c99c963182b9b7884deca6',1,'xran_process_rx_sym(void *arg, struct rte_mbuf *mbuf, void *iq_data_start, uint16_t size, uint8_t CC_ID, uint8_t Ant_ID, uint8_t frame_id, uint8_t subframe_id, uint8_t slot_id, uint8_t symb_id, uint16_t num_prbu, uint16_t start_prbu, uint16_t sym_inc, uint16_t rb, uint16_t sect_id, uint32_t *mb_free): xran_main.c'],['../xran__main_8c.html#acb6ecf7858c99c963182b9b7884deca6',1,'xran_process_rx_sym(void *arg, struct rte_mbuf *mbuf, void *iq_data_start, uint16_t size, uint8_t CC_ID, uint8_t Ant_ID, uint8_t frame_id, uint8_t subframe_id, uint8_t slot_id, uint8_t symb_id, uint16_t num_prbu, uint16_t start_prbu, uint16_t sym_inc, uint16_t rb, uint16_t sect_id, uint32_t *mb_free): xran_main.c']]], + ['xran_5fprocess_5fsrs_5fsym',['xran_process_srs_sym',['../xran__common_8c.html#a300b87c29358bb161404c0122a9b2a46',1,'xran_process_srs_sym(void *arg, struct rte_mbuf *mbuf, void *iq_data_start, uint16_t size, uint8_t CC_ID, uint8_t Ant_ID, uint8_t frame_id, uint8_t subframe_id, uint8_t slot_id, uint8_t symb_id, uint16_t num_prbu, uint16_t start_prbu, uint16_t sym_inc, uint16_t rb, uint16_t sect_id, uint32_t *mb_free): xran_main.c'],['../xran__main_8c.html#a300b87c29358bb161404c0122a9b2a46',1,'xran_process_srs_sym(void *arg, struct rte_mbuf *mbuf, void *iq_data_start, uint16_t size, uint8_t CC_ID, uint8_t Ant_ID, uint8_t frame_id, uint8_t subframe_id, uint8_t slot_id, uint8_t symb_id, uint16_t num_prbu, uint16_t start_prbu, uint16_t sym_inc, uint16_t rb, uint16_t sect_id, uint32_t *mb_free): xran_main.c']]], + ['xran_5fprocess_5ftx_5fsym',['xran_process_tx_sym',['../xran__main_8c.html#a7645422ee7c8d332c29c3a54bf780ca3',1,'xran_process_tx_sym(void *arg): xran_main.c'],['../chain__tests_8cc.html#a5b3b3bf6af57ee77a2bb1701ad24c7db',1,'xran_process_tx_sym(void *arg): xran_main.c']]], + ['xran_5fprocess_5ftx_5fsym_5fcp_5foff',['xran_process_tx_sym_cp_off',['../xran__main_8c.html#a072be4e030e23440817b205256d2df29',1,'xran_main.c']]], + ['xran_5fprocess_5ftx_5fsym_5fcp_5fon',['xran_process_tx_sym_cp_on',['../xran__main_8c.html#ad2506f0edcccb4fbdc5b41b03270a1af',1,'xran_main.c']]], + ['xran_5freg_5fphyside_5fcb',['xran_reg_physide_cb',['../xran__fh__o__du_8h.html#aa8354b56b0be4be47c44a8a5c38db86e',1,'xran_reg_physide_cb(void *pHandle, xran_fh_tti_callback_fn Cb, void *cbParam, int skipTtiNum, enum callback_to_phy_id): xran_main.c'],['../xran__main_8c.html#a57bc216aff0d372305a6d13a072c605b',1,'xran_reg_physide_cb(void *pHandle, xran_fh_tti_callback_fn Cb, void *cbParam, int skipTtiNum, enum callback_to_phy_id id): xran_main.c']]], + ['xran_5freg_5fsym_5fcb',['xran_reg_sym_cb',['../xran__fh__o__du_8h.html#adfcabe4091a4782ecb9ca029314c99ca',1,'xran_reg_sym_cb(void *pHandle, xran_callback_sym_fn symCb, void *symCbParam, uint8_t symb, uint8_t ant): xran_main.c'],['../xran__main_8c.html#adfcabe4091a4782ecb9ca029314c99ca',1,'xran_reg_sym_cb(void *pHandle, xran_callback_sym_fn symCb, void *symCbParam, uint8_t symb, uint8_t ant): xran_main.c']]], + ['xran_5fregister_5fcb_5fmbuf2ring',['xran_register_cb_mbuf2ring',['../xran__common_8h.html#ad1ada9c5c57979c50f1a17a9050b8f3a',1,'xran_register_cb_mbuf2ring(xran_ethdi_mbuf_send_fn mbuf_send_cp, xran_ethdi_mbuf_send_fn mbuf_send_up): xran_main.c'],['../xran__main_8c.html#ad1ada9c5c57979c50f1a17a9050b8f3a',1,'xran_register_cb_mbuf2ring(xran_ethdi_mbuf_send_fn mbuf_send_cp, xran_ethdi_mbuf_send_fn mbuf_send_up): xran_main.c']]], + ['xran_5fregister_5fethertype_5fhandler',['xran_register_ethertype_handler',['../ethdi_8c.html#a69c763967ba7e28c4a589ce624c226ff',1,'xran_register_ethertype_handler(uint16_t ethertype, ethertype_handler callback): ethdi.c'],['../ethdi_8h.html#a69c763967ba7e28c4a589ce624c226ff',1,'xran_register_ethertype_handler(uint16_t ethertype, ethertype_handler callback): ethdi.c']]], + ['xran_5fsector_5fget_5finstances',['xran_sector_get_instances',['../xran__fh__o__du_8h.html#adf5ead6a9f90b5d524e8012521d64bb5',1,'xran_sector_get_instances(void *pHandle, uint16_t nNumInstances, xran_cc_handle_t *pSectorInstanceHandles): xran_main.c'],['../xran__main_8c.html#acdd1d3179a2ecc831b45df3ac4ee230c',1,'xran_sector_get_instances(void *pDevHandle, uint16_t nNumInstances, xran_cc_handle_t *pSectorInstanceHandles): xran_main.c']]], + ['xran_5fstart',['xran_start',['../xran__fh__o__du_8h.html#ad4852c0827600db95f9841e2f5f9f6f1',1,'xran_start(void *pHandle): xran_main.c'],['../xran__main_8c.html#ad4852c0827600db95f9841e2f5f9f6f1',1,'xran_start(void *pHandle): xran_main.c']]], + ['xran_5fstop',['xran_stop',['../xran__fh__o__du_8h.html#a8f2daee2fe90126f1f7c361b7760a7a3',1,'xran_stop(void *pHandle): xran_main.c'],['../xran__main_8c.html#a8f2daee2fe90126f1f7c361b7760a7a3',1,'xran_stop(void *pHandle): xran_main.c']]], + ['xran_5ftick',['xran_tick',['../xran__timer_8h.html#a1d2f23e35725cd993cbb72de9f4f565a',1,'xran_tick(void): xran_timer.c'],['../xran__timer_8c.html#a1d2f23e35725cd993cbb72de9f4f565a',1,'xran_tick(void): xran_timer.c']]], + ['xran_5ftimer_5farm',['xran_timer_arm',['../xran__main_8c.html#a5b8958fc5688ba856cba84038ee4b938',1,'xran_main.c']]], + ['xran_5ftimer_5farm_5fex',['xran_timer_arm_ex',['../xran__main_8c.html#a96de765800aa6de0788fc530cbc16825',1,'xran_main.c']]], + ['xran_5ftiming_5fsource_5fthread',['xran_timing_source_thread',['../xran__main_8c.html#ae4973aab78785b0738c729b26a1474e2',1,'xran_main.c']]], + ['xran_5fupdate_5fecpri_5fpayload_5fsize',['xran_update_ecpri_payload_size',['../xran__transport_8h.html#a7070bae58b40a4621354bda1677261af',1,'xran_update_ecpri_payload_size(struct rte_mbuf *mbuf, int size): xran_transport.c'],['../xran__transport_8c.html#a7070bae58b40a4621354bda1677261af',1,'xran_update_ecpri_payload_size(struct rte_mbuf *mbuf, int size): xran_transport.c']]], + ['xran_5fupdatesfnsecstart',['xran_updateSfnSecStart',['../xran__common_8h.html#adbe808fba48ef1390180fb1bdc68c1d7',1,'xran_updateSfnSecStart(void): xran_main.c'],['../xran__main_8c.html#adbe808fba48ef1390180fb1bdc68c1d7',1,'xran_updateSfnSecStart(void): xran_main.c']]], + ['xran_5fut_5fprepare_5fcp',['xran_ut_prepare_cp',['../c__plane__tests_8cc.html#ab22c1305386eabc256bc6d3492d50846',1,'c_plane_tests.cc']]], + ['xran_5fut_5ftx_5fcp_5fdl',['xran_ut_tx_cp_dl',['../chain__tests_8cc.html#af4e08ea14f09b53fce43ec39aba7a605',1,'chain_tests.cc']]], + ['xran_5fut_5ftx_5fcp_5ful',['xran_ut_tx_cp_ul',['../chain__tests_8cc.html#a61f8088ed26f5ccc6a323c3b0feb66c2',1,'chain_tests.cc']]], + ['xran_5fut_5ftx_5fcpup_5fdl',['xran_ut_tx_cpup_dl',['../chain__tests_8cc.html#ad274ca70e6c47c2c549422b1cba1f0b0',1,'chain_tests.cc']]], + ['xran_5fut_5ftx_5fup_5fdl',['xran_ut_tx_up_dl',['../chain__tests_8cc.html#a73639c0dcf18fe068dc350fc0c8ba2f2',1,'chain_tests.cc']]], + ['xranlib_5fcompanding_5fversion',['xranlib_companding_version',['../xran__compression_8h.html#a0032610d5043d8df490b0bc403c35a45',1,'xran_compression.h']]], + ['xranlib_5fcompress',['xranlib_compress',['../xran__compression_8h.html#aa08016c7e24398f0f220f01b3a98c15f',1,'xran_compression.h']]], + ['xranlib_5fcompress_5favx2',['xranlib_compress_avx2',['../xran__compression_8h.html#a142dbbd7f519c433ffa88614d3913118',1,'xran_compression.h']]], + ['xranlib_5fcompress_5favx512',['xranlib_compress_avx512',['../xran__compression_8h.html#aa6b18eb6f1138abd91d649218c2950d4',1,'xranlib_compress_avx512(const struct xranlib_compress_request *request, struct xranlib_compress_response *response): xran_compression.cpp'],['../xran__compression_8cpp.html#a0651de68e87558106615163f96b3e599',1,'xranlib_compress_avx512(const struct xranlib_compress_request *request, struct xranlib_compress_response *response): xran_compression.cpp']]], + ['xranlib_5fcompress_5favx512_5fbfw',['xranlib_compress_avx512_bfw',['../xran__compression_8h.html#a55f53f65b294f4b5f75190e3565ac295',1,'xranlib_compress_avx512_bfw(const struct xranlib_compress_request *request, struct xranlib_compress_response *response): xran_compression.cpp'],['../xran__compression_8cpp.html#aa027200fc051c80b515ee8aeadf44a0e',1,'xranlib_compress_avx512_bfw(const struct xranlib_compress_request *request, struct xranlib_compress_response *response): xran_compression.cpp']]], + ['xranlib_5fcompress_5fsse',['xranlib_compress_sse',['../xran__compression_8h.html#a642992d274eca873db77a58c482ac073',1,'xran_compression.h']]], + ['xranlib_5fdecompress',['xranlib_decompress',['../xran__compression_8h.html#a87039039cf9791d4b9df993db7552a65',1,'xran_compression.h']]], + ['xranlib_5fdecompress_5favx2',['xranlib_decompress_avx2',['../xran__compression_8h.html#aaedd509b1e2db7c3df0022c6c4efb88b',1,'xran_compression.h']]], + ['xranlib_5fdecompress_5favx512',['xranlib_decompress_avx512',['../xran__compression_8h.html#a37cf9d6083277717f55016a8c160c635',1,'xranlib_decompress_avx512(const struct xranlib_decompress_request *request, struct xranlib_decompress_response *response): xran_compression.cpp'],['../xran__compression_8cpp.html#a2bd6ebeefb6ca9674598d443e697918c',1,'xranlib_decompress_avx512(const struct xranlib_decompress_request *request, struct xranlib_decompress_response *response): xran_compression.cpp']]], + ['xranlib_5fdecompress_5fsse',['xranlib_decompress_sse',['../xran__compression_8h.html#acdf24f8d97689c6ec0394c44888787ff',1,'xran_compression.h']]], + ['xranlibwraper',['xranLibWraper',['../classxran_lib_wraper.html#a2e64fc338fcfaac25af91aae564777fa',1,'xranLibWraper']]] +]; diff --git a/docs/API/search/functions_18.html b/docs/API/search/functions_18.html new file mode 100644 index 0000000..8a9723d --- /dev/null +++ b/docs/API/search/functions_18.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/functions_18.js b/docs/API/search/functions_18.js new file mode 100644 index 0000000..5c7d7d1 --- /dev/null +++ b/docs/API/search/functions_18.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['_7ebasic_5fjson',['~basic_json',['../classnlohmann_1_1basic__json.html#a5d09c330bdb8627ef5ed12a5ff38b542',1,'nlohmann::basic_json']]], + ['_7exranlibwraper',['~xranLibWraper',['../classxran_lib_wraper.html#a6608686375e6c9e5c3ce59970e4b90e0',1,'xranLibWraper']]] +]; diff --git a/docs/API/search/functions_2.html b/docs/API/search/functions_2.html new file mode 100644 index 0000000..ecce2f3 --- /dev/null +++ b/docs/API/search/functions_2.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/functions_2.js b/docs/API/search/functions_2.js new file mode 100644 index 0000000..e25ce41 --- /dev/null +++ b/docs/API/search/functions_2.js @@ -0,0 +1,17 @@ +var searchData= +[ + ['back',['back',['../classnlohmann_1_1basic__json.html#af71e6c1eccbc12e9339c00a86a981a43',1,'nlohmann::basic_json::back()'],['../classnlohmann_1_1basic__json.html#a61772c77ad2abfbb296912e7281e154c',1,'nlohmann::basic_json::back() const']]], + ['basic_5fjson',['basic_json',['../classnlohmann_1_1basic__json.html#af2ec44358263a76e8289454bd0514f69',1,'nlohmann::basic_json::basic_json(const value_t value_type)'],['../classnlohmann_1_1basic__json.html#a87c8001776394acd236550ac497556b3',1,'nlohmann::basic_json::basic_json(std::nullptr_t=nullptr) noexcept'],['../classnlohmann_1_1basic__json.html#a12cfdf59e8552b8604c71585e6dd32bc',1,'nlohmann::basic_json::basic_json(CompatibleType &&val) noexcept(noexcept(JSONSerializer< U >::to_json(std::declval< basic_json_t &>(), std::forward< CompatibleType >(val))))'],['../classnlohmann_1_1basic__json.html#a0ed1b6bedb9c7915b6e4bdca58d9921d',1,'nlohmann::basic_json::basic_json(std::initializer_list< basic_json > init, bool type_deduction=true, value_t manual_type=value_t::array)'],['../classnlohmann_1_1basic__json.html#a87b55a17c55bfd7d77f7e8ee05a13211',1,'nlohmann::basic_json::basic_json(size_type cnt, const basic_json &val)'],['../classnlohmann_1_1basic__json.html#a0d91af4d13eb01626697367f92991b19',1,'nlohmann::basic_json::basic_json(InputIT first, InputIT last)'],['../classnlohmann_1_1basic__json.html#a8ba521ef10c3a04a086c19526c3cdc64',1,'nlohmann::basic_json::basic_json(std::istream &i, const parser_callback_t cb=nullptr)'],['../classnlohmann_1_1basic__json.html#a9a119fd02c79c9acab75c1cc6a8e9dea',1,'nlohmann::basic_json::basic_json(const basic_json &other)'],['../classnlohmann_1_1basic__json.html#a9288df424f61d19905ae6f3d8152225a',1,'nlohmann::basic_json::basic_json(basic_json &&other) noexcept']]], + ['begin',['begin',['../classnlohmann_1_1basic__json.html#a979556eb331ec35eb33472a90a160f99',1,'nlohmann::basic_json::begin() noexcept'],['../classnlohmann_1_1basic__json.html#a1ca1fc2c9fc3e169d5d0decfd1e54221',1,'nlohmann::basic_json::begin() const noexcept']]], + ['bind_5fto_5fcpu',['bind_to_cpu',['../common_8cpp.html#ae39390f41ba978a1f0d79691436c074a',1,'bind_to_cpu(const unsigned cpu): common.cpp'],['../common_8hpp.html#ae39390f41ba978a1f0d79691436c074a',1,'bind_to_cpu(const unsigned cpu): common.cpp']]], + ['blockfloatcompress_5f10b_5favx512',['BlockFloatCompress_10b_AVX512',['../namespace_block_float_compander.html#ae525362ca026142cab4ac983e29ad0ff',1,'BlockFloatCompander']]], + ['blockfloatcompress_5f12b_5favx512',['BlockFloatCompress_12b_AVX512',['../namespace_block_float_compander.html#a2a8db4c5039bc3d5237b31ca2a129815',1,'BlockFloatCompander']]], + ['blockfloatcompress_5f8b_5favx512',['BlockFloatCompress_8b_AVX512',['../namespace_block_float_compander.html#a5b3ddd524752c8f556bc4c654e392321',1,'BlockFloatCompander']]], + ['blockfloatcompress_5f9b_5favx512',['BlockFloatCompress_9b_AVX512',['../namespace_block_float_compander.html#a2356f186e264c7cea4e3c26d448bb1d5',1,'BlockFloatCompander']]], + ['blockfloatcompress_5fbasic',['BlockFloatCompress_Basic',['../namespace_block_float_compander.html#a45cc83687ca392534168cb8f4d64182f',1,'BlockFloatCompander::BlockFloatCompress_Basic()'],['../namespace_block_float_compander_b_f_w.html#a45cc83687ca392534168cb8f4d64182f',1,'BlockFloatCompanderBFW::BlockFloatCompress_Basic()']]], + ['blockfloatexpand_5f10b_5favx512',['BlockFloatExpand_10b_AVX512',['../namespace_block_float_compander.html#a8fae7506e2b9c9f9365b306375ab6eff',1,'BlockFloatCompander']]], + ['blockfloatexpand_5f12b_5favx512',['BlockFloatExpand_12b_AVX512',['../namespace_block_float_compander.html#a65b09b78fac0c8dcfc9edd5091b728dd',1,'BlockFloatCompander']]], + ['blockfloatexpand_5f8b_5favx512',['BlockFloatExpand_8b_AVX512',['../namespace_block_float_compander.html#ae4ad42b117d59e2e7ff8fad2d5da506e',1,'BlockFloatCompander']]], + ['blockfloatexpand_5f9b_5favx512',['BlockFloatExpand_9b_AVX512',['../namespace_block_float_compander.html#a32917a78ac1596d9aa95e4089ec88ba9',1,'BlockFloatCompander']]], + ['blockfloatexpand_5fbasic',['BlockFloatExpand_Basic',['../namespace_block_float_compander.html#a5f4776cd07aac0ae2d9dbd02aaba3435',1,'BlockFloatCompander::BlockFloatExpand_Basic()'],['../namespace_block_float_compander_b_f_w.html#a5f4776cd07aac0ae2d9dbd02aaba3435',1,'BlockFloatCompanderBFW::BlockFloatExpand_Basic()']]] +]; diff --git a/docs/API/search/functions_3.html b/docs/API/search/functions_3.html new file mode 100644 index 0000000..15f06ab --- /dev/null +++ b/docs/API/search/functions_3.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/functions_3.js b/docs/API/search/functions_3.js new file mode 100644 index 0000000..ecbb6b0 --- /dev/null +++ b/docs/API/search/functions_3.js @@ -0,0 +1,19 @@ +var searchData= +[ + ['calculate_5fstatistics',['calculate_statistics',['../common_8cpp.html#a8265b710246f9019ff14556adf5eb35a',1,'calculate_statistics(const std::vector< long > values): common.cpp'],['../common_8hpp.html#a8265b710246f9019ff14556adf5eb35a',1,'calculate_statistics(const std::vector< long > values): common.cpp']]], + ['cbegin',['cbegin',['../classnlohmann_1_1basic__json.html#abeb76f7f3414f270020e6f467586bd93',1,'nlohmann::basic_json']]], + ['cend',['cend',['../classnlohmann_1_1basic__json.html#a9859a454bb6f50c654e280274d6a9d13',1,'nlohmann::basic_json']]], + ['checkdata',['checkData',['../compander__functional_8cc.html#a1b6359dcad38667a5625c184cf490bef',1,'checkData(T *inVec1, T *inVec2, int numVals): compander_functional.cc'],['../compander__functional_8cc.html#affea39d1af5bc25e00c2ed6349e55ff5',1,'checkData(int8_t *, int8_t *, int): compander_functional.cc'],['../compander__functional_8cc.html#abad102b4500c35c8181fcb4762e2c238',1,'checkData(int16_t *, int16_t *, int): compander_functional.cc']]], + ['checkdataapprox',['checkDataApprox',['../compander__functional_8cc.html#ad91fcc9f956c7d16b5fc30315ff3b803',1,'compander_functional.cc']]], + ['cleanup',['Cleanup',['../classxran_lib_wraper.html#ae89a123aad1c66a76c398b7af216aae4',1,'xranLibWraper']]], + ['clear',['clear',['../classnlohmann_1_1basic__json.html#a03bfacfaaba9195e4498375659f43531',1,'nlohmann::basic_json']]], + ['close',['Close',['../classxran_lib_wraper.html#a7f7a3199c392465d0767c6506c1af5b4',1,'xranLibWraper']]], + ['compare_5fresuts',['compare_resuts',['../namespacemaster.html#a132d8e8f29b5cec353381f127ad4c4ae',1,'master']]], + ['computeexponent',['computeExponent',['../xran__compression_8cpp.html#a74512492194fcab6a55f769e02aa37b4',1,'xran_compression.cpp']]], + ['construct',['construct',['../structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1boolean_01_4.html#ae331f2baa366b6c6a2f652597eb50540',1,'nlohmann::detail::external_constructor< value_t::boolean >::construct()'],['../structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1string_01_4.html#a3661b916129e658d55d74b4a2a8797c3',1,'nlohmann::detail::external_constructor< value_t::string >::construct()'],['../structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__float_01_4.html#aa0120124dea7824ec6df80e991aea33e',1,'nlohmann::detail::external_constructor< value_t::number_float >::construct()'],['../structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__unsigned_01_4.html#aebb9cf4af36070c7c4a24fd97010aa88',1,'nlohmann::detail::external_constructor< value_t::number_unsigned >::construct()'],['../structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__integer_01_4.html#a91772fd76348fd21b39fd809968814a5',1,'nlohmann::detail::external_constructor< value_t::number_integer >::construct()'],['../structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1array_01_4.html#a5003f696ea3e28d18d7a4dbe9ef49aa1',1,'nlohmann::detail::external_constructor< value_t::array >::construct(BasicJsonType &j, const typename BasicJsonType::array_t &arr)'],['../structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1array_01_4.html#ad9a22b8b02dafec80f850ddbfb52981e',1,'nlohmann::detail::external_constructor< value_t::array >::construct(BasicJsonType &j, const CompatibleArrayType &arr)'],['../structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1object_01_4.html#a531b0b0169f0bf3c9a1ac5ff9fedb207',1,'nlohmann::detail::external_constructor< value_t::object >::construct(BasicJsonType &j, const typename BasicJsonType::object_t &obj)'],['../structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1object_01_4.html#aa0a616bc6e376741a3e4f0554ee48654',1,'nlohmann::detail::external_constructor< value_t::object >::construct(BasicJsonType &j, const CompatibleObjectType &obj)']]], + ['count',['count',['../classnlohmann_1_1basic__json.html#a7e5aaef6e00508e105d713b512c4affa',1,'nlohmann::basic_json']]], + ['cput_5ffh_5frx_5fcallback',['cput_fh_rx_callback',['../c__plane__tests_8cc.html#a84fbffc78f58f1319862bbdfef6e3172',1,'c_plane_tests.cc']]], + ['cput_5ffh_5frx_5fprach_5fcallback',['cput_fh_rx_prach_callback',['../c__plane__tests_8cc.html#a2ce052083e592ec2889e8ad05b49f39a',1,'c_plane_tests.cc']]], + ['crbegin',['crbegin',['../classnlohmann_1_1basic__json.html#abd227f43fec65b1bfeb96751b5eea9c4',1,'nlohmann::basic_json']]], + ['crend',['crend',['../classnlohmann_1_1basic__json.html#acbe115c4709d004c9899ef5855f96288',1,'nlohmann::basic_json']]] +]; diff --git a/docs/API/search/functions_4.html b/docs/API/search/functions_4.html new file mode 100644 index 0000000..8985ff2 --- /dev/null +++ b/docs/API/search/functions_4.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/functions_4.js b/docs/API/search/functions_4.js new file mode 100644 index 0000000..96dde24 --- /dev/null +++ b/docs/API/search/functions_4.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['diff',['diff',['../classnlohmann_1_1basic__json.html#a2fb1e92221746ff32c5f5c8ff1e7a7f7',1,'nlohmann::basic_json']]], + ['disp',['disp',['../gen__test_8m.html#a7a889c8364428876f88ddaf055df5c82',1,'disp('Unknown BW &&mu') end end else disp('mmWave') if(mu >: gen_test.m'],['../gen__test_8m.html#ace3ce36f6d9d10aecbbd9f8002551a01',1,'disp(file_name) fileID: gen_test.m'],['../gen__test_8m.html#aa0c2a36f9d65a1ca58ca9801dd59e90f',1,'disp('Generate BF Weights per RB') %seed to make it repeatable rand('seed': gen_test.m']]], + ['dump',['dump',['../classnlohmann_1_1basic__json.html#a42de62d3e7b710d0279ac373a22c63eb',1,'nlohmann::basic_json']]] +]; diff --git a/docs/API/search/functions_5.html b/docs/API/search/functions_5.html new file mode 100644 index 0000000..0314918 --- /dev/null +++ b/docs/API/search/functions_5.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/functions_5.js b/docs/API/search/functions_5.js new file mode 100644 index 0000000..d89184b --- /dev/null +++ b/docs/API/search/functions_5.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['emplace',['emplace',['../classnlohmann_1_1basic__json.html#a3266031b8b423571de004ddf5bcddd24',1,'nlohmann::basic_json']]], + ['emplace_5fback',['emplace_back',['../classnlohmann_1_1basic__json.html#ac294eba73765b9a72a7399d64e8ecd9a',1,'nlohmann::basic_json']]], + ['empty',['empty',['../classnlohmann_1_1basic__json.html#a3f6fc5de06a318920d84f3c3742db07f',1,'nlohmann::basic_json']]], + ['end',['end',['../classnlohmann_1_1basic__json.html#afc5380afa64b233d0df01a147616974b',1,'nlohmann::basic_json::end() noexcept'],['../classnlohmann_1_1basic__json.html#a5b9b57293fae9b18b26349ac0b3fdcd3',1,'nlohmann::basic_json::end() const noexcept']]], + ['erase',['erase',['../classnlohmann_1_1basic__json.html#a05a2d4678b130a13b4bcbc62f4318d72',1,'nlohmann::basic_json::erase(IteratorType pos)'],['../classnlohmann_1_1basic__json.html#ae6435ba8565966a32cbaa5f3b7a9429f',1,'nlohmann::basic_json::erase(IteratorType first, IteratorType last)'],['../classnlohmann_1_1basic__json.html#a506aa484ea4e1a2cee6b9f77c33b7979',1,'nlohmann::basic_json::erase(const typename object_t::key_type &key)'],['../classnlohmann_1_1basic__json.html#a2dd65c471eadf1651db73f3c1f155bfd',1,'nlohmann::basic_json::erase(const size_type idx)']]] +]; diff --git a/docs/API/search/functions_6.html b/docs/API/search/functions_6.html new file mode 100644 index 0000000..c506123 --- /dev/null +++ b/docs/API/search/functions_6.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/functions_6.js b/docs/API/search/functions_6.js new file mode 100644 index 0000000..f5f713f --- /dev/null +++ b/docs/API/search/functions_6.js @@ -0,0 +1,14 @@ +var searchData= +[ + ['fclose',['fclose',['../gen__test_8m.html#a14e2cbac46a5d611bf112b1f4beb7021',1,'gen_test.m']]], + ['find',['find',['../classnlohmann_1_1basic__json.html#a4cf2116be00a99de7addd2c32d71f99d',1,'nlohmann::basic_json::find(typename object_t::key_type key)'],['../classnlohmann_1_1basic__json.html#a22458ba24125dc0fe0d363864dddc889',1,'nlohmann::basic_json::find(typename object_t::key_type key) const']]], + ['flatten',['flatten',['../classnlohmann_1_1basic__json.html#a6a19297e3c35ea1836a330681443e241',1,'nlohmann::basic_json']]], + ['for',['for',['../gen__test_8m.html#a00ebf5acd6f00adefc3a19d5e587b58f',1,'for(i=1:1:nSlots *14-1) ifft_in_1: gen_test.m'],['../gen__test_8m.html#af3108abdfc7dbfa64896900ace74b015',1,'for(slot_idx=1:1:nSlots *14) bfw_all_slots: gen_test.m']]], + ['from_5fcbor',['from_cbor',['../classnlohmann_1_1basic__json.html#adc1943642176bb9091891f24bbb67416',1,'nlohmann::basic_json']]], + ['from_5fjson',['from_json',['../structnlohmann_1_1adl__serializer.html#adcdd0023173b7ae293da6cc2ffddfd06',1,'nlohmann::adl_serializer::from_json()'],['../namespacenlohmann_1_1detail.html#a58117f225f43d03e3a0a4a6f3d77c9d9',1,'nlohmann::detail::from_json(const BasicJsonType &j, typename BasicJsonType::boolean_t &b)'],['../namespacenlohmann_1_1detail.html#ad74d89f77ada7a57eff38b43d4bf2335',1,'nlohmann::detail::from_json(const BasicJsonType &j, typename BasicJsonType::string_t &s)'],['../namespacenlohmann_1_1detail.html#a7cb5dd7d46a60e65f9a8e0873b3f7dd8',1,'nlohmann::detail::from_json(const BasicJsonType &j, typename BasicJsonType::number_float_t &val)'],['../namespacenlohmann_1_1detail.html#ace4d5680ba413d9fd897ccb5d9c61a1c',1,'nlohmann::detail::from_json(const BasicJsonType &j, typename BasicJsonType::number_unsigned_t &val)'],['../namespacenlohmann_1_1detail.html#a047d881e611fcac709dc318f730a1732',1,'nlohmann::detail::from_json(const BasicJsonType &j, typename BasicJsonType::number_integer_t &val)'],['../namespacenlohmann_1_1detail.html#acf8dd944c2c7455880dee6f0b355aa01',1,'nlohmann::detail::from_json(const BasicJsonType &j, UnscopedEnumType &e)'],['../namespacenlohmann_1_1detail.html#abc62958462b916726b89f25fa381a129',1,'nlohmann::detail::from_json(const BasicJsonType &j, typename BasicJsonType::array_t &arr)'],['../namespacenlohmann_1_1detail.html#a7fb5b5b8034d347b702d31d7fec4ecd7',1,'nlohmann::detail::from_json(const BasicJsonType &j, std::forward_list< T, Allocator > &l)'],['../namespacenlohmann_1_1detail.html#a8dcac00852dbe1f61d1e78135b19d428',1,'nlohmann::detail::from_json(const BasicJsonType &j, CompatibleArrayType &arr)'],['../namespacenlohmann_1_1detail.html#a5e7a3674e8ac46f8feebad9712d7c55f',1,'nlohmann::detail::from_json(const BasicJsonType &j, CompatibleObjectType &obj)'],['../namespacenlohmann_1_1detail.html#a839b0ab50d2c9bce669068f56bc41202',1,'nlohmann::detail::from_json(const BasicJsonType &j, ArithmeticType &val)']]], + ['from_5fjson_5farray_5fimpl',['from_json_array_impl',['../namespacenlohmann_1_1detail.html#ac53673a5ce29fb69b96d41dad33cb3b0',1,'nlohmann::detail::from_json_array_impl(const BasicJsonType &j, CompatibleArrayType &arr, priority_tag< 0 >)'],['../namespacenlohmann_1_1detail.html#a57f93ed57254a1639087cdc316e0fb83',1,'nlohmann::detail::from_json_array_impl(const BasicJsonType &j, CompatibleArrayType &arr, priority_tag< 1 >) -> decltype(arr.reserve(std::declval< typename CompatibleArrayType::size_type >()), void())']]], + ['from_5fmsgpack',['from_msgpack',['../classnlohmann_1_1basic__json.html#ae9e03e9dcfd9897c8c9b03a53cf02d30',1,'nlohmann::basic_json']]], + ['front',['front',['../classnlohmann_1_1basic__json.html#a6a48363b4355f6f5b441637774f79a59',1,'nlohmann::basic_json::front()'],['../classnlohmann_1_1basic__json.html#a0ae6b4f9719202f7ddb334c16fb03d80',1,'nlohmann::basic_json::front() const']]], + ['fucntional_5fdl',['fucntional_dl',['../class_u__plane_perf.html#aa2fb15367f40188e0a2d2c15fa6ad124',1,'U_planePerf']]], + ['fwrite',['fwrite',['../gen__test_8m.html#a8e50d67d4be6daacbf6522b5950a6a4d',1,'gen_test.m']]] +]; diff --git a/docs/API/search/functions_7.html b/docs/API/search/functions_7.html new file mode 100644 index 0000000..83a7b84 --- /dev/null +++ b/docs/API/search/functions_7.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/functions_7.js b/docs/API/search/functions_7.js new file mode 100644 index 0000000..ef9e585 --- /dev/null +++ b/docs/API/search/functions_7.js @@ -0,0 +1,38 @@ +var searchData= +[ + ['generate_5fcpmsg_5fdlul',['generate_cpmsg_dlul',['../xran__common_8c.html#a64cba831fe964827a932a5a129272de1',1,'generate_cpmsg_dlul(void *pHandle, struct xran_cp_gen_params *params, struct xran_section_gen_info *sect_geninfo, struct rte_mbuf *mbuf, enum xran_pkt_dir dir, uint8_t frame_id, uint8_t subframe_id, uint8_t slot_id, uint8_t startsym, uint8_t numsym, uint16_t prb_start, uint16_t prb_num, int16_t iq_buffer_offset, int16_t iq_buffer_len, uint16_t beam_id, uint8_t cc_id, uint8_t ru_port_id, uint8_t comp_method, uint8_t iqWidth, uint8_t seq_id, uint8_t symInc): xran_common.c'],['../xran__common_8h.html#aaa01e98d3b3439a332302aebe21459dd',1,'generate_cpmsg_dlul(void *pHandle, struct xran_cp_gen_params *params, struct xran_section_gen_info *sect_geninfo, struct rte_mbuf *mbuf, enum xran_pkt_dir dir, uint8_t frame_id, uint8_t subframe_id, uint8_t slot_id, uint8_t startsym, uint8_t numsym, uint16_t prb_start, uint16_t prb_num, int16_t iq_buffer_offset, int16_t iq_buffer_len, uint16_t beam_id, uint8_t cc_id, uint8_t ru_port_id, uint8_t comp_method, uint8_t iqWidth, uint8_t seq_id, uint8_t symInc): xran_common.c']]], + ['generate_5fcpmsg_5fprach',['generate_cpmsg_prach',['../xran__common_8c.html#ab8a6ed3cee8fa183142d0c23d0b4971d',1,'generate_cpmsg_prach(void *pHandle, struct xran_cp_gen_params *params, struct xran_section_gen_info *sect_geninfo, struct rte_mbuf *mbuf, struct xran_device_ctx *pxran_lib_ctx, uint8_t frame_id, uint8_t subframe_id, uint8_t slot_id, uint16_t beam_id, uint8_t cc_id, uint8_t prach_port_id, uint8_t seq_id): xran_common.c'],['../xran__common_8h.html#ab8a6ed3cee8fa183142d0c23d0b4971d',1,'generate_cpmsg_prach(void *pHandle, struct xran_cp_gen_params *params, struct xran_section_gen_info *sect_geninfo, struct rte_mbuf *mbuf, struct xran_device_ctx *pxran_lib_ctx, uint8_t frame_id, uint8_t subframe_id, uint8_t slot_id, uint16_t beam_id, uint8_t cc_id, uint8_t prach_port_id, uint8_t seq_id): xran_common.c']]], + ['generate_5frandom_5fdata',['generate_random_data',['../common_8hpp.html#a6b7eb6e3593756a484e8e73ba7456683',1,'common.hpp']]], + ['generate_5frandom_5fint_5fnumbers',['generate_random_int_numbers',['../common_8hpp.html#a152b12cc7a564929ac984e570020e548',1,'common.hpp']]], + ['generate_5frandom_5fnumbers',['generate_random_numbers',['../common_8hpp.html#ae1d15fbbdb031b5ab34dfc289d93a6c9',1,'common.hpp']]], + ['generate_5frandom_5freal_5fnumbers',['generate_random_real_numbers',['../common_8hpp.html#ad93fb4e37255c588def24071ede04229',1,'common.hpp']]], + ['get',['get',['../classnlohmann_1_1basic__json.html#ac0019ee44c3e6a11491b841b589391ad',1,'nlohmann::basic_json::get() const'],['../classnlohmann_1_1basic__json.html#a49c729573c3c831d7138c976755d10fd',1,'nlohmann::basic_json::get() const noexcept(noexcept(JSONSerializer< ValueType >::from_json(std::declval< const basic_json_t &>(), std::declval< ValueType &>())))'],['../classnlohmann_1_1basic__json.html#a9cad661513975b42da8bc1d805fd0848',1,'nlohmann::basic_json::get() const noexcept(noexcept(JSONSerializer< ValueTypeCV >::from_json(std::declval< const basic_json_t &>())))'],['../classnlohmann_1_1basic__json.html#a621804845aa82d44271fa934fca54dde',1,'nlohmann::basic_json::get() noexcept'],['../classnlohmann_1_1basic__json.html#aa322e329129e2cc7629145724279c614',1,'nlohmann::basic_json::get() const noexcept']]], + ['get_5fallocator',['get_allocator',['../classnlohmann_1_1basic__json.html#a00ebe95bd430fd8f70297c7d8e6b1393',1,'nlohmann::basic_json']]], + ['get_5farithmetic_5fvalue',['get_arithmetic_value',['../namespacenlohmann_1_1detail.html#a85955b9c6dd31846e4b8e891f78614b6',1,'nlohmann::detail']]], + ['get_5fcase_5fname',['get_case_name',['../class_kernel_tests.html#a5a1ec6ee393f8538815bc0a82eac2e88',1,'KernelTests']]], + ['get_5fcfg_5ffh',['get_cfg_fh',['../classxran_lib_wraper.html#a7d671b9b851d9b0fbae6777e85643c3b',1,'xranLibWraper']]], + ['get_5fcfg_5fframe',['get_cfg_frame',['../classxran_lib_wraper.html#a387cf1bf4b8f48c23d58309a0c1a9e2c',1,'xranLibWraper']]], + ['get_5fcfg_5fprach',['get_cfg_prach',['../classxran_lib_wraper.html#a0395e3b64e7fe193c70ea4e86ce2bddc',1,'xranLibWraper']]], + ['get_5fcfg_5fru',['get_cfg_ru',['../classxran_lib_wraper.html#a8789158912b9607cbc6414c92a120003',1,'xranLibWraper']]], + ['get_5fduplextype',['get_duplextype',['../classxran_lib_wraper.html#a5548a3a1605dbf7b492d6eb164d3c667',1,'xranLibWraper']]], + ['get_5finput_5fparameter',['get_input_parameter',['../class_kernel_tests.html#a6dc1bccfd02f1a94b5c799c15cd98135',1,'KernelTests']]], + ['get_5fnum_5fantelmtrx',['get_num_antelmtrx',['../classxran_lib_wraper.html#adde1d671cf6532a577f13d85875ee3b4',1,'xranLibWraper']]], + ['get_5fnum_5fcc',['get_num_cc',['../classxran_lib_wraper.html#aeeef9211b4ee7d22934db64125b538dd',1,'xranLibWraper']]], + ['get_5fnum_5fdlrbs',['get_num_dlrbs',['../classxran_lib_wraper.html#ad2b06001d76c9a773c242b28fc7c92f4',1,'xranLibWraper']]], + ['get_5fnum_5feaxc',['get_num_eaxc',['../classxran_lib_wraper.html#aef8068804ca7393d92edd9ed22d90070',1,'xranLibWraper']]], + ['get_5fnum_5frbs',['get_num_rbs',['../classxran_lib_wraper.html#abbe0bfcd68428ee4cc3f63a391495e8d',1,'xranLibWraper']]], + ['get_5fnum_5fulrbs',['get_num_ulrbs',['../classxran_lib_wraper.html#a967a0c58430104684cf2f9b1fdb444da',1,'xranLibWraper']]], + ['get_5fnumber_5fof_5fcases',['get_number_of_cases',['../class_kernel_tests.html#a6157ff083be863bba0a7804cd1788d96',1,'KernelTests']]], + ['get_5fnumerology',['get_numerology',['../classxran_lib_wraper.html#a7d7488daf0a2eebb9359f760a60eaf7c',1,'xranLibWraper']]], + ['get_5fptr',['get_ptr',['../classnlohmann_1_1basic__json.html#ac27278f706614ec358de7eea17be96ee',1,'nlohmann::basic_json::get_ptr() noexcept'],['../classnlohmann_1_1basic__json.html#abdc4eee48904c134bc94bd5c7a32b97a',1,'nlohmann::basic_json::get_ptr() const noexcept']]], + ['get_5fref',['get_ref',['../classnlohmann_1_1basic__json.html#ad466825405fe763b16ce1a000b3d9b6c',1,'nlohmann::basic_json::get_ref()'],['../classnlohmann_1_1basic__json.html#ab4df689f8cd3fe0e11f25c319b0da394',1,'nlohmann::basic_json::get_ref() const']]], + ['get_5freference_5fparameter',['get_reference_parameter',['../class_kernel_tests.html#adfbe724335d86320c9839c426c4d5715',1,'KernelTests']]], + ['get_5frucategory',['get_rucategory',['../classxran_lib_wraper.html#a25afbf449e11f9e290e0fdbef77702c2',1,'xranLibWraper']]], + ['get_5fsequence',['get_sequence',['../common_8cpp.html#a39bf4f7770751080f5b72046abfd01a5',1,'get_sequence(const unsigned number): common.cpp'],['../common_8hpp.html#a39bf4f7770751080f5b72046abfd01a5',1,'get_sequence(const unsigned number): common.cpp']]], + ['get_5fslot_5fconfig',['get_slot_config',['../classxran_lib_wraper.html#a970616fd84b2f27327a77e202d31eeef',1,'xranLibWraper']]], + ['get_5fsymbol_5findex',['get_symbol_index',['../classxran_lib_wraper.html#ab795436cc8b07e2b0d665502274b30e6',1,'xranLibWraper']]], + ['get_5fticks_5fdiff',['get_ticks_diff',['../xran__timer_8h.html#a2c22baf2fd259384ee376d438bb461c1',1,'get_ticks_diff(unsigned long curr_tick, unsigned long last_tick): xran_timer.c'],['../xran__timer_8c.html#a2c22baf2fd259384ee376d438bb461c1',1,'get_ticks_diff(unsigned long curr_tick, unsigned long last_tick): xran_timer.c']]], + ['get_5ftimer_5fctx',['get_timer_ctx',['../classxran_lib_wraper.html#a1ffad42e0cccdbc800d3dbef66f52d45',1,'xranLibWraper']]], + ['get_5fxran_5fiq_5fcontent',['get_xran_iq_content',['../sample-app_8c.html#a882d9cb83c94aa24d5eb63c90152cb4e',1,'sample-app.c']]], + ['get_5fxranhandle',['get_xranhandle',['../classxran_lib_wraper.html#a2ad94e2d18c69b423d5402d7777832f1',1,'xranLibWraper']]] +]; diff --git a/docs/API/search/functions_8.html b/docs/API/search/functions_8.html new file mode 100644 index 0000000..b55f0e6 --- /dev/null +++ b/docs/API/search/functions_8.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/functions_8.js b/docs/API/search/functions_8.js new file mode 100644 index 0000000..72c0810 --- /dev/null +++ b/docs/API/search/functions_8.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['handle_5fecpri_5fethertype',['handle_ecpri_ethertype',['../xran__main_8c.html#a7a412a9cd0ac919dccb2112fb386d64a',1,'xran_main.c']]] +]; diff --git a/docs/API/search/functions_9.html b/docs/API/search/functions_9.html new file mode 100644 index 0000000..c73f07b --- /dev/null +++ b/docs/API/search/functions_9.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/functions_9.js b/docs/API/search/functions_9.js new file mode 100644 index 0000000..df60d57 --- /dev/null +++ b/docs/API/search/functions_9.js @@ -0,0 +1,30 @@ +var searchData= +[ + ['imag',['imag',['../gen__test_8m.html#a4253e838c39515646b8f3ff6b9164f6b',1,'imag((W_dl(:, ant).')) *iPrb]]: gen_test.m'],['../gen__test_8m.html#af10557aad79e2c38cd5401912a8d2420',1,'imag((W_ul(:, ant).')) *iPrb]]: gen_test.m']]], + ['init',['Init',['../classxran_lib_wraper.html#a200da4e2209141f12cafef2380cb801a',1,'xranLibWraper']]], + ['init_5flogger',['init_logger',['../namespacemaster.html#a04bd95e527992baa27396644b17c76e8',1,'master']]], + ['init_5ftest',['init_test',['../class_kernel_tests.html#abf28e5ea54fab2b0685972fe6e75560a',1,'KernelTests']]], + ['init_5fxran',['init_xran',['../sample-app_8c.html#ac2172b58f540a081b138ce91d13d9cb3',1,'sample-app.c']]], + ['init_5fxran_5fiq_5fcontent',['init_xran_iq_content',['../sample-app_8c.html#af495811a4eebe0e61cd87eb465382fb7',1,'sample-app.c']]], + ['insert',['insert',['../classnlohmann_1_1basic__json.html#a61546bf37d98e9b0d098220009e8376d',1,'nlohmann::basic_json::insert(const_iterator pos, const basic_json &val)'],['../classnlohmann_1_1basic__json.html#a3558f3419aa799071e6ce6114da3d2ec',1,'nlohmann::basic_json::insert(const_iterator pos, basic_json &&val)'],['../classnlohmann_1_1basic__json.html#ad30ad11886ceb1c06ee5dd940fd73dc7',1,'nlohmann::basic_json::insert(const_iterator pos, size_type cnt, const basic_json &val)'],['../classnlohmann_1_1basic__json.html#ac3333d8377ac68529c6aecebae9e0b9d',1,'nlohmann::basic_json::insert(const_iterator pos, const_iterator first, const_iterator last)'],['../classnlohmann_1_1basic__json.html#ace9415ac72c37ce036fdcd82710cbc83',1,'nlohmann::basic_json::insert(const_iterator pos, std::initializer_list< basic_json > ilist)']]], + ['instantiate_5ftest_5fcase_5fp',['INSTANTIATE_TEST_CASE_P',['../c__plane__tests_8cc.html#a2684a65b376489405671120c75efab7b',1,'INSTANTIATE_TEST_CASE_P(UnitTest, C_plane, testing::ValuesIn(get_sequence(C_plane::get_number_of_cases("C_Plane")))): c_plane_tests.cc'],['../chain__tests_8cc.html#a2f99c2e64ef3c4233a66e3110dd6a781',1,'INSTANTIATE_TEST_CASE_P(UnitTest, TestChain, testing::ValuesIn(get_sequence(TestChain::get_number_of_cases("TestChain")))): chain_tests.cc'],['../compander__functional_8cc.html#af1f014fcec0bb4765564caa98c3bb2ce',1,'INSTANTIATE_TEST_CASE_P(UnitTest, BfpCheck, testing::ValuesIn(get_sequence(BfpCheck::get_number_of_cases("bfp_functional")))): compander_functional.cc'],['../compander__functional_8cc.html#af960710866a00c534487d7a0ae5f6d9e',1,'INSTANTIATE_TEST_CASE_P(UnitTest, BfpPerf, testing::ValuesIn(get_sequence(BfpPerf::get_number_of_cases("bfp_performace")))): compander_functional.cc'],['../compander__functional_8cc.html#ac1af5cd148c8c0519a73c9f7bb744cf7',1,'INSTANTIATE_TEST_CASE_P(UnitTest, BfpPerfEx, testing::ValuesIn(get_sequence(BfpPerf::get_number_of_cases("bfp_performace_ex")))): compander_functional.cc'],['../init__sys__functional_8cc.html#ab1c8965491e6ac59bfcb56b9fc182f1b',1,'INSTANTIATE_TEST_CASE_P(UnitTest, Init_Sys_Check, testing::ValuesIn(get_sequence(Init_Sys_Check::get_number_of_cases("init_sys_functional")))): init_sys_functional.cc'],['../prach__functional_8cc.html#ac9bbd414b07f0f0f9220e132a11bea34',1,'INSTANTIATE_TEST_CASE_P(UnitTest, PrachCheck, testing::ValuesIn(get_sequence(PrachCheck::get_number_of_cases("prach_functional")))): prach_functional.cc'],['../prach__performance_8cc.html#ab4e27bca35e8082ffbe84519993b0e47',1,'INSTANTIATE_TEST_CASE_P(UnitTest, PrachPerf, testing::ValuesIn(get_sequence(PrachPerf::get_number_of_cases("prach_performance")))): prach_performance.cc'],['../u__plane__functional_8cc.html#aa59dece42a6c30feedc30accb71c2001',1,'INSTANTIATE_TEST_CASE_P(UnitTest, U_planeCheck, testing::ValuesIn(get_sequence(U_planeCheck::get_number_of_cases("u_plane_functional")))): u_plane_functional.cc'],['../u__plane__performance_8cc.html#ac3ee52d20c26760f73891becf45f317b',1,'INSTANTIATE_TEST_CASE_P(UnitTest, U_planePerf, testing::ValuesIn(get_sequence(U_planePerf::get_number_of_cases("u_plane_performance")))): u_plane_performance.cc']]], + ['is_5farray',['is_array',['../classnlohmann_1_1basic__json.html#a286a1af9e72e4e41a359b6d01a7b9be9',1,'nlohmann::basic_json']]], + ['is_5fboolean',['is_boolean',['../classnlohmann_1_1basic__json.html#a3f27b4908e7f73e1028bf681f0e25258',1,'nlohmann::basic_json']]], + ['is_5fcomment',['is_comment',['../namespacemaster.html#ada33277f60a7237e56dcc1c27fd0fcc3',1,'master']]], + ['is_5fcpenable',['is_cpenable',['../classxran_lib_wraper.html#a5855fc30031ba49b7375526f7cda0ff7',1,'xranLibWraper']]], + ['is_5fdiscarded',['is_discarded',['../classnlohmann_1_1basic__json.html#aa3755192d05bc50d680919b259b69305',1,'nlohmann::basic_json']]], + ['is_5fdynamicsection',['is_dynamicsection',['../classxran_lib_wraper.html#a1d92eb426fc3269a180f07289f738d1a',1,'xranLibWraper']]], + ['is_5fnull',['is_null',['../classnlohmann_1_1basic__json.html#a5343c52ade262b120e6cdafb516f1f65',1,'nlohmann::basic_json']]], + ['is_5fnumber',['is_number',['../classnlohmann_1_1basic__json.html#ac752edf4fd63784b587cd7116a407392',1,'nlohmann::basic_json']]], + ['is_5fnumber_5ffloat',['is_number_float',['../classnlohmann_1_1basic__json.html#a8bcacf4b2549df21e7e3d6d5882bc26f',1,'nlohmann::basic_json']]], + ['is_5fnumber_5finteger',['is_number_integer',['../classnlohmann_1_1basic__json.html#a8719f77e4b63e026597607704740f89a',1,'nlohmann::basic_json']]], + ['is_5fnumber_5funsigned',['is_number_unsigned',['../classnlohmann_1_1basic__json.html#a1899915ea90604c5bf3204c2a270d44e',1,'nlohmann::basic_json']]], + ['is_5fobject',['is_object',['../classnlohmann_1_1basic__json.html#ad6a2a9425ea3806424417c2e7dcdbc01',1,'nlohmann::basic_json']]], + ['is_5fprachenable',['is_prachenable',['../classxran_lib_wraper.html#a5b5d9e46f23728cf8901e177fbf1e32b',1,'xranLibWraper']]], + ['is_5fprimitive',['is_primitive',['../classnlohmann_1_1basic__json.html#ae5e7e83e05bf011781326a00fdf7a733',1,'nlohmann::basic_json']]], + ['is_5frunning',['is_running',['../classxran_lib_wraper.html#a61da580fc69a74f3ef17956ba5fd88a0',1,'xranLibWraper']]], + ['is_5fstring',['is_string',['../classnlohmann_1_1basic__json.html#adef80b7704d7b8d8ed6bcf3c69fe9568',1,'nlohmann::basic_json']]], + ['is_5fstructured',['is_structured',['../classnlohmann_1_1basic__json.html#abc946f8df0445e62162a6633a444ae79',1,'nlohmann::basic_json']]], + ['iter_5fimpl',['iter_impl',['../classnlohmann_1_1basic__json_1_1iter__impl.html#aee3b9445acb70a87db074076a113738a',1,'nlohmann::basic_json::iter_impl::iter_impl()=default'],['../classnlohmann_1_1basic__json_1_1iter__impl.html#a4d3a3cd2792cdef6cd69694681ba5976',1,'nlohmann::basic_json::iter_impl::iter_impl(pointer object) noexcept'],['../classnlohmann_1_1basic__json_1_1iter__impl.html#a7cb700fcddd2cfd8e9279fddcb97620e',1,'nlohmann::basic_json::iter_impl::iter_impl(const iter_impl &other) noexcept']]], + ['iterator_5fwrapper',['iterator_wrapper',['../classnlohmann_1_1basic__json.html#ace1114c14ae7995319c4248e5fb77f39',1,'nlohmann::basic_json::iterator_wrapper(reference cont)'],['../classnlohmann_1_1basic__json.html#ad5aec3fa1ab1dd3fb95581f13d0b0f72',1,'nlohmann::basic_json::iterator_wrapper(const_reference cont)']]] +]; diff --git a/docs/API/search/functions_a.html b/docs/API/search/functions_a.html new file mode 100644 index 0000000..f10ad63 --- /dev/null +++ b/docs/API/search/functions_a.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/functions_a.js b/docs/API/search/functions_a.js new file mode 100644 index 0000000..9a71f92 --- /dev/null +++ b/docs/API/search/functions_a.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['json_5fpointer',['json_pointer',['../classnlohmann_1_1basic__json_1_1json__pointer.html#a15ea0c26b93c10a51bcef1df5e30cb1a',1,'nlohmann::basic_json::json_pointer']]], + ['json_5freverse_5fiterator',['json_reverse_iterator',['../classnlohmann_1_1basic__json_1_1json__reverse__iterator.html#aaf6ca19ab4ec736908a5c12171fcc4a1',1,'nlohmann::basic_json::json_reverse_iterator::json_reverse_iterator(const typename base_iterator::iterator_type &it) noexcept'],['../classnlohmann_1_1basic__json_1_1json__reverse__iterator.html#a98821662fa993b2b87cfeb1da8b78e35',1,'nlohmann::basic_json::json_reverse_iterator::json_reverse_iterator(const base_iterator &it) noexcept']]] +]; diff --git a/docs/API/search/functions_b.html b/docs/API/search/functions_b.html new file mode 100644 index 0000000..172ea1b --- /dev/null +++ b/docs/API/search/functions_b.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/functions_b.js b/docs/API/search/functions_b.js new file mode 100644 index 0000000..0b3379c --- /dev/null +++ b/docs/API/search/functions_b.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['key',['key',['../classnlohmann_1_1basic__json_1_1iter__impl.html#a20a906353f77b2a7b947eb67c441fd20',1,'nlohmann::basic_json::iter_impl::key()'],['../classnlohmann_1_1basic__json_1_1json__reverse__iterator.html#a20a906353f77b2a7b947eb67c441fd20',1,'nlohmann::basic_json::json_reverse_iterator::key()']]] +]; diff --git a/docs/API/search/functions_c.html b/docs/API/search/functions_c.html new file mode 100644 index 0000000..99492ba --- /dev/null +++ b/docs/API/search/functions_c.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/functions_c.js b/docs/API/search/functions_c.js new file mode 100644 index 0000000..a336fe9 --- /dev/null +++ b/docs/API/search/functions_c.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['list_5fentry',['LIST_ENTRY',['../structcb__elem__entry.html#a38c422707541b71db2fe581e608f0024',1,'cb_elem_entry']]], + ['list_5fhead',['LIST_HEAD',['../structxran__device__ctx.html#ab7156a390b58bd5a5eb27161c656f112',1,'xran_device_ctx']]] +]; diff --git a/docs/API/search/functions_d.html b/docs/API/search/functions_d.html new file mode 100644 index 0000000..5be9ecc --- /dev/null +++ b/docs/API/search/functions_d.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/functions_d.js b/docs/API/search/functions_d.js new file mode 100644 index 0000000..270d135 --- /dev/null +++ b/docs/API/search/functions_d.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['main',['main',['../sample-app_8c.html#a0ddf1224851353fc92bfbff6f499fa97',1,'main(int argc, char *argv[]): sample-app.c'],['../xranlib__unit__test__main_8cc.html#a3c04138a5bfe5d72780bb7e82a18e627',1,'main(int argc, char **argv): xranlib_unit_test_main.cc'],['../namespacemaster.html#a1835cdc0fc647a2c5b5ccf8b5e6e1778',1,'master.main()']]], + ['make_5fcopy_5fmlog',['make_copy_mlog',['../namespacemaster.html#a2730ffb83f627670caa12f7595551151',1,'master']]], + ['matlab',['Matlab',['../gen__test_8m.html#abee116c541345c5756870213b23b01c4',1,'gen_test.m']]], + ['max_5fsize',['max_size',['../classnlohmann_1_1basic__json.html#ac2a85e463df4e95c1bf051cfb8237805',1,'nlohmann::basic_json']]], + ['meta',['meta',['../classnlohmann_1_1basic__json.html#a7b7fb3fbbbbae070cef34411707c887b',1,'nlohmann::basic_json']]] +]; diff --git a/docs/API/search/functions_e.html b/docs/API/search/functions_e.html new file mode 100644 index 0000000..e256cb6 --- /dev/null +++ b/docs/API/search/functions_e.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/functions_e.js b/docs/API/search/functions_e.js new file mode 100644 index 0000000..2c0d5ac --- /dev/null +++ b/docs/API/search/functions_e.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['networkbytepack10b',['networkBytePack10b',['../xran__compression_8cpp.html#a4a2767bece9b74bb6348b416af70a3de',1,'xran_compression.cpp']]], + ['networkbytepack12b',['networkBytePack12b',['../xran__compression_8cpp.html#aafe7eae735c4ebf8f028e7baa6783c22',1,'xran_compression.cpp']]], + ['networkbytepack9b',['networkBytePack9b',['../xran__compression_8cpp.html#acb87fe08d3492b251e7a2561488064fa',1,'xran_compression.cpp']]], + ['networkbyteunpack10b',['networkByteUnpack10b',['../xran__compression_8cpp.html#a27043376e22397cc933d3c4d9450677b',1,'xran_compression.cpp']]], + ['networkbyteunpack12b',['networkByteUnpack12b',['../xran__compression_8cpp.html#a91aa9bdb6901711b43d848a4a5a94d2f',1,'xran_compression.cpp']]], + ['networkbyteunpack9b',['networkByteUnpack9b',['../xran__compression_8cpp.html#afb29866152e84d42cd2e3bc116454493',1,'xran_compression.cpp']]], + ['nlohmann_5fjson_5fhas_5fhelper',['NLOHMANN_JSON_HAS_HELPER',['../namespacenlohmann_1_1detail.html#a7b2601c238073c43a07862768b319cf8',1,'nlohmann::detail::NLOHMANN_JSON_HAS_HELPER(mapped_type)'],['../namespacenlohmann_1_1detail.html#ad19328f0c4ffe2890ecafb7c89e0355b',1,'nlohmann::detail::NLOHMANN_JSON_HAS_HELPER(key_type)'],['../namespacenlohmann_1_1detail.html#af3e900eb1e0b107c812f7babbb94e69e',1,'nlohmann::detail::NLOHMANN_JSON_HAS_HELPER(value_type)'],['../namespacenlohmann_1_1detail.html#a6648328c4b1466fdc48f1fcfbff23e2f',1,'nlohmann::detail::NLOHMANN_JSON_HAS_HELPER(iterator)']]] +]; diff --git a/docs/API/search/functions_f.html b/docs/API/search/functions_f.html new file mode 100644 index 0000000..424126c --- /dev/null +++ b/docs/API/search/functions_f.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/functions_f.js b/docs/API/search/functions_f.js new file mode 100644 index 0000000..1044674 --- /dev/null +++ b/docs/API/search/functions_f.js @@ -0,0 +1,28 @@ +var searchData= +[ + ['object',['object',['../classnlohmann_1_1basic__json.html#a6955fcba671f39d7d04164ef034aada8',1,'nlohmann::basic_json']]], + ['open',['Open',['../classxran_lib_wraper.html#ad93226058ef4fd59bd7d0cd55701b752',1,'xranLibWraper']]], + ['operator_20const_5fiterator',['operator const_iterator',['../classnlohmann_1_1basic__json_1_1iter__impl.html#ad353fe4df2005dff2442f68d922131e4',1,'nlohmann::basic_json::iter_impl']]], + ['operator_20value_5ft',['operator value_t',['../classnlohmann_1_1basic__json.html#a88617128d78ac71c7f1025c3de7a2859',1,'nlohmann::basic_json']]], + ['operator_20valuetype',['operator ValueType',['../classnlohmann_1_1basic__json.html#ad473c5817538254b1cc601abcd371157',1,'nlohmann::basic_json']]], + ['operator_21_3d',['operator!=',['../classnlohmann_1_1basic__json_1_1iter__impl.html#a38c475d645b64df182fa37f07d54d17f',1,'nlohmann::basic_json::iter_impl']]], + ['operator_22_22_20_5fjson',['operator"" _json',['../json_8hpp.html#a106b949d848bb8243a7cf94f11bcebf1',1,'json.hpp']]], + ['operator_22_22_20_5fjson_5fpointer',['operator"" _json_pointer',['../json_8hpp.html#aa2015c6dc3a0fb76fc526cfecef2286a',1,'json.hpp']]], + ['operator_28_29',['operator()',['../structnlohmann_1_1detail_1_1to__json__fn.html#af2d38ad6a42ac8284e4be1f5839be322',1,'nlohmann::detail::to_json_fn::operator()()'],['../structnlohmann_1_1detail_1_1from__json__fn.html#a6729179bc94182b30176c8d5b7401513',1,'nlohmann::detail::from_json_fn::operator()()'],['../structstd_1_1hash_3_01nlohmann_1_1json_01_4.html#ac575ca25c0e836661bdb284b102a6aaf',1,'std::hash< nlohmann::json >::operator()()']]], + ['operator_2a',['operator*',['../classnlohmann_1_1basic__json_1_1iter__impl.html#ab086ec1916db61d1ab56a801abca8d91',1,'nlohmann::basic_json::iter_impl']]], + ['operator_2b',['operator+',['../classnlohmann_1_1basic__json_1_1iter__impl.html#ab3aa2093236c9db5d53b9b011d7e34de',1,'nlohmann::basic_json::iter_impl::operator+()'],['../classnlohmann_1_1basic__json_1_1json__reverse__iterator.html#a379ba238d7e1db7e0e728b248f3d2d1d',1,'nlohmann::basic_json::json_reverse_iterator::operator+()']]], + ['operator_2b_2b',['operator++',['../classnlohmann_1_1basic__json_1_1iter__impl.html#a56748d2feda14d9302a9056f90b9a60e',1,'nlohmann::basic_json::iter_impl::operator++(int)'],['../classnlohmann_1_1basic__json_1_1iter__impl.html#a1b374ca565bfc8190db3ec82343ce439',1,'nlohmann::basic_json::iter_impl::operator++()'],['../classnlohmann_1_1basic__json_1_1json__reverse__iterator.html#ad914a5637b429ac954b6be1db4219f99',1,'nlohmann::basic_json::json_reverse_iterator::operator++(int)'],['../classnlohmann_1_1basic__json_1_1json__reverse__iterator.html#ac1c46ac846ae806e7df76b4adc4fe0e5',1,'nlohmann::basic_json::json_reverse_iterator::operator++()']]], + ['operator_2b_3d',['operator+=',['../classnlohmann_1_1basic__json.html#aa130f045dca0b2e8d0ddae89e0f9cba8',1,'nlohmann::basic_json::operator+=(basic_json &&val)'],['../classnlohmann_1_1basic__json.html#a0e7ec359c5e44fa0b81c19a4bb699c3d',1,'nlohmann::basic_json::operator+=(const basic_json &val)'],['../classnlohmann_1_1basic__json.html#abba1e62253b8581d1e8fa1aab041702f',1,'nlohmann::basic_json::operator+=(const typename object_t::value_type &val)'],['../classnlohmann_1_1basic__json.html#ac42b45d70dbd9ad603c60305540f5aca',1,'nlohmann::basic_json::operator+=(std::initializer_list< basic_json > init)'],['../classnlohmann_1_1basic__json_1_1iter__impl.html#abbb1f35d8a5497bfdf3223abc6e01f36',1,'nlohmann::basic_json::iter_impl::operator+=()'],['../classnlohmann_1_1basic__json_1_1json__reverse__iterator.html#a6f1d98b981f6ec93ce6238052ced1427',1,'nlohmann::basic_json::json_reverse_iterator::operator+=()']]], + ['operator_2d',['operator-',['../classnlohmann_1_1basic__json_1_1iter__impl.html#a712db987ec665d7094fab4a48895deb8',1,'nlohmann::basic_json::iter_impl::operator-(difference_type i)'],['../classnlohmann_1_1basic__json_1_1iter__impl.html#af5b7432e5f4c236f890ca6f47e6adfa2',1,'nlohmann::basic_json::iter_impl::operator-(const iter_impl &other) const'],['../classnlohmann_1_1basic__json_1_1json__reverse__iterator.html#a7b955a5e882bfc49b7051faacc5379d6',1,'nlohmann::basic_json::json_reverse_iterator::operator-(difference_type i) const'],['../classnlohmann_1_1basic__json_1_1json__reverse__iterator.html#ac89403aab4e338130aa6dc520ea5b223',1,'nlohmann::basic_json::json_reverse_iterator::operator-(const json_reverse_iterator &other) const']]], + ['operator_2d_2d',['operator--',['../classnlohmann_1_1basic__json_1_1iter__impl.html#afbd4f01fad2a960f17a8abca32565e09',1,'nlohmann::basic_json::iter_impl::operator--(int)'],['../classnlohmann_1_1basic__json_1_1iter__impl.html#a5d13d2f7598ea808a97706918dcf02b6',1,'nlohmann::basic_json::iter_impl::operator--()'],['../classnlohmann_1_1basic__json_1_1json__reverse__iterator.html#aca64e618db2fb5cc23cf6e03ab98fb59',1,'nlohmann::basic_json::json_reverse_iterator::operator--(int)'],['../classnlohmann_1_1basic__json_1_1json__reverse__iterator.html#aa598935489b2d385e06ce56e44df0f21',1,'nlohmann::basic_json::json_reverse_iterator::operator--()']]], + ['operator_2d_3d',['operator-=',['../classnlohmann_1_1basic__json_1_1iter__impl.html#a66545be272d63090426284b0a9a72262',1,'nlohmann::basic_json::iter_impl']]], + ['operator_2d_3e',['operator->',['../classnlohmann_1_1basic__json_1_1iter__impl.html#aef4e7d4e0fa56e9f7509c555f73d24d2',1,'nlohmann::basic_json::iter_impl']]], + ['operator_3c',['operator<',['../classnlohmann_1_1basic__json_1_1iter__impl.html#acc11749d3c5dda58cd448d23865b7cf7',1,'nlohmann::basic_json::iter_impl::operator<()'],['../namespacenlohmann_1_1detail.html#a09169efff3bd1771fff29bd92cea19e0',1,'nlohmann::detail::operator<()']]], + ['operator_3c_3d',['operator<=',['../classnlohmann_1_1basic__json_1_1iter__impl.html#af63486c9f2dff66291a8a93c717de968',1,'nlohmann::basic_json::iter_impl']]], + ['operator_3d',['operator=',['../classnlohmann_1_1basic__json.html#aee22c00d2bff99e59c1a2abe76bb74d8',1,'nlohmann::basic_json::operator=()'],['../classnlohmann_1_1basic__json_1_1iter__impl.html#a8611a2c69368775458a89acd1078d39d',1,'nlohmann::basic_json::iter_impl::operator=()']]], + ['operator_3d_3d',['operator==',['../classnlohmann_1_1basic__json_1_1iter__impl.html#a2462cda9c28eb73eada8f362227ccafc',1,'nlohmann::basic_json::iter_impl']]], + ['operator_3e',['operator>',['../classnlohmann_1_1basic__json_1_1iter__impl.html#a018829d57a7e2a02b6e17397b68de52a',1,'nlohmann::basic_json::iter_impl']]], + ['operator_3e_3d',['operator>=',['../classnlohmann_1_1basic__json_1_1iter__impl.html#a0c20da3ba765c99dc8eb0b47f506ee88',1,'nlohmann::basic_json::iter_impl']]], + ['operator_5b_5d',['operator[]',['../classnlohmann_1_1basic__json.html#a693ccc537e47d7c90c86d4ca2fe1db05',1,'nlohmann::basic_json::operator[](size_type idx)'],['../classnlohmann_1_1basic__json.html#a890ecb965cd00d2cae1f76c0602f350a',1,'nlohmann::basic_json::operator[](size_type idx) const'],['../classnlohmann_1_1basic__json.html#a27efc3966d94d080bb36fa3595c15df5',1,'nlohmann::basic_json::operator[](const typename object_t::key_type &key)'],['../classnlohmann_1_1basic__json.html#a21e205d45fed194dec979bc1ea5388ac',1,'nlohmann::basic_json::operator[](const typename object_t::key_type &key) const'],['../classnlohmann_1_1basic__json.html#aea49996d0be84a9e652cadf7f975db33',1,'nlohmann::basic_json::operator[](T *(&key)[n])'],['../classnlohmann_1_1basic__json.html#ae4a416f01acd73e941714fe5c54389ce',1,'nlohmann::basic_json::operator[](T *(&key)[n]) const'],['../classnlohmann_1_1basic__json.html#ace3f02fdb9af2b87d407db1bfd20c424',1,'nlohmann::basic_json::operator[](T *key)'],['../classnlohmann_1_1basic__json.html#a12d90fef934fc6cfdac130424872604a',1,'nlohmann::basic_json::operator[](T *key) const'],['../classnlohmann_1_1basic__json_1_1iter__impl.html#a63cb79f90807943ec3a6968d8497e20f',1,'nlohmann::basic_json::iter_impl::operator[]()'],['../classnlohmann_1_1basic__json_1_1json__reverse__iterator.html#a63cb79f90807943ec3a6968d8497e20f',1,'nlohmann::basic_json::json_reverse_iterator::operator[]()'],['../classnlohmann_1_1basic__json.html#af16e882a2401f188f4b26d728c5fc2ed',1,'nlohmann::basic_json::operator[](const json_pointer &ptr)'],['../classnlohmann_1_1basic__json.html#a3ac9a62afdca75d5793047e6913e5ab1',1,'nlohmann::basic_json::operator[](const json_pointer &ptr) const']]], + ['string',['string',['../classnlohmann_1_1basic__json_1_1json__pointer.html#a3888dcd59dd5acd1ca5b9bee4c2e252a',1,'nlohmann::basic_json::json_pointer']]] +]; diff --git a/docs/API/search/groups_0.html b/docs/API/search/groups_0.html new file mode 100644 index 0000000..1ede28d --- /dev/null +++ b/docs/API/search/groups_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/groups_0.js b/docs/API/search/groups_0.js new file mode 100644 index 0000000..6a7d7f4 --- /dev/null +++ b/docs/API/search/groups_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['u_2dplane_20xran_20packet_20definitions_20and_20functions',['U-Plane XRAN Packet definitions and functions',['../group__xran__up__pkt.html',1,'']]] +]; diff --git a/docs/API/search/groups_1.html b/docs/API/search/groups_1.html new file mode 100644 index 0000000..3c05216 --- /dev/null +++ b/docs/API/search/groups_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/groups_1.js b/docs/API/search/groups_1.js new file mode 100644 index 0000000..39e1395 --- /dev/null +++ b/docs/API/search/groups_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['xran_20packet_20definitions_20and_20functions',['XRAN Packet definitions and functions',['../group__xran__common__pkt.html',1,'']]] +]; diff --git a/docs/API/search/mag_sel.png b/docs/API/search/mag_sel.png new file mode 100644 index 0000000..81f6040 Binary files /dev/null and b/docs/API/search/mag_sel.png differ diff --git a/docs/API/search/namespaces_0.html b/docs/API/search/namespaces_0.html new file mode 100644 index 0000000..605ac45 --- /dev/null +++ b/docs/API/search/namespaces_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/namespaces_0.js b/docs/API/search/namespaces_0.js new file mode 100644 index 0000000..ba05afe --- /dev/null +++ b/docs/API/search/namespaces_0.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['blockfloatcompander',['BlockFloatCompander',['../namespace_block_float_compander.html',1,'']]], + ['blockfloatcompanderbfw',['BlockFloatCompanderBFW',['../namespace_block_float_compander_b_f_w.html',1,'']]] +]; diff --git a/docs/API/search/namespaces_1.html b/docs/API/search/namespaces_1.html new file mode 100644 index 0000000..f093550 --- /dev/null +++ b/docs/API/search/namespaces_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/namespaces_1.js b/docs/API/search/namespaces_1.js new file mode 100644 index 0000000..e07f236 --- /dev/null +++ b/docs/API/search/namespaces_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['master',['master',['../namespacemaster.html',1,'']]] +]; diff --git a/docs/API/search/namespaces_2.html b/docs/API/search/namespaces_2.html new file mode 100644 index 0000000..1a1cbe1 --- /dev/null +++ b/docs/API/search/namespaces_2.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/namespaces_2.js b/docs/API/search/namespaces_2.js new file mode 100644 index 0000000..0245628 --- /dev/null +++ b/docs/API/search/namespaces_2.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['detail',['detail',['../namespacenlohmann_1_1detail.html',1,'nlohmann']]], + ['nlohmann',['nlohmann',['../namespacenlohmann.html',1,'']]] +]; diff --git a/docs/API/search/namespaces_3.html b/docs/API/search/namespaces_3.html new file mode 100644 index 0000000..e8e3ead --- /dev/null +++ b/docs/API/search/namespaces_3.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/namespaces_3.js b/docs/API/search/namespaces_3.js new file mode 100644 index 0000000..5ab0907 --- /dev/null +++ b/docs/API/search/namespaces_3.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['std',['std',['../namespacestd.html',1,'']]] +]; diff --git a/docs/API/search/nomatches.html b/docs/API/search/nomatches.html new file mode 100644 index 0000000..b1ded27 --- /dev/null +++ b/docs/API/search/nomatches.html @@ -0,0 +1,12 @@ + + + + + + + +
    +
    No Matches
    +
    + + diff --git a/docs/API/search/pages_0.html b/docs/API/search/pages_0.html new file mode 100644 index 0000000..4955b9e --- /dev/null +++ b/docs/API/search/pages_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/pages_0.js b/docs/API/search/pages_0.js new file mode 100644 index 0000000..038da54 --- /dev/null +++ b/docs/API/search/pages_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['deprecated_20list',['Deprecated List',['../deprecated.html',1,'']]] +]; diff --git a/docs/API/search/related_0.html b/docs/API/search/related_0.html new file mode 100644 index 0000000..1db947b --- /dev/null +++ b/docs/API/search/related_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/related_0.js b/docs/API/search/related_0.js new file mode 100644 index 0000000..bfaab5a --- /dev/null +++ b/docs/API/search/related_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['basic_5fjson',['basic_json',['../classnlohmann_1_1basic__json_1_1iter__impl.html#ada3100cdb8700566051828f1355fa745',1,'nlohmann::basic_json::iter_impl::basic_json()'],['../classnlohmann_1_1basic__json_1_1json__pointer.html#ada3100cdb8700566051828f1355fa745',1,'nlohmann::basic_json::json_pointer::basic_json()']]] +]; diff --git a/docs/API/search/related_1.html b/docs/API/search/related_1.html new file mode 100644 index 0000000..413c6d4 --- /dev/null +++ b/docs/API/search/related_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/related_1.js b/docs/API/search/related_1.js new file mode 100644 index 0000000..0287907 --- /dev/null +++ b/docs/API/search/related_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['external_5fconstructor',['external_constructor',['../classnlohmann_1_1basic__json.html#a6275ed57bae6866cdf5db5370a7ad47c',1,'nlohmann::basic_json']]] +]; diff --git a/docs/API/search/related_2.html b/docs/API/search/related_2.html new file mode 100644 index 0000000..60d1ede --- /dev/null +++ b/docs/API/search/related_2.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/related_2.js b/docs/API/search/related_2.js new file mode 100644 index 0000000..78f06f3 --- /dev/null +++ b/docs/API/search/related_2.js @@ -0,0 +1,11 @@ +var searchData= +[ + ['operator_21_3d',['operator!=',['../classnlohmann_1_1basic__json.html#a6e2e21da48f5d9471716cd868a068327',1,'nlohmann::basic_json::operator!=()'],['../classnlohmann_1_1basic__json.html#afefc38fc08bdb7a9a7474b5ab4a1140f',1,'nlohmann::basic_json::operator!=()'],['../classnlohmann_1_1basic__json.html#ab0e886db6e9fa91ff9fd853333fed05b',1,'nlohmann::basic_json::operator!=()'],['../classnlohmann_1_1basic__json_1_1json__pointer.html#a6779edcf28e6f018a3bbb29c0b4b5e1e',1,'nlohmann::basic_json::json_pointer::operator!=()']]], + ['operator_3c',['operator<',['../classnlohmann_1_1basic__json.html#aacd442b66140c764c594ac8ad7dfd5b3',1,'nlohmann::basic_json']]], + ['operator_3c_3c',['operator<<',['../classnlohmann_1_1basic__json.html#a5e34c5435e557d0bf666bd7311211405',1,'nlohmann::basic_json::operator<<()'],['../classnlohmann_1_1basic__json.html#a60ca396028b8d9714c6e10efbf475af6',1,'nlohmann::basic_json::operator<<()']]], + ['operator_3c_3d',['operator<=',['../classnlohmann_1_1basic__json.html#a5c8bb5200f5eac10d31e26be46e5b1ac',1,'nlohmann::basic_json']]], + ['operator_3d_3d',['operator==',['../classnlohmann_1_1basic__json.html#a122640e7e2db1814fc7bbb3c122ec76e',1,'nlohmann::basic_json::operator==()'],['../classnlohmann_1_1basic__json.html#aba21440ea1aff44f718285ed7d6d20d9',1,'nlohmann::basic_json::operator==()'],['../classnlohmann_1_1basic__json.html#aef302e3ae215e46e5035d0e4fdf47235',1,'nlohmann::basic_json::operator==()'],['../classnlohmann_1_1basic__json_1_1json__pointer.html#a4667ef558c8c3f8a646bfda0c6654653',1,'nlohmann::basic_json::json_pointer::operator==()']]], + ['operator_3e',['operator>',['../classnlohmann_1_1basic__json.html#a87db51b6b936fb2ea293cdbc8702dcb8',1,'nlohmann::basic_json']]], + ['operator_3e_3d',['operator>=',['../classnlohmann_1_1basic__json.html#a74a943800c7f103d0990d7eef82c6453',1,'nlohmann::basic_json']]], + ['operator_3e_3e',['operator>>',['../classnlohmann_1_1basic__json.html#a34d6a60dd99e9f33b8273a1c8db5669b',1,'nlohmann::basic_json::operator>>()'],['../classnlohmann_1_1basic__json.html#aaf363408931d76472ded14017e59c9e8',1,'nlohmann::basic_json::operator>>()']]] +]; diff --git a/docs/API/search/search.css b/docs/API/search/search.css new file mode 100644 index 0000000..3cf9df9 --- /dev/null +++ b/docs/API/search/search.css @@ -0,0 +1,271 @@ +/*---------------- Search Box */ + +#FSearchBox { + float: left; +} + +#MSearchBox { + white-space : nowrap; + float: none; + margin-top: 8px; + right: 0px; + width: 170px; + height: 24px; + z-index: 102; +} + +#MSearchBox .left +{ + display:block; + position:absolute; + left:10px; + width:20px; + height:19px; + background:url('search_l.png') no-repeat; + background-position:right; +} + +#MSearchSelect { + display:block; + position:absolute; + width:20px; + height:19px; +} + +.left #MSearchSelect { + left:4px; +} + +.right #MSearchSelect { + right:5px; +} + +#MSearchField { + display:block; + position:absolute; + height:19px; + background:url('search_m.png') repeat-x; + border:none; + width:115px; + margin-left:20px; + padding-left:4px; + color: #909090; + outline: none; + font: 9pt Arial, Verdana, sans-serif; + -webkit-border-radius: 0px; +} + +#FSearchBox #MSearchField { + margin-left:15px; +} + +#MSearchBox .right { + display:block; + position:absolute; + right:10px; + top:8px; + width:20px; + height:19px; + background:url('search_r.png') no-repeat; + background-position:left; +} + +#MSearchClose { + display: none; + position: absolute; + top: 4px; + background : none; + border: none; + margin: 0px 4px 0px 0px; + padding: 0px 0px; + outline: none; +} + +.left #MSearchClose { + left: 6px; +} + +.right #MSearchClose { + right: 2px; +} + +.MSearchBoxActive #MSearchField { + color: #000000; +} + +/*---------------- Search filter selection */ + +#MSearchSelectWindow { + display: none; + position: absolute; + left: 0; top: 0; + border: 1px solid #90A5CE; + background-color: #F9FAFC; + z-index: 10001; + padding-top: 4px; + padding-bottom: 4px; + -moz-border-radius: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +} + +.SelectItem { + font: 8pt Arial, Verdana, sans-serif; + padding-left: 2px; + padding-right: 12px; + border: 0px; +} + +span.SelectionMark { + margin-right: 4px; + font-family: monospace; + outline-style: none; + text-decoration: none; +} + +a.SelectItem { + display: block; + outline-style: none; + color: #000000; + text-decoration: none; + padding-left: 6px; + padding-right: 12px; +} + +a.SelectItem:focus, +a.SelectItem:active { + color: #000000; + outline-style: none; + text-decoration: none; +} + +a.SelectItem:hover { + color: #FFFFFF; + background-color: #3D578C; + outline-style: none; + text-decoration: none; + cursor: pointer; + display: block; +} + +/*---------------- Search results window */ + +iframe#MSearchResults { + width: 60ex; + height: 15em; +} + +#MSearchResultsWindow { + display: none; + position: absolute; + left: 0; top: 0; + border: 1px solid #000; + background-color: #EEF1F7; + z-index:10000; +} + +/* ----------------------------------- */ + + +#SRIndex { + clear:both; + padding-bottom: 15px; +} + +.SREntry { + font-size: 10pt; + padding-left: 1ex; +} + +.SRPage .SREntry { + font-size: 8pt; + padding: 1px 5px; +} + +body.SRPage { + margin: 5px 2px; +} + +.SRChildren { + padding-left: 3ex; padding-bottom: .5em +} + +.SRPage .SRChildren { + display: none; +} + +.SRSymbol { + font-weight: bold; + color: #425E97; + font-family: Arial, Verdana, sans-serif; + text-decoration: none; + outline: none; +} + +a.SRScope { + display: block; + color: #425E97; + font-family: Arial, Verdana, sans-serif; + text-decoration: none; + outline: none; +} + +a.SRSymbol:focus, a.SRSymbol:active, +a.SRScope:focus, a.SRScope:active { + text-decoration: underline; +} + +span.SRScope { + padding-left: 4px; +} + +.SRPage .SRStatus { + padding: 2px 5px; + font-size: 8pt; + font-style: italic; +} + +.SRResult { + display: none; +} + +DIV.searchresults { + margin-left: 10px; + margin-right: 10px; +} + +/*---------------- External search page results */ + +.searchresult { + background-color: #F0F3F8; +} + +.pages b { + color: white; + padding: 5px 5px 3px 5px; + background-image: url("../tab_a.png"); + background-repeat: repeat-x; + text-shadow: 0 1px 1px #000000; +} + +.pages { + line-height: 17px; + margin-left: 4px; + text-decoration: none; +} + +.hl { + font-weight: bold; +} + +#searchresults { + margin-bottom: 20px; +} + +.searchpages { + margin-top: 10px; +} + diff --git a/docs/API/search/search.js b/docs/API/search/search.js new file mode 100644 index 0000000..dedce3b --- /dev/null +++ b/docs/API/search/search.js @@ -0,0 +1,791 @@ +function convertToId(search) +{ + var result = ''; + for (i=0;i do a search + { + this.Search(); + } + } + + this.OnSearchSelectKey = function(evt) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==40 && this.searchIndex0) // Up + { + this.searchIndex--; + this.OnSelectItem(this.searchIndex); + } + else if (e.keyCode==13 || e.keyCode==27) + { + this.OnSelectItem(this.searchIndex); + this.CloseSelectionWindow(); + this.DOMSearchField().focus(); + } + return false; + } + + // --------- Actions + + // Closes the results window. + this.CloseResultsWindow = function() + { + this.DOMPopupSearchResultsWindow().style.display = 'none'; + this.DOMSearchClose().style.display = 'none'; + this.Activate(false); + } + + this.CloseSelectionWindow = function() + { + this.DOMSearchSelectWindow().style.display = 'none'; + } + + // Performs a search. + this.Search = function() + { + this.keyTimeout = 0; + + // strip leading whitespace + var searchValue = this.DOMSearchField().value.replace(/^ +/, ""); + + var code = searchValue.toLowerCase().charCodeAt(0); + var idxChar = searchValue.substr(0, 1).toLowerCase(); + if ( 0xD800 <= code && code <= 0xDBFF && searchValue > 1) // surrogate pair + { + idxChar = searchValue.substr(0, 2); + } + + var resultsPage; + var resultsPageWithSearch; + var hasResultsPage; + + var idx = indexSectionsWithContent[this.searchIndex].indexOf(idxChar); + if (idx!=-1) + { + var hexCode=idx.toString(16); + resultsPage = this.resultsPath + '/' + indexSectionNames[this.searchIndex] + '_' + hexCode + '.html'; + resultsPageWithSearch = resultsPage+'?'+escape(searchValue); + hasResultsPage = true; + } + else // nothing available for this search term + { + resultsPage = this.resultsPath + '/nomatches.html'; + resultsPageWithSearch = resultsPage; + hasResultsPage = false; + } + + window.frames.MSearchResults.location = resultsPageWithSearch; + var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow(); + + if (domPopupSearchResultsWindow.style.display!='block') + { + var domSearchBox = this.DOMSearchBox(); + this.DOMSearchClose().style.display = 'inline'; + if (this.insideFrame) + { + var domPopupSearchResults = this.DOMPopupSearchResults(); + domPopupSearchResultsWindow.style.position = 'relative'; + domPopupSearchResultsWindow.style.display = 'block'; + var width = document.body.clientWidth - 8; // the -8 is for IE :-( + domPopupSearchResultsWindow.style.width = width + 'px'; + domPopupSearchResults.style.width = width + 'px'; + } + else + { + var domPopupSearchResults = this.DOMPopupSearchResults(); + var left = getXPos(domSearchBox) + 150; // domSearchBox.offsetWidth; + var top = getYPos(domSearchBox) + 20; // domSearchBox.offsetHeight + 1; + domPopupSearchResultsWindow.style.display = 'block'; + left -= domPopupSearchResults.offsetWidth; + domPopupSearchResultsWindow.style.top = top + 'px'; + domPopupSearchResultsWindow.style.left = left + 'px'; + } + } + + this.lastSearchValue = searchValue; + this.lastResultsPage = resultsPage; + } + + // -------- Activation Functions + + // Activates or deactivates the search panel, resetting things to + // their default values if necessary. + this.Activate = function(isActive) + { + if (isActive || // open it + this.DOMPopupSearchResultsWindow().style.display == 'block' + ) + { + this.DOMSearchBox().className = 'MSearchBoxActive'; + + var searchField = this.DOMSearchField(); + + if (searchField.value == this.searchLabel) // clear "Search" term upon entry + { + searchField.value = ''; + this.searchActive = true; + } + } + else if (!isActive) // directly remove the panel + { + this.DOMSearchBox().className = 'MSearchBoxInactive'; + this.DOMSearchField().value = this.searchLabel; + this.searchActive = false; + this.lastSearchValue = '' + this.lastResultsPage = ''; + } + } +} + +// ----------------------------------------------------------------------- + +// The class that handles everything on the search results page. +function SearchResults(name) +{ + // The number of matches from the last run of . + this.lastMatchCount = 0; + this.lastKey = 0; + this.repeatOn = false; + + // Toggles the visibility of the passed element ID. + this.FindChildElement = function(id) + { + var parentElement = document.getElementById(id); + var element = parentElement.firstChild; + + while (element && element!=parentElement) + { + if (element.nodeName == 'DIV' && element.className == 'SRChildren') + { + return element; + } + + if (element.nodeName == 'DIV' && element.hasChildNodes()) + { + element = element.firstChild; + } + else if (element.nextSibling) + { + element = element.nextSibling; + } + else + { + do + { + element = element.parentNode; + } + while (element && element!=parentElement && !element.nextSibling); + + if (element && element!=parentElement) + { + element = element.nextSibling; + } + } + } + } + + this.Toggle = function(id) + { + var element = this.FindChildElement(id); + if (element) + { + if (element.style.display == 'block') + { + element.style.display = 'none'; + } + else + { + element.style.display = 'block'; + } + } + } + + // Searches for the passed string. If there is no parameter, + // it takes it from the URL query. + // + // Always returns true, since other documents may try to call it + // and that may or may not be possible. + this.Search = function(search) + { + if (!search) // get search word from URL + { + search = window.location.search; + search = search.substring(1); // Remove the leading '?' + search = unescape(search); + } + + search = search.replace(/^ +/, ""); // strip leading spaces + search = search.replace(/ +$/, ""); // strip trailing spaces + search = search.toLowerCase(); + search = convertToId(search); + + var resultRows = document.getElementsByTagName("div"); + var matches = 0; + + var i = 0; + while (i < resultRows.length) + { + var row = resultRows.item(i); + if (row.className == "SRResult") + { + var rowMatchName = row.id.toLowerCase(); + rowMatchName = rowMatchName.replace(/^sr\d*_/, ''); // strip 'sr123_' + + if (search.length<=rowMatchName.length && + rowMatchName.substr(0, search.length)==search) + { + row.style.display = 'block'; + matches++; + } + else + { + row.style.display = 'none'; + } + } + i++; + } + document.getElementById("Searching").style.display='none'; + if (matches == 0) // no results + { + document.getElementById("NoMatches").style.display='block'; + } + else // at least one result + { + document.getElementById("NoMatches").style.display='none'; + } + this.lastMatchCount = matches; + return true; + } + + // return the first item with index index or higher that is visible + this.NavNext = function(index) + { + var focusItem; + while (1) + { + var focusName = 'Item'+index; + focusItem = document.getElementById(focusName); + if (focusItem && focusItem.parentNode.parentNode.style.display=='block') + { + break; + } + else if (!focusItem) // last element + { + break; + } + focusItem=null; + index++; + } + return focusItem; + } + + this.NavPrev = function(index) + { + var focusItem; + while (1) + { + var focusName = 'Item'+index; + focusItem = document.getElementById(focusName); + if (focusItem && focusItem.parentNode.parentNode.style.display=='block') + { + break; + } + else if (!focusItem) // last element + { + break; + } + focusItem=null; + index--; + } + return focusItem; + } + + this.ProcessKeys = function(e) + { + if (e.type == "keydown") + { + this.repeatOn = false; + this.lastKey = e.keyCode; + } + else if (e.type == "keypress") + { + if (!this.repeatOn) + { + if (this.lastKey) this.repeatOn = true; + return false; // ignore first keypress after keydown + } + } + else if (e.type == "keyup") + { + this.lastKey = 0; + this.repeatOn = false; + } + return this.lastKey!=0; + } + + this.Nav = function(evt,itemIndex) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==13) return true; + if (!this.ProcessKeys(e)) return false; + + if (this.lastKey==38) // Up + { + var newIndex = itemIndex-1; + var focusItem = this.NavPrev(newIndex); + if (focusItem) + { + var child = this.FindChildElement(focusItem.parentNode.parentNode.id); + if (child && child.style.display == 'block') // children visible + { + var n=0; + var tmpElem; + while (1) // search for last child + { + tmpElem = document.getElementById('Item'+newIndex+'_c'+n); + if (tmpElem) + { + focusItem = tmpElem; + } + else // found it! + { + break; + } + n++; + } + } + } + if (focusItem) + { + focusItem.focus(); + } + else // return focus to search field + { + parent.document.getElementById("MSearchField").focus(); + } + } + else if (this.lastKey==40) // Down + { + var newIndex = itemIndex+1; + var focusItem; + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem && elem.style.display == 'block') // children visible + { + focusItem = document.getElementById('Item'+itemIndex+'_c0'); + } + if (!focusItem) focusItem = this.NavNext(newIndex); + if (focusItem) focusItem.focus(); + } + else if (this.lastKey==39) // Right + { + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem) elem.style.display = 'block'; + } + else if (this.lastKey==37) // Left + { + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem) elem.style.display = 'none'; + } + else if (this.lastKey==27) // Escape + { + parent.searchBox.CloseResultsWindow(); + parent.document.getElementById("MSearchField").focus(); + } + else if (this.lastKey==13) // Enter + { + return true; + } + return false; + } + + this.NavChild = function(evt,itemIndex,childIndex) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==13) return true; + if (!this.ProcessKeys(e)) return false; + + if (this.lastKey==38) // Up + { + if (childIndex>0) + { + var newIndex = childIndex-1; + document.getElementById('Item'+itemIndex+'_c'+newIndex).focus(); + } + else // already at first child, jump to parent + { + document.getElementById('Item'+itemIndex).focus(); + } + } + else if (this.lastKey==40) // Down + { + var newIndex = childIndex+1; + var elem = document.getElementById('Item'+itemIndex+'_c'+newIndex); + if (!elem) // last child, jump to parent next parent + { + elem = this.NavNext(itemIndex+1); + } + if (elem) + { + elem.focus(); + } + } + else if (this.lastKey==27) // Escape + { + parent.searchBox.CloseResultsWindow(); + parent.document.getElementById("MSearchField").focus(); + } + else if (this.lastKey==13) // Enter + { + return true; + } + return false; + } +} + +function setKeyActions(elem,action) +{ + elem.setAttribute('onkeydown',action); + elem.setAttribute('onkeypress',action); + elem.setAttribute('onkeyup',action); +} + +function setClassAttr(elem,attr) +{ + elem.setAttribute('class',attr); + elem.setAttribute('className',attr); +} + +function createResults() +{ + var results = document.getElementById("SRResults"); + for (var e=0; e + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/typedefs_0.js b/docs/API/search/typedefs_0.js new file mode 100644 index 0000000..0147b20 --- /dev/null +++ b/docs/API/search/typedefs_0.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['allocator_5ftype',['allocator_type',['../classnlohmann_1_1basic__json.html#ac2ba7cdee02c8dca32097093847cef4a',1,'nlohmann::basic_json']]], + ['array_5ft',['array_t',['../classnlohmann_1_1basic__json.html#a289ffe7b795d293d233d03cfc60bcd15',1,'nlohmann::basic_json']]] +]; diff --git a/docs/API/search/typedefs_1.html b/docs/API/search/typedefs_1.html new file mode 100644 index 0000000..b77c533 --- /dev/null +++ b/docs/API/search/typedefs_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/typedefs_1.js b/docs/API/search/typedefs_1.js new file mode 100644 index 0000000..9e43394 --- /dev/null +++ b/docs/API/search/typedefs_1.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['base_5fiterator',['base_iterator',['../classnlohmann_1_1basic__json_1_1json__reverse__iterator.html#a538d9aea2b1ad6e7bf2dfa81263e87b2',1,'nlohmann::basic_json::json_reverse_iterator']]], + ['boolean_5ft',['boolean_t',['../classnlohmann_1_1basic__json.html#a8fc151a08d12d6ca47c54458703e573f',1,'nlohmann::basic_json']]] +]; diff --git a/docs/API/search/typedefs_2.html b/docs/API/search/typedefs_2.html new file mode 100644 index 0000000..076311d --- /dev/null +++ b/docs/API/search/typedefs_2.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/typedefs_2.js b/docs/API/search/typedefs_2.js new file mode 100644 index 0000000..5507366 --- /dev/null +++ b/docs/API/search/typedefs_2.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['compatiblelimits',['CompatibleLimits',['../structnlohmann_1_1detail_1_1is__compatible__integer__type__impl_3_01true_00_01_real_integer_type78b0ba77f36a8c8169cdb79b01d1a4bf.html#ad1003c3bbc251486afbeb325ddb7db98',1,'nlohmann::detail::is_compatible_integer_type_impl< true, RealIntegerType, CompatibleNumberIntegerType >']]], + ['complex16',['COMPLEX16',['../common__typedef__xran_8h.html#a9806c36641a7e6dd6b59550989799d53',1,'common_typedef_xran.h']]], + ['const_5fiterator',['const_iterator',['../classnlohmann_1_1basic__json.html#aad59084c30e18d9f72bbeaea04b69c08',1,'nlohmann::basic_json']]], + ['const_5fpointer',['const_pointer',['../classnlohmann_1_1basic__json.html#a4c63dc62d030308ff89f0327e752c5e2',1,'nlohmann::basic_json']]], + ['const_5freference',['const_reference',['../classnlohmann_1_1basic__json.html#ab1137da269e66589b98fce3416d40502',1,'nlohmann::basic_json']]], + ['const_5freverse_5fiterator',['const_reverse_iterator',['../classnlohmann_1_1basic__json.html#a80e93f4899e95d7ba9f80df4c423b9d5',1,'nlohmann::basic_json']]] +]; diff --git a/docs/API/search/typedefs_3.html b/docs/API/search/typedefs_3.html new file mode 100644 index 0000000..a4a727f --- /dev/null +++ b/docs/API/search/typedefs_3.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/typedefs_3.js b/docs/API/search/typedefs_3.js new file mode 100644 index 0000000..b4cecaa --- /dev/null +++ b/docs/API/search/typedefs_3.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['difference_5ftype',['difference_type',['../classnlohmann_1_1basic__json.html#ace405568d0b2f3fad4990044252c7732',1,'nlohmann::basic_json::difference_type()'],['../classnlohmann_1_1basic__json_1_1iter__impl.html#a0a01ff9431d91494f35caf1dd4f6fac6',1,'nlohmann::basic_json::iter_impl::difference_type()']]] +]; diff --git a/docs/API/search/typedefs_4.html b/docs/API/search/typedefs_4.html new file mode 100644 index 0000000..be033cd --- /dev/null +++ b/docs/API/search/typedefs_4.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/typedefs_4.js b/docs/API/search/typedefs_4.js new file mode 100644 index 0000000..e2890ed --- /dev/null +++ b/docs/API/search/typedefs_4.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['enable_5fif_5ft',['enable_if_t',['../namespacenlohmann_1_1detail.html#a012819c9e8b5e04872a271f50f8b8196',1,'nlohmann::detail']]], + ['ethertype_5fhandler',['ethertype_handler',['../ethdi_8h.html#a7c379f4a70692477327fb1a3538cfd1e',1,'ethdi.h']]] +]; diff --git a/docs/API/search/typedefs_5.html b/docs/API/search/typedefs_5.html new file mode 100644 index 0000000..e10c325 --- /dev/null +++ b/docs/API/search/typedefs_5.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/typedefs_5.js b/docs/API/search/typedefs_5.js new file mode 100644 index 0000000..9fbbe3a --- /dev/null +++ b/docs/API/search/typedefs_5.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['half',['half',['../common__typedef__xran_8h.html#ae04954bf174dbb783b950eca2db7c15b',1,'common_typedef_xran.h']]] +]; diff --git a/docs/API/search/typedefs_6.html b/docs/API/search/typedefs_6.html new file mode 100644 index 0000000..4e206e8 --- /dev/null +++ b/docs/API/search/typedefs_6.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/typedefs_6.js b/docs/API/search/typedefs_6.js new file mode 100644 index 0000000..a915089 --- /dev/null +++ b/docs/API/search/typedefs_6.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['is_5funscoped_5fenum',['is_unscoped_enum',['../namespacenlohmann_1_1detail.html#a2286e6d77b4265b8daa7ebdb15f99f8d',1,'nlohmann::detail']]], + ['iterator',['iterator',['../classnlohmann_1_1basic__json.html#a241034c44708fd20925e6ae18efcfb56',1,'nlohmann::basic_json']]], + ['iterator_5fcategory',['iterator_category',['../classnlohmann_1_1basic__json_1_1iter__impl.html#a13fe24ca0865b19fbff05ff095c4ffea',1,'nlohmann::basic_json::iter_impl']]] +]; diff --git a/docs/API/search/typedefs_7.html b/docs/API/search/typedefs_7.html new file mode 100644 index 0000000..cc182ee --- /dev/null +++ b/docs/API/search/typedefs_7.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/typedefs_7.js b/docs/API/search/typedefs_7.js new file mode 100644 index 0000000..27bbc53 --- /dev/null +++ b/docs/API/search/typedefs_7.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['json',['json',['../common_8hpp.html#ab701e3ac61a85b337ec5c1abaad6742d',1,'json(): common.hpp'],['../namespacenlohmann.html#ae6eede511f01c9f33342044d36a388fa',1,'nlohmann::json()']]], + ['json_5fserializer',['json_serializer',['../classnlohmann_1_1basic__json.html#a0529ada731a19a6860d72dd7ca888271',1,'nlohmann::basic_json']]] +]; diff --git a/docs/API/search/typedefs_8.html b/docs/API/search/typedefs_8.html new file mode 100644 index 0000000..9379676 --- /dev/null +++ b/docs/API/search/typedefs_8.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/typedefs_8.js b/docs/API/search/typedefs_8.js new file mode 100644 index 0000000..eafe928 --- /dev/null +++ b/docs/API/search/typedefs_8.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['number_5ffloat_5ft',['number_float_t',['../classnlohmann_1_1basic__json.html#aa43a00a590f6ce46ee8ced69513ee4ef',1,'nlohmann::basic_json']]], + ['number_5finteger_5ft',['number_integer_t',['../classnlohmann_1_1basic__json.html#a4bd9b6d54deaadefc43b5c536062b792',1,'nlohmann::basic_json']]], + ['number_5funsigned_5ft',['number_unsigned_t',['../classnlohmann_1_1basic__json.html#a915185d4413599516b85993e6baaca73',1,'nlohmann::basic_json']]] +]; diff --git a/docs/API/search/typedefs_9.html b/docs/API/search/typedefs_9.html new file mode 100644 index 0000000..6f2b9ea --- /dev/null +++ b/docs/API/search/typedefs_9.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/typedefs_9.js b/docs/API/search/typedefs_9.js new file mode 100644 index 0000000..8f44ddc --- /dev/null +++ b/docs/API/search/typedefs_9.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['object_5ft',['object_t',['../classnlohmann_1_1basic__json.html#a143db8a40359a56372e21a8feea66454',1,'nlohmann::basic_json']]] +]; diff --git a/docs/API/search/typedefs_a.html b/docs/API/search/typedefs_a.html new file mode 100644 index 0000000..b897e1c --- /dev/null +++ b/docs/API/search/typedefs_a.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/typedefs_a.js b/docs/API/search/typedefs_a.js new file mode 100644 index 0000000..1de7225 --- /dev/null +++ b/docs/API/search/typedefs_a.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['parser_5fcallback_5ft',['parser_callback_t',['../classnlohmann_1_1basic__json.html#a8bcd7fb59f7978ccd8942605357fc28a',1,'nlohmann::basic_json']]], + ['phy_5fdecoder_5fpoll_5ffn',['phy_decoder_poll_fn',['../xran__fh__o__du_8h.html#a2c1d5f131c5a23d8339f1babb3b22ade',1,'xran_fh_o_du.h']]], + ['phy_5fencoder_5fpoll_5ffn',['phy_encoder_poll_fn',['../xran__fh__o__du_8h.html#adce425900af03693ff55da9deb17a679',1,'xran_fh_o_du.h']]], + ['pointer',['pointer',['../classnlohmann_1_1basic__json.html#a1e2c3fce980b34a87b95f41000e849cc',1,'nlohmann::basic_json::pointer()'],['../classnlohmann_1_1basic__json_1_1iter__impl.html#a4dddbf447cb71cb216d9e05e8b7a3eb0',1,'nlohmann::basic_json::iter_impl::pointer()']]], + ['process_5fcb',['PROCESS_CB',['../ethdi_8h.html#a8f1b290228ee37b3a5ea2282aded6664',1,'ethdi.h']]], + ['pxransectorhandleinfo',['PXranSectorHandleInfo',['../xran__common_8h.html#a28f7fce371ee51a16876af48fa1feac2',1,'xran_common.h']]] +]; diff --git a/docs/API/search/typedefs_b.html b/docs/API/search/typedefs_b.html new file mode 100644 index 0000000..23bfdac --- /dev/null +++ b/docs/API/search/typedefs_b.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/typedefs_b.js b/docs/API/search/typedefs_b.js new file mode 100644 index 0000000..b868469 --- /dev/null +++ b/docs/API/search/typedefs_b.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['reallimits',['RealLimits',['../structnlohmann_1_1detail_1_1is__compatible__integer__type__impl_3_01true_00_01_real_integer_type78b0ba77f36a8c8169cdb79b01d1a4bf.html#ab9c4451c9a268c8cb1c2a3d7fe772bbc',1,'nlohmann::detail::is_compatible_integer_type_impl< true, RealIntegerType, CompatibleNumberIntegerType >']]], + ['reference',['reference',['../classnlohmann_1_1basic__json.html#a74202cdd96628bc49a756e5fc87d22de',1,'nlohmann::basic_json::reference()'],['../classnlohmann_1_1basic__json_1_1iter__impl.html#a89a36094ec6faba74170f6ec2d41a932',1,'nlohmann::basic_json::iter_impl::reference()'],['../classnlohmann_1_1basic__json_1_1json__reverse__iterator.html#a2d0b26e9f77160f2fa35c115619b8c9c',1,'nlohmann::basic_json::json_reverse_iterator::reference()']]], + ['reverse_5fiterator',['reverse_iterator',['../classnlohmann_1_1basic__json.html#a44b6b974744b30149559c9dce91b92ec',1,'nlohmann::basic_json']]], + ['ring_5fidx',['ring_idx',['../ethernet_8c.html#a845b3b4b5f6eeeef2ffa38a0048d5969',1,'ethernet.c']]], + ['runtimeconfig',['RuntimeConfig',['../config_8h.html#af57013248b2c9c128e04d2e8ce8c93c9',1,'config.h']]] +]; diff --git a/docs/API/search/typedefs_c.html b/docs/API/search/typedefs_c.html new file mode 100644 index 0000000..28f5aad --- /dev/null +++ b/docs/API/search/typedefs_c.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/typedefs_c.js b/docs/API/search/typedefs_c.js new file mode 100644 index 0000000..d67f838 --- /dev/null +++ b/docs/API/search/typedefs_c.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['size_5ftype',['size_type',['../classnlohmann_1_1basic__json.html#af38ce1af42d538f410180c265518d4f0',1,'nlohmann::basic_json']]], + ['string_5ft',['string_t',['../classnlohmann_1_1basic__json.html#aeacc0aa4079b56866238b8845928c2b7',1,'nlohmann::basic_json']]] +]; diff --git a/docs/API/search/typedefs_d.html b/docs/API/search/typedefs_d.html new file mode 100644 index 0000000..1579482 --- /dev/null +++ b/docs/API/search/typedefs_d.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/typedefs_d.js b/docs/API/search/typedefs_d.js new file mode 100644 index 0000000..e284af7 --- /dev/null +++ b/docs/API/search/typedefs_d.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['uncvref_5ft',['uncvref_t',['../namespacenlohmann_1_1detail.html#abdf13e40e891be51aab2f16091efb71d',1,'nlohmann::detail']]] +]; diff --git a/docs/API/search/typedefs_e.html b/docs/API/search/typedefs_e.html new file mode 100644 index 0000000..f61d902 --- /dev/null +++ b/docs/API/search/typedefs_e.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/typedefs_e.js b/docs/API/search/typedefs_e.js new file mode 100644 index 0000000..e21615c --- /dev/null +++ b/docs/API/search/typedefs_e.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['value_5ft',['value_t',['../classnlohmann_1_1basic__json.html#ace569a7a0433ec013c33c927453cb727',1,'nlohmann::basic_json']]], + ['value_5ftype',['value_type',['../classnlohmann_1_1basic__json.html#a6266b89788d56d4601b357b9bf3b06d5',1,'nlohmann::basic_json::value_type()'],['../classnlohmann_1_1basic__json_1_1iter__impl.html#a2cf899dee9ae2adba7128b41ea912d6a',1,'nlohmann::basic_json::iter_impl::value_type()']]] +]; diff --git a/docs/API/search/typedefs_f.html b/docs/API/search/typedefs_f.html new file mode 100644 index 0000000..aefe575 --- /dev/null +++ b/docs/API/search/typedefs_f.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/typedefs_f.js b/docs/API/search/typedefs_f.js new file mode 100644 index 0000000..7033dfa --- /dev/null +++ b/docs/API/search/typedefs_f.js @@ -0,0 +1,17 @@ +var searchData= +[ + ['xran_5fbfp_5fcompress_5fbfw_5ffn',['xran_bfp_compress_bfw_fn',['../xran__compression_8cpp.html#a0f2b928dc9ee0b4a12e23b1eb42ec790',1,'xran_compression.cpp']]], + ['xran_5fbfp_5fcompress_5ffn',['xran_bfp_compress_fn',['../xran__compression_8cpp.html#a509c43699fac542bbef8d2be5ee693e2',1,'xran_compression.cpp']]], + ['xran_5fbfp_5fdecompress_5ffn',['xran_bfp_decompress_fn',['../xran__compression_8cpp.html#a798850dcd04a495f0e6fb9dc80b74299',1,'xran_compression.cpp']]], + ['xran_5fcallback_5fsym_5ffn',['xran_callback_sym_fn',['../xran__fh__o__du_8h.html#ad2e55b4fa82ed8c7f00e083b0406c6c8',1,'xran_fh_o_du.h']]], + ['xran_5fcc_5fhandle_5ft',['xran_cc_handle_t',['../xran__fh__o__du_8h.html#afe623da85d4542bce592f333046e2c81',1,'xran_fh_o_du.h']]], + ['xran_5fethdi_5fhandler',['xran_ethdi_handler',['../ethdi_8h.html#a3f3cb6ac70cce2db8234669b745b4538',1,'ethdi.h']]], + ['xran_5fethdi_5fmbuf_5fsend_5ffn',['xran_ethdi_mbuf_send_fn',['../xran__common_8h.html#aedb267cc96c01f38341f460932d4cc5c',1,'xran_common.h']]], + ['xran_5fethdi_5ftx_5fcallback',['xran_ethdi_tx_callback',['../ethdi_8h.html#abdeeae19de30cfa3120005562b0c4588',1,'ethdi.h']]], + ['xran_5ffh_5ftti_5fcallback_5ffn',['xran_fh_tti_callback_fn',['../xran__fh__o__du_8h.html#af48a00f171ef7a017fddd2a29f9854d0',1,'xran_fh_o_du.h']]], + ['xran_5fstatus_5ft',['xran_status_t',['../xran__fh__o__du_8h.html#aa3ceca070f84e316e0e2f6002419d572',1,'xran_fh_o_du.h']]], + ['xran_5ftransport_5fcallback_5ffn',['xran_transport_callback_fn',['../xran__fh__o__du_8h.html#ad52207145e383ae136995f5a2b7dd82d',1,'xran_fh_o_du.h']]], + ['xranlibconfigstruct',['XranLibConfigStruct',['../sample-app_8c.html#a9e73332de8429fbfbe1463ec8a596750',1,'sample-app.c']]], + ['xransectorhandleinfo',['XranSectorHandleInfo',['../xran__common_8h.html#a1b1b6d20669bcb5b9639a5f3a95052fd',1,'xran_common.h']]], + ['xransymcallbackfn',['XranSymCallbackFn',['../xran__common_8h.html#a7834322ce91726fa8a97364682c6de9d',1,'xran_common.h']]] +]; diff --git a/docs/API/search/variables_0.html b/docs/API/search/variables_0.html new file mode 100644 index 0000000..74ce807 --- /dev/null +++ b/docs/API/search/variables_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/variables_0.js b/docs/API/search/variables_0.js new file mode 100644 index 0000000..13ac911 --- /dev/null +++ b/docs/API/search/variables_0.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['_5f_5frte_5fpacked',['__rte_packed',['../group__xran__common__pkt.html#ga303c201bb1ad2f72aa29dd1375efaf72',1,'__rte_packed(): xran_pkt.h'],['../group__xran__up__pkt.html#ga303c201bb1ad2f72aa29dd1375efaf72',1,'__rte_packed(): xran_pkt_up.h']]], + ['_5feth_5fmbuf_5fpool',['_eth_mbuf_pool',['../ethernet_8c.html#a8d83e3adb6c9e839b3b7259288f100ba',1,'_eth_mbuf_pool(): ethernet.c'],['../ethernet_8h.html#a8d83e3adb6c9e839b3b7259288f100ba',1,'_eth_mbuf_pool(): ethernet.c']]], + ['_5feth_5fmbuf_5fpool_5fbig',['_eth_mbuf_pool_big',['../ethernet_8c.html#ae3907201762de3de953eb5ea9de9229a',1,'_eth_mbuf_pool_big(): ethernet.c'],['../ethernet_8h.html#ae3907201762de3de953eb5ea9de9229a',1,'_eth_mbuf_pool_big(): ethernet.c']]], + ['_5feth_5fmbuf_5fpool_5finderect',['_eth_mbuf_pool_inderect',['../ethernet_8c.html#a4454a38b3cf49dde846ab9b0e1a7ba56',1,'ethernet.c']]], + ['_5feth_5fmbuf_5fpool_5frx',['_eth_mbuf_pool_rx',['../ethernet_8c.html#a0300893b39ba152362bc3096f082d4be',1,'ethernet.c']]], + ['_5feth_5fmbuf_5fpool_5fsmall',['_eth_mbuf_pool_small',['../ethernet_8c.html#a3e5502cf11577af4893f3151eb221f75',1,'_eth_mbuf_pool_small(): ethernet.c'],['../ethernet_8h.html#a3e5502cf11577af4893f3151eb221f75',1,'_eth_mbuf_pool_small(): ethernet.c']]] +]; diff --git a/docs/API/search/variables_1.html b/docs/API/search/variables_1.html new file mode 100644 index 0000000..84237b6 --- /dev/null +++ b/docs/API/search/variables_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/variables_1.js b/docs/API/search/variables_1.js new file mode 100644 index 0000000..f815b9b --- /dev/null +++ b/docs/API/search/variables_1.js @@ -0,0 +1,17 @@ +var searchData= +[ + ['activebeamspacecoeffmask',['activeBeamspaceCoeffMask',['../structxran__sectionext1__info.html#abeddf07371133e2a155418d2ad6e6606',1,'xran_sectionext1_info']]], + ['all',['all',['../gen__test_8m.html#a4603254d9990f7140c024d51302d1a8f',1,'gen_test.m']]], + ['all_5fbits',['all_bits',['../structdata__section__hdr.html#a9f9f2f87d8b5cc7e4af6ef3e2c4c8189',1,'data_section_hdr']]], + ['all_5ftest_5fcases',['all_test_cases',['../namespacemaster.html#a4a9d33bbbfd8552574a68bf5bab018fe',1,'master']]], + ['ant',['ant',['../gen__test_8m.html#a38d2cdf58cc777c61b71dd2785d139af',1,'gen_test.m']]], + ['ant_5fc',['ant_c',['../gen__test_8m.html#aba0850eda7aea420ce9c9a1d760451ad',1,'gen_test.m']]], + ['ant_5ffile',['ant_file',['../struct___runtime_config.html#a5b68c8543d51de71f5d2aa5fa824cc5f',1,'_RuntimeConfig']]], + ['ant_5fnum',['ant_num',['../gen__test_8m.html#a549e3fface5e83cef0eb316a8b81a7f7',1,'gen_test.m']]], + ['antelmtrx',['antElmTRx',['../struct___runtime_config.html#ad0ca738be588c2a611cc3f706bfcd49e',1,'_RuntimeConfig']]], + ['antx_5f16',['antX_16',['../gen__test_8m.html#a44ac39f65dd00d0fa2f62a0175e23965',1,'gen_test.m']]], + ['app_5fhdr',['app_hdr',['../structxran__up__pkt__hdr.html#aaf6128cec538e7dde3f6a1045ea0ce54',1,'xran_up_pkt_hdr']]], + ['app_5fparams',['app_params',['../structxran__up__pkt__gen__params.html#a26f46f53ef26bc5d5f86e19a15fc356f',1,'xran_up_pkt_gen_params::app_params()'],['../structxran__up__pkt__gen__no__compression__params.html#a26f46f53ef26bc5d5f86e19a15fc356f',1,'xran_up_pkt_gen_no_compression_params::app_params()']]], + ['appmode',['appMode',['../struct___runtime_config.html#a4136346ae28fdf2f104e3eb6a9e4da63',1,'_RuntimeConfig']]], + ['argv',['argv',['../classxran_lib_wraper.html#ac6f9b50e19408f0c2efdcf7e5dd204a9',1,'xranLibWraper']]] +]; diff --git a/docs/API/search/variables_10.html b/docs/API/search/variables_10.html new file mode 100644 index 0000000..548ac84 --- /dev/null +++ b/docs/API/search/variables_10.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/variables_10.js b/docs/API/search/variables_10.js new file mode 100644 index 0000000..463c8f9 --- /dev/null +++ b/docs/API/search/variables_10.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['q_5fsample',['q_sample',['../structrb__map.html#a2689a6e20e8408a3e5a7058748c3de33',1,'rb_map']]] +]; diff --git a/docs/API/search/variables_11.html b/docs/API/search/variables_11.html new file mode 100644 index 0000000..d5be914 --- /dev/null +++ b/docs/API/search/variables_11.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/variables_11.js b/docs/API/search/variables_11.js new file mode 100644 index 0000000..27144ca --- /dev/null +++ b/docs/API/search/variables_11.js @@ -0,0 +1,46 @@ +var searchData= +[ + ['rb',['rb',['../structxran__section__info.html#affa3adbd50cd4af2018ba1fc0e8c3e31',1,'xran_section_info::rb()'],['../structxran__cp__radioapp__section__header.html#ac91b2b11ae96c1a44e8a2fad473771c7',1,'xran_cp_radioapp_section_header::rb()'],['../structxran__cp__radioapp__section6.html#affa3adbd50cd4af2018ba1fc0e8c3e31',1,'xran_cp_radioapp_section6::rb()'],['../structdata__section__hdr.html#ac91b2b11ae96c1a44e8a2fad473771c7',1,'data_section_hdr::rb()'],['../xran__pkt__cp_8h.html#affa3adbd50cd4af2018ba1fc0e8c3e31',1,'rb(): xran_pkt_cp.h']]], + ['rb_5fnum',['rb_num',['../structxran__cp__rbmap__list.html#af7735abb4d0e98bff75f6ca302402fd1',1,'xran_cp_rbmap_list']]], + ['rb_5fstart',['rb_start',['../structxran__cp__rbmap__list.html#a1e0c8aee4bb2520855c655fc3f5ddb3e',1,'xran_cp_rbmap_list']]], + ['rbnumber',['rbNumber',['../structxran__sectionext1__info.html#ad07777df733bfd87b118b5ea683fcb3b',1,'xran_sectionext1_info']]], + ['re',['re',['../struct_c_o_m_p_l_e_x32.html#aeac685ede53ad58d0e24e6c060feff7a',1,'COMPLEX32::re()'],['../structcomplex__int16__t.html#af076f3e7a3b5f655e2cb2b9c3be29b3e',1,'complex_int16_t::re()'],['../structcomplex__int32__t.html#a44e1ef2f79beb4877834c23fb4547e58',1,'complex_int32_t::re()'],['../structcomplex__float.html#aeac685ede53ad58d0e24e6c060feff7a',1,'complex_float::re()'],['../structcomplex__double.html#a5a6fce2fc5cae153945fea2c45beeb4f',1,'complex_double::re()'],['../structcomplex__half.html#afc3876dabc752cb80a88432b6456170d',1,'complex_half::re()']]], + ['read_5fhead',['read_head',['../ethernet_8c.html#a33dbe0774fc577b56bd532cf3736106e',1,'ethernet.c']]], + ['regfactor',['regFactor',['../structxran__section__info.html#aebf3365962d1bbb1b52ee9687006cbed',1,'xran_section_info']]], + ['regularizationfactor',['regularizationFactor',['../structxran__cp__radioapp__section6.html#ab73e0a6442bf42de3e9110afca7b4ec4',1,'xran_cp_radioapp_section6::regularizationFactor()'],['../xran__pkt__cp_8h.html#ab73e0a6442bf42de3e9110afca7b4ec4',1,'regularizationFactor(): xran_pkt_cp.h']]], + ['remask',['reMask',['../structxran__section__info.html#ab8acca18b930cde25e1cf85ae86c964c',1,'xran_section_info::reMask()'],['../structxran__cp__radioapp__section__header.html#aff6c92a5dba7cc22be5e23785fe5fc43',1,'xran_cp_radioapp_section_header::reMask()'],['../xran__pkt__cp_8h.html#aff6c92a5dba7cc22be5e23785fe5fc43',1,'reMask(): xran_pkt_cp.h']]], + ['repetition',['repetition',['../struct_benchmark_parameters.html#a7f1e5652bb40ab5c264473c82ac23beb',1,'BenchmarkParameters']]], + ['request',['request',['../class_u__plane_perf.html#aecd4daf2f65d0901e69252e8704aead5',1,'U_planePerf']]], + ['res',['res',['../namespacemaster.html#ad5c7a065cddc009146ea1b1192eb2102',1,'master']]], + ['reserved',['reserved',['../structxran__slot__config.html#a8d7e0415efaf6e08cb6510401f765c28',1,'xran_slot_config::reserved()'],['../structxran__cp__radioapp__section__header.html#aa43c4c21b173ada1b6b7568956f0d650',1,'xran_cp_radioapp_section_header::reserved()'],['../structxran__cp__radioapp__section0__header.html#acb7bc06bed6f6408d719334fc41698c7',1,'xran_cp_radioapp_section0_header::reserved()'],['../structxran__cp__radioapp__section1__header.html#acb7bc06bed6f6408d719334fc41698c7',1,'xran_cp_radioapp_section1_header::reserved()'],['../structxran__cp__radioapp__section3.html#aa43c4c21b173ada1b6b7568956f0d650',1,'xran_cp_radioapp_section3::reserved()'],['../structxran__cp__radioapp__section5__header.html#acb7bc06bed6f6408d719334fc41698c7',1,'xran_cp_radioapp_section5_header::reserved()'],['../structxran__cp__radioapp__section6__header.html#acb7bc06bed6f6408d719334fc41698c7',1,'xran_cp_radioapp_section6_header::reserved()'],['../structxran__cp__radioapp__section6.html#acb7bc06bed6f6408d719334fc41698c7',1,'xran_cp_radioapp_section6::reserved()'],['../structxran__cp__radioapp__section7__header.html#a5a6ed8c04a3db86066924b1a1bf4dad3',1,'xran_cp_radioapp_section7_header::reserved()'],['../structcompression__params_1_1block__fl__point.html#acb7bc06bed6f6408d719334fc41698c7',1,'compression_params::block_fl_point::reserved()'],['../xran__pkt__cp_8h.html#a5a6ed8c04a3db86066924b1a1bf4dad3',1,'reserved(): xran_pkt_cp.h']]], + ['reserved0',['reserved0',['../structxran__cp__radioapp__section__ext3__first.html#aed93283265f941dc1d2bf8d634164493',1,'xran_cp_radioapp_section_ext3_first::reserved0()'],['../structxran__cp__radioapp__section__ext5.html#aed93283265f941dc1d2bf8d634164493',1,'xran_cp_radioapp_section_ext5::reserved0()'],['../xran__pkt__cp_8h.html#aed93283265f941dc1d2bf8d634164493',1,'reserved0(): xran_pkt_cp.h']]], + ['reserved1',['reserved1',['../structxran__cp__radioapp__section__ext3__first.html#aef9bb556c1530f5d648fd57e73b9a105',1,'xran_cp_radioapp_section_ext3_first::reserved1()'],['../xran__pkt__cp_8h.html#aef9bb556c1530f5d648fd57e73b9a105',1,'reserved1(): xran_pkt_cp.h']]], + ['reserved2',['reserved2',['../structxran__cp__radioapp__section__ext3__first.html#a0fc429b055e74830a4583ec37f5c3846',1,'xran_cp_radioapp_section_ext3_first::reserved2()'],['../xran__pkt__cp_8h.html#a0fc429b055e74830a4583ec37f5c3846',1,'reserved2(): xran_pkt_cp.h']]], + ['response',['response',['../class_u__plane_perf.html#a73f283dac7c232619e62aba3cab7e0b1',1,'U_planePerf']]], + ['result_5funits',['result_units',['../class_kernel_tests.html#a0f6b306c821273c76461f8799c5d4d4c',1,'KernelTests']]], + ['rsrvd',['rsrvd',['../structdata__section__compression__hdr.html#a73f8c890ac5a8af7cfe4947d2205e3ee',1,'data_section_compression_hdr']]], + ['rsv',['rsv',['../struct_f_p_g_a_phase_comp_cfg.html#a5c5d68350191dc26727218ef0ce86f1d',1,'FPGAPhaseCompCfg']]], + ['ru_5fconf',['ru_conf',['../structxran__fh__config.html#a27ff648f80c139235421b81f957fcb7e',1,'xran_fh_config']]], + ['ru_5fport_5fid',['ru_port_id',['../structxran__prb__map.html#a16b7b2d1f57da5ed39e7e3a026592a85',1,'xran_prb_map']]], + ['ruportid',['ruPortId',['../structxran__eaxc__info.html#afb85286a39539b98fa09e33ccfa6226b',1,'xran_eaxc_info']]], + ['rx_5fbuffer_5fsize',['rx_buffer_size',['../common_8c.html#ac33fae2fa6f1f85b151fe0d60c132931',1,'rx_buffer_size(): common.c'],['../common_8h.html#ac33fae2fa6f1f85b151fe0d60c132931',1,'rx_buffer_size(): common.c']]], + ['rx_5fbytes_5fcounter',['rx_bytes_counter',['../sample-app_8c.html#af2fff595280c3b2999bfa40d7beafadf',1,'rx_bytes_counter(): xran_common.c'],['../xran__common_8c.html#af2fff595280c3b2999bfa40d7beafadf',1,'rx_bytes_counter(): xran_common.c'],['../xran__common_8h.html#af2fff595280c3b2999bfa40d7beafadf',1,'rx_bytes_counter(): xran_common.c']]], + ['rx_5fbytes_5fper_5fsec',['rx_bytes_per_sec',['../sample-app_8c.html#adc695e955f335d5dedb486ce89a4e0b3',1,'rx_bytes_per_sec(): xran_common.c'],['../xran__common_8c.html#adc695e955f335d5dedb486ce89a4e0b3',1,'rx_bytes_per_sec(): xran_common.c'],['../xran__common_8h.html#adc695e955f335d5dedb486ce89a4e0b3',1,'rx_bytes_per_sec(): xran_common.c']]], + ['rx_5fcorrupt',['Rx_corrupt',['../structxran__common__counters.html#af07bbcc73027d046cf79aaeeaea95d28',1,'xran_common_counters']]], + ['rx_5fcounter',['rx_counter',['../sample-app_8c.html#a9e6e93a89aa6750e04b8249db2d8ad2a',1,'rx_counter(): xran_common.c'],['../xran__common_8c.html#a9e6e93a89aa6750e04b8249db2d8ad2a',1,'rx_counter(): xran_common.c'],['../xran__common_8h.html#a9e6e93a89aa6750e04b8249db2d8ad2a',1,'rx_counter(): xran_common.c']]], + ['rx_5fdl_5fbfw_5fbuffer_5fposition',['rx_dl_bfw_buffer_position',['../common_8c.html#a69ceaec7b612ecba9628a4a078ff319a',1,'rx_dl_bfw_buffer_position(): common.c'],['../common_8h.html#a69ceaec7b612ecba9628a4a078ff319a',1,'rx_dl_bfw_buffer_position(): common.c']]], + ['rx_5fdl_5fbfw_5fbuffer_5fsize',['rx_dl_bfw_buffer_size',['../common_8c.html#a75c2080232a140585589adea6b446d61',1,'rx_dl_bfw_buffer_size(): common.c'],['../common_8h.html#a75c2080232a140585589adea6b446d61',1,'rx_dl_bfw_buffer_size(): common.c']]], + ['rx_5fearly',['Rx_early',['../structxran__common__counters.html#a1b07b459f4a9596d5c4a615d9e47fea2',1,'xran_common_counters']]], + ['rx_5flate',['Rx_late',['../structxran__common__counters.html#a2c33ad6e68efd74811ca61eada4f52f2',1,'xran_common_counters']]], + ['rx_5flog_5fbuffer_5fposition',['rx_log_buffer_position',['../common_8c.html#adb25475aaf7dcca7350334f201c161c4',1,'rx_log_buffer_position(): common.c'],['../common_8h.html#adb25475aaf7dcca7350334f201c161c4',1,'rx_log_buffer_position(): common.c']]], + ['rx_5flog_5fbuffer_5fsize',['rx_log_buffer_size',['../common_8c.html#abc08d2b5f2da30c4a1e5d258dfe8dfc7',1,'rx_log_buffer_size(): common.c'],['../common_8h.html#abc08d2b5f2da30c4a1e5d258dfe8dfc7',1,'rx_log_buffer_size(): common.c']]], + ['rx_5fon_5ftime',['Rx_on_time',['../structxran__common__counters.html#a6094e9310d30333fffbdeec6da91007c',1,'xran_common_counters']]], + ['rx_5fpacket_5fcallback_5ftracker',['rx_packet_callback_tracker',['../structxran__device__ctx.html#ae3228d07f4ce31d4707fd5934fb8ec03',1,'xran_device_ctx']]], + ['rx_5fpacket_5fprach_5fcallback_5ftracker',['rx_packet_prach_callback_tracker',['../structxran__device__ctx.html#a828091ca5ff40ad8918ace1376d25c05',1,'xran_device_ctx']]], + ['rx_5fpacket_5fprach_5ftracker',['rx_packet_prach_tracker',['../structxran__device__ctx.html#a62f6979f35115d4c857e734d875be5df',1,'xran_device_ctx']]], + ['rx_5fpacket_5fsymb_5ftracker',['rx_packet_symb_tracker',['../structxran__device__ctx.html#a016b606244b631c62b0bad792717a27c',1,'xran_device_ctx']]], + ['rx_5fpkt_5fdupl',['Rx_pkt_dupl',['../structxran__common__counters.html#a98356b862ea13ddc58a1378a67c4bf8e',1,'xran_common_counters']]], + ['rx_5fring',['rx_ring',['../structxran__ethdi__ctx.html#a252aa4a41dea61041edb525c4190651b',1,'xran_ethdi_ctx']]], + ['rx_5ful_5fbfw_5fbuffer_5fposition',['rx_ul_bfw_buffer_position',['../common_8c.html#a49b46cf2c43d8dade13dce8a3e3cdba9',1,'rx_ul_bfw_buffer_position(): common.c'],['../common_8h.html#a49b46cf2c43d8dade13dce8a3e3cdba9',1,'rx_ul_bfw_buffer_position(): common.c']]], + ['rx_5ful_5fbfw_5fbuffer_5fsize',['rx_ul_bfw_buffer_size',['../common_8c.html#ada292a2cdef3b215f7a2f0e84c8c027c',1,'rx_ul_bfw_buffer_size(): common.c'],['../common_8h.html#ada292a2cdef3b215f7a2f0e84c8c027c',1,'rx_ul_bfw_buffer_size(): common.c']]] +]; diff --git a/docs/API/search/variables_12.html b/docs/API/search/variables_12.html new file mode 100644 index 0000000..b62e1ee --- /dev/null +++ b/docs/API/search/variables_12.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/variables_12.js b/docs/API/search/variables_12.js new file mode 100644 index 0000000..8a8a13e --- /dev/null +++ b/docs/API/search/variables_12.js @@ -0,0 +1,77 @@ +var searchData= +[ + ['s0',['s0',['../structxran__cp__radioapp__section__header.html#a95e0dae95f44e3f580dba1f14119b6f8',1,'xran_cp_radioapp_section_header::s0()'],['../xran__pkt__cp_8h.html#a4b39e0bd755009987ba524eeb2dc498c',1,'s0(): xran_pkt_cp.h']]], + ['s1',['s1',['../structxran__cp__radioapp__section__header.html#a2f522ea9e50aa828de1bbafaecc329b7',1,'xran_cp_radioapp_section_header::s1()'],['../xran__pkt__cp_8h.html#a3acb089c3231d11a0b19b211a4064858',1,'s1(): xran_pkt_cp.h']]], + ['s3',['s3',['../structxran__cp__radioapp__section__header.html#a2af8f4835a40414cf6f7950baafd76cf',1,'xran_cp_radioapp_section_header::s3()'],['../xran__pkt__cp_8h.html#a4127e3fdcd37be2355359a4d62704f29',1,'s3(): xran_pkt_cp.h']]], + ['s5',['s5',['../structxran__cp__radioapp__section__header.html#a5ab4ec89c9271cd004625b947af0dc3b',1,'xran_cp_radioapp_section_header::s5()'],['../xran__pkt__cp_8h.html#a530893d11c684e6332abc2c8f08062fb',1,'s5(): xran_pkt_cp.h']]], + ['sblockscaler',['sblockScaler',['../structcompression__params_1_1block__scaling.html#ab6bae75214b448e20540a986ed4bc760',1,'compression_params::block_scaling']]], + ['sbufferlist',['sBufferList',['../struct_bbu_io_buf_ctrl_struct.html#ab79185e465507117d7b13fd30ec49f70',1,'BbuIoBufCtrlStruct']]], + ['scs',['scs',['../structxran__cp__header__params.html#ae470e3869d1cbf07cd5f78ab6709b9e1',1,'xran_cp_header_params']]], + ['sec_5fdesc',['sec_desc',['../structxran__section__info.html#ae87ace79c701c8bafa8ed69be03b9542',1,'xran_section_info']]], + ['sec_5fhdr',['sec_hdr',['../structxran__up__pkt__gen__params.html#ae5c4194f5046a89d06534a69775c1cab',1,'xran_up_pkt_gen_params::sec_hdr()'],['../structxran__up__pkt__gen__no__compression__params.html#ae5c4194f5046a89d06534a69775c1cab',1,'xran_up_pkt_gen_no_compression_params::sec_hdr()']]], + ['sect_5fid',['sect_id',['../structdata__section__hdr.html#a11d1616fb975ccafbc33ab590fe501c4',1,'data_section_hdr']]], + ['section_5fid',['section_id',['../structxran__section__desc.html#aa82fd2a2292b3c25c7027b898fa53815',1,'xran_section_desc']]], + ['sectionid',['sectionId',['../structxran__cp__radioapp__section__header.html#a9a83cf1c3a2706e565cbbd8a6e3af8b2',1,'xran_cp_radioapp_section_header::sectionId()'],['../xran__pkt__cp_8h.html#a9a83cf1c3a2706e565cbbd8a6e3af8b2',1,'sectionId(): xran_pkt_cp.h']]], + ['sections',['sections',['../structxran__cp__gen__params.html#a5921f2439294279b8111fed577c5c37a',1,'xran_cp_gen_params']]], + ['sectiontype',['sectionType',['../structxran__cp__gen__params.html#ae273caa235b1c6085de4ad13886f82c9',1,'xran_cp_gen_params::sectionType()'],['../structxran__cp__radioapp__common__header.html#ae273caa235b1c6085de4ad13886f82c9',1,'xran_cp_radioapp_common_header::sectionType()'],['../xran__pkt__cp_8h.html#ae273caa235b1c6085de4ad13886f82c9',1,'sectionType(): xran_pkt_cp.h']]], + ['sector_5fid',['sector_id',['../structxran__fh__config.html#ad972d84bc9f4c3d7714a3e398abb2a82',1,'xran_fh_config::sector_id()'],['../structxran__device__ctx.html#a863c2e1054bcd2fb5d3a9edcfac2fd8e',1,'xran_device_ctx::sector_id()']]], + ['send_5fcpmbuf2ring',['send_cpmbuf2ring',['../structxran__device__ctx.html#ad4eb63363a7e445e90ea75b8e99efaad',1,'xran_device_ctx']]], + ['send_5fupmbuf2ring',['send_upmbuf2ring',['../structxran__device__ctx.html#a77daaa6043406a5924fd69b2dd42571e',1,'xran_device_ctx']]], + ['seq_5fid',['seq_id',['../structecpri__seq__id.html#a2f25460e9a84fe459a874b8255ed4c71',1,'ecpri_seq_id::seq_id()'],['../structxran__recv__packet__info.html#ad03f3906ca027603299130f471bbdfe3',1,'xran_recv_packet_info::seq_id()']]], + ['sf_5fslot_5fsym',['sf_slot_sym',['../structradio__app__common__hdr.html#a9beac05a1b301143744ef1968d01cc55',1,'radio_app_common_hdr']]], + ['sfhprachrxbbuiobufctrl',['sFHPrachRxBbuIoBufCtrl',['../struct_bbu_xran_io_if_struct.html#a4bcca72021c589be2adf3647647a1232',1,'BbuXranIoIfStruct::sFHPrachRxBbuIoBufCtrl()'],['../structxran__device__ctx.html#a4bcca72021c589be2adf3647647a1232',1,'xran_device_ctx::sFHPrachRxBbuIoBufCtrl()'],['../class_init___sys___check.html#a4bcca72021c589be2adf3647647a1232',1,'Init_Sys_Check::sFHPrachRxBbuIoBufCtrl()']]], + ['sfhprachrxbuffers',['sFHPrachRxBuffers',['../struct_bbu_xran_io_if_struct.html#a7976d6beded6455154f323e1e542f085',1,'BbuXranIoIfStruct::sFHPrachRxBuffers()'],['../structxran__device__ctx.html#a7976d6beded6455154f323e1e542f085',1,'xran_device_ctx::sFHPrachRxBuffers()'],['../class_init___sys___check.html#a7976d6beded6455154f323e1e542f085',1,'Init_Sys_Check::sFHPrachRxBuffers()']]], + ['sfhsrsrxbbuiobufctrl',['sFHSrsRxBbuIoBufCtrl',['../struct_bbu_xran_io_if_struct.html#a8d643c55cfe976d88d44beefc0af0dff',1,'BbuXranIoIfStruct::sFHSrsRxBbuIoBufCtrl()'],['../structxran__device__ctx.html#a8d643c55cfe976d88d44beefc0af0dff',1,'xran_device_ctx::sFHSrsRxBbuIoBufCtrl()']]], + ['sfhsrsrxbuffers',['sFHSrsRxBuffers',['../struct_bbu_xran_io_if_struct.html#a8d0c3597635cdeb50f50f5c43d36e875',1,'BbuXranIoIfStruct::sFHSrsRxBuffers()'],['../structxran__device__ctx.html#a8d0c3597635cdeb50f50f5c43d36e875',1,'xran_device_ctx::sFHSrsRxBuffers()']]], + ['sfronthaulrxbbuiobufctrl',['sFrontHaulRxBbuIoBufCtrl',['../struct_bbu_xran_io_if_struct.html#af3ad0b6136919aabcdbac46b754aa7ed',1,'BbuXranIoIfStruct::sFrontHaulRxBbuIoBufCtrl()'],['../structxran__device__ctx.html#af3ad0b6136919aabcdbac46b754aa7ed',1,'xran_device_ctx::sFrontHaulRxBbuIoBufCtrl()'],['../class_init___sys___check.html#af3ad0b6136919aabcdbac46b754aa7ed',1,'Init_Sys_Check::sFrontHaulRxBbuIoBufCtrl()']]], + ['sfronthaulrxbuffers',['sFrontHaulRxBuffers',['../struct_bbu_xran_io_if_struct.html#a1dfd09a710fa1cf63f61883a284a5f0f',1,'BbuXranIoIfStruct::sFrontHaulRxBuffers()'],['../structxran__device__ctx.html#a1dfd09a710fa1cf63f61883a284a5f0f',1,'xran_device_ctx::sFrontHaulRxBuffers()'],['../class_init___sys___check.html#a1dfd09a710fa1cf63f61883a284a5f0f',1,'Init_Sys_Check::sFrontHaulRxBuffers()']]], + ['sfronthaulrxprbmapbbuiobufctrl',['sFrontHaulRxPrbMapBbuIoBufCtrl',['../struct_bbu_xran_io_if_struct.html#a3bfdc9ec9f4c738715460ddd03f0833f',1,'BbuXranIoIfStruct::sFrontHaulRxPrbMapBbuIoBufCtrl()'],['../structxran__device__ctx.html#a3bfdc9ec9f4c738715460ddd03f0833f',1,'xran_device_ctx::sFrontHaulRxPrbMapBbuIoBufCtrl()'],['../class_init___sys___check.html#a3bfdc9ec9f4c738715460ddd03f0833f',1,'Init_Sys_Check::sFrontHaulRxPrbMapBbuIoBufCtrl()']]], + ['sfronthaulrxprbmapbuffers',['sFrontHaulRxPrbMapBuffers',['../struct_bbu_xran_io_if_struct.html#a416ab9567cd2c1bed5a500644fce9a04',1,'BbuXranIoIfStruct::sFrontHaulRxPrbMapBuffers()'],['../structxran__device__ctx.html#a0c71464127a5828784d5775051f134d6',1,'xran_device_ctx::sFrontHaulRxPrbMapBuffers()'],['../class_init___sys___check.html#a416ab9567cd2c1bed5a500644fce9a04',1,'Init_Sys_Check::sFrontHaulRxPrbMapBuffers()']]], + ['sfronthaultxbbuiobufctrl',['sFrontHaulTxBbuIoBufCtrl',['../struct_bbu_xran_io_if_struct.html#aeb7832eb5f4721f4a281feaacd1bb466',1,'BbuXranIoIfStruct::sFrontHaulTxBbuIoBufCtrl()'],['../structxran__device__ctx.html#aeb7832eb5f4721f4a281feaacd1bb466',1,'xran_device_ctx::sFrontHaulTxBbuIoBufCtrl()'],['../class_init___sys___check.html#aeb7832eb5f4721f4a281feaacd1bb466',1,'Init_Sys_Check::sFrontHaulTxBbuIoBufCtrl()']]], + ['sfronthaultxbuffers',['sFrontHaulTxBuffers',['../struct_bbu_xran_io_if_struct.html#a9ef97a8be35f99eec4b85d06a3216762',1,'BbuXranIoIfStruct::sFrontHaulTxBuffers()'],['../structxran__device__ctx.html#a9ef97a8be35f99eec4b85d06a3216762',1,'xran_device_ctx::sFrontHaulTxBuffers()'],['../class_init___sys___check.html#a9ef97a8be35f99eec4b85d06a3216762',1,'Init_Sys_Check::sFrontHaulTxBuffers()']]], + ['sfronthaultxprbmapbbuiobufctrl',['sFrontHaulTxPrbMapBbuIoBufCtrl',['../struct_bbu_xran_io_if_struct.html#a964fb75fa6395056fade4167354019f5',1,'BbuXranIoIfStruct::sFrontHaulTxPrbMapBbuIoBufCtrl()'],['../structxran__device__ctx.html#a964fb75fa6395056fade4167354019f5',1,'xran_device_ctx::sFrontHaulTxPrbMapBbuIoBufCtrl()'],['../class_init___sys___check.html#a964fb75fa6395056fade4167354019f5',1,'Init_Sys_Check::sFrontHaulTxPrbMapBbuIoBufCtrl()']]], + ['sfronthaultxprbmapbuffers',['sFrontHaulTxPrbMapBuffers',['../struct_bbu_xran_io_if_struct.html#a511190592ad97b9f7a43ad31c761ff56',1,'BbuXranIoIfStruct::sFrontHaulTxPrbMapBuffers()'],['../structxran__device__ctx.html#ad1cf1b34ac94d618897d8767cbfc7c44',1,'xran_device_ctx::sFrontHaulTxPrbMapBuffers()'],['../class_init___sys___check.html#a511190592ad97b9f7a43ad31c761ff56',1,'Init_Sys_Check::sFrontHaulTxPrbMapBuffers()']]], + ['skiptti',['SkipTti',['../structxran__device__ctx.html#abd4614a35f8f2cba7d7a671c9e545573',1,'xran_device_ctx']]], + ['slot_5fid',['slot_id',['../structradio__app__common__hdr.html#a02c1d0a330aa46a1bfee985080d93cd4',1,'radio_app_common_hdr']]], + ['slotid',['slotId',['../structxran__cp__header__params.html#a0eb3f725109bb1afb9094b025af26678',1,'xran_cp_header_params::slotId()'],['../structxran__cp__radioapp__common__header.html#ae287404c8c0fa4fb464abf8f6a516346',1,'xran_cp_radioapp_common_header::slotId()'],['../xran__pkt__cp_8h.html#ae287404c8c0fa4fb464abf8f6a516346',1,'slotId(): xran_pkt_cp.h']]], + ['slotiid',['slotiId',['../structxran__cb__tag.html#a88d73cc1cc6695b6e27bad4609d887e1',1,'xran_cb_tag']]], + ['slotnr',['slotNr',['../structx_r_a_n_prach_config_table_struct.html#a48f74053065142fe9cffa09c460965e1',1,'xRANPrachConfigTableStruct']]], + ['slotnrnum',['slotNrNum',['../structx_r_a_n_prach_config_table_struct.html#ad86e3c05257c9e5fbfce20441a48fdec',1,'xRANPrachConfigTableStruct']]], + ['socket_5fdirect_5fpool',['socket_direct_pool',['../ethernet_8c.html#a9b3ca6fe25e72be5c4fd7a95f92d174f',1,'socket_direct_pool(): ethernet.c'],['../ethernet_8h.html#a9b3ca6fe25e72be5c4fd7a95f92d174f',1,'socket_direct_pool(): ethernet.c']]], + ['socket_5findirect_5fpool',['socket_indirect_pool',['../ethernet_8c.html#adb2e2732725779d167cb43cb9ecac924',1,'socket_indirect_pool(): ethernet.c'],['../ethernet_8h.html#adb2e2732725779d167cb43cb9ecac924',1,'socket_indirect_pool(): ethernet.c']]], + ['source_5fid',['source_id',['../structethdi__hdr.html#af8997c5cd725a1ef652639c2d33b7990',1,'ethdi_hdr']]], + ['srs_5fcfg',['srs_cfg',['../structxran__device__ctx.html#a0dc2f992bcfe4f620d6ce2e969986d5c',1,'xran_device_ctx']]], + ['srs_5fconf',['srs_conf',['../structxran__fh__config.html#a418f7a13335ab7fbfb840bae611ed0e5',1,'xran_fh_config']]], + ['srs_5flog_5fbuffer_5fposition',['srs_log_buffer_position',['../common_8c.html#a54295c1c12a237fac044d84d8c0ff0d9',1,'srs_log_buffer_position(): common.c'],['../common_8h.html#a54295c1c12a237fac044d84d8c0ff0d9',1,'srs_log_buffer_position(): common.c']]], + ['srs_5flog_5fbuffer_5fsize',['srs_log_buffer_size',['../common_8c.html#a9903f17a482557ec30123a63d9f52c7f',1,'srs_log_buffer_size(): common.c'],['../common_8h.html#a9903f17a482557ec30123a63d9f52c7f',1,'srs_log_buffer_size(): common.c']]], + ['srsenable',['srsEnable',['../structxran__fh__init.html#a367975ed81727c2747411672f73b2754',1,'xran_fh_init']]], + ['srssymmask',['srsSymMask',['../struct___runtime_config.html#ac8db74934b603e276bbe8d5bf14e8333',1,'_RuntimeConfig']]], + ['sslotconfig',['sSlotConfig',['../struct___runtime_config.html#a4664e9a9005020b4a98ada2d256906e2',1,'_RuntimeConfig::sSlotConfig()'],['../structxran__frame__config.html#a4664e9a9005020b4a98ada2d256906e2',1,'xran_frame_config::sSlotConfig()']]], + ['start_5fprbu',['start_prbu',['../structdata__section__hdr.html#a486aca552c11b7046ca3066ebf4241dc',1,'data_section_hdr']]], + ['start_5fsym_5fid',['start_sym_id',['../structxran__prb__map.html#afc7dda8bf6b9a76f94c88c3610d9c594',1,'xran_prb_map']]], + ['start_5ftime',['START_TIME',['../namespacemaster.html#a929ac850002f98328306afef36bad843',1,'master']]], + ['startingsym',['startingSym',['../structx_r_a_n_prach_config_table_struct.html#a232bf4a599983638ff369472234af97c',1,'xRANPrachConfigTableStruct']]], + ['startprbc',['startPrbc',['../structxran__section__info.html#a6b13285aabf8f2f4598143b2670204c1',1,'xran_section_info::startPrbc()'],['../structxran__cp__radioapp__section__header.html#a94a428ce385fe1757f5de40003b85030',1,'xran_cp_radioapp_section_header::startPrbc()'],['../structxran__prach__cp__config.html#a6b13285aabf8f2f4598143b2670204c1',1,'xran_prach_cp_config::startPrbc()'],['../xran__pkt__cp_8h.html#a94a428ce385fe1757f5de40003b85030',1,'startPrbc(): xran_pkt_cp.h']]], + ['startprbch',['startPrbch',['../structxran__cp__radioapp__section6.html#a02b265f2198407df96202e1dfdc5c7dd',1,'xran_cp_radioapp_section6::startPrbch()'],['../xran__pkt__cp_8h.html#a02b265f2198407df96202e1dfdc5c7dd',1,'startPrbch(): xran_pkt_cp.h']]], + ['startprbcl',['startPrbcl',['../structxran__cp__radioapp__section6.html#ae0ba1ea05777c0190eb5d898d177f37d',1,'xran_cp_radioapp_section6::startPrbcl()'],['../xran__pkt__cp_8h.html#ae0ba1ea05777c0190eb5d898d177f37d',1,'startPrbcl(): xran_pkt_cp.h']]], + ['startsymbolid',['startSymbolId',['../structxran__cp__radioapp__common__header.html#a158cc4eb9be778527f9afe0bf9df19e0',1,'xran_cp_radioapp_common_header::startSymbolId()'],['../xran__pkt__cp_8h.html#a158cc4eb9be778527f9afe0bf9df19e0',1,'startSymbolId(): xran_pkt_cp.h']]], + ['startsymid',['startSymId',['../structxran__section__info.html#ac54814779041bec5dcf8aec288d69b06',1,'xran_section_info::startSymId()'],['../structxran__cp__header__params.html#ac54814779041bec5dcf8aec288d69b06',1,'xran_cp_header_params::startSymId()'],['../structxran__prach__cp__config.html#ac54814779041bec5dcf8aec288d69b06',1,'xran_prach_cp_config::startSymId()']]], + ['startupconfiguration',['startupConfiguration',['../sample-app_8c.html#aa2ff8adc05857ee86fea1fcff787290b',1,'sample-app.c']]], + ['state',['state',['../common_8c.html#a9dc062894f50c14d43977487568e69bc',1,'state(): sample-app.c'],['../sample-app_8c.html#a9dc062894f50c14d43977487568e69bc',1,'state(): sample-app.c']]], + ['sub_5fseq_5fid',['sub_seq_id',['../structecpri__seq__id.html#aaf017ad0a1905951403eb33265ffbb4c',1,'ecpri_seq_id']]], + ['subframe_5fid',['subframe_id',['../structradio__app__common__hdr.html#a2c655c9f7a861ed572ea29f90392edda',1,'radio_app_common_hdr']]], + ['subframeid',['subframeId',['../structxran__cp__header__params.html#a45cd2998ed056e5139a76bf36053ed14',1,'xran_cp_header_params::subframeId()'],['../structxran__cp__radioapp__common__header.html#aa948cf928c529d24f8d536fb480094f2',1,'xran_cp_radioapp_common_header::subframeId()'],['../xran__pkt__cp_8h.html#aa948cf928c529d24f8d536fb480094f2',1,'subframeId(): xran_pkt_cp.h']]], + ['subseq_5fid',['subseq_id',['../structxran__recv__packet__info.html#a860ee826897d09d78f35d2b15085efac',1,'xran_recv_packet_info']]], + ['sulflag',['SULFlag',['../struct_f_p_g_a_phase_comp_cfg.html#a4815820879b084312800d26c1072a38c',1,'FPGAPhaseCompCfg']]], + ['sulfreshift',['SULFreShift',['../struct_f_p_g_a_phase_comp_cfg.html#a70a3677b8445208f3b3b1dc5e39c2be0',1,'FPGAPhaseCompCfg']]], + ['sym_5finc',['sym_inc',['../structdata__section__hdr.html#aba23e80ad7dc1c3f7085ba3a2b4662bb',1,'data_section_hdr']]], + ['sym_5fnum',['sym_num',['../structxran__cp__rbmap__list.html#aa3855fbdf569667bde1830fe8033078a',1,'xran_cp_rbmap_list']]], + ['sym_5fstart',['sym_start',['../structxran__cp__rbmap__list.html#a23b2201c117393dd97c63e750e211d57',1,'xran_cp_rbmap_list']]], + ['sym_5fup',['sym_up',['../structxran__device__ctx.html#ae3f1b1cbdaabdcfb693b93d75d4a9972',1,'xran_device_ctx']]], + ['sym_5fup_5ful',['sym_up_ul',['../structxran__device__ctx.html#a7986392c9b5ba31ca86b38401d940baa',1,'xran_device_ctx']]], + ['symb_5fid',['symb_id',['../structradio__app__common__hdr.html#acbbef8fd7acac33a2a461e15a43112ba',1,'radio_app_common_hdr']]], + ['symbmask',['symbMask',['../structxran__srs__config.html#a47592bac9bb3ddd09772d5385ffdd508',1,'xran_srs_config']]], + ['symbol',['symbol',['../structxran__cb__tag.html#a0a81ee27053a63e71a6c7db060562eb0',1,'xran_cb_tag']]], + ['syminc',['symInc',['../structxran__section__info.html#a52f6623d45fec4bf9c14898f7e53db34',1,'xran_section_info::symInc()'],['../structxran__cp__radioapp__section__header.html#a9f989befc2b337ff570354389880d2b6',1,'xran_cp_radioapp_section_header::symInc()'],['../structxran__cp__radioapp__section6.html#a52f6623d45fec4bf9c14898f7e53db34',1,'xran_cp_radioapp_section6::symInc()'],['../xran__pkt__cp_8h.html#a52f6623d45fec4bf9c14898f7e53db34',1,'symInc(): xran_pkt_cp.h']]], + ['system_5fcore',['system_core',['../structxran__io__cfg.html#a727bdc89e33bfc7d18dfaf166d46598a',1,'xran_io_cfg::system_core()'],['../structxran__io__loop__cfg.html#ad541922317ba6249ed0d3d0c333cfad0',1,'xran_io_loop_cfg::system_core()']]] +]; diff --git a/docs/API/search/variables_13.html b/docs/API/search/variables_13.html new file mode 100644 index 0000000..15437be --- /dev/null +++ b/docs/API/search/variables_13.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/variables_13.js b/docs/API/search/variables_13.js new file mode 100644 index 0000000..7f737c9 --- /dev/null +++ b/docs/API/search/variables_13.js @@ -0,0 +1,61 @@ +var searchData= +[ + ['t1a_5fmax_5fcp_5fdl',['T1a_max_cp_dl',['../struct___runtime_config.html#a6080f8ca5894be470378d6f265c1f665',1,'_RuntimeConfig::T1a_max_cp_dl()'],['../structxran__fh__init.html#a6080f8ca5894be470378d6f265c1f665',1,'xran_fh_init::T1a_max_cp_dl()']]], + ['t1a_5fmax_5fcp_5ful',['T1a_max_cp_ul',['../struct___runtime_config.html#a71254f497cb48a57b123c7f4897b7a38',1,'_RuntimeConfig::T1a_max_cp_ul()'],['../structxran__fh__init.html#a71254f497cb48a57b123c7f4897b7a38',1,'xran_fh_init::T1a_max_cp_ul()']]], + ['t1a_5fmax_5fup',['T1a_max_up',['../struct___runtime_config.html#a76ae7531da0aa8656d95c194f1e75b0f',1,'_RuntimeConfig::T1a_max_up()'],['../structxran__fh__init.html#a76ae7531da0aa8656d95c194f1e75b0f',1,'xran_fh_init::T1a_max_up()']]], + ['t1a_5fmin_5fcp_5fdl',['T1a_min_cp_dl',['../struct___runtime_config.html#a73b80929304dcde73f2c2f6d4f7448fa',1,'_RuntimeConfig::T1a_min_cp_dl()'],['../structxran__fh__init.html#a73b80929304dcde73f2c2f6d4f7448fa',1,'xran_fh_init::T1a_min_cp_dl()']]], + ['t1a_5fmin_5fcp_5ful',['T1a_min_cp_ul',['../struct___runtime_config.html#ab2d0817976952478020b3437b3dbbfc3',1,'_RuntimeConfig::T1a_min_cp_ul()'],['../structxran__fh__init.html#ab2d0817976952478020b3437b3dbbfc3',1,'xran_fh_init::T1a_min_cp_ul()']]], + ['t1a_5fmin_5fup',['T1a_min_up',['../struct___runtime_config.html#a0447175262da4e12814983c97d73ad21',1,'_RuntimeConfig::T1a_min_up()'],['../structxran__fh__init.html#a0447175262da4e12814983c97d73ad21',1,'xran_fh_init::T1a_min_up()']]], + ['t2a_5fmax_5fcp_5fdl',['T2a_max_cp_dl',['../struct___runtime_config.html#a5df6250657a91c27fa2416154ec5a609',1,'_RuntimeConfig::T2a_max_cp_dl()'],['../structxran__fh__init.html#a5df6250657a91c27fa2416154ec5a609',1,'xran_fh_init::T2a_max_cp_dl()']]], + ['t2a_5fmax_5fcp_5ful',['T2a_max_cp_ul',['../struct___runtime_config.html#a60007ed3e328b06fb7f7ff2b3a37dac5',1,'_RuntimeConfig::T2a_max_cp_ul()'],['../structxran__fh__init.html#a60007ed3e328b06fb7f7ff2b3a37dac5',1,'xran_fh_init::T2a_max_cp_ul()']]], + ['t2a_5fmax_5fup',['T2a_max_up',['../struct___runtime_config.html#af27977cbf63a8beb2fd6b1f17c1502df',1,'_RuntimeConfig::T2a_max_up()'],['../structxran__fh__init.html#af27977cbf63a8beb2fd6b1f17c1502df',1,'xran_fh_init::T2a_max_up()']]], + ['t2a_5fmin_5fcp_5fdl',['T2a_min_cp_dl',['../struct___runtime_config.html#aebed6420fb04aabce30025eec4583807',1,'_RuntimeConfig::T2a_min_cp_dl()'],['../structxran__fh__init.html#aebed6420fb04aabce30025eec4583807',1,'xran_fh_init::T2a_min_cp_dl()']]], + ['t2a_5fmin_5fcp_5ful',['T2a_min_cp_ul',['../struct___runtime_config.html#acfa0c4237b95b1dc83d19e00d6487ec0',1,'_RuntimeConfig::T2a_min_cp_ul()'],['../structxran__fh__init.html#acfa0c4237b95b1dc83d19e00d6487ec0',1,'xran_fh_init::T2a_min_cp_ul()']]], + ['t2a_5fmin_5fup',['T2a_min_up',['../struct___runtime_config.html#aac84937e634fccb665c6de923af50c0f',1,'_RuntimeConfig::T2a_min_up()'],['../structxran__fh__init.html#aac84937e634fccb665c6de923af50c0f',1,'xran_fh_init::T2a_min_up()']]], + ['ta3_5fmax',['Ta3_max',['../struct___runtime_config.html#a82517c890db705ee58767fd245193214',1,'_RuntimeConfig::Ta3_max()'],['../structxran__fh__init.html#a82517c890db705ee58767fd245193214',1,'xran_fh_init::Ta3_max()']]], + ['ta3_5fmin',['Ta3_min',['../struct___runtime_config.html#ac2e5d027408848a38879331bf54d5adf',1,'_RuntimeConfig::Ta3_min()'],['../structxran__fh__init.html#ac2e5d027408848a38879331bf54d5adf',1,'xran_fh_init::Ta3_min()']]], + ['ta4_5fmax',['Ta4_max',['../struct___runtime_config.html#a934a145ce39320896b81ac25276b24d8',1,'_RuntimeConfig::Ta4_max()'],['../structxran__fh__init.html#a934a145ce39320896b81ac25276b24d8',1,'xran_fh_init::Ta4_max()']]], + ['ta4_5fmin',['Ta4_min',['../struct___runtime_config.html#ad8a8a60941ab888de5187345ce5fc92c',1,'_RuntimeConfig::Ta4_min()'],['../structxran__fh__init.html#ad8a8a60941ab888de5187345ce5fc92c',1,'xran_fh_init::Ta4_min()']]], + ['tadv_5fcp_5fdl',['Tadv_cp_dl',['../struct___runtime_config.html#a05dca46f0128cb233e7d4f73215cc4a9',1,'_RuntimeConfig::Tadv_cp_dl()'],['../structxran__fh__init.html#a05dca46f0128cb233e7d4f73215cc4a9',1,'xran_fh_init::Tadv_cp_dl()']]], + ['tail',['tail',['../ethernet_8c.html#a255a402bc6dcd7c53876e55a8162fcb9',1,'ethernet.c']]], + ['test_5fbuffer',['test_buffer',['../class_u__plane_check.html#a814db5f2ff5eb8cff5caf3ea1b473475',1,'U_planeCheck::test_buffer()'],['../class_u__plane_perf.html#a814db5f2ff5eb8cff5caf3ea1b473475',1,'U_planePerf::test_buffer()']]], + ['test_5feth_5fmbuf_5fpool',['test_eth_mbuf_pool',['../class_u__plane_check.html#aab306187cd86e6270f16af7fac1d0a63',1,'U_planeCheck::test_eth_mbuf_pool()'],['../class_u__plane_perf.html#aab306187cd86e6270f16af7fac1d0a63',1,'U_planePerf::test_eth_mbuf_pool()']]], + ['test_5ftype',['test_type',['../class_kernel_tests.html#a4e9607ae94d1958d38388cead2e4e3bf',1,'KernelTests']]], + ['tests_5ftotal',['tests_total',['../gen__test_8m.html#afb68cbaf85c88c8e862646b7be42f113',1,'gen_test.m']]], + ['testvect',['testVect',['../struct___runtime_config.html#a5c81c4a16480f1214d03545216aa6a23',1,'_RuntimeConfig']]], + ['tick_5fper_5fusec',['tick_per_usec',['../sample-app_8c.html#acbab6f0999957daa6d05b0f286c21666',1,'sample-app.c']]], + ['timeoffset',['timeOffset',['../structxran__cp__header__params.html#aa68c277a66312b4b90819cccc055bdb7',1,'xran_cp_header_params::timeOffset()'],['../structxran__cp__radioapp__section0__header.html#aa68c277a66312b4b90819cccc055bdb7',1,'xran_cp_radioapp_section0_header::timeOffset()'],['../structxran__cp__radioapp__section3__header.html#aa68c277a66312b4b90819cccc055bdb7',1,'xran_cp_radioapp_section3_header::timeOffset()'],['../structxran__prach__cp__config.html#aa68c277a66312b4b90819cccc055bdb7',1,'xran_prach_cp_config::timeOffset()'],['../xran__pkt__cp_8h.html#aa68c277a66312b4b90819cccc055bdb7',1,'timeOffset(): xran_pkt_cp.h']]], + ['timer_5fautodetect',['timer_autodetect',['../structxran__ethdi__ctx.html#a371cecbf2b9db724d36a5c8da75c5463',1,'xran_ethdi_ctx']]], + ['timer_5fctx',['timer_ctx',['../xran__main_8c.html#aaca86e5bcbfb97d8c24c271a9332b994',1,'xran_main.c']]], + ['timer_5fping',['timer_ping',['../structxran__ethdi__ctx.html#ae6b738dc6d77d4734678c55c56efdd9d',1,'xran_ethdi_ctx']]], + ['timer_5fsync',['timer_sync',['../structxran__ethdi__ctx.html#aa7306ce280013295a40e89e29bb536a6',1,'xran_ethdi_ctx']]], + ['timer_5ftx',['timer_tx',['../structxran__ethdi__ctx.html#a46bbd0014fd7d61fb5a9cad69eb2f6b0',1,'xran_ethdi_ctx']]], + ['timing_5fcore',['timing_core',['../structxran__io__cfg.html#aa442a227739dcff5212e5356dee54b68',1,'xran_io_cfg::timing_core()'],['../structxran__io__loop__cfg.html#ab93b5693f54489ba747cce7e0a09f84a',1,'xran_io_loop_cfg::timing_core()']]], + ['tmp_5faddr',['tmp_addr',['../struct___runtime_config.html#a52e0a00c08b59dd8495d5f291c928a3f',1,'_RuntimeConfig']]], + ['total_5fmsgs_5frcvd',['Total_msgs_rcvd',['../structxran__common__counters.html#ad863eb3e9dc4a977cce64405ec2780c7',1,'xran_common_counters']]], + ['total_5fpkts',['total_pkts',['../structburst__hdr.html#addab391714c822ecc21f9b0551e2ae25',1,'burst_hdr']]], + ['totalbfweights',['totalBfWeights',['../struct___runtime_config.html#af01fc39016255fbbedd02b31bb9c7959',1,'_RuntimeConfig::totalBfWeights()'],['../structxran__fh__init.html#af01fc39016255fbbedd02b31bb9c7959',1,'xran_fh_init::totalBfWeights()']]], + ['tti_5fid',['tti_id',['../structxran__prb__map.html#a689e28eeb2f378d4dc5f915a30f560db',1,'xran_prb_map']]], + ['tti_5fto_5fprocess',['tti_to_process',['../structxran__timer__ctx.html#ac9a8f4c80840a80e1a27ff9776e13f66',1,'xran_timer_ctx::tti_to_process()'],['../structxran_lib_wraper_1_1xran__timer__ctx.html#ac9a8f4c80840a80e1a27ff9776e13f66',1,'xranLibWraper::xran_timer_ctx::tti_to_process()']]], + ['tticb',['ttiCb',['../structxran__fh__config.html#ac5dde77f03307e306f2a05821bc5179a',1,'xran_fh_config::ttiCb()'],['../structxran__device__ctx.html#a88a1e1ec152b7daa669176e91660aead',1,'xran_device_ctx::ttiCb()']]], + ['tticbparam',['ttiCbParam',['../structxran__fh__config.html#a61f973d7b468c5fc1df628c476509ca6',1,'xran_fh_config::ttiCbParam()'],['../structxran__device__ctx.html#ab85e177210025d9e720d2696965c5af4',1,'xran_device_ctx::TtiCbParam()']]], + ['ttiperiod',['ttiPeriod',['../struct___runtime_config.html#afe3cec6983e2e599c33fc6fe05d80002',1,'_RuntimeConfig']]], + ['tx_5fbuffer_5fsize',['tx_buffer_size',['../common_8c.html#ad23ecec0666a9c37160556488199ad5d',1,'tx_buffer_size(): common.c'],['../common_8h.html#ad23ecec0666a9c37160556488199ad5d',1,'tx_buffer_size(): common.c']]], + ['tx_5fbytes_5fcounter',['tx_bytes_counter',['../sample-app_8c.html#aea924947c3d744f2208baa8a79229f3f',1,'tx_bytes_counter(): xran_common.c'],['../xran__common_8c.html#aea924947c3d744f2208baa8a79229f3f',1,'tx_bytes_counter(): xran_common.c'],['../xran__common_8h.html#aea924947c3d744f2208baa8a79229f3f',1,'tx_bytes_counter(): xran_common.c']]], + ['tx_5fbytes_5fper_5fsec',['tx_bytes_per_sec',['../sample-app_8c.html#ad1b05d3ad049de39bc3f9bcdfdf66d1b',1,'tx_bytes_per_sec(): xran_common.c'],['../xran__common_8c.html#ad1b05d3ad049de39bc3f9bcdfdf66d1b',1,'tx_bytes_per_sec(): xran_common.c'],['../xran__common_8h.html#ad1b05d3ad049de39bc3f9bcdfdf66d1b',1,'tx_bytes_per_sec(): xran_common.c']]], + ['tx_5fcounter',['tx_counter',['../sample-app_8c.html#a633effdcb470f03cbf5aa8c9f9540ddb',1,'tx_counter(): xran_common.c'],['../xran__common_8c.html#a633effdcb470f03cbf5aa8c9f9540ddb',1,'tx_counter(): xran_common.c'],['../xran__common_8h.html#a633effdcb470f03cbf5aa8c9f9540ddb',1,'tx_counter(): xran_common.c']]], + ['tx_5fdl_5fbfw_5fbuffer_5fposition',['tx_dl_bfw_buffer_position',['../classxran_lib_wraper.html#a364dd5820c1bb3fc2f760e5b6cab5b98',1,'xranLibWraper::tx_dl_bfw_buffer_position()'],['../common_8c.html#a364dd5820c1bb3fc2f760e5b6cab5b98',1,'tx_dl_bfw_buffer_position(): common.c'],['../common_8h.html#a364dd5820c1bb3fc2f760e5b6cab5b98',1,'tx_dl_bfw_buffer_position(): common.c']]], + ['tx_5fdl_5fbfw_5fbuffer_5fsize',['tx_dl_bfw_buffer_size',['../classxran_lib_wraper.html#aad7c467bc9da44318d2e8cf2f4472f17',1,'xranLibWraper::tx_dl_bfw_buffer_size()'],['../common_8c.html#aad7c467bc9da44318d2e8cf2f4472f17',1,'tx_dl_bfw_buffer_size(): common.c'],['../common_8h.html#aad7c467bc9da44318d2e8cf2f4472f17',1,'tx_dl_bfw_buffer_size(): common.c']]], + ['tx_5fmbufs',['tx_mbufs',['../structxran__device__ctx.html#a346d8b87e236cbb3056a5fb54fa44638',1,'xran_device_ctx']]], + ['tx_5fplay_5fbuffer_5fposition',['tx_play_buffer_position',['../common_8c.html#ab0ca5bc3c9f6c0b230c9ea169747a438',1,'tx_play_buffer_position(): common.c'],['../common_8h.html#ab0ca5bc3c9f6c0b230c9ea169747a438',1,'tx_play_buffer_position(): common.c']]], + ['tx_5fplay_5fbuffer_5fsize',['tx_play_buffer_size',['../common_8c.html#ac6ec5442d9ec39fac4367ad38b9d3d6a',1,'tx_play_buffer_size(): common.c'],['../common_8h.html#ac6ec5442d9ec39fac4367ad38b9d3d6a',1,'tx_play_buffer_size(): common.c']]], + ['tx_5fprach_5fplay_5fbuffer_5fposition',['tx_prach_play_buffer_position',['../common_8c.html#a28929b3487c517117e716b7d45865c88',1,'tx_prach_play_buffer_position(): common.c'],['../common_8h.html#a28929b3487c517117e716b7d45865c88',1,'tx_prach_play_buffer_position(): common.c']]], + ['tx_5fprach_5fplay_5fbuffer_5fsize',['tx_prach_play_buffer_size',['../common_8c.html#a116f357e6a56ff1a8d34d2c31691b007',1,'tx_prach_play_buffer_size(): common.c'],['../common_8h.html#a116f357e6a56ff1a8d34d2c31691b007',1,'tx_prach_play_buffer_size(): common.c']]], + ['tx_5fring',['tx_ring',['../structxran__ethdi__ctx.html#af78a2835ea5575b2e63963898d89b34f',1,'xran_ethdi_ctx']]], + ['tx_5fsrs_5fplay_5fbuffer_5fposition',['tx_srs_play_buffer_position',['../common_8c.html#a7abef2666634dec9ece3f2e8de21dfb0',1,'tx_srs_play_buffer_position(): common.c'],['../common_8h.html#a7abef2666634dec9ece3f2e8de21dfb0',1,'tx_srs_play_buffer_position(): common.c']]], + ['tx_5fsrs_5fplay_5fbuffer_5fsize',['tx_srs_play_buffer_size',['../common_8c.html#a3ef30d69e5522784df0a9ead30cc9415',1,'tx_srs_play_buffer_size(): common.c'],['../common_8h.html#a3ef30d69e5522784df0a9ead30cc9415',1,'tx_srs_play_buffer_size(): common.c']]], + ['tx_5ful_5fbfw_5fbuffer_5fposition',['tx_ul_bfw_buffer_position',['../classxran_lib_wraper.html#adc7a94af3a9c52fdb09e8733264eee4a',1,'xranLibWraper::tx_ul_bfw_buffer_position()'],['../common_8c.html#adc7a94af3a9c52fdb09e8733264eee4a',1,'tx_ul_bfw_buffer_position(): common.c'],['../common_8h.html#adc7a94af3a9c52fdb09e8733264eee4a',1,'tx_ul_bfw_buffer_position(): common.c']]], + ['tx_5ful_5fbfw_5fbuffer_5fsize',['tx_ul_bfw_buffer_size',['../classxran_lib_wraper.html#a2fca7a2340a727f72d85407c5e153ed4',1,'xranLibWraper::tx_ul_bfw_buffer_size()'],['../common_8c.html#a2fca7a2340a727f72d85407c5e153ed4',1,'tx_ul_bfw_buffer_size(): common.c'],['../common_8h.html#a2fca7a2340a727f72d85407c5e153ed4',1,'tx_ul_bfw_buffer_size(): common.c']]], + ['txscheme',['txScheme',['../structxran__sectionext3__info.html#a878ff2db850e901d2c93ca36cae8f4f9',1,'xran_sectionext3_info::txScheme()'],['../structxran__cp__radioapp__section__ext3__first.html#a4a4e7cf0028066630bb73b2d58445053',1,'xran_cp_radioapp_section_ext3_first::txScheme()'],['../xran__pkt__cp_8h.html#a4a4e7cf0028066630bb73b2d58445053',1,'txScheme(): xran_pkt_cp.h']]], + ['type',['type',['../structxran__section__info.html#a1d127017fb298b889f4ba24752d08b8e',1,'xran_section_info::type()'],['../structxran__sectionext__info.html#acb5cfd209ba75c853d03f701e7f91679',1,'xran_sectionext_info::type()'],['../structxran__section__gen__info.html#acb5cfd209ba75c853d03f701e7f91679',1,'xran_section_gen_info::type()']]] +]; diff --git a/docs/API/search/variables_14.html b/docs/API/search/variables_14.html new file mode 100644 index 0000000..3745fec --- /dev/null +++ b/docs/API/search/variables_14.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/variables_14.js b/docs/API/search/variables_14.js new file mode 100644 index 0000000..4f7af67 --- /dev/null +++ b/docs/API/search/variables_14.js @@ -0,0 +1,18 @@ +var searchData= +[ + ['u',['u',['../structxran__cp__radioapp__section__header.html#aaedd34aab03da5f169634cfc3aaf0e2a',1,'xran_cp_radioapp_section_header::u()'],['../xran__pkt__cp_8h.html#a6c38e7b5c31753cf9e58246d571ff250',1,'u(): xran_pkt_cp.h']]], + ['ud_5fcomp_5fhdr',['ud_comp_hdr',['../structdata__section__compression__hdr.html#a4638fbd317b5d0c464ef9483038564b0',1,'data_section_compression_hdr']]], + ['ud_5fcomp_5fmeth',['ud_comp_meth',['../structcompression__hdr.html#ae12079177feb5d2ee414356fc18473cf',1,'compression_hdr']]], + ['ud_5fiq_5fwidth',['ud_iq_width',['../structcompression__hdr.html#ab3f5c028170bd3bd241a58be8ca8da96',1,'compression_hdr']]], + ['udcomp',['udComp',['../structxran__cp__radioapp__section1__header.html#a2c555c4732301a1ffa8b9957fbe51a76',1,'xran_cp_radioapp_section1_header::udComp()'],['../structxran__cp__radioapp__section3__header.html#a2c555c4732301a1ffa8b9957fbe51a76',1,'xran_cp_radioapp_section3_header::udComp()'],['../structxran__cp__radioapp__section5__header.html#a2c555c4732301a1ffa8b9957fbe51a76',1,'xran_cp_radioapp_section5_header::udComp()'],['../xran__pkt__cp_8h.html#a2c555c4732301a1ffa8b9957fbe51a76',1,'udComp(): xran_pkt_cp.h']]], + ['udcompmeth',['udCompMeth',['../structxran__radioapp__ud_comp__header.html#a9c71fd134ce52f71b21a0a9bef99163a',1,'xran_radioapp_udComp_header::udCompMeth()'],['../xran__pkt__cp_8h.html#a9c71fd134ce52f71b21a0a9bef99163a',1,'udCompMeth(): xran_pkt_cp.h']]], + ['udiqwidth',['udIqWidth',['../structxran__radioapp__ud_comp__header.html#aa1f422e7156fc4b759197bd687beffba',1,'xran_radioapp_udComp_header::udIqWidth()'],['../xran__pkt__cp_8h.html#aa1f422e7156fc4b759197bd687beffba',1,'udIqWidth(): xran_pkt_cp.h']]], + ['ueid',['ueId',['../structxran__section__info.html#abf9a56a4808dd3eba6b3e3303e3d080a',1,'xran_section_info::ueId()'],['../structxran__cp__radioapp__section__header.html#a64c04119c39e8dbcf00f4ae22968b1eb',1,'xran_cp_radioapp_section_header::ueId()'],['../structxran__cp__radioapp__section6.html#a64c04119c39e8dbcf00f4ae22968b1eb',1,'xran_cp_radioapp_section6::ueId()'],['../xran__pkt__cp_8h.html#a64c04119c39e8dbcf00f4ae22968b1eb',1,'ueId(): xran_pkt_cp.h']]], + ['ul_5fbfw_5ffile',['ul_bfw_file',['../struct___runtime_config.html#ac84cf72167889004a12d616ad466e48e',1,'_RuntimeConfig']]], + ['ul_5fsrs_5ffile',['ul_srs_file',['../struct___runtime_config.html#a50fb35f7655e4f8581192c9ea0ce0517',1,'_RuntimeConfig']]], + ['ulaw',['uLaw',['../unioncompression__params.html#aa01efd88da34f7d6c784886bc3f69298',1,'compression_params']]], + ['ullayersperue',['UlLayersPerUe',['../struct___runtime_config.html#aba27e8723558adbd7f998a08df310ec9',1,'_RuntimeConfig']]], + ['up_5fvlan_5ftag',['up_vlan_tag',['../struct___runtime_config.html#ae5c22bf3cd63e278914bf627dab04ce8',1,'_RuntimeConfig::up_vlan_tag()'],['../structxran__fh__init.html#ae5c22bf3cd63e278914bf627dab04ce8',1,'xran_fh_init::up_vlan_tag()']]], + ['up_5fvtag',['up_vtag',['../structxran__ethdi__ctx.html#a798a71d6d7f0176bb1fcb276811e5271',1,'xran_ethdi_ctx']]], + ['uscs',['uScs',['../structxran__cp__radioapp__frame_structure.html#aa4ed885cdd3c67f4df8c1f6b20cc031c',1,'xran_cp_radioapp_frameStructure::uScs()'],['../xran__pkt__cp_8h.html#aa4ed885cdd3c67f4df8c1f6b20cc031c',1,'uScs(): xran_pkt_cp.h']]] +]; diff --git a/docs/API/search/variables_15.html b/docs/API/search/variables_15.html new file mode 100644 index 0000000..7432fd7 --- /dev/null +++ b/docs/API/search/variables_15.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/variables_15.js b/docs/API/search/variables_15.js new file mode 100644 index 0000000..96aedbe --- /dev/null +++ b/docs/API/search/variables_15.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['value',['value',['../structradio__app__common__hdr.html#a900b69af7d674b8db3bceae754b4955a',1,'radio_app_common_hdr::value()'],['../structnlohmann_1_1detail_1_1is__compatible__object__type__impl_3_01true_00_01_real_type_00_01_compatible_object_type_01_4.html#a615a7728e2278acb2cab50854079d7fc',1,'nlohmann::detail::is_compatible_object_type_impl< true, RealType, CompatibleObjectType >::value()'],['../structnlohmann_1_1detail_1_1is__compatible__object__type.html#afb4135e27d236d51b7a115e86f9a5a31',1,'nlohmann::detail::is_compatible_object_type::value()'],['../structnlohmann_1_1detail_1_1is__basic__json__nested__type.html#afb4135e27d236d51b7a115e86f9a5a31',1,'nlohmann::detail::is_basic_json_nested_type::value()'],['../structnlohmann_1_1detail_1_1is__compatible__array__type.html#afb4135e27d236d51b7a115e86f9a5a31',1,'nlohmann::detail::is_compatible_array_type::value()'],['../structnlohmann_1_1detail_1_1is__compatible__integer__type__impl_3_01true_00_01_real_integer_type78b0ba77f36a8c8169cdb79b01d1a4bf.html#a615a7728e2278acb2cab50854079d7fc',1,'nlohmann::detail::is_compatible_integer_type_impl< true, RealIntegerType, CompatibleNumberIntegerType >::value()'],['../structnlohmann_1_1detail_1_1is__compatible__integer__type.html#a615a7728e2278acb2cab50854079d7fc',1,'nlohmann::detail::is_compatible_integer_type::value()'],['../structnlohmann_1_1detail_1_1has__from__json.html#a5b4ee4ae6cba6bb75200ba7af1910873',1,'nlohmann::detail::has_from_json::value()'],['../structnlohmann_1_1detail_1_1has__non__default__from__json.html#a5b4ee4ae6cba6bb75200ba7af1910873',1,'nlohmann::detail::has_non_default_from_json::value()'],['../structnlohmann_1_1detail_1_1has__to__json.html#a5b4ee4ae6cba6bb75200ba7af1910873',1,'nlohmann::detail::has_to_json::value()'],['../structnlohmann_1_1detail_1_1static__const.html#a4ab5db6c35fee2e04b35b4a300d50bf1',1,'nlohmann::detail::static_const::value()']]] +]; diff --git a/docs/API/search/variables_16.html b/docs/API/search/variables_16.html new file mode 100644 index 0000000..737584f --- /dev/null +++ b/docs/API/search/variables_16.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/variables_16.js b/docs/API/search/variables_16.js new file mode 100644 index 0000000..f20b48e --- /dev/null +++ b/docs/API/search/variables_16.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['w_5fdl',['W_dl',['../gen__test_8m.html#a31c813b96f83786bc7433949e002bf03',1,'gen_test.m']]], + ['w_5ful',['W_ul',['../gen__test_8m.html#aeef19cc1066ffe1cdd33b503ed85c1ea',1,'gen_test.m']]], + ['weight',['weight',['../structxran__cp__bf__attribute.html#a6327553f15198377152abe9523b68847',1,'xran_cp_bf_attribute::weight()'],['../structxran__cp__bf__precoding.html#a6327553f15198377152abe9523b68847',1,'xran_cp_bf_precoding::weight()']]] +]; diff --git a/docs/API/search/variables_17.html b/docs/API/search/variables_17.html new file mode 100644 index 0000000..fe5c7ef --- /dev/null +++ b/docs/API/search/variables_17.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/variables_17.js b/docs/API/search/variables_17.js new file mode 100644 index 0000000..eaa3f0e --- /dev/null +++ b/docs/API/search/variables_17.js @@ -0,0 +1,19 @@ +var searchData= +[ + ['x',['x',['../structx_r_a_n_prach_config_table_struct.html#a0f561e77fa0f040b637f4e04f6cd8078',1,'xRANPrachConfigTableStruct::x()'],['../structxran__prach__cp__config.html#a0f561e77fa0f040b637f4e04f6cd8078',1,'xran_prach_cp_config::x()']]], + ['xran2phy_5fmem_5fready',['xran2phy_mem_ready',['../structxran__device__ctx.html#a0ac55d6b8988083425a147f343c34455',1,'xran_device_ctx']]], + ['xran_5fethertype_5fhandlers',['xran_ethertype_handlers',['../ethdi_8c.html#a3f53957f895afe4f72ecdc94556077d7',1,'ethdi.c']]], + ['xran_5fhdr',['xran_hdr',['../structeth__xran__up__pkt__hdr.html#a080244f9e1996ad47a6e709f78897803',1,'eth_xran_up_pkt_hdr']]], + ['xran_5fif_5fcurrent_5fstate',['xran_if_current_state',['../ethdi_8c.html#aef5f52e6a4f49171518a59382eb03df5',1,'xran_if_current_state(): ethdi.c'],['../ethdi_8h.html#aef5f52e6a4f49171518a59382eb03df5',1,'xran_if_current_state(): ethdi.c'],['../init__sys__functional_8cc.html#aef5f52e6a4f49171518a59382eb03df5',1,'xran_if_current_state(): ethdi.c']]], + ['xran_5flib_5fota_5fsym',['xran_lib_ota_sym',['../xran__main_8c.html#a8cec0b41a42705e6ab9f49914ca666c2',1,'xran_lib_ota_sym(): xran_main.c'],['../xran__timer_8c.html#a8cec0b41a42705e6ab9f49914ca666c2',1,'xran_lib_ota_sym(): xran_main.c'],['../xran__lib__wrap_8hpp.html#a8cec0b41a42705e6ab9f49914ca666c2',1,'xran_lib_ota_sym(): xran_main.c']]], + ['xran_5flib_5fota_5fsym_5fidx',['xran_lib_ota_sym_idx',['../xran__main_8c.html#a98175f360f5753bc99c4edd3c2d8bd04',1,'xran_lib_ota_sym_idx(): xran_main.c'],['../xran__timer_8c.html#a98175f360f5753bc99c4edd3c2d8bd04',1,'xran_lib_ota_sym_idx(): xran_main.c'],['../xran__lib__wrap_8hpp.html#a98175f360f5753bc99c4edd3c2d8bd04',1,'xran_lib_ota_sym_idx(): xran_main.c']]], + ['xran_5flib_5fota_5ftti',['xran_lib_ota_tti',['../xran__main_8c.html#a273a09cbea9267272f4e2a339059e442',1,'xran_lib_ota_tti(): xran_main.c'],['../xran__timer_8c.html#a273a09cbea9267272f4e2a339059e442',1,'xran_lib_ota_tti(): xran_main.c'],['../xran__up__api_8c.html#a273a09cbea9267272f4e2a339059e442',1,'xran_lib_ota_tti(): xran_main.c'],['../xran__lib__wrap_8hpp.html#a273a09cbea9267272f4e2a339059e442',1,'xran_lib_ota_tti(): xran_main.c']]], + ['xran_5fmax_5fframe',['xran_max_frame',['../structxran__ru__config.html#a7a25206e77e83a57fd036102cebfb4f0',1,'xran_ru_config::xran_max_frame()'],['../xran__frame__struct_8c.html#a7a25206e77e83a57fd036102cebfb4f0',1,'xran_max_frame(): xran_main.c'],['../xran__main_8c.html#a7a25206e77e83a57fd036102cebfb4f0',1,'xran_max_frame(): xran_main.c']]], + ['xran_5fport',['xran_port',['../structxran__prb__map.html#a5ca9a2b3d2a5c902f8153e3e383049be',1,'xran_prb_map']]], + ['xran_5fport_5fid',['xran_port_id',['../structxran__device__ctx.html#a2b7202fa1a2e3c5187799f8be3b5459f',1,'xran_device_ctx']]], + ['xran_5fsfn_5fat_5fsec_5fstart',['xran_SFN_at_Sec_Start',['../xran__main_8c.html#a0ff39df15c9c5e487a730d422d2c4725',1,'xran_main.c']]], + ['xrancat',['xranCat',['../struct___runtime_config.html#ad674f5880669afb1153cf6e77b64a838',1,'_RuntimeConfig::xranCat()'],['../structxran__ru__config.html#af92ff2dfd2bddd0880d779c04b9fb359',1,'xran_ru_config::xranCat()']]], + ['xranconf',['xranConf',['../sample-app_8c.html#adb46cbd655db6e9c061f62d161f7d2b0',1,'sample-app.c']]], + ['xranhandle',['xranHandle',['../sample-app_8c.html#a85ff1667d07b822b2c7f5a91a0c0bc95',1,'sample-app.c']]], + ['xranlib',['xranlib',['../xran__lib__wrap_8hpp.html#a1b2100f9f398243bb4bdbf0db003b9a3',1,'xranlib(): xranlib_unit_test_main.cc'],['../xranlib__unit__test__main_8cc.html#a1b2100f9f398243bb4bdbf0db003b9a3',1,'xranlib(): xranlib_unit_test_main.cc']]] +]; diff --git a/docs/API/search/variables_18.html b/docs/API/search/variables_18.html new file mode 100644 index 0000000..56aa0a7 --- /dev/null +++ b/docs/API/search/variables_18.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/variables_18.js b/docs/API/search/variables_18.js new file mode 100644 index 0000000..6445460 --- /dev/null +++ b/docs/API/search/variables_18.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['y',['y',['../structx_r_a_n_prach_config_table_struct.html#a1d627e83c5e0ae889b71ea0508991f29',1,'xRANPrachConfigTableStruct::y()'],['../structxran__prach__cp__config.html#a1d627e83c5e0ae889b71ea0508991f29',1,'xran_prach_cp_config::y()']]] +]; diff --git a/docs/API/search/variables_2.html b/docs/API/search/variables_2.html new file mode 100644 index 0000000..5c9de1a --- /dev/null +++ b/docs/API/search/variables_2.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/variables_2.js b/docs/API/search/variables_2.js new file mode 100644 index 0000000..697a3fe --- /dev/null +++ b/docs/API/search/variables_2.js @@ -0,0 +1,59 @@ +var searchData= +[ + ['band_5fid',['band_id',['../structxran__prb__map.html#a1c85ead6321835264d2451291430a7da',1,'xran_prb_map']]], + ['bandsectorid',['bandSectorId',['../structxran__eaxc__info.html#a7d93f32b8b4f771bd3ccf0b917cbec8b',1,'xran_eaxc_info']]], + ['bbdev_5fdec',['bbdev_dec',['../structxran__fh__config.html#a264d30877c919a7f5a20e2b9b35c8aeb',1,'xran_fh_config::bbdev_dec()'],['../structxran__device__ctx.html#a264d30877c919a7f5a20e2b9b35c8aeb',1,'xran_device_ctx::bbdev_dec()']]], + ['bbdev_5fdev',['bbdev_dev',['../structxran__io__cfg.html#a64ddf49fc9f31dbe434f9ee6b0a08db4',1,'xran_io_cfg::bbdev_dev()'],['../structxran__io__loop__cfg.html#a64ddf49fc9f31dbe434f9ee6b0a08db4',1,'xran_io_loop_cfg::bbdev_dev()']]], + ['bbdev_5fenc',['bbdev_enc',['../structxran__fh__config.html#a82f0cc2ac9daada1e8330e3a91ec296b',1,'xran_fh_config::bbdev_enc()'],['../structxran__device__ctx.html#a82f0cc2ac9daada1e8330e3a91ec296b',1,'xran_device_ctx::bbdev_enc()']]], + ['bbdev_5fmode',['bbdev_mode',['../structxran__io__cfg.html#ab99f9c6dba4d5fdc09299b3ac670503c',1,'xran_io_cfg::bbdev_mode()'],['../structxran__io__loop__cfg.html#a42ca365685976f50257addd91dfc653a',1,'xran_io_loop_cfg::bbdev_mode()']]], + ['bbdevmode',['bbdevMode',['../struct___runtime_config.html#aed69c3a25134cbc416f08a2138ab1136',1,'_RuntimeConfig']]], + ['bbuio_5fbuf_5fpool',['bbuio_buf_pool',['../struct_bbu_xran_io_if_struct.html#ab17d30b2540eca4acd7248fccbf575b4',1,'BbuXranIoIfStruct']]], + ['beam_5fid',['beam_id',['../structxran__cp__rbmap__list.html#a599d618c91d4ce33661381801a7dca9a',1,'xran_cp_rbmap_list']]], + ['beamformingtype',['BeamFormingType',['../structxran__prb__elm.html#a8b8b1bd49f0c7c15063d74dd4ad48cde',1,'xran_prb_elm']]], + ['beamid',['beamId',['../structxran__section__info.html#ac7deef3ca4b0fc12769165dbf9374569',1,'xran_section_info::beamId()'],['../structxran__cp__radioapp__section__header.html#a9d9a9bc73a8aaac944ecb453eb402a07',1,'xran_cp_radioapp_section_header::beamId()'],['../xran__pkt__cp_8h.html#a9d9a9bc73a8aaac944ecb453eb402a07',1,'beamId(): xran_pkt_cp.h']]], + ['beamidap1',['beamIdAP1',['../structxran__sectionext3__info.html#abcaa5b568a022c3af1146b779d52bebc',1,'xran_sectionext3_info::beamIdAP1()'],['../structxran__cp__radioapp__section__ext3__first.html#abcaa5b568a022c3af1146b779d52bebc',1,'xran_cp_radioapp_section_ext3_first::beamIdAP1()'],['../xran__pkt__cp_8h.html#abcaa5b568a022c3af1146b779d52bebc',1,'beamIdAP1(): xran_pkt_cp.h']]], + ['beamidap2',['beamIdAP2',['../structxran__sectionext3__info.html#a9b459e1b2f309337740ed7a576e8ddfb',1,'xran_sectionext3_info::beamIdAP2()'],['../structxran__cp__radioapp__section__ext3__first.html#a9b459e1b2f309337740ed7a576e8ddfb',1,'xran_cp_radioapp_section_ext3_first::beamIdAP2()'],['../xran__pkt__cp_8h.html#a9b459e1b2f309337740ed7a576e8ddfb',1,'beamIdAP2(): xran_pkt_cp.h']]], + ['beamidap3',['beamIdAP3',['../structxran__sectionext3__info.html#a0780ffbec6d647632e2b31d89de94467',1,'xran_sectionext3_info::beamIdAP3()'],['../structxran__cp__radioapp__section__ext3__first.html#a0780ffbec6d647632e2b31d89de94467',1,'xran_cp_radioapp_section_ext3_first::beamIdAP3()'],['../xran__pkt__cp_8h.html#a0780ffbec6d647632e2b31d89de94467',1,'beamIdAP3(): xran_pkt_cp.h']]], + ['bf_5fattribute',['bf_attribute',['../structxran__prb__elm.html#a3e5b780c49cb9d6ec97dcd4762f8ac34',1,'xran_prb_elm']]], + ['bf_5fprecoding',['bf_precoding',['../structxran__prb__elm.html#a78ed222752b307427c62c9f4c1e4c8be',1,'xran_prb_elm']]], + ['bf_5fweight',['bf_weight',['../structxran__prb__elm.html#af868e8b704cfa4b2cfc9f02b14bb8ca4',1,'xran_prb_elm']]], + ['bf_5fweight_5fupdate',['bf_weight_update',['../structxran__prb__elm.html#a0cae38b481020301f9e6831c27b5058b',1,'xran_prb_elm']]], + ['bfacompresv0',['bfaCompResv0',['../structxran__cp__radioapp__section__ext2.html#a2b3796df8f24599db86788e5c585bd8e',1,'xran_cp_radioapp_section_ext2::bfaCompResv0()'],['../xran__pkt__cp_8h.html#a2b3796df8f24599db86788e5c585bd8e',1,'bfaCompResv0(): xran_pkt_cp.h']]], + ['bfacompresv1',['bfaCompResv1',['../structxran__cp__radioapp__section__ext2.html#ad577e27385c9800999196f723131c2a6',1,'xran_cp_radioapp_section_ext2::bfaCompResv1()'],['../xran__pkt__cp_8h.html#ad577e27385c9800999196f723131c2a6',1,'bfaCompResv1(): xran_pkt_cp.h']]], + ['bfaz3dd',['bfAz3dd',['../structxran__sectionext2__info.html#adc26301dfc01bf86c8dc53bdef1ac5c3',1,'xran_sectionext2_info']]], + ['bfaz3ddwidth',['bfAz3ddWidth',['../structxran__sectionext2__info.html#af6d308ae11840b67c4e3234a78ca1591',1,'xran_sectionext2_info::bfAz3ddWidth()'],['../structxran__cp__radioapp__section__ext2.html#a91c2992cc2931d34eedace92ebed95e3',1,'xran_cp_radioapp_section_ext2::bfAz3ddWidth()'],['../xran__pkt__cp_8h.html#a91c2992cc2931d34eedace92ebed95e3',1,'bfAz3ddWidth(): xran_pkt_cp.h']]], + ['bfazpt',['bfAzPt',['../structxran__sectionext2__info.html#aed0ddbdef5f3287fe38c115bf0f6b361',1,'xran_sectionext2_info']]], + ['bfazptwidth',['bfAzPtWidth',['../structxran__sectionext2__info.html#a2d14a28b7dc7cc4d18dae8c579a15d00',1,'xran_sectionext2_info::bfAzPtWidth()'],['../structxran__cp__radioapp__section__ext2.html#ae4575041f99a19d0b4e60606fa8dbefb',1,'xran_cp_radioapp_section_ext2::bfAzPtWidth()'],['../xran__pkt__cp_8h.html#ae4575041f99a19d0b4e60606fa8dbefb',1,'bfAzPtWidth(): xran_pkt_cp.h']]], + ['bfazsi',['bfAzSI',['../structxran__sectionext2__info.html#a455c1bba3cc6776c7c953f468da68d89',1,'xran_sectionext2_info']]], + ['bfp_5fcom_5freq',['bfp_com_req',['../class_bfp_perf_ex.html#a4b9492db80de53fd043f5ccb74176ae3',1,'BfpPerfEx']]], + ['bfp_5fcom_5frsp',['bfp_com_rsp',['../class_bfp_perf_ex.html#ade6c6a1bda416568c7b7238eb7eaa9af',1,'BfpPerfEx']]], + ['bfp_5fdecom_5freq',['bfp_decom_req',['../class_bfp_perf_ex.html#a2e0cd66e2cbaebc0d72fdabe6a09f47f',1,'BfpPerfEx']]], + ['bfp_5fdecom_5frsp',['bfp_decom_rsp',['../class_bfp_perf_ex.html#a0e0d8e6d1740b7622d9f1f2f8f0f320f',1,'BfpPerfEx']]], + ['bfw_5fall_5fslots',['bfw_all_slots',['../gen__test_8m.html#a89fcb37334f8e931bbfbb3b1649a4c34',1,'gen_test.m']]], + ['bfw_5fall_5fslots_5fint',['bfw_all_slots_int',['../gen__test_8m.html#af743a8da9d7938005149c84bac57d261',1,'gen_test.m']]], + ['bfw_5fper_5fsym',['bfw_per_sym',['../gen__test_8m.html#ac96f991c58ca69c2aa63e6814c3252f8',1,'gen_test.m']]], + ['bfwcompmeth',['bfwCompMeth',['../structxran__sectionext1__info.html#a489f0b868b86e577a5e515dc40987ba5',1,'xran_sectionext1_info::bfwCompMeth()'],['../structxran__cp__radioapp__section__ext1.html#a489f0b868b86e577a5e515dc40987ba5',1,'xran_cp_radioapp_section_ext1::bfwCompMeth()'],['../xran__pkt__cp_8h.html#a489f0b868b86e577a5e515dc40987ba5',1,'bfwCompMeth(): xran_pkt_cp.h']]], + ['bfwcompparam',['bfwCompParam',['../structxran__sectionext1__info.html#ae3551ba3eeae98639805a8d3391d5b3d',1,'xran_sectionext1_info']]], + ['bfwiq_5fsz',['bfwIQ_sz',['../structxran__sectionext1__info.html#ae4f265cd1e2941e2d7366085f6f0b598',1,'xran_sectionext1_info']]], + ['bfwiqwidth',['bfwiqWidth',['../structxran__sectionext1__info.html#a3de53935627d11e11003c38bd6dca548',1,'xran_sectionext1_info::bfwiqWidth()'],['../structxran__cp__radioapp__section__ext1.html#ab4efff418afe4f08b45d3c4762f8b31d',1,'xran_cp_radioapp_section_ext1::bfwIqWidth()'],['../xran__pkt__cp_8h.html#ab4efff418afe4f08b45d3c4762f8b31d',1,'bfwIqWidth(): xran_pkt_cp.h']]], + ['bfwnumber',['bfwNumber',['../structxran__sectionext1__info.html#ab09d1df0b229edfd34c41706fcfa73e7',1,'xran_sectionext1_info']]], + ['bfze3dd',['bfZe3dd',['../structxran__sectionext2__info.html#a62a0cfe73c1305294d16fb9593a2a947',1,'xran_sectionext2_info']]], + ['bfze3ddwidth',['bfZe3ddWidth',['../structxran__sectionext2__info.html#a52ffc8175e7bde0adbc75c865c854df2',1,'xran_sectionext2_info::bfZe3ddWidth()'],['../structxran__cp__radioapp__section__ext2.html#afaa633099e5bb43f394e334d2effa115',1,'xran_cp_radioapp_section_ext2::bfZe3ddWidth()'],['../xran__pkt__cp_8h.html#afaa633099e5bb43f394e334d2effa115',1,'bfZe3ddWidth(): xran_pkt_cp.h']]], + ['bfzept',['bfZePt',['../structxran__sectionext2__info.html#a8d5cbe6476d0e8b325cd4e1bad03a6d3',1,'xran_sectionext2_info']]], + ['bfzeptwidth',['bfZePtWidth',['../structxran__sectionext2__info.html#a0562069083918b7760597eaca4f0dceb',1,'xran_sectionext2_info::bfZePtWidth()'],['../structxran__cp__radioapp__section__ext2.html#a44f3c610f47128f388292d02434afe0b',1,'xran_cp_radioapp_section_ext2::bfZePtWidth()'],['../xran__pkt__cp_8h.html#a44f3c610f47128f388292d02434afe0b',1,'bfZePtWidth(): xran_pkt_cp.h']]], + ['bfzesi',['bfZeSI',['../structxran__sectionext2__info.html#ad7bfdcda7332da505aa1712b68452cd2',1,'xran_sectionext2_info']]], + ['bit_5fbandsectorid',['bit_bandSectorId',['../structxran__eaxcid__config.html#ab3f5b7b7c113a7fdff4bdf31ff685594',1,'xran_eaxcid_config']]], + ['bit_5fccid',['bit_ccId',['../structxran__eaxcid__config.html#a292acf2be52d7b22753f8f3a9839f455',1,'xran_eaxcid_config']]], + ['bit_5fcuportid',['bit_cuPortId',['../structxran__eaxcid__config.html#a8812802228fbd32d92c2c8f29963628b',1,'xran_eaxcid_config']]], + ['bit_5fruportid',['bit_ruPortId',['../structxran__eaxcid__config.html#aa6294a3b04f47cabf866ec1e1ec4bd23',1,'xran_eaxcid_config']]], + ['blockflpoint',['blockFlPoint',['../unioncompression__params.html#a1cd49a68b116fdcbab85bc9140594918',1,'compression_params']]], + ['blockscaler',['blockScaler',['../structxran__sectionext1__info.html#ad32c6c9662025c7208ec099075b7ec27',1,'xran_sectionext1_info']]], + ['blockscaling',['blockScaling',['../unioncompression__params.html#a4cd9171274a8d8229ca026d1d6b1d133',1,'compression_params']]], + ['buf',['buf',['../ethernet_8c.html#ac75fce8692fd1d41a8985f6aacc4a175',1,'ethernet.c']]], + ['bufferpoolelmsz',['bufferPoolElmSz',['../structsector_handle_info.html#a331562c12e62e7bae882440025872c95',1,'sectorHandleInfo']]], + ['bufferpoolnumelm',['bufferPoolNumElm',['../structsector_handle_info.html#af7c3fd31d7919760d9a11bd48b9ad804',1,'sectorHandleInfo']]], + ['busy_5fpoll_5ftill',['busy_poll_till',['../structxran__ethdi__ctx.html#a73b587527ef3ade588b6ba7db09b6b87',1,'xran_ethdi_ctx']]], + ['bvalid',['bValid',['../struct_bbu_io_buf_ctrl_struct.html#a48c33fa4a8f2f93d51cba58b78d3cd9f',1,'BbuIoBufCtrlStruct']]], + ['bw',['bw',['../gen__test_8m.html#aec71d24b9775c25745c66105ac9371f9',1,'gen_test.m']]], + ['byteorder',['byteOrder',['../structxran__ru__config.html#a74e72997edeea7f9f1696baffb9989b4',1,'xran_ru_config']]] +]; diff --git a/docs/API/search/variables_3.html b/docs/API/search/variables_3.html new file mode 100644 index 0000000..f95e34c --- /dev/null +++ b/docs/API/search/variables_3.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/variables_3.js b/docs/API/search/variables_3.js new file mode 100644 index 0000000..d5cd66d --- /dev/null +++ b/docs/API/search/variables_3.js @@ -0,0 +1,34 @@ +var searchData= +[ + ['case',['case',['../gen__test_8m.html#af5cbf8934e1bd30425ac3ccc65d2bfc7',1,'gen_test.m']]], + ['cc_5fid',['cc_id',['../structxran__prb__map.html#a7fd0cb6d38d73460d3eaba911462dc69',1,'xran_prb_map']]], + ['ccid',['ccId',['../structxran__eaxc__info.html#a9264d54f92ac22a760270816417a692b',1,'xran_eaxc_info']]], + ['cellid',['cellId',['../structxran__cb__tag.html#a4daa962a4ae09a2811670d1fa4875f5f',1,'xran_cb_tag']]], + ['cmnhdr',['cmnhdr',['../structxran__ecpri__hdr.html#aa90ff3ad961fe295cdffddc945999212',1,'xran_ecpri_hdr::cmnhdr()'],['../structxran__cp__radioapp__section0__header.html#a5965943d604d681efbc50dbda73e9101',1,'xran_cp_radioapp_section0_header::cmnhdr()'],['../structxran__cp__radioapp__section1__header.html#a5965943d604d681efbc50dbda73e9101',1,'xran_cp_radioapp_section1_header::cmnhdr()'],['../structxran__cp__radioapp__section3__header.html#a5965943d604d681efbc50dbda73e9101',1,'xran_cp_radioapp_section3_header::cmnhdr()'],['../structxran__cp__radioapp__section5__header.html#a5965943d604d681efbc50dbda73e9101',1,'xran_cp_radioapp_section5_header::cmnhdr()'],['../structxran__cp__radioapp__section6__header.html#a5965943d604d681efbc50dbda73e9101',1,'xran_cp_radioapp_section6_header::cmnhdr()'],['../structxran__cp__radioapp__section7__header.html#a5965943d604d681efbc50dbda73e9101',1,'xran_cp_radioapp_section7_header::cmnhdr()'],['../xran__pkt__cp_8h.html#a5965943d604d681efbc50dbda73e9101',1,'cmnhdr(): xran_pkt_cp.h']]], + ['codebookidx',['codebookIdx',['../structxran__sectionext3__info.html#af0609a5d1256dec22d2c153a12b765c9',1,'xran_sectionext3_info']]], + ['codebookindex',['codebookIndex',['../structxran__cp__radioapp__section__ext3__first.html#a5645d802dc4e4fac0d73fc7c68388893',1,'xran_cp_radioapp_section_ext3_first::codebookIndex()'],['../structxran__cp__radioapp__section__ext3__non__first.html#a5645d802dc4e4fac0d73fc7c68388893',1,'xran_cp_radioapp_section_ext3_non_first::codebookIndex()'],['../xran__pkt__cp_8h.html#a5645d802dc4e4fac0d73fc7c68388893',1,'codebookIndex(): xran_pkt_cp.h']]], + ['comp_5fmeth',['comp_meth',['../structxran__cp__rbmap__list.html#aba2cd161fa32b47ca78d0a2e4cf605c3',1,'xran_cp_rbmap_list']]], + ['compbitwidth',['compBitWidth',['../structcompression__params_1_1u__law.html#af01aa0d561630d65396393219f4b3ed2',1,'compression_params::u_law']]], + ['compbitwidthshift',['compBitWidthShift',['../structxran__sectionext1__info.html#ac538592c50bd54df6d3c3dfb98fd1a96',1,'xran_sectionext1_info']]], + ['compmeth',['compMeth',['../structxran__section__info.html#a1e4a3c43fc7865c6520471fb9ba8501f',1,'xran_section_info::compMeth()'],['../structxran__cp__header__params.html#a1e4a3c43fc7865c6520471fb9ba8501f',1,'xran_cp_header_params::compMeth()'],['../structxran__ru__config.html#a1e4a3c43fc7865c6520471fb9ba8501f',1,'xran_ru_config::compMeth()']]], + ['compmethod',['compMethod',['../structxranlib__compress__request.html#ad73157f14fa98c54fb563244c1327933',1,'xranlib_compress_request::compMethod()'],['../structxranlib__decompress__request.html#ad73157f14fa98c54fb563244c1327933',1,'xranlib_decompress_request::compMethod()'],['../structxran__prb__elm.html#ad73157f14fa98c54fb563244c1327933',1,'xran_prb_elm::compMethod()']]], + ['compr_5fhdr_5fparam',['compr_hdr_param',['../structxran__up__pkt__gen__params.html#abd4dfd90066570bbcb342a260adcc7a6',1,'xran_up_pkt_gen_params']]], + ['compr_5fparam',['compr_param',['../structxran__up__pkt__gen__params.html#afac9efa85d81509009b41172040801ec',1,'xran_up_pkt_gen_params']]], + ['compression',['compression',['../struct___runtime_config.html#aeb626e525b4a8a7381eda9c3d11400cb',1,'_RuntimeConfig']]], + ['compshift',['compShift',['../structcompression__params_1_1u__law.html#a6de249d83bc31f90fb2c3882cbe2e54d',1,'compression_params::u_law']]], + ['conf',['conf',['../class_kernel_tests.html#abd42f3e51ae547ec1631e9ac60df29d6',1,'KernelTests']]], + ['core',['core',['../structxran__io__cfg.html#a53341e81716fce9aeddee73d7228f2bf',1,'xran_io_cfg::core()'],['../structxran__io__loop__cfg.html#a18da1e1fddf1ac92da74aecf88ab2b2e',1,'xran_io_loop_cfg::core()']]], + ['cp_5fvlan_5ftag',['cp_vlan_tag',['../struct___runtime_config.html#adc6cb9229207f58f6c4375305dcb5384',1,'_RuntimeConfig::cp_vlan_tag()'],['../structxran__fh__init.html#adc6cb9229207f58f6c4375305dcb5384',1,'xran_fh_init::cp_vlan_tag()']]], + ['cp_5fvtag',['cp_vtag',['../structxran__ethdi__ctx.html#a5233222c0adb365a4dbdc52a54abf845',1,'xran_ethdi_ctx']]], + ['cplength',['cpLength',['../structxran__cp__header__params.html#af57c31d64bbdb0d65fd36c9f38951328',1,'xran_cp_header_params::cpLength()'],['../structxran__cp__radioapp__section0__header.html#af57c31d64bbdb0d65fd36c9f38951328',1,'xran_cp_radioapp_section0_header::cpLength()'],['../structxran__cp__radioapp__section3__header.html#af57c31d64bbdb0d65fd36c9f38951328',1,'xran_cp_radioapp_section3_header::cpLength()'],['../xran__pkt__cp_8h.html#af57c31d64bbdb0d65fd36c9f38951328',1,'cpLength(): xran_pkt_cp.h']]], + ['cpu_5fid',['cpu_id',['../struct_benchmark_parameters.html#a12661f1773e3ba71d5b29d7ffa042b1a',1,'BenchmarkParameters']]], + ['cpusocketid',['cpuSocketId',['../struct_bbu_xran_io_if_struct.html#a137eb45fb17a00119b74ca11a6f4a410',1,'BbuXranIoIfStruct']]], + ['crsremask',['crsReMask',['../structxran__sectionext3__info.html#ab9769277d06e564feeaea9f51770c067',1,'xran_sectionext3_info::crsReMask()'],['../structxran__cp__radioapp__section__ext3__first.html#a004e4df3faa0bb55443b2e184a8d7ace',1,'xran_cp_radioapp_section_ext3_first::crsReMask()'],['../xran__pkt__cp_8h.html#a004e4df3faa0bb55443b2e184a8d7ace',1,'crsReMask(): xran_pkt_cp.h']]], + ['crsshift',['crsShift',['../structxran__sectionext3__info.html#a2feefcc4816844ba7a111798d791919f',1,'xran_sectionext3_info::crsShift()'],['../structxran__cp__radioapp__section__ext3__first.html#a39e7385dc0e87f97e8411cec1e3aced5',1,'xran_cp_radioapp_section_ext3_first::crsShift()'],['../xran__pkt__cp_8h.html#a39e7385dc0e87f97e8411cec1e3aced5',1,'crsShift(): xran_pkt_cp.h']]], + ['crssymnum',['crsSymNum',['../structxran__sectionext3__info.html#a122f48d0face015611f900b5e7c0864a',1,'xran_sectionext3_info::crsSymNum()'],['../structxran__cp__radioapp__section__ext3__first.html#aec327188e616d1ef6c7c7769fa49ee4b',1,'xran_cp_radioapp_section_ext3_first::crsSymNum()'],['../xran__pkt__cp_8h.html#aec327188e616d1ef6c7c7769fa49ee4b',1,'crsSymNum(): xran_pkt_cp.h']]], + ['csf',['csf',['../structxran__sectionext4__info.html#a9469507e787895ef8a3ec1b89df59954',1,'xran_sectionext4_info::csf()'],['../structxran__sectionext5__info.html#aff3ff8bd662f3deba04c54adcbbd2826',1,'xran_sectionext5_info::csf()'],['../structxran__cp__radioapp__section__ext4.html#a2a77d2bfcb0d61e85b549fdbbe4bce18',1,'xran_cp_radioapp_section_ext4::csf()'],['../xran__pkt__cp_8h.html#a2a77d2bfcb0d61e85b549fdbbe4bce18',1,'csf(): xran_pkt_cp.h']]], + ['csf1',['csf1',['../structxran__cp__radioapp__section__ext5.html#ae99d919e21fe8913cf62fe9a45303edf',1,'xran_cp_radioapp_section_ext5::csf1()'],['../xran__pkt__cp_8h.html#ae99d919e21fe8913cf62fe9a45303edf',1,'csf1(): xran_pkt_cp.h']]], + ['csf2',['csf2',['../structxran__cp__radioapp__section__ext5.html#a985dc9bc6fcfe447805f23272240db02',1,'xran_cp_radioapp_section_ext5::csf2()'],['../xran__pkt__cp_8h.html#a985dc9bc6fcfe447805f23272240db02',1,'csf2(): xran_pkt_cp.h']]], + ['cuportid',['cuPortId',['../structxran__eaxc__info.html#a6c426a9de5864167cd297299f82535ca',1,'xran_eaxc_info']]], + ['cur_5findex',['cur_index',['../structxran__sectioninfo__db.html#af9f19a44a251a4b45c3e949b698b9294',1,'xran_sectioninfo_db']]] +]; diff --git a/docs/API/search/variables_4.html b/docs/API/search/variables_4.html new file mode 100644 index 0000000..d7db285 --- /dev/null +++ b/docs/API/search/variables_4.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/variables_4.js b/docs/API/search/variables_4.js new file mode 100644 index 0000000..db84699 --- /dev/null +++ b/docs/API/search/variables_4.js @@ -0,0 +1,29 @@ +var searchData= +[ + ['data',['data',['../structxran__sectionext__info.html#a735984d41155bc1032e09bece8f8d66d',1,'xran_sectionext_info::data()'],['../structxran__section__gen__info.html#a735984d41155bc1032e09bece8f8d66d',1,'xran_section_gen_info::data()'],['../structburst__hdr.html#a5cddf2dd16a831a2fecfa71bc0f34191',1,'burst_hdr::data()'],['../structethdi__hdr.html#a5cddf2dd16a831a2fecfa71bc0f34191',1,'ethdi_hdr::data()']]], + ['data_5fdirection',['data_direction',['../structradio__app__common__hdr.html#a40f66f521df9b1dbae9d0ee852c66e0d',1,'radio_app_common_hdr']]], + ['data_5fin',['data_in',['../structxranlib__compress__request.html#a06bde7ceb81ae7d8d8a101d7cfe4bb25',1,'xranlib_compress_request::data_in()'],['../structxranlib__decompress__request.html#ab7543a52686c726e2f5575a0f53f883f',1,'xranlib_decompress_request::data_in()']]], + ['data_5fout',['data_out',['../structxranlib__compress__response.html#aa84b1c03297680b54ecd081d2a69d791',1,'xranlib_compress_response::data_out()'],['../structxranlib__decompress__response.html#a7eac55fa44711c57d8d15dd09e4db135',1,'xranlib_decompress_response::data_out()']]], + ['data_5fsec_5fhdr',['data_sec_hdr',['../structxran__up__pkt__hdr.html#ae6c3c6125160f3863ad8ef7d7673df50',1,'xran_up_pkt_hdr']]], + ['datacompressed',['dataCompressed',['../struct_block_float_compander_1_1_compressed_data.html#ab2fd68d067a2e45c839584d0985a7953',1,'BlockFloatCompander::CompressedData::dataCompressed()'],['../struct_block_float_compander_b_f_w_1_1_compressed_data.html#ab2fd68d067a2e45c839584d0985a7953',1,'BlockFloatCompanderBFW::CompressedData::dataCompressed()']]], + ['datacompresseddataout',['dataCompressedDataOut',['../struct_block_float_compander_1_1_compressed_data.html#a1ba10aad9e5d2d0c430ced60a4e5083e',1,'BlockFloatCompander::CompressedData::dataCompressedDataOut()'],['../struct_block_float_compander_b_f_w_1_1_compressed_data.html#a1ba10aad9e5d2d0c430ced60a4e5083e',1,'BlockFloatCompanderBFW::CompressedData::dataCompressedDataOut()']]], + ['datadirection',['dataDirection',['../structxran__cp__radioapp__common__header.html#a87c3e6cd307a5ee7d853ec7254fcd010',1,'xran_cp_radioapp_common_header::dataDirection()'],['../xran__pkt__cp_8h.html#a87c3e6cd307a5ee7d853ec7254fcd010',1,'dataDirection(): xran_pkt_cp.h']]], + ['dataexpanded',['dataExpanded',['../struct_block_float_compander_1_1_expanded_data.html#a24d9d1d1b013179affb41be0424b8360',1,'BlockFloatCompander::ExpandedData::dataExpanded()'],['../struct_block_float_compander_b_f_w_1_1_expanded_data.html#a24d9d1d1b013179affb41be0424b8360',1,'BlockFloatCompanderBFW::ExpandedData::dataExpanded()']]], + ['dataexpandedin',['dataExpandedIn',['../struct_block_float_compander_1_1_expanded_data.html#a7bc8fb83339162111a65afae4adeb8a6',1,'BlockFloatCompander::ExpandedData::dataExpandedIn()'],['../struct_block_float_compander_b_f_w_1_1_expanded_data.html#a7bc8fb83339162111a65afae4adeb8a6',1,'BlockFloatCompanderBFW::ExpandedData::dataExpandedIn()']]], + ['debugstop',['debugStop',['../struct___runtime_config.html#a8ad55119f3b227785857aaddef6a8384',1,'_RuntimeConfig::debugStop()'],['../structxran__fh__init.html#a8ad55119f3b227785857aaddef6a8384',1,'xran_fh_init::debugStop()']]], + ['debugstopcount',['debugStopCount',['../struct___runtime_config.html#a0ce1293a9896f3e28d960a0b1d9dc911',1,'_RuntimeConfig::debugStopCount()'],['../structxran__fh__init.html#a0ce1293a9896f3e28d960a0b1d9dc911',1,'xran_fh_init::debugStopCount()']]], + ['dest_5fid',['dest_id',['../structethdi__hdr.html#acaae193f1ae491957a7144912b32712b',1,'ethdi_hdr']]], + ['dic_5fdir',['dic_dir',['../namespacemaster.html#a6e1e462cf427d3093cf766e6257db50a',1,'master']]], + ['dic_5fxu',['dic_xu',['../namespacemaster.html#a0ee1f5720e7776e48e6a82e1d5b78f87',1,'master']]], + ['dir',['dir',['../structxran__cp__gen__params.html#a92abda0bec7c1c978fe96f87aad18067',1,'xran_cp_gen_params::dir()'],['../structxran__prb__map.html#a92abda0bec7c1c978fe96f87aad18067',1,'xran_prb_map::dir()']]], + ['direct_5fpool',['direct_pool',['../structxran__device__ctx.html#a824b36e330221e10743e6a09ebabbe89',1,'xran_device_ctx']]], + ['division_5ffactor',['division_factor',['../class_kernel_tests.html#a929401f577bc540c1f8b7ec8c3b974fd',1,'KernelTests']]], + ['dl_5fbfw_5ffile',['dl_bfw_file',['../struct___runtime_config.html#adca0e9d6c0f577d2eb19c0c17e7d1f21',1,'_RuntimeConfig']]], + ['dllayersperue',['DlLayersPerUe',['../struct___runtime_config.html#af2be62462d0071aa5bb14ecc5f55c701',1,'_RuntimeConfig']]], + ['dpdk_5fdev',['dpdk_dev',['../structxran__io__cfg.html#ae58734e2aff608373089778da1aa4efa',1,'xran_io_cfg::dpdk_dev()'],['../structxran__io__loop__cfg.html#a5df64aa9312bc9c7860efa45117045ff',1,'xran_io_loop_cfg::dpdk_dev()']]], + ['dpdk_5fport',['dpdk_port',['../structxran__fh__config.html#acd95c2211d7c4274883572ee1ac829f4',1,'xran_fh_config']]], + ['dpdkbasebanddevice',['dpdkBasebandDevice',['../structxran__fh__init.html#ab783700ba1f1b7d6d617a102f01e2e8a',1,'xran_fh_init']]], + ['dpdkbasebandfecmode',['dpdkBasebandFecMode',['../structxran__fh__init.html#a4f3d38bbb69d7dc49515ba2e0002537e',1,'xran_fh_init']]], + ['duration',['duration',['../structx_r_a_n_prach_config_table_struct.html#ae7b193beba4cc63eed61b211bae9e802',1,'xRANPrachConfigTableStruct']]], + ['dynamicsectionena',['DynamicSectionEna',['../struct___runtime_config.html#a6fcbf469691a192f1ce298f70981c17a',1,'_RuntimeConfig::DynamicSectionEna()'],['../structxran__fh__init.html#a6fcbf469691a192f1ce298f70981c17a',1,'xran_fh_init::DynamicSectionEna()'],['../structxran__device__ctx.html#a6fcbf469691a192f1ce298f70981c17a',1,'xran_device_ctx::DynamicSectionEna()']]] +]; diff --git a/docs/API/search/variables_5.html b/docs/API/search/variables_5.html new file mode 100644 index 0000000..7bbceeb --- /dev/null +++ b/docs/API/search/variables_5.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/variables_5.js b/docs/API/search/variables_5.js new file mode 100644 index 0000000..139895c --- /dev/null +++ b/docs/API/search/variables_5.js @@ -0,0 +1,33 @@ +var searchData= +[ + ['e_5fbit',['e_bit',['../structecpri__seq__id.html#a1f74b973e738bf357c470565a1256ef5',1,'ecpri_seq_id']]], + ['eaxc',['eaxc',['../structxran__recv__packet__info.html#acd06407a6718be7fc0ed0b9bf6b9e4c3',1,'xran_recv_packet_info']]], + ['eaxc_5fid_5fcfg',['eAxc_id_cfg',['../structxran__device__ctx.html#a3dbfc411296cd3d20af144236590ed91',1,'xran_device_ctx']]], + ['eaxc_5foffset',['eAxC_offset',['../structxran__srs__config.html#a38a5594e33178248d80ccde98a16262a',1,'xran_srs_config::eAxC_offset()'],['../structxran__prach__cp__config.html#a38a5594e33178248d80ccde98a16262a',1,'xran_prach_cp_config::eAxC_offset()']]], + ['eaxcid_5fconf',['eAxCId_conf',['../structxran__fh__init.html#a3a10011d5a15ba88d65b9e027cdff35e',1,'xran_fh_init']]], + ['ebit',['ebit',['../structxran__recv__packet__info.html#afc198efda3f50db2a5cae3c738528dd9',1,'xran_recv_packet_info']]], + ['ecpri_5fconcat',['ecpri_concat',['../structxran__ecpri__cmn__hdr.html#a322d75c9ec1299251f0af915b2a1de75',1,'xran_ecpri_cmn_hdr']]], + ['ecpri_5fhdr',['ecpri_hdr',['../structxran__pkt__comm__hdr.html#ae84e1fad9281c0bfd9c07df6a570a4f0',1,'xran_pkt_comm_hdr::ecpri_hdr()'],['../structxran__up__pkt__hdr.html#ae84e1fad9281c0bfd9c07df6a570a4f0',1,'xran_up_pkt_hdr::ecpri_hdr()']]], + ['ecpri_5fmesg_5ftype',['ecpri_mesg_type',['../structxran__ecpri__cmn__hdr.html#a5b41115e5686e3ff4f14c356a3aa209a',1,'xran_ecpri_cmn_hdr']]], + ['ecpri_5fpayl_5fsize',['ecpri_payl_size',['../structxran__ecpri__cmn__hdr.html#a61bf830b8866773b24cbca74ed3a4d6f',1,'xran_ecpri_cmn_hdr']]], + ['ecpri_5fresv',['ecpri_resv',['../structxran__ecpri__cmn__hdr.html#a5dc01ebf378adefbe507b257d8e6c6d8',1,'xran_ecpri_cmn_hdr']]], + ['ecpri_5fseq_5fid',['ecpri_seq_id',['../structxran__ecpri__hdr.html#aa5d2447d17b81766e3843a60296446e3',1,'xran_ecpri_hdr']]], + ['ecpri_5fver',['ecpri_ver',['../structxran__ecpri__cmn__hdr.html#ae951511bfaa494bee98d7fc69c0966f0',1,'xran_ecpri_cmn_hdr']]], + ['ecpri_5fversion',['ecpri_version',['../structxran__recv__packet__info.html#af75754cde2a3f5b9a770a31adb61fcbf',1,'xran_recv_packet_info']]], + ['ecpri_5fxtc_5fid',['ecpri_xtc_id',['../structxran__ecpri__hdr.html#abe6f9630ee7939118e68d24d90434e0c',1,'xran_ecpri_hdr']]], + ['ef',['ef',['../structxran__section__info.html#afe3859cd334ad3f912622c58d5b2079e',1,'xran_section_info::ef()'],['../structxran__cp__radioapp__section__header.html#ad63f9c3cee58cacccc463bc3c3313cc6',1,'xran_cp_radioapp_section_header::ef()'],['../structxran__cp__radioapp__section__ext__hdr.html#a260ff01d6dbfb5c57ac75516eb131c48',1,'xran_cp_radioapp_section_ext_hdr::ef()'],['../structxran__cp__radioapp__section__ext1.html#afe3859cd334ad3f912622c58d5b2079e',1,'xran_cp_radioapp_section_ext1::ef()'],['../structxran__cp__radioapp__section__ext2.html#ad63f9c3cee58cacccc463bc3c3313cc6',1,'xran_cp_radioapp_section_ext2::ef()'],['../structxran__cp__radioapp__section__ext3__first.html#ad63f9c3cee58cacccc463bc3c3313cc6',1,'xran_cp_radioapp_section_ext3_first::ef()'],['../structxran__cp__radioapp__section__ext3__non__first.html#ad63f9c3cee58cacccc463bc3c3313cc6',1,'xran_cp_radioapp_section_ext3_non_first::ef()'],['../structxran__cp__radioapp__section__ext4.html#ad63f9c3cee58cacccc463bc3c3313cc6',1,'xran_cp_radioapp_section_ext4::ef()'],['../structxran__cp__radioapp__section6.html#ad63f9c3cee58cacccc463bc3c3313cc6',1,'xran_cp_radioapp_section6::ef()'],['../xran__pkt__cp_8h.html#ad63f9c3cee58cacccc463bc3c3313cc6',1,'ef(): xran_pkt_cp.h']]], + ['enablecp',['enableCP',['../struct___runtime_config.html#ab0bb0b684cc2798a2ef1ceabe4a47e38',1,'_RuntimeConfig::enableCP()'],['../structxran__fh__init.html#ab0bb0b684cc2798a2ef1ceabe4a47e38',1,'xran_fh_init::enableCP()'],['../structxran__device__ctx.html#a1acdb894b98fd0ddf9e5542b50acfc50',1,'xran_device_ctx::enableCP()']]], + ['enableprach',['enablePrach',['../struct___runtime_config.html#aede2a014b7865a3e3b425d468f157331',1,'_RuntimeConfig::enablePrach()'],['../structxran__device__ctx.html#ac6a2e22859da6e8385450b7b9303c709',1,'xran_device_ctx::enablePrach()']]], + ['enablesrs',['enableSrs',['../struct___runtime_config.html#ac059a4a69d0a3fd511290fea2d95ab25',1,'_RuntimeConfig::enableSrs()'],['../structxran__device__ctx.html#a66006900f44c762b5df67ded52ee8edb',1,'xran_device_ctx::enableSrs()']]], + ['end_5ftime',['END_TIME',['../namespacemaster.html#a728d32d8d3a9326d4a888b8bb802cf23',1,'master']]], + ['entities',['entities',['../structxran__ethdi__ctx.html#a9aae028a7de6cf24800730ee0ead940a',1,'xran_ethdi_ctx']]], + ['entities_5faddrs',['entities_addrs',['../ethdi_8h.html#a061420dc29ec42fb222295d9496edbf7',1,'ethdi.h']]], + ['eth_5fhdr',['eth_hdr',['../structxran__pkt__comm__hdr.html#a6e3fef7be6167ccb1e122ef76ceb409a',1,'xran_pkt_comm_hdr::eth_hdr()'],['../structeth__xran__up__pkt__hdr.html#a6e3fef7be6167ccb1e122ef76ceb409a',1,'eth_xran_up_pkt_hdr::eth_hdr()']]], + ['ethertype',['ethertype',['../ethdi_8c.html#aa9296c58dc24c63c4ee927db394a97d7',1,'ethdi.c']]], + ['exdata',['exData',['../structxran__section__gen__info.html#ab8e4e63c68495e71cca8e6ea069b9218',1,'xran_section_gen_info']]], + ['exdatasize',['exDataSize',['../structxran__section__gen__info.html#aa561d89cbc570e39183c64a5095a6053',1,'xran_section_gen_info']]], + ['exponent',['exponent',['../structxran__sectionext1__info.html#af05d5abe7656953548edfb3eb5117659',1,'xran_sectionext1_info::exponent()'],['../structcompression__params_1_1block__fl__point.html#af05d5abe7656953548edfb3eb5117659',1,'compression_params::block_fl_point::exponent()']]], + ['ext_5fsection_5fsz',['ext_section_sz',['../structxran__cp__bf__weight.html#a17671b66262aad67690f1c6f50b11c67',1,'xran_cp_bf_weight']]], + ['extlen',['extLen',['../structxran__cp__radioapp__section__ext__hdr.html#ac83c9926f298a62e15cfbc16571a54fb',1,'xran_cp_radioapp_section_ext_hdr::extLen()'],['../structxran__cp__radioapp__section__ext1.html#a1704e602910415f3250e10f4f215fb84',1,'xran_cp_radioapp_section_ext1::extLen()'],['../structxran__cp__radioapp__section__ext2.html#ab53808b9894ae611b5b0800f2cdc248c',1,'xran_cp_radioapp_section_ext2::extLen()'],['../structxran__cp__radioapp__section__ext3__first.html#ab53808b9894ae611b5b0800f2cdc248c',1,'xran_cp_radioapp_section_ext3_first::extLen()'],['../structxran__cp__radioapp__section__ext3__non__first.html#ab53808b9894ae611b5b0800f2cdc248c',1,'xran_cp_radioapp_section_ext3_non_first::extLen()'],['../structxran__cp__radioapp__section__ext4.html#ab53808b9894ae611b5b0800f2cdc248c',1,'xran_cp_radioapp_section_ext4::extLen()'],['../xran__pkt__cp_8h.html#ab53808b9894ae611b5b0800f2cdc248c',1,'extLen(): xran_pkt_cp.h']]], + ['exttype',['extType',['../structxran__cp__radioapp__section__ext__hdr.html#a9f0a18447f69980ff7c9371840018713',1,'xran_cp_radioapp_section_ext_hdr::extType()'],['../structxran__cp__radioapp__section__ext1.html#af69684e1de711986c6c92dcb0cde3ef9',1,'xran_cp_radioapp_section_ext1::extType()'],['../structxran__cp__radioapp__section__ext2.html#a0fb8616e86f89f4b8af4e191d1cb7ce7',1,'xran_cp_radioapp_section_ext2::extType()'],['../structxran__cp__radioapp__section__ext3__first.html#a0fb8616e86f89f4b8af4e191d1cb7ce7',1,'xran_cp_radioapp_section_ext3_first::extType()'],['../structxran__cp__radioapp__section__ext3__non__first.html#a0fb8616e86f89f4b8af4e191d1cb7ce7',1,'xran_cp_radioapp_section_ext3_non_first::extType()'],['../structxran__cp__radioapp__section__ext4.html#a0fb8616e86f89f4b8af4e191d1cb7ce7',1,'xran_cp_radioapp_section_ext4::extType()'],['../xran__pkt__cp_8h.html#a0fb8616e86f89f4b8af4e191d1cb7ce7',1,'extType(): xran_pkt_cp.h']]] +]; diff --git a/docs/API/search/variables_6.html b/docs/API/search/variables_6.html new file mode 100644 index 0000000..4eb162d --- /dev/null +++ b/docs/API/search/variables_6.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/variables_6.js b/docs/API/search/variables_6.js new file mode 100644 index 0000000..5767276 --- /dev/null +++ b/docs/API/search/variables_6.js @@ -0,0 +1,20 @@ +var searchData= +[ + ['fftsize',['fftSize',['../structxran__cp__header__params.html#a59e7e8f3feb686850b0cb0ae065de85b',1,'xran_cp_header_params::fftSize()'],['../structxran__ru__config.html#a59e7e8f3feb686850b0cb0ae065de85b',1,'xran_ru_config::fftSize()'],['../structxran__cp__radioapp__frame_structure.html#a59e7e8f3feb686850b0cb0ae065de85b',1,'xran_cp_radioapp_frameStructure::fftSize()'],['../xran__pkt__cp_8h.html#a59e7e8f3feb686850b0cb0ae065de85b',1,'fftSize(): xran_pkt_cp.h']]], + ['fh_5fcfg',['fh_cfg',['../structxran__device__ctx.html#a4adf91126704ea524f98f461f6180c85',1,'xran_device_ctx']]], + ['fh_5fcounters',['fh_counters',['../structxran__device__ctx.html#ad2bc382255cb424431bb7515a796e5bf',1,'xran_device_ctx']]], + ['fh_5finit',['fh_init',['../structxran__device__ctx.html#a3842cc1a01bcaa4df37fd8c10308ff01',1,'xran_device_ctx']]], + ['fields',['fields',['../structdata__section__hdr.html#a9f1bf385f4549249e191e6563acbdecb',1,'data_section_hdr']]], + ['file_5fname',['file_name',['../gen__test_8m.html#a58ed1f4fc05e40edea694d9f889da543',1,'gen_test.m']]], + ['fileprefix',['filePrefix',['../structxran__fh__init.html#a6a78f61ed42f876c7cfa835be5ed0942',1,'xran_fh_init']]], + ['filter_5fid',['filter_id',['../structradio__app__common__hdr.html#ab370897260617b317ee8957e470de1cc',1,'radio_app_common_hdr']]], + ['filteridx',['filterIdx',['../structxran__cp__header__params.html#ad5150de5e1c141cfe288f260afb00830',1,'xran_cp_header_params::filterIdx()'],['../structxran__prach__cp__config.html#ad5150de5e1c141cfe288f260afb00830',1,'xran_prach_cp_config::filterIdx()']]], + ['filterindex',['filterIndex',['../structxran__cp__radioapp__common__header.html#a6275bf84e65f219845e03cf9535f893a',1,'xran_cp_radioapp_common_header::filterIndex()'],['../xran__pkt__cp_8h.html#a6275bf84e65f219845e03cf9535f893a',1,'filterIndex(): xran_pkt_cp.h']]], + ['fn',['fn',['../ethdi_8c.html#a964502cdb0a980bb8110971755faec77',1,'ethdi.c']]], + ['fra',['fRA',['../structx_r_a_n_prach_preamble_l_r_a_struct.html#aed8831c5fee95cb19b08e7fddb5d9658',1,'xRANPrachPreambleLRAStruct']]], + ['frame_5fconf',['frame_conf',['../structxran__fh__config.html#a72b0cba491d0dd2703d684cb2c2a14cf',1,'xran_fh_config']]], + ['frame_5fid',['frame_id',['../structradio__app__common__hdr.html#a03c1016ac46b9df250b994f242cf956a',1,'radio_app_common_hdr']]], + ['frameid',['frameId',['../structxran__cp__header__params.html#a048f7f66787565b266517ddaa551d98e',1,'xran_cp_header_params::frameId()'],['../structxran__cp__radioapp__common__header.html#a15a5e5806d950f2d75550c17b007153c',1,'xran_cp_radioapp_common_header::frameId()'],['../xran__pkt__cp_8h.html#a15a5e5806d950f2d75550c17b007153c',1,'frameId(): xran_pkt_cp.h']]], + ['framestructure',['frameStructure',['../structxran__cp__radioapp__section0__header.html#addd131fba195042d2b0b7de7c5183b6a',1,'xran_cp_radioapp_section0_header::frameStructure()'],['../structxran__cp__radioapp__section3__header.html#addd131fba195042d2b0b7de7c5183b6a',1,'xran_cp_radioapp_section3_header::frameStructure()'],['../xran__pkt__cp_8h.html#addd131fba195042d2b0b7de7c5183b6a',1,'frameStructure(): xran_pkt_cp.h']]], + ['freqoffset',['freqOffset',['../structxran__section__info.html#a3af58496c14a1c91c015aa6ffe7dca49',1,'xran_section_info::freqOffset()'],['../structxran__cp__radioapp__section3.html#a13677edb1da78e5c96fc793592142392',1,'xran_cp_radioapp_section3::freqOffset()'],['../structxran__prach__cp__config.html#a3af58496c14a1c91c015aa6ffe7dca49',1,'xran_prach_cp_config::freqOffset()'],['../xran__pkt__cp_8h.html#a13677edb1da78e5c96fc793592142392',1,'freqOffset(): xran_pkt_cp.h']]] +]; diff --git a/docs/API/search/variables_7.html b/docs/API/search/variables_7.html new file mode 100644 index 0000000..0408829 --- /dev/null +++ b/docs/API/search/variables_7.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/variables_7.js b/docs/API/search/variables_7.js new file mode 100644 index 0000000..1b459d6 --- /dev/null +++ b/docs/API/search/variables_7.js @@ -0,0 +1,19 @@ +var searchData= +[ + ['g_5fdlrate',['g_DlRate',['../common_8c.html#ab6a2b393cac2724a10352f4fc5a54a3c',1,'common.c']]], + ['g_5fethdi_5fctx',['g_ethdi_ctx',['../ethdi_8c.html#a87322175547262f4937875027a108e90',1,'ethdi.c']]], + ['g_5fulrate',['g_UlRate',['../common_8c.html#a6ea36bb781b9c3045bedb81a5af4ec90',1,'common.c']]], + ['gdlprocadvance',['gDLProcAdvance',['../common_8c.html#a187e00334790a43d509b23b49bf9a741',1,'common.c']]], + ['gdlresetadvance',['gDLResetAdvance',['../common_8c.html#a76a0e379fc6f77567418d4e796e779db',1,'common.c']]], + ['gmaxslotnum',['gMaxSlotNum',['../common_8c.html#aa4df1a21858f512ae1335aa50df1ce87',1,'common.c']]], + ['gnumdlctx',['gNumDLCtx',['../common_8c.html#a791aa78c25664db4024f849dff35373a',1,'common.c']]], + ['gnumulctx',['gNumULCtx',['../common_8c.html#ad54ed8a4092cdbdec6d5aacbd61d696c',1,'common.c']]], + ['gps_5falpha',['GPS_Alpha',['../struct___runtime_config.html#ae2b1a8eb1532f9f5aedc946086bec354',1,'_RuntimeConfig::GPS_Alpha()'],['../structxran__fh__init.html#ae2b1a8eb1532f9f5aedc946086bec354',1,'xran_fh_init::GPS_Alpha()']]], + ['gps_5fbeta',['GPS_Beta',['../struct___runtime_config.html#aba260ecc47cc76ee126e5b9837f31ab8',1,'_RuntimeConfig::GPS_Beta()'],['../structxran__fh__init.html#aba260ecc47cc76ee126e5b9837f31ab8',1,'xran_fh_init::GPS_Beta()']]], + ['grp_5fid',['grp_id',['../structxran__cp__rbmap__list.html#acbe4924d3235876d0b54c3c9ef6f8149',1,'xran_cp_rbmap_list']]], + ['gulprocadvance',['gULProcAdvance',['../common_8c.html#aca5989a141a0f1335592b2ad78a84349',1,'common.c']]], + ['gxranprachdatatable_5fmmw',['gxranPrachDataTable_mmw',['../xran__common_8h.html#ac7439428a0fb0c1782323193707965f6',1,'gxranPrachDataTable_mmw(): xran_ul_tables.c'],['../xran__ul__tables_8c.html#ac7439428a0fb0c1782323193707965f6',1,'gxranPrachDataTable_mmw(): xran_ul_tables.c']]], + ['gxranprachdatatable_5fsub6_5ffdd',['gxranPrachDataTable_sub6_fdd',['../xran__common_8h.html#a5edf7a402993c76a3a27bee4f390d38c',1,'gxranPrachDataTable_sub6_fdd(): xran_ul_tables.c'],['../xran__ul__tables_8c.html#a5edf7a402993c76a3a27bee4f390d38c',1,'gxranPrachDataTable_sub6_fdd(): xran_ul_tables.c']]], + ['gxranprachdatatable_5fsub6_5ftdd',['gxranPrachDataTable_sub6_tdd',['../xran__common_8h.html#a1c7c9fd55feeae30dc0b8502ef4cab03',1,'gxranPrachDataTable_sub6_tdd(): xran_ul_tables.c'],['../xran__ul__tables_8c.html#a1c7c9fd55feeae30dc0b8502ef4cab03',1,'gxranPrachDataTable_sub6_tdd(): xran_ul_tables.c']]], + ['gxranpreambleforlra',['gxranPreambleforLRA',['../xran__common_8h.html#ab7c9c49ac127f2812c5ffe8c54364286',1,'gxranPreambleforLRA(): xran_ul_tables.c'],['../xran__ul__tables_8c.html#ab7c9c49ac127f2812c5ffe8c54364286',1,'gxranPreambleforLRA(): xran_ul_tables.c']]] +]; diff --git a/docs/API/search/variables_8.html b/docs/API/search/variables_8.html new file mode 100644 index 0000000..d54d096 --- /dev/null +++ b/docs/API/search/variables_8.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/variables_8.js b/docs/API/search/variables_8.js new file mode 100644 index 0000000..416050a --- /dev/null +++ b/docs/API/search/variables_8.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['h',['H',['../gen__test_8m.html#aa64fdf4c18d8172f6bdc412e7d2013e1',1,'gen_test.m']]], + ['hdr',['hdr',['../structxran__cp__gen__params.html#a6c787affb1020c2b8058a3ddeff3fe52',1,'xran_cp_gen_params::hdr()'],['../structxran__cp__radioapp__section0.html#a3675a820a4aec2a8724471cb7f840f16',1,'xran_cp_radioapp_section0::hdr()'],['../structxran__cp__radioapp__section1.html#a3675a820a4aec2a8724471cb7f840f16',1,'xran_cp_radioapp_section1::hdr()'],['../structxran__cp__radioapp__section3.html#a3675a820a4aec2a8724471cb7f840f16',1,'xran_cp_radioapp_section3::hdr()'],['../structxran__cp__radioapp__section5.html#a3675a820a4aec2a8724471cb7f840f16',1,'xran_cp_radioapp_section5::hdr()'],['../xran__pkt__cp_8h.html#a3675a820a4aec2a8724471cb7f840f16',1,'hdr(): xran_pkt_cp.h']]], + ['head',['head',['../ethernet_8c.html#ad9e63131290aa4ae5beeddaf0505946d',1,'ethernet.c']]] +]; diff --git a/docs/API/search/variables_9.html b/docs/API/search/variables_9.html new file mode 100644 index 0000000..234dc60 --- /dev/null +++ b/docs/API/search/variables_9.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/variables_9.js b/docs/API/search/variables_9.js new file mode 100644 index 0000000..c163af2 --- /dev/null +++ b/docs/API/search/variables_9.js @@ -0,0 +1,32 @@ +var searchData= +[ + ['i_5fsample',['i_sample',['../structrb__map.html#ac65eb6aaf536c0ee06118898dd5bd82d',1,'rb_map']]], + ['icompressioninput',['iCompressionInput',['../unittests_8cc.html#ab82f258658bb6832617db7d0992ee0a4',1,'unittests.cc']]], + ['icompressionoutput_5favx_5fa',['iCompressionOutput_AVX_A',['../unittests_8cc.html#a1ad007b76d7b21a06368f0ec21c27cc2',1,'unittests.cc']]], + ['id',['id',['../structxran__section__info.html#a4fc3a0c58dfbd1e68224521185cb9384',1,'xran_section_info::id()'],['../structxran__io__cfg.html#a1e6927fa1486224044e568f9c370519b',1,'xran_io_cfg::id()'],['../structxran__io__loop__cfg.html#a1e6927fa1486224044e568f9c370519b',1,'xran_io_loop_cfg::id()']]], + ['idecompressionoutput_5favx_5fa',['iDeCompressionOutput_AVX_A',['../unittests_8cc.html#a9d45c46ffc07d37b74ff5a826ce9574b',1,'unittests.cc']]], + ['ifft_5fin_5f1',['ifft_in_1',['../gen__test_8m.html#a5ace8229850f860d97894597163148f6',1,'gen_test.m']]], + ['ilength',['iLength',['../unittests_8cc.html#a103741b3e35f622960485bb8022ff1c3',1,'unittests.cc']]], + ['im',['im',['../struct_c_o_m_p_l_e_x32.html#a967065f052e06d0e239b9bc56e0cc317',1,'COMPLEX32::im()'],['../structcomplex__int16__t.html#a0a0dbf17332859821db9cbe7b4bc7183',1,'complex_int16_t::im()'],['../structcomplex__int32__t.html#affac5cb482b316df6c36ee03670fff9a',1,'complex_int32_t::im()'],['../structcomplex__float.html#a967065f052e06d0e239b9bc56e0cc317',1,'complex_float::im()'],['../structcomplex__double.html#a994624d52dcfaad836adf3f92a8d6b7d',1,'complex_double::im()'],['../structcomplex__half.html#a6d310439e7665c7a3ebee8be034a56d2',1,'complex_half::im()']]], + ['indirect_5fpool',['indirect_pool',['../structxran__device__ctx.html#a6708e76366bccd72d10a3161e485e0f4',1,'xran_device_ctx']]], + ['info',['info',['../structxran__section__gen__info.html#a6ccd48a36736101737e9b419d7a3cc85',1,'xran_section_gen_info']]], + ['instance_5fid',['instance_id',['../struct___runtime_config.html#a7c41b87d5f4518f22797b56e183c6d81',1,'_RuntimeConfig']]], + ['interval_5fus',['interval_us',['../xran__common_8c.html#ad36e9c82072e0340b87a46d1dcb1c141',1,'interval_us(): xran_main.c'],['../xran__main_8c.html#a4420e8cf61fbcd985ef37ef3425dc899',1,'interval_us(): xran_main.c']]], + ['io_5fcfg',['io_cfg',['../structxran__fh__init.html#a8a5462b0059073e90d42f8bfa066d566',1,'xran_fh_init::io_cfg()'],['../structxran__ethdi__ctx.html#a84a901e82e979ec87118ff865b311a1f',1,'xran_ethdi_ctx::io_cfg()']]], + ['io_5fcore',['io_core',['../struct___runtime_config.html#a32d3d485cc059e8003d9d99f0707f2e1',1,'_RuntimeConfig']]], + ['iprb',['iPrb',['../gen__test_8m.html#ac6b31045f94257d82fbbcf64a170a093',1,'gen_test.m']]], + ['iq_5fbfw_5fbuffer_5fsize_5fdl',['iq_bfw_buffer_size_dl',['../classxran_lib_wraper.html#ad1ab6e8c4efe2805b76180b34ce4c019',1,'xranLibWraper::iq_bfw_buffer_size_dl()'],['../common_8c.html#ad1ab6e8c4efe2805b76180b34ce4c019',1,'iq_bfw_buffer_size_dl(): common.c'],['../common_8h.html#ad1ab6e8c4efe2805b76180b34ce4c019',1,'iq_bfw_buffer_size_dl(): common.c']]], + ['iq_5fbfw_5fbuffer_5fsize_5ful',['iq_bfw_buffer_size_ul',['../classxran_lib_wraper.html#a8b3edaed699562559db744c8e2aa36b1',1,'xranLibWraper::iq_bfw_buffer_size_ul()'],['../common_8c.html#a8b3edaed699562559db744c8e2aa36b1',1,'iq_bfw_buffer_size_ul(): common.c'],['../common_8h.html#a8b3edaed699562559db744c8e2aa36b1',1,'iq_bfw_buffer_size_ul(): common.c']]], + ['iq_5fbuff_5flen',['iq_buff_len',['../structxran__cp__rbmap__list.html#a4743b4bb624ddabc85672184430d9d70',1,'xran_cp_rbmap_list']]], + ['iq_5fbuff_5foffset',['iq_buff_offset',['../structxran__cp__rbmap__list.html#abde12917f82ac21d3b35f788384b69d4',1,'xran_cp_rbmap_list']]], + ['iq_5fbuffer_5flen',['iq_buffer_len',['../structxran__section__desc.html#ae55ac9499e5406559ad2ff0376dd0a68',1,'xran_section_desc']]], + ['iq_5fbuffer_5foffset',['iq_buffer_offset',['../structxran__section__desc.html#a4d1fb35f3f2d9f3556fbd1761a167255',1,'xran_section_desc']]], + ['iq_5foffset',['iq_offset',['../class_u__plane_check.html#ad3c8fd8da54a8693b6ea41565af2ad19',1,'U_planeCheck::iq_offset()'],['../class_u__plane_perf.html#ad3c8fd8da54a8693b6ea41565af2ad19',1,'U_planePerf::iq_offset()']]], + ['iq_5fplayback_5fbuffer_5fsize_5fdl',['iq_playback_buffer_size_dl',['../common_8c.html#a9aedc75ff69810f3a7ff424e562e77de',1,'iq_playback_buffer_size_dl(): common.c'],['../common_8h.html#a9aedc75ff69810f3a7ff424e562e77de',1,'iq_playback_buffer_size_dl(): common.c']]], + ['iq_5fplayback_5fbuffer_5fsize_5ful',['iq_playback_buffer_size_ul',['../common_8c.html#afd05de12c89b35af48a21e0d9620c2a1',1,'iq_playback_buffer_size_ul(): common.c'],['../common_8h.html#afd05de12c89b35af48a21e0d9620c2a1',1,'iq_playback_buffer_size_ul(): common.c']]], + ['iq_5fsrs_5fbuffer_5fsize_5ful',['iq_srs_buffer_size_ul',['../common_8c.html#a325598fd5fa9c647766e2b1fe43f596f',1,'iq_srs_buffer_size_ul(): common.c'],['../common_8h.html#a325598fd5fa9c647766e2b1fe43f596f',1,'iq_srs_buffer_size_ul(): common.c']]], + ['iqorder',['iqOrder',['../structxran__ru__config.html#ad1b1309ca2645e24fa201f8decae1988',1,'xran_ru_config']]], + ['iqswap',['iqswap',['../struct___runtime_config.html#ad08d1758ebedc3f28561b3f4d1c51645',1,'_RuntimeConfig']]], + ['iqwidth',['iqWidth',['../structxranlib__compress__request.html#a36f5a0cedd274c3ec55f81535f06e0de',1,'xranlib_compress_request::iqWidth()'],['../structxranlib__decompress__request.html#a36f5a0cedd274c3ec55f81535f06e0de',1,'xranlib_decompress_request::iqWidth()'],['../struct_block_float_compander_1_1_compressed_data.html#ad88e9475d4e269108bb716a1cf5f0d40',1,'BlockFloatCompander::CompressedData::iqWidth()'],['../struct_block_float_compander_1_1_expanded_data.html#ad88e9475d4e269108bb716a1cf5f0d40',1,'BlockFloatCompander::ExpandedData::iqWidth()'],['../struct_block_float_compander_b_f_w_1_1_compressed_data.html#ad88e9475d4e269108bb716a1cf5f0d40',1,'BlockFloatCompanderBFW::CompressedData::iqWidth()'],['../struct_block_float_compander_b_f_w_1_1_expanded_data.html#ad88e9475d4e269108bb716a1cf5f0d40',1,'BlockFloatCompanderBFW::ExpandedData::iqWidth()'],['../structxran__section__info.html#a1520b1ef6131bff6c14b88d849c266c5',1,'xran_section_info::iqWidth()'],['../structxran__cp__header__params.html#a1520b1ef6131bff6c14b88d849c266c5',1,'xran_cp_header_params::iqWidth()'],['../structxran__cp__rbmap__list.html#a1520b1ef6131bff6c14b88d849c266c5',1,'xran_cp_rbmap_list::iqWidth()'],['../structxran__prb__elm.html#a36f5a0cedd274c3ec55f81535f06e0de',1,'xran_prb_elm::iqWidth()'],['../structxran__ru__config.html#a1520b1ef6131bff6c14b88d849c266c5',1,'xran_ru_config::iqWidth()']]], + ['isprachslot',['isPRACHslot',['../structxran__prach__cp__config.html#a3b00fdd9e145b9c7be29aa35c6f94fe1',1,'xran_prach_cp_config']]] +]; diff --git a/docs/API/search/variables_a.html b/docs/API/search/variables_a.html new file mode 100644 index 0000000..0892488 --- /dev/null +++ b/docs/API/search/variables_a.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/variables_a.js b/docs/API/search/variables_a.js new file mode 100644 index 0000000..194c995 --- /dev/null +++ b/docs/API/search/variables_a.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['k_5fcachebytealignment',['k_cacheByteAlignment',['../xran__compression_8hpp.html#ae5c6eb9e85f08f46ed0bf72749445d5d',1,'xran_compression.hpp']]], + ['known_5fpeers',['known_peers',['../structxran__ethdi__ctx.html#a01a95c1b6bb9bcb0390508a3045ad0ed',1,'xran_ethdi_ctx']]] +]; diff --git a/docs/API/search/variables_b.html b/docs/API/search/variables_b.html new file mode 100644 index 0000000..ea46965 --- /dev/null +++ b/docs/API/search/variables_b.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/variables_b.js b/docs/API/search/variables_b.js new file mode 100644 index 0000000..0cb4261 --- /dev/null +++ b/docs/API/search/variables_b.js @@ -0,0 +1,15 @@ +var searchData= +[ + ['laamsglen',['laaMsgLen',['../structxran__cp__radioapp__section7__header.html#a4a3e173586ee317bb0948180e97377d9',1,'xran_cp_radioapp_section7_header::laaMsgLen()'],['../xran__pkt__cp_8h.html#a4a3e173586ee317bb0948180e97377d9',1,'laaMsgLen(): xran_pkt_cp.h']]], + ['laamsgtype',['laaMsgType',['../structxran__cp__radioapp__section7__header.html#aeb1df06af4d93ec0e092de5cb10f0f08',1,'xran_cp_radioapp_section7_header::laaMsgType()'],['../xran__pkt__cp_8h.html#aeb1df06af4d93ec0e092de5cb10f0f08',1,'laaMsgType(): xran_pkt_cp.h']]], + ['lastsymbol',['lastsymbol',['../class_prach_check.html#a28e2512868d0865874dc55150a46f39a',1,'PrachCheck::lastsymbol()'],['../class_prach_perf.html#a28e2512868d0865874dc55150a46f39a',1,'PrachPerf::lastsymbol()']]], + ['layerid',['layerId',['../structxran__sectionext3__info.html#a539f76c6228d64723233120f82b0369b',1,'xran_sectionext3_info::layerId()'],['../structxran__cp__radioapp__section__ext3__first.html#abb85b533cefe89b78d49e57e7a0c6ee4',1,'xran_cp_radioapp_section_ext3_first::layerId()'],['../structxran__cp__radioapp__section__ext3__non__first.html#abb85b533cefe89b78d49e57e7a0c6ee4',1,'xran_cp_radioapp_section_ext3_non_first::layerId()'],['../xran__pkt__cp_8h.html#abb85b533cefe89b78d49e57e7a0c6ee4',1,'layerId(): xran_pkt_cp.h']]], + ['len',['len',['../structxranlib__compress__request.html#a6858c4011b5cad020222e9ca5c2786f5',1,'xranlib_compress_request::len()'],['../structxranlib__compress__response.html#a6858c4011b5cad020222e9ca5c2786f5',1,'xranlib_compress_response::len()'],['../structxranlib__decompress__request.html#a6858c4011b5cad020222e9ca5c2786f5',1,'xranlib_decompress_request::len()'],['../structxranlib__decompress__response.html#a6858c4011b5cad020222e9ca5c2786f5',1,'xranlib_decompress_response::len()'],['../structxran__sectionext__info.html#a8aed22e2c7b283705ec82e0120515618',1,'xran_sectionext_info::len()'],['../structxran__section__gen__info.html#a8aed22e2c7b283705ec82e0120515618',1,'xran_section_gen_info::len()'],['../structmbuf__table.html#a8aed22e2c7b283705ec82e0120515618',1,'mbuf_table::len()']]], + ['list',['list',['../structxran__sectioninfo__db.html#acadfaa8ee00984098976838a75457775',1,'xran_sectioninfo_db']]], + ['loc_5fdatacompresseddataout',['loc_dataCompressedDataOut',['../compander__functional_8cc.html#a30484453f2665005b64f9c3304c66219',1,'compander_functional.cc']]], + ['loc_5fdataexpandedin',['loc_dataExpandedIn',['../compander__functional_8cc.html#ae7803337d9e14f3be742bb64592b4436',1,'compander_functional.cc']]], + ['loc_5fdataexpandedres',['loc_dataExpandedRes',['../compander__functional_8cc.html#a16766ae2dce2fc482597a6861ce33723',1,'compander_functional.cc']]], + ['log_5flevel',['log_level',['../structxran__fh__config.html#a583c2f58d0655789ea36e22d605ab9ad',1,'xran_fh_config']]], + ['loop',['loop',['../struct_benchmark_parameters.html#aac742be3d619ef9ed50afc0c063c6727',1,'BenchmarkParameters']]], + ['lralen',['lRALen',['../structx_r_a_n_prach_preamble_l_r_a_struct.html#ab42b266a3a60e7fc0e082ce7f928208d',1,'xRANPrachPreambleLRAStruct']]] +]; diff --git a/docs/API/search/variables_c.html b/docs/API/search/variables_c.html new file mode 100644 index 0000000..94bf1a6 --- /dev/null +++ b/docs/API/search/variables_c.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/variables_c.js b/docs/API/search/variables_c.js new file mode 100644 index 0000000..a5fff38 --- /dev/null +++ b/docs/API/search/variables_c.js @@ -0,0 +1,112 @@ +var searchData= +[ + ['m_5fantid',['m_antId',['../class_c__plane.html#a73f8e8274bd97892f58f73d1d83b533a',1,'C_plane::m_antId()'],['../class_prach_check.html#a73f8e8274bd97892f58f73d1d83b533a',1,'PrachCheck::m_antId()'],['../class_prach_perf.html#a73f8e8274bd97892f58f73d1d83b533a',1,'PrachPerf::m_antId()']]], + ['m_5fbeamid',['m_beamId',['../class_c__plane.html#a047b603d6d908d93ce5d58dcc2b63036',1,'C_plane::m_beamId()'],['../class_prach_check.html#a047b603d6d908d93ce5d58dcc2b63036',1,'PrachCheck::m_beamId()'],['../class_prach_perf.html#a047b603d6d908d93ce5d58dcc2b63036',1,'PrachPerf::m_beamId()']]], + ['m_5fbfwiq',['m_bfwIQ',['../class_c__plane.html#a710f294997b8d29aaa21b691735a724b',1,'C_plane']]], + ['m_5fbitmask',['m_bitmask',['../c__plane__tests_8cc.html#ad7d97e82bb00f5271dc1955f06719e46',1,'m_bitmask(): c_plane_tests.cc'],['../chain__tests_8cc.html#ad7d97e82bb00f5271dc1955f06719e46',1,'m_bitmask(): chain_tests.cc']]], + ['m_5fbsub6',['m_bSub6',['../classxran_lib_wraper.html#ae064c199bd624882f23a786c57aa5afe',1,'xranLibWraper::m_bSub6()'],['../class_test_chain.html#ae064c199bd624882f23a786c57aa5afe',1,'TestChain::m_bSub6()']]], + ['m_5fccid',['m_ccId',['../class_c__plane.html#a9f102f8bfc163d6a26411d1855c8c97c',1,'C_plane::m_ccId()'],['../class_prach_check.html#a9f102f8bfc163d6a26411d1855c8c97c',1,'PrachCheck::m_ccId()'],['../class_prach_perf.html#a9f102f8bfc163d6a26411d1855c8c97c',1,'PrachPerf::m_ccId()']]], + ['m_5fcompmethod',['m_compMethod',['../class_c__plane.html#a493740cacd8f8d3e235c4626e501d3e2',1,'C_plane::m_compMethod()'],['../class_prach_check.html#a493740cacd8f8d3e235c4626e501d3e2',1,'PrachCheck::m_compMethod()'],['../class_prach_perf.html#a493740cacd8f8d3e235c4626e501d3e2',1,'PrachPerf::m_compMethod()']]], + ['m_5fcplength',['m_cpLength',['../class_c__plane.html#a0d7a93a1807e46144dedf9ab3cf87865',1,'C_plane']]], + ['m_5fdir',['m_dir',['../class_c__plane.html#afa985909bf1a1a9cc7a7070c9a73016e',1,'C_plane::m_dir()'],['../class_prach_check.html#afa985909bf1a1a9cc7a7070c9a73016e',1,'PrachCheck::m_dir()'],['../class_prach_perf.html#afa985909bf1a1a9cc7a7070c9a73016e',1,'PrachPerf::m_dir()']]], + ['m_5fdirstr',['m_dirStr',['../class_c__plane.html#a4bb0d1ca82a59555014c6c0e1060cbdf',1,'C_plane::m_dirStr()'],['../class_prach_check.html#a4bb0d1ca82a59555014c6c0e1060cbdf',1,'PrachCheck::m_dirStr()'],['../class_prach_perf.html#a4bb0d1ca82a59555014c6c0e1060cbdf',1,'PrachPerf::m_dirStr()']]], + ['m_5fdpdk_5fbbdev',['m_dpdk_bbdev',['../classxran_lib_wraper.html#af2f499e1b7c34ec4e1c600e00bddc75f',1,'xranLibWraper']]], + ['m_5fdpdk_5fdev_5fcp',['m_dpdk_dev_cp',['../classxran_lib_wraper.html#aa0dbf843da8d26633022c153c473deb5',1,'xranLibWraper']]], + ['m_5fdpdk_5fdev_5fup',['m_dpdk_dev_up',['../classxran_lib_wraper.html#a790ada9a4b1a467dc29bc4bfa1ec3e20',1,'xranLibWraper']]], + ['m_5fdu_5fmac',['m_du_mac',['../classxran_lib_wraper.html#ab58608944b110026e58c96affe100111',1,'xranLibWraper']]], + ['m_5fext1',['m_ext1',['../structxran__section__gen__info.html#ac1c64088df7167c5a46bf9a5bb746534',1,'xran_section_gen_info::m_ext1()'],['../class_c__plane.html#a4464b811028d6456143fd9743b03edaa',1,'C_plane::m_ext1()']]], + ['m_5fext1_5fdst_5flen',['m_ext1_dst_len',['../class_c__plane.html#ab2dac8fe532ba4f8fa612650aee824ef',1,'C_plane']]], + ['m_5fext2',['m_ext2',['../structxran__section__gen__info.html#a9da3976c12b7433a90917228f7069381',1,'xran_section_gen_info::m_ext2()'],['../class_c__plane.html#ab59c73cb615f0b02e940c1ac1c64744e',1,'C_plane::m_ext2()']]], + ['m_5fext3',['m_ext3',['../structxran__section__gen__info.html#aa252bcb2bac0467e0262920ec34285a0',1,'xran_section_gen_info']]], + ['m_5fext4',['m_ext4',['../structxran__section__gen__info.html#adaf7350928e8b26da41ded39ba7295e5',1,'xran_section_gen_info::m_ext4()'],['../class_c__plane.html#a3cbc91f245eb6e99fcc07b55ee33f267',1,'C_plane::m_ext4()']]], + ['m_5fext5',['m_ext5',['../structxran__section__gen__info.html#a6948d126d229683da976877b617fbd8e',1,'xran_section_gen_info::m_ext5()'],['../class_c__plane.html#a729386bcda2efafa2b1f6967b6a0b64f',1,'C_plane::m_ext5()']]], + ['m_5ffftsize',['m_fftSize',['../class_c__plane.html#a7a8bdb868f3812cf7270734d13159255',1,'C_plane::m_fftSize()'],['../class_prach_check.html#a7a8bdb868f3812cf7270734d13159255',1,'PrachCheck::m_fftSize()'],['../class_prach_perf.html#a7a8bdb868f3812cf7270734d13159255',1,'PrachPerf::m_fftSize()']]], + ['m_5ffilteridx',['m_filterIdx',['../class_prach_check.html#aa6a94180919a3f3827f581cb9b6038ef',1,'PrachCheck::m_filterIdx()'],['../class_prach_perf.html#aa6a94180919a3f3827f581cb9b6038ef',1,'PrachPerf::m_filterIdx()']]], + ['m_5ffilterindex',['m_filterIndex',['../class_c__plane.html#adfa9d2df36650f369b04652749c1134b',1,'C_plane::m_filterIndex()'],['../class_prach_check.html#adfa9d2df36650f369b04652749c1134b',1,'PrachCheck::m_filterIndex()'],['../class_prach_perf.html#adfa9d2df36650f369b04652749c1134b',1,'PrachPerf::m_filterIndex()']]], + ['m_5fframeid',['m_frameId',['../class_c__plane.html#a65389015c6ac952ac5108c2ae802fa52',1,'C_plane::m_frameId()'],['../class_prach_check.html#a65389015c6ac952ac5108c2ae802fa52',1,'PrachCheck::m_frameId()'],['../class_prach_perf.html#a65389015c6ac952ac5108c2ae802fa52',1,'PrachPerf::m_frameId()']]], + ['m_5ffreqoffset',['m_freqOffset',['../class_c__plane.html#a383e7e8333c8f9d71ab872f93b2f6708',1,'C_plane::m_freqOffset()'],['../class_prach_check.html#a9c9ab811b57b6250d1712aa6e59c0853',1,'PrachCheck::m_freqOffset()'],['../class_prach_perf.html#a9c9ab811b57b6250d1712aa6e59c0853',1,'PrachPerf::m_freqOffset()']]], + ['m_5fid',['m_id',['../class_prach_check.html#a5a1c72f3b78d7251f2f98b26bf5b795b',1,'PrachCheck']]], + ['m_5fiqwidth',['m_iqWidth',['../class_c__plane.html#a5b1a6d8e8257b3bb7e3a187c0cce4011',1,'C_plane::m_iqWidth()'],['../class_prach_check.html#a5b1a6d8e8257b3bb7e3a187c0cce4011',1,'PrachCheck::m_iqWidth()'],['../class_prach_perf.html#a5b1a6d8e8257b3bb7e3a187c0cce4011',1,'PrachPerf::m_iqWidth()']]], + ['m_5fisprachslot',['m_isPRACHslot',['../class_prach_check.html#a9ef01047ab319b03151146a47e4516c4',1,'PrachCheck::m_isPRACHslot()'],['../class_prach_perf.html#a9ef01047ab319b03151146a47e4516c4',1,'PrachPerf::m_isPRACHslot()']]], + ['m_5fm_5fparams_5ftimeoffset',['m_m_params_timeOffset',['../class_prach_check.html#a71d000429a67e58a4dbdfaa350ef9d4b',1,'PrachCheck']]], + ['m_5fmaxsections',['m_maxSections',['../class_c__plane.html#ae68e73b40ca04879362dc67fbb368682',1,'C_plane::m_maxSections()'],['../class_prach_check.html#ae68e73b40ca04879362dc67fbb368682',1,'PrachCheck::m_maxSections()'],['../class_prach_perf.html#ae68e73b40ca04879362dc67fbb368682',1,'PrachPerf::m_maxSections()']]], + ['m_5fnbufpoolindex',['m_nBufPoolIndex',['../classxran_lib_wraper.html#a9270468afb68051247edd5953b828aca',1,'xranLibWraper']]], + ['m_5fnfpgatosw_5ffth_5frxbufferlen',['m_nFpgaToSW_FTH_RxBufferLen',['../classxran_lib_wraper.html#af53e776036ad72ea2d2e5a2bdbbdc0b2',1,'xranLibWraper']]], + ['m_5fninstancehandle',['m_nInstanceHandle',['../classxran_lib_wraper.html#a80a3e8332a69c2beb5df4ad72b4a022c',1,'xranLibWraper']]], + ['m_5fnrofprachinslot',['m_nrofPrachInSlot',['../class_prach_check.html#a8c2ff60cb0ad0f81eafada59dc92c4c6',1,'PrachCheck::m_nrofPrachInSlot()'],['../class_prach_perf.html#a8c2ff60cb0ad0f81eafada59dc92c4c6',1,'PrachPerf::m_nrofPrachInSlot()']]], + ['m_5fnsectorindex',['m_nSectorIndex',['../classxran_lib_wraper.html#a98ce8fded84309c17c61f4dd902d4e0f',1,'xranLibWraper']]], + ['m_5fnslots',['m_nSlots',['../classxran_lib_wraper.html#aa7e4fc7db724dc357f1425ab426c8921',1,'xranLibWraper']]], + ['m_5fnsw_5ftofpga_5ffth_5ftxbufferlen',['m_nSW_ToFpga_FTH_TxBufferLen',['../classxran_lib_wraper.html#a21b3d390c6eee5d15152cdc5459ff523',1,'xranLibWraper']]], + ['m_5fnumprbc',['m_numPrbc',['../class_prach_check.html#af2657f421b39bfe018266cfe11d27b51',1,'PrachCheck::m_numPrbc()'],['../class_prach_perf.html#af2657f421b39bfe018266cfe11d27b51',1,'PrachPerf::m_numPrbc()']]], + ['m_5fnumsections',['m_numSections',['../class_c__plane.html#a78b09c2fc0f3b0d610248ab3ce1df5d7',1,'C_plane']]], + ['m_5fnumsymbol',['m_numSymbol',['../class_prach_check.html#ab7158c23dfca189475b254c35ede1da7',1,'PrachCheck::m_numSymbol()'],['../class_prach_perf.html#ab7158c23dfca189475b254c35ede1da7',1,'PrachPerf::m_numSymbol()']]], + ['m_5foccassionsinprachslot',['m_occassionsInPrachSlot',['../class_prach_check.html#a0baaeee595bffc14f68fefd762c6fa5a',1,'PrachCheck::m_occassionsInPrachSlot()'],['../class_prach_perf.html#a0baaeee595bffc14f68fefd762c6fa5a',1,'PrachPerf::m_occassionsInPrachSlot()']]], + ['m_5fp_5fbfw_5fiq_5fsrc',['m_p_bfw_iq_src',['../class_c__plane.html#af3c62a5df704db9218047182f9576367',1,'C_plane']]], + ['m_5fp_5fext1_5fdst',['m_p_ext1_dst',['../class_c__plane.html#aa03217953847a726043966a4691494f1',1,'C_plane']]], + ['m_5fparams',['m_params',['../class_c__plane.html#a16c92b16fc21a700c50a7faf19da41b9',1,'C_plane::m_params()'],['../class_prach_check.html#a16c92b16fc21a700c50a7faf19da41b9',1,'PrachCheck::m_params()'],['../class_prach_perf.html#a16c92b16fc21a700c50a7faf19da41b9',1,'PrachPerf::m_params()']]], + ['m_5fpktinfo',['m_pktInfo',['../class_c__plane.html#a431f2e351a321b762ccd64984d566913',1,'C_plane::m_pktInfo()'],['../class_prach_check.html#a431f2e351a321b762ccd64984d566913',1,'PrachCheck::m_pktInfo()'],['../class_prach_perf.html#a431f2e351a321b762ccd64984d566913',1,'PrachPerf::m_pktInfo()']]], + ['m_5fpprachconfig',['m_pPRACHConfig',['../class_prach_check.html#a21909f3922fb3485559575d6252575aa',1,'PrachCheck::m_pPRACHConfig()'],['../class_prach_perf.html#a21909f3922fb3485559575d6252575aa',1,'PrachPerf::m_pPRACHConfig()']]], + ['m_5fpprachcpconfig',['m_pPrachCPConfig',['../class_prach_check.html#a45887981986f86c7811031b354fb4a36',1,'PrachCheck::m_pPrachCPConfig()'],['../class_prach_perf.html#a45887981986f86c7811031b354fb4a36',1,'PrachPerf::m_pPrachCPConfig()']]], + ['m_5fprach_5flast_5fsymbol',['m_prach_last_symbol',['../class_prach_check.html#a98ba28864455aad01fecfc51992a252a',1,'PrachCheck::m_prach_last_symbol()'],['../class_prach_perf.html#a98ba28864455aad01fecfc51992a252a',1,'PrachPerf::m_prach_last_symbol()']]], + ['m_5fprach_5fstart_5fsymbol',['m_prach_start_symbol',['../class_prach_check.html#aee24498b1349e41e8e14f822c6bd8fff',1,'PrachCheck::m_prach_start_symbol()'],['../class_prach_perf.html#aee24498b1349e41e8e14f822c6bd8fff',1,'PrachPerf::m_prach_start_symbol()']]], + ['m_5fprbnum',['m_prbNum',['../class_c__plane.html#a81096035b0802bc24810c07ca13df7e9',1,'C_plane::m_prbNum()'],['../class_prach_check.html#a81096035b0802bc24810c07ca13df7e9',1,'PrachCheck::m_prbNum()'],['../class_prach_perf.html#a81096035b0802bc24810c07ca13df7e9',1,'PrachPerf::m_prbNum()']]], + ['m_5fprbstart',['m_prbStart',['../class_c__plane.html#a59b4057d63386649d2facf030a08fa0e',1,'C_plane::m_prbStart()'],['../class_prach_check.html#a59b4057d63386649d2facf030a08fa0e',1,'PrachCheck::m_prbStart()'],['../class_prach_perf.html#a59b4057d63386649d2facf030a08fa0e',1,'PrachPerf::m_prbStart()']]], + ['m_5fpruconfig',['m_pRUConfig',['../class_prach_check.html#a0967c7de3f0299240443557d0b5677b8',1,'PrachCheck']]], + ['m_5fpsectgeninfo',['m_pSectGenInfo',['../class_prach_check.html#a8afca7ac895ea509b38432d1b45bff55',1,'PrachCheck::m_pSectGenInfo()'],['../class_prach_perf.html#a8afca7ac895ea509b38432d1b45bff55',1,'PrachPerf::m_pSectGenInfo()']]], + ['m_5fptestbuffer',['m_pTestBuffer',['../class_c__plane.html#aafa40e823e408268e48585ec7a623eae',1,'C_plane::m_pTestBuffer()'],['../class_prach_check.html#aafa40e823e408268e48585ec7a623eae',1,'PrachCheck::m_pTestBuffer()'],['../class_prach_perf.html#aafa40e823e408268e48585ec7a623eae',1,'PrachPerf::m_pTestBuffer()']]], + ['m_5fremask',['m_reMask',['../class_c__plane.html#ab4be4cfb9be32a9a6c516f5cfbae0d6f',1,'C_plane::m_reMask()'],['../class_prach_check.html#ab4be4cfb9be32a9a6c516f5cfbae0d6f',1,'PrachCheck::m_reMask()'],['../class_prach_perf.html#ab4be4cfb9be32a9a6c516f5cfbae0d6f',1,'PrachPerf::m_reMask()']]], + ['m_5fresult',['m_result',['../class_c__plane.html#aa42dde0a7ce436df7e5b607d17d52668',1,'C_plane::m_result()'],['../class_prach_check.html#aa42dde0a7ce436df7e5b607d17d52668',1,'PrachCheck::m_result()'],['../class_prach_perf.html#aa42dde0a7ce436df7e5b607d17d52668',1,'PrachPerf::m_result()']]], + ['m_5fru_5fmac',['m_ru_mac',['../classxran_lib_wraper.html#a5914f36a470616ef17f5b663a8d21b30',1,'xranLibWraper']]], + ['m_5fscs',['m_scs',['../class_c__plane.html#ac106dad0f3171eb074e8e654b4ea2c4b',1,'C_plane']]], + ['m_5fsectionid',['m_sectionId',['../class_c__plane.html#a9c4d35a4cce2560e384f2fe95c4c341f',1,'C_plane::m_sectionId()'],['../class_prach_check.html#a9c4d35a4cce2560e384f2fe95c4c341f',1,'PrachCheck::m_sectionId()'],['../class_prach_perf.html#a9c4d35a4cce2560e384f2fe95c4c341f',1,'PrachPerf::m_sectionId()']]], + ['m_5fsectiontype',['m_sectionType',['../class_c__plane.html#abc4c88e1904502c47099799767ea3991',1,'C_plane::m_sectionType()'],['../class_prach_check.html#abc4c88e1904502c47099799767ea3991',1,'PrachCheck::m_sectionType()'],['../class_prach_perf.html#abc4c88e1904502c47099799767ea3991',1,'PrachPerf::m_sectionType()']]], + ['m_5fseqid',['m_seqId',['../class_c__plane.html#a7a0ce01c67c4067cc3ba42fd380e858a',1,'C_plane::m_seqId()'],['../class_prach_check.html#a7a0ce01c67c4067cc3ba42fd380e858a',1,'PrachCheck::m_seqId()'],['../class_prach_perf.html#a7a0ce01c67c4067cc3ba42fd380e858a',1,'PrachPerf::m_seqId()']]], + ['m_5fsfhprachrxbbuiobufctrl',['m_sFHPrachRxBbuIoBufCtrl',['../classxran_lib_wraper.html#a4e219881fa053028c692fb10ae2bb5a3',1,'xranLibWraper']]], + ['m_5fsfhprachrxbuffers',['m_sFHPrachRxBuffers',['../classxran_lib_wraper.html#ad84b20c11b0095b35674f3eb1c247375',1,'xranLibWraper']]], + ['m_5fsfronthaulrxbbuiobufctrl',['m_sFrontHaulRxBbuIoBufCtrl',['../classxran_lib_wraper.html#ad99e9ea539081aeef2978a3f472baf1c',1,'xranLibWraper']]], + ['m_5fsfronthaulrxbuffers',['m_sFrontHaulRxBuffers',['../classxran_lib_wraper.html#a6284df81f3334e6319e99aa3d368acec',1,'xranLibWraper']]], + ['m_5fsfronthaulrxprbmapbbuiobufctrl',['m_sFrontHaulRxPrbMapBbuIoBufCtrl',['../classxran_lib_wraper.html#a5d7d51f26d22de978142c336c82b8736',1,'xranLibWraper']]], + ['m_5fsfronthaulrxprbmapbuffers',['m_sFrontHaulRxPrbMapBuffers',['../classxran_lib_wraper.html#a21adf86e6b2a299b94a4eb59b6094863',1,'xranLibWraper']]], + ['m_5fsfronthaultxbbuiobufctrl',['m_sFrontHaulTxBbuIoBufCtrl',['../classxran_lib_wraper.html#a4ec48d0ffb9f1f4310057061754541af',1,'xranLibWraper']]], + ['m_5fsfronthaultxbuffers',['m_sFrontHaulTxBuffers',['../classxran_lib_wraper.html#aaf96fa2c0147a497910401ba377506db',1,'xranLibWraper']]], + ['m_5fsfronthaultxprbmapbbuiobufctrl',['m_sFrontHaulTxPrbMapBbuIoBufCtrl',['../classxran_lib_wraper.html#a5de5e6cb2e5beb2315f16ecc06aa2966',1,'xranLibWraper']]], + ['m_5fsfronthaultxprbmapbuffers',['m_sFrontHaulTxPrbMapBuffers',['../classxran_lib_wraper.html#aa1611b01fe2d460ebe58e45c901f68e8',1,'xranLibWraper']]], + ['m_5fslotid',['m_slotId',['../class_c__plane.html#a7f021a016314b5d3a9bb095c5c08048f',1,'C_plane::m_slotId()'],['../class_prach_check.html#a7f021a016314b5d3a9bb095c5c08048f',1,'PrachCheck::m_slotId()'],['../class_prach_perf.html#a7f021a016314b5d3a9bb095c5c08048f',1,'PrachPerf::m_slotId()']]], + ['m_5fslotnrnum',['m_SlotNrNum',['../class_prach_check.html#ae0c317f2faf44b0e7bde79d34e00b2e7',1,'PrachCheck::m_SlotNrNum()'],['../class_prach_perf.html#ae0c317f2faf44b0e7bde79d34e00b2e7',1,'PrachPerf::m_SlotNrNum()']]], + ['m_5fstartprbc',['m_startPrbc',['../class_prach_check.html#acef6d7b2a1494b7d98e70d4759875349',1,'PrachCheck::m_startPrbc()'],['../class_prach_perf.html#acef6d7b2a1494b7d98e70d4759875349',1,'PrachPerf::m_startPrbc()']]], + ['m_5fstartsymid',['m_startSymId',['../class_prach_check.html#a1d28f82423abf4fde782a34ae064aea9',1,'PrachCheck::m_startSymId()'],['../class_prach_perf.html#a1d28f82423abf4fde782a34ae064aea9',1,'PrachPerf::m_startSymId()']]], + ['m_5fsubframeid',['m_subframeId',['../class_c__plane.html#afa13542efadbf6db6e8ddfa388a345c0',1,'C_plane::m_subframeId()'],['../class_prach_check.html#afa13542efadbf6db6e8ddfa388a345c0',1,'PrachCheck::m_subframeId()'],['../class_prach_perf.html#afa13542efadbf6db6e8ddfa388a345c0',1,'PrachPerf::m_subframeId()']]], + ['m_5fsymnum',['m_symNum',['../class_c__plane.html#a88a1f1ad78450f64aab4fa3f6499060a',1,'C_plane::m_symNum()'],['../class_prach_check.html#a88a1f1ad78450f64aab4fa3f6499060a',1,'PrachCheck::m_symNum()'],['../class_prach_perf.html#a88a1f1ad78450f64aab4fa3f6499060a',1,'PrachPerf::m_symNum()']]], + ['m_5fsymstart',['m_symStart',['../class_c__plane.html#aba23eca36e0c5cc06d74919fa5fe0dd6',1,'C_plane::m_symStart()'],['../class_prach_check.html#aba23eca36e0c5cc06d74919fa5fe0dd6',1,'PrachCheck::m_symStart()'],['../class_prach_perf.html#aba23eca36e0c5cc06d74919fa5fe0dd6',1,'PrachPerf::m_symStart()']]], + ['m_5ftable',['m_table',['../structmbuf__table.html#ae6c3a4e6ff2dbb852d3cfc14b2f33d6f',1,'mbuf_table']]], + ['m_5ftimeoffset',['m_timeOffset',['../class_c__plane.html#a509c970617e65a99c8120eef3d309bcb',1,'C_plane::m_timeOffset()'],['../class_prach_check.html#a509c970617e65a99c8120eef3d309bcb',1,'PrachCheck::m_timeOffset()'],['../class_prach_perf.html#a509c970617e65a99c8120eef3d309bcb',1,'PrachPerf::m_timeOffset()']]], + ['m_5ftimer_5fctx',['m_timer_ctx',['../classxran_lib_wraper.html#a74cbf8f188c4df27d645f80be26bb077',1,'xranLibWraper']]], + ['m_5fx',['m_x',['../class_prach_check.html#a95b34835c7215dd09bdfdd82698c1232',1,'PrachCheck::m_x()'],['../class_prach_perf.html#a95b34835c7215dd09bdfdd82698c1232',1,'PrachPerf::m_x()']]], + ['m_5fxran_5fdev_5fctx',['m_xran_dev_ctx',['../class_prach_check.html#a48dc9763aed8e2af7ff83eb1648aa96e',1,'PrachCheck::m_xran_dev_ctx()'],['../class_prach_perf.html#a48dc9763aed8e2af7ff83eb1648aa96e',1,'PrachPerf::m_xran_dev_ctx()']]], + ['m_5fxranconf',['m_xranConf',['../classxran_lib_wraper.html#acb7ae6f5547d5e166b643084db28b2fa',1,'xranLibWraper::m_xranConf()'],['../class_test_chain.html#acb7ae6f5547d5e166b643084db28b2fa',1,'TestChain::m_xranConf()'],['../class_prach_check.html#ae3061028ac8e2b8c5dbf9bafc6e1bafa',1,'PrachCheck::m_xranConf()'],['../class_prach_perf.html#acb7ae6f5547d5e166b643084db28b2fa',1,'PrachPerf::m_xranConf()']]], + ['m_5fxranhandle',['m_xranhandle',['../classxran_lib_wraper.html#adcc43270fba1599cebe2bc32eca45554',1,'xranLibWraper']]], + ['m_5fxraninit',['m_xranInit',['../classxran_lib_wraper.html#a9507c81d07af4f634e04173663fd5419',1,'xranLibWraper::m_xranInit()'],['../class_test_chain.html#a9507c81d07af4f634e04173663fd5419',1,'TestChain::m_xranInit()']]], + ['m_5fy',['m_y',['../class_prach_check.html#a5067ab67bdb57355a12a0282ced79bdc',1,'PrachCheck::m_y()'],['../class_prach_perf.html#a5067ab67bdb57355a12a0282ced79bdc',1,'PrachPerf::m_y()']]], + ['mask_5fbandsectorid',['mask_bandSectorId',['../structxran__eaxcid__config.html#affca087d8bc179073b5ae2f429340898',1,'xran_eaxcid_config']]], + ['mask_5fccid',['mask_ccId',['../structxran__eaxcid__config.html#a0ba87d865af2deb1ee2565f528e1e72d',1,'xran_eaxcid_config']]], + ['mask_5fcuportid',['mask_cuPortId',['../structxran__eaxcid__config.html#a3357253b181bed8132156f87728efc8d',1,'xran_eaxcid_config']]], + ['mask_5fruportid',['mask_ruPortId',['../structxran__eaxcid__config.html#a64cc7d4da64fe531f01c6bb54e6a02f3',1,'xran_eaxcid_config']]], + ['maxframeid',['maxFrameId',['../struct___runtime_config.html#a7e2e66f6bfc7521847c69479e3f17a79',1,'_RuntimeConfig']]], + ['mc',['mc',['../structxran__sectionext5__info.html#af63d3e52300d55f02d782a02ef6e6dd0',1,'xran_sectionext5_info']]], + ['mcscaleoffset',['mcScaleOffset',['../structxran__sectionext5__info.html#a0d53f590f6c03b8aadb7421ea75a0efa',1,'xran_sectionext5_info']]], + ['mcscaleoffset1',['mcScaleOffset1',['../structxran__cp__radioapp__section__ext5.html#a8854bc563f0f80ccc93498c6f6386ebe',1,'xran_cp_radioapp_section_ext5::mcScaleOffset1()'],['../xran__pkt__cp_8h.html#a8854bc563f0f80ccc93498c6f6386ebe',1,'mcScaleOffset1(): xran_pkt_cp.h']]], + ['mcscaleoffset2',['mcScaleOffset2',['../structxran__cp__radioapp__section__ext5.html#aca88dbe7fcac3aa95ac605c39a1ef6c3',1,'xran_cp_radioapp_section_ext5::mcScaleOffset2()'],['../xran__pkt__cp_8h.html#aca88dbe7fcac3aa95ac605c39a1ef6c3',1,'mcScaleOffset2(): xran_pkt_cp.h']]], + ['mcscaleremask',['mcScaleReMask',['../structxran__sectionext5__info.html#aabd93f3473c2432cf02d285e460907da',1,'xran_sectionext5_info']]], + ['mcscaleremask1',['mcScaleReMask1',['../structxran__cp__radioapp__section__ext5.html#aa73c9c8643bc91f9af899bcb09d5329d',1,'xran_cp_radioapp_section_ext5::mcScaleReMask1()'],['../xran__pkt__cp_8h.html#aa73c9c8643bc91f9af899bcb09d5329d',1,'mcScaleReMask1(): xran_pkt_cp.h']]], + ['mcscaleremask2',['mcScaleReMask2',['../structxran__cp__radioapp__section__ext5.html#a345b2bf8205e92f1aa2f73109c4e99c5',1,'xran_cp_radioapp_section_ext5::mcScaleReMask2()'],['../xran__pkt__cp_8h.html#a345b2bf8205e92f1aa2f73109c4e99c5',1,'mcScaleReMask2(): xran_pkt_cp.h']]], + ['modcompscaler',['modCompScaler',['../structxran__sectionext4__info.html#a1c0e94567471aac214963f9600d0a4b1',1,'xran_sectionext4_info::modCompScaler()'],['../structxran__cp__radioapp__section__ext4.html#a3e975b4b16cb91991ee107f5f3e336b5',1,'xran_cp_radioapp_section_ext4::modCompScaler()'],['../xran__pkt__cp_8h.html#a3e975b4b16cb91991ee107f5f3e336b5',1,'modCompScaler(): xran_pkt_cp.h']]], + ['module_5fname',['module_name',['../c__plane__tests_8cc.html#a69b4bff6061152ff85770d725cced3cc',1,'module_name(): c_plane_tests.cc'],['../chain__tests_8cc.html#a69b4bff6061152ff85770d725cced3cc',1,'module_name(): chain_tests.cc'],['../compander__functional_8cc.html#a69b4bff6061152ff85770d725cced3cc',1,'module_name(): compander_functional.cc'],['../init__sys__functional_8cc.html#a69b4bff6061152ff85770d725cced3cc',1,'module_name(): init_sys_functional.cc'],['../prach__functional_8cc.html#a69b4bff6061152ff85770d725cced3cc',1,'module_name(): prach_functional.cc'],['../prach__performance_8cc.html#a69b4bff6061152ff85770d725cced3cc',1,'module_name(): prach_performance.cc'],['../u__plane__functional_8cc.html#a69b4bff6061152ff85770d725cced3cc',1,'module_name(): u_plane_functional.cc'],['../u__plane__performance_8cc.html#a69b4bff6061152ff85770d725cced3cc',1,'module_name(): u_plane_performance.cc']]], + ['msg_5ftype',['msg_type',['../structxran__recv__packet__info.html#a3e9be941593e594f0aece9b7f223d757',1,'xran_recv_packet_info']]], + ['mtu',['mtu',['../struct___runtime_config.html#a3c8ee4e9dd2a5354e83fb30c95598f30',1,'_RuntimeConfig::mtu()'],['../structxran__fh__init.html#a3c8ee4e9dd2a5354e83fb30c95598f30',1,'xran_fh_init::mtu()']]], + ['mu0_5f10mhz',['mu0_10mhz',['../gen__test_8m.html#ae121fd9f9063d48369ef04627e63f97b',1,'gen_test.m']]], + ['mu0_5f20mhz',['mu0_20mhz',['../gen__test_8m.html#a65690a3451484027a8021fc3e26a8354',1,'gen_test.m']]], + ['mu1_5f100mhz',['mu1_100mhz',['../gen__test_8m.html#aad3519412e0d30a8d6c4f827f1c0aaed',1,'gen_test.m']]], + ['mu3_5f100mhz',['mu3_100mhz',['../gen__test_8m.html#a06fda90da02d48d546f49b1faec2239a',1,'gen_test.m']]], + ['mu_5fnumber',['mu_number',['../struct___runtime_config.html#ac1552b11af951e30f8d57c77cc5bed81',1,'_RuntimeConfig']]], + ['mumimoues',['muMimoUEs',['../struct___runtime_config.html#a19978ec8645efbee660315f67d5b2358',1,'_RuntimeConfig']]] +]; diff --git a/docs/API/search/variables_d.html b/docs/API/search/variables_d.html new file mode 100644 index 0000000..b9381e9 --- /dev/null +++ b/docs/API/search/variables_d.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/variables_d.js b/docs/API/search/variables_d.js new file mode 100644 index 0000000..36108ec --- /dev/null +++ b/docs/API/search/variables_d.js @@ -0,0 +1,95 @@ +var searchData= +[ + ['nantelmtrx',['nAntElmTRx',['../structxran__cp__bf__weight.html#a5a0bb9b26c357c93eb4a7822b5272300',1,'xran_cp_bf_weight::nAntElmTRx()'],['../structxran__fh__config.html#ac63d8c67956a8a08cbfd8efb92a2f055',1,'xran_fh_config::nAntElmTRx()']]], + ['nbeamindex',['nBeamIndex',['../structxran__prb__elm.html#aba198438bbacf8f73b6bfa481b365ce5',1,'xran_prb_elm']]], + ['nbufferpoolindex',['nBufferPoolIndex',['../structsector_handle_info.html#a7f385bf2d48d174e82285595baa66890',1,'sectorHandleInfo']]], + ['nbufpoolindex',['nBufPoolIndex',['../struct_bbu_xran_io_if_struct.html#a52c040c5ef8cdccb720b42ea0c5632a6',1,'BbuXranIoIfStruct::nBufPoolIndex()'],['../class_init___sys___check.html#afbefaeac48b99d44a1930b66c9e4e21f',1,'Init_Sys_Check::nBufPoolIndex()']]], + ['ncc',['nCC',['../structxran__fh__config.html#a6dcac3ea0b3d99c20c2e6f7091b8b342',1,'xran_fh_config']]], + ['ncoremask',['nCoreMask',['../struct_bbu_xran_io_if_struct.html#a1467a6caa947129c506085d9d44d099e',1,'BbuXranIoIfStruct']]], + ['ncpsizef1',['nCpSizeF1',['../common_8c.html#ad39b126a8b9123072b41967be14235ba',1,'common.c']]], + ['ncpsizef2',['nCpSizeF2',['../common_8c.html#a41b634e3c43560c0a29f60ddbf491d99',1,'common.c']]], + ['ndlabsfrepointa',['nDLAbsFrePointA',['../struct___runtime_config.html#ac0e69adfb3c3429ce7f7b9a568959934',1,'_RuntimeConfig::nDLAbsFrePointA()'],['../structxran__fh__config.html#ac0e69adfb3c3429ce7f7b9a568959934',1,'xran_fh_config::nDLAbsFrePointA()']]], + ['ndlbandwidth',['nDLBandwidth',['../struct___runtime_config.html#ad218e25642a9ecba017dfab4637c0b50',1,'_RuntimeConfig']]], + ['ndlcenterfreqarfcn',['nDLCenterFreqARFCN',['../structxran__fh__config.html#acd9d2cad066dac9c7ae84a0edbc9b8ae',1,'xran_fh_config']]], + ['ndlfftsize',['nDLFftSize',['../struct___runtime_config.html#ad86ba09b02f93a0f8525f5d07b471ead',1,'_RuntimeConfig::nDLFftSize()'],['../structxran__fh__config.html#a8956e982993d4b310e3bffe207f66405',1,'xran_fh_config::nDLFftSize()']]], + ['ndlrbs',['nDLRBs',['../structxran__fh__config.html#a7917929ae3bb588a5bf6f4e56cf9549e',1,'xran_fh_config']]], + ['ndrivercoreid',['nDriverCoreId',['../struct_xran_lib_config.html#acd5189037e23e024ae8f03a90399e97e',1,'XranLibConfig::nDriverCoreId()'],['../struct_bbu_xran_io_if_struct.html#a42e7078befd835706ed80adc1688c033',1,'BbuXranIoIfStruct::nDriverCoreId()']]], + ['neaxc',['neAxc',['../structxran__fh__config.html#abcac68b45b2bcf3b5458817d65b86e45',1,'xran_fh_config']]], + ['neaxcul',['neAxcUl',['../structxran__fh__config.html#a6b9c6f2e0bae93c45674bea4082c8a7a',1,'xran_fh_config']]], + ['nebyteorderswap',['nebyteorderswap',['../struct___runtime_config.html#a932c6c205ec4695d57632b623753a7ab',1,'_RuntimeConfig']]], + ['nelementleninbytes',['nElementLenInBytes',['../structxran__flat__buffer.html#ac9d92d585877c2ef1af759479baf85fe',1,'xran_flat_buffer']]], + ['nfhbufintflag',['nFhBufIntFlag',['../struct_xran_lib_config.html#a0f7b4777832a26c80e4d58003813d70d',1,'XranLibConfig']]], + ['nfhconfig',['nFhConfig',['../struct_xran_lib_config.html#af75cbcbef6876a9c79b61b46572b6501',1,'XranLibConfig']]], + ['nfhcoreid',['nFHCoreId',['../struct_bbu_xran_io_if_struct.html#a94a63af18d6661b189605db8f66dbc7a',1,'BbuXranIoIfStruct']]], + ['nfpgatosw_5ffth_5frxbufferlen',['nFpgaToSW_FTH_RxBufferLen',['../sample-app_8c.html#a100fc21a1a29489f7422d4fbacbcde21',1,'sample-app.c']]], + ['nfpgatosw_5fprach_5frxbufferlen',['nFpgaToSW_PRACH_RxBufferLen',['../sample-app_8c.html#ace6876969173aa1c62dc3a23c19d90c3',1,'sample-app.c']]], + ['nframeduplextype',['nFrameDuplexType',['../struct___runtime_config.html#a3b86317723a592e240c0047e53a6326d',1,'_RuntimeConfig::nFrameDuplexType()'],['../structxran__frame__config.html#a3b86317723a592e240c0047e53a6326d',1,'xran_frame_config::nFrameDuplexType()']]], + ['nindex',['nIndex',['../structsector_handle_info.html#a3e89a68b1b304e37badf1e8a62a38527',1,'sectorHandleInfo']]], + ['ninstancehandle',['nInstanceHandle',['../struct_bbu_xran_io_if_struct.html#a492c471226877c87f771b9f4fe13a6ab',1,'BbuXranIoIfStruct::nInstanceHandle()'],['../class_init___sys___check.html#a492c471226877c87f771b9f4fe13a6ab',1,'Init_Sys_Check::nInstanceHandle()']]], + ['ninstancenum',['nInstanceNum',['../struct_bbu_xran_io_if_struct.html#a0d19e9e74d94b9c2fb5734392bd7a590',1,'BbuXranIoIfStruct::nInstanceNum()'],['../class_init___sys___check.html#a0d19e9e74d94b9c2fb5734392bd7a590',1,'Init_Sys_Check::nInstanceNum()']]], + ['nisphyaddr',['nIsPhyAddr',['../structxran__flat__buffer.html#a0119c99b1fb0b423f6c1acf165cb8930',1,'xran_flat_buffer']]], + ['nnrofsfinframe',['nNrofSfInFrame',['../struct_xran_lib_config.html#a6574f1a80394aabb048881d606e03f8e',1,'XranLibConfig']]], + ['nnrofslotinsf',['nNrOfSlotInSf',['../struct_xran_lib_config.html#a8bf802ca9b9dfa939a1fef031bb8f364',1,'XranLibConfig']]], + ['nnumberofelements',['nNumberOfElements',['../structxran__flat__buffer.html#a4371798a7694f5939136dca8baa93f21',1,'xran_flat_buffer']]], + ['nnumbuffers',['nNumBuffers',['../structxran__buffer__list.html#a3d723fbd99a0f76d412b2b79931fbc6e',1,'xran_buffer_list']]], + ['nnumerology',['nNumerology',['../structxran__frame__config.html#a78b2fab8e8d6a6424c2712d528fd9a58',1,'xran_frame_config']]], + ['nnumrbspersymf1',['nNumRbsPerSymF1',['../classxran_lib_wraper.html#a95651581b17afb55b04ca83f04261353',1,'xranLibWraper::nNumRbsPerSymF1()'],['../gen__test_8m.html#a2b65d42365b9e14ae1c181cb883d93af',1,'nNumRbsPerSymF1(): gen_test.m'],['../common_8c.html#adeaca85bff8e90492381b51b5dd5b55c',1,'nNumRbsPerSymF1(): common.c'],['../namespacemaster.html#abcabfd6caec6142edbd47231f3410f90',1,'master.nNumRbsPerSymF1()']]], + ['nnumrbspersymf2',['nNumRbsPerSymF2',['../classxran_lib_wraper.html#aa77e335f5b2d2cc1d81de7a55f122ded',1,'xranLibWraper::nNumRbsPerSymF2()'],['../gen__test_8m.html#a220c0367b38ca34375ea822ff6aadfd9',1,'nNumRbsPerSymF2(): gen_test.m'],['../common_8c.html#ac5b0db7e5c13fb0650285fa9f40a5038',1,'nNumRbsPerSymF2(): common.c'],['../namespacemaster.html#a1688f1dc8e00536ec7508a3ad672f85a',1,'master.nNumRbsPerSymF2()']]], + ['noffsetinbytes',['nOffsetInBytes',['../structxran__flat__buffer.html#a2c3c46f4c4709f349a0cc62bae9ca92d',1,'xran_flat_buffer']]], + ['nprachconfidx',['nPrachConfIdx',['../structxran__prach__config.html#acb5fe8097b0115e038eb02d5900f66d6',1,'xran_prach_config']]], + ['nprachfilteridx',['nPrachFilterIdx',['../structxran__prach__config.html#ab3ca7a740428b7023b7e29197124983b',1,'xran_prach_config']]], + ['nprachfreqoffset',['nPrachFreqOffset',['../structxran__prach__config.html#a3b43924c5ef23b0496d1a7adf2752dbf',1,'xran_prach_config']]], + ['nprachfreqstart',['nPrachFreqStart',['../structxran__prach__config.html#a5c648c99c04370a4e8767f919a2289bf',1,'xran_prach_config']]], + ['nprachrestrictset',['nPrachRestrictSet',['../structxran__prach__config.html#a26e6c95dfde831c2588d46dde588c751',1,'xran_prach_config']]], + ['nprachrootseqidx',['nPrachRootSeqIdx',['../structxran__prach__config.html#a66b19aaa946c36b309a3403b3d576c58',1,'xran_prach_config']]], + ['nprachsubcspacing',['nPrachSubcSpacing',['../structxran__prach__config.html#ab9b99e41ea39f16780f66a539aa872c8',1,'xran_prach_config']]], + ['nprachzerocorrconf',['nPrachZeroCorrConf',['../structxran__prach__config.html#a45ae197adc4010202a5b71d7b602bc0c',1,'xran_prach_config']]], + ['nprbelm',['nPrbElm',['../structxran__prb__map.html#a5a2ad8f5285dd33572e310069cdac3c4',1,'xran_prb_map']]], + ['nracp',['nRaCp',['../structx_r_a_n_prach_preamble_l_r_a_struct.html#a3cab2a5fe931bc424f18ac0b23f2060e',1,'xRANPrachPreambleLRAStruct']]], + ['nrarfcn',['NRARFCN',['../struct_f_p_g_a_phase_comp_cfg.html#a6d109b341fbd0f31e0a1198a87e79434',1,'FPGAPhaseCompCfg']]], + ['nrbsize',['nRBSize',['../structxran__prb__elm.html#a18adf7163dacc5bd7dd344fb1216f729',1,'xran_prb_elm']]], + ['nrbstart',['nRBStart',['../structxran__prb__elm.html#a5248ad5c1a177b8b9d5ef60f710652bc',1,'xran_prb_elm']]], + ['nrchbwoptions',['nRChBwOptions',['../namespacemaster.html#ace60ebb76d1266cd70c6b0a2cdb975af',1,'master']]], + ['nrchbwoptions_5fkeys',['nRChBwOptions_keys',['../namespacemaster.html#af7850f2256bf3ed75be67d2293f8aa82',1,'master']]], + ['nrchbwoptions_5fkeys_5fmu2and3',['nRChBwOptions_keys_mu2and3',['../namespacemaster.html#aed629b78b162e729253b92f7e86074ab',1,'master']]], + ['nrchbwoptions_5fmu2and3',['nRChBwOptions_mu2and3',['../namespacemaster.html#a3594f126fda7271b1a5f0672794af48d',1,'master']]], + ['nrchbwoptions_5fvalues',['nRChBwOptions_values',['../namespacemaster.html#a8d41a616ef51e4a0667d7cde6edc510c',1,'master']]], + ['nrchbwoptions_5fvalues_5fmu2and3',['nRChBwOptions_values_mu2and3',['../namespacemaster.html#a60aad357b43b806ac16bfe47e0c8e83c',1,'master']]], + ['nrofprachinslot',['nrofPrachInSlot',['../structx_r_a_n_prach_config_table_struct.html#a855041f3139611ca7478502e3241b2f1',1,'xRANPrachConfigTableStruct::nrofPrachInSlot()'],['../structxran__prach__cp__config.html#a855041f3139611ca7478502e3241b2f1',1,'xran_prach_cp_config::nrofPrachInSlot()']]], + ['nsectornum',['nSectorNum',['../struct_xran_lib_config.html#aba0c303e021d8d3d08a3f667f2662d9e',1,'XranLibConfig']]], + ['nseggenerated',['nSegGenerated',['../struct_bbu_io_buf_ctrl_struct.html#af00b094918ddba2073443dcd755141f6',1,'BbuIoBufCtrlStruct']]], + ['nsegtobegen',['nSegToBeGen',['../struct_bbu_io_buf_ctrl_struct.html#a7dc97933eadb8a8049057209c3303818',1,'BbuIoBufCtrlStruct']]], + ['nsegtransferred',['nSegTransferred',['../struct_bbu_io_buf_ctrl_struct.html#a09ab9a2f4541256129428a4ccabc6803',1,'BbuIoBufCtrlStruct']]], + ['nstartsymb',['nStartSymb',['../structxran__prb__elm.html#a5acab5eec7096fb7732c804f71f02a4d',1,'xran_prb_elm']]], + ['nsubcarrierspacing',['nSubCarrierSpacing',['../common_8c.html#a8734b8bf5121975264c578e7a875adf6',1,'common.c']]], + ['nsw_5ftofpga_5ffth_5ftxbufferlen',['nSW_ToFpga_FTH_TxBufferLen',['../sample-app_8c.html#a9b25e7e7b484cb2d903c20c4791a52ac',1,'sample-app.c']]], + ['nsymboltype',['nSymbolType',['../structxran__slot__config.html#a37a7dc4b204c22c2d8b9da9b07abd154',1,'xran_slot_config']]], + ['ntddperiod',['nTddPeriod',['../struct___runtime_config.html#a53a1d989c6dee827495401b1973c9ef8',1,'_RuntimeConfig::nTddPeriod()'],['../structxran__frame__config.html#a53a1d989c6dee827495401b1973c9ef8',1,'xran_frame_config::nTddPeriod()']]], + ['ntimingadvance',['nTimingAdvance',['../struct_xran_lib_config.html#a0b246b8022911c0057e473e1fd41efd8',1,'XranLibConfig']]], + ['ntsctiming',['nTscTiming',['../struct_bbu_xran_io_if_struct.html#a469fc57d9ae37025ca91e2ce34aea812',1,'BbuXranIoIfStruct']]], + ['nttiinterval',['nTtiInterval',['../common_8c.html#a2d77acfd0f679f0a8a73ef14abc706a9',1,'common.c']]], + ['nu',['nu',['../structx_r_a_n_prach_preamble_l_r_a_struct.html#abc78f4868475122608abbdf1e0439b4c',1,'xRANPrachPreambleLRAStruct']]], + ['nulabsfrepointa',['nULAbsFrePointA',['../struct___runtime_config.html#a6db9b8b082db12b94c9d7b910a2bf747',1,'_RuntimeConfig::nULAbsFrePointA()'],['../structxran__fh__config.html#a6db9b8b082db12b94c9d7b910a2bf747',1,'xran_fh_config::nULAbsFrePointA()']]], + ['nulbandwidth',['nULBandwidth',['../struct___runtime_config.html#a62e3563effce6c4c7fa25c233f24c855',1,'_RuntimeConfig']]], + ['nulcenterfreqarfcn',['nULCenterFreqARFCN',['../structxran__fh__config.html#a1fbf2d7a3e30db571b28c7800f38765d',1,'xran_fh_config']]], + ['nulfftsize',['nULFftSize',['../struct___runtime_config.html#aa531dddfbcecb22e905ed06255f5ce09',1,'_RuntimeConfig::nULFftSize()'],['../structxran__fh__config.html#ae4908e70f937e7eca578e348f4e3911f',1,'xran_fh_config::nULFftSize()']]], + ['nulrbs',['nULRBs',['../structxran__fh__config.html#a5448b37ad609bb66bf44b44d1f9bac72',1,'xran_fh_config']]], + ['num_5feaxc',['num_eAxc',['../common_8c.html#ae69cd45536b5b80a0eac08ee522d8aa2',1,'num_eAxc(): common.c'],['../common_8h.html#ae69cd45536b5b80a0eac08ee522d8aa2',1,'num_eAxc(): common.c']]], + ['num_5fprbu',['num_prbu',['../structdata__section__hdr.html#acb00c5e7ebe809fda7288c699eed867c',1,'data_section_hdr']]], + ['num_5fsets',['num_sets',['../structxran__sectionext5__info.html#a7c4e67772e2e32e2f63f636730bf6eea',1,'xran_sectionext5_info']]], + ['numaxc',['numAxc',['../struct___runtime_config.html#abbeb3b559727e749a5d085c9374e541d',1,'_RuntimeConfig']]], + ['numberofues',['numberOfUEs',['../structxran__cp__radioapp__section6__header.html#adc2b3bf6f7c4208312d35672ab4f1af7',1,'xran_cp_radioapp_section6_header::numberOfUEs()'],['../xran__pkt__cp_8h.html#adc2b3bf6f7c4208312d35672ab4f1af7',1,'numberOfUEs(): xran_pkt_cp.h']]], + ['numcc',['numCC',['../struct___runtime_config.html#aa7579751e13de05edb086914d6122f31',1,'_RuntimeConfig']]], + ['numccports',['numCCPorts',['../common_8c.html#ae3e0286957f26fa1804745d15f82724d',1,'numCCPorts(): common.c'],['../common_8h.html#ae3e0286957f26fa1804745d15f82724d',1,'numCCPorts(): common.c']]], + ['numlayers',['numLayers',['../structxran__sectionext3__info.html#a63fd35fb526e104a9e1155da5c9f4a98',1,'xran_sectionext3_info::numLayers()'],['../structxran__cp__radioapp__section__ext3__first.html#a872448d7734f1458ebd601823497a5fa',1,'xran_cp_radioapp_section_ext3_first::numLayers()'],['../structxran__cp__radioapp__section__ext3__non__first.html#a872448d7734f1458ebd601823497a5fa',1,'xran_cp_radioapp_section_ext3_non_first::numLayers()'],['../xran__pkt__cp_8h.html#a872448d7734f1458ebd601823497a5fa',1,'numLayers(): xran_pkt_cp.h']]], + ['numofsections',['numOfSections',['../structxran__cp__radioapp__common__header.html#a879dd7efae60d48d1c20349a00feee87',1,'xran_cp_radioapp_common_header::numOfSections()'],['../xran__pkt__cp_8h.html#a879dd7efae60d48d1c20349a00feee87',1,'numOfSections(): xran_pkt_cp.h']]], + ['numprbc',['numPrbc',['../structxran__section__info.html#a2b72ddddeff4e4a8a5c191695ec41079',1,'xran_section_info::numPrbc()'],['../structxran__cp__radioapp__section__header.html#ae4ab3aebfd71c3b7c6e5e6890c650254',1,'xran_cp_radioapp_section_header::numPrbc()'],['../structxran__cp__radioapp__section6.html#aabc4fe26e40f742fd255e2bb8534de75',1,'xran_cp_radioapp_section6::numPrbc()'],['../structxran__prach__cp__config.html#aabc4fe26e40f742fd255e2bb8534de75',1,'xran_prach_cp_config::numPrbc()'],['../xran__pkt__cp_8h.html#aabc4fe26e40f742fd255e2bb8534de75',1,'numPrbc(): xran_pkt_cp.h']]], + ['numrbs',['numRBs',['../structxranlib__compress__request.html#a8ab4fa409402862ead0d17e13edeeb62',1,'xranlib_compress_request::numRBs()'],['../structxranlib__decompress__request.html#a8ab4fa409402862ead0d17e13edeeb62',1,'xranlib_decompress_request::numRBs()'],['../gen__test_8m.html#a887ee7a54247d19e5e93955a7b9663ae',1,'numRBs(): gen_test.m']]], + ['numsections',['numSections',['../structxran__cp__gen__params.html#a52bddd404e766ddb6f2b9eabe15ea5b1',1,'xran_cp_gen_params']]], + ['numslots',['numSlots',['../struct___runtime_config.html#ae80b6685104e5d649ce7c9e3865b5ac3',1,'_RuntimeConfig']]], + ['numsymb',['numSymb',['../structxran__prb__elm.html#ad2586af82c76901c361a2d08a6ba553b',1,'xran_prb_elm']]], + ['numsymbol',['numSymbol',['../structxran__section__info.html#a664cb6ca464c69ef60a445fa4f4b3522',1,'xran_section_info::numSymbol()'],['../structxran__cp__radioapp__section__header.html#a5dc992c6cc64a3f245e5676c0ff12256',1,'xran_cp_radioapp_section_header::numSymbol()'],['../structxran__prach__cp__config.html#a664cb6ca464c69ef60a445fa4f4b3522',1,'xran_prach_cp_config::numSymbol()'],['../xran__pkt__cp_8h.html#a5dc992c6cc64a3f245e5676c0ff12256',1,'numSymbol(): xran_pkt_cp.h']]], + ['numues',['numUEs',['../structxran__cp__header__params.html#a32f1b5994f68c2670b4db46afdd152f1',1,'xran_cp_header_params']]], + ['numulaxc',['numUlAxc',['../struct___runtime_config.html#a8bc1b7962f0840749ad1536662177b43',1,'_RuntimeConfig']]], + ['nxranport',['nXranPort',['../structsector_handle_info.html#a6fa55fef5f643eb92ae1f3890bb239d6',1,'sectorHandleInfo']]] +]; diff --git a/docs/API/search/variables_e.html b/docs/API/search/variables_e.html new file mode 100644 index 0000000..375ad70 --- /dev/null +++ b/docs/API/search/variables_e.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/variables_e.js b/docs/API/search/variables_e.js new file mode 100644 index 0000000..64e7e48 --- /dev/null +++ b/docs/API/search/variables_e.js @@ -0,0 +1,12 @@ +var searchData= +[ + ['o_5fdu_5faddr',['o_du_addr',['../struct___runtime_config.html#afa518f99bacc58366e6e1690d4b99fe4',1,'_RuntimeConfig']]], + ['o_5fru_5faddr',['o_ru_addr',['../struct___runtime_config.html#a3d99b0989c1d336455a447cbc71dce13',1,'_RuntimeConfig']]], + ['occassionsinprachslot',['occassionsInPrachSlot',['../structx_r_a_n_prach_config_table_struct.html#a2e544eaae35a5756272d62af4fa53a19',1,'xRANPrachConfigTableStruct::occassionsInPrachSlot()'],['../structxran__prach__cp__config.html#a2e544eaae35a5756272d62af4fa53a19',1,'xran_prach_cp_config::occassionsInPrachSlot()']]], + ['octave',['Octave',['../gen__test_8m.html#a92f802cdcc90c07a0da79cebfdb7474e',1,'gen_test.m']]], + ['offset_5fnsec',['offset_nsec',['../structxran__device__ctx.html#ac885b03154fc1d5e7c10f09d92dd8a47',1,'xran_device_ctx']]], + ['offset_5fsec',['offset_sec',['../structxran__device__ctx.html#aee9d04742a7da3cfa9e267fe568b9185',1,'xran_device_ctx']]], + ['old_5frx_5fcounter',['old_rx_counter',['../sample-app_8c.html#a31b24ea77392ef70e4414a8198333f92',1,'sample-app.c']]], + ['old_5ftx_5fcounter',['old_tx_counter',['../sample-app_8c.html#a6d55780ebad3284fd5d6c1fcc9b46df2',1,'sample-app.c']]], + ['original_5ftype',['original_type',['../structburst__hdr.html#a1bf90df9ae78437aca3a36cc15d8dea4',1,'burst_hdr']]] +]; diff --git a/docs/API/search/variables_f.html b/docs/API/search/variables_f.html new file mode 100644 index 0000000..d371418 --- /dev/null +++ b/docs/API/search/variables_f.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/API/search/variables_f.js b/docs/API/search/variables_f.js new file mode 100644 index 0000000..dab7ada --- /dev/null +++ b/docs/API/search/variables_f.js @@ -0,0 +1,69 @@ +var searchData= +[ + ['p_5fbfwiq',['p_bfwIQ',['../structxran__sectionext1__info.html#a535b83a8653a891f80fc204eb1d9cb8b',1,'xran_sectionext1_info']]], + ['p_5fbufferpool',['p_bufferPool',['../structsector_handle_info.html#a099c95b9a26488749a7bade28dd45192',1,'sectorHandleInfo']]], + ['p_5fext_5fsection',['p_ext_section',['../structxran__cp__bf__weight.html#ab3eed3d1b60ab946d704b2dfe7890d91',1,'xran_cp_bf_weight']]], + ['p_5fo_5fdu_5faddr',['p_o_du_addr',['../structxran__fh__init.html#adcde08e47bdc5157e76975f32d1e96e8',1,'xran_fh_init']]], + ['p_5fo_5fru_5faddr',['p_o_ru_addr',['../structxran__fh__init.html#ab05fc2b0bda23212626e2f075ce8e817',1,'xran_fh_init']]], + ['p_5fprach_5flog_5fbuffer',['p_prach_log_buffer',['../common_8c.html#a205302b4106968d8d580e286ce56ec8e',1,'p_prach_log_buffer(): common.c'],['../common_8h.html#a205302b4106968d8d580e286ce56ec8e',1,'p_prach_log_buffer(): common.c']]], + ['p_5frx_5fbuffer',['p_rx_buffer',['../common_8c.html#a66fcfd58fda188d4f58af523ed76258e',1,'p_rx_buffer(): common.c'],['../common_8h.html#a66fcfd58fda188d4f58af523ed76258e',1,'p_rx_buffer(): common.c']]], + ['p_5frx_5fdl_5fbfw_5fbuffer',['p_rx_dl_bfw_buffer',['../common_8c.html#a0029e17870631ef2db8bb2e0cd0f9d3a',1,'p_rx_dl_bfw_buffer(): common.c'],['../common_8h.html#a0029e17870631ef2db8bb2e0cd0f9d3a',1,'p_rx_dl_bfw_buffer(): common.c']]], + ['p_5frx_5flog_5fbuffer',['p_rx_log_buffer',['../common_8c.html#a8b2889ff178b629b4256ad3b87a18776',1,'p_rx_log_buffer(): common.c'],['../common_8h.html#a8b2889ff178b629b4256ad3b87a18776',1,'p_rx_log_buffer(): common.c']]], + ['p_5frx_5ful_5fbfw_5fbuffer',['p_rx_ul_bfw_buffer',['../common_8c.html#a6aa805f25383d5191fbfe3ed4a4f3ce7',1,'p_rx_ul_bfw_buffer(): common.c'],['../common_8h.html#a6aa805f25383d5191fbfe3ed4a4f3ce7',1,'p_rx_ul_bfw_buffer(): common.c']]], + ['p_5fsec_5fdesc',['p_sec_desc',['../structxran__prb__elm.html#a6c405fdd34c38d29b355cd051527ad9b',1,'xran_prb_elm']]], + ['p_5fsrs_5flog_5fbuffer',['p_srs_log_buffer',['../common_8c.html#a54f6ae53fc4ffc697c0677f660afceb2',1,'p_srs_log_buffer(): common.c'],['../common_8h.html#a54f6ae53fc4ffc697c0677f660afceb2',1,'p_srs_log_buffer(): common.c']]], + ['p_5ftx_5fbuffer',['p_tx_buffer',['../common_8c.html#a9f1fca36999b354b0c35757f7e307185',1,'p_tx_buffer(): common.c'],['../common_8h.html#a9f1fca36999b354b0c35757f7e307185',1,'p_tx_buffer(): common.c']]], + ['p_5ftx_5fdl_5fbfw_5fbuffer',['p_tx_dl_bfw_buffer',['../classxran_lib_wraper.html#a77bd4ecb90ef07ddc1420242672b1587',1,'xranLibWraper::p_tx_dl_bfw_buffer()'],['../common_8c.html#a77bd4ecb90ef07ddc1420242672b1587',1,'p_tx_dl_bfw_buffer(): common.c'],['../common_8h.html#a77bd4ecb90ef07ddc1420242672b1587',1,'p_tx_dl_bfw_buffer(): common.c']]], + ['p_5ftx_5fplay_5fbuffer',['p_tx_play_buffer',['../common_8c.html#a5977cef6d782ed0a89fee2038495b544',1,'p_tx_play_buffer(): common.c'],['../common_8h.html#a5977cef6d782ed0a89fee2038495b544',1,'p_tx_play_buffer(): common.c']]], + ['p_5ftx_5fprach_5fplay_5fbuffer',['p_tx_prach_play_buffer',['../common_8c.html#a248b83fea05a7a50c94dcfd9b12fa6e1',1,'p_tx_prach_play_buffer(): common.c'],['../common_8h.html#a248b83fea05a7a50c94dcfd9b12fa6e1',1,'p_tx_prach_play_buffer(): common.c']]], + ['p_5ftx_5fsrs_5fplay_5fbuffer',['p_tx_srs_play_buffer',['../common_8c.html#aaff80269195e14fa4426e20f250f7f7f',1,'p_tx_srs_play_buffer(): common.c'],['../common_8h.html#aaff80269195e14fa4426e20f250f7f7f',1,'p_tx_srs_play_buffer(): common.c']]], + ['p_5ftx_5ful_5fbfw_5fbuffer',['p_tx_ul_bfw_buffer',['../classxran_lib_wraper.html#a95b1981d7d33eb50789dbc55d5d2755f',1,'xranLibWraper::p_tx_ul_bfw_buffer()'],['../common_8c.html#a95b1981d7d33eb50789dbc55d5d2755f',1,'p_tx_ul_bfw_buffer(): common.c'],['../common_8h.html#a95b1981d7d33eb50789dbc55d5d2755f',1,'p_tx_ul_bfw_buffer(): common.c']]], + ['pad0',['pad0',['../structxran__section__info.html#a0b43a347f3b949ec61086b57503bc00f',1,'xran_section_info::pad0()'],['../structxran__sectionext4__info.html#a0976e33e213bf38d277b829252a1ceaa',1,'xran_sectionext4_info::pad0()'],['../structxran__cp__rbmap__list.html#a0976e33e213bf38d277b829252a1ceaa',1,'xran_cp_rbmap_list::pad0()']]], + ['parallelization_5ffactor',['parallelization_factor',['../class_kernel_tests.html#a88ea1f1de6b4d7d01ddc5fced408c813',1,'KernelTests']]], + ['path_5fto_5fusecase_5fall',['path_to_usecase_all',['../gen__test_8m.html#ae622c3d8e02784c9a30a1734452e9c9c',1,'gen_test.m']]], + ['payl_5fver',['payl_ver',['../structradio__app__common__hdr.html#a0058ea0059aba78a7a164c298c82de33',1,'radio_app_common_hdr']]], + ['payload_5flen',['payload_len',['../structxran__recv__packet__info.html#abfeae9f0b773fefda3b80b9ca41d3ff6',1,'xran_recv_packet_info']]], + ['payloadver',['payloadVer',['../structxran__cp__radioapp__common__header.html#a06cacc53918b2e51a13fc506b4351d63',1,'xran_cp_radioapp_common_header::payloadVer()'],['../xran__pkt__cp_8h.html#a06cacc53918b2e51a13fc506b4351d63',1,'payloadVer(): xran_pkt_cp.h']]], + ['pbuffers',['pBuffers',['../structxran__buffer__list.html#afa8c44acddb126e8bb0652d7b4e4395e',1,'xran_buffer_list']]], + ['pcallback',['pCallback',['../structxran__device__ctx.html#a023feefd3cb93d648f673ce1a8c79563',1,'xran_device_ctx']]], + ['pcallbacktag',['pCallbackTag',['../structxran__device__ctx.html#a4bb009dc28deffeccf1559528dbc5bee',1,'xran_device_ctx']]], + ['pctrl',['pCtrl',['../structxran__section__desc.html#addb9297d816b26c680888115de8c9538',1,'xran_section_desc::pCtrl()'],['../structxran__flat__buffer.html#addb9297d816b26c680888115de8c9538',1,'xran_flat_buffer::pCtrl()']]], + ['pdata',['pData',['../struct_bbu_io_buf_ctrl_struct.html#a7941f6b35742c3de02e270f7b80c8dda',1,'BbuIoBufCtrlStruct::pData()'],['../structxran__section__desc.html#a77f0d5374ee675db57c0b29946ca7744',1,'xran_section_desc::pData()'],['../structxran__flat__buffer.html#a77f0d5374ee675db57c0b29946ca7744',1,'xran_flat_buffer::pData()']]], + ['pfthinstancehandles',['pFthInstanceHandles',['../struct_xran_lib_config.html#a42dface8348b0fea71cb9a2c334347e6',1,'XranLibConfig']]], + ['phaseflag',['phaseFlag',['../struct_f_p_g_a_phase_comp_cfg.html#a07f4226dca8e0d57f316ef71e8ce7097',1,'FPGAPhaseCompCfg']]], + ['phy_5ftti_5fcb_5fdone',['phy_tti_cb_done',['../structxran__device__ctx.html#a01cfa0ddd894bb94d785f755bfdd8b9e',1,'xran_device_ctx']]], + ['ping_5fdst_5fid',['ping_dst_id',['../ethdi_8h.html#a6cf5d5256dc316f01943cc2850cff44c',1,'ethdi.h']]], + ['ping_5fstate',['ping_state',['../structxran__ethdi__ctx.html#a5a97f72041614c818fa41ba34f0d776d',1,'xran_ethdi_ctx']]], + ['ping_5ftimes',['ping_times',['../structxran__ethdi__ctx.html#af01104d20d9d5120bd7c5b39c7084643',1,'xran_ethdi_ctx']]], + ['pkt_5faux_5fcore',['pkt_aux_core',['../structxran__io__cfg.html#afc9b03cdc767412993891263da114dc3',1,'xran_io_cfg::pkt_aux_core()'],['../structxran__io__loop__cfg.html#a45c65f9da3c052a4b461c34be998b138',1,'xran_io_loop_cfg::pkt_aux_core()']]], + ['pkt_5fdump_5fring',['pkt_dump_ring',['../structxran__ethdi__ctx.html#ae69618bbe52d90014001faa69198051c',1,'xran_ethdi_ctx']]], + ['pkt_5fidx',['pkt_idx',['../structburst__hdr.html#a90db3068871720903d0ccbb5a0b2fb1a',1,'burst_hdr']]], + ['pkt_5fproc_5fcore',['pkt_proc_core',['../structxran__io__cfg.html#a7ea8f53112b353d5e98cc955437f3706',1,'xran_io_cfg::pkt_proc_core()'],['../structxran__io__loop__cfg.html#a0b34ea46d27e0e37faae5f15997cc607',1,'xran_io_loop_cfg::pkt_proc_core()']]], + ['pkt_5fstats',['pkt_stats',['../structxran__ethdi__ctx.html#a16aa42188d112d73d8d32b0f766d8d2c',1,'xran_ethdi_ctx']]], + ['pkt_5ftype',['pkt_type',['../structethdi__hdr.html#a4a94413bc9a9a87e4231f299727b8bc7',1,'ethdi_hdr']]], + ['port',['port',['../structxran__io__cfg.html#ab4a87dda9c9ac332a46e6a9b8a8b8315',1,'xran_io_cfg::port()'],['../structxran__io__loop__cfg.html#af48c6d39ced0dc3629c2b2c1322dae84',1,'xran_io_loop_cfg::port()']]], + ['pprachcallback',['pPrachCallback',['../structxran__device__ctx.html#a5f7077fcb0eef30eca298a156e25ec0c',1,'xran_device_ctx']]], + ['pprachcallbacktag',['pPrachCallbackTag',['../structxran__device__ctx.html#a31909ed26aa2152e78db6fc72237b5d1',1,'xran_device_ctx']]], + ['pprivatemetadata',['pPrivateMetaData',['../structxran__buffer__list.html#a8ff74a1602372db410403d44e0bdd4a9',1,'xran_buffer_list']]], + ['prach_5fconf',['prach_conf',['../structxran__fh__config.html#a167e91cb91119363bf10c9430b6f082c',1,'xran_fh_config']]], + ['prach_5ffile',['prach_file',['../struct___runtime_config.html#ac7a5bcd96e56c56fb91c9a4cb7c57d20',1,'_RuntimeConfig']]], + ['prach_5flast_5fsymbol',['prach_last_symbol',['../structxran__device__ctx.html#a53af49f65e0dafdafcde73d693961a78',1,'xran_device_ctx']]], + ['prach_5flog_5fbuffer_5fposition',['prach_log_buffer_position',['../common_8c.html#afde5189915e37caf48edbef9138f966c',1,'prach_log_buffer_position(): common.c'],['../common_8h.html#afde5189915e37caf48edbef9138f966c',1,'prach_log_buffer_position(): common.c']]], + ['prach_5flog_5fbuffer_5fsize',['prach_log_buffer_size',['../common_8c.html#a2d2caffb405333647be9e6f3e2590b5e',1,'prach_log_buffer_size(): common.c'],['../common_8h.html#a2d2caffb405333647be9e6f3e2590b5e',1,'prach_log_buffer_size(): common.c']]], + ['prach_5fstart_5fsymbol',['prach_start_symbol',['../structxran__device__ctx.html#a26e6c6447dffca5e7ece503e8c0e890c',1,'xran_device_ctx']]], + ['prachconfigidx',['prachConfigIdx',['../structx_r_a_n_prach_config_table_struct.html#ac80f2088871de674e27c76994d18c9e4',1,'xRANPrachConfigTableStruct']]], + ['prachconfigindex',['prachConfigIndex',['../struct___runtime_config.html#a99f4cd3e313c4d956132e277043498c6',1,'_RuntimeConfig']]], + ['prachcpconfig',['PrachCPConfig',['../structxran__device__ctx.html#ac1db3db55038ef0b2f69827746eaf87c',1,'xran_device_ctx']]], + ['prachenable',['prachEnable',['../structxran__fh__init.html#ac0646000d1448798a186e109df0bb3dd',1,'xran_fh_init']]], + ['prachoffset',['prachOffset',['../struct___runtime_config.html#a27e72df1357d47d3028bba20c4af0453',1,'_RuntimeConfig']]], + ['prbmap',['prbMap',['../structxran__prb__map.html#a2357c89e196d6c8c53e29bf04d168b7e',1,'xran_prb_map']]], + ['prbmapdl',['PrbMapDl',['../struct___runtime_config.html#a62e6a2d0e1ba75667b3983405ccd2c84',1,'_RuntimeConfig']]], + ['prbmapul',['PrbMapUl',['../struct___runtime_config.html#aa6dd3fbdc60ae22de4c06c1c4e7fbd73',1,'_RuntimeConfig']]], + ['preamblefmrt',['preambleFmrt',['../structx_r_a_n_prach_config_table_struct.html#acda2526836f55a54072c7582b0735ec6',1,'xRANPrachConfigTableStruct::preambleFmrt()'],['../structx_r_a_n_prach_preamble_l_r_a_struct.html#ac8012ba5a5ec95c9cc18ffa77f36e84e',1,'xRANPrachPreambleLRAStruct::preambleFmrt()']]], + ['psrscallback',['pSrsCallback',['../structxran__device__ctx.html#a09221a6b8c8f4910a8d0ab9f14aa8d9b',1,'xran_device_ctx']]], + ['psrscallbacktag',['pSrsCallbackTag',['../structxran__device__ctx.html#aa1ab602d8bd88daec92581433fee0ff3',1,'xran_device_ctx']]], + ['psymcallback',['pSymCallback',['../structcb__elem__entry.html#a785dc524b99ed15e17115d076f8ace21',1,'cb_elem_entry']]], + ['psymcallbacktag',['pSymCallbackTag',['../structcb__elem__entry.html#af12736a3d2c375571acffe9f7e4e464e',1,'cb_elem_entry']]], + ['puserdata',['pUserData',['../structxran__buffer__list.html#a8d75dbe9027a94780bc2f31670400613',1,'xran_buffer_list']]], + ['pxranconf',['pXranConf',['../sample-app_8c.html#ac1813c55eefb1dca0fd1af4c7a173c4a',1,'sample-app.c']]] +]; diff --git a/docs/API/splitbar.png b/docs/API/splitbar.png new file mode 100644 index 0000000..fe895f2 Binary files /dev/null and b/docs/API/splitbar.png differ diff --git a/docs/API/struct___runtime_config.html b/docs/API/struct___runtime_config.html new file mode 100644 index 0000000..18696f4 --- /dev/null +++ b/docs/API/struct___runtime_config.html @@ -0,0 +1,1425 @@ + + + + + + + +o-du/phy: _RuntimeConfig Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    _RuntimeConfig Struct Reference
    +
    +
    + +

    #include <config.h>

    +
    +Collaboration diagram for _RuntimeConfig:
    +
    +
    Collaboration graph
    + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    uint8_t appMode
     
    uint8_t xranCat
     
    uint8_t numCC
     
    uint8_t numAxc
     
    uint8_t numUlAxc
     
    uint32_t antElmTRx
     
    uint32_t muMimoUEs
     
    uint32_t DlLayersPerUe
     
    uint32_t UlLayersPerUe
     
    uint32_t ttiPeriod
     
    uint32_t testVect
     
    struct ether_addr o_du_addr
     
    struct ether_addr o_ru_addr
     
    struct ether_addr tmp_addr
     
    uint32_t instance_id
     
    uint32_t io_core
     
    uint32_t mtu
     
    int numSlots
     
    char ant_file [XRAN_MAX_SECTOR_NR *XRAN_MAX_ANTENNA_NR][512]
     
    char prach_file [XRAN_MAX_SECTOR_NR *XRAN_MAX_ANTENNA_NR][512]
     
    char dl_bfw_file [XRAN_MAX_SECTOR_NR *XRAN_MAX_ANTENNA_NR][512]
     
    char ul_bfw_file [XRAN_MAX_SECTOR_NR *XRAN_MAX_ANTENNA_NR][512]
     
    char ul_srs_file [XRAN_MAX_SECTOR_NR *XRAN_MAX_ANT_ARRAY_ELM_NR][512]
     
    uint8_t enablePrach
     
    uint8_t prachOffset
     
    uint8_t prachConfigIndex
     
    uint8_t iqswap
     
    uint8_t nebyteorderswap
     
    uint8_t compression
     
    uint16_t totalBfWeights
     
    uint8_t enableSrs
     
    uint16_t srsSymMask
     
    uint16_t maxFrameId
     
    uint16_t Tadv_cp_dl
     
    uint16_t T2a_min_cp_dl
     
    uint16_t T2a_max_cp_dl
     
    uint16_t T2a_min_cp_ul
     
    uint16_t T2a_max_cp_ul
     
    uint16_t T2a_min_up
     
    uint16_t T2a_max_up
     
    uint16_t Ta3_min
     
    uint16_t Ta3_max
     
    uint16_t T1a_min_cp_dl
     
    uint16_t T1a_max_cp_dl
     
    uint16_t T1a_min_cp_ul
     
    uint16_t T1a_max_cp_ul
     
    uint16_t T1a_min_up
     
    uint16_t T1a_max_up
     
    uint16_t Ta4_min
     
    uint16_t Ta4_max
     
    uint8_t enableCP
     
    uint8_t cp_vlan_tag
     
    uint8_t up_vlan_tag
     
    int32_t debugStop
     
    int32_t debugStopCount
     
    int32_t bbdevMode
     
    int32_t DynamicSectionEna
     
    int32_t GPS_Alpha
     
    int32_t GPS_Beta
     
    uint8_t mu_number
     
    uint32_t nDLAbsFrePointA
     
    uint32_t nULAbsFrePointA
     
    uint32_t nDLBandwidth
     
    uint32_t nULBandwidth
     
    uint32_t nDLFftSize
     
    uint32_t nULFftSize
     
    uint8_t nFrameDuplexType
     
    uint8_t nTddPeriod
     
    struct xran_slot_config sSlotConfig [XRAN_MAX_TDD_PERIODICITY]
     
    struct xran_prb_map PrbMapDl
     
    struct xran_prb_map PrbMapUl
     
    +

    Detailed Description

    +

    Run time configuration of application

    + +

    Definition at line 34 of file config.h.

    +

    Field Documentation

    + +

    ◆ ant_file

    + +
    +
    + + + + +
    char ant_file[XRAN_MAX_SECTOR_NR *XRAN_MAX_ANTENNA_NR][512]
    +
    +

    file to use for test vector

    + +

    Definition at line 59 of file config.h.

    + +
    +
    + +

    ◆ antElmTRx

    + +
    +
    + + + + +
    uint32_t antElmTRx
    +
    +

    Number of antenna elements for TX and RX

    + +

    Definition at line 41 of file config.h.

    + +
    +
    + +

    ◆ appMode

    + +
    +
    + + + + +
    uint8_t appMode
    +
    +

    Application mode: lls-CU or RU

    + +

    Definition at line 36 of file config.h.

    + +
    +
    + +

    ◆ bbdevMode

    + +
    +
    + + + + +
    int32_t bbdevMode
    +
    + +

    Definition at line 108 of file config.h.

    + +
    +
    + +

    ◆ compression

    + +
    +
    + + + + +
    uint8_t compression
    +
    +

    enable use case with compression

    + +

    Definition at line 75 of file config.h.

    + +
    +
    + +

    ◆ cp_vlan_tag

    + +
    +
    + + + + +
    uint8_t cp_vlan_tag
    +
    +

    C-plane vlan tag

    + +

    Definition at line 103 of file config.h.

    + +
    +
    + +

    ◆ debugStop

    + +
    +
    + + + + +
    int32_t debugStop
    +
    + +

    Definition at line 106 of file config.h.

    + +
    +
    + +

    ◆ debugStopCount

    + +
    +
    + + + + +
    int32_t debugStopCount
    +
    + +

    Definition at line 107 of file config.h.

    + +
    +
    + +

    ◆ dl_bfw_file

    + +
    +
    + + + + +
    char dl_bfw_file[XRAN_MAX_SECTOR_NR *XRAN_MAX_ANTENNA_NR][512]
    +
    +

    file with beamforming weights for DL streams

    + +

    Definition at line 62 of file config.h.

    + +
    +
    + +

    ◆ DlLayersPerUe

    + +
    +
    + + + + +
    uint32_t DlLayersPerUe
    +
    +

    Number of DL layer per UE

    + +

    Definition at line 44 of file config.h.

    + +
    +
    + +

    ◆ DynamicSectionEna

    + +
    +
    + + + + +
    int32_t DynamicSectionEna
    +
    + +

    Definition at line 109 of file config.h.

    + +
    +
    + +

    ◆ enableCP

    + +
    +
    + + + + +
    uint8_t enableCP
    +
    +

    enable C-plane

    + +

    Definition at line 102 of file config.h.

    + +
    +
    + +

    ◆ enablePrach

    + +
    +
    + + + + +
    uint8_t enablePrach
    +
    +

    enable PRACH

    + +

    Definition at line 68 of file config.h.

    + +
    +
    + +

    ◆ enableSrs

    + +
    +
    + + + + +
    uint8_t enableSrs
    +
    +

    enable SRS (valid for Cat B only)

    + +

    Definition at line 79 of file config.h.

    + +
    +
    + +

    ◆ GPS_Alpha

    + +
    +
    + + + + +
    int32_t GPS_Alpha
    +
    + +

    Definition at line 110 of file config.h.

    + +
    +
    + +

    ◆ GPS_Beta

    + +
    +
    + + + + +
    int32_t GPS_Beta
    +
    + +

    Definition at line 111 of file config.h.

    + +
    +
    + +

    ◆ instance_id

    + +
    +
    + + + + +
    uint32_t instance_id
    +
    +

    Instance ID of application

    + +

    Definition at line 53 of file config.h.

    + +
    +
    + +

    ◆ io_core

    + +
    +
    + + + + +
    uint32_t io_core
    +
    +

    Core used for IO

    + +

    Definition at line 54 of file config.h.

    + +
    +
    + +

    ◆ iqswap

    + +
    +
    + + + + +
    uint8_t iqswap
    +
    +

    do swap of IQ before send to ETH

    + +

    Definition at line 73 of file config.h.

    + +
    +
    + +

    ◆ maxFrameId

    + +
    +
    + + + + +
    uint16_t maxFrameId
    +
    +

    max value of frame id

    + +

    Definition at line 82 of file config.h.

    + +
    +
    + +

    ◆ mtu

    + +
    +
    + + + + +
    uint32_t mtu
    +
    +

    maximum transmission unit (MTU) is the size of the largest protocol data unit (PDU) that can be communicated in a single xRAN network layer transaction. supported 1500 bytes and 9600 bytes (Jumbo Frame)

    + +

    Definition at line 56 of file config.h.

    + +
    +
    + +

    ◆ mu_number

    + +
    +
    + + + + +
    uint8_t mu_number
    +
    +

    Mu numner as per 3GPP

    + +

    Definition at line 113 of file config.h.

    + +
    +
    + +

    ◆ muMimoUEs

    + +
    +
    + + + + +
    uint32_t muMimoUEs
    +
    +

    Number of UEs (with 1 RX ant)/beams

    + +

    Definition at line 42 of file config.h.

    + +
    +
    + +

    ◆ nDLAbsFrePointA

    + +
    +
    + + + + +
    uint32_t nDLAbsFrePointA
    +
    +

    Abs Freq Point A of the Carrier Center Frequency for in KHz Value: 450000->52600000

    + +

    Definition at line 114 of file config.h.

    + +
    +
    + +

    ◆ nDLBandwidth

    + +
    +
    + + + + +
    uint32_t nDLBandwidth
    +
    +

    Carrier bandwidth for in MHz. Value: 5->400

    + +

    Definition at line 116 of file config.h.

    + +
    +
    + +

    ◆ nDLFftSize

    + +
    +
    + + + + +
    uint32_t nDLFftSize
    +
    +

    DL FFT size

    + +

    Definition at line 118 of file config.h.

    + +
    +
    + +

    ◆ nebyteorderswap

    + +
    +
    + + + + +
    uint8_t nebyteorderswap
    +
    +

    do swap of byte order from host byte order to network byte order. ETH

    + +

    Definition at line 74 of file config.h.

    + +
    +
    + +

    ◆ nFrameDuplexType

    + +
    +
    + + + + +
    uint8_t nFrameDuplexType
    +
    + +

    Definition at line 122 of file config.h.

    + +
    +
    + +

    ◆ nTddPeriod

    + +
    +
    + + + + +
    uint8_t nTddPeriod
    +
    + +

    Definition at line 123 of file config.h.

    + +
    +
    + +

    ◆ nULAbsFrePointA

    + +
    +
    + + + + +
    uint32_t nULAbsFrePointA
    +
    +

    Abs Freq Point A of the Carrier Center Frequency for in KHz Value: 450000->52600000

    + +

    Definition at line 115 of file config.h.

    + +
    +
    + +

    ◆ nULBandwidth

    + +
    +
    + + + + +
    uint32_t nULBandwidth
    +
    +

    Carrier bandwidth for in MHz. Value: 5->400

    + +

    Definition at line 117 of file config.h.

    + +
    +
    + +

    ◆ nULFftSize

    + +
    +
    + + + + +
    uint32_t nULFftSize
    +
    +

    UL FFT size

    + +

    Definition at line 119 of file config.h.

    + +
    +
    + +

    ◆ numAxc

    + +
    +
    + + + + +
    uint8_t numAxc
    +
    +

    Number of Antenna Carriers per CC

    + +

    Definition at line 39 of file config.h.

    + +
    +
    + +

    ◆ numCC

    + +
    +
    + + + + +
    uint8_t numCC
    +
    +

    Number of CC per ports supported by RU

    + +

    Definition at line 38 of file config.h.

    + +
    +
    + +

    ◆ numSlots

    + +
    +
    + + + + +
    int numSlots
    +
    +

    number of slots in IQ vector

    + +

    Definition at line 58 of file config.h.

    + +
    +
    + +

    ◆ numUlAxc

    + +
    +
    + + + + +
    uint8_t numUlAxc
    +
    +

    Number of Antenna Carriers per CC for UL (Cat B)

    + +

    Definition at line 40 of file config.h.

    + +
    +
    + +

    ◆ o_du_addr

    + +
    +
    + + + + +
    struct ether_addr o_du_addr
    +
    +

    lls-CU Ethernet Mac Address

    + +

    Definition at line 49 of file config.h.

    + +
    +
    + +

    ◆ o_ru_addr

    + +
    +
    + + + + +
    struct ether_addr o_ru_addr
    +
    +

    RU Ethernet Mac Address

    + +

    Definition at line 50 of file config.h.

    + +
    +
    + +

    ◆ prach_file

    + +
    +
    + + + + +
    char prach_file[XRAN_MAX_SECTOR_NR *XRAN_MAX_ANTENNA_NR][512]
    +
    +

    file to use for test vector

    + +

    Definition at line 60 of file config.h.

    + +
    +
    + +

    ◆ prachConfigIndex

    + +
    +
    + + + + +
    uint8_t prachConfigIndex
    +
    +

    TS36.211 - Table 5.7.1-2 : PRACH Configuration Index

    + +

    Definition at line 72 of file config.h.

    + +
    +
    + +

    ◆ prachOffset

    + +
    +
    + + + + +
    uint8_t prachOffset
    +
    +

    Sets the PRACH position in frequency / subcarrier position, n_PRBoffset^RA and is expressed as a physical resource block number. Set by SIB2, prach-FreqOffset in E-UTRA.

    + +

    Definition at line 69 of file config.h.

    + +
    +
    + +

    ◆ PrbMapDl

    + +
    +
    + + + + +
    struct xran_prb_map PrbMapDl
    +
    + +

    Definition at line 125 of file config.h.

    + +
    +
    + +

    ◆ PrbMapUl

    + +
    +
    + + + + +
    struct xran_prb_map PrbMapUl
    +
    + +

    Definition at line 126 of file config.h.

    + +
    +
    + +

    ◆ srsSymMask

    + +
    +
    + + + + +
    uint16_t srsSymMask
    +
    +

    SRS symbol mask [014] within S/U slot [0-13] def is 13

    + +

    Definition at line 80 of file config.h.

    + +
    +
    + +

    ◆ sSlotConfig

    + +
    +
    + + + + +
    struct xran_slot_config sSlotConfig[XRAN_MAX_TDD_PERIODICITY]
    +
    + +

    Definition at line 124 of file config.h.

    + +
    +
    + +

    ◆ T1a_max_cp_dl

    + +
    +
    + + + + +
    uint16_t T1a_max_cp_dl
    +
    + +

    Definition at line 94 of file config.h.

    + +
    +
    + +

    ◆ T1a_max_cp_ul

    + +
    +
    + + + + +
    uint16_t T1a_max_cp_ul
    +
    + +

    Definition at line 96 of file config.h.

    + +
    +
    + +

    ◆ T1a_max_up

    + +
    +
    + + + + +
    uint16_t T1a_max_up
    +
    + +

    Definition at line 98 of file config.h.

    + +
    +
    + +

    ◆ T1a_min_cp_dl

    + +
    +
    + + + + +
    uint16_t T1a_min_cp_dl
    +
    + +

    Definition at line 93 of file config.h.

    + +
    +
    + +

    ◆ T1a_min_cp_ul

    + +
    +
    + + + + +
    uint16_t T1a_min_cp_ul
    +
    + +

    Definition at line 95 of file config.h.

    + +
    +
    + +

    ◆ T1a_min_up

    + +
    +
    + + + + +
    uint16_t T1a_min_up
    +
    + +

    Definition at line 97 of file config.h.

    + +
    +
    + +

    ◆ T2a_max_cp_dl

    + +
    +
    + + + + +
    uint16_t T2a_max_cp_dl
    +
    + +

    Definition at line 86 of file config.h.

    + +
    +
    + +

    ◆ T2a_max_cp_ul

    + +
    +
    + + + + +
    uint16_t T2a_max_cp_ul
    +
    + +

    Definition at line 88 of file config.h.

    + +
    +
    + +

    ◆ T2a_max_up

    + +
    +
    + + + + +
    uint16_t T2a_max_up
    +
    + +

    Definition at line 90 of file config.h.

    + +
    +
    + +

    ◆ T2a_min_cp_dl

    + +
    +
    + + + + +
    uint16_t T2a_min_cp_dl
    +
    + +

    Definition at line 85 of file config.h.

    + +
    +
    + +

    ◆ T2a_min_cp_ul

    + +
    +
    + + + + +
    uint16_t T2a_min_cp_ul
    +
    + +

    Definition at line 87 of file config.h.

    + +
    +
    + +

    ◆ T2a_min_up

    + +
    +
    + + + + +
    uint16_t T2a_min_up
    +
    + +

    Definition at line 89 of file config.h.

    + +
    +
    + +

    ◆ Ta3_max

    + +
    +
    + + + + +
    uint16_t Ta3_max
    +
    + +

    Definition at line 92 of file config.h.

    + +
    +
    + +

    ◆ Ta3_min

    + +
    +
    + + + + +
    uint16_t Ta3_min
    +
    + +

    Definition at line 91 of file config.h.

    + +
    +
    + +

    ◆ Ta4_max

    + +
    +
    + + + + +
    uint16_t Ta4_max
    +
    + +

    Definition at line 100 of file config.h.

    + +
    +
    + +

    ◆ Ta4_min

    + +
    +
    + + + + +
    uint16_t Ta4_min
    +
    + +

    Definition at line 99 of file config.h.

    + +
    +
    + +

    ◆ Tadv_cp_dl

    + +
    +
    + + + + +
    uint16_t Tadv_cp_dl
    +
    + +

    Definition at line 84 of file config.h.

    + +
    +
    + +

    ◆ testVect

    + +
    +
    + + + + +
    uint32_t testVect
    +
    +

    Test Signal to send

    + +

    Definition at line 48 of file config.h.

    + +
    +
    + +

    ◆ tmp_addr

    + +
    +
    + + + + +
    struct ether_addr tmp_addr
    +
    +

    Temp Ethernet Mac Address

    + +

    Definition at line 51 of file config.h.

    + +
    +
    + +

    ◆ totalBfWeights

    + +
    +
    + + + + +
    uint16_t totalBfWeights
    +
    +

    The total number of beamforming weights on RU

    + +

    Definition at line 77 of file config.h.

    + +
    +
    + +

    ◆ ttiPeriod

    + +
    +
    + + + + +
    uint32_t ttiPeriod
    +
    +

    TTI period

    + +

    Definition at line 47 of file config.h.

    + +
    +
    + +

    ◆ ul_bfw_file

    + +
    +
    + + + + +
    char ul_bfw_file[XRAN_MAX_SECTOR_NR *XRAN_MAX_ANTENNA_NR][512]
    +
    +

    file with beamforming weights for UL streams

    + +

    Definition at line 63 of file config.h.

    + +
    +
    + +

    ◆ ul_srs_file

    + +
    +
    + + + + +
    char ul_srs_file[XRAN_MAX_SECTOR_NR *XRAN_MAX_ANT_ARRAY_ELM_NR][512]
    +
    +

    file with SRS content for UL antenna elements

    + +

    Definition at line 65 of file config.h.

    + +
    +
    + +

    ◆ UlLayersPerUe

    + +
    +
    + + + + +
    uint32_t UlLayersPerUe
    +
    +

    Number of UL layer per UE

    + +

    Definition at line 45 of file config.h.

    + +
    +
    + +

    ◆ up_vlan_tag

    + +
    +
    + + + + +
    uint8_t up_vlan_tag
    +
    +

    U-plane vlan tag

    + +

    Definition at line 104 of file config.h.

    + +
    +
    + +

    ◆ xranCat

    + +
    +
    + + + + +
    uint8_t xranCat
    +
    +

    xran mode: Categoty A | Category B

    + +

    Definition at line 37 of file config.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/struct___runtime_config__coll__graph.map b/docs/API/struct___runtime_config__coll__graph.map new file mode 100644 index 0000000..e8bb4dd --- /dev/null +++ b/docs/API/struct___runtime_config__coll__graph.map @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/docs/API/struct___runtime_config__coll__graph.md5 b/docs/API/struct___runtime_config__coll__graph.md5 new file mode 100644 index 0000000..2a1efcb --- /dev/null +++ b/docs/API/struct___runtime_config__coll__graph.md5 @@ -0,0 +1 @@ +e3aa3842b7637481fdce1310b2f290b3 \ No newline at end of file diff --git a/docs/API/struct___runtime_config__coll__graph.png b/docs/API/struct___runtime_config__coll__graph.png new file mode 100644 index 0000000..a1d4ae5 Binary files /dev/null and b/docs/API/struct___runtime_config__coll__graph.png differ diff --git a/docs/API/struct_bbu_io_buf_ctrl_struct.html b/docs/API/struct_bbu_io_buf_ctrl_struct.html new file mode 100644 index 0000000..f81825b --- /dev/null +++ b/docs/API/struct_bbu_io_buf_ctrl_struct.html @@ -0,0 +1,207 @@ + + + + + + + +o-du/phy: BbuIoBufCtrlStruct Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    BbuIoBufCtrlStruct Struct Reference
    +
    +
    + +

    #include <xran_common.h>

    +
    +Collaboration diagram for BbuIoBufCtrlStruct:
    +
    +
    Collaboration graph
    + + + + +
    + + + + + + + + + + + + + + +

    +Data Fields

    int32_t bValid
     
    int32_t nSegToBeGen
     
    int32_t nSegGenerated
     
    int32_t nSegTransferred
     
    struct rte_mbuf * pData [N_MAX_BUFFER_SEGMENT]
     
    struct xran_buffer_list sBufferList
     
    +

    Detailed Description

    +
    +

    Definition at line 116 of file sample-app.c.

    +

    Field Documentation

    + +

    ◆ bValid

    + +
    +
    + + + + +
    int32_t bValid
    +
    + +

    Definition at line 123 of file sample-app.c.

    + +
    +
    + +

    ◆ nSegGenerated

    + +
    +
    + + + + +
    int32_t nSegGenerated
    +
    + +

    Definition at line 125 of file sample-app.c.

    + +
    +
    + +

    ◆ nSegToBeGen

    + +
    +
    + + + + +
    int32_t nSegToBeGen
    +
    + +

    Definition at line 124 of file sample-app.c.

    + +
    +
    + +

    ◆ nSegTransferred

    + +
    +
    + + + + +
    int32_t nSegTransferred
    +
    + +

    Definition at line 127 of file sample-app.c.

    + +
    +
    + +

    ◆ pData

    + +
    +
    + + + + +
    struct rte_mbuf * pData
    +
    + +

    Definition at line 128 of file sample-app.c.

    + +
    +
    + +

    ◆ sBufferList

    + +
    +
    + + + + +
    struct xran_buffer_list sBufferList
    +
    + +

    Definition at line 129 of file sample-app.c.

    + +
    +
    +
    The documentation for this struct was generated from the following files: +
    + + + + diff --git a/docs/API/struct_bbu_io_buf_ctrl_struct__coll__graph.map b/docs/API/struct_bbu_io_buf_ctrl_struct__coll__graph.map new file mode 100644 index 0000000..b018b92 --- /dev/null +++ b/docs/API/struct_bbu_io_buf_ctrl_struct__coll__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/struct_bbu_io_buf_ctrl_struct__coll__graph.md5 b/docs/API/struct_bbu_io_buf_ctrl_struct__coll__graph.md5 new file mode 100644 index 0000000..2378db1 --- /dev/null +++ b/docs/API/struct_bbu_io_buf_ctrl_struct__coll__graph.md5 @@ -0,0 +1 @@ +e9bfe2fc148b79dd7bbabb3df0de9030 \ No newline at end of file diff --git a/docs/API/struct_bbu_io_buf_ctrl_struct__coll__graph.png b/docs/API/struct_bbu_io_buf_ctrl_struct__coll__graph.png new file mode 100644 index 0000000..9ae25f2 Binary files /dev/null and b/docs/API/struct_bbu_io_buf_ctrl_struct__coll__graph.png differ diff --git a/docs/API/struct_bbu_xran_io_if_struct.html b/docs/API/struct_bbu_xran_io_if_struct.html new file mode 100644 index 0000000..fed8593 --- /dev/null +++ b/docs/API/struct_bbu_xran_io_if_struct.html @@ -0,0 +1,475 @@ + + + + + + + +o-du/phy: BbuXranIoIfStruct Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    BbuXranIoIfStruct Struct Reference
    +
    +
    +
    +Collaboration diagram for BbuXranIoIfStruct:
    +
    +
    Collaboration graph
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    uint64_t nCoreMask
     
    int16_t cpuSocketId
     
    uint8_t nDriverCoreId
     
    uint8_t nFHCoreId
     
    struct rte_mempool * bbuio_buf_pool
     
    BbuIoBufCtrlStruct sFrontHaulTxBbuIoBufCtrl [XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR]
     
    BbuIoBufCtrlStruct sFrontHaulTxPrbMapBbuIoBufCtrl [XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR]
     
    BbuIoBufCtrlStruct sFrontHaulRxBbuIoBufCtrl [XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR]
     
    BbuIoBufCtrlStruct sFrontHaulRxPrbMapBbuIoBufCtrl [XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR]
     
    BbuIoBufCtrlStruct sFHPrachRxBbuIoBufCtrl [XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR]
     
    BbuIoBufCtrlStruct sFHSrsRxBbuIoBufCtrl [XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANT_ARRAY_ELM_NR]
     
    struct xran_flat_buffer sFrontHaulTxBuffers [XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR][XRAN_NUM_OF_SYMBOL_PER_SLOT]
     
    struct xran_flat_buffer sFrontHaulTxPrbMapBuffers [XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR]
     
    struct xran_flat_buffer sFrontHaulRxBuffers [XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR][XRAN_NUM_OF_SYMBOL_PER_SLOT]
     
    struct xran_flat_buffer sFrontHaulRxPrbMapBuffers [XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR]
     
    struct xran_flat_buffer sFHPrachRxBuffers [XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR][XRAN_NUM_OF_SYMBOL_PER_SLOT]
     
    struct xran_flat_buffer sFHSrsRxBuffers [XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANT_ARRAY_ELM_NR][XRAN_MAX_NUM_OF_SRS_SYMBOL_PER_SLOT]
     
    void * nInstanceHandle [XRAN_PORTS_NUM][XRAN_MAX_SECTOR_NR]
     
    uint32_t nBufPoolIndex [XRAN_MAX_SECTOR_NR][MAX_SW_XRAN_INTERFACE_NUM]
     
    uint16_t nInstanceNum
     
    uint64_t nTscTiming [XRAN_N_FE_BUF_LEN]
     
    +

    Detailed Description

    +
    +

    Definition at line 132 of file sample-app.c.

    +

    Field Documentation

    + +

    ◆ bbuio_buf_pool

    + +
    +
    + + + + +
    struct rte_mempool* bbuio_buf_pool
    +
    + +

    Definition at line 138 of file sample-app.c.

    + +
    +
    + +

    ◆ cpuSocketId

    + +
    +
    + + + + +
    int16_t cpuSocketId
    +
    + +

    Definition at line 134 of file sample-app.c.

    + +
    +
    + +

    ◆ nBufPoolIndex

    + +
    +
    + + + + +
    uint32_t nBufPoolIndex[XRAN_MAX_SECTOR_NR][MAX_SW_XRAN_INTERFACE_NUM]
    +
    + +

    Definition at line 161 of file sample-app.c.

    + +
    +
    + +

    ◆ nCoreMask

    + +
    +
    + + + + +
    uint64_t nCoreMask
    +
    + +

    Definition at line 133 of file sample-app.c.

    + +
    +
    + +

    ◆ nDriverCoreId

    + +
    +
    + + + + +
    uint8_t nDriverCoreId
    +
    + +

    Definition at line 135 of file sample-app.c.

    + +
    +
    + +

    ◆ nFHCoreId

    + +
    +
    + + + + +
    uint8_t nFHCoreId
    +
    + +

    Definition at line 136 of file sample-app.c.

    + +
    +
    + +

    ◆ nInstanceHandle

    + +
    +
    + + + + +
    void* nInstanceHandle[XRAN_PORTS_NUM][XRAN_MAX_SECTOR_NR]
    +
    + +

    Definition at line 160 of file sample-app.c.

    + +
    +
    + +

    ◆ nInstanceNum

    + +
    +
    + + + + +
    uint16_t nInstanceNum
    +
    + +

    Definition at line 162 of file sample-app.c.

    + +
    +
    + +

    ◆ nTscTiming

    + +
    +
    + + + + +
    uint64_t nTscTiming[XRAN_N_FE_BUF_LEN]
    +
    + +

    Definition at line 164 of file sample-app.c.

    + +
    +
    + +

    ◆ sFHPrachRxBbuIoBufCtrl

    + +
    +
    + +

    Definition at line 145 of file sample-app.c.

    + +
    +
    + +

    ◆ sFHPrachRxBuffers

    + +
    +
    + +

    Definition at line 155 of file sample-app.c.

    + +
    +
    + +

    ◆ sFHSrsRxBbuIoBufCtrl

    + +
    +
    + +

    Definition at line 148 of file sample-app.c.

    + +
    +
    + +

    ◆ sFHSrsRxBuffers

    + +
    +
    + +

    Definition at line 158 of file sample-app.c.

    + +
    +
    + +

    ◆ sFrontHaulRxBbuIoBufCtrl

    + +
    +
    + +

    Definition at line 143 of file sample-app.c.

    + +
    +
    + +

    ◆ sFrontHaulRxBuffers

    + +
    +
    + +

    Definition at line 153 of file sample-app.c.

    + +
    +
    + +

    ◆ sFrontHaulRxPrbMapBbuIoBufCtrl

    + +
    +
    + + + + +
    BbuIoBufCtrlStruct sFrontHaulRxPrbMapBbuIoBufCtrl[XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR]
    +
    + +

    Definition at line 144 of file sample-app.c.

    + +
    +
    + +

    ◆ sFrontHaulRxPrbMapBuffers

    + +
    +
    + + + + +
    struct xran_flat_buffer sFrontHaulRxPrbMapBuffers[XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR]
    +
    + +

    Definition at line 154 of file sample-app.c.

    + +
    +
    + +

    ◆ sFrontHaulTxBbuIoBufCtrl

    + +
    +
    + +

    Definition at line 141 of file sample-app.c.

    + +
    +
    + +

    ◆ sFrontHaulTxBuffers

    + +
    +
    + +

    Definition at line 151 of file sample-app.c.

    + +
    +
    + +

    ◆ sFrontHaulTxPrbMapBbuIoBufCtrl

    + +
    +
    + + + + +
    BbuIoBufCtrlStruct sFrontHaulTxPrbMapBbuIoBufCtrl[XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR]
    +
    + +

    Definition at line 142 of file sample-app.c.

    + +
    +
    + +

    ◆ sFrontHaulTxPrbMapBuffers

    + +
    +
    + + + + +
    struct xran_flat_buffer sFrontHaulTxPrbMapBuffers[XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR]
    +
    + +

    Definition at line 152 of file sample-app.c.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/struct_bbu_xran_io_if_struct__coll__graph.map b/docs/API/struct_bbu_xran_io_if_struct__coll__graph.map new file mode 100644 index 0000000..ecf5ded --- /dev/null +++ b/docs/API/struct_bbu_xran_io_if_struct__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/API/struct_bbu_xran_io_if_struct__coll__graph.md5 b/docs/API/struct_bbu_xran_io_if_struct__coll__graph.md5 new file mode 100644 index 0000000..43f75ed --- /dev/null +++ b/docs/API/struct_bbu_xran_io_if_struct__coll__graph.md5 @@ -0,0 +1 @@ +f8ae0652cea3720117eb68b3fa3d38ce \ No newline at end of file diff --git a/docs/API/struct_bbu_xran_io_if_struct__coll__graph.png b/docs/API/struct_bbu_xran_io_if_struct__coll__graph.png new file mode 100644 index 0000000..a3009ad Binary files /dev/null and b/docs/API/struct_bbu_xran_io_if_struct__coll__graph.png differ diff --git a/docs/API/struct_benchmark_parameters.html b/docs/API/struct_benchmark_parameters.html new file mode 100644 index 0000000..f7f0801 --- /dev/null +++ b/docs/API/struct_benchmark_parameters.html @@ -0,0 +1,173 @@ + + + + + + + +o-du/phy: BenchmarkParameters Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    BenchmarkParameters Struct Reference
    +
    +
    + +

    #include <common.hpp>

    +
    +Collaboration diagram for BenchmarkParameters:
    +
    +
    Collaboration graph
    +
    + + + + + + + + +

    +Static Public Attributes

    static long repetition = 40
     
    static long loop = 30
     
    static unsigned cpu_id = CPU_ID
     
    +

    Detailed Description

    +
    +

    Definition at line 64 of file common.hpp.

    +

    Field Documentation

    + +

    ◆ cpu_id

    + +
    +
    + + + + + +
    + + + + +
    unsigned cpu_id = CPU_ID
    +
    +static
    +
    + +

    Definition at line 68 of file common.hpp.

    + +
    +
    + +

    ◆ loop

    + +
    +
    + + + + + +
    + + + + +
    long loop = 30
    +
    +static
    +
    + +

    Definition at line 67 of file common.hpp.

    + +
    +
    + +

    ◆ repetition

    + +
    +
    + + + + + +
    + + + + +
    long repetition = 40
    +
    +static
    +
    + +

    Definition at line 66 of file common.hpp.

    + +
    +
    +
    The documentation for this struct was generated from the following files: +
    + + + + diff --git a/docs/API/struct_benchmark_parameters__coll__graph.map b/docs/API/struct_benchmark_parameters__coll__graph.map new file mode 100644 index 0000000..61e66c3 --- /dev/null +++ b/docs/API/struct_benchmark_parameters__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/struct_benchmark_parameters__coll__graph.md5 b/docs/API/struct_benchmark_parameters__coll__graph.md5 new file mode 100644 index 0000000..5c86070 --- /dev/null +++ b/docs/API/struct_benchmark_parameters__coll__graph.md5 @@ -0,0 +1 @@ +3d9cf685fabde228c8448b393ecdbd2e \ No newline at end of file diff --git a/docs/API/struct_benchmark_parameters__coll__graph.png b/docs/API/struct_benchmark_parameters__coll__graph.png new file mode 100644 index 0000000..aee1a9a Binary files /dev/null and b/docs/API/struct_benchmark_parameters__coll__graph.png differ diff --git a/docs/API/struct_block_float_compander_1_1_compressed_data.html b/docs/API/struct_block_float_compander_1_1_compressed_data.html new file mode 100644 index 0000000..622ef21 --- /dev/null +++ b/docs/API/struct_block_float_compander_1_1_compressed_data.html @@ -0,0 +1,158 @@ + + + + + + + +o-du/phy: CompressedData Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    CompressedData Struct Reference
    +
    +
    + +

    #include <xran_compression.hpp>

    +
    +Collaboration diagram for CompressedData:
    +
    +
    Collaboration graph
    +
    + + + + + + + + + + +

    +Data Fields

    CACHE_ALIGNED uint8_t dataCompressedDataOut [k_numSampsCompressed]
     Compressed data. More...
     
    CACHE_ALIGNED uint8_t * dataCompressed
     
    int iqWidth
     Size of mantissa including sign bit. More...
     
    +

    Detailed Description

    +
    +

    Definition at line 60 of file xran_compression.hpp.

    +

    Field Documentation

    + +

    ◆ dataCompressed

    + +
    +
    + + + + +
    CACHE_ALIGNED uint8_t* dataCompressed
    +
    + +

    Definition at line 64 of file xran_compression.hpp.

    + +
    +
    + +

    ◆ dataCompressedDataOut

    + +
    +
    + + + + +
    CACHE_ALIGNED uint8_t dataCompressedDataOut[k_numSampsCompressed]
    +
    + +

    Compressed data.

    + +

    Definition at line 63 of file xran_compression.hpp.

    + +
    +
    + +

    ◆ iqWidth

    + +
    +
    + + + + +
    int iqWidth
    +
    + +

    Size of mantissa including sign bit.

    + +

    Definition at line 66 of file xran_compression.hpp.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/struct_block_float_compander_1_1_compressed_data__coll__graph.map b/docs/API/struct_block_float_compander_1_1_compressed_data__coll__graph.map new file mode 100644 index 0000000..fa2286a --- /dev/null +++ b/docs/API/struct_block_float_compander_1_1_compressed_data__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/struct_block_float_compander_1_1_compressed_data__coll__graph.md5 b/docs/API/struct_block_float_compander_1_1_compressed_data__coll__graph.md5 new file mode 100644 index 0000000..2d24a08 --- /dev/null +++ b/docs/API/struct_block_float_compander_1_1_compressed_data__coll__graph.md5 @@ -0,0 +1 @@ +815a322c8fc72f2ed31ec1ed6e252c45 \ No newline at end of file diff --git a/docs/API/struct_block_float_compander_1_1_compressed_data__coll__graph.png b/docs/API/struct_block_float_compander_1_1_compressed_data__coll__graph.png new file mode 100644 index 0000000..976db64 Binary files /dev/null and b/docs/API/struct_block_float_compander_1_1_compressed_data__coll__graph.png differ diff --git a/docs/API/struct_block_float_compander_1_1_expanded_data.html b/docs/API/struct_block_float_compander_1_1_expanded_data.html new file mode 100644 index 0000000..6ba0cfc --- /dev/null +++ b/docs/API/struct_block_float_compander_1_1_expanded_data.html @@ -0,0 +1,158 @@ + + + + + + + +o-du/phy: ExpandedData Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    ExpandedData Struct Reference
    +
    +
    + +

    #include <xran_compression.hpp>

    +
    +Collaboration diagram for ExpandedData:
    +
    +
    Collaboration graph
    +
    + + + + + + + + + + +

    +Data Fields

    CACHE_ALIGNED int16_t dataExpandedIn [k_numSampsExpanded]
     Expanded data or input data to compressor. More...
     
    CACHE_ALIGNED int16_t * dataExpanded
     
    int iqWidth
     Size of mantissa including sign bit. More...
     
    +

    Detailed Description

    +
    +

    Definition at line 69 of file xran_compression.hpp.

    +

    Field Documentation

    + +

    ◆ dataExpanded

    + +
    +
    + + + + +
    CACHE_ALIGNED int16_t* dataExpanded
    +
    + +

    Definition at line 73 of file xran_compression.hpp.

    + +
    +
    + +

    ◆ dataExpandedIn

    + +
    +
    + + + + +
    CACHE_ALIGNED int16_t dataExpandedIn[k_numSampsExpanded]
    +
    + +

    Expanded data or input data to compressor.

    + +

    Definition at line 72 of file xran_compression.hpp.

    + +
    +
    + +

    ◆ iqWidth

    + +
    +
    + + + + +
    int iqWidth
    +
    + +

    Size of mantissa including sign bit.

    + +

    Definition at line 76 of file xran_compression.hpp.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/struct_block_float_compander_1_1_expanded_data__coll__graph.map b/docs/API/struct_block_float_compander_1_1_expanded_data__coll__graph.map new file mode 100644 index 0000000..d4e0d78 --- /dev/null +++ b/docs/API/struct_block_float_compander_1_1_expanded_data__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/struct_block_float_compander_1_1_expanded_data__coll__graph.md5 b/docs/API/struct_block_float_compander_1_1_expanded_data__coll__graph.md5 new file mode 100644 index 0000000..91f4e41 --- /dev/null +++ b/docs/API/struct_block_float_compander_1_1_expanded_data__coll__graph.md5 @@ -0,0 +1 @@ +f262995e8c36a5ff0fadf7841bb46c46 \ No newline at end of file diff --git a/docs/API/struct_block_float_compander_1_1_expanded_data__coll__graph.png b/docs/API/struct_block_float_compander_1_1_expanded_data__coll__graph.png new file mode 100644 index 0000000..2c5e9f4 Binary files /dev/null and b/docs/API/struct_block_float_compander_1_1_expanded_data__coll__graph.png differ diff --git a/docs/API/struct_block_float_compander_b_f_w_1_1_compressed_data.html b/docs/API/struct_block_float_compander_b_f_w_1_1_compressed_data.html new file mode 100644 index 0000000..965a599 --- /dev/null +++ b/docs/API/struct_block_float_compander_b_f_w_1_1_compressed_data.html @@ -0,0 +1,158 @@ + + + + + + + +o-du/phy: CompressedData Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    CompressedData Struct Reference
    +
    +
    + +

    #include <xran_compression.hpp>

    +
    +Collaboration diagram for CompressedData:
    +
    +
    Collaboration graph
    +
    + + + + + + + + + + +

    +Data Fields

    CACHE_ALIGNED uint8_t dataCompressedDataOut [k_numSampsCompressed]
     Compressed data. More...
     
    CACHE_ALIGNED uint8_t * dataCompressed
     
    int iqWidth
     Size of mantissa including sign bit. More...
     
    +

    Detailed Description

    +
    +

    Definition at line 102 of file xran_compression.hpp.

    +

    Field Documentation

    + +

    ◆ dataCompressed

    + +
    +
    + + + + +
    CACHE_ALIGNED uint8_t* dataCompressed
    +
    + +

    Definition at line 106 of file xran_compression.hpp.

    + +
    +
    + +

    ◆ dataCompressedDataOut

    + +
    +
    + + + + +
    CACHE_ALIGNED uint8_t dataCompressedDataOut[k_numSampsCompressed]
    +
    + +

    Compressed data.

    + +

    Definition at line 105 of file xran_compression.hpp.

    + +
    +
    + +

    ◆ iqWidth

    + +
    +
    + + + + +
    int iqWidth
    +
    + +

    Size of mantissa including sign bit.

    + +

    Definition at line 108 of file xran_compression.hpp.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/struct_block_float_compander_b_f_w_1_1_compressed_data__coll__graph.map b/docs/API/struct_block_float_compander_b_f_w_1_1_compressed_data__coll__graph.map new file mode 100644 index 0000000..fa2286a --- /dev/null +++ b/docs/API/struct_block_float_compander_b_f_w_1_1_compressed_data__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/struct_block_float_compander_b_f_w_1_1_compressed_data__coll__graph.md5 b/docs/API/struct_block_float_compander_b_f_w_1_1_compressed_data__coll__graph.md5 new file mode 100644 index 0000000..2d24a08 --- /dev/null +++ b/docs/API/struct_block_float_compander_b_f_w_1_1_compressed_data__coll__graph.md5 @@ -0,0 +1 @@ +815a322c8fc72f2ed31ec1ed6e252c45 \ No newline at end of file diff --git a/docs/API/struct_block_float_compander_b_f_w_1_1_compressed_data__coll__graph.png b/docs/API/struct_block_float_compander_b_f_w_1_1_compressed_data__coll__graph.png new file mode 100644 index 0000000..976db64 Binary files /dev/null and b/docs/API/struct_block_float_compander_b_f_w_1_1_compressed_data__coll__graph.png differ diff --git a/docs/API/struct_block_float_compander_b_f_w_1_1_expanded_data.html b/docs/API/struct_block_float_compander_b_f_w_1_1_expanded_data.html new file mode 100644 index 0000000..b456b46 --- /dev/null +++ b/docs/API/struct_block_float_compander_b_f_w_1_1_expanded_data.html @@ -0,0 +1,158 @@ + + + + + + + +o-du/phy: ExpandedData Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    ExpandedData Struct Reference
    +
    +
    + +

    #include <xran_compression.hpp>

    +
    +Collaboration diagram for ExpandedData:
    +
    +
    Collaboration graph
    +
    + + + + + + + + + + +

    +Data Fields

    CACHE_ALIGNED int16_t dataExpandedIn [k_numSampsExpanded]
     Expanded data or input data to compressor. More...
     
    CACHE_ALIGNED int16_t * dataExpanded
     
    int iqWidth
     Size of mantissa including sign bit. More...
     
    +

    Detailed Description

    +
    +

    Definition at line 111 of file xran_compression.hpp.

    +

    Field Documentation

    + +

    ◆ dataExpanded

    + +
    +
    + + + + +
    CACHE_ALIGNED int16_t* dataExpanded
    +
    + +

    Definition at line 115 of file xran_compression.hpp.

    + +
    +
    + +

    ◆ dataExpandedIn

    + +
    +
    + + + + +
    CACHE_ALIGNED int16_t dataExpandedIn[k_numSampsExpanded]
    +
    + +

    Expanded data or input data to compressor.

    + +

    Definition at line 114 of file xran_compression.hpp.

    + +
    +
    + +

    ◆ iqWidth

    + +
    +
    + + + + +
    int iqWidth
    +
    + +

    Size of mantissa including sign bit.

    + +

    Definition at line 118 of file xran_compression.hpp.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/struct_block_float_compander_b_f_w_1_1_expanded_data__coll__graph.map b/docs/API/struct_block_float_compander_b_f_w_1_1_expanded_data__coll__graph.map new file mode 100644 index 0000000..d4e0d78 --- /dev/null +++ b/docs/API/struct_block_float_compander_b_f_w_1_1_expanded_data__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/struct_block_float_compander_b_f_w_1_1_expanded_data__coll__graph.md5 b/docs/API/struct_block_float_compander_b_f_w_1_1_expanded_data__coll__graph.md5 new file mode 100644 index 0000000..91f4e41 --- /dev/null +++ b/docs/API/struct_block_float_compander_b_f_w_1_1_expanded_data__coll__graph.md5 @@ -0,0 +1 @@ +f262995e8c36a5ff0fadf7841bb46c46 \ No newline at end of file diff --git a/docs/API/struct_block_float_compander_b_f_w_1_1_expanded_data__coll__graph.png b/docs/API/struct_block_float_compander_b_f_w_1_1_expanded_data__coll__graph.png new file mode 100644 index 0000000..2c5e9f4 Binary files /dev/null and b/docs/API/struct_block_float_compander_b_f_w_1_1_expanded_data__coll__graph.png differ diff --git a/docs/API/struct_c_o_m_p_l_e_x32.html b/docs/API/struct_c_o_m_p_l_e_x32.html new file mode 100644 index 0000000..408da11 --- /dev/null +++ b/docs/API/struct_c_o_m_p_l_e_x32.html @@ -0,0 +1,136 @@ + + + + + + + +o-du/phy: COMPLEX32 Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    COMPLEX32 Struct Reference
    +
    +
    + +

    Defines 64-bit complex structure; both real part and image part have 32 bit width. + More...

    + +

    #include <common_typedef_xran.h>

    +
    +Collaboration diagram for COMPLEX32:
    +
    +
    Collaboration graph
    +
    + + + + + + +

    +Data Fields

    float re
     
    float im
     
    +

    Detailed Description

    +

    Defines 64-bit complex structure; both real part and image part have 32 bit width.

    + +

    Definition at line 35 of file common_typedef_xran.h.

    +

    Field Documentation

    + +

    ◆ im

    + +
    +
    + + + + +
    float im
    +
    +

    32-bit image part

    + +

    Definition at line 37 of file common_typedef_xran.h.

    + +
    +
    + +

    ◆ re

    + +
    +
    + + + + +
    float re
    +
    +

    32-bit real part

    + +

    Definition at line 36 of file common_typedef_xran.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/struct_c_o_m_p_l_e_x32__coll__graph.map b/docs/API/struct_c_o_m_p_l_e_x32__coll__graph.map new file mode 100644 index 0000000..cbd143d --- /dev/null +++ b/docs/API/struct_c_o_m_p_l_e_x32__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/struct_c_o_m_p_l_e_x32__coll__graph.md5 b/docs/API/struct_c_o_m_p_l_e_x32__coll__graph.md5 new file mode 100644 index 0000000..dba76ae --- /dev/null +++ b/docs/API/struct_c_o_m_p_l_e_x32__coll__graph.md5 @@ -0,0 +1 @@ +00fc65c75357868e0252b0b26d8a7e31 \ No newline at end of file diff --git a/docs/API/struct_c_o_m_p_l_e_x32__coll__graph.png b/docs/API/struct_c_o_m_p_l_e_x32__coll__graph.png new file mode 100644 index 0000000..4f283d9 Binary files /dev/null and b/docs/API/struct_c_o_m_p_l_e_x32__coll__graph.png differ diff --git a/docs/API/struct_f_p_g_a_phase_comp_cfg.html b/docs/API/struct_f_p_g_a_phase_comp_cfg.html new file mode 100644 index 0000000..361c1b4 --- /dev/null +++ b/docs/API/struct_f_p_g_a_phase_comp_cfg.html @@ -0,0 +1,182 @@ + + + + + + + +o-du/phy: FPGAPhaseCompCfg Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    FPGAPhaseCompCfg Struct Reference
    +
    +
    +
    +Collaboration diagram for FPGAPhaseCompCfg:
    +
    +
    Collaboration graph
    +
    + + + + + + + + + + + + +

    +Data Fields

    uint32_t phaseFlag:1
     
    uint32_t NRARFCN:22
     
    uint32_t SULFreShift:1
     
    uint32_t SULFlag:1
     
    uint32_t rsv:7
     
    +

    Detailed Description

    +
    +

    Definition at line 81 of file sample-app.c.

    +

    Field Documentation

    + +

    ◆ NRARFCN

    + +
    +
    + + + + +
    uint32_t NRARFCN
    +
    + +

    Definition at line 84 of file sample-app.c.

    + +
    +
    + +

    ◆ phaseFlag

    + +
    +
    + + + + +
    uint32_t phaseFlag
    +
    + +

    Definition at line 83 of file sample-app.c.

    + +
    +
    + +

    ◆ rsv

    + +
    +
    + + + + +
    uint32_t rsv
    +
    + +

    Definition at line 87 of file sample-app.c.

    + +
    +
    + +

    ◆ SULFlag

    + +
    +
    + + + + +
    uint32_t SULFlag
    +
    + +

    Definition at line 86 of file sample-app.c.

    + +
    +
    + +

    ◆ SULFreShift

    + +
    +
    + + + + +
    uint32_t SULFreShift
    +
    + +

    Definition at line 85 of file sample-app.c.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/struct_f_p_g_a_phase_comp_cfg__coll__graph.map b/docs/API/struct_f_p_g_a_phase_comp_cfg__coll__graph.map new file mode 100644 index 0000000..4bed718 --- /dev/null +++ b/docs/API/struct_f_p_g_a_phase_comp_cfg__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/struct_f_p_g_a_phase_comp_cfg__coll__graph.md5 b/docs/API/struct_f_p_g_a_phase_comp_cfg__coll__graph.md5 new file mode 100644 index 0000000..fd4fc31 --- /dev/null +++ b/docs/API/struct_f_p_g_a_phase_comp_cfg__coll__graph.md5 @@ -0,0 +1 @@ +238442b8178c512ce7ea1c540db72ef6 \ No newline at end of file diff --git a/docs/API/struct_f_p_g_a_phase_comp_cfg__coll__graph.png b/docs/API/struct_f_p_g_a_phase_comp_cfg__coll__graph.png new file mode 100644 index 0000000..9f3dd1d Binary files /dev/null and b/docs/API/struct_f_p_g_a_phase_comp_cfg__coll__graph.png differ diff --git a/docs/API/struct_xran_lib_config.html b/docs/API/struct_xran_lib_config.html new file mode 100644 index 0000000..19fedeb --- /dev/null +++ b/docs/API/struct_xran_lib_config.html @@ -0,0 +1,236 @@ + + + + + + + +o-du/phy: XranLibConfig Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    XranLibConfig Struct Reference
    +
    +
    +
    +Collaboration diagram for XranLibConfig:
    +
    +
    Collaboration graph
    +
    + + + + + + + + + + + + + + + + + + +

    +Data Fields

    uint32_t nDriverCoreId
     
    uint32_t nTimingAdvance
     
    uint32_t nFhConfig
     
    uint32_t nFhBufIntFlag
     
    uint32_t nSectorNum
     
    uint32_t nNrOfSlotInSf
     
    uint32_t nNrofSfInFrame
     
    void * pFthInstanceHandles
     
    +

    Detailed Description

    +
    +

    Definition at line 90 of file sample-app.c.

    +

    Field Documentation

    + +

    ◆ nDriverCoreId

    + +
    +
    + + + + +
    uint32_t nDriverCoreId
    +
    + +

    Definition at line 92 of file sample-app.c.

    + +
    +
    + +

    ◆ nFhBufIntFlag

    + +
    +
    + + + + +
    uint32_t nFhBufIntFlag
    +
    + +

    Definition at line 95 of file sample-app.c.

    + +
    +
    + +

    ◆ nFhConfig

    + +
    +
    + + + + +
    uint32_t nFhConfig
    +
    + +

    Definition at line 94 of file sample-app.c.

    + +
    +
    + +

    ◆ nNrofSfInFrame

    + +
    +
    + + + + +
    uint32_t nNrofSfInFrame
    +
    + +

    Definition at line 98 of file sample-app.c.

    + +
    +
    + +

    ◆ nNrOfSlotInSf

    + +
    +
    + + + + +
    uint32_t nNrOfSlotInSf
    +
    + +

    Definition at line 97 of file sample-app.c.

    + +
    +
    + +

    ◆ nSectorNum

    + +
    +
    + + + + +
    uint32_t nSectorNum
    +
    + +

    Definition at line 96 of file sample-app.c.

    + +
    +
    + +

    ◆ nTimingAdvance

    + +
    +
    + + + + +
    uint32_t nTimingAdvance
    +
    + +

    Definition at line 93 of file sample-app.c.

    + +
    +
    + +

    ◆ pFthInstanceHandles

    + +
    +
    + + + + +
    void* pFthInstanceHandles
    +
    + +

    Definition at line 99 of file sample-app.c.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/struct_xran_lib_config__coll__graph.map b/docs/API/struct_xran_lib_config__coll__graph.map new file mode 100644 index 0000000..51fabef --- /dev/null +++ b/docs/API/struct_xran_lib_config__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/struct_xran_lib_config__coll__graph.md5 b/docs/API/struct_xran_lib_config__coll__graph.md5 new file mode 100644 index 0000000..9549c80 --- /dev/null +++ b/docs/API/struct_xran_lib_config__coll__graph.md5 @@ -0,0 +1 @@ +35ff82effe975e7e4236c4b6981e2b0e \ No newline at end of file diff --git a/docs/API/struct_xran_lib_config__coll__graph.png b/docs/API/struct_xran_lib_config__coll__graph.png new file mode 100644 index 0000000..82525f0 Binary files /dev/null and b/docs/API/struct_xran_lib_config__coll__graph.png differ diff --git a/docs/API/structburst__hdr.html b/docs/API/structburst__hdr.html new file mode 100644 index 0000000..42506fe --- /dev/null +++ b/docs/API/structburst__hdr.html @@ -0,0 +1,166 @@ + + + + + + + +o-du/phy: burst_hdr Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    burst_hdr Struct Reference
    +
    +
    + +

    #include <ethernet.h>

    +
    +Collaboration diagram for burst_hdr:
    +
    +
    Collaboration graph
    +
    + + + + + + + + + + +

    +Data Fields

    int8_t pkt_idx
     
    int8_t total_pkts
     
    int8_t original_type
     
    int8_t data []
     
    +

    Detailed Description

    +
    +

    Definition at line 105 of file ethernet.h.

    +

    Field Documentation

    + +

    ◆ data

    + +
    +
    + + + + +
    int8_t data[]
    +
    + +

    Definition at line 109 of file ethernet.h.

    + +
    +
    + +

    ◆ original_type

    + +
    +
    + + + + +
    int8_t original_type
    +
    + +

    Definition at line 108 of file ethernet.h.

    + +
    +
    + +

    ◆ pkt_idx

    + +
    +
    + + + + +
    int8_t pkt_idx
    +
    + +

    Definition at line 106 of file ethernet.h.

    + +
    +
    + +

    ◆ total_pkts

    + +
    +
    + + + + +
    int8_t total_pkts
    +
    + +

    Definition at line 107 of file ethernet.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structburst__hdr__coll__graph.map b/docs/API/structburst__hdr__coll__graph.map new file mode 100644 index 0000000..2c1c180 --- /dev/null +++ b/docs/API/structburst__hdr__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structburst__hdr__coll__graph.md5 b/docs/API/structburst__hdr__coll__graph.md5 new file mode 100644 index 0000000..bbae59e --- /dev/null +++ b/docs/API/structburst__hdr__coll__graph.md5 @@ -0,0 +1 @@ +9d276e455b14ab8ef6692cc40093c017 \ No newline at end of file diff --git a/docs/API/structburst__hdr__coll__graph.png b/docs/API/structburst__hdr__coll__graph.png new file mode 100644 index 0000000..a7a2fd4 Binary files /dev/null and b/docs/API/structburst__hdr__coll__graph.png differ diff --git a/docs/API/structcb__elem__entry.html b/docs/API/structcb__elem__entry.html new file mode 100644 index 0000000..a20af1f --- /dev/null +++ b/docs/API/structcb__elem__entry.html @@ -0,0 +1,155 @@ + + + + + + + +o-du/phy: cb_elem_entry Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    cb_elem_entry Struct Reference
    +
    +
    + +

    #include <xran_common.h>

    +
    +Collaboration diagram for cb_elem_entry:
    +
    +
    Collaboration graph
    +
    + + + + +

    +Public Member Functions

     LIST_ENTRY (cb_elem_entry) pointers
     
    + + + + + +

    +Data Fields

    XranSymCallbackFn pSymCallback
     
    void * pSymCallbackTag
     
    +

    Detailed Description

    +
    +

    Definition at line 162 of file xran_common.h.

    +

    Member Function Documentation

    + +

    ◆ LIST_ENTRY()

    + +
    +
    + + + + + + + + +
    LIST_ENTRY (cb_elem_entry )
    +
    + +
    +
    +

    Field Documentation

    + +

    ◆ pSymCallback

    + +
    +
    + + + + +
    XranSymCallbackFn pSymCallback
    +
    + +

    Definition at line 163 of file xran_common.h.

    + +
    +
    + +

    ◆ pSymCallbackTag

    + +
    +
    + + + + +
    void* pSymCallbackTag
    +
    + +

    Definition at line 164 of file xran_common.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structcb__elem__entry__coll__graph.map b/docs/API/structcb__elem__entry__coll__graph.map new file mode 100644 index 0000000..f288b55 --- /dev/null +++ b/docs/API/structcb__elem__entry__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structcb__elem__entry__coll__graph.md5 b/docs/API/structcb__elem__entry__coll__graph.md5 new file mode 100644 index 0000000..a5e5420 --- /dev/null +++ b/docs/API/structcb__elem__entry__coll__graph.md5 @@ -0,0 +1 @@ +7f1906d79ec1e93d5836ca053f4696c3 \ No newline at end of file diff --git a/docs/API/structcb__elem__entry__coll__graph.png b/docs/API/structcb__elem__entry__coll__graph.png new file mode 100644 index 0000000..ace33f0 Binary files /dev/null and b/docs/API/structcb__elem__entry__coll__graph.png differ diff --git a/docs/API/structcomplex__double.html b/docs/API/structcomplex__double.html new file mode 100644 index 0000000..305e1c5 --- /dev/null +++ b/docs/API/structcomplex__double.html @@ -0,0 +1,136 @@ + + + + + + + +o-du/phy: complex_double Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    complex_double Struct Reference
    +
    +
    + +

    Defines 128-bit complex structure; both real part and image part have 64 bit width. + More...

    + +

    #include <common_typedef_xran.h>

    +
    +Collaboration diagram for complex_double:
    +
    +
    Collaboration graph
    +
    + + + + + + +

    +Data Fields

    double re
     
    double im
     
    +

    Detailed Description

    +

    Defines 128-bit complex structure; both real part and image part have 64 bit width.

    + +

    Definition at line 74 of file common_typedef_xran.h.

    +

    Field Documentation

    + +

    ◆ im

    + +
    +
    + + + + +
    double im
    +
    +

    64-bit image part

    + +

    Definition at line 76 of file common_typedef_xran.h.

    + +
    +
    + +

    ◆ re

    + +
    +
    + + + + +
    double re
    +
    +

    64-bit real part

    + +

    Definition at line 75 of file common_typedef_xran.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structcomplex__double__coll__graph.map b/docs/API/structcomplex__double__coll__graph.map new file mode 100644 index 0000000..f3e86a9 --- /dev/null +++ b/docs/API/structcomplex__double__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structcomplex__double__coll__graph.md5 b/docs/API/structcomplex__double__coll__graph.md5 new file mode 100644 index 0000000..bdedba1 --- /dev/null +++ b/docs/API/structcomplex__double__coll__graph.md5 @@ -0,0 +1 @@ +36889273e1cfc8c8a999fde06dc9007b \ No newline at end of file diff --git a/docs/API/structcomplex__double__coll__graph.png b/docs/API/structcomplex__double__coll__graph.png new file mode 100644 index 0000000..7249f8d Binary files /dev/null and b/docs/API/structcomplex__double__coll__graph.png differ diff --git a/docs/API/structcomplex__float.html b/docs/API/structcomplex__float.html new file mode 100644 index 0000000..d56b3d0 --- /dev/null +++ b/docs/API/structcomplex__float.html @@ -0,0 +1,136 @@ + + + + + + + +o-du/phy: complex_float Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    complex_float Struct Reference
    +
    +
    + +

    Defines 64-bit complex structure; both real part and image part have 32 bit width. + More...

    + +

    #include <common_typedef_xran.h>

    +
    +Collaboration diagram for complex_float:
    +
    +
    Collaboration graph
    +
    + + + + + + +

    +Data Fields

    float re
     
    float im
     
    +

    Detailed Description

    +

    Defines 64-bit complex structure; both real part and image part have 32 bit width.

    + +

    Definition at line 65 of file common_typedef_xran.h.

    +

    Field Documentation

    + +

    ◆ im

    + +
    +
    + + + + +
    float im
    +
    +

    32-bit image part

    + +

    Definition at line 67 of file common_typedef_xran.h.

    + +
    +
    + +

    ◆ re

    + +
    +
    + + + + +
    float re
    +
    +

    32-bit real part

    + +

    Definition at line 66 of file common_typedef_xran.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structcomplex__float__coll__graph.map b/docs/API/structcomplex__float__coll__graph.map new file mode 100644 index 0000000..f76f519 --- /dev/null +++ b/docs/API/structcomplex__float__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structcomplex__float__coll__graph.md5 b/docs/API/structcomplex__float__coll__graph.md5 new file mode 100644 index 0000000..0abf35e --- /dev/null +++ b/docs/API/structcomplex__float__coll__graph.md5 @@ -0,0 +1 @@ +9872f5aa3e311d95f8f30d9cb09bf493 \ No newline at end of file diff --git a/docs/API/structcomplex__float__coll__graph.png b/docs/API/structcomplex__float__coll__graph.png new file mode 100644 index 0000000..d59aecd Binary files /dev/null and b/docs/API/structcomplex__float__coll__graph.png differ diff --git a/docs/API/structcomplex__half.html b/docs/API/structcomplex__half.html new file mode 100644 index 0000000..a3c44d5 --- /dev/null +++ b/docs/API/structcomplex__half.html @@ -0,0 +1,136 @@ + + + + + + + +o-du/phy: complex_half Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    complex_half Struct Reference
    +
    +
    + +

    Defines 32-bit complex structure; both real part and image part have 16 bit width. + More...

    + +

    #include <common_typedef_xran.h>

    +
    +Collaboration diagram for complex_half:
    +
    +
    Collaboration graph
    +
    + + + + + + +

    +Data Fields

    half re
     
    half im
     
    +

    Detailed Description

    +

    Defines 32-bit complex structure; both real part and image part have 16 bit width.

    + +

    Definition at line 91 of file common_typedef_xran.h.

    +

    Field Documentation

    + +

    ◆ im

    + +
    +
    + + + + +
    half im
    +
    +

    16-bit image part

    + +

    Definition at line 93 of file common_typedef_xran.h.

    + +
    +
    + +

    ◆ re

    + +
    +
    + + + + +
    half re
    +
    +

    16-bit real part

    + +

    Definition at line 92 of file common_typedef_xran.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structcomplex__half__coll__graph.map b/docs/API/structcomplex__half__coll__graph.map new file mode 100644 index 0000000..5612998 --- /dev/null +++ b/docs/API/structcomplex__half__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structcomplex__half__coll__graph.md5 b/docs/API/structcomplex__half__coll__graph.md5 new file mode 100644 index 0000000..5a447e9 --- /dev/null +++ b/docs/API/structcomplex__half__coll__graph.md5 @@ -0,0 +1 @@ +c773831b44d4a6dbe2e0438085694176 \ No newline at end of file diff --git a/docs/API/structcomplex__half__coll__graph.png b/docs/API/structcomplex__half__coll__graph.png new file mode 100644 index 0000000..9b22cac Binary files /dev/null and b/docs/API/structcomplex__half__coll__graph.png differ diff --git a/docs/API/structcomplex__int16__t.html b/docs/API/structcomplex__int16__t.html new file mode 100644 index 0000000..ad2d0b4 --- /dev/null +++ b/docs/API/structcomplex__int16__t.html @@ -0,0 +1,137 @@ + + + + + + + +o-du/phy: complex_int16_t Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    complex_int16_t Struct Reference
    +
    +
    + +

    Defines 32-bit complex structure; both real part and image part have 16 bit width. + More...

    + +

    #include <common_typedef_xran.h>

    +
    +Collaboration diagram for complex_int16_t:
    +
    +
    Collaboration graph
    +
    + + + + + + +

    +Data Fields

    int16_t re
     
    int16_t im
     
    +

    Detailed Description

    +

    Defines 32-bit complex structure; both real part and image part have 16 bit width.

    +

    Same defines as COMPLEX16

    + +

    Definition at line 46 of file common_typedef_xran.h.

    +

    Field Documentation

    + +

    ◆ im

    + +
    +
    + + + + +
    int16_t im
    +
    +

    16-bit image part

    + +

    Definition at line 48 of file common_typedef_xran.h.

    + +
    +
    + +

    ◆ re

    + +
    +
    + + + + +
    int16_t re
    +
    +

    16-bit real part

    + +

    Definition at line 47 of file common_typedef_xran.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structcomplex__int16__t__coll__graph.map b/docs/API/structcomplex__int16__t__coll__graph.map new file mode 100644 index 0000000..a2d8f6d --- /dev/null +++ b/docs/API/structcomplex__int16__t__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structcomplex__int16__t__coll__graph.md5 b/docs/API/structcomplex__int16__t__coll__graph.md5 new file mode 100644 index 0000000..cccaff3 --- /dev/null +++ b/docs/API/structcomplex__int16__t__coll__graph.md5 @@ -0,0 +1 @@ +e7659bc4a1c3b0ff80068f1cb7d86504 \ No newline at end of file diff --git a/docs/API/structcomplex__int16__t__coll__graph.png b/docs/API/structcomplex__int16__t__coll__graph.png new file mode 100644 index 0000000..2b78326 Binary files /dev/null and b/docs/API/structcomplex__int16__t__coll__graph.png differ diff --git a/docs/API/structcomplex__int32__t.html b/docs/API/structcomplex__int32__t.html new file mode 100644 index 0000000..5285df6 --- /dev/null +++ b/docs/API/structcomplex__int32__t.html @@ -0,0 +1,136 @@ + + + + + + + +o-du/phy: complex_int32_t Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    complex_int32_t Struct Reference
    +
    +
    + +

    Defines 64-bit complex structure; both real part and image part have 32 bit width. + More...

    + +

    #include <common_typedef_xran.h>

    +
    +Collaboration diagram for complex_int32_t:
    +
    +
    Collaboration graph
    +
    + + + + + + +

    +Data Fields

    int32_t re
     
    int32_t im
     
    +

    Detailed Description

    +

    Defines 64-bit complex structure; both real part and image part have 32 bit width.

    + +

    Definition at line 56 of file common_typedef_xran.h.

    +

    Field Documentation

    + +

    ◆ im

    + +
    +
    + + + + +
    int32_t im
    +
    +

    32-bit image part

    + +

    Definition at line 58 of file common_typedef_xran.h.

    + +
    +
    + +

    ◆ re

    + +
    +
    + + + + +
    int32_t re
    +
    +

    32-bit real part

    + +

    Definition at line 57 of file common_typedef_xran.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structcomplex__int32__t__coll__graph.map b/docs/API/structcomplex__int32__t__coll__graph.map new file mode 100644 index 0000000..911900a --- /dev/null +++ b/docs/API/structcomplex__int32__t__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structcomplex__int32__t__coll__graph.md5 b/docs/API/structcomplex__int32__t__coll__graph.md5 new file mode 100644 index 0000000..d7b9588 --- /dev/null +++ b/docs/API/structcomplex__int32__t__coll__graph.md5 @@ -0,0 +1 @@ +9eb49b7c4643f52a5b99fc2824530165 \ No newline at end of file diff --git a/docs/API/structcomplex__int32__t__coll__graph.png b/docs/API/structcomplex__int32__t__coll__graph.png new file mode 100644 index 0000000..ab570cd Binary files /dev/null and b/docs/API/structcomplex__int32__t__coll__graph.png differ diff --git a/docs/API/structcompression__hdr.html b/docs/API/structcompression__hdr.html new file mode 100644 index 0000000..00cb79c --- /dev/null +++ b/docs/API/structcompression__hdr.html @@ -0,0 +1,133 @@ + + + + + + + +o-du/phy: compression_hdr Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    compression_hdr Struct Reference
    +
    +
    + +

    #include <xran_pkt.h>

    +
    +Collaboration diagram for compression_hdr:
    +
    +
    Collaboration graph
    +
    + + + + + + +

    +Data Fields

    uint8_t ud_iq_width:4
     
    uint8_t ud_comp_meth:4
     
    +

    Detailed Description

    +

    This parameter defines the compression method and IQ bit width for the user data in the data section. This field is absent from U-Plane messages when the static IQ format and compression method is configured via the M-Plane. In this way a single compression method and IQ bit width is provided (per UL and DL, per LTE and NR) without adding more overhead to U-Plane messages.

    + +

    Definition at line 206 of file xran_pkt.h.

    +

    Field Documentation

    + +

    ◆ ud_comp_meth

    + +
    +
    + + + + +
    uint8_t ud_comp_meth
    +
    +

    udCompMeth| compression method |udIqWidth meaning ------------—+--------------------------—+-----------------------------------------— 0000b | no compression |bitwidth of each uncompressed I and Q value 0001b | block floating point |bitwidth of each I and Q mantissa value 0010b | block scaling |bitwidth of each I and Q scaled value 0011b | mu-law |bitwidth of each compressed I and Q value 0100b | modulation compression |bitwidth of each compressed I and Q value 0100b - 1111b | reserved for future methods |depends on the specific compression method

    + +

    Definition at line 213 of file xran_pkt.h.

    + +
    +
    + +

    ◆ ud_iq_width

    + +
    +
    + + + + +
    uint8_t ud_iq_width
    +
    +

    Bit width of each I and each Q 16 for udIqWidth=0, otherwise equals udIqWidth e.g. udIqWidth = 0000b means I and Q are each 16 bits wide; e.g. udIQWidth = 0001b means I and Q are each 1 bit wide; e.g. udIqWidth = 1111b means I and Q are each 15 bits wide

    + +

    Definition at line 208 of file xran_pkt.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structcompression__hdr__coll__graph.map b/docs/API/structcompression__hdr__coll__graph.map new file mode 100644 index 0000000..d71b91e --- /dev/null +++ b/docs/API/structcompression__hdr__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structcompression__hdr__coll__graph.md5 b/docs/API/structcompression__hdr__coll__graph.md5 new file mode 100644 index 0000000..bdac07a --- /dev/null +++ b/docs/API/structcompression__hdr__coll__graph.md5 @@ -0,0 +1 @@ +74fed3923bb3f6166dc7bd53199907b4 \ No newline at end of file diff --git a/docs/API/structcompression__hdr__coll__graph.png b/docs/API/structcompression__hdr__coll__graph.png new file mode 100644 index 0000000..6d9fc01 Binary files /dev/null and b/docs/API/structcompression__hdr__coll__graph.png differ diff --git a/docs/API/structcompression__params_1_1block__fl__point.html b/docs/API/structcompression__params_1_1block__fl__point.html new file mode 100644 index 0000000..f0466f4 --- /dev/null +++ b/docs/API/structcompression__params_1_1block__fl__point.html @@ -0,0 +1,134 @@ + + + + + + + +o-du/phy: compression_params::block_fl_point Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    compression_params::block_fl_point Struct Reference
    +
    +
    + +

    #include <xran_pkt_up.h>

    +
    +Collaboration diagram for compression_params::block_fl_point:
    +
    +
    Collaboration graph
    +
    + + + + + + +

    +Data Fields

    uint8_t exponent:4
     
    uint8_t reserved:4
     
    +

    Detailed Description

    +
    +

    Definition at line 111 of file xran_pkt_up.h.

    +

    Field Documentation

    + +

    ◆ exponent

    + +
    +
    + + + + +
    uint8_t exponent
    +
    + +

    Definition at line 112 of file xran_pkt_up.h.

    + +
    +
    + +

    ◆ reserved

    + +
    +
    + + + + +
    uint8_t reserved
    +
    + +

    Definition at line 113 of file xran_pkt_up.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structcompression__params_1_1block__fl__point__coll__graph.map b/docs/API/structcompression__params_1_1block__fl__point__coll__graph.map new file mode 100644 index 0000000..dd628c3 --- /dev/null +++ b/docs/API/structcompression__params_1_1block__fl__point__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structcompression__params_1_1block__fl__point__coll__graph.md5 b/docs/API/structcompression__params_1_1block__fl__point__coll__graph.md5 new file mode 100644 index 0000000..54c44e8 --- /dev/null +++ b/docs/API/structcompression__params_1_1block__fl__point__coll__graph.md5 @@ -0,0 +1 @@ +e60cfa96b584d5944ffd6ce7fef1abb0 \ No newline at end of file diff --git a/docs/API/structcompression__params_1_1block__fl__point__coll__graph.png b/docs/API/structcompression__params_1_1block__fl__point__coll__graph.png new file mode 100644 index 0000000..34f4d7e Binary files /dev/null and b/docs/API/structcompression__params_1_1block__fl__point__coll__graph.png differ diff --git a/docs/API/structcompression__params_1_1block__scaling.html b/docs/API/structcompression__params_1_1block__scaling.html new file mode 100644 index 0000000..3c5d897 --- /dev/null +++ b/docs/API/structcompression__params_1_1block__scaling.html @@ -0,0 +1,116 @@ + + + + + + + +o-du/phy: compression_params::block_scaling Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    compression_params::block_scaling Struct Reference
    +
    +
    + +

    #include <xran_pkt_up.h>

    +
    +Collaboration diagram for compression_params::block_scaling:
    +
    +
    Collaboration graph
    +
    + + + + +

    +Data Fields

    uint8_t sblockScaler
     
    +

    Detailed Description

    +
    +

    Definition at line 115 of file xran_pkt_up.h.

    +

    Field Documentation

    + +

    ◆ sblockScaler

    + +
    +
    + + + + +
    uint8_t sblockScaler
    +
    + +

    Definition at line 116 of file xran_pkt_up.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structcompression__params_1_1block__scaling__coll__graph.map b/docs/API/structcompression__params_1_1block__scaling__coll__graph.map new file mode 100644 index 0000000..03d487f --- /dev/null +++ b/docs/API/structcompression__params_1_1block__scaling__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structcompression__params_1_1block__scaling__coll__graph.md5 b/docs/API/structcompression__params_1_1block__scaling__coll__graph.md5 new file mode 100644 index 0000000..fecd425 --- /dev/null +++ b/docs/API/structcompression__params_1_1block__scaling__coll__graph.md5 @@ -0,0 +1 @@ +aac116625cca468dc5904af74af08d22 \ No newline at end of file diff --git a/docs/API/structcompression__params_1_1block__scaling__coll__graph.png b/docs/API/structcompression__params_1_1block__scaling__coll__graph.png new file mode 100644 index 0000000..99f1084 Binary files /dev/null and b/docs/API/structcompression__params_1_1block__scaling__coll__graph.png differ diff --git a/docs/API/structcompression__params_1_1u__law.html b/docs/API/structcompression__params_1_1u__law.html new file mode 100644 index 0000000..419ebe8 --- /dev/null +++ b/docs/API/structcompression__params_1_1u__law.html @@ -0,0 +1,134 @@ + + + + + + + +o-du/phy: compression_params::u_law Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    compression_params::u_law Struct Reference
    +
    +
    + +

    #include <xran_pkt_up.h>

    +
    +Collaboration diagram for compression_params::u_law:
    +
    +
    Collaboration graph
    +
    + + + + + + +

    +Data Fields

    uint8_t compShift:4
     
    uint8_t compBitWidth:4
     
    +

    Detailed Description

    +
    +

    Definition at line 118 of file xran_pkt_up.h.

    +

    Field Documentation

    + +

    ◆ compBitWidth

    + +
    +
    + + + + +
    uint8_t compBitWidth
    +
    + +

    Definition at line 120 of file xran_pkt_up.h.

    + +
    +
    + +

    ◆ compShift

    + +
    +
    + + + + +
    uint8_t compShift
    +
    + +

    Definition at line 119 of file xran_pkt_up.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structcompression__params_1_1u__law__coll__graph.map b/docs/API/structcompression__params_1_1u__law__coll__graph.map new file mode 100644 index 0000000..c4586b7 --- /dev/null +++ b/docs/API/structcompression__params_1_1u__law__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structcompression__params_1_1u__law__coll__graph.md5 b/docs/API/structcompression__params_1_1u__law__coll__graph.md5 new file mode 100644 index 0000000..a9a4ab9 --- /dev/null +++ b/docs/API/structcompression__params_1_1u__law__coll__graph.md5 @@ -0,0 +1 @@ +756cb5af35b376cc40f42fca7b8ef0c4 \ No newline at end of file diff --git a/docs/API/structcompression__params_1_1u__law__coll__graph.png b/docs/API/structcompression__params_1_1u__law__coll__graph.png new file mode 100644 index 0000000..91878e9 Binary files /dev/null and b/docs/API/structcompression__params_1_1u__law__coll__graph.png differ diff --git a/docs/API/structdata__section__compression__hdr.html b/docs/API/structdata__section__compression__hdr.html new file mode 100644 index 0000000..0bf8525 --- /dev/null +++ b/docs/API/structdata__section__compression__hdr.html @@ -0,0 +1,134 @@ + + + + + + + +o-du/phy: data_section_compression_hdr Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    data_section_compression_hdr Struct Reference
    +
    +
    + +

    #include <xran_pkt_up.h>

    +
    +Collaboration diagram for data_section_compression_hdr:
    +
    +
    Collaboration graph
    + + + +
    + + + + + + +

    +Data Fields

    struct compression_hdr ud_comp_hdr
     
    uint8_t rsrvd
     
    +

    Detailed Description

    +
    +

    Definition at line 90 of file xran_pkt_up.h.

    +

    Field Documentation

    + +

    ◆ rsrvd

    + +
    +
    + + + + +
    uint8_t rsrvd
    +
    +

    This parameter provides 1 byte for future definition, should be set to all zeros by the sender and ignored by the receiver. This field is only present when udCompHdr is present, and is absent when the static IQ format and compression method is configured via the M-Plane

    + +

    Definition at line 93 of file xran_pkt_up.h.

    + +
    +
    + +

    ◆ ud_comp_hdr

    + +
    +
    + + + + +
    struct compression_hdr ud_comp_hdr
    +
    + +

    Definition at line 92 of file xran_pkt_up.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structdata__section__compression__hdr__coll__graph.map b/docs/API/structdata__section__compression__hdr__coll__graph.map new file mode 100644 index 0000000..d52bebf --- /dev/null +++ b/docs/API/structdata__section__compression__hdr__coll__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/structdata__section__compression__hdr__coll__graph.md5 b/docs/API/structdata__section__compression__hdr__coll__graph.md5 new file mode 100644 index 0000000..4e8abdd --- /dev/null +++ b/docs/API/structdata__section__compression__hdr__coll__graph.md5 @@ -0,0 +1 @@ +6f46113640e87e5fc7969473d2257638 \ No newline at end of file diff --git a/docs/API/structdata__section__compression__hdr__coll__graph.png b/docs/API/structdata__section__compression__hdr__coll__graph.png new file mode 100644 index 0000000..b67490e Binary files /dev/null and b/docs/API/structdata__section__compression__hdr__coll__graph.png differ diff --git a/docs/API/structdata__section__hdr.html b/docs/API/structdata__section__hdr.html new file mode 100644 index 0000000..0da064e --- /dev/null +++ b/docs/API/structdata__section__hdr.html @@ -0,0 +1,228 @@ + + + + + + + +o-du/phy: data_section_hdr Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    data_section_hdr Struct Reference
    +
    +
    + +

    #include <xran_pkt_up.h>

    +
    +Collaboration diagram for data_section_hdr:
    +
    +
    Collaboration graph
    +
    + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    union {
       uint32_t   all_bits
     
       struct {
          uint32_t   num_prbu:8
     
          uint32_t   start_prbu:10
     
          uint32_t   sym_inc:1
     
          uint32_t   rb:1
     
          uint32_t   sect_id:12
     
       } 
     
    fields
     
    +

    Detailed Description

    +

    Structure holding data section header fields It is repeated for every section ID in xRAN packet 5.4.5 Coding of Information Elements - Application Layer, Sections for U-plane as per 6.3.2 DL/UL Data

    + +

    Definition at line 67 of file xran_pkt_up.h.

    +

    Field Documentation

    + +

    ◆ all_bits

    + +
    +
    + + + + +
    uint32_t all_bits
    +
    + +

    Definition at line 69 of file xran_pkt_up.h.

    + +
    +
    + +

    ◆ fields

    + +
    +
    + + + + +
    union { ... } fields
    +
    + +
    +
    + +

    ◆ num_prbu

    + +
    +
    + + + + +
    uint32_t num_prbu
    +
    +

    5.4.5.6 number of contiguous PRBs per control section

    + +

    Definition at line 71 of file xran_pkt_up.h.

    + +
    +
    + +

    ◆ rb

    + +
    +
    + + + + +
    uint32_t rb
    +
    +

    5.4.5.2 resource block indicator, XRAN_RBIND_xxx

    + +

    Definition at line 74 of file xran_pkt_up.h.

    + +
    +
    + +

    ◆ sect_id

    + +
    +
    + + + + +
    uint32_t sect_id
    +
    +

    5.4.5.1 section identifier

    + +

    Definition at line 75 of file xran_pkt_up.h.

    + +
    +
    + +

    ◆ start_prbu

    + +
    +
    + + + + +
    uint32_t start_prbu
    +
    +

    5.4.5.4 starting PRB of control section

    + +

    Definition at line 72 of file xran_pkt_up.h.

    + +
    +
    + +

    ◆ sym_inc

    + +
    +
    + + + + +
    uint32_t sym_inc
    +
    +

    5.4.5.3 symbol number increment command XRAN_SYMBOLNUMBER_xxxx

    + +

    Definition at line 73 of file xran_pkt_up.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structdata__section__hdr__coll__graph.map b/docs/API/structdata__section__hdr__coll__graph.map new file mode 100644 index 0000000..a17f25f --- /dev/null +++ b/docs/API/structdata__section__hdr__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structdata__section__hdr__coll__graph.md5 b/docs/API/structdata__section__hdr__coll__graph.md5 new file mode 100644 index 0000000..50d6596 --- /dev/null +++ b/docs/API/structdata__section__hdr__coll__graph.md5 @@ -0,0 +1 @@ +b59e047510b3c80e8c0a361a86e33479 \ No newline at end of file diff --git a/docs/API/structdata__section__hdr__coll__graph.png b/docs/API/structdata__section__hdr__coll__graph.png new file mode 100644 index 0000000..4ef5f7f Binary files /dev/null and b/docs/API/structdata__section__hdr__coll__graph.png differ diff --git a/docs/API/structecpri__seq__id.html b/docs/API/structecpri__seq__id.html new file mode 100644 index 0000000..8dde11a --- /dev/null +++ b/docs/API/structecpri__seq__id.html @@ -0,0 +1,152 @@ + + + + + + + +o-du/phy: ecpri_seq_id Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    ecpri_seq_id Struct Reference
    +
    +
    + +

    #include <xran_pkt.h>

    +
    +Collaboration diagram for ecpri_seq_id:
    +
    +
    Collaboration graph
    +
    + + + + + + + + +

    +Data Fields

    uint8_t seq_id:8
     
    uint8_t sub_seq_id:7
     
    uint8_t e_bit:1
     
    +

    Detailed Description

    +

    see 3.1.3.1.7 ecpriSeqid (message identifier)

    + +

    Definition at line 97 of file xran_pkt.h.

    +

    Field Documentation

    + +

    ◆ e_bit

    + +
    +
    + + + + +
    uint8_t e_bit
    +
    +

    E bit

    + +

    Definition at line 101 of file xran_pkt.h.

    + +
    +
    + +

    ◆ seq_id

    + +
    +
    + + + + +
    uint8_t seq_id
    +
    +

    Sequence ID

    + +

    Definition at line 99 of file xran_pkt.h.

    + +
    +
    + +

    ◆ sub_seq_id

    + +
    +
    + + + + +
    uint8_t sub_seq_id
    +
    +

    Subsequence ID

    + +

    Definition at line 100 of file xran_pkt.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structecpri__seq__id__coll__graph.map b/docs/API/structecpri__seq__id__coll__graph.map new file mode 100644 index 0000000..a315458 --- /dev/null +++ b/docs/API/structecpri__seq__id__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structecpri__seq__id__coll__graph.md5 b/docs/API/structecpri__seq__id__coll__graph.md5 new file mode 100644 index 0000000..eba6e78 --- /dev/null +++ b/docs/API/structecpri__seq__id__coll__graph.md5 @@ -0,0 +1 @@ +7c8f3ae2f5bd343c022faa83be94dbd3 \ No newline at end of file diff --git a/docs/API/structecpri__seq__id__coll__graph.png b/docs/API/structecpri__seq__id__coll__graph.png new file mode 100644 index 0000000..56009e5 Binary files /dev/null and b/docs/API/structecpri__seq__id__coll__graph.png differ diff --git a/docs/API/structeth__xran__up__pkt__hdr.html b/docs/API/structeth__xran__up__pkt__hdr.html new file mode 100644 index 0000000..618df78 --- /dev/null +++ b/docs/API/structeth__xran__up__pkt__hdr.html @@ -0,0 +1,139 @@ + + + + + + + +o-du/phy: eth_xran_up_pkt_hdr Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    eth_xran_up_pkt_hdr Struct Reference
    +
    +
    + +

    #include <xran_pkt_up.h>

    +
    +Collaboration diagram for eth_xran_up_pkt_hdr:
    +
    +
    Collaboration graph
    + + + + + + + + +
    + + + + + + +

    +Data Fields

    struct ether_hdr eth_hdr
     
    struct xran_up_pkt_hdr xran_hdr
     
    +

    Detailed Description

    +

    Structure holds complete ethernet and xran u-plane packet header 3.1.1 Ethernet Encapsulation

    + +

    Definition at line 165 of file xran_pkt_up.h.

    +

    Field Documentation

    + +

    ◆ eth_hdr

    + +
    +
    + + + + +
    struct ether_hdr eth_hdr
    +
    + +

    Definition at line 167 of file xran_pkt_up.h.

    + +
    +
    + +

    ◆ xran_hdr

    + +
    +
    + + + + +
    struct xran_up_pkt_hdr xran_hdr
    +
    + +

    Definition at line 168 of file xran_pkt_up.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structeth__xran__up__pkt__hdr__coll__graph.map b/docs/API/structeth__xran__up__pkt__hdr__coll__graph.map new file mode 100644 index 0000000..937f9ac --- /dev/null +++ b/docs/API/structeth__xran__up__pkt__hdr__coll__graph.map @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/API/structeth__xran__up__pkt__hdr__coll__graph.md5 b/docs/API/structeth__xran__up__pkt__hdr__coll__graph.md5 new file mode 100644 index 0000000..96440aa --- /dev/null +++ b/docs/API/structeth__xran__up__pkt__hdr__coll__graph.md5 @@ -0,0 +1 @@ +2d4a87b724dc67e1d929ccc75c545334 \ No newline at end of file diff --git a/docs/API/structeth__xran__up__pkt__hdr__coll__graph.png b/docs/API/structeth__xran__up__pkt__hdr__coll__graph.png new file mode 100644 index 0000000..71793c4 Binary files /dev/null and b/docs/API/structeth__xran__up__pkt__hdr__coll__graph.png differ diff --git a/docs/API/structethdi__hdr.html b/docs/API/structethdi__hdr.html new file mode 100644 index 0000000..ac5d01e --- /dev/null +++ b/docs/API/structethdi__hdr.html @@ -0,0 +1,166 @@ + + + + + + + +o-du/phy: ethdi_hdr Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    ethdi_hdr Struct Reference
    +
    +
    + +

    #include <ethernet.h>

    +
    +Collaboration diagram for ethdi_hdr:
    +
    +
    Collaboration graph
    +
    + + + + + + + + + + +

    +Data Fields

    uint8_t pkt_type
     
    uint8_t source_id
     
    uint8_t dest_id
     
    int8_t data []
     
    +

    Detailed Description

    +
    +

    Definition at line 112 of file ethernet.h.

    +

    Field Documentation

    + +

    ◆ data

    + +
    +
    + + + + +
    int8_t data[]
    +
    + +

    Definition at line 116 of file ethernet.h.

    + +
    +
    + +

    ◆ dest_id

    + +
    +
    + + + + +
    uint8_t dest_id
    +
    + +

    Definition at line 115 of file ethernet.h.

    + +
    +
    + +

    ◆ pkt_type

    + +
    +
    + + + + +
    uint8_t pkt_type
    +
    + +

    Definition at line 113 of file ethernet.h.

    + +
    +
    + +

    ◆ source_id

    + +
    +
    + + + + +
    uint8_t source_id
    +
    + +

    Definition at line 114 of file ethernet.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structethdi__hdr__coll__graph.map b/docs/API/structethdi__hdr__coll__graph.map new file mode 100644 index 0000000..041e562 --- /dev/null +++ b/docs/API/structethdi__hdr__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structethdi__hdr__coll__graph.md5 b/docs/API/structethdi__hdr__coll__graph.md5 new file mode 100644 index 0000000..efa9b7b --- /dev/null +++ b/docs/API/structethdi__hdr__coll__graph.md5 @@ -0,0 +1 @@ +3e5051a0033755836b7b197489a268f7 \ No newline at end of file diff --git a/docs/API/structethdi__hdr__coll__graph.png b/docs/API/structethdi__hdr__coll__graph.png new file mode 100644 index 0000000..c7d84c7 Binary files /dev/null and b/docs/API/structethdi__hdr__coll__graph.png differ diff --git a/docs/API/structmbuf__table.html b/docs/API/structmbuf__table.html new file mode 100644 index 0000000..c714221 --- /dev/null +++ b/docs/API/structmbuf__table.html @@ -0,0 +1,130 @@ + + + + + + + +o-du/phy: mbuf_table Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    mbuf_table Struct Reference
    +
    +
    + +

    #include <xran_common.h>

    +
    +Collaboration diagram for mbuf_table:
    +
    +
    Collaboration graph
    +
    + + + + + + +

    +Data Fields

    uint16_t len
     
    struct rte_mbuf * m_table [MBUF_TABLE_SIZE]
     
    +

    Detailed Description

    +
    +

    Definition at line 198 of file xran_common.h.

    +

    Field Documentation

    + +

    ◆ len

    + +
    +
    + + + + +
    uint16_t len
    +
    + +

    Definition at line 199 of file xran_common.h.

    + +
    +
    + +

    ◆ m_table

    + +
    +
    + + + + +
    struct rte_mbuf* m_table[MBUF_TABLE_SIZE]
    +
    + +

    Definition at line 200 of file xran_common.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structmbuf__table__coll__graph.map b/docs/API/structmbuf__table__coll__graph.map new file mode 100644 index 0000000..812e0ca --- /dev/null +++ b/docs/API/structmbuf__table__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structmbuf__table__coll__graph.md5 b/docs/API/structmbuf__table__coll__graph.md5 new file mode 100644 index 0000000..6cd70bd --- /dev/null +++ b/docs/API/structmbuf__table__coll__graph.md5 @@ -0,0 +1 @@ +b3aaeb72f7d621dfdff02e4dec5cb7d1 \ No newline at end of file diff --git a/docs/API/structmbuf__table__coll__graph.png b/docs/API/structmbuf__table__coll__graph.png new file mode 100644 index 0000000..b6fcf76 Binary files /dev/null and b/docs/API/structmbuf__table__coll__graph.png differ diff --git a/docs/API/structmissing__config__file__exception.html b/docs/API/structmissing__config__file__exception.html new file mode 100644 index 0000000..73370d9 --- /dev/null +++ b/docs/API/structmissing__config__file__exception.html @@ -0,0 +1,144 @@ + + + + + + + +o-du/phy: missing_config_file_exception Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    missing_config_file_exception Struct Reference
    +
    +
    + +

    #include <common.hpp>

    +
    +Inheritance diagram for missing_config_file_exception:
    +
    +
    Inheritance graph
    +
    +
    +Collaboration diagram for missing_config_file_exception:
    +
    +
    Collaboration graph
    +
    + + + + +

    +Public Member Functions

    const char * what () const override throw ()
     
    +

    Detailed Description

    +
    +

    Definition at line 71 of file common.hpp.

    +

    Member Function Documentation

    + +

    ◆ what()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + +
    const char* what () const
    throw (
    )
    +
    +inlineoverride
    +
    + +

    Definition at line 73 of file common.hpp.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + +
    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structmissing__config__file__exception__coll__graph.map b/docs/API/structmissing__config__file__exception__coll__graph.map new file mode 100644 index 0000000..cedbd9a --- /dev/null +++ b/docs/API/structmissing__config__file__exception__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structmissing__config__file__exception__coll__graph.md5 b/docs/API/structmissing__config__file__exception__coll__graph.md5 new file mode 100644 index 0000000..88d2581 --- /dev/null +++ b/docs/API/structmissing__config__file__exception__coll__graph.md5 @@ -0,0 +1 @@ +9da1366e6fa291b4e00c24ece26786cf \ No newline at end of file diff --git a/docs/API/structmissing__config__file__exception__coll__graph.png b/docs/API/structmissing__config__file__exception__coll__graph.png new file mode 100644 index 0000000..fee24f6 Binary files /dev/null and b/docs/API/structmissing__config__file__exception__coll__graph.png differ diff --git a/docs/API/structmissing__config__file__exception__inherit__graph.map b/docs/API/structmissing__config__file__exception__inherit__graph.map new file mode 100644 index 0000000..cedbd9a --- /dev/null +++ b/docs/API/structmissing__config__file__exception__inherit__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structmissing__config__file__exception__inherit__graph.md5 b/docs/API/structmissing__config__file__exception__inherit__graph.md5 new file mode 100644 index 0000000..d994be1 --- /dev/null +++ b/docs/API/structmissing__config__file__exception__inherit__graph.md5 @@ -0,0 +1 @@ +fb73cab19c0e95aa59ce60800bc1fa09 \ No newline at end of file diff --git a/docs/API/structmissing__config__file__exception__inherit__graph.png b/docs/API/structmissing__config__file__exception__inherit__graph.png new file mode 100644 index 0000000..fee24f6 Binary files /dev/null and b/docs/API/structmissing__config__file__exception__inherit__graph.png differ diff --git a/docs/API/structmissing__config__file__exception_a70518905d36686ddeeb2eb3b2682f016_icgraph.map b/docs/API/structmissing__config__file__exception_a70518905d36686ddeeb2eb3b2682f016_icgraph.map new file mode 100644 index 0000000..964fe0c --- /dev/null +++ b/docs/API/structmissing__config__file__exception_a70518905d36686ddeeb2eb3b2682f016_icgraph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/API/structmissing__config__file__exception_a70518905d36686ddeeb2eb3b2682f016_icgraph.md5 b/docs/API/structmissing__config__file__exception_a70518905d36686ddeeb2eb3b2682f016_icgraph.md5 new file mode 100644 index 0000000..da080af --- /dev/null +++ b/docs/API/structmissing__config__file__exception_a70518905d36686ddeeb2eb3b2682f016_icgraph.md5 @@ -0,0 +1 @@ +3519281960e0f6abf6e7bb1e6085ba0e \ No newline at end of file diff --git a/docs/API/structmissing__config__file__exception_a70518905d36686ddeeb2eb3b2682f016_icgraph.png b/docs/API/structmissing__config__file__exception_a70518905d36686ddeeb2eb3b2682f016_icgraph.png new file mode 100644 index 0000000..3bb7394 Binary files /dev/null and b/docs/API/structmissing__config__file__exception_a70518905d36686ddeeb2eb3b2682f016_icgraph.png differ diff --git a/docs/API/structnlohmann_1_1adl__serializer.html b/docs/API/structnlohmann_1_1adl__serializer.html new file mode 100644 index 0000000..77199f5 --- /dev/null +++ b/docs/API/structnlohmann_1_1adl__serializer.html @@ -0,0 +1,226 @@ + + + + + + + +o-du/phy: adl_serializer< typename, typename > Struct Template Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    adl_serializer< typename, typename > Struct Template Reference
    +
    +
    + +

    default JSONSerializer template argument + More...

    + +

    #include <json.hpp>

    +
    +Collaboration diagram for adl_serializer< typename, typename >:
    +
    +
    Collaboration graph
    +
    + + + + + + + + + + +

    +Static Public Member Functions

    template<typename BasicJsonType , typename ValueType >
    static void from_json (BasicJsonType &&j, ValueType &val) noexcept(noexcept(::nlohmann::from_json(std::forward< BasicJsonType >(j), val)))
     convert a JSON value to any value type More...
     
    template<typename BasicJsonType , typename ValueType >
    static void to_json (BasicJsonType &j, ValueType &&val) noexcept(noexcept(::nlohmann::to_json(j, std::forward< ValueType >(val))))
     convert any value type to a JSON value More...
     
    +

    Detailed Description

    +

    template<typename = void, typename = void>
    +struct nlohmann::adl_serializer< typename, typename >

    + +

    default JSONSerializer template argument

    +

    This serializer ignores the template arguments and uses ADL (argument-dependent lookup) for serialization.

    + +

    Definition at line 888 of file json.hpp.

    +

    Member Function Documentation

    + +

    ◆ from_json()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    static void from_json (BasicJsonType && j,
    ValueType & val 
    )
    +
    +inlinestaticnoexcept
    +
    + +

    convert a JSON value to any value type

    +

    This function is usually called by the get() function of the basic_json class (either explicit or via conversion operators).

    +
    Parameters
    + + + +
    [in]jJSON value to read from
    [in,out]valvalue to write to
    +
    +
    + +

    Definition at line 900 of file json.hpp.

    +
    +Here is the call graph for this function:
    +
    +
    + + + +
    + +
    +
    + +

    ◆ to_json()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    static void to_json (BasicJsonType & j,
    ValueType && val 
    )
    +
    +inlinestaticnoexcept
    +
    + +

    convert any value type to a JSON value

    +

    This function is usually called by the constructors of the basic_json class.

    +
    Parameters
    + + + +
    [in,out]jJSON value to write to
    [in]valvalue to read from
    +
    +
    + +

    Definition at line 916 of file json.hpp.

    +
    +Here is the call graph for this function:
    +
    +
    + + + +
    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structnlohmann_1_1adl__serializer__coll__graph.map b/docs/API/structnlohmann_1_1adl__serializer__coll__graph.map new file mode 100644 index 0000000..873bfb5 --- /dev/null +++ b/docs/API/structnlohmann_1_1adl__serializer__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structnlohmann_1_1adl__serializer__coll__graph.md5 b/docs/API/structnlohmann_1_1adl__serializer__coll__graph.md5 new file mode 100644 index 0000000..58ef5d6 --- /dev/null +++ b/docs/API/structnlohmann_1_1adl__serializer__coll__graph.md5 @@ -0,0 +1 @@ +0ab338c10f0c4e61fa14717e6c47a23f \ No newline at end of file diff --git a/docs/API/structnlohmann_1_1adl__serializer__coll__graph.png b/docs/API/structnlohmann_1_1adl__serializer__coll__graph.png new file mode 100644 index 0000000..80cb69e Binary files /dev/null and b/docs/API/structnlohmann_1_1adl__serializer__coll__graph.png differ diff --git a/docs/API/structnlohmann_1_1adl__serializer_a1e04b5fee91e47467368f279d7f7b941_cgraph.map b/docs/API/structnlohmann_1_1adl__serializer_a1e04b5fee91e47467368f279d7f7b941_cgraph.map new file mode 100644 index 0000000..9728b63 --- /dev/null +++ b/docs/API/structnlohmann_1_1adl__serializer_a1e04b5fee91e47467368f279d7f7b941_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/structnlohmann_1_1adl__serializer_a1e04b5fee91e47467368f279d7f7b941_cgraph.md5 b/docs/API/structnlohmann_1_1adl__serializer_a1e04b5fee91e47467368f279d7f7b941_cgraph.md5 new file mode 100644 index 0000000..b9ce2f3 --- /dev/null +++ b/docs/API/structnlohmann_1_1adl__serializer_a1e04b5fee91e47467368f279d7f7b941_cgraph.md5 @@ -0,0 +1 @@ +3b6c67e0805b5c09a1a005228e6f8390 \ No newline at end of file diff --git a/docs/API/structnlohmann_1_1adl__serializer_a1e04b5fee91e47467368f279d7f7b941_cgraph.png b/docs/API/structnlohmann_1_1adl__serializer_a1e04b5fee91e47467368f279d7f7b941_cgraph.png new file mode 100644 index 0000000..c417650 Binary files /dev/null and b/docs/API/structnlohmann_1_1adl__serializer_a1e04b5fee91e47467368f279d7f7b941_cgraph.png differ diff --git a/docs/API/structnlohmann_1_1adl__serializer_adcdd0023173b7ae293da6cc2ffddfd06_cgraph.map b/docs/API/structnlohmann_1_1adl__serializer_adcdd0023173b7ae293da6cc2ffddfd06_cgraph.map new file mode 100644 index 0000000..73560bc --- /dev/null +++ b/docs/API/structnlohmann_1_1adl__serializer_adcdd0023173b7ae293da6cc2ffddfd06_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/structnlohmann_1_1adl__serializer_adcdd0023173b7ae293da6cc2ffddfd06_cgraph.md5 b/docs/API/structnlohmann_1_1adl__serializer_adcdd0023173b7ae293da6cc2ffddfd06_cgraph.md5 new file mode 100644 index 0000000..19eb407 --- /dev/null +++ b/docs/API/structnlohmann_1_1adl__serializer_adcdd0023173b7ae293da6cc2ffddfd06_cgraph.md5 @@ -0,0 +1 @@ +5a71c9cc38299fbf8c0a420067fd70b8 \ No newline at end of file diff --git a/docs/API/structnlohmann_1_1adl__serializer_adcdd0023173b7ae293da6cc2ffddfd06_cgraph.png b/docs/API/structnlohmann_1_1adl__serializer_adcdd0023173b7ae293da6cc2ffddfd06_cgraph.png new file mode 100644 index 0000000..a1d32bf Binary files /dev/null and b/docs/API/structnlohmann_1_1adl__serializer_adcdd0023173b7ae293da6cc2ffddfd06_cgraph.png differ diff --git a/docs/API/structnlohmann_1_1basic__json_1_1lexer_1_1strtonum.html b/docs/API/structnlohmann_1_1basic__json_1_1lexer_1_1strtonum.html new file mode 100644 index 0000000..ad29647 --- /dev/null +++ b/docs/API/structnlohmann_1_1basic__json_1_1lexer_1_1strtonum.html @@ -0,0 +1,200 @@ + + + + + + + +o-du/phy: basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::lexer::strtonum Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::lexer::strtonum Struct Reference
    +
    +
    + +

    parse string into a built-in arithmetic type as if the current locale is POSIX. + More...

    + +

    #include <json.hpp>

    +
    +Collaboration diagram for basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::lexer::strtonum:
    +
    +
    Collaboration graph
    +
    + + + + + + + +

    +Public Member Functions

     strtonum (const char *start, const char *end)
     
    template<typename T , typename = typename std::enable_if<std::is_arithmetic<T>::value>::type>
    bool to (T &val) const
     
    +

    Detailed Description

    +

    template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer>
    +struct nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::lexer::strtonum

    + +

    parse string into a built-in arithmetic type as if the current locale is POSIX.

    +
    Note
    in floating-point case strtod may parse past the token's end - this is not an error
    +
    +any leading blanks are not handled
    + +

    Definition at line 11077 of file json.hpp.

    +

    Constructor & Destructor Documentation

    + +

    ◆ strtonum()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    strtonum (const char * start,
    const char * end 
    )
    +
    +inline
    +
    + +

    Definition at line 11080 of file json.hpp.

    + +
    +
    +

    Member Function Documentation

    + +

    ◆ to()

    + +
    +
    + + + + + +
    + + + + + + + + +
    bool to (T & val) const
    +
    +inline
    +
    +
    Returns
    true iff parsed successfully as number of type T
    +
    Parameters
    + + +
    [in,out]valshall contain parsed value, or undefined value if could not parse
    +
    +
    + +

    Definition at line 11091 of file json.hpp.

    +
    +Here is the call graph for this function:
    +
    +
    + + + +
    +
    +Here is the caller graph for this function:
    +
    +
    +
    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structnlohmann_1_1basic__json_1_1lexer_1_1strtonum__coll__graph.map b/docs/API/structnlohmann_1_1basic__json_1_1lexer_1_1strtonum__coll__graph.map new file mode 100644 index 0000000..1fe2190 --- /dev/null +++ b/docs/API/structnlohmann_1_1basic__json_1_1lexer_1_1strtonum__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structnlohmann_1_1basic__json_1_1lexer_1_1strtonum__coll__graph.md5 b/docs/API/structnlohmann_1_1basic__json_1_1lexer_1_1strtonum__coll__graph.md5 new file mode 100644 index 0000000..a7aa0e3 --- /dev/null +++ b/docs/API/structnlohmann_1_1basic__json_1_1lexer_1_1strtonum__coll__graph.md5 @@ -0,0 +1 @@ +d8b25095541a62cb65751da55cfc2d1f \ No newline at end of file diff --git a/docs/API/structnlohmann_1_1basic__json_1_1lexer_1_1strtonum__coll__graph.png b/docs/API/structnlohmann_1_1basic__json_1_1lexer_1_1strtonum__coll__graph.png new file mode 100644 index 0000000..c04081a Binary files /dev/null and b/docs/API/structnlohmann_1_1basic__json_1_1lexer_1_1strtonum__coll__graph.png differ diff --git a/docs/API/structnlohmann_1_1basic__json_1_1lexer_1_1strtonum_ab6b353b5dc68fe4151d9d20edecd162c_cgraph.map b/docs/API/structnlohmann_1_1basic__json_1_1lexer_1_1strtonum_ab6b353b5dc68fe4151d9d20edecd162c_cgraph.map new file mode 100644 index 0000000..e52c856 --- /dev/null +++ b/docs/API/structnlohmann_1_1basic__json_1_1lexer_1_1strtonum_ab6b353b5dc68fe4151d9d20edecd162c_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/structnlohmann_1_1basic__json_1_1lexer_1_1strtonum_ab6b353b5dc68fe4151d9d20edecd162c_cgraph.md5 b/docs/API/structnlohmann_1_1basic__json_1_1lexer_1_1strtonum_ab6b353b5dc68fe4151d9d20edecd162c_cgraph.md5 new file mode 100644 index 0000000..176626c --- /dev/null +++ b/docs/API/structnlohmann_1_1basic__json_1_1lexer_1_1strtonum_ab6b353b5dc68fe4151d9d20edecd162c_cgraph.md5 @@ -0,0 +1 @@ +e30fa8cd53bb10eb167c6fd35aab3a5f \ No newline at end of file diff --git a/docs/API/structnlohmann_1_1basic__json_1_1lexer_1_1strtonum_ab6b353b5dc68fe4151d9d20edecd162c_cgraph.png b/docs/API/structnlohmann_1_1basic__json_1_1lexer_1_1strtonum_ab6b353b5dc68fe4151d9d20edecd162c_cgraph.png new file mode 100644 index 0000000..ae932a8 Binary files /dev/null and b/docs/API/structnlohmann_1_1basic__json_1_1lexer_1_1strtonum_ab6b353b5dc68fe4151d9d20edecd162c_cgraph.png differ diff --git a/docs/API/structnlohmann_1_1basic__json_1_1lexer_1_1strtonum_ab6b353b5dc68fe4151d9d20edecd162c_icgraph.map b/docs/API/structnlohmann_1_1basic__json_1_1lexer_1_1strtonum_ab6b353b5dc68fe4151d9d20edecd162c_icgraph.map new file mode 100644 index 0000000..3d685a2 --- /dev/null +++ b/docs/API/structnlohmann_1_1basic__json_1_1lexer_1_1strtonum_ab6b353b5dc68fe4151d9d20edecd162c_icgraph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structnlohmann_1_1basic__json_1_1lexer_1_1strtonum_ab6b353b5dc68fe4151d9d20edecd162c_icgraph.md5 b/docs/API/structnlohmann_1_1basic__json_1_1lexer_1_1strtonum_ab6b353b5dc68fe4151d9d20edecd162c_icgraph.md5 new file mode 100644 index 0000000..40529c4 --- /dev/null +++ b/docs/API/structnlohmann_1_1basic__json_1_1lexer_1_1strtonum_ab6b353b5dc68fe4151d9d20edecd162c_icgraph.md5 @@ -0,0 +1 @@ +12216de0a57a2879c00bfb3b64402d5c \ No newline at end of file diff --git a/docs/API/structnlohmann_1_1basic__json_1_1lexer_1_1strtonum_ab6b353b5dc68fe4151d9d20edecd162c_icgraph.png b/docs/API/structnlohmann_1_1basic__json_1_1lexer_1_1strtonum_ab6b353b5dc68fe4151d9d20edecd162c_icgraph.png new file mode 100644 index 0000000..85e22b8 Binary files /dev/null and b/docs/API/structnlohmann_1_1basic__json_1_1lexer_1_1strtonum_ab6b353b5dc68fe4151d9d20edecd162c_icgraph.png differ diff --git a/docs/API/structnlohmann_1_1detail_1_1conjunction.html b/docs/API/structnlohmann_1_1detail_1_1conjunction.html new file mode 100644 index 0000000..9acf96e --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1conjunction.html @@ -0,0 +1,99 @@ + + + + + + + +o-du/phy: conjunction<... > Struct Template Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    conjunction<... > Struct Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Inheritance diagram for conjunction<... >:
    +
    +
    Inheritance graph
    +
    +
    +Collaboration diagram for conjunction<... >:
    +
    +
    Collaboration graph
    +
    +

    Detailed Description

    +

    template<class...>
    +struct nlohmann::detail::conjunction<... >

    + + +

    Definition at line 203 of file json.hpp.

    +

    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structnlohmann_1_1detail_1_1conjunction_3_01_b1_00_01_bn_8_8_8_01_4.html b/docs/API/structnlohmann_1_1detail_1_1conjunction_3_01_b1_00_01_bn_8_8_8_01_4.html new file mode 100644 index 0000000..5a13ace --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1conjunction_3_01_b1_00_01_bn_8_8_8_01_4.html @@ -0,0 +1,99 @@ + + + + + + + +o-du/phy: conjunction< B1, Bn... > Struct Template Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    conjunction< B1, Bn... > Struct Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Inheritance diagram for conjunction< B1, Bn... >:
    +
    +
    Inheritance graph
    +
    +
    +Collaboration diagram for conjunction< B1, Bn... >:
    +
    +
    Collaboration graph
    +
    +

    Detailed Description

    +

    template<class B1, class... Bn>
    +struct nlohmann::detail::conjunction< B1, Bn... >

    + + +

    Definition at line 206 of file json.hpp.

    +

    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structnlohmann_1_1detail_1_1conjunction_3_01_b1_00_01_bn_8_8_8_01_4__coll__graph.map b/docs/API/structnlohmann_1_1detail_1_1conjunction_3_01_b1_00_01_bn_8_8_8_01_4__coll__graph.map new file mode 100644 index 0000000..c8fc8ee --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1conjunction_3_01_b1_00_01_bn_8_8_8_01_4__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structnlohmann_1_1detail_1_1conjunction_3_01_b1_00_01_bn_8_8_8_01_4__coll__graph.md5 b/docs/API/structnlohmann_1_1detail_1_1conjunction_3_01_b1_00_01_bn_8_8_8_01_4__coll__graph.md5 new file mode 100644 index 0000000..d8a91f4 --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1conjunction_3_01_b1_00_01_bn_8_8_8_01_4__coll__graph.md5 @@ -0,0 +1 @@ +e138732a092f5d8c7c58f51ada30e074 \ No newline at end of file diff --git a/docs/API/structnlohmann_1_1detail_1_1conjunction_3_01_b1_00_01_bn_8_8_8_01_4__coll__graph.png b/docs/API/structnlohmann_1_1detail_1_1conjunction_3_01_b1_00_01_bn_8_8_8_01_4__coll__graph.png new file mode 100644 index 0000000..492d310 Binary files /dev/null and b/docs/API/structnlohmann_1_1detail_1_1conjunction_3_01_b1_00_01_bn_8_8_8_01_4__coll__graph.png differ diff --git a/docs/API/structnlohmann_1_1detail_1_1conjunction_3_01_b1_00_01_bn_8_8_8_01_4__inherit__graph.map b/docs/API/structnlohmann_1_1detail_1_1conjunction_3_01_b1_00_01_bn_8_8_8_01_4__inherit__graph.map new file mode 100644 index 0000000..c8fc8ee --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1conjunction_3_01_b1_00_01_bn_8_8_8_01_4__inherit__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structnlohmann_1_1detail_1_1conjunction_3_01_b1_00_01_bn_8_8_8_01_4__inherit__graph.md5 b/docs/API/structnlohmann_1_1detail_1_1conjunction_3_01_b1_00_01_bn_8_8_8_01_4__inherit__graph.md5 new file mode 100644 index 0000000..cda77e8 --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1conjunction_3_01_b1_00_01_bn_8_8_8_01_4__inherit__graph.md5 @@ -0,0 +1 @@ +2f15d173ebf4846680ee7c26fc68558e \ No newline at end of file diff --git a/docs/API/structnlohmann_1_1detail_1_1conjunction_3_01_b1_00_01_bn_8_8_8_01_4__inherit__graph.png b/docs/API/structnlohmann_1_1detail_1_1conjunction_3_01_b1_00_01_bn_8_8_8_01_4__inherit__graph.png new file mode 100644 index 0000000..492d310 Binary files /dev/null and b/docs/API/structnlohmann_1_1detail_1_1conjunction_3_01_b1_00_01_bn_8_8_8_01_4__inherit__graph.png differ diff --git a/docs/API/structnlohmann_1_1detail_1_1conjunction_3_01_b1_01_4.html b/docs/API/structnlohmann_1_1detail_1_1conjunction_3_01_b1_01_4.html new file mode 100644 index 0000000..a214f35 --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1conjunction_3_01_b1_01_4.html @@ -0,0 +1,99 @@ + + + + + + + +o-du/phy: conjunction< B1 > Struct Template Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    conjunction< B1 > Struct Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Inheritance diagram for conjunction< B1 >:
    +
    +
    Inheritance graph
    +
    +
    +Collaboration diagram for conjunction< B1 >:
    +
    +
    Collaboration graph
    +
    +

    Detailed Description

    +

    template<class B1>
    +struct nlohmann::detail::conjunction< B1 >

    + + +

    Definition at line 204 of file json.hpp.

    +

    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structnlohmann_1_1detail_1_1conjunction_3_01_b1_01_4__coll__graph.map b/docs/API/structnlohmann_1_1detail_1_1conjunction_3_01_b1_01_4__coll__graph.map new file mode 100644 index 0000000..e5ea8a4 --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1conjunction_3_01_b1_01_4__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structnlohmann_1_1detail_1_1conjunction_3_01_b1_01_4__coll__graph.md5 b/docs/API/structnlohmann_1_1detail_1_1conjunction_3_01_b1_01_4__coll__graph.md5 new file mode 100644 index 0000000..04bcb00 --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1conjunction_3_01_b1_01_4__coll__graph.md5 @@ -0,0 +1 @@ +e81618f65342cc285507afc399297a64 \ No newline at end of file diff --git a/docs/API/structnlohmann_1_1detail_1_1conjunction_3_01_b1_01_4__coll__graph.png b/docs/API/structnlohmann_1_1detail_1_1conjunction_3_01_b1_01_4__coll__graph.png new file mode 100644 index 0000000..2f43858 Binary files /dev/null and b/docs/API/structnlohmann_1_1detail_1_1conjunction_3_01_b1_01_4__coll__graph.png differ diff --git a/docs/API/structnlohmann_1_1detail_1_1conjunction_3_01_b1_01_4__inherit__graph.map b/docs/API/structnlohmann_1_1detail_1_1conjunction_3_01_b1_01_4__inherit__graph.map new file mode 100644 index 0000000..e5ea8a4 --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1conjunction_3_01_b1_01_4__inherit__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structnlohmann_1_1detail_1_1conjunction_3_01_b1_01_4__inherit__graph.md5 b/docs/API/structnlohmann_1_1detail_1_1conjunction_3_01_b1_01_4__inherit__graph.md5 new file mode 100644 index 0000000..8e94c8e --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1conjunction_3_01_b1_01_4__inherit__graph.md5 @@ -0,0 +1 @@ +efb131b9186f6a44ab67877e1caee4c2 \ No newline at end of file diff --git a/docs/API/structnlohmann_1_1detail_1_1conjunction_3_01_b1_01_4__inherit__graph.png b/docs/API/structnlohmann_1_1detail_1_1conjunction_3_01_b1_01_4__inherit__graph.png new file mode 100644 index 0000000..2f43858 Binary files /dev/null and b/docs/API/structnlohmann_1_1detail_1_1conjunction_3_01_b1_01_4__inherit__graph.png differ diff --git a/docs/API/structnlohmann_1_1detail_1_1conjunction__coll__graph.map b/docs/API/structnlohmann_1_1detail_1_1conjunction__coll__graph.map new file mode 100644 index 0000000..3914cde --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1conjunction__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structnlohmann_1_1detail_1_1conjunction__coll__graph.md5 b/docs/API/structnlohmann_1_1detail_1_1conjunction__coll__graph.md5 new file mode 100644 index 0000000..2c7b6a7 --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1conjunction__coll__graph.md5 @@ -0,0 +1 @@ +2c7a64e72eb58125236271a40e2e2609 \ No newline at end of file diff --git a/docs/API/structnlohmann_1_1detail_1_1conjunction__coll__graph.png b/docs/API/structnlohmann_1_1detail_1_1conjunction__coll__graph.png new file mode 100644 index 0000000..5a28598 Binary files /dev/null and b/docs/API/structnlohmann_1_1detail_1_1conjunction__coll__graph.png differ diff --git a/docs/API/structnlohmann_1_1detail_1_1conjunction__inherit__graph.map b/docs/API/structnlohmann_1_1detail_1_1conjunction__inherit__graph.map new file mode 100644 index 0000000..3914cde --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1conjunction__inherit__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structnlohmann_1_1detail_1_1conjunction__inherit__graph.md5 b/docs/API/structnlohmann_1_1detail_1_1conjunction__inherit__graph.md5 new file mode 100644 index 0000000..62d3a55 --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1conjunction__inherit__graph.md5 @@ -0,0 +1 @@ +206fb5aa0e2b70a79f2789d174496df1 \ No newline at end of file diff --git a/docs/API/structnlohmann_1_1detail_1_1conjunction__inherit__graph.png b/docs/API/structnlohmann_1_1detail_1_1conjunction__inherit__graph.png new file mode 100644 index 0000000..5a28598 Binary files /dev/null and b/docs/API/structnlohmann_1_1detail_1_1conjunction__inherit__graph.png differ diff --git a/docs/API/structnlohmann_1_1detail_1_1external__constructor.html b/docs/API/structnlohmann_1_1detail_1_1external__constructor.html new file mode 100644 index 0000000..e7ae557 --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1external__constructor.html @@ -0,0 +1,94 @@ + + + + + + + +o-du/phy: external_constructor< value_t > Struct Template Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    external_constructor< value_t > Struct Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Collaboration diagram for external_constructor< value_t >:
    +
    +
    Collaboration graph
    +
    +

    Detailed Description

    +

    template<value_t>
    +struct nlohmann::detail::external_constructor< value_t >

    + + +

    Definition at line 219 of file json.hpp.

    +

    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1array_01_4.html b/docs/API/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1array_01_4.html new file mode 100644 index 0000000..2d64716 --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1array_01_4.html @@ -0,0 +1,183 @@ + + + + + + + +o-du/phy: external_constructor< value_t::array > Struct Template Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    external_constructor< value_t::array > Struct Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Collaboration diagram for external_constructor< value_t::array >:
    +
    +
    Collaboration graph
    +
    + + + + + + + + +

    +Static Public Member Functions

    template<typename BasicJsonType >
    static void construct (BasicJsonType &j, const typename BasicJsonType::array_t &arr)
     
    template<typename BasicJsonType , typename CompatibleArrayType , enable_if_t< not std::is_same< CompatibleArrayType, typename BasicJsonType::array_t >::value, int > = 0>
    static void construct (BasicJsonType &j, const CompatibleArrayType &arr)
     
    +

    Detailed Description

    +

    template<>
    +struct nlohmann::detail::external_constructor< value_t::array >

    + + +

    Definition at line 290 of file json.hpp.

    +

    Member Function Documentation

    + +

    ◆ construct() [1/2]

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    static void construct (BasicJsonType & j,
    const typename BasicJsonType::array_t & arr 
    )
    +
    +inlinestatic
    +
    + +

    Definition at line 293 of file json.hpp.

    + +
    +
    + +

    ◆ construct() [2/2]

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    static void construct (BasicJsonType & j,
    const CompatibleArrayType & arr 
    )
    +
    +inlinestatic
    +
    + +

    Definition at line 304 of file json.hpp.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1array_01_4__coll__graph.map b/docs/API/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1array_01_4__coll__graph.map new file mode 100644 index 0000000..4ddd747 --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1array_01_4__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1array_01_4__coll__graph.md5 b/docs/API/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1array_01_4__coll__graph.md5 new file mode 100644 index 0000000..673d245 --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1array_01_4__coll__graph.md5 @@ -0,0 +1 @@ +f4431951ecad82d9b4109b5a5e5b19d2 \ No newline at end of file diff --git a/docs/API/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1array_01_4__coll__graph.png b/docs/API/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1array_01_4__coll__graph.png new file mode 100644 index 0000000..8943b85 Binary files /dev/null and b/docs/API/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1array_01_4__coll__graph.png differ diff --git a/docs/API/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1boolean_01_4.html b/docs/API/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1boolean_01_4.html new file mode 100644 index 0000000..9e21abd --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1boolean_01_4.html @@ -0,0 +1,142 @@ + + + + + + + +o-du/phy: external_constructor< value_t::boolean > Struct Template Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    external_constructor< value_t::boolean > Struct Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Collaboration diagram for external_constructor< value_t::boolean >:
    +
    +
    Collaboration graph
    +
    + + + + + +

    +Static Public Member Functions

    template<typename BasicJsonType >
    static void construct (BasicJsonType &j, typename BasicJsonType::boolean_t b) noexcept
     
    +

    Detailed Description

    +

    template<>
    +struct nlohmann::detail::external_constructor< value_t::boolean >

    + + +

    Definition at line 222 of file json.hpp.

    +

    Member Function Documentation

    + +

    ◆ construct()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    static void construct (BasicJsonType & j,
    typename BasicJsonType::boolean_t b 
    )
    +
    +inlinestaticnoexcept
    +
    + +

    Definition at line 225 of file json.hpp.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1boolean_01_4__coll__graph.map b/docs/API/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1boolean_01_4__coll__graph.map new file mode 100644 index 0000000..4341eda --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1boolean_01_4__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1boolean_01_4__coll__graph.md5 b/docs/API/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1boolean_01_4__coll__graph.md5 new file mode 100644 index 0000000..e7050ec --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1boolean_01_4__coll__graph.md5 @@ -0,0 +1 @@ +bf53f2b7679a6ccc08233b829ecda57c \ No newline at end of file diff --git a/docs/API/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1boolean_01_4__coll__graph.png b/docs/API/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1boolean_01_4__coll__graph.png new file mode 100644 index 0000000..abc7ef9 Binary files /dev/null and b/docs/API/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1boolean_01_4__coll__graph.png differ diff --git a/docs/API/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__float_01_4.html b/docs/API/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__float_01_4.html new file mode 100644 index 0000000..bb91c96 --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__float_01_4.html @@ -0,0 +1,142 @@ + + + + + + + +o-du/phy: external_constructor< value_t::number_float > Struct Template Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    external_constructor< value_t::number_float > Struct Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Collaboration diagram for external_constructor< value_t::number_float >:
    +
    +
    Collaboration graph
    +
    + + + + + +

    +Static Public Member Functions

    template<typename BasicJsonType >
    static void construct (BasicJsonType &j, typename BasicJsonType::number_float_t val) noexcept
     
    +

    Detailed Description

    +

    template<>
    +struct nlohmann::detail::external_constructor< value_t::number_float >

    + + +

    Definition at line 246 of file json.hpp.

    +

    Member Function Documentation

    + +

    ◆ construct()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    static void construct (BasicJsonType & j,
    typename BasicJsonType::number_float_t val 
    )
    +
    +inlinestaticnoexcept
    +
    + +

    Definition at line 249 of file json.hpp.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__float_01_4__coll__graph.map b/docs/API/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__float_01_4__coll__graph.map new file mode 100644 index 0000000..50ca76a --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__float_01_4__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__float_01_4__coll__graph.md5 b/docs/API/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__float_01_4__coll__graph.md5 new file mode 100644 index 0000000..6b7a3e4 --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__float_01_4__coll__graph.md5 @@ -0,0 +1 @@ +22e2d7ba5987e7e95da2d1f4972ee88a \ No newline at end of file diff --git a/docs/API/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__float_01_4__coll__graph.png b/docs/API/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__float_01_4__coll__graph.png new file mode 100644 index 0000000..7f6a757 Binary files /dev/null and b/docs/API/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__float_01_4__coll__graph.png differ diff --git a/docs/API/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__integer_01_4.html b/docs/API/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__integer_01_4.html new file mode 100644 index 0000000..4cb0a32 --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__integer_01_4.html @@ -0,0 +1,142 @@ + + + + + + + +o-du/phy: external_constructor< value_t::number_integer > Struct Template Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    external_constructor< value_t::number_integer > Struct Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Collaboration diagram for external_constructor< value_t::number_integer >:
    +
    +
    Collaboration graph
    +
    + + + + + +

    +Static Public Member Functions

    template<typename BasicJsonType >
    static void construct (BasicJsonType &j, typename BasicJsonType::number_integer_t val) noexcept
     
    +

    Detailed Description

    +

    template<>
    +struct nlohmann::detail::external_constructor< value_t::number_integer >

    + + +

    Definition at line 278 of file json.hpp.

    +

    Member Function Documentation

    + +

    ◆ construct()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    static void construct (BasicJsonType & j,
    typename BasicJsonType::number_integer_t val 
    )
    +
    +inlinestaticnoexcept
    +
    + +

    Definition at line 281 of file json.hpp.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__integer_01_4__coll__graph.map b/docs/API/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__integer_01_4__coll__graph.map new file mode 100644 index 0000000..26be7cd --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__integer_01_4__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__integer_01_4__coll__graph.md5 b/docs/API/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__integer_01_4__coll__graph.md5 new file mode 100644 index 0000000..4dc2897 --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__integer_01_4__coll__graph.md5 @@ -0,0 +1 @@ +fe1d473cbca64553fbeaf794d252a482 \ No newline at end of file diff --git a/docs/API/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__integer_01_4__coll__graph.png b/docs/API/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__integer_01_4__coll__graph.png new file mode 100644 index 0000000..ffc735c Binary files /dev/null and b/docs/API/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__integer_01_4__coll__graph.png differ diff --git a/docs/API/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__unsigned_01_4.html b/docs/API/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__unsigned_01_4.html new file mode 100644 index 0000000..5a9221e --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__unsigned_01_4.html @@ -0,0 +1,142 @@ + + + + + + + +o-du/phy: external_constructor< value_t::number_unsigned > Struct Template Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    external_constructor< value_t::number_unsigned > Struct Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Collaboration diagram for external_constructor< value_t::number_unsigned >:
    +
    +
    Collaboration graph
    +
    + + + + + +

    +Static Public Member Functions

    template<typename BasicJsonType >
    static void construct (BasicJsonType &j, typename BasicJsonType::number_unsigned_t val) noexcept
     
    +

    Detailed Description

    +

    template<>
    +struct nlohmann::detail::external_constructor< value_t::number_unsigned >

    + + +

    Definition at line 266 of file json.hpp.

    +

    Member Function Documentation

    + +

    ◆ construct()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    static void construct (BasicJsonType & j,
    typename BasicJsonType::number_unsigned_t val 
    )
    +
    +inlinestaticnoexcept
    +
    + +

    Definition at line 269 of file json.hpp.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__unsigned_01_4__coll__graph.map b/docs/API/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__unsigned_01_4__coll__graph.map new file mode 100644 index 0000000..cd2dbc0 --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__unsigned_01_4__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__unsigned_01_4__coll__graph.md5 b/docs/API/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__unsigned_01_4__coll__graph.md5 new file mode 100644 index 0000000..9d9fe73 --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__unsigned_01_4__coll__graph.md5 @@ -0,0 +1 @@ +30f2a7fccfe18fa6bcb36516f49fd7e0 \ No newline at end of file diff --git a/docs/API/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__unsigned_01_4__coll__graph.png b/docs/API/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__unsigned_01_4__coll__graph.png new file mode 100644 index 0000000..00b8f29 Binary files /dev/null and b/docs/API/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__unsigned_01_4__coll__graph.png differ diff --git a/docs/API/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1object_01_4.html b/docs/API/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1object_01_4.html new file mode 100644 index 0000000..5a6071e --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1object_01_4.html @@ -0,0 +1,183 @@ + + + + + + + +o-du/phy: external_constructor< value_t::object > Struct Template Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    external_constructor< value_t::object > Struct Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Collaboration diagram for external_constructor< value_t::object >:
    +
    +
    Collaboration graph
    +
    + + + + + + + + +

    +Static Public Member Functions

    template<typename BasicJsonType >
    static void construct (BasicJsonType &j, const typename BasicJsonType::object_t &obj)
     
    template<typename BasicJsonType , typename CompatibleObjectType , enable_if_t< not std::is_same< CompatibleObjectType, typename BasicJsonType::object_t >::value, int > = 0>
    static void construct (BasicJsonType &j, const CompatibleObjectType &obj)
     
    +

    Detailed Description

    +

    template<>
    +struct nlohmann::detail::external_constructor< value_t::object >

    + + +

    Definition at line 315 of file json.hpp.

    +

    Member Function Documentation

    + +

    ◆ construct() [1/2]

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    static void construct (BasicJsonType & j,
    const typename BasicJsonType::object_t & obj 
    )
    +
    +inlinestatic
    +
    + +

    Definition at line 318 of file json.hpp.

    + +
    +
    + +

    ◆ construct() [2/2]

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    static void construct (BasicJsonType & j,
    const CompatibleObjectType & obj 
    )
    +
    +inlinestatic
    +
    + +

    Definition at line 329 of file json.hpp.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1object_01_4__coll__graph.map b/docs/API/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1object_01_4__coll__graph.map new file mode 100644 index 0000000..d23200d --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1object_01_4__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1object_01_4__coll__graph.md5 b/docs/API/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1object_01_4__coll__graph.md5 new file mode 100644 index 0000000..742c9cc --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1object_01_4__coll__graph.md5 @@ -0,0 +1 @@ +4fa4b2c03ce3d558a2fb20b7b3234478 \ No newline at end of file diff --git a/docs/API/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1object_01_4__coll__graph.png b/docs/API/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1object_01_4__coll__graph.png new file mode 100644 index 0000000..9c9dee1 Binary files /dev/null and b/docs/API/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1object_01_4__coll__graph.png differ diff --git a/docs/API/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1string_01_4.html b/docs/API/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1string_01_4.html new file mode 100644 index 0000000..7eda3ac --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1string_01_4.html @@ -0,0 +1,142 @@ + + + + + + + +o-du/phy: external_constructor< value_t::string > Struct Template Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    external_constructor< value_t::string > Struct Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Collaboration diagram for external_constructor< value_t::string >:
    +
    +
    Collaboration graph
    +
    + + + + + +

    +Static Public Member Functions

    template<typename BasicJsonType >
    static void construct (BasicJsonType &j, const typename BasicJsonType::string_t &s)
     
    +

    Detailed Description

    +

    template<>
    +struct nlohmann::detail::external_constructor< value_t::string >

    + + +

    Definition at line 234 of file json.hpp.

    +

    Member Function Documentation

    + +

    ◆ construct()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    static void construct (BasicJsonType & j,
    const typename BasicJsonType::string_t & s 
    )
    +
    +inlinestatic
    +
    + +

    Definition at line 237 of file json.hpp.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1string_01_4__coll__graph.map b/docs/API/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1string_01_4__coll__graph.map new file mode 100644 index 0000000..71af216 --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1string_01_4__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1string_01_4__coll__graph.md5 b/docs/API/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1string_01_4__coll__graph.md5 new file mode 100644 index 0000000..0af0a1a --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1string_01_4__coll__graph.md5 @@ -0,0 +1 @@ +a4b90a9ae92cd5eedf130fecc5bd275b \ No newline at end of file diff --git a/docs/API/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1string_01_4__coll__graph.png b/docs/API/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1string_01_4__coll__graph.png new file mode 100644 index 0000000..e8c39ab Binary files /dev/null and b/docs/API/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1string_01_4__coll__graph.png differ diff --git a/docs/API/structnlohmann_1_1detail_1_1external__constructor__coll__graph.map b/docs/API/structnlohmann_1_1detail_1_1external__constructor__coll__graph.map new file mode 100644 index 0000000..b9911c6 --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1external__constructor__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structnlohmann_1_1detail_1_1external__constructor__coll__graph.md5 b/docs/API/structnlohmann_1_1detail_1_1external__constructor__coll__graph.md5 new file mode 100644 index 0000000..b074508 --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1external__constructor__coll__graph.md5 @@ -0,0 +1 @@ +e3a3bdc1bc5aeea0c0ade33907864d59 \ No newline at end of file diff --git a/docs/API/structnlohmann_1_1detail_1_1external__constructor__coll__graph.png b/docs/API/structnlohmann_1_1detail_1_1external__constructor__coll__graph.png new file mode 100644 index 0000000..fa28eb0 Binary files /dev/null and b/docs/API/structnlohmann_1_1detail_1_1external__constructor__coll__graph.png differ diff --git a/docs/API/structnlohmann_1_1detail_1_1from__json__fn.html b/docs/API/structnlohmann_1_1detail_1_1from__json__fn.html new file mode 100644 index 0000000..1a61fbb --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1from__json__fn.html @@ -0,0 +1,139 @@ + + + + + + + +o-du/phy: from_json_fn Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    from_json_fn Struct Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Collaboration diagram for from_json_fn:
    +
    +
    Collaboration graph
    +
    + + + + + +

    +Public Member Functions

    template<typename BasicJsonType , typename T >
    void operator() (const BasicJsonType &j, T &val) const noexcept(noexcept(std::declval< from_json_fn >().call(j, val, priority_tag< 1 > {})))
     
    +

    Detailed Description

    +
    +

    Definition at line 833 of file json.hpp.

    +

    Member Function Documentation

    + +

    ◆ operator()()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    void operator() (const BasicJsonType & j,
    T & val 
    ) const
    +
    +inlinenoexcept
    +
    + +

    Definition at line 853 of file json.hpp.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structnlohmann_1_1detail_1_1from__json__fn__coll__graph.map b/docs/API/structnlohmann_1_1detail_1_1from__json__fn__coll__graph.map new file mode 100644 index 0000000..2ff77f9 --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1from__json__fn__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structnlohmann_1_1detail_1_1from__json__fn__coll__graph.md5 b/docs/API/structnlohmann_1_1detail_1_1from__json__fn__coll__graph.md5 new file mode 100644 index 0000000..aeac880 --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1from__json__fn__coll__graph.md5 @@ -0,0 +1 @@ +8da0841f4575e9d1bbda3bac3a02a8bb \ No newline at end of file diff --git a/docs/API/structnlohmann_1_1detail_1_1from__json__fn__coll__graph.png b/docs/API/structnlohmann_1_1detail_1_1from__json__fn__coll__graph.png new file mode 100644 index 0000000..52804b5 Binary files /dev/null and b/docs/API/structnlohmann_1_1detail_1_1from__json__fn__coll__graph.png differ diff --git a/docs/API/structnlohmann_1_1detail_1_1has__from__json.html b/docs/API/structnlohmann_1_1detail_1_1has__from__json.html new file mode 100644 index 0000000..3b9eb04 --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1has__from__json.html @@ -0,0 +1,127 @@ + + + + + + + +o-du/phy: has_from_json< BasicJsonType, T > Struct Template Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    has_from_json< BasicJsonType, T > Struct Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Collaboration diagram for has_from_json< BasicJsonType, T >:
    +
    +
    Collaboration graph
    +
    + + + + +

    +Static Public Attributes

    static constexpr bool value
     
    +

    Detailed Description

    +

    template<typename BasicJsonType, typename T>
    +struct nlohmann::detail::has_from_json< BasicJsonType, T >

    + + +

    Definition at line 451 of file json.hpp.

    +

    Field Documentation

    + +

    ◆ value

    + +
    +
    + + + + + +
    + + + + +
    constexpr bool value
    +
    +static
    +
    +Initial value:
    = std::is_integral<decltype(
    detect(std::declval<typename BasicJsonType::template json_serializer<T, void > >()))>::value
    +

    Definition at line 461 of file json.hpp.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structnlohmann_1_1detail_1_1has__from__json__coll__graph.map b/docs/API/structnlohmann_1_1detail_1_1has__from__json__coll__graph.map new file mode 100644 index 0000000..707323c --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1has__from__json__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structnlohmann_1_1detail_1_1has__from__json__coll__graph.md5 b/docs/API/structnlohmann_1_1detail_1_1has__from__json__coll__graph.md5 new file mode 100644 index 0000000..619fb9b --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1has__from__json__coll__graph.md5 @@ -0,0 +1 @@ +c62acf1d367bfb3eaa37f5d18cdc6574 \ No newline at end of file diff --git a/docs/API/structnlohmann_1_1detail_1_1has__from__json__coll__graph.png b/docs/API/structnlohmann_1_1detail_1_1has__from__json__coll__graph.png new file mode 100644 index 0000000..d922b7d Binary files /dev/null and b/docs/API/structnlohmann_1_1detail_1_1has__from__json__coll__graph.png differ diff --git a/docs/API/structnlohmann_1_1detail_1_1has__non__default__from__json.html b/docs/API/structnlohmann_1_1detail_1_1has__non__default__from__json.html new file mode 100644 index 0000000..ebaa65f --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1has__non__default__from__json.html @@ -0,0 +1,127 @@ + + + + + + + +o-du/phy: has_non_default_from_json< BasicJsonType, T > Struct Template Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    has_non_default_from_json< BasicJsonType, T > Struct Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Collaboration diagram for has_non_default_from_json< BasicJsonType, T >:
    +
    +
    Collaboration graph
    +
    + + + + +

    +Static Public Attributes

    static constexpr bool value
     
    +

    Detailed Description

    +

    template<typename BasicJsonType, typename T>
    +struct nlohmann::detail::has_non_default_from_json< BasicJsonType, T >

    + + +

    Definition at line 468 of file json.hpp.

    +

    Field Documentation

    + +

    ◆ value

    + +
    +
    + + + + + +
    + + + + +
    constexpr bool value
    +
    +static
    +
    +Initial value:
    = std::is_integral<decltype(detect(
    std::declval<typename BasicJsonType::template json_serializer<T, void> >()))>::value
    +

    Definition at line 479 of file json.hpp.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structnlohmann_1_1detail_1_1has__non__default__from__json__coll__graph.map b/docs/API/structnlohmann_1_1detail_1_1has__non__default__from__json__coll__graph.map new file mode 100644 index 0000000..6c1e667 --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1has__non__default__from__json__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structnlohmann_1_1detail_1_1has__non__default__from__json__coll__graph.md5 b/docs/API/structnlohmann_1_1detail_1_1has__non__default__from__json__coll__graph.md5 new file mode 100644 index 0000000..fa1790c --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1has__non__default__from__json__coll__graph.md5 @@ -0,0 +1 @@ +5b5285a1c647d96aa0d2aff4529b41a1 \ No newline at end of file diff --git a/docs/API/structnlohmann_1_1detail_1_1has__non__default__from__json__coll__graph.png b/docs/API/structnlohmann_1_1detail_1_1has__non__default__from__json__coll__graph.png new file mode 100644 index 0000000..dc9b663 Binary files /dev/null and b/docs/API/structnlohmann_1_1detail_1_1has__non__default__from__json__coll__graph.png differ diff --git a/docs/API/structnlohmann_1_1detail_1_1has__to__json.html b/docs/API/structnlohmann_1_1detail_1_1has__to__json.html new file mode 100644 index 0000000..3310c2d --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1has__to__json.html @@ -0,0 +1,127 @@ + + + + + + + +o-du/phy: has_to_json< BasicJsonType, T > Struct Template Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    has_to_json< BasicJsonType, T > Struct Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Collaboration diagram for has_to_json< BasicJsonType, T >:
    +
    +
    Collaboration graph
    +
    + + + + +

    +Static Public Attributes

    static constexpr bool value
     
    +

    Detailed Description

    +

    template<typename BasicJsonType, typename T>
    +struct nlohmann::detail::has_to_json< BasicJsonType, T >

    + + +

    Definition at line 485 of file json.hpp.

    +

    Field Documentation

    + +

    ◆ value

    + +
    +
    + + + + + +
    + + + + +
    constexpr bool value
    +
    +static
    +
    +Initial value:
    = std::is_integral<decltype(detect(
    std::declval<typename BasicJsonType::template json_serializer<T, void> >()))>::value
    +

    Definition at line 494 of file json.hpp.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structnlohmann_1_1detail_1_1has__to__json__coll__graph.map b/docs/API/structnlohmann_1_1detail_1_1has__to__json__coll__graph.map new file mode 100644 index 0000000..83955f4 --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1has__to__json__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structnlohmann_1_1detail_1_1has__to__json__coll__graph.md5 b/docs/API/structnlohmann_1_1detail_1_1has__to__json__coll__graph.md5 new file mode 100644 index 0000000..cdff1f5 --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1has__to__json__coll__graph.md5 @@ -0,0 +1 @@ +ccfa4c911a3a6ac4a4f13fe7006fef12 \ No newline at end of file diff --git a/docs/API/structnlohmann_1_1detail_1_1has__to__json__coll__graph.png b/docs/API/structnlohmann_1_1detail_1_1has__to__json__coll__graph.png new file mode 100644 index 0000000..3c9d0af Binary files /dev/null and b/docs/API/structnlohmann_1_1detail_1_1has__to__json__coll__graph.png differ diff --git a/docs/API/structnlohmann_1_1detail_1_1is__basic__json__nested__type.html b/docs/API/structnlohmann_1_1detail_1_1is__basic__json__nested__type.html new file mode 100644 index 0000000..1c720a8 --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1is__basic__json__nested__type.html @@ -0,0 +1,127 @@ + + + + + + + +o-du/phy: is_basic_json_nested_type< BasicJsonType, T > Struct Template Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    is_basic_json_nested_type< BasicJsonType, T > Struct Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Collaboration diagram for is_basic_json_nested_type< BasicJsonType, T >:
    +
    +
    Collaboration graph
    +
    + + + + +

    +Static Public Attributes

    static auto constexpr value
     
    +

    Detailed Description

    +

    template<typename BasicJsonType, typename T>
    +struct nlohmann::detail::is_basic_json_nested_type< BasicJsonType, T >

    + + +

    Definition at line 398 of file json.hpp.

    +

    Field Documentation

    + +

    ◆ value

    + +
    +
    + + + + + +
    + + + + +
    auto constexpr value
    +
    +static
    +
    +Initial value:
    = std::is_same<T, typename BasicJsonType::iterator>::value or
    std::is_same<T, typename BasicJsonType::const_iterator>::value or
    std::is_same<T, typename BasicJsonType::reverse_iterator>::value or
    std::is_same<T, typename BasicJsonType::const_reverse_iterator>::value or
    std::is_same<T, typename BasicJsonType::json_pointer>::value
    +

    Definition at line 400 of file json.hpp.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structnlohmann_1_1detail_1_1is__basic__json__nested__type__coll__graph.map b/docs/API/structnlohmann_1_1detail_1_1is__basic__json__nested__type__coll__graph.map new file mode 100644 index 0000000..c80a38e --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1is__basic__json__nested__type__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structnlohmann_1_1detail_1_1is__basic__json__nested__type__coll__graph.md5 b/docs/API/structnlohmann_1_1detail_1_1is__basic__json__nested__type__coll__graph.md5 new file mode 100644 index 0000000..64d4ae2 --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1is__basic__json__nested__type__coll__graph.md5 @@ -0,0 +1 @@ +c0d1bcc9bd01cfe1bffd74c3d309d3fe \ No newline at end of file diff --git a/docs/API/structnlohmann_1_1detail_1_1is__basic__json__nested__type__coll__graph.png b/docs/API/structnlohmann_1_1detail_1_1is__basic__json__nested__type__coll__graph.png new file mode 100644 index 0000000..c9fab20 Binary files /dev/null and b/docs/API/structnlohmann_1_1detail_1_1is__basic__json__nested__type__coll__graph.png differ diff --git a/docs/API/structnlohmann_1_1detail_1_1is__compatible__array__type.html b/docs/API/structnlohmann_1_1detail_1_1is__compatible__array__type.html new file mode 100644 index 0000000..57d9368 --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1is__compatible__array__type.html @@ -0,0 +1,127 @@ + + + + + + + +o-du/phy: is_compatible_array_type< BasicJsonType, CompatibleArrayType > Struct Template Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    is_compatible_array_type< BasicJsonType, CompatibleArrayType > Struct Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Collaboration diagram for is_compatible_array_type< BasicJsonType, CompatibleArrayType >:
    +
    +
    Collaboration graph
    +
    + + + + +

    +Static Public Attributes

    static auto constexpr value
     
    +

    Detailed Description

    +

    template<class BasicJsonType, class CompatibleArrayType>
    +struct nlohmann::detail::is_compatible_array_type< BasicJsonType, CompatibleArrayType >

    + + +

    Definition at line 408 of file json.hpp.

    +

    Field Documentation

    + +

    ◆ value

    + +
    +
    + + + + + +
    + + + + +
    auto constexpr value
    +
    +static
    +
    +Initial value:
    =
    conjunction<negation<std::is_same<void, CompatibleArrayType>>,
    negation<is_compatible_object_type<
    BasicJsonType, CompatibleArrayType>>,
    negation<std::is_constructible<typename BasicJsonType::string_t,
    CompatibleArrayType>>,
    negation<is_basic_json_nested_type<BasicJsonType, CompatibleArrayType>>,
    has_value_type<CompatibleArrayType>,
    has_iterator<CompatibleArrayType>>::value
    +

    Definition at line 410 of file json.hpp.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structnlohmann_1_1detail_1_1is__compatible__array__type__coll__graph.map b/docs/API/structnlohmann_1_1detail_1_1is__compatible__array__type__coll__graph.map new file mode 100644 index 0000000..6e8ac7b --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1is__compatible__array__type__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structnlohmann_1_1detail_1_1is__compatible__array__type__coll__graph.md5 b/docs/API/structnlohmann_1_1detail_1_1is__compatible__array__type__coll__graph.md5 new file mode 100644 index 0000000..7b5f8d8 --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1is__compatible__array__type__coll__graph.md5 @@ -0,0 +1 @@ +14e27f5985984478839531193429b365 \ No newline at end of file diff --git a/docs/API/structnlohmann_1_1detail_1_1is__compatible__array__type__coll__graph.png b/docs/API/structnlohmann_1_1detail_1_1is__compatible__array__type__coll__graph.png new file mode 100644 index 0000000..774cdc4 Binary files /dev/null and b/docs/API/structnlohmann_1_1detail_1_1is__compatible__array__type__coll__graph.png differ diff --git a/docs/API/structnlohmann_1_1detail_1_1is__compatible__integer__type.html b/docs/API/structnlohmann_1_1detail_1_1is__compatible__integer__type.html new file mode 100644 index 0000000..014d63c --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1is__compatible__integer__type.html @@ -0,0 +1,127 @@ + + + + + + + +o-du/phy: is_compatible_integer_type< RealIntegerType, CompatibleNumberIntegerType > Struct Template Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    is_compatible_integer_type< RealIntegerType, CompatibleNumberIntegerType > Struct Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Collaboration diagram for is_compatible_integer_type< RealIntegerType, CompatibleNumberIntegerType >:
    +
    +
    Collaboration graph
    +
    + + + + +

    +Static Public Attributes

    static constexpr auto value
     
    +

    Detailed Description

    +

    template<typename RealIntegerType, typename CompatibleNumberIntegerType>
    +struct nlohmann::detail::is_compatible_integer_type< RealIntegerType, CompatibleNumberIntegerType >

    + + +

    Definition at line 439 of file json.hpp.

    +

    Field Documentation

    + +

    ◆ value

    + +
    +
    + + + + + +
    + + + + +
    constexpr auto value
    +
    +static
    +
    +Initial value:
    =
    is_compatible_integer_type_impl <
    std::is_integral<CompatibleNumberIntegerType>::value and
    not std::is_same<bool, CompatibleNumberIntegerType>::value,
    RealIntegerType, CompatibleNumberIntegerType > ::value
    +

    Definition at line 441 of file json.hpp.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structnlohmann_1_1detail_1_1is__compatible__integer__type__coll__graph.map b/docs/API/structnlohmann_1_1detail_1_1is__compatible__integer__type__coll__graph.map new file mode 100644 index 0000000..7e7a91f --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1is__compatible__integer__type__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structnlohmann_1_1detail_1_1is__compatible__integer__type__coll__graph.md5 b/docs/API/structnlohmann_1_1detail_1_1is__compatible__integer__type__coll__graph.md5 new file mode 100644 index 0000000..f2adf83 --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1is__compatible__integer__type__coll__graph.md5 @@ -0,0 +1 @@ +e5c0526b306798ec8e28b5dadf183285 \ No newline at end of file diff --git a/docs/API/structnlohmann_1_1detail_1_1is__compatible__integer__type__coll__graph.png b/docs/API/structnlohmann_1_1detail_1_1is__compatible__integer__type__coll__graph.png new file mode 100644 index 0000000..481860a Binary files /dev/null and b/docs/API/structnlohmann_1_1detail_1_1is__compatible__integer__type__coll__graph.png differ diff --git a/docs/API/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl.html b/docs/API/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl.html new file mode 100644 index 0000000..a19a303 --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl.html @@ -0,0 +1,99 @@ + + + + + + + +o-du/phy: is_compatible_integer_type_impl< bool, typename, typename > Struct Template Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    is_compatible_integer_type_impl< bool, typename, typename > Struct Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Inheritance diagram for is_compatible_integer_type_impl< bool, typename, typename >:
    +
    +
    Inheritance graph
    +
    +
    +Collaboration diagram for is_compatible_integer_type_impl< bool, typename, typename >:
    +
    +
    Collaboration graph
    +
    +

    Detailed Description

    +

    template<bool, typename, typename>
    +struct nlohmann::detail::is_compatible_integer_type_impl< bool, typename, typename >

    + + +

    Definition at line 422 of file json.hpp.

    +

    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl_3_01true_00_01_real_integer_type78b0ba77f36a8c8169cdb79b01d1a4bf.html b/docs/API/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl_3_01true_00_01_real_integer_type78b0ba77f36a8c8169cdb79b01d1a4bf.html new file mode 100644 index 0000000..7228d32 --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl_3_01true_00_01_real_integer_type78b0ba77f36a8c8169cdb79b01d1a4bf.html @@ -0,0 +1,168 @@ + + + + + + + +o-du/phy: is_compatible_integer_type_impl< true, RealIntegerType, CompatibleNumberIntegerType > Struct Template Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    is_compatible_integer_type_impl< true, RealIntegerType, CompatibleNumberIntegerType > Struct Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Collaboration diagram for is_compatible_integer_type_impl< true, RealIntegerType, CompatibleNumberIntegerType >:
    +
    +
    Collaboration graph
    +
    + + + + + + +

    +Public Types

    using RealLimits = std::numeric_limits< RealIntegerType >
     
    using CompatibleLimits = std::numeric_limits< CompatibleNumberIntegerType >
     
    + + + +

    +Static Public Attributes

    static constexpr auto value
     
    +

    Detailed Description

    +

    template<typename RealIntegerType, typename CompatibleNumberIntegerType>
    +struct nlohmann::detail::is_compatible_integer_type_impl< true, RealIntegerType, CompatibleNumberIntegerType >

    + + +

    Definition at line 425 of file json.hpp.

    +

    Member Typedef Documentation

    + +

    ◆ CompatibleLimits

    + +
    +
    + + + + +
    using CompatibleLimits = std::numeric_limits<CompatibleNumberIntegerType>
    +
    + +

    Definition at line 429 of file json.hpp.

    + +
    +
    + +

    ◆ RealLimits

    + +
    +
    + + + + +
    using RealLimits = std::numeric_limits<RealIntegerType>
    +
    + +

    Definition at line 428 of file json.hpp.

    + +
    +
    +

    Field Documentation

    + +

    ◆ value

    + +
    +
    + + + + + +
    + + + + +
    constexpr auto value
    +
    +static
    +
    +Initial value:
    =
    std::is_constructible<RealIntegerType,
    CompatibleNumberIntegerType>::value and
    CompatibleLimits::is_integer and
    RealLimits::is_signed == CompatibleLimits::is_signed
    +

    Definition at line 431 of file json.hpp.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl_3_01true_00_01_real_integer_type91a3ecc228d10e6d79267cb6d62bce08.map b/docs/API/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl_3_01true_00_01_real_integer_type91a3ecc228d10e6d79267cb6d62bce08.map new file mode 100644 index 0000000..c81e0cb --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl_3_01true_00_01_real_integer_type91a3ecc228d10e6d79267cb6d62bce08.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl_3_01true_00_01_real_integer_type91a3ecc228d10e6d79267cb6d62bce08.md5 b/docs/API/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl_3_01true_00_01_real_integer_type91a3ecc228d10e6d79267cb6d62bce08.md5 new file mode 100644 index 0000000..69a8a85 --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl_3_01true_00_01_real_integer_type91a3ecc228d10e6d79267cb6d62bce08.md5 @@ -0,0 +1 @@ +97e5e927fe57da5af45df5d823c86a9d \ No newline at end of file diff --git a/docs/API/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl_3_01true_00_01_real_integer_type91a3ecc228d10e6d79267cb6d62bce08.png b/docs/API/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl_3_01true_00_01_real_integer_type91a3ecc228d10e6d79267cb6d62bce08.png new file mode 100644 index 0000000..25f815b Binary files /dev/null and b/docs/API/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl_3_01true_00_01_real_integer_type91a3ecc228d10e6d79267cb6d62bce08.png differ diff --git a/docs/API/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl__coll__graph.map b/docs/API/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl__coll__graph.map new file mode 100644 index 0000000..00a3add --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl__coll__graph.md5 b/docs/API/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl__coll__graph.md5 new file mode 100644 index 0000000..549beea --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl__coll__graph.md5 @@ -0,0 +1 @@ +aa28a2eab0802674f0c01f84e2d4a2d2 \ No newline at end of file diff --git a/docs/API/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl__coll__graph.png b/docs/API/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl__coll__graph.png new file mode 100644 index 0000000..19a47a5 Binary files /dev/null and b/docs/API/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl__coll__graph.png differ diff --git a/docs/API/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl__inherit__graph.map b/docs/API/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl__inherit__graph.map new file mode 100644 index 0000000..00a3add --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl__inherit__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl__inherit__graph.md5 b/docs/API/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl__inherit__graph.md5 new file mode 100644 index 0000000..411d2b7 --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl__inherit__graph.md5 @@ -0,0 +1 @@ +e41227eb2b0fb32f364490b86597b3fe \ No newline at end of file diff --git a/docs/API/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl__inherit__graph.png b/docs/API/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl__inherit__graph.png new file mode 100644 index 0000000..19a47a5 Binary files /dev/null and b/docs/API/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl__inherit__graph.png differ diff --git a/docs/API/structnlohmann_1_1detail_1_1is__compatible__object__type.html b/docs/API/structnlohmann_1_1detail_1_1is__compatible__object__type.html new file mode 100644 index 0000000..1c58313 --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1is__compatible__object__type.html @@ -0,0 +1,127 @@ + + + + + + + +o-du/phy: is_compatible_object_type< BasicJsonType, CompatibleObjectType > Struct Template Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    is_compatible_object_type< BasicJsonType, CompatibleObjectType > Struct Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Collaboration diagram for is_compatible_object_type< BasicJsonType, CompatibleObjectType >:
    +
    +
    Collaboration graph
    +
    + + + + +

    +Static Public Attributes

    static auto constexpr value
     
    +

    Detailed Description

    +

    template<class BasicJsonType, class CompatibleObjectType>
    +struct nlohmann::detail::is_compatible_object_type< BasicJsonType, CompatibleObjectType >

    + + +

    Definition at line 388 of file json.hpp.

    +

    Field Documentation

    + +

    ◆ value

    + +
    +
    + + + + + +
    + + + + +
    auto constexpr value
    +
    +static
    +
    +Initial value:
    = is_compatible_object_type_impl <
    conjunction<negation<std::is_same<void, CompatibleObjectType>>,
    has_mapped_type<CompatibleObjectType>,
    has_key_type<CompatibleObjectType>>::value,
    typename BasicJsonType::object_t, CompatibleObjectType >::value
    +

    Definition at line 390 of file json.hpp.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structnlohmann_1_1detail_1_1is__compatible__object__type__coll__graph.map b/docs/API/structnlohmann_1_1detail_1_1is__compatible__object__type__coll__graph.map new file mode 100644 index 0000000..7c98d13 --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1is__compatible__object__type__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structnlohmann_1_1detail_1_1is__compatible__object__type__coll__graph.md5 b/docs/API/structnlohmann_1_1detail_1_1is__compatible__object__type__coll__graph.md5 new file mode 100644 index 0000000..66be822 --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1is__compatible__object__type__coll__graph.md5 @@ -0,0 +1 @@ +e6ca54cb9c5762751de718347b4be365 \ No newline at end of file diff --git a/docs/API/structnlohmann_1_1detail_1_1is__compatible__object__type__coll__graph.png b/docs/API/structnlohmann_1_1detail_1_1is__compatible__object__type__coll__graph.png new file mode 100644 index 0000000..6eee9c3 Binary files /dev/null and b/docs/API/structnlohmann_1_1detail_1_1is__compatible__object__type__coll__graph.png differ diff --git a/docs/API/structnlohmann_1_1detail_1_1is__compatible__object__type__impl.html b/docs/API/structnlohmann_1_1detail_1_1is__compatible__object__type__impl.html new file mode 100644 index 0000000..aa11cf3 --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1is__compatible__object__type__impl.html @@ -0,0 +1,99 @@ + + + + + + + +o-du/phy: is_compatible_object_type_impl< B, RealType, CompatibleObjectType > Struct Template Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    is_compatible_object_type_impl< B, RealType, CompatibleObjectType > Struct Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Inheritance diagram for is_compatible_object_type_impl< B, RealType, CompatibleObjectType >:
    +
    +
    Inheritance graph
    +
    +
    +Collaboration diagram for is_compatible_object_type_impl< B, RealType, CompatibleObjectType >:
    +
    +
    Collaboration graph
    +
    +

    Detailed Description

    +

    template<bool B, class RealType, class CompatibleObjectType>
    +struct nlohmann::detail::is_compatible_object_type_impl< B, RealType, CompatibleObjectType >

    + + +

    Definition at line 375 of file json.hpp.

    +

    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structnlohmann_1_1detail_1_1is__compatible__object__type__impl_3_01true_00_01_real_type_00_01_co95dad5753919563ad99dcd2fe7bee6f3.map b/docs/API/structnlohmann_1_1detail_1_1is__compatible__object__type__impl_3_01true_00_01_real_type_00_01_co95dad5753919563ad99dcd2fe7bee6f3.map new file mode 100644 index 0000000..a684061 --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1is__compatible__object__type__impl_3_01true_00_01_real_type_00_01_co95dad5753919563ad99dcd2fe7bee6f3.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structnlohmann_1_1detail_1_1is__compatible__object__type__impl_3_01true_00_01_real_type_00_01_co95dad5753919563ad99dcd2fe7bee6f3.md5 b/docs/API/structnlohmann_1_1detail_1_1is__compatible__object__type__impl_3_01true_00_01_real_type_00_01_co95dad5753919563ad99dcd2fe7bee6f3.md5 new file mode 100644 index 0000000..3f423e5 --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1is__compatible__object__type__impl_3_01true_00_01_real_type_00_01_co95dad5753919563ad99dcd2fe7bee6f3.md5 @@ -0,0 +1 @@ +c11fbd5f5e362055046355c7cde05d9b \ No newline at end of file diff --git a/docs/API/structnlohmann_1_1detail_1_1is__compatible__object__type__impl_3_01true_00_01_real_type_00_01_co95dad5753919563ad99dcd2fe7bee6f3.png b/docs/API/structnlohmann_1_1detail_1_1is__compatible__object__type__impl_3_01true_00_01_real_type_00_01_co95dad5753919563ad99dcd2fe7bee6f3.png new file mode 100644 index 0000000..13e3854 Binary files /dev/null and b/docs/API/structnlohmann_1_1detail_1_1is__compatible__object__type__impl_3_01true_00_01_real_type_00_01_co95dad5753919563ad99dcd2fe7bee6f3.png differ diff --git a/docs/API/structnlohmann_1_1detail_1_1is__compatible__object__type__impl_3_01true_00_01_real_type_00_01_compatible_object_type_01_4.html b/docs/API/structnlohmann_1_1detail_1_1is__compatible__object__type__impl_3_01true_00_01_real_type_00_01_compatible_object_type_01_4.html new file mode 100644 index 0000000..6031948 --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1is__compatible__object__type__impl_3_01true_00_01_real_type_00_01_compatible_object_type_01_4.html @@ -0,0 +1,127 @@ + + + + + + + +o-du/phy: is_compatible_object_type_impl< true, RealType, CompatibleObjectType > Struct Template Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    is_compatible_object_type_impl< true, RealType, CompatibleObjectType > Struct Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Collaboration diagram for is_compatible_object_type_impl< true, RealType, CompatibleObjectType >:
    +
    +
    Collaboration graph
    +
    + + + + +

    +Static Public Attributes

    static constexpr auto value
     
    +

    Detailed Description

    +

    template<class RealType, class CompatibleObjectType>
    +struct nlohmann::detail::is_compatible_object_type_impl< true, RealType, CompatibleObjectType >

    + + +

    Definition at line 378 of file json.hpp.

    +

    Field Documentation

    + +

    ◆ value

    + +
    +
    + + + + + +
    + + + + +
    constexpr auto value
    +
    +static
    +
    +Initial value:
    =
    std::is_constructible<typename RealType::key_type,
    typename CompatibleObjectType::key_type>::value and
    std::is_constructible<typename RealType::mapped_type,
    typename CompatibleObjectType::mapped_type>::value
    +

    Definition at line 380 of file json.hpp.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structnlohmann_1_1detail_1_1is__compatible__object__type__impl__coll__graph.map b/docs/API/structnlohmann_1_1detail_1_1is__compatible__object__type__impl__coll__graph.map new file mode 100644 index 0000000..478fc7f --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1is__compatible__object__type__impl__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structnlohmann_1_1detail_1_1is__compatible__object__type__impl__coll__graph.md5 b/docs/API/structnlohmann_1_1detail_1_1is__compatible__object__type__impl__coll__graph.md5 new file mode 100644 index 0000000..577e343 --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1is__compatible__object__type__impl__coll__graph.md5 @@ -0,0 +1 @@ +bba50ef65fdfeeb968d5b78c382dacd6 \ No newline at end of file diff --git a/docs/API/structnlohmann_1_1detail_1_1is__compatible__object__type__impl__coll__graph.png b/docs/API/structnlohmann_1_1detail_1_1is__compatible__object__type__impl__coll__graph.png new file mode 100644 index 0000000..ab491aa Binary files /dev/null and b/docs/API/structnlohmann_1_1detail_1_1is__compatible__object__type__impl__coll__graph.png differ diff --git a/docs/API/structnlohmann_1_1detail_1_1is__compatible__object__type__impl__inherit__graph.map b/docs/API/structnlohmann_1_1detail_1_1is__compatible__object__type__impl__inherit__graph.map new file mode 100644 index 0000000..478fc7f --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1is__compatible__object__type__impl__inherit__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structnlohmann_1_1detail_1_1is__compatible__object__type__impl__inherit__graph.md5 b/docs/API/structnlohmann_1_1detail_1_1is__compatible__object__type__impl__inherit__graph.md5 new file mode 100644 index 0000000..52b9390 --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1is__compatible__object__type__impl__inherit__graph.md5 @@ -0,0 +1 @@ +cf758ec84c1a2fe09dcf2a7b85b8322f \ No newline at end of file diff --git a/docs/API/structnlohmann_1_1detail_1_1is__compatible__object__type__impl__inherit__graph.png b/docs/API/structnlohmann_1_1detail_1_1is__compatible__object__type__impl__inherit__graph.png new file mode 100644 index 0000000..ab491aa Binary files /dev/null and b/docs/API/structnlohmann_1_1detail_1_1is__compatible__object__type__impl__inherit__graph.png differ diff --git a/docs/API/structnlohmann_1_1detail_1_1negation.html b/docs/API/structnlohmann_1_1detail_1_1negation.html new file mode 100644 index 0000000..f08b195 --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1negation.html @@ -0,0 +1,99 @@ + + + + + + + +o-du/phy: negation< B > Struct Template Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    negation< B > Struct Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Inheritance diagram for negation< B >:
    +
    +
    Inheritance graph
    +
    +
    +Collaboration diagram for negation< B >:
    +
    +
    Collaboration graph
    +
    +

    Detailed Description

    +

    template<class B>
    +struct nlohmann::detail::negation< B >

    + + +

    Definition at line 208 of file json.hpp.

    +

    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structnlohmann_1_1detail_1_1negation__coll__graph.map b/docs/API/structnlohmann_1_1detail_1_1negation__coll__graph.map new file mode 100644 index 0000000..1350585 --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1negation__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structnlohmann_1_1detail_1_1negation__coll__graph.md5 b/docs/API/structnlohmann_1_1detail_1_1negation__coll__graph.md5 new file mode 100644 index 0000000..1273bab --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1negation__coll__graph.md5 @@ -0,0 +1 @@ +8e0713ea767820448dc58b23cacb90e0 \ No newline at end of file diff --git a/docs/API/structnlohmann_1_1detail_1_1negation__coll__graph.png b/docs/API/structnlohmann_1_1detail_1_1negation__coll__graph.png new file mode 100644 index 0000000..235500f Binary files /dev/null and b/docs/API/structnlohmann_1_1detail_1_1negation__coll__graph.png differ diff --git a/docs/API/structnlohmann_1_1detail_1_1negation__inherit__graph.map b/docs/API/structnlohmann_1_1detail_1_1negation__inherit__graph.map new file mode 100644 index 0000000..1350585 --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1negation__inherit__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structnlohmann_1_1detail_1_1negation__inherit__graph.md5 b/docs/API/structnlohmann_1_1detail_1_1negation__inherit__graph.md5 new file mode 100644 index 0000000..cfe9769 --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1negation__inherit__graph.md5 @@ -0,0 +1 @@ +e05318c5878b1945e42ed5680d68af21 \ No newline at end of file diff --git a/docs/API/structnlohmann_1_1detail_1_1negation__inherit__graph.png b/docs/API/structnlohmann_1_1detail_1_1negation__inherit__graph.png new file mode 100644 index 0000000..235500f Binary files /dev/null and b/docs/API/structnlohmann_1_1detail_1_1negation__inherit__graph.png differ diff --git a/docs/API/structnlohmann_1_1detail_1_1priority__tag.html b/docs/API/structnlohmann_1_1detail_1_1priority__tag.html new file mode 100644 index 0000000..34be4ff --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1priority__tag.html @@ -0,0 +1,94 @@ + + + + + + + +o-du/phy: priority_tag< N > Struct Template Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    priority_tag< N > Struct Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Collaboration diagram for priority_tag< N >:
    +
    +
    Collaboration graph
    +
    +

    Detailed Description

    +

    template<unsigned N>
    +struct nlohmann::detail::priority_tag< N >

    + + +

    Definition at line 211 of file json.hpp.

    +

    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structnlohmann_1_1detail_1_1priority__tag_3_010_01_4.html b/docs/API/structnlohmann_1_1detail_1_1priority__tag_3_010_01_4.html new file mode 100644 index 0000000..79b4468 --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1priority__tag_3_010_01_4.html @@ -0,0 +1,94 @@ + + + + + + + +o-du/phy: priority_tag< 0 > Struct Template Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    priority_tag< 0 > Struct Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Collaboration diagram for priority_tag< 0 >:
    +
    +
    Collaboration graph
    +
    +

    Detailed Description

    +

    template<>
    +struct nlohmann::detail::priority_tag< 0 >

    + + +

    Definition at line 212 of file json.hpp.

    +

    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structnlohmann_1_1detail_1_1priority__tag_3_010_01_4__coll__graph.map b/docs/API/structnlohmann_1_1detail_1_1priority__tag_3_010_01_4__coll__graph.map new file mode 100644 index 0000000..32b1def --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1priority__tag_3_010_01_4__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structnlohmann_1_1detail_1_1priority__tag_3_010_01_4__coll__graph.md5 b/docs/API/structnlohmann_1_1detail_1_1priority__tag_3_010_01_4__coll__graph.md5 new file mode 100644 index 0000000..91cf004 --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1priority__tag_3_010_01_4__coll__graph.md5 @@ -0,0 +1 @@ +de8ec1da465ecdc784340cecdd8211f5 \ No newline at end of file diff --git a/docs/API/structnlohmann_1_1detail_1_1priority__tag_3_010_01_4__coll__graph.png b/docs/API/structnlohmann_1_1detail_1_1priority__tag_3_010_01_4__coll__graph.png new file mode 100644 index 0000000..e9900f1 Binary files /dev/null and b/docs/API/structnlohmann_1_1detail_1_1priority__tag_3_010_01_4__coll__graph.png differ diff --git a/docs/API/structnlohmann_1_1detail_1_1priority__tag__coll__graph.map b/docs/API/structnlohmann_1_1detail_1_1priority__tag__coll__graph.map new file mode 100644 index 0000000..313937b --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1priority__tag__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structnlohmann_1_1detail_1_1priority__tag__coll__graph.md5 b/docs/API/structnlohmann_1_1detail_1_1priority__tag__coll__graph.md5 new file mode 100644 index 0000000..5abc32c --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1priority__tag__coll__graph.md5 @@ -0,0 +1 @@ +6e2d39b53f4478981d55dfff25ec672e \ No newline at end of file diff --git a/docs/API/structnlohmann_1_1detail_1_1priority__tag__coll__graph.png b/docs/API/structnlohmann_1_1detail_1_1priority__tag__coll__graph.png new file mode 100644 index 0000000..30b0287 Binary files /dev/null and b/docs/API/structnlohmann_1_1detail_1_1priority__tag__coll__graph.png differ diff --git a/docs/API/structnlohmann_1_1detail_1_1static__const.html b/docs/API/structnlohmann_1_1detail_1_1static__const.html new file mode 100644 index 0000000..909a2ba --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1static__const.html @@ -0,0 +1,127 @@ + + + + + + + +o-du/phy: static_const< T > Struct Template Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    static_const< T > Struct Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Collaboration diagram for static_const< T >:
    +
    +
    Collaboration graph
    +
    + + + + +

    +Static Public Attributes

    static constexpr T value {}
     
    +

    Detailed Description

    +

    template<typename T>
    +struct nlohmann::detail::static_const< T >

    + + +

    Definition at line 862 of file json.hpp.

    +

    Field Documentation

    + +

    ◆ value

    + +
    +
    + + + + + +
    + + + + +
    constexpr T value {}
    +
    +static
    +
    + +

    Definition at line 864 of file json.hpp.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structnlohmann_1_1detail_1_1static__const__coll__graph.map b/docs/API/structnlohmann_1_1detail_1_1static__const__coll__graph.map new file mode 100644 index 0000000..57a0f7f --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1static__const__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structnlohmann_1_1detail_1_1static__const__coll__graph.md5 b/docs/API/structnlohmann_1_1detail_1_1static__const__coll__graph.md5 new file mode 100644 index 0000000..c32ba17 --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1static__const__coll__graph.md5 @@ -0,0 +1 @@ +1374e33167b22253b37884284880d4a2 \ No newline at end of file diff --git a/docs/API/structnlohmann_1_1detail_1_1static__const__coll__graph.png b/docs/API/structnlohmann_1_1detail_1_1static__const__coll__graph.png new file mode 100644 index 0000000..ae7807b Binary files /dev/null and b/docs/API/structnlohmann_1_1detail_1_1static__const__coll__graph.png differ diff --git a/docs/API/structnlohmann_1_1detail_1_1to__json__fn.html b/docs/API/structnlohmann_1_1detail_1_1to__json__fn.html new file mode 100644 index 0000000..13e54f4 --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1to__json__fn.html @@ -0,0 +1,139 @@ + + + + + + + +o-du/phy: to_json_fn Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    to_json_fn Struct Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Collaboration diagram for to_json_fn:
    +
    +
    Collaboration graph
    +
    + + + + + +

    +Public Member Functions

    template<typename BasicJsonType , typename T >
    void operator() (BasicJsonType &j, T &&val) const noexcept(noexcept(std::declval< to_json_fn >().call(j, std::forward< T >(val), priority_tag< 1 > {})))
     
    +

    Detailed Description

    +
    +

    Definition at line 807 of file json.hpp.

    +

    Member Function Documentation

    + +

    ◆ operator()()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    void operator() (BasicJsonType & j,
    T && val 
    ) const
    +
    +inlinenoexcept
    +
    + +

    Definition at line 826 of file json.hpp.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structnlohmann_1_1detail_1_1to__json__fn__coll__graph.map b/docs/API/structnlohmann_1_1detail_1_1to__json__fn__coll__graph.map new file mode 100644 index 0000000..4487734 --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1to__json__fn__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structnlohmann_1_1detail_1_1to__json__fn__coll__graph.md5 b/docs/API/structnlohmann_1_1detail_1_1to__json__fn__coll__graph.md5 new file mode 100644 index 0000000..bcc0f18 --- /dev/null +++ b/docs/API/structnlohmann_1_1detail_1_1to__json__fn__coll__graph.md5 @@ -0,0 +1 @@ +524ed8d2e89717ec180cccf9d5cd003c \ No newline at end of file diff --git a/docs/API/structnlohmann_1_1detail_1_1to__json__fn__coll__graph.png b/docs/API/structnlohmann_1_1detail_1_1to__json__fn__coll__graph.png new file mode 100644 index 0000000..37ce7ea Binary files /dev/null and b/docs/API/structnlohmann_1_1detail_1_1to__json__fn__coll__graph.png differ diff --git a/docs/API/structradio__app__common__hdr.html b/docs/API/structradio__app__common__hdr.html new file mode 100644 index 0000000..0110955 --- /dev/null +++ b/docs/API/structradio__app__common__hdr.html @@ -0,0 +1,266 @@ + + + + + + + +o-du/phy: radio_app_common_hdr Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    radio_app_common_hdr Struct Reference
    +
    +
    + +

    #include <xran_pkt.h>

    +
    +Collaboration diagram for radio_app_common_hdr:
    +
    +
    Collaboration graph
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    uint8_t filter_id:4
     
    uint8_t payl_ver:3
     
    uint8_t data_direction:1
     
    uint8_t frame_id:8
     
    union {
       uint16_t   value
     
       struct {
          uint16_t   symb_id:6
     
          uint16_t   slot_id:6
     
          uint16_t   subframe_id:4
     
       } 
     
    sf_slot_sym
     
    +

    Detailed Description

    +

    Structure holds components of radio application header 5.4.4 Coding of Information Elements - Application Layer, Common for U-plane as per 6.3.2 DL/UL Data

    + +

    Definition at line 162 of file xran_pkt.h.

    +

    Field Documentation

    + +

    ◆ data_direction

    + +
    +
    + + + + +
    uint8_t data_direction
    +
    +

    This parameter indicates the gNB data direction.

    + +

    Definition at line 173 of file xran_pkt.h.

    + +
    +
    + +

    ◆ filter_id

    + +
    +
    + + + + +
    uint8_t filter_id
    +
    +

    This parameter defines an index to the channel filter to be used between IQ data and air interface, both in DL and UL. For most physical channels filterIndex =0000b is used which indexes the standard channel filter, e.g. 100MHz channel filter for 100MHz nominal carrier bandwidth. (see 5.4.4.3 for more)

    + +

    Definition at line 165 of file xran_pkt.h.

    + +
    +
    + +

    ◆ frame_id

    + +
    +
    + + + + +
    uint8_t frame_id
    +
    +

    This parameter is a counter for 10 ms frames (wrapping period 2.56 seconds)

    + +

    Definition at line 176 of file xran_pkt.h.

    + +
    +
    + +

    ◆ payl_ver

    + +
    +
    + + + + +
    uint8_t payl_ver
    +
    +

    This parameter defines the payload protocol version valid for the following IEs in the application layer. In this version of the specification payloadVersion=001b shall be used.

    + +

    Definition at line 170 of file xran_pkt.h.

    + +
    +
    + +

    ◆ sf_slot_sym

    + +
    +
    + + + + +
    union { ... } sf_slot_sym
    +
    + +
    +
    + +

    ◆ slot_id

    + +
    +
    + + + + +
    uint16_t slot_id
    +
    +

    This parameter is the slot number within a 1ms sub-frame. All slots in one sub-frame are counted by this parameter, slotId running from 0 to Nslot-1. In this version of the specification the maximum Nslot=16, All other values of the 6 bits are reserved for future use.

    + +

    Definition at line 185 of file xran_pkt.h.

    + +
    +
    + +

    ◆ subframe_id

    + +
    +
    + + + + +
    uint16_t subframe_id
    +
    +

    This parameter is a counter for 1 ms sub-frames within 10ms frame.

    + +

    Definition at line 189 of file xran_pkt.h.

    + +
    +
    + +

    ◆ symb_id

    + +
    +
    + + + + +
    uint16_t symb_id
    +
    +

    This parameter identifies the first symbol number within slot, to which the information of this message is applies.

    + +

    Definition at line 183 of file xran_pkt.h.

    + +
    +
    + +

    ◆ value

    + +
    +
    + + + + +
    uint16_t value
    +
    + +

    Definition at line 181 of file xran_pkt.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structradio__app__common__hdr__coll__graph.map b/docs/API/structradio__app__common__hdr__coll__graph.map new file mode 100644 index 0000000..d755b78 --- /dev/null +++ b/docs/API/structradio__app__common__hdr__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structradio__app__common__hdr__coll__graph.md5 b/docs/API/structradio__app__common__hdr__coll__graph.md5 new file mode 100644 index 0000000..511c837 --- /dev/null +++ b/docs/API/structradio__app__common__hdr__coll__graph.md5 @@ -0,0 +1 @@ +2a226d2d94f99e5d96bf6ebc6a640ec1 \ No newline at end of file diff --git a/docs/API/structradio__app__common__hdr__coll__graph.png b/docs/API/structradio__app__common__hdr__coll__graph.png new file mode 100644 index 0000000..d4c726a Binary files /dev/null and b/docs/API/structradio__app__common__hdr__coll__graph.png differ diff --git a/docs/API/structrb__map.html b/docs/API/structrb__map.html new file mode 100644 index 0000000..df880cc --- /dev/null +++ b/docs/API/structrb__map.html @@ -0,0 +1,132 @@ + + + + + + + +o-du/phy: rb_map Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    rb_map Struct Reference
    +
    +
    + +

    #include <xran_pkt_up.h>

    +
    +Collaboration diagram for rb_map:
    +
    +
    Collaboration graph
    +
    + + + + + + +

    +Data Fields

    int16_t i_sample:IQ_BITS
     
    int16_t q_sample:IQ_BITS
     
    +

    Detailed Description

    +
    +

    Definition at line 135 of file xran_pkt_up.h.

    +

    Field Documentation

    + +

    ◆ i_sample

    + +
    +
    + + + + +
    int16_t i_sample
    +
    +

    This parameter is the In-phase sample value

    + +

    Definition at line 137 of file xran_pkt_up.h.

    + +
    +
    + +

    ◆ q_sample

    + +
    +
    + + + + +
    int16_t q_sample
    +
    +

    This parameter is the Quadrature sample value

    + +

    Definition at line 138 of file xran_pkt_up.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structrb__map__coll__graph.map b/docs/API/structrb__map__coll__graph.map new file mode 100644 index 0000000..af74216 --- /dev/null +++ b/docs/API/structrb__map__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structrb__map__coll__graph.md5 b/docs/API/structrb__map__coll__graph.md5 new file mode 100644 index 0000000..06c0fbc --- /dev/null +++ b/docs/API/structrb__map__coll__graph.md5 @@ -0,0 +1 @@ +d5765bab2a562341cf65bda63d3eb359 \ No newline at end of file diff --git a/docs/API/structrb__map__coll__graph.png b/docs/API/structrb__map__coll__graph.png new file mode 100644 index 0000000..b603f88 Binary files /dev/null and b/docs/API/structrb__map__coll__graph.png differ diff --git a/docs/API/structreading__input__file__exception.html b/docs/API/structreading__input__file__exception.html new file mode 100644 index 0000000..b7c17d1 --- /dev/null +++ b/docs/API/structreading__input__file__exception.html @@ -0,0 +1,158 @@ + + + + + + + +o-du/phy: reading_input_file_exception Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    reading_input_file_exception Struct Reference
    +
    +
    + +

    #include <common.hpp>

    +
    +Inheritance diagram for reading_input_file_exception:
    +
    +
    Inheritance graph
    +
    +
    +Collaboration diagram for reading_input_file_exception:
    +
    +
    Collaboration graph
    +
    + + + + +

    +Public Member Functions

    const char * what () const override throw ()
     
    +

    Detailed Description

    +
    +

    Definition at line 78 of file common.hpp.

    +

    Member Function Documentation

    + +

    ◆ what()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + +
    const char* what () const
    throw (
    )
    +
    +inlineoverride
    +
    + +

    Definition at line 80 of file common.hpp.

    +
    +Here is the call graph for this function:
    +
    +
    + + + + + + + + + + +
    +
    +Here is the caller graph for this function:
    +
    +
    + + + + +
    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structreading__input__file__exception__coll__graph.map b/docs/API/structreading__input__file__exception__coll__graph.map new file mode 100644 index 0000000..c4a12cd --- /dev/null +++ b/docs/API/structreading__input__file__exception__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structreading__input__file__exception__coll__graph.md5 b/docs/API/structreading__input__file__exception__coll__graph.md5 new file mode 100644 index 0000000..44de68a --- /dev/null +++ b/docs/API/structreading__input__file__exception__coll__graph.md5 @@ -0,0 +1 @@ +099e8d1bbf84b26b7de162a2b4d269f8 \ No newline at end of file diff --git a/docs/API/structreading__input__file__exception__coll__graph.png b/docs/API/structreading__input__file__exception__coll__graph.png new file mode 100644 index 0000000..62d63c2 Binary files /dev/null and b/docs/API/structreading__input__file__exception__coll__graph.png differ diff --git a/docs/API/structreading__input__file__exception__inherit__graph.map b/docs/API/structreading__input__file__exception__inherit__graph.map new file mode 100644 index 0000000..c4a12cd --- /dev/null +++ b/docs/API/structreading__input__file__exception__inherit__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structreading__input__file__exception__inherit__graph.md5 b/docs/API/structreading__input__file__exception__inherit__graph.md5 new file mode 100644 index 0000000..d9ea3bc --- /dev/null +++ b/docs/API/structreading__input__file__exception__inherit__graph.md5 @@ -0,0 +1 @@ +92b3ab153846c1ef41d1b152c5dbca34 \ No newline at end of file diff --git a/docs/API/structreading__input__file__exception__inherit__graph.png b/docs/API/structreading__input__file__exception__inherit__graph.png new file mode 100644 index 0000000..62d63c2 Binary files /dev/null and b/docs/API/structreading__input__file__exception__inherit__graph.png differ diff --git a/docs/API/structreading__input__file__exception_a70518905d36686ddeeb2eb3b2682f016_cgraph.map b/docs/API/structreading__input__file__exception_a70518905d36686ddeeb2eb3b2682f016_cgraph.map new file mode 100644 index 0000000..53a72dd --- /dev/null +++ b/docs/API/structreading__input__file__exception_a70518905d36686ddeeb2eb3b2682f016_cgraph.map @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/docs/API/structreading__input__file__exception_a70518905d36686ddeeb2eb3b2682f016_cgraph.md5 b/docs/API/structreading__input__file__exception_a70518905d36686ddeeb2eb3b2682f016_cgraph.md5 new file mode 100644 index 0000000..f3742ee --- /dev/null +++ b/docs/API/structreading__input__file__exception_a70518905d36686ddeeb2eb3b2682f016_cgraph.md5 @@ -0,0 +1 @@ +c324df6bd684949df32938d150bb7302 \ No newline at end of file diff --git a/docs/API/structreading__input__file__exception_a70518905d36686ddeeb2eb3b2682f016_cgraph.png b/docs/API/structreading__input__file__exception_a70518905d36686ddeeb2eb3b2682f016_cgraph.png new file mode 100644 index 0000000..d3d5078 Binary files /dev/null and b/docs/API/structreading__input__file__exception_a70518905d36686ddeeb2eb3b2682f016_cgraph.png differ diff --git a/docs/API/structreading__input__file__exception_a70518905d36686ddeeb2eb3b2682f016_icgraph.map b/docs/API/structreading__input__file__exception_a70518905d36686ddeeb2eb3b2682f016_icgraph.map new file mode 100644 index 0000000..2067025 --- /dev/null +++ b/docs/API/structreading__input__file__exception_a70518905d36686ddeeb2eb3b2682f016_icgraph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/structreading__input__file__exception_a70518905d36686ddeeb2eb3b2682f016_icgraph.md5 b/docs/API/structreading__input__file__exception_a70518905d36686ddeeb2eb3b2682f016_icgraph.md5 new file mode 100644 index 0000000..9ae1f6d --- /dev/null +++ b/docs/API/structreading__input__file__exception_a70518905d36686ddeeb2eb3b2682f016_icgraph.md5 @@ -0,0 +1 @@ +0618e906f9a3cedeea76968849274d05 \ No newline at end of file diff --git a/docs/API/structreading__input__file__exception_a70518905d36686ddeeb2eb3b2682f016_icgraph.png b/docs/API/structreading__input__file__exception_a70518905d36686ddeeb2eb3b2682f016_icgraph.png new file mode 100644 index 0000000..5d9c34d Binary files /dev/null and b/docs/API/structreading__input__file__exception_a70518905d36686ddeeb2eb3b2682f016_icgraph.png differ diff --git a/docs/API/structsector_handle_info.html b/docs/API/structsector_handle_info.html new file mode 100644 index 0000000..157eafe --- /dev/null +++ b/docs/API/structsector_handle_info.html @@ -0,0 +1,204 @@ + + + + + + + +o-du/phy: sectorHandleInfo Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    sectorHandleInfo Struct Reference
    +
    +
    + +

    #include <xran_common.h>

    +
    +Collaboration diagram for sectorHandleInfo:
    +
    +
    Collaboration graph
    +
    + + + + + + + + + + + + + + +

    +Data Fields

    uint16_t nIndex
     
    uint16_t nXranPort
     
    uint32_t nBufferPoolIndex
     
    struct rte_mempool * p_bufferPool [XRAN_MAX_POOLS_PER_SECTOR_NR]
     
    uint32_t bufferPoolElmSz [XRAN_MAX_POOLS_PER_SECTOR_NR]
     
    uint32_t bufferPoolNumElm [XRAN_MAX_POOLS_PER_SECTOR_NR]
     
    +

    Detailed Description

    +
    +

    Definition at line 144 of file xran_common.h.

    +

    Field Documentation

    + +

    ◆ bufferPoolElmSz

    + +
    +
    + + + + +
    uint32_t bufferPoolElmSz[XRAN_MAX_POOLS_PER_SECTOR_NR]
    +
    + +

    Definition at line 155 of file xran_common.h.

    + +
    +
    + +

    ◆ bufferPoolNumElm

    + +
    +
    + + + + +
    uint32_t bufferPoolNumElm[XRAN_MAX_POOLS_PER_SECTOR_NR]
    +
    + +

    Definition at line 156 of file xran_common.h.

    + +
    +
    + +

    ◆ nBufferPoolIndex

    + +
    +
    + + + + +
    uint32_t nBufferPoolIndex
    +
    +

    < number of antennas supported per link Buffer poolIndex

    + +

    Definition at line 152 of file xran_common.h.

    + +
    +
    + +

    ◆ nIndex

    + +
    +
    + + + + +
    uint16_t nIndex
    +
    +

    < Structure that contains the information to describe the instance i.e service type, virtual function, package Id etc..

    + +

    Definition at line 148 of file xran_common.h.

    + +
    +
    + +

    ◆ nXranPort

    + +
    +
    + + + + +
    uint16_t nXranPort
    +
    + +

    Definition at line 149 of file xran_common.h.

    + +
    +
    + +

    ◆ p_bufferPool

    + +
    +
    + + + + +
    struct rte_mempool* p_bufferPool[XRAN_MAX_POOLS_PER_SECTOR_NR]
    +
    + +

    Definition at line 154 of file xran_common.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structsector_handle_info__coll__graph.map b/docs/API/structsector_handle_info__coll__graph.map new file mode 100644 index 0000000..5fbb18f --- /dev/null +++ b/docs/API/structsector_handle_info__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structsector_handle_info__coll__graph.md5 b/docs/API/structsector_handle_info__coll__graph.md5 new file mode 100644 index 0000000..8b8dd05 --- /dev/null +++ b/docs/API/structsector_handle_info__coll__graph.md5 @@ -0,0 +1 @@ +f2ab49fb907473ea80e94f3decbf388b \ No newline at end of file diff --git a/docs/API/structsector_handle_info__coll__graph.png b/docs/API/structsector_handle_info__coll__graph.png new file mode 100644 index 0000000..d3f5f82 Binary files /dev/null and b/docs/API/structsector_handle_info__coll__graph.png differ diff --git a/docs/API/structstd_1_1hash_3_01nlohmann_1_1json_01_4.html b/docs/API/structstd_1_1hash_3_01nlohmann_1_1json_01_4.html new file mode 100644 index 0000000..7e8e80e --- /dev/null +++ b/docs/API/structstd_1_1hash_3_01nlohmann_1_1json_01_4.html @@ -0,0 +1,147 @@ + + + + + + + +o-du/phy: hash< nlohmann::json > Struct Template Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    hash< nlohmann::json > Struct Template Reference
    +
    +
    + +

    hash value for JSON objects + More...

    + +

    #include <json.hpp>

    +
    +Collaboration diagram for hash< nlohmann::json >:
    +
    +
    Collaboration graph
    +
    + + + + + +

    +Public Member Functions

    std::size_t operator() (const nlohmann::json &j) const
     return a hash value for a JSON object More...
     
    +

    Detailed Description

    +

    template<>
    +struct std::hash< nlohmann::json >

    + +

    hash value for JSON objects

    + +

    Definition at line 12917 of file json.hpp.

    +

    Member Function Documentation

    + +

    ◆ operator()()

    + +
    +
    + + + + + +
    + + + + + + + + +
    std::size_t operator() (const nlohmann::jsonj) const
    +
    +inline
    +
    + +

    return a hash value for a JSON object

    +
    Since
    version 1.0.0
    + +

    Definition at line 12924 of file json.hpp.

    +
    +Here is the call graph for this function:
    +
    +
    + + + +
    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structstd_1_1hash_3_01nlohmann_1_1json_01_4__coll__graph.map b/docs/API/structstd_1_1hash_3_01nlohmann_1_1json_01_4__coll__graph.map new file mode 100644 index 0000000..79f50da --- /dev/null +++ b/docs/API/structstd_1_1hash_3_01nlohmann_1_1json_01_4__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structstd_1_1hash_3_01nlohmann_1_1json_01_4__coll__graph.md5 b/docs/API/structstd_1_1hash_3_01nlohmann_1_1json_01_4__coll__graph.md5 new file mode 100644 index 0000000..942a328 --- /dev/null +++ b/docs/API/structstd_1_1hash_3_01nlohmann_1_1json_01_4__coll__graph.md5 @@ -0,0 +1 @@ +4166e3ce8ab5e6677d7f11b399752c40 \ No newline at end of file diff --git a/docs/API/structstd_1_1hash_3_01nlohmann_1_1json_01_4__coll__graph.png b/docs/API/structstd_1_1hash_3_01nlohmann_1_1json_01_4__coll__graph.png new file mode 100644 index 0000000..cf29d64 Binary files /dev/null and b/docs/API/structstd_1_1hash_3_01nlohmann_1_1json_01_4__coll__graph.png differ diff --git a/docs/API/structstd_1_1hash_3_01nlohmann_1_1json_01_4_ac575ca25c0e836661bdb284b102a6aaf_cgraph.map b/docs/API/structstd_1_1hash_3_01nlohmann_1_1json_01_4_ac575ca25c0e836661bdb284b102a6aaf_cgraph.map new file mode 100644 index 0000000..778be9f --- /dev/null +++ b/docs/API/structstd_1_1hash_3_01nlohmann_1_1json_01_4_ac575ca25c0e836661bdb284b102a6aaf_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/structstd_1_1hash_3_01nlohmann_1_1json_01_4_ac575ca25c0e836661bdb284b102a6aaf_cgraph.md5 b/docs/API/structstd_1_1hash_3_01nlohmann_1_1json_01_4_ac575ca25c0e836661bdb284b102a6aaf_cgraph.md5 new file mode 100644 index 0000000..9b1f91b --- /dev/null +++ b/docs/API/structstd_1_1hash_3_01nlohmann_1_1json_01_4_ac575ca25c0e836661bdb284b102a6aaf_cgraph.md5 @@ -0,0 +1 @@ +f1131457f7cf9fc44dc0817bda75d410 \ No newline at end of file diff --git a/docs/API/structstd_1_1hash_3_01nlohmann_1_1json_01_4_ac575ca25c0e836661bdb284b102a6aaf_cgraph.png b/docs/API/structstd_1_1hash_3_01nlohmann_1_1json_01_4_ac575ca25c0e836661bdb284b102a6aaf_cgraph.png new file mode 100644 index 0000000..06a9f05 Binary files /dev/null and b/docs/API/structstd_1_1hash_3_01nlohmann_1_1json_01_4_ac575ca25c0e836661bdb284b102a6aaf_cgraph.png differ diff --git a/docs/API/structx_r_a_n_prach_config_table_struct.html b/docs/API/structx_r_a_n_prach_config_table_struct.html new file mode 100644 index 0000000..407f288 --- /dev/null +++ b/docs/API/structx_r_a_n_prach_config_table_struct.html @@ -0,0 +1,274 @@ + + + + + + + +o-du/phy: xRANPrachConfigTableStruct Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    xRANPrachConfigTableStruct Struct Reference
    +
    +
    + +

    #include <xran_common.h>

    +
    +Collaboration diagram for xRANPrachConfigTableStruct:
    +
    +
    Collaboration graph
    +
    + + + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    uint8_t prachConfigIdx
     
    uint8_t preambleFmrt [XRAN_PRACH_CANDIDATE_PREAMBLE]
     
    uint8_t x
     
    uint8_t y [XRAN_PRACH_CANDIDATE_Y]
     
    uint8_t slotNr [XRAN_PRACH_CANDIDATE_SLOT]
     
    uint8_t slotNrNum
     
    uint8_t startingSym
     
    uint8_t nrofPrachInSlot
     
    uint8_t occassionsInPrachSlot
     
    uint8_t duration
     
    +

    Detailed Description

    +
    +

    Definition at line 102 of file xran_common.h.

    +

    Field Documentation

    + +

    ◆ duration

    + +
    +
    + + + + +
    uint8_t duration
    +
    + +

    Definition at line 113 of file xran_common.h.

    + +
    +
    + +

    ◆ nrofPrachInSlot

    + +
    +
    + + + + +
    uint8_t nrofPrachInSlot
    +
    + +

    Definition at line 111 of file xran_common.h.

    + +
    +
    + +

    ◆ occassionsInPrachSlot

    + +
    +
    + + + + +
    uint8_t occassionsInPrachSlot
    +
    + +

    Definition at line 112 of file xran_common.h.

    + +
    +
    + +

    ◆ prachConfigIdx

    + +
    +
    + + + + +
    uint8_t prachConfigIdx
    +
    + +

    Definition at line 104 of file xran_common.h.

    + +
    +
    + +

    ◆ preambleFmrt

    + +
    +
    + + + + +
    uint8_t preambleFmrt[XRAN_PRACH_CANDIDATE_PREAMBLE]
    +
    + +

    Definition at line 105 of file xran_common.h.

    + +
    +
    + +

    ◆ slotNr

    + +
    +
    + + + + +
    uint8_t slotNr[XRAN_PRACH_CANDIDATE_SLOT]
    +
    + +

    Definition at line 108 of file xran_common.h.

    + +
    +
    + +

    ◆ slotNrNum

    + +
    +
    + + + + +
    uint8_t slotNrNum
    +
    + +

    Definition at line 109 of file xran_common.h.

    + +
    +
    + +

    ◆ startingSym

    + +
    +
    + + + + +
    uint8_t startingSym
    +
    + +

    Definition at line 110 of file xran_common.h.

    + +
    +
    + +

    ◆ x

    + +
    +
    + + + + +
    uint8_t x
    +
    + +

    Definition at line 106 of file xran_common.h.

    + +
    +
    + +

    ◆ y

    + +
    +
    + + + + +
    uint8_t y[XRAN_PRACH_CANDIDATE_Y]
    +
    + +

    Definition at line 107 of file xran_common.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structx_r_a_n_prach_config_table_struct__coll__graph.map b/docs/API/structx_r_a_n_prach_config_table_struct__coll__graph.map new file mode 100644 index 0000000..9430da1 --- /dev/null +++ b/docs/API/structx_r_a_n_prach_config_table_struct__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structx_r_a_n_prach_config_table_struct__coll__graph.md5 b/docs/API/structx_r_a_n_prach_config_table_struct__coll__graph.md5 new file mode 100644 index 0000000..d51ee49 --- /dev/null +++ b/docs/API/structx_r_a_n_prach_config_table_struct__coll__graph.md5 @@ -0,0 +1 @@ +f70cd614775c4d7be10a38604bde19e2 \ No newline at end of file diff --git a/docs/API/structx_r_a_n_prach_config_table_struct__coll__graph.png b/docs/API/structx_r_a_n_prach_config_table_struct__coll__graph.png new file mode 100644 index 0000000..3dabc84 Binary files /dev/null and b/docs/API/structx_r_a_n_prach_config_table_struct__coll__graph.png differ diff --git a/docs/API/structx_r_a_n_prach_preamble_l_r_a_struct.html b/docs/API/structx_r_a_n_prach_preamble_l_r_a_struct.html new file mode 100644 index 0000000..5ede4e1 --- /dev/null +++ b/docs/API/structx_r_a_n_prach_preamble_l_r_a_struct.html @@ -0,0 +1,184 @@ + + + + + + + +o-du/phy: xRANPrachPreambleLRAStruct Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    xRANPrachPreambleLRAStruct Struct Reference
    +
    +
    + +

    #include <xran_common.h>

    +
    +Collaboration diagram for xRANPrachPreambleLRAStruct:
    +
    +
    Collaboration graph
    +
    + + + + + + + + + + + + +

    +Data Fields

    uint8_t preambleFmrt
     
    uint16_t lRALen
     
    uint8_t fRA
     
    uint32_t nu
     
    uint16_t nRaCp
     
    +

    Detailed Description

    +
    +

    Definition at line 116 of file xran_common.h.

    +

    Field Documentation

    + +

    ◆ fRA

    + +
    +
    + + + + +
    uint8_t fRA
    +
    + +

    Definition at line 120 of file xran_common.h.

    + +
    +
    + +

    ◆ lRALen

    + +
    +
    + + + + +
    uint16_t lRALen
    +
    + +

    Definition at line 119 of file xran_common.h.

    + +
    +
    + +

    ◆ nRaCp

    + +
    +
    + + + + +
    uint16_t nRaCp
    +
    + +

    Definition at line 122 of file xran_common.h.

    + +
    +
    + +

    ◆ nu

    + +
    +
    + + + + +
    uint32_t nu
    +
    + +

    Definition at line 121 of file xran_common.h.

    + +
    +
    + +

    ◆ preambleFmrt

    + +
    +
    + + + + +
    uint8_t preambleFmrt
    +
    + +

    Definition at line 118 of file xran_common.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structx_r_a_n_prach_preamble_l_r_a_struct__coll__graph.map b/docs/API/structx_r_a_n_prach_preamble_l_r_a_struct__coll__graph.map new file mode 100644 index 0000000..c7eb7e3 --- /dev/null +++ b/docs/API/structx_r_a_n_prach_preamble_l_r_a_struct__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structx_r_a_n_prach_preamble_l_r_a_struct__coll__graph.md5 b/docs/API/structx_r_a_n_prach_preamble_l_r_a_struct__coll__graph.md5 new file mode 100644 index 0000000..7e036d0 --- /dev/null +++ b/docs/API/structx_r_a_n_prach_preamble_l_r_a_struct__coll__graph.md5 @@ -0,0 +1 @@ +6957ab10e5a6251ca37e8753bf26085b \ No newline at end of file diff --git a/docs/API/structx_r_a_n_prach_preamble_l_r_a_struct__coll__graph.png b/docs/API/structx_r_a_n_prach_preamble_l_r_a_struct__coll__graph.png new file mode 100644 index 0000000..f179f0c Binary files /dev/null and b/docs/API/structx_r_a_n_prach_preamble_l_r_a_struct__coll__graph.png differ diff --git a/docs/API/structxran__buffer__list.html b/docs/API/structxran__buffer__list.html new file mode 100644 index 0000000..343085c --- /dev/null +++ b/docs/API/structxran__buffer__list.html @@ -0,0 +1,176 @@ + + + + + + + +o-du/phy: xran_buffer_list Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    xran_buffer_list Struct Reference
    +
    +
    + +

    #include <xran_fh_o_du.h>

    +
    +Collaboration diagram for xran_buffer_list:
    +
    +
    Collaboration graph
    + + + +
    + + + + + + + + + + +

    +Data Fields

    uint32_t nNumBuffers
     
    struct xran_flat_bufferpBuffers
     
    void * pUserData
     
    void * pPrivateMetaData
     
    +

    Detailed Description

    +

    Scatter/Gather buffer list containing an array of Simple buffers.

    +

    A Scatter/Gather buffer list structure. It is expected that this buffer structure will be used where more than one flat buffer can be provided on a particular API.

    +

    IMPORTANT - The memory for the pPrivateMetaData member must be allocated by the client as contiguous memory. When allocating memory for pPrivateMetaData a call to cpaCyBufferListGetMetaSize MUST be made to determine the size of the Meta Data Buffer. The returned size (in bytes) may then be passed in a memory allocation routine to allocate the pPrivateMetaData memory.

    + +

    Definition at line 592 of file xran_fh_o_du.h.

    +

    Field Documentation

    + +

    ◆ nNumBuffers

    + +
    +
    + + + + +
    uint32_t nNumBuffers
    +
    +

    Number of pointers

    + +

    Definition at line 594 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ pBuffers

    + +
    +
    + + + + +
    struct xran_flat_buffer* pBuffers
    +
    +

    Pointer to an unbounded array containing the number of CpaFlatBuffers defined by nNumBuffers

    + +

    Definition at line 596 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ pPrivateMetaData

    + +
    +
    + + + + +
    void* pPrivateMetaData
    +
    +

    Private Meta representation of this buffer List - the memory for this buffer needs to be allocated by the client as contiguous data. The amount of memory required is returned with a call to cpaCyBufferListGetMetaSize. If cpaCyBufferListGetMetaSize returns a size of zero no memory needs to be allocated, and this parameter can be NULL.

    + +

    Definition at line 601 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ pUserData

    + +
    +
    + + + + +
    void* pUserData
    +
    +

    This is an opaque field that is not read or modified internally.

    + +

    Definition at line 599 of file xran_fh_o_du.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structxran__buffer__list__coll__graph.map b/docs/API/structxran__buffer__list__coll__graph.map new file mode 100644 index 0000000..779f901 --- /dev/null +++ b/docs/API/structxran__buffer__list__coll__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/structxran__buffer__list__coll__graph.md5 b/docs/API/structxran__buffer__list__coll__graph.md5 new file mode 100644 index 0000000..1d4d263 --- /dev/null +++ b/docs/API/structxran__buffer__list__coll__graph.md5 @@ -0,0 +1 @@ +0cd5e8c2801d430c6721f6bdb0161460 \ No newline at end of file diff --git a/docs/API/structxran__buffer__list__coll__graph.png b/docs/API/structxran__buffer__list__coll__graph.png new file mode 100644 index 0000000..c67ee8f Binary files /dev/null and b/docs/API/structxran__buffer__list__coll__graph.png differ diff --git a/docs/API/structxran__cb__tag.html b/docs/API/structxran__cb__tag.html new file mode 100644 index 0000000..ffe2f5b --- /dev/null +++ b/docs/API/structxran__cb__tag.html @@ -0,0 +1,149 @@ + + + + + + + +o-du/phy: xran_cb_tag Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    xran_cb_tag Struct Reference
    +
    +
    + +

    #include <xran_fh_o_du.h>

    +
    +Collaboration diagram for xran_cb_tag:
    +
    +
    Collaboration graph
    +
    + + + + + + + + +

    +Data Fields

    uint16_t cellId
     
    uint32_t symbol
     
    uint32_t slotiId
     
    +

    Detailed Description

    +

    callback return information

    + +

    Definition at line 287 of file xran_fh_o_du.h.

    +

    Field Documentation

    + +

    ◆ cellId

    + +
    +
    + + + + +
    uint16_t cellId
    +
    + +

    Definition at line 288 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ slotiId

    + +
    +
    + + + + +
    uint32_t slotiId
    +
    + +

    Definition at line 290 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ symbol

    + +
    +
    + + + + +
    uint32_t symbol
    +
    + +

    Definition at line 289 of file xran_fh_o_du.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structxran__cb__tag__coll__graph.map b/docs/API/structxran__cb__tag__coll__graph.map new file mode 100644 index 0000000..5bcf9f5 --- /dev/null +++ b/docs/API/structxran__cb__tag__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structxran__cb__tag__coll__graph.md5 b/docs/API/structxran__cb__tag__coll__graph.md5 new file mode 100644 index 0000000..8486985 --- /dev/null +++ b/docs/API/structxran__cb__tag__coll__graph.md5 @@ -0,0 +1 @@ +c10559cf9217f77655b40a1e830ac001 \ No newline at end of file diff --git a/docs/API/structxran__cb__tag__coll__graph.png b/docs/API/structxran__cb__tag__coll__graph.png new file mode 100644 index 0000000..ce360d8 Binary files /dev/null and b/docs/API/structxran__cb__tag__coll__graph.png differ diff --git a/docs/API/structxran__common__counters.html b/docs/API/structxran__common__counters.html new file mode 100644 index 0000000..c194178 --- /dev/null +++ b/docs/API/structxran__common__counters.html @@ -0,0 +1,209 @@ + + + + + + + +o-du/phy: xran_common_counters Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    xran_common_counters Struct Reference
    +
    +
    + +

    #include <xran_fh_o_du.h>

    +
    +Collaboration diagram for xran_common_counters:
    +
    +
    Collaboration graph
    +
    + + + + + + + + + + + + + + +

    +Data Fields

    uint64_t Rx_on_time
     
    uint64_t Rx_early
     
    uint64_t Rx_late
     
    uint64_t Rx_corrupt
     
    uint64_t Rx_pkt_dupl
     
    uint64_t Total_msgs_rcvd
     
    +

    Detailed Description

    +

    XRAN front haul statistic counters according to Table 7 1 : Common Counters for both DL and UL

    + +

    Definition at line 529 of file xran_fh_o_du.h.

    +

    Field Documentation

    + +

    ◆ Rx_corrupt

    + +
    +
    + + + + +
    uint64_t Rx_corrupt
    +
    +

    Corrupt/Incorrect header packet

    + +

    Definition at line 533 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ Rx_early

    + +
    +
    + + + + +
    uint64_t Rx_early
    +
    +

    Data was received too early (applies to user data reception window)

    + +

    Definition at line 531 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ Rx_late

    + +
    +
    + + + + +
    uint64_t Rx_late
    +
    +

    Data was received too late (applies to user data reception window)

    + +

    Definition at line 532 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ Rx_on_time

    + +
    +
    + + + + +
    uint64_t Rx_on_time
    +
    +

    Data was received on time (applies to user data reception window)

    + +

    Definition at line 530 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ Rx_pkt_dupl

    + +
    +
    + + + + +
    uint64_t Rx_pkt_dupl
    +
    +

    Duplicated packet

    + +

    Definition at line 534 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ Total_msgs_rcvd

    + +
    +
    + + + + +
    uint64_t Total_msgs_rcvd
    +
    +

    Total messages received (on all links)

    + +

    Definition at line 535 of file xran_fh_o_du.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structxran__common__counters__coll__graph.map b/docs/API/structxran__common__counters__coll__graph.map new file mode 100644 index 0000000..a0c9d1c --- /dev/null +++ b/docs/API/structxran__common__counters__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structxran__common__counters__coll__graph.md5 b/docs/API/structxran__common__counters__coll__graph.md5 new file mode 100644 index 0000000..4cc175e --- /dev/null +++ b/docs/API/structxran__common__counters__coll__graph.md5 @@ -0,0 +1 @@ +c0c4c4bca00530c58dd570d3f01f8fb9 \ No newline at end of file diff --git a/docs/API/structxran__common__counters__coll__graph.png b/docs/API/structxran__common__counters__coll__graph.png new file mode 100644 index 0000000..322b98c Binary files /dev/null and b/docs/API/structxran__common__counters__coll__graph.png differ diff --git a/docs/API/structxran__cp__bf__attribute.html b/docs/API/structxran__cp__bf__attribute.html new file mode 100644 index 0000000..0f05d41 --- /dev/null +++ b/docs/API/structxran__cp__bf__attribute.html @@ -0,0 +1,112 @@ + + + + + + + +o-du/phy: xran_cp_bf_attribute Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    xran_cp_bf_attribute Struct Reference
    +
    +
    + +

    #include <xran_fh_o_du.h>

    +
    +Collaboration diagram for xran_cp_bf_attribute:
    +
    +
    Collaboration graph
    +
    + + + + +

    +Data Fields

    int16_t weight [4]
     
    +

    Detailed Description

    +
    +

    Definition at line 374 of file xran_fh_o_du.h.

    +

    Field Documentation

    + +

    ◆ weight

    + +
    +
    + + + + +
    int16_t weight[4]
    +
    + +

    Definition at line 375 of file xran_fh_o_du.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structxran__cp__bf__attribute__coll__graph.map b/docs/API/structxran__cp__bf__attribute__coll__graph.map new file mode 100644 index 0000000..63fc451 --- /dev/null +++ b/docs/API/structxran__cp__bf__attribute__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structxran__cp__bf__attribute__coll__graph.md5 b/docs/API/structxran__cp__bf__attribute__coll__graph.md5 new file mode 100644 index 0000000..4678fe2 --- /dev/null +++ b/docs/API/structxran__cp__bf__attribute__coll__graph.md5 @@ -0,0 +1 @@ +717daf46c1f8b21620582a7c89be9bc1 \ No newline at end of file diff --git a/docs/API/structxran__cp__bf__attribute__coll__graph.png b/docs/API/structxran__cp__bf__attribute__coll__graph.png new file mode 100644 index 0000000..897b7ec Binary files /dev/null and b/docs/API/structxran__cp__bf__attribute__coll__graph.png differ diff --git a/docs/API/structxran__cp__bf__precoding.html b/docs/API/structxran__cp__bf__precoding.html new file mode 100644 index 0000000..e4ba655 --- /dev/null +++ b/docs/API/structxran__cp__bf__precoding.html @@ -0,0 +1,112 @@ + + + + + + + +o-du/phy: xran_cp_bf_precoding Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    xran_cp_bf_precoding Struct Reference
    +
    +
    + +

    #include <xran_fh_o_du.h>

    +
    +Collaboration diagram for xran_cp_bf_precoding:
    +
    +
    Collaboration graph
    +
    + + + + +

    +Data Fields

    int16_t weight [4]
     
    +

    Detailed Description

    +
    +

    Definition at line 377 of file xran_fh_o_du.h.

    +

    Field Documentation

    + +

    ◆ weight

    + +
    +
    + + + + +
    int16_t weight[4]
    +
    + +

    Definition at line 378 of file xran_fh_o_du.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structxran__cp__bf__precoding__coll__graph.map b/docs/API/structxran__cp__bf__precoding__coll__graph.map new file mode 100644 index 0000000..ff8bb73 --- /dev/null +++ b/docs/API/structxran__cp__bf__precoding__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structxran__cp__bf__precoding__coll__graph.md5 b/docs/API/structxran__cp__bf__precoding__coll__graph.md5 new file mode 100644 index 0000000..93b4097 --- /dev/null +++ b/docs/API/structxran__cp__bf__precoding__coll__graph.md5 @@ -0,0 +1 @@ +3b2b1a5c84cae139be448a1625b6fd99 \ No newline at end of file diff --git a/docs/API/structxran__cp__bf__precoding__coll__graph.png b/docs/API/structxran__cp__bf__precoding__coll__graph.png new file mode 100644 index 0000000..eee61e9 Binary files /dev/null and b/docs/API/structxran__cp__bf__precoding__coll__graph.png differ diff --git a/docs/API/structxran__cp__bf__weight.html b/docs/API/structxran__cp__bf__weight.html new file mode 100644 index 0000000..2a97904 --- /dev/null +++ b/docs/API/structxran__cp__bf__weight.html @@ -0,0 +1,152 @@ + + + + + + + +o-du/phy: xran_cp_bf_weight Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    xran_cp_bf_weight Struct Reference
    +
    +
    + +

    #include <xran_fh_o_du.h>

    +
    +Collaboration diagram for xran_cp_bf_weight:
    +
    +
    Collaboration graph
    +
    + + + + + + + + +

    +Data Fields

    int16_t nAntElmTRx
     
    int8_t * p_ext_section
     
    int16_t ext_section_sz
     
    +

    Detailed Description

    +

    Beamforming waights for single stream for each PRBs given number of Antenna elements

    + +

    Definition at line 369 of file xran_fh_o_du.h.

    +

    Field Documentation

    + +

    ◆ ext_section_sz

    + +
    +
    + + + + +
    int16_t ext_section_sz
    +
    +

    extType section size

    + +

    Definition at line 372 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ nAntElmTRx

    + +
    +
    + + + + +
    int16_t nAntElmTRx
    +
    +

    num TRX for this allocation

    + +

    Definition at line 370 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ p_ext_section

    + +
    +
    + + + + +
    int8_t* p_ext_section
    +
    +

    pointer to form extType

    + +

    Definition at line 371 of file xran_fh_o_du.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structxran__cp__bf__weight__coll__graph.map b/docs/API/structxran__cp__bf__weight__coll__graph.map new file mode 100644 index 0000000..871c7e8 --- /dev/null +++ b/docs/API/structxran__cp__bf__weight__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structxran__cp__bf__weight__coll__graph.md5 b/docs/API/structxran__cp__bf__weight__coll__graph.md5 new file mode 100644 index 0000000..088ed87 --- /dev/null +++ b/docs/API/structxran__cp__bf__weight__coll__graph.md5 @@ -0,0 +1 @@ +4c362c997edd605ba73225654ba3ee1f \ No newline at end of file diff --git a/docs/API/structxran__cp__bf__weight__coll__graph.png b/docs/API/structxran__cp__bf__weight__coll__graph.png new file mode 100644 index 0000000..3241b77 Binary files /dev/null and b/docs/API/structxran__cp__bf__weight__coll__graph.png differ diff --git a/docs/API/structxran__cp__gen__params.html b/docs/API/structxran__cp__gen__params.html new file mode 100644 index 0000000..a37a8a0 --- /dev/null +++ b/docs/API/structxran__cp__gen__params.html @@ -0,0 +1,201 @@ + + + + + + + +o-du/phy: xran_cp_gen_params Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    xran_cp_gen_params Struct Reference
    +
    +
    + +

    #include <xran_cp_api.h>

    +
    +Collaboration diagram for xran_cp_gen_params:
    +
    +
    Collaboration graph
    + + + + + + + + + + + +
    + + + + + + + + + + + + +

    +Data Fields

    uint8_t dir
     
    uint8_t sectionType
     
    uint16_t numSections
     
    struct xran_cp_header_params hdr
     
    struct xran_section_gen_infosections
     
    +

    Detailed Description

    +

    This structure to hold the information to generate a C-Plane message

    + +

    Definition at line 315 of file xran_cp_api.h.

    +

    Field Documentation

    + +

    ◆ dir

    + +
    +
    + + + + +
    uint8_t dir
    +
    +

    UL or DL

    + +

    Definition at line 316 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ hdr

    + +
    +
    + + + + +
    struct xran_cp_header_params hdr
    +
    +

    The information for C-Plane message header

    + +

    Definition at line 320 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ numSections

    + +
    +
    + + + + +
    uint16_t numSections
    +
    +

    the number of sections to generate

    + +

    Definition at line 318 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ sections

    + +
    +
    + + + + +
    struct xran_section_gen_info* sections
    +
    +

    Array of the section information

    + +

    Definition at line 322 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ sectionType

    + +
    +
    + + + + +
    uint8_t sectionType
    +
    +

    each section must have same type with this

    + +

    Definition at line 317 of file xran_cp_api.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structxran__cp__gen__params__coll__graph.map b/docs/API/structxran__cp__gen__params__coll__graph.map new file mode 100644 index 0000000..02460a5 --- /dev/null +++ b/docs/API/structxran__cp__gen__params__coll__graph.map @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/docs/API/structxran__cp__gen__params__coll__graph.md5 b/docs/API/structxran__cp__gen__params__coll__graph.md5 new file mode 100644 index 0000000..468eef9 --- /dev/null +++ b/docs/API/structxran__cp__gen__params__coll__graph.md5 @@ -0,0 +1 @@ +ecc7fb8bbe416bc599e426849d8ec547 \ No newline at end of file diff --git a/docs/API/structxran__cp__gen__params__coll__graph.png b/docs/API/structxran__cp__gen__params__coll__graph.png new file mode 100644 index 0000000..92ecac5 Binary files /dev/null and b/docs/API/structxran__cp__gen__params__coll__graph.png differ diff --git a/docs/API/structxran__cp__header__params.html b/docs/API/structxran__cp__header__params.html new file mode 100644 index 0000000..9dd5068 --- /dev/null +++ b/docs/API/structxran__cp__header__params.html @@ -0,0 +1,311 @@ + + + + + + + +o-du/phy: xran_cp_header_params Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    xran_cp_header_params Struct Reference
    +
    +
    + +

    #include <xran_cp_api.h>

    +
    +Collaboration diagram for xran_cp_header_params:
    +
    +
    Collaboration graph
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    uint8_t filterIdx
     
    uint8_t frameId
     
    uint8_t subframeId
     
    uint8_t slotId
     
    uint8_t startSymId
     
    uint8_t fftSize
     
    uint8_t scs
     
    uint8_t iqWidth
     
    uint8_t compMeth
     
    uint8_t numUEs
     
    uint16_t timeOffset
     
    uint16_t cpLength
     
    +

    Detailed Description

    +

    This structure contains the information to generate the section header of C-Plane message

    + +

    Definition at line 275 of file xran_cp_api.h.

    +

    Field Documentation

    + +

    ◆ compMeth

    + +
    +
    + + + + +
    uint8_t compMeth
    +
    + +

    Definition at line 287 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ cpLength

    + +
    +
    + + + + +
    uint16_t cpLength
    +
    + +

    Definition at line 290 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ fftSize

    + +
    +
    + + + + +
    uint8_t fftSize
    +
    + +

    Definition at line 284 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ filterIdx

    + +
    +
    + + + + +
    uint8_t filterIdx
    +
    + +

    Definition at line 277 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ frameId

    + +
    +
    + + + + +
    uint8_t frameId
    +
    + +

    Definition at line 278 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ iqWidth

    + +
    +
    + + + + +
    uint8_t iqWidth
    +
    + +

    Definition at line 286 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ numUEs

    + +
    +
    + + + + +
    uint8_t numUEs
    +
    + +

    Definition at line 288 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ scs

    + +
    +
    + + + + +
    uint8_t scs
    +
    + +

    Definition at line 285 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ slotId

    + +
    +
    + + + + +
    uint8_t slotId
    +
    + +

    Definition at line 280 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ startSymId

    + +
    +
    + + + + +
    uint8_t startSymId
    +
    + +

    Definition at line 281 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ subframeId

    + +
    +
    + + + + +
    uint8_t subframeId
    +
    + +

    Definition at line 279 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ timeOffset

    + +
    +
    + + + + +
    uint16_t timeOffset
    +
    + +

    Definition at line 289 of file xran_cp_api.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structxran__cp__header__params__coll__graph.map b/docs/API/structxran__cp__header__params__coll__graph.map new file mode 100644 index 0000000..b6c6d7a --- /dev/null +++ b/docs/API/structxran__cp__header__params__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structxran__cp__header__params__coll__graph.md5 b/docs/API/structxran__cp__header__params__coll__graph.md5 new file mode 100644 index 0000000..31d2307 --- /dev/null +++ b/docs/API/structxran__cp__header__params__coll__graph.md5 @@ -0,0 +1 @@ +f510168d19eb834d34bf163a3a576281 \ No newline at end of file diff --git a/docs/API/structxran__cp__header__params__coll__graph.png b/docs/API/structxran__cp__header__params__coll__graph.png new file mode 100644 index 0000000..73b999c Binary files /dev/null and b/docs/API/structxran__cp__header__params__coll__graph.png differ diff --git a/docs/API/structxran__cp__radioapp__common__header.html b/docs/API/structxran__cp__radioapp__common__header.html new file mode 100644 index 0000000..952f421 --- /dev/null +++ b/docs/API/structxran__cp__radioapp__common__header.html @@ -0,0 +1,266 @@ + + + + + + + +o-du/phy: xran_cp_radioapp_common_header Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    xran_cp_radioapp_common_header Struct Reference
    +
    +
    + +

    #include <xran_pkt_cp.h>

    +
    +Collaboration diagram for xran_cp_radioapp_common_header:
    +
    +
    Collaboration graph
    +
    + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    uint32_t startSymbolId:6
     
    uint32_t slotId:6
     
    uint32_t subframeId:4
     
    uint32_t frameId:8
     
    uint32_t filterIndex:4
     
    uint32_t payloadVer:3
     
    uint32_t dataDirection:1
     
    uint8_t numOfSections
     
    uint8_t sectionType
     
    +

    Detailed Description

    +

    Common Radio Application Header for C-Plane

    + +

    Definition at line 61 of file xran_pkt_cp.h.

    +

    Field Documentation

    + +

    ◆ dataDirection

    + +
    +
    + + + + +
    uint32_t dataDirection
    +
    +

    5.4.4.1 data direction (gNB Tx/Rx)

    + +

    Definition at line 68 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ filterIndex

    + +
    +
    + + + + +
    uint32_t filterIndex
    +
    +

    5.4.4.3 filter index, XRAN_FILTERINDEX_xxxx

    + +

    Definition at line 66 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ frameId

    + +
    +
    + + + + +
    uint32_t frameId
    +
    +

    5.4.4.4 frame identifier

    + +

    Definition at line 65 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ numOfSections

    + +
    +
    + + + + +
    uint8_t numOfSections
    +
    +

    5.4.4.8 number of sections

    + +

    Definition at line 69 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ payloadVer

    + +
    +
    + + + + +
    uint32_t payloadVer
    +
    +

    5.4.4.2 payload version, should be 1

    + +

    Definition at line 67 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ sectionType

    + +
    +
    + + + + +
    uint8_t sectionType
    +
    +

    5.4.4.9 section type

    + +

    Definition at line 70 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ slotId

    + +
    +
    + + + + +
    uint32_t slotId
    +
    +

    5.4.4.6 slot identifier

    + +

    Definition at line 63 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ startSymbolId

    + +
    +
    + + + + +
    uint32_t startSymbolId
    +
    +

    5.4.4.7 start symbol identifier

    + +

    Definition at line 62 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ subframeId

    + +
    +
    + + + + +
    uint32_t subframeId
    +
    +

    5.4.4.5 subframe identifier

    + +

    Definition at line 64 of file xran_pkt_cp.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structxran__cp__radioapp__common__header__coll__graph.map b/docs/API/structxran__cp__radioapp__common__header__coll__graph.map new file mode 100644 index 0000000..eb05a17 --- /dev/null +++ b/docs/API/structxran__cp__radioapp__common__header__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structxran__cp__radioapp__common__header__coll__graph.md5 b/docs/API/structxran__cp__radioapp__common__header__coll__graph.md5 new file mode 100644 index 0000000..ded5740 --- /dev/null +++ b/docs/API/structxran__cp__radioapp__common__header__coll__graph.md5 @@ -0,0 +1 @@ +0cb9a14866213f8091bae5392c22815d \ No newline at end of file diff --git a/docs/API/structxran__cp__radioapp__common__header__coll__graph.png b/docs/API/structxran__cp__radioapp__common__header__coll__graph.png new file mode 100644 index 0000000..bc3fb78 Binary files /dev/null and b/docs/API/structxran__cp__radioapp__common__header__coll__graph.png differ diff --git a/docs/API/structxran__cp__radioapp__frame_structure.html b/docs/API/structxran__cp__radioapp__frame_structure.html new file mode 100644 index 0000000..584f6a9 --- /dev/null +++ b/docs/API/structxran__cp__radioapp__frame_structure.html @@ -0,0 +1,133 @@ + + + + + + + +o-du/phy: xran_cp_radioapp_frameStructure Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    xran_cp_radioapp_frameStructure Struct Reference
    +
    +
    + +

    #include <xran_pkt_cp.h>

    +
    +Collaboration diagram for xran_cp_radioapp_frameStructure:
    +
    +
    Collaboration graph
    +
    + + + + + + +

    +Data Fields

    uint8_t uScs:4
     
    uint8_t fftSize:4
     
    +

    Detailed Description

    +

    frame structure defined in 5.4.4.13

    + +

    Definition at line 79 of file xran_pkt_cp.h.

    +

    Field Documentation

    + +

    ◆ fftSize

    + +
    +
    + + + + +
    uint8_t fftSize
    +
    +

    FFT size, XRAN_FFTSIZE_xxx

    + +

    Definition at line 81 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ uScs

    + +
    +
    + + + + +
    uint8_t uScs
    +
    +

    sub-carrier spacing, XRAN_SCS_xxx

    + +

    Definition at line 80 of file xran_pkt_cp.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structxran__cp__radioapp__frame_structure__coll__graph.map b/docs/API/structxran__cp__radioapp__frame_structure__coll__graph.map new file mode 100644 index 0000000..fa08695 --- /dev/null +++ b/docs/API/structxran__cp__radioapp__frame_structure__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structxran__cp__radioapp__frame_structure__coll__graph.md5 b/docs/API/structxran__cp__radioapp__frame_structure__coll__graph.md5 new file mode 100644 index 0000000..aca0aa8 --- /dev/null +++ b/docs/API/structxran__cp__radioapp__frame_structure__coll__graph.md5 @@ -0,0 +1 @@ +8863704b72f24443e4d1e0e790b17932 \ No newline at end of file diff --git a/docs/API/structxran__cp__radioapp__frame_structure__coll__graph.png b/docs/API/structxran__cp__radioapp__frame_structure__coll__graph.png new file mode 100644 index 0000000..d235d2d Binary files /dev/null and b/docs/API/structxran__cp__radioapp__frame_structure__coll__graph.png differ diff --git a/docs/API/structxran__cp__radioapp__section0.html b/docs/API/structxran__cp__radioapp__section0.html new file mode 100644 index 0000000..cf26d2e --- /dev/null +++ b/docs/API/structxran__cp__radioapp__section0.html @@ -0,0 +1,116 @@ + + + + + + + +o-du/phy: xran_cp_radioapp_section0 Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    xran_cp_radioapp_section0 Struct Reference
    +
    +
    + +

    #include <xran_pkt_cp.h>

    +
    +Collaboration diagram for xran_cp_radioapp_section0:
    +
    +
    Collaboration graph
    + + + +
    + + + + +

    +Data Fields

    struct xran_cp_radioapp_section_header hdr
     
    +

    Detailed Description

    +

    Section definition for type 0: Unused RB or Symbols in DL or UL (Table 5-2) Not supported in this release

    + +

    Definition at line 353 of file xran_pkt_cp.h.

    +

    Field Documentation

    + +

    ◆ hdr

    + +
    +
    + + + + +
    struct xran_cp_radioapp_section_header hdr
    +
    + +

    Definition at line 354 of file xran_pkt_cp.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structxran__cp__radioapp__section0__coll__graph.map b/docs/API/structxran__cp__radioapp__section0__coll__graph.map new file mode 100644 index 0000000..26cfe5a --- /dev/null +++ b/docs/API/structxran__cp__radioapp__section0__coll__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/structxran__cp__radioapp__section0__coll__graph.md5 b/docs/API/structxran__cp__radioapp__section0__coll__graph.md5 new file mode 100644 index 0000000..be21fe1 --- /dev/null +++ b/docs/API/structxran__cp__radioapp__section0__coll__graph.md5 @@ -0,0 +1 @@ +aec23f4bf3c42557afb5372d29f76afc \ No newline at end of file diff --git a/docs/API/structxran__cp__radioapp__section0__coll__graph.png b/docs/API/structxran__cp__radioapp__section0__coll__graph.png new file mode 100644 index 0000000..ad47646 Binary files /dev/null and b/docs/API/structxran__cp__radioapp__section0__coll__graph.png differ diff --git a/docs/API/structxran__cp__radioapp__section0__header.html b/docs/API/structxran__cp__radioapp__section0__header.html new file mode 100644 index 0000000..12a2d7a --- /dev/null +++ b/docs/API/structxran__cp__radioapp__section0__header.html @@ -0,0 +1,191 @@ + + + + + + + +o-du/phy: xran_cp_radioapp_section0_header Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    xran_cp_radioapp_section0_header Struct Reference
    +
    +
    + +

    #include <xran_pkt_cp.h>

    +
    +Collaboration diagram for xran_cp_radioapp_section0_header:
    +
    +
    Collaboration graph
    + + + + +
    + + + + + + + + + + + + +

    +Data Fields

    struct xran_cp_radioapp_common_header cmnhdr
     
    uint16_t timeOffset
     
    struct xran_cp_radioapp_frameStructure frameStructure
     
    uint16_t cpLength
     
    uint8_t reserved
     
    +

    Detailed Description

    +

    Section header definition for type 0

    + +

    Definition at line 337 of file xran_pkt_cp.h.

    +

    Field Documentation

    + +

    ◆ cmnhdr

    + +
    +
    + + + + +
    struct xran_cp_radioapp_common_header cmnhdr
    +
    + +

    Definition at line 338 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ cpLength

    + +
    +
    + + + + +
    uint16_t cpLength
    +
    +

    5.4.4.14 cyclic prefix length

    + +

    Definition at line 342 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ frameStructure

    + +
    +
    + + + + +
    struct xran_cp_radioapp_frameStructure frameStructure
    +
    + +

    Definition at line 341 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ reserved

    + +
    +
    + + + + +
    uint8_t reserved
    +
    + +

    Definition at line 343 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ timeOffset

    + +
    +
    + + + + +
    uint16_t timeOffset
    +
    +

    5.4.4.12 time offset

    + +

    Definition at line 339 of file xran_pkt_cp.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structxran__cp__radioapp__section0__header__coll__graph.map b/docs/API/structxran__cp__radioapp__section0__header__coll__graph.map new file mode 100644 index 0000000..16f311f --- /dev/null +++ b/docs/API/structxran__cp__radioapp__section0__header__coll__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/structxran__cp__radioapp__section0__header__coll__graph.md5 b/docs/API/structxran__cp__radioapp__section0__header__coll__graph.md5 new file mode 100644 index 0000000..5219bcf --- /dev/null +++ b/docs/API/structxran__cp__radioapp__section0__header__coll__graph.md5 @@ -0,0 +1 @@ +a50e3095ffe45abf42798f7577a4d18d \ No newline at end of file diff --git a/docs/API/structxran__cp__radioapp__section0__header__coll__graph.png b/docs/API/structxran__cp__radioapp__section0__header__coll__graph.png new file mode 100644 index 0000000..42b2954 Binary files /dev/null and b/docs/API/structxran__cp__radioapp__section0__header__coll__graph.png differ diff --git a/docs/API/structxran__cp__radioapp__section1.html b/docs/API/structxran__cp__radioapp__section1.html new file mode 100644 index 0000000..7783099 --- /dev/null +++ b/docs/API/structxran__cp__radioapp__section1.html @@ -0,0 +1,116 @@ + + + + + + + +o-du/phy: xran_cp_radioapp_section1 Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    xran_cp_radioapp_section1 Struct Reference
    +
    +
    + +

    #include <xran_pkt_cp.h>

    +
    +Collaboration diagram for xran_cp_radioapp_section1:
    +
    +
    Collaboration graph
    + + + +
    + + + + +

    +Data Fields

    struct xran_cp_radioapp_section_header hdr
     
    +

    Detailed Description

    +

    Section definition for type 1: Most DL/UL Radio Channels (Table 5-3)

    + +

    Definition at line 375 of file xran_pkt_cp.h.

    +

    Field Documentation

    + +

    ◆ hdr

    + +
    +
    + + + + +
    struct xran_cp_radioapp_section_header hdr
    +
    + +

    Definition at line 376 of file xran_pkt_cp.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structxran__cp__radioapp__section1__coll__graph.map b/docs/API/structxran__cp__radioapp__section1__coll__graph.map new file mode 100644 index 0000000..2dd0e6b --- /dev/null +++ b/docs/API/structxran__cp__radioapp__section1__coll__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/structxran__cp__radioapp__section1__coll__graph.md5 b/docs/API/structxran__cp__radioapp__section1__coll__graph.md5 new file mode 100644 index 0000000..a2ec449 --- /dev/null +++ b/docs/API/structxran__cp__radioapp__section1__coll__graph.md5 @@ -0,0 +1 @@ +3accfd48612d370699dfb97755e90490 \ No newline at end of file diff --git a/docs/API/structxran__cp__radioapp__section1__coll__graph.png b/docs/API/structxran__cp__radioapp__section1__coll__graph.png new file mode 100644 index 0000000..affde62 Binary files /dev/null and b/docs/API/structxran__cp__radioapp__section1__coll__graph.png differ diff --git a/docs/API/structxran__cp__radioapp__section1__header.html b/docs/API/structxran__cp__radioapp__section1__header.html new file mode 100644 index 0000000..07e7fa2 --- /dev/null +++ b/docs/API/structxran__cp__radioapp__section1__header.html @@ -0,0 +1,153 @@ + + + + + + + +o-du/phy: xran_cp_radioapp_section1_header Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    xran_cp_radioapp_section1_header Struct Reference
    +
    +
    + +

    #include <xran_pkt_cp.h>

    +
    +Collaboration diagram for xran_cp_radioapp_section1_header:
    +
    +
    Collaboration graph
    + + + + +
    + + + + + + + + +

    +Data Fields

    struct xran_cp_radioapp_common_header cmnhdr
     
    struct xran_radioapp_udComp_header udComp
     
    uint8_t reserved
     
    +

    Detailed Description

    +

    Section header definition for type 1

    + +

    Definition at line 363 of file xran_pkt_cp.h.

    +

    Field Documentation

    + +

    ◆ cmnhdr

    + +
    +
    + + + + +
    struct xran_cp_radioapp_common_header cmnhdr
    +
    + +

    Definition at line 364 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ reserved

    + +
    +
    + + + + +
    uint8_t reserved
    +
    + +

    Definition at line 366 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ udComp

    + +
    +
    + + + + +
    struct xran_radioapp_udComp_header udComp
    +
    + +

    Definition at line 365 of file xran_pkt_cp.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structxran__cp__radioapp__section1__header__coll__graph.map b/docs/API/structxran__cp__radioapp__section1__header__coll__graph.map new file mode 100644 index 0000000..1085480 --- /dev/null +++ b/docs/API/structxran__cp__radioapp__section1__header__coll__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/structxran__cp__radioapp__section1__header__coll__graph.md5 b/docs/API/structxran__cp__radioapp__section1__header__coll__graph.md5 new file mode 100644 index 0000000..38ea2c6 --- /dev/null +++ b/docs/API/structxran__cp__radioapp__section1__header__coll__graph.md5 @@ -0,0 +1 @@ +2d34e7559f3eafe98248e5c5f3b0c6a5 \ No newline at end of file diff --git a/docs/API/structxran__cp__radioapp__section1__header__coll__graph.png b/docs/API/structxran__cp__radioapp__section1__header__coll__graph.png new file mode 100644 index 0000000..619dfb8 Binary files /dev/null and b/docs/API/structxran__cp__radioapp__section1__header__coll__graph.png differ diff --git a/docs/API/structxran__cp__radioapp__section3.html b/docs/API/structxran__cp__radioapp__section3.html new file mode 100644 index 0000000..fda8788 --- /dev/null +++ b/docs/API/structxran__cp__radioapp__section3.html @@ -0,0 +1,153 @@ + + + + + + + +o-du/phy: xran_cp_radioapp_section3 Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    xran_cp_radioapp_section3 Struct Reference
    +
    +
    + +

    #include <xran_pkt_cp.h>

    +
    +Collaboration diagram for xran_cp_radioapp_section3:
    +
    +
    Collaboration graph
    + + + +
    + + + + + + + + +

    +Data Fields

    struct xran_cp_radioapp_section_header hdr
     
    uint32_t freqOffset:24
     
    uint32_t reserved:8
     
    +

    Detailed Description

    +

    Section definition for type 3: PRACH and Mixed-numerology Channels (Table 5-4)

    + +

    Definition at line 403 of file xran_pkt_cp.h.

    +

    Field Documentation

    + +

    ◆ freqOffset

    + +
    +
    + + + + +
    uint32_t freqOffset
    +
    +

    5.4.5.11 frequency offset

    + +

    Definition at line 405 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ hdr

    + +
    +
    + + + + +
    struct xran_cp_radioapp_section_header hdr
    +
    + +

    Definition at line 404 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ reserved

    + +
    +
    + + + + +
    uint32_t reserved
    +
    + +

    Definition at line 406 of file xran_pkt_cp.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structxran__cp__radioapp__section3__coll__graph.map b/docs/API/structxran__cp__radioapp__section3__coll__graph.map new file mode 100644 index 0000000..4a213c9 --- /dev/null +++ b/docs/API/structxran__cp__radioapp__section3__coll__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/structxran__cp__radioapp__section3__coll__graph.md5 b/docs/API/structxran__cp__radioapp__section3__coll__graph.md5 new file mode 100644 index 0000000..e5a7898 --- /dev/null +++ b/docs/API/structxran__cp__radioapp__section3__coll__graph.md5 @@ -0,0 +1 @@ +c94ad78d2081be1fa36c4f9e32636b77 \ No newline at end of file diff --git a/docs/API/structxran__cp__radioapp__section3__coll__graph.png b/docs/API/structxran__cp__radioapp__section3__coll__graph.png new file mode 100644 index 0000000..4979b69 Binary files /dev/null and b/docs/API/structxran__cp__radioapp__section3__coll__graph.png differ diff --git a/docs/API/structxran__cp__radioapp__section3__header.html b/docs/API/structxran__cp__radioapp__section3__header.html new file mode 100644 index 0000000..ed7b92b --- /dev/null +++ b/docs/API/structxran__cp__radioapp__section3__header.html @@ -0,0 +1,192 @@ + + + + + + + +o-du/phy: xran_cp_radioapp_section3_header Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    xran_cp_radioapp_section3_header Struct Reference
    +
    +
    + +

    #include <xran_pkt_cp.h>

    +
    +Collaboration diagram for xran_cp_radioapp_section3_header:
    +
    +
    Collaboration graph
    + + + + + +
    + + + + + + + + + + + + +

    +Data Fields

    struct xran_cp_radioapp_common_header cmnhdr
     
    uint16_t timeOffset
     
    struct xran_cp_radioapp_frameStructure frameStructure
     
    uint16_t cpLength
     
    struct xran_radioapp_udComp_header udComp
     
    +

    Detailed Description

    +

    Section header definition for type 3

    + +

    Definition at line 388 of file xran_pkt_cp.h.

    +

    Field Documentation

    + +

    ◆ cmnhdr

    + +
    +
    + + + + +
    struct xran_cp_radioapp_common_header cmnhdr
    +
    + +

    Definition at line 389 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ cpLength

    + +
    +
    + + + + +
    uint16_t cpLength
    +
    +

    5.4.4.14 cyclic prefix length

    + +

    Definition at line 393 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ frameStructure

    + +
    +
    + + + + +
    struct xran_cp_radioapp_frameStructure frameStructure
    +
    + +

    Definition at line 392 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ timeOffset

    + +
    +
    + + + + +
    uint16_t timeOffset
    +
    +

    5.4.4.12 time offset

    + +

    Definition at line 390 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ udComp

    + +
    +
    + + + + +
    struct xran_radioapp_udComp_header udComp
    +
    + +

    Definition at line 394 of file xran_pkt_cp.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structxran__cp__radioapp__section3__header__coll__graph.map b/docs/API/structxran__cp__radioapp__section3__header__coll__graph.map new file mode 100644 index 0000000..99e6622 --- /dev/null +++ b/docs/API/structxran__cp__radioapp__section3__header__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/API/structxran__cp__radioapp__section3__header__coll__graph.md5 b/docs/API/structxran__cp__radioapp__section3__header__coll__graph.md5 new file mode 100644 index 0000000..051ce8e --- /dev/null +++ b/docs/API/structxran__cp__radioapp__section3__header__coll__graph.md5 @@ -0,0 +1 @@ +94105cf62bc912b7b2cb8513b7c8f4b5 \ No newline at end of file diff --git a/docs/API/structxran__cp__radioapp__section3__header__coll__graph.png b/docs/API/structxran__cp__radioapp__section3__header__coll__graph.png new file mode 100644 index 0000000..944524d Binary files /dev/null and b/docs/API/structxran__cp__radioapp__section3__header__coll__graph.png differ diff --git a/docs/API/structxran__cp__radioapp__section5.html b/docs/API/structxran__cp__radioapp__section5.html new file mode 100644 index 0000000..7b8062a --- /dev/null +++ b/docs/API/structxran__cp__radioapp__section5.html @@ -0,0 +1,116 @@ + + + + + + + +o-du/phy: xran_cp_radioapp_section5 Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    xran_cp_radioapp_section5 Struct Reference
    +
    +
    + +

    #include <xran_pkt_cp.h>

    +
    +Collaboration diagram for xran_cp_radioapp_section5:
    +
    +
    Collaboration graph
    + + + +
    + + + + +

    +Data Fields

    struct xran_cp_radioapp_section_header hdr
     
    +

    Detailed Description

    +

    Section definition for type 5: UE scheduling information (Table 5-5) Not supported in this release

    + +

    Definition at line 431 of file xran_pkt_cp.h.

    +

    Field Documentation

    + +

    ◆ hdr

    + +
    +
    + + + + +
    struct xran_cp_radioapp_section_header hdr
    +
    + +

    Definition at line 432 of file xran_pkt_cp.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structxran__cp__radioapp__section5__coll__graph.map b/docs/API/structxran__cp__radioapp__section5__coll__graph.map new file mode 100644 index 0000000..8a2b782 --- /dev/null +++ b/docs/API/structxran__cp__radioapp__section5__coll__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/structxran__cp__radioapp__section5__coll__graph.md5 b/docs/API/structxran__cp__radioapp__section5__coll__graph.md5 new file mode 100644 index 0000000..921e819 --- /dev/null +++ b/docs/API/structxran__cp__radioapp__section5__coll__graph.md5 @@ -0,0 +1 @@ +56d37e68bf8852f9a4da792f9f6c98e3 \ No newline at end of file diff --git a/docs/API/structxran__cp__radioapp__section5__coll__graph.png b/docs/API/structxran__cp__radioapp__section5__coll__graph.png new file mode 100644 index 0000000..06ed929 Binary files /dev/null and b/docs/API/structxran__cp__radioapp__section5__coll__graph.png differ diff --git a/docs/API/structxran__cp__radioapp__section5__header.html b/docs/API/structxran__cp__radioapp__section5__header.html new file mode 100644 index 0000000..22d2dc5 --- /dev/null +++ b/docs/API/structxran__cp__radioapp__section5__header.html @@ -0,0 +1,153 @@ + + + + + + + +o-du/phy: xran_cp_radioapp_section5_header Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    xran_cp_radioapp_section5_header Struct Reference
    +
    +
    + +

    #include <xran_pkt_cp.h>

    +
    +Collaboration diagram for xran_cp_radioapp_section5_header:
    +
    +
    Collaboration graph
    + + + + +
    + + + + + + + + +

    +Data Fields

    struct xran_cp_radioapp_common_header cmnhdr
     
    struct xran_radioapp_udComp_header udComp
     
    uint8_t reserved
     
    +

    Detailed Description

    +

    Section header definition for type 5

    + +

    Definition at line 418 of file xran_pkt_cp.h.

    +

    Field Documentation

    + +

    ◆ cmnhdr

    + +
    +
    + + + + +
    struct xran_cp_radioapp_common_header cmnhdr
    +
    + +

    Definition at line 419 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ reserved

    + +
    +
    + + + + +
    uint8_t reserved
    +
    + +

    Definition at line 421 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ udComp

    + +
    +
    + + + + +
    struct xran_radioapp_udComp_header udComp
    +
    + +

    Definition at line 420 of file xran_pkt_cp.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structxran__cp__radioapp__section5__header__coll__graph.map b/docs/API/structxran__cp__radioapp__section5__header__coll__graph.map new file mode 100644 index 0000000..eab9f80 --- /dev/null +++ b/docs/API/structxran__cp__radioapp__section5__header__coll__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/structxran__cp__radioapp__section5__header__coll__graph.md5 b/docs/API/structxran__cp__radioapp__section5__header__coll__graph.md5 new file mode 100644 index 0000000..41c884c --- /dev/null +++ b/docs/API/structxran__cp__radioapp__section5__header__coll__graph.md5 @@ -0,0 +1 @@ +47ee92f6c8edaa0e791e83045ad2612a \ No newline at end of file diff --git a/docs/API/structxran__cp__radioapp__section5__header__coll__graph.png b/docs/API/structxran__cp__radioapp__section5__header__coll__graph.png new file mode 100644 index 0000000..ae0c2b9 Binary files /dev/null and b/docs/API/structxran__cp__radioapp__section5__header__coll__graph.png differ diff --git a/docs/API/structxran__cp__radioapp__section6.html b/docs/API/structxran__cp__radioapp__section6.html new file mode 100644 index 0000000..fa8707b --- /dev/null +++ b/docs/API/structxran__cp__radioapp__section6.html @@ -0,0 +1,265 @@ + + + + + + + +o-du/phy: xran_cp_radioapp_section6 Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    xran_cp_radioapp_section6 Struct Reference
    +
    +
    + +

    #include <xran_pkt_cp.h>

    +
    +Collaboration diagram for xran_cp_radioapp_section6:
    +
    +
    Collaboration graph
    +
    + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    uint32_t regularizationFactor:16
     
    uint32_t ueId:15
     
    uint32_t ef:1
     
    uint8_t startPrbch:2
     
    uint8_t symInc:1
     
    uint8_t rb:1
     
    uint8_t reserved:4
     
    uint8_t startPrbcl:8
     
    uint8_t numPrbc:8
     
    +

    Detailed Description

    +

    Section definition for type 5: Channel Information (Table 5-6) Not supported in this release

    + +

    Definition at line 457 of file xran_pkt_cp.h.

    +

    Field Documentation

    + +

    ◆ ef

    + +
    +
    + + + + +
    uint32_t ef
    +
    +

    5.4.5.8 extension flag

    + +

    Definition at line 460 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ numPrbc

    + +
    +
    + + + + +
    uint8_t numPrbc
    +
    +

    5.4.5.6 number of contiguous PRBs per control section

    + +

    Definition at line 466 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ rb

    + +
    +
    + + + + +
    uint8_t rb
    +
    +

    5.4.5.2 resource block indicator, XRAN_RBIND_xxx

    + +

    Definition at line 463 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ regularizationFactor

    + +
    +
    + + + + +
    uint32_t regularizationFactor
    +
    +

    5.4.5.12 regularization Factor

    + +

    Definition at line 458 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ reserved

    + +
    +
    + + + + +
    uint8_t reserved
    +
    + +

    Definition at line 464 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ startPrbch

    + +
    +
    + + + + +
    uint8_t startPrbch
    +
    +

    5.4.5.4 starting PRB of control section

    + +

    Definition at line 461 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ startPrbcl

    + +
    +
    + + + + +
    uint8_t startPrbcl
    +
    +

    5.4.5.4 starting PRB of control section

    + +

    Definition at line 465 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ symInc

    + +
    +
    + + + + +
    uint8_t symInc
    +
    +

    5.4.5.3 symbol number increment command XRAN_SYMBOLNUMBER_xxxx

    + +

    Definition at line 462 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ ueId

    + +
    +
    + + + + +
    uint32_t ueId
    +
    +

    5.4.5.10 UE identifier

    + +

    Definition at line 459 of file xran_pkt_cp.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structxran__cp__radioapp__section6__coll__graph.map b/docs/API/structxran__cp__radioapp__section6__coll__graph.map new file mode 100644 index 0000000..d89dc2b --- /dev/null +++ b/docs/API/structxran__cp__radioapp__section6__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structxran__cp__radioapp__section6__coll__graph.md5 b/docs/API/structxran__cp__radioapp__section6__coll__graph.md5 new file mode 100644 index 0000000..e095b83 --- /dev/null +++ b/docs/API/structxran__cp__radioapp__section6__coll__graph.md5 @@ -0,0 +1 @@ +723a8ed404accc1d0ab7b30c4310da33 \ No newline at end of file diff --git a/docs/API/structxran__cp__radioapp__section6__coll__graph.png b/docs/API/structxran__cp__radioapp__section6__coll__graph.png new file mode 100644 index 0000000..7d12617 Binary files /dev/null and b/docs/API/structxran__cp__radioapp__section6__coll__graph.png differ diff --git a/docs/API/structxran__cp__radioapp__section6__header.html b/docs/API/structxran__cp__radioapp__section6__header.html new file mode 100644 index 0000000..1ba534a --- /dev/null +++ b/docs/API/structxran__cp__radioapp__section6__header.html @@ -0,0 +1,153 @@ + + + + + + + +o-du/phy: xran_cp_radioapp_section6_header Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    xran_cp_radioapp_section6_header Struct Reference
    +
    +
    + +

    #include <xran_pkt_cp.h>

    +
    +Collaboration diagram for xran_cp_radioapp_section6_header:
    +
    +
    Collaboration graph
    + + + +
    + + + + + + + + +

    +Data Fields

    struct xran_cp_radioapp_common_header cmnhdr
     
    uint8_t numberOfUEs
     
    uint8_t reserved
     
    +

    Detailed Description

    +

    Section header definition for type 6

    + +

    Definition at line 444 of file xran_pkt_cp.h.

    +

    Field Documentation

    + +

    ◆ cmnhdr

    + +
    +
    + + + + +
    struct xran_cp_radioapp_common_header cmnhdr
    +
    + +

    Definition at line 445 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ numberOfUEs

    + +
    +
    + + + + +
    uint8_t numberOfUEs
    +
    +

    5.4.4.11 number of UEs

    + +

    Definition at line 446 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ reserved

    + +
    +
    + + + + +
    uint8_t reserved
    +
    + +

    Definition at line 447 of file xran_pkt_cp.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structxran__cp__radioapp__section6__header__coll__graph.map b/docs/API/structxran__cp__radioapp__section6__header__coll__graph.map new file mode 100644 index 0000000..bbd7e3f --- /dev/null +++ b/docs/API/structxran__cp__radioapp__section6__header__coll__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/structxran__cp__radioapp__section6__header__coll__graph.md5 b/docs/API/structxran__cp__radioapp__section6__header__coll__graph.md5 new file mode 100644 index 0000000..c1464f5 --- /dev/null +++ b/docs/API/structxran__cp__radioapp__section6__header__coll__graph.md5 @@ -0,0 +1 @@ +1bb225b7d752ce690471d76961938806 \ No newline at end of file diff --git a/docs/API/structxran__cp__radioapp__section6__header__coll__graph.png b/docs/API/structxran__cp__radioapp__section6__header__coll__graph.png new file mode 100644 index 0000000..bb494ce Binary files /dev/null and b/docs/API/structxran__cp__radioapp__section6__header__coll__graph.png differ diff --git a/docs/API/structxran__cp__radioapp__section7__header.html b/docs/API/structxran__cp__radioapp__section7__header.html new file mode 100644 index 0000000..bd41c2a --- /dev/null +++ b/docs/API/structxran__cp__radioapp__section7__header.html @@ -0,0 +1,172 @@ + + + + + + + +o-du/phy: xran_cp_radioapp_section7_header Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    xran_cp_radioapp_section7_header Struct Reference
    +
    +
    + +

    #include <xran_pkt_cp.h>

    +
    +Collaboration diagram for xran_cp_radioapp_section7_header:
    +
    +
    Collaboration graph
    + + + +
    + + + + + + + + + + +

    +Data Fields

    struct xran_cp_radioapp_common_header cmnhdr
     
    uint16_t reserved
     
    uint8_t laaMsgLen:4
     
    uint8_t laaMsgType:4
     
    +

    Detailed Description

    +

    Section header definition for type 7: LAA Not supported in this release

    + +

    Definition at line 482 of file xran_pkt_cp.h.

    +

    Field Documentation

    + +

    ◆ cmnhdr

    + +
    +
    + + + + +
    struct xran_cp_radioapp_common_header cmnhdr
    +
    + +

    Definition at line 483 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ laaMsgLen

    + +
    +
    + + + + +
    uint8_t laaMsgLen
    +
    +

    5.4.5.15 LAA message length

    + +

    Definition at line 485 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ laaMsgType

    + +
    +
    + + + + +
    uint8_t laaMsgType
    +
    +

    5.4.5.14 LAA message type

    + +

    Definition at line 486 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ reserved

    + +
    +
    + + + + +
    uint16_t reserved
    +
    + +

    Definition at line 484 of file xran_pkt_cp.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structxran__cp__radioapp__section7__header__coll__graph.map b/docs/API/structxran__cp__radioapp__section7__header__coll__graph.map new file mode 100644 index 0000000..f61bcec --- /dev/null +++ b/docs/API/structxran__cp__radioapp__section7__header__coll__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/structxran__cp__radioapp__section7__header__coll__graph.md5 b/docs/API/structxran__cp__radioapp__section7__header__coll__graph.md5 new file mode 100644 index 0000000..67aa25f --- /dev/null +++ b/docs/API/structxran__cp__radioapp__section7__header__coll__graph.md5 @@ -0,0 +1 @@ +318b93609ca8bb3c0a0894ee578847d7 \ No newline at end of file diff --git a/docs/API/structxran__cp__radioapp__section7__header__coll__graph.png b/docs/API/structxran__cp__radioapp__section7__header__coll__graph.png new file mode 100644 index 0000000..9535cbb Binary files /dev/null and b/docs/API/structxran__cp__radioapp__section7__header__coll__graph.png differ diff --git a/docs/API/structxran__cp__radioapp__section__ext1.html b/docs/API/structxran__cp__radioapp__section__ext1.html new file mode 100644 index 0000000..02aada6 --- /dev/null +++ b/docs/API/structxran__cp__radioapp__section__ext1.html @@ -0,0 +1,190 @@ + + + + + + + +o-du/phy: xran_cp_radioapp_section_ext1 Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    xran_cp_radioapp_section_ext1 Struct Reference
    +
    +
    + +

    #include <xran_pkt_cp.h>

    +
    +Collaboration diagram for xran_cp_radioapp_section_ext1:
    +
    +
    Collaboration graph
    +
    + + + + + + + + + + + + +

    +Data Fields

    uint8_t extType:7
     
    uint8_t ef:1
     
    uint8_t extLen
     
    uint8_t bfwCompMeth:4
     
    uint8_t bfwIqWidth:4
     
    +

    Detailed Description

    +

    Beamforming Weights Extension Type(ExtType 1) defined in 5.4.7.1 The structure is reordered for byte order conversion.

    + +

    Definition at line 142 of file xran_pkt_cp.h.

    +

    Field Documentation

    + +

    ◆ bfwCompMeth

    + +
    +
    + + + + +
    uint8_t bfwCompMeth
    +
    +

    5.4.7.1.1 Beamforming weight Compression method

    + +

    Definition at line 149 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ bfwIqWidth

    + +
    +
    + + + + +
    uint8_t bfwIqWidth
    +
    +

    5.4.7.1.1 Beamforming weight IQ bit width

    + +

    Definition at line 150 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ ef

    + +
    +
    + + + + +
    uint8_t ef
    +
    +

    5.4.6.2 extension flag

    + +

    Definition at line 146 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ extLen

    + +
    +
    + + + + +
    uint8_t extLen
    +
    +

    5.4.6.3 extension length, in 32bits words

    + +

    Definition at line 147 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ extType

    + +
    +
    + + + + +
    uint8_t extType
    +
    +

    5.4.6.1 extension type

    + +

    Definition at line 145 of file xran_pkt_cp.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structxran__cp__radioapp__section__ext1__coll__graph.map b/docs/API/structxran__cp__radioapp__section__ext1__coll__graph.map new file mode 100644 index 0000000..a4ec904 --- /dev/null +++ b/docs/API/structxran__cp__radioapp__section__ext1__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structxran__cp__radioapp__section__ext1__coll__graph.md5 b/docs/API/structxran__cp__radioapp__section__ext1__coll__graph.md5 new file mode 100644 index 0000000..8fbf834 --- /dev/null +++ b/docs/API/structxran__cp__radioapp__section__ext1__coll__graph.md5 @@ -0,0 +1 @@ +060f49a48567eb66fae864561f05742b \ No newline at end of file diff --git a/docs/API/structxran__cp__radioapp__section__ext1__coll__graph.png b/docs/API/structxran__cp__radioapp__section__ext1__coll__graph.png new file mode 100644 index 0000000..5b4630a Binary files /dev/null and b/docs/API/structxran__cp__radioapp__section__ext1__coll__graph.png differ diff --git a/docs/API/structxran__cp__radioapp__section__ext2.html b/docs/API/structxran__cp__radioapp__section__ext2.html new file mode 100644 index 0000000..2d8c2af --- /dev/null +++ b/docs/API/structxran__cp__radioapp__section__ext2.html @@ -0,0 +1,264 @@ + + + + + + + +o-du/phy: xran_cp_radioapp_section_ext2 Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    xran_cp_radioapp_section_ext2 Struct Reference
    +
    +
    + +

    #include <xran_pkt_cp.h>

    +
    +Collaboration diagram for xran_cp_radioapp_section_ext2:
    +
    +
    Collaboration graph
    +
    + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    uint32_t bfZe3ddWidth:3
     
    uint32_t bfAz3ddWidth:3
     
    uint32_t bfaCompResv1:2
     
    uint32_t bfZePtWidth:3
     
    uint32_t bfAzPtWidth:3
     
    uint32_t bfaCompResv0:2
     
    uint32_t extLen:8
     
    uint32_t extType:7
     
    uint32_t ef:1
     
    +

    Detailed Description

    +

    Beamforming Attributes Extension Type(ExtType 2) defined in 5.4.7.2 The structure is reordered for byte order conversion.

    + +

    Definition at line 169 of file xran_pkt_cp.h.

    +

    Field Documentation

    + +

    ◆ bfaCompResv0

    + +
    +
    + + + + +
    uint32_t bfaCompResv0
    +
    + +

    Definition at line 178 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ bfaCompResv1

    + +
    +
    + + + + +
    uint32_t bfaCompResv1
    +
    + +

    Definition at line 175 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ bfAz3ddWidth

    + +
    +
    + + + + +
    uint32_t bfAz3ddWidth
    +
    +

    5.4.7.2.1 beamforming azimuth beamwidth parameter bitwidth, Table 5-20

    + +

    Definition at line 174 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ bfAzPtWidth

    + +
    +
    + + + + +
    uint32_t bfAzPtWidth
    +
    +

    5.4.7.2.1 beamforming azimuth pointing parameter bitwidth, Table 5-18

    + +

    Definition at line 177 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ bfZe3ddWidth

    + +
    +
    + + + + +
    uint32_t bfZe3ddWidth
    +
    +

    5.4.7.2.1 beamforming zenith beamwidth parameter bitwidth, Table 5-21

    + +

    Definition at line 173 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ bfZePtWidth

    + +
    +
    + + + + +
    uint32_t bfZePtWidth
    +
    +

    5.4.7.2.1 beamforming zenith pointing parameter bitwidth, Table 5-19

    + +

    Definition at line 176 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ ef

    + +
    +
    + + + + +
    uint32_t ef
    +
    +

    5.4.6.2 extension flag

    + +

    Definition at line 181 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ extLen

    + +
    +
    + + + + +
    uint32_t extLen
    +
    +

    5.4.6.3 extension length, in 32bits words

    + +

    Definition at line 179 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ extType

    + +
    +
    + + + + +
    uint32_t extType
    +
    +

    5.4.6.1 extension type

    + +

    Definition at line 180 of file xran_pkt_cp.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structxran__cp__radioapp__section__ext2__coll__graph.map b/docs/API/structxran__cp__radioapp__section__ext2__coll__graph.map new file mode 100644 index 0000000..cc84586 --- /dev/null +++ b/docs/API/structxran__cp__radioapp__section__ext2__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structxran__cp__radioapp__section__ext2__coll__graph.md5 b/docs/API/structxran__cp__radioapp__section__ext2__coll__graph.md5 new file mode 100644 index 0000000..bda8018 --- /dev/null +++ b/docs/API/structxran__cp__radioapp__section__ext2__coll__graph.md5 @@ -0,0 +1 @@ +231fd0d110f2851a4cf94ca579d27f12 \ No newline at end of file diff --git a/docs/API/structxran__cp__radioapp__section__ext2__coll__graph.png b/docs/API/structxran__cp__radioapp__section__ext2__coll__graph.png new file mode 100644 index 0000000..fc6a56d Binary files /dev/null and b/docs/API/structxran__cp__radioapp__section__ext2__coll__graph.png differ diff --git a/docs/API/structxran__cp__radioapp__section__ext3__first.html b/docs/API/structxran__cp__radioapp__section__ext3__first.html new file mode 100644 index 0000000..7f63e02 --- /dev/null +++ b/docs/API/structxran__cp__radioapp__section__ext3__first.html @@ -0,0 +1,396 @@ + + + + + + + +o-du/phy: xran_cp_radioapp_section_ext3_first Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    xran_cp_radioapp_section_ext3_first Struct Reference
    +
    +
    + +

    #include <xran_pkt_cp.h>

    +
    +Collaboration diagram for xran_cp_radioapp_section_ext3_first:
    +
    +
    Collaboration graph
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    uint32_t reserved1:8
     
    uint32_t crsSymNum:4
     
    uint32_t reserved0:3
     
    uint32_t crsShift:1
     
    uint32_t crsReMask:12
     
    uint32_t txScheme:4
     
    uint32_t numLayers:4
     
    uint32_t layerId:4
     
    uint32_t codebookIndex:8
     
    uint32_t extLen:8
     
    uint32_t extType:7
     
    uint32_t ef:1
     
    uint16_t beamIdAP3
     
    uint16_t beamIdAP2
     
    uint16_t beamIdAP1
     
    uint16_t reserved2
     
    +

    Detailed Description

    +

    DL Precoding Extension Type(ExtType 3) for first data layer. Defined in 5.4.7.3 Table 5-22. Only be used for LTE TM2-4 and not for other LTE TMs nor NR. The structure is reordered for byte order conversion. Not supported.

    + +

    Definition at line 206 of file xran_pkt_cp.h.

    +

    Field Documentation

    + +

    ◆ beamIdAP1

    + +
    +
    + + + + +
    uint16_t beamIdAP1
    +
    +

    5.4.7.3.8 beam id to be used for antenna port 1

    + +

    Definition at line 225 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ beamIdAP2

    + +
    +
    + + + + +
    uint16_t beamIdAP2
    +
    +

    5.4.7.3.9 beam id to be used for antenna port 2

    + +

    Definition at line 224 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ beamIdAP3

    + +
    +
    + + + + +
    uint16_t beamIdAP3
    +
    +

    5.4.7.3.10 beam id to be used for antenna port 3

    + +

    Definition at line 223 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ codebookIndex

    + +
    +
    + + + + +
    uint32_t codebookIndex
    +
    +

    5.4.7.3.1 precoder codebook used for transmission

    + +

    Definition at line 218 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ crsReMask

    + +
    +
    + + + + +
    uint32_t crsReMask
    +
    +

    5.4.7.3.5 CRS resource element mask

    + +

    Definition at line 214 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ crsShift

    + +
    +
    + + + + +
    uint32_t crsShift
    +
    +

    5.4.7.3.7 CRS shift used for DL transmission

    + +

    Definition at line 213 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ crsSymNum

    + +
    +
    + + + + +
    uint32_t crsSymNum
    +
    +

    5.4.7.3.6 CRS symbol number indication

    + +

    Definition at line 211 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ ef

    + +
    +
    + + + + +
    uint32_t ef
    +
    +

    5.4.6.2 extension flag

    + +

    Definition at line 221 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ extLen

    + +
    +
    + + + + +
    uint32_t extLen
    +
    +

    5.4.6.3 extension length, in 32bits words

    + +

    Definition at line 219 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ extType

    + +
    +
    + + + + +
    uint32_t extType
    +
    +

    5.4.6.1 extension type

    + +

    Definition at line 220 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ layerId

    + +
    +
    + + + + +
    uint32_t layerId
    +
    +

    5.4.7.3.2 Layer ID for DL transmission

    + +

    Definition at line 217 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ numLayers

    + +
    +
    + + + + +
    uint32_t numLayers
    +
    +

    5.4.7.3.4 number of layers used for DL transmission

    + +

    Definition at line 216 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ reserved0

    + +
    +
    + + + + +
    uint32_t reserved0
    +
    + +

    Definition at line 212 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ reserved1

    + +
    +
    + + + + +
    uint32_t reserved1
    +
    + +

    Definition at line 210 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ reserved2

    + +
    +
    + + + + +
    uint16_t reserved2
    +
    + +

    Definition at line 226 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ txScheme

    + +
    +
    + + + + +
    uint32_t txScheme
    +
    +

    5.4.7.3.3 transmission scheme

    + +

    Definition at line 215 of file xran_pkt_cp.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structxran__cp__radioapp__section__ext3__first__coll__graph.map b/docs/API/structxran__cp__radioapp__section__ext3__first__coll__graph.map new file mode 100644 index 0000000..515a731 --- /dev/null +++ b/docs/API/structxran__cp__radioapp__section__ext3__first__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structxran__cp__radioapp__section__ext3__first__coll__graph.md5 b/docs/API/structxran__cp__radioapp__section__ext3__first__coll__graph.md5 new file mode 100644 index 0000000..142adb4 --- /dev/null +++ b/docs/API/structxran__cp__radioapp__section__ext3__first__coll__graph.md5 @@ -0,0 +1 @@ +c1007c397de39cbf43444797a1c98298 \ No newline at end of file diff --git a/docs/API/structxran__cp__radioapp__section__ext3__first__coll__graph.png b/docs/API/structxran__cp__radioapp__section__ext3__first__coll__graph.png new file mode 100644 index 0000000..946896b Binary files /dev/null and b/docs/API/structxran__cp__radioapp__section__ext3__first__coll__graph.png differ diff --git a/docs/API/structxran__cp__radioapp__section__ext3__non__first.html b/docs/API/structxran__cp__radioapp__section__ext3__non__first.html new file mode 100644 index 0000000..718bce2 --- /dev/null +++ b/docs/API/structxran__cp__radioapp__section__ext3__non__first.html @@ -0,0 +1,209 @@ + + + + + + + +o-du/phy: xran_cp_radioapp_section_ext3_non_first Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    xran_cp_radioapp_section_ext3_non_first Struct Reference
    +
    +
    + +

    #include <xran_pkt_cp.h>

    +
    +Collaboration diagram for xran_cp_radioapp_section_ext3_non_first:
    +
    +
    Collaboration graph
    +
    + + + + + + + + + + + + + + +

    +Data Fields

    uint32_t numLayers:4
     
    uint32_t layerId:4
     
    uint32_t codebookIndex:8
     
    uint32_t extLen:8
     
    uint32_t extType:7
     
    uint32_t ef:1
     
    +

    Detailed Description

    +

    DL Precoding Extension Type(ExtType 3) for non-first data layer. Defined in 5.4.7.3 Table 5-23. Only be used for LTE TM2-4 and not for other LTE TMs nor NR. The structure is reordered for byte order conversion. Not supported.

    + +

    Definition at line 238 of file xran_pkt_cp.h.

    +

    Field Documentation

    + +

    ◆ codebookIndex

    + +
    +
    + + + + +
    uint32_t codebookIndex
    +
    +

    5.4.7.3.1 precoder codebook used for transmission

    + +

    Definition at line 242 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ ef

    + +
    +
    + + + + +
    uint32_t ef
    +
    +

    5.4.6.2 extension flag

    + +

    Definition at line 246 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ extLen

    + +
    +
    + + + + +
    uint32_t extLen
    +
    +

    5.4.6.3 extension length, in 32bits words

    + +

    Definition at line 244 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ extType

    + +
    +
    + + + + +
    uint32_t extType
    +
    +

    5.4.6.1 extension type

    + +

    Definition at line 245 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ layerId

    + +
    +
    + + + + +
    uint32_t layerId
    +
    +

    5.4.7.3.2 Layer ID for DL transmission

    + +

    Definition at line 241 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ numLayers

    + +
    +
    + + + + +
    uint32_t numLayers
    +
    +

    5.4.7.3.4 number of layers used for DL transmission

    + +

    Definition at line 240 of file xran_pkt_cp.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structxran__cp__radioapp__section__ext3__non__first__coll__graph.map b/docs/API/structxran__cp__radioapp__section__ext3__non__first__coll__graph.map new file mode 100644 index 0000000..030e4f3 --- /dev/null +++ b/docs/API/structxran__cp__radioapp__section__ext3__non__first__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structxran__cp__radioapp__section__ext3__non__first__coll__graph.md5 b/docs/API/structxran__cp__radioapp__section__ext3__non__first__coll__graph.md5 new file mode 100644 index 0000000..444158d --- /dev/null +++ b/docs/API/structxran__cp__radioapp__section__ext3__non__first__coll__graph.md5 @@ -0,0 +1 @@ +e46635f54e7060a7b5c706a060dbc1f8 \ No newline at end of file diff --git a/docs/API/structxran__cp__radioapp__section__ext3__non__first__coll__graph.png b/docs/API/structxran__cp__radioapp__section__ext3__non__first__coll__graph.png new file mode 100644 index 0000000..d6eefb4 Binary files /dev/null and b/docs/API/structxran__cp__radioapp__section__ext3__non__first__coll__graph.png differ diff --git a/docs/API/structxran__cp__radioapp__section__ext4.html b/docs/API/structxran__cp__radioapp__section__ext4.html new file mode 100644 index 0000000..75a46db --- /dev/null +++ b/docs/API/structxran__cp__radioapp__section__ext4.html @@ -0,0 +1,190 @@ + + + + + + + +o-du/phy: xran_cp_radioapp_section_ext4 Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    xran_cp_radioapp_section_ext4 Struct Reference
    +
    +
    + +

    #include <xran_pkt_cp.h>

    +
    +Collaboration diagram for xran_cp_radioapp_section_ext4:
    +
    +
    Collaboration graph
    +
    + + + + + + + + + + + + +

    +Data Fields

    uint32_t modCompScaler:15
     
    uint32_t csf:1
     
    uint32_t extLen:8
     
    uint32_t extType:7
     
    uint32_t ef:1
     
    +

    Detailed Description

    +

    Modulation Compression Parameter Extension Type(ExtType 4), 5.4.7.4 Only applies to section type 1 and 3. The structure is reordered for byte order conversion.

    + +

    Definition at line 257 of file xran_pkt_cp.h.

    +

    Field Documentation

    + +

    ◆ csf

    + +
    +
    + + + + +
    uint32_t csf
    +
    +

    5.4.7.4.1 constellation shift flag

    + +

    Definition at line 260 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ ef

    + +
    +
    + + + + +
    uint32_t ef
    +
    +

    5.4.6.2 extension flag

    + +

    Definition at line 264 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ extLen

    + +
    +
    + + + + +
    uint32_t extLen
    +
    +

    5.4.6.3 extension length, in 32bits words

    + +

    Definition at line 262 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ extType

    + +
    +
    + + + + +
    uint32_t extType
    +
    +

    5.4.6.1 extension type

    + +

    Definition at line 263 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ modCompScaler

    + +
    +
    + + + + +
    uint32_t modCompScaler
    +
    +

    5.4.7.4.2 modulation compression scaler value

    + +

    Definition at line 259 of file xran_pkt_cp.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structxran__cp__radioapp__section__ext4__coll__graph.map b/docs/API/structxran__cp__radioapp__section__ext4__coll__graph.map new file mode 100644 index 0000000..e7eb225 --- /dev/null +++ b/docs/API/structxran__cp__radioapp__section__ext4__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structxran__cp__radioapp__section__ext4__coll__graph.md5 b/docs/API/structxran__cp__radioapp__section__ext4__coll__graph.md5 new file mode 100644 index 0000000..f34bee2 --- /dev/null +++ b/docs/API/structxran__cp__radioapp__section__ext4__coll__graph.md5 @@ -0,0 +1 @@ +b53b7da116fcf25eb0dc245ecc433808 \ No newline at end of file diff --git a/docs/API/structxran__cp__radioapp__section__ext4__coll__graph.png b/docs/API/structxran__cp__radioapp__section__ext4__coll__graph.png new file mode 100644 index 0000000..bb12eb0 Binary files /dev/null and b/docs/API/structxran__cp__radioapp__section__ext4__coll__graph.png differ diff --git a/docs/API/structxran__cp__radioapp__section__ext5.html b/docs/API/structxran__cp__radioapp__section__ext5.html new file mode 100644 index 0000000..5d4e9a1 --- /dev/null +++ b/docs/API/structxran__cp__radioapp__section__ext5.html @@ -0,0 +1,226 @@ + + + + + + + +o-du/phy: xran_cp_radioapp_section_ext5 Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    xran_cp_radioapp_section_ext5 Struct Reference
    +
    +
    + +

    #include <xran_pkt_cp.h>

    +
    +Collaboration diagram for xran_cp_radioapp_section_ext5:
    +
    +
    Collaboration graph
    +
    + + + + + + + + + + + + + + + + +

    +Data Fields

    uint32_t reserved0:8
     
    uint32_t mcScaleOffset2:15
     
    uint32_t csf2:1
     
    uint32_t mcScaleReMask2:12
     
    uint32_t mcScaleOffset1:15
     
    uint32_t csf1:1
     
    uint32_t mcScaleReMask1:12
     
    +

    Detailed Description

    +
    +

    Definition at line 318 of file xran_pkt_cp.h.

    +

    Field Documentation

    + +

    ◆ csf1

    + +
    +
    + + + + +
    uint32_t csf1
    +
    +

    5.4.7.5.2 constellation shift flag

    + +

    Definition at line 324 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ csf2

    + +
    +
    + + + + +
    uint32_t csf2
    +
    +

    5.4.7.5.2 constellation shift flag

    + +

    Definition at line 321 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ mcScaleOffset1

    + +
    +
    + + + + +
    uint32_t mcScaleOffset1
    +
    +

    5.4.7.5.3 scaling value for modulation compression

    + +

    Definition at line 323 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ mcScaleOffset2

    + +
    +
    + + + + +
    uint32_t mcScaleOffset2
    +
    +

    5.4.7.5.3 scaling value for modulation compression

    + +

    Definition at line 320 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ mcScaleReMask1

    + +
    +
    + + + + +
    uint32_t mcScaleReMask1
    +
    +

    5.4.7.5.1 modulation compression power scale RE mask

    + +

    Definition at line 325 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ mcScaleReMask2

    + +
    +
    + + + + +
    uint32_t mcScaleReMask2
    +
    +

    5.4.7.5.1 modulation compression power scale RE mask

    + +

    Definition at line 322 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ reserved0

    + +
    +
    + + + + +
    uint32_t reserved0
    +
    + +

    Definition at line 319 of file xran_pkt_cp.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structxran__cp__radioapp__section__ext5__coll__graph.map b/docs/API/structxran__cp__radioapp__section__ext5__coll__graph.map new file mode 100644 index 0000000..3241117 --- /dev/null +++ b/docs/API/structxran__cp__radioapp__section__ext5__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structxran__cp__radioapp__section__ext5__coll__graph.md5 b/docs/API/structxran__cp__radioapp__section__ext5__coll__graph.md5 new file mode 100644 index 0000000..2b1665e --- /dev/null +++ b/docs/API/structxran__cp__radioapp__section__ext5__coll__graph.md5 @@ -0,0 +1 @@ +3c49bfda002b80bba38d604bf12df268 \ No newline at end of file diff --git a/docs/API/structxran__cp__radioapp__section__ext5__coll__graph.png b/docs/API/structxran__cp__radioapp__section__ext5__coll__graph.png new file mode 100644 index 0000000..b98612c Binary files /dev/null and b/docs/API/structxran__cp__radioapp__section__ext5__coll__graph.png differ diff --git a/docs/API/structxran__cp__radioapp__section__ext__hdr.html b/docs/API/structxran__cp__radioapp__section__ext__hdr.html new file mode 100644 index 0000000..fbed374 --- /dev/null +++ b/docs/API/structxran__cp__radioapp__section__ext__hdr.html @@ -0,0 +1,151 @@ + + + + + + + +o-du/phy: xran_cp_radioapp_section_ext_hdr Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    xran_cp_radioapp_section_ext_hdr Struct Reference
    +
    +
    + +

    #include <xran_pkt_cp.h>

    +
    +Collaboration diagram for xran_cp_radioapp_section_ext_hdr:
    +
    +
    Collaboration graph
    +
    + + + + + + + + +

    +Data Fields

    uint16_t extLen:8
     
    uint16_t extType:7
     
    uint16_t ef:1
     
    +

    Detailed Description

    +
    +

    Definition at line 126 of file xran_pkt_cp.h.

    +

    Field Documentation

    + +

    ◆ ef

    + +
    +
    + + + + +
    uint16_t ef
    +
    +

    5.4.6.2 extension flag

    + +

    Definition at line 132 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ extLen

    + +
    +
    + + + + +
    uint16_t extLen
    +
    +

    5.4.6.3 extension length, in 32bits words

    + +

    Definition at line 130 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ extType

    + +
    +
    + + + + +
    uint16_t extType
    +
    +

    5.4.6.1 extension type

    + +

    Definition at line 131 of file xran_pkt_cp.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structxran__cp__radioapp__section__ext__hdr__coll__graph.map b/docs/API/structxran__cp__radioapp__section__ext__hdr__coll__graph.map new file mode 100644 index 0000000..606e2cc --- /dev/null +++ b/docs/API/structxran__cp__radioapp__section__ext__hdr__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structxran__cp__radioapp__section__ext__hdr__coll__graph.md5 b/docs/API/structxran__cp__radioapp__section__ext__hdr__coll__graph.md5 new file mode 100644 index 0000000..50f0ea7 --- /dev/null +++ b/docs/API/structxran__cp__radioapp__section__ext__hdr__coll__graph.md5 @@ -0,0 +1 @@ +7f2a09713d03f2f79f05fbeae122cfc9 \ No newline at end of file diff --git a/docs/API/structxran__cp__radioapp__section__ext__hdr__coll__graph.png b/docs/API/structxran__cp__radioapp__section__ext__hdr__coll__graph.png new file mode 100644 index 0000000..adb264d Binary files /dev/null and b/docs/API/structxran__cp__radioapp__section__ext__hdr__coll__graph.png differ diff --git a/docs/API/structxran__cp__radioapp__section__header.html b/docs/API/structxran__cp__radioapp__section__header.html new file mode 100644 index 0000000..a6c7de0 --- /dev/null +++ b/docs/API/structxran__cp__radioapp__section__header.html @@ -0,0 +1,406 @@ + + + + + + + +o-du/phy: xran_cp_radioapp_section_header Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    xran_cp_radioapp_section_header Struct Reference
    +
    +
    + +

    #include <xran_pkt_cp.h>

    +
    +Collaboration diagram for xran_cp_radioapp_section_header:
    +
    +
    Collaboration graph
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    union {
       struct {
          uint32_t   reserved:16
     
          uint32_t   numSymbol:4
     
          uint32_t   reMask:12
     
       }   s0
     
       struct {
          uint32_t   beamId:15
     
          uint32_t   ef:1
     
          uint32_t   numSymbol:4
     
          uint32_t   reMask:12
     
       }   s1
     
       struct {
          uint32_t   beamId:15
     
          uint32_t   ef:1
     
          uint32_t   numSymbol:4
     
          uint32_t   reMask:12
     
       }   s3
     
       struct {
          uint32_t   ueId:15
     
          uint32_t   ef:1
     
          uint32_t   numSymbol:4
     
          uint32_t   reMask:12
     
       }   s5
     
    u
     
    uint32_t numPrbc:8
     
    uint32_t startPrbc:10
     
    uint32_t symInc:1
     
    uint32_t rb:1
     
    uint32_t sectionId:12
     
    +

    Detailed Description

    +

    Section headers definition for C-Plane. Section type 6 and 7 are not present since those have different fields.

    + +

    Definition at line 91 of file xran_pkt_cp.h.

    +

    Field Documentation

    + +

    ◆ beamId

    + +
    +
    + + + + +
    uint32_t beamId
    +
    +

    5.4.5.9 beam identifier

    + +

    Definition at line 99 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ ef

    + +
    +
    + + + + +
    uint32_t ef
    +
    +

    5.4.5.8 extension flag

    + +

    Definition at line 100 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ numPrbc

    + +
    +
    + + + + +
    uint32_t numPrbc
    +
    +

    5.4.5.6 number of contiguous PRBs per control section 0000 0000b = all PRBs

    + +

    Definition at line 118 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ numSymbol

    + +
    +
    + + + + +
    uint32_t numSymbol
    +
    +

    5.4.5.7 number of symbols

    + +

    Definition at line 95 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ rb

    + +
    +
    + + + + +
    uint32_t rb
    +
    +

    5.4.5.2 resource block indicator, XRAN_RBIND_xxx

    + +

    Definition at line 121 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ reMask

    + +
    +
    + + + + +
    uint32_t reMask
    +
    +

    5.4.5.5 resource element mask

    + +

    Definition at line 96 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ reserved

    + +
    +
    + + + + +
    uint32_t reserved
    +
    + +

    Definition at line 94 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ s0

    + +
    +
    + + + + +
    struct { ... } s0
    +
    + +
    +
    + +

    ◆ s1

    + +
    +
    + + + + +
    struct { ... } s1
    +
    + +
    +
    + +

    ◆ s3

    + +
    +
    + + + + +
    struct { ... } s3
    +
    + +
    +
    + +

    ◆ s5

    + +
    +
    + + + + +
    struct { ... } s5
    +
    + +
    +
    + +

    ◆ sectionId

    + +
    +
    + + + + +
    uint32_t sectionId
    +
    +

    5.4.5.1 section identifier

    + +

    Definition at line 122 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ startPrbc

    + +
    +
    + + + + +
    uint32_t startPrbc
    +
    +

    5.4.5.4 starting PRB of control section

    + +

    Definition at line 119 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ symInc

    + +
    +
    + + + + +
    uint32_t symInc
    +
    +

    5.4.5.3 symbol number increment command XRAN_SYMBOLNUMBER_xxxx

    + +

    Definition at line 120 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ u

    + +
    +
    + + + + +
    union { ... } u
    +
    + +
    +
    + +

    ◆ ueId

    + +
    +
    + + + + +
    uint32_t ueId
    +
    +

    5.4.5.10 UE identifier

    + +

    Definition at line 111 of file xran_pkt_cp.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structxran__cp__radioapp__section__header__coll__graph.map b/docs/API/structxran__cp__radioapp__section__header__coll__graph.map new file mode 100644 index 0000000..6871259 --- /dev/null +++ b/docs/API/structxran__cp__radioapp__section__header__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structxran__cp__radioapp__section__header__coll__graph.md5 b/docs/API/structxran__cp__radioapp__section__header__coll__graph.md5 new file mode 100644 index 0000000..9e301e9 --- /dev/null +++ b/docs/API/structxran__cp__radioapp__section__header__coll__graph.md5 @@ -0,0 +1 @@ +0be2c38ec78571e20f2964dd90c200aa \ No newline at end of file diff --git a/docs/API/structxran__cp__radioapp__section__header__coll__graph.png b/docs/API/structxran__cp__radioapp__section__header__coll__graph.png new file mode 100644 index 0000000..848748a Binary files /dev/null and b/docs/API/structxran__cp__radioapp__section__header__coll__graph.png differ diff --git a/docs/API/structxran__cp__rbmap__list.html b/docs/API/structxran__cp__rbmap__list.html new file mode 100644 index 0000000..7ce2a26 --- /dev/null +++ b/docs/API/structxran__cp__rbmap__list.html @@ -0,0 +1,303 @@ + + + + + + + +o-du/phy: xran_cp_rbmap_list Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    xran_cp_rbmap_list Struct Reference
    +
    +
    + +

    #include <xran_cp_api.h>

    +
    +Collaboration diagram for xran_cp_rbmap_list:
    +
    +
    Collaboration graph
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    uint16_t grp_id
     
    uint8_t sym_start
     
    uint8_t sym_num
     
    uint16_t rb_start
     
    uint16_t rb_num
     
    int16_t iq_buff_offset
     
    int16_t iq_buff_len
     
    uint16_t beam_id
     
    uint8_t iqWidth
     
    uint8_t comp_meth
     
    uint8_t pad0
     
    +

    Detailed Description

    +

    This structure to hold the information of RB allocation from PHY to send data for allocated RBs only.

    + +

    Definition at line 329 of file xran_cp_api.h.

    +

    Field Documentation

    + +

    ◆ beam_id

    + +
    +
    + + + + +
    uint16_t beam_id
    +
    +

    Bean Index

    + +

    Definition at line 341 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ comp_meth

    + +
    +
    + + + + +
    uint8_t comp_meth
    +
    +

    Compression method

    + +

    Definition at line 343 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ grp_id

    + +
    +
    + + + + +
    uint16_t grp_id
    +
    +

    group id for this entry, reserved for future use

    + +

    Definition at line 330 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ iq_buff_len

    + +
    +
    + + + + +
    int16_t iq_buff_len
    +
    +

    length IQs

    + +

    Definition at line 339 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ iq_buff_offset

    + +
    +
    + + + + +
    int16_t iq_buff_offset
    +
    +

    Offset within Sym for start of IQs

    + +

    Definition at line 338 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ iqWidth

    + +
    +
    + + + + +
    uint8_t iqWidth
    +
    +

    I and Q width in bits

    + +

    Definition at line 342 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ pad0

    + +
    +
    + + + + +
    uint8_t pad0
    +
    + +

    Definition at line 344 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ rb_num

    + +
    +
    + + + + +
    uint16_t rb_num
    +
    +

    Number of RBs

    + +

    Definition at line 336 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ rb_start

    + +
    +
    + + + + +
    uint16_t rb_start
    +
    +

    Start RB position

    + +

    Definition at line 335 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ sym_num

    + +
    +
    + + + + +
    uint8_t sym_num
    +
    +

    Number of symbols

    + +

    Definition at line 333 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ sym_start

    + +
    +
    + + + + +
    uint8_t sym_start
    +
    +

    Start symbol ID

    + +

    Definition at line 332 of file xran_cp_api.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structxran__cp__rbmap__list__coll__graph.map b/docs/API/structxran__cp__rbmap__list__coll__graph.map new file mode 100644 index 0000000..f87faff --- /dev/null +++ b/docs/API/structxran__cp__rbmap__list__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structxran__cp__rbmap__list__coll__graph.md5 b/docs/API/structxran__cp__rbmap__list__coll__graph.md5 new file mode 100644 index 0000000..f43bd53 --- /dev/null +++ b/docs/API/structxran__cp__rbmap__list__coll__graph.md5 @@ -0,0 +1 @@ +6599340fc6c16fbfa8eb759e6bb9533b \ No newline at end of file diff --git a/docs/API/structxran__cp__rbmap__list__coll__graph.png b/docs/API/structxran__cp__rbmap__list__coll__graph.png new file mode 100644 index 0000000..1ff230a Binary files /dev/null and b/docs/API/structxran__cp__rbmap__list__coll__graph.png differ diff --git a/docs/API/structxran__device__ctx.html b/docs/API/structxran__device__ctx.html new file mode 100644 index 0000000..a4e0917 --- /dev/null +++ b/docs/API/structxran__device__ctx.html @@ -0,0 +1,1088 @@ + + + + + + + +o-du/phy: xran_device_ctx Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    xran_device_ctx Struct Reference
    +
    +
    + +

    #include <xran_common.h>

    +
    +Collaboration diagram for xran_device_ctx:
    +
    +
    Collaboration graph
    + + + + + + + + + + + + + + + + + +
    + + + + +

    +Public Member Functions

     LIST_HEAD (sym_cb_elem_list, cb_elem_entry) sym_cb_list_head[XRAN_MAX_SECTOR_NR][XRAN_NUM_OF_SYMBOL_PER_SLOT]
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    uint8_t sector_id
     
    uint8_t xran_port_id
     
    struct xran_eaxcid_config eAxc_id_cfg
     
    struct xran_fh_init fh_init
     
    struct xran_fh_config fh_cfg
     
    struct xran_prach_cp_config PrachCPConfig
     
    uint32_t enablePrach
     
    uint32_t enableCP
     
    int32_t DynamicSectionEna
     
    int64_t offset_sec
     
    int64_t offset_nsec
     
    uint32_t enableSrs
     
    struct xran_srs_config srs_cfg
     
    BbuIoBufCtrlStruct sFrontHaulTxBbuIoBufCtrl [XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR]
     
    BbuIoBufCtrlStruct sFrontHaulTxPrbMapBbuIoBufCtrl [XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR]
     
    BbuIoBufCtrlStruct sFrontHaulRxBbuIoBufCtrl [XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR]
     
    BbuIoBufCtrlStruct sFrontHaulRxPrbMapBbuIoBufCtrl [XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR]
     
    BbuIoBufCtrlStruct sFHPrachRxBbuIoBufCtrl [XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR]
     
    BbuIoBufCtrlStruct sFHSrsRxBbuIoBufCtrl [XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANT_ARRAY_ELM_NR]
     
    struct xran_flat_buffer sFrontHaulTxBuffers [XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR][XRAN_NUM_OF_SYMBOL_PER_SLOT]
     
    struct xran_flat_buffer sFrontHaulTxPrbMapBuffers [XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR][XRAN_NUM_OF_SYMBOL_PER_SLOT]
     
    struct xran_flat_buffer sFrontHaulRxBuffers [XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR][XRAN_NUM_OF_SYMBOL_PER_SLOT]
     
    struct xran_flat_buffer sFrontHaulRxPrbMapBuffers [XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR][XRAN_NUM_OF_SYMBOL_PER_SLOT]
     
    struct xran_flat_buffer sFHPrachRxBuffers [XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR][XRAN_NUM_OF_SYMBOL_PER_SLOT]
     
    struct xran_flat_buffer sFHSrsRxBuffers [XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANT_ARRAY_ELM_NR][XRAN_MAX_NUM_OF_SRS_SYMBOL_PER_SLOT]
     
    xran_transport_callback_fn pCallback [XRAN_MAX_SECTOR_NR]
     
    void * pCallbackTag [XRAN_MAX_SECTOR_NR]
     
    xran_transport_callback_fn pPrachCallback [XRAN_MAX_SECTOR_NR]
     
    void * pPrachCallbackTag [XRAN_MAX_SECTOR_NR]
     
    xran_transport_callback_fn pSrsCallback [XRAN_MAX_SECTOR_NR]
     
    void * pSrsCallbackTag [XRAN_MAX_SECTOR_NR]
     
    int32_t sym_up
     
    int32_t sym_up_ul
     
    xran_fh_tti_callback_fn ttiCb [XRAN_CB_MAX]
     
    void * TtiCbParam [XRAN_CB_MAX]
     
    uint32_t SkipTti [XRAN_CB_MAX]
     
    int xran2phy_mem_ready
     
    int rx_packet_symb_tracker [XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_NUM_OF_SYMBOL_PER_SLOT]
     
    int rx_packet_prach_tracker [XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_NUM_OF_SYMBOL_PER_SLOT]
     
    int rx_packet_callback_tracker [XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR]
     
    int rx_packet_prach_callback_tracker [XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR]
     
    int prach_start_symbol [XRAN_MAX_SECTOR_NR]
     
    int prach_last_symbol [XRAN_MAX_SECTOR_NR]
     
    int phy_tti_cb_done
     
    struct rte_mempool * direct_pool
     
    struct rte_mempool * indirect_pool
     
    struct mbuf_table tx_mbufs [RTE_MAX_ETHPORTS]
     
    struct xran_common_counters fh_counters
     
    phy_encoder_poll_fn bbdev_enc
     
    phy_decoder_poll_fn bbdev_dec
     
    xran_ethdi_mbuf_send_fn send_cpmbuf2ring
     
    xran_ethdi_mbuf_send_fn send_upmbuf2ring
     
    +

    Detailed Description

    +
    +

    Definition at line 203 of file xran_common.h.

    +

    Member Function Documentation

    + +

    ◆ LIST_HEAD()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    LIST_HEAD (sym_cb_elem_list ,
    cb_elem_entry  
    )
    +
    + +
    +
    +

    Field Documentation

    + +

    ◆ bbdev_dec

    + +
    +
    + + + + +
    phy_decoder_poll_fn bbdev_dec
    +
    +

    call back to poll BBDev decoder

    + +

    Definition at line 274 of file xran_common.h.

    + +
    +
    + +

    ◆ bbdev_enc

    + +
    +
    + + + + +
    phy_encoder_poll_fn bbdev_enc
    +
    +

    call back to poll BBDev encoder

    + +

    Definition at line 273 of file xran_common.h.

    + +
    +
    + +

    ◆ direct_pool

    + +
    +
    + + + + +
    struct rte_mempool* direct_pool
    +
    + +

    Definition at line 267 of file xran_common.h.

    + +
    +
    + +

    ◆ DynamicSectionEna

    + +
    +
    + + + + +
    int32_t DynamicSectionEna
    +
    + +

    Definition at line 215 of file xran_common.h.

    + +
    +
    + +

    ◆ eAxc_id_cfg

    + +
    +
    + + + + +
    struct xran_eaxcid_config eAxc_id_cfg
    +
    + +

    Definition at line 207 of file xran_common.h.

    + +
    +
    + +

    ◆ enableCP

    + +
    +
    + + + + +
    uint32_t enableCP
    +
    + +

    Definition at line 213 of file xran_common.h.

    + +
    +
    + +

    ◆ enablePrach

    + +
    +
    + + + + +
    uint32_t enablePrach
    +
    + +

    Definition at line 212 of file xran_common.h.

    + +
    +
    + +

    ◆ enableSrs

    + +
    +
    + + + + +
    uint32_t enableSrs
    +
    + +

    Definition at line 219 of file xran_common.h.

    + +
    +
    + +

    ◆ fh_cfg

    + +
    +
    + + + + +
    struct xran_fh_config fh_cfg
    +
    + +

    Definition at line 209 of file xran_common.h.

    + +
    +
    + +

    ◆ fh_counters

    + +
    +
    + + + + +
    struct xran_common_counters fh_counters
    +
    + +

    Definition at line 271 of file xran_common.h.

    + +
    +
    + +

    ◆ fh_init

    + +
    +
    + + + + +
    struct xran_fh_init fh_init
    +
    + +

    Definition at line 208 of file xran_common.h.

    + +
    +
    + +

    ◆ indirect_pool

    + +
    +
    + + + + +
    struct rte_mempool* indirect_pool
    +
    + +

    Definition at line 268 of file xran_common.h.

    + +
    +
    + +

    ◆ offset_nsec

    + +
    +
    + + + + +
    int64_t offset_nsec
    +
    + +

    Definition at line 217 of file xran_common.h.

    + +
    +
    + +

    ◆ offset_sec

    + +
    +
    + + + + +
    int64_t offset_sec
    +
    + +

    Definition at line 216 of file xran_common.h.

    + +
    +
    + +

    ◆ pCallback

    + +
    +
    + +

    Definition at line 238 of file xran_common.h.

    + +
    +
    + +

    ◆ pCallbackTag

    + +
    +
    + + + + +
    void* pCallbackTag[XRAN_MAX_SECTOR_NR]
    +
    + +

    Definition at line 239 of file xran_common.h.

    + +
    +
    + +

    ◆ phy_tti_cb_done

    + +
    +
    + + + + +
    int phy_tti_cb_done
    +
    + +

    Definition at line 265 of file xran_common.h.

    + +
    +
    + +

    ◆ pPrachCallback

    + +
    +
    + + + + +
    xran_transport_callback_fn pPrachCallback[XRAN_MAX_SECTOR_NR]
    +
    + +

    Definition at line 241 of file xran_common.h.

    + +
    +
    + +

    ◆ pPrachCallbackTag

    + +
    +
    + + + + +
    void* pPrachCallbackTag[XRAN_MAX_SECTOR_NR]
    +
    + +

    Definition at line 242 of file xran_common.h.

    + +
    +
    + +

    ◆ prach_last_symbol

    + +
    +
    + + + + +
    int prach_last_symbol[XRAN_MAX_SECTOR_NR]
    +
    + +

    Definition at line 263 of file xran_common.h.

    + +
    +
    + +

    ◆ prach_start_symbol

    + +
    +
    + + + + +
    int prach_start_symbol[XRAN_MAX_SECTOR_NR]
    +
    + +

    Definition at line 262 of file xran_common.h.

    + +
    +
    + +

    ◆ PrachCPConfig

    + +
    +
    + + + + +
    struct xran_prach_cp_config PrachCPConfig
    +
    + +

    Definition at line 210 of file xran_common.h.

    + +
    +
    + +

    ◆ pSrsCallback

    + +
    +
    + +

    Definition at line 244 of file xran_common.h.

    + +
    +
    + +

    ◆ pSrsCallbackTag

    + +
    +
    + + + + +
    void* pSrsCallbackTag[XRAN_MAX_SECTOR_NR]
    +
    + +

    Definition at line 245 of file xran_common.h.

    + +
    +
    + +

    ◆ rx_packet_callback_tracker

    + +
    +
    + + + + +
    int rx_packet_callback_tracker[XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR]
    +
    + +

    Definition at line 260 of file xran_common.h.

    + +
    +
    + +

    ◆ rx_packet_prach_callback_tracker

    + +
    +
    + + + + +
    int rx_packet_prach_callback_tracker[XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR]
    +
    + +

    Definition at line 261 of file xran_common.h.

    + +
    +
    + +

    ◆ rx_packet_prach_tracker

    + +
    +
    + + + + +
    int rx_packet_prach_tracker[XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_NUM_OF_SYMBOL_PER_SLOT]
    +
    + +

    Definition at line 259 of file xran_common.h.

    + +
    +
    + +

    ◆ rx_packet_symb_tracker

    + +
    +
    + + + + +
    int rx_packet_symb_tracker[XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_NUM_OF_SYMBOL_PER_SLOT]
    +
    + +

    Definition at line 258 of file xran_common.h.

    + +
    +
    + +

    ◆ sector_id

    + +
    +
    + + + + +
    uint8_t sector_id
    +
    + +

    Definition at line 205 of file xran_common.h.

    + +
    +
    + +

    ◆ send_cpmbuf2ring

    + +
    +
    + + + + +
    xran_ethdi_mbuf_send_fn send_cpmbuf2ring
    +
    +

    callback to send mbufs of C-Plane packets to the ring

    + +

    Definition at line 276 of file xran_common.h.

    + +
    +
    + +

    ◆ send_upmbuf2ring

    + +
    +
    + + + + +
    xran_ethdi_mbuf_send_fn send_upmbuf2ring
    +
    +

    callback to send mbufs of U-Plane packets to the ring

    + +

    Definition at line 277 of file xran_common.h.

    + +
    +
    + +

    ◆ sFHPrachRxBbuIoBufCtrl

    + +
    +
    + +

    Definition at line 226 of file xran_common.h.

    + +
    +
    + +

    ◆ sFHPrachRxBuffers

    + +
    +
    + +

    Definition at line 234 of file xran_common.h.

    + +
    +
    + +

    ◆ sFHSrsRxBbuIoBufCtrl

    + +
    +
    + +

    Definition at line 227 of file xran_common.h.

    + +
    +
    + +

    ◆ sFHSrsRxBuffers

    + +
    +
    + +

    Definition at line 236 of file xran_common.h.

    + +
    +
    + +

    ◆ sFrontHaulRxBbuIoBufCtrl

    + +
    +
    + +

    Definition at line 224 of file xran_common.h.

    + +
    +
    + +

    ◆ sFrontHaulRxBuffers

    + +
    +
    + +

    Definition at line 232 of file xran_common.h.

    + +
    +
    + +

    ◆ sFrontHaulRxPrbMapBbuIoBufCtrl

    + +
    +
    + + + + +
    BbuIoBufCtrlStruct sFrontHaulRxPrbMapBbuIoBufCtrl[XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR]
    +
    + +

    Definition at line 225 of file xran_common.h.

    + +
    +
    + +

    ◆ sFrontHaulRxPrbMapBuffers

    + +
    +
    + +

    Definition at line 233 of file xran_common.h.

    + +
    +
    + +

    ◆ sFrontHaulTxBbuIoBufCtrl

    + +
    +
    +

    configuration of SRS

    + +

    Definition at line 222 of file xran_common.h.

    + +
    +
    + +

    ◆ sFrontHaulTxBuffers

    + +
    +
    + +

    Definition at line 230 of file xran_common.h.

    + +
    +
    + +

    ◆ sFrontHaulTxPrbMapBbuIoBufCtrl

    + +
    +
    + + + + +
    BbuIoBufCtrlStruct sFrontHaulTxPrbMapBbuIoBufCtrl[XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR]
    +
    + +

    Definition at line 223 of file xran_common.h.

    + +
    +
    + +

    ◆ sFrontHaulTxPrbMapBuffers

    + +
    +
    + +

    Definition at line 231 of file xran_common.h.

    + +
    +
    + +

    ◆ SkipTti

    + +
    +
    + + + + +
    uint32_t SkipTti[XRAN_CB_MAX]
    +
    + +

    Definition at line 254 of file xran_common.h.

    + +
    +
    + +

    ◆ srs_cfg

    + +
    +
    + + + + +
    struct xran_srs_config srs_cfg
    +
    + +

    Definition at line 220 of file xran_common.h.

    + +
    +
    + +

    ◆ sym_up

    + +
    +
    + + + + +
    int32_t sym_up
    +
    +

    when we start sym 0 of up with respect to OTA time as measured in symbols

    + +

    Definition at line 249 of file xran_common.h.

    + +
    +
    + +

    ◆ sym_up_ul

    + +
    +
    + + + + +
    int32_t sym_up_ul
    +
    + +

    Definition at line 250 of file xran_common.h.

    + +
    +
    + +

    ◆ ttiCb

    + +
    +
    + +

    Definition at line 252 of file xran_common.h.

    + +
    +
    + +

    ◆ TtiCbParam

    + +
    +
    + + + + +
    void* TtiCbParam[XRAN_CB_MAX]
    +
    + +

    Definition at line 253 of file xran_common.h.

    + +
    +
    + +

    ◆ tx_mbufs

    + +
    +
    + + + + +
    struct mbuf_table tx_mbufs[RTE_MAX_ETHPORTS]
    +
    + +

    Definition at line 269 of file xran_common.h.

    + +
    +
    + +

    ◆ xran2phy_mem_ready

    + +
    +
    + + + + +
    int xran2phy_mem_ready
    +
    + +

    Definition at line 256 of file xran_common.h.

    + +
    +
    + +

    ◆ xran_port_id

    + +
    +
    + + + + +
    uint8_t xran_port_id
    +
    + +

    Definition at line 206 of file xran_common.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structxran__device__ctx__coll__graph.map b/docs/API/structxran__device__ctx__coll__graph.map new file mode 100644 index 0000000..d6859d0 --- /dev/null +++ b/docs/API/structxran__device__ctx__coll__graph.map @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/docs/API/structxran__device__ctx__coll__graph.md5 b/docs/API/structxran__device__ctx__coll__graph.md5 new file mode 100644 index 0000000..9074457 --- /dev/null +++ b/docs/API/structxran__device__ctx__coll__graph.md5 @@ -0,0 +1 @@ +a6be8d8debf833aeb1a03502c265afbb \ No newline at end of file diff --git a/docs/API/structxran__device__ctx__coll__graph.png b/docs/API/structxran__device__ctx__coll__graph.png new file mode 100644 index 0000000..7c871c4 Binary files /dev/null and b/docs/API/structxran__device__ctx__coll__graph.png differ diff --git a/docs/API/structxran__eaxc__info.html b/docs/API/structxran__eaxc__info.html new file mode 100644 index 0000000..6b57266 --- /dev/null +++ b/docs/API/structxran__eaxc__info.html @@ -0,0 +1,166 @@ + + + + + + + +o-du/phy: xran_eaxc_info Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    xran_eaxc_info Struct Reference
    +
    +
    + +

    #include <xran_transport.h>

    +
    +Collaboration diagram for xran_eaxc_info:
    +
    +
    Collaboration graph
    +
    + + + + + + + + + + +

    +Data Fields

    uint8_t cuPortId
     
    uint8_t bandSectorId
     
    uint8_t ccId
     
    uint8_t ruPortId
     
    +

    Detailed Description

    +
    +

    Definition at line 40 of file xran_transport.h.

    +

    Field Documentation

    + +

    ◆ bandSectorId

    + +
    +
    + + + + +
    uint8_t bandSectorId
    +
    + +

    Definition at line 42 of file xran_transport.h.

    + +
    +
    + +

    ◆ ccId

    + +
    +
    + + + + +
    uint8_t ccId
    +
    + +

    Definition at line 43 of file xran_transport.h.

    + +
    +
    + +

    ◆ cuPortId

    + +
    +
    + + + + +
    uint8_t cuPortId
    +
    + +

    Definition at line 41 of file xran_transport.h.

    + +
    +
    + +

    ◆ ruPortId

    + +
    +
    + + + + +
    uint8_t ruPortId
    +
    + +

    Definition at line 44 of file xran_transport.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structxran__eaxc__info__coll__graph.map b/docs/API/structxran__eaxc__info__coll__graph.map new file mode 100644 index 0000000..e71ccee --- /dev/null +++ b/docs/API/structxran__eaxc__info__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structxran__eaxc__info__coll__graph.md5 b/docs/API/structxran__eaxc__info__coll__graph.md5 new file mode 100644 index 0000000..e5878a6 --- /dev/null +++ b/docs/API/structxran__eaxc__info__coll__graph.md5 @@ -0,0 +1 @@ +3d3f8dd81b6055ccdc9e2b26de6296d5 \ No newline at end of file diff --git a/docs/API/structxran__eaxc__info__coll__graph.png b/docs/API/structxran__eaxc__info__coll__graph.png new file mode 100644 index 0000000..0efb2e4 Binary files /dev/null and b/docs/API/structxran__eaxc__info__coll__graph.png differ diff --git a/docs/API/structxran__eaxcid__config.html b/docs/API/structxran__eaxcid__config.html new file mode 100644 index 0000000..545bbeb --- /dev/null +++ b/docs/API/structxran__eaxcid__config.html @@ -0,0 +1,247 @@ + + + + + + + +o-du/phy: xran_eaxcid_config Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    xran_eaxcid_config Struct Reference
    +
    +
    + +

    #include <xran_fh_o_du.h>

    +
    +Collaboration diagram for xran_eaxcid_config:
    +
    +
    Collaboration graph
    +
    + + + + + + + + + + + + + + + + + + +

    +Data Fields

    uint16_t mask_cuPortId
     
    uint16_t mask_bandSectorId
     
    uint16_t mask_ccId
     
    uint16_t mask_ruPortId
     
    uint8_t bit_cuPortId
     
    uint8_t bit_bandSectorId
     
    uint8_t bit_ccId
     
    uint8_t bit_ruPortId
     
    +

    Detailed Description

    +

    XRAN spec section 3.1.3.1.6 ecpriRtcid / ecpriPcid define

    + +

    Definition at line 308 of file xran_fh_o_du.h.

    +

    Field Documentation

    + +

    ◆ bit_bandSectorId

    + +
    +
    + + + + +
    uint8_t bit_bandSectorId
    +
    +

    ccId + ruPortId

    + +

    Definition at line 315 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ bit_ccId

    + +
    +
    + + + + +
    uint8_t bit_ccId
    +
    +

    ruportId

    + +

    Definition at line 316 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ bit_cuPortId

    + +
    +
    + + + + +
    uint8_t bit_cuPortId
    +
    +

    bandsectorId + ccId + ruportId

    + +

    Definition at line 314 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ bit_ruPortId

    + +
    +
    + + + + +
    uint8_t bit_ruPortId
    +
    +

    0

    + +

    Definition at line 317 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ mask_bandSectorId

    + +
    +
    + + + + +
    uint16_t mask_bandSectorId
    +
    +

    Mask Band

    + +

    Definition at line 310 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ mask_ccId

    + +
    +
    + + + + +
    uint16_t mask_ccId
    +
    +

    Mask CC

    + +

    Definition at line 311 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ mask_cuPortId

    + +
    +
    + + + + +
    uint16_t mask_cuPortId
    +
    +

    Mask CU PortId

    + +

    Definition at line 309 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ mask_ruPortId

    + +
    +
    + + + + +
    uint16_t mask_ruPortId
    +
    +

    Mask RU Port ID

    + +

    Definition at line 312 of file xran_fh_o_du.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structxran__eaxcid__config__coll__graph.map b/docs/API/structxran__eaxcid__config__coll__graph.map new file mode 100644 index 0000000..43e45b8 --- /dev/null +++ b/docs/API/structxran__eaxcid__config__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structxran__eaxcid__config__coll__graph.md5 b/docs/API/structxran__eaxcid__config__coll__graph.md5 new file mode 100644 index 0000000..5d1d438 --- /dev/null +++ b/docs/API/structxran__eaxcid__config__coll__graph.md5 @@ -0,0 +1 @@ +3608f08a7f3bb0bb81f01bb525d12296 \ No newline at end of file diff --git a/docs/API/structxran__eaxcid__config__coll__graph.png b/docs/API/structxran__eaxcid__config__coll__graph.png new file mode 100644 index 0000000..3b6355c Binary files /dev/null and b/docs/API/structxran__eaxcid__config__coll__graph.png differ diff --git a/docs/API/structxran__ecpri__cmn__hdr.html b/docs/API/structxran__ecpri__cmn__hdr.html new file mode 100644 index 0000000..d874435 --- /dev/null +++ b/docs/API/structxran__ecpri__cmn__hdr.html @@ -0,0 +1,190 @@ + + + + + + + +o-du/phy: xran_ecpri_cmn_hdr Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    xran_ecpri_cmn_hdr Struct Reference
    +
    +
    + +

    #include <xran_pkt.h>

    +
    +Collaboration diagram for xran_ecpri_cmn_hdr:
    +
    +
    Collaboration graph
    +
    + + + + + + + + + + + + +

    +Data Fields

    uint8_t ecpri_concat:1
     
    uint8_t ecpri_resv:3
     
    uint8_t ecpri_ver:4
     
    uint8_t ecpri_mesg_type
     
    uint16_t ecpri_payl_size
     
    +

    Detailed Description

    +

    Structure holds common eCPRI header as per Table 3 1 : eCPRI Transport Header Field Definitions

    + +

    Definition at line 113 of file xran_pkt.h.

    +

    Field Documentation

    + +

    ◆ ecpri_concat

    + +
    +
    + + + + +
    uint8_t ecpri_concat
    +
    +

    3.1.3.1.3 eCPRI concatenation indicator

    + +

    Definition at line 115 of file xran_pkt.h.

    + +
    +
    + +

    ◆ ecpri_mesg_type

    + +
    +
    + + + + +
    uint8_t ecpri_mesg_type
    +
    +

    3.1.3.1.4 eCPRI message type, defined in ecpri_msg_type

    + +

    Definition at line 118 of file xran_pkt.h.

    + +
    +
    + +

    ◆ ecpri_payl_size

    + +
    +
    + + + + +
    uint16_t ecpri_payl_size
    +
    +

    3.1.3.1.5 eCPRI payload size, without common header and any padding bytes

    + +

    Definition at line 119 of file xran_pkt.h.

    + +
    +
    + +

    ◆ ecpri_resv

    + +
    +
    + + + + +
    uint8_t ecpri_resv
    +
    +

    3.1.3.1.2 eCPRI reserved

    + +

    Definition at line 116 of file xran_pkt.h.

    + +
    +
    + +

    ◆ ecpri_ver

    + +
    +
    + + + + +
    uint8_t ecpri_ver
    +
    +

    3.1.3.1.1 eCPRI protocol revision, defined in XRAN_ECPRI_VER

    + +

    Definition at line 117 of file xran_pkt.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structxran__ecpri__cmn__hdr__coll__graph.map b/docs/API/structxran__ecpri__cmn__hdr__coll__graph.map new file mode 100644 index 0000000..8558591 --- /dev/null +++ b/docs/API/structxran__ecpri__cmn__hdr__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structxran__ecpri__cmn__hdr__coll__graph.md5 b/docs/API/structxran__ecpri__cmn__hdr__coll__graph.md5 new file mode 100644 index 0000000..fdd9207 --- /dev/null +++ b/docs/API/structxran__ecpri__cmn__hdr__coll__graph.md5 @@ -0,0 +1 @@ +a6ef9d87a9992462c1ec306706574d98 \ No newline at end of file diff --git a/docs/API/structxran__ecpri__cmn__hdr__coll__graph.png b/docs/API/structxran__ecpri__cmn__hdr__coll__graph.png new file mode 100644 index 0000000..53bd670 Binary files /dev/null and b/docs/API/structxran__ecpri__cmn__hdr__coll__graph.png differ diff --git a/docs/API/structxran__ecpri__hdr.html b/docs/API/structxran__ecpri__hdr.html new file mode 100644 index 0000000..82ea9cd --- /dev/null +++ b/docs/API/structxran__ecpri__hdr.html @@ -0,0 +1,155 @@ + + + + + + + +o-du/phy: xran_ecpri_hdr Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    xran_ecpri_hdr Struct Reference
    +
    +
    + +

    #include <xran_pkt.h>

    +
    +Collaboration diagram for xran_ecpri_hdr:
    +
    +
    Collaboration graph
    + + + + +
    + + + + + + + + +

    +Data Fields

    struct xran_ecpri_cmn_hdr cmnhdr
     
    rte_be16_t ecpri_xtc_id
     
    struct ecpri_seq_id ecpri_seq_id
     
    +

    Detailed Description

    +

    Structure holds eCPRI transport header as per Table 3 1 : eCPRI Transport Header Field Definitions

    + +

    Definition at line 130 of file xran_pkt.h.

    +

    Field Documentation

    + +

    ◆ cmnhdr

    + +
    +
    + + + + +
    struct xran_ecpri_cmn_hdr cmnhdr
    +
    + +

    Definition at line 132 of file xran_pkt.h.

    + +
    +
    + +

    ◆ ecpri_seq_id

    + +
    +
    + + + + +
    struct ecpri_seq_id ecpri_seq_id
    +
    +

    3.1.3.1.7 message identifier

    + +

    Definition at line 134 of file xran_pkt.h.

    + +
    +
    + +

    ◆ ecpri_xtc_id

    + +
    +
    + + + + +
    rte_be16_t ecpri_xtc_id
    +
    +

    3.1.3.1.6 real time control data / IQ data transfer message series identifier

    + +

    Definition at line 133 of file xran_pkt.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structxran__ecpri__hdr__coll__graph.map b/docs/API/structxran__ecpri__hdr__coll__graph.map new file mode 100644 index 0000000..7cb7023 --- /dev/null +++ b/docs/API/structxran__ecpri__hdr__coll__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/structxran__ecpri__hdr__coll__graph.md5 b/docs/API/structxran__ecpri__hdr__coll__graph.md5 new file mode 100644 index 0000000..d528c50 --- /dev/null +++ b/docs/API/structxran__ecpri__hdr__coll__graph.md5 @@ -0,0 +1 @@ +a55b131f198bb14c3d2b4b360a6cda07 \ No newline at end of file diff --git a/docs/API/structxran__ecpri__hdr__coll__graph.png b/docs/API/structxran__ecpri__hdr__coll__graph.png new file mode 100644 index 0000000..c436472 Binary files /dev/null and b/docs/API/structxran__ecpri__hdr__coll__graph.png differ diff --git a/docs/API/structxran__ethdi__ctx.html b/docs/API/structxran__ethdi__ctx.html new file mode 100644 index 0000000..e9c5de1 --- /dev/null +++ b/docs/API/structxran__ethdi__ctx.html @@ -0,0 +1,385 @@ + + + + + + + +o-du/phy: xran_ethdi_ctx Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    xran_ethdi_ctx Struct Reference
    +
    +
    + +

    #include <ethdi.h>

    +
    +Collaboration diagram for xran_ethdi_ctx:
    +
    +
    Collaboration graph
    + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    struct xran_io_loop_cfg io_cfg
     
    struct ether_addr entities [ID_BROADCAST+1]
     
    uint8_t ping_state
     
    int ping_times
     
    int known_peers
     
    struct rte_ring * tx_ring [ETHDI_VF_MAX]
     
    struct rte_ring * rx_ring [ETHDI_VF_MAX]
     
    struct rte_ring * pkt_dump_ring [ETHDI_VF_MAX]
     
    struct rte_timer timer_autodetect
     
    struct rte_timer timer_ping
     
    struct rte_timer timer_sync
     
    struct rte_timer timer_tx
     
    uint64_t busy_poll_till
     
    unsigned pkt_stats [PKT_LAST+1]
     
    uint16_t cp_vtag
     
    uint16_t up_vtag
     
    +

    Detailed Description

    +
    +

    Definition at line 111 of file ethdi.h.

    +

    Field Documentation

    + +

    ◆ busy_poll_till

    + +
    +
    + + + + +
    uint64_t busy_poll_till
    +
    + +

    Definition at line 127 of file ethdi.h.

    + +
    +
    + +

    ◆ cp_vtag

    + +
    +
    + + + + +
    uint16_t cp_vtag
    +
    + +

    Definition at line 131 of file ethdi.h.

    + +
    +
    + +

    ◆ entities

    + +
    +
    + + + + +
    struct ether_addr entities[ID_BROADCAST+1]
    +
    + +

    Definition at line 114 of file ethdi.h.

    + +
    +
    + +

    ◆ io_cfg

    + +
    +
    + + + + +
    struct xran_io_loop_cfg io_cfg
    +
    + +

    Definition at line 113 of file ethdi.h.

    + +
    +
    + +

    ◆ known_peers

    + +
    +
    + + + + +
    int known_peers
    +
    + +

    Definition at line 117 of file ethdi.h.

    + +
    +
    + +

    ◆ ping_state

    + +
    +
    + + + + +
    uint8_t ping_state
    +
    + +

    Definition at line 115 of file ethdi.h.

    + +
    +
    + +

    ◆ ping_times

    + +
    +
    + + + + +
    int ping_times
    +
    + +

    Definition at line 116 of file ethdi.h.

    + +
    +
    + +

    ◆ pkt_dump_ring

    + +
    +
    + + + + +
    struct rte_ring* pkt_dump_ring[ETHDI_VF_MAX]
    +
    + +

    Definition at line 121 of file ethdi.h.

    + +
    +
    + +

    ◆ pkt_stats

    + +
    +
    + + + + +
    unsigned pkt_stats[PKT_LAST+1]
    +
    + +

    Definition at line 129 of file ethdi.h.

    + +
    +
    + +

    ◆ rx_ring

    + +
    +
    + + + + +
    struct rte_ring* rx_ring[ETHDI_VF_MAX]
    +
    + +

    Definition at line 120 of file ethdi.h.

    + +
    +
    + +

    ◆ timer_autodetect

    + +
    +
    + + + + +
    struct rte_timer timer_autodetect
    +
    + +

    Definition at line 122 of file ethdi.h.

    + +
    +
    + +

    ◆ timer_ping

    + +
    +
    + + + + +
    struct rte_timer timer_ping
    +
    + +

    Definition at line 123 of file ethdi.h.

    + +
    +
    + +

    ◆ timer_sync

    + +
    +
    + + + + +
    struct rte_timer timer_sync
    +
    + +

    Definition at line 124 of file ethdi.h.

    + +
    +
    + +

    ◆ timer_tx

    + +
    +
    + + + + +
    struct rte_timer timer_tx
    +
    + +

    Definition at line 125 of file ethdi.h.

    + +
    +
    + +

    ◆ tx_ring

    + +
    +
    + + + + +
    struct rte_ring* tx_ring[ETHDI_VF_MAX]
    +
    + +

    Definition at line 119 of file ethdi.h.

    + +
    +
    + +

    ◆ up_vtag

    + +
    +
    + + + + +
    uint16_t up_vtag
    +
    + +

    Definition at line 132 of file ethdi.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structxran__ethdi__ctx__coll__graph.map b/docs/API/structxran__ethdi__ctx__coll__graph.map new file mode 100644 index 0000000..d6fd188 --- /dev/null +++ b/docs/API/structxran__ethdi__ctx__coll__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/structxran__ethdi__ctx__coll__graph.md5 b/docs/API/structxran__ethdi__ctx__coll__graph.md5 new file mode 100644 index 0000000..574b255 --- /dev/null +++ b/docs/API/structxran__ethdi__ctx__coll__graph.md5 @@ -0,0 +1 @@ +c5afd19957c0c7f2e78a92a7031bd774 \ No newline at end of file diff --git a/docs/API/structxran__ethdi__ctx__coll__graph.png b/docs/API/structxran__ethdi__ctx__coll__graph.png new file mode 100644 index 0000000..46c4a8a Binary files /dev/null and b/docs/API/structxran__ethdi__ctx__coll__graph.png differ diff --git a/docs/API/structxran__fh__config.html b/docs/API/structxran__fh__config.html new file mode 100644 index 0000000..fedfb51 --- /dev/null +++ b/docs/API/structxran__fh__config.html @@ -0,0 +1,539 @@ + + + + + + + +o-du/phy: xran_fh_config Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    xran_fh_config Struct Reference
    +
    +
    + +

    #include <xran_fh_o_du.h>

    +
    +Collaboration diagram for xran_fh_config:
    +
    +
    Collaboration graph
    + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    uint32_t dpdk_port
     
    uint32_t sector_id
     
    uint32_t nCC
     
    uint32_t neAxc
     
    uint32_t neAxcUl
     
    uint32_t nAntElmTRx
     
    uint16_t nDLFftSize
     
    uint16_t nULFftSize
     
    uint16_t nDLRBs
     
    uint16_t nULRBs
     
    uint32_t nDLAbsFrePointA
     
    uint32_t nULAbsFrePointA
     
    uint32_t nDLCenterFreqARFCN
     
    uint32_t nULCenterFreqARFCN
     
    xran_fh_tti_callback_fn ttiCb
     
    void * ttiCbParam
     
    struct xran_prach_config prach_conf
     
    struct xran_srs_config srs_conf
     
    struct xran_frame_config frame_conf
     
    struct xran_ru_config ru_conf
     
    phy_encoder_poll_fn bbdev_enc
     
    phy_decoder_poll_fn bbdev_dec
     
    uint32_t log_level
     
    +

    Detailed Description

    +

    XRAN front haul general configuration

    + +

    Definition at line 497 of file xran_fh_o_du.h.

    +

    Field Documentation

    + +

    ◆ bbdev_dec

    + +
    +
    + + + + +
    phy_decoder_poll_fn bbdev_dec
    +
    +

    call back to poll BBDev decoder

    + +

    Definition at line 521 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ bbdev_enc

    + +
    +
    + + + + +
    phy_encoder_poll_fn bbdev_enc
    +
    +

    call back to poll BBDev encoder

    + +

    Definition at line 520 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ dpdk_port

    + +
    +
    + + + + +
    uint32_t dpdk_port
    +
    +

    DPDK port number used for FH

    + +

    Definition at line 498 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ frame_conf

    + +
    +
    + + + + +
    struct xran_frame_config frame_conf
    +
    +

    frame config

    + +

    Definition at line 517 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ log_level

    + +
    +
    + + + + +
    uint32_t log_level
    +
    +

    configuration of log level

    + +

    Definition at line 523 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ nAntElmTRx

    + +
    +
    + + + + +
    uint32_t nAntElmTRx
    +
    +

    Number of antenna elements for TX and RX

    + +

    Definition at line 503 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ nCC

    + +
    +
    + + + + +
    uint32_t nCC
    +
    +

    number of Component carriers supported on FH

    + +

    Definition at line 500 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ nDLAbsFrePointA

    + +
    +
    + + + + +
    uint32_t nDLAbsFrePointA
    +
    +

    Abs Freq Point A of the Carrier Center Frequency for in KHz Value: 450000->52600000

    + +

    Definition at line 508 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ nDLCenterFreqARFCN

    + +
    +
    + + + + +
    uint32_t nDLCenterFreqARFCN
    +
    +

    center frerquency for DL in MHz

    + +

    Definition at line 510 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ nDLFftSize

    + +
    +
    + + + + +
    uint16_t nDLFftSize
    +
    +

    DL FFT size

    + +

    Definition at line 504 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ nDLRBs

    + +
    +
    + + + + +
    uint16_t nDLRBs
    +
    +

    DL PRB

    + +

    Definition at line 506 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ neAxc

    + +
    +
    + + + + +
    uint32_t neAxc
    +
    +

    number of eAxc supported on one CC

    + +

    Definition at line 501 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ neAxcUl

    + +
    +
    + + + + +
    uint32_t neAxcUl
    +
    +

    number of eAxc supported on one CC for UL direction

    + +

    Definition at line 502 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ nULAbsFrePointA

    + +
    +
    + + + + +
    uint32_t nULAbsFrePointA
    +
    +

    Abs Freq Point A of the Carrier Center Frequency for in KHz Value: 450000->52600000

    + +

    Definition at line 509 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ nULCenterFreqARFCN

    + +
    +
    + + + + +
    uint32_t nULCenterFreqARFCN
    +
    +

    center frerquency for UL in MHz

    + +

    Definition at line 511 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ nULFftSize

    + +
    +
    + + + + +
    uint16_t nULFftSize
    +
    +

    UL FFT size

    + +

    Definition at line 505 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ nULRBs

    + +
    +
    + + + + +
    uint16_t nULRBs
    +
    +

    UL PRB

    + +

    Definition at line 507 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ prach_conf

    + +
    +
    + + + + +
    struct xran_prach_config prach_conf
    +
    +

    PRACH specific configurations for FH

    + +

    Definition at line 515 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ ru_conf

    + +
    +
    + + + + +
    struct xran_ru_config ru_conf
    +
    +

    config of RU as per XRAN spec

    + +

    Definition at line 518 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ sector_id

    + +
    +
    + + + + +
    uint32_t sector_id
    +
    +

    Band sector ID for FH

    + +

    Definition at line 499 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ srs_conf

    + +
    +
    + + + + +
    struct xran_srs_config srs_conf
    +
    +

    SRS specific configurations for FH

    + +

    Definition at line 516 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ ttiCb

    + +
    +
    + + + + +
    xran_fh_tti_callback_fn ttiCb
    +
    +

    call back for TTI event

    + +

    Definition at line 512 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ ttiCbParam

    + +
    +
    + + + + +
    void* ttiCbParam
    +
    +

    parameters of call back function

    + +

    Definition at line 513 of file xran_fh_o_du.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structxran__fh__config__coll__graph.map b/docs/API/structxran__fh__config__coll__graph.map new file mode 100644 index 0000000..d6ce9aa --- /dev/null +++ b/docs/API/structxran__fh__config__coll__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/API/structxran__fh__config__coll__graph.md5 b/docs/API/structxran__fh__config__coll__graph.md5 new file mode 100644 index 0000000..81cb308 --- /dev/null +++ b/docs/API/structxran__fh__config__coll__graph.md5 @@ -0,0 +1 @@ +f4fc159d7b4338f326ff05a3ae951cf3 \ No newline at end of file diff --git a/docs/API/structxran__fh__config__coll__graph.png b/docs/API/structxran__fh__config__coll__graph.png new file mode 100644 index 0000000..699ce83 Binary files /dev/null and b/docs/API/structxran__fh__config__coll__graph.png differ diff --git a/docs/API/structxran__fh__init.html b/docs/API/structxran__fh__init.html new file mode 100644 index 0000000..0b43c4d --- /dev/null +++ b/docs/API/structxran__fh__init.html @@ -0,0 +1,781 @@ + + + + + + + +o-du/phy: xran_fh_init Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    xran_fh_init Struct Reference
    +
    +
    + +

    #include <xran_fh_o_du.h>

    +
    +Collaboration diagram for xran_fh_init:
    +
    +
    Collaboration graph
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    struct xran_io_cfg io_cfg
     
    struct xran_eaxcid_config eAxCId_conf
     
    uint32_t dpdkBasebandFecMode
     
    char * dpdkBasebandDevice
     
    char * filePrefix
     
    uint32_t mtu
     
    int8_t * p_o_du_addr
     
    int8_t * p_o_ru_addr
     
    uint16_t totalBfWeights
     
    uint16_t Tadv_cp_dl
     
    uint16_t T2a_min_cp_dl
     
    uint16_t T2a_max_cp_dl
     
    uint16_t T2a_min_cp_ul
     
    uint16_t T2a_max_cp_ul
     
    uint16_t T2a_min_up
     
    uint16_t T2a_max_up
     
    uint16_t Ta3_min
     
    uint16_t Ta3_max
     
    uint16_t T1a_min_cp_dl
     
    uint16_t T1a_max_cp_dl
     
    uint16_t T1a_min_cp_ul
     
    uint16_t T1a_max_cp_ul
     
    uint16_t T1a_min_up
     
    uint16_t T1a_max_up
     
    uint16_t Ta4_min
     
    uint16_t Ta4_max
     
    uint8_t enableCP
     
    uint8_t prachEnable
     
    uint8_t srsEnable
     
    uint8_t cp_vlan_tag
     
    uint8_t up_vlan_tag
     
    int32_t debugStop
     
    int32_t debugStopCount
     
    int32_t DynamicSectionEna
     
    int32_t GPS_Alpha
     
    int32_t GPS_Beta
     
    +

    Detailed Description

    +

    XRAN Front haul interface initialization settings

    + +

    Definition at line 323 of file xran_fh_o_du.h.

    +

    Field Documentation

    + +

    ◆ cp_vlan_tag

    + +
    +
    + + + + +
    uint8_t cp_vlan_tag
    +
    +

    C-plane vlan tag

    + +

    Definition at line 359 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ debugStop

    + +
    +
    + + + + +
    int32_t debugStop
    +
    +

    enable auto stop

    + +

    Definition at line 361 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ debugStopCount

    + +
    +
    + + + + +
    int32_t debugStopCount
    +
    +

    enable auto stop after number of Tx packets

    + +

    Definition at line 362 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ dpdkBasebandDevice

    + +
    +
    + + + + +
    char* dpdkBasebandDevice
    +
    +

    DPDK Baseband device address

    + +

    Definition at line 328 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ dpdkBasebandFecMode

    + +
    +
    + + + + +
    uint32_t dpdkBasebandFecMode
    +
    +

    DPDK Baseband FEC device mode (0-SW, 1-HW)

    + +

    Definition at line 327 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ DynamicSectionEna

    + +
    +
    + + + + +
    int32_t DynamicSectionEna
    +
    +

    enable dynamic C-Plane section allocation

    + +

    Definition at line 363 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ eAxCId_conf

    + +
    +
    + + + + +
    struct xran_eaxcid_config eAxCId_conf
    +
    +

    config of ecpriRtcid/ecpriPcid

    + +

    Definition at line 325 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ enableCP

    + +
    +
    + + + + +
    uint8_t enableCP
    +
    +

    enable C-plane

    + +

    Definition at line 356 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ filePrefix

    + +
    +
    + + + + +
    char* filePrefix
    +
    +

    DPDK prefix

    + +

    Definition at line 329 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ GPS_Alpha

    + +
    +
    + + + + +
    int32_t GPS_Alpha
    +
    + +

    Definition at line 364 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ GPS_Beta

    + +
    +
    + + + + +
    int32_t GPS_Beta
    +
    + +

    Definition at line 365 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ io_cfg

    + +
    +
    + + + + +
    struct xran_io_cfg io_cfg
    +
    +

    DPDK IO for XRAN

    + +

    Definition at line 324 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ mtu

    + +
    +
    + + + + +
    uint32_t mtu
    +
    +

    maximum transmission unit (MTU) is the size of the largest protocol data unit (PDU) that can be communicated in a single xRAN network layer transaction. supported 1500 bytes and 9600 bytes (Jumbo Frame)

    + +

    Definition at line 331 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ p_o_du_addr

    + +
    +
    + + + + +
    int8_t* p_o_du_addr
    +
    +

    O-DU Ethernet Mac Address

    + +

    Definition at line 333 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ p_o_ru_addr

    + +
    +
    + + + + +
    int8_t* p_o_ru_addr
    +
    +

    O-RU Ethernet Mac Address

    + +

    Definition at line 334 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ prachEnable

    + +
    +
    + + + + +
    uint8_t prachEnable
    +
    +

    enable PRACH

    + +

    Definition at line 357 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ srsEnable

    + +
    +
    + + + + +
    uint8_t srsEnable
    +
    +

    enable SRS (Cat B specific)

    + +

    Definition at line 358 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ T1a_max_cp_dl

    + +
    +
    + + + + +
    uint16_t T1a_max_cp_dl
    +
    +

    Table 2 7 : xRAN Delay Management Model Parameters

    + +

    Definition at line 348 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ T1a_max_cp_ul

    + +
    +
    + + + + +
    uint16_t T1a_max_cp_ul
    +
    +

    Table 2 7 : xRAN Delay Management Model Parameters

    + +

    Definition at line 350 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ T1a_max_up

    + +
    +
    + + + + +
    uint16_t T1a_max_up
    +
    +

    Table 2 7 : xRAN Delay Management Model Parameters

    + +

    Definition at line 352 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ T1a_min_cp_dl

    + +
    +
    + + + + +
    uint16_t T1a_min_cp_dl
    +
    +

    Table 2 7 : xRAN Delay Management Model Parameters

    + +

    Definition at line 347 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ T1a_min_cp_ul

    + +
    +
    + + + + +
    uint16_t T1a_min_cp_ul
    +
    +

    Table 2 7 : xRAN Delay Management Model Parameters

    + +

    Definition at line 349 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ T1a_min_up

    + +
    +
    + + + + +
    uint16_t T1a_min_up
    +
    +

    Table 2 7 : xRAN Delay Management Model Parameters

    + +

    Definition at line 351 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ T2a_max_cp_dl

    + +
    +
    + + + + +
    uint16_t T2a_max_cp_dl
    +
    +

    Table 2 7 : xRAN Delay Management Model Parameters

    + +

    Definition at line 340 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ T2a_max_cp_ul

    + +
    +
    + + + + +
    uint16_t T2a_max_cp_ul
    +
    +

    Table 2 7 : xRAN Delay Management Model Parameters

    + +

    Definition at line 342 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ T2a_max_up

    + +
    +
    + + + + +
    uint16_t T2a_max_up
    +
    +

    Table 2 7 : xRAN Delay Management Model Parameters

    + +

    Definition at line 344 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ T2a_min_cp_dl

    + +
    +
    + + + + +
    uint16_t T2a_min_cp_dl
    +
    +

    Table 2 7 : xRAN Delay Management Model Parameters

    + +

    Definition at line 339 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ T2a_min_cp_ul

    + +
    +
    + + + + +
    uint16_t T2a_min_cp_ul
    +
    +

    Table 2 7 : xRAN Delay Management Model Parameters

    + +

    Definition at line 341 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ T2a_min_up

    + +
    +
    + + + + +
    uint16_t T2a_min_up
    +
    +

    Table 2 7 : xRAN Delay Management Model Parameters

    + +

    Definition at line 343 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ Ta3_max

    + +
    +
    + + + + +
    uint16_t Ta3_max
    +
    +

    Table 2 7 : xRAN Delay Management Model Parameters

    + +

    Definition at line 346 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ Ta3_min

    + +
    +
    + + + + +
    uint16_t Ta3_min
    +
    +

    Table 2 7 : xRAN Delay Management Model Parameters

    + +

    Definition at line 345 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ Ta4_max

    + +
    +
    + + + + +
    uint16_t Ta4_max
    +
    +

    Table 2 7 : xRAN Delay Management Model Parameters

    + +

    Definition at line 354 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ Ta4_min

    + +
    +
    + + + + +
    uint16_t Ta4_min
    +
    +

    Table 2 7 : xRAN Delay Management Model Parameters

    + +

    Definition at line 353 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ Tadv_cp_dl

    + +
    +
    + + + + +
    uint16_t Tadv_cp_dl
    +
    +

    Table 2 7 : xRAN Delay Management Model Parameters

    + +

    Definition at line 338 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ totalBfWeights

    + +
    +
    + + + + +
    uint16_t totalBfWeights
    +
    +

    The total number of beamforming weights on RU for extensions

    + +

    Definition at line 336 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ up_vlan_tag

    + +
    +
    + + + + +
    uint8_t up_vlan_tag
    +
    +

    U-plane vlan tag

    + +

    Definition at line 360 of file xran_fh_o_du.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structxran__fh__init__coll__graph.map b/docs/API/structxran__fh__init__coll__graph.map new file mode 100644 index 0000000..36758c1 --- /dev/null +++ b/docs/API/structxran__fh__init__coll__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/structxran__fh__init__coll__graph.md5 b/docs/API/structxran__fh__init__coll__graph.md5 new file mode 100644 index 0000000..39e07fd --- /dev/null +++ b/docs/API/structxran__fh__init__coll__graph.md5 @@ -0,0 +1 @@ +30302fb3ad6c03cf0dbfd13c98fbc29e \ No newline at end of file diff --git a/docs/API/structxran__fh__init__coll__graph.png b/docs/API/structxran__fh__init__coll__graph.png new file mode 100644 index 0000000..fb40e8f Binary files /dev/null and b/docs/API/structxran__fh__init__coll__graph.png differ diff --git a/docs/API/structxran__flat__buffer.html b/docs/API/structxran__flat__buffer.html new file mode 100644 index 0000000..142a491 --- /dev/null +++ b/docs/API/structxran__flat__buffer.html @@ -0,0 +1,208 @@ + + + + + + + +o-du/phy: xran_flat_buffer Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    xran_flat_buffer Struct Reference
    +
    +
    + +

    #include <xran_fh_o_du.h>

    +
    +Collaboration diagram for xran_flat_buffer:
    +
    +
    Collaboration graph
    +
    + + + + + + + + + + + + + + +

    +Data Fields

    uint32_t nElementLenInBytes
     
    uint32_t nNumberOfElements
     
    uint32_t nOffsetInBytes
     
    uint32_t nIsPhyAddr
     
    uint8_t * pData
     
    void * pCtrl
     
    +

    Detailed Description

    +

    A flat buffer structure. The data pointer, pData, is a virtual address. The API requires the memory to by physically contiguous. Each flat buffer segment may contain several equally sized elements.

    + +

    Definition at line 553 of file xran_fh_o_du.h.

    +

    Field Documentation

    + +

    ◆ nElementLenInBytes

    + +
    +
    + + + + +
    uint32_t nElementLenInBytes
    +
    +

    The Element length specified in bytes. This parameter specifies the size of a single element in the buffer. The total size of the buffer is described as bufferSize = nElementLenInBytes * nNumberOfElements

    + +

    Definition at line 555 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ nIsPhyAddr

    + +
    +
    + + + + +
    uint32_t nIsPhyAddr
    +
    + +

    Definition at line 565 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ nNumberOfElements

    + +
    +
    + + + + +
    uint32_t nNumberOfElements
    +
    +

    The number of elements in the physical contiguous memory segment

    + +

    Definition at line 560 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ nOffsetInBytes

    + +
    +
    + + + + +
    uint32_t nOffsetInBytes
    +
    +

    Offset in bytes to the start of the data in the physical contiguous memory segment

    + +

    Definition at line 562 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ pCtrl

    + +
    +
    + + + + +
    void* pCtrl
    +
    +

    pointer to control section coresponding to data buffer

    + +

    Definition at line 570 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ pData

    + +
    +
    + + + + +
    uint8_t* pData
    +
    +

    The data pointer is a virtual address, however the actual data pointed to is required to be in contiguous physical memory unless the field requiresPhysicallyContiguousMemory in CpaInstanceInfo is false.

    + +

    Definition at line 566 of file xran_fh_o_du.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structxran__flat__buffer__coll__graph.map b/docs/API/structxran__flat__buffer__coll__graph.map new file mode 100644 index 0000000..013ff49 --- /dev/null +++ b/docs/API/structxran__flat__buffer__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structxran__flat__buffer__coll__graph.md5 b/docs/API/structxran__flat__buffer__coll__graph.md5 new file mode 100644 index 0000000..5152d3a --- /dev/null +++ b/docs/API/structxran__flat__buffer__coll__graph.md5 @@ -0,0 +1 @@ +c74f5b6f6ffee6d919e17cd9c2a10dca \ No newline at end of file diff --git a/docs/API/structxran__flat__buffer__coll__graph.png b/docs/API/structxran__flat__buffer__coll__graph.png new file mode 100644 index 0000000..8582d45 Binary files /dev/null and b/docs/API/structxran__flat__buffer__coll__graph.png differ diff --git a/docs/API/structxran__frame__config.html b/docs/API/structxran__frame__config.html new file mode 100644 index 0000000..8baa354 --- /dev/null +++ b/docs/API/structxran__frame__config.html @@ -0,0 +1,174 @@ + + + + + + + +o-du/phy: xran_frame_config Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    xran_frame_config Struct Reference
    +
    +
    + +

    #include <xran_fh_o_du.h>

    +
    +Collaboration diagram for xran_frame_config:
    +
    +
    Collaboration graph
    + + + +
    + + + + + + + + + + +

    +Data Fields

    uint8_t nFrameDuplexType
     
    uint8_t nNumerology
     
    uint8_t nTddPeriod
     
    struct xran_slot_config sSlotConfig [XRAN_MAX_TDD_PERIODICITY]
     
    +

    Detailed Description

    +

    XRAN front haul frame config

    + +

    Definition at line 459 of file xran_fh_o_du.h.

    +

    Field Documentation

    + +

    ◆ nFrameDuplexType

    + +
    +
    + + + + +
    uint8_t nFrameDuplexType
    +
    +

    Frame Duplex type: 0 -> FDD, 1 -> TDD

    + +

    Definition at line 460 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ nNumerology

    + +
    +
    + + + + +
    uint8_t nNumerology
    +
    +

    Numerology, determine sub carrier spacing, Value: 0->4 0: 15khz, 1: 30khz, 2: 60khz 3: 120khz, 4: 240khz

    + +

    Definition at line 461 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ nTddPeriod

    + +
    +
    + + + + +
    uint8_t nTddPeriod
    +
    +

    TDD period

    + +

    Definition at line 464 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ sSlotConfig

    + +
    +
    + + + + +
    struct xran_slot_config sSlotConfig[XRAN_MAX_TDD_PERIODICITY]
    +
    +

    TDD Slot configuration - If nFrameDuplexType = TDD(1), then this config defines the slot config type for each slot.

    + +

    Definition at line 465 of file xran_fh_o_du.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structxran__frame__config__coll__graph.map b/docs/API/structxran__frame__config__coll__graph.map new file mode 100644 index 0000000..475c299 --- /dev/null +++ b/docs/API/structxran__frame__config__coll__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/structxran__frame__config__coll__graph.md5 b/docs/API/structxran__frame__config__coll__graph.md5 new file mode 100644 index 0000000..8c2e0c6 --- /dev/null +++ b/docs/API/structxran__frame__config__coll__graph.md5 @@ -0,0 +1 @@ +8ca93b63ba6cf9dc8914b4f7896628e2 \ No newline at end of file diff --git a/docs/API/structxran__frame__config__coll__graph.png b/docs/API/structxran__frame__config__coll__graph.png new file mode 100644 index 0000000..9fca098 Binary files /dev/null and b/docs/API/structxran__frame__config__coll__graph.png differ diff --git a/docs/API/structxran__io__cfg.html b/docs/API/structxran__io__cfg.html new file mode 100644 index 0000000..10a4609 --- /dev/null +++ b/docs/API/structxran__io__cfg.html @@ -0,0 +1,285 @@ + + + + + + + +o-du/phy: xran_io_cfg Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    xran_io_cfg Struct Reference
    +
    +
    + +

    #include <xran_fh_o_du.h>

    +
    +Collaboration diagram for xran_io_cfg:
    +
    +
    Collaboration graph
    +
    + + + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    uint8_t id
     
    char * dpdk_dev [XRAN_VF_MAX]
     
    char * bbdev_dev [1]
     
    int32_t bbdev_mode
     
    int32_t core
     
    int32_t system_core
     
    int32_t pkt_proc_core
     
    int32_t pkt_aux_core
     
    int32_t timing_core
     
    int32_t port [XRAN_VF_MAX]
     
    +

    Detailed Description

    +

    DPDK IO configuration for XRAN layer

    + +

    Definition at line 294 of file xran_fh_o_du.h.

    +

    Field Documentation

    + +

    ◆ bbdev_dev

    + +
    +
    + + + + +
    char* bbdev_dev[1]
    +
    +

    BBDev dev name

    + +

    Definition at line 297 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ bbdev_mode

    + +
    +
    + + + + +
    int32_t bbdev_mode
    +
    +

    DPDK for BBDev

    + +

    Definition at line 298 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ core

    + +
    +
    + + + + +
    int32_t core
    +
    +

    reservd

    + +

    Definition at line 299 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ dpdk_dev

    + +
    +
    + + + + +
    char* dpdk_dev[XRAN_VF_MAX]
    +
    +

    VFs devices

    + +

    Definition at line 296 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ id

    + +
    +
    + + + + +
    uint8_t id
    +
    +

    should be (0) for O-DU or (1) O-RU (debug)

    + +

    Definition at line 295 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ pkt_aux_core

    + +
    +
    + + + + +
    int32_t pkt_aux_core
    +
    +

    reservd

    + +

    Definition at line 302 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ pkt_proc_core

    + +
    +
    + + + + +
    int32_t pkt_proc_core
    +
    +

    reservd

    + +

    Definition at line 301 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ port

    + +
    +
    + + + + +
    int32_t port[XRAN_VF_MAX]
    +
    +

    VFs ports

    + +

    Definition at line 304 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ system_core

    + +
    +
    + + + + +
    int32_t system_core
    +
    +

    reservd

    + +

    Definition at line 300 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ timing_core

    + +
    +
    + + + + +
    int32_t timing_core
    +
    +

    core used by xRAN

    + +

    Definition at line 303 of file xran_fh_o_du.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structxran__io__cfg__coll__graph.map b/docs/API/structxran__io__cfg__coll__graph.map new file mode 100644 index 0000000..a01044a --- /dev/null +++ b/docs/API/structxran__io__cfg__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structxran__io__cfg__coll__graph.md5 b/docs/API/structxran__io__cfg__coll__graph.md5 new file mode 100644 index 0000000..2a17cdd --- /dev/null +++ b/docs/API/structxran__io__cfg__coll__graph.md5 @@ -0,0 +1 @@ +922c2b560597c72852383b61db6bc00e \ No newline at end of file diff --git a/docs/API/structxran__io__cfg__coll__graph.png b/docs/API/structxran__io__cfg__coll__graph.png new file mode 100644 index 0000000..4fb5ced Binary files /dev/null and b/docs/API/structxran__io__cfg__coll__graph.png differ diff --git a/docs/API/structxran__io__loop__cfg.html b/docs/API/structxran__io__loop__cfg.html new file mode 100644 index 0000000..54dfe28 --- /dev/null +++ b/docs/API/structxran__io__loop__cfg.html @@ -0,0 +1,274 @@ + + + + + + + +o-du/phy: xran_io_loop_cfg Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    xran_io_loop_cfg Struct Reference
    +
    +
    + +

    #include <ethdi.h>

    +
    +Collaboration diagram for xran_io_loop_cfg:
    +
    +
    Collaboration graph
    +
    + + + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    uint8_t id
     
    char * dpdk_dev [ETHDI_VF_MAX]
     
    char * bbdev_dev [1]
     
    int bbdev_mode
     
    int core
     
    int system_core
     
    int pkt_proc_core
     
    int pkt_aux_core
     
    int timing_core
     
    int port [ETHDI_VF_MAX]
     
    +

    Detailed Description

    +
    +

    Definition at line 81 of file ethdi.h.

    +

    Field Documentation

    + +

    ◆ bbdev_dev

    + +
    +
    + + + + +
    char* bbdev_dev[1]
    +
    + +

    Definition at line 85 of file ethdi.h.

    + +
    +
    + +

    ◆ bbdev_mode

    + +
    +
    + + + + +
    int bbdev_mode
    +
    + +

    Definition at line 86 of file ethdi.h.

    + +
    +
    + +

    ◆ core

    + +
    +
    + + + + +
    int core
    +
    + +

    Definition at line 87 of file ethdi.h.

    + +
    +
    + +

    ◆ dpdk_dev

    + +
    +
    + + + + +
    char* dpdk_dev[ETHDI_VF_MAX]
    +
    + +

    Definition at line 84 of file ethdi.h.

    + +
    +
    + +

    ◆ id

    + +
    +
    + + + + +
    uint8_t id
    +
    + +

    Definition at line 83 of file ethdi.h.

    + +
    +
    + +

    ◆ pkt_aux_core

    + +
    +
    + + + + +
    int pkt_aux_core
    +
    + +

    Definition at line 90 of file ethdi.h.

    + +
    +
    + +

    ◆ pkt_proc_core

    + +
    +
    + + + + +
    int pkt_proc_core
    +
    + +

    Definition at line 89 of file ethdi.h.

    + +
    +
    + +

    ◆ port

    + +
    +
    + + + + +
    int port[ETHDI_VF_MAX]
    +
    + +

    Definition at line 92 of file ethdi.h.

    + +
    +
    + +

    ◆ system_core

    + +
    +
    + + + + +
    int system_core
    +
    + +

    Definition at line 88 of file ethdi.h.

    + +
    +
    + +

    ◆ timing_core

    + +
    +
    + + + + +
    int timing_core
    +
    + +

    Definition at line 91 of file ethdi.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structxran__io__loop__cfg__coll__graph.map b/docs/API/structxran__io__loop__cfg__coll__graph.map new file mode 100644 index 0000000..7d1504c --- /dev/null +++ b/docs/API/structxran__io__loop__cfg__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structxran__io__loop__cfg__coll__graph.md5 b/docs/API/structxran__io__loop__cfg__coll__graph.md5 new file mode 100644 index 0000000..97934c9 --- /dev/null +++ b/docs/API/structxran__io__loop__cfg__coll__graph.md5 @@ -0,0 +1 @@ +78ea80350ad18d997cdfe4c7ee9aa38f \ No newline at end of file diff --git a/docs/API/structxran__io__loop__cfg__coll__graph.png b/docs/API/structxran__io__loop__cfg__coll__graph.png new file mode 100644 index 0000000..7d94cb2 Binary files /dev/null and b/docs/API/structxran__io__loop__cfg__coll__graph.png differ diff --git a/docs/API/structxran__pkt__comm__hdr.html b/docs/API/structxran__pkt__comm__hdr.html new file mode 100644 index 0000000..ffc165a --- /dev/null +++ b/docs/API/structxran__pkt__comm__hdr.html @@ -0,0 +1,138 @@ + + + + + + + +o-du/phy: xran_pkt_comm_hdr Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    xran_pkt_comm_hdr Struct Reference
    +
    +
    + +

    #include <xran_pkt.h>

    +
    +Collaboration diagram for xran_pkt_comm_hdr:
    +
    +
    Collaboration graph
    + + + + + +
    + + + + + + +

    +Data Fields

    struct ether_hdr eth_hdr
     
    struct xran_ecpri_hdr ecpri_hdr
     
    +

    Detailed Description

    +

    Structure holds common xran packet header 3.1.1 Ethernet Encapsulation

    + +

    Definition at line 233 of file xran_pkt.h.

    +

    Field Documentation

    + +

    ◆ ecpri_hdr

    + +
    +
    + + + + +
    struct xran_ecpri_hdr ecpri_hdr
    +
    +

    eCPRI Transport Header

    + +

    Definition at line 236 of file xran_pkt.h.

    + +
    +
    + +

    ◆ eth_hdr

    + +
    +
    + + + + +
    struct ether_hdr eth_hdr
    +
    +

    Ethernet Header

    + +

    Definition at line 235 of file xran_pkt.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structxran__pkt__comm__hdr__coll__graph.map b/docs/API/structxran__pkt__comm__hdr__coll__graph.map new file mode 100644 index 0000000..50281d7 --- /dev/null +++ b/docs/API/structxran__pkt__comm__hdr__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/API/structxran__pkt__comm__hdr__coll__graph.md5 b/docs/API/structxran__pkt__comm__hdr__coll__graph.md5 new file mode 100644 index 0000000..ea8ba76 --- /dev/null +++ b/docs/API/structxran__pkt__comm__hdr__coll__graph.md5 @@ -0,0 +1 @@ +0f5922634c3e0d4add332b0fcf5d10ca \ No newline at end of file diff --git a/docs/API/structxran__pkt__comm__hdr__coll__graph.png b/docs/API/structxran__pkt__comm__hdr__coll__graph.png new file mode 100644 index 0000000..b1df613 Binary files /dev/null and b/docs/API/structxran__pkt__comm__hdr__coll__graph.png differ diff --git a/docs/API/structxran__prach__config.html b/docs/API/structxran__prach__config.html new file mode 100644 index 0000000..e82f8ca --- /dev/null +++ b/docs/API/structxran__prach__config.html @@ -0,0 +1,247 @@ + + + + + + + +o-du/phy: xran_prach_config Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    xran_prach_config Struct Reference
    +
    +
    + +

    #include <xran_fh_o_du.h>

    +
    +Collaboration diagram for xran_prach_config:
    +
    +
    Collaboration graph
    +
    + + + + + + + + + + + + + + + + + + +

    +Data Fields

    uint8_t nPrachConfIdx
     
    uint8_t nPrachSubcSpacing
     
    uint8_t nPrachZeroCorrConf
     
    uint8_t nPrachRestrictSet
     
    uint16_t nPrachRootSeqIdx
     
    uint16_t nPrachFreqStart
     
    int32_t nPrachFreqOffset
     
    uint8_t nPrachFilterIdx
     
    +

    Detailed Description

    +

    SRS configuration required for XRAN based FH

    + +

    Definition at line 429 of file xran_fh_o_du.h.

    +

    Field Documentation

    + +

    ◆ nPrachConfIdx

    + +
    +
    + + + + +
    uint8_t nPrachConfIdx
    +
    +

    PRACH Configuration Index

    + +

    Definition at line 432 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ nPrachFilterIdx

    + +
    +
    + + + + +
    uint8_t nPrachFilterIdx
    +
    +

    PRACH Filter index

    + +

    Definition at line 443 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ nPrachFreqOffset

    + +
    +
    + + + + +
    int32_t nPrachFreqOffset
    +
    +

    PRACH prach-frequency-offset

    + +

    Definition at line 442 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ nPrachFreqStart

    + +
    +
    + + + + +
    uint16_t nPrachFreqStart
    +
    +

    PRACH prach-frequency-start

    + +

    Definition at line 441 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ nPrachRestrictSet

    + +
    +
    + + + + +
    uint8_t nPrachRestrictSet
    +
    +

    PRACH restrictedSetConfig

    + +

    Definition at line 439 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ nPrachRootSeqIdx

    + +
    +
    + + + + +
    uint16_t nPrachRootSeqIdx
    +
    +

    PRACH Root Sequence Index

    + +

    Definition at line 440 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ nPrachSubcSpacing

    + +
    +
    + + + + +
    uint8_t nPrachSubcSpacing
    +
    +

    PRACH Sub-carrier spacing Value:0->1 For below 6GHz the values indicate 15kHz or 30kHz For above 6GHz the values indicate 60kHz or 120kHz

    + +

    Definition at line 433 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ nPrachZeroCorrConf

    + +
    +
    + + + + +
    uint8_t nPrachZeroCorrConf
    +
    +

    PRACH zeroCorrelationZoneConfig

    + +

    Definition at line 438 of file xran_fh_o_du.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structxran__prach__config__coll__graph.map b/docs/API/structxran__prach__config__coll__graph.map new file mode 100644 index 0000000..38a743b --- /dev/null +++ b/docs/API/structxran__prach__config__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structxran__prach__config__coll__graph.md5 b/docs/API/structxran__prach__config__coll__graph.md5 new file mode 100644 index 0000000..b360ce5 --- /dev/null +++ b/docs/API/structxran__prach__config__coll__graph.md5 @@ -0,0 +1 @@ +6b34b10448ca5b9e436f6ab14648adeb \ No newline at end of file diff --git a/docs/API/structxran__prach__config__coll__graph.png b/docs/API/structxran__prach__config__coll__graph.png new file mode 100644 index 0000000..8df6edc Binary files /dev/null and b/docs/API/structxran__prach__config__coll__graph.png differ diff --git a/docs/API/structxran__prach__cp__config.html b/docs/API/structxran__prach__cp__config.html new file mode 100644 index 0000000..2ea78d1 --- /dev/null +++ b/docs/API/structxran__prach__cp__config.html @@ -0,0 +1,329 @@ + + + + + + + +o-du/phy: xran_prach_cp_config Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    xran_prach_cp_config Struct Reference
    +
    +
    + +

    #include <xran_common.h>

    +
    +Collaboration diagram for xran_prach_cp_config:
    +
    +
    Collaboration graph
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    uint8_t filterIdx
     
    uint8_t startSymId
     
    uint16_t startPrbc
     
    uint8_t numPrbc
     
    uint8_t numSymbol
     
    uint16_t timeOffset
     
    int32_t freqOffset
     
    uint8_t nrofPrachInSlot
     
    uint8_t occassionsInPrachSlot
     
    uint8_t x
     
    uint8_t y [XRAN_PRACH_CANDIDATE_Y]
     
    uint8_t isPRACHslot [XRAN_PRACH_CANDIDATE_SLOT]
     
    uint8_t eAxC_offset
     
    +

    Detailed Description

    +
    +

    Definition at line 125 of file xran_common.h.

    +

    Field Documentation

    + +

    ◆ eAxC_offset

    + +
    +
    + + + + +
    uint8_t eAxC_offset
    +
    +

    starting eAxC for PRACH stream

    + +

    Definition at line 139 of file xran_common.h.

    + +
    +
    + +

    ◆ filterIdx

    + +
    +
    + + + + +
    uint8_t filterIdx
    +
    + +

    Definition at line 127 of file xran_common.h.

    + +
    +
    + +

    ◆ freqOffset

    + +
    +
    + + + + +
    int32_t freqOffset
    +
    + +

    Definition at line 133 of file xran_common.h.

    + +
    +
    + +

    ◆ isPRACHslot

    + +
    +
    + + + + +
    uint8_t isPRACHslot[XRAN_PRACH_CANDIDATE_SLOT]
    +
    + +

    Definition at line 138 of file xran_common.h.

    + +
    +
    + +

    ◆ nrofPrachInSlot

    + +
    +
    + + + + +
    uint8_t nrofPrachInSlot
    +
    + +

    Definition at line 134 of file xran_common.h.

    + +
    +
    + +

    ◆ numPrbc

    + +
    +
    + + + + +
    uint8_t numPrbc
    +
    + +

    Definition at line 130 of file xran_common.h.

    + +
    +
    + +

    ◆ numSymbol

    + +
    +
    + + + + +
    uint8_t numSymbol
    +
    + +

    Definition at line 131 of file xran_common.h.

    + +
    +
    + +

    ◆ occassionsInPrachSlot

    + +
    +
    + + + + +
    uint8_t occassionsInPrachSlot
    +
    + +

    Definition at line 135 of file xran_common.h.

    + +
    +
    + +

    ◆ startPrbc

    + +
    +
    + + + + +
    uint16_t startPrbc
    +
    + +

    Definition at line 129 of file xran_common.h.

    + +
    +
    + +

    ◆ startSymId

    + +
    +
    + + + + +
    uint8_t startSymId
    +
    + +

    Definition at line 128 of file xran_common.h.

    + +
    +
    + +

    ◆ timeOffset

    + +
    +
    + + + + +
    uint16_t timeOffset
    +
    + +

    Definition at line 132 of file xran_common.h.

    + +
    +
    + +

    ◆ x

    + +
    +
    + + + + +
    uint8_t x
    +
    + +

    Definition at line 136 of file xran_common.h.

    + +
    +
    + +

    ◆ y

    + +
    +
    + + + + +
    uint8_t y[XRAN_PRACH_CANDIDATE_Y]
    +
    + +

    Definition at line 137 of file xran_common.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structxran__prach__cp__config__coll__graph.map b/docs/API/structxran__prach__cp__config__coll__graph.map new file mode 100644 index 0000000..c5b51d2 --- /dev/null +++ b/docs/API/structxran__prach__cp__config__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structxran__prach__cp__config__coll__graph.md5 b/docs/API/structxran__prach__cp__config__coll__graph.md5 new file mode 100644 index 0000000..ed2f367 --- /dev/null +++ b/docs/API/structxran__prach__cp__config__coll__graph.md5 @@ -0,0 +1 @@ +fd5e75484badf424888ca8f0ce9a2a76 \ No newline at end of file diff --git a/docs/API/structxran__prach__cp__config__coll__graph.png b/docs/API/structxran__prach__cp__config__coll__graph.png new file mode 100644 index 0000000..b346940 Binary files /dev/null and b/docs/API/structxran__prach__cp__config__coll__graph.png differ diff --git a/docs/API/structxran__prb__elm.html b/docs/API/structxran__prb__elm.html new file mode 100644 index 0000000..a055b9f --- /dev/null +++ b/docs/API/structxran__prb__elm.html @@ -0,0 +1,362 @@ + + + + + + + +o-du/phy: xran_prb_elm Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    xran_prb_elm Struct Reference
    +
    +
    + +

    #include <xran_fh_o_du.h>

    +
    +Collaboration diagram for xran_prb_elm:
    +
    +
    Collaboration graph
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    int16_t nRBStart
     
    int16_t nRBSize
     
    int16_t nStartSymb
     
    int16_t numSymb
     
    int16_t nBeamIndex
     
    int16_t bf_weight_update
     
    int16_t compMethod
     
    int16_t iqWidth
     
    int16_t BeamFormingType
     
    struct xran_section_descp_sec_desc [XRAN_NUM_OF_SYMBOL_PER_SLOT]
     
    struct xran_cp_bf_weight bf_weight
     
    union {
       struct xran_cp_bf_attribute   bf_attribute
     
       struct xran_cp_bf_precoding   bf_precoding
     
    }; 
     
    +

    Detailed Description

    +

    PRB element structure

    + +

    Definition at line 393 of file xran_fh_o_du.h.

    +

    Field Documentation

    + +

    ◆ @4

    + +
    +
    + + + + +
    union { ... }
    +
    + +
    +
    + +

    ◆ BeamFormingType

    + +
    +
    + + + + +
    int16_t BeamFormingType
    +
    +

    index based, weights based or attribute based beam forming

    + +

    Definition at line 402 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ bf_attribute

    + +
    +
    + + + + +
    struct xran_cp_bf_attribute bf_attribute
    +
    + +

    Definition at line 408 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ bf_precoding

    + +
    +
    + + + + +
    struct xran_cp_bf_precoding bf_precoding
    +
    + +

    Definition at line 409 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ bf_weight

    + +
    +
    + + + + +
    struct xran_cp_bf_weight bf_weight
    +
    +

    beam forming information relevant for given RBs

    + +

    Definition at line 405 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ bf_weight_update

    + +
    +
    + + + + +
    int16_t bf_weight_update
    +
    + +

    Definition at line 399 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ compMethod

    + +
    +
    + + + + +
    int16_t compMethod
    +
    +

    need to update beam weights or not compression index for given PRB

    + +

    Definition at line 400 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ iqWidth

    + +
    +
    + + + + +
    int16_t iqWidth
    +
    +

    compression bit width for given PRB

    + +

    Definition at line 401 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ nBeamIndex

    + +
    +
    + + + + +
    int16_t nBeamIndex
    +
    +

    beam index for given PRB

    + +

    Definition at line 398 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ nRBSize

    + +
    +
    + + + + +
    int16_t nRBSize
    +
    +

    number of RBs used

    + +

    Definition at line 395 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ nRBStart

    + +
    +
    + + + + +
    int16_t nRBStart
    +
    +

    start RB of RB allocation

    + +

    Definition at line 394 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ nStartSymb

    + +
    +
    + + + + +
    int16_t nStartSymb
    +
    +

    start symbol ID

    + +

    Definition at line 396 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ numSymb

    + +
    +
    + + + + +
    int16_t numSymb
    +
    +

    number of symbols

    + +

    Definition at line 397 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ p_sec_desc

    + +
    +
    + + + + +
    struct xran_section_desc* p_sec_desc[XRAN_NUM_OF_SYMBOL_PER_SLOT]
    +
    +

    section desctiptors to U-plane data given RBs

    + +

    Definition at line 404 of file xran_fh_o_du.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structxran__prb__elm__coll__graph.map b/docs/API/structxran__prb__elm__coll__graph.map new file mode 100644 index 0000000..d57baf4 --- /dev/null +++ b/docs/API/structxran__prb__elm__coll__graph.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/API/structxran__prb__elm__coll__graph.md5 b/docs/API/structxran__prb__elm__coll__graph.md5 new file mode 100644 index 0000000..7de7247 --- /dev/null +++ b/docs/API/structxran__prb__elm__coll__graph.md5 @@ -0,0 +1 @@ +3e946145a47163dc8badde6d79c656da \ No newline at end of file diff --git a/docs/API/structxran__prb__elm__coll__graph.png b/docs/API/structxran__prb__elm__coll__graph.png new file mode 100644 index 0000000..9b78f51 Binary files /dev/null and b/docs/API/structxran__prb__elm__coll__graph.png differ diff --git a/docs/API/structxran__prb__map.html b/docs/API/structxran__prb__map.html new file mode 100644 index 0000000..75bc022 --- /dev/null +++ b/docs/API/structxran__prb__map.html @@ -0,0 +1,272 @@ + + + + + + + +o-du/phy: xran_prb_map Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    xran_prb_map Struct Reference
    +
    +
    + +

    #include <xran_fh_o_du.h>

    +
    +Collaboration diagram for xran_prb_map:
    +
    +
    Collaboration graph
    + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    uint8_t dir
     
    uint8_t xran_port
     
    uint16_t band_id
     
    uint16_t cc_id
     
    uint16_t ru_port_id
     
    uint16_t tti_id
     
    uint8_t start_sym_id
     
    uint32_t nPrbElm
     
    struct xran_prb_elm prbMap [XRAN_MAX_PRBS]
     
    +

    Detailed Description

    +

    PRB map structure

    + +

    Definition at line 414 of file xran_fh_o_du.h.

    +

    Field Documentation

    + +

    ◆ band_id

    + +
    +
    + + + + +
    uint16_t band_id
    +
    +

    xran band id

    + +

    Definition at line 417 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ cc_id

    + +
    +
    + + + + +
    uint16_t cc_id
    +
    +

    componnent carrier id [0 - (XRAN_MAX_SECTOR_NR-1)]

    + +

    Definition at line 418 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ dir

    + +
    +
    + + + + +
    uint8_t dir
    +
    +

    DL or UL direction

    + +

    Definition at line 415 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ nPrbElm

    + +
    +
    + + + + +
    uint32_t nPrbElm
    +
    +

    total number of PRB elements for given map [0- (XRAN_MAX_PRBS-1)]

    + +

    Definition at line 422 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ prbMap

    + +
    +
    + + + + +
    struct xran_prb_elm prbMap[XRAN_MAX_PRBS]
    +
    + +

    Definition at line 423 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ ru_port_id

    + +
    +
    + + + + +
    uint16_t ru_port_id
    +
    +

    RU device antenna port id [0 - (XRAN_MAX_ANTENNA_NR-1)

    + +

    Definition at line 419 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ start_sym_id

    + +
    +
    + + + + +
    uint8_t start_sym_id
    +
    +

    start symbol Id [0-13]

    + +

    Definition at line 421 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ tti_id

    + +
    +
    + + + + +
    uint16_t tti_id
    +
    +

    xRAN slot id [0 - (max tti-1)]

    + +

    Definition at line 420 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ xran_port

    + +
    +
    + + + + +
    uint8_t xran_port
    +
    +

    xran id of given RU [0-(XRAN_PORTS_NUM-1)]

    + +

    Definition at line 416 of file xran_fh_o_du.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structxran__prb__map__coll__graph.map b/docs/API/structxran__prb__map__coll__graph.map new file mode 100644 index 0000000..153c7c2 --- /dev/null +++ b/docs/API/structxran__prb__map__coll__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/API/structxran__prb__map__coll__graph.md5 b/docs/API/structxran__prb__map__coll__graph.md5 new file mode 100644 index 0000000..dfb514b --- /dev/null +++ b/docs/API/structxran__prb__map__coll__graph.md5 @@ -0,0 +1 @@ +d42925124e0072103e4ba310687e95e9 \ No newline at end of file diff --git a/docs/API/structxran__prb__map__coll__graph.png b/docs/API/structxran__prb__map__coll__graph.png new file mode 100644 index 0000000..264eb37 Binary files /dev/null and b/docs/API/structxran__prb__map__coll__graph.png differ diff --git a/docs/API/structxran__radioapp__ud_comp__header.html b/docs/API/structxran__radioapp__ud_comp__header.html new file mode 100644 index 0000000..27aa22b --- /dev/null +++ b/docs/API/structxran__radioapp__ud_comp__header.html @@ -0,0 +1,133 @@ + + + + + + + +o-du/phy: xran_radioapp_udComp_header Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    xran_radioapp_udComp_header Struct Reference
    +
    +
    + +

    #include <xran_pkt_cp.h>

    +
    +Collaboration diagram for xran_radioapp_udComp_header:
    +
    +
    Collaboration graph
    +
    + + + + + + +

    +Data Fields

    uint8_t udCompMeth:4
     
    uint8_t udIqWidth:4
     
    +

    Detailed Description

    +

    user data compression header defined in 5.4.4.10 / 6.3.3.13

    + +

    Definition at line 46 of file xran_pkt_cp.h.

    +

    Field Documentation

    + +

    ◆ udCompMeth

    + +
    +
    + + + + +
    uint8_t udCompMeth
    +
    +

    Compression method, XRAN_COMPMETHOD_xxxx

    + +

    Definition at line 47 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ udIqWidth

    + +
    +
    + + + + +
    uint8_t udIqWidth
    +
    +

    IQ bit width, 1 ~ 16

    + +

    Definition at line 48 of file xran_pkt_cp.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structxran__radioapp__ud_comp__header__coll__graph.map b/docs/API/structxran__radioapp__ud_comp__header__coll__graph.map new file mode 100644 index 0000000..4c3a805 --- /dev/null +++ b/docs/API/structxran__radioapp__ud_comp__header__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structxran__radioapp__ud_comp__header__coll__graph.md5 b/docs/API/structxran__radioapp__ud_comp__header__coll__graph.md5 new file mode 100644 index 0000000..2612259 --- /dev/null +++ b/docs/API/structxran__radioapp__ud_comp__header__coll__graph.md5 @@ -0,0 +1 @@ +2a200a1fafd49dffbb895219e478f767 \ No newline at end of file diff --git a/docs/API/structxran__radioapp__ud_comp__header__coll__graph.png b/docs/API/structxran__radioapp__ud_comp__header__coll__graph.png new file mode 100644 index 0000000..bee7d92 Binary files /dev/null and b/docs/API/structxran__radioapp__ud_comp__header__coll__graph.png differ diff --git a/docs/API/structxran__recv__packet__info.html b/docs/API/structxran__recv__packet__info.html new file mode 100644 index 0000000..020e308 --- /dev/null +++ b/docs/API/structxran__recv__packet__info.html @@ -0,0 +1,223 @@ + + + + + + + +o-du/phy: xran_recv_packet_info Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    xran_recv_packet_info Struct Reference
    +
    +
    + +

    #include <xran_transport.h>

    +
    +Collaboration diagram for xran_recv_packet_info:
    +
    +
    Collaboration graph
    + + + +
    + + + + + + + + + + + + + + + + +

    +Data Fields

    int ecpri_version
     
    enum ecpri_msg_type msg_type
     
    int payload_len
     
    struct xran_eaxc_info eaxc
     
    int seq_id
     
    int subseq_id
     
    int ebit
     
    +

    Detailed Description

    +
    +

    Definition at line 47 of file xran_transport.h.

    +

    Field Documentation

    + +

    ◆ eaxc

    + +
    +
    + + + + +
    struct xran_eaxc_info eaxc
    +
    + +

    Definition at line 51 of file xran_transport.h.

    + +
    +
    + +

    ◆ ebit

    + +
    +
    + + + + +
    int ebit
    +
    + +

    Definition at line 54 of file xran_transport.h.

    + +
    +
    + +

    ◆ ecpri_version

    + +
    +
    + + + + +
    int ecpri_version
    +
    + +

    Definition at line 48 of file xran_transport.h.

    + +
    +
    + +

    ◆ msg_type

    + +
    +
    + + + + +
    enum ecpri_msg_type msg_type
    +
    + +

    Definition at line 49 of file xran_transport.h.

    + +
    +
    + +

    ◆ payload_len

    + +
    +
    + + + + +
    int payload_len
    +
    + +

    Definition at line 50 of file xran_transport.h.

    + +
    +
    + +

    ◆ seq_id

    + +
    +
    + + + + +
    int seq_id
    +
    + +

    Definition at line 52 of file xran_transport.h.

    + +
    +
    + +

    ◆ subseq_id

    + +
    +
    + + + + +
    int subseq_id
    +
    + +

    Definition at line 53 of file xran_transport.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structxran__recv__packet__info__coll__graph.map b/docs/API/structxran__recv__packet__info__coll__graph.map new file mode 100644 index 0000000..6e8cf2c --- /dev/null +++ b/docs/API/structxran__recv__packet__info__coll__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/structxran__recv__packet__info__coll__graph.md5 b/docs/API/structxran__recv__packet__info__coll__graph.md5 new file mode 100644 index 0000000..64a64e9 --- /dev/null +++ b/docs/API/structxran__recv__packet__info__coll__graph.md5 @@ -0,0 +1 @@ +35d67d2bf9c4c4a5f7fd7740f028edfc \ No newline at end of file diff --git a/docs/API/structxran__recv__packet__info__coll__graph.png b/docs/API/structxran__recv__packet__info__coll__graph.png new file mode 100644 index 0000000..5fa07e5 Binary files /dev/null and b/docs/API/structxran__recv__packet__info__coll__graph.png differ diff --git a/docs/API/structxran__ru__config.html b/docs/API/structxran__ru__config.html new file mode 100644 index 0000000..9ef368a --- /dev/null +++ b/docs/API/structxran__ru__config.html @@ -0,0 +1,228 @@ + + + + + + + +o-du/phy: xran_ru_config Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    xran_ru_config Struct Reference
    +
    +
    + +

    #include <xran_fh_o_du.h>

    +
    +Collaboration diagram for xran_ru_config:
    +
    +
    Collaboration graph
    +
    + + + + + + + + + + + + + + + + +

    +Data Fields

    enum xran_category xranCat
     
    uint8_t iqWidth
     
    uint8_t compMeth
     
    uint8_t fftSize
     
    enum xran_input_byte_order byteOrder
     
    enum xran_input_i_q_order iqOrder
     
    uint16_t xran_max_frame
     
    +

    Detailed Description

    +

    XRAN front haul IQ compression settings

    + +

    Definition at line 483 of file xran_fh_o_du.h.

    +

    Field Documentation

    + +

    ◆ byteOrder

    + +
    +
    + + + + +
    enum xran_input_byte_order byteOrder
    +
    +

    Order of bytes in int16_t in buffer. Big or little endian

    + +

    Definition at line 489 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ compMeth

    + +
    +
    + + + + +
    uint8_t compMeth
    +
    +

    Compression method

    + +

    Definition at line 487 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ fftSize

    + +
    +
    + + + + +
    uint8_t fftSize
    +
    +

    FFT Size

    + +

    Definition at line 488 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ iqOrder

    + +
    +
    + + + + +
    enum xran_input_i_q_order iqOrder
    +
    +

    order of IQs in the buffer

    + +

    Definition at line 490 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ iqWidth

    + +
    +
    + + + + +
    uint8_t iqWidth
    +
    +

    IQ bit width

    + +

    Definition at line 486 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ xran_max_frame

    + +
    +
    + + + + +
    uint16_t xran_max_frame
    +
    +

    max frame number supported

    + +

    Definition at line 491 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ xranCat

    + +
    +
    + + + + +
    enum xran_category xranCat
    +
    +

    mode: Catergory A or Category B

    + +

    Definition at line 484 of file xran_fh_o_du.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structxran__ru__config__coll__graph.map b/docs/API/structxran__ru__config__coll__graph.map new file mode 100644 index 0000000..61b37e1 --- /dev/null +++ b/docs/API/structxran__ru__config__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structxran__ru__config__coll__graph.md5 b/docs/API/structxran__ru__config__coll__graph.md5 new file mode 100644 index 0000000..2602be8 --- /dev/null +++ b/docs/API/structxran__ru__config__coll__graph.md5 @@ -0,0 +1 @@ +93c1c2a6b9cda776d0f5070490c9808f \ No newline at end of file diff --git a/docs/API/structxran__ru__config__coll__graph.png b/docs/API/structxran__ru__config__coll__graph.png new file mode 100644 index 0000000..fce05b7 Binary files /dev/null and b/docs/API/structxran__ru__config__coll__graph.png differ diff --git a/docs/API/structxran__section__desc.html b/docs/API/structxran__section__desc.html new file mode 100644 index 0000000..53ee900 --- /dev/null +++ b/docs/API/structxran__section__desc.html @@ -0,0 +1,190 @@ + + + + + + + +o-du/phy: xran_section_desc Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    xran_section_desc Struct Reference
    +
    +
    + +

    #include <xran_fh_o_du.h>

    +
    +Collaboration diagram for xran_section_desc:
    +
    +
    Collaboration graph
    +
    + + + + + + + + + + + + +

    +Data Fields

    uint16_t section_id
     
    int16_t iq_buffer_offset
     
    int16_t iq_buffer_len
     
    uint8_t * pData
     
    void * pCtrl
     
    +

    Detailed Description

    +

    section descriptor for given number of PRBs used on U-plane packet creation

    + +

    Definition at line 382 of file xran_fh_o_du.h.

    +

    Field Documentation

    + +

    ◆ iq_buffer_len

    + +
    +
    + + + + +
    int16_t iq_buffer_len
    +
    +

    Length in bytes for the content of IQs with in main symb buffer

    + +

    Definition at line 386 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ iq_buffer_offset

    + +
    +
    + + + + +
    int16_t iq_buffer_offset
    +
    +

    Offset in bytes for the content of IQs with in main symb buffer

    + +

    Definition at line 385 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ pCtrl

    + +
    +
    + + + + +
    void* pCtrl
    +
    +

    optional poitner to mbuf

    + +

    Definition at line 389 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ pData

    + +
    +
    + + + + +
    uint8_t* pData
    +
    +

    optional pointer to data buffer

    + +

    Definition at line 388 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ section_id

    + +
    +
    + + + + +
    uint16_t section_id
    +
    +

    section id used for this element

    + +

    Definition at line 383 of file xran_fh_o_du.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structxran__section__desc__coll__graph.map b/docs/API/structxran__section__desc__coll__graph.map new file mode 100644 index 0000000..8dec2e9 --- /dev/null +++ b/docs/API/structxran__section__desc__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structxran__section__desc__coll__graph.md5 b/docs/API/structxran__section__desc__coll__graph.md5 new file mode 100644 index 0000000..d695bf7 --- /dev/null +++ b/docs/API/structxran__section__desc__coll__graph.md5 @@ -0,0 +1 @@ +351577415841aa1d47277700e206c89e \ No newline at end of file diff --git a/docs/API/structxran__section__desc__coll__graph.png b/docs/API/structxran__section__desc__coll__graph.png new file mode 100644 index 0000000..002546c Binary files /dev/null and b/docs/API/structxran__section__desc__coll__graph.png differ diff --git a/docs/API/structxran__section__gen__info.html b/docs/API/structxran__section__gen__info.html new file mode 100644 index 0000000..0762ba3 --- /dev/null +++ b/docs/API/structxran__section__gen__info.html @@ -0,0 +1,307 @@ + + + + + + + +o-du/phy: xran_section_gen_info Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    xran_section_gen_info Struct Reference
    +
    +
    + +

    #include <xran_cp_api.h>

    +
    +Collaboration diagram for xran_section_gen_info:
    +
    +
    Collaboration graph
    + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    struct xran_section_info info
     
    uint32_t exDataSize
     
    struct {
       uint16_t   type
     
       uint16_t   len
     
       void *   data
     
    exData [XRAN_MAX_NUM_EXTENSIONS]
     
    struct xran_sectionext1_info m_ext1 [XRAN_MAX_NUM_EXTENSIONS]
     
    struct xran_sectionext2_info m_ext2 [XRAN_MAX_NUM_EXTENSIONS]
     
    struct xran_sectionext3_info m_ext3 [XRAN_MAX_NUM_EXTENSIONS]
     
    struct xran_sectionext4_info m_ext4 [XRAN_MAX_NUM_EXTENSIONS]
     
    struct xran_sectionext5_info m_ext5 [XRAN_MAX_NUM_EXTENSIONS]
     
    +

    Detailed Description

    +

    This structure to hold the information to generate the sections of C-Plane message

    + +

    Definition at line 295 of file xran_cp_api.h.

    +

    Field Documentation

    + +

    ◆ data

    + +
    +
    + + + + +
    void* data
    +
    +

    pointer to extension data

    + +

    Definition at line 303 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ exData

    + +
    +
    + + + + +
    struct { ... } exData[XRAN_MAX_NUM_EXTENSIONS]
    +
    +

    the array to store section extension

    + +
    +
    + +

    ◆ exDataSize

    + +
    +
    + + + + +
    uint32_t exDataSize
    +
    +

    The number of Extensions or type 6/7 data

    + +

    Definition at line 298 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ info

    + +
    +
    + + + + +
    struct xran_section_info info
    +
    +

    The information for section

    + +

    Definition at line 296 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ len

    + +
    +
    + + + + +
    uint16_t len
    +
    +

    length of extension data

    + +

    Definition at line 302 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ m_ext1

    + +
    +
    + +

    Definition at line 305 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ m_ext2

    + +
    +
    + +

    Definition at line 306 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ m_ext3

    + +
    +
    + +

    Definition at line 307 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ m_ext4

    + +
    +
    + +

    Definition at line 308 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ m_ext5

    + +
    +
    + +

    Definition at line 309 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ type

    + +
    +
    + + + + +
    uint16_t type
    +
    +

    the type of section extension

    + +

    Definition at line 301 of file xran_cp_api.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structxran__section__gen__info__coll__graph.map b/docs/API/structxran__section__gen__info__coll__graph.map new file mode 100644 index 0000000..bb1f913 --- /dev/null +++ b/docs/API/structxran__section__gen__info__coll__graph.map @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/docs/API/structxran__section__gen__info__coll__graph.md5 b/docs/API/structxran__section__gen__info__coll__graph.md5 new file mode 100644 index 0000000..44eded3 --- /dev/null +++ b/docs/API/structxran__section__gen__info__coll__graph.md5 @@ -0,0 +1 @@ +a2d65b823c44b79cb456a570d4b8a9e1 \ No newline at end of file diff --git a/docs/API/structxran__section__gen__info__coll__graph.png b/docs/API/structxran__section__gen__info__coll__graph.png new file mode 100644 index 0000000..17e94d9 Binary files /dev/null and b/docs/API/structxran__section__gen__info__coll__graph.png differ diff --git a/docs/API/structxran__section__info.html b/docs/API/structxran__section__info.html new file mode 100644 index 0000000..68b46b6 --- /dev/null +++ b/docs/API/structxran__section__info.html @@ -0,0 +1,423 @@ + + + + + + + +o-du/phy: xran_section_info Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    xran_section_info Struct Reference
    +
    +
    + +

    #include <xran_cp_api.h>

    +
    +Collaboration diagram for xran_section_info:
    +
    +
    Collaboration graph
    + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    uint8_t type
     
    uint8_t startSymId
     
    uint8_t numSymbol
     
    uint8_t symInc
     
    uint16_t id
     
    uint16_t reMask
     
    uint16_t startPrbc
     
    uint16_t numPrbc
     
    uint8_t rb
     
    uint8_t compMeth
     
    uint8_t iqWidth
     
    uint8_t ef
     
    int32_t freqOffset
     
    uint16_t beamId
     
    uint16_t ueId
     
    uint16_t regFactor
     
    uint16_t pad0
     
    struct xran_section_desc sec_desc [XRAN_NUM_OF_SYMBOL_PER_SLOT]
     
    +

    Detailed Description

    +

    This structure contains the information to generate the section body of C-Plane message

    + +

    Definition at line 184 of file xran_cp_api.h.

    +

    Field Documentation

    + +

    ◆ beamId

    + +
    +
    + + + + +
    uint16_t beamId
    +
    + +

    Definition at line 200 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ compMeth

    + +
    +
    + + + + +
    uint8_t compMeth
    +
    + +

    Definition at line 196 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ ef

    + +
    +
    + + + + +
    uint8_t ef
    +
    + +

    Definition at line 198 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ freqOffset

    + +
    +
    + + + + +
    int32_t freqOffset
    +
    + +

    Definition at line 199 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ id

    + +
    +
    + + + + +
    uint16_t id
    +
    + +

    Definition at line 191 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ iqWidth

    + +
    +
    + + + + +
    uint8_t iqWidth
    +
    + +

    Definition at line 197 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ numPrbc

    + +
    +
    + + + + +
    uint16_t numPrbc
    +
    + +

    Definition at line 194 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ numSymbol

    + +
    +
    + + + + +
    uint8_t numSymbol
    +
    + +

    Definition at line 189 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ pad0

    + +
    +
    + + + + +
    uint16_t pad0
    +
    + +

    Definition at line 203 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ rb

    + +
    +
    + + + + +
    uint8_t rb
    +
    + +

    Definition at line 195 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ regFactor

    + +
    +
    + + + + +
    uint16_t regFactor
    +
    + +

    Definition at line 202 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ reMask

    + +
    +
    + + + + +
    uint16_t reMask
    +
    + +

    Definition at line 192 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ sec_desc

    + +
    +
    + + + + +
    struct xran_section_desc sec_desc[XRAN_NUM_OF_SYMBOL_PER_SLOT]
    +
    +

    for U-plane

    + +

    Definition at line 205 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ startPrbc

    + +
    +
    + + + + +
    uint16_t startPrbc
    +
    + +

    Definition at line 193 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ startSymId

    + +
    +
    + + + + +
    uint8_t startSymId
    +
    + +

    Definition at line 188 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ symInc

    + +
    +
    + + + + +
    uint8_t symInc
    +
    + +

    Definition at line 190 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ type

    + +
    +
    + + + + +
    uint8_t type
    +
    + +

    Definition at line 185 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ ueId

    + +
    +
    + + + + +
    uint16_t ueId
    +
    + +

    Definition at line 201 of file xran_cp_api.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structxran__section__info__coll__graph.map b/docs/API/structxran__section__info__coll__graph.map new file mode 100644 index 0000000..1ab10ad --- /dev/null +++ b/docs/API/structxran__section__info__coll__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/structxran__section__info__coll__graph.md5 b/docs/API/structxran__section__info__coll__graph.md5 new file mode 100644 index 0000000..7027676 --- /dev/null +++ b/docs/API/structxran__section__info__coll__graph.md5 @@ -0,0 +1 @@ +49c711a63c0039d27e37e04275ee4d79 \ No newline at end of file diff --git a/docs/API/structxran__section__info__coll__graph.png b/docs/API/structxran__section__info__coll__graph.png new file mode 100644 index 0000000..e48c0ab Binary files /dev/null and b/docs/API/structxran__section__info__coll__graph.png differ diff --git a/docs/API/structxran__sectionext1__info.html b/docs/API/structxran__sectionext1__info.html new file mode 100644 index 0000000..c461e1f --- /dev/null +++ b/docs/API/structxran__sectionext1__info.html @@ -0,0 +1,295 @@ + + + + + + + +o-du/phy: xran_sectionext1_info Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    xran_sectionext1_info Struct Reference
    +
    +
    + +

    #include <xran_cp_api.h>

    +
    +Collaboration diagram for xran_sectionext1_info:
    +
    +
    Collaboration graph
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    uint16_t rbNumber
     
    uint16_t bfwNumber
     
    uint8_t bfwiqWidth
     
    uint8_t bfwCompMeth
     
    int16_t * p_bfwIQ
     
    int16_t bfwIQ_sz
     
    union {
       uint8_t   exponent
     
       uint8_t   blockScaler
     
       uint8_t   compBitWidthShift
     
       uint8_t   activeBeamspaceCoeffMask [XRAN_MAX_BFW_N]
     
    bfwCompParam
     
    +

    Detailed Description

    +
    +

    Definition at line 209 of file xran_cp_api.h.

    +

    Field Documentation

    + +

    ◆ activeBeamspaceCoeffMask

    + +
    +
    + + + + +
    uint8_t activeBeamspaceCoeffMask[XRAN_MAX_BFW_N]
    +
    + +

    Definition at line 220 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ bfwCompMeth

    + +
    +
    + + + + +
    uint8_t bfwCompMeth
    +
    + +

    Definition at line 213 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ bfwCompParam

    + +
    +
    + + + + +
    union { ... } bfwCompParam
    +
    + +
    +
    + +

    ◆ bfwIQ_sz

    + +
    +
    + + + + +
    int16_t bfwIQ_sz
    +
    +

    size of buffer with section extention information

    + +

    Definition at line 215 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ bfwiqWidth

    + +
    +
    + + + + +
    uint8_t bfwiqWidth
    +
    + +

    Definition at line 212 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ bfwNumber

    + +
    +
    + + + + +
    uint16_t bfwNumber
    +
    +

    number of bf weights in this section

    + +

    Definition at line 211 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ blockScaler

    + +
    +
    + + + + +
    uint8_t blockScaler
    +
    + +

    Definition at line 218 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ compBitWidthShift

    + +
    +
    + + + + +
    uint8_t compBitWidthShift
    +
    + +

    Definition at line 219 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ exponent

    + +
    +
    + + + + +
    uint8_t exponent
    +
    + +

    Definition at line 217 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ p_bfwIQ

    + +
    +
    + + + + +
    int16_t* p_bfwIQ
    +
    +

    pointer to formed section extention

    + +

    Definition at line 214 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ rbNumber

    + +
    +
    + + + + +
    uint16_t rbNumber
    +
    +

    number RBs to ext1 chain

    + +

    Definition at line 210 of file xran_cp_api.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structxran__sectionext1__info__coll__graph.map b/docs/API/structxran__sectionext1__info__coll__graph.map new file mode 100644 index 0000000..f9c9a65 --- /dev/null +++ b/docs/API/structxran__sectionext1__info__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structxran__sectionext1__info__coll__graph.md5 b/docs/API/structxran__sectionext1__info__coll__graph.md5 new file mode 100644 index 0000000..7d50bab --- /dev/null +++ b/docs/API/structxran__sectionext1__info__coll__graph.md5 @@ -0,0 +1 @@ +91ae82a625c65f2b51035c9a66b7f017 \ No newline at end of file diff --git a/docs/API/structxran__sectionext1__info__coll__graph.png b/docs/API/structxran__sectionext1__info__coll__graph.png new file mode 100644 index 0000000..b2da948 Binary files /dev/null and b/docs/API/structxran__sectionext1__info__coll__graph.png differ diff --git a/docs/API/structxran__sectionext2__info.html b/docs/API/structxran__sectionext2__info.html new file mode 100644 index 0000000..706a5bc --- /dev/null +++ b/docs/API/structxran__sectionext2__info.html @@ -0,0 +1,274 @@ + + + + + + + +o-du/phy: xran_sectionext2_info Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    xran_sectionext2_info Struct Reference
    +
    +
    + +

    #include <xran_cp_api.h>

    +
    +Collaboration diagram for xran_sectionext2_info:
    +
    +
    Collaboration graph
    +
    + + + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    uint8_t bfAzPtWidth
     
    uint8_t bfAzPt
     
    uint8_t bfZePtWidth
     
    uint8_t bfZePt
     
    uint8_t bfAz3ddWidth
     
    uint8_t bfAz3dd
     
    uint8_t bfZe3ddWidth
     
    uint8_t bfZe3dd
     
    uint8_t bfAzSI
     
    uint8_t bfZeSI
     
    +

    Detailed Description

    +
    +

    Definition at line 224 of file xran_cp_api.h.

    +

    Field Documentation

    + +

    ◆ bfAz3dd

    + +
    +
    + + + + +
    uint8_t bfAz3dd
    +
    + +

    Definition at line 230 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ bfAz3ddWidth

    + +
    +
    + + + + +
    uint8_t bfAz3ddWidth
    +
    + +

    Definition at line 229 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ bfAzPt

    + +
    +
    + + + + +
    uint8_t bfAzPt
    +
    + +

    Definition at line 226 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ bfAzPtWidth

    + +
    +
    + + + + +
    uint8_t bfAzPtWidth
    +
    + +

    Definition at line 225 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ bfAzSI

    + +
    +
    + + + + +
    uint8_t bfAzSI
    +
    + +

    Definition at line 234 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ bfZe3dd

    + +
    +
    + + + + +
    uint8_t bfZe3dd
    +
    + +

    Definition at line 232 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ bfZe3ddWidth

    + +
    +
    + + + + +
    uint8_t bfZe3ddWidth
    +
    + +

    Definition at line 231 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ bfZePt

    + +
    +
    + + + + +
    uint8_t bfZePt
    +
    + +

    Definition at line 228 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ bfZePtWidth

    + +
    +
    + + + + +
    uint8_t bfZePtWidth
    +
    + +

    Definition at line 227 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ bfZeSI

    + +
    +
    + + + + +
    uint8_t bfZeSI
    +
    + +

    Definition at line 235 of file xran_cp_api.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structxran__sectionext2__info__coll__graph.map b/docs/API/structxran__sectionext2__info__coll__graph.map new file mode 100644 index 0000000..ae416c2 --- /dev/null +++ b/docs/API/structxran__sectionext2__info__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structxran__sectionext2__info__coll__graph.md5 b/docs/API/structxran__sectionext2__info__coll__graph.md5 new file mode 100644 index 0000000..574b680 --- /dev/null +++ b/docs/API/structxran__sectionext2__info__coll__graph.md5 @@ -0,0 +1 @@ +9525572bac209d8c0f4a73138604697c \ No newline at end of file diff --git a/docs/API/structxran__sectionext2__info__coll__graph.png b/docs/API/structxran__sectionext2__info__coll__graph.png new file mode 100644 index 0000000..361d671 Binary files /dev/null and b/docs/API/structxran__sectionext2__info__coll__graph.png differ diff --git a/docs/API/structxran__sectionext3__info.html b/docs/API/structxran__sectionext3__info.html new file mode 100644 index 0000000..54d5d98 --- /dev/null +++ b/docs/API/structxran__sectionext3__info.html @@ -0,0 +1,274 @@ + + + + + + + +o-du/phy: xran_sectionext3_info Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    xran_sectionext3_info Struct Reference
    +
    +
    + +

    #include <xran_cp_api.h>

    +
    +Collaboration diagram for xran_sectionext3_info:
    +
    +
    Collaboration graph
    +
    + + + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    uint8_t codebookIdx
     
    uint8_t layerId
     
    uint8_t numLayers
     
    uint8_t txScheme
     
    uint16_t crsReMask
     
    uint8_t crsShift
     
    uint8_t crsSymNum
     
    uint16_t beamIdAP1
     
    uint16_t beamIdAP2
     
    uint16_t beamIdAP3
     
    +

    Detailed Description

    +
    +

    Definition at line 238 of file xran_cp_api.h.

    +

    Field Documentation

    + +

    ◆ beamIdAP1

    + +
    +
    + + + + +
    uint16_t beamIdAP1
    +
    + +

    Definition at line 246 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ beamIdAP2

    + +
    +
    + + + + +
    uint16_t beamIdAP2
    +
    + +

    Definition at line 247 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ beamIdAP3

    + +
    +
    + + + + +
    uint16_t beamIdAP3
    +
    + +

    Definition at line 248 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ codebookIdx

    + +
    +
    + + + + +
    uint8_t codebookIdx
    +
    + +

    Definition at line 239 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ crsReMask

    + +
    +
    + + + + +
    uint16_t crsReMask
    +
    + +

    Definition at line 243 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ crsShift

    + +
    +
    + + + + +
    uint8_t crsShift
    +
    + +

    Definition at line 244 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ crsSymNum

    + +
    +
    + + + + +
    uint8_t crsSymNum
    +
    + +

    Definition at line 245 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ layerId

    + +
    +
    + + + + +
    uint8_t layerId
    +
    + +

    Definition at line 240 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ numLayers

    + +
    +
    + + + + +
    uint8_t numLayers
    +
    + +

    Definition at line 241 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ txScheme

    + +
    +
    + + + + +
    uint8_t txScheme
    +
    + +

    Definition at line 242 of file xran_cp_api.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structxran__sectionext3__info__coll__graph.map b/docs/API/structxran__sectionext3__info__coll__graph.map new file mode 100644 index 0000000..8f6332d --- /dev/null +++ b/docs/API/structxran__sectionext3__info__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structxran__sectionext3__info__coll__graph.md5 b/docs/API/structxran__sectionext3__info__coll__graph.md5 new file mode 100644 index 0000000..3331900 --- /dev/null +++ b/docs/API/structxran__sectionext3__info__coll__graph.md5 @@ -0,0 +1 @@ +c83b4a4f6f62c4ac41cec114dd54282f \ No newline at end of file diff --git a/docs/API/structxran__sectionext3__info__coll__graph.png b/docs/API/structxran__sectionext3__info__coll__graph.png new file mode 100644 index 0000000..15cf343 Binary files /dev/null and b/docs/API/structxran__sectionext3__info__coll__graph.png differ diff --git a/docs/API/structxran__sectionext4__info.html b/docs/API/structxran__sectionext4__info.html new file mode 100644 index 0000000..470956e --- /dev/null +++ b/docs/API/structxran__sectionext4__info.html @@ -0,0 +1,148 @@ + + + + + + + +o-du/phy: xran_sectionext4_info Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    xran_sectionext4_info Struct Reference
    +
    +
    + +

    #include <xran_cp_api.h>

    +
    +Collaboration diagram for xran_sectionext4_info:
    +
    +
    Collaboration graph
    +
    + + + + + + + + +

    +Data Fields

    uint8_t csf
     
    uint8_t pad0
     
    uint16_t modCompScaler
     
    +

    Detailed Description

    +
    +

    Definition at line 251 of file xran_cp_api.h.

    +

    Field Documentation

    + +

    ◆ csf

    + +
    +
    + + + + +
    uint8_t csf
    +
    + +

    Definition at line 252 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ modCompScaler

    + +
    +
    + + + + +
    uint16_t modCompScaler
    +
    + +

    Definition at line 254 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ pad0

    + +
    +
    + + + + +
    uint8_t pad0
    +
    + +

    Definition at line 253 of file xran_cp_api.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structxran__sectionext4__info__coll__graph.map b/docs/API/structxran__sectionext4__info__coll__graph.map new file mode 100644 index 0000000..4c30c01 --- /dev/null +++ b/docs/API/structxran__sectionext4__info__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structxran__sectionext4__info__coll__graph.md5 b/docs/API/structxran__sectionext4__info__coll__graph.md5 new file mode 100644 index 0000000..1c41fac --- /dev/null +++ b/docs/API/structxran__sectionext4__info__coll__graph.md5 @@ -0,0 +1 @@ +073c12b922221f54e637721f8fa9cfe0 \ No newline at end of file diff --git a/docs/API/structxran__sectionext4__info__coll__graph.png b/docs/API/structxran__sectionext4__info__coll__graph.png new file mode 100644 index 0000000..306d906 Binary files /dev/null and b/docs/API/structxran__sectionext4__info__coll__graph.png differ diff --git a/docs/API/structxran__sectionext5__info.html b/docs/API/structxran__sectionext5__info.html new file mode 100644 index 0000000..3ca20fe --- /dev/null +++ b/docs/API/structxran__sectionext5__info.html @@ -0,0 +1,183 @@ + + + + + + + +o-du/phy: xran_sectionext5_info Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    xran_sectionext5_info Struct Reference
    +
    +
    + +

    #include <xran_cp_api.h>

    +
    +Collaboration diagram for xran_sectionext5_info:
    +
    +
    Collaboration graph
    +
    + + + + + + + + + + + + + +

    +Data Fields

    uint8_t num_sets
     
    struct {
       uint16_t   csf
     
       uint16_t   mcScaleReMask
     
       uint16_t   mcScaleOffset
     
    mc [XRAN_MAX_MODCOMP_ADDPARMS]
     
    +

    Detailed Description

    +
    +

    Definition at line 257 of file xran_cp_api.h.

    +

    Field Documentation

    + +

    ◆ csf

    + +
    +
    + + + + +
    uint16_t csf
    +
    + +

    Definition at line 260 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ mc

    + +
    +
    + + + + +
    struct { ... } mc[XRAN_MAX_MODCOMP_ADDPARMS]
    +
    + +
    +
    + +

    ◆ mcScaleOffset

    + +
    +
    + + + + +
    uint16_t mcScaleOffset
    +
    + +

    Definition at line 262 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ mcScaleReMask

    + +
    +
    + + + + +
    uint16_t mcScaleReMask
    +
    + +

    Definition at line 261 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ num_sets

    + +
    +
    + + + + +
    uint8_t num_sets
    +
    + +

    Definition at line 258 of file xran_cp_api.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structxran__sectionext5__info__coll__graph.map b/docs/API/structxran__sectionext5__info__coll__graph.map new file mode 100644 index 0000000..7881b53 --- /dev/null +++ b/docs/API/structxran__sectionext5__info__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structxran__sectionext5__info__coll__graph.md5 b/docs/API/structxran__sectionext5__info__coll__graph.md5 new file mode 100644 index 0000000..2c04674 --- /dev/null +++ b/docs/API/structxran__sectionext5__info__coll__graph.md5 @@ -0,0 +1 @@ +468a39217b04c4576e76d22389e778fc \ No newline at end of file diff --git a/docs/API/structxran__sectionext5__info__coll__graph.png b/docs/API/structxran__sectionext5__info__coll__graph.png new file mode 100644 index 0000000..3d47720 Binary files /dev/null and b/docs/API/structxran__sectionext5__info__coll__graph.png differ diff --git a/docs/API/structxran__sectionext__info.html b/docs/API/structxran__sectionext__info.html new file mode 100644 index 0000000..65caf52 --- /dev/null +++ b/docs/API/structxran__sectionext__info.html @@ -0,0 +1,148 @@ + + + + + + + +o-du/phy: xran_sectionext_info Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    xran_sectionext_info Struct Reference
    +
    +
    + +

    #include <xran_cp_api.h>

    +
    +Collaboration diagram for xran_sectionext_info:
    +
    +
    Collaboration graph
    +
    + + + + + + + + +

    +Data Fields

    uint16_t type
     
    uint16_t len
     
    void * data
     
    +

    Detailed Description

    +
    +

    Definition at line 266 of file xran_cp_api.h.

    +

    Field Documentation

    + +

    ◆ data

    + +
    +
    + + + + +
    void* data
    +
    + +

    Definition at line 269 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ len

    + +
    +
    + + + + +
    uint16_t len
    +
    + +

    Definition at line 268 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ type

    + +
    +
    + + + + +
    uint16_t type
    +
    + +

    Definition at line 267 of file xran_cp_api.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structxran__sectionext__info__coll__graph.map b/docs/API/structxran__sectionext__info__coll__graph.map new file mode 100644 index 0000000..a8d1cc4 --- /dev/null +++ b/docs/API/structxran__sectionext__info__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structxran__sectionext__info__coll__graph.md5 b/docs/API/structxran__sectionext__info__coll__graph.md5 new file mode 100644 index 0000000..43462ed --- /dev/null +++ b/docs/API/structxran__sectionext__info__coll__graph.md5 @@ -0,0 +1 @@ +72f864146345d6f9ec4ded4545f9b172 \ No newline at end of file diff --git a/docs/API/structxran__sectionext__info__coll__graph.png b/docs/API/structxran__sectionext__info__coll__graph.png new file mode 100644 index 0000000..8aeae3e Binary files /dev/null and b/docs/API/structxran__sectionext__info__coll__graph.png differ diff --git a/docs/API/structxran__sectioninfo__db.html b/docs/API/structxran__sectioninfo__db.html new file mode 100644 index 0000000..e26a708 --- /dev/null +++ b/docs/API/structxran__sectioninfo__db.html @@ -0,0 +1,135 @@ + + + + + + + +o-du/phy: xran_sectioninfo_db Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    xran_sectioninfo_db Struct Reference
    +
    +
    +
    +Collaboration diagram for xran_sectioninfo_db:
    +
    +
    Collaboration graph
    + + + + +
    + + + + + + +

    +Data Fields

    uint32_t cur_index
     
    struct xran_section_info list [XRAN_MAX_NUM_SECTIONS]
     
    +

    Detailed Description

    +

    This structure to store the section information of C-Plane in order to generate and parse corresponding U-Plane

    + +

    Definition at line 41 of file xran_cp_api.c.

    +

    Field Documentation

    + +

    ◆ cur_index

    + +
    +
    + + + + +
    uint32_t cur_index
    +
    +

    Current index to store for this eAXC

    + +

    Definition at line 42 of file xran_cp_api.c.

    + +
    +
    + +

    ◆ list

    + +
    +
    + + + + +
    struct xran_section_info list[XRAN_MAX_NUM_SECTIONS]
    +
    +

    The array of section information

    + +

    Definition at line 43 of file xran_cp_api.c.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structxran__sectioninfo__db__coll__graph.map b/docs/API/structxran__sectioninfo__db__coll__graph.map new file mode 100644 index 0000000..c179feb --- /dev/null +++ b/docs/API/structxran__sectioninfo__db__coll__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/structxran__sectioninfo__db__coll__graph.md5 b/docs/API/structxran__sectioninfo__db__coll__graph.md5 new file mode 100644 index 0000000..11c5a92 --- /dev/null +++ b/docs/API/structxran__sectioninfo__db__coll__graph.md5 @@ -0,0 +1 @@ +72df6a22c195b97ae81512c50abf6dcd \ No newline at end of file diff --git a/docs/API/structxran__sectioninfo__db__coll__graph.png b/docs/API/structxran__sectioninfo__db__coll__graph.png new file mode 100644 index 0000000..5c16a96 Binary files /dev/null and b/docs/API/structxran__sectioninfo__db__coll__graph.png differ diff --git a/docs/API/structxran__slot__config.html b/docs/API/structxran__slot__config.html new file mode 100644 index 0000000..b81ba75 --- /dev/null +++ b/docs/API/structxran__slot__config.html @@ -0,0 +1,132 @@ + + + + + + + +o-du/phy: xran_slot_config Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    xran_slot_config Struct Reference
    +
    +
    + +

    #include <xran_fh_o_du.h>

    +
    +Collaboration diagram for xran_slot_config:
    +
    +
    Collaboration graph
    +
    + + + + + + +

    +Data Fields

    uint8_t nSymbolType [XRAN_NUM_OF_SYMBOL_PER_SLOT]
     
    uint8_t reserved [2]
     
    +

    Detailed Description

    +

    XRAN slot configuration

    + +

    Definition at line 453 of file xran_fh_o_du.h.

    +

    Field Documentation

    + +

    ◆ nSymbolType

    + +
    +
    + + + + +
    uint8_t nSymbolType[XRAN_NUM_OF_SYMBOL_PER_SLOT]
    +
    +

    Defines the Symbol type for all 14 symbols in a slot. 0: DL, 1: UL, 2: Guard

    + +

    Definition at line 454 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ reserved

    + +
    +
    + + + + +
    uint8_t reserved[2]
    +
    + +

    Definition at line 455 of file xran_fh_o_du.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structxran__slot__config__coll__graph.map b/docs/API/structxran__slot__config__coll__graph.map new file mode 100644 index 0000000..2909535 --- /dev/null +++ b/docs/API/structxran__slot__config__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structxran__slot__config__coll__graph.md5 b/docs/API/structxran__slot__config__coll__graph.md5 new file mode 100644 index 0000000..ab48561 --- /dev/null +++ b/docs/API/structxran__slot__config__coll__graph.md5 @@ -0,0 +1 @@ +92ad20aecef7fa49d7986682e73d4b61 \ No newline at end of file diff --git a/docs/API/structxran__slot__config__coll__graph.png b/docs/API/structxran__slot__config__coll__graph.png new file mode 100644 index 0000000..4dbfc14 Binary files /dev/null and b/docs/API/structxran__slot__config__coll__graph.png differ diff --git a/docs/API/structxran__srs__config.html b/docs/API/structxran__srs__config.html new file mode 100644 index 0000000..94fbe23 --- /dev/null +++ b/docs/API/structxran__srs__config.html @@ -0,0 +1,132 @@ + + + + + + + +o-du/phy: xran_srs_config Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    xran_srs_config Struct Reference
    +
    +
    + +

    #include <xran_fh_o_du.h>

    +
    +Collaboration diagram for xran_srs_config:
    +
    +
    Collaboration graph
    +
    + + + + + + +

    +Data Fields

    uint16_t symbMask
     
    uint8_t eAxC_offset
     
    +

    Detailed Description

    +
    +

    Definition at line 447 of file xran_fh_o_du.h.

    +

    Field Documentation

    + +

    ◆ eAxC_offset

    + +
    +
    + + + + +
    uint8_t eAxC_offset
    +
    +

    starting value of eAxC for SRS packets

    + +

    Definition at line 449 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ symbMask

    + +
    +
    + + + + +
    uint16_t symbMask
    +
    +

    symbols used for SRS with in U/S slot [bits 0-13]

    + +

    Definition at line 448 of file xran_fh_o_du.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structxran__srs__config__coll__graph.map b/docs/API/structxran__srs__config__coll__graph.map new file mode 100644 index 0000000..876bc5a --- /dev/null +++ b/docs/API/structxran__srs__config__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structxran__srs__config__coll__graph.md5 b/docs/API/structxran__srs__config__coll__graph.md5 new file mode 100644 index 0000000..229822e --- /dev/null +++ b/docs/API/structxran__srs__config__coll__graph.md5 @@ -0,0 +1 @@ +30f0d9b78e2f675d07e1bf81bdb03b72 \ No newline at end of file diff --git a/docs/API/structxran__srs__config__coll__graph.png b/docs/API/structxran__srs__config__coll__graph.png new file mode 100644 index 0000000..443e783 Binary files /dev/null and b/docs/API/structxran__srs__config__coll__graph.png differ diff --git a/docs/API/structxran__timer__ctx.html b/docs/API/structxran__timer__ctx.html new file mode 100644 index 0000000..3c5e1e2 --- /dev/null +++ b/docs/API/structxran__timer__ctx.html @@ -0,0 +1,110 @@ + + + + + + + +o-du/phy: xran_timer_ctx Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    xran_timer_ctx Struct Reference
    +
    +
    +
    +Collaboration diagram for xran_timer_ctx:
    +
    +
    Collaboration graph
    +
    + + + + +

    +Data Fields

    uint32_t tti_to_process
     
    +

    Detailed Description

    +
    +

    Definition at line 96 of file xran_main.c.

    +

    Field Documentation

    + +

    ◆ tti_to_process

    + +
    +
    + + + + +
    uint32_t tti_to_process
    +
    + +

    Definition at line 97 of file xran_main.c.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structxran__timer__ctx__coll__graph.map b/docs/API/structxran__timer__ctx__coll__graph.map new file mode 100644 index 0000000..e3affcd --- /dev/null +++ b/docs/API/structxran__timer__ctx__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structxran__timer__ctx__coll__graph.md5 b/docs/API/structxran__timer__ctx__coll__graph.md5 new file mode 100644 index 0000000..14b0efb --- /dev/null +++ b/docs/API/structxran__timer__ctx__coll__graph.md5 @@ -0,0 +1 @@ +f2b75787362189d9d3106dfae5fdde53 \ No newline at end of file diff --git a/docs/API/structxran__timer__ctx__coll__graph.png b/docs/API/structxran__timer__ctx__coll__graph.png new file mode 100644 index 0000000..32b6a40 Binary files /dev/null and b/docs/API/structxran__timer__ctx__coll__graph.png differ diff --git a/docs/API/structxran__up__pkt__gen__no__compression__params.html b/docs/API/structxran__up__pkt__gen__no__compression__params.html new file mode 100644 index 0000000..670e4d4 --- /dev/null +++ b/docs/API/structxran__up__pkt__gen__no__compression__params.html @@ -0,0 +1,134 @@ + + + + + + + +o-du/phy: xran_up_pkt_gen_no_compression_params Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    xran_up_pkt_gen_no_compression_params Struct Reference
    +
    +
    + +

    #include <xran_up_api.h>

    +
    +Collaboration diagram for xran_up_pkt_gen_no_compression_params:
    +
    +
    Collaboration graph
    + + + + +
    + + + + + + +

    +Data Fields

    struct radio_app_common_hdr app_params
     
    struct data_section_hdr sec_hdr
     
    +

    Detailed Description

    +
    +

    Definition at line 61 of file xran_up_api.h.

    +

    Field Documentation

    + +

    ◆ app_params

    + +
    +
    + + + + +
    struct radio_app_common_hdr app_params
    +
    + +

    Definition at line 63 of file xran_up_api.h.

    + +
    +
    + +

    ◆ sec_hdr

    + +
    +
    + + + + +
    struct data_section_hdr sec_hdr
    +
    + +

    Definition at line 64 of file xran_up_api.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structxran__up__pkt__gen__no__compression__params__coll__graph.map b/docs/API/structxran__up__pkt__gen__no__compression__params__coll__graph.map new file mode 100644 index 0000000..7450bb0 --- /dev/null +++ b/docs/API/structxran__up__pkt__gen__no__compression__params__coll__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/structxran__up__pkt__gen__no__compression__params__coll__graph.md5 b/docs/API/structxran__up__pkt__gen__no__compression__params__coll__graph.md5 new file mode 100644 index 0000000..19e5eaa --- /dev/null +++ b/docs/API/structxran__up__pkt__gen__no__compression__params__coll__graph.md5 @@ -0,0 +1 @@ +1615c24d108b675406fe0f05f105d263 \ No newline at end of file diff --git a/docs/API/structxran__up__pkt__gen__no__compression__params__coll__graph.png b/docs/API/structxran__up__pkt__gen__no__compression__params__coll__graph.png new file mode 100644 index 0000000..aaf0b76 Binary files /dev/null and b/docs/API/structxran__up__pkt__gen__no__compression__params__coll__graph.png differ diff --git a/docs/API/structxran__up__pkt__gen__params.html b/docs/API/structxran__up__pkt__gen__params.html new file mode 100644 index 0000000..08b0ccd --- /dev/null +++ b/docs/API/structxran__up__pkt__gen__params.html @@ -0,0 +1,176 @@ + + + + + + + +o-du/phy: xran_up_pkt_gen_params Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    xran_up_pkt_gen_params Struct Reference
    +
    +
    + +

    #include <xran_up_api.h>

    +
    +Collaboration diagram for xran_up_pkt_gen_params:
    +
    +
    Collaboration graph
    + + + + + + + + + + +
    + + + + + + + + + + +

    +Data Fields

    struct radio_app_common_hdr app_params
     
    struct data_section_hdr sec_hdr
     
    struct data_section_compression_hdr compr_hdr_param
     
    union compression_params compr_param
     
    +

    Detailed Description

    +
    +

    Definition at line 45 of file xran_up_api.h.

    +

    Field Documentation

    + +

    ◆ app_params

    + +
    +
    + + + + +
    struct radio_app_common_hdr app_params
    +
    + +

    Definition at line 47 of file xran_up_api.h.

    + +
    +
    + +

    ◆ compr_hdr_param

    + +
    +
    + + + + +
    struct data_section_compression_hdr compr_hdr_param
    +
    + +

    Definition at line 49 of file xran_up_api.h.

    + +
    +
    + +

    ◆ compr_param

    + +
    +
    + + + + +
    union compression_params compr_param
    +
    + +

    Definition at line 50 of file xran_up_api.h.

    + +
    +
    + +

    ◆ sec_hdr

    + +
    +
    + + + + +
    struct data_section_hdr sec_hdr
    +
    + +

    Definition at line 48 of file xran_up_api.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structxran__up__pkt__gen__params__coll__graph.map b/docs/API/structxran__up__pkt__gen__params__coll__graph.map new file mode 100644 index 0000000..c739d25 --- /dev/null +++ b/docs/API/structxran__up__pkt__gen__params__coll__graph.map @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/docs/API/structxran__up__pkt__gen__params__coll__graph.md5 b/docs/API/structxran__up__pkt__gen__params__coll__graph.md5 new file mode 100644 index 0000000..5af695c --- /dev/null +++ b/docs/API/structxran__up__pkt__gen__params__coll__graph.md5 @@ -0,0 +1 @@ +aa8f40226fd45ca216df49d41bac059f \ No newline at end of file diff --git a/docs/API/structxran__up__pkt__gen__params__coll__graph.png b/docs/API/structxran__up__pkt__gen__params__coll__graph.png new file mode 100644 index 0000000..4ea2392 Binary files /dev/null and b/docs/API/structxran__up__pkt__gen__params__coll__graph.png differ diff --git a/docs/API/structxran__up__pkt__hdr.html b/docs/API/structxran__up__pkt__hdr.html new file mode 100644 index 0000000..cb42802 --- /dev/null +++ b/docs/API/structxran__up__pkt__hdr.html @@ -0,0 +1,158 @@ + + + + + + + +o-du/phy: xran_up_pkt_hdr Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    xran_up_pkt_hdr Struct Reference
    +
    +
    + +

    #include <xran_pkt_up.h>

    +
    +Collaboration diagram for xran_up_pkt_hdr:
    +
    +
    Collaboration graph
    + + + + + + + +
    + + + + + + + + +

    +Data Fields

    struct xran_ecpri_hdr ecpri_hdr
     
    struct radio_app_common_hdr app_hdr
     
    struct data_section_hdr data_sec_hdr
     
    +

    Detailed Description

    +

    Structure holds complete xran u-plane packet header 3.1.1 Ethernet Encapsulation

    + +

    Definition at line 149 of file xran_pkt_up.h.

    +

    Field Documentation

    + +

    ◆ app_hdr

    + +
    +
    + + + + +
    struct radio_app_common_hdr app_hdr
    +
    +

    eCPRI Transport Header

    + +

    Definition at line 152 of file xran_pkt_up.h.

    + +
    +
    + +

    ◆ data_sec_hdr

    + +
    +
    + + + + +
    struct data_section_hdr data_sec_hdr
    +
    + +

    Definition at line 153 of file xran_pkt_up.h.

    + +
    +
    + +

    ◆ ecpri_hdr

    + +
    +
    + + + + +
    struct xran_ecpri_hdr ecpri_hdr
    +
    +

    eCPRI Transport Header

    + +

    Definition at line 151 of file xran_pkt_up.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structxran__up__pkt__hdr__coll__graph.map b/docs/API/structxran__up__pkt__hdr__coll__graph.map new file mode 100644 index 0000000..964ada0 --- /dev/null +++ b/docs/API/structxran__up__pkt__hdr__coll__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/API/structxran__up__pkt__hdr__coll__graph.md5 b/docs/API/structxran__up__pkt__hdr__coll__graph.md5 new file mode 100644 index 0000000..0510fe8 --- /dev/null +++ b/docs/API/structxran__up__pkt__hdr__coll__graph.md5 @@ -0,0 +1 @@ +020111cf5f83be10ab08c7317af89641 \ No newline at end of file diff --git a/docs/API/structxran__up__pkt__hdr__coll__graph.png b/docs/API/structxran__up__pkt__hdr__coll__graph.png new file mode 100644 index 0000000..c5020e1 Binary files /dev/null and b/docs/API/structxran__up__pkt__hdr__coll__graph.png differ diff --git a/docs/API/structxran_lib_wraper_1_1xran__timer__ctx.html b/docs/API/structxran_lib_wraper_1_1xran__timer__ctx.html new file mode 100644 index 0000000..aab7bc6 --- /dev/null +++ b/docs/API/structxran_lib_wraper_1_1xran__timer__ctx.html @@ -0,0 +1,116 @@ + + + + + + + +o-du/phy: xranLibWraper::xran_timer_ctx Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    xranLibWraper::xran_timer_ctx Struct Reference
    +
    +
    + +

    #include <xran_lib_wrap.hpp>

    +
    +Collaboration diagram for xranLibWraper::xran_timer_ctx:
    +
    +
    Collaboration graph
    +
    + + + + +

    +Data Fields

    uint32_t tti_to_process
     
    +

    Detailed Description

    +
    +

    Definition at line 123 of file xran_lib_wrap.hpp.

    +

    Field Documentation

    + +

    ◆ tti_to_process

    + +
    +
    + + + + +
    uint32_t tti_to_process
    +
    + +

    Definition at line 124 of file xran_lib_wrap.hpp.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structxran_lib_wraper_1_1xran__timer__ctx__coll__graph.map b/docs/API/structxran_lib_wraper_1_1xran__timer__ctx__coll__graph.map new file mode 100644 index 0000000..b42456a --- /dev/null +++ b/docs/API/structxran_lib_wraper_1_1xran__timer__ctx__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structxran_lib_wraper_1_1xran__timer__ctx__coll__graph.md5 b/docs/API/structxran_lib_wraper_1_1xran__timer__ctx__coll__graph.md5 new file mode 100644 index 0000000..d5809cf --- /dev/null +++ b/docs/API/structxran_lib_wraper_1_1xran__timer__ctx__coll__graph.md5 @@ -0,0 +1 @@ +d9187180162656a917d55e96fa764b5e \ No newline at end of file diff --git a/docs/API/structxran_lib_wraper_1_1xran__timer__ctx__coll__graph.png b/docs/API/structxran_lib_wraper_1_1xran__timer__ctx__coll__graph.png new file mode 100644 index 0000000..3460728 Binary files /dev/null and b/docs/API/structxran_lib_wraper_1_1xran__timer__ctx__coll__graph.png differ diff --git a/docs/API/structxranlib__compress__request.html b/docs/API/structxranlib__compress__request.html new file mode 100644 index 0000000..94e0f4f --- /dev/null +++ b/docs/API/structxranlib__compress__request.html @@ -0,0 +1,193 @@ + + + + + + + +o-du/phy: xranlib_compress_request Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    xranlib_compress_request Struct Reference
    +
    +
    + +

    Request structure containing pointer to data and its length. + More...

    + +

    #include <xran_compression.h>

    +
    +Collaboration diagram for xranlib_compress_request:
    +
    +
    Collaboration graph
    +
    + + + + + + + + + + + + +

    +Data Fields

    int16_t * data_in
     
    int16_t numRBs
     
    int16_t compMethod
     
    int16_t iqWidth
     
    int32_t len
     
    +

    Detailed Description

    +

    Request structure containing pointer to data and its length.

    + +

    Definition at line 37 of file xran_compression.h.

    +

    Field Documentation

    + +

    ◆ compMethod

    + +
    +
    + + + + +
    int16_t compMethod
    +
    +

    Compression method

    + +

    Definition at line 40 of file xran_compression.h.

    + +
    +
    + +

    ◆ data_in

    + +
    +
    + + + + +
    int16_t* data_in
    +
    +

    Pointer to data to compress.

    + +

    Definition at line 38 of file xran_compression.h.

    + +
    +
    + +

    ◆ iqWidth

    + +
    +
    + + + + +
    int16_t iqWidth
    +
    +

    Bit size

    + +

    Definition at line 41 of file xran_compression.h.

    + +
    +
    + +

    ◆ len

    + +
    +
    + + + + +
    int32_t len
    +
    +

    Length of input buffer in bytes

    + +

    Definition at line 42 of file xran_compression.h.

    + +
    +
    + +

    ◆ numRBs

    + +
    +
    + + + + +
    int16_t numRBs
    +
    +

    numRBs

    + +

    Definition at line 39 of file xran_compression.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structxranlib__compress__request__coll__graph.map b/docs/API/structxranlib__compress__request__coll__graph.map new file mode 100644 index 0000000..6bf57f4 --- /dev/null +++ b/docs/API/structxranlib__compress__request__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structxranlib__compress__request__coll__graph.md5 b/docs/API/structxranlib__compress__request__coll__graph.md5 new file mode 100644 index 0000000..9d16457 --- /dev/null +++ b/docs/API/structxranlib__compress__request__coll__graph.md5 @@ -0,0 +1 @@ +d6cfaa8c1428f00755064b96936f33bc \ No newline at end of file diff --git a/docs/API/structxranlib__compress__request__coll__graph.png b/docs/API/structxranlib__compress__request__coll__graph.png new file mode 100644 index 0000000..562bb5a Binary files /dev/null and b/docs/API/structxranlib__compress__request__coll__graph.png differ diff --git a/docs/API/structxranlib__compress__response.html b/docs/API/structxranlib__compress__response.html new file mode 100644 index 0000000..83f9535 --- /dev/null +++ b/docs/API/structxranlib__compress__response.html @@ -0,0 +1,136 @@ + + + + + + + +o-du/phy: xranlib_compress_response Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    xranlib_compress_response Struct Reference
    +
    +
    + +

    Response structure containing pointer to data and its length. + More...

    + +

    #include <xran_compression.h>

    +
    +Collaboration diagram for xranlib_compress_response:
    +
    +
    Collaboration graph
    +
    + + + + + + +

    +Data Fields

    int8_t * data_out
     
    int32_t len
     
    +

    Detailed Description

    +

    Response structure containing pointer to data and its length.

    + +

    Definition at line 49 of file xran_compression.h.

    +

    Field Documentation

    + +

    ◆ data_out

    + +
    +
    + + + + +
    int8_t* data_out
    +
    +

    Pointer to data after compression.

    + +

    Definition at line 50 of file xran_compression.h.

    + +
    +
    + +

    ◆ len

    + +
    +
    + + + + +
    int32_t len
    +
    +

    Length of output data.

    + +

    Definition at line 52 of file xran_compression.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structxranlib__compress__response__coll__graph.map b/docs/API/structxranlib__compress__response__coll__graph.map new file mode 100644 index 0000000..dfd1e6a --- /dev/null +++ b/docs/API/structxranlib__compress__response__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structxranlib__compress__response__coll__graph.md5 b/docs/API/structxranlib__compress__response__coll__graph.md5 new file mode 100644 index 0000000..4c8eeb0 --- /dev/null +++ b/docs/API/structxranlib__compress__response__coll__graph.md5 @@ -0,0 +1 @@ +9b9191a8fbad85f1a73729090a734873 \ No newline at end of file diff --git a/docs/API/structxranlib__compress__response__coll__graph.png b/docs/API/structxranlib__compress__response__coll__graph.png new file mode 100644 index 0000000..6e07b84 Binary files /dev/null and b/docs/API/structxranlib__compress__response__coll__graph.png differ diff --git a/docs/API/structxranlib__decompress__request.html b/docs/API/structxranlib__decompress__request.html new file mode 100644 index 0000000..c0bd9cd --- /dev/null +++ b/docs/API/structxranlib__decompress__request.html @@ -0,0 +1,193 @@ + + + + + + + +o-du/phy: xranlib_decompress_request Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    xranlib_decompress_request Struct Reference
    +
    +
    + +

    Request structure containing pointer to data and its length. + More...

    + +

    #include <xran_compression.h>

    +
    +Collaboration diagram for xranlib_decompress_request:
    +
    +
    Collaboration graph
    +
    + + + + + + + + + + + + +

    +Data Fields

    int8_t * data_in
     
    int16_t numRBs
     
    int16_t compMethod
     
    int16_t iqWidth
     
    int32_t len
     
    +

    Detailed Description

    +

    Request structure containing pointer to data and its length.

    + +

    Definition at line 59 of file xran_compression.h.

    +

    Field Documentation

    + +

    ◆ compMethod

    + +
    +
    + + + + +
    int16_t compMethod
    +
    +

    Compression method

    + +

    Definition at line 62 of file xran_compression.h.

    + +
    +
    + +

    ◆ data_in

    + +
    +
    + + + + +
    int8_t* data_in
    +
    +

    Pointer to data to decompress.

    + +

    Definition at line 60 of file xran_compression.h.

    + +
    +
    + +

    ◆ iqWidth

    + +
    +
    + + + + +
    int16_t iqWidth
    +
    +

    Bit size

    + +

    Definition at line 63 of file xran_compression.h.

    + +
    +
    + +

    ◆ len

    + +
    +
    + + + + +
    int32_t len
    +
    +

    Length of input data.

    + +

    Definition at line 65 of file xran_compression.h.

    + +
    +
    + +

    ◆ numRBs

    + +
    +
    + + + + +
    int16_t numRBs
    +
    +

    numRBs

    + +

    Definition at line 61 of file xran_compression.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structxranlib__decompress__request__coll__graph.map b/docs/API/structxranlib__decompress__request__coll__graph.map new file mode 100644 index 0000000..b3995aa --- /dev/null +++ b/docs/API/structxranlib__decompress__request__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structxranlib__decompress__request__coll__graph.md5 b/docs/API/structxranlib__decompress__request__coll__graph.md5 new file mode 100644 index 0000000..a1a5b6c --- /dev/null +++ b/docs/API/structxranlib__decompress__request__coll__graph.md5 @@ -0,0 +1 @@ +c9c27010461d082d4083669b9acf1c45 \ No newline at end of file diff --git a/docs/API/structxranlib__decompress__request__coll__graph.png b/docs/API/structxranlib__decompress__request__coll__graph.png new file mode 100644 index 0000000..f28ac6f Binary files /dev/null and b/docs/API/structxranlib__decompress__request__coll__graph.png differ diff --git a/docs/API/structxranlib__decompress__response.html b/docs/API/structxranlib__decompress__response.html new file mode 100644 index 0000000..97da223 --- /dev/null +++ b/docs/API/structxranlib__decompress__response.html @@ -0,0 +1,136 @@ + + + + + + + +o-du/phy: xranlib_decompress_response Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    xranlib_decompress_response Struct Reference
    +
    +
    + +

    Response structure containing pointer to data and its length. + More...

    + +

    #include <xran_compression.h>

    +
    +Collaboration diagram for xranlib_decompress_response:
    +
    +
    Collaboration graph
    +
    + + + + + + +

    +Data Fields

    int16_t * data_out
     
    int32_t len
     
    +

    Detailed Description

    +

    Response structure containing pointer to data and its length.

    + +

    Definition at line 72 of file xran_compression.h.

    +

    Field Documentation

    + +

    ◆ data_out

    + +
    +
    + + + + +
    int16_t* data_out
    +
    +

    Pointer to data after decompression.

    + +

    Definition at line 73 of file xran_compression.h.

    + +
    +
    + +

    ◆ len

    + +
    +
    + + + + +
    int32_t len
    +
    +

    Length of output data.

    + +

    Definition at line 75 of file xran_compression.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/API/structxranlib__decompress__response__coll__graph.map b/docs/API/structxranlib__decompress__response__coll__graph.map new file mode 100644 index 0000000..e4b4081 --- /dev/null +++ b/docs/API/structxranlib__decompress__response__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/structxranlib__decompress__response__coll__graph.md5 b/docs/API/structxranlib__decompress__response__coll__graph.md5 new file mode 100644 index 0000000..faea81e --- /dev/null +++ b/docs/API/structxranlib__decompress__response__coll__graph.md5 @@ -0,0 +1 @@ +990deb3630e68a74ccd6353602f0e2ef \ No newline at end of file diff --git a/docs/API/structxranlib__decompress__response__coll__graph.png b/docs/API/structxranlib__decompress__response__coll__graph.png new file mode 100644 index 0000000..7b78d4e Binary files /dev/null and b/docs/API/structxranlib__decompress__response__coll__graph.png differ diff --git a/docs/API/sync_off.png b/docs/API/sync_off.png new file mode 100644 index 0000000..3b443fc Binary files /dev/null and b/docs/API/sync_off.png differ diff --git a/docs/API/sync_on.png b/docs/API/sync_on.png new file mode 100644 index 0000000..e08320f Binary files /dev/null and b/docs/API/sync_on.png differ diff --git a/docs/API/tab_a.png b/docs/API/tab_a.png new file mode 100644 index 0000000..3b725c4 Binary files /dev/null and b/docs/API/tab_a.png differ diff --git a/docs/API/tab_b.png b/docs/API/tab_b.png new file mode 100644 index 0000000..e2b4a86 Binary files /dev/null and b/docs/API/tab_b.png differ diff --git a/docs/API/tab_h.png b/docs/API/tab_h.png new file mode 100644 index 0000000..fd5cb70 Binary files /dev/null and b/docs/API/tab_h.png differ diff --git a/docs/API/tab_s.png b/docs/API/tab_s.png new file mode 100644 index 0000000..ab478c9 Binary files /dev/null and b/docs/API/tab_s.png differ diff --git a/docs/API/tabs.css b/docs/API/tabs.css new file mode 100644 index 0000000..bbde11e --- /dev/null +++ b/docs/API/tabs.css @@ -0,0 +1 @@ +.sm{position:relative;z-index:9999}.sm,.sm ul,.sm li{display:block;list-style:none;margin:0;padding:0;line-height:normal;direction:ltr;text-align:left;-webkit-tap-highlight-color:transparent}.sm-rtl,.sm-rtl ul,.sm-rtl li{direction:rtl;text-align:right}.sm>li>h1,.sm>li>h2,.sm>li>h3,.sm>li>h4,.sm>li>h5,.sm>li>h6{margin:0;padding:0}.sm ul{display:none}.sm li,.sm a{position:relative}.sm a{display:block}.sm a.disabled{cursor:not-allowed}.sm:after{content:"\00a0";display:block;height:0;font:0px/0 serif;clear:both;visibility:hidden;overflow:hidden}.sm,.sm *,.sm *:before,.sm *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.sm-dox{background-image:url("tab_b.png")}.sm-dox a,.sm-dox a:focus,.sm-dox a:hover,.sm-dox a:active{padding:0px 12px;padding-right:43px;font-family:"Lucida Grande","Geneva","Helvetica",Arial,sans-serif;font-size:13px;font-weight:bold;line-height:36px;text-decoration:none;text-shadow:0px 1px 1px rgba(255,255,255,0.9);color:#283A5D;outline:none}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox a.current{color:#D23600}.sm-dox a.disabled{color:#bbb}.sm-dox a span.sub-arrow{position:absolute;top:50%;margin-top:-14px;left:auto;right:3px;width:28px;height:28px;overflow:hidden;font:bold 12px/28px monospace !important;text-align:center;text-shadow:none;background:rgba(255,255,255,0.5);border-radius:5px}.sm-dox a.highlighted span.sub-arrow:before{display:block;content:'-'}.sm-dox>li:first-child>a,.sm-dox>li:first-child>:not(ul) a{border-radius:5px 5px 0 0}.sm-dox>li:last-child>a,.sm-dox>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul{border-radius:0 0 5px 5px}.sm-dox>li:last-child>a.highlighted,.sm-dox>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted{border-radius:0}.sm-dox ul{background:rgba(162,162,162,0.1)}.sm-dox ul a,.sm-dox ul a:focus,.sm-dox ul a:hover,.sm-dox ul a:active{font-size:12px;border-left:8px solid transparent;line-height:36px;text-shadow:none;background-color:white;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox ul ul a,.sm-dox ul ul a:hover,.sm-dox ul ul a:focus,.sm-dox ul ul a:active{border-left:16px solid transparent}.sm-dox ul ul ul a,.sm-dox ul ul ul a:hover,.sm-dox ul ul ul a:focus,.sm-dox ul ul ul a:active{border-left:24px solid transparent}.sm-dox ul ul ul ul a,.sm-dox ul ul ul ul a:hover,.sm-dox ul ul ul ul a:focus,.sm-dox ul ul ul ul a:active{border-left:32px solid transparent}.sm-dox ul ul ul ul ul a,.sm-dox ul ul ul ul ul a:hover,.sm-dox ul ul ul ul ul a:focus,.sm-dox ul ul ul ul ul a:active{border-left:40px solid transparent}@media (min-width: 768px){.sm-dox ul{position:absolute;width:12em}.sm-dox li{float:left}.sm-dox.sm-rtl li{float:right}.sm-dox ul li,.sm-dox.sm-rtl ul li,.sm-dox.sm-vertical li{float:none}.sm-dox a{white-space:nowrap}.sm-dox ul a,.sm-dox.sm-vertical a{white-space:normal}.sm-dox .sm-nowrap>li>a,.sm-dox .sm-nowrap>li>:not(ul) a{white-space:nowrap}.sm-dox{padding:0 10px;background-image:url("tab_b.png");line-height:36px}.sm-dox a span.sub-arrow{top:50%;margin-top:-2px;right:12px;width:0;height:0;border-width:4px;border-style:solid dashed dashed dashed;border-color:#283A5D transparent transparent transparent;background:transparent;border-radius:0}.sm-dox a,.sm-dox a:focus,.sm-dox a:active,.sm-dox a:hover,.sm-dox a.highlighted{padding:0px 12px;background-image:url("tab_s.png");background-repeat:no-repeat;background-position:right;border-radius:0 !important}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox a:hover span.sub-arrow{border-color:#fff transparent transparent transparent}.sm-dox a.has-submenu{padding-right:24px}.sm-dox li{border-top:0}.sm-dox>li>ul:before,.sm-dox>li>ul:after{content:'';position:absolute;top:-18px;left:30px;width:0;height:0;overflow:hidden;border-width:9px;border-style:dashed dashed solid dashed;border-color:transparent transparent #bbb transparent}.sm-dox>li>ul:after{top:-16px;left:31px;border-width:8px;border-color:transparent transparent #fff transparent}.sm-dox ul{border:1px solid #bbb;padding:5px 0;background:#fff;border-radius:5px !important;box-shadow:0 5px 9px rgba(0,0,0,0.2)}.sm-dox ul a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent #555;border-style:dashed dashed dashed solid}.sm-dox ul a,.sm-dox ul a:hover,.sm-dox ul a:focus,.sm-dox ul a:active,.sm-dox ul a.highlighted{color:#555;background-image:none;border:0 !important;color:#555;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox ul a:hover span.sub-arrow{border-color:transparent transparent transparent #fff}.sm-dox span.scroll-up,.sm-dox span.scroll-down{position:absolute;display:none;visibility:hidden;overflow:hidden;background:#fff;height:36px}.sm-dox span.scroll-up:hover,.sm-dox span.scroll-down:hover{background:#eee}.sm-dox span.scroll-up:hover span.scroll-up-arrow,.sm-dox span.scroll-up:hover span.scroll-down-arrow{border-color:transparent transparent #D23600 transparent}.sm-dox span.scroll-down:hover span.scroll-down-arrow{border-color:#D23600 transparent transparent transparent}.sm-dox span.scroll-up-arrow,.sm-dox span.scroll-down-arrow{position:absolute;top:0;left:50%;margin-left:-6px;width:0;height:0;overflow:hidden;border-width:6px;border-style:dashed dashed solid dashed;border-color:transparent transparent #555 transparent}.sm-dox span.scroll-down-arrow{top:8px;border-style:solid dashed dashed dashed;border-color:#555 transparent transparent transparent}.sm-dox.sm-rtl a.has-submenu{padding-right:12px;padding-left:24px}.sm-dox.sm-rtl a span.sub-arrow{right:auto;left:12px}.sm-dox.sm-rtl.sm-vertical a.has-submenu{padding:10px 20px}.sm-dox.sm-rtl.sm-vertical a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-rtl>li>ul:before{left:auto;right:30px}.sm-dox.sm-rtl>li>ul:after{left:auto;right:31px}.sm-dox.sm-rtl ul a.has-submenu{padding:10px 20px !important}.sm-dox.sm-rtl ul a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-vertical{padding:10px 0;border-radius:5px}.sm-dox.sm-vertical a{padding:10px 20px}.sm-dox.sm-vertical a:hover,.sm-dox.sm-vertical a:focus,.sm-dox.sm-vertical a:active,.sm-dox.sm-vertical a.highlighted{background:#fff}.sm-dox.sm-vertical a.disabled{background-image:url("tab_b.png")}.sm-dox.sm-vertical a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-style:dashed dashed dashed solid;border-color:transparent transparent transparent #555}.sm-dox.sm-vertical>li>ul:before,.sm-dox.sm-vertical>li>ul:after{display:none}.sm-dox.sm-vertical ul a{padding:10px 20px}.sm-dox.sm-vertical ul a:hover,.sm-dox.sm-vertical ul a:focus,.sm-dox.sm-vertical ul a:active,.sm-dox.sm-vertical ul a.highlighted{background:#eee}.sm-dox.sm-vertical ul a.disabled{background:#fff}} diff --git a/docs/API/u__plane__functional_8cc.html b/docs/API/u__plane__functional_8cc.html new file mode 100644 index 0000000..713dccf --- /dev/null +++ b/docs/API/u__plane__functional_8cc.html @@ -0,0 +1,234 @@ + + + + + + + +o-du/phy: u_plane_functional.cc File Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    u_plane_functional.cc File Reference
    +
    +
    +
    #include "common.hpp"
    +#include "xran_common.h"
    +#include "xran_up_api.h"
    +#include "xran_fh_o_du.h"
    +#include "ethernet.h"
    +#include <stdint.h>
    +
    +Include dependency graph for u_plane_functional.cc:
    +
    +
    + + + + + + + + + + + + +
    +
    +

    Go to the source code of this file.

    + + + + +

    +Data Structures

    class  U_planeCheck
     
    + + + + + +

    +Functions

     TEST_P (U_planeCheck, Test_DLUL)
     
     INSTANTIATE_TEST_CASE_P (UnitTest, U_planeCheck, testing::ValuesIn(get_sequence(U_planeCheck::get_number_of_cases("u_plane_functional"))))
     
    + + + +

    +Variables

    const std::string module_name = "u-plane"
     
    +

    Function Documentation

    + +

    ◆ INSTANTIATE_TEST_CASE_P()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    INSTANTIATE_TEST_CASE_P (UnitTest ,
    U_planeCheck ,
    testing::ValuesIn(get_sequence(U_planeCheck::get_number_of_cases("u_plane_functional")))  
    )
    +
    +
    +Here is the caller graph for this function:
    +
    +
    + + + +
    + +
    +
    + +

    ◆ TEST_P()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    TEST_P (U_planeCheck ,
    Test_DLUL  
    )
    +
    + +

    Definition at line 61 of file u_plane_functional.cc.

    +
    +Here is the call graph for this function:
    +
    +
    + + + + + + + + + + + + + + +
    + +
    +
    +

    Variable Documentation

    + +

    ◆ module_name

    + +
    +
    + + + + +
    const std::string module_name = "u-plane"
    +
    + +

    Definition at line 28 of file u_plane_functional.cc.

    + +
    +
    +
    + + + + diff --git a/docs/API/u__plane__functional_8cc__incl.map b/docs/API/u__plane__functional_8cc__incl.map new file mode 100644 index 0000000..bb6d7ea --- /dev/null +++ b/docs/API/u__plane__functional_8cc__incl.map @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/docs/API/u__plane__functional_8cc__incl.md5 b/docs/API/u__plane__functional_8cc__incl.md5 new file mode 100644 index 0000000..7fa2d5a --- /dev/null +++ b/docs/API/u__plane__functional_8cc__incl.md5 @@ -0,0 +1 @@ +31dd35a59fa38a4ff20bf7804282262c \ No newline at end of file diff --git a/docs/API/u__plane__functional_8cc__incl.png b/docs/API/u__plane__functional_8cc__incl.png new file mode 100644 index 0000000..7122afd Binary files /dev/null and b/docs/API/u__plane__functional_8cc__incl.png differ diff --git a/docs/API/u__plane__functional_8cc_a17e5d82ac5aec3860b1324a80fda79ed_cgraph.map b/docs/API/u__plane__functional_8cc_a17e5d82ac5aec3860b1324a80fda79ed_cgraph.map new file mode 100644 index 0000000..ea43426 --- /dev/null +++ b/docs/API/u__plane__functional_8cc_a17e5d82ac5aec3860b1324a80fda79ed_cgraph.map @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/docs/API/u__plane__functional_8cc_a17e5d82ac5aec3860b1324a80fda79ed_cgraph.md5 b/docs/API/u__plane__functional_8cc_a17e5d82ac5aec3860b1324a80fda79ed_cgraph.md5 new file mode 100644 index 0000000..c55e456 --- /dev/null +++ b/docs/API/u__plane__functional_8cc_a17e5d82ac5aec3860b1324a80fda79ed_cgraph.md5 @@ -0,0 +1 @@ +940b3aff8090659e9ed89e8c622169e4 \ No newline at end of file diff --git a/docs/API/u__plane__functional_8cc_a17e5d82ac5aec3860b1324a80fda79ed_cgraph.png b/docs/API/u__plane__functional_8cc_a17e5d82ac5aec3860b1324a80fda79ed_cgraph.png new file mode 100644 index 0000000..6e1e22f Binary files /dev/null and b/docs/API/u__plane__functional_8cc_a17e5d82ac5aec3860b1324a80fda79ed_cgraph.png differ diff --git a/docs/API/u__plane__functional_8cc_aa59dece42a6c30feedc30accb71c2001_icgraph.map b/docs/API/u__plane__functional_8cc_aa59dece42a6c30feedc30accb71c2001_icgraph.map new file mode 100644 index 0000000..13bbf37 --- /dev/null +++ b/docs/API/u__plane__functional_8cc_aa59dece42a6c30feedc30accb71c2001_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/u__plane__functional_8cc_aa59dece42a6c30feedc30accb71c2001_icgraph.md5 b/docs/API/u__plane__functional_8cc_aa59dece42a6c30feedc30accb71c2001_icgraph.md5 new file mode 100644 index 0000000..d8823e9 --- /dev/null +++ b/docs/API/u__plane__functional_8cc_aa59dece42a6c30feedc30accb71c2001_icgraph.md5 @@ -0,0 +1 @@ +95a33afdf2906ff377a898117b6f7026 \ No newline at end of file diff --git a/docs/API/u__plane__functional_8cc_aa59dece42a6c30feedc30accb71c2001_icgraph.png b/docs/API/u__plane__functional_8cc_aa59dece42a6c30feedc30accb71c2001_icgraph.png new file mode 100644 index 0000000..f435981 Binary files /dev/null and b/docs/API/u__plane__functional_8cc_aa59dece42a6c30feedc30accb71c2001_icgraph.png differ diff --git a/docs/API/u__plane__functional_8cc_source.html b/docs/API/u__plane__functional_8cc_source.html new file mode 100644 index 0000000..65aef99 --- /dev/null +++ b/docs/API/u__plane__functional_8cc_source.html @@ -0,0 +1,119 @@ + + + + + + + +o-du/phy: u_plane_functional.cc Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    u_plane_functional.cc
    +
    +
    +Go to the documentation of this file.
    1 /******************************************************************************
    2 *
    3 * Copyright (c) 2019 Intel.
    4 *
    5 * Licensed under the Apache License, Version 2.0 (the "License");
    6 * you may not use this file except in compliance with the License.
    7 * You may obtain a copy of the License at
    8 *
    9 * http://www.apache.org/licenses/LICENSE-2.0
    10 *
    11 * Unless required by applicable law or agreed to in writing, software
    12 * distributed under the License is distributed on an "AS IS" BASIS,
    13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    14 * See the License for the specific language governing permissions and
    15 * limitations under the License.
    16 *
    17 *******************************************************************************/
    18 
    19 
    20 #include "common.hpp"
    21 #include "xran_common.h"
    22 #include "xran_up_api.h"
    23 #include "xran_fh_o_du.h"
    24 #include "ethernet.h"
    25 
    26 #include <stdint.h>
    27 
    28 const std::string module_name = "u-plane";
    29 
    30 class U_planeCheck : public KernelTests
    31 {
    32 protected:
    33  struct rte_mbuf *test_buffer;
    34  char * iq_offset;
    35  struct rte_mempool *test_eth_mbuf_pool;
    36 
    37  void SetUp() override
    38  {
    39  init_test("u_plane_functional");
    40  test_buffer = (struct rte_mbuf*)rte_pktmbuf_alloc(_eth_mbuf_pool);
    41 
    42  if(test_buffer == NULL) {
    43  std::cout << __func__ << ":" << __LINE__ << " Failed to allocatte a packet buffer!" << std::endl;
    44  return;
    45  }
    46  iq_offset = rte_pktmbuf_mtod(test_buffer, char * );
    47  iq_offset = iq_offset + sizeof(struct ether_hdr) +
    48  sizeof (struct xran_ecpri_hdr) +
    49  sizeof (struct radio_app_common_hdr) +
    50  sizeof(struct data_section_hdr);
    51  }
    52 
    53  /* It's called after an execution of the each test case.*/
    54  void TearDown() override
    55  {
    56  rte_pktmbuf_free(test_buffer);
    57  }
    58 };
    59 
    60 /* simple test of DL and UL functionality */
    61 TEST_P(U_planeCheck, Test_DLUL)
    62 {
    63  enum xran_pkt_dir direction = XRAN_DIR_DL;
    64  uint16_t section_id = 7;
    65  enum xran_input_byte_order iq_buf_byte_order = XRAN_CPU_LE_BYTE_ORDER;
    66  uint8_t frame_id = 99;
    67  uint8_t subframe_id = 9;
    68  uint8_t slot_id = 10;
    69  uint8_t symbol_no = 7;
    70  int prb_start = 0;
    71  int prb_num = 66;
    72  uint8_t CC_ID = 0;
    73  uint8_t RU_Port_ID = 0;
    74  uint8_t seq_id =0;
    75  uint32_t do_copy = 0;
    76  uint8_t compMeth = 0;
    77  uint8_t iqWidth = 16;
    78 
    79  int32_t prep_bytes;
    80  struct xran_ecpri_hdr *ecpri_hdr = NULL;
    81  struct radio_app_common_hdr *app_hdr = NULL;
    82  struct data_section_hdr *section_hdr = NULL;
    83 
    84  char *pChar = NULL;
    85  uint16_t payl_size = 0;
    86  struct data_section_hdr res_sect;
    87 
    88  prep_bytes = prepare_symbol_ex(direction,
    89  section_id,
    91  (struct rb_map *)iq_offset,
    92  compMeth,
    93  iqWidth,
    94  iq_buf_byte_order,
    95  frame_id,
    96  subframe_id,
    97  slot_id,
    98  symbol_no,
    99  prb_start,
    100  prb_num,
    101  CC_ID,
    102  RU_Port_ID,
    103  seq_id,
    104  do_copy);
    105 
    106  ASSERT_EQ(prep_bytes, 3168);
    107 
    108  pChar = rte_pktmbuf_mtod(test_buffer, char*);
    109 
    110  ecpri_hdr = (struct xran_ecpri_hdr *)(pChar + sizeof(struct ether_hdr));
    111  app_hdr = (struct radio_app_common_hdr *)(pChar + sizeof(struct ether_hdr)
    112  + sizeof (struct xran_ecpri_hdr));
    113  section_hdr = (struct data_section_hdr *)(pChar + sizeof(struct ether_hdr) +
    114  sizeof (struct xran_ecpri_hdr) +
    115  sizeof(struct radio_app_common_hdr));
    116 
    117  ASSERT_EQ (ecpri_hdr->cmnhdr.ecpri_mesg_type, ECPRI_IQ_DATA);
    118  payl_size = rte_be_to_cpu_16(ecpri_hdr->cmnhdr.ecpri_payl_size);
    119  ASSERT_EQ (payl_size, 3180);
    120 
    121  ASSERT_EQ(app_hdr->data_direction, direction);
    122  ASSERT_EQ(app_hdr->frame_id, frame_id);
    123 
    124  res_sect.fields.all_bits = rte_be_to_cpu_32(section_hdr->fields.all_bits);
    125  ASSERT_EQ(res_sect.fields.num_prbu, prb_num);
    126  ASSERT_EQ(res_sect.fields.sect_id, section_id);
    127 
    128  {
    129  /* UL direction */
    130  void *iq_samp_buf;
    131  struct ecpri_seq_id seq;
    132  int num_bytes = 0;
    133 
    134  uint8_t CC_ID = 0;
    135  uint8_t Ant_ID = 0;
    136  uint8_t frame_id = 0;
    137  uint8_t subframe_id = 0;
    138  uint8_t slot_id = 0;
    139  uint8_t symb_id = 0;
    140 
    141  uint8_t compMeth = 0;
    142  uint8_t iqWidth = 0;
    143 
    144 
    145  uint16_t num_prbu;
    146  uint16_t start_prbu;
    147  uint16_t sym_inc;
    148  uint16_t rb;
    149  uint16_t sect_id;
    150 
    151  int32_t prep_bytes;
    152 
    153  char *pChar = NULL;
    154 
    155 
    157  &iq_samp_buf,
    158  &CC_ID,
    159  &Ant_ID,
    160  &frame_id,
    161  &subframe_id,
    162  &slot_id,
    163  &symb_id,
    164  &seq,
    165  &num_prbu,
    166  &start_prbu,
    167  &sym_inc,
    168  &rb,
    169  &sect_id,
    170  0,
    171  &compMeth,
    172  &iqWidth);
    173 
    174  ASSERT_EQ(num_bytes, 3182);
    175  ASSERT_EQ(prb_num, 66);
    176  ASSERT_EQ(CC_ID, 0);
    177  }
    178 }
    179 
    181  testing::ValuesIn(get_sequence(U_planeCheck::get_number_of_cases("u_plane_functional"))));
    182 
    183 
    uint8_t data_direction
    Definition: xran_pkt.h:173
    +
    void TearDown() override
    +
    TEST_P(U_planeCheck, Test_DLUL)
    +
    xran_pkt_dir
    Definition: xran_pkt.h:146
    +
    uint32_t rb
    Definition: xran_pkt_cp.h:243
    + +
    static unsigned get_number_of_cases(const std::string &type)
    Definition: common.hpp:190
    + + + + +
    void SetUp() override
    +
    int32_t prepare_symbol_ex(enum xran_pkt_dir direction, uint16_t section_id, struct rte_mbuf *mb, struct rb_map *data, uint8_t compMeth, uint8_t iqWidth, const enum xran_input_byte_order iq_buf_byte_order, uint8_t frame_id, uint8_t subframe_id, uint8_t slot_id, uint8_t symbol_no, int prb_start, int prb_num, uint8_t CC_ID, uint8_t RU_Port_ID, uint8_t seq_id, uint32_t do_copy)
    Definition: xran_common.c:348
    +
    uint32_t num_prbu
    Definition: xran_pkt_up.h:71
    + +
    This file has all definitions for the Ethernet Data Interface Layer.
    + + + +
    xran_input_byte_order
    Definition: xran_fh_o_du.h:471
    +
    void init_test(const std::string &type)
    Defines section in the conf.json that is used to load parameters from.
    Definition: common.hpp:358
    +
    uint32_t all_bits
    Definition: xran_pkt_up.h:69
    +
    struct rte_mempool * _eth_mbuf_pool
    Definition: ethernet.c:70
    + +
    const std::string module_name
    +
    struct rte_mbuf * test_buffer
    +
    struct xran_ecpri_cmn_hdr cmnhdr
    Definition: xran_pkt.h:132
    +
    This file provides the definitions for User Plane Messages APIs.
    +
    XRAN layer common functionality for both lls-CU and RU as well as C-plane and U-plane.
    + +
    This file provides public interface to xRAN Front Haul layer implementation as defined in the ORAN-WG...
    +
    struct rte_mempool * test_eth_mbuf_pool
    +
    uint32_t sect_id
    Definition: xran_pkt_up.h:75
    +
    INSTANTIATE_TEST_CASE_P(UnitTest, U_planeCheck, testing::ValuesIn(get_sequence(U_planeCheck::get_number_of_cases("u_plane_functional"))))
    +
    uint8_t ecpri_mesg_type
    Definition: xran_pkt.h:118
    +
    int32_t xran_extract_iq_samples(struct rte_mbuf *mbuf, void **iq_data_start, uint8_t *CC_ID, uint8_t *Ant_ID, uint8_t *frame_id, uint8_t *subframe_id, uint8_t *slot_id, uint8_t *symb_id, struct ecpri_seq_id *seq_id, uint16_t *num_prbu, uint16_t *start_prbu, uint16_t *sym_inc, uint16_t *rb, uint16_t *sect_id, int8_t expect_comp, uint8_t *compMeth, uint8_t *iqWidth)
    Function extracts IQ samples from received mbuf packet.
    Definition: xran_up_api.c:327
    +
    union data_section_hdr::@18 fields
    + + +
    std::vector< unsigned > get_sequence(const unsigned number)
    For a given number return sequence of number from 0 to number - 1.
    Definition: common.cpp:78
    +
    uint16_t ecpri_payl_size
    Definition: xran_pkt.h:119
    +
    + + + + diff --git a/docs/API/u__plane__performance_8cc.html b/docs/API/u__plane__performance_8cc.html new file mode 100644 index 0000000..3a58686 --- /dev/null +++ b/docs/API/u__plane__performance_8cc.html @@ -0,0 +1,232 @@ + + + + + + + +o-du/phy: u_plane_performance.cc File Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    u_plane_performance.cc File Reference
    +
    +
    +
    #include "common.hpp"
    +#include "xran_common.h"
    +#include "xran_fh_o_du.h"
    +#include "ethernet.h"
    +#include <stdint.h>
    +
    +Include dependency graph for u_plane_performance.cc:
    +
    +
    + + + + + + + + + + +
    +
    +

    Go to the source code of this file.

    + + + + +

    +Data Structures

    class  U_planePerf
     
    + + + + + +

    +Functions

     TEST_P (U_planePerf, Test_DL)
     
     INSTANTIATE_TEST_CASE_P (UnitTest, U_planePerf, testing::ValuesIn(get_sequence(U_planePerf::get_number_of_cases("u_plane_performance"))))
     
    + + + +

    +Variables

    const std::string module_name = "u-plane"
     
    +

    Function Documentation

    + +

    ◆ INSTANTIATE_TEST_CASE_P()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    INSTANTIATE_TEST_CASE_P (UnitTest ,
    U_planePerf ,
    testing::ValuesIn(get_sequence(U_planePerf::get_number_of_cases("u_plane_performance")))  
    )
    +
    +
    +Here is the caller graph for this function:
    +
    +
    + + + +
    + +
    +
    + +

    ◆ TEST_P()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    TEST_P (U_planePerf ,
    Test_DL  
    )
    +
    + +

    Definition at line 104 of file u_plane_performance.cc.

    +
    +Here is the call graph for this function:
    +
    +
    + + + + + + + + + + + + + + + +
    + +
    +
    +

    Variable Documentation

    + +

    ◆ module_name

    + +
    +
    + + + + +
    const std::string module_name = "u-plane"
    +
    + +

    Definition at line 28 of file u_plane_performance.cc.

    + +
    +
    +
    + + + + diff --git a/docs/API/u__plane__performance_8cc__incl.map b/docs/API/u__plane__performance_8cc__incl.map new file mode 100644 index 0000000..b1e1eb4 --- /dev/null +++ b/docs/API/u__plane__performance_8cc__incl.map @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/docs/API/u__plane__performance_8cc__incl.md5 b/docs/API/u__plane__performance_8cc__incl.md5 new file mode 100644 index 0000000..5f424cb --- /dev/null +++ b/docs/API/u__plane__performance_8cc__incl.md5 @@ -0,0 +1 @@ +e0fe3e47f519b21360fbdb60d9b68f4e \ No newline at end of file diff --git a/docs/API/u__plane__performance_8cc__incl.png b/docs/API/u__plane__performance_8cc__incl.png new file mode 100644 index 0000000..e84898e Binary files /dev/null and b/docs/API/u__plane__performance_8cc__incl.png differ diff --git a/docs/API/u__plane__performance_8cc_a227817e595c0b079e12728d4d19364e8_cgraph.map b/docs/API/u__plane__performance_8cc_a227817e595c0b079e12728d4d19364e8_cgraph.map new file mode 100644 index 0000000..9baa6b2 --- /dev/null +++ b/docs/API/u__plane__performance_8cc_a227817e595c0b079e12728d4d19364e8_cgraph.map @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/docs/API/u__plane__performance_8cc_a227817e595c0b079e12728d4d19364e8_cgraph.md5 b/docs/API/u__plane__performance_8cc_a227817e595c0b079e12728d4d19364e8_cgraph.md5 new file mode 100644 index 0000000..ef2ea57 --- /dev/null +++ b/docs/API/u__plane__performance_8cc_a227817e595c0b079e12728d4d19364e8_cgraph.md5 @@ -0,0 +1 @@ +7e0d8da575b506f3000356fdd19df828 \ No newline at end of file diff --git a/docs/API/u__plane__performance_8cc_a227817e595c0b079e12728d4d19364e8_cgraph.png b/docs/API/u__plane__performance_8cc_a227817e595c0b079e12728d4d19364e8_cgraph.png new file mode 100644 index 0000000..5f5ad46 Binary files /dev/null and b/docs/API/u__plane__performance_8cc_a227817e595c0b079e12728d4d19364e8_cgraph.png differ diff --git a/docs/API/u__plane__performance_8cc_ac3ee52d20c26760f73891becf45f317b_icgraph.map b/docs/API/u__plane__performance_8cc_ac3ee52d20c26760f73891becf45f317b_icgraph.map new file mode 100644 index 0000000..ebc1c72 --- /dev/null +++ b/docs/API/u__plane__performance_8cc_ac3ee52d20c26760f73891becf45f317b_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/u__plane__performance_8cc_ac3ee52d20c26760f73891becf45f317b_icgraph.md5 b/docs/API/u__plane__performance_8cc_ac3ee52d20c26760f73891becf45f317b_icgraph.md5 new file mode 100644 index 0000000..e7c7cbe --- /dev/null +++ b/docs/API/u__plane__performance_8cc_ac3ee52d20c26760f73891becf45f317b_icgraph.md5 @@ -0,0 +1 @@ +2c550c4a44893a19f2842d2bda8e925c \ No newline at end of file diff --git a/docs/API/u__plane__performance_8cc_ac3ee52d20c26760f73891becf45f317b_icgraph.png b/docs/API/u__plane__performance_8cc_ac3ee52d20c26760f73891becf45f317b_icgraph.png new file mode 100644 index 0000000..f435981 Binary files /dev/null and b/docs/API/u__plane__performance_8cc_ac3ee52d20c26760f73891becf45f317b_icgraph.png differ diff --git a/docs/API/u__plane__performance_8cc_source.html b/docs/API/u__plane__performance_8cc_source.html new file mode 100644 index 0000000..e8cae9e --- /dev/null +++ b/docs/API/u__plane__performance_8cc_source.html @@ -0,0 +1,108 @@ + + + + + + + +o-du/phy: u_plane_performance.cc Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    u_plane_performance.cc
    +
    +
    +Go to the documentation of this file.
    1 /******************************************************************************
    2 *
    3 * Copyright (c) 2019 Intel.
    4 *
    5 * Licensed under the Apache License, Version 2.0 (the "License");
    6 * you may not use this file except in compliance with the License.
    7 * You may obtain a copy of the License at
    8 *
    9 * http://www.apache.org/licenses/LICENSE-2.0
    10 *
    11 * Unless required by applicable law or agreed to in writing, software
    12 * distributed under the License is distributed on an "AS IS" BASIS,
    13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    14 * See the License for the specific language governing permissions and
    15 * limitations under the License.
    16 *
    17 *******************************************************************************/
    18 
    19 
    20 #include "common.hpp"
    21 
    22 #include "xran_common.h"
    23 #include "xran_fh_o_du.h"
    24 #include "ethernet.h"
    25 
    26 #include <stdint.h>
    27 
    28 const std::string module_name = "u-plane";
    29 
    30 class U_planePerf : public KernelTests
    31 {
    32 
    33 protected:
    34  int32_t request;
    35  int32_t response;
    36 
    37  struct rte_mbuf *test_buffer;
    38  char * iq_offset;
    39  struct rte_mempool *test_eth_mbuf_pool;
    40 
    41  void SetUp() override
    42  {
    43  /* Parameters stored in the functional section will be used. GTest will call
    44  TEST_P (including SetUp and TearDown) for each case in the section. */
    45  init_test("u_plane_performace");
    46  test_eth_mbuf_pool = rte_pktmbuf_pool_create("mempool", NUM_MBUFS,
    47  MBUF_CACHE, 0, MBUF_POOL_ELEMENT, rte_socket_id());
    48 
    49  /* buffer size defined as the maximum size of all inputs/outputs in BYTE */
    50  const int buffer_size = 9600;
    51  test_buffer = (struct rte_mbuf*)rte_pktmbuf_alloc(test_eth_mbuf_pool);
    52 
    53  iq_offset = rte_pktmbuf_mtod(test_buffer, char * );
    54  iq_offset = iq_offset + sizeof(struct ether_hdr) +
    55  sizeof (struct xran_ecpri_hdr) +
    56  sizeof (struct radio_app_common_hdr) +
    57  sizeof(struct data_section_hdr);
    58  }
    59 
    60  /* It's called after an execution of the each test case.*/
    61  void TearDown() override
    62  {
    63  rte_pktmbuf_free(test_buffer);
    64  }
    65 
    66  void fucntional_dl(F function, int32_t* request, int32_t* response)
    67  {
    68  enum xran_pkt_dir direction = XRAN_DIR_DL;
    69  uint16_t section_id = 0;
    70  enum xran_input_byte_order iq_buf_byte_order = XRAN_CPU_LE_BYTE_ORDER;
    71  uint8_t frame_id = 0;
    72  uint8_t subframe_id = 0;
    73  uint8_t slot_id = 0;
    74  uint8_t symbol_no = 0;
    75  int prb_start = 0;
    76  int prb_num = 66;
    77  uint8_t CC_ID = 0;
    78  uint8_t RU_Port_ID = 0;
    79  uint8_t seq_id =0;
    80  uint32_t do_copy = 0;
    81 
    82  int32_t prep_bytes;
    83 
    84  prep_bytes = prepare_symbol_ex(direction,
    85  section_id,
    86  test_buffer,
    87  (struct rb_map *)iq_offset,
    88  iq_buf_byte_order,
    89  frame_id,
    90  subframe_id,
    91  slot_id,
    92  symbol_no,
    93  prb_start,
    94  prb_num,
    95  CC_ID,
    96  RU_Port_ID,
    97  seq_id,
    98  do_copy);
    99 
    100  //ASSERT_EQ(prep_bytes, 3168);
    101  }
    102 };
    103 
    105 {
    107 }
    108 
    110  testing::ValuesIn(get_sequence(U_planePerf::get_number_of_cases("u_plane_performance"))));
    111 
    112 
    xran_pkt_dir
    Definition: xran_pkt.h:146
    +
    void fucntional_dl(F function, int32_t *request, int32_t *response)
    +
    #define MBUF_POOL_ELEMENT
    Definition: ethernet.h:50
    +
    struct rte_mbuf * test_buffer
    +
    static unsigned get_number_of_cases(const std::string &type)
    Definition: common.hpp:190
    +
    void performance(const std::string &isa, const std::string &module_name, F function, Args ... args)
    Run performance test case for a given function.
    Definition: common.hpp:253
    + + + +
    int32_t prepare_symbol_ex(enum xran_pkt_dir direction, uint16_t section_id, struct rte_mbuf *mb, struct rb_map *data, uint8_t compMeth, uint8_t iqWidth, const enum xran_input_byte_order iq_buf_byte_order, uint8_t frame_id, uint8_t subframe_id, uint8_t slot_id, uint8_t symbol_no, int prb_start, int prb_num, uint8_t CC_ID, uint8_t RU_Port_ID, uint8_t seq_id, uint32_t do_copy)
    Definition: xran_common.c:348
    + +
    This file has all definitions for the Ethernet Data Interface Layer.
    + +
    void TearDown() override
    +
    xran_input_byte_order
    Definition: xran_fh_o_du.h:471
    +
    void init_test(const std::string &type)
    Defines section in the conf.json that is used to load parameters from.
    Definition: common.hpp:358
    + +
    XRAN layer common functionality for both lls-CU and RU as well as C-plane and U-plane.
    +
    #define MBUF_CACHE
    Definition: ethernet.h:47
    +
    const std::string module_name
    +
    INSTANTIATE_TEST_CASE_P(UnitTest, U_planePerf, testing::ValuesIn(get_sequence(U_planePerf::get_number_of_cases("u_plane_performance"))))
    + +
    #define NUM_MBUFS
    Definition: ethernet.h:46
    +
    This file provides public interface to xRAN Front Haul layer implementation as defined in the ORAN-WG...
    +
    TEST_P(U_planePerf, Test_DL)
    + +
    void SetUp() override
    +
    std::vector< unsigned > get_sequence(const unsigned number)
    For a given number return sequence of number from 0 to number - 1.
    Definition: common.cpp:78
    + +
    struct rte_mempool * test_eth_mbuf_pool
    +
    + + + + diff --git a/docs/API/unioncompression__params.html b/docs/API/unioncompression__params.html new file mode 100644 index 0000000..3ac9271 --- /dev/null +++ b/docs/API/unioncompression__params.html @@ -0,0 +1,157 @@ + + + + + + + +o-du/phy: compression_params Union Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    compression_params Union Reference
    +
    +
    + +

    #include <xran_pkt_up.h>

    +
    +Collaboration diagram for compression_params:
    +
    +
    Collaboration graph
    + + + + + +
    + + + + + + + + +

    +Data Structures

    struct  block_fl_point
     
    struct  block_scaling
     
    struct  u_law
     
    + + + + + + + +

    +Data Fields

    struct compression_params::block_fl_point blockFlPoint
     
    struct compression_params::block_scaling blockScaling
     
    struct compression_params::u_law uLaw
     
    +

    Detailed Description

    +
    +

    Definition at line 110 of file xran_pkt_up.h.

    +

    Field Documentation

    + +

    ◆ blockFlPoint

    + +
    +
    + + + + +
    struct compression_params::block_fl_point blockFlPoint
    +
    + +
    +
    + +

    ◆ blockScaling

    + +
    +
    + + + + +
    struct compression_params::block_scaling blockScaling
    +
    + +
    +
    + +

    ◆ uLaw

    + +
    +
    + + + + +
    struct compression_params::u_law uLaw
    +
    + +
    +
    +
    The documentation for this union was generated from the following file: +
    + + + + diff --git a/docs/API/unioncompression__params__coll__graph.map b/docs/API/unioncompression__params__coll__graph.map new file mode 100644 index 0000000..af0c90c --- /dev/null +++ b/docs/API/unioncompression__params__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/API/unioncompression__params__coll__graph.md5 b/docs/API/unioncompression__params__coll__graph.md5 new file mode 100644 index 0000000..833bd98 --- /dev/null +++ b/docs/API/unioncompression__params__coll__graph.md5 @@ -0,0 +1 @@ +1daf4c0f9e62d822715ceb7cd0e1ce00 \ No newline at end of file diff --git a/docs/API/unioncompression__params__coll__graph.png b/docs/API/unioncompression__params__coll__graph.png new file mode 100644 index 0000000..1b443ea Binary files /dev/null and b/docs/API/unioncompression__params__coll__graph.png differ diff --git a/docs/API/unittests_8cc.html b/docs/API/unittests_8cc.html new file mode 100644 index 0000000..4ffa76e --- /dev/null +++ b/docs/API/unittests_8cc.html @@ -0,0 +1,193 @@ + + + + + + + +o-du/phy: unittests.cc File Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    unittests.cc File Reference
    +
    +
    +
    #include <limits.h>
    +#include "xran_compression.h"
    +#include "gtest/gtest.h"
    +
    +Include dependency graph for unittests.cc:
    +
    +
    + + + +
    +
    +

    Go to the source code of this file.

    + + + + +

    +Macros

    #define MAX_IQ   (273*12*2)
     
    + + + + + + + + + +

    +Variables

    int8_t iCompressionOutput_AVX_A [MAX_IQ+MAX_IQ/24]
     
    int16_t iDeCompressionOutput_AVX_A [MAX_IQ]
     
    int16_t iCompressionInput [MAX_IQ]
     
    int16_t iLength = 273*12*2
     
    +

    Macro Definition Documentation

    + +

    ◆ MAX_IQ

    + +
    +
    + + + + +
    #define MAX_IQ   (273*12*2)
    +
    + +

    Definition at line 23 of file unittests.cc.

    + +
    +
    +

    Variable Documentation

    + +

    ◆ iCompressionInput

    + +
    +
    + + + + +
    int16_t iCompressionInput[MAX_IQ]
    +
    + +

    Definition at line 27 of file unittests.cc.

    + +
    +
    + +

    ◆ iCompressionOutput_AVX_A

    + +
    +
    + + + + +
    int8_t iCompressionOutput_AVX_A[MAX_IQ+MAX_IQ/24]
    +
    + +

    Definition at line 25 of file unittests.cc.

    + +
    +
    + +

    ◆ iDeCompressionOutput_AVX_A

    + +
    +
    + + + + +
    int16_t iDeCompressionOutput_AVX_A[MAX_IQ]
    +
    + +

    Definition at line 26 of file unittests.cc.

    + +
    +
    + +

    ◆ iLength

    + +
    +
    + + + + +
    int16_t iLength = 273*12*2
    +
    + +

    Definition at line 28 of file unittests.cc.

    + +
    +
    +
    + + + + diff --git a/docs/API/unittests_8cc__incl.map b/docs/API/unittests_8cc__incl.map new file mode 100644 index 0000000..b92c773 --- /dev/null +++ b/docs/API/unittests_8cc__incl.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/unittests_8cc__incl.md5 b/docs/API/unittests_8cc__incl.md5 new file mode 100644 index 0000000..cc4d2e7 --- /dev/null +++ b/docs/API/unittests_8cc__incl.md5 @@ -0,0 +1 @@ +4361c506dbef59b92042d4ad2260bbac \ No newline at end of file diff --git a/docs/API/unittests_8cc__incl.png b/docs/API/unittests_8cc__incl.png new file mode 100644 index 0000000..5210548 Binary files /dev/null and b/docs/API/unittests_8cc__incl.png differ diff --git a/docs/API/unittests_8cc_source.html b/docs/API/unittests_8cc_source.html new file mode 100644 index 0000000..d20eb6a --- /dev/null +++ b/docs/API/unittests_8cc_source.html @@ -0,0 +1,84 @@ + + + + + + + +o-du/phy: unittests.cc Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    unittests.cc
    +
    +
    +Go to the documentation of this file.
    1 /******************************************************************************
    2 *
    3 * Copyright (c) 2019 Intel.
    4 *
    5 * Licensed under the Apache License, Version 2.0 (the "License");
    6 * you may not use this file except in compliance with the License.
    7 * You may obtain a copy of the License at
    8 *
    9 * http://www.apache.org/licenses/LICENSE-2.0
    10 *
    11 * Unless required by applicable law or agreed to in writing, software
    12 * distributed under the License is distributed on an "AS IS" BASIS,
    13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    14 * See the License for the specific language governing permissions and
    15 * limitations under the License.
    16 *
    17 *******************************************************************************/
    18 
    19 #include <limits.h>
    20 #include "xran_compression.h"
    21 #include "gtest/gtest.h"
    22 
    23 #define MAX_IQ (273*12*2)// 273 RBs, 12 SC, 32bits IQ
    24 
    25 int8_t iCompressionOutput_AVX_A[MAX_IQ + MAX_IQ/24]; /* 273 RB 8 bits IQ + exponent */
    26 int16_t iDeCompressionOutput_AVX_A[MAX_IQ]; /* 273 RB 16bits IQ */
    27 int16_t iCompressionInput[MAX_IQ]; /* 273 RB 16bits IQ */
    28 int16_t iLength = 273*12*2; // total 16bits IQ
    29 
    30 // Tests
    31 /*
    32 TEST(Compression, Zero) {
    33  EXPECT_EQ(0, xran_bfp_comp_avx512_fun_a(iCompressionInput,iCompressionOutput_AVX_A, iLength));
    34 }
    35 
    36 
    37 
    38 TEST(Decompression, Zero) {
    39  iLength= 24+1;
    40  EXPECT_EQ(0, xran_bfp_decomp_avx512_fun_a(iCompressionOutput_AVX_A,iDeCompressionOutput_AVX_A,iLength));
    41 }*/
    42 
    43 
    External API for compading with the use BFP algorithm.
    +
    int16_t iLength
    Definition: unittests.cc:28
    +
    int16_t iDeCompressionOutput_AVX_A[MAX_IQ]
    Definition: unittests.cc:26
    +
    int16_t iCompressionInput[MAX_IQ]
    Definition: unittests.cc:27
    +
    #define MAX_IQ
    Definition: unittests.cc:23
    +
    int8_t iCompressionOutput_AVX_A[MAX_IQ+MAX_IQ/24]
    Definition: unittests.cc:25
    +
    + + + + diff --git a/docs/API/xran__app__frag_8c.html b/docs/API/xran__app__frag_8c.html new file mode 100644 index 0000000..04321b3 --- /dev/null +++ b/docs/API/xran__app__frag_8c.html @@ -0,0 +1,228 @@ + + + + + + + +o-du/phy: xran_app_frag.c File Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    xran_app_frag.c File Reference
    +
    +
    + +

    xRAN application frgamentation for U-plane packets +More...

    +
    #include <stdio.h>
    +#include <stddef.h>
    +#include <errno.h>
    +#include <rte_mbuf.h>
    +#include <rte_memcpy.h>
    +#include <rte_mempool.h>
    +#include <rte_debug.h>
    +#include "xran_app_frag.h"
    +#include "xran_cp_api.h"
    +#include "xran_pkt_up.h"
    +#include "xran_printf.h"
    +#include "xran_common.h"
    +
    +Include dependency graph for xran_app_frag.c:
    +
    +
    + + + + + + + + + + + +
    +
    +

    Go to the source code of this file.

    + + + + +

    +Macros

    #define XRAN_PAYLOAD_RB_ALIGN   (N_SC_PER_PRB*(IQ_BITS/8)*2)
     
    + + + +

    +Functions

    int32_t xran_app_fragment_packet (struct rte_mbuf *pkt_in, struct rte_mbuf **pkts_out, uint16_t nb_pkts_out, uint16_t mtu_size, struct rte_mempool *pool_direct, struct rte_mempool *pool_indirect, struct xran_section_info *sectinfo, uint8_t *seqid)
     
    +

    Detailed Description

    +

    xRAN application frgamentation for U-plane packets

    +
    Author
    Intel Corporation
    + +

    Definition in file xran_app_frag.c.

    +

    Macro Definition Documentation

    + +

    ◆ XRAN_PAYLOAD_RB_ALIGN

    + +
    +
    + + + + +
    #define XRAN_PAYLOAD_RB_ALIGN   (N_SC_PER_PRB*(IQ_BITS/8)*2)
    +
    +

    at least 12*4=48 bytes per one RB

    + +

    Definition at line 43 of file xran_app_frag.c.

    + +
    +
    +

    Function Documentation

    + +

    ◆ xran_app_fragment_packet()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    int32_t xran_app_fragment_packet (struct rte_mbuf * pkt_in,
    struct rte_mbuf ** pkts_out,
    uint16_t nb_pkts_out,
    uint16_t mtu_size,
    struct rte_mempool * pool_direct,
    struct rte_mempool * pool_indirect,
    struct xran_section_infosectinfo,
    uint8_t * seqid 
    )
    +
    +

    XRAN fragmentation.

    +

    This function implements the application fragmentation of XRAN packets.

    +
    Parameters
    + + + + + + +
    pkt_inThe input packet.
    pkts_outArray storing the output fragments.
    mtu_sizeSize in bytes of the Maximum Transfer Unit (MTU) for the outgoing XRAN datagrams. This value includes the size of the XRAN headers.
    pool_directMBUF pool used for allocating direct buffers for the output fragments.
    pool_indirectMBUF pool used for allocating indirect buffers for the output fragments.
    +
    +
    +
    Returns
    Upon successful completion - number of output fragments placed in the pkts_out array. Otherwise - (-1) * <errno>.
    + +

    Definition at line 104 of file xran_app_frag.c.

    + +
    +
    +
    + + + + diff --git a/docs/API/xran__app__frag_8c__incl.map b/docs/API/xran__app__frag_8c__incl.map new file mode 100644 index 0000000..5700fe9 --- /dev/null +++ b/docs/API/xran__app__frag_8c__incl.map @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/docs/API/xran__app__frag_8c__incl.md5 b/docs/API/xran__app__frag_8c__incl.md5 new file mode 100644 index 0000000..81e557f --- /dev/null +++ b/docs/API/xran__app__frag_8c__incl.md5 @@ -0,0 +1 @@ +c609b2bd1d245cc6e9a8913c25bfafcf \ No newline at end of file diff --git a/docs/API/xran__app__frag_8c__incl.png b/docs/API/xran__app__frag_8c__incl.png new file mode 100644 index 0000000..39ed353 Binary files /dev/null and b/docs/API/xran__app__frag_8c__incl.png differ diff --git a/docs/API/xran__app__frag_8c_source.html b/docs/API/xran__app__frag_8c_source.html new file mode 100644 index 0000000..b486372 --- /dev/null +++ b/docs/API/xran__app__frag_8c_source.html @@ -0,0 +1,103 @@ + + + + + + + +o-du/phy: xran_app_frag.c Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    xran_app_frag.c
    +
    +
    +Go to the documentation of this file.
    1 /******************************************************************************
    2 *
    3 * Copyright (c) 2019 Intel.
    4 *
    5 * Licensed under the Apache License, Version 2.0 (the "License");
    6 * you may not use this file except in compliance with the License.
    7 * You may obtain a copy of the License at
    8 *
    9 * http://www.apache.org/licenses/LICENSE-2.0
    10 *
    11 * Unless required by applicable law or agreed to in writing, software
    12 * distributed under the License is distributed on an "AS IS" BASIS,
    13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    14 * See the License for the specific language governing permissions and
    15 * limitations under the License.
    16 *
    17 *******************************************************************************/
    18 
    27 #include <stdio.h>
    28 #include <stddef.h>
    29 #include <errno.h>
    30 
    31 #include <rte_mbuf.h>
    32 #include <rte_memcpy.h>
    33 #include <rte_mempool.h>
    34 #include <rte_debug.h>
    35 
    36 #include "xran_app_frag.h"
    37 #include "xran_cp_api.h"
    38 #include "xran_pkt_up.h"
    39 #include "xran_printf.h"
    40 #include "xran_common.h"
    41 
    42 /* Fragment alignment */
    43 #define XRAN_PAYLOAD_RB_ALIGN (N_SC_PER_PRB*(IQ_BITS/8)*2)
    45 static inline void __fill_xranhdr_frag(struct xran_up_pkt_hdr *dst,
    46  const struct xran_up_pkt_hdr *src, uint16_t rblen_bytes,
    47  uint16_t rboff_bytes, struct xran_section_info *sectinfo, uint32_t mf, uint8_t *seqid)
    48 {
    49  struct data_section_hdr loc_data_sec_hdr;
    50  struct xran_ecpri_hdr loc_ecpri_hdr;
    51 
    52  rte_memcpy(dst, src, sizeof(*dst));
    53 
    54  dst->ecpri_hdr.ecpri_seq_id.seq_id = (*seqid)++;
    55 
    56  print_dbg("sec [%d %d] sec %d mf %d g_sec %d\n",sectinfo->startPrbc, sectinfo->numPrbc, dst->ecpri_hdr.ecpri_seq_id.seq_id, mf, *seqid);
    57 
    58  loc_data_sec_hdr.fields.all_bits = rte_be_to_cpu_32(dst->data_sec_hdr.fields.all_bits);
    59 
    60  /* update RBs */
    61  loc_data_sec_hdr.fields.start_prbu = sectinfo->startPrbc + rboff_bytes/(N_SC_PER_PRB*(IQ_BITS/8*2));
    62  loc_data_sec_hdr.fields.num_prbu = rblen_bytes/(N_SC_PER_PRB*(IQ_BITS/8*2));
    63 
    64  print_dbg("sec [%d %d] pkt [%d %d] rboff_bytes %d rblen_bytes %d\n",sectinfo->startPrbc, sectinfo->numPrbc, loc_data_sec_hdr.fields.start_prbu, loc_data_sec_hdr.fields.num_prbu,
    65  rboff_bytes, rblen_bytes);
    66 
    67  dst->data_sec_hdr.fields.all_bits = rte_cpu_to_be_32(loc_data_sec_hdr.fields.all_bits);
    68 
    69  /* update length */
    70  dst->ecpri_hdr.cmnhdr.ecpri_payl_size = rte_cpu_to_be_16(sizeof(struct radio_app_common_hdr) +
    71  sizeof(struct data_section_hdr) + rblen_bytes + xran_get_ecpri_hdr_size());
    72 }
    73 
    74 
    75 static inline void __free_fragments(struct rte_mbuf *mb[], uint32_t num)
    76 {
    77  uint32_t i;
    78  for (i = 0; i != num; i++)
    79  rte_pktmbuf_free(mb[i]);
    80 }
    81 
    103 int32_t
    104 xran_app_fragment_packet(struct rte_mbuf *pkt_in, /* eth hdr is prepended */
    105  struct rte_mbuf **pkts_out,
    106  uint16_t nb_pkts_out,
    107  uint16_t mtu_size,
    108  struct rte_mempool *pool_direct,
    109  struct rte_mempool *pool_indirect,
    110  struct xran_section_info *sectinfo,
    111  uint8_t *seqid)
    112 {
    113  struct rte_mbuf *in_seg = NULL;
    114  uint32_t out_pkt_pos = 0, in_seg_data_pos = 0;
    115  uint32_t more_in_segs;
    116  uint16_t fragment_offset, frag_size;
    117  uint16_t frag_bytes_remaining;
    118  struct eth_xran_up_pkt_hdr *in_hdr;
    119  struct xran_up_pkt_hdr *in_hdr_xran;
    120 
    121  /*
    122  * Ensure the XRAN payload length of all fragments is aligned to a
    123  * multiple of 48 bytes (1 RB with IQ of 16 bits each)
    124  */
    125  frag_size = ((mtu_size - sizeof(struct eth_xran_up_pkt_hdr) - RTE_PKTMBUF_HEADROOM)/XRAN_PAYLOAD_RB_ALIGN)*XRAN_PAYLOAD_RB_ALIGN;
    126 
    127 
    128  print_dbg("frag_size %d\n",frag_size);
    129 
    130  in_hdr = rte_pktmbuf_mtod(pkt_in, struct eth_xran_up_pkt_hdr *);
    131 
    132  in_hdr_xran = &in_hdr->xran_hdr;
    133 
    134  /* Check that pkts_out is big enough to hold all fragments */
    135  if (unlikely(frag_size * nb_pkts_out <
    136  (uint16_t)(pkt_in->pkt_len - sizeof (struct xran_up_pkt_hdr)))){
    137  print_err("-EINVAL\n");
    138  return -EINVAL;
    139  }
    140 
    141  in_seg = pkt_in;
    142  in_seg_data_pos = sizeof(struct eth_xran_up_pkt_hdr);
    143  out_pkt_pos = 0;
    144  fragment_offset = 0;
    145 
    146  more_in_segs = 1;
    147  while (likely(more_in_segs)) {
    148  struct rte_mbuf *out_pkt = NULL, *out_seg_prev = NULL;
    149  uint32_t more_out_segs;
    150  struct xran_up_pkt_hdr *out_hdr;
    151 
    152  /* Allocate direct buffer */
    153  out_pkt = rte_pktmbuf_alloc(pool_direct);
    154  if (unlikely(out_pkt == NULL)) {
    155  print_err("pool_direct -ENOMEM\n");
    156  __free_fragments(pkts_out, out_pkt_pos);
    157  return -ENOMEM;
    158  }
    159 
    160  print_dbg("[%d] out_pkt %p\n",more_in_segs, out_pkt);
    161 
    162  /* Reserve space for the XRAN header that will be built later */
    163  //out_pkt->data_len = sizeof(struct xran_up_pkt_hdr);
    164  //out_pkt->pkt_len = sizeof(struct xran_up_pkt_hdr);
    165  if(rte_pktmbuf_append(out_pkt, sizeof(struct xran_up_pkt_hdr)) ==NULL){
    166  rte_panic("sizeof(struct xran_up_pkt_hdr)");
    167  }
    168  frag_bytes_remaining = frag_size;
    169 
    170  out_seg_prev = out_pkt;
    171  more_out_segs = 1;
    172  while (likely(more_out_segs && more_in_segs)) {
    173  uint32_t len;
    174 #ifdef XRAN_ATTACH_MBUF
    175  struct rte_mbuf *out_seg = NULL;
    176 
    177  /* Allocate indirect buffer */
    178  print_dbg("Allocate indirect buffer \n");
    179  out_seg = rte_pktmbuf_alloc(pool_indirect);
    180  if (unlikely(out_seg == NULL)) {
    181  print_err("pool_indirect -ENOMEM\n");
    182  rte_pktmbuf_free(out_pkt);
    183  __free_fragments(pkts_out, out_pkt_pos);
    184  return -ENOMEM;
    185  }
    186 
    187  print_dbg("[%d %d] out_seg %p\n",more_out_segs, more_in_segs, out_seg);
    188  out_seg_prev->next = out_seg;
    189  out_seg_prev = out_seg;
    190 
    191  /* Prepare indirect buffer */
    192  rte_pktmbuf_attach(out_seg, in_seg);
    193 #endif
    194  len = frag_bytes_remaining;
    195  if (len > (in_seg->data_len - in_seg_data_pos)) {
    196  len = in_seg->data_len - in_seg_data_pos;
    197  }
    198 #ifdef XRAN_ATTACH_MBUF
    199  out_seg->data_off = in_seg->data_off + in_seg_data_pos;
    200  out_seg->data_len = (uint16_t)len;
    201  out_pkt->pkt_len = (uint16_t)(len +
    202  out_pkt->pkt_len);
    203  out_pkt->nb_segs += 1;
    204 #else
    205 {
    206  char* pChar = rte_pktmbuf_mtod(in_seg, char*);
    207  void *iq_src = (pChar + in_seg_data_pos);
    208  void *iq_dst = rte_pktmbuf_append(out_pkt, len);
    209 
    210  print_dbg("rte_pktmbuf_attach\n");
    211  if(iq_src && iq_dst)
    212  rte_memcpy(iq_dst, iq_src, len);
    213  else
    214  print_err("iq_src %p iq_dst %p\n len %d room %d\n", iq_src, iq_dst, len, rte_pktmbuf_tailroom(out_pkt));
    215 }
    216 #endif
    217  in_seg_data_pos += len;
    218  frag_bytes_remaining -= len;
    219 
    220  /* Current output packet (i.e. fragment) done ? */
    221  if (unlikely(frag_bytes_remaining == 0))
    222  more_out_segs = 0;
    223 
    224  /* Current input segment done ? */
    225  if (unlikely(in_seg_data_pos == in_seg->data_len)) {
    226  in_seg = in_seg->next;
    227  in_seg_data_pos = 0;
    228 
    229  if (unlikely(in_seg == NULL))
    230  more_in_segs = 0;
    231  }
    232  }
    233 
    234  /* Build the XRAN header */
    235  print_dbg("Build the XRAN header\n");
    236  out_hdr = rte_pktmbuf_mtod(out_pkt, struct xran_up_pkt_hdr *);
    237 
    238  __fill_xranhdr_frag(out_hdr, in_hdr_xran,
    239  (uint16_t)out_pkt->pkt_len - sizeof(struct xran_up_pkt_hdr),
    240  fragment_offset, sectinfo, more_in_segs, seqid);
    241 
    242  fragment_offset = (uint16_t)(fragment_offset +
    243  out_pkt->pkt_len - sizeof(struct xran_up_pkt_hdr));
    244 
    245  //out_pkt->l3_len = sizeof(struct xran_up_pkt_hdr);
    246 
    247  /* Write the fragment to the output list */
    248  pkts_out[out_pkt_pos] = out_pkt;
    249  print_dbg("out_pkt_pos %d data_len %d pkt_len %d\n", out_pkt_pos, out_pkt->data_len, out_pkt->pkt_len);
    250  out_pkt_pos ++;
    251  //rte_pktmbuf_dump(stdout, out_pkt, 96);
    252  }
    253 
    254  return out_pkt_pos;
    255 }
    256 
    257 
    #define N_SC_PER_PRB
    Definition: common.h:49
    +
    #define print_dbg(fmt, args...)
    Definition: xran_printf.h:54
    + +
    struct xran_up_pkt_hdr xran_hdr
    Definition: xran_pkt_up.h:168
    + +
    uint32_t num_prbu
    Definition: xran_pkt_up.h:71
    + +
    #define print_err(fmt, args...)
    Definition: xran_printf.h:62
    +
    uint16_t startPrbc
    Definition: xran_cp_api.h:193
    +
    int xran_get_ecpri_hdr_size(void)
    return eCPRI header size without eCPRI common header
    +
    uint32_t all_bits
    Definition: xran_pkt_up.h:69
    +
    #define XRAN_PAYLOAD_RB_ALIGN
    Definition: xran_app_frag.c:43
    + +
    int32_t xran_app_fragment_packet(struct rte_mbuf *pkt_in, struct rte_mbuf **pkts_out, uint16_t nb_pkts_out, uint16_t mtu_size, struct rte_mempool *pool_direct, struct rte_mempool *pool_indirect, struct xran_section_info *sectinfo, uint8_t *seqid)
    +
    #define IQ_BITS
    Definition: xran_pkt_up.h:50
    +
    Header file for functions to perform application level fragmentation.
    +
    Modules provide debug prints and utility functions.
    +
    XRAN layer common functionality for both lls-CU and RU as well as C-plane and U-plane.
    +
    uint32_t start_prbu
    Definition: xran_pkt_up.h:72
    +
    Definitions and support functions to process XRAN packet.
    + +
    union data_section_hdr::@18 fields
    + + +
    This file provides the definitions for Control Plane Messages APIs.
    +
    + + + + diff --git a/docs/API/xran__app__frag_8h.html b/docs/API/xran__app__frag_8h.html new file mode 100644 index 0000000..829b557 --- /dev/null +++ b/docs/API/xran__app__frag_8h.html @@ -0,0 +1,206 @@ + + + + + + + +o-du/phy: xran_app_frag.h File Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    xran_app_frag.h File Reference
    +
    +
    + +

    Header file for functions to perform application level fragmentation. +More...

    +
    #include <stdint.h>
    +#include <stdio.h>
    +#include <rte_config.h>
    +#include <rte_malloc.h>
    +#include <rte_memory.h>
    +#include <rte_mempool.h>
    +#include <rte_byteorder.h>
    +#include "xran_fh_o_du.h"
    +#include "xran_cp_api.h"
    +
    +Include dependency graph for xran_app_frag.h:
    +
    +
    + + + + + + + +
    +
    +This graph shows which files directly or indirectly include this file:
    +
    +
    + + + + +
    +
    +

    Go to the source code of this file.

    + + + + +

    +Functions

    int32_t xran_app_fragment_packet (struct rte_mbuf *pkt_in, struct rte_mbuf **pkts_out, uint16_t nb_pkts_out, uint16_t mtu_size, struct rte_mempool *pool_direct, struct rte_mempool *pool_indirect, struct xran_section_info *sectinfo, uint8_t *seqid)
     
    +

    Detailed Description

    +

    Header file for functions to perform application level fragmentation.

    +
    Author
    Intel Corporation
    + +

    Definition in file xran_app_frag.h.

    +

    Function Documentation

    + +

    ◆ xran_app_fragment_packet()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    int32_t xran_app_fragment_packet (struct rte_mbuf * pkt_in,
    struct rte_mbuf ** pkts_out,
    uint16_t nb_pkts_out,
    uint16_t mtu_size,
    struct rte_mempool * pool_direct,
    struct rte_mempool * pool_indirect,
    struct xran_section_infosectinfo,
    uint8_t * seqid 
    )
    +
    +

    XRAN fragmentation.

    +

    This function implements the application fragmentation of XRAN packets.

    +
    Parameters
    + + + + + + +
    pkt_inThe input packet.
    pkts_outArray storing the output fragments.
    mtu_sizeSize in bytes of the Maximum Transfer Unit (MTU) for the outgoing XRAN datagrams. This value includes the size of the XRAN headers.
    pool_directMBUF pool used for allocating direct buffers for the output fragments.
    pool_indirectMBUF pool used for allocating indirect buffers for the output fragments.
    +
    +
    +
    Returns
    Upon successful completion - number of output fragments placed in the pkts_out array. Otherwise - (-1) * <errno>.
    + +

    Definition at line 104 of file xran_app_frag.c.

    + +
    +
    +
    + + + + diff --git a/docs/API/xran__app__frag_8h__dep__incl.map b/docs/API/xran__app__frag_8h__dep__incl.map new file mode 100644 index 0000000..aaad956 --- /dev/null +++ b/docs/API/xran__app__frag_8h__dep__incl.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/xran__app__frag_8h__dep__incl.md5 b/docs/API/xran__app__frag_8h__dep__incl.md5 new file mode 100644 index 0000000..e4d45e8 --- /dev/null +++ b/docs/API/xran__app__frag_8h__dep__incl.md5 @@ -0,0 +1 @@ +9cf4f09a39e0abdd333a17f2882368cd \ No newline at end of file diff --git a/docs/API/xran__app__frag_8h__dep__incl.png b/docs/API/xran__app__frag_8h__dep__incl.png new file mode 100644 index 0000000..16b5412 Binary files /dev/null and b/docs/API/xran__app__frag_8h__dep__incl.png differ diff --git a/docs/API/xran__app__frag_8h__incl.map b/docs/API/xran__app__frag_8h__incl.map new file mode 100644 index 0000000..1b43119 --- /dev/null +++ b/docs/API/xran__app__frag_8h__incl.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/API/xran__app__frag_8h__incl.md5 b/docs/API/xran__app__frag_8h__incl.md5 new file mode 100644 index 0000000..af66cc8 --- /dev/null +++ b/docs/API/xran__app__frag_8h__incl.md5 @@ -0,0 +1 @@ +e8385b98630f033d0246fc609e50d4b9 \ No newline at end of file diff --git a/docs/API/xran__app__frag_8h__incl.png b/docs/API/xran__app__frag_8h__incl.png new file mode 100644 index 0000000..c76b986 Binary files /dev/null and b/docs/API/xran__app__frag_8h__incl.png differ diff --git a/docs/API/xran__app__frag_8h_source.html b/docs/API/xran__app__frag_8h_source.html new file mode 100644 index 0000000..ace242e --- /dev/null +++ b/docs/API/xran__app__frag_8h_source.html @@ -0,0 +1,82 @@ + + + + + + + +o-du/phy: xran_app_frag.h Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    xran_app_frag.h
    +
    +
    +Go to the documentation of this file.
    1 /******************************************************************************
    2 *
    3 * Copyright (c) 2019 Intel.
    4 *
    5 * Licensed under the Apache License, Version 2.0 (the "License");
    6 * you may not use this file except in compliance with the License.
    7 * You may obtain a copy of the License at
    8 *
    9 * http://www.apache.org/licenses/LICENSE-2.0
    10 *
    11 * Unless required by applicable law or agreed to in writing, software
    12 * distributed under the License is distributed on an "AS IS" BASIS,
    13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    14 * See the License for the specific language governing permissions and
    15 * limitations under the License.
    16 *
    17 *******************************************************************************/
    18 
    19 
    28 #ifndef _XRAN_APP_FRAG_
    29 #define _XRAN_APP_FRAG_
    30 
    31 #ifdef __cplusplus
    32 extern "C" {
    33 #endif
    34 
    35 #include <stdint.h>
    36 #include <stdio.h>
    37 
    38 #include <rte_config.h>
    39 #include <rte_malloc.h>
    40 #include <rte_memory.h>
    41 #include <rte_mempool.h>
    42 #include <rte_byteorder.h>
    43 
    44 #include "xran_fh_o_du.h"
    45 #include "xran_cp_api.h"
    46 
    47 int32_t xran_app_fragment_packet(struct rte_mbuf *pkt_in, /* eth hdr is prepended */
    48  struct rte_mbuf **pkts_out,
    49  uint16_t nb_pkts_out,
    50  uint16_t mtu_size,
    51  struct rte_mempool *pool_direct,
    52  struct rte_mempool *pool_indirect,
    53  struct xran_section_info *sectinfo,
    54  uint8_t *seqid);
    55 
    56 #ifdef __cplusplus
    57 }
    58 #endif
    59 
    60 #endif /* _XRAN_APP_FRAG_ */
    61 
    int32_t xran_app_fragment_packet(struct rte_mbuf *pkt_in, struct rte_mbuf **pkts_out, uint16_t nb_pkts_out, uint16_t mtu_size, struct rte_mempool *pool_direct, struct rte_mempool *pool_indirect, struct xran_section_info *sectinfo, uint8_t *seqid)
    + +
    This file provides public interface to xRAN Front Haul layer implementation as defined in the ORAN-WG...
    +
    This file provides the definitions for Control Plane Messages APIs.
    +
    + + + + diff --git a/docs/API/xran__common_8c.html b/docs/API/xran__common_8c.html new file mode 100644 index 0000000..507ce16 --- /dev/null +++ b/docs/API/xran__common_8c.html @@ -0,0 +1,1628 @@ + + + + + + + +o-du/phy: xran_common.c File Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    xran_common.c File Reference
    +
    +
    + +

    XRAN layer common functionality for both O-DU and O-RU as well as C-plane and U-plane. +More...

    +
    #include <assert.h>
    +#include <err.h>
    +#include <arpa/inet.h>
    +#include <sys/time.h>
    +#include <time.h>
    +#include "xran_common.h"
    +#include "ethdi.h"
    +#include "xran_pkt.h"
    +#include "xran_pkt_up.h"
    +#include "xran_up_api.h"
    +#include "xran_lib_mlog_tasks_id.h"
    +#include "../src/xran_printf.h"
    +#include <rte_mbuf.h>
    +#include "xran_mlog_lnx.h"
    +
    +Include dependency graph for xran_common.c:
    +
    +
    + + + + + + + + + + + + + + + +
    +
    +

    Go to the source code of this file.

    + + + + +

    +Macros

    #define MBUFS_CNT   16
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Functions

    int xran_process_rx_sym (void *arg, struct rte_mbuf *mbuf, void *iq_data_start, uint16_t size, uint8_t CC_ID, uint8_t Ant_ID, uint8_t frame_id, uint8_t subframe_id, uint8_t slot_id, uint8_t symb_id, uint16_t num_prbu, uint16_t start_prbu, uint16_t sym_inc, uint16_t rb, uint16_t sect_id, uint32_t *mb_free)
     
    int xran_process_prach_sym (void *arg, struct rte_mbuf *mbuf, void *iq_data_start, uint16_t size, uint8_t CC_ID, uint8_t Ant_ID, uint8_t frame_id, uint8_t subframe_id, uint8_t slot_id, uint8_t symb_id, uint16_t num_prbu, uint16_t start_prbu, uint16_t sym_inc, uint16_t rb, uint16_t sect_id, uint32_t *mb_free)
     
    int32_t xran_process_srs_sym (void *arg, struct rte_mbuf *mbuf, void *iq_data_start, uint16_t size, uint8_t CC_ID, uint8_t Ant_ID, uint8_t frame_id, uint8_t subframe_id, uint8_t slot_id, uint8_t symb_id, uint16_t num_prbu, uint16_t start_prbu, uint16_t sym_inc, uint16_t rb, uint16_t sect_id, uint32_t *mb_free)
     
    int32_t xran_pkt_validate (void *arg, struct rte_mbuf *mbuf, void *iq_data_start, uint16_t size, uint8_t CC_ID, uint8_t Ant_ID, uint8_t frame_id, uint8_t subframe_id, uint8_t slot_id, uint8_t symb_id, struct ecpri_seq_id *seq_id, uint16_t num_prbu, uint16_t start_prbu, uint16_t sym_inc, uint16_t rb, uint16_t sect_id)
     
    struct cb_elem_entryxran_create_cb (XranSymCallbackFn cb_fn, void *cb_data)
     
    int xran_destroy_cb (struct cb_elem_entry *cb_elm)
     
    int process_mbuf (struct rte_mbuf *pkt)
     
    int32_t prepare_symbol_ex (enum xran_pkt_dir direction, uint16_t section_id, struct rte_mbuf *mb, struct rb_map *data, uint8_t compMeth, uint8_t iqWidth, const enum xran_input_byte_order iq_buf_byte_order, uint8_t frame_id, uint8_t subframe_id, uint8_t slot_id, uint8_t symbol_no, int prb_start, int prb_num, uint8_t CC_ID, uint8_t RU_Port_ID, uint8_t seq_id, uint32_t do_copy)
     
    int send_symbol_ex (enum xran_pkt_dir direction, uint16_t section_id, struct rte_mbuf *mb, struct rb_map *data, const enum xran_input_byte_order iq_buf_byte_order, uint8_t frame_id, uint8_t subframe_id, uint8_t slot_id, uint8_t symbol_no, int prb_start, int prb_num, uint8_t CC_ID, uint8_t RU_Port_ID, uint8_t seq_id)
     
    int send_cpmsg (void *pHandle, struct rte_mbuf *mbuf, struct xran_cp_gen_params *params, struct xran_section_gen_info *sect_geninfo, uint8_t cc_id, uint8_t ru_port_id, uint8_t seq_id)
     
    int generate_cpmsg_dlul (void *pHandle, struct xran_cp_gen_params *params, struct xran_section_gen_info *sect_geninfo, struct rte_mbuf *mbuf, enum xran_pkt_dir dir, uint8_t frame_id, uint8_t subframe_id, uint8_t slot_id, uint8_t startsym, uint8_t numsym, uint16_t prb_start, uint16_t prb_num, int16_t iq_buffer_offset, int16_t iq_buffer_len, uint16_t beam_id, uint8_t cc_id, uint8_t ru_port_id, uint8_t comp_method, uint8_t iqWidth, uint8_t seq_id, uint8_t symInc)
     
    int generate_cpmsg_prach (void *pHandle, struct xran_cp_gen_params *params, struct xran_section_gen_info *sect_geninfo, struct rte_mbuf *mbuf, struct xran_device_ctx *pxran_lib_ctx, uint8_t frame_id, uint8_t subframe_id, uint8_t slot_id, uint16_t beam_id, uint8_t cc_id, uint8_t prach_port_id, uint8_t seq_id)
     
    int process_ring (struct rte_ring *r)
     
    int32_t ring_processing_func (void)
     
    int ring_processing_thread (void *args)
     
    + + + + + + + + + + + + + + + +

    +Variables

    long interval_us
     
    long rx_counter = 0
     
    long tx_counter = 0
     
    long tx_bytes_counter = 0
     
    long rx_bytes_counter = 0
     
    long tx_bytes_per_sec = 0
     
    long rx_bytes_per_sec = 0
     
    +

    Detailed Description

    +

    XRAN layer common functionality for both O-DU and O-RU as well as C-plane and U-plane.

    +

    XRAN layer common functionality for both lls-CU and RU as well as C-plane and U-plane.

    +
    Author
    Intel Corporation
    + +

    Definition in file xran_common.c.

    +

    Macro Definition Documentation

    + +

    ◆ MBUFS_CNT

    + +
    +
    + + + + +
    #define MBUFS_CNT   16
    +
    + +

    Definition at line 44 of file xran_common.c.

    + +
    +
    +

    Function Documentation

    + +

    ◆ generate_cpmsg_dlul()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    int generate_cpmsg_dlul (void * pHandle,
    struct xran_cp_gen_paramsparams,
    struct xran_section_gen_infosect_geninfo,
    struct rte_mbuf * mbuf,
    enum xran_pkt_dir dir,
    uint8_t frame_id,
    uint8_t subframe_id,
    uint8_t slot_id,
    uint8_t startsym,
    uint8_t numsym,
    uint16_t prb_start,
    uint16_t prb_num,
    int16_t iq_buffer_offset,
    int16_t iq_buffer_len,
    uint16_t beam_id,
    uint8_t cc_id,
    uint8_t ru_port_id,
    uint8_t comp_method,
    uint8_t iqWidth,
    uint8_t seq_id,
    uint8_t symInc 
    )
    +
    + +

    Definition at line 535 of file xran_common.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + + + + + + + + + +
    + +
    +
    + +

    ◆ generate_cpmsg_prach()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    int generate_cpmsg_prach (void * pHandle,
    struct xran_cp_gen_paramsparams,
    struct xran_section_gen_infosect_geninfo,
    struct rte_mbuf * mbuf,
    struct xran_device_ctxpxran_lib_ctx,
    uint8_t frame_id,
    uint8_t subframe_id,
    uint8_t slot_id,
    uint16_t beam_id,
    uint8_t cc_id,
    uint8_t prach_port_id,
    uint8_t seq_id 
    )
    +
    + +

    Definition at line 595 of file xran_common.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + + + + + + + + + + + + + +
    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + +
    + +
    +
    + +

    ◆ prepare_symbol_ex()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    int32_t prepare_symbol_ex (enum xran_pkt_dir direction,
    uint16_t section_id,
    struct rte_mbuf * mb,
    struct rb_mapdata,
    uint8_t compMeth,
    uint8_t iqWidth,
    const enum xran_input_byte_order iq_buf_byte_order,
    uint8_t frame_id,
    uint8_t subframe_id,
    uint8_t slot_id,
    uint8_t symbol_no,
    int prb_start,
    int prb_num,
    uint8_t CC_ID,
    uint8_t RU_Port_ID,
    uint8_t seq_id,
    uint32_t do_copy 
    )
    +
    + +

    Definition at line 348 of file xran_common.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + +
    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + +
    + +
    +
    + +

    ◆ process_mbuf()

    + +
    +
    + + + + + + + + +
    int process_mbuf (struct rte_mbuf * pkt)
    +
    + +

    Definition at line 143 of file xran_common.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + + + + + + + + + + +
    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + +
    + +
    +
    + +

    ◆ process_ring()

    + +
    +
    + + + + + + + + +
    int process_ring (struct rte_ring * r)
    +
    + +

    Definition at line 676 of file xran_common.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + +
    + +
    +
    + +

    ◆ ring_processing_func()

    + +
    +
    + + + + + + + + +
    int32_t ring_processing_func (void )
    +
    + +

    Definition at line 700 of file xran_common.c.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + +
    + +
    +
    + +

    ◆ ring_processing_thread()

    + +
    +
    + + + + + + + + +
    int ring_processing_thread (void * args)
    +
    + +

    Definition at line 742 of file xran_common.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + +
    + +
    +
    + +

    ◆ send_cpmsg()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    int send_cpmsg (void * pHandle,
    struct rte_mbuf * mbuf,
    struct xran_cp_gen_paramsparams,
    struct xran_section_gen_infosect_geninfo,
    uint8_t cc_id,
    uint8_t ru_port_id,
    uint8_t seq_id 
    )
    +
    + +

    Definition at line 510 of file xran_common.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + + +
    + +
    +
    + +

    ◆ send_symbol_ex()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    int send_symbol_ex (enum xran_pkt_dir direction,
    uint16_t section_id,
    struct rte_mbuf * mb,
    struct rb_mapdata,
    const enum xran_input_byte_order iq_buf_byte_order,
    uint8_t frame_id,
    uint8_t subframe_id,
    uint8_t slot_id,
    uint8_t symbol_no,
    int prb_start,
    int prb_num,
    uint8_t CC_ID,
    uint8_t RU_Port_ID,
    uint8_t seq_id 
    )
    +
    + +

    Definition at line 436 of file xran_common.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + + + + +
    + +
    +
    + +

    ◆ xran_create_cb()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    struct cb_elem_entry* xran_create_cb (XranSymCallbackFn cb_fn,
    void * cb_data 
    )
    +
    + +

    Definition at line 125 of file xran_common.c.

    + +
    +
    + +

    ◆ xran_destroy_cb()

    + +
    +
    + + + + + + + + +
    int xran_destroy_cb (struct cb_elem_entrycb_elm)
    +
    + +

    Definition at line 136 of file xran_common.c.

    + +
    +
    + +

    ◆ xran_pkt_validate()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    int32_t xran_pkt_validate (void * arg,
    struct rte_mbuf * mbuf,
    void * iq_data_start,
    uint16_t size,
    uint8_t CC_ID,
    uint8_t Ant_ID,
    uint8_t frame_id,
    uint8_t subframe_id,
    uint8_t slot_id,
    uint8_t symb_id,
    struct ecpri_seq_idseq_id,
    uint16_t num_prbu,
    uint16_t start_prbu,
    uint16_t sym_inc,
    uint16_t rb,
    uint16_t sect_id 
    )
    +
    + +

    Definition at line 1536 of file xran_main.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + +
    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + +
    + +
    +
    + +

    ◆ xran_process_prach_sym()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    int xran_process_prach_sym (void * arg,
    struct rte_mbuf * mbuf,
    void * iq_data_start,
    uint16_t size,
    uint8_t CC_ID,
    uint8_t Ant_ID,
    uint8_t frame_id,
    uint8_t subframe_id,
    uint8_t slot_id,
    uint8_t symb_id,
    uint16_t num_prbu,
    uint16_t start_prbu,
    uint16_t sym_inc,
    uint16_t rb,
    uint16_t sect_id,
    uint32_t * mb_free 
    )
    +
    + +

    Definition at line 1384 of file xran_main.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + +
    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + +
    + +
    +
    + +

    ◆ xran_process_rx_sym()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    int32_t xran_process_rx_sym (void * arg,
    struct rte_mbuf * mbuf,
    void * iq_data_start,
    uint16_t size,
    uint8_t CC_ID,
    uint8_t Ant_ID,
    uint8_t frame_id,
    uint8_t subframe_id,
    uint8_t slot_id,
    uint8_t symb_id,
    uint16_t num_prbu,
    uint16_t start_prbu,
    uint16_t sym_inc,
    uint16_t rb,
    uint16_t sect_id,
    uint32_t * mb_free 
    )
    +
    + +

    Definition at line 1578 of file xran_main.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + +
    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + +
    + +
    +
    + +

    ◆ xran_process_srs_sym()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    int32_t xran_process_srs_sym (void * arg,
    struct rte_mbuf * mbuf,
    void * iq_data_start,
    uint16_t size,
    uint8_t CC_ID,
    uint8_t Ant_ID,
    uint8_t frame_id,
    uint8_t subframe_id,
    uint8_t slot_id,
    uint8_t symb_id,
    uint16_t num_prbu,
    uint16_t start_prbu,
    uint16_t sym_inc,
    uint16_t rb,
    uint16_t sect_id,
    uint32_t * mb_free 
    )
    +
    + +

    Definition at line 1461 of file xran_main.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + +
    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + +
    + +
    +
    +

    Variable Documentation

    + +

    ◆ interval_us

    + +
    +
    + + + + +
    long interval_us
    +
    + +

    Definition at line 109 of file xran_main.c.

    + +
    +
    + +

    ◆ rx_bytes_counter

    + +
    +
    + + + + +
    long rx_bytes_counter = 0
    +
    + +

    Definition at line 120 of file xran_common.c.

    + +
    +
    + +

    ◆ rx_bytes_per_sec

    + +
    +
    + + + + +
    long rx_bytes_per_sec = 0
    +
    + +

    Definition at line 122 of file xran_common.c.

    + +
    +
    + +

    ◆ rx_counter

    + +
    +
    + + + + +
    long rx_counter = 0
    +
    + +

    Definition at line 117 of file xran_common.c.

    + +
    +
    + +

    ◆ tx_bytes_counter

    + +
    +
    + + + + +
    long tx_bytes_counter = 0
    +
    + +

    Definition at line 119 of file xran_common.c.

    + +
    +
    + +

    ◆ tx_bytes_per_sec

    + +
    +
    + + + + +
    long tx_bytes_per_sec = 0
    +
    + +

    Definition at line 121 of file xran_common.c.

    + +
    +
    + +

    ◆ tx_counter

    + +
    +
    + + + + +
    long tx_counter = 0
    +
    + +

    Definition at line 118 of file xran_common.c.

    + +
    +
    +
    + + + + diff --git a/docs/API/xran__common_8c__incl.map b/docs/API/xran__common_8c__incl.map new file mode 100644 index 0000000..e63a18e --- /dev/null +++ b/docs/API/xran__common_8c__incl.map @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/docs/API/xran__common_8c__incl.md5 b/docs/API/xran__common_8c__incl.md5 new file mode 100644 index 0000000..0697523 --- /dev/null +++ b/docs/API/xran__common_8c__incl.md5 @@ -0,0 +1 @@ +804e6f823ff493e323bb754c1ffe4f2b \ No newline at end of file diff --git a/docs/API/xran__common_8c__incl.png b/docs/API/xran__common_8c__incl.png new file mode 100644 index 0000000..90c195f Binary files /dev/null and b/docs/API/xran__common_8c__incl.png differ diff --git a/docs/API/xran__common_8c_a300b87c29358bb161404c0122a9b2a46_cgraph.map b/docs/API/xran__common_8c_a300b87c29358bb161404c0122a9b2a46_cgraph.map new file mode 100644 index 0000000..aefc03c --- /dev/null +++ b/docs/API/xran__common_8c_a300b87c29358bb161404c0122a9b2a46_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/xran__common_8c_a300b87c29358bb161404c0122a9b2a46_cgraph.md5 b/docs/API/xran__common_8c_a300b87c29358bb161404c0122a9b2a46_cgraph.md5 new file mode 100644 index 0000000..f6388ce --- /dev/null +++ b/docs/API/xran__common_8c_a300b87c29358bb161404c0122a9b2a46_cgraph.md5 @@ -0,0 +1 @@ +ad00d111f3621dac113607abe066d8ce \ No newline at end of file diff --git a/docs/API/xran__common_8c_a300b87c29358bb161404c0122a9b2a46_cgraph.png b/docs/API/xran__common_8c_a300b87c29358bb161404c0122a9b2a46_cgraph.png new file mode 100644 index 0000000..65f0d4d Binary files /dev/null and b/docs/API/xran__common_8c_a300b87c29358bb161404c0122a9b2a46_cgraph.png differ diff --git a/docs/API/xran__common_8c_a300b87c29358bb161404c0122a9b2a46_icgraph.map b/docs/API/xran__common_8c_a300b87c29358bb161404c0122a9b2a46_icgraph.map new file mode 100644 index 0000000..79dd6de --- /dev/null +++ b/docs/API/xran__common_8c_a300b87c29358bb161404c0122a9b2a46_icgraph.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/API/xran__common_8c_a300b87c29358bb161404c0122a9b2a46_icgraph.md5 b/docs/API/xran__common_8c_a300b87c29358bb161404c0122a9b2a46_icgraph.md5 new file mode 100644 index 0000000..524ca17 --- /dev/null +++ b/docs/API/xran__common_8c_a300b87c29358bb161404c0122a9b2a46_icgraph.md5 @@ -0,0 +1 @@ +c6e2d45be0a1d7667d71fef3da70f07f \ No newline at end of file diff --git a/docs/API/xran__common_8c_a300b87c29358bb161404c0122a9b2a46_icgraph.png b/docs/API/xran__common_8c_a300b87c29358bb161404c0122a9b2a46_icgraph.png new file mode 100644 index 0000000..8595579 Binary files /dev/null and b/docs/API/xran__common_8c_a300b87c29358bb161404c0122a9b2a46_icgraph.png differ diff --git a/docs/API/xran__common_8c_a3cdc276ccd8081a8bda75f22b0cac279_cgraph.map b/docs/API/xran__common_8c_a3cdc276ccd8081a8bda75f22b0cac279_cgraph.map new file mode 100644 index 0000000..7cb1d89 --- /dev/null +++ b/docs/API/xran__common_8c_a3cdc276ccd8081a8bda75f22b0cac279_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/xran__common_8c_a3cdc276ccd8081a8bda75f22b0cac279_cgraph.md5 b/docs/API/xran__common_8c_a3cdc276ccd8081a8bda75f22b0cac279_cgraph.md5 new file mode 100644 index 0000000..5853e4f --- /dev/null +++ b/docs/API/xran__common_8c_a3cdc276ccd8081a8bda75f22b0cac279_cgraph.md5 @@ -0,0 +1 @@ +c7af36d222e78569f1c290fb24e2811b \ No newline at end of file diff --git a/docs/API/xran__common_8c_a3cdc276ccd8081a8bda75f22b0cac279_cgraph.png b/docs/API/xran__common_8c_a3cdc276ccd8081a8bda75f22b0cac279_cgraph.png new file mode 100644 index 0000000..effd670 Binary files /dev/null and b/docs/API/xran__common_8c_a3cdc276ccd8081a8bda75f22b0cac279_cgraph.png differ diff --git a/docs/API/xran__common_8c_a3d4bd5c7eec6da4ab71688e209100761_cgraph.map b/docs/API/xran__common_8c_a3d4bd5c7eec6da4ab71688e209100761_cgraph.map new file mode 100644 index 0000000..10fea4d --- /dev/null +++ b/docs/API/xran__common_8c_a3d4bd5c7eec6da4ab71688e209100761_cgraph.map @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/docs/API/xran__common_8c_a3d4bd5c7eec6da4ab71688e209100761_cgraph.md5 b/docs/API/xran__common_8c_a3d4bd5c7eec6da4ab71688e209100761_cgraph.md5 new file mode 100644 index 0000000..fda8e13 --- /dev/null +++ b/docs/API/xran__common_8c_a3d4bd5c7eec6da4ab71688e209100761_cgraph.md5 @@ -0,0 +1 @@ +9b1080f36df655fc53d4f5afbee693c8 \ No newline at end of file diff --git a/docs/API/xran__common_8c_a3d4bd5c7eec6da4ab71688e209100761_cgraph.png b/docs/API/xran__common_8c_a3d4bd5c7eec6da4ab71688e209100761_cgraph.png new file mode 100644 index 0000000..be89eaf Binary files /dev/null and b/docs/API/xran__common_8c_a3d4bd5c7eec6da4ab71688e209100761_cgraph.png differ diff --git a/docs/API/xran__common_8c_a3d4bd5c7eec6da4ab71688e209100761_icgraph.map b/docs/API/xran__common_8c_a3d4bd5c7eec6da4ab71688e209100761_icgraph.map new file mode 100644 index 0000000..0e0eb16 --- /dev/null +++ b/docs/API/xran__common_8c_a3d4bd5c7eec6da4ab71688e209100761_icgraph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/API/xran__common_8c_a3d4bd5c7eec6da4ab71688e209100761_icgraph.md5 b/docs/API/xran__common_8c_a3d4bd5c7eec6da4ab71688e209100761_icgraph.md5 new file mode 100644 index 0000000..d5962d1 --- /dev/null +++ b/docs/API/xran__common_8c_a3d4bd5c7eec6da4ab71688e209100761_icgraph.md5 @@ -0,0 +1 @@ +824bace54829d0234b597e26c69cbcf6 \ No newline at end of file diff --git a/docs/API/xran__common_8c_a3d4bd5c7eec6da4ab71688e209100761_icgraph.png b/docs/API/xran__common_8c_a3d4bd5c7eec6da4ab71688e209100761_icgraph.png new file mode 100644 index 0000000..0486323 Binary files /dev/null and b/docs/API/xran__common_8c_a3d4bd5c7eec6da4ab71688e209100761_icgraph.png differ diff --git a/docs/API/xran__common_8c_a484fa852a2e973600abba0efb1fbefb9_cgraph.map b/docs/API/xran__common_8c_a484fa852a2e973600abba0efb1fbefb9_cgraph.map new file mode 100644 index 0000000..1c5c2b7 --- /dev/null +++ b/docs/API/xran__common_8c_a484fa852a2e973600abba0efb1fbefb9_cgraph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/xran__common_8c_a484fa852a2e973600abba0efb1fbefb9_cgraph.md5 b/docs/API/xran__common_8c_a484fa852a2e973600abba0efb1fbefb9_cgraph.md5 new file mode 100644 index 0000000..fdc09b5 --- /dev/null +++ b/docs/API/xran__common_8c_a484fa852a2e973600abba0efb1fbefb9_cgraph.md5 @@ -0,0 +1 @@ +7ff06a1e132f2ccfad26ab17a9ee9869 \ No newline at end of file diff --git a/docs/API/xran__common_8c_a484fa852a2e973600abba0efb1fbefb9_cgraph.png b/docs/API/xran__common_8c_a484fa852a2e973600abba0efb1fbefb9_cgraph.png new file mode 100644 index 0000000..b5b2fc1 Binary files /dev/null and b/docs/API/xran__common_8c_a484fa852a2e973600abba0efb1fbefb9_cgraph.png differ diff --git a/docs/API/xran__common_8c_a4e156a8a72cc16b05c6ad0532df4e75a_cgraph.map b/docs/API/xran__common_8c_a4e156a8a72cc16b05c6ad0532df4e75a_cgraph.map new file mode 100644 index 0000000..0104806 --- /dev/null +++ b/docs/API/xran__common_8c_a4e156a8a72cc16b05c6ad0532df4e75a_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/xran__common_8c_a4e156a8a72cc16b05c6ad0532df4e75a_cgraph.md5 b/docs/API/xran__common_8c_a4e156a8a72cc16b05c6ad0532df4e75a_cgraph.md5 new file mode 100644 index 0000000..3279219 --- /dev/null +++ b/docs/API/xran__common_8c_a4e156a8a72cc16b05c6ad0532df4e75a_cgraph.md5 @@ -0,0 +1 @@ +b2773e1ef8eb1a0c50dd73ed19799726 \ No newline at end of file diff --git a/docs/API/xran__common_8c_a4e156a8a72cc16b05c6ad0532df4e75a_cgraph.png b/docs/API/xran__common_8c_a4e156a8a72cc16b05c6ad0532df4e75a_cgraph.png new file mode 100644 index 0000000..87d44b5 Binary files /dev/null and b/docs/API/xran__common_8c_a4e156a8a72cc16b05c6ad0532df4e75a_cgraph.png differ diff --git a/docs/API/xran__common_8c_a595fa22ad1c316d4c7d77f6333478b49_icgraph.map b/docs/API/xran__common_8c_a595fa22ad1c316d4c7d77f6333478b49_icgraph.map new file mode 100644 index 0000000..c0711a6 --- /dev/null +++ b/docs/API/xran__common_8c_a595fa22ad1c316d4c7d77f6333478b49_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/xran__common_8c_a595fa22ad1c316d4c7d77f6333478b49_icgraph.md5 b/docs/API/xran__common_8c_a595fa22ad1c316d4c7d77f6333478b49_icgraph.md5 new file mode 100644 index 0000000..a992b1f --- /dev/null +++ b/docs/API/xran__common_8c_a595fa22ad1c316d4c7d77f6333478b49_icgraph.md5 @@ -0,0 +1 @@ +2979a5f2e95f9bd72f45e8aeb083a5e9 \ No newline at end of file diff --git a/docs/API/xran__common_8c_a595fa22ad1c316d4c7d77f6333478b49_icgraph.png b/docs/API/xran__common_8c_a595fa22ad1c316d4c7d77f6333478b49_icgraph.png new file mode 100644 index 0000000..99016bf Binary files /dev/null and b/docs/API/xran__common_8c_a595fa22ad1c316d4c7d77f6333478b49_icgraph.png differ diff --git a/docs/API/xran__common_8c_a64cba831fe964827a932a5a129272de1_cgraph.map b/docs/API/xran__common_8c_a64cba831fe964827a932a5a129272de1_cgraph.map new file mode 100644 index 0000000..1313d59 --- /dev/null +++ b/docs/API/xran__common_8c_a64cba831fe964827a932a5a129272de1_cgraph.map @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/docs/API/xran__common_8c_a64cba831fe964827a932a5a129272de1_cgraph.md5 b/docs/API/xran__common_8c_a64cba831fe964827a932a5a129272de1_cgraph.md5 new file mode 100644 index 0000000..59e22a4 --- /dev/null +++ b/docs/API/xran__common_8c_a64cba831fe964827a932a5a129272de1_cgraph.md5 @@ -0,0 +1 @@ +f20bdba6497b6a857fded2d6ad0d9aeb \ No newline at end of file diff --git a/docs/API/xran__common_8c_a64cba831fe964827a932a5a129272de1_cgraph.png b/docs/API/xran__common_8c_a64cba831fe964827a932a5a129272de1_cgraph.png new file mode 100644 index 0000000..b99393d Binary files /dev/null and b/docs/API/xran__common_8c_a64cba831fe964827a932a5a129272de1_cgraph.png differ diff --git a/docs/API/xran__common_8c_ab67b9cc6e54d8ba3945b265b47af743c_cgraph.map b/docs/API/xran__common_8c_ab67b9cc6e54d8ba3945b265b47af743c_cgraph.map new file mode 100644 index 0000000..94cbbcd --- /dev/null +++ b/docs/API/xran__common_8c_ab67b9cc6e54d8ba3945b265b47af743c_cgraph.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/API/xran__common_8c_ab67b9cc6e54d8ba3945b265b47af743c_cgraph.md5 b/docs/API/xran__common_8c_ab67b9cc6e54d8ba3945b265b47af743c_cgraph.md5 new file mode 100644 index 0000000..132c369 --- /dev/null +++ b/docs/API/xran__common_8c_ab67b9cc6e54d8ba3945b265b47af743c_cgraph.md5 @@ -0,0 +1 @@ +1a9e5a9ac2291d955e000150639e3855 \ No newline at end of file diff --git a/docs/API/xran__common_8c_ab67b9cc6e54d8ba3945b265b47af743c_cgraph.png b/docs/API/xran__common_8c_ab67b9cc6e54d8ba3945b265b47af743c_cgraph.png new file mode 100644 index 0000000..62d757b Binary files /dev/null and b/docs/API/xran__common_8c_ab67b9cc6e54d8ba3945b265b47af743c_cgraph.png differ diff --git a/docs/API/xran__common_8c_ab8a6ed3cee8fa183142d0c23d0b4971d_cgraph.map b/docs/API/xran__common_8c_ab8a6ed3cee8fa183142d0c23d0b4971d_cgraph.map new file mode 100644 index 0000000..6bd4c3d --- /dev/null +++ b/docs/API/xran__common_8c_ab8a6ed3cee8fa183142d0c23d0b4971d_cgraph.map @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/docs/API/xran__common_8c_ab8a6ed3cee8fa183142d0c23d0b4971d_cgraph.md5 b/docs/API/xran__common_8c_ab8a6ed3cee8fa183142d0c23d0b4971d_cgraph.md5 new file mode 100644 index 0000000..c6061e2 --- /dev/null +++ b/docs/API/xran__common_8c_ab8a6ed3cee8fa183142d0c23d0b4971d_cgraph.md5 @@ -0,0 +1 @@ +574eab5ccb224a2c7aa627cc49f1763b \ No newline at end of file diff --git a/docs/API/xran__common_8c_ab8a6ed3cee8fa183142d0c23d0b4971d_cgraph.png b/docs/API/xran__common_8c_ab8a6ed3cee8fa183142d0c23d0b4971d_cgraph.png new file mode 100644 index 0000000..70e68e3 Binary files /dev/null and b/docs/API/xran__common_8c_ab8a6ed3cee8fa183142d0c23d0b4971d_cgraph.png differ diff --git a/docs/API/xran__common_8c_ab8a6ed3cee8fa183142d0c23d0b4971d_icgraph.map b/docs/API/xran__common_8c_ab8a6ed3cee8fa183142d0c23d0b4971d_icgraph.map new file mode 100644 index 0000000..85d2507 --- /dev/null +++ b/docs/API/xran__common_8c_ab8a6ed3cee8fa183142d0c23d0b4971d_icgraph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/API/xran__common_8c_ab8a6ed3cee8fa183142d0c23d0b4971d_icgraph.md5 b/docs/API/xran__common_8c_ab8a6ed3cee8fa183142d0c23d0b4971d_icgraph.md5 new file mode 100644 index 0000000..a21ad84 --- /dev/null +++ b/docs/API/xran__common_8c_ab8a6ed3cee8fa183142d0c23d0b4971d_icgraph.md5 @@ -0,0 +1 @@ +5ad6cbac6755b2e5fb4b6a02aeff114a \ No newline at end of file diff --git a/docs/API/xran__common_8c_ab8a6ed3cee8fa183142d0c23d0b4971d_icgraph.png b/docs/API/xran__common_8c_ab8a6ed3cee8fa183142d0c23d0b4971d_icgraph.png new file mode 100644 index 0000000..ab9b64a Binary files /dev/null and b/docs/API/xran__common_8c_ab8a6ed3cee8fa183142d0c23d0b4971d_icgraph.png differ diff --git a/docs/API/xran__common_8c_ac5201df2d161091f7319ff2f57432823_cgraph.map b/docs/API/xran__common_8c_ac5201df2d161091f7319ff2f57432823_cgraph.map new file mode 100644 index 0000000..def5041 --- /dev/null +++ b/docs/API/xran__common_8c_ac5201df2d161091f7319ff2f57432823_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/xran__common_8c_ac5201df2d161091f7319ff2f57432823_cgraph.md5 b/docs/API/xran__common_8c_ac5201df2d161091f7319ff2f57432823_cgraph.md5 new file mode 100644 index 0000000..850bafe --- /dev/null +++ b/docs/API/xran__common_8c_ac5201df2d161091f7319ff2f57432823_cgraph.md5 @@ -0,0 +1 @@ +349ee559a1a465e2eb7253ef65264607 \ No newline at end of file diff --git a/docs/API/xran__common_8c_ac5201df2d161091f7319ff2f57432823_cgraph.png b/docs/API/xran__common_8c_ac5201df2d161091f7319ff2f57432823_cgraph.png new file mode 100644 index 0000000..b1fbec2 Binary files /dev/null and b/docs/API/xran__common_8c_ac5201df2d161091f7319ff2f57432823_cgraph.png differ diff --git a/docs/API/xran__common_8c_ac5201df2d161091f7319ff2f57432823_icgraph.map b/docs/API/xran__common_8c_ac5201df2d161091f7319ff2f57432823_icgraph.map new file mode 100644 index 0000000..a0a5b94 --- /dev/null +++ b/docs/API/xran__common_8c_ac5201df2d161091f7319ff2f57432823_icgraph.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/API/xran__common_8c_ac5201df2d161091f7319ff2f57432823_icgraph.md5 b/docs/API/xran__common_8c_ac5201df2d161091f7319ff2f57432823_icgraph.md5 new file mode 100644 index 0000000..b78df86 --- /dev/null +++ b/docs/API/xran__common_8c_ac5201df2d161091f7319ff2f57432823_icgraph.md5 @@ -0,0 +1 @@ +1f03993809c0683f28bd4279342ebb6f \ No newline at end of file diff --git a/docs/API/xran__common_8c_ac5201df2d161091f7319ff2f57432823_icgraph.png b/docs/API/xran__common_8c_ac5201df2d161091f7319ff2f57432823_icgraph.png new file mode 100644 index 0000000..5d71965 Binary files /dev/null and b/docs/API/xran__common_8c_ac5201df2d161091f7319ff2f57432823_icgraph.png differ diff --git a/docs/API/xran__common_8c_acb6ecf7858c99c963182b9b7884deca6_cgraph.map b/docs/API/xran__common_8c_acb6ecf7858c99c963182b9b7884deca6_cgraph.map new file mode 100644 index 0000000..b705775 --- /dev/null +++ b/docs/API/xran__common_8c_acb6ecf7858c99c963182b9b7884deca6_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/xran__common_8c_acb6ecf7858c99c963182b9b7884deca6_cgraph.md5 b/docs/API/xran__common_8c_acb6ecf7858c99c963182b9b7884deca6_cgraph.md5 new file mode 100644 index 0000000..28c139b --- /dev/null +++ b/docs/API/xran__common_8c_acb6ecf7858c99c963182b9b7884deca6_cgraph.md5 @@ -0,0 +1 @@ +e5a0ef5ba1332010e9d124ef4632fcb1 \ No newline at end of file diff --git a/docs/API/xran__common_8c_acb6ecf7858c99c963182b9b7884deca6_cgraph.png b/docs/API/xran__common_8c_acb6ecf7858c99c963182b9b7884deca6_cgraph.png new file mode 100644 index 0000000..3e02eaf Binary files /dev/null and b/docs/API/xran__common_8c_acb6ecf7858c99c963182b9b7884deca6_cgraph.png differ diff --git a/docs/API/xran__common_8c_acb6ecf7858c99c963182b9b7884deca6_icgraph.map b/docs/API/xran__common_8c_acb6ecf7858c99c963182b9b7884deca6_icgraph.map new file mode 100644 index 0000000..769d56d --- /dev/null +++ b/docs/API/xran__common_8c_acb6ecf7858c99c963182b9b7884deca6_icgraph.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/API/xran__common_8c_acb6ecf7858c99c963182b9b7884deca6_icgraph.md5 b/docs/API/xran__common_8c_acb6ecf7858c99c963182b9b7884deca6_icgraph.md5 new file mode 100644 index 0000000..70ef89b --- /dev/null +++ b/docs/API/xran__common_8c_acb6ecf7858c99c963182b9b7884deca6_icgraph.md5 @@ -0,0 +1 @@ +8dbe8354cb366bba3a2cbc9781e2d85e \ No newline at end of file diff --git a/docs/API/xran__common_8c_acb6ecf7858c99c963182b9b7884deca6_icgraph.png b/docs/API/xran__common_8c_acb6ecf7858c99c963182b9b7884deca6_icgraph.png new file mode 100644 index 0000000..0d33481 Binary files /dev/null and b/docs/API/xran__common_8c_acb6ecf7858c99c963182b9b7884deca6_icgraph.png differ diff --git a/docs/API/xran__common_8c_adc9636576fb70f4b4fcfd1d03fe59998_cgraph.map b/docs/API/xran__common_8c_adc9636576fb70f4b4fcfd1d03fe59998_cgraph.map new file mode 100644 index 0000000..69ed89e --- /dev/null +++ b/docs/API/xran__common_8c_adc9636576fb70f4b4fcfd1d03fe59998_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/xran__common_8c_adc9636576fb70f4b4fcfd1d03fe59998_cgraph.md5 b/docs/API/xran__common_8c_adc9636576fb70f4b4fcfd1d03fe59998_cgraph.md5 new file mode 100644 index 0000000..15ac75d --- /dev/null +++ b/docs/API/xran__common_8c_adc9636576fb70f4b4fcfd1d03fe59998_cgraph.md5 @@ -0,0 +1 @@ +d22f7c39a99726954b25c3fb154d8852 \ No newline at end of file diff --git a/docs/API/xran__common_8c_adc9636576fb70f4b4fcfd1d03fe59998_cgraph.png b/docs/API/xran__common_8c_adc9636576fb70f4b4fcfd1d03fe59998_cgraph.png new file mode 100644 index 0000000..1e4833c Binary files /dev/null and b/docs/API/xran__common_8c_adc9636576fb70f4b4fcfd1d03fe59998_cgraph.png differ diff --git a/docs/API/xran__common_8c_adc9636576fb70f4b4fcfd1d03fe59998_icgraph.map b/docs/API/xran__common_8c_adc9636576fb70f4b4fcfd1d03fe59998_icgraph.map new file mode 100644 index 0000000..42bf0ed --- /dev/null +++ b/docs/API/xran__common_8c_adc9636576fb70f4b4fcfd1d03fe59998_icgraph.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/API/xran__common_8c_adc9636576fb70f4b4fcfd1d03fe59998_icgraph.md5 b/docs/API/xran__common_8c_adc9636576fb70f4b4fcfd1d03fe59998_icgraph.md5 new file mode 100644 index 0000000..d5698f2 --- /dev/null +++ b/docs/API/xran__common_8c_adc9636576fb70f4b4fcfd1d03fe59998_icgraph.md5 @@ -0,0 +1 @@ +2094131b327500b8ec1e2e0da17c8cfb \ No newline at end of file diff --git a/docs/API/xran__common_8c_adc9636576fb70f4b4fcfd1d03fe59998_icgraph.png b/docs/API/xran__common_8c_adc9636576fb70f4b4fcfd1d03fe59998_icgraph.png new file mode 100644 index 0000000..0d395fd Binary files /dev/null and b/docs/API/xran__common_8c_adc9636576fb70f4b4fcfd1d03fe59998_icgraph.png differ diff --git a/docs/API/xran__common_8c_aec7f5a73cca88563e12b7e82e7c75b50_cgraph.map b/docs/API/xran__common_8c_aec7f5a73cca88563e12b7e82e7c75b50_cgraph.map new file mode 100644 index 0000000..7e69df2 --- /dev/null +++ b/docs/API/xran__common_8c_aec7f5a73cca88563e12b7e82e7c75b50_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/xran__common_8c_aec7f5a73cca88563e12b7e82e7c75b50_cgraph.md5 b/docs/API/xran__common_8c_aec7f5a73cca88563e12b7e82e7c75b50_cgraph.md5 new file mode 100644 index 0000000..25cc04d --- /dev/null +++ b/docs/API/xran__common_8c_aec7f5a73cca88563e12b7e82e7c75b50_cgraph.md5 @@ -0,0 +1 @@ +ac9bfb84e23f90ad0ebaa88dbaefef83 \ No newline at end of file diff --git a/docs/API/xran__common_8c_aec7f5a73cca88563e12b7e82e7c75b50_cgraph.png b/docs/API/xran__common_8c_aec7f5a73cca88563e12b7e82e7c75b50_cgraph.png new file mode 100644 index 0000000..aacd7e6 Binary files /dev/null and b/docs/API/xran__common_8c_aec7f5a73cca88563e12b7e82e7c75b50_cgraph.png differ diff --git a/docs/API/xran__common_8c_aec7f5a73cca88563e12b7e82e7c75b50_icgraph.map b/docs/API/xran__common_8c_aec7f5a73cca88563e12b7e82e7c75b50_icgraph.map new file mode 100644 index 0000000..4dd1d0d --- /dev/null +++ b/docs/API/xran__common_8c_aec7f5a73cca88563e12b7e82e7c75b50_icgraph.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/API/xran__common_8c_aec7f5a73cca88563e12b7e82e7c75b50_icgraph.md5 b/docs/API/xran__common_8c_aec7f5a73cca88563e12b7e82e7c75b50_icgraph.md5 new file mode 100644 index 0000000..b234c9d --- /dev/null +++ b/docs/API/xran__common_8c_aec7f5a73cca88563e12b7e82e7c75b50_icgraph.md5 @@ -0,0 +1 @@ +b2b4614ddfae7eb1d6dbb8df4f4cdae8 \ No newline at end of file diff --git a/docs/API/xran__common_8c_aec7f5a73cca88563e12b7e82e7c75b50_icgraph.png b/docs/API/xran__common_8c_aec7f5a73cca88563e12b7e82e7c75b50_icgraph.png new file mode 100644 index 0000000..8607bdd Binary files /dev/null and b/docs/API/xran__common_8c_aec7f5a73cca88563e12b7e82e7c75b50_icgraph.png differ diff --git a/docs/API/xran__common_8c_source.html b/docs/API/xran__common_8c_source.html new file mode 100644 index 0000000..e656ea3 --- /dev/null +++ b/docs/API/xran__common_8c_source.html @@ -0,0 +1,260 @@ + + + + + + + +o-du/phy: xran_common.c Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    xran_common.c
    +
    +
    +Go to the documentation of this file.
    1 /******************************************************************************
    2 *
    3 * Copyright (c) 2019 Intel.
    4 *
    5 * Licensed under the Apache License, Version 2.0 (the "License");
    6 * you may not use this file except in compliance with the License.
    7 * You may obtain a copy of the License at
    8 *
    9 * http://www.apache.org/licenses/LICENSE-2.0
    10 *
    11 * Unless required by applicable law or agreed to in writing, software
    12 * distributed under the License is distributed on an "AS IS" BASIS,
    13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    14 * See the License for the specific language governing permissions and
    15 * limitations under the License.
    16 *
    17 *******************************************************************************/
    18 
    27 #include <assert.h>
    28 #include <err.h>
    29 #include <arpa/inet.h>
    30 #include <sys/time.h>
    31 #include <time.h>
    32 
    33 #include "xran_common.h"
    34 #include "ethdi.h"
    35 #include "xran_pkt.h"
    36 #include "xran_pkt_up.h"
    37 #include "xran_up_api.h"
    38 #include "xran_lib_mlog_tasks_id.h"
    39 
    40 #include "../src/xran_printf.h"
    41 #include <rte_mbuf.h>
    42 #include "xran_mlog_lnx.h"
    43 
    44 #define MBUFS_CNT 16
    45 
    46 extern long interval_us;
    47 
    48 extern int xran_process_rx_sym(void *arg,
    49  struct rte_mbuf *mbuf,
    50  void *iq_data_start,
    51  uint16_t size,
    52  uint8_t CC_ID,
    53  uint8_t Ant_ID,
    54  uint8_t frame_id,
    55  uint8_t subframe_id,
    56  uint8_t slot_id,
    57  uint8_t symb_id,
    58  uint16_t num_prbu,
    59  uint16_t start_prbu,
    60  uint16_t sym_inc,
    61  uint16_t rb,
    62  uint16_t sect_id,
    63  uint32_t *mb_free);
    64 
    65 
    66 extern int xran_process_prach_sym(void *arg,
    67  struct rte_mbuf *mbuf,
    68  void *iq_data_start,
    69  uint16_t size,
    70  uint8_t CC_ID,
    71  uint8_t Ant_ID,
    72  uint8_t frame_id,
    73  uint8_t subframe_id,
    74  uint8_t slot_id,
    75  uint8_t symb_id,
    76  uint16_t num_prbu,
    77  uint16_t start_prbu,
    78  uint16_t sym_inc,
    79  uint16_t rb,
    80  uint16_t sect_id,
    81  uint32_t *mb_free);
    82 
    83 extern int32_t xran_process_srs_sym(void *arg,
    84  struct rte_mbuf *mbuf,
    85  void *iq_data_start,
    86  uint16_t size,
    87  uint8_t CC_ID,
    88  uint8_t Ant_ID,
    89  uint8_t frame_id,
    90  uint8_t subframe_id,
    91  uint8_t slot_id,
    92  uint8_t symb_id,
    93  uint16_t num_prbu,
    94  uint16_t start_prbu,
    95  uint16_t sym_inc,
    96  uint16_t rb,
    97  uint16_t sect_id,
    98  uint32_t *mb_free);
    99 
    100 extern int32_t xran_pkt_validate(void *arg,
    101  struct rte_mbuf *mbuf,
    102  void *iq_data_start,
    103  uint16_t size,
    104  uint8_t CC_ID,
    105  uint8_t Ant_ID,
    106  uint8_t frame_id,
    107  uint8_t subframe_id,
    108  uint8_t slot_id,
    109  uint8_t symb_id,
    110  struct ecpri_seq_id *seq_id,
    111  uint16_t num_prbu,
    112  uint16_t start_prbu,
    113  uint16_t sym_inc,
    114  uint16_t rb,
    115  uint16_t sect_id);
    116 
    117 long rx_counter = 0;
    118 long tx_counter = 0;
    123 
    124 
    125 struct cb_elem_entry *xran_create_cb(XranSymCallbackFn cb_fn, void *cb_data)
    126 {
    127  struct cb_elem_entry * cb_elm = (struct cb_elem_entry *)malloc(sizeof(struct cb_elem_entry));
    128  if(cb_elm){
    129  cb_elm->pSymCallback = cb_fn;
    130  cb_elm->pSymCallbackTag = cb_data;
    131  }
    132 
    133  return cb_elm;
    134 }
    135 
    136 int xran_destroy_cb(struct cb_elem_entry * cb_elm)
    137 {
    138  if(cb_elm)
    139  free(cb_elm);
    140  return 0;
    141 }
    142 
    143 int process_mbuf(struct rte_mbuf *pkt)
    144 {
    145  void *iq_samp_buf;
    146  struct ecpri_seq_id seq;
    147  static int symbol_total_bytes = 0;
    148  int num_bytes = 0;
    149  struct xran_device_ctx * p_x_ctx = xran_dev_get_ctx();
    150 
    151  uint8_t CC_ID = 0;
    152  uint8_t Ant_ID = 0;
    153  uint8_t frame_id = 0;
    154  uint8_t subframe_id = 0;
    155  uint8_t slot_id = 0;
    156  uint8_t symb_id = 0;
    157 
    158  uint16_t num_prbu;
    159  uint16_t start_prbu;
    160  uint16_t sym_inc;
    161  uint16_t rb;
    162  uint16_t sect_id;
    163 
    164  uint8_t compMeth = 0;
    165  uint8_t iqWidth = 0;
    166 
    167  void *pHandle = NULL;
    168  uint8_t num_eAxc = xran_get_num_eAxc(pHandle);
    169  int ret = MBUF_FREE;
    170  uint32_t mb_free = 0;
    171  int32_t valid_res = 0;
    172  int expect_comp = (p_x_ctx->fh_cfg.ru_conf.compMeth != XRAN_COMPMETHOD_NONE);
    173 
    174 
    175  if(p_x_ctx->xran2phy_mem_ready == 0)
    176  return MBUF_FREE;
    177 
    178  num_bytes = xran_extract_iq_samples(pkt,
    179  &iq_samp_buf,
    180  &CC_ID,
    181  &Ant_ID,
    182  &frame_id,
    183  &subframe_id,
    184  &slot_id,
    185  &symb_id,
    186  &seq,
    187  &num_prbu,
    188  &start_prbu,
    189  &sym_inc,
    190  &rb,
    191  &sect_id,
    192  expect_comp,
    193  &compMeth,
    194  &iqWidth);
    195  if (num_bytes <= 0){
    196  print_err("num_bytes is wrong [%d]\n", num_bytes);
    197  return MBUF_FREE;
    198  }
    199 
    200  valid_res = xran_pkt_validate(NULL,
    201  pkt,
    202  iq_samp_buf,
    203  num_bytes,
    204  CC_ID,
    205  Ant_ID,
    206  frame_id,
    207  subframe_id,
    208  slot_id,
    209  symb_id,
    210  &seq,
    211  num_prbu,
    212  start_prbu,
    213  sym_inc,
    214  rb,
    215  sect_id);
    216 
    217  if(valid_res != 0) {
    218  print_err("valid_res is wrong [%d] ant %u (%u : %u : %u : %u) seq %u num_bytes %d\n", valid_res, Ant_ID, frame_id, subframe_id, slot_id, symb_id, seq.seq_id, num_bytes);
    219  return MBUF_FREE;
    220  }
    221 
    222  if (Ant_ID >= p_x_ctx->srs_cfg.eAxC_offset && p_x_ctx->fh_init.srsEnable) {
    223  /* SRS packet has ruportid = 2*num_eAxc + ant_id */
    224  Ant_ID -= p_x_ctx->srs_cfg.eAxC_offset;
    225  symbol_total_bytes += num_bytes;
    226 
    227  if (seq.e_bit == 1) {
    228  print_dbg("Completed receiving symbol %d, size=%d bytes\n",
    229  symb_id, symbol_total_bytes);
    230 
    231  if (symbol_total_bytes) {
    232  int16_t res = xran_process_srs_sym(NULL,
    233  pkt,
    234  iq_samp_buf,
    235  num_bytes,
    236  CC_ID,
    237  Ant_ID,
    238  frame_id,
    239  subframe_id,
    240  slot_id,
    241  symb_id,
    242  num_prbu,
    243  start_prbu,
    244  sym_inc,
    245  rb,
    246  sect_id,
    247  &mb_free);
    248 
    249  if(res == symbol_total_bytes) {
    250  ret = mb_free;
    251  } else {
    252  print_err("res != symbol_total_bytes\n");
    253  }
    254  }
    255  symbol_total_bytes = 0;
    256  }
    257  else {
    258  print_dbg("Transport layer fragmentation (eCPRI) is not supported\n");
    259  }
    260 
    261  } else if (Ant_ID >= p_x_ctx->PrachCPConfig.eAxC_offset && p_x_ctx->fh_init.prachEnable) {
    262  /* PRACH packet has ruportid = num_eAxc + ant_id */
    263  Ant_ID -= p_x_ctx->PrachCPConfig.eAxC_offset;
    264  symbol_total_bytes += num_bytes;
    265  if (seq.e_bit == 1) {
    266  print_dbg("Completed receiving PRACH symbol %d, size=%d bytes\n",
    267  symb_id, num_bytes);
    268 
    269  if (symbol_total_bytes) {
    270  int16_t res = xran_process_prach_sym(NULL,
    271  pkt,
    272  iq_samp_buf,
    273  num_bytes,
    274  CC_ID,
    275  Ant_ID,
    276  frame_id,
    277  subframe_id,
    278  slot_id,
    279  symb_id,
    280  num_prbu,
    281  start_prbu,
    282  sym_inc,
    283  rb,
    284  sect_id,
    285  &mb_free);
    286  if(res == symbol_total_bytes) {
    287  ret = mb_free;
    288  } else {
    289  print_err("res != symbol_total_bytes\n");
    290  }
    291  }
    292  symbol_total_bytes = 0;
    293  } else {
    294  print_dbg("Transport layer fragmentation (eCPRI) is not supported\n");
    295  }
    296 
    297  } else { /* PUSCH */
    298  symbol_total_bytes += num_bytes;
    299 
    300  if (seq.e_bit == 1) {
    301  print_dbg("Completed receiving symbol %d, size=%d bytes\n",
    302  symb_id, symbol_total_bytes);
    303 
    304  if (symbol_total_bytes) {
    305  int res = xran_process_rx_sym(NULL,
    306  pkt,
    307  iq_samp_buf,
    308  symbol_total_bytes,
    309  CC_ID,
    310  Ant_ID,
    311  frame_id,
    312  subframe_id,
    313  slot_id,
    314  symb_id,
    315  num_prbu,
    316  start_prbu,
    317  sym_inc,
    318  rb,
    319  sect_id,
    320  &mb_free);
    321  if(res == symbol_total_bytes) {
    322  ret = mb_free;
    323  } else {
    324  print_err("res != symbol_total_bytes\n");
    325  }
    326  }
    327  symbol_total_bytes = 0;
    328  } else {
    329  print_dbg("Transport layer fragmentation (eCPRI) is not supported\n");
    330  }
    331  }
    332 
    333  return ret;
    334 }
    335 
    336 static int set_iq_bit_width(uint8_t iq_bit_width, struct data_section_compression_hdr *compr_hdr)
    337 {
    338  if (iq_bit_width == MAX_IQ_BIT_WIDTH)
    339  compr_hdr->ud_comp_hdr.ud_iq_width = (uint8_t) 0;
    340  else
    341  compr_hdr->ud_comp_hdr.ud_iq_width = iq_bit_width;
    342 
    343  return 0;
    344 
    345 }
    346 
    347 /* Send a single 5G symbol over multiple packets */
    348 int32_t prepare_symbol_ex(enum xran_pkt_dir direction,
    349  uint16_t section_id,
    350  struct rte_mbuf *mb,
    351  struct rb_map *data,
    352  uint8_t compMeth,
    353  uint8_t iqWidth,
    354  const enum xran_input_byte_order iq_buf_byte_order,
    355  uint8_t frame_id,
    356  uint8_t subframe_id,
    357  uint8_t slot_id,
    358  uint8_t symbol_no,
    359  int prb_start,
    360  int prb_num,
    361  uint8_t CC_ID,
    362  uint8_t RU_Port_ID,
    363  uint8_t seq_id,
    364  uint32_t do_copy)
    365 {
    366  int32_t n_bytes = ((prb_num == 0) ? MAX_N_FULLBAND_SC : prb_num) * N_SC_PER_PRB * sizeof(struct rb_map);
    367 
    368  n_bytes = ((iqWidth == 0) || (iqWidth == 16)) ? n_bytes : ((3 * iqWidth + 1 ) * prb_num);
    369 
    370  int32_t prep_bytes;
    371 
    372  int16_t nPktSize = sizeof(struct ether_hdr) + sizeof(struct xran_ecpri_hdr) +
    373  sizeof(struct radio_app_common_hdr)+ sizeof(struct data_section_hdr) + n_bytes;
    374  uint32_t off;
    375  struct xran_up_pkt_gen_params xp = { 0 };
    376 
    377  if(compMeth != XRAN_COMPMETHOD_NONE)
    378  nPktSize += sizeof(struct data_section_compression_hdr);
    379 
    380  n_bytes = RTE_MIN(n_bytes, XRAN_MAX_MBUF_LEN);
    381 
    382  /* radio app header */
    383  xp.app_params.data_direction = direction;
    384  xp.app_params.payl_ver = 1;
    385  xp.app_params.filter_id = 0;
    386  xp.app_params.frame_id = frame_id;
    387  xp.app_params.sf_slot_sym.subframe_id = subframe_id;
    388  xp.app_params.sf_slot_sym.slot_id = slot_id;
    389  xp.app_params.sf_slot_sym.symb_id = symbol_no;
    390 
    391  /* convert to network byte order */
    392  xp.app_params.sf_slot_sym.value = rte_cpu_to_be_16(xp.app_params.sf_slot_sym.value);
    393 
    394  xp.sec_hdr.fields.sect_id = section_id;
    395  xp.sec_hdr.fields.num_prbu = (uint8_t)prb_num;
    396  xp.sec_hdr.fields.start_prbu = (uint8_t)prb_start;
    397  xp.sec_hdr.fields.sym_inc = 0;
    398  xp.sec_hdr.fields.rb = 0;
    399 
    400  /* compression */
    403  xp.compr_hdr_param.rsrvd = 0;
    404 
    405  /* network byte order */
    406  xp.sec_hdr.fields.all_bits = rte_cpu_to_be_32(xp.sec_hdr.fields.all_bits);
    407 
    408  if (mb == NULL){
    409  MLogPrint(NULL);
    410  errx(1, "out of mbufs after %d packets", 1);
    411  }
    412 
    413  prep_bytes = xran_prepare_iq_symbol_portion(mb,
    414  data,
    415  iq_buf_byte_order,
    416  n_bytes,
    417  &xp,
    418  CC_ID,
    419  RU_Port_ID,
    420  seq_id,
    421  do_copy);
    422  if (prep_bytes <= 0)
    423  errx(1, "failed preparing symbol");
    424 
    425  rte_pktmbuf_pkt_len(mb) = nPktSize;
    426  rte_pktmbuf_data_len(mb) = nPktSize;
    427 
    428 #ifdef DEBUG
    429  printf("Symbol %2d prep_bytes (%d packets, %d bytes)\n", symbol_no, i, n_bytes);
    430 #endif
    431 
    432  return prep_bytes;
    433 }
    434 
    435 /* Send a single 5G symbol over multiple packets */
    436 int send_symbol_ex(enum xran_pkt_dir direction,
    437  uint16_t section_id,
    438  struct rte_mbuf *mb,
    439  struct rb_map *data,
    440  const enum xran_input_byte_order iq_buf_byte_order,
    441  uint8_t frame_id,
    442  uint8_t subframe_id,
    443  uint8_t slot_id,
    444  uint8_t symbol_no,
    445  int prb_start,
    446  int prb_num,
    447  uint8_t CC_ID,
    448  uint8_t RU_Port_ID,
    449  uint8_t seq_id)
    450 {
    451  uint32_t do_copy = 0;
    452  int32_t n_bytes = ((prb_num == 0) ? MAX_N_FULLBAND_SC : prb_num) * N_SC_PER_PRB * sizeof(struct rb_map);
    453  struct xran_device_ctx *p_x_ctx = xran_dev_get_ctx();
    454 
    455  if (mb == NULL){
    456  char * pChar = NULL;
    457  mb = xran_ethdi_mbuf_alloc(); /* will be freede by ETH */
    458  if(mb == NULL){
    459  MLogPrint(NULL);
    460  errx(1, "out of mbufs after %d packets", 1);
    461  }
    462  pChar = rte_pktmbuf_append(mb, sizeof(struct xran_ecpri_hdr)+ sizeof(struct radio_app_common_hdr)+ sizeof(struct data_section_hdr) + n_bytes);
    463  if(pChar == NULL){
    464  MLogPrint(NULL);
    465  errx(1, "incorrect mbuf size %d packets", 1);
    466  }
    467  pChar = rte_pktmbuf_prepend(mb, sizeof(struct ether_hdr));
    468  if(pChar == NULL){
    469  MLogPrint(NULL);
    470  errx(1, "incorrect mbuf size %d packets", 1);
    471  }
    472  do_copy = 1; /* new mbuf hence copy of IQs */
    473  }else {
    474  rte_pktmbuf_refcnt_update(mb, 1); /* make sure eth won't free our mbuf */
    475  }
    476 
    477  int32_t sent = prepare_symbol_ex(direction,
    478  section_id,
    479  mb,
    480  data,
    481  0,
    482  16,
    483  iq_buf_byte_order,
    484  frame_id,
    485  subframe_id,
    486  slot_id,
    487  symbol_no,
    488  prb_start,
    489  prb_num,
    490  CC_ID,
    491  RU_Port_ID,
    492  seq_id,
    493  do_copy);
    494 
    495  if(sent){
    496  tx_counter++;
    497  tx_bytes_counter += rte_pktmbuf_pkt_len(mb);
    498  p_x_ctx->send_upmbuf2ring(mb, ETHER_TYPE_ECPRI);
    499  } else {
    500 
    501  }
    502 
    503 #ifdef DEBUG
    504  printf("Symbol %2d sent (%d packets, %d bytes)\n", symbol_no, i, n_bytes);
    505 #endif
    506 
    507  return sent;
    508 }
    509 
    510 int send_cpmsg(void *pHandle, struct rte_mbuf *mbuf,struct xran_cp_gen_params *params,
    511  struct xran_section_gen_info *sect_geninfo, uint8_t cc_id, uint8_t ru_port_id, uint8_t seq_id)
    512 {
    513  int ret = 0, nsection, i;
    514  uint8_t frame_id = params->hdr.frameId;
    515  uint8_t subframe_id = params->hdr.subframeId;
    516  uint8_t slot_id = params->hdr.slotId;
    517  uint8_t dir = params->dir;
    518  struct xran_device_ctx *p_x_ctx = xran_dev_get_ctx();
    519 
    520  nsection = params->numSections;
    521 
    522  /* add in the ethernet header */
    523  struct ether_hdr *const h = (void *)rte_pktmbuf_prepend(mbuf, sizeof(*h));
    524  tx_counter++;
    525  tx_bytes_counter += rte_pktmbuf_pkt_len(mbuf);
    526  p_x_ctx->send_cpmbuf2ring(mbuf, ETHER_TYPE_ECPRI);
    527  for(i=0; i<nsection; i++)
    528  xran_cp_add_section_info(pHandle, dir, cc_id, ru_port_id,
    529  (slot_id + subframe_id*SLOTNUM_PER_SUBFRAME)%XRAN_MAX_SECTIONDB_CTX,
    530  &sect_geninfo[i].info);
    531 
    532  return (ret);
    533 }
    534 
    535 int generate_cpmsg_dlul(void *pHandle, struct xran_cp_gen_params *params, struct xran_section_gen_info *sect_geninfo, struct rte_mbuf *mbuf,
    536  enum xran_pkt_dir dir, uint8_t frame_id, uint8_t subframe_id, uint8_t slot_id,
    537  uint8_t startsym, uint8_t numsym, uint16_t prb_start, uint16_t prb_num,int16_t iq_buffer_offset, int16_t iq_buffer_len,
    538  uint16_t beam_id, uint8_t cc_id, uint8_t ru_port_id, uint8_t comp_method, uint8_t iqWidth, uint8_t seq_id, uint8_t symInc)
    539 {
    540  int ret = 0, nsection, i, loc_sym;
    541 
    542 
    543  params->dir = dir;
    544  params->sectionType = XRAN_CP_SECTIONTYPE_1; // Most DL/UL Radio Channels
    546  params->hdr.frameId = frame_id;
    547  params->hdr.subframeId = subframe_id;
    548  params->hdr.slotId = slot_id;
    549  params->hdr.startSymId = startsym; // start Symbol ID
    550  params->hdr.iqWidth = iqWidth;
    551  params->hdr.compMeth = comp_method;
    552 
    553  nsection = 0;
    554  sect_geninfo[nsection].info.type = params->sectionType; // for database
    555  sect_geninfo[nsection].info.startSymId = params->hdr.startSymId; // for database
    556  sect_geninfo[nsection].info.iqWidth = params->hdr.iqWidth; // for database
    557  sect_geninfo[nsection].info.compMeth = params->hdr.compMeth; // for database
    558  sect_geninfo[nsection].info.id = xran_alloc_sectionid(pHandle, dir, cc_id, ru_port_id, slot_id);
    559  sect_geninfo[nsection].info.rb = XRAN_RBIND_EVERY;
    560  sect_geninfo[nsection].info.symInc = symInc;
    561  sect_geninfo[nsection].info.startPrbc = prb_start;
    562  sect_geninfo[nsection].info.numPrbc = prb_num;
    563  sect_geninfo[nsection].info.numSymbol = numsym;
    564  sect_geninfo[nsection].info.reMask = 0xfff;
    565  sect_geninfo[nsection].info.beamId = beam_id;
    566 
    567  for (loc_sym = 0; loc_sym < XRAN_NUM_OF_SYMBOL_PER_SLOT; loc_sym++) {
    568  sect_geninfo[0].info.sec_desc[loc_sym].iq_buffer_offset = iq_buffer_offset;
    569  sect_geninfo[0].info.sec_desc[loc_sym].iq_buffer_len = iq_buffer_len;
    570  }
    571 
    572  sect_geninfo[nsection].info.ef = 0;
    573  sect_geninfo[nsection].exDataSize = 0;
    574 // sect_geninfo[nsection].exData = NULL;
    575  nsection++;
    576 
    577  params->numSections = nsection;
    578  params->sections = sect_geninfo;
    579 
    580  if(unlikely(mbuf == NULL)) {
    581  print_err("Alloc fail!\n");
    582  return (-1);
    583  }
    584 
    585  ret = xran_prepare_ctrl_pkt(mbuf, params, cc_id, ru_port_id, seq_id);
    586  if(ret < 0){
    587  print_err("Fail to build control plane packet - [%d:%d:%d] dir=%d\n",
    588  frame_id, subframe_id, slot_id, dir);
    589  rte_pktmbuf_free(mbuf);
    590  }
    591 
    592  return (ret);
    593 }
    594 
    595 int generate_cpmsg_prach(void *pHandle, struct xran_cp_gen_params *params, struct xran_section_gen_info *sect_geninfo, struct rte_mbuf *mbuf, struct xran_device_ctx *pxran_lib_ctx,
    596  uint8_t frame_id, uint8_t subframe_id, uint8_t slot_id,
    597  uint16_t beam_id, uint8_t cc_id, uint8_t prach_port_id, uint8_t seq_id)
    598 {
    599  int i, nsection, ret;
    600  struct xran_prach_cp_config *pPrachCPConfig = &(pxran_lib_ctx->PrachCPConfig);
    601  uint16_t timeOffset;
    602  uint16_t nNumerology = pxran_lib_ctx->fh_cfg.frame_conf.nNumerology;
    603 
    604  if(unlikely(mbuf == NULL)) {
    605  print_err("Alloc fail!\n");
    606  return (-1);
    607  }
    608 #if 0
    609  printf("%d:%d:%d:%d - filter=%d, startSym=%d[%d:%d], numSym=%d, occasions=%d, freqOff=%d\n",
    610  frame_id, subframe_id, slot_id, prach_port_id,
    611  pPrachCPConfig->filterIdx,
    612  pPrachCPConfig->startSymId,
    613  pPrachCPConfig->startPrbc,
    614  pPrachCPConfig->numPrbc,
    615  pPrachCPConfig->numSymbol,
    616  pPrachCPConfig->occassionsInPrachSlot,
    617  pPrachCPConfig->freqOffset);
    618 #endif
    619  timeOffset = pPrachCPConfig->timeOffset; //this is the CP value per 38.211 tab 6.3.3.1-1&2
    620  timeOffset = timeOffset >> nNumerology; //original number is Tc, convert to Ts based on mu
    621  if (pPrachCPConfig->startSymId > 0)
    622  {
    623  timeOffset += (pPrachCPConfig->startSymId * 2048) >> nNumerology;
    624  if ((slot_id == 0) || (slot_id == (SLOTNUM_PER_SUBFRAME >> 1)))
    625  timeOffset += 16;
    626  }
    627  params->dir = XRAN_DIR_UL;
    629  params->hdr.filterIdx = pPrachCPConfig->filterIdx;
    630  params->hdr.frameId = frame_id;
    631  params->hdr.subframeId = subframe_id;
    632  params->hdr.slotId = slot_id;
    633  params->hdr.startSymId = pPrachCPConfig->startSymId;
    634  params->hdr.iqWidth = xran_get_conf_iqwidth(pHandle);
    635  params->hdr.compMeth = xran_get_conf_compmethod(pHandle);
    636  /* use timeOffset field for the CP length value for prach sequence */
    637  params->hdr.timeOffset = timeOffset;
    638  params->hdr.fftSize = xran_get_conf_fftsize(pHandle);
    639  params->hdr.scs = xran_get_conf_prach_scs(pHandle);
    640  params->hdr.cpLength = 0;
    641 
    642  nsection = 0;
    643  sect_geninfo[nsection].info.type = params->sectionType; // for database
    644  sect_geninfo[nsection].info.startSymId = params->hdr.startSymId; // for database
    645  sect_geninfo[nsection].info.iqWidth = params->hdr.iqWidth; // for database
    646  sect_geninfo[nsection].info.compMeth = params->hdr.compMeth; // for database
    647  sect_geninfo[nsection].info.id = xran_alloc_sectionid(pHandle, XRAN_DIR_UL, cc_id, prach_port_id, slot_id);
    648  sect_geninfo[nsection].info.rb = XRAN_RBIND_EVERY;
    649  sect_geninfo[nsection].info.symInc = XRAN_SYMBOLNUMBER_NOTINC;
    650  sect_geninfo[nsection].info.startPrbc = pPrachCPConfig->startPrbc;
    651  sect_geninfo[nsection].info.numPrbc = pPrachCPConfig->numPrbc,
    652  sect_geninfo[nsection].info.numSymbol = pPrachCPConfig->numSymbol*pPrachCPConfig->occassionsInPrachSlot;
    653  sect_geninfo[nsection].info.reMask = 0xfff;
    654  sect_geninfo[nsection].info.beamId = beam_id;
    655  sect_geninfo[nsection].info.freqOffset = pPrachCPConfig->freqOffset;
    656 
    657  pxran_lib_ctx->prach_last_symbol[cc_id] = sect_geninfo[nsection].info.startSymId + sect_geninfo[nsection].info.numSymbol - 1;
    658 
    659  sect_geninfo[nsection].info.ef = 0;
    660  sect_geninfo[nsection].exDataSize = 0;
    661 // sect_geninfo[nsection].exData = NULL;
    662  nsection++;
    663 
    664  params->numSections = nsection;
    665  params->sections = sect_geninfo;
    666 
    667  ret = xran_prepare_ctrl_pkt(mbuf, params, cc_id, prach_port_id, seq_id);
    668  if(ret < 0){
    669  print_err("Fail to build prach control packet - [%d:%d:%d]\n", frame_id, subframe_id, slot_id);
    670  rte_pktmbuf_free(mbuf);
    671  }
    672  return ret;
    673 }
    674 
    675 
    676 int process_ring(struct rte_ring *r)
    677 {
    678  assert(r);
    679 
    680  struct rte_mbuf *mbufs[MBUFS_CNT];
    681  int i;
    682  uint32_t remaining;
    683  uint64_t t1;
    684  const uint16_t dequeued = rte_ring_dequeue_burst(r, (void **)mbufs,
    685  RTE_DIM(mbufs), &remaining);
    686 
    687  if (!dequeued)
    688  return 0;
    689 
    690  t1 = MLogTick();
    691  for (i = 0; i < dequeued; ++i) {
    692  if (xran_ethdi_filter_packet(mbufs[i], 0) == MBUF_FREE)
    693  rte_pktmbuf_free(mbufs[i]);
    694  }
    696 
    697  return remaining;
    698 }
    699 
    700 int32_t ring_processing_func(void)
    701 {
    702  struct xran_ethdi_ctx *const ctx = xran_ethdi_get_ctx();
    703  struct xran_device_ctx *const pxran_lib_ctx = xran_dev_get_ctx();
    704  int16_t retPoll = 0;
    705  uint64_t t1, t2;
    706 
    707  rte_timer_manage();
    708 
    709  /* UP first */
    710  if (process_ring(ctx->rx_ring[ETHDI_UP_VF]))
    711  return 0;
    712  /* CP next */
    713  if (process_ring(ctx->rx_ring[ETHDI_CP_VF]))
    714  return 0;
    715 
    716  if (pxran_lib_ctx->bbdev_dec) {
    717  t1 = MLogTick();
    718  retPoll = pxran_lib_ctx->bbdev_dec();
    719  if (retPoll != -1)
    720  {
    721  t2 = MLogTick();
    722  MLogTask(PID_XRAN_BBDEV_UL_POLL + retPoll, t1, t2);
    723  }
    724  }
    725 
    726  if (pxran_lib_ctx->bbdev_enc) {
    727  t1 = MLogTick();
    728  retPoll = pxran_lib_ctx->bbdev_enc();
    729  if (retPoll != -1)
    730  {
    731  t2 = MLogTick();
    732  MLogTask(PID_XRAN_BBDEV_DL_POLL + retPoll, t1, t2);
    733  }
    734  }
    735 
    737  return -1;
    738 
    739  return 0;
    740 }
    741 
    742 int ring_processing_thread(void *args)
    743 {
    744  struct sched_param sched_param;
    745  int res = 0;
    746 
    747  printf("%s [CPU %2d] [PID: %6d]\n", __FUNCTION__, rte_lcore_id(), getpid());
    748  sched_param.sched_priority = XRAN_THREAD_DEFAULT_PRIO;
    749  if ((res = pthread_setschedparam(pthread_self(), SCHED_FIFO, &sched_param))){
    750  printf("priority is not changed: coreId = %d, result1 = %d\n",rte_lcore_id(), res);
    751  }
    752 
    753  for (;;)
    754  if(ring_processing_func() != 0)
    755  break;
    756 
    757  puts("Pkt processing thread finished.");
    758  return 0;
    759 }
    760 
    int xran_cp_add_section_info(void *pHandle, uint8_t dir, uint8_t cc_id, uint8_t ruport_id, uint8_t ctx_id, struct xran_section_info *info)
    Add a section information of C-Plane to dabase.
    Definition: xran_cp_api.c:160
    +
    int generate_cpmsg_prach(void *pHandle, struct xran_cp_gen_params *params, struct xran_section_gen_info *sect_geninfo, struct rte_mbuf *mbuf, struct xran_device_ctx *pxran_lib_ctx, uint8_t frame_id, uint8_t subframe_id, uint8_t slot_id, uint16_t beam_id, uint8_t cc_id, uint8_t prach_port_id, uint8_t seq_id)
    Definition: xran_common.c:595
    +
    uint8_t data_direction
    Definition: xran_pkt.h:173
    + + + +
    #define MAX_N_FULLBAND_SC
    Definition: xran_common.h:51
    +
    uint16_t xran_alloc_sectionid(void *pHandle, uint8_t dir, uint8_t cc_id, uint8_t ant_id, uint8_t slot_id)
    Definition: xran_main.c:379
    +
    #define N_SC_PER_PRB
    Definition: common.h:49
    +
    uint8_t xran_get_conf_fftsize(void *pHandle)
    Get the configuration of FFT size for RU.
    Definition: xran_main.c:2985
    +
    struct rte_mbuf * xran_ethdi_mbuf_alloc(void)
    Definition: ethdi.c:77
    +
    uint8_t xran_get_num_eAxc(void *pHandle)
    Get the configuration of the number of antenna for UL.
    Definition: xran_main.c:3039
    +
    xran_pkt_dir
    Definition: xran_pkt.h:146
    +
    uint32_t sym_inc
    Definition: xran_pkt_up.h:73
    +
    int prach_last_symbol[XRAN_MAX_SECTOR_NR]
    Definition: xran_common.h:263
    + +
    uint32_t rb
    Definition: xran_pkt_cp.h:243
    +
    struct xran_srs_config srs_cfg
    Definition: xran_common.h:220
    + +
    long rx_bytes_per_sec
    Definition: xran_common.c:122
    +
    #define ETHER_TYPE_ECPRI
    Definition: ethernet.h:42
    +
    #define print_dbg(fmt, args...)
    Definition: xran_printf.h:54
    + +
    uint8_t eAxC_offset
    Definition: xran_fh_o_du.h:449
    + + +
    struct radio_app_common_hdr app_params
    Definition: xran_up_api.h:47
    +
    enum xran_if_state xran_if_current_state
    Definition: ethdi.c:75
    + +
    uint8_t seq_id
    Definition: xran_pkt.h:99
    +
    int32_t ring_processing_func(void)
    Definition: xran_common.c:700
    + +
    struct cb_elem_entry * xran_create_cb(XranSymCallbackFn cb_fn, void *cb_data)
    Definition: xran_common.c:125
    + + +
    #define MAX_IQ_BIT_WIDTH
    Definition: xran_pkt_up.h:47
    +
    uint8_t prachEnable
    Definition: xran_fh_o_du.h:357
    +
    uint8_t srsEnable
    Definition: xran_fh_o_du.h:358
    +
    xran_ethdi_mbuf_send_fn send_upmbuf2ring
    Definition: xran_common.h:277
    +
    int xran_process_prach_sym(void *arg, struct rte_mbuf *mbuf, void *iq_data_start, uint16_t size, uint8_t CC_ID, uint8_t Ant_ID, uint8_t frame_id, uint8_t subframe_id, uint8_t slot_id, uint8_t symb_id, uint16_t num_prbu, uint16_t start_prbu, uint16_t sym_inc, uint16_t rb, uint16_t sect_id, uint32_t *mb_free)
    Definition: xran_main.c:1384
    +
    uint32_t symInc
    Definition: xran_pkt_cp.h:242
    +
    int xran_process_rx_sym(void *arg, struct rte_mbuf *mbuf, void *iq_data_start, uint16_t size, uint8_t CC_ID, uint8_t Ant_ID, uint8_t frame_id, uint8_t subframe_id, uint8_t slot_id, uint8_t symb_id, uint16_t num_prbu, uint16_t start_prbu, uint16_t sym_inc, uint16_t rb, uint16_t sect_id, uint32_t *mb_free)
    Definition: xran_main.c:1578
    + +
    union radio_app_common_hdr::@5 sf_slot_sym
    + + + + +
    struct xran_section_info info
    Definition: xran_cp_api.h:296
    +
    long tx_bytes_per_sec
    Definition: xran_common.c:121
    +
    xran_ethdi_mbuf_send_fn send_cpmbuf2ring
    Definition: xran_common.h:276
    + +
    struct compression_hdr ud_comp_hdr
    Definition: xran_pkt_up.h:92
    + +
    int send_cpmsg(void *pHandle, struct rte_mbuf *mbuf, struct xran_cp_gen_params *params, struct xran_section_gen_info *sect_geninfo, uint8_t cc_id, uint8_t ru_port_id, uint8_t seq_id)
    Definition: xran_common.c:510
    + + + +
    int xran_ethdi_filter_packet(struct rte_mbuf *pkt, uint64_t rx_time)
    Definition: ethdi.c:156
    +
    #define XRAN_MAX_SECTIONDB_CTX
    Definition: xran_cp_api.h:40
    + + + +
    uint8_t xran_get_conf_prach_scs(void *pHandle)
    Get the configuration of subcarrier spacing for PRACH.
    Definition: xran_main.c:2975
    +
    void * pSymCallbackTag
    Definition: xran_common.h:164
    + +
    struct xran_fh_config fh_cfg
    Definition: xran_common.h:209
    +
    int32_t prepare_symbol_ex(enum xran_pkt_dir direction, uint16_t section_id, struct rte_mbuf *mb, struct rb_map *data, uint8_t compMeth, uint8_t iqWidth, const enum xran_input_byte_order iq_buf_byte_order, uint8_t frame_id, uint8_t subframe_id, uint8_t slot_id, uint8_t symbol_no, int prb_start, int prb_num, uint8_t CC_ID, uint8_t RU_Port_ID, uint8_t seq_id, uint32_t do_copy)
    Definition: xran_common.c:348
    +
    uint32_t num_prbu
    Definition: xran_pkt_up.h:71
    +
    uint8_t occassionsInPrachSlot
    Definition: xran_common.h:135
    +
    struct rte_ring * rx_ring[ETHDI_VF_MAX]
    Definition: ethdi.h:120
    + + +
    Definition: xran_common.h:162
    +
    int32_t xran_pkt_validate(void *arg, struct rte_mbuf *mbuf, void *iq_data_start, uint16_t size, uint8_t CC_ID, uint8_t Ant_ID, uint8_t frame_id, uint8_t subframe_id, uint8_t slot_id, uint8_t symb_id, struct ecpri_seq_id *seq_id, uint16_t num_prbu, uint16_t start_prbu, uint16_t sym_inc, uint16_t rb, uint16_t sect_id)
    Definition: xran_main.c:1536
    +
    long interval_us
    Definition: xran_main.c:109
    +
    int xran_destroy_cb(struct cb_elem_entry *cb_elm)
    Definition: xran_common.c:136
    + + + +
    long rx_bytes_counter
    Definition: xran_common.c:120
    +
    #define print_err(fmt, args...)
    Definition: xran_printf.h:62
    +
    uint8_t compMeth
    Definition: xran_fh_o_du.h:487
    +
    #define MBUFS_CNT
    Definition: xran_common.c:44
    +
    uint16_t startPrbc
    Definition: xran_cp_api.h:193
    + + + +
    long tx_counter
    Definition: xran_common.c:118
    + +
    struct xran_frame_config frame_conf
    Definition: xran_fh_o_du.h:517
    + +
    struct xran_device_ctx * xran_dev_get_ctx(void)
    Definition: xran_main.c:223
    +
    phy_decoder_poll_fn bbdev_dec
    Definition: xran_common.h:274
    +
    #define PID_PROCESS_UP_PKT
    + + +
    xran_input_byte_order
    Definition: xran_fh_o_du.h:471
    +
    int ring_processing_thread(void *args)
    Definition: xran_common.c:742
    +
    uint32_t all_bits
    Definition: xran_pkt_up.h:69
    + +
    long tx_bytes_counter
    Definition: xran_common.c:119
    + +
    struct xran_cp_header_params hdr
    Definition: xran_cp_api.h:320
    +
    void(* XranSymCallbackFn)(struct rte_timer *tim, void *arg)
    Definition: xran_common.h:160
    + + +
    #define MLogPrint(a)
    Definition: xran_mlog_lnx.h:36
    + +
    struct data_section_hdr sec_hdr
    Definition: xran_up_api.h:48
    +
    uint8_t num_eAxc
    Definition: common.c:47
    + +
    This file has all definitions for the Ethernet Data Interface Layer.
    +
    uint8_t ud_iq_width
    Definition: xran_pkt.h:208
    +
    uint8_t e_bit
    Definition: xran_pkt.h:101
    +
    uint8_t ud_comp_meth
    Definition: xran_pkt.h:213
    +
    int16_t iq_buffer_offset
    Definition: xran_fh_o_du.h:385
    +
    This file provides the definitions for User Plane Messages APIs.
    +
    uint8_t xran_get_conf_compmethod(void *pHandle)
    Get the configuration of compression method for RU.
    Definition: xran_main.c:3018
    + + +
    int generate_cpmsg_dlul(void *pHandle, struct xran_cp_gen_params *params, struct xran_section_gen_info *sect_geninfo, struct rte_mbuf *mbuf, enum xran_pkt_dir dir, uint8_t frame_id, uint8_t subframe_id, uint8_t slot_id, uint8_t startsym, uint8_t numsym, uint16_t prb_start, uint16_t prb_num, int16_t iq_buffer_offset, int16_t iq_buffer_len, uint16_t beam_id, uint8_t cc_id, uint8_t ru_port_id, uint8_t comp_method, uint8_t iqWidth, uint8_t seq_id, uint8_t symInc)
    Definition: xran_common.c:535
    + +
    XRAN layer common functionality for both lls-CU and RU as well as C-plane and U-plane.
    +
    struct xran_ru_config ru_conf
    Definition: xran_fh_o_du.h:518
    + +
    uint32_t start_prbu
    Definition: xran_pkt_up.h:72
    +
    #define XRAN_MAX_MBUF_LEN
    Definition: xran_common.h:66
    + +
    int32_t xran_process_srs_sym(void *arg, struct rte_mbuf *mbuf, void *iq_data_start, uint16_t size, uint8_t CC_ID, uint8_t Ant_ID, uint8_t frame_id, uint8_t subframe_id, uint8_t slot_id, uint8_t symb_id, uint16_t num_prbu, uint16_t start_prbu, uint16_t sym_inc, uint16_t rb, uint16_t sect_id, uint32_t *mb_free)
    Definition: xran_main.c:1461
    + +
    struct xran_fh_init fh_init
    Definition: xran_common.h:208
    +
    #define XRAN_NUM_OF_SYMBOL_PER_SLOT
    Definition: xran_fh_o_du.h:122
    + + +
    long rx_counter
    Definition: xran_common.c:117
    +
    int xran_prepare_ctrl_pkt(struct rte_mbuf *mbuf, struct xran_cp_gen_params *params, uint8_t CC_ID, uint8_t Ant_ID, uint8_t seq_id)
    Create a C-Plane packet Transport layer fragmentation is not supported.
    Definition: xran_cp_api.c:1381
    + +
    uint16_t subframe_id
    Definition: xran_pkt.h:189
    +
    Definitions and support functions to process XRAN packet.
    +
    uint8_t xran_get_conf_iqwidth(void *pHandle)
    Get the configuration of IQ bit width for RU.
    Definition: xran_main.c:3005
    + + + + + +
    Definitions and support functions to process XRAN packet.
    +
    #define SLOTNUM_PER_SUBFRAME
    Definition: xran_common.h:54
    +
    struct xran_prach_cp_config PrachCPConfig
    Definition: xran_common.h:210
    +
    struct xran_section_desc sec_desc[XRAN_NUM_OF_SYMBOL_PER_SLOT]
    Definition: xran_cp_api.h:205
    +
    XranSymCallbackFn pSymCallback
    Definition: xran_common.h:163
    +
    #define PID_XRAN_BBDEV_UL_POLL
    + + +
    struct xran_section_gen_info * sections
    Definition: xran_cp_api.h:322
    +
    uint16_t numSections
    Definition: xran_cp_api.h:318
    +
    #define MLogTask(w, x, y)
    Definition: xran_mlog_lnx.h:44
    + + +
    uint32_t sect_id
    Definition: xran_pkt_up.h:75
    +
    def res
    Definition: master.py:498
    + +
    #define PID_XRAN_BBDEV_DL_POLL
    +
    int32_t xran_extract_iq_samples(struct rte_mbuf *mbuf, void **iq_data_start, uint8_t *CC_ID, uint8_t *Ant_ID, uint8_t *frame_id, uint8_t *subframe_id, uint8_t *slot_id, uint8_t *symb_id, struct ecpri_seq_id *seq_id, uint16_t *num_prbu, uint16_t *start_prbu, uint16_t *sym_inc, uint16_t *rb, uint16_t *sect_id, int8_t expect_comp, uint8_t *compMeth, uint8_t *iqWidth)
    Function extracts IQ samples from received mbuf packet.
    Definition: xran_up_api.c:327
    +
    int process_ring(struct rte_ring *r)
    Definition: xran_common.c:676
    +
    union data_section_hdr::@18 fields
    + +
    int process_mbuf(struct rte_mbuf *pkt)
    Definition: xran_common.c:143
    + + +
    #define XRAN_THREAD_DEFAULT_PRIO
    Definition: ethdi.h:52
    + +
    #define MLogTick()
    Definition: xran_mlog_lnx.h:42
    + +
    int xran_prepare_iq_symbol_portion(struct rte_mbuf *mbuf, const void *iq_data_start, const enum xran_input_byte_order iq_buf_byte_order, const uint32_t iq_data_num_bytes, struct xran_up_pkt_gen_params *params, uint8_t CC_ID, uint8_t Ant_ID, uint8_t seq_id, uint32_t do_copy)
    Function for starting preparion of IQ samples portions to be sent in xRAN packet. ...
    Definition: xran_up_api.c:455
    +
    struct data_section_compression_hdr compr_hdr_param
    Definition: xran_up_api.h:49
    +
    int send_symbol_ex(enum xran_pkt_dir direction, uint16_t section_id, struct rte_mbuf *mb, struct rb_map *data, const enum xran_input_byte_order iq_buf_byte_order, uint8_t frame_id, uint8_t subframe_id, uint8_t slot_id, uint8_t symbol_no, int prb_start, int prb_num, uint8_t CC_ID, uint8_t RU_Port_ID, uint8_t seq_id)
    Definition: xran_common.c:436
    +
    uint16_t timeOffset
    Definition: xran_pkt_cp.h:215
    + + +
    phy_encoder_poll_fn bbdev_enc
    Definition: xran_common.h:273
    + +
    + + + + diff --git a/docs/API/xran__common_8h.html b/docs/API/xran__common_8h.html new file mode 100644 index 0000000..f56d9d9 --- /dev/null +++ b/docs/API/xran__common_8h.html @@ -0,0 +1,2765 @@ + + + + + + + +o-du/phy: xran_common.h File Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    xran_common.h File Reference
    +
    +
    + +

    XRAN layer common functionality for both lls-CU and RU as well as C-plane and U-plane. +More...

    +
    #include <stdio.h>
    +#include <unistd.h>
    +#include <sys/param.h>
    +#include <sys/queue.h>
    +#include <rte_common.h>
    +#include <rte_mbuf.h>
    +#include <rte_timer.h>
    +#include "xran_fh_o_du.h"
    +#include "xran_pkt_up.h"
    +#include "xran_cp_api.h"
    +
    +Include dependency graph for xran_common.h:
    +
    +
    + + + + + + + + +
    +
    +This graph shows which files directly or indirectly include this file:
    +
    +
    + + + + + + + + + + + + + + + + + + +
    +
    +

    Go to the source code of this file.

    + + + + + + + + + + + + + + + + + + +

    +Data Structures

    struct  xRANPrachConfigTableStruct
     
    struct  xRANPrachPreambleLRAStruct
     
    struct  xran_prach_cp_config
     
    struct  sectorHandleInfo
     
    struct  cb_elem_entry
     
    struct  BbuIoBufCtrlStruct
     
    struct  mbuf_table
     
    struct  xran_device_ctx
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Macros

    #define O_DU   0
     
    #define O_RU   1
     
    #define N_SC_PER_PRB   12
     
    #define MAX_N_FULLBAND_SC   273
     
    #define N_SYM_PER_SLOT   14
     
    #define SUBFRAME_DURATION_US   1000
     
    #define SLOTNUM_PER_SUBFRAME   (SUBFRAME_DURATION_US/interval_us)
     
    #define SUBFRAMES_PER_SYSTEMFRAME   10
     
    #define SLOTS_PER_SYSTEMFRAME   (SLOTNUM_PER_SUBFRAME*SUBFRAMES_PER_SYSTEMFRAME)
     
    #define PRACH_PLAYBACK_BUFFER_BYTES   (144*14*4L)
     
    #define PRACH_SRS_BUFFER_BYTES   (144*14*4L)
     
    #define XRAN_MAX_NUM_SECTIONS   (N_SYM_PER_SLOT* (XRAN_MAX_ANTENNA_NR*2) + XRAN_MAX_ANT_ARRAY_ELM_NR)
     
    #define XRAN_MAX_MBUF_LEN   9600
     
    #define NSEC_PER_SEC   1000000000L
     
    #define TIMER_RESOLUTION_CYCLES   1596*1 /* 1us */
     
    #define XRAN_RING_SIZE   512 /*4*14*8 pow of 2 */
     
    #define XRAN_NAME_MAX_LEN   (64)
     
    #define XRAN_RING_NUM   (3)
     
    #define XranDiffSymIdx(prevSymIdx, currSymIdx, numTotalSymIdx)   ((prevSymIdx > currSymIdx) ? ((currSymIdx + numTotalSymIdx) - prevSymIdx) : (currSymIdx - prevSymIdx))
     
    #define XRAN_MLOG_VAR   0
     
    #define XRAN_PRACH_CANDIDATE_PREAMBLE   (2)
     
    #define XRAN_PRACH_CANDIDATE_Y   (2)
     
    #define XRAN_PRACH_CANDIDATE_SLOT   (40)
     
    #define XRAN_PRACH_CONFIG_TABLE_SIZE   (256)
     
    #define XRAN_PRACH_PREAMBLE_FORMAT_OF_ABC   (9)
     
    #define XRAN_MAX_POOLS_PER_SECTOR_NR   8
     
    #define XranIncrementJob(i)   ((i >= (XRAN_SYM_JOB_SIZE-1)) ? 0 : (i+1))
     
    #define XRAN_MAX_PKT_BURST_PER_SYM   32
     
    #define XRAN_MAX_PACKET_FRAG   9
     
    #define MBUF_TABLE_SIZE   (2 * MAX(XRAN_MAX_PKT_BURST_PER_SYM, XRAN_MAX_PACKET_FRAG))
     
    + + + + + + + + + +

    +Typedefs

    typedef struct sectorHandleInfo XranSectorHandleInfo
     
    typedef struct sectorHandleInfoPXranSectorHandleInfo
     
    typedef void(* XranSymCallbackFn) (struct rte_timer *tim, void *arg)
     
    typedef int(* xran_ethdi_mbuf_send_fn) (struct rte_mbuf *mb, uint16_t ethertype)
     
    + + + +

    +Enumerations

    enum  PreambleFormatEnum {
    +  FORMAT_0 = 0, +FORMAT_1, +FORMAT_2, +FORMAT_3, +
    +  FORMAT_A1, +FORMAT_A2, +FORMAT_A3, +FORMAT_B1, +
    +  FORMAT_B2, +FORMAT_B3, +FORMAT_B4, +FORMAT_C0, +
    +  FORMAT_C2, +FORMAT_LAST +
    + }
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Functions

    int process_mbuf (struct rte_mbuf *pkt)
     
    int process_ring (struct rte_ring *r)
     
    int ring_processing_thread (void *args)
     
    int packets_dump_thread (void *args)
     
    int send_symbol_ex (enum xran_pkt_dir direction, uint16_t section_id, struct rte_mbuf *mb, struct rb_map *data, const enum xran_input_byte_order iq_buf_byte_order, uint8_t frame_id, uint8_t subframe_id, uint8_t slot_id, uint8_t symbol_no, int prb_start, int prb_num, uint8_t CC_ID, uint8_t RU_Port_ID, uint8_t seq_id)
     
    int32_t prepare_symbol_ex (enum xran_pkt_dir direction, uint16_t section_id, struct rte_mbuf *mb, struct rb_map *data, uint8_t compMeth, uint8_t iqWidth, const enum xran_input_byte_order iq_buf_byte_order, uint8_t frame_id, uint8_t subframe_id, uint8_t slot_id, uint8_t symbol_no, int prb_start, int prb_num, uint8_t CC_ID, uint8_t RU_Port_ID, uint8_t seq_id, uint32_t do_copy)
     
    int send_cpmsg (void *pHandle, struct rte_mbuf *mbuf, struct xran_cp_gen_params *params, struct xran_section_gen_info *sect_geninfo, uint8_t cc_id, uint8_t ru_port_id, uint8_t seq_id)
     
    int32_t generate_cpmsg_dlul (void *pHandle, struct xran_cp_gen_params *params, struct xran_section_gen_info *sect_geninfo, struct rte_mbuf *mbuf, enum xran_pkt_dir dir, uint8_t frame_id, uint8_t subframe_id, uint8_t slot_id, uint8_t startsym, uint8_t numsym, uint16_t prb_start, uint16_t prb_num, int16_t iq_buffer_offset, int16_t iq_buffer_len, uint16_t beam_id, uint8_t cc_id, uint8_t ru_port_id, uint8_t comp_method, uint8_t iqWidth, uint8_t seq_id, uint8_t symInc)
     
    int generate_cpmsg_prach (void *pHandle, struct xran_cp_gen_params *params, struct xran_section_gen_info *sect_geninfo, struct rte_mbuf *mbuf, struct xran_device_ctx *pxran_lib_ctx, uint8_t frame_id, uint8_t subframe_id, uint8_t slot_id, uint16_t beam_id, uint8_t cc_id, uint8_t prach_port_id, uint8_t seq_id)
     
    struct xran_eaxcid_configxran_get_conf_eAxC (void *pHandle)
     Get the configuration of eAxC ID. More...
     
    uint8_t xran_get_conf_prach_scs (void *pHandle)
     Get the configuration of subcarrier spacing for PRACH. More...
     
    uint8_t xran_get_conf_fftsize (void *pHandle)
     Get the configuration of FFT size for RU. More...
     
    uint8_t xran_get_conf_numerology (void *pHandle)
     Get the configuration of nummerology. More...
     
    uint8_t xran_get_conf_iqwidth (void *pHandle)
     Get the configuration of IQ bit width for RU. More...
     
    uint8_t xran_get_conf_compmethod (void *pHandle)
     Get the configuration of compression method for RU. More...
     
    uint8_t xran_get_conf_num_bfweights (void *pHandle)
     Get the configuration of the total number of beamforming weights on RU. More...
     
    uint8_t xran_get_num_cc (void *pHandle)
     Get the configuration of the number of component carriers. More...
     
    uint8_t xran_get_num_eAxc (void *pHandle)
     Get the configuration of the number of antenna for UL. More...
     
    uint8_t xran_get_num_eAxcUl (void *pHandle)
     Get the configuration of the number of antenna. More...
     
    uint8_t xran_get_num_ant_elm (void *pHandle)
     Get the configuration of the number of antenna elements. More...
     
    enum xran_category xran_get_ru_category (void *pHandle)
     Get configuration of O-RU (Cat A or Cat B) More...
     
    struct xran_device_ctxxran_dev_get_ctx (void)
     
    int xran_register_cb_mbuf2ring (xran_ethdi_mbuf_send_fn mbuf_send_cp, xran_ethdi_mbuf_send_fn mbuf_send_up)
     
    uint16_t xran_alloc_sectionid (void *pHandle, uint8_t dir, uint8_t cc_id, uint8_t ant_id, uint8_t slot_id)
     
    uint8_t xran_get_seqid (void *pHandle, uint8_t dir, uint8_t cc_id, uint8_t ant_id, uint8_t slot_id)
     
    int32_t ring_processing_func (void)
     
    int xran_init_prach (struct xran_fh_config *pConf, struct xran_device_ctx *p_xran_dev_ctx)
     
    void xran_updateSfnSecStart (void)
     
    struct cb_elem_entryxran_create_cb (XranSymCallbackFn cb_fn, void *cb_data)
     
    int xran_destroy_cb (struct cb_elem_entry *cb_elm)
     
    + + + + + + + + + + + + + + + + + + + + + +

    +Variables

    long rx_counter
     
    long tx_counter
     
    long tx_bytes_counter
     
    long rx_bytes_counter
     
    long tx_bytes_per_sec
     
    long rx_bytes_per_sec
     
    const xRANPrachConfigTableStruct gxranPrachDataTable_sub6_fdd [XRAN_PRACH_CONFIG_TABLE_SIZE]
     
    const xRANPrachConfigTableStruct gxranPrachDataTable_sub6_tdd [XRAN_PRACH_CONFIG_TABLE_SIZE]
     
    const xRANPrachConfigTableStruct gxranPrachDataTable_mmw [XRAN_PRACH_CONFIG_TABLE_SIZE]
     
    const xRANPrachPreambleLRAStruct gxranPreambleforLRA [13]
     
    +

    Detailed Description

    +

    XRAN layer common functionality for both lls-CU and RU as well as C-plane and U-plane.

    +
    Author
    Intel Corporation
    + +

    Definition in file xran_common.h.

    +

    Macro Definition Documentation

    + +

    ◆ MAX_N_FULLBAND_SC

    + +
    +
    + + + + +
    #define MAX_N_FULLBAND_SC   273
    +
    + +

    Definition at line 51 of file xran_common.h.

    + +
    +
    + +

    ◆ MBUF_TABLE_SIZE

    + +
    +
    + + + + +
    #define MBUF_TABLE_SIZE   (2 * MAX(XRAN_MAX_PKT_BURST_PER_SYM, XRAN_MAX_PACKET_FRAG))
    +
    + +

    Definition at line 196 of file xran_common.h.

    + +
    +
    + +

    ◆ N_SC_PER_PRB

    + +
    +
    + + + + +
    #define N_SC_PER_PRB   12
    +
    + +

    Definition at line 50 of file xran_common.h.

    + +
    +
    + +

    ◆ N_SYM_PER_SLOT

    + +
    +
    + + + + +
    #define N_SYM_PER_SLOT   14
    +
    + +

    Definition at line 52 of file xran_common.h.

    + +
    +
    + +

    ◆ NSEC_PER_SEC

    + +
    +
    + + + + +
    #define NSEC_PER_SEC   1000000000L
    +
    + +

    Definition at line 67 of file xran_common.h.

    + +
    +
    + +

    ◆ O_DU

    + +
    +
    + + + + +
    #define O_DU   0
    +
    + +

    Definition at line 47 of file xran_common.h.

    + +
    +
    + +

    ◆ O_RU

    + +
    +
    + + + + +
    #define O_RU   1
    +
    + +

    Definition at line 48 of file xran_common.h.

    + +
    +
    + +

    ◆ PRACH_PLAYBACK_BUFFER_BYTES

    + +
    +
    + + + + +
    #define PRACH_PLAYBACK_BUFFER_BYTES   (144*14*4L)
    +
    + +

    Definition at line 59 of file xran_common.h.

    + +
    +
    + +

    ◆ PRACH_SRS_BUFFER_BYTES

    + +
    +
    + + + + +
    #define PRACH_SRS_BUFFER_BYTES   (144*14*4L)
    +
    +

    this is the configuration of M-plane

    + +

    Definition at line 61 of file xran_common.h.

    + +
    +
    + +

    ◆ SLOTNUM_PER_SUBFRAME

    + +
    +
    + + + + +
    #define SLOTNUM_PER_SUBFRAME   (SUBFRAME_DURATION_US/interval_us)
    +
    + +

    Definition at line 54 of file xran_common.h.

    + +
    +
    + +

    ◆ SLOTS_PER_SYSTEMFRAME

    + +
    +
    + + + + +
    #define SLOTS_PER_SYSTEMFRAME   (SLOTNUM_PER_SUBFRAME*SUBFRAMES_PER_SYSTEMFRAME)
    +
    + +

    Definition at line 56 of file xran_common.h.

    + +
    +
    + +

    ◆ SUBFRAME_DURATION_US

    + +
    +
    + + + + +
    #define SUBFRAME_DURATION_US   1000
    +
    + +

    Definition at line 53 of file xran_common.h.

    + +
    +
    + +

    ◆ SUBFRAMES_PER_SYSTEMFRAME

    + +
    +
    + + + + +
    #define SUBFRAMES_PER_SYSTEMFRAME   10
    +
    + +

    Definition at line 55 of file xran_common.h.

    + +
    +
    + +

    ◆ TIMER_RESOLUTION_CYCLES

    + +
    +
    + + + + +
    #define TIMER_RESOLUTION_CYCLES   1596*1 /* 1us */
    +
    + +

    Definition at line 68 of file xran_common.h.

    + +
    +
    + +

    ◆ XRAN_MAX_MBUF_LEN

    + +
    +
    + + + + +
    #define XRAN_MAX_MBUF_LEN   9600
    +
    +

    jumbo frame

    + +

    Definition at line 66 of file xran_common.h.

    + +
    +
    + +

    ◆ XRAN_MAX_NUM_SECTIONS

    + +
    +
    + + + + +
    #define XRAN_MAX_NUM_SECTIONS   (N_SYM_PER_SLOT* (XRAN_MAX_ANTENNA_NR*2) + XRAN_MAX_ANT_ARRAY_ELM_NR)
    +
    + +

    Definition at line 64 of file xran_common.h.

    + +
    +
    + +

    ◆ XRAN_MAX_PACKET_FRAG

    + +
    +
    + + + + +
    #define XRAN_MAX_PACKET_FRAG   9
    +
    + +

    Definition at line 194 of file xran_common.h.

    + +
    +
    + +

    ◆ XRAN_MAX_PKT_BURST_PER_SYM

    + +
    +
    + + + + +
    #define XRAN_MAX_PKT_BURST_PER_SYM   32
    +
    + +

    Definition at line 193 of file xran_common.h.

    + +
    +
    + +

    ◆ XRAN_MAX_POOLS_PER_SECTOR_NR

    + +
    +
    + + + + +
    #define XRAN_MAX_POOLS_PER_SECTOR_NR   8
    +
    +

    2x(TX_OUT, RX_IN, PRACH_IN, SRS_IN) with C-plane

    + +

    Definition at line 142 of file xran_common.h.

    + +
    +
    + +

    ◆ XRAN_MLOG_VAR

    + +
    +
    + + + + +
    #define XRAN_MLOG_VAR   0
    +
    +

    enable debug variables to mlog

    + +

    Definition at line 75 of file xran_common.h.

    + +
    +
    + +

    ◆ XRAN_NAME_MAX_LEN

    + +
    +
    + + + + +
    #define XRAN_NAME_MAX_LEN   (64)
    +
    + +

    Definition at line 70 of file xran_common.h.

    + +
    +
    + +

    ◆ XRAN_PRACH_CANDIDATE_PREAMBLE

    + +
    +
    + + + + +
    #define XRAN_PRACH_CANDIDATE_PREAMBLE   (2)
    +
    + +

    Definition at line 78 of file xran_common.h.

    + +
    +
    + +

    ◆ XRAN_PRACH_CANDIDATE_SLOT

    + +
    +
    + + + + +
    #define XRAN_PRACH_CANDIDATE_SLOT   (40)
    +
    + +

    Definition at line 80 of file xran_common.h.

    + +
    +
    + +

    ◆ XRAN_PRACH_CANDIDATE_Y

    + +
    +
    + + + + +
    #define XRAN_PRACH_CANDIDATE_Y   (2)
    +
    + +

    Definition at line 79 of file xran_common.h.

    + +
    +
    + +

    ◆ XRAN_PRACH_CONFIG_TABLE_SIZE

    + +
    +
    + + + + +
    #define XRAN_PRACH_CONFIG_TABLE_SIZE   (256)
    +
    + +

    Definition at line 81 of file xran_common.h.

    + +
    +
    + +

    ◆ XRAN_PRACH_PREAMBLE_FORMAT_OF_ABC

    + +
    +
    + + + + +
    #define XRAN_PRACH_PREAMBLE_FORMAT_OF_ABC   (9)
    +
    + +

    Definition at line 82 of file xran_common.h.

    + +
    +
    + +

    ◆ XRAN_RING_NUM

    + +
    +
    + + + + +
    #define XRAN_RING_NUM   (3)
    +
    + +

    Definition at line 71 of file xran_common.h.

    + +
    +
    + +

    ◆ XRAN_RING_SIZE

    + +
    +
    + + + + +
    #define XRAN_RING_SIZE   512 /*4*14*8 pow of 2 */
    +
    + +

    Definition at line 69 of file xran_common.h.

    + +
    +
    + +

    ◆ XranDiffSymIdx

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    #define XranDiffSymIdx( prevSymIdx,
     currSymIdx,
     numTotalSymIdx 
    )   ((prevSymIdx > currSymIdx) ? ((currSymIdx + numTotalSymIdx) - prevSymIdx) : (currSymIdx - prevSymIdx))
    +
    + +

    Definition at line 73 of file xran_common.h.

    + +
    +
    + +

    ◆ XranIncrementJob

    + +
    +
    + + + + + + + + +
    #define XranIncrementJob( i)   ((i >= (XRAN_SYM_JOB_SIZE-1)) ? 0 : (i+1))
    +
    + +

    Definition at line 191 of file xran_common.h.

    + +
    +
    +

    Typedef Documentation

    + +

    ◆ PXranSectorHandleInfo

    + +
    +
    + + + + +
    typedef struct sectorHandleInfo * PXranSectorHandleInfo
    +
    + +
    +
    + +

    ◆ xran_ethdi_mbuf_send_fn

    + +
    +
    + + + + +
    typedef int(* xran_ethdi_mbuf_send_fn) (struct rte_mbuf *mb, uint16_t ethertype)
    +
    + +

    Definition at line 169 of file xran_common.h.

    + +
    +
    + +

    ◆ XranSectorHandleInfo

    + +
    +
    + + + + +
    typedef struct sectorHandleInfo XranSectorHandleInfo
    +
    + +
    +
    + +

    ◆ XranSymCallbackFn

    + +
    +
    + + + + +
    typedef void(* XranSymCallbackFn) (struct rte_timer *tim, void *arg)
    +
    + +

    Definition at line 160 of file xran_common.h.

    + +
    +
    +

    Enumeration Type Documentation

    + +

    ◆ PreambleFormatEnum

    + +
    +
    + + + + +
    enum PreambleFormatEnum
    +
    + + + + + + + + + + + + + + + +
    Enumerator
    FORMAT_0 
    FORMAT_1 
    FORMAT_2 
    FORMAT_3 
    FORMAT_A1 
    FORMAT_A2 
    FORMAT_A3 
    FORMAT_B1 
    FORMAT_B2 
    FORMAT_B3 
    FORMAT_B4 
    FORMAT_C0 
    FORMAT_C2 
    FORMAT_LAST 
    + +

    Definition at line 83 of file xran_common.h.

    + +
    +
    +

    Function Documentation

    + +

    ◆ generate_cpmsg_dlul()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    int32_t generate_cpmsg_dlul (void * pHandle,
    struct xran_cp_gen_paramsparams,
    struct xran_section_gen_infosect_geninfo,
    struct rte_mbuf * mbuf,
    enum xran_pkt_dir dir,
    uint8_t frame_id,
    uint8_t subframe_id,
    uint8_t slot_id,
    uint8_t startsym,
    uint8_t numsym,
    uint16_t prb_start,
    uint16_t prb_num,
    int16_t iq_buffer_offset,
    int16_t iq_buffer_len,
    uint16_t beam_id,
    uint8_t cc_id,
    uint8_t ru_port_id,
    uint8_t comp_method,
    uint8_t iqWidth,
    uint8_t seq_id,
    uint8_t symInc 
    )
    +
    + +

    Definition at line 535 of file xran_common.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + + + + + + + + + +
    + +
    +
    + +

    ◆ generate_cpmsg_prach()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    int generate_cpmsg_prach (void * pHandle,
    struct xran_cp_gen_paramsparams,
    struct xran_section_gen_infosect_geninfo,
    struct rte_mbuf * mbuf,
    struct xran_device_ctxpxran_lib_ctx,
    uint8_t frame_id,
    uint8_t subframe_id,
    uint8_t slot_id,
    uint16_t beam_id,
    uint8_t cc_id,
    uint8_t prach_port_id,
    uint8_t seq_id 
    )
    +
    + +

    Definition at line 595 of file xran_common.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + + + + + + + + + + + + + +
    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + +
    + +
    +
    + +

    ◆ packets_dump_thread()

    + +
    +
    + + + + + + + + +
    int packets_dump_thread (void * args)
    +
    + +
    +
    + +

    ◆ prepare_symbol_ex()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    int32_t prepare_symbol_ex (enum xran_pkt_dir direction,
    uint16_t section_id,
    struct rte_mbuf * mb,
    struct rb_mapdata,
    uint8_t compMeth,
    uint8_t iqWidth,
    const enum xran_input_byte_order iq_buf_byte_order,
    uint8_t frame_id,
    uint8_t subframe_id,
    uint8_t slot_id,
    uint8_t symbol_no,
    int prb_start,
    int prb_num,
    uint8_t CC_ID,
    uint8_t RU_Port_ID,
    uint8_t seq_id,
    uint32_t do_copy 
    )
    +
    + +

    Definition at line 348 of file xran_common.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + +
    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + +
    + +
    +
    + +

    ◆ process_mbuf()

    + +
    +
    + + + + + + + + +
    int process_mbuf (struct rte_mbuf * pkt)
    +
    + +

    Definition at line 143 of file xran_common.c.

    + +
    +
    + +

    ◆ process_ring()

    + +
    +
    + + + + + + + + +
    int process_ring (struct rte_ring * r)
    +
    + +

    Definition at line 676 of file xran_common.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + +
    + +
    +
    + +

    ◆ ring_processing_func()

    + +
    +
    + + + + + + + + +
    int32_t ring_processing_func (void )
    +
    + +

    Definition at line 700 of file xran_common.c.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + +
    + +
    +
    + +

    ◆ ring_processing_thread()

    + +
    +
    + + + + + + + + +
    int ring_processing_thread (void * args)
    +
    + +

    Definition at line 742 of file xran_common.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + +
    + +
    +
    + +

    ◆ send_cpmsg()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    int send_cpmsg (void * pHandle,
    struct rte_mbuf * mbuf,
    struct xran_cp_gen_paramsparams,
    struct xran_section_gen_infosect_geninfo,
    uint8_t cc_id,
    uint8_t ru_port_id,
    uint8_t seq_id 
    )
    +
    + +

    Definition at line 510 of file xran_common.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + + +
    + +
    +
    + +

    ◆ send_symbol_ex()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    int send_symbol_ex (enum xran_pkt_dir direction,
    uint16_t section_id,
    struct rte_mbuf * mb,
    struct rb_mapdata,
    const enum xran_input_byte_order iq_buf_byte_order,
    uint8_t frame_id,
    uint8_t subframe_id,
    uint8_t slot_id,
    uint8_t symbol_no,
    int prb_start,
    int prb_num,
    uint8_t CC_ID,
    uint8_t RU_Port_ID,
    uint8_t seq_id 
    )
    +
    + +

    Definition at line 436 of file xran_common.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + + + + +
    + +
    +
    + +

    ◆ xran_alloc_sectionid()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    uint16_t xran_alloc_sectionid (void * pHandle,
    uint8_t dir,
    uint8_t cc_id,
    uint8_t ant_id,
    uint8_t slot_id 
    )
    +
    +inline
    +
    + +

    Definition at line 379 of file xran_main.c.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + + +
    + +
    +
    + +

    ◆ xran_create_cb()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    struct cb_elem_entry* xran_create_cb (XranSymCallbackFn cb_fn,
    void * cb_data 
    )
    +
    + +

    Definition at line 125 of file xran_common.c.

    + +
    +
    + +

    ◆ xran_destroy_cb()

    + +
    +
    + + + + + + + + +
    int xran_destroy_cb (struct cb_elem_entrycb_elm)
    +
    + +

    Definition at line 136 of file xran_common.c.

    + +
    +
    + +

    ◆ xran_dev_get_ctx()

    + +
    +
    + + + + + + + + +
    struct xran_device_ctx* xran_dev_get_ctx (void )
    +
    + +

    Definition at line 223 of file xran_main.c.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    +
    + +

    ◆ xran_get_conf_compmethod()

    + +
    +
    + + + + + +
    + + + + + + + + +
    uint8_t xran_get_conf_compmethod (void * pHandle)
    +
    +inline
    +
    + +

    Get the configuration of compression method for RU.

    +
    Returns
    Compression method for RU
    + +

    Definition at line 3018 of file xran_main.c.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + +
    + +
    +
    + +

    ◆ xran_get_conf_eAxC()

    + +
    +
    + + + + + + + + +
    struct xran_eaxcid_config* xran_get_conf_eAxC (void * pHandle)
    +
    + +

    Get the configuration of eAxC ID.

    +
    Returns
    the pointer of configuration
    + +

    Definition at line 2955 of file xran_main.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + +
    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    +
    + +

    ◆ xran_get_conf_fftsize()

    + +
    +
    + + + + + +
    + + + + + + + + +
    uint8_t xran_get_conf_fftsize (void * pHandle)
    +
    +inline
    +
    + +

    Get the configuration of FFT size for RU.

    +
    Returns
    FFT size value for RU
    + +

    Definition at line 2985 of file xran_main.c.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + +
    + +
    +
    + +

    ◆ xran_get_conf_iqwidth()

    + +
    +
    + + + + + +
    + + + + + + + + +
    uint8_t xran_get_conf_iqwidth (void * pHandle)
    +
    +inline
    +
    + +

    Get the configuration of IQ bit width for RU.

    +
    Returns
    IQ bit width for RU
    + +

    Definition at line 3005 of file xran_main.c.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + +
    + +
    +
    + +

    ◆ xran_get_conf_num_bfweights()

    + +
    +
    + + + + + +
    + + + + + + + + +
    uint8_t xran_get_conf_num_bfweights (void * pHandle)
    +
    +inline
    +
    + +

    Get the configuration of the total number of beamforming weights on RU.

    +
    Returns
    Configured the number of beamforming weights
    + +

    Definition at line 2965 of file xran_main.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + +
    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + + + + +
    + +
    +
    + +

    ◆ xran_get_conf_numerology()

    + +
    +
    + + + + + +
    + + + + + + + + +
    uint8_t xran_get_conf_numerology (void * pHandle)
    +
    +inline
    +
    + +

    Get the configuration of nummerology.

    +
    Returns
    Configured numerology
    + +

    Definition at line 2995 of file xran_main.c.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + + + +
    + +
    +
    + +

    ◆ xran_get_conf_prach_scs()

    + +
    +
    + + + + + +
    + + + + + + + + +
    uint8_t xran_get_conf_prach_scs (void * pHandle)
    +
    +inline
    +
    + +

    Get the configuration of subcarrier spacing for PRACH.

    +
    Returns
    subcarrier spacing value for PRACH
    + +

    Definition at line 2975 of file xran_main.c.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + +
    + +
    +
    + +

    ◆ xran_get_num_ant_elm()

    + +
    +
    + + + + + +
    + + + + + + + + +
    uint8_t xran_get_num_ant_elm (void * pHandle)
    +
    +inline
    +
    + +

    Get the configuration of the number of antenna elements.

    +
    Returns
    Configured the number of antenna
    + +

    Definition at line 3069 of file xran_main.c.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + +
    + +
    +
    + +

    ◆ xran_get_num_cc()

    + +
    +
    + + + + + +
    + + + + + + + + +
    uint8_t xran_get_num_cc (void * pHandle)
    +
    +inline
    +
    + +

    Get the configuration of the number of component carriers.

    +
    Returns
    Configured the number of component carriers
    + +

    Definition at line 3029 of file xran_main.c.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + + + + + + + +
    + +
    +
    + +

    ◆ xran_get_num_eAxc()

    + +
    +
    + + + + + +
    + + + + + + + + +
    uint8_t xran_get_num_eAxc (void * pHandle)
    +
    +inline
    +
    + +

    Get the configuration of the number of antenna for UL.

    +
    Returns
    Configured the number of antenna
    + +

    Definition at line 3039 of file xran_main.c.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + + + + + + + + + + + + + + +
    + +
    +
    + +

    ◆ xran_get_num_eAxcUl()

    + +
    +
    + + + + + +
    + + + + + + + + +
    uint8_t xran_get_num_eAxcUl (void * pHandle)
    +
    +inline
    +
    + +

    Get the configuration of the number of antenna.

    +
    Returns
    Configured the number of antenna
    + +

    Definition at line 3059 of file xran_main.c.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + +
    + +
    +
    + +

    ◆ xran_get_ru_category()

    + +
    +
    + + + + + +
    + + + + + + + + +
    enum xran_category xran_get_ru_category (void * pHandle)
    +
    +inline
    +
    + +

    Get configuration of O-RU (Cat A or Cat B)

    +
    Returns
    Configured the number of antenna
    + +

    Definition at line 3049 of file xran_main.c.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + +
    + +
    +
    + +

    ◆ xran_get_seqid()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    uint8_t xran_get_seqid (void * pHandle,
    uint8_t dir,
    uint8_t cc_id,
    uint8_t ant_id,
    uint8_t slot_id 
    )
    +
    + +
    +
    + +

    ◆ xran_init_prach()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    int xran_init_prach (struct xran_fh_configpConf,
    struct xran_device_ctxp_xran_dev_ctx 
    )
    +
    + +

    Definition at line 308 of file xran_main.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + + +
    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + + + +
    + +
    +
    + +

    ◆ xran_register_cb_mbuf2ring()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    int xran_register_cb_mbuf2ring (xran_ethdi_mbuf_send_fn mbuf_send_cp,
    xran_ethdi_mbuf_send_fn mbuf_send_up 
    )
    +
    + +

    Definition at line 2918 of file xran_main.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + + +
    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + +
    + +
    +
    + +

    ◆ xran_updateSfnSecStart()

    + +
    +
    + + + + + + + + +
    void xran_updateSfnSecStart (void )
    +
    + +

    Definition at line 201 of file xran_main.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + +
    + +
    +
    +

    Variable Documentation

    + +

    ◆ gxranPrachDataTable_mmw

    + +
    +
    + + + + +
    const xRANPrachConfigTableStruct gxranPrachDataTable_mmw[XRAN_PRACH_CONFIG_TABLE_SIZE]
    +
    + +

    Definition at line 553 of file xran_ul_tables.c.

    + +
    +
    + +

    ◆ gxranPrachDataTable_sub6_fdd

    + +
    +
    + + + + +
    const xRANPrachConfigTableStruct gxranPrachDataTable_sub6_fdd[XRAN_PRACH_CONFIG_TABLE_SIZE]
    +
    + +

    Definition at line 32 of file xran_ul_tables.c.

    + +
    +
    + +

    ◆ gxranPrachDataTable_sub6_tdd

    + +
    +
    + + + + +
    const xRANPrachConfigTableStruct gxranPrachDataTable_sub6_tdd[XRAN_PRACH_CONFIG_TABLE_SIZE]
    +
    + +

    Definition at line 292 of file xran_ul_tables.c.

    + +
    +
    + +

    ◆ gxranPreambleforLRA

    + +
    +
    + + + + +
    const xRANPrachPreambleLRAStruct gxranPreambleforLRA[13]
    +
    + +

    Definition at line 845 of file xran_ul_tables.c.

    + +
    +
    + +

    ◆ rx_bytes_counter

    + +
    +
    + + + + +
    long rx_bytes_counter
    +
    + +

    Definition at line 120 of file xran_common.c.

    + +
    +
    + +

    ◆ rx_bytes_per_sec

    + +
    +
    + + + + +
    long rx_bytes_per_sec
    +
    + +

    Definition at line 122 of file xran_common.c.

    + +
    +
    + +

    ◆ rx_counter

    + +
    +
    + + + + +
    long rx_counter
    +
    + +

    Definition at line 117 of file xran_common.c.

    + +
    +
    + +

    ◆ tx_bytes_counter

    + +
    +
    + + + + +
    long tx_bytes_counter
    +
    + +

    Definition at line 119 of file xran_common.c.

    + +
    +
    + +

    ◆ tx_bytes_per_sec

    + +
    +
    + + + + +
    long tx_bytes_per_sec
    +
    + +

    Definition at line 121 of file xran_common.c.

    + +
    +
    + +

    ◆ tx_counter

    + +
    +
    + + + + +
    long tx_counter
    +
    + +

    Definition at line 118 of file xran_common.c.

    + +
    +
    +
    + + + + diff --git a/docs/API/xran__common_8h__dep__incl.map b/docs/API/xran__common_8h__dep__incl.map new file mode 100644 index 0000000..df6d701 --- /dev/null +++ b/docs/API/xran__common_8h__dep__incl.map @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/docs/API/xran__common_8h__dep__incl.md5 b/docs/API/xran__common_8h__dep__incl.md5 new file mode 100644 index 0000000..ebf5733 --- /dev/null +++ b/docs/API/xran__common_8h__dep__incl.md5 @@ -0,0 +1 @@ +ff79986fefe063ae2a831ccf5816b25a \ No newline at end of file diff --git a/docs/API/xran__common_8h__dep__incl.png b/docs/API/xran__common_8h__dep__incl.png new file mode 100644 index 0000000..99307c1 Binary files /dev/null and b/docs/API/xran__common_8h__dep__incl.png differ diff --git a/docs/API/xran__common_8h__incl.map b/docs/API/xran__common_8h__incl.map new file mode 100644 index 0000000..f186869 --- /dev/null +++ b/docs/API/xran__common_8h__incl.map @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/API/xran__common_8h__incl.md5 b/docs/API/xran__common_8h__incl.md5 new file mode 100644 index 0000000..013bb84 --- /dev/null +++ b/docs/API/xran__common_8h__incl.md5 @@ -0,0 +1 @@ +c7f40f8ffdb35d1461a9c23cc7757519 \ No newline at end of file diff --git a/docs/API/xran__common_8h__incl.png b/docs/API/xran__common_8h__incl.png new file mode 100644 index 0000000..8532a0c Binary files /dev/null and b/docs/API/xran__common_8h__incl.png differ diff --git a/docs/API/xran__common_8h_a00025c5bad7b7b6eea4374226f8c54bb_cgraph.map b/docs/API/xran__common_8h_a00025c5bad7b7b6eea4374226f8c54bb_cgraph.map new file mode 100644 index 0000000..4fcf974 --- /dev/null +++ b/docs/API/xran__common_8h_a00025c5bad7b7b6eea4374226f8c54bb_cgraph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/xran__common_8h_a00025c5bad7b7b6eea4374226f8c54bb_cgraph.md5 b/docs/API/xran__common_8h_a00025c5bad7b7b6eea4374226f8c54bb_cgraph.md5 new file mode 100644 index 0000000..a689170 --- /dev/null +++ b/docs/API/xran__common_8h_a00025c5bad7b7b6eea4374226f8c54bb_cgraph.md5 @@ -0,0 +1 @@ +8ac94025d5f2501a656e5df7a116b4b5 \ No newline at end of file diff --git a/docs/API/xran__common_8h_a00025c5bad7b7b6eea4374226f8c54bb_cgraph.png b/docs/API/xran__common_8h_a00025c5bad7b7b6eea4374226f8c54bb_cgraph.png new file mode 100644 index 0000000..22b4f8f Binary files /dev/null and b/docs/API/xran__common_8h_a00025c5bad7b7b6eea4374226f8c54bb_cgraph.png differ diff --git a/docs/API/xran__common_8h_a00025c5bad7b7b6eea4374226f8c54bb_icgraph.map b/docs/API/xran__common_8h_a00025c5bad7b7b6eea4374226f8c54bb_icgraph.map new file mode 100644 index 0000000..2ee2f7f --- /dev/null +++ b/docs/API/xran__common_8h_a00025c5bad7b7b6eea4374226f8c54bb_icgraph.map @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/API/xran__common_8h_a00025c5bad7b7b6eea4374226f8c54bb_icgraph.md5 b/docs/API/xran__common_8h_a00025c5bad7b7b6eea4374226f8c54bb_icgraph.md5 new file mode 100644 index 0000000..10f9a90 --- /dev/null +++ b/docs/API/xran__common_8h_a00025c5bad7b7b6eea4374226f8c54bb_icgraph.md5 @@ -0,0 +1 @@ +7ad069f174d918354578ced25e670c58 \ No newline at end of file diff --git a/docs/API/xran__common_8h_a00025c5bad7b7b6eea4374226f8c54bb_icgraph.png b/docs/API/xran__common_8h_a00025c5bad7b7b6eea4374226f8c54bb_icgraph.png new file mode 100644 index 0000000..fa88770 Binary files /dev/null and b/docs/API/xran__common_8h_a00025c5bad7b7b6eea4374226f8c54bb_icgraph.png differ diff --git a/docs/API/xran__common_8h_a3cdc276ccd8081a8bda75f22b0cac279_cgraph.map b/docs/API/xran__common_8h_a3cdc276ccd8081a8bda75f22b0cac279_cgraph.map new file mode 100644 index 0000000..7cb1d89 --- /dev/null +++ b/docs/API/xran__common_8h_a3cdc276ccd8081a8bda75f22b0cac279_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/xran__common_8h_a3cdc276ccd8081a8bda75f22b0cac279_cgraph.md5 b/docs/API/xran__common_8h_a3cdc276ccd8081a8bda75f22b0cac279_cgraph.md5 new file mode 100644 index 0000000..6487a5c --- /dev/null +++ b/docs/API/xran__common_8h_a3cdc276ccd8081a8bda75f22b0cac279_cgraph.md5 @@ -0,0 +1 @@ +07e6bea7699114e14b9e1490c72c84dc \ No newline at end of file diff --git a/docs/API/xran__common_8h_a3cdc276ccd8081a8bda75f22b0cac279_cgraph.png b/docs/API/xran__common_8h_a3cdc276ccd8081a8bda75f22b0cac279_cgraph.png new file mode 100644 index 0000000..effd670 Binary files /dev/null and b/docs/API/xran__common_8h_a3cdc276ccd8081a8bda75f22b0cac279_cgraph.png differ diff --git a/docs/API/xran__common_8h_a3fc01469558ddf728239d59038ac5803_icgraph.map b/docs/API/xran__common_8h_a3fc01469558ddf728239d59038ac5803_icgraph.map new file mode 100644 index 0000000..32f265f --- /dev/null +++ b/docs/API/xran__common_8h_a3fc01469558ddf728239d59038ac5803_icgraph.map @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/docs/API/xran__common_8h_a3fc01469558ddf728239d59038ac5803_icgraph.md5 b/docs/API/xran__common_8h_a3fc01469558ddf728239d59038ac5803_icgraph.md5 new file mode 100644 index 0000000..ab4b1c4 --- /dev/null +++ b/docs/API/xran__common_8h_a3fc01469558ddf728239d59038ac5803_icgraph.md5 @@ -0,0 +1 @@ +fadff7c2da62130dede15c5f9ee681c3 \ No newline at end of file diff --git a/docs/API/xran__common_8h_a3fc01469558ddf728239d59038ac5803_icgraph.png b/docs/API/xran__common_8h_a3fc01469558ddf728239d59038ac5803_icgraph.png new file mode 100644 index 0000000..3ccdfe5 Binary files /dev/null and b/docs/API/xran__common_8h_a3fc01469558ddf728239d59038ac5803_icgraph.png differ diff --git a/docs/API/xran__common_8h_a484fa852a2e973600abba0efb1fbefb9_cgraph.map b/docs/API/xran__common_8h_a484fa852a2e973600abba0efb1fbefb9_cgraph.map new file mode 100644 index 0000000..1c5c2b7 --- /dev/null +++ b/docs/API/xran__common_8h_a484fa852a2e973600abba0efb1fbefb9_cgraph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/xran__common_8h_a484fa852a2e973600abba0efb1fbefb9_cgraph.md5 b/docs/API/xran__common_8h_a484fa852a2e973600abba0efb1fbefb9_cgraph.md5 new file mode 100644 index 0000000..ed48adf --- /dev/null +++ b/docs/API/xran__common_8h_a484fa852a2e973600abba0efb1fbefb9_cgraph.md5 @@ -0,0 +1 @@ +34a8bd3e78dfb3826ffc9fcdbadf7e34 \ No newline at end of file diff --git a/docs/API/xran__common_8h_a484fa852a2e973600abba0efb1fbefb9_cgraph.png b/docs/API/xran__common_8h_a484fa852a2e973600abba0efb1fbefb9_cgraph.png new file mode 100644 index 0000000..b5b2fc1 Binary files /dev/null and b/docs/API/xran__common_8h_a484fa852a2e973600abba0efb1fbefb9_cgraph.png differ diff --git a/docs/API/xran__common_8h_a4e156a8a72cc16b05c6ad0532df4e75a_cgraph.map b/docs/API/xran__common_8h_a4e156a8a72cc16b05c6ad0532df4e75a_cgraph.map new file mode 100644 index 0000000..0104806 --- /dev/null +++ b/docs/API/xran__common_8h_a4e156a8a72cc16b05c6ad0532df4e75a_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/xran__common_8h_a4e156a8a72cc16b05c6ad0532df4e75a_cgraph.md5 b/docs/API/xran__common_8h_a4e156a8a72cc16b05c6ad0532df4e75a_cgraph.md5 new file mode 100644 index 0000000..701db08 --- /dev/null +++ b/docs/API/xran__common_8h_a4e156a8a72cc16b05c6ad0532df4e75a_cgraph.md5 @@ -0,0 +1 @@ +3322d5eb67775259a4234fc427779b49 \ No newline at end of file diff --git a/docs/API/xran__common_8h_a4e156a8a72cc16b05c6ad0532df4e75a_cgraph.png b/docs/API/xran__common_8h_a4e156a8a72cc16b05c6ad0532df4e75a_cgraph.png new file mode 100644 index 0000000..87d44b5 Binary files /dev/null and b/docs/API/xran__common_8h_a4e156a8a72cc16b05c6ad0532df4e75a_cgraph.png differ diff --git a/docs/API/xran__common_8h_a595fa22ad1c316d4c7d77f6333478b49_icgraph.map b/docs/API/xran__common_8h_a595fa22ad1c316d4c7d77f6333478b49_icgraph.map new file mode 100644 index 0000000..c0711a6 --- /dev/null +++ b/docs/API/xran__common_8h_a595fa22ad1c316d4c7d77f6333478b49_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/xran__common_8h_a595fa22ad1c316d4c7d77f6333478b49_icgraph.md5 b/docs/API/xran__common_8h_a595fa22ad1c316d4c7d77f6333478b49_icgraph.md5 new file mode 100644 index 0000000..da0d08a --- /dev/null +++ b/docs/API/xran__common_8h_a595fa22ad1c316d4c7d77f6333478b49_icgraph.md5 @@ -0,0 +1 @@ +f4ea8071173a8279ede423c89e446fc0 \ No newline at end of file diff --git a/docs/API/xran__common_8h_a595fa22ad1c316d4c7d77f6333478b49_icgraph.png b/docs/API/xran__common_8h_a595fa22ad1c316d4c7d77f6333478b49_icgraph.png new file mode 100644 index 0000000..99016bf Binary files /dev/null and b/docs/API/xran__common_8h_a595fa22ad1c316d4c7d77f6333478b49_icgraph.png differ diff --git a/docs/API/xran__common_8h_a5f780beefc47e125ffd42fde16117e62_icgraph.map b/docs/API/xran__common_8h_a5f780beefc47e125ffd42fde16117e62_icgraph.map new file mode 100644 index 0000000..a9bb0b8 --- /dev/null +++ b/docs/API/xran__common_8h_a5f780beefc47e125ffd42fde16117e62_icgraph.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/API/xran__common_8h_a5f780beefc47e125ffd42fde16117e62_icgraph.md5 b/docs/API/xran__common_8h_a5f780beefc47e125ffd42fde16117e62_icgraph.md5 new file mode 100644 index 0000000..9dda699 --- /dev/null +++ b/docs/API/xran__common_8h_a5f780beefc47e125ffd42fde16117e62_icgraph.md5 @@ -0,0 +1 @@ +5a8bead079c5db7e1cd6cc02503bc910 \ No newline at end of file diff --git a/docs/API/xran__common_8h_a5f780beefc47e125ffd42fde16117e62_icgraph.png b/docs/API/xran__common_8h_a5f780beefc47e125ffd42fde16117e62_icgraph.png new file mode 100644 index 0000000..f013fa6 Binary files /dev/null and b/docs/API/xran__common_8h_a5f780beefc47e125ffd42fde16117e62_icgraph.png differ diff --git a/docs/API/xran__common_8h_a70d428b456fbe76f8550ff9b782a9e4e_icgraph.map b/docs/API/xran__common_8h_a70d428b456fbe76f8550ff9b782a9e4e_icgraph.map new file mode 100644 index 0000000..aedd69f --- /dev/null +++ b/docs/API/xran__common_8h_a70d428b456fbe76f8550ff9b782a9e4e_icgraph.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/API/xran__common_8h_a70d428b456fbe76f8550ff9b782a9e4e_icgraph.md5 b/docs/API/xran__common_8h_a70d428b456fbe76f8550ff9b782a9e4e_icgraph.md5 new file mode 100644 index 0000000..fc2e97d --- /dev/null +++ b/docs/API/xran__common_8h_a70d428b456fbe76f8550ff9b782a9e4e_icgraph.md5 @@ -0,0 +1 @@ +e6c34cc7fbf7c0180041ad5273243dd8 \ No newline at end of file diff --git a/docs/API/xran__common_8h_a70d428b456fbe76f8550ff9b782a9e4e_icgraph.png b/docs/API/xran__common_8h_a70d428b456fbe76f8550ff9b782a9e4e_icgraph.png new file mode 100644 index 0000000..f4f0ea9 Binary files /dev/null and b/docs/API/xran__common_8h_a70d428b456fbe76f8550ff9b782a9e4e_icgraph.png differ diff --git a/docs/API/xran__common_8h_a761e3947dcc547008a12a9cca10b1ea0_cgraph.map b/docs/API/xran__common_8h_a761e3947dcc547008a12a9cca10b1ea0_cgraph.map new file mode 100644 index 0000000..e5886ac --- /dev/null +++ b/docs/API/xran__common_8h_a761e3947dcc547008a12a9cca10b1ea0_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/xran__common_8h_a761e3947dcc547008a12a9cca10b1ea0_cgraph.md5 b/docs/API/xran__common_8h_a761e3947dcc547008a12a9cca10b1ea0_cgraph.md5 new file mode 100644 index 0000000..02fd47d --- /dev/null +++ b/docs/API/xran__common_8h_a761e3947dcc547008a12a9cca10b1ea0_cgraph.md5 @@ -0,0 +1 @@ +00fd5c2b1d0424a1fec10678ded81612 \ No newline at end of file diff --git a/docs/API/xran__common_8h_a761e3947dcc547008a12a9cca10b1ea0_cgraph.png b/docs/API/xran__common_8h_a761e3947dcc547008a12a9cca10b1ea0_cgraph.png new file mode 100644 index 0000000..cc0b5db Binary files /dev/null and b/docs/API/xran__common_8h_a761e3947dcc547008a12a9cca10b1ea0_cgraph.png differ diff --git a/docs/API/xran__common_8h_a761e3947dcc547008a12a9cca10b1ea0_icgraph.map b/docs/API/xran__common_8h_a761e3947dcc547008a12a9cca10b1ea0_icgraph.map new file mode 100644 index 0000000..706ae1b --- /dev/null +++ b/docs/API/xran__common_8h_a761e3947dcc547008a12a9cca10b1ea0_icgraph.map @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/API/xran__common_8h_a761e3947dcc547008a12a9cca10b1ea0_icgraph.md5 b/docs/API/xran__common_8h_a761e3947dcc547008a12a9cca10b1ea0_icgraph.md5 new file mode 100644 index 0000000..c4b664d --- /dev/null +++ b/docs/API/xran__common_8h_a761e3947dcc547008a12a9cca10b1ea0_icgraph.md5 @@ -0,0 +1 @@ +2ba9b15db68bb41ccd807f2661f10874 \ No newline at end of file diff --git a/docs/API/xran__common_8h_a761e3947dcc547008a12a9cca10b1ea0_icgraph.png b/docs/API/xran__common_8h_a761e3947dcc547008a12a9cca10b1ea0_icgraph.png new file mode 100644 index 0000000..b3029d9 Binary files /dev/null and b/docs/API/xran__common_8h_a761e3947dcc547008a12a9cca10b1ea0_icgraph.png differ diff --git a/docs/API/xran__common_8h_a7c54b342a8b4907858f7f0f074ddd79d_icgraph.map b/docs/API/xran__common_8h_a7c54b342a8b4907858f7f0f074ddd79d_icgraph.map new file mode 100644 index 0000000..a724b53 --- /dev/null +++ b/docs/API/xran__common_8h_a7c54b342a8b4907858f7f0f074ddd79d_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/xran__common_8h_a7c54b342a8b4907858f7f0f074ddd79d_icgraph.md5 b/docs/API/xran__common_8h_a7c54b342a8b4907858f7f0f074ddd79d_icgraph.md5 new file mode 100644 index 0000000..9f94eaf --- /dev/null +++ b/docs/API/xran__common_8h_a7c54b342a8b4907858f7f0f074ddd79d_icgraph.md5 @@ -0,0 +1 @@ +6e50c45ae9e1fbba06a06b8fc3bf6cc1 \ No newline at end of file diff --git a/docs/API/xran__common_8h_a7c54b342a8b4907858f7f0f074ddd79d_icgraph.png b/docs/API/xran__common_8h_a7c54b342a8b4907858f7f0f074ddd79d_icgraph.png new file mode 100644 index 0000000..0a169e8 Binary files /dev/null and b/docs/API/xran__common_8h_a7c54b342a8b4907858f7f0f074ddd79d_icgraph.png differ diff --git a/docs/API/xran__common_8h_a8546e95e2daf30058a66904e7f801723_icgraph.map b/docs/API/xran__common_8h_a8546e95e2daf30058a66904e7f801723_icgraph.map new file mode 100644 index 0000000..2cd1104 --- /dev/null +++ b/docs/API/xran__common_8h_a8546e95e2daf30058a66904e7f801723_icgraph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/API/xran__common_8h_a8546e95e2daf30058a66904e7f801723_icgraph.md5 b/docs/API/xran__common_8h_a8546e95e2daf30058a66904e7f801723_icgraph.md5 new file mode 100644 index 0000000..835434e --- /dev/null +++ b/docs/API/xran__common_8h_a8546e95e2daf30058a66904e7f801723_icgraph.md5 @@ -0,0 +1 @@ +da1129b5d2ffc9a04fd83054a5f41c15 \ No newline at end of file diff --git a/docs/API/xran__common_8h_a8546e95e2daf30058a66904e7f801723_icgraph.png b/docs/API/xran__common_8h_a8546e95e2daf30058a66904e7f801723_icgraph.png new file mode 100644 index 0000000..05eb19e Binary files /dev/null and b/docs/API/xran__common_8h_a8546e95e2daf30058a66904e7f801723_icgraph.png differ diff --git a/docs/API/xran__common_8h_aa09e72e94d2a1d891e86f4c09b0f8b21_icgraph.map b/docs/API/xran__common_8h_aa09e72e94d2a1d891e86f4c09b0f8b21_icgraph.map new file mode 100644 index 0000000..eb8bc61 --- /dev/null +++ b/docs/API/xran__common_8h_aa09e72e94d2a1d891e86f4c09b0f8b21_icgraph.map @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/API/xran__common_8h_aa09e72e94d2a1d891e86f4c09b0f8b21_icgraph.md5 b/docs/API/xran__common_8h_aa09e72e94d2a1d891e86f4c09b0f8b21_icgraph.md5 new file mode 100644 index 0000000..9b6c036 --- /dev/null +++ b/docs/API/xran__common_8h_aa09e72e94d2a1d891e86f4c09b0f8b21_icgraph.md5 @@ -0,0 +1 @@ +746dd0571e491a9c4645aff88f914471 \ No newline at end of file diff --git a/docs/API/xran__common_8h_aa09e72e94d2a1d891e86f4c09b0f8b21_icgraph.png b/docs/API/xran__common_8h_aa09e72e94d2a1d891e86f4c09b0f8b21_icgraph.png new file mode 100644 index 0000000..1a4796b Binary files /dev/null and b/docs/API/xran__common_8h_aa09e72e94d2a1d891e86f4c09b0f8b21_icgraph.png differ diff --git a/docs/API/xran__common_8h_aaa01e98d3b3439a332302aebe21459dd_cgraph.map b/docs/API/xran__common_8h_aaa01e98d3b3439a332302aebe21459dd_cgraph.map new file mode 100644 index 0000000..1313d59 --- /dev/null +++ b/docs/API/xran__common_8h_aaa01e98d3b3439a332302aebe21459dd_cgraph.map @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/docs/API/xran__common_8h_aaa01e98d3b3439a332302aebe21459dd_cgraph.md5 b/docs/API/xran__common_8h_aaa01e98d3b3439a332302aebe21459dd_cgraph.md5 new file mode 100644 index 0000000..59e22a4 --- /dev/null +++ b/docs/API/xran__common_8h_aaa01e98d3b3439a332302aebe21459dd_cgraph.md5 @@ -0,0 +1 @@ +f20bdba6497b6a857fded2d6ad0d9aeb \ No newline at end of file diff --git a/docs/API/xran__common_8h_aaa01e98d3b3439a332302aebe21459dd_cgraph.png b/docs/API/xran__common_8h_aaa01e98d3b3439a332302aebe21459dd_cgraph.png new file mode 100644 index 0000000..b99393d Binary files /dev/null and b/docs/API/xran__common_8h_aaa01e98d3b3439a332302aebe21459dd_cgraph.png differ diff --git a/docs/API/xran__common_8h_aaf7b03037e0687819501554a42fb3c52_icgraph.map b/docs/API/xran__common_8h_aaf7b03037e0687819501554a42fb3c52_icgraph.map new file mode 100644 index 0000000..1f134d1 --- /dev/null +++ b/docs/API/xran__common_8h_aaf7b03037e0687819501554a42fb3c52_icgraph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/API/xran__common_8h_aaf7b03037e0687819501554a42fb3c52_icgraph.md5 b/docs/API/xran__common_8h_aaf7b03037e0687819501554a42fb3c52_icgraph.md5 new file mode 100644 index 0000000..5e49ac0 --- /dev/null +++ b/docs/API/xran__common_8h_aaf7b03037e0687819501554a42fb3c52_icgraph.md5 @@ -0,0 +1 @@ +2a196100582fd092cc8ce2bc15ff9b34 \ No newline at end of file diff --git a/docs/API/xran__common_8h_aaf7b03037e0687819501554a42fb3c52_icgraph.png b/docs/API/xran__common_8h_aaf7b03037e0687819501554a42fb3c52_icgraph.png new file mode 100644 index 0000000..eec72ca Binary files /dev/null and b/docs/API/xran__common_8h_aaf7b03037e0687819501554a42fb3c52_icgraph.png differ diff --git a/docs/API/xran__common_8h_ab39a5770374d16662d62a85504a11930_icgraph.map b/docs/API/xran__common_8h_ab39a5770374d16662d62a85504a11930_icgraph.map new file mode 100644 index 0000000..deef8f4 --- /dev/null +++ b/docs/API/xran__common_8h_ab39a5770374d16662d62a85504a11930_icgraph.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/API/xran__common_8h_ab39a5770374d16662d62a85504a11930_icgraph.md5 b/docs/API/xran__common_8h_ab39a5770374d16662d62a85504a11930_icgraph.md5 new file mode 100644 index 0000000..03bd9fc --- /dev/null +++ b/docs/API/xran__common_8h_ab39a5770374d16662d62a85504a11930_icgraph.md5 @@ -0,0 +1 @@ +7f653b1a094a529eae8235ff26397adb \ No newline at end of file diff --git a/docs/API/xran__common_8h_ab39a5770374d16662d62a85504a11930_icgraph.png b/docs/API/xran__common_8h_ab39a5770374d16662d62a85504a11930_icgraph.png new file mode 100644 index 0000000..9b09699 Binary files /dev/null and b/docs/API/xran__common_8h_ab39a5770374d16662d62a85504a11930_icgraph.png differ diff --git a/docs/API/xran__common_8h_ab67b9cc6e54d8ba3945b265b47af743c_cgraph.map b/docs/API/xran__common_8h_ab67b9cc6e54d8ba3945b265b47af743c_cgraph.map new file mode 100644 index 0000000..94cbbcd --- /dev/null +++ b/docs/API/xran__common_8h_ab67b9cc6e54d8ba3945b265b47af743c_cgraph.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/API/xran__common_8h_ab67b9cc6e54d8ba3945b265b47af743c_cgraph.md5 b/docs/API/xran__common_8h_ab67b9cc6e54d8ba3945b265b47af743c_cgraph.md5 new file mode 100644 index 0000000..a0d7e0c --- /dev/null +++ b/docs/API/xran__common_8h_ab67b9cc6e54d8ba3945b265b47af743c_cgraph.md5 @@ -0,0 +1 @@ +9f1517faf7b637507dbbaee3853f7685 \ No newline at end of file diff --git a/docs/API/xran__common_8h_ab67b9cc6e54d8ba3945b265b47af743c_cgraph.png b/docs/API/xran__common_8h_ab67b9cc6e54d8ba3945b265b47af743c_cgraph.png new file mode 100644 index 0000000..62d757b Binary files /dev/null and b/docs/API/xran__common_8h_ab67b9cc6e54d8ba3945b265b47af743c_cgraph.png differ diff --git a/docs/API/xran__common_8h_ab8a6ed3cee8fa183142d0c23d0b4971d_cgraph.map b/docs/API/xran__common_8h_ab8a6ed3cee8fa183142d0c23d0b4971d_cgraph.map new file mode 100644 index 0000000..6bd4c3d --- /dev/null +++ b/docs/API/xran__common_8h_ab8a6ed3cee8fa183142d0c23d0b4971d_cgraph.map @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/docs/API/xran__common_8h_ab8a6ed3cee8fa183142d0c23d0b4971d_cgraph.md5 b/docs/API/xran__common_8h_ab8a6ed3cee8fa183142d0c23d0b4971d_cgraph.md5 new file mode 100644 index 0000000..c6061e2 --- /dev/null +++ b/docs/API/xran__common_8h_ab8a6ed3cee8fa183142d0c23d0b4971d_cgraph.md5 @@ -0,0 +1 @@ +574eab5ccb224a2c7aa627cc49f1763b \ No newline at end of file diff --git a/docs/API/xran__common_8h_ab8a6ed3cee8fa183142d0c23d0b4971d_cgraph.png b/docs/API/xran__common_8h_ab8a6ed3cee8fa183142d0c23d0b4971d_cgraph.png new file mode 100644 index 0000000..70e68e3 Binary files /dev/null and b/docs/API/xran__common_8h_ab8a6ed3cee8fa183142d0c23d0b4971d_cgraph.png differ diff --git a/docs/API/xran__common_8h_ab8a6ed3cee8fa183142d0c23d0b4971d_icgraph.map b/docs/API/xran__common_8h_ab8a6ed3cee8fa183142d0c23d0b4971d_icgraph.map new file mode 100644 index 0000000..85d2507 --- /dev/null +++ b/docs/API/xran__common_8h_ab8a6ed3cee8fa183142d0c23d0b4971d_icgraph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/API/xran__common_8h_ab8a6ed3cee8fa183142d0c23d0b4971d_icgraph.md5 b/docs/API/xran__common_8h_ab8a6ed3cee8fa183142d0c23d0b4971d_icgraph.md5 new file mode 100644 index 0000000..a21ad84 --- /dev/null +++ b/docs/API/xran__common_8h_ab8a6ed3cee8fa183142d0c23d0b4971d_icgraph.md5 @@ -0,0 +1 @@ +5ad6cbac6755b2e5fb4b6a02aeff114a \ No newline at end of file diff --git a/docs/API/xran__common_8h_ab8a6ed3cee8fa183142d0c23d0b4971d_icgraph.png b/docs/API/xran__common_8h_ab8a6ed3cee8fa183142d0c23d0b4971d_icgraph.png new file mode 100644 index 0000000..ab9b64a Binary files /dev/null and b/docs/API/xran__common_8h_ab8a6ed3cee8fa183142d0c23d0b4971d_icgraph.png differ diff --git a/docs/API/xran__common_8h_ad1ada9c5c57979c50f1a17a9050b8f3a_cgraph.map b/docs/API/xran__common_8h_ad1ada9c5c57979c50f1a17a9050b8f3a_cgraph.map new file mode 100644 index 0000000..df4c8d3 --- /dev/null +++ b/docs/API/xran__common_8h_ad1ada9c5c57979c50f1a17a9050b8f3a_cgraph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/xran__common_8h_ad1ada9c5c57979c50f1a17a9050b8f3a_cgraph.md5 b/docs/API/xran__common_8h_ad1ada9c5c57979c50f1a17a9050b8f3a_cgraph.md5 new file mode 100644 index 0000000..503a95b --- /dev/null +++ b/docs/API/xran__common_8h_ad1ada9c5c57979c50f1a17a9050b8f3a_cgraph.md5 @@ -0,0 +1 @@ +b6a26f8027facd5867ccf94c6fd8342f \ No newline at end of file diff --git a/docs/API/xran__common_8h_ad1ada9c5c57979c50f1a17a9050b8f3a_cgraph.png b/docs/API/xran__common_8h_ad1ada9c5c57979c50f1a17a9050b8f3a_cgraph.png new file mode 100644 index 0000000..e72d9f3 Binary files /dev/null and b/docs/API/xran__common_8h_ad1ada9c5c57979c50f1a17a9050b8f3a_cgraph.png differ diff --git a/docs/API/xran__common_8h_ad1ada9c5c57979c50f1a17a9050b8f3a_icgraph.map b/docs/API/xran__common_8h_ad1ada9c5c57979c50f1a17a9050b8f3a_icgraph.map new file mode 100644 index 0000000..c80ce7d --- /dev/null +++ b/docs/API/xran__common_8h_ad1ada9c5c57979c50f1a17a9050b8f3a_icgraph.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/API/xran__common_8h_ad1ada9c5c57979c50f1a17a9050b8f3a_icgraph.md5 b/docs/API/xran__common_8h_ad1ada9c5c57979c50f1a17a9050b8f3a_icgraph.md5 new file mode 100644 index 0000000..54b6b44 --- /dev/null +++ b/docs/API/xran__common_8h_ad1ada9c5c57979c50f1a17a9050b8f3a_icgraph.md5 @@ -0,0 +1 @@ +37f842f307869c96c3a454b28f432477 \ No newline at end of file diff --git a/docs/API/xran__common_8h_ad1ada9c5c57979c50f1a17a9050b8f3a_icgraph.png b/docs/API/xran__common_8h_ad1ada9c5c57979c50f1a17a9050b8f3a_icgraph.png new file mode 100644 index 0000000..85a3467 Binary files /dev/null and b/docs/API/xran__common_8h_ad1ada9c5c57979c50f1a17a9050b8f3a_icgraph.png differ diff --git a/docs/API/xran__common_8h_ad51ee5b7f1f27c770f1eb658b5ee523e_icgraph.map b/docs/API/xran__common_8h_ad51ee5b7f1f27c770f1eb658b5ee523e_icgraph.map new file mode 100644 index 0000000..b3ee47a --- /dev/null +++ b/docs/API/xran__common_8h_ad51ee5b7f1f27c770f1eb658b5ee523e_icgraph.map @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/docs/API/xran__common_8h_ad51ee5b7f1f27c770f1eb658b5ee523e_icgraph.md5 b/docs/API/xran__common_8h_ad51ee5b7f1f27c770f1eb658b5ee523e_icgraph.md5 new file mode 100644 index 0000000..fbb19e7 --- /dev/null +++ b/docs/API/xran__common_8h_ad51ee5b7f1f27c770f1eb658b5ee523e_icgraph.md5 @@ -0,0 +1 @@ +d93afeffc7fbc6ac2c24e4c23f88f03a \ No newline at end of file diff --git a/docs/API/xran__common_8h_ad51ee5b7f1f27c770f1eb658b5ee523e_icgraph.png b/docs/API/xran__common_8h_ad51ee5b7f1f27c770f1eb658b5ee523e_icgraph.png new file mode 100644 index 0000000..262cb5d Binary files /dev/null and b/docs/API/xran__common_8h_ad51ee5b7f1f27c770f1eb658b5ee523e_icgraph.png differ diff --git a/docs/API/xran__common_8h_ad749041bcf50616bac96e4d13b661272_cgraph.map b/docs/API/xran__common_8h_ad749041bcf50616bac96e4d13b661272_cgraph.map new file mode 100644 index 0000000..0eded88 --- /dev/null +++ b/docs/API/xran__common_8h_ad749041bcf50616bac96e4d13b661272_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/xran__common_8h_ad749041bcf50616bac96e4d13b661272_cgraph.md5 b/docs/API/xran__common_8h_ad749041bcf50616bac96e4d13b661272_cgraph.md5 new file mode 100644 index 0000000..ecd6acc --- /dev/null +++ b/docs/API/xran__common_8h_ad749041bcf50616bac96e4d13b661272_cgraph.md5 @@ -0,0 +1 @@ +d1414619cf66433b53e71305e8d1b6a2 \ No newline at end of file diff --git a/docs/API/xran__common_8h_ad749041bcf50616bac96e4d13b661272_cgraph.png b/docs/API/xran__common_8h_ad749041bcf50616bac96e4d13b661272_cgraph.png new file mode 100644 index 0000000..d85e245 Binary files /dev/null and b/docs/API/xran__common_8h_ad749041bcf50616bac96e4d13b661272_cgraph.png differ diff --git a/docs/API/xran__common_8h_ad749041bcf50616bac96e4d13b661272_icgraph.map b/docs/API/xran__common_8h_ad749041bcf50616bac96e4d13b661272_icgraph.map new file mode 100644 index 0000000..3560f6a --- /dev/null +++ b/docs/API/xran__common_8h_ad749041bcf50616bac96e4d13b661272_icgraph.map @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/docs/API/xran__common_8h_ad749041bcf50616bac96e4d13b661272_icgraph.md5 b/docs/API/xran__common_8h_ad749041bcf50616bac96e4d13b661272_icgraph.md5 new file mode 100644 index 0000000..60bd34e --- /dev/null +++ b/docs/API/xran__common_8h_ad749041bcf50616bac96e4d13b661272_icgraph.md5 @@ -0,0 +1 @@ +844856a2d520e510740c13351bf4f7c6 \ No newline at end of file diff --git a/docs/API/xran__common_8h_ad749041bcf50616bac96e4d13b661272_icgraph.png b/docs/API/xran__common_8h_ad749041bcf50616bac96e4d13b661272_icgraph.png new file mode 100644 index 0000000..3584a18 Binary files /dev/null and b/docs/API/xran__common_8h_ad749041bcf50616bac96e4d13b661272_icgraph.png differ diff --git a/docs/API/xran__common_8h_ada345a8a99480787d4274a342aa39535_icgraph.map b/docs/API/xran__common_8h_ada345a8a99480787d4274a342aa39535_icgraph.map new file mode 100644 index 0000000..f6c865e --- /dev/null +++ b/docs/API/xran__common_8h_ada345a8a99480787d4274a342aa39535_icgraph.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/API/xran__common_8h_ada345a8a99480787d4274a342aa39535_icgraph.md5 b/docs/API/xran__common_8h_ada345a8a99480787d4274a342aa39535_icgraph.md5 new file mode 100644 index 0000000..9ed1762 --- /dev/null +++ b/docs/API/xran__common_8h_ada345a8a99480787d4274a342aa39535_icgraph.md5 @@ -0,0 +1 @@ +6c34f2fe3f9d2159961417a15620a03e \ No newline at end of file diff --git a/docs/API/xran__common_8h_ada345a8a99480787d4274a342aa39535_icgraph.png b/docs/API/xran__common_8h_ada345a8a99480787d4274a342aa39535_icgraph.png new file mode 100644 index 0000000..198b65a Binary files /dev/null and b/docs/API/xran__common_8h_ada345a8a99480787d4274a342aa39535_icgraph.png differ diff --git a/docs/API/xran__common_8h_adbe808fba48ef1390180fb1bdc68c1d7_cgraph.map b/docs/API/xran__common_8h_adbe808fba48ef1390180fb1bdc68c1d7_cgraph.map new file mode 100644 index 0000000..d5dee67 --- /dev/null +++ b/docs/API/xran__common_8h_adbe808fba48ef1390180fb1bdc68c1d7_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/xran__common_8h_adbe808fba48ef1390180fb1bdc68c1d7_cgraph.md5 b/docs/API/xran__common_8h_adbe808fba48ef1390180fb1bdc68c1d7_cgraph.md5 new file mode 100644 index 0000000..845cb94 --- /dev/null +++ b/docs/API/xran__common_8h_adbe808fba48ef1390180fb1bdc68c1d7_cgraph.md5 @@ -0,0 +1 @@ +69225a3826cd85b969a88b319baac004 \ No newline at end of file diff --git a/docs/API/xran__common_8h_adbe808fba48ef1390180fb1bdc68c1d7_cgraph.png b/docs/API/xran__common_8h_adbe808fba48ef1390180fb1bdc68c1d7_cgraph.png new file mode 100644 index 0000000..89df799 Binary files /dev/null and b/docs/API/xran__common_8h_adbe808fba48ef1390180fb1bdc68c1d7_cgraph.png differ diff --git a/docs/API/xran__common_8h_adc9636576fb70f4b4fcfd1d03fe59998_cgraph.map b/docs/API/xran__common_8h_adc9636576fb70f4b4fcfd1d03fe59998_cgraph.map new file mode 100644 index 0000000..69ed89e --- /dev/null +++ b/docs/API/xran__common_8h_adc9636576fb70f4b4fcfd1d03fe59998_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/xran__common_8h_adc9636576fb70f4b4fcfd1d03fe59998_cgraph.md5 b/docs/API/xran__common_8h_adc9636576fb70f4b4fcfd1d03fe59998_cgraph.md5 new file mode 100644 index 0000000..720587d --- /dev/null +++ b/docs/API/xran__common_8h_adc9636576fb70f4b4fcfd1d03fe59998_cgraph.md5 @@ -0,0 +1 @@ +00380e3bca1b962dcc30f2f70e916d76 \ No newline at end of file diff --git a/docs/API/xran__common_8h_adc9636576fb70f4b4fcfd1d03fe59998_cgraph.png b/docs/API/xran__common_8h_adc9636576fb70f4b4fcfd1d03fe59998_cgraph.png new file mode 100644 index 0000000..1e4833c Binary files /dev/null and b/docs/API/xran__common_8h_adc9636576fb70f4b4fcfd1d03fe59998_cgraph.png differ diff --git a/docs/API/xran__common_8h_adc9636576fb70f4b4fcfd1d03fe59998_icgraph.map b/docs/API/xran__common_8h_adc9636576fb70f4b4fcfd1d03fe59998_icgraph.map new file mode 100644 index 0000000..42bf0ed --- /dev/null +++ b/docs/API/xran__common_8h_adc9636576fb70f4b4fcfd1d03fe59998_icgraph.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/API/xran__common_8h_adc9636576fb70f4b4fcfd1d03fe59998_icgraph.md5 b/docs/API/xran__common_8h_adc9636576fb70f4b4fcfd1d03fe59998_icgraph.md5 new file mode 100644 index 0000000..09bb20f --- /dev/null +++ b/docs/API/xran__common_8h_adc9636576fb70f4b4fcfd1d03fe59998_icgraph.md5 @@ -0,0 +1 @@ +c31003b951a95670fef99ab32eb8efec \ No newline at end of file diff --git a/docs/API/xran__common_8h_adc9636576fb70f4b4fcfd1d03fe59998_icgraph.png b/docs/API/xran__common_8h_adc9636576fb70f4b4fcfd1d03fe59998_icgraph.png new file mode 100644 index 0000000..0d395fd Binary files /dev/null and b/docs/API/xran__common_8h_adc9636576fb70f4b4fcfd1d03fe59998_icgraph.png differ diff --git a/docs/API/xran__common_8h_ae3663b3f472b4003acc7f91e61669735_icgraph.map b/docs/API/xran__common_8h_ae3663b3f472b4003acc7f91e61669735_icgraph.map new file mode 100644 index 0000000..092359a --- /dev/null +++ b/docs/API/xran__common_8h_ae3663b3f472b4003acc7f91e61669735_icgraph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/API/xran__common_8h_ae3663b3f472b4003acc7f91e61669735_icgraph.md5 b/docs/API/xran__common_8h_ae3663b3f472b4003acc7f91e61669735_icgraph.md5 new file mode 100644 index 0000000..7ce5c78 --- /dev/null +++ b/docs/API/xran__common_8h_ae3663b3f472b4003acc7f91e61669735_icgraph.md5 @@ -0,0 +1 @@ +1aec8c609039662aaada5baa8f382e4c \ No newline at end of file diff --git a/docs/API/xran__common_8h_ae3663b3f472b4003acc7f91e61669735_icgraph.png b/docs/API/xran__common_8h_ae3663b3f472b4003acc7f91e61669735_icgraph.png new file mode 100644 index 0000000..3a9b68f Binary files /dev/null and b/docs/API/xran__common_8h_ae3663b3f472b4003acc7f91e61669735_icgraph.png differ diff --git a/docs/API/xran__common_8h_ae6070ee9caf6a7ea8d7ef052ed0a559a_icgraph.map b/docs/API/xran__common_8h_ae6070ee9caf6a7ea8d7ef052ed0a559a_icgraph.map new file mode 100644 index 0000000..0cd9ebe --- /dev/null +++ b/docs/API/xran__common_8h_ae6070ee9caf6a7ea8d7ef052ed0a559a_icgraph.map @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/API/xran__common_8h_ae6070ee9caf6a7ea8d7ef052ed0a559a_icgraph.md5 b/docs/API/xran__common_8h_ae6070ee9caf6a7ea8d7ef052ed0a559a_icgraph.md5 new file mode 100644 index 0000000..d3e5fc0 --- /dev/null +++ b/docs/API/xran__common_8h_ae6070ee9caf6a7ea8d7ef052ed0a559a_icgraph.md5 @@ -0,0 +1 @@ +f89f22beae6f0df55557e9611a55cfc1 \ No newline at end of file diff --git a/docs/API/xran__common_8h_ae6070ee9caf6a7ea8d7ef052ed0a559a_icgraph.png b/docs/API/xran__common_8h_ae6070ee9caf6a7ea8d7ef052ed0a559a_icgraph.png new file mode 100644 index 0000000..af98e83 Binary files /dev/null and b/docs/API/xran__common_8h_ae6070ee9caf6a7ea8d7ef052ed0a559a_icgraph.png differ diff --git a/docs/API/xran__common_8h_source.html b/docs/API/xran__common_8h_source.html new file mode 100644 index 0000000..d451996 --- /dev/null +++ b/docs/API/xran__common_8h_source.html @@ -0,0 +1,229 @@ + + + + + + + +o-du/phy: xran_common.h Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    xran_common.h
    +
    +
    +Go to the documentation of this file.
    1 /******************************************************************************
    2 *
    3 * Copyright (c) 2019 Intel.
    4 *
    5 * Licensed under the Apache License, Version 2.0 (the "License");
    6 * you may not use this file except in compliance with the License.
    7 * You may obtain a copy of the License at
    8 *
    9 * http://www.apache.org/licenses/LICENSE-2.0
    10 *
    11 * Unless required by applicable law or agreed to in writing, software
    12 * distributed under the License is distributed on an "AS IS" BASIS,
    13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    14 * See the License for the specific language governing permissions and
    15 * limitations under the License.
    16 *
    17 *******************************************************************************/
    18 
    27 #ifndef _XRAN_COMMON_H_
    28 #define _XRAN_COMMON_H_
    29 
    30 #ifdef __cplusplus
    31 extern "C" {
    32 #endif
    33 
    34 #include <stdio.h>
    35 #include <unistd.h>
    36 #include <sys/param.h>
    37 #include <sys/queue.h>
    38 
    39 #include <rte_common.h>
    40 #include <rte_mbuf.h>
    41 #include <rte_timer.h>
    42 
    43 #include "xran_fh_o_du.h"
    44 #include "xran_pkt_up.h"
    45 #include "xran_cp_api.h"
    46 
    47 #define O_DU 0
    48 #define O_RU 1
    49 
    50 #define N_SC_PER_PRB 12
    51 #define MAX_N_FULLBAND_SC 273
    52 #define N_SYM_PER_SLOT 14
    53 #define SUBFRAME_DURATION_US 1000
    54 #define SLOTNUM_PER_SUBFRAME (SUBFRAME_DURATION_US/interval_us)
    55 #define SUBFRAMES_PER_SYSTEMFRAME 10
    56 #define SLOTS_PER_SYSTEMFRAME (SLOTNUM_PER_SUBFRAME*SUBFRAMES_PER_SYSTEMFRAME)
    57 
    58 /* PRACH data samples are 32 bits wide, 16bits for I and 16bits for Q. Each packet contains 839 samples for long sequence or 144*14 (max) for short sequence. The payload length is 3356 octets.*/
    59 #define PRACH_PLAYBACK_BUFFER_BYTES (144*14*4L)
    60 
    61 #define PRACH_SRS_BUFFER_BYTES (144*14*4L)
    62 
    64 #define XRAN_MAX_NUM_SECTIONS (N_SYM_PER_SLOT* (XRAN_MAX_ANTENNA_NR*2) + XRAN_MAX_ANT_ARRAY_ELM_NR)
    65 
    66 #define XRAN_MAX_MBUF_LEN 9600
    67 #define NSEC_PER_SEC 1000000000L
    68 #define TIMER_RESOLUTION_CYCLES 1596*1 /* 1us */
    69 #define XRAN_RING_SIZE 512 /*4*14*8 pow of 2 */
    70 #define XRAN_NAME_MAX_LEN (64)
    71 #define XRAN_RING_NUM (3)
    72 
    73 #define XranDiffSymIdx(prevSymIdx, currSymIdx, numTotalSymIdx) ((prevSymIdx > currSymIdx) ? ((currSymIdx + numTotalSymIdx) - prevSymIdx) : (currSymIdx - prevSymIdx))
    74 
    75 #define XRAN_MLOG_VAR 0
    77 /* PRACH configuration table defines */
    78 #define XRAN_PRACH_CANDIDATE_PREAMBLE (2)
    79 #define XRAN_PRACH_CANDIDATE_Y (2)
    80 #define XRAN_PRACH_CANDIDATE_SLOT (40)
    81 #define XRAN_PRACH_CONFIG_TABLE_SIZE (256)
    82 #define XRAN_PRACH_PREAMBLE_FORMAT_OF_ABC (9)
    83 typedef enum
    84 {
    85  FORMAT_0 = 0,
    100 
    101 /* add PRACH used config table, same structure as used in refPHY */
    102 typedef struct
    103 {
    104  uint8_t prachConfigIdx;
    105  uint8_t preambleFmrt[XRAN_PRACH_CANDIDATE_PREAMBLE];
    106  uint8_t x;
    108  uint8_t slotNr[XRAN_PRACH_CANDIDATE_SLOT];
    109  uint8_t slotNrNum;
    110  uint8_t startingSym;
    113  uint8_t duration;
    115 
    116 typedef struct
    117 {
    118  uint8_t preambleFmrt;
    119  uint16_t lRALen;
    120  uint8_t fRA;
    121  uint32_t nu;
    122  uint16_t nRaCp;
    124 
    126 {
    127  uint8_t filterIdx;
    128  uint8_t startSymId;
    129  uint16_t startPrbc;
    130  uint8_t numPrbc;
    131  uint8_t numSymbol;
    132  uint16_t timeOffset;
    133  int32_t freqOffset;
    136  uint8_t x;
    139  uint8_t eAxC_offset;
    140 };
    141 
    142 #define XRAN_MAX_POOLS_PER_SECTOR_NR 8
    144 typedef struct sectorHandleInfo
    145 {
    148  uint16_t nIndex;
    149  uint16_t nXranPort;
    150  /* Unique ID of an handle shared between phy layer and library */
    154  struct rte_mempool * p_bufferPool[XRAN_MAX_POOLS_PER_SECTOR_NR];
    155  uint32_t bufferPoolElmSz[XRAN_MAX_POOLS_PER_SECTOR_NR];
    156  uint32_t bufferPoolNumElm[XRAN_MAX_POOLS_PER_SECTOR_NR];
    157 
    159 
    160 typedef void (*XranSymCallbackFn)(struct rte_timer *tim, void* arg);
    161 
    165  LIST_ENTRY(cb_elem_entry) pointers;
    166 };
    167 
    168 /* Callback function to send mbuf to the ring */
    169 typedef int (*xran_ethdi_mbuf_send_fn)(struct rte_mbuf *mb, uint16_t ethertype);
    170 
    171 /*
    172  * manage one cell's all Ethernet frames for one DL or UL LTE subframe
    173  */
    174 typedef struct {
    175  /* -1-this subframe is not used in current frame format
    176  0-this subframe can be transmitted, i.e., data is ready
    177  1-this subframe is waiting transmission, i.e., data is not ready
    178  10 - DL transmission missing deadline. When FE needs this subframe data but bValid is still 1,
    179  set bValid to 10.
    180  */
    181  int32_t bValid ; // when UL rx, it is subframe index.
    182  int32_t nSegToBeGen;
    183  int32_t nSegGenerated; // how many date segment are generated by DL LTE processing or received from FE
    184  // -1 means that DL packet to be transmitted is not ready in BS
    185  int32_t nSegTransferred; // number of data segments has been transmitted or received
    186  struct rte_mbuf *pData[XRAN_N_MAX_BUFFER_SEGMENT]; // point to DPDK allocated memory pool
    187  struct xran_buffer_list sBufferList;
    189 
    190 
    191 #define XranIncrementJob(i) ((i >= (XRAN_SYM_JOB_SIZE-1)) ? 0 : (i+1))
    192 
    193 #define XRAN_MAX_PKT_BURST_PER_SYM 32
    194 #define XRAN_MAX_PACKET_FRAG 9
    195 
    196 #define MBUF_TABLE_SIZE (2 * MAX(XRAN_MAX_PKT_BURST_PER_SYM, XRAN_MAX_PACKET_FRAG))
    197 
    198 struct mbuf_table {
    199  uint16_t len;
    200  struct rte_mbuf *m_table[MBUF_TABLE_SIZE];
    201 };
    202 
    204 {
    205  uint8_t sector_id;
    206  uint8_t xran_port_id;
    207  struct xran_eaxcid_config eAxc_id_cfg;
    208  struct xran_fh_init fh_init;
    209  struct xran_fh_config fh_cfg;
    210  struct xran_prach_cp_config PrachCPConfig;
    211 
    212  uint32_t enablePrach;
    213  uint32_t enableCP;
    214 
    216  int64_t offset_sec;
    217  int64_t offset_nsec; //offset to GPS time calcuated based on alpha and beta
    218 
    219  uint32_t enableSrs;
    220  struct xran_srs_config srs_cfg;
    222  BbuIoBufCtrlStruct sFrontHaulTxBbuIoBufCtrl[XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR];
    223  BbuIoBufCtrlStruct sFrontHaulTxPrbMapBbuIoBufCtrl[XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR];
    224  BbuIoBufCtrlStruct sFrontHaulRxBbuIoBufCtrl[XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR];
    225  BbuIoBufCtrlStruct sFrontHaulRxPrbMapBbuIoBufCtrl[XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR];
    226  BbuIoBufCtrlStruct sFHPrachRxBbuIoBufCtrl[XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR];
    227  BbuIoBufCtrlStruct sFHSrsRxBbuIoBufCtrl[XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANT_ARRAY_ELM_NR];
    228 
    229  /* buffers lists */
    235 
    237 
    239  void *pCallbackTag[XRAN_MAX_SECTOR_NR];
    240 
    242  void *pPrachCallbackTag[XRAN_MAX_SECTOR_NR];
    243 
    245  void *pSrsCallbackTag[XRAN_MAX_SECTOR_NR];
    246 
    247  LIST_HEAD(sym_cb_elem_list, cb_elem_entry) sym_cb_list_head[XRAN_MAX_SECTOR_NR][XRAN_NUM_OF_SYMBOL_PER_SLOT];
    248 
    249  int32_t sym_up;
    250  int32_t sym_up_ul;
    251 
    253  void *TtiCbParam[XRAN_CB_MAX];
    254  uint32_t SkipTti[XRAN_CB_MAX];
    255 
    257 
    260  int rx_packet_callback_tracker[XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR];
    261  int rx_packet_prach_callback_tracker[XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR];
    262  int prach_start_symbol[XRAN_MAX_SECTOR_NR];
    263  int prach_last_symbol[XRAN_MAX_SECTOR_NR];
    264 
    266 
    267  struct rte_mempool *direct_pool;
    268  struct rte_mempool *indirect_pool;
    269  struct mbuf_table tx_mbufs[RTE_MAX_ETHPORTS];
    270 
    271  struct xran_common_counters fh_counters;
    272 
    278 };
    279 
    280 extern long rx_counter;
    281 extern long tx_counter;
    282 extern long tx_bytes_counter;
    283 extern long rx_bytes_counter;
    284 extern long tx_bytes_per_sec;
    285 extern long rx_bytes_per_sec;
    286 
    287 
    292 
    293 int process_mbuf(struct rte_mbuf *pkt);
    294 int process_ring(struct rte_ring *r);
    295 int ring_processing_thread(void *args);
    296 int packets_dump_thread(void *args);
    297 
    298 int send_symbol_ex(enum xran_pkt_dir direction,
    299  uint16_t section_id,
    300  struct rte_mbuf *mb,
    301  struct rb_map *data,
    302  const enum xran_input_byte_order iq_buf_byte_order,
    303  uint8_t frame_id,
    304  uint8_t subframe_id,
    305  uint8_t slot_id,
    306  uint8_t symbol_no,
    307  int prb_start,
    308  int prb_num,
    309  uint8_t CC_ID,
    310  uint8_t RU_Port_ID,
    311  uint8_t seq_id);
    312 
    313 int32_t prepare_symbol_ex(enum xran_pkt_dir direction,
    314  uint16_t section_id,
    315  struct rte_mbuf *mb,
    316  struct rb_map *data,
    317  uint8_t compMeth,
    318  uint8_t iqWidth,
    319  const enum xran_input_byte_order iq_buf_byte_order,
    320  uint8_t frame_id,
    321  uint8_t subframe_id,
    322  uint8_t slot_id,
    323  uint8_t symbol_no,
    324  int prb_start,
    325  int prb_num,
    326  uint8_t CC_ID,
    327  uint8_t RU_Port_ID,
    328  uint8_t seq_id,
    329  uint32_t do_copy);
    330 
    331 int send_cpmsg(void *pHandle, struct rte_mbuf *mbuf,struct xran_cp_gen_params *params,
    332  struct xran_section_gen_info *sect_geninfo, uint8_t cc_id, uint8_t ru_port_id, uint8_t seq_id);
    333 
    334 int32_t generate_cpmsg_dlul(void *pHandle, struct xran_cp_gen_params *params, struct xran_section_gen_info *sect_geninfo, struct rte_mbuf *mbuf,
    335  enum xran_pkt_dir dir, uint8_t frame_id, uint8_t subframe_id, uint8_t slot_id,
    336  uint8_t startsym, uint8_t numsym, uint16_t prb_start, uint16_t prb_num,int16_t iq_buffer_offset, int16_t iq_buffer_len,
    337  uint16_t beam_id, uint8_t cc_id, uint8_t ru_port_id, uint8_t comp_method, uint8_t iqWidth, uint8_t seq_id, uint8_t symInc);
    338 
    339 int generate_cpmsg_prach(void *pHandle, struct xran_cp_gen_params *params, struct xran_section_gen_info *sect_geninfo, struct rte_mbuf *mbuf, struct xran_device_ctx *pxran_lib_ctx,
    340  uint8_t frame_id, uint8_t subframe_id, uint8_t slot_id,
    341  uint16_t beam_id, uint8_t cc_id, uint8_t prach_port_id, uint8_t seq_id);
    342 
    343 struct xran_eaxcid_config *xran_get_conf_eAxC(void *pHandle);
    344 uint8_t xran_get_conf_prach_scs(void *pHandle);
    345 uint8_t xran_get_conf_fftsize(void *pHandle);
    346 uint8_t xran_get_conf_numerology(void *pHandle);
    347 uint8_t xran_get_conf_iqwidth(void *pHandle);
    348 uint8_t xran_get_conf_compmethod(void *pHandle);
    349 uint8_t xran_get_conf_num_bfweights(void *pHandle);
    350 
    351 uint8_t xran_get_num_cc(void *pHandle);
    352 uint8_t xran_get_num_eAxc(void *pHandle);
    353 uint8_t xran_get_num_eAxcUl(void *pHandle);
    354 uint8_t xran_get_num_ant_elm(void *pHandle);
    355 enum xran_category xran_get_ru_category(void *pHandle);
    356 
    357 struct xran_device_ctx *xran_dev_get_ctx(void);
    358 
    360 
    361 uint16_t xran_alloc_sectionid(void *pHandle, uint8_t dir, uint8_t cc_id, uint8_t ant_id, uint8_t slot_id);
    362 uint8_t xran_get_seqid(void *pHandle, uint8_t dir, uint8_t cc_id, uint8_t ant_id, uint8_t slot_id);
    363 int32_t ring_processing_func(void);
    364 int xran_init_prach(struct xran_fh_config* pConf, struct xran_device_ctx * p_xran_dev_ctx);
    365 void xran_updateSfnSecStart(void);
    366 
    367 struct cb_elem_entry *xran_create_cb(XranSymCallbackFn cb_fn, void *cb_data);
    368 int xran_destroy_cb(struct cb_elem_entry * cb_elm);
    369 
    370 #ifdef __cplusplus
    371 }
    372 #endif
    373 
    374 #endif
    375 
    const xRANPrachConfigTableStruct gxranPrachDataTable_sub6_fdd[XRAN_PRACH_CONFIG_TABLE_SIZE]
    + +
    uint16_t xran_alloc_sectionid(void *pHandle, uint8_t dir, uint8_t cc_id, uint8_t ant_id, uint8_t slot_id)
    Definition: xran_main.c:379
    + +
    uint8_t xran_get_conf_fftsize(void *pHandle)
    Get the configuration of FFT size for RU.
    Definition: xran_main.c:2985
    +
    uint8_t xran_get_conf_numerology(void *pHandle)
    Get the configuration of nummerology.
    Definition: xran_main.c:2995
    + +
    int xran_register_cb_mbuf2ring(xran_ethdi_mbuf_send_fn mbuf_send_cp, xran_ethdi_mbuf_send_fn mbuf_send_up)
    Definition: xran_main.c:2918
    +
    const xRANPrachConfigTableStruct gxranPrachDataTable_sub6_tdd[XRAN_PRACH_CONFIG_TABLE_SIZE]
    + +
    #define XRAN_MAX_ANT_ARRAY_ELM_NR
    Definition: xran_fh_o_du.h:118
    + +
    int process_mbuf(struct rte_mbuf *pkt)
    Definition: xran_common.c:143
    +
    uint8_t xran_get_num_eAxc(void *pHandle)
    Get the configuration of the number of antenna for UL.
    Definition: xran_main.c:3039
    +
    #define XRAN_N_FE_BUF_LEN
    Definition: xran_fh_o_du.h:109
    +
    xran_pkt_dir
    Definition: xran_pkt.h:146
    + +
    uint8_t xran_get_seqid(void *pHandle, uint8_t dir, uint8_t cc_id, uint8_t ant_id, uint8_t slot_id)
    + +
    uint8_t xran_port_id
    Definition: xran_common.h:206
    +
    uint16_t len
    Definition: xran_common.h:199
    + +
    uint8_t y[XRAN_PRACH_CANDIDATE_Y]
    Definition: xran_common.h:137
    + +
    long rx_counter
    Definition: xran_common.c:117
    +
    xran_category
    Definition: xran_fh_o_du.h:262
    + +
    long tx_bytes_counter
    Definition: xran_common.c:119
    +
    int16_t(* phy_decoder_poll_fn)(void)
    Definition: xran_fh_o_du.h:251
    + + + +
    xran_ethdi_mbuf_send_fn send_upmbuf2ring
    Definition: xran_common.h:277
    +
    int xran_destroy_cb(struct cb_elem_entry *cb_elm)
    Definition: xran_common.c:136
    +
    uint32_t symInc
    Definition: xran_pkt_cp.h:242
    +
    long rx_bytes_per_sec
    Definition: xran_common.c:122
    + +
    #define XRAN_MAX_SECTOR_NR
    Definition: xran_fh_o_du.h:110
    +
    #define XRAN_PRACH_CONFIG_TABLE_SIZE
    Definition: xran_common.h:81
    +
    const xRANPrachConfigTableStruct gxranPrachDataTable_mmw[XRAN_PRACH_CONFIG_TABLE_SIZE]
    +
    uint8_t xran_get_num_eAxcUl(void *pHandle)
    Get the configuration of the number of antenna.
    Definition: xran_main.c:3059
    +
    PreambleFormatEnum
    Definition: xran_common.h:83
    +
    xran_ethdi_mbuf_send_fn send_cpmbuf2ring
    Definition: xran_common.h:276
    +
    struct rte_mempool * indirect_pool
    Definition: xran_common.h:268
    + + +
    struct xran_eaxcid_config * xran_get_conf_eAxC(void *pHandle)
    Get the configuration of eAxC ID.
    Definition: xran_main.c:2955
    +
    long tx_bytes_per_sec
    Definition: xran_common.c:121
    +
    #define XRAN_MAX_POOLS_PER_SECTOR_NR
    Definition: xran_common.h:142
    +
    #define XRAN_N_MAX_BUFFER_SEGMENT
    Definition: xran_fh_o_du.h:133
    +
    #define XRAN_MAX_ANTENNA_NR
    Definition: xran_fh_o_du.h:111
    +
    int ring_processing_thread(void *args)
    Definition: xran_common.c:742
    + +
    uint8_t xran_get_conf_prach_scs(void *pHandle)
    Get the configuration of subcarrier spacing for PRACH.
    Definition: xran_main.c:2975
    +
    void * pSymCallbackTag
    Definition: xran_common.h:164
    + + + +
    uint8_t occassionsInPrachSlot
    Definition: xran_common.h:135
    +
    struct cb_elem_entry * xran_create_cb(XranSymCallbackFn cb_fn, void *cb_data)
    Definition: xran_common.c:125
    +
    #define XRAN_PRACH_CANDIDATE_PREAMBLE
    Definition: xran_common.h:78
    + +
    Definition: xran_common.h:162
    +
    int xran_init_prach(struct xran_fh_config *pConf, struct xran_device_ctx *p_xran_dev_ctx)
    Definition: xran_main.c:308
    + +
    long tx_counter
    Definition: xran_common.c:118
    +
    #define XRAN_PRACH_CANDIDATE_SLOT
    Definition: xran_common.h:80
    +
    int32_t sym_up_ul
    Definition: xran_common.h:250
    + +
    int32_t DynamicSectionEna
    Definition: xran_common.h:215
    + + + +
    struct xran_device_ctx * xran_dev_get_ctx(void)
    Definition: xran_main.c:223
    +
    long rx_bytes_counter
    Definition: xran_common.c:120
    +
    phy_decoder_poll_fn bbdev_dec
    Definition: xran_common.h:274
    +
    uint32_t enableCP
    Definition: xran_common.h:213
    +
    #define MBUF_TABLE_SIZE
    Definition: xran_common.h:196
    + +
    int send_cpmsg(void *pHandle, struct rte_mbuf *mbuf, struct xran_cp_gen_params *params, struct xran_section_gen_info *sect_geninfo, uint8_t cc_id, uint8_t ru_port_id, uint8_t seq_id)
    Definition: xran_common.c:510
    + + + +
    uint8_t xran_get_conf_num_bfweights(void *pHandle)
    Get the configuration of the total number of beamforming weights on RU.
    Definition: xran_main.c:2965
    +
    xran_input_byte_order
    Definition: xran_fh_o_du.h:471
    +
    int64_t offset_sec
    Definition: xran_common.h:216
    +
    uint16_t nXranPort
    Definition: xran_common.h:149
    + +
    int32_t ring_processing_func(void)
    Definition: xran_common.c:700
    +
    uint8_t xran_get_num_ant_elm(void *pHandle)
    Get the configuration of the number of antenna elements.
    Definition: xran_main.c:3069
    + +
    uint32_t enablePrach
    Definition: xran_common.h:212
    +
    uint8_t sector_id
    Definition: xran_common.h:205
    +
    void(* XranSymCallbackFn)(struct rte_timer *tim, void *arg)
    Definition: xran_common.h:160
    +
    uint8_t xran_get_num_cc(void *pHandle)
    Get the configuration of the number of component carriers.
    Definition: xran_main.c:3029
    +
    int32_t prepare_symbol_ex(enum xran_pkt_dir direction, uint16_t section_id, struct rte_mbuf *mb, struct rb_map *data, uint8_t compMeth, uint8_t iqWidth, const enum xran_input_byte_order iq_buf_byte_order, uint8_t frame_id, uint8_t subframe_id, uint8_t slot_id, uint8_t symbol_no, int prb_start, int prb_num, uint8_t CC_ID, uint8_t RU_Port_ID, uint8_t seq_id, uint32_t do_copy)
    Definition: xran_common.c:348
    +
    #define XRAN_PRACH_CANDIDATE_Y
    Definition: xran_common.h:79
    + +
    const xRANPrachPreambleLRAStruct gxranPreambleforLRA[13]
    +
    uint32_t enableSrs
    Definition: xran_common.h:219
    +
    struct sectorHandleInfo XranSectorHandleInfo
    + + +
    uint8_t xran_get_conf_compmethod(void *pHandle)
    Get the configuration of compression method for RU.
    Definition: xran_main.c:3018
    + +
    enum xran_category xran_get_ru_category(void *pHandle)
    Get configuration of O-RU (Cat A or Cat B)
    Definition: xran_main.c:3049
    +
    int(* xran_fh_tti_callback_fn)(void *)
    Definition: xran_fh_o_du.h:242
    + + +
    #define XRAN_MAX_NUM_OF_SRS_SYMBOL_PER_SLOT
    Definition: xran_fh_o_du.h:123
    +
    #define XRAN_NUM_OF_SYMBOL_PER_SLOT
    Definition: xran_fh_o_du.h:122
    +
    void xran_updateSfnSecStart(void)
    Definition: xran_main.c:201
    + +
    uint8_t isPRACHslot[XRAN_PRACH_CANDIDATE_SLOT]
    Definition: xran_common.h:138
    +
    uint8_t xran_get_conf_iqwidth(void *pHandle)
    Get the configuration of IQ bit width for RU.
    Definition: xran_main.c:3005
    +
    This file provides public interface to xRAN Front Haul layer implementation as defined in the ORAN-WG...
    + + +
    uint16_t ethertype
    Definition: ethdi.c:114
    +
    Definitions and support functions to process XRAN packet.
    +
    struct rte_mempool * direct_pool
    Definition: xran_common.h:267
    +
    int packets_dump_thread(void *args)
    +
    XranSymCallbackFn pSymCallback
    Definition: xran_common.h:163
    + + + +
    int16_t(* phy_encoder_poll_fn)(void)
    Definition: xran_fh_o_du.h:248
    + +
    int send_symbol_ex(enum xran_pkt_dir direction, uint16_t section_id, struct rte_mbuf *mb, struct rb_map *data, const enum xran_input_byte_order iq_buf_byte_order, uint8_t frame_id, uint8_t subframe_id, uint8_t slot_id, uint8_t symbol_no, int prb_start, int prb_num, uint8_t CC_ID, uint8_t RU_Port_ID, uint8_t seq_id)
    Definition: xran_common.c:436
    + + + +
    int32_t generate_cpmsg_dlul(void *pHandle, struct xran_cp_gen_params *params, struct xran_section_gen_info *sect_geninfo, struct rte_mbuf *mbuf, enum xran_pkt_dir dir, uint8_t frame_id, uint8_t subframe_id, uint8_t slot_id, uint8_t startsym, uint8_t numsym, uint16_t prb_start, uint16_t prb_num, int16_t iq_buffer_offset, int16_t iq_buffer_len, uint16_t beam_id, uint8_t cc_id, uint8_t ru_port_id, uint8_t comp_method, uint8_t iqWidth, uint8_t seq_id, uint8_t symInc)
    Definition: xran_common.c:535
    + +
    int process_ring(struct rte_ring *r)
    Definition: xran_common.c:676
    + +
    int generate_cpmsg_prach(void *pHandle, struct xran_cp_gen_params *params, struct xran_section_gen_info *sect_geninfo, struct rte_mbuf *mbuf, struct xran_device_ctx *pxran_lib_ctx, uint8_t frame_id, uint8_t subframe_id, uint8_t slot_id, uint16_t beam_id, uint8_t cc_id, uint8_t prach_port_id, uint8_t seq_id)
    Definition: xran_common.c:595
    + + + +
    uint32_t nBufferPoolIndex
    Definition: xran_common.h:152
    + +
    int(* xran_ethdi_mbuf_send_fn)(struct rte_mbuf *mb, uint16_t ethertype)
    Definition: xran_common.h:169
    +
    int64_t offset_nsec
    Definition: xran_common.h:217
    + +
    void(* xran_transport_callback_fn)(void *, xran_status_t)
    Definition: xran_fh_o_du.h:245
    + +
    struct sectorHandleInfo * PXranSectorHandleInfo
    +
    This file provides the definitions for Control Plane Messages APIs.
    + +
    phy_encoder_poll_fn bbdev_enc
    Definition: xran_common.h:273
    +
    + + + + diff --git a/docs/API/xran__compression_8cpp.html b/docs/API/xran__compression_8cpp.html new file mode 100644 index 0000000..0a1098e --- /dev/null +++ b/docs/API/xran__compression_8cpp.html @@ -0,0 +1,642 @@ + + + + + + + +o-du/phy: xran_compression.cpp File Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    xran_compression.cpp File Reference
    +
    +
    +
    #include "xran_compression.hpp"
    +#include "xran_compression.h"
    +#include <complex>
    +#include <algorithm>
    +#include <immintrin.h>
    +#include <limits.h>
    +#include <cstring>
    +
    +Include dependency graph for xran_compression.cpp:
    +
    +
    + + + + +
    +
    +

    Go to the source code of this file.

    + + + + +

    +Macros

    #define RB_NUM_ROUNDUP(rb)   (BlockFloatCompander::k_numRB * ((rb + BlockFloatCompander::k_numRB - 1) / BlockFloatCompander::k_numRB))
     
    + + + + + + + +

    +Typedefs

    typedef void(* xran_bfp_compress_fn) (const BlockFloatCompander::ExpandedData &dataIn, BlockFloatCompander::CompressedData *dataOut)
     
    typedef void(* xran_bfp_compress_bfw_fn) (const BlockFloatCompanderBFW::ExpandedData &dataIn, BlockFloatCompanderBFW::CompressedData *dataOut)
     
    typedef void(* xran_bfp_decompress_fn) (const BlockFloatCompander::CompressedData &dataIn, BlockFloatCompander::ExpandedData *dataOut)
     
    + + + + + + + + + + + + + + + + + + + + + + +

    +Functions

    void computeExponent (const BlockFloatCompander::ExpandedData &dataIn, int8_t *expStore)
     Compute exponent value for a set of RB from the maximum absolute value. More...
     
    __m512i networkBytePack9b (const __m512i compData)
     
    __m512i networkBytePack10b (const __m512i compData)
     
    __m512i networkBytePack12b (const __m512i compData)
     
    __m512i networkByteUnpack9b (const uint8_t *inData)
     
    __m512i networkByteUnpack10b (const uint8_t *inData)
     
    __m512i networkByteUnpack12b (const uint8_t *inData)
     
    int32_t xranlib_compress_avx512 (const struct xranlib_compress_request *request, struct xranlib_compress_response *response)
     
    int32_t xranlib_compress_avx512_bfw (const struct xranlib_compress_request *request, struct xranlib_compress_response *response)
     
    int32_t xranlib_decompress_avx512 (const struct xranlib_decompress_request *request, struct xranlib_decompress_response *response)
     
    +

    Macro Definition Documentation

    + +

    ◆ RB_NUM_ROUNDUP

    + +
    +
    + + + + + + + + +
    #define RB_NUM_ROUNDUP( rb)   (BlockFloatCompander::k_numRB * ((rb + BlockFloatCompander::k_numRB - 1) / BlockFloatCompander::k_numRB))
    +
    + +

    Definition at line 720 of file xran_compression.cpp.

    + +
    +
    +

    Typedef Documentation

    + +

    ◆ xran_bfp_compress_bfw_fn

    + +
    +
    + + + + +
    typedef void(* xran_bfp_compress_bfw_fn) (const BlockFloatCompanderBFW::ExpandedData &dataIn, BlockFloatCompanderBFW::CompressedData *dataOut)
    +
    +

    callback function type for Symbol packet

    + +

    Definition at line 780 of file xran_compression.cpp.

    + +
    +
    + +

    ◆ xran_bfp_compress_fn

    + +
    +
    + + + + +
    typedef void(* xran_bfp_compress_fn) (const BlockFloatCompander::ExpandedData &dataIn, BlockFloatCompander::CompressedData *dataOut)
    +
    +

    callback function type for Symbol packet

    + +

    Definition at line 725 of file xran_compression.cpp.

    + +
    +
    + +

    ◆ xran_bfp_decompress_fn

    + +
    +
    + + + + +
    typedef void(* xran_bfp_decompress_fn) (const BlockFloatCompander::CompressedData &dataIn, BlockFloatCompander::ExpandedData *dataOut)
    +
    +

    callback function type for Symbol packet

    + +

    Definition at line 830 of file xran_compression.cpp.

    + +
    +
    +

    Function Documentation

    + +

    ◆ computeExponent()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void computeExponent (const BlockFloatCompander::ExpandedDatadataIn,
    int8_t * expStore 
    )
    +
    + +

    Compute exponent value for a set of RB from the maximum absolute value.

    +

    Load data and find max(abs(RB))

    +

    Re-order the next 4RB in input data into 3 registers Input SIMD vectors are: [A A A A A A A A A A A A B B B B] [B B B B B B B B C C C C C C C C] [C C C C D D D D D D D D D D D D] Re-ordered SIMD vectors are: [A A A A B B B B C C C C D D D D] [A A A A B B B B C C C C D D D D] [A A A A B B B B C C C C D D D D]

    +

    Perform max abs on these 3 registers

    +

    Perform horizontal max over each lane Swap 64b in each lane and compute max

    +

    Swap each pair of 32b in each lane and compute max

    +

    Swap each IQ pair in each lane (via 32b rotation) and compute max

    +

    Insert values into maxAbs Use sliding mask to insert wanted values into maxAbs Pairs of values will be inserted and corrected outside of loop

    +

    Convert to 32b by removing repeated values in maxAbs

    +

    Compute and store exponent

    + +

    Definition at line 44 of file xran_compression.cpp.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + + + + + + + +
    + +
    +
    + +

    ◆ networkBytePack10b()

    + +
    +
    + + + + + + + + +
    __m512i networkBytePack10b (const __m512i compData)
    +
    +

    Pack compressed 10 bit data in network byte order See https://soco.intel.com/docs/DOC-2665619

    +

    Logical shift left to align network order byte parts

    +

    First epi8 shuffle of even indexed samples

    +

    Second epi8 shuffle of odd indexed samples

    +

    Ternary blend of the two shuffled results

    + +

    Definition at line 164 of file xran_compression.cpp.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + +
    + +
    +
    + +

    ◆ networkBytePack12b()

    + +
    +
    + + + + + + + + +
    __m512i networkBytePack12b (const __m512i compData)
    +
    +

    Pack compressed 12 bit data in network byte order See https://soco.intel.com/docs/DOC-2665619

    +

    Logical shift left to align network order byte parts

    +

    First epi8 shuffle of even indexed samples

    +

    Second epi8 shuffle of odd indexed samples

    +

    Ternary blend of the two shuffled results

    + +

    Definition at line 201 of file xran_compression.cpp.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + +
    + +
    +
    + +

    ◆ networkBytePack9b()

    + +
    +
    + + + + + + + + +
    __m512i networkBytePack9b (const __m512i compData)
    +
    +

    Pack compressed 9 bit data in network byte order See https://soco.intel.com/docs/DOC-2665619

    +

    Logical shift left to align network order byte parts

    +

    First epi8 shuffle of even indexed samples

    +

    Second epi8 shuffle of odd indexed samples

    +

    Ternary blend of the two shuffled results

    + +

    Definition at line 127 of file xran_compression.cpp.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + +
    + +
    +
    + +

    ◆ networkByteUnpack10b()

    + +
    +
    + + + + + + + + +
    __m512i networkByteUnpack10b (const uint8_t * inData)
    +
    +

    Unpack compressed 10 bit data in network byte order See https://soco.intel.com/docs/DOC-2665619

    +

    Align chunks of compressed bytes into lanes to allow for expansion

    +

    Byte shuffle to get all bits for each sample into 16b chunks Due to previous permute to get chunks of bytes into each lane, lanes 0 and 2 happen to be aligned, but lane 1 is offset by 2 bytes

    +

    Logical shift left to set sign bit

    +

    Mask to zero unwanted bits

    + +

    Definition at line 271 of file xran_compression.cpp.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + +
    + +
    +
    + +

    ◆ networkByteUnpack12b()

    + +
    +
    + + + + + + + + +
    __m512i networkByteUnpack12b (const uint8_t * inData)
    +
    +

    Unpack compressed 12 bit data in network byte order See https://soco.intel.com/docs/DOC-2665619

    +

    Align chunks of compressed bytes into lanes to allow for expansion

    +

    Byte shuffle to get all bits for each sample into 16b chunks For 12b mantissa all lanes post-permute are aligned and require same shuffle offset

    +

    Logical shift left to set sign bit

    +

    Mask to zero unwanted bits

    + +

    Definition at line 304 of file xran_compression.cpp.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + +
    + +
    +
    + +

    ◆ networkByteUnpack9b()

    + +
    +
    + + + + + + + + +
    __m512i networkByteUnpack9b (const uint8_t * inData)
    +
    +

    Unpack compressed 9 bit data in network byte order See https://soco.intel.com/docs/DOC-2665619

    +

    Align chunks of compressed bytes into lanes to allow for expansion

    +

    Byte shuffle to get all bits for each sample into 16b chunks Due to previous permute to get chunks of bytes into each lane, there is a different shuffle offset in each lane

    +

    Logical shift left to set sign bit

    +

    Mask to zero unwanted bits

    + +

    Definition at line 238 of file xran_compression.cpp.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + +
    + +
    +
    + +

    ◆ xranlib_compress_avx512()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    int32_t xranlib_compress_avx512 (const struct xranlib_compress_requestrequest,
    struct xranlib_compress_responseresponse 
    )
    +
    + +

    Definition at line 729 of file xran_compression.cpp.

    +
    +Here is the call graph for this function:
    +
    +
    + + + + + + + + + + + +
    +
    +Here is the caller graph for this function:
    +
    +
    + + + +
    + +
    +
    + +

    ◆ xranlib_compress_avx512_bfw()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    int32_t xranlib_compress_avx512_bfw (const struct xranlib_compress_requestrequest,
    struct xranlib_compress_responseresponse 
    )
    +
    + +

    Definition at line 783 of file xran_compression.cpp.

    +
    +Here is the call graph for this function:
    +
    +
    + + + + +
    +
    +Here is the caller graph for this function:
    +
    +
    + + + + +
    + +
    +
    + +

    ◆ xranlib_decompress_avx512()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    int32_t xranlib_decompress_avx512 (const struct xranlib_decompress_requestrequest,
    struct xranlib_decompress_responseresponse 
    )
    +
    + +

    Definition at line 834 of file xran_compression.cpp.

    +
    +Here is the call graph for this function:
    +
    +
    + + + + + + + + + + +
    +
    +Here is the caller graph for this function:
    +
    +
    + + + +
    + +
    +
    +
    + + + + diff --git a/docs/API/xran__compression_8cpp__incl.map b/docs/API/xran__compression_8cpp__incl.map new file mode 100644 index 0000000..408715f --- /dev/null +++ b/docs/API/xran__compression_8cpp__incl.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/xran__compression_8cpp__incl.md5 b/docs/API/xran__compression_8cpp__incl.md5 new file mode 100644 index 0000000..63818ab --- /dev/null +++ b/docs/API/xran__compression_8cpp__incl.md5 @@ -0,0 +1 @@ +e7fdb4884a50c2f63e093f4e6f6e0b95 \ No newline at end of file diff --git a/docs/API/xran__compression_8cpp__incl.png b/docs/API/xran__compression_8cpp__incl.png new file mode 100644 index 0000000..cd41aac Binary files /dev/null and b/docs/API/xran__compression_8cpp__incl.png differ diff --git a/docs/API/xran__compression_8cpp_a0651de68e87558106615163f96b3e599_cgraph.map b/docs/API/xran__compression_8cpp_a0651de68e87558106615163f96b3e599_cgraph.map new file mode 100644 index 0000000..5be0c33 --- /dev/null +++ b/docs/API/xran__compression_8cpp_a0651de68e87558106615163f96b3e599_cgraph.map @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/docs/API/xran__compression_8cpp_a0651de68e87558106615163f96b3e599_cgraph.md5 b/docs/API/xran__compression_8cpp_a0651de68e87558106615163f96b3e599_cgraph.md5 new file mode 100644 index 0000000..2b523dc --- /dev/null +++ b/docs/API/xran__compression_8cpp_a0651de68e87558106615163f96b3e599_cgraph.md5 @@ -0,0 +1 @@ +ed337cf0d87dd3fa2eb151ff651fdd50 \ No newline at end of file diff --git a/docs/API/xran__compression_8cpp_a0651de68e87558106615163f96b3e599_cgraph.png b/docs/API/xran__compression_8cpp_a0651de68e87558106615163f96b3e599_cgraph.png new file mode 100644 index 0000000..7be7c2e Binary files /dev/null and b/docs/API/xran__compression_8cpp_a0651de68e87558106615163f96b3e599_cgraph.png differ diff --git a/docs/API/xran__compression_8cpp_a0651de68e87558106615163f96b3e599_icgraph.map b/docs/API/xran__compression_8cpp_a0651de68e87558106615163f96b3e599_icgraph.map new file mode 100644 index 0000000..c97b46f --- /dev/null +++ b/docs/API/xran__compression_8cpp_a0651de68e87558106615163f96b3e599_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/xran__compression_8cpp_a0651de68e87558106615163f96b3e599_icgraph.md5 b/docs/API/xran__compression_8cpp_a0651de68e87558106615163f96b3e599_icgraph.md5 new file mode 100644 index 0000000..7467336 --- /dev/null +++ b/docs/API/xran__compression_8cpp_a0651de68e87558106615163f96b3e599_icgraph.md5 @@ -0,0 +1 @@ +c59eb3ff9fbca319ff9cd4cc6051c1b3 \ No newline at end of file diff --git a/docs/API/xran__compression_8cpp_a0651de68e87558106615163f96b3e599_icgraph.png b/docs/API/xran__compression_8cpp_a0651de68e87558106615163f96b3e599_icgraph.png new file mode 100644 index 0000000..4f4172d Binary files /dev/null and b/docs/API/xran__compression_8cpp_a0651de68e87558106615163f96b3e599_icgraph.png differ diff --git a/docs/API/xran__compression_8cpp_a27043376e22397cc933d3c4d9450677b_icgraph.map b/docs/API/xran__compression_8cpp_a27043376e22397cc933d3c4d9450677b_icgraph.map new file mode 100644 index 0000000..eb0bcbf --- /dev/null +++ b/docs/API/xran__compression_8cpp_a27043376e22397cc933d3c4d9450677b_icgraph.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/API/xran__compression_8cpp_a27043376e22397cc933d3c4d9450677b_icgraph.md5 b/docs/API/xran__compression_8cpp_a27043376e22397cc933d3c4d9450677b_icgraph.md5 new file mode 100644 index 0000000..b75c30a --- /dev/null +++ b/docs/API/xran__compression_8cpp_a27043376e22397cc933d3c4d9450677b_icgraph.md5 @@ -0,0 +1 @@ +5c87f39f5cc60002a7f5c1ef23fbc692 \ No newline at end of file diff --git a/docs/API/xran__compression_8cpp_a27043376e22397cc933d3c4d9450677b_icgraph.png b/docs/API/xran__compression_8cpp_a27043376e22397cc933d3c4d9450677b_icgraph.png new file mode 100644 index 0000000..47dc08d Binary files /dev/null and b/docs/API/xran__compression_8cpp_a27043376e22397cc933d3c4d9450677b_icgraph.png differ diff --git a/docs/API/xran__compression_8cpp_a2bd6ebeefb6ca9674598d443e697918c_cgraph.map b/docs/API/xran__compression_8cpp_a2bd6ebeefb6ca9674598d443e697918c_cgraph.map new file mode 100644 index 0000000..b2fe3ef --- /dev/null +++ b/docs/API/xran__compression_8cpp_a2bd6ebeefb6ca9674598d443e697918c_cgraph.map @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/docs/API/xran__compression_8cpp_a2bd6ebeefb6ca9674598d443e697918c_cgraph.md5 b/docs/API/xran__compression_8cpp_a2bd6ebeefb6ca9674598d443e697918c_cgraph.md5 new file mode 100644 index 0000000..c2a064a --- /dev/null +++ b/docs/API/xran__compression_8cpp_a2bd6ebeefb6ca9674598d443e697918c_cgraph.md5 @@ -0,0 +1 @@ +238afaff51e3e29036a890d75822e4e8 \ No newline at end of file diff --git a/docs/API/xran__compression_8cpp_a2bd6ebeefb6ca9674598d443e697918c_cgraph.png b/docs/API/xran__compression_8cpp_a2bd6ebeefb6ca9674598d443e697918c_cgraph.png new file mode 100644 index 0000000..16069ec Binary files /dev/null and b/docs/API/xran__compression_8cpp_a2bd6ebeefb6ca9674598d443e697918c_cgraph.png differ diff --git a/docs/API/xran__compression_8cpp_a2bd6ebeefb6ca9674598d443e697918c_icgraph.map b/docs/API/xran__compression_8cpp_a2bd6ebeefb6ca9674598d443e697918c_icgraph.map new file mode 100644 index 0000000..34e3621 --- /dev/null +++ b/docs/API/xran__compression_8cpp_a2bd6ebeefb6ca9674598d443e697918c_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/xran__compression_8cpp_a2bd6ebeefb6ca9674598d443e697918c_icgraph.md5 b/docs/API/xran__compression_8cpp_a2bd6ebeefb6ca9674598d443e697918c_icgraph.md5 new file mode 100644 index 0000000..8142696 --- /dev/null +++ b/docs/API/xran__compression_8cpp_a2bd6ebeefb6ca9674598d443e697918c_icgraph.md5 @@ -0,0 +1 @@ +68408b78d0148d4cc10bd427e3b57899 \ No newline at end of file diff --git a/docs/API/xran__compression_8cpp_a2bd6ebeefb6ca9674598d443e697918c_icgraph.png b/docs/API/xran__compression_8cpp_a2bd6ebeefb6ca9674598d443e697918c_icgraph.png new file mode 100644 index 0000000..349b64a Binary files /dev/null and b/docs/API/xran__compression_8cpp_a2bd6ebeefb6ca9674598d443e697918c_icgraph.png differ diff --git a/docs/API/xran__compression_8cpp_a4a2767bece9b74bb6348b416af70a3de_icgraph.map b/docs/API/xran__compression_8cpp_a4a2767bece9b74bb6348b416af70a3de_icgraph.map new file mode 100644 index 0000000..402b24c --- /dev/null +++ b/docs/API/xran__compression_8cpp_a4a2767bece9b74bb6348b416af70a3de_icgraph.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/API/xran__compression_8cpp_a4a2767bece9b74bb6348b416af70a3de_icgraph.md5 b/docs/API/xran__compression_8cpp_a4a2767bece9b74bb6348b416af70a3de_icgraph.md5 new file mode 100644 index 0000000..234e574 --- /dev/null +++ b/docs/API/xran__compression_8cpp_a4a2767bece9b74bb6348b416af70a3de_icgraph.md5 @@ -0,0 +1 @@ +82618352ce36ce43547f8f384c0e22aa \ No newline at end of file diff --git a/docs/API/xran__compression_8cpp_a4a2767bece9b74bb6348b416af70a3de_icgraph.png b/docs/API/xran__compression_8cpp_a4a2767bece9b74bb6348b416af70a3de_icgraph.png new file mode 100644 index 0000000..0285783 Binary files /dev/null and b/docs/API/xran__compression_8cpp_a4a2767bece9b74bb6348b416af70a3de_icgraph.png differ diff --git a/docs/API/xran__compression_8cpp_a74512492194fcab6a55f769e02aa37b4_icgraph.map b/docs/API/xran__compression_8cpp_a74512492194fcab6a55f769e02aa37b4_icgraph.map new file mode 100644 index 0000000..3bc9b7b --- /dev/null +++ b/docs/API/xran__compression_8cpp_a74512492194fcab6a55f769e02aa37b4_icgraph.map @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/docs/API/xran__compression_8cpp_a74512492194fcab6a55f769e02aa37b4_icgraph.md5 b/docs/API/xran__compression_8cpp_a74512492194fcab6a55f769e02aa37b4_icgraph.md5 new file mode 100644 index 0000000..d1b7a3d --- /dev/null +++ b/docs/API/xran__compression_8cpp_a74512492194fcab6a55f769e02aa37b4_icgraph.md5 @@ -0,0 +1 @@ +a68b98a100fc9b858a642bb5a5a288da \ No newline at end of file diff --git a/docs/API/xran__compression_8cpp_a74512492194fcab6a55f769e02aa37b4_icgraph.png b/docs/API/xran__compression_8cpp_a74512492194fcab6a55f769e02aa37b4_icgraph.png new file mode 100644 index 0000000..1f1cbbc Binary files /dev/null and b/docs/API/xran__compression_8cpp_a74512492194fcab6a55f769e02aa37b4_icgraph.png differ diff --git a/docs/API/xran__compression_8cpp_a91aa9bdb6901711b43d848a4a5a94d2f_icgraph.map b/docs/API/xran__compression_8cpp_a91aa9bdb6901711b43d848a4a5a94d2f_icgraph.map new file mode 100644 index 0000000..56329d1 --- /dev/null +++ b/docs/API/xran__compression_8cpp_a91aa9bdb6901711b43d848a4a5a94d2f_icgraph.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/API/xran__compression_8cpp_a91aa9bdb6901711b43d848a4a5a94d2f_icgraph.md5 b/docs/API/xran__compression_8cpp_a91aa9bdb6901711b43d848a4a5a94d2f_icgraph.md5 new file mode 100644 index 0000000..f9d0da2 --- /dev/null +++ b/docs/API/xran__compression_8cpp_a91aa9bdb6901711b43d848a4a5a94d2f_icgraph.md5 @@ -0,0 +1 @@ +4f9ee6d1f1b10c29f49b9f7512e8166e \ No newline at end of file diff --git a/docs/API/xran__compression_8cpp_a91aa9bdb6901711b43d848a4a5a94d2f_icgraph.png b/docs/API/xran__compression_8cpp_a91aa9bdb6901711b43d848a4a5a94d2f_icgraph.png new file mode 100644 index 0000000..af07e84 Binary files /dev/null and b/docs/API/xran__compression_8cpp_a91aa9bdb6901711b43d848a4a5a94d2f_icgraph.png differ diff --git a/docs/API/xran__compression_8cpp_aa027200fc051c80b515ee8aeadf44a0e_cgraph.map b/docs/API/xran__compression_8cpp_aa027200fc051c80b515ee8aeadf44a0e_cgraph.map new file mode 100644 index 0000000..0ef5b89 --- /dev/null +++ b/docs/API/xran__compression_8cpp_aa027200fc051c80b515ee8aeadf44a0e_cgraph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/xran__compression_8cpp_aa027200fc051c80b515ee8aeadf44a0e_cgraph.md5 b/docs/API/xran__compression_8cpp_aa027200fc051c80b515ee8aeadf44a0e_cgraph.md5 new file mode 100644 index 0000000..8e66730 --- /dev/null +++ b/docs/API/xran__compression_8cpp_aa027200fc051c80b515ee8aeadf44a0e_cgraph.md5 @@ -0,0 +1 @@ +71b4086e797ace0a2dba00a28e25556f \ No newline at end of file diff --git a/docs/API/xran__compression_8cpp_aa027200fc051c80b515ee8aeadf44a0e_cgraph.png b/docs/API/xran__compression_8cpp_aa027200fc051c80b515ee8aeadf44a0e_cgraph.png new file mode 100644 index 0000000..c1a5137 Binary files /dev/null and b/docs/API/xran__compression_8cpp_aa027200fc051c80b515ee8aeadf44a0e_cgraph.png differ diff --git a/docs/API/xran__compression_8cpp_aa027200fc051c80b515ee8aeadf44a0e_icgraph.map b/docs/API/xran__compression_8cpp_aa027200fc051c80b515ee8aeadf44a0e_icgraph.map new file mode 100644 index 0000000..9026fd8 --- /dev/null +++ b/docs/API/xran__compression_8cpp_aa027200fc051c80b515ee8aeadf44a0e_icgraph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/xran__compression_8cpp_aa027200fc051c80b515ee8aeadf44a0e_icgraph.md5 b/docs/API/xran__compression_8cpp_aa027200fc051c80b515ee8aeadf44a0e_icgraph.md5 new file mode 100644 index 0000000..44515f9 --- /dev/null +++ b/docs/API/xran__compression_8cpp_aa027200fc051c80b515ee8aeadf44a0e_icgraph.md5 @@ -0,0 +1 @@ +00b762a4e5c59d8469e2cd1a867f1146 \ No newline at end of file diff --git a/docs/API/xran__compression_8cpp_aa027200fc051c80b515ee8aeadf44a0e_icgraph.png b/docs/API/xran__compression_8cpp_aa027200fc051c80b515ee8aeadf44a0e_icgraph.png new file mode 100644 index 0000000..a2e08a6 Binary files /dev/null and b/docs/API/xran__compression_8cpp_aa027200fc051c80b515ee8aeadf44a0e_icgraph.png differ diff --git a/docs/API/xran__compression_8cpp_aafe7eae735c4ebf8f028e7baa6783c22_icgraph.map b/docs/API/xran__compression_8cpp_aafe7eae735c4ebf8f028e7baa6783c22_icgraph.map new file mode 100644 index 0000000..df5f3c0 --- /dev/null +++ b/docs/API/xran__compression_8cpp_aafe7eae735c4ebf8f028e7baa6783c22_icgraph.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/API/xran__compression_8cpp_aafe7eae735c4ebf8f028e7baa6783c22_icgraph.md5 b/docs/API/xran__compression_8cpp_aafe7eae735c4ebf8f028e7baa6783c22_icgraph.md5 new file mode 100644 index 0000000..f86313b --- /dev/null +++ b/docs/API/xran__compression_8cpp_aafe7eae735c4ebf8f028e7baa6783c22_icgraph.md5 @@ -0,0 +1 @@ +876a447384015cf72df5e4cd01963f9e \ No newline at end of file diff --git a/docs/API/xran__compression_8cpp_aafe7eae735c4ebf8f028e7baa6783c22_icgraph.png b/docs/API/xran__compression_8cpp_aafe7eae735c4ebf8f028e7baa6783c22_icgraph.png new file mode 100644 index 0000000..d463ac8 Binary files /dev/null and b/docs/API/xran__compression_8cpp_aafe7eae735c4ebf8f028e7baa6783c22_icgraph.png differ diff --git a/docs/API/xran__compression_8cpp_acb87fe08d3492b251e7a2561488064fa_icgraph.map b/docs/API/xran__compression_8cpp_acb87fe08d3492b251e7a2561488064fa_icgraph.map new file mode 100644 index 0000000..1f26815 --- /dev/null +++ b/docs/API/xran__compression_8cpp_acb87fe08d3492b251e7a2561488064fa_icgraph.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/API/xran__compression_8cpp_acb87fe08d3492b251e7a2561488064fa_icgraph.md5 b/docs/API/xran__compression_8cpp_acb87fe08d3492b251e7a2561488064fa_icgraph.md5 new file mode 100644 index 0000000..3ccf23d --- /dev/null +++ b/docs/API/xran__compression_8cpp_acb87fe08d3492b251e7a2561488064fa_icgraph.md5 @@ -0,0 +1 @@ +bd492d717db1a8d71beef901d990aa8d \ No newline at end of file diff --git a/docs/API/xran__compression_8cpp_acb87fe08d3492b251e7a2561488064fa_icgraph.png b/docs/API/xran__compression_8cpp_acb87fe08d3492b251e7a2561488064fa_icgraph.png new file mode 100644 index 0000000..550e07e Binary files /dev/null and b/docs/API/xran__compression_8cpp_acb87fe08d3492b251e7a2561488064fa_icgraph.png differ diff --git a/docs/API/xran__compression_8cpp_afb29866152e84d42cd2e3bc116454493_icgraph.map b/docs/API/xran__compression_8cpp_afb29866152e84d42cd2e3bc116454493_icgraph.map new file mode 100644 index 0000000..4cae595 --- /dev/null +++ b/docs/API/xran__compression_8cpp_afb29866152e84d42cd2e3bc116454493_icgraph.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/API/xran__compression_8cpp_afb29866152e84d42cd2e3bc116454493_icgraph.md5 b/docs/API/xran__compression_8cpp_afb29866152e84d42cd2e3bc116454493_icgraph.md5 new file mode 100644 index 0000000..3f8b1ad --- /dev/null +++ b/docs/API/xran__compression_8cpp_afb29866152e84d42cd2e3bc116454493_icgraph.md5 @@ -0,0 +1 @@ +8cc66f3ef5f92b3e12faf393aef277b1 \ No newline at end of file diff --git a/docs/API/xran__compression_8cpp_afb29866152e84d42cd2e3bc116454493_icgraph.png b/docs/API/xran__compression_8cpp_afb29866152e84d42cd2e3bc116454493_icgraph.png new file mode 100644 index 0000000..82b19f6 Binary files /dev/null and b/docs/API/xran__compression_8cpp_afb29866152e84d42cd2e3bc116454493_icgraph.png differ diff --git a/docs/API/xran__compression_8cpp_source.html b/docs/API/xran__compression_8cpp_source.html new file mode 100644 index 0000000..d036d28 --- /dev/null +++ b/docs/API/xran__compression_8cpp_source.html @@ -0,0 +1,135 @@ + + + + + + + +o-du/phy: xran_compression.cpp Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    xran_compression.cpp
    +
    +
    +Go to the documentation of this file.
    1 /******************************************************************************
    2 *
    3 * Copyright (c) 2019 Intel.
    4 *
    5 * Licensed under the Apache License, Version 2.0 (the "License");
    6 * you may not use this file except in compliance with the License.
    7 * You may obtain a copy of the License at
    8 *
    9 * http://www.apache.org/licenses/LICENSE-2.0
    10 *
    11 * Unless required by applicable law or agreed to in writing, software
    12 * distributed under the License is distributed on an "AS IS" BASIS,
    13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    14 * See the License for the specific language governing permissions and
    15 * limitations under the License.
    16 *
    17 *******************************************************************************/
    18 
    19 #include "xran_compression.hpp"
    20 #include "xran_compression.h"
    21 #include <complex>
    22 #include <algorithm>
    23 #include <immintrin.h>
    24 #include <limits.h>
    25 #include <cstring>
    26 
    27 static int16_t saturateAbs(int16_t inVal)
    28 {
    29  int16_t result;
    30  if (inVal == std::numeric_limits<short>::min())
    31  {
    32  result = std::numeric_limits<short>::max();
    33  }
    34  else
    35  {
    36  result = (int16_t)std::abs(inVal);
    37  }
    38  return result;
    39 }
    40 
    41 
    43 void
    44 computeExponent(const BlockFloatCompander::ExpandedData& dataIn, int8_t* expStore)
    45 {
    46  __m512i maxAbs = __m512i();
    47 
    49  const __m512i* rawData = reinterpret_cast<const __m512i*>(dataIn.dataExpanded);
    50  constexpr int k_numRBPerLoop = 4;
    51  constexpr int k_numInputLoopIts = BlockFloatCompander::k_numRB / k_numRBPerLoop;
    52 
    53 #pragma unroll(k_numInputLoopIts)
    54  for (int n = 0; n < k_numInputLoopIts; ++n)
    55  {
    65  constexpr uint8_t k_msk1 = 0b11111100; // Copy first lane of src
    66  constexpr int k_shuff1 = 0x41;
    67  const auto z_w1 = _mm512_mask_shuffle_i64x2(rawData[3 * n + 0], k_msk1, rawData[3 * n + 1], rawData[3 * n + 2], k_shuff1);
    68 
    69  constexpr uint8_t k_msk2 = 0b11000011; // Copy middle two lanes of src
    70  constexpr int k_shuff2 = 0xB1;
    71  const auto z_w2 = _mm512_mask_shuffle_i64x2(rawData[3 * n + 1], k_msk2, rawData[3 * n + 0], rawData[3 * n + 2], k_shuff2);
    72 
    73  constexpr uint8_t k_msk3 = 0b00111111; // Copy last lane of src
    74  constexpr int k_shuff3 = 0xBE;
    75  const auto z_w3 = _mm512_mask_shuffle_i64x2(rawData[3 * n + 2], k_msk3, rawData[3 * n + 0], rawData[3 * n + 1], k_shuff3);
    76 
    78  const auto abs16_1 = _mm512_abs_epi16(z_w1);
    79  const auto abs16_2 = _mm512_abs_epi16(z_w2);
    80  const auto abs16_3 = _mm512_abs_epi16(z_w3);
    81  const auto maxAbs_12 = _mm512_max_epi16(abs16_1, abs16_2);
    82  const auto maxAbs_123 = _mm512_max_epi16(maxAbs_12, abs16_3);
    83 
    86  const auto k_perm64b = _mm512_set_epi64(6, 7, 4, 5, 2, 3, 0, 1);
    87  auto maxAbsPerm = _mm512_permutexvar_epi64(k_perm64b, maxAbs_123);
    88  auto maxAbsHorz = _mm512_max_epi16(maxAbs_123, maxAbsPerm);
    89 
    91  const auto k_perm32b = _mm512_set_epi32(14, 15, 12, 13, 10, 11, 8, 9, 6, 7, 4, 5, 2, 3, 0, 1);
    92  maxAbsPerm = _mm512_permutexvar_epi32(k_perm32b, maxAbsHorz);
    93  maxAbsHorz = _mm512_max_epi16(maxAbsHorz, maxAbsPerm);
    94 
    96  maxAbsPerm = _mm512_rol_epi32(maxAbsHorz, BlockFloatCompander::k_numBitsIQ);
    97  maxAbsHorz = _mm512_max_epi16(maxAbsHorz, maxAbsPerm);
    98 
    102  const auto k_select4RB = _mm512_set_epi32(28, 24, 20, 16, 28, 24, 20, 16,
    103  28, 24, 20, 16, 28, 24, 20, 16);
    104  constexpr uint16_t k_expMsk[k_numInputLoopIts] = { 0x000F, 0x00F0, 0x0F00, 0xF000 };
    105  maxAbs = _mm512_mask_permutex2var_epi32(maxAbs, k_expMsk[n], k_select4RB, maxAbsHorz);
    106  }
    107 
    109  const auto k_upperWordMask = _mm512_set_epi64(0x0000FFFF0000FFFF, 0x0000FFFF0000FFFF,
    110  0x0000FFFF0000FFFF, 0x0000FFFF0000FFFF,
    111  0x0000FFFF0000FFFF, 0x0000FFFF0000FFFF,
    112  0x0000FFFF0000FFFF, 0x0000FFFF0000FFFF);
    113  maxAbs = _mm512_and_epi64(maxAbs, k_upperWordMask);
    114 
    116  const auto totShiftBits = _mm512_set1_epi32(32 - dataIn.iqWidth + 1);
    117  const auto lzCount = _mm512_lzcnt_epi32(maxAbs);
    118  const auto exponent = _mm512_sub_epi32(totShiftBits, lzCount);
    119  constexpr uint16_t k_expWriteMask = 0xFFFF;
    120  _mm512_mask_cvtepi32_storeu_epi8(expStore, k_expWriteMask, exponent);
    121 }
    122 
    123 
    126 __m512i
    127 networkBytePack9b(const __m512i compData)
    128 {
    130  const __m512i k_shiftLeft = _mm512_set_epi64(0x0000000100020003, 0x0004000500060007,
    131  0x0000000100020003, 0x0004000500060007,
    132  0x0000000100020003, 0x0004000500060007,
    133  0x0000000100020003, 0x0004000500060007);
    134  auto compDataPacked = _mm512_sllv_epi16(compData, k_shiftLeft);
    135 
    137  const __m512i k_byteShuffleMask1 = _mm512_set_epi64(0x0000000000000000, 0x0C0D080904050001,
    138  0x0000000000000000, 0x0C0D080904050001,
    139  0x0000000000000000, 0x0C0D080904050001,
    140  0x0000000000000000, 0x0C0D080904050001);
    141  constexpr uint64_t k_byteMask1 = 0x000000FF00FF00FF;
    142  auto compDataShuff1 = _mm512_maskz_shuffle_epi8(k_byteMask1, compDataPacked, k_byteShuffleMask1);
    143 
    145  const __m512i k_byteShuffleMask2 = _mm512_set_epi64(0x000000000000000E, 0x0F0A0B0607020300,
    146  0x000000000000000E, 0x0F0A0B0607020300,
    147  0x000000000000000E, 0x0F0A0B0607020300,
    148  0x000000000000000E, 0x0F0A0B0607020300);
    149  constexpr uint64_t k_byteMask2 = 0x000001FE01FE01FE;
    150  auto compDataShuff2 = _mm512_maskz_shuffle_epi8(k_byteMask2, compDataPacked, k_byteShuffleMask2);
    151 
    153  const __m512i k_ternLogSelect = _mm512_set_epi64(0x00000000000000FF, 0x01FC07F01FC07F00,
    154  0x00000000000000FF, 0x01FC07F01FC07F00,
    155  0x00000000000000FF, 0x01FC07F01FC07F00,
    156  0x00000000000000FF, 0x01FC07F01FC07F00);
    157  return _mm512_ternarylogic_epi64(compDataShuff1, compDataShuff2, k_ternLogSelect, 0xd8);
    158 }
    159 
    160 
    163 __m512i
    164 networkBytePack10b(const __m512i compData)
    165 {
    167  const __m512i k_shiftLeft = _mm512_set_epi64(0x0000000200040006, 0x0000000200040006,
    168  0x0000000200040006, 0x0000000200040006,
    169  0x0000000200040006, 0x0000000200040006,
    170  0x0000000200040006, 0x0000000200040006);
    171  auto compDataPacked = _mm512_sllv_epi16(compData, k_shiftLeft);
    172 
    174  const __m512i k_byteShuffleMask1 = _mm512_set_epi64(0x000000000000000C, 0x0D08090004050001,
    175  0x000000000000000C, 0x0D08090004050001,
    176  0x000000000000000C, 0x0D08090004050001,
    177  0x000000000000000C, 0x0D08090004050001);
    178  constexpr uint64_t k_byteMask1 = 0x000001EF01EF01EF;
    179  auto compDataShuff1 = _mm512_maskz_shuffle_epi8(k_byteMask1, compDataPacked, k_byteShuffleMask1);
    180 
    182  const __m512i k_byteShuffleMask2 = _mm512_set_epi64(0x0000000000000E0F, 0x0A0B000607020300,
    183  0x0000000000000E0F, 0x0A0B000607020300,
    184  0x0000000000000E0F, 0x0A0B000607020300,
    185  0x0000000000000E0F, 0x0A0B000607020300);
    186  constexpr uint64_t k_byteMask2 = 0x000003DE03DE03DE;
    187  auto compDataShuff2 = _mm512_maskz_shuffle_epi8(k_byteMask2, compDataPacked, k_byteShuffleMask2);
    188 
    190  const __m512i k_ternLogSelect = _mm512_set_epi64(0x000000000000FF03, 0xF03F00FF03F03F00,
    191  0x000000000000FF03, 0xF03F00FF03F03F00,
    192  0x000000000000FF03, 0xF03F00FF03F03F00,
    193  0x000000000000FF03, 0xF03F00FF03F03F00);
    194  return _mm512_ternarylogic_epi64(compDataShuff1, compDataShuff2, k_ternLogSelect, 0xd8);
    195 }
    196 
    197 
    200 __m512i
    201 networkBytePack12b(const __m512i compData)
    202 {
    204  const __m512i k_shiftLeft = _mm512_set_epi64(0x0000000400000004, 0x0000000400000004,
    205  0x0000000400000004, 0x0000000400000004,
    206  0x0000000400000004, 0x0000000400000004,
    207  0x0000000400000004, 0x0000000400000004);
    208  auto compDataPacked = _mm512_sllv_epi16(compData, k_shiftLeft);
    209 
    211  const __m512i k_byteShuffleMask1 = _mm512_set_epi64(0x00000000000C0D00, 0x0809000405000001,
    212  0x00000000000C0D00, 0x0809000405000001,
    213  0x00000000000C0D00, 0x0809000405000001,
    214  0x00000000000C0D00, 0x0809000405000001);
    215  constexpr uint64_t k_byteMask1 = 0x000006DB06DB06DB;
    216  auto compDataShuff1 = _mm512_maskz_shuffle_epi8(k_byteMask1, compDataPacked, k_byteShuffleMask1);
    217 
    219  const __m512i k_byteShuffleMask2 = _mm512_set_epi64(0x000000000E0F000A, 0x0B00060700020300,
    220  0x000000000E0F000A, 0x0B00060700020300,
    221  0x000000000E0F000A, 0x0B00060700020300,
    222  0x000000000E0F000A, 0x0B00060700020300);
    223  constexpr uint64_t k_byteMask2 = 0x00000DB60DB60DB6;
    224  auto compDataShuff2 = _mm512_maskz_shuffle_epi8(k_byteMask2, compDataPacked, k_byteShuffleMask2);
    225 
    227  const __m512i k_ternLogSelect = _mm512_set_epi64(0x00000000FF0F00FF, 0x0F00FF0F00FF0F00,
    228  0x00000000FF0F00FF, 0x0F00FF0F00FF0F00,
    229  0x00000000FF0F00FF, 0x0F00FF0F00FF0F00,
    230  0x00000000FF0F00FF, 0x0F00FF0F00FF0F00);
    231  return _mm512_ternarylogic_epi64(compDataShuff1, compDataShuff2, k_ternLogSelect, 0xd8);
    232 }
    233 
    234 
    237 __m512i
    238 networkByteUnpack9b(const uint8_t* inData)
    239 {
    241  const __m512i* rawDataIn = reinterpret_cast<const __m512i*>(inData);
    242  const auto k_expPerm = _mm512_set_epi32(15, 14, 13, 12, 7, 6, 5, 4,
    243  5, 4, 3, 2, 3, 2, 1, 0);
    244  auto expData = _mm512_permutexvar_epi32(k_expPerm, *rawDataIn);
    245 
    249  const __m512i k_byteShuffleMask = _mm512_set_epi64(0x0F0E0D0C0B0A0908, 0x0706050403020100,
    250  0x090A080907080607, 0x0506040503040203,
    251  0x0809070806070506, 0x0405030402030102,
    252  0x0708060705060405, 0x0304020301020001);
    253  expData = _mm512_shuffle_epi8(expData, k_byteShuffleMask);
    254 
    256  const __m512i k_slBits = _mm512_set_epi64(0x0007000600050004, 0x0003000200010000,
    257  0x0007000600050004, 0x0003000200010000,
    258  0x0007000600050004, 0x0003000200010000,
    259  0x0007000600050004, 0x0003000200010000);
    260  expData = _mm512_sllv_epi16(expData, k_slBits);
    261 
    263  const __m512i k_expMask = _mm512_set1_epi16(0xFF80);
    264  return _mm512_and_epi64(expData, k_expMask);
    265 }
    266 
    267 
    270 __m512i
    271 networkByteUnpack10b(const uint8_t* inData)
    272 {
    274  const __m512i* rawDataIn = reinterpret_cast<const __m512i*>(inData);
    275  const auto k_expPerm = _mm512_set_epi32(15, 14, 13, 12, 8, 7, 6, 5,
    276  5, 4, 3, 2, 3, 2, 1, 0);
    277  auto expData = _mm512_permutexvar_epi32(k_expPerm, *rawDataIn);
    278 
    282  const __m512i k_byteShuffleMask = _mm512_set_epi64(0x0809070806070506, 0x0304020301020001,
    283  0x0809070806070506, 0x0304020301020001,
    284  0x0A0B090A08090708, 0x0506040503040203,
    285  0x0809070806070506, 0x0304020301020001);
    286  expData = _mm512_shuffle_epi8(expData, k_byteShuffleMask);
    287 
    289  const __m512i k_slBits = _mm512_set_epi64(0x0006000400020000, 0x0006000400020000,
    290  0x0006000400020000, 0x0006000400020000,
    291  0x0006000400020000, 0x0006000400020000,
    292  0x0006000400020000, 0x0006000400020000);
    293  expData = _mm512_sllv_epi16(expData, k_slBits);
    294 
    296  const __m512i k_expMask = _mm512_set1_epi16(0xFFC0);
    297  return _mm512_and_epi64(expData, k_expMask);
    298 }
    299 
    300 
    303 __m512i
    304 networkByteUnpack12b(const uint8_t* inData)
    305 {
    307  const __m512i* rawDataIn = reinterpret_cast<const __m512i*>(inData);
    308  const auto k_expPerm = _mm512_set_epi32(15, 14, 13, 12, 9, 8, 7, 6,
    309  6, 5, 4, 3, 3, 2, 1, 0);
    310  auto expData = _mm512_permutexvar_epi32(k_expPerm, *rawDataIn);
    311 
    314  const __m512i k_byteShuffleMask = _mm512_set_epi64(0x0A0B090A07080607, 0x0405030401020001,
    315  0x0A0B090A07080607, 0x0405030401020001,
    316  0x0A0B090A07080607, 0x0405030401020001,
    317  0x0A0B090A07080607, 0x0405030401020001);
    318  expData = _mm512_shuffle_epi8(expData, k_byteShuffleMask);
    319 
    321  const __m512i k_slBits = _mm512_set_epi64(0x0004000000040000, 0x0004000000040000,
    322  0x0004000000040000, 0x0004000000040000,
    323  0x0004000000040000, 0x0004000000040000,
    324  0x0004000000040000, 0x0004000000040000);
    325  expData = _mm512_sllv_epi16(expData, k_slBits);
    326 
    328  const __m512i k_expMask = _mm512_set1_epi16(0xFFF0);
    329  return _mm512_and_epi64(expData, k_expMask);
    330 }
    331 
    332 
    334 void
    336 {
    338  int8_t storedExp[BlockFloatCompander::k_numRB] = {};
    339  computeExponent(dataIn, storedExp);
    340 
    342 #pragma unroll(BlockFloatCompander::k_numRB)
    343  for (int n = 0; n < BlockFloatCompander::k_numRB; ++n)
    344  {
    345  const __m512i* rawDataIn = reinterpret_cast<const __m512i*>(dataIn.dataExpanded + n * BlockFloatCompander::k_numREReal);
    346  auto compData = _mm512_srai_epi16(*rawDataIn, storedExp[n]);
    347  auto thisRBExpAddr = n * (BlockFloatCompander::k_numREReal + 1);
    349  dataOut->dataCompressed[thisRBExpAddr] = storedExp[n];
    351  constexpr uint32_t k_rbMask = 0x00FFFFFF; // Write mask for 1RB (24 values)
    352  _mm256_mask_storeu_epi8(dataOut->dataCompressed + thisRBExpAddr + 1, k_rbMask, _mm512_cvtepi16_epi8(compData));
    353  }
    354 }
    355 
    356 
    358 void
    360 {
    362  int8_t storedExp[BlockFloatCompander::k_numRB] = {};
    363  computeExponent(dataIn, storedExp);
    364 
    367 #pragma unroll(BlockFloatCompander::k_numRB)
    368  for (int n = 0; n < BlockFloatCompander::k_numRB; ++n)
    369  {
    371  const __m512i* rawDataIn = reinterpret_cast<const __m512i*>(dataIn.dataExpanded + n * BlockFloatCompander::k_numREReal);
    372  auto compData = _mm512_srai_epi16(*rawDataIn, storedExp[n]);
    373 
    375  auto compDataBytePacked = networkBytePack9b(compData);
    376 
    378  constexpr int k_totNumBytesPerRB = 28;
    379  auto thisRBExpAddr = n * k_totNumBytesPerRB;
    380  dataOut->dataCompressed[thisRBExpAddr] = storedExp[n];
    381 
    384  constexpr uint16_t k_RbWriteMask = 0x01FF;
    385  constexpr int k_numDataBytesPerLane = 9;
    386  _mm_mask_storeu_epi8(dataOut->dataCompressed + thisRBExpAddr + 1, k_RbWriteMask, _mm512_extracti64x2_epi64(compDataBytePacked, 0));
    387  _mm_mask_storeu_epi8(dataOut->dataCompressed + thisRBExpAddr + 1 + k_numDataBytesPerLane, k_RbWriteMask, _mm512_extracti64x2_epi64(compDataBytePacked, 1));
    388  _mm_mask_storeu_epi8(dataOut->dataCompressed + thisRBExpAddr + 1 + (2 * k_numDataBytesPerLane), k_RbWriteMask, _mm512_extracti64x2_epi64(compDataBytePacked, 2));
    389  }
    390 }
    391 
    392 
    394 void
    396 {
    398  int8_t storedExp[BlockFloatCompander::k_numRB] = {};
    399  computeExponent(dataIn, storedExp);
    400 
    403 #pragma unroll(BlockFloatCompander::k_numRB)
    404  for (int n = 0; n < BlockFloatCompander::k_numRB; ++n)
    405  {
    407  const __m512i* rawDataIn = reinterpret_cast<const __m512i*>(dataIn.dataExpanded + n * BlockFloatCompander::k_numREReal);
    408  auto compData = _mm512_srai_epi16(*rawDataIn, storedExp[n]);
    409 
    411  auto compDataBytePacked = networkBytePack10b(compData);
    412 
    414  constexpr int k_totNumBytesPerRB = 31;
    415  auto thisRBExpAddr = n * k_totNumBytesPerRB;
    416  dataOut->dataCompressed[thisRBExpAddr] = storedExp[n];
    417 
    420  constexpr uint16_t k_RbWriteMask = 0x03FF;
    421  constexpr int k_numDataBytesPerLane = 10;
    422  _mm_mask_storeu_epi8(dataOut->dataCompressed + thisRBExpAddr + 1, k_RbWriteMask, _mm512_extracti64x2_epi64(compDataBytePacked, 0));
    423  _mm_mask_storeu_epi8(dataOut->dataCompressed + thisRBExpAddr + 1 + k_numDataBytesPerLane, k_RbWriteMask, _mm512_extracti64x2_epi64(compDataBytePacked, 1));
    424  _mm_mask_storeu_epi8(dataOut->dataCompressed + thisRBExpAddr + 1 + (2 * k_numDataBytesPerLane), k_RbWriteMask, _mm512_extracti64x2_epi64(compDataBytePacked, 2));
    425  }
    426 }
    427 
    428 
    430 void
    432 {
    434  int8_t storedExp[BlockFloatCompander::k_numRB] = {};
    435  computeExponent(dataIn, storedExp);
    436 
    439 #pragma unroll(BlockFloatCompander::k_numRB)
    440  for (int n = 0; n < BlockFloatCompander::k_numRB; ++n)
    441  {
    443  const __m512i* rawDataIn = reinterpret_cast<const __m512i*>(dataIn.dataExpanded + n * BlockFloatCompander::k_numREReal);
    444  auto compData = _mm512_srai_epi16(*rawDataIn, storedExp[n]);
    445 
    447  auto compDataBytePacked = networkBytePack12b(compData);
    448 
    450  constexpr int k_totNumBytesPerRB = 37;
    451  auto thisRBExpAddr = n * k_totNumBytesPerRB;
    452  dataOut->dataCompressed[thisRBExpAddr] = storedExp[n];
    453 
    456  constexpr uint16_t k_RbWriteMask = 0x0FFF;
    457  constexpr int k_numDataBytesPerLane = 12;
    458  _mm_mask_storeu_epi8(dataOut->dataCompressed + thisRBExpAddr + 1, k_RbWriteMask, _mm512_extracti64x2_epi64(compDataBytePacked, 0));
    459  _mm_mask_storeu_epi8(dataOut->dataCompressed + thisRBExpAddr + 1 + k_numDataBytesPerLane, k_RbWriteMask, _mm512_extracti64x2_epi64(compDataBytePacked, 1));
    460  _mm_mask_storeu_epi8(dataOut->dataCompressed + thisRBExpAddr + 1 + (2 * k_numDataBytesPerLane), k_RbWriteMask, _mm512_extracti64x2_epi64(compDataBytePacked, 2));
    461  }
    462 }
    463 
    464 
    466 void
    468 {
    469 #pragma unroll(BlockFloatCompander::k_numRB)
    470  for (int n = 0; n < BlockFloatCompander::k_numRB; ++n)
    471  {
    473  auto expAddr = n * (BlockFloatCompander::k_numREReal + 1);
    474  const __m256i* rawDataIn = reinterpret_cast<const __m256i*>(dataIn.dataCompressed + expAddr + 1);
    475  const auto compData16 = _mm512_cvtepi8_epi16(*rawDataIn);
    476  const auto expData = _mm512_slli_epi16(compData16, *(dataIn.dataCompressed + expAddr));
    478  constexpr uint8_t k_rbMask64 = 0b00111111; // 64b write mask for 1RB (24 int16 values)
    479  _mm512_mask_storeu_epi64(dataOut->dataExpanded + n * BlockFloatCompander::k_numREReal, k_rbMask64, expData);
    480  }
    481 }
    482 
    483 
    485 void
    487 {
    488 #pragma unroll(BlockFloatCompander::k_numRB)
    489  for (int n = 0; n < BlockFloatCompander::k_numRB; ++n)
    490  {
    491  constexpr int k_totNumBytesPerRB = 28;
    492  auto expAddr = n * k_totNumBytesPerRB;
    493 
    495  auto expData = networkByteUnpack9b(dataIn.dataCompressed + expAddr + 1);
    496 
    498  constexpr int k_maxExpShift = 7;
    499  expData = _mm512_srai_epi16(expData, k_maxExpShift - *(dataIn.dataCompressed + expAddr));
    500 
    502  static constexpr uint32_t k_WriteMask = 0x00FFFFFF;
    503  _mm512_mask_storeu_epi16(dataOut->dataExpanded + n * BlockFloatCompander::k_numREReal, k_WriteMask, expData);
    504  }
    505 }
    506 
    507 
    509 void
    511 {
    512 #pragma unroll(BlockFloatCompander::k_numRB)
    513  for (int n = 0; n < BlockFloatCompander::k_numRB; ++n)
    514  {
    515  constexpr int k_totNumBytesPerRB = 31;
    516  auto expAddr = n * k_totNumBytesPerRB;
    517 
    519  auto expData = networkByteUnpack10b(dataIn.dataCompressed + expAddr + 1);
    520 
    522  constexpr int k_maxExpShift = 6;
    523  expData = _mm512_srai_epi16(expData, k_maxExpShift - *(dataIn.dataCompressed + expAddr));
    524 
    526  static constexpr uint32_t k_WriteMask = 0x00FFFFFF;
    527  _mm512_mask_storeu_epi16(dataOut->dataExpanded + n * BlockFloatCompander::k_numREReal, k_WriteMask, expData);
    528  }
    529 }
    530 
    531 
    533 void
    535 {
    536 #pragma unroll(BlockFloatCompander::k_numRB)
    537  for (int n = 0; n < BlockFloatCompander::k_numRB; ++n)
    538  {
    539  constexpr int k_totNumBytesPerRB = 37;
    540  auto expAddr = n * k_totNumBytesPerRB;
    541 
    543  auto expData = networkByteUnpack12b(dataIn.dataCompressed + expAddr + 1);
    544 
    546  constexpr int k_maxExpShift = 4;
    547  expData = _mm512_srai_epi16(expData, k_maxExpShift - *(dataIn.dataCompressed + expAddr));
    548 
    550  static constexpr uint32_t k_WriteMask = 0x00FFFFFF;
    551  _mm512_mask_storeu_epi16(dataOut->dataExpanded + n * BlockFloatCompander::k_numREReal, k_WriteMask, expData);
    552  }
    553 }
    554 
    555 
    557 void
    559 {
    560  int dataOutIdx = 0;
    561  int16_t iqMask = (int16_t)((1 << dataIn.iqWidth) - 1);
    562  int byteShiftUnits = dataIn.iqWidth - 8;
    563 
    564  for (int rb = 0; rb < BlockFloatCompander::k_numRB; ++rb)
    565  {
    567  int16_t maxAbs = 0;
    568  for (int re = 0; re < BlockFloatCompander::k_numREReal; ++re)
    569  {
    570  auto dataIdx = rb * BlockFloatCompander::k_numREReal + re;
    571  auto dataAbs = saturateAbs(dataIn.dataExpanded[dataIdx]);
    572  maxAbs = std::max(maxAbs, dataAbs);
    573  }
    574 
    575  // Find exponent and insert into byte stream
    576  auto thisExp = (uint8_t)(std::max(0,(16 - dataIn.iqWidth + 1 - __lzcnt16(maxAbs))));
    577  dataOut->dataCompressed[dataOutIdx++] = thisExp;
    578 
    582  static constexpr int k_byteMask = 0xFF;
    583  int byteShiftVal = -8;
    584  int byteBuffer = { 0 };
    585  for (int re = 0; re < BlockFloatCompander::k_numREReal; ++re)
    586  {
    587  auto dataIdxIn = rb * BlockFloatCompander::k_numREReal + re;
    588  auto thisRE = dataIn.dataExpanded[dataIdxIn] >> thisExp;
    589  byteBuffer = (byteBuffer << dataIn.iqWidth) + (int)(thisRE & iqMask);
    590 
    591  byteShiftVal += (8 + byteShiftUnits);
    592  while (byteShiftVal >= 0)
    593  {
    594  auto thisByte = (uint8_t)((byteBuffer >> byteShiftVal) & k_byteMask);
    595  dataOut->dataCompressed[dataOutIdx++] = thisByte;
    596  byteShiftVal -= 8;
    597  }
    598  }
    599  }
    600  dataOut->iqWidth = dataIn.iqWidth;
    601 }
    602 
    604 void
    606 {
    607  uint32_t iqMask = (uint32_t)(UINT_MAX - ((1 << (32 - dataIn.iqWidth)) - 1));
    608  uint32_t byteBuffer = { 0 };
    609  int numBytesPerRB = (3 * dataIn.iqWidth) + 1;
    610  int bitPointer = 0;
    611  int dataIdxOut = 0;
    612 
    613  for (int rb = 0; rb < BlockFloatCompander::k_numRB; ++rb)
    614  {
    615  auto expIdx = rb * numBytesPerRB;
    616  auto signExtShift = 32 - dataIn.iqWidth - dataIn.dataCompressed[expIdx];
    617 
    618  for (int b = 0; b < numBytesPerRB - 1; ++b)
    619  {
    620  auto dataIdxIn = (expIdx + 1) + b;
    621  auto thisByte = (uint16_t)dataIn.dataCompressed[dataIdxIn];
    622  byteBuffer = (uint32_t)((byteBuffer << 8) + thisByte);
    623  bitPointer += 8;
    624  while (bitPointer >= dataIn.iqWidth)
    625  {
    629  int32_t thisSample32 = (int32_t)((byteBuffer << (32 - bitPointer)) & iqMask);
    630  int16_t thisSample = (int16_t)(thisSample32 >> signExtShift);
    631  bitPointer -= dataIn.iqWidth;
    632  dataOut->dataExpanded[dataIdxOut++] = thisSample;
    633  }
    634  }
    635  }
    636 }
    637 
    639 void
    641 {
    642  int dataOutIdx = 0;
    643  int16_t iqMask = (int16_t)((1 << dataIn.iqWidth) - 1);
    644  int byteShiftUnits = dataIn.iqWidth - 8;
    645 
    646  for (int rb = 0; rb < BlockFloatCompanderBFW::k_numRB; ++rb)
    647  {
    649  int16_t maxAbs = 0;
    650  for (int re = 0; re < BlockFloatCompanderBFW::k_numREReal; ++re)
    651  {
    652  auto dataIdx = rb * BlockFloatCompanderBFW::k_numREReal + re;
    653  auto dataAbs = saturateAbs(dataIn.dataExpanded[dataIdx]);
    654  maxAbs = std::max(maxAbs, dataAbs);
    655  }
    656 
    657  // Find exponent and insert into byte stream
    658  auto thisExp = (uint8_t)(std::max(0,(16 - dataIn.iqWidth + 1 - __lzcnt16(maxAbs))));
    659  dataOut->dataCompressed[dataOutIdx++] = thisExp;
    660 
    664  static constexpr int k_byteMask = 0xFF;
    665  int byteShiftVal = -8;
    666  int byteBuffer = { 0 };
    667  for (int re = 0; re < BlockFloatCompanderBFW::k_numREReal; ++re)
    668  {
    669  auto dataIdxIn = rb * BlockFloatCompanderBFW::k_numREReal + re;
    670  auto thisRE = dataIn.dataExpanded[dataIdxIn] >> thisExp;
    671  byteBuffer = (byteBuffer << dataIn.iqWidth) + (int)(thisRE & iqMask);
    672 
    673  byteShiftVal += (8 + byteShiftUnits);
    674  while (byteShiftVal >= 0)
    675  {
    676  auto thisByte = (uint8_t)((byteBuffer >> byteShiftVal) & k_byteMask);
    677  dataOut->dataCompressed[dataOutIdx++] = thisByte;
    678  byteShiftVal -= 8;
    679  }
    680  }
    681  }
    682  dataOut->iqWidth = dataIn.iqWidth;
    683 }
    684 
    686 void
    688 {
    689  uint32_t iqMask = (uint32_t)(UINT_MAX - ((1 << (32 - dataIn.iqWidth)) - 1));
    690  uint32_t byteBuffer = { 0 };
    691  int numBytesPerRB = (3 * dataIn.iqWidth) + 1;
    692  int bitPointer = 0;
    693  int dataIdxOut = 0;
    694 
    695  for (int rb = 0; rb < BlockFloatCompanderBFW::k_numRB; ++rb)
    696  {
    697  auto expIdx = rb * numBytesPerRB;
    698  auto signExtShift = 32 - dataIn.iqWidth - dataIn.dataCompressed[expIdx];
    699 
    700  for (int b = 0; b < numBytesPerRB - 1; ++b)
    701  {
    702  auto dataIdxIn = (expIdx + 1) + b;
    703  auto thisByte = (uint16_t)dataIn.dataCompressed[dataIdxIn];
    704  byteBuffer = (uint32_t)((byteBuffer << 8) + thisByte);
    705  bitPointer += 8;
    706  while (bitPointer >= dataIn.iqWidth)
    707  {
    711  int32_t thisSample32 = (int32_t)((byteBuffer << (32 - bitPointer)) & iqMask);
    712  int16_t thisSample = (int16_t)(thisSample32 >> signExtShift);
    713  bitPointer -= dataIn.iqWidth;
    714  dataOut->dataExpanded[dataIdxOut++] = thisSample;
    715  }
    716  }
    717  }
    718 }
    719 
    720 #define RB_NUM_ROUNDUP(rb) \
    721  (BlockFloatCompander::k_numRB * ((rb + BlockFloatCompander::k_numRB - 1) / BlockFloatCompander::k_numRB))
    722 
    723 
    727 
    728 int32_t
    730  struct xranlib_compress_response *response)
    731 {
    732  BlockFloatCompander::ExpandedData expandedDataInput;
    733  BlockFloatCompander::CompressedData compressedDataOut;
    734  xran_bfp_compress_fn com_fn = NULL;
    735  int16_t numRBs = request->numRBs;
    736  int16_t len = 0;
    737 
    738  switch (request->iqWidth){
    739  case 8:
    740  expandedDataInput.iqWidth = 8;
    742  break;
    743  case 9:
    744  expandedDataInput.iqWidth = 9;
    746  break;
    747  case 10:
    748  expandedDataInput.iqWidth = 10;
    750  break;
    751  case 12:
    752  expandedDataInput.iqWidth = 12;
    754  break;
    755  default:
    756  expandedDataInput.iqWidth = request->iqWidth;
    758  break;
    759  }
    760 
    761  for (int16_t block_idx = 0;
    762  block_idx < RB_NUM_ROUNDUP(numRBs)/BlockFloatCompander::k_numRB /*+ 1*/; /* 16 RBs at time */
    763  block_idx++) {
    764 
    765  expandedDataInput.dataExpanded =
    766  &request->data_in[block_idx*BlockFloatCompander::k_numSampsExpanded];
    767  compressedDataOut.dataCompressed =
    768  (uint8_t*)&response->data_out[len];
    769 
    770  com_fn(expandedDataInput, &compressedDataOut);
    771  len += ((3 * expandedDataInput.iqWidth) + 1) * std::min((int16_t)BlockFloatCompander::k_numRB,(int16_t)numRBs);
    772  }
    773 
    774  response->len = ((3 * expandedDataInput.iqWidth) + 1) * numRBs;
    775 
    776  return 0;
    777 }
    778 
    781 
    782 int32_t
    784  struct xranlib_compress_response *response)
    785 {
    786  BlockFloatCompanderBFW::ExpandedData expandedDataInput;
    787  BlockFloatCompanderBFW::CompressedData compressedDataKern;
    788  xran_bfp_compress_bfw_fn com_fn = NULL;
    789 
    790 #if 0
    791  for (int m = 0; m < BlockFloatCompander::k_numRB; ++m){
    792  for (int n = 0; n < BlockFloatCompander::k_numREReal; ++n){
    793  expandedDataInput.dataExpanded[m*BlockFloatCompander::k_numREReal+n] =
    794  request->data_in[m*BlockFloatCompander::k_numREReal+n];
    795  }
    796  }
    797 #endif
    798 
    799  expandedDataInput.dataExpanded = request->data_in;
    800  compressedDataKern.dataCompressed = (uint8_t*)response->data_out;
    801 
    803  switch (request->iqWidth){
    804  case 8:
    805  expandedDataInput.iqWidth = 8;
    806  break;
    807  case 9:
    808  expandedDataInput.iqWidth = 9;
    809  //com_fn = BlockFloatCompanderBFW::BlockFloatExpand_9b_AVX512
    810  break;
    811  case 10:
    812  expandedDataInput.iqWidth = 10;
    813  break;
    814  case 12:
    815  expandedDataInput.iqWidth = 12;
    816  break;
    817  default:
    818  printf("bfwIqWidth is not supported %d\n", request->iqWidth);
    819  return -1;
    820  break;
    821  }
    822 
    823  com_fn(expandedDataInput, &compressedDataKern);
    824  response->len = ((BlockFloatCompanderBFW::k_numRE/16*4*expandedDataInput.iqWidth)+1)*BlockFloatCompanderBFW::k_numRB;
    825 
    826  return 0;
    827 }
    828 
    831 
    832 
    833 int32_t
    835  struct xranlib_decompress_response *response)
    836 {
    837 
    838  BlockFloatCompander::CompressedData compressedDataInput;
    839  BlockFloatCompander::ExpandedData expandedDataOut;
    840 
    841  xran_bfp_decompress_fn decom_fn = NULL;
    842  int16_t numRBs = request->numRBs;
    843  int16_t len = 0;
    844 
    845  switch (request->iqWidth){
    846  case 8:
    847  compressedDataInput.iqWidth = 8;
    849  break;
    850  case 9:
    851  compressedDataInput.iqWidth = 9;
    853  break;
    854  case 10:
    855  compressedDataInput.iqWidth = 10;
    857  break;
    858  case 12:
    859  compressedDataInput.iqWidth = 12;
    861  break;
    862  default:
    863  compressedDataInput.iqWidth = request->iqWidth;
    865  break;
    866  }
    867 
    868  for (int16_t block_idx = 0;
    869  block_idx < RB_NUM_ROUNDUP(numRBs)/BlockFloatCompander::k_numRB;
    870  block_idx++) {
    871 
    872  compressedDataInput.dataCompressed = (uint8_t*)&request->data_in[block_idx*(((3 * compressedDataInput.iqWidth ) + 1) * BlockFloatCompander::k_numRB)];
    873  expandedDataOut.dataExpanded = &response->data_out[len];
    874 
    875  decom_fn(compressedDataInput, &expandedDataOut);
    876  len += std::min((int16_t)BlockFloatCompander::k_numSampsExpanded, (int16_t)(numRBs*BlockFloatCompander::k_numREReal));
    877  }
    878 
    879  response->len = numRBs * BlockFloatCompander::k_numREReal* sizeof(int16_t);
    880 
    881  return 0;
    882 }
    + + +
    void BlockFloatCompress_12b_AVX512(const ExpandedData &dataIn, CompressedData *dataOut)
    12 bit compression
    +
    uint32_t rb
    Definition: xran_pkt_cp.h:243
    +
    void(* xran_bfp_compress_bfw_fn)(const BlockFloatCompanderBFW::ExpandedData &dataIn, BlockFloatCompanderBFW::CompressedData *dataOut)
    + +
    __m512i networkBytePack10b(const __m512i compData)
    +
    #define RB_NUM_ROUNDUP(rb)
    +
    int iqWidth
    Size of mantissa including sign bit.
    + + +
    int iqWidth
    Size of mantissa including sign bit.
    + +
    Request structure containing pointer to data and its length.
    +
    void BlockFloatCompress_Basic(const ExpandedData &dataIn, CompressedData *dataOut)
    Reference compression.
    +
    External API for compading with the use BFP algorithm.
    +
    numRBs
    Definition: gen_test.m:96
    +
    __m512i networkByteUnpack10b(const uint8_t *inData)
    +
    int iqWidth
    Size of mantissa including sign bit.
    +
    void(* xran_bfp_compress_fn)(const BlockFloatCompander::ExpandedData &dataIn, BlockFloatCompander::CompressedData *dataOut)
    +
    void BlockFloatCompress_9b_AVX512(const ExpandedData &dataIn, CompressedData *dataOut)
    9 bit compression
    + +
    void BlockFloatCompress_10b_AVX512(const ExpandedData &dataIn, CompressedData *dataOut)
    10 bit compression
    +
    void(* xran_bfp_decompress_fn)(const BlockFloatCompander::CompressedData &dataIn, BlockFloatCompander::ExpandedData *dataOut)
    +
    int32_t xranlib_compress_avx512(const struct xranlib_compress_request *request, struct xranlib_compress_response *response)
    +
    int iqWidth
    Size of mantissa including sign bit.
    +
    void BlockFloatExpand_8b_AVX512(const CompressedData &dataIn, ExpandedData *dataOut)
    8 bit expansion
    +
    __m512i networkByteUnpack12b(const uint8_t *inData)
    + +
    Request structure containing pointer to data and its length.
    + +
    int32_t xranlib_decompress_avx512(const struct xranlib_decompress_request *request, struct xranlib_decompress_response *response)
    +
    __m512i networkByteUnpack9b(const uint8_t *inData)
    +
    void BlockFloatExpand_Basic(const CompressedData &dataIn, ExpandedData *dataOut)
    Reference expansion.
    +
    void BlockFloatExpand_9b_AVX512(const CompressedData &dataIn, ExpandedData *dataOut)
    9 bit expansion
    +
    void computeExponent(const BlockFloatCompander::ExpandedData &dataIn, int8_t *expStore)
    Compute exponent value for a set of RB from the maximum absolute value.
    +
    switch(bw) case
    Definition: gen_test.m:94
    + +
    Response structure containing pointer to data and its length.
    +
    void BlockFloatExpand_12b_AVX512(const CompressedData &dataIn, ExpandedData *dataOut)
    12 bit expansion
    +
    CACHE_ALIGNED uint8_t * dataCompressed
    +
    void BlockFloatExpand_10b_AVX512(const CompressedData &dataIn, ExpandedData *dataOut)
    10 bit expansion
    +
    __m512i networkBytePack9b(const __m512i compData)
    +
    void BlockFloatCompress_8b_AVX512(const ExpandedData &dataIn, CompressedData *dataOut)
    8 bit compression
    + +
    CACHE_ALIGNED int16_t * dataExpanded
    + + + +
    __m512i networkBytePack12b(const __m512i compData)
    + +
    int32_t xranlib_compress_avx512_bfw(const struct xranlib_compress_request *request, struct xranlib_compress_response *response)
    +
    void BlockFloatCompress_Basic(const ExpandedData &dataIn, CompressedData *dataOut)
    Reference compression.
    +
    Response structure containing pointer to data and its length.
    + +
    void BlockFloatExpand_Basic(const CompressedData &dataIn, ExpandedData *dataOut)
    Reference expansion.
    +
    + + + + diff --git a/docs/API/xran__compression_8h.html b/docs/API/xran__compression_8h.html new file mode 100644 index 0000000..07f35ea --- /dev/null +++ b/docs/API/xran__compression_8h.html @@ -0,0 +1,536 @@ + + + + + + + +o-du/phy: xran_compression.h File Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    xran_compression.h File Reference
    +
    +
    + +

    External API for compading with the use BFP algorithm. +More...

    +
    #include <stdint.h>
    +
    +Include dependency graph for xran_compression.h:
    +
    +
    + + +
    +
    +This graph shows which files directly or indirectly include this file:
    +
    +
    + + + + + + + +
    +
    +

    Go to the source code of this file.

    + + + + + + + + + + + + + + +

    +Data Structures

    struct  xranlib_compress_request
     Request structure containing pointer to data and its length. More...
     
    struct  xranlib_compress_response
     Response structure containing pointer to data and its length. More...
     
    struct  xranlib_decompress_request
     Request structure containing pointer to data and its length. More...
     
    struct  xranlib_decompress_response
     Response structure containing pointer to data and its length. More...
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Functions

    int16_t xranlib_companding_version (char *version, int buffer_size)
     Report the version number for the xranlib_companding library. More...
     
    int xranlib_compress (const struct xranlib_compress_request *request, struct xranlib_compress_response *response)
     Compress functions - it converts a 16-bit linear PCM value to 8-bt A-law. More...
     
    int xranlib_compress_sse (const struct xranlib_compress_request *request, struct xranlib_compress_response *response)
     
    int xranlib_compress_avx2 (const struct xranlib_compress_request *request, struct xranlib_compress_response *response)
     
    int xranlib_compress_avx512 (const struct xranlib_compress_request *request, struct xranlib_compress_response *response)
     
    int xranlib_compress_avx512_bfw (const struct xranlib_compress_request *request, struct xranlib_compress_response *response)
     
    int xranlib_decompress (const struct xranlib_decompress_request *request, struct xranlib_decompress_response *response)
     Decompress function - it converts an A-law value to 16-bit linear PCM. More...
     
    int xranlib_decompress_sse (const struct xranlib_decompress_request *request, struct xranlib_decompress_response *response)
     
    int xranlib_decompress_avx2 (const struct xranlib_decompress_request *request, struct xranlib_decompress_response *response)
     
    int xranlib_decompress_avx512 (const struct xranlib_decompress_request *request, struct xranlib_decompress_response *response)
     
    +

    Detailed Description

    +

    External API for compading with the use BFP algorithm.

    + +

    Definition in file xran_compression.h.

    +

    Function Documentation

    + +

    ◆ xranlib_companding_version()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    int16_t xranlib_companding_version (char * version,
    int buffer_size 
    )
    +
    + +

    Report the version number for the xranlib_companding library.

    +
    Parameters
    + + + +
    [in]versionPointer to a char buffer where the version string should be copied.
    [in]buffer_sizeThe length of the string buffer, must be at least xranlib_SDK_VERSION_STRING_MAX_LEN characters.
    +
    +
    +
    Returns
    0 if the version string was populated, otherwise -1.
    + +
    +
    + +

    ◆ xranlib_compress()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    int xranlib_compress (const struct xranlib_compress_requestrequest,
    struct xranlib_compress_responseresponse 
    )
    +
    + +

    Compress functions - it converts a 16-bit linear PCM value to 8-bt A-law.

    +
    Parameters
    + + + +
    [in]requestStructure containing the input data and data length.
    [out]responseStructure containing the output data and data length.
    +
    +
    +
    Returns
    0 for success, -1 for error
    + +
    +
    + +

    ◆ xranlib_compress_avx2()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    int xranlib_compress_avx2 (const struct xranlib_compress_requestrequest,
    struct xranlib_compress_responseresponse 
    )
    +
    + +
    +
    + +

    ◆ xranlib_compress_avx512()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    int xranlib_compress_avx512 (const struct xranlib_compress_requestrequest,
    struct xranlib_compress_responseresponse 
    )
    +
    + +

    Definition at line 729 of file xran_compression.cpp.

    +
    +Here is the call graph for this function:
    +
    +
    + + + + + + + + + + + +
    +
    +Here is the caller graph for this function:
    +
    +
    + + + +
    + +
    +
    + +

    ◆ xranlib_compress_avx512_bfw()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    int xranlib_compress_avx512_bfw (const struct xranlib_compress_requestrequest,
    struct xranlib_compress_responseresponse 
    )
    +
    + +

    Definition at line 783 of file xran_compression.cpp.

    +
    +Here is the call graph for this function:
    +
    +
    + + + + +
    +
    +Here is the caller graph for this function:
    +
    +
    + + + + +
    + +
    +
    + +

    ◆ xranlib_compress_sse()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    int xranlib_compress_sse (const struct xranlib_compress_requestrequest,
    struct xranlib_compress_responseresponse 
    )
    +
    + +
    +
    + +

    ◆ xranlib_decompress()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    int xranlib_decompress (const struct xranlib_decompress_requestrequest,
    struct xranlib_decompress_responseresponse 
    )
    +
    + +

    Decompress function - it converts an A-law value to 16-bit linear PCM.

    +
    Parameters
    + + + +
    [in]requestStructure containing the input data and data length.
    [out]responseStructure containing the output data and data length.
    +
    +
    +
    Returns
    0 for success, -1 for error.
    + +
    +
    + +

    ◆ xranlib_decompress_avx2()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    int xranlib_decompress_avx2 (const struct xranlib_decompress_requestrequest,
    struct xranlib_decompress_responseresponse 
    )
    +
    + +
    +
    + +

    ◆ xranlib_decompress_avx512()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    int xranlib_decompress_avx512 (const struct xranlib_decompress_requestrequest,
    struct xranlib_decompress_responseresponse 
    )
    +
    + +

    Definition at line 834 of file xran_compression.cpp.

    +
    +Here is the call graph for this function:
    +
    +
    + + + + + + + + + + +
    +
    +Here is the caller graph for this function:
    +
    +
    + + + +
    + +
    +
    + +

    ◆ xranlib_decompress_sse()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    int xranlib_decompress_sse (const struct xranlib_decompress_requestrequest,
    struct xranlib_decompress_responseresponse 
    )
    +
    + +
    +
    +
    + + + + diff --git a/docs/API/xran__compression_8h__dep__incl.map b/docs/API/xran__compression_8h__dep__incl.map new file mode 100644 index 0000000..5bcde09 --- /dev/null +++ b/docs/API/xran__compression_8h__dep__incl.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/API/xran__compression_8h__dep__incl.md5 b/docs/API/xran__compression_8h__dep__incl.md5 new file mode 100644 index 0000000..37871d3 --- /dev/null +++ b/docs/API/xran__compression_8h__dep__incl.md5 @@ -0,0 +1 @@ +790ef1f8fedfc840be2dd09e89455dc8 \ No newline at end of file diff --git a/docs/API/xran__compression_8h__dep__incl.png b/docs/API/xran__compression_8h__dep__incl.png new file mode 100644 index 0000000..ee9c9fe Binary files /dev/null and b/docs/API/xran__compression_8h__dep__incl.png differ diff --git a/docs/API/xran__compression_8h__incl.map b/docs/API/xran__compression_8h__incl.map new file mode 100644 index 0000000..d6c3189 --- /dev/null +++ b/docs/API/xran__compression_8h__incl.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/xran__compression_8h__incl.md5 b/docs/API/xran__compression_8h__incl.md5 new file mode 100644 index 0000000..bf9e838 --- /dev/null +++ b/docs/API/xran__compression_8h__incl.md5 @@ -0,0 +1 @@ +73bb129dd65c807786471208e704fbe3 \ No newline at end of file diff --git a/docs/API/xran__compression_8h__incl.png b/docs/API/xran__compression_8h__incl.png new file mode 100644 index 0000000..064d8ac Binary files /dev/null and b/docs/API/xran__compression_8h__incl.png differ diff --git a/docs/API/xran__compression_8h_a37cf9d6083277717f55016a8c160c635_cgraph.map b/docs/API/xran__compression_8h_a37cf9d6083277717f55016a8c160c635_cgraph.map new file mode 100644 index 0000000..b2fe3ef --- /dev/null +++ b/docs/API/xran__compression_8h_a37cf9d6083277717f55016a8c160c635_cgraph.map @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/docs/API/xran__compression_8h_a37cf9d6083277717f55016a8c160c635_cgraph.md5 b/docs/API/xran__compression_8h_a37cf9d6083277717f55016a8c160c635_cgraph.md5 new file mode 100644 index 0000000..b161048 --- /dev/null +++ b/docs/API/xran__compression_8h_a37cf9d6083277717f55016a8c160c635_cgraph.md5 @@ -0,0 +1 @@ +786ca6b621cd7a029f62145ddbf2e03d \ No newline at end of file diff --git a/docs/API/xran__compression_8h_a37cf9d6083277717f55016a8c160c635_cgraph.png b/docs/API/xran__compression_8h_a37cf9d6083277717f55016a8c160c635_cgraph.png new file mode 100644 index 0000000..16069ec Binary files /dev/null and b/docs/API/xran__compression_8h_a37cf9d6083277717f55016a8c160c635_cgraph.png differ diff --git a/docs/API/xran__compression_8h_a37cf9d6083277717f55016a8c160c635_icgraph.map b/docs/API/xran__compression_8h_a37cf9d6083277717f55016a8c160c635_icgraph.map new file mode 100644 index 0000000..34e3621 --- /dev/null +++ b/docs/API/xran__compression_8h_a37cf9d6083277717f55016a8c160c635_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/xran__compression_8h_a37cf9d6083277717f55016a8c160c635_icgraph.md5 b/docs/API/xran__compression_8h_a37cf9d6083277717f55016a8c160c635_icgraph.md5 new file mode 100644 index 0000000..6b68d59 --- /dev/null +++ b/docs/API/xran__compression_8h_a37cf9d6083277717f55016a8c160c635_icgraph.md5 @@ -0,0 +1 @@ +2d3f1d17f48d91b190a6e8b44b115a93 \ No newline at end of file diff --git a/docs/API/xran__compression_8h_a37cf9d6083277717f55016a8c160c635_icgraph.png b/docs/API/xran__compression_8h_a37cf9d6083277717f55016a8c160c635_icgraph.png new file mode 100644 index 0000000..349b64a Binary files /dev/null and b/docs/API/xran__compression_8h_a37cf9d6083277717f55016a8c160c635_icgraph.png differ diff --git a/docs/API/xran__compression_8h_a55f53f65b294f4b5f75190e3565ac295_cgraph.map b/docs/API/xran__compression_8h_a55f53f65b294f4b5f75190e3565ac295_cgraph.map new file mode 100644 index 0000000..0ef5b89 --- /dev/null +++ b/docs/API/xran__compression_8h_a55f53f65b294f4b5f75190e3565ac295_cgraph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/xran__compression_8h_a55f53f65b294f4b5f75190e3565ac295_cgraph.md5 b/docs/API/xran__compression_8h_a55f53f65b294f4b5f75190e3565ac295_cgraph.md5 new file mode 100644 index 0000000..e8e2a88 --- /dev/null +++ b/docs/API/xran__compression_8h_a55f53f65b294f4b5f75190e3565ac295_cgraph.md5 @@ -0,0 +1 @@ +7a0738551600e368d61f9d43911f9578 \ No newline at end of file diff --git a/docs/API/xran__compression_8h_a55f53f65b294f4b5f75190e3565ac295_cgraph.png b/docs/API/xran__compression_8h_a55f53f65b294f4b5f75190e3565ac295_cgraph.png new file mode 100644 index 0000000..c1a5137 Binary files /dev/null and b/docs/API/xran__compression_8h_a55f53f65b294f4b5f75190e3565ac295_cgraph.png differ diff --git a/docs/API/xran__compression_8h_a55f53f65b294f4b5f75190e3565ac295_icgraph.map b/docs/API/xran__compression_8h_a55f53f65b294f4b5f75190e3565ac295_icgraph.map new file mode 100644 index 0000000..9026fd8 --- /dev/null +++ b/docs/API/xran__compression_8h_a55f53f65b294f4b5f75190e3565ac295_icgraph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/xran__compression_8h_a55f53f65b294f4b5f75190e3565ac295_icgraph.md5 b/docs/API/xran__compression_8h_a55f53f65b294f4b5f75190e3565ac295_icgraph.md5 new file mode 100644 index 0000000..12c5215 --- /dev/null +++ b/docs/API/xran__compression_8h_a55f53f65b294f4b5f75190e3565ac295_icgraph.md5 @@ -0,0 +1 @@ +578631712951e140bb2a1b470d166b5c \ No newline at end of file diff --git a/docs/API/xran__compression_8h_a55f53f65b294f4b5f75190e3565ac295_icgraph.png b/docs/API/xran__compression_8h_a55f53f65b294f4b5f75190e3565ac295_icgraph.png new file mode 100644 index 0000000..a2e08a6 Binary files /dev/null and b/docs/API/xran__compression_8h_a55f53f65b294f4b5f75190e3565ac295_icgraph.png differ diff --git a/docs/API/xran__compression_8h_aa6b18eb6f1138abd91d649218c2950d4_cgraph.map b/docs/API/xran__compression_8h_aa6b18eb6f1138abd91d649218c2950d4_cgraph.map new file mode 100644 index 0000000..5be0c33 --- /dev/null +++ b/docs/API/xran__compression_8h_aa6b18eb6f1138abd91d649218c2950d4_cgraph.map @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/docs/API/xran__compression_8h_aa6b18eb6f1138abd91d649218c2950d4_cgraph.md5 b/docs/API/xran__compression_8h_aa6b18eb6f1138abd91d649218c2950d4_cgraph.md5 new file mode 100644 index 0000000..32e53df --- /dev/null +++ b/docs/API/xran__compression_8h_aa6b18eb6f1138abd91d649218c2950d4_cgraph.md5 @@ -0,0 +1 @@ +0d20d723319cd29bf2b841fea38b7115 \ No newline at end of file diff --git a/docs/API/xran__compression_8h_aa6b18eb6f1138abd91d649218c2950d4_cgraph.png b/docs/API/xran__compression_8h_aa6b18eb6f1138abd91d649218c2950d4_cgraph.png new file mode 100644 index 0000000..7be7c2e Binary files /dev/null and b/docs/API/xran__compression_8h_aa6b18eb6f1138abd91d649218c2950d4_cgraph.png differ diff --git a/docs/API/xran__compression_8h_aa6b18eb6f1138abd91d649218c2950d4_icgraph.map b/docs/API/xran__compression_8h_aa6b18eb6f1138abd91d649218c2950d4_icgraph.map new file mode 100644 index 0000000..c97b46f --- /dev/null +++ b/docs/API/xran__compression_8h_aa6b18eb6f1138abd91d649218c2950d4_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/xran__compression_8h_aa6b18eb6f1138abd91d649218c2950d4_icgraph.md5 b/docs/API/xran__compression_8h_aa6b18eb6f1138abd91d649218c2950d4_icgraph.md5 new file mode 100644 index 0000000..bc065d0 --- /dev/null +++ b/docs/API/xran__compression_8h_aa6b18eb6f1138abd91d649218c2950d4_icgraph.md5 @@ -0,0 +1 @@ +75a2d28f2d3436b30af39a9d11e4efe9 \ No newline at end of file diff --git a/docs/API/xran__compression_8h_aa6b18eb6f1138abd91d649218c2950d4_icgraph.png b/docs/API/xran__compression_8h_aa6b18eb6f1138abd91d649218c2950d4_icgraph.png new file mode 100644 index 0000000..4f4172d Binary files /dev/null and b/docs/API/xran__compression_8h_aa6b18eb6f1138abd91d649218c2950d4_icgraph.png differ diff --git a/docs/API/xran__compression_8h_source.html b/docs/API/xran__compression_8h_source.html new file mode 100644 index 0000000..33d9ccb --- /dev/null +++ b/docs/API/xran__compression_8h_source.html @@ -0,0 +1,106 @@ + + + + + + + +o-du/phy: xran_compression.h Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    xran_compression.h
    +
    +
    +Go to the documentation of this file.
    1 /******************************************************************************
    2 *
    3 * Copyright (c) 2019 Intel.
    4 *
    5 * Licensed under the Apache License, Version 2.0 (the "License");
    6 * you may not use this file except in compliance with the License.
    7 * You may obtain a copy of the License at
    8 *
    9 * http://www.apache.org/licenses/LICENSE-2.0
    10 *
    11 * Unless required by applicable law or agreed to in writing, software
    12 * distributed under the License is distributed on an "AS IS" BASIS,
    13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    14 * See the License for the specific language governing permissions and
    15 * limitations under the License.
    16 *
    17 *******************************************************************************/
    18 
    24 #ifndef _XRAN_COMPRESSION_H_
    25 #define _XRAN_COMPRESSION_H_
    26 
    27 #include <stdint.h>
    28 
    29 #ifdef __cplusplus
    30 extern "C" {
    31 #endif
    32 
    38  int16_t *data_in;
    39  int16_t numRBs;
    40  int16_t compMethod;
    41  int16_t iqWidth;
    42  int32_t len;
    43 };
    44 
    50  int8_t *data_out;
    52  int32_t len;
    53 };
    54 
    60  int8_t *data_in;
    61  int16_t numRBs;
    62  int16_t compMethod;
    63  int16_t iqWidth;
    65  int32_t len;
    66 };
    67 
    73  int16_t *data_out;
    75  int32_t len;
    76 };
    77 
    85 int16_t
    86 xranlib_companding_version(char *version, int buffer_size);
    87 
    89 
    95 int
    96 xranlib_compress(const struct xranlib_compress_request *request,
    97  struct xranlib_compress_response *response);
    98 
    99 int xranlib_compress_sse(const struct xranlib_compress_request *request,
    100  struct xranlib_compress_response *response);
    101 int xranlib_compress_avx2(const struct xranlib_compress_request *request,
    102  struct xranlib_compress_response *response);
    103 int xranlib_compress_avx512(const struct xranlib_compress_request *request,
    104  struct xranlib_compress_response *response);
    105 int xranlib_compress_avx512_bfw(const struct xranlib_compress_request *request,
    106  struct xranlib_compress_response *response);
    108 
    110 
    116 int
    117 xranlib_decompress(const struct xranlib_decompress_request *request,
    118  struct xranlib_decompress_response *response);
    119 
    120 int xranlib_decompress_sse(const struct xranlib_decompress_request *request,
    121  struct xranlib_decompress_response *response);
    122 int xranlib_decompress_avx2(const struct xranlib_decompress_request *request,
    123  struct xranlib_decompress_response *response);
    124 int xranlib_decompress_avx512(const struct xranlib_decompress_request *request,
    125  struct xranlib_decompress_response *response);
    127 
    128 #ifdef __cplusplus
    129 }
    130 #endif
    131 
    132 #endif /* _XRAN_COMPRESSION_H_ */
    + +
    int16_t xranlib_companding_version(char *version, int buffer_size)
    Report the version number for the xranlib_companding library.
    + +
    int xranlib_decompress_avx512(const struct xranlib_decompress_request *request, struct xranlib_decompress_response *response)
    + +
    Request structure containing pointer to data and its length.
    + + +
    int xranlib_compress(const struct xranlib_compress_request *request, struct xranlib_compress_response *response)
    Compress functions - it converts a 16-bit linear PCM value to 8-bt A-law.
    +
    int xranlib_compress_avx512_bfw(const struct xranlib_compress_request *request, struct xranlib_compress_response *response)
    + +
    Request structure containing pointer to data and its length.
    +
    int xranlib_decompress_avx2(const struct xranlib_decompress_request *request, struct xranlib_decompress_response *response)
    +
    int xranlib_compress_avx2(const struct xranlib_compress_request *request, struct xranlib_compress_response *response)
    + +
    int xranlib_decompress_sse(const struct xranlib_decompress_request *request, struct xranlib_decompress_response *response)
    +
    int xranlib_compress_avx512(const struct xranlib_compress_request *request, struct xranlib_compress_response *response)
    + + + +
    int xranlib_compress_sse(const struct xranlib_compress_request *request, struct xranlib_compress_response *response)
    +
    Response structure containing pointer to data and its length.
    + + +
    int xranlib_decompress(const struct xranlib_decompress_request *request, struct xranlib_decompress_response *response)
    Decompress function - it converts an A-law value to 16-bit linear PCM.
    + +
    Response structure containing pointer to data and its length.
    +
    + + + + diff --git a/docs/API/xran__compression_8hpp.html b/docs/API/xran__compression_8hpp.html new file mode 100644 index 0000000..37f59e9 --- /dev/null +++ b/docs/API/xran__compression_8hpp.html @@ -0,0 +1,227 @@ + + + + + + + +o-du/phy: xran_compression.hpp File Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    xran_compression.hpp File Reference
    +
    +
    +
    #include <stdint.h>
    +
    +Include dependency graph for xran_compression.hpp:
    +
    +
    + + +
    +
    +This graph shows which files directly or indirectly include this file:
    +
    +
    + + + + +
    +
    +

    Go to the source code of this file.

    + + + + + + + + + + +

    +Data Structures

    struct  CompressedData
     
    struct  ExpandedData
     
    struct  CompressedData
     
    struct  ExpandedData
     
    + + + + + +

    +Namespaces

     BlockFloatCompander
     
     BlockFloatCompanderBFW
     
    + + + + + +

    +Macros

    #define CACHE_ALIGNED   alignas(k_cacheByteAlignment)
     
    #define ASSUME_CACHE_ALIGNED(data)   __assume_aligned(data, k_cacheByteAlignment);
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Functions

    void BlockFloatCompress_Basic (const ExpandedData &dataIn, CompressedData *dataOut)
     Reference compression. More...
     
    void BlockFloatCompress_8b_AVX512 (const ExpandedData &dataIn, CompressedData *dataOut)
     8 bit compression More...
     
    void BlockFloatCompress_9b_AVX512 (const ExpandedData &dataIn, CompressedData *dataOut)
     9 bit compression More...
     
    void BlockFloatCompress_10b_AVX512 (const ExpandedData &dataIn, CompressedData *dataOut)
     10 bit compression More...
     
    void BlockFloatCompress_12b_AVX512 (const ExpandedData &dataIn, CompressedData *dataOut)
     12 bit compression More...
     
    void BlockFloatExpand_Basic (const CompressedData &dataIn, ExpandedData *dataOut)
     Reference expansion. More...
     
    void BlockFloatExpand_8b_AVX512 (const CompressedData &dataIn, ExpandedData *dataOut)
     8 bit expansion More...
     
    void BlockFloatExpand_9b_AVX512 (const CompressedData &dataIn, ExpandedData *dataOut)
     9 bit expansion More...
     
    void BlockFloatExpand_10b_AVX512 (const CompressedData &dataIn, ExpandedData *dataOut)
     10 bit expansion More...
     
    void BlockFloatExpand_12b_AVX512 (const CompressedData &dataIn, ExpandedData *dataOut)
     12 bit expansion More...
     
    void BlockFloatCompress_Basic (const ExpandedData &dataIn, CompressedData *dataOut)
     Reference compression. More...
     
    void BlockFloatExpand_Basic (const CompressedData &dataIn, ExpandedData *dataOut)
     Reference expansion. More...
     
    + + + +

    +Variables

    constexpr unsigned k_cacheByteAlignment = 64
     
    +

    Macro Definition Documentation

    + +

    ◆ ASSUME_CACHE_ALIGNED

    + +
    +
    + + + + + + + + +
    #define ASSUME_CACHE_ALIGNED( data)   __assume_aligned(data, k_cacheByteAlignment);
    +
    + +

    Definition at line 40 of file xran_compression.hpp.

    + +
    +
    + +

    ◆ CACHE_ALIGNED

    + +
    +
    + + + + +
    #define CACHE_ALIGNED   alignas(k_cacheByteAlignment)
    +
    + +

    Definition at line 34 of file xran_compression.hpp.

    + +
    +
    +

    Variable Documentation

    + +

    ◆ k_cacheByteAlignment

    + +
    +
    + + + + +
    constexpr unsigned k_cacheByteAlignment = 64
    +
    + +

    Definition at line 28 of file xran_compression.hpp.

    + +
    +
    +
    + + + + diff --git a/docs/API/xran__compression_8hpp__dep__incl.map b/docs/API/xran__compression_8hpp__dep__incl.map new file mode 100644 index 0000000..5bd85c8 --- /dev/null +++ b/docs/API/xran__compression_8hpp__dep__incl.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/xran__compression_8hpp__dep__incl.md5 b/docs/API/xran__compression_8hpp__dep__incl.md5 new file mode 100644 index 0000000..51770b8 --- /dev/null +++ b/docs/API/xran__compression_8hpp__dep__incl.md5 @@ -0,0 +1 @@ +0dc22582f198f463fc63fcfb60fee295 \ No newline at end of file diff --git a/docs/API/xran__compression_8hpp__dep__incl.png b/docs/API/xran__compression_8hpp__dep__incl.png new file mode 100644 index 0000000..b568005 Binary files /dev/null and b/docs/API/xran__compression_8hpp__dep__incl.png differ diff --git a/docs/API/xran__compression_8hpp__incl.map b/docs/API/xran__compression_8hpp__incl.map new file mode 100644 index 0000000..6da0c1e --- /dev/null +++ b/docs/API/xran__compression_8hpp__incl.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/xran__compression_8hpp__incl.md5 b/docs/API/xran__compression_8hpp__incl.md5 new file mode 100644 index 0000000..534d02e --- /dev/null +++ b/docs/API/xran__compression_8hpp__incl.md5 @@ -0,0 +1 @@ +59ddceea0b234a4eb136d149b5012803 \ No newline at end of file diff --git a/docs/API/xran__compression_8hpp__incl.png b/docs/API/xran__compression_8hpp__incl.png new file mode 100644 index 0000000..269d3f5 Binary files /dev/null and b/docs/API/xran__compression_8hpp__incl.png differ diff --git a/docs/API/xran__compression_8hpp_source.html b/docs/API/xran__compression_8hpp_source.html new file mode 100644 index 0000000..06e8a71 --- /dev/null +++ b/docs/API/xran__compression_8hpp_source.html @@ -0,0 +1,105 @@ + + + + + + + +o-du/phy: xran_compression.hpp Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    xran_compression.hpp
    +
    +
    +Go to the documentation of this file.
    1 /******************************************************************************
    2 *
    3 * Copyright (c) 2019 Intel.
    4 *
    5 * Licensed under the Apache License, Version 2.0 (the "License");
    6 * you may not use this file except in compliance with the License.
    7 * You may obtain a copy of the License at
    8 *
    9 * http://www.apache.org/licenses/LICENSE-2.0
    10 *
    11 * Unless required by applicable law or agreed to in writing, software
    12 * distributed under the License is distributed on an "AS IS" BASIS,
    13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    14 * See the License for the specific language governing permissions and
    15 * limitations under the License.
    16 *
    17 *******************************************************************************/
    18 
    19 #pragma once
    20 #include <stdint.h>
    21 
    22 // This configuration file sets global constants and macros which are
    23 // of general use throughout the project.
    24 
    25 // All current IA processors of interest align their cache lines on
    26 // this boundary. If the cache alignment for future processors changes
    27 // then the most restrictive alignment should be set.
    28 constexpr unsigned k_cacheByteAlignment = 64;
    29 
    30 // Force the data to which this macro is applied to be aligned on a cache line.
    31 // For example:
    32 //
    33 // CACHE_ALIGNED float data[64];
    34 #define CACHE_ALIGNED alignas(k_cacheByteAlignment)
    35 
    36 // Hint to the compiler that the data to which this macro is applied
    37 // can be assumed to be aligned to a cache line. This allows the
    38 // compiler to generate improved code by using aligned reads and
    39 // writes.
    40 #define ASSUME_CACHE_ALIGNED(data) __assume_aligned(data, k_cacheByteAlignment);
    41 
    46 #pragma warning(disable:1418)
    47 #pragma warning(disable:1419)
    48 
    49 
    51 {
    53  static constexpr int k_numBitsIQ = 16;
    54  static constexpr int k_numRB = 16;
    55  static constexpr int k_numRE = 12;
    56  static constexpr int k_numREReal = k_numRE * 2;
    57  static constexpr int k_numSampsExpanded = k_numRB * k_numREReal;
    58  static constexpr int k_numSampsCompressed = (k_numSampsExpanded * 2) + k_numRB;
    59 
    61  {
    63  CACHE_ALIGNED uint8_t dataCompressedDataOut[k_numSampsCompressed];
    66  int iqWidth;
    67  };
    68 
    69  struct ExpandedData
    70  {
    72  CACHE_ALIGNED int16_t dataExpandedIn[k_numSampsExpanded];
    74 
    76  int iqWidth;
    77  };
    78 
    79  void BlockFloatCompress_Basic(const ExpandedData& dataIn, CompressedData* dataOut);
    80  void BlockFloatCompress_8b_AVX512(const ExpandedData& dataIn, CompressedData* dataOut);
    81  void BlockFloatCompress_9b_AVX512(const ExpandedData& dataIn, CompressedData* dataOut);
    82  void BlockFloatCompress_10b_AVX512(const ExpandedData& dataIn, CompressedData* dataOut);
    83  void BlockFloatCompress_12b_AVX512(const ExpandedData& dataIn, CompressedData* dataOut);
    84 
    85  void BlockFloatExpand_Basic(const CompressedData& dataIn, ExpandedData* dataOut);
    86  void BlockFloatExpand_8b_AVX512(const CompressedData& dataIn, ExpandedData* dataOut);
    87  void BlockFloatExpand_9b_AVX512(const CompressedData& dataIn, ExpandedData* dataOut);
    88  void BlockFloatExpand_10b_AVX512(const CompressedData& dataIn, ExpandedData* dataOut);
    89  void BlockFloatExpand_12b_AVX512(const CompressedData& dataIn, ExpandedData* dataOut);
    90 }
    91 
    93 {
    95  static constexpr int k_numBitsIQ = 16;
    96  static constexpr int k_numRB = 1;
    97  static constexpr int k_numRE = 32;
    98  static constexpr int k_numREReal = k_numRE * 2;
    99  static constexpr int k_numSampsExpanded = k_numRB * k_numREReal;
    100  static constexpr int k_numSampsCompressed = (k_numSampsExpanded * 2) + k_numRB;
    101 
    103  {
    105  CACHE_ALIGNED uint8_t dataCompressedDataOut[k_numSampsCompressed];
    108  int iqWidth;
    109  };
    110 
    112  {
    114  CACHE_ALIGNED int16_t dataExpandedIn[k_numSampsExpanded];
    116 
    118  int iqWidth;
    119  };
    120 
    121  void BlockFloatCompress_Basic(const ExpandedData& dataIn, CompressedData* dataOut);
    122 /* void BlockFloatCompress_8b_AVX512(const ExpandedData& dataIn, CompressedData* dataOut);
    123  void BlockFloatCompress_9b_AVX512(const ExpandedData& dataIn, CompressedData* dataOut);
    124  void BlockFloatCompress_10b_AVX512(const ExpandedData& dataIn, CompressedData* dataOut);
    125  void BlockFloatCompress_12b_AVX512(const ExpandedData& dataIn, CompressedData* dataOut); */
    126 
    127  void BlockFloatExpand_Basic(const CompressedData& dataIn, ExpandedData* dataOut);
    128 /* void BlockFloatExpand_8b_AVX512(const CompressedData& dataIn, ExpandedData* dataOut);
    129  void BlockFloatExpand_9b_AVX512(const CompressedData& dataIn, ExpandedData* dataOut);
    130  void BlockFloatExpand_10b_AVX512(const CompressedData& dataIn, ExpandedData* dataOut);
    131  void BlockFloatExpand_12b_AVX512(const CompressedData& dataIn, ExpandedData* dataOut);*/
    132 }
    133 
    CACHE_ALIGNED uint8_t dataCompressedDataOut[k_numSampsCompressed]
    Compressed data.
    + +
    void BlockFloatCompress_12b_AVX512(const ExpandedData &dataIn, CompressedData *dataOut)
    12 bit compression
    +
    int iqWidth
    Size of mantissa including sign bit.
    + + +
    int iqWidth
    Size of mantissa including sign bit.
    +
    int iqWidth
    Size of mantissa including sign bit.
    +
    void BlockFloatCompress_9b_AVX512(const ExpandedData &dataIn, CompressedData *dataOut)
    9 bit compression
    +
    void BlockFloatCompress_10b_AVX512(const ExpandedData &dataIn, CompressedData *dataOut)
    10 bit compression
    + +
    int iqWidth
    Size of mantissa including sign bit.
    +
    void BlockFloatExpand_8b_AVX512(const CompressedData &dataIn, ExpandedData *dataOut)
    8 bit expansion
    + +
    void BlockFloatExpand_9b_AVX512(const CompressedData &dataIn, ExpandedData *dataOut)
    9 bit expansion
    +
    constexpr unsigned k_cacheByteAlignment
    +
    #define CACHE_ALIGNED
    +
    void BlockFloatExpand_12b_AVX512(const CompressedData &dataIn, ExpandedData *dataOut)
    12 bit expansion
    + +
    CACHE_ALIGNED uint8_t * dataCompressed
    +
    void BlockFloatExpand_10b_AVX512(const CompressedData &dataIn, ExpandedData *dataOut)
    10 bit expansion
    +
    void BlockFloatCompress_8b_AVX512(const ExpandedData &dataIn, CompressedData *dataOut)
    8 bit compression
    +
    CACHE_ALIGNED int16_t * dataExpanded
    + + +
    void BlockFloatCompress_Basic(const ExpandedData &dataIn, CompressedData *dataOut)
    Reference compression.
    +
    void BlockFloatExpand_Basic(const CompressedData &dataIn, ExpandedData *dataOut)
    Reference expansion.
    +
    + + + + diff --git a/docs/API/xran__cp__api_8c.html b/docs/API/xran__cp__api_8c.html new file mode 100644 index 0000000..615adf0 --- /dev/null +++ b/docs/API/xran__cp__api_8c.html @@ -0,0 +1,1391 @@ + + + + + + + +o-du/phy: xran_cp_api.c File Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    xran_cp_api.c File Reference
    +
    +
    + +

    This file provides the API functions to build Control Plane Messages for XRAN Front Haul layer as defined in XRAN-FH.CUS.0-v02.01. +More...

    +
    #include <rte_branch_prediction.h>
    +#include "xran_common.h"
    +#include "xran_transport.h"
    +#include "xran_cp_api.h"
    +#include "xran_printf.h"
    +#include "xran_compression.h"
    +
    +Include dependency graph for xran_cp_api.c:
    +
    +
    + + + + + + + + + + + +
    +
    +

    Go to the source code of this file.

    + + + + +

    +Data Structures

    struct  xran_sectioninfo_db
     
    + + + +

    +Macros

    #define CPLEN_TS   (30720000)
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Functions

    int xran_cp_init_sectiondb (void *pHandle)
     Initialize section database. Allocate required memory space to store section information. Each eAxC allocates dedicated storage and the entry size is the maximum number of sections. Total entry size : number of CC * number of antenna * max number of sections * 2(direction) More...
     
    int xran_cp_free_sectiondb (void *pHandle)
     Release and free section database. More...
     
    int xran_cp_add_section_info (void *pHandle, uint8_t dir, uint8_t cc_id, uint8_t ruport_id, uint8_t ctx_id, struct xran_section_info *info)
     Add a section information of C-Plane to dabase. More...
     
    int xran_cp_add_multisection_info (void *pHandle, uint8_t cc_id, uint8_t ruport_id, uint8_t ctx_id, struct xran_cp_gen_params *gen_info)
     
    struct xran_section_infoxran_cp_find_section_info (void *pHandle, uint8_t dir, uint8_t cc_id, uint8_t ruport_id, uint8_t ctx_id, uint16_t section_id)
     Find a section information of C-Plane from dabase by given information. More...
     
    struct xran_section_infoxran_cp_iterate_section_info (void *pHandle, uint8_t dir, uint8_t cc_id, uint8_t ruport_id, uint8_t ctx_id, uint32_t *next)
     Iterate each section information of C-Plane from the database of eAxC by given information. More...
     
    int32_t xran_cp_getsize_section_info (void *pHandle, uint8_t dir, uint8_t cc_id, uint8_t ruport_id, uint8_t ctx_id)
     Get the size of stored entries for the database of eAxC by given information. More...
     
    int xran_cp_reset_section_info (void *pHandle, uint8_t dir, uint8_t cc_id, uint8_t ruport_id, uint8_t ctx_id)
     Reset a database of eAxC by given information. More...
     
    int xran_dump_sectiondb (void)
     
    int32_t xran_cp_populate_section_ext_1 (int8_t *p_ext1_dst, uint16_t ext1_dst_len, int16_t *p_bfw_iq_src, uint16_t rbNum, uint16_t bfwNumPerRb, uint8_t bfwiqWidth, uint8_t bfwCompMeth)
     
    uint16_t xran_get_cplength (int CP_length)
     
    int32_t xran_get_freqoffset (int32_t freqOffset, int32_t scs)
     
    int xran_append_section_extensions (struct rte_mbuf *mbuf, struct xran_section_gen_info *params)
     add section extension to C-Plane packet More...
     
    int xran_append_control_section (struct rte_mbuf *mbuf, struct xran_cp_gen_params *params)
     add sections to C-Plane packet Section type 1 and 3 are supported. More...
     
    int xran_append_radioapp_header (struct rte_mbuf *mbuf, struct xran_cp_gen_params *params)
     add a radio application header in a C-Plane packet More...
     
    int xran_prepare_ctrl_pkt (struct rte_mbuf *mbuf, struct xran_cp_gen_params *params, uint8_t CC_ID, uint8_t Ant_ID, uint8_t seq_id)
     Create a C-Plane packet Transport layer fragmentation is not supported. More...
     
    int xran_parse_section_ext1 (void *ext, struct xran_sectionext1_info *extinfo)
     
    int xran_parse_section_ext2 (void *ext, struct xran_sectionext2_info *extinfo)
     
    int xran_parse_section_ext4 (void *ext, struct xran_sectionext4_info *extinfo)
     
    int xran_parse_section_ext5 (void *ext, struct xran_sectionext5_info *extinfo)
     
    int xran_parse_section_extension (struct rte_mbuf *mbuf, void *ext, struct xran_section_gen_info *section)
     
    int xran_parse_cp_pkt (struct rte_mbuf *mbuf, struct xran_cp_gen_params *result, struct xran_recv_packet_info *pkt_info)
     Parse a C-Plane packet (for RU emulation) Transport layer fragmentation is not supported. More...
     
    +

    Detailed Description

    +

    This file provides the API functions to build Control Plane Messages for XRAN Front Haul layer as defined in XRAN-FH.CUS.0-v02.01.

    +
    Author
    Intel Corporation
    + +

    Definition in file xran_cp_api.c.

    +

    Macro Definition Documentation

    + +

    ◆ CPLEN_TS

    + +
    +
    + + + + +
    #define CPLEN_TS   (30720000)
    +
    + +

    Definition at line 541 of file xran_cp_api.c.

    + +
    +
    +

    Function Documentation

    + +

    ◆ xran_append_control_section()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    int xran_append_control_section (struct rte_mbuf * mbuf,
    struct xran_cp_gen_paramsparams 
    )
    +
    + +

    add sections to C-Plane packet Section type 1 and 3 are supported.

    +
    Parameters
    + + + +
    mbufA pointer to the packet buffer
    paramsA porinter to the information to generate a C-Plane packet
    +
    +
    +
    Returns
    XRAN_STATUS_SUCCESS on success XRAN_STATUS_INVALID_PARM if section type is not 1 or 3, or handler is NULL XRAN_STATUS_RESOURCE if failed to allocate the space to packet buffer
    + +

    Definition at line 1169 of file xran_cp_api.c.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + + + + + + +
    + +
    +
    + +

    ◆ xran_append_radioapp_header()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    int xran_append_radioapp_header (struct rte_mbuf * mbuf,
    struct xran_cp_gen_paramsparams 
    )
    +
    + +

    add a radio application header in a C-Plane packet

    +
    Parameters
    + + + +
    mbufA pointer to the packet buffer
    paramsA porinter to the information to generate a C-Plane packet
    +
    +
    +
    Returns
    The length of added section (>0) on success XRAN_STATUS_INVALID_PARM if section type is invalid, or handler is NULL XRAN_STATUS_RESOURCE if failed to allocate the space to packet buffer
    + +

    Definition at line 1297 of file xran_cp_api.c.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + + + + + + +
    + +
    +
    + +

    ◆ xran_append_section_extensions()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    int xran_append_section_extensions (struct rte_mbuf * mbuf,
    struct xran_section_gen_infoparams 
    )
    +
    + +

    add section extension to C-Plane packet

    +
    Parameters
    + + + +
    mbufA pointer to the packet buffer
    paramsA porinter to the information to generate a C-Plane packet
    +
    +
    +
    Returns
    XRAN_STATUS_SUCCESS on success XRAN_STATUS_INVALID_PARM XRAN_STATUS_RESOURCE if failed to allocate the space to packet buffer
    + +

    Definition at line 907 of file xran_cp_api.c.

    + +
    +
    + +

    ◆ xran_cp_add_multisection_info()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    int xran_cp_add_multisection_info (void * pHandle,
    uint8_t cc_id,
    uint8_t ruport_id,
    uint8_t ctx_id,
    struct xran_cp_gen_paramsgen_info 
    )
    +
    + +

    Definition at line 187 of file xran_cp_api.c.

    + +
    +
    + +

    ◆ xran_cp_add_section_info()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    int xran_cp_add_section_info (void * pHandle,
    uint8_t dir,
    uint8_t cc_id,
    uint8_t ruport_id,
    uint8_t ctx_id,
    struct xran_section_infoinfo 
    )
    +
    + +

    Add a section information of C-Plane to dabase.

    +
    Parameters
    + + + + + + + +
    pHandlehandle for xRAN interface, currently not being used
    dirDirection of C-Plane message for the section to store
    cc_idCC ID of C-Plane message for the section to store
    ruport_idRU port ID of C-Plane message for the section to store
    ctx_idContext index for the section database
    infoThe information of this section to store
    +
    +
    +
    Returns
    XRAN_STATUS_SUCCESS on success XRAN_STATUS_INVALID_PARAM, if direction, CC ID or RU port ID is incorrect XRAN_STATUS_RESOURCE, if no more space to add on database
    + +

    Definition at line 160 of file xran_cp_api.c.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + +
    + +
    +
    + +

    ◆ xran_cp_find_section_info()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    struct xran_section_info* xran_cp_find_section_info (void * pHandle,
    uint8_t dir,
    uint8_t cc_id,
    uint8_t ruport_id,
    uint8_t ctx_id,
    uint16_t section_id 
    )
    +
    + +

    Find a section information of C-Plane from dabase by given information.

    +
    Parameters
    + + + + + + + +
    pHandlehandle for xRAN interface, currently not being used
    dirThe direction of the section to find
    cc_idThe CC ID of the section to find
    ruport_idRU port ID of the section to find
    ctx_idContext index for the section database
    section_idThe ID of section to find
    +
    +
    +
    Returns
    The pointer of section information if matched section is found NULL if failed to find matched section
    + +

    Definition at line 242 of file xran_cp_api.c.

    + +
    +
    + +

    ◆ xran_cp_free_sectiondb()

    + +
    +
    + + + + + + + + +
    int xran_cp_free_sectiondb (void * pHandle)
    +
    + +

    Release and free section database.

    +
    Parameters
    + + +
    pHandlehandle for xRAN interface, currently not being used
    +
    +
    +
    Returns
    XRAN_STATUS_SUCCESS on success
    + +

    Definition at line 89 of file xran_cp_api.c.

    + +
    +
    + +

    ◆ xran_cp_getsize_section_info()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    int32_t xran_cp_getsize_section_info (void * pHandle,
    uint8_t dir,
    uint8_t cc_id,
    uint8_t ruport_id,
    uint8_t ctx_id 
    )
    +
    + +

    Get the size of stored entries for the database of eAxC by given information.

    +
    Parameters
    + + + + + + +
    pHandlehandle for xRAN interface, currently not being used
    dirThe direction of the section to find
    cc_idThe CC ID of the section to find
    ruport_idRU port ID of the section to find
    ctx_idContext index for the section database
    +
    +
    +
    Returns
    The size of stored entries -1 if failed to find matched database
    + +

    Definition at line 334 of file xran_cp_api.c.

    + +
    +
    + +

    ◆ xran_cp_init_sectiondb()

    + +
    +
    + + + + + + + + +
    int xran_cp_init_sectiondb (void * pHandle)
    +
    + +

    Initialize section database. Allocate required memory space to store section information. Each eAxC allocates dedicated storage and the entry size is the maximum number of sections. Total entry size : number of CC * number of antenna * max number of sections * 2(direction)

    +
    Parameters
    + + +
    pHandlehandle for xRAN interface, currently not being used
    +
    +
    +
    Returns
    XRAN_STATUS_SUCCESS on success XRAN_STATUS_RESOURCE, if memory is not enough to allocate database area
    + +

    Definition at line 66 of file xran_cp_api.c.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + + + +
    + +
    +
    + +

    ◆ xran_cp_iterate_section_info()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    struct xran_section_info* xran_cp_iterate_section_info (void * pHandle,
    uint8_t dir,
    uint8_t cc_id,
    uint8_t ruport_id,
    uint8_t ctx_id,
    uint32_t * next 
    )
    +
    + +

    Iterate each section information of C-Plane from the database of eAxC by given information.

    +
    Parameters
    + + + + + + + +
    pHandlehandle for xRAN interface, currently not being used
    dirThe direction of the section to find
    cc_idThe CC ID of the section to find
    ruport_idRU port ID of the section to find
    ctx_idContext index for the section database
    nextThe pointer to store the position of next entry
    +
    +
    +
    Returns
    The pointer of section information in the list NULL if reached at the end of the list
    + +

    Definition at line 291 of file xran_cp_api.c.

    + +
    +
    + +

    ◆ xran_cp_populate_section_ext_1()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    int32_t xran_cp_populate_section_ext_1 (int8_t * p_ext1_dst,
    uint16_t ext1_dst_len,
    int16_t * p_bfw_iq_src,
    uint16_t rbNumber,
    uint16_t bfwNumber,
    uint8_t bfwiqWidth,
    uint8_t bfwCompMeth 
    )
    +
    +

    compression method

    +

    populate one extType=1 section with BFW for 1 RB

    +
    Parameters
    + + + + + + + +
    p_ext1_dstdestination buffer
    ext1_dst_lendest buffer size
    p_bfw_iq_srcsource buffer of IQs
    rbNumnumber RBs to ext1 chain
    bfwNumPerRbnumber of bf weights in this set of sections
    bfwiqWidthbit size of IQs
    +
    +
    + +

    Definition at line 387 of file xran_cp_api.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + + + +
    +
    +Here is the caller graph for this function:
    +
    +
    + + + +
    + +
    +
    + +

    ◆ xran_cp_reset_section_info()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    int xran_cp_reset_section_info (void * pHandle,
    uint8_t dir,
    uint8_t cc_id,
    uint8_t ruport_id,
    uint8_t ctx_id 
    )
    +
    + +

    Reset a database of eAxC by given information.

    +
    Parameters
    + + + + + + +
    pHandlehandle for xRAN interface, currently not being used
    dirThe direction of the section to find
    cc_idThe CC ID of the section to find
    ruport_idRU port ID of the section to find
    ctx_idContext index for the section database
    +
    +
    +
    Returns
    XRAN_STATUS_SUCCESS on success XRAN_STATUS_INVALID_PARM if failed to find matched database
    + +

    Definition at line 366 of file xran_cp_api.c.

    + +
    +
    + +

    ◆ xran_dump_sectiondb()

    + +
    +
    + + + + + + + + +
    int xran_dump_sectiondb (void )
    +
    + +

    Definition at line 381 of file xran_cp_api.c.

    + +
    +
    + +

    ◆ xran_get_cplength()

    + +
    +
    + + + + + +
    + + + + + + + + +
    uint16_t xran_get_cplength (int CP_length)
    +
    +inline
    +
    + +

    Definition at line 542 of file xran_cp_api.c.

    + +
    +
    + +

    ◆ xran_get_freqoffset()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    int32_t xran_get_freqoffset (int32_t freqOffset,
    int32_t scs 
    )
    +
    +inline
    +
    + +

    Definition at line 550 of file xran_cp_api.c.

    + +
    +
    + +

    ◆ xran_parse_cp_pkt()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    int xran_parse_cp_pkt (struct rte_mbuf * mbuf,
    struct xran_cp_gen_paramsresult,
    struct xran_recv_packet_infopkt_info 
    )
    +
    + +

    Parse a C-Plane packet (for RU emulation) Transport layer fragmentation is not supported.

    +
    Parameters
    + + + + +
    mbufThe pointer of the packet buffer to be parsed
    paramsThe pointer of structure to store the information of parsed packet
    eaxcThe pointer of sturcture to store the decomposed information of ecpriRtcid/ecpriPcid
    +
    +
    +
    Returns
    XRAN_STATUS_SUCCESS on success XRAN_STATUS_INVALID_PACKET if failed to parse the packet
    + +

    Definition at line 1749 of file xran_cp_api.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + + + + + + + + + + +
    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + +
    + +
    +
    + +

    ◆ xran_parse_section_ext1()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    int xran_parse_section_ext1 (void * ext,
    struct xran_sectionext1_infoextinfo 
    )
    +
    + +

    Definition at line 1416 of file xran_cp_api.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + + +
    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + + + +
    + +
    +
    + +

    ◆ xran_parse_section_ext2()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    int xran_parse_section_ext2 (void * ext,
    struct xran_sectionext2_infoextinfo 
    )
    +
    + +

    Definition at line 1497 of file xran_cp_api.c.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + + + +
    + +
    +
    + +

    ◆ xran_parse_section_ext4()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    int xran_parse_section_ext4 (void * ext,
    struct xran_sectionext4_infoextinfo 
    )
    +
    + +

    Definition at line 1579 of file xran_cp_api.c.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + + + +
    + +
    +
    + +

    ◆ xran_parse_section_ext5()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    int xran_parse_section_ext5 (void * ext,
    struct xran_sectionext5_infoextinfo 
    )
    +
    + +

    Definition at line 1606 of file xran_cp_api.c.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + + + +
    + +
    +
    + +

    ◆ xran_parse_section_extension()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    int xran_parse_section_extension (struct rte_mbuf * mbuf,
    void * ext,
    struct xran_section_gen_infosection 
    )
    +
    + +

    Definition at line 1668 of file xran_cp_api.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + + + + + + +
    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + + +
    + +
    +
    + +

    ◆ xran_prepare_ctrl_pkt()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    int xran_prepare_ctrl_pkt (struct rte_mbuf * mbuf,
    struct xran_cp_gen_paramsparams,
    uint8_t CC_ID,
    uint8_t Ant_ID,
    uint8_t seq_id 
    )
    +
    + +

    Create a C-Plane packet Transport layer fragmentation is not supported.

    +
    Parameters
    + + + + + + +
    mbufA pointer to the packet buffer
    paramsA porinter to the information to generate a C-Plane packet
    CC_IDComponent Carrier ID for this C-Plane message
    Ant_IDAntenna ID(RU Port ID) for this C-Plane message
    seq_idSequence ID for this C-Plane message
    +
    +
    +
    Returns
    XRAN_STATUS_SUCCESS on success XRAN_STATUS_RESOURCE if failed to allocate the space to packet buffer XRAN_STATUS_INVALID_PARM if section type is invalid
    + +

    Definition at line 1381 of file xran_cp_api.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + + + + + + + +
    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + + + + + +
    + +
    +
    +
    + + + + diff --git a/docs/API/xran__cp__api_8c__incl.map b/docs/API/xran__cp__api_8c__incl.map new file mode 100644 index 0000000..8702ced --- /dev/null +++ b/docs/API/xran__cp__api_8c__incl.map @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/docs/API/xran__cp__api_8c__incl.md5 b/docs/API/xran__cp__api_8c__incl.md5 new file mode 100644 index 0000000..2fb5348 --- /dev/null +++ b/docs/API/xran__cp__api_8c__incl.md5 @@ -0,0 +1 @@ +dc9b7c44bec4623588c9475418d21942 \ No newline at end of file diff --git a/docs/API/xran__cp__api_8c__incl.png b/docs/API/xran__cp__api_8c__incl.png new file mode 100644 index 0000000..a77b2d8 Binary files /dev/null and b/docs/API/xran__cp__api_8c__incl.png differ diff --git a/docs/API/xran__cp__api_8c_a1261c107d1103c8bd1b3376db4aa7951_icgraph.map b/docs/API/xran__cp__api_8c_a1261c107d1103c8bd1b3376db4aa7951_icgraph.map new file mode 100644 index 0000000..d04f591 --- /dev/null +++ b/docs/API/xran__cp__api_8c_a1261c107d1103c8bd1b3376db4aa7951_icgraph.map @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/docs/API/xran__cp__api_8c_a1261c107d1103c8bd1b3376db4aa7951_icgraph.md5 b/docs/API/xran__cp__api_8c_a1261c107d1103c8bd1b3376db4aa7951_icgraph.md5 new file mode 100644 index 0000000..2b39050 --- /dev/null +++ b/docs/API/xran__cp__api_8c_a1261c107d1103c8bd1b3376db4aa7951_icgraph.md5 @@ -0,0 +1 @@ +591bd4bb8a01ae8aaccbd54f44effb77 \ No newline at end of file diff --git a/docs/API/xran__cp__api_8c_a1261c107d1103c8bd1b3376db4aa7951_icgraph.png b/docs/API/xran__cp__api_8c_a1261c107d1103c8bd1b3376db4aa7951_icgraph.png new file mode 100644 index 0000000..034d29c Binary files /dev/null and b/docs/API/xran__cp__api_8c_a1261c107d1103c8bd1b3376db4aa7951_icgraph.png differ diff --git a/docs/API/xran__cp__api_8c_a2a349ad9adaec2cfd7f88e791d451c5e_icgraph.map b/docs/API/xran__cp__api_8c_a2a349ad9adaec2cfd7f88e791d451c5e_icgraph.map new file mode 100644 index 0000000..2ae3728 --- /dev/null +++ b/docs/API/xran__cp__api_8c_a2a349ad9adaec2cfd7f88e791d451c5e_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/xran__cp__api_8c_a2a349ad9adaec2cfd7f88e791d451c5e_icgraph.md5 b/docs/API/xran__cp__api_8c_a2a349ad9adaec2cfd7f88e791d451c5e_icgraph.md5 new file mode 100644 index 0000000..f6e83e1 --- /dev/null +++ b/docs/API/xran__cp__api_8c_a2a349ad9adaec2cfd7f88e791d451c5e_icgraph.md5 @@ -0,0 +1 @@ +988b50ca041fe83ce72e9978870e7355 \ No newline at end of file diff --git a/docs/API/xran__cp__api_8c_a2a349ad9adaec2cfd7f88e791d451c5e_icgraph.png b/docs/API/xran__cp__api_8c_a2a349ad9adaec2cfd7f88e791d451c5e_icgraph.png new file mode 100644 index 0000000..9c4b544 Binary files /dev/null and b/docs/API/xran__cp__api_8c_a2a349ad9adaec2cfd7f88e791d451c5e_icgraph.png differ diff --git a/docs/API/xran__cp__api_8c_a38c83cd67a7265920f3bd0b36510f713_cgraph.map b/docs/API/xran__cp__api_8c_a38c83cd67a7265920f3bd0b36510f713_cgraph.map new file mode 100644 index 0000000..0f3b943 --- /dev/null +++ b/docs/API/xran__cp__api_8c_a38c83cd67a7265920f3bd0b36510f713_cgraph.map @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/docs/API/xran__cp__api_8c_a38c83cd67a7265920f3bd0b36510f713_cgraph.md5 b/docs/API/xran__cp__api_8c_a38c83cd67a7265920f3bd0b36510f713_cgraph.md5 new file mode 100644 index 0000000..1b3269b --- /dev/null +++ b/docs/API/xran__cp__api_8c_a38c83cd67a7265920f3bd0b36510f713_cgraph.md5 @@ -0,0 +1 @@ +9a718b751c1887d03431f0b8fa63e47f \ No newline at end of file diff --git a/docs/API/xran__cp__api_8c_a38c83cd67a7265920f3bd0b36510f713_cgraph.png b/docs/API/xran__cp__api_8c_a38c83cd67a7265920f3bd0b36510f713_cgraph.png new file mode 100644 index 0000000..892502c Binary files /dev/null and b/docs/API/xran__cp__api_8c_a38c83cd67a7265920f3bd0b36510f713_cgraph.png differ diff --git a/docs/API/xran__cp__api_8c_a38c83cd67a7265920f3bd0b36510f713_icgraph.map b/docs/API/xran__cp__api_8c_a38c83cd67a7265920f3bd0b36510f713_icgraph.map new file mode 100644 index 0000000..454fb5e --- /dev/null +++ b/docs/API/xran__cp__api_8c_a38c83cd67a7265920f3bd0b36510f713_icgraph.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/API/xran__cp__api_8c_a38c83cd67a7265920f3bd0b36510f713_icgraph.md5 b/docs/API/xran__cp__api_8c_a38c83cd67a7265920f3bd0b36510f713_icgraph.md5 new file mode 100644 index 0000000..99dec2e --- /dev/null +++ b/docs/API/xran__cp__api_8c_a38c83cd67a7265920f3bd0b36510f713_icgraph.md5 @@ -0,0 +1 @@ +cdbb68f80ab2bc88224a592bf7570249 \ No newline at end of file diff --git a/docs/API/xran__cp__api_8c_a38c83cd67a7265920f3bd0b36510f713_icgraph.png b/docs/API/xran__cp__api_8c_a38c83cd67a7265920f3bd0b36510f713_icgraph.png new file mode 100644 index 0000000..4a588c2 Binary files /dev/null and b/docs/API/xran__cp__api_8c_a38c83cd67a7265920f3bd0b36510f713_icgraph.png differ diff --git a/docs/API/xran__cp__api_8c_a3ca98b2a49501149a7b5baf9174897d8_icgraph.map b/docs/API/xran__cp__api_8c_a3ca98b2a49501149a7b5baf9174897d8_icgraph.map new file mode 100644 index 0000000..9b3a94d --- /dev/null +++ b/docs/API/xran__cp__api_8c_a3ca98b2a49501149a7b5baf9174897d8_icgraph.map @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/API/xran__cp__api_8c_a3ca98b2a49501149a7b5baf9174897d8_icgraph.md5 b/docs/API/xran__cp__api_8c_a3ca98b2a49501149a7b5baf9174897d8_icgraph.md5 new file mode 100644 index 0000000..ba119fa --- /dev/null +++ b/docs/API/xran__cp__api_8c_a3ca98b2a49501149a7b5baf9174897d8_icgraph.md5 @@ -0,0 +1 @@ +632368769947a62cab5ae5c97d1a65e4 \ No newline at end of file diff --git a/docs/API/xran__cp__api_8c_a3ca98b2a49501149a7b5baf9174897d8_icgraph.png b/docs/API/xran__cp__api_8c_a3ca98b2a49501149a7b5baf9174897d8_icgraph.png new file mode 100644 index 0000000..fec48cc Binary files /dev/null and b/docs/API/xran__cp__api_8c_a3ca98b2a49501149a7b5baf9174897d8_icgraph.png differ diff --git a/docs/API/xran__cp__api_8c_a848d22f9f7e5f493782bf8a9bfdb8f3a_cgraph.map b/docs/API/xran__cp__api_8c_a848d22f9f7e5f493782bf8a9bfdb8f3a_cgraph.map new file mode 100644 index 0000000..d3fd6f8 --- /dev/null +++ b/docs/API/xran__cp__api_8c_a848d22f9f7e5f493782bf8a9bfdb8f3a_cgraph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/API/xran__cp__api_8c_a848d22f9f7e5f493782bf8a9bfdb8f3a_cgraph.md5 b/docs/API/xran__cp__api_8c_a848d22f9f7e5f493782bf8a9bfdb8f3a_cgraph.md5 new file mode 100644 index 0000000..e64031e --- /dev/null +++ b/docs/API/xran__cp__api_8c_a848d22f9f7e5f493782bf8a9bfdb8f3a_cgraph.md5 @@ -0,0 +1 @@ +d2bc93466371bcaec4fd144c1a10e833 \ No newline at end of file diff --git a/docs/API/xran__cp__api_8c_a848d22f9f7e5f493782bf8a9bfdb8f3a_cgraph.png b/docs/API/xran__cp__api_8c_a848d22f9f7e5f493782bf8a9bfdb8f3a_cgraph.png new file mode 100644 index 0000000..37c9c38 Binary files /dev/null and b/docs/API/xran__cp__api_8c_a848d22f9f7e5f493782bf8a9bfdb8f3a_cgraph.png differ diff --git a/docs/API/xran__cp__api_8c_a848d22f9f7e5f493782bf8a9bfdb8f3a_icgraph.map b/docs/API/xran__cp__api_8c_a848d22f9f7e5f493782bf8a9bfdb8f3a_icgraph.map new file mode 100644 index 0000000..c7b84a7 --- /dev/null +++ b/docs/API/xran__cp__api_8c_a848d22f9f7e5f493782bf8a9bfdb8f3a_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/xran__cp__api_8c_a848d22f9f7e5f493782bf8a9bfdb8f3a_icgraph.md5 b/docs/API/xran__cp__api_8c_a848d22f9f7e5f493782bf8a9bfdb8f3a_icgraph.md5 new file mode 100644 index 0000000..8a2dbaf --- /dev/null +++ b/docs/API/xran__cp__api_8c_a848d22f9f7e5f493782bf8a9bfdb8f3a_icgraph.md5 @@ -0,0 +1 @@ +860b4b86188326ba23d817e6e7a24730 \ No newline at end of file diff --git a/docs/API/xran__cp__api_8c_a848d22f9f7e5f493782bf8a9bfdb8f3a_icgraph.png b/docs/API/xran__cp__api_8c_a848d22f9f7e5f493782bf8a9bfdb8f3a_icgraph.png new file mode 100644 index 0000000..8c37403 Binary files /dev/null and b/docs/API/xran__cp__api_8c_a848d22f9f7e5f493782bf8a9bfdb8f3a_icgraph.png differ diff --git a/docs/API/xran__cp__api_8c_a9d4ed2d1226eb004597b69dfd86c7c93_cgraph.map b/docs/API/xran__cp__api_8c_a9d4ed2d1226eb004597b69dfd86c7c93_cgraph.map new file mode 100644 index 0000000..31d7207 --- /dev/null +++ b/docs/API/xran__cp__api_8c_a9d4ed2d1226eb004597b69dfd86c7c93_cgraph.map @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/API/xran__cp__api_8c_a9d4ed2d1226eb004597b69dfd86c7c93_cgraph.md5 b/docs/API/xran__cp__api_8c_a9d4ed2d1226eb004597b69dfd86c7c93_cgraph.md5 new file mode 100644 index 0000000..4e49bc0 --- /dev/null +++ b/docs/API/xran__cp__api_8c_a9d4ed2d1226eb004597b69dfd86c7c93_cgraph.md5 @@ -0,0 +1 @@ +c8c73edb4e2f6633395fad17ac5cd755 \ No newline at end of file diff --git a/docs/API/xran__cp__api_8c_a9d4ed2d1226eb004597b69dfd86c7c93_cgraph.png b/docs/API/xran__cp__api_8c_a9d4ed2d1226eb004597b69dfd86c7c93_cgraph.png new file mode 100644 index 0000000..2c6de22 Binary files /dev/null and b/docs/API/xran__cp__api_8c_a9d4ed2d1226eb004597b69dfd86c7c93_cgraph.png differ diff --git a/docs/API/xran__cp__api_8c_a9d4ed2d1226eb004597b69dfd86c7c93_icgraph.map b/docs/API/xran__cp__api_8c_a9d4ed2d1226eb004597b69dfd86c7c93_icgraph.map new file mode 100644 index 0000000..10d410d --- /dev/null +++ b/docs/API/xran__cp__api_8c_a9d4ed2d1226eb004597b69dfd86c7c93_icgraph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/API/xran__cp__api_8c_a9d4ed2d1226eb004597b69dfd86c7c93_icgraph.md5 b/docs/API/xran__cp__api_8c_a9d4ed2d1226eb004597b69dfd86c7c93_icgraph.md5 new file mode 100644 index 0000000..8889ee6 --- /dev/null +++ b/docs/API/xran__cp__api_8c_a9d4ed2d1226eb004597b69dfd86c7c93_icgraph.md5 @@ -0,0 +1 @@ +8ced0604442c8188b5e127e8b8b3e770 \ No newline at end of file diff --git a/docs/API/xran__cp__api_8c_a9d4ed2d1226eb004597b69dfd86c7c93_icgraph.png b/docs/API/xran__cp__api_8c_a9d4ed2d1226eb004597b69dfd86c7c93_icgraph.png new file mode 100644 index 0000000..784bdea Binary files /dev/null and b/docs/API/xran__cp__api_8c_a9d4ed2d1226eb004597b69dfd86c7c93_icgraph.png differ diff --git a/docs/API/xran__cp__api_8c_aaa0c6012a36b539f8880c45ac909c331_cgraph.map b/docs/API/xran__cp__api_8c_aaa0c6012a36b539f8880c45ac909c331_cgraph.map new file mode 100644 index 0000000..fca837e --- /dev/null +++ b/docs/API/xran__cp__api_8c_aaa0c6012a36b539f8880c45ac909c331_cgraph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/xran__cp__api_8c_aaa0c6012a36b539f8880c45ac909c331_cgraph.md5 b/docs/API/xran__cp__api_8c_aaa0c6012a36b539f8880c45ac909c331_cgraph.md5 new file mode 100644 index 0000000..2bbcfb1 --- /dev/null +++ b/docs/API/xran__cp__api_8c_aaa0c6012a36b539f8880c45ac909c331_cgraph.md5 @@ -0,0 +1 @@ +be088519baed0280f92697d3470bb04f \ No newline at end of file diff --git a/docs/API/xran__cp__api_8c_aaa0c6012a36b539f8880c45ac909c331_cgraph.png b/docs/API/xran__cp__api_8c_aaa0c6012a36b539f8880c45ac909c331_cgraph.png new file mode 100644 index 0000000..f5c8130 Binary files /dev/null and b/docs/API/xran__cp__api_8c_aaa0c6012a36b539f8880c45ac909c331_cgraph.png differ diff --git a/docs/API/xran__cp__api_8c_aaa0c6012a36b539f8880c45ac909c331_icgraph.map b/docs/API/xran__cp__api_8c_aaa0c6012a36b539f8880c45ac909c331_icgraph.map new file mode 100644 index 0000000..9495d62 --- /dev/null +++ b/docs/API/xran__cp__api_8c_aaa0c6012a36b539f8880c45ac909c331_icgraph.map @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/API/xran__cp__api_8c_aaa0c6012a36b539f8880c45ac909c331_icgraph.md5 b/docs/API/xran__cp__api_8c_aaa0c6012a36b539f8880c45ac909c331_icgraph.md5 new file mode 100644 index 0000000..01eedf0 --- /dev/null +++ b/docs/API/xran__cp__api_8c_aaa0c6012a36b539f8880c45ac909c331_icgraph.md5 @@ -0,0 +1 @@ +af39cb6ab9df0850883da212aab1fd21 \ No newline at end of file diff --git a/docs/API/xran__cp__api_8c_aaa0c6012a36b539f8880c45ac909c331_icgraph.png b/docs/API/xran__cp__api_8c_aaa0c6012a36b539f8880c45ac909c331_icgraph.png new file mode 100644 index 0000000..bf42b4f Binary files /dev/null and b/docs/API/xran__cp__api_8c_aaa0c6012a36b539f8880c45ac909c331_icgraph.png differ diff --git a/docs/API/xran__cp__api_8c_ad4a3ae88412a933d953fc0f8ae9bb352_icgraph.map b/docs/API/xran__cp__api_8c_ad4a3ae88412a933d953fc0f8ae9bb352_icgraph.map new file mode 100644 index 0000000..a0997b0 --- /dev/null +++ b/docs/API/xran__cp__api_8c_ad4a3ae88412a933d953fc0f8ae9bb352_icgraph.map @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/API/xran__cp__api_8c_ad4a3ae88412a933d953fc0f8ae9bb352_icgraph.md5 b/docs/API/xran__cp__api_8c_ad4a3ae88412a933d953fc0f8ae9bb352_icgraph.md5 new file mode 100644 index 0000000..127485e --- /dev/null +++ b/docs/API/xran__cp__api_8c_ad4a3ae88412a933d953fc0f8ae9bb352_icgraph.md5 @@ -0,0 +1 @@ +7caad6f2c1533962c47686ee4c941956 \ No newline at end of file diff --git a/docs/API/xran__cp__api_8c_ad4a3ae88412a933d953fc0f8ae9bb352_icgraph.png b/docs/API/xran__cp__api_8c_ad4a3ae88412a933d953fc0f8ae9bb352_icgraph.png new file mode 100644 index 0000000..e903048 Binary files /dev/null and b/docs/API/xran__cp__api_8c_ad4a3ae88412a933d953fc0f8ae9bb352_icgraph.png differ diff --git a/docs/API/xran__cp__api_8c_ad50ae862f0707dab5e7b8e6a774fd225_icgraph.map b/docs/API/xran__cp__api_8c_ad50ae862f0707dab5e7b8e6a774fd225_icgraph.map new file mode 100644 index 0000000..c29d6d9 --- /dev/null +++ b/docs/API/xran__cp__api_8c_ad50ae862f0707dab5e7b8e6a774fd225_icgraph.map @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/docs/API/xran__cp__api_8c_ad50ae862f0707dab5e7b8e6a774fd225_icgraph.md5 b/docs/API/xran__cp__api_8c_ad50ae862f0707dab5e7b8e6a774fd225_icgraph.md5 new file mode 100644 index 0000000..38f7e34 --- /dev/null +++ b/docs/API/xran__cp__api_8c_ad50ae862f0707dab5e7b8e6a774fd225_icgraph.md5 @@ -0,0 +1 @@ +3905c0cd15a16c30e0227fb9eb06291c \ No newline at end of file diff --git a/docs/API/xran__cp__api_8c_ad50ae862f0707dab5e7b8e6a774fd225_icgraph.png b/docs/API/xran__cp__api_8c_ad50ae862f0707dab5e7b8e6a774fd225_icgraph.png new file mode 100644 index 0000000..fc76327 Binary files /dev/null and b/docs/API/xran__cp__api_8c_ad50ae862f0707dab5e7b8e6a774fd225_icgraph.png differ diff --git a/docs/API/xran__cp__api_8c_af03e99a3b1e9498ca15458e0440c12a1_icgraph.map b/docs/API/xran__cp__api_8c_af03e99a3b1e9498ca15458e0440c12a1_icgraph.map new file mode 100644 index 0000000..3cd4d77 --- /dev/null +++ b/docs/API/xran__cp__api_8c_af03e99a3b1e9498ca15458e0440c12a1_icgraph.map @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/API/xran__cp__api_8c_af03e99a3b1e9498ca15458e0440c12a1_icgraph.md5 b/docs/API/xran__cp__api_8c_af03e99a3b1e9498ca15458e0440c12a1_icgraph.md5 new file mode 100644 index 0000000..6b2ee9e --- /dev/null +++ b/docs/API/xran__cp__api_8c_af03e99a3b1e9498ca15458e0440c12a1_icgraph.md5 @@ -0,0 +1 @@ +841b48f4ced128943fffaf3cf6c43f7d \ No newline at end of file diff --git a/docs/API/xran__cp__api_8c_af03e99a3b1e9498ca15458e0440c12a1_icgraph.png b/docs/API/xran__cp__api_8c_af03e99a3b1e9498ca15458e0440c12a1_icgraph.png new file mode 100644 index 0000000..2b3e245 Binary files /dev/null and b/docs/API/xran__cp__api_8c_af03e99a3b1e9498ca15458e0440c12a1_icgraph.png differ diff --git a/docs/API/xran__cp__api_8c_af3d96c5ccff84bf6a444f260f58a49f2_icgraph.map b/docs/API/xran__cp__api_8c_af3d96c5ccff84bf6a444f260f58a49f2_icgraph.map new file mode 100644 index 0000000..a9d9434 --- /dev/null +++ b/docs/API/xran__cp__api_8c_af3d96c5ccff84bf6a444f260f58a49f2_icgraph.map @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/API/xran__cp__api_8c_af3d96c5ccff84bf6a444f260f58a49f2_icgraph.md5 b/docs/API/xran__cp__api_8c_af3d96c5ccff84bf6a444f260f58a49f2_icgraph.md5 new file mode 100644 index 0000000..40b1f84 --- /dev/null +++ b/docs/API/xran__cp__api_8c_af3d96c5ccff84bf6a444f260f58a49f2_icgraph.md5 @@ -0,0 +1 @@ +537c9cfe65ecd7b3dd4352ef9bbc0bcf \ No newline at end of file diff --git a/docs/API/xran__cp__api_8c_af3d96c5ccff84bf6a444f260f58a49f2_icgraph.png b/docs/API/xran__cp__api_8c_af3d96c5ccff84bf6a444f260f58a49f2_icgraph.png new file mode 100644 index 0000000..612ab4b Binary files /dev/null and b/docs/API/xran__cp__api_8c_af3d96c5ccff84bf6a444f260f58a49f2_icgraph.png differ diff --git a/docs/API/xran__cp__api_8c_af9eb550e92ea270af41b4b6bcda363db_cgraph.map b/docs/API/xran__cp__api_8c_af9eb550e92ea270af41b4b6bcda363db_cgraph.map new file mode 100644 index 0000000..ec90692 --- /dev/null +++ b/docs/API/xran__cp__api_8c_af9eb550e92ea270af41b4b6bcda363db_cgraph.map @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/docs/API/xran__cp__api_8c_af9eb550e92ea270af41b4b6bcda363db_cgraph.md5 b/docs/API/xran__cp__api_8c_af9eb550e92ea270af41b4b6bcda363db_cgraph.md5 new file mode 100644 index 0000000..e02e45f --- /dev/null +++ b/docs/API/xran__cp__api_8c_af9eb550e92ea270af41b4b6bcda363db_cgraph.md5 @@ -0,0 +1 @@ +d12ceda78de2c9dbea7c481073af796c \ No newline at end of file diff --git a/docs/API/xran__cp__api_8c_af9eb550e92ea270af41b4b6bcda363db_cgraph.png b/docs/API/xran__cp__api_8c_af9eb550e92ea270af41b4b6bcda363db_cgraph.png new file mode 100644 index 0000000..135c400 Binary files /dev/null and b/docs/API/xran__cp__api_8c_af9eb550e92ea270af41b4b6bcda363db_cgraph.png differ diff --git a/docs/API/xran__cp__api_8c_af9eb550e92ea270af41b4b6bcda363db_icgraph.map b/docs/API/xran__cp__api_8c_af9eb550e92ea270af41b4b6bcda363db_icgraph.map new file mode 100644 index 0000000..42f0f2e --- /dev/null +++ b/docs/API/xran__cp__api_8c_af9eb550e92ea270af41b4b6bcda363db_icgraph.map @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/docs/API/xran__cp__api_8c_af9eb550e92ea270af41b4b6bcda363db_icgraph.md5 b/docs/API/xran__cp__api_8c_af9eb550e92ea270af41b4b6bcda363db_icgraph.md5 new file mode 100644 index 0000000..681f59e --- /dev/null +++ b/docs/API/xran__cp__api_8c_af9eb550e92ea270af41b4b6bcda363db_icgraph.md5 @@ -0,0 +1 @@ +3558b2c0417de193969678941cebced8 \ No newline at end of file diff --git a/docs/API/xran__cp__api_8c_af9eb550e92ea270af41b4b6bcda363db_icgraph.png b/docs/API/xran__cp__api_8c_af9eb550e92ea270af41b4b6bcda363db_icgraph.png new file mode 100644 index 0000000..67873c6 Binary files /dev/null and b/docs/API/xran__cp__api_8c_af9eb550e92ea270af41b4b6bcda363db_icgraph.png differ diff --git a/docs/API/xran__cp__api_8c_source.html b/docs/API/xran__cp__api_8c_source.html new file mode 100644 index 0000000..638cb13 --- /dev/null +++ b/docs/API/xran__cp__api_8c_source.html @@ -0,0 +1,329 @@ + + + + + + + +o-du/phy: xran_cp_api.c Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    xran_cp_api.c
    +
    +
    +Go to the documentation of this file.
    1 /******************************************************************************
    2 *
    3 * Copyright (c) 2019 Intel.
    4 *
    5 * Licensed under the Apache License, Version 2.0 (the "License");
    6 * you may not use this file except in compliance with the License.
    7 * You may obtain a copy of the License at
    8 *
    9 * http://www.apache.org/licenses/LICENSE-2.0
    10 *
    11 * Unless required by applicable law or agreed to in writing, software
    12 * distributed under the License is distributed on an "AS IS" BASIS,
    13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    14 * See the License for the specific language governing permissions and
    15 * limitations under the License.
    16 *
    17 *******************************************************************************/
    18 
    29 #include <rte_branch_prediction.h>
    30 
    31 #include "xran_common.h"
    32 #include "xran_transport.h"
    33 #include "xran_cp_api.h"
    34 #include "xran_printf.h"
    35 #include "xran_compression.h"
    36 
    37 
    42  uint32_t cur_index;
    44  };
    45 
    47 
    48 static const uint8_t zeropad[XRAN_SECTIONEXT_ALIGN] = { 0, 0, 0, 0 };
    49 static const uint8_t bitmask[] = { 0x00, 0x03, 0x07, 0x0f, 0x1f, 0x3f, 0x7f, 0xff };
    50 
    51 
    66 int xran_cp_init_sectiondb(void *pHandle)
    67 {
    68  int ctx, dir, cc, ant;
    69 
    70  for(ctx=0; ctx < XRAN_MAX_SECTIONDB_CTX; ctx++)
    71  for(dir=0; dir < XRAN_DIR_MAX; dir++)
    72  for(cc=0; cc < XRAN_COMPONENT_CARRIERS_MAX; cc++)
    73  for(ant=0; ant < XRAN_MAX_ANTENNA_NR*2 + XRAN_MAX_ANT_ARRAY_ELM_NR; ant++)
    74  sectiondb[ctx][dir][cc][ant].cur_index = 0;
    75 
    76  return (XRAN_STATUS_SUCCESS);
    77 }
    78 
    89 int xran_cp_free_sectiondb(void *pHandle)
    90 {
    91  return (XRAN_STATUS_SUCCESS);
    92 }
    93 
    94 static inline struct xran_sectioninfo_db *xran_get_section_db(void *pHandle,
    95  uint8_t dir, uint8_t cc_id, uint8_t ruport_id, uint8_t ctx_id)
    96 {
    97  struct xran_sectioninfo_db *ptr;
    98 
    99 
    100  if(unlikely(ctx_id >= XRAN_MAX_SECTIONDB_CTX)) {
    101  print_err("Invalid Context id - %d", ctx_id);
    102  return (NULL);
    103  }
    104 
    105  if(unlikely(dir >= XRAN_DIR_MAX)) {
    106  print_err("Invalid direction - %d", dir);
    107  return (NULL);
    108  }
    109 
    110  if(unlikely(cc_id >= XRAN_COMPONENT_CARRIERS_MAX)) {
    111  print_err("Invalid CC id - %d", cc_id);
    112  return (NULL);
    113  }
    114 
    115  if(unlikely(ruport_id >= XRAN_MAX_ANTENNA_NR*2 + XRAN_MAX_ANT_ARRAY_ELM_NR)) {
    116  print_err("Invalid eAxC id - %d", ruport_id);
    117  return (NULL);
    118  }
    119 
    120  ptr = &sectiondb[ctx_id][dir][cc_id][ruport_id];
    121 
    122  return(ptr);
    123 }
    124 
    125 static inline struct xran_section_info *xran_get_section_info(struct xran_sectioninfo_db *ptr, uint16_t index)
    126 {
    127  if(unlikely(ptr == NULL))
    128  return (NULL);
    129 
    130  if(unlikely(index > XRAN_MAX_NUM_SECTIONS)) {
    131  print_err("Index is out of range - %d", index);
    132  return (NULL);
    133  }
    134 
    135  return(&(ptr->list[index]));
    136 }
    137 
    160 int xran_cp_add_section_info(void *pHandle,
    161  uint8_t dir, uint8_t cc_id, uint8_t ruport_id, uint8_t ctx_id,
    162  struct xran_section_info *info)
    163 {
    164  struct xran_sectioninfo_db *ptr;
    165  struct xran_section_info *list;
    166 
    167 
    168  ptr = xran_get_section_db(pHandle, dir, cc_id, ruport_id, ctx_id);
    169  if(unlikely(ptr == NULL)) {
    170  return (XRAN_STATUS_INVALID_PARAM);
    171  }
    172 
    173  if(unlikely(ptr->cur_index >= XRAN_MAX_NUM_SECTIONS)) {
    174  print_err("No more space to add section information!");
    175  return (XRAN_STATUS_RESOURCE);
    176  }
    177 
    178  list = xran_get_section_info(ptr, ptr->cur_index);
    179 
    180  rte_memcpy(list, info, sizeof(struct xran_section_info));
    181 
    182  ptr->cur_index++;
    183 
    184  return (XRAN_STATUS_SUCCESS);
    185 }
    186 
    188  uint8_t cc_id, uint8_t ruport_id, uint8_t ctx_id,
    189  struct xran_cp_gen_params *gen_info)
    190 {
    191  int i;
    192  uint8_t dir, num_sections;
    193  struct xran_sectioninfo_db *ptr;
    194  struct xran_section_info *list;
    195 
    196 
    197  dir = gen_info->dir;
    198  num_sections = gen_info->numSections;
    199 
    200  ptr = xran_get_section_db(pHandle, dir, cc_id, ruport_id, ctx_id);
    201  if(unlikely(ptr == NULL)) {
    202  return (XRAN_STATUS_INVALID_PARAM);
    203  }
    204 
    205  if(unlikely(ptr->cur_index+num_sections >= XRAN_MAX_NUM_SECTIONS)) {
    206  print_err("No more space to add section information!");
    207  return (XRAN_STATUS_RESOURCE);
    208  }
    209 
    210  list = xran_get_section_info(ptr, ptr->cur_index);
    211 
    212  for(i=0; i<num_sections; i++) {
    213  rte_memcpy(&list[i], &gen_info->sections[i].info, sizeof(struct xran_section_info));
    214  ptr->cur_index++;
    215  }
    216 
    217  return (XRAN_STATUS_SUCCESS);
    218 }
    219 
    243  uint8_t dir, uint8_t cc_id, uint8_t ruport_id,
    244  uint8_t ctx_id, uint16_t section_id)
    245 {
    246  int index, num_index;
    247  struct xran_sectioninfo_db *ptr;
    248 
    249 
    250  ptr = xran_get_section_db(pHandle, dir, cc_id, ruport_id, ctx_id);
    251  if(unlikely(ptr == NULL))
    252  return (NULL);
    253 
    255  num_index = XRAN_MAX_NUM_SECTIONS;
    256  else
    257  num_index = ptr->cur_index;
    258 
    259  for(index=0; index < num_index; index++) {
    260  if(ptr->list[index].id == section_id) {
    261  return (xran_get_section_info(ptr, index));
    262  }
    263  }
    264 
    265  print_dbg("No section ID in the list - %d", section_id);
    266  return (NULL);
    267 }
    268 
    292  uint8_t dir, uint8_t cc_id, uint8_t ruport_id,
    293  uint8_t ctx_id, uint32_t *next)
    294 {
    295  int index;
    296  struct xran_sectioninfo_db *ptr;
    297 
    298 
    299  ptr = xran_get_section_db(pHandle, dir, cc_id, ruport_id, ctx_id);
    300  if(unlikely(ptr == NULL))
    301  return (NULL);
    302 
    303  index = *next;
    304  if(*next < ptr->cur_index) {
    305  (*next)++;
    306  return (xran_get_section_info(ptr, index));
    307  }
    308  else {
    309  print_dbg("No more sections in the list");
    310  return (NULL);
    311  }
    312 }
    313 
    334 int32_t xran_cp_getsize_section_info(void *pHandle, uint8_t dir, uint8_t cc_id, uint8_t ruport_id, uint8_t ctx_id)
    335 {
    336  int index;
    337  struct xran_sectioninfo_db *ptr;
    338 
    339 
    340  ptr = xran_get_section_db(pHandle, dir, cc_id, ruport_id, ctx_id);
    341  if(unlikely(ptr == NULL))
    342  return (-1);
    343 
    344  return (ptr->cur_index);
    345 }
    346 
    366 int xran_cp_reset_section_info(void *pHandle, uint8_t dir, uint8_t cc_id, uint8_t ruport_id, uint8_t ctx_id)
    367 {
    368  struct xran_sectioninfo_db *ptr;
    369 
    370  ptr = xran_get_section_db(pHandle, dir, cc_id, ruport_id, ctx_id);
    371  if(unlikely(ptr == NULL)) {
    372  return (XRAN_STATUS_INVALID_PARAM);
    373  }
    374 
    375  ptr->cur_index = 0;
    376 
    377  return (XRAN_STATUS_SUCCESS);
    378 }
    379 
    380 
    382 {
    383  // TODO:
    384  return (0);
    385 }
    386 
    387 int32_t xran_cp_populate_section_ext_1(int8_t *p_ext1_dst,
    388  uint16_t ext1_dst_len,
    389  int16_t *p_bfw_iq_src,
    390  uint16_t rbNum, /* number RBs to ext1 chain */
    391  uint16_t bfwNumPerRb, /* number of bf weights per RB (i.e. antenna elements) */
    392  uint8_t bfwiqWidth, /* bit size of IQs */
    393  uint8_t bfwCompMeth) /* compression method */
    394 {
    395  struct xran_cp_radioapp_section_ext1 *p_ext1;
    396 
    397  uint8_t *p_bfw_content = NULL;
    398  int32_t parm_size = 0;
    399  int32_t bfw_iq_bits = 0;
    400  int32_t total_len = 0;
    401  int32_t comp_len = 0;
    402  uint8_t ext_flag = XRAN_EF_F_ANOTHER_ONE;
    403  int16_t idxRb = 0;
    404  int16_t cur_ext_len = 0;
    405  int8_t *p_ext1_dst_cur = NULL;
    406 
    407  struct xranlib_compress_request bfp_com_req;
    408  struct xranlib_compress_response bfp_com_rsp;
    409 
    410  memset(&bfp_com_req, 0, sizeof(struct xranlib_compress_request));
    411  memset(&bfp_com_rsp, 0, sizeof(struct xranlib_compress_response));
    412 
    413  print_dbg("%s comp %d\n", __FUNCTION__, bfwCompMeth);
    414  print_dbg("bfwNumPerRb %d bfwiqWidth %d\n", bfwNumPerRb, bfwiqWidth);
    415 
    416  if(p_ext1_dst)
    417  p_ext1_dst_cur = p_ext1_dst;
    418  else
    419  return (XRAN_STATUS_INVALID_PARAM);
    420 
    421  /* create extType=1 section for each RB */
    422  for (idxRb = 0; idxRb < rbNum; idxRb++) {
    423  print_dbg("%s RB %d\n", __FUNCTION__, idxRb);
    424 
    425  if(total_len >= ext1_dst_len){
    426  print_err("p_ext1_dst overflow\n");
    427  return -1;
    428  }
    429 
    430  cur_ext_len = 0;
    431  parm_size = sizeof(struct xran_cp_radioapp_section_ext1);
    432  p_ext1 = (struct xran_cp_radioapp_section_ext1 *)p_ext1_dst_cur;
    433  if(p_ext1 == NULL) {
    434  print_err("p_ext1 is null!\n");
    435  return (XRAN_STATUS_INVALID_PARAM);
    436  }
    437 
    438  cur_ext_len += parm_size;
    439 
    440  if(idxRb+1 == rbNum)
    441  ext_flag = XRAN_EF_F_LAST;
    442 
    444  p_ext1->ef = ext_flag;
    445  p_ext1->bfwCompMeth = bfwCompMeth;
    446  p_ext1->bfwIqWidth = XRAN_CONVERT_BFWIQWIDTH(bfwiqWidth);
    447 
    448  switch(bfwCompMeth) {
    450  p_bfw_content = (uint8_t *)(p_ext1+1);
    451  if(p_bfw_content == NULL) {
    452  print_err("Fail to allocate the space for section extension 1");
    453  return (XRAN_STATUS_RESOURCE);
    454  }
    455  bfp_com_req.data_in = (int16_t*)p_bfw_iq_src;
    456  bfp_com_req.len = bfwNumPerRb*4;
    457  bfp_com_req.compMethod = p_ext1->bfwCompMeth;
    458  bfp_com_req.iqWidth = p_ext1->bfwIqWidth;
    459 
    460  print_dbg("req 0x%08p iqWidth %d\n",bfp_com_req.data_in, bfp_com_req.iqWidth);
    461 
    462  parm_size = 1; /* exponent as part of bfwCompParam 1 octet */
    463  break;
    465  rte_panic("XRAN_BFWCOMPMETHOD_BLKSCALE");
    466  break;
    467 
    469  rte_panic("XRAN_BFWCOMPMETHOD_BLKSCALE");
    470  break;
    471 
    473  rte_panic("XRAN_BFWCOMPMETHOD_BLKSCALE");
    474  break;
    475 
    477  default:
    478  p_bfw_content = (uint8_t *)(p_ext1+1);
    479  /* bfwCompParam is absent for no compression case */
    480  parm_size = 0;
    481  }
    482 
    483  if(p_bfw_content == NULL) {
    484  print_err("Fail to allocate the space for section extension 1");
    485  return (XRAN_STATUS_RESOURCE);
    486  }
    487 
    488  bfw_iq_bits = bfwNumPerRb* bfwiqWidth * 2;
    489 
    490  parm_size += bfw_iq_bits>>3;
    491  if(bfw_iq_bits%8)
    492  parm_size++;
    493 
    494  print_dbg("copy BF W %p -> %p size %d \n", p_bfw_iq_src, p_bfw_content, parm_size);
    495  if (p_ext1->bfwIqWidth == 0 || p_ext1->bfwIqWidth == 16){
    496  rte_memcpy(p_bfw_content, p_bfw_iq_src, parm_size);
    497  } else {
    498  bfp_com_rsp.data_out = (int8_t*)p_bfw_content;
    499  if(xranlib_compress_avx512_bfw(&bfp_com_req, &bfp_com_rsp) == 0){
    500  comp_len = bfp_com_rsp.len;
    501  print_dbg("comp_len %d\n", comp_len);
    502  } else {
    503  print_err("compression failed\n");
    504  return (XRAN_STATUS_FAIL);
    505  }
    506  }
    507 
    508  p_bfw_content = (uint8_t *)(p_bfw_content + parm_size);
    509 
    510  cur_ext_len += parm_size;
    511  parm_size = cur_ext_len % XRAN_SECTIONEXT_ALIGN;
    512  if(parm_size) {
    513  parm_size = XRAN_SECTIONEXT_ALIGN - parm_size;
    514  p_bfw_content = (uint8_t *)(p_bfw_content + parm_size);
    515  rte_memcpy(p_bfw_content, zeropad, parm_size);
    516  cur_ext_len += parm_size;
    517  print_dbg("zeropad %d cur_ext_len %d\n", parm_size, cur_ext_len);
    518  }
    519 
    520  if(cur_ext_len % XRAN_SECTIONEXT_ALIGN)
    521  rte_panic("ext1 should be aligned on 4-bytes boundary");
    522 
    523  p_ext1->extLen = cur_ext_len / XRAN_SECTIONEXT_ALIGN;
    524  print_dbg("p_ext1->extLen %d\n", p_ext1->extLen);
    525 
    526  /* update for next RB */
    527  p_ext1_dst_cur += cur_ext_len;
    528  p_bfw_iq_src = p_bfw_iq_src + bfwNumPerRb*2;
    529 
    530  total_len += cur_ext_len;
    531  }
    532 
    533  print_dbg("total_len %d\n", total_len);
    534  return (total_len);
    535 }
    536 
    537 
    538 // Cyclic Prefix Length 5.4.4.14
    539 // CP_length = cpLength * Ts, Ts = 1/30.72MHz
    540 // i.e cpLength = CP_length / Ts ?
    541 #define CPLEN_TS (30720000)
    542 inline uint16_t xran_get_cplength(int CP_length)
    543 {
    544  return (CP_length);
    545 }
    546 
    547 // Frequency offset 5.4.5.11
    548 // frequency_offset = freqOffset * SCS * 0.5
    549 // i.e freqOffset = (frequency_offset *2 )/ SCS ?
    550 inline int32_t xran_get_freqoffset(int32_t freqOffset, int32_t scs)
    551 {
    552  return (freqOffset);
    553 }
    554 
    555 static int xran_copy_sectionext_1(struct rte_mbuf *mbuf,
    556  struct xran_sectionext1_info *params, int last_flag)
    557 {
    558  int32_t total_len;
    559  int8_t *p_dst = (int8_t *)rte_pktmbuf_append(mbuf, params->bfwIQ_sz);
    560  if(p_dst == NULL) {
    561  print_err("Fail to allocate the space for section extension 1 [%d]", params->bfwIQ_sz);
    562  return (XRAN_STATUS_RESOURCE);
    563  }
    564  if(params->p_bfwIQ){
    565  /* copy formated extType1 with all the headers */
    566  rte_memcpy(p_dst, params->p_bfwIQ, params->bfwIQ_sz);
    567  total_len = params->bfwIQ_sz;
    568  }
    569  else
    570  total_len = 0;
    571 
    572 
    573  return (total_len);
    574 }
    575 
    576 
    577 static int xran_prepare_sectionext_1(struct rte_mbuf *mbuf,
    578  struct xran_sectionext1_info *params, int last_flag)
    579 {
    580  struct xran_cp_radioapp_section_ext1 *ext1;
    581  uint8_t *data;
    582  int parm_size, iq_size;
    583  int total_len;
    584 
    585  total_len = 0;
    586 
    587  print_dbg("%s %d\n", __FUNCTION__, last_flag);
    588 
    589  parm_size = sizeof(struct xran_cp_radioapp_section_ext1);
    590  ext1 = (struct xran_cp_radioapp_section_ext1 *)rte_pktmbuf_append(mbuf, parm_size);
    591  if(ext1 == NULL) {
    592  print_err("Fail to allocate the space for section extension 1 [%d]", parm_size);
    593  return (XRAN_STATUS_RESOURCE);
    594  }
    595 
    596  total_len += parm_size;
    597 
    599  ext1->ef = last_flag;
    600  ext1->bfwCompMeth = params->bfwCompMeth;
    602 
    603  switch(params->bfwCompMeth) {
    605  parm_size = 1;
    606  data = (uint8_t *)rte_pktmbuf_append(mbuf, parm_size);
    607  if(data == NULL) {
    608  print_err("Fail to allocate the space for section extension 1 [%d]", parm_size);
    609  return (XRAN_STATUS_RESOURCE);
    610  }
    611  total_len += parm_size;
    612  *data = (params->bfwCompParam.exponent & 0x0f);
    613  break;
    614 
    616  parm_size = 1;
    617  data = (uint8_t *)rte_pktmbuf_append(mbuf, parm_size);
    618  if(data == NULL) {
    619  print_err("Fail to allocate the space for section extension 1 [%d]", parm_size);
    620  return (XRAN_STATUS_RESOURCE);
    621  }
    622  total_len += parm_size;
    623  *data = params->bfwCompParam.blockScaler;
    624  break;
    625 
    627  parm_size = 1;
    628  data = (uint8_t *)rte_pktmbuf_append(mbuf, parm_size);
    629  if(data == NULL) {
    630  print_err("Fail to allocate the space for section extension 1 [%d]", parm_size);
    631  return (XRAN_STATUS_RESOURCE);
    632  }
    633  total_len += parm_size;
    634  *data = params->bfwCompParam.compBitWidthShift;
    635  break;
    636 
    638  parm_size = params->bfwNumber>>3;
    639  if(params->bfwNumber%8) parm_size++;
    640  parm_size *= 8;
    641  data = (uint8_t *)rte_pktmbuf_append(mbuf, parm_size);
    642  if(data == NULL) {
    643  print_err("Fail to allocate the space for section extension 1 [%d]", parm_size);
    644  return (XRAN_STATUS_RESOURCE);
    645  }
    646  rte_memcpy(data, params->bfwCompParam.activeBeamspaceCoeffMask, parm_size);
    647  total_len += parm_size;
    648  break;
    649 
    651  default:
    652  parm_size = 0;
    653  }
    654 
    655  print_dbg("params->bfwNumber %d params->bfwiqWidth %d\n", params->bfwNumber, params->bfwiqWidth);
    656 
    657  iq_size = params->bfwNumber * params->bfwiqWidth * 2;
    658 
    659  parm_size = iq_size>>3;
    660  if(iq_size%8)
    661  parm_size++;
    662 
    663  data = (uint8_t *)rte_pktmbuf_append(mbuf, parm_size);
    664  if(data == NULL) {
    665  print_err("Fail to allocate the space for section extension 1 BF W iq_size: [%d]", parm_size);
    666  return (XRAN_STATUS_RESOURCE);
    667  }
    668  rte_memcpy(data, params->p_bfwIQ, parm_size);
    669 
    670  total_len += parm_size;
    671  parm_size = total_len % XRAN_SECTIONEXT_ALIGN;
    672  if(parm_size) {
    673  parm_size = XRAN_SECTIONEXT_ALIGN - parm_size;
    674  data = (uint8_t *)rte_pktmbuf_append(mbuf, parm_size);
    675  if(data == NULL) {
    676  print_err("Fail to allocate the space for section extension 1 [%d]", parm_size);
    677  return (XRAN_STATUS_RESOURCE);
    678  }
    679  rte_memcpy(data, zeropad, parm_size);
    680  total_len += parm_size;
    681  }
    682 
    683  ext1->extLen = total_len / XRAN_SECTIONEXT_ALIGN;
    684 
    685  return (total_len);
    686 }
    687 
    688 static int xran_prepare_sectionext_2(struct rte_mbuf *mbuf,
    689  struct xran_sectionext2_info *params, int last_flag)
    690 {
    691  struct xran_cp_radioapp_section_ext2 *ext2;
    692  uint8_t *data;
    693  int total_len;
    694  int parm_size;
    695  uint32_t val, shift_val;
    696  int val_size, pad_size;
    697 
    698 
    699  total_len = 0;
    700 
    701  parm_size = sizeof(struct xran_cp_radioapp_section_ext2);
    702  ext2 = (struct xran_cp_radioapp_section_ext2 *)rte_pktmbuf_append(mbuf, parm_size);
    703  if(ext2 == NULL) {
    704  print_err("Fail to allocate the space for section extension 2");
    705  return (XRAN_STATUS_RESOURCE);
    706  }
    707  total_len += parm_size;
    708 
    710  ext2->ef = last_flag;
    711  ext2->bfZe3ddWidth = params->bfZe3ddWidth;
    712  ext2->bfAz3ddWidth = params->bfAz3ddWidth;
    713  ext2->bfZePtWidth = params->bfZePtWidth;
    714  ext2->bfAzPtWidth = params->bfAzPtWidth;
    715  ext2->bfaCompResv0 = 0;
    716  ext2->bfaCompResv1 = 0;
    717 
    718  val = 0;
    719  shift_val = 0;
    720  if(params->bfAzPtWidth) {
    721  val += params->bfAzPt & bitmask[params->bfAzPtWidth];
    722  shift_val += 8 - (params->bfAzPtWidth+1);
    723  }
    724  else
    725  shift_val += 8;
    726 
    727  if(params->bfZePtWidth) {
    728  val = val << (params->bfZePtWidth+1);
    729  val += params->bfZePt & bitmask[params->bfZePtWidth];
    730  shift_val += 8 - (params->bfZePtWidth+1);
    731  }
    732  else
    733  shift_val += 8;
    734 
    735  if(params->bfAz3ddWidth) {
    736  val = val << (params->bfAz3ddWidth+1);
    737  val += params->bfAz3dd & bitmask[params->bfAz3ddWidth];
    738  shift_val += 8 - (params->bfAz3ddWidth+1);
    739  }
    740  else
    741  shift_val += 8;
    742 
    743  if(params->bfZe3ddWidth) {
    744  val = val << (params->bfZe3ddWidth+1);
    745  val += params->bfZe3dd & bitmask[params->bfZe3ddWidth];
    746  shift_val += 8 - (params->bfZe3ddWidth+1);
    747  }
    748  else
    749  shift_val += 8;
    750 
    751  if(val) {
    752  val = val << shift_val;
    753  val = rte_cpu_to_be_32(val);
    754  }
    755 
    756  val_size = 4 - (shift_val/8); /* ceil(total bit/8) */
    757  parm_size = val_size + 1; /* additional 1 byte for bfxxSI */
    758 
    759  // alignment
    760  total_len += parm_size;
    761  pad_size = total_len % XRAN_SECTIONEXT_ALIGN;
    762  if(pad_size) {
    763  pad_size = XRAN_SECTIONEXT_ALIGN - pad_size;
    764  parm_size += pad_size;
    765  total_len += pad_size;
    766  }
    767 
    768  data = (uint8_t *)rte_pktmbuf_append(mbuf, parm_size);
    769  if(data == NULL) {
    770  print_err("Fail to allocate the space for section extension 2");
    771  return (XRAN_STATUS_RESOURCE);
    772  }
    773 
    774  rte_memcpy(data, &val, val_size);
    775  data += val_size;
    776  *data = ((params->bfAzSI) << 3) + (params->bfZeSI);
    777  data++;
    778  rte_memcpy(data, zeropad, pad_size);
    779 
    780  ext2->extLen = total_len / XRAN_SECTIONEXT_ALIGN;
    781  *(uint32_t *)ext2 = rte_cpu_to_be_32(*(uint32_t *)ext2);
    782 
    783  return (total_len);
    784 }
    785 
    786 static int xran_prepare_sectionext_4(struct rte_mbuf *mbuf,
    787  struct xran_sectionext4_info *params, int last_flag)
    788 {
    789  struct xran_cp_radioapp_section_ext4 *ext4;
    790  int parm_size;
    791  int total_len;
    792  int ret;
    793 
    794 
    795  total_len = 0;
    796 
    797  parm_size = sizeof(struct xran_cp_radioapp_section_ext4);
    798  ext4 = (struct xran_cp_radioapp_section_ext4 *)rte_pktmbuf_append(mbuf, parm_size);
    799  if(ext4 == NULL) {
    800  print_err("Fail to allocate the space for section extension 4");
    801  return(XRAN_STATUS_RESOURCE);
    802  }
    803  else {
    804  total_len += parm_size;
    805 
    807  ext4->ef = last_flag;
    808  ext4->modCompScaler = params->modCompScaler;
    809  ext4->csf = params->csf?1:0;
    810  ext4->extLen = total_len / XRAN_SECTIONEXT_ALIGN;
    811 
    812  *(uint32_t *)ext4 = rte_cpu_to_be_32(*(uint32_t*)ext4);
    813  }
    814 
    815  return (total_len);
    816 }
    817 
    818 static int xran_prepare_sectionext_5(struct rte_mbuf *mbuf,
    819  struct xran_sectionext5_info *params, int last_flag)
    820 {
    821  struct xran_cp_radioapp_section_ext_hdr *ext_hdr;
    822  struct xran_cp_radioapp_section_ext5 ext5;
    823  int padding;
    824  int total_len;
    825  uint8_t *data;
    826  int i;
    827 
    828 
    829  if(params->num_sets > XRAN_MAX_MODCOMP_ADDPARMS) {
    830  print_err("Exceeds maximum number of parameters(%d). Skipping.", params->num_sets);
    831  return (0);
    832  }
    833 
    834  total_len = sizeof(struct xran_cp_radioapp_section_ext_hdr)
    835  + (sizeof(struct xran_cp_radioapp_section_ext5)*params->num_sets)/2
    836  - (params->num_sets>>1); // 8bits are added by every two sets, so needs to adjust
    837 
    838  /* for alignment */
    839  padding = total_len % XRAN_SECTIONEXT_ALIGN;
    840  if(padding) {
    841  padding = XRAN_SECTIONEXT_ALIGN - padding;
    842  total_len += padding;
    843  }
    844 
    845  ext_hdr = (struct xran_cp_radioapp_section_ext_hdr *)rte_pktmbuf_append(mbuf, total_len);
    846  if(ext_hdr == NULL) {
    847  print_err("Fail to allocate the space for section extension 5");
    848  return (XRAN_STATUS_RESOURCE);
    849  }
    850 
    851  ext_hdr->extType = XRAN_CP_SECTIONEXTCMD_5;
    852  ext_hdr->ef = last_flag;
    853  ext_hdr->extLen = total_len / XRAN_SECTIONEXT_ALIGN;
    854 
    855  *(uint16_t *)ext_hdr = rte_cpu_to_be_16(*((uint16_t *)ext_hdr));
    856 
    857  data = (uint8_t *)(ext_hdr + 1);
    858  i = 0;
    859  while(i < params->num_sets) {
    860  if(i%2) { // odd index
    861  ext5.mcScaleOffset2 = params->mc[i].mcScaleOffset;
    862  ext5.csf2 = params->mc[i].csf;
    863  ext5.mcScaleReMask2 = params->mc[i].mcScaleReMask;
    864  ext5.reserved0 = 0;
    865  i++;
    866 
    867  // adding two sets at once (due to the definition of structure)
    868  *((uint64_t *)&ext5) = rte_cpu_to_be_64(*((uint64_t *)&ext5));
    869  rte_memcpy(data, &ext5, sizeof(struct xran_cp_radioapp_section_ext5));
    870  data += sizeof(struct xran_cp_radioapp_section_ext5);
    871  }
    872  else { // even index
    873  ext5.mcScaleOffset1 = params->mc[i].mcScaleOffset;
    874  ext5.csf1 = params->mc[i].csf;
    875  ext5.mcScaleReMask1 = params->mc[i].mcScaleReMask;
    876  ext5.mcScaleReMask2 = 0;
    877  i++;
    878 
    879  if(i == params->num_sets) { // adding last even index
    880  *((uint64_t *)&ext5) = rte_cpu_to_be_64(*((uint64_t *)&ext5));
    881  rte_memcpy(data, &ext5, sizeof(struct xran_cp_radioapp_section_ext5)/2);
    882  data += sizeof(struct xran_cp_radioapp_section_ext5)/2;
    883  break;
    884  }
    885  }
    886  }
    887 
    888  /* zero padding */
    889  if(padding)
    890  rte_memcpy(data, zeropad, padding);
    891 
    892  return (total_len);
    893 }
    894 
    907 int xran_append_section_extensions(struct rte_mbuf *mbuf, struct xran_section_gen_info *params)
    908 {
    909  int i, ret;
    910  uint32_t totalen;
    911  int last_flag;
    912  int ext_size;
    913 
    914  if(unlikely(params->exDataSize > XRAN_MAX_NUM_EXTENSIONS)) {
    915  print_err("Invalid total number of extensions - %d", params->exDataSize);
    916  return (XRAN_STATUS_INVALID_PARAM);
    917  }
    918 
    919  totalen = 0;
    920 
    921  ret = XRAN_STATUS_SUCCESS;
    922 
    923  print_dbg("params->exDataSize %d\n", params->exDataSize);
    924  for(i=0; i < params->exDataSize; i++) {
    925  if(params->exData[i].data == NULL) {
    926  print_err("Invalid parameter - extension data %d is NULL", i);
    928  continue;
    929  }
    930 
    931  last_flag = (params->exDataSize == (i+1))?0:1;
    932 
    933  switch(params->exData[i].type) {
    935  ext_size = xran_copy_sectionext_1(mbuf, params->exData[i].data, last_flag);
    936  //xran_prepare_sectionext_1(mbuf, params->exData[i].data, last_flag);
    937  break;
    939  ext_size = xran_prepare_sectionext_2(mbuf, params->exData[i].data, last_flag);
    940  break;
    942  ext_size = xran_prepare_sectionext_4(mbuf, params->exData[i].data, last_flag);
    943  break;
    945  ext_size = xran_prepare_sectionext_5(mbuf, params->exData[i].data, last_flag);
    946  break;
    949  default:
    950  print_err("Extension Type %d is not supported!", params->exData[i].type);
    952  ext_size = 0;
    953  }
    954 
    955  if(ext_size == XRAN_STATUS_RESOURCE) {
    956  break;
    957  }
    958 
    959  totalen += ext_size;
    960  }
    961 
    962  return (totalen);
    963 }
    964 
    965 
    977 static int xran_prepare_section0(
    978  struct xran_cp_radioapp_section0 *section,
    979  struct xran_section_gen_info *params)
    980 {
    981 #if (XRAN_STRICT_PARM_CHECK)
    982  if(unlikely(params->info.numSymbol > XRAN_SYMBOLNUMBER_MAX)) {
    983  print_err("Invalid number of Symbols - %d", params->info.numSymbol);
    984  return (XRAN_STATUS_INVALID_PARAM);
    985  }
    986 #endif
    987 
    988  section->hdr.sectionId = params->info.id;
    989  section->hdr.rb = params->info.rb;
    990  section->hdr.symInc = params->info.symInc;
    991  section->hdr.startPrbc = params->info.startPrbc;
    992  section->hdr.numPrbc = XRAN_CONVERT_NUMPRBC(params->info.numPrbc);
    993 
    994  section->hdr.u.s0.reMask = params->info.reMask;
    995  section->hdr.u.s0.numSymbol = params->info.numSymbol;
    996  section->hdr.u.s0.reserved = 0;
    997 
    998  // for network byte order
    999  *((uint64_t *)section) = rte_cpu_to_be_64(*((uint64_t *)section));
    1000 
    1001  return (XRAN_STATUS_SUCCESS);
    1002 }
    1013 static int xran_prepare_section0_hdr(
    1014  struct xran_cp_radioapp_section0_header *s0hdr,
    1015  struct xran_cp_gen_params *params)
    1016 
    1017 {
    1018  s0hdr->timeOffset = rte_cpu_to_be_16(params->hdr.timeOffset);
    1019  s0hdr->frameStructure.fftSize = params->hdr.fftSize;
    1020  s0hdr->frameStructure.uScs = params->hdr.scs;
    1021  s0hdr->cpLength = rte_cpu_to_be_16(params->hdr.cpLength);
    1022  s0hdr->reserved = 0;
    1023 
    1024  return (XRAN_STATUS_SUCCESS);
    1025 }
    1026 
    1039 static int xran_prepare_section1(
    1040  struct xran_cp_radioapp_section1 *section,
    1041  struct xran_section_gen_info *params)
    1042 {
    1043 #if (XRAN_STRICT_PARM_CHECK)
    1044  if(unlikely(params->info.numSymbol > XRAN_SYMBOLNUMBER_MAX)) {
    1045  print_err("Invalid number of Symbols - %d", params->info.numSymbol);
    1046  return (XRAN_STATUS_INVALID_PARAM);
    1047  }
    1048 #endif
    1049 
    1050  section->hdr.sectionId = params->info.id;
    1051  section->hdr.rb = params->info.rb;
    1052  section->hdr.symInc = params->info.symInc;
    1053  section->hdr.startPrbc = params->info.startPrbc;
    1054  section->hdr.numPrbc = XRAN_CONVERT_NUMPRBC(params->info.numPrbc);
    1055 
    1056  section->hdr.u.s1.reMask = params->info.reMask;
    1057  section->hdr.u.s1.numSymbol = params->info.numSymbol;
    1058  section->hdr.u.s1.beamId = params->info.beamId;
    1059 
    1060  section->hdr.u.s1.ef = params->info.ef;
    1061 
    1062  // for network byte order
    1063  *((uint64_t *)section) = rte_cpu_to_be_64(*((uint64_t *)section));
    1064 
    1065  return (XRAN_STATUS_SUCCESS);
    1066 }
    1077 static int xran_prepare_section1_hdr(
    1078  struct xran_cp_radioapp_section1_header *s1hdr,
    1079  struct xran_cp_gen_params *params)
    1080 {
    1081  s1hdr->udComp.udIqWidth = params->hdr.iqWidth;
    1082  s1hdr->udComp.udCompMeth = params->hdr.compMeth;
    1083  s1hdr->reserved = 0;
    1084 
    1085  return (XRAN_STATUS_SUCCESS);
    1086 }
    1087 
    1100 static int xran_prepare_section3(
    1101  struct xran_cp_radioapp_section3 *section,
    1102  struct xran_section_gen_info *params)
    1103 {
    1104 #if (XRAN_STRICT_PARM_CHECK)
    1105  if(unlikely(params->info.numSymbol > XRAN_SYMBOLNUMBER_MAX)) {
    1106  print_err("Invalid number of Symbols - %d", params->info.numSymbol);
    1107  return (XRAN_STATUS_INVALID_PARAM);
    1108  }
    1109 #endif
    1110 
    1111  section->hdr.sectionId = params->info.id;
    1112  section->hdr.rb = params->info.rb;
    1113  section->hdr.symInc = params->info.symInc;
    1114  section->hdr.startPrbc = params->info.startPrbc;
    1115  section->hdr.numPrbc = XRAN_CONVERT_NUMPRBC(params->info.numPrbc);
    1116 
    1117  section->hdr.u.s3.reMask = params->info.reMask;
    1118  section->hdr.u.s3.numSymbol = params->info.numSymbol;
    1119  section->hdr.u.s3.beamId = params->info.beamId;
    1120 
    1121  section->freqOffset = rte_cpu_to_be_32(params->info.freqOffset)>>8;
    1122  section->reserved = 0;
    1123 
    1124  section->hdr.u.s3.ef = params->info.ef;
    1125 
    1126  // for network byte order (header, 8 bytes)
    1127  *((uint64_t *)section) = rte_cpu_to_be_64(*((uint64_t *)section));
    1128 
    1129  return (XRAN_STATUS_SUCCESS);
    1130 }
    1141 static int xran_prepare_section3_hdr(
    1142  struct xran_cp_radioapp_section3_header *s3hdr,
    1143  struct xran_cp_gen_params *params)
    1144 
    1145 {
    1146  s3hdr->timeOffset = rte_cpu_to_be_16(params->hdr.timeOffset);
    1147  s3hdr->frameStructure.fftSize = params->hdr.fftSize;
    1148  s3hdr->frameStructure.uScs = params->hdr.scs;
    1149  s3hdr->cpLength = rte_cpu_to_be_16(params->hdr.cpLength);
    1150  s3hdr->udComp.udIqWidth = params->hdr.iqWidth;
    1151  s3hdr->udComp.udCompMeth = params->hdr.compMeth;
    1152 
    1153  return (XRAN_STATUS_SUCCESS);
    1154 }
    1155 
    1169 int xran_append_control_section(struct rte_mbuf *mbuf, struct xran_cp_gen_params *params)
    1170 {
    1171  int i, ret, ext_flag;
    1172  uint32_t totalen;
    1173  void *section;
    1174  int section_size;
    1175  int (*xran_prepare_section_func)(void *section, void *params);
    1176 
    1177 
    1178  totalen = 0;
    1179  switch(params->sectionType) {
    1180  case XRAN_CP_SECTIONTYPE_0: /* Unused RB or Symbols in DL or UL, not supportted */
    1181  section_size = sizeof(struct xran_cp_radioapp_section0);
    1182  xran_prepare_section_func = (int (*)(void *, void *))xran_prepare_section0;
    1183  break;
    1184 
    1185  case XRAN_CP_SECTIONTYPE_1: /* Most DL/UL Radio Channels */
    1186  section_size = sizeof(struct xran_cp_radioapp_section1);
    1187  xran_prepare_section_func = (int (*)(void *, void *))xran_prepare_section1;
    1188  break;
    1189 
    1190  case XRAN_CP_SECTIONTYPE_3: /* PRACH and Mixed-numerology Channels */
    1191  section_size = sizeof(struct xran_cp_radioapp_section3);
    1192  xran_prepare_section_func = (int (*)(void *, void *))xran_prepare_section3;
    1193  break;
    1194 
    1195  case XRAN_CP_SECTIONTYPE_5: /* UE scheduling information, not supported */
    1196  case XRAN_CP_SECTIONTYPE_6: /* Channel Information, not supported */
    1197  case XRAN_CP_SECTIONTYPE_7: /* LAA, not supported */
    1198  default:
    1199  section_size = 0;
    1200  xran_prepare_section_func = NULL;
    1201  print_err("Section Type %d is not supported!", params->sectionType);
    1202  return (XRAN_STATUS_INVALID_PARAM);
    1203  }
    1204 
    1205  if(unlikely(xran_prepare_section_func == NULL)) {
    1206  print_err("Section Type %d is not supported!", params->sectionType);
    1207  return (XRAN_STATUS_INVALID_PARAM);
    1208  }
    1209 
    1210  for(i=0; i < params->numSections; i++) {
    1211  section = rte_pktmbuf_append(mbuf, section_size);
    1212  if(section == NULL) {
    1213  print_err("Fail to allocate the space for section[%d]!", i);
    1214  return (XRAN_STATUS_RESOURCE);
    1215  }
    1216  print_dbg("%s %d ef %d\n", __FUNCTION__, i, params->sections[i].info.ef);
    1217  ret = xran_prepare_section_func((void *)section,
    1218  (void *)&params->sections[i]);
    1219  if(ret < 0){
    1220  print_err("%s %d\n", __FUNCTION__, ret);
    1221  return (ret);
    1222  }
    1223  totalen += section_size;
    1224 
    1225  if(params->sections[i].info.ef) {
    1226  print_dbg("sections[%d].info.ef %d exDataSize %d type %d\n", i, params->sections[i].info.ef,
    1227  params->sections[i].exDataSize, params->sections[i].exData[0].type);
    1228  ret = xran_append_section_extensions(mbuf, &params->sections[i]);
    1229  if(ret < 0)
    1230  return (ret);
    1231  totalen += ret;
    1232  }
    1233  }
    1234 
    1235  return (totalen);
    1236 }
    1237 
    1249 static inline int xran_prepare_radioapp_common_header(
    1250  struct xran_cp_radioapp_common_header *apphdr,
    1251  struct xran_cp_gen_params *params)
    1252 {
    1253 
    1254 #if (XRAN_STRICT_PARM_CHECK)
    1255  if(unlikely(params->dir != XRAN_DIR_DL && params->dir != XRAN_DIR_UL)) {
    1256  print_err("Invalid direction!");
    1257  return (XRAN_STATUS_INVALID_PARAM);
    1258  }
    1259  if(unlikely(params->hdr.slotId > XRAN_SLOTID_MAX)) {
    1260  print_err("Invalid Slot ID!");
    1261  return (XRAN_STATUS_INVALID_PARAM);
    1262  }
    1263  if(unlikely(params->hdr.startSymId > XRAN_SYMBOLNUMBER_MAX)) {
    1264  print_err("Invalid Symbol ID!");
    1265  return (XRAN_STATUS_INVALID_PARAM);
    1266  }
    1267 #endif
    1268 
    1269  apphdr->dataDirection = params->dir;
    1270  apphdr->payloadVer = XRAN_PAYLOAD_VER;
    1271  apphdr->filterIndex = params->hdr.filterIdx;
    1272  apphdr->frameId = params->hdr.frameId;
    1273  apphdr->subframeId = params->hdr.subframeId;
    1274  apphdr->slotId = params->hdr.slotId;
    1275  apphdr->startSymbolId = params->hdr.startSymId;
    1276  apphdr->numOfSections = params->numSections;
    1277  apphdr->sectionType = params->sectionType;
    1278 
    1279  /* radio app header has common parts of 4bytes for all section types */
    1280  *((uint32_t *)apphdr) = rte_cpu_to_be_32(*((uint32_t *)apphdr));
    1281 
    1282  return (XRAN_STATUS_SUCCESS);
    1283 }
    1284 
    1297 int xran_append_radioapp_header(struct rte_mbuf *mbuf, struct xran_cp_gen_params *params)
    1298 {
    1299  int ret;
    1300  uint32_t totalen;
    1301  struct xran_cp_radioapp_common_header *apphdr;
    1302  int (*xran_prepare_radioapp_section_hdr_func)(void *hdr, void *params);
    1303 
    1304 
    1305 #if (XRAN_STRICT_PARM_CHECK)
    1306  if(unlikely(params->sectionType >= XRAN_CP_SECTIONTYPE_MAX)) {
    1307  print_err("Invalid Section Type - %d", params->sectionType);
    1308  return (XRAN_STATUS_INVALID_PARAM);
    1309  }
    1310 #endif
    1311 
    1312  switch(params->sectionType) {
    1313  case XRAN_CP_SECTIONTYPE_0: /* Unused RB or Symbols in DL or UL, not supportted */
    1314  xran_prepare_radioapp_section_hdr_func = (int (*)(void *, void*))xran_prepare_section0_hdr;
    1315  totalen = sizeof(struct xran_cp_radioapp_section0_header);
    1316  break;
    1317 
    1318  case XRAN_CP_SECTIONTYPE_1: /* Most DL/UL Radio Channels */
    1319  xran_prepare_radioapp_section_hdr_func = (int (*)(void *, void*))xran_prepare_section1_hdr;
    1320  totalen = sizeof(struct xran_cp_radioapp_section1_header);
    1321  break;
    1322 
    1323  case XRAN_CP_SECTIONTYPE_3: /* PRACH and Mixed-numerology Channels */
    1324  xran_prepare_radioapp_section_hdr_func = (int (*)(void *, void*))xran_prepare_section3_hdr;
    1325  totalen = sizeof(struct xran_cp_radioapp_section3_header);
    1326  break;
    1327 
    1328  case XRAN_CP_SECTIONTYPE_5: /* UE scheduling information, not supported */
    1329  case XRAN_CP_SECTIONTYPE_6: /* Channel Information, not supported */
    1330  case XRAN_CP_SECTIONTYPE_7: /* LAA, not supported */
    1331  default:
    1332  print_err("Section Type %d is not supported!", params->sectionType);
    1333  xran_prepare_radioapp_section_hdr_func = NULL;
    1334  totalen = 0;
    1335  return (XRAN_STATUS_INVALID_PARAM);
    1336  }
    1337 
    1338  apphdr = (struct xran_cp_radioapp_common_header *)rte_pktmbuf_append(mbuf, totalen);
    1339  if(unlikely(apphdr == NULL)) {
    1340  print_err("Fail to reserve the space for radio application header!");
    1341  return (XRAN_STATUS_RESOURCE);
    1342  }
    1343 
    1344  ret = xran_prepare_radioapp_common_header(apphdr, params);
    1345  if(unlikely(ret < 0)) {
    1346  return (ret);
    1347  }
    1348 
    1349  if(likely(xran_prepare_radioapp_section_hdr_func)) {
    1350  totalen += xran_prepare_radioapp_section_hdr_func(apphdr, params);
    1351  }
    1352  else {
    1353  print_err("xran_prepare_radioapp_section_hdr_func is NULL!");
    1354  return (XRAN_STATUS_INVALID_PARAM);
    1355  }
    1356 
    1357  return (totalen);
    1358 }
    1359 
    1381 int xran_prepare_ctrl_pkt(struct rte_mbuf *mbuf,
    1382  struct xran_cp_gen_params *params,
    1383  uint8_t CC_ID, uint8_t Ant_ID,
    1384  uint8_t seq_id)
    1385 {
    1386  int ret;
    1387  uint32_t payloadlen;
    1388  struct xran_ecpri_hdr *ecpri_hdr;
    1389 
    1390 
    1391  payloadlen = xran_build_ecpri_hdr(mbuf, CC_ID, Ant_ID, seq_id, &ecpri_hdr);
    1392 
    1393  ret = xran_append_radioapp_header(mbuf, params);
    1394  if(ret < 0) {
    1395  print_err("%s %d\n", __FUNCTION__, ret);
    1396  return (ret);
    1397  }
    1398  payloadlen += ret;
    1399 
    1400  ret = xran_append_control_section(mbuf, params);
    1401  if(ret < 0) {
    1402  print_err("%s %d\n", __FUNCTION__, ret);
    1403  return (ret);
    1404  }
    1405  payloadlen += ret;
    1406 
    1407  /* set payload length */
    1408  ecpri_hdr->cmnhdr.ecpri_payl_size = rte_cpu_to_be_16(payloadlen);
    1409 
    1410  return (XRAN_STATUS_SUCCESS);
    1411 }
    1412 
    1413 
    1415 // for RU emulation
    1417  struct xran_sectionext1_info *extinfo)
    1418 {
    1419  int len;
    1420  int total_len;
    1421  struct xran_cp_radioapp_section_ext1 *ext1;
    1422  uint8_t *data;
    1423  int parm_size, iq_size;
    1424  int N;
    1425  void *pHandle;
    1426 
    1427  pHandle = NULL;
    1428  N = xran_get_conf_num_bfweights(pHandle);
    1429  extinfo->bfwNumber = N;
    1430 
    1431  ext1 = (struct xran_cp_radioapp_section_ext1 *)ext;
    1432  data = (uint8_t *)ext;
    1433 
    1434  len = 0;
    1435  total_len = ext1->extLen * XRAN_SECTIONEXT_ALIGN; /* from word to byte */
    1436 
    1437  extinfo->bfwCompMeth = ext1->bfwCompMeth;
    1438  extinfo->bfwiqWidth = (ext1->bfwIqWidth==0)?16:ext1->bfwIqWidth;
    1439 
    1440  len += sizeof(struct xran_cp_radioapp_section_ext1);
    1441  data += sizeof(struct xran_cp_radioapp_section_ext1);
    1442 
    1443  switch(ext1->bfwCompMeth) {
    1445  parm_size = 0;
    1446  break;
    1447 
    1449  parm_size = 1;
    1450  extinfo->bfwCompParam.exponent = *data & 0x0f;
    1451  break;
    1452 
    1454  parm_size = 1;
    1455  extinfo->bfwCompParam.blockScaler = *data;
    1456  break;
    1457 
    1459  parm_size = 1;
    1460  extinfo->bfwCompParam.compBitWidthShift = *data;
    1461  break;
    1462 
    1464  parm_size = N>>3; if(N%8) parm_size++; parm_size *= 8;
    1465  rte_memcpy(data, extinfo->bfwCompParam.activeBeamspaceCoeffMask, parm_size);
    1466  break;
    1467 
    1468  default:
    1469  print_err("Invalid BfComp method - %d", ext1->bfwCompMeth);
    1470  parm_size = 0;
    1471  }
    1472 
    1473  len += parm_size;
    1474  data += parm_size;
    1475 
    1476  /* Get BF weights */
    1477  iq_size = N * extinfo->bfwiqWidth * 2; // total in bits
    1478  parm_size = iq_size>>3; // total in bytes (/8)
    1479  if(iq_size%8) parm_size++; // round up
    1480 
    1481  //rte_memcpy(data, extinfo->p_bfwIQ, parm_size);
    1482  extinfo->p_bfwIQ = (int16_t*)data;
    1483 
    1484  len += parm_size;
    1485 
    1486  parm_size = len % XRAN_SECTIONEXT_ALIGN;
    1487  if(parm_size)
    1488  len += (XRAN_SECTIONEXT_ALIGN - parm_size);
    1489 
    1490  if(len != total_len) {
    1491  // TODO: fix this print_err("The size of extension 1 is not correct! [%d:%d]", len, total_len);
    1492  }
    1493 
    1494  return (total_len);
    1495 }
    1496 
    1498  struct xran_sectionext2_info *extinfo)
    1499 {
    1500  int len;
    1501  int total_len;
    1502  struct xran_cp_radioapp_section_ext2 *ext2;
    1503  uint8_t *data;
    1504  int parm_size;
    1505  uint32_t val;
    1506  int val_size;
    1507 
    1508 
    1509  ext2 = (struct xran_cp_radioapp_section_ext2 *)ext;
    1510  data = (uint8_t *)ext;
    1511  *(uint32_t *)ext2 = rte_cpu_to_be_32(*(uint32_t *)ext2);
    1512 
    1513  len = 0;
    1514  total_len = ext2->extLen * XRAN_SECTIONEXT_ALIGN; /* from word to byte */
    1515 
    1516  parm_size = sizeof(struct xran_cp_radioapp_section_ext2);
    1517 
    1518  extinfo->bfAzPtWidth = ext2->bfAzPtWidth;
    1519  extinfo->bfZePtWidth = ext2->bfZePtWidth;
    1520  extinfo->bfAz3ddWidth = ext2->bfAz3ddWidth;
    1521  extinfo->bfZe3ddWidth = ext2->bfZe3ddWidth;
    1522 
    1523  if(ext2->bfaCompResv0 || ext2->bfaCompResv1)
    1524  print_err("Incorrect reserved field - %d, %d", ext2->bfaCompResv0, ext2->bfaCompResv1);
    1525 
    1526  data += parm_size;
    1527  len += parm_size;
    1528 
    1529  val_size = (extinfo->bfAzPtWidth ? extinfo->bfAzPtWidth+1 : 0)
    1530  + (extinfo->bfZePtWidth ? extinfo->bfZePtWidth+1 : 0)
    1531  + (extinfo->bfAz3ddWidth ? extinfo->bfAz3ddWidth+1 : 0)
    1532  + (extinfo->bfZe3ddWidth ? extinfo->bfZe3ddWidth+ 1: 0);
    1533  if(val_size) {
    1534  val = rte_cpu_to_be_32(*(uint32_t *)data);
    1535  val >>= (32 - val_size);
    1536 
    1537  if(extinfo->bfZe3ddWidth) {
    1538  extinfo->bfZe3dd = val & bitmask[extinfo->bfZe3ddWidth];
    1539  val >>= (extinfo->bfZe3ddWidth + 1);
    1540  }
    1541  if(extinfo->bfAz3ddWidth) {
    1542  extinfo->bfAz3dd = val & bitmask[extinfo->bfAz3ddWidth];
    1543  val >>= (extinfo->bfAz3ddWidth + 1);
    1544  }
    1545  if(extinfo->bfZePtWidth) {
    1546  extinfo->bfZePt = val & bitmask[extinfo->bfZePtWidth];
    1547  val >>= (extinfo->bfZePtWidth + 1);
    1548  }
    1549  if(extinfo->bfAzPtWidth) {
    1550  extinfo->bfAzPt = val & bitmask[extinfo->bfAzPtWidth];
    1551  val >>= (extinfo->bfAzPtWidth + 1);
    1552  }
    1553  }
    1554 
    1555  parm_size = val_size/8;
    1556  if(val_size%8) parm_size += 1;
    1557 
    1558  data += parm_size;
    1559  len += parm_size;
    1560 
    1561  extinfo->bfAzSI = (*data >> 3) & 0x07;
    1562  extinfo->bfZeSI = *data & 0x07;
    1563 
    1564  data++;
    1565  len++;
    1566 
    1567  parm_size = len % XRAN_SECTIONEXT_ALIGN;
    1568  if(parm_size)
    1569  len += (XRAN_SECTIONEXT_ALIGN - parm_size);
    1570 
    1571  if(len != total_len) {
    1572  print_err("The size of extension 2 is not correct! [%d:%d]", len, total_len);
    1573  }
    1574 
    1575  return (total_len);
    1576 
    1577 }
    1578 
    1580  struct xran_sectionext4_info *extinfo)
    1581 {
    1582  int len;
    1583  struct xran_cp_radioapp_section_ext4 *ext4;
    1584  int total_len;
    1585 
    1586 
    1587  ext4 = (struct xran_cp_radioapp_section_ext4 *)ext;
    1588 
    1589  *(uint32_t *)ext4 = rte_cpu_to_be_32(*(uint32_t *)ext4);
    1590 
    1591  len = 0;
    1592  total_len = ext4->extLen * XRAN_SECTIONEXT_ALIGN; /* from word to byte */
    1593 
    1594  extinfo->modCompScaler = ext4->modCompScaler;
    1595  extinfo->csf = ext4->csf;
    1596 // extinfo->pad0;
    1597 
    1598  len += sizeof(struct xran_cp_radioapp_section_ext4);
    1599  if(len != total_len) {
    1600  print_err("The size of extension 4 is not correct! [%d:%d]", len, total_len);
    1601  }
    1602 
    1603  return (total_len);
    1604 }
    1605 
    1607  struct xran_sectionext5_info *extinfo)
    1608 {
    1609  int len;
    1610  struct xran_cp_radioapp_section_ext_hdr *ext_hdr;
    1611  struct xran_cp_radioapp_section_ext5 ext5;
    1612  int parm_size;
    1613  int total_len;
    1614  uint8_t *data;
    1615  uint16_t i;
    1616 
    1617 
    1618  ext_hdr = (struct xran_cp_radioapp_section_ext_hdr *)ext;
    1619  *(uint16_t *)ext_hdr = rte_cpu_to_be_16(*(uint16_t *)ext_hdr);
    1620 
    1621  total_len = ext_hdr->extLen * XRAN_SECTIONEXT_ALIGN; /* from word to byte */
    1622 
    1623  // one set has 3.5 bytes, so enforcing double to do integer calculation
    1624  parm_size = ((total_len-sizeof(struct xran_cp_radioapp_section_ext_hdr))*2) / 7;
    1625 
    1626  if(parm_size > XRAN_MAX_MODCOMP_ADDPARMS) {
    1627  print_err("Exceeds maximum number of parameters - %d", parm_size);
    1628  parm_size = XRAN_MAX_MODCOMP_ADDPARMS;
    1629  }
    1630 
    1631  len = 0;
    1632  data = (uint8_t *)(ext_hdr + 1);
    1633 
    1634  i = 0;
    1635  while(i < parm_size) {
    1636  // For odd number set, more data can be copied
    1637  *((uint64_t *)&ext5) = rte_cpu_to_be_64(*((uint64_t *)data));
    1638 
    1639  extinfo->mc[i].mcScaleOffset = ext5.mcScaleOffset1;
    1640  extinfo->mc[i].csf = ext5.csf1;
    1641  extinfo->mc[i].mcScaleReMask = ext5.mcScaleReMask1;
    1642  i++;
    1643 
    1644  extinfo->mc[i].mcScaleOffset = ext5.mcScaleOffset2;
    1645  extinfo->mc[i].csf = ext5.csf2;
    1646  extinfo->mc[i].mcScaleReMask = ext5.mcScaleReMask2;
    1647  i++;
    1648 
    1649  data += sizeof(struct xran_cp_radioapp_section_ext5);
    1650  }
    1651 
    1652  // check the values of last set
    1653  // due to alignment, it cannot be identified by the length that 3 or 4, 11 or 12 and etc
    1654  // don't check mcScaleOffset might not be zero (some part is out of zero-padding)
    1655  i--;
    1656  if(i < XRAN_MAX_MODCOMP_ADDPARMS) {
    1657  if(extinfo->mc[i].csf == 0 && extinfo->mc[i].mcScaleReMask == 0)
    1658  extinfo->num_sets = i;
    1659  else
    1660  extinfo->num_sets = i+1;
    1661  }else {
    1662  print_err("Maximum total number %d is not correct!", i);
    1663  }
    1664 
    1665  return (total_len);
    1666 }
    1667 
    1668 int xran_parse_section_extension(struct rte_mbuf *mbuf,
    1669  void *ext,
    1670  struct xran_section_gen_info *section)
    1671 {
    1672  int total_len, len, numext;
    1673  uint8_t *ptr;
    1674  int flag_last;
    1675  int ext_type;
    1676  int i;
    1677 
    1678  total_len = 0;
    1679  ptr = (uint8_t *)ext;
    1680 
    1681  numext = 0;
    1682 
    1683  flag_last = 1;
    1684  i = 0;
    1685  while(flag_last) {
    1686  /* check ef */
    1687  flag_last = (*ptr & 0x80);
    1688 
    1689  ext_type = *ptr & 0x7f;
    1690  section->exData[numext].type = ext_type;
    1691  switch(ext_type) {
    1693  section->exData[numext].data = &section->m_ext1[numext];
    1694  len = xran_parse_section_ext1(ptr, section->exData[numext].data);
    1695  section->exData[numext].len = len;
    1696  break;
    1698  section->exData[numext].data = &section->m_ext2[numext];
    1699  len = xran_parse_section_ext2(ptr, section->exData[numext].data);
    1700  break;
    1702  section->exData[numext].data = &section->m_ext4[numext];
    1703  len = xran_parse_section_ext4(ptr, section->exData[numext].data);
    1704  break;
    1706  section->exData[numext].data = &section->m_ext5[numext];
    1707  len = xran_parse_section_ext5(ptr, section->exData[numext].data);
    1708  break;
    1709 
    1712  default:
    1713  print_err("Extension %d is not supported!", ext_type);
    1714  len = 0;
    1715  }
    1716 
    1717  section->exData[numext].len = len;
    1718  ptr += len; total_len += len;
    1719 
    1720  i++;
    1721  if(++numext < XRAN_MAX_NUM_EXTENSIONS) continue;
    1722 
    1723  /* exceeds maximum number of extensions */
    1724  break;
    1725  }
    1726 
    1727  section->exDataSize = numext;
    1728 
    1729  return (total_len);
    1730 
    1731 }
    1732 
    1749 int xran_parse_cp_pkt(struct rte_mbuf *mbuf,
    1750  struct xran_cp_gen_params *result,
    1751  struct xran_recv_packet_info *pkt_info)
    1752 {
    1753  struct xran_ecpri_hdr *ecpri_hdr;
    1754  struct xran_cp_radioapp_common_header *apphdr;
    1755  int i, ret;
    1756  int extlen;
    1757 
    1758 
    1759  ret = xran_parse_ecpri_hdr(mbuf, &ecpri_hdr, pkt_info);
    1760  if(ret < 0 && ecpri_hdr == NULL)
    1761  return (XRAN_STATUS_INVALID_PACKET);
    1762 
    1763  /* Process radio header. */
    1764  apphdr = (void *)rte_pktmbuf_adj(mbuf, sizeof(struct xran_ecpri_hdr));
    1765  if(apphdr == NULL) {
    1766  print_err("Invalid packet - radio app hedaer!");
    1767  return (XRAN_STATUS_INVALID_PACKET);
    1768  }
    1769 
    1770  *((uint32_t *)apphdr) = rte_cpu_to_be_32(*((uint32_t *)apphdr));
    1771 
    1772  if(apphdr->payloadVer != XRAN_PAYLOAD_VER) {
    1773  print_err("Invalid Payload version - %d", apphdr->payloadVer);
    1775  }
    1776 
    1777  result->dir = apphdr->dataDirection;
    1778  result->hdr.filterIdx = apphdr->filterIndex;
    1779  result->hdr.frameId = apphdr->frameId;
    1780  result->hdr.subframeId = apphdr->subframeId;
    1781  result->hdr.slotId = apphdr->slotId;
    1782  result->hdr.startSymId = apphdr->startSymbolId;
    1783  result->sectionType = apphdr->sectionType;
    1784  result->numSections = apphdr->numOfSections;
    1785 
    1786 #if 0
    1787  printf("[CP%5d] eAxC[%d:%d:%02d:%02d] %s seq[%03d-%03d-%d] sec[%d-%d] frame[%3d-%2d-%2d] sym%02d\n",
    1788  pkt_info->payload_len,
    1789  pkt_info->eaxc.cuPortId, pkt_info->eaxc.bandSectorId,
    1790  pkt_info->eaxc.ccId, pkt_info->eaxc.ruPortId,
    1791  result->dir?"DL":"UL",
    1792  pkt_info->seq_id, pkt_info->subseq_id, pkt_info->ebit,
    1793  result->sectionType, result->numSections,
    1794  result->hdr.frameId, result->hdr.subframeId, result->hdr.slotId,
    1795  result->hdr.startSymId
    1796  );
    1797 #endif
    1798 
    1799  switch(apphdr->sectionType) {
    1800  case XRAN_CP_SECTIONTYPE_0: // Unused RB or Symbols in DL or UL, not supportted
    1801  {
    1803  struct xran_cp_radioapp_section0 *section;
    1804 
    1805  hdr = (struct xran_cp_radioapp_section0_header*)apphdr;
    1806 
    1807  result->hdr.fftSize = rte_be_to_cpu_16(hdr->timeOffset);
    1808  result->hdr.scs = hdr->frameStructure.fftSize;
    1809  result->hdr.timeOffset = hdr->frameStructure.uScs;
    1810  result->hdr.cpLength = rte_be_to_cpu_16(hdr->cpLength);
    1811  //hdr->reserved; /* should be zero */
    1812 
    1813  section = (void *)rte_pktmbuf_adj(mbuf, sizeof(struct xran_cp_radioapp_section0_header));
    1814  if(section == NULL) {
    1815  print_err("Invalid packet 0 - radio app hedaer!");
    1816  return (XRAN_STATUS_INVALID_PACKET);
    1817  }
    1818  for(i=0; i<result->numSections; i++) {
    1819  *((uint64_t *)section) = rte_be_to_cpu_64(*((uint64_t *)section));
    1820 
    1821  result->sections[i].info.type = apphdr->sectionType;
    1822  result->sections[i].info.id = section->hdr.sectionId;
    1823  result->sections[i].info.rb = section->hdr.rb;
    1824  result->sections[i].info.symInc = section->hdr.symInc;
    1825  result->sections[i].info.startPrbc = section->hdr.startPrbc;
    1826  result->sections[i].info.numPrbc = section->hdr.numPrbc,
    1827  result->sections[i].info.numSymbol = section->hdr.u.s0.numSymbol;
    1828  result->sections[i].info.reMask = section->hdr.u.s0.reMask;
    1829  //section->hdr.u.s0.reserved; /* should be zero */
    1830 
    1831  section = (void *)rte_pktmbuf_adj(mbuf, sizeof(struct xran_cp_radioapp_section0));
    1832  if(section == NULL) {
    1833  print_err("Invalid packet 0 - number of section [%d:%d]!",
    1834  result->numSections, i);
    1835  result->numSections = i;
    1837  break;
    1838  }
    1839  }
    1840  }
    1841  break;
    1842 
    1843  case XRAN_CP_SECTIONTYPE_1: // Most DL/UL Radio Channels
    1844  {
    1846  struct xran_cp_radioapp_section1 *section;
    1847 
    1848  hdr = (struct xran_cp_radioapp_section1_header*)apphdr;
    1849 
    1850  result->hdr.iqWidth = hdr->udComp.udIqWidth;
    1851  result->hdr.compMeth = hdr->udComp.udCompMeth;
    1852 
    1853  section = (void *)rte_pktmbuf_adj(mbuf, sizeof(struct xran_cp_radioapp_section1_header));
    1854  if(section == NULL) {
    1855  print_err("Invalid packet 1 - radio app hedaer!");
    1856  return (XRAN_STATUS_INVALID_PACKET);
    1857  }
    1858 
    1859  for(i=0; i<result->numSections; i++) {
    1860  *((uint64_t *)section) = rte_be_to_cpu_64(*((uint64_t *)section));
    1861 
    1862  result->sections[i].info.type = apphdr->sectionType;
    1863  result->sections[i].info.id = section->hdr.sectionId;
    1864  result->sections[i].info.rb = section->hdr.rb;
    1865  result->sections[i].info.symInc = section->hdr.symInc;
    1866  result->sections[i].info.startPrbc = section->hdr.startPrbc;
    1867  result->sections[i].info.numPrbc = section->hdr.numPrbc,
    1868  result->sections[i].info.numSymbol = section->hdr.u.s1.numSymbol;
    1869  result->sections[i].info.reMask = section->hdr.u.s1.reMask;
    1870  result->sections[i].info.beamId = section->hdr.u.s1.beamId;
    1871  result->sections[i].info.ef = section->hdr.u.s1.ef;
    1872 
    1873  section = (void *)rte_pktmbuf_adj(mbuf,
    1874  sizeof(struct xran_cp_radioapp_section1));
    1875  if(section == NULL) {
    1876  print_err("Invalid packet 1 - number of section [%d:%d]!",
    1877  result->numSections, i);
    1878  result->numSections = i;
    1880  break;
    1881  }
    1882 
    1883  if(result->sections[i].info.ef) {
    1884  // parse section extension
    1885  extlen = xran_parse_section_extension(mbuf, (void *)section, &result->sections[i]);
    1886  if(extlen > 0) {
    1887  section = (void *)rte_pktmbuf_adj(mbuf, extlen);
    1888  if(section == NULL) {
    1889  print_err("Invalid packet 1 - section extension [%d]!", i);
    1891  break;
    1892  }
    1893  }
    1894  }
    1895  else extlen = 0;
    1896  }
    1897  }
    1898  break;
    1899 
    1900  case XRAN_CP_SECTIONTYPE_3: // PRACH and Mixed-numerology Channels
    1901  {
    1903  struct xran_cp_radioapp_section3 *section;
    1904 
    1905  hdr = (struct xran_cp_radioapp_section3_header*)apphdr;
    1906 
    1907  result->hdr.timeOffset = rte_be_to_cpu_16(hdr->timeOffset);
    1908  result->hdr.scs = hdr->frameStructure.uScs;
    1909  result->hdr.fftSize = hdr->frameStructure.fftSize;
    1910  result->hdr.cpLength = rte_be_to_cpu_16(hdr->cpLength);
    1911  result->hdr.iqWidth = hdr->udComp.udIqWidth;
    1912  result->hdr.compMeth = hdr->udComp.udCompMeth;
    1913 
    1914  section = (void *)rte_pktmbuf_adj(mbuf, sizeof(struct xran_cp_radioapp_section3_header));
    1915  if(section == NULL) {
    1916  print_err("Invalid packet 3 - radio app hedaer!");
    1917  return (XRAN_STATUS_INVALID_PACKET);
    1918  }
    1919 
    1920  for(i=0; i<result->numSections; i++) {
    1921  *((uint64_t *)section) = rte_be_to_cpu_64(*((uint64_t *)section));
    1922 
    1923  result->sections[i].info.type = apphdr->sectionType;
    1924  result->sections[i].info.id = section->hdr.sectionId;
    1925  result->sections[i].info.rb = section->hdr.rb;
    1926  result->sections[i].info.symInc = section->hdr.symInc;
    1927  result->sections[i].info.startPrbc = section->hdr.startPrbc;
    1928  result->sections[i].info.numPrbc = section->hdr.numPrbc,
    1929  result->sections[i].info.numSymbol = section->hdr.u.s3.numSymbol;
    1930  result->sections[i].info.reMask = section->hdr.u.s3.reMask;
    1931  result->sections[i].info.beamId = section->hdr.u.s3.beamId;
    1932  result->sections[i].info.ef = section->hdr.u.s3.ef;
    1933  result->sections[i].info.freqOffset = ((int32_t)rte_be_to_cpu_32(section->freqOffset))>>8;
    1934 
    1935  if(section->reserved) {
    1936  print_err("Invalid packet 3 - section[%d:%d]", i, section->reserved);
    1938  }
    1939 
    1940  section = (void *)rte_pktmbuf_adj(mbuf, sizeof(struct xran_cp_radioapp_section3));
    1941  if(section == NULL) {
    1942  print_err("Invalid packet 3 - number of section [%d:%d]!",
    1943  result->numSections, i);
    1944  result->numSections = i;
    1946  break;
    1947  }
    1948 
    1949  if(result->sections[i].info.ef) {
    1950  // parse section extension
    1951  extlen = xran_parse_section_extension(mbuf, (void *)section, &result->sections[i]);
    1952  if(extlen > 0) {
    1953  section = (void *)rte_pktmbuf_adj(mbuf, extlen);
    1954  if(section == NULL) {
    1955  print_err("Invalid packet 3 - section extension [%d]!", i);
    1957  break;
    1958  }
    1959  }
    1960  }
    1961  else extlen = 0;
    1962  }
    1963  }
    1964  break;
    1965 
    1966  case XRAN_CP_SECTIONTYPE_5: // UE scheduling information, not supported
    1967  case XRAN_CP_SECTIONTYPE_6: // Channel Information, not supported
    1968  case XRAN_CP_SECTIONTYPE_7: // LAA, not supported
    1969  default:
    1971  print_err("Non-supported Section Type - %d", apphdr->sectionType);
    1972  }
    1973 
    1974 #if 0
    1975  printf("[CP-%s] [%3d:%2d:%2d] section%d[%d] startSym=%d filterIdx=%X IQwidth=%d CompMeth=%d\n",
    1976  result->dir?"DL":"UL",
    1977  result->hdr.frameId, result->hdr.subframeId, result->hdr.slotId,
    1978  result->sectionType, result->numSections,
    1979  result->hdr.startSymId,
    1980  result->hdr.filterIdx,
    1981  result->hdr.iqWidth, result->hdr.compMeth);
    1982 
    1983  for(i=0; i<result->numSections; i++) {
    1984  printf(" || %3d:%04X| rb=%d symInc=%d numSym=%d startPrbc=%02d numPrbc=%d reMask=%03X beamId=%04X freqOffset=%d ef=%d\n",
    1985  i, result->sections[i].info.id,
    1986  result->sections[i].info.rb,
    1987  result->sections[i].info.symInc, result->sections[i].info.numSymbol,
    1988  result->sections[i].info.startPrbc, result->sections[i].info.numPrbc,
    1989  result->sections[i].info.reMask,
    1990  result->sections[i].info.beamId,
    1991  result->sections[i].info.freqOffset,
    1992  result->sections[i].info.ef);
    1993 
    1994  if(result->sections[i].info.ef) {
    1995  for(int j=0; j<result->sections[i].exDataSize; j++) {
    1996  printf(" || %2d : type=%d len=%d\n",
    1997  j, result->sections[i].exData[j].type, result->sections[i].exData[j].len);
    1998  switch(result->sections[i].exData[j].type) {
    2000  {
    2001  struct xran_sectionext1_info *ext1;
    2002  ext1 = result->sections[i].exData[j].data;
    2003  printf(" || bfwNumber=%d bfwiqWidth=%d bfwCompMeth=%d\n",
    2004  ext1->bfwNumber, ext1->bfwiqWidth, ext1->bfwCompMeth);
    2005  }
    2006  break;
    2008  {
    2009  struct xran_sectionext2_info *ext2;
    2010  ext2 = result->sections[i].exData[j].data;
    2011  printf(" || AzPt=%02x(%d) ZePt=%02x(%d) Az3dd=%02x(%d) Ze3dd=%02x(%d) AzSI=%02x ZeSI=%02x\n",
    2012  ext2->bfAzPt, ext2->bfAzPtWidth,
    2013  ext2->bfZePt, ext2->bfZePtWidth,
    2014  ext2->bfAz3dd, ext2->bfAz3ddWidth,
    2015  ext2->bfZe3dd, ext2->bfZe3ddWidth,
    2016  ext2->bfAzSI, ext2->bfZeSI);
    2017  }
    2018  break;
    2020  {
    2021  struct xran_sectionext4_info *ext4;
    2022  ext4 = result->sections[i].exData[j].data;
    2023  printf(" || csf=%d modCompScaler=%d\n",
    2024  ext4->csf, ext4->modCompScaler);
    2025  }
    2026  break;
    2028  {
    2029  struct xran_sectionext5_info *ext5;
    2030  ext5 = result->sections[i].exData[j].data;
    2031  printf(" || num_sets=%d\n", ext5->num_sets);
    2032  for(int k=0; k<ext5->num_sets; k++) {
    2033  printf(" || %d - csf=%d mcScaleReMask=%04x mcScaleOffset=%04x\n",
    2034  k, ext5->mc[k].csf,
    2035  ext5->mc[k].mcScaleReMask, ext5->mc[k].mcScaleOffset);
    2036  }
    2037  }
    2038  break;
    2039 
    2042  default:
    2043  printf("Invalid section extension type!\n");
    2044  }
    2045  }
    2046  }
    2047  }
    2048 #endif
    2049 
    2050  return(ret);
    2051 }
    2052 
    + + + + + +
    struct xran_section_info * xran_cp_find_section_info(void *pHandle, uint8_t dir, uint8_t cc_id, uint8_t ruport_id, uint8_t ctx_id, uint16_t section_id)
    Find a section information of C-Plane from dabase by given information.
    Definition: xran_cp_api.c:242
    + + + +
    #define XRAN_MAX_ANT_ARRAY_ELM_NR
    Definition: xran_fh_o_du.h:118
    + + + + +
    int xran_cp_init_sectiondb(void *pHandle)
    Initialize section database. Allocate required memory space to store section information. Each eAxC allocates dedicated storage and the entry size is the maximum number of sections. Total entry size : number of CC * number of antenna * max number of sections * 2(direction)
    Definition: xran_cp_api.c:66
    + +
    #define XRAN_STATUS_SUCCESS
    Definition: xran_fh_o_du.h:54
    +
    #define XRAN_PAYLOAD_VER
    Definition: xran_pkt.h:62
    + +
    struct xran_cp_radioapp_section_header::@8::@9 s0
    +
    struct xran_sectionext4_info m_ext4[XRAN_MAX_NUM_EXTENSIONS]
    Definition: xran_cp_api.h:308
    +
    #define print_dbg(fmt, args...)
    Definition: xran_printf.h:54
    +
    #define XRAN_EF_F_ANOTHER_ONE
    Definition: xran_cp_api.h:142
    + + +
    int xran_parse_section_ext2(void *ext, struct xran_sectionext2_info *extinfo)
    Definition: xran_cp_api.c:1497
    + +
    end write files for IQ samples for ant
    Definition: gen_test.m:166
    +
    uint8_t activeBeamspaceCoeffMask[XRAN_MAX_BFW_N]
    Definition: xran_cp_api.h:220
    + + + + + + +
    int xran_cp_add_multisection_info(void *pHandle, uint8_t cc_id, uint8_t ruport_id, uint8_t ctx_id, struct xran_cp_gen_params *gen_info)
    Definition: xran_cp_api.c:187
    + + + +
    int32_t xran_get_freqoffset(int32_t freqOffset, int32_t scs)
    Definition: xran_cp_api.c:550
    + +
    int xran_build_ecpri_hdr(struct rte_mbuf *mbuf, uint8_t CC_ID, uint8_t Ant_ID, uint8_t seq_id, struct xran_ecpri_hdr **ecpri_hdr)
    Build ECPRI header and returns added length.
    + + +
    uint8_t bandSectorId
    +
    struct xran_sectionext5_info::@1 mc[XRAN_MAX_MODCOMP_ADDPARMS]
    +
    #define XRAN_STATUS_FAIL
    Definition: xran_fh_o_du.h:58
    + +
    #define XRAN_SLOTID_MAX
    Definition: xran_cp_api.h:75
    + +
    int xran_cp_add_section_info(void *pHandle, uint8_t dir, uint8_t cc_id, uint8_t ruport_id, uint8_t ctx_id, struct xran_section_info *info)
    Add a section information of C-Plane to dabase.
    Definition: xran_cp_api.c:160
    + + + + + + +
    struct xran_section_info info
    Definition: xran_cp_api.h:296
    + + +
    struct xran_section_info * xran_cp_iterate_section_info(void *pHandle, uint8_t dir, uint8_t cc_id, uint8_t ruport_id, uint8_t ctx_id, uint32_t *next)
    Iterate each section information of C-Plane from the database of eAxC by given information.
    Definition: xran_cp_api.c:291
    + + +
    External API for compading with the use BFP algorithm.
    +
    uint8_t bfwCompMeth
    Definition: xran_pkt_cp.h:220
    + + + +
    #define XRAN_CONVERT_NUMPRBC(x)
    Definition: xran_cp_api.h:118
    + + + +
    #define XRAN_MAX_SECTIONDB_CTX
    Definition: xran_cp_api.h:40
    + +
    #define XRAN_MAX_ANTENNA_NR
    Definition: xran_fh_o_du.h:111
    + +
    int xran_parse_section_ext4(void *ext, struct xran_sectionext4_info *extinfo)
    Definition: xran_cp_api.c:1579
    + + + + + + +
    struct xran_cp_radioapp_section_header::@8::@10 s1
    + + + + + + + +
    #define XRAN_EF_F_LAST
    Definition: xran_cp_api.h:141
    + + + + + +
    struct xran_sectionext2_info m_ext2[XRAN_MAX_NUM_EXTENSIONS]
    Definition: xran_cp_api.h:306
    + +
    struct xran_cp_radioapp_frameStructure frameStructure
    Definition: xran_pkt_cp.h:341
    +
    union xran_cp_radioapp_section_header::@8 u
    + +
    struct xran_sectionext1_info m_ext1[XRAN_MAX_NUM_EXTENSIONS]
    Definition: xran_cp_api.h:305
    + + + +
    #define print_err(fmt, args...)
    Definition: xran_printf.h:62
    + +
    uint16_t startPrbc
    Definition: xran_cp_api.h:193
    + +
    int xran_parse_ecpri_hdr(struct rte_mbuf *mbuf, struct xran_ecpri_hdr **ecpri_hdr, struct xran_recv_packet_info *pkt_info)
    Parse ECPRI header.
    + +
    #define XRAN_SECTIONEXT_ALIGN
    Definition: xran_cp_api.h:50
    + + + +
    struct xran_cp_radioapp_frameStructure frameStructure
    Definition: xran_pkt_cp.h:392
    + +
    int xranlib_compress_avx512_bfw(const struct xranlib_compress_request *request, struct xranlib_compress_response *response)
    + + +
    struct xran_section_info list[XRAN_MAX_NUM_SECTIONS]
    Definition: xran_cp_api.c:43
    + +
    int32_t xran_cp_getsize_section_info(void *pHandle, uint8_t dir, uint8_t cc_id, uint8_t ruport_id, uint8_t ctx_id)
    Get the size of stored entries for the database of eAxC by given information.
    Definition: xran_cp_api.c:334
    + +
    Request structure containing pointer to data and its length.
    + +
    int xran_parse_cp_pkt(struct rte_mbuf *mbuf, struct xran_cp_gen_params *result, struct xran_recv_packet_info *pkt_info)
    Parse a C-Plane packet (for RU emulation) Transport layer fragmentation is not supported.
    Definition: xran_cp_api.c:1749
    +
    struct xran_cp_radioapp_section_header hdr
    Definition: xran_pkt_cp.h:376
    +
    uint16_t xran_get_cplength(int CP_length)
    Definition: xran_cp_api.c:542
    + + +
    int xran_append_control_section(struct rte_mbuf *mbuf, struct xran_cp_gen_params *params)
    add sections to C-Plane packet Section type 1 and 3 are supported.
    Definition: xran_cp_api.c:1169
    + + + +
    uint8_t xran_get_conf_num_bfweights(void *pHandle)
    Get the configuration of the total number of beamforming weights on RU.
    Definition: xran_main.c:2965
    +
    int xran_parse_section_ext5(void *ext, struct xran_sectionext5_info *extinfo)
    Definition: xran_cp_api.c:1606
    + + +
    int xran_append_section_extensions(struct rte_mbuf *mbuf, struct xran_section_gen_info *params)
    add section extension to C-Plane packet
    Definition: xran_cp_api.c:907
    +
    int xran_cp_reset_section_info(void *pHandle, uint8_t dir, uint8_t cc_id, uint8_t ruport_id, uint8_t ctx_id)
    Reset a database of eAxC by given information.
    Definition: xran_cp_api.c:366
    + + + + + + +
    struct xran_cp_header_params hdr
    Definition: xran_cp_api.h:320
    +
    uint32_t freqOffset
    Definition: xran_pkt_cp.h:215
    + + + + + + + + + + +
    Modules provide debug prints and utility functions.
    +
    struct xran_radioapp_udComp_header udComp
    Definition: xran_pkt_cp.h:365
    + +
    struct xran_ecpri_cmn_hdr cmnhdr
    Definition: xran_pkt.h:132
    + +
    struct xran_radioapp_udComp_header udComp
    Definition: xran_pkt_cp.h:394
    + + + +
    #define XRAN_MAX_NUM_EXTENSIONS
    Definition: xran_cp_api.h:42
    +
    XRAN layer common functionality for both lls-CU and RU as well as C-plane and U-plane.
    +
    #define XRAN_COMPONENT_CARRIERS_MAX
    Definition: xran_fh_o_du.h:126
    + + +
    #define XRAN_MAX_NUM_SECTIONS
    Definition: xran_common.h:64
    + +
    struct xran_cp_radioapp_section_header hdr
    Definition: xran_pkt_cp.h:404
    +
    union xran_sectionext1_info::@0 bfwCompParam
    + + + + +
    Response structure containing pointer to data and its length.
    +
    int xran_parse_section_extension(struct rte_mbuf *mbuf, void *ext, struct xran_section_gen_info *section)
    Definition: xran_cp_api.c:1668
    +
    struct xran_cp_radioapp_section_header hdr
    Definition: xran_pkt_cp.h:214
    + +
    int xran_append_radioapp_header(struct rte_mbuf *mbuf, struct xran_cp_gen_params *params)
    add a radio application header in a C-Plane packet
    Definition: xran_cp_api.c:1297
    + +
    int xran_parse_section_ext1(void *ext, struct xran_sectionext1_info *extinfo)
    Definition: xran_cp_api.c:1416
    + + +
    #define XRAN_STATUS_INVALID_PARAM
    Definition: xran_fh_o_du.h:75
    + + + + + +
    #define XRAN_CONVERT_BFWIQWIDTH(x)
    Definition: xran_cp_api.h:158
    + + + + +
    int xran_dump_sectiondb(void)
    Definition: xran_cp_api.c:381
    + + +
    int xran_cp_free_sectiondb(void *pHandle)
    Release and free section database.
    Definition: xran_cp_api.c:89
    +
    #define XRAN_MAX_MODCOMP_ADDPARMS
    Definition: xran_cp_api.h:48
    + +
    #define XRAN_SYMBOLNUMBER_MAX
    Definition: xran_cp_api.h:125
    +
    struct xran_section_gen_info * sections
    Definition: xran_cp_api.h:322
    + +
    uint16_t numSections
    Definition: xran_cp_api.h:318
    + +
    struct xran_section_gen_info::@2 exData[XRAN_MAX_NUM_EXTENSIONS]
    +
    struct xran_sectionext5_info m_ext5[XRAN_MAX_NUM_EXTENSIONS]
    Definition: xran_cp_api.h:309
    + + + +
    int xran_prepare_ctrl_pkt(struct rte_mbuf *mbuf, struct xran_cp_gen_params *params, uint8_t CC_ID, uint8_t Ant_ID, uint8_t seq_id)
    Create a C-Plane packet Transport layer fragmentation is not supported.
    Definition: xran_cp_api.c:1381
    + +
    struct xran_cp_radioapp_section_header::@8::@11 s3
    + + + + + + + + +
    struct xran_cp_radioapp_section_header hdr
    Definition: xran_pkt_cp.h:354
    + + + +
    #define XRAN_STATUS_RESOURCE
    Definition: xran_fh_o_du.h:68
    + +
    This file provides the definitions for Control Plane Messages APIs.
    +
    #define XRAN_STATUS_INVALID_PACKET
    Definition: xran_fh_o_du.h:92
    + + + + + +
    uint16_t ecpri_payl_size
    Definition: xran_pkt.h:119
    + +
    struct xran_eaxc_info eaxc
    + +
    This file provides the definitions for Transport layer (eCPRI) API.
    + + +
    int32_t xran_cp_populate_section_ext_1(int8_t *p_ext1_dst, uint16_t ext1_dst_len, int16_t *p_bfw_iq_src, uint16_t rbNum, uint16_t bfwNumPerRb, uint8_t bfwiqWidth, uint8_t bfwCompMeth)
    Definition: xran_cp_api.c:387
    +
    + + + + diff --git a/docs/API/xran__cp__api_8h.html b/docs/API/xran__cp__api_8h.html new file mode 100644 index 0000000..39bf604 --- /dev/null +++ b/docs/API/xran__cp__api_8h.html @@ -0,0 +1,1832 @@ + + + + + + + +o-du/phy: xran_cp_api.h File Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    xran_cp_api.h File Reference
    +
    +
    + +

    This file provides the definitions for Control Plane Messages APIs. +More...

    +
    #include "xran_fh_o_du.h"
    +#include "xran_pkt_cp.h"
    +#include "xran_transport.h"
    +
    +Include dependency graph for xran_cp_api.h:
    +
    +
    + + + + + + +
    +
    +This graph shows which files directly or indirectly include this file:
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + +
    +
    +

    Go to the source code of this file.

    + + + + + + + + + + + + + + + + + + + + + + + + +

    +Data Structures

    struct  xran_section_info
     
    struct  xran_sectionext1_info
     
    struct  xran_sectionext2_info
     
    struct  xran_sectionext3_info
     
    struct  xran_sectionext4_info
     
    struct  xran_sectionext5_info
     
    struct  xran_sectionext_info
     
    struct  xran_cp_header_params
     
    struct  xran_section_gen_info
     
    struct  xran_cp_gen_params
     
    struct  xran_cp_rbmap_list
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Macros

    #define XRAN_MAX_SECTIONDB_CTX   2
     
    #define XRAN_MAX_NUM_EXTENSIONS   XRAN_MAX_PRBS /* Maximum number of extensions in a section [up to 1 ext section per RB]*/
     
    #define XRAN_MAX_NUM_UE   16 /* Maximum number of UEs/Lyaers */
     
    #define XRAN_MAX_NUM_ANT_BF
     
    #define XRAN_MAX_BFW_N   (XRAN_MAX_NUM_ANT_BF*XRAN_MAX_NUM_UE)
     
    #define XRAN_MAX_MODCOMP_ADDPARMS   6 /* max should be even number */
     
    #define XRAN_SECTIONEXT_ALIGN   4 /* alignment size in byte for section extension */
     
    #define XRAN_SLOTID_MAX   16
     
    #define XRAN_CONVERT_NUMPRBC(x)   ((x) > 255 ? 0 : (x))
     
    #define XRAN_CONVERT_IQWIDTH(x)   ((x) > 15 ? 0 : (x))
     
    #define XRAN_SYMBOLNUMBER_MIN   1
     
    #define XRAN_SYMBOLNUMBER_MAX   14
     
    #define XRAN_LAAMSGTYPE_LBT_PDSCH_REQ   0
     
    #define XRAN_LAAMSGTYPE_LBT_DRS_REQ   1
     
    #define XRAN_LAAMSGTYPE_LBT_PDSCH_RSP   2
     
    #define XRAN_LAAMSGTYPE_LBT_DRS_RSP   3
     
    #define XRAN_LAAMSGTYPE_LBT_BUFFER_ERROR   4
     
    #define XRAN_LAAMSGTYPE_LBT_CWCONFIG_REQ   5
     
    #define XRAN_LAAMSGTYPE_LBT_CWCONFIG_RSP   6
     
    #define XRAN_LBTMODE_FULL   0
     
    #define XRAN_LBTMODE_PARTIAL25   1
     
    #define XRAN_LBTMODE_PARTIAL34   2
     
    #define XRAN_LBTMODE_FULLSTOP   3
     
    #define XRAN_EF_F_LAST   0
     
    #define XRAN_EF_F_ANOTHER_ONE   1
     
    #define XRAN_CONVERT_BFWIQWIDTH(x)   ((x) > 15 ? 0 : (x))
     
    + + + + + + + + + + + + + + + + + + + +

    +Enumerations

    enum  xran_cp_sectiontype {
    +  XRAN_CP_SECTIONTYPE_0 = 0, +XRAN_CP_SECTIONTYPE_1 = 1, +XRAN_CP_SECTIONTYPE_3 = 3, +XRAN_CP_SECTIONTYPE_5 = 5, +
    +  XRAN_CP_SECTIONTYPE_6 = 6, +XRAN_CP_SECTIONTYPE_7 = 7, +XRAN_CP_SECTIONTYPE_MAX +
    + }
     
    enum  xran_cp_filterindex {
    +  XRAN_FILTERINDEX_STANDARD = 0, +XRAN_FILTERINDEX_PRACH_012 = 1, +XRAN_FILTERINDEX_PRACH_3 = 2, +XRAN_FILTERINDEX_PRACH_ABC = 3, +
    +  XRAN_FILTERINDEX_NPRACH = 4, +XRAN_FILTERINDEX_MAX +
    + }
     
    enum  xran_cp_fftsize {
    +  XRAN_FFTSIZE_128 = 7, +XRAN_FFTSIZE_256 = 8, +XRAN_FFTSIZE_512 = 9, +XRAN_FFTSIZE_1024 = 10, +
    +  XRAN_FFTSIZE_2048 = 11, +XRAN_FFTSIZE_4096 = 12, +XRAN_FFTSIZE_1536 = 13, +XRAN_FFTSIZE_MAX +
    + }
     
    enum  xran_cp_subcarrierspacing {
    +  XRAN_SCS_15KHZ = 0, +XRAN_SCS_30KHZ = 1, +XRAN_SCS_60KHZ = 2, +XRAN_SCS_120KHZ = 3, +
    +  XRAN_SCS_240KHZ = 4, +XRAN_SCS_1P25KHZ = 12, +XRAN_SCS_3P75KHZ = 13, +XRAN_SCS_5KHZ = 14, +
    +  XRAN_SCS_7P5KHZ = 15, +XRAN_SCS_MAX +
    + }
     
    enum  xran_cp_rbindicator { XRAN_RBIND_EVERY = 0, +XRAN_RBIND_EVERYOTHER = 1, +XRAN_RBIND_MAX + }
     
    enum  xran_cp_symbolnuminc { XRAN_SYMBOLNUMBER_NOTINC = 0, +XRAN_SYMBOLNUMBER_INC = 1, +XRAN_SYMBOLNUMBER_INC_MAX + }
     
    enum  xran_cp_sectionextcmd {
    +  XRAN_CP_SECTIONEXTCMD_0 = 0, +XRAN_CP_SECTIONEXTCMD_1 = 1, +XRAN_CP_SECTIONEXTCMD_2 = 2, +XRAN_CP_SECTIONEXTCMD_3 = 3, +
    +  XRAN_CP_SECTIONEXTCMD_4 = 4, +XRAN_CP_SECTIONEXTCMD_5 = 5, +XRAN_CP_SECTIONEXTCMD_MAX +
    + }
     
    enum  xran_cp_bfw_compression_method {
    +  XRAN_BFWCOMPMETHOD_NONE = 0, +XRAN_BFWCOMPMETHOD_BLKFLOAT = 1, +XRAN_BFWCOMPMETHOD_BLKSCALE = 2, +XRAN_BFWCOMPMETHOD_ULAW = 3, +
    +  XRAN_BFWCOMPMETHOD_BEAMSPACE = 4, +XRAN_BFWCOMPMETHOD_MAX +
    + }
     
    enum  xran_cp_bfa_bitwidth {
    +  XRAN_BFABITWIDTH_NO = 0, +XRAN_BFABITWIDTH_2BIT = 1, +XRAN_BFABITWIDTH_3BIT = 2, +XRAN_BFABITWIDTH_4BIT = 3, +
    +  XRAN_BFABITWIDTH_5BIT = 4, +XRAN_BFABITWIDTH_6BIT = 5, +XRAN_BFABITWIDTH_7BIT = 6, +XRAN_BFABITWIDTH_8BIT = 7 +
    + }
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Functions

    uint16_t xran_get_cplength (int cpLength)
     
    int32_t xran_get_freqoffset (int freqOffset, int scs)
     
    int xran_prepare_ctrl_pkt (struct rte_mbuf *mbuf, struct xran_cp_gen_params *params, uint8_t CC_ID, uint8_t Ant_ID, uint8_t seq_id)
     Create a C-Plane packet Transport layer fragmentation is not supported. More...
     
    int xran_parse_cp_pkt (struct rte_mbuf *mbuf, struct xran_cp_gen_params *result, struct xran_recv_packet_info *pkt_info)
     Parse a C-Plane packet (for RU emulation) Transport layer fragmentation is not supported. More...
     
    int xran_cp_init_sectiondb (void *pHandle)
     Initialize section database. Allocate required memory space to store section information. Each eAxC allocates dedicated storage and the entry size is the maximum number of sections. Total entry size : number of CC * number of antenna * max number of sections * 2(direction) More...
     
    int xran_cp_free_sectiondb (void *pHandle)
     Release and free section database. More...
     
    int xran_cp_add_section_info (void *pHandle, uint8_t dir, uint8_t cc_id, uint8_t ruport_id, uint8_t ctx_id, struct xran_section_info *info)
     Add a section information of C-Plane to dabase. More...
     
    int xran_cp_add_multisection_info (void *pHandle, uint8_t cc_id, uint8_t ruport_id, uint8_t ctx_id, struct xran_cp_gen_params *gen_info)
     
    struct xran_section_infoxran_cp_find_section_info (void *pHandle, uint8_t dir, uint8_t cc_id, uint8_t ruport_id, uint8_t ctx_id, uint16_t section_id)
     Find a section information of C-Plane from dabase by given information. More...
     
    struct xran_section_infoxran_cp_iterate_section_info (void *pHandle, uint8_t dir, uint8_t cc_id, uint8_t ruport_id, uint8_t ctx_id, uint32_t *next)
     Iterate each section information of C-Plane from the database of eAxC by given information. More...
     
    int xran_cp_getsize_section_info (void *pHandle, uint8_t dir, uint8_t cc_id, uint8_t ruport_id, uint8_t ctx_id)
     Get the size of stored entries for the database of eAxC by given information. More...
     
    int xran_cp_reset_section_info (void *pHandle, uint8_t dir, uint8_t cc_id, uint8_t ruport_id, uint8_t ctx_id)
     Reset a database of eAxC by given information. More...
     
    int32_t xran_cp_populate_section_ext_1 (int8_t *p_ext1_dst, uint16_t ext1_dst_len, int16_t *p_bfw_iq_src, uint16_t rbNumber, uint16_t bfwNumber, uint8_t bfwiqWidth, uint8_t bfwCompMeth)
     
    +

    Detailed Description

    +

    This file provides the definitions for Control Plane Messages APIs.

    +
    Author
    Intel Corporation
    + +

    Definition in file xran_cp_api.h.

    +

    Macro Definition Documentation

    + +

    ◆ XRAN_CONVERT_BFWIQWIDTH

    + +
    +
    + + + + + + + + +
    #define XRAN_CONVERT_BFWIQWIDTH( x)   ((x) > 15 ? 0 : (x))
    +
    +

    Macro to convert bfwIqWidth defined in 5.4.7.1.1, Table 5-15

    + +

    Definition at line 158 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ XRAN_CONVERT_IQWIDTH

    + +
    +
    + + + + + + + + +
    #define XRAN_CONVERT_IQWIDTH( x)   ((x) > 15 ? 0 : (x))
    +
    + +

    Definition at line 120 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ XRAN_CONVERT_NUMPRBC

    + +
    +
    + + + + + + + + +
    #define XRAN_CONVERT_NUMPRBC( x)   ((x) > 255 ? 0 : (x))
    +
    +

    Macro to convert the number of PRBs as defined in 5.4.5.6

    + +

    Definition at line 118 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ XRAN_EF_F_ANOTHER_ONE

    + +
    +
    + + + + +
    #define XRAN_EF_F_ANOTHER_ONE   1
    +
    + +

    Definition at line 142 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ XRAN_EF_F_LAST

    + +
    +
    + + + + +
    #define XRAN_EF_F_LAST   0
    +
    + +

    Definition at line 141 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ XRAN_LAAMSGTYPE_LBT_BUFFER_ERROR

    + +
    +
    + + + + +
    #define XRAN_LAAMSGTYPE_LBT_BUFFER_ERROR   4
    +
    + +

    Definition at line 132 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ XRAN_LAAMSGTYPE_LBT_CWCONFIG_REQ

    + +
    +
    + + + + +
    #define XRAN_LAAMSGTYPE_LBT_CWCONFIG_REQ   5
    +
    + +

    Definition at line 133 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ XRAN_LAAMSGTYPE_LBT_CWCONFIG_RSP

    + +
    +
    + + + + +
    #define XRAN_LAAMSGTYPE_LBT_CWCONFIG_RSP   6
    +
    + +

    Definition at line 134 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ XRAN_LAAMSGTYPE_LBT_DRS_REQ

    + +
    +
    + + + + +
    #define XRAN_LAAMSGTYPE_LBT_DRS_REQ   1
    +
    + +

    Definition at line 129 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ XRAN_LAAMSGTYPE_LBT_DRS_RSP

    + +
    +
    + + + + +
    #define XRAN_LAAMSGTYPE_LBT_DRS_RSP   3
    +
    + +

    Definition at line 131 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ XRAN_LAAMSGTYPE_LBT_PDSCH_REQ

    + +
    +
    + + + + +
    #define XRAN_LAAMSGTYPE_LBT_PDSCH_REQ   0
    +
    + +

    Definition at line 128 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ XRAN_LAAMSGTYPE_LBT_PDSCH_RSP

    + +
    +
    + + + + +
    #define XRAN_LAAMSGTYPE_LBT_PDSCH_RSP   2
    +
    + +

    Definition at line 130 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ XRAN_LBTMODE_FULL

    + +
    +
    + + + + +
    #define XRAN_LBTMODE_FULL   0
    +
    + +

    Definition at line 136 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ XRAN_LBTMODE_FULLSTOP

    + +
    +
    + + + + +
    #define XRAN_LBTMODE_FULLSTOP   3
    +
    + +

    Definition at line 139 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ XRAN_LBTMODE_PARTIAL25

    + +
    +
    + + + + +
    #define XRAN_LBTMODE_PARTIAL25   1
    +
    + +

    Definition at line 137 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ XRAN_LBTMODE_PARTIAL34

    + +
    +
    + + + + +
    #define XRAN_LBTMODE_PARTIAL34   2
    +
    + +

    Definition at line 138 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ XRAN_MAX_BFW_N

    + +
    +
    + + + + +
    #define XRAN_MAX_BFW_N   (XRAN_MAX_NUM_ANT_BF*XRAN_MAX_NUM_UE)
    +
    + +

    Definition at line 47 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ XRAN_MAX_MODCOMP_ADDPARMS

    + +
    +
    + + + + +
    #define XRAN_MAX_MODCOMP_ADDPARMS   6 /* max should be even number */
    +
    + +

    Definition at line 48 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ XRAN_MAX_NUM_ANT_BF

    + +
    +
    + + + + +
    #define XRAN_MAX_NUM_ANT_BF
    +
    +Value:
    64 /* Maximum number of beamforming antenna,
    * could be defined as XRAN_MAX_ANTENNA_NR */
    +

    Definition at line 44 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ XRAN_MAX_NUM_EXTENSIONS

    + +
    +
    + + + + +
    #define XRAN_MAX_NUM_EXTENSIONS   XRAN_MAX_PRBS /* Maximum number of extensions in a section [up to 1 ext section per RB]*/
    +
    + +

    Definition at line 42 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ XRAN_MAX_NUM_UE

    + +
    +
    + + + + +
    #define XRAN_MAX_NUM_UE   16 /* Maximum number of UEs/Lyaers */
    +
    + +

    Definition at line 43 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ XRAN_MAX_SECTIONDB_CTX

    + +
    +
    + + + + +
    #define XRAN_MAX_SECTIONDB_CTX   2
    +
    + +

    Definition at line 40 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ XRAN_SECTIONEXT_ALIGN

    + +
    +
    + + + + +
    #define XRAN_SECTIONEXT_ALIGN   4 /* alignment size in byte for section extension */
    +
    + +

    Definition at line 50 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ XRAN_SLOTID_MAX

    + +
    +
    + + + + +
    #define XRAN_SLOTID_MAX   16
    +
    +

    Maximum Slot Index, defined in 5.4.4.6

    + +

    Definition at line 75 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ XRAN_SYMBOLNUMBER_MAX

    + +
    +
    + + + + +
    #define XRAN_SYMBOLNUMBER_MAX   14
    +
    +

    Maximum number of symbols, defined in 5.4.5.7

    + +

    Definition at line 125 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ XRAN_SYMBOLNUMBER_MIN

    + +
    +
    + + + + +
    #define XRAN_SYMBOLNUMBER_MIN   1
    +
    +

    Minimum number of symbols, defined in 5.4.5.7

    + +

    Definition at line 123 of file xran_cp_api.h.

    + +
    +
    +

    Enumeration Type Documentation

    + +

    ◆ xran_cp_bfa_bitwidth

    + +
    +
    + + + + +
    enum xran_cp_bfa_bitwidth
    +
    +

    Beamforming Attributes Bitwidth 5.4.7.2.1

    + + + + + + + + + +
    Enumerator
    XRAN_BFABITWIDTH_NO 

    the filed is no applicable or the default value shall be used

    +
    XRAN_BFABITWIDTH_2BIT 

    the filed is 2-bit bitwidth

    +
    XRAN_BFABITWIDTH_3BIT 

    the filed is 3-bit bitwidth

    +
    XRAN_BFABITWIDTH_4BIT 

    the filed is 4-bit bitwidth

    +
    XRAN_BFABITWIDTH_5BIT 

    the filed is 5-bit bitwidth

    +
    XRAN_BFABITWIDTH_6BIT 

    the filed is 6-bit bitwidth

    +
    XRAN_BFABITWIDTH_7BIT 

    the filed is 7-bit bitwidth

    +
    XRAN_BFABITWIDTH_8BIT 

    the filed is 8-bit bitwidth

    +
    + +

    Definition at line 171 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ xran_cp_bfw_compression_method

    + +
    +
    +

    Beamforming Weights Compression Method 5.4.7.1.1, Table 5-16

    + + + + + + + +
    Enumerator
    XRAN_BFWCOMPMETHOD_NONE 

    Uncopressed I/Q value

    +
    XRAN_BFWCOMPMETHOD_BLKFLOAT 

    I/Q mantissa value

    +
    XRAN_BFWCOMPMETHOD_BLKSCALE 

    I/Q scaled value

    +
    XRAN_BFWCOMPMETHOD_ULAW 

    compressed I/Q value

    +
    XRAN_BFWCOMPMETHOD_BEAMSPACE 

    beamspace I/Q coefficient

    +
    XRAN_BFWCOMPMETHOD_MAX 
    + +

    Definition at line 161 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ xran_cp_fftsize

    + +
    +
    + + + + +
    enum xran_cp_fftsize
    +
    +

    FFT size in frame structure, defined in 5.4.4.13 Table 5.9

    + + + + + + + + + +
    Enumerator
    XRAN_FFTSIZE_128 
    XRAN_FFTSIZE_256 
    XRAN_FFTSIZE_512 
    XRAN_FFTSIZE_1024 
    XRAN_FFTSIZE_2048 
    XRAN_FFTSIZE_4096 
    XRAN_FFTSIZE_1536 
    XRAN_FFTSIZE_MAX 
    + +

    Definition at line 78 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ xran_cp_filterindex

    + +
    +
    + + + + +
    enum xran_cp_filterindex
    +
    +

    Filter index, defined in 5.4.4.3

    + + + + + + + +
    Enumerator
    XRAN_FILTERINDEX_STANDARD 

    UL filter for standard channel

    +
    XRAN_FILTERINDEX_PRACH_012 

    UL filter for PRACH preamble format 0, 1, 2

    +
    XRAN_FILTERINDEX_PRACH_3 

    UL filter for PRACH preamble format 3

    +
    XRAN_FILTERINDEX_PRACH_ABC 

    UL filter for PRACH preamble format A1~3, B1~4, C0, C2

    +
    XRAN_FILTERINDEX_NPRACH 

    UL filter for NPRACH

    +
    XRAN_FILTERINDEX_MAX 
    + +

    Definition at line 65 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ xran_cp_rbindicator

    + +
    +
    + + + + +
    enum xran_cp_rbindicator
    +
    +

    Resource block indicator, defined in 5.4.5.2

    + + + + +
    Enumerator
    XRAN_RBIND_EVERY 

    every RB used

    +
    XRAN_RBIND_EVERYOTHER 

    every other RB used

    +
    XRAN_RBIND_MAX 
    + +

    Definition at line 104 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ xran_cp_sectionextcmd

    + +
    +
    + + + + +
    enum xran_cp_sectionextcmd
    +
    +

    Control Plane section extension commands, defined in 5.4.6 Table 5.13

    + + + + + + + + +
    Enumerator
    XRAN_CP_SECTIONEXTCMD_0 

    Reserved, for future use

    +
    XRAN_CP_SECTIONEXTCMD_1 

    Beamforming weights

    +
    XRAN_CP_SECTIONEXTCMD_2 

    Beamforming attributes

    +
    XRAN_CP_SECTIONEXTCMD_3 

    DL Precoding configuration parameters and indications, not supported

    +
    XRAN_CP_SECTIONEXTCMD_4 

    Modulation compression parameter

    +
    XRAN_CP_SECTIONEXTCMD_5 

    Modulation compression additional scaling parameters

    +
    XRAN_CP_SECTIONEXTCMD_MAX 
    + +

    Definition at line 147 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ xran_cp_sectiontype

    + +
    +
    + + + + +
    enum xran_cp_sectiontype
    +
    +

    Control Plane section types, defined in 5.4 Table 5.1

    + + + + + + + + +
    Enumerator
    XRAN_CP_SECTIONTYPE_0 

    Unused RB or Symbols in DL or UL, not supported

    +
    XRAN_CP_SECTIONTYPE_1 

    Most DL/UL Radio Channels

    +
    XRAN_CP_SECTIONTYPE_3 

    PRACH and Mixed-numerology Channels

    +
    XRAN_CP_SECTIONTYPE_5 

    UE scheduling information, not supported

    +
    XRAN_CP_SECTIONTYPE_6 

    Channel Information, not supported

    +
    XRAN_CP_SECTIONTYPE_7 

    LAA, not supported

    +
    XRAN_CP_SECTIONTYPE_MAX 
    + +

    Definition at line 54 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ xran_cp_subcarrierspacing

    + +
    +
    + + + + +
    enum xran_cp_subcarrierspacing
    +
    +

    Sub-carrier spacing, defined in 5.4.4.13 Table 5.10

    + + + + + + + + + + + +
    Enumerator
    XRAN_SCS_15KHZ 
    XRAN_SCS_30KHZ 
    XRAN_SCS_60KHZ 
    XRAN_SCS_120KHZ 
    XRAN_SCS_240KHZ 
    XRAN_SCS_1P25KHZ 
    XRAN_SCS_3P75KHZ 
    XRAN_SCS_5KHZ 
    XRAN_SCS_7P5KHZ 
    XRAN_SCS_MAX 
    + +

    Definition at line 90 of file xran_cp_api.h.

    + +
    +
    + +

    ◆ xran_cp_symbolnuminc

    + +
    +
    + + + + +
    enum xran_cp_symbolnuminc
    +
    +

    Symbol number increment command, defined in 5.4.5.3

    + + + + +
    Enumerator
    XRAN_SYMBOLNUMBER_NOTINC 

    do not increment the current symbol number

    +
    XRAN_SYMBOLNUMBER_INC 

    increment the current symbol number and use that

    +
    XRAN_SYMBOLNUMBER_INC_MAX 
    + +

    Definition at line 111 of file xran_cp_api.h.

    + +
    +
    +

    Function Documentation

    + +

    ◆ xran_cp_add_multisection_info()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    int xran_cp_add_multisection_info (void * pHandle,
    uint8_t cc_id,
    uint8_t ruport_id,
    uint8_t ctx_id,
    struct xran_cp_gen_paramsgen_info 
    )
    +
    + +

    Definition at line 187 of file xran_cp_api.c.

    + +
    +
    + +

    ◆ xran_cp_add_section_info()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    int xran_cp_add_section_info (void * pHandle,
    uint8_t dir,
    uint8_t cc_id,
    uint8_t ruport_id,
    uint8_t ctx_id,
    struct xran_section_infoinfo 
    )
    +
    + +

    Add a section information of C-Plane to dabase.

    +
    Parameters
    + + + + + + + +
    pHandlehandle for xRAN interface, currently not being used
    dirDirection of C-Plane message for the section to store
    cc_idCC ID of C-Plane message for the section to store
    ruport_idRU port ID of C-Plane message for the section to store
    ctx_idContext index for the section database
    infoThe information of this section to store
    +
    +
    +
    Returns
    XRAN_STATUS_SUCCESS on success XRAN_STATUS_INVALID_PARAM, if direction, CC ID or RU port ID is incorrect XRAN_STATUS_RESOURCE, if no more space to add on database
    + +

    Definition at line 160 of file xran_cp_api.c.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + +
    + +
    +
    + +

    ◆ xran_cp_find_section_info()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    struct xran_section_info* xran_cp_find_section_info (void * pHandle,
    uint8_t dir,
    uint8_t cc_id,
    uint8_t ruport_id,
    uint8_t ctx_id,
    uint16_t section_id 
    )
    +
    + +

    Find a section information of C-Plane from dabase by given information.

    +
    Parameters
    + + + + + + + +
    pHandlehandle for xRAN interface, currently not being used
    dirThe direction of the section to find
    cc_idThe CC ID of the section to find
    ruport_idRU port ID of the section to find
    ctx_idContext index for the section database
    section_idThe ID of section to find
    +
    +
    +
    Returns
    The pointer of section information if matched section is found NULL if failed to find matched section
    + +

    Definition at line 242 of file xran_cp_api.c.

    + +
    +
    + +

    ◆ xran_cp_free_sectiondb()

    + +
    +
    + + + + + + + + +
    int xran_cp_free_sectiondb (void * pHandle)
    +
    + +

    Release and free section database.

    +
    Parameters
    + + +
    pHandlehandle for xRAN interface, currently not being used
    +
    +
    +
    Returns
    XRAN_STATUS_SUCCESS on success
    + +

    Definition at line 89 of file xran_cp_api.c.

    + +
    +
    + +

    ◆ xran_cp_getsize_section_info()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    int xran_cp_getsize_section_info (void * pHandle,
    uint8_t dir,
    uint8_t cc_id,
    uint8_t ruport_id,
    uint8_t ctx_id 
    )
    +
    + +

    Get the size of stored entries for the database of eAxC by given information.

    +
    Parameters
    + + + + + + +
    pHandlehandle for xRAN interface, currently not being used
    dirThe direction of the section to find
    cc_idThe CC ID of the section to find
    ruport_idRU port ID of the section to find
    ctx_idContext index for the section database
    +
    +
    +
    Returns
    The size of stored entries -1 if failed to find matched database
    + +

    Definition at line 334 of file xran_cp_api.c.

    + +
    +
    + +

    ◆ xran_cp_init_sectiondb()

    + +
    +
    + + + + + + + + +
    int xran_cp_init_sectiondb (void * pHandle)
    +
    + +

    Initialize section database. Allocate required memory space to store section information. Each eAxC allocates dedicated storage and the entry size is the maximum number of sections. Total entry size : number of CC * number of antenna * max number of sections * 2(direction)

    +
    Parameters
    + + +
    pHandlehandle for xRAN interface, currently not being used
    +
    +
    +
    Returns
    XRAN_STATUS_SUCCESS on success XRAN_STATUS_RESOURCE, if memory is not enough to allocate database area
    + +

    Definition at line 66 of file xran_cp_api.c.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + + + +
    + +
    +
    + +

    ◆ xran_cp_iterate_section_info()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    struct xran_section_info* xran_cp_iterate_section_info (void * pHandle,
    uint8_t dir,
    uint8_t cc_id,
    uint8_t ruport_id,
    uint8_t ctx_id,
    uint32_t * next 
    )
    +
    + +

    Iterate each section information of C-Plane from the database of eAxC by given information.

    +
    Parameters
    + + + + + + + +
    pHandlehandle for xRAN interface, currently not being used
    dirThe direction of the section to find
    cc_idThe CC ID of the section to find
    ruport_idRU port ID of the section to find
    ctx_idContext index for the section database
    nextThe pointer to store the position of next entry
    +
    +
    +
    Returns
    The pointer of section information in the list NULL if reached at the end of the list
    + +

    Definition at line 291 of file xran_cp_api.c.

    + +
    +
    + +

    ◆ xran_cp_populate_section_ext_1()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    int32_t xran_cp_populate_section_ext_1 (int8_t * p_ext1_dst,
    uint16_t ext1_dst_len,
    int16_t * p_bfw_iq_src,
    uint16_t rbNumber,
    uint16_t bfwNumber,
    uint8_t bfwiqWidth,
    uint8_t bfwCompMeth 
    )
    +
    +

    compression method

    +

    populate one extType=1 section with BFW for 1 RB

    +
    Parameters
    + + + + + + + +
    p_ext1_dstdestination buffer
    ext1_dst_lendest buffer size
    p_bfw_iq_srcsource buffer of IQs
    rbNumbernumber RBs to ext1 chain
    bfwNumbernumber of bf weights in this set of sections
    bfwiqWidthbit size of IQs
    +
    +
    + +

    Definition at line 387 of file xran_cp_api.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + + + +
    +
    +Here is the caller graph for this function:
    +
    +
    + + + +
    + +
    +
    + +

    ◆ xran_cp_reset_section_info()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    int xran_cp_reset_section_info (void * pHandle,
    uint8_t dir,
    uint8_t cc_id,
    uint8_t ruport_id,
    uint8_t ctx_id 
    )
    +
    + +

    Reset a database of eAxC by given information.

    +
    Parameters
    + + + + + + +
    pHandlehandle for xRAN interface, currently not being used
    dirThe direction of the section to find
    cc_idThe CC ID of the section to find
    ruport_idRU port ID of the section to find
    ctx_idContext index for the section database
    +
    +
    +
    Returns
    XRAN_STATUS_SUCCESS on success XRAN_STATUS_INVALID_PARM if failed to find matched database
    + +

    Definition at line 366 of file xran_cp_api.c.

    + +
    +
    + +

    ◆ xran_get_cplength()

    + +
    +
    + + + + + +
    + + + + + + + + +
    uint16_t xran_get_cplength (int cpLength)
    +
    +inline
    +
    + +

    Definition at line 542 of file xran_cp_api.c.

    + +
    +
    + +

    ◆ xran_get_freqoffset()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    int32_t xran_get_freqoffset (int freqOffset,
    int scs 
    )
    +
    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + + + + +
    + +
    +
    + +

    ◆ xran_parse_cp_pkt()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    int xran_parse_cp_pkt (struct rte_mbuf * mbuf,
    struct xran_cp_gen_paramsresult,
    struct xran_recv_packet_infopkt_info 
    )
    +
    + +

    Parse a C-Plane packet (for RU emulation) Transport layer fragmentation is not supported.

    +
    Parameters
    + + + + +
    mbufThe pointer of the packet buffer to be parsed
    paramsThe pointer of structure to store the information of parsed packet
    eaxcThe pointer of sturcture to store the decomposed information of ecpriRtcid/ecpriPcid
    +
    +
    +
    Returns
    XRAN_STATUS_SUCCESS on success XRAN_STATUS_INVALID_PACKET if failed to parse the packet
    + +

    Definition at line 1749 of file xran_cp_api.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + + + + + + + + + + +
    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + +
    + +
    +
    + +

    ◆ xran_prepare_ctrl_pkt()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    int xran_prepare_ctrl_pkt (struct rte_mbuf * mbuf,
    struct xran_cp_gen_paramsparams,
    uint8_t CC_ID,
    uint8_t Ant_ID,
    uint8_t seq_id 
    )
    +
    + +

    Create a C-Plane packet Transport layer fragmentation is not supported.

    +
    Parameters
    + + + + + + +
    mbufA pointer to the packet buffer
    paramsA porinter to the information to generate a C-Plane packet
    CC_IDComponent Carrier ID for this C-Plane message
    Ant_IDAntenna ID(RU Port ID) for this C-Plane message
    seq_idSequence ID for this C-Plane message
    +
    +
    +
    Returns
    XRAN_STATUS_SUCCESS on success XRAN_STATUS_RESOURCE if failed to allocate the space to packet buffer XRAN_STATUS_INVALID_PARM if section type is invalid
    + +

    Definition at line 1381 of file xran_cp_api.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + + + + + + + +
    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + + + + + +
    + +
    +
    +
    + + + + diff --git a/docs/API/xran__cp__api_8h__dep__incl.map b/docs/API/xran__cp__api_8h__dep__incl.map new file mode 100644 index 0000000..5739bc3 --- /dev/null +++ b/docs/API/xran__cp__api_8h__dep__incl.map @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/API/xran__cp__api_8h__dep__incl.md5 b/docs/API/xran__cp__api_8h__dep__incl.md5 new file mode 100644 index 0000000..631f14a --- /dev/null +++ b/docs/API/xran__cp__api_8h__dep__incl.md5 @@ -0,0 +1 @@ +6ec08736cf6c5183de0e59ec370b859d \ No newline at end of file diff --git a/docs/API/xran__cp__api_8h__dep__incl.png b/docs/API/xran__cp__api_8h__dep__incl.png new file mode 100644 index 0000000..397ed71 Binary files /dev/null and b/docs/API/xran__cp__api_8h__dep__incl.png differ diff --git a/docs/API/xran__cp__api_8h__incl.map b/docs/API/xran__cp__api_8h__incl.map new file mode 100644 index 0000000..efd7624 --- /dev/null +++ b/docs/API/xran__cp__api_8h__incl.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/API/xran__cp__api_8h__incl.md5 b/docs/API/xran__cp__api_8h__incl.md5 new file mode 100644 index 0000000..7676c84 --- /dev/null +++ b/docs/API/xran__cp__api_8h__incl.md5 @@ -0,0 +1 @@ +37f781564eadbe2c9e0a8661fe12f85a \ No newline at end of file diff --git a/docs/API/xran__cp__api_8h__incl.png b/docs/API/xran__cp__api_8h__incl.png new file mode 100644 index 0000000..7011087 Binary files /dev/null and b/docs/API/xran__cp__api_8h__incl.png differ diff --git a/docs/API/xran__cp__api_8h_a2a349ad9adaec2cfd7f88e791d451c5e_icgraph.map b/docs/API/xran__cp__api_8h_a2a349ad9adaec2cfd7f88e791d451c5e_icgraph.map new file mode 100644 index 0000000..2ae3728 --- /dev/null +++ b/docs/API/xran__cp__api_8h_a2a349ad9adaec2cfd7f88e791d451c5e_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/xran__cp__api_8h_a2a349ad9adaec2cfd7f88e791d451c5e_icgraph.md5 b/docs/API/xran__cp__api_8h_a2a349ad9adaec2cfd7f88e791d451c5e_icgraph.md5 new file mode 100644 index 0000000..859eede --- /dev/null +++ b/docs/API/xran__cp__api_8h_a2a349ad9adaec2cfd7f88e791d451c5e_icgraph.md5 @@ -0,0 +1 @@ +f2ee8b9261dd44842a0d82197cdd5cf5 \ No newline at end of file diff --git a/docs/API/xran__cp__api_8h_a2a349ad9adaec2cfd7f88e791d451c5e_icgraph.png b/docs/API/xran__cp__api_8h_a2a349ad9adaec2cfd7f88e791d451c5e_icgraph.png new file mode 100644 index 0000000..9c4b544 Binary files /dev/null and b/docs/API/xran__cp__api_8h_a2a349ad9adaec2cfd7f88e791d451c5e_icgraph.png differ diff --git a/docs/API/xran__cp__api_8h_a38c83cd67a7265920f3bd0b36510f713_cgraph.map b/docs/API/xran__cp__api_8h_a38c83cd67a7265920f3bd0b36510f713_cgraph.map new file mode 100644 index 0000000..0f3b943 --- /dev/null +++ b/docs/API/xran__cp__api_8h_a38c83cd67a7265920f3bd0b36510f713_cgraph.map @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/docs/API/xran__cp__api_8h_a38c83cd67a7265920f3bd0b36510f713_cgraph.md5 b/docs/API/xran__cp__api_8h_a38c83cd67a7265920f3bd0b36510f713_cgraph.md5 new file mode 100644 index 0000000..bd8aa1f --- /dev/null +++ b/docs/API/xran__cp__api_8h_a38c83cd67a7265920f3bd0b36510f713_cgraph.md5 @@ -0,0 +1 @@ +e538c2fb0ac3c6f70add4b8765430257 \ No newline at end of file diff --git a/docs/API/xran__cp__api_8h_a38c83cd67a7265920f3bd0b36510f713_cgraph.png b/docs/API/xran__cp__api_8h_a38c83cd67a7265920f3bd0b36510f713_cgraph.png new file mode 100644 index 0000000..892502c Binary files /dev/null and b/docs/API/xran__cp__api_8h_a38c83cd67a7265920f3bd0b36510f713_cgraph.png differ diff --git a/docs/API/xran__cp__api_8h_a38c83cd67a7265920f3bd0b36510f713_icgraph.map b/docs/API/xran__cp__api_8h_a38c83cd67a7265920f3bd0b36510f713_icgraph.map new file mode 100644 index 0000000..454fb5e --- /dev/null +++ b/docs/API/xran__cp__api_8h_a38c83cd67a7265920f3bd0b36510f713_icgraph.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/API/xran__cp__api_8h_a38c83cd67a7265920f3bd0b36510f713_icgraph.md5 b/docs/API/xran__cp__api_8h_a38c83cd67a7265920f3bd0b36510f713_icgraph.md5 new file mode 100644 index 0000000..07b7a57 --- /dev/null +++ b/docs/API/xran__cp__api_8h_a38c83cd67a7265920f3bd0b36510f713_icgraph.md5 @@ -0,0 +1 @@ +0c6b1b96529382a2af260a78ac6c2e36 \ No newline at end of file diff --git a/docs/API/xran__cp__api_8h_a38c83cd67a7265920f3bd0b36510f713_icgraph.png b/docs/API/xran__cp__api_8h_a38c83cd67a7265920f3bd0b36510f713_icgraph.png new file mode 100644 index 0000000..4a588c2 Binary files /dev/null and b/docs/API/xran__cp__api_8h_a38c83cd67a7265920f3bd0b36510f713_icgraph.png differ diff --git a/docs/API/xran__cp__api_8h_a3ca98b2a49501149a7b5baf9174897d8_icgraph.map b/docs/API/xran__cp__api_8h_a3ca98b2a49501149a7b5baf9174897d8_icgraph.map new file mode 100644 index 0000000..9b3a94d --- /dev/null +++ b/docs/API/xran__cp__api_8h_a3ca98b2a49501149a7b5baf9174897d8_icgraph.map @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/API/xran__cp__api_8h_a3ca98b2a49501149a7b5baf9174897d8_icgraph.md5 b/docs/API/xran__cp__api_8h_a3ca98b2a49501149a7b5baf9174897d8_icgraph.md5 new file mode 100644 index 0000000..ede1910 --- /dev/null +++ b/docs/API/xran__cp__api_8h_a3ca98b2a49501149a7b5baf9174897d8_icgraph.md5 @@ -0,0 +1 @@ +94b1d96e73663cb36cc7d7fed746b2cf \ No newline at end of file diff --git a/docs/API/xran__cp__api_8h_a3ca98b2a49501149a7b5baf9174897d8_icgraph.png b/docs/API/xran__cp__api_8h_a3ca98b2a49501149a7b5baf9174897d8_icgraph.png new file mode 100644 index 0000000..fec48cc Binary files /dev/null and b/docs/API/xran__cp__api_8h_a3ca98b2a49501149a7b5baf9174897d8_icgraph.png differ diff --git a/docs/API/xran__cp__api_8h_a4b7c2b7f89a0a04b07426e6adbecdb27_icgraph.map b/docs/API/xran__cp__api_8h_a4b7c2b7f89a0a04b07426e6adbecdb27_icgraph.map new file mode 100644 index 0000000..0923c0a --- /dev/null +++ b/docs/API/xran__cp__api_8h_a4b7c2b7f89a0a04b07426e6adbecdb27_icgraph.map @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/docs/API/xran__cp__api_8h_a4b7c2b7f89a0a04b07426e6adbecdb27_icgraph.md5 b/docs/API/xran__cp__api_8h_a4b7c2b7f89a0a04b07426e6adbecdb27_icgraph.md5 new file mode 100644 index 0000000..ef73f7e --- /dev/null +++ b/docs/API/xran__cp__api_8h_a4b7c2b7f89a0a04b07426e6adbecdb27_icgraph.md5 @@ -0,0 +1 @@ +1a3a88b68d30f1a1861ea44af76c512f \ No newline at end of file diff --git a/docs/API/xran__cp__api_8h_a4b7c2b7f89a0a04b07426e6adbecdb27_icgraph.png b/docs/API/xran__cp__api_8h_a4b7c2b7f89a0a04b07426e6adbecdb27_icgraph.png new file mode 100644 index 0000000..8ba5725 Binary files /dev/null and b/docs/API/xran__cp__api_8h_a4b7c2b7f89a0a04b07426e6adbecdb27_icgraph.png differ diff --git a/docs/API/xran__cp__api_8h_af9eb550e92ea270af41b4b6bcda363db_cgraph.map b/docs/API/xran__cp__api_8h_af9eb550e92ea270af41b4b6bcda363db_cgraph.map new file mode 100644 index 0000000..ec90692 --- /dev/null +++ b/docs/API/xran__cp__api_8h_af9eb550e92ea270af41b4b6bcda363db_cgraph.map @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/docs/API/xran__cp__api_8h_af9eb550e92ea270af41b4b6bcda363db_cgraph.md5 b/docs/API/xran__cp__api_8h_af9eb550e92ea270af41b4b6bcda363db_cgraph.md5 new file mode 100644 index 0000000..a0f3c78 --- /dev/null +++ b/docs/API/xran__cp__api_8h_af9eb550e92ea270af41b4b6bcda363db_cgraph.md5 @@ -0,0 +1 @@ +17f505940d3298da7d1654b714b145fd \ No newline at end of file diff --git a/docs/API/xran__cp__api_8h_af9eb550e92ea270af41b4b6bcda363db_cgraph.png b/docs/API/xran__cp__api_8h_af9eb550e92ea270af41b4b6bcda363db_cgraph.png new file mode 100644 index 0000000..135c400 Binary files /dev/null and b/docs/API/xran__cp__api_8h_af9eb550e92ea270af41b4b6bcda363db_cgraph.png differ diff --git a/docs/API/xran__cp__api_8h_af9eb550e92ea270af41b4b6bcda363db_icgraph.map b/docs/API/xran__cp__api_8h_af9eb550e92ea270af41b4b6bcda363db_icgraph.map new file mode 100644 index 0000000..42f0f2e --- /dev/null +++ b/docs/API/xran__cp__api_8h_af9eb550e92ea270af41b4b6bcda363db_icgraph.map @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/docs/API/xran__cp__api_8h_af9eb550e92ea270af41b4b6bcda363db_icgraph.md5 b/docs/API/xran__cp__api_8h_af9eb550e92ea270af41b4b6bcda363db_icgraph.md5 new file mode 100644 index 0000000..d2eea9c --- /dev/null +++ b/docs/API/xran__cp__api_8h_af9eb550e92ea270af41b4b6bcda363db_icgraph.md5 @@ -0,0 +1 @@ +aad3a286b156a13e4b8d87b05e1ccca6 \ No newline at end of file diff --git a/docs/API/xran__cp__api_8h_af9eb550e92ea270af41b4b6bcda363db_icgraph.png b/docs/API/xran__cp__api_8h_af9eb550e92ea270af41b4b6bcda363db_icgraph.png new file mode 100644 index 0000000..67873c6 Binary files /dev/null and b/docs/API/xran__cp__api_8h_af9eb550e92ea270af41b4b6bcda363db_icgraph.png differ diff --git a/docs/API/xran__cp__api_8h_afa26200d2578ae0a20cc197b6eab3640_cgraph.map b/docs/API/xran__cp__api_8h_afa26200d2578ae0a20cc197b6eab3640_cgraph.map new file mode 100644 index 0000000..d3fd6f8 --- /dev/null +++ b/docs/API/xran__cp__api_8h_afa26200d2578ae0a20cc197b6eab3640_cgraph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/API/xran__cp__api_8h_afa26200d2578ae0a20cc197b6eab3640_cgraph.md5 b/docs/API/xran__cp__api_8h_afa26200d2578ae0a20cc197b6eab3640_cgraph.md5 new file mode 100644 index 0000000..d944de3 --- /dev/null +++ b/docs/API/xran__cp__api_8h_afa26200d2578ae0a20cc197b6eab3640_cgraph.md5 @@ -0,0 +1 @@ +9886b7847a2a14cd5e36e3aa85d63cc0 \ No newline at end of file diff --git a/docs/API/xran__cp__api_8h_afa26200d2578ae0a20cc197b6eab3640_cgraph.png b/docs/API/xran__cp__api_8h_afa26200d2578ae0a20cc197b6eab3640_cgraph.png new file mode 100644 index 0000000..37c9c38 Binary files /dev/null and b/docs/API/xran__cp__api_8h_afa26200d2578ae0a20cc197b6eab3640_cgraph.png differ diff --git a/docs/API/xran__cp__api_8h_afa26200d2578ae0a20cc197b6eab3640_icgraph.map b/docs/API/xran__cp__api_8h_afa26200d2578ae0a20cc197b6eab3640_icgraph.map new file mode 100644 index 0000000..c7b84a7 --- /dev/null +++ b/docs/API/xran__cp__api_8h_afa26200d2578ae0a20cc197b6eab3640_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/xran__cp__api_8h_afa26200d2578ae0a20cc197b6eab3640_icgraph.md5 b/docs/API/xran__cp__api_8h_afa26200d2578ae0a20cc197b6eab3640_icgraph.md5 new file mode 100644 index 0000000..478c048 --- /dev/null +++ b/docs/API/xran__cp__api_8h_afa26200d2578ae0a20cc197b6eab3640_icgraph.md5 @@ -0,0 +1 @@ +fc4addee4adefec1faa18eb90657e056 \ No newline at end of file diff --git a/docs/API/xran__cp__api_8h_afa26200d2578ae0a20cc197b6eab3640_icgraph.png b/docs/API/xran__cp__api_8h_afa26200d2578ae0a20cc197b6eab3640_icgraph.png new file mode 100644 index 0000000..8c37403 Binary files /dev/null and b/docs/API/xran__cp__api_8h_afa26200d2578ae0a20cc197b6eab3640_icgraph.png differ diff --git a/docs/API/xran__cp__api_8h_source.html b/docs/API/xran__cp__api_8h_source.html new file mode 100644 index 0000000..fb9e6b2 --- /dev/null +++ b/docs/API/xran__cp__api_8h_source.html @@ -0,0 +1,269 @@ + + + + + + + +o-du/phy: xran_cp_api.h Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    xran_cp_api.h
    +
    +
    +Go to the documentation of this file.
    1 /******************************************************************************
    2 *
    3 * Copyright (c) 2019 Intel.
    4 *
    5 * Licensed under the Apache License, Version 2.0 (the "License");
    6 * you may not use this file except in compliance with the License.
    7 * You may obtain a copy of the License at
    8 *
    9 * http://www.apache.org/licenses/LICENSE-2.0
    10 *
    11 * Unless required by applicable law or agreed to in writing, software
    12 * distributed under the License is distributed on an "AS IS" BASIS,
    13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    14 * See the License for the specific language governing permissions and
    15 * limitations under the License.
    16 *
    17 *******************************************************************************/
    18 
    28 #ifndef _XRAN_CP_API_H_
    29 #define _XRAN_CP_API_H_
    30 
    31 #ifdef __cplusplus
    32 extern "C" {
    33 #endif
    34 
    35 
    36 #include "xran_fh_o_du.h"
    37 #include "xran_pkt_cp.h"
    38 #include "xran_transport.h"
    39 
    40 #define XRAN_MAX_SECTIONDB_CTX 2
    41 
    42 #define XRAN_MAX_NUM_EXTENSIONS XRAN_MAX_PRBS /* Maximum number of extensions in a section [up to 1 ext section per RB]*/
    43 #define XRAN_MAX_NUM_UE 16 /* Maximum number of UEs/Lyaers */
    44 #define XRAN_MAX_NUM_ANT_BF 64 /* Maximum number of beamforming antenna,
    45  * could be defined as XRAN_MAX_ANTENNA_NR */
    46 /* Maximum total number of beamforming weights (5.4.7.1.2) */
    47 #define XRAN_MAX_BFW_N (XRAN_MAX_NUM_ANT_BF*XRAN_MAX_NUM_UE)
    48 #define XRAN_MAX_MODCOMP_ADDPARMS 6 /* max should be even number */
    49 
    50 #define XRAN_SECTIONEXT_ALIGN 4 /* alignment size in byte for section extension */
    51 
    52 
    62  };
    63 
    72  };
    73 
    75 #define XRAN_SLOTID_MAX 16
    76 
    79  XRAN_FFTSIZE_128 = 7, /* 128 */
    80  XRAN_FFTSIZE_256 = 8, /* 256 */
    81  XRAN_FFTSIZE_512 = 9, /* 512 */
    82  XRAN_FFTSIZE_1024 = 10, /* 1024 */
    83  XRAN_FFTSIZE_2048 = 11, /* 2048 */
    84  XRAN_FFTSIZE_4096 = 12, /* 4096 */
    85  XRAN_FFTSIZE_1536 = 13, /* 1536 */
    87  };
    88 
    90 enum xran_cp_subcarrierspacing { /*3GPP u, SCS, Nslot, Slot len */
    91  XRAN_SCS_15KHZ = 0, /* 0, 15kHz, 1, 1ms */
    92  XRAN_SCS_30KHZ = 1, /* 1, 30kHz, 2, 500us */
    93  XRAN_SCS_60KHZ = 2, /* 2, 60kHz, 4, 250us */
    94  XRAN_SCS_120KHZ = 3, /* 3, 120kHz, 8, 125us */
    95  XRAN_SCS_240KHZ = 4, /* 4, 240kHz, 16, 62.5us */
    96  XRAN_SCS_1P25KHZ = 12, /* NA, 1.25kHz, 1, 1ms */
    97  XRAN_SCS_3P75KHZ = 13, /* NA, 3.75kHz, 1, 1ms */
    98  XRAN_SCS_5KHZ = 14, /* NA, 5kHz, 1, 1ms */
    99  XRAN_SCS_7P5KHZ = 15, /* NA, 7.5kHz, 1, 1ms */
    101  };
    102 
    108  };
    109 
    115  };
    116 
    118 #define XRAN_CONVERT_NUMPRBC(x) ((x) > 255 ? 0 : (x))
    119 
    120 #define XRAN_CONVERT_IQWIDTH(x) ((x) > 15 ? 0 : (x))
    121 
    123 #define XRAN_SYMBOLNUMBER_MIN 1
    124 
    125 #define XRAN_SYMBOLNUMBER_MAX 14
    126 
    127 /* LAA message type 5.4.5.14 Table 5.11, not supported */
    128 #define XRAN_LAAMSGTYPE_LBT_PDSCH_REQ 0
    129 #define XRAN_LAAMSGTYPE_LBT_DRS_REQ 1
    130 #define XRAN_LAAMSGTYPE_LBT_PDSCH_RSP 2
    131 #define XRAN_LAAMSGTYPE_LBT_DRS_RSP 3
    132 #define XRAN_LAAMSGTYPE_LBT_BUFFER_ERROR 4
    133 #define XRAN_LAAMSGTYPE_LBT_CWCONFIG_REQ 5
    134 #define XRAN_LAAMSGTYPE_LBT_CWCONFIG_RSP 6
    135 
    136 #define XRAN_LBTMODE_FULL 0
    137 #define XRAN_LBTMODE_PARTIAL25 1
    138 #define XRAN_LBTMODE_PARTIAL34 2
    139 #define XRAN_LBTMODE_FULLSTOP 3
    140 
    141 #define XRAN_EF_F_LAST 0
    142 #define XRAN_EF_F_ANOTHER_ONE 1
    143 
    144 
    145 
    154  XRAN_CP_SECTIONEXTCMD_MAX /* 6~127 reserved for future use */
    155  };
    156 
    158 #define XRAN_CONVERT_BFWIQWIDTH(x) ((x) > 15 ? 0 : (x))
    159 
    167  XRAN_BFWCOMPMETHOD_MAX /* reserved for future methods */
    168  };
    169 
    180  };
    181 
    185  uint8_t type; /* type of this section */
    186  /* section type bit- */
    187  /* 0 1 3 5 6 7 length */
    188  uint8_t startSymId; /* X X X X X X 4bits */
    189  uint8_t numSymbol; /* X X X X 4bits */
    190  uint8_t symInc; /* X X X X X 1bit */
    191  uint16_t id; /* X X X X X 12bits */
    192  uint16_t reMask; /* X X X X 12bits */
    193  uint16_t startPrbc; /* X X X X X 10bits */
    194  uint16_t numPrbc; /* X X X X X 8bits */ /* will be converted to zero if >255 */
    195  uint8_t rb; /* X X X X X 1bit */
    196  uint8_t compMeth; /* X X X 4bits */
    197  uint8_t iqWidth; /* X X X 4bits */
    198  uint8_t ef; /* X X X X 1bit */
    199  int32_t freqOffset; /* X 24bits */
    200  uint16_t beamId; /* X X 15bits */
    201  uint16_t ueId; /* X X 15bits */
    202  uint16_t regFactor; /* X 16bits */
    203  uint16_t pad0;
    206 };
    207 
    208 
    210  uint16_t rbNumber;
    211  uint16_t bfwNumber;
    212  uint8_t bfwiqWidth;
    213  uint8_t bfwCompMeth;
    214  int16_t *p_bfwIQ;
    215  int16_t bfwIQ_sz;
    216  union {
    217  uint8_t exponent;
    218  uint8_t blockScaler;
    220  uint8_t activeBeamspaceCoeffMask[XRAN_MAX_BFW_N]; /* ceil(N/8)*8, should be multiple of 8 */
    221  } bfwCompParam;
    222  };
    223 
    225  uint8_t bfAzPtWidth; /* beamforming zenith beamwidth parameter */
    226  uint8_t bfAzPt;
    227  uint8_t bfZePtWidth; /* beamforming azimuth beamwidth parameter */
    228  uint8_t bfZePt;
    229  uint8_t bfAz3ddWidth; /* beamforming zenith pointing parameter */
    230  uint8_t bfAz3dd;
    231  uint8_t bfZe3ddWidth; /* beamforming azimuth pointing parameter */
    232  uint8_t bfZe3dd;
    233 
    234  uint8_t bfAzSI;
    235  uint8_t bfZeSI;
    236  };
    237 
    238 struct xran_sectionext3_info { /* NOT SUPPORTED */
    239  uint8_t codebookIdx;
    240  uint8_t layerId;
    241  uint8_t numLayers;
    242  uint8_t txScheme;
    243  uint16_t crsReMask;
    244  uint8_t crsShift;
    245  uint8_t crsSymNum;
    246  uint16_t beamIdAP1;
    247  uint16_t beamIdAP2;
    248  uint16_t beamIdAP3;
    249  };
    250 
    252  uint8_t csf;
    253  uint8_t pad0;
    254  uint16_t modCompScaler;
    255  };
    256 
    258  uint8_t num_sets;
    259  struct {
    260  uint16_t csf;
    261  uint16_t mcScaleReMask;
    262  uint16_t mcScaleOffset;
    264  };
    265 
    267  uint16_t type;
    268  uint16_t len;
    269  void *data;
    270  };
    271 
    272 
    276  // common parameters
    277  uint8_t filterIdx;
    278  uint8_t frameId;
    279  uint8_t subframeId;
    280  uint8_t slotId;
    281  uint8_t startSymId;
    282  /* section type bit- */
    283  /* 0 1 3 5 6 7 length */
    284  uint8_t fftSize; /* X X 4bits */
    285  uint8_t scs; /* X X 4bits */
    286  uint8_t iqWidth; /* X X X 4bits */
    287  uint8_t compMeth; /* X X X 4bits */
    288  uint8_t numUEs; /* X 8bits */
    289  uint16_t timeOffset; /* X X 16bits */
    290  uint16_t cpLength; /* X X 16bits */
    291  };
    292 
    296  struct xran_section_info info;
    298  uint32_t exDataSize;
    300  struct {
    301  uint16_t type;
    302  uint16_t len;
    303  void *data;
    304  } exData[XRAN_MAX_NUM_EXTENSIONS];
    310 };
    311 
    312 
    316  uint8_t dir;
    317  uint8_t sectionType;
    318  uint16_t numSections;
    324  };
    325 
    330  uint16_t grp_id;
    332  uint8_t sym_start;
    333  uint8_t sym_num;
    335  uint16_t rb_start;
    336  uint16_t rb_num;
    338  int16_t iq_buff_offset;
    339  int16_t iq_buff_len;
    341  uint16_t beam_id;
    342  uint8_t iqWidth;
    343  uint8_t comp_meth;
    344  uint8_t pad0;
    345  };
    346 
    347 
    348 uint16_t xran_get_cplength(int cpLength);
    349 int32_t xran_get_freqoffset(int freqOffset, int scs);
    350 
    351 int xran_prepare_ctrl_pkt(struct rte_mbuf *mbuf,
    352  struct xran_cp_gen_params *params,
    353  uint8_t CC_ID, uint8_t Ant_ID,
    354  uint8_t seq_id);
    355 
    356 int xran_parse_cp_pkt(struct rte_mbuf *mbuf,
    357  struct xran_cp_gen_params *result,
    358  struct xran_recv_packet_info *pkt_info);
    359 
    360 int xran_cp_init_sectiondb(void *pHandle);
    361 int xran_cp_free_sectiondb(void *pHandle);
    362 int xran_cp_add_section_info(void *pHandle,
    363  uint8_t dir, uint8_t cc_id, uint8_t ruport_id,
    364  uint8_t ctx_id, struct xran_section_info *info);
    365 int xran_cp_add_multisection_info(void *pHandle,
    366  uint8_t cc_id, uint8_t ruport_id, uint8_t ctx_id,
    367  struct xran_cp_gen_params *gen_info);
    368 struct xran_section_info *xran_cp_find_section_info(void *pHandle,
    369  uint8_t dir, uint8_t cc_id, uint8_t ruport_id,
    370  uint8_t ctx_id, uint16_t section_id);
    371 struct xran_section_info *xran_cp_iterate_section_info(void *pHandle,
    372  uint8_t dir, uint8_t cc_id, uint8_t ruport_id,
    373  uint8_t ctx_id, uint32_t *next);
    374 int xran_cp_getsize_section_info(void *pHandle, uint8_t dir, uint8_t cc_id, uint8_t ruport_id, uint8_t ctx_id);
    375 int xran_cp_reset_section_info(void *pHandle, uint8_t dir, uint8_t cc_id, uint8_t ruport_id, uint8_t ctx_id);
    376 int32_t xran_cp_populate_section_ext_1(int8_t *p_ext1_dst,
    377  uint16_t ext1_dst_len,
    378  int16_t *p_bfw_iq_src,
    379  uint16_t rbNumber,
    380  uint16_t bfwNumber,
    381  uint8_t bfwiqWidth,
    382  uint8_t bfwCompMeth);
    383 #ifdef __cplusplus
    384 }
    385 #endif
    386 
    387 #endif /* _XRAN_CP_API_H_ */
    int xran_cp_add_section_info(void *pHandle, uint8_t dir, uint8_t cc_id, uint8_t ruport_id, uint8_t ctx_id, struct xran_section_info *info)
    Add a section information of C-Plane to dabase.
    Definition: xran_cp_api.c:160
    + + + + + +
    This file provides the definition of Control Plane Messages for XRAN Front Haul layer as defined in X...
    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    xran_cp_sectiontype
    Definition: xran_cp_api.h:54
    + + + + +
    int16_t iq_buff_offset
    Definition: xran_cp_api.h:338
    + + + + + + + +
    xran_cp_bfa_bitwidth
    Definition: xran_cp_api.h:171
    + + + + +
    uint8_t bfwCompMeth
    Definition: xran_pkt_cp.h:220
    + + + + + + + + + + + + + +
    int32_t xran_get_freqoffset(int freqOffset, int scs)
    + + + + +
    int xran_cp_free_sectiondb(void *pHandle)
    Release and free section database.
    Definition: xran_cp_api.c:89
    + + + +
    xran_cp_fftsize
    Definition: xran_cp_api.h:78
    + + + +
    uint16_t startPrbc
    Definition: xran_cp_api.h:193
    +
    int xran_parse_cp_pkt(struct rte_mbuf *mbuf, struct xran_cp_gen_params *result, struct xran_recv_packet_info *pkt_info)
    Parse a C-Plane packet (for RU emulation) Transport layer fragmentation is not supported.
    Definition: xran_cp_api.c:1749
    + + + + +
    xran_cp_sectionextcmd
    Definition: xran_cp_api.h:147
    + +
    uint16_t regFactor
    Definition: xran_cp_api.h:202
    + + + + + +
    xran_cp_symbolnuminc
    Definition: xran_cp_api.h:111
    + + + + + + +
    int xran_cp_add_multisection_info(void *pHandle, uint8_t cc_id, uint8_t ruport_id, uint8_t ctx_id, struct xran_cp_gen_params *gen_info)
    Definition: xran_cp_api.c:187
    + + +
    uint16_t cpLength
    Definition: xran_pkt_cp.h:218
    + + + + +
    #define XRAN_MAX_BFW_N
    Definition: xran_cp_api.h:47
    + + + + + + + + + + + + + + + +
    struct xran_section_info * xran_cp_iterate_section_info(void *pHandle, uint8_t dir, uint8_t cc_id, uint8_t ruport_id, uint8_t ctx_id, uint32_t *next)
    Iterate each section information of C-Plane from the database of eAxC by given information.
    Definition: xran_cp_api.c:291
    +
    uint16_t xran_get_cplength(int cpLength)
    Definition: xran_cp_api.c:542
    +
    #define XRAN_MAX_NUM_EXTENSIONS
    Definition: xran_cp_api.h:42
    +
    int xran_cp_getsize_section_info(void *pHandle, uint8_t dir, uint8_t cc_id, uint8_t ruport_id, uint8_t ctx_id)
    Get the size of stored entries for the database of eAxC by given information.
    Definition: xran_cp_api.c:334
    + +
    int xran_cp_reset_section_info(void *pHandle, uint8_t dir, uint8_t cc_id, uint8_t ruport_id, uint8_t ctx_id)
    Reset a database of eAxC by given information.
    Definition: xran_cp_api.c:366
    + + + + + + +
    #define XRAN_NUM_OF_SYMBOL_PER_SLOT
    Definition: xran_fh_o_du.h:122
    +
    int32_t xran_cp_populate_section_ext_1(int8_t *p_ext1_dst, uint16_t ext1_dst_len, int16_t *p_bfw_iq_src, uint16_t rbNumber, uint16_t bfwNumber, uint8_t bfwiqWidth, uint8_t bfwCompMeth)
    Definition: xran_cp_api.c:387
    + +
    struct xran_cp_radioapp_section_header hdr
    Definition: xran_pkt_cp.h:214
    +
    int xran_prepare_ctrl_pkt(struct rte_mbuf *mbuf, struct xran_cp_gen_params *params, uint8_t CC_ID, uint8_t Ant_ID, uint8_t seq_id)
    Create a C-Plane packet Transport layer fragmentation is not supported.
    Definition: xran_cp_api.c:1381
    + +
    This file provides public interface to xRAN Front Haul layer implementation as defined in the ORAN-WG...
    +
    xran_cp_filterindex
    Definition: xran_cp_api.h:65
    + + +
    struct xran_section_desc sec_desc[XRAN_NUM_OF_SYMBOL_PER_SLOT]
    Definition: xran_cp_api.h:205
    + + + + +
    xran_cp_subcarrierspacing
    Definition: xran_cp_api.h:90
    + + +
    #define XRAN_MAX_MODCOMP_ADDPARMS
    Definition: xran_cp_api.h:48
    + +
    struct xran_section_gen_info * sections
    Definition: xran_cp_api.h:322
    + + +
    uint16_t numSections
    Definition: xran_cp_api.h:318
    + + + + + + +
    xran_cp_rbindicator
    Definition: xran_cp_api.h:104
    + +
    xran_cp_bfw_compression_method
    Definition: xran_cp_api.h:161
    + + +
    struct xran_section_info * xran_cp_find_section_info(void *pHandle, uint8_t dir, uint8_t cc_id, uint8_t ruport_id, uint8_t ctx_id, uint16_t section_id)
    Find a section information of C-Plane from dabase by given information.
    Definition: xran_cp_api.c:242
    + + + + + + + + + +
    int xran_cp_init_sectiondb(void *pHandle)
    Initialize section database. Allocate required memory space to store section information. Each eAxC allocates dedicated storage and the entry size is the maximum number of sections. Total entry size : number of CC * number of antenna * max number of sections * 2(direction)
    Definition: xran_cp_api.c:66
    + + + + + +
    This file provides the definitions for Transport layer (eCPRI) API.
    + + + +
    + + + + diff --git a/docs/API/xran__fh__o__du_8h.html b/docs/API/xran__fh__o__du_8h.html new file mode 100644 index 0000000..fa478f8 --- /dev/null +++ b/docs/API/xran__fh__o__du_8h.html @@ -0,0 +1,3003 @@ + + + + + + + +o-du/phy: xran_fh_o_du.h File Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    xran_fh_o_du.h File Reference
    +
    +
    + +

    This file provides public interface to xRAN Front Haul layer implementation as defined in the ORAN-WG4.CUS.0-v01.00 spec. Implementation specific to Lower Layer Split Central Unit (O-DU): a logical node that includes the eNB/gNB functions as listed in section 2.1 split option 7-2x, excepting those functions allocated exclusively to the O-RU. The O-DU controls the operation of O-RUs for 5G NR Radio Access technology. +More...

    +
    #include <stdio.h>
    +#include <stdlib.h>
    +#include <string.h>
    +#include <stdint.h>
    +#include <inttypes.h>
    +#include <sys/types.h>
    +#include <sys/queue.h>
    +#include <netinet/in.h>
    +#include <setjmp.h>
    +#include <stdarg.h>
    +#include <ctype.h>
    +#include <errno.h>
    +#include <getopt.h>
    +#include <unistd.h>
    +
    +Include dependency graph for xran_fh_o_du.h:
    +
    +
    + + +
    +
    +This graph shows which files directly or indirectly include this file:
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +

    Go to the source code of this file.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Data Structures

    struct  xran_cb_tag
     
    struct  xran_io_cfg
     
    struct  xran_eaxcid_config
     
    struct  xran_fh_init
     
    struct  xran_cp_bf_weight
     
    struct  xran_cp_bf_attribute
     
    struct  xran_cp_bf_precoding
     
    struct  xran_section_desc
     
    struct  xran_prb_elm
     
    struct  xran_prb_map
     
    struct  xran_prach_config
     
    struct  xran_srs_config
     
    struct  xran_slot_config
     
    struct  xran_frame_config
     
    struct  xran_ru_config
     
    struct  xran_fh_config
     
    struct  xran_common_counters
     
    struct  xran_flat_buffer
     
    struct  xran_buffer_list
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Macros

    #define XRAN_STATUS_SUCCESS   (0)
     
    #define XRAN_STATUS_FAIL   (-1)
     
    #define XRAN_STATUS_RETRY   (-2)
     
    #define XRAN_STATUS_RESOURCE   (-3)
     
    #define XRAN_STATUS_INVALID_PARAM   (-4)
     
    #define XRAN_STATUS_FATAL   (-5)
     
    #define XRAN_STATUS_UNSUPPORTED   (-6)
     
    #define XRAN_STATUS_INVALID_PACKET   (-7)
     
    #define XranGetTtiNum(symIdx, numSymPerTti)   (((uint32_t)symIdx / (uint32_t)numSymPerTti))
     
    #define XranGetSymNum(symIdx, numSymPerTti)   (((uint32_t)symIdx % (uint32_t)numSymPerTti))
     
    #define XranGetFrameNum(tti, SFNatSecStart, numSubFramePerSystemFrame, numSlotPerSubFrame)   ((((uint32_t)tti / ((uint32_t)numSubFramePerSystemFrame * (uint32_t)numSlotPerSubFrame)) + SFNatSecStart) & 0x3FF)
     
    #define XranGetSubFrameNum(tti, numSlotPerSubFrame, numSubFramePerSystemFrame)   (((uint32_t)tti/(uint32_t)numSlotPerSubFrame) % (uint32_t)numSubFramePerSystemFrame)
     
    #define XranGetSlotNum(tti, numSlotPerSfn)   ((uint32_t)tti % ((uint32_t)numSlotPerSfn))
     
    #define XRAN_PORTS_NUM   (1)
     
    #define XRAN_N_FE_BUF_LEN   (40)
     
    #define XRAN_MAX_SECTOR_NR   (12)
     
    #define XRAN_MAX_ANTENNA_NR   (16)
     
    #define XRAN_MAX_PANEL_NR   (1)
     
    #define XRAN_MAX_TRX_ANTENNA_ARRAY   (1)
     
    #define XRAN_MAX_ANT_ARRAY_ELM_NR   (64)
     
    #define XRAN_NUM_OF_SYMBOL_PER_SLOT   (14)
     
    #define XRAN_MAX_NUM_OF_SRS_SYMBOL_PER_SLOT   XRAN_NUM_OF_SYMBOL_PER_SLOT
     
    #define XRAN_MAX_TDD_PERIODICITY   (80)
     
    #define XRAN_MAX_CELLS_PER_PORT   (XRAN_MAX_SECTOR_NR)
     
    #define XRAN_COMPONENT_CARRIERS_MAX   (XRAN_MAX_SECTOR_NR)
     
    #define XRAN_NUM_OF_ANT_RADIO   (XRAN_MAX_SECTOR_NR*XRAN_MAX_ANTENNA_NR)
     
    #define XRAN_MAX_PRBS   (275)
     
    #define XRAN_MAX_SECTIONS_PER_SYM   (16)
     
    #define XRAN_MAX_PKT_BURST   (448+4)
     
    #define XRAN_N_MAX_BUFFER_SEGMENT   XRAN_MAX_PKT_BURST
     
    #define XRAN_STRICT_PARM_CHECK   (1)
     
    #define XRAN_SLOT_TYPE_INVALID   (0)
     
    #define XRAN_SLOT_TYPE_DL   (1)
     
    #define XRAN_SLOT_TYPE_UL   (2)
     
    #define XRAN_SLOT_TYPE_SP   (3)
     
    #define XRAN_SLOT_TYPE_FDD   (4)
     
    #define XRAN_SLOT_TYPE_LAST   (5)
     
    #define XRAN_SYMBOL_TYPE_DL   (0)
     
    #define XRAN_SYMBOL_TYPE_UL   (1)
     
    #define XRAN_SYMBOL_TYPE_GUARD   (2)
     
    #define XRAN_SYMBOL_TYPE_FDD   (3)
     
    #define XRAN_NUM_OF_SLOT_IN_TDD_LOOP   (80)
     
    #define xran_log_dbg(fmt, ...)
     
    #define xran_log_dbg(fmt, ...)
     
    #define xran_log_wrn(fmt, ...)
     
    #define xran_log_err(fmt, ...)
     
    + + + + + + + + + + + + + + + +

    +Typedefs

    typedef int32_t xran_status_t
     
    typedef void(* xran_callback_sym_fn) (void *)
     
    typedef int(* xran_fh_tti_callback_fn) (void *)
     
    typedef void(* xran_transport_callback_fn) (void *, xran_status_t)
     
    typedef int16_t(* phy_encoder_poll_fn) (void)
     
    typedef int16_t(* phy_decoder_poll_fn) (void)
     
    typedef void * xran_cc_handle_t
     
    + + + + + + + + + + + + + + + + + + + + + + + +

    +Enumerations

    enum  XranFrameDuplexType { XRAN_FDD = 0, +XRAN_TDD + }
     
    enum  xran_if_state { XRAN_INIT = 0, +XRAN_RUNNING, +XRAN_STOPPED + }
     
    enum  xran_compression_method {
    +  XRAN_COMPMETHOD_NONE = 0, +XRAN_COMPMETHOD_BLKFLOAT = 1, +XRAN_COMPMETHOD_BLKSCALE = 2, +XRAN_COMPMETHOD_ULAW = 3, +
    +  XRAN_COMPMETHOD_MODULATION = 4, +XRAN_COMPMETHOD_MAX +
    + }
     
    enum  callback_to_phy_id { XRAN_CB_TTI = 0, +XRAN_CB_HALF_SLOT_RX =1, +XRAN_CB_FULL_SLOT_RX =2, +XRAN_CB_MAX + }
     
    enum  xran_weight_based_beamforming_type { XRAN_BF_T_FREQUENCY = 0, +XRAN_BF_T_TIME = 1, +XRAN_BF_T_HYBRID = 2, +XRAN_BF_T_MAX + }
     
    enum  xran_vf_ports { XRAN_UP_VF = 0, +XRAN_CP_VF, +XRAN_VF_MAX + }
     
    enum  xran_category { XRAN_CATEGORY_A = 0, +XRAN_CATEGORY_B = 1, +XRAN_CATEGORY_MAX + }
     
    enum  xran_beamforming_type { XRAN_BEAM_ID_BASED = 0, +XRAN_BEAM_WEIGHT, +XRAN_BEAM_ATTRIBUTE + }
     
    enum  xran_bbdev_init { XRAN_BBDEV_NOT_USED = -1, +XRAN_BBDEV_MODE_HW_OFF = 0, +XRAN_BBDEV_MODE_HW_ON = 1, +XRAN_BBDEV_MODE_MAX + }
     
    enum  xran_input_byte_order { XRAN_NE_BE_BYTE_ORDER = 0, +XRAN_CPU_LE_BYTE_ORDER + }
     
    enum  xran_input_i_q_order { XRAN_I_Q_ORDER = 0, +XRAN_Q_I_ORDER + }
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Functions

    int32_t xran_init (int argc, char *argv[], struct xran_fh_init *p_xran_fh_init, char *appName, void **pHandle)
     
    int32_t xran_sector_get_instances (void *pHandle, uint16_t nNumInstances, xran_cc_handle_t *pSectorInstanceHandles)
     
    int32_t xran_mm_init (void *pHandle, uint64_t nMemorySize, uint32_t nMemorySegmentSize)
     
    int32_t xran_bm_init (void *pHandle, uint32_t *pPoolIndex, uint32_t nNumberOfBuffers, uint32_t nBufferSize)
     
    int32_t xran_bm_allocate_buffer (void *pHandle, uint32_t nPoolIndex, void **ppData, void **ppCtrl)
     
    int32_t xran_bm_free_buffer (void *pHandle, void *pData, void *pCtrl)
     
    int32_t xran_mm_destroy (void *pHandle)
     
    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)
     
    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)
     
    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)
     
    uint32_t xran_get_time_stats (uint64_t *total_time, uint64_t *used_time, uint32_t *core_used, uint32_t clear)
     
    int32_t xran_open (void *pHandle, struct xran_fh_config *pConf)
     
    int32_t xran_start (void *pHandle)
     
    int32_t xran_stop (void *pHandle)
     
    int32_t xran_close (void *pHandle)
     
    int32_t xran_reg_sym_cb (void *pHandle, xran_callback_sym_fn symCb, void *symCbParam, uint8_t symb, uint8_t ant)
     
    int32_t xran_reg_physide_cb (void *pHandle, xran_fh_tti_callback_fn Cb, void *cbParam, int skipTtiNum, enum callback_to_phy_id)
     
    int32_t xran_get_slot_idx (uint32_t *nFrameIdx, uint32_t *nSubframeIdx, uint32_t *nSlotIdx, uint64_t *nSecond)
     
    int32_t xran_get_common_counters (void *pXranLayerHandle, struct xran_common_counters *pStats)
     
    enum xran_if_state xran_get_if_state (void)
     
    void * xran_malloc (size_t buf_len)
     
    uint8_t * xran_add_hdr_offset (uint8_t *dst, int16_t compMethod)
     
    +

    Detailed Description

    +

    This file provides public interface to xRAN Front Haul layer implementation as defined in the ORAN-WG4.CUS.0-v01.00 spec. Implementation specific to Lower Layer Split Central Unit (O-DU): a logical node that includes the eNB/gNB functions as listed in section 2.1 split option 7-2x, excepting those functions allocated exclusively to the O-RU. The O-DU controls the operation of O-RUs for 5G NR Radio Access technology.

    +
    Author
    Intel Corporation
    + +

    Definition in file xran_fh_o_du.h.

    +

    Macro Definition Documentation

    + +

    ◆ XRAN_COMPONENT_CARRIERS_MAX

    + +
    +
    + + + + +
    #define XRAN_COMPONENT_CARRIERS_MAX   (XRAN_MAX_SECTOR_NR)
    +
    +

    number of CCs

    + +

    Definition at line 126 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ xran_log_dbg [1/2]

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    #define xran_log_dbg( fmt,
     ... 
    )
    +
    + +

    Definition at line 174 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ xran_log_dbg [2/2]

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    #define xran_log_dbg( fmt,
     ... 
    )
    +
    + +

    Definition at line 174 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ xran_log_err

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    #define xran_log_err( fmt,
     ... 
    )
    +
    +Value:
    fprintf(stderr, \
    "ERROR: %s(%d): " fmt "\n", \
    __FILE__, \
    __LINE__, ##__VA_ARGS__)
    +

    Definition at line 178 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ xran_log_wrn

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    #define xran_log_wrn( fmt,
     ... 
    )
    +
    + +

    Definition at line 175 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ XRAN_MAX_ANT_ARRAY_ELM_NR

    + +
    +
    + + + + +
    #define XRAN_MAX_ANT_ARRAY_ELM_NR   (64)
    +
    +

    Maximum number of Antenna Array Elemets in Antenna Array in the O-RU

    + +

    Definition at line 118 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ XRAN_MAX_ANTENNA_NR

    + +
    +
    + + + + +
    #define XRAN_MAX_ANTENNA_NR   (16)
    +
    +

    Max number of extended Antenna-Carriers: a data flow for a single antenna (or spatial stream) for a single carrier in a single sector

    + +

    Definition at line 111 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ XRAN_MAX_CELLS_PER_PORT

    + +
    +
    + + + + +
    #define XRAN_MAX_CELLS_PER_PORT   (XRAN_MAX_SECTOR_NR)
    +
    +

    Max cells mapped to XRAN port

    + +

    Definition at line 125 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ XRAN_MAX_NUM_OF_SRS_SYMBOL_PER_SLOT

    + +
    +
    + + + + +
    #define XRAN_MAX_NUM_OF_SRS_SYMBOL_PER_SLOT   XRAN_NUM_OF_SYMBOL_PER_SLOT
    +
    +

    Max Number of SRS symbols per slot

    + +

    Definition at line 123 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ XRAN_MAX_PANEL_NR

    + +
    +
    + + + + +
    #define XRAN_MAX_PANEL_NR   (1)
    +
    +

    Max number of Panels supported per O-RU

    + +

    Definition at line 116 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ XRAN_MAX_PKT_BURST

    + +
    +
    + + + + +
    #define XRAN_MAX_PKT_BURST   (448+4)
    +
    +

    4x14x8 symbols per ms

    + +

    Definition at line 132 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ XRAN_MAX_PRBS

    + +
    +
    + + + + +
    #define XRAN_MAX_PRBS   (275)
    +
    +

    Max of PRBs per CC per antanna for 5G NR

    + +

    Definition at line 128 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ XRAN_MAX_SECTIONS_PER_SYM

    + +
    +
    + + + + +
    #define XRAN_MAX_SECTIONS_PER_SYM   (16)
    +
    +

    Max number of different sections in single symbol (section is equal to RB allocation for UE)

    + +

    Definition at line 130 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ XRAN_MAX_SECTOR_NR

    + +
    +
    + + + + +
    #define XRAN_MAX_SECTOR_NR   (12)
    +
    +

    Max sectors per XRAN port

    + +

    Definition at line 110 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ XRAN_MAX_TDD_PERIODICITY

    + +
    +
    + + + + +
    #define XRAN_MAX_TDD_PERIODICITY   (80)
    +
    +

    Max TDD pattern period

    + +

    Definition at line 124 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ XRAN_MAX_TRX_ANTENNA_ARRAY

    + +
    +
    + + + + +
    #define XRAN_MAX_TRX_ANTENNA_ARRAY   (1)
    +
    +

    Max number of TX and RX arrays per panel in O-RU

    + +

    Definition at line 117 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ XRAN_N_FE_BUF_LEN

    + +
    +
    + + + + +
    #define XRAN_N_FE_BUF_LEN   (40)
    +
    +

    Number of TTIs (slots)

    + +

    Definition at line 109 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ XRAN_N_MAX_BUFFER_SEGMENT

    + +
    +
    + + + + +
    #define XRAN_N_MAX_BUFFER_SEGMENT   XRAN_MAX_PKT_BURST
    +
    +

    Max number of segments per ms

    + +

    Definition at line 133 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ XRAN_NUM_OF_ANT_RADIO

    + +
    +
    + + + + +
    #define XRAN_NUM_OF_ANT_RADIO   (XRAN_MAX_SECTOR_NR*XRAN_MAX_ANTENNA_NR)
    +
    +

    Max Number of Antennas supported for all CC on single XRAN port

    + +

    Definition at line 127 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ XRAN_NUM_OF_SLOT_IN_TDD_LOOP

    + +
    +
    + + + + +
    #define XRAN_NUM_OF_SLOT_IN_TDD_LOOP   (80)
    +
    +

    MAX number of slot for TDD repetition

    + +

    Definition at line 151 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ XRAN_NUM_OF_SYMBOL_PER_SLOT

    + +
    +
    + + + + +
    #define XRAN_NUM_OF_SYMBOL_PER_SLOT   (14)
    +
    +

    Number of symbols per slot

    + +

    Definition at line 122 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ XRAN_PORTS_NUM

    + +
    +
    + + + + +
    #define XRAN_PORTS_NUM   (1)
    +
    +

    number of XRAN ports (aka O-RU devices) supported

    + +

    Definition at line 108 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ XRAN_SLOT_TYPE_DL

    + +
    +
    + + + + +
    #define XRAN_SLOT_TYPE_DL   (1)
    +
    +

    DL slot

    + +

    Definition at line 139 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ XRAN_SLOT_TYPE_FDD

    + +
    +
    + + + + +
    #define XRAN_SLOT_TYPE_FDD   (4)
    +
    +

    FDD slot

    + +

    Definition at line 142 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ XRAN_SLOT_TYPE_INVALID

    + +
    +
    + + + + +
    #define XRAN_SLOT_TYPE_INVALID   (0)
    +
    +

    invalid slot type

    + +

    Definition at line 138 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ XRAN_SLOT_TYPE_LAST

    + +
    +
    + + + + +
    #define XRAN_SLOT_TYPE_LAST   (5)
    +
    +

    MAX slot

    + +

    Definition at line 143 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ XRAN_SLOT_TYPE_SP

    + +
    +
    + + + + +
    #define XRAN_SLOT_TYPE_SP   (3)
    +
    +

    Special slot

    + +

    Definition at line 141 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ XRAN_SLOT_TYPE_UL

    + +
    +
    + + + + +
    #define XRAN_SLOT_TYPE_UL   (2)
    +
    +

    UL slot

    + +

    Definition at line 140 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ XRAN_STATUS_FAIL

    + +
    +
    + + + + +
    #define XRAN_STATUS_FAIL   (-1)
    +
    +

    Fail status value.

    + +

    Definition at line 58 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ XRAN_STATUS_FATAL

    + +
    +
    + + + + +
    #define XRAN_STATUS_FATAL   (-5)
    +
    +

    A serious error has occurred. Recommended course of action is to shutdown and restart the component.

    + +

    Definition at line 79 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ XRAN_STATUS_INVALID_PACKET

    + +
    +
    + + + + +
    #define XRAN_STATUS_INVALID_PACKET   (-7)
    +
    +

    Recevied packet does not have correct format.

    + +

    Definition at line 92 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ XRAN_STATUS_INVALID_PARAM

    + +
    +
    + + + + +
    #define XRAN_STATUS_INVALID_PARAM   (-4)
    +
    +

    Invalid parameter has been passed in.

    + +

    Definition at line 75 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ XRAN_STATUS_RESOURCE

    + +
    +
    + + + + +
    #define XRAN_STATUS_RESOURCE   (-3)
    +
    +

    The resource that has been requested is unavailable. Refer to relevant sections of the API for specifics on what the suggested course of action is.

    + +

    Definition at line 68 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ XRAN_STATUS_RETRY

    + +
    +
    + + + + +
    #define XRAN_STATUS_RETRY   (-2)
    +
    +

    Retry status value.

    + +

    Definition at line 63 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ XRAN_STATUS_SUCCESS

    + +
    +
    + + + + +
    #define XRAN_STATUS_SUCCESS   (0)
    +
    +

    Success status value.

    + +

    Definition at line 54 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ XRAN_STATUS_UNSUPPORTED

    + +
    +
    + + + + +
    #define XRAN_STATUS_UNSUPPORTED   (-6)
    +
    +

    The function is not supported, at least not with the specific parameters supplied. This may be because a particular capability is not supported by the current implementation.

    + +

    Definition at line 85 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ XRAN_STRICT_PARM_CHECK

    + +
    +
    + + + + +
    #define XRAN_STRICT_PARM_CHECK   (1)
    +
    +

    enable parameter check for C-plane

    + +

    Definition at line 135 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ XRAN_SYMBOL_TYPE_DL

    + +
    +
    + + + + +
    #define XRAN_SYMBOL_TYPE_DL   (0)
    +
    +

    DL symbol

    + +

    Definition at line 146 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ XRAN_SYMBOL_TYPE_FDD

    + +
    +
    + + + + +
    #define XRAN_SYMBOL_TYPE_FDD   (3)
    +
    +

    FDD symbol

    + +

    Definition at line 149 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ XRAN_SYMBOL_TYPE_GUARD

    + +
    +
    + + + + +
    #define XRAN_SYMBOL_TYPE_GUARD   (2)
    +
    +

    GUARD symbol

    + +

    Definition at line 148 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ XRAN_SYMBOL_TYPE_UL

    + +
    +
    + + + + +
    #define XRAN_SYMBOL_TYPE_UL   (1)
    +
    +

    UL symbol

    + +

    Definition at line 147 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ XranGetFrameNum

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #define XranGetFrameNum( tti,
     SFNatSecStart,
     numSubFramePerSystemFrame,
     numSlotPerSubFrame 
    )   ((((uint32_t)tti / ((uint32_t)numSubFramePerSystemFrame * (uint32_t)numSlotPerSubFrame)) + SFNatSecStart) & 0x3FF)
    +
    +

    Macro to calculate Frame number for given tti

    + +

    Definition at line 102 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ XranGetSlotNum

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    #define XranGetSlotNum( tti,
     numSlotPerSfn 
    )   ((uint32_t)tti % ((uint32_t)numSlotPerSfn))
    +
    +

    Macro to calculate Slot number

    + +

    Definition at line 106 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ XranGetSubFrameNum

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    #define XranGetSubFrameNum( tti,
     numSlotPerSubFrame,
     numSubFramePerSystemFrame 
    )   (((uint32_t)tti/(uint32_t)numSlotPerSubFrame) % (uint32_t)numSubFramePerSystemFrame)
    +
    +

    Macro to calculate Subframe number for given tti

    + +

    Definition at line 104 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ XranGetSymNum

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    #define XranGetSymNum( symIdx,
     numSymPerTti 
    )   (((uint32_t)symIdx % (uint32_t)numSymPerTti))
    +
    +

    Macro to calculate Symbol number for given slot from symbol index

    + +

    Definition at line 100 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ XranGetTtiNum

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    #define XranGetTtiNum( symIdx,
     numSymPerTti 
    )   (((uint32_t)symIdx / (uint32_t)numSymPerTti))
    +
    +

    Macro to calculate TTI number from symbol index used by timing thread

    + +

    Definition at line 98 of file xran_fh_o_du.h.

    + +
    +
    +

    Typedef Documentation

    + +

    ◆ phy_decoder_poll_fn

    + +
    +
    + + + + +
    typedef int16_t(* phy_decoder_poll_fn) (void)
    +
    +

    Callback functions to poll BBdev secoder

    + +

    Definition at line 251 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ phy_encoder_poll_fn

    + +
    +
    + + + + +
    typedef int16_t(* phy_encoder_poll_fn) (void)
    +
    +

    Callback functions to poll BBdev encoder

    + +

    Definition at line 248 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ xran_callback_sym_fn

    + +
    +
    + + + + +
    typedef void(* xran_callback_sym_fn) (void *)
    +
    +

    callback function type for Symbol packet

    + +

    Definition at line 239 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ xran_cc_handle_t

    + +
    +
    + + + + +
    typedef void* xran_cc_handle_t
    +
    +

    CC instance handle pointer type

    + +

    Definition at line 541 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ xran_fh_tti_callback_fn

    + +
    +
    + + + + +
    typedef int(* xran_fh_tti_callback_fn) (void *)
    +
    +

    Callback function type for TTI event

    + +

    Definition at line 242 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ xran_status_t

    + +
    +
    + + + + +
    typedef int32_t xran_status_t
    +
    +

    Xran status return value

    + +

    Definition at line 236 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ xran_transport_callback_fn

    + +
    +
    + + + + +
    typedef void(* xran_transport_callback_fn) (void *, xran_status_t)
    +
    +

    Callback function type packet arrival from transport layer (ETH or IP)

    + +

    Definition at line 245 of file xran_fh_o_du.h.

    + +
    +
    +

    Enumeration Type Documentation

    + +

    ◆ callback_to_phy_id

    + +
    +
    + + + + +
    enum callback_to_phy_id
    +
    +

    Callback function type for symbol packet enum

    + + + + + +
    Enumerator
    XRAN_CB_TTI 

    callback on TTI boundary

    +
    XRAN_CB_HALF_SLOT_RX 

    callback on half slot (sym 7) packet arrival

    +
    XRAN_CB_FULL_SLOT_RX 

    callback on full slot (sym 14) packet arrival

    +
    XRAN_CB_MAX 

    max number of callbacks

    +
    + +

    Definition at line 219 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ xran_bbdev_init

    + +
    +
    + + + + +
    enum xran_bbdev_init
    +
    +

    state of bbdev with xran

    + + + + + +
    Enumerator
    XRAN_BBDEV_NOT_USED 

    BBDEV is disabled

    +
    XRAN_BBDEV_MODE_HW_OFF 

    BBDEV is enabled for SW sim mode

    +
    XRAN_BBDEV_MODE_HW_ON 

    BBDEV is enable for HW

    +
    XRAN_BBDEV_MODE_MAX 
    + +

    Definition at line 278 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ xran_beamforming_type

    + +
    +
    + + + + +
    enum xran_beamforming_type
    +
    +

    type of beamforming

    + + + + +
    Enumerator
    XRAN_BEAM_ID_BASED 

    beam index based

    +
    XRAN_BEAM_WEIGHT 

    beam forming weights

    +
    XRAN_BEAM_ATTRIBUTE 

    beam index based

    +
    + +

    Definition at line 270 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ xran_category

    + +
    +
    + + + + +
    enum xran_category
    +
    +

    XRAN category enum

    + + + + +
    Enumerator
    XRAN_CATEGORY_A 
    XRAN_CATEGORY_B 
    XRAN_CATEGORY_MAX 
    + +

    Definition at line 262 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ xran_compression_method

    + +
    +
    + + + + +
    enum xran_compression_method
    +
    +

    Compression Method 6.3.3.13, Table 6-43

    + + + + + + + +
    Enumerator
    XRAN_COMPMETHOD_NONE 
    XRAN_COMPMETHOD_BLKFLOAT 
    XRAN_COMPMETHOD_BLKSCALE 
    XRAN_COMPMETHOD_ULAW 
    XRAN_COMPMETHOD_MODULATION 
    XRAN_COMPMETHOD_MAX 
    + +

    Definition at line 203 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ xran_if_state

    + +
    +
    + + + + +
    enum xran_if_state
    +
    + + + + +
    Enumerator
    XRAN_INIT 
    XRAN_RUNNING 
    XRAN_STOPPED 
    + +

    Definition at line 189 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ xran_input_byte_order

    + +
    +
    + + + + +
    enum xran_input_byte_order
    +
    +

    XRAN-PHY interface byte order

    + + + +
    Enumerator
    XRAN_NE_BE_BYTE_ORDER 

    Network byte order (Big endian), xRAN lib doesn't do swap

    +
    XRAN_CPU_LE_BYTE_ORDER 

    CPU byte order (Little endian), xRAN lib does do swap

    +
    + +

    Definition at line 471 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ xran_input_i_q_order

    + +
    +
    + + + + +
    enum xran_input_i_q_order
    +
    +

    XRAN-PHY interface I and Q order

    + + + +
    Enumerator
    XRAN_I_Q_ORDER 

    I , Q

    +
    XRAN_Q_I_ORDER 

    Q , I

    +
    + +

    Definition at line 477 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ xran_vf_ports

    + +
    +
    + + + + +
    enum xran_vf_ports
    +
    +

    XRAN port enum

    + + + + +
    Enumerator
    XRAN_UP_VF 

    port type for U-plane

    +
    XRAN_CP_VF 

    port type for C-plane

    +
    XRAN_VF_MAX 
    + +

    Definition at line 254 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ xran_weight_based_beamforming_type

    + +
    +
    +

    Beamforming type, enumerated as "frequency", "time" or "hybrid" section 10.4.2 Weight-based dynamic beamforming

    + + + + + +
    Enumerator
    XRAN_BF_T_FREQUENCY 
    XRAN_BF_T_TIME 
    XRAN_BF_T_HYBRID 
    XRAN_BF_T_MAX 
    + +

    Definition at line 229 of file xran_fh_o_du.h.

    + +
    +
    + +

    ◆ XranFrameDuplexType

    + +
    +
    + + + + +
    enum XranFrameDuplexType
    +
    + + + +
    Enumerator
    XRAN_FDD 
    XRAN_TDD 
    + +

    Definition at line 184 of file xran_fh_o_du.h.

    + +
    +
    +

    Function Documentation

    + +

    ◆ xran_5g_fronthault_config()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    int32_t xran_5g_fronthault_config (void * pHandle,
    struct xran_buffer_listpSrcBuffer[XRAN_MAX_ANTENNA_NR][XRAN_N_FE_BUF_LEN],
    struct xran_buffer_listpSrcCpBuffer[XRAN_MAX_ANTENNA_NR][XRAN_N_FE_BUF_LEN],
    struct xran_buffer_listpDstBuffer[XRAN_MAX_ANTENNA_NR][XRAN_N_FE_BUF_LEN],
    struct xran_buffer_listpDstCpBuffer[XRAN_MAX_ANTENNA_NR][XRAN_N_FE_BUF_LEN],
    xran_transport_callback_fn pCallback,
    void * pCallbackTag 
    )
    +
    +

    Function configures TX(DL) and RX(UL) output buffers and callback (UL only) for XRAN layer with given handle

    +
    Parameters
    + + + + + + + + +
    pHandlePointer to XRAN layer handle for given CC
    pSrcBufferlist of memory buffers to use to fetch IQs from PHY to XRAN layer (DL)
    pSrcCpBufferlist of memory buffers to use to configure C-plane (DL)
    pDstBufferlist of memory buffers to use to deliver IQs from XRAN layer to PHY (UL)
    pDstCpBufferlist of memory buffers to use to configure C-plane (UL)
    xran_transport_callback_fnpCallback Callback function to call with arrival of all packets for given CC for given symbol
    pCallbackTagParameters of Callback function
    +
    +
    +
    Returns
    0 - on success -1 - on error
    + +

    Definition at line 2551 of file xran_main.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + +
    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + + +
    + +
    +
    + +

    ◆ xran_5g_prach_req()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    int32_t xran_5g_prach_req (void * pHandle,
    struct xran_buffer_listpDstBuffer[XRAN_MAX_ANTENNA_NR][XRAN_N_FE_BUF_LEN],
    xran_transport_callback_fn pCallback,
    void * pCallbackTag 
    )
    +
    +

    Function configures PRACH output buffers and callback for XRAN layer with given handle

    +
    Parameters
    + + + + + +
    pHandlePointer to XRAN layer handle for given CC
    pDstBufferlist of memory buffers to use to deliver PRACH IQs from xran layer to PHY
    xran_transport_callback_fnpCallback Callback function to call with arrival of PRACH packets for given CC
    pCallbackTagParameters of Callback function
    +
    +
    +
    Returns
    0 - on success -1 - on error
    + +

    Definition at line 2636 of file xran_main.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + +
    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + + +
    + +
    +
    + +

    ◆ xran_5g_srs_req()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    int32_t xran_5g_srs_req (void * pHandle,
    struct xran_buffer_listpDstBuffer[XRAN_MAX_ANT_ARRAY_ELM_NR][XRAN_N_FE_BUF_LEN],
    xran_transport_callback_fn pCallback,
    void * pCallbackTag 
    )
    +
    +

    Function configures SRS output buffers and callback for XRAN layer with given handle

    +
    Parameters
    + + + + + +
    pHandlePointer to XRAN layer handle for given CC
    pDstBufferlist of memory buffers to use to deliver SRS IQs from xran layer to PHY
    xran_transport_callback_fnpCallback Callback function to call with arrival of SRS packets for given CC
    pCallbackTagParameters of Callback function
    +
    +
    +
    Returns
    0 - on success -1 - on error
    + +

    Definition at line 2679 of file xran_main.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + +
    + +
    +
    + +

    ◆ xran_add_hdr_offset()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    uint8_t* xran_add_hdr_offset (uint8_t * dst,
    int16_t compMethod 
    )
    +
    +

    Function calculates offset for ptr according to ORAN headers requared

    +
    Parameters
    + + +
    dstpointer to be addjusted compression method according to enum xran_compression_method
    +
    +
    +
    Returns
    ptr - pointer to payload given header requared
    + +

    Definition at line 2741 of file xran_main.c.

    + +
    +
    + +

    ◆ xran_bm_allocate_buffer()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    int32_t xran_bm_allocate_buffer (void * pHandle,
    uint32_t nPoolIndex,
    void ** ppData,
    void ** ppCtrl 
    )
    +
    +

    Function allocates buffer used between XRAN layer and PHY. In general case it's DPDK mbuf.

    +
    Parameters
    + + + + + +
    pHandlePointer to XRAN layer handle for given CC
    nPoolIndexbuffer pool identification
    ppDataPointer to pointer where to store address of new buffer
    ppCtrlPointer to pointer where to store address of internal private control information
    +
    +
    +
    Returns
    0 - on success
    + +

    Definition at line 2499 of file xran_main.c.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + +
    + +
    +
    + +

    ◆ xran_bm_free_buffer()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    int32_t xran_bm_free_buffer (void * pHandle,
    void * pData,
    void * pCtrl 
    )
    +
    +

    Function frees buffer used between XRAN layer and PHY. In general case it's DPDK mbuf

    +
    Parameters
    + + + + +
    pHandlePointer to XRAN layer handle for given CC
    pDataPointer to buffer
    pDataPointer to internal private control information
    +
    +
    +
    Returns
    0 - on success
    + +

    Definition at line 2541 of file xran_main.c.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + +
    + +
    +
    + +

    ◆ xran_bm_init()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    int32_t xran_bm_init (void * pHandle,
    uint32_t * pPoolIndex,
    uint32_t nNumberOfBuffers,
    uint32_t nBufferSize 
    )
    +
    +

    Function allocates buffer memory (bm) used between XRAN layer and PHY. In general case it's DPDK mbuf. it uses Memory Management system to get memory chunk and define memory pool on top of it.

    +
    Parameters
    + + + + + +
    pHandlePointer to XRAN layer handle for given CC
    nPoolIndexpointer to buffer pool identification to be returned
    nNumberOfBuffersnumber of buffer to allocate in the pool
    nBufferSizebuffer size to allocate
    +
    +
    +
    Returns
    0 - on success
    + +

    Definition at line 2454 of file xran_main.c.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + +
    + +
    +
    + +

    ◆ xran_close()

    + +
    +
    + + + + + + + + +
    int32_t xran_close (void * pHandle)
    +
    +

    Function closes XRAN layer with given handle

    +
    Parameters
    + + +
    pHandlePointer to XRAN layer handle for given CC
    +
    +
    +
    Returns
    0 - on success
    + +

    Definition at line 2863 of file xran_main.c.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + + +
    + +
    +
    + +

    ◆ xran_get_common_counters()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    int32_t xran_get_common_counters (void * pXranLayerHandle,
    struct xran_common_counterspStats 
    )
    +
    +

    Function retrun XRAN layer common counters for given handle

    +
    Parameters
    + + + +
    pHandlePointer to XRAN layer handle for given CC
    pStatsPointer to pointer of common counter structure
    +
    +
    +
    Returns
    0 - on success
    + +

    Definition at line 3074 of file xran_main.c.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + +
    + +
    +
    + +

    ◆ xran_get_if_state()

    + +
    +
    + + + + + + + + +
    enum xran_if_state xran_get_if_state (void )
    +
    +

    Function returns status of operation of FH layer

    +
    Returns
    XRAN_INIT - init state XRAN_RUNNING - running XRAN_STOPPED - stopped
    + +

    Definition at line 238 of file xran_main.c.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + +
    + +
    +
    + +

    ◆ xran_get_slot_idx()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    int32_t xran_get_slot_idx (uint32_t * nFrameIdx,
    uint32_t * nSubframeIdx,
    uint32_t * nSlotIdx,
    uint64_t * nSecond 
    )
    +
    +

    Function returns current TTI, Frame, Subframe, Slot Number as seen "Over air" base on PTP time

    +
    Parameters
    + + + + + +
    nFrameIdxPointer to Frame number [0-99]
    nSubframeIdxPointer to Subframe number [0-10]
    nSlotIdxPointer to Slot number [0-7]
    nSecondPointer to current UTC second
    +
    +
    +
    Returns
    current TTI number [0-7999]
    + +

    Definition at line 2936 of file xran_main.c.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + +
    + +
    +
    + +

    ◆ xran_get_time_stats()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    uint32_t xran_get_time_stats (uint64_t * total_time,
    uint64_t * used_time,
    uint32_t * core_used,
    uint32_t clear 
    )
    +
    +

    Function returns XRAN core utilization stats

    +
    Parameters
    + + + + + +
    total_time(out) Pointer to variable to store Total time thread has been running
    used_time(out) Pointer to variable to store Total time essential tasks have been running on the thread
    core_used(out) Pointer to variable to store Core on which the XRAN thread is running
    clear(in) If set to 1, then internal variables total_time and used_time are cleared
    +
    +
    +
    Returns
    0 - on success
    + +

    Definition at line 2721 of file xran_main.c.

    + +
    +
    + +

    ◆ xran_init()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    int32_t xran_init (int argc,
    char * argv[],
    struct xran_fh_initp_xran_fh_init,
    char * appName,
    void ** pHandle 
    )
    +
    +

    Initialize the XRAN Layer via DPDK.

    +
    Parameters
    + + + +
    argcA non-negative value. If it is greater than 0, the array members for argv[0] through argv[argc] (non-inclusive) shall contain pointers to strings.
    argvAn array of strings. The contents of the array, as well as the strings which are pointed to by the array, may be modified by this function.
    +
    +
    +
    Returns
    0 - on success Error codes returned via rte_errno
    + +

    Definition at line 2319 of file xran_main.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + + + + + + + + + + + + + + + +
    +
    +Here is the caller graph for this function:
    +
    +
    + + + +
    + +
    +
    + +

    ◆ xran_malloc()

    + +
    +
    + + + + + + + + +
    void* xran_malloc (size_t buf_len)
    +
    +

    Function allocates memory of given size from heap

    +
    Parameters
    + + +
    buf_lenbuffer size
    +
    +
    +
    Returns
    ptr - to memory buffer or NULL
    + +

    Definition at line 2736 of file xran_main.c.

    + +
    +
    + +

    ◆ xran_mm_destroy()

    + +
    +
    + + + + + + + + +
    int32_t xran_mm_destroy (void * pHandle)
    +
    +

    Function destroys Memory Management (MM) layer of XRAN library

    +
    Parameters
    + + +
    pHandlePointer to XRAN layer handle for given CC
    +
    +
    +
    Returns
    0 - on success
    + +

    Definition at line 2877 of file xran_main.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + +
    +
    +Here is the caller graph for this function:
    +
    +
    + + + + +
    + +
    +
    + +

    ◆ xran_mm_init()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    int32_t xran_mm_init (void * pHandle,
    uint64_t nMemorySize,
    uint32_t nMemorySegmentSize 
    )
    +
    +

    Function initialize Memory Management subsystem (mm) in order to handle memory buffers between XRAN layer and PHY.

    +
    Parameters
    + + + + +
    pHandlePointer to XRAN layer handle for given CC
    nMemorySizememory size of all segments
    nMemorySegmentSizesize of memory per segment
    +
    +
    +
    Returns
    0 - on success
    + +

    Definition at line 2447 of file xran_main.c.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + +
    + +
    +
    + +

    ◆ xran_open()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    int32_t xran_open (void * pHandle,
    struct xran_fh_configpConf 
    )
    +
    +

    Function opens XRAN layer with given handle

    +
    Parameters
    + + + +
    pHandlePointer to XRAN layer handle for given CC
    pointerto struct xran_fh_config pConf Pointer to XRAN configuration structure with specific settings to use
    +
    +
    +
    Returns
    0 - on success
    + +

    Definition at line 2756 of file xran_main.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + + + + + + + + + + + + + +
    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + + +
    + +
    +
    + +

    ◆ xran_reg_physide_cb()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    int32_t xran_reg_physide_cb (void * pHandle,
    xran_fh_tti_callback_fn Cb,
    void * cbParam,
    int skipTtiNum,
    enum callback_to_phy_id 
    )
    +
    +

    Function registers callback to XRAN layer. Function support callbacks align to OTA time. TTI even, half of slot, full slot with respect to PTP time.

    +
    Parameters
    + + + + + + +
    pHandlePointer to XRAN layer handle for given CC
    Cbpointer to callback function
    cbParampointer to Callback Function parameters
    skipTtiNumnumber of calls to be skipped before first call
    callback_to_phy_idcall back time identification (see enum callback_to_phy_id)
    +
    +
    +
    Returns
    0 - in case of success -1 - in case of failure
    + +

    Definition at line 2900 of file xran_main.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + + +
    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + + +
    + +
    +
    + +

    ◆ xran_reg_sym_cb()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    int32_t xran_reg_sym_cb (void * pHandle,
    xran_callback_sym_fn symCb,
    void * symCbParam,
    uint8_t symb,
    uint8_t ant 
    )
    +
    +

    Function registers callback to XRAN layer. Function support callbacks aligned on packet arrival.

    +
    Parameters
    + + + + + + +
    pHandlePointer to XRAN layer handle for given CC
    symCbpointer to callback function
    symCbpointer to Callback Function parameters
    symbsymbol to be register for
    antAntenna number to trigger callback for packet arrival
    +
    +
    +
    Returns
    0 - in case of success -1 - in case of failure
    + +

    Definition at line 2888 of file xran_main.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + +
    +
    +Here is the caller graph for this function:
    +
    +
    + + + +
    + +
    +
    + +

    ◆ xran_sector_get_instances()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    int32_t xran_sector_get_instances (void * pHandle,
    uint16_t nNumInstances,
    xran_cc_handle_tpSectorInstanceHandles 
    )
    +
    +

    Function returns handles for number of sectors supported by XRAN layer. Currently function supports one handle XRAN layer where it supports only one CC

    +
    Parameters
    + + + + +
    pHandlePointer to XRAN layer handle
    nNumInstancestotal number of instances of CC
    pSectorInstanceHandlesPointer to xran_cc_handle_t where to store Handle pointer
    +
    +
    +
    Returns
    0 - on success
    + +

    Definition at line 2408 of file xran_main.c.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + +
    + +
    +
    + +

    ◆ xran_start()

    + +
    +
    + + + + + + + + +
    int32_t xran_start (void * pHandle)
    +
    +

    Function starts XRAN layer with given handle

    +
    Parameters
    + + +
    pHandlePointer to XRAN layer handle for given CC
    +
    +
    +
    Returns
    0 - on success
    + +

    Definition at line 2841 of file xran_main.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + +
    +
    +Here is the caller graph for this function:
    +
    +
    + + + + +
    + +
    +
    + +

    ◆ xran_stop()

    + +
    +
    + + + + + + + + +
    int32_t xran_stop (void * pHandle)
    +
    +

    Function stops XRAN layer with given handle

    +
    Parameters
    + + +
    pHandlePointer to XRAN layer handle for given CC
    +
    +
    +
    Returns
    0 - on success
    + +

    Definition at line 2852 of file xran_main.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + +
    +
    +Here is the caller graph for this function:
    +
    +
    + + + + +
    + +
    +
    +
    + + + + diff --git a/docs/API/xran__fh__o__du_8h__dep__incl.map b/docs/API/xran__fh__o__du_8h__dep__incl.map new file mode 100644 index 0000000..51d0f01 --- /dev/null +++ b/docs/API/xran__fh__o__du_8h__dep__incl.map @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/API/xran__fh__o__du_8h__dep__incl.md5 b/docs/API/xran__fh__o__du_8h__dep__incl.md5 new file mode 100644 index 0000000..eb9f3ad --- /dev/null +++ b/docs/API/xran__fh__o__du_8h__dep__incl.md5 @@ -0,0 +1 @@ +60d154560bc02b1f374bb9ea7c48c100 \ No newline at end of file diff --git a/docs/API/xran__fh__o__du_8h__dep__incl.png b/docs/API/xran__fh__o__du_8h__dep__incl.png new file mode 100644 index 0000000..65dc568 Binary files /dev/null and b/docs/API/xran__fh__o__du_8h__dep__incl.png differ diff --git a/docs/API/xran__fh__o__du_8h__incl.map b/docs/API/xran__fh__o__du_8h__incl.map new file mode 100644 index 0000000..2c5a4f9 --- /dev/null +++ b/docs/API/xran__fh__o__du_8h__incl.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/xran__fh__o__du_8h__incl.md5 b/docs/API/xran__fh__o__du_8h__incl.md5 new file mode 100644 index 0000000..0585550 --- /dev/null +++ b/docs/API/xran__fh__o__du_8h__incl.md5 @@ -0,0 +1 @@ +15de9160c396c5217b6ad5701591948e \ No newline at end of file diff --git a/docs/API/xran__fh__o__du_8h__incl.png b/docs/API/xran__fh__o__du_8h__incl.png new file mode 100644 index 0000000..8105411 Binary files /dev/null and b/docs/API/xran__fh__o__du_8h__incl.png differ diff --git a/docs/API/xran__fh__o__du_8h_a03f408f45e97aa68ca47c92e4e7d1a70_cgraph.map b/docs/API/xran__fh__o__du_8h_a03f408f45e97aa68ca47c92e4e7d1a70_cgraph.map new file mode 100644 index 0000000..2a78dde --- /dev/null +++ b/docs/API/xran__fh__o__du_8h_a03f408f45e97aa68ca47c92e4e7d1a70_cgraph.map @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/docs/API/xran__fh__o__du_8h_a03f408f45e97aa68ca47c92e4e7d1a70_cgraph.md5 b/docs/API/xran__fh__o__du_8h_a03f408f45e97aa68ca47c92e4e7d1a70_cgraph.md5 new file mode 100644 index 0000000..3c8c7e6 --- /dev/null +++ b/docs/API/xran__fh__o__du_8h_a03f408f45e97aa68ca47c92e4e7d1a70_cgraph.md5 @@ -0,0 +1 @@ +1fa6cafbcfe826c4bcb76c78a6bb08e0 \ No newline at end of file diff --git a/docs/API/xran__fh__o__du_8h_a03f408f45e97aa68ca47c92e4e7d1a70_cgraph.png b/docs/API/xran__fh__o__du_8h_a03f408f45e97aa68ca47c92e4e7d1a70_cgraph.png new file mode 100644 index 0000000..8fca797 Binary files /dev/null and b/docs/API/xran__fh__o__du_8h_a03f408f45e97aa68ca47c92e4e7d1a70_cgraph.png differ diff --git a/docs/API/xran__fh__o__du_8h_a03f408f45e97aa68ca47c92e4e7d1a70_icgraph.map b/docs/API/xran__fh__o__du_8h_a03f408f45e97aa68ca47c92e4e7d1a70_icgraph.map new file mode 100644 index 0000000..8c99b2c --- /dev/null +++ b/docs/API/xran__fh__o__du_8h_a03f408f45e97aa68ca47c92e4e7d1a70_icgraph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/API/xran__fh__o__du_8h_a03f408f45e97aa68ca47c92e4e7d1a70_icgraph.md5 b/docs/API/xran__fh__o__du_8h_a03f408f45e97aa68ca47c92e4e7d1a70_icgraph.md5 new file mode 100644 index 0000000..d38146a --- /dev/null +++ b/docs/API/xran__fh__o__du_8h_a03f408f45e97aa68ca47c92e4e7d1a70_icgraph.md5 @@ -0,0 +1 @@ +9577d67986faf854cd58c266cfe70001 \ No newline at end of file diff --git a/docs/API/xran__fh__o__du_8h_a03f408f45e97aa68ca47c92e4e7d1a70_icgraph.png b/docs/API/xran__fh__o__du_8h_a03f408f45e97aa68ca47c92e4e7d1a70_icgraph.png new file mode 100644 index 0000000..944e143 Binary files /dev/null and b/docs/API/xran__fh__o__du_8h_a03f408f45e97aa68ca47c92e4e7d1a70_icgraph.png differ diff --git a/docs/API/xran__fh__o__du_8h_a0f904fe772b55bcfc449759a23063aa3_icgraph.map b/docs/API/xran__fh__o__du_8h_a0f904fe772b55bcfc449759a23063aa3_icgraph.map new file mode 100644 index 0000000..b583db8 --- /dev/null +++ b/docs/API/xran__fh__o__du_8h_a0f904fe772b55bcfc449759a23063aa3_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/xran__fh__o__du_8h_a0f904fe772b55bcfc449759a23063aa3_icgraph.md5 b/docs/API/xran__fh__o__du_8h_a0f904fe772b55bcfc449759a23063aa3_icgraph.md5 new file mode 100644 index 0000000..b24c85e --- /dev/null +++ b/docs/API/xran__fh__o__du_8h_a0f904fe772b55bcfc449759a23063aa3_icgraph.md5 @@ -0,0 +1 @@ +75bdb1d1b78dc91cd71678b36c47d23a \ No newline at end of file diff --git a/docs/API/xran__fh__o__du_8h_a0f904fe772b55bcfc449759a23063aa3_icgraph.png b/docs/API/xran__fh__o__du_8h_a0f904fe772b55bcfc449759a23063aa3_icgraph.png new file mode 100644 index 0000000..e89c53f Binary files /dev/null and b/docs/API/xran__fh__o__du_8h_a0f904fe772b55bcfc449759a23063aa3_icgraph.png differ diff --git a/docs/API/xran__fh__o__du_8h_a2816fdf0ed3269e998720d01c2b6bf76_icgraph.map b/docs/API/xran__fh__o__du_8h_a2816fdf0ed3269e998720d01c2b6bf76_icgraph.map new file mode 100644 index 0000000..93ef27f --- /dev/null +++ b/docs/API/xran__fh__o__du_8h_a2816fdf0ed3269e998720d01c2b6bf76_icgraph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/API/xran__fh__o__du_8h_a2816fdf0ed3269e998720d01c2b6bf76_icgraph.md5 b/docs/API/xran__fh__o__du_8h_a2816fdf0ed3269e998720d01c2b6bf76_icgraph.md5 new file mode 100644 index 0000000..39d05cb --- /dev/null +++ b/docs/API/xran__fh__o__du_8h_a2816fdf0ed3269e998720d01c2b6bf76_icgraph.md5 @@ -0,0 +1 @@ +b4925777f001f9a3792d0400bb8a98ca \ No newline at end of file diff --git a/docs/API/xran__fh__o__du_8h_a2816fdf0ed3269e998720d01c2b6bf76_icgraph.png b/docs/API/xran__fh__o__du_8h_a2816fdf0ed3269e998720d01c2b6bf76_icgraph.png new file mode 100644 index 0000000..ca99d37 Binary files /dev/null and b/docs/API/xran__fh__o__du_8h_a2816fdf0ed3269e998720d01c2b6bf76_icgraph.png differ diff --git a/docs/API/xran__fh__o__du_8h_a2bd01fc3432f80a787d6bf317949dd80_cgraph.map b/docs/API/xran__fh__o__du_8h_a2bd01fc3432f80a787d6bf317949dd80_cgraph.map new file mode 100644 index 0000000..26259cd --- /dev/null +++ b/docs/API/xran__fh__o__du_8h_a2bd01fc3432f80a787d6bf317949dd80_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/xran__fh__o__du_8h_a2bd01fc3432f80a787d6bf317949dd80_cgraph.md5 b/docs/API/xran__fh__o__du_8h_a2bd01fc3432f80a787d6bf317949dd80_cgraph.md5 new file mode 100644 index 0000000..c0136d2 --- /dev/null +++ b/docs/API/xran__fh__o__du_8h_a2bd01fc3432f80a787d6bf317949dd80_cgraph.md5 @@ -0,0 +1 @@ +21768668f5df2f0d5ad9cecec7a5313e \ No newline at end of file diff --git a/docs/API/xran__fh__o__du_8h_a2bd01fc3432f80a787d6bf317949dd80_cgraph.png b/docs/API/xran__fh__o__du_8h_a2bd01fc3432f80a787d6bf317949dd80_cgraph.png new file mode 100644 index 0000000..2b28349 Binary files /dev/null and b/docs/API/xran__fh__o__du_8h_a2bd01fc3432f80a787d6bf317949dd80_cgraph.png differ diff --git a/docs/API/xran__fh__o__du_8h_a2f8866c9d6536a56e4d8232b8c45808b_icgraph.map b/docs/API/xran__fh__o__du_8h_a2f8866c9d6536a56e4d8232b8c45808b_icgraph.map new file mode 100644 index 0000000..40f3bc1 --- /dev/null +++ b/docs/API/xran__fh__o__du_8h_a2f8866c9d6536a56e4d8232b8c45808b_icgraph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/API/xran__fh__o__du_8h_a2f8866c9d6536a56e4d8232b8c45808b_icgraph.md5 b/docs/API/xran__fh__o__du_8h_a2f8866c9d6536a56e4d8232b8c45808b_icgraph.md5 new file mode 100644 index 0000000..c1395d6 --- /dev/null +++ b/docs/API/xran__fh__o__du_8h_a2f8866c9d6536a56e4d8232b8c45808b_icgraph.md5 @@ -0,0 +1 @@ +568f26f4858d11812adb84471e16df40 \ No newline at end of file diff --git a/docs/API/xran__fh__o__du_8h_a2f8866c9d6536a56e4d8232b8c45808b_icgraph.png b/docs/API/xran__fh__o__du_8h_a2f8866c9d6536a56e4d8232b8c45808b_icgraph.png new file mode 100644 index 0000000..a30768a Binary files /dev/null and b/docs/API/xran__fh__o__du_8h_a2f8866c9d6536a56e4d8232b8c45808b_icgraph.png differ diff --git a/docs/API/xran__fh__o__du_8h_a39a9f7b5d01979eb1f8d806d6b9c50fe_icgraph.map b/docs/API/xran__fh__o__du_8h_a39a9f7b5d01979eb1f8d806d6b9c50fe_icgraph.map new file mode 100644 index 0000000..8336530 --- /dev/null +++ b/docs/API/xran__fh__o__du_8h_a39a9f7b5d01979eb1f8d806d6b9c50fe_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/xran__fh__o__du_8h_a39a9f7b5d01979eb1f8d806d6b9c50fe_icgraph.md5 b/docs/API/xran__fh__o__du_8h_a39a9f7b5d01979eb1f8d806d6b9c50fe_icgraph.md5 new file mode 100644 index 0000000..01cda81 --- /dev/null +++ b/docs/API/xran__fh__o__du_8h_a39a9f7b5d01979eb1f8d806d6b9c50fe_icgraph.md5 @@ -0,0 +1 @@ +b521b18f80222301b589d7c15a39b086 \ No newline at end of file diff --git a/docs/API/xran__fh__o__du_8h_a39a9f7b5d01979eb1f8d806d6b9c50fe_icgraph.png b/docs/API/xran__fh__o__du_8h_a39a9f7b5d01979eb1f8d806d6b9c50fe_icgraph.png new file mode 100644 index 0000000..ed3a36e Binary files /dev/null and b/docs/API/xran__fh__o__du_8h_a39a9f7b5d01979eb1f8d806d6b9c50fe_icgraph.png differ diff --git a/docs/API/xran__fh__o__du_8h_a3efe8aba779b0a2f90adc02065579f5f_cgraph.map b/docs/API/xran__fh__o__du_8h_a3efe8aba779b0a2f90adc02065579f5f_cgraph.map new file mode 100644 index 0000000..f083617 --- /dev/null +++ b/docs/API/xran__fh__o__du_8h_a3efe8aba779b0a2f90adc02065579f5f_cgraph.map @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/docs/API/xran__fh__o__du_8h_a3efe8aba779b0a2f90adc02065579f5f_cgraph.md5 b/docs/API/xran__fh__o__du_8h_a3efe8aba779b0a2f90adc02065579f5f_cgraph.md5 new file mode 100644 index 0000000..4e01eaf --- /dev/null +++ b/docs/API/xran__fh__o__du_8h_a3efe8aba779b0a2f90adc02065579f5f_cgraph.md5 @@ -0,0 +1 @@ +a9d1346e0446942812b5da0aebd0297c \ No newline at end of file diff --git a/docs/API/xran__fh__o__du_8h_a3efe8aba779b0a2f90adc02065579f5f_cgraph.png b/docs/API/xran__fh__o__du_8h_a3efe8aba779b0a2f90adc02065579f5f_cgraph.png new file mode 100644 index 0000000..bc40183 Binary files /dev/null and b/docs/API/xran__fh__o__du_8h_a3efe8aba779b0a2f90adc02065579f5f_cgraph.png differ diff --git a/docs/API/xran__fh__o__du_8h_a3efe8aba779b0a2f90adc02065579f5f_icgraph.map b/docs/API/xran__fh__o__du_8h_a3efe8aba779b0a2f90adc02065579f5f_icgraph.map new file mode 100644 index 0000000..9838a3d --- /dev/null +++ b/docs/API/xran__fh__o__du_8h_a3efe8aba779b0a2f90adc02065579f5f_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/xran__fh__o__du_8h_a3efe8aba779b0a2f90adc02065579f5f_icgraph.md5 b/docs/API/xran__fh__o__du_8h_a3efe8aba779b0a2f90adc02065579f5f_icgraph.md5 new file mode 100644 index 0000000..8ed7517 --- /dev/null +++ b/docs/API/xran__fh__o__du_8h_a3efe8aba779b0a2f90adc02065579f5f_icgraph.md5 @@ -0,0 +1 @@ +38014e7d24e23a38d5f79552e2d36ba5 \ No newline at end of file diff --git a/docs/API/xran__fh__o__du_8h_a3efe8aba779b0a2f90adc02065579f5f_icgraph.png b/docs/API/xran__fh__o__du_8h_a3efe8aba779b0a2f90adc02065579f5f_icgraph.png new file mode 100644 index 0000000..77d21ce Binary files /dev/null and b/docs/API/xran__fh__o__du_8h_a3efe8aba779b0a2f90adc02065579f5f_icgraph.png differ diff --git a/docs/API/xran__fh__o__du_8h_a4120602c15ddabfc3372e238d17f0414_cgraph.map b/docs/API/xran__fh__o__du_8h_a4120602c15ddabfc3372e238d17f0414_cgraph.map new file mode 100644 index 0000000..512036e --- /dev/null +++ b/docs/API/xran__fh__o__du_8h_a4120602c15ddabfc3372e238d17f0414_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/xran__fh__o__du_8h_a4120602c15ddabfc3372e238d17f0414_cgraph.md5 b/docs/API/xran__fh__o__du_8h_a4120602c15ddabfc3372e238d17f0414_cgraph.md5 new file mode 100644 index 0000000..14496a4 --- /dev/null +++ b/docs/API/xran__fh__o__du_8h_a4120602c15ddabfc3372e238d17f0414_cgraph.md5 @@ -0,0 +1 @@ +9825240600c775c1ac2f9fa53e4b3f35 \ No newline at end of file diff --git a/docs/API/xran__fh__o__du_8h_a4120602c15ddabfc3372e238d17f0414_cgraph.png b/docs/API/xran__fh__o__du_8h_a4120602c15ddabfc3372e238d17f0414_cgraph.png new file mode 100644 index 0000000..289c5e7 Binary files /dev/null and b/docs/API/xran__fh__o__du_8h_a4120602c15ddabfc3372e238d17f0414_cgraph.png differ diff --git a/docs/API/xran__fh__o__du_8h_a4120602c15ddabfc3372e238d17f0414_icgraph.map b/docs/API/xran__fh__o__du_8h_a4120602c15ddabfc3372e238d17f0414_icgraph.map new file mode 100644 index 0000000..472eb85 --- /dev/null +++ b/docs/API/xran__fh__o__du_8h_a4120602c15ddabfc3372e238d17f0414_icgraph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/xran__fh__o__du_8h_a4120602c15ddabfc3372e238d17f0414_icgraph.md5 b/docs/API/xran__fh__o__du_8h_a4120602c15ddabfc3372e238d17f0414_icgraph.md5 new file mode 100644 index 0000000..b882f7d --- /dev/null +++ b/docs/API/xran__fh__o__du_8h_a4120602c15ddabfc3372e238d17f0414_icgraph.md5 @@ -0,0 +1 @@ +d15f6ffc56deb3dcd9611b5f8db4f2b1 \ No newline at end of file diff --git a/docs/API/xran__fh__o__du_8h_a4120602c15ddabfc3372e238d17f0414_icgraph.png b/docs/API/xran__fh__o__du_8h_a4120602c15ddabfc3372e238d17f0414_icgraph.png new file mode 100644 index 0000000..6591699 Binary files /dev/null and b/docs/API/xran__fh__o__du_8h_a4120602c15ddabfc3372e238d17f0414_icgraph.png differ diff --git a/docs/API/xran__fh__o__du_8h_a8f2daee2fe90126f1f7c361b7760a7a3_cgraph.map b/docs/API/xran__fh__o__du_8h_a8f2daee2fe90126f1f7c361b7760a7a3_cgraph.map new file mode 100644 index 0000000..a83ff70 --- /dev/null +++ b/docs/API/xran__fh__o__du_8h_a8f2daee2fe90126f1f7c361b7760a7a3_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/xran__fh__o__du_8h_a8f2daee2fe90126f1f7c361b7760a7a3_cgraph.md5 b/docs/API/xran__fh__o__du_8h_a8f2daee2fe90126f1f7c361b7760a7a3_cgraph.md5 new file mode 100644 index 0000000..9410162 --- /dev/null +++ b/docs/API/xran__fh__o__du_8h_a8f2daee2fe90126f1f7c361b7760a7a3_cgraph.md5 @@ -0,0 +1 @@ +d38f56958fe483d23eedeb0d76d93df2 \ No newline at end of file diff --git a/docs/API/xran__fh__o__du_8h_a8f2daee2fe90126f1f7c361b7760a7a3_cgraph.png b/docs/API/xran__fh__o__du_8h_a8f2daee2fe90126f1f7c361b7760a7a3_cgraph.png new file mode 100644 index 0000000..55422a4 Binary files /dev/null and b/docs/API/xran__fh__o__du_8h_a8f2daee2fe90126f1f7c361b7760a7a3_cgraph.png differ diff --git a/docs/API/xran__fh__o__du_8h_a8f2daee2fe90126f1f7c361b7760a7a3_icgraph.map b/docs/API/xran__fh__o__du_8h_a8f2daee2fe90126f1f7c361b7760a7a3_icgraph.map new file mode 100644 index 0000000..c4c0645 --- /dev/null +++ b/docs/API/xran__fh__o__du_8h_a8f2daee2fe90126f1f7c361b7760a7a3_icgraph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/xran__fh__o__du_8h_a8f2daee2fe90126f1f7c361b7760a7a3_icgraph.md5 b/docs/API/xran__fh__o__du_8h_a8f2daee2fe90126f1f7c361b7760a7a3_icgraph.md5 new file mode 100644 index 0000000..e836f16 --- /dev/null +++ b/docs/API/xran__fh__o__du_8h_a8f2daee2fe90126f1f7c361b7760a7a3_icgraph.md5 @@ -0,0 +1 @@ +c0e469b201f8284154f5e17acb55bf61 \ No newline at end of file diff --git a/docs/API/xran__fh__o__du_8h_a8f2daee2fe90126f1f7c361b7760a7a3_icgraph.png b/docs/API/xran__fh__o__du_8h_a8f2daee2fe90126f1f7c361b7760a7a3_icgraph.png new file mode 100644 index 0000000..8f3e078 Binary files /dev/null and b/docs/API/xran__fh__o__du_8h_a8f2daee2fe90126f1f7c361b7760a7a3_icgraph.png differ diff --git a/docs/API/xran__fh__o__du_8h_a937105f52446cfcb951e43e1dc3c4d8b_icgraph.map b/docs/API/xran__fh__o__du_8h_a937105f52446cfcb951e43e1dc3c4d8b_icgraph.map new file mode 100644 index 0000000..410c9ab --- /dev/null +++ b/docs/API/xran__fh__o__du_8h_a937105f52446cfcb951e43e1dc3c4d8b_icgraph.map @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/API/xran__fh__o__du_8h_a937105f52446cfcb951e43e1dc3c4d8b_icgraph.md5 b/docs/API/xran__fh__o__du_8h_a937105f52446cfcb951e43e1dc3c4d8b_icgraph.md5 new file mode 100644 index 0000000..d075f8e --- /dev/null +++ b/docs/API/xran__fh__o__du_8h_a937105f52446cfcb951e43e1dc3c4d8b_icgraph.md5 @@ -0,0 +1 @@ +607bd34e2832e913e5c6398236f46477 \ No newline at end of file diff --git a/docs/API/xran__fh__o__du_8h_a937105f52446cfcb951e43e1dc3c4d8b_icgraph.png b/docs/API/xran__fh__o__du_8h_a937105f52446cfcb951e43e1dc3c4d8b_icgraph.png new file mode 100644 index 0000000..fe5f3f2 Binary files /dev/null and b/docs/API/xran__fh__o__du_8h_a937105f52446cfcb951e43e1dc3c4d8b_icgraph.png differ diff --git a/docs/API/xran__fh__o__du_8h_a999189549fd6b524b733ddd61f1f9962_icgraph.map b/docs/API/xran__fh__o__du_8h_a999189549fd6b524b733ddd61f1f9962_icgraph.map new file mode 100644 index 0000000..ea6e47e --- /dev/null +++ b/docs/API/xran__fh__o__du_8h_a999189549fd6b524b733ddd61f1f9962_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/xran__fh__o__du_8h_a999189549fd6b524b733ddd61f1f9962_icgraph.md5 b/docs/API/xran__fh__o__du_8h_a999189549fd6b524b733ddd61f1f9962_icgraph.md5 new file mode 100644 index 0000000..89e478d --- /dev/null +++ b/docs/API/xran__fh__o__du_8h_a999189549fd6b524b733ddd61f1f9962_icgraph.md5 @@ -0,0 +1 @@ +f22505d8f7695cdbb4e76d6d7774a05d \ No newline at end of file diff --git a/docs/API/xran__fh__o__du_8h_a999189549fd6b524b733ddd61f1f9962_icgraph.png b/docs/API/xran__fh__o__du_8h_a999189549fd6b524b733ddd61f1f9962_icgraph.png new file mode 100644 index 0000000..6d391a9 Binary files /dev/null and b/docs/API/xran__fh__o__du_8h_a999189549fd6b524b733ddd61f1f9962_icgraph.png differ diff --git a/docs/API/xran__fh__o__du_8h_aa8354b56b0be4be47c44a8a5c38db86e_cgraph.map b/docs/API/xran__fh__o__du_8h_aa8354b56b0be4be47c44a8a5c38db86e_cgraph.map new file mode 100644 index 0000000..b908ef6 --- /dev/null +++ b/docs/API/xran__fh__o__du_8h_aa8354b56b0be4be47c44a8a5c38db86e_cgraph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/xran__fh__o__du_8h_aa8354b56b0be4be47c44a8a5c38db86e_cgraph.md5 b/docs/API/xran__fh__o__du_8h_aa8354b56b0be4be47c44a8a5c38db86e_cgraph.md5 new file mode 100644 index 0000000..b8324fe --- /dev/null +++ b/docs/API/xran__fh__o__du_8h_aa8354b56b0be4be47c44a8a5c38db86e_cgraph.md5 @@ -0,0 +1 @@ +c4b28af34e35d657dae988ec18ca8d36 \ No newline at end of file diff --git a/docs/API/xran__fh__o__du_8h_aa8354b56b0be4be47c44a8a5c38db86e_cgraph.png b/docs/API/xran__fh__o__du_8h_aa8354b56b0be4be47c44a8a5c38db86e_cgraph.png new file mode 100644 index 0000000..8696957 Binary files /dev/null and b/docs/API/xran__fh__o__du_8h_aa8354b56b0be4be47c44a8a5c38db86e_cgraph.png differ diff --git a/docs/API/xran__fh__o__du_8h_aa8354b56b0be4be47c44a8a5c38db86e_icgraph.map b/docs/API/xran__fh__o__du_8h_aa8354b56b0be4be47c44a8a5c38db86e_icgraph.map new file mode 100644 index 0000000..ff1903f --- /dev/null +++ b/docs/API/xran__fh__o__du_8h_aa8354b56b0be4be47c44a8a5c38db86e_icgraph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/API/xran__fh__o__du_8h_aa8354b56b0be4be47c44a8a5c38db86e_icgraph.md5 b/docs/API/xran__fh__o__du_8h_aa8354b56b0be4be47c44a8a5c38db86e_icgraph.md5 new file mode 100644 index 0000000..6a1d70d --- /dev/null +++ b/docs/API/xran__fh__o__du_8h_aa8354b56b0be4be47c44a8a5c38db86e_icgraph.md5 @@ -0,0 +1 @@ +fb602090325de9856174f9a7dba4df08 \ No newline at end of file diff --git a/docs/API/xran__fh__o__du_8h_aa8354b56b0be4be47c44a8a5c38db86e_icgraph.png b/docs/API/xran__fh__o__du_8h_aa8354b56b0be4be47c44a8a5c38db86e_icgraph.png new file mode 100644 index 0000000..0c5549d Binary files /dev/null and b/docs/API/xran__fh__o__du_8h_aa8354b56b0be4be47c44a8a5c38db86e_icgraph.png differ diff --git a/docs/API/xran__fh__o__du_8h_ab204e979de14c21d34e9b88c6c700d25_cgraph.map b/docs/API/xran__fh__o__du_8h_ab204e979de14c21d34e9b88c6c700d25_cgraph.map new file mode 100644 index 0000000..dd77933 --- /dev/null +++ b/docs/API/xran__fh__o__du_8h_ab204e979de14c21d34e9b88c6c700d25_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/xran__fh__o__du_8h_ab204e979de14c21d34e9b88c6c700d25_cgraph.md5 b/docs/API/xran__fh__o__du_8h_ab204e979de14c21d34e9b88c6c700d25_cgraph.md5 new file mode 100644 index 0000000..1b75854 --- /dev/null +++ b/docs/API/xran__fh__o__du_8h_ab204e979de14c21d34e9b88c6c700d25_cgraph.md5 @@ -0,0 +1 @@ +82fdb6b55466797f10c858d5da3ca36d \ No newline at end of file diff --git a/docs/API/xran__fh__o__du_8h_ab204e979de14c21d34e9b88c6c700d25_cgraph.png b/docs/API/xran__fh__o__du_8h_ab204e979de14c21d34e9b88c6c700d25_cgraph.png new file mode 100644 index 0000000..505201c Binary files /dev/null and b/docs/API/xran__fh__o__du_8h_ab204e979de14c21d34e9b88c6c700d25_cgraph.png differ diff --git a/docs/API/xran__fh__o__du_8h_ab204e979de14c21d34e9b88c6c700d25_icgraph.map b/docs/API/xran__fh__o__du_8h_ab204e979de14c21d34e9b88c6c700d25_icgraph.map new file mode 100644 index 0000000..cdabd54 --- /dev/null +++ b/docs/API/xran__fh__o__du_8h_ab204e979de14c21d34e9b88c6c700d25_icgraph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/API/xran__fh__o__du_8h_ab204e979de14c21d34e9b88c6c700d25_icgraph.md5 b/docs/API/xran__fh__o__du_8h_ab204e979de14c21d34e9b88c6c700d25_icgraph.md5 new file mode 100644 index 0000000..bce96a9 --- /dev/null +++ b/docs/API/xran__fh__o__du_8h_ab204e979de14c21d34e9b88c6c700d25_icgraph.md5 @@ -0,0 +1 @@ +961ba9d4aa0149459b13c97af0177602 \ No newline at end of file diff --git a/docs/API/xran__fh__o__du_8h_ab204e979de14c21d34e9b88c6c700d25_icgraph.png b/docs/API/xran__fh__o__du_8h_ab204e979de14c21d34e9b88c6c700d25_icgraph.png new file mode 100644 index 0000000..fd55512 Binary files /dev/null and b/docs/API/xran__fh__o__du_8h_ab204e979de14c21d34e9b88c6c700d25_icgraph.png differ diff --git a/docs/API/xran__fh__o__du_8h_ac153c5a3e3f4f64ab0fafca6f593c380_icgraph.map b/docs/API/xran__fh__o__du_8h_ac153c5a3e3f4f64ab0fafca6f593c380_icgraph.map new file mode 100644 index 0000000..1e3d371 --- /dev/null +++ b/docs/API/xran__fh__o__du_8h_ac153c5a3e3f4f64ab0fafca6f593c380_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/xran__fh__o__du_8h_ac153c5a3e3f4f64ab0fafca6f593c380_icgraph.md5 b/docs/API/xran__fh__o__du_8h_ac153c5a3e3f4f64ab0fafca6f593c380_icgraph.md5 new file mode 100644 index 0000000..dfed359 --- /dev/null +++ b/docs/API/xran__fh__o__du_8h_ac153c5a3e3f4f64ab0fafca6f593c380_icgraph.md5 @@ -0,0 +1 @@ +652580206a8be2e7bead7d204b9a93be \ No newline at end of file diff --git a/docs/API/xran__fh__o__du_8h_ac153c5a3e3f4f64ab0fafca6f593c380_icgraph.png b/docs/API/xran__fh__o__du_8h_ac153c5a3e3f4f64ab0fafca6f593c380_icgraph.png new file mode 100644 index 0000000..125733c Binary files /dev/null and b/docs/API/xran__fh__o__du_8h_ac153c5a3e3f4f64ab0fafca6f593c380_icgraph.png differ diff --git a/docs/API/xran__fh__o__du_8h_ac94e2474beef3b68521cfd391211b1be_cgraph.map b/docs/API/xran__fh__o__du_8h_ac94e2474beef3b68521cfd391211b1be_cgraph.map new file mode 100644 index 0000000..982166a --- /dev/null +++ b/docs/API/xran__fh__o__du_8h_ac94e2474beef3b68521cfd391211b1be_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/xran__fh__o__du_8h_ac94e2474beef3b68521cfd391211b1be_cgraph.md5 b/docs/API/xran__fh__o__du_8h_ac94e2474beef3b68521cfd391211b1be_cgraph.md5 new file mode 100644 index 0000000..ed2f92d --- /dev/null +++ b/docs/API/xran__fh__o__du_8h_ac94e2474beef3b68521cfd391211b1be_cgraph.md5 @@ -0,0 +1 @@ +b4ca00d6a77f3c729fe872dc7cfe6d8c \ No newline at end of file diff --git a/docs/API/xran__fh__o__du_8h_ac94e2474beef3b68521cfd391211b1be_cgraph.png b/docs/API/xran__fh__o__du_8h_ac94e2474beef3b68521cfd391211b1be_cgraph.png new file mode 100644 index 0000000..2718268 Binary files /dev/null and b/docs/API/xran__fh__o__du_8h_ac94e2474beef3b68521cfd391211b1be_cgraph.png differ diff --git a/docs/API/xran__fh__o__du_8h_ac94e2474beef3b68521cfd391211b1be_icgraph.map b/docs/API/xran__fh__o__du_8h_ac94e2474beef3b68521cfd391211b1be_icgraph.map new file mode 100644 index 0000000..97da8e3 --- /dev/null +++ b/docs/API/xran__fh__o__du_8h_ac94e2474beef3b68521cfd391211b1be_icgraph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/API/xran__fh__o__du_8h_ac94e2474beef3b68521cfd391211b1be_icgraph.md5 b/docs/API/xran__fh__o__du_8h_ac94e2474beef3b68521cfd391211b1be_icgraph.md5 new file mode 100644 index 0000000..52643d5 --- /dev/null +++ b/docs/API/xran__fh__o__du_8h_ac94e2474beef3b68521cfd391211b1be_icgraph.md5 @@ -0,0 +1 @@ +e94034246049c89f59762fbcb5aaab4f \ No newline at end of file diff --git a/docs/API/xran__fh__o__du_8h_ac94e2474beef3b68521cfd391211b1be_icgraph.png b/docs/API/xran__fh__o__du_8h_ac94e2474beef3b68521cfd391211b1be_icgraph.png new file mode 100644 index 0000000..e19272b Binary files /dev/null and b/docs/API/xran__fh__o__du_8h_ac94e2474beef3b68521cfd391211b1be_icgraph.png differ diff --git a/docs/API/xran__fh__o__du_8h_ad4852c0827600db95f9841e2f5f9f6f1_cgraph.map b/docs/API/xran__fh__o__du_8h_ad4852c0827600db95f9841e2f5f9f6f1_cgraph.map new file mode 100644 index 0000000..b605b01 --- /dev/null +++ b/docs/API/xran__fh__o__du_8h_ad4852c0827600db95f9841e2f5f9f6f1_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/xran__fh__o__du_8h_ad4852c0827600db95f9841e2f5f9f6f1_cgraph.md5 b/docs/API/xran__fh__o__du_8h_ad4852c0827600db95f9841e2f5f9f6f1_cgraph.md5 new file mode 100644 index 0000000..ea4ae88 --- /dev/null +++ b/docs/API/xran__fh__o__du_8h_ad4852c0827600db95f9841e2f5f9f6f1_cgraph.md5 @@ -0,0 +1 @@ +b4e358272ff6981624f6a0a5ac07c843 \ No newline at end of file diff --git a/docs/API/xran__fh__o__du_8h_ad4852c0827600db95f9841e2f5f9f6f1_cgraph.png b/docs/API/xran__fh__o__du_8h_ad4852c0827600db95f9841e2f5f9f6f1_cgraph.png new file mode 100644 index 0000000..f82374f Binary files /dev/null and b/docs/API/xran__fh__o__du_8h_ad4852c0827600db95f9841e2f5f9f6f1_cgraph.png differ diff --git a/docs/API/xran__fh__o__du_8h_ad4852c0827600db95f9841e2f5f9f6f1_icgraph.map b/docs/API/xran__fh__o__du_8h_ad4852c0827600db95f9841e2f5f9f6f1_icgraph.map new file mode 100644 index 0000000..b82601c --- /dev/null +++ b/docs/API/xran__fh__o__du_8h_ad4852c0827600db95f9841e2f5f9f6f1_icgraph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/xran__fh__o__du_8h_ad4852c0827600db95f9841e2f5f9f6f1_icgraph.md5 b/docs/API/xran__fh__o__du_8h_ad4852c0827600db95f9841e2f5f9f6f1_icgraph.md5 new file mode 100644 index 0000000..8a343e2 --- /dev/null +++ b/docs/API/xran__fh__o__du_8h_ad4852c0827600db95f9841e2f5f9f6f1_icgraph.md5 @@ -0,0 +1 @@ +4cf300d06f20bc1946a26734dee54d8c \ No newline at end of file diff --git a/docs/API/xran__fh__o__du_8h_ad4852c0827600db95f9841e2f5f9f6f1_icgraph.png b/docs/API/xran__fh__o__du_8h_ad4852c0827600db95f9841e2f5f9f6f1_icgraph.png new file mode 100644 index 0000000..7b1a26a Binary files /dev/null and b/docs/API/xran__fh__o__du_8h_ad4852c0827600db95f9841e2f5f9f6f1_icgraph.png differ diff --git a/docs/API/xran__fh__o__du_8h_adf5ead6a9f90b5d524e8012521d64bb5_icgraph.map b/docs/API/xran__fh__o__du_8h_adf5ead6a9f90b5d524e8012521d64bb5_icgraph.map new file mode 100644 index 0000000..22b7b5b --- /dev/null +++ b/docs/API/xran__fh__o__du_8h_adf5ead6a9f90b5d524e8012521d64bb5_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/xran__fh__o__du_8h_adf5ead6a9f90b5d524e8012521d64bb5_icgraph.md5 b/docs/API/xran__fh__o__du_8h_adf5ead6a9f90b5d524e8012521d64bb5_icgraph.md5 new file mode 100644 index 0000000..87c33a6 --- /dev/null +++ b/docs/API/xran__fh__o__du_8h_adf5ead6a9f90b5d524e8012521d64bb5_icgraph.md5 @@ -0,0 +1 @@ +9fbd2b15bd17ec5a8d6c3336deacb8d5 \ No newline at end of file diff --git a/docs/API/xran__fh__o__du_8h_adf5ead6a9f90b5d524e8012521d64bb5_icgraph.png b/docs/API/xran__fh__o__du_8h_adf5ead6a9f90b5d524e8012521d64bb5_icgraph.png new file mode 100644 index 0000000..8f89558 Binary files /dev/null and b/docs/API/xran__fh__o__du_8h_adf5ead6a9f90b5d524e8012521d64bb5_icgraph.png differ diff --git a/docs/API/xran__fh__o__du_8h_adfcabe4091a4782ecb9ca029314c99ca_cgraph.map b/docs/API/xran__fh__o__du_8h_adfcabe4091a4782ecb9ca029314c99ca_cgraph.map new file mode 100644 index 0000000..25c0f90 --- /dev/null +++ b/docs/API/xran__fh__o__du_8h_adfcabe4091a4782ecb9ca029314c99ca_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/xran__fh__o__du_8h_adfcabe4091a4782ecb9ca029314c99ca_cgraph.md5 b/docs/API/xran__fh__o__du_8h_adfcabe4091a4782ecb9ca029314c99ca_cgraph.md5 new file mode 100644 index 0000000..5266754 --- /dev/null +++ b/docs/API/xran__fh__o__du_8h_adfcabe4091a4782ecb9ca029314c99ca_cgraph.md5 @@ -0,0 +1 @@ +37830c6e55e6b8ac3e550356fd5395df \ No newline at end of file diff --git a/docs/API/xran__fh__o__du_8h_adfcabe4091a4782ecb9ca029314c99ca_cgraph.png b/docs/API/xran__fh__o__du_8h_adfcabe4091a4782ecb9ca029314c99ca_cgraph.png new file mode 100644 index 0000000..5b19c15 Binary files /dev/null and b/docs/API/xran__fh__o__du_8h_adfcabe4091a4782ecb9ca029314c99ca_cgraph.png differ diff --git a/docs/API/xran__fh__o__du_8h_adfcabe4091a4782ecb9ca029314c99ca_icgraph.map b/docs/API/xran__fh__o__du_8h_adfcabe4091a4782ecb9ca029314c99ca_icgraph.map new file mode 100644 index 0000000..22ef019 --- /dev/null +++ b/docs/API/xran__fh__o__du_8h_adfcabe4091a4782ecb9ca029314c99ca_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/xran__fh__o__du_8h_adfcabe4091a4782ecb9ca029314c99ca_icgraph.md5 b/docs/API/xran__fh__o__du_8h_adfcabe4091a4782ecb9ca029314c99ca_icgraph.md5 new file mode 100644 index 0000000..b9fdf71 --- /dev/null +++ b/docs/API/xran__fh__o__du_8h_adfcabe4091a4782ecb9ca029314c99ca_icgraph.md5 @@ -0,0 +1 @@ +2a112721d2f0e55df3aa59336dabf947 \ No newline at end of file diff --git a/docs/API/xran__fh__o__du_8h_adfcabe4091a4782ecb9ca029314c99ca_icgraph.png b/docs/API/xran__fh__o__du_8h_adfcabe4091a4782ecb9ca029314c99ca_icgraph.png new file mode 100644 index 0000000..bb3bb64 Binary files /dev/null and b/docs/API/xran__fh__o__du_8h_adfcabe4091a4782ecb9ca029314c99ca_icgraph.png differ diff --git a/docs/API/xran__fh__o__du_8h_ae79ca138dc77d69ef692886be4e5da81_icgraph.map b/docs/API/xran__fh__o__du_8h_ae79ca138dc77d69ef692886be4e5da81_icgraph.map new file mode 100644 index 0000000..b0b2b79 --- /dev/null +++ b/docs/API/xran__fh__o__du_8h_ae79ca138dc77d69ef692886be4e5da81_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/xran__fh__o__du_8h_ae79ca138dc77d69ef692886be4e5da81_icgraph.md5 b/docs/API/xran__fh__o__du_8h_ae79ca138dc77d69ef692886be4e5da81_icgraph.md5 new file mode 100644 index 0000000..f385e7c --- /dev/null +++ b/docs/API/xran__fh__o__du_8h_ae79ca138dc77d69ef692886be4e5da81_icgraph.md5 @@ -0,0 +1 @@ +54331079b238014b3cb28d02fb50734d \ No newline at end of file diff --git a/docs/API/xran__fh__o__du_8h_ae79ca138dc77d69ef692886be4e5da81_icgraph.png b/docs/API/xran__fh__o__du_8h_ae79ca138dc77d69ef692886be4e5da81_icgraph.png new file mode 100644 index 0000000..2256f8f Binary files /dev/null and b/docs/API/xran__fh__o__du_8h_ae79ca138dc77d69ef692886be4e5da81_icgraph.png differ diff --git a/docs/API/xran__fh__o__du_8h_source.html b/docs/API/xran__fh__o__du_8h_source.html new file mode 100644 index 0000000..07032df --- /dev/null +++ b/docs/API/xran__fh__o__du_8h_source.html @@ -0,0 +1,188 @@ + + + + + + + +o-du/phy: xran_fh_o_du.h Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    xran_fh_o_du.h
    +
    +
    +Go to the documentation of this file.
    1 /******************************************************************************
    2 *
    3 * Copyright (c) 2019 Intel.
    4 *
    5 * Licensed under the Apache License, Version 2.0 (the "License");
    6 * you may not use this file except in compliance with the License.
    7 * You may obtain a copy of the License at
    8 *
    9 * http://www.apache.org/licenses/LICENSE-2.0
    10 *
    11 * Unless required by applicable law or agreed to in writing, software
    12 * distributed under the License is distributed on an "AS IS" BASIS,
    13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    14 * See the License for the specific language governing permissions and
    15 * limitations under the License.
    16 *
    17 *******************************************************************************/
    18 
    32 #ifndef _XRAN_FH_O_DU_H_
    33 #define _XRAN_FH_O_DU_H_
    34 
    35 #ifdef __cplusplus
    36 extern "C" {
    37 #endif
    38 
    39 #include <stdio.h>
    40 #include <stdlib.h>
    41 #include <string.h>
    42 #include <stdint.h>
    43 #include <inttypes.h>
    44 #include <sys/types.h>
    45 #include <sys/queue.h>
    46 #include <netinet/in.h>
    47 #include <setjmp.h>
    48 #include <stdarg.h>
    49 #include <ctype.h>
    50 #include <errno.h>
    51 #include <getopt.h>
    52 #include <unistd.h>
    53 
    54 #define XRAN_STATUS_SUCCESS (0)
    55 
    58 #define XRAN_STATUS_FAIL (-1)
    59 
    63 #define XRAN_STATUS_RETRY (-2)
    64 
    68 #define XRAN_STATUS_RESOURCE (-3)
    69 
    75 #define XRAN_STATUS_INVALID_PARAM (-4)
    76 
    79 #define XRAN_STATUS_FATAL (-5)
    80 
    85 #define XRAN_STATUS_UNSUPPORTED (-6)
    86 
    92 #define XRAN_STATUS_INVALID_PACKET (-7)
    93 
    98 #define XranGetTtiNum(symIdx, numSymPerTti) (((uint32_t)symIdx / (uint32_t)numSymPerTti))
    99 
    100 #define XranGetSymNum(symIdx, numSymPerTti) (((uint32_t)symIdx % (uint32_t)numSymPerTti))
    101 
    102 #define XranGetFrameNum(tti,SFNatSecStart,numSubFramePerSystemFrame, numSlotPerSubFrame) ((((uint32_t)tti / ((uint32_t)numSubFramePerSystemFrame * (uint32_t)numSlotPerSubFrame)) + SFNatSecStart) & 0x3FF)
    103 
    104 #define XranGetSubFrameNum(tti, numSlotPerSubFrame, numSubFramePerSystemFrame) (((uint32_t)tti/(uint32_t)numSlotPerSubFrame) % (uint32_t)numSubFramePerSystemFrame)
    105 
    106 #define XranGetSlotNum(tti, numSlotPerSfn) ((uint32_t)tti % ((uint32_t)numSlotPerSfn))
    107 
    108 #define XRAN_PORTS_NUM (1)
    109 #define XRAN_N_FE_BUF_LEN (40)
    110 #define XRAN_MAX_SECTOR_NR (12)
    111 #define XRAN_MAX_ANTENNA_NR (16)
    114 /* see 10.2 Hierarchy of Radiation Structure in O-RU (assume TX and RX pannel are the same dimensions)*/
    115 #define XRAN_MAX_PANEL_NR (1)
    116 #define XRAN_MAX_TRX_ANTENNA_ARRAY (1)
    117 #define XRAN_MAX_ANT_ARRAY_ELM_NR (64)
    121 #define XRAN_NUM_OF_SYMBOL_PER_SLOT (14)
    122 #define XRAN_MAX_NUM_OF_SRS_SYMBOL_PER_SLOT XRAN_NUM_OF_SYMBOL_PER_SLOT
    123 #define XRAN_MAX_TDD_PERIODICITY (80)
    124 #define XRAN_MAX_CELLS_PER_PORT (XRAN_MAX_SECTOR_NR)
    125 #define XRAN_COMPONENT_CARRIERS_MAX (XRAN_MAX_SECTOR_NR)
    126 #define XRAN_NUM_OF_ANT_RADIO (XRAN_MAX_SECTOR_NR*XRAN_MAX_ANTENNA_NR)
    127 #define XRAN_MAX_PRBS (275)
    129 #define XRAN_MAX_SECTIONS_PER_SYM (16)
    131 #define XRAN_MAX_PKT_BURST (448+4)
    132 #define XRAN_N_MAX_BUFFER_SEGMENT XRAN_MAX_PKT_BURST
    134 #define XRAN_STRICT_PARM_CHECK (1)
    136 /* Slot type definition */
    137 #define XRAN_SLOT_TYPE_INVALID (0)
    138 #define XRAN_SLOT_TYPE_DL (1)
    139 #define XRAN_SLOT_TYPE_UL (2)
    140 #define XRAN_SLOT_TYPE_SP (3)
    141 #define XRAN_SLOT_TYPE_FDD (4)
    142 #define XRAN_SLOT_TYPE_LAST (5)
    144 /* symbol type definition */
    145 #define XRAN_SYMBOL_TYPE_DL (0)
    146 #define XRAN_SYMBOL_TYPE_UL (1)
    147 #define XRAN_SYMBOL_TYPE_GUARD (2)
    148 #define XRAN_SYMBOL_TYPE_FDD (3)
    150 #define XRAN_NUM_OF_SLOT_IN_TDD_LOOP (80)
    152 //#define _XRAN_DEBUG
    153 //#define _XRAN_VERBOSE
    155 #ifdef _XRAN_DEBUG
    156  #define xran_log_dbg(fmt, ...) \
    157  fprintf(stderr, \
    158  "DEBUG: %s(%d): " fmt "\n", \
    159  __FILE__, \
    160  __LINE__, ##__VA_ARGS__)
    161 #else
    162  #define xran_log_dbg(fmt, ...)
    163 #endif
    164 
    165 #if defined(_XRAN_DEBUG) || defined(_XRAN_VERBOSE)
    166  #define xran_log_wrn(fmt, ...) \
    167  fprintf( \
    168  stderr, \
    169  "WARNING: %s(%d): " fmt "\n", \
    170  __FILE__, \
    171  __LINE__, ##__VA_ARGS__)
    172 #else
    173  #define xran_log_dbg(fmt, ...)
    174  #define xran_log_wrn(fmt, ...)
    175 #endif
    176 
    177 #define xran_log_err(fmt, ...) \
    178  fprintf(stderr, \
    179  "ERROR: %s(%d): " fmt "\n", \
    180  __FILE__, \
    181  __LINE__, ##__VA_ARGS__)
    182 
    184 {
    185  XRAN_FDD = 0, XRAN_TDD
    186 };
    187 
    188 enum xran_if_state
    189 {
    190  XRAN_INIT = 0,
    193 };
    194 
    209 };
    210 
    219 {
    220  XRAN_CB_TTI = 0,
    224 };
    225 
    233 };
    234 
    235 typedef int32_t xran_status_t;
    238 typedef void (*xran_callback_sym_fn)(void*);
    241 typedef int (*xran_fh_tti_callback_fn)(void*);
    244 typedef void (*xran_transport_callback_fn)(void*, xran_status_t);
    247 typedef int16_t (*phy_encoder_poll_fn)(void);
    250 typedef int16_t (*phy_decoder_poll_fn)(void);
    253 enum xran_vf_ports
    254 {
    255  XRAN_UP_VF = 0,
    258 };
    259 
    261 enum xran_category
    262 {
    263  XRAN_CATEGORY_A = 0,
    266 };
    267 
    270 {
    271  XRAN_BEAM_ID_BASED = 0,
    274 };
    275 
    277 enum xran_bbdev_init
    278 {
    279  XRAN_BBDEV_NOT_USED = -1,
    283 };
    284 
    286 struct xran_cb_tag {
    287  uint16_t cellId;
    288  uint32_t symbol;
    289  uint32_t slotiId;
    290 };
    291 
    293 struct xran_io_cfg {
    294  uint8_t id;
    295  char *dpdk_dev[XRAN_VF_MAX];
    296  char *bbdev_dev[1];
    297  int32_t bbdev_mode;
    298  int32_t core;
    299  int32_t system_core;
    300  int32_t pkt_proc_core;
    301  int32_t pkt_aux_core;
    302  int32_t timing_core;
    303  int32_t port[XRAN_VF_MAX];
    304 };
    305 
    307 struct xran_eaxcid_config {
    308  uint16_t mask_cuPortId;
    309  uint16_t mask_bandSectorId;
    310  uint16_t mask_ccId;
    311  uint16_t mask_ruPortId;
    313  uint8_t bit_cuPortId;
    314  uint8_t bit_bandSectorId;
    315  uint8_t bit_ccId;
    316  uint8_t bit_ruPortId;
    317 };
    318 
    322 struct xran_fh_init {
    323  struct xran_io_cfg io_cfg;
    324  struct xran_eaxcid_config eAxCId_conf;
    326  uint32_t dpdkBasebandFecMode;
    327  char *dpdkBasebandDevice;
    328  char *filePrefix;
    330  uint32_t mtu;
    332  int8_t *p_o_du_addr;
    333  int8_t *p_o_ru_addr;
    335  uint16_t totalBfWeights;
    337  uint16_t Tadv_cp_dl;
    338  uint16_t T2a_min_cp_dl;
    339  uint16_t T2a_max_cp_dl;
    340  uint16_t T2a_min_cp_ul;
    341  uint16_t T2a_max_cp_ul;
    342  uint16_t T2a_min_up;
    343  uint16_t T2a_max_up;
    344  uint16_t Ta3_min;
    345  uint16_t Ta3_max;
    346  uint16_t T1a_min_cp_dl;
    347  uint16_t T1a_max_cp_dl;
    348  uint16_t T1a_min_cp_ul;
    349  uint16_t T1a_max_cp_ul;
    350  uint16_t T1a_min_up;
    351  uint16_t T1a_max_up;
    352  uint16_t Ta4_min;
    353  uint16_t Ta4_max;
    355  uint8_t enableCP;
    356  uint8_t prachEnable;
    357  uint8_t srsEnable;
    358  uint8_t cp_vlan_tag;
    359  uint8_t up_vlan_tag;
    360  int32_t debugStop;
    361  int32_t debugStopCount;
    362  int32_t DynamicSectionEna;
    363  int32_t GPS_Alpha; // 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)
    364  int32_t GPS_Beta; //beta value as defined in section 9.7.2 of ORAN spec. range -32767 ~ +32767
    365 };
    366 
    368 struct xran_cp_bf_weight{
    369  int16_t nAntElmTRx;
    370  int8_t* p_ext_section;
    371  int16_t ext_section_sz;
    372 };
    373 struct xran_cp_bf_attribute{
    374  int16_t weight[4];
    375 };
    376 struct xran_cp_bf_precoding{
    377  int16_t weight[4];
    378 };
    379 
    381 struct xran_section_desc {
    382  uint16_t section_id;
    384  int16_t iq_buffer_offset;
    385  int16_t iq_buffer_len;
    387  uint8_t *pData;
    388  void *pCtrl;
    389 };
    390 
    392 struct xran_prb_elm {
    393  int16_t nRBStart;
    394  int16_t nRBSize;
    395  int16_t nStartSymb;
    396  int16_t numSymb;
    397  int16_t nBeamIndex;
    398  int16_t bf_weight_update;
    399  int16_t compMethod;
    400  int16_t iqWidth;
    401  int16_t BeamFormingType;
    403  struct xran_section_desc * p_sec_desc[XRAN_NUM_OF_SYMBOL_PER_SLOT];
    404  struct xran_cp_bf_weight bf_weight;
    406  union {
    407  struct xran_cp_bf_attribute bf_attribute;
    408  struct xran_cp_bf_precoding bf_precoding;
    409  };
    410 };
    411 
    413 struct xran_prb_map {
    414  uint8_t dir;
    415  uint8_t xran_port;
    416  uint16_t band_id;
    417  uint16_t cc_id;
    418  uint16_t ru_port_id;
    419  uint16_t tti_id;
    420  uint8_t start_sym_id;
    421  uint32_t nPrbElm;
    422  struct xran_prb_elm prbMap[XRAN_MAX_PRBS];
    424 
    425 };
    426 
    427 /* PRACH config required for XRAN based FH */
    428 struct xran_prach_config
    429 {
    430  /* PRACH config*/
    431  uint8_t nPrachConfIdx;
    432  uint8_t nPrachSubcSpacing;
    437  uint8_t nPrachZeroCorrConf;
    438  uint8_t nPrachRestrictSet;
    439  uint16_t nPrachRootSeqIdx;
    440  uint16_t nPrachFreqStart;
    441  int32_t nPrachFreqOffset;
    442  uint8_t nPrachFilterIdx;
    443 };
    444 
    446 struct xran_srs_config {
    447  uint16_t symbMask;
    448  uint8_t eAxC_offset;
    449 };
    450 
    452 struct xran_slot_config {
    453  uint8_t nSymbolType[XRAN_NUM_OF_SYMBOL_PER_SLOT];
    454  uint8_t reserved[2];
    455 };
    456 
    458 struct xran_frame_config {
    459  uint8_t nFrameDuplexType;
    460  uint8_t nNumerology;
    463  uint8_t nTddPeriod;
    466  /* The number of slots need to be equal to nTddPeriod */
    467 };
    468 
    473 };
    474 
    479 };
    480 
    482 struct xran_ru_config {
    483  enum xran_category xranCat;
    485  uint8_t iqWidth;
    486  uint8_t compMeth;
    487  uint8_t fftSize;
    488  enum xran_input_byte_order byteOrder;
    489  enum xran_input_i_q_order iqOrder;
    490  uint16_t xran_max_frame;
    491 };
    492 
    496 struct xran_fh_config {
    497  uint32_t dpdk_port;
    498  uint32_t sector_id;
    499  uint32_t nCC;
    500  uint32_t neAxc;
    501  uint32_t neAxcUl;
    502  uint32_t nAntElmTRx;
    503  uint16_t nDLFftSize;
    504  uint16_t nULFftSize;
    505  uint16_t nDLRBs;
    506  uint16_t nULRBs;
    507  uint32_t nDLAbsFrePointA;
    508  uint32_t nULAbsFrePointA;
    509  uint32_t nDLCenterFreqARFCN;
    510  uint32_t nULCenterFreqARFCN;
    512  void *ttiCbParam;
    514  struct xran_prach_config prach_conf;
    515  struct xran_srs_config srs_conf;
    516  struct xran_frame_config frame_conf;
    517  struct xran_ru_config ru_conf;
    519  phy_encoder_poll_fn bbdev_enc;
    522  uint32_t log_level;
    523 };
    524 
    528 struct xran_common_counters{
    529  uint64_t Rx_on_time;
    530  uint64_t Rx_early;
    531  uint64_t Rx_late;
    532  uint64_t Rx_corrupt;
    533  uint64_t Rx_pkt_dupl;
    534  uint64_t Total_msgs_rcvd;
    535 };
    536 
    540 typedef void * xran_cc_handle_t;
    552 struct xran_flat_buffer
    553 {
    554  uint32_t nElementLenInBytes;
    559  uint32_t nNumberOfElements;
    561  uint32_t nOffsetInBytes;
    564  uint32_t nIsPhyAddr;
    565  uint8_t *pData;
    569  void *pCtrl;
    571 };
    572 
    591 struct xran_buffer_list
    592 {
    593  uint32_t nNumBuffers;
    595  struct xran_flat_buffer *pBuffers;
    598  void *pUserData;
    600  void *pPrivateMetaData;
    607 };
    608 
    625 int32_t xran_init(int argc, char *argv[], struct xran_fh_init *p_xran_fh_init, char *appName, void ** pHandle);
    626 
    643 int32_t xran_sector_get_instances (void * pHandle, uint16_t nNumInstances,
    644  xran_cc_handle_t * pSectorInstanceHandles);
    645 
    662 int32_t xran_mm_init (void * pHandle, uint64_t nMemorySize, uint32_t nMemorySegmentSize);
    663 
    682 int32_t xran_bm_init (void * pHandle, uint32_t * pPoolIndex, uint32_t nNumberOfBuffers, uint32_t nBufferSize);
    683 
    702 int32_t xran_bm_allocate_buffer(void * pHandle, uint32_t nPoolIndex, void **ppData, void **ppCtrl);
    703 
    719 int32_t xran_bm_free_buffer(void * pHandle, void *pData, void *pCtrl);
    720 
    732 int32_t xran_mm_destroy (void * pHandle);
    733 
    759  int32_t xran_5g_fronthault_config (void * pHandle,
    761  struct xran_buffer_list *pSrcCpBuffer[XRAN_MAX_ANTENNA_NR][XRAN_N_FE_BUF_LEN],
    762  struct xran_buffer_list *pDstBuffer[XRAN_MAX_ANTENNA_NR][XRAN_N_FE_BUF_LEN],
    763  struct xran_buffer_list *pDstCpBuffer[XRAN_MAX_ANTENNA_NR][XRAN_N_FE_BUF_LEN],
    764  xran_transport_callback_fn pCallback,
    765  void *pCallbackTag);
    766 
    785 int32_t xran_5g_prach_req (void * pHandle,
    786  struct xran_buffer_list *pDstBuffer[XRAN_MAX_ANTENNA_NR][XRAN_N_FE_BUF_LEN],
    787  xran_transport_callback_fn pCallback,
    788  void *pCallbackTag);
    789 
    808 int32_t xran_5g_srs_req (void * pHandle,
    809  struct xran_buffer_list *pDstBuffer[XRAN_MAX_ANT_ARRAY_ELM_NR][XRAN_N_FE_BUF_LEN],
    810  xran_transport_callback_fn pCallback,
    811  void *pCallbackTag);
    812 
    813 
    831 uint32_t xran_get_time_stats(uint64_t *total_time, uint64_t *used_time, uint32_t *core_used, uint32_t clear);
    832 
    846 int32_t xran_open(void *pHandle, struct xran_fh_config* pConf);
    847 
    859 int32_t xran_start(void *pHandle);
    860 
    872 int32_t xran_stop(void *pHandle);
    873 
    885 int32_t xran_close(void *pHandle);
    886 
    907 int32_t xran_reg_sym_cb(void *pHandle, xran_callback_sym_fn symCb, void * symCbParam, uint8_t symb, uint8_t ant);
    908 
    930 int32_t xran_reg_physide_cb(void *pHandle, xran_fh_tti_callback_fn Cb, void *cbParam, int skipTtiNum, enum callback_to_phy_id);
    931 
    952 int32_t xran_get_slot_idx (uint32_t *nFrameIdx, uint32_t *nSubframeIdx, uint32_t *nSlotIdx, uint64_t *nSecond);
    953 
    968 int32_t xran_get_common_counters(void *pXranLayerHandle, struct xran_common_counters *pStats);
    969 
    970 
    982 
    983 
    995 void* xran_malloc(size_t buf_len);
    996 
    997 
    1011 uint8_t* xran_add_hdr_offset(uint8_t *dst, int16_t compMethod);
    1012 
    1013 #ifdef __cplusplus
    1014 }
    1015 #endif
    1016 
    1017 #endif /* _XRAN_FH_O_DU_H_*/
    +
    int32_t xran_get_common_counters(void *pXranLayerHandle, struct xran_common_counters *pStats)
    Definition: xran_main.c:3074
    + + + +
    #define XRAN_MAX_ANT_ARRAY_ELM_NR
    Definition: xran_fh_o_du.h:118
    +
    #define XRAN_N_FE_BUF_LEN
    Definition: xran_fh_o_du.h:109
    + + +
    int32_t xran_open(void *pHandle, struct xran_fh_config *pConf)
    Definition: xran_main.c:2756
    +
    #define XRAN_MAX_PRBS
    Definition: xran_fh_o_du.h:128
    + + +
    end write files for IQ samples for ant
    Definition: gen_test.m:166
    +
    int32_t xran_init(int argc, char *argv[], struct xran_fh_init *p_xran_fh_init, char *appName, void **pHandle)
    Definition: xran_main.c:2319
    +
    int32_t xran_reg_sym_cb(void *pHandle, xran_callback_sym_fn symCb, void *symCbParam, uint8_t symb, uint8_t ant)
    Definition: xran_main.c:2888
    +
    int32_t xran_mm_init(void *pHandle, uint64_t nMemorySize, uint32_t nMemorySegmentSize)
    Definition: xran_main.c:2447
    +
    xran_category
    Definition: xran_fh_o_du.h:262
    +
    XranFrameDuplexType
    Definition: xran_fh_o_du.h:184
    +
    uint16_t cellId
    Definition: xran_fh_o_du.h:288
    +
    int16_t(* phy_decoder_poll_fn)(void)
    Definition: xran_fh_o_du.h:251
    + +
    int32_t xran_bm_init(void *pHandle, uint32_t *pPoolIndex, uint32_t nNumberOfBuffers, uint32_t nBufferSize)
    Definition: xran_main.c:2454
    + +
    xran_input_i_q_order
    Definition: xran_fh_o_du.h:477
    + +
    int32_t xran_get_slot_idx(uint32_t *nFrameIdx, uint32_t *nSubframeIdx, uint32_t *nSlotIdx, uint64_t *nSecond)
    Definition: xran_main.c:2936
    + + + +
    uint8_t * xran_add_hdr_offset(uint8_t *dst, int16_t compMethod)
    Definition: xran_main.c:2741
    + + +
    int32_t xran_start(void *pHandle)
    Definition: xran_main.c:2841
    +
    xran_weight_based_beamforming_type
    Definition: xran_fh_o_du.h:229
    + + +
    #define XRAN_MAX_ANTENNA_NR
    Definition: xran_fh_o_du.h:111
    +
    void * xran_cc_handle_t
    Definition: xran_fh_o_du.h:541
    +
    enum xran_if_state xran_get_if_state(void)
    Definition: xran_main.c:238
    + + + +
    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)
    Definition: xran_main.c:2679
    +
    uint16_t xran_max_frame
    Definition: xran_main.c:116
    + + +
    xran_compression_method
    Definition: xran_fh_o_du.h:203
    + +
    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)
    Definition: xran_main.c:2636
    + + + + +
    int32_t xran_mm_destroy(void *pHandle)
    Definition: xran_main.c:2877
    +
    int32_t xran_close(void *pHandle)
    Definition: xran_main.c:2863
    + +
    xran_input_byte_order
    Definition: xran_fh_o_du.h:471
    +
    xran_if_state
    Definition: xran_fh_o_du.h:189
    + + + + + + +
    int32_t xran_bm_allocate_buffer(void *pHandle, uint32_t nPoolIndex, void **ppData, void **ppCtrl)
    Definition: xran_main.c:2499
    +
    void(* xran_callback_sym_fn)(void *)
    Definition: xran_fh_o_du.h:239
    +
    int32_t xran_stop(void *pHandle)
    Definition: xran_main.c:2852
    + +
    void * xran_malloc(size_t buf_len)
    Definition: xran_main.c:2736
    +
    int32_t xran_bm_free_buffer(void *pHandle, void *pData, void *pCtrl)
    Definition: xran_main.c:2541
    + +
    int(* xran_fh_tti_callback_fn)(void *)
    Definition: xran_fh_o_du.h:242
    + +
    callback_to_phy_id
    Definition: xran_fh_o_du.h:219
    + + +
    uint32_t symbol
    Definition: xran_fh_o_du.h:289
    +
    uint32_t slotiId
    Definition: xran_fh_o_du.h:290
    +
    #define XRAN_NUM_OF_SYMBOL_PER_SLOT
    Definition: xran_fh_o_du.h:122
    +
    int32_t xran_sector_get_instances(void *pHandle, uint16_t nNumInstances, xran_cc_handle_t *pSectorInstanceHandles)
    Definition: xran_main.c:2408
    + +
    xran_vf_ports
    Definition: xran_fh_o_du.h:254
    +
    int16_t(* phy_encoder_poll_fn)(void)
    Definition: xran_fh_o_du.h:248
    + + +
    #define XRAN_MAX_TDD_PERIODICITY
    Definition: xran_fh_o_du.h:124
    +
    uint32_t reserved
    Definition: xran_pkt_cp.h:216
    + + + + +
    xran_bbdev_init
    Definition: xran_fh_o_du.h:278
    +
    uint8_t fftSize
    Definition: xran_pkt_cp.h:215
    + + +
    uint32_t xran_get_time_stats(uint64_t *total_time, uint64_t *used_time, uint32_t *core_used, uint32_t clear)
    Definition: xran_main.c:2721
    + +
    void(* xran_transport_callback_fn)(void *, xran_status_t)
    Definition: xran_fh_o_du.h:245
    + + + +
    xran_beamforming_type
    Definition: xran_fh_o_du.h:270
    +
    int32_t xran_reg_physide_cb(void *pHandle, xran_fh_tti_callback_fn Cb, void *cbParam, int skipTtiNum, enum callback_to_phy_id)
    Definition: xran_main.c:2900
    + +
    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)
    Definition: xran_main.c:2551
    + + + +
    int32_t xran_status_t
    Definition: xran_fh_o_du.h:236
    +
    + + + + diff --git a/docs/API/xran__frame__struct_8c.html b/docs/API/xran__frame__struct_8c.html new file mode 100644 index 0000000..9952db5 --- /dev/null +++ b/docs/API/xran__frame__struct_8c.html @@ -0,0 +1,631 @@ + + + + + + + +o-du/phy: xran_frame_struct.c File Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    xran_frame_struct.c File Reference
    +
    +
    +
    #include <assert.h>
    +#include <err.h>
    +#include <arpa/inet.h>
    +#include <sys/time.h>
    +#include <time.h>
    +#include "xran_frame_struct.h"
    +#include "xran_printf.h"
    +
    +Include dependency graph for xran_frame_struct.c:
    +
    +
    + + + + + +
    +
    +

    Go to the source code of this file.

    + + + + +

    +Enumerations

    enum  nXranChBwOptions {
    +  XRAN_BW_5_0_MHZ = 5, +XRAN_BW_10_0_MHZ = 10, +XRAN_BW_15_0_MHZ = 15, +XRAN_BW_20_0_MHZ = 20, +
    +  XRAN_BW_25_0_MHZ = 25, +XRAN_BW_30_0_MHZ = 30, +XRAN_BW_40_0_MHZ = 40, +XRAN_BW_50_0_MHZ = 50, +
    +  XRAN_BW_60_0_MHZ = 60, +XRAN_BW_70_0_MHZ = 70, +XRAN_BW_80_0_MHZ = 80, +XRAN_BW_90_0_MHZ = 90, +
    +  XRAN_BW_100_0_MHZ = 100, +XRAN_BW_200_0_MHZ = 200, +XRAN_BW_400_0_MHZ = 400 +
    + }
     
    + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Functions

    uint32_t xran_fs_get_tti_interval (uint8_t nMu)
     
    uint32_t xran_fs_get_scs (uint8_t nMu)
     
    uint16_t xran_fs_get_num_rbs (uint32_t nNumerology, uint32_t nBandwidth, uint32_t nAbsFrePointA)
     
    uint32_t xran_fs_cal_nrarfcn (uint32_t nCenterFreq)
     
    uint32_t xran_fs_slot_limit_init (int32_t tti_interval_us)
     
    uint32_t xran_fs_get_max_slot (void)
     
    uint32_t xran_fs_get_max_slot_SFN (void)
     
    int32_t xran_fs_slot_limit (int32_t nSfIdx)
     
    void xran_fs_clear_slot_type (uint32_t nPhyInstanceId)
     
    int32_t xran_fs_set_slot_type (uint32_t nPhyInstanceId, uint32_t nFrameDuplexType, uint32_t nTddPeriod, struct xran_slot_config *psSlotConfig)
     
    int32_t xran_fs_get_slot_type (int32_t nCellIdx, int32_t nSlotdx, int32_t nType)
     
    int32_t xran_fs_get_symbol_type (int32_t nCellIdx, int32_t nSlotdx, int32_t nSymbIdx)
     
    + + + +

    +Variables

    uint16_t xran_max_frame
     
    +

    Enumeration Type Documentation

    + +

    ◆ nXranChBwOptions

    + +
    +
    + + + + +
    enum nXranChBwOptions
    +
    + + + + + + + + + + + + + + + + +
    Enumerator
    XRAN_BW_5_0_MHZ 
    XRAN_BW_10_0_MHZ 
    XRAN_BW_15_0_MHZ 
    XRAN_BW_20_0_MHZ 
    XRAN_BW_25_0_MHZ 
    XRAN_BW_30_0_MHZ 
    XRAN_BW_40_0_MHZ 
    XRAN_BW_50_0_MHZ 
    XRAN_BW_60_0_MHZ 
    XRAN_BW_70_0_MHZ 
    XRAN_BW_80_0_MHZ 
    XRAN_BW_90_0_MHZ 
    XRAN_BW_100_0_MHZ 
    XRAN_BW_200_0_MHZ 
    XRAN_BW_400_0_MHZ 
    + +

    Definition at line 36 of file xran_frame_struct.c.

    + +
    +
    +

    Function Documentation

    + +

    ◆ xran_fs_cal_nrarfcn()

    + +
    +
    + + + + + + + + +
    uint32_t xran_fs_cal_nrarfcn (uint32_t nCenterFreq)
    +
    +
    Parameters
    + + +
    [in]centerfrequency
    +
    +
    +
    Returns
    NR-ARFCN
    +

    This calculates NR-ARFCN value according to center frequency

    + +

    Definition at line 274 of file xran_frame_struct.c.

    + +
    +
    + +

    ◆ xran_fs_clear_slot_type()

    + +
    +
    + + + + + + + + +
    void xran_fs_clear_slot_type (uint32_t nPhyInstanceId)
    +
    + +

    Definition at line 339 of file xran_frame_struct.c.

    + +
    +
    + +

    ◆ xran_fs_get_max_slot()

    + +
    +
    + + + + + + + + +
    uint32_t xran_fs_get_max_slot (void )
    +
    + +

    Definition at line 316 of file xran_frame_struct.c.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + + + + + + + + + +
    + +
    +
    + +

    ◆ xran_fs_get_max_slot_SFN()

    + +
    +
    + + + + + + + + +
    uint32_t xran_fs_get_max_slot_SFN (void )
    +
    + +

    Definition at line 321 of file xran_frame_struct.c.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + +
    + +
    +
    + +

    ◆ xran_fs_get_num_rbs()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    uint16_t xran_fs_get_num_rbs (uint32_t nNumerology,
    uint32_t nBandwidth,
    uint32_t nAbsFrePointA 
    )
    +
    +
    Parameters
    + + + + +
    [in]nNumerology- Numerology determine sub carrier spacing, Value: 0->4 0: 15khz, 1: 30khz, 2: 60khz 3: 120khz, 4: 240khz
    [in]nBandwidth- Carrier bandwidth for in MHz. Value: 5->400
    [in]nAbsFrePointA- Abs Freq Point A of the Carrier Center Frequency for in KHz Value: 450000->52600000
    +
    +
    +
    Returns
    Number of RBs in cell
    +

    Returns number of RBs based on 38.101-1 and 38.101-2 for the cell

    + +

    Definition at line 149 of file xran_frame_struct.c.

    + +
    +
    + +

    ◆ xran_fs_get_scs()

    + +
    +
    + + + + + + + + +
    uint32_t xran_fs_get_scs (uint8_t nMu)
    +
    + +

    Definition at line 121 of file xran_frame_struct.c.

    + +
    +
    + +

    ◆ xran_fs_get_slot_type()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    int32_t xran_fs_get_slot_type (int32_t nCellIdx,
    int32_t nSlotdx,
    int32_t nType 
    )
    +
    + +

    Definition at line 477 of file xran_frame_struct.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + +
    + +
    +
    + +

    ◆ xran_fs_get_symbol_type()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    int32_t xran_fs_get_symbol_type (int32_t nCellIdx,
    int32_t nSlotdx,
    int32_t nSymbIdx 
    )
    +
    + +

    Definition at line 508 of file xran_frame_struct.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + +
    + +
    +
    + +

    ◆ xran_fs_get_tti_interval()

    + +
    +
    + + + + + + + + +
    uint32_t xran_fs_get_tti_interval (uint8_t nMu)
    +
    + +

    Definition at line 108 of file xran_frame_struct.c.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + + + +
    + +
    +
    + +

    ◆ xran_fs_set_slot_type()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    int32_t xran_fs_set_slot_type (uint32_t nPhyInstanceId,
    uint32_t nFrameDuplexType,
    uint32_t nTddPeriod,
    struct xran_slot_configpsSlotConfig 
    )
    +
    + +

    Definition at line 346 of file xran_frame_struct.c.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + + + +
    + +
    +
    + +

    ◆ xran_fs_slot_limit()

    + +
    +
    + + + + + + + + +
    int32_t xran_fs_slot_limit (int32_t nSfIdx)
    +
    + +

    Definition at line 326 of file xran_frame_struct.c.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + + +
    + +
    +
    + +

    ◆ xran_fs_slot_limit_init()

    + +
    +
    + + + + + + + + +
    uint32_t xran_fs_slot_limit_init (int32_t tti_interval_us)
    +
    + +

    Definition at line 309 of file xran_frame_struct.c.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + + + +
    + +
    +
    +

    Variable Documentation

    + +

    ◆ xran_max_frame

    + +
    +
    + + + + +
    uint16_t xran_max_frame
    +
    +

    value of max frame used. expected to be 99 (old compatibility mode) and 1023 as per section 9.7.2 System Frame Number Calculation

    + +

    Definition at line 116 of file xran_main.c.

    + +
    +
    +
    + + + + diff --git a/docs/API/xran__frame__struct_8c__incl.map b/docs/API/xran__frame__struct_8c__incl.map new file mode 100644 index 0000000..20c6f64 --- /dev/null +++ b/docs/API/xran__frame__struct_8c__incl.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/API/xran__frame__struct_8c__incl.md5 b/docs/API/xran__frame__struct_8c__incl.md5 new file mode 100644 index 0000000..4009b4c --- /dev/null +++ b/docs/API/xran__frame__struct_8c__incl.md5 @@ -0,0 +1 @@ +096e4849df1e787b41c26d7da7ea2847 \ No newline at end of file diff --git a/docs/API/xran__frame__struct_8c__incl.png b/docs/API/xran__frame__struct_8c__incl.png new file mode 100644 index 0000000..e030959 Binary files /dev/null and b/docs/API/xran__frame__struct_8c__incl.png differ diff --git a/docs/API/xran__frame__struct_8c_a00aa0f7cc00a6ca9cde2bec43eb1c9f9_icgraph.map b/docs/API/xran__frame__struct_8c_a00aa0f7cc00a6ca9cde2bec43eb1c9f9_icgraph.map new file mode 100644 index 0000000..9c6da80 --- /dev/null +++ b/docs/API/xran__frame__struct_8c_a00aa0f7cc00a6ca9cde2bec43eb1c9f9_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/xran__frame__struct_8c_a00aa0f7cc00a6ca9cde2bec43eb1c9f9_icgraph.md5 b/docs/API/xran__frame__struct_8c_a00aa0f7cc00a6ca9cde2bec43eb1c9f9_icgraph.md5 new file mode 100644 index 0000000..cd9e6dc --- /dev/null +++ b/docs/API/xran__frame__struct_8c_a00aa0f7cc00a6ca9cde2bec43eb1c9f9_icgraph.md5 @@ -0,0 +1 @@ +16cf76f53e25c374ebb4445ca70c6001 \ No newline at end of file diff --git a/docs/API/xran__frame__struct_8c_a00aa0f7cc00a6ca9cde2bec43eb1c9f9_icgraph.png b/docs/API/xran__frame__struct_8c_a00aa0f7cc00a6ca9cde2bec43eb1c9f9_icgraph.png new file mode 100644 index 0000000..fb1d96a Binary files /dev/null and b/docs/API/xran__frame__struct_8c_a00aa0f7cc00a6ca9cde2bec43eb1c9f9_icgraph.png differ diff --git a/docs/API/xran__frame__struct_8c_a075025c7652869adb79799313aab4f64_icgraph.map b/docs/API/xran__frame__struct_8c_a075025c7652869adb79799313aab4f64_icgraph.map new file mode 100644 index 0000000..7a56602 --- /dev/null +++ b/docs/API/xran__frame__struct_8c_a075025c7652869adb79799313aab4f64_icgraph.map @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/API/xran__frame__struct_8c_a075025c7652869adb79799313aab4f64_icgraph.md5 b/docs/API/xran__frame__struct_8c_a075025c7652869adb79799313aab4f64_icgraph.md5 new file mode 100644 index 0000000..5b994b1 --- /dev/null +++ b/docs/API/xran__frame__struct_8c_a075025c7652869adb79799313aab4f64_icgraph.md5 @@ -0,0 +1 @@ +bad593bc13af713d3950cbf4b8a0c517 \ No newline at end of file diff --git a/docs/API/xran__frame__struct_8c_a075025c7652869adb79799313aab4f64_icgraph.png b/docs/API/xran__frame__struct_8c_a075025c7652869adb79799313aab4f64_icgraph.png new file mode 100644 index 0000000..e2ecb68 Binary files /dev/null and b/docs/API/xran__frame__struct_8c_a075025c7652869adb79799313aab4f64_icgraph.png differ diff --git a/docs/API/xran__frame__struct_8c_a2fd9b68ce2fa4734a021203b320e4e04_icgraph.map b/docs/API/xran__frame__struct_8c_a2fd9b68ce2fa4734a021203b320e4e04_icgraph.map new file mode 100644 index 0000000..66fbcd5 --- /dev/null +++ b/docs/API/xran__frame__struct_8c_a2fd9b68ce2fa4734a021203b320e4e04_icgraph.map @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/API/xran__frame__struct_8c_a2fd9b68ce2fa4734a021203b320e4e04_icgraph.md5 b/docs/API/xran__frame__struct_8c_a2fd9b68ce2fa4734a021203b320e4e04_icgraph.md5 new file mode 100644 index 0000000..7f6bb69 --- /dev/null +++ b/docs/API/xran__frame__struct_8c_a2fd9b68ce2fa4734a021203b320e4e04_icgraph.md5 @@ -0,0 +1 @@ +3d90e65092f24a387ffc37dcd4cb32d4 \ No newline at end of file diff --git a/docs/API/xran__frame__struct_8c_a2fd9b68ce2fa4734a021203b320e4e04_icgraph.png b/docs/API/xran__frame__struct_8c_a2fd9b68ce2fa4734a021203b320e4e04_icgraph.png new file mode 100644 index 0000000..b57a9ab Binary files /dev/null and b/docs/API/xran__frame__struct_8c_a2fd9b68ce2fa4734a021203b320e4e04_icgraph.png differ diff --git a/docs/API/xran__frame__struct_8c_a3ad2b8ea8fe3559ce6d0195ed25dca11_cgraph.map b/docs/API/xran__frame__struct_8c_a3ad2b8ea8fe3559ce6d0195ed25dca11_cgraph.map new file mode 100644 index 0000000..2d070f8 --- /dev/null +++ b/docs/API/xran__frame__struct_8c_a3ad2b8ea8fe3559ce6d0195ed25dca11_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/xran__frame__struct_8c_a3ad2b8ea8fe3559ce6d0195ed25dca11_cgraph.md5 b/docs/API/xran__frame__struct_8c_a3ad2b8ea8fe3559ce6d0195ed25dca11_cgraph.md5 new file mode 100644 index 0000000..27a7366 --- /dev/null +++ b/docs/API/xran__frame__struct_8c_a3ad2b8ea8fe3559ce6d0195ed25dca11_cgraph.md5 @@ -0,0 +1 @@ +54a108d66bfb2a582fe43a31fda2b848 \ No newline at end of file diff --git a/docs/API/xran__frame__struct_8c_a3ad2b8ea8fe3559ce6d0195ed25dca11_cgraph.png b/docs/API/xran__frame__struct_8c_a3ad2b8ea8fe3559ce6d0195ed25dca11_cgraph.png new file mode 100644 index 0000000..50bb0d5 Binary files /dev/null and b/docs/API/xran__frame__struct_8c_a3ad2b8ea8fe3559ce6d0195ed25dca11_cgraph.png differ diff --git a/docs/API/xran__frame__struct_8c_a7f5a87395d3930f222e58976960c99e2_icgraph.map b/docs/API/xran__frame__struct_8c_a7f5a87395d3930f222e58976960c99e2_icgraph.map new file mode 100644 index 0000000..5432dce --- /dev/null +++ b/docs/API/xran__frame__struct_8c_a7f5a87395d3930f222e58976960c99e2_icgraph.map @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/docs/API/xran__frame__struct_8c_a7f5a87395d3930f222e58976960c99e2_icgraph.md5 b/docs/API/xran__frame__struct_8c_a7f5a87395d3930f222e58976960c99e2_icgraph.md5 new file mode 100644 index 0000000..d6dd5d7 --- /dev/null +++ b/docs/API/xran__frame__struct_8c_a7f5a87395d3930f222e58976960c99e2_icgraph.md5 @@ -0,0 +1 @@ +cfdc22b869da2c1c06d0fec48aebb105 \ No newline at end of file diff --git a/docs/API/xran__frame__struct_8c_a7f5a87395d3930f222e58976960c99e2_icgraph.png b/docs/API/xran__frame__struct_8c_a7f5a87395d3930f222e58976960c99e2_icgraph.png new file mode 100644 index 0000000..10fa997 Binary files /dev/null and b/docs/API/xran__frame__struct_8c_a7f5a87395d3930f222e58976960c99e2_icgraph.png differ diff --git a/docs/API/xran__frame__struct_8c_a875ef2ff0c44ad26c75bebe2a4732c80_cgraph.map b/docs/API/xran__frame__struct_8c_a875ef2ff0c44ad26c75bebe2a4732c80_cgraph.map new file mode 100644 index 0000000..c60928d --- /dev/null +++ b/docs/API/xran__frame__struct_8c_a875ef2ff0c44ad26c75bebe2a4732c80_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/xran__frame__struct_8c_a875ef2ff0c44ad26c75bebe2a4732c80_cgraph.md5 b/docs/API/xran__frame__struct_8c_a875ef2ff0c44ad26c75bebe2a4732c80_cgraph.md5 new file mode 100644 index 0000000..11033ce --- /dev/null +++ b/docs/API/xran__frame__struct_8c_a875ef2ff0c44ad26c75bebe2a4732c80_cgraph.md5 @@ -0,0 +1 @@ +d03821fb595926e662e715c36d0e3259 \ No newline at end of file diff --git a/docs/API/xran__frame__struct_8c_a875ef2ff0c44ad26c75bebe2a4732c80_cgraph.png b/docs/API/xran__frame__struct_8c_a875ef2ff0c44ad26c75bebe2a4732c80_cgraph.png new file mode 100644 index 0000000..b226037 Binary files /dev/null and b/docs/API/xran__frame__struct_8c_a875ef2ff0c44ad26c75bebe2a4732c80_cgraph.png differ diff --git a/docs/API/xran__frame__struct_8c_a8e8598556da3e49fa48cb646c24162fa_icgraph.map b/docs/API/xran__frame__struct_8c_a8e8598556da3e49fa48cb646c24162fa_icgraph.map new file mode 100644 index 0000000..6cb5333 --- /dev/null +++ b/docs/API/xran__frame__struct_8c_a8e8598556da3e49fa48cb646c24162fa_icgraph.map @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/API/xran__frame__struct_8c_a8e8598556da3e49fa48cb646c24162fa_icgraph.md5 b/docs/API/xran__frame__struct_8c_a8e8598556da3e49fa48cb646c24162fa_icgraph.md5 new file mode 100644 index 0000000..fdea924 --- /dev/null +++ b/docs/API/xran__frame__struct_8c_a8e8598556da3e49fa48cb646c24162fa_icgraph.md5 @@ -0,0 +1 @@ +edc61dfa3390418e2f7e47939c2f0226 \ No newline at end of file diff --git a/docs/API/xran__frame__struct_8c_a8e8598556da3e49fa48cb646c24162fa_icgraph.png b/docs/API/xran__frame__struct_8c_a8e8598556da3e49fa48cb646c24162fa_icgraph.png new file mode 100644 index 0000000..b45100b Binary files /dev/null and b/docs/API/xran__frame__struct_8c_a8e8598556da3e49fa48cb646c24162fa_icgraph.png differ diff --git a/docs/API/xran__frame__struct_8c_ac81b5cb02d886c3eb9e7f006ea1f62f4_icgraph.map b/docs/API/xran__frame__struct_8c_ac81b5cb02d886c3eb9e7f006ea1f62f4_icgraph.map new file mode 100644 index 0000000..dfd91bf --- /dev/null +++ b/docs/API/xran__frame__struct_8c_ac81b5cb02d886c3eb9e7f006ea1f62f4_icgraph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/xran__frame__struct_8c_ac81b5cb02d886c3eb9e7f006ea1f62f4_icgraph.md5 b/docs/API/xran__frame__struct_8c_ac81b5cb02d886c3eb9e7f006ea1f62f4_icgraph.md5 new file mode 100644 index 0000000..6a8c8ea --- /dev/null +++ b/docs/API/xran__frame__struct_8c_ac81b5cb02d886c3eb9e7f006ea1f62f4_icgraph.md5 @@ -0,0 +1 @@ +2fbadcf3859a63e030287062e987d01f \ No newline at end of file diff --git a/docs/API/xran__frame__struct_8c_ac81b5cb02d886c3eb9e7f006ea1f62f4_icgraph.png b/docs/API/xran__frame__struct_8c_ac81b5cb02d886c3eb9e7f006ea1f62f4_icgraph.png new file mode 100644 index 0000000..74078eb Binary files /dev/null and b/docs/API/xran__frame__struct_8c_ac81b5cb02d886c3eb9e7f006ea1f62f4_icgraph.png differ diff --git a/docs/API/xran__frame__struct_8c_source.html b/docs/API/xran__frame__struct_8c_source.html new file mode 100644 index 0000000..7f7321e --- /dev/null +++ b/docs/API/xran__frame__struct_8c_source.html @@ -0,0 +1,132 @@ + + + + + + + +o-du/phy: xran_frame_struct.c Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    xran_frame_struct.c
    +
    +
    +Go to the documentation of this file.
    1 /******************************************************************************
    2 *
    3 * Copyright (c) 2019 Intel.
    4 *
    5 * Licensed under the Apache License, Version 2.0 (the "License");
    6 * you may not use this file except in compliance with the License.
    7 * You may obtain a copy of the License at
    8 *
    9 * http://www.apache.org/licenses/LICENSE-2.0
    10 *
    11 * Unless required by applicable law or agreed to in writing, software
    12 * distributed under the License is distributed on an "AS IS" BASIS,
    13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    14 * See the License for the specific language governing permissions and
    15 * limitations under the License.
    16 *
    17 *******************************************************************************/
    18 
    27 #include <assert.h>
    28 #include <err.h>
    29 #include <arpa/inet.h>
    30 #include <sys/time.h>
    31 #include <time.h>
    32 
    33 #include "xran_frame_struct.h"
    34 #include "xran_printf.h"
    35 
    37 {
    41 };
    42 
    43 // F1 Tables 38.101-1 Table 5.3.2-1. Maximum transmission bandwidth configuration NRB
    44 static uint16_t nNumRbsPerSymF1[3][13] =
    45 {
    46  // 5MHz 10MHz 15MHz 20 MHz 25 MHz 30 MHz 40 MHz 50MHz 60 MHz 70 MHz 80 MHz 90 MHz 100 MHz
    47  {25, 52, 79, 106, 133, 160, 216, 270, 0, 0, 0, 0, 0}, // Numerology 0 (15KHz)
    48  {11, 24, 38, 51, 65, 78, 106, 133, 162, 0, 217, 245, 273}, // Numerology 1 (30KHz)
    49  {0, 11, 18, 24, 31, 38, 51, 65, 79, 0, 107, 121, 135} // Numerology 2 (60KHz)
    50 };
    51 
    52 // F2 Tables 38.101-2 Table 5.3.2-1. Maximum transmission bandwidth configuration NRB
    53 static uint16_t nNumRbsPerSymF2[2][4] =
    54 {
    55  // 50Mhz 100MHz 200MHz 400MHz
    56  {66, 132, 264, 0}, // Numerology 2 (60KHz)
    57  {32, 66, 132, 264} // Numerology 3 (120KHz)
    58 };
    59 
    60 // 38.211 - Table 4.2.1
    61 static uint16_t nSubCarrierSpacing[5] =
    62 {
    63  15, // mu = 0
    64  30, // mu = 1
    65  60, // mu = 2
    66  120, // mu = 3
    67  240 // mu = 4
    68 };
    69 
    70 // TTI interval in us (slot duration)
    71 static uint16_t nTtiInterval[4] =
    72 {
    73  1000, // mu = 0
    74  500, // mu = 1
    75  250, // mu = 2
    76  125, // mu = 3
    77 };
    78 
    79 // F1 Tables 38.101-1 Table F.5.3. Window length for normal CP
    80 static uint16_t nCpSizeF1[3][13][2] =
    81 {
    82  // 5MHz 10MHz 15MHz 20 MHz 25 MHz 30 MHz 40 MHz 50MHz 60 MHz 70 MHz 80 MHz 90 MHz 100 MHz
    83  {{40, 36}, {80, 72}, {120, 108}, {160, 144}, {160, 144}, {240, 216}, {320, 288}, {320, 288}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}}, // Numerology 0 (15KHz)
    84  {{22, 18}, {44, 36}, {66, 54}, {88, 72}, {88, 72}, {132, 108}, {176, 144}, {176, 144}, {264, 216}, {264, 216}, {352, 288}, {352, 288}, {352, 288}}, // Numerology 1 (30KHz)
    85  { {0, 0}, {26, 18}, {39, 27}, {52, 36}, {52, 36}, {78, 54}, {104, 72}, {104, 72}, {156, 108}, {156, 108}, {208, 144}, {208, 144}, {208, 144}}, // Numerology 2 (60KHz)
    86 };
    87 
    88 // F2 Tables 38.101-2 Table F.5.3. Window length for normal CP
    89 static int16_t nCpSizeF2[2][4][2] =
    90 {
    91  // 50Mhz 100MHz 200MHz 400MHz
    92  { {0, 0}, {104, 72}, {208, 144}, {416, 288}}, // Numerology 2 (60KHz)
    93  {{68, 36}, {136, 72}, {272, 144}, {544, 288}}, // Numerology 3 (120KHz)
    94 };
    95 
    96 static uint32_t xran_fs_max_slot_num = 8000;
    97 static uint32_t xran_fs_max_slot_num_SFN = 20480; /* max slot number counted as SFN is 0-1023 */
    98 static uint16_t xran_fs_num_slot_tdd_loop[XRAN_MAX_SECTOR_NR] = { XRAN_NUM_OF_SLOT_IN_TDD_LOOP };
    99 static uint16_t xran_fs_num_dl_sym_sp[XRAN_MAX_SECTOR_NR][XRAN_NUM_OF_SLOT_IN_TDD_LOOP] = {0};
    100 static uint16_t xran_fs_num_ul_sym_sp[XRAN_MAX_SECTOR_NR][XRAN_NUM_OF_SLOT_IN_TDD_LOOP] = {0};
    101 static uint8_t xran_fs_slot_type[XRAN_MAX_SECTOR_NR][XRAN_NUM_OF_SLOT_IN_TDD_LOOP] = {{XRAN_SLOT_TYPE_INVALID}};
    103 static float xran_fs_ul_rate[XRAN_MAX_SECTOR_NR] = {0.0};
    104 static float xran_fs_dl_rate[XRAN_MAX_SECTOR_NR] = {0.0};
    105 
    106 extern uint16_t xran_max_frame;
    107 
    108 uint32_t xran_fs_get_tti_interval(uint8_t nMu)
    109 {
    110  if (nMu < 4)
    111  {
    112  return nTtiInterval[nMu];
    113  }
    114  else
    115  {
    116  printf("ERROR: %s Mu[%d] is not valid, setting to 0\n",__FUNCTION__, nMu);
    117  return nTtiInterval[0];
    118  }
    119 }
    120 
    121 uint32_t xran_fs_get_scs(uint8_t nMu)
    122 {
    123  if (nMu <= 3)
    124  {
    125  return nSubCarrierSpacing[nMu];
    126  }
    127  else
    128  {
    129  printf("ERROR: %s Mu[%d] is not valid\n",__FUNCTION__, nMu);
    130  }
    131 
    132  return 0;
    133 }
    134 
    135 //-------------------------------------------------------------------------------------------
    148 //-------------------------------------------------------------------------------------------
    149 uint16_t xran_fs_get_num_rbs(uint32_t nNumerology, uint32_t nBandwidth, uint32_t nAbsFrePointA)
    150 {
    151  uint32_t error = 1;
    152  uint16_t numRBs = 0;
    153 
    154  if (nAbsFrePointA <= 6000000)
    155  {
    156  // F1 Tables 38.101-1 Table 5.3.2-1. Maximum transmission bandwidth configuration NRB
    157  if (nNumerology < 3)
    158  {
    159  switch(nBandwidth)
    160  {
    161  case XRAN_BW_5_0_MHZ:
    162  numRBs = nNumRbsPerSymF1[nNumerology][0];
    163  error = 0;
    164  break;
    165  case XRAN_BW_10_0_MHZ:
    166  numRBs = nNumRbsPerSymF1[nNumerology][1];
    167  error = 0;
    168  break;
    169  case XRAN_BW_15_0_MHZ:
    170  numRBs = nNumRbsPerSymF1[nNumerology][2];
    171  error = 0;
    172  break;
    173  case XRAN_BW_20_0_MHZ:
    174  numRBs = nNumRbsPerSymF1[nNumerology][3];
    175  error = 0;
    176  break;
    177  case XRAN_BW_25_0_MHZ:
    178  numRBs = nNumRbsPerSymF1[nNumerology][4];
    179  error = 0;
    180  break;
    181  case XRAN_BW_30_0_MHZ:
    182  numRBs = nNumRbsPerSymF1[nNumerology][5];
    183  error = 0;
    184  break;
    185  case XRAN_BW_40_0_MHZ:
    186  numRBs = nNumRbsPerSymF1[nNumerology][6];
    187  error = 0;
    188  break;
    189  case XRAN_BW_50_0_MHZ:
    190  numRBs = nNumRbsPerSymF1[nNumerology][7];
    191  error = 0;
    192  break;
    193  case XRAN_BW_60_0_MHZ:
    194  numRBs = nNumRbsPerSymF1[nNumerology][8];
    195  error = 0;
    196  break;
    197  case XRAN_BW_70_0_MHZ:
    198  numRBs = nNumRbsPerSymF1[nNumerology][9];
    199  error = 0;
    200  break;
    201  case XRAN_BW_80_0_MHZ:
    202  numRBs = nNumRbsPerSymF1[nNumerology][10];
    203  error = 0;
    204  break;
    205  case XRAN_BW_90_0_MHZ:
    206  numRBs = nNumRbsPerSymF1[nNumerology][11];
    207  error = 0;
    208  break;
    209  case XRAN_BW_100_0_MHZ:
    210  numRBs = nNumRbsPerSymF1[nNumerology][12];
    211  error = 0;
    212  break;
    213  default:
    214  error = 1;
    215  break;
    216  }
    217  }
    218  }
    219  else
    220  {
    221  if ((nNumerology >= 2) && (nNumerology <= 3))
    222  {
    223  // F2 Tables 38.101-2 Table 5.3.2-1. Maximum transmission bandwidth configuration NRB
    224  switch(nBandwidth)
    225  {
    226  case XRAN_BW_50_0_MHZ:
    227  numRBs = nNumRbsPerSymF2[nNumerology-2][0];
    228  error = 0;
    229  break;
    230  case XRAN_BW_100_0_MHZ:
    231  numRBs = nNumRbsPerSymF2[nNumerology-2][1];
    232  error = 0;
    233  break;
    234  case XRAN_BW_200_0_MHZ:
    235  numRBs = nNumRbsPerSymF2[nNumerology-2][2];
    236  error = 0;
    237  break;
    238  case XRAN_BW_400_0_MHZ:
    239  numRBs = nNumRbsPerSymF2[nNumerology-2][3];
    240  error = 0;
    241  break;
    242  default:
    243  error = 1;
    244  break;
    245  }
    246  }
    247  }
    248 
    249 
    250  if (error)
    251  {
    252  printf("ERROR: %s: nNumerology[%d] nBandwidth[%d] nAbsFrePointA[%d]\n",__FUNCTION__, nNumerology, nBandwidth, nAbsFrePointA);
    253  }
    254  else
    255  {
    256  printf("%s: nNumerology[%d] nBandwidth[%d] nAbsFrePointA[%d] numRBs[%d]\n",__FUNCTION__, nNumerology, nBandwidth, nAbsFrePointA, numRBs);
    257  }
    258 
    259  return numRBs;
    260 }
    261 
    262 //-------------------------------------------------------------------------------------------
    273 //-------------------------------------------------------------------------------------------
    274 uint32_t xran_fs_cal_nrarfcn(uint32_t nCenterFreq)
    275 {
    276  uint32_t nDeltaFglobal,nFoffs,nNoffs;
    277  uint32_t nNRARFCN = 0;
    278 
    279  if(nCenterFreq > 0 && nCenterFreq < 3000*1000)
    280  {
    281  nDeltaFglobal = 5;
    282  nFoffs = 0;
    283  nNoffs = 0;
    284  }
    285  else if(nCenterFreq >= 3000*1000 && nCenterFreq < 24250*1000)
    286  {
    287  nDeltaFglobal = 15;
    288  nFoffs = 3000*1000;
    289  nNoffs = 600000;
    290  }
    291  else if(nCenterFreq >= 24250*1000 && nCenterFreq <= 100000*1000)
    292  {
    293  nDeltaFglobal = 60;
    294  nFoffs = 24250080;
    295  nNoffs = 2016667;
    296  }
    297  else
    298  {
    299  printf("@@@@ incorrect center frerquency %d\n",nCenterFreq);
    300  return (0);
    301  }
    302 
    303  nNRARFCN = ((nCenterFreq - nFoffs)/nDeltaFglobal) + nNoffs;
    304 
    305  printf("%s: nCenterFreq[%d] nDeltaFglobal[%d] nFoffs[%d] nNoffs[%d] nNRARFCN[%d]\n", __FUNCTION__, nCenterFreq, nDeltaFglobal, nFoffs, nNoffs, nNRARFCN);
    306  return (nNRARFCN);
    307 }
    308 
    309 uint32_t xran_fs_slot_limit_init(int32_t tti_interval_us)
    310 {
    311  xran_fs_max_slot_num = (1000/tti_interval_us)*1000;
    312  xran_fs_max_slot_num_SFN = (1000/tti_interval_us)*(xran_max_frame+1)*10;
    313  return xran_fs_max_slot_num;
    314 }
    315 
    316 uint32_t xran_fs_get_max_slot(void)
    317 {
    318  return xran_fs_max_slot_num;
    319 }
    320 
    322 {
    323  return xran_fs_max_slot_num_SFN;
    324 }
    325 
    326 int32_t xran_fs_slot_limit(int32_t nSfIdx)
    327 {
    328  while (nSfIdx < 0) {
    329  nSfIdx += xran_fs_max_slot_num;
    330  }
    331 
    332  while (nSfIdx >= xran_fs_max_slot_num) {
    333  nSfIdx -= xran_fs_max_slot_num;
    334  }
    335 
    336  return nSfIdx;
    337 }
    338 
    339 void xran_fs_clear_slot_type(uint32_t nPhyInstanceId)
    340 {
    341  xran_fs_ul_rate[nPhyInstanceId] = 0.0;
    342  xran_fs_dl_rate[nPhyInstanceId] = 0.0;
    343  xran_fs_num_slot_tdd_loop[nPhyInstanceId] = 1;
    344 }
    345 
    346 int32_t xran_fs_set_slot_type(uint32_t nPhyInstanceId, uint32_t nFrameDuplexType, uint32_t nTddPeriod, struct xran_slot_config* psSlotConfig)
    347 {
    348  uint32_t nSlotNum, nSymNum, nVal, i, j;
    349  uint32_t numDlSym, numUlSym, numGuardSym;
    350  uint32_t numDlSlots = 0, numUlSlots = 0, numSpDlSlots = 0, numSpUlSlots = 0, numSpSlots = 0;
    351  char sSlotPattern[XRAN_SLOT_TYPE_LAST][10] = {"IN\0", "DL\0", "UL\0", "SP\0", "FD\0"};
    352 
    353  // nPhyInstanceId Carrier ID
    354  // nFrameDuplexType 0 = FDD 1 = TDD
    355  // nTddPeriod Tdd Periodicity
    356  // psSlotConfig[80] Slot Config Structure for nTddPeriod Slots
    357 
    358  xran_fs_ul_rate[nPhyInstanceId] = 0.0;
    359  xran_fs_dl_rate[nPhyInstanceId] = 0.0;
    360  xran_fs_num_slot_tdd_loop[nPhyInstanceId] = nTddPeriod;
    361 
    362  for (i = 0; i < XRAN_NUM_OF_SLOT_IN_TDD_LOOP; i++)
    363  {
    364  xran_fs_slot_type[nPhyInstanceId][i] = XRAN_SLOT_TYPE_INVALID;
    365  xran_fs_num_dl_sym_sp[nPhyInstanceId][i] = 0;
    366  xran_fs_num_ul_sym_sp[nPhyInstanceId][i] = 0;
    367  }
    368 
    369  if (nFrameDuplexType == XRAN_FDD)
    370  {
    371  for (i = 0; i < XRAN_NUM_OF_SLOT_IN_TDD_LOOP; i++)
    372  {
    373  xran_fs_slot_type[nPhyInstanceId][i] = XRAN_SLOT_TYPE_FDD;
    374  for(j = 0; j < XRAN_NUM_OF_SYMBOL_PER_SLOT; j++)
    375  xran_fs_slot_symb_type[nPhyInstanceId][i][j] = XRAN_SYMBOL_TYPE_FDD;
    376  }
    377  xran_fs_num_slot_tdd_loop[nPhyInstanceId] = 1;
    378  xran_fs_dl_rate[nPhyInstanceId] = 1.0;
    379  xran_fs_ul_rate[nPhyInstanceId] = 1.0;
    380  }
    381  else
    382  {
    383  for (nSlotNum = 0; nSlotNum < nTddPeriod; nSlotNum++)
    384  {
    385  numDlSym = 0;
    386  numUlSym = 0;
    387  numGuardSym = 0;
    388  for (nSymNum = 0; nSymNum < XRAN_NUM_OF_SYMBOL_PER_SLOT; nSymNum++)
    389  {
    390  switch(psSlotConfig[nSlotNum].nSymbolType[nSymNum])
    391  {
    392  case XRAN_SYMBOL_TYPE_DL:
    393  numDlSym++;
    394  xran_fs_slot_symb_type[nPhyInstanceId][nSlotNum][nSymNum] = XRAN_SYMBOL_TYPE_DL;
    395  break;
    397  xran_fs_slot_symb_type[nPhyInstanceId][nSlotNum][nSymNum] = XRAN_SYMBOL_TYPE_GUARD;
    398  numGuardSym++;
    399  break;
    400  default:
    401  xran_fs_slot_symb_type[nPhyInstanceId][nSlotNum][nSymNum] = XRAN_SYMBOL_TYPE_UL;
    402  numUlSym++;
    403  break;
    404  }
    405  }
    406 
    407  print_dbg("nSlotNum[%d] : numDlSym[%d] numGuardSym[%d] numUlSym[%d] ", nSlotNum, numDlSym, numGuardSym, numUlSym);
    408 
    409  if ((numUlSym == 0) && (numGuardSym == 0))
    410  {
    411  xran_fs_slot_type[nPhyInstanceId][nSlotNum] = XRAN_SLOT_TYPE_DL;
    412  numDlSlots++;
    413  print_dbg("XRAN_SLOT_TYPE_DL\n");
    414  }
    415  else if ((numDlSym == 0) && (numGuardSym == 0))
    416  {
    417  xran_fs_slot_type[nPhyInstanceId][nSlotNum] = XRAN_SLOT_TYPE_UL;
    418  numUlSlots++;
    419  print_dbg("XRAN_SLOT_TYPE_UL\n");
    420  }
    421  else
    422  {
    423  xran_fs_slot_type[nPhyInstanceId][nSlotNum] = XRAN_SLOT_TYPE_SP;
    424  numSpSlots++;
    425  print_dbg("XRAN_SLOT_TYPE_SP\n");
    426 
    427  if (numDlSym)
    428  {
    429  numSpDlSlots++;
    430  xran_fs_num_dl_sym_sp[nPhyInstanceId][nSlotNum] = numDlSym;
    431  }
    432  if (numUlSym)
    433  {
    434  numSpUlSlots++;
    435  xran_fs_num_ul_sym_sp[nPhyInstanceId][nSlotNum] = numUlSym;
    436  }
    437  }
    438  print_dbg(" numDlSlots[%d] numUlSlots[%d] numSpSlots[%d] numSpDlSlots[%d] numSpUlSlots[%d]\n", numDlSlots, numUlSlots, numSpSlots, numSpDlSlots, numSpUlSlots);
    439  }
    440 
    441  xran_fs_dl_rate[nPhyInstanceId] = (float)(numDlSlots + numSpDlSlots) / (float)nTddPeriod;
    442  xran_fs_ul_rate[nPhyInstanceId] = (float)(numUlSlots + numSpUlSlots) / (float)nTddPeriod;
    443  }
    444 
    445  print_dbg("%s: nPhyInstanceId[%d] nFrameDuplexType[%d], nTddPeriod[%d]\n",
    446  __FUNCTION__, nPhyInstanceId, nFrameDuplexType, nTddPeriod);
    447 
    448  print_dbg("DLRate[%f] ULRate[%f]\n", xran_fs_dl_rate[nPhyInstanceId], xran_fs_ul_rate[nPhyInstanceId]);
    449 
    450  nVal = (xran_fs_num_slot_tdd_loop[nPhyInstanceId] < 10) ? xran_fs_num_slot_tdd_loop[nPhyInstanceId] : 10;
    451 
    452  print_dbg("SlotPattern:\n");
    453  print_dbg("Slot: ");
    454  for (nSlotNum = 0; nSlotNum < nVal; nSlotNum++)
    455  {
    456  print_dbg("%d ", nSlotNum);
    457  }
    458  print_dbg("\n");
    459 
    460  print_dbg(" %3d ", 0);
    461  for (nSlotNum = 0, i = 0; nSlotNum < xran_fs_num_slot_tdd_loop[nPhyInstanceId]; nSlotNum++)
    462  {
    463  print_dbg("%s ", sSlotPattern[xran_fs_slot_type[nPhyInstanceId][nSlotNum]]);
    464  i++;
    465  if ((i == 10) && ((nSlotNum+1) < xran_fs_num_slot_tdd_loop[nPhyInstanceId]))
    466  {
    467  print_dbg("\n");
    468  print_dbg(" %3d ", nSlotNum);
    469  i = 0;
    470  }
    471  }
    472  print_dbg("\n\n");
    473 
    474  return 0;
    475 }
    476 
    477 int32_t xran_fs_get_slot_type(int32_t nCellIdx, int32_t nSlotdx, int32_t nType)
    478 {
    479  int32_t nSfIdxMod, nSfType, ret = 0;
    480 
    481  nSfIdxMod = xran_fs_slot_limit(nSlotdx) % ((xran_fs_num_slot_tdd_loop[nCellIdx] > 0) ? xran_fs_num_slot_tdd_loop[nCellIdx]: 1);
    482  nSfType = xran_fs_slot_type[nCellIdx][nSfIdxMod];
    483 
    484  if (nSfType == nType)
    485  {
    486  ret = 1;
    487  }
    488  else if (nSfType == XRAN_SLOT_TYPE_SP)
    489  {
    490  if ((nType == XRAN_SLOT_TYPE_DL) && xran_fs_num_dl_sym_sp[nCellIdx][nSfIdxMod])
    491  {
    492  ret = 1;
    493  }
    494 
    495  if ((nType == XRAN_SLOT_TYPE_UL) && xran_fs_num_ul_sym_sp[nCellIdx][nSfIdxMod])
    496  {
    497  ret = 1;
    498  }
    499  }
    500  else if (nSfType == XRAN_SLOT_TYPE_FDD)
    501  {
    502  ret = 1;
    503  }
    504 
    505  return ret;
    506 }
    507 
    508 int32_t xran_fs_get_symbol_type(int32_t nCellIdx, int32_t nSlotdx, int32_t nSymbIdx)
    509 {
    510  int32_t nSfIdxMod, nSfType, ret = 0;
    511 
    512  nSfIdxMod = xran_fs_slot_limit(nSlotdx) % ((xran_fs_num_slot_tdd_loop[nCellIdx] > 0) ? xran_fs_num_slot_tdd_loop[nCellIdx]: 1);
    513 
    514  return xran_fs_slot_symb_type[nCellIdx][nSfIdxMod][nSymbIdx];
    515 }
    516 
    517 
    uint32_t xran_fs_get_max_slot(void)
    +
    #define XRAN_SYMBOL_TYPE_GUARD
    Definition: xran_fh_o_du.h:148
    +
    #define XRAN_SYMBOL_TYPE_UL
    Definition: xran_fh_o_du.h:147
    +
    #define XRAN_SLOT_TYPE_LAST
    Definition: xran_fh_o_du.h:143
    +
    #define print_dbg(fmt, args...)
    Definition: xran_printf.h:54
    +
    uint32_t xran_fs_slot_limit_init(int32_t tti_interval_us)
    +
    MHz MHz MHz MHz MHz MHz MHz MHz MHz nNumRbsPerSymF1
    Definition: gen_test.m:13
    +
    #define XRAN_SLOT_TYPE_DL
    Definition: xran_fh_o_du.h:139
    +
    uint16_t xran_fs_get_num_rbs(uint32_t nNumerology, uint32_t nBandwidth, uint32_t nAbsFrePointA)
    + +
    nNumRbsPerSymF2
    Definition: gen_test.m:21
    +
    #define XRAN_MAX_SECTOR_NR
    Definition: xran_fh_o_du.h:110
    + +
    numRBs
    Definition: gen_test.m:96
    + +
    nXranChBwOptions
    +
    #define XRAN_NUM_OF_SLOT_IN_TDD_LOOP
    Definition: xran_fh_o_du.h:151
    +
    uint32_t xran_fs_get_tti_interval(uint8_t nMu)
    + + +
    uint16_t xran_max_frame
    Definition: xran_main.c:116
    +
    #define XRAN_SLOT_TYPE_INVALID
    Definition: xran_fh_o_du.h:138
    +
    int16_t nCpSizeF2[2][4][2]
    Definition: common.c:147
    + +
    int32_t xran_fs_set_slot_type(uint32_t nPhyInstanceId, uint32_t nFrameDuplexType, uint32_t nTddPeriod, struct xran_slot_config *psSlotConfig)
    + +
    uint32_t xran_fs_cal_nrarfcn(uint32_t nCenterFreq)
    +
    uint32_t xran_fs_get_max_slot_SFN(void)
    + + +
    uint16_t nTtiInterval[4]
    Definition: common.c:128
    +
    uint32_t xran_fs_get_scs(uint8_t nMu)
    + +
    Header file for function to work with 5G NR frame structure and related routines. ...
    +
    #define XRAN_SYMBOL_TYPE_DL
    Definition: xran_fh_o_du.h:146
    +
    Modules provide debug prints and utility functions.
    +
    #define XRAN_SLOT_TYPE_FDD
    Definition: xran_fh_o_du.h:142
    +
    uint16_t nSubCarrierSpacing[5]
    Definition: common.c:118
    +
    uint16_t nCpSizeF1[3][13][2]
    Definition: common.c:138
    +
    #define XRAN_NUM_OF_SYMBOL_PER_SLOT
    Definition: xran_fh_o_du.h:122
    + +
    int32_t xran_fs_slot_limit(int32_t nSfIdx)
    +
    void xran_fs_clear_slot_type(uint32_t nPhyInstanceId)
    +
    #define XRAN_SLOT_TYPE_SP
    Definition: xran_fh_o_du.h:141
    + + + +
    int32_t xran_fs_get_slot_type(int32_t nCellIdx, int32_t nSlotdx, int32_t nType)
    + +
    #define XRAN_SYMBOL_TYPE_FDD
    Definition: xran_fh_o_du.h:149
    +
    int32_t xran_fs_get_symbol_type(int32_t nCellIdx, int32_t nSlotdx, int32_t nSymbIdx)
    + + +
    #define XRAN_SLOT_TYPE_UL
    Definition: xran_fh_o_du.h:140
    +
    + + + + diff --git a/docs/API/xran__frame__struct_8h.html b/docs/API/xran__frame__struct_8h.html new file mode 100644 index 0000000..b1899cc --- /dev/null +++ b/docs/API/xran__frame__struct_8h.html @@ -0,0 +1,561 @@ + + + + + + + +o-du/phy: xran_frame_struct.h File Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    xran_frame_struct.h File Reference
    +
    +
    + +

    Header file for function to work with 5G NR frame structure and related routines. +More...

    +
    #include "xran_fh_o_du.h"
    +
    +Include dependency graph for xran_frame_struct.h:
    +
    +
    + + + +
    +
    +This graph shows which files directly or indirectly include this file:
    +
    +
    + + + + + + + + + +
    +
    +

    Go to the source code of this file.

    + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Functions

    uint32_t xran_fs_get_tti_interval (uint8_t nMu)
     
    uint32_t xran_fs_get_scs (uint8_t nMu)
     
    uint16_t xran_fs_get_num_rbs (uint32_t nNumerology, uint32_t nBandwidth, uint32_t nAbsFrePointA)
     
    uint32_t xran_fs_cal_nrarfcn (uint32_t nCenterFreq)
     
    int32_t xran_fs_slot_limit (int32_t nSlotIdx)
     
    void xran_fs_clear_slot_type (uint32_t nCcId)
     
    int32_t xran_fs_set_slot_type (uint32_t nCcId, uint32_t nFrameDuplexType, uint32_t nTddPeriod, struct xran_slot_config *psSlotConfig)
     
    int32_t xran_fs_get_slot_type (int32_t nCcId, int32_t nSlotIdx, int32_t nType)
     
    uint32_t xran_fs_slot_limit_init (int32_t tti_interval_us)
     
    uint32_t xran_fs_get_max_slot (void)
     
    uint32_t xran_fs_get_max_slot_SFN (void)
     
    int32_t xran_fs_get_symbol_type (int32_t nCellIdx, int32_t nSlotdx, int32_t nSymbIdx)
     
    +

    Detailed Description

    +

    Header file for function to work with 5G NR frame structure and related routines.

    +
    Author
    Intel Corporation
    + +

    Definition in file xran_frame_struct.h.

    +

    Function Documentation

    + +

    ◆ xran_fs_cal_nrarfcn()

    + +
    +
    + + + + + + + + +
    uint32_t xran_fs_cal_nrarfcn (uint32_t nCenterFreq)
    +
    +
    Parameters
    + + +
    [in]centerfrequency
    +
    +
    +
    Returns
    NR-ARFCN
    +

    This calculates NR-ARFCN value according to center frequency

    + +

    Definition at line 274 of file xran_frame_struct.c.

    + +
    +
    + +

    ◆ xran_fs_clear_slot_type()

    + +
    +
    + + + + + + + + +
    void xran_fs_clear_slot_type (uint32_t nCcId)
    +
    + +

    Definition at line 339 of file xran_frame_struct.c.

    + +
    +
    + +

    ◆ xran_fs_get_max_slot()

    + +
    +
    + + + + + + + + +
    uint32_t xran_fs_get_max_slot (void )
    +
    + +

    Definition at line 316 of file xran_frame_struct.c.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + + + + + + + + + +
    + +
    +
    + +

    ◆ xran_fs_get_max_slot_SFN()

    + +
    +
    + + + + + + + + +
    uint32_t xran_fs_get_max_slot_SFN (void )
    +
    + +

    Definition at line 321 of file xran_frame_struct.c.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + +
    + +
    +
    + +

    ◆ xran_fs_get_num_rbs()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    uint16_t xran_fs_get_num_rbs (uint32_t nNumerology,
    uint32_t nBandwidth,
    uint32_t nAbsFrePointA 
    )
    +
    +
    Parameters
    + + + + +
    [in]nNumerology- Numerology determine sub carrier spacing, Value: 0->4 0: 15khz, 1: 30khz, 2: 60khz 3: 120khz, 4: 240khz
    [in]nBandwidth- Carrier bandwidth for in MHz. Value: 5->400
    [in]nAbsFrePointA- Abs Freq Point A of the Carrier Center Frequency for in KHz Value: 450000->52600000
    +
    +
    +
    Returns
    Number of RBs in cell
    +

    Returns number of RBs based on 38.101-1 and 38.101-2 for the cell

    + +

    Definition at line 149 of file xran_frame_struct.c.

    + +
    +
    + +

    ◆ xran_fs_get_scs()

    + +
    +
    + + + + + + + + +
    uint32_t xran_fs_get_scs (uint8_t nMu)
    +
    + +

    Definition at line 121 of file xran_frame_struct.c.

    + +
    +
    + +

    ◆ xran_fs_get_slot_type()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    int32_t xran_fs_get_slot_type (int32_t nCcId,
    int32_t nSlotIdx,
    int32_t nType 
    )
    +
    + +

    Definition at line 477 of file xran_frame_struct.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + +
    + +
    +
    + +

    ◆ xran_fs_get_symbol_type()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    int32_t xran_fs_get_symbol_type (int32_t nCellIdx,
    int32_t nSlotdx,
    int32_t nSymbIdx 
    )
    +
    + +

    Definition at line 508 of file xran_frame_struct.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + +
    + +
    +
    + +

    ◆ xran_fs_get_tti_interval()

    + +
    +
    + + + + + + + + +
    uint32_t xran_fs_get_tti_interval (uint8_t nMu)
    +
    + +

    Definition at line 108 of file xran_frame_struct.c.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + + + +
    + +
    +
    + +

    ◆ xran_fs_set_slot_type()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    int32_t xran_fs_set_slot_type (uint32_t nCcId,
    uint32_t nFrameDuplexType,
    uint32_t nTddPeriod,
    struct xran_slot_configpsSlotConfig 
    )
    +
    + +

    Definition at line 346 of file xran_frame_struct.c.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + + + +
    + +
    +
    + +

    ◆ xran_fs_slot_limit()

    + +
    +
    + + + + + + + + +
    int32_t xran_fs_slot_limit (int32_t nSlotIdx)
    +
    + +

    Definition at line 326 of file xran_frame_struct.c.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + + +
    + +
    +
    + +

    ◆ xran_fs_slot_limit_init()

    + +
    +
    + + + + + + + + +
    uint32_t xran_fs_slot_limit_init (int32_t tti_interval_us)
    +
    + +

    Definition at line 309 of file xran_frame_struct.c.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + + + +
    + +
    +
    +
    + + + + diff --git a/docs/API/xran__frame__struct_8h__dep__incl.map b/docs/API/xran__frame__struct_8h__dep__incl.map new file mode 100644 index 0000000..5cecb3e --- /dev/null +++ b/docs/API/xran__frame__struct_8h__dep__incl.map @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/docs/API/xran__frame__struct_8h__dep__incl.md5 b/docs/API/xran__frame__struct_8h__dep__incl.md5 new file mode 100644 index 0000000..ed8926b --- /dev/null +++ b/docs/API/xran__frame__struct_8h__dep__incl.md5 @@ -0,0 +1 @@ +ebe2e8e92df0b5247e47d89ee3ed9eaf \ No newline at end of file diff --git a/docs/API/xran__frame__struct_8h__dep__incl.png b/docs/API/xran__frame__struct_8h__dep__incl.png new file mode 100644 index 0000000..17fac26 Binary files /dev/null and b/docs/API/xran__frame__struct_8h__dep__incl.png differ diff --git a/docs/API/xran__frame__struct_8h__incl.map b/docs/API/xran__frame__struct_8h__incl.map new file mode 100644 index 0000000..f8097de --- /dev/null +++ b/docs/API/xran__frame__struct_8h__incl.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/xran__frame__struct_8h__incl.md5 b/docs/API/xran__frame__struct_8h__incl.md5 new file mode 100644 index 0000000..8f58493 --- /dev/null +++ b/docs/API/xran__frame__struct_8h__incl.md5 @@ -0,0 +1 @@ +921f5400ffd696721dac194c48a9718b \ No newline at end of file diff --git a/docs/API/xran__frame__struct_8h__incl.png b/docs/API/xran__frame__struct_8h__incl.png new file mode 100644 index 0000000..e273ef6 Binary files /dev/null and b/docs/API/xran__frame__struct_8h__incl.png differ diff --git a/docs/API/xran__frame__struct_8h_a00aa0f7cc00a6ca9cde2bec43eb1c9f9_icgraph.map b/docs/API/xran__frame__struct_8h_a00aa0f7cc00a6ca9cde2bec43eb1c9f9_icgraph.map new file mode 100644 index 0000000..9c6da80 --- /dev/null +++ b/docs/API/xran__frame__struct_8h_a00aa0f7cc00a6ca9cde2bec43eb1c9f9_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/xran__frame__struct_8h_a00aa0f7cc00a6ca9cde2bec43eb1c9f9_icgraph.md5 b/docs/API/xran__frame__struct_8h_a00aa0f7cc00a6ca9cde2bec43eb1c9f9_icgraph.md5 new file mode 100644 index 0000000..cd9e6dc --- /dev/null +++ b/docs/API/xran__frame__struct_8h_a00aa0f7cc00a6ca9cde2bec43eb1c9f9_icgraph.md5 @@ -0,0 +1 @@ +16cf76f53e25c374ebb4445ca70c6001 \ No newline at end of file diff --git a/docs/API/xran__frame__struct_8h_a00aa0f7cc00a6ca9cde2bec43eb1c9f9_icgraph.png b/docs/API/xran__frame__struct_8h_a00aa0f7cc00a6ca9cde2bec43eb1c9f9_icgraph.png new file mode 100644 index 0000000..fb1d96a Binary files /dev/null and b/docs/API/xran__frame__struct_8h_a00aa0f7cc00a6ca9cde2bec43eb1c9f9_icgraph.png differ diff --git a/docs/API/xran__frame__struct_8h_a2dae6c563c553fcc13a9cd3c87b9f37b_icgraph.map b/docs/API/xran__frame__struct_8h_a2dae6c563c553fcc13a9cd3c87b9f37b_icgraph.map new file mode 100644 index 0000000..dfd91bf --- /dev/null +++ b/docs/API/xran__frame__struct_8h_a2dae6c563c553fcc13a9cd3c87b9f37b_icgraph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/xran__frame__struct_8h_a2dae6c563c553fcc13a9cd3c87b9f37b_icgraph.md5 b/docs/API/xran__frame__struct_8h_a2dae6c563c553fcc13a9cd3c87b9f37b_icgraph.md5 new file mode 100644 index 0000000..6a8c8ea --- /dev/null +++ b/docs/API/xran__frame__struct_8h_a2dae6c563c553fcc13a9cd3c87b9f37b_icgraph.md5 @@ -0,0 +1 @@ +2fbadcf3859a63e030287062e987d01f \ No newline at end of file diff --git a/docs/API/xran__frame__struct_8h_a2dae6c563c553fcc13a9cd3c87b9f37b_icgraph.png b/docs/API/xran__frame__struct_8h_a2dae6c563c553fcc13a9cd3c87b9f37b_icgraph.png new file mode 100644 index 0000000..74078eb Binary files /dev/null and b/docs/API/xran__frame__struct_8h_a2dae6c563c553fcc13a9cd3c87b9f37b_icgraph.png differ diff --git a/docs/API/xran__frame__struct_8h_a2fd9b68ce2fa4734a021203b320e4e04_icgraph.map b/docs/API/xran__frame__struct_8h_a2fd9b68ce2fa4734a021203b320e4e04_icgraph.map new file mode 100644 index 0000000..66fbcd5 --- /dev/null +++ b/docs/API/xran__frame__struct_8h_a2fd9b68ce2fa4734a021203b320e4e04_icgraph.map @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/API/xran__frame__struct_8h_a2fd9b68ce2fa4734a021203b320e4e04_icgraph.md5 b/docs/API/xran__frame__struct_8h_a2fd9b68ce2fa4734a021203b320e4e04_icgraph.md5 new file mode 100644 index 0000000..7f6bb69 --- /dev/null +++ b/docs/API/xran__frame__struct_8h_a2fd9b68ce2fa4734a021203b320e4e04_icgraph.md5 @@ -0,0 +1 @@ +3d90e65092f24a387ffc37dcd4cb32d4 \ No newline at end of file diff --git a/docs/API/xran__frame__struct_8h_a2fd9b68ce2fa4734a021203b320e4e04_icgraph.png b/docs/API/xran__frame__struct_8h_a2fd9b68ce2fa4734a021203b320e4e04_icgraph.png new file mode 100644 index 0000000..b57a9ab Binary files /dev/null and b/docs/API/xran__frame__struct_8h_a2fd9b68ce2fa4734a021203b320e4e04_icgraph.png differ diff --git a/docs/API/xran__frame__struct_8h_a3ad2b8ea8fe3559ce6d0195ed25dca11_cgraph.map b/docs/API/xran__frame__struct_8h_a3ad2b8ea8fe3559ce6d0195ed25dca11_cgraph.map new file mode 100644 index 0000000..2d070f8 --- /dev/null +++ b/docs/API/xran__frame__struct_8h_a3ad2b8ea8fe3559ce6d0195ed25dca11_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/xran__frame__struct_8h_a3ad2b8ea8fe3559ce6d0195ed25dca11_cgraph.md5 b/docs/API/xran__frame__struct_8h_a3ad2b8ea8fe3559ce6d0195ed25dca11_cgraph.md5 new file mode 100644 index 0000000..27a7366 --- /dev/null +++ b/docs/API/xran__frame__struct_8h_a3ad2b8ea8fe3559ce6d0195ed25dca11_cgraph.md5 @@ -0,0 +1 @@ +54a108d66bfb2a582fe43a31fda2b848 \ No newline at end of file diff --git a/docs/API/xran__frame__struct_8h_a3ad2b8ea8fe3559ce6d0195ed25dca11_cgraph.png b/docs/API/xran__frame__struct_8h_a3ad2b8ea8fe3559ce6d0195ed25dca11_cgraph.png new file mode 100644 index 0000000..50bb0d5 Binary files /dev/null and b/docs/API/xran__frame__struct_8h_a3ad2b8ea8fe3559ce6d0195ed25dca11_cgraph.png differ diff --git a/docs/API/xran__frame__struct_8h_a7f5a87395d3930f222e58976960c99e2_icgraph.map b/docs/API/xran__frame__struct_8h_a7f5a87395d3930f222e58976960c99e2_icgraph.map new file mode 100644 index 0000000..5432dce --- /dev/null +++ b/docs/API/xran__frame__struct_8h_a7f5a87395d3930f222e58976960c99e2_icgraph.map @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/docs/API/xran__frame__struct_8h_a7f5a87395d3930f222e58976960c99e2_icgraph.md5 b/docs/API/xran__frame__struct_8h_a7f5a87395d3930f222e58976960c99e2_icgraph.md5 new file mode 100644 index 0000000..d6dd5d7 --- /dev/null +++ b/docs/API/xran__frame__struct_8h_a7f5a87395d3930f222e58976960c99e2_icgraph.md5 @@ -0,0 +1 @@ +cfdc22b869da2c1c06d0fec48aebb105 \ No newline at end of file diff --git a/docs/API/xran__frame__struct_8h_a7f5a87395d3930f222e58976960c99e2_icgraph.png b/docs/API/xran__frame__struct_8h_a7f5a87395d3930f222e58976960c99e2_icgraph.png new file mode 100644 index 0000000..10fa997 Binary files /dev/null and b/docs/API/xran__frame__struct_8h_a7f5a87395d3930f222e58976960c99e2_icgraph.png differ diff --git a/docs/API/xran__frame__struct_8h_a8e8598556da3e49fa48cb646c24162fa_icgraph.map b/docs/API/xran__frame__struct_8h_a8e8598556da3e49fa48cb646c24162fa_icgraph.map new file mode 100644 index 0000000..6cb5333 --- /dev/null +++ b/docs/API/xran__frame__struct_8h_a8e8598556da3e49fa48cb646c24162fa_icgraph.map @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/API/xran__frame__struct_8h_a8e8598556da3e49fa48cb646c24162fa_icgraph.md5 b/docs/API/xran__frame__struct_8h_a8e8598556da3e49fa48cb646c24162fa_icgraph.md5 new file mode 100644 index 0000000..fdea924 --- /dev/null +++ b/docs/API/xran__frame__struct_8h_a8e8598556da3e49fa48cb646c24162fa_icgraph.md5 @@ -0,0 +1 @@ +edc61dfa3390418e2f7e47939c2f0226 \ No newline at end of file diff --git a/docs/API/xran__frame__struct_8h_a8e8598556da3e49fa48cb646c24162fa_icgraph.png b/docs/API/xran__frame__struct_8h_a8e8598556da3e49fa48cb646c24162fa_icgraph.png new file mode 100644 index 0000000..b45100b Binary files /dev/null and b/docs/API/xran__frame__struct_8h_a8e8598556da3e49fa48cb646c24162fa_icgraph.png differ diff --git a/docs/API/xran__frame__struct_8h_a93baa96226b7790c8db4942f304269fc_icgraph.map b/docs/API/xran__frame__struct_8h_a93baa96226b7790c8db4942f304269fc_icgraph.map new file mode 100644 index 0000000..7a56602 --- /dev/null +++ b/docs/API/xran__frame__struct_8h_a93baa96226b7790c8db4942f304269fc_icgraph.map @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/API/xran__frame__struct_8h_a93baa96226b7790c8db4942f304269fc_icgraph.md5 b/docs/API/xran__frame__struct_8h_a93baa96226b7790c8db4942f304269fc_icgraph.md5 new file mode 100644 index 0000000..5b994b1 --- /dev/null +++ b/docs/API/xran__frame__struct_8h_a93baa96226b7790c8db4942f304269fc_icgraph.md5 @@ -0,0 +1 @@ +bad593bc13af713d3950cbf4b8a0c517 \ No newline at end of file diff --git a/docs/API/xran__frame__struct_8h_a93baa96226b7790c8db4942f304269fc_icgraph.png b/docs/API/xran__frame__struct_8h_a93baa96226b7790c8db4942f304269fc_icgraph.png new file mode 100644 index 0000000..e2ecb68 Binary files /dev/null and b/docs/API/xran__frame__struct_8h_a93baa96226b7790c8db4942f304269fc_icgraph.png differ diff --git a/docs/API/xran__frame__struct_8h_a9cc99d80a722f6afd2aaf6c6bd2e8887_cgraph.map b/docs/API/xran__frame__struct_8h_a9cc99d80a722f6afd2aaf6c6bd2e8887_cgraph.map new file mode 100644 index 0000000..c60928d --- /dev/null +++ b/docs/API/xran__frame__struct_8h_a9cc99d80a722f6afd2aaf6c6bd2e8887_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/xran__frame__struct_8h_a9cc99d80a722f6afd2aaf6c6bd2e8887_cgraph.md5 b/docs/API/xran__frame__struct_8h_a9cc99d80a722f6afd2aaf6c6bd2e8887_cgraph.md5 new file mode 100644 index 0000000..11033ce --- /dev/null +++ b/docs/API/xran__frame__struct_8h_a9cc99d80a722f6afd2aaf6c6bd2e8887_cgraph.md5 @@ -0,0 +1 @@ +d03821fb595926e662e715c36d0e3259 \ No newline at end of file diff --git a/docs/API/xran__frame__struct_8h_a9cc99d80a722f6afd2aaf6c6bd2e8887_cgraph.png b/docs/API/xran__frame__struct_8h_a9cc99d80a722f6afd2aaf6c6bd2e8887_cgraph.png new file mode 100644 index 0000000..b226037 Binary files /dev/null and b/docs/API/xran__frame__struct_8h_a9cc99d80a722f6afd2aaf6c6bd2e8887_cgraph.png differ diff --git a/docs/API/xran__frame__struct_8h_source.html b/docs/API/xran__frame__struct_8h_source.html new file mode 100644 index 0000000..93dc8c2 --- /dev/null +++ b/docs/API/xran__frame__struct_8h_source.html @@ -0,0 +1,92 @@ + + + + + + + +o-du/phy: xran_frame_struct.h Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    xran_frame_struct.h
    +
    +
    +Go to the documentation of this file.
    1 /******************************************************************************
    2 *
    3 * Copyright (c) 2019 Intel.
    4 *
    5 * Licensed under the Apache License, Version 2.0 (the "License");
    6 * you may not use this file except in compliance with the License.
    7 * You may obtain a copy of the License at
    8 *
    9 * http://www.apache.org/licenses/LICENSE-2.0
    10 *
    11 * Unless required by applicable law or agreed to in writing, software
    12 * distributed under the License is distributed on an "AS IS" BASIS,
    13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    14 * See the License for the specific language governing permissions and
    15 * limitations under the License.
    16 *
    17 *******************************************************************************/
    18 
    19 
    28 #ifndef _XRAN_FRAME_STRUCT_
    29 #define _XRAN_FRAME_STRUCT_
    30 
    31 #ifdef __cplusplus
    32 extern "C" {
    33 #endif
    34 
    35 
    36 #include "xran_fh_o_du.h"
    37 
    38 uint32_t xran_fs_get_tti_interval(uint8_t nMu);
    39 uint32_t xran_fs_get_scs(uint8_t nMu);
    40 
    41 //-------------------------------------------------------------------------------------------
    54 //-------------------------------------------------------------------------------------------
    55 uint16_t xran_fs_get_num_rbs(uint32_t nNumerology, uint32_t nBandwidth, uint32_t nAbsFrePointA);
    56 
    57 //-------------------------------------------------------------------------------------------
    68 //-------------------------------------------------------------------------------------------
    69 uint32_t xran_fs_cal_nrarfcn(uint32_t nCenterFreq);
    70 int32_t xran_fs_slot_limit(int32_t nSlotIdx);
    71 void xran_fs_clear_slot_type(uint32_t nCcId);
    72 int32_t xran_fs_set_slot_type(uint32_t nCcId, uint32_t nFrameDuplexType, uint32_t nTddPeriod, struct xran_slot_config* psSlotConfig);
    73 int32_t xran_fs_get_slot_type(int32_t nCcId, int32_t nSlotIdx, int32_t nType);
    74 uint32_t xran_fs_slot_limit_init(int32_t tti_interval_us);
    75 uint32_t xran_fs_get_max_slot(void);
    76 uint32_t xran_fs_get_max_slot_SFN(void);
    77 int32_t xran_fs_get_symbol_type(int32_t nCellIdx, int32_t nSlotdx, int32_t nSymbIdx);
    78 
    79 #ifdef __cplusplus
    80 }
    81 #endif
    82 
    83 #endif /* _XRAN_FRAME_STRUCT_ */
    84 
    uint32_t xran_fs_get_max_slot(void)
    +
    void xran_fs_clear_slot_type(uint32_t nCcId)
    +
    int32_t xran_fs_set_slot_type(uint32_t nCcId, uint32_t nFrameDuplexType, uint32_t nTddPeriod, struct xran_slot_config *psSlotConfig)
    +
    uint32_t xran_fs_get_tti_interval(uint8_t nMu)
    +
    uint32_t xran_fs_slot_limit_init(int32_t tti_interval_us)
    +
    uint32_t xran_fs_get_max_slot_SFN(void)
    +
    uint32_t xran_fs_cal_nrarfcn(uint32_t nCenterFreq)
    +
    int32_t xran_fs_get_slot_type(int32_t nCcId, int32_t nSlotIdx, int32_t nType)
    +
    int32_t xran_fs_slot_limit(int32_t nSlotIdx)
    +
    This file provides public interface to xRAN Front Haul layer implementation as defined in the ORAN-WG...
    +
    uint16_t xran_fs_get_num_rbs(uint32_t nNumerology, uint32_t nBandwidth, uint32_t nAbsFrePointA)
    +
    int32_t xran_fs_get_symbol_type(int32_t nCellIdx, int32_t nSlotdx, int32_t nSymbIdx)
    + +
    uint32_t xran_fs_get_scs(uint8_t nMu)
    +
    + + + + diff --git a/docs/API/xran__lib__mlog__tasks__id_8h.html b/docs/API/xran__lib__mlog__tasks__id_8h.html new file mode 100644 index 0000000..dfcb54c --- /dev/null +++ b/docs/API/xran__lib__mlog__tasks__id_8h.html @@ -0,0 +1,1124 @@ + + + + + + + +o-du/phy: xran_lib_mlog_tasks_id.h File Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    xran_lib_mlog_tasks_id.h File Reference
    +
    +
    +
    +This graph shows which files directly or indirectly include this file:
    +
    +
    + + + + + + +
    +
    +

    Go to the source code of this file.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Macros

    #define RESOURCE_CORE_0   0
     
    #define RESOURCE_CORE_1   1
     
    #define RESOURCE_CORE_2   2
     
    #define RESOURCE_CORE_3   3
     
    #define RESOURCE_CORE_4   4
     
    #define RESOURCE_CORE_5   5
     
    #define RESOURCE_CORE_6   6
     
    #define RESOURCE_CORE_7   7
     
    #define RESOURCE_CORE_8   8
     
    #define RESOURCE_CORE_9   9
     
    #define RESOURCE_CORE_10   10
     
    #define RESOURCE_CORE_11   11
     
    #define RESOURCE_CORE_12   12
     
    #define RESOURCE_CORE_13   13
     
    #define RESOURCE_CORE_14   14
     
    #define RESOURCE_CORE_15   15
     
    #define RESOURCE_CORE_16   16
     
    #define RESOURCE_IA_CORE   100
     
    #define PID_XRAN_BBDEV_DL_POLL   51
     
    #define PID_XRAN_BBDEV_DL_POLL_DISPATCH   52
     
    #define PID_XRAN_BBDEV_UL_POLL   53
     
    #define PID_XRAN_BBDEV_UL_POLL_DISPATCH   54
     
    #define PID_TTI_TIMER   2100
     
    #define PID_TTI_CB   2101
     
    #define PID_SYM_TIMER   2102
     
    #define PID_GNB_PROC_TIMING_TIMEOUT   2103
     
    #define PID_TIME_SYSTIME_POLL   2104
     
    #define PID_TIME_SYSTIME_STOP   2105
     
    #define PID_TIME_ARM_TIMER   2106
     
    #define PID_RADIO_FREQ_RX_PKT   2400
     
    #define PID_RADIO_RX_STOP   2401
     
    #define PID_RADIO_RX_UL_IQ   2402
     
    #define PID_RADIO_PRACH_PKT   2403
     
    #define PID_RADIO_FE_COMPRESS   2404
     
    #define PID_RADIO_FE_DECOMPRESS   2405
     
    #define PID_RADIO_TX_BYPASS_PROC   2406
     
    #define PID_RADIO_ETH_TX_BURST   2407
     
    #define PID_RADIO_TX_DL_IQ   2408
     
    #define PID_RADIO_RX_VALIDATE   2409
     
    #define PID_RADIO_RX_IRQ_ON   2410
     
    #define PID_RADIO_RX_IRQ_OFF   2411
     
    #define PID_RADIO_RX_EPOLL_WAIT   2412
     
    #define PID_RADIO_TX_LTEMODE_PROC   2413
     
    #define PID_RADIO_RX_LTEMODE_PROC   2414
     
    #define PID_RADIO_TX_PLAY_BACK_IQ   2415
     
    #define PID_PROCESS_TX_SYM   2416
     
    #define PID_CP_DL_CB   2500
     
    #define PID_CP_UL_CB   2501
     
    #define PID_UP_DL_CB   2502
     
    #define PID_SYM_OTA_CB   2503
     
    #define PID_TTI_CB_TO_PHY   2504
     
    #define PID_HALF_SLOT_CB_TO_PHY   2505
     
    #define PID_FULL_SLOT_CB_TO_PHY   2506
     
    #define PID_UP_UL_HALF_DEAD_LINE_CB   2507
     
    #define PID_UP_UL_FULL_DEAD_LINE_CB   2508
     
    #define PID_PROCESS_UP_PKT   2600
     
    #define PID_PROCESS_CP_PKT   2700
     
    +

    Macro Definition Documentation

    + +

    ◆ PID_CP_DL_CB

    + +
    +
    + + + + +
    #define PID_CP_DL_CB   2500
    +
    + +

    Definition at line 98 of file xran_lib_mlog_tasks_id.h.

    + +
    +
    + +

    ◆ PID_CP_UL_CB

    + +
    +
    + + + + +
    #define PID_CP_UL_CB   2501
    +
    + +

    Definition at line 99 of file xran_lib_mlog_tasks_id.h.

    + +
    +
    + +

    ◆ PID_FULL_SLOT_CB_TO_PHY

    + +
    +
    + + + + +
    #define PID_FULL_SLOT_CB_TO_PHY   2506
    +
    + +

    Definition at line 104 of file xran_lib_mlog_tasks_id.h.

    + +
    +
    + +

    ◆ PID_GNB_PROC_TIMING_TIMEOUT

    + +
    +
    + + + + +
    #define PID_GNB_PROC_TIMING_TIMEOUT   2103
    +
    + +

    Definition at line 69 of file xran_lib_mlog_tasks_id.h.

    + +
    +
    + +

    ◆ PID_HALF_SLOT_CB_TO_PHY

    + +
    +
    + + + + +
    #define PID_HALF_SLOT_CB_TO_PHY   2505
    +
    + +

    Definition at line 103 of file xran_lib_mlog_tasks_id.h.

    + +
    +
    + +

    ◆ PID_PROCESS_CP_PKT

    + +
    +
    + + + + +
    #define PID_PROCESS_CP_PKT   2700
    +
    + +

    Definition at line 109 of file xran_lib_mlog_tasks_id.h.

    + +
    +
    + +

    ◆ PID_PROCESS_TX_SYM

    + +
    +
    + + + + +
    #define PID_PROCESS_TX_SYM   2416
    +
    + +

    Definition at line 96 of file xran_lib_mlog_tasks_id.h.

    + +
    +
    + +

    ◆ PID_PROCESS_UP_PKT

    + +
    +
    + + + + +
    #define PID_PROCESS_UP_PKT   2600
    +
    + +

    Definition at line 108 of file xran_lib_mlog_tasks_id.h.

    + +
    +
    + +

    ◆ PID_RADIO_ETH_TX_BURST

    + +
    +
    + + + + +
    #define PID_RADIO_ETH_TX_BURST   2407
    +
    + +

    Definition at line 83 of file xran_lib_mlog_tasks_id.h.

    + +
    +
    + +

    ◆ PID_RADIO_FE_COMPRESS

    + +
    +
    + + + + +
    #define PID_RADIO_FE_COMPRESS   2404
    +
    + +

    Definition at line 80 of file xran_lib_mlog_tasks_id.h.

    + +
    +
    + +

    ◆ PID_RADIO_FE_DECOMPRESS

    + +
    +
    + + + + +
    #define PID_RADIO_FE_DECOMPRESS   2405
    +
    + +

    Definition at line 81 of file xran_lib_mlog_tasks_id.h.

    + +
    +
    + +

    ◆ PID_RADIO_FREQ_RX_PKT

    + +
    +
    + + + + +
    #define PID_RADIO_FREQ_RX_PKT   2400
    +
    + +

    Definition at line 76 of file xran_lib_mlog_tasks_id.h.

    + +
    +
    + +

    ◆ PID_RADIO_PRACH_PKT

    + +
    +
    + + + + +
    #define PID_RADIO_PRACH_PKT   2403
    +
    + +

    Definition at line 79 of file xran_lib_mlog_tasks_id.h.

    + +
    +
    + +

    ◆ PID_RADIO_RX_EPOLL_WAIT

    + +
    +
    + + + + +
    #define PID_RADIO_RX_EPOLL_WAIT   2412
    +
    + +

    Definition at line 89 of file xran_lib_mlog_tasks_id.h.

    + +
    +
    + +

    ◆ PID_RADIO_RX_IRQ_OFF

    + +
    +
    + + + + +
    #define PID_RADIO_RX_IRQ_OFF   2411
    +
    + +

    Definition at line 88 of file xran_lib_mlog_tasks_id.h.

    + +
    +
    + +

    ◆ PID_RADIO_RX_IRQ_ON

    + +
    +
    + + + + +
    #define PID_RADIO_RX_IRQ_ON   2410
    +
    + +

    Definition at line 87 of file xran_lib_mlog_tasks_id.h.

    + +
    +
    + +

    ◆ PID_RADIO_RX_LTEMODE_PROC

    + +
    +
    + + + + +
    #define PID_RADIO_RX_LTEMODE_PROC   2414
    +
    + +

    Definition at line 92 of file xran_lib_mlog_tasks_id.h.

    + +
    +
    + +

    ◆ PID_RADIO_RX_STOP

    + +
    +
    + + + + +
    #define PID_RADIO_RX_STOP   2401
    +
    + +

    Definition at line 77 of file xran_lib_mlog_tasks_id.h.

    + +
    +
    + +

    ◆ PID_RADIO_RX_UL_IQ

    + +
    +
    + + + + +
    #define PID_RADIO_RX_UL_IQ   2402
    +
    + +

    Definition at line 78 of file xran_lib_mlog_tasks_id.h.

    + +
    +
    + +

    ◆ PID_RADIO_RX_VALIDATE

    + +
    +
    + + + + +
    #define PID_RADIO_RX_VALIDATE   2409
    +
    + +

    Definition at line 85 of file xran_lib_mlog_tasks_id.h.

    + +
    +
    + +

    ◆ PID_RADIO_TX_BYPASS_PROC

    + +
    +
    + + + + +
    #define PID_RADIO_TX_BYPASS_PROC   2406
    +
    + +

    Definition at line 82 of file xran_lib_mlog_tasks_id.h.

    + +
    +
    + +

    ◆ PID_RADIO_TX_DL_IQ

    + +
    +
    + + + + +
    #define PID_RADIO_TX_DL_IQ   2408
    +
    + +

    Definition at line 84 of file xran_lib_mlog_tasks_id.h.

    + +
    +
    + +

    ◆ PID_RADIO_TX_LTEMODE_PROC

    + +
    +
    + + + + +
    #define PID_RADIO_TX_LTEMODE_PROC   2413
    +
    + +

    Definition at line 91 of file xran_lib_mlog_tasks_id.h.

    + +
    +
    + +

    ◆ PID_RADIO_TX_PLAY_BACK_IQ

    + +
    +
    + + + + +
    #define PID_RADIO_TX_PLAY_BACK_IQ   2415
    +
    + +

    Definition at line 94 of file xran_lib_mlog_tasks_id.h.

    + +
    +
    + +

    ◆ PID_SYM_OTA_CB

    + +
    +
    + + + + +
    #define PID_SYM_OTA_CB   2503
    +
    + +

    Definition at line 101 of file xran_lib_mlog_tasks_id.h.

    + +
    +
    + +

    ◆ PID_SYM_TIMER

    + +
    +
    + + + + +
    #define PID_SYM_TIMER   2102
    +
    + +

    Definition at line 68 of file xran_lib_mlog_tasks_id.h.

    + +
    +
    + +

    ◆ PID_TIME_ARM_TIMER

    + +
    +
    + + + + +
    #define PID_TIME_ARM_TIMER   2106
    +
    + +

    Definition at line 73 of file xran_lib_mlog_tasks_id.h.

    + +
    +
    + +

    ◆ PID_TIME_SYSTIME_POLL

    + +
    +
    + + + + +
    #define PID_TIME_SYSTIME_POLL   2104
    +
    + +

    Definition at line 71 of file xran_lib_mlog_tasks_id.h.

    + +
    +
    + +

    ◆ PID_TIME_SYSTIME_STOP

    + +
    +
    + + + + +
    #define PID_TIME_SYSTIME_STOP   2105
    +
    + +

    Definition at line 72 of file xran_lib_mlog_tasks_id.h.

    + +
    +
    + +

    ◆ PID_TTI_CB

    + +
    +
    + + + + +
    #define PID_TTI_CB   2101
    +
    + +

    Definition at line 66 of file xran_lib_mlog_tasks_id.h.

    + +
    +
    + +

    ◆ PID_TTI_CB_TO_PHY

    + +
    +
    + + + + +
    #define PID_TTI_CB_TO_PHY   2504
    +
    + +

    Definition at line 102 of file xran_lib_mlog_tasks_id.h.

    + +
    +
    + +

    ◆ PID_TTI_TIMER

    + +
    +
    + + + + +
    #define PID_TTI_TIMER   2100
    +
    + +

    Definition at line 65 of file xran_lib_mlog_tasks_id.h.

    + +
    +
    + +

    ◆ PID_UP_DL_CB

    + +
    +
    + + + + +
    #define PID_UP_DL_CB   2502
    +
    + +

    Definition at line 100 of file xran_lib_mlog_tasks_id.h.

    + +
    +
    + +

    ◆ PID_UP_UL_FULL_DEAD_LINE_CB

    + +
    +
    + + + + +
    #define PID_UP_UL_FULL_DEAD_LINE_CB   2508
    +
    + +

    Definition at line 106 of file xran_lib_mlog_tasks_id.h.

    + +
    +
    + +

    ◆ PID_UP_UL_HALF_DEAD_LINE_CB

    + +
    +
    + + + + +
    #define PID_UP_UL_HALF_DEAD_LINE_CB   2507
    +
    + +

    Definition at line 105 of file xran_lib_mlog_tasks_id.h.

    + +
    +
    + +

    ◆ PID_XRAN_BBDEV_DL_POLL

    + +
    +
    + + + + +
    #define PID_XRAN_BBDEV_DL_POLL   51
    +
    + +

    Definition at line 60 of file xran_lib_mlog_tasks_id.h.

    + +
    +
    + +

    ◆ PID_XRAN_BBDEV_DL_POLL_DISPATCH

    + +
    +
    + + + + +
    #define PID_XRAN_BBDEV_DL_POLL_DISPATCH   52
    +
    + +

    Definition at line 61 of file xran_lib_mlog_tasks_id.h.

    + +
    +
    + +

    ◆ PID_XRAN_BBDEV_UL_POLL

    + +
    +
    + + + + +
    #define PID_XRAN_BBDEV_UL_POLL   53
    +
    + +

    Definition at line 62 of file xran_lib_mlog_tasks_id.h.

    + +
    +
    + +

    ◆ PID_XRAN_BBDEV_UL_POLL_DISPATCH

    + +
    +
    + + + + +
    #define PID_XRAN_BBDEV_UL_POLL_DISPATCH   54
    +
    + +

    Definition at line 63 of file xran_lib_mlog_tasks_id.h.

    + +
    +
    + +

    ◆ RESOURCE_CORE_0

    + +
    +
    + + + + +
    #define RESOURCE_CORE_0   0
    +
    + +

    Definition at line 33 of file xran_lib_mlog_tasks_id.h.

    + +
    +
    + +

    ◆ RESOURCE_CORE_1

    + +
    +
    + + + + +
    #define RESOURCE_CORE_1   1
    +
    + +

    Definition at line 34 of file xran_lib_mlog_tasks_id.h.

    + +
    +
    + +

    ◆ RESOURCE_CORE_10

    + +
    +
    + + + + +
    #define RESOURCE_CORE_10   10
    +
    + +

    Definition at line 43 of file xran_lib_mlog_tasks_id.h.

    + +
    +
    + +

    ◆ RESOURCE_CORE_11

    + +
    +
    + + + + +
    #define RESOURCE_CORE_11   11
    +
    + +

    Definition at line 44 of file xran_lib_mlog_tasks_id.h.

    + +
    +
    + +

    ◆ RESOURCE_CORE_12

    + +
    +
    + + + + +
    #define RESOURCE_CORE_12   12
    +
    + +

    Definition at line 45 of file xran_lib_mlog_tasks_id.h.

    + +
    +
    + +

    ◆ RESOURCE_CORE_13

    + +
    +
    + + + + +
    #define RESOURCE_CORE_13   13
    +
    + +

    Definition at line 46 of file xran_lib_mlog_tasks_id.h.

    + +
    +
    + +

    ◆ RESOURCE_CORE_14

    + +
    +
    + + + + +
    #define RESOURCE_CORE_14   14
    +
    + +

    Definition at line 47 of file xran_lib_mlog_tasks_id.h.

    + +
    +
    + +

    ◆ RESOURCE_CORE_15

    + +
    +
    + + + + +
    #define RESOURCE_CORE_15   15
    +
    + +

    Definition at line 48 of file xran_lib_mlog_tasks_id.h.

    + +
    +
    + +

    ◆ RESOURCE_CORE_16

    + +
    +
    + + + + +
    #define RESOURCE_CORE_16   16
    +
    + +

    Definition at line 49 of file xran_lib_mlog_tasks_id.h.

    + +
    +
    + +

    ◆ RESOURCE_CORE_2

    + +
    +
    + + + + +
    #define RESOURCE_CORE_2   2
    +
    + +

    Definition at line 35 of file xran_lib_mlog_tasks_id.h.

    + +
    +
    + +

    ◆ RESOURCE_CORE_3

    + +
    +
    + + + + +
    #define RESOURCE_CORE_3   3
    +
    + +

    Definition at line 36 of file xran_lib_mlog_tasks_id.h.

    + +
    +
    + +

    ◆ RESOURCE_CORE_4

    + +
    +
    + + + + +
    #define RESOURCE_CORE_4   4
    +
    + +

    Definition at line 37 of file xran_lib_mlog_tasks_id.h.

    + +
    +
    + +

    ◆ RESOURCE_CORE_5

    + +
    +
    + + + + +
    #define RESOURCE_CORE_5   5
    +
    + +

    Definition at line 38 of file xran_lib_mlog_tasks_id.h.

    + +
    +
    + +

    ◆ RESOURCE_CORE_6

    + +
    +
    + + + + +
    #define RESOURCE_CORE_6   6
    +
    + +

    Definition at line 39 of file xran_lib_mlog_tasks_id.h.

    + +
    +
    + +

    ◆ RESOURCE_CORE_7

    + +
    +
    + + + + +
    #define RESOURCE_CORE_7   7
    +
    + +

    Definition at line 40 of file xran_lib_mlog_tasks_id.h.

    + +
    +
    + +

    ◆ RESOURCE_CORE_8

    + +
    +
    + + + + +
    #define RESOURCE_CORE_8   8
    +
    + +

    Definition at line 41 of file xran_lib_mlog_tasks_id.h.

    + +
    +
    + +

    ◆ RESOURCE_CORE_9

    + +
    +
    + + + + +
    #define RESOURCE_CORE_9   9
    +
    + +

    Definition at line 42 of file xran_lib_mlog_tasks_id.h.

    + +
    +
    + +

    ◆ RESOURCE_IA_CORE

    + +
    +
    + + + + +
    #define RESOURCE_IA_CORE   100
    +
    + +

    Definition at line 51 of file xran_lib_mlog_tasks_id.h.

    + +
    +
    +
    + + + + diff --git a/docs/API/xran__lib__mlog__tasks__id_8h__dep__incl.map b/docs/API/xran__lib__mlog__tasks__id_8h__dep__incl.map new file mode 100644 index 0000000..5f89ebb --- /dev/null +++ b/docs/API/xran__lib__mlog__tasks__id_8h__dep__incl.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/API/xran__lib__mlog__tasks__id_8h__dep__incl.md5 b/docs/API/xran__lib__mlog__tasks__id_8h__dep__incl.md5 new file mode 100644 index 0000000..7a444a0 --- /dev/null +++ b/docs/API/xran__lib__mlog__tasks__id_8h__dep__incl.md5 @@ -0,0 +1 @@ +db7e4d2c0d8413f7075eda8bc29146ca \ No newline at end of file diff --git a/docs/API/xran__lib__mlog__tasks__id_8h__dep__incl.png b/docs/API/xran__lib__mlog__tasks__id_8h__dep__incl.png new file mode 100644 index 0000000..caebd78 Binary files /dev/null and b/docs/API/xran__lib__mlog__tasks__id_8h__dep__incl.png differ diff --git a/docs/API/xran__lib__mlog__tasks__id_8h_source.html b/docs/API/xran__lib__mlog__tasks__id_8h_source.html new file mode 100644 index 0000000..0f25d49 --- /dev/null +++ b/docs/API/xran__lib__mlog__tasks__id_8h_source.html @@ -0,0 +1,78 @@ + + + + + + + +o-du/phy: xran_lib_mlog_tasks_id.h Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    xran_lib_mlog_tasks_id.h
    +
    +
    +Go to the documentation of this file.
    1 /******************************************************************************
    2 *
    3 * Copyright (c) 2019 Intel.
    4 *
    5 * Licensed under the Apache License, Version 2.0 (the "License");
    6 * you may not use this file except in compliance with the License.
    7 * You may obtain a copy of the License at
    8 *
    9 * http://www.apache.org/licenses/LICENSE-2.0
    10 *
    11 * Unless required by applicable law or agreed to in writing, software
    12 * distributed under the License is distributed on an "AS IS" BASIS,
    13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    14 * See the License for the specific language governing permissions and
    15 * limitations under the License.
    16 *
    17 *******************************************************************************/
    18 
    26 #ifndef _XRAN_TASK_ID_H_
    27 #define _XRAN_TASK_ID_H_
    28 
    29 #ifdef __cplusplus
    30 extern "C" {
    31 #endif
    32 
    33 #define RESOURCE_CORE_0 0
    34 #define RESOURCE_CORE_1 1
    35 #define RESOURCE_CORE_2 2
    36 #define RESOURCE_CORE_3 3
    37 #define RESOURCE_CORE_4 4
    38 #define RESOURCE_CORE_5 5
    39 #define RESOURCE_CORE_6 6
    40 #define RESOURCE_CORE_7 7
    41 #define RESOURCE_CORE_8 8
    42 #define RESOURCE_CORE_9 9
    43 #define RESOURCE_CORE_10 10
    44 #define RESOURCE_CORE_11 11
    45 #define RESOURCE_CORE_12 12
    46 #define RESOURCE_CORE_13 13
    47 #define RESOURCE_CORE_14 14
    48 #define RESOURCE_CORE_15 15
    49 #define RESOURCE_CORE_16 16
    50 
    51 #define RESOURCE_IA_CORE 100
    52 
    53 //--------------------------------------------------------------------
    54 // XRAN
    55 //--------------------------------------------------------------------
    56 
    57 //--------------------------------------------------------------------
    58 // POLLING
    59 //--------------------------------------------------------------------
    60 #define PID_XRAN_BBDEV_DL_POLL 51
    61 #define PID_XRAN_BBDEV_DL_POLL_DISPATCH 52
    62 #define PID_XRAN_BBDEV_UL_POLL 53
    63 #define PID_XRAN_BBDEV_UL_POLL_DISPATCH 54
    64 
    65 #define PID_TTI_TIMER 2100
    66 #define PID_TTI_CB 2101
    67 
    68 #define PID_SYM_TIMER 2102
    69 #define PID_GNB_PROC_TIMING_TIMEOUT 2103
    70 
    71 #define PID_TIME_SYSTIME_POLL 2104
    72 #define PID_TIME_SYSTIME_STOP 2105
    73 #define PID_TIME_ARM_TIMER 2106
    74 
    75 
    76 #define PID_RADIO_FREQ_RX_PKT 2400
    77 #define PID_RADIO_RX_STOP 2401
    78 #define PID_RADIO_RX_UL_IQ 2402
    79 #define PID_RADIO_PRACH_PKT 2403
    80 #define PID_RADIO_FE_COMPRESS 2404
    81 #define PID_RADIO_FE_DECOMPRESS 2405
    82 #define PID_RADIO_TX_BYPASS_PROC 2406
    83 #define PID_RADIO_ETH_TX_BURST 2407
    84 #define PID_RADIO_TX_DL_IQ 2408
    85 #define PID_RADIO_RX_VALIDATE 2409
    86 
    87 #define PID_RADIO_RX_IRQ_ON 2410
    88 #define PID_RADIO_RX_IRQ_OFF 2411
    89 #define PID_RADIO_RX_EPOLL_WAIT 2412
    90 
    91 #define PID_RADIO_TX_LTEMODE_PROC 2413
    92 #define PID_RADIO_RX_LTEMODE_PROC 2414
    93 
    94 #define PID_RADIO_TX_PLAY_BACK_IQ 2415
    95 
    96 #define PID_PROCESS_TX_SYM 2416
    97 
    98 #define PID_CP_DL_CB 2500
    99 #define PID_CP_UL_CB 2501
    100 #define PID_UP_DL_CB 2502
    101 #define PID_SYM_OTA_CB 2503
    102 #define PID_TTI_CB_TO_PHY 2504
    103 #define PID_HALF_SLOT_CB_TO_PHY 2505
    104 #define PID_FULL_SLOT_CB_TO_PHY 2506
    105 #define PID_UP_UL_HALF_DEAD_LINE_CB 2507
    106 #define PID_UP_UL_FULL_DEAD_LINE_CB 2508
    107 
    108 #define PID_PROCESS_UP_PKT 2600
    109 #define PID_PROCESS_CP_PKT 2700
    110 
    111 
    112 #ifdef __cplusplus
    113 }
    114 #endif
    115 
    116 #endif /* _XRAN_TASK_ID_H_ */
    117 
    + + + + diff --git a/docs/API/xran__lib__wrap_8hpp.html b/docs/API/xran__lib__wrap_8hpp.html new file mode 100644 index 0000000..68a12f6 --- /dev/null +++ b/docs/API/xran__lib__wrap_8hpp.html @@ -0,0 +1,540 @@ + + + + + + + +o-du/phy: xran_lib_wrap.hpp File Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    xran_lib_wrap.hpp File Reference
    +
    +
    +
    #include <exception>
    +#include <random>
    +#include <string>
    +#include <utility>
    +#include <vector>
    +#include <malloc.h>
    +#include <stdint.h>
    +#include "common.hpp"
    +#include "xran_fh_o_du.h"
    +#include "xran_common.h"
    +#include "xran_frame_struct.h"
    +
    +Include dependency graph for xran_lib_wrap.hpp:
    +
    +
    + + + + + + + + + + +
    +
    +This graph shows which files directly or indirectly include this file:
    +
    +
    + + + + + + +
    +
    +

    Go to the source code of this file.

    + + + + + + +

    +Data Structures

    class  xranLibWraper
     
    struct  xranLibWraper::xran_timer_ctx
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Macros

    #define XRAN_UT_CFG_FILENAME   "conf.json"
     
    #define XRAN_UT_KEY_GLOBALCFG   "GLOBAL"
     
    #define XRAN_UT_KEY_GLOBALCFG_IO   "io_cfg"
     
    #define XRAN_UT_KEY_GLOBALCFG_EAXCID   "eAxCId_cfg"
     
    #define XRAN_UT_KEY_GLOBALCFG_PRACH   "prach_cfg"
     
    #define XRAN_UT_KEY_GLOBALCFG_RU   "ru_cfg"
     
    #define XRAN_UT_KEY_GLOBALCFG_SLOT   "slotcfg_"
     
    #define MAX_NUM_OF_XRAN_CTX   (2)
     
    #define SW_FPGA_TOTAL_BUFFER_LEN   (4*1024*1024*1024)
     
    #define SW_FPGA_SEGMENT_BUFFER_LEN   (1*1024*1024*1024)
     
    #define SW_FPGA_FH_TOTAL_BUFFER_LEN   (1*1024*1024*1024)
     
    #define FPGA_TO_SW_PRACH_RX_BUFFER_LEN   (8192)
     
    #define MAX_ANT_CARRIER_SUPPORTED   (XRAN_MAX_SECTOR_NR*XRAN_MAX_ANTENNA_NR)
     
    + + + + + +

    +Functions

    void sym_ota_cb (struct rte_timer *tim, void *arg)
     
    void tti_ota_cb (struct rte_timer *tim, void *arg)
     
    + + + + + + + + + +

    +Variables

    uint32_t xran_lib_ota_tti
     
    uint32_t xran_lib_ota_sym
     
    uint32_t xran_lib_ota_sym_idx
     
    xranLibWraperxranlib
     
    +

    Macro Definition Documentation

    + +

    ◆ FPGA_TO_SW_PRACH_RX_BUFFER_LEN

    + +
    +
    + + + + +
    #define FPGA_TO_SW_PRACH_RX_BUFFER_LEN   (8192)
    +
    + +

    Definition at line 52 of file xran_lib_wrap.hpp.

    + +
    +
    + +

    ◆ MAX_ANT_CARRIER_SUPPORTED

    + +
    +
    + + + + +
    #define MAX_ANT_CARRIER_SUPPORTED   (XRAN_MAX_SECTOR_NR*XRAN_MAX_ANTENNA_NR)
    +
    + +

    Definition at line 54 of file xran_lib_wrap.hpp.

    + +
    +
    + +

    ◆ MAX_NUM_OF_XRAN_CTX

    + +
    +
    + + + + +
    #define MAX_NUM_OF_XRAN_CTX   (2)
    +
    + +

    Definition at line 47 of file xran_lib_wrap.hpp.

    + +
    +
    + +

    ◆ SW_FPGA_FH_TOTAL_BUFFER_LEN

    + +
    +
    + + + + +
    #define SW_FPGA_FH_TOTAL_BUFFER_LEN   (1*1024*1024*1024)
    +
    + +

    Definition at line 51 of file xran_lib_wrap.hpp.

    + +
    +
    + +

    ◆ SW_FPGA_SEGMENT_BUFFER_LEN

    + +
    +
    + + + + +
    #define SW_FPGA_SEGMENT_BUFFER_LEN   (1*1024*1024*1024)
    +
    + +

    Definition at line 50 of file xran_lib_wrap.hpp.

    + +
    +
    + +

    ◆ SW_FPGA_TOTAL_BUFFER_LEN

    + +
    +
    + + + + +
    #define SW_FPGA_TOTAL_BUFFER_LEN   (4*1024*1024*1024)
    +
    + +

    Definition at line 49 of file xran_lib_wrap.hpp.

    + +
    +
    + +

    ◆ XRAN_UT_CFG_FILENAME

    + +
    +
    + + + + +
    #define XRAN_UT_CFG_FILENAME   "conf.json"
    +
    + +

    Definition at line 38 of file xran_lib_wrap.hpp.

    + +
    +
    + +

    ◆ XRAN_UT_KEY_GLOBALCFG

    + +
    +
    + + + + +
    #define XRAN_UT_KEY_GLOBALCFG   "GLOBAL"
    +
    + +

    Definition at line 40 of file xran_lib_wrap.hpp.

    + +
    +
    + +

    ◆ XRAN_UT_KEY_GLOBALCFG_EAXCID

    + +
    +
    + + + + +
    #define XRAN_UT_KEY_GLOBALCFG_EAXCID   "eAxCId_cfg"
    +
    + +

    Definition at line 42 of file xran_lib_wrap.hpp.

    + +
    +
    + +

    ◆ XRAN_UT_KEY_GLOBALCFG_IO

    + +
    +
    + + + + +
    #define XRAN_UT_KEY_GLOBALCFG_IO   "io_cfg"
    +
    + +

    Definition at line 41 of file xran_lib_wrap.hpp.

    + +
    +
    + +

    ◆ XRAN_UT_KEY_GLOBALCFG_PRACH

    + +
    +
    + + + + +
    #define XRAN_UT_KEY_GLOBALCFG_PRACH   "prach_cfg"
    +
    + +

    Definition at line 43 of file xran_lib_wrap.hpp.

    + +
    +
    + +

    ◆ XRAN_UT_KEY_GLOBALCFG_RU

    + +
    +
    + + + + +
    #define XRAN_UT_KEY_GLOBALCFG_RU   "ru_cfg"
    +
    + +

    Definition at line 44 of file xran_lib_wrap.hpp.

    + +
    +
    + +

    ◆ XRAN_UT_KEY_GLOBALCFG_SLOT

    + +
    +
    + + + + +
    #define XRAN_UT_KEY_GLOBALCFG_SLOT   "slotcfg_"
    +
    + +

    Definition at line 45 of file xran_lib_wrap.hpp.

    + +
    +
    +

    Function Documentation

    + +

    ◆ sym_ota_cb()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void sym_ota_cb (struct rte_timer * tim,
    void * arg 
    )
    +
    + +
    +
    + +

    ◆ tti_ota_cb()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void tti_ota_cb (struct rte_timer * tim,
    void * arg 
    )
    +
    + +

    Definition at line 632 of file xran_main.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + + +
    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + + + + + + + + +
    + +
    +
    +

    Variable Documentation

    + +

    ◆ xran_lib_ota_sym

    + +
    +
    + + + + +
    uint32_t xran_lib_ota_sym
    +
    +

    Symbol index in a slot [0:13]

    + +

    Definition at line 112 of file xran_main.c.

    + +
    +
    + +

    ◆ xran_lib_ota_sym_idx

    + +
    +
    + + + + +
    uint32_t xran_lib_ota_sym_idx
    +
    +

    Symbol index in a second [0 : 14*(1000000/TTI)-1] where TTI is TTI interval in microseconds

    + +

    Definition at line 113 of file xran_main.c.

    + +
    +
    + +

    ◆ xran_lib_ota_tti

    + +
    +
    + + + + +
    uint32_t xran_lib_ota_tti
    +
    +

    Slot index in a second [0:(1000000/TTI-1)]

    + +

    Definition at line 111 of file xran_main.c.

    + +
    +
    + +

    ◆ xranlib

    + +
    +
    + + + + +
    xranLibWraper* xranlib
    +
    + +

    Definition at line 44 of file xranlib_unit_test_main.cc.

    + +
    +
    +
    + + + + diff --git a/docs/API/xran__lib__wrap_8hpp__dep__incl.map b/docs/API/xran__lib__wrap_8hpp__dep__incl.map new file mode 100644 index 0000000..db765f2 --- /dev/null +++ b/docs/API/xran__lib__wrap_8hpp__dep__incl.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/API/xran__lib__wrap_8hpp__dep__incl.md5 b/docs/API/xran__lib__wrap_8hpp__dep__incl.md5 new file mode 100644 index 0000000..37e67d4 --- /dev/null +++ b/docs/API/xran__lib__wrap_8hpp__dep__incl.md5 @@ -0,0 +1 @@ +79ae39941cb69b5b36f3030755327195 \ No newline at end of file diff --git a/docs/API/xran__lib__wrap_8hpp__dep__incl.png b/docs/API/xran__lib__wrap_8hpp__dep__incl.png new file mode 100644 index 0000000..14578d6 Binary files /dev/null and b/docs/API/xran__lib__wrap_8hpp__dep__incl.png differ diff --git a/docs/API/xran__lib__wrap_8hpp__incl.map b/docs/API/xran__lib__wrap_8hpp__incl.map new file mode 100644 index 0000000..e1b2c09 --- /dev/null +++ b/docs/API/xran__lib__wrap_8hpp__incl.map @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/docs/API/xran__lib__wrap_8hpp__incl.md5 b/docs/API/xran__lib__wrap_8hpp__incl.md5 new file mode 100644 index 0000000..7dae82c --- /dev/null +++ b/docs/API/xran__lib__wrap_8hpp__incl.md5 @@ -0,0 +1 @@ +213ea00c8e8666a3c1a9561604c1016c \ No newline at end of file diff --git a/docs/API/xran__lib__wrap_8hpp__incl.png b/docs/API/xran__lib__wrap_8hpp__incl.png new file mode 100644 index 0000000..07030db Binary files /dev/null and b/docs/API/xran__lib__wrap_8hpp__incl.png differ diff --git a/docs/API/xran__lib__wrap_8hpp_a9c3700d61ba446fa9b05cca2ca9018ab_cgraph.map b/docs/API/xran__lib__wrap_8hpp_a9c3700d61ba446fa9b05cca2ca9018ab_cgraph.map new file mode 100644 index 0000000..5e35be4 --- /dev/null +++ b/docs/API/xran__lib__wrap_8hpp_a9c3700d61ba446fa9b05cca2ca9018ab_cgraph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/xran__lib__wrap_8hpp_a9c3700d61ba446fa9b05cca2ca9018ab_cgraph.md5 b/docs/API/xran__lib__wrap_8hpp_a9c3700d61ba446fa9b05cca2ca9018ab_cgraph.md5 new file mode 100644 index 0000000..9a0569c --- /dev/null +++ b/docs/API/xran__lib__wrap_8hpp_a9c3700d61ba446fa9b05cca2ca9018ab_cgraph.md5 @@ -0,0 +1 @@ +9b7f69ae42b3cb16cb854f21e376d262 \ No newline at end of file diff --git a/docs/API/xran__lib__wrap_8hpp_a9c3700d61ba446fa9b05cca2ca9018ab_cgraph.png b/docs/API/xran__lib__wrap_8hpp_a9c3700d61ba446fa9b05cca2ca9018ab_cgraph.png new file mode 100644 index 0000000..abb3cc9 Binary files /dev/null and b/docs/API/xran__lib__wrap_8hpp_a9c3700d61ba446fa9b05cca2ca9018ab_cgraph.png differ diff --git a/docs/API/xran__lib__wrap_8hpp_a9c3700d61ba446fa9b05cca2ca9018ab_icgraph.map b/docs/API/xran__lib__wrap_8hpp_a9c3700d61ba446fa9b05cca2ca9018ab_icgraph.map new file mode 100644 index 0000000..a7767cf --- /dev/null +++ b/docs/API/xran__lib__wrap_8hpp_a9c3700d61ba446fa9b05cca2ca9018ab_icgraph.map @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/docs/API/xran__lib__wrap_8hpp_a9c3700d61ba446fa9b05cca2ca9018ab_icgraph.md5 b/docs/API/xran__lib__wrap_8hpp_a9c3700d61ba446fa9b05cca2ca9018ab_icgraph.md5 new file mode 100644 index 0000000..d9da330 --- /dev/null +++ b/docs/API/xran__lib__wrap_8hpp_a9c3700d61ba446fa9b05cca2ca9018ab_icgraph.md5 @@ -0,0 +1 @@ +bdd786a079ed822a0daaf46fc927feb8 \ No newline at end of file diff --git a/docs/API/xran__lib__wrap_8hpp_a9c3700d61ba446fa9b05cca2ca9018ab_icgraph.png b/docs/API/xran__lib__wrap_8hpp_a9c3700d61ba446fa9b05cca2ca9018ab_icgraph.png new file mode 100644 index 0000000..2b07504 Binary files /dev/null and b/docs/API/xran__lib__wrap_8hpp_a9c3700d61ba446fa9b05cca2ca9018ab_icgraph.png differ diff --git a/docs/API/xran__lib__wrap_8hpp_source.html b/docs/API/xran__lib__wrap_8hpp_source.html new file mode 100644 index 0000000..f452d51 --- /dev/null +++ b/docs/API/xran__lib__wrap_8hpp_source.html @@ -0,0 +1,375 @@ + + + + + + + +o-du/phy: xran_lib_wrap.hpp Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    xran_lib_wrap.hpp
    +
    +
    +Go to the documentation of this file.
    1 /******************************************************************************
    2 *
    3 * Copyright (c) 2019 Intel.
    4 *
    5 * Licensed under the Apache License, Version 2.0 (the "License");
    6 * you may not use this file except in compliance with the License.
    7 * You may obtain a copy of the License at
    8 *
    9 * http://www.apache.org/licenses/LICENSE-2.0
    10 *
    11 * Unless required by applicable law or agreed to in writing, software
    12 * distributed under the License is distributed on an "AS IS" BASIS,
    13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    14 * See the License for the specific language governing permissions and
    15 * limitations under the License.
    16 *
    17 *******************************************************************************/
    18 
    19 
    20 #ifndef XRAN_LIB_WRAP_HPP
    21 #define XRAN_LIB_WRAP_HPP
    22 
    23 #include <exception>
    24 #include <random>
    25 #include <string>
    26 #include <utility>
    27 #include <vector>
    28 
    29 #include <malloc.h>
    30 #include <stdint.h>
    31 
    32 #include "common.hpp"
    33 #include "xran_fh_o_du.h"
    34 #include "xran_common.h"
    35 #include "xran_frame_struct.h"
    36 
    37 
    38 #define XRAN_UT_CFG_FILENAME "conf.json"
    39 
    40 #define XRAN_UT_KEY_GLOBALCFG "GLOBAL"
    41 #define XRAN_UT_KEY_GLOBALCFG_IO "io_cfg"
    42 #define XRAN_UT_KEY_GLOBALCFG_EAXCID "eAxCId_cfg"
    43 #define XRAN_UT_KEY_GLOBALCFG_PRACH "prach_cfg"
    44 #define XRAN_UT_KEY_GLOBALCFG_RU "ru_cfg"
    45 #define XRAN_UT_KEY_GLOBALCFG_SLOT "slotcfg_"
    46 
    47 #define MAX_NUM_OF_XRAN_CTX (2)
    48 
    49 #define SW_FPGA_TOTAL_BUFFER_LEN (4*1024*1024*1024)
    50 #define SW_FPGA_SEGMENT_BUFFER_LEN (1*1024*1024*1024)
    51 #define SW_FPGA_FH_TOTAL_BUFFER_LEN (1*1024*1024*1024)
    52 #define FPGA_TO_SW_PRACH_RX_BUFFER_LEN (8192)
    53 
    54 #define MAX_ANT_CARRIER_SUPPORTED (XRAN_MAX_SECTOR_NR*XRAN_MAX_ANTENNA_NR)
    55 
    56 extern "C"
    57 {
    58 extern uint32_t xran_lib_ota_tti;
    59 extern uint32_t xran_lib_ota_sym;
    60 extern uint32_t xran_lib_ota_sym_idx;
    61 
    62 void sym_ota_cb(struct rte_timer *tim, void *arg);
    63 void tti_ota_cb(struct rte_timer *tim, void *arg);
    64 }
    65 
    67 {
    68 public:
    69  typedef enum
    70  {
    80 
    81  enum nChBw
    82  {
    88  };
    89 
    90  // F1 Tables 38.101-1 Table 5.3.2-1. Maximum transmission bandwidth configuration NRB
    91  const uint16_t nNumRbsPerSymF1[3][13] =
    92  {
    93  // 5MHz 10MHz 15MHz 20MHz 25MHz 30MHz 40MHz 50MHz 60MHz 70MHz 80MHz 90MHz 100MHz
    94  { 25, 52, 79, 106, 133, 160, 216, 270, 0, 0, 0, 0, 0 }, // Numerology 0 (15KHz)
    95  { 11, 24, 38, 51, 65, 78, 106, 133, 162, 0, 217, 245, 273 }, // Numerology 1 (30KHz)
    96  { 0, 11, 18, 24, 31, 38, 51, 65, 79, 0, 107, 121, 135 } // Numerology 2 (60KHz)
    97  };
    98 
    99  // F2 Tables 38.101-2 Table 5.3.2-1. Maximum transmission bandwidth configuration NRB
    100  const uint16_t nNumRbsPerSymF2[2][4] =
    101  {
    102  // 50MHz 100MHz 200MHz 400MHz
    103  { 66, 132, 264, 0 }, // Numerology 2 (60KHz)
    104  { 32, 66, 132, 264 } // Numerology 3 (120KHz)
    105  };
    106 
    107 
    108 protected:
    109  char argv[25] = "unittest";
    110 
    112 
    114 
    115  uint8_t m_du_mac[6] = { 0x00,0x11, 0x22, 0x33, 0x44, 0x66 };
    116  uint8_t m_ru_mac[6] = { 0x00,0x11, 0x22, 0x33, 0x44, 0x55 };
    117  bool m_bSub6;
    118  uint32_t m_nSlots = 10;
    119 
    122 
    123  struct xran_timer_ctx {
    124  uint32_t tti_to_process;
    126 
    127  /* io struct */
    133 
    134  /* buffers lists */
    140 
    141  void *m_nInstanceHandle[XRAN_PORTS_NUM][XRAN_MAX_SECTOR_NR]; // instance per sector
    142  uint32_t m_nBufPoolIndex[XRAN_MAX_SECTOR_NR][MAX_SW_XRAN_INTERFACE_NUM]; // every api owns unique buffer pool
    143 
    146 
    148 
    151 
    152  /* beamforming weights for UL (O-DU) */
    156 
    157  /* beamforming weights for UL (O-DU) */
    161 
    162 
    163 private:
    164  json m_global_cfg;
    165 
    166  template<typename T>
    167  T get_globalcfg(const std::string &type, const std::string &parameter_name)
    168  {
    169  return m_global_cfg[XRAN_UT_KEY_GLOBALCFG][type][parameter_name];
    170  }
    171 
    172  template<typename T>
    173  std::vector<T> get_globalcfg_array(const std::string &type, const std::string &parameter_name)
    174  {
    175  auto array_size = m_global_cfg[XRAN_UT_KEY_GLOBALCFG][type][parameter_name].size();
    176 
    177  std::vector<T> result(array_size);
    178 
    179  for(unsigned number = 0; number < array_size; number++)
    180  result.at(number) = m_global_cfg[XRAN_UT_KEY_GLOBALCFG][type][parameter_name][number];
    181 
    182  return result;
    183  }
    184 
    185  uint16_t get_eaxcid_mask(int numbit, int shift)
    186  {
    187  uint16_t result = 0;
    188 
    189  for(int i=0; i < numbit; i++) {
    190  result = result << 1; result +=1;
    191  }
    192  return (result << shift);
    193  }
    194 
    195  int init_memory()
    196  {
    197  xran_status_t status;
    198  int32_t i, j, k, z;
    199  SWXRANInterfaceTypeEnum eInterfaceType;
    200  void *ptr;
    201  void *mb;
    202  uint32_t *u32dptr;
    203  uint16_t *u16dptr;
    204  uint8_t *u8dptr;
    205 
    206 
    207  std::cout << "XRAN front haul xran_mm_init" << std::endl;
    208  status = xran_mm_init(m_xranhandle, (uint64_t) SW_FPGA_FH_TOTAL_BUFFER_LEN, SW_FPGA_SEGMENT_BUFFER_LEN);
    209  if(status != XRAN_STATUS_SUCCESS) {
    210  std::cout << "Failed at XRAN front haul xran_mm_init" << std::endl;
    211  return (-1);
    212  }
    213 
    214  /* initialize maximum instances to have flexibility for the tests */
    215  int nInstanceNum = XRAN_MAX_SECTOR_NR;
    216  /* initialize maximum supported CC to have flexibility on the test */
    217  int32_t nSectorNum = 6;//XRAN_MAX_SECTOR_NR;
    218 
    219  for(k = 0; k < XRAN_PORTS_NUM; k++) {
    220  status = xran_sector_get_instances(m_xranhandle, nInstanceNum, &m_nInstanceHandle[k][0]);
    221  if(status != XRAN_STATUS_SUCCESS) {
    222  std::cout << "get sector instance failed " << k << " for XRAN nInstanceNum " << nInstanceNum << std::endl;
    223  return (-1);
    224  }
    225  for (i = 0; i < nInstanceNum; i++)
    226  std::cout << __func__ << " [" << k << "]: CC " << i << " handle " << m_nInstanceHandle[0][i] << std::endl;
    227  }
    228  std::cout << "Sucess xran_mm_init" << std::endl;
    229 
    230  /* Init Memory */
    231  for(i = 0; i<nSectorNum; i++) {
    232  eInterfaceType = XRANFTHTX_OUT;
    233  status = xran_bm_init(m_nInstanceHandle[0][i],
    234  &m_nBufPoolIndex[m_nSectorIndex[i]][eInterfaceType],
    236  m_nSW_ToFpga_FTH_TxBufferLen);
    237  if(status != XRAN_STATUS_SUCCESS) {
    238  std::cout << __LINE__ << " Failed at xran_bm_init, status " << status << std::endl;
    239  return (-1);
    240  }
    241  for(j = 0; j < XRAN_N_FE_BUF_LEN; j++) {
    242  for(z = 0; z < XRAN_MAX_ANTENNA_NR; z++){
    243  m_sFrontHaulTxBbuIoBufCtrl[j][i][z].bValid = 0;
    244  m_sFrontHaulTxBbuIoBufCtrl[j][i][z].nSegGenerated = -1;
    245  m_sFrontHaulTxBbuIoBufCtrl[j][i][z].nSegToBeGen = -1;
    246  m_sFrontHaulTxBbuIoBufCtrl[j][i][z].nSegTransferred = 0;
    247  m_sFrontHaulTxBbuIoBufCtrl[j][i][z].sBufferList.nNumBuffers = XRAN_NUM_OF_SYMBOL_PER_SLOT;
    248  m_sFrontHaulTxBbuIoBufCtrl[j][i][z].sBufferList.pBuffers = &m_sFrontHaulTxBuffers[j][i][z][0];
    249 
    250  for(k = 0; k < XRAN_NUM_OF_SYMBOL_PER_SLOT; k++) {
    251  m_sFrontHaulTxBbuIoBufCtrl[j][i][z].sBufferList.pBuffers[k].nElementLenInBytes = m_nSW_ToFpga_FTH_TxBufferLen; // 14 symbols 3200bytes/symbol
    252  m_sFrontHaulTxBbuIoBufCtrl[j][i][z].sBufferList.pBuffers[k].nNumberOfElements = 1;
    253  m_sFrontHaulTxBbuIoBufCtrl[j][i][z].sBufferList.pBuffers[k].nOffsetInBytes = 0;
    254  status = xran_bm_allocate_buffer(m_nInstanceHandle[0][i], m_nBufPoolIndex[m_nSectorIndex[i]][eInterfaceType], &ptr, &mb);
    255  if(status != XRAN_STATUS_SUCCESS) {
    256  std::cout << __LINE__ << " Failed at xran_bm_allocate_buffer, status " << status << std::endl;
    257  return (-1);
    258  }
    259  m_sFrontHaulTxBbuIoBufCtrl[j][i][z].sBufferList.pBuffers[k].pData = (uint8_t *)ptr;
    260  m_sFrontHaulTxBbuIoBufCtrl[j][i][z].sBufferList.pBuffers[k].pCtrl = (void *)mb;
    261 
    262  if(ptr) {
    263  u32dptr = (uint32_t*)(ptr);
    264  uint8_t *ptr_temp = (uint8_t *)ptr;
    265  memset(u32dptr, 0x0, m_nSW_ToFpga_FTH_TxBufferLen);
    266  }
    267  }
    268  }
    269  }
    270 
    271  /* C-plane DL */
    272  eInterfaceType = XRANFTHTX_SEC_DESC_OUT;
    273  status = xran_bm_init(m_nInstanceHandle[0][i],
    274  &m_nBufPoolIndex[m_nSectorIndex[i]][eInterfaceType],
    275  XRAN_N_FE_BUF_LEN * XRAN_MAX_ANTENNA_NR * XRAN_NUM_OF_SYMBOL_PER_SLOT*XRAN_MAX_SECTIONS_PER_SYM, sizeof(struct xran_section_desc));
    276  if(XRAN_STATUS_SUCCESS != status) {
    277  std::cout << __LINE__ << " Failed at xran_bm_init, status " << status << std::endl;
    278  return (-1);
    279  }
    280  eInterfaceType = XRANFTHTX_PRB_MAP_OUT;
    281  status = xran_bm_init(m_nInstanceHandle[0][i],
    282  &m_nBufPoolIndex[m_nSectorIndex[i]][eInterfaceType],
    283  XRAN_N_FE_BUF_LEN * XRAN_MAX_ANTENNA_NR * XRAN_NUM_OF_SYMBOL_PER_SLOT,
    284  sizeof(struct xran_prb_map));
    285  if(status != XRAN_STATUS_SUCCESS) {
    286  std::cout << __LINE__ << " Failed at xran_bm_init, status " << status << std::endl;
    287  return (-1);
    288  }
    289  for(j = 0; j < XRAN_N_FE_BUF_LEN; j++) {
    290  for(z = 0; z < XRAN_MAX_ANTENNA_NR; z++) {
    291  m_sFrontHaulTxPrbMapBbuIoBufCtrl[j][i][z].bValid = 0;
    292  m_sFrontHaulTxPrbMapBbuIoBufCtrl[j][i][z].nSegGenerated = -1;
    293  m_sFrontHaulTxPrbMapBbuIoBufCtrl[j][i][z].nSegToBeGen = -1;
    294  m_sFrontHaulTxPrbMapBbuIoBufCtrl[j][i][z].nSegTransferred = 0;
    295  m_sFrontHaulTxPrbMapBbuIoBufCtrl[j][i][z].sBufferList.nNumBuffers = XRAN_NUM_OF_SYMBOL_PER_SLOT;
    296  m_sFrontHaulTxPrbMapBbuIoBufCtrl[j][i][z].sBufferList.pBuffers = &m_sFrontHaulTxPrbMapBuffers[j][i][z];
    297 
    298  m_sFrontHaulTxPrbMapBbuIoBufCtrl[j][i][z].sBufferList.pBuffers->nElementLenInBytes = sizeof(struct xran_prb_map);
    299  m_sFrontHaulTxPrbMapBbuIoBufCtrl[j][i][z].sBufferList.pBuffers->nNumberOfElements = 1;
    300  m_sFrontHaulTxPrbMapBbuIoBufCtrl[j][i][z].sBufferList.pBuffers->nOffsetInBytes = 0;
    301  status = xran_bm_allocate_buffer(m_nInstanceHandle[0][i], m_nBufPoolIndex[m_nSectorIndex[i]][eInterfaceType], &ptr, &mb);
    302  if(status != XRAN_STATUS_SUCCESS) {
    303  std::cout << __LINE__ << " Failed at xran_bm_allocate_buffer, status " << status << std::endl;
    304  return (-1);
    305  }
    306  m_sFrontHaulTxPrbMapBbuIoBufCtrl[j][i][z].sBufferList.pBuffers->pData = (uint8_t *)ptr;
    307  m_sFrontHaulTxPrbMapBbuIoBufCtrl[j][i][z].sBufferList.pBuffers->pCtrl = (void *)mb;
    308  void *sd_ptr;
    309  void *sd_mb;
    310  int elm_id;
    311  struct xran_prb_map * p_rb_map = (struct xran_prb_map *)ptr;
    312  //memcpy(ptr, &startupConfiguration.PrbMap, sizeof(struct xran_prb_map));
    313  for (elm_id = 0; elm_id < XRAN_MAX_SECTIONS_PER_SYM; elm_id++){
    314  struct xran_prb_elm *pPrbElem = &p_rb_map->prbMap[elm_id];
    315  for(k = 0; k < XRAN_NUM_OF_SYMBOL_PER_SLOT; k++){
    316  status = xran_bm_allocate_buffer(m_nInstanceHandle[0][i], m_nBufPoolIndex[m_nSectorIndex[i]][XRANFTHTX_SEC_DESC_OUT], &sd_ptr, &sd_mb);
    317  if(XRAN_STATUS_SUCCESS != status){
    318  std::cout << __LINE__ << "SD Failed at xran_bm_allocate_buffer , status %d\n" << status << std::endl;
    319  return (-1);
    320  }
    321  pPrbElem->p_sec_desc[k] = (struct xran_section_desc *)sd_ptr;
    322  }
    323  }
    324  }
    325  }
    326  }
    327 
    328  for(i = 0; i<nSectorNum; i++) {
    329  eInterfaceType = XRANFTHRX_IN;
    330  status = xran_bm_init(m_nInstanceHandle[0][i],
    331  &m_nBufPoolIndex[m_nSectorIndex[i]][eInterfaceType],
    333  m_nSW_ToFpga_FTH_TxBufferLen); /* ????, actual alloc size is m_nFpgaToSW_FTH_RxBUfferLen */
    334  if(status != XRAN_STATUS_SUCCESS) {
    335  std::cout << __LINE__ << " Failed at xran_bm_init, status " << status << std::endl;
    336  return (-1);
    337  }
    338 
    339  for(j = 0;j < XRAN_N_FE_BUF_LEN; j++) {
    340  for(z = 0; z < XRAN_MAX_ANTENNA_NR; z++) {
    341  m_sFrontHaulRxBbuIoBufCtrl[j][i][z].bValid = 0;
    342  m_sFrontHaulRxBbuIoBufCtrl[j][i][z].nSegGenerated = -1;
    343  m_sFrontHaulRxBbuIoBufCtrl[j][i][z].nSegToBeGen = -1;
    344  m_sFrontHaulRxBbuIoBufCtrl[j][i][z].nSegTransferred = 0;
    345  m_sFrontHaulRxBbuIoBufCtrl[j][i][z].sBufferList.nNumBuffers = XRAN_NUM_OF_SYMBOL_PER_SLOT;
    346  m_sFrontHaulRxBbuIoBufCtrl[j][i][z].sBufferList.pBuffers = &m_sFrontHaulRxBuffers[j][i][z][0];
    347  for(k = 0; k< XRAN_NUM_OF_SYMBOL_PER_SLOT; k++) {
    348  m_sFrontHaulRxBbuIoBufCtrl[j][i][z].sBufferList.pBuffers[k].nElementLenInBytes = m_nFpgaToSW_FTH_RxBufferLen;
    349  m_sFrontHaulRxBbuIoBufCtrl[j][i][z].sBufferList.pBuffers[k].nNumberOfElements = 1;
    350  m_sFrontHaulRxBbuIoBufCtrl[j][i][z].sBufferList.pBuffers[k].nOffsetInBytes = 0;
    351  status = xran_bm_allocate_buffer(m_nInstanceHandle[0][i], m_nBufPoolIndex[m_nSectorIndex[i]][eInterfaceType],&ptr, &mb);
    352  if(status != XRAN_STATUS_SUCCESS) {
    353  std::cout << __LINE__ << " Failed at xran_bm_allocate_buffer, status " << status << std::endl;
    354  return (-1);
    355  }
    356  m_sFrontHaulRxBbuIoBufCtrl[j][i][z].sBufferList.pBuffers[k].pData = (uint8_t *)ptr;
    357  m_sFrontHaulRxBbuIoBufCtrl[j][i][z].sBufferList.pBuffers[k].pCtrl = (void *) mb;
    358  if(ptr) {
    359  u32dptr = (uint32_t*)(ptr);
    360  uint8_t *ptr_temp = (uint8_t *)ptr;
    361  memset(u32dptr, 0x0, m_nFpgaToSW_FTH_RxBufferLen);
    362  }
    363  }
    364  }
    365  }
    366 
    367  eInterfaceType = XRANFTHTX_SEC_DESC_IN;
    368  status = xran_bm_init(m_nInstanceHandle[0][i],
    369  &m_nBufPoolIndex[m_nSectorIndex[i]][eInterfaceType],
    370  XRAN_N_FE_BUF_LEN * XRAN_MAX_ANTENNA_NR * XRAN_NUM_OF_SYMBOL_PER_SLOT*XRAN_MAX_SECTIONS_PER_SYM, sizeof(struct xran_section_desc));
    371  if(XRAN_STATUS_SUCCESS != status) {
    372  std::cout << __LINE__ << " Failed at xran_bm_init, status " << status << std::endl;
    373  return (-1);
    374  }
    375  eInterfaceType = XRANFTHRX_PRB_MAP_IN;
    376  status = xran_bm_init(m_nInstanceHandle[0][i],
    377  &m_nBufPoolIndex[m_nSectorIndex[i]][eInterfaceType],
    378  XRAN_N_FE_BUF_LEN * XRAN_MAX_ANTENNA_NR * XRAN_NUM_OF_SYMBOL_PER_SLOT,
    379  sizeof(struct xran_prb_map));
    380  if(status != XRAN_STATUS_SUCCESS) {
    381  std::cout << __LINE__ << " Failed at xran_bm_init, status " << status << std::endl;
    382  return (-1);
    383  }
    384 
    385  for(j = 0;j < XRAN_N_FE_BUF_LEN; j++) {
    386  for(z = 0; z < XRAN_MAX_ANTENNA_NR; z++) {
    387  m_sFrontHaulRxPrbMapBbuIoBufCtrl[j][i][z].bValid = 0;
    388  m_sFrontHaulRxPrbMapBbuIoBufCtrl[j][i][z].nSegGenerated = -1;
    389  m_sFrontHaulRxPrbMapBbuIoBufCtrl[j][i][z].nSegToBeGen = -1;
    390  m_sFrontHaulRxPrbMapBbuIoBufCtrl[j][i][z].nSegTransferred = 0;
    391  m_sFrontHaulRxPrbMapBbuIoBufCtrl[j][i][z].sBufferList.nNumBuffers = XRAN_NUM_OF_SYMBOL_PER_SLOT;
    392  m_sFrontHaulRxPrbMapBbuIoBufCtrl[j][i][z].sBufferList.pBuffers = &m_sFrontHaulRxPrbMapBuffers[j][i][z];
    393 
    394  m_sFrontHaulRxPrbMapBbuIoBufCtrl[j][i][z].sBufferList.pBuffers->nElementLenInBytes = sizeof(struct xran_prb_map);
    395  m_sFrontHaulRxPrbMapBbuIoBufCtrl[j][i][z].sBufferList.pBuffers->nNumberOfElements = 1;
    396  m_sFrontHaulRxPrbMapBbuIoBufCtrl[j][i][z].sBufferList.pBuffers->nOffsetInBytes = 0;
    397  status = xran_bm_allocate_buffer(m_nInstanceHandle[0][i],m_nBufPoolIndex[m_nSectorIndex[i]][eInterfaceType], &ptr, &mb);
    398  if(status != XRAN_STATUS_SUCCESS) {
    399  std::cout << __LINE__ << " Failed at xran_bm_allocate_buffer , status " << status << std::endl;
    400  return (-1);
    401  }
    402  m_sFrontHaulRxPrbMapBbuIoBufCtrl[j][i][z].sBufferList.pBuffers->pData = (uint8_t *)ptr;
    403  m_sFrontHaulRxPrbMapBbuIoBufCtrl[j][i][z].sBufferList.pBuffers->pCtrl = (void *)mb;
    404  void *sd_ptr;
    405  void *sd_mb;
    406  int elm_id;
    407  struct xran_prb_map * p_rb_map = (struct xran_prb_map *)ptr;
    408  //memcpy(ptr, &startupConfiguration.PrbMap, sizeof(struct xran_prb_map));
    409  for (elm_id = 0; elm_id < XRAN_MAX_SECTIONS_PER_SYM; elm_id++){
    410  struct xran_prb_elm *pPrbElem = &p_rb_map->prbMap[elm_id];
    411  for(k = 0; k < XRAN_NUM_OF_SYMBOL_PER_SLOT; k++){
    412  status = xran_bm_allocate_buffer(m_nInstanceHandle[0][i], m_nBufPoolIndex[m_nSectorIndex[i]][XRANFTHTX_SEC_DESC_IN], &sd_ptr, &sd_mb);
    413  if(XRAN_STATUS_SUCCESS != status){
    414  std::cout << __LINE__ << "SD Failed at xran_bm_allocate_buffer , status %d\n" << status << std::endl;
    415  return (-1);
    416  }
    417  pPrbElem->p_sec_desc[k] = (struct xran_section_desc *)sd_ptr;
    418  }
    419  }
    420  }
    421  }
    422  }
    423 
    424  for(i = 0; i<nSectorNum; i++) {
    425  eInterfaceType = XRANFTHRACH_IN;
    426  status = xran_bm_init(m_nInstanceHandle[0][i],
    427  &m_nBufPoolIndex[m_nSectorIndex[i]][eInterfaceType],
    430  if(status != XRAN_STATUS_SUCCESS) {
    431  std::cout << __LINE__ << " Failed at xran_bm_init, status " << status << std::endl;
    432  return (-1);
    433  }
    434  for(j = 0; j < XRAN_N_FE_BUF_LEN; j++) {
    435  for(z = 0; z < XRAN_MAX_ANTENNA_NR; z++) {
    436  m_sFHPrachRxBbuIoBufCtrl[j][i][z].bValid = 0;
    437  m_sFHPrachRxBbuIoBufCtrl[j][i][z].nSegGenerated = -1;
    438  m_sFHPrachRxBbuIoBufCtrl[j][i][z].nSegToBeGen = -1;
    439  m_sFHPrachRxBbuIoBufCtrl[j][i][z].nSegTransferred = 0;
    440  m_sFHPrachRxBbuIoBufCtrl[j][i][z].sBufferList.nNumBuffers = XRAN_MAX_ANTENNA_NR;
    441  m_sFHPrachRxBbuIoBufCtrl[j][i][z].sBufferList.pBuffers = &m_sFHPrachRxBuffers[j][i][z][0];
    442  for(k = 0; k< XRAN_NUM_OF_SYMBOL_PER_SLOT; k++) {
    443  m_sFHPrachRxBbuIoBufCtrl[j][i][z].sBufferList.pBuffers[k].nElementLenInBytes = FPGA_TO_SW_PRACH_RX_BUFFER_LEN;
    444  m_sFHPrachRxBbuIoBufCtrl[j][i][z].sBufferList.pBuffers[k].nNumberOfElements = 1;
    445  m_sFHPrachRxBbuIoBufCtrl[j][i][z].sBufferList.pBuffers[k].nOffsetInBytes = 0;
    446  status = xran_bm_allocate_buffer(m_nInstanceHandle[0][i], m_nBufPoolIndex[m_nSectorIndex[i]][eInterfaceType], &ptr, &mb);
    447  if(status != XRAN_STATUS_SUCCESS) {
    448  std::cout << __LINE__ << " Failed at xran_bm_allocate_buffer, status " << status << std::endl;
    449  return (-1);
    450  }
    451  m_sFHPrachRxBbuIoBufCtrl[j][i][z].sBufferList.pBuffers[k].pData = (uint8_t *)ptr;
    452  m_sFHPrachRxBbuIoBufCtrl[j][i][z].sBufferList.pBuffers[k].pCtrl = (void *)mb;
    453  if(ptr) {
    454  u32dptr = (uint32_t*)(ptr);
    455  memset(u32dptr, 0x0, FPGA_TO_SW_PRACH_RX_BUFFER_LEN);
    456  }
    457  }
    458  }
    459  }
    460  }
    461 
    462  return (0);
    463  }
    464 
    465 
    466 public:
    468  {
    469  int i, temp;
    470  std::string tmpstr;
    471  unsigned int tmp_mac[6];
    472 
    474 
    475  memset(&m_xranInit, 0, sizeof(xran_fh_init));
    476 
    477  m_xranInit.io_cfg.id = 0;
    478 
    479  /* DPDK configuration */
    480  m_dpdk_dev_up = get_globalcfg<std::string>(XRAN_UT_KEY_GLOBALCFG_IO, "dpdk_dev_up");
    481  m_dpdk_dev_cp = get_globalcfg<std::string>(XRAN_UT_KEY_GLOBALCFG_IO, "dpdk_dev_cp");
    482  m_xranInit.io_cfg.dpdk_dev[XRAN_UP_VF] = (m_dpdk_dev_up == "") ? NULL : (char *)&m_dpdk_dev_up;
    483  m_xranInit.io_cfg.dpdk_dev[XRAN_CP_VF] = (m_dpdk_dev_cp == "") ? NULL : (char *)&m_dpdk_dev_cp;
    484 
    485  m_xranInit.io_cfg.core = get_globalcfg<int>(XRAN_UT_KEY_GLOBALCFG_IO, "core");
    486  m_xranInit.io_cfg.system_core = get_globalcfg<int>(XRAN_UT_KEY_GLOBALCFG_IO, "system_core");
    487  m_xranInit.io_cfg.pkt_proc_core = get_globalcfg<int>(XRAN_UT_KEY_GLOBALCFG_IO, "pkt_proc_core");
    488  m_xranInit.io_cfg.pkt_aux_core = get_globalcfg<int>(XRAN_UT_KEY_GLOBALCFG_IO, "pkt_aux_core");
    489  m_xranInit.io_cfg.timing_core = get_globalcfg<int>(XRAN_UT_KEY_GLOBALCFG_IO, "timing_core");
    490 
    491  std::string bbdev_mode = get_globalcfg<std::string>(XRAN_UT_KEY_GLOBALCFG_IO, "bbdev_mode");
    492  if(bbdev_mode == "sw")
    494  else if(bbdev_mode == "hw")
    496  else if(bbdev_mode == "none")
    498  else {
    499  std::cout << "Invalid BBDev mode [" << bbdev_mode << "], bbdev won't be used." << std::endl;
    501  }
    502 
    503  m_xranInit.dpdkBasebandFecMode = get_globalcfg<int>(XRAN_UT_KEY_GLOBALCFG_IO, "dpdkBasebandFecMode");
    504 
    505  m_dpdk_bbdev = get_globalcfg<std::string>(XRAN_UT_KEY_GLOBALCFG_IO, "dpdkBasebandDevice");
    506  m_xranInit.dpdkBasebandDevice = (m_dpdk_bbdev == "") ? NULL : (char *)&m_dpdk_bbdev;
    507 
    508  /* Network configurations */
    509  m_xranInit.mtu = get_globalcfg<int>(XRAN_UT_KEY_GLOBALCFG_IO, "mtu");
    510 
    511  std::string du_mac_str = get_globalcfg<std::string>(XRAN_UT_KEY_GLOBALCFG_IO, "o_du_macaddr");
    512  std::string ru_mac_str = get_globalcfg<std::string>(XRAN_UT_KEY_GLOBALCFG_IO, "o_ru_macaddr");
    513  /* using temp variables to resolve KW issue */
    514  std::sscanf(du_mac_str.c_str(), "%02x:%02x:%02x:%02x:%02x:%02x",
    515  &tmp_mac[0], &tmp_mac[1], &tmp_mac[2],
    516  &tmp_mac[3], &tmp_mac[4], &tmp_mac[5]);
    517  for(i=0; i<6; i++)
    518  m_du_mac[i] = (uint8_t)tmp_mac[i];
    519  std::sscanf(du_mac_str.c_str(), "%02x:%02x:%02x:%02x:%02x:%02x",
    520  &tmp_mac[0], &tmp_mac[1], &tmp_mac[2],
    521  &tmp_mac[3], &tmp_mac[4], &tmp_mac[5]);
    522  for(i=0; i<6; i++)
    523  m_ru_mac[i] = (uint8_t)tmp_mac[i];
    524  m_xranInit.p_o_du_addr = (int8_t *)m_du_mac;
    525  m_xranInit.p_o_ru_addr = (int8_t *)m_ru_mac;
    526  m_xranInit.cp_vlan_tag = get_globalcfg<int>(XRAN_UT_KEY_GLOBALCFG_IO, "cp_vlan_tag");
    527  m_xranInit.up_vlan_tag = get_globalcfg<int>(XRAN_UT_KEY_GLOBALCFG_IO, "up_vlan_tag");
    528 
    529  /* eAxCID configurations */
    530  int bitnum_cuport = get_globalcfg<int>(XRAN_UT_KEY_GLOBALCFG_EAXCID, "bit_cuPortId");
    531  int bitnum_bandsec = get_globalcfg<int>(XRAN_UT_KEY_GLOBALCFG_EAXCID, "bit_bandSectorId");
    532  int bitnum_ccid = get_globalcfg<int>(XRAN_UT_KEY_GLOBALCFG_EAXCID, "bit_ccId");
    533  int bitnum_ruport = get_globalcfg<int>(XRAN_UT_KEY_GLOBALCFG_EAXCID, "bit_ruPortId");
    534 
    535  m_xranInit.eAxCId_conf.bit_cuPortId = bitnum_bandsec + bitnum_ccid + bitnum_ruport;
    536  m_xranInit.eAxCId_conf.bit_bandSectorId = bitnum_ccid + bitnum_ruport;
    537  m_xranInit.eAxCId_conf.bit_ccId = bitnum_ruport;
    539  m_xranInit.eAxCId_conf.mask_cuPortId = get_eaxcid_mask(bitnum_cuport, m_xranInit.eAxCId_conf.bit_cuPortId);
    541  m_xranInit.eAxCId_conf.mask_ccId = get_eaxcid_mask(bitnum_ccid, m_xranInit.eAxCId_conf.bit_ccId);
    542  m_xranInit.eAxCId_conf.mask_ruPortId = get_eaxcid_mask(bitnum_ruport, m_xranInit.eAxCId_conf.bit_ruPortId);
    543 
    544  m_xranInit.totalBfWeights = get_globalcfg<int>(XRAN_UT_KEY_GLOBALCFG_RU, "totalBfWeights");
    545 
    546  m_xranInit.Tadv_cp_dl = get_globalcfg<int>(XRAN_UT_KEY_GLOBALCFG_RU, "Tadv_cp_dl");
    547  m_xranInit.T2a_min_cp_dl = get_globalcfg<int>(XRAN_UT_KEY_GLOBALCFG_RU, "T2a_min_cp_dl");
    548  m_xranInit.T2a_max_cp_dl = get_globalcfg<int>(XRAN_UT_KEY_GLOBALCFG_RU, "T2a_max_cp_dl");
    549  m_xranInit.T2a_min_cp_ul = get_globalcfg<int>(XRAN_UT_KEY_GLOBALCFG_RU, "T2a_min_cp_ul");
    550  m_xranInit.T2a_max_cp_ul = get_globalcfg<int>(XRAN_UT_KEY_GLOBALCFG_RU, "T2a_max_cp_ul");
    551  m_xranInit.T2a_min_up = get_globalcfg<int>(XRAN_UT_KEY_GLOBALCFG_RU, "T2a_min_up");
    552  m_xranInit.T2a_max_up = get_globalcfg<int>(XRAN_UT_KEY_GLOBALCFG_RU, "T2a_max_up");
    553  m_xranInit.Ta3_min = get_globalcfg<int>(XRAN_UT_KEY_GLOBALCFG_RU, "Ta3_min");
    554  m_xranInit.Ta3_max = get_globalcfg<int>(XRAN_UT_KEY_GLOBALCFG_RU, "Ta3_max");
    555  m_xranInit.T1a_min_cp_dl = get_globalcfg<int>(XRAN_UT_KEY_GLOBALCFG_RU, "T1a_min_cp_dl");
    556  m_xranInit.T1a_max_cp_dl = get_globalcfg<int>(XRAN_UT_KEY_GLOBALCFG_RU, "T1a_max_cp_dl");
    557  m_xranInit.T1a_min_cp_ul = get_globalcfg<int>(XRAN_UT_KEY_GLOBALCFG_RU, "T1a_min_cp_ul");
    558  m_xranInit.T1a_max_cp_ul = get_globalcfg<int>(XRAN_UT_KEY_GLOBALCFG_RU, "T1a_max_cp_ul");
    559  m_xranInit.T1a_min_up = get_globalcfg<int>(XRAN_UT_KEY_GLOBALCFG_RU, "T1a_min_up");
    560  m_xranInit.T1a_max_up = get_globalcfg<int>(XRAN_UT_KEY_GLOBALCFG_RU, "T1a_max_up");
    561  m_xranInit.Ta4_min = get_globalcfg<int>(XRAN_UT_KEY_GLOBALCFG_RU, "Ta4_min");
    562  m_xranInit.Ta4_max = get_globalcfg<int>(XRAN_UT_KEY_GLOBALCFG_RU, "Ta4_max");
    563 
    564  m_xranInit.enableCP = 1;
    566  m_xranInit.debugStop = 0;
    569 
    570  m_xranInit.filePrefix = "wls";
    571 
    572  m_bSub6 = get_globalcfg<bool>(XRAN_UT_KEY_GLOBALCFG_RU, "sub6");
    573 
    574  memset(&m_xranConf, 0, sizeof(struct xran_fh_config));
    575  tmpstr = get_globalcfg<std::string>(XRAN_UT_KEY_GLOBALCFG_RU, "duplex");
    576  if(tmpstr == "FDD") {
    578  }
    579  else if(tmpstr == "TDD") {
    581 
    582  std::string slotcfg_key = get_globalcfg<std::string>(XRAN_UT_KEY_GLOBALCFG_RU, "slot_config");
    583 
    584  int numcfg = get_globalcfg<int>(slotcfg_key, "period");
    586 
    587  for(int i=0; i< numcfg; i++) {
    588  std::stringstream slotcfgname;
    589  slotcfgname << "slot" << i;
    590  std::vector<int> slotcfg = get_globalcfg_array<int>(slotcfg_key, slotcfgname.str());
    591  for(int j=0; j < slotcfg.size(); j++) {
    592  m_xranConf.frame_conf.sSlotConfig[i].nSymbolType[j] = slotcfg[j];
    593  }
    596  }
    597  }
    598  else {
    599  std::cout << "*** Invalid Duplex type [" << tmpstr << "] !!!" << std::endl;
    600  std::cout << "****** Set it to FDD... " << std::endl;
    602  }
    603 
    604  m_xranConf.frame_conf.nNumerology = get_globalcfg<int>(XRAN_UT_KEY_GLOBALCFG_RU, "mu");
    606  std::cout << "*** Invalid Numerology [" << m_xranConf.frame_conf.nNumerology << "] !!!" << std::endl;
    608  std::cout << "****** Set it to " << m_xranConf.frame_conf.nNumerology << "..." << std::endl;
    609  }
    610 
    611  m_xranConf.nCC = get_globalcfg<int>(XRAN_UT_KEY_GLOBALCFG_RU, "num_cc");
    613  std::cout << "*** Exceeds maximum number of carriers supported [" << m_xranConf.nCC << "] !!!" << std::endl;
    615  std::cout << "****** Adjusted to " << m_xranConf.nCC << "..." << std::endl;
    616  }
    617  m_xranConf.neAxc = get_globalcfg<int>(XRAN_UT_KEY_GLOBALCFG_RU, "num_eaxc");
    619  std::cout << "*** Exceeds maximum number of antenna supported [" << m_xranConf.neAxc << "] !!!" << std::endl;
    621  std::cout << "****** Adjusted to " << m_xranConf.neAxc << "..." << std::endl;
    622  }
    623 
    624  m_bSub6 = get_globalcfg<bool>(XRAN_UT_KEY_GLOBALCFG_RU, "sub6");
    625  temp = get_globalcfg<int>(XRAN_UT_KEY_GLOBALCFG_RU, "chbw_dl");
    626  m_xranConf.nDLRBs = get_num_rbs(get_numerology(), temp, m_bSub6);
    627  temp = get_globalcfg<int>(XRAN_UT_KEY_GLOBALCFG_RU, "chbw_ul");
    628  m_xranConf.nULRBs = get_num_rbs(get_numerology(), temp, m_bSub6);
    629 
    630  m_xranConf.nAntElmTRx = get_globalcfg<int>(XRAN_UT_KEY_GLOBALCFG_RU, "ant_elm_trx");
    631  m_xranConf.nDLFftSize = get_globalcfg<int>(XRAN_UT_KEY_GLOBALCFG_RU, "fft_size");
    632  m_xranConf.nULFftSize = get_globalcfg<int>(XRAN_UT_KEY_GLOBALCFG_RU, "fft_size");
    633 
    634  m_xranConf.prach_conf.nPrachConfIdx = get_globalcfg<int>(XRAN_UT_KEY_GLOBALCFG_PRACH, "config_id");
    636  m_xranConf.prach_conf.nPrachFreqStart = get_globalcfg<int>(XRAN_UT_KEY_GLOBALCFG_PRACH, "freq_start");
    637  m_xranConf.prach_conf.nPrachFreqOffset = get_globalcfg<int>(XRAN_UT_KEY_GLOBALCFG_PRACH, "freq_offset");
    638  m_xranConf.prach_conf.nPrachFilterIdx = get_globalcfg<int>(XRAN_UT_KEY_GLOBALCFG_PRACH, "filter_id");
    642 
    643  tmpstr = get_globalcfg<std::string>(XRAN_UT_KEY_GLOBALCFG_RU, "category");
    644  if(tmpstr == "A")
    646  else if(tmpstr == "B")
    648  else {
    649  std::cout << "*** Invalid RU Category [" << tmpstr << "] !!!" << std::endl;
    650  std::cout << "****** Set it to Category A... " << std::endl;
    652  }
    653 
    654  m_xranConf.ru_conf.iqWidth = get_globalcfg<int>(XRAN_UT_KEY_GLOBALCFG_RU, "iq_width");
    655  m_xranConf.ru_conf.compMeth = get_globalcfg<int>(XRAN_UT_KEY_GLOBALCFG_RU, "comp_meth");
    656 
    657  temp = get_globalcfg<int>(XRAN_UT_KEY_GLOBALCFG_RU, "fft_size");
    659  while (temp >>= 1)
    661 
    664 
    665  m_xranConf.log_level = 0;
    666 /*
    667  m_xranConf.bbdev_enc = nullptr;
    668  m_xranConf.bbdev_dec = nullptr;
    669  m_xranConf.ttiCb = nullptr;
    670  m_xranConf.ttiCbParam = nullptr;
    671 */
    672  }
    673 
    675  {
    676  }
    677 
    678  int SetUp()
    679  {
    680  int i;
    681 
    682  printf("O-DU MAC address: %02X:%02X:%02X:%02X:%02X:%02X\n",
    689 
    690  printf("O-RU MAC address: %02X:%02X:%02X:%02X:%02X:%02X\n",
    697 
    698  printf("eAxCID - %d:%d:%d:%d (%04x, %04x, %04x, %04x)\n",
    707 
    708  printf("Total BF Weights : %d\n", m_xranInit.totalBfWeights);
    709 
    710  xran_init(0, NULL, &m_xranInit, &argv[0], &m_xranhandle);
    711 
    712  for(i = 0; i < XRAN_MAX_SECTOR_NR; i++)
    713  m_nSectorIndex[i] = i;
    714 
    715  /* set to maximum length to support multiple cases */
    716  m_nFpgaToSW_FTH_RxBufferLen = 13168; /* 273*12*4 + 64*/
    717  m_nSW_ToFpga_FTH_TxBufferLen = 13168; /* 273*12*4 + 64*/
    718 
    719  if(init_memory() < 0) {
    720  std::cout << "Fatal Error on Initialization !!!" << std::endl;
    721  std::cout << "INIT FAILED" << std::endl;
    722  return (-1);
    723  }
    724 
    725  std::cout << "INIT DONE" << std::endl;
    726  return (0);
    727  }
    728 
    729  void TearDown()
    730  {
    731  if(m_xranhandle) {
    732  xran_close(m_xranhandle);
    733  m_xranhandle = nullptr;
    734  std::cout << "CLOSE DONE" << std::endl;
    735  }
    736  else
    737  std::cout << "ALREADY CLOSED" << std::endl;
    738  }
    739 
    740  int Init(struct xran_fh_config *pCfg = nullptr)
    741  {
    742  xran_status_t status;
    743  int32_t nSectorNum;
    744  int32_t i, j, k, z;
    745  void *ptr;
    746  void *mb;
    747  uint32_t *u32dptr;
    748  uint16_t *u16dptr;
    749  uint8_t *u8dptr;
    750  SWXRANInterfaceTypeEnum eInterfaceType;
    751  int32_t cc_id, ant_id, sym_id, tti;
    752  int32_t flowId;
    753  char *pos = NULL;
    754  struct xran_prb_map *pRbMap = NULL;
    755 
    756 
    757  /* Update member variables */
    758  if(pCfg)
    759  memcpy(&m_xranConf, pCfg, sizeof(struct xran_fh_config));
    760 
    761  /* Init timer context */
    762  xran_lib_ota_tti = 0;
    763  xran_lib_ota_sym = 0;
    765  for(i=0; i < MAX_NUM_OF_XRAN_CTX; i++)
    767 
    768  nSectorNum = get_num_cc();
    769 
    770  /* Cat B RU support */
    772  /* 10 * [14*32*273*2*2] = 4892160 bytes */
    773  iq_bfw_buffer_size_dl = (m_nSlots * N_SYM_PER_SLOT * get_num_antelmtrx() * get_num_dlrbs() * 4L);
    774  iq_bfw_buffer_size_ul = (m_nSlots * N_SYM_PER_SLOT * get_num_antelmtrx() * get_num_ulrbs() * 4L);
    775 
    776  for(i = 0; i < MAX_ANT_CARRIER_SUPPORTED && i < (uint32_t)(get_num_cc() * get_num_eaxc()); i++) {
    777  p_tx_dl_bfw_buffer[i] = (int16_t*)malloc(iq_bfw_buffer_size_dl);
    778  tx_dl_bfw_buffer_size[i] = (int32_t)iq_bfw_buffer_size_dl;
    779  if(p_tx_dl_bfw_buffer[i] == NULL)
    780  return(-1);
    781 
    782  memset(p_tx_dl_bfw_buffer[i], 'D', iq_bfw_buffer_size_dl);
    783  tx_dl_bfw_buffer_position[i] = 0;
    784 
    785  p_tx_ul_bfw_buffer[i] = (int16_t*)malloc(iq_bfw_buffer_size_ul);
    786  tx_ul_bfw_buffer_size[i] = (int32_t)iq_bfw_buffer_size_ul;
    787  if(p_tx_ul_bfw_buffer[i] == NULL)
    788  return (-1);
    789 
    790  memset(p_tx_ul_bfw_buffer[i], 'U', iq_bfw_buffer_size_ul);
    791  tx_ul_bfw_buffer_position[i] = 0;
    792  }
    793  }
    794 
    795  /* Init RB map */
    796  for(cc_id = 0; cc_id <nSectorNum; cc_id++) {
    797  for(tti = 0; tti < XRAN_N_FE_BUF_LEN; tti ++) {
    798  for(ant_id = 0; ant_id < XRAN_MAX_ANTENNA_NR; ant_id++) {
    799  flowId = XRAN_MAX_ANTENNA_NR*cc_id + ant_id;
    800 
    801  /* C-plane DL */
    802  pRbMap = (struct xran_prb_map *)m_sFrontHaulTxPrbMapBbuIoBufCtrl[tti][cc_id][ant_id].sBufferList.pBuffers->pData;
    803  if(pRbMap) {
    804  pRbMap->dir = XRAN_DIR_DL;
    805  pRbMap->xran_port = 0;
    806  pRbMap->band_id = 0;
    807  pRbMap->cc_id = cc_id;
    808  pRbMap->ru_port_id = ant_id;
    809  pRbMap->tti_id = tti;
    810  pRbMap->start_sym_id = 0;
    811 
    812  pRbMap->nPrbElm = 1;
    813  pRbMap->prbMap[0].nRBStart = 0;
    814  pRbMap->prbMap[0].nRBSize = get_num_dlrbs();
    815  pRbMap->prbMap[0].nStartSymb = 0;
    816  pRbMap->prbMap[0].numSymb = 14;
    817  pRbMap->prbMap[0].nBeamIndex = 0;
    819 
    822  pRbMap->prbMap[0].bf_weight_update = 0;
    823  //pRbMap->prbMap[0].bf_attribute.weight[];
    824  //pRbMap->prbMap[0].bf_precoding.weight[];
    825  }
    826  else if(get_rucategory() == XRAN_CATEGORY_B) {
    827  int idxElm;
    828  int iPrb;
    829  char *dl_bfw_pos = ((char*)p_tx_dl_bfw_buffer[flowId]) + tx_dl_bfw_buffer_position[flowId];
    830  struct xran_prb_elm* p_prbMap = NULL;
    831  int num_antelm;
    832 
    834  pRbMap->prbMap[0].bf_weight_update = 1;
    835 
    836  num_antelm = get_num_antelmtrx();
    837 #if 0
    838  /* populate beam weights to C-plane for each elm */
    839  pRbMap->bf_weight.nAntElmTRx = num_antelm;
    840  for(idxElm = 0; idxElm < pRbMap->nPrbElm; idxElm++){
    841  p_prbMap = &pRbMap->prbMap[idxElm];
    842  for (iPrb = p_prbMap->nRBStart; iPrb < (p_prbMap->nRBStart + p_prbMap->nRBSize); iPrb++) {
    843  /* copy BF W IQs for 1 PRB of */
    844  rte_memcpy(&pRbMap->bf_weight.weight[iPrb][0], (dl_bfw_pos + (iPrb * num_antelm)*4), num_antelm*4);
    845  }
    846  }
    847 #endif
    848  } /* else if(get_rucategory() == XRAN_CATEGORY_B) */
    849  } /* if(pRbMap) */
    850  else {
    851  std::cout << "DL pRbMap ==NULL" << std::endl;
    852  }
    853 
    854  /* C-plane UL */
    855  pRbMap = (struct xran_prb_map *)m_sFrontHaulRxPrbMapBbuIoBufCtrl[tti][cc_id][ant_id].sBufferList.pBuffers->pData;
    856  if(pRbMap) {
    857  pRbMap->dir = XRAN_DIR_UL;
    858  pRbMap->xran_port = 0;
    859  pRbMap->band_id = 0;
    860  pRbMap->cc_id = cc_id;
    861  pRbMap->ru_port_id = ant_id;
    862  pRbMap->tti_id = tti;
    863  pRbMap->start_sym_id = 0;
    864 
    865  pRbMap->nPrbElm = 1;
    866  pRbMap->prbMap[0].nRBStart = 0;
    867  pRbMap->prbMap[0].nRBSize = get_num_ulrbs();
    868  pRbMap->prbMap[0].nStartSymb = 0;
    869  pRbMap->prbMap[0].numSymb = 14;
    870  pRbMap->prbMap[0].nBeamIndex = 0;
    872 
    875  pRbMap->prbMap[0].bf_weight_update = 0;
    876  //pRbMap->prbMap[0].bf_attribute.weight[];
    877  //pRbMap->prbMap[0].bf_precoding.weight[];
    878  }
    879  else if(get_rucategory() == XRAN_CATEGORY_B) {
    880  int idxElm;
    881  int iPrb;
    882  char *ul_bfw_pos = ((char*)p_tx_ul_bfw_buffer[flowId]) + tx_ul_bfw_buffer_position[flowId];
    883  struct xran_prb_elm* p_prbMap = NULL;
    884  int num_antelm;
    885 
    887  pRbMap->prbMap[0].bf_weight_update = 1;
    888 
    889  num_antelm = get_num_antelmtrx();
    890 #if 0
    891  /* populate beam weights to C-plane for each elm */
    892  pRbMap->bf_weight.nAntElmTRx = num_antelm;
    893  for (idxElm = 0; idxElm < pRbMap->nPrbElm; idxElm++){
    894  p_prbMap = &pRbMap->prbMap[idxElm];
    895  for (iPrb = p_prbMap->nRBStart; iPrb < (p_prbMap->nRBStart + p_prbMap->nRBSize); iPrb++){
    896  /* copy BF W IQs for 1 PRB of */
    897  rte_memcpy(&pRbMap->bf_weight.weight[iPrb][0], (ul_bfw_pos + (iPrb*num_antelm)*4), num_antelm*4);
    898  }
    899  }
    900 #endif
    901  } /* else if(get_rucategory() == XRAN_CATEGORY_B) */
    902 
    903  } /* if(pRbMap) */
    904  else {
    905  std::cout << "UL: pRbMap ==NULL" << std::endl;
    906  }
    907  }
    908  }
    909  }
    910 
    911  return (0);
    912  }
    913 
    914  void Cleanup()
    915  {
    916  int i;
    917 
    919  for(i = 0; i < MAX_ANT_CARRIER_SUPPORTED && i < (uint32_t)(get_num_cc() * get_num_eaxc()); i++) {
    920  if(p_tx_dl_bfw_buffer[i]) {
    921  free(p_tx_dl_bfw_buffer[i]);
    922  p_tx_dl_bfw_buffer[i] == NULL;
    923  }
    924 
    925  if(p_tx_ul_bfw_buffer[i]) {
    926  free(p_tx_ul_bfw_buffer[i]);
    927  p_tx_ul_bfw_buffer[i] == NULL;
    928  }
    929  }
    930  }
    931 
    932  return;
    933  }
    934 
    935 
    937  void *fh_rx_callback, void *fh_rx_prach_callback)
    938  {
    939  struct xran_fh_config *pXranConf;
    940  int32_t nSectorNum;
    941  int i, j, k, z;
    947 
    948 #if 0
    952 #endif
    953  nSectorNum = get_num_cc();
    954 
    955  for(i=0; i<nSectorNum; i++) {
    956  for(j=0; j<XRAN_N_FE_BUF_LEN; j++) {
    957  for(z = 0; z < XRAN_MAX_ANTENNA_NR; z++) {
    958  pFthTxBuffer[i][z][j] = &(m_sFrontHaulTxBbuIoBufCtrl[j][i][z].sBufferList);
    959  pFthTxPrbMapBuffer[i][z][j] = &(m_sFrontHaulTxPrbMapBbuIoBufCtrl[j][i][z].sBufferList);
    960  pFthRxBuffer[i][z][j] = &(m_sFrontHaulRxBbuIoBufCtrl[j][i][z].sBufferList);
    961  pFthRxPrbMapBuffer[i][z][j] = &(m_sFrontHaulRxPrbMapBbuIoBufCtrl[j][i][z].sBufferList);
    962  pFthRxRachBuffer[i][z][j] = &(m_sFHPrachRxBbuIoBufCtrl[j][i][z].sBufferList);
    963  }
    964  }
    965  }
    966 
    967  if(m_nInstanceHandle[0] != NULL) {
    968  for(i = 0; i<nSectorNum; i++) {
    969  xran_5g_fronthault_config(m_nInstanceHandle[0][i],
    970  pFthTxBuffer[i], pFthTxPrbMapBuffer[i],
    971  pFthRxBuffer[i], pFthRxPrbMapBuffer[i],
    972  (void (*)(void *, xran_status_t))fh_rx_callback, &pFthRxBuffer[i][0]);
    973 
    974  xran_5g_prach_req(m_nInstanceHandle[0][i], pFthRxRachBuffer[i],
    975  (void (*)(void *, xran_status_t))fh_rx_prach_callback, &pFthRxRachBuffer[i][0]);
    976  }
    977  }
    978 
    979  xran_register_cb_mbuf2ring(send_cp, send_up);
    980 
    981  xran_open(m_xranhandle, &m_xranConf);
    982  }
    983 
    984  void Close()
    985  {
    986  if(m_xranhandle)
    987  xran_close(m_xranhandle);
    988  }
    989 
    990  int Start()
    991  {
    992  if(m_xranhandle)
    993  return(xran_start(m_xranhandle));
    994  else
    995  return (-1);
    996  }
    997 
    998  int Stop()
    999  {
    1000  if(m_xranhandle)
    1001  return(xran_stop(m_xranhandle));
    1002  else
    1003  return (-1);
    1004  }
    1005 
    1006  /* emulation of timer */
    1007  void update_tti()
    1008  {
    1009  tti_ota_cb(nullptr, get_timer_ctx());
    1010  }
    1011 
    1013  {
    1015  if((xran_lib_ota_sym_idx % N_SYM_PER_SLOT) == 0) {
    1016  update_tti();
    1017  }
    1018 
    1019  xran_lib_ota_sym++;
    1020  if(xran_lib_ota_sym >= N_SYM_PER_SLOT)
    1021  xran_lib_ota_sym = 0;
    1022  }
    1023 
    1024  int apply_cpenable(bool flag)
    1025  {
    1026  struct xran_device_ctx *pCtx = xran_dev_get_ctx();
    1027 
    1028  if(is_running())
    1029  return (-1);
    1030 
    1031  if(pCtx == nullptr)
    1032  return (-1);
    1033 
    1034  if(flag == true) {
    1035  m_xranInit.enableCP = 1;
    1036  pCtx->enableCP = 1;
    1037  }
    1038  else {
    1039  m_xranInit.enableCP = 0;
    1040  pCtx->enableCP = 0;
    1041  }
    1042 
    1043  return (0);
    1044  }
    1045 
    1046 
    1047  int get_slot_config(const std::string &cfgname, struct xran_frame_config *pCfg)
    1048  {
    1049  int numcfg, i, j;
    1050  std::vector<int> slotcfg;
    1051 
    1052  numcfg = get_globalcfg<int>(cfgname, "period");
    1053  pCfg->nTddPeriod = numcfg;
    1054  for(i=0; i < numcfg; i++) {
    1055  std::stringstream slotcfgname;
    1056 
    1057  slotcfgname << "slot" << i;
    1058  std::vector<int> slotcfg = get_globalcfg_array<int>(cfgname, slotcfgname.str());
    1059 
    1060  for(j=0; j < slotcfg.size(); j++)
    1061  pCfg->sSlotConfig[i].nSymbolType[j] = slotcfg[j];
    1062  pCfg->sSlotConfig[i].reserved[0] = 0; pCfg->sSlotConfig[i].reserved[1] = 0;
    1063  }
    1064 
    1065  return (numcfg);
    1066  }
    1067 
    1068  int get_num_rbs(uint32_t nNumerology, uint32_t nBandwidth, bool nSub6)
    1069  {
    1070  if(nNumerology > 3)
    1071  return (-1);
    1072 
    1073  if(nSub6) {
    1074  if (nNumerology < 3) {
    1075  /* F1 Tables 38.101-1 Table 5.3.2-1. Maximum transmission bandwidth configuration NRB */
    1076  switch(nBandwidth) {
    1077  case PHY_BW_5MHZ: return(nNumRbsPerSymF1[nNumerology][0]);
    1078  case PHY_BW_10MHZ: return(nNumRbsPerSymF1[nNumerology][1]);
    1079  case PHY_BW_15MHZ: return(nNumRbsPerSymF1[nNumerology][2]);
    1080  case PHY_BW_20MHZ: return(nNumRbsPerSymF1[nNumerology][3]);
    1081  case PHY_BW_25MHZ: return(nNumRbsPerSymF1[nNumerology][4]);
    1082  case PHY_BW_30MHZ: return(nNumRbsPerSymF1[nNumerology][5]);
    1083  case PHY_BW_40MHZ: return(nNumRbsPerSymF1[nNumerology][6]);
    1084  case PHY_BW_50MHZ: return(nNumRbsPerSymF1[nNumerology][7]);
    1085  case PHY_BW_60MHZ: return(nNumRbsPerSymF1[nNumerology][8]);
    1086  case PHY_BW_70MHZ: return(nNumRbsPerSymF1[nNumerology][9]);
    1087  case PHY_BW_80MHZ: return(nNumRbsPerSymF1[nNumerology][10]);
    1088  case PHY_BW_90MHZ: return(nNumRbsPerSymF1[nNumerology][11]);
    1089  case PHY_BW_100MHZ: return(nNumRbsPerSymF1[nNumerology][12]);
    1090  }
    1091  }
    1092  }
    1093  else { /* if(nSub6) */
    1094  if((nNumerology >= 2) && (nNumerology <= 3)) {
    1095  nNumerology -= 2;
    1096  /* F2 Tables 38.101-2 Table 5.3.2-1. Maximum transmission bandwidth configuration NRB */
    1097  switch(nBandwidth) {
    1098  case PHY_BW_50MHZ: return(nNumRbsPerSymF2[nNumerology][0]); break;
    1099  case PHY_BW_100MHZ: return(nNumRbsPerSymF2[nNumerology][1]); break;
    1100  case PHY_BW_200MHZ: return(nNumRbsPerSymF2[nNumerology][2]); break;
    1101  case PHY_BW_400MHZ: return(nNumRbsPerSymF2[nNumerology][3]); break;
    1102  }
    1103  }
    1104  }
    1105 
    1106  return(-1);
    1107  }
    1108 
    1109  void *get_xranhandle() { return(m_xranhandle); }
    1110  void *get_timer_ctx() { return((void *)&m_timer_ctx[0]); }
    1111 
    1113 
    1114  bool is_running() { return((xran_get_if_state() == XRAN_RUNNING)?true:false); }
    1115 
    1117 
    1120  int get_num_cc() { return(m_xranConf.nCC); }
    1121  int get_num_eaxc() { return(m_xranConf.neAxc); }
    1122  int get_num_dlrbs() { return(m_xranConf.nDLRBs); }
    1123  int get_num_ulrbs() { return(m_xranConf.nULRBs); }
    1125 
    1126  bool is_cpenable() { return(m_xranInit.enableCP); };
    1128  bool is_dynamicsection() { return(m_xranInit.DynamicSectionEna?true:false); }
    1129 
    1131  {
    1132  if(pCfg)
    1133  memcpy(pCfg, &m_xranConf.prach_conf, sizeof(struct xran_prach_config));
    1134  }
    1135 
    1137  {
    1138  if(pCfg)
    1139  memcpy(pCfg, &m_xranConf.frame_conf, sizeof(struct xran_frame_config));
    1140  }
    1141 
    1142  void get_cfg_ru(struct xran_ru_config *pCfg)
    1143  {
    1144  if(pCfg)
    1145  memcpy(pCfg, &m_xranConf.ru_conf, sizeof(struct xran_ru_config));
    1146  }
    1147 
    1148  void get_cfg_fh(struct xran_fh_config *pCfg)
    1149  {
    1150  if(pCfg)
    1151  memcpy(pCfg, &m_xranConf, sizeof(struct xran_fh_config));
    1152  }
    1153 
    1154 };
    1155 
    1156 
    1157 /* external declaration for the instance */
    1158 extern xranLibWraper *xranlib;
    1159 
    1160 
    1161 #endif //XRAN_LIB_WRAP_HPP
    +
    int32_t debugStop
    Definition: xran_fh_o_du.h:361
    +
    int physide_ul_full_slot_call_back(void *param)
    Definition: sample-app.c:367
    +
    void * get_timer_ctx()
    + +
    #define XRAN_MAX_SECTIONS_PER_SYM
    Definition: xran_fh_o_du.h:130
    +
    #define SW_FPGA_FH_TOTAL_BUFFER_LEN
    + +
    uint8_t enableCP
    Definition: xran_fh_o_du.h:356
    + +
    struct xran_flat_buffer m_sFHPrachRxBuffers[XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR][XRAN_NUM_OF_SYMBOL_PER_SLOT]
    + +
    int xran_register_cb_mbuf2ring(xran_ethdi_mbuf_send_fn mbuf_send_cp, xran_ethdi_mbuf_send_fn mbuf_send_up)
    Definition: xran_main.c:2918
    + +
    uint8_t m_ru_mac[6]
    +
    uint32_t m_nSW_ToFpga_FTH_TxBufferLen
    + + +
    int32_t timing_core
    Definition: xran_fh_o_du.h:303
    +
    #define XRAN_N_FE_BUF_LEN
    Definition: xran_fh_o_du.h:109
    + +
    uint16_t ru_port_id
    Definition: xran_fh_o_du.h:419
    +
    #define XRAN_STATUS_SUCCESS
    Definition: xran_fh_o_du.h:54
    + +
    void tti_ota_cb(struct rte_timer *tim, void *arg)
    Definition: xran_main.c:632
    +
    uint32_t nAntElmTRx
    Definition: xran_fh_o_du.h:503
    + +
    int16_t * p_tx_dl_bfw_buffer[MAX_ANT_CARRIER_SUPPORTED]
    +
    int32_t xran_open(void *pHandle, struct xran_fh_config *pConf)
    Definition: xran_main.c:2756
    +
    int32_t tx_dl_bfw_buffer_size[MAX_ANT_CARRIER_SUPPORTED]
    +
    int32_t nPrachFreqOffset
    Definition: xran_fh_o_du.h:442
    + +
    uint16_t T1a_max_up
    Definition: xran_fh_o_du.h:352
    + +
    struct xran_fh_config m_xranConf
    +
    uint32_t nNumBuffers
    Definition: xran_fh_o_du.h:594
    +
    #define FPGA_TO_SW_PRACH_RX_BUFFER_LEN
    +
    uint16_t nDLRBs
    Definition: xran_fh_o_du.h:506
    +
    int32_t pkt_aux_core
    Definition: xran_fh_o_du.h:302
    +
    void sym_ota_cb(struct rte_timer *tim, void *arg)
    +
    int get_slot_config(const std::string &cfgname, struct xran_frame_config *pCfg)
    +
    int32_t xran_init(int argc, char *argv[], struct xran_fh_init *p_xran_fh_init, char *appName, void **pHandle)
    Definition: xran_main.c:2319
    +
    #define XRAN_UT_KEY_GLOBALCFG_IO
    + +
    int32_t xran_mm_init(void *pHandle, uint64_t nMemorySize, uint32_t nMemorySegmentSize)
    Definition: xran_main.c:2447
    +
    json read_json_from_file(const std::string &filename)
    Read JSON from the given file.
    Definition: common.cpp:106
    +
    uint16_t mask_bandSectorId
    Definition: xran_fh_o_du.h:310
    +
    void get_cfg_frame(struct xran_frame_config *pCfg)
    +
    uint16_t nULRBs
    Definition: xran_fh_o_du.h:507
    +
    uint8_t id
    Definition: xran_fh_o_du.h:295
    +
    uint32_t m_nBufPoolIndex[XRAN_MAX_SECTOR_NR][MAX_SW_XRAN_INTERFACE_NUM]
    +
    xran_category
    Definition: xran_fh_o_du.h:262
    +
    uint8_t nPrachRestrictSet
    Definition: xran_fh_o_du.h:439
    +
    void update_symbol_index()
    + +
    size_type size() const noexcept
    returns the number of elements
    Definition: json.hpp:5040
    +
    uint8_t xran_port
    Definition: xran_fh_o_du.h:416
    +
    int physide_ul_half_slot_call_back(void *param)
    Definition: sample-app.c:359
    +
    a class to store JSON values
    Definition: json.hpp:1016
    + +
    uint8_t reserved[2]
    Definition: xran_fh_o_du.h:455
    +
    int16_t nRBStart
    Definition: xran_fh_o_du.h:394
    +
    BbuIoBufCtrlStruct m_sFrontHaulRxPrbMapBbuIoBufCtrl[XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR]
    +
    int32_t core
    Definition: xran_fh_o_du.h:299
    +
    int32_t debugStopCount
    Definition: xran_fh_o_du.h:362
    +
    int16_t nBeamIndex
    Definition: xran_fh_o_du.h:398
    +
    uint8_t prachEnable
    Definition: xran_fh_o_du.h:357
    +
    enum xran_input_byte_order byteOrder
    Definition: xran_fh_o_du.h:489
    +
    struct xran_fh_config * pXranConf
    Definition: sample-app.c:79
    +
    uint16_t totalBfWeights
    Definition: xran_fh_o_du.h:336
    +
    uint32_t nPrbElm
    Definition: xran_fh_o_du.h:422
    +
    int32_t nSegTransferred
    Definition: sample-app.c:127
    + +
    BbuIoBufCtrlStruct m_sFrontHaulRxBbuIoBufCtrl[XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR]
    +
    int16_t nRBSize
    Definition: xran_fh_o_du.h:395
    + + + + +
    int32_t xran_bm_init(void *pHandle, uint32_t *pPoolIndex, uint32_t nNumberOfBuffers, uint32_t nBufferSize)
    Definition: xran_main.c:2454
    + +
    uint16_t T2a_min_cp_ul
    Definition: xran_fh_o_du.h:341
    +
    #define XRAN_MAX_SECTOR_NR
    Definition: xran_fh_o_du.h:110
    + +
    int32_t tx_ul_bfw_buffer_size[MAX_ANT_CARRIER_SUPPORTED]
    + + + +
    #define XRAN_UT_KEY_GLOBALCFG_RU
    + +
    uint16_t cc_id
    Definition: xran_fh_o_du.h:418
    +
    struct xran_eaxcid_config eAxCId_conf
    Definition: xran_fh_o_du.h:325
    +
    int32_t xran_start(void *pHandle)
    Definition: xran_main.c:2841
    +
    BbuIoBufCtrlStruct m_sFrontHaulTxBbuIoBufCtrl[XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR]
    + +
    uint16_t nPrachFreqStart
    Definition: xran_fh_o_du.h:441
    +
    uint16_t Ta3_min
    Definition: xran_fh_o_du.h:345
    + +
    uint16_t Tadv_cp_dl
    Definition: xran_fh_o_du.h:338
    + + + +
    #define XRAN_MAX_ANTENNA_NR
    Definition: xran_fh_o_du.h:111
    +
    #define XRAN_UT_KEY_GLOBALCFG
    +
    int8_t * p_o_ru_addr
    Definition: xran_fh_o_du.h:334
    +
    void get_cfg_ru(struct xran_ru_config *pCfg)
    +
    #define XRAN_PORTS_NUM
    Definition: xran_fh_o_du.h:108
    + + +
    uint8_t nFrameDuplexType
    Definition: xran_fh_o_du.h:460
    +
    enum xran_if_state xran_get_if_state(void)
    Definition: xran_main.c:238
    +
    int32_t system_core
    Definition: xran_fh_o_du.h:300
    +
    uint8_t start_sym_id
    Definition: xran_fh_o_du.h:421
    +
    uint16_t tti_id
    Definition: xran_fh_o_du.h:420
    + +
    char * filePrefix
    Definition: xran_fh_o_du.h:329
    +
    uint16_t nDLFftSize
    Definition: xran_fh_o_du.h:504
    +
    void get_cfg_fh(struct xran_fh_config *pCfg)
    +
    uint8_t nSymbolType[XRAN_NUM_OF_SYMBOL_PER_SLOT]
    Definition: xran_fh_o_du.h:454
    + +
    uint32_t mtu
    Definition: xran_fh_o_du.h:331
    +
    int physide_dl_tti_call_back(void *param)
    Definition: sample-app.c:351
    +
    uint32_t nNumberOfElements
    Definition: xran_fh_o_du.h:560
    +
    std::string m_dpdk_dev_up
    +
    uint8_t nPrachZeroCorrConf
    Definition: xran_fh_o_du.h:438
    +
    uint32_t xran_lib_ota_sym
    Definition: xran_main.c:112
    + +
    enum xran_input_i_q_order iqOrder
    Definition: xran_fh_o_du.h:490
    + + +
    uint16_t T1a_max_cp_dl
    Definition: xran_fh_o_du.h:348
    +
    #define MAX_ANT_CARRIER_SUPPORTED
    + + +
    #define XRAN_UT_CFG_FILENAME
    +
    struct xran_io_cfg io_cfg
    Definition: xran_fh_o_du.h:324
    + + + + + +
    uint32_t log_level
    Definition: xran_fh_o_du.h:523
    +
    uint32_t m_nFpgaToSW_FTH_RxBufferLen
    +
    uint8_t bit_bandSectorId
    Definition: xran_fh_o_du.h:315
    +
    uint8_t nPrachFilterIdx
    Definition: xran_fh_o_du.h:443
    +
    uint32_t nOffsetInBytes
    Definition: xran_fh_o_du.h:562
    +
    uint32_t dpdkBasebandFecMode
    Definition: xran_fh_o_du.h:327
    +
    uint8_t compMeth
    Definition: xran_fh_o_du.h:487
    +
    uint16_t nPrachRootSeqIdx
    Definition: xran_fh_o_du.h:440
    + + +
    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)
    Definition: xran_main.c:2636
    + +
    uint16_t Ta4_min
    Definition: xran_fh_o_du.h:353
    + +
    uint16_t Ta4_max
    Definition: xran_fh_o_du.h:354
    +
    struct xran_frame_config frame_conf
    Definition: xran_fh_o_du.h:517
    + +
    struct xran_device_ctx * xran_dev_get_ctx(void)
    Definition: xran_main.c:223
    +
    int32_t nSegGenerated
    Definition: sample-app.c:125
    +
    uint32_t enableCP
    Definition: xran_common.h:213
    +
    int32_t xran_close(void *pHandle)
    Definition: xran_main.c:2863
    + +
    uint16_t T1a_min_up
    Definition: xran_fh_o_du.h:351
    +
    int apply_cpenable(bool flag)
    + +
    uint16_t Ta3_max
    Definition: xran_fh_o_du.h:346
    +
    uint16_t T2a_min_cp_dl
    Definition: xran_fh_o_du.h:339
    + + +
    void * m_nInstanceHandle[XRAN_PORTS_NUM][XRAN_MAX_SECTOR_NR]
    + + + +
    uint16_t T2a_max_cp_dl
    Definition: xran_fh_o_du.h:340
    +
    uint8_t up_vlan_tag
    Definition: xran_fh_o_du.h:360
    + +
    struct xran_flat_buffer * pBuffers
    Definition: xran_fh_o_du.h:596
    +
    const uint16_t nNumRbsPerSymF2[2][4]
    +
    struct xranLibWraper::xran_timer_ctx m_timer_ctx[MAX_NUM_OF_XRAN_CTX]
    + +
    uint16_t T2a_min_up
    Definition: xran_fh_o_du.h:343
    +
    int32_t xran_bm_allocate_buffer(void *pHandle, uint32_t nPoolIndex, void **ppData, void **ppCtrl)
    Definition: xran_main.c:2499
    +
    Header file for function to work with 5G NR frame structure and related routines. ...
    + +
    struct xran_prach_config prach_conf
    Definition: xran_fh_o_du.h:515
    + +
    int16_t bf_weight_update
    Definition: xran_fh_o_du.h:399
    +
    adjust channel per each RB for iPrb
    Definition: gen_test.m:201
    + +
    enum xran_category get_rucategory()
    + +
    int16_t compMethod
    Definition: xran_fh_o_du.h:400
    +
    int32_t tx_ul_bfw_buffer_position[MAX_ANT_CARRIER_SUPPORTED]
    + +
    enum xran_category xranCat
    Definition: xran_fh_o_du.h:484
    + +
    int32_t xran_stop(void *pHandle)
    Definition: xran_main.c:2852
    +
    struct xran_slot_config sSlotConfig[XRAN_MAX_TDD_PERIODICITY]
    Definition: xran_fh_o_du.h:465
    + +
    uint16_t T2a_max_cp_ul
    Definition: xran_fh_o_du.h:342
    +
    int16_t nStartSymb
    Definition: xran_fh_o_du.h:396
    + +
    #define MAX_NUM_OF_XRAN_CTX
    +
    XRAN layer common functionality for both lls-CU and RU as well as C-plane and U-plane.
    +
    uint16_t band_id
    Definition: xran_fh_o_du.h:417
    +
    BbuIoBufCtrlStruct m_sFHPrachRxBbuIoBufCtrl[XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR]
    + +
    struct xran_ru_config ru_conf
    Definition: xran_fh_o_du.h:518
    +
    uint8_t m_du_mac[6]
    + +
    uint8_t cp_vlan_tag
    Definition: xran_fh_o_du.h:359
    +
    struct xran_section_desc * p_sec_desc[XRAN_NUM_OF_SYMBOL_PER_SLOT]
    Definition: xran_fh_o_du.h:404
    +
    int16_t BeamFormingType
    Definition: xran_fh_o_du.h:402
    +
    #define XRAN_UT_KEY_GLOBALCFG_EAXCID
    +
    void * xranHandle
    Definition: sample-app.c:76
    +
    struct xran_flat_buffer m_sFrontHaulTxBuffers[XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR][XRAN_NUM_OF_SYMBOL_PER_SLOT]
    +
    struct rte_mbuf * pData[N_MAX_BUFFER_SEGMENT]
    Definition: sample-app.c:128
    + +
    #define XRAN_NUM_OF_SYMBOL_PER_SLOT
    Definition: xran_fh_o_du.h:122
    +
    BbuIoBufCtrlStruct m_sFrontHaulTxPrbMapBbuIoBufCtrl[XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR]
    +
    int32_t DynamicSectionEna
    Definition: xran_fh_o_du.h:363
    +
    std::string m_dpdk_bbdev
    + + +
    uint32_t neAxc
    Definition: xran_fh_o_du.h:501
    +
    char * dpdk_dev[XRAN_VF_MAX]
    Definition: xran_fh_o_du.h:296
    +
    This file provides public interface to xRAN Front Haul layer implementation as defined in the ORAN-WG...
    +
    struct xran_flat_buffer m_sFrontHaulRxPrbMapBuffers[XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR]
    +
    int32_t pkt_proc_core
    Definition: xran_fh_o_du.h:301
    +
    int32_t xran_sector_get_instances(void *pHandle, uint16_t nNumInstances, xran_cc_handle_t *pSectorInstanceHandles)
    Definition: xran_main.c:2408
    + +
    uint16_t mask_cuPortId
    Definition: xran_fh_o_du.h:309
    +
    int get_num_rbs(uint32_t nNumerology, uint32_t nBandwidth, bool nSub6)
    +
    int Init(struct xran_fh_config *pCfg=nullptr)
    +
    struct xran_buffer_list sBufferList
    Definition: sample-app.c:129
    + +
    uint16_t T1a_min_cp_dl
    Definition: xran_fh_o_du.h:347
    + + + +
    uint32_t xran_lib_ota_sym_idx
    Definition: xran_main.c:113
    +
    uint16_t nULFftSize
    Definition: xran_fh_o_du.h:505
    + + +
    uint16_t T1a_max_cp_ul
    Definition: xran_fh_o_du.h:350
    + +
    #define XRAN_UT_KEY_GLOBALCFG_PRACH
    + + + +
    char * dpdkBasebandDevice
    Definition: xran_fh_o_du.h:328
    + +
    struct xran_flat_buffer m_sFrontHaulRxBuffers[XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR][XRAN_NUM_OF_SYMBOL_PER_SLOT]
    +
    struct xran_fh_init m_xranInit
    +
    uint16_t T1a_min_cp_ul
    Definition: xran_fh_o_du.h:349
    +
    void Open(xran_ethdi_mbuf_send_fn send_cp, xran_ethdi_mbuf_send_fn send_up, void *fh_rx_callback, void *fh_rx_prach_callback)
    +
    uint16_t T2a_max_up
    Definition: xran_fh_o_du.h:344
    +
    int16_t * p_tx_ul_bfw_buffer[MAX_ANT_CARRIER_SUPPORTED]
    + + +
    struct xran_prb_elm prbMap[XRAN_MAX_PRBS]
    Definition: xran_fh_o_du.h:423
    +
    bool is_dynamicsection()
    + + +
    const uint16_t nNumRbsPerSymF1[3][13]
    +
    uint16_t mask_ruPortId
    Definition: xran_fh_o_du.h:312
    +
    void get_cfg_prach(struct xran_prach_config *pCfg)
    + +
    int(* xran_ethdi_mbuf_send_fn)(struct rte_mbuf *mb, uint16_t ethertype)
    Definition: xran_common.h:169
    +
    xranLibWraper * xranlib
    + +
    uint32_t xran_lib_ota_tti
    Definition: xran_main.c:111
    +
    #define N_SYM_PER_SLOT
    Definition: common.h:50
    + +
    void * get_xranhandle()
    +
    #define SW_FPGA_SEGMENT_BUFFER_LEN
    +
    int32_t m_nSectorIndex[XRAN_MAX_SECTOR_NR]
    + +
    int32_t bbdev_mode
    Definition: xran_fh_o_du.h:298
    + + +
    int16_t numSymb
    Definition: xran_fh_o_du.h:397
    +
    struct xran_flat_buffer m_sFrontHaulTxPrbMapBuffers[XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR]
    + +
    int32_t xran_reg_physide_cb(void *pHandle, xran_fh_tti_callback_fn Cb, void *cbParam, int skipTtiNum, enum callback_to_phy_id)
    Definition: xran_main.c:2900
    +
    std::string m_dpdk_dev_cp
    +
    int32_t tx_dl_bfw_buffer_position[MAX_ANT_CARRIER_SUPPORTED]
    + +
    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)
    Definition: xran_main.c:2551
    + +
    uint8_t nPrachSubcSpacing
    Definition: xran_fh_o_du.h:433
    +
    int8_t * p_o_du_addr
    Definition: xran_fh_o_du.h:333
    +
    int32_t xran_status_t
    Definition: xran_fh_o_du.h:236
    + + +
    uint32_t nElementLenInBytes
    Definition: xran_fh_o_du.h:555
    +
    + + + + diff --git a/docs/API/xran__main_8c.html b/docs/API/xran__main_8c.html new file mode 100644 index 0000000..7038bd2 --- /dev/null +++ b/docs/API/xran__main_8c.html @@ -0,0 +1,4376 @@ + + + + + + + +o-du/phy: xran_main.c File Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    xran_main.c File Reference
    +
    +
    + +

    XRAN main functionality module. +More...

    +
    #include <sched.h>
    +#include <assert.h>
    +#include <err.h>
    +#include <libgen.h>
    +#include <sys/time.h>
    +#include <sys/queue.h>
    +#include <time.h>
    +#include <unistd.h>
    +#include <stdio.h>
    +#include <pthread.h>
    +#include <malloc.h>
    +#include <rte_common.h>
    +#include <rte_eal.h>
    +#include <rte_errno.h>
    +#include <rte_lcore.h>
    +#include <rte_cycles.h>
    +#include <rte_memory.h>
    +#include <rte_memzone.h>
    +#include <rte_mbuf.h>
    +#include <rte_ring.h>
    +#include "xran_fh_o_du.h"
    +#include "ethdi.h"
    +#include "xran_pkt.h"
    +#include "xran_up_api.h"
    +#include "xran_cp_api.h"
    +#include "xran_sync_api.h"
    +#include "xran_lib_mlog_tasks_id.h"
    +#include "xran_timer.h"
    +#include "xran_common.h"
    +#include "xran_frame_struct.h"
    +#include "xran_printf.h"
    +#include "xran_app_frag.h"
    +#include "xran_mlog_lnx.h"
    +
    +Include dependency graph for xran_main.c:
    +
    +
    + + + + + + + + + + + + + + + + +
    +
    +

    Go to the source code of this file.

    + + + + +

    +Data Structures

    struct  xran_timer_ctx
     
    + + + + + + + + + + + + + + + + + + + + + + + +

    +Macros

    #define _GNU_SOURCE
     
    #define DIV_ROUND_OFFSET(X, Y)   ( X/Y + ((X%Y)?1:0) )
     
    #define XranOffsetSym(offSym, otaSym, numSymTotal)
     
    #define MAX_NUM_OF_XRAN_CTX   (2)
     
    #define XranIncrementCtx(ctx)   ((ctx >= (MAX_NUM_OF_XRAN_CTX-1)) ? 0 : (ctx+1))
     
    #define XranDecrementCtx(ctx)   ((ctx == 0) ? (MAX_NUM_OF_XRAN_CTX-1) : (ctx-1))
     
    #define MAX_NUM_OF_DPDK_TIMERS   (10)
     
    #define DpdkTimerIncrementCtx(ctx)   ((ctx >= (MAX_NUM_OF_DPDK_TIMERS-1)) ? 0 : (ctx+1))
     
    #define DpdkTimerDecrementCtx(ctx)   ((ctx == 0) ? (MAX_NUM_OF_DPDK_TIMERS-1) : (ctx-1))
     
    #define UNIX_TO_GPS_SECONDS_OFFSET   315964782UL
     
    #define NUM_OF_FRAMES_PER_SECOND   100
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Functions

    void xran_timer_arm (struct rte_timer *tim, void *arg)
     
    int32_t xran_process_tx_sym (void *arg)
     
    int32_t xran_process_rx_sym (void *arg, struct rte_mbuf *mbuf, void *iq_data_start, uint16_t size, uint8_t CC_ID, uint8_t Ant_ID, uint8_t frame_id, uint8_t subframe_id, uint8_t slot_id, uint8_t symb_id, uint16_t num_prbu, uint16_t start_prbu, uint16_t sym_inc, uint16_t rb, uint16_t sect_id, uint32_t *mb_free)
     
    int32_t xran_process_prach_sym (void *arg, struct rte_mbuf *mbuf, void *iq_data_start, uint16_t size, uint8_t CC_ID, uint8_t Ant_ID, uint8_t frame_id, uint8_t subframe_id, uint8_t slot_id, uint8_t symb_id, uint16_t num_prbu, uint16_t start_prbu, uint16_t sym_inc, uint16_t rb, uint16_t sect_id, uint32_t *mb_free)
     
    int32_t xran_process_srs_sym (void *arg, struct rte_mbuf *mbuf, void *iq_data_start, uint16_t size, uint8_t CC_ID, uint8_t Ant_ID, uint8_t frame_id, uint8_t subframe_id, uint8_t slot_id, uint8_t symb_id, uint16_t num_prbu, uint16_t start_prbu, uint16_t sym_inc, uint16_t rb, uint16_t sect_id, uint32_t *mb_free)
     
    void tti_ota_cb (struct rte_timer *tim, void *arg)
     
    void tti_to_phy_cb (struct rte_timer *tim, void *arg)
     
    void xran_timer_arm_ex (struct rte_timer *tim, void *CbFct, void *CbArg, unsigned tim_lcore)
     
    void xran_updateSfnSecStart (void)
     
    struct xran_device_ctxxran_dev_get_ctx (void)
     
    uint16_t xran_get_beamid (void *pHandle, uint8_t dir, uint8_t cc_id, uint8_t ant_id, uint8_t slot_id)
     
    enum xran_if_state xran_get_if_state (void)
     
    int xran_is_prach_slot (uint32_t subframe_id, uint32_t slot_id)
     
    int xran_init_sectionid (void *pHandle)
     
    int xran_init_srs (struct xran_fh_config *pConf, struct xran_device_ctx *p_xran_dev_ctx)
     
    int xran_init_prach (struct xran_fh_config *pConf, struct xran_device_ctx *p_xran_dev_ctx)
     
    uint16_t xran_alloc_sectionid (void *pHandle, uint8_t dir, uint8_t cc_id, uint8_t ant_id, uint8_t slot_id)
     
    int xran_init_seqid (void *pHandle)
     
    int process_cplane (struct rte_mbuf *pkt)
     
    void sym_ota_cb (struct rte_timer *tim, void *arg, unsigned long *used_tick)
     
    int xran_cp_create_and_send_section (void *pHandle, uint8_t ru_port_id, int dir, int tti, int cc_id, struct xran_prb_map *prbMap, enum xran_category category, uint8_t ctx_id)
     
    void tx_cp_dl_cb (struct rte_timer *tim, void *arg)
     
    void rx_ul_deadline_half_cb (struct rte_timer *tim, void *arg)
     
    void rx_ul_deadline_full_cb (struct rte_timer *tim, void *arg)
     
    void tx_cp_ul_cb (struct rte_timer *tim, void *arg)
     
    void ul_up_full_slot_cb (struct rte_timer *tim, void *arg)
     
    int xran_timing_source_thread (void *args)
     
    int handle_ecpri_ethertype (struct rte_mbuf *pkt, uint64_t rx_time)
     
    int32_t xran_pkt_validate (void *arg, struct rte_mbuf *mbuf, void *iq_data_start, uint16_t size, uint8_t CC_ID, uint8_t Ant_ID, uint8_t frame_id, uint8_t subframe_id, uint8_t slot_id, uint8_t symb_id, struct ecpri_seq_id *seq_id, uint16_t num_prbu, uint16_t start_prbu, uint16_t sym_inc, uint16_t rb, uint16_t sect_id)
     
    int32_t xran_process_tx_sym_cp_off (uint8_t ctx_id, uint32_t tti, int32_t cc_id, int32_t ant_id, uint32_t frame_id, uint32_t subframe_id, uint32_t slot_id, uint32_t sym_id, int32_t do_srs)
     
    int32_t xran_process_tx_sym_cp_on (uint8_t ctx_id, uint32_t tti, int32_t cc_id, int32_t ant_id, uint32_t frame_id, uint32_t subframe_id, uint32_t slot_id, uint32_t sym_id)
     
    int xran_packet_and_dpdk_timer_thread (void *args)
     
    int32_t xran_init (int argc, char *argv[], struct xran_fh_init *p_xran_fh_init, char *appName, void **pXranLayerHandle)
     
    int32_t xran_sector_get_instances (void *pDevHandle, uint16_t nNumInstances, xran_cc_handle_t *pSectorInstanceHandles)
     
    int32_t xran_mm_init (void *pHandle, uint64_t nMemorySize, uint32_t nMemorySegmentSize)
     
    int32_t xran_bm_init (void *pHandle, uint32_t *pPoolIndex, uint32_t nNumberOfBuffers, uint32_t nBufferSize)
     
    int32_t xran_bm_allocate_buffer (void *pHandle, uint32_t nPoolIndex, void **ppData, void **ppCtrl)
     
    int32_t xran_bm_free_buffer (void *pHandle, void *pData, void *pCtrl)
     
    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)
     
    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)
     
    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)
     
    uint32_t xran_get_time_stats (uint64_t *total_time, uint64_t *used_time, uint32_t *core_used, uint32_t clear)
     
    void * xran_malloc (size_t buf_len)
     
    uint8_t * xran_add_hdr_offset (uint8_t *dst, int16_t compMethod)
     
    int32_t xran_open (void *pHandle, struct xran_fh_config *pConf)
     
    int32_t xran_start (void *pHandle)
     
    int32_t xran_stop (void *pHandle)
     
    int32_t xran_close (void *pHandle)
     
    int32_t xran_mm_destroy (void *pHandle)
     
    int32_t xran_reg_sym_cb (void *pHandle, xran_callback_sym_fn symCb, void *symCbParam, uint8_t symb, uint8_t ant)
     
    int32_t xran_reg_physide_cb (void *pHandle, xran_fh_tti_callback_fn Cb, void *cbParam, int skipTtiNum, enum callback_to_phy_id id)
     
    int xran_register_cb_mbuf2ring (xran_ethdi_mbuf_send_fn mbuf_send_cp, xran_ethdi_mbuf_send_fn mbuf_send_up)
     
    int32_t xran_get_slot_idx (uint32_t *nFrameIdx, uint32_t *nSubframeIdx, uint32_t *nSlotIdx, uint64_t *nSecond)
     
    struct xran_eaxcid_configxran_get_conf_eAxC (void *pHandle)
     Get the configuration of eAxC ID. More...
     
    uint8_t xran_get_conf_num_bfweights (void *pHandle)
     Get the configuration of the total number of beamforming weights on RU. More...
     
    uint8_t xran_get_conf_prach_scs (void *pHandle)
     Get the configuration of subcarrier spacing for PRACH. More...
     
    uint8_t xran_get_conf_fftsize (void *pHandle)
     Get the configuration of FFT size for RU. More...
     
    uint8_t xran_get_conf_numerology (void *pHandle)
     Get the configuration of nummerology. More...
     
    uint8_t xran_get_conf_iqwidth (void *pHandle)
     Get the configuration of IQ bit width for RU. More...
     
    uint8_t xran_get_conf_compmethod (void *pHandle)
     Get the configuration of compression method for RU. More...
     
    uint8_t xran_get_num_cc (void *pHandle)
     Get the configuration of the number of component carriers. More...
     
    uint8_t xran_get_num_eAxc (void *pHandle)
     Get the configuration of the number of antenna for UL. More...
     
    enum xran_category xran_get_ru_category (void *pHandle)
     Get configuration of O-RU (Cat A or Cat B) More...
     
    uint8_t xran_get_num_eAxcUl (void *pHandle)
     Get the configuration of the number of antenna. More...
     
    uint8_t xran_get_num_ant_elm (void *pHandle)
     Get the configuration of the number of antenna elements. More...
     
    int32_t xran_get_common_counters (void *pXranLayerHandle, struct xran_common_counters *pStats)
     
    + + + + + + + + + + + + + + + +

    +Variables

    struct xran_timer_ctx timer_ctx [MAX_NUM_OF_XRAN_CTX]
     
    uint64_t interval_us = 1000
     
    uint32_t xran_lib_ota_tti = 0
     
    uint32_t xran_lib_ota_sym = 0
     
    uint32_t xran_lib_ota_sym_idx = 0
     
    uint16_t xran_SFN_at_Sec_Start = 0
     
    uint16_t xran_max_frame = 1023
     
    +

    Detailed Description

    +

    XRAN main functionality module.

    +
    Author
    Intel Corporation
    + +

    Definition in file xran_main.c.

    +

    Macro Definition Documentation

    + +

    ◆ _GNU_SOURCE

    + +
    +
    + + + + +
    #define _GNU_SOURCE
    +
    + +

    Definition at line 26 of file xran_main.c.

    + +
    +
    + +

    ◆ DIV_ROUND_OFFSET

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    #define DIV_ROUND_OFFSET( X,
     
    )   ( X/Y + ((X%Y)?1:0) )
    +
    + +

    Definition at line 65 of file xran_main.c.

    + +
    +
    + +

    ◆ DpdkTimerDecrementCtx

    + +
    +
    + + + + + + + + +
    #define DpdkTimerDecrementCtx( ctx)   ((ctx == 0) ? (MAX_NUM_OF_DPDK_TIMERS-1) : (ctx-1))
    +
    + +

    Definition at line 79 of file xran_main.c.

    + +
    +
    + +

    ◆ DpdkTimerIncrementCtx

    + +
    +
    + + + + + + + + +
    #define DpdkTimerIncrementCtx( ctx)   ((ctx >= (MAX_NUM_OF_DPDK_TIMERS-1)) ? 0 : (ctx+1))
    +
    + +

    Definition at line 78 of file xran_main.c.

    + +
    +
    + +

    ◆ MAX_NUM_OF_DPDK_TIMERS

    + +
    +
    + + + + +
    #define MAX_NUM_OF_DPDK_TIMERS   (10)
    +
    + +

    Definition at line 77 of file xran_main.c.

    + +
    +
    + +

    ◆ MAX_NUM_OF_XRAN_CTX

    + +
    +
    + + + + +
    #define MAX_NUM_OF_XRAN_CTX   (2)
    +
    + +

    Definition at line 73 of file xran_main.c.

    + +
    +
    + +

    ◆ NUM_OF_FRAMES_PER_SECOND

    + +
    +
    + + + + +
    #define NUM_OF_FRAMES_PER_SECOND   100
    +
    + +

    Definition at line 91 of file xran_main.c.

    + +
    +
    + +

    ◆ UNIX_TO_GPS_SECONDS_OFFSET

    + +
    +
    + + + + +
    #define UNIX_TO_GPS_SECONDS_OFFSET   315964782UL
    +
    + +

    Definition at line 90 of file xran_main.c.

    + +
    +
    + +

    ◆ XranDecrementCtx

    + +
    +
    + + + + + + + + +
    #define XranDecrementCtx( ctx)   ((ctx == 0) ? (MAX_NUM_OF_XRAN_CTX-1) : (ctx-1))
    +
    + +

    Definition at line 75 of file xran_main.c.

    + +
    +
    + +

    ◆ XranIncrementCtx

    + +
    +
    + + + + + + + + +
    #define XranIncrementCtx( ctx)   ((ctx >= (MAX_NUM_OF_XRAN_CTX-1)) ? 0 : (ctx+1))
    +
    + +

    Definition at line 74 of file xran_main.c.

    + +
    +
    + +

    ◆ XranOffsetSym

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    #define XranOffsetSym( offSym,
     otaSym,
     numSymTotal 
    )
    +
    +Value:
    (((int32_t)offSym > (int32_t)otaSym) ? \
    ((int32_t)otaSym + ((int32_t)numSymTotal) - (uint32_t)offSym) : \
    (((int32_t)otaSym - (int32_t)offSym) >= numSymTotal) ? \
    (((int32_t)otaSym - (int32_t)offSym) - numSymTotal) : \
    ((int32_t)otaSym - (int32_t)offSym))
    +

    Definition at line 67 of file xran_main.c.

    + +
    +
    +

    Function Documentation

    + +

    ◆ handle_ecpri_ethertype()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    int handle_ecpri_ethertype (struct rte_mbuf * pkt,
    uint64_t rx_time 
    )
    +
    + +

    Definition at line 1342 of file xran_main.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + + + + + + + + + + + + +
    +
    +Here is the caller graph for this function:
    +
    +
    + + + + +
    + +
    +
    + +

    ◆ process_cplane()

    + +
    +
    + + + + + + + + +
    int process_cplane (struct rte_mbuf * pkt)
    +
    + +

    Definition at line 571 of file xran_main.c.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + +
    + +
    +
    + +

    ◆ rx_ul_deadline_full_cb()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void rx_ul_deadline_full_cb (struct rte_timer * tim,
    void * arg 
    )
    +
    + +

    Definition at line 999 of file xran_main.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + + + + +
    + +
    +
    + +

    ◆ rx_ul_deadline_half_cb()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void rx_ul_deadline_half_cb (struct rte_timer * tim,
    void * arg 
    )
    +
    + +

    Definition at line 963 of file xran_main.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + + + +
    + +
    +
    + +

    ◆ sym_ota_cb()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    void sym_ota_cb (struct rte_timer * tim,
    void * arg,
    unsigned long * used_tick 
    )
    +
    + +

    Definition at line 582 of file xran_main.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + + + + + + +
    + +
    +
    + +

    ◆ tti_ota_cb()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void tti_ota_cb (struct rte_timer * tim,
    void * arg 
    )
    +
    + +

    Definition at line 632 of file xran_main.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + + +
    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + + + + + + + + +
    + +
    +
    + +

    ◆ tti_to_phy_cb()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void tti_to_phy_cb (struct rte_timer * tim,
    void * arg 
    )
    +
    + +

    Definition at line 1136 of file xran_main.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + +
    + +
    +
    + +

    ◆ tx_cp_dl_cb()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void tx_cp_dl_cb (struct rte_timer * tim,
    void * arg 
    )
    +
    + +

    Definition at line 910 of file xran_main.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + + + +
    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + +
    + +
    +
    + +

    ◆ tx_cp_ul_cb()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void tx_cp_ul_cb (struct rte_timer * tim,
    void * arg 
    )
    +
    + +

    Definition at line 1045 of file xran_main.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + + + + + +
    +
    +Here is the caller graph for this function:
    +
    +
    + + + + +
    + +
    +
    + +

    ◆ ul_up_full_slot_cb()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void ul_up_full_slot_cb (struct rte_timer * tim,
    void * arg 
    )
    +
    + +

    Definition at line 1129 of file xran_main.c.

    + +
    +
    + +

    ◆ xran_5g_fronthault_config()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    int32_t xran_5g_fronthault_config (void * pHandle,
    struct xran_buffer_listpSrcBuffer[XRAN_MAX_ANTENNA_NR][XRAN_N_FE_BUF_LEN],
    struct xran_buffer_listpSrcCpBuffer[XRAN_MAX_ANTENNA_NR][XRAN_N_FE_BUF_LEN],
    struct xran_buffer_listpDstBuffer[XRAN_MAX_ANTENNA_NR][XRAN_N_FE_BUF_LEN],
    struct xran_buffer_listpDstCpBuffer[XRAN_MAX_ANTENNA_NR][XRAN_N_FE_BUF_LEN],
    xran_transport_callback_fn pCallback,
    void * pCallbackTag 
    )
    +
    +

    Function configures TX(DL) and RX(UL) output buffers and callback (UL only) for XRAN layer with given handle

    +
    Parameters
    + + + + + + + + +
    pHandlePointer to XRAN layer handle for given CC
    pSrcBufferlist of memory buffers to use to fetch IQs from PHY to XRAN layer (DL)
    pSrcCpBufferlist of memory buffers to use to configure C-plane (DL)
    pDstBufferlist of memory buffers to use to deliver IQs from XRAN layer to PHY (UL)
    pDstCpBufferlist of memory buffers to use to configure C-plane (UL)
    xran_transport_callback_fnpCallback Callback function to call with arrival of all packets for given CC for given symbol
    pCallbackTagParameters of Callback function
    +
    +
    +
    Returns
    0 - on success -1 - on error
    + +

    Definition at line 2551 of file xran_main.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + +
    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + + +
    + +
    +
    + +

    ◆ xran_5g_prach_req()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    int32_t xran_5g_prach_req (void * pHandle,
    struct xran_buffer_listpDstBuffer[XRAN_MAX_ANTENNA_NR][XRAN_N_FE_BUF_LEN],
    xran_transport_callback_fn pCallback,
    void * pCallbackTag 
    )
    +
    +

    Function configures PRACH output buffers and callback for XRAN layer with given handle

    +
    Parameters
    + + + + + +
    pHandlePointer to XRAN layer handle for given CC
    pDstBufferlist of memory buffers to use to deliver PRACH IQs from xran layer to PHY
    xran_transport_callback_fnpCallback Callback function to call with arrival of PRACH packets for given CC
    pCallbackTagParameters of Callback function
    +
    +
    +
    Returns
    0 - on success -1 - on error
    + +

    Definition at line 2636 of file xran_main.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + +
    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + + +
    + +
    +
    + +

    ◆ xran_5g_srs_req()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    int32_t xran_5g_srs_req (void * pHandle,
    struct xran_buffer_listpDstBuffer[XRAN_MAX_ANT_ARRAY_ELM_NR][XRAN_N_FE_BUF_LEN],
    xran_transport_callback_fn pCallback,
    void * pCallbackTag 
    )
    +
    +

    Function configures SRS output buffers and callback for XRAN layer with given handle

    +
    Parameters
    + + + + + +
    pHandlePointer to XRAN layer handle for given CC
    pDstBufferlist of memory buffers to use to deliver SRS IQs from xran layer to PHY
    xran_transport_callback_fnpCallback Callback function to call with arrival of SRS packets for given CC
    pCallbackTagParameters of Callback function
    +
    +
    +
    Returns
    0 - on success -1 - on error
    + +

    Definition at line 2679 of file xran_main.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + +
    + +
    +
    + +

    ◆ xran_add_hdr_offset()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    uint8_t* xran_add_hdr_offset (uint8_t * dst,
    int16_t compMethod 
    )
    +
    +

    Function calculates offset for ptr according to ORAN headers requared

    +
    Parameters
    + + +
    dstpointer to be addjusted compression method according to enum xran_compression_method
    +
    +
    +
    Returns
    ptr - pointer to payload given header requared
    + +

    Definition at line 2741 of file xran_main.c.

    + +
    +
    + +

    ◆ xran_alloc_sectionid()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    uint16_t xran_alloc_sectionid (void * pHandle,
    uint8_t dir,
    uint8_t cc_id,
    uint8_t ant_id,
    uint8_t slot_id 
    )
    +
    +inline
    +
    + +

    Definition at line 379 of file xran_main.c.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + + +
    + +
    +
    + +

    ◆ xran_bm_allocate_buffer()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    int32_t xran_bm_allocate_buffer (void * pHandle,
    uint32_t nPoolIndex,
    void ** ppData,
    void ** ppCtrl 
    )
    +
    +

    Function allocates buffer used between XRAN layer and PHY. In general case it's DPDK mbuf.

    +
    Parameters
    + + + + + +
    pHandlePointer to XRAN layer handle for given CC
    nPoolIndexbuffer pool identification
    ppDataPointer to pointer where to store address of new buffer
    ppCtrlPointer to pointer where to store address of internal private control information
    +
    +
    +
    Returns
    0 - on success
    + +

    Definition at line 2499 of file xran_main.c.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + +
    + +
    +
    + +

    ◆ xran_bm_free_buffer()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    int32_t xran_bm_free_buffer (void * pHandle,
    void * pData,
    void * pCtrl 
    )
    +
    +

    Function frees buffer used between XRAN layer and PHY. In general case it's DPDK mbuf

    +
    Parameters
    + + + + +
    pHandlePointer to XRAN layer handle for given CC
    pDataPointer to buffer
    pDataPointer to internal private control information
    +
    +
    +
    Returns
    0 - on success
    + +

    Definition at line 2541 of file xran_main.c.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + +
    + +
    +
    + +

    ◆ xran_bm_init()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    int32_t xran_bm_init (void * pHandle,
    uint32_t * pPoolIndex,
    uint32_t nNumberOfBuffers,
    uint32_t nBufferSize 
    )
    +
    +

    Function allocates buffer memory (bm) used between XRAN layer and PHY. In general case it's DPDK mbuf. it uses Memory Management system to get memory chunk and define memory pool on top of it.

    +
    Parameters
    + + + + + +
    pHandlePointer to XRAN layer handle for given CC
    nPoolIndexpointer to buffer pool identification to be returned
    nNumberOfBuffersnumber of buffer to allocate in the pool
    nBufferSizebuffer size to allocate
    +
    +
    +
    Returns
    0 - on success
    + +

    Definition at line 2454 of file xran_main.c.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + +
    + +
    +
    + +

    ◆ xran_close()

    + +
    +
    + + + + + + + + +
    int32_t xran_close (void * pHandle)
    +
    +

    Function closes XRAN layer with given handle

    +
    Parameters
    + + +
    pHandlePointer to XRAN layer handle for given CC
    +
    +
    +
    Returns
    0 - on success
    + +

    Definition at line 2863 of file xran_main.c.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + + +
    + +
    +
    + +

    ◆ xran_cp_create_and_send_section()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    int xran_cp_create_and_send_section (void * pHandle,
    uint8_t ru_port_id,
    int dir,
    int tti,
    int cc_id,
    struct xran_prb_mapprbMap,
    enum xran_category category,
    uint8_t ctx_id 
    )
    +
    + +

    Definition at line 737 of file xran_main.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + +
    + +
    +
    + +

    ◆ xran_dev_get_ctx()

    + +
    +
    + + + + + + + + +
    struct xran_device_ctx* xran_dev_get_ctx (void )
    +
    + +

    Definition at line 223 of file xran_main.c.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    +
    + +

    ◆ xran_get_beamid()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    uint16_t xran_get_beamid (void * pHandle,
    uint8_t dir,
    uint8_t cc_id,
    uint8_t ant_id,
    uint8_t slot_id 
    )
    +
    + +

    Definition at line 233 of file xran_main.c.

    + +
    +
    + +

    ◆ xran_get_common_counters()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    int32_t xran_get_common_counters (void * pXranLayerHandle,
    struct xran_common_counterspStats 
    )
    +
    +

    Function retrun XRAN layer common counters for given handle

    +
    Parameters
    + + + +
    pHandlePointer to XRAN layer handle for given CC
    pStatsPointer to pointer of common counter structure
    +
    +
    +
    Returns
    0 - on success
    + +

    Definition at line 3074 of file xran_main.c.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + +
    + +
    +
    + +

    ◆ xran_get_conf_compmethod()

    + +
    +
    + + + + + +
    + + + + + + + + +
    uint8_t xran_get_conf_compmethod (void * pHandle)
    +
    +inline
    +
    + +

    Get the configuration of compression method for RU.

    +
    Returns
    Compression method for RU
    + +

    Definition at line 3018 of file xran_main.c.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + +
    + +
    +
    + +

    ◆ xran_get_conf_eAxC()

    + +
    +
    + + + + + + + + +
    struct xran_eaxcid_config* xran_get_conf_eAxC (void * pHandle)
    +
    + +

    Get the configuration of eAxC ID.

    +
    Returns
    the pointer of configuration
    + +

    Definition at line 2955 of file xran_main.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + +
    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    +
    + +

    ◆ xran_get_conf_fftsize()

    + +
    +
    + + + + + +
    + + + + + + + + +
    uint8_t xran_get_conf_fftsize (void * pHandle)
    +
    +inline
    +
    + +

    Get the configuration of FFT size for RU.

    +
    Returns
    FFT size value for RU
    + +

    Definition at line 2985 of file xran_main.c.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + +
    + +
    +
    + +

    ◆ xran_get_conf_iqwidth()

    + +
    +
    + + + + + +
    + + + + + + + + +
    uint8_t xran_get_conf_iqwidth (void * pHandle)
    +
    +inline
    +
    + +

    Get the configuration of IQ bit width for RU.

    +
    Returns
    IQ bit width for RU
    + +

    Definition at line 3005 of file xran_main.c.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + +
    + +
    +
    + +

    ◆ xran_get_conf_num_bfweights()

    + +
    +
    + + + + + +
    + + + + + + + + +
    uint8_t xran_get_conf_num_bfweights (void * pHandle)
    +
    +inline
    +
    + +

    Get the configuration of the total number of beamforming weights on RU.

    +
    Returns
    Configured the number of beamforming weights
    + +

    Definition at line 2965 of file xran_main.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + +
    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + + + + +
    + +
    +
    + +

    ◆ xran_get_conf_numerology()

    + +
    +
    + + + + + +
    + + + + + + + + +
    uint8_t xran_get_conf_numerology (void * pHandle)
    +
    +inline
    +
    + +

    Get the configuration of nummerology.

    +
    Returns
    Configured numerology
    + +

    Definition at line 2995 of file xran_main.c.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + + + +
    + +
    +
    + +

    ◆ xran_get_conf_prach_scs()

    + +
    +
    + + + + + +
    + + + + + + + + +
    uint8_t xran_get_conf_prach_scs (void * pHandle)
    +
    +inline
    +
    + +

    Get the configuration of subcarrier spacing for PRACH.

    +
    Returns
    subcarrier spacing value for PRACH
    + +

    Definition at line 2975 of file xran_main.c.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + +
    + +
    +
    + +

    ◆ xran_get_if_state()

    + +
    +
    + + + + + + + + +
    enum xran_if_state xran_get_if_state (void )
    +
    +

    Function returns status of operation of FH layer

    +
    Returns
    XRAN_INIT - init state XRAN_RUNNING - running XRAN_STOPPED - stopped
    + +

    Definition at line 238 of file xran_main.c.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + +
    + +
    +
    + +

    ◆ xran_get_num_ant_elm()

    + +
    +
    + + + + + +
    + + + + + + + + +
    uint8_t xran_get_num_ant_elm (void * pHandle)
    +
    +inline
    +
    + +

    Get the configuration of the number of antenna elements.

    +
    Returns
    Configured the number of antenna
    + +

    Definition at line 3069 of file xran_main.c.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + +
    + +
    +
    + +

    ◆ xran_get_num_cc()

    + +
    +
    + + + + + +
    + + + + + + + + +
    uint8_t xran_get_num_cc (void * pHandle)
    +
    +inline
    +
    + +

    Get the configuration of the number of component carriers.

    +
    Returns
    Configured the number of component carriers
    + +

    Definition at line 3029 of file xran_main.c.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + + + + + + + +
    + +
    +
    + +

    ◆ xran_get_num_eAxc()

    + +
    +
    + + + + + +
    + + + + + + + + +
    uint8_t xran_get_num_eAxc (void * pHandle)
    +
    +inline
    +
    + +

    Get the configuration of the number of antenna for UL.

    +
    Returns
    Configured the number of antenna
    + +

    Definition at line 3039 of file xran_main.c.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + + + + + + + + + + + + + + +
    + +
    +
    + +

    ◆ xran_get_num_eAxcUl()

    + +
    +
    + + + + + +
    + + + + + + + + +
    uint8_t xran_get_num_eAxcUl (void * pHandle)
    +
    +inline
    +
    + +

    Get the configuration of the number of antenna.

    +
    Returns
    Configured the number of antenna
    + +

    Definition at line 3059 of file xran_main.c.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + +
    + +
    +
    + +

    ◆ xran_get_ru_category()

    + +
    +
    + + + + + +
    + + + + + + + + +
    enum xran_category xran_get_ru_category (void * pHandle)
    +
    +inline
    +
    + +

    Get configuration of O-RU (Cat A or Cat B)

    +
    Returns
    Configured the number of antenna
    + +

    Definition at line 3049 of file xran_main.c.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + +
    + +
    +
    + +

    ◆ xran_get_slot_idx()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    int32_t xran_get_slot_idx (uint32_t * nFrameIdx,
    uint32_t * nSubframeIdx,
    uint32_t * nSlotIdx,
    uint64_t * nSecond 
    )
    +
    +

    Function returns current TTI, Frame, Subframe, Slot Number as seen "Over air" base on PTP time

    +
    Parameters
    + + + + + +
    nFrameIdxPointer to Frame number [0-99]
    nSubframeIdxPointer to Subframe number [0-10]
    nSlotIdxPointer to Slot number [0-7]
    nSecondPointer to current UTC second
    +
    +
    +
    Returns
    current TTI number [0-7999]
    + +

    Definition at line 2936 of file xran_main.c.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + +
    + +
    +
    + +

    ◆ xran_get_time_stats()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    uint32_t xran_get_time_stats (uint64_t * total_time,
    uint64_t * used_time,
    uint32_t * core_used,
    uint32_t clear 
    )
    +
    +

    Function returns XRAN core utilization stats

    +
    Parameters
    + + + + + +
    total_time(out) Pointer to variable to store Total time thread has been running
    used_time(out) Pointer to variable to store Total time essential tasks have been running on the thread
    core_used(out) Pointer to variable to store Core on which the XRAN thread is running
    clear(in) If set to 1, then internal variables total_time and used_time are cleared
    +
    +
    +
    Returns
    0 - on success
    + +

    Definition at line 2721 of file xran_main.c.

    + +
    +
    + +

    ◆ xran_init()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    int32_t xran_init (int argc,
    char * argv[],
    struct xran_fh_initp_xran_fh_init,
    char * appName,
    void ** pHandle 
    )
    +
    +

    Initialize the XRAN Layer via DPDK.

    +
    Parameters
    + + + +
    argcA non-negative value. If it is greater than 0, the array members for argv[0] through argv[argc] (non-inclusive) shall contain pointers to strings.
    argvAn array of strings. The contents of the array, as well as the strings which are pointed to by the array, may be modified by this function.
    +
    +
    +
    Returns
    0 - on success Error codes returned via rte_errno
    + +

    Definition at line 2319 of file xran_main.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + + + + + + + + + + + + + + + +
    +
    +Here is the caller graph for this function:
    +
    +
    + + + +
    + +
    +
    + +

    ◆ xran_init_prach()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    int xran_init_prach (struct xran_fh_configpConf,
    struct xran_device_ctxp_xran_dev_ctx 
    )
    +
    + +

    Definition at line 308 of file xran_main.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + + +
    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + + + +
    + +
    +
    + +

    ◆ xran_init_sectionid()

    + +
    +
    + + + + + + + + +
    int xran_init_sectionid (void * pHandle)
    +
    + +

    Definition at line 278 of file xran_main.c.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + + + +
    + +
    +
    + +

    ◆ xran_init_seqid()

    + +
    +
    + + + + + + + + +
    int xran_init_seqid (void * pHandle)
    +
    + +

    Definition at line 400 of file xran_main.c.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + + + +
    + +
    +
    + +

    ◆ xran_init_srs()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    int xran_init_srs (struct xran_fh_configpConf,
    struct xran_device_ctxp_xran_dev_ctx 
    )
    +
    + +

    Definition at line 294 of file xran_main.c.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + + + +
    + +
    +
    + +

    ◆ xran_is_prach_slot()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    int xran_is_prach_slot (uint32_t subframe_id,
    uint32_t slot_id 
    )
    +
    + +

    Definition at line 243 of file xran_main.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + +
    + +
    +
    + +

    ◆ xran_malloc()

    + +
    +
    + + + + + + + + +
    void* xran_malloc (size_t buf_len)
    +
    +

    Function allocates memory of given size from heap

    +
    Parameters
    + + +
    buf_lenbuffer size
    +
    +
    +
    Returns
    ptr - to memory buffer or NULL
    + +

    Definition at line 2736 of file xran_main.c.

    + +
    +
    + +

    ◆ xran_mm_destroy()

    + +
    +
    + + + + + + + + +
    int32_t xran_mm_destroy (void * pHandle)
    +
    +

    Function destroys Memory Management (MM) layer of XRAN library

    +
    Parameters
    + + +
    pHandlePointer to XRAN layer handle for given CC
    +
    +
    +
    Returns
    0 - on success
    + +

    Definition at line 2877 of file xran_main.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + +
    +
    +Here is the caller graph for this function:
    +
    +
    + + + + +
    + +
    +
    + +

    ◆ xran_mm_init()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    int32_t xran_mm_init (void * pHandle,
    uint64_t nMemorySize,
    uint32_t nMemorySegmentSize 
    )
    +
    +

    Function initialize Memory Management subsystem (mm) in order to handle memory buffers between XRAN layer and PHY.

    +
    Parameters
    + + + + +
    pHandlePointer to XRAN layer handle for given CC
    nMemorySizememory size of all segments
    nMemorySegmentSizesize of memory per segment
    +
    +
    +
    Returns
    0 - on success
    + +

    Definition at line 2447 of file xran_main.c.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + +
    + +
    +
    + +

    ◆ xran_open()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    int32_t xran_open (void * pHandle,
    struct xran_fh_configpConf 
    )
    +
    +

    Function opens XRAN layer with given handle

    +
    Parameters
    + + + +
    pHandlePointer to XRAN layer handle for given CC
    pointerto struct xran_fh_config pConf Pointer to XRAN configuration structure with specific settings to use
    +
    +
    +
    Returns
    0 - on success
    + +

    Definition at line 2756 of file xran_main.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + + + + + + + + + + + + + +
    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + + +
    + +
    +
    + +

    ◆ xran_packet_and_dpdk_timer_thread()

    + +
    +
    + + + + + + + + +
    int xran_packet_and_dpdk_timer_thread (void * args)
    +
    + +

    Definition at line 2282 of file xran_main.c.

    + +
    +
    + +

    ◆ xran_pkt_validate()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    int32_t xran_pkt_validate (void * arg,
    struct rte_mbuf * mbuf,
    void * iq_data_start,
    uint16_t size,
    uint8_t CC_ID,
    uint8_t Ant_ID,
    uint8_t frame_id,
    uint8_t subframe_id,
    uint8_t slot_id,
    uint8_t symb_id,
    struct ecpri_seq_idseq_id,
    uint16_t num_prbu,
    uint16_t start_prbu,
    uint16_t sym_inc,
    uint16_t rb,
    uint16_t sect_id 
    )
    +
    + +

    Definition at line 1536 of file xran_main.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + +
    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + +
    + +
    +
    + +

    ◆ xran_process_prach_sym()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    int32_t xran_process_prach_sym (void * arg,
    struct rte_mbuf * mbuf,
    void * iq_data_start,
    uint16_t size,
    uint8_t CC_ID,
    uint8_t Ant_ID,
    uint8_t frame_id,
    uint8_t subframe_id,
    uint8_t slot_id,
    uint8_t symb_id,
    uint16_t num_prbu,
    uint16_t start_prbu,
    uint16_t sym_inc,
    uint16_t rb,
    uint16_t sect_id,
    uint32_t * mb_free 
    )
    +
    + +

    Definition at line 1384 of file xran_main.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + +
    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + +
    + +
    +
    + +

    ◆ xran_process_rx_sym()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    int32_t xran_process_rx_sym (void * arg,
    struct rte_mbuf * mbuf,
    void * iq_data_start,
    uint16_t size,
    uint8_t CC_ID,
    uint8_t Ant_ID,
    uint8_t frame_id,
    uint8_t subframe_id,
    uint8_t slot_id,
    uint8_t symb_id,
    uint16_t num_prbu,
    uint16_t start_prbu,
    uint16_t sym_inc,
    uint16_t rb,
    uint16_t sect_id,
    uint32_t * mb_free 
    )
    +
    + +

    Definition at line 1578 of file xran_main.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + +
    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + +
    + +
    +
    + +

    ◆ xran_process_srs_sym()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    int32_t xran_process_srs_sym (void * arg,
    struct rte_mbuf * mbuf,
    void * iq_data_start,
    uint16_t size,
    uint8_t CC_ID,
    uint8_t Ant_ID,
    uint8_t frame_id,
    uint8_t subframe_id,
    uint8_t slot_id,
    uint8_t symb_id,
    uint16_t num_prbu,
    uint16_t start_prbu,
    uint16_t sym_inc,
    uint16_t rb,
    uint16_t sect_id,
    uint32_t * mb_free 
    )
    +
    + +

    Definition at line 1461 of file xran_main.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + +
    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + +
    + +
    +
    + +

    ◆ xran_process_tx_sym()

    + +
    +
    + + + + + + + + +
    int32_t xran_process_tx_sym (void * arg)
    +
    + +

    Definition at line 2202 of file xran_main.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + +
    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + +
    + +
    +
    + +

    ◆ xran_process_tx_sym_cp_off()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    int32_t xran_process_tx_sym_cp_off (uint8_t ctx_id,
    uint32_t tti,
    int32_t cc_id,
    int32_t ant_id,
    uint32_t frame_id,
    uint32_t subframe_id,
    uint32_t slot_id,
    uint32_t sym_id,
    int32_t do_srs 
    )
    +
    + +

    Definition at line 1715 of file xran_main.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + + +
    + +
    +
    + +

    ◆ xran_process_tx_sym_cp_on()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    int32_t xran_process_tx_sym_cp_on (uint8_t ctx_id,
    uint32_t tti,
    int32_t cc_id,
    int32_t ant_id,
    uint32_t frame_id,
    uint32_t subframe_id,
    uint32_t slot_id,
    uint32_t sym_id 
    )
    +
    + +

    Definition at line 2000 of file xran_main.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + +
    + +
    +
    + +

    ◆ xran_reg_physide_cb()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    int32_t xran_reg_physide_cb (void * pHandle,
    xran_fh_tti_callback_fn Cb,
    void * cbParam,
    int skipTtiNum,
    enum callback_to_phy_id 
    )
    +
    +

    Function registers callback to XRAN layer. Function support callbacks align to OTA time. TTI even, half of slot, full slot with respect to PTP time.

    +
    Parameters
    + + + + + + +
    pHandlePointer to XRAN layer handle for given CC
    Cbpointer to callback function
    cbParampointer to Callback Function parameters
    skipTtiNumnumber of calls to be skipped before first call
    callback_to_phy_idcall back time identification (see enum callback_to_phy_id)
    +
    +
    +
    Returns
    0 - in case of success -1 - in case of failure
    + +

    Definition at line 2900 of file xran_main.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + + +
    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + + +
    + +
    +
    + +

    ◆ xran_reg_sym_cb()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    int32_t xran_reg_sym_cb (void * pHandle,
    xran_callback_sym_fn symCb,
    void * symCbParam,
    uint8_t symb,
    uint8_t ant 
    )
    +
    +

    Function registers callback to XRAN layer. Function support callbacks aligned on packet arrival.

    +
    Parameters
    + + + + + + +
    pHandlePointer to XRAN layer handle for given CC
    symCbpointer to callback function
    symCbpointer to Callback Function parameters
    symbsymbol to be register for
    antAntenna number to trigger callback for packet arrival
    +
    +
    +
    Returns
    0 - in case of success -1 - in case of failure
    + +

    Definition at line 2888 of file xran_main.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + +
    +
    +Here is the caller graph for this function:
    +
    +
    + + + +
    + +
    +
    + +

    ◆ xran_register_cb_mbuf2ring()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    int xran_register_cb_mbuf2ring (xran_ethdi_mbuf_send_fn mbuf_send_cp,
    xran_ethdi_mbuf_send_fn mbuf_send_up 
    )
    +
    + +

    Definition at line 2918 of file xran_main.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + + +
    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + +
    + +
    +
    + +

    ◆ xran_sector_get_instances()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    int32_t xran_sector_get_instances (void * pHandle,
    uint16_t nNumInstances,
    xran_cc_handle_tpSectorInstanceHandles 
    )
    +
    +

    Function returns handles for number of sectors supported by XRAN layer. Currently function supports one handle XRAN layer where it supports only one CC

    +
    Parameters
    + + + + +
    pHandlePointer to XRAN layer handle
    nNumInstancestotal number of instances of CC
    pSectorInstanceHandlesPointer to xran_cc_handle_t where to store Handle pointer
    +
    +
    +
    Returns
    0 - on success
    + +

    Definition at line 2408 of file xran_main.c.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + +
    + +
    +
    + +

    ◆ xran_start()

    + +
    +
    + + + + + + + + +
    int32_t xran_start (void * pHandle)
    +
    +

    Function starts XRAN layer with given handle

    +
    Parameters
    + + +
    pHandlePointer to XRAN layer handle for given CC
    +
    +
    +
    Returns
    0 - on success
    + +

    Definition at line 2841 of file xran_main.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + +
    +
    +Here is the caller graph for this function:
    +
    +
    + + + + +
    + +
    +
    + +

    ◆ xran_stop()

    + +
    +
    + + + + + + + + +
    int32_t xran_stop (void * pHandle)
    +
    +

    Function stops XRAN layer with given handle

    +
    Parameters
    + + +
    pHandlePointer to XRAN layer handle for given CC
    +
    +
    +
    Returns
    0 - on success
    + +

    Definition at line 2852 of file xran_main.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + +
    +
    +Here is the caller graph for this function:
    +
    +
    + + + + +
    + +
    +
    + +

    ◆ xran_timer_arm()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void xran_timer_arm (struct rte_timer * tim,
    void * arg 
    )
    +
    + +

    Definition at line 711 of file xran_main.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + +
    + +
    +
    + +

    ◆ xran_timer_arm_ex()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    void xran_timer_arm_ex (struct rte_timer * tim,
    void * CbFct,
    void * CbArg,
    unsigned tim_lcore 
    )
    +
    + +

    Definition at line 724 of file xran_main.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + +
    +
    +Here is the caller graph for this function:
    +
    +
    + + + +
    + +
    +
    + +

    ◆ xran_timing_source_thread()

    + +
    +
    + + + + + + + + +
    int xran_timing_source_thread (void * args)
    +
    + +

    Definition at line 1165 of file xran_main.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + +
    + +
    +
    + +

    ◆ xran_updateSfnSecStart()

    + +
    +
    + + + + + + + + +
    void xran_updateSfnSecStart (void )
    +
    + +

    Definition at line 201 of file xran_main.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + +
    + +
    +
    +

    Variable Documentation

    + +

    ◆ interval_us

    + +
    +
    + + + + +
    uint64_t interval_us = 1000
    +
    + +

    Definition at line 109 of file xran_main.c.

    + +
    +
    + +

    ◆ timer_ctx

    + +
    +
    + + + + +
    struct xran_timer_ctx timer_ctx[MAX_NUM_OF_XRAN_CTX]
    +
    + +

    Definition at line 103 of file xran_main.c.

    + +
    +
    + +

    ◆ xran_lib_ota_sym

    + +
    +
    + + + + +
    uint32_t xran_lib_ota_sym = 0
    +
    +

    Symbol index in a slot [0:13]

    + +

    Definition at line 112 of file xran_main.c.

    + +
    +
    + +

    ◆ xran_lib_ota_sym_idx

    + +
    +
    + + + + +
    uint32_t xran_lib_ota_sym_idx = 0
    +
    +

    Symbol index in a second [0 : 14*(1000000/TTI)-1] where TTI is TTI interval in microseconds

    + +

    Definition at line 113 of file xran_main.c.

    + +
    +
    + +

    ◆ xran_lib_ota_tti

    + +
    +
    + + + + +
    uint32_t xran_lib_ota_tti = 0
    +
    +

    Slot index in a second [0:(1000000/TTI-1)]

    + +

    Definition at line 111 of file xran_main.c.

    + +
    +
    + +

    ◆ xran_max_frame

    + +
    +
    + + + + +
    uint16_t xran_max_frame = 1023
    +
    +

    value of max frame used. expected to be 99 (old compatibility mode) and 1023 as per section 9.7.2 System Frame Number Calculation

    + +

    Definition at line 116 of file xran_main.c.

    + +
    +
    + +

    ◆ xran_SFN_at_Sec_Start

    + +
    +
    + + + + +
    uint16_t xran_SFN_at_Sec_Start = 0
    +
    +

    SFN at current second start

    + +

    Definition at line 115 of file xran_main.c.

    + +
    +
    +
    + + + + diff --git a/docs/API/xran__main_8c__incl.map b/docs/API/xran__main_8c__incl.map new file mode 100644 index 0000000..3ce8141 --- /dev/null +++ b/docs/API/xran__main_8c__incl.map @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/docs/API/xran__main_8c__incl.md5 b/docs/API/xran__main_8c__incl.md5 new file mode 100644 index 0000000..b2c3570 --- /dev/null +++ b/docs/API/xran__main_8c__incl.md5 @@ -0,0 +1 @@ +9d888a7654a535b960855cfd38e85a7d \ No newline at end of file diff --git a/docs/API/xran__main_8c__incl.png b/docs/API/xran__main_8c__incl.png new file mode 100644 index 0000000..4cb43d8 Binary files /dev/null and b/docs/API/xran__main_8c__incl.png differ diff --git a/docs/API/xran__main_8c_a00025c5bad7b7b6eea4374226f8c54bb_cgraph.map b/docs/API/xran__main_8c_a00025c5bad7b7b6eea4374226f8c54bb_cgraph.map new file mode 100644 index 0000000..4fcf974 --- /dev/null +++ b/docs/API/xran__main_8c_a00025c5bad7b7b6eea4374226f8c54bb_cgraph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/xran__main_8c_a00025c5bad7b7b6eea4374226f8c54bb_cgraph.md5 b/docs/API/xran__main_8c_a00025c5bad7b7b6eea4374226f8c54bb_cgraph.md5 new file mode 100644 index 0000000..d50a591 --- /dev/null +++ b/docs/API/xran__main_8c_a00025c5bad7b7b6eea4374226f8c54bb_cgraph.md5 @@ -0,0 +1 @@ +633ae51e87027279b30348b486a038bf \ No newline at end of file diff --git a/docs/API/xran__main_8c_a00025c5bad7b7b6eea4374226f8c54bb_cgraph.png b/docs/API/xran__main_8c_a00025c5bad7b7b6eea4374226f8c54bb_cgraph.png new file mode 100644 index 0000000..22b4f8f Binary files /dev/null and b/docs/API/xran__main_8c_a00025c5bad7b7b6eea4374226f8c54bb_cgraph.png differ diff --git a/docs/API/xran__main_8c_a00025c5bad7b7b6eea4374226f8c54bb_icgraph.map b/docs/API/xran__main_8c_a00025c5bad7b7b6eea4374226f8c54bb_icgraph.map new file mode 100644 index 0000000..2ee2f7f --- /dev/null +++ b/docs/API/xran__main_8c_a00025c5bad7b7b6eea4374226f8c54bb_icgraph.map @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/API/xran__main_8c_a00025c5bad7b7b6eea4374226f8c54bb_icgraph.md5 b/docs/API/xran__main_8c_a00025c5bad7b7b6eea4374226f8c54bb_icgraph.md5 new file mode 100644 index 0000000..dd1d21a --- /dev/null +++ b/docs/API/xran__main_8c_a00025c5bad7b7b6eea4374226f8c54bb_icgraph.md5 @@ -0,0 +1 @@ +c524cf75de68989e4fdcf0b63fedf956 \ No newline at end of file diff --git a/docs/API/xran__main_8c_a00025c5bad7b7b6eea4374226f8c54bb_icgraph.png b/docs/API/xran__main_8c_a00025c5bad7b7b6eea4374226f8c54bb_icgraph.png new file mode 100644 index 0000000..fa88770 Binary files /dev/null and b/docs/API/xran__main_8c_a00025c5bad7b7b6eea4374226f8c54bb_icgraph.png differ diff --git a/docs/API/xran__main_8c_a03f408f45e97aa68ca47c92e4e7d1a70_cgraph.map b/docs/API/xran__main_8c_a03f408f45e97aa68ca47c92e4e7d1a70_cgraph.map new file mode 100644 index 0000000..2a78dde --- /dev/null +++ b/docs/API/xran__main_8c_a03f408f45e97aa68ca47c92e4e7d1a70_cgraph.map @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/docs/API/xran__main_8c_a03f408f45e97aa68ca47c92e4e7d1a70_cgraph.md5 b/docs/API/xran__main_8c_a03f408f45e97aa68ca47c92e4e7d1a70_cgraph.md5 new file mode 100644 index 0000000..de3490a --- /dev/null +++ b/docs/API/xran__main_8c_a03f408f45e97aa68ca47c92e4e7d1a70_cgraph.md5 @@ -0,0 +1 @@ +7b8dcc17dcbabb2a033129a63bbe89f0 \ No newline at end of file diff --git a/docs/API/xran__main_8c_a03f408f45e97aa68ca47c92e4e7d1a70_cgraph.png b/docs/API/xran__main_8c_a03f408f45e97aa68ca47c92e4e7d1a70_cgraph.png new file mode 100644 index 0000000..8fca797 Binary files /dev/null and b/docs/API/xran__main_8c_a03f408f45e97aa68ca47c92e4e7d1a70_cgraph.png differ diff --git a/docs/API/xran__main_8c_a03f408f45e97aa68ca47c92e4e7d1a70_icgraph.map b/docs/API/xran__main_8c_a03f408f45e97aa68ca47c92e4e7d1a70_icgraph.map new file mode 100644 index 0000000..8c99b2c --- /dev/null +++ b/docs/API/xran__main_8c_a03f408f45e97aa68ca47c92e4e7d1a70_icgraph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/API/xran__main_8c_a03f408f45e97aa68ca47c92e4e7d1a70_icgraph.md5 b/docs/API/xran__main_8c_a03f408f45e97aa68ca47c92e4e7d1a70_icgraph.md5 new file mode 100644 index 0000000..87a48ea --- /dev/null +++ b/docs/API/xran__main_8c_a03f408f45e97aa68ca47c92e4e7d1a70_icgraph.md5 @@ -0,0 +1 @@ +d46bfac1b5114511f7df23207a365ed8 \ No newline at end of file diff --git a/docs/API/xran__main_8c_a03f408f45e97aa68ca47c92e4e7d1a70_icgraph.png b/docs/API/xran__main_8c_a03f408f45e97aa68ca47c92e4e7d1a70_icgraph.png new file mode 100644 index 0000000..944e143 Binary files /dev/null and b/docs/API/xran__main_8c_a03f408f45e97aa68ca47c92e4e7d1a70_icgraph.png differ diff --git a/docs/API/xran__main_8c_a072be4e030e23440817b205256d2df29_cgraph.map b/docs/API/xran__main_8c_a072be4e030e23440817b205256d2df29_cgraph.map new file mode 100644 index 0000000..b938b8a --- /dev/null +++ b/docs/API/xran__main_8c_a072be4e030e23440817b205256d2df29_cgraph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/xran__main_8c_a072be4e030e23440817b205256d2df29_cgraph.md5 b/docs/API/xran__main_8c_a072be4e030e23440817b205256d2df29_cgraph.md5 new file mode 100644 index 0000000..bfd5946 --- /dev/null +++ b/docs/API/xran__main_8c_a072be4e030e23440817b205256d2df29_cgraph.md5 @@ -0,0 +1 @@ +78c96e0da568016bb782ae86a85e1fb1 \ No newline at end of file diff --git a/docs/API/xran__main_8c_a072be4e030e23440817b205256d2df29_cgraph.png b/docs/API/xran__main_8c_a072be4e030e23440817b205256d2df29_cgraph.png new file mode 100644 index 0000000..3cfe719 Binary files /dev/null and b/docs/API/xran__main_8c_a072be4e030e23440817b205256d2df29_cgraph.png differ diff --git a/docs/API/xran__main_8c_a0f904fe772b55bcfc449759a23063aa3_icgraph.map b/docs/API/xran__main_8c_a0f904fe772b55bcfc449759a23063aa3_icgraph.map new file mode 100644 index 0000000..b583db8 --- /dev/null +++ b/docs/API/xran__main_8c_a0f904fe772b55bcfc449759a23063aa3_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/xran__main_8c_a0f904fe772b55bcfc449759a23063aa3_icgraph.md5 b/docs/API/xran__main_8c_a0f904fe772b55bcfc449759a23063aa3_icgraph.md5 new file mode 100644 index 0000000..7462b11 --- /dev/null +++ b/docs/API/xran__main_8c_a0f904fe772b55bcfc449759a23063aa3_icgraph.md5 @@ -0,0 +1 @@ +7664845f7700d3c60479a61a48f6ac36 \ No newline at end of file diff --git a/docs/API/xran__main_8c_a0f904fe772b55bcfc449759a23063aa3_icgraph.png b/docs/API/xran__main_8c_a0f904fe772b55bcfc449759a23063aa3_icgraph.png new file mode 100644 index 0000000..e89c53f Binary files /dev/null and b/docs/API/xran__main_8c_a0f904fe772b55bcfc449759a23063aa3_icgraph.png differ diff --git a/docs/API/xran__main_8c_a14cfa955b7fdf58378a97b4cfa7268f8_cgraph.map b/docs/API/xran__main_8c_a14cfa955b7fdf58378a97b4cfa7268f8_cgraph.map new file mode 100644 index 0000000..7e69df2 --- /dev/null +++ b/docs/API/xran__main_8c_a14cfa955b7fdf58378a97b4cfa7268f8_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/xran__main_8c_a14cfa955b7fdf58378a97b4cfa7268f8_cgraph.md5 b/docs/API/xran__main_8c_a14cfa955b7fdf58378a97b4cfa7268f8_cgraph.md5 new file mode 100644 index 0000000..6e20c23 --- /dev/null +++ b/docs/API/xran__main_8c_a14cfa955b7fdf58378a97b4cfa7268f8_cgraph.md5 @@ -0,0 +1 @@ +077f61fcf54ff17fcf1ee450ea8b56b2 \ No newline at end of file diff --git a/docs/API/xran__main_8c_a14cfa955b7fdf58378a97b4cfa7268f8_cgraph.png b/docs/API/xran__main_8c_a14cfa955b7fdf58378a97b4cfa7268f8_cgraph.png new file mode 100644 index 0000000..aacd7e6 Binary files /dev/null and b/docs/API/xran__main_8c_a14cfa955b7fdf58378a97b4cfa7268f8_cgraph.png differ diff --git a/docs/API/xran__main_8c_a14cfa955b7fdf58378a97b4cfa7268f8_icgraph.map b/docs/API/xran__main_8c_a14cfa955b7fdf58378a97b4cfa7268f8_icgraph.map new file mode 100644 index 0000000..4dd1d0d --- /dev/null +++ b/docs/API/xran__main_8c_a14cfa955b7fdf58378a97b4cfa7268f8_icgraph.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/API/xran__main_8c_a14cfa955b7fdf58378a97b4cfa7268f8_icgraph.md5 b/docs/API/xran__main_8c_a14cfa955b7fdf58378a97b4cfa7268f8_icgraph.md5 new file mode 100644 index 0000000..4c67281 --- /dev/null +++ b/docs/API/xran__main_8c_a14cfa955b7fdf58378a97b4cfa7268f8_icgraph.md5 @@ -0,0 +1 @@ +fea02c0c0f6517d26e437b6fa9c8c43b \ No newline at end of file diff --git a/docs/API/xran__main_8c_a14cfa955b7fdf58378a97b4cfa7268f8_icgraph.png b/docs/API/xran__main_8c_a14cfa955b7fdf58378a97b4cfa7268f8_icgraph.png new file mode 100644 index 0000000..8607bdd Binary files /dev/null and b/docs/API/xran__main_8c_a14cfa955b7fdf58378a97b4cfa7268f8_icgraph.png differ diff --git a/docs/API/xran__main_8c_a195da46c3cb90e36da543594416cbba7_cgraph.map b/docs/API/xran__main_8c_a195da46c3cb90e36da543594416cbba7_cgraph.map new file mode 100644 index 0000000..ed2de44 --- /dev/null +++ b/docs/API/xran__main_8c_a195da46c3cb90e36da543594416cbba7_cgraph.map @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/API/xran__main_8c_a195da46c3cb90e36da543594416cbba7_cgraph.md5 b/docs/API/xran__main_8c_a195da46c3cb90e36da543594416cbba7_cgraph.md5 new file mode 100644 index 0000000..5fae3f3 --- /dev/null +++ b/docs/API/xran__main_8c_a195da46c3cb90e36da543594416cbba7_cgraph.md5 @@ -0,0 +1 @@ +74bfe15e299159124378a82432a33b5d \ No newline at end of file diff --git a/docs/API/xran__main_8c_a195da46c3cb90e36da543594416cbba7_cgraph.png b/docs/API/xran__main_8c_a195da46c3cb90e36da543594416cbba7_cgraph.png new file mode 100644 index 0000000..05a5646 Binary files /dev/null and b/docs/API/xran__main_8c_a195da46c3cb90e36da543594416cbba7_cgraph.png differ diff --git a/docs/API/xran__main_8c_a2816fdf0ed3269e998720d01c2b6bf76_icgraph.map b/docs/API/xran__main_8c_a2816fdf0ed3269e998720d01c2b6bf76_icgraph.map new file mode 100644 index 0000000..93ef27f --- /dev/null +++ b/docs/API/xran__main_8c_a2816fdf0ed3269e998720d01c2b6bf76_icgraph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/API/xran__main_8c_a2816fdf0ed3269e998720d01c2b6bf76_icgraph.md5 b/docs/API/xran__main_8c_a2816fdf0ed3269e998720d01c2b6bf76_icgraph.md5 new file mode 100644 index 0000000..ef6de26 --- /dev/null +++ b/docs/API/xran__main_8c_a2816fdf0ed3269e998720d01c2b6bf76_icgraph.md5 @@ -0,0 +1 @@ +85f7f735462cd5b87af01e2f9872ffdc \ No newline at end of file diff --git a/docs/API/xran__main_8c_a2816fdf0ed3269e998720d01c2b6bf76_icgraph.png b/docs/API/xran__main_8c_a2816fdf0ed3269e998720d01c2b6bf76_icgraph.png new file mode 100644 index 0000000..ca99d37 Binary files /dev/null and b/docs/API/xran__main_8c_a2816fdf0ed3269e998720d01c2b6bf76_icgraph.png differ diff --git a/docs/API/xran__main_8c_a2bd01fc3432f80a787d6bf317949dd80_cgraph.map b/docs/API/xran__main_8c_a2bd01fc3432f80a787d6bf317949dd80_cgraph.map new file mode 100644 index 0000000..26259cd --- /dev/null +++ b/docs/API/xran__main_8c_a2bd01fc3432f80a787d6bf317949dd80_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/xran__main_8c_a2bd01fc3432f80a787d6bf317949dd80_cgraph.md5 b/docs/API/xran__main_8c_a2bd01fc3432f80a787d6bf317949dd80_cgraph.md5 new file mode 100644 index 0000000..3f64a0b --- /dev/null +++ b/docs/API/xran__main_8c_a2bd01fc3432f80a787d6bf317949dd80_cgraph.md5 @@ -0,0 +1 @@ +54a59a86a75a4138a5b8e73e3ef37777 \ No newline at end of file diff --git a/docs/API/xran__main_8c_a2bd01fc3432f80a787d6bf317949dd80_cgraph.png b/docs/API/xran__main_8c_a2bd01fc3432f80a787d6bf317949dd80_cgraph.png new file mode 100644 index 0000000..2b28349 Binary files /dev/null and b/docs/API/xran__main_8c_a2bd01fc3432f80a787d6bf317949dd80_cgraph.png differ diff --git a/docs/API/xran__main_8c_a2f8866c9d6536a56e4d8232b8c45808b_icgraph.map b/docs/API/xran__main_8c_a2f8866c9d6536a56e4d8232b8c45808b_icgraph.map new file mode 100644 index 0000000..40f3bc1 --- /dev/null +++ b/docs/API/xran__main_8c_a2f8866c9d6536a56e4d8232b8c45808b_icgraph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/API/xran__main_8c_a2f8866c9d6536a56e4d8232b8c45808b_icgraph.md5 b/docs/API/xran__main_8c_a2f8866c9d6536a56e4d8232b8c45808b_icgraph.md5 new file mode 100644 index 0000000..485e6d7 --- /dev/null +++ b/docs/API/xran__main_8c_a2f8866c9d6536a56e4d8232b8c45808b_icgraph.md5 @@ -0,0 +1 @@ +a8f493d02b20d2589a839f8fb0df590d \ No newline at end of file diff --git a/docs/API/xran__main_8c_a2f8866c9d6536a56e4d8232b8c45808b_icgraph.png b/docs/API/xran__main_8c_a2f8866c9d6536a56e4d8232b8c45808b_icgraph.png new file mode 100644 index 0000000..a30768a Binary files /dev/null and b/docs/API/xran__main_8c_a2f8866c9d6536a56e4d8232b8c45808b_icgraph.png differ diff --git a/docs/API/xran__main_8c_a300b87c29358bb161404c0122a9b2a46_cgraph.map b/docs/API/xran__main_8c_a300b87c29358bb161404c0122a9b2a46_cgraph.map new file mode 100644 index 0000000..aefc03c --- /dev/null +++ b/docs/API/xran__main_8c_a300b87c29358bb161404c0122a9b2a46_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/xran__main_8c_a300b87c29358bb161404c0122a9b2a46_cgraph.md5 b/docs/API/xran__main_8c_a300b87c29358bb161404c0122a9b2a46_cgraph.md5 new file mode 100644 index 0000000..732c587 --- /dev/null +++ b/docs/API/xran__main_8c_a300b87c29358bb161404c0122a9b2a46_cgraph.md5 @@ -0,0 +1 @@ +4935324273ed3b8f81657c988e888f06 \ No newline at end of file diff --git a/docs/API/xran__main_8c_a300b87c29358bb161404c0122a9b2a46_cgraph.png b/docs/API/xran__main_8c_a300b87c29358bb161404c0122a9b2a46_cgraph.png new file mode 100644 index 0000000..65f0d4d Binary files /dev/null and b/docs/API/xran__main_8c_a300b87c29358bb161404c0122a9b2a46_cgraph.png differ diff --git a/docs/API/xran__main_8c_a300b87c29358bb161404c0122a9b2a46_icgraph.map b/docs/API/xran__main_8c_a300b87c29358bb161404c0122a9b2a46_icgraph.map new file mode 100644 index 0000000..79dd6de --- /dev/null +++ b/docs/API/xran__main_8c_a300b87c29358bb161404c0122a9b2a46_icgraph.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/API/xran__main_8c_a300b87c29358bb161404c0122a9b2a46_icgraph.md5 b/docs/API/xran__main_8c_a300b87c29358bb161404c0122a9b2a46_icgraph.md5 new file mode 100644 index 0000000..a41c733 --- /dev/null +++ b/docs/API/xran__main_8c_a300b87c29358bb161404c0122a9b2a46_icgraph.md5 @@ -0,0 +1 @@ +f5cffce083890b0ac74301c711b098e2 \ No newline at end of file diff --git a/docs/API/xran__main_8c_a300b87c29358bb161404c0122a9b2a46_icgraph.png b/docs/API/xran__main_8c_a300b87c29358bb161404c0122a9b2a46_icgraph.png new file mode 100644 index 0000000..8595579 Binary files /dev/null and b/docs/API/xran__main_8c_a300b87c29358bb161404c0122a9b2a46_icgraph.png differ diff --git a/docs/API/xran__main_8c_a39a9f7b5d01979eb1f8d806d6b9c50fe_icgraph.map b/docs/API/xran__main_8c_a39a9f7b5d01979eb1f8d806d6b9c50fe_icgraph.map new file mode 100644 index 0000000..8336530 --- /dev/null +++ b/docs/API/xran__main_8c_a39a9f7b5d01979eb1f8d806d6b9c50fe_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/xran__main_8c_a39a9f7b5d01979eb1f8d806d6b9c50fe_icgraph.md5 b/docs/API/xran__main_8c_a39a9f7b5d01979eb1f8d806d6b9c50fe_icgraph.md5 new file mode 100644 index 0000000..cfdada6 --- /dev/null +++ b/docs/API/xran__main_8c_a39a9f7b5d01979eb1f8d806d6b9c50fe_icgraph.md5 @@ -0,0 +1 @@ +bb7947a0afdb367e882a6c921e24651a \ No newline at end of file diff --git a/docs/API/xran__main_8c_a39a9f7b5d01979eb1f8d806d6b9c50fe_icgraph.png b/docs/API/xran__main_8c_a39a9f7b5d01979eb1f8d806d6b9c50fe_icgraph.png new file mode 100644 index 0000000..ed3a36e Binary files /dev/null and b/docs/API/xran__main_8c_a39a9f7b5d01979eb1f8d806d6b9c50fe_icgraph.png differ diff --git a/docs/API/xran__main_8c_a3fc01469558ddf728239d59038ac5803_icgraph.map b/docs/API/xran__main_8c_a3fc01469558ddf728239d59038ac5803_icgraph.map new file mode 100644 index 0000000..32f265f --- /dev/null +++ b/docs/API/xran__main_8c_a3fc01469558ddf728239d59038ac5803_icgraph.map @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/docs/API/xran__main_8c_a3fc01469558ddf728239d59038ac5803_icgraph.md5 b/docs/API/xran__main_8c_a3fc01469558ddf728239d59038ac5803_icgraph.md5 new file mode 100644 index 0000000..1051c24 --- /dev/null +++ b/docs/API/xran__main_8c_a3fc01469558ddf728239d59038ac5803_icgraph.md5 @@ -0,0 +1 @@ +72e383e93019a39233c84f1f32ce06dd \ No newline at end of file diff --git a/docs/API/xran__main_8c_a3fc01469558ddf728239d59038ac5803_icgraph.png b/docs/API/xran__main_8c_a3fc01469558ddf728239d59038ac5803_icgraph.png new file mode 100644 index 0000000..3ccdfe5 Binary files /dev/null and b/docs/API/xran__main_8c_a3fc01469558ddf728239d59038ac5803_icgraph.png differ diff --git a/docs/API/xran__main_8c_a4120602c15ddabfc3372e238d17f0414_cgraph.map b/docs/API/xran__main_8c_a4120602c15ddabfc3372e238d17f0414_cgraph.map new file mode 100644 index 0000000..512036e --- /dev/null +++ b/docs/API/xran__main_8c_a4120602c15ddabfc3372e238d17f0414_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/xran__main_8c_a4120602c15ddabfc3372e238d17f0414_cgraph.md5 b/docs/API/xran__main_8c_a4120602c15ddabfc3372e238d17f0414_cgraph.md5 new file mode 100644 index 0000000..4f1c6b3 --- /dev/null +++ b/docs/API/xran__main_8c_a4120602c15ddabfc3372e238d17f0414_cgraph.md5 @@ -0,0 +1 @@ +79fde9b96e4785292c3f6b922df1aae2 \ No newline at end of file diff --git a/docs/API/xran__main_8c_a4120602c15ddabfc3372e238d17f0414_cgraph.png b/docs/API/xran__main_8c_a4120602c15ddabfc3372e238d17f0414_cgraph.png new file mode 100644 index 0000000..289c5e7 Binary files /dev/null and b/docs/API/xran__main_8c_a4120602c15ddabfc3372e238d17f0414_cgraph.png differ diff --git a/docs/API/xran__main_8c_a4120602c15ddabfc3372e238d17f0414_icgraph.map b/docs/API/xran__main_8c_a4120602c15ddabfc3372e238d17f0414_icgraph.map new file mode 100644 index 0000000..472eb85 --- /dev/null +++ b/docs/API/xran__main_8c_a4120602c15ddabfc3372e238d17f0414_icgraph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/xran__main_8c_a4120602c15ddabfc3372e238d17f0414_icgraph.md5 b/docs/API/xran__main_8c_a4120602c15ddabfc3372e238d17f0414_icgraph.md5 new file mode 100644 index 0000000..f19e7ba --- /dev/null +++ b/docs/API/xran__main_8c_a4120602c15ddabfc3372e238d17f0414_icgraph.md5 @@ -0,0 +1 @@ +5674e1c86b8dd3bda1611411be44853f \ No newline at end of file diff --git a/docs/API/xran__main_8c_a4120602c15ddabfc3372e238d17f0414_icgraph.png b/docs/API/xran__main_8c_a4120602c15ddabfc3372e238d17f0414_icgraph.png new file mode 100644 index 0000000..6591699 Binary files /dev/null and b/docs/API/xran__main_8c_a4120602c15ddabfc3372e238d17f0414_icgraph.png differ diff --git a/docs/API/xran__main_8c_a4474e27c827459f3af40954b0c6f962b_cgraph.map b/docs/API/xran__main_8c_a4474e27c827459f3af40954b0c6f962b_cgraph.map new file mode 100644 index 0000000..99394b9 --- /dev/null +++ b/docs/API/xran__main_8c_a4474e27c827459f3af40954b0c6f962b_cgraph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/API/xran__main_8c_a4474e27c827459f3af40954b0c6f962b_cgraph.md5 b/docs/API/xran__main_8c_a4474e27c827459f3af40954b0c6f962b_cgraph.md5 new file mode 100644 index 0000000..02fc003 --- /dev/null +++ b/docs/API/xran__main_8c_a4474e27c827459f3af40954b0c6f962b_cgraph.md5 @@ -0,0 +1 @@ +a0fd37dcd7e0857525f529500b00da00 \ No newline at end of file diff --git a/docs/API/xran__main_8c_a4474e27c827459f3af40954b0c6f962b_cgraph.png b/docs/API/xran__main_8c_a4474e27c827459f3af40954b0c6f962b_cgraph.png new file mode 100644 index 0000000..3e27607 Binary files /dev/null and b/docs/API/xran__main_8c_a4474e27c827459f3af40954b0c6f962b_cgraph.png differ diff --git a/docs/API/xran__main_8c_a4474e27c827459f3af40954b0c6f962b_icgraph.map b/docs/API/xran__main_8c_a4474e27c827459f3af40954b0c6f962b_icgraph.map new file mode 100644 index 0000000..c9596e0 --- /dev/null +++ b/docs/API/xran__main_8c_a4474e27c827459f3af40954b0c6f962b_icgraph.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/API/xran__main_8c_a4474e27c827459f3af40954b0c6f962b_icgraph.md5 b/docs/API/xran__main_8c_a4474e27c827459f3af40954b0c6f962b_icgraph.md5 new file mode 100644 index 0000000..61e8ec8 --- /dev/null +++ b/docs/API/xran__main_8c_a4474e27c827459f3af40954b0c6f962b_icgraph.md5 @@ -0,0 +1 @@ +914c4e90fd6e530c4b7c90c012622174 \ No newline at end of file diff --git a/docs/API/xran__main_8c_a4474e27c827459f3af40954b0c6f962b_icgraph.png b/docs/API/xran__main_8c_a4474e27c827459f3af40954b0c6f962b_icgraph.png new file mode 100644 index 0000000..e4c3cab Binary files /dev/null and b/docs/API/xran__main_8c_a4474e27c827459f3af40954b0c6f962b_icgraph.png differ diff --git a/docs/API/xran__main_8c_a4ea0e9c036a1dc7605f53f1f862f4952_cgraph.map b/docs/API/xran__main_8c_a4ea0e9c036a1dc7605f53f1f862f4952_cgraph.map new file mode 100644 index 0000000..f083617 --- /dev/null +++ b/docs/API/xran__main_8c_a4ea0e9c036a1dc7605f53f1f862f4952_cgraph.map @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/docs/API/xran__main_8c_a4ea0e9c036a1dc7605f53f1f862f4952_cgraph.md5 b/docs/API/xran__main_8c_a4ea0e9c036a1dc7605f53f1f862f4952_cgraph.md5 new file mode 100644 index 0000000..f2aaf0b --- /dev/null +++ b/docs/API/xran__main_8c_a4ea0e9c036a1dc7605f53f1f862f4952_cgraph.md5 @@ -0,0 +1 @@ +3f6374f30af34e02f51440479cf7f8c9 \ No newline at end of file diff --git a/docs/API/xran__main_8c_a4ea0e9c036a1dc7605f53f1f862f4952_cgraph.png b/docs/API/xran__main_8c_a4ea0e9c036a1dc7605f53f1f862f4952_cgraph.png new file mode 100644 index 0000000..bc40183 Binary files /dev/null and b/docs/API/xran__main_8c_a4ea0e9c036a1dc7605f53f1f862f4952_cgraph.png differ diff --git a/docs/API/xran__main_8c_a4ea0e9c036a1dc7605f53f1f862f4952_icgraph.map b/docs/API/xran__main_8c_a4ea0e9c036a1dc7605f53f1f862f4952_icgraph.map new file mode 100644 index 0000000..9838a3d --- /dev/null +++ b/docs/API/xran__main_8c_a4ea0e9c036a1dc7605f53f1f862f4952_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/xran__main_8c_a4ea0e9c036a1dc7605f53f1f862f4952_icgraph.md5 b/docs/API/xran__main_8c_a4ea0e9c036a1dc7605f53f1f862f4952_icgraph.md5 new file mode 100644 index 0000000..65d0477 --- /dev/null +++ b/docs/API/xran__main_8c_a4ea0e9c036a1dc7605f53f1f862f4952_icgraph.md5 @@ -0,0 +1 @@ +8f40b3a259f8d73e7d2001f6743f7d81 \ No newline at end of file diff --git a/docs/API/xran__main_8c_a4ea0e9c036a1dc7605f53f1f862f4952_icgraph.png b/docs/API/xran__main_8c_a4ea0e9c036a1dc7605f53f1f862f4952_icgraph.png new file mode 100644 index 0000000..77d21ce Binary files /dev/null and b/docs/API/xran__main_8c_a4ea0e9c036a1dc7605f53f1f862f4952_icgraph.png differ diff --git a/docs/API/xran__main_8c_a4eb2b37a85455e8078520bcea40296cc_icgraph.map b/docs/API/xran__main_8c_a4eb2b37a85455e8078520bcea40296cc_icgraph.map new file mode 100644 index 0000000..75e1339 --- /dev/null +++ b/docs/API/xran__main_8c_a4eb2b37a85455e8078520bcea40296cc_icgraph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/API/xran__main_8c_a4eb2b37a85455e8078520bcea40296cc_icgraph.md5 b/docs/API/xran__main_8c_a4eb2b37a85455e8078520bcea40296cc_icgraph.md5 new file mode 100644 index 0000000..2d85035 --- /dev/null +++ b/docs/API/xran__main_8c_a4eb2b37a85455e8078520bcea40296cc_icgraph.md5 @@ -0,0 +1 @@ +d23b98a3bf744915855123edca25502e \ No newline at end of file diff --git a/docs/API/xran__main_8c_a4eb2b37a85455e8078520bcea40296cc_icgraph.png b/docs/API/xran__main_8c_a4eb2b37a85455e8078520bcea40296cc_icgraph.png new file mode 100644 index 0000000..eaed009 Binary files /dev/null and b/docs/API/xran__main_8c_a4eb2b37a85455e8078520bcea40296cc_icgraph.png differ diff --git a/docs/API/xran__main_8c_a54de92e0ced826beeb759580d170562b_icgraph.map b/docs/API/xran__main_8c_a54de92e0ced826beeb759580d170562b_icgraph.map new file mode 100644 index 0000000..c17c0f6 --- /dev/null +++ b/docs/API/xran__main_8c_a54de92e0ced826beeb759580d170562b_icgraph.map @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/API/xran__main_8c_a54de92e0ced826beeb759580d170562b_icgraph.md5 b/docs/API/xran__main_8c_a54de92e0ced826beeb759580d170562b_icgraph.md5 new file mode 100644 index 0000000..fc7966e --- /dev/null +++ b/docs/API/xran__main_8c_a54de92e0ced826beeb759580d170562b_icgraph.md5 @@ -0,0 +1 @@ +f9e7cfe87763a67b99ed0dbd3d7ed003 \ No newline at end of file diff --git a/docs/API/xran__main_8c_a54de92e0ced826beeb759580d170562b_icgraph.png b/docs/API/xran__main_8c_a54de92e0ced826beeb759580d170562b_icgraph.png new file mode 100644 index 0000000..43de231 Binary files /dev/null and b/docs/API/xran__main_8c_a54de92e0ced826beeb759580d170562b_icgraph.png differ diff --git a/docs/API/xran__main_8c_a57bc216aff0d372305a6d13a072c605b_cgraph.map b/docs/API/xran__main_8c_a57bc216aff0d372305a6d13a072c605b_cgraph.map new file mode 100644 index 0000000..b908ef6 --- /dev/null +++ b/docs/API/xran__main_8c_a57bc216aff0d372305a6d13a072c605b_cgraph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/xran__main_8c_a57bc216aff0d372305a6d13a072c605b_cgraph.md5 b/docs/API/xran__main_8c_a57bc216aff0d372305a6d13a072c605b_cgraph.md5 new file mode 100644 index 0000000..8cdb47a --- /dev/null +++ b/docs/API/xran__main_8c_a57bc216aff0d372305a6d13a072c605b_cgraph.md5 @@ -0,0 +1 @@ +3c3b1661f1dfa5333a029114db69930c \ No newline at end of file diff --git a/docs/API/xran__main_8c_a57bc216aff0d372305a6d13a072c605b_cgraph.png b/docs/API/xran__main_8c_a57bc216aff0d372305a6d13a072c605b_cgraph.png new file mode 100644 index 0000000..8696957 Binary files /dev/null and b/docs/API/xran__main_8c_a57bc216aff0d372305a6d13a072c605b_cgraph.png differ diff --git a/docs/API/xran__main_8c_a57bc216aff0d372305a6d13a072c605b_icgraph.map b/docs/API/xran__main_8c_a57bc216aff0d372305a6d13a072c605b_icgraph.map new file mode 100644 index 0000000..ff1903f --- /dev/null +++ b/docs/API/xran__main_8c_a57bc216aff0d372305a6d13a072c605b_icgraph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/API/xran__main_8c_a57bc216aff0d372305a6d13a072c605b_icgraph.md5 b/docs/API/xran__main_8c_a57bc216aff0d372305a6d13a072c605b_icgraph.md5 new file mode 100644 index 0000000..2943586 --- /dev/null +++ b/docs/API/xran__main_8c_a57bc216aff0d372305a6d13a072c605b_icgraph.md5 @@ -0,0 +1 @@ +0dcfc252325541fdcfef63e1cac69992 \ No newline at end of file diff --git a/docs/API/xran__main_8c_a57bc216aff0d372305a6d13a072c605b_icgraph.png b/docs/API/xran__main_8c_a57bc216aff0d372305a6d13a072c605b_icgraph.png new file mode 100644 index 0000000..0c5549d Binary files /dev/null and b/docs/API/xran__main_8c_a57bc216aff0d372305a6d13a072c605b_icgraph.png differ diff --git a/docs/API/xran__main_8c_a5b8958fc5688ba856cba84038ee4b938_cgraph.map b/docs/API/xran__main_8c_a5b8958fc5688ba856cba84038ee4b938_cgraph.map new file mode 100644 index 0000000..3e0d431 --- /dev/null +++ b/docs/API/xran__main_8c_a5b8958fc5688ba856cba84038ee4b938_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/xran__main_8c_a5b8958fc5688ba856cba84038ee4b938_cgraph.md5 b/docs/API/xran__main_8c_a5b8958fc5688ba856cba84038ee4b938_cgraph.md5 new file mode 100644 index 0000000..dca2e5e --- /dev/null +++ b/docs/API/xran__main_8c_a5b8958fc5688ba856cba84038ee4b938_cgraph.md5 @@ -0,0 +1 @@ +b3e46c11e412ed0c52b1b4528b516ed2 \ No newline at end of file diff --git a/docs/API/xran__main_8c_a5b8958fc5688ba856cba84038ee4b938_cgraph.png b/docs/API/xran__main_8c_a5b8958fc5688ba856cba84038ee4b938_cgraph.png new file mode 100644 index 0000000..a52e60d Binary files /dev/null and b/docs/API/xran__main_8c_a5b8958fc5688ba856cba84038ee4b938_cgraph.png differ diff --git a/docs/API/xran__main_8c_a5f780beefc47e125ffd42fde16117e62_icgraph.map b/docs/API/xran__main_8c_a5f780beefc47e125ffd42fde16117e62_icgraph.map new file mode 100644 index 0000000..a9bb0b8 --- /dev/null +++ b/docs/API/xran__main_8c_a5f780beefc47e125ffd42fde16117e62_icgraph.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/API/xran__main_8c_a5f780beefc47e125ffd42fde16117e62_icgraph.md5 b/docs/API/xran__main_8c_a5f780beefc47e125ffd42fde16117e62_icgraph.md5 new file mode 100644 index 0000000..7376459 --- /dev/null +++ b/docs/API/xran__main_8c_a5f780beefc47e125ffd42fde16117e62_icgraph.md5 @@ -0,0 +1 @@ +334e51956cbafc7cef92acaef3fd8a54 \ No newline at end of file diff --git a/docs/API/xran__main_8c_a5f780beefc47e125ffd42fde16117e62_icgraph.png b/docs/API/xran__main_8c_a5f780beefc47e125ffd42fde16117e62_icgraph.png new file mode 100644 index 0000000..f013fa6 Binary files /dev/null and b/docs/API/xran__main_8c_a5f780beefc47e125ffd42fde16117e62_icgraph.png differ diff --git a/docs/API/xran__main_8c_a63aa00dad3b771f4db5df8ca8ac68323_cgraph.map b/docs/API/xran__main_8c_a63aa00dad3b771f4db5df8ca8ac68323_cgraph.map new file mode 100644 index 0000000..bff1b4a --- /dev/null +++ b/docs/API/xran__main_8c_a63aa00dad3b771f4db5df8ca8ac68323_cgraph.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/API/xran__main_8c_a63aa00dad3b771f4db5df8ca8ac68323_cgraph.md5 b/docs/API/xran__main_8c_a63aa00dad3b771f4db5df8ca8ac68323_cgraph.md5 new file mode 100644 index 0000000..485f527 --- /dev/null +++ b/docs/API/xran__main_8c_a63aa00dad3b771f4db5df8ca8ac68323_cgraph.md5 @@ -0,0 +1 @@ +78b5a5c43c66d44ab63cd96266a70c67 \ No newline at end of file diff --git a/docs/API/xran__main_8c_a63aa00dad3b771f4db5df8ca8ac68323_cgraph.png b/docs/API/xran__main_8c_a63aa00dad3b771f4db5df8ca8ac68323_cgraph.png new file mode 100644 index 0000000..b150a5c Binary files /dev/null and b/docs/API/xran__main_8c_a63aa00dad3b771f4db5df8ca8ac68323_cgraph.png differ diff --git a/docs/API/xran__main_8c_a66ed2e3f4cefcfdd71841c152c80aa20_cgraph.map b/docs/API/xran__main_8c_a66ed2e3f4cefcfdd71841c152c80aa20_cgraph.map new file mode 100644 index 0000000..19d8c9e --- /dev/null +++ b/docs/API/xran__main_8c_a66ed2e3f4cefcfdd71841c152c80aa20_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/xran__main_8c_a66ed2e3f4cefcfdd71841c152c80aa20_cgraph.md5 b/docs/API/xran__main_8c_a66ed2e3f4cefcfdd71841c152c80aa20_cgraph.md5 new file mode 100644 index 0000000..53f97e5 --- /dev/null +++ b/docs/API/xran__main_8c_a66ed2e3f4cefcfdd71841c152c80aa20_cgraph.md5 @@ -0,0 +1 @@ +8557a006ace5334dc2a83e7c84f7ec99 \ No newline at end of file diff --git a/docs/API/xran__main_8c_a66ed2e3f4cefcfdd71841c152c80aa20_cgraph.png b/docs/API/xran__main_8c_a66ed2e3f4cefcfdd71841c152c80aa20_cgraph.png new file mode 100644 index 0000000..368df35 Binary files /dev/null and b/docs/API/xran__main_8c_a66ed2e3f4cefcfdd71841c152c80aa20_cgraph.png differ diff --git a/docs/API/xran__main_8c_a6bec02784f5898c72bdbe64469186a45_cgraph.map b/docs/API/xran__main_8c_a6bec02784f5898c72bdbe64469186a45_cgraph.map new file mode 100644 index 0000000..8c24032 --- /dev/null +++ b/docs/API/xran__main_8c_a6bec02784f5898c72bdbe64469186a45_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/xran__main_8c_a6bec02784f5898c72bdbe64469186a45_cgraph.md5 b/docs/API/xran__main_8c_a6bec02784f5898c72bdbe64469186a45_cgraph.md5 new file mode 100644 index 0000000..04f4c3c --- /dev/null +++ b/docs/API/xran__main_8c_a6bec02784f5898c72bdbe64469186a45_cgraph.md5 @@ -0,0 +1 @@ +00763f57625b53b41b66f215fb3df320 \ No newline at end of file diff --git a/docs/API/xran__main_8c_a6bec02784f5898c72bdbe64469186a45_cgraph.png b/docs/API/xran__main_8c_a6bec02784f5898c72bdbe64469186a45_cgraph.png new file mode 100644 index 0000000..53cb97f Binary files /dev/null and b/docs/API/xran__main_8c_a6bec02784f5898c72bdbe64469186a45_cgraph.png differ diff --git a/docs/API/xran__main_8c_a70d428b456fbe76f8550ff9b782a9e4e_icgraph.map b/docs/API/xran__main_8c_a70d428b456fbe76f8550ff9b782a9e4e_icgraph.map new file mode 100644 index 0000000..aedd69f --- /dev/null +++ b/docs/API/xran__main_8c_a70d428b456fbe76f8550ff9b782a9e4e_icgraph.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/API/xran__main_8c_a70d428b456fbe76f8550ff9b782a9e4e_icgraph.md5 b/docs/API/xran__main_8c_a70d428b456fbe76f8550ff9b782a9e4e_icgraph.md5 new file mode 100644 index 0000000..b5b83bb --- /dev/null +++ b/docs/API/xran__main_8c_a70d428b456fbe76f8550ff9b782a9e4e_icgraph.md5 @@ -0,0 +1 @@ +0f4a75032d171a172dc836f1d9974800 \ No newline at end of file diff --git a/docs/API/xran__main_8c_a70d428b456fbe76f8550ff9b782a9e4e_icgraph.png b/docs/API/xran__main_8c_a70d428b456fbe76f8550ff9b782a9e4e_icgraph.png new file mode 100644 index 0000000..f4f0ea9 Binary files /dev/null and b/docs/API/xran__main_8c_a70d428b456fbe76f8550ff9b782a9e4e_icgraph.png differ diff --git a/docs/API/xran__main_8c_a7192955290ca84553d071cedc5ee89cb_cgraph.map b/docs/API/xran__main_8c_a7192955290ca84553d071cedc5ee89cb_cgraph.map new file mode 100644 index 0000000..9733719 --- /dev/null +++ b/docs/API/xran__main_8c_a7192955290ca84553d071cedc5ee89cb_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/xran__main_8c_a7192955290ca84553d071cedc5ee89cb_cgraph.md5 b/docs/API/xran__main_8c_a7192955290ca84553d071cedc5ee89cb_cgraph.md5 new file mode 100644 index 0000000..963dd76 --- /dev/null +++ b/docs/API/xran__main_8c_a7192955290ca84553d071cedc5ee89cb_cgraph.md5 @@ -0,0 +1 @@ +883b151242a79d13ebf35ad9769f6353 \ No newline at end of file diff --git a/docs/API/xran__main_8c_a7192955290ca84553d071cedc5ee89cb_cgraph.png b/docs/API/xran__main_8c_a7192955290ca84553d071cedc5ee89cb_cgraph.png new file mode 100644 index 0000000..99b3538 Binary files /dev/null and b/docs/API/xran__main_8c_a7192955290ca84553d071cedc5ee89cb_cgraph.png differ diff --git a/docs/API/xran__main_8c_a761e3947dcc547008a12a9cca10b1ea0_cgraph.map b/docs/API/xran__main_8c_a761e3947dcc547008a12a9cca10b1ea0_cgraph.map new file mode 100644 index 0000000..e5886ac --- /dev/null +++ b/docs/API/xran__main_8c_a761e3947dcc547008a12a9cca10b1ea0_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/xran__main_8c_a761e3947dcc547008a12a9cca10b1ea0_cgraph.md5 b/docs/API/xran__main_8c_a761e3947dcc547008a12a9cca10b1ea0_cgraph.md5 new file mode 100644 index 0000000..f000963 --- /dev/null +++ b/docs/API/xran__main_8c_a761e3947dcc547008a12a9cca10b1ea0_cgraph.md5 @@ -0,0 +1 @@ +7f8b1af5eebdde8880ceb403da52a896 \ No newline at end of file diff --git a/docs/API/xran__main_8c_a761e3947dcc547008a12a9cca10b1ea0_cgraph.png b/docs/API/xran__main_8c_a761e3947dcc547008a12a9cca10b1ea0_cgraph.png new file mode 100644 index 0000000..cc0b5db Binary files /dev/null and b/docs/API/xran__main_8c_a761e3947dcc547008a12a9cca10b1ea0_cgraph.png differ diff --git a/docs/API/xran__main_8c_a761e3947dcc547008a12a9cca10b1ea0_icgraph.map b/docs/API/xran__main_8c_a761e3947dcc547008a12a9cca10b1ea0_icgraph.map new file mode 100644 index 0000000..706ae1b --- /dev/null +++ b/docs/API/xran__main_8c_a761e3947dcc547008a12a9cca10b1ea0_icgraph.map @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/API/xran__main_8c_a761e3947dcc547008a12a9cca10b1ea0_icgraph.md5 b/docs/API/xran__main_8c_a761e3947dcc547008a12a9cca10b1ea0_icgraph.md5 new file mode 100644 index 0000000..663dcc0 --- /dev/null +++ b/docs/API/xran__main_8c_a761e3947dcc547008a12a9cca10b1ea0_icgraph.md5 @@ -0,0 +1 @@ +1770d5ba873a9007f2f1584f7b8f6044 \ No newline at end of file diff --git a/docs/API/xran__main_8c_a761e3947dcc547008a12a9cca10b1ea0_icgraph.png b/docs/API/xran__main_8c_a761e3947dcc547008a12a9cca10b1ea0_icgraph.png new file mode 100644 index 0000000..b3029d9 Binary files /dev/null and b/docs/API/xran__main_8c_a761e3947dcc547008a12a9cca10b1ea0_icgraph.png differ diff --git a/docs/API/xran__main_8c_a7645422ee7c8d332c29c3a54bf780ca3_cgraph.map b/docs/API/xran__main_8c_a7645422ee7c8d332c29c3a54bf780ca3_cgraph.map new file mode 100644 index 0000000..e57a3ab --- /dev/null +++ b/docs/API/xran__main_8c_a7645422ee7c8d332c29c3a54bf780ca3_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/xran__main_8c_a7645422ee7c8d332c29c3a54bf780ca3_cgraph.md5 b/docs/API/xran__main_8c_a7645422ee7c8d332c29c3a54bf780ca3_cgraph.md5 new file mode 100644 index 0000000..8073a40 --- /dev/null +++ b/docs/API/xran__main_8c_a7645422ee7c8d332c29c3a54bf780ca3_cgraph.md5 @@ -0,0 +1 @@ +6353418bb2021a0afda8a3de5f8e8619 \ No newline at end of file diff --git a/docs/API/xran__main_8c_a7645422ee7c8d332c29c3a54bf780ca3_cgraph.png b/docs/API/xran__main_8c_a7645422ee7c8d332c29c3a54bf780ca3_cgraph.png new file mode 100644 index 0000000..ab87aea Binary files /dev/null and b/docs/API/xran__main_8c_a7645422ee7c8d332c29c3a54bf780ca3_cgraph.png differ diff --git a/docs/API/xran__main_8c_a7645422ee7c8d332c29c3a54bf780ca3_icgraph.map b/docs/API/xran__main_8c_a7645422ee7c8d332c29c3a54bf780ca3_icgraph.map new file mode 100644 index 0000000..7ddbca3 --- /dev/null +++ b/docs/API/xran__main_8c_a7645422ee7c8d332c29c3a54bf780ca3_icgraph.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/API/xran__main_8c_a7645422ee7c8d332c29c3a54bf780ca3_icgraph.md5 b/docs/API/xran__main_8c_a7645422ee7c8d332c29c3a54bf780ca3_icgraph.md5 new file mode 100644 index 0000000..7a4f480 --- /dev/null +++ b/docs/API/xran__main_8c_a7645422ee7c8d332c29c3a54bf780ca3_icgraph.md5 @@ -0,0 +1 @@ +2317692b17fe7847ee7a05221d5ebdb8 \ No newline at end of file diff --git a/docs/API/xran__main_8c_a7645422ee7c8d332c29c3a54bf780ca3_icgraph.png b/docs/API/xran__main_8c_a7645422ee7c8d332c29c3a54bf780ca3_icgraph.png new file mode 100644 index 0000000..03e75cf Binary files /dev/null and b/docs/API/xran__main_8c_a7645422ee7c8d332c29c3a54bf780ca3_icgraph.png differ diff --git a/docs/API/xran__main_8c_a7a3c06a23d41de0038747348be9bb9da_icgraph.map b/docs/API/xran__main_8c_a7a3c06a23d41de0038747348be9bb9da_icgraph.map new file mode 100644 index 0000000..0828b2c --- /dev/null +++ b/docs/API/xran__main_8c_a7a3c06a23d41de0038747348be9bb9da_icgraph.map @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/API/xran__main_8c_a7a3c06a23d41de0038747348be9bb9da_icgraph.md5 b/docs/API/xran__main_8c_a7a3c06a23d41de0038747348be9bb9da_icgraph.md5 new file mode 100644 index 0000000..87689bd --- /dev/null +++ b/docs/API/xran__main_8c_a7a3c06a23d41de0038747348be9bb9da_icgraph.md5 @@ -0,0 +1 @@ +7f62e0d3ab0c8fefdea594fde6489212 \ No newline at end of file diff --git a/docs/API/xran__main_8c_a7a3c06a23d41de0038747348be9bb9da_icgraph.png b/docs/API/xran__main_8c_a7a3c06a23d41de0038747348be9bb9da_icgraph.png new file mode 100644 index 0000000..bfbd5f3 Binary files /dev/null and b/docs/API/xran__main_8c_a7a3c06a23d41de0038747348be9bb9da_icgraph.png differ diff --git a/docs/API/xran__main_8c_a7a412a9cd0ac919dccb2112fb386d64a_cgraph.map b/docs/API/xran__main_8c_a7a412a9cd0ac919dccb2112fb386d64a_cgraph.map new file mode 100644 index 0000000..9d8d537 --- /dev/null +++ b/docs/API/xran__main_8c_a7a412a9cd0ac919dccb2112fb386d64a_cgraph.map @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/docs/API/xran__main_8c_a7a412a9cd0ac919dccb2112fb386d64a_cgraph.md5 b/docs/API/xran__main_8c_a7a412a9cd0ac919dccb2112fb386d64a_cgraph.md5 new file mode 100644 index 0000000..94886c6 --- /dev/null +++ b/docs/API/xran__main_8c_a7a412a9cd0ac919dccb2112fb386d64a_cgraph.md5 @@ -0,0 +1 @@ +8ab8f2f631109fdb724ba387fe151b72 \ No newline at end of file diff --git a/docs/API/xran__main_8c_a7a412a9cd0ac919dccb2112fb386d64a_cgraph.png b/docs/API/xran__main_8c_a7a412a9cd0ac919dccb2112fb386d64a_cgraph.png new file mode 100644 index 0000000..cbeb631 Binary files /dev/null and b/docs/API/xran__main_8c_a7a412a9cd0ac919dccb2112fb386d64a_cgraph.png differ diff --git a/docs/API/xran__main_8c_a7a412a9cd0ac919dccb2112fb386d64a_icgraph.map b/docs/API/xran__main_8c_a7a412a9cd0ac919dccb2112fb386d64a_icgraph.map new file mode 100644 index 0000000..ae0c70f --- /dev/null +++ b/docs/API/xran__main_8c_a7a412a9cd0ac919dccb2112fb386d64a_icgraph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/xran__main_8c_a7a412a9cd0ac919dccb2112fb386d64a_icgraph.md5 b/docs/API/xran__main_8c_a7a412a9cd0ac919dccb2112fb386d64a_icgraph.md5 new file mode 100644 index 0000000..770dbb0 --- /dev/null +++ b/docs/API/xran__main_8c_a7a412a9cd0ac919dccb2112fb386d64a_icgraph.md5 @@ -0,0 +1 @@ +6b0484e81de88630329e01b0b737030b \ No newline at end of file diff --git a/docs/API/xran__main_8c_a7a412a9cd0ac919dccb2112fb386d64a_icgraph.png b/docs/API/xran__main_8c_a7a412a9cd0ac919dccb2112fb386d64a_icgraph.png new file mode 100644 index 0000000..678e90f Binary files /dev/null and b/docs/API/xran__main_8c_a7a412a9cd0ac919dccb2112fb386d64a_icgraph.png differ diff --git a/docs/API/xran__main_8c_a7c54b342a8b4907858f7f0f074ddd79d_icgraph.map b/docs/API/xran__main_8c_a7c54b342a8b4907858f7f0f074ddd79d_icgraph.map new file mode 100644 index 0000000..a724b53 --- /dev/null +++ b/docs/API/xran__main_8c_a7c54b342a8b4907858f7f0f074ddd79d_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/xran__main_8c_a7c54b342a8b4907858f7f0f074ddd79d_icgraph.md5 b/docs/API/xran__main_8c_a7c54b342a8b4907858f7f0f074ddd79d_icgraph.md5 new file mode 100644 index 0000000..1380d4f --- /dev/null +++ b/docs/API/xran__main_8c_a7c54b342a8b4907858f7f0f074ddd79d_icgraph.md5 @@ -0,0 +1 @@ +93a618445464a21cc2ab8b7274fefd4d \ No newline at end of file diff --git a/docs/API/xran__main_8c_a7c54b342a8b4907858f7f0f074ddd79d_icgraph.png b/docs/API/xran__main_8c_a7c54b342a8b4907858f7f0f074ddd79d_icgraph.png new file mode 100644 index 0000000..0a169e8 Binary files /dev/null and b/docs/API/xran__main_8c_a7c54b342a8b4907858f7f0f074ddd79d_icgraph.png differ diff --git a/docs/API/xran__main_8c_a8546e95e2daf30058a66904e7f801723_icgraph.map b/docs/API/xran__main_8c_a8546e95e2daf30058a66904e7f801723_icgraph.map new file mode 100644 index 0000000..2cd1104 --- /dev/null +++ b/docs/API/xran__main_8c_a8546e95e2daf30058a66904e7f801723_icgraph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/API/xran__main_8c_a8546e95e2daf30058a66904e7f801723_icgraph.md5 b/docs/API/xran__main_8c_a8546e95e2daf30058a66904e7f801723_icgraph.md5 new file mode 100644 index 0000000..e50b8e9 --- /dev/null +++ b/docs/API/xran__main_8c_a8546e95e2daf30058a66904e7f801723_icgraph.md5 @@ -0,0 +1 @@ +0ab456a8ffdd7642c7921953e8451ca3 \ No newline at end of file diff --git a/docs/API/xran__main_8c_a8546e95e2daf30058a66904e7f801723_icgraph.png b/docs/API/xran__main_8c_a8546e95e2daf30058a66904e7f801723_icgraph.png new file mode 100644 index 0000000..05eb19e Binary files /dev/null and b/docs/API/xran__main_8c_a8546e95e2daf30058a66904e7f801723_icgraph.png differ diff --git a/docs/API/xran__main_8c_a8f2daee2fe90126f1f7c361b7760a7a3_cgraph.map b/docs/API/xran__main_8c_a8f2daee2fe90126f1f7c361b7760a7a3_cgraph.map new file mode 100644 index 0000000..a83ff70 --- /dev/null +++ b/docs/API/xran__main_8c_a8f2daee2fe90126f1f7c361b7760a7a3_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/xran__main_8c_a8f2daee2fe90126f1f7c361b7760a7a3_cgraph.md5 b/docs/API/xran__main_8c_a8f2daee2fe90126f1f7c361b7760a7a3_cgraph.md5 new file mode 100644 index 0000000..9bc18ca --- /dev/null +++ b/docs/API/xran__main_8c_a8f2daee2fe90126f1f7c361b7760a7a3_cgraph.md5 @@ -0,0 +1 @@ +3589a9b630fac1c44dbe4b5d7e4f99f0 \ No newline at end of file diff --git a/docs/API/xran__main_8c_a8f2daee2fe90126f1f7c361b7760a7a3_cgraph.png b/docs/API/xran__main_8c_a8f2daee2fe90126f1f7c361b7760a7a3_cgraph.png new file mode 100644 index 0000000..55422a4 Binary files /dev/null and b/docs/API/xran__main_8c_a8f2daee2fe90126f1f7c361b7760a7a3_cgraph.png differ diff --git a/docs/API/xran__main_8c_a8f2daee2fe90126f1f7c361b7760a7a3_icgraph.map b/docs/API/xran__main_8c_a8f2daee2fe90126f1f7c361b7760a7a3_icgraph.map new file mode 100644 index 0000000..c4c0645 --- /dev/null +++ b/docs/API/xran__main_8c_a8f2daee2fe90126f1f7c361b7760a7a3_icgraph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/xran__main_8c_a8f2daee2fe90126f1f7c361b7760a7a3_icgraph.md5 b/docs/API/xran__main_8c_a8f2daee2fe90126f1f7c361b7760a7a3_icgraph.md5 new file mode 100644 index 0000000..e5c4b04 --- /dev/null +++ b/docs/API/xran__main_8c_a8f2daee2fe90126f1f7c361b7760a7a3_icgraph.md5 @@ -0,0 +1 @@ +b3ec547c2de5b4c4f5cb39eeefd474f2 \ No newline at end of file diff --git a/docs/API/xran__main_8c_a8f2daee2fe90126f1f7c361b7760a7a3_icgraph.png b/docs/API/xran__main_8c_a8f2daee2fe90126f1f7c361b7760a7a3_icgraph.png new file mode 100644 index 0000000..8f3e078 Binary files /dev/null and b/docs/API/xran__main_8c_a8f2daee2fe90126f1f7c361b7760a7a3_icgraph.png differ diff --git a/docs/API/xran__main_8c_a937105f52446cfcb951e43e1dc3c4d8b_icgraph.map b/docs/API/xran__main_8c_a937105f52446cfcb951e43e1dc3c4d8b_icgraph.map new file mode 100644 index 0000000..410c9ab --- /dev/null +++ b/docs/API/xran__main_8c_a937105f52446cfcb951e43e1dc3c4d8b_icgraph.map @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/API/xran__main_8c_a937105f52446cfcb951e43e1dc3c4d8b_icgraph.md5 b/docs/API/xran__main_8c_a937105f52446cfcb951e43e1dc3c4d8b_icgraph.md5 new file mode 100644 index 0000000..66e258e --- /dev/null +++ b/docs/API/xran__main_8c_a937105f52446cfcb951e43e1dc3c4d8b_icgraph.md5 @@ -0,0 +1 @@ +3e44477e42948f9e6590255a0037a66b \ No newline at end of file diff --git a/docs/API/xran__main_8c_a937105f52446cfcb951e43e1dc3c4d8b_icgraph.png b/docs/API/xran__main_8c_a937105f52446cfcb951e43e1dc3c4d8b_icgraph.png new file mode 100644 index 0000000..fe5f3f2 Binary files /dev/null and b/docs/API/xran__main_8c_a937105f52446cfcb951e43e1dc3c4d8b_icgraph.png differ diff --git a/docs/API/xran__main_8c_a96de765800aa6de0788fc530cbc16825_cgraph.map b/docs/API/xran__main_8c_a96de765800aa6de0788fc530cbc16825_cgraph.map new file mode 100644 index 0000000..7780e47 --- /dev/null +++ b/docs/API/xran__main_8c_a96de765800aa6de0788fc530cbc16825_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/xran__main_8c_a96de765800aa6de0788fc530cbc16825_cgraph.md5 b/docs/API/xran__main_8c_a96de765800aa6de0788fc530cbc16825_cgraph.md5 new file mode 100644 index 0000000..596f51d --- /dev/null +++ b/docs/API/xran__main_8c_a96de765800aa6de0788fc530cbc16825_cgraph.md5 @@ -0,0 +1 @@ +d5c1de94da44e67713534be75fb20f65 \ No newline at end of file diff --git a/docs/API/xran__main_8c_a96de765800aa6de0788fc530cbc16825_cgraph.png b/docs/API/xran__main_8c_a96de765800aa6de0788fc530cbc16825_cgraph.png new file mode 100644 index 0000000..cb47636 Binary files /dev/null and b/docs/API/xran__main_8c_a96de765800aa6de0788fc530cbc16825_cgraph.png differ diff --git a/docs/API/xran__main_8c_a96de765800aa6de0788fc530cbc16825_icgraph.map b/docs/API/xran__main_8c_a96de765800aa6de0788fc530cbc16825_icgraph.map new file mode 100644 index 0000000..c0627b2 --- /dev/null +++ b/docs/API/xran__main_8c_a96de765800aa6de0788fc530cbc16825_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/xran__main_8c_a96de765800aa6de0788fc530cbc16825_icgraph.md5 b/docs/API/xran__main_8c_a96de765800aa6de0788fc530cbc16825_icgraph.md5 new file mode 100644 index 0000000..a81eeca --- /dev/null +++ b/docs/API/xran__main_8c_a96de765800aa6de0788fc530cbc16825_icgraph.md5 @@ -0,0 +1 @@ +52ca2bb2b0bf29e5fb4dbbaa5e85fda2 \ No newline at end of file diff --git a/docs/API/xran__main_8c_a96de765800aa6de0788fc530cbc16825_icgraph.png b/docs/API/xran__main_8c_a96de765800aa6de0788fc530cbc16825_icgraph.png new file mode 100644 index 0000000..4df6e39 Binary files /dev/null and b/docs/API/xran__main_8c_a96de765800aa6de0788fc530cbc16825_icgraph.png differ diff --git a/docs/API/xran__main_8c_a999189549fd6b524b733ddd61f1f9962_icgraph.map b/docs/API/xran__main_8c_a999189549fd6b524b733ddd61f1f9962_icgraph.map new file mode 100644 index 0000000..ea6e47e --- /dev/null +++ b/docs/API/xran__main_8c_a999189549fd6b524b733ddd61f1f9962_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/xran__main_8c_a999189549fd6b524b733ddd61f1f9962_icgraph.md5 b/docs/API/xran__main_8c_a999189549fd6b524b733ddd61f1f9962_icgraph.md5 new file mode 100644 index 0000000..3338644 --- /dev/null +++ b/docs/API/xran__main_8c_a999189549fd6b524b733ddd61f1f9962_icgraph.md5 @@ -0,0 +1 @@ +3f13a5a8836d3b66f6a1ab9db9a3d828 \ No newline at end of file diff --git a/docs/API/xran__main_8c_a999189549fd6b524b733ddd61f1f9962_icgraph.png b/docs/API/xran__main_8c_a999189549fd6b524b733ddd61f1f9962_icgraph.png new file mode 100644 index 0000000..6d391a9 Binary files /dev/null and b/docs/API/xran__main_8c_a999189549fd6b524b733ddd61f1f9962_icgraph.png differ diff --git a/docs/API/xran__main_8c_a9c3700d61ba446fa9b05cca2ca9018ab_cgraph.map b/docs/API/xran__main_8c_a9c3700d61ba446fa9b05cca2ca9018ab_cgraph.map new file mode 100644 index 0000000..5e35be4 --- /dev/null +++ b/docs/API/xran__main_8c_a9c3700d61ba446fa9b05cca2ca9018ab_cgraph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/xran__main_8c_a9c3700d61ba446fa9b05cca2ca9018ab_cgraph.md5 b/docs/API/xran__main_8c_a9c3700d61ba446fa9b05cca2ca9018ab_cgraph.md5 new file mode 100644 index 0000000..bdbe68f --- /dev/null +++ b/docs/API/xran__main_8c_a9c3700d61ba446fa9b05cca2ca9018ab_cgraph.md5 @@ -0,0 +1 @@ +cbf1eb5fd7bc2eb6dc1bad922952f04b \ No newline at end of file diff --git a/docs/API/xran__main_8c_a9c3700d61ba446fa9b05cca2ca9018ab_cgraph.png b/docs/API/xran__main_8c_a9c3700d61ba446fa9b05cca2ca9018ab_cgraph.png new file mode 100644 index 0000000..abb3cc9 Binary files /dev/null and b/docs/API/xran__main_8c_a9c3700d61ba446fa9b05cca2ca9018ab_cgraph.png differ diff --git a/docs/API/xran__main_8c_a9c3700d61ba446fa9b05cca2ca9018ab_icgraph.map b/docs/API/xran__main_8c_a9c3700d61ba446fa9b05cca2ca9018ab_icgraph.map new file mode 100644 index 0000000..a7767cf --- /dev/null +++ b/docs/API/xran__main_8c_a9c3700d61ba446fa9b05cca2ca9018ab_icgraph.map @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/docs/API/xran__main_8c_a9c3700d61ba446fa9b05cca2ca9018ab_icgraph.md5 b/docs/API/xran__main_8c_a9c3700d61ba446fa9b05cca2ca9018ab_icgraph.md5 new file mode 100644 index 0000000..d636ffd --- /dev/null +++ b/docs/API/xran__main_8c_a9c3700d61ba446fa9b05cca2ca9018ab_icgraph.md5 @@ -0,0 +1 @@ +9a9d33c902239697de6be9ac011c33ba \ No newline at end of file diff --git a/docs/API/xran__main_8c_a9c3700d61ba446fa9b05cca2ca9018ab_icgraph.png b/docs/API/xran__main_8c_a9c3700d61ba446fa9b05cca2ca9018ab_icgraph.png new file mode 100644 index 0000000..2b07504 Binary files /dev/null and b/docs/API/xran__main_8c_a9c3700d61ba446fa9b05cca2ca9018ab_icgraph.png differ diff --git a/docs/API/xran__main_8c_aa09e72e94d2a1d891e86f4c09b0f8b21_icgraph.map b/docs/API/xran__main_8c_aa09e72e94d2a1d891e86f4c09b0f8b21_icgraph.map new file mode 100644 index 0000000..eb8bc61 --- /dev/null +++ b/docs/API/xran__main_8c_aa09e72e94d2a1d891e86f4c09b0f8b21_icgraph.map @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/API/xran__main_8c_aa09e72e94d2a1d891e86f4c09b0f8b21_icgraph.md5 b/docs/API/xran__main_8c_aa09e72e94d2a1d891e86f4c09b0f8b21_icgraph.md5 new file mode 100644 index 0000000..23a4b19 --- /dev/null +++ b/docs/API/xran__main_8c_aa09e72e94d2a1d891e86f4c09b0f8b21_icgraph.md5 @@ -0,0 +1 @@ +9a3fb5b21b9792fe7a187160da3a8beb \ No newline at end of file diff --git a/docs/API/xran__main_8c_aa09e72e94d2a1d891e86f4c09b0f8b21_icgraph.png b/docs/API/xran__main_8c_aa09e72e94d2a1d891e86f4c09b0f8b21_icgraph.png new file mode 100644 index 0000000..1a4796b Binary files /dev/null and b/docs/API/xran__main_8c_aa09e72e94d2a1d891e86f4c09b0f8b21_icgraph.png differ diff --git a/docs/API/xran__main_8c_aaf7b03037e0687819501554a42fb3c52_icgraph.map b/docs/API/xran__main_8c_aaf7b03037e0687819501554a42fb3c52_icgraph.map new file mode 100644 index 0000000..1f134d1 --- /dev/null +++ b/docs/API/xran__main_8c_aaf7b03037e0687819501554a42fb3c52_icgraph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/API/xran__main_8c_aaf7b03037e0687819501554a42fb3c52_icgraph.md5 b/docs/API/xran__main_8c_aaf7b03037e0687819501554a42fb3c52_icgraph.md5 new file mode 100644 index 0000000..3b91276 --- /dev/null +++ b/docs/API/xran__main_8c_aaf7b03037e0687819501554a42fb3c52_icgraph.md5 @@ -0,0 +1 @@ +b6e5a59a766bc4905aeef0ca870f254a \ No newline at end of file diff --git a/docs/API/xran__main_8c_aaf7b03037e0687819501554a42fb3c52_icgraph.png b/docs/API/xran__main_8c_aaf7b03037e0687819501554a42fb3c52_icgraph.png new file mode 100644 index 0000000..eec72ca Binary files /dev/null and b/docs/API/xran__main_8c_aaf7b03037e0687819501554a42fb3c52_icgraph.png differ diff --git a/docs/API/xran__main_8c_ab204e979de14c21d34e9b88c6c700d25_cgraph.map b/docs/API/xran__main_8c_ab204e979de14c21d34e9b88c6c700d25_cgraph.map new file mode 100644 index 0000000..dd77933 --- /dev/null +++ b/docs/API/xran__main_8c_ab204e979de14c21d34e9b88c6c700d25_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/xran__main_8c_ab204e979de14c21d34e9b88c6c700d25_cgraph.md5 b/docs/API/xran__main_8c_ab204e979de14c21d34e9b88c6c700d25_cgraph.md5 new file mode 100644 index 0000000..082f55a --- /dev/null +++ b/docs/API/xran__main_8c_ab204e979de14c21d34e9b88c6c700d25_cgraph.md5 @@ -0,0 +1 @@ +b9b7621c2bdc289ae15b211f1810f54a \ No newline at end of file diff --git a/docs/API/xran__main_8c_ab204e979de14c21d34e9b88c6c700d25_cgraph.png b/docs/API/xran__main_8c_ab204e979de14c21d34e9b88c6c700d25_cgraph.png new file mode 100644 index 0000000..505201c Binary files /dev/null and b/docs/API/xran__main_8c_ab204e979de14c21d34e9b88c6c700d25_cgraph.png differ diff --git a/docs/API/xran__main_8c_ab204e979de14c21d34e9b88c6c700d25_icgraph.map b/docs/API/xran__main_8c_ab204e979de14c21d34e9b88c6c700d25_icgraph.map new file mode 100644 index 0000000..cdabd54 --- /dev/null +++ b/docs/API/xran__main_8c_ab204e979de14c21d34e9b88c6c700d25_icgraph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/API/xran__main_8c_ab204e979de14c21d34e9b88c6c700d25_icgraph.md5 b/docs/API/xran__main_8c_ab204e979de14c21d34e9b88c6c700d25_icgraph.md5 new file mode 100644 index 0000000..030dab0 --- /dev/null +++ b/docs/API/xran__main_8c_ab204e979de14c21d34e9b88c6c700d25_icgraph.md5 @@ -0,0 +1 @@ +7fcc61f6f7df12b58db3a0730218d160 \ No newline at end of file diff --git a/docs/API/xran__main_8c_ab204e979de14c21d34e9b88c6c700d25_icgraph.png b/docs/API/xran__main_8c_ab204e979de14c21d34e9b88c6c700d25_icgraph.png new file mode 100644 index 0000000..fd55512 Binary files /dev/null and b/docs/API/xran__main_8c_ab204e979de14c21d34e9b88c6c700d25_icgraph.png differ diff --git a/docs/API/xran__main_8c_ab26e37a9d8915b33e29d632af88ff3a3_cgraph.map b/docs/API/xran__main_8c_ab26e37a9d8915b33e29d632af88ff3a3_cgraph.map new file mode 100644 index 0000000..d0f5acc --- /dev/null +++ b/docs/API/xran__main_8c_ab26e37a9d8915b33e29d632af88ff3a3_cgraph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/API/xran__main_8c_ab26e37a9d8915b33e29d632af88ff3a3_cgraph.md5 b/docs/API/xran__main_8c_ab26e37a9d8915b33e29d632af88ff3a3_cgraph.md5 new file mode 100644 index 0000000..9d66309 --- /dev/null +++ b/docs/API/xran__main_8c_ab26e37a9d8915b33e29d632af88ff3a3_cgraph.md5 @@ -0,0 +1 @@ +aa8b2c98cc98407bb941a5ae95b4e95f \ No newline at end of file diff --git a/docs/API/xran__main_8c_ab26e37a9d8915b33e29d632af88ff3a3_cgraph.png b/docs/API/xran__main_8c_ab26e37a9d8915b33e29d632af88ff3a3_cgraph.png new file mode 100644 index 0000000..036ea98 Binary files /dev/null and b/docs/API/xran__main_8c_ab26e37a9d8915b33e29d632af88ff3a3_cgraph.png differ diff --git a/docs/API/xran__main_8c_ab26e37a9d8915b33e29d632af88ff3a3_icgraph.map b/docs/API/xran__main_8c_ab26e37a9d8915b33e29d632af88ff3a3_icgraph.map new file mode 100644 index 0000000..ca89df7 --- /dev/null +++ b/docs/API/xran__main_8c_ab26e37a9d8915b33e29d632af88ff3a3_icgraph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/xran__main_8c_ab26e37a9d8915b33e29d632af88ff3a3_icgraph.md5 b/docs/API/xran__main_8c_ab26e37a9d8915b33e29d632af88ff3a3_icgraph.md5 new file mode 100644 index 0000000..4a37531 --- /dev/null +++ b/docs/API/xran__main_8c_ab26e37a9d8915b33e29d632af88ff3a3_icgraph.md5 @@ -0,0 +1 @@ +6f24099bbf88cbe86a38154ed281097e \ No newline at end of file diff --git a/docs/API/xran__main_8c_ab26e37a9d8915b33e29d632af88ff3a3_icgraph.png b/docs/API/xran__main_8c_ab26e37a9d8915b33e29d632af88ff3a3_icgraph.png new file mode 100644 index 0000000..43be5e2 Binary files /dev/null and b/docs/API/xran__main_8c_ab26e37a9d8915b33e29d632af88ff3a3_icgraph.png differ diff --git a/docs/API/xran__main_8c_ab39a5770374d16662d62a85504a11930_icgraph.map b/docs/API/xran__main_8c_ab39a5770374d16662d62a85504a11930_icgraph.map new file mode 100644 index 0000000..deef8f4 --- /dev/null +++ b/docs/API/xran__main_8c_ab39a5770374d16662d62a85504a11930_icgraph.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/API/xran__main_8c_ab39a5770374d16662d62a85504a11930_icgraph.md5 b/docs/API/xran__main_8c_ab39a5770374d16662d62a85504a11930_icgraph.md5 new file mode 100644 index 0000000..13e7b8a --- /dev/null +++ b/docs/API/xran__main_8c_ab39a5770374d16662d62a85504a11930_icgraph.md5 @@ -0,0 +1 @@ +d152e05b6d347b0606de61bb7f7fe032 \ No newline at end of file diff --git a/docs/API/xran__main_8c_ab39a5770374d16662d62a85504a11930_icgraph.png b/docs/API/xran__main_8c_ab39a5770374d16662d62a85504a11930_icgraph.png new file mode 100644 index 0000000..9b09699 Binary files /dev/null and b/docs/API/xran__main_8c_ab39a5770374d16662d62a85504a11930_icgraph.png differ diff --git a/docs/API/xran__main_8c_ac153c5a3e3f4f64ab0fafca6f593c380_icgraph.map b/docs/API/xran__main_8c_ac153c5a3e3f4f64ab0fafca6f593c380_icgraph.map new file mode 100644 index 0000000..1e3d371 --- /dev/null +++ b/docs/API/xran__main_8c_ac153c5a3e3f4f64ab0fafca6f593c380_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/xran__main_8c_ac153c5a3e3f4f64ab0fafca6f593c380_icgraph.md5 b/docs/API/xran__main_8c_ac153c5a3e3f4f64ab0fafca6f593c380_icgraph.md5 new file mode 100644 index 0000000..4c3045f --- /dev/null +++ b/docs/API/xran__main_8c_ac153c5a3e3f4f64ab0fafca6f593c380_icgraph.md5 @@ -0,0 +1 @@ +29f9833352845e9e27c8a47bb42e4cd6 \ No newline at end of file diff --git a/docs/API/xran__main_8c_ac153c5a3e3f4f64ab0fafca6f593c380_icgraph.png b/docs/API/xran__main_8c_ac153c5a3e3f4f64ab0fafca6f593c380_icgraph.png new file mode 100644 index 0000000..125733c Binary files /dev/null and b/docs/API/xran__main_8c_ac153c5a3e3f4f64ab0fafca6f593c380_icgraph.png differ diff --git a/docs/API/xran__main_8c_ac5201df2d161091f7319ff2f57432823_cgraph.map b/docs/API/xran__main_8c_ac5201df2d161091f7319ff2f57432823_cgraph.map new file mode 100644 index 0000000..def5041 --- /dev/null +++ b/docs/API/xran__main_8c_ac5201df2d161091f7319ff2f57432823_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/xran__main_8c_ac5201df2d161091f7319ff2f57432823_cgraph.md5 b/docs/API/xran__main_8c_ac5201df2d161091f7319ff2f57432823_cgraph.md5 new file mode 100644 index 0000000..f1d77d4 --- /dev/null +++ b/docs/API/xran__main_8c_ac5201df2d161091f7319ff2f57432823_cgraph.md5 @@ -0,0 +1 @@ +00b644d2550b7c2f616d38c4e9625b1d \ No newline at end of file diff --git a/docs/API/xran__main_8c_ac5201df2d161091f7319ff2f57432823_cgraph.png b/docs/API/xran__main_8c_ac5201df2d161091f7319ff2f57432823_cgraph.png new file mode 100644 index 0000000..b1fbec2 Binary files /dev/null and b/docs/API/xran__main_8c_ac5201df2d161091f7319ff2f57432823_cgraph.png differ diff --git a/docs/API/xran__main_8c_ac5201df2d161091f7319ff2f57432823_icgraph.map b/docs/API/xran__main_8c_ac5201df2d161091f7319ff2f57432823_icgraph.map new file mode 100644 index 0000000..a0a5b94 --- /dev/null +++ b/docs/API/xran__main_8c_ac5201df2d161091f7319ff2f57432823_icgraph.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/API/xran__main_8c_ac5201df2d161091f7319ff2f57432823_icgraph.md5 b/docs/API/xran__main_8c_ac5201df2d161091f7319ff2f57432823_icgraph.md5 new file mode 100644 index 0000000..57c1fc1 --- /dev/null +++ b/docs/API/xran__main_8c_ac5201df2d161091f7319ff2f57432823_icgraph.md5 @@ -0,0 +1 @@ +1dd6c2570c81717e8fd3d1ac1b532ba5 \ No newline at end of file diff --git a/docs/API/xran__main_8c_ac5201df2d161091f7319ff2f57432823_icgraph.png b/docs/API/xran__main_8c_ac5201df2d161091f7319ff2f57432823_icgraph.png new file mode 100644 index 0000000..5d71965 Binary files /dev/null and b/docs/API/xran__main_8c_ac5201df2d161091f7319ff2f57432823_icgraph.png differ diff --git a/docs/API/xran__main_8c_ac94e2474beef3b68521cfd391211b1be_cgraph.map b/docs/API/xran__main_8c_ac94e2474beef3b68521cfd391211b1be_cgraph.map new file mode 100644 index 0000000..982166a --- /dev/null +++ b/docs/API/xran__main_8c_ac94e2474beef3b68521cfd391211b1be_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/xran__main_8c_ac94e2474beef3b68521cfd391211b1be_cgraph.md5 b/docs/API/xran__main_8c_ac94e2474beef3b68521cfd391211b1be_cgraph.md5 new file mode 100644 index 0000000..1355dc0 --- /dev/null +++ b/docs/API/xran__main_8c_ac94e2474beef3b68521cfd391211b1be_cgraph.md5 @@ -0,0 +1 @@ +df5ac48328ad94b9539d9326b01b285f \ No newline at end of file diff --git a/docs/API/xran__main_8c_ac94e2474beef3b68521cfd391211b1be_cgraph.png b/docs/API/xran__main_8c_ac94e2474beef3b68521cfd391211b1be_cgraph.png new file mode 100644 index 0000000..2718268 Binary files /dev/null and b/docs/API/xran__main_8c_ac94e2474beef3b68521cfd391211b1be_cgraph.png differ diff --git a/docs/API/xran__main_8c_ac94e2474beef3b68521cfd391211b1be_icgraph.map b/docs/API/xran__main_8c_ac94e2474beef3b68521cfd391211b1be_icgraph.map new file mode 100644 index 0000000..97da8e3 --- /dev/null +++ b/docs/API/xran__main_8c_ac94e2474beef3b68521cfd391211b1be_icgraph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/API/xran__main_8c_ac94e2474beef3b68521cfd391211b1be_icgraph.md5 b/docs/API/xran__main_8c_ac94e2474beef3b68521cfd391211b1be_icgraph.md5 new file mode 100644 index 0000000..4ccedd8 --- /dev/null +++ b/docs/API/xran__main_8c_ac94e2474beef3b68521cfd391211b1be_icgraph.md5 @@ -0,0 +1 @@ +c4e714433f7adb7baf8ad254f9aff258 \ No newline at end of file diff --git a/docs/API/xran__main_8c_ac94e2474beef3b68521cfd391211b1be_icgraph.png b/docs/API/xran__main_8c_ac94e2474beef3b68521cfd391211b1be_icgraph.png new file mode 100644 index 0000000..e19272b Binary files /dev/null and b/docs/API/xran__main_8c_ac94e2474beef3b68521cfd391211b1be_icgraph.png differ diff --git a/docs/API/xran__main_8c_acb5dd6ae5569cb3090d441c800068244_icgraph.map b/docs/API/xran__main_8c_acb5dd6ae5569cb3090d441c800068244_icgraph.map new file mode 100644 index 0000000..33612ff --- /dev/null +++ b/docs/API/xran__main_8c_acb5dd6ae5569cb3090d441c800068244_icgraph.map @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/API/xran__main_8c_acb5dd6ae5569cb3090d441c800068244_icgraph.md5 b/docs/API/xran__main_8c_acb5dd6ae5569cb3090d441c800068244_icgraph.md5 new file mode 100644 index 0000000..35fb769 --- /dev/null +++ b/docs/API/xran__main_8c_acb5dd6ae5569cb3090d441c800068244_icgraph.md5 @@ -0,0 +1 @@ +ccfdfc96ede2b09784d9029495dbf77c \ No newline at end of file diff --git a/docs/API/xran__main_8c_acb5dd6ae5569cb3090d441c800068244_icgraph.png b/docs/API/xran__main_8c_acb5dd6ae5569cb3090d441c800068244_icgraph.png new file mode 100644 index 0000000..c8f9c76 Binary files /dev/null and b/docs/API/xran__main_8c_acb5dd6ae5569cb3090d441c800068244_icgraph.png differ diff --git a/docs/API/xran__main_8c_acb6ecf7858c99c963182b9b7884deca6_cgraph.map b/docs/API/xran__main_8c_acb6ecf7858c99c963182b9b7884deca6_cgraph.map new file mode 100644 index 0000000..b705775 --- /dev/null +++ b/docs/API/xran__main_8c_acb6ecf7858c99c963182b9b7884deca6_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/xran__main_8c_acb6ecf7858c99c963182b9b7884deca6_cgraph.md5 b/docs/API/xran__main_8c_acb6ecf7858c99c963182b9b7884deca6_cgraph.md5 new file mode 100644 index 0000000..bffa82b --- /dev/null +++ b/docs/API/xran__main_8c_acb6ecf7858c99c963182b9b7884deca6_cgraph.md5 @@ -0,0 +1 @@ +0091861355635121717a8c59408348dd \ No newline at end of file diff --git a/docs/API/xran__main_8c_acb6ecf7858c99c963182b9b7884deca6_cgraph.png b/docs/API/xran__main_8c_acb6ecf7858c99c963182b9b7884deca6_cgraph.png new file mode 100644 index 0000000..3e02eaf Binary files /dev/null and b/docs/API/xran__main_8c_acb6ecf7858c99c963182b9b7884deca6_cgraph.png differ diff --git a/docs/API/xran__main_8c_acb6ecf7858c99c963182b9b7884deca6_icgraph.map b/docs/API/xran__main_8c_acb6ecf7858c99c963182b9b7884deca6_icgraph.map new file mode 100644 index 0000000..769d56d --- /dev/null +++ b/docs/API/xran__main_8c_acb6ecf7858c99c963182b9b7884deca6_icgraph.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/API/xran__main_8c_acb6ecf7858c99c963182b9b7884deca6_icgraph.md5 b/docs/API/xran__main_8c_acb6ecf7858c99c963182b9b7884deca6_icgraph.md5 new file mode 100644 index 0000000..ef02069 --- /dev/null +++ b/docs/API/xran__main_8c_acb6ecf7858c99c963182b9b7884deca6_icgraph.md5 @@ -0,0 +1 @@ +840a1ae0e7852aafd327268ad0d84f95 \ No newline at end of file diff --git a/docs/API/xran__main_8c_acb6ecf7858c99c963182b9b7884deca6_icgraph.png b/docs/API/xran__main_8c_acb6ecf7858c99c963182b9b7884deca6_icgraph.png new file mode 100644 index 0000000..0d33481 Binary files /dev/null and b/docs/API/xran__main_8c_acb6ecf7858c99c963182b9b7884deca6_icgraph.png differ diff --git a/docs/API/xran__main_8c_acdd1d3179a2ecc831b45df3ac4ee230c_icgraph.map b/docs/API/xran__main_8c_acdd1d3179a2ecc831b45df3ac4ee230c_icgraph.map new file mode 100644 index 0000000..22b7b5b --- /dev/null +++ b/docs/API/xran__main_8c_acdd1d3179a2ecc831b45df3ac4ee230c_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/xran__main_8c_acdd1d3179a2ecc831b45df3ac4ee230c_icgraph.md5 b/docs/API/xran__main_8c_acdd1d3179a2ecc831b45df3ac4ee230c_icgraph.md5 new file mode 100644 index 0000000..9952107 --- /dev/null +++ b/docs/API/xran__main_8c_acdd1d3179a2ecc831b45df3ac4ee230c_icgraph.md5 @@ -0,0 +1 @@ +cf541c3ddb1882a7a99763bbdfe84bb1 \ No newline at end of file diff --git a/docs/API/xran__main_8c_acdd1d3179a2ecc831b45df3ac4ee230c_icgraph.png b/docs/API/xran__main_8c_acdd1d3179a2ecc831b45df3ac4ee230c_icgraph.png new file mode 100644 index 0000000..8f89558 Binary files /dev/null and b/docs/API/xran__main_8c_acdd1d3179a2ecc831b45df3ac4ee230c_icgraph.png differ diff --git a/docs/API/xran__main_8c_ad1ada9c5c57979c50f1a17a9050b8f3a_cgraph.map b/docs/API/xran__main_8c_ad1ada9c5c57979c50f1a17a9050b8f3a_cgraph.map new file mode 100644 index 0000000..df4c8d3 --- /dev/null +++ b/docs/API/xran__main_8c_ad1ada9c5c57979c50f1a17a9050b8f3a_cgraph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/xran__main_8c_ad1ada9c5c57979c50f1a17a9050b8f3a_cgraph.md5 b/docs/API/xran__main_8c_ad1ada9c5c57979c50f1a17a9050b8f3a_cgraph.md5 new file mode 100644 index 0000000..0bf3553 --- /dev/null +++ b/docs/API/xran__main_8c_ad1ada9c5c57979c50f1a17a9050b8f3a_cgraph.md5 @@ -0,0 +1 @@ +fc13511f63adc44b929fa7747ae0aace \ No newline at end of file diff --git a/docs/API/xran__main_8c_ad1ada9c5c57979c50f1a17a9050b8f3a_cgraph.png b/docs/API/xran__main_8c_ad1ada9c5c57979c50f1a17a9050b8f3a_cgraph.png new file mode 100644 index 0000000..e72d9f3 Binary files /dev/null and b/docs/API/xran__main_8c_ad1ada9c5c57979c50f1a17a9050b8f3a_cgraph.png differ diff --git a/docs/API/xran__main_8c_ad1ada9c5c57979c50f1a17a9050b8f3a_icgraph.map b/docs/API/xran__main_8c_ad1ada9c5c57979c50f1a17a9050b8f3a_icgraph.map new file mode 100644 index 0000000..c80ce7d --- /dev/null +++ b/docs/API/xran__main_8c_ad1ada9c5c57979c50f1a17a9050b8f3a_icgraph.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/API/xran__main_8c_ad1ada9c5c57979c50f1a17a9050b8f3a_icgraph.md5 b/docs/API/xran__main_8c_ad1ada9c5c57979c50f1a17a9050b8f3a_icgraph.md5 new file mode 100644 index 0000000..0140305 --- /dev/null +++ b/docs/API/xran__main_8c_ad1ada9c5c57979c50f1a17a9050b8f3a_icgraph.md5 @@ -0,0 +1 @@ +0e009e38e801721dc55c5b8373618b4c \ No newline at end of file diff --git a/docs/API/xran__main_8c_ad1ada9c5c57979c50f1a17a9050b8f3a_icgraph.png b/docs/API/xran__main_8c_ad1ada9c5c57979c50f1a17a9050b8f3a_icgraph.png new file mode 100644 index 0000000..85a3467 Binary files /dev/null and b/docs/API/xran__main_8c_ad1ada9c5c57979c50f1a17a9050b8f3a_icgraph.png differ diff --git a/docs/API/xran__main_8c_ad2506f0edcccb4fbdc5b41b03270a1af_cgraph.map b/docs/API/xran__main_8c_ad2506f0edcccb4fbdc5b41b03270a1af_cgraph.map new file mode 100644 index 0000000..6510efa --- /dev/null +++ b/docs/API/xran__main_8c_ad2506f0edcccb4fbdc5b41b03270a1af_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/xran__main_8c_ad2506f0edcccb4fbdc5b41b03270a1af_cgraph.md5 b/docs/API/xran__main_8c_ad2506f0edcccb4fbdc5b41b03270a1af_cgraph.md5 new file mode 100644 index 0000000..2cc05c0 --- /dev/null +++ b/docs/API/xran__main_8c_ad2506f0edcccb4fbdc5b41b03270a1af_cgraph.md5 @@ -0,0 +1 @@ +1f3a63b40d77589ae16ca0bb06bca138 \ No newline at end of file diff --git a/docs/API/xran__main_8c_ad2506f0edcccb4fbdc5b41b03270a1af_cgraph.png b/docs/API/xran__main_8c_ad2506f0edcccb4fbdc5b41b03270a1af_cgraph.png new file mode 100644 index 0000000..b17d729 Binary files /dev/null and b/docs/API/xran__main_8c_ad2506f0edcccb4fbdc5b41b03270a1af_cgraph.png differ diff --git a/docs/API/xran__main_8c_ad4544f4d6f4713c010f083bce5758d14_cgraph.map b/docs/API/xran__main_8c_ad4544f4d6f4713c010f083bce5758d14_cgraph.map new file mode 100644 index 0000000..073d1ad --- /dev/null +++ b/docs/API/xran__main_8c_ad4544f4d6f4713c010f083bce5758d14_cgraph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/API/xran__main_8c_ad4544f4d6f4713c010f083bce5758d14_cgraph.md5 b/docs/API/xran__main_8c_ad4544f4d6f4713c010f083bce5758d14_cgraph.md5 new file mode 100644 index 0000000..5d2ad91 --- /dev/null +++ b/docs/API/xran__main_8c_ad4544f4d6f4713c010f083bce5758d14_cgraph.md5 @@ -0,0 +1 @@ +5225017c273adb54215bd75a852cc81f \ No newline at end of file diff --git a/docs/API/xran__main_8c_ad4544f4d6f4713c010f083bce5758d14_cgraph.png b/docs/API/xran__main_8c_ad4544f4d6f4713c010f083bce5758d14_cgraph.png new file mode 100644 index 0000000..58c47f0 Binary files /dev/null and b/docs/API/xran__main_8c_ad4544f4d6f4713c010f083bce5758d14_cgraph.png differ diff --git a/docs/API/xran__main_8c_ad4852c0827600db95f9841e2f5f9f6f1_cgraph.map b/docs/API/xran__main_8c_ad4852c0827600db95f9841e2f5f9f6f1_cgraph.map new file mode 100644 index 0000000..b605b01 --- /dev/null +++ b/docs/API/xran__main_8c_ad4852c0827600db95f9841e2f5f9f6f1_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/xran__main_8c_ad4852c0827600db95f9841e2f5f9f6f1_cgraph.md5 b/docs/API/xran__main_8c_ad4852c0827600db95f9841e2f5f9f6f1_cgraph.md5 new file mode 100644 index 0000000..a58a407 --- /dev/null +++ b/docs/API/xran__main_8c_ad4852c0827600db95f9841e2f5f9f6f1_cgraph.md5 @@ -0,0 +1 @@ +b3a321382024f2be6d90dd1548e9ef00 \ No newline at end of file diff --git a/docs/API/xran__main_8c_ad4852c0827600db95f9841e2f5f9f6f1_cgraph.png b/docs/API/xran__main_8c_ad4852c0827600db95f9841e2f5f9f6f1_cgraph.png new file mode 100644 index 0000000..f82374f Binary files /dev/null and b/docs/API/xran__main_8c_ad4852c0827600db95f9841e2f5f9f6f1_cgraph.png differ diff --git a/docs/API/xran__main_8c_ad4852c0827600db95f9841e2f5f9f6f1_icgraph.map b/docs/API/xran__main_8c_ad4852c0827600db95f9841e2f5f9f6f1_icgraph.map new file mode 100644 index 0000000..b82601c --- /dev/null +++ b/docs/API/xran__main_8c_ad4852c0827600db95f9841e2f5f9f6f1_icgraph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/xran__main_8c_ad4852c0827600db95f9841e2f5f9f6f1_icgraph.md5 b/docs/API/xran__main_8c_ad4852c0827600db95f9841e2f5f9f6f1_icgraph.md5 new file mode 100644 index 0000000..257ddb5 --- /dev/null +++ b/docs/API/xran__main_8c_ad4852c0827600db95f9841e2f5f9f6f1_icgraph.md5 @@ -0,0 +1 @@ +a358a154988847be2ac5fa0929130ae6 \ No newline at end of file diff --git a/docs/API/xran__main_8c_ad4852c0827600db95f9841e2f5f9f6f1_icgraph.png b/docs/API/xran__main_8c_ad4852c0827600db95f9841e2f5f9f6f1_icgraph.png new file mode 100644 index 0000000..7b1a26a Binary files /dev/null and b/docs/API/xran__main_8c_ad4852c0827600db95f9841e2f5f9f6f1_icgraph.png differ diff --git a/docs/API/xran__main_8c_ad51ee5b7f1f27c770f1eb658b5ee523e_icgraph.map b/docs/API/xran__main_8c_ad51ee5b7f1f27c770f1eb658b5ee523e_icgraph.map new file mode 100644 index 0000000..b3ee47a --- /dev/null +++ b/docs/API/xran__main_8c_ad51ee5b7f1f27c770f1eb658b5ee523e_icgraph.map @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/docs/API/xran__main_8c_ad51ee5b7f1f27c770f1eb658b5ee523e_icgraph.md5 b/docs/API/xran__main_8c_ad51ee5b7f1f27c770f1eb658b5ee523e_icgraph.md5 new file mode 100644 index 0000000..24aa0bc --- /dev/null +++ b/docs/API/xran__main_8c_ad51ee5b7f1f27c770f1eb658b5ee523e_icgraph.md5 @@ -0,0 +1 @@ +6506ce7f6a12eb007486899beb792bfe \ No newline at end of file diff --git a/docs/API/xran__main_8c_ad51ee5b7f1f27c770f1eb658b5ee523e_icgraph.png b/docs/API/xran__main_8c_ad51ee5b7f1f27c770f1eb658b5ee523e_icgraph.png new file mode 100644 index 0000000..262cb5d Binary files /dev/null and b/docs/API/xran__main_8c_ad51ee5b7f1f27c770f1eb658b5ee523e_icgraph.png differ diff --git a/docs/API/xran__main_8c_ad749041bcf50616bac96e4d13b661272_cgraph.map b/docs/API/xran__main_8c_ad749041bcf50616bac96e4d13b661272_cgraph.map new file mode 100644 index 0000000..0eded88 --- /dev/null +++ b/docs/API/xran__main_8c_ad749041bcf50616bac96e4d13b661272_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/xran__main_8c_ad749041bcf50616bac96e4d13b661272_cgraph.md5 b/docs/API/xran__main_8c_ad749041bcf50616bac96e4d13b661272_cgraph.md5 new file mode 100644 index 0000000..d65d9ab --- /dev/null +++ b/docs/API/xran__main_8c_ad749041bcf50616bac96e4d13b661272_cgraph.md5 @@ -0,0 +1 @@ +21eafe5077cc95faeff3aad2aa44f71b \ No newline at end of file diff --git a/docs/API/xran__main_8c_ad749041bcf50616bac96e4d13b661272_cgraph.png b/docs/API/xran__main_8c_ad749041bcf50616bac96e4d13b661272_cgraph.png new file mode 100644 index 0000000..d85e245 Binary files /dev/null and b/docs/API/xran__main_8c_ad749041bcf50616bac96e4d13b661272_cgraph.png differ diff --git a/docs/API/xran__main_8c_ad749041bcf50616bac96e4d13b661272_icgraph.map b/docs/API/xran__main_8c_ad749041bcf50616bac96e4d13b661272_icgraph.map new file mode 100644 index 0000000..3560f6a --- /dev/null +++ b/docs/API/xran__main_8c_ad749041bcf50616bac96e4d13b661272_icgraph.map @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/docs/API/xran__main_8c_ad749041bcf50616bac96e4d13b661272_icgraph.md5 b/docs/API/xran__main_8c_ad749041bcf50616bac96e4d13b661272_icgraph.md5 new file mode 100644 index 0000000..f5a7bbc --- /dev/null +++ b/docs/API/xran__main_8c_ad749041bcf50616bac96e4d13b661272_icgraph.md5 @@ -0,0 +1 @@ +37e681283bf833bca9d217d7be67ecc3 \ No newline at end of file diff --git a/docs/API/xran__main_8c_ad749041bcf50616bac96e4d13b661272_icgraph.png b/docs/API/xran__main_8c_ad749041bcf50616bac96e4d13b661272_icgraph.png new file mode 100644 index 0000000..3584a18 Binary files /dev/null and b/docs/API/xran__main_8c_ad749041bcf50616bac96e4d13b661272_icgraph.png differ diff --git a/docs/API/xran__main_8c_ada345a8a99480787d4274a342aa39535_icgraph.map b/docs/API/xran__main_8c_ada345a8a99480787d4274a342aa39535_icgraph.map new file mode 100644 index 0000000..f6c865e --- /dev/null +++ b/docs/API/xran__main_8c_ada345a8a99480787d4274a342aa39535_icgraph.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/API/xran__main_8c_ada345a8a99480787d4274a342aa39535_icgraph.md5 b/docs/API/xran__main_8c_ada345a8a99480787d4274a342aa39535_icgraph.md5 new file mode 100644 index 0000000..f7d40b3 --- /dev/null +++ b/docs/API/xran__main_8c_ada345a8a99480787d4274a342aa39535_icgraph.md5 @@ -0,0 +1 @@ +9dc25ec3ac23e226d53e187fade452ba \ No newline at end of file diff --git a/docs/API/xran__main_8c_ada345a8a99480787d4274a342aa39535_icgraph.png b/docs/API/xran__main_8c_ada345a8a99480787d4274a342aa39535_icgraph.png new file mode 100644 index 0000000..198b65a Binary files /dev/null and b/docs/API/xran__main_8c_ada345a8a99480787d4274a342aa39535_icgraph.png differ diff --git a/docs/API/xran__main_8c_adbe808fba48ef1390180fb1bdc68c1d7_cgraph.map b/docs/API/xran__main_8c_adbe808fba48ef1390180fb1bdc68c1d7_cgraph.map new file mode 100644 index 0000000..d5dee67 --- /dev/null +++ b/docs/API/xran__main_8c_adbe808fba48ef1390180fb1bdc68c1d7_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/xran__main_8c_adbe808fba48ef1390180fb1bdc68c1d7_cgraph.md5 b/docs/API/xran__main_8c_adbe808fba48ef1390180fb1bdc68c1d7_cgraph.md5 new file mode 100644 index 0000000..a07d89e --- /dev/null +++ b/docs/API/xran__main_8c_adbe808fba48ef1390180fb1bdc68c1d7_cgraph.md5 @@ -0,0 +1 @@ +de9949bb7b6aa8ac42e387ba3042ffd5 \ No newline at end of file diff --git a/docs/API/xran__main_8c_adbe808fba48ef1390180fb1bdc68c1d7_cgraph.png b/docs/API/xran__main_8c_adbe808fba48ef1390180fb1bdc68c1d7_cgraph.png new file mode 100644 index 0000000..89df799 Binary files /dev/null and b/docs/API/xran__main_8c_adbe808fba48ef1390180fb1bdc68c1d7_cgraph.png differ diff --git a/docs/API/xran__main_8c_adfcabe4091a4782ecb9ca029314c99ca_cgraph.map b/docs/API/xran__main_8c_adfcabe4091a4782ecb9ca029314c99ca_cgraph.map new file mode 100644 index 0000000..25c0f90 --- /dev/null +++ b/docs/API/xran__main_8c_adfcabe4091a4782ecb9ca029314c99ca_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/xran__main_8c_adfcabe4091a4782ecb9ca029314c99ca_cgraph.md5 b/docs/API/xran__main_8c_adfcabe4091a4782ecb9ca029314c99ca_cgraph.md5 new file mode 100644 index 0000000..566fffd --- /dev/null +++ b/docs/API/xran__main_8c_adfcabe4091a4782ecb9ca029314c99ca_cgraph.md5 @@ -0,0 +1 @@ +489371c7fba420e1b2a6fdba5ac3cb15 \ No newline at end of file diff --git a/docs/API/xran__main_8c_adfcabe4091a4782ecb9ca029314c99ca_cgraph.png b/docs/API/xran__main_8c_adfcabe4091a4782ecb9ca029314c99ca_cgraph.png new file mode 100644 index 0000000..5b19c15 Binary files /dev/null and b/docs/API/xran__main_8c_adfcabe4091a4782ecb9ca029314c99ca_cgraph.png differ diff --git a/docs/API/xran__main_8c_adfcabe4091a4782ecb9ca029314c99ca_icgraph.map b/docs/API/xran__main_8c_adfcabe4091a4782ecb9ca029314c99ca_icgraph.map new file mode 100644 index 0000000..22ef019 --- /dev/null +++ b/docs/API/xran__main_8c_adfcabe4091a4782ecb9ca029314c99ca_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/xran__main_8c_adfcabe4091a4782ecb9ca029314c99ca_icgraph.md5 b/docs/API/xran__main_8c_adfcabe4091a4782ecb9ca029314c99ca_icgraph.md5 new file mode 100644 index 0000000..f551377 --- /dev/null +++ b/docs/API/xran__main_8c_adfcabe4091a4782ecb9ca029314c99ca_icgraph.md5 @@ -0,0 +1 @@ +27c7b5d60954d7e3504994f797221835 \ No newline at end of file diff --git a/docs/API/xran__main_8c_adfcabe4091a4782ecb9ca029314c99ca_icgraph.png b/docs/API/xran__main_8c_adfcabe4091a4782ecb9ca029314c99ca_icgraph.png new file mode 100644 index 0000000..bb3bb64 Binary files /dev/null and b/docs/API/xran__main_8c_adfcabe4091a4782ecb9ca029314c99ca_icgraph.png differ diff --git a/docs/API/xran__main_8c_ae3663b3f472b4003acc7f91e61669735_icgraph.map b/docs/API/xran__main_8c_ae3663b3f472b4003acc7f91e61669735_icgraph.map new file mode 100644 index 0000000..092359a --- /dev/null +++ b/docs/API/xran__main_8c_ae3663b3f472b4003acc7f91e61669735_icgraph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/API/xran__main_8c_ae3663b3f472b4003acc7f91e61669735_icgraph.md5 b/docs/API/xran__main_8c_ae3663b3f472b4003acc7f91e61669735_icgraph.md5 new file mode 100644 index 0000000..725d70f --- /dev/null +++ b/docs/API/xran__main_8c_ae3663b3f472b4003acc7f91e61669735_icgraph.md5 @@ -0,0 +1 @@ +288f4e4cebda8a16b63f4ef34c7656b6 \ No newline at end of file diff --git a/docs/API/xran__main_8c_ae3663b3f472b4003acc7f91e61669735_icgraph.png b/docs/API/xran__main_8c_ae3663b3f472b4003acc7f91e61669735_icgraph.png new file mode 100644 index 0000000..3a9b68f Binary files /dev/null and b/docs/API/xran__main_8c_ae3663b3f472b4003acc7f91e61669735_icgraph.png differ diff --git a/docs/API/xran__main_8c_ae4973aab78785b0738c729b26a1474e2_cgraph.map b/docs/API/xran__main_8c_ae4973aab78785b0738c729b26a1474e2_cgraph.map new file mode 100644 index 0000000..7a9e552 --- /dev/null +++ b/docs/API/xran__main_8c_ae4973aab78785b0738c729b26a1474e2_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/xran__main_8c_ae4973aab78785b0738c729b26a1474e2_cgraph.md5 b/docs/API/xran__main_8c_ae4973aab78785b0738c729b26a1474e2_cgraph.md5 new file mode 100644 index 0000000..b2e0c74 --- /dev/null +++ b/docs/API/xran__main_8c_ae4973aab78785b0738c729b26a1474e2_cgraph.md5 @@ -0,0 +1 @@ +23a2f361adb7f0d940cef3df9883a135 \ No newline at end of file diff --git a/docs/API/xran__main_8c_ae4973aab78785b0738c729b26a1474e2_cgraph.png b/docs/API/xran__main_8c_ae4973aab78785b0738c729b26a1474e2_cgraph.png new file mode 100644 index 0000000..b311851 Binary files /dev/null and b/docs/API/xran__main_8c_ae4973aab78785b0738c729b26a1474e2_cgraph.png differ diff --git a/docs/API/xran__main_8c_ae6070ee9caf6a7ea8d7ef052ed0a559a_icgraph.map b/docs/API/xran__main_8c_ae6070ee9caf6a7ea8d7ef052ed0a559a_icgraph.map new file mode 100644 index 0000000..0cd9ebe --- /dev/null +++ b/docs/API/xran__main_8c_ae6070ee9caf6a7ea8d7ef052ed0a559a_icgraph.map @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/API/xran__main_8c_ae6070ee9caf6a7ea8d7ef052ed0a559a_icgraph.md5 b/docs/API/xran__main_8c_ae6070ee9caf6a7ea8d7ef052ed0a559a_icgraph.md5 new file mode 100644 index 0000000..59d874f --- /dev/null +++ b/docs/API/xran__main_8c_ae6070ee9caf6a7ea8d7ef052ed0a559a_icgraph.md5 @@ -0,0 +1 @@ +173b15a6c7e9f1b494bd08254713ca5e \ No newline at end of file diff --git a/docs/API/xran__main_8c_ae6070ee9caf6a7ea8d7ef052ed0a559a_icgraph.png b/docs/API/xran__main_8c_ae6070ee9caf6a7ea8d7ef052ed0a559a_icgraph.png new file mode 100644 index 0000000..af98e83 Binary files /dev/null and b/docs/API/xran__main_8c_ae6070ee9caf6a7ea8d7ef052ed0a559a_icgraph.png differ diff --git a/docs/API/xran__main_8c_ae79ca138dc77d69ef692886be4e5da81_icgraph.map b/docs/API/xran__main_8c_ae79ca138dc77d69ef692886be4e5da81_icgraph.map new file mode 100644 index 0000000..b0b2b79 --- /dev/null +++ b/docs/API/xran__main_8c_ae79ca138dc77d69ef692886be4e5da81_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/xran__main_8c_ae79ca138dc77d69ef692886be4e5da81_icgraph.md5 b/docs/API/xran__main_8c_ae79ca138dc77d69ef692886be4e5da81_icgraph.md5 new file mode 100644 index 0000000..660518c --- /dev/null +++ b/docs/API/xran__main_8c_ae79ca138dc77d69ef692886be4e5da81_icgraph.md5 @@ -0,0 +1 @@ +04977a624277cefefe5c77150738a832 \ No newline at end of file diff --git a/docs/API/xran__main_8c_ae79ca138dc77d69ef692886be4e5da81_icgraph.png b/docs/API/xran__main_8c_ae79ca138dc77d69ef692886be4e5da81_icgraph.png new file mode 100644 index 0000000..2256f8f Binary files /dev/null and b/docs/API/xran__main_8c_ae79ca138dc77d69ef692886be4e5da81_icgraph.png differ diff --git a/docs/API/xran__main_8c_source.html b/docs/API/xran__main_8c_source.html new file mode 100644 index 0000000..35b2f94 --- /dev/null +++ b/docs/API/xran__main_8c_source.html @@ -0,0 +1,554 @@ + + + + + + + +o-du/phy: xran_main.c Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    xran_main.c
    +
    +
    +Go to the documentation of this file.
    1 /******************************************************************************
    2 *
    3 * Copyright (c) 2019 Intel.
    4 *
    5 * Licensed under the Apache License, Version 2.0 (the "License");
    6 * you may not use this file except in compliance with the License.
    7 * You may obtain a copy of the License at
    8 *
    9 * http://www.apache.org/licenses/LICENSE-2.0
    10 *
    11 * Unless required by applicable law or agreed to in writing, software
    12 * distributed under the License is distributed on an "AS IS" BASIS,
    13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    14 * See the License for the specific language governing permissions and
    15 * limitations under the License.
    16 *
    17 *******************************************************************************/
    18 
    26 #define _GNU_SOURCE
    27 #include <sched.h>
    28 #include <assert.h>
    29 #include <err.h>
    30 #include <libgen.h>
    31 #include <sys/time.h>
    32 #include <sys/queue.h>
    33 #include <time.h>
    34 #include <unistd.h>
    35 #include <stdio.h>
    36 #include <pthread.h>
    37 #include <malloc.h>
    38 
    39 #include <rte_common.h>
    40 #include <rte_eal.h>
    41 #include <rte_errno.h>
    42 #include <rte_lcore.h>
    43 #include <rte_cycles.h>
    44 #include <rte_memory.h>
    45 #include <rte_memzone.h>
    46 #include <rte_mbuf.h>
    47 #include <rte_ring.h>
    48 
    49 #include "xran_fh_o_du.h"
    50 
    51 #include "ethdi.h"
    52 #include "xran_pkt.h"
    53 #include "xran_up_api.h"
    54 #include "xran_cp_api.h"
    55 #include "xran_sync_api.h"
    56 #include "xran_lib_mlog_tasks_id.h"
    57 #include "xran_timer.h"
    58 #include "xran_common.h"
    59 #include "xran_frame_struct.h"
    60 #include "xran_printf.h"
    61 #include "xran_app_frag.h"
    62 
    63 #include "xran_mlog_lnx.h"
    64 
    65 #define DIV_ROUND_OFFSET(X,Y) ( X/Y + ((X%Y)?1:0) )
    66 
    67 #define XranOffsetSym(offSym, otaSym, numSymTotal) (((int32_t)offSym > (int32_t)otaSym) ? \
    68  ((int32_t)otaSym + ((int32_t)numSymTotal) - (uint32_t)offSym) : \
    69  (((int32_t)otaSym - (int32_t)offSym) >= numSymTotal) ? \
    70  (((int32_t)otaSym - (int32_t)offSym) - numSymTotal) : \
    71  ((int32_t)otaSym - (int32_t)offSym))
    72 
    73 #define MAX_NUM_OF_XRAN_CTX (2)
    74 #define XranIncrementCtx(ctx) ((ctx >= (MAX_NUM_OF_XRAN_CTX-1)) ? 0 : (ctx+1))
    75 #define XranDecrementCtx(ctx) ((ctx == 0) ? (MAX_NUM_OF_XRAN_CTX-1) : (ctx-1))
    76 
    77 #define MAX_NUM_OF_DPDK_TIMERS (10)
    78 #define DpdkTimerIncrementCtx(ctx) ((ctx >= (MAX_NUM_OF_DPDK_TIMERS-1)) ? 0 : (ctx+1))
    79 #define DpdkTimerDecrementCtx(ctx) ((ctx == 0) ? (MAX_NUM_OF_DPDK_TIMERS-1) : (ctx-1))
    80 
    81 /* Difference between Unix seconds to GPS seconds
    82  GPS epoch: 1980.1.6 00:00:00 (UTC); Unix time epoch: 1970:1.1 00:00:00 UTC
    83  Value is calculated on Sep.6 2019. Need to be change if International
    84  Earth Rotation and Reference Systems Service (IERS) adds more leap seconds
    85  1970:1.1 - 1980.1.6: 3657 days
    86  3657*24*3600=315 964 800 seconds (unix seconds value at 1980.1.6 00:00:00 (UTC))
    87  There are 18 leap seconds inserted after 1980.1.6 00:00:00 (UTC), which means
    88  GPS is 18 larger. 315 964 800 - 18 = 315 964 782
    89 */
    90 #define UNIX_TO_GPS_SECONDS_OFFSET 315964782UL
    91 #define NUM_OF_FRAMES_PER_SECOND 100
    92 
    93 //#define XRAN_CREATE_RBMAP /**< generate slot map base on symbols */
    94 
    95 
    97  uint32_t tti_to_process;
    98 };
    99 
    100 static xran_cc_handle_t pLibInstanceHandles[XRAN_PORTS_NUM][XRAN_MAX_SECTOR_NR] = {NULL};
    101 static struct xran_device_ctx g_xran_dev_ctx[XRAN_PORTS_NUM] = { 0 };
    102 
    104 
    105 static struct rte_timer tti_to_phy_timer[10];
    106 static struct rte_timer sym_timer;
    107 static struct rte_timer dpdk_timer[MAX_NUM_OF_DPDK_TIMERS];
    108 
    109 uint64_t interval_us = 1000;
    110 
    111 uint32_t xran_lib_ota_tti = 0;
    112 uint32_t xran_lib_ota_sym = 0;
    113 uint32_t xran_lib_ota_sym_idx = 0;
    115 uint16_t xran_SFN_at_Sec_Start = 0;
    116 uint16_t xran_max_frame = 1023;
    118 static uint8_t xran_cp_seq_id_num[XRAN_MAX_CELLS_PER_PORT][XRAN_DIR_MAX][XRAN_MAX_ANTENNA_NR * 2 + XRAN_MAX_ANT_ARRAY_ELM_NR]; /* XRAN_MAX_ANTENNA_NR * 2 for PUSCH and PRACH */
    119 static uint8_t xran_updl_seq_id_num[XRAN_MAX_CELLS_PER_PORT][XRAN_MAX_ANTENNA_NR];
    120 static uint8_t xran_upul_seq_id_num[XRAN_MAX_CELLS_PER_PORT][XRAN_MAX_ANTENNA_NR * 2 + XRAN_MAX_ANT_ARRAY_ELM_NR];
    122 static uint8_t xran_section_id_curslot[XRAN_DIR_MAX][XRAN_MAX_CELLS_PER_PORT][XRAN_MAX_ANTENNA_NR * 2+ XRAN_MAX_ANT_ARRAY_ELM_NR];
    124 static uint64_t xran_total_tick = 0, xran_used_tick = 0;
    125 static uint32_t xran_core_used = 0;
    126 static int32_t first_call = 0;
    127 
    128 
    129 static void
    130 extbuf_free_callback(void *addr __rte_unused, void *opaque __rte_unused)
    131 {
    132 }
    133 
    134 static struct rte_mbuf_ext_shared_info share_data[XRAN_N_FE_BUF_LEN];
    135 
    136 void xran_timer_arm(struct rte_timer *tim, void* arg);
    137 
    138 int32_t xran_process_tx_sym(void *arg);
    139 
    140 int32_t xran_process_rx_sym(void *arg,
    141  struct rte_mbuf *mbuf,
    142  void *iq_data_start,
    143  uint16_t size,
    144  uint8_t CC_ID,
    145  uint8_t Ant_ID,
    146  uint8_t frame_id,
    147  uint8_t subframe_id,
    148  uint8_t slot_id,
    149  uint8_t symb_id,
    150  uint16_t num_prbu,
    151  uint16_t start_prbu,
    152  uint16_t sym_inc,
    153  uint16_t rb,
    154  uint16_t sect_id,
    155  uint32_t *mb_free);
    156 
    157 int32_t xran_process_prach_sym(void *arg,
    158  struct rte_mbuf *mbuf,
    159  void *iq_data_start,
    160  uint16_t size,
    161  uint8_t CC_ID,
    162  uint8_t Ant_ID,
    163  uint8_t frame_id,
    164  uint8_t subframe_id,
    165  uint8_t slot_id,
    166  uint8_t symb_id,
    167  uint16_t num_prbu,
    168  uint16_t start_prbu,
    169  uint16_t sym_inc,
    170  uint16_t rb,
    171  uint16_t sect_id,
    172  uint32_t *mb_free);
    173 
    174 int32_t xran_process_srs_sym(void *arg,
    175  struct rte_mbuf *mbuf,
    176  void *iq_data_start,
    177  uint16_t size,
    178  uint8_t CC_ID,
    179  uint8_t Ant_ID,
    180  uint8_t frame_id,
    181  uint8_t subframe_id,
    182  uint8_t slot_id,
    183  uint8_t symb_id,
    184  uint16_t num_prbu,
    185  uint16_t start_prbu,
    186  uint16_t sym_inc,
    187  uint16_t rb,
    188  uint16_t sect_id,
    189  uint32_t *mb_free);
    190 
    191 
    192 void tti_ota_cb(struct rte_timer *tim, void *arg);
    193 void tti_to_phy_cb(struct rte_timer *tim, void *arg);
    194 void xran_timer_arm_ex(struct rte_timer *tim, void* CbFct, void *CbArg, unsigned tim_lcore);
    195 
    196 // Return SFN at current second start, 10 bits, [0, 1023]
    197 static inline uint16_t xran_getSfnSecStart(void)
    198 {
    199  return xran_SFN_at_Sec_Start;
    200 }
    202 {
    203  uint64_t currentSecond = timing_get_current_second();
    204  // Assume always positive
    205  uint64_t gpsSecond = currentSecond - UNIX_TO_GPS_SECONDS_OFFSET;
    206  uint64_t nFrames = gpsSecond * NUM_OF_FRAMES_PER_SECOND;
    207  uint16_t sfn = (uint16_t)(nFrames % (xran_max_frame + 1));
    208  xran_SFN_at_Sec_Start = sfn;
    209 
    212  tx_bytes_counter = 0;
    213  rx_bytes_counter = 0;
    214 }
    215 
    216 static inline int32_t xran_getSlotIdxSecond(void)
    217 {
    218  int32_t frameIdxSecond = xran_getSfnSecStart();
    219  int32_t slotIndxSecond = frameIdxSecond * SLOTS_PER_SYSTEMFRAME;
    220  return slotIndxSecond;
    221 }
    222 
    224 {
    225  return &g_xran_dev_ctx[0];
    226 }
    227 
    228 static inline struct xran_fh_config *xran_lib_get_ctx_fhcfg(void)
    229 {
    230  return (&(xran_dev_get_ctx()->fh_cfg));
    231 }
    232 
    233 uint16_t xran_get_beamid(void *pHandle, uint8_t dir, uint8_t cc_id, uint8_t ant_id, uint8_t slot_id)
    234 {
    235  return (0); // NO BEAMFORMING
    236 }
    237 
    239 {
    240  return xran_if_current_state;
    241 }
    242 
    243 int xran_is_prach_slot(uint32_t subframe_id, uint32_t slot_id)
    244 {
    245  struct xran_device_ctx * p_xran_dev_ctx = xran_dev_get_ctx();
    246  struct xran_prach_cp_config *pPrachCPConfig = &(p_xran_dev_ctx->PrachCPConfig);
    247  int32_t is_prach_slot = 0;
    248 
    249  if (p_xran_dev_ctx->fh_cfg.frame_conf.nNumerology < 2){
    250  //for FR1, in 38.211 tab 6.3.3.2-2&3 it is subframe index
    251  if (pPrachCPConfig->isPRACHslot[subframe_id] == 1){
    252  if (pPrachCPConfig->nrofPrachInSlot != 1)
    253  is_prach_slot = 1;
    254  else{
    255  if (p_xran_dev_ctx->fh_cfg.frame_conf.nNumerology == 0)
    256  is_prach_slot = 1;
    257  else if (slot_id == 1)
    258  is_prach_slot = 1;
    259  }
    260  }
    261  } else if (p_xran_dev_ctx->fh_cfg.frame_conf.nNumerology == 3){
    262  //for FR2, 38.211 tab 6.3.3.4 it is slot index of 60kHz slot
    263  uint32_t slotidx;
    264  slotidx = subframe_id * SLOTNUM_PER_SUBFRAME + slot_id;
    265  if (pPrachCPConfig->nrofPrachInSlot == 2){
    266  if (pPrachCPConfig->isPRACHslot[slotidx>>1] == 1)
    267  is_prach_slot = 1;
    268  } else {
    269  if ((pPrachCPConfig->isPRACHslot[slotidx>>1] == 1) && ((slotidx % 2) == 1)){
    270  is_prach_slot = 1;
    271  }
    272  }
    273  } else
    274  print_err("Numerology %d not supported", p_xran_dev_ctx->fh_cfg.frame_conf.nNumerology);
    275  return is_prach_slot;
    276 }
    277 
    278 int xran_init_sectionid(void *pHandle)
    279 {
    280  int cell, ant, dir;
    281 
    282  for (dir = 0; dir < XRAN_DIR_MAX; dir++){
    283  for(cell=0; cell < XRAN_MAX_CELLS_PER_PORT; cell++) {
    284  for(ant=0; ant < XRAN_MAX_ANTENNA_NR; ant++) {
    285  xran_section_id[dir][cell][ant] = 0;
    286  xran_section_id_curslot[dir][cell][ant] = 255;
    287  }
    288  }
    289  }
    290 
    291  return (0);
    292 }
    293 
    294 int xran_init_srs(struct xran_fh_config* pConf, struct xran_device_ctx * p_xran_dev_ctx)
    295 {
    296  struct xran_srs_config *p_srs = &(p_xran_dev_ctx->srs_cfg);
    297 
    298  if(p_srs){
    299  p_srs->symbMask = pConf->srs_conf.symbMask;
    300  p_srs->eAxC_offset = pConf->srs_conf.eAxC_offset;
    301  print_dbg("SRS sym %d\n", p_srs->symbMask );
    302  print_dbg("SRS eAxC_offset %d\n", p_srs->eAxC_offset);
    303  }
    304  return (XRAN_STATUS_SUCCESS);
    305 }
    306 
    307 
    308 int xran_init_prach(struct xran_fh_config* pConf, struct xran_device_ctx * p_xran_dev_ctx)
    309 {
    310  int32_t i;
    311  uint8_t slotNr;
    312  struct xran_prach_config* pPRACHConfig = &(pConf->prach_conf);
    313  const xRANPrachConfigTableStruct *pxRANPrachConfigTable;
    314  uint8_t nNumerology = pConf->frame_conf.nNumerology;
    315  uint8_t nPrachConfIdx = pPRACHConfig->nPrachConfIdx;
    316  struct xran_prach_cp_config *pPrachCPConfig = &(p_xran_dev_ctx->PrachCPConfig);
    317 
    318  if (nNumerology > 2)
    319  pxRANPrachConfigTable = &gxranPrachDataTable_mmw[nPrachConfIdx];
    320  else if (pConf->frame_conf.nFrameDuplexType == 1)
    321  pxRANPrachConfigTable = &gxranPrachDataTable_sub6_tdd[nPrachConfIdx];
    322  else
    323  pxRANPrachConfigTable = &gxranPrachDataTable_sub6_fdd[nPrachConfIdx];
    324 
    325  uint8_t preambleFmrt = pxRANPrachConfigTable->preambleFmrt[0];
    326  const xRANPrachPreambleLRAStruct *pxranPreambleforLRA = &gxranPreambleforLRA[preambleFmrt];
    327  memset(pPrachCPConfig, 0, sizeof(struct xran_prach_cp_config));
    328  if(pConf->log_level)
    329  printf("xRAN open PRACH config: Numerology %u ConfIdx %u, preambleFmrt %u startsymb %u, numSymbol %u, occassionsInPrachSlot %u\n", nNumerology, nPrachConfIdx, preambleFmrt, pxRANPrachConfigTable->startingSym, pxRANPrachConfigTable->duration, pxRANPrachConfigTable->occassionsInPrachSlot);
    330 
    331  pPrachCPConfig->filterIdx = XRAN_FILTERINDEX_PRACH_ABC; // 3, PRACH preamble format A1~3, B1~4, C0, C2
    332  pPrachCPConfig->startSymId = pxRANPrachConfigTable->startingSym;
    333  pPrachCPConfig->startPrbc = pPRACHConfig->nPrachFreqStart;
    334  pPrachCPConfig->numPrbc = (preambleFmrt >= FORMAT_A1)? 12 : 70;
    335  pPrachCPConfig->timeOffset = pxranPreambleforLRA->nRaCp;
    336  pPrachCPConfig->freqOffset = xran_get_freqoffset(pPRACHConfig->nPrachFreqOffset, pPRACHConfig->nPrachSubcSpacing);
    337  pPrachCPConfig->x = pxRANPrachConfigTable->x;
    338  pPrachCPConfig->nrofPrachInSlot = pxRANPrachConfigTable->nrofPrachInSlot;
    339  pPrachCPConfig->y[0] = pxRANPrachConfigTable->y[0];
    340  pPrachCPConfig->y[1] = pxRANPrachConfigTable->y[1];
    341  if (preambleFmrt >= FORMAT_A1)
    342  {
    343  pPrachCPConfig->numSymbol = pxRANPrachConfigTable->duration;
    344  pPrachCPConfig->occassionsInPrachSlot = pxRANPrachConfigTable->occassionsInPrachSlot;
    345  }
    346  else
    347  {
    348  pPrachCPConfig->numSymbol = 1;
    349  pPrachCPConfig->occassionsInPrachSlot = 1;
    350  }
    351 
    352  if(pConf->log_level)
    353  printf("PRACH: x %u y[0] %u, y[1] %u prach slot: %u ..", pPrachCPConfig->x, pPrachCPConfig->y[0], pPrachCPConfig->y[1], pxRANPrachConfigTable->slotNr[0]);
    354  pPrachCPConfig->isPRACHslot[pxRANPrachConfigTable->slotNr[0]] = 1;
    355  for (i=1; i < XRAN_PRACH_CANDIDATE_SLOT; i++)
    356  {
    357  slotNr = pxRANPrachConfigTable->slotNr[i];
    358  if (slotNr > 0){
    359  pPrachCPConfig->isPRACHslot[slotNr] = 1;
    360  if(pConf->log_level)
    361  printf(" %u ..", slotNr);
    362  }
    363  }
    364  printf("\n");
    365  for (i = 0; i < XRAN_MAX_SECTOR_NR; i++){
    366  p_xran_dev_ctx->prach_start_symbol[i] = pPrachCPConfig->startSymId;
    367  p_xran_dev_ctx->prach_last_symbol[i] = pPrachCPConfig->startSymId + pPrachCPConfig->numSymbol * pPrachCPConfig->occassionsInPrachSlot - 1;
    368  }
    369  if(pConf->log_level){
    370  printf("PRACH start symbol %u lastsymbol %u\n", p_xran_dev_ctx->prach_start_symbol[0], p_xran_dev_ctx->prach_last_symbol[0]);
    371  }
    372 
    373  pPrachCPConfig->eAxC_offset = xran_get_num_eAxc(NULL);
    374  print_dbg("PRACH eAxC_offset %d\n", pPrachCPConfig->eAxC_offset);
    375 
    376  return (XRAN_STATUS_SUCCESS);
    377 }
    378 
    379 inline uint16_t xran_alloc_sectionid(void *pHandle, uint8_t dir, uint8_t cc_id, uint8_t ant_id, uint8_t slot_id)
    380 {
    381  if(cc_id >= XRAN_MAX_CELLS_PER_PORT) {
    382  print_err("Invalid CC ID - %d", cc_id);
    383  return (0);
    384  }
    385  if(ant_id >= XRAN_MAX_ANTENNA_NR * 2 + XRAN_MAX_ANT_ARRAY_ELM_NR) { //for PRACH, ant_id starts from num_ant
    386  print_err("Invalid antenna ID - %d", ant_id);
    387  return (0);
    388  }
    389 
    390  /* if new slot has been started,
    391  * then initializes section id again for new start */
    392  if(xran_section_id_curslot[dir][cc_id][ant_id] != slot_id) {
    393  xran_section_id[dir][cc_id][ant_id] = 0;
    394  xran_section_id_curslot[dir][cc_id][ant_id] = slot_id;
    395  }
    396 
    397  return(xran_section_id[dir][cc_id][ant_id]++);
    398 }
    399 
    400 int xran_init_seqid(void *pHandle)
    401 {
    402  int cell, dir, ant;
    403 
    404  for(cell=0; cell < XRAN_MAX_CELLS_PER_PORT; cell++) {
    405  for(dir=0; dir < XRAN_DIR_MAX; dir++) {
    406  for(ant=0; ant < XRAN_MAX_ANTENNA_NR * 2; ant++)
    407  xran_cp_seq_id_num[cell][dir][ant] = 0;
    408  }
    409  for(ant=0; ant < XRAN_MAX_ANTENNA_NR; ant++)
    410  xran_updl_seq_id_num[cell][ant] = 0;
    411  for(ant=0; ant < XRAN_MAX_ANTENNA_NR * 2 + XRAN_MAX_ANT_ARRAY_ELM_NR; ant++)
    412  xran_upul_seq_id_num[cell][ant] = 0;
    413  }
    414 
    415  return (0);
    416 }
    417 
    418 static inline uint8_t xran_get_cp_seqid(void *pHandle, uint8_t dir, uint8_t cc_id, uint8_t ant_id)
    419 {
    420  if(dir >= XRAN_DIR_MAX) {
    421  print_err("Invalid direction - %d", dir);
    422  return (0);
    423  }
    424  if(cc_id >= XRAN_MAX_CELLS_PER_PORT) {
    425  print_err("Invalid CC ID - %d", cc_id);
    426  return (0);
    427  }
    428  if(ant_id >= XRAN_MAX_ANTENNA_NR * 2 + XRAN_MAX_ANT_ARRAY_ELM_NR) {
    429  print_err("Invalid antenna ID - %d", ant_id);
    430  return (0);
    431  }
    432 
    433  return(xran_cp_seq_id_num[cc_id][dir][ant_id]++);
    434 }
    435 static inline uint8_t xran_get_updl_seqid(void *pHandle, uint8_t cc_id, uint8_t ant_id)
    436 {
    437  if(cc_id >= XRAN_MAX_CELLS_PER_PORT) {
    438  print_err("Invalid CC ID - %d", cc_id);
    439  return (0);
    440  }
    441  if(ant_id >= XRAN_MAX_ANTENNA_NR) {
    442  print_err("Invalid antenna ID - %d", ant_id);
    443  return (0);
    444  }
    445 
    446  /* Only U-Plane DL needs to get sequence ID in O-DU */
    447  return(xran_updl_seq_id_num[cc_id][ant_id]++);
    448 }
    449 static inline uint8_t *xran_get_updl_seqid_addr(void *pHandle, uint8_t cc_id, uint8_t ant_id)
    450 {
    451  if(cc_id >= XRAN_MAX_CELLS_PER_PORT) {
    452  print_err("Invalid CC ID - %d", cc_id);
    453  return (NULL);
    454  }
    455  if(ant_id >= XRAN_MAX_ANTENNA_NR) {
    456  print_err("Invalid antenna ID - %d", ant_id);
    457  return (NULL);
    458  }
    459 
    460  /* Only U-Plane DL needs to get sequence ID in O-DU */
    461  return(&xran_updl_seq_id_num[cc_id][ant_id]);
    462 }
    463 static inline int8_t xran_check_upul_seqid(void *pHandle, uint8_t cc_id, uint8_t ant_id, uint8_t slot_id, uint8_t seq_id)
    464 {
    465 
    466  if(cc_id >= XRAN_MAX_CELLS_PER_PORT) {
    467  print_err("Invalid CC ID - %d", cc_id);
    468  return (-1);
    469  }
    470 
    471  if(ant_id >= XRAN_MAX_ANTENNA_NR * 2 + XRAN_MAX_ANT_ARRAY_ELM_NR) {
    472  print_err("Invalid antenna ID - %d", ant_id);
    473  return (-1);
    474  }
    475 
    476  /* O-DU needs to check the sequence ID of U-Plane UL from O-RU */
    477  xran_upul_seq_id_num[cc_id][ant_id]++;
    478  if(xran_upul_seq_id_num[cc_id][ant_id] == seq_id) { /* expected sequence */
    479  return (XRAN_STATUS_SUCCESS);
    480  } else {
    481  print_err("expected seqid %u received %u, slot %u, ant %u cc %u", xran_upul_seq_id_num[cc_id][ant_id], seq_id, slot_id, ant_id, cc_id);
    482  xran_upul_seq_id_num[cc_id][ant_id] = seq_id; // for next
    483  return (-1);
    484  }
    485 }
    486 
    488 // For RU emulation
    489 static inline uint8_t xran_get_upul_seqid(void *pHandle, uint8_t cc_id, uint8_t ant_id)
    490 {
    491  if(cc_id >= XRAN_MAX_CELLS_PER_PORT) {
    492  print_err("Invalid CC ID - %d", cc_id);
    493  return (0);
    494  }
    495  if(ant_id >= XRAN_MAX_ANTENNA_NR * 2 + XRAN_MAX_ANT_ARRAY_ELM_NR) {
    496  print_err("Invalid antenna ID - %d", ant_id);
    497  return (0);
    498  }
    499 
    500  return(xran_upul_seq_id_num[cc_id][ant_id]++);
    501 }
    502 static inline uint8_t *xran_get_upul_seqid_addr(void *pHandle, uint8_t cc_id, uint8_t ant_id)
    503 {
    504  if(cc_id >= XRAN_MAX_CELLS_PER_PORT) {
    505  print_err("Invalid CC ID - %d", cc_id);
    506  return (0);
    507  }
    508  if(ant_id >= XRAN_MAX_ANTENNA_NR * 2) {
    509  print_err("Invalid antenna ID - %d", ant_id);
    510  return (0);
    511  }
    512 
    513  return(&xran_upul_seq_id_num[cc_id][ant_id]);
    514 }
    515 static inline int8_t xran_check_cp_seqid(void *pHandle, uint8_t dir, uint8_t cc_id, uint8_t ant_id, uint8_t seq_id)
    516 {
    517  if(dir >= XRAN_DIR_MAX) {
    518  print_err("Invalid direction - %d", dir);
    519  return (-1);
    520  }
    521  if(cc_id >= XRAN_MAX_CELLS_PER_PORT) {
    522  print_err("Invalid CC ID - %d", cc_id);
    523  return (-1);
    524  }
    525  if(ant_id >= XRAN_MAX_ANTENNA_NR * 2) {
    526  print_err("Invalid antenna ID - %d", ant_id);
    527  return (-1);
    528  }
    529 
    530  xran_cp_seq_id_num[cc_id][dir][ant_id]++;
    531  if(xran_cp_seq_id_num[cc_id][dir][ant_id] == seq_id) { /* expected sequence */
    532  return (0);
    533  }
    534  else {
    535  xran_cp_seq_id_num[cc_id][dir][ant_id] = seq_id;
    536  return (-1);
    537  }
    538 }
    539 static inline int8_t xran_check_updl_seqid(void *pHandle, uint8_t cc_id, uint8_t ant_id, uint8_t slot_id, uint8_t seq_id)
    540 {
    541  if(cc_id >= XRAN_MAX_CELLS_PER_PORT) {
    542  print_err("Invalid CC ID - %d", cc_id);
    543  return (-1);
    544  }
    545 
    546  if(ant_id >= XRAN_MAX_ANTENNA_NR) {
    547  print_err("Invalid antenna ID - %d", ant_id);
    548  return (-1);
    549  }
    550 
    551  /* O-RU needs to check the sequence ID of U-Plane DL from O-DU */
    552  xran_updl_seq_id_num[cc_id][ant_id]++;
    553  if(xran_updl_seq_id_num[cc_id][ant_id] == seq_id) {
    554  /* expected sequence */
    555  /*print_dbg("ant %u cc_id %u : slot_id %u : seq_id %u : expected seq_id %u\n",
    556  ant_id, cc_id, slot_id, seq_id, xran_updl_seq_id_num[cc_id][ant_id]);*/
    557  return (0);
    558  } else {
    559  /* print_err("ant %u cc_id %u : slot_id %u : seq_id %u : expected seq_id %u\n",
    560  ant_id, cc_id, slot_id, seq_id, xran_updl_seq_id_num[cc_id][ant_id]);*/
    561 
    562  xran_updl_seq_id_num[cc_id][ant_id] = seq_id;
    563 
    564  return (-1);
    565  }
    566 }
    567 
    568 
    569 static struct xran_section_gen_info cpSections[XRAN_MAX_NUM_SECTIONS];
    570 static struct xran_cp_gen_params cpInfo;
    571 int process_cplane(struct rte_mbuf *pkt)
    572 {
    573  struct xran_recv_packet_info recv;
    574 
    575  cpInfo.sections = cpSections;
    576  xran_parse_cp_pkt(pkt, &cpInfo, &recv);
    577 
    578  return (MBUF_FREE);
    579 }
    581 
    582 void sym_ota_cb(struct rte_timer *tim, void *arg, unsigned long *used_tick)
    583 {
    584  struct xran_device_ctx * p_xran_dev_ctx = xran_dev_get_ctx();
    585  struct xran_timer_ctx *pTCtx = (struct xran_timer_ctx *)arg;
    586  long t1 = MLogTick(), t2;
    587  long t3;
    588  static int32_t ctx = 0;
    589 
    591  t3 = xran_tick();
    592  tti_ota_cb(NULL, arg);
    593  *used_tick += get_ticks_diff(xran_tick(), t3);
    594  }
    595 
    597  if(p_xran_dev_ctx->phy_tti_cb_done == 0){
    598  /* rearm timer to deliver TTI event to PHY */
    599  t3 = xran_tick();
    600  p_xran_dev_ctx->phy_tti_cb_done = 0;
    601  xran_timer_arm_ex(&tti_to_phy_timer[xran_lib_ota_tti % 10], tti_to_phy_cb, (void*)pTCtx, p_xran_dev_ctx->fh_init.io_cfg.timing_core);
    602  *used_tick += get_ticks_diff(xran_tick(), t3);
    603  }
    604  }
    605 
    606  t3 = xran_tick();
    608  {
    609  *used_tick += get_ticks_diff(xran_tick(), t3);
    610  }
    611 
    612  /* check if there is call back to do something else on this symbol */
    613 
    614  struct cb_elem_entry *cb_elm;
    615  LIST_FOREACH(cb_elm, &p_xran_dev_ctx->sym_cb_list_head[0][xran_lib_ota_sym], pointers){
    616  if(cb_elm){
    617  cb_elm->pSymCallback(&dpdk_timer[ctx], cb_elm->pSymCallbackTag);
    618  ctx = DpdkTimerIncrementCtx(ctx);
    619  }
    620  }
    621 
    622  // This counter is incremented in advance before it is the time for the next symbol
    626  }
    627 
    628  t2 = MLogTick();
    629  MLogTask(PID_SYM_OTA_CB, t1, t2);
    630 }
    631 
    632 void tti_ota_cb(struct rte_timer *tim, void *arg)
    633 {
    634  uint32_t frame_id = 0;
    635  uint32_t subframe_id = 0;
    636  uint32_t slot_id = 0;
    637  uint32_t next_tti = 0;
    638 
    639  uint32_t mlogVar[10];
    640  uint32_t mlogVarCnt = 0;
    641  uint64_t t1 = MLogTick();
    642  uint64_t t3 = 0;
    643  uint32_t reg_tti = 0;
    644  uint32_t reg_sfn = 0;
    645  struct xran_timer_ctx *pTCtx = (struct xran_timer_ctx *)arg;
    646  struct xran_device_ctx * p_xran_dev_ctx = xran_dev_get_ctx();
    647 
    649 
    650  /* To match TTbox */
    651  if(xran_lib_ota_tti == 0)
    652  reg_tti = xran_fs_get_max_slot() - 1;
    653  else
    654  reg_tti = xran_lib_ota_tti -1;
    657  /* subframe and slot */
    658  MLogRegisterFrameSubframe(reg_sfn, reg_tti % (SLOTNUM_PER_SUBFRAME));
    659  MLogMark(1, t1);
    660 
    664 
    666 
    667  mlogVar[mlogVarCnt++] = 0x11111111;
    668  mlogVar[mlogVarCnt++] = xran_lib_ota_tti;
    669  mlogVar[mlogVarCnt++] = xran_lib_ota_sym_idx;
    670  mlogVar[mlogVarCnt++] = xran_lib_ota_sym_idx / 14;
    671  mlogVar[mlogVarCnt++] = frame_id;
    672  mlogVar[mlogVarCnt++] = subframe_id;
    673  mlogVar[mlogVarCnt++] = slot_id;
    674  mlogVar[mlogVarCnt++] = 0;
    675  MLogAddVariables(mlogVarCnt, mlogVar, MLogTick());
    676 
    677  if(p_xran_dev_ctx->fh_init.io_cfg.id == ID_LLS_CU)
    678  next_tti = xran_lib_ota_tti + 1;
    679  else
    680  next_tti = xran_lib_ota_tti;
    681 
    682  if(next_tti>= xran_fs_get_max_slot()){
    683  print_dbg("[%d]SFN %d sf %d slot %d\n",next_tti, frame_id, subframe_id, slot_id);
    684  next_tti=0;
    685  }
    686 
    687  slot_id = XranGetSlotNum(next_tti, SLOTNUM_PER_SUBFRAME);
    689  frame_id = XranGetFrameNum(next_tti,xran_getSfnSecStart(),SUBFRAMES_PER_SYSTEMFRAME, SLOTNUM_PER_SUBFRAME);
    690 
    691  print_dbg("[%d]SFN %d sf %d slot %d\n",next_tti, frame_id, subframe_id, slot_id);
    692 
    693  if(p_xran_dev_ctx->fh_init.io_cfg.id == ID_LLS_CU){
    694  pTCtx[(xran_lib_ota_tti & 1)].tti_to_process = next_tti;
    695  } else {
    696  pTCtx[(xran_lib_ota_tti & 1)].tti_to_process = pTCtx[(xran_lib_ota_tti & 1)^1].tti_to_process;
    697  }
    698 
    699  p_xran_dev_ctx->phy_tti_cb_done = 0;
    700  xran_timer_arm_ex(&tti_to_phy_timer[xran_lib_ota_tti % 10], tti_to_phy_cb, (void*)pTCtx, p_xran_dev_ctx->fh_init.io_cfg.timing_core);
    701 
    702  //slot index is increased to next slot at the beginning of current OTA slot
    703  xran_lib_ota_tti++;
    704  if(xran_lib_ota_tti >= xran_fs_get_max_slot()){
    705  print_dbg("[%d]SFN %d sf %d slot %d\n",xran_lib_ota_tti, frame_id, subframe_id, slot_id);
    706  xran_lib_ota_tti=0;
    707  }
    708  MLogTask(PID_TTI_CB, t1, MLogTick());
    709 }
    710 
    711 void xran_timer_arm(struct rte_timer *tim, void* arg)
    712 {
    713  struct xran_device_ctx * p_xran_dev_ctx = xran_dev_get_ctx();
    714  uint64_t t3 = MLogTick();
    715 
    717  rte_timer_cb_t fct = (rte_timer_cb_t)arg;
    718  rte_timer_init(tim);
    719  rte_timer_reset_sync(tim, 0, SINGLE, p_xran_dev_ctx->fh_init.io_cfg.timing_core, fct, &timer_ctx[0]);
    720  }
    722 }
    723 
    724 void xran_timer_arm_ex(struct rte_timer *tim, void* CbFct, void *CbArg, unsigned tim_lcore)
    725 {
    726  struct xran_device_ctx * p_xran_dev_ctx = xran_dev_get_ctx();
    727  uint64_t t3 = MLogTick();
    728 
    730  rte_timer_cb_t fct = (rte_timer_cb_t)CbFct;
    731  rte_timer_init(tim);
    732  rte_timer_reset_sync(tim, 0, SINGLE, tim_lcore, fct, CbArg);
    733  }
    735 }
    736 
    737 int xran_cp_create_and_send_section(void *pHandle, uint8_t ru_port_id, int dir, int tti, int cc_id,
    738  struct xran_prb_map *prbMap, enum xran_category category, uint8_t ctx_id)
    739 {
    740  struct xran_device_ctx *p_x_ctx = xran_dev_get_ctx();
    741  struct xran_cp_gen_params params;
    742  struct xran_section_gen_info sect_geninfo[1];
    743  struct rte_mbuf *mbuf;
    744  int ret = 0;
    745  uint32_t i, j, loc_sym;
    746  uint32_t nsection = 0;
    747  struct xran_prb_elm *pPrbMapElem = NULL;
    748  struct xran_prb_elm *pPrbMapElemPrev = NULL;
    749  uint32_t slot_id = XranGetSlotNum(tti, SLOTNUM_PER_SUBFRAME);
    751  uint32_t frame_id = XranGetFrameNum(tti,xran_getSfnSecStart(),SUBFRAMES_PER_SYSTEMFRAME, SLOTNUM_PER_SUBFRAME);
    752 
    753  frame_id = (frame_id & 0xff); /* ORAN frameId, 8 bits, [0, 255] */
    754  uint8_t seq_id = 0;
    755 
    756  struct xran_sectionext1_info m_ext1;
    757 
    758  if(prbMap) {
    759  nsection = prbMap->nPrbElm;
    760  pPrbMapElem = &prbMap->prbMap[0];
    761  if (nsection < 1){
    762  print_dbg("cp[%d:%d:%d] ru_port_id %d dir=%d nsection %d\n",
    763  frame_id, subframe_id, slot_id, ru_port_id, dir, nsection);
    764  }
    765  } else {
    766  print_err("prbMap is NULL\n");
    767  return (-1);
    768  }
    769  for (i=0; i<nsection; i++)
    770  {
    771  pPrbMapElem = &prbMap->prbMap[i];
    772  params.dir = dir;
    773  params.sectionType = XRAN_CP_SECTIONTYPE_1; /* Most DL/UL Radio Channels */
    775  params.hdr.frameId = frame_id;
    776  params.hdr.subframeId = subframe_id;
    777  params.hdr.slotId = slot_id;
    778  params.hdr.startSymId = pPrbMapElem->nStartSymb;
    779  params.hdr.iqWidth = pPrbMapElem->iqWidth; /*xran_get_conf_iqwidth(pHandle);*/
    780  params.hdr.compMeth = pPrbMapElem->compMethod;
    781 
    782  print_dbg("cp[%d:%d:%d] ru_port_id %d dir=%d\n",
    783  frame_id, subframe_id, slot_id, ru_port_id, dir);
    784 
    785  seq_id = xran_get_cp_seqid(pHandle, XRAN_DIR_DL, cc_id, ru_port_id);
    786 
    787  sect_geninfo[0].info.type = params.sectionType; // for database
    788  sect_geninfo[0].info.startSymId = params.hdr.startSymId; // for database
    789  sect_geninfo[0].info.iqWidth = params.hdr.iqWidth; // for database
    790  sect_geninfo[0].info.compMeth = params.hdr.compMeth; // for database
    791  sect_geninfo[0].info.id = i; /*xran_alloc_sectionid(pHandle, dir, cc_id, ru_port_id, slot_id);*/
    792 
    793  if(sect_geninfo[0].info.id > 7)
    794  print_err("sectinfo->id %d\n", sect_geninfo[0].info.id);
    795 
    796  if (dir == XRAN_DIR_UL) {
    797  for (loc_sym = 0; loc_sym < XRAN_NUM_OF_SYMBOL_PER_SLOT; loc_sym++){
    798  struct xran_section_desc *p_sec_desc = pPrbMapElem->p_sec_desc[loc_sym];
    799  if(p_sec_desc) {
    800  p_sec_desc->section_id = sect_geninfo[0].info.id;
    801  if(p_sec_desc->pCtrl) {
    802  rte_pktmbuf_free(p_sec_desc->pCtrl);
    803  p_sec_desc->pCtrl = NULL;
    804  p_sec_desc->pData = NULL;
    805  }
    806  } else {
    807  print_err("section desc is NULL\n");
    808  }
    809  }
    810  }
    811 
    812  sect_geninfo[0].info.rb = XRAN_RBIND_EVERY;
    813  sect_geninfo[0].info.startPrbc = pPrbMapElem->nRBStart;
    814  sect_geninfo[0].info.numPrbc = pPrbMapElem->nRBSize;
    815  sect_geninfo[0].info.numSymbol = pPrbMapElem->numSymb;
    816  sect_geninfo[0].info.reMask = 0xfff;
    817  sect_geninfo[0].info.beamId = pPrbMapElem->nBeamIndex;
    818 
    819  for (loc_sym = 0; loc_sym < XRAN_NUM_OF_SYMBOL_PER_SLOT; loc_sym++){
    820  struct xran_section_desc *p_sec_desc = pPrbMapElem->p_sec_desc[loc_sym];
    821  if(p_sec_desc) {
    822  p_sec_desc->section_id = sect_geninfo[0].info.id;
    823 
    824  sect_geninfo[0].info.sec_desc[loc_sym].iq_buffer_offset = p_sec_desc->iq_buffer_offset;
    825  sect_geninfo[0].info.sec_desc[loc_sym].iq_buffer_len = p_sec_desc->iq_buffer_len;
    826  } else {
    827  print_err("section desc is NULL\n");
    828  }
    829  }
    830 
    831  if (i==0)
    832  sect_geninfo[0].info.symInc = XRAN_SYMBOLNUMBER_NOTINC;
    833  else
    834  {
    835  pPrbMapElemPrev = &prbMap->prbMap[i-1];
    836  if (pPrbMapElemPrev->nStartSymb == pPrbMapElem->nStartSymb)
    837  {
    838  sect_geninfo[0].info.symInc = XRAN_SYMBOLNUMBER_NOTINC;
    839  if (pPrbMapElemPrev->numSymb != pPrbMapElem->numSymb)
    840  print_err("section info error: previous numSymb %d not equal to current numSymb %d\n", pPrbMapElemPrev->numSymb, pPrbMapElem->numSymb);
    841  }
    842  else
    843  {
    844  sect_geninfo[0].info.symInc = XRAN_SYMBOLNUMBER_INC;
    845  if (pPrbMapElem->nStartSymb != (pPrbMapElemPrev->nStartSymb + pPrbMapElemPrev->numSymb))
    846  print_err("section info error: current startSym %d not equal to previous endSymb %d\n", pPrbMapElem->nStartSymb, pPrbMapElemPrev->nStartSymb + pPrbMapElemPrev->numSymb);
    847  }
    848  }
    849 
    850  if(category == XRAN_CATEGORY_A){
    851  /* no extention sections for category */
    852  sect_geninfo[0].info.ef = 0;
    853  sect_geninfo[0].exDataSize = 0;
    854  } else if (category == XRAN_CATEGORY_B) {
    855  /*add extantion section for BF Weights if update is needed */
    856  if(pPrbMapElem->bf_weight_update){
    857  memset(&m_ext1, 0, sizeof (struct xran_sectionext1_info));
    858  m_ext1.bfwNumber = pPrbMapElem->bf_weight.nAntElmTRx;
    859  m_ext1.bfwiqWidth = pPrbMapElem->iqWidth;
    860  m_ext1.bfwCompMeth = pPrbMapElem->compMethod;
    861  m_ext1.p_bfwIQ = (int16_t*)pPrbMapElem->bf_weight.p_ext_section;
    862  m_ext1.bfwIQ_sz = pPrbMapElem->bf_weight.ext_section_sz;
    863 
    864  sect_geninfo[0].exData[0].type = XRAN_CP_SECTIONEXTCMD_1;
    865  sect_geninfo[0].exData[0].len = sizeof(m_ext1);
    866  sect_geninfo[0].exData[0].data = &m_ext1;
    867 
    868  sect_geninfo[0].info.ef = 1;
    869  sect_geninfo[0].exDataSize = 1;
    870  } else {
    871  sect_geninfo[0].info.ef = 0;
    872  sect_geninfo[0].exDataSize = 0;
    873  }
    874  } else {
    875  print_err("Unsupported Category %d\n", category);
    876  return (-1);
    877  }
    878 
    879  params.numSections = 1;//nsection;
    880  params.sections = sect_geninfo;
    881 
    882  mbuf = xran_ethdi_mbuf_alloc();
    883  if(unlikely(mbuf == NULL)) {
    884  print_err("Alloc fail!\n");
    885  return (-1);
    886  }
    887 
    888  ret = xran_prepare_ctrl_pkt(mbuf, &params, cc_id, ru_port_id, seq_id);
    889  if(ret < 0) {
    890  print_err("Fail to build control plane packet - [%d:%d:%d] dir=%d\n",
    891  frame_id, subframe_id, slot_id, dir);
    892  } else {
    893  /* add in the ethernet header */
    894  struct ether_hdr *const h = (void *)rte_pktmbuf_prepend(mbuf, sizeof(*h));
    895  tx_counter++;
    896  tx_bytes_counter += rte_pktmbuf_pkt_len(mbuf);
    897  p_x_ctx->send_cpmbuf2ring(mbuf, ETHER_TYPE_ECPRI);
    898 
    899  /*for(i=0; i<nsection; i++)*/
    900  xran_cp_add_section_info(pHandle,
    901  dir, cc_id, ru_port_id,
    902  ctx_id,
    903  &sect_geninfo[0].info);
    904  }
    905  }
    906 
    907  return ret;
    908 }
    909 
    910 void tx_cp_dl_cb(struct rte_timer *tim, void *arg)
    911 {
    912  long t1 = MLogTick();
    913  int tti, buf_id;
    914  int i, ret;
    915  uint32_t slot_id, subframe_id, frame_id;
    916  int cc_id;
    917  uint8_t ctx_id;
    918  uint8_t ant_id, num_eAxc, num_CCPorts;
    919  void *pHandle;
    920  int num_list;
    921  struct xran_device_ctx * p_xran_dev_ctx = xran_dev_get_ctx();
    922  struct xran_timer_ctx *pTCtx = (struct xran_timer_ctx *)arg;
    923 
    924  pHandle = NULL; // TODO: temp implemantation
    925  num_eAxc = xran_get_num_eAxc(pHandle);
    926  num_CCPorts = xran_get_num_cc(pHandle);
    927 
    928  if(first_call && p_xran_dev_ctx->enableCP) {
    929 
    930  tti = pTCtx[(xran_lib_ota_tti & 1) ^ 1].tti_to_process;
    931  buf_id = tti % XRAN_N_FE_BUF_LEN;
    932 
    933  slot_id = XranGetSlotNum(tti, SLOTNUM_PER_SUBFRAME);
    935  frame_id = XranGetFrameNum(tti,xran_getSfnSecStart(),SUBFRAMES_PER_SYSTEMFRAME, SLOTNUM_PER_SUBFRAME);
    936  if (tti == 0){
    937  /* Wrap around to next second */
    938  frame_id = (frame_id + NUM_OF_FRAMES_PER_SECOND) & 0x3ff;
    939  }
    940 
    942 
    943  print_dbg("[%d]SFN %d sf %d slot %d\n", tti, frame_id, subframe_id, slot_id);
    944  for(ant_id = 0; ant_id < num_eAxc; ++ant_id) {
    945  for(cc_id = 0; cc_id < num_CCPorts; cc_id++ ) {
    946  /* start new section information list */
    947  xran_cp_reset_section_info(pHandle, XRAN_DIR_DL, cc_id, ant_id, ctx_id);
    948  if(xran_fs_get_slot_type(cc_id, tti, XRAN_SLOT_TYPE_DL) == 1) {
    949  if(p_xran_dev_ctx->sFrontHaulTxPrbMapBbuIoBufCtrl[buf_id][cc_id][ant_id].sBufferList.pBuffers->pData){
    950  num_list = xran_cp_create_and_send_section(pHandle, ant_id, XRAN_DIR_DL, tti, cc_id,
    951  (struct xran_prb_map *)p_xran_dev_ctx->sFrontHaulTxPrbMapBbuIoBufCtrl[buf_id][cc_id][ant_id].sBufferList.pBuffers->pData,
    952  p_xran_dev_ctx->fh_cfg.ru_conf.xranCat, ctx_id);
    953  } else {
    954  print_err("[%d]SFN %d sf %d slot %d: ant_id %d cc_id %d \n", tti, frame_id, subframe_id, slot_id, ant_id, cc_id);
    955  }
    956  } /* if(xran_fs_get_slot_type(cc_id, tti, XRAN_SLOT_TYPE_DL) == 1) */
    957  } /* for(cc_id = 0; cc_id < num_CCPorts; cc_id++) */
    958  } /* for(ant_id = 0; ant_id < num_eAxc; ++ant_id) */
    960  }
    961 }
    962 
    963 void rx_ul_deadline_half_cb(struct rte_timer *tim, void *arg)
    964 {
    965  long t1 = MLogTick();
    966  struct xran_device_ctx * p_xran_dev_ctx = xran_dev_get_ctx();
    967  xran_status_t status;
    968  /* half of RX for current TTI as measured against current OTA time */
    970  int32_t cc_id;
    971  uint32_t nFrameIdx;
    972  uint32_t nSubframeIdx;
    973  uint32_t nSlotIdx;
    974  uint64_t nSecond;
    975 
    976  uint32_t nXranTime = xran_get_slot_idx(&nFrameIdx, &nSubframeIdx, &nSlotIdx, &nSecond);
    978  + nSubframeIdx*SLOTNUM_PER_SUBFRAME
    979  + nSlotIdx;
    980 
    981  if(p_xran_dev_ctx->xran2phy_mem_ready == 0)
    982  return;
    983 
    984  for(cc_id = 0; cc_id < xran_get_num_cc(p_xran_dev_ctx); cc_id++) {
    985  if(p_xran_dev_ctx->rx_packet_callback_tracker[rx_tti % XRAN_N_FE_BUF_LEN][cc_id] == 0){
    986  struct xran_cb_tag *pTag = p_xran_dev_ctx->pCallbackTag[cc_id];
    987  pTag->slotiId = rx_tti;
    988  pTag->symbol = 0; /* last 7 sym means full slot of Symb */
    989  status = XRAN_STATUS_SUCCESS;
    990  if(p_xran_dev_ctx->pCallback[cc_id])
    991  p_xran_dev_ctx->pCallback[cc_id](p_xran_dev_ctx->pCallbackTag[cc_id], status);
    992  } else {
    993  p_xran_dev_ctx->rx_packet_callback_tracker[rx_tti % XRAN_N_FE_BUF_LEN][cc_id] = 0;
    994  }
    995  }
    997 }
    998 
    999 void rx_ul_deadline_full_cb(struct rte_timer *tim, void *arg)
    1000 {
    1001  long t1 = MLogTick();
    1002  struct xran_device_ctx * p_xran_dev_ctx = xran_dev_get_ctx();
    1003  xran_status_t status = 0;
    1005  int32_t cc_id = 0;
    1006  uint32_t nFrameIdx;
    1007  uint32_t nSubframeIdx;
    1008  uint32_t nSlotIdx;
    1009  uint64_t nSecond;
    1010 
    1011  uint32_t nXranTime = xran_get_slot_idx(&nFrameIdx, &nSubframeIdx, &nSlotIdx, &nSecond);
    1013  + nSubframeIdx*SLOTNUM_PER_SUBFRAME
    1014  + nSlotIdx;
    1015 
    1016  if(rx_tti == 0)
    1017  rx_tti = (xran_fs_get_max_slot_SFN()-1);
    1018  else
    1019  rx_tti -= 1; /* end of RX for prev TTI as measured against current OTA time */
    1020 
    1021  if(p_xran_dev_ctx->xran2phy_mem_ready == 0)
    1022  return;
    1023 
    1024  /* U-Plane */
    1025  for(cc_id = 0; cc_id < xran_get_num_cc(p_xran_dev_ctx); cc_id++) {
    1026  struct xran_cb_tag *pTag = p_xran_dev_ctx->pCallbackTag[cc_id];
    1027  pTag->slotiId = rx_tti;
    1028  pTag->symbol = 7; /* last 7 sym means full slot of Symb */
    1029  status = XRAN_STATUS_SUCCESS;
    1030  if(p_xran_dev_ctx->pCallback[cc_id])
    1031  p_xran_dev_ctx->pCallback[cc_id](p_xran_dev_ctx->pCallbackTag[cc_id], status);
    1032 
    1033  if(p_xran_dev_ctx->pPrachCallback[cc_id]){
    1034  struct xran_cb_tag *pTag = p_xran_dev_ctx->pPrachCallbackTag[cc_id];
    1035  pTag->slotiId = rx_tti;
    1036  pTag->symbol = 7; /* last 7 sym means full slot of Symb */
    1037  p_xran_dev_ctx->pPrachCallback[cc_id](p_xran_dev_ctx->pPrachCallbackTag[cc_id], status);
    1038  }
    1039  }
    1040 
    1042 }
    1043 
    1044 
    1045 void tx_cp_ul_cb(struct rte_timer *tim, void *arg)
    1046 {
    1047  long t1 = MLogTick();
    1048  int tti, buf_id;
    1049  int i, ret;
    1050  uint32_t slot_id, subframe_id, frame_id;
    1051  int32_t cc_id;
    1052  int ant_id, prach_port_id;
    1053  uint16_t beam_id;
    1054  uint8_t num_eAxc, num_CCPorts;
    1055  uint8_t ctx_id;
    1056 
    1057  void *pHandle;
    1058  int num_list;
    1059 
    1060  struct xran_device_ctx * p_xran_dev_ctx = xran_dev_get_ctx();
    1061  struct xran_prach_cp_config *pPrachCPConfig = &(p_xran_dev_ctx->PrachCPConfig);
    1062  struct xran_timer_ctx *pTCtx = (struct xran_timer_ctx *)arg;
    1063 
    1064  pHandle = NULL; // TODO: temp implemantation
    1065 
    1066  if(xran_get_ru_category(pHandle) == XRAN_CATEGORY_A)
    1067  num_eAxc = xran_get_num_eAxc(pHandle);
    1068  else
    1069  num_eAxc = xran_get_num_eAxcUl(pHandle);
    1070 
    1071  num_CCPorts = xran_get_num_cc(pHandle);
    1072  tti = pTCtx[(xran_lib_ota_tti & 1) ^ 1].tti_to_process;
    1073  buf_id = tti % XRAN_N_FE_BUF_LEN;
    1074  slot_id = XranGetSlotNum(tti, SLOTNUM_PER_SUBFRAME);
    1076  frame_id = XranGetFrameNum(tti,xran_getSfnSecStart(),SUBFRAMES_PER_SYSTEMFRAME, SLOTNUM_PER_SUBFRAME);
    1077  if (tti == 0) {
    1078  //Wrap around to next second
    1079  frame_id = (frame_id + NUM_OF_FRAMES_PER_SECOND) & 0x3ff;
    1080  }
    1082 
    1083  if(first_call && p_xran_dev_ctx->enableCP) {
    1084 
    1085  print_dbg("[%d]SFN %d sf %d slot %d\n", tti, frame_id, subframe_id, slot_id);
    1086 
    1087  for(ant_id = 0; ant_id < num_eAxc; ++ant_id) {
    1088  for(cc_id = 0; cc_id < num_CCPorts; cc_id++) {
    1089  if(xran_fs_get_slot_type(cc_id, tti, XRAN_SLOT_TYPE_UL) == 1 ||
    1090  xran_fs_get_slot_type(cc_id, tti, XRAN_SLOT_TYPE_SP) == 1 ){
    1091  /* start new section information list */
    1092  xran_cp_reset_section_info(pHandle, XRAN_DIR_UL, cc_id, ant_id, ctx_id);
    1093  num_list = xran_cp_create_and_send_section(pHandle, ant_id, XRAN_DIR_UL, tti, cc_id,
    1094  (struct xran_prb_map *)p_xran_dev_ctx->sFrontHaulTxPrbMapBbuIoBufCtrl[buf_id][cc_id][ant_id].sBufferList.pBuffers->pData,
    1095  p_xran_dev_ctx->fh_cfg.ru_conf.xranCat, ctx_id);
    1096  } /* if(xran_fs_get_slot_type(cc_id, tti, XRAN_SLOT_TYPE_UL) == 1 */
    1097  } /* for(cc_id = 0; cc_id < num_CCPorts; cc_id++) */
    1098  } /* for(ant_id = 0; ant_id < num_eAxc; ++ant_id) */
    1099 
    1100  if(p_xran_dev_ctx->enablePrach) {
    1101  uint32_t is_prach_slot = xran_is_prach_slot(subframe_id, slot_id);
    1102  if(((frame_id % pPrachCPConfig->x) == pPrachCPConfig->y[0]) && (is_prach_slot==1)) { //is prach slot
    1103  for(ant_id = 0; ant_id < num_eAxc; ++ant_id) {
    1104  for(cc_id = 0; cc_id < num_CCPorts; cc_id++) {
    1105  struct xran_cp_gen_params params;
    1106  struct xran_section_gen_info sect_geninfo[8];
    1107  struct rte_mbuf *mbuf = xran_ethdi_mbuf_alloc();
    1108  prach_port_id = ant_id + num_eAxc;
    1109  /* start new section information list */
    1110  xran_cp_reset_section_info(pHandle, XRAN_DIR_UL, cc_id, prach_port_id, ctx_id);
    1111 
    1112  beam_id = xran_get_beamid(pHandle, XRAN_DIR_UL, cc_id, prach_port_id, slot_id);
    1113  ret = generate_cpmsg_prach(pHandle, &params, sect_geninfo, mbuf, p_xran_dev_ctx,
    1114  frame_id, subframe_id, slot_id,
    1115  beam_id, cc_id, prach_port_id,
    1116  xran_get_cp_seqid(pHandle, XRAN_DIR_UL, cc_id, prach_port_id));
    1117  if (ret == XRAN_STATUS_SUCCESS)
    1118  send_cpmsg(pHandle, mbuf, &params, sect_geninfo,
    1119  cc_id, prach_port_id, xran_get_cp_seqid(pHandle, XRAN_DIR_UL, cc_id, prach_port_id));
    1120  }
    1121  }
    1122  }
    1123  }
    1124  } /* if(p_xran_dev_ctx->enableCP) */
    1125 
    1126  MLogTask(PID_CP_UL_CB, t1, MLogTick());
    1127 }
    1128 
    1129 void ul_up_full_slot_cb(struct rte_timer *tim, void *arg)
    1130 {
    1131  long t1 = MLogTick();
    1132  rte_pause();
    1134 }
    1135 
    1136 void tti_to_phy_cb(struct rte_timer *tim, void *arg)
    1137 {
    1138  long t1 = MLogTick();
    1139  struct xran_device_ctx * p_xran_dev_ctx = xran_dev_get_ctx();
    1140 
    1141  p_xran_dev_ctx->phy_tti_cb_done = 1; /* DPDK called CB */
    1142  if (first_call){
    1143  if(p_xran_dev_ctx->ttiCb[XRAN_CB_TTI]){
    1144  if(p_xran_dev_ctx->SkipTti[XRAN_CB_TTI] <= 0){
    1145  p_xran_dev_ctx->ttiCb[XRAN_CB_TTI](p_xran_dev_ctx->TtiCbParam[XRAN_CB_TTI]);
    1146  }else{
    1147  p_xran_dev_ctx->SkipTti[XRAN_CB_TTI]--;
    1148  }
    1149  }
    1150  } else {
    1151  if(p_xran_dev_ctx->ttiCb[XRAN_CB_TTI]){
    1153  uint32_t slot_id = XranGetSlotNum(tti, SLOTNUM_PER_SUBFRAME);
    1155  uint32_t frame_id = XranGetFrameNum(tti,xran_getSfnSecStart(),SUBFRAMES_PER_SYSTEMFRAME, SLOTNUM_PER_SUBFRAME);
    1156  if((frame_id == xran_max_frame)&&(subframe_id==9)&&(slot_id == SLOTNUM_PER_SUBFRAME-1)) { //(tti == xran_fs_get_max_slot()-1)
    1157  first_call = 1;
    1158  }
    1159  }
    1160  }
    1161 
    1163 }
    1164 
    1166 {
    1167  int res = 0;
    1168  cpu_set_t cpuset;
    1169  int32_t do_reset = 0;
    1170  uint64_t t1 = 0;
    1171  uint64_t delta;
    1172  int32_t result1,i,j;
    1173  uint32_t delay_cp_dl;
    1174  uint32_t delay_cp_ul;
    1175  uint32_t delay_up;
    1176  uint32_t delay_up_ul;
    1177  uint32_t delay_cp2up;
    1178  uint32_t sym_cp_dl;
    1179  uint32_t sym_cp_ul;
    1180  uint32_t sym_up_ul;
    1181  int32_t sym_up;
    1182  struct sched_param sched_param;
    1183  struct xran_device_ctx * p_xran_dev_ctx = xran_dev_get_ctx();
    1184  uint64_t tWake = 0, tWakePrev = 0, tUsed = 0;
    1185  struct cb_elem_entry * cb_elm = NULL;
    1186 
    1187  /* ToS = Top of Second start +- 1.5us */
    1188  struct timespec ts;
    1189 
    1190  char buff[100];
    1191 
    1192  xran_core_used = rte_lcore_id();
    1193  printf("%s [CPU %2d] [PID: %6d]\n", __FUNCTION__, rte_lcore_id(), getpid());
    1194 
    1195  /* set main thread affinity mask to CPU2 */
    1196  sched_param.sched_priority = 98;
    1197 
    1198  CPU_ZERO(&cpuset);
    1199  CPU_SET(p_xran_dev_ctx->fh_init.io_cfg.timing_core, &cpuset);
    1200  if (result1 = pthread_setaffinity_np(pthread_self(), sizeof(cpu_set_t), &cpuset))
    1201  {
    1202  printf("pthread_setaffinity_np failed: coreId = 2, result1 = %d\n",result1);
    1203  }
    1204  if ((result1 = pthread_setschedparam(pthread_self(), 1, &sched_param)))
    1205  {
    1206  printf("priority is not changed: coreId = 2, result1 = %d\n",result1);
    1207  }
    1208 
    1209  if (p_xran_dev_ctx->fh_init.io_cfg.id == O_DU) {
    1210  do {
    1211  timespec_get(&ts, TIME_UTC);
    1212  }while (ts.tv_nsec >1500);
    1213  struct tm * ptm = gmtime(&ts.tv_sec);
    1214  if(ptm){
    1215  strftime(buff, sizeof buff, "%D %T", ptm);
    1216  printf("O-DU: thread_run start time: %s.%09ld UTC [%ld]\n", buff, ts.tv_nsec, interval_us);
    1217  }
    1218 
    1219  delay_cp_dl = interval_us - p_xran_dev_ctx->fh_init.T1a_max_cp_dl;
    1220  delay_cp_ul = interval_us - p_xran_dev_ctx->fh_init.T1a_max_cp_ul;
    1221  delay_up = p_xran_dev_ctx->fh_init.T1a_max_up;
    1222  delay_up_ul = p_xran_dev_ctx->fh_init.Ta4_max;
    1223 
    1224  delay_cp2up = delay_up-delay_cp_dl;
    1225 
    1226  sym_cp_dl = delay_cp_dl*1000/(interval_us*1000/N_SYM_PER_SLOT)+1;
    1227  sym_cp_ul = delay_cp_ul*1000/(interval_us*1000/N_SYM_PER_SLOT)+1;
    1228  sym_up_ul = delay_up_ul*1000/(interval_us*1000/N_SYM_PER_SLOT);
    1229  p_xran_dev_ctx->sym_up = sym_up = -(delay_up*1000/(interval_us*1000/N_SYM_PER_SLOT));
    1230  p_xran_dev_ctx->sym_up_ul = sym_up_ul = (delay_up_ul*1000/(interval_us*1000/N_SYM_PER_SLOT)+1);
    1231 
    1232  printf("Start C-plane DL %d us after TTI [trigger on sym %d]\n", delay_cp_dl, sym_cp_dl);
    1233  printf("Start C-plane UL %d us after TTI [trigger on sym %d]\n", delay_cp_ul, sym_cp_ul);
    1234  printf("Start U-plane DL %d us before OTA [offset in sym %d]\n", delay_up, sym_up);
    1235  printf("Start U-plane UL %d us OTA [offset in sym %d]\n", delay_up_ul, sym_up_ul);
    1236 
    1237  printf("C-plane to U-plane delay %d us after TTI\n", delay_cp2up);
    1238  printf("Start Sym timer %ld ns\n", TX_TIMER_INTERVAL/N_SYM_PER_SLOT);
    1239 
    1241  if(cb_elm){
    1242  LIST_INSERT_HEAD(&p_xran_dev_ctx->sym_cb_list_head[0][sym_cp_dl],
    1243  cb_elm,
    1244  pointers);
    1245  } else {
    1246  print_err("cb_elm is NULL\n");
    1247  res = -1;
    1248  goto err0;
    1249  }
    1250 
    1252  if(cb_elm){
    1253  LIST_INSERT_HEAD(&p_xran_dev_ctx->sym_cb_list_head[0][sym_cp_ul],
    1254  cb_elm,
    1255  pointers);
    1256  } else {
    1257  print_err("cb_elm is NULL\n");
    1258  res = -1;
    1259  goto err0;
    1260  }
    1261 
    1262  /* Full slot UL OTA + delay_up_ul */
    1264  if(cb_elm){
    1265  LIST_INSERT_HEAD(&p_xran_dev_ctx->sym_cb_list_head[0][sym_up_ul],
    1266  cb_elm,
    1267  pointers);
    1268  } else {
    1269  print_err("cb_elm is NULL\n");
    1270  res = -1;
    1271  goto err0;
    1272  }
    1273 
    1274  /* Half slot UL OTA + delay_up_ul*/
    1276  if(cb_elm){
    1277  LIST_INSERT_HEAD(&p_xran_dev_ctx->sym_cb_list_head[0][sym_up_ul + N_SYM_PER_SLOT/2],
    1278  cb_elm,
    1279  pointers);
    1280  } else {
    1281  print_err("cb_elm is NULL\n");
    1282  res = -1;
    1283  goto err0;
    1284  }
    1285  } else { // APP_O_RU
    1286  /* calcualte when to send UL U-plane */
    1287  delay_up = p_xran_dev_ctx->fh_init.Ta3_min;
    1288  p_xran_dev_ctx->sym_up = sym_up = delay_up*1000/(interval_us*1000/N_SYM_PER_SLOT)+1;
    1289  printf("Start UL U-plane %d us after OTA [offset in sym %d]\n", delay_up, sym_up);
    1290  do {
    1291  timespec_get(&ts, TIME_UTC);
    1292  }while (ts.tv_nsec >1500);
    1293  struct tm * ptm = gmtime(&ts.tv_sec);
    1294  if(ptm){
    1295  strftime(buff, sizeof buff, "%D %T", ptm);
    1296  printf("RU: thread_run start time: %s.%09ld UTC [%ld]\n", buff, ts.tv_nsec, interval_us);
    1297  }
    1298  }
    1299 
    1300  printf("interval_us %ld\n", interval_us);
    1301  do {
    1302  timespec_get(&ts, TIME_UTC);
    1303  }while (ts.tv_nsec == 0);
    1304 
    1305  while(1) {
    1306  /* Update Usage Stats */
    1307  tWake = xran_tick();
    1308  xran_used_tick += tUsed;
    1309  if (tWakePrev)
    1310  {
    1311  xran_total_tick += get_ticks_diff(tWake, tWakePrev);
    1312  }
    1313  tWakePrev = tWake;
    1314  tUsed = 0;
    1315 
    1316  delta = poll_next_tick(interval_us*1000L/N_SYM_PER_SLOT, &tUsed);
    1318  break;
    1319 
    1320  if (likely(XRAN_RUNNING == xran_if_current_state))
    1321  sym_ota_cb(&sym_timer, timer_ctx, &tUsed);
    1322  }
    1323 
    1324  err0:
    1325  for (i = 0; i< XRAN_MAX_SECTOR_NR; i++){
    1326  for (j = 0; j< XRAN_NUM_OF_SYMBOL_PER_SLOT; j++){
    1327  struct cb_elem_entry *cb_elm;
    1328  LIST_FOREACH(cb_elm, &p_xran_dev_ctx->sym_cb_list_head[i][j], pointers){
    1329  if(cb_elm){
    1330  LIST_REMOVE(cb_elm, pointers);
    1331  xran_destroy_cb(cb_elm);
    1332  }
    1333  }
    1334  }
    1335  }
    1336 
    1337  printf("Closing timing source thread...tx counter %lu, rx counter %lu\n", tx_counter, rx_counter);
    1338  return res;
    1339 }
    1340 
    1341 /* Handle ecpri format. */
    1342 int handle_ecpri_ethertype(struct rte_mbuf *pkt, uint64_t rx_time)
    1343 {
    1344  const struct xran_ecpri_hdr *ecpri_hdr;
    1345  unsigned long t1;
    1346  int32_t ret = MBUF_FREE;
    1347 
    1348  if (rte_pktmbuf_data_len(pkt) < sizeof(struct xran_ecpri_hdr)) {
    1349  print_err("Packet too short - %d bytes", rte_pktmbuf_data_len(pkt));
    1350  return 0;
    1351  }
    1352 
    1353  /* check eCPRI header. */
    1354  ecpri_hdr = rte_pktmbuf_mtod(pkt, struct xran_ecpri_hdr *);
    1355  if(ecpri_hdr == NULL){
    1356  print_err("ecpri_hdr error\n");
    1357  return MBUF_FREE;
    1358  }
    1359 
    1360  rx_bytes_counter += rte_pktmbuf_pkt_len(pkt);
    1361  switch(ecpri_hdr->cmnhdr.ecpri_mesg_type) {
    1362  case ECPRI_IQ_DATA:
    1363  // t1 = MLogTick();
    1364  ret = process_mbuf(pkt);
    1365  // MLogTask(PID_PROCESS_UP_PKT, t1, MLogTick());
    1366  break;
    1367  // For RU emulation
    1368  case ECPRI_RT_CONTROL_DATA:
    1369  t1 = MLogTick();
    1370  if(xran_dev_get_ctx()->fh_init.io_cfg.id == O_RU) {
    1371  ret = process_cplane(pkt);
    1372  } else {
    1373  print_err("O-DU recevied C-Plane message!");
    1374  }
    1376  break;
    1377  default:
    1378  print_err("Invalid eCPRI message type - %d", ecpri_hdr->cmnhdr.ecpri_mesg_type);
    1379  }
    1380 
    1381  return ret;
    1382 }
    1383 
    1385  struct rte_mbuf *mbuf,
    1386  void *iq_data_start,
    1387  uint16_t size,
    1388  uint8_t CC_ID,
    1389  uint8_t Ant_ID,
    1390  uint8_t frame_id,
    1391  uint8_t subframe_id,
    1392  uint8_t slot_id,
    1393  uint8_t symb_id,
    1394  uint16_t num_prbu,
    1395  uint16_t start_prbu,
    1396  uint16_t sym_inc,
    1397  uint16_t rb,
    1398  uint16_t sect_id,
    1399  uint32_t *mb_free)
    1400 {
    1401  char *pos = NULL;
    1402  struct xran_device_ctx * p_xran_dev_ctx = xran_dev_get_ctx();
    1403  uint8_t symb_id_offset;
    1404  uint32_t tti = 0;
    1405  xran_status_t status;
    1406  void *pHandle = NULL;
    1407  struct rte_mbuf *mb;
    1408 
    1409  uint16_t iq_sample_size_bits = 16;
    1410 
    1411  if(p_xran_dev_ctx->xran2phy_mem_ready == 0)
    1412  return 0;
    1413 
    1414  tti = frame_id * SLOTS_PER_SYSTEMFRAME + subframe_id * SLOTNUM_PER_SUBFRAME + slot_id;
    1415 
    1416  status = tti << 16 | symb_id;
    1417 
    1418  if(CC_ID < XRAN_MAX_SECTOR_NR && Ant_ID < XRAN_MAX_ANTENNA_NR && symb_id < XRAN_NUM_OF_SYMBOL_PER_SLOT){
    1419  symb_id_offset = symb_id - p_xran_dev_ctx->prach_start_symbol[CC_ID]; //make the storing of prach packets to start from 0 for easy of processing within PHY
    1420  pos = (char*) p_xran_dev_ctx->sFHPrachRxBbuIoBufCtrl[tti % XRAN_N_FE_BUF_LEN][CC_ID][Ant_ID].sBufferList.pBuffers[symb_id_offset].pData;
    1421  if(pos && iq_data_start && size){
    1422  if (p_xran_dev_ctx->fh_cfg.ru_conf.byteOrder == XRAN_CPU_LE_BYTE_ORDER) {
    1423  int idx = 0;
    1424  uint16_t *psrc = (uint16_t *)iq_data_start;
    1425  uint16_t *pdst = (uint16_t *)pos;
    1426  /* network byte (be) order of IQ to CPU byte order (le) */
    1427  for (idx = 0; idx < size/sizeof(int16_t); idx++){
    1428  pdst[idx] = (psrc[idx]>>8) | (psrc[idx]<<8); //rte_be_to_cpu_16(psrc[idx]);
    1429  }
    1430  *mb_free = MBUF_FREE;
    1431  }else {
    1432  mb = p_xran_dev_ctx->sFHPrachRxBbuIoBufCtrl[tti % XRAN_N_FE_BUF_LEN][CC_ID][Ant_ID].sBufferList.pBuffers[symb_id_offset].pCtrl;
    1433  if(mb){
    1434  rte_pktmbuf_free(mb);
    1435  }else{
    1436  print_err("mb==NULL\n");
    1437  }
    1438  p_xran_dev_ctx->sFHPrachRxBbuIoBufCtrl[tti % XRAN_N_FE_BUF_LEN][CC_ID][Ant_ID].sBufferList.pBuffers[symb_id_offset].pData = iq_data_start;
    1439  p_xran_dev_ctx->sFHPrachRxBbuIoBufCtrl[tti % XRAN_N_FE_BUF_LEN][CC_ID][Ant_ID].sBufferList.pBuffers[symb_id_offset].pCtrl = mbuf;
    1440  *mb_free = MBUF_KEEP;
    1441  }
    1442  } else {
    1443  print_err("pos %p iq_data_start %p size %d\n",pos, iq_data_start, size);
    1444  }
    1445  } else {
    1446  print_err("TTI %d(f_%d sf_%d slot_%d) CC %d Ant_ID %d symb_id %d\n",tti, frame_id, subframe_id, slot_id, CC_ID, Ant_ID, symb_id);
    1447  }
    1448 
    1449 /* if (symb_id == p_xran_dev_ctx->prach_last_symbol[CC_ID] ){
    1450  p_xran_dev_ctx->rx_packet_prach_tracker[tti % XRAN_N_FE_BUF_LEN][CC_ID][symb_id]++;
    1451  if(p_xran_dev_ctx->rx_packet_prach_tracker[tti % XRAN_N_FE_BUF_LEN][CC_ID][symb_id] >= xran_get_num_eAxc(pHandle)){
    1452  if(p_xran_dev_ctx->pPrachCallback[0])
    1453  p_xran_dev_ctx->pPrachCallback[0](p_xran_dev_ctx->pPrachCallbackTag[0], status);
    1454  p_xran_dev_ctx->rx_packet_prach_tracker[tti % XRAN_N_FE_BUF_LEN][CC_ID][symb_id] = 0;
    1455  }
    1456  }
    1457 */
    1458  return size;
    1459 }
    1460 
    1461 int32_t xran_process_srs_sym(void *arg,
    1462  struct rte_mbuf *mbuf,
    1463  void *iq_data_start,
    1464  uint16_t size,
    1465  uint8_t CC_ID,
    1466  uint8_t Ant_ID,
    1467  uint8_t frame_id,
    1468  uint8_t subframe_id,
    1469  uint8_t slot_id,
    1470  uint8_t symb_id,
    1471  uint16_t num_prbu,
    1472  uint16_t start_prbu,
    1473  uint16_t sym_inc,
    1474  uint16_t rb,
    1475  uint16_t sect_id,
    1476  uint32_t *mb_free)
    1477 {
    1478  char *pos = NULL;
    1479  struct xran_device_ctx * p_xran_dev_ctx = xran_dev_get_ctx();
    1480  uint32_t tti = 0;
    1481  xran_status_t status;
    1482  void *pHandle = NULL;
    1483  struct rte_mbuf *mb = NULL;
    1484 
    1485  uint16_t iq_sample_size_bits = 16;
    1486 
    1487  if(p_xran_dev_ctx->xran2phy_mem_ready == 0)
    1488  return 0;
    1489 
    1490  tti = frame_id * SLOTS_PER_SYSTEMFRAME + subframe_id * SLOTNUM_PER_SUBFRAME + slot_id;
    1491 
    1492  status = tti << 16 | symb_id;
    1493 
    1494  if(CC_ID < XRAN_MAX_SECTOR_NR && Ant_ID < p_xran_dev_ctx->fh_cfg.nAntElmTRx && symb_id < XRAN_NUM_OF_SYMBOL_PER_SLOT) {
    1495  pos = (char*) p_xran_dev_ctx->sFHSrsRxBbuIoBufCtrl[tti % XRAN_N_FE_BUF_LEN][CC_ID][Ant_ID].sBufferList.pBuffers[symb_id].pData;
    1496  pos += start_prbu * N_SC_PER_PRB*(iq_sample_size_bits/8)*2;
    1497  if(pos && iq_data_start && size){
    1498  if (p_xran_dev_ctx->fh_cfg.ru_conf.byteOrder == XRAN_CPU_LE_BYTE_ORDER) {
    1499  int idx = 0;
    1500  uint16_t *psrc = (uint16_t *)iq_data_start;
    1501  uint16_t *pdst = (uint16_t *)pos;
    1502  rte_panic("XRAN_CPU_LE_BYTE_ORDER is not supported 0x16%lx\n", (long)mb);
    1503  /* network byte (be) order of IQ to CPU byte order (le) */
    1504  for (idx = 0; idx < size/sizeof(int16_t); idx++){
    1505  pdst[idx] = (psrc[idx]>>8) | (psrc[idx]<<8); //rte_be_to_cpu_16(psrc[idx]);
    1506  }
    1507  } else if (likely(p_xran_dev_ctx->fh_cfg.ru_conf.byteOrder == XRAN_NE_BE_BYTE_ORDER)){
    1508  if (likely (p_xran_dev_ctx->fh_init.mtu >=
    1509  p_xran_dev_ctx->fh_cfg.nULRBs * N_SC_PER_PRB*(iq_sample_size_bits/8)*2)) {
    1510  /* no fragmentation */
    1511  mb = p_xran_dev_ctx->sFHSrsRxBbuIoBufCtrl[tti % XRAN_N_FE_BUF_LEN][CC_ID][Ant_ID].sBufferList.pBuffers[symb_id].pCtrl;
    1512  if(mb){
    1513  rte_pktmbuf_free(mb);
    1514  }else{
    1515  print_err("mb==NULL\n");
    1516  }
    1517  p_xran_dev_ctx->sFHSrsRxBbuIoBufCtrl[tti % XRAN_N_FE_BUF_LEN][CC_ID][Ant_ID].sBufferList.pBuffers[symb_id].pData = iq_data_start;
    1518  p_xran_dev_ctx->sFHSrsRxBbuIoBufCtrl[tti % XRAN_N_FE_BUF_LEN][CC_ID][Ant_ID].sBufferList.pBuffers[symb_id].pCtrl = mbuf;
    1519  *mb_free = MBUF_KEEP;
    1520  } else {
    1521  /* packet can be fragmented copy RBs */
    1522  rte_memcpy(pos, iq_data_start, size);
    1523  *mb_free = MBUF_FREE;
    1524  }
    1525  }
    1526  } else {
    1527  print_err("pos %p iq_data_start %p size %d\n",pos, iq_data_start, size);
    1528  }
    1529  } else {
    1530  print_err("TTI %d(f_%d sf_%d slot_%d) CC %d Ant_ID %d symb_id %d\n",tti, frame_id, subframe_id, slot_id, CC_ID, Ant_ID, symb_id);
    1531  }
    1532 
    1533  return size;
    1534 }
    1535 
    1536 int32_t xran_pkt_validate(void *arg,
    1537  struct rte_mbuf *mbuf,
    1538  void *iq_data_start,
    1539  uint16_t size,
    1540  uint8_t CC_ID,
    1541  uint8_t Ant_ID,
    1542  uint8_t frame_id,
    1543  uint8_t subframe_id,
    1544  uint8_t slot_id,
    1545  uint8_t symb_id,
    1546  struct ecpri_seq_id *seq_id,
    1547  uint16_t num_prbu,
    1548  uint16_t start_prbu,
    1549  uint16_t sym_inc,
    1550  uint16_t rb,
    1551  uint16_t sect_id)
    1552 {
    1553  struct xran_device_ctx * pctx = xran_dev_get_ctx();
    1554  struct xran_common_counters *pCnt = &pctx->fh_counters;
    1555 
    1556  if(pctx->fh_init.io_cfg.id == O_DU) {
    1557  if(xran_check_upul_seqid(NULL, CC_ID, Ant_ID, slot_id, seq_id->seq_id) != XRAN_STATUS_SUCCESS) {
    1558  pCnt->Rx_pkt_dupl++;
    1559  return (XRAN_STATUS_FAIL);
    1560  }
    1561  }else if(pctx->fh_init.io_cfg.id == O_RU) {
    1562  if(xran_check_updl_seqid(NULL, CC_ID, Ant_ID, slot_id, seq_id->seq_id) != XRAN_STATUS_SUCCESS) {
    1563  pCnt->Rx_pkt_dupl++;
    1564  return (XRAN_STATUS_FAIL);
    1565  }
    1566  }else {
    1567  print_err("incorrect dev type %d\n", pctx->fh_init.io_cfg.id);
    1568  }
    1569 
    1570  rx_counter++;
    1571 
    1572  pCnt->Rx_on_time++;
    1573  pCnt->Total_msgs_rcvd++;
    1574 
    1575  return XRAN_STATUS_SUCCESS;
    1576 }
    1577 
    1578 int32_t xran_process_rx_sym(void *arg,
    1579  struct rte_mbuf *mbuf,
    1580  void *iq_data_start,
    1581  uint16_t size,
    1582  uint8_t CC_ID,
    1583  uint8_t Ant_ID,
    1584  uint8_t frame_id,
    1585  uint8_t subframe_id,
    1586  uint8_t slot_id,
    1587  uint8_t symb_id,
    1588  uint16_t num_prbu,
    1589  uint16_t start_prbu,
    1590  uint16_t sym_inc,
    1591  uint16_t rb,
    1592  uint16_t sect_id,
    1593  uint32_t *mb_free)
    1594 {
    1595  char *pos = NULL;
    1596  struct xran_device_ctx * p_xran_dev_ctx = xran_dev_get_ctx();
    1597  uint32_t tti = 0;
    1598  xran_status_t status;
    1599  void *pHandle = NULL;
    1600  struct rte_mbuf *mb = NULL;
    1601  struct xran_prb_map * pRbMap = NULL;
    1602  struct xran_prb_elm * prbMapElm = NULL;
    1603 
    1604  uint16_t iq_sample_size_bits = 16;
    1605 
    1606  tti = frame_id * SLOTS_PER_SYSTEMFRAME + subframe_id * SLOTNUM_PER_SUBFRAME + slot_id;
    1607 
    1608  status = tti << 16 | symb_id;
    1609 
    1610  if(CC_ID < XRAN_MAX_SECTOR_NR && Ant_ID < XRAN_MAX_ANTENNA_NR && symb_id < XRAN_NUM_OF_SYMBOL_PER_SLOT){
    1611  pos = (char*) p_xran_dev_ctx->sFrontHaulRxBbuIoBufCtrl[tti % XRAN_N_FE_BUF_LEN][CC_ID][Ant_ID].sBufferList.pBuffers[symb_id].pData;
    1612  pRbMap = (struct xran_prb_map *) p_xran_dev_ctx->sFrontHaulRxPrbMapBbuIoBufCtrl[tti % XRAN_N_FE_BUF_LEN][CC_ID][Ant_ID].sBufferList.pBuffers->pData;
    1613  if(pRbMap){
    1614  prbMapElm = &pRbMap->prbMap[sect_id];
    1615  if(sect_id >= pRbMap->nPrbElm) {
    1616  print_err("sect_id %d !=pRbMap->nPrbElm %d\n", sect_id,pRbMap->nPrbElm);
    1617  *mb_free = MBUF_FREE;
    1618  return size;
    1619  }
    1620  } else {
    1621  print_err("pRbMap==NULL\n");
    1622  *mb_free = MBUF_FREE;
    1623  return size;
    1624  }
    1625 
    1626  pos += start_prbu * N_SC_PER_PRB*(iq_sample_size_bits/8)*2;
    1627  if(pos && iq_data_start && size){
    1628  if (p_xran_dev_ctx->fh_cfg.ru_conf.byteOrder == XRAN_CPU_LE_BYTE_ORDER) {
    1629  int idx = 0;
    1630  uint16_t *psrc = (uint16_t *)iq_data_start;
    1631  uint16_t *pdst = (uint16_t *)pos;
    1632  rte_panic("XRAN_CPU_LE_BYTE_ORDER is not supported 0x16%lx\n", (long)mb);
    1633  /* network byte (be) order of IQ to CPU byte order (le) */
    1634  for (idx = 0; idx < size/sizeof(int16_t); idx++){
    1635  pdst[idx] = (psrc[idx]>>8) | (psrc[idx]<<8); //rte_be_to_cpu_16(psrc[idx]);
    1636  }
    1637  } else if (likely(p_xran_dev_ctx->fh_cfg.ru_conf.byteOrder == XRAN_NE_BE_BYTE_ORDER)){
    1638  if (/*likely (p_xran_dev_ctx->fh_init.mtu >=
    1639  p_xran_dev_ctx->fh_cfg.nULRBs * N_SC_PER_PRB*(iq_sample_size_bits/8)*2)
    1640  && p_xran_dev_ctx->fh_init.io_cfg.id == O_DU*/ 1) {
    1641  if (pRbMap->nPrbElm == 1){
    1642  /* no fragmentation */
    1643  mb = p_xran_dev_ctx->sFrontHaulRxBbuIoBufCtrl[tti % XRAN_N_FE_BUF_LEN][CC_ID][Ant_ID].sBufferList.pBuffers[symb_id].pCtrl;
    1644  if(mb){
    1645  rte_pktmbuf_free(mb);
    1646  }else{
    1647  print_err("mb==NULL\n");
    1648  }
    1649  p_xran_dev_ctx->sFrontHaulRxBbuIoBufCtrl[tti % XRAN_N_FE_BUF_LEN][CC_ID][Ant_ID].sBufferList.pBuffers[symb_id].pData = iq_data_start;
    1650  p_xran_dev_ctx->sFrontHaulRxBbuIoBufCtrl[tti % XRAN_N_FE_BUF_LEN][CC_ID][Ant_ID].sBufferList.pBuffers[symb_id].pCtrl = mbuf;
    1651  *mb_free = MBUF_KEEP;
    1652  } else {
    1653  prbMapElm = &pRbMap->prbMap[sect_id];
    1654  struct xran_section_desc *p_sec_desc = prbMapElm->p_sec_desc[symb_id];
    1655  if(p_sec_desc){
    1656  mb = p_sec_desc->pCtrl;
    1657  if(mb){
    1658  rte_pktmbuf_free(mb);
    1659  }
    1660  p_sec_desc->pData = iq_data_start;
    1661  p_sec_desc->pCtrl = mbuf;
    1662  p_sec_desc->iq_buffer_len = size;
    1663  p_sec_desc->iq_buffer_offset = RTE_PTR_DIFF(iq_data_start, mbuf);
    1664  } else {
    1665  print_err("p_sec_desc==NULL\n");
    1666  *mb_free = MBUF_FREE;
    1667  return size;
    1668  }
    1669  *mb_free = MBUF_KEEP;
    1670  }
    1671  } else {
    1672  /* packet can be fragmented copy RBs */
    1673  rte_memcpy(pos, iq_data_start, size);
    1674  *mb_free = MBUF_FREE;
    1675  }
    1676  }
    1677  } else {
    1678  print_err("pos %p iq_data_start %p size %d\n",pos, iq_data_start, size);
    1679  }
    1680  } else {
    1681  print_err("TTI %d(f_%d sf_%d slot_%d) CC %d Ant_ID %d symb_id %d\n",tti, frame_id, subframe_id, slot_id, CC_ID, Ant_ID, symb_id);
    1682  }
    1683 
    1684  return size;
    1685 }
    1686 
    1687 /* Send burst of packets on an output interface */
    1688 static inline int
    1689 xran_send_burst(struct xran_device_ctx *dev, uint16_t n, uint16_t port)
    1690 {
    1691  struct rte_mbuf **m_table;
    1692  struct rte_mbuf *m;
    1693  int32_t i = 0;
    1694  int j;
    1695  int32_t ret = 0;
    1696 
    1697  m_table = (struct rte_mbuf **)dev->tx_mbufs[port].m_table;
    1698 
    1699  for(i = 0; i < n; i++){
    1700  rte_mbuf_sanity_check(m_table[i], 0);
    1701  /*rte_pktmbuf_dump(stdout, m_table[i], 256);*/
    1702  tx_counter++;
    1703  tx_bytes_counter += rte_pktmbuf_pkt_len(m_table[i]);
    1704  ret += dev->send_upmbuf2ring(m_table[i], ETHER_TYPE_ECPRI);
    1705  }
    1706 
    1707 
    1708  if (unlikely(ret < n)) {
    1709  print_err("ret < n\n");
    1710  }
    1711 
    1712  return 0;
    1713 }
    1714 
    1715 int32_t xran_process_tx_sym_cp_off(uint8_t ctx_id, uint32_t tti, int32_t cc_id, int32_t ant_id, uint32_t frame_id, uint32_t subframe_id, uint32_t slot_id, uint32_t sym_id,
    1716  int32_t do_srs)
    1717 {
    1718  int32_t retval = 0;
    1719  uint64_t t1 = MLogTick();
    1720 
    1721  void *pHandle = NULL;
    1722  char *pos = NULL;
    1723  char *p_sec_iq = NULL;
    1724  char *p_sect_iq = NULL;
    1725  void *mb = NULL;
    1726  int prb_num = 0;
    1727  uint16_t iq_sample_size_bits = 16; // TODO: make dynamic per
    1728 
    1729  struct xran_prb_map *prb_map = NULL;
    1730  uint8_t num_ant_elm = 0;
    1731 
    1732  struct xran_device_ctx * p_xran_dev_ctx = xran_dev_get_ctx();
    1733  struct xran_prach_cp_config *pPrachCPConfig = &(p_xran_dev_ctx->PrachCPConfig);
    1734  struct xran_srs_config *p_srs_cfg = &(p_xran_dev_ctx->srs_cfg);
    1735  num_ant_elm = xran_get_num_ant_elm(pHandle);
    1736  enum xran_pkt_dir direction;
    1737 
    1738  struct rte_mbuf *eth_oran_hdr = NULL;
    1739  char *ext_buff = NULL;
    1740  uint16_t ext_buff_len = 0;
    1741  struct rte_mbuf *tmp = NULL;
    1742  rte_iova_t ext_buff_iova = 0;
    1743 
    1744  struct rte_mbuf_ext_shared_info * p_share_data = &share_data[tti % XRAN_N_FE_BUF_LEN];
    1745 
    1746  if(p_xran_dev_ctx->fh_init.io_cfg.id == O_DU) {
    1747  direction = XRAN_DIR_DL; /* O-DU */
    1748  prb_num = p_xran_dev_ctx->fh_cfg.nDLRBs;
    1749  } else {
    1750  direction = XRAN_DIR_UL; /* RU */
    1751  prb_num = p_xran_dev_ctx->fh_cfg.nULRBs;
    1752  }
    1753 
    1754  if(xran_fs_get_slot_type(cc_id, tti, ((p_xran_dev_ctx->fh_init.io_cfg.id == O_DU)? XRAN_SLOT_TYPE_DL : XRAN_SLOT_TYPE_UL)) == 1
    1755  || xran_fs_get_slot_type(cc_id, tti, XRAN_SLOT_TYPE_SP) == 1
    1756  || xran_fs_get_slot_type(cc_id, tti, XRAN_SLOT_TYPE_FDD) == 1){
    1757 
    1758  if(xran_fs_get_symbol_type(cc_id, tti, sym_id) == ((p_xran_dev_ctx->fh_init.io_cfg.id == O_DU)? XRAN_SYMBOL_TYPE_DL : XRAN_SYMBOL_TYPE_UL)
    1759  || xran_fs_get_symbol_type(cc_id, tti, sym_id) == XRAN_SYMBOL_TYPE_FDD){
    1760 
    1761  if(iq_sample_size_bits != 16)
    1762  print_err("Incorrect iqWidth %d\n", iq_sample_size_bits );
    1763 
    1764  pos = (char*) p_xran_dev_ctx->sFrontHaulTxBbuIoBufCtrl[tti % XRAN_N_FE_BUF_LEN][cc_id][ant_id].sBufferList.pBuffers[sym_id].pData;
    1765  mb = (void*) p_xran_dev_ctx->sFrontHaulTxBbuIoBufCtrl[tti % XRAN_N_FE_BUF_LEN][cc_id][ant_id].sBufferList.pBuffers[sym_id].pCtrl;
    1766  prb_map = (struct xran_prb_map *) p_xran_dev_ctx->sFrontHaulTxPrbMapBbuIoBufCtrl[tti % XRAN_N_FE_BUF_LEN][cc_id][ant_id].sBufferList.pBuffers->pData;
    1767 
    1768 
    1769  if(prb_map){
    1770  int32_t elmIdx = 0;
    1771  for (elmIdx = 0; elmIdx < prb_map->nPrbElm; elmIdx++){
    1772  uint16_t sec_id = elmIdx;
    1773  struct xran_prb_elm * prb_map_elm = &prb_map->prbMap[elmIdx];
    1774  struct xran_section_desc * p_sec_desc = NULL;
    1775 
    1776  if(prb_map_elm == NULL){
    1777  rte_panic("p_sec_desc == NULL\n");
    1778  }
    1779 
    1780  p_sec_desc = prb_map_elm->p_sec_desc[sym_id];
    1781 
    1782  if(p_sec_desc == NULL){
    1783  rte_panic("p_sec_desc == NULL\n");
    1784  }
    1785 
    1786 #if 1
    1787  p_sec_iq = ((char*)pos + p_sec_desc->iq_buffer_offset);
    1788 
    1789  /* calculete offset for external buffer */
    1790  ext_buff_len = p_sec_desc->iq_buffer_len;
    1791  ext_buff = p_sec_iq - (RTE_PKTMBUF_HEADROOM +
    1792  sizeof (struct xran_ecpri_hdr) +
    1793  sizeof (struct radio_app_common_hdr) +
    1794  sizeof(struct data_section_hdr));
    1795 
    1796  ext_buff_len += RTE_PKTMBUF_HEADROOM +
    1797  sizeof (struct xran_ecpri_hdr) +
    1798  sizeof (struct radio_app_common_hdr) +
    1799  sizeof(struct data_section_hdr) + 18;
    1800 
    1801  if(prb_map_elm->compMethod != XRAN_COMPMETHOD_NONE){
    1802  ext_buff -= sizeof (struct data_section_compression_hdr);
    1803  ext_buff_len += sizeof (struct data_section_compression_hdr);
    1804  }
    1805 
    1806  eth_oran_hdr = rte_pktmbuf_alloc(_eth_mbuf_pool_small);
    1807 
    1808  if (unlikely (( eth_oran_hdr) == NULL)) {
    1809  rte_panic("Failed rte_pktmbuf_alloc\n");
    1810  }
    1811 
    1812  p_share_data->free_cb = extbuf_free_callback;
    1813  p_share_data->fcb_opaque = NULL;
    1814  rte_mbuf_ext_refcnt_set(p_share_data, 1);
    1815 
    1816  ext_buff_iova = rte_mempool_virt2iova(mb);
    1817  if (unlikely (( ext_buff_iova) == 0)) {
    1818  rte_panic("Failed rte_mem_virt2iova \n");
    1819  }
    1820 
    1821  if (unlikely (( (rte_iova_t)ext_buff_iova) == RTE_BAD_IOVA)) {
    1822  rte_panic("Failed rte_mem_virt2iova RTE_BAD_IOVA \n");
    1823  }
    1824 
    1825  rte_pktmbuf_attach_extbuf(eth_oran_hdr,
    1826  ext_buff,
    1827  ext_buff_iova + RTE_PTR_DIFF(ext_buff , mb),
    1828  ext_buff_len,
    1829  p_share_data);
    1830 
    1831  rte_pktmbuf_reset_headroom(eth_oran_hdr);
    1832 
    1833  tmp = (struct rte_mbuf *)rte_pktmbuf_prepend(eth_oran_hdr, sizeof(struct ether_hdr));
    1834  if (unlikely (( tmp) == NULL)) {
    1835  rte_panic("Failed rte_pktmbuf_prepend \n");
    1836  }
    1837  mb = eth_oran_hdr;
    1838 
    1839  /* first all PRBs */
    1840  prepare_symbol_ex(direction, sec_id,
    1841  mb,
    1842  (struct rb_map *)p_sec_iq,
    1843  prb_map_elm->compMethod,
    1844  prb_map_elm->iqWidth,
    1845  p_xran_dev_ctx->fh_cfg.ru_conf.byteOrder,
    1846  frame_id, subframe_id, slot_id, sym_id,
    1847  prb_map_elm->nRBStart, prb_map_elm->nRBSize,
    1848  cc_id, ant_id,
    1849  (p_xran_dev_ctx->fh_init.io_cfg.id == O_DU) ?
    1850  xran_get_updl_seqid(pHandle, cc_id, ant_id) :
    1851  xran_get_upul_seqid(pHandle, cc_id, ant_id),
    1852  0);
    1853 
    1854  rte_mbuf_sanity_check((struct rte_mbuf *)mb, 0);
    1855  tx_counter++;
    1856  tx_bytes_counter += rte_pktmbuf_pkt_len((struct rte_mbuf *)mb);
    1857  p_xran_dev_ctx->send_upmbuf2ring((struct rte_mbuf *)mb, ETHER_TYPE_ECPRI);
    1858 #else
    1859  p_sect_iq = pos + p_sec_desc->iq_buffer_offset;
    1860  prb_num = prb_map_elm->nRBSize;
    1861 
    1862  if( prb_num > 136 || prb_num == 0) {
    1863  /* first 136 PRBs */
    1864  rte_panic("first 136 PRBs\n");
    1865  send_symbol_ex(direction,
    1866  sec_id,
    1867  NULL,
    1868  (struct rb_map *)p_sect_iq,
    1869  p_xran_dev_ctx->fh_cfg.ru_conf.byteOrder,
    1870  frame_id, subframe_id, slot_id, sym_id,
    1871  0, 136,
    1872  cc_id, ant_id,
    1873  (p_xran_dev_ctx->fh_init.io_cfg.id == O_DU) ?
    1874  xran_get_updl_seqid(pHandle, cc_id, ant_id) :
    1875  xran_get_upul_seqid(pHandle, cc_id, ant_id));
    1876 
    1877  pos += 136 * N_SC_PER_PRB * (iq_sample_size_bits/8)*2;
    1878  /* last 137 PRBs */
    1879  send_symbol_ex(direction, sec_id,
    1880  NULL,
    1881  (struct rb_map *)p_sect_iq,
    1882  p_xran_dev_ctx->fh_cfg.ru_conf.byteOrder,
    1883  frame_id, subframe_id, slot_id, sym_id,
    1884  136, 137,
    1885  cc_id, ant_id,
    1886  (p_xran_dev_ctx->fh_init.io_cfg.id == O_DU) ?
    1887  xran_get_updl_seqid(pHandle, cc_id, ant_id) :
    1888  xran_get_upul_seqid(pHandle, cc_id, ant_id));
    1889  retval = 1;
    1890  } else {
    1891  send_symbol_ex(direction,
    1892  sec_id, /* xran_alloc_sectionid(pHandle, direction, cc_id, ant_id, slot_id)*/
    1893  /*(struct rte_mbuf *)mb*/ NULL,
    1894  (struct rb_map *)p_sect_iq,
    1895  p_xran_dev_ctx->fh_cfg.ru_conf.byteOrder,
    1896  frame_id, subframe_id, slot_id, sym_id,
    1897  prb_map_elm->nRBStart, prb_map_elm->nRBSize,
    1898  cc_id, ant_id,
    1899  (p_xran_dev_ctx->fh_init.io_cfg.id == O_DU) ?
    1900  xran_get_updl_seqid(pHandle, cc_id, ant_id) :
    1901  xran_get_upul_seqid(pHandle, cc_id, ant_id));
    1902  retval = 1;
    1903  }
    1904 
    1905 #endif
    1906 
    1907  }
    1908  } else {
    1909  printf("(%d %d %d %d) prb_map == NULL\n", tti % XRAN_N_FE_BUF_LEN, cc_id, ant_id, sym_id);
    1910  }
    1911 
    1912  if(p_xran_dev_ctx->enablePrach
    1913  && (p_xran_dev_ctx->fh_init.io_cfg.id == O_RU)) { /* Only RU needs to send PRACH I/Q */
    1914  uint32_t is_prach_slot = xran_is_prach_slot(subframe_id, slot_id);
    1915  if(((frame_id % pPrachCPConfig->x) == pPrachCPConfig->y[0])
    1916  && (is_prach_slot == 1)
    1917  && (sym_id >= p_xran_dev_ctx->prach_start_symbol[cc_id])
    1918  && (sym_id <= p_xran_dev_ctx->prach_last_symbol[cc_id])) { //is prach slot
    1919  int prach_port_id = ant_id + pPrachCPConfig->eAxC_offset;
    1920  pos = (char*) p_xran_dev_ctx->sFHPrachRxBbuIoBufCtrl[tti % XRAN_N_FE_BUF_LEN][cc_id][ant_id].sBufferList.pBuffers[0].pData;
    1921  pos += (sym_id - p_xran_dev_ctx->prach_start_symbol[cc_id]) * pPrachCPConfig->numPrbc * N_SC_PER_PRB * 4;
    1922  mb = NULL;//(void*) p_xran_dev_ctx->sFHPrachRxBbuIoBufCtrl[tti % XRAN_N_FE_BUF_LEN][cc_id][ant_id].sBufferList.pBuffers[0].pCtrl;
    1923 
    1924  send_symbol_ex(direction,
    1925  xran_alloc_sectionid(pHandle, direction, cc_id, prach_port_id, slot_id),
    1926  (struct rte_mbuf *)mb,
    1927  (struct rb_map *)pos,
    1928  p_xran_dev_ctx->fh_cfg.ru_conf.byteOrder,
    1929  frame_id, subframe_id, slot_id, sym_id,
    1930  pPrachCPConfig->startPrbc, pPrachCPConfig->numPrbc,
    1931  cc_id, prach_port_id,
    1932  xran_get_upul_seqid(pHandle, cc_id, prach_port_id));
    1933  retval = 1;
    1934  } /* if((frame_id % pPrachCPConfig->x == pPrachCPConfig->y[0]) .... */
    1935  } /* if(p_xran_dev_ctx->enablePrach ..... */
    1936 
    1937 
    1938  if(p_xran_dev_ctx->enableSrs && (p_xran_dev_ctx->fh_init.io_cfg.id == O_RU)){
    1939  if( p_srs_cfg->symbMask & (1 << sym_id) /* is SRS symbol */
    1940  && do_srs) {
    1941  int32_t ant_elm_id = 0;
    1942 
    1943  for (ant_elm_id = 0; ant_elm_id < num_ant_elm; ant_elm_id++){
    1944  int32_t ant_elm_eAxC_id = ant_elm_id + p_srs_cfg->eAxC_offset;
    1945 
    1946  pos = (char*) p_xran_dev_ctx->sFHSrsRxBbuIoBufCtrl[tti % XRAN_N_FE_BUF_LEN][cc_id][ant_elm_id].sBufferList.pBuffers[sym_id].pData;
    1947  mb = (void*) p_xran_dev_ctx->sFHSrsRxBbuIoBufCtrl[tti % XRAN_N_FE_BUF_LEN][cc_id][ant_elm_id].sBufferList.pBuffers[sym_id].pCtrl;
    1948 
    1949  if( prb_num > 136 || prb_num == 0) {
    1950  uint16_t sec_id = xran_alloc_sectionid(pHandle, direction, cc_id, ant_id, slot_id);
    1951  /* first 136 PRBs */
    1952  send_symbol_ex(direction,
    1953  sec_id,
    1954  NULL,
    1955  (struct rb_map *)pos,
    1956  p_xran_dev_ctx->fh_cfg.ru_conf.byteOrder,
    1957  frame_id, subframe_id, slot_id, sym_id,
    1958  0, 136,
    1959  cc_id, ant_elm_eAxC_id,
    1960  (p_xran_dev_ctx->fh_init.io_cfg.id == O_DU) ?
    1961  xran_get_updl_seqid(pHandle, cc_id, ant_elm_eAxC_id) :
    1962  xran_get_upul_seqid(pHandle, cc_id, ant_elm_eAxC_id));
    1963 
    1964  pos += 136 * N_SC_PER_PRB * (iq_sample_size_bits/8)*2;
    1965  /* last 137 PRBs */
    1966  send_symbol_ex(direction, sec_id,
    1967  NULL,
    1968  (struct rb_map *)pos,
    1969  p_xran_dev_ctx->fh_cfg.ru_conf.byteOrder,
    1970  frame_id, subframe_id, slot_id, sym_id,
    1971  136, 137,
    1972  cc_id, ant_elm_eAxC_id,
    1973  (p_xran_dev_ctx->fh_init.io_cfg.id == O_DU) ?
    1974  xran_get_updl_seqid(pHandle, cc_id, ant_elm_eAxC_id) :
    1975  xran_get_upul_seqid(pHandle, cc_id, ant_elm_eAxC_id));
    1976  } else {
    1977  send_symbol_ex(direction,
    1978  xran_alloc_sectionid(pHandle, direction, cc_id, ant_elm_eAxC_id, slot_id),
    1979  (struct rte_mbuf *)mb,
    1980  (struct rb_map *)pos,
    1981  p_xran_dev_ctx->fh_cfg.ru_conf.byteOrder,
    1982  frame_id, subframe_id, slot_id, sym_id,
    1983  0, prb_num,
    1984  cc_id, ant_elm_eAxC_id,
    1985  (p_xran_dev_ctx->fh_init.io_cfg.id == O_DU) ?
    1986  xran_get_updl_seqid(pHandle, cc_id, ant_elm_eAxC_id) :
    1987  xran_get_upul_seqid(pHandle, cc_id, ant_elm_eAxC_id));
    1988  retval = 1;
    1989  }
    1990  } /* for ant elem */
    1991  } /* SRS symbol */
    1992  } /* SRS enabled */
    1993  } /* RU mode or C-Plane is not used */
    1994  }
    1995 
    1996  return retval;
    1997 }
    1998 
    1999 
    2000 int32_t xran_process_tx_sym_cp_on(uint8_t ctx_id, uint32_t tti, int32_t cc_id, int32_t ant_id, uint32_t frame_id, uint32_t subframe_id,
    2001  uint32_t slot_id, uint32_t sym_id)
    2002 {
    2003  int32_t retval = 0;
    2004  uint64_t t1 = MLogTick();
    2005 
    2006  struct rte_mbuf *eth_oran_hdr = NULL;
    2007  char *ext_buff = NULL;
    2008  uint16_t ext_buff_len = 0;
    2009  struct rte_mbuf *tmp = NULL;
    2010  rte_iova_t ext_buff_iova = 0;
    2011  void *pHandle = NULL;
    2012  char *pos = NULL;
    2013  char *p_sec_iq = NULL;
    2014  void *mb = NULL;
    2015  int prb_num = 0;
    2016  uint16_t iq_sample_size_bits = 16; // TODO: make dynamic per
    2017  uint32_t next = 0;
    2018  int32_t num_sections = 0;
    2019 
    2020  struct xran_section_info *sectinfo = NULL;
    2021  struct xran_device_ctx *p_xran_dev_ctx = xran_dev_get_ctx();
    2022 
    2023  struct xran_prach_cp_config *pPrachCPConfig = &(p_xran_dev_ctx->PrachCPConfig);
    2024  struct xran_srs_config *p_srs_cfg = &(p_xran_dev_ctx->srs_cfg);
    2025  enum xran_pkt_dir direction;
    2026 
    2027  struct rte_mbuf_ext_shared_info * p_share_data = &share_data[tti % XRAN_N_FE_BUF_LEN];
    2028 
    2029  if(p_xran_dev_ctx->fh_init.io_cfg.id == O_DU) {
    2030  direction = XRAN_DIR_DL; /* O-DU */
    2031  prb_num = p_xran_dev_ctx->fh_cfg.nDLRBs;
    2032  } else {
    2033  direction = XRAN_DIR_UL; /* RU */
    2034  prb_num = p_xran_dev_ctx->fh_cfg.nULRBs;
    2035  }
    2036 
    2037  next = 0;
    2038  num_sections = xran_cp_getsize_section_info(pHandle, direction, cc_id, ant_id, ctx_id);
    2039  /* iterate C-Plane configuration to generate corresponding U-Plane */
    2040  while(next < num_sections) {
    2041  sectinfo = xran_cp_iterate_section_info(pHandle, direction, cc_id, ant_id, ctx_id, &next);
    2042 
    2043  if(sectinfo == NULL)
    2044  break;
    2045 
    2046  if(sectinfo->type != XRAN_CP_SECTIONTYPE_1) { /* only supports type 1 */
    2047  print_err("Invalid section type in section DB - %d", sectinfo->type);
    2048  continue;
    2049  }
    2050 
    2051  /* skip, if not scheduled */
    2052  if(sym_id < sectinfo->startSymId || sym_id >= sectinfo->startSymId + sectinfo->numSymbol)
    2053  continue;
    2054 
    2055  if(sectinfo->compMeth)
    2056  iq_sample_size_bits = sectinfo->iqWidth;
    2057 
    2058  print_dbg(">>> sym %2d [%d] type%d, id %d, startPrbc=%d, numPrbc=%d, numSymbol=%d\n", sym_id, next,
    2059  sectinfo->type, sectinfo->id, sectinfo->startPrbc,
    2060  sectinfo->numPrbc, sectinfo->numSymbol);
    2061 
    2062  p_xran_dev_ctx->tx_mbufs[0].len = 0;
    2063  uint16_t len = p_xran_dev_ctx->tx_mbufs[0].len;
    2064  int16_t len2 = 0;
    2065  uint16_t i = 0;
    2066 
    2067  //Added for Klocworks
    2068  if (len >= MBUF_TABLE_SIZE)
    2069  len = MBUF_TABLE_SIZE - 1;
    2070 
    2071  pos = (char*) p_xran_dev_ctx->sFrontHaulTxBbuIoBufCtrl[tti % XRAN_N_FE_BUF_LEN][cc_id][ant_id].sBufferList.pBuffers[sym_id].pData;
    2072  mb = p_xran_dev_ctx->sFrontHaulTxBbuIoBufCtrl[tti % XRAN_N_FE_BUF_LEN][cc_id][ant_id].sBufferList.pBuffers[sym_id].pCtrl;
    2073 
    2074 #if 1
    2075  p_sec_iq = ((char*)pos + sectinfo->sec_desc[sym_id].iq_buffer_offset);
    2076 
    2077  /* calculete offset for external buffer */
    2078  ext_buff_len = sectinfo->sec_desc[sym_id].iq_buffer_len;
    2079  ext_buff = p_sec_iq - (RTE_PKTMBUF_HEADROOM +
    2080  sizeof (struct xran_ecpri_hdr) +
    2081  sizeof (struct radio_app_common_hdr) +
    2082  sizeof(struct data_section_hdr));
    2083 
    2084  ext_buff_len += RTE_PKTMBUF_HEADROOM +
    2085  sizeof (struct xran_ecpri_hdr) +
    2086  sizeof (struct radio_app_common_hdr) +
    2087  sizeof(struct data_section_hdr) + 18;
    2088 
    2089  if(sectinfo->compMeth != XRAN_COMPMETHOD_NONE){
    2090  ext_buff -= sizeof (struct data_section_compression_hdr);
    2091  ext_buff_len += sizeof (struct data_section_compression_hdr);
    2092  }
    2093 
    2094  eth_oran_hdr = rte_pktmbuf_alloc(_eth_mbuf_pool_small);
    2095 
    2096  if (unlikely (( eth_oran_hdr) == NULL)) {
    2097  rte_panic("Failed rte_pktmbuf_alloc\n");
    2098  }
    2099 
    2100  p_share_data->free_cb = extbuf_free_callback;
    2101  p_share_data->fcb_opaque = NULL;
    2102  rte_mbuf_ext_refcnt_set(p_share_data, 1);
    2103 
    2104  ext_buff_iova = rte_mempool_virt2iova(mb);
    2105  if (unlikely (( ext_buff_iova) == 0)) {
    2106  rte_panic("Failed rte_mem_virt2iova \n");
    2107  }
    2108 
    2109  if (unlikely (( (rte_iova_t)ext_buff_iova) == RTE_BAD_IOVA)) {
    2110  rte_panic("Failed rte_mem_virt2iova RTE_BAD_IOVA \n");
    2111  }
    2112 
    2113  rte_pktmbuf_attach_extbuf(eth_oran_hdr,
    2114  ext_buff,
    2115  ext_buff_iova + RTE_PTR_DIFF(ext_buff , mb),
    2116  ext_buff_len,
    2117  p_share_data);
    2118 
    2119  rte_pktmbuf_reset_headroom(eth_oran_hdr);
    2120 
    2121  tmp = (struct rte_mbuf *)rte_pktmbuf_prepend(eth_oran_hdr, sizeof(struct ether_hdr));
    2122  if (unlikely (( tmp) == NULL)) {
    2123  rte_panic("Failed rte_pktmbuf_prepend \n");
    2124  }
    2125  mb = eth_oran_hdr;
    2126 #else
    2127  rte_pktmbuf_refcnt_update(mb, 1); /* make sure eth won't free our mbuf */
    2128 #endif
    2129  /* first all PRBs */
    2130  prepare_symbol_ex(direction, sectinfo->id,
    2131  mb,
    2132  (struct rb_map *)p_sec_iq,
    2133  sectinfo->compMeth,
    2134  sectinfo->iqWidth,
    2135  p_xran_dev_ctx->fh_cfg.ru_conf.byteOrder,
    2136  frame_id, subframe_id, slot_id, sym_id,
    2137  sectinfo->startPrbc, sectinfo->numPrbc,
    2138  cc_id, ant_id,
    2139  xran_get_updl_seqid(pHandle, cc_id, ant_id),
    2140  0);
    2141 
    2142  /* if we don't need to do any fragmentation */
    2143  if (likely (p_xran_dev_ctx->fh_init.mtu >=
    2144  sectinfo->numPrbc * (3*iq_sample_size_bits + 1))) {
    2145  /* no fragmentation */
    2146  p_xran_dev_ctx->tx_mbufs[0].m_table[len] = mb;
    2147  len2 = 1;
    2148  } else {
    2149  /* fragmentation */
    2150  uint8_t * seq_num = xran_get_updl_seqid_addr(pHandle, cc_id, ant_id);
    2151  if(seq_num)
    2152  (*seq_num)--;
    2153  else
    2154  rte_panic("pointer to seq number is NULL [CC %d Ant %d]\n", cc_id, ant_id);
    2155 
    2156  len2 = xran_app_fragment_packet(mb,
    2157  &p_xran_dev_ctx->tx_mbufs[0].m_table[len],
    2158  (uint16_t)(MBUF_TABLE_SIZE - len),
    2159  p_xran_dev_ctx->fh_init.mtu,
    2160  p_xran_dev_ctx->direct_pool,
    2161  p_xran_dev_ctx->indirect_pool,
    2162  sectinfo,
    2163  seq_num);
    2164 
    2165  /* Free input packet */
    2166  rte_pktmbuf_free(mb);
    2167 
    2168  /* If we fail to fragment the packet */
    2169  if (unlikely (len2 < 0)){
    2170  print_err("len2= %d\n", len2);
    2171  return 0;
    2172  }
    2173  }
    2174 
    2175  if(len2 > 1){
    2176  for (i = len; i < len + len2; i ++) {
    2177  struct rte_mbuf *m;
    2178  m = p_xran_dev_ctx->tx_mbufs[0].m_table[i];
    2179  struct ether_hdr *eth_hdr = (struct ether_hdr *)
    2180  rte_pktmbuf_prepend(m, (uint16_t)sizeof(struct ether_hdr));
    2181  if (eth_hdr == NULL) {
    2182  rte_panic("No headroom in mbuf.\n");
    2183  }
    2184  }
    2185  }
    2186 
    2187  len += len2;
    2188 
    2189  if (unlikely(len > XRAN_MAX_PKT_BURST_PER_SYM)) {
    2190  rte_panic("XRAN_MAX_PKT_BURST_PER_SYM\n");
    2191  }
    2192 
    2193  /* Transmit packets */
    2194  xran_send_burst(p_xran_dev_ctx, (uint16_t)len, 0);
    2195  p_xran_dev_ctx->tx_mbufs[0].len = 0;
    2196  retval = 1;
    2197  } /* while(section) */
    2198 
    2199  return retval;
    2200 }
    2201 
    2202 int32_t xran_process_tx_sym(void *arg)
    2203 {
    2204  int32_t retval = 0;
    2205  uint32_t tti=0;
    2206 #if XRAN_MLOG_VAR
    2207  uint32_t mlogVar[10];
    2208  uint32_t mlogVarCnt = 0;
    2209 #endif
    2210  unsigned long t1 = MLogTick();
    2211 
    2212  void *pHandle = NULL;
    2213  int32_t ant_id = 0;
    2214  int32_t cc_id = 0;
    2215  uint8_t num_eAxc = 0;
    2216  uint8_t num_CCPorts = 0;
    2217  uint8_t num_ant_elm = 0;
    2218  uint32_t frame_id = 0;
    2219  uint32_t subframe_id = 0;
    2220  uint32_t slot_id = 0;
    2221  uint32_t sym_id = 0;
    2222  uint32_t sym_idx = 0;
    2223 
    2224  uint8_t ctx_id;
    2225  enum xran_pkt_dir direction;
    2226  struct xran_device_ctx * p_xran_dev_ctx = xran_dev_get_ctx();
    2227 
    2228  if(p_xran_dev_ctx->xran2phy_mem_ready == 0)
    2229  return 0;
    2230 
    2231  /* O-RU: send symb after OTA time with delay (UL) */
    2232  /* O-DU: send symb in advance of OTA time (DL) */
    2234 
    2236  slot_id = XranGetSlotNum(tti, SLOTNUM_PER_SUBFRAME);
    2237  subframe_id = XranGetSubFrameNum(tti,SLOTNUM_PER_SUBFRAME, SUBFRAMES_PER_SYSTEMFRAME);
    2238  frame_id = XranGetFrameNum(tti,xran_getSfnSecStart(),SUBFRAMES_PER_SYSTEMFRAME, SLOTNUM_PER_SUBFRAME);
    2239  // ORAN frameId, 8 bits, [0, 255]
    2240  frame_id = (frame_id & 0xff);
    2241 
    2242  sym_id = XranGetSymNum(sym_idx, XRAN_NUM_OF_SYMBOL_PER_SLOT);
    2244 
    2245  print_dbg("[%d]SFN %d sf %d slot %d\n", tti, frame_id, subframe_id, slot_id);
    2246 
    2247 #if XRAN_MLOG_VAR
    2248  mlogVar[mlogVarCnt++] = 0xAAAAAAAA;
    2249  mlogVar[mlogVarCnt++] = xran_lib_ota_sym_idx;
    2250  mlogVar[mlogVarCnt++] = sym_idx;
    2251  mlogVar[mlogVarCnt++] = abs(p_xran_dev_ctx->sym_up);
    2252  mlogVar[mlogVarCnt++] = tti;
    2253  mlogVar[mlogVarCnt++] = frame_id;
    2254  mlogVar[mlogVarCnt++] = subframe_id;
    2255  mlogVar[mlogVarCnt++] = slot_id;
    2256  mlogVar[mlogVarCnt++] = sym_id;
    2257  MLogAddVariables(mlogVarCnt, mlogVar, MLogTick());
    2258 #endif
    2259 
    2260  if(p_xran_dev_ctx->fh_init.io_cfg.id == O_RU && xran_get_ru_category(pHandle) == XRAN_CATEGORY_B) {
    2261  num_eAxc = xran_get_num_eAxcUl(pHandle);
    2262  } else {
    2263  num_eAxc = xran_get_num_eAxc(pHandle);
    2264  }
    2265 
    2266  num_CCPorts = xran_get_num_cc(pHandle);
    2267  /* U-Plane */
    2268  for(ant_id = 0; ant_id < num_eAxc; ant_id++) {
    2269  for(cc_id = 0; cc_id < num_CCPorts; cc_id++) {
    2270  if(p_xran_dev_ctx->fh_init.io_cfg.id == O_DU && p_xran_dev_ctx->enableCP){
    2271  retval = xran_process_tx_sym_cp_on(ctx_id, tti, cc_id, ant_id, frame_id, subframe_id, slot_id, sym_id);
    2272  } else {
    2273  retval = xran_process_tx_sym_cp_off(ctx_id, tti, cc_id, ant_id, frame_id, subframe_id, slot_id, sym_id, (ant_id == (num_eAxc - 1)));
    2274  }
    2275  } /* for(cc_id = 0; cc_id < num_CCPorts; cc_id++) */
    2276  } /* for(ant_id = 0; ant_id < num_eAxc; ant_id++) */
    2277 
    2279  return retval;
    2280 }
    2281 
    2283 {
    2284  struct xran_ethdi_ctx *const ctx = xran_ethdi_get_ctx();
    2285 
    2286  uint64_t prev_tsc = 0;
    2287  uint64_t cur_tsc = rte_rdtsc();
    2288  uint64_t diff_tsc = cur_tsc - prev_tsc;
    2289  cpu_set_t cpuset;
    2290  struct sched_param sched_param;
    2291  int res = 0;
    2292  printf("%s [CPU %2d] [PID: %6d]\n", __FUNCTION__, rte_lcore_id(), getpid());
    2293 
    2294  sched_param.sched_priority = XRAN_THREAD_DEFAULT_PRIO;
    2295 
    2296  if ((res = pthread_setschedparam(pthread_self(), 1, &sched_param)))
    2297  {
    2298  printf("priority is not changed: coreId = %d, result1 = %d\n",rte_lcore_id(), res);
    2299  }
    2300 
    2301  while(1){
    2302 
    2303  cur_tsc = rte_rdtsc();
    2304  diff_tsc = cur_tsc - prev_tsc;
    2305  if (diff_tsc > TIMER_RESOLUTION_CYCLES) {
    2306  rte_timer_manage();
    2307  prev_tsc = cur_tsc;
    2308  }
    2309 
    2311  break;
    2312  }
    2313 
    2314  printf("Closing pkts timer thread...\n");
    2315  return 0;
    2316 }
    2317 
    2318 
    2319 int32_t xran_init(int argc, char *argv[],
    2320  struct xran_fh_init *p_xran_fh_init, char *appName, void ** pXranLayerHandle)
    2321 {
    2322  int32_t i;
    2323  int32_t j;
    2324 
    2325  struct xran_io_loop_cfg *p_io_cfg = (struct xran_io_loop_cfg *)&p_xran_fh_init->io_cfg;
    2326  struct xran_device_ctx * p_xran_dev_ctx = xran_dev_get_ctx();
    2327 
    2328  int32_t lcore_id = 0;
    2329  char filename[64];
    2330  int64_t offset_sec, offset_nsec;
    2331 
    2332  memset(p_xran_dev_ctx, 0, sizeof(struct xran_device_ctx));
    2333 
    2334  /* copy init */
    2335  p_xran_dev_ctx->fh_init = *p_xran_fh_init;
    2336 
    2337  printf(" %s: MTU %d\n", __FUNCTION__, p_xran_dev_ctx->fh_init.mtu);
    2338 
    2340 
    2341  memcpy(&(p_xran_dev_ctx->eAxc_id_cfg), &(p_xran_fh_init->eAxCId_conf), sizeof(struct xran_eaxcid_config));
    2342 
    2343  p_xran_dev_ctx->enableCP = p_xran_fh_init->enableCP;
    2344  p_xran_dev_ctx->enablePrach = p_xran_fh_init->prachEnable;
    2345  p_xran_dev_ctx->enableSrs = p_xran_fh_init->srsEnable;
    2346  p_xran_dev_ctx->DynamicSectionEna = p_xran_fh_init->DynamicSectionEna;
    2347 
    2348  /* To make sure to set default functions */
    2349  p_xran_dev_ctx->send_upmbuf2ring = NULL;
    2350  p_xran_dev_ctx->send_cpmbuf2ring = NULL;
    2351 
    2353  if (p_io_cfg->id == 0)
    2354  xran_ethdi_init_dpdk_io(p_xran_fh_init->filePrefix,
    2355  p_io_cfg,
    2356  &lcore_id,
    2357  (struct ether_addr *)p_xran_fh_init->p_o_du_addr,
    2358  (struct ether_addr *)p_xran_fh_init->p_o_ru_addr,
    2359  p_xran_fh_init->cp_vlan_tag,
    2360  p_xran_fh_init->up_vlan_tag);
    2361  else
    2362  xran_ethdi_init_dpdk_io(p_xran_fh_init->filePrefix,
    2363  p_io_cfg,
    2364  &lcore_id,
    2365  (struct ether_addr *)p_xran_fh_init->p_o_ru_addr,
    2366  (struct ether_addr *)p_xran_fh_init->p_o_du_addr,
    2367  p_xran_fh_init->cp_vlan_tag,
    2368  p_xran_fh_init->up_vlan_tag);
    2369 
    2370  for(i = 0; i < 10; i++ )
    2371  rte_timer_init(&tti_to_phy_timer[i]);
    2372 
    2373  rte_timer_init(&sym_timer);
    2374  for (i = 0; i< MAX_NUM_OF_DPDK_TIMERS; i++)
    2375  rte_timer_init(&dpdk_timer[i]);
    2376 
    2377  p_xran_dev_ctx->direct_pool = socket_direct_pool;
    2378  p_xran_dev_ctx->indirect_pool = socket_indirect_pool;
    2379 
    2380  for (i = 0; i< XRAN_MAX_SECTOR_NR; i++){
    2381  for (j = 0; j< XRAN_NUM_OF_SYMBOL_PER_SLOT; j++){
    2382  LIST_INIT (&p_xran_dev_ctx->sym_cb_list_head[i][j]);
    2383  }
    2384  }
    2385 
    2386  printf("Set debug stop %d, debug stop count %d\n", p_xran_fh_init->debugStop, p_xran_fh_init->debugStopCount);
    2387  timing_set_debug_stop(p_xran_fh_init->debugStop, p_xran_fh_init->debugStopCount);
    2388 
    2389  for (uint32_t nCellIdx = 0; nCellIdx < XRAN_MAX_SECTOR_NR; nCellIdx++){
    2390  xran_fs_clear_slot_type(nCellIdx);
    2391  }
    2392 
    2393  *pXranLayerHandle = p_xran_dev_ctx;
    2394 
    2395  if(p_xran_fh_init->GPS_Alpha || p_xran_fh_init->GPS_Beta ){
    2396  offset_sec = p_xran_fh_init->GPS_Beta / 100; //resolution of beta is 10ms
    2397  offset_nsec = (p_xran_fh_init->GPS_Beta - offset_sec * 100) * 1e7 + p_xran_fh_init->GPS_Alpha;
    2398  p_xran_dev_ctx->offset_sec = offset_sec;
    2399  p_xran_dev_ctx->offset_nsec = offset_nsec;
    2400  }else {
    2401  p_xran_dev_ctx->offset_sec = 0;
    2402  p_xran_dev_ctx->offset_nsec = 0;
    2403  }
    2404 
    2405  return 0;
    2406 }
    2407 
    2408 int32_t xran_sector_get_instances (void * pDevHandle, uint16_t nNumInstances,
    2409  xran_cc_handle_t * pSectorInstanceHandles)
    2410 {
    2411  xran_status_t nStatus = XRAN_STATUS_FAIL;
    2412  struct xran_device_ctx *pDev = (struct xran_device_ctx *)pDevHandle;
    2413  XranSectorHandleInfo *pCcHandle = NULL;
    2414  int32_t i = 0;
    2415 
    2416  /* Check for the Valid Parameters */
    2417  CHECK_NOT_NULL (pSectorInstanceHandles, XRAN_STATUS_INVALID_PARAM);
    2418 
    2419  if (!nNumInstances) {
    2420  print_dbg("Instance is not assigned for this function !!! \n");
    2422  }
    2423 
    2424  for (i = 0; i < nNumInstances; i++) {
    2425 
    2426  /* Allocate Memory for CC handles */
    2427  pCcHandle = (XranSectorHandleInfo *) _mm_malloc( /*"xran_cc_handles",*/ sizeof (XranSectorHandleInfo), 64);
    2428 
    2429  if(pCcHandle == NULL)
    2430  return XRAN_STATUS_RESOURCE;
    2431 
    2432  memset (pCcHandle, 0, (sizeof (XranSectorHandleInfo)));
    2433 
    2434  pCcHandle->nIndex = i;
    2435  pCcHandle->nXranPort = pDev->xran_port_id;
    2436 
    2437  printf("%s [%d]: CC %d handle %p\n", __FUNCTION__, pDev->xran_port_id, i, pCcHandle);
    2438  pLibInstanceHandles[pDev->xran_port_id][i] = pSectorInstanceHandles[i] = pCcHandle;
    2439 
    2440  printf("Handle: %p Instance: %p\n",
    2441  &pSectorInstanceHandles[i], pSectorInstanceHandles[i]);
    2442  }
    2443 
    2444  return XRAN_STATUS_SUCCESS;
    2445 }
    2446 
    2447 int32_t xran_mm_init (void * pHandle, uint64_t nMemorySize,
    2448  uint32_t nMemorySegmentSize)
    2449 {
    2450  /* we use mbuf from dpdk memory */
    2451  return 0;
    2452 }
    2453 
    2454 int32_t xran_bm_init (void * pHandle, uint32_t * pPoolIndex, uint32_t nNumberOfBuffers, uint32_t nBufferSize)
    2455 {
    2456  XranSectorHandleInfo* pXranCc = (XranSectorHandleInfo*) pHandle;
    2457  uint32_t nAllocBufferSize;
    2458 
    2459  char pool_name[RTE_MEMPOOL_NAMESIZE];
    2460 
    2461  snprintf(pool_name, RTE_MEMPOOL_NAMESIZE, "ru_%d_cc_%d_idx_%d",
    2462  pXranCc->nXranPort, pXranCc->nIndex, pXranCc->nBufferPoolIndex);
    2463 
    2464  nAllocBufferSize = nBufferSize + sizeof(struct ether_hdr) +
    2465  sizeof (struct xran_ecpri_hdr) +
    2466  sizeof (struct radio_app_common_hdr) +
    2467  sizeof(struct data_section_hdr) + 256;
    2468 
    2469  if(nAllocBufferSize >= UINT16_MAX) {
    2470  rte_panic("nAllocBufferSize is failed [ handle %p %d %d ] [nPoolIndex %d] nNumberOfBuffers %d nBufferSize %d nAllocBufferSize %d\n",
    2471  pXranCc, pXranCc->nXranPort, pXranCc->nIndex, pXranCc->nBufferPoolIndex, nNumberOfBuffers, nBufferSize, nAllocBufferSize);
    2472  return -1;
    2473  }
    2474 
    2475  printf("%s: [ handle %p %d %d ] [nPoolIndex %d] nNumberOfBuffers %d nBufferSize %d\n", pool_name,
    2476  pXranCc, pXranCc->nXranPort, pXranCc->nIndex, pXranCc->nBufferPoolIndex, nNumberOfBuffers, nBufferSize);
    2477 
    2478  pXranCc->p_bufferPool[pXranCc->nBufferPoolIndex] = rte_pktmbuf_pool_create(pool_name, nNumberOfBuffers,
    2479  MBUF_CACHE, 0, nAllocBufferSize, rte_socket_id());
    2480 
    2481  if(pXranCc->p_bufferPool[pXranCc->nBufferPoolIndex] == NULL){
    2482  rte_panic("rte_pktmbuf_pool_create failed [ handle %p %d %d ] [nPoolIndex %d] nNumberOfBuffers %d nBufferSize %d errno %s\n",
    2483  pXranCc, pXranCc->nXranPort, pXranCc->nIndex, pXranCc->nBufferPoolIndex, nNumberOfBuffers, nBufferSize, rte_strerror(rte_errno));
    2484  return -1;
    2485  }
    2486 
    2487  pXranCc->bufferPoolElmSz[pXranCc->nBufferPoolIndex] = nBufferSize;
    2488  pXranCc->bufferPoolNumElm[pXranCc->nBufferPoolIndex] = nNumberOfBuffers;
    2489 
    2490  printf("CC:[ handle %p ru %d cc_idx %d ] [nPoolIndex %d] mb pool %p \n",
    2491  pXranCc, pXranCc->nXranPort, pXranCc->nIndex,
    2492  pXranCc->nBufferPoolIndex, pXranCc->p_bufferPool[pXranCc->nBufferPoolIndex]);
    2493 
    2494  *pPoolIndex = pXranCc->nBufferPoolIndex++;
    2495 
    2496  return 0;
    2497 }
    2498 
    2499 int32_t xran_bm_allocate_buffer(void * pHandle, uint32_t nPoolIndex, void **ppData, void **ppCtrl)
    2500 {
    2501  XranSectorHandleInfo* pXranCc = (XranSectorHandleInfo*) pHandle;
    2502  *ppData = NULL;
    2503  *ppCtrl = NULL;
    2504 
    2505  struct rte_mbuf * mb = rte_pktmbuf_alloc(pXranCc->p_bufferPool[nPoolIndex]);
    2506 
    2507  if(mb){
    2508  char * start = rte_pktmbuf_append(mb, pXranCc->bufferPoolElmSz[nPoolIndex]);
    2509  char * ethhdr = rte_pktmbuf_prepend(mb, sizeof(struct ether_hdr));
    2510 
    2511  if(start && ethhdr){
    2512  char * iq_offset = rte_pktmbuf_mtod(mb, char * );
    2513  /* skip headers */
    2514  iq_offset = iq_offset + sizeof(struct ether_hdr) +
    2515  sizeof (struct xran_ecpri_hdr) +
    2516  sizeof (struct radio_app_common_hdr) +
    2517  sizeof(struct data_section_hdr);
    2518 
    2519  if (0) /* if compression */
    2520  iq_offset += sizeof (struct data_section_compression_hdr);
    2521 
    2522  *ppData = (void *)iq_offset;
    2523  *ppCtrl = (void *)mb;
    2524  } else {
    2525  print_err("[nPoolIndex %d] start ethhdr failed \n", nPoolIndex );
    2526  return -1;
    2527  }
    2528  } else {
    2529  print_err("[nPoolIndex %d] mb alloc failed \n", nPoolIndex );
    2530  return -1;
    2531  }
    2532 
    2533  if (*ppData == NULL){
    2534  print_err("[nPoolIndex %d] rte_pktmbuf_append for %d failed \n", nPoolIndex, pXranCc->bufferPoolElmSz[nPoolIndex]);
    2535  return -1;
    2536  }
    2537 
    2538  return 0;
    2539 }
    2540 
    2541 int32_t xran_bm_free_buffer(void * pHandle, void *pData, void *pCtrl)
    2542 {
    2543  XranSectorHandleInfo* pXranCc = (XranSectorHandleInfo*) pHandle;
    2544 
    2545  if(pCtrl)
    2546  rte_pktmbuf_free(pCtrl);
    2547 
    2548  return 0;
    2549 }
    2550 
    2551 int32_t xran_5g_fronthault_config (void * pHandle,
    2553  struct xran_buffer_list *pSrcCpBuffer[XRAN_MAX_ANTENNA_NR][XRAN_N_FE_BUF_LEN],
    2554  struct xran_buffer_list *pDstBuffer[XRAN_MAX_ANTENNA_NR][XRAN_N_FE_BUF_LEN],
    2555  struct xran_buffer_list *pDstCpBuffer[XRAN_MAX_ANTENNA_NR][XRAN_N_FE_BUF_LEN],
    2556  xran_transport_callback_fn pCallback,
    2557  void *pCallbackTag)
    2558 {
    2559  XranSectorHandleInfo* pXranCc = (XranSectorHandleInfo*) pHandle;
    2561  int j, i = 0, z, k;
    2562  struct xran_device_ctx * p_xran_dev_ctx = xran_dev_get_ctx();
    2563 
    2564  print_dbg("%s\n", __FUNCTION__);
    2565 
    2566  if(NULL == pHandle)
    2567  {
    2568  printf("Handle is NULL!\n");
    2569  return XRAN_STATUS_FAIL;
    2570  }
    2571 
    2572  if (pCallback == NULL)
    2573  {
    2574  printf ("no callback\n");
    2575  return XRAN_STATUS_FAIL;
    2576  }
    2577 
    2578  i = pXranCc->nIndex;
    2579 
    2580  for(j=0; j<XRAN_N_FE_BUF_LEN; j++)
    2581  {
    2582  for(z = 0; z < XRAN_MAX_ANTENNA_NR; z++){
    2583  /* U-plane TX */
    2584 
    2585  p_xran_dev_ctx->sFrontHaulTxBbuIoBufCtrl[j][i][z].bValid = 0;
    2586  p_xran_dev_ctx->sFrontHaulTxBbuIoBufCtrl[j][i][z].nSegGenerated = -1;
    2587  p_xran_dev_ctx->sFrontHaulTxBbuIoBufCtrl[j][i][z].nSegToBeGen = -1;
    2588  p_xran_dev_ctx->sFrontHaulTxBbuIoBufCtrl[j][i][z].nSegTransferred = 0;
    2590  p_xran_dev_ctx->sFrontHaulTxBbuIoBufCtrl[j][i][z].sBufferList.pBuffers = &p_xran_dev_ctx->sFrontHaulTxBuffers[j][i][z][0];
    2591 
    2592  p_xran_dev_ctx->sFrontHaulTxBbuIoBufCtrl[j][i][z].sBufferList = *pSrcBuffer[z][j];
    2593 
    2594  /* C-plane TX */
    2595  p_xran_dev_ctx->sFrontHaulTxPrbMapBbuIoBufCtrl[j][i][z].bValid = 0;
    2596  p_xran_dev_ctx->sFrontHaulTxPrbMapBbuIoBufCtrl[j][i][z].nSegGenerated = -1;
    2597  p_xran_dev_ctx->sFrontHaulTxPrbMapBbuIoBufCtrl[j][i][z].nSegToBeGen = -1;
    2598  p_xran_dev_ctx->sFrontHaulTxPrbMapBbuIoBufCtrl[j][i][z].nSegTransferred = 0;
    2600  p_xran_dev_ctx->sFrontHaulTxPrbMapBbuIoBufCtrl[j][i][z].sBufferList.pBuffers = &p_xran_dev_ctx->sFrontHaulTxPrbMapBuffers[j][i][z][0];
    2601 
    2602  p_xran_dev_ctx->sFrontHaulTxPrbMapBbuIoBufCtrl[j][i][z].sBufferList = *pSrcCpBuffer[z][j];
    2603 
    2604  /* U-plane RX */
    2605 
    2606  p_xran_dev_ctx->sFrontHaulRxBbuIoBufCtrl[j][i][z].bValid = 0;
    2607  p_xran_dev_ctx->sFrontHaulRxBbuIoBufCtrl[j][i][z].nSegGenerated = -1;
    2608  p_xran_dev_ctx->sFrontHaulRxBbuIoBufCtrl[j][i][z].nSegToBeGen = -1;
    2609  p_xran_dev_ctx->sFrontHaulRxBbuIoBufCtrl[j][i][z].nSegTransferred = 0;
    2611  p_xran_dev_ctx->sFrontHaulRxBbuIoBufCtrl[j][i][z].sBufferList.pBuffers = &p_xran_dev_ctx->sFrontHaulRxBuffers[j][i][z][0];
    2612 
    2613  p_xran_dev_ctx->sFrontHaulRxBbuIoBufCtrl[j][i][z].sBufferList = *pDstBuffer[z][j];
    2614 
    2615  /* C-plane RX */
    2616  p_xran_dev_ctx->sFrontHaulRxPrbMapBbuIoBufCtrl[j][i][z].bValid = 0;
    2617  p_xran_dev_ctx->sFrontHaulRxPrbMapBbuIoBufCtrl[j][i][z].nSegGenerated = -1;
    2618  p_xran_dev_ctx->sFrontHaulRxPrbMapBbuIoBufCtrl[j][i][z].nSegToBeGen = -1;
    2619  p_xran_dev_ctx->sFrontHaulRxPrbMapBbuIoBufCtrl[j][i][z].nSegTransferred = 0;
    2621  p_xran_dev_ctx->sFrontHaulRxPrbMapBbuIoBufCtrl[j][i][z].sBufferList.pBuffers = &p_xran_dev_ctx->sFrontHaulRxPrbMapBuffers[j][i][z][0];
    2622 
    2623  p_xran_dev_ctx->sFrontHaulRxPrbMapBbuIoBufCtrl[j][i][z].sBufferList = *pDstCpBuffer[z][j];
    2624  }
    2625  }
    2626 
    2627 
    2628  p_xran_dev_ctx->pCallback[i] = pCallback;
    2629  p_xran_dev_ctx->pCallbackTag[i] = pCallbackTag;
    2630 
    2631  p_xran_dev_ctx->xran2phy_mem_ready = 1;
    2632 
    2633  return nStatus;
    2634 }
    2635 
    2636 int32_t xran_5g_prach_req (void * pHandle,
    2639  void *pCallbackTag)
    2640 {
    2641  XranSectorHandleInfo* pXranCc = (XranSectorHandleInfo*) pHandle;
    2643  int j, i = 0, z;
    2644  struct xran_device_ctx * p_xran_dev_ctx = xran_dev_get_ctx();
    2645 
    2646  if(NULL == pHandle)
    2647  {
    2648  printf("Handle is NULL!\n");
    2649  return XRAN_STATUS_FAIL;
    2650  }
    2651  if (pCallback == NULL)
    2652  {
    2653  printf ("no callback\n");
    2654  return XRAN_STATUS_FAIL;
    2655  }
    2656 
    2657  i = pXranCc->nIndex;
    2658 
    2659  for(j=0; j<XRAN_N_FE_BUF_LEN; j++)
    2660  {
    2661  for(z = 0; z < XRAN_MAX_ANTENNA_NR; z++){
    2662  p_xran_dev_ctx->sFHPrachRxBbuIoBufCtrl[j][i][z].bValid = 0;
    2663  p_xran_dev_ctx->sFHPrachRxBbuIoBufCtrl[j][i][z].nSegGenerated = -1;
    2664  p_xran_dev_ctx->sFHPrachRxBbuIoBufCtrl[j][i][z].nSegToBeGen = -1;
    2665  p_xran_dev_ctx->sFHPrachRxBbuIoBufCtrl[j][i][z].nSegTransferred = 0;
    2666  p_xran_dev_ctx->sFHPrachRxBbuIoBufCtrl[j][i][z].sBufferList.nNumBuffers = XRAN_MAX_ANTENNA_NR; // ant number.
    2667  p_xran_dev_ctx->sFHPrachRxBbuIoBufCtrl[j][i][z].sBufferList.pBuffers = &p_xran_dev_ctx->sFHPrachRxBuffers[j][i][z][0];
    2668  p_xran_dev_ctx->sFHPrachRxBbuIoBufCtrl[j][i][z].sBufferList = *pDstBuffer[z][j];
    2669  }
    2670  }
    2671 
    2672  p_xran_dev_ctx->pPrachCallback[i] = pCallback;
    2673  p_xran_dev_ctx->pPrachCallbackTag[i] = pCallbackTag;
    2674 
    2675  return 0;
    2676 }
    2677 
    2678 
    2679 int32_t xran_5g_srs_req (void * pHandle,
    2682  void *pCallbackTag)
    2683 {
    2684  XranSectorHandleInfo* pXranCc = (XranSectorHandleInfo*) pHandle;
    2686  int j, i = 0, z;
    2687  struct xran_device_ctx * p_xran_dev_ctx = xran_dev_get_ctx();
    2688 
    2689  if(NULL == pHandle)
    2690  {
    2691  printf("Handle is NULL!\n");
    2692  return XRAN_STATUS_FAIL;
    2693  }
    2694  if (pCallback == NULL)
    2695  {
    2696  printf ("no callback\n");
    2697  return XRAN_STATUS_FAIL;
    2698  }
    2699 
    2700  i = pXranCc->nIndex;
    2701 
    2702  for(j=0; j<XRAN_N_FE_BUF_LEN; j++)
    2703  {
    2704  for(z = 0; z < XRAN_MAX_ANT_ARRAY_ELM_NR; z++){
    2705  p_xran_dev_ctx->sFHSrsRxBbuIoBufCtrl[j][i][z].bValid = 0;
    2706  p_xran_dev_ctx->sFHSrsRxBbuIoBufCtrl[j][i][z].nSegGenerated = -1;
    2707  p_xran_dev_ctx->sFHSrsRxBbuIoBufCtrl[j][i][z].nSegToBeGen = -1;
    2708  p_xran_dev_ctx->sFHSrsRxBbuIoBufCtrl[j][i][z].nSegTransferred = 0;
    2709  p_xran_dev_ctx->sFHSrsRxBbuIoBufCtrl[j][i][z].sBufferList.nNumBuffers = XRAN_MAX_ANT_ARRAY_ELM_NR; // ant number.
    2710  p_xran_dev_ctx->sFHSrsRxBbuIoBufCtrl[j][i][z].sBufferList.pBuffers = &p_xran_dev_ctx->sFHSrsRxBuffers[j][i][z][0];
    2711  p_xran_dev_ctx->sFHSrsRxBbuIoBufCtrl[j][i][z].sBufferList = *pDstBuffer[z][j];
    2712  }
    2713  }
    2714 
    2715  p_xran_dev_ctx->pSrsCallback[i] = pCallback;
    2716  p_xran_dev_ctx->pSrsCallbackTag[i] = pCallbackTag;
    2717 
    2718  return 0;
    2719 }
    2720 
    2721 uint32_t xran_get_time_stats(uint64_t *total_time, uint64_t *used_time, uint32_t *core_used, uint32_t clear)
    2722 {
    2723  *total_time = xran_total_tick;
    2724  *used_time = xran_used_tick;
    2725  *core_used = xran_core_used;
    2726 
    2727  if (clear)
    2728  {
    2729  xran_total_tick = 0;
    2730  xran_used_tick = 0;
    2731  }
    2732 
    2733  return 0;
    2734 }
    2735 
    2736 void * xran_malloc(size_t buf_len)
    2737 {
    2738  return rte_malloc("External buffer", buf_len, RTE_CACHE_LINE_SIZE);
    2739 }
    2740 
    2741 uint8_t *xran_add_hdr_offset(uint8_t *dst, int16_t compMethod)
    2742 {
    2743  dst+= (RTE_PKTMBUF_HEADROOM +
    2744  sizeof (struct xran_ecpri_hdr) +
    2745  sizeof (struct radio_app_common_hdr) +
    2746  sizeof(struct data_section_hdr));
    2747 
    2748  if(compMethod != XRAN_COMPMETHOD_NONE)
    2749  dst += sizeof (struct data_section_compression_hdr);
    2750 
    2751  dst = RTE_PTR_ALIGN_CEIL(dst, 64);
    2752 
    2753  return dst;
    2754 }
    2755 
    2756 int32_t xran_open(void *pHandle, struct xran_fh_config* pConf)
    2757 {
    2758  int32_t i;
    2759  uint8_t nNumerology = 0;
    2760  int32_t lcore_id = 0;
    2761  struct xran_device_ctx * p_xran_dev_ctx = xran_dev_get_ctx();
    2762  struct xran_fh_config *pFhCfg;
    2763  pFhCfg = &(p_xran_dev_ctx->fh_cfg);
    2764 
    2765  memcpy(pFhCfg, pConf, sizeof(struct xran_fh_config));
    2766 
    2767  if(pConf->log_level)
    2768  printf(" %s: O-RU Category %s\n", __FUNCTION__, (pFhCfg->ru_conf.xranCat == XRAN_CATEGORY_A) ? "A" : "B");
    2769 
    2770  nNumerology = xran_get_conf_numerology(pHandle);
    2771 
    2772  if (pConf->nCC > XRAN_MAX_SECTOR_NR)
    2773  {
    2774  if(pConf->log_level)
    2775  printf("Number of cells %d exceeds max number supported %d!\n", pConf->nCC, XRAN_MAX_SECTOR_NR);
    2776  pConf->nCC = XRAN_MAX_SECTOR_NR;
    2777 
    2778  }
    2779  if(pConf->ru_conf.iqOrder != XRAN_I_Q_ORDER
    2780  || pConf->ru_conf.byteOrder != XRAN_NE_BE_BYTE_ORDER ){
    2781 
    2782  print_err("Byte order and/or IQ order is not supported [IQ %d byte %d]\n", pConf->ru_conf.iqOrder, pConf->ru_conf.byteOrder);
    2783  return XRAN_STATUS_FAIL;
    2784  }
    2785 
    2786  /* setup PRACH configuration for C-Plane */
    2787  xran_init_prach(pConf, p_xran_dev_ctx);
    2788  xran_init_srs(pConf, p_xran_dev_ctx);
    2789 
    2790  xran_cp_init_sectiondb(pHandle);
    2791  xran_init_sectionid(pHandle);
    2792  xran_init_seqid(pHandle);
    2793 
    2794  if(pConf->ru_conf.xran_max_frame) {
    2796  printf("xran_max_frame %d\n", xran_max_frame);
    2797  }
    2798 
    2799  interval_us = xran_fs_get_tti_interval(nNumerology);
    2800 
    2801  if(pConf->log_level){
    2802  printf("%s: interval_us=%ld\n", __FUNCTION__, interval_us);
    2803  }
    2804  timing_set_numerology(nNumerology);
    2805 
    2806  for(i = 0 ; i <pConf->nCC; i++){
    2808  pConf->frame_conf.sSlotConfig);
    2809  }
    2810 
    2812 
    2813  if(xran_ethdi_get_ctx()->io_cfg.bbdev_mode != XRAN_BBDEV_NOT_USED){
    2814  p_xran_dev_ctx->bbdev_dec = pConf->bbdev_dec;
    2815  p_xran_dev_ctx->bbdev_enc = pConf->bbdev_enc;
    2816  }
    2817 
    2818  /* if send_xpmbuf2ring needs to be changed from default functions,
    2819  * then those should be set between xran_init and xran_open */
    2820  if(p_xran_dev_ctx->send_cpmbuf2ring == NULL)
    2821  p_xran_dev_ctx->send_cpmbuf2ring = xran_ethdi_mbuf_send_cp;
    2822  if(p_xran_dev_ctx->send_upmbuf2ring == NULL)
    2823  p_xran_dev_ctx->send_upmbuf2ring = xran_ethdi_mbuf_send;
    2824 
    2825  /* Start packet processing thread */
    2826  if((uint16_t)xran_ethdi_get_ctx()->io_cfg.port[XRAN_UP_VF] != 0xFFFF &&
    2827  (uint16_t)xran_ethdi_get_ctx()->io_cfg.port[XRAN_CP_VF] != 0xFFFF ){
    2828  if(pConf->log_level){
    2829  print_dbg("XRAN_UP_VF: 0x%04x\n", xran_ethdi_get_ctx()->io_cfg.port[XRAN_UP_VF]);
    2830  print_dbg("XRAN_CP_VF: 0x%04x\n", xran_ethdi_get_ctx()->io_cfg.port[XRAN_CP_VF]);
    2831  }
    2832  if (rte_eal_remote_launch(xran_timing_source_thread, xran_dev_get_ctx(), xran_ethdi_get_ctx()->io_cfg.timing_core))
    2833  rte_panic("thread_run() failed to start\n");
    2834  } else if(pConf->log_level){
    2835  printf("Eth port was not open. Processing thread was not started\n");
    2836  }
    2837 
    2838  return 0;
    2839 }
    2840 
    2841 int32_t xran_start(void *pHandle)
    2842 {
    2843  if(xran_get_if_state() == XRAN_RUNNING) {
    2844  print_err("Already STARTED!!");
    2845  return (-1);
    2846  }
    2847 
    2849  return 0;
    2850 }
    2851 
    2852 int32_t xran_stop(void *pHandle)
    2853 {
    2854  if(xran_get_if_state() == XRAN_STOPPED) {
    2855  print_err("Already STOPPED!!");
    2856  return (-1);
    2857  }
    2858 
    2860  return 0;
    2861 }
    2862 
    2863 int32_t xran_close(void *pHandle)
    2864 {
    2866  //TODO: fix memory leak xran_cp_free_sectiondb(pHandle);
    2867  //rte_eal_mp_wait_lcore();
    2868  //xran_ethdi_ports_stats();
    2869 
    2870 #ifdef RTE_LIBRTE_PDUMP
    2871  /* uninitialize packet capture framework */
    2872  rte_pdump_uninit();
    2873 #endif
    2874  return 0;
    2875 }
    2876 
    2877 int32_t xran_mm_destroy (void * pHandle)
    2878 {
    2879  if(xran_get_if_state() == XRAN_RUNNING) {
    2880  print_err("Please STOP first !!");
    2881  return (-1);
    2882  }
    2883 
    2884  /* functionality is not yet implemented */
    2885  return -1;
    2886 }
    2887 
    2888 int32_t xran_reg_sym_cb(void *pHandle, xran_callback_sym_fn symCb, void * symCbParam, uint8_t symb, uint8_t ant)
    2889 {
    2890  if(xran_get_if_state() == XRAN_RUNNING) {
    2891  print_err("Cannot register callback while running!!\n");
    2892  return (-1);
    2893  }
    2894 
    2895  /* functionality is not yet implemented */
    2896  print_err("Functionality is not yet implemented !");
    2897  return -1;
    2898 }
    2899 
    2900 int32_t xran_reg_physide_cb(void *pHandle, xran_fh_tti_callback_fn Cb, void *cbParam, int skipTtiNum, enum callback_to_phy_id id)
    2901 {
    2902  struct xran_device_ctx * p_xran_dev_ctx = xran_dev_get_ctx();
    2903 
    2904  if(xran_get_if_state() == XRAN_RUNNING) {
    2905  print_err("Cannot register callback while running!!\n");
    2906  return (-1);
    2907  }
    2908 
    2909  p_xran_dev_ctx->ttiCb[id] = Cb;
    2910  p_xran_dev_ctx->TtiCbParam[id] = cbParam;
    2911  p_xran_dev_ctx->SkipTti[id] = skipTtiNum;
    2912 
    2913  return 0;
    2914 }
    2915 
    2916 /* send_cpmbuf2ring and send_upmbuf2ring should be set between xran_init and xran_open
    2917  * each cb will be set by default duing open if it is set by NULL */
    2919 {
    2920  struct xran_device_ctx *p_xran_dev_ctx;
    2921 
    2922  if(xran_get_if_state() == XRAN_RUNNING) {
    2923  print_err("Cannot register callback while running!!\n");
    2924  return (-1);
    2925  }
    2926 
    2927  p_xran_dev_ctx = xran_dev_get_ctx();
    2928 
    2929  p_xran_dev_ctx->send_cpmbuf2ring = mbuf_send_cp;
    2930  p_xran_dev_ctx->send_upmbuf2ring = mbuf_send_up;
    2931 
    2932  return (0);
    2933 }
    2934 
    2935 
    2936 int32_t xran_get_slot_idx (uint32_t *nFrameIdx, uint32_t *nSubframeIdx, uint32_t *nSlotIdx, uint64_t *nSecond)
    2937 {
    2938  int32_t tti = 0;
    2939 
    2941  *nSlotIdx = (uint32_t)XranGetSlotNum(tti, SLOTNUM_PER_SUBFRAME);
    2942  *nSubframeIdx = (uint32_t)XranGetSubFrameNum(tti,SLOTNUM_PER_SUBFRAME, SUBFRAMES_PER_SYSTEMFRAME);
    2943  *nFrameIdx = (uint32_t)XranGetFrameNum(tti,xran_getSfnSecStart(),SUBFRAMES_PER_SYSTEMFRAME, SLOTNUM_PER_SUBFRAME);
    2944  *nSecond = timing_get_current_second();
    2945 
    2946  return tti;
    2947 }
    2948 
    2949 
    2955 inline struct xran_eaxcid_config *xran_get_conf_eAxC(void *pHandle)
    2956 {
    2957  return (&(xran_dev_get_ctx()->eAxc_id_cfg));
    2958 }
    2959 
    2965 inline uint8_t xran_get_conf_num_bfweights(void *pHandle)
    2966 {
    2967  return (xran_dev_get_ctx()->fh_init.totalBfWeights);
    2968 }
    2969 
    2975 inline uint8_t xran_get_conf_prach_scs(void *pHandle)
    2976 {
    2977  return (xran_lib_get_ctx_fhcfg()->prach_conf.nPrachSubcSpacing);
    2978 }
    2979 
    2985 inline uint8_t xran_get_conf_fftsize(void *pHandle)
    2986 {
    2987  return (xran_lib_get_ctx_fhcfg()->ru_conf.fftSize);
    2988 }
    2989 
    2995 inline uint8_t xran_get_conf_numerology(void *pHandle)
    2996 {
    2997  return (xran_lib_get_ctx_fhcfg()->frame_conf.nNumerology);
    2998 }
    2999 
    3005 inline uint8_t xran_get_conf_iqwidth(void *pHandle)
    3006 {
    3007  struct xran_fh_config *pFhCfg;
    3008 
    3009  pFhCfg = xran_lib_get_ctx_fhcfg();
    3010  return ((pFhCfg->ru_conf.iqWidth==16)?0:pFhCfg->ru_conf.iqWidth);
    3011 }
    3012 
    3018 inline uint8_t xran_get_conf_compmethod(void *pHandle)
    3019 {
    3020  return (xran_lib_get_ctx_fhcfg()->ru_conf.compMeth);
    3021 }
    3022 
    3023 
    3029 inline uint8_t xran_get_num_cc(void *pHandle)
    3030 {
    3031  return (xran_lib_get_ctx_fhcfg()->nCC);
    3032 }
    3033 
    3039 inline uint8_t xran_get_num_eAxc(void *pHandle)
    3040 {
    3041  return (xran_lib_get_ctx_fhcfg()->neAxc);
    3042 }
    3043 
    3049 inline enum xran_category xran_get_ru_category(void *pHandle)
    3050 {
    3051  return (xran_lib_get_ctx_fhcfg()->ru_conf.xranCat);
    3052 }
    3053 
    3059 inline uint8_t xran_get_num_eAxcUl(void *pHandle)
    3060 {
    3061  return (xran_lib_get_ctx_fhcfg()->neAxcUl);
    3062 }
    3063 
    3069 inline uint8_t xran_get_num_ant_elm(void *pHandle)
    3070 {
    3071  return (xran_lib_get_ctx_fhcfg()->nAntElmTRx);
    3072 }
    3073 
    3074 int32_t xran_get_common_counters(void *pXranLayerHandle, struct xran_common_counters *pStats)
    3075 {
    3076  struct xran_device_ctx* pDev = (struct xran_device_ctx*)pXranLayerHandle;
    3077 
    3078  if(pStats && pDev) {
    3079  *pStats = pDev->fh_counters;
    3080  return XRAN_STATUS_SUCCESS;
    3081  } else {
    3083  }
    3084 }
    3085 
    +
    int xran_cp_add_section_info(void *pHandle, uint8_t dir, uint8_t cc_id, uint8_t ruport_id, uint8_t ctx_id, struct xran_section_info *info)
    Add a section information of C-Plane to dabase.
    Definition: xran_cp_api.c:160
    +
    int generate_cpmsg_prach(void *pHandle, struct xran_cp_gen_params *params, struct xran_section_gen_info *sect_geninfo, struct rte_mbuf *mbuf, struct xran_device_ctx *pxran_lib_ctx, uint8_t frame_id, uint8_t subframe_id, uint8_t slot_id, uint16_t beam_id, uint8_t cc_id, uint8_t prach_port_id, uint8_t seq_id)
    Definition: xran_common.c:595
    +
    const xRANPrachConfigTableStruct gxranPrachDataTable_sub6_fdd[XRAN_PRACH_CONFIG_TABLE_SIZE]
    +
    uint32_t xran_fs_get_max_slot(void)
    + +
    #define XranOffsetSym(offSym, otaSym, numSymTotal)
    Definition: xran_main.c:67
    +
    int32_t debugStop
    Definition: xran_fh_o_du.h:361
    + + + + +
    struct rte_mempool * socket_indirect_pool
    Definition: ethernet.c:77
    +
    #define N_SC_PER_PRB
    Definition: common.h:49
    + +
    #define PID_PROCESS_CP_PKT
    +
    int timing_set_numerology(uint8_t value)
    Definition: xran_timer.c:93
    +
    uint8_t enableCP
    Definition: xran_fh_o_du.h:356
    +
    int32_t xran_init(int argc, char *argv[], struct xran_fh_init *p_xran_fh_init, char *appName, void **pXranLayerHandle)
    Definition: xran_main.c:2319
    + +
    phy_encoder_poll_fn bbdev_enc
    Definition: xran_fh_o_du.h:520
    +
    void * TtiCbParam[XRAN_CB_MAX]
    Definition: xran_common.h:253
    +
    int xran_init_seqid(void *pHandle)
    Definition: xran_main.c:400
    +
    const xRANPrachConfigTableStruct gxranPrachDataTable_sub6_tdd[XRAN_PRACH_CONFIG_TABLE_SIZE]
    +
    int xran_timing_source_thread(void *args)
    Definition: xran_main.c:1165
    + + +
    #define XRAN_MAX_ANT_ARRAY_ELM_NR
    Definition: xran_fh_o_du.h:118
    +
    struct rte_mbuf * xran_ethdi_mbuf_alloc(void)
    Definition: ethdi.c:77
    +
    #define XRAN_SYMBOL_TYPE_UL
    Definition: xran_fh_o_du.h:147
    +
    int xran_init_prach(struct xran_fh_config *pConf, struct xran_device_ctx *p_xran_dev_ctx)
    Definition: xran_main.c:308
    +
    int32_t timing_core
    Definition: xran_fh_o_du.h:303
    +
    #define XRAN_N_FE_BUF_LEN
    Definition: xran_fh_o_du.h:109
    +
    xran_pkt_dir
    Definition: xran_pkt.h:146
    +
    int prach_last_symbol[XRAN_MAX_SECTOR_NR]
    Definition: xran_common.h:263
    + +
    #define PID_UP_UL_HALF_DEAD_LINE_CB
    +
    uint32_t rb
    Definition: xran_pkt_cp.h:243
    +
    uint32_t tti_to_process
    Definition: xran_main.c:97
    +
    struct xran_srs_config srs_cfg
    Definition: xran_common.h:220
    + +
    void * pPrachCallbackTag[XRAN_MAX_SECTOR_NR]
    Definition: xran_common.h:242
    +
    #define XRAN_STATUS_SUCCESS
    Definition: xran_fh_o_du.h:54
    +
    struct xran_common_counters fh_counters
    Definition: xran_common.h:271
    + +
    uint32_t nAntElmTRx
    Definition: xran_fh_o_du.h:503
    +
    #define ETHER_TYPE_ECPRI
    Definition: ethernet.h:42
    +
    #define print_dbg(fmt, args...)
    Definition: xran_printf.h:54
    +
    int32_t nPrachFreqOffset
    Definition: xran_fh_o_du.h:442
    +
    struct xran_device_ctx * xran_dev_get_ctx(void)
    Definition: xran_main.c:223
    + +
    uint16_t xran_alloc_sectionid(void *pHandle, uint8_t dir, uint8_t cc_id, uint8_t ant_id, uint8_t slot_id)
    Definition: xran_main.c:379
    +
    uint16_t T1a_max_up
    Definition: xran_fh_o_du.h:352
    +
    uint8_t eAxC_offset
    Definition: xran_fh_o_du.h:449
    + +
    uint32_t xran_fs_slot_limit_init(int32_t tti_interval_us)
    +
    uint32_t nNumBuffers
    Definition: xran_fh_o_du.h:594
    + +
    end write files for IQ samples for ant
    Definition: gen_test.m:166
    +
    uint8_t xran_port_id
    Definition: xran_common.h:206
    +
    uint16_t nDLRBs
    Definition: xran_fh_o_du.h:506
    +
    uint16_t len
    Definition: xran_common.h:199
    +
    #define MLogMark(x, y)
    Definition: xran_mlog_lnx.h:46
    +
    void rx_ul_deadline_half_cb(struct rte_timer *tim, void *arg)
    Definition: xran_main.c:963
    + +
    enum xran_if_state xran_if_current_state
    Definition: ethdi.c:75
    +
    uint16_t nULRBs
    Definition: xran_fh_o_du.h:507
    +
    uint8_t id
    Definition: xran_fh_o_du.h:295
    +
    uint8_t y[XRAN_PRACH_CANDIDATE_Y]
    Definition: xran_common.h:137
    +
    int32_t GPS_Beta
    Definition: xran_fh_o_du.h:365
    +
    int32_t xran_process_tx_sym_cp_off(uint8_t ctx_id, uint32_t tti, int32_t cc_id, int32_t ant_id, uint32_t frame_id, uint32_t subframe_id, uint32_t slot_id, uint32_t sym_id, int32_t do_srs)
    Definition: xran_main.c:1715
    +
    xran_category
    Definition: xran_fh_o_du.h:262
    +
    int32_t xran_process_tx_sym(void *arg)
    Definition: xran_main.c:2202
    +
    enum xran_category xran_get_ru_category(void *pHandle)
    Get configuration of O-RU (Cat A or Cat B)
    Definition: xran_main.c:3049
    + +
    uint8_t seq_id
    Definition: xran_pkt.h:99
    +
    uint8_t xran_get_num_cc(void *pHandle)
    Get the configuration of the number of component carriers.
    Definition: xran_main.c:3029
    +
    uint32_t xran_lib_ota_tti
    Definition: xran_main.c:111
    + +
    #define MLogRegisterFrameSubframe(x, y)
    Definition: xran_mlog_lnx.h:48
    +
    struct cb_elem_entry * xran_create_cb(XranSymCallbackFn cb_fn, void *cb_data)
    Definition: xran_common.c:125
    + + +
    int32_t xran_open(void *pHandle, struct xran_fh_config *pConf)
    Definition: xran_main.c:2756
    +
    void xran_timer_arm(struct rte_timer *tim, void *arg)
    Definition: xran_main.c:711
    +
    #define XRAN_SLOT_TYPE_DL
    Definition: xran_fh_o_du.h:139
    +
    int16_t nRBStart
    Definition: xran_fh_o_du.h:394
    +
    #define PID_TTI_TIMER
    +
    struct mbuf_table tx_mbufs[RTE_MAX_ETHPORTS]
    Definition: xran_common.h:269
    +
    void * xran_malloc(size_t buf_len)
    Definition: xran_main.c:2736
    + + +
    int32_t debugStopCount
    Definition: xran_fh_o_du.h:362
    +
    int xran_ethdi_mbuf_send(struct rte_mbuf *mb, uint16_t ethertype)
    Definition: ethdi.c:82
    +
    int16_t nBeamIndex
    Definition: xran_fh_o_du.h:398
    +
    uint8_t prachEnable
    Definition: xran_fh_o_du.h:357
    +
    enum xran_input_byte_order byteOrder
    Definition: xran_fh_o_du.h:489
    +
    void * pSrsCallbackTag[XRAN_MAX_SECTOR_NR]
    Definition: xran_common.h:245
    +
    uint8_t srsEnable
    Definition: xran_fh_o_du.h:358
    +
    uint32_t nPrbElm
    Definition: xran_fh_o_du.h:422
    +
    int32_t nSegTransferred
    Definition: sample-app.c:127
    +
    int xran_ethdi_mbuf_send_cp(struct rte_mbuf *mb, uint16_t ethertype)
    Definition: ethdi.c:94
    +
    #define XRAN_STATUS_FAIL
    Definition: xran_fh_o_du.h:58
    +
    xran_ethdi_mbuf_send_fn send_upmbuf2ring
    Definition: xran_common.h:277
    +
    long rx_counter
    Definition: xran_common.c:117
    +
    int16_t nRBSize
    Definition: xran_fh_o_du.h:395
    +
    void rx_ul_deadline_full_cb(struct rte_timer *tim, void *arg)
    Definition: xran_main.c:999
    + +
    xran_transport_callback_fn pCallback[XRAN_MAX_SECTOR_NR]
    Definition: xran_common.h:238
    +
    uint8_t id
    Definition: ethdi.h:83
    +
    void xran_updateSfnSecStart(void)
    Definition: xran_main.c:201
    + +
    BbuIoBufCtrlStruct sFrontHaulTxPrbMapBbuIoBufCtrl[XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR]
    Definition: xran_common.h:223
    +
    struct rte_mempool * socket_direct_pool
    Definition: ethernet.c:76
    +
    uint8_t xran_get_conf_numerology(void *pHandle)
    Get the configuration of nummerology.
    Definition: xran_main.c:2995
    + +
    #define PID_UP_UL_FULL_DEAD_LINE_CB
    +
    #define XRAN_MAX_SECTOR_NR
    Definition: xran_fh_o_du.h:110
    +
    #define DpdkTimerIncrementCtx(ctx)
    Definition: xran_main.c:78
    +
    uint64_t xran_tick(void)
    Definition: xran_timer.c:131
    + + + +
    const xRANPrachConfigTableStruct gxranPrachDataTable_mmw[XRAN_PRACH_CONFIG_TABLE_SIZE]
    +
    uint16_t xran_get_beamid(void *pHandle, uint8_t dir, uint8_t cc_id, uint8_t ant_id, uint8_t slot_id)
    Definition: xran_main.c:233
    + +
    xran_transport_callback_fn pPrachCallback[XRAN_MAX_SECTOR_NR]
    Definition: xran_common.h:241
    +
    #define MLogAddVariables(x, y, z)
    Definition: xran_mlog_lnx.h:49
    +
    struct xran_section_info info
    Definition: xran_cp_api.h:296
    + +
    xran_ethdi_mbuf_send_fn send_cpmbuf2ring
    Definition: xran_common.h:276
    +
    struct rte_mempool * indirect_pool
    Definition: xran_common.h:268
    + +
    uint16_t xran_max_frame
    Definition: xran_fh_o_du.h:491
    + + +
    int16_t ext_section_sz
    Definition: xran_fh_o_du.h:372
    +
    struct xran_srs_config srs_conf
    Definition: xran_fh_o_du.h:516
    + + +
    int send_cpmsg(void *pHandle, struct rte_mbuf *mbuf, struct xran_cp_gen_params *params, struct xran_section_gen_info *sect_geninfo, uint8_t cc_id, uint8_t ru_port_id, uint8_t seq_id)
    Definition: xran_common.c:510
    +
    struct xran_eaxcid_config eAxCId_conf
    Definition: xran_fh_o_du.h:325
    +
    int16_t iqWidth
    Definition: xran_fh_o_du.h:401
    +
    uint16_t nPrachFreqStart
    Definition: xran_fh_o_du.h:441
    + + +
    #define PID_TTI_CB
    +
    uint8_t xran_get_num_ant_elm(void *pHandle)
    Get the configuration of the number of antenna elements.
    Definition: xran_main.c:3069
    +
    uint16_t Ta3_min
    Definition: xran_fh_o_du.h:345
    +
    struct xran_flat_buffer sFHSrsRxBuffers[XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANT_ARRAY_ELM_NR][XRAN_MAX_NUM_OF_SRS_SYMBOL_PER_SLOT]
    Definition: xran_common.h:236
    + +
    #define XRAN_MAX_SECTIONDB_CTX
    Definition: xran_cp_api.h:40
    +
    phy_decoder_poll_fn bbdev_dec
    Definition: xran_fh_o_du.h:521
    + +
    #define XRAN_MAX_ANTENNA_NR
    Definition: xran_fh_o_du.h:111
    +
    #define TX_TIMER_INTERVAL
    Definition: ethdi.h:64
    +
    uint8_t xran_get_conf_prach_scs(void *pHandle)
    Get the configuration of subcarrier spacing for PRACH.
    Definition: xran_main.c:2975
    +
    int8_t * p_ext_section
    Definition: xran_fh_o_du.h:371
    + +
    int8_t * p_o_ru_addr
    Definition: xran_fh_o_du.h:334
    +
    #define XRAN_PORTS_NUM
    Definition: xran_fh_o_du.h:108
    +
    int prach_start_symbol[XRAN_MAX_SECTOR_NR]
    Definition: xran_common.h:262
    +
    void * xran_cc_handle_t
    Definition: xran_fh_o_du.h:541
    + + +
    struct xran_cp_bf_weight bf_weight
    Definition: xran_fh_o_du.h:405
    +
    int32_t xran_bm_allocate_buffer(void *pHandle, uint32_t nPoolIndex, void **ppData, void **ppCtrl)
    Definition: xran_main.c:2499
    +
    uint8_t nFrameDuplexType
    Definition: xran_fh_o_du.h:460
    +
    struct xran_flat_buffer sFrontHaulTxBuffers[XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR][XRAN_NUM_OF_SYMBOL_PER_SLOT]
    Definition: xran_common.h:230
    + +
    int32_t xran_get_slot_idx(uint32_t *nFrameIdx, uint32_t *nSubframeIdx, uint32_t *nSlotIdx, uint64_t *nSecond)
    Definition: xran_main.c:2936
    +
    unsigned long get_ticks_diff(unsigned long curr_tick, unsigned long last_tick)
    Definition: xran_timer.c:138
    +
    void * pSymCallbackTag
    Definition: xran_common.h:164
    +
    char * filePrefix
    Definition: xran_fh_o_du.h:329
    +
    struct rte_mempool * p_bufferPool[XRAN_MAX_POOLS_PER_SECTOR_NR]
    Definition: xran_common.h:154
    + +
    struct xran_fh_config fh_cfg
    Definition: xran_common.h:209
    +
    int32_t xran_process_tx_sym_cp_on(uint8_t ctx_id, uint32_t tti, int32_t cc_id, int32_t ant_id, uint32_t frame_id, uint32_t subframe_id, uint32_t slot_id, uint32_t sym_id)
    Definition: xran_main.c:2000
    +
    uint32_t mtu
    Definition: xran_fh_o_du.h:331
    + + +
    uint32_t xran_fs_get_tti_interval(uint8_t nMu)
    +
    int32_t prepare_symbol_ex(enum xran_pkt_dir direction, uint16_t section_id, struct rte_mbuf *mb, struct rb_map *data, uint8_t compMeth, uint8_t iqWidth, const enum xran_input_byte_order iq_buf_byte_order, uint8_t frame_id, uint8_t subframe_id, uint8_t slot_id, uint8_t symbol_no, int prb_start, int prb_num, uint8_t CC_ID, uint8_t RU_Port_ID, uint8_t seq_id, uint32_t do_copy)
    Definition: xran_common.c:348
    +
    int32_t xran_close(void *pHandle)
    Definition: xran_main.c:2863
    +
    int32_t xran_sector_get_instances(void *pDevHandle, uint16_t nNumInstances, xran_cc_handle_t *pSectorInstanceHandles)
    Definition: xran_main.c:2408
    +
    enum xran_input_i_q_order iqOrder
    Definition: xran_fh_o_du.h:490
    +
    uint8_t occassionsInPrachSlot
    Definition: xran_common.h:135
    + +
    uint16_t T1a_max_cp_dl
    Definition: xran_fh_o_du.h:348
    +
    uint8_t xran_get_num_eAxc(void *pHandle)
    Get the configuration of the number of antenna for UL.
    Definition: xran_main.c:3039
    +
    int32_t xran_get_freqoffset(int freqOffset, int scs)
    +
    int32_t xran_mm_destroy(void *pHandle)
    Definition: xran_main.c:2877
    +
    struct xran_io_cfg io_cfg
    Definition: xran_fh_o_du.h:324
    +
    xran_fh_tti_callback_fn ttiCb[XRAN_CB_MAX]
    Definition: xran_common.h:252
    +
    struct xran_flat_buffer sFHPrachRxBuffers[XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR][XRAN_NUM_OF_SYMBOL_PER_SLOT]
    Definition: xran_common.h:234
    + +
    Definition: xran_common.h:162
    +
    uint8_t y[XRAN_PRACH_CANDIDATE_Y]
    Definition: xran_common.h:107
    + +
    #define XranGetTtiNum(symIdx, numSymPerTti)
    Definition: xran_fh_o_du.h:98
    +
    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)
    Definition: xran_main.c:2551
    +
    int32_t xran_process_rx_sym(void *arg, struct rte_mbuf *mbuf, void *iq_data_start, uint16_t size, uint8_t CC_ID, uint8_t Ant_ID, uint8_t frame_id, uint8_t subframe_id, uint8_t slot_id, uint8_t symb_id, uint16_t num_prbu, uint16_t start_prbu, uint16_t sym_inc, uint16_t rb, uint16_t sect_id, uint32_t *mb_free)
    Definition: xran_main.c:1578
    +
    int32_t xran_start(void *pHandle)
    Definition: xran_main.c:2841
    +
    uint32_t log_level
    Definition: xran_fh_o_du.h:523
    +
    #define XranGetSymNum(symIdx, numSymPerTti)
    Definition: xran_fh_o_du.h:100
    +
    uint8_t xran_get_conf_num_bfweights(void *pHandle)
    Get the configuration of the total number of beamforming weights on RU.
    Definition: xran_main.c:2965
    +
    #define XRAN_PRACH_CANDIDATE_SLOT
    Definition: xran_common.h:80
    +
    uint32_t bufferPoolElmSz[XRAN_MAX_POOLS_PER_SECTOR_NR]
    Definition: xran_common.h:155
    +
    int32_t sym_up_ul
    Definition: xran_common.h:250
    +
    int32_t xran_mm_init(void *pHandle, uint64_t nMemorySize, uint32_t nMemorySegmentSize)
    Definition: xran_main.c:2447
    +
    int xran_destroy_cb(struct cb_elem_entry *cb_elm)
    Definition: xran_common.c:136
    + +
    void * pCallbackTag[XRAN_MAX_SECTOR_NR]
    Definition: xran_common.h:239
    +
    long tx_counter
    Definition: xran_common.c:118
    + +
    #define print_err(fmt, args...)
    Definition: xran_printf.h:62
    +
    #define XranGetSubFrameNum(tti, numSlotPerSubFrame, numSubFramePerSystemFrame)
    Definition: xran_fh_o_du.h:104
    +
    uint8_t compMeth
    Definition: xran_fh_o_du.h:487
    +
    struct rte_mempool * _eth_mbuf_pool_small
    Definition: ethernet.c:73
    +
    uint16_t startPrbc
    Definition: xran_cp_api.h:193
    +
    void ul_up_full_slot_cb(struct rte_timer *tim, void *arg)
    Definition: xran_main.c:1129
    +
    #define PID_PROCESS_TX_SYM
    +
    int xran_parse_cp_pkt(struct rte_mbuf *mbuf, struct xran_cp_gen_params *result, struct xran_recv_packet_info *pkt_info)
    Parse a C-Plane packet (for RU emulation) Transport layer fragmentation is not supported.
    Definition: xran_cp_api.c:1749
    + + +
    int32_t xran_fs_set_slot_type(uint32_t nPhyInstanceId, uint32_t nFrameDuplexType, uint32_t nTddPeriod, struct xran_slot_config *psSlotConfig)
    + +
    uint16_t xran_SFN_at_Sec_Start
    Definition: xran_main.c:115
    + + +
    uint16_t Ta4_max
    Definition: xran_fh_o_du.h:354
    +
    long poll_next_tick(long interval_ns, unsigned long *used_tick)
    Definition: xran_timer.c:146
    + +
    struct xran_frame_config frame_conf
    Definition: xran_fh_o_du.h:517
    +
    #define SLOTS_PER_SYSTEMFRAME
    Definition: xran_common.h:56
    + +
    This file provides interface to synchronization related APIs (PTP/1588) for XRAN. ...
    +
    phy_decoder_poll_fn bbdev_dec
    Definition: xran_common.h:274
    + +
    uint32_t bufferPoolNumElm[XRAN_MAX_POOLS_PER_SECTOR_NR]
    Definition: xran_common.h:156
    +
    uint32_t xran_fs_get_max_slot_SFN(void)
    +
    int32_t nSegGenerated
    Definition: sample-app.c:125
    +
    uint32_t enableCP
    Definition: xran_common.h:213
    +
    #define MBUF_TABLE_SIZE
    Definition: xran_common.h:196
    +
    int process_cplane(struct rte_mbuf *pkt)
    Definition: xran_main.c:571
    + +
    int xran_packet_and_dpdk_timer_thread(void *args)
    Definition: xran_main.c:2282
    + + + +
    void tti_to_phy_cb(struct rte_timer *tim, void *arg)
    Definition: xran_main.c:1136
    +
    long rx_bytes_per_sec
    Definition: xran_common.c:122
    + +
    struct rte_mbuf * m_table[MBUF_TABLE_SIZE]
    Definition: xran_common.h:200
    + +
    int timing_set_debug_stop(int value, int count)
    Definition: xran_timer.c:99
    + +
    #define XranGetSlotNum(tti, numSlotPerSfn)
    Definition: xran_fh_o_du.h:106
    +
    void tx_cp_ul_cb(struct rte_timer *tim, void *arg)
    Definition: xran_main.c:1045
    +
    This file provides interface to Timing for XRAN.
    +
    uint16_t nXranPort
    Definition: xran_common.h:149
    +
    void tx_cp_dl_cb(struct rte_timer *tim, void *arg)
    Definition: xran_main.c:910
    +
    xran_if_state
    Definition: xran_fh_o_du.h:189
    + + +
    struct xran_flat_buffer sFrontHaulRxBuffers[XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR][XRAN_NUM_OF_SYMBOL_PER_SLOT]
    Definition: xran_common.h:232
    +
    void tti_ota_cb(struct rte_timer *tim, void *arg)
    Definition: xran_main.c:632
    +
    uint16_t symbMask
    Definition: xran_fh_o_du.h:448
    +
    uint32_t xran_lib_ota_sym
    Definition: xran_main.c:112
    +
    uint8_t up_vlan_tag
    Definition: xran_fh_o_du.h:360
    + +
    int32_t xran_pkt_validate(void *arg, struct rte_mbuf *mbuf, void *iq_data_start, uint16_t size, uint8_t CC_ID, uint8_t Ant_ID, uint8_t frame_id, uint8_t subframe_id, uint8_t slot_id, uint8_t symb_id, struct ecpri_seq_id *seq_id, uint16_t num_prbu, uint16_t start_prbu, uint16_t sym_inc, uint16_t rb, uint16_t sect_id)
    Definition: xran_main.c:1536
    +
    struct xran_flat_buffer * pBuffers
    Definition: xran_fh_o_du.h:596
    +
    uint32_t enablePrach
    Definition: xran_common.h:212
    +
    uint8_t xran_get_conf_compmethod(void *pHandle)
    Get the configuration of compression method for RU.
    Definition: xran_main.c:3018
    + +
    BbuIoBufCtrlStruct sFHSrsRxBbuIoBufCtrl[XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANT_ARRAY_ELM_NR]
    Definition: xran_common.h:227
    + +
    int32_t xran_process_srs_sym(void *arg, struct rte_mbuf *mbuf, void *iq_data_start, uint16_t size, uint8_t CC_ID, uint8_t Ant_ID, uint8_t frame_id, uint8_t subframe_id, uint8_t slot_id, uint8_t symb_id, uint16_t num_prbu, uint16_t start_prbu, uint16_t sym_inc, uint16_t rb, uint16_t sect_id, uint32_t *mb_free)
    Definition: xran_main.c:1461
    +
    struct xran_cp_header_params hdr
    Definition: xran_cp_api.h:320
    +
    Header file for function to work with 5G NR frame structure and related routines. ...
    +
    uint8_t slotNr[XRAN_PRACH_CANDIDATE_SLOT]
    Definition: xran_common.h:108
    +
    struct xran_prach_config prach_conf
    Definition: xran_fh_o_du.h:515
    +
    #define XRAN_SYMBOL_TYPE_DL
    Definition: xran_fh_o_du.h:146
    + +
    int16_t bf_weight_update
    Definition: xran_fh_o_du.h:399
    +
    int xran_init_sectionid(void *pHandle)
    Definition: xran_main.c:278
    +
    int xran_ethdi_init_dpdk_io(char *name, const struct xran_io_loop_cfg *io_cfg, int *lcore_id, struct ether_addr *p_lls_cu_addr, struct ether_addr *p_ru_addr, uint16_t cp_vlan, uint16_t up_vlan)
    Definition: ethdi.c:288
    + +
    const xRANPrachPreambleLRAStruct gxranPreambleforLRA[13]
    + +
    int16_t compMethod
    Definition: xran_fh_o_du.h:400
    +
    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)
    Definition: xran_main.c:2679
    + +
    uint64_t timing_get_current_second(void)
    Definition: xran_timer.c:88
    +
    uint8_t xran_get_num_eAxcUl(void *pHandle)
    Get the configuration of the number of antenna.
    Definition: xran_main.c:3059
    +
    uint8_t num_eAxc
    Definition: common.c:47
    +
    BbuIoBufCtrlStruct sFrontHaulRxPrbMapBbuIoBufCtrl[XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR]
    Definition: xran_common.h:225
    +
    uint32_t enableSrs
    Definition: xran_common.h:219
    +
    int32_t xran_app_fragment_packet(struct rte_mbuf *pkt_in, struct rte_mbuf **pkts_out, uint16_t nb_pkts_out, uint16_t mtu_size, struct rte_mempool *pool_direct, struct rte_mempool *pool_indirect, struct xran_section_info *sectinfo, uint8_t *seqid)
    +
    struct xran_flat_buffer sFrontHaulTxPrbMapBuffers[XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR][XRAN_NUM_OF_SYMBOL_PER_SLOT]
    Definition: xran_common.h:231
    + + +
    This file has all definitions for the Ethernet Data Interface Layer.
    +
    uint32_t neAxcUl
    Definition: xran_fh_o_du.h:502
    +
    void xran_timer_arm_ex(struct rte_timer *tim, void *CbFct, void *CbArg, unsigned tim_lcore)
    Definition: xran_main.c:724
    +
    void(* xran_callback_sym_fn)(void *)
    Definition: xran_fh_o_du.h:239
    +
    BbuIoBufCtrlStruct sFrontHaulTxBbuIoBufCtrl[XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR]
    Definition: xran_common.h:222
    + +
    enum xran_category xranCat
    Definition: xran_fh_o_du.h:484
    +
    #define NUM_OF_FRAMES_PER_SECOND
    Definition: xran_main.c:91
    +
    Header file for functions to perform application level fragmentation.
    +
    Modules provide debug prints and utility functions.
    +
    struct xran_slot_config sSlotConfig[XRAN_MAX_TDD_PERIODICITY]
    Definition: xran_fh_o_du.h:465
    +
    #define PID_SYM_OTA_CB
    +
    struct xran_ecpri_cmn_hdr cmnhdr
    Definition: xran_pkt.h:132
    + +
    #define XRAN_SLOT_TYPE_FDD
    Definition: xran_fh_o_du.h:142
    +
    int16_t iq_buffer_offset
    Definition: xran_fh_o_du.h:385
    +
    uint32_t SkipTti[XRAN_CB_MAX]
    Definition: xran_common.h:254
    +
    int16_t nStartSymb
    Definition: xran_fh_o_du.h:396
    +
    uint8_t xran_get_conf_fftsize(void *pHandle)
    Get the configuration of FFT size for RU.
    Definition: xran_main.c:2985
    +
    This file provides the definitions for User Plane Messages APIs.
    + + +
    #define PID_TIME_ARM_TIMER
    +
    struct xran_flat_buffer sFrontHaulRxPrbMapBuffers[XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR][XRAN_NUM_OF_SYMBOL_PER_SLOT]
    Definition: xran_common.h:233
    + +
    #define XRAN_MAX_PKT_BURST_PER_SYM
    Definition: xran_common.h:193
    + +
    struct xran_eaxcid_config * xran_get_conf_eAxC(void *pHandle)
    Get the configuration of eAxC ID.
    Definition: xran_main.c:2955
    +
    struct xran_section_info * xran_cp_iterate_section_info(void *pHandle, uint8_t dir, uint8_t cc_id, uint8_t ruport_id, uint8_t ctx_id, uint32_t *next)
    Iterate each section information of C-Plane from the database of eAxC by given information.
    Definition: xran_cp_api.c:291
    + +
    XRAN layer common functionality for both lls-CU and RU as well as C-plane and U-plane.
    +
    #define PID_CP_DL_CB
    +
    int xran_cp_getsize_section_info(void *pHandle, uint8_t dir, uint8_t cc_id, uint8_t ruport_id, uint8_t ctx_id)
    Get the size of stored entries for the database of eAxC by given information.
    Definition: xran_cp_api.c:334
    +
    int handle_ecpri_ethertype(struct rte_mbuf *pkt, uint64_t rx_time)
    Definition: xran_main.c:1342
    +
    struct xran_ru_config ru_conf
    Definition: xran_fh_o_du.h:518
    +
    int xran_register_cb_mbuf2ring(xran_ethdi_mbuf_send_fn mbuf_send_cp, xran_ethdi_mbuf_send_fn mbuf_send_up)
    Definition: xran_main.c:2918
    + +
    int xran_cp_reset_section_info(void *pHandle, uint8_t dir, uint8_t cc_id, uint8_t ruport_id, uint8_t ctx_id)
    Reset a database of eAxC by given information.
    Definition: xran_cp_api.c:366
    + +
    int(* xran_fh_tti_callback_fn)(void *)
    Definition: xran_fh_o_du.h:242
    + +
    uint8_t cp_vlan_tag
    Definition: xran_fh_o_du.h:359
    + +
    struct xran_section_desc * p_sec_desc[XRAN_NUM_OF_SYMBOL_PER_SLOT]
    Definition: xran_fh_o_du.h:404
    + +
    #define XRAN_MAX_CELLS_PER_PORT
    Definition: xran_fh_o_du.h:125
    +
    int32_t xran_reg_physide_cb(void *pHandle, xran_fh_tti_callback_fn Cb, void *cbParam, int skipTtiNum, enum callback_to_phy_id id)
    Definition: xran_main.c:2900
    +
    callback_to_phy_id
    Definition: xran_fh_o_du.h:219
    + +
    #define UNIX_TO_GPS_SECONDS_OFFSET
    Definition: xran_main.c:90
    +
    #define MBUF_CACHE
    Definition: ethernet.h:47
    +
    long tx_bytes_per_sec
    Definition: xran_common.c:121
    +
    uint32_t symbol
    Definition: xran_fh_o_du.h:289
    +
    struct xran_fh_init fh_init
    Definition: xran_common.h:208
    +
    uint32_t slotiId
    Definition: xran_fh_o_du.h:290
    +
    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)
    Definition: xran_main.c:2636
    +
    struct xran_timer_ctx timer_ctx[MAX_NUM_OF_XRAN_CTX]
    Definition: xran_main.c:103
    +
    #define XRAN_NUM_OF_SYMBOL_PER_SLOT
    Definition: xran_fh_o_du.h:122
    +
    xran_transport_callback_fn pSrsCallback[XRAN_MAX_SECTOR_NR]
    Definition: xran_common.h:244
    +
    int32_t DynamicSectionEna
    Definition: xran_fh_o_du.h:363
    + + +
    #define O_DU
    Definition: xran_common.h:47
    +
    uint8_t * xran_add_hdr_offset(uint8_t *dst, int16_t compMethod)
    Definition: xran_main.c:2741
    +
    int xran_is_prach_slot(uint32_t subframe_id, uint32_t slot_id)
    Definition: xran_main.c:243
    +
    int xran_prepare_ctrl_pkt(struct rte_mbuf *mbuf, struct xran_cp_gen_params *params, uint8_t CC_ID, uint8_t Ant_ID, uint8_t seq_id)
    Create a C-Plane packet Transport layer fragmentation is not supported.
    Definition: xran_cp_api.c:1381
    +
    int32_t GPS_Alpha
    Definition: xran_fh_o_du.h:364
    +
    uint32_t xran_lib_ota_sym_idx
    Definition: xran_main.c:113
    +
    uint16_t xran_max_frame
    Definition: xran_main.c:116
    +
    enum xran_if_state xran_get_if_state(void)
    Definition: xran_main.c:238
    +
    Definitions and support functions to process XRAN packet.
    +
    uint8_t isPRACHslot[XRAN_PRACH_CANDIDATE_SLOT]
    Definition: xran_common.h:138
    +
    uint32_t neAxc
    Definition: xran_fh_o_du.h:501
    +
    This file provides public interface to xRAN Front Haul layer implementation as defined in the ORAN-WG...
    +
    int xran_init_srs(struct xran_fh_config *pConf, struct xran_device_ctx *p_xran_dev_ctx)
    Definition: xran_main.c:294
    + + +
    void xran_fs_clear_slot_type(uint32_t nPhyInstanceId)
    + + +
    #define SLOTNUM_PER_SUBFRAME
    Definition: xran_common.h:54
    +
    struct xran_prach_cp_config PrachCPConfig
    Definition: xran_common.h:210
    +
    #define XRAN_STATUS_INVALID_PARAM
    Definition: xran_fh_o_du.h:75
    +
    #define MAX_NUM_OF_DPDK_TIMERS
    Definition: xran_main.c:77
    +
    struct xran_section_desc sec_desc[XRAN_NUM_OF_SYMBOL_PER_SLOT]
    Definition: xran_cp_api.h:205
    +
    struct rte_mempool * direct_pool
    Definition: xran_common.h:267
    + +
    struct xran_buffer_list sBufferList
    Definition: sample-app.c:129
    + +
    #define XRAN_SLOT_TYPE_SP
    Definition: xran_fh_o_du.h:141
    +
    XranSymCallbackFn pSymCallback
    Definition: xran_common.h:163
    + +
    uint8_t xran_get_conf_iqwidth(void *pHandle)
    Get the configuration of IQ bit width for RU.
    Definition: xran_main.c:3005
    + +
    #define O_RU
    Definition: xran_common.h:48
    +
    #define MLogIncrementCounter()
    Definition: xran_mlog_lnx.h:43
    + + + + +
    uint8_t preambleFmrt[XRAN_PRACH_CANDIDATE_PREAMBLE]
    Definition: xran_common.h:105
    + +
    uint16_t T1a_max_cp_ul
    Definition: xran_fh_o_du.h:350
    +
    struct xran_section_gen_info * sections
    Definition: xran_cp_api.h:322
    +
    uint16_t numSections
    Definition: xran_cp_api.h:318
    + +
    int rx_packet_callback_tracker[XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR]
    Definition: xran_common.h:260
    + +
    struct xran_section_gen_info::@2 exData[XRAN_MAX_NUM_EXTENSIONS]
    +
    BbuIoBufCtrlStruct sFHPrachRxBbuIoBufCtrl[XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR]
    Definition: xran_common.h:226
    +
    int32_t xran_reg_sym_cb(void *pHandle, xran_callback_sym_fn symCb, void *symCbParam, uint8_t symb, uint8_t ant)
    Definition: xran_main.c:2888
    + +
    #define MLogTask(w, x, y)
    Definition: xran_mlog_lnx.h:44
    + +
    #define PID_CP_UL_CB
    + +
    int32_t xran_stop(void *pHandle)
    Definition: xran_main.c:2852
    + + + +
    void sym_ota_cb(struct rte_timer *tim, void *arg, unsigned long *used_tick)
    Definition: xran_main.c:582
    +
    def res
    Definition: master.py:498
    +
    struct xran_prb_elm prbMap[XRAN_MAX_PRBS]
    Definition: xran_fh_o_du.h:423
    + +
    uint32_t xran_get_time_stats(uint64_t *total_time, uint64_t *used_time, uint32_t *core_used, uint32_t clear)
    Definition: xran_main.c:2721
    +
    uint8_t ecpri_mesg_type
    Definition: xran_pkt.h:118
    + +
    #define PID_TTI_CB_TO_PHY
    +
    uint32_t nBufferPoolIndex
    Definition: xran_common.h:152
    +
    int32_t xran_fs_get_slot_type(int32_t nCellIdx, int32_t nSlotdx, int32_t nType)
    + +
    int(* xran_ethdi_mbuf_send_fn)(struct rte_mbuf *mb, uint16_t ethertype)
    Definition: xran_common.h:169
    +
    int32_t xran_get_common_counters(void *pXranLayerHandle, struct xran_common_counters *pStats)
    Definition: xran_main.c:3074
    + +
    int process_mbuf(struct rte_mbuf *pkt)
    Definition: xran_common.c:143
    + +
    #define CHECK_NOT_NULL(param, returnValue)
    Definition: xran_printf.h:111
    +
    void(* xran_transport_callback_fn)(void *, xran_status_t)
    Definition: xran_fh_o_du.h:245
    + +
    #define XRAN_THREAD_DEFAULT_PRIO
    Definition: ethdi.h:52
    +
    #define N_SYM_PER_SLOT
    Definition: common.h:50
    +
    #define XRAN_SYMBOL_TYPE_FDD
    Definition: xran_fh_o_du.h:149
    +
    int xran_cp_init_sectiondb(void *pHandle)
    Initialize section database. Allocate required memory space to store section information. Each eAxC allocates dedicated storage and the entry size is the maximum number of sections. Total entry size : number of CC * number of antenna * max number of sections * 2(direction)
    Definition: xran_cp_api.c:66
    +
    #define XRAN_STATUS_RESOURCE
    Definition: xran_fh_o_du.h:68
    +
    #define XranGetFrameNum(tti, SFNatSecStart, numSubFramePerSystemFrame, numSlotPerSubFrame)
    Definition: xran_fh_o_du.h:102
    +
    This file provides the definitions for Control Plane Messages APIs.
    +
    uint64_t interval_us
    Definition: xran_main.c:109
    +
    #define MLogTick()
    Definition: xran_mlog_lnx.h:42
    + +
    int32_t xran_process_prach_sym(void *arg, struct rte_mbuf *mbuf, void *iq_data_start, uint16_t size, uint8_t CC_ID, uint8_t Ant_ID, uint8_t frame_id, uint8_t subframe_id, uint8_t slot_id, uint8_t symb_id, uint16_t num_prbu, uint16_t start_prbu, uint16_t sym_inc, uint16_t rb, uint16_t sect_id, uint32_t *mb_free)
    Definition: xran_main.c:1384
    +
    int xran_cp_create_and_send_section(void *pHandle, uint8_t ru_port_id, int dir, int tti, int cc_id, struct xran_prb_map *prbMap, enum xran_category category, uint8_t ctx_id)
    Definition: xran_main.c:737
    +
    long rx_bytes_counter
    Definition: xran_common.c:120
    +
    int32_t xran_fs_get_symbol_type(int32_t nCellIdx, int32_t nSlotdx, int32_t nSymbIdx)
    +
    int16_t numSymb
    Definition: xran_fh_o_du.h:397
    +
    int send_symbol_ex(enum xran_pkt_dir direction, uint16_t section_id, struct rte_mbuf *mb, struct rb_map *data, const enum xran_input_byte_order iq_buf_byte_order, uint8_t frame_id, uint8_t subframe_id, uint8_t slot_id, uint8_t symbol_no, int prb_start, int prb_num, uint8_t CC_ID, uint8_t RU_Port_ID, uint8_t seq_id)
    Definition: xran_common.c:436
    + + +
    BbuIoBufCtrlStruct sFrontHaulRxBbuIoBufCtrl[XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR]
    Definition: xran_common.h:224
    +
    int xran_register_ethertype_handler(uint16_t ethertype, ethertype_handler callback)
    Definition: ethdi.c:124
    + +
    long tx_bytes_counter
    Definition: xran_common.c:119
    +
    #define SUBFRAMES_PER_SYSTEMFRAME
    Definition: common.h:57
    +
    phy_encoder_poll_fn bbdev_enc
    Definition: xran_common.h:273
    +
    #define TIMER_RESOLUTION_CYCLES
    Definition: xran_common.h:68
    + +
    uint8_t nPrachSubcSpacing
    Definition: xran_fh_o_du.h:433
    +
    #define XRAN_SLOT_TYPE_UL
    Definition: xran_fh_o_du.h:140
    +
    int8_t * p_o_du_addr
    Definition: xran_fh_o_du.h:333
    +
    int32_t xran_status_t
    Definition: xran_fh_o_du.h:236
    + +
    int32_t xran_bm_free_buffer(void *pHandle, void *pData, void *pCtrl)
    Definition: xran_main.c:2541
    +
    int32_t xran_bm_init(void *pHandle, uint32_t *pPoolIndex, uint32_t nNumberOfBuffers, uint32_t nBufferSize)
    Definition: xran_main.c:2454
    +
    #define MAX_NUM_OF_XRAN_CTX
    Definition: xran_main.c:73
    +
    + + + + diff --git a/docs/API/xran__mlog__lnx_8h.html b/docs/API/xran__mlog__lnx_8h.html new file mode 100644 index 0000000..e95f0ee --- /dev/null +++ b/docs/API/xran__mlog__lnx_8h.html @@ -0,0 +1,743 @@ + + + + + + + +o-du/phy: xran_mlog_lnx.h File Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    xran_mlog_lnx.h File Reference
    +
    +
    +
    +This graph shows which files directly or indirectly include this file:
    +
    +
    + + + + + + + + + +
    +
    +

    Go to the source code of this file.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Macros

    #define MLOG_FALSE   ( 0 )
     
    #define MLogOpen(a, b, c, d, e)   MLOG_FALSE
     
    #define MLogRestart(a)   MLOG_FALSE
     
    #define MLogPrint(a)   MLOG_FALSE
     
    #define MLogGetFileLocation()   NULL
     
    #define MLogGetFileSize()   0
     
    #define MLogSetMask(a)   MLOG_FALSE
     
    #define MLogGetMask()
     
    #define MLogRegisterTick()
     
    #define MLogTick()   0
     
    #define MLogIncrementCounter()   0
     
    #define MLogTask(w, x, y)   0
     
    #define MLogTaskCore(w, x, y, z)   0
     
    #define MLogMark(x, y)
     
    #define MLogDevInfo(x)
     
    #define MLogRegisterFrameSubframe(x, y)
     
    #define MLogAddVariables(x, y, z)
     
    #define MLogGetStats(a, b, c, d, e)   MLOG_FALSE
     
    #define MLogGetAvgStats(a, b, c, d)   MLOG_FALSE
     
    #define MLogAddTestCase(a, b)   MLOG_FALSE
     
    #define MLogAddPowerStats(a, b, c, d, e)   MLOG_FALSE
     
    +

    Macro Definition Documentation

    + +

    ◆ MLOG_FALSE

    + +
    +
    + + + + +
    #define MLOG_FALSE   ( 0 )
    +
    + +

    Definition at line 32 of file xran_mlog_lnx.h.

    + +
    +
    + +

    ◆ MLogAddPowerStats

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #define MLogAddPowerStats( a,
     b,
     c,
     d,
     
    )   MLOG_FALSE
    +
    + +

    Definition at line 53 of file xran_mlog_lnx.h.

    + +
    +
    + +

    ◆ MLogAddTestCase

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    #define MLogAddTestCase( a,
     
    )   MLOG_FALSE
    +
    + +

    Definition at line 52 of file xran_mlog_lnx.h.

    + +
    +
    + +

    ◆ MLogAddVariables

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    #define MLogAddVariables( x,
     y,
     
    )
    +
    + +

    Definition at line 49 of file xran_mlog_lnx.h.

    + +
    +
    + +

    ◆ MLogDevInfo

    + +
    +
    + + + + + + + + +
    #define MLogDevInfo( x)
    +
    + +

    Definition at line 47 of file xran_mlog_lnx.h.

    + +
    +
    + +

    ◆ MLogGetAvgStats

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #define MLogGetAvgStats( a,
     b,
     c,
     
    )   MLOG_FALSE
    +
    + +

    Definition at line 51 of file xran_mlog_lnx.h.

    + +
    +
    + +

    ◆ MLogGetFileLocation

    + +
    +
    + + + + + + + +
    #define MLogGetFileLocation()   NULL
    +
    + +

    Definition at line 37 of file xran_mlog_lnx.h.

    + +
    +
    + +

    ◆ MLogGetFileSize

    + +
    +
    + + + + + + + +
    #define MLogGetFileSize()   0
    +
    + +

    Definition at line 38 of file xran_mlog_lnx.h.

    + +
    +
    + +

    ◆ MLogGetMask

    + +
    +
    + + + + + + + +
    #define MLogGetMask()
    +
    + +

    Definition at line 40 of file xran_mlog_lnx.h.

    + +
    +
    + +

    ◆ MLogGetStats

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #define MLogGetStats( a,
     b,
     c,
     d,
     
    )   MLOG_FALSE
    +
    + +

    Definition at line 50 of file xran_mlog_lnx.h.

    + +
    +
    + +

    ◆ MLogIncrementCounter

    + +
    +
    + + + + + + + +
    #define MLogIncrementCounter()   0
    +
    + +

    Definition at line 43 of file xran_mlog_lnx.h.

    + +
    +
    + +

    ◆ MLogMark

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    #define MLogMark( x,
     
    )
    +
    + +

    Definition at line 46 of file xran_mlog_lnx.h.

    + +
    +
    + +

    ◆ MLogOpen

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #define MLogOpen( a,
     b,
     c,
     d,
     
    )   MLOG_FALSE
    +
    + +

    Definition at line 34 of file xran_mlog_lnx.h.

    + +
    +
    + +

    ◆ MLogPrint

    + +
    +
    + + + + + + + + +
    #define MLogPrint( a)   MLOG_FALSE
    +
    + +

    Definition at line 36 of file xran_mlog_lnx.h.

    + +
    +
    + +

    ◆ MLogRegisterFrameSubframe

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    #define MLogRegisterFrameSubframe( x,
     
    )
    +
    + +

    Definition at line 48 of file xran_mlog_lnx.h.

    + +
    +
    + +

    ◆ MLogRegisterTick

    + +
    +
    + + + + + + + +
    #define MLogRegisterTick()
    +
    + +

    Definition at line 41 of file xran_mlog_lnx.h.

    + +
    +
    + +

    ◆ MLogRestart

    + +
    +
    + + + + + + + + +
    #define MLogRestart( a)   MLOG_FALSE
    +
    + +

    Definition at line 35 of file xran_mlog_lnx.h.

    + +
    +
    + +

    ◆ MLogSetMask

    + +
    +
    + + + + + + + + +
    #define MLogSetMask( a)   MLOG_FALSE
    +
    + +

    Definition at line 39 of file xran_mlog_lnx.h.

    + +
    +
    + +

    ◆ MLogTask

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    #define MLogTask( w,
     x,
     
    )   0
    +
    + +

    Definition at line 44 of file xran_mlog_lnx.h.

    + +
    +
    + +

    ◆ MLogTaskCore

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #define MLogTaskCore( w,
     x,
     y,
     
    )   0
    +
    + +

    Definition at line 45 of file xran_mlog_lnx.h.

    + +
    +
    + +

    ◆ MLogTick

    + +
    +
    + + + + + + + +
    #define MLogTick()   0
    +
    + +

    Definition at line 42 of file xran_mlog_lnx.h.

    + +
    +
    +
    + + + + diff --git a/docs/API/xran__mlog__lnx_8h__dep__incl.map b/docs/API/xran__mlog__lnx_8h__dep__incl.map new file mode 100644 index 0000000..f06d142 --- /dev/null +++ b/docs/API/xran__mlog__lnx_8h__dep__incl.map @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/docs/API/xran__mlog__lnx_8h__dep__incl.md5 b/docs/API/xran__mlog__lnx_8h__dep__incl.md5 new file mode 100644 index 0000000..87e5dbe --- /dev/null +++ b/docs/API/xran__mlog__lnx_8h__dep__incl.md5 @@ -0,0 +1 @@ +e925c0d4909d9c4edd87541b0c6bb8c5 \ No newline at end of file diff --git a/docs/API/xran__mlog__lnx_8h__dep__incl.png b/docs/API/xran__mlog__lnx_8h__dep__incl.png new file mode 100644 index 0000000..3791786 Binary files /dev/null and b/docs/API/xran__mlog__lnx_8h__dep__incl.png differ diff --git a/docs/API/xran__mlog__lnx_8h_source.html b/docs/API/xran__mlog__lnx_8h_source.html new file mode 100644 index 0000000..d278cc1 --- /dev/null +++ b/docs/API/xran__mlog__lnx_8h_source.html @@ -0,0 +1,78 @@ + + + + + + + +o-du/phy: xran_mlog_lnx.h Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    xran_mlog_lnx.h
    +
    +
    +Go to the documentation of this file.
    1 /******************************************************************************
    2 *
    3 * Copyright (c) 2019 Intel.
    4 *
    5 * Licensed under the Apache License, Version 2.0 (the "License");
    6 * you may not use this file except in compliance with the License.
    7 * You may obtain a copy of the License at
    8 *
    9 * http://www.apache.org/licenses/LICENSE-2.0
    10 *
    11 * Unless required by applicable law or agreed to in writing, software
    12 * distributed under the License is distributed on an "AS IS" BASIS,
    13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    14 * See the License for the specific language governing permissions and
    15 * limitations under the License.
    16 *
    17 *******************************************************************************/
    18 
    19 #ifndef _XRAN_MLOG_LNX_H_
    20 #define _XRAN_MLOG_LNX_H_
    21 
    22 #ifdef __cplusplus
    23 extern "C"
    24 {
    25 #endif
    26 
    27 #ifdef MLOG_ENABLED
    28 #include <mlog_lnx.h>
    29 #else
    30 
    31 /* stubs for MLOG functions */
    32 #define MLOG_FALSE ( 0 )
    33 
    34 #define MLogOpen(a, b, c, d, e) MLOG_FALSE
    35 #define MLogRestart(a) MLOG_FALSE
    36 #define MLogPrint(a) MLOG_FALSE
    37 #define MLogGetFileLocation() NULL
    38 #define MLogGetFileSize() 0
    39 #define MLogSetMask(a) MLOG_FALSE
    40 #define MLogGetMask()
    41 #define MLogRegisterTick()
    42 #define MLogTick() 0
    43 #define MLogIncrementCounter() 0
    44 #define MLogTask(w,x,y) 0
    45 #define MLogTaskCore(w,x,y,z) 0
    46 #define MLogMark(x,y)
    47 #define MLogDevInfo(x)
    48 #define MLogRegisterFrameSubframe(x,y)
    49 #define MLogAddVariables(x,y,z)
    50 #define MLogGetStats(a, b, c, d, e) MLOG_FALSE
    51 #define MLogGetAvgStats(a, b, c, d) MLOG_FALSE
    52 #define MLogAddTestCase(a, b) MLOG_FALSE
    53 #define MLogAddPowerStats(a, b, c, d, e) MLOG_FALSE
    54 
    55 #endif /* MLOG_ENABLED */
    56 
    57 #ifdef __cplusplus
    58 }
    59 #endif /* #ifdef __cplusplus */
    60 
    61 #endif /* #ifndef _XRAN_MLOG_LNX_H_ */
    62 
    + + + + diff --git a/docs/API/xran__mlog__task__id_8h.html b/docs/API/xran__mlog__task__id_8h.html new file mode 100644 index 0000000..799938d --- /dev/null +++ b/docs/API/xran__mlog__task__id_8h.html @@ -0,0 +1,509 @@ + + + + + + + +o-du/phy: xran_mlog_task_id.h File Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    xran_mlog_task_id.h File Reference
    +
    +
    +
    +This graph shows which files directly or indirectly include this file:
    +
    +
    + + + +
    +
    +

    Go to the source code of this file.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Macros

    #define RESOURCE_CORE_0   0
     
    #define RESOURCE_CORE_1   1
     
    #define RESOURCE_CORE_2   2
     
    #define RESOURCE_CORE_3   3
     
    #define RESOURCE_CORE_4   4
     
    #define RESOURCE_CORE_5   5
     
    #define RESOURCE_CORE_6   6
     
    #define RESOURCE_CORE_7   7
     
    #define RESOURCE_CORE_8   8
     
    #define RESOURCE_CORE_9   9
     
    #define RESOURCE_CORE_10   10
     
    #define RESOURCE_CORE_11   11
     
    #define RESOURCE_CORE_12   12
     
    #define RESOURCE_CORE_13   13
     
    #define RESOURCE_CORE_14   14
     
    #define RESOURCE_CORE_15   15
     
    #define RESOURCE_CORE_16   16
     
    #define RESOURCE_IA_CORE   100
     
    #define PID_GNB_PROC_TIMING   70
     
    #define PID_GNB_PROC_TIMING_TIMEOUT   71
     
    #define PID_GNB_SYM_CB   72
     
    #define PID_GNB_PRACH_CB   73
     
    #define PID_GNB_SRS_CB   74
     
    +

    Macro Definition Documentation

    + +

    ◆ PID_GNB_PRACH_CB

    + +
    +
    + + + + +
    #define PID_GNB_PRACH_CB   73
    +
    + +

    Definition at line 60 of file xran_mlog_task_id.h.

    + +
    +
    + +

    ◆ PID_GNB_PROC_TIMING

    + +
    +
    + + + + +
    #define PID_GNB_PROC_TIMING   70
    +
    + +

    Definition at line 57 of file xran_mlog_task_id.h.

    + +
    +
    + +

    ◆ PID_GNB_PROC_TIMING_TIMEOUT

    + +
    +
    + + + + +
    #define PID_GNB_PROC_TIMING_TIMEOUT   71
    +
    + +

    Definition at line 58 of file xran_mlog_task_id.h.

    + +
    +
    + +

    ◆ PID_GNB_SRS_CB

    + +
    +
    + + + + +
    #define PID_GNB_SRS_CB   74
    +
    + +

    Definition at line 61 of file xran_mlog_task_id.h.

    + +
    +
    + +

    ◆ PID_GNB_SYM_CB

    + +
    +
    + + + + +
    #define PID_GNB_SYM_CB   72
    +
    + +

    Definition at line 59 of file xran_mlog_task_id.h.

    + +
    +
    + +

    ◆ RESOURCE_CORE_0

    + +
    +
    + + + + +
    #define RESOURCE_CORE_0   0
    +
    + +

    Definition at line 33 of file xran_mlog_task_id.h.

    + +
    +
    + +

    ◆ RESOURCE_CORE_1

    + +
    +
    + + + + +
    #define RESOURCE_CORE_1   1
    +
    + +

    Definition at line 34 of file xran_mlog_task_id.h.

    + +
    +
    + +

    ◆ RESOURCE_CORE_10

    + +
    +
    + + + + +
    #define RESOURCE_CORE_10   10
    +
    + +

    Definition at line 43 of file xran_mlog_task_id.h.

    + +
    +
    + +

    ◆ RESOURCE_CORE_11

    + +
    +
    + + + + +
    #define RESOURCE_CORE_11   11
    +
    + +

    Definition at line 44 of file xran_mlog_task_id.h.

    + +
    +
    + +

    ◆ RESOURCE_CORE_12

    + +
    +
    + + + + +
    #define RESOURCE_CORE_12   12
    +
    + +

    Definition at line 45 of file xran_mlog_task_id.h.

    + +
    +
    + +

    ◆ RESOURCE_CORE_13

    + +
    +
    + + + + +
    #define RESOURCE_CORE_13   13
    +
    + +

    Definition at line 46 of file xran_mlog_task_id.h.

    + +
    +
    + +

    ◆ RESOURCE_CORE_14

    + +
    +
    + + + + +
    #define RESOURCE_CORE_14   14
    +
    + +

    Definition at line 47 of file xran_mlog_task_id.h.

    + +
    +
    + +

    ◆ RESOURCE_CORE_15

    + +
    +
    + + + + +
    #define RESOURCE_CORE_15   15
    +
    + +

    Definition at line 48 of file xran_mlog_task_id.h.

    + +
    +
    + +

    ◆ RESOURCE_CORE_16

    + +
    +
    + + + + +
    #define RESOURCE_CORE_16   16
    +
    + +

    Definition at line 49 of file xran_mlog_task_id.h.

    + +
    +
    + +

    ◆ RESOURCE_CORE_2

    + +
    +
    + + + + +
    #define RESOURCE_CORE_2   2
    +
    + +

    Definition at line 35 of file xran_mlog_task_id.h.

    + +
    +
    + +

    ◆ RESOURCE_CORE_3

    + +
    +
    + + + + +
    #define RESOURCE_CORE_3   3
    +
    + +

    Definition at line 36 of file xran_mlog_task_id.h.

    + +
    +
    + +

    ◆ RESOURCE_CORE_4

    + +
    +
    + + + + +
    #define RESOURCE_CORE_4   4
    +
    + +

    Definition at line 37 of file xran_mlog_task_id.h.

    + +
    +
    + +

    ◆ RESOURCE_CORE_5

    + +
    +
    + + + + +
    #define RESOURCE_CORE_5   5
    +
    + +

    Definition at line 38 of file xran_mlog_task_id.h.

    + +
    +
    + +

    ◆ RESOURCE_CORE_6

    + +
    +
    + + + + +
    #define RESOURCE_CORE_6   6
    +
    + +

    Definition at line 39 of file xran_mlog_task_id.h.

    + +
    +
    + +

    ◆ RESOURCE_CORE_7

    + +
    +
    + + + + +
    #define RESOURCE_CORE_7   7
    +
    + +

    Definition at line 40 of file xran_mlog_task_id.h.

    + +
    +
    + +

    ◆ RESOURCE_CORE_8

    + +
    +
    + + + + +
    #define RESOURCE_CORE_8   8
    +
    + +

    Definition at line 41 of file xran_mlog_task_id.h.

    + +
    +
    + +

    ◆ RESOURCE_CORE_9

    + +
    +
    + + + + +
    #define RESOURCE_CORE_9   9
    +
    + +

    Definition at line 42 of file xran_mlog_task_id.h.

    + +
    +
    + +

    ◆ RESOURCE_IA_CORE

    + +
    +
    + + + + +
    #define RESOURCE_IA_CORE   100
    +
    + +

    Definition at line 51 of file xran_mlog_task_id.h.

    + +
    +
    +
    + + + + diff --git a/docs/API/xran__mlog__task__id_8h__dep__incl.map b/docs/API/xran__mlog__task__id_8h__dep__incl.map new file mode 100644 index 0000000..4ff05c5 --- /dev/null +++ b/docs/API/xran__mlog__task__id_8h__dep__incl.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/xran__mlog__task__id_8h__dep__incl.md5 b/docs/API/xran__mlog__task__id_8h__dep__incl.md5 new file mode 100644 index 0000000..b744435 --- /dev/null +++ b/docs/API/xran__mlog__task__id_8h__dep__incl.md5 @@ -0,0 +1 @@ +9c37783d457963abfb9af98983377183 \ No newline at end of file diff --git a/docs/API/xran__mlog__task__id_8h__dep__incl.png b/docs/API/xran__mlog__task__id_8h__dep__incl.png new file mode 100644 index 0000000..5090600 Binary files /dev/null and b/docs/API/xran__mlog__task__id_8h__dep__incl.png differ diff --git a/docs/API/xran__mlog__task__id_8h_source.html b/docs/API/xran__mlog__task__id_8h_source.html new file mode 100644 index 0000000..70156dc --- /dev/null +++ b/docs/API/xran__mlog__task__id_8h_source.html @@ -0,0 +1,78 @@ + + + + + + + +o-du/phy: xran_mlog_task_id.h Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    xran_mlog_task_id.h
    +
    +
    +Go to the documentation of this file.
    1 /******************************************************************************
    2 *
    3 * Copyright (c) 2019 Intel.
    4 *
    5 * Licensed under the Apache License, Version 2.0 (the "License");
    6 * you may not use this file except in compliance with the License.
    7 * You may obtain a copy of the License at
    8 *
    9 * http://www.apache.org/licenses/LICENSE-2.0
    10 *
    11 * Unless required by applicable law or agreed to in writing, software
    12 * distributed under the License is distributed on an "AS IS" BASIS,
    13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    14 * See the License for the specific language governing permissions and
    15 * limitations under the License.
    16 *
    17 *******************************************************************************/
    18 
    26 #ifndef _XRAN_TASK_ID_H_
    27 #define _XRAN_TASK_ID_H_
    28 
    29 #ifdef __cplusplus
    30 extern "C" {
    31 #endif
    32 
    33 #define RESOURCE_CORE_0 0
    34 #define RESOURCE_CORE_1 1
    35 #define RESOURCE_CORE_2 2
    36 #define RESOURCE_CORE_3 3
    37 #define RESOURCE_CORE_4 4
    38 #define RESOURCE_CORE_5 5
    39 #define RESOURCE_CORE_6 6
    40 #define RESOURCE_CORE_7 7
    41 #define RESOURCE_CORE_8 8
    42 #define RESOURCE_CORE_9 9
    43 #define RESOURCE_CORE_10 10
    44 #define RESOURCE_CORE_11 11
    45 #define RESOURCE_CORE_12 12
    46 #define RESOURCE_CORE_13 13
    47 #define RESOURCE_CORE_14 14
    48 #define RESOURCE_CORE_15 15
    49 #define RESOURCE_CORE_16 16
    50 
    51 #define RESOURCE_IA_CORE 100
    52 
    53 //--------------------------------------------------------------------
    54 // XRAN APP
    55 //--------------------------------------------------------------------
    56 
    57 #define PID_GNB_PROC_TIMING 70
    58 #define PID_GNB_PROC_TIMING_TIMEOUT 71
    59 #define PID_GNB_SYM_CB 72
    60 #define PID_GNB_PRACH_CB 73
    61 #define PID_GNB_SRS_CB 74
    62 
    63 
    64 #ifdef __cplusplus
    65 }
    66 #endif
    67 
    68 #endif /* _XRAN_TASK_ID_H_ */
    69 
    + + + + diff --git a/docs/API/xran__pkt_8h.html b/docs/API/xran__pkt_8h.html new file mode 100644 index 0000000..c246b07 --- /dev/null +++ b/docs/API/xran__pkt_8h.html @@ -0,0 +1,299 @@ + + + + + + + +o-du/phy: xran_pkt.h File Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    xran_pkt.h File Reference
    +
    +
    + +

    Definitions and support functions to process XRAN packet. +More...

    +
    #include <rte_common.h>
    +#include <rte_ether.h>
    +#include <rte_byteorder.h>
    +
    +Include dependency graph for xran_pkt.h:
    +
    +
    + + +
    +
    +This graph shows which files directly or indirectly include this file:
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +

    Go to the source code of this file.

    + + + + + + + + + + + + + + +

    +Data Structures

    struct  ecpri_seq_id
     
    struct  xran_ecpri_cmn_hdr
     
    struct  xran_ecpri_hdr
     
    struct  radio_app_common_hdr
     
    struct  compression_hdr
     
    struct  xran_pkt_comm_hdr
     
    + + + + + + + + + + + + + +

    +Macros

    #define ECPRI_MAX_PAYLOAD_SIZE   65535
     
    #define XRAN_ETHER_TYPE   0xAEFE
     
    #define XRAN_ECPRI_VER   0x0001
     
    #define XRAN_PAYLOAD_VER   0x0001
     
    #define VLAN_ID   0
     
    #define VLAN_PCP   7
     
    + + + + + +

    +Enumerations

    enum  ecpri_msg_type {
    +  ECPRI_IQ_DATA = 0x00, +ECPRI_BIT_SEQUENCE = 0x01, +ECPRI_RT_CONTROL_DATA = 0x02, +ECPRI_GEN_DATA_TRANSFER = 0x03, +
    +  ECPRI_REMOTE_MEM_ACCESS = 0x04, +ECPRI_DELAY_MEASUREMENT = 0x05, +ECPRI_REMOTE_RESET = 0x06, +ECPRI_EVENT_INDICATION = 0x07, +
    +  ECPRI_MSG_TYPE_MAX +
    + }
     
    enum  xran_pkt_dir { XRAN_DIR_UL = 0, +XRAN_DIR_DL = 1, +XRAN_DIR_MAX + }
     
    + + + +

    +Variables

    struct ecpri_seq_id __rte_packed
     
    +

    Detailed Description

    +

    Definitions and support functions to process XRAN packet.

    +
    Author
    Intel Corporation
    + +

    Definition in file xran_pkt.h.

    +

    Macro Definition Documentation

    + +

    ◆ ECPRI_MAX_PAYLOAD_SIZE

    + +
    +
    + + + + +
    #define ECPRI_MAX_PAYLOAD_SIZE   65535
    +
    +

    Max packet size taken in this implementation

    + +

    Definition at line 56 of file xran_pkt.h.

    + +
    +
    + +

    ◆ VLAN_ID

    + +
    +
    + + + + +
    #define VLAN_ID   0
    +
    +

    Default Tag protocol identifier (TPID)

    + +

    Definition at line 64 of file xran_pkt.h.

    + +
    +
    + +

    ◆ VLAN_PCP

    + +
    +
    + + + + +
    #define VLAN_PCP   7
    +
    +

    U-Plane and C-Plane only see Table 3 5 : Quality of service classes

    + +

    Definition at line 65 of file xran_pkt.h.

    + +
    +
    + +

    ◆ XRAN_ECPRI_VER

    + +
    +
    + + + + +
    #define XRAN_ECPRI_VER   0x0001
    +
    +

    eCPRI protocol revision 3.1.3.1.1

    + +

    Definition at line 61 of file xran_pkt.h.

    + +
    +
    + +

    ◆ XRAN_ETHER_TYPE

    + +
    +
    + + + + +
    #define XRAN_ETHER_TYPE   0xAEFE
    +
    +

    defined by eCPRI Specification V1.1

    + +

    Definition at line 59 of file xran_pkt.h.

    + +
    +
    + +

    ◆ XRAN_PAYLOAD_VER

    + +
    +
    + + + + +
    #define XRAN_PAYLOAD_VER   0x0001
    +
    +

    Payload version 5.4.4.2

    + +

    Definition at line 62 of file xran_pkt.h.

    + +
    +
    +
    + + + + diff --git a/docs/API/xran__pkt_8h__dep__incl.map b/docs/API/xran__pkt_8h__dep__incl.map new file mode 100644 index 0000000..5c8d3c6 --- /dev/null +++ b/docs/API/xran__pkt_8h__dep__incl.map @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/API/xran__pkt_8h__dep__incl.md5 b/docs/API/xran__pkt_8h__dep__incl.md5 new file mode 100644 index 0000000..83a8aef --- /dev/null +++ b/docs/API/xran__pkt_8h__dep__incl.md5 @@ -0,0 +1 @@ +9402d19164571850f39da485d3712c2b \ No newline at end of file diff --git a/docs/API/xran__pkt_8h__dep__incl.png b/docs/API/xran__pkt_8h__dep__incl.png new file mode 100644 index 0000000..7c6b6f8 Binary files /dev/null and b/docs/API/xran__pkt_8h__dep__incl.png differ diff --git a/docs/API/xran__pkt_8h__incl.map b/docs/API/xran__pkt_8h__incl.map new file mode 100644 index 0000000..1127f56 --- /dev/null +++ b/docs/API/xran__pkt_8h__incl.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/xran__pkt_8h__incl.md5 b/docs/API/xran__pkt_8h__incl.md5 new file mode 100644 index 0000000..c71f57d --- /dev/null +++ b/docs/API/xran__pkt_8h__incl.md5 @@ -0,0 +1 @@ +c2cb3b708765784388af4a1a73ea60b5 \ No newline at end of file diff --git a/docs/API/xran__pkt_8h__incl.png b/docs/API/xran__pkt_8h__incl.png new file mode 100644 index 0000000..a1479e0 Binary files /dev/null and b/docs/API/xran__pkt_8h__incl.png differ diff --git a/docs/API/xran__pkt_8h_source.html b/docs/API/xran__pkt_8h_source.html new file mode 100644 index 0000000..3b59b56 --- /dev/null +++ b/docs/API/xran__pkt_8h_source.html @@ -0,0 +1,118 @@ + + + + + + + +o-du/phy: xran_pkt.h Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    xran_pkt.h
    +
    +
    +Go to the documentation of this file.
    1 /******************************************************************************
    2 *
    3 * Copyright (c) 2019 Intel.
    4 *
    5 * Licensed under the Apache License, Version 2.0 (the "License");
    6 * you may not use this file except in compliance with the License.
    7 * You may obtain a copy of the License at
    8 *
    9 * http://www.apache.org/licenses/LICENSE-2.0
    10 *
    11 * Unless required by applicable law or agreed to in writing, software
    12 * distributed under the License is distributed on an "AS IS" BASIS,
    13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    14 * See the License for the specific language governing permissions and
    15 * limitations under the License.
    16 *
    17 *******************************************************************************/
    18 
    26 /* ORAN-WG4.CUS.0-v01.00 O-RAN Fronthaul Working Group
    27  Control, User and Synchronization Plane Specification
    28 */
    29 
    30 /*
    31  * Layer common to data and control packets
    32  */
    33 
    34 #ifndef _XRAN_PKT_H_
    35 #define _XRAN_PKT_H_
    36 
    37 #ifdef __cplusplus
    38 extern "C" {
    39 #endif
    40 
    41 #include <rte_common.h>
    42 #include <rte_ether.h>
    43 #include <rte_byteorder.h>
    44 
    56 #define ECPRI_MAX_PAYLOAD_SIZE 65535
    58 /* XRAN spec: For this encapsulation, either the eCPRI Ethertype or the IEEE 1914.3 Ethertype shall be use */
    59 #define XRAN_ETHER_TYPE 0xAEFE
    61 #define XRAN_ECPRI_VER 0x0001
    62 #define XRAN_PAYLOAD_VER 0x0001
    64 #define VLAN_ID 0
    65 #define VLAN_PCP 7
    75 enum ecpri_msg_type
    76 {
    77  ECPRI_IQ_DATA = 0x00,
    78  ECPRI_BIT_SEQUENCE = 0x01, /* msg type is not supported */
    81  /* Below msg types are not supported */
    88 };
    89 
    98 {
    99  uint8_t seq_id:8;
    100  uint8_t sub_seq_id:7;
    101  uint8_t e_bit:1;
    102 } __rte_packed;
    103 
    104 
    114 {
    115  uint8_t ecpri_concat:1;
    116  uint8_t ecpri_resv:3;
    117  uint8_t ecpri_ver:4;
    118  uint8_t ecpri_mesg_type;
    119  uint16_t ecpri_payl_size;
    120 } __rte_packed;
    121 
    131 {
    133  rte_be16_t ecpri_xtc_id;
    135 } __rte_packed;
    136 
    137 
    147 {
    151 };
    152 
    163 {
    164  /* Octet 9 */
    165  uint8_t filter_id:4;
    170  uint8_t payl_ver:3;
    173  uint8_t data_direction:1;
    175  /* Octet 10 */
    176  uint8_t frame_id:8;
    178  /* Octet 11 */
    179  /* Octet 12 */
    180  union {
    181  uint16_t value;
    182  struct {
    183  uint16_t symb_id:6;
    185  uint16_t slot_id:6;
    189  uint16_t subframe_id:4;
    190  };
    191  }sf_slot_sym;
    192 
    193 } __rte_packed;
    194 
    207 {
    208  uint8_t ud_iq_width:4;
    213  uint8_t ud_comp_meth:4;
    223 } __rte_packed;
    224 
    234 {
    235  struct ether_hdr eth_hdr;
    236  struct xran_ecpri_hdr ecpri_hdr;
    237 } __rte_packed;
    238 
    239 #ifdef __cplusplus
    240 }
    241 #endif
    242 
    243 #endif
    uint8_t data_direction
    Definition: xran_pkt.h:173
    +
    uint8_t ecpri_concat
    Definition: xran_pkt.h:115
    + +
    xran_pkt_dir
    Definition: xran_pkt.h:146
    + + + + +
    uint8_t seq_id
    Definition: xran_pkt.h:99
    + + +
    struct xran_cp_radioapp_common_header cmnhdr
    Definition: xran_pkt_cp.h:214
    +
    uint8_t ecpri_ver
    Definition: xran_pkt.h:117
    + + + + +
    uint8_t ecpri_resv
    Definition: xran_pkt.h:116
    + + + +
    uint8_t ud_iq_width
    Definition: xran_pkt.h:208
    +
    uint8_t e_bit
    Definition: xran_pkt.h:101
    +
    uint8_t sub_seq_id
    Definition: xran_pkt.h:100
    +
    uint8_t ud_comp_meth
    Definition: xran_pkt.h:213
    +
    struct ecpri_seq_id __rte_packed
    + +
    rte_be16_t ecpri_xtc_id
    Definition: xran_pkt.h:133
    + +
    uint16_t subframe_id
    Definition: xran_pkt.h:189
    + + + + +
    uint8_t ecpri_mesg_type
    Definition: xran_pkt.h:118
    + + + + +
    uint16_t ecpri_payl_size
    Definition: xran_pkt.h:119
    +
    + + + + diff --git a/docs/API/xran__pkt__cp_8h.html b/docs/API/xran__pkt__cp_8h.html new file mode 100644 index 0000000..7402ee1 --- /dev/null +++ b/docs/API/xran__pkt__cp_8h.html @@ -0,0 +1,1583 @@ + + + + + + + +o-du/phy: xran_pkt_cp.h File Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    xran_pkt_cp.h File Reference
    +
    +
    + +

    This file provides the definition of Control Plane Messages for XRAN Front Haul layer as defined in XRAN-FH.CUS.0-v02.01. +More...

    +
    +This graph shows which files directly or indirectly include this file:
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +

    Go to the source code of this file.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Data Structures

    struct  xran_radioapp_udComp_header
     
    struct  xran_cp_radioapp_common_header
     
    struct  xran_cp_radioapp_frameStructure
     
    struct  xran_cp_radioapp_section_header
     
    struct  xran_cp_radioapp_section_ext_hdr
     
    struct  xran_cp_radioapp_section_ext1
     
    struct  xran_cp_radioapp_section_ext2
     
    struct  xran_cp_radioapp_section_ext3_first
     
    struct  xran_cp_radioapp_section_ext3_non_first
     
    struct  xran_cp_radioapp_section_ext4
     
    struct  xran_cp_radioapp_section_ext5
     
    struct  xran_cp_radioapp_section0_header
     
    struct  xran_cp_radioapp_section0
     
    struct  xran_cp_radioapp_section1_header
     
    struct  xran_cp_radioapp_section1
     
    struct  xran_cp_radioapp_section3_header
     
    struct  xran_cp_radioapp_section3
     
    struct  xran_cp_radioapp_section5_header
     
    struct  xran_cp_radioapp_section5
     
    struct  xran_cp_radioapp_section6_header
     
    struct  xran_cp_radioapp_section6
     
    struct  xran_cp_radioapp_section7_header
     
    + + + +

    +Functions

    struct xran_radioapp_udComp_header __attribute__ ((__packed__))
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Variables

    uint8_t udCompMeth
     
    uint8_t udIqWidth
     
    uint32_t startSymbolId
     
    uint32_t slotId
     
    uint32_t subframeId
     
    uint32_t frameId
     
    uint32_t filterIndex
     
    uint32_t payloadVer
     
    uint32_t dataDirection
     
    uint8_t numOfSections
     
    uint8_t sectionType
     
    uint8_t uScs
     
    uint8_t fftSize
     
    union {
       struct {
          uint32_t   reserved:16
     
          uint32_t   numSymbol:4
     
          uint32_t   reMask:12
     
       }   s0
     
       struct {
          uint32_t   beamId:15
     
          uint32_t   ef:1
     
          uint32_t   numSymbol:4
     
          uint32_t   reMask:12
     
       }   s1
     
       struct {
          uint32_t   beamId:15
     
          uint32_t   ef:1
     
          uint32_t   numSymbol:4
     
          uint32_t   reMask:12
     
       }   s3
     
       struct {
          uint32_t   ueId:15
     
          uint32_t   ef:1
     
          uint32_t   numSymbol:4
     
          uint32_t   reMask:12
     
       }   s5
     
    u
     
    uint32_t numPrbc
     
    uint32_t startPrbc
     
    uint32_t symInc
     
    uint32_t rb
     
    uint32_t sectionId
     
    uint16_t extLen
     
    uint16_t extType
     
    uint8_t bfwCompMeth
     
    uint8_t bfwIqWidth
     
    uint32_t bfZe3ddWidth
     
    uint32_t bfAz3ddWidth
     
    uint32_t bfaCompResv1
     
    uint32_t bfZePtWidth
     
    uint32_t bfAzPtWidth
     
    uint32_t bfaCompResv0
     
    uint32_t reserved1
     
    uint32_t crsSymNum
     
    uint32_t reserved0
     
    uint32_t crsShift
     
    uint32_t crsReMask
     
    uint32_t txScheme
     
    uint32_t numLayers
     
    uint32_t layerId
     
    uint32_t codebookIndex
     
    uint16_t beamIdAP3
     
    uint16_t beamIdAP2
     
    uint16_t beamIdAP1
     
    uint16_t reserved2
     
    uint32_t modCompScaler
     
    uint32_t csf
     
    uint32_t mcScaleOffset2
     
    uint32_t csf2
     
    uint32_t mcScaleReMask2
     
    uint32_t mcScaleOffset1
     
    uint32_t csf1
     
    uint32_t mcScaleReMask1
     
    struct xran_cp_radioapp_common_header cmnhdr
     
    uint16_t timeOffset
     
    struct xran_cp_radioapp_frameStructure frameStructure
     
    uint16_t cpLength
     
    struct xran_cp_radioapp_section_header hdr
     
    struct xran_radioapp_udComp_header udComp
     
    uint32_t freqOffset
     
    uint8_t numberOfUEs
     
    uint32_t regularizationFactor
     
    uint8_t startPrbch
     
    uint8_t startPrbcl
     
    uint8_t laaMsgLen
     
    uint8_t laaMsgType
     
    +

    Detailed Description

    +

    This file provides the definition of Control Plane Messages for XRAN Front Haul layer as defined in XRAN-FH.CUS.0-v02.01.

    +
    Author
    Intel Corporation
    + +

    Definition in file xran_pkt_cp.h.

    +

    Function Documentation

    + +

    ◆ __attribute__()

    + +
    +
    + + + + + + + + +
    struct xran_cp_radioapp_section7_header __attribute__ ((__packed__) )
    +
    + +
    +
    +

    Variable Documentation

    + +

    ◆ beamId

    + +
    +
    + + + + +
    uint32_t beamId
    +
    +

    5.4.5.9 beam identifier

    + +

    Definition at line 221 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ beamIdAP1

    + +
    +
    + + + + +
    uint16_t beamIdAP1
    +
    +

    5.4.7.3.8 beam id to be used for antenna port 1

    + +

    Definition at line 232 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ beamIdAP2

    + +
    +
    + + + + +
    uint16_t beamIdAP2
    +
    +

    5.4.7.3.9 beam id to be used for antenna port 2

    + +

    Definition at line 231 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ beamIdAP3

    + +
    +
    + + + + +
    uint16_t beamIdAP3
    +
    +

    5.4.7.3.10 beam id to be used for antenna port 3

    + +

    Definition at line 230 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ bfaCompResv0

    + +
    +
    + + + + +
    uint32_t bfaCompResv0
    +
    + +

    Definition at line 222 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ bfaCompResv1

    + +
    +
    + + + + +
    uint32_t bfaCompResv1
    +
    + +

    Definition at line 219 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ bfAz3ddWidth

    + +
    +
    + + + + +
    uint32_t bfAz3ddWidth
    +
    +

    5.4.7.2.1 beamforming azimuth beamwidth parameter bitwidth, Table 5-20

    + +

    Definition at line 218 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ bfAzPtWidth

    + +
    +
    + + + + +
    uint32_t bfAzPtWidth
    +
    +

    5.4.7.2.1 beamforming azimuth pointing parameter bitwidth, Table 5-18

    + +

    Definition at line 221 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ bfwCompMeth

    + +
    +
    + + + + +
    uint8_t bfwCompMeth
    +
    +

    5.4.7.1.1 Beamforming weight Compression method

    + +

    Definition at line 220 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ bfwIqWidth

    + +
    +
    + + + + +
    uint8_t bfwIqWidth
    +
    +

    5.4.7.1.1 Beamforming weight IQ bit width

    + +

    Definition at line 221 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ bfZe3ddWidth

    + +
    +
    + + + + +
    uint32_t bfZe3ddWidth
    +
    +

    5.4.7.2.1 beamforming zenith beamwidth parameter bitwidth, Table 5-21

    + +

    Definition at line 217 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ bfZePtWidth

    + +
    +
    + + + + +
    uint32_t bfZePtWidth
    +
    +

    5.4.7.2.1 beamforming zenith pointing parameter bitwidth, Table 5-19

    + +

    Definition at line 220 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ cmnhdr

    + +
    +
    + + + + +
    struct xran_cp_radioapp_common_header cmnhdr
    +
    + +

    Definition at line 214 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ codebookIndex

    + +
    +
    + + + + +
    uint32_t codebookIndex
    +
    +

    5.4.7.3.1 precoder codebook used for transmission

    + +

    Definition at line 225 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ cpLength

    + +
    +
    + + + + +
    uint16_t cpLength
    +
    +

    5.4.4.14 cyclic prefix length

    + +

    Definition at line 218 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ crsReMask

    + +
    +
    + + + + +
    uint32_t crsReMask
    +
    +

    5.4.7.3.5 CRS resource element mask

    + +

    Definition at line 221 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ crsShift

    + +
    +
    + + + + +
    uint32_t crsShift
    +
    +

    5.4.7.3.7 CRS shift used for DL transmission

    + +

    Definition at line 220 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ crsSymNum

    + +
    +
    + + + + +
    uint32_t crsSymNum
    +
    +

    5.4.7.3.6 CRS symbol number indication

    + +

    Definition at line 218 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ csf

    + +
    +
    + + + + +
    uint32_t csf
    +
    +

    5.4.7.4.1 constellation shift flag

    + +

    Definition at line 216 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ csf1

    + +
    +
    + + + + +
    uint32_t csf1
    +
    +

    5.4.7.5.2 constellation shift flag

    + +

    Definition at line 219 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ csf2

    + +
    +
    + + + + +
    uint32_t csf2
    +
    +

    5.4.7.5.2 constellation shift flag

    + +

    Definition at line 216 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ dataDirection

    + +
    +
    + + + + +
    uint32_t dataDirection
    +
    +

    5.4.4.1 data direction (gNB Tx/Rx)

    + +

    Definition at line 220 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ ef

    + +
    +
    + + + + +
    uint32_t ef
    +
    +

    5.4.5.8 extension flag

    +

    5.4.6.2 extension flag

    + +

    Definition at line 222 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ extLen

    + +
    +
    + + + + +
    uint32_t extLen
    +
    +

    5.4.6.3 extension length, in 32bits words

    + +

    Definition at line 217 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ extType

    + +
    +
    + + + + +
    uint32_t extType
    +
    +

    5.4.6.1 extension type

    + +

    Definition at line 218 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ fftSize

    + +
    +
    + + + + +
    uint8_t fftSize
    +
    +

    FFT size, XRAN_FFTSIZE_xxx

    + +

    Definition at line 215 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ filterIndex

    + +
    +
    + + + + +
    uint32_t filterIndex
    +
    +

    5.4.4.3 filter index, XRAN_FILTERINDEX_xxxx

    + +

    Definition at line 218 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ frameId

    + +
    +
    + + + + +
    uint32_t frameId
    +
    +

    5.4.4.4 frame identifier

    + +

    Definition at line 217 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ frameStructure

    + +
    +
    + + + + +
    struct xran_cp_radioapp_frameStructure frameStructure
    +
    + +

    Definition at line 217 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ freqOffset

    + +
    +
    + + + + +
    uint32_t freqOffset
    +
    +

    5.4.5.11 frequency offset

    + +

    Definition at line 215 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ hdr

    + +
    +
    + + + + +
    struct xran_cp_radioapp_section_header hdr
    +
    + +

    Definition at line 214 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ laaMsgLen

    + +
    +
    + + + + +
    uint8_t laaMsgLen
    +
    +

    5.4.5.15 LAA message length

    + +

    Definition at line 216 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ laaMsgType

    + +
    +
    + + + + +
    uint8_t laaMsgType
    +
    +

    5.4.5.14 LAA message type

    + +

    Definition at line 217 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ layerId

    + +
    +
    + + + + +
    uint32_t layerId
    +
    +

    5.4.7.3.2 Layer ID for DL transmission

    + +

    Definition at line 224 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ mcScaleOffset1

    + +
    +
    + + + + +
    uint32_t mcScaleOffset1
    +
    +

    5.4.7.5.3 scaling value for modulation compression

    + +

    Definition at line 218 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ mcScaleOffset2

    + +
    +
    + + + + +
    uint32_t mcScaleOffset2
    +
    +

    5.4.7.5.3 scaling value for modulation compression

    + +

    Definition at line 215 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ mcScaleReMask1

    + +
    +
    + + + + +
    uint32_t mcScaleReMask1
    +
    +

    5.4.7.5.1 modulation compression power scale RE mask

    + +

    Definition at line 220 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ mcScaleReMask2

    + +
    +
    + + + + +
    uint32_t mcScaleReMask2
    +
    +

    5.4.7.5.1 modulation compression power scale RE mask

    + +

    Definition at line 217 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ modCompScaler

    + +
    +
    + + + + +
    uint32_t modCompScaler
    +
    +

    5.4.7.4.2 modulation compression scaler value

    + +

    Definition at line 215 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ numberOfUEs

    + +
    +
    + + + + +
    uint8_t numberOfUEs
    +
    +

    5.4.4.11 number of UEs

    + +

    Definition at line 215 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ numLayers

    + +
    +
    + + + + +
    uint32_t numLayers
    +
    +

    5.4.7.3.4 number of layers used for DL transmission

    + +

    Definition at line 223 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ numOfSections

    + +
    +
    + + + + +
    uint8_t numOfSections
    +
    +

    5.4.4.8 number of sections

    + +

    Definition at line 221 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ numPrbc

    + +
    +
    + + + + +
    uint8_t numPrbc
    +
    +

    5.4.5.6 number of contiguous PRBs per control section 0000 0000b = all PRBs

    +

    5.4.5.6 number of contiguous PRBs per control section

    + +

    Definition at line 240 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ numSymbol

    + +
    +
    + + + + +
    uint32_t numSymbol
    +
    +

    5.4.5.7 number of symbols

    + +

    Definition at line 217 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ payloadVer

    + +
    +
    + + + + +
    uint32_t payloadVer
    +
    +

    5.4.4.2 payload version, should be 1

    + +

    Definition at line 219 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ rb

    + +
    +
    + + + + +
    uint8_t rb
    +
    +

    5.4.5.2 resource block indicator, XRAN_RBIND_xxx

    + +

    Definition at line 243 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ regularizationFactor

    + +
    +
    + + + + +
    uint32_t regularizationFactor
    +
    +

    5.4.5.12 regularization Factor

    + +

    Definition at line 214 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ reMask

    + +
    +
    + + + + +
    uint32_t reMask
    +
    +

    5.4.5.5 resource element mask

    + +

    Definition at line 218 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ reserved

    + +
    +
    + + + + +
    uint16_t reserved
    +
    + +

    Definition at line 216 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ reserved0

    + +
    +
    + + + + +
    uint32_t reserved0
    +
    + +

    Definition at line 219 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ reserved1

    + +
    +
    + + + + +
    uint32_t reserved1
    +
    + +

    Definition at line 217 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ reserved2

    + +
    +
    + + + + +
    uint16_t reserved2
    +
    + +

    Definition at line 233 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ s0

    + +
    +
    + + + + +
    struct { ... } s0
    +
    + +
    +
    + +

    ◆ s1

    + +
    +
    + + + + +
    struct { ... } s1
    +
    + +
    +
    + +

    ◆ s3

    + +
    +
    + + + + +
    struct { ... } s3
    +
    + +
    +
    + +

    ◆ s5

    + +
    +
    + + + + +
    struct { ... } s5
    +
    + +
    +
    + +

    ◆ sectionId

    + +
    +
    + + + + +
    uint32_t sectionId
    +
    +

    5.4.5.1 section identifier

    + +

    Definition at line 244 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ sectionType

    + +
    +
    + + + + +
    uint8_t sectionType
    +
    +

    5.4.4.9 section type

    + +

    Definition at line 222 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ slotId

    + +
    +
    + + + + +
    uint32_t slotId
    +
    +

    5.4.4.6 slot identifier

    + +

    Definition at line 215 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ startPrbc

    + +
    +
    + + + + +
    uint32_t startPrbc
    +
    +

    5.4.5.4 starting PRB of control section

    + +

    Definition at line 241 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ startPrbch

    + +
    +
    + + + + +
    uint8_t startPrbch
    +
    +

    5.4.5.4 starting PRB of control section

    + +

    Definition at line 217 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ startPrbcl

    + +
    +
    + + + + +
    uint8_t startPrbcl
    +
    +

    5.4.5.4 starting PRB of control section

    + +

    Definition at line 221 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ startSymbolId

    + +
    +
    + + + + +
    uint32_t startSymbolId
    +
    +

    5.4.4.7 start symbol identifier

    + +

    Definition at line 214 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ subframeId

    + +
    +
    + + + + +
    uint32_t subframeId
    +
    +

    5.4.4.5 subframe identifier

    + +

    Definition at line 216 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ symInc

    + +
    +
    + + + + +
    uint8_t symInc
    +
    +

    5.4.5.3 symbol number increment command XRAN_SYMBOLNUMBER_xxxx

    + +

    Definition at line 242 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ timeOffset

    + +
    +
    + + + + +
    uint16_t timeOffset
    +
    +

    5.4.4.12 time offset

    + +

    Definition at line 215 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ txScheme

    + +
    +
    + + + + +
    uint32_t txScheme
    +
    +

    5.4.7.3.3 transmission scheme

    + +

    Definition at line 222 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ u

    + +
    +
    + + + + +
    union { ... } u
    +
    + +
    +
    + +

    ◆ udComp

    + +
    +
    + + + + +
    struct xran_radioapp_udComp_header udComp
    +
    + +

    Definition at line 215 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ udCompMeth

    + +
    +
    + + + + +
    uint8_t udCompMeth
    +
    +

    Compression method, XRAN_COMPMETHOD_xxxx

    + +

    Definition at line 214 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ udIqWidth

    + +
    +
    + + + + +
    uint8_t udIqWidth
    +
    +

    IQ bit width, 1 ~ 16

    + +

    Definition at line 215 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ ueId

    + +
    +
    + + + + +
    uint32_t ueId
    +
    +

    5.4.5.10 UE identifier

    + +

    Definition at line 233 of file xran_pkt_cp.h.

    + +
    +
    + +

    ◆ uScs

    + +
    +
    + + + + +
    uint8_t uScs
    +
    +

    sub-carrier spacing, XRAN_SCS_xxx

    + +

    Definition at line 214 of file xran_pkt_cp.h.

    + +
    +
    +
    + + + + diff --git a/docs/API/xran__pkt__cp_8h__dep__incl.map b/docs/API/xran__pkt__cp_8h__dep__incl.map new file mode 100644 index 0000000..9e213f0 --- /dev/null +++ b/docs/API/xran__pkt__cp_8h__dep__incl.map @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/API/xran__pkt__cp_8h__dep__incl.md5 b/docs/API/xran__pkt__cp_8h__dep__incl.md5 new file mode 100644 index 0000000..0b66fe0 --- /dev/null +++ b/docs/API/xran__pkt__cp_8h__dep__incl.md5 @@ -0,0 +1 @@ +483e19f6a7c6eafbb79fc7916a5f9108 \ No newline at end of file diff --git a/docs/API/xran__pkt__cp_8h__dep__incl.png b/docs/API/xran__pkt__cp_8h__dep__incl.png new file mode 100644 index 0000000..b09cc40 Binary files /dev/null and b/docs/API/xran__pkt__cp_8h__dep__incl.png differ diff --git a/docs/API/xran__pkt__cp_8h_source.html b/docs/API/xran__pkt__cp_8h_source.html new file mode 100644 index 0000000..a36b4d6 --- /dev/null +++ b/docs/API/xran__pkt__cp_8h_source.html @@ -0,0 +1,217 @@ + + + + + + + +o-du/phy: xran_pkt_cp.h Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    xran_pkt_cp.h
    +
    +
    +Go to the documentation of this file.
    1 /******************************************************************************
    2 *
    3 * Copyright (c) 2019 Intel.
    4 *
    5 * Licensed under the Apache License, Version 2.0 (the "License");
    6 * you may not use this file except in compliance with the License.
    7 * You may obtain a copy of the License at
    8 *
    9 * http://www.apache.org/licenses/LICENSE-2.0
    10 *
    11 * Unless required by applicable law or agreed to in writing, software
    12 * distributed under the License is distributed on an "AS IS" BASIS,
    13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    14 * See the License for the specific language governing permissions and
    15 * limitations under the License.
    16 *
    17 *******************************************************************************/
    18 
    29 #ifndef _XRAN_PKT_CP_H_
    30 #define _XRAN_PKT_CP_H_
    31 
    32 #ifdef __cplusplus
    33 extern "C" {
    34 #endif
    35 
    36 
    37 /**********************************************************************
    38  * Common structures for C/U-plane
    39  **********************************************************************/
    47  uint8_t udCompMeth:4;
    48  uint8_t udIqWidth:4;
    49  } __attribute__((__packed__));
    50 
    51 
    52 /**********************************************************************
    53  * Definition of C-Plane Protocol 5.4
    54  **********************************************************************/
    61 struct xran_cp_radioapp_common_header { /* 6bytes, first 4bytes need the conversion for byte order */
    62  uint32_t startSymbolId:6;
    63  uint32_t slotId:6;
    64  uint32_t subframeId:4;
    65  uint32_t frameId:8;
    66  uint32_t filterIndex:4;
    67  uint32_t payloadVer:3;
    68  uint32_t dataDirection:1;
    69  uint8_t numOfSections;
    70  uint8_t sectionType;
    71  } __attribute__((__packed__));
    72 
    80  uint8_t uScs:4;
    81  uint8_t fftSize:4;
    82  } __attribute__((__packed__));
    83 
    91 struct xran_cp_radioapp_section_header { /* 8bytes, need the conversion for byte order */
    92  union {
    93  struct {
    94  uint32_t reserved:16;
    95  uint32_t numSymbol:4;
    96  uint32_t reMask:12;
    97  } s0;
    98  struct {
    99  uint32_t beamId:15;
    100  uint32_t ef:1;
    101  uint32_t numSymbol:4;
    102  uint32_t reMask:12;
    103  } s1;
    104  struct {
    105  uint32_t beamId:15;
    106  uint32_t ef:1;
    107  uint32_t numSymbol:4;
    108  uint32_t reMask:12;
    109  } s3;
    110  struct {
    111  uint32_t ueId:15;
    112  uint32_t ef:1;
    113  uint32_t numSymbol:4;
    114  uint32_t reMask:12;
    115  } s5;
    116  } u;
    117 
    118  uint32_t numPrbc:8;
    119  uint32_t startPrbc:10;
    120  uint32_t symInc:1;
    121  uint32_t rb:1;
    122  uint32_t sectionId:12;
    123  } __attribute__((__packed__));
    124 
    125 
    127  /* 12 bytes, need to convert byte order for two parts respectively
    128  * - 2 and 8 bytes, reserved1 would be OK if it is zero
    129  */
    130  uint16_t extLen:8;
    131  uint16_t extType:7;
    132  uint16_t ef:1;
    133  } __attribute__((__packed__));
    134 
    143  /* variable length, need to be careful to convert byte order
    144  * - does not need to convert first 3 bytes */
    145  uint8_t extType:7;
    146  uint8_t ef:1;
    147  uint8_t extLen;
    148  /* bfwCompHdr */
    149  uint8_t bfwCompMeth:4;
    150  uint8_t bfwIqWidth:4;
    152  /*
    153  *
    154  *
    155  * bfwCompParam
    156  * (bfwI, bfwQ)+
    157  * ......
    158  * zero padding for 4-byte alignment
    159  */
    160  } __attribute__((__packed__));
    161 
    170  /* variable length, need to be careful to convert byte order
    171  * - first 4 bytes can be converted at once
    172  */
    173  uint32_t bfZe3ddWidth:3;
    174  uint32_t bfAz3ddWidth:3;
    175  uint32_t bfaCompResv1:2;
    176  uint32_t bfZePtWidth:3;
    177  uint32_t bfAzPtWidth:3;
    178  uint32_t bfaCompResv0:2;
    179  uint32_t extLen:8;
    180  uint32_t extType:7;
    181  uint32_t ef:1;
    183  /*
    184  * would be better to use bit manipulation directly to add these parameters
    185  *
    186  * bfAzPt: var by bfAzPtWidth
    187  * bfZePt: var by bfZePtWidth
    188  * bfAz3dd: var by bfAz3ddWidth
    189  * bfZe3dd: var by bfZe3ddWidth
    190  * bfAzSI:5 (including zero-padding for unused bits)
    191  * bfZeSI:3
    192  * padding for 4-byte alignment
    193  *
    194  */
    195  } __attribute__((__packed__));
    196 
    207  /* 16 bytes, need to convert byte order for two parts
    208  * - 8 / 8 bytes
    209  */
    210  uint32_t reserved1:8;
    211  uint32_t crsSymNum:4;
    212  uint32_t reserved0:3;
    213  uint32_t crsShift:1;
    214  uint32_t crsReMask:12;
    215  uint32_t txScheme:4;
    216  uint32_t numLayers:4;
    217  uint32_t layerId:4;
    218  uint32_t codebookIndex:8;
    219  uint32_t extLen:8;
    220  uint32_t extType:7;
    221  uint32_t ef:1;
    223  uint16_t beamIdAP3;
    224  uint16_t beamIdAP2;
    225  uint16_t beamIdAP1;
    226  uint16_t reserved2;
    227  } __attribute__((__packed__));
    228 
    239  /* 4 bytes, need to convert byte order at once */
    240  uint32_t numLayers:4;
    241  uint32_t layerId:4;
    242  uint32_t codebookIndex:8;
    244  uint32_t extLen:8;
    245  uint32_t extType:7;
    246  uint32_t ef:1;
    247  } __attribute__((__packed__));
    248 
    258  /* 4 bytes, need to convert byte order at once */
    259  uint32_t modCompScaler:15;
    260  uint32_t csf:1;
    262  uint32_t extLen:8;
    263  uint32_t extType:7;
    264  uint32_t ef:1;
    265  } __attribute__((__packed__));
    266 
    267 #if 0
    268 
    277 struct xran_cp_radioapp_section_ext5_1 {
    278  /* 8 bytes, need to convert byte order at once */
    279  uint32_t reserved:20;
    280  uint32_t mcScaleOffset:15;
    281  uint32_t csf:1;
    282  uint32_t mcScaleReMask:12;
    284  uint32_t extLen:8;
    285  uint32_t extType:7;
    286  uint32_t ef:1;
    287  } __attribute__((__packed__));
    288 
    298 struct xran_cp_radioapp_section_ext5_2 {
    299  /* 12 bytes, need to convert byte order for two parts respectively
    300  * - 2 and 8 bytes, reserved1 would be OK if it is zero
    301  */
    302  uint16_t extLen:8;
    303  uint16_t extType:7;
    304  uint16_t ef:1;
    306  uint32_t reserved0:8;
    307  uint32_t mcScaleOffset2:15;
    308  uint32_t csf2:1;
    309  uint32_t mcScaleReMask2:12;
    310  uint32_t mcScaleOffset1:15;
    311  uint32_t csf1:1;
    312  uint32_t mcScaleReMask1:12;
    314  uint16_t reserved1;
    315  } __attribute__((__packed__));
    316 #endif
    317 
    319  uint32_t reserved0:8;
    320  uint32_t mcScaleOffset2:15;
    321  uint32_t csf2:1;
    322  uint32_t mcScaleReMask2:12;
    323  uint32_t mcScaleOffset1:15;
    324  uint32_t csf1:1;
    325  uint32_t mcScaleReMask1:12;
    326  } __attribute__((__packed__));
    327 
    328 /**********************************************************
    329  * Scheduling and Beam-forming Commands 5.4.2
    330  **********************************************************/
    337 struct xran_cp_radioapp_section0_header { // 12bytes (6+2+1+2+1)
    339  uint16_t timeOffset;
    342  uint16_t cpLength;
    343  uint8_t reserved;
    344  } __attribute__((__packed__));
    345 
    353 struct xran_cp_radioapp_section0 { // 8bytes (4+4)
    355  } __attribute__((__packed__));
    356 
    363 struct xran_cp_radioapp_section1_header { // 8bytes (6+1+1)
    366  uint8_t reserved;
    367  } __attribute__((__packed__));
    368 
    375 struct xran_cp_radioapp_section1 { // 8bytes (4+4)
    377 
    378  // section extensions // 5.4.6 & 5.4.7
    379  // .........
    380  } __attribute__((__packed__));
    381 
    388 struct xran_cp_radioapp_section3_header { // 12bytes (6+2+1+2+1)
    390  uint16_t timeOffset;
    393  uint16_t cpLength;
    395  } __attribute__((__packed__));
    396 
    403 struct xran_cp_radioapp_section3 { // 12bytes (4+4+4)
    405  uint32_t freqOffset:24;
    406  uint32_t reserved:8;
    407 
    408  // section extensions // 5.4.6 & 5.4.7
    409  // .........
    410  } __attribute__((__packed__));
    411 
    418 struct xran_cp_radioapp_section5_header { // 8bytes (6+1+1)
    421  uint8_t reserved;
    422  } __attribute__((__packed__));
    423 
    433 
    434  // section extensions // 5.4.6 & 5.4.7
    435  // .........
    436  } __attribute__((__packed__));
    437 
    444 struct xran_cp_radioapp_section6_header { // 8bytes (6+1+1)
    446  uint8_t numberOfUEs;
    447  uint8_t reserved;
    448  } __attribute__((__packed__));
    449 
    458  uint32_t regularizationFactor:16;
    459  uint32_t ueId:15;
    460  uint32_t ef:1;
    461  uint8_t startPrbch:2;
    462  uint8_t symInc:1;
    463  uint8_t rb:1;
    464  uint8_t reserved:4;
    465  uint8_t startPrbcl:8;
    466  uint8_t numPrbc:8;
    468  // ciIQsamples start from here // 5.4.5.13 channel information I and Q values
    469  // .........
    470  //
    471  // section extensions // 5.4.6 & 5.4.7
    472  // .........
    473  } __attribute__((__packed__));
    474 
    484  uint16_t reserved;
    485  uint8_t laaMsgLen:4;
    486  uint8_t laaMsgType:4;
    488  // Payload start from here // 5.4.5.16 ~ 5.4.5.32
    489  } __attribute__((__packed__));
    490 
    491 #ifdef __cplusplus
    492 }
    493 #endif
    494 
    495 #endif /* _XRAN_PKT_CP_H_ */
    + + + +
    uint32_t numLayers
    Definition: xran_pkt_cp.h:223
    +
    uint32_t mcScaleReMask2
    Definition: xran_pkt_cp.h:217
    + +
    uint16_t beamIdAP2
    Definition: xran_pkt_cp.h:231
    +
    uint32_t txScheme
    Definition: xran_pkt_cp.h:222
    + + + + + + +
    uint32_t reMask
    Definition: xran_pkt_cp.h:218
    + + + + + + + + +
    uint32_t reserved0
    Definition: xran_pkt_cp.h:219
    + +
    struct xran_radioapp_udComp_header __attribute__((__packed__))
    +
    struct xran_radioapp_udComp_header udComp
    Definition: xran_pkt_cp.h:215
    +
    uint32_t mcScaleOffset2
    Definition: xran_pkt_cp.h:215
    + + + + + +
    uint32_t csf
    Definition: xran_pkt_cp.h:216
    + +
    uint32_t codebookIndex
    Definition: xran_pkt_cp.h:225
    +
    uint16_t extType
    Definition: xran_pkt_cp.h:218
    +
    uint16_t beamIdAP1
    Definition: xran_pkt_cp.h:232
    +
    struct xran_cp_radioapp_common_header cmnhdr
    Definition: xran_pkt_cp.h:214
    + + +
    uint32_t mcScaleOffset1
    Definition: xran_pkt_cp.h:218
    + + + + + + +
    uint16_t beamIdAP3
    Definition: xran_pkt_cp.h:230
    + +
    uint32_t beamId
    Definition: xran_pkt_cp.h:221
    + + +
    uint32_t ef
    Definition: xran_pkt_cp.h:222
    +
    union @13 u
    + + + + + + + + + + + + + + + + + +
    struct xran_cp_radioapp_frameStructure frameStructure
    Definition: xran_pkt_cp.h:217
    + +
    struct @13::@15 s1
    + + +
    struct @13::@17 s5
    + + + +
    struct @13::@16 s3
    + + + +
    uint32_t csf1
    Definition: xran_pkt_cp.h:219
    +
    uint32_t numSymbol
    Definition: xran_pkt_cp.h:217
    + + +
    uint32_t crsReMask
    Definition: xran_pkt_cp.h:221
    + + + + + + + + + + +
    struct xran_cp_radioapp_section_header hdr
    Definition: xran_pkt_cp.h:214
    + + + +
    struct @13::@14 s0
    +
    uint32_t mcScaleReMask1
    Definition: xran_pkt_cp.h:220
    + + + + +
    uint32_t csf2
    Definition: xran_pkt_cp.h:216
    + + + + +
    uint32_t reserved
    Definition: xran_pkt_cp.h:216
    +
    uint32_t reserved1
    Definition: xran_pkt_cp.h:217
    + + + + + + + + + + + + + +
    uint32_t layerId
    Definition: xran_pkt_cp.h:224
    + + + + +
    uint16_t extLen
    Definition: xran_pkt_cp.h:217
    + + +
    + + + + diff --git a/docs/API/xran__pkt__up_8h.html b/docs/API/xran__pkt__up_8h.html new file mode 100644 index 0000000..c1f4bc2 --- /dev/null +++ b/docs/API/xran__pkt__up_8h.html @@ -0,0 +1,234 @@ + + + + + + + +o-du/phy: xran_pkt_up.h File Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    xran_pkt_up.h File Reference
    +
    +
    + +

    Definitions and support functions to process XRAN packet. +More...

    +
    #include "xran_pkt.h"
    +
    +Include dependency graph for xran_pkt_up.h:
    +
    +
    + + + +
    +
    +This graph shows which files directly or indirectly include this file:
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +

    Go to the source code of this file.

    + + + + + + + + + + + + + + + + + + + + +

    +Data Structures

    struct  data_section_hdr
     
    struct  data_section_compression_hdr
     
    union  compression_params
     
    struct  compression_params::block_fl_point
     
    struct  compression_params::block_scaling
     
    struct  compression_params::u_law
     
    struct  rb_map
     
    struct  xran_up_pkt_hdr
     
    struct  eth_xran_up_pkt_hdr
     
    + + + + + + + + + +

    +Macros

    #define IQ_PAIR_NUM_IN_RB   12
     
    #define MAX_DATA_SECTIONS_NUM   273
     
    #define MAX_IQ_BIT_WIDTH   16
     
    #define IQ_BITS   MAX_IQ_BIT_WIDTH
     
    + + + +

    +Variables

    struct data_section_hdr __rte_packed
     
    +

    Detailed Description

    +

    Definitions and support functions to process XRAN packet.

    +
    Author
    Intel Corporation
    + +

    Definition in file xran_pkt_up.h.

    +

    Macro Definition Documentation

    + +

    ◆ IQ_BITS

    + +
    +
    + + + + +
    #define IQ_BITS   MAX_IQ_BIT_WIDTH
    +
    + +

    Definition at line 50 of file xran_pkt_up.h.

    + +
    +
    + +

    ◆ IQ_PAIR_NUM_IN_RB

    + +
    +
    + + + + +
    #define IQ_PAIR_NUM_IN_RB   12
    +
    + +

    Definition at line 45 of file xran_pkt_up.h.

    + +
    +
    + +

    ◆ MAX_DATA_SECTIONS_NUM

    + +
    +
    + + + + +
    #define MAX_DATA_SECTIONS_NUM   273
    +
    + +

    Definition at line 46 of file xran_pkt_up.h.

    + +
    +
    + +

    ◆ MAX_IQ_BIT_WIDTH

    + +
    +
    + + + + +
    #define MAX_IQ_BIT_WIDTH   16
    +
    + +

    Definition at line 47 of file xran_pkt_up.h.

    + +
    +
    +
    + + + + diff --git a/docs/API/xran__pkt__up_8h__dep__incl.map b/docs/API/xran__pkt__up_8h__dep__incl.map new file mode 100644 index 0000000..d4d3503 --- /dev/null +++ b/docs/API/xran__pkt__up_8h__dep__incl.map @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/API/xran__pkt__up_8h__dep__incl.md5 b/docs/API/xran__pkt__up_8h__dep__incl.md5 new file mode 100644 index 0000000..70928eb --- /dev/null +++ b/docs/API/xran__pkt__up_8h__dep__incl.md5 @@ -0,0 +1 @@ +5165b2344194112b7b9c399095e1b6d3 \ No newline at end of file diff --git a/docs/API/xran__pkt__up_8h__dep__incl.png b/docs/API/xran__pkt__up_8h__dep__incl.png new file mode 100644 index 0000000..df63c6f Binary files /dev/null and b/docs/API/xran__pkt__up_8h__dep__incl.png differ diff --git a/docs/API/xran__pkt__up_8h__incl.map b/docs/API/xran__pkt__up_8h__incl.map new file mode 100644 index 0000000..f918d96 --- /dev/null +++ b/docs/API/xran__pkt__up_8h__incl.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/xran__pkt__up_8h__incl.md5 b/docs/API/xran__pkt__up_8h__incl.md5 new file mode 100644 index 0000000..9c64fc0 --- /dev/null +++ b/docs/API/xran__pkt__up_8h__incl.md5 @@ -0,0 +1 @@ +c845dbfeda4fd83c9f502080e8e35851 \ No newline at end of file diff --git a/docs/API/xran__pkt__up_8h__incl.png b/docs/API/xran__pkt__up_8h__incl.png new file mode 100644 index 0000000..215e753 Binary files /dev/null and b/docs/API/xran__pkt__up_8h__incl.png differ diff --git a/docs/API/xran__pkt__up_8h_source.html b/docs/API/xran__pkt__up_8h_source.html new file mode 100644 index 0000000..b63b895 --- /dev/null +++ b/docs/API/xran__pkt__up_8h_source.html @@ -0,0 +1,108 @@ + + + + + + + +o-du/phy: xran_pkt_up.h Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    xran_pkt_up.h
    +
    +
    +Go to the documentation of this file.
    1 /******************************************************************************
    2 *
    3 * Copyright (c) 2019 Intel.
    4 *
    5 * Licensed under the Apache License, Version 2.0 (the "License");
    6 * you may not use this file except in compliance with the License.
    7 * You may obtain a copy of the License at
    8 *
    9 * http://www.apache.org/licenses/LICENSE-2.0
    10 *
    11 * Unless required by applicable law or agreed to in writing, software
    12 * distributed under the License is distributed on an "AS IS" BASIS,
    13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    14 * See the License for the specific language governing permissions and
    15 * limitations under the License.
    16 *
    17 *******************************************************************************/
    18 
    36 #ifndef _XRAN_PKT_UP_H_
    37 #define _XRAN_PKT_UP_H_
    38 
    39 #ifdef __cplusplus
    40 extern "C" {
    41 #endif
    42 
    43 #include "xran_pkt.h"
    44 
    45 #define IQ_PAIR_NUM_IN_RB 12
    46 #define MAX_DATA_SECTIONS_NUM 273
    47 #define MAX_IQ_BIT_WIDTH 16
    48 
    49 /* currently library supports I and Q sizes of 8 and 16 bits each */
    50 #define IQ_BITS MAX_IQ_BIT_WIDTH
    51 
    52 /*
    53  * Structure holding data section header fields
    54  * It is repeated for every section ID in xRAN packet
    55  */
    56 
    68  union {
    69  uint32_t all_bits;
    70  struct {
    71  uint32_t num_prbu:8;
    72  uint32_t start_prbu:10;
    73  uint32_t sym_inc:1;
    74  uint32_t rb:1;
    75  uint32_t sect_id:12;
    76  };
    77  }fields;
    78 } __rte_packed;
    79 
    80 
    81 /*
    82  ******************************************************************************
    83  * @ingroup xran_up_pkt
    84  *
    85  * @description
    86  * Structure holds compression header structure and field reserved for future use.
    87  * reserved goes always with udCompHdr in u-plane pkt
    88  * U-plane as per 6.3.2 DL/UL Data
    89  *****************************************************************************/
    91 {
    92  struct compression_hdr ud_comp_hdr;
    93  uint8_t rsrvd;
    98  /* TODO: support for Block Floating Point compression */
    99  /* udCompMeth 0000b = no compression absent*/
    100 };
    101 
    102 /*
    103  ******************************************************************************
    104  * @ingroup xran_up_pkt
    105  *
    106  * @description
    107  * Structure holds the compression parameters by the compression header.
    108  * may not be present by udCompMeth in 6.3.3.13
    109  *****************************************************************************/
    111  struct block_fl_point {
    112  uint8_t exponent:4;
    113  uint8_t reserved:4;
    114  } blockFlPoint;
    115  struct block_scaling {
    116  uint8_t sblockScaler;
    117  } blockScaling;
    118  struct u_law {
    119  uint8_t compShift:4;
    120  uint8_t compBitWidth:4;
    121  } uLaw;
    122 } __rte_packed;
    123 
    124 
    125 /*
    126  ******************************************************************************
    127  * @ingroup xran_up_pkt
    128  *
    129  * @description
    130  * Structure holds an IQ sample pair
    131  * U-plane as per 6.3.2 DL/UL Data
    132  * Each bit field size is defined with IQ_BITS macro
    133  * Currently supported I and Q sizes are 8 and 16 bits
    134  *****************************************************************************/
    135 struct rb_map
    136 {
    137  int16_t i_sample:IQ_BITS;
    138  int16_t q_sample:IQ_BITS;
    139 } __rte_packed;
    140 
    150 {
    151  struct xran_ecpri_hdr ecpri_hdr;
    152  struct radio_app_common_hdr app_hdr;
    153  struct data_section_hdr data_sec_hdr;
    154 } __rte_packed;
    155 
    156 
    166 {
    167  struct ether_hdr eth_hdr;
    168  struct xran_up_pkt_hdr xran_hdr;
    169 }__rte_packed;
    170 
    171 #ifdef __cplusplus
    172 }
    173 #endif
    174 
    175 #endif
    uint32_t sym_inc
    Definition: xran_pkt_up.h:73
    + + + + + + +
    int16_t q_sample
    Definition: xran_pkt_up.h:138
    + + +
    uint32_t num_prbu
    Definition: xran_pkt_up.h:71
    + + + + +
    uint32_t all_bits
    Definition: xran_pkt_up.h:69
    +
    #define IQ_BITS
    Definition: xran_pkt_up.h:50
    + +
    uint32_t start_prbu
    Definition: xran_pkt_up.h:72
    +
    Definitions and support functions to process XRAN packet.
    +
    uint32_t sect_id
    Definition: xran_pkt_up.h:75
    +
    struct data_section_hdr __rte_packed
    + + +
    int16_t i_sample
    Definition: xran_pkt_up.h:137
    +
    union data_section_hdr::@18 fields
    + + + + +
    + + + + diff --git a/docs/API/xran__printf_8h.html b/docs/API/xran__printf_8h.html new file mode 100644 index 0000000..50360f0 --- /dev/null +++ b/docs/API/xran__printf_8h.html @@ -0,0 +1,383 @@ + + + + + + + +o-du/phy: xran_printf.h File Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    xran_printf.h File Reference
    +
    +
    + +

    Modules provide debug prints and utility functions. +More...

    +
    #include <stdio.h>
    +#include <stdlib.h>
    +
    +Include dependency graph for xran_printf.h:
    +
    +
    + + +
    +
    +This graph shows which files directly or indirectly include this file:
    +
    +
    + + + + + + + + + + + + +
    +
    +

    Go to the source code of this file.

    + + + + + + + + + + + + + + + + + + + + + + + + +

    +Macros

    #define PRINTF_LOG_OK
     
    #define PRINTF_INF_OK
     
    #define PRINTF_ERR_OK
     
    #define print_log(fmt, args...)   printf("%s:" fmt "\n", __FUNCTION__, ## args)
     
    #define print_dbg(fmt, args...)
     
    #define print_err(fmt, args...)   printf("%s:[err] " fmt "\n", __FUNCTION__, ## args)
     
    #define print_inf   printf
     
    #define _IASSERT_
     
    #define iAssert(p)
     
    #define _assert(x)
     
    #define CHECK_NOT_NULL(param, returnValue)
     
    +

    Detailed Description

    +

    Modules provide debug prints and utility functions.

    +
    Author
    Intel Corporation
    + +

    Definition in file xran_printf.h.

    +

    Macro Definition Documentation

    + +

    ◆ _assert

    + +
    +
    + + + + + + + + +
    #define _assert( x)
    +
    + +

    Definition at line 97 of file xran_printf.h.

    + +
    +
    + +

    ◆ _IASSERT_

    + +
    +
    + + + + +
    #define _IASSERT_
    +
    + +

    Definition at line 85 of file xran_printf.h.

    + +
    +
    + +

    ◆ CHECK_NOT_NULL

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    #define CHECK_NOT_NULL( param,
     returnValue 
    )
    +
    + +

    Definition at line 111 of file xran_printf.h.

    + +
    +
    + +

    ◆ iAssert

    + +
    +
    + + + + + + + + +
    #define iAssert( p)
    +
    + +

    Definition at line 92 of file xran_printf.h.

    + +
    +
    + +

    ◆ print_dbg

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    #define print_dbg( fmt,
     args... 
    )
    +
    + +

    Definition at line 54 of file xran_printf.h.

    + +
    +
    + +

    ◆ print_err

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    #define print_err( fmt,
     args... 
    )   printf("%s:[err] " fmt "\n", __FUNCTION__, ## args)
    +
    + +

    Definition at line 62 of file xran_printf.h.

    + +
    +
    + +

    ◆ print_inf

    + +
    +
    + + + + +
    #define print_inf   printf
    +
    + +

    Definition at line 72 of file xran_printf.h.

    + +
    +
    + +

    ◆ print_log

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    #define print_log( fmt,
     args... 
    )   printf("%s:" fmt "\n", __FUNCTION__, ## args)
    +
    + +

    Definition at line 42 of file xran_printf.h.

    + +
    +
    + +

    ◆ PRINTF_ERR_OK

    + +
    +
    + + + + +
    #define PRINTF_ERR_OK
    +
    + +

    Definition at line 37 of file xran_printf.h.

    + +
    +
    + +

    ◆ PRINTF_INF_OK

    + +
    +
    + + + + +
    #define PRINTF_INF_OK
    +
    + +

    Definition at line 36 of file xran_printf.h.

    + +
    +
    + +

    ◆ PRINTF_LOG_OK

    + +
    +
    + + + + +
    #define PRINTF_LOG_OK
    +
    + +

    Definition at line 35 of file xran_printf.h.

    + +
    +
    +
    + + + + diff --git a/docs/API/xran__printf_8h__dep__incl.map b/docs/API/xran__printf_8h__dep__incl.map new file mode 100644 index 0000000..78598c8 --- /dev/null +++ b/docs/API/xran__printf_8h__dep__incl.map @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/docs/API/xran__printf_8h__dep__incl.md5 b/docs/API/xran__printf_8h__dep__incl.md5 new file mode 100644 index 0000000..2824506 --- /dev/null +++ b/docs/API/xran__printf_8h__dep__incl.md5 @@ -0,0 +1 @@ +cf7dbc7bc949e973f1015098d37ca8c0 \ No newline at end of file diff --git a/docs/API/xran__printf_8h__dep__incl.png b/docs/API/xran__printf_8h__dep__incl.png new file mode 100644 index 0000000..09814fb Binary files /dev/null and b/docs/API/xran__printf_8h__dep__incl.png differ diff --git a/docs/API/xran__printf_8h__incl.map b/docs/API/xran__printf_8h__incl.map new file mode 100644 index 0000000..fc8be0f --- /dev/null +++ b/docs/API/xran__printf_8h__incl.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/xran__printf_8h__incl.md5 b/docs/API/xran__printf_8h__incl.md5 new file mode 100644 index 0000000..cc7ac96 --- /dev/null +++ b/docs/API/xran__printf_8h__incl.md5 @@ -0,0 +1 @@ +8c3a81df042f04126045875f5e063670 \ No newline at end of file diff --git a/docs/API/xran__printf_8h__incl.png b/docs/API/xran__printf_8h__incl.png new file mode 100644 index 0000000..55a89fc Binary files /dev/null and b/docs/API/xran__printf_8h__incl.png differ diff --git a/docs/API/xran__printf_8h_source.html b/docs/API/xran__printf_8h_source.html new file mode 100644 index 0000000..5b9c56c --- /dev/null +++ b/docs/API/xran__printf_8h_source.html @@ -0,0 +1,78 @@ + + + + + + + +o-du/phy: xran_printf.h Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    xran_printf.h
    +
    +
    +Go to the documentation of this file.
    1 /******************************************************************************
    2 *
    3 * Copyright (c) 2019 Intel.
    4 *
    5 * Licensed under the Apache License, Version 2.0 (the "License");
    6 * you may not use this file except in compliance with the License.
    7 * You may obtain a copy of the License at
    8 *
    9 * http://www.apache.org/licenses/LICENSE-2.0
    10 *
    11 * Unless required by applicable law or agreed to in writing, software
    12 * distributed under the License is distributed on an "AS IS" BASIS,
    13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    14 * See the License for the specific language governing permissions and
    15 * limitations under the License.
    16 *
    17 *******************************************************************************/
    18 
    26 #ifndef XRAN_PRINTF_H
    27 #define XRAN_PRINTF_H
    28 
    29 #ifdef __cplusplus
    30 extern "C" {
    31 #endif
    32 #include <stdio.h>
    33 #include <stdlib.h>
    34 
    35 #define PRINTF_LOG_OK
    36 #define PRINTF_INF_OK
    37 #define PRINTF_ERR_OK
    38 //#define PRINTF_DBG_OK
    39 
    40 #ifndef WIN32
    41 #ifdef PRINTF_LOG_OK
    42 #define print_log(fmt, args...) printf("%s:" fmt "\n", __FUNCTION__, ## args)
    43 #else /* PRINTF_LOG_OK */
    44 #define print_log(fmt, args...)
    45 #endif /* PRINTF_LOG_OK */
    46 #else
    47 #define print_log(fmt, ...) printf("%s:" fmt "\n", __FUNCTION__, __VA_ARGS__)
    48 #endif
    49 
    50 #ifndef WIN32
    51 #ifdef PRINTF_DBG_OK
    52 #define print_dbg(fmt, args...) printf("%s:[dbg] " fmt "\n", __FUNCTION__, ## args)
    53 #else /* PRINTF_LOG_OK */
    54 #define print_dbg(fmt, args...)
    55 #endif /* PRINTF_LOG_OK */
    56 #else
    57 #define print_dbg(fmt, ...) printf("%s:[dbg] " fmt "\n", __FUNCTION__, __VA_ARGS__)
    58 #endif
    59 
    60 #ifndef WIN32
    61 #ifdef PRINTF_ERR_OK
    62 #define print_err(fmt, args...) printf("%s:[err] " fmt "\n", __FUNCTION__, ## args)
    63 #else /* PRINTF_LOG_OK */
    64 #define print_err(fmt, args...)
    65 #endif /* PRINTF_LOG_OK */
    66 #else
    67 #define print_err(fmt, ...) printf("%s:[err] " fmt "\n", __FUNCTION__, __VA_ARGS__)
    68 #endif
    69 
    70 #ifndef WIN32
    71 #ifdef PRINTF_INF_OK
    72 #define print_inf printf
    73 #else /* PRINTF_LOG_OK */
    74 #define print_inf
    75 #endif /* PRINTF_LOG_OK */
    76 #else
    77 #define print_inf printf
    78 #endif
    79 
    80 #ifdef __cplusplus
    81 }
    82 #endif
    83 
    84 #ifndef _IASSERT_
    85 #define _IASSERT_
    86 
    87 #ifdef _DEBUG
    88 #define iAssert(p) if(!(p)){fprintf(stderr,\
    89  "Assertion failed: %s, file %s, line %d, val %d\n",\
    90  #p, __FILE__, __LINE__, p);exit(-1);}
    91 #else /* _DEBUG */
    92 #define iAssert(p)
    93 #endif /* _DEBUG */
    94 
    95 #ifndef PHY_APP
    96 #ifndef _assert
    97 #define _assert(x)
    98 #endif
    99 #endif
    100 
    101 #endif /* _IASSERT_*/
    102 
    103 #ifdef CHECK_PARAMS
    104 #define CHECK_NOT_NULL(param, returnValue) \
    105 if (param == NULL) \
    106 { \
    107  print_err("%s is NULL!\n", #param); \
    108  return returnValue; \
    109 }
    110 #else
    111 #define CHECK_NOT_NULL(param, returnValue)
    112 #endif
    113 
    114 #ifdef __cplusplus
    115 }
    116 #endif
    117 
    118 #endif // PHY_PRINTF_H
    + + + + diff --git a/docs/API/xran__sync__api_8c.html b/docs/API/xran__sync__api_8c.html new file mode 100644 index 0000000..1fab39e --- /dev/null +++ b/docs/API/xran__sync__api_8c.html @@ -0,0 +1,258 @@ + + + + + + + +o-du/phy: xran_sync_api.c File Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    xran_sync_api.c File Reference
    +
    +
    + +

    This file provides implementation of synchronization related APIs (PTP/1588) for XRAN. +More...

    +
    #include <assert.h>
    +#include <dirent.h>
    +#include <stdio.h>
    +#include <stdlib.h>
    +#include <string.h>
    +#include "xran_sync_api.h"
    +#include "xran_printf.h"
    +
    +Include dependency graph for xran_sync_api.c:
    +
    +
    + + + + +
    +
    +

    Go to the source code of this file.

    + + + + + + + + + + + + + + +

    +Macros

    #define BUF_LEN   256
     
    #define PROC_DIR   "/proc"
     
    #define COMM_FILE   "comm"
     
    #define PMC_CMD   "pmc -u -b 0 'GET PORT_DATA_SET'"
     
    #define PTP4L_PROC_NAME   "ptp4l"
     
    #define PHC2SYS_PROC_NAME   "phc2sys"
     
    + + + + +

    +Functions

    int xran_is_synchronized ()
     Function checks if machine is synchronized using PTP for Linux software. More...
     
    +

    Detailed Description

    +

    This file provides implementation of synchronization related APIs (PTP/1588) for XRAN.

    +
    Author
    Intel Corporation
    + +

    Definition in file xran_sync_api.c.

    +

    Macro Definition Documentation

    + +

    ◆ BUF_LEN

    + +
    +
    + + + + +
    #define BUF_LEN   256
    +
    + +

    Definition at line 37 of file xran_sync_api.c.

    + +
    +
    + +

    ◆ COMM_FILE

    + +
    +
    + + + + +
    #define COMM_FILE   "comm"
    +
    + +

    Definition at line 39 of file xran_sync_api.c.

    + +
    +
    + +

    ◆ PHC2SYS_PROC_NAME

    + +
    +
    + + + + +
    #define PHC2SYS_PROC_NAME   "phc2sys"
    +
    + +

    Definition at line 42 of file xran_sync_api.c.

    + +
    +
    + +

    ◆ PMC_CMD

    + +
    +
    + + + + +
    #define PMC_CMD   "pmc -u -b 0 'GET PORT_DATA_SET'"
    +
    + +

    Definition at line 40 of file xran_sync_api.c.

    + +
    +
    + +

    ◆ PROC_DIR

    + +
    +
    + + + + +
    #define PROC_DIR   "/proc"
    +
    + +

    Definition at line 38 of file xran_sync_api.c.

    + +
    +
    + +

    ◆ PTP4L_PROC_NAME

    + +
    +
    + + + + +
    #define PTP4L_PROC_NAME   "ptp4l"
    +
    + +

    Definition at line 41 of file xran_sync_api.c.

    + +
    +
    +

    Function Documentation

    + +

    ◆ xran_is_synchronized()

    + +
    +
    + + + + + + + + +
    int xran_is_synchronized (void )
    +
    + +

    Function checks if machine is synchronized using PTP for Linux software.

    +
    Returns
    int Returns 0 if synchronized, otherwise positive.
    + +

    Definition at line 113 of file xran_sync_api.c.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + +
    + +
    +
    +
    + + + + diff --git a/docs/API/xran__sync__api_8c__incl.map b/docs/API/xran__sync__api_8c__incl.map new file mode 100644 index 0000000..124cad2 --- /dev/null +++ b/docs/API/xran__sync__api_8c__incl.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/xran__sync__api_8c__incl.md5 b/docs/API/xran__sync__api_8c__incl.md5 new file mode 100644 index 0000000..d3f6c89 --- /dev/null +++ b/docs/API/xran__sync__api_8c__incl.md5 @@ -0,0 +1 @@ +d19bc965900021d51e823098a687124b \ No newline at end of file diff --git a/docs/API/xran__sync__api_8c__incl.png b/docs/API/xran__sync__api_8c__incl.png new file mode 100644 index 0000000..663fddb Binary files /dev/null and b/docs/API/xran__sync__api_8c__incl.png differ diff --git a/docs/API/xran__sync__api_8c_a4778e0253fe842243ff1b2cee96e9367_icgraph.map b/docs/API/xran__sync__api_8c_a4778e0253fe842243ff1b2cee96e9367_icgraph.map new file mode 100644 index 0000000..055d9ae --- /dev/null +++ b/docs/API/xran__sync__api_8c_a4778e0253fe842243ff1b2cee96e9367_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/xran__sync__api_8c_a4778e0253fe842243ff1b2cee96e9367_icgraph.md5 b/docs/API/xran__sync__api_8c_a4778e0253fe842243ff1b2cee96e9367_icgraph.md5 new file mode 100644 index 0000000..6146e0c --- /dev/null +++ b/docs/API/xran__sync__api_8c_a4778e0253fe842243ff1b2cee96e9367_icgraph.md5 @@ -0,0 +1 @@ +5b6a73b11b769310977897ed3dc7fae7 \ No newline at end of file diff --git a/docs/API/xran__sync__api_8c_a4778e0253fe842243ff1b2cee96e9367_icgraph.png b/docs/API/xran__sync__api_8c_a4778e0253fe842243ff1b2cee96e9367_icgraph.png new file mode 100644 index 0000000..6ac197a Binary files /dev/null and b/docs/API/xran__sync__api_8c_a4778e0253fe842243ff1b2cee96e9367_icgraph.png differ diff --git a/docs/API/xran__sync__api_8c_source.html b/docs/API/xran__sync__api_8c_source.html new file mode 100644 index 0000000..8aeeb7b --- /dev/null +++ b/docs/API/xran__sync__api_8c_source.html @@ -0,0 +1,90 @@ + + + + + + + +o-du/phy: xran_sync_api.c Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    xran_sync_api.c
    +
    +
    +Go to the documentation of this file.
    1 /******************************************************************************
    2 *
    3 * Copyright (c) 2019 Intel.
    4 *
    5 * Licensed under the Apache License, Version 2.0 (the "License");
    6 * you may not use this file except in compliance with the License.
    7 * You may obtain a copy of the License at
    8 *
    9 * http://www.apache.org/licenses/LICENSE-2.0
    10 *
    11 * Unless required by applicable law or agreed to in writing, software
    12 * distributed under the License is distributed on an "AS IS" BASIS,
    13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    14 * See the License for the specific language governing permissions and
    15 * limitations under the License.
    16 *
    17 *******************************************************************************/
    28 #include <assert.h>
    29 #include <dirent.h>
    30 #include <stdio.h>
    31 #include <stdlib.h>
    32 #include <string.h>
    33 
    34 #include "xran_sync_api.h"
    35 #include "xran_printf.h"
    36 
    37 #define BUF_LEN 256
    38 #define PROC_DIR "/proc"
    39 #define COMM_FILE "comm"
    40 #define PMC_CMD "pmc -u -b 0 'GET PORT_DATA_SET'"
    41 #define PTP4L_PROC_NAME "ptp4l"
    42 #define PHC2SYS_PROC_NAME "phc2sys"
    43 
    44 static int find_substr(const char *str, const unsigned int str_len,
    45  const char *substr, const unsigned int substr_len)
    46 {
    47  assert(str);
    48  assert(substr);
    49  unsigned int ind = 0;
    50 
    51  while (ind + substr_len <= str_len) {
    52  if (0 == strncmp(&str[ind], substr, substr_len))
    53  return 0;
    54  ++ind;
    55  }
    56  return 1;
    57 }
    58 
    59 static int is_process_running(char *pname)
    60 {
    61  char full_path[BUF_LEN] = {0};
    62  char read_proc_name[BUF_LEN] = {0};
    63  int res = 1;
    64  DIR *dir = opendir(PROC_DIR);
    65  if (NULL == dir) {
    66  return 1;
    67  }
    68 
    69  struct dirent *entry = NULL;
    70  while (entry = readdir(dir)) {
    71  long pid = atol(entry->d_name);
    72  if (0 == pid)
    73  continue;
    74  sprintf(full_path, "%s/%ld/%s", PROC_DIR, pid, COMM_FILE);
    75  FILE *proc_name_file = fopen(full_path, "r");
    76  if (NULL == proc_name_file)
    77  continue;
    78  fgets( read_proc_name, BUF_LEN, proc_name_file);
    79  if (0 == strncmp(read_proc_name, pname, strlen(pname))) {
    80  res = 0;
    81  fclose(proc_name_file);
    82  break;
    83  }
    84  fclose(proc_name_file);
    85  }
    86  closedir(dir);
    87  return res;
    88 }
    89 
    90 static int check_ptp_status()
    91 {
    92  char pmc_out_line[BUF_LEN];
    93  const char *keywords[2] = {"portState", "SLAVE"};
    94  int res = 1;
    95  FILE *pmc_pipe = popen(PMC_CMD, "r");
    96  if (NULL == pmc_pipe)
    97  return 1;
    98 
    99  while(fgets(pmc_out_line, BUF_LEN, pmc_pipe)) {
    100  if (0 == find_substr(pmc_out_line, strlen(pmc_out_line), keywords[0],
    101  strlen(keywords[0]))) {
    102  if (0 == find_substr(pmc_out_line, strlen(pmc_out_line),
    103  keywords[1], strlen(keywords[1]))) {
    104  res = 0;
    105  break;
    106  }
    107  }
    108  }
    109  fclose(pmc_pipe);
    110  return res;
    111 }
    112 
    114 {
    115  int res = 0;
    116  res |= is_process_running(PTP4L_PROC_NAME);
    117  print_dbg("PTP4L_PROC_NAME %d\n", res);
    118  res |= is_process_running(PHC2SYS_PROC_NAME);
    119  print_dbg("PHC2SYS_PROC_NAME %d\n", res);
    120  res |= check_ptp_status();
    121  print_dbg("check_ptp_status %d\n", res);
    122  return res;
    123 }
    #define print_dbg(fmt, args...)
    Definition: xran_printf.h:54
    +
    fclose(fileID)
    +
    #define PHC2SYS_PROC_NAME
    Definition: xran_sync_api.c:42
    +
    This file provides interface to synchronization related APIs (PTP/1588) for XRAN. ...
    +
    #define COMM_FILE
    Definition: xran_sync_api.c:39
    +
    #define PMC_CMD
    Definition: xran_sync_api.c:40
    +
    #define PTP4L_PROC_NAME
    Definition: xran_sync_api.c:41
    +
    Modules provide debug prints and utility functions.
    +
    #define BUF_LEN
    Definition: xran_sync_api.c:37
    +
    int xran_is_synchronized()
    Function checks if machine is synchronized using PTP for Linux software.
    +
    #define PROC_DIR
    Definition: xran_sync_api.c:38
    +
    def res
    Definition: master.py:498
    +
    + + + + diff --git a/docs/API/xran__sync__api_8h.html b/docs/API/xran__sync__api_8h.html new file mode 100644 index 0000000..79edc67 --- /dev/null +++ b/docs/API/xran__sync__api_8h.html @@ -0,0 +1,139 @@ + + + + + + + +o-du/phy: xran_sync_api.h File Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    xran_sync_api.h File Reference
    +
    +
    + +

    This file provides interface to synchronization related APIs (PTP/1588) for XRAN. +More...

    +
    +This graph shows which files directly or indirectly include this file:
    +
    +
    + + + + + +
    +
    +

    Go to the source code of this file.

    + + + + + +

    +Functions

    int xran_is_synchronized (void)
     Function checks if machine is synchronized using PTP for Linux software. More...
     
    +

    Detailed Description

    +

    This file provides interface to synchronization related APIs (PTP/1588) for XRAN.

    +
    Author
    Intel Corporation
    + +

    Definition in file xran_sync_api.h.

    +

    Function Documentation

    + +

    ◆ xran_is_synchronized()

    + +
    +
    + + + + + + + + +
    int xran_is_synchronized (void )
    +
    + +

    Function checks if machine is synchronized using PTP for Linux software.

    +
    Returns
    int Returns 0 if synchronized, otherwise positive.
    + +

    Definition at line 113 of file xran_sync_api.c.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + +
    + +
    +
    +
    + + + + diff --git a/docs/API/xran__sync__api_8h__dep__incl.map b/docs/API/xran__sync__api_8h__dep__incl.map new file mode 100644 index 0000000..6ec6431 --- /dev/null +++ b/docs/API/xran__sync__api_8h__dep__incl.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/API/xran__sync__api_8h__dep__incl.md5 b/docs/API/xran__sync__api_8h__dep__incl.md5 new file mode 100644 index 0000000..11ca56c --- /dev/null +++ b/docs/API/xran__sync__api_8h__dep__incl.md5 @@ -0,0 +1 @@ +79101fa1bb6397ebf1dd0686419ca455 \ No newline at end of file diff --git a/docs/API/xran__sync__api_8h__dep__incl.png b/docs/API/xran__sync__api_8h__dep__incl.png new file mode 100644 index 0000000..61324a0 Binary files /dev/null and b/docs/API/xran__sync__api_8h__dep__incl.png differ diff --git a/docs/API/xran__sync__api_8h_ac7d90edeea3b7f779bf85f44810c6a3a_icgraph.map b/docs/API/xran__sync__api_8h_ac7d90edeea3b7f779bf85f44810c6a3a_icgraph.map new file mode 100644 index 0000000..055d9ae --- /dev/null +++ b/docs/API/xran__sync__api_8h_ac7d90edeea3b7f779bf85f44810c6a3a_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/xran__sync__api_8h_ac7d90edeea3b7f779bf85f44810c6a3a_icgraph.md5 b/docs/API/xran__sync__api_8h_ac7d90edeea3b7f779bf85f44810c6a3a_icgraph.md5 new file mode 100644 index 0000000..6146e0c --- /dev/null +++ b/docs/API/xran__sync__api_8h_ac7d90edeea3b7f779bf85f44810c6a3a_icgraph.md5 @@ -0,0 +1 @@ +5b6a73b11b769310977897ed3dc7fae7 \ No newline at end of file diff --git a/docs/API/xran__sync__api_8h_ac7d90edeea3b7f779bf85f44810c6a3a_icgraph.png b/docs/API/xran__sync__api_8h_ac7d90edeea3b7f779bf85f44810c6a3a_icgraph.png new file mode 100644 index 0000000..6ac197a Binary files /dev/null and b/docs/API/xran__sync__api_8h_ac7d90edeea3b7f779bf85f44810c6a3a_icgraph.png differ diff --git a/docs/API/xran__sync__api_8h_source.html b/docs/API/xran__sync__api_8h_source.html new file mode 100644 index 0000000..4effbff --- /dev/null +++ b/docs/API/xran__sync__api_8h_source.html @@ -0,0 +1,79 @@ + + + + + + + +o-du/phy: xran_sync_api.h Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    xran_sync_api.h
    +
    +
    +Go to the documentation of this file.
    1 /******************************************************************************
    2 *
    3 * Copyright (c) 2019 Intel.
    4 *
    5 * Licensed under the Apache License, Version 2.0 (the "License");
    6 * you may not use this file except in compliance with the License.
    7 * You may obtain a copy of the License at
    8 *
    9 * http://www.apache.org/licenses/LICENSE-2.0
    10 *
    11 * Unless required by applicable law or agreed to in writing, software
    12 * distributed under the License is distributed on an "AS IS" BASIS,
    13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    14 * See the License for the specific language governing permissions and
    15 * limitations under the License.
    16 *
    17 *******************************************************************************/
    18 
    29 #ifndef _XRAN_SYNC_API_H_
    30 #define _XRAN_SYNC_API_H_
    31 
    32 #ifdef __cplusplus
    33 extern "C" {
    34 #endif
    35 
    42 int xran_is_synchronized(void);
    43 
    44 #ifdef __cplusplus
    45 }
    46 #endif
    47 
    48 #endif /* _XRAN_SYNC_API_H_ */
    int xran_is_synchronized(void)
    Function checks if machine is synchronized using PTP for Linux software.
    +
    + + + + diff --git a/docs/API/xran__timer_8c.html b/docs/API/xran__timer_8c.html new file mode 100644 index 0000000..a05477b --- /dev/null +++ b/docs/API/xran__timer_8c.html @@ -0,0 +1,574 @@ + + + + + + + +o-du/phy: xran_timer.c File Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    xran_timer.c File Reference
    +
    +
    + +

    This file provides implementation to Timing for XRAN. +More...

    +
    #include <time.h>
    +#include <stdio.h>
    +#include <stdlib.h>
    +#include <stdint.h>
    +#include "xran_timer.h"
    +#include "xran_printf.h"
    +#include "xran_mlog_lnx.h"
    +#include "xran_lib_mlog_tasks_id.h"
    +#include "ethdi.h"
    +#include "xran_fh_o_du.h"
    +#include "xran_common.h"
    +
    +Include dependency graph for xran_timer.c:
    +
    +
    + + + + + + + + + + + + + + + +
    +
    +

    Go to the source code of this file.

    + + + + + + + + + + + + +

    +Macros

    #define NSEC_PER_SEC   1000000000L
     
    #define NSEC_PER_USEC   1000L
     
    #define THRESHOLD   35
     
    #define TIMECOMPENSATION   2
     
    #define SEC_MOD_STOP   (60)
     
    + + + + + + + + + + + + + + + + + + + +

    +Functions

    uint64_t timing_get_current_second (void)
     
    int timing_set_numerology (uint8_t value)
     
    int timing_set_debug_stop (int value, int count)
     
    int timing_get_debug_stop (void)
     
    void timing_adjust_gps_second (struct timespec *p_time)
     
    uint64_t xran_tick (void)
     
    unsigned long get_ticks_diff (unsigned long curr_tick, unsigned long last_tick)
     
    long poll_next_tick (long interval_ns, unsigned long *used_tick)
     
    long sleep_next_tick (long interval)
     
    + + + + + + + +

    +Variables

    uint32_t xran_lib_ota_sym
     
    uint32_t xran_lib_ota_tti
     
    uint32_t xran_lib_ota_sym_idx
     
    +

    Detailed Description

    +

    This file provides implementation to Timing for XRAN.

    +
    Author
    Intel Corporation
    + +

    Definition in file xran_timer.c.

    +

    Macro Definition Documentation

    + +

    ◆ NSEC_PER_SEC

    + +
    +
    + + + + +
    #define NSEC_PER_SEC   1000000000L
    +
    + +

    Definition at line 41 of file xran_timer.c.

    + +
    +
    + +

    ◆ NSEC_PER_USEC

    + +
    +
    + + + + +
    #define NSEC_PER_USEC   1000L
    +
    + +

    Definition at line 42 of file xran_timer.c.

    + +
    +
    + +

    ◆ SEC_MOD_STOP

    + +
    +
    + + + + +
    #define SEC_MOD_STOP   (60)
    +
    + +

    Definition at line 46 of file xran_timer.c.

    + +
    +
    + +

    ◆ THRESHOLD

    + +
    +
    + + + + +
    #define THRESHOLD   35
    +
    +

    the avg cost of clock_gettime() in ns

    + +

    Definition at line 43 of file xran_timer.c.

    + +
    +
    + +

    ◆ TIMECOMPENSATION

    + +
    +
    + + + + +
    #define TIMECOMPENSATION   2
    +
    +

    time compensation in us, avg latency of clock_nanosleep

    + +

    Definition at line 44 of file xran_timer.c.

    + +
    +
    +

    Function Documentation

    + +

    ◆ get_ticks_diff()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    unsigned long get_ticks_diff (unsigned long curr_tick,
    unsigned long last_tick 
    )
    +
    + +

    Definition at line 138 of file xran_timer.c.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + +
    + +
    +
    + +

    ◆ poll_next_tick()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    long poll_next_tick (long interval_ns,
    unsigned long * used_tick 
    )
    +
    + +

    Definition at line 146 of file xran_timer.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + +
    + +
    +
    + +

    ◆ sleep_next_tick()

    + +
    +
    + + + + + + + + +
    long sleep_next_tick (long interval)
    +
    + +

    Definition at line 246 of file xran_timer.c.

    + +
    +
    + +

    ◆ timing_adjust_gps_second()

    + +
    +
    + + + + + + + + +
    void timing_adjust_gps_second (struct timespec * p_time)
    +
    + +

    Definition at line 116 of file xran_timer.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + +
    + +
    +
    + +

    ◆ timing_get_current_second()

    + +
    +
    + + + + + +
    + + + + + + + + +
    uint64_t timing_get_current_second (void )
    +
    +inline
    +
    + +

    Definition at line 88 of file xran_timer.c.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + +
    + +
    +
    + +

    ◆ timing_get_debug_stop()

    + +
    +
    + + + + + + + + +
    int timing_get_debug_stop (void )
    +
    + +

    Definition at line 111 of file xran_timer.c.

    + +
    +
    + +

    ◆ timing_set_debug_stop()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    int timing_set_debug_stop (int value,
    int count 
    )
    +
    + +

    Definition at line 99 of file xran_timer.c.

    + +
    +
    + +

    ◆ timing_set_numerology()

    + +
    +
    + + + + + + + + +
    int timing_set_numerology (uint8_t value)
    +
    + +

    Definition at line 93 of file xran_timer.c.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + + + +
    + +
    +
    + +

    ◆ xran_tick()

    + +
    +
    + + + + + + + + +
    uint64_t xran_tick (void )
    +
    + +

    Definition at line 131 of file xran_timer.c.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + +
    + +
    +
    +

    Variable Documentation

    + +

    ◆ xran_lib_ota_sym

    + +
    +
    + + + + +
    uint32_t xran_lib_ota_sym
    +
    +

    Symbol index in a slot [0:13]

    + +

    Definition at line 112 of file xran_main.c.

    + +
    +
    + +

    ◆ xran_lib_ota_sym_idx

    + +
    +
    + + + + +
    uint32_t xran_lib_ota_sym_idx
    +
    +

    Symbol index in a second [0 : 14*(1000000/TTI)-1] where TTI is TTI interval in microseconds

    + +

    Definition at line 113 of file xran_main.c.

    + +
    +
    + +

    ◆ xran_lib_ota_tti

    + +
    +
    + + + + +
    uint32_t xran_lib_ota_tti
    +
    +

    Slot index in a second [0:(1000000/TTI-1)]

    + +

    Definition at line 111 of file xran_main.c.

    + +
    +
    +
    + + + + diff --git a/docs/API/xran__timer_8c__incl.map b/docs/API/xran__timer_8c__incl.map new file mode 100644 index 0000000..7de6307 --- /dev/null +++ b/docs/API/xran__timer_8c__incl.map @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/docs/API/xran__timer_8c__incl.md5 b/docs/API/xran__timer_8c__incl.md5 new file mode 100644 index 0000000..6a6daab --- /dev/null +++ b/docs/API/xran__timer_8c__incl.md5 @@ -0,0 +1 @@ +2ba349f6d29d395aa23acd9e02573a66 \ No newline at end of file diff --git a/docs/API/xran__timer_8c__incl.png b/docs/API/xran__timer_8c__incl.png new file mode 100644 index 0000000..b31776e Binary files /dev/null and b/docs/API/xran__timer_8c__incl.png differ diff --git a/docs/API/xran__timer_8c_a1d2f23e35725cd993cbb72de9f4f565a_icgraph.map b/docs/API/xran__timer_8c_a1d2f23e35725cd993cbb72de9f4f565a_icgraph.map new file mode 100644 index 0000000..7e938b6 --- /dev/null +++ b/docs/API/xran__timer_8c_a1d2f23e35725cd993cbb72de9f4f565a_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/xran__timer_8c_a1d2f23e35725cd993cbb72de9f4f565a_icgraph.md5 b/docs/API/xran__timer_8c_a1d2f23e35725cd993cbb72de9f4f565a_icgraph.md5 new file mode 100644 index 0000000..aad5d17 --- /dev/null +++ b/docs/API/xran__timer_8c_a1d2f23e35725cd993cbb72de9f4f565a_icgraph.md5 @@ -0,0 +1 @@ +610363524dc2f0d0cb62cc9ae6bb1bcc \ No newline at end of file diff --git a/docs/API/xran__timer_8c_a1d2f23e35725cd993cbb72de9f4f565a_icgraph.png b/docs/API/xran__timer_8c_a1d2f23e35725cd993cbb72de9f4f565a_icgraph.png new file mode 100644 index 0000000..e23303a Binary files /dev/null and b/docs/API/xran__timer_8c_a1d2f23e35725cd993cbb72de9f4f565a_icgraph.png differ diff --git a/docs/API/xran__timer_8c_a2c22baf2fd259384ee376d438bb461c1_icgraph.map b/docs/API/xran__timer_8c_a2c22baf2fd259384ee376d438bb461c1_icgraph.map new file mode 100644 index 0000000..7dd7c0f --- /dev/null +++ b/docs/API/xran__timer_8c_a2c22baf2fd259384ee376d438bb461c1_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/xran__timer_8c_a2c22baf2fd259384ee376d438bb461c1_icgraph.md5 b/docs/API/xran__timer_8c_a2c22baf2fd259384ee376d438bb461c1_icgraph.md5 new file mode 100644 index 0000000..ceb554f --- /dev/null +++ b/docs/API/xran__timer_8c_a2c22baf2fd259384ee376d438bb461c1_icgraph.md5 @@ -0,0 +1 @@ +a97de7ea879b4020bca17a10d38efa5b \ No newline at end of file diff --git a/docs/API/xran__timer_8c_a2c22baf2fd259384ee376d438bb461c1_icgraph.png b/docs/API/xran__timer_8c_a2c22baf2fd259384ee376d438bb461c1_icgraph.png new file mode 100644 index 0000000..8e8ded8 Binary files /dev/null and b/docs/API/xran__timer_8c_a2c22baf2fd259384ee376d438bb461c1_icgraph.png differ diff --git a/docs/API/xran__timer_8c_a52ade7f1436323f071cf7151f7bdb097_cgraph.map b/docs/API/xran__timer_8c_a52ade7f1436323f071cf7151f7bdb097_cgraph.map new file mode 100644 index 0000000..bc9b6bf --- /dev/null +++ b/docs/API/xran__timer_8c_a52ade7f1436323f071cf7151f7bdb097_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/xran__timer_8c_a52ade7f1436323f071cf7151f7bdb097_cgraph.md5 b/docs/API/xran__timer_8c_a52ade7f1436323f071cf7151f7bdb097_cgraph.md5 new file mode 100644 index 0000000..e15b643 --- /dev/null +++ b/docs/API/xran__timer_8c_a52ade7f1436323f071cf7151f7bdb097_cgraph.md5 @@ -0,0 +1 @@ +4aafa917127e548e55969eda9d9cd163 \ No newline at end of file diff --git a/docs/API/xran__timer_8c_a52ade7f1436323f071cf7151f7bdb097_cgraph.png b/docs/API/xran__timer_8c_a52ade7f1436323f071cf7151f7bdb097_cgraph.png new file mode 100644 index 0000000..1ddcd67 Binary files /dev/null and b/docs/API/xran__timer_8c_a52ade7f1436323f071cf7151f7bdb097_cgraph.png differ diff --git a/docs/API/xran__timer_8c_a6c1790e87767257159038d0d98a393e6_icgraph.map b/docs/API/xran__timer_8c_a6c1790e87767257159038d0d98a393e6_icgraph.map new file mode 100644 index 0000000..b61ccad --- /dev/null +++ b/docs/API/xran__timer_8c_a6c1790e87767257159038d0d98a393e6_icgraph.map @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/API/xran__timer_8c_a6c1790e87767257159038d0d98a393e6_icgraph.md5 b/docs/API/xran__timer_8c_a6c1790e87767257159038d0d98a393e6_icgraph.md5 new file mode 100644 index 0000000..0f9aace --- /dev/null +++ b/docs/API/xran__timer_8c_a6c1790e87767257159038d0d98a393e6_icgraph.md5 @@ -0,0 +1 @@ +fec2fc2da369fed3011d13419ff528e3 \ No newline at end of file diff --git a/docs/API/xran__timer_8c_a6c1790e87767257159038d0d98a393e6_icgraph.png b/docs/API/xran__timer_8c_a6c1790e87767257159038d0d98a393e6_icgraph.png new file mode 100644 index 0000000..b7c9c86 Binary files /dev/null and b/docs/API/xran__timer_8c_a6c1790e87767257159038d0d98a393e6_icgraph.png differ diff --git a/docs/API/xran__timer_8c_abee5de4c0d88f6c17ce6b3962d097f07_icgraph.map b/docs/API/xran__timer_8c_abee5de4c0d88f6c17ce6b3962d097f07_icgraph.map new file mode 100644 index 0000000..7f4beed --- /dev/null +++ b/docs/API/xran__timer_8c_abee5de4c0d88f6c17ce6b3962d097f07_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/xran__timer_8c_abee5de4c0d88f6c17ce6b3962d097f07_icgraph.md5 b/docs/API/xran__timer_8c_abee5de4c0d88f6c17ce6b3962d097f07_icgraph.md5 new file mode 100644 index 0000000..2f25414 --- /dev/null +++ b/docs/API/xran__timer_8c_abee5de4c0d88f6c17ce6b3962d097f07_icgraph.md5 @@ -0,0 +1 @@ +40ccb5d1944baf9a0aa9e58b4cd4be09 \ No newline at end of file diff --git a/docs/API/xran__timer_8c_abee5de4c0d88f6c17ce6b3962d097f07_icgraph.png b/docs/API/xran__timer_8c_abee5de4c0d88f6c17ce6b3962d097f07_icgraph.png new file mode 100644 index 0000000..29cd81c Binary files /dev/null and b/docs/API/xran__timer_8c_abee5de4c0d88f6c17ce6b3962d097f07_icgraph.png differ diff --git a/docs/API/xran__timer_8c_af01e1311b604e50d00b7ecce78d2ce22_cgraph.map b/docs/API/xran__timer_8c_af01e1311b604e50d00b7ecce78d2ce22_cgraph.map new file mode 100644 index 0000000..ad46f64 --- /dev/null +++ b/docs/API/xran__timer_8c_af01e1311b604e50d00b7ecce78d2ce22_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/xran__timer_8c_af01e1311b604e50d00b7ecce78d2ce22_cgraph.md5 b/docs/API/xran__timer_8c_af01e1311b604e50d00b7ecce78d2ce22_cgraph.md5 new file mode 100644 index 0000000..0cadabd --- /dev/null +++ b/docs/API/xran__timer_8c_af01e1311b604e50d00b7ecce78d2ce22_cgraph.md5 @@ -0,0 +1 @@ +0e7b70c03a83a6f5e717dbe9e3773aa6 \ No newline at end of file diff --git a/docs/API/xran__timer_8c_af01e1311b604e50d00b7ecce78d2ce22_cgraph.png b/docs/API/xran__timer_8c_af01e1311b604e50d00b7ecce78d2ce22_cgraph.png new file mode 100644 index 0000000..51593d2 Binary files /dev/null and b/docs/API/xran__timer_8c_af01e1311b604e50d00b7ecce78d2ce22_cgraph.png differ diff --git a/docs/API/xran__timer_8c_source.html b/docs/API/xran__timer_8c_source.html new file mode 100644 index 0000000..e8c8740 --- /dev/null +++ b/docs/API/xran__timer_8c_source.html @@ -0,0 +1,120 @@ + + + + + + + +o-du/phy: xran_timer.c Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    xran_timer.c
    +
    +
    +Go to the documentation of this file.
    1 /******************************************************************************
    2 *
    3 * Copyright (c) 2019 Intel.
    4 *
    5 * Licensed under the Apache License, Version 2.0 (the "License");
    6 * you may not use this file except in compliance with the License.
    7 * You may obtain a copy of the License at
    8 *
    9 * http://www.apache.org/licenses/LICENSE-2.0
    10 *
    11 * Unless required by applicable law or agreed to in writing, software
    12 * distributed under the License is distributed on an "AS IS" BASIS,
    13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    14 * See the License for the specific language governing permissions and
    15 * limitations under the License.
    16 *
    17 *******************************************************************************/
    18 
    28 #include <time.h>
    29 #include <stdio.h>
    30 #include <stdlib.h>
    31 #include <stdint.h>
    32 
    33 #include "xran_timer.h"
    34 #include "xran_printf.h"
    35 #include "xran_mlog_lnx.h"
    36 #include "xran_lib_mlog_tasks_id.h"
    37 #include "ethdi.h"
    38 #include "xran_fh_o_du.h"
    39 #include "xran_common.h"
    40 
    41 #define NSEC_PER_SEC 1000000000L
    42 #define NSEC_PER_USEC 1000L
    43 #define THRESHOLD 35
    44 #define TIMECOMPENSATION 2
    46 #define SEC_MOD_STOP (60)
    47 
    48 static struct timespec started_time;
    49 static struct timespec last_time;
    50 static struct timespec cur_time;
    51 
    52 static uint64_t curr_tick;
    53 static uint64_t last_tick;
    54 
    55 static struct timespec* p_cur_time = &cur_time;
    56 static struct timespec* p_last_time = &last_time;
    57 
    58 
    59 static struct timespec* p_temp_time;
    60 
    61 static unsigned long current_second = 0;
    62 static unsigned long started_second = 0;
    63 static uint8_t numerlogy = 0;
    64 extern uint32_t xran_lib_ota_sym;
    65 extern uint32_t xran_lib_ota_tti;
    66 extern uint32_t xran_lib_ota_sym_idx;
    67 
    68 static int debugStop = 0;
    69 static int debugStopCount = 0;
    70 
    71 static long fine_tuning[5][2] =
    72 {
    73  {71428L, 71429L}, /* mu = 0 */
    74  {35714L, 35715L}, /* mu = 1 */
    75  {0, 0}, /* mu = 2 not supported */
    76  {8928L, 8929L}, /* mu = 3 */
    77  {0,0 } /* mu = 4 not supported */
    78 };
    79 
    80 static uint8_t slots_per_subframe[4] =
    81 {
    82  1, /* mu = 0 */
    83  2, /* mu = 1 */
    84  4, /* mu = 2 */
    85  8, /* mu = 3 */
    86 };
    87 
    89 {
    90  return current_second;
    91 }
    92 
    93 int timing_set_numerology(uint8_t value)
    94 {
    95  numerlogy = value;
    96  return numerlogy;
    97 }
    98 
    99 int timing_set_debug_stop(int value, int count)
    100 {
    101  debugStop = value;
    102  debugStopCount = count;
    103 
    104  if(debugStop){
    105  clock_gettime(CLOCK_REALTIME, &started_time);
    106  started_second =started_time.tv_sec;
    107  }
    108  return debugStop;
    109 }
    110 
    112 {
    113  return debugStop;
    114 }
    115 
    116 void timing_adjust_gps_second(struct timespec* p_time)
    117 {
    118  struct xran_device_ctx * p_xran_dev_ctx = xran_dev_get_ctx();
    119 
    120  long nsec = p_time->tv_nsec + p_xran_dev_ctx->offset_nsec;
    121  p_time->tv_sec += p_xran_dev_ctx->offset_sec;
    122  if (nsec >= 1e9)
    123  {
    124  nsec -=1e9;
    125  p_time->tv_sec += 1;
    126  }
    127  p_time->tv_nsec = nsec;
    128 
    129  return;
    130 }
    131 uint64_t xran_tick(void)
    132 {
    133  uint32_t hi, lo;
    134  __asm volatile ("rdtsc" : "=a"(lo), "=d"(hi));
    135  return ( (uint64_t)lo)|( ((uint64_t)hi)<<32 );
    136 }
    137 
    138 unsigned long get_ticks_diff(unsigned long curr_tick, unsigned long last_tick)
    139 {
    140  if (curr_tick >= last_tick)
    141  return (unsigned long)(curr_tick - last_tick);
    142  else
    143  return (unsigned long)(0xFFFFFFFFFFFFFFFF - last_tick + curr_tick);
    144 }
    145 
    146 long poll_next_tick(long interval_ns, unsigned long *used_tick)
    147 {
    148  struct xran_device_ctx * p_xran_dev_ctx = xran_dev_get_ctx();
    149  long target_time;
    150  long delta;
    151  static int counter = 0;
    152  static long sym_acc = 0;
    153  static long sym_cnt = 0;
    154 
    155  if(counter == 0) {
    156  clock_gettime(CLOCK_REALTIME, p_last_time);
    157  last_tick = MLogTick();
    158  if(unlikely(p_xran_dev_ctx->offset_sec || p_xran_dev_ctx->offset_nsec))
    159  timing_adjust_gps_second(p_last_time);
    160  current_second = p_last_time->tv_sec;
    161  counter = 1;
    162  }
    163 
    164  target_time = (p_last_time->tv_sec * NSEC_PER_SEC + p_last_time->tv_nsec + interval_ns);
    165 
    166  while(1) {
    167  clock_gettime(CLOCK_REALTIME, p_cur_time);
    168  curr_tick = MLogTick();
    169  if(unlikely(p_xran_dev_ctx->offset_sec || p_xran_dev_ctx->offset_nsec))
    170  timing_adjust_gps_second(p_cur_time);
    171  delta = (p_cur_time->tv_sec * NSEC_PER_SEC + p_cur_time->tv_nsec) - target_time;
    172  if(delta > 0 || (delta < 0 && abs(delta) < THRESHOLD)) {
    173  if (debugStop &&(debugStopCount > 0) && (tx_counter >= debugStopCount)){
    174  uint64_t t1;
    175  printf("STOP:[%ld.%09ld], debugStopCount %d, tx_counter %ld\n", p_cur_time->tv_sec, p_cur_time->tv_nsec, debugStopCount, tx_counter);
    176  t1 = MLogTick();
    177  rte_pause();
    180  }
    181  if(current_second != p_cur_time->tv_sec){
    182  current_second = p_cur_time->tv_sec;
    185  xran_lib_ota_tti = 0;
    186  xran_lib_ota_sym = 0;
    187  sym_cnt = 0;
    188  sym_acc = 0;
    189  print_dbg("ToS:C Sync timestamp: [%ld.%09ld]\n", p_cur_time->tv_sec, p_cur_time->tv_nsec);
    190  if(debugStop){
    191  if(p_cur_time->tv_sec > started_second && ((p_cur_time->tv_sec % SEC_MOD_STOP) == 0)){
    192  uint64_t t1;
    193  printf("STOP:[%ld.%09ld]\n", p_cur_time->tv_sec, p_cur_time->tv_nsec);
    194  t1 = MLogTick();
    195  rte_pause();
    198  }
    199  }
    200  p_cur_time->tv_nsec = 0; // adjust to 1pps
    201  } else {
    203  /* adjust to sym boundary */
    204  if(sym_cnt & 1)
    205  sym_acc += fine_tuning[numerlogy][0];
    206  else
    207  sym_acc += fine_tuning[numerlogy][1];
    208  /* fine tune to second boundary */
    209  if(sym_cnt % 13 == 0)
    210  sym_acc += 1;
    211 
    212  p_cur_time->tv_nsec = sym_acc;
    213  sym_cnt++;
    214  }
    215 
    216 #ifdef USE_PTP_TIME
    217  if(debugStop && delta < interval_ns*10)
    218  MLogTask(PID_TIME_SYSTIME_POLL, (p_last_time->tv_sec * NSEC_PER_SEC + p_last_time->tv_nsec), (p_cur_time->tv_sec * NSEC_PER_SEC + p_cur_time->tv_nsec));
    219 #else
    220  MLogTask(PID_TIME_SYSTIME_POLL, last_tick, curr_tick);
    221  last_tick = curr_tick;
    222 #endif
    223 
    224 
    225  p_temp_time = p_last_time;
    226  p_last_time = p_cur_time;
    227  p_cur_time = p_temp_time;
    228  break;
    229  } else {
    230  if( likely(xran_if_current_state == XRAN_RUNNING)){
    231  uint64_t t1, t2;
    232  t1 = xran_tick();
    233 
    235  process_dpdk_io();
    236 
    237  t2 = xran_tick();
    238  *used_tick += get_ticks_diff(t2, t1);
    239  }
    240  }
    241  }
    242 
    243  return delta;
    244 }
    245 
    246 long sleep_next_tick(long interval)
    247 {
    248  struct timespec start_time;
    249  struct timespec cur_time;
    250  //struct timespec target_time_convert;
    251  struct timespec sleep_target_time_convert;
    252  long target_time;
    253  long sleep_target_time;
    254  long delta;
    255 
    256  clock_gettime(CLOCK_REALTIME, &start_time);
    257  target_time = (start_time.tv_sec * NSEC_PER_SEC + start_time.tv_nsec + interval * NSEC_PER_USEC) / (interval * NSEC_PER_USEC) * interval;
    258  //printf("target: %ld, current: %ld, %ld\n", target_time, start_time.tv_sec, start_time.tv_nsec);
    259  sleep_target_time = target_time - TIMECOMPENSATION;
    260  sleep_target_time_convert.tv_sec = sleep_target_time * NSEC_PER_USEC / NSEC_PER_SEC;
    261  sleep_target_time_convert.tv_nsec = (sleep_target_time * NSEC_PER_USEC) % NSEC_PER_SEC;
    262 
    263  //target_time_convert.tv_sec = target_time * NSEC_PER_USEC / NSEC_PER_SEC;
    264  //target_time_convert.tv_nsec = (target_time * NSEC_PER_USEC) % NSEC_PER_SEC;
    265 
    266  clock_nanosleep(CLOCK_REALTIME, TIMER_ABSTIME, &sleep_target_time_convert, NULL);
    267 
    268  clock_gettime(CLOCK_REALTIME, &cur_time);
    269 
    270  delta = (cur_time.tv_sec * NSEC_PER_SEC + cur_time.tv_nsec) - target_time * NSEC_PER_USEC;
    271 
    272  return delta;
    273 }
    274 
    275 
    276 
    uint32_t xran_lib_ota_sym
    Definition: xran_main.c:112
    +
    #define print_dbg(fmt, args...)
    Definition: xran_printf.h:54
    +
    uint64_t xran_tick(void)
    Definition: xran_timer.c:131
    +
    int timing_set_debug_stop(int value, int count)
    Definition: xran_timer.c:99
    +
    enum xran_if_state xran_if_current_state
    Definition: ethdi.c:75
    +
    int32_t ring_processing_func(void)
    Definition: xran_common.c:700
    +
    #define PID_TIME_SYSTIME_STOP
    +
    long poll_next_tick(long interval_ns, unsigned long *used_tick)
    Definition: xran_timer.c:146
    + + +
    #define SEC_MOD_STOP
    Definition: xran_timer.c:46
    +
    long tx_counter
    Definition: xran_common.c:118
    +
    uint32_t xran_lib_ota_sym_idx
    Definition: xran_main.c:113
    +
    void timing_adjust_gps_second(struct timespec *p_time)
    Definition: xran_timer.c:116
    +
    struct xran_device_ctx * xran_dev_get_ctx(void)
    Definition: xran_main.c:223
    +
    int64_t offset_sec
    Definition: xran_common.h:216
    +
    This file provides interface to Timing for XRAN.
    +
    int32_t process_dpdk_io(void)
    Definition: ethdi.c:445
    +
    uint64_t timing_get_current_second(void)
    Definition: xran_timer.c:88
    +
    #define TIMECOMPENSATION
    Definition: xran_timer.c:44
    +
    int timing_get_debug_stop(void)
    Definition: xran_timer.c:111
    +
    int timing_set_numerology(uint8_t value)
    Definition: xran_timer.c:93
    +
    This file has all definitions for the Ethernet Data Interface Layer.
    +
    Modules provide debug prints and utility functions.
    +
    uint32_t xran_lib_ota_tti
    Definition: xran_main.c:111
    +
    XRAN layer common functionality for both lls-CU and RU as well as C-plane and U-plane.
    +
    #define XranIncrementSymIdx(sym_idx, numSymPerMs)
    Definition: xran_timer.h:42
    + +
    #define XRAN_NUM_OF_SYMBOL_PER_SLOT
    Definition: xran_fh_o_du.h:122
    +
    void xran_updateSfnSecStart(void)
    Definition: xran_main.c:201
    +
    This file provides public interface to xRAN Front Haul layer implementation as defined in the ORAN-WG...
    +
    unsigned long get_ticks_diff(unsigned long curr_tick, unsigned long last_tick)
    Definition: xran_timer.c:138
    + +
    #define THRESHOLD
    Definition: xran_timer.c:43
    +
    long sleep_next_tick(long interval)
    Definition: xran_timer.c:246
    +
    #define MLogTask(w, x, y)
    Definition: xran_mlog_lnx.h:44
    +
    #define NSEC_PER_USEC
    Definition: xran_timer.c:42
    +
    #define PID_TIME_SYSTIME_POLL
    +
    int64_t offset_nsec
    Definition: xran_common.h:217
    +
    #define MLogTick()
    Definition: xran_mlog_lnx.h:42
    + +
    #define NSEC_PER_SEC
    Definition: xran_timer.c:41
    +
    + + + + diff --git a/docs/API/xran__timer_8h.html b/docs/API/xran__timer_8h.html new file mode 100644 index 0000000..662f423 --- /dev/null +++ b/docs/API/xran__timer_8h.html @@ -0,0 +1,461 @@ + + + + + + + +o-du/phy: xran_timer.h File Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    xran_timer.h File Reference
    +
    +
    + +

    This file provides interface to Timing for XRAN. +More...

    +
    #include <time.h>
    +#include <stdio.h>
    +#include <stdlib.h>
    +#include <stdint.h>
    +
    +Include dependency graph for xran_timer.h:
    +
    +
    + + +
    +
    +This graph shows which files directly or indirectly include this file:
    +
    +
    + + + + +
    +
    +

    Go to the source code of this file.

    + + + + + + + + +

    +Macros

    #define MSEC_PER_SEC   1000L
     
    #define XranIncrementSymIdx(sym_idx, numSymPerMs)   (((uint32_t)sym_idx >= (((uint32_t)numSymPerMs * MSEC_PER_SEC) - 1)) ? 0 : (uint32_t)sym_idx+1)
     
    #define XranDecrementSymIdx(sym_idx, numSymPerMs)   (((uint32_t)sym_idx == 0) ? (((uint32_t)numSymPerMs * MSEC_PER_SEC)) - 1) : (uint32_t)sym_idx-1)
     
    + + + + + + + + + + + + + + + + + +

    +Functions

    uint64_t xran_tick (void)
     
    unsigned long get_ticks_diff (unsigned long curr_tick, unsigned long last_tick)
     
    long poll_next_tick (long interval_ns, unsigned long *used_tick)
     
    long sleep_next_tick (long interval)
     
    int timing_set_debug_stop (int value, int count)
     
    int timing_get_debug_stop (void)
     
    uint64_t timing_get_current_second (void)
     
    int timing_set_numerology (uint8_t value)
     
    +

    Detailed Description

    +

    This file provides interface to Timing for XRAN.

    +
    Author
    Intel Corporation
    + +

    Definition in file xran_timer.h.

    +

    Macro Definition Documentation

    + +

    ◆ MSEC_PER_SEC

    + +
    +
    + + + + +
    #define MSEC_PER_SEC   1000L
    +
    + +

    Definition at line 40 of file xran_timer.h.

    + +
    +
    + +

    ◆ XranDecrementSymIdx

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    #define XranDecrementSymIdx( sym_idx,
     numSymPerMs 
    )   (((uint32_t)sym_idx == 0) ? (((uint32_t)numSymPerMs * MSEC_PER_SEC)) - 1) : (uint32_t)sym_idx-1)
    +
    + +

    Definition at line 43 of file xran_timer.h.

    + +
    +
    + +

    ◆ XranIncrementSymIdx

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    #define XranIncrementSymIdx( sym_idx,
     numSymPerMs 
    )   (((uint32_t)sym_idx >= (((uint32_t)numSymPerMs * MSEC_PER_SEC) - 1)) ? 0 : (uint32_t)sym_idx+1)
    +
    + +

    Definition at line 42 of file xran_timer.h.

    + +
    +
    +

    Function Documentation

    + +

    ◆ get_ticks_diff()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    unsigned long get_ticks_diff (unsigned long curr_tick,
    unsigned long last_tick 
    )
    +
    + +

    Definition at line 138 of file xran_timer.c.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + +
    + +
    +
    + +

    ◆ poll_next_tick()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    long poll_next_tick (long interval_ns,
    unsigned long * used_tick 
    )
    +
    + +

    Definition at line 146 of file xran_timer.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + +
    + +
    +
    + +

    ◆ sleep_next_tick()

    + +
    +
    + + + + + + + + +
    long sleep_next_tick (long interval)
    +
    + +

    Definition at line 246 of file xran_timer.c.

    + +
    +
    + +

    ◆ timing_get_current_second()

    + +
    +
    + + + + + +
    + + + + + + + + +
    uint64_t timing_get_current_second (void )
    +
    +inline
    +
    + +

    Definition at line 88 of file xran_timer.c.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + +
    + +
    +
    + +

    ◆ timing_get_debug_stop()

    + +
    +
    + + + + + + + + +
    int timing_get_debug_stop (void )
    +
    + +

    Definition at line 111 of file xran_timer.c.

    + +
    +
    + +

    ◆ timing_set_debug_stop()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    int timing_set_debug_stop (int value,
    int count 
    )
    +
    + +

    Definition at line 99 of file xran_timer.c.

    + +
    +
    + +

    ◆ timing_set_numerology()

    + +
    +
    + + + + + + + + +
    int timing_set_numerology (uint8_t value)
    +
    + +

    Definition at line 93 of file xran_timer.c.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + + + +
    + +
    +
    + +

    ◆ xran_tick()

    + +
    +
    + + + + + + + + +
    uint64_t xran_tick (void )
    +
    + +

    Definition at line 131 of file xran_timer.c.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + +
    + +
    +
    +
    + + + + diff --git a/docs/API/xran__timer_8h__dep__incl.map b/docs/API/xran__timer_8h__dep__incl.map new file mode 100644 index 0000000..3623079 --- /dev/null +++ b/docs/API/xran__timer_8h__dep__incl.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/xran__timer_8h__dep__incl.md5 b/docs/API/xran__timer_8h__dep__incl.md5 new file mode 100644 index 0000000..6d869dc --- /dev/null +++ b/docs/API/xran__timer_8h__dep__incl.md5 @@ -0,0 +1 @@ +d195f9576ed0b97a7dd7bfd471f97946 \ No newline at end of file diff --git a/docs/API/xran__timer_8h__dep__incl.png b/docs/API/xran__timer_8h__dep__incl.png new file mode 100644 index 0000000..19717af Binary files /dev/null and b/docs/API/xran__timer_8h__dep__incl.png differ diff --git a/docs/API/xran__timer_8h__incl.map b/docs/API/xran__timer_8h__incl.map new file mode 100644 index 0000000..36ab684 --- /dev/null +++ b/docs/API/xran__timer_8h__incl.map @@ -0,0 +1,2 @@ + + diff --git a/docs/API/xran__timer_8h__incl.md5 b/docs/API/xran__timer_8h__incl.md5 new file mode 100644 index 0000000..b7caab4 --- /dev/null +++ b/docs/API/xran__timer_8h__incl.md5 @@ -0,0 +1 @@ +72bd8a56ae474383b50fc81b479b822a \ No newline at end of file diff --git a/docs/API/xran__timer_8h__incl.png b/docs/API/xran__timer_8h__incl.png new file mode 100644 index 0000000..b3dc452 Binary files /dev/null and b/docs/API/xran__timer_8h__incl.png differ diff --git a/docs/API/xran__timer_8h_a1d2f23e35725cd993cbb72de9f4f565a_icgraph.map b/docs/API/xran__timer_8h_a1d2f23e35725cd993cbb72de9f4f565a_icgraph.map new file mode 100644 index 0000000..7e938b6 --- /dev/null +++ b/docs/API/xran__timer_8h_a1d2f23e35725cd993cbb72de9f4f565a_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/xran__timer_8h_a1d2f23e35725cd993cbb72de9f4f565a_icgraph.md5 b/docs/API/xran__timer_8h_a1d2f23e35725cd993cbb72de9f4f565a_icgraph.md5 new file mode 100644 index 0000000..49481fb --- /dev/null +++ b/docs/API/xran__timer_8h_a1d2f23e35725cd993cbb72de9f4f565a_icgraph.md5 @@ -0,0 +1 @@ +c36575ed0b9a24d8db5e3fc0931bdfaf \ No newline at end of file diff --git a/docs/API/xran__timer_8h_a1d2f23e35725cd993cbb72de9f4f565a_icgraph.png b/docs/API/xran__timer_8h_a1d2f23e35725cd993cbb72de9f4f565a_icgraph.png new file mode 100644 index 0000000..e23303a Binary files /dev/null and b/docs/API/xran__timer_8h_a1d2f23e35725cd993cbb72de9f4f565a_icgraph.png differ diff --git a/docs/API/xran__timer_8h_a2c22baf2fd259384ee376d438bb461c1_icgraph.map b/docs/API/xran__timer_8h_a2c22baf2fd259384ee376d438bb461c1_icgraph.map new file mode 100644 index 0000000..7dd7c0f --- /dev/null +++ b/docs/API/xran__timer_8h_a2c22baf2fd259384ee376d438bb461c1_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/xran__timer_8h_a2c22baf2fd259384ee376d438bb461c1_icgraph.md5 b/docs/API/xran__timer_8h_a2c22baf2fd259384ee376d438bb461c1_icgraph.md5 new file mode 100644 index 0000000..ceb554f --- /dev/null +++ b/docs/API/xran__timer_8h_a2c22baf2fd259384ee376d438bb461c1_icgraph.md5 @@ -0,0 +1 @@ +a97de7ea879b4020bca17a10d38efa5b \ No newline at end of file diff --git a/docs/API/xran__timer_8h_a2c22baf2fd259384ee376d438bb461c1_icgraph.png b/docs/API/xran__timer_8h_a2c22baf2fd259384ee376d438bb461c1_icgraph.png new file mode 100644 index 0000000..8e8ded8 Binary files /dev/null and b/docs/API/xran__timer_8h_a2c22baf2fd259384ee376d438bb461c1_icgraph.png differ diff --git a/docs/API/xran__timer_8h_a52ade7f1436323f071cf7151f7bdb097_cgraph.map b/docs/API/xran__timer_8h_a52ade7f1436323f071cf7151f7bdb097_cgraph.map new file mode 100644 index 0000000..bc9b6bf --- /dev/null +++ b/docs/API/xran__timer_8h_a52ade7f1436323f071cf7151f7bdb097_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/xran__timer_8h_a52ade7f1436323f071cf7151f7bdb097_cgraph.md5 b/docs/API/xran__timer_8h_a52ade7f1436323f071cf7151f7bdb097_cgraph.md5 new file mode 100644 index 0000000..e15b643 --- /dev/null +++ b/docs/API/xran__timer_8h_a52ade7f1436323f071cf7151f7bdb097_cgraph.md5 @@ -0,0 +1 @@ +4aafa917127e548e55969eda9d9cd163 \ No newline at end of file diff --git a/docs/API/xran__timer_8h_a52ade7f1436323f071cf7151f7bdb097_cgraph.png b/docs/API/xran__timer_8h_a52ade7f1436323f071cf7151f7bdb097_cgraph.png new file mode 100644 index 0000000..1ddcd67 Binary files /dev/null and b/docs/API/xran__timer_8h_a52ade7f1436323f071cf7151f7bdb097_cgraph.png differ diff --git a/docs/API/xran__timer_8h_a6c1790e87767257159038d0d98a393e6_icgraph.map b/docs/API/xran__timer_8h_a6c1790e87767257159038d0d98a393e6_icgraph.map new file mode 100644 index 0000000..b61ccad --- /dev/null +++ b/docs/API/xran__timer_8h_a6c1790e87767257159038d0d98a393e6_icgraph.map @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/API/xran__timer_8h_a6c1790e87767257159038d0d98a393e6_icgraph.md5 b/docs/API/xran__timer_8h_a6c1790e87767257159038d0d98a393e6_icgraph.md5 new file mode 100644 index 0000000..1377610 --- /dev/null +++ b/docs/API/xran__timer_8h_a6c1790e87767257159038d0d98a393e6_icgraph.md5 @@ -0,0 +1 @@ +4d87d578f462f4b12bc2712d0a8cd191 \ No newline at end of file diff --git a/docs/API/xran__timer_8h_a6c1790e87767257159038d0d98a393e6_icgraph.png b/docs/API/xran__timer_8h_a6c1790e87767257159038d0d98a393e6_icgraph.png new file mode 100644 index 0000000..b7c9c86 Binary files /dev/null and b/docs/API/xran__timer_8h_a6c1790e87767257159038d0d98a393e6_icgraph.png differ diff --git a/docs/API/xran__timer_8h_abee5de4c0d88f6c17ce6b3962d097f07_icgraph.map b/docs/API/xran__timer_8h_abee5de4c0d88f6c17ce6b3962d097f07_icgraph.map new file mode 100644 index 0000000..7f4beed --- /dev/null +++ b/docs/API/xran__timer_8h_abee5de4c0d88f6c17ce6b3962d097f07_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/xran__timer_8h_abee5de4c0d88f6c17ce6b3962d097f07_icgraph.md5 b/docs/API/xran__timer_8h_abee5de4c0d88f6c17ce6b3962d097f07_icgraph.md5 new file mode 100644 index 0000000..b153363 --- /dev/null +++ b/docs/API/xran__timer_8h_abee5de4c0d88f6c17ce6b3962d097f07_icgraph.md5 @@ -0,0 +1 @@ +512260e17b1e479288f80c18a7fb4aa7 \ No newline at end of file diff --git a/docs/API/xran__timer_8h_abee5de4c0d88f6c17ce6b3962d097f07_icgraph.png b/docs/API/xran__timer_8h_abee5de4c0d88f6c17ce6b3962d097f07_icgraph.png new file mode 100644 index 0000000..29cd81c Binary files /dev/null and b/docs/API/xran__timer_8h_abee5de4c0d88f6c17ce6b3962d097f07_icgraph.png differ diff --git a/docs/API/xran__timer_8h_source.html b/docs/API/xran__timer_8h_source.html new file mode 100644 index 0000000..93e5d73 --- /dev/null +++ b/docs/API/xran__timer_8h_source.html @@ -0,0 +1,86 @@ + + + + + + + +o-du/phy: xran_timer.h Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    xran_timer.h
    +
    +
    +Go to the documentation of this file.
    1 /******************************************************************************
    2 *
    3 * Copyright (c) 2019 Intel.
    4 *
    5 * Licensed under the Apache License, Version 2.0 (the "License");
    6 * you may not use this file except in compliance with the License.
    7 * You may obtain a copy of the License at
    8 *
    9 * http://www.apache.org/licenses/LICENSE-2.0
    10 *
    11 * Unless required by applicable law or agreed to in writing, software
    12 * distributed under the License is distributed on an "AS IS" BASIS,
    13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    14 * See the License for the specific language governing permissions and
    15 * limitations under the License.
    16 *
    17 *******************************************************************************/
    18 
    28 #ifndef _XRAN_TIMER_H
    29 #define _XRAN_TIMER_H
    30 
    31 #ifdef __cplusplus
    32 extern "C" {
    33 #endif
    34 
    35 #include <time.h>
    36 #include <stdio.h>
    37 #include <stdlib.h>
    38 #include <stdint.h>
    39 
    40 #define MSEC_PER_SEC 1000L
    41 
    42 #define XranIncrementSymIdx(sym_idx, numSymPerMs) (((uint32_t)sym_idx >= (((uint32_t)numSymPerMs * MSEC_PER_SEC) - 1)) ? 0 : (uint32_t)sym_idx+1)
    43 #define XranDecrementSymIdx(sym_idx, numSymPerMs) (((uint32_t)sym_idx == 0) ? (((uint32_t)numSymPerMs * MSEC_PER_SEC)) - 1) : (uint32_t)sym_idx-1)
    44 
    45 uint64_t xran_tick(void);
    46 unsigned long get_ticks_diff(unsigned long curr_tick, unsigned long last_tick);
    47 long poll_next_tick(long interval_ns, unsigned long *used_tick);
    48 long sleep_next_tick(long interval);
    49 int timing_set_debug_stop(int value, int count);
    50 int timing_get_debug_stop(void);
    51 inline uint64_t timing_get_current_second(void);
    52 int timing_set_numerology(uint8_t value);
    53 
    54 #ifdef __cplusplus
    55 }
    56 #endif
    57 
    58 #endif
    int timing_set_numerology(uint8_t value)
    Definition: xran_timer.c:93
    +
    int timing_get_debug_stop(void)
    Definition: xran_timer.c:111
    +
    uint64_t xran_tick(void)
    Definition: xran_timer.c:131
    +
    unsigned long get_ticks_diff(unsigned long curr_tick, unsigned long last_tick)
    Definition: xran_timer.c:138
    +
    long poll_next_tick(long interval_ns, unsigned long *used_tick)
    Definition: xran_timer.c:146
    +
    int timing_set_debug_stop(int value, int count)
    Definition: xran_timer.c:99
    +
    uint64_t timing_get_current_second(void)
    Definition: xran_timer.c:88
    +
    long sleep_next_tick(long interval)
    Definition: xran_timer.c:246
    +
    + + + + diff --git a/docs/API/xran__transport_8c.html b/docs/API/xran__transport_8c.html new file mode 100644 index 0000000..96322e4 --- /dev/null +++ b/docs/API/xran__transport_8c.html @@ -0,0 +1,533 @@ + + + + + + + +o-du/phy: xran_transport.c File Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    xran_transport.c File Reference
    +
    +
    + +

    This file provides the implementation for Transport lyaer (eCPRI) API. +More...

    +
    #include <stdint.h>
    +#include <endian.h>
    +#include <rte_common.h>
    +#include <rte_config.h>
    +#include "xran_fh_o_du.h"
    +#include "xran_common.h"
    +#include "xran_transport.h"
    +#include "xran_pkt_cp.h"
    +#include "xran_cp_api.h"
    +#include "xran_up_api.h"
    +#include "xran_printf.h"
    +
    +Include dependency graph for xran_transport.c:
    +
    +
    + + + + + + + + + + + +
    +
    +

    Go to the source code of this file.

    + + + + + + + + + + + + + + + + + + + + +

    +Functions

    int xran_get_ecpri_hdr_size (void)
     return eCPRI header size without eCPRI common header More...
     
    uint16_t xran_compose_cid (uint8_t CU_Port_ID, uint8_t BandSector_ID, uint8_t CC_ID, uint8_t Ant_ID)
     Compose ecpriRtcid/ecpriPcid. More...
     
    void xran_decompose_cid (uint16_t cid, struct xran_eaxc_info *result)
     Decompose ecpriRtcid/ecpriPcid. More...
     
    void xran_update_ecpri_payload_size (struct rte_mbuf *mbuf, int size)
     modify the payload size of eCPRI header in xRAN packet More...
     
    int xran_build_ecpri_hdr (struct rte_mbuf *mbuf, uint8_t CC_ID, uint8_t Ant_ID, uint8_t seq_id, struct xran_ecpri_hdr **ecpri_hdr)
     Build ECPRI header and returns added length. More...
     
    int xran_parse_ecpri_hdr (struct rte_mbuf *mbuf, struct xran_ecpri_hdr **ecpri_hdr, struct xran_recv_packet_info *pkt_info)
     Parse ECPRI header. More...
     
    +

    Detailed Description

    +

    This file provides the implementation for Transport lyaer (eCPRI) API.

    +
    Author
    Intel Corporation
    + +

    Definition in file xran_transport.c.

    +

    Function Documentation

    + +

    ◆ xran_build_ecpri_hdr()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    int xran_build_ecpri_hdr (struct rte_mbuf * mbuf,
    uint8_t CC_ID,
    uint8_t Ant_ID,
    uint8_t seq_id,
    struct xran_ecpri_hdr ** ecpri_hdr 
    )
    +
    + +

    Build ECPRI header and returns added length.

    +
    Parameters
    + + + + + + +
    mbufThe pointer of the packet buffer to be parsed
    CC_IDComponent Carrier ID for this C-Plane message
    Ant_IDAntenna ID(RU Port ID) for this C-Plane message
    seq_idSequence ID for this C-Plane message
    ecpri_hdrThe pointer to ECPRI header
    +
    +
    +
    Returns
    added payload size on success XRAN_STATUS_RESOURCE if failed to allocate the space to packet buffer
    + +

    Definition at line 142 of file xran_transport.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + + + + +
    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + + + + + + +
    + +
    +
    + +

    ◆ xran_compose_cid()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    uint16_t xran_compose_cid (uint8_t CU_Port_ID,
    uint8_t BandSector_ID,
    uint8_t CC_ID,
    uint8_t Ant_ID 
    )
    +
    + +

    Compose ecpriRtcid/ecpriPcid.

    +
    Parameters
    + + + + + +
    CU_Port_IDCU Port ID
    BanbSector_IDBand Sector ID
    CC_IDComponent Carrier ID
    Ant_IDRU Port ID (antenna ID)
    +
    +
    +
    Returns
    uint16_t composed ecpriRtcid/ecpriPcid (network byte order)
    + +

    Definition at line 65 of file xran_transport.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + + +
    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + + + + + + + +
    + +
    +
    + +

    ◆ xran_decompose_cid()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void xran_decompose_cid (uint16_t cid,
    struct xran_eaxc_inforesult 
    )
    +
    + +

    Decompose ecpriRtcid/ecpriPcid.

    +
    Parameters
    + + + +
    cidcomposed ecpriRtcid/ecpriPcid (network byte order)
    resultthe pointer of the structure to store decomposed values
    +
    +
    +
    Returns
    none
    + +

    Definition at line 89 of file xran_transport.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + + +
    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + + + + + + + + + +
    + +
    +
    + +

    ◆ xran_get_ecpri_hdr_size()

    + +
    +
    + + + + + + + + +
    int xran_get_ecpri_hdr_size (void )
    +
    + +

    return eCPRI header size without eCPRI common header

    +
    Returns
    the size of eCPRI header without common header
    + +

    Definition at line 49 of file xran_transport.c.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + + + + + + + +
    + +
    +
    + +

    ◆ xran_parse_ecpri_hdr()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    int xran_parse_ecpri_hdr (struct rte_mbuf * mbuf,
    struct xran_ecpri_hdr ** ecpri_hdr,
    struct xran_recv_packet_infopkt_info 
    )
    +
    + +

    Parse ECPRI header.

    +
    Parameters
    + + + + +
    mbufThe pointer of the packet buffer to be parsed
    ecpri_hdrThe pointer to ECPRI header
    pkt_infoThe pointer of sturcture to store the information from header
    +
    +
    +
    Returns
    XRAN_STATUS_SUCCESS on success XRAN_STATUS_INVALID_PACKET if failed to parse the packet
    + +

    Definition at line 192 of file xran_transport.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + + + +
    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + + +
    + +
    +
    + +

    ◆ xran_update_ecpri_payload_size()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    void xran_update_ecpri_payload_size (struct rte_mbuf * mbuf,
    int size 
    )
    +
    +inline
    +
    + +

    modify the payload size of eCPRI header in xRAN packet

    +
    Parameters
    + + + +
    mbufInitialized rte_mbuf packet which has eCPRI header already
    sizepayload size to be updated
    +
    +
    +
    Returns
    none
    + +

    Definition at line 113 of file xran_transport.c.

    + +
    +
    +
    + + + + diff --git a/docs/API/xran__transport_8c__incl.map b/docs/API/xran__transport_8c__incl.map new file mode 100644 index 0000000..8bd2c2c --- /dev/null +++ b/docs/API/xran__transport_8c__incl.map @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/docs/API/xran__transport_8c__incl.md5 b/docs/API/xran__transport_8c__incl.md5 new file mode 100644 index 0000000..e11d2c7 --- /dev/null +++ b/docs/API/xran__transport_8c__incl.md5 @@ -0,0 +1 @@ +25efc8122485188168f185afbd23ae47 \ No newline at end of file diff --git a/docs/API/xran__transport_8c__incl.png b/docs/API/xran__transport_8c__incl.png new file mode 100644 index 0000000..aafaae9 Binary files /dev/null and b/docs/API/xran__transport_8c__incl.png differ diff --git a/docs/API/xran__transport_8c_a0f378609208ec66467c58f0702ced85c_icgraph.map b/docs/API/xran__transport_8c_a0f378609208ec66467c58f0702ced85c_icgraph.map new file mode 100644 index 0000000..b4f9469 --- /dev/null +++ b/docs/API/xran__transport_8c_a0f378609208ec66467c58f0702ced85c_icgraph.map @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/docs/API/xran__transport_8c_a0f378609208ec66467c58f0702ced85c_icgraph.md5 b/docs/API/xran__transport_8c_a0f378609208ec66467c58f0702ced85c_icgraph.md5 new file mode 100644 index 0000000..4099876 --- /dev/null +++ b/docs/API/xran__transport_8c_a0f378609208ec66467c58f0702ced85c_icgraph.md5 @@ -0,0 +1 @@ +4432bda3f89875e30833ead9473a46b8 \ No newline at end of file diff --git a/docs/API/xran__transport_8c_a0f378609208ec66467c58f0702ced85c_icgraph.png b/docs/API/xran__transport_8c_a0f378609208ec66467c58f0702ced85c_icgraph.png new file mode 100644 index 0000000..08656da Binary files /dev/null and b/docs/API/xran__transport_8c_a0f378609208ec66467c58f0702ced85c_icgraph.png differ diff --git a/docs/API/xran__transport_8c_aa21387dfaba47c2046d4a05f50cfc768_cgraph.map b/docs/API/xran__transport_8c_aa21387dfaba47c2046d4a05f50cfc768_cgraph.map new file mode 100644 index 0000000..923f047 --- /dev/null +++ b/docs/API/xran__transport_8c_aa21387dfaba47c2046d4a05f50cfc768_cgraph.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/API/xran__transport_8c_aa21387dfaba47c2046d4a05f50cfc768_cgraph.md5 b/docs/API/xran__transport_8c_aa21387dfaba47c2046d4a05f50cfc768_cgraph.md5 new file mode 100644 index 0000000..aa95c9a --- /dev/null +++ b/docs/API/xran__transport_8c_aa21387dfaba47c2046d4a05f50cfc768_cgraph.md5 @@ -0,0 +1 @@ +2552cd75d71d5a93878c09b3b61e52e0 \ No newline at end of file diff --git a/docs/API/xran__transport_8c_aa21387dfaba47c2046d4a05f50cfc768_cgraph.png b/docs/API/xran__transport_8c_aa21387dfaba47c2046d4a05f50cfc768_cgraph.png new file mode 100644 index 0000000..f73fdb2 Binary files /dev/null and b/docs/API/xran__transport_8c_aa21387dfaba47c2046d4a05f50cfc768_cgraph.png differ diff --git a/docs/API/xran__transport_8c_aa21387dfaba47c2046d4a05f50cfc768_icgraph.map b/docs/API/xran__transport_8c_aa21387dfaba47c2046d4a05f50cfc768_icgraph.map new file mode 100644 index 0000000..46b140f --- /dev/null +++ b/docs/API/xran__transport_8c_aa21387dfaba47c2046d4a05f50cfc768_icgraph.map @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/docs/API/xran__transport_8c_aa21387dfaba47c2046d4a05f50cfc768_icgraph.md5 b/docs/API/xran__transport_8c_aa21387dfaba47c2046d4a05f50cfc768_icgraph.md5 new file mode 100644 index 0000000..af3de00 --- /dev/null +++ b/docs/API/xran__transport_8c_aa21387dfaba47c2046d4a05f50cfc768_icgraph.md5 @@ -0,0 +1 @@ +3252a0799dad01ede2fee22639beb907 \ No newline at end of file diff --git a/docs/API/xran__transport_8c_aa21387dfaba47c2046d4a05f50cfc768_icgraph.png b/docs/API/xran__transport_8c_aa21387dfaba47c2046d4a05f50cfc768_icgraph.png new file mode 100644 index 0000000..02253c6 Binary files /dev/null and b/docs/API/xran__transport_8c_aa21387dfaba47c2046d4a05f50cfc768_icgraph.png differ diff --git a/docs/API/xran__transport_8c_ab08a85b6527f45a9ba22d25061a96a3c_cgraph.map b/docs/API/xran__transport_8c_ab08a85b6527f45a9ba22d25061a96a3c_cgraph.map new file mode 100644 index 0000000..3bacad5 --- /dev/null +++ b/docs/API/xran__transport_8c_ab08a85b6527f45a9ba22d25061a96a3c_cgraph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/xran__transport_8c_ab08a85b6527f45a9ba22d25061a96a3c_cgraph.md5 b/docs/API/xran__transport_8c_ab08a85b6527f45a9ba22d25061a96a3c_cgraph.md5 new file mode 100644 index 0000000..6ccb3fb --- /dev/null +++ b/docs/API/xran__transport_8c_ab08a85b6527f45a9ba22d25061a96a3c_cgraph.md5 @@ -0,0 +1 @@ +6f841e31c593638794f1c63b1f7e3808 \ No newline at end of file diff --git a/docs/API/xran__transport_8c_ab08a85b6527f45a9ba22d25061a96a3c_cgraph.png b/docs/API/xran__transport_8c_ab08a85b6527f45a9ba22d25061a96a3c_cgraph.png new file mode 100644 index 0000000..9e8c013 Binary files /dev/null and b/docs/API/xran__transport_8c_ab08a85b6527f45a9ba22d25061a96a3c_cgraph.png differ diff --git a/docs/API/xran__transport_8c_ab08a85b6527f45a9ba22d25061a96a3c_icgraph.map b/docs/API/xran__transport_8c_ab08a85b6527f45a9ba22d25061a96a3c_icgraph.map new file mode 100644 index 0000000..632ccf5 --- /dev/null +++ b/docs/API/xran__transport_8c_ab08a85b6527f45a9ba22d25061a96a3c_icgraph.map @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/docs/API/xran__transport_8c_ab08a85b6527f45a9ba22d25061a96a3c_icgraph.md5 b/docs/API/xran__transport_8c_ab08a85b6527f45a9ba22d25061a96a3c_icgraph.md5 new file mode 100644 index 0000000..da3b2db --- /dev/null +++ b/docs/API/xran__transport_8c_ab08a85b6527f45a9ba22d25061a96a3c_icgraph.md5 @@ -0,0 +1 @@ +a0b1e1fc5692572e4b9b2bbc0fe3417e \ No newline at end of file diff --git a/docs/API/xran__transport_8c_ab08a85b6527f45a9ba22d25061a96a3c_icgraph.png b/docs/API/xran__transport_8c_ab08a85b6527f45a9ba22d25061a96a3c_icgraph.png new file mode 100644 index 0000000..b815c48 Binary files /dev/null and b/docs/API/xran__transport_8c_ab08a85b6527f45a9ba22d25061a96a3c_icgraph.png differ diff --git a/docs/API/xran__transport_8c_ad199c3f4bfa018f5d0846471206217d1_cgraph.map b/docs/API/xran__transport_8c_ad199c3f4bfa018f5d0846471206217d1_cgraph.map new file mode 100644 index 0000000..7a78885 --- /dev/null +++ b/docs/API/xran__transport_8c_ad199c3f4bfa018f5d0846471206217d1_cgraph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/API/xran__transport_8c_ad199c3f4bfa018f5d0846471206217d1_cgraph.md5 b/docs/API/xran__transport_8c_ad199c3f4bfa018f5d0846471206217d1_cgraph.md5 new file mode 100644 index 0000000..36a6d68 --- /dev/null +++ b/docs/API/xran__transport_8c_ad199c3f4bfa018f5d0846471206217d1_cgraph.md5 @@ -0,0 +1 @@ +c5c338843718a1be709a17b4f4268262 \ No newline at end of file diff --git a/docs/API/xran__transport_8c_ad199c3f4bfa018f5d0846471206217d1_cgraph.png b/docs/API/xran__transport_8c_ad199c3f4bfa018f5d0846471206217d1_cgraph.png new file mode 100644 index 0000000..1a1c3a3 Binary files /dev/null and b/docs/API/xran__transport_8c_ad199c3f4bfa018f5d0846471206217d1_cgraph.png differ diff --git a/docs/API/xran__transport_8c_ad199c3f4bfa018f5d0846471206217d1_icgraph.map b/docs/API/xran__transport_8c_ad199c3f4bfa018f5d0846471206217d1_icgraph.map new file mode 100644 index 0000000..5796491 --- /dev/null +++ b/docs/API/xran__transport_8c_ad199c3f4bfa018f5d0846471206217d1_icgraph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/API/xran__transport_8c_ad199c3f4bfa018f5d0846471206217d1_icgraph.md5 b/docs/API/xran__transport_8c_ad199c3f4bfa018f5d0846471206217d1_icgraph.md5 new file mode 100644 index 0000000..b7398c2 --- /dev/null +++ b/docs/API/xran__transport_8c_ad199c3f4bfa018f5d0846471206217d1_icgraph.md5 @@ -0,0 +1 @@ +89ba921bcfa598b3538ec918e2b87aa6 \ No newline at end of file diff --git a/docs/API/xran__transport_8c_ad199c3f4bfa018f5d0846471206217d1_icgraph.png b/docs/API/xran__transport_8c_ad199c3f4bfa018f5d0846471206217d1_icgraph.png new file mode 100644 index 0000000..b65b516 Binary files /dev/null and b/docs/API/xran__transport_8c_ad199c3f4bfa018f5d0846471206217d1_icgraph.png differ diff --git a/docs/API/xran__transport_8c_ae834080139ba785f1a3ac5781bf2ec88_cgraph.map b/docs/API/xran__transport_8c_ae834080139ba785f1a3ac5781bf2ec88_cgraph.map new file mode 100644 index 0000000..ccbd1f2 --- /dev/null +++ b/docs/API/xran__transport_8c_ae834080139ba785f1a3ac5781bf2ec88_cgraph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/xran__transport_8c_ae834080139ba785f1a3ac5781bf2ec88_cgraph.md5 b/docs/API/xran__transport_8c_ae834080139ba785f1a3ac5781bf2ec88_cgraph.md5 new file mode 100644 index 0000000..213618e --- /dev/null +++ b/docs/API/xran__transport_8c_ae834080139ba785f1a3ac5781bf2ec88_cgraph.md5 @@ -0,0 +1 @@ +9e6e953b85f94dd42732dd9e0bae450b \ No newline at end of file diff --git a/docs/API/xran__transport_8c_ae834080139ba785f1a3ac5781bf2ec88_cgraph.png b/docs/API/xran__transport_8c_ae834080139ba785f1a3ac5781bf2ec88_cgraph.png new file mode 100644 index 0000000..78d7410 Binary files /dev/null and b/docs/API/xran__transport_8c_ae834080139ba785f1a3ac5781bf2ec88_cgraph.png differ diff --git a/docs/API/xran__transport_8c_ae834080139ba785f1a3ac5781bf2ec88_icgraph.map b/docs/API/xran__transport_8c_ae834080139ba785f1a3ac5781bf2ec88_icgraph.map new file mode 100644 index 0000000..bd43373 --- /dev/null +++ b/docs/API/xran__transport_8c_ae834080139ba785f1a3ac5781bf2ec88_icgraph.map @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/docs/API/xran__transport_8c_ae834080139ba785f1a3ac5781bf2ec88_icgraph.md5 b/docs/API/xran__transport_8c_ae834080139ba785f1a3ac5781bf2ec88_icgraph.md5 new file mode 100644 index 0000000..1353a2f --- /dev/null +++ b/docs/API/xran__transport_8c_ae834080139ba785f1a3ac5781bf2ec88_icgraph.md5 @@ -0,0 +1 @@ +b78d5a130009abd4f7224324f34991d5 \ No newline at end of file diff --git a/docs/API/xran__transport_8c_ae834080139ba785f1a3ac5781bf2ec88_icgraph.png b/docs/API/xran__transport_8c_ae834080139ba785f1a3ac5781bf2ec88_icgraph.png new file mode 100644 index 0000000..c39de19 Binary files /dev/null and b/docs/API/xran__transport_8c_ae834080139ba785f1a3ac5781bf2ec88_icgraph.png differ diff --git a/docs/API/xran__transport_8c_source.html b/docs/API/xran__transport_8c_source.html new file mode 100644 index 0000000..3a341bf --- /dev/null +++ b/docs/API/xran__transport_8c_source.html @@ -0,0 +1,134 @@ + + + + + + + +o-du/phy: xran_transport.c Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    xran_transport.c
    +
    +
    +Go to the documentation of this file.
    1 /******************************************************************************
    2 *
    3 * Copyright (c) 2019 Intel.
    4 *
    5 * Licensed under the Apache License, Version 2.0 (the "License");
    6 * you may not use this file except in compliance with the License.
    7 * You may obtain a copy of the License at
    8 *
    9 * http://www.apache.org/licenses/LICENSE-2.0
    10 *
    11 * Unless required by applicable law or agreed to in writing, software
    12 * distributed under the License is distributed on an "AS IS" BASIS,
    13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    14 * See the License for the specific language governing permissions and
    15 * limitations under the License.
    16 *
    17 *******************************************************************************/
    18 
    28 #include <stdint.h>
    29 #include <endian.h>
    30 #include <rte_common.h>
    31 #include <rte_config.h>
    32 
    33 #include "xran_fh_o_du.h"
    34 #include "xran_common.h"
    35 #include "xran_transport.h"
    36 #include "xran_pkt_cp.h"
    37 #include "xran_cp_api.h"
    38 #include "xran_up_api.h"
    39 #include "xran_printf.h"
    40 
    41 
    50 {
    51  return(sizeof(struct xran_ecpri_hdr) - sizeof(struct xran_ecpri_cmn_hdr));
    52 }
    53 
    65 uint16_t xran_compose_cid(uint8_t CU_Port_ID, uint8_t BandSector_ID, uint8_t CC_ID, uint8_t Ant_ID)
    66 {
    67  uint16_t cid;
    68  struct xran_eaxcid_config *conf;
    69 
    70  conf = xran_get_conf_eAxC(NULL);
    71 
    72  cid = ((CU_Port_ID << conf->bit_cuPortId) & conf->mask_cuPortId)
    73  | ((BandSector_ID << conf->bit_bandSectorId) & conf->mask_bandSectorId)
    74  | ((CC_ID << conf->bit_ccId) & conf->mask_ccId)
    75  | ((Ant_ID << conf->bit_ruPortId) & conf->mask_ruPortId);
    76 
    77  return (rte_cpu_to_be_16(cid));
    78 }
    79 
    89 void xran_decompose_cid(uint16_t cid, struct xran_eaxc_info *result)
    90 {
    91  struct xran_eaxcid_config *conf;
    92 
    93  conf = xran_get_conf_eAxC(NULL);
    94  cid = rte_be_to_cpu_16(cid);
    95 
    96  result->cuPortId = (cid&conf->mask_cuPortId) >> conf->bit_cuPortId;
    97  result->bandSectorId = (cid&conf->mask_bandSectorId) >> conf->bit_bandSectorId;
    98  result->ccId = (cid&conf->mask_ccId) >> conf->bit_ccId;
    99  result->ruPortId = (cid&conf->mask_ruPortId) >> conf->bit_ruPortId;
    100 
    101  return;
    102 }
    103 
    113 inline void xran_update_ecpri_payload_size(struct rte_mbuf *mbuf, int size)
    114 {
    115  struct xran_ecpri_hdr *ecpri_hdr;
    116 
    117  ecpri_hdr = rte_pktmbuf_mtod(mbuf, struct xran_ecpri_hdr *);
    118 
    119  ecpri_hdr->cmnhdr.ecpri_payl_size = rte_cpu_to_be_16(size);
    120 }
    121 
    122 
    142 int xran_build_ecpri_hdr(struct rte_mbuf *mbuf,
    143  uint8_t CC_ID, uint8_t Ant_ID,
    144  uint8_t seq_id,
    145  struct xran_ecpri_hdr **ecpri_hdr)
    146 {
    147  uint32_t payloadlen;
    148  struct xran_ecpri_hdr *tmp;
    149 
    150 
    151  tmp = (struct xran_ecpri_hdr *)rte_pktmbuf_append(mbuf, sizeof(struct xran_ecpri_hdr));
    152  if(unlikely(tmp == NULL)) {
    153  print_err("Fail to allocate the space for eCPRI hedaer!");
    154  return (XRAN_STATUS_RESOURCE);
    155  }
    156 
    157  /* Fill common header */
    159  tmp->cmnhdr.ecpri_resv = 0; // should be zero
    160  tmp->cmnhdr.ecpri_concat = 0;
    162  tmp->ecpri_xtc_id = xran_compose_cid(0, 0, CC_ID, Ant_ID);
    163 
    164  /* TODO: Transport layer fragmentation is not supported */
    165  tmp->ecpri_seq_id.seq_id = seq_id;
    166  tmp->ecpri_seq_id.sub_seq_id = 0;
    167  tmp->ecpri_seq_id.e_bit = 1;
    168 
    169  /* Starts with eCPRI header size */
    170  payloadlen = xran_get_ecpri_hdr_size();
    171 
    172  *ecpri_hdr = tmp;
    173 
    174  return (payloadlen);
    175 }
    176 
    192 int xran_parse_ecpri_hdr(struct rte_mbuf *mbuf,
    193  struct xran_ecpri_hdr **ecpri_hdr,
    194  struct xran_recv_packet_info *pkt_info)
    195 {
    196  int ret;
    197 
    198 
    199  *ecpri_hdr = rte_pktmbuf_mtod(mbuf, void *);
    200  if(*ecpri_hdr == NULL) {
    201  print_err("Invalid packet - eCPRI hedaer!");
    203  }
    204 
    205  /* Process eCPRI header */
    206  ret = XRAN_STATUS_SUCCESS;
    207  if((*ecpri_hdr)->cmnhdr.ecpri_ver != XRAN_ECPRI_VER) {
    208  print_err("Invalid eCPRI version - %d", (*ecpri_hdr)->cmnhdr.ecpri_ver);
    210  }
    211  if((*ecpri_hdr)->cmnhdr.ecpri_resv != 0) {
    212  print_err("Invalid reserved field - %d", (*ecpri_hdr)->cmnhdr.ecpri_resv);
    214  }
    215 
    216  if(pkt_info != NULL) {
    217  /* store the information from header */
    218  pkt_info->ecpri_version = (*ecpri_hdr)->cmnhdr.ecpri_ver;
    219  pkt_info->msg_type = (enum ecpri_msg_type)(*ecpri_hdr)->cmnhdr.ecpri_mesg_type;
    220  pkt_info->payload_len = rte_be_to_cpu_16((*ecpri_hdr)->cmnhdr.ecpri_payl_size);
    221 
    222  pkt_info->seq_id = (*ecpri_hdr)->ecpri_seq_id.seq_id;
    223  pkt_info->subseq_id = (*ecpri_hdr)->ecpri_seq_id.sub_seq_id;
    224  pkt_info->ebit = (*ecpri_hdr)->ecpri_seq_id.e_bit;
    225  xran_decompose_cid((*ecpri_hdr)->ecpri_xtc_id, &(pkt_info->eaxc));
    226  }
    227 
    228  return (ret);
    229 }
    230 
    uint8_t ecpri_concat
    Definition: xran_pkt.h:115
    +
    This file provides the definition of Control Plane Messages for XRAN Front Haul layer as defined in X...
    +
    enum ecpri_msg_type msg_type
    +
    #define XRAN_STATUS_SUCCESS
    Definition: xran_fh_o_du.h:54
    +
    #define XRAN_ECPRI_VER
    Definition: xran_pkt.h:61
    +
    int xran_build_ecpri_hdr(struct rte_mbuf *mbuf, uint8_t CC_ID, uint8_t Ant_ID, uint8_t seq_id, struct xran_ecpri_hdr **ecpri_hdr)
    Build ECPRI header and returns added length.
    +
    uint16_t mask_bandSectorId
    Definition: xran_fh_o_du.h:310
    + +
    uint8_t seq_id
    Definition: xran_pkt.h:99
    +
    uint8_t bandSectorId
    + + + +
    uint16_t xran_compose_cid(uint8_t CU_Port_ID, uint8_t BandSector_ID, uint8_t CC_ID, uint8_t Ant_ID)
    Compose ecpriRtcid/ecpriPcid.
    +
    void xran_decompose_cid(uint16_t cid, struct xran_eaxc_info *result)
    Decompose ecpriRtcid/ecpriPcid.
    +
    struct xran_eaxcid_config * xran_get_conf_eAxC(void *pHandle)
    Get the configuration of eAxC ID.
    Definition: xran_main.c:2955
    + + + +
    int xran_parse_ecpri_hdr(struct rte_mbuf *mbuf, struct xran_ecpri_hdr **ecpri_hdr, struct xran_recv_packet_info *pkt_info)
    Parse ECPRI header.
    +
    uint8_t ecpri_ver
    Definition: xran_pkt.h:117
    + + +
    uint8_t bit_bandSectorId
    Definition: xran_fh_o_du.h:315
    + + +
    #define print_err(fmt, args...)
    Definition: xran_printf.h:62
    +
    uint8_t ecpri_resv
    Definition: xran_pkt.h:116
    +
    void xran_update_ecpri_payload_size(struct rte_mbuf *mbuf, int size)
    modify the payload size of eCPRI header in xRAN packet
    + + + +
    uint8_t e_bit
    Definition: xran_pkt.h:101
    +
    uint8_t sub_seq_id
    Definition: xran_pkt.h:100
    +
    Modules provide debug prints and utility functions.
    +
    struct xran_ecpri_cmn_hdr cmnhdr
    Definition: xran_pkt.h:132
    +
    This file provides the definitions for User Plane Messages APIs.
    +
    XRAN layer common functionality for both lls-CU and RU as well as C-plane and U-plane.
    + +
    rte_be16_t ecpri_xtc_id
    Definition: xran_pkt.h:133
    +
    This file provides public interface to xRAN Front Haul layer implementation as defined in the ORAN-WG...
    + +
    uint16_t mask_cuPortId
    Definition: xran_fh_o_du.h:309
    +
    struct ecpri_seq_id ecpri_seq_id
    Definition: xran_pkt.h:134
    +
    ecpri_msg_type
    Definition: xran_pkt.h:75
    + +
    uint8_t ecpri_mesg_type
    Definition: xran_pkt.h:118
    +
    uint16_t mask_ruPortId
    Definition: xran_fh_o_du.h:312
    +
    int xran_get_ecpri_hdr_size(void)
    return eCPRI header size without eCPRI common header
    +
    #define XRAN_STATUS_RESOURCE
    Definition: xran_fh_o_du.h:68
    +
    This file provides the definitions for Control Plane Messages APIs.
    +
    #define XRAN_STATUS_INVALID_PACKET
    Definition: xran_fh_o_du.h:92
    + +
    uint16_t ecpri_payl_size
    Definition: xran_pkt.h:119
    +
    struct xran_eaxc_info eaxc
    +
    This file provides the definitions for Transport layer (eCPRI) API.
    +
    + + + + diff --git a/docs/API/xran__transport_8h.html b/docs/API/xran__transport_8h.html new file mode 100644 index 0000000..b802f80 --- /dev/null +++ b/docs/API/xran__transport_8h.html @@ -0,0 +1,554 @@ + + + + + + + +o-du/phy: xran_transport.h File Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    xran_transport.h File Reference
    +
    +
    + +

    This file provides the definitions for Transport layer (eCPRI) API. +More...

    +
    #include <rte_common.h>
    +#include <rte_mbuf.h>
    +#include "xran_pkt.h"
    +
    +Include dependency graph for xran_transport.h:
    +
    +
    + + + +
    +
    +This graph shows which files directly or indirectly include this file:
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +

    Go to the source code of this file.

    + + + + + + +

    +Data Structures

    struct  xran_eaxc_info
     
    struct  xran_recv_packet_info
     
    + + + + + + + + + + + + + + + + + + + +

    +Functions

    int xran_get_ecpri_hdr_size (void)
     return eCPRI header size without eCPRI common header More...
     
    void xran_update_ecpri_payload_size (struct rte_mbuf *mbuf, int size)
     modify the payload size of eCPRI header in xRAN packet More...
     
    uint16_t xran_compose_cid (uint8_t CU_Port_ID, uint8_t BandSector_ID, uint8_t CC_ID, uint8_t Ant_ID)
     Compose ecpriRtcid/ecpriPcid. More...
     
    void xran_decompose_cid (uint16_t cid, struct xran_eaxc_info *result)
     Decompose ecpriRtcid/ecpriPcid. More...
     
    int xran_build_ecpri_hdr (struct rte_mbuf *mbuf, uint8_t CC_ID, uint8_t Ant_ID, uint8_t seq_id, struct xran_ecpri_hdr **ecpri_hdr)
     Build ECPRI header and returns added length. More...
     
    int xran_parse_ecpri_hdr (struct rte_mbuf *mbuf, struct xran_ecpri_hdr **ecpri_hdr, struct xran_recv_packet_info *pkt_info)
     Parse ECPRI header. More...
     
    +

    Detailed Description

    +

    This file provides the definitions for Transport layer (eCPRI) API.

    +
    Author
    Intel Corporation
    + +

    Definition in file xran_transport.h.

    +

    Function Documentation

    + +

    ◆ xran_build_ecpri_hdr()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    int xran_build_ecpri_hdr (struct rte_mbuf * mbuf,
    uint8_t CC_ID,
    uint8_t Ant_ID,
    uint8_t seq_id,
    struct xran_ecpri_hdr ** ecpri_hdr 
    )
    +
    + +

    Build ECPRI header and returns added length.

    +
    Parameters
    + + + + + + +
    mbufThe pointer of the packet buffer to be parsed
    CC_IDComponent Carrier ID for this C-Plane message
    Ant_IDAntenna ID(RU Port ID) for this C-Plane message
    seq_idSequence ID for this C-Plane message
    ecpri_hdrThe pointer to ECPRI header
    +
    +
    +
    Returns
    added payload size on success XRAN_STATUS_RESOURCE if failed to allocate the space to packet buffer
    + +

    Definition at line 142 of file xran_transport.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + + + + +
    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + + + + + + +
    + +
    +
    + +

    ◆ xran_compose_cid()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    uint16_t xran_compose_cid (uint8_t CU_Port_ID,
    uint8_t BandSector_ID,
    uint8_t CC_ID,
    uint8_t Ant_ID 
    )
    +
    + +

    Compose ecpriRtcid/ecpriPcid.

    +
    Parameters
    + + + + + +
    CU_Port_IDCU Port ID
    BanbSector_IDBand Sector ID
    CC_IDComponent Carrier ID
    Ant_IDRU Port ID (antenna ID)
    +
    +
    +
    Returns
    uint16_t composed ecpriRtcid/ecpriPcid (network byte order)
    + +

    Definition at line 65 of file xran_transport.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + + +
    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + + + + + + + +
    + +
    +
    + +

    ◆ xran_decompose_cid()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void xran_decompose_cid (uint16_t cid,
    struct xran_eaxc_inforesult 
    )
    +
    + +

    Decompose ecpriRtcid/ecpriPcid.

    +
    Parameters
    + + + +
    cidcomposed ecpriRtcid/ecpriPcid (network byte order)
    resultthe pointer of the structure to store decomposed values
    +
    +
    +
    Returns
    none
    + +

    Definition at line 89 of file xran_transport.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + + +
    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + + + + + + + + + +
    + +
    +
    + +

    ◆ xran_get_ecpri_hdr_size()

    + +
    +
    + + + + + + + + +
    int xran_get_ecpri_hdr_size (void )
    +
    + +

    return eCPRI header size without eCPRI common header

    +
    Returns
    the size of eCPRI header without common header
    + +

    Definition at line 49 of file xran_transport.c.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + + + + + + + +
    + +
    +
    + +

    ◆ xran_parse_ecpri_hdr()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    int xran_parse_ecpri_hdr (struct rte_mbuf * mbuf,
    struct xran_ecpri_hdr ** ecpri_hdr,
    struct xran_recv_packet_infopkt_info 
    )
    +
    + +

    Parse ECPRI header.

    +
    Parameters
    + + + + +
    mbufThe pointer of the packet buffer to be parsed
    ecpri_hdrThe pointer to ECPRI header
    pkt_infoThe pointer of sturcture to store the information from header
    +
    +
    +
    Returns
    XRAN_STATUS_SUCCESS on success XRAN_STATUS_INVALID_PACKET if failed to parse the packet
    + +

    Definition at line 192 of file xran_transport.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + + + +
    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + + +
    + +
    +
    + +

    ◆ xran_update_ecpri_payload_size()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    void xran_update_ecpri_payload_size (struct rte_mbuf * mbuf,
    int size 
    )
    +
    +inline
    +
    + +

    modify the payload size of eCPRI header in xRAN packet

    +
    Parameters
    + + + +
    mbufInitialized rte_mbuf packet which has eCPRI header already
    sizepayload size to be updated
    +
    +
    +
    Returns
    none
    + +

    Definition at line 113 of file xran_transport.c.

    + +
    +
    +
    + + + + diff --git a/docs/API/xran__transport_8h__dep__incl.map b/docs/API/xran__transport_8h__dep__incl.map new file mode 100644 index 0000000..960565b --- /dev/null +++ b/docs/API/xran__transport_8h__dep__incl.map @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/API/xran__transport_8h__dep__incl.md5 b/docs/API/xran__transport_8h__dep__incl.md5 new file mode 100644 index 0000000..5c1526a --- /dev/null +++ b/docs/API/xran__transport_8h__dep__incl.md5 @@ -0,0 +1 @@ +f7700ea00f4aab75e797b573c0d158ba \ No newline at end of file diff --git a/docs/API/xran__transport_8h__dep__incl.png b/docs/API/xran__transport_8h__dep__incl.png new file mode 100644 index 0000000..714fb4e Binary files /dev/null and b/docs/API/xran__transport_8h__dep__incl.png differ diff --git a/docs/API/xran__transport_8h__incl.map b/docs/API/xran__transport_8h__incl.map new file mode 100644 index 0000000..5c6ac69 --- /dev/null +++ b/docs/API/xran__transport_8h__incl.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/API/xran__transport_8h__incl.md5 b/docs/API/xran__transport_8h__incl.md5 new file mode 100644 index 0000000..5db1ada --- /dev/null +++ b/docs/API/xran__transport_8h__incl.md5 @@ -0,0 +1 @@ +eae91b8a64255156c0c9aae2ef5403e4 \ No newline at end of file diff --git a/docs/API/xran__transport_8h__incl.png b/docs/API/xran__transport_8h__incl.png new file mode 100644 index 0000000..40cb575 Binary files /dev/null and b/docs/API/xran__transport_8h__incl.png differ diff --git a/docs/API/xran__transport_8h_a0f378609208ec66467c58f0702ced85c_icgraph.map b/docs/API/xran__transport_8h_a0f378609208ec66467c58f0702ced85c_icgraph.map new file mode 100644 index 0000000..b4f9469 --- /dev/null +++ b/docs/API/xran__transport_8h_a0f378609208ec66467c58f0702ced85c_icgraph.map @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/docs/API/xran__transport_8h_a0f378609208ec66467c58f0702ced85c_icgraph.md5 b/docs/API/xran__transport_8h_a0f378609208ec66467c58f0702ced85c_icgraph.md5 new file mode 100644 index 0000000..4099876 --- /dev/null +++ b/docs/API/xran__transport_8h_a0f378609208ec66467c58f0702ced85c_icgraph.md5 @@ -0,0 +1 @@ +4432bda3f89875e30833ead9473a46b8 \ No newline at end of file diff --git a/docs/API/xran__transport_8h_a0f378609208ec66467c58f0702ced85c_icgraph.png b/docs/API/xran__transport_8h_a0f378609208ec66467c58f0702ced85c_icgraph.png new file mode 100644 index 0000000..08656da Binary files /dev/null and b/docs/API/xran__transport_8h_a0f378609208ec66467c58f0702ced85c_icgraph.png differ diff --git a/docs/API/xran__transport_8h_aa21387dfaba47c2046d4a05f50cfc768_cgraph.map b/docs/API/xran__transport_8h_aa21387dfaba47c2046d4a05f50cfc768_cgraph.map new file mode 100644 index 0000000..923f047 --- /dev/null +++ b/docs/API/xran__transport_8h_aa21387dfaba47c2046d4a05f50cfc768_cgraph.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/API/xran__transport_8h_aa21387dfaba47c2046d4a05f50cfc768_cgraph.md5 b/docs/API/xran__transport_8h_aa21387dfaba47c2046d4a05f50cfc768_cgraph.md5 new file mode 100644 index 0000000..aa95c9a --- /dev/null +++ b/docs/API/xran__transport_8h_aa21387dfaba47c2046d4a05f50cfc768_cgraph.md5 @@ -0,0 +1 @@ +2552cd75d71d5a93878c09b3b61e52e0 \ No newline at end of file diff --git a/docs/API/xran__transport_8h_aa21387dfaba47c2046d4a05f50cfc768_cgraph.png b/docs/API/xran__transport_8h_aa21387dfaba47c2046d4a05f50cfc768_cgraph.png new file mode 100644 index 0000000..f73fdb2 Binary files /dev/null and b/docs/API/xran__transport_8h_aa21387dfaba47c2046d4a05f50cfc768_cgraph.png differ diff --git a/docs/API/xran__transport_8h_aa21387dfaba47c2046d4a05f50cfc768_icgraph.map b/docs/API/xran__transport_8h_aa21387dfaba47c2046d4a05f50cfc768_icgraph.map new file mode 100644 index 0000000..46b140f --- /dev/null +++ b/docs/API/xran__transport_8h_aa21387dfaba47c2046d4a05f50cfc768_icgraph.map @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/docs/API/xran__transport_8h_aa21387dfaba47c2046d4a05f50cfc768_icgraph.md5 b/docs/API/xran__transport_8h_aa21387dfaba47c2046d4a05f50cfc768_icgraph.md5 new file mode 100644 index 0000000..af3de00 --- /dev/null +++ b/docs/API/xran__transport_8h_aa21387dfaba47c2046d4a05f50cfc768_icgraph.md5 @@ -0,0 +1 @@ +3252a0799dad01ede2fee22639beb907 \ No newline at end of file diff --git a/docs/API/xran__transport_8h_aa21387dfaba47c2046d4a05f50cfc768_icgraph.png b/docs/API/xran__transport_8h_aa21387dfaba47c2046d4a05f50cfc768_icgraph.png new file mode 100644 index 0000000..02253c6 Binary files /dev/null and b/docs/API/xran__transport_8h_aa21387dfaba47c2046d4a05f50cfc768_icgraph.png differ diff --git a/docs/API/xran__transport_8h_ab08a85b6527f45a9ba22d25061a96a3c_cgraph.map b/docs/API/xran__transport_8h_ab08a85b6527f45a9ba22d25061a96a3c_cgraph.map new file mode 100644 index 0000000..3bacad5 --- /dev/null +++ b/docs/API/xran__transport_8h_ab08a85b6527f45a9ba22d25061a96a3c_cgraph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/xran__transport_8h_ab08a85b6527f45a9ba22d25061a96a3c_cgraph.md5 b/docs/API/xran__transport_8h_ab08a85b6527f45a9ba22d25061a96a3c_cgraph.md5 new file mode 100644 index 0000000..6ccb3fb --- /dev/null +++ b/docs/API/xran__transport_8h_ab08a85b6527f45a9ba22d25061a96a3c_cgraph.md5 @@ -0,0 +1 @@ +6f841e31c593638794f1c63b1f7e3808 \ No newline at end of file diff --git a/docs/API/xran__transport_8h_ab08a85b6527f45a9ba22d25061a96a3c_cgraph.png b/docs/API/xran__transport_8h_ab08a85b6527f45a9ba22d25061a96a3c_cgraph.png new file mode 100644 index 0000000..9e8c013 Binary files /dev/null and b/docs/API/xran__transport_8h_ab08a85b6527f45a9ba22d25061a96a3c_cgraph.png differ diff --git a/docs/API/xran__transport_8h_ab08a85b6527f45a9ba22d25061a96a3c_icgraph.map b/docs/API/xran__transport_8h_ab08a85b6527f45a9ba22d25061a96a3c_icgraph.map new file mode 100644 index 0000000..632ccf5 --- /dev/null +++ b/docs/API/xran__transport_8h_ab08a85b6527f45a9ba22d25061a96a3c_icgraph.map @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/docs/API/xran__transport_8h_ab08a85b6527f45a9ba22d25061a96a3c_icgraph.md5 b/docs/API/xran__transport_8h_ab08a85b6527f45a9ba22d25061a96a3c_icgraph.md5 new file mode 100644 index 0000000..da3b2db --- /dev/null +++ b/docs/API/xran__transport_8h_ab08a85b6527f45a9ba22d25061a96a3c_icgraph.md5 @@ -0,0 +1 @@ +a0b1e1fc5692572e4b9b2bbc0fe3417e \ No newline at end of file diff --git a/docs/API/xran__transport_8h_ab08a85b6527f45a9ba22d25061a96a3c_icgraph.png b/docs/API/xran__transport_8h_ab08a85b6527f45a9ba22d25061a96a3c_icgraph.png new file mode 100644 index 0000000..b815c48 Binary files /dev/null and b/docs/API/xran__transport_8h_ab08a85b6527f45a9ba22d25061a96a3c_icgraph.png differ diff --git a/docs/API/xran__transport_8h_ad199c3f4bfa018f5d0846471206217d1_cgraph.map b/docs/API/xran__transport_8h_ad199c3f4bfa018f5d0846471206217d1_cgraph.map new file mode 100644 index 0000000..7a78885 --- /dev/null +++ b/docs/API/xran__transport_8h_ad199c3f4bfa018f5d0846471206217d1_cgraph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/API/xran__transport_8h_ad199c3f4bfa018f5d0846471206217d1_cgraph.md5 b/docs/API/xran__transport_8h_ad199c3f4bfa018f5d0846471206217d1_cgraph.md5 new file mode 100644 index 0000000..36a6d68 --- /dev/null +++ b/docs/API/xran__transport_8h_ad199c3f4bfa018f5d0846471206217d1_cgraph.md5 @@ -0,0 +1 @@ +c5c338843718a1be709a17b4f4268262 \ No newline at end of file diff --git a/docs/API/xran__transport_8h_ad199c3f4bfa018f5d0846471206217d1_cgraph.png b/docs/API/xran__transport_8h_ad199c3f4bfa018f5d0846471206217d1_cgraph.png new file mode 100644 index 0000000..1a1c3a3 Binary files /dev/null and b/docs/API/xran__transport_8h_ad199c3f4bfa018f5d0846471206217d1_cgraph.png differ diff --git a/docs/API/xran__transport_8h_ad199c3f4bfa018f5d0846471206217d1_icgraph.map b/docs/API/xran__transport_8h_ad199c3f4bfa018f5d0846471206217d1_icgraph.map new file mode 100644 index 0000000..5796491 --- /dev/null +++ b/docs/API/xran__transport_8h_ad199c3f4bfa018f5d0846471206217d1_icgraph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/API/xran__transport_8h_ad199c3f4bfa018f5d0846471206217d1_icgraph.md5 b/docs/API/xran__transport_8h_ad199c3f4bfa018f5d0846471206217d1_icgraph.md5 new file mode 100644 index 0000000..b7398c2 --- /dev/null +++ b/docs/API/xran__transport_8h_ad199c3f4bfa018f5d0846471206217d1_icgraph.md5 @@ -0,0 +1 @@ +89ba921bcfa598b3538ec918e2b87aa6 \ No newline at end of file diff --git a/docs/API/xran__transport_8h_ad199c3f4bfa018f5d0846471206217d1_icgraph.png b/docs/API/xran__transport_8h_ad199c3f4bfa018f5d0846471206217d1_icgraph.png new file mode 100644 index 0000000..b65b516 Binary files /dev/null and b/docs/API/xran__transport_8h_ad199c3f4bfa018f5d0846471206217d1_icgraph.png differ diff --git a/docs/API/xran__transport_8h_ae834080139ba785f1a3ac5781bf2ec88_cgraph.map b/docs/API/xran__transport_8h_ae834080139ba785f1a3ac5781bf2ec88_cgraph.map new file mode 100644 index 0000000..ccbd1f2 --- /dev/null +++ b/docs/API/xran__transport_8h_ae834080139ba785f1a3ac5781bf2ec88_cgraph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/xran__transport_8h_ae834080139ba785f1a3ac5781bf2ec88_cgraph.md5 b/docs/API/xran__transport_8h_ae834080139ba785f1a3ac5781bf2ec88_cgraph.md5 new file mode 100644 index 0000000..213618e --- /dev/null +++ b/docs/API/xran__transport_8h_ae834080139ba785f1a3ac5781bf2ec88_cgraph.md5 @@ -0,0 +1 @@ +9e6e953b85f94dd42732dd9e0bae450b \ No newline at end of file diff --git a/docs/API/xran__transport_8h_ae834080139ba785f1a3ac5781bf2ec88_cgraph.png b/docs/API/xran__transport_8h_ae834080139ba785f1a3ac5781bf2ec88_cgraph.png new file mode 100644 index 0000000..78d7410 Binary files /dev/null and b/docs/API/xran__transport_8h_ae834080139ba785f1a3ac5781bf2ec88_cgraph.png differ diff --git a/docs/API/xran__transport_8h_ae834080139ba785f1a3ac5781bf2ec88_icgraph.map b/docs/API/xran__transport_8h_ae834080139ba785f1a3ac5781bf2ec88_icgraph.map new file mode 100644 index 0000000..bd43373 --- /dev/null +++ b/docs/API/xran__transport_8h_ae834080139ba785f1a3ac5781bf2ec88_icgraph.map @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/docs/API/xran__transport_8h_ae834080139ba785f1a3ac5781bf2ec88_icgraph.md5 b/docs/API/xran__transport_8h_ae834080139ba785f1a3ac5781bf2ec88_icgraph.md5 new file mode 100644 index 0000000..1353a2f --- /dev/null +++ b/docs/API/xran__transport_8h_ae834080139ba785f1a3ac5781bf2ec88_icgraph.md5 @@ -0,0 +1 @@ +b78d5a130009abd4f7224324f34991d5 \ No newline at end of file diff --git a/docs/API/xran__transport_8h_ae834080139ba785f1a3ac5781bf2ec88_icgraph.png b/docs/API/xran__transport_8h_ae834080139ba785f1a3ac5781bf2ec88_icgraph.png new file mode 100644 index 0000000..c39de19 Binary files /dev/null and b/docs/API/xran__transport_8h_ae834080139ba785f1a3ac5781bf2ec88_icgraph.png differ diff --git a/docs/API/xran__transport_8h_source.html b/docs/API/xran__transport_8h_source.html new file mode 100644 index 0000000..73e9d8e --- /dev/null +++ b/docs/API/xran__transport_8h_source.html @@ -0,0 +1,98 @@ + + + + + + + +o-du/phy: xran_transport.h Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    xran_transport.h
    +
    +
    +Go to the documentation of this file.
    1 /******************************************************************************
    2 *
    3 * Copyright (c) 2019 Intel.
    4 *
    5 * Licensed under the Apache License, Version 2.0 (the "License");
    6 * you may not use this file except in compliance with the License.
    7 * You may obtain a copy of the License at
    8 *
    9 * http://www.apache.org/licenses/LICENSE-2.0
    10 *
    11 * Unless required by applicable law or agreed to in writing, software
    12 * distributed under the License is distributed on an "AS IS" BASIS,
    13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    14 * See the License for the specific language governing permissions and
    15 * limitations under the License.
    16 *
    17 *******************************************************************************/
    18 
    28 #ifndef _XRAN_TRANSPORT_H_
    29 #define _XRAN_TRANSPORT_H_
    30 
    31 #ifdef __cplusplus
    32 extern "C" {
    33 #endif
    34 
    35 #include <rte_common.h>
    36 #include <rte_mbuf.h>
    37 
    38 #include "xran_pkt.h"
    39 
    41  uint8_t cuPortId;
    42  uint8_t bandSectorId;
    43  uint8_t ccId;
    44  uint8_t ruPortId;
    45 };
    46 
    49  enum ecpri_msg_type msg_type;
    51  struct xran_eaxc_info eaxc;
    52  int seq_id;
    53  int subseq_id;
    54  int ebit;
    55 };
    56 
    57 
    58 int xran_get_ecpri_hdr_size(void);
    59 void xran_update_ecpri_payload_size(struct rte_mbuf *mbuf, int size);
    60 
    61 uint16_t xran_compose_cid(uint8_t CU_Port_ID, uint8_t BandSector_ID, uint8_t CC_ID, uint8_t Ant_ID);
    62 void xran_decompose_cid(uint16_t cid, struct xran_eaxc_info *result);
    63 
    64 int xran_build_ecpri_hdr(struct rte_mbuf *mbuf,
    65  uint8_t CC_ID, uint8_t Ant_ID,
    66  uint8_t seq_id,
    67  struct xran_ecpri_hdr **ecpri_hdr);
    68 
    69 int xran_parse_ecpri_hdr(struct rte_mbuf *mbuf,
    70  struct xran_ecpri_hdr **ecpri_hdr,
    71  struct xran_recv_packet_info *pkt_info);
    72 
    73 #ifdef __cplusplus
    74 }
    75 #endif
    76 
    77 #endif
    78 
    int xran_build_ecpri_hdr(struct rte_mbuf *mbuf, uint8_t CC_ID, uint8_t Ant_ID, uint8_t seq_id, struct xran_ecpri_hdr **ecpri_hdr)
    Build ECPRI header and returns added length.
    +
    uint8_t bandSectorId
    + +
    void xran_decompose_cid(uint16_t cid, struct xran_eaxc_info *result)
    Decompose ecpriRtcid/ecpriPcid.
    +
    uint16_t xran_compose_cid(uint8_t CU_Port_ID, uint8_t BandSector_ID, uint8_t CC_ID, uint8_t Ant_ID)
    Compose ecpriRtcid/ecpriPcid.
    + + + + + +
    int xran_parse_ecpri_hdr(struct rte_mbuf *mbuf, struct xran_ecpri_hdr **ecpri_hdr, struct xran_recv_packet_info *pkt_info)
    Parse ECPRI header.
    +
    int xran_get_ecpri_hdr_size(void)
    return eCPRI header size without eCPRI common header
    + + + +
    void xran_update_ecpri_payload_size(struct rte_mbuf *mbuf, int size)
    modify the payload size of eCPRI header in xRAN packet
    +
    Definitions and support functions to process XRAN packet.
    + +
    ecpri_msg_type
    Definition: xran_pkt.h:75
    + +
    + + + + diff --git a/docs/API/xran__ul__tables_8c.html b/docs/API/xran__ul__tables_8c.html new file mode 100644 index 0000000..38eb9c6 --- /dev/null +++ b/docs/API/xran__ul__tables_8c.html @@ -0,0 +1,198 @@ + + + + + + + +o-du/phy: xran_ul_tables.c File Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    xran_ul_tables.c File Reference
    +
    +
    + +

    This file defines those table used in 5G NR spec. +More...

    +
    #include <stdio.h>
    +#include <stdlib.h>
    +#include <string.h>
    +#include "xran_common.h"
    +
    +Include dependency graph for xran_ul_tables.c:
    +
    +
    + + + + + + + + + +
    +
    +

    Go to the source code of this file.

    + + + + + + + + + + +

    +Variables

    const xRANPrachConfigTableStruct gxranPrachDataTable_sub6_fdd [XRAN_PRACH_CONFIG_TABLE_SIZE]
     
    const xRANPrachConfigTableStruct gxranPrachDataTable_sub6_tdd [XRAN_PRACH_CONFIG_TABLE_SIZE]
     
    const xRANPrachConfigTableStruct gxranPrachDataTable_mmw [XRAN_PRACH_CONFIG_TABLE_SIZE]
     
    const xRANPrachPreambleLRAStruct gxranPreambleforLRA [13]
     
    +

    Detailed Description

    +

    This file defines those table used in 5G NR spec.

    +
    Author
    Intel Corporation
    + +

    Definition in file xran_ul_tables.c.

    +

    Variable Documentation

    + +

    ◆ gxranPrachDataTable_mmw

    + +
    +
    + + + + +
    const xRANPrachConfigTableStruct gxranPrachDataTable_mmw[XRAN_PRACH_CONFIG_TABLE_SIZE]
    +
    + +

    Definition at line 553 of file xran_ul_tables.c.

    + +
    +
    + +

    ◆ gxranPrachDataTable_sub6_fdd

    + +
    +
    + + + + +
    const xRANPrachConfigTableStruct gxranPrachDataTable_sub6_fdd[XRAN_PRACH_CONFIG_TABLE_SIZE]
    +
    + +

    Definition at line 32 of file xran_ul_tables.c.

    + +
    +
    + +

    ◆ gxranPrachDataTable_sub6_tdd

    + +
    +
    + + + + +
    const xRANPrachConfigTableStruct gxranPrachDataTable_sub6_tdd[XRAN_PRACH_CONFIG_TABLE_SIZE]
    +
    + +

    Definition at line 292 of file xran_ul_tables.c.

    + +
    +
    + +

    ◆ gxranPreambleforLRA

    + +
    +
    + + + + +
    const xRANPrachPreambleLRAStruct gxranPreambleforLRA[13]
    +
    +Initial value:
    =
    {
    {FORMAT_0, 839, 125, 1 , 3168 },
    {FORMAT_1, 839, 125, 2 ,21024 },
    {FORMAT_2, 839, 125, 4 , 4688 },
    {FORMAT_3, 839, 5, 1 , 3168 },
    {FORMAT_A1, 139, 15, 2 , 288 },
    {FORMAT_A2, 139, 15, 4 , 576 },
    {FORMAT_A3, 139, 15, 6 , 864 },
    {FORMAT_B1, 139, 15, 2 , 216 },
    {FORMAT_B2, 139, 15, 4 , 360 },
    {FORMAT_B3, 139, 15, 6 , 504 },
    {FORMAT_B4, 139, 15, 12, 936 },
    {FORMAT_C0, 139, 15, 1 , 1240},
    {FORMAT_C2, 139, 15, 4 , 2048}
    }
    + + + + + + + + + + + + +
    +

    Definition at line 845 of file xran_ul_tables.c.

    + +
    +
    +
    + + + + diff --git a/docs/API/xran__ul__tables_8c__incl.map b/docs/API/xran__ul__tables_8c__incl.map new file mode 100644 index 0000000..03b7ac6 --- /dev/null +++ b/docs/API/xran__ul__tables_8c__incl.map @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/docs/API/xran__ul__tables_8c__incl.md5 b/docs/API/xran__ul__tables_8c__incl.md5 new file mode 100644 index 0000000..5151b90 --- /dev/null +++ b/docs/API/xran__ul__tables_8c__incl.md5 @@ -0,0 +1 @@ +51ffed19707d0652895fd72368227139 \ No newline at end of file diff --git a/docs/API/xran__ul__tables_8c__incl.png b/docs/API/xran__ul__tables_8c__incl.png new file mode 100644 index 0000000..1d66680 Binary files /dev/null and b/docs/API/xran__ul__tables_8c__incl.png differ diff --git a/docs/API/xran__ul__tables_8c_source.html b/docs/API/xran__ul__tables_8c_source.html new file mode 100644 index 0000000..e19cf5d --- /dev/null +++ b/docs/API/xran__ul__tables_8c_source.html @@ -0,0 +1,99 @@ + + + + + + + +o-du/phy: xran_ul_tables.c Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    xran_ul_tables.c
    +
    +
    +Go to the documentation of this file.
    1 /******************************************************************************
    2 *
    3 * Copyright (c) 2019 Intel.
    4 *
    5 * Licensed under the Apache License, Version 2.0 (the "License");
    6 * you may not use this file except in compliance with the License.
    7 * You may obtain a copy of the License at
    8 *
    9 * http://www.apache.org/licenses/LICENSE-2.0
    10 *
    11 * Unless required by applicable law or agreed to in writing, software
    12 * distributed under the License is distributed on an "AS IS" BASIS,
    13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    14 * See the License for the specific language governing permissions and
    15 * limitations under the License.
    16 *
    17 *******************************************************************************/
    18 
    25 #include <stdio.h>
    26 #include <stdlib.h>
    27 #include <string.h>
    28 
    29 #include "xran_common.h"
    30 
    31 /* 3GPP 38.211-f20 Table - 6.3.3.2-2 */
    33 {
    34  { 0, { 0 }, 16, { 1 }, { 1 }, 1, 0, 0, 0, 0 },
    35  { 1, { 0 }, 16, { 1 }, { 4 }, 1, 0, 0, 0, 0 },
    36  { 2, { 0 }, 16, { 1 }, { 7 }, 1, 0, 0, 0, 0 },
    37  { 3, { 0 }, 16, { 1 }, { 9 }, 1, 0, 0, 0, 0 },
    38  { 4, { 0 }, 8, { 1 }, { 1 }, 1, 0, 0, 0, 0 },
    39  { 5, { 0 }, 8, { 1 }, { 4 }, 1, 0, 0, 0, 0 },
    40  { 6, { 0 }, 8, { 1 }, { 7 }, 1, 0, 0, 0, 0 },
    41  { 7, { 0 }, 8, { 1 }, { 9 }, 1, 0, 0, 0, 0 },
    42  { 8, { 0 }, 4, { 1 }, { 1 }, 1, 0, 0, 0, 0 },
    43  { 9, { 0 }, 4, { 1 }, { 4 }, 1, 0, 0, 0, 0 },
    44  { 10, { 0 }, 4, { 1 }, { 7 }, 1, 0, 0, 0, 0 },
    45  { 11, { 0 }, 4, { 1 }, { 9 }, 1, 0, 0, 0, 0 },
    46  { 12, { 0 }, 2, { 1 }, { 1 }, 1, 0, 0, 0, 0 },
    47  { 13, { 0 }, 2, { 1 }, { 4 }, 1, 0, 0, 0, 0 },
    48  { 14, { 0 }, 2, { 1 }, { 7 }, 1, 0, 0, 0, 0 },
    49  { 15, { 0 }, 2, { 1 }, { 9 }, 1, 0, 0, 0, 0 },
    50  { 16, { 0 }, 1, { 0 }, { 1 }, 1, 0, 0, 0, 0 },
    51  { 17, { 0 }, 1, { 0 }, { 4 }, 1, 0, 0, 0, 0 },
    52  { 18, { 0 }, 1, { 0 }, { 7 }, 1, 0, 0, 0, 0 },
    53  { 19, { 0 }, 1, { 0 }, { 1, 6 }, 2, 0, 0, 0, 0 },
    54  { 20, { 0 }, 1, { 0 }, { 2, 7 }, 2, 0, 0, 0, 0 },
    55  { 21, { 0 }, 1, { 0 }, { 3, 8 }, 2, 0, 0, 0, 0 },
    56  { 22, { 0 }, 1, { 0 }, { 1, 4, 7 }, 3, 0, 0, 0, 0 },
    57  { 23, { 0 }, 1, { 0 }, { 2, 5, 8 }, 3, 0, 0, 0, 0 },
    58  { 24, { 0 }, 1, { 0 }, { 3, 6, 9 }, 3, 0, 0, 0, 0 },
    59  { 25, { 0 }, 1, { 0 }, { 0, 2, 4, 6, 8 }, 5, 0, 0, 0, 0 },
    60  { 26, { 0 }, 1, { 0 }, { 1, 3, 5, 7, 9 }, 5, 0, 0, 0, 0 },
    61  { 27, { 0 }, 1, { 0 }, { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }, 10, 0, 0, 0, 0 },
    62  { 28, { 1 }, 16, { 1 }, { 1 }, 1, 0, 0, 0, 0 },
    63  { 29, { 1 }, 16, { 1 }, { 4 }, 1, 0, 0, 0, 0 },
    64  { 30, { 1 }, 16, { 1 }, { 7 }, 1, 0, 0, 0, 0 },
    65  { 31, { 1 }, 16, { 1 }, { 9 }, 1, 0, 0, 0, 0 },
    66  { 32, { 1 }, 8, { 1 }, { 1 }, 1, 0, 0, 0, 0 },
    67  { 33, { 1 }, 8, { 1 }, { 4 }, 1, 0, 0, 0, 0 },
    68  { 34, { 1 }, 8, { 1 }, { 7 }, 1, 0, 0, 0, 0 },
    69  { 35, { 1 }, 8, { 1 }, { 9 }, 1, 0, 0, 0, 0 },
    70  { 36, { 1 }, 4, { 1 }, { 1 }, 1, 0, 0, 0, 0 },
    71  { 37, { 1 }, 4, { 1 }, { 4 }, 1, 0, 0, 0, 0 },
    72  { 38, { 1 }, 4, { 1 }, { 7 }, 1, 0, 0, 0, 0 },
    73  { 39, { 1 }, 4, { 1 }, { 9 }, 1, 0, 0, 0, 0 },
    74  { 40, { 1 }, 2, { 1 }, { 1 }, 1, 0, 0, 0, 0 },
    75  { 41, { 1 }, 2, { 1 }, { 4 }, 1, 0, 0, 0, 0 },
    76  { 42, { 1 }, 2, { 1 }, { 7 }, 1, 0, 0, 0, 0 },
    77  { 43, { 1 }, 2, { 1 }, { 9 }, 1, 0, 0, 0, 0 },
    78  { 44, { 1 }, 1, { 0 }, { 1 }, 1, 0, 0, 0, 0 },
    79  { 45, { 1 }, 1, { 0 }, { 4 }, 1, 0, 0, 0, 0 },
    80  { 46, { 1 }, 1, { 0 }, { 9 }, 1, 0, 0, 0, 0 },
    81  { 47, { 1 }, 1, { 0 }, { 1, 6 }, 2, 0, 0, 0, 0 },
    82  { 48, { 1 }, 1, { 0 }, { 2, 7 }, 2, 0, 0, 0, 0 },
    83  { 49, { 1 }, 1, { 0 }, { 3, 8 }, 2, 0, 0, 0, 0 },
    84  { 50, { 1 }, 1, { 0 }, { 1, 4, 7 }, 3, 0, 0, 0, 0 },
    85  { 51, { 1 }, 1, { 0 }, { 2, 5, 8 }, 3, 0, 0, 0, 0 },
    86  { 52, { 1 }, 1, { 0 }, { 3, 6, 9 }, 3, 0, 0, 0, 0 },
    87  { 53, { 2 }, 16, { 1 }, { 1 }, 1, 0, 0, 0, 0 },
    88  { 54, { 2 }, 8, { 1 }, { 1 }, 1, 0, 0, 0, 0 },
    89  { 55, { 2 }, 4, { 0 }, { 1 }, 1, 0, 0, 0, 0 },
    90  { 56, { 2 }, 2, { 0 }, { 1 }, 1, 0, 0, 0, 0 },
    91  { 57, { 2 }, 2, { 0 }, { 5 }, 1, 0, 0, 0, 0 },
    92  { 58, { 2 }, 1, { 0 }, { 1 }, 1, 0, 0, 0, 0 },
    93  { 59, { 2 }, 1, { 0 }, { 5 }, 1, 0, 0, 0, 0 },
    94  { 60, { 3 }, 16, { 1 }, { 1 }, 1, 0, 0, 0, 0 },
    95  { 61, { 3 }, 16, { 1 }, { 4 }, 1, 0, 0, 0, 0 },
    96  { 62, { 3 }, 16, { 1 }, { 7 }, 1, 0, 0, 0, 0 },
    97  { 63, { 3 }, 16, { 1 }, { 9 }, 1, 0, 0, 0, 0 },
    98  { 64, { 3 }, 8, { 1 }, { 1 }, 1, 0, 0, 0, 0 },
    99  { 65, { 3 }, 8, { 1 }, { 4 }, 1, 0, 0, 0, 0 },
    100  { 66, { 3 }, 8, { 1 }, { 7 }, 1, 0, 0, 0, 0 },
    101  { 67, { 3 }, 8, { 1 }, { 1 }, 1, 0, 0, 0, 0 },
    102  { 68, { 3 }, 4, { 1 }, { 4 }, 1, 0, 0, 0, 0 },
    103  { 69, { 3 }, 4, { 1 }, { 7 }, 1, 0, 0, 0, 0 },
    104  { 70, { 3 }, 4, { 1 }, { 9 }, 1, 0, 0, 0, 0 },
    105  { 71, { 3 }, 4, { 1 }, { 1 }, 1, 0, 0, 0, 0 },
    106  { 72, { 3 }, 2, { 1 }, { 4 }, 1, 0, 0, 0, 0 },
    107  { 73, { 3 }, 2, { 1 }, { 7 }, 1, 0, 0, 0, 0 },
    108  { 74, { 3 }, 2, { 1 }, { 9 }, 1, 0, 0, 0, 0 },
    109  { 75, { 3 }, 2, { 0 }, { 1 }, 1, 0, 0, 0, 0 },
    110  { 76, { 3 }, 1, { 0 }, { 4 }, 1, 0, 0, 0, 0 },
    111  { 77, { 3 }, 1, { 0 }, { 7 }, 1, 0, 0, 0, 0 },
    112  { 78, { 3 }, 1, { 0 }, { 1, 6 }, 2, 0, 0, 0, 0 },
    113  { 79, { 3 }, 1, { 0 }, { 2, 7 }, 2, 0, 0, 0, 0 },
    114  { 80, { 3 }, 1, { 0 }, { 3, 8 }, 2, 0, 0, 0, 0 },
    115  { 81, { 3 }, 1, { 0 }, { 1, 4, 7 }, 3, 0, 0, 0, 0 },
    116  { 82, { 3 }, 1, { 0 }, { 2, 5, 8 }, 3, 0, 0, 0, 0 },
    117  { 83, { 3 }, 1, { 0 }, { 3, 6, 9 }, 3, 0, 0, 0, 0 },
    118  { 84, { 3 }, 1, { 0 }, { 0, 2, 4, 6, 8 }, 5, 0, 0, 0, 0 },
    119  { 85, { 3 }, 1, { 0 }, { 1, 3, 5, 7, 9 }, 5, 0, 0, 0, 0 },
    120  { 86, { 3 }, 1, { 0 }, { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }, 10, 0, 0, 0, 0 },
    121  { 87, { FORMAT_A1 }, 16, { 0 }, { 4, 9 }, 2, 0, 1, 6, 2 },
    122  { 88, { FORMAT_A1 }, 16, { 1 }, { 4 }, 1, 0, 2, 6, 2 },
    123  { 89, { FORMAT_A1 }, 8, { 0 }, { 4, 9 }, 2, 0, 1, 6, 2 },
    124  { 90, { FORMAT_A1 }, 8, { 1 }, { 4 }, 1, 0, 2, 6, 2 },
    125  { 91, { FORMAT_A1 }, 4, { 0 }, { 4, 9 }, 2, 0, 1, 6, 2 },
    126  { 92, { FORMAT_A1 }, 4, { 1 }, { 4, 9 }, 2, 0, 1, 6, 2 },
    127  { 93, { FORMAT_A1 }, 4, { 0 }, { 4 }, 1, 0, 2, 6, 2 },
    128  { 94, { FORMAT_A1 }, 2, { 0 }, { 4, 9 }, 2, 0, 1, 6, 2 },
    129  { 95, { FORMAT_A1 }, 2, { 0 }, { 1 }, 1, 0, 2, 6, 2 },
    130  { 96, { FORMAT_A1 }, 2, { 0 }, { 4 }, 1, 0, 2, 6, 2 },
    131  { 97, { FORMAT_A1 }, 2, { 0 }, { 7 }, 1, 0, 2, 6, 2 },
    132  { 98, { FORMAT_A1 }, 1, { 0 }, { 4 }, 1, 0, 1, 6, 2 },
    133  { 99, { FORMAT_A1 }, 1, { 0 }, { 1, 6 }, 2, 0, 1, 6, 2 },
    134  { 100, { FORMAT_A1 }, 1, { 0 }, { 4, 9 }, 2, 0, 1, 6, 2 },
    135  { 101, { FORMAT_A1 }, 1, { 0 }, { 1 }, 1, 0, 2, 6, 2 },
    136  { 102, { FORMAT_A1 }, 1, { 0 }, { 7 }, 1, 0, 2, 6, 2 },
    137  { 103, { FORMAT_A1 }, 1, { 0 }, { 2, 7 }, 2, 0, 2, 6, 2 },
    138  { 104, { FORMAT_A1 }, 1, { 0 }, { 1, 4, 7 }, 3, 0, 2, 6, 2 },
    139  { 105, { FORMAT_A1 }, 1, { 0 }, { 0, 2, 4, 6, 8 }, 5, 0, 2, 6, 2 },
    140  { 106, { FORMAT_A1 }, 1, { 0 }, { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }, 10, 0, 2, 6, 2 },
    141  { 107, { FORMAT_A1 }, 1, { 0 }, { 1, 3, 5, 7, 9 }, 5, 0, 2, 6, 2 },
    142  { 108, { FORMAT_A1, FORMAT_B1 }, 2, { 0 }, { 4, 9 }, 2, 0, 1, 7, 2 },
    143  { 109, { FORMAT_A1, FORMAT_B1 }, 2, { 0 }, { 4 }, 1, 0, 2, 7, 2 },
    144  { 110, { FORMAT_A1, FORMAT_B1 }, 1, { 0 }, { 4 }, 1, 0, 1, 7, 2 },
    145  { 111, { FORMAT_A1, FORMAT_B1 }, 1, { 0 }, { 1, 6 }, 2, 0, 1, 7, 2 },
    146  { 112, { FORMAT_A1, FORMAT_B1 }, 1, { 0 }, { 4, 9 }, 2, 0, 1, 7, 2 },
    147  { 113, { FORMAT_A1, FORMAT_B1 }, 1, { 0 }, { 1 }, 1, 0, 2, 7, 2 },
    148  { 114, { FORMAT_A1, FORMAT_B1 }, 1, { 0 }, { 7 }, 1, 0, 2, 7, 2 },
    149  { 115, { FORMAT_A1, FORMAT_B1 }, 1, { 0 }, { 1, 4, 7 }, 3, 0, 2, 7, 2 },
    150  { 116, { FORMAT_A1, FORMAT_B1 }, 1, { 0 }, { 0, 2, 4, 6, 8 }, 5, 0, 2, 7, 2 },
    151  { 117, { FORMAT_A2 }, 16, { 1 }, { 2, 6, 9 }, 3, 0, 1, 3, 4 },
    152  { 118, { FORMAT_A2 }, 16, { 1 }, { 4 }, 1, 0, 2, 3, 4 },
    153  { 119, { FORMAT_A2 }, 8, { 1 }, { 2, 6, 9 }, 3, 0, 1, 3, 4 },
    154  { 120, { FORMAT_A2 }, 8, { 1 }, { 4 }, 1, 0, 2, 3, 4 },
    155  { 121, { FORMAT_A2 }, 4, { 0 }, { 2, 6, 9 }, 3, 0, 1, 3, 4 },
    156  { 122, { FORMAT_A2 }, 4, { 0 }, { 4 }, 1, 0, 2, 3, 4 },
    157  { 123, { FORMAT_A2 }, 2, { 1 }, { 2, 6, 9 }, 3, 0, 1, 3, 4 },
    158  { 124, { FORMAT_A2 }, 2, { 0 }, { 1 }, 1, 0, 2, 3, 4 },
    159  { 125, { FORMAT_A2 }, 2, { 0 }, { 4 }, 1, 0, 2, 3, 4 },
    160  { 126, { FORMAT_A2 }, 2, { 0 }, { 7 }, 1, 0, 2, 3, 4 },
    161  { 127, { FORMAT_A2 }, 1, { 0 }, { 4 }, 1, 0, 1, 3, 4 },
    162  { 128, { FORMAT_A2 }, 1, { 0 }, { 1, 6 }, 2, 0, 1, 3, 4 },
    163  { 129, { FORMAT_A2 }, 1, { 0 }, { 4, 9 }, 2, 0, 1, 3, 4 },
    164  { 130, { FORMAT_A2 }, 1, { 0 }, { 1 }, 1, 0, 2, 3, 4 },
    165  { 131, { FORMAT_A2 }, 1, { 0 }, { 7 }, 1, 0, 2, 3, 4 },
    166  { 132, { FORMAT_A2 }, 1, { 0 }, { 2, 7 }, 2, 0, 2, 3, 4 },
    167  { 133, { FORMAT_A2 }, 1, { 0 }, { 1, 4, 7 }, 3, 0, 2, 3, 4 },
    168  { 134, { FORMAT_A2 }, 1, { 0 }, { 0, 2, 4, 6, 8 }, 5, 0, 2, 3, 4 },
    169  { 135, { FORMAT_A2 }, 1, { 0 }, { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }, 10, 0, 2, 3, 4 },
    170  { 136, { FORMAT_A2 }, 1, { 0 }, { 1, 3, 5, 7, 9 }, 5, 0, 2, 3, 4 },
    171  { 137, { FORMAT_A2, FORMAT_B2 }, 2, { 1 }, { 2, 6, 9 }, 3, 0, 1, 3, 4 },
    172  { 138, { FORMAT_A2, FORMAT_B2 }, 2, { 0 }, { 4 }, 1, 0, 2, 3, 4 },
    173  { 139, { FORMAT_A2, FORMAT_B2 }, 1, { 0 }, { 4 }, 1, 0, 1, 3, 4 },
    174  { 140, { FORMAT_A2, FORMAT_B2 }, 1, { 0 }, { 1, 6 }, 2, 0, 1, 3, 4 },
    175  { 141, { FORMAT_A2, FORMAT_B2 }, 1, { 0 }, { 4, 9 }, 2, 0, 1, 3, 4 },
    176  { 142, { FORMAT_A2, FORMAT_B2 }, 1, { 0 }, { 1 }, 1, 0, 2, 3, 4 },
    177  { 143, { FORMAT_A2, FORMAT_B2 }, 1, { 0 }, { 7 }, 1, 0, 2, 3, 4 },
    178  { 144, { FORMAT_A2, FORMAT_B2 }, 1, { 0 }, { 1, 4, 7 }, 3, 0, 2, 3, 4 },
    179  { 145, { FORMAT_A2, FORMAT_B2 }, 1, { 0 }, { 0, 2, 4, 6, 8 }, 5, 0, 2, 3, 4 },
    180  { 146, { FORMAT_A2, FORMAT_B2 }, 1, { 0 }, { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }, 10, 0, 2, 3, 4 },
    181  { 147, { FORMAT_A3 }, 16, { 1 }, { 4, 9 }, 2, 0, 1, 2, 6 },
    182  { 148, { FORMAT_A3 }, 16, { 1 }, { 4 }, 1, 0, 2, 2, 6 },
    183  { 149, { FORMAT_A3 }, 8, { 1 }, { 4, 9 }, 2, 0, 1, 2, 6 },
    184  { 150, { FORMAT_A3 }, 8, { 1 }, { 4 }, 1, 0, 2, 2, 6 },
    185  { 151, { FORMAT_A3 }, 4, { 0 }, { 4, 9 }, 2, 0, 1, 2, 6 },
    186  { 152, { FORMAT_A3 }, 4, { 0 }, { 4 }, 1, 0, 2, 2, 6 },
    187  { 153, { FORMAT_A3 }, 2, { 1 }, { 2, 6, 9 }, 3, 0, 2, 2, 6 },
    188  { 154, { FORMAT_A3 }, 2, { 0 }, { 1 }, 1, 0, 2, 2, 6 },
    189  { 155, { FORMAT_A3 }, 2, { 0 }, { 4 }, 1, 0, 2, 2, 6 },
    190  { 156, { FORMAT_A3 }, 2, { 0 }, { 7 }, 1, 0, 2, 2, 6 },
    191  { 157, { FORMAT_A3 }, 1, { 0 }, { 4 }, 1, 0, 1, 2, 6 },
    192  { 158, { FORMAT_A3 }, 1, { 0 }, { 1, 6 }, 2, 0, 1, 2, 6 },
    193  { 159, { FORMAT_A3 }, 1, { 0 }, { 4, 9 }, 2, 0, 1, 2, 6 },
    194  { 160, { FORMAT_A3 }, 1, { 0 }, { 1 }, 1, 0, 2, 2, 6 },
    195  { 161, { FORMAT_A3 }, 1, { 0 }, { 7 }, 1, 0, 2, 2, 6 },
    196  { 162, { FORMAT_A3 }, 1, { 0 }, { 2, 7 }, 2, 0, 2, 2, 6 },
    197  { 163, { FORMAT_A3 }, 1, { 0 }, { 1, 4, 7 }, 3, 0, 2, 2, 6 },
    198  { 164, { FORMAT_A3 }, 1, { 0 }, { 0, 2, 4, 6, 8 }, 5, 0, 2, 2, 6 },
    199  { 165, { FORMAT_A3 }, 1, { 0 }, { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }, 10, 0, 2, 2, 6 },
    200  { 166, { FORMAT_A3 }, 1, { 0 }, { 1, 3, 5, 7, 9 }, 5, 0, 2, 2, 6 },
    201  { 167, { FORMAT_A3, FORMAT_B3 }, 2, { 1 }, { 2, 6, 9 }, 3, 0, 2, 2, 6 },
    202  { 168, { FORMAT_A3, FORMAT_B3 }, 2, { 0 }, { 4 }, 1, 0, 2, 2, 6 },
    203  { 169, { FORMAT_A3, FORMAT_B3 }, 1, { 0 }, { 4 }, 1, 0, 2, 2, 6 },
    204  { 170, { FORMAT_A3, FORMAT_B3 }, 1, { 0 }, { 1, 6 }, 2, 0, 1, 2, 6 },
    205  { 171, { FORMAT_A3, FORMAT_B3 }, 1, { 0 }, { 4, 9 }, 2, 0, 1, 2, 6 },
    206  { 172, { FORMAT_A3, FORMAT_B3 }, 1, { 0 }, { 1 }, 1, 0, 1, 2, 6 },
    207  { 173, { FORMAT_A3, FORMAT_B3 }, 1, { 0 }, { 7 }, 1, 0, 2, 2, 6 },
    208  { 174, { FORMAT_A3, FORMAT_B3 }, 1, { 0 }, { 1, 4, 7 }, 3, 0, 2, 2, 6 },
    209  { 175, { FORMAT_A3, FORMAT_B3 }, 1, { 0 }, { 0, 2, 4, 6, 8 }, 5, 0, 2, 2, 6 },
    210  { 176, { FORMAT_A3, FORMAT_B3 }, 1, { 0 }, { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }, 10, 0, 2, 2, 6 },
    211  { 177, { FORMAT_B1 }, 16, { 0 }, { 4, 9 }, 2, 0, 1, 7, 2 },
    212  { 178, { FORMAT_B1 }, 16, { 1 }, { 4 }, 1, 0, 2, 7, 2 },
    213  { 179, { FORMAT_B1 }, 8, { 0 }, { 4, 9 }, 2, 0, 1, 7, 2 },
    214  { 180, { FORMAT_B1 }, 8, { 1 }, { 4 }, 1, 0, 2, 7, 2 },
    215  { 181, { FORMAT_B1 }, 4, { 0 }, { 4, 9 }, 2, 0, 1, 7, 2 },
    216  { 182, { FORMAT_B1 }, 4, { 1 }, { 4, 9 }, 2, 0, 1, 7, 2 },
    217  { 183, { FORMAT_B1 }, 4, { 0 }, { 4 }, 1, 0, 2, 7, 2 },
    218  { 184, { FORMAT_B1 }, 2, { 0 }, { 4, 9 }, 2, 0, 1, 7, 2 },
    219  { 185, { FORMAT_B1 }, 2, { 0 }, { 1 }, 1, 0, 2, 7, 2 },
    220  { 186, { FORMAT_B1 }, 2, { 0 }, { 4 }, 1, 0, 2, 7, 2 },
    221  { 187, { FORMAT_B1 }, 2, { 0 }, { 7 }, 1, 0, 2, 7, 2 },
    222  { 188, { FORMAT_B1 }, 1, { 0 }, { 4 }, 1, 0, 1, 7, 2 },
    223  { 189, { FORMAT_B1 }, 1, { 0 }, { 1, 6 }, 2, 0, 1, 7, 2 },
    224  { 190, { FORMAT_B1 }, 1, { 0 }, { 4, 9 }, 2, 0, 1, 7, 2 },
    225  { 191, { FORMAT_B1 }, 1, { 0 }, { 1 }, 1, 0, 2, 7, 2 },
    226  { 192, { FORMAT_B1 }, 1, { 0 }, { 7 }, 1, 0, 2, 7, 2 },
    227  { 193, { FORMAT_B1 }, 1, { 0 }, { 2, 7 }, 2, 0, 2, 7, 2 },
    228  { 194, { FORMAT_B1 }, 1, { 0 }, { 1, 4, 7 }, 3, 0, 2, 7, 2 },
    229  { 195, { FORMAT_B1 }, 1, { 0 }, { 0, 2, 4, 6, 8 }, 5, 0, 2, 7, 2 },
    230  { 196, { FORMAT_B1 }, 1, { 0 }, { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }, 10, 0, 2, 7, 2 },
    231  { 197, { FORMAT_B1 }, 1, { 0 }, { 1, 3, 5, 7, 9 }, 5, 0, 2, 7, 12 },
    232  { 198, { FORMAT_B4 }, 16, { 0 }, { 4, 9 }, 2, 0, 2, 1, 12 },
    233  { 199, { FORMAT_B4 }, 16, { 1 }, { 4 }, 1, 0, 2, 1, 12 },
    234  { 200, { FORMAT_B4 }, 8, { 0 }, { 4, 9 }, 2, 0, 2, 1, 12 },
    235  { 201, { FORMAT_B4 }, 8, { 1 }, { 4 }, 1, 0, 2, 1, 12 },
    236  { 202, { FORMAT_B4 }, 4, { 0 }, { 4, 9 }, 2, 0, 2, 1, 12 },
    237  { 203, { FORMAT_B4 }, 4, { 0 }, { 4 }, 1, 0, 2, 1, 12 },
    238  { 204, { FORMAT_B4 }, 4, { 1 }, { 4, 9 }, 2, 0, 2, 1, 12 },
    239  { 205, { FORMAT_B4 }, 2, { 0 }, { 4, 9 }, 2, 0, 2, 1, 12 },
    240  { 206, { FORMAT_B4 }, 2, { 0 }, { 1 }, 1, 0, 2, 1, 12 },
    241  { 207, { FORMAT_B4 }, 2, { 0 }, { 4 }, 1, 0, 2, 1, 12 },
    242  { 208, { FORMAT_B4 }, 2, { 0 }, { 7 }, 1, 0, 2, 1, 12 },
    243  { 209, { FORMAT_B4 }, 1, { 0 }, { 1 }, 1, 0, 2, 1, 12 },
    244  { 210, { FORMAT_B4 }, 1, { 0 }, { 4 }, 1, 0, 2, 1, 12 },
    245  { 211, { FORMAT_B4 }, 1, { 0 }, { 7 }, 1, 0, 2, 1, 12 },
    246  { 212, { FORMAT_B4 }, 1, { 0 }, { 1, 6 }, 2, 0, 2, 1, 12 },
    247  { 213, { FORMAT_B4 }, 1, { 0 }, { 2, 7 }, 2, 0, 2, 1, 12 },
    248  { 214, { FORMAT_B4 }, 1, { 0 }, { 4, 9 }, 2, 0, 2, 1, 12 },
    249  { 215, { FORMAT_B4 }, 1, { 0 }, { 1, 4, 7 }, 3, 0, 2, 1, 12 },
    250  { 216, { FORMAT_B4 }, 1, { 0 }, { 0, 2, 4, 6, 8 }, 5, 0, 2, 1, 12 },
    251  { 217, { FORMAT_B4 }, 1, { 0 }, { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }, 10, 0, 2, 1, 12 },
    252  { 218, { FORMAT_B4 }, 1, { 0 }, { 1, 3, 5, 7, 9 }, 5, 0, 2, 1, 12 },
    253  { 219, { FORMAT_C0 }, 8, { 1 }, { 4 }, 1, 0, 2, 7, 2 },
    254  { 220, { FORMAT_C0 }, 4, { 1 }, { 4, 9 }, 2, 0, 1, 7, 2 },
    255  { 221, { FORMAT_C0 }, 4, { 0 }, { 4 }, 1, 0, 2, 7, 2 },
    256  { 222, { FORMAT_C0 }, 2, { 0 }, { 4, 9 }, 2, 0, 1, 7, 2 },
    257  { 223, { FORMAT_C0 }, 2, { 0 }, { 1 }, 1, 0, 2, 7, 2 },
    258  { 224, { FORMAT_C0 }, 2, { 0 }, { 4 }, 1, 0, 2, 7, 2 },
    259  { 225, { FORMAT_C0 }, 2, { 0 }, { 7 }, 1, 0, 2, 7, 2 },
    260  { 226, { FORMAT_C0 }, 1, { 0 }, { 4 }, 1, 0, 1, 7, 2 },
    261  { 227, { FORMAT_C0 }, 1, { 0 }, { 1, 6 }, 2, 0, 1, 7, 2 },
    262  { 228, { FORMAT_C0 }, 1, { 0 }, { 4, 9 }, 2, 0, 1, 7, 2 },
    263  { 229, { FORMAT_C0 }, 1, { 0 }, { 1 }, 1, 0, 2, 7, 2 },
    264  { 230, { FORMAT_C0 }, 1, { 0 }, { 7 }, 1, 0, 2, 7, 2 },
    265  { 231, { FORMAT_C0 }, 1, { 0 }, { 2, 7 }, 2, 0, 2, 7, 2 },
    266  { 232, { FORMAT_C0 }, 1, { 0 }, { 1, 4, 7 }, 3, 0, 2, 7, 2 },
    267  { 233, { FORMAT_C0 }, 1, { 0 }, { 0, 2, 4, 6, 8 }, 5, 0, 2, 7, 2 },
    268  { 234, { FORMAT_C0 }, 1, { 0 }, { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }, 10, 0, 2, 7, 2 },
    269  { 235, { FORMAT_C0 }, 1, { 0 }, { 1, 3, 5, 7, 9 }, 5, 0, 2, 7, 2 },
    270  { 236, { FORMAT_C2 }, 16, { 1 }, { 4, 9 }, 2, 0, 1, 2, 6 },
    271  { 237, { FORMAT_C2 }, 16, { 1 }, { 4 }, 1, 0, 2, 2, 6 },
    272  { 238, { FORMAT_C2 }, 8, { 1 }, { 4, 9 }, 2, 0, 1, 2, 6 },
    273  { 239, { FORMAT_C2 }, 8, { 1 }, { 4 }, 1, 0, 2, 2, 6 },
    274  { 240, { FORMAT_C2 }, 4, { 0 }, { 4, 9 }, 2, 0, 1, 2, 6 },
    275  { 241, { FORMAT_C2 }, 4, { 0 }, { 4 }, 1, 0, 2, 2, 6 },
    276  { 242, { FORMAT_C2 }, 2, { 1 }, { 2, 6, 9 }, 3, 0, 2, 2, 6 },
    277  { 243, { FORMAT_C2 }, 2, { 0 }, { 1 }, 1, 0, 2, 2, 6 },
    278  { 244, { FORMAT_C2 }, 2, { 0 }, { 4 }, 1, 0, 2, 2, 6 },
    279  { 245, { FORMAT_C2 }, 2, { 0 }, { 7 }, 1, 0, 2, 2, 6 },
    280  { 246, { FORMAT_C2 }, 1, { 0 }, { 4 }, 1, 0, 1, 2, 6 },
    281  { 247, { FORMAT_C2 }, 1, { 0 }, { 1, 6 }, 2, 0, 1, 2, 6 },
    282  { 248, { FORMAT_C2 }, 1, { 0 }, { 4, 9 }, 2, 0, 1, 2, 6 },
    283  { 249, { FORMAT_C2 }, 1, { 0 }, { 1 }, 1, 0, 2, 2, 6 },
    284  { 250, { FORMAT_C2 }, 1, { 0 }, { 7 }, 1, 0, 2, 2, 6 },
    285  { 251, { FORMAT_C2 }, 1, { 0 }, { 2, 7 }, 2, 0, 2, 2, 6 },
    286  { 252, { FORMAT_C2 }, 1, { 0 }, { 1, 4, 7 }, 3, 0, 2, 2, 6 },
    287  { 253, { FORMAT_C2 }, 1, { 0 }, { 0, 2, 4, 6, 8 }, 5, 0, 2, 2, 6 },
    288  { 254, { FORMAT_C2 }, 1, { 0 }, { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }, 10, 0, 2, 2, 6 },
    289  { 255, { FORMAT_C2 }, 1, { 0 }, { 1, 3, 5, 7, 9 }, 5, 0, 2, 2, 6 },
    290 };
    291 /* 3GPP 38.211-f20 Table - 6.3.3.2-3 */
    293 {
    294  { 0, { 0 }, 16, { 1 }, { 9 }, 1, 0, 0, 0, 0 },
    295  { 1, { 0 }, 8, { 1 }, { 9 }, 1, 0, 0, 0, 0 },
    296  { 2, { 0 }, 4, { 1 }, { 9 }, 1, 0, 0, 0, 0 },
    297  { 3, { 0 }, 2, { 0 }, { 9 }, 1, 0, 0, 0, 0 },
    298  { 4, { 0 }, 2, { 1 }, { 9 }, 1, 0, 0, 0, 0 },
    299  { 5, { 0 }, 2, { 0 }, { 4 }, 1, 0, 0, 0, 0 },
    300  { 6, { 0 }, 2, { 1 }, { 4 }, 1, 0, 0, 0, 0 },
    301  { 7, { 0 }, 1, { 0 }, { 9 }, 1, 0, 0, 0, 0 },
    302  { 8, { 0 }, 1, { 0 }, { 8 }, 1, 0, 0, 0, 0 },
    303  { 9, { 0 }, 1, { 0 }, { 7 }, 1, 0, 0, 0, 0 },
    304  { 10, { 0 }, 1, { 0 }, { 6 }, 1, 0, 0, 0, 0 },
    305  { 11, { 0 }, 1, { 0 }, { 5 }, 1, 0, 0, 0, 0 },
    306  { 12, { 0 }, 1, { 0 }, { 4 }, 1, 0, 0, 0, 0 },
    307  { 13, { 0 }, 1, { 0 }, { 3 }, 1, 0, 0, 0, 0 },
    308  { 14, { 0 }, 1, { 0 }, { 2 }, 1, 0, 0, 0, 0 },
    309  { 15, { 0 }, 1, { 0 }, { 1, 6 }, 2, 0, 0, 0, 0 },
    310  { 16, { 0 }, 1, { 0 }, { 1, 6 }, 2, 7, 0, 0, 0 },
    311  { 17, { 0 }, 1, { 0 }, { 4, 9 }, 2, 0, 0, 0, 0 },
    312  { 18, { 0 }, 1, { 0 }, { 3, 8 }, 2, 0, 0, 0, 0 },
    313  { 19, { 0 }, 1, { 0 }, { 2, 7 }, 2, 0, 0, 0, 0 },
    314  { 20, { 0 }, 1, { 0 }, { 8, 9 }, 2, 0, 0, 0, 0 },
    315  { 21, { 0 }, 1, { 0 }, { 4, 8, 9 }, 3, 0, 0, 0, 0 },
    316  { 22, { 0 }, 1, { 0 }, { 3, 4, 9 }, 3, 0, 0, 0, 0 },
    317  { 23, { 0 }, 1, { 0 }, { 7, 8, 9 }, 3, 0, 0, 0, 0 },
    318  { 24, { 0 }, 1, { 0 }, { 3, 4, 8, 9 }, 4, 0, 0, 0, 0 },
    319  { 25, { 0 }, 1, { 0 }, { 6, 7, 8, 9 }, 4, 0, 0, 0, 0 },
    320  { 26, { 0 }, 1, { 0 }, { 1, 4, 6, 9 }, 4, 0, 0, 0, 0 },
    321  { 27, { 0 }, 1, { 0 }, { 1, 3, 5, 7, 9 }, 5, 0, 0, 0, 0 },
    322  { 28, { 1 }, 16, { 1 }, { 7 }, 1, 0, 0, 0, 0 },
    323  { 29, { 1 }, 8, { 1 }, { 7 }, 1, 0, 0, 0, 0 },
    324  { 30, { 1 }, 4, { 1 }, { 7 }, 1, 0, 0, 0, 0 },
    325  { 31, { 1 }, 2, { 0 }, { 7 }, 1, 0, 0, 0, 0 },
    326  { 32, { 1 }, 2, { 1 }, { 7 }, 1, 0, 0, 0, 0 },
    327  { 33, { 1 }, 1, { 0 }, { 7 }, 1, 0, 0, 0, 0 },
    328  { 34, { 2 }, 16, { 1 }, { 6 }, 1, 0, 0, 0, 0 },
    329  { 35, { 2 }, 8, { 1 }, { 6 }, 1, 0, 0, 0, 0 },
    330  { 36, { 2 }, 4, { 1 }, { 6 }, 1, 0, 0, 0, 0 },
    331  { 37, { 2 }, 2, { 0 }, { 6 }, 1, 7, 0, 0, 0 },
    332  { 38, { 2 }, 2, { 1 }, { 6 }, 1, 7, 0, 0, 0 },
    333  { 39, { 2 }, 1, { 0 }, { 6 }, 1, 7, 0, 0, 0 },
    334  { 40, { 3 }, 16, { 1 }, { 9 }, 1, 0, 0, 0, 0 },
    335  { 41, { 3 }, 8, { 1 }, { 9 }, 1, 0, 0, 0, 0 },
    336  { 42, { 3 }, 4, { 1 }, { 9 }, 1, 0, 0, 0, 0 },
    337  { 43, { 3 }, 2, { 0 }, { 9 }, 1, 0, 0, 0, 0 },
    338  { 44, { 3 }, 2, { 1 }, { 9 }, 1, 0, 0, 0, 0 },
    339  { 45, { 3 }, 2, { 0 }, { 4 }, 1, 0, 0, 0, 0 },
    340  { 46, { 3 }, 2, { 1 }, { 4 }, 1, 0, 0, 0, 0 },
    341  { 47, { 3 }, 1, { 0 }, { 9 }, 1, 0, 0, 0, 0 },
    342  { 48, { 3 }, 1, { 0 }, { 8 }, 1, 0, 0, 0, 0 },
    343  { 49, { 3 }, 1, { 0 }, { 7 }, 1, 0, 0, 0, 0 },
    344  { 50, { 3 }, 1, { 0 }, { 6 }, 1, 0, 0, 0, 0 },
    345  { 51, { 3 }, 1, { 0 }, { 5 }, 1, 0, 0, 0, 0 },
    346  { 52, { 3 }, 1, { 0 }, { 4 }, 1, 0, 0, 0, 0 },
    347  { 53, { 3 }, 1, { 0 }, { 3 }, 1, 0, 0, 0, 0 },
    348  { 54, { 3 }, 1, { 0 }, { 2 }, 1, 0, 0, 0, 0 },
    349  { 55, { 3 }, 1, { 0 }, { 1, 6 }, 2, 0, 0, 0, 0 },
    350  { 56, { 3 }, 1, { 0 }, { 1, 6 }, 2, 7, 0, 0, 0 },
    351  { 57, { 3 }, 1, { 0 }, { 4, 9 }, 2, 0, 0, 0, 0 },
    352  { 58, { 3 }, 1, { 0 }, { 3, 8 }, 2, 0, 0, 0, 0 },
    353  { 59, { 3 }, 1, { 0 }, { 2, 7 }, 2, 0, 0, 0, 0 },
    354  { 60, { 3 }, 1, { 0 }, { 8, 9 }, 2, 0, 0, 0, 0 },
    355  { 61, { 3 }, 1, { 0 }, { 4, 8, 9 }, 3, 0, 0, 0, 0 },
    356  { 62, { 3 }, 1, { 0 }, { 3, 4, 9 }, 3, 0, 0, 0, 0 },
    357  { 63, { 3 }, 1, { 0 }, { 7, 8, 9 }, 3, 0, 0, 0, 0 },
    358  { 64, { 3 }, 1, { 0 }, { 3, 4, 8, 9 }, 4, 0, 0, 0, 0 },
    359  { 65, { 3 }, 1, { 0 }, { 1, 4, 6, 9 }, 4, 0, 0, 0, 0 },
    360  { 66, { 3 }, 1, { 0 }, { 1, 3, 5, 7, 9 }, 5, 0, 0, 0, 0 },
    361  { 67, { FORMAT_A1 }, 18, { 1 }, { 9 }, 1, 0, 2, 6, 2 },
    362  { 68, { FORMAT_A1 }, 8, { 1 }, { 9 }, 1, 0, 2, 6, 2 },
    363  { 69, { FORMAT_A1 }, 4, { 1 }, { 9 }, 1, 0, 1, 6, 2 },
    364  { 70, { FORMAT_A1 }, 2, { 1 }, { 9 }, 1, 0, 1, 6, 2 },
    365  { 71, { FORMAT_A1 }, 2, { 1 }, { 4, 9 }, 2, 7, 1, 3, 2 },
    366  { 72, { FORMAT_A1 }, 2, { 1 }, { 7, 9 }, 2, 7, 1, 3, 2 },
    367  { 73, { FORMAT_A1 }, 2, { 1 }, { 7, 9 }, 2, 0, 1, 6, 2 },
    368  { 74, { FORMAT_A1 }, 2, { 1 }, { 8, 9 }, 2, 0, 2, 6, 2 },
    369  { 75, { FORMAT_A1 }, 2, { 1 }, { 4, 9 }, 2, 0, 2, 6, 2 },
    370  { 76, { FORMAT_A1 }, 2, { 1 }, { 2, 3, 4, 7, 8, 9 }, 6, 0, 1, 6, 2 },
    371  { 77, { FORMAT_A1 }, 1, { 0 }, { 9 }, 1, 0, 2, 6, 2 },
    372  { 78, { FORMAT_A1 }, 1, { 0 }, { 9 }, 1, 7, 1, 3, 2 },
    373  { 79, { FORMAT_A1 }, 1, { 0 }, { 9 }, 1, 0, 1, 6, 2 },
    374  { 80, { FORMAT_A1 }, 1, { 0 }, { 8, 9 }, 2, 0, 2, 6, 2 },
    375  { 81, { FORMAT_A1 }, 1, { 0 }, { 4, 9 }, 2, 0, 1, 6, 2 },
    376  { 82, { FORMAT_A1 }, 1, { 0 }, { 7, 9 }, 2, 7, 1, 3, 2 },
    377  { 83, { FORMAT_A1 }, 1, { 0 }, { 3, 4, 8, 9 }, 4, 0, 1, 6, 2 },
    378  { 84, { FORMAT_A1 }, 1, { 0 }, { 3, 4, 8, 9 }, 4, 0, 2, 6, 2 },
    379  { 85, { FORMAT_A1 }, 1, { 0 }, { 1, 3, 5, 7, 9 }, 5, 0, 1, 6, 2 },
    380  { 86, { FORMAT_A1 }, 1, { 0 }, { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }, 10, 0, 1, 3, 2 },
    381  { 87, { FORMAT_A2 }, 16, { 1 }, { 9 }, 1, 0, 2, 3, 4 },
    382  { 88, { FORMAT_A2 }, 8, { 1 }, { 9 }, 1, 0, 2, 3, 4 },
    383  { 89, { FORMAT_A2 }, 4, { 1 }, { 9 }, 1, 0, 1, 3, 4 },
    384  { 90, { FORMAT_A2 }, 2, { 1 }, { 7, 9 }, 2, 0, 1, 3, 4 },
    385  { 91, { FORMAT_A2 }, 2, { 1 }, { 8, 9 }, 2, 0, 2, 3, 4 },
    386  { 92, { FORMAT_A2 }, 2, { 1 }, { 7, 9 }, 2, 9, 1, 1, 4 },
    387  { 93, { FORMAT_A2 }, 2, { 1 }, { 4, 9 }, 2, 9, 1, 1, 4 },
    388  { 94, { FORMAT_A2 }, 2, { 1 }, { 4, 9 }, 2, 0, 2, 3, 4 },
    389  { 95, { FORMAT_A2 }, 16, { 1 }, { 2, 3, 4, 7, 8, 9 }, 6, 0, 1, 3, 4 },
    390  { 96, { FORMAT_A2 }, 1, { 0 }, { 2 }, 1, 0, 1, 3, 4 },
    391  { 97, { FORMAT_A2 }, 1, { 0 }, { 9 }, 1, 0, 1, 3, 4 },
    392  { 98, { FORMAT_A2 }, 2, { 1 }, { 9 }, 1, 0, 1, 3, 4 },
    393  { 99, { FORMAT_A2 }, 1, { 0 }, { 9 }, 1, 0, 2, 3, 4 },
    394  { 100, { FORMAT_A2 }, 1, { 0 }, { 9 }, 1, 9, 1, 1, 4 },
    395  { 101, { FORMAT_A2 }, 1, { 0 }, { 9 }, 1, 0, 1, 3, 4 },
    396  { 102, { FORMAT_A2 }, 1, { 0 }, { 2, 7 }, 2, 0, 1, 3, 4 },
    397  { 103, { FORMAT_A2 }, 1, { 0 }, { 8, 9 }, 2, 0, 2, 3, 4 },
    398  { 104, { FORMAT_A2 }, 1, { 0 }, { 4, 9 }, 2, 0, 1, 3, 4 },
    399  { 105, { FORMAT_A2 }, 1, { 0 }, { 7, 9 }, 2, 9, 1, 1, 4 },
    400  { 106, { FORMAT_A2 }, 1, { 0 }, { 3, 4, 8, 9 }, 4, 0, 1, 3, 4 },
    401  { 107, { FORMAT_A2 }, 1, { 0 }, { 3, 4, 8, 9 }, 4, 0, 2, 3, 4 },
    402  { 108, { FORMAT_A2 }, 1, { 0 }, { 1, 3, 5, 7, 9 }, 5, 0, 1, 3, 4 },
    403  { 109, { FORMAT_A2 }, 1, { 0 }, { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }, 10, 9, 1, 1, 4 },
    404  { 110, { FORMAT_A3 }, 16, { 1 }, { 9 }, 1, 0, 2, 2, 6 },
    405  { 111, { FORMAT_A3 }, 8, { 1 }, { 9 }, 1, 0, 2, 2, 6 },
    406  { 112, { FORMAT_A3 }, 4, { 1 }, { 9 }, 1, 0, 1, 2, 6 },
    407  { 113, { FORMAT_A3 }, 2, { 1 }, { 4, 9 }, 2, 7, 1, 1, 6 },
    408  { 114, { FORMAT_A3 }, 2, { 1 }, { 7, 9 }, 2, 7, 1, 1, 6 },
    409  { 115, { FORMAT_A3 }, 2, { 1 }, { 7, 9 }, 2, 0, 1, 2, 6 },
    410  { 116, { FORMAT_A3 }, 2, { 1 }, { 4, 9 }, 2, 0, 2, 2, 6 },
    411  { 117, { FORMAT_A3 }, 2, { 1 }, { 8, 9 }, 2, 0, 2, 2, 6 },
    412  { 118, { FORMAT_A3 }, 2, { 1 }, { 2, 3, 4, 7, 8, 9 }, 6, 0, 1, 2, 6 },
    413  { 119, { FORMAT_A3 }, 1, { 0 }, { 2 }, 1, 0, 1, 2, 6 },
    414  { 120, { FORMAT_A3 }, 1, { 0 }, { 7 }, 1, 0, 1, 2, 6 },
    415  { 121, { FORMAT_A3 }, 2, { 1 }, { 9 }, 1, 0, 1, 2, 6 },
    416  { 122, { FORMAT_A3 }, 1, { 0 }, { 9 }, 1, 0, 2, 2, 6 },
    417  { 123, { FORMAT_A3 }, 1, { 0 }, { 9 }, 1, 7, 1, 1, 6 },
    418  { 124, { FORMAT_A3 }, 1, { 0 }, { 9 }, 1, 0, 1, 2, 6 },
    419  { 125, { FORMAT_A3 }, 1, { 0 }, { 2, 7 }, 2, 0, 1, 2, 6 },
    420  { 126, { FORMAT_A3 }, 1, { 0 }, { 8, 9 }, 2, 0, 2, 2, 6 },
    421  { 127, { FORMAT_A3 }, 1, { 0 }, { 4, 9 }, 2, 0, 1, 2, 6 },
    422  { 128, { FORMAT_A3 }, 1, { 0 }, { 7, 9 }, 2, 7, 1, 1, 6 },
    423  { 129, { FORMAT_A3 }, 1, { 0 }, { 3, 4, 8, 9 }, 4, 0, 1, 2, 6 },
    424  { 130, { FORMAT_A3 }, 1, { 0 }, { 3, 4, 8, 9 }, 4, 0, 2, 2, 6 },
    425  { 131, { FORMAT_A3 }, 1, { 0 }, { 1, 3, 5, 7, 9 }, 5, 0, 1, 2, 6 },
    426  { 132, { FORMAT_A3 }, 1, { 0 }, { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }, 10, 7, 1, 1, 6 },
    427  { 133, { FORMAT_B1 }, 4, { 1 }, { 9 }, 1, 2, 1, 6, 2 },
    428  { 134, { FORMAT_B1 }, 2, { 1 }, { 9 }, 1, 2, 1, 6, 2 },
    429  { 135, { FORMAT_B1 }, 2, { 1 }, { 7, 9 }, 2, 2, 1, 6, 2 },
    430  { 136, { FORMAT_B1 }, 2, { 1 }, { 4, 9 }, 2, 8, 1, 3, 2 },
    431  { 137, { FORMAT_B1 }, 2, { 1 }, { 4, 9 }, 2, 2, 2, 6, 2 },
    432  { 138, { FORMAT_B1 }, 1, { 0 }, { 9 }, 1, 2, 2, 6, 2 },
    433  { 139, { FORMAT_B1 }, 1, { 0 }, { 9 }, 1, 8, 1, 3, 2 },
    434  { 140, { FORMAT_B1 }, 1, { 0 }, { 9 }, 1, 2, 1, 6, 2 },
    435  { 141, { FORMAT_B1 }, 1, { 0 }, { 8, 9 }, 2, 2, 2, 6, 2 },
    436  { 142, { FORMAT_B1 }, 1, { 0 }, { 4, 9 }, 2, 2, 1, 6, 2 },
    437  { 143, { FORMAT_B1 }, 1, { 0 }, { 7, 9 }, 2, 8, 1, 3, 2 },
    438  { 144, { FORMAT_B1 }, 1, { 0 }, { 1, 3, 5, 7, 9 }, 5, 2, 1, 6, 2 },
    439  { 145, { FORMAT_B4 }, 16, { 1 }, { 9 }, 1, 0, 2, 1, 12 },
    440  { 146, { FORMAT_B4 }, 8, { 1 }, { 9 }, 1, 0, 2, 1, 12 },
    441  { 147, { FORMAT_B4 }, 4, { 1 }, { 9 }, 1, 2, 1, 1, 12 },
    442  { 148, { FORMAT_B4 }, 2, { 1 }, { 9 }, 1, 0, 1, 1, 12 },
    443  { 149, { FORMAT_B4 }, 2, { 1 }, { 9 }, 1, 2, 1, 1, 12 },
    444  { 150, { FORMAT_B4 }, 2, { 1 }, { 7, 9 }, 2, 2, 1, 1, 12 },
    445  { 151, { FORMAT_B4 }, 2, { 1 }, { 4, 9 }, 2, 2, 1, 1, 12 },
    446  { 152, { FORMAT_B4 }, 2, { 1 }, { 4, 9 }, 2, 0, 2, 1, 12 },
    447  { 153, { FORMAT_B4 }, 2, { 1 }, { 8, 9 }, 2, 0, 2, 1, 12 },
    448  { 154, { FORMAT_B4 }, 2, { 1 }, { 2, 3, 4, 7, 8, 9 }, 6, 0, 1, 1, 12 },
    449  { 155, { FORMAT_B4 }, 1, { 0 }, { 1 }, 1, 0, 1, 1, 12 },
    450  { 156, { FORMAT_B4 }, 1, { 0 }, { 2 }, 1, 0, 1, 1, 12 },
    451  { 157, { FORMAT_B4 }, 1, { 0 }, { 4 }, 1, 0, 1, 1, 12 },
    452  { 158, { FORMAT_B4 }, 1, { 0 }, { 7 }, 1, 0, 1, 1, 12 },
    453  { 159, { FORMAT_B4 }, 1, { 0 }, { 9 }, 1, 0, 1, 1, 12 },
    454  { 160, { FORMAT_B4 }, 1, { 0 }, { 9 }, 1, 2, 1, 1, 12 },
    455  { 161, { FORMAT_B4 }, 1, { 0 }, { 9 }, 1, 0, 2, 1, 12 },
    456  { 162, { FORMAT_B4 }, 1, { 0 }, { 4, 9 }, 2, 2, 1, 1, 12 },
    457  { 163, { FORMAT_B4 }, 1, { 0 }, { 7, 9 }, 2, 2, 1, 1, 12 },
    458  { 164, { FORMAT_B4 }, 1, { 0 }, { 8, 9 }, 2, 0, 2, 1, 12 },
    459  { 165, { FORMAT_B4 }, 1, { 0 }, { 3, 4, 8, 9 }, 4, 2, 1, 1, 12 },
    460  { 166, { FORMAT_B4 }, 1, { 0 }, { 1, 3, 5, 7, 9 }, 5, 2, 1, 1, 12 },
    461  { 167, { FORMAT_B4 }, 1, { 0 }, { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }, 10, 0, 2, 1, 12 },
    462  { 168, { FORMAT_B4 }, 1, { 0 }, { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }, 10, 2, 1, 1, 12 },
    463  { 169, { FORMAT_C0 }, 16, { 1 }, { 9 }, 1, 2, 2, 6, 2 },
    464  { 170, { FORMAT_C0 }, 8, { 1 }, { 9 }, 1, 2, 2, 6, 2 },
    465  { 171, { FORMAT_C0 }, 4, { 1 }, { 9 }, 1, 2, 1, 6, 2 },
    466  { 172, { FORMAT_C0 }, 2, { 1 }, { 9 }, 1, 2, 1, 6, 2 },
    467  { 173, { FORMAT_C0 }, 2, { 1 }, { 8, 9 }, 2, 2, 2, 6, 2 },
    468  { 174, { FORMAT_C0 }, 2, { 1 }, { 7, 9 }, 2, 2, 1, 6, 2 },
    469  { 175, { FORMAT_C0 }, 2, { 1 }, { 7, 9 }, 2, 8, 1, 3, 2 },
    470  { 176, { FORMAT_C0 }, 2, { 1 }, { 4, 9 }, 2, 8, 1, 3, 2 },
    471  { 177, { FORMAT_C0 }, 2, { 1 }, { 4, 9 }, 2, 2, 2, 6, 2 },
    472  { 178, { FORMAT_C0 }, 2, { 1 }, { 2, 3, 4, 7, 8, 9 }, 6, 2, 1, 6, 2 },
    473  { 179, { FORMAT_C0 }, 1, { 0 }, { 9 }, 1, 2, 2, 6, 2 },
    474  { 180, { FORMAT_C0 }, 1, { 0 }, { 9 }, 1, 8, 1, 3, 2 },
    475  { 181, { FORMAT_C0 }, 1, { 0 }, { 9 }, 1, 2, 1, 6, 2 },
    476  { 182, { FORMAT_C0 }, 1, { 0 }, { 8, 9 }, 2, 2, 2, 6, 2 },
    477  { 183, { FORMAT_C0 }, 1, { 0 }, { 4, 9 }, 2, 2, 1, 6, 2 },
    478  { 184, { FORMAT_C0 }, 1, { 0 }, { 7, 9 }, 2, 8, 1, 3, 2 },
    479  { 185, { FORMAT_C0 }, 1, { 0 }, { 3, 4, 8, 9 }, 4, 2, 1, 6, 2 },
    480  { 186, { FORMAT_C0 }, 1, { 0 }, { 3, 4, 8, 9 }, 4, 2, 2, 6, 2 },
    481  { 187, { FORMAT_C0 }, 1, { 0 }, { 1, 3, 5, 7, 9 }, 5, 2, 1, 6, 2 },
    482  { 188, { FORMAT_C0 }, 1, { 0 }, { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }, 10, 8, 1, 3, 2 },
    483  { 189, { FORMAT_C2 }, 16, { 1 }, { 9 }, 1, 2, 2, 2, 6 },
    484  { 190, { FORMAT_C2 }, 8, { 1 }, { 9 }, 1, 2, 2, 2, 6 },
    485  { 191, { FORMAT_C2 }, 4, { 1 }, { 9 }, 1, 2, 1, 2, 6 },
    486  { 192, { FORMAT_C2 }, 2, { 1 }, { 9 }, 1, 2, 1, 2, 6 },
    487  { 193, { FORMAT_C2 }, 2, { 1 }, { 8, 9 }, 2, 2, 2, 2, 6 },
    488  { 194, { FORMAT_C2 }, 2, { 1 }, { 7, 9 }, 2, 2, 1, 2, 6 },
    489  { 195, { FORMAT_C2 }, 2, { 1 }, { 7, 9 }, 2, 8, 1, 1, 6 },
    490  { 196, { FORMAT_C2 }, 2, { 1 }, { 4, 9 }, 2, 8, 1, 1, 6 },
    491  { 197, { FORMAT_C2 }, 2, { 1 }, { 4, 9 }, 2, 2, 2, 2, 6 },
    492  { 198, { FORMAT_C2 }, 2, { 1 }, { 2, 3, 4, 7, 8, 9 }, 6, 2, 1, 2, 6 },
    493  { 199, { FORMAT_C2 }, 8, { 1 }, { 9 }, 1, 8, 2, 1, 6 },
    494  { 200, { FORMAT_C2 }, 4, { 1 }, { 9 }, 1, 8, 1, 1, 6 },
    495  { 201, { FORMAT_C2 }, 1, { 0 }, { 9 }, 1, 2, 2, 2, 6 },
    496  { 202, { FORMAT_C2 }, 1, { 0 }, { 9 }, 1, 8, 1, 1, 6 },
    497  { 203, { FORMAT_C2 }, 1, { 0 }, { 9 }, 1, 2, 1, 2, 6 },
    498  { 204, { FORMAT_C2 }, 1, { 0 }, { 8, 9 }, 2, 2, 2, 2, 6 },
    499  { 205, { FORMAT_C2 }, 1, { 0 }, { 4, 9 }, 2, 2, 1, 2, 6 },
    500  { 206, { FORMAT_C2 }, 1, { 0 }, { 7, 9 }, 2, 8, 1, 1, 6 },
    501  { 207, { FORMAT_C2 }, 1, { 0 }, { 3, 4, 8, 9 }, 4, 2, 1, 2, 6 },
    502  { 208, { FORMAT_C2 }, 1, { 0 }, { 3, 4, 8, 9 }, 4, 2, 2, 2, 6 },
    503  { 209, { FORMAT_C2 }, 1, { 0 }, { 1, 3, 5, 7, 9 }, 5, 2, 1, 2, 6 },
    504  { 210, { FORMAT_C2 }, 1, { 0 }, { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }, 10, 8, 1, 1, 6 },
    505  { 211, { FORMAT_A1, FORMAT_B1 }, 2, { 1 }, { 9 }, 1, 2, 1, 6, 2 },
    506  { 212, { FORMAT_A1, FORMAT_B1 }, 2, { 1 }, { 4, 9 }, 2, 8, 1, 3, 2 },
    507  { 213, { FORMAT_A1, FORMAT_B1 }, 2, { 1 }, { 7, 9 }, 2, 8, 1, 3, 2 },
    508  { 214, { FORMAT_A1, FORMAT_B1 }, 2, { 1 }, { 7, 9 }, 2, 2, 1, 6, 2 },
    509  { 215, { FORMAT_A1, FORMAT_B1 }, 2, { 1 }, { 4, 9 }, 2, 2, 2, 6, 2 },
    510  { 216, { FORMAT_A1, FORMAT_B1 }, 2, { 1 }, { 8, 9 }, 2, 2, 2, 6, 2 },
    511  { 217, { FORMAT_A1, FORMAT_B1 }, 1, { 0 }, { 9 }, 1, 2, 2, 6, 2 },
    512  { 218, { FORMAT_A1, FORMAT_B1 }, 1, { 0 }, { 9 }, 1, 8, 1, 3, 2 },
    513  { 219, { FORMAT_A1, FORMAT_B1 }, 1, { 0 }, { 9 }, 1, 2, 1, 6, 2 },
    514  { 220, { FORMAT_A1, FORMAT_B1 }, 1, { 0 }, { 8, 9 }, 2, 2, 2, 6, 2 },
    515  { 221, { FORMAT_A1, FORMAT_B1 }, 1, { 0 }, { 4, 9 }, 2, 2, 1, 6, 2 },
    516  { 222, { FORMAT_A1, FORMAT_B1 }, 1, { 0 }, { 7, 9 }, 2, 8, 1, 3, 2 },
    517  { 223, { FORMAT_A1, FORMAT_B1 }, 1, { 0 }, { 3, 4, 8, 9 }, 4, 2, 2, 6, 2 },
    518  { 224, { FORMAT_A1, FORMAT_B1 }, 1, { 0 }, { 1, 3, 5, 7, 9 }, 5, 2, 1, 6, 2 },
    519  { 225, { FORMAT_A1, FORMAT_B1 }, 1, { 0 }, { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }, 10, 8, 1, 3, 2 },
    520  { 226, { FORMAT_A2, FORMAT_B2 }, 2, { 1 }, { 9 }, 1, 0, 1, 3, 4 },
    521  { 227, { FORMAT_A2, FORMAT_B2 }, 2, { 1 }, { 4, 9 }, 2, 6, 1, 2, 4 },
    522  { 228, { FORMAT_A2, FORMAT_B2 }, 2, { 1 }, { 7, 9 }, 2, 6, 1, 2, 4 },
    523  { 229, { FORMAT_A2, FORMAT_B2 }, 2, { 1 }, { 4, 9 }, 2, 0, 2, 3, 4 },
    524  { 230, { FORMAT_A2, FORMAT_B2 }, 2, { 1 }, { 8, 9 }, 2, 0, 2, 3, 4 },
    525  { 231, { FORMAT_A2, FORMAT_B2 }, 1, { 0 }, { 9 }, 1, 0, 2, 3, 4 },
    526  { 232, { FORMAT_A2, FORMAT_B2 }, 1, { 0 }, { 9 }, 1, 6, 1, 2, 4 },
    527  { 233, { FORMAT_A2, FORMAT_B2 }, 1, { 0 }, { 9 }, 1, 0, 1, 3, 4 },
    528  { 234, { FORMAT_A2, FORMAT_B2 }, 1, { 0 }, { 8, 9 }, 2, 0, 2, 3, 4 },
    529  { 235, { FORMAT_A2, FORMAT_B2 }, 1, { 0 }, { 4, 9 }, 2, 0, 1, 3, 4 },
    530  { 236, { FORMAT_A2, FORMAT_B2 }, 1, { 0 }, { 7, 9 }, 2, 6, 1, 2, 4 },
    531  { 237, { FORMAT_A2, FORMAT_B2 }, 1, { 0 }, { 3, 4, 8, 9 }, 4, 0, 1, 3, 4 },
    532  { 238, { FORMAT_A2, FORMAT_B2 }, 1, { 0 }, { 3, 4, 8, 9 }, 4, 0, 2, 3, 4 },
    533  { 239, { FORMAT_A2, FORMAT_B2 }, 1, { 0 }, { 1, 3, 5, 7, 9 }, 5, 0, 1, 3, 4 },
    534  { 240, { FORMAT_A2, FORMAT_B2 }, 1, { 0 }, { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }, 10, 6, 1, 2, 4 },
    535  { 241, { FORMAT_A3, FORMAT_B3 }, 2, { 1 }, { 9 }, 1, 0, 1, 2, 6 },
    536  { 242, { FORMAT_A3, FORMAT_B3 }, 2, { 1 }, { 4, 9 }, 2, 2, 1, 2, 6 },
    537  { 243, { FORMAT_A3, FORMAT_B3 }, 2, { 1 }, { 7, 9 }, 2, 0, 1, 2, 6 },
    538  { 244, { FORMAT_A3, FORMAT_B3 }, 2, { 1 }, { 7, 9 }, 2, 2, 1, 2, 6 },
    539  { 245, { FORMAT_A3, FORMAT_B3 }, 2, { 1 }, { 4, 9 }, 2, 0, 2, 2, 6 },
    540  { 246, { FORMAT_A3, FORMAT_B3 }, 2, { 1 }, { 8, 9 }, 2, 0, 2, 2, 6 },
    541  { 247, { FORMAT_A3, FORMAT_B3 }, 1, { 0 }, { 9 }, 1, 0, 2, 2, 6 },
    542  { 248, { FORMAT_A3, FORMAT_B3 }, 1, { 0 }, { 9 }, 1, 2, 1, 2, 6 },
    543  { 249, { FORMAT_A3, FORMAT_B3 }, 1, { 0 }, { 9 }, 1, 0, 1, 2, 6 },
    544  { 250, { FORMAT_A3, FORMAT_B3 }, 1, { 0 }, { 8, 9 }, 2, 0, 2, 2, 6 },
    545  { 251, { FORMAT_A3, FORMAT_B3 }, 1, { 0 }, { 4, 9 }, 2, 0, 1, 2, 6 },
    546  { 252, { FORMAT_A3, FORMAT_B3 }, 1, { 0 }, { 7, 9 }, 2, 2, 1, 2, 6 },
    547  { 253, { FORMAT_A3, FORMAT_B3 }, 1, { 0 }, { 3, 4, 8, 9 }, 3, 0, 2, 2, 6 },
    548  { 254, { FORMAT_A3, FORMAT_B3 }, 1, { 0 }, { 1, 3, 5, 7, 9 }, 5, 0, 1, 2, 6 },
    549  { 255, { FORMAT_A3, FORMAT_B3 }, 1, { 0 }, { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }, 10, 2, 1, 2, 6 },
    550 };
    551 
    552 /* 3GPP 38.211-f20 Table - 6.3.3.2-4 */
    554 {
    555  { 0, { FORMAT_A1 }, 16, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 0, 2, 6, 2 },
    556  { 1, { FORMAT_A1 }, 16, { 1 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 0, 1, 6, 2 },
    557  { 2, { FORMAT_A1 }, 8, { 1, 2 }, { 9, 19, 29, 39 }, 4, 0, 2, 6, 2 },
    558  { 3, { FORMAT_A1 }, 8, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 0, 2, 6, 2 },
    559  { 4, { FORMAT_A1 }, 8, { 1 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 0, 1, 6, 2 },
    560  { 5, { FORMAT_A1 }, 4, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 0, 1, 6, 2 },
    561  { 6, { FORMAT_A1 }, 4, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 0, 2, 6, 2 },
    562  { 7, { FORMAT_A1 }, 4, { 1 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 0, 1, 6, 2 },
    563  { 8, { FORMAT_A1 }, 2, { 1 }, { 7, 15, 23, 31, 39 }, 5, 0, 2, 6, 2 },
    564  { 9, { FORMAT_A1 }, 2, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 0, 1, 6, 2 },
    565  { 10, { FORMAT_A1 }, 2, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 0, 2, 6, 2 },
    566  { 11, { FORMAT_A1 }, 2, { 1 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 0, 1, 6, 2 },
    567  { 12, { FORMAT_A1 }, 1, { 0 }, { 19, 39 }, 2, 7, 1, 3, 2 },
    568  { 13, { FORMAT_A1 }, 1, { 0 }, { 3, 5, 7 }, 2, 0, 1, 6, 2 },
    569  { 14, { FORMAT_A1 }, 1, { 0 }, { 24, 29, 34, 39 }, 4, 7, 1, 3, 2 },
    570  { 15, { FORMAT_A1 }, 1, { 0 }, { 9, 19, 29, 39 }, 4, 7, 2, 3, 2 },
    571  { 16, { FORMAT_A1 }, 1, { 0 }, { 17, 19, 37, 39 }, 4, 0, 1, 6, 2 },
    572  { 17, { FORMAT_A1 }, 1, { 0 }, { 9, 19, 29, 39 }, 4, 0, 2, 6, 2 },
    573  { 18, { FORMAT_A1 }, 1, { 0 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 0, 1, 6, 2 },
    574  { 19, { FORMAT_A1 }, 1, { 0 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 7, 1, 3, 2 },
    575  { 20, { FORMAT_A1 }, 1, { 0 }, { 3, 5, 7, 9, 11, 13 }, 6, 7, 1, 3, 2 },
    576  { 21, { FORMAT_A1 }, 1, { 0 }, { 23, 27, 31, 35, 39 }, 5, 7, 1, 3, 2 },
    577  { 22, { FORMAT_A1 }, 1, { 0 }, { 7, 15, 23, 31, 39 }, 5, 0, 1, 6, 2 },
    578  { 23, { FORMAT_A1 }, 1, { 0 }, { 23, 27, 31, 35, 39 }, 5, 0, 1, 6, 2 },
    579  { 24, { FORMAT_A1 }, 1, { 0 }, { 13, 14, 15, 29, 30, 31, 37, 38, 39 }, 10, 7, 2, 3, 2 },
    580  { 25, { FORMAT_A1 }, 1, { 0 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 7, 1, 3, 2 },
    581  { 26, { FORMAT_A1 }, 1, { 0 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 0, 1, 6, 2 },
    582  { 27, { FORMAT_A1 }, 1, { 0 }, { 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21,
    583  23, 25, 27, 29, 31, 33, 35, 37, 39 }, 15, 0, 1, 6, 2 },
    584  { 28, { FORMAT_A1 }, 1, { 0 }, { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
    585  14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
    586  24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
    587  34, 35, 36, 37, 38, 39 }, 40, 7, 1, 3, 2 },
    588  { 29, { FORMAT_A2 }, 16, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 0, 2, 3, 4 },
    589  { 30, { FORMAT_A2 }, 16, { 1 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 0, 1, 3, 4 },
    590  { 31, { FORMAT_A2 }, 8, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 10, 0, 2, 3, 4 },
    591  { 32, { FORMAT_A2 }, 8, { 1 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 0, 1, 3, 4 },
    592  { 33, { FORMAT_A2 }, 8, { 1, 2 }, { 9, 19, 29, 39 }, 4, 0, 2, 3, 4 },
    593  { 34, { FORMAT_A2 }, 4, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 0, 1, 3, 4 },
    594  { 35, { FORMAT_A2 }, 4, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 0, 2, 3, 4 },
    595  { 36, { FORMAT_A2 }, 4, { 1 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 0, 1, 3, 4 },
    596  { 37, { FORMAT_A2 }, 2, { 1 }, { 7, 15, 23, 31, 39 }, 5, 0, 2, 3, 4 },
    597  { 38, { FORMAT_A2 }, 2, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 0, 1, 3, 4 },
    598  { 39, { FORMAT_A2 }, 2, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 0, 2, 3, 4 },
    599  { 40, { FORMAT_A2 }, 2, { 1 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 0, 1, 3, 4 },
    600  { 41, { FORMAT_A2 }, 1, { 0 }, { 19, 39 }, 2, 5, 1, 2, 4 },
    601  { 42, { FORMAT_A2 }, 1, { 0 }, { 3, 5, 7 }, 3, 0, 1, 3, 4 },
    602  { 43, { FORMAT_A2 }, 1, { 0 }, { 24, 29, 34, 39 }, 4, 5, 1, 2, 4 },
    603  { 44, { FORMAT_A2 }, 1, { 0 }, { 9, 19, 29, 39 }, 4, 5, 2, 2, 4 },
    604  { 45, { FORMAT_A2 }, 1, { 0 }, { 17, 19, 37, 39 }, 4, 0, 1, 3, 4 },
    605  { 46, { FORMAT_A2 }, 1, { 0 }, { 9, 19, 29, 39 }, 4, 0, 2, 3, 4 },
    606  { 47, { FORMAT_A2 }, 1, { 0 }, { 7, 15, 23, 31, 39 }, 5, 0, 1, 3, 4 },
    607  { 48, { FORMAT_A2 }, 1, { 0 }, { 23, 27, 31, 35, 39 }, 5, 5, 1, 2, 4 },
    608  { 49, { FORMAT_A2 }, 1, { 0 }, { 23, 27, 31, 35, 39 }, 5, 0, 1, 3, 4 },
    609  { 50, { FORMAT_A2 }, 1, { 0 }, { 3, 5, 7, 9, 11, 13 }, 6, 5, 1, 2, 4 },
    610  { 51, { FORMAT_A2 }, 1, { 0 }, { 3, 5, 7, 9, 11, 13 }, 6, 0, 1, 3, 4 },
    611  { 52, { FORMAT_A2 }, 1, { 0 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 5, 1, 2, 4 },
    612  { 53, { FORMAT_A2 }, 1, { 0 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 0, 1, 3, 4 },
    613  { 54, { FORMAT_A2 }, 1, { 0 }, { 13, 14, 15, 29, 30, 31, 37, 38, 39 }, 10, 5, 2, 2, 4 },
    614  { 55, { FORMAT_A2 }, 1, { 0 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 5, 1, 2, 4 },
    615  { 56, { FORMAT_A2 }, 1, { 0 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 0, 1, 3, 4 },
    616  { 57, { FORMAT_A2 }, 1, { 0 }, { 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21,
    617  23, 25, 27, 29, 31, 33, 35, 37, 39 }, 15, 0, 1, 3, 4 },
    618  { 58, { FORMAT_A2 }, 1, { 0 }, { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
    619  14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
    620  24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
    621  34, 35, 36, 37, 38, 39 }, 40, 5, 1, 2, 4 },
    622  { 59, { FORMAT_A3 }, 16, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 0, 2, 2, 6 },
    623  { 60, { FORMAT_A3 }, 16, { 1 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 0, 1, 2, 6 },
    624  { 61, { FORMAT_A3 }, 8, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 0, 2, 2, 6 },
    625  { 62, { FORMAT_A3 }, 8, { 1 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 0, 1, 2, 6 },
    626  { 63, { FORMAT_A3 }, 8, { 1, 2 }, { 9, 19, 29, 39 }, 4, 0, 2, 2, 6 },
    627  { 64, { FORMAT_A3 }, 4, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 0, 1, 2, 6 },
    628  { 65, { FORMAT_A3 }, 4, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 0, 2, 2, 6 },
    629  { 66, { FORMAT_A3 }, 4, { 1 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 0, 1, 2, 6 },
    630  { 67, { FORMAT_A3 }, 2, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 0, 1, 2, 6 },
    631  { 68, { FORMAT_A3 }, 2, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 0, 2, 2, 6 },
    632  { 69, { FORMAT_A3 }, 2, { 1 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 0, 1, 2, 6 },
    633  { 70, { FORMAT_A3 }, 1, { 0 }, { 19, 39 }, 2, 7, 1, 1, 6 },
    634  { 71, { FORMAT_A3 }, 1, { 0 }, { 3, 5, 7 }, 3, 0, 1, 2, 6 },
    635  { 72, { FORMAT_A3 }, 1, { 0 }, { 9, 11, 13 }, 3, 2, 1, 2, 6 },
    636  { 73, { FORMAT_A3 }, 1, { 0 }, { 24, 29, 34, 39 }, 4, 7, 1, 1, 6 },
    637  { 74, { FORMAT_A3 }, 1, { 0 }, { 9, 19, 29, 39 }, 4, 7, 2, 1, 6 },
    638  { 75, { FORMAT_A3 }, 1, { 0 }, { 17, 19, 37, 39 }, 4, 0, 1, 2, 6 },
    639  { 76, { FORMAT_A3 }, 1, { 0 }, { 9, 19, 29, 39 }, 4, 0, 2, 2, 6 },
    640  { 77, { FORMAT_A3 }, 1, { 0 }, { 7, 15, 23, 31, 39 }, 5, 0, 1, 2, 6 },
    641  { 78, { FORMAT_A3 }, 1, { 0 }, { 23, 27, 31, 35, 39 }, 5, 7, 1, 1, 6 },
    642  { 79, { FORMAT_A3 }, 1, { 0 }, { 23, 27, 31, 35, 39 }, 5, 0, 1, 2, 6 },
    643  { 80, { FORMAT_A3 }, 1, { 0 }, { 3, 5, 7, 9, 11, 13 }, 6, 0, 1, 2, 6 },
    644  { 81, { FORMAT_A3 }, 1, { 0 }, { 3, 5, 7, 9, 11, 13 }, 6, 7, 1, 1, 6 },
    645  { 82, { FORMAT_A3 }, 1, { 0 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 0, 1, 2, 6 },
    646  { 83, { FORMAT_A3 }, 1, { 0 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 7, 1, 1, 6 },
    647  { 84, { FORMAT_A3 }, 1, { 0 }, { 13, 14, 15, 29, 30, 31, 37, 38, 39 }, 10, 7, 2, 1, 6 },
    648  { 85, { FORMAT_A3 }, 1, { 0 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 7, 1, 1, 6 },
    649  { 86, { FORMAT_A3 }, 1, { 0 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 0, 1, 2, 6 },
    650  { 87, { FORMAT_A3 }, 1, { 0 }, { 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21,
    651  23, 25, 27, 29, 31, 33, 35, 37, 39 }, 15, 0, 1, 2, 6 },
    652  { 88, { FORMAT_A3 }, 1, { 0 }, { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
    653  14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
    654  24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
    655  34, 35, 36, 37, 38, 39 }, 40, 7, 1, 1, 6 },
    656  { 89, { FORMAT_B1 }, 16, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 2, 2, 6, 2 },
    657  { 90, { FORMAT_B1 }, 8, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 2, 2, 6, 2 },
    658  { 91, { FORMAT_B1 }, 8, { 1, 2 }, { 9, 19, 29, 39 }, 4, 2, 2, 6, 2 },
    659  { 92, { FORMAT_B1 }, 4, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 2, 2, 6, 2 },
    660  { 93, { FORMAT_B1 }, 2, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 2, 2, 6, 2 },
    661  { 94, { FORMAT_B1 }, 2, { 1 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 2, 1, 6, 2 },
    662  { 95, { FORMAT_B1 }, 1, { 0 }, { 19, 39 }, 2, 8, 1, 3, 2 },
    663  { 96, { FORMAT_B1 }, 1, { 0 }, { 3, 5, 7 }, 3, 2, 1, 6, 2 },
    664  { 97, { FORMAT_B1 }, 1, { 0 }, { 24, 29, 34, 39 }, 4, 8, 1, 3, 2 },
    665  { 98, { FORMAT_B1 }, 1, { 0 }, { 9, 19, 29, 39 }, 4, 8, 2, 3, 2 },
    666  { 99, { FORMAT_B1 }, 1, { 0 }, { 17, 19, 37, 39 }, 4, 2, 1, 6, 2 },
    667  { 100, { FORMAT_B1 }, 1, { 0 }, { 9, 19, 29, 39 }, 4, 2, 2, 6, 2 },
    668  { 101, { FORMAT_B1 }, 1, { 0 }, { 7, 15, 23, 31, 39 }, 5, 2, 1, 6, 2 },
    669  { 102, { FORMAT_B1 }, 1, { 0 }, { 23, 27, 31, 35, 39 }, 5, 8, 1, 3, 2 },
    670  { 103, { FORMAT_B1 }, 1, { 0 }, { 23, 27, 31, 35, 39 }, 5, 2, 1, 6, 2 },
    671  { 104, { FORMAT_B1 }, 1, { 0 }, { 3, 5, 7, 9, 11, 13 }, 6, 8, 1, 3, 2 },
    672  { 105, { FORMAT_B1 }, 1, { 0 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 8, 1, 3, 2 },
    673  { 106, { FORMAT_B1 }, 1, { 0 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 2, 1, 6, 2 },
    674  { 107, { FORMAT_B1 }, 1, { 0 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 8, 1, 3, 2 },
    675  { 108, { FORMAT_B1 }, 1, { 0 }, { 13, 14, 15, 29, 30, 31, 37, 38, 39 }, 10, 8, 2, 3, 2 },
    676  { 109, { FORMAT_B1 }, 1, { 0 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 2, 1, 6, 2 },
    677  { 110, { FORMAT_B1 }, 1, { 0 }, { 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21,
    678  23, 25, 27, 29, 31, 33, 35, 37, 39 }, 15, 2, 1, 6, 2 },
    679  { 111, { FORMAT_B1 }, 1, { 0 }, { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
    680  14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
    681  24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
    682  34, 35, 36, 37, 38, 39 }, 40, 8, 1, 3, 2 },
    683  { 112, { FORMAT_B4 }, 16, { 1, 2 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 0, 2, 1, 12 },
    684  { 113, { FORMAT_B4 }, 16, { 1, 2 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 0, 1, 1, 12 },
    685  { 114, { FORMAT_B4 }, 8, { 1, 2 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 0, 2, 1, 12 },
    686  { 115, { FORMAT_B4 }, 8, { 1, 2 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 0, 1, 1, 12 },
    687  { 116, { FORMAT_B4 }, 8, { 1, 2 }, { 9, 19, 29, 39 }, 4, 0, 2, 1, 12 },
    688  { 117, { FORMAT_B4 }, 4, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 0, 1, 1, 12 },
    689  { 118, { FORMAT_B4 }, 4, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 0, 2, 1, 12 },
    690  { 119, { FORMAT_B4 }, 4, { 1, 2 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 0, 1, 1, 12 },
    691  { 120, { FORMAT_B4 }, 2, { 1 }, { 7, 15, 23, 31, 39 }, 5, 2, 2, 1, 12 },
    692  { 121, { FORMAT_B4 }, 2, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 0, 1, 1, 12 },
    693  { 122, { FORMAT_B4 }, 2, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 0, 2, 1, 12 },
    694  { 123, { FORMAT_B4 }, 2, { 1 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 0, 1, 1, 12 },
    695  { 124, { FORMAT_B4 }, 1, { 0 }, { 19, 39 }, 2, 2, 2, 1, 12 },
    696  { 125, { FORMAT_B4 }, 1, { 0 }, { 17, 19, 37, 39 }, 4, 0, 1, 1, 12 },
    697  { 126, { FORMAT_B4 }, 1, { 0 }, { 24, 29, 34, 39 }, 4, 2, 1, 1, 12 },
    698  { 127, { FORMAT_B4 }, 1, { 0 }, { 9, 19, 29, 39 }, 4, 2, 2, 1, 12 },
    699  { 128, { FORMAT_B4 }, 1, { 0 }, { 9, 19, 29, 39 }, 4, 0, 2, 1, 12 },
    700  { 129, { FORMAT_B4 }, 1, { 0 }, { 7, 15, 23, 31, 39 }, 5, 0, 1, 1, 12 },
    701  { 130, { FORMAT_B4 }, 1, { 0 }, { 7, 15, 23, 31, 39 }, 5, 0, 2, 1, 12 },
    702  { 131, { FORMAT_B4 }, 1, { 0 }, { 23, 27, 31, 35, 39 }, 5, 0, 1, 1, 12 },
    703  { 132, { FORMAT_B4 }, 1, { 0 }, { 23, 27, 31, 35, 39 }, 5, 2, 2, 1, 12 },
    704  { 133, { FORMAT_B4 }, 1, { 0 }, { 9, 11, 13, 15, 17, 19 }, 6, 0, 1, 1, 12 },
    705  { 134, { FORMAT_B4 }, 1, { 0 }, { 3, 5, 7, 9, 11, 13 }, 6, 2, 1, 1, 12 },
    706  { 135, { FORMAT_B4 }, 1, { 0 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 0, 1, 1, 12 },
    707  { 136, { FORMAT_B4 }, 1, { 0 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 2, 2, 1, 12 },
    708  { 137, { FORMAT_B4 }, 1, { 0 }, { 13, 14, 15, 29, 30, 31, 37, 38, 39 }, 10, 2, 2, 1, 12 },
    709  { 138, { FORMAT_B4 }, 1, { 0 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 0, 1, 1, 12 },
    710  { 139, { FORMAT_B4 }, 1, { 0 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 2, 1, 1, 12 },
    711  { 140, { FORMAT_B4 }, 1, { 0 }, { 3, 5, 7, 9, 11, 13, 15, 17, 19, 21,
    712  23, 25 }, 12, 2, 1, 1, 12 },
    713  { 141, { FORMAT_B4 }, 1, { 0 }, { 3, 5, 7, 9, 11, 13, 15, 17, 19, 21,
    714  23, 25 }, 12, 0, 2, 1, 12 },
    715  { 142, { FORMAT_B4 }, 1, { 0 }, { 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21,
    716  23, 25, 27, 29, 31, 33, 35, 37, 39 }, 15, 0, 1, 1, 12 },
    717  { 143, { FORMAT_B4 }, 1, { 0 }, { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
    718  14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
    719  24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
    720  34, 35, 36, 37, 38, 39 }, 40, 2, 1, 1, 12 },
    721  { 144, { FORMAT_C0 }, 16, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 0, 2, 7, 2 },
    722  { 145, { FORMAT_C0 }, 16, { 1 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 0, 1, 7, 2 },
    723  { 146, { FORMAT_C0 }, 8, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 0, 1, 7, 2 },
    724  { 147, { FORMAT_C0 }, 8, { 1 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 0, 1, 7, 2 },
    725  { 148, { FORMAT_C0 }, 8, { 1, 2 }, { 9, 19, 29, 39 }, 4, 0, 2, 7, 2 },
    726  { 149, { FORMAT_C0 }, 4, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 0, 1, 7, 2 },
    727  { 150, { FORMAT_C0 }, 4, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 0, 2, 7, 2 },
    728  { 151, { FORMAT_C0 }, 4, { 1 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 0, 1, 7, 2 },
    729  { 152, { FORMAT_C0 }, 2, { 1 }, { 7, 15, 23, 31, 39 }, 5, 0, 2, 7, 2 },
    730  { 153, { FORMAT_C0 }, 2, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 0, 1, 7, 2 },
    731  { 154, { FORMAT_C0 }, 2, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 0, 2, 7, 2 },
    732  { 155, { FORMAT_C0 }, 2, { 1 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 0, 1, 7, 2 },
    733  { 156, { FORMAT_C0 }, 1, { 0 }, { 19, 39 }, 2, 8, 1, 3, 2 },
    734  { 157, { FORMAT_C0 }, 1, { 0 }, { 3, 5, 7 }, 3, 0, 1, 7, 2 },
    735  { 158, { FORMAT_C0 }, 1, { 0 }, { 24, 29, 34, 39 }, 4, 8, 1, 3, 2 },
    736  { 159, { FORMAT_C0 }, 1, { 0 }, { 9, 19, 29, 39 }, 4, 8, 2, 3, 2 },
    737  { 160, { FORMAT_C0 }, 1, { 0 }, { 17, 19, 37, 39 }, 4, 0, 1, 7, 2 },
    738  { 161, { FORMAT_C0 }, 1, { 0 }, { 9, 19, 29, 39 }, 4, 0, 2, 7, 2 },
    739  { 162, { FORMAT_C0 }, 1, { 0 }, { 23, 27, 31, 35, 39 }, 5, 8, 1, 3, 2 },
    740  { 163, { FORMAT_C0 }, 1, { 0 }, { 7, 15, 23, 31, 39 }, 5, 0, 1, 7, 2 },
    741  { 164, { FORMAT_C0 }, 1, { 0 }, { 23, 27, 31, 35, 39 }, 5, 0, 1, 7, 2 },
    742  { 165, { FORMAT_C0 }, 1, { 0 }, { 3, 5, 7, 9, 11, 13 }, 6, 8, 1, 3, 2 },
    743  { 166, { FORMAT_C0 }, 1, { 0 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 8, 1, 3, 2 },
    744  { 167, { FORMAT_C0 }, 1, { 0 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 0, 1, 7, 2 },
    745  { 168, { FORMAT_C0 }, 1, { 0 }, { 13, 14, 15, 29, 30, 31, 37, 38, 39 }, 10, 8, 2, 3, 2 },
    746  { 169, { FORMAT_C0 }, 1, { 0 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 8, 1, 3, 2 },
    747  { 170, { FORMAT_C0 }, 1, { 0 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 0, 1, 7, 2 },
    748  { 171, { FORMAT_C0 }, 1, { 0 }, { 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21,
    749  23, 25, 27, 29, 31, 33, 35, 37, 39 }, 15, 0, 1, 7, 2 },
    750  { 172, { FORMAT_C0 }, 1, { 0 }, { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
    751  14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
    752  24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
    753  34, 35, 36, 37, 38, 39 }, 40, 8, 1, 3, 2 },
    754  { 173, { FORMAT_C2 }, 16, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 0, 2, 2, 6 },
    755  { 174, { FORMAT_C2 }, 16, { 1 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 0, 1, 2, 6 },
    756  { 175, { FORMAT_C2 }, 8, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 0, 2, 2, 6 },
    757  { 176, { FORMAT_C2 }, 8, { 1 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 0, 1, 2, 6 },
    758  { 177, { FORMAT_C2 }, 8, { 1, 2 }, { 9, 19, 29, 39 }, 4, 0, 2, 2, 6 },
    759  { 178, { FORMAT_C2 }, 4, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 0, 1, 2, 6 },
    760  { 179, { FORMAT_C2 }, 4, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 0, 2, 2, 6 },
    761  { 180, { FORMAT_C2 }, 4, { 1 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 0, 1, 2, 6 },
    762  { 181, { FORMAT_C2 }, 2, { 1 }, { 7, 15, 23, 31, 39 }, 5, 2, 2, 2, 6 },
    763  { 182, { FORMAT_C2 }, 2, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 0, 1, 2, 6 },
    764  { 183, { FORMAT_C2 }, 2, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 0, 2, 2, 6 },
    765  { 184, { FORMAT_C2 }, 2, { 1 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 0, 1, 2, 6 },
    766  { 185, { FORMAT_C2 }, 1, { 0 }, { 19, 39 }, 2, 2, 1, 2, 6 },
    767  { 186, { FORMAT_C2 }, 1, { 0 }, { 3, 5, 7 }, 3, 0, 1, 2, 6 },
    768  { 187, { FORMAT_C2 }, 1, { 0 }, { 24, 29, 34, 39 }, 4, 7, 1, 1, 6 },
    769  { 188, { FORMAT_C2 }, 1, { 0 }, { 9, 19, 29, 39 }, 4, 7, 2, 1, 6 },
    770  { 189, { FORMAT_C2 }, 1, { 0 }, { 17, 19, 37, 39 }, 4, 0, 1, 2, 6 },
    771  { 190, { FORMAT_C2 }, 1, { 0 }, { 9, 19, 29, 39 }, 4, 2, 2, 2, 6 },
    772  { 191, { FORMAT_C2 }, 1, { 0 }, { 7, 15, 23, 31, 39 }, 5, 2, 1, 2, 6 },
    773  { 192, { FORMAT_C2 }, 1, { 0 }, { 3, 5, 7, 9, 11, 13 }, 6, 7, 1, 1, 6 },
    774  { 193, { FORMAT_C2 }, 1, { 0 }, { 23, 27, 31, 35, 39 }, 5, 7, 2, 1, 6 },
    775  { 194, { FORMAT_C2 }, 1, { 0 }, { 23, 27, 31, 35, 39 }, 5, 0, 1, 2, 6 },
    776  { 195, { FORMAT_C2 }, 1, { 0 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 7, 2, 1, 6 },
    777  { 196, { FORMAT_C2 }, 1, { 0 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 2, 1, 2, 6 },
    778  { 197, { FORMAT_C2 }, 1, { 0 }, { 13, 14, 15, 29, 30, 31, 37, 38, 39 }, 10, 7, 2, 1, 6 },
    779  { 198, { FORMAT_C2 }, 1, { 0 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 7, 1, 1, 6 },
    780  { 199, { FORMAT_C2 }, 1, { 0 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 0, 1, 2, 6 },
    781  { 200, { FORMAT_C2 }, 1, { 0 }, { 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21,
    782  23, 25, 27, 29, 31, 33, 35, 37, 39 }, 15, 0, 1, 2, 6 },
    783  { 201, { FORMAT_C2 }, 1, { 0 }, { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
    784  17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
    785  33, 34, 35, 36, 37, 38, 39 }, 40, 7, 1, 1, 6 },
    786  { 202, { FORMAT_A1, FORMAT_B1 }, 16, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 2, 1, 6, 2 },
    787  { 203, { FORMAT_A1, FORMAT_B1 }, 16, { 1 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 2, 1, 6, 2 },
    788  { 204, { FORMAT_A1, FORMAT_B1 }, 8, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 2, 1, 6, 2 },
    789  { 205, { FORMAT_A1, FORMAT_B1 }, 8, { 1 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 2, 1, 6, 2 },
    790  { 206, { FORMAT_A1, FORMAT_B1 }, 4, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 2, 1, 6, 2 },
    791  { 207, { FORMAT_A1, FORMAT_B1 }, 4, { 1 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 2, 1, 6, 2 },
    792  { 208, { FORMAT_A1, FORMAT_B1 }, 2, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 2, 1, 6, 2 },
    793  { 209, { FORMAT_A1, FORMAT_B1 }, 1, { 0 }, { 19, 39 }, 2, 8, 1, 3, 2 },
    794  { 210, { FORMAT_A1, FORMAT_B1 }, 1, { 0 }, { 9, 19, 29, 39 }, 4, 8, 1, 3, 2 },
    795  { 211, { FORMAT_A1, FORMAT_B1 }, 1, { 0 }, { 17, 19, 37, 39 }, 4, 2, 1, 6, 2 },
    796  { 212, { FORMAT_A1, FORMAT_B1 }, 1, { 0 }, { 9, 19, 29, 39 }, 4, 2, 2, 6, 2 },
    797  { 213, { FORMAT_A1, FORMAT_B1 }, 1, { 0 }, { 23, 27, 31, 35, 39 }, 5, 8, 1, 3, 2 },
    798  { 214, { FORMAT_A1, FORMAT_B1 }, 1, { 0 }, { 7, 15, 23, 31, 39 }, 5, 2, 1, 6, 2 },
    799  { 215, { FORMAT_A1, FORMAT_B1 }, 1, { 0 }, { 23, 27, 31, 35, 39 }, 5, 2, 1, 6, 2 },
    800  { 216, { FORMAT_A1, FORMAT_B1 }, 1, { 0 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 8, 1, 3, 2 },
    801  { 217, { FORMAT_A1, FORMAT_B1 }, 1, { 0 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 2, 1, 6, 2 },
    802  { 218, { FORMAT_A1, FORMAT_B1 }, 1, { 0 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 2, 1, 6, 2 },
    803  { 219, { FORMAT_A1, FORMAT_B1 }, 1, { 0 }, { 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21,
    804  23, 25, 27, 29, 31, 33, 35, 37, 39 }, 15, 2, 1, 6, 2 },
    805  { 220, { FORMAT_A2, FORMAT_B2 }, 16, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 2, 1, 3, 4 },
    806  { 221, { FORMAT_A2, FORMAT_B2 }, 16, { 1 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 2, 1, 3, 4 },
    807  { 222, { FORMAT_A2, FORMAT_B2 }, 8, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 2, 1, 3, 4 },
    808  { 223, { FORMAT_A2, FORMAT_B2 }, 8, { 1 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 2, 1, 3, 4 },
    809  { 224, { FORMAT_A2, FORMAT_B2 }, 4, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 2, 1, 3, 4 },
    810  { 225, { FORMAT_A2, FORMAT_B2 }, 4, { 1 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 2, 1, 3, 4 },
    811  { 226, { FORMAT_A2, FORMAT_B2 }, 2, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 2, 1, 3, 4 },
    812  { 227, { FORMAT_A2, FORMAT_B2 }, 1, { 0 }, { 19, 39 }, 2, 6, 1, 2, 4 },
    813  { 228, { FORMAT_A2, FORMAT_B2 }, 1, { 0 }, { 9, 19, 29, 39 }, 4, 6, 1, 2, 4 },
    814  { 229, { FORMAT_A2, FORMAT_B2 }, 1, { 0 }, { 17, 19, 37, 39 }, 4, 2, 1, 3, 4 },
    815  { 230, { FORMAT_A2, FORMAT_B2 }, 1, { 0 }, { 9, 19, 29, 39 }, 4, 2, 2, 3, 4 },
    816  { 231, { FORMAT_A2, FORMAT_B2 }, 1, { 0 }, { 23, 27, 31, 35, 39 }, 5, 6, 1, 2, 4 },
    817  { 232, { FORMAT_A2, FORMAT_B2 }, 1, { 0 }, { 7, 15, 23, 31, 39 }, 5, 2, 1, 3, 4 },
    818  { 233, { FORMAT_A2, FORMAT_B2 }, 1, { 0 }, { 23, 27, 31, 35, 39 }, 5, 2, 1, 3, 4 },
    819  { 234, { FORMAT_A2, FORMAT_B2 }, 1, { 0 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 6, 1, 2, 4 },
    820  { 235, { FORMAT_A2, FORMAT_B2 }, 1, { 0 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 2, 1, 3, 4 },
    821  { 236, { FORMAT_A2, FORMAT_B2 }, 1, { 0 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 2, 1, 3, 4 },
    822  { 237, { FORMAT_A2, FORMAT_B2 }, 1, { 0 }, { 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21,
    823  23, 25, 27, 29, 31, 33, 35, 37, 39 }, 15, 2, 1, 3, 4 },
    824  { 238, { FORMAT_A3, FORMAT_B3 }, 16, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 2, 1, 2, 6 },
    825  { 239, { FORMAT_A3, FORMAT_B3 }, 16, { 1 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 2, 1, 2, 6 },
    826  { 240, { FORMAT_A3, FORMAT_B3 }, 8, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 2, 1, 2, 6 },
    827  { 241, { FORMAT_A3, FORMAT_B3 }, 8, { 1 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 2, 1, 2, 6 },
    828  { 242, { FORMAT_A3, FORMAT_B3 }, 4, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 2, 1, 2, 6 },
    829  { 243, { FORMAT_A3, FORMAT_B3 }, 4, { 1 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 2, 1, 2, 6 },
    830  { 244, { FORMAT_A3, FORMAT_B3 }, 2, { 1 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 2, 1, 2, 6 },
    831  { 245, { FORMAT_A3, FORMAT_B3 }, 1, { 0 }, { 19, 39 }, 2, 2, 1, 2, 6 },
    832  { 246, { FORMAT_A3, FORMAT_B3 }, 1, { 0 }, { 9, 19, 29, 39 }, 4, 2, 1, 2, 6 },
    833  { 247, { FORMAT_A3, FORMAT_B3 }, 1, { 0 }, { 17, 19, 37, 39 }, 4, 2, 1, 2, 6 },
    834  { 248, { FORMAT_A3, FORMAT_B3 }, 1, { 0 }, { 9, 19, 29, 39 }, 4, 2, 2, 2, 6 },
    835  { 249, { FORMAT_A3, FORMAT_B3 }, 1, { 0 }, { 23, 27, 31, 35, 39 }, 5, 2, 1, 2, 6 },
    836  { 250, { FORMAT_A3, FORMAT_B3 }, 1, { 0 }, { 23, 27, 31, 35, 39 }, 5, 2, 1, 2, 6 },
    837  { 251, { FORMAT_A3, FORMAT_B3 }, 1, { 0 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 2, 2, 2, 6 },
    838  { 252, { FORMAT_A3, FORMAT_B3 }, 1, { 0 }, { 4, 9, 14, 19, 24, 29, 34, 39 }, 8, 2, 1, 2, 6 },
    839  { 253, { FORMAT_A3, FORMAT_B3 }, 1, { 0 }, { 3, 7, 11, 15, 19, 23, 27, 31, 35, 39 }, 10, 2, 2, 2, 6 },
    840  { 254, { FORMAT_A3, FORMAT_B3 }, 1, { 0 }, { 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21,
    841  23, 25, 27, 29, 31, 33, 35, 37, 39 }, 15, 2, 1, 2, 6 },
    842  { 255, { FORMAT_A3, FORMAT_B3 }, 1, { 0 }, { 7, 15, 23, 31, 39 }, 5, 2, 1, 2, 6 },
    843 };
    844 
    846 {
    847  {FORMAT_0, 839, 125, 1 , 3168 },
    848  {FORMAT_1, 839, 125, 2 ,21024 },
    849  {FORMAT_2, 839, 125, 4 , 4688 },
    850  {FORMAT_3, 839, 5, 1 , 3168 },
    851  {FORMAT_A1, 139, 15, 2 , 288 },
    852  {FORMAT_A2, 139, 15, 4 , 576 },
    853  {FORMAT_A3, 139, 15, 6 , 864 },
    854  {FORMAT_B1, 139, 15, 2 , 216 },
    855  {FORMAT_B2, 139, 15, 4 , 360 },
    856  {FORMAT_B3, 139, 15, 6 , 504 },
    857  {FORMAT_B4, 139, 15, 12, 936 },
    858  {FORMAT_C0, 139, 15, 1 , 1240},
    859  {FORMAT_C2, 139, 15, 4 , 2048}
    860 };
    861 
    + + + + +
    #define XRAN_PRACH_CONFIG_TABLE_SIZE
    Definition: xran_common.h:81
    + + + +
    const xRANPrachPreambleLRAStruct gxranPreambleforLRA[13]
    + +
    const xRANPrachConfigTableStruct gxranPrachDataTable_sub6_tdd[XRAN_PRACH_CONFIG_TABLE_SIZE]
    +
    XRAN layer common functionality for both lls-CU and RU as well as C-plane and U-plane.
    + +
    const xRANPrachConfigTableStruct gxranPrachDataTable_mmw[XRAN_PRACH_CONFIG_TABLE_SIZE]
    + + + + + +
    const xRANPrachConfigTableStruct gxranPrachDataTable_sub6_fdd[XRAN_PRACH_CONFIG_TABLE_SIZE]
    +
    + + + + diff --git a/docs/API/xran__up__api_8c.html b/docs/API/xran__up__api_8c.html new file mode 100644 index 0000000..84d60e5 --- /dev/null +++ b/docs/API/xran__up__api_8c.html @@ -0,0 +1,399 @@ + + + + + + + +o-du/phy: xran_up_api.c File Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    xran_up_api.c File Reference
    +
    +
    + +

    This file provides the implementation of User Plane Messages APIs. +More...

    +
    #include <inttypes.h>
    +#include <rte_memcpy.h>
    +#include <rte_mbuf.h>
    +#include "xran_fh_o_du.h"
    +#include "xran_transport.h"
    +#include "xran_up_api.h"
    +#include "xran_printf.h"
    +#include "xran_mlog_lnx.h"
    +
    +Include dependency graph for xran_up_api.c:
    +
    +
    + + + + + + + + + +
    +
    +

    Go to the source code of this file.

    + + + + + + + + +

    +Functions

    int32_t xran_extract_iq_samples (struct rte_mbuf *mbuf, void **iq_data_start, uint8_t *CC_ID, uint8_t *Ant_ID, uint8_t *frame_id, uint8_t *subframe_id, uint8_t *slot_id, uint8_t *symb_id, struct ecpri_seq_id *seq_id, uint16_t *num_prbu, uint16_t *start_prbu, uint16_t *sym_inc, uint16_t *rb, uint16_t *sect_id, int8_t expect_comp, uint8_t *compMeth, uint8_t *iqWidth)
     Function for extracting all IQ samples from xRAN packet holding a single data section. More...
     
    int32_t xran_prepare_iq_symbol_portion (struct rte_mbuf *mbuf, const void *iq_data_start, const enum xran_input_byte_order iq_buf_byte_order, const uint32_t iq_data_num_bytes, struct xran_up_pkt_gen_params *params, uint8_t CC_ID, uint8_t Ant_ID, uint8_t seq_id, uint32_t do_copy)
     Function for starting preparion of IQ samples portions to be sent in xRAN packet. More...
     
    + + + +

    +Variables

    uint32_t xran_lib_ota_tti
     
    +

    Detailed Description

    +

    This file provides the implementation of User Plane Messages APIs.

    +
    Author
    Intel Corporation
    + +

    Definition in file xran_up_api.c.

    +

    Function Documentation

    + +

    ◆ xran_extract_iq_samples()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    int32_t xran_extract_iq_samples (struct rte_mbuf * mbuf,
    void ** iq_data_start,
    uint8_t * CC_ID,
    uint8_t * Ant_ID,
    uint8_t * frame_id,
    uint8_t * subframe_id,
    uint8_t * slot_id,
    uint8_t * symb_id,
    struct ecpri_seq_idseq_id,
    uint16_t * num_prbu,
    uint16_t * start_prbu,
    uint16_t * sym_inc,
    uint16_t * rb,
    uint16_t * sect_id,
    int8_t expect_comp,
    uint8_t * compMeth,
    uint8_t * iqWidth 
    )
    +
    + +

    Function for extracting all IQ samples from xRAN packet holding a single data section.

    +

    Function extracts IQ samples from received mbuf packet.

    +
    Parameters
    + + + + +
    iq_data_startAddress of the first element in IQ data array.
    symb_idSymbol ID to be extracted from ecpri header
    seq_idSequence ID to be extracted from radio header
    +
    +
    +
    Returns
    int Size of remaining mbuf filled with IQ samples zero on failure
    + +

    Definition at line 327 of file xran_up_api.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + + + +
    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + + +
    + +
    +
    + +

    ◆ xran_prepare_iq_symbol_portion()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    int32_t xran_prepare_iq_symbol_portion (struct rte_mbuf * mbuf,
    const void * iq_data_start,
    const enum xran_input_byte_order iq_buf_byte_order,
    const uint32_t iq_data_num_bytes,
    struct xran_up_pkt_gen_paramsparams,
    uint8_t CC_ID,
    uint8_t Ant_ID,
    uint8_t seq_id,
    uint32_t do_copy 
    )
    +
    + +

    Function for starting preparion of IQ samples portions to be sent in xRAN packet.

    +
    Parameters
    + + + + + + + +
    mbufInitialized rte_mbuf packet.
    iq_data_startAddress of the first element in IQ data array.
    iq_data_num_bytesSize of the IQ data array.
    iq_data_offsetIQ data bytes already sent.
    alignmentSize of IQ data alignment.
    pkt_gen_paramsStruct with parameters used for building packet
    +
    +
    +
    Returns
    int Number of bytes that have been appended to the packet within all appended sections.
    + +

    Definition at line 455 of file xran_up_api.c.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + + +
    + +
    +
    +

    Variable Documentation

    + +

    ◆ xran_lib_ota_tti

    + +
    +
    + + + + +
    uint32_t xran_lib_ota_tti
    +
    +

    Slot index in a second [0:(1000000/TTI-1)]

    + +

    Definition at line 111 of file xran_main.c.

    + +
    +
    +
    + + + + diff --git a/docs/API/xran__up__api_8c__incl.map b/docs/API/xran__up__api_8c__incl.map new file mode 100644 index 0000000..40ba361 --- /dev/null +++ b/docs/API/xran__up__api_8c__incl.map @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/docs/API/xran__up__api_8c__incl.md5 b/docs/API/xran__up__api_8c__incl.md5 new file mode 100644 index 0000000..70d25bb --- /dev/null +++ b/docs/API/xran__up__api_8c__incl.md5 @@ -0,0 +1 @@ +9ec5d4d0da619f6ccfbebfb346ef93cb \ No newline at end of file diff --git a/docs/API/xran__up__api_8c__incl.png b/docs/API/xran__up__api_8c__incl.png new file mode 100644 index 0000000..3fbfaec Binary files /dev/null and b/docs/API/xran__up__api_8c__incl.png differ diff --git a/docs/API/xran__up__api_8c_a15cc2e736c7d618de27b49be8d4922ec_icgraph.map b/docs/API/xran__up__api_8c_a15cc2e736c7d618de27b49be8d4922ec_icgraph.map new file mode 100644 index 0000000..8e69427 --- /dev/null +++ b/docs/API/xran__up__api_8c_a15cc2e736c7d618de27b49be8d4922ec_icgraph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/API/xran__up__api_8c_a15cc2e736c7d618de27b49be8d4922ec_icgraph.md5 b/docs/API/xran__up__api_8c_a15cc2e736c7d618de27b49be8d4922ec_icgraph.md5 new file mode 100644 index 0000000..8733417 --- /dev/null +++ b/docs/API/xran__up__api_8c_a15cc2e736c7d618de27b49be8d4922ec_icgraph.md5 @@ -0,0 +1 @@ +bd567c984abd5de16019745383c39240 \ No newline at end of file diff --git a/docs/API/xran__up__api_8c_a15cc2e736c7d618de27b49be8d4922ec_icgraph.png b/docs/API/xran__up__api_8c_a15cc2e736c7d618de27b49be8d4922ec_icgraph.png new file mode 100644 index 0000000..6e35a95 Binary files /dev/null and b/docs/API/xran__up__api_8c_a15cc2e736c7d618de27b49be8d4922ec_icgraph.png differ diff --git a/docs/API/xran__up__api_8c_adfc5ea408600c8de1384be020b359d95_cgraph.map b/docs/API/xran__up__api_8c_adfc5ea408600c8de1384be020b359d95_cgraph.map new file mode 100644 index 0000000..33bc2d5 --- /dev/null +++ b/docs/API/xran__up__api_8c_adfc5ea408600c8de1384be020b359d95_cgraph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/API/xran__up__api_8c_adfc5ea408600c8de1384be020b359d95_cgraph.md5 b/docs/API/xran__up__api_8c_adfc5ea408600c8de1384be020b359d95_cgraph.md5 new file mode 100644 index 0000000..72c9ef6 --- /dev/null +++ b/docs/API/xran__up__api_8c_adfc5ea408600c8de1384be020b359d95_cgraph.md5 @@ -0,0 +1 @@ +6a4d02618e2960eab118ceac84564ebd \ No newline at end of file diff --git a/docs/API/xran__up__api_8c_adfc5ea408600c8de1384be020b359d95_cgraph.png b/docs/API/xran__up__api_8c_adfc5ea408600c8de1384be020b359d95_cgraph.png new file mode 100644 index 0000000..f22dfba Binary files /dev/null and b/docs/API/xran__up__api_8c_adfc5ea408600c8de1384be020b359d95_cgraph.png differ diff --git a/docs/API/xran__up__api_8c_adfc5ea408600c8de1384be020b359d95_icgraph.map b/docs/API/xran__up__api_8c_adfc5ea408600c8de1384be020b359d95_icgraph.map new file mode 100644 index 0000000..40ff85d --- /dev/null +++ b/docs/API/xran__up__api_8c_adfc5ea408600c8de1384be020b359d95_icgraph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/API/xran__up__api_8c_adfc5ea408600c8de1384be020b359d95_icgraph.md5 b/docs/API/xran__up__api_8c_adfc5ea408600c8de1384be020b359d95_icgraph.md5 new file mode 100644 index 0000000..70d9d85 --- /dev/null +++ b/docs/API/xran__up__api_8c_adfc5ea408600c8de1384be020b359d95_icgraph.md5 @@ -0,0 +1 @@ +0d00c1e34940c58e1eceb09c5009f2f5 \ No newline at end of file diff --git a/docs/API/xran__up__api_8c_adfc5ea408600c8de1384be020b359d95_icgraph.png b/docs/API/xran__up__api_8c_adfc5ea408600c8de1384be020b359d95_icgraph.png new file mode 100644 index 0000000..0d4d7f2 Binary files /dev/null and b/docs/API/xran__up__api_8c_adfc5ea408600c8de1384be020b359d95_icgraph.png differ diff --git a/docs/API/xran__up__api_8c_source.html b/docs/API/xran__up__api_8c_source.html new file mode 100644 index 0000000..684e8a8 --- /dev/null +++ b/docs/API/xran__up__api_8c_source.html @@ -0,0 +1,140 @@ + + + + + + + +o-du/phy: xran_up_api.c Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    xran_up_api.c
    +
    +
    +Go to the documentation of this file.
    1 /******************************************************************************
    2 *
    3 * Copyright (c) 2019 Intel.
    4 *
    5 * Licensed under the Apache License, Version 2.0 (the "License");
    6 * you may not use this file except in compliance with the License.
    7 * You may obtain a copy of the License at
    8 *
    9 * http://www.apache.org/licenses/LICENSE-2.0
    10 *
    11 * Unless required by applicable law or agreed to in writing, software
    12 * distributed under the License is distributed on an "AS IS" BASIS,
    13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    14 * See the License for the specific language governing permissions and
    15 * limitations under the License.
    16 *
    17 *******************************************************************************/
    18 
    27 #include <inttypes.h>
    28 
    29 #include <rte_memcpy.h>
    30 #include <rte_mbuf.h>
    31 
    32 #include "xran_fh_o_du.h"
    33 #include "xran_transport.h"
    34 #include "xran_up_api.h"
    35 #include "xran_printf.h"
    36 #include "xran_mlog_lnx.h"
    37 
    38 extern uint32_t xran_lib_ota_tti;
    39 
    48 static int build_ecpri_hdr(struct rte_mbuf *mbuf,
    49  const uint32_t iq_data_num_bytes,
    50  const uint32_t iq_data_offset,
    51  uint8_t alignment)
    52 {
    53  struct xran_ecpri_hdr *ecpri_hdr = (struct xran_ecpri_hdr *)
    54  rte_pktmbuf_append(mbuf, sizeof(struct xran_ecpri_hdr));
    55 
    56  uint16_t iq_samples_bytes_in_mbuf = rte_pktmbuf_tailroom(mbuf) -
    57  sizeof(struct radio_app_common_hdr) - sizeof(struct data_section_hdr);
    58 
    59  iq_samples_bytes_in_mbuf -= (iq_samples_bytes_in_mbuf % alignment);
    60 
    61  if (NULL == ecpri_hdr)
    62  return 1;
    63 
    64  ecpri_hdr->cmnhdr.ecpri_ver = XRAN_ECPRI_VER;
    65  ecpri_hdr->cmnhdr.ecpri_resv = 0;
    66  ecpri_hdr->cmnhdr.ecpri_concat = 0;
    68 
    69  if (iq_data_offset + iq_samples_bytes_in_mbuf > iq_data_num_bytes) {
    70  ecpri_hdr->cmnhdr.ecpri_payl_size =
    71  rte_cpu_to_be_16(sizeof(struct radio_app_common_hdr) +
    72  sizeof(struct data_section_hdr) +
    73  (iq_data_num_bytes - iq_data_offset) +
    75  ecpri_hdr->ecpri_seq_id.e_bit = 1; /* last segment */
    76  } else {
    77  ecpri_hdr->cmnhdr.ecpri_payl_size =
    78  rte_cpu_to_be_16(sizeof(struct radio_app_common_hdr) +
    79  sizeof(struct data_section_hdr) +
    80  iq_samples_bytes_in_mbuf +
    82  ecpri_hdr->ecpri_seq_id.e_bit = 0;
    83  }
    84 
    85 // ecpri_hdr->ecpri_xtc_id = 0; /* currently not used */
    86  ecpri_hdr->ecpri_seq_id.seq_id = 0;
    87  ecpri_hdr->ecpri_seq_id.sub_seq_id = iq_data_offset /
    88  iq_samples_bytes_in_mbuf;
    89 
    90  return 0;
    91 }
    92 
    105 static int xran_build_ecpri_hdr_ex(struct rte_mbuf *mbuf,
    106  uint8_t ecpri_mesg_type,
    107  int payl_size,
    108  uint8_t CC_ID,
    109  uint8_t Ant_ID,
    110  uint8_t seq_id,
    111  uint8_t comp_meth)
    112 {
    113  char *pChar = rte_pktmbuf_mtod(mbuf, char*);
    114  struct xran_ecpri_hdr *ecpri_hdr = (struct xran_ecpri_hdr *)(pChar + sizeof(struct ether_hdr));
    115  uint16_t ecpri_payl_size = payl_size
    116  + sizeof(struct data_section_hdr)
    117  + sizeof(struct radio_app_common_hdr)
    119 
    120  if (comp_meth != XRAN_COMPMETHOD_NONE)
    121  ecpri_payl_size += sizeof(struct data_section_compression_hdr);
    122 
    123  if (NULL == ecpri_hdr)
    124  return 1;
    125 
    126  ecpri_hdr->cmnhdr.ecpri_ver = XRAN_ECPRI_VER;
    127  ecpri_hdr->cmnhdr.ecpri_resv = 0; // should be zero
    128  ecpri_hdr->cmnhdr.ecpri_concat = 0;
    129  ecpri_hdr->cmnhdr.ecpri_mesg_type = ecpri_mesg_type;
    130  ecpri_hdr->cmnhdr.ecpri_payl_size = rte_cpu_to_be_16(ecpri_payl_size);
    131 
    132  /* one to one lls-CU to RU only and band sector is the same */
    133  ecpri_hdr->ecpri_xtc_id = xran_compose_cid(0, 0, CC_ID, Ant_ID);
    134 
    135  ecpri_hdr->ecpri_seq_id.seq_id = seq_id;
    136 
    137  /* no transport layer fragmentation supported */
    138  ecpri_hdr->ecpri_seq_id.sub_seq_id = 0;
    139  ecpri_hdr->ecpri_seq_id.e_bit = 1;
    140 
    141  return 0;
    142 }
    143 
    144 
    153 static int build_application_layer(
    154  struct rte_mbuf *mbuf,
    155  const struct radio_app_common_hdr *app_hdr_input)
    156 {
    157  char *pChar = rte_pktmbuf_mtod(mbuf, char*);
    158  struct radio_app_common_hdr *app_hdr = (struct radio_app_common_hdr *)(pChar + sizeof(struct ether_hdr)
    159  + sizeof (struct xran_ecpri_hdr));
    160 
    161  if (NULL == app_hdr)
    162  return 1;
    163 
    164  rte_memcpy(app_hdr, app_hdr_input, sizeof(struct radio_app_common_hdr));
    165 
    166  return 0;
    167 }
    168 
    176 static int build_section_hdr(
    177  struct rte_mbuf *mbuf,
    178  const struct data_section_hdr *sec_hdr)
    179 {
    180  char *pChar = rte_pktmbuf_mtod(mbuf, char*);
    181  struct data_section_hdr *section_hdr = (struct data_section_hdr *)
    182  (pChar + sizeof(struct ether_hdr) + sizeof (struct xran_ecpri_hdr) + sizeof(struct radio_app_common_hdr));
    183 
    184  if (NULL == section_hdr)
    185  return 1;
    186 
    187  rte_memcpy(section_hdr, sec_hdr, sizeof(struct data_section_hdr));
    188 
    189  return 0;
    190 }
    200 static uint16_t append_iq_samples_ex(
    201  struct rte_mbuf *mbuf,
    202  const void *iq_data_start,
    203  const uint32_t iq_data_num_bytes,
    204  enum xran_input_byte_order iq_buf_byte_order,
    205  uint32_t do_copy)
    206 {
    207  char *pChar = rte_pktmbuf_mtod(mbuf, char*);
    208  void *iq_sam_buf = (pChar + sizeof(struct ether_hdr) + sizeof (struct xran_ecpri_hdr)
    209  + sizeof(struct radio_app_common_hdr)
    210  + sizeof(struct data_section_hdr));
    211 
    212  if (iq_sam_buf == NULL){
    213  print_err("iq_sam_buf == NULL\n");
    214  return 0;
    215  }
    216  if(iq_buf_byte_order == XRAN_CPU_LE_BYTE_ORDER){
    217  int idx = 0;
    218  uint16_t *psrc = (uint16_t *)iq_data_start;
    219  uint16_t *pdst = (uint16_t *)iq_sam_buf;
    220  /* CPU byte order (le) of IQ to network byte order (be) */
    221  for (idx = 0; idx < iq_data_num_bytes/sizeof(int16_t); idx++){
    222  pdst[idx] = (psrc[idx]>>8) | (psrc[idx]<<8); //rte_cpu_to_be_16(psrc[idx]);
    223  }
    224  }
    225 
    226 #if 0
    227  /* do not expect to do copy anymore */
    228  else if(iq_buf_byte_order == XRAN_NE_BE_BYTE_ORDER){
    229  if(do_copy) {
    230  rte_memcpy(iq_sam_buf, (uint8_t *)iq_data_start, iq_data_num_bytes);
    231  }
    232  }
    233 #endif
    234 
    235  return iq_data_num_bytes;
    236 }
    237 
    247 static uint16_t append_iq_samples(
    248  struct rte_mbuf *mbuf,
    249  const void *iq_data_start,
    250  const uint32_t iq_data_num_bytes,
    251  const uint32_t iq_data_offset,
    252  const uint8_t alignment)
    253 {
    254  uint16_t iq_bytes_to_send = 0;
    255  uint16_t free_space_in_pkt = rte_pktmbuf_tailroom(mbuf);
    256 
    257  if (free_space_in_pkt > iq_data_num_bytes - iq_data_offset)
    258  iq_bytes_to_send = iq_data_num_bytes - iq_data_offset;
    259  else
    260  iq_bytes_to_send = free_space_in_pkt;
    261 
    262  /* don't cut off an iq in half */
    263  iq_bytes_to_send -= iq_bytes_to_send % alignment;
    264 
    265  void *iq_sam_buf = (void *)rte_pktmbuf_append(mbuf, iq_bytes_to_send);
    266 
    267  rte_memcpy(iq_sam_buf, (uint8_t *)iq_data_start + iq_data_offset,
    268  iq_bytes_to_send);
    269 
    270  return iq_bytes_to_send;
    271 }
    272 
    281 static int build_compression_hdr(
    282  struct rte_mbuf *mbuf,
    283  const struct data_section_compression_hdr *compr_hdr)
    284 {
    285  char *pChar = rte_pktmbuf_mtod(mbuf, char*);
    287  (pChar + sizeof(struct ether_hdr) + sizeof (struct xran_ecpri_hdr) + sizeof(struct radio_app_common_hdr)
    288  + sizeof(struct data_section_hdr));
    289 
    290  if (NULL == compression_hdr)
    291  return 1;
    292 
    293  rte_memcpy(compression_hdr, compr_hdr, sizeof(*compression_hdr));
    294 
    295  return 0;
    296 }
    297 
    305 static int append_comp_param(struct rte_mbuf *mbuf, union compression_params *ud_comp_param)
    306 {
    307  union compression_params *compr_param =
    308  (union compression_params *)rte_pktmbuf_append(mbuf, sizeof(union compression_params));
    309 
    310  if (NULL == compr_param)
    311  return 1;
    312 
    313  rte_memcpy(compr_param, ud_comp_param, sizeof(union compression_params));
    314 
    315  return 0;
    316 }
    317 
    327 int32_t xran_extract_iq_samples(struct rte_mbuf *mbuf,
    328  void **iq_data_start,
    329  uint8_t *CC_ID,
    330  uint8_t *Ant_ID,
    331  uint8_t *frame_id,
    332  uint8_t *subframe_id,
    333  uint8_t *slot_id,
    334  uint8_t *symb_id,
    335  struct ecpri_seq_id *seq_id,
    336  uint16_t *num_prbu,
    337  uint16_t *start_prbu,
    338  uint16_t *sym_inc,
    339  uint16_t *rb,
    340  uint16_t *sect_id,
    341  int8_t expect_comp,
    342  uint8_t *compMeth,
    343  uint8_t *iqWidth)
    344 {
    345 #if XRAN_MLOG_VAR
    346  uint32_t mlogVar[10];
    347  uint32_t mlogVarCnt = 0;
    348 #endif
    349  struct xran_eaxc_info result;
    350 
    351  if (NULL == mbuf)
    352  return 0;
    353  if (NULL == iq_data_start)
    354  return 0;
    355 
    356  /* Process eCPRI header. */
    357  const struct xran_ecpri_hdr *ecpri_hdr = rte_pktmbuf_mtod(mbuf, void *);
    358  if (ecpri_hdr == NULL)
    359  return 0;
    360 
    361  if (seq_id)
    362  *seq_id = ecpri_hdr->ecpri_seq_id;
    363 
    364  xran_decompose_cid((uint16_t)ecpri_hdr->ecpri_xtc_id, &result);
    365 
    366  *CC_ID = result.ccId;
    367  *Ant_ID = result.ruPortId;
    368 
    369  /* Process radio header. */
    370  struct radio_app_common_hdr *radio_hdr =
    371  (void *)rte_pktmbuf_adj(mbuf, sizeof(*ecpri_hdr));
    372  if (radio_hdr == NULL)
    373  return 0; /* packet too short */
    374 
    375  radio_hdr->sf_slot_sym.value = rte_be_to_cpu_16(radio_hdr->sf_slot_sym.value);
    376 
    377  if (frame_id)
    378  *frame_id = radio_hdr->frame_id;
    379 
    380  if (subframe_id)
    381  *subframe_id = radio_hdr->sf_slot_sym.subframe_id;
    382 
    383  if (slot_id)
    384  *slot_id = radio_hdr->sf_slot_sym.slot_id;
    385 
    386  if (symb_id)
    387  *symb_id = radio_hdr->sf_slot_sym.symb_id;
    388 
    389  /* Process data section hdr */
    390  struct data_section_hdr *data_hdr =
    391  (void *)rte_pktmbuf_adj(mbuf, sizeof(*radio_hdr));
    392  if (data_hdr == NULL)
    393  return 0; /* packet too short */
    394 
    395  /* cpu byte order */
    396  data_hdr->fields.all_bits = rte_be_to_cpu_32(data_hdr->fields.all_bits);
    397 
    398  *num_prbu = data_hdr->fields.num_prbu;
    399  *start_prbu = data_hdr->fields.start_prbu;
    400  *sym_inc = data_hdr->fields.sym_inc;
    401  *rb = data_hdr->fields.rb;
    402  *sect_id = data_hdr->fields.sect_id;
    403 
    404  if(expect_comp) {
    405  const struct data_section_compression_hdr *data_compr_hdr =
    406  (void *) rte_pktmbuf_adj(mbuf, sizeof(*data_hdr));
    407 
    408  if (data_compr_hdr == NULL)
    409  return 0;
    410 
    411  *compMeth = data_compr_hdr->ud_comp_hdr.ud_comp_meth;
    412  *iqWidth = data_compr_hdr->ud_comp_hdr.ud_iq_width;
    413 
    414  const uint8_t *compr_param =
    415  (void *)rte_pktmbuf_adj(mbuf, sizeof(*data_compr_hdr));
    416 
    417  *iq_data_start = (void *)compr_param; /*rte_pktmbuf_adj(mbuf, sizeof(*compr_param))*/;
    418  } else {
    419  *iq_data_start = rte_pktmbuf_adj(mbuf, sizeof(*data_hdr));
    420  }
    421 
    422  if (*iq_data_start == NULL)
    423  return 0;
    424 
    425 #if XRAN_MLOG_VAR
    426  mlogVar[mlogVarCnt++] = 0xBBBBBBBB;
    427  mlogVar[mlogVarCnt++] = xran_lib_ota_tti;
    428  mlogVar[mlogVarCnt++] = radio_hdr->frame_id;
    429  mlogVar[mlogVarCnt++] = radio_hdr->sf_slot_sym.subframe_id;
    430  mlogVar[mlogVarCnt++] = radio_hdr->sf_slot_sym.slot_id;
    431  mlogVar[mlogVarCnt++] = radio_hdr->sf_slot_sym.symb_id;
    432  mlogVar[mlogVarCnt++] = data_hdr->fields.sect_id;
    433  mlogVar[mlogVarCnt++] = data_hdr->fields.start_prbu;
    434  mlogVar[mlogVarCnt++] = data_hdr->fields.num_prbu;
    435  mlogVar[mlogVarCnt++] = rte_pktmbuf_pkt_len(mbuf);
    436  MLogAddVariables(mlogVarCnt, mlogVar, MLogTick());
    437 #endif
    438 
    439  return rte_pktmbuf_pkt_len(mbuf);
    440 }
    441 
    456  struct rte_mbuf *mbuf,
    457  const void *iq_data_start,
    458  const enum xran_input_byte_order iq_buf_byte_order,
    459  const uint32_t iq_data_num_bytes,
    460  struct xran_up_pkt_gen_params *params,
    461  uint8_t CC_ID,
    462  uint8_t Ant_ID,
    463  uint8_t seq_id,
    464  uint32_t do_copy)
    465 {
    466  if(xran_build_ecpri_hdr_ex(mbuf,
    468  iq_data_num_bytes,
    469  CC_ID,
    470  Ant_ID,
    471  seq_id,
    473  print_err("xran_build_ecpri_hdr_ex return 0\n");
    474  return 0;
    475  }
    476 
    477  if (build_application_layer(mbuf, &(params->app_params)) != 0){
    478  print_err("build_application_layer return != 0\n");
    479  return 0;
    480  }
    481 
    482  if (build_section_hdr(mbuf, &(params->sec_hdr)) != 0){
    483  print_err("build_section_hdr return != 0\n");
    484  return 0;
    485  }
    486 
    487 
    489  if (build_compression_hdr(mbuf, &(params->compr_hdr_param)) !=0)
    490  return 0;
    491 
    492  /* payload expected to start with udCompParam */
    493 
    494  /*if(append_comp_param(mbuf, &(params->compr_param)) !=0)
    495  return 0;*/
    496  }
    497 
    498 
    499  return append_iq_samples_ex(mbuf, iq_data_start, iq_data_num_bytes, iq_buf_byte_order, do_copy);
    500 }
    501 
    uint8_t ecpri_concat
    Definition: xran_pkt.h:115
    +
    uint32_t sym_inc
    Definition: xran_pkt_up.h:73
    +
    uint32_t rb
    Definition: xran_pkt_cp.h:243
    + +
    #define XRAN_ECPRI_VER
    Definition: xran_pkt.h:61
    +
    struct radio_app_common_hdr app_params
    Definition: xran_up_api.h:47
    + +
    uint8_t seq_id
    Definition: xran_pkt.h:99
    + +
    uint32_t xran_lib_ota_tti
    Definition: xran_main.c:111
    + +
    union radio_app_common_hdr::@5 sf_slot_sym
    +
    void xran_decompose_cid(uint16_t cid, struct xran_eaxc_info *result)
    Decompose ecpriRtcid/ecpriPcid.
    + +
    #define MLogAddVariables(x, y, z)
    Definition: xran_mlog_lnx.h:49
    +
    struct compression_hdr ud_comp_hdr
    Definition: xran_pkt_up.h:92
    +
    uint16_t xran_compose_cid(uint8_t CU_Port_ID, uint8_t BandSector_ID, uint8_t CC_ID, uint8_t Ant_ID)
    Compose ecpriRtcid/ecpriPcid.
    + +
    uint8_t ecpri_ver
    Definition: xran_pkt.h:117
    +
    uint32_t num_prbu
    Definition: xran_pkt_up.h:71
    + +
    #define print_err(fmt, args...)
    Definition: xran_printf.h:62
    + + +
    uint8_t ecpri_resv
    Definition: xran_pkt.h:116
    +
    int xran_get_ecpri_hdr_size(void)
    return eCPRI header size without eCPRI common header
    +
    xran_input_byte_order
    Definition: xran_fh_o_du.h:471
    +
    int32_t xran_prepare_iq_symbol_portion(struct rte_mbuf *mbuf, const void *iq_data_start, const enum xran_input_byte_order iq_buf_byte_order, const uint32_t iq_data_num_bytes, struct xran_up_pkt_gen_params *params, uint8_t CC_ID, uint8_t Ant_ID, uint8_t seq_id, uint32_t do_copy)
    Function for starting preparion of IQ samples portions to be sent in xRAN packet. ...
    Definition: xran_up_api.c:455
    +
    uint32_t all_bits
    Definition: xran_pkt_up.h:69
    + + + +
    struct data_section_hdr sec_hdr
    Definition: xran_up_api.h:48
    +
    uint8_t ud_iq_width
    Definition: xran_pkt.h:208
    +
    uint8_t e_bit
    Definition: xran_pkt.h:101
    +
    uint8_t sub_seq_id
    Definition: xran_pkt.h:100
    +
    Modules provide debug prints and utility functions.
    +
    uint8_t ud_comp_meth
    Definition: xran_pkt.h:213
    +
    struct xran_ecpri_cmn_hdr cmnhdr
    Definition: xran_pkt.h:132
    + +
    This file provides the definitions for User Plane Messages APIs.
    + +
    uint32_t start_prbu
    Definition: xran_pkt_up.h:72
    + +
    rte_be16_t ecpri_xtc_id
    Definition: xran_pkt.h:133
    + +
    uint16_t subframe_id
    Definition: xran_pkt.h:189
    +
    This file provides public interface to xRAN Front Haul layer implementation as defined in the ORAN-WG...
    + +
    int32_t xran_extract_iq_samples(struct rte_mbuf *mbuf, void **iq_data_start, uint8_t *CC_ID, uint8_t *Ant_ID, uint8_t *frame_id, uint8_t *subframe_id, uint8_t *slot_id, uint8_t *symb_id, struct ecpri_seq_id *seq_id, uint16_t *num_prbu, uint16_t *start_prbu, uint16_t *sym_inc, uint16_t *rb, uint16_t *sect_id, int8_t expect_comp, uint8_t *compMeth, uint8_t *iqWidth)
    Function for extracting all IQ samples from xRAN packet holding a single data section.
    Definition: xran_up_api.c:327
    +
    struct ecpri_seq_id ecpri_seq_id
    Definition: xran_pkt.h:134
    +
    uint32_t sect_id
    Definition: xran_pkt_up.h:75
    + +
    uint8_t ecpri_mesg_type
    Definition: xran_pkt.h:118
    +
    union data_section_hdr::@18 fields
    + + +
    #define MLogTick()
    Definition: xran_mlog_lnx.h:42
    + +
    struct data_section_compression_hdr compr_hdr_param
    Definition: xran_up_api.h:49
    +
    uint16_t ecpri_payl_size
    Definition: xran_pkt.h:119
    +
    This file provides the definitions for Transport layer (eCPRI) API.
    +
    + + + + diff --git a/docs/API/xran__up__api_8h.html b/docs/API/xran__up__api_8h.html new file mode 100644 index 0000000..cd70b1f --- /dev/null +++ b/docs/API/xran__up__api_8h.html @@ -0,0 +1,395 @@ + + + + + + + +o-du/phy: xran_up_api.h File Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    xran_up_api.h File Reference
    +
    +
    + +

    This file provides the definitions for User Plane Messages APIs. +More...

    +
    #include <rte_common.h>
    +#include <rte_mbuf.h>
    +#include "xran_pkt.h"
    +#include "xran_pkt_up.h"
    +
    +Include dependency graph for xran_up_api.h:
    +
    +
    + + + + +
    +
    +This graph shows which files directly or indirectly include this file:
    +
    +
    + + + + + + + + +
    +
    +

    Go to the source code of this file.

    + + + + + + +

    +Data Structures

    struct  xran_up_pkt_gen_params
     
    struct  xran_up_pkt_gen_no_compression_params
     
    + + + + + + + +

    +Functions

    int32_t xran_extract_iq_samples (struct rte_mbuf *mbuf, void **iq_data_start, uint8_t *CC_ID, uint8_t *Ant_ID, uint8_t *frame_id, uint8_t *subframe_id, uint8_t *slot_id, uint8_t *symb_id, struct ecpri_seq_id *seq_id, uint16_t *num_prbu, uint16_t *start_prbu, uint16_t *sym_inc, uint16_t *rb, uint16_t *sect_id, int8_t expect_comp, uint8_t *compMeth, uint8_t *iqWidth)
     Function extracts IQ samples from received mbuf packet. More...
     
    int xran_prepare_iq_symbol_portion (struct rte_mbuf *mbuf, const void *iq_data_start, const enum xran_input_byte_order iq_buf_byte_order, const uint32_t iq_data_num_bytes, struct xran_up_pkt_gen_params *params, uint8_t CC_ID, uint8_t Ant_ID, uint8_t seq_id, uint32_t do_copy)
     Function for starting preparion of IQ samples portions to be sent in xRAN packet. More...
     
    +

    Detailed Description

    +

    This file provides the definitions for User Plane Messages APIs.

    +
    Author
    Intel Corporation
    + +

    Definition in file xran_up_api.h.

    +

    Function Documentation

    + +

    ◆ xran_extract_iq_samples()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    int32_t xran_extract_iq_samples (struct rte_mbuf * mbuf,
    void ** iq_data_start,
    uint8_t * CC_ID,
    uint8_t * Ant_ID,
    uint8_t * frame_id,
    uint8_t * subframe_id,
    uint8_t * slot_id,
    uint8_t * symb_id,
    struct ecpri_seq_idseq_id,
    uint16_t * num_prbu,
    uint16_t * start_prbu,
    uint16_t * sym_inc,
    uint16_t * rb,
    uint16_t * sect_id,
    int8_t expect_comp,
    uint8_t * compMeth,
    uint8_t * iqWidth 
    )
    +
    + +

    Function extracts IQ samples from received mbuf packet.

    +
    Parameters
    + + + +
    mbufPacket with received data.
    iq_data_startAddress of the first IQ sample in mbuf will be returned here
    +
    +
    +
    Returns
    int Bytes of IQ samples that have been extracted from mbuf.
    +

    Function extracts IQ samples from received mbuf packet.

    +
    Parameters
    + + + + +
    iq_data_startAddress of the first element in IQ data array.
    symb_idSymbol ID to be extracted from ecpri header
    seq_idSequence ID to be extracted from radio header
    +
    +
    +
    Returns
    int Size of remaining mbuf filled with IQ samples zero on failure
    + +

    Definition at line 327 of file xran_up_api.c.

    +
    +Here is the call graph for this function:
    +
    +
    + + + + + +
    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + + +
    + +
    +
    + +

    ◆ xran_prepare_iq_symbol_portion()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    int xran_prepare_iq_symbol_portion (struct rte_mbuf * mbuf,
    const void * iq_data_start,
    const enum xran_input_byte_order iq_buf_byte_order,
    const uint32_t iq_data_num_bytes,
    struct xran_up_pkt_gen_paramsparams,
    uint8_t CC_ID,
    uint8_t Ant_ID,
    uint8_t seq_id,
    uint32_t do_copy 
    )
    +
    + +

    Function for starting preparion of IQ samples portions to be sent in xRAN packet.

    +
    Parameters
    + + + + + + + +
    mbufInitialized rte_mbuf packet.
    iq_data_startAddress of the first element in IQ data array.
    iq_data_num_bytesSize of the IQ data array.
    iq_data_offsetIQ data bytes already sent.
    alignmentSize of IQ data alignment.
    pkt_gen_paramsStruct with parameters used for building packet
    +
    +
    +
    Returns
    int Number of bytes that have been appended to the packet within all appended sections.
    + +

    Definition at line 455 of file xran_up_api.c.

    +
    +Here is the caller graph for this function:
    +
    +
    + + + + + + + +
    + +
    +
    +
    + + + + diff --git a/docs/API/xran__up__api_8h__dep__incl.map b/docs/API/xran__up__api_8h__dep__incl.map new file mode 100644 index 0000000..d54aecd --- /dev/null +++ b/docs/API/xran__up__api_8h__dep__incl.map @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/API/xran__up__api_8h__dep__incl.md5 b/docs/API/xran__up__api_8h__dep__incl.md5 new file mode 100644 index 0000000..729566d --- /dev/null +++ b/docs/API/xran__up__api_8h__dep__incl.md5 @@ -0,0 +1 @@ +2070299441d7bd6df891861da966dd87 \ No newline at end of file diff --git a/docs/API/xran__up__api_8h__dep__incl.png b/docs/API/xran__up__api_8h__dep__incl.png new file mode 100644 index 0000000..40db135 Binary files /dev/null and b/docs/API/xran__up__api_8h__dep__incl.png differ diff --git a/docs/API/xran__up__api_8h__incl.map b/docs/API/xran__up__api_8h__incl.map new file mode 100644 index 0000000..d66646a --- /dev/null +++ b/docs/API/xran__up__api_8h__incl.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/API/xran__up__api_8h__incl.md5 b/docs/API/xran__up__api_8h__incl.md5 new file mode 100644 index 0000000..6726c2d --- /dev/null +++ b/docs/API/xran__up__api_8h__incl.md5 @@ -0,0 +1 @@ +b195d3c3a91758bd4b2ed9cdf8520eef \ No newline at end of file diff --git a/docs/API/xran__up__api_8h__incl.png b/docs/API/xran__up__api_8h__incl.png new file mode 100644 index 0000000..cae8462 Binary files /dev/null and b/docs/API/xran__up__api_8h__incl.png differ diff --git a/docs/API/xran__up__api_8h_acd8f547b98d7ebd7dbc41c486a26505d_icgraph.map b/docs/API/xran__up__api_8h_acd8f547b98d7ebd7dbc41c486a26505d_icgraph.map new file mode 100644 index 0000000..8e69427 --- /dev/null +++ b/docs/API/xran__up__api_8h_acd8f547b98d7ebd7dbc41c486a26505d_icgraph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/API/xran__up__api_8h_acd8f547b98d7ebd7dbc41c486a26505d_icgraph.md5 b/docs/API/xran__up__api_8h_acd8f547b98d7ebd7dbc41c486a26505d_icgraph.md5 new file mode 100644 index 0000000..8733417 --- /dev/null +++ b/docs/API/xran__up__api_8h_acd8f547b98d7ebd7dbc41c486a26505d_icgraph.md5 @@ -0,0 +1 @@ +bd567c984abd5de16019745383c39240 \ No newline at end of file diff --git a/docs/API/xran__up__api_8h_acd8f547b98d7ebd7dbc41c486a26505d_icgraph.png b/docs/API/xran__up__api_8h_acd8f547b98d7ebd7dbc41c486a26505d_icgraph.png new file mode 100644 index 0000000..6e35a95 Binary files /dev/null and b/docs/API/xran__up__api_8h_acd8f547b98d7ebd7dbc41c486a26505d_icgraph.png differ diff --git a/docs/API/xran__up__api_8h_adfc5ea408600c8de1384be020b359d95_cgraph.map b/docs/API/xran__up__api_8h_adfc5ea408600c8de1384be020b359d95_cgraph.map new file mode 100644 index 0000000..33bc2d5 --- /dev/null +++ b/docs/API/xran__up__api_8h_adfc5ea408600c8de1384be020b359d95_cgraph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/API/xran__up__api_8h_adfc5ea408600c8de1384be020b359d95_cgraph.md5 b/docs/API/xran__up__api_8h_adfc5ea408600c8de1384be020b359d95_cgraph.md5 new file mode 100644 index 0000000..72c9ef6 --- /dev/null +++ b/docs/API/xran__up__api_8h_adfc5ea408600c8de1384be020b359d95_cgraph.md5 @@ -0,0 +1 @@ +6a4d02618e2960eab118ceac84564ebd \ No newline at end of file diff --git a/docs/API/xran__up__api_8h_adfc5ea408600c8de1384be020b359d95_cgraph.png b/docs/API/xran__up__api_8h_adfc5ea408600c8de1384be020b359d95_cgraph.png new file mode 100644 index 0000000..f22dfba Binary files /dev/null and b/docs/API/xran__up__api_8h_adfc5ea408600c8de1384be020b359d95_cgraph.png differ diff --git a/docs/API/xran__up__api_8h_adfc5ea408600c8de1384be020b359d95_icgraph.map b/docs/API/xran__up__api_8h_adfc5ea408600c8de1384be020b359d95_icgraph.map new file mode 100644 index 0000000..40ff85d --- /dev/null +++ b/docs/API/xran__up__api_8h_adfc5ea408600c8de1384be020b359d95_icgraph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/API/xran__up__api_8h_adfc5ea408600c8de1384be020b359d95_icgraph.md5 b/docs/API/xran__up__api_8h_adfc5ea408600c8de1384be020b359d95_icgraph.md5 new file mode 100644 index 0000000..70d9d85 --- /dev/null +++ b/docs/API/xran__up__api_8h_adfc5ea408600c8de1384be020b359d95_icgraph.md5 @@ -0,0 +1 @@ +0d00c1e34940c58e1eceb09c5009f2f5 \ No newline at end of file diff --git a/docs/API/xran__up__api_8h_adfc5ea408600c8de1384be020b359d95_icgraph.png b/docs/API/xran__up__api_8h_adfc5ea408600c8de1384be020b359d95_icgraph.png new file mode 100644 index 0000000..0d4d7f2 Binary files /dev/null and b/docs/API/xran__up__api_8h_adfc5ea408600c8de1384be020b359d95_icgraph.png differ diff --git a/docs/API/xran__up__api_8h_source.html b/docs/API/xran__up__api_8h_source.html new file mode 100644 index 0000000..c3eb98f --- /dev/null +++ b/docs/API/xran__up__api_8h_source.html @@ -0,0 +1,99 @@ + + + + + + + +o-du/phy: xran_up_api.h Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    xran_up_api.h
    +
    +
    +Go to the documentation of this file.
    1 /******************************************************************************
    2 *
    3 * Copyright (c) 2019 Intel.
    4 *
    5 * Licensed under the Apache License, Version 2.0 (the "License");
    6 * you may not use this file except in compliance with the License.
    7 * You may obtain a copy of the License at
    8 *
    9 * http://www.apache.org/licenses/LICENSE-2.0
    10 *
    11 * Unless required by applicable law or agreed to in writing, software
    12 * distributed under the License is distributed on an "AS IS" BASIS,
    13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    14 * See the License for the specific language governing permissions and
    15 * limitations under the License.
    16 *
    17 *******************************************************************************/
    18 
    28 #ifndef _XRAN_UP_API_H_
    29 #define _XRAN_UP_API_H_
    30 
    31 #ifdef __cplusplus
    32 extern "C" {
    33 #endif
    34 
    35 #include <rte_common.h>
    36 #include <rte_mbuf.h>
    37 
    38 #include "xran_pkt.h"
    39 #include "xran_pkt_up.h"
    40 
    41 /*
    42  * structure used for storing packet parameters needed for generating
    43  * a data packet
    44  */
    46 {
    51 };
    52 
    53 /*
    54  * structure used for storing packet parameters needed for generating
    55  * a data packet without compression
    56  * Next fields are omitted:
    57  * udCompHdr (not always present)
    58  * reserved (not always present)
    59  * udCompParam (not always present)
    60  */
    62 {
    65 };
    66 
    75 int32_t xran_extract_iq_samples(struct rte_mbuf *mbuf,
    76  void **iq_data_start,
    77  uint8_t *CC_ID,
    78  uint8_t *Ant_ID,
    79  uint8_t *frame_id,
    80  uint8_t *subframe_id,
    81  uint8_t *slot_id,
    82  uint8_t *symb_id,
    83  struct ecpri_seq_id *seq_id,
    84  uint16_t *num_prbu,
    85  uint16_t *start_prbu,
    86  uint16_t *sym_inc,
    87  uint16_t *rb,
    88  uint16_t *sect_id,
    89  int8_t expect_comp,
    90  uint8_t *compMeth,
    91  uint8_t *iqWidth);
    92 
    94  struct rte_mbuf *mbuf,
    95  const void *iq_data_start,
    96  const enum xran_input_byte_order iq_buf_byte_order,
    97  const uint32_t iq_data_num_bytes,
    98  struct xran_up_pkt_gen_params *params,
    99  uint8_t CC_ID,
    100  uint8_t Ant_ID,
    101  uint8_t seq_id,
    102  uint32_t do_copy);
    103 
    104 #ifdef __cplusplus
    105 }
    106 #endif
    107 
    108 #endif /* _XRAN_UP_API_H_ */
    uint32_t sym_inc
    Definition: xran_pkt_up.h:73
    +
    uint32_t rb
    Definition: xran_pkt_cp.h:243
    +
    struct radio_app_common_hdr app_params
    Definition: xran_up_api.h:47
    + + + +
    uint32_t num_prbu
    Definition: xran_pkt_up.h:71
    + +
    xran_input_byte_order
    Definition: xran_fh_o_du.h:471
    +
    struct data_section_hdr sec_hdr
    Definition: xran_up_api.h:48
    + +
    union compression_params compr_param
    Definition: xran_up_api.h:50
    +
    uint32_t start_prbu
    Definition: xran_pkt_up.h:72
    + +
    Definitions and support functions to process XRAN packet.
    +
    Definitions and support functions to process XRAN packet.
    +
    uint32_t sect_id
    Definition: xran_pkt_up.h:75
    +
    int32_t xran_extract_iq_samples(struct rte_mbuf *mbuf, void **iq_data_start, uint8_t *CC_ID, uint8_t *Ant_ID, uint8_t *frame_id, uint8_t *subframe_id, uint8_t *slot_id, uint8_t *symb_id, struct ecpri_seq_id *seq_id, uint16_t *num_prbu, uint16_t *start_prbu, uint16_t *sym_inc, uint16_t *rb, uint16_t *sect_id, int8_t expect_comp, uint8_t *compMeth, uint8_t *iqWidth)
    Function extracts IQ samples from received mbuf packet.
    Definition: xran_up_api.c:327
    + +
    int xran_prepare_iq_symbol_portion(struct rte_mbuf *mbuf, const void *iq_data_start, const enum xran_input_byte_order iq_buf_byte_order, const uint32_t iq_data_num_bytes, struct xran_up_pkt_gen_params *params, uint8_t CC_ID, uint8_t Ant_ID, uint8_t seq_id, uint32_t do_copy)
    Function for starting preparion of IQ samples portions to be sent in xRAN packet. ...
    Definition: xran_up_api.c:455
    +
    struct data_section_compression_hdr compr_hdr_param
    Definition: xran_up_api.h:49
    +
    + + + + diff --git a/docs/API/xranlib__unit__test__main_8cc.html b/docs/API/xranlib__unit__test__main_8cc.html new file mode 100644 index 0000000..6c46200 --- /dev/null +++ b/docs/API/xranlib__unit__test__main_8cc.html @@ -0,0 +1,161 @@ + + + + + + + +o-du/phy: xranlib_unit_test_main.cc File Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    xranlib_unit_test_main.cc File Reference
    +
    +
    +
    #include <rte_config.h>
    +#include <rte_eal.h>
    +#include <rte_debug.h>
    +#include "common.hpp"
    +#include "xran_lib_wrap.hpp"
    +
    +Include dependency graph for xranlib_unit_test_main.cc:
    +
    +
    + + + + + + + + + +
    +
    +

    Go to the source code of this file.

    + + + + +

    +Functions

    int main (int argc, char **argv)
     
    + + + +

    +Variables

    xranLibWraperxranlib
     
    +

    Function Documentation

    + +

    ◆ main()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    int main (int argc,
    char ** argv 
    )
    +
    + +

    Definition at line 46 of file xranlib_unit_test_main.cc.

    + +
    +
    +

    Variable Documentation

    + +

    ◆ xranlib

    + +
    +
    + + + + +
    xranLibWraper* xranlib
    +
    + +

    Definition at line 44 of file xranlib_unit_test_main.cc.

    + +
    +
    +
    + + + + diff --git a/docs/API/xranlib__unit__test__main_8cc__incl.map b/docs/API/xranlib__unit__test__main_8cc__incl.map new file mode 100644 index 0000000..730804f --- /dev/null +++ b/docs/API/xranlib__unit__test__main_8cc__incl.map @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/docs/API/xranlib__unit__test__main_8cc__incl.md5 b/docs/API/xranlib__unit__test__main_8cc__incl.md5 new file mode 100644 index 0000000..c0eb8e9 --- /dev/null +++ b/docs/API/xranlib__unit__test__main_8cc__incl.md5 @@ -0,0 +1 @@ +8b9018a5638e4a6f5949b0200a15dfa5 \ No newline at end of file diff --git a/docs/API/xranlib__unit__test__main_8cc__incl.png b/docs/API/xranlib__unit__test__main_8cc__incl.png new file mode 100644 index 0000000..9f3c007 Binary files /dev/null and b/docs/API/xranlib__unit__test__main_8cc__incl.png differ diff --git a/docs/API/xranlib__unit__test__main_8cc_source.html b/docs/API/xranlib__unit__test__main_8cc_source.html new file mode 100644 index 0000000..676f237 --- /dev/null +++ b/docs/API/xranlib__unit__test__main_8cc_source.html @@ -0,0 +1,88 @@ + + + + + + + +o-du/phy: xranlib_unit_test_main.cc Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    o-du/phy +
    +
    Intel O-RAN/X-RAN Generated Doxygen Documentation
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    xranlib_unit_test_main.cc
    +
    +
    +Go to the documentation of this file.
    1 /******************************************************************************
    2 *
    3 * Copyright (c) 2019 Intel.
    4 *
    5 * Licensed under the Apache License, Version 2.0 (the "License");
    6 * you may not use this file except in compliance with the License.
    7 * You may obtain a copy of the License at
    8 *
    9 * http://www.apache.org/licenses/LICENSE-2.0
    10 *
    11 * Unless required by applicable law or agreed to in writing, software
    12 * distributed under the License is distributed on an "AS IS" BASIS,
    13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    14 * See the License for the specific language governing permissions and
    15 * limitations under the License.
    16 *
    17 *******************************************************************************/
    18 
    19 #include <rte_config.h>
    20 #include <rte_eal.h>
    21 #include <rte_debug.h>
    22 
    23 #include "common.hpp"
    24 #include "xran_lib_wrap.hpp"
    25 
    26 static int parse_input_parameter(std::string executable, std::string option)
    27 {
    28  std::size_t delim_pos = option.find("=");
    29  std::string param = option.substr(delim_pos + 1);
    30 
    31  try
    32  {
    33  return std::stoi(param);
    34  }
    35  catch(std::logic_error &e)
    36  {
    37  std::cout << executable << ": invalid argument '"<< param << "' for '" << option << "'" << std::endl;
    38  std::cout << "Try '" << executable << " --usage' for more information." << std::endl;
    39  exit(-1);
    40  }
    41 }
    42 
    43 //xranLibWraper xranlib;
    45 
    46 int main(int argc, char** argv) {
    47  int all_test_ret = 0;
    48 
    49  /* Enable xml output by default */
    50  ::testing::GTEST_FLAG(output) = "xml:test_results.xml";
    51 
    52  ::testing::InitGoogleTest(&argc, argv);
    53 
    54  const std::string executable = argv[0];
    55 
    56  for(int index = 1; index < argc; index++) {
    57 
    58  const std::string option = argv[index];
    59 
    60  if (option.find("--nb_repetitions=") != std::string::npos)
    61  {
    62  BenchmarkParameters::repetition = parse_input_parameter(executable, option);
    63  }
    64  else if (option.find("--nb_loops=") != std::string::npos)
    65  {
    66  BenchmarkParameters::loop = parse_input_parameter(executable, option);
    67  }
    68  else if (option.find("--cpu_nb=") != std::string::npos)
    69  {
    70  BenchmarkParameters::cpu_id = (unsigned) parse_input_parameter(executable, option);
    71 
    73  std::cout << std::endl << "Warning: Core #0 is running the VM's OS. "
    74  << "Measurements won't be accurate. It shouldn't be used!"
    75  << std::endl << std::endl;
    76  }
    77  /* --usage used instead of --help to avoid conflict with gtest --help */
    78  else if (!option.compare("--usage"))
    79  {
    80  std::cout << "Usage: " << executable << " [GTEST_OPTION]... [OPTION]..." << std::endl;
    81  std::cout << "Runs unittests with given gtest options." << std::endl;
    82  std::cout << std::endl;
    83  std::cout << "Available options: " << std::endl;
    84  std::cout << "--nb_repetitions=NUMBER Sets how many times results are measured" << std::endl;
    85  std::cout << "--nb_loops=NUMBER Sets how many times function is called per repetition"
    86  << std::endl;
    87  std::cout << "--cpu_nb=NUMBER Sets core number to run tests on" << std::endl;
    88  std::cout << "--usage Prints this message" << std::endl;
    89 
    90  return 0;
    91  }
    92  else
    93  {
    94  std::cout << executable << ": inavlid option " << option << std::endl;
    95  std::cout << "Try '" << executable << " --usage' for more information." << std::endl;
    96 
    97  return -1;
    98  }
    99  }
    100 
    101  xranlib = new xranLibWraper;
    102 
    103  if(xranlib->SetUp() < 0) {
    104  return (-1);
    105  }
    106 
    107  all_test_ret = RUN_ALL_TESTS();
    108 
    109  xranlib->TearDown();
    110 
    111  if(xranlib != nullptr) {
    112  delete xranlib;
    113  xranlib == nullptr;
    114  }
    115 
    116  return all_test_ret;
    117 }
    118 
    119 
    120 
    xranLibWraper * xranlib
    + + +
    static unsigned cpu_id
    Definition: common.hpp:68
    +
    int main(int argc, char **argv)
    + + +
    static long repetition
    Definition: common.hpp:66
    + +
    static long loop
    Definition: common.hpp:67
    +
    + + + + diff --git a/docs/Doxygen/Doxyfile b/docs/Doxygen/Doxyfile new file mode 100644 index 0000000..063a43e --- /dev/null +++ b/docs/Doxygen/Doxyfile @@ -0,0 +1,2494 @@ +# Doxyfile 1.8.13 + +# This file describes the settings to be used by the documentation system +# doxygen (www.doxygen.org) for a project. +# +# All text after a double hash (##) is considered a comment and is placed in +# front of the TAG it is preceding. +# +# All text after a single hash (#) is considered a comment and will be ignored. +# The format is: +# TAG = value [value, ...] +# For lists, items can also be appended using: +# TAG += value [value, ...] +# Values that contain spaces should be placed between quotes (\" \"). + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- + +# This tag specifies the encoding used for all characters in the config file +# that follow. The default is UTF-8 which is also the encoding used for all text +# before the first occurrence of this tag. Doxygen uses libiconv (or the iconv +# built into libc) for the transcoding. See http://www.gnu.org/software/libiconv +# for the list of possible encodings. +# The default value is: UTF-8. + +DOXYFILE_ENCODING = UTF-8 + +# The PROJECT_NAME tag is a single word (or a sequence of words surrounded by +# double-quotes, unless you are using Doxywizard) that should identify the +# project for which the documentation is generated. This name is used in the +# title of most generated pages and in a few other places. +# The default value is: My Project. + +PROJECT_NAME = "o-du/phy" + +# The PROJECT_NUMBER tag can be used to enter a project or revision number. This +# could be handy for archiving the generated documentation or if some version +# control system is used. + +PROJECT_NUMBER = + +# Using the PROJECT_BRIEF tag one can provide an optional one line description +# for a project that appears at the top of each page and should give viewer a +# quick idea about the purpose of the project. Keep the description short. + +PROJECT_BRIEF = "Intel O-RAN/X-RAN Generated Doxygen Documentation" + +# With the PROJECT_LOGO tag one can specify a logo or an icon that is included +# in the documentation. The maximum height of the logo should not exceed 55 +# pixels and the maximum width should not exceed 200 pixels. Doxygen will copy +# the logo to the output directory. + +PROJECT_LOGO = + +# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path +# into which the generated documentation will be written. If a relative path is +# entered, it will be relative to the location where doxygen was started. If +# left blank the current directory will be used. + +OUTPUT_DIRECTORY = "../API" + +# If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub- +# directories (in 2 levels) under the output directory of each output format and +# will distribute the generated files over these directories. Enabling this +# option can be useful when feeding doxygen a huge amount of source files, where +# putting all generated files in the same directory would otherwise causes +# performance problems for the file system. +# The default value is: NO. + +CREATE_SUBDIRS = NO + +# If the ALLOW_UNICODE_NAMES tag is set to YES, doxygen will allow non-ASCII +# characters to appear in the names of generated files. If set to NO, non-ASCII +# characters will be escaped, for example _xE3_x81_x84 will be used for Unicode +# U+3044. +# The default value is: NO. + +ALLOW_UNICODE_NAMES = NO + +# The OUTPUT_LANGUAGE tag is used to specify the language in which all +# documentation generated by doxygen is written. Doxygen will use this +# information to generate all constant output in the proper language. +# Possible values are: Afrikaans, Arabic, Armenian, Brazilian, Catalan, Chinese, +# Chinese-Traditional, Croatian, Czech, Danish, Dutch, English (United States), +# Esperanto, Farsi (Persian), Finnish, French, German, Greek, Hungarian, +# Indonesian, Italian, Japanese, Japanese-en (Japanese with English messages), +# Korean, Korean-en (Korean with English messages), Latvian, Lithuanian, +# Macedonian, Norwegian, Persian (Farsi), Polish, Portuguese, Romanian, Russian, +# Serbian, Serbian-Cyrillic, Slovak, Slovene, Spanish, Swedish, Turkish, +# Ukrainian and Vietnamese. +# The default value is: English. + +OUTPUT_LANGUAGE = English + +# If the BRIEF_MEMBER_DESC tag is set to YES, doxygen will include brief member +# descriptions after the members that are listed in the file and class +# documentation (similar to Javadoc). Set to NO to disable this. +# The default value is: YES. + +BRIEF_MEMBER_DESC = YES + +# If the REPEAT_BRIEF tag is set to YES, doxygen will prepend the brief +# description of a member or function before the detailed description +# +# Note: If both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the +# brief descriptions will be completely suppressed. +# The default value is: YES. + +REPEAT_BRIEF = YES + +# This tag implements a quasi-intelligent brief description abbreviator that is +# used to form the text in various listings. Each string in this list, if found +# as the leading text of the brief description, will be stripped from the text +# and the result, after processing the whole list, is used as the annotated +# text. Otherwise, the brief description is used as-is. If left blank, the +# following values are used ($name is automatically replaced with the name of +# the entity):The $name class, The $name widget, The $name file, is, provides, +# specifies, contains, represents, a, an and the. + +ABBREVIATE_BRIEF = "The $name class" \ + "The $name widget" \ + "The $name file" \ + is \ + provides \ + specifies \ + contains \ + represents \ + a \ + an \ + the + +# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then +# doxygen will generate a detailed section even if there is only a brief +# description. +# The default value is: NO. + +ALWAYS_DETAILED_SEC = YES + +# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all +# inherited members of a class in the documentation of that class as if those +# members were ordinary class members. Constructors, destructors and assignment +# operators of the base classes will not be shown. +# The default value is: NO. + +INLINE_INHERITED_MEMB = YES + +# If the FULL_PATH_NAMES tag is set to YES, doxygen will prepend the full path +# before files name in the file list and in the header files. If set to NO the +# shortest path that makes the file name unique will be used +# The default value is: YES. + +FULL_PATH_NAMES = NO + +# The STRIP_FROM_PATH tag can be used to strip a user-defined part of the path. +# Stripping is only done if one of the specified strings matches the left-hand +# part of the path. The tag can be used to show relative paths in the file list. +# If left blank the directory from which doxygen is run is used as the path to +# strip. +# +# Note that you can specify absolute paths here, but also relative paths, which +# will be relative from the directory where doxygen is started. +# This tag requires that the tag FULL_PATH_NAMES is set to YES. + +STRIP_FROM_PATH = + +# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of the +# path mentioned in the documentation of a class, which tells the reader which +# header file to include in order to use a class. If left blank only the name of +# the header file containing the class definition is used. Otherwise one should +# specify the list of include paths that are normally passed to the compiler +# using the -I flag. + +STRIP_FROM_INC_PATH = + +# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter (but +# less readable) file names. This can be useful is your file systems doesn't +# support long names like on DOS, Mac, or CD-ROM. +# The default value is: NO. + +SHORT_NAMES = NO + +# If the JAVADOC_AUTOBRIEF tag is set to YES then doxygen will interpret the +# first line (until the first dot) of a Javadoc-style comment as the brief +# description. If set to NO, the Javadoc-style will behave just like regular Qt- +# style comments (thus requiring an explicit @brief command for a brief +# description.) +# The default value is: NO. + +JAVADOC_AUTOBRIEF = NO + +# If the QT_AUTOBRIEF tag is set to YES then doxygen will interpret the first +# line (until the first dot) of a Qt-style comment as the brief description. If +# set to NO, the Qt-style will behave just like regular Qt-style comments (thus +# requiring an explicit \brief command for a brief description.) +# The default value is: NO. + +QT_AUTOBRIEF = NO + +# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make doxygen treat a +# multi-line C++ special comment block (i.e. a block of //! or /// comments) as +# a brief description. This used to be the default behavior. The new default is +# to treat a multi-line C++ comment block as a detailed description. Set this +# tag to YES if you prefer the old behavior instead. +# +# Note that setting this tag to YES also means that rational rose comments are +# not recognized any more. +# The default value is: NO. + +MULTILINE_CPP_IS_BRIEF = NO + +# If the INHERIT_DOCS tag is set to YES then an undocumented member inherits the +# documentation from any documented member that it re-implements. +# The default value is: YES. + +INHERIT_DOCS = YES + +# If the SEPARATE_MEMBER_PAGES tag is set to YES then doxygen will produce a new +# page for each member. If set to NO, the documentation of a member will be part +# of the file/class/namespace that contains it. +# The default value is: NO. + +SEPARATE_MEMBER_PAGES = NO + +# The TAB_SIZE tag can be used to set the number of spaces in a tab. Doxygen +# uses this value to replace tabs by spaces in code fragments. +# Minimum value: 1, maximum value: 16, default value: 4. + +TAB_SIZE = 4 + +# This tag can be used to specify a number of aliases that act as commands in +# the documentation. An alias has the form: +# name=value +# For example adding +# "sideeffect=@par Side Effects:\n" +# will allow you to put the command \sideeffect (or @sideeffect) in the +# documentation, which will result in a user-defined paragraph with heading +# "Side Effects:". You can put \n's in the value part of an alias to insert +# newlines. + +ALIASES = + +# This tag can be used to specify a number of word-keyword mappings (TCL only). +# A mapping has the form "name=value". For example adding "class=itcl::class" +# will allow you to use the command class in the itcl::class meaning. + +TCL_SUBST = + +# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources +# only. Doxygen will then generate output that is more tailored for C. For +# instance, some of the names that are used will be different. The list of all +# members will be omitted, etc. +# The default value is: NO. + +OPTIMIZE_OUTPUT_FOR_C = YES + +# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java or +# Python sources only. Doxygen will then generate output that is more tailored +# for that language. For instance, namespaces will be presented as packages, +# qualified scopes will look different, etc. +# The default value is: NO. + +OPTIMIZE_OUTPUT_JAVA = NO + +# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran +# sources. Doxygen will then generate output that is tailored for Fortran. +# The default value is: NO. + +OPTIMIZE_FOR_FORTRAN = NO + +# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL +# sources. Doxygen will then generate output that is tailored for VHDL. +# The default value is: NO. + +OPTIMIZE_OUTPUT_VHDL = NO + +# Doxygen selects the parser to use depending on the extension of the files it +# parses. With this tag you can assign which parser to use for a given +# extension. Doxygen has a built-in mapping, but you can override or extend it +# using this tag. The format is ext=language, where ext is a file extension, and +# language is one of the parsers supported by doxygen: IDL, Java, Javascript, +# C#, C, C++, D, PHP, Objective-C, Python, Fortran (fixed format Fortran: +# FortranFixed, free formatted Fortran: FortranFree, unknown formatted Fortran: +# Fortran. In the later case the parser tries to guess whether the code is fixed +# or free formatted code, this is the default for Fortran type files), VHDL. For +# instance to make doxygen treat .inc files as Fortran files (default is PHP), +# and .f files as C (default is Fortran), use: inc=Fortran f=C. +# +# Note: For files without extension you can use no_extension as a placeholder. +# +# Note that for custom extensions you also need to set FILE_PATTERNS otherwise +# the files are not read by doxygen. + +EXTENSION_MAPPING = + +# If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments +# according to the Markdown format, which allows for more readable +# documentation. See http://daringfireball.net/projects/markdown/ for details. +# The output of markdown processing is further processed by doxygen, so you can +# mix doxygen, HTML, and XML commands with Markdown formatting. Disable only in +# case of backward compatibilities issues. +# The default value is: YES. + +MARKDOWN_SUPPORT = YES + +# When the TOC_INCLUDE_HEADINGS tag is set to a non-zero value, all headings up +# to that level are automatically included in the table of contents, even if +# they do not have an id attribute. +# Note: This feature currently applies only to Markdown headings. +# Minimum value: 0, maximum value: 99, default value: 0. +# This tag requires that the tag MARKDOWN_SUPPORT is set to YES. + +TOC_INCLUDE_HEADINGS = 0 + +# When enabled doxygen tries to link words that correspond to documented +# classes, or namespaces to their corresponding documentation. Such a link can +# be prevented in individual cases by putting a % sign in front of the word or +# globally by setting AUTOLINK_SUPPORT to NO. +# The default value is: YES. + +AUTOLINK_SUPPORT = YES + +# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want +# to include (a tag file for) the STL sources as input, then you should set this +# tag to YES in order to let doxygen match functions declarations and +# definitions whose arguments contain STL classes (e.g. func(std::string); +# versus func(std::string) {}). This also make the inheritance and collaboration +# diagrams that involve STL classes more complete and accurate. +# The default value is: NO. + +BUILTIN_STL_SUPPORT = NO + +# If you use Microsoft's C++/CLI language, you should set this option to YES to +# enable parsing support. +# The default value is: NO. + +CPP_CLI_SUPPORT = NO + +# Set the SIP_SUPPORT tag to YES if your project consists of sip (see: +# http://www.riverbankcomputing.co.uk/software/sip/intro) sources only. Doxygen +# will parse them like normal C++ but will assume all classes use public instead +# of private inheritance when no explicit protection keyword is present. +# The default value is: NO. + +SIP_SUPPORT = NO + +# For Microsoft's IDL there are propget and propput attributes to indicate +# getter and setter methods for a property. Setting this option to YES will make +# doxygen to replace the get and set methods by a property in the documentation. +# This will only work if the methods are indeed getting or setting a simple +# type. If this is not the case, or you want to show the methods anyway, you +# should set this option to NO. +# The default value is: YES. + +IDL_PROPERTY_SUPPORT = YES + +# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC +# tag is set to YES then doxygen will reuse the documentation of the first +# member in the group (if any) for the other members of the group. By default +# all members of a group must be documented explicitly. +# The default value is: NO. + +DISTRIBUTE_GROUP_DOC = NO + +# If one adds a struct or class to a group and this option is enabled, then also +# any nested class or struct is added to the same group. By default this option +# is disabled and one has to add nested compounds explicitly via \ingroup. +# The default value is: NO. + +GROUP_NESTED_COMPOUNDS = NO + +# Set the SUBGROUPING tag to YES to allow class member groups of the same type +# (for instance a group of public functions) to be put as a subgroup of that +# type (e.g. under the Public Functions section). Set it to NO to prevent +# subgrouping. Alternatively, this can be done per class using the +# \nosubgrouping command. +# The default value is: YES. + +SUBGROUPING = YES + +# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and unions +# are shown inside the group in which they are included (e.g. using \ingroup) +# instead of on a separate page (for HTML and Man pages) or section (for LaTeX +# and RTF). +# +# Note that this feature does not work in combination with +# SEPARATE_MEMBER_PAGES. +# The default value is: NO. + +INLINE_GROUPED_CLASSES = NO + +# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and unions +# with only public data fields or simple typedef fields will be shown inline in +# the documentation of the scope in which they are defined (i.e. file, +# namespace, or group documentation), provided this scope is documented. If set +# to NO, structs, classes, and unions are shown on a separate page (for HTML and +# Man pages) or section (for LaTeX and RTF). +# The default value is: NO. + +INLINE_SIMPLE_STRUCTS = NO + +# When TYPEDEF_HIDES_STRUCT tag is enabled, a typedef of a struct, union, or +# enum is documented as struct, union, or enum with the name of the typedef. So +# typedef struct TypeS {} TypeT, will appear in the documentation as a struct +# with name TypeT. When disabled the typedef will appear as a member of a file, +# namespace, or class. And the struct will be named TypeS. This can typically be +# useful for C code in case the coding convention dictates that all compound +# types are typedef'ed and only the typedef is referenced, never the tag name. +# The default value is: NO. + +TYPEDEF_HIDES_STRUCT = NO + +# The size of the symbol lookup cache can be set using LOOKUP_CACHE_SIZE. This +# cache is used to resolve symbols given their name and scope. Since this can be +# an expensive process and often the same symbol appears multiple times in the +# code, doxygen keeps a cache of pre-resolved symbols. If the cache is too small +# doxygen will become slower. If the cache is too large, memory is wasted. The +# cache size is given by this formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range +# is 0..9, the default is 0, corresponding to a cache size of 2^16=65536 +# symbols. At the end of a run doxygen will report the cache usage and suggest +# the optimal cache size from a speed point of view. +# Minimum value: 0, maximum value: 9, default value: 0. + +LOOKUP_CACHE_SIZE = 0 + +#--------------------------------------------------------------------------- +# Build related configuration options +#--------------------------------------------------------------------------- + +# If the EXTRACT_ALL tag is set to YES, doxygen will assume all entities in +# documentation are documented, even if no documentation was available. Private +# class members and static file members will be hidden unless the +# EXTRACT_PRIVATE respectively EXTRACT_STATIC tags are set to YES. +# Note: This will also disable the warnings about undocumented members that are +# normally produced when WARNINGS is set to YES. +# The default value is: NO. + +EXTRACT_ALL = YES + +# If the EXTRACT_PRIVATE tag is set to YES, all private members of a class will +# be included in the documentation. +# The default value is: NO. + +EXTRACT_PRIVATE = NO + +# If the EXTRACT_PACKAGE tag is set to YES, all members with package or internal +# scope will be included in the documentation. +# The default value is: NO. + +EXTRACT_PACKAGE = NO + +# If the EXTRACT_STATIC tag is set to YES, all static members of a file will be +# included in the documentation. +# The default value is: NO. + +EXTRACT_STATIC = NO + +# If the EXTRACT_LOCAL_CLASSES tag is set to YES, classes (and structs) defined +# locally in source files will be included in the documentation. If set to NO, +# only classes defined in header files are included. Does not have any effect +# for Java sources. +# The default value is: YES. + +EXTRACT_LOCAL_CLASSES = YES + +# This flag is only useful for Objective-C code. If set to YES, local methods, +# which are defined in the implementation section but not in the interface are +# included in the documentation. If set to NO, only methods in the interface are +# included. +# The default value is: NO. + +EXTRACT_LOCAL_METHODS = YES + +# If this flag is set to YES, the members of anonymous namespaces will be +# extracted and appear in the documentation as a namespace called +# 'anonymous_namespace{file}', where file will be replaced with the base name of +# the file that contains the anonymous namespace. By default anonymous namespace +# are hidden. +# The default value is: NO. + +EXTRACT_ANON_NSPACES = NO + +# If the HIDE_UNDOC_MEMBERS tag is set to YES, doxygen will hide all +# undocumented members inside documented classes or files. If set to NO these +# members will be included in the various overviews, but no documentation +# section is generated. This option has no effect if EXTRACT_ALL is enabled. +# The default value is: NO. + +HIDE_UNDOC_MEMBERS = NO + +# If the HIDE_UNDOC_CLASSES tag is set to YES, doxygen will hide all +# undocumented classes that are normally visible in the class hierarchy. If set +# to NO, these classes will be included in the various overviews. This option +# has no effect if EXTRACT_ALL is enabled. +# The default value is: NO. + +HIDE_UNDOC_CLASSES = NO + +# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, doxygen will hide all friend +# (class|struct|union) declarations. If set to NO, these declarations will be +# included in the documentation. +# The default value is: NO. + +HIDE_FRIEND_COMPOUNDS = NO + +# If the HIDE_IN_BODY_DOCS tag is set to YES, doxygen will hide any +# documentation blocks found inside the body of a function. If set to NO, these +# blocks will be appended to the function's detailed documentation block. +# The default value is: NO. + +HIDE_IN_BODY_DOCS = NO + +# The INTERNAL_DOCS tag determines if documentation that is typed after a +# \internal command is included. If the tag is set to NO then the documentation +# will be excluded. Set it to YES to include the internal documentation. +# The default value is: NO. + +INTERNAL_DOCS = NO + +# If the CASE_SENSE_NAMES tag is set to NO then doxygen will only generate file +# names in lower-case letters. If set to YES, upper-case letters are also +# allowed. This is useful if you have classes or files whose names only differ +# in case and if your file system supports case sensitive file names. Windows +# and Mac users are advised to set this option to NO. +# The default value is: system dependent. + +CASE_SENSE_NAMES = NO + +# If the HIDE_SCOPE_NAMES tag is set to NO then doxygen will show members with +# their full class and namespace scopes in the documentation. If set to YES, the +# scope will be hidden. +# The default value is: NO. + +HIDE_SCOPE_NAMES = YES + +# If the HIDE_COMPOUND_REFERENCE tag is set to NO (default) then doxygen will +# append additional text to a page's title, such as Class Reference. If set to +# YES the compound reference will be hidden. +# The default value is: NO. + +HIDE_COMPOUND_REFERENCE= NO + +# If the SHOW_INCLUDE_FILES tag is set to YES then doxygen will put a list of +# the files that are included by a file in the documentation of that file. +# The default value is: YES. + +SHOW_INCLUDE_FILES = YES + +# If the SHOW_GROUPED_MEMB_INC tag is set to YES then Doxygen will add for each +# grouped member an include statement to the documentation, telling the reader +# which file to include in order to use the member. +# The default value is: NO. + +SHOW_GROUPED_MEMB_INC = NO + +# If the FORCE_LOCAL_INCLUDES tag is set to YES then doxygen will list include +# files with double quotes in the documentation rather than with sharp brackets. +# The default value is: NO. + +FORCE_LOCAL_INCLUDES = NO + +# If the INLINE_INFO tag is set to YES then a tag [inline] is inserted in the +# documentation for inline members. +# The default value is: YES. + +INLINE_INFO = YES + +# If the SORT_MEMBER_DOCS tag is set to YES then doxygen will sort the +# (detailed) documentation of file and class members alphabetically by member +# name. If set to NO, the members will appear in declaration order. +# The default value is: YES. + +SORT_MEMBER_DOCS = YES + +# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the brief +# descriptions of file, namespace and class members alphabetically by member +# name. If set to NO, the members will appear in declaration order. Note that +# this will also influence the order of the classes in the class list. +# The default value is: NO. + +SORT_BRIEF_DOCS = NO + +# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the +# (brief and detailed) documentation of class members so that constructors and +# destructors are listed first. If set to NO the constructors will appear in the +# respective orders defined by SORT_BRIEF_DOCS and SORT_MEMBER_DOCS. +# Note: If SORT_BRIEF_DOCS is set to NO this option is ignored for sorting brief +# member documentation. +# Note: If SORT_MEMBER_DOCS is set to NO this option is ignored for sorting +# detailed member documentation. +# The default value is: NO. + +SORT_MEMBERS_CTORS_1ST = NO + +# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the hierarchy +# of group names into alphabetical order. If set to NO the group names will +# appear in their defined order. +# The default value is: NO. + +SORT_GROUP_NAMES = NO + +# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be sorted by +# fully-qualified names, including namespaces. If set to NO, the class list will +# be sorted only by class name, not including the namespace part. +# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. +# Note: This option applies only to the class list, not to the alphabetical +# list. +# The default value is: NO. + +SORT_BY_SCOPE_NAME = NO + +# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to do proper +# type resolution of all parameters of a function it will reject a match between +# the prototype and the implementation of a member function even if there is +# only one candidate or it is obvious which candidate to choose by doing a +# simple string match. By disabling STRICT_PROTO_MATCHING doxygen will still +# accept a match between prototype and implementation in such cases. +# The default value is: NO. + +STRICT_PROTO_MATCHING = NO + +# The GENERATE_TODOLIST tag can be used to enable (YES) or disable (NO) the todo +# list. This list is created by putting \todo commands in the documentation. +# The default value is: YES. + +GENERATE_TODOLIST = YES + +# The GENERATE_TESTLIST tag can be used to enable (YES) or disable (NO) the test +# list. This list is created by putting \test commands in the documentation. +# The default value is: YES. + +GENERATE_TESTLIST = YES + +# The GENERATE_BUGLIST tag can be used to enable (YES) or disable (NO) the bug +# list. This list is created by putting \bug commands in the documentation. +# The default value is: YES. + +GENERATE_BUGLIST = YES + +# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or disable (NO) +# the deprecated list. This list is created by putting \deprecated commands in +# the documentation. +# The default value is: YES. + +GENERATE_DEPRECATEDLIST= YES + +# The ENABLED_SECTIONS tag can be used to enable conditional documentation +# sections, marked by \if ... \endif and \cond +# ... \endcond blocks. + +ENABLED_SECTIONS = + +# The MAX_INITIALIZER_LINES tag determines the maximum number of lines that the +# initial value of a variable or macro / define can have for it to appear in the +# documentation. If the initializer consists of more lines than specified here +# it will be hidden. Use a value of 0 to hide initializers completely. The +# appearance of the value of individual variables and macros / defines can be +# controlled using \showinitializer or \hideinitializer command in the +# documentation regardless of this setting. +# Minimum value: 0, maximum value: 10000, default value: 30. + +MAX_INITIALIZER_LINES = 30 + +# Set the SHOW_USED_FILES tag to NO to disable the list of files generated at +# the bottom of the documentation of classes and structs. If set to YES, the +# list will mention the files that were used to generate the documentation. +# The default value is: YES. + +SHOW_USED_FILES = YES + +# Set the SHOW_FILES tag to NO to disable the generation of the Files page. This +# will remove the Files entry from the Quick Index and from the Folder Tree View +# (if specified). +# The default value is: YES. + +SHOW_FILES = YES + +# Set the SHOW_NAMESPACES tag to NO to disable the generation of the Namespaces +# page. This will remove the Namespaces entry from the Quick Index and from the +# Folder Tree View (if specified). +# The default value is: YES. + +SHOW_NAMESPACES = YES + +# The FILE_VERSION_FILTER tag can be used to specify a program or script that +# doxygen should invoke to get the current version for each file (typically from +# the version control system). Doxygen will invoke the program by executing (via +# popen()) the command command input-file, where command is the value of the +# FILE_VERSION_FILTER tag, and input-file is the name of an input file provided +# by doxygen. Whatever the program writes to standard output is used as the file +# version. For an example see the documentation. + +FILE_VERSION_FILTER = + +# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed +# by doxygen. The layout file controls the global structure of the generated +# output files in an output format independent way. To create the layout file +# that represents doxygen's defaults, run doxygen with the -l option. You can +# optionally specify a file name after the option, if omitted DoxygenLayout.xml +# will be used as the name of the layout file. +# +# Note that if you run doxygen from a directory containing a file called +# DoxygenLayout.xml, doxygen will parse it automatically even if the LAYOUT_FILE +# tag is left empty. + +LAYOUT_FILE = + +# The CITE_BIB_FILES tag can be used to specify one or more bib files containing +# the reference definitions. This must be a list of .bib files. The .bib +# extension is automatically appended if omitted. This requires the bibtex tool +# to be installed. See also http://en.wikipedia.org/wiki/BibTeX for more info. +# For LaTeX the style of the bibliography can be controlled using +# LATEX_BIB_STYLE. To use this feature you need bibtex and perl available in the +# search path. See also \cite for info how to create references. + +CITE_BIB_FILES = + +#--------------------------------------------------------------------------- +# Configuration options related to warning and progress messages +#--------------------------------------------------------------------------- + +# The QUIET tag can be used to turn on/off the messages that are generated to +# standard output by doxygen. If QUIET is set to YES this implies that the +# messages are off. +# The default value is: NO. + +QUIET = NO + +# The WARNINGS tag can be used to turn on/off the warning messages that are +# generated to standard error (stderr) by doxygen. If WARNINGS is set to YES +# this implies that the warnings are on. +# +# Tip: Turn warnings on while writing the documentation. +# The default value is: YES. + +WARNINGS = YES + +# If the WARN_IF_UNDOCUMENTED tag is set to YES then doxygen will generate +# warnings for undocumented members. If EXTRACT_ALL is set to YES then this flag +# will automatically be disabled. +# The default value is: YES. + +WARN_IF_UNDOCUMENTED = YES + +# If the WARN_IF_DOC_ERROR tag is set to YES, doxygen will generate warnings for +# potential errors in the documentation, such as not documenting some parameters +# in a documented function, or documenting parameters that don't exist or using +# markup commands wrongly. +# The default value is: YES. + +WARN_IF_DOC_ERROR = YES + +# This WARN_NO_PARAMDOC option can be enabled to get warnings for functions that +# are documented, but have no documentation for their parameters or return +# value. If set to NO, doxygen will only warn about wrong or incomplete +# parameter documentation, but not about the absence of documentation. +# The default value is: NO. + +WARN_NO_PARAMDOC = NO + +# If the WARN_AS_ERROR tag is set to YES then doxygen will immediately stop when +# a warning is encountered. +# The default value is: NO. + +WARN_AS_ERROR = NO + +# The WARN_FORMAT tag determines the format of the warning messages that doxygen +# can produce. The string should contain the $file, $line, and $text tags, which +# will be replaced by the file and line number from which the warning originated +# and the warning text. Optionally the format may contain $version, which will +# be replaced by the version of the file (if it could be obtained via +# FILE_VERSION_FILTER) +# The default value is: $file:$line: $text. + +WARN_FORMAT = "$file:$line: $text" + +# The WARN_LOGFILE tag can be used to specify a file to which warning and error +# messages should be written. If left blank the output is written to standard +# error (stderr). + +WARN_LOGFILE = + +#--------------------------------------------------------------------------- +# Configuration options related to the input files +#--------------------------------------------------------------------------- + +# The INPUT tag is used to specify the files and/or directories that contain +# documented source files. You may enter file names like myfile.cpp or +# directories like /usr/src/myproject. Separate the files or directories with +# spaces. See also FILE_PATTERNS and EXTENSION_MAPPING +# Note: If this tag is empty the current directory is searched. + +INPUT = "../../fhi_lib" + +# This tag can be used to specify the character encoding of the source files +# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses +# libiconv (or the iconv built into libc) for the transcoding. See the libiconv +# documentation (see: http://www.gnu.org/software/libiconv) for the list of +# possible encodings. +# The default value is: UTF-8. + +INPUT_ENCODING = UTF-8 + +# If the value of the INPUT tag contains directories, you can use the +# FILE_PATTERNS tag to specify one or more wildcard patterns (like *.cpp and +# *.h) to filter out the source-files in the directories. +# +# Note that for custom extensions or not directly supported extensions you also +# need to set EXTENSION_MAPPING for the extension otherwise the files are not +# read by doxygen. +# +# If left blank the following patterns are tested:*.c, *.cc, *.cxx, *.cpp, +# *.c++, *.java, *.ii, *.ixx, *.ipp, *.i++, *.inl, *.idl, *.ddl, *.odl, *.h, +# *.hh, *.hxx, *.hpp, *.h++, *.cs, *.d, *.php, *.php4, *.php5, *.phtml, *.inc, +# *.m, *.markdown, *.md, *.mm, *.dox, *.py, *.pyw, *.f90, *.f95, *.f03, *.f08, +# *.f, *.for, *.tcl, *.vhd, *.vhdl, *.ucf and *.qsf. + +FILE_PATTERNS = *.c \ + *.cc \ + *.cxx \ + *.cpp \ + *.c++ \ + *.java \ + *.ii \ + *.ixx \ + *.ipp \ + *.i++ \ + *.inl \ + *.idl \ + *.ddl \ + *.odl \ + *.h \ + *.hh \ + *.hxx \ + *.hpp \ + *.h++ \ + *.cs \ + *.d \ + *.php \ + *.php4 \ + *.php5 \ + *.phtml \ + *.inc \ + *.m \ + *.markdown \ + *.md \ + *.mm \ + *.dox \ + *.py \ + *.pyw \ + *.f90 \ + *.f95 \ + *.f03 \ + *.f08 \ + *.f \ + *.for \ + *.tcl \ + *.vhd \ + *.vhdl \ + *.ucf \ + *.qsf + +# The RECURSIVE tag can be used to specify whether or not subdirectories should +# be searched for input files as well. +# The default value is: NO. + +RECURSIVE = YES + +# The EXCLUDE tag can be used to specify files and/or directories that should be +# excluded from the INPUT source files. This way you can easily exclude a +# subdirectory from a directory tree whose root is specified with the INPUT tag. +# +# Note that relative paths are relative to the directory from which doxygen is +# run. + +EXCLUDE = + +# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or +# directories that are symbolic links (a Unix file system feature) are excluded +# from the input. +# The default value is: NO. + +EXCLUDE_SYMLINKS = NO + +# If the value of the INPUT tag contains directories, you can use the +# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude +# certain files from those directories. +# +# Note that the wildcards are matched against the file with absolute path, so to +# exclude all test directories for example use the pattern */test/* + +EXCLUDE_PATTERNS = + +# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names +# (namespaces, classes, functions, etc.) that should be excluded from the +# output. The symbol name can be a fully qualified name, a word, or if the +# wildcard * is used, a substring. Examples: ANamespace, AClass, +# AClass::ANamespace, ANamespace::*Test +# +# Note that the wildcards are matched against the file with absolute path, so to +# exclude all test directories use the pattern */test/* + +EXCLUDE_SYMBOLS = + +# The EXAMPLE_PATH tag can be used to specify one or more files or directories +# that contain example code fragments that are included (see the \include +# command). + +EXAMPLE_PATH = + +# If the value of the EXAMPLE_PATH tag contains directories, you can use the +# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp and +# *.h) to filter out the source-files in the directories. If left blank all +# files are included. + +EXAMPLE_PATTERNS = * + +# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be +# searched for input files to be used with the \include or \dontinclude commands +# irrespective of the value of the RECURSIVE tag. +# The default value is: NO. + +EXAMPLE_RECURSIVE = NO + +# The IMAGE_PATH tag can be used to specify one or more files or directories +# that contain images that are to be included in the documentation (see the +# \image command). + +IMAGE_PATH = + +# The INPUT_FILTER tag can be used to specify a program that doxygen should +# invoke to filter for each input file. Doxygen will invoke the filter program +# by executing (via popen()) the command: +# +# +# +# where is the value of the INPUT_FILTER tag, and is the +# name of an input file. Doxygen will then use the output that the filter +# program writes to standard output. If FILTER_PATTERNS is specified, this tag +# will be ignored. +# +# Note that the filter must not add or remove lines; it is applied before the +# code is scanned, but not when the output code is generated. If lines are added +# or removed, the anchors will not be placed correctly. +# +# Note that for custom extensions or not directly supported extensions you also +# need to set EXTENSION_MAPPING for the extension otherwise the files are not +# properly processed by doxygen. + +INPUT_FILTER = + +# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern +# basis. Doxygen will compare the file name with each pattern and apply the +# filter if there is a match. The filters are a list of the form: pattern=filter +# (like *.cpp=my_cpp_filter). See INPUT_FILTER for further information on how +# filters are used. If the FILTER_PATTERNS tag is empty or if none of the +# patterns match the file name, INPUT_FILTER is applied. +# +# Note that for custom extensions or not directly supported extensions you also +# need to set EXTENSION_MAPPING for the extension otherwise the files are not +# properly processed by doxygen. + +FILTER_PATTERNS = + +# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using +# INPUT_FILTER) will also be used to filter the input files that are used for +# producing the source files to browse (i.e. when SOURCE_BROWSER is set to YES). +# The default value is: NO. + +FILTER_SOURCE_FILES = NO + +# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file +# pattern. A pattern will override the setting for FILTER_PATTERN (if any) and +# it is also possible to disable source filtering for a specific pattern using +# *.ext= (so without naming a filter). +# This tag requires that the tag FILTER_SOURCE_FILES is set to YES. + +FILTER_SOURCE_PATTERNS = + +# If the USE_MDFILE_AS_MAINPAGE tag refers to the name of a markdown file that +# is part of the input, its contents will be placed on the main page +# (index.html). This can be useful if you have a project on for instance GitHub +# and want to reuse the introduction page also for the doxygen output. + +USE_MDFILE_AS_MAINPAGE = + +#--------------------------------------------------------------------------- +# Configuration options related to source browsing +#--------------------------------------------------------------------------- + +# If the SOURCE_BROWSER tag is set to YES then a list of source files will be +# generated. Documented entities will be cross-referenced with these sources. +# +# Note: To get rid of all source code in the generated output, make sure that +# also VERBATIM_HEADERS is set to NO. +# The default value is: NO. + +SOURCE_BROWSER = YES + +# Setting the INLINE_SOURCES tag to YES will include the body of functions, +# classes and enums directly into the documentation. +# The default value is: NO. + +INLINE_SOURCES = NO + +# Setting the STRIP_CODE_COMMENTS tag to YES will instruct doxygen to hide any +# special comment blocks from generated source code fragments. Normal C, C++ and +# Fortran comments will always remain visible. +# The default value is: YES. + +STRIP_CODE_COMMENTS = YES + +# If the REFERENCED_BY_RELATION tag is set to YES then for each documented +# function all documented functions referencing it will be listed. +# The default value is: NO. + +REFERENCED_BY_RELATION = NO + +# If the REFERENCES_RELATION tag is set to YES then for each documented function +# all documented entities called/used by that function will be listed. +# The default value is: NO. + +REFERENCES_RELATION = NO + +# If the REFERENCES_LINK_SOURCE tag is set to YES and SOURCE_BROWSER tag is set +# to YES then the hyperlinks from functions in REFERENCES_RELATION and +# REFERENCED_BY_RELATION lists will link to the source code. Otherwise they will +# link to the documentation. +# The default value is: YES. + +REFERENCES_LINK_SOURCE = YES + +# If SOURCE_TOOLTIPS is enabled (the default) then hovering a hyperlink in the +# source code will show a tooltip with additional information such as prototype, +# brief description and links to the definition and documentation. Since this +# will make the HTML file larger and loading of large files a bit slower, you +# can opt to disable this feature. +# The default value is: YES. +# This tag requires that the tag SOURCE_BROWSER is set to YES. + +SOURCE_TOOLTIPS = YES + +# If the USE_HTAGS tag is set to YES then the references to source code will +# point to the HTML generated by the htags(1) tool instead of doxygen built-in +# source browser. The htags tool is part of GNU's global source tagging system +# (see http://www.gnu.org/software/global/global.html). You will need version +# 4.8.6 or higher. +# +# To use it do the following: +# - Install the latest version of global +# - Enable SOURCE_BROWSER and USE_HTAGS in the config file +# - Make sure the INPUT points to the root of the source tree +# - Run doxygen as normal +# +# Doxygen will invoke htags (and that will in turn invoke gtags), so these +# tools must be available from the command line (i.e. in the search path). +# +# The result: instead of the source browser generated by doxygen, the links to +# source code will now point to the output of htags. +# The default value is: NO. +# This tag requires that the tag SOURCE_BROWSER is set to YES. + +USE_HTAGS = NO + +# If the VERBATIM_HEADERS tag is set the YES then doxygen will generate a +# verbatim copy of the header file for each class for which an include is +# specified. Set to NO to disable this. +# See also: Section \class. +# The default value is: YES. + +VERBATIM_HEADERS = YES + +# If the CLANG_ASSISTED_PARSING tag is set to YES then doxygen will use the +# clang parser (see: http://clang.llvm.org/) for more accurate parsing at the +# cost of reduced performance. This can be particularly helpful with template +# rich C++ code for which doxygen's built-in parser lacks the necessary type +# information. +# Note: The availability of this option depends on whether or not doxygen was +# generated with the -Duse-libclang=ON option for CMake. +# The default value is: NO. + +CLANG_ASSISTED_PARSING = NO + +# If clang assisted parsing is enabled you can provide the compiler with command +# line options that you would normally use when invoking the compiler. Note that +# the include paths will already be set by doxygen for the files and directories +# specified with INPUT and INCLUDE_PATH. +# This tag requires that the tag CLANG_ASSISTED_PARSING is set to YES. + +CLANG_OPTIONS = + +#--------------------------------------------------------------------------- +# Configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- + +# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index of all +# compounds will be generated. Enable this if the project contains a lot of +# classes, structs, unions or interfaces. +# The default value is: YES. + +ALPHABETICAL_INDEX = YES + +# The COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns in +# which the alphabetical index list will be split. +# Minimum value: 1, maximum value: 20, default value: 5. +# This tag requires that the tag ALPHABETICAL_INDEX is set to YES. + +COLS_IN_ALPHA_INDEX = 5 + +# In case all classes in a project start with a common prefix, all classes will +# be put under the same header in the alphabetical index. The IGNORE_PREFIX tag +# can be used to specify a prefix (or a list of prefixes) that should be ignored +# while generating the index headers. +# This tag requires that the tag ALPHABETICAL_INDEX is set to YES. + +IGNORE_PREFIX = + +#--------------------------------------------------------------------------- +# Configuration options related to the HTML output +#--------------------------------------------------------------------------- + +# If the GENERATE_HTML tag is set to YES, doxygen will generate HTML output +# The default value is: YES. + +GENERATE_HTML = YES + +# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. If a +# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of +# it. +# The default directory is: html. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_OUTPUT = . + +# The HTML_FILE_EXTENSION tag can be used to specify the file extension for each +# generated HTML page (for example: .htm, .php, .asp). +# The default value is: .html. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_FILE_EXTENSION = .html + +# The HTML_HEADER tag can be used to specify a user-defined HTML header file for +# each generated HTML page. If the tag is left blank doxygen will generate a +# standard header. +# +# To get valid HTML the header file that includes any scripts and style sheets +# that doxygen needs, which is dependent on the configuration options used (e.g. +# the setting GENERATE_TREEVIEW). It is highly recommended to start with a +# default header using +# doxygen -w html new_header.html new_footer.html new_stylesheet.css +# YourConfigFile +# and then modify the file new_header.html. See also section "Doxygen usage" +# for information on how to generate the default header that doxygen normally +# uses. +# Note: The header is subject to change so you typically have to regenerate the +# default header when upgrading to a newer version of doxygen. For a description +# of the possible markers and block names see the documentation. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_HEADER = + +# The HTML_FOOTER tag can be used to specify a user-defined HTML footer for each +# generated HTML page. If the tag is left blank doxygen will generate a standard +# footer. See HTML_HEADER for more information on how to generate a default +# footer and what special commands can be used inside the footer. See also +# section "Doxygen usage" for information on how to generate the default footer +# that doxygen normally uses. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_FOOTER = + +# The HTML_STYLESHEET tag can be used to specify a user-defined cascading style +# sheet that is used by each HTML page. It can be used to fine-tune the look of +# the HTML output. If left blank doxygen will generate a default style sheet. +# See also section "Doxygen usage" for information on how to generate the style +# sheet that doxygen normally uses. +# Note: It is recommended to use HTML_EXTRA_STYLESHEET instead of this tag, as +# it is more robust and this tag (HTML_STYLESHEET) will in the future become +# obsolete. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_STYLESHEET = + +# The HTML_EXTRA_STYLESHEET tag can be used to specify additional user-defined +# cascading style sheets that are included after the standard style sheets +# created by doxygen. Using this option one can overrule certain style aspects. +# This is preferred over using HTML_STYLESHEET since it does not replace the +# standard style sheet and is therefore more robust against future updates. +# Doxygen will copy the style sheet files to the output directory. +# Note: The order of the extra style sheet files is of importance (e.g. the last +# style sheet in the list overrules the setting of the previous ones in the +# list). For an example see the documentation. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_EXTRA_STYLESHEET = + +# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or +# other source files which should be copied to the HTML output directory. Note +# that these files will be copied to the base HTML output directory. Use the +# $relpath^ marker in the HTML_HEADER and/or HTML_FOOTER files to load these +# files. In the HTML_STYLESHEET file, use the file name only. Also note that the +# files will be copied as-is; there are no commands or markers available. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_EXTRA_FILES = + +# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen +# will adjust the colors in the style sheet and background images according to +# this color. Hue is specified as an angle on a colorwheel, see +# http://en.wikipedia.org/wiki/Hue for more information. For instance the value +# 0 represents red, 60 is yellow, 120 is green, 180 is cyan, 240 is blue, 300 +# purple, and 360 is red again. +# Minimum value: 0, maximum value: 359, default value: 220. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_COLORSTYLE_HUE = 220 + +# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of the colors +# in the HTML output. For a value of 0 the output will use grayscales only. A +# value of 255 will produce the most vivid colors. +# Minimum value: 0, maximum value: 255, default value: 100. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_COLORSTYLE_SAT = 100 + +# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to the +# luminance component of the colors in the HTML output. Values below 100 +# gradually make the output lighter, whereas values above 100 make the output +# darker. The value divided by 100 is the actual gamma applied, so 80 represents +# a gamma of 0.8, The value 220 represents a gamma of 2.2, and 100 does not +# change the gamma. +# Minimum value: 40, maximum value: 240, default value: 80. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_COLORSTYLE_GAMMA = 80 + +# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML +# page will contain the date and time when the page was generated. Setting this +# to YES can help to show when doxygen was last run and thus if the +# documentation is up to date. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_TIMESTAMP = NO + +# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML +# documentation will contain sections that can be hidden and shown after the +# page has loaded. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_DYNAMIC_SECTIONS = NO + +# With HTML_INDEX_NUM_ENTRIES one can control the preferred number of entries +# shown in the various tree structured indices initially; the user can expand +# and collapse entries dynamically later on. Doxygen will expand the tree to +# such a level that at most the specified number of entries are visible (unless +# a fully collapsed tree already exceeds this amount). So setting the number of +# entries 1 will produce a full collapsed tree by default. 0 is a special value +# representing an infinite number of entries and will result in a full expanded +# tree by default. +# Minimum value: 0, maximum value: 9999, default value: 100. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_INDEX_NUM_ENTRIES = 100 + +# If the GENERATE_DOCSET tag is set to YES, additional index files will be +# generated that can be used as input for Apple's Xcode 3 integrated development +# environment (see: http://developer.apple.com/tools/xcode/), introduced with +# OSX 10.5 (Leopard). To create a documentation set, doxygen will generate a +# Makefile in the HTML output directory. Running make will produce the docset in +# that directory and running make install will install the docset in +# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find it at +# startup. See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html +# for more information. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +GENERATE_DOCSET = NO + +# This tag determines the name of the docset feed. A documentation feed provides +# an umbrella under which multiple documentation sets from a single provider +# (such as a company or product suite) can be grouped. +# The default value is: Doxygen generated docs. +# This tag requires that the tag GENERATE_DOCSET is set to YES. + +DOCSET_FEEDNAME = "Doxygen generated docs" + +# This tag specifies a string that should uniquely identify the documentation +# set bundle. This should be a reverse domain-name style string, e.g. +# com.mycompany.MyDocSet. Doxygen will append .docset to the name. +# The default value is: org.doxygen.Project. +# This tag requires that the tag GENERATE_DOCSET is set to YES. + +DOCSET_BUNDLE_ID = org.doxygen.Project + +# The DOCSET_PUBLISHER_ID tag specifies a string that should uniquely identify +# the documentation publisher. This should be a reverse domain-name style +# string, e.g. com.mycompany.MyDocSet.documentation. +# The default value is: org.doxygen.Publisher. +# This tag requires that the tag GENERATE_DOCSET is set to YES. + +DOCSET_PUBLISHER_ID = org.doxygen.Publisher + +# The DOCSET_PUBLISHER_NAME tag identifies the documentation publisher. +# The default value is: Publisher. +# This tag requires that the tag GENERATE_DOCSET is set to YES. + +DOCSET_PUBLISHER_NAME = Publisher + +# If the GENERATE_HTMLHELP tag is set to YES then doxygen generates three +# additional HTML index files: index.hhp, index.hhc, and index.hhk. The +# index.hhp is a project file that can be read by Microsoft's HTML Help Workshop +# (see: http://www.microsoft.com/en-us/download/details.aspx?id=21138) on +# Windows. +# +# The HTML Help Workshop contains a compiler that can convert all HTML output +# generated by doxygen into a single compiled HTML file (.chm). Compiled HTML +# files are now used as the Windows 98 help format, and will replace the old +# Windows help format (.hlp) on all Windows platforms in the future. Compressed +# HTML files also contain an index, a table of contents, and you can search for +# words in the documentation. The HTML workshop also contains a viewer for +# compressed HTML files. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +GENERATE_HTMLHELP = NO + +# The CHM_FILE tag can be used to specify the file name of the resulting .chm +# file. You can add a path in front of the file if the result should not be +# written to the html output directory. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. + +CHM_FILE = + +# The HHC_LOCATION tag can be used to specify the location (absolute path +# including file name) of the HTML help compiler (hhc.exe). If non-empty, +# doxygen will try to run the HTML help compiler on the generated index.hhp. +# The file has to be specified with full path. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. + +HHC_LOCATION = + +# The GENERATE_CHI flag controls if a separate .chi index file is generated +# (YES) or that it should be included in the master .chm file (NO). +# The default value is: NO. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. + +GENERATE_CHI = NO + +# The CHM_INDEX_ENCODING is used to encode HtmlHelp index (hhk), content (hhc) +# and project file content. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. + +CHM_INDEX_ENCODING = + +# The BINARY_TOC flag controls whether a binary table of contents is generated +# (YES) or a normal table of contents (NO) in the .chm file. Furthermore it +# enables the Previous and Next buttons. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. + +BINARY_TOC = NO + +# The TOC_EXPAND flag can be set to YES to add extra items for group members to +# the table of contents of the HTML help documentation and to the tree view. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. + +TOC_EXPAND = NO + +# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and +# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated that +# can be used as input for Qt's qhelpgenerator to generate a Qt Compressed Help +# (.qch) of the generated HTML documentation. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +GENERATE_QHP = NO + +# If the QHG_LOCATION tag is specified, the QCH_FILE tag can be used to specify +# the file name of the resulting .qch file. The path specified is relative to +# the HTML output folder. +# This tag requires that the tag GENERATE_QHP is set to YES. + +QCH_FILE = + +# The QHP_NAMESPACE tag specifies the namespace to use when generating Qt Help +# Project output. For more information please see Qt Help Project / Namespace +# (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#namespace). +# The default value is: org.doxygen.Project. +# This tag requires that the tag GENERATE_QHP is set to YES. + +QHP_NAMESPACE = org.doxygen.Project + +# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating Qt +# Help Project output. For more information please see Qt Help Project / Virtual +# Folders (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#virtual- +# folders). +# The default value is: doc. +# This tag requires that the tag GENERATE_QHP is set to YES. + +QHP_VIRTUAL_FOLDER = doc + +# If the QHP_CUST_FILTER_NAME tag is set, it specifies the name of a custom +# filter to add. For more information please see Qt Help Project / Custom +# Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom- +# filters). +# This tag requires that the tag GENERATE_QHP is set to YES. + +QHP_CUST_FILTER_NAME = + +# The QHP_CUST_FILTER_ATTRS tag specifies the list of the attributes of the +# custom filter to add. For more information please see Qt Help Project / Custom +# Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom- +# filters). +# This tag requires that the tag GENERATE_QHP is set to YES. + +QHP_CUST_FILTER_ATTRS = + +# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this +# project's filter section matches. Qt Help Project / Filter Attributes (see: +# http://qt-project.org/doc/qt-4.8/qthelpproject.html#filter-attributes). +# This tag requires that the tag GENERATE_QHP is set to YES. + +QHP_SECT_FILTER_ATTRS = + +# The QHG_LOCATION tag can be used to specify the location of Qt's +# qhelpgenerator. If non-empty doxygen will try to run qhelpgenerator on the +# generated .qhp file. +# This tag requires that the tag GENERATE_QHP is set to YES. + +QHG_LOCATION = + +# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files will be +# generated, together with the HTML files, they form an Eclipse help plugin. To +# install this plugin and make it available under the help contents menu in +# Eclipse, the contents of the directory containing the HTML and XML files needs +# to be copied into the plugins directory of eclipse. The name of the directory +# within the plugins directory should be the same as the ECLIPSE_DOC_ID value. +# After copying Eclipse needs to be restarted before the help appears. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +GENERATE_ECLIPSEHELP = NO + +# A unique identifier for the Eclipse help plugin. When installing the plugin +# the directory name containing the HTML and XML files should also have this +# name. Each documentation set should have its own identifier. +# The default value is: org.doxygen.Project. +# This tag requires that the tag GENERATE_ECLIPSEHELP is set to YES. + +ECLIPSE_DOC_ID = org.doxygen.Project + +# If you want full control over the layout of the generated HTML pages it might +# be necessary to disable the index and replace it with your own. The +# DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) at top +# of each HTML page. A value of NO enables the index and the value YES disables +# it. Since the tabs in the index contain the same information as the navigation +# tree, you can set this option to YES if you also set GENERATE_TREEVIEW to YES. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +DISABLE_INDEX = NO + +# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index +# structure should be generated to display hierarchical information. If the tag +# value is set to YES, a side panel will be generated containing a tree-like +# index structure (just like the one that is generated for HTML Help). For this +# to work a browser that supports JavaScript, DHTML, CSS and frames is required +# (i.e. any modern browser). Windows users are probably better off using the +# HTML help feature. Via custom style sheets (see HTML_EXTRA_STYLESHEET) one can +# further fine-tune the look of the index. As an example, the default style +# sheet generated by doxygen has an example that shows how to put an image at +# the root of the tree instead of the PROJECT_NAME. Since the tree basically has +# the same information as the tab index, you could consider setting +# DISABLE_INDEX to YES when enabling this option. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +GENERATE_TREEVIEW = NO + +# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values that +# doxygen will group on one line in the generated HTML documentation. +# +# Note that a value of 0 will completely suppress the enum values from appearing +# in the overview section. +# Minimum value: 0, maximum value: 20, default value: 4. +# This tag requires that the tag GENERATE_HTML is set to YES. + +ENUM_VALUES_PER_LINE = 4 + +# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be used +# to set the initial width (in pixels) of the frame in which the tree is shown. +# Minimum value: 0, maximum value: 1500, default value: 250. +# This tag requires that the tag GENERATE_HTML is set to YES. + +TREEVIEW_WIDTH = 250 + +# If the EXT_LINKS_IN_WINDOW option is set to YES, doxygen will open links to +# external symbols imported via tag files in a separate window. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +EXT_LINKS_IN_WINDOW = NO + +# Use this tag to change the font size of LaTeX formulas included as images in +# the HTML documentation. When you change the font size after a successful +# doxygen run you need to manually remove any form_*.png images from the HTML +# output directory to force them to be regenerated. +# Minimum value: 8, maximum value: 50, default value: 10. +# This tag requires that the tag GENERATE_HTML is set to YES. + +FORMULA_FONTSIZE = 10 + +# Use the FORMULA_TRANPARENT tag to determine whether or not the images +# generated for formulas are transparent PNGs. Transparent PNGs are not +# supported properly for IE 6.0, but are supported on all modern browsers. +# +# Note that when changing this option you need to delete any form_*.png files in +# the HTML output directory before the changes have effect. +# The default value is: YES. +# This tag requires that the tag GENERATE_HTML is set to YES. + +FORMULA_TRANSPARENT = YES + +# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see +# http://www.mathjax.org) which uses client side Javascript for the rendering +# instead of using pre-rendered bitmaps. Use this if you do not have LaTeX +# installed or if you want to formulas look prettier in the HTML output. When +# enabled you may also need to install MathJax separately and configure the path +# to it using the MATHJAX_RELPATH option. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +USE_MATHJAX = NO + +# When MathJax is enabled you can set the default output format to be used for +# the MathJax output. See the MathJax site (see: +# http://docs.mathjax.org/en/latest/output.html) for more details. +# Possible values are: HTML-CSS (which is slower, but has the best +# compatibility), NativeMML (i.e. MathML) and SVG. +# The default value is: HTML-CSS. +# This tag requires that the tag USE_MATHJAX is set to YES. + +MATHJAX_FORMAT = HTML-CSS + +# When MathJax is enabled you need to specify the location relative to the HTML +# output directory using the MATHJAX_RELPATH option. The destination directory +# should contain the MathJax.js script. For instance, if the mathjax directory +# is located at the same level as the HTML output directory, then +# MATHJAX_RELPATH should be ../mathjax. The default value points to the MathJax +# Content Delivery Network so you can quickly see the result without installing +# MathJax. However, it is strongly recommended to install a local copy of +# MathJax from http://www.mathjax.org before deployment. +# The default value is: http://cdn.mathjax.org/mathjax/latest. +# This tag requires that the tag USE_MATHJAX is set to YES. + +MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest + +# The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax +# extension names that should be enabled during MathJax rendering. For example +# MATHJAX_EXTENSIONS = TeX/AMSmath TeX/AMSsymbols +# This tag requires that the tag USE_MATHJAX is set to YES. + +MATHJAX_EXTENSIONS = + +# The MATHJAX_CODEFILE tag can be used to specify a file with javascript pieces +# of code that will be used on startup of the MathJax code. See the MathJax site +# (see: http://docs.mathjax.org/en/latest/output.html) for more details. For an +# example see the documentation. +# This tag requires that the tag USE_MATHJAX is set to YES. + +MATHJAX_CODEFILE = + +# When the SEARCHENGINE tag is enabled doxygen will generate a search box for +# the HTML output. The underlying search engine uses javascript and DHTML and +# should work on any modern browser. Note that when using HTML help +# (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets (GENERATE_DOCSET) +# there is already a search function so this one should typically be disabled. +# For large projects the javascript based search engine can be slow, then +# enabling SERVER_BASED_SEARCH may provide a better solution. It is possible to +# search using the keyboard; to jump to the search box use + S +# (what the is depends on the OS and browser, but it is typically +# , /