Front Haul Interface Library update to third seed code contribution
[o-du/phy.git] / fhi_lib / lib / api / xran_up_api.h
index 513d1df..b6e29c6 100644 (file)
-/******************************************************************************\r
-*\r
-*   Copyright (c) 2019 Intel.\r
-*\r
-*   Licensed under the Apache License, Version 2.0 (the "License");\r
-*   you may not use this file except in compliance with the License.\r
-*   You may obtain a copy of the License at\r
-*\r
-*       http://www.apache.org/licenses/LICENSE-2.0\r
-*\r
-*   Unless required by applicable law or agreed to in writing, software\r
-*   distributed under the License is distributed on an "AS IS" BASIS,\r
-*   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
-*   See the License for the specific language governing permissions and\r
-*   limitations under the License.\r
-*\r
-*******************************************************************************/\r
-\r
-/**\r
- * @brief This file provides the definitions for User Plane Messages APIs.\r
- *\r
- * @file xran_up_api.h\r
- * @ingroup group_lte_source_xran\r
- * @author Intel Corporation\r
- *\r
- **/\r
-\r
-#ifndef _XRAN_UP_API_H_\r
-#define _XRAN_UP_API_H_\r
-\r
-#ifdef __cplusplus\r
-extern "C" {\r
-#endif\r
-\r
-#include <rte_common.h>\r
-#include <rte_mbuf.h>\r
-\r
-#include "xran_pkt.h"\r
-#include "xran_pkt_up.h"\r
-\r
-/*\r
- * structure used for storing packet parameters needed for generating\r
- * a data packet\r
- */\r
-struct xran_up_pkt_gen_params\r
-{\r
-    struct radio_app_common_hdr app_params;\r
-    struct data_section_hdr sec_hdr;\r
-    struct data_section_compression_hdr compr_hdr_param;\r
-    union compression_params compr_param;\r
-};\r
-\r
-/*\r
- * structure used for storing packet parameters needed for generating\r
- * a data packet without compression\r
- *   Next fields are omitted:\r
- *        udCompHdr (not always present)\r
- *        reserved (not always present)\r
- *        udCompParam (not always present)\r
- */\r
-struct xran_up_pkt_gen_no_compression_params\r
-{\r
-    struct radio_app_common_hdr app_params;\r
-    struct data_section_hdr sec_hdr;\r
-};\r
-\r
-/**\r
- * @brief Function extracts IQ samples from received mbuf packet.\r
- *\r
- * @param mbuf Packet with received data.\r
- * @param iq_data_start Address of the first IQ sample in mbuf will be returned\r
- *                      here\r
- * @return int Bytes of IQ samples that have been extracted from mbuf.\r
- */\r
-int32_t xran_extract_iq_samples(struct rte_mbuf *mbuf,\r
-    void **iq_data_start,\r
-    uint8_t *CC_ID,\r
-    uint8_t *Ant_ID,\r
-    uint8_t *frame_id,\r
-    uint8_t *subframe_id,\r
-    uint8_t *slot_id,\r
-    uint8_t *symb_id,\r
-    struct ecpri_seq_id *seq_id,\r
-    uint16_t *num_prbu,\r
-    uint16_t *start_prbu,\r
-    uint16_t *sym_inc,\r
-    uint16_t *rb,\r
-    uint16_t *sect_id,\r
-    int8_t   expect_comp,\r
-    uint8_t *compMeth,\r
-    uint8_t *iqWidth);\r
-\r
-int xran_prepare_iq_symbol_portion(\r
-                        struct rte_mbuf *mbuf,\r
-                        const void *iq_data_start,\r
-                        const enum xran_input_byte_order iq_buf_byte_order,\r
-                        const uint32_t iq_data_num_bytes,\r
-                        struct xran_up_pkt_gen_params *params,\r
-                        uint8_t CC_ID,\r
-                        uint8_t Ant_ID,\r
-                        uint8_t seq_id,\r
-                        uint32_t do_copy);\r
-\r
-#ifdef __cplusplus\r
-}\r
-#endif\r
-\r
-#endif /* _XRAN_UP_API_H_ */\r
+/******************************************************************************
+*
+*   Copyright (c) 2019 Intel.
+*
+*   Licensed under the Apache License, Version 2.0 (the "License");
+*   you may not use this file except in compliance with the License.
+*   You may obtain a copy of the License at
+*
+*       http://www.apache.org/licenses/LICENSE-2.0
+*
+*   Unless required by applicable law or agreed to in writing, software
+*   distributed under the License is distributed on an "AS IS" BASIS,
+*   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+*   See the License for the specific language governing permissions and
+*   limitations under the License.
+*
+*******************************************************************************/
+
+/**
+ * @brief This file provides the definitions for User Plane Messages APIs.
+ *
+ * @file xran_up_api.h
+ * @ingroup group_lte_source_xran
+ * @author Intel Corporation
+ *
+ **/
+
+#ifndef _XRAN_UP_API_H_
+#define _XRAN_UP_API_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <rte_common.h>
+#include <rte_mbuf.h>
+
+#include "xran_pkt.h"
+#include "xran_pkt_up.h"
+
+/*
+ * structure used for storing packet parameters needed for generating
+ * a data packet
+ */
+struct xran_up_pkt_gen_params
+{
+    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;
+};
+
+/*
+ * structure used for storing packet parameters needed for generating
+ * a data packet without compression
+ *   Next fields are omitted:
+ *        udCompHdr (not always present)
+ *        reserved (not always present)
+ *        udCompParam (not always present)
+ */
+struct xran_up_pkt_gen_no_compression_params
+{
+    struct radio_app_common_hdr app_params;
+    struct data_section_hdr sec_hdr;
+};
+
+/**
+ * @brief Function extracts IQ samples from received mbuf packet.
+ *
+ * @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.
+ */
+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);
+
+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);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _XRAN_UP_API_H_ */