tizen 2.3 release
[framework/telephony/libslp-tapi.git] / include / TelMisc.h
1 /*
2  * libslp-tapi
3  *
4  * Copyright (c) 2014 Samsung Electronics Co., Ltd. All rights reserved.
5  *
6  * Contact: Ja-young Gu <jygu@samsung.com>
7  *
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  *
12  * http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  */
20
21 /**
22  * @file TelMisc.h
23  */
24
25 /**
26  * @internal
27  * @addtogroup CAPI_TELEPHONY_SERVICE_MODEM
28  * @{
29  */
30
31 #ifndef _TEL_MISC_H_
32 #define _TEL_MISC_H_
33
34 #include <sys/time.h>
35
36 #ifdef __cplusplus
37 extern "C" {
38 #endif
39
40 #define MAX_VERSION_LEN 32    /**< Maximum version length *///sw version, hw version, rf cal date, me sn
41 #define FUS_DUMMY_DATA_SIZE 2     /**< Data Size */
42
43 #define MMICHECK_CALL_RELEASE_NOTI      "User.LauncherUi.RequestTermination"
44 #define MMICHECK_END_ALL_NOTI           "User.LauncherUi.RequestTermination"
45 #define MMICHECK_DIALER_KEY_NOTI        "User.LauncherUi.DialerKeyInsert"
46 #define MMICHECK_ACTIVITY_VIEW_NOTI     "User.MMICheck.ActivityView.ChangeStatus"
47
48 #define TAPI_MISC_ME_SN_LEN_MAX                         32
49 #define TAPI_MISC_PRODUCT_CODE_LEN_MAX          32
50 #define TAPI_MISC_MODEL_ID_LEN_MAX                      17
51 #define TAPI_MISC_PRL_ERI_VER_LEN_MAX           17
52
53 #define TAPI_MISC_MCC_LEN_MAX                           3
54 #define TAPI_MISC_MNC_LEN_MAX                           2
55 #define TAPI_MISC_MIN_LEN_MAX                           10
56 #define TAPI_MISC_MDN_LEN_MAX                           15
57 #define TAPI_MISC_NAME_LEN_MAX                          17
58
59 /**
60  * @brief Enumeration for the MMI check key values.
61  * @since_tizen 2.3
62  */
63 typedef enum {
64         MMI_CHECK_DIAL_STAR             =       0x2A,   /**< 20 00 2A AF 4B 7E */
65         MMI_CHECK_DIAL_SHARP    =       0x23,   /**< 20 00 23 6E D6 7E */
66         MMI_CHECK_DIAL_0                =       0x30,   /**< 20 00 30 74 F4 7E */
67         MMI_CHECK_DIAL_1,                                       /**< 20 00 31 FD E5 7E */
68         MMI_CHECK_DIAL_2,                                       /**< 20 00 32 66 D7 7E */
69         MMI_CHECK_DIAL_3,                                       /**< 20 00 33 EF C6 7E */
70         MMI_CHECK_DIAL_4,                                       /**< 20 00 34 50 B2 7E */
71         MMI_CHECK_DIAL_5,                                       /**< 20 00 35 D9 A3 7E */
72         MMI_CHECK_DIAL_6,                                       /**< 20 00 36 42 91 7E */
73         MMI_CHECK_DIAL_7,                                       /**< 20 00 37 CB 80 7E */
74         MMI_CHECK_DIAL_8,                                       /**< 20 00 38 3C 78 7E */
75         MMI_CHECK_DIAL_9,                                       /**< 20 00 39 B5 69 7E */
76
77         MMI_CHECK_END_ALL               =       0x41,   /**< TBD */
78
79         MMI_CHECK_CALL                  =       0x50,   /**< 20 00 50 72 97 7E */
80         MMI_CHECK_END                   =       0x51,   /**< 20 00 51 FB 86 7E */
81         MMI_CHECK_CANCEL                =       0x52,   /**< 20 00 52 60 B4 7E */
82         MMI_CHECK_RIGHT                 =       0x53,   /**< 20 00 5C 1E 5D 7E */
83         MMI_CHECK_SIDE_UP               =       0x54,   /**< 20 00 54 56 D1 7E */
84         MMI_CHECK_SIDE_DOWN             =       0x55,   /**< 20 00 55 DF C0 7E */
85
86         MMI_CHECK_LEFT                  =       0x5B,   /**< 20 00 5B A1 29 7E */
87         MMI_CHECK_ARROW_UP              =       0x63,   /**< 20 00 63 6A 94 7E */
88         MMI_CHECK_ARROW_DOWN    =       0x64,   /**< 20 00 64 D5 E0 7E */
89         MMI_CHECK_ARROW_LEFT    =       0x65,   /**< 20 00 65 5C F1 7E */
90         MMI_CHECK_ARROW_RIGHT   =       0x66,   /**< 20 00 66 C7 C3 7E */
91
92         MMI_CHECK_WAP                   =       0x8C,   /**< 20 00 53 E9 A5 7E */
93         MMI_CHECK_CAMERA                =       0x8D,   /**< 20 01 8D C2 83 7E */
94         MMI_CHECK_MP3                   =       0xDD,   /**< 20 00 DD 9F C8 7E */
95         MMI_CHECK_POWER                 =       0x95,   /**< 20 00 95 D3 06 7E */
96         MMI_CHECK_LONG_PRESS    =       0xFF    /**< TBD */
97 } TelMiscMMICHECK_t;
98
99 /**
100  * @brief Enumeration for the application key types.
101  * @since_tizen 2.3
102  */
103 typedef enum {
104         KEY_EXT_DIAL_0 = 0,     /**< TBD */
105         KEY_EXT_DIAL_1,     /**< TBD */
106         KEY_EXT_DIAL_2,     /**< TBD */
107         KEY_EXT_DIAL_3,     /**< TBD */
108         KEY_EXT_DIAL_4,     /**< TBD */
109         KEY_EXT_DIAL_5,     /**< TBD */
110         KEY_EXT_DIAL_6,     /**< TBD */
111         KEY_EXT_DIAL_7,     /**< TBD */
112         KEY_EXT_DIAL_8,     /**< TBD */
113         KEY_EXT_DIAL_9,     /**< TBD */
114         KEY_EXT_DIAL_STAR,      /**< 10 : * */
115         KEY_EXT_DIAL_SHARP,     /**< 11 : # */
116
117         KEY_EXT_DIAL_BACK,      /**< 12 : <- (backkey) */
118         KEY_EXT_DIAL_HIDE,      /**< 13 :�� (hidekey) */
119         KEY_EXT_DIAL_P,         /**< 14 : p */
120         KEY_EXT_DIAL_PLUS,      /**< 15 : + */
121         KEY_EXT_DIAL_MUTE,      /**< 16 : mute */
122
123         KEY_EXT_DIAL_CALL                       =       100,            /**< 100 : BTN1 (call) */
124         KEY_EXT_DIAL_MESSAGE,                                           /**< 101 : BTN2 (message) */
125         KEY_EXT_DIAL_VIDEO_CALL,                                        /**< 102 : BTN3 (video call) */
126         KEY_EXT_DIAL_SAVE,                                                      /**< 103 : BTN4 (save) */
127         KEY_EXT_DIAL_CALL_END,                                          /**< noti publish */
128         KEY_EXT_TERMINATE_ALL,  /**< TBD */
129
130         KEY_EXT_PAGEDOWN                        =       114,            /**< Volume down */
131         KEY_EXT_PAGEUP                          =       115,            /**< Volume up */
132         KEY_EXT_POWER                           =       116,            /**< Power short */
133         KEY_EXT_PEOPLE_VIEW                     =       132,            /**< People view */
134         KEY_EXT_TIMELINE                        =       169,            /**< Lifedrive */
135         KEY_EXT_PREPARE_CAMERA          =       171,            /**< Prepare Camera */
136         KEY_EXT_ACTIVITY_VIEW           =       174,            /**< Activity view */
137         KEY_EXT_CAMERA                          =       212,            /**< Camera */
138         KEY_EXT_SEARCH                          =       217,            /**< Phone Search */
139         KEY_EXT_POWER_LONG                      =       356,            /**< Power off */
140
141         KEY_EXT_INVALID_KEY                     =       500     /**< TBD */
142 } TelMiscApplicationKey_t;
143
144 /**
145  * @brief Enumeration for the touch event types.
146  * @since_tizen 2.3
147  */
148 typedef enum {
149         TAPI_DIAG_TOUCH_CLICK_DOWN = 0x000F, /**< 0x0F00: Click Down */
150         TAPI_DIAG_TOUCH_MOVE = 0x0010,       /**< 0x1000: Move */
151         TAPI_DIAG_TOUCH_CLICK_UP = 0x0011,   /**< 0x1100: Click Up */
152         TAPI_DIAG_TOUCH_HOLD = 0x0012        /**< 0x1200: Hold */
153 } TelMiscDiagTouchEventType_t;
154
155 /**
156  * @brief Enumeration for the validity of alarm booting.
157  * @since_tizen 2.3
158  */
159 typedef enum {
160         TAPI_MISC_ALARMBOOT_INACTIVATE, /**< 0x00: Inactivate */
161         TAPI_MISC_ALARMBOOT_ACTIVATE    /**< 0x00: Activate */
162 } TelMiscAlarmMode_t;
163
164 typedef enum {
165         TAPI_MISC_ME_IMEI = 0x00, /**< 0x00: IMEI, GSM/UMTS device */
166         TAPI_MISC_ME_ESN = 0x01,  /**< 0x01: ESN(Electronic Serial Number), it has essentially run out. CDMA device */
167         TAPI_MISC_ME_MEID = 0x02, /**< 0x02: MEID, this value can have hexa decimal digits. CDMA device */
168         TAPI_MISC_ME_MAX = 0xff   /**< 0xff: Reserved */
169 } TelMiscSNIndexType_t;
170
171 /**
172  * @brief Enumeration for the NAM Information MASK field.
173  * @since_tizen 2.3
174  */
175 typedef enum {
176         TAPI_MISC_NAM_INFO_MASK_TOTAL                   = 0x0001,       /**< TBD */
177         TAPI_MISC_NAM_INFO_MASK_CURRENT_INDEX   = 0x0002,       /**< TBD */
178         TAPI_MISC_NAM_INFO_MASK_REQUEST_INDEX   = 0x0004,       /**< TBD */
179         TAPI_MISC_NAM_INFO_MASK_AUTONAM         = 0x0008,       /**< TBD */
180         TAPI_MISC_NAM_INFO_MASK_MCC                     = 0x0010,       /**< TBD */
181         TAPI_MISC_NAM_INFO_MASK_MNC                     = 0x0020,       /**< TBD */
182         TAPI_MISC_NAM_INFO_MASK_MIN                     = 0x0040,       /**< TBD */
183         TAPI_MISC_NAM_INFO_MASK_MDN                     = 0x0080,       /**< TBD */
184         TAPI_MISC_NAM_INFO_MASK_NAM_NAME                = 0x0100,       /**< TBD */
185         TAPI_MISC_NAM_INFO_MASK_NAM_CHANGE              = 0x0200,       /**< TBD */
186         TAPI_MISC_NAM_INFO_MASK_NAM_NUM         = 0x0400,       /**< TBD */
187         TAPI_MISC_NAM_INFO_MASK_ALL                     = 0x8000        /**< TBD */
188 } TelMiscNamInfoMaskType_t;
189
190 /**
191  * @brief Enumeration for the NAMIndex field.
192  * @since_tizen 2.3
193  */
194 typedef enum {
195         TAPI_MISC_NAM_1 = 0x00, /**< TBD */
196         TAPI_MISC_NAM_2,            /**< TBD */
197         TAPI_MISC_NAM_3,            /**< TBD */
198         TAPI_MISC_NAM_4,            /**< TBD */
199         TAPI_MISC_NAM_5         /**< TBD */
200 } TelMiscNamIndex_t;
201
202
203 /**
204  * @brief Enumeration for the day of the week.
205  * @since_tizen 2.3
206  */
207 typedef enum {
208         TAPI_MISC_NITZ_DOW_SUN = 0x00, /**< Sunday */
209         TAPI_MISC_NITZ_DOW_MON = 0x01, /**< Monday */
210         TAPI_MISC_NITZ_DOW_TUE = 0x02, /**< Tuesday */
211         TAPI_MISC_NITZ_DOW_WED = 0x03, /**< Wednesday */
212         TAPI_MISC_NITZ_DOW_THU = 0x04, /**< Thursday */
213         TAPI_MISC_NITZ_DOW_FRI = 0X05, /**< Friday */
214         TAPI_MISC_NITZ_DOW_SAT = 0x06  /**< Saturday */
215 } tapi_misc_nitz_dayofweek_t;
216
217 /**
218  * @brief Enumeration for daylight adjustment.
219  * @since_tizen 2.3
220  */
221 typedef enum {
222         TAPI_MISC_NITZ_NOADJUST = 0x00, /**< No daylight adjustment */
223         TAPI_MISC_NITZ_ONE_HR = 0x01,   /**< One hour */
224         TAPI_MISC_NITZ_TW0_HR = 0x02    /**< Two hours */
225 } tapi_misc_nitz_daylight_t;
226
227 /**
228  * @brief Enumeration for the types of data.
229  * @since_tizen 2.3
230  */
231 typedef enum {
232         TAPI_MISC_NITZ_INVALID                  = 0x00, /**< Invalid */
233         TAPI_MISC_NITZ_TIMEINFO_NW_CDMA = 0x01, /**< Time info network */
234         TAPI_MISC_NITZ_TIMEINFO_NW_GSM  = 0x02, /**< Time info network */
235         TAPI_MISC_NITZ_RTC_INFO_LINE    = 0x03, /**< RTC Info line */
236         TAPI_MISC_NITZ_RTC_BKUP_PHONE   = 0x04, /**< RTC Backup phone */
237         TAPI_MISC_NITZ_NO_TIME_INFO     = 0x05      /**< No time info */
238 } tapi_misc_nitz_timeinfo_t;
239
240 /**
241  * @brief The structure type for Mobile Equipment Version Information.
242  * @since_tizen 2.3
243  */
244 typedef struct {
245         unsigned char ver_mask; /**< Version mask  - 0x01:SW_ver, 0x02:HW_ver, 0x04:RF_CAL_date, 0x08:Product_code, 0x10:Model_ID, 0x20:PRL, 0x04:ERI, 0xff:all */
246         unsigned char szSwVersion[MAX_VERSION_LEN]; /**< Software version, null termination */
247         unsigned char szHwVersion[MAX_VERSION_LEN]; /**< Hardware version, null termination */
248         unsigned char szRfCalDate[MAX_VERSION_LEN]; /**< Calculation Date, null termination */
249         unsigned char szProductCode[TAPI_MISC_PRODUCT_CODE_LEN_MAX]; /**< Product code, null termination */
250         unsigned char szModelId[TAPI_MISC_MODEL_ID_LEN_MAX]; /**< Model ID (only for CDMA), null termination */
251         unsigned char prl_nam_num; /**< Number of PRL NAM fields */
252         unsigned char szPrlVersion[TAPI_MISC_PRL_ERI_VER_LEN_MAX * 3];/**< PRL version (only for CDMA), null termination */
253         unsigned char eri_nam_num; /**< Number of PRL NAM fields */
254         unsigned char szEriVersion[TAPI_MISC_PRL_ERI_VER_LEN_MAX * 3];/**< ERI version (only for CDMA), null termination */
255 } TelMiscVersionInformation;
256
257 /**
258  * @brief The structure type for Mobile Equipment Serial Number Information.
259  * @since_tizen 2.3
260  */
261 typedef struct {
262         unsigned char szEsn[TAPI_MISC_ME_SN_LEN_MAX]; /**< Number */
263         unsigned char szMeid[TAPI_MISC_ME_SN_LEN_MAX]; /**< Number */
264         unsigned char szImei[TAPI_MISC_ME_SN_LEN_MAX]; /**< Number */
265         unsigned char szImeiSv[TAPI_MISC_ME_SN_LEN_MAX]; /**< Number */
266 } TelMiscSNInformation;
267
268 /**
269  * @brief The structure type for the event delivery - event type.
270  * @since_tizen 2.3
271  */
272 typedef struct {
273         struct timeval time; /**< Time information */
274         unsigned short type; /**< Type of event */
275         unsigned short code; /**< Code */
276         long value; /**< Value */
277 } input_event_t;
278
279 /**
280  * @brief The structure type for Diagnostic Key Code Information.
281  * @since_tizen 2.3
282  */
283 typedef struct {
284         unsigned char keycode; /**< Key Code */
285         unsigned char keyhold; /**< Key Hold */
286 } TelMiscDiagKeyCodeInfomation;
287
288 /**
289  * @brief The structure type for alarm info.
290  * @since_tizen 2.3
291  */
292 typedef struct {
293         unsigned char year; /**< Year */
294         unsigned char month; /**< Month */
295         unsigned char day; /**< Day */
296         unsigned char hour; /**< Hour */
297         unsigned char minute; /**< Minute */
298         unsigned char second; /**< Second */
299         unsigned char time_zone; /**< Time zone */
300         tapi_misc_nitz_dayofweek_t day_of_week; /**< Day of the week */
301 } TelMiscAlarmInfo_t;
302
303 /**
304  * @brief The structure type for the alarm response.
305  * @since_tizen 2.3
306  */
307 typedef struct {
308         TelMiscAlarmMode_t validity; /**< Validity */
309         TelMiscAlarmInfo_t alarm_info; /**< Alarm info */
310 } TelMiscAlarmStatus_t;
311
312 /**
313  * @brief The structure type for nam info.
314  * @since_tizen 2.3
315  */
316 typedef struct {
317         unsigned short nam_info_mask;   /**< TBD */
318         unsigned char nam_total;        /**< TBD */ // this field is not used in case of nam set req.
319         unsigned char nam_current_index;        /**< TBD */
320         unsigned char nam_req_index;    /**< TBD */
321         unsigned char nam_auto; /**< TBD */
322         unsigned char nam_mcc[TAPI_MISC_MCC_LEN_MAX+1]; /**< TBD */
323         unsigned char nam_mnc[TAPI_MISC_MCC_LEN_MAX+1]; /**< TBD */
324         unsigned char nam_min[TAPI_MISC_MIN_LEN_MAX+1]; /**< TBD */
325         unsigned char nam_mdn[TAPI_MISC_MDN_LEN_MAX+1]; /**< TBD */
326         unsigned char nam_name[TAPI_MISC_NAME_LEN_MAX+1];       /**< TBD */
327 } TelMiscNamInfo_t;
328
329 /**
330  * @brief The structure type for time info.
331  * @since_tizen 2.3
332  */
333 typedef struct {
334         tapi_misc_nitz_timeinfo_t time_zone_valid; /**< Time zone */
335         int bDaylight_valid; /**< Day light */
336         unsigned char year; /**< Year */
337         unsigned char month; /**< Month */
338         unsigned char day; /**< Day */
339         unsigned char hour; /**< Hour */
340         unsigned char minute; /**< Minute */
341         unsigned char second; /**< Second */
342         unsigned char time_zone; /**< Time zone */
343         tapi_misc_nitz_daylight_t daylight_adjust; /**< Day light adjust */
344         tapi_misc_nitz_dayofweek_t day_of_week; /**< Day of the week */
345         unsigned long plmn; /**< Day of the week */
346 } tapi_misc_time_zone_info_type;
347
348 #ifdef __cplusplus
349 }
350 #endif
351
352 #endif // _TEL_MISC_H_
353
354 /**
355  * @}
356  */