4 * Copyright (c) 2014 Samsung Electronics Co., Ltd. All rights reserved.
6 * Contact: Ja-young Gu <jygu@samsung.com>
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
12 * http://www.apache.org/licenses/LICENSE-2.0
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.
27 * @addtogroup CAPI_TELEPHONY_SERVICE_MODEM
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 */
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"
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
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
60 * @brief Enumeration for the MMI check key values.
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 */
77 MMI_CHECK_END_ALL = 0x41, /**< TBD */
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 */
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 */
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 */
100 * @brief Enumeration for the application key types.
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 : # */
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 */
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 */
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 */
141 KEY_EXT_INVALID_KEY = 500 /**< TBD */
142 } TelMiscApplicationKey_t;
145 * @brief Enumeration for the touch event types.
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;
156 * @brief Enumeration for the validity of alarm booting.
160 TAPI_MISC_ALARMBOOT_INACTIVATE, /**< 0x00: Inactivate */
161 TAPI_MISC_ALARMBOOT_ACTIVATE /**< 0x00: Activate */
162 } TelMiscAlarmMode_t;
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;
172 * @brief Enumeration for the NAM Information MASK field.
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;
191 * @brief Enumeration for the NAMIndex field.
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 */
204 * @brief Enumeration for the day of the week.
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;
218 * @brief Enumeration for daylight adjustment.
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;
228 * @brief Enumeration for the types of data.
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;
241 * @brief The structure type for Mobile Equipment Version Information.
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;
258 * @brief The structure type for Mobile Equipment Serial Number Information.
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;
269 * @brief The structure type for the event delivery - event type.
273 struct timeval time; /**< Time information */
274 unsigned short type; /**< Type of event */
275 unsigned short code; /**< Code */
276 long value; /**< Value */
280 * @brief The structure type for Diagnostic Key Code Information.
284 unsigned char keycode; /**< Key Code */
285 unsigned char keyhold; /**< Key Hold */
286 } TelMiscDiagKeyCodeInfomation;
289 * @brief The structure type for alarm info.
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;
304 * @brief The structure type for the alarm response.
308 TelMiscAlarmMode_t validity; /**< Validity */
309 TelMiscAlarmInfo_t alarm_info; /**< Alarm info */
310 } TelMiscAlarmStatus_t;
313 * @brief The structure type for nam info.
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 */
330 * @brief The structure type for time info.
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;
352 #endif // _TEL_MISC_H_