From ffc43da883c6c4905f27bb02986a1422ef492d92 Mon Sep 17 00:00:00 2001 From: Simon Busch Date: Mon, 24 Oct 2011 18:28:10 +0200 Subject: Various updates and corrections Signed-off-by: Simon Busch --- include/sec.h | 109 ++++++++++++++++++++++++++++++---------------------------- 1 file changed, 57 insertions(+), 52 deletions(-) (limited to 'include/sec.h') diff --git a/include/sec.h b/include/sec.h index 30df617..a5f7651 100644 --- a/include/sec.h +++ b/include/sec.h @@ -21,53 +21,60 @@ #ifndef __SEC_H__ #define __SEC_H__ -#define IPC_SEC_PIN_STATUS 0x0501 -#define IPC_SEC_PHONE_LOCK 0x0502 -#define IPC_SEC_CHANGE_LOCKING_PW 0x0503 -#define IPC_SEC_SIM_LANG 0x0504 -#define IPC_SEC_RSIM_ACCESS 0x0505 -#define IPC_SEC_GSIM_ACCESS 0x0506 -#define IPC_SEC_SIM_ICC_TYPE 0x0507 -#define IPC_SEC_LOCK_INFO 0x0508 -#define IPC_SEC_ISIM_AUTH 0x0509 - -#define IPC_SEC_PIN_SIM_INITIALIZING 0x00 -#define IPC_SEC_PIN_SIM_SIM_LOCK_REQUIRED 0x01 -#define IPC_SEC_PIN_SIM_INSIDE_PF_ERROR 0x02 -#define IPC_SEC_PIN_SIM_LOCK_SC 0x03 -#define IPC_SEC_PIN_SIM_LOCK_FD 0x04 -#define IPC_SEC_PIN_SIM_LOCK_PN 0x05 -#define IPC_SEC_PIN_SIM_LOCK_PU 0x06 -#define IPC_SEC_PIN_SIM_LOCK_PP 0x07 -#define IPC_SEC_PIN_SIM_LOCK_PC 0x08 -#define IPC_SEC_PIN_SIM_CARD_NOT_PRESENT 0x80 -#define IPC_SEC_PIN_SIM_CARD_ERROR 0x81 -#define IPC_SEC_PIN_SIM_INIT_COMPLETE 0x82 -#define IPC_SEC_PIN_SIM_PB_INIT_COMPLETE 0x83 +struct ipc_response; + +#define IPC_SEC_PIN_STATUS 0x0501 +#define IPC_SEC_PHONE_LOCK 0x0502 +#define IPC_SEC_CHANGE_LOCKING_PW 0x0503 +#define IPC_SEC_SIM_LANG 0x0504 +#define IPC_SEC_RSIM_ACCESS 0x0505 +#define IPC_SEC_GSIM_ACCESS 0x0506 +#define IPC_SEC_SIM_ICC_TYPE 0x0507 +#define IPC_SEC_LOCK_INFO 0x0508 +#define IPC_SEC_ISIM_AUTH 0x0509 + +#define IPC_SEC_PIN_SIM_INITIALIZING 0x00 +#define IPC_SEC_PIN_SIM_SIM_LOCK_REQUIRED 0x01 +#define IPC_SEC_PIN_SIM_INSIDE_PF_ERROR 0x02 +#define IPC_SEC_PIN_SIM_LOCK_SC 0x03 +#define IPC_SEC_PIN_SIM_LOCK_FD 0x04 +#define IPC_SEC_PIN_SIM_LOCK_PN 0x05 +#define IPC_SEC_PIN_SIM_LOCK_PU 0x06 +#define IPC_SEC_PIN_SIM_LOCK_PP 0x07 +#define IPC_SEC_PIN_SIM_LOCK_PC 0x08 +#define IPC_SEC_PIN_SIM_CARD_NOT_PRESENT 0x80 +#define IPC_SEC_PIN_SIM_CARD_ERROR 0x81 +#define IPC_SEC_PIN_SIM_INIT_COMPLETE 0x82 +#define IPC_SEC_PIN_SIM_PB_INIT_COMPLETE 0x83 /* Key types for the SIM card (SC) facility */ -#define IPC_SEC_PIN_SIM_LOCK_SC_PIN1_REQ 0x01 -#define IPC_SEC_PIN_SIM_LOCK_SC_PUK_REQ 0x02 -#define IPC_SEC_PIN_SIM_LOCK_SC_CARD_BLOCKED 0x05 +#define IPC_SEC_PIN_SIM_LOCK_SC_PIN1_REQ 0x01 +#define IPC_SEC_PIN_SIM_LOCK_SC_PUK_REQ 0x02 +#define IPC_SEC_PIN_SIM_LOCK_SC_CARD_BLOCKED 0x05 -#define IPC_SEC_PIN_TYPE_PIN1 0x03 -#define IPC_SEC_PIN_TYPE_PIN2 0x09 +#define IPC_SEC_PIN_TYPE_PIN1 0x03 +#define IPC_SEC_PIN_TYPE_PIN2 0x09 -#define IPC_SEC_SIM_CARD_TYPE_UNKNOWN 0x00 -#define IPC_SEC_SIM_CARD_TYPE_SIM 0x01 -#define IPC_SEC_SIM_CARD_TYPE_USIM 0x02 +#define IPC_SEC_SIM_CARD_TYPE_UNKNOWN 0x00 +#define IPC_SEC_SIM_CARD_TYPE_SIM 0x01 +#define IPC_SEC_SIM_CARD_TYPE_USIM 0x02 + +#define IPC_SEC_RSIM_COMMAND_READ_BINARY 0xb0 +#define IPC_SEC_RSIM_COMMAND_READ_RECORD 0xc0 +#define IPC_SEC_RSIM_COMMAND_UPDATE_BINARY 0xd6 +#define IPC_SEC_RSIM_COMMAND_STATUS 0xf2 struct ipc_sec_pin_status_noti { - unsigned char type; - unsigned char key; + unsigned char type; + unsigned char key; } __attribute__((__packed__)); struct ipc_sec_pin_status_set { - unsigned char type; - unsigned char length1; - unsigned char length2; - unsigned char pin1[8]; - unsigned char pin2[8]; + unsigned char type; + unsigned char length1; + unsigned char length2; + unsigned char pin1[8]; + unsigned char pin2[8]; } __attribute__((__packed__)); struct ipc_sec_phone_lock_request { @@ -75,19 +82,19 @@ struct ipc_sec_phone_lock_request { }; struct ipc_sec_phone_lock_response { - unsigned char type; - unsigned char status; + unsigned char type; + unsigned char status; } __attribute__((__packed__)); struct ipc_sec_rsim_access_request { - unsigned char command; - unsigned short fileid; - unsigned char p1, p2, p3; + unsigned char command; + unsigned short fileid; + unsigned char p1, p2, p3; } __attribute__((__packed__)); struct ipc_sec_rsim_access_response { - unsigned char sw1, sw2; - unsigned char len; + unsigned char sw1, sw2; + unsigned char len; } __attribute__((__packed__)); struct ipc_sec_lock_info_request { @@ -96,15 +103,13 @@ struct ipc_sec_lock_info_request { } __attribute__((__packed__)); struct ipc_sec_lock_info_response { - unsigned char num; - unsigned char type; - unsigned char key; - unsigned char attempts; + unsigned char num; + unsigned char type; + unsigned char key; + unsigned char attempts; } __attribute__((__packed__)); -void ipc_sec_rsim_access(unsigned char command, unsigned short file_id, - unsigned char p1, unsigned char p2, unsigned char p3, - unsigned char *rdata, unsigned int length, int request_id); +char* ipc_sec_rsim_access_response_get_file_data(struct ipc_response *response); #endif -- cgit v1.2.3