aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorPaul Kocialkowski <contact@paulk.fr>2014-07-27 00:29:44 +0200
committerPaul Kocialkowski <contact@paulk.fr>2014-07-27 00:29:44 +0200
commitdbcd5f77206148c7d446feda48031dde06c480a8 (patch)
tree4808f0460bc801953055cc4972ba76d6356104aa /include
parent2cdecfab4e695e1f48e7c302f21c46035160cae2 (diff)
downloadexternal_libsamsung-ipc-dbcd5f77206148c7d446feda48031dde06c480a8.zip
external_libsamsung-ipc-dbcd5f77206148c7d446feda48031dde06c480a8.tar.gz
external_libsamsung-ipc-dbcd5f77206148c7d446feda48031dde06c480a8.tar.bz2
svc: Helpers
Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
Diffstat (limited to 'include')
-rw-r--r--include/svc.h14
1 files changed, 12 insertions, 2 deletions
diff --git a/include/svc.h b/include/svc.h
index e998789..6c12a25 100644
--- a/include/svc.h
+++ b/include/svc.h
@@ -89,7 +89,7 @@
struct ipc_svc_enter_data {
unsigned char mode; // IPC_SVC_MODE
unsigned char type; // IPC_SVC_TYPE
- unsigned char unknown;
+ unsigned char magic;
} __attribute__((__packed__));
struct ipc_svc_end_data {
@@ -109,7 +109,7 @@ struct ipc_svc_display_screen_header {
unsigned char count;
} __attribute__((__packed__));
-struct ipc_svc_display_screen_data {
+struct ipc_svc_display_screen_entry {
unsigned short index;
char line[32];
} __attribute__((__packed__));
@@ -118,6 +118,16 @@ struct ipc_svc_change_svc_mode_data {
unsigned char mode; // IPC_SVC_MODE
} __attribute__((__packed__));
+/*
+ * Helpers
+ */
+
+int ipc_svc_enter_setup(struct ipc_svc_enter_data *data,
+ unsigned char mode, unsigned char type);
+unsigned char ipc_svc_display_screen_count_extract(const void *data, size_t size);
+struct ipc_svc_display_screen_entry *ipc_svc_display_screen_extract(const void *data,
+ size_t size, unsigned int index);
+
#endif
// vim:ts=4:sw=4:expandtab