+
+ /** @ingroup group_source_api_p7_fapi2phy_proc
+ *
+ * @param[in] p_fapi_vendor_msg Pointer to FAPI UL_DCI.request vendor message.
+ * @param[out] p_ia_ul_dci_req Pointer to IAPI UL_DCI.request structure.
+ *
+ * @return no return.
+ *
+ * @description
+ * This function fills fields for UL_DCI.request structure that come from
+ * a vendor extension.
+ *
+**/
+void nr5g_fapi_ul_dci_req_to_phy_translation_vendor_ext(
+ p_nr5g_fapi_phy_instance_t p_phy_instance,
+ fapi_vendor_msg_t * p_fapi_vendor_msg,
+ PULDCIRequestStruct p_ia_ul_dci_req)
+{
+ int idx = 0;
+
+ fapi_vendor_dci_pdu_t *p_vendor_dci_pdu;
+ DCIPDUStruct *p_ia_dci_pdu;
+ uint8_t *p_ia_curr = NULL;
+
+ p_ia_ul_dci_req->sSFN_Slot.nSym = p_fapi_vendor_msg->p7_req_vendor.ul_dci_req.sym;
+
+ p_ia_curr = (uint8_t *) p_ia_ul_dci_req->sULDCIPDU;
+
+ for (idx = 0; idx < p_ia_ul_dci_req->nDCI; idx++) {
+ p_ia_dci_pdu = (DCIPDUStruct *) p_ia_curr;
+ if (USE_VENDOR_EPREXSSB == p_phy_instance->phy_config.use_vendor_EpreXSSB)
+ {
+ p_vendor_dci_pdu = &p_fapi_vendor_msg->p7_req_vendor.ul_dci_req.pdus[idx];
+ p_ia_dci_pdu->nEpreRatioOfPDCCHToSSB = p_vendor_dci_pdu->
+ pdcch_pdu_config.dl_dci[0].epre_ratio_of_pdcch_to_ssb;
+ p_ia_dci_pdu->nEpreRatioOfDmrsToSSB = p_vendor_dci_pdu->
+ pdcch_pdu_config.dl_dci[0].epre_ratio_of_dmrs_to_ssb;
+ }
+ p_ia_curr += RUP32B(sizeof(DCIPDUStruct));
+ }
+}
\ No newline at end of file