aboutsummaryrefslogtreecommitdiffstats
path: root/include/sec.h
diff options
context:
space:
mode:
authorSimon Busch <morphis@gravedo.de>2011-10-24 18:28:10 +0200
committerSimon Busch <morphis@gravedo.de>2011-10-24 18:33:55 +0200
commitffc43da883c6c4905f27bb02986a1422ef492d92 (patch)
treee65880bc90fe83199d9472ddc58970cc2d60fe2c /include/sec.h
parent9b58ea4d833f17f5c6848fbf84139f1eba899946 (diff)
downloadhardware_replicant_libsamsung-ipc-ffc43da883c6c4905f27bb02986a1422ef492d92.tar.gz
hardware_replicant_libsamsung-ipc-ffc43da883c6c4905f27bb02986a1422ef492d92.tar.bz2
hardware_replicant_libsamsung-ipc-ffc43da883c6c4905f27bb02986a1422ef492d92.zip
Various updates and corrections
Signed-off-by: Simon Busch <morphis@gravedo.de>
Diffstat (limited to 'include/sec.h')
-rw-r--r--include/sec.h109
1 files changed, 57 insertions, 52 deletions
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