void sap_transfer_card_reader_status_req(void *sap_device) { DBG("status: %d", sim_card_conn_status); if (sim_card_conn_status != SIM_CONNECTED) { sap_transfer_card_reader_status_rsp(sap_device, SAP_RESULT_ERROR_NO_REASON, 0xF1); return; } sap_transfer_card_reader_status_rsp(sap_device, SAP_RESULT_OK, 0xF1); }
void sap_transfer_card_reader_status_req(void *sap_device) { uint8_t result; DBG("sap_device %p", sap_device); if (u8500.state == STE_DISABLED) { result = get_sap_result(STE_GET_STATUS_MSG, STE_STATUS_FAILURE); sap_transfer_card_reader_status_rsp(sap_device, result, 0); return; } if (send_request(u8500.io, STE_GET_STATUS_REQ, NULL) < 0) sap_transfer_card_reader_status_rsp(sap_device, SAP_RESULT_ERROR_NO_DATA, 0); }
static void recv_card_status(uint32_t status, uint8_t *param) { uint32_t *card_status; uint8_t result; uint8_t iccrs; if (status != STE_STATUS_OK) return; card_status = (uint32_t *)param; if (get_sap_reader_status(*card_status, &iccrs) < 0) result = SAP_RESULT_ERROR_NO_REASON; else result = get_sap_result(STE_GET_STATUS_MSG, status); sap_transfer_card_reader_status_rsp(u8500.sap_data, result, iccrs); }