X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?p=o-du%2Fphy.git;a=blobdiff_plain;f=fhi_lib%2Flib%2Fapi%2Fxran_up_api.h;h=b6e29c6dc9064b6d7a3e13518e2340ea9e1271d6;hp=513d1df787613ba190fd11836e3062994c1f37b0;hb=2fbf70096f64af622da983e88c5a64e90ad9bdbd;hpb=9e108bb6d4caf2f6d4e920c640882fa49c15684c diff --git a/fhi_lib/lib/api/xran_up_api.h b/fhi_lib/lib/api/xran_up_api.h index 513d1df..b6e29c6 100644 --- a/fhi_lib/lib/api/xran_up_api.h +++ b/fhi_lib/lib/api/xran_up_api.h @@ -1,108 +1,108 @@ -/****************************************************************************** -* -* 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 -#include - -#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_ */ +/****************************************************************************** +* +* 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 +#include + +#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_ */