| option java_package = "org.android.btsap"; |
| option java_outer_classname = "SapApi"; |
| |
| // |
| // SAP Interface to RIL |
| // |
| // The protocol for the binary wire format to RIL shall consist of |
| // the serialized format of MsgHeader. |
| // MsgHeader payload field will contain the serialized format of |
| // the actual message being sent, as described by the type and id |
| // fields. |
| // e.g. If type = REQUEST and id == RIL_SIM_SAP_CONNECT, payload |
| // will contain the serialized wire format of a |
| // RIL_SIM_SAP_CONNECT_REQ message. |
| // |
| |
| // Message Header |
| // Each SAP message stream will always be prepended with a MsgHeader |
| message MsgHeader { |
| required fixed32 token = 1; // generated dynamically |
| required MsgType type = 2; |
| required MsgId id = 3; |
| required Error error = 4; |
| required bytes payload = 5; |
| } |
| |
| enum MsgType { |
| UNKNOWN = 0; |
| REQUEST = 1; |
| RESPONSE = 2; |
| UNSOL_RESPONSE = 3; |
| } |
| |
| enum MsgId { |
| UNKNOWN_REQ = 0; |
| |
| // |
| // For MsgType: REQUEST ,MsgId: RIL_SIM_SAP_CONNECT, Error: RIL_E_UNUSED, |
| // Message: message RIL_SIM_SAP_CONNECT_REQ |
| // For MsgType: RESPONSE, MsgId: RIL_SIM_SAP_CONNECT, Error:Valid errors, |
| // Message: message RIL_SIM_SAP_CONNECT_RSP |
| // |
| RIL_SIM_SAP_CONNECT = 1; |
| |
| // |
| // For MsgType: REQUEST ,MsgId: RIL_SIM_SAP_DISCONNECT, Error: RIL_E_UNUSED, |
| // Message: message RIL_SIM_SAP_DISCONNECT_REQ |
| // For MsgType: RESPONSE, MsgId: RIL_SIM_SAP_DISCONNECT, Error:Valid errors, |
| // Message: message RIL_SIM_SAP_DISCONNECT_RSP |
| // For MsgType: UNSOL_RESPONSE, MsgId: RIL_SIM_SAP_DISCONNECT, Error: RIL_E_UNUSED, |
| // Message: message RIL_SIM_SAP_DISCONNECT_IND |
| // |
| RIL_SIM_SAP_DISCONNECT = 2; |
| |
| // |
| // For MsgType: REQUEST ,MsgId: RIL_SIM_SAP_APDU, Error: RIL_E_UNUSED, |
| // Message: message RIL_SIM_SAP_APDU_REQ |
| // For MsgType: RESPONSE, MsgId: RIL_SIM_SAP_APDU, Error:Valid errors, |
| // Message: message RIL_SIM_SAP_APDU_RSP |
| // |
| RIL_SIM_SAP_APDU = 3; |
| |
| // |
| // For MsgType: REQUEST ,MsgId: RIL_SIM_SAP_TRANSFER_ATR, Error: RIL_E_UNUSED, |
| // Message: message RIL_SIM_SAP_TRANSFER_ATR_REQ |
| // For MsgType: RESPONSE, MsgId: RIL_SIM_SAP_TRANSFER_ATR, Error:Valid errors, |
| // Message: message RIL_SIM_SAP_TRANSFER_ATR_RSP |
| // |
| RIL_SIM_SAP_TRANSFER_ATR = 4; |
| |
| // |
| // For MsgType: REQUEST ,MsgId: RIL_SIM_SAP_POWER, Error: RIL_E_UNUSED, |
| // Message: message RIL_SIM_SAP_POWER_REQ |
| // For MsgType: RESPONSE, MsgId: RIL_SIM_SAP_POWER, Error:Valid errors, |
| // Message: message RIL_SIM_SAP_POWER_RSP |
| // |
| RIL_SIM_SAP_POWER = 5; |
| |
| // |
| // For MsgType: REQUEST ,MsgId: RIL_SIM_SAP_RESET_SIM, Error: RIL_E_UNUSED, |
| // Message: message RIL_SIM_SAP_RESET_SIM_REQ |
| // For MsgType: RESPONSE, MsgId: RIL_SIM_SAP_RESET_SIM, Error:Valid errors, |
| // Message: message RIL_SIM_SAP_RESET_SIM_RSP |
| // |
| RIL_SIM_SAP_RESET_SIM = 6; |
| |
| // |
| // For MsgType: UNSOL_RESPONSE, MsgId: RIL_SIM_SAP_STATUS, Error: RIL_E_UNUSED, |
| // Message: message RIL_SIM_SAP_STATUS_IND |
| // |
| RIL_SIM_SAP_STATUS = 7; |
| |
| // |
| // For MsgType: REQUEST ,MsgId: RIL_SIM_SAP_TRANSFER_CARD_READER_STATUS, Error: RIL_E_UNUSED, |
| // Message: message RIL_SIM_SAP_TRANSFER_CARD_READER_STATUS_REQ |
| // For MsgType: RESPONSE, MsgId: RIL_SIM_SAP_TRANSFER_CARD_READER_STATUS, Error:Valid errors, |
| // Message: message RIL_SIM_SAP_TRANSFER_CARD_READER_STATUS_RSP |
| // |
| RIL_SIM_SAP_TRANSFER_CARD_READER_STATUS = 8; |
| |
| // |
| // For MsgType: UNSOL_RESPONSE, MsgId: RIL_SIM_SAP_ERROR_RESP, Error: RIL_E_UNUSED, |
| // Message: message RIL_SIM_SAP_ERROR_RSP |
| // |
| RIL_SIM_SAP_ERROR_RESP = 9; |
| |
| // |
| // For MsgType: REQUEST ,MsgId: RIL_SIM_SAP_SET_TRANSFER_PROTOCOL, Error: RIL_E_UNUSED, |
| // Message: message RIL_SIM_SAP_SET_TRANSFER_PROTOCOL_REQ |
| // For MsgType: RESPONSE, MsgId: RIL_SIM_SAP_SET_TRANSFER_PROTOCOL, Error:Valid errors, |
| // Message: message RIL_SIM_SAP_SET_TRANSFER_PROTOCOL_RSP |
| // |
| RIL_SIM_SAP_SET_TRANSFER_PROTOCOL = 10; |
| } |
| |
| enum Error { |
| RIL_E_SUCCESS = 0; |
| RIL_E_RADIO_NOT_AVAILABLE = 1; |
| RIL_E_GENERIC_FAILURE = 2; |
| RIL_E_REQUEST_NOT_SUPPORTED = 3; |
| RIL_E_CANCELLED = 4; |
| RIL_E_INVALID_PARAMETER = 5; |
| RIL_E_UNUSED = 6; |
| } |
| |
| // SAP 1.1 spec 5.1.1 |
| message RIL_SIM_SAP_CONNECT_REQ { |
| required int32 max_message_size = 1; |
| } |
| |
| // SAP 1.1 spec 5.1.2 |
| message RIL_SIM_SAP_CONNECT_RSP { |
| enum Response { |
| RIL_E_SUCCESS = 0; |
| RIL_E_SAP_CONNECT_FAILURE = 1; |
| RIL_E_SAP_MSG_SIZE_TOO_LARGE = 2; |
| RIL_E_SAP_MSG_SIZE_TOO_SMALL = 3; |
| RIL_E_SAP_CONNECT_OK_CALL_ONGOING = 4; |
| } |
| required Response response = 1; |
| // must be present for RIL_E_SAP_MSG_SIZE_TOO_LARGE and contain the |
| // the suitable message size |
| optional int32 max_message_size = 2; |
| } |
| |
| // SAP 1.1 spec 5.1.3 |
| message RIL_SIM_SAP_DISCONNECT_REQ { |
| //no params |
| } |
| |
| |
| // SAP 1.1 spec 5.1.4 |
| message RIL_SIM_SAP_DISCONNECT_RSP { |
| //no params |
| } |
| |
| |
| // SAP 1.1 spec 5.1.5 |
| message RIL_SIM_SAP_DISCONNECT_IND { |
| enum DisconnectType { |
| RIL_S_DISCONNECT_TYPE_GRACEFUL = 0; |
| RIL_S_DISCONNECT_TYPE_IMMEDIATE = 1; |
| } |
| required DisconnectType disconnectType = 1; |
| } |
| |
| // SAP 1.1 spec 5.1.6 |
| message RIL_SIM_SAP_APDU_REQ { //handles both APDU and APDU7816 |
| enum Type { |
| RIL_TYPE_APDU = 0; |
| RIL_TYPE_APDU7816 = 1; |
| } |
| required Type type = 1; |
| required bytes command = 2; |
| } |
| |
| // SAP 1.1 spec 5.1.7 |
| message RIL_SIM_SAP_APDU_RSP { //handles both APDU and APDU7816 |
| enum Type { |
| RIL_TYPE_APDU = 0; |
| RIL_TYPE_APDU7816 = 1; |
| } |
| required Type type = 1; |
| enum Response { |
| RIL_E_SUCCESS = 0; |
| RIL_E_GENERIC_FAILURE = 1; |
| RIL_E_SIM_NOT_READY = 2; |
| RIL_E_SIM_ALREADY_POWERED_OFF = 3; |
| RIL_E_SIM_ABSENT = 4; |
| } |
| required Response response = 2; |
| optional bytes apduResponse = 3; |
| } |
| |
| // SAP 1.1 spec 5.1.8 |
| message RIL_SIM_SAP_TRANSFER_ATR_REQ { |
| // no params |
| } |
| |
| // SAP 1.1 spec 5.1.9 |
| message RIL_SIM_SAP_TRANSFER_ATR_RSP { |
| enum Response { |
| RIL_E_SUCCESS = 0; |
| RIL_E_GENERIC_FAILURE = 1; |
| RIL_E_SIM_ALREADY_POWERED_OFF = 3; |
| RIL_E_SIM_ALREADY_POWERED_ON = 18; |
| RIL_E_SIM_ABSENT = 4; |
| RIL_E_SIM_DATA_NOT_AVAILABLE = 6; |
| } |
| required Response response = 1; |
| |
| optional bytes atr = 2; //must be present on SUCCESS |
| } |
| |
| |
| // SAP 1.1 spec 5.1.10 +5.1.12 |
| message RIL_SIM_SAP_POWER_REQ { |
| required bool state = 1; //true = on, False = off |
| } |
| |
| // SAP 1.1 spec 5.1.11 +5.1.13 |
| message RIL_SIM_SAP_POWER_RSP { |
| enum Response { |
| RIL_E_SUCCESS = 0; |
| RIL_E_GENERIC_FAILURE = 2; |
| RIL_E_SIM_ABSENT = 11; |
| RIL_E_SIM_ALREADY_POWERED_OFF = 17; |
| RIL_E_SIM_ALREADY_POWERED_ON = 18; |
| } |
| required Response response = 1; |
| } |
| |
| // SAP 1.1 spec 5.1.14 |
| message RIL_SIM_SAP_RESET_SIM_REQ { |
| // no params |
| } |
| |
| // SAP 1.1 spec 5.1.15 |
| message RIL_SIM_SAP_RESET_SIM_RSP { |
| enum Response { |
| RIL_E_SUCCESS = 0; |
| RIL_E_GENERIC_FAILURE = 2; |
| RIL_E_SIM_ABSENT = 11; |
| RIL_E_SIM_NOT_READY = 16; |
| RIL_E_SIM_ALREADY_POWERED_OFF = 17; |
| } |
| required Response response = 1; |
| } |
| |
| // SAP 1.1 spec 5.1.16 |
| message RIL_SIM_SAP_STATUS_IND { |
| enum Status { |
| RIL_SIM_STATUS_UNKNOWN_ERROR = 0; |
| RIL_SIM_STATUS_CARD_RESET = 1; |
| RIL_SIM_STATUS_CARD_NOT_ACCESSIBLE = 2; |
| RIL_SIM_STATUS_CARD_REMOVED = 3; |
| RIL_SIM_STATUS_CARD_INSERTED = 4; |
| RIL_SIM_STATUS_RECOVERED = 5; |
| } |
| required Status statusChange = 1; |
| } |
| |
| // SAP 1.1 spec 5.1.17 |
| message RIL_SIM_SAP_TRANSFER_CARD_READER_STATUS_REQ { |
| //no params |
| |
| } |
| |
| // SAP 1.1 spec 5.1.18 |
| message RIL_SIM_SAP_TRANSFER_CARD_READER_STATUS_RSP { |
| enum Response { |
| RIL_E_SUCCESS = 0; |
| RIL_E_GENERIC_FAILURE = 2; |
| RIL_E_SIM_DATA_NOT_AVAILABLE = 6; |
| } |
| required Response response = 1; |
| optional int32 CardReaderStatus = 2; |
| } |
| |
| // SAP 1.1 spec 5.1.19 |
| message RIL_SIM_SAP_ERROR_RSP { |
| //no params |
| } |
| |
| // SAP 1.1 spec 5.1.20 |
| message RIL_SIM_SAP_SET_TRANSFER_PROTOCOL_REQ { |
| enum Protocol { |
| t0 = 0; |
| t1 = 1; |
| } |
| required Protocol protocol = 1; |
| } |
| |
| // SAP 1.1 spec 5.1.21 |
| message RIL_SIM_SAP_SET_TRANSFER_PROTOCOL_RSP { |
| enum Response { |
| RIL_E_SUCCESS = 0; |
| RIL_E_GENERIC_FAILURE = 2; |
| RIL_E_SIM_ABSENT = 11; |
| RIL_E_SIM_NOT_READY = 16; |
| RIL_E_SIM_ALREADY_POWERED_OFF = 17; |
| } |
| required Response response = 1; |
| } |