int srslte_ue_dl_find_dl_dci(srslte_ue_dl_t* q, srslte_dl_sf_cfg_t* sf, srslte_ue_dl_cfg_t* cfg, uint16_t rnti, srslte_dci_dl_t dci_dl[SRSLTE_MAX_DCI_MSG]) { set_mi_value(q, sf, cfg); srslte_dci_msg_t dci_msg[SRSLTE_MAX_DCI_MSG]; int nof_msg = 0; if (rnti == SRSLTE_SIRNTI || rnti == SRSLTE_PRNTI || SRSLTE_RNTI_ISRAR(rnti)) { nof_msg = find_dl_dci_type_siprarnti(q, sf, cfg, rnti, dci_msg); } else { nof_msg = find_dl_dci_type_crnti(q, sf, cfg, rnti, dci_msg); } // Unpack DCI messages for (uint32_t i = 0; i < nof_msg; i++) { if (srslte_dci_msg_unpack_pdsch(&q->cell, sf, &cfg->dci_cfg, &dci_msg[i], &dci_dl[i])) { ERROR("Unpacking DL DCI\n"); return SRSLTE_ERROR; } } return nof_msg; }
int srslte_ue_dl_find_dl_dci_type(srslte_ue_dl_t *q, uint32_t tm, uint32_t cfi, uint32_t sf_idx, uint16_t rnti, srslte_rnti_type_t rnti_type, srslte_dci_msg_t *dci_msg) { if (rnti_type == SRSLTE_RNTI_SI || rnti_type == SRSLTE_RNTI_PCH || rnti_type == SRSLTE_RNTI_RAR) { return find_dl_dci_type_siprarnti(q, cfi, rnti, dci_msg); } else { return find_dl_dci_type_crnti(q, tm, cfi, sf_idx, rnti, dci_msg); } }