/******************************************************************************* ** ** Function nci_proc_rf_management_rsp ** ** Description Process NCI responses in the RF Management group ** ** Returns void ** *******************************************************************************/ void nci_proc_rf_management_rsp (BT_HDR *p_msg) { UINT8 *p; UINT8 *pp, len, op_code; UINT8 *p_old = nfc_cb.last_cmd; /* find the start of the NCI message and parse the NCI header */ p = (UINT8 *) (p_msg + 1) + p_msg->offset; pp = p+1; NCI_MSG_PRS_HDR1 (pp, op_code); len = *pp++; switch (op_code) { case NCI_MSG_RF_DISCOVER: nfc_ncif_rf_management_status (NFC_START_DEVT, *pp); break; case NCI_MSG_RF_DISCOVER_SELECT: nfc_ncif_rf_management_status (NFC_SELECT_DEVT, *pp); break; case NCI_MSG_RF_T3T_POLLING: break; case NCI_MSG_RF_DISCOVER_MAP: nfc_ncif_rf_management_status (NFC_MAP_DEVT, *pp); break; case NCI_MSG_RF_DEACTIVATE: nfc_ncif_proc_deactivate (*pp, *p_old, FALSE); break; #if (NFC_NFCEE_INCLUDED == TRUE) #if (NFC_RW_ONLY == FALSE) case NCI_MSG_RF_SET_ROUTING: nfc_ncif_event_status (NFC_SET_ROUTING_REVT, *pp); break; case NCI_MSG_RF_GET_ROUTING: if (*pp != NFC_STATUS_OK) nfc_ncif_event_status (NFC_GET_ROUTING_REVT, *pp); break; #endif #endif case NCI_MSG_RF_PARAMETER_UPDATE: nfc_ncif_event_status (NFC_RF_COMM_PARAMS_UPDATE_REVT, *pp); break; default: NFC_TRACE_ERROR1 ("unknown opcode:0x%x", op_code); break; } }
/******************************************************************************* ** ** Function nci_proc_core_ntf ** ** Description Process NCI notifications in the CORE group ** ** Returns void ** *******************************************************************************/ void nci_proc_core_ntf (BT_HDR *p_msg) { UINT8 *p; UINT8 *pp, len, op_code; UINT8 conn_id; /* find the start of the NCI message and parse the NCI header */ p = (UINT8 *) (p_msg + 1) + p_msg->offset; pp = p+1; NCI_MSG_PRS_HDR1 (pp, op_code); NFC_TRACE_DEBUG1 ("nci_proc_core_ntf opcode:0x%x", op_code); len = *pp++; /* process the message based on the opcode and message type */ switch (op_code) { case NCI_MSG_CORE_RESET: nfc_ncif_proc_reset_rsp (pp, TRUE); break; case NCI_MSG_CORE_GEN_ERR_STATUS: /* process the error ntf */ /* in case of timeout: notify the static connection callback */ nfc_ncif_event_status (NFC_GEN_ERROR_REVT, *pp); nfc_ncif_error_status (NFC_RF_CONN_ID, *pp); break; case NCI_MSG_CORE_INTF_ERR_STATUS: conn_id = *(pp+1); nfc_ncif_error_status (conn_id, *pp); break; case NCI_MSG_CORE_CONN_CREDITS: nfc_ncif_proc_credits(pp, len); break; default: NFC_TRACE_ERROR1 ("unknown opcode:0x%x", op_code); break; } }