summaryrefslogtreecommitdiffstats
path: root/samsung-ril.h
diff options
context:
space:
mode:
authorPaul Kocialkowski <contact@paulk.fr>2013-08-25 21:23:39 +0200
committerPaul Kocialkowski <contact@paulk.fr>2013-08-25 21:23:39 +0200
commitf8ea100031eb02e119637884b85f5527ecb4634a (patch)
tree804d34de82020273417c21b638be7b92c3f11b8a /samsung-ril.h
parent55d665ac856a85e91060291b4c695ea4e06975e5 (diff)
downloadhardware_ril_samsung-ril-f8ea100031eb02e119637884b85f5527ecb4634a.zip
hardware_ril_samsung-ril-f8ea100031eb02e119637884b85f5527ecb4634a.tar.gz
hardware_ril_samsung-ril-f8ea100031eb02e119637884b85f5527ecb4634a.tar.bz2
svc: Implement Samsung Service Mode OEM Hook
Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
Diffstat (limited to 'samsung-ril.h')
-rw-r--r--samsung-ril.h43
1 files changed, 43 insertions, 0 deletions
diff --git a/samsung-ril.h b/samsung-ril.h
index f5d94b1..49e1d0b 100644
--- a/samsung-ril.h
+++ b/samsung-ril.h
@@ -193,6 +193,7 @@ struct ril_data {
struct ril_state state;
struct ril_tokens tokens;
+ struct ril_oem_hook_svc_session *oem_hook_svc_session;
struct list_head *gprs_connections;
struct list_head *incoming_sms;
struct list_head *outgoing_sms;
@@ -311,6 +312,48 @@ void ipc_sec_phone_lock(struct ipc_message_info *info);
void ipc_sec_phone_lock_complete(struct ipc_message_info *info);
void ril_request_set_facility_lock(RIL_Token t, void *data, size_t length);
+/* SVC */
+
+typedef enum {
+ RIL_OEM_HOOK_TAG_SVC = 1,
+} RIL_OEMHookTag;
+
+typedef enum {
+ RIL_OEM_COMMAND_SVC_ENTER_MODE = 1,
+ RIL_OEM_COMMAND_SVC_END_MODE = 2,
+ RIL_OEM_COMMAND_SVC_KEY = 3,
+} RIL_OEMCommandSvc;
+
+typedef struct {
+ unsigned char tag;
+ unsigned char command;
+ unsigned short length;
+} RIL_OEMHookHeader;
+
+typedef struct {
+ unsigned char mode;
+ unsigned char type;
+ unsigned char query;
+} RIL_OEMHookSvcEnterMode;
+
+typedef struct {
+ unsigned char mode;
+} RIL_OEMHookSvcEndMode;
+
+typedef struct {
+ unsigned char key;
+ unsigned char query;
+} RIL_OEMHookSvcKey;
+
+struct ril_oem_hook_svc_session {
+ RIL_Token token;
+ void *display_screen;
+ size_t display_screen_length;
+};
+
+void ipc_svc_display_screen(struct ipc_message_info *info);
+void ril_request_oem_hook_raw(RIL_Token t, void *data, int length);
+
/* NET */
void ril_plmn_split(char *plmn_data, char **plmn, unsigned int *mcc, unsigned int *mnc);