layer23/sap_interface.c: define missing enums and use them
Change-Id: I4ba5a8a42bf25d04b152ac3f1f0e4d7eac7f068f
This commit is contained in:
parent
50d5995137
commit
28a385aad5
|
@ -57,6 +57,37 @@ enum osmosap_param_type {
|
|||
SAP_TRANSPORT_PROTOCOL = 0x09
|
||||
};
|
||||
|
||||
/* Table 5.18: Possible values for ResultCode */
|
||||
enum sap_result_type {
|
||||
SAP_RESULT_OK_REQ_PROC_CORR = 0x00,
|
||||
SAP_RESULT_ERROR_NO_REASON = 0x01,
|
||||
SAP_RESULT_ERROR_CARD_NOT_ACC = 0x02,
|
||||
SAP_RESULT_ERROR_CARD_POWERED_OFF = 0x03,
|
||||
SAP_RESULT_ERROR_CARD_REMOVED = 0x04,
|
||||
SAP_RESULT_ERROR_CARD_POWERED_ON = 0x05,
|
||||
SAP_RESULT_ERROR_DATA_UNAVAIL = 0x06,
|
||||
SAP_RESULT_ERROR_NOT_SUPPORTED = 0x07,
|
||||
};
|
||||
|
||||
/* Table 5.19: Possible values for StatusChange */
|
||||
enum sap_card_status_type {
|
||||
SAP_CARD_STATUS_UNKNOWN_ERROR = 0x00,
|
||||
SAP_CARD_STATUS_RESET = 0x01,
|
||||
SAP_CARD_STATUS_NOT_ACC = 0x02,
|
||||
SAP_CARD_STATUS_REMOVED = 0x03,
|
||||
SAP_CARD_STATUS_INSERTED = 0x04,
|
||||
SAP_CARD_STATUS_RECOVERED = 0x05,
|
||||
};
|
||||
|
||||
/* Table 5.16: Possible values for ConnectionStatus */
|
||||
enum sap_conn_status_type {
|
||||
SAP_CONN_STATUS_OK_READY = 0x00,
|
||||
SAP_CONN_STATUS_ERROR_CONN = 0x01,
|
||||
SAP_CONN_STATUS_ERROR_MAX_MSG_SIZE = 0x02,
|
||||
SAP_CONN_STATUS_ERROR_SMALL_MSG_SIZE = 0x03,
|
||||
SAP_CONN_STATUS_OK_CALL = 0x04,
|
||||
};
|
||||
|
||||
struct sap_param {
|
||||
uint8_t id;
|
||||
uint16_t len;
|
||||
|
|
|
@ -91,35 +91,35 @@ static const struct value_string sap_msg_names[] = {
|
|||
|
||||
/* Table 5.18: Possible values for ResultCode */
|
||||
static const struct value_string sap_result_names[] = {
|
||||
{ 0, "OK, request processed correctly" },
|
||||
{ 1, "Error, no reason defined" },
|
||||
{ 2, "Error, card not accessible" },
|
||||
{ 3, "Error, card (already) powered off" },
|
||||
{ 4, "Error, card removed" },
|
||||
{ 5, "Error, card already powered on" },
|
||||
{ 6, "Error, data not available" },
|
||||
{ 7, "Error, not supported "},
|
||||
{ SAP_RESULT_OK_REQ_PROC_CORR, "OK, request processed correctly" },
|
||||
{ SAP_RESULT_ERROR_NO_REASON, "Error, no reason defined" },
|
||||
{ SAP_RESULT_ERROR_CARD_NOT_ACC, "Error, card not accessible" },
|
||||
{ SAP_RESULT_ERROR_CARD_POWERED_OFF, "Error, card (already) powered off" },
|
||||
{ SAP_RESULT_ERROR_CARD_REMOVED, "Error, card removed" },
|
||||
{ SAP_RESULT_ERROR_CARD_POWERED_ON, "Error, card already powered on" },
|
||||
{ SAP_RESULT_ERROR_DATA_UNAVAIL, "Error, data not available" },
|
||||
{ SAP_RESULT_ERROR_NOT_SUPPORTED, "Error, not supported "},
|
||||
{ 0, NULL }
|
||||
};
|
||||
|
||||
/* Table 5.19: Possible values for StatusChange */
|
||||
static const struct value_string sap_status_change_names[] = {
|
||||
{ 0, "Unknown Error" },
|
||||
{ 1, "Card reset" },
|
||||
{ 2, "Card not accessible" },
|
||||
{ 3, "Card removed" },
|
||||
{ 4, "Card inserted" },
|
||||
{ 5, "Card recovered" },
|
||||
static const struct value_string sap_card_status_names[] = {
|
||||
{ SAP_CARD_STATUS_UNKNOWN_ERROR, "Unknown Error" },
|
||||
{ SAP_CARD_STATUS_RESET, "Card reset" },
|
||||
{ SAP_CARD_STATUS_NOT_ACC, "Card not accessible" },
|
||||
{ SAP_CARD_STATUS_REMOVED, "Card removed" },
|
||||
{ SAP_CARD_STATUS_INSERTED, "Card inserted" },
|
||||
{ SAP_CARD_STATUS_RECOVERED, "Card recovered" },
|
||||
{ 0, NULL }
|
||||
};
|
||||
|
||||
/* Table 5.16: Possible values for ConnectionStatus */
|
||||
static const struct value_string sap_status_names[] = {
|
||||
{ 0, "OK, Server can fulfill requirements" },
|
||||
{ 1, "Error, Server unable to establish connection" },
|
||||
{ 2, "Error, Server does not support maximum message size" },
|
||||
{ 3, "Error, maximum message size by Client is too small" },
|
||||
{ 4, "OK, ongoing call" },
|
||||
static const struct value_string sap_conn_status_names[] = {
|
||||
{ SAP_CONN_STATUS_OK_READY, "OK, Server can fulfill requirements" },
|
||||
{ SAP_CONN_STATUS_ERROR_CONN, "Error, Server unable to establish connection" },
|
||||
{ SAP_CONN_STATUS_ERROR_MAX_MSG_SIZE, "Error, Server does not support maximum message size" },
|
||||
{ SAP_CONN_STATUS_ERROR_SMALL_MSG_SIZE, "Error, maximum message size by Client is too small" },
|
||||
{ SAP_CONN_STATUS_OK_CALL, "OK, ongoing call" },
|
||||
{ 0, NULL }
|
||||
};
|
||||
|
||||
|
@ -319,7 +319,7 @@ static void sap_parse_resp(struct osmocom_ms *ms, uint8_t *data, uint16_t len)
|
|||
|
||||
switch(msg->id){
|
||||
case SAP_CONNECT_RESP:
|
||||
LOGP(DSAP, LOGL_INFO, "Status: %s\n", get_value_string(sap_status_names, msg->params[0].value[0]));
|
||||
LOGP(DSAP, LOGL_INFO, "Status: %s\n", get_value_string(sap_conn_status_names, msg->params[0].value[0]));
|
||||
if(msg->params[0].value[0] == 0){
|
||||
ms->sap_entity.sap_state = SAP_IDLE;
|
||||
}
|
||||
|
@ -335,9 +335,9 @@ static void sap_parse_resp(struct osmocom_ms *ms, uint8_t *data, uint16_t len)
|
|||
ms->sap_entity.sap_state = SAP_NOT_CONNECTED;
|
||||
break;
|
||||
case SAP_STATUS_IND:
|
||||
LOGP(DSAP, LOGL_INFO, "New card state: %s\n", get_value_string(sap_status_change_names,
|
||||
LOGP(DSAP, LOGL_INFO, "New card state: %s\n", get_value_string(sap_card_status_names,
|
||||
msg->params[0].value[0]));
|
||||
if(msg->params[0].value[0] != 1){
|
||||
if(msg->params[0].value[0] != SAP_CARD_STATUS_RESET){
|
||||
/* TODO: handle case in which the card is not ready yet */
|
||||
}
|
||||
break;
|
||||
|
|
Loading…
Reference in New Issue