aboutsummaryrefslogtreecommitdiffstats
path: root/include/svc.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/svc.h')
-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