svc: Relevant messages and structures definitions
[libsamsung-ipc.git] / include / svc.h
1 /*
2  * This file is part of libsamsung-ipc.
3  *
4  * Copyright (C) 2013 Paul Kocialkowski <contact@oaulk.fr>
5  *
6  * libsamsung-ipc is free software: you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation, either version 2 of the License, or
9  * (at your option) any later version.
10  *
11  * libsamsung-ipc is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with libsamsung-ipc.  If not, see <http://www.gnu.org/licenses/>.
18  *
19  */
20
21 #include <samsung-ipc.h>
22
23 #ifndef __SAMSUNG_IPC_SVC_H__
24 #define __SAMSUNG_IPC_SVC_H__
25
26 /*
27  * Types
28  */
29
30 #define IPC_SVC_ENTER                                           0x0B01
31 #define IPC_SVC_END                                             0x0B02
32 #define IPC_SVC_PRO_KEYCODE                                     0x0B03
33 #define IPC_SVC_SCREEN_CFG                                      0x0B04
34 #define IPC_SVC_DISPLAY_SCREEN                                  0x0B05
35 #define IPC_SVC_CHANGE_SVC_MODE                                 0x0B06
36 #define IPC_SVC_DEVICE_TEST                                     0x0B07
37 #define IPC_SVC_DEBUG_DUMP_MESSAGE                              0x0B08
38 #define IPC_SVC_DEBUG_STRING_MESSAGE                            0x0B09
39
40 /*
41  * Values
42  */
43
44 #define IPC_SVC_MODE_TEST_MANUAL                                0x01
45 #define IPC_SVC_MODE_TEST_AUTO                                  0x02
46 #define IPC_SVC_MODE_NAM_EDIT                                   0x03
47 #define IPC_SVC_MODE_MONITOR                                    0x04
48 #define IPC_SVC_MODE_PHONE_TEST                                 0x05
49
50 #define IPC_SVC_TYPE_ENTER                                      0x00
51 #define IPC_SVC_TYPE_SW_VERSION_ENTER                           0x01
52 #define IPC_SVC_TYPE_FTA_SW_VERSION_ENTER                       0x02
53 #define IPC_SVC_TYPE_FTA_HW_VERSION_ENTER                       0x03
54 #define IPC_SVC_TYPE_ALL_VERSION_ENTER                          0x04
55 #define IPC_SVC_TYPE_BATTERY_INFO_ENTER                         0x05
56 #define IPC_SVC_TYPE_CIPHERING_PROTECTION_ENTER                 0x06
57 #define IPC_SVC_TYPE_INTEGRITY_PROTECTION_ENTER                 0x07
58 #define IPC_SVC_TYPE_IMEI_READ_ENTER                            0x08
59 #define IPC_SVC_TYPE_BLUETOOTH_TEST_ENTER                       0x09
60 #define IPC_SVC_TYPE_VIBRATOR_TEST_ENTER                        0x0A
61 #define IPC_SVC_TYPE_MELODY_TEST_ENTER                          0x0B
62 #define IPC_SVC_TYPE_MP3_TEST_ENTER                             0x0C
63 #define IPC_SVC_TYPE_FACTORY_RESET_ENTER                        0x0D
64 #define IPC_SVC_TYPE_FACTORY_PRECONFIG_ENTER                    0x0E
65 #define IPC_SVC_TYPE_TFS4_EXPLORE_ENTER                         0x0F
66 #define IPC_SVC_TYPE_RSC_FILE_VERSION_ENTER                     0x11
67 #define IPC_SVC_TYPE_USB_DRIVER_ENTER                           0x12
68 #define IPC_SVC_TYPE_USB_UART_DIAG_CONTROL_ENTER                0x13
69 #define IPC_SVC_TYPE_RRC_VERSION_ENTER                          0x14
70 #define IPC_SVC_TYPE_GPSONE_SS_TEST_ENTER                       0x15
71 #define IPC_SVC_TYPE_BAND_SEL_ENTER                             0x16
72 #define IPC_SVC_TYPE_GCF_TESTMODE_ENTER                         0x17
73 #define IPC_SVC_TYPE_GSM_FACTORY_AUDIO_LB_ENTER                 0x18
74 #define IPC_SVC_TYPE_FACTORY_VF_TEST_ENTER                      0x19
75 #define IPC_SVC_TYPE_TOTAL_CALL_TIME_INFO_ENTER                 0x1A
76 #define IPC_SVC_TYPE_SELLOUT_SMS_ENABLE_ENTER                   0x1B
77 #define IPC_SVC_TYPE_SELLOUT_SMS_DISABLE_ENTER                  0x1C
78 #define IPC_SVC_TYPE_SELLOUT_SMS_TEST_MODE_ON                   0x1D
79 #define IPC_SVC_TYPE_SELLOUT_SMS_PRODUCT_MODE_ON                0x1E
80 #define IPC_SVC_TYPE_GET_SELLOUT_SMS_INFO_ENTER                 0x1F
81 #define IPC_SVC_TYPE_TST_AUTO_ANSWER_ENTER                      0x20
82 #define IPC_SVC_TYPE_TST_NV_RESET_ENTER                         0x21
83 #define IPC_SVC_TYPE_TST_FTA_SW_VERSION_ENTER                   0x22
84 #define IPC_SVC_TYPE_TST_FTA_HW_VERSION_ENTER                   0x23
85
86 /*
87  * Structures
88  */
89
90 struct ipc_svc_enter_data {
91     unsigned char mode;
92     unsigned char type;
93     unsigned char unknown;
94 } __attribute__((__packed__));
95
96 struct ipc_svc_end_data {
97     unsigned char mode;
98 } __attribute__((__packed__));
99
100 struct ipc_svc_pro_keycode_data {
101     unsigned char key;
102 } __attribute__((__packed__));
103
104 struct ipc_svc_screen_cfg_data {
105     unsigned char count;
106     unsigned char unknown;
107 } __attribute__((__packed__));
108
109 struct ipc_svc_display_screen_header {
110     unsigned char count;
111 } __attribute__((__packed__));
112
113 struct ipc_svc_display_screen_data {
114     unsigned short index;
115     char line[32];
116 } __attribute__((__packed__));
117
118 struct ipc_svc_change_svc_mode_data {
119     unsigned char mode;
120 } __attribute__((__packed__));
121
122 #endif
123
124 // vim:ts=4:sw=4:expandtab