+/**
+ * @ingroup xran
+ *
+ * Function allocates memory of given size from heap
+ *
+ * @param buf_len
+ * buffer size
+ *
+ * @return
+ * buf_len - size of memory allocation
+ */
+void* xran_malloc(size_t buf_len);
+
+/**
+ * @ingroup xran
+ *
+ * Function frees memory of given size from heap
+ *
+ * @param buf_len
+ * addr - pointer to buffer
+ *
+ * @return
+ * void
+ */
+void xran_free(void *addr);
+
+/**
+ * @ingroup xran
+ *
+ * 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
+ */
+uint8_t* xran_add_hdr_offset(uint8_t *dst, int16_t compMethod);
+
+/**
+ * @ingroup xran
+ *
+ * Function calculates offset for ptr according to ORAN C-plane headers requared
+ *
+ * @param dst
+ * pointer to be addjusted
+ *
+ * @return
+ * ptr - pointer to payload given header requared
+ */
+uint8_t *xran_add_cp_hdr_offset(uint8_t *dst);
+
+/**
+ * @ingroup xran
+ *
+ * Debug function to trigger stop on 1pps (GPS second) boundary
+ *
+ * @param value
+ * 1 - enable stop
+ * 0 - disable stop
+ * @param count
+ * enable auto stop after number of Tx packets
+ * @return
+ * 0 - on success
+ */
+int32_t xran_set_debug_stop(int32_t value, int32_t count);
+
+/**
+ * @ingroup xran
+ *
+ * function initialize PRB map from config input
+ *
+ * @param p_PrbMapIn
+ * Input PRBmap from config
+ * @param p_PrbMapOut
+ * Output PRBmap
+ * @return
+ * 0 - on success
+ */
+int32_t xran_init_PrbMap_from_cfg(struct xran_prb_map* p_PrbMapIn, struct xran_prb_map* p_PrbMapOut, uint32_t mtu);
+
+/**
+ * @ingroup xran
+ *
+ * function initialize PRB map from config input
+ *
+ * @param p_PrbMapIn
+ * Input PRBmap from config for Rx
+ * @param p_PrbMapOut
+ * Output PRBmap
+ * @return
+ * 0 - on success
+ */
+
+int32_t xran_init_PrbMap_from_cfg_for_rx(struct xran_prb_map* p_PrbMapIn, struct xran_prb_map* p_PrbMapOut, uint32_t mtu);
+
+int32_t xran_get_num_prb_elm(struct xran_prb_map* p_PrbMapIn, uint32_t mtu);
+
+/**
+ * @ingroup xran
+ *
+ * function initialize PRB map from config input by symbol
+ *
+ * @param p_PrbMapIn
+ * Input PRBmap from config
+ * @param p_PrbMapOut
+ * Output PRBmap
+ * @return
+ * 0 - on success
+ */
+int32_t xran_init_PrbMap_by_symbol_from_cfg(struct xran_prb_map* p_PrbMapIn, struct xran_prb_map* p_PrbMapOut, uint32_t mtu, uint32_t xran_max_prb);
+
+/**
+ * @ingroup xran
+ *
+ * Function prepares DL U-plane packets for symbol for O-RAN FH. Enques resulting packet to ring for TX at appropriate time
+ *
+ * @param pHandle
+ * pointer to O-RU port structure
+ * @return
+ * 0 - on success
+ */
+int32_t xran_prepare_up_dl_sym(uint16_t xran_port_id, uint32_t nSlotIdx, uint32_t nCcStart, uint32_t nCcNum, uint32_t nSymMask, uint32_t nAntStart,
+ uint32_t nAntNum, uint32_t nSymStart, uint32_t nSymNum);
+/**
+ * @ingroup xran
+ *
+ * Function prepares DL C-plane packets for slot for O-RAN FH. Enques resulting packet to ring for TX at appropriate time
+ *
+ * @param pHandle
+ * pointer to O-RU port structure
+ * @return
+ * 0 - on success
+ */
+int32_t xran_prepare_cp_dl_slot(uint16_t xran_port_id, uint32_t nSlotIdx, uint32_t nCcStart, uint32_t nCcNum, uint32_t nSymMask, uint32_t nAntStart,
+ uint32_t nAntNum, uint32_t nSymStart, uint32_t nSymNum);
+
+/**
+ * @ingroup xran
+ *
+ * Function prepares UL C-plane packets for slot for O-RAN FH. Enques resulting packet to ring for TX at appropriate time
+ *
+ * @param pHandle
+ * pointer to O-RU port structure
+ * @return
+ * 0 - on success
+ */
+int32_t xran_prepare_cp_ul_slot(uint16_t xran_port_id, uint32_t nSlotIdx, uint32_t nCcStart, uint32_t nCcNum, uint32_t nSymMask, uint32_t nAntStart,
+ uint32_t nAntNum, uint32_t nSymStart, uint32_t nSymNum);
+