tizen 2.3.1 release
[framework/telephony/libtcore.git] / include / type / sat.h
1 /*
2  * libtcore
3  *
4  * Copyright (c) 2012 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 #ifndef __TYPE_SAT_H__
22 #define __TYPE_SAT_H__
23
24 __BEGIN_DECLS
25
26 #include <glib.h>
27 #include <type/sim.h>
28
29 #define SAT_DEF_TITLE_LEN_MAX 50 /**< max length for Menu Title */
30 #define SAT_DEF_ITEM_STR_LEN_MAX 50
31
32 #define SAT_TEXT_STRING_LEN_MAX 500
33 #define SAT_MENU_ITEM_COUNT_MAX 40
34 #define SAT_DIALING_NUMBER_LEN_MAX 200
35 #define SAT_SS_STRING_LEN_MAX 160
36 #define SAT_USSD_STRING_LEN_MAX 255
37 #define SAT_ALPHA_ID_LEN_MAX 255                /**<    max length of  alpha identifier         */
38 #define SAT_ITEM_TEXT_LEN_MAX 255               /**<    max length of item text         */
39 #define SAT_SMS_TPDU_SMS_DATA_LEN_MAX 175
40 #define SAT_ITEMS_NEXT_ACTION_INDI_LIST_MAX_COUNT 50     /**<   max count of items next action indication list  */
41 #define SAT_IMG_DATA_FILE_PATH_LEN_MAX 50        /**<   max length of image data file name (Icon, CLUT)         */
42 #define SAT_ICON_LIST_MAX_COUNT 50       /**<   max count of icon list          */
43 #define SAT_DTMF_STRING_LEN_MAX 30       /**<   max length of dtmf string               */
44 #define SAT_URL_LEN_MAX 129      /**<   max length of URL               */
45 #define SAT_ITEM_TEXT_ATTRIBUTES_LIST_MAX_COUNT 50       /**<   max count of item text attributes list          */
46 #define SAT_EVENT_LIST_MAX      17      /**< max count of event list */
47 #define SAT_FILE_ID_LIST_MAX_COUNT 255
48 #define SAT_ENVELOPE_CMD_LEN_MAX 256
49 #define SAT_AID_LEN_MAX 128
50 #define SAT_SUB_ADDR_LEN_MAX 30
51 #define SAT_CCP_DATA_LEN_MAX 30  /**<   max length of ccp data          */
52 #define SAT_URL_LEN_MAX 129      /**<   max length of url               */
53 #define SAT_BEARER_LIST_MAX_COUNT 5      /**<   max count of bearer list                */
54 #define SAT_PROVISIONING_REF_MAX_COUNT 10       /**<    max count of sat provisioning reference */
55 #define SAT_PROVISIONING_FILE_PATH_LEN_MAX 50    /**<   max length of provisioning file path    */
56 #define SAT_BEARER_PARAMS_LEN_MAX 10     /**<   max length of bearer parameters         */
57 #define SAT_OTHER_ADDR_LEN_MAX 30        /**<   max length of other address             */
58 #define SAT_NET_ACC_NAM_LEN_MAX 30       /**<   max length of net acc name              */
59 #define SAT_REMOTE_ENTITY_ADDR_LEN_MAX 50        /**<   max length of remote entity address     */
60 #define SAT_CHANNEL_DATA_STRING_LEN_MAX 255
61
62 enum tel_sat_proactive_cmd_type {
63         SAT_PROATV_CMD_NONE = 0x00, /**<        command type - None             */
64         SAT_PROATV_CMD_REFRESH = 0x01, /**<     command type - refresh          */
65         SAT_PROATV_CMD_MORE_TIME = 0x02, /**<   command type - more time                */
66         SAT_PROATV_CMD_SETUP_EVENT_LIST = 0x05, /**<    command type - setup event list         */
67         SAT_PROATV_CMD_SETUP_CALL = 0x10, /**<  command type - setup call               */
68         SAT_PROATV_CMD_SEND_SS = 0x11, /**<     command type - send ss          */
69         SAT_PROATV_CMD_SEND_USSD = 0x12, /**<   command type - send ussd                */
70         SAT_PROATV_CMD_SEND_SMS = 0x13, /**<    command type - send sms         */
71         SAT_PROATV_CMD_SEND_DTMF = 0x14, /**<   command type - send dtmf                */
72         SAT_PROATV_CMD_LAUNCH_BROWSER = 0x15, /**<      command type - launch browser           */
73         SAT_PROATV_CMD_PLAY_TONE = 0x20, /**<   command type - play tone                */
74         SAT_PROATV_CMD_DISPLAY_TEXT = 0x21, /**<        command type - display text             */
75         SAT_PROATV_CMD_GET_INKEY = 0x22, /**<   command type - get inkey                */
76         SAT_PROATV_CMD_GET_INPUT = 0x23, /**<   command type - get input                */
77         SAT_PROATV_CMD_SELECT_ITEM = 0x24, /**< command type - select item              */
78         SAT_PROATV_CMD_SETUP_MENU = 0x25, /**<  command type - setup menu               */
79         SAT_PROATV_CMD_PROVIDE_LOCAL_INFO = 0x26, /**<  command type - provide local info               */
80         SAT_PROATV_CMD_SETUP_IDLE_MODE_TEXT = 0x28, /**<        command type - setup idle mode text             */
81         SAT_PROATV_CMD_LANGUAGE_NOTIFICATION = 0x35, /**<       command type - language notification            */
82         SAT_PROATV_CMD_OPEN_CHANNEL = 0x40, /**<        command type - open channel -class e            */
83         SAT_PROATV_CMD_CLOSE_CHANNEL = 0x41, /**<       command type - close channel - class e          */
84         SAT_PROATV_CMD_RECEIVE_DATA = 0x42, /**<        command type - receive data -class e            */
85         SAT_PROATV_CMD_SEND_DATA = 0x43, /**<   command type - send data                */
86         SAT_PROATV_CMD_GET_CHANNEL_STATUS = 0x44, /**<  command type - get channel status -class e              */
87         SAT_PROATV_CMD_TYPE_END_PROACTIVE_SESSION = 0xFE,
88         SAT_PROATV_CMD_RESERVED = 0xFF /**<     command type - reserved         */
89 };
90
91 /*
92  * TS 102.223 V6.12.0
93  * SAT DATA OBJECT DEFINE
94  */
95
96 /*
97  * Data Coding Scheme Object
98  */
99 enum alphabet_format{
100         ALPHABET_FORMAT_SMS_DEFAULT = 0x00,
101         ALPHABET_FORMAT_8BIT_DATA = 0x01,
102         ALPHABET_FORMAT_UCS2 = 0x02,
103         ALPHABET_FORMAT_RESERVED = 0x03
104 };
105
106 enum msg_class{
107         MSG_CLASS_NONE =0x00,
108         MSG_CLASS_0 =0x01, //class 0
109         MSG_CLASS_1, // class 1 Default meaning:ME-specific
110         MSG_CLASS_2, // class 2 SIM specific message
111         MSG_CLASS_3, // class 3 Default meaning: TE specific
112         MSG_CLASS_RESERVED =0xFF
113 };
114
115 struct data_coding_scheme{
116         int is_compressed_format;               // if FALSE, unpacked format
117         enum alphabet_format a_format;
118         enum msg_class m_class;
119         unsigned char raw_dcs;
120 };
121
122 /*
123  * 8.1 Address
124  */
125 enum type_of_number{
126         TON_UNKNOWN = 0,                        /*< unknown */
127         TON_INTERNATIONAL = 1,          /*< international number */
128         TON_NATIONAL = 2,                       /*< national number */
129         TON_NETWORK_SPECIFIC = 3,       /*< network specific number */
130         TON_DEDICATED_ACCESS = 4,       /*< subscriber number */
131         TON_ALPHA_NUMERIC = 5,          /*< alphanumeric, GSM 7-bit default alphabet) */
132         TON_ABBREVIATED_NUMBER = 6,     /*< abbreviated number */
133         TON_RESERVED_FOR_EXT = 0xF      /*< reserved for extension */
134 };
135
136 enum numbering_plan_identifier{
137         NPI_UNKNOWN = 0,                                /*< Unknown */
138         NPI_ISDN_TEL = 1,                               /*< ISDN/Telephone numbering plan */
139         NPI_DATA_NUMBERING_PLAN = 3,    /*< Data numbering plan */
140         NPI_TELEX = 4,                                  /*< Telex numbering plan */
141         NPI_SVC_CNTR_SPECIFIC_PLAN = 5, /*< Service Center Specific plan */
142         NPI_SVC_CNTR_SPECIFIC_PLAN2 = 6,/*< Service Center Specific plan */
143         NPI_NATIONAL = 8,                               /*< National numbering plan */
144         NPI_PRIVATE = 9,                                /*< Private numbering plan */
145         NPI_ERMES_NUMBERING_PLAN = 10,  /*< ERMES numbering plan */
146         NPI_RESERVED_FOR_EXT = 0xF              /*< Reserved for extension */
147 };
148
149 struct tel_sat_address{
150         enum type_of_number ton;
151         enum numbering_plan_identifier npi;
152         int dialing_number_len;                                 /**< Dialing Number length */
153         char dialing_number[SAT_DIALING_NUMBER_LEN_MAX];        /**< Dialing Number*/
154 };
155
156 /*
157  * 8.2 Alpha identifier
158  */
159 struct tel_sat_alpha_identifier{
160         gboolean is_exist;
161         struct data_coding_scheme dcs;
162         unsigned char alpha_data_len; /**<      alpha identifier length         */
163         char alpha_data[SAT_ALPHA_ID_LEN_MAX]; /**<     alpha identifier info   */
164 };
165
166 /*
167  * 8.3 Subaddress
168  */
169 struct tel_sat_subaddress{
170         int subaddress_len;
171         char subaddress[SAT_SUB_ADDR_LEN_MAX];
172 };
173
174 /*
175  * 8.4 Capability configuration parameters
176  */
177 struct tel_sat_ccp{
178         int data_len;
179         char data[SAT_CCP_DATA_LEN_MAX];
180 };
181
182 /*
183  * 8.6 Command details
184  */
185 enum display_text_priority{
186         TEXT_PRIORITY_NORMAL = 0,
187         TEXT_PRIORITY_HIGH = 1
188 };
189
190 enum display_text_clear_type{
191         TEXT_AUTO_CLEAR_MSG_AFTER_A_DELAY = 0,
192         TEXT_WAIT_FOR_USER_TO_CLEAR_MSG = 1
193 };
194
195 struct tel_sat_cmd_qualifier_display_text{
196         enum display_text_priority text_priority;
197         enum display_text_clear_type text_clear_type;
198 };
199
200 enum inkey_type{
201         INKEY_TYPE_CHARACTER_SET_ENABLED = 0,
202         INKEY_TYPE_YES_NO_REQUESTED = 1
203
204 };
205
206 enum input_alphabet_type{
207         INPUT_ALPHABET_TYPE_SMS_DEFAULT = 1,
208         INPUT_ALPHABET_TYPE_UCS2 = 2
209 };
210
211 struct tel_sat_cmd_qualifier_get_inkey{
212         enum inkey_type inkey_type;
213         enum input_alphabet_type alphabet_type;
214         gboolean alphabet_set;
215         gboolean immediate_rsp_required;
216         gboolean help_info;
217 };
218
219 struct tel_sat_cmd_qualifier_get_input{
220         enum input_alphabet_type alphabet_type;
221         gboolean alphabet_set;
222         gboolean me_echo_user_input;
223         gboolean user_input_unpacked_format;
224         gboolean help_info;
225 };
226
227 enum vibration_alert{
228         VIBRATE_ALERT_OPTIONAL = 0, /**<        VIBRATE ALERT UPTO THE TERMINAL         */
229         VIBRATE_ALERT_REQUIRED = 1 /**< VIBRATE, IF AVAILABLE, WITH TONE.               */
230 };
231
232 struct tel_sat_cmd_qualifier_play_tone{
233         enum vibration_alert vibration_alert;
234 };
235
236 struct tel_sat_cmd_qualifier_refresh{
237         enum tel_sim_refresh_command refresh;
238 };
239
240 enum provide_local_info_command{
241         LOCAL_INFO_LOCATION = 0,
242         LOCAL_INFO_IMEI = 1,
243         LOCAL_INFO_NMR = 2,
244         LOCAL_INFO_DATE_TIME_AND_TIMEZONE = 3,
245         LOCAL_INFO_LANGUAGE = 4,
246         LOCAL_INFO_TIMING_ADVANCE = 5,
247         LOCAL_INFO_ACT = 6,
248         LOCAL_INFO_ESN = 7,
249         LOCAL_INFO_IMEISV = 8,
250         LOCAL_INFO_MEID = 0x0B,
251         LOCAL_INFO_RESERVED = 0xFF
252 };
253
254 struct tel_sat_cmd_qualifier_provide_local_info{
255         enum provide_local_info_command provide_local_info;
256 };
257
258 enum setup_call_command{
259         SETUP_CALL_IF_ANOTHER_CALL_NOT_BUSY = 0x00, /**<        command qualifier for SETUP CALL IF ANOTHER CALL NOT BUSY               */
260         SETUP_CALL_IF_ANOTHER_CALL_NOT_BUSY_WITH_REDIAL = 0x01, /**<    command qualifier for SETUP CALL IF ANOTHER CALL NOT BUSY WITH REDIAL           */
261         SETUP_CALL_PUT_ALL_OTHER_CALLS_ON_HOLD = 0x02, /**<     command qualifier for SETUP CALL PUTTING ALL OTHER CALLS ON HOLD                */
262         SETUP_CALL_PUT_ALL_OTHER_CALLS_ON_HOLD_WITH_REDIAL = 0x03, /**< command qualifier for SETUP CALL PUTTING ALL OTHER CALLS ON HOLD WITH REDIAL            */
263         SETUP_CALL_DISCONN_ALL_OTHER_CALLS = 0x04, /**< command qualifier for SETUP CALL DISCONNECTING ALL OTHER CALLS          */
264         SETUP_CALL_DISCONN_ALL_OTHER_CALLS_WITH_REDIAL = 0x05, /**<     command qualifier for SETUP CALL DISCONNECTING ALL OTHER CALLS WITH REDIAL              */
265         SETUP_CALL_RESERVED = 0xFF /**< command qualifier for SETUP CALL RESERVED               */
266 };
267
268 struct tel_sat_cmd_qualifier_setup_call{
269         enum setup_call_command setup_call;
270 };
271
272 enum presentation_type{
273         PRESENTATION_TYPE_NOT_SPECIFIED = 0x00,
274         PRESENTATION_TYPE_DATA_VALUE                    = 0x01,
275         PRESENTATION_TYPE_NAVIGATION_OPTION     = 0x02
276
277 };
278
279 enum selection_preference_type {
280         SELECTION_PREFERENCE_NONE_REQUESTED = 0,
281         SELECTION_PREFERENCE_USING_SOFT_KEY = 1
282 };
283
284 struct tel_sat_cmd_qualifier_select_item{
285         enum presentation_type presentation_type;
286         enum selection_preference_type select_preference;
287         gboolean help_info;
288 };
289
290 struct tel_sat_cmd_qualifier_send_sms{
291         gboolean packing_by_me_required;
292 };
293
294 struct tel_sat_cmd_qualifier_language_notification{
295         gboolean specific_language;
296 };
297
298 enum launch_browser_command{
299         LAUNCH_BROWSER_IF_NOT_ALREADY_LAUNCHED = 0, /**<        command qualifier for  LAUNCH BROWSER           */
300         LAUNCH_BROWSER_NOT_USED = 1, /**<       command qualifier for  NOT USED         */
301         LAUNCH_BROWSER_USE_EXISTING_BROWSER = 2, /**<   command qualifier for  USE EXISTING BROWSER if secure session, do not use it.           */
302         LAUNCH_BROWSER_CLOSE_AND_LAUNCH_NEW_BROWSER = 3, /**<   command qualifier for CLOSE AND LAUNCH NEW BROWSER              */
303         LAUNCH_BROWSER_NOT_USED2 = 4, /**<      command qualifier for  NOT USED2                */
304         LAUNCH_BROWSER_RESERVED = 0xFF /**<     reserved        */
305 };
306
307 struct tel_sat_cmd_qualifier_launch_browser{
308         enum launch_browser_command launch_browser;
309 };
310
311 struct tel_sat_cmd_qualifier_setup_menu{
312         enum selection_preference_type select_preference;
313         gboolean help_info;
314 };
315
316 struct tel_sat_cmd_qualifier_open_channel{
317         gboolean immediate_link;
318         gboolean automatic_reconnection;
319         gboolean background_mode;
320 };
321
322 struct tel_sat_cmd_qualifier_send_data{
323         gboolean send_data_immediately;
324 };
325
326 struct tel_sat_cmd_detail_info{
327         int cmd_num; /**< specific command number       */
328         enum tel_sat_proactive_cmd_type cmd_type; /**<  proactive command type          */
329         union {
330                 struct tel_sat_cmd_qualifier_display_text display_text;
331                 struct tel_sat_cmd_qualifier_get_inkey get_inkey;
332                 struct tel_sat_cmd_qualifier_get_input get_input;
333                 struct tel_sat_cmd_qualifier_play_tone play_tone;
334                 struct tel_sat_cmd_qualifier_setup_menu setup_menu; /**<        setup menu command qualifier info       */
335                 struct tel_sat_cmd_qualifier_select_item select_item;
336                 struct tel_sat_cmd_qualifier_send_sms send_sms;
337                 struct tel_sat_cmd_qualifier_setup_call setup_call;
338                 struct tel_sat_cmd_qualifier_refresh refresh;
339                 struct tel_sat_cmd_qualifier_provide_local_info provide_local_info;
340                 struct tel_sat_cmd_qualifier_language_notification language_notification;
341                 struct tel_sat_cmd_qualifier_launch_browser launch_browser;
342                 struct tel_sat_cmd_qualifier_open_channel open_channel;
343                 struct tel_sat_cmd_qualifier_send_data send_data;
344         }cmd_qualifier; /**<    Union   */
345 };
346
347 /*
348  * 8.7 Device identities
349  */
350 enum device_identity{
351         DEVICE_ID_KEYPAD = 0x01,
352         DEVICE_ID_DISPLAY = 0x02,
353         DEVICE_ID_EARPIECE = 0x03,
354         //21-27 for channel
355         DEVICE_ID_SIM = 0x81,
356         DEVICE_ID_ME = 0x82,
357         DEVICE_ID_NETWORK = 0x83,
358         DEVICE_ID_RESERVED = 0XFF
359 };
360
361 struct tel_sat_device_identities{
362         enum device_identity src;
363         enum device_identity dest;
364 };
365
366 /*
367  * 8.8 Duration
368  */
369 enum time_unit_type{
370         TIME_UNIT_MINUTES                                               = 0x0,
371         TIME_UNIT_SECONDS                                               = 0x01,
372         TIME_UNIT_TENTHS_OF_SECONDS                     = 0x02,
373         TIME_UNIT_RESERVED                                              = 0xFF
374 };
375
376 struct tel_sat_duration{
377         enum time_unit_type time_unit;
378         unsigned char time_interval;
379 };
380
381 /*
382  * 8.9 Item
383  */
384 struct tel_sat_item_info{
385         unsigned char item_id;
386         unsigned char text_len;
387         unsigned char text[SAT_ITEM_TEXT_LEN_MAX + 1];
388         struct data_coding_scheme dcs;
389 };
390
391 /*
392  * 8.10 Item identifier
393  */
394 struct tel_sat_item_identifier{
395         unsigned char item_identifier;
396 };
397
398 /*
399  * 8.11 Response length
400  */
401 struct tel_sat_response_length{
402         unsigned char min;
403         unsigned char max;
404 };
405
406 /*
407  * 8.12 Result
408  */
409 enum tel_sat_result_type{
410         RESULT_SUCCESS = 0x0, /**<      command performed successfully */
411         RESULT_SUCCESS_WITH_PARTIAL_COMPREHENSION = 0x01, /**<  command performed with partial comprehension    */
412         RESULT_SUCCESS_WITH_MISSING_INFO = 0x02, /**<   command performed, with missing information     */
413
414         RESULT_REFRESH_PERFORMED_WITH_ADDITIONAL_EFS_READ = 0x03, /**<  REFRESH PERFORMED WITH ADDITIONAL EFS READ              */
415         RESULT_SUCCESS_BUT_REQUESTED_ICON_NOT_DISPLAYED = 0x04, /**<    command performed but REQUESTED ICON NOT DISPLAYED                      */
416         RESULT_SUCCESS_BUT_MODIFIED_BY_CALL_CONTROL_BY_SIM = 0x05, /**< command performed but MODIFIED BY CALL CONTROL BY SIM           */
417         RESULT_SUCCESS_LIMITED_SERVICE = 0x06, /**<     command performed with LIMITED SERVICE          */
418         RESULT_SUCCESS_WITH_MODIFICATION = 0x07, /**<   command performed with MODIFICATION             */
419         RESULT_REFRESH_PRFRMD_BUT_INDICATED_USIM_NOT_ACTIVE = 0x08, /**<        REFRESH PERFORMED BUT INDICATED USIM NOT ACTIVE         */
420         RESULT_SUCCESS_BUT_TONE_NOT_PLAYED = 0x09, /**< command performed successfully, tone not played*/
421
422         RESULT_PROACTIVE_SESSION_TERMINATED_BY_USER = 0x10, /**<        proactive sim application session terminated by user            */
423         RESULT_BACKWARD_MOVE_BY_USER = 0x11, /**<       backward move in the proactive sim application session request by the user              */
424         RESULT_NO_RESPONSE_FROM_USER = 0x12, /**<       no response from user           */
425
426         RESULT_HELP_INFO_REQUIRED_BY_USER = 0x13, /**<  HELP INFO REQUIRED BY USER              */
427         RESULT_USSD_OR_SS_TRANSACTION_TERMINATED_BY_USER = 0x14, /**<   USSD OR SS TRANSACTION TERMINATED BY USER       */
428
429         RESULT_ME_UNABLE_TO_PROCESS_COMMAND = 0x20, /**<        ME currently unable to process command          */
430         RESULT_NETWORK_UNABLE_TO_PROCESS_COMMAND = 0x21, /**<   Network currently unable to process command             */
431         RESULT_USER_DID_NOT_ACCEPT_CALL_SETUP_REQ = 0x22, /**<  User did not accept call setup request          */
432         RESULT_USER_CLEAR_DOWN_CALL_BEFORE_CONN = 0x23, /**<    User cleared down call before connection or network released            */
433
434         RESULT_INTERACTION_WITH_CC_BY_SIM_IN_TMP_PRBLM = 0x25, /**<     INTERACTION WITH CALL CONTROL BY SIM IN TEMPORARY PROBLEM               */
435         RESULT_LAUNCH_BROWSER_GENERIC_ERROR_CODE = 0x26, /**<   LAUNCH BROWSER GENERIC ERROR CODE               */
436
437         RESULT_BEYOND_ME_CAPABILITIES = 0x30, /**<      command beyond ME's capabilities                */
438         RESULT_COMMAND_TYPE_NOT_UNDERSTOOD_BY_ME = 0x31, /**<   command type not understood by ME               */
439         RESULT_COMMAND_DATA_NOT_UNDERSTOOD_BY_ME = 0x32, /**<   command data not understood by ME               */
440         RESULT_COMMAND_NUMBER_NOT_KNOWN_BY_ME = 0x33, /**<      command number not known by ME          */
441         RESULT_SS_RETURN_ERROR = 0x34, /**<     SS return error         */
442         RESULT_SMS_RP_ERROR = 0x35, /**<        SMS rp-error            */
443         RESULT_ERROR_REQUIRED_VALUES_ARE_MISSING = 0x36, /**<   Error, required values are missing      */
444
445         RESULT_USSD_RETURN_ERROR = 0x37, /**<   USSD_RETURN_ERROR               */
446         RESULT_INTRCTN_WITH_CC_OR_SMS_CTRL_PRMNT_PRBLM = 0x39, /**<     INTERACTION WITH CALL CONTROL OR SMS CONTROL PERMANENT PROBLEM  */
447         RESULT_BEARER_INDEPENDENT_PROTOCOL_ERROR = 0x3A, /**<   BEARER INDEPENDENT PROTOCOL ERROR               */
448         RESULT_FRAMES_ERROR = 0x3C /**< FRAMES ERROR            */
449 };
450
451 enum tel_sat_me_problem_type{
452         ME_PROBLEM_NO_SPECIFIC_CAUSE = 0x0, /**<        ME problem with NO SPECIFIC CAUSE               */
453         ME_PROBLEM_SCREEN_BUSY = 0x01, /**<     ME problem with SCREEN BUSY             */
454         ME_PROBLEM_ME_BUSY_ON_CALL = 0x02, /**< ME problem with ME BUSY ON CALL         */
455         ME_PROBLEM_ME_BUSY_ON_SS = 0x03, /**<   ME problem with ME_BUSY ON SS           */
456         ME_PROBLEM_NO_SERVICE = 0x04, /**<      ME problem with NO SERVICE              */
457         ME_PROBLEM_ACCESS_CONTROL_CLASS_BAR = 0x05, /**<        ME problem with ACCESS CONTROL CLASS BAR                */
458         ME_PROBLEM_RADIO_RES_NOT_GRANTED = 0x06, /**<   ME problem with RADIO RES NOT GRANTED           */
459         ME_PROBLEM_NOT_IN_SPEECH_CALL = 0x07, /**<      ME problem with NOT IN SPEECH CALL      */
460         ME_PROBLEM_ME_BUSY_ON_USSD = 0x08, /**< ME problem with ME BUSY ON USSD         */
461         ME_PROBLEM_ME_BUSY_ON_SEND_DTMF_CMD = 0x09, /**<        ME problem with ME BUSY ON SEND DTMF CMD        */
462         ME_PROBLEM_NO_USIM_ACTIVE = 0x0A, /**<  ME problem with NO USIM ACTIVE          */
463         ME_PROBLEM_INVALID = 0xFF /**<  ME problem with INVALID         */
464 };
465
466 enum tel_sat_user_confirm_type{
467         USER_CONFIRM_NOT_SPECIFIED = -1,                        /**<This Enum Informs That not specified */
468         USER_CONFIRM_YES = 0,                                           /**<This Enum Informs That user confirms yes */
469         USER_CONFIRM_NO_OR_CANCEL,                              /**<This enum informs that user confirms no/cancel */
470         USER_CONFIRM_HELP_INFO,                         /**<This enum informs that user wants help information */
471         USER_CONFIRM_END,                                               /**<This enum informs that user confirms end */
472         USER_CONFIRM_TIMEOUT,                                   /**<This enum informs that user did not respond */
473 };
474
475 enum tel_sat_call_ctrl_problem_type{
476         CC_PROBLEM_NO_SPECIFIC_CAUSE = 0, /**<  Call Control problem with no specific cause             */
477         CC_PROBLEM_ACTION_NOT_ALLOWED = 1, /**< Call Control problem with action not allowed    */
478         CC_PROBLEM_REQUEST_TYPE_HAS_CHANGED = 2 /**<    Call Control problem with request type has changed      */
479 };
480
481 enum ss_problem_type{
482         SATK_SS_PROBLEM_NO_SPECIFIC_CAUSE                       = 0,
483         SATK_SS_PROBLEM_FACILITY_NOT_SUPPORTED          = 0x15
484 };
485
486 enum ussd_problem_type{
487         SATK_USSD_PROBLEM_NO_SPECIFIC_CAUSE                     = 0,
488         SATK_USSD_PROBLEM_UNKNOWN_ALPHABET                      = 0x47
489 };
490
491 enum network_problem_type{
492         NETWORK_PROBLEM_NO_SPECIFIC_CAUSE = 0x0, /**<   Network problem with no specific cause          */
493         NETWORK_PROBLEM_USER_BUSY = 0x91 /**<   Network problem with USER BUSY          */
494 };
495
496 enum browser_problem_type{
497         BROWSER_PROBLEM_NO_SPECIFIC_CAUSE = 0, /**<     Browser problem with no specific cause          */
498         BROWSER_PROBLEM_BEARER_UNAVAILABLE = 1, /**<    Browser problem with bearer unavailable         */
499         BROWSER_PROBLEM_BROWSER_UNAVAILABLE = 2, /**<   Browser problem with browser unavailable                */
500         BROWSER_PRBLM_ME_UNABLE_TO_READ_PROV_DATA = 3 /**<      Browser problem with ME unable to read provisioning data                */
501 };
502
503 enum bip_problem_type{
504         BIP_PROBLEM_NO_SPECIFIC_CAUSE = 0x00, /**<      BIP problem with no specific cause      */
505         BIP_PROBLEM_NO_CHANNEL_AVAILABLE = 0x01, /**<   BIP problem with no channel available           */
506         BIP_PROBLEM_CHANNEL_CLOSED = 0x02, /**< BIP problem with channel closed         */
507         BIP_PROBLEM_CHANNEL_ID_NOT_VALID = 0x03, /**<   BIP problem with channel id not valid           */
508         BIP_PROBLEM_BUF_SIZE_NOT_AVAILABLE = 0x04, /**< BIP problem with buffer size not available              */
509         BIP_PROBLEM_SECURITY_ERROR = 0x05, /**< BIP problem with security error         */
510         BIP_PRBLM_SIM_ME_IF_TRNSPRT_LEVEL_NOT_AVL = 0x06, /**<  BIP problem with SIM ME interface transport level not available         */
511         BIP_REMOTE_DEV_NOT_REACHABLE = 0x07, /**<       BIP problem with remote device not reachable            */
512         BIP_SERVICE_ERROR = 0x08, /**<  BIP service error               */
513         BIP_SERVICE_IDENTIFIER_UNKNOWN = 0x09 /**<      BIP service identifier unknown          */
514 };
515
516 /*
517  * 8.13 3GPP SMS TPDU
518  */
519 enum sms_tpdu_type{
520         SMS_TPDU_TYPE_DELIVER_TPDU      = 0,
521         SMS_TPDU_TYPE_DELIVER_RPT       = 1,
522         SMS_TPDU_TYPE_SUBMIT_TPDU       = 2,
523         SMS_TPDU_TYPE_SUBMIT_RPT        = 3,
524         SMS_TPDU_TYPE_STATUS_RPT        = 4,
525         SMS_TPDU_TYPE_TPDU_CMD          = 5
526 };
527
528 struct tel_sat_sms_tpdu{
529         enum sms_tpdu_type tpdu_type;
530         int data_len;
531         char data[SAT_SMS_TPDU_SMS_DATA_LEN_MAX];
532 };
533
534 /*
535  * 8.14 SS string
536  */
537 struct tel_sat_ss_string{
538         enum type_of_number ton;
539         enum numbering_plan_identifier npi;
540         unsigned char string_len;                                       /**< SS string length */
541         char ss_string[SAT_SS_STRING_LEN_MAX];  /**< SS stringr*/
542 };
543
544 /*
545  * 8.15 Text string
546  */
547 struct tel_sat_text_string_object{
548         int is_digit_only;
549         struct data_coding_scheme dcs;
550         int string_length;
551         char string[SAT_TEXT_STRING_LEN_MAX+1];
552 };
553
554 /*
555  * 8.16 TONE
556  */
557 enum tone_type{
558         // standard supervisory tones
559         DIAL_TONE = 0x01, /**<  TONE TYPE DIAL TONE             */
560         CALLED_SUBSCRIBER_BUSY = 0x02, /**<     TONE TYPE CALLED SUBSCRIBER BUSY                */
561         CONGESTION = 0x03, /**< TONE TYPE CONGESTION    */
562         RADIO_PATH_ACK = 0x04, /**<     TONE TYPE RADIO PATH ACK        */
563         RADIO_PATH_NOT_AVAILABLE_CALL_DROPPED = 0x05, /**<      TONE TYPE RADIO PATH NOT AVAILABLE CALL DROPPED */
564         ERR_SPECIAL_INFO = 0x06, /**<   TONE TYPE ERR SPECIAL INFO      */
565         CALL_WAITING_TONE = 0x07, /**<  TONE TYPE CALL WAITING TONE             */
566         RINGING_TONE = 0x08, /**<       TONE TYPE RINGING TONE  */
567
568         // ME proprietary tones
569         GENERAL_BEEP = 0x10, /**<       TONE TYPE GENERAL BEEP          */
570         POSITIVE_ACK_TONE = 0x11, /**<  TONE TYPE POSITIVE ACK TONE             */
571         NEGATIVE_ACK_OR_ERROR_TONE = 0x12, /**< TONE TYPE NEGATIVE ACK OR ERROR TONE            */
572         RINGING_TONE_SLCTD_BY_USR_FOR_INCOM_SPEECH_CALL = 0x13, /**<    TONE TYPE RINGING TONE SELECTED BY USER FOR INCOMING SPEECH CALL        */
573         ALERT_TONE_SELECTED_BY_USER_FOR_INCOMING_SMS = 0x14, /**<       TONE TYPE ALERT TONE SELECTED BY USER FOR INCOMING SMS          */
574         CRITICAL_ALERT = 0x15, /**<     TONE TYPE CRITICAL ALERT                */
575
576         //Themed tones
577         HAPPY_TONE = 0x30, /**< TONE TYPE HAPPY TONE            */
578         SAD_TONE = 0x31, /**<   TONE TYPE SAD TONE                      */
579         URGENT_ACTION_TONE = 0x32, /**< TONE TYPE URGENT ACTION TONE            */
580         QUESTION_TONE = 0x33, /**<      TONE TYPE QUESTION TONE         */
581         MESSAGE_RECEIVED_TONE = 0x34, /**<      TONE TYPE MESSAGE RECEIVED TONE         */
582
583         //Melody tones
584         MELODY_1 = 0x40, /**<   TONE TYPE MELODY 1              */
585         MELODY_2 = 0x41, /**<   TONE TYPE MELODY 2              */
586         MELODY_3 = 0x42, /**<   TONE TYPE MELODY 3              */
587         MELODY_4 = 0x43, /**<   TONE TYPE MELODY 4              */
588         MELODY_5 = 0x44, /**<   TONE TYPE MELODY 5              */
589         MELODY_6 = 0x45, /**<   TONE TYPE MELODY 6              */
590         MELODY_7 = 0x46, /**<   TONE TYPE MELODY 7              */
591         MELODY_8 = 0x47, /**<   TONE TYPE MELODY 8              */
592
593         TONE_TYPE_RESERVED = 0xFF /**<  TONE TYPE RESERVED              */
594 };
595
596 struct tel_sat_tone{
597         enum tone_type tone_type;
598 };
599
600 /*
601  * 8.17 USSD string
602  */
603 struct tel_sat_ussd_string{
604         struct data_coding_scheme dsc;
605         unsigned char string_len;                                       /**< USSD string length */
606         char ussd_string[SAT_USSD_STRING_LEN_MAX];      /**< USSD stringr*/
607 };
608
609 /*
610  * 8.18 File List
611  */
612 /* use enum tel_sim_file_id in sim.h*/
613
614 struct tel_sat_file_list{
615         int file_count;
616         enum tel_sim_file_id file_id[SAT_FILE_ID_LIST_MAX_COUNT];
617 };
618
619 /*
620  * 8.19 Location information
621  */
622 struct tel_sat_location_information{
623         char mcc[3+1];
624         char mnc[3+1];
625         char lac [4+1];
626         char cell_id[4+1];
627         char extended_cell_id[4+1];
628 };
629
630 /*
631  * 8.20 IMEI
632  */
633 struct tel_sat_imei{
634         char imei[8+1]; // length is defined by 8 in TS 102 223
635 };
636
637 /*
638  * 8.22 Network measurement results
639  */
640 struct tel_sat_network_measurement_results{
641         char nmr[10+1]; // length is defined by 10 in TS 102 223
642 };
643
644 /*
645  * 8.23 Default text
646  * It is the same as Text string(8.15)
647  */
648
649 /*
650  * 8.24 Items next action indicator
651  */
652 struct tel_sat_item_next_action_indicatior_list{
653         unsigned char cnt;
654         unsigned char indicator_list[SAT_ITEMS_NEXT_ACTION_INDI_LIST_MAX_COUNT];
655 };
656
657 /*
658  * 8.25 Event list
659  */
660 enum event_list{
661         EVENT_MT_CALL = 0,
662         EVENT_CALL_CONNECTED = 1,
663         EVENT_CALL_DISCONNECTED = 2,
664         EVENT_LOCATION_STATUS = 3,
665         EVENT_USER_ACTIVITY = 4, /**<   data download type - USER_ACTIVITY              */
666         EVENT_IDLE_SCREEN_AVAILABLE = 5, /**<   data download type - IDLE SCREEN AVAILABLE              */
667         EVENT_CARD_READER_STATUS = 6,
668         EVENT_LANGUAGE_SELECTION = 7, /**<      data download type - LANGUAGE SELECTION         */
669         EVENT_BROWSER_TERMINATION = 8, /**<     data download type - BROWSER TERMINATION                */
670         EVENT_DATA_AVAILABLE = 9, /**<  data download type -DATA AVAILABLE              */
671         EVENT_CHANNEL_STATUS = 0x0A, /**<       data download type - CHANNEL STATUS             */
672         EVENT_ACCESS_TECHNOLOGY_CHANGED = 0x0B,
673         EVENT_DISPLAY_PARAMETERS_CHANGED = 0x0C,
674         EVENT_LOCAL_CONNECTION = 0x0D,
675         EVENT_NW_SEARCH_MODE_CHANGED = 0X0E,
676         EVENT_BROWSING_STATUS = 0X0F,
677         EVENT_FRAMES_INFORMATION_CHANGED = 0X10,
678         EVENT_RESERVED_FOR_3GPP = 0X11,
679         EVENT_UNKNOWN = 0xFF /**<       data download type - unknown            */
680 };
681
682 struct tel_sat_event_list{
683         int event_list_cnt;
684         enum event_list evt_list[SAT_EVENT_LIST_MAX];
685 };
686
687 /*
688  * 8.42 BC repeat indicator
689  */
690 enum bc_repeat_indi_type{
691         BC_REPEAT_INDI_ALTERNATE_MODE = 0x01, /**<      BC REPEAT ALTERNATE MODE                */
692         BC_REPEAT_INDI_SEQUENTIAL_MODE = 0x03, /**<     BC REPEAT SEQUENTIAL MODE               */
693         BC_REPEAT_INDI_RESERVED = 0xFF /**<     RESERVED        */
694 };
695
696 struct tel_sat_repeat_indicator_type{
697         enum bc_repeat_indi_type bc_indi_repeat_type;
698 };
699
700 /*
701  * 8.30 Call control requested action
702  */
703 struct tel_sat_call_ctrl_req_action{
704         struct tel_sat_address address;
705         struct tel_sat_ccp ccp1;
706         struct tel_sat_subaddress sub_address;
707         struct tel_sat_alpha_identifier alpha_id;
708         struct tel_sat_repeat_indicator_type bc_repeat_type;
709         struct tel_sat_ccp ccp2;
710 };
711
712 /*
713  * 8.31 Icon identifier
714  */
715 /*enum img_coding_scheme{
716         IMAGE_CODING_SCHEME_BASIC = 0x11,
717         IMAGE_CODING_SCHEME_COLOUR = 0x21,
718         IMAGE_CODING_SCHEME_RESERVED = 0xFF
719 };*/
720
721 enum icon_qualifier{
722         ICON_QUALI_SELF_EXPLANATORY = 0,
723         ICON_QUALI_NOT_SELF_EXPLANATORY = 1,
724         ICON_QUALI_RESERVED = 0xFF
725 };
726
727 struct tel_sat_icon{
728         unsigned char width;
729         unsigned char height;
730         enum img_coding_scheme ics;
731         unsigned short icon_data_len;
732         unsigned short clut_data_len;
733         char icon_file[SAT_IMG_DATA_FILE_PATH_LEN_MAX];
734         char clut_file[SAT_IMG_DATA_FILE_PATH_LEN_MAX];
735 };
736
737 struct tel_sat_icon_identifier{
738         gboolean is_exist;
739         enum icon_qualifier icon_qualifer;
740         unsigned char icon_identifier;
741         struct tel_sat_icon icon_info;
742 };
743
744 /*
745  * 8.32 Item icon identifier next_action_indicator_list
746  */
747 struct tel_sat_icon_identifier_list{
748         gboolean is_exist;
749         enum icon_qualifier icon_qualifer;
750         unsigned char icon_cnt;
751         unsigned char icon_id_list[SAT_ICON_LIST_MAX_COUNT];
752         struct tel_sat_icon icon_info[SAT_ICON_LIST_MAX_COUNT];
753 };
754
755 /*
756  * 8.39 date, time and timezone
757  */
758 struct tel_sat_date_time_and_timezone{
759         unsigned char year; /**<        year    */
760         unsigned char month; /**<       month   */
761         unsigned char day; /**< day     */
762         unsigned char hour; /**<        hour    */
763         unsigned char minute; /**<      minute  */
764         unsigned char second; /**<      second  */
765         unsigned char timeZone; /**<    timeZone        */
766 };
767
768 /*
769  * 8.44 DTMF string
770  */
771 struct tel_sat_dtmf_string{
772         int dtmf_length;
773         char dtmf_string[SAT_DTMF_STRING_LEN_MAX];
774 };
775
776 /*
777  * 8.45 Language
778  */
779 /*
780  * Refer enum tel_sim_language_type in sim.h
781  */
782
783 /*
784  * 8.47 Browser Identity
785  */
786 enum browser_identity{
787         BROWSER_ID_DEFAULT = 0, /**<    DEFAULT BROWSER         */
788         BROWSER_ID_WML, /**<    BROWSER WML     */
789         BROWSER_ID_HTML, /**<   BROWSER HTML    */
790         BROWSER_ID_XHTML, /**<  BROWSER XHTML   */
791         BROWSER_ID_CHTML, /**<  BROWSER CHTML   */
792         BROWSER_ID_RESERVED = 0xFF /**< RESERVED        */
793 };
794
795 /*
796  * 8.48 URL
797  * URL shall be coded as defined in RFC 1738 on using the "SMS 7bit default alphabet" with bit 8 set to 0.
798  */
799 struct tel_sat_url{
800         int url_length;
801         char url[SAT_URL_LEN_MAX];
802 };
803
804 /*
805  * 8.49 Bear
806  */
807 enum bearer_list_type{
808         BEARER_LIST_SMS = 0, /**<       BEARER SMS              */
809         BEARER_LIST_CSD = 1, /**<       BEARER CSD              */
810         BEARER_LIST_USSD = 2, /**<      BEARER USSD             */
811         BEARER_LIST_GPRS = 3, /**<      BEARER GPRS             */
812         BEARER_LIST_RESERVED = 0xFF /**<        BEARER RESERVED         */
813 };
814
815 struct tel_sat_bearer_list{
816         int count;
817         enum bearer_list_type bear[6];
818 };
819
820 /*
821  * 8.50 Provisioning file reference
822  */
823 struct tel_sat_provisioning_file_ref{
824         int file_path_length;
825         char file_path[SAT_PROVISIONING_FILE_PATH_LEN_MAX];
826 };
827
828
829 /*
830  * 8.51 Browser termination cause
831  */
832 enum browser_termination_cause{
833         BROWSER_TERMINATED_BY_USER = 0, /**<    BROWSER TERMINATED BY USER              */
834         BROWSER_TERMINATED_BY_ERROR = 1, /**<   BROWSER TERMINATED BY ERROR             */
835 };
836
837 /*
838  * 8.52 Bearer description
839  */
840 enum bearer_type{
841         BEARER_CSD = 0x1, /**<  BEARER DESC CSD         */
842         BEARER_GPRS = 0x2, /**< BEARER DESC GPRS                */
843         BEARER_DEFAULT_BEARER_FROM_TRANSPORT_LAYER = 0x3, /**<  BEARER DESC DEFAULT BEARER FROM TRANSPORT LAYER         */
844         BEARER_LOCAL_LINK_TECHNOLOGY_INDEPENDENT = 0x4, /**<    BEARER DESC LOCAL LINK TECHNOLOGY INDEPENDENT           */
845         BEARER_BLUETOOTH = 0x5, /**<    BEARER DESC BLUETOOTH   */
846         BEARER_IrDA = 0x6, /**< BEARER DESC IrDA        */
847         BEARER_RS232 = 0x7, /**<        BEARER DESC RS232       */
848         BEARER_USB = 0x10, /**< BEARER DESC USB */
849         BEARER_RESERVED = 0xFF /**<     RESERVED        */
850 };
851
852 enum bearer_param_cs_data_rate{
853         BIP_DR_AUTOBAUDING = 0, /**<    CSD data rate - AUTOBAUDING             */
854         BIP_DR_300BPS_V21 = 1, /**<     CSD data rate -300BPS V21               */
855         BIP_DR_1200BPS_V22 = 2, /**<    CSD data rate - 1200BPS V22             */
856         BIP_DR_1200_75BPS_V23 = 3, /**< CSD data rate -1200 75BPS V23                   */
857         BIP_DR_2400BPS_V22 = 4, /**<    CSD data rate -2400BPS V22              */
858         BIP_DR_2400BPS_V26 = 5, /**<    CSD data rate - 2400BPS V26                     */
859         BIP_DR_4800BPS_V32 = 6, /**<    CSD data rate - 4800BPS V32             */
860         BIP_DR_9600BPS_V32 = 7, /**<    CSD data rate - 9600BPS V32             */
861         BIP_DR_9600BPS_V34 = 12, /**<   CSD data rate - 9600BPS_V34             */
862         BIP_DR_14400BPS_V34 = 14, /**<  CSD data rate -14400BPS V34             */
863         BIP_DR_19200BPS_V34 = 15, /**<  CSD data rate -19200BPS V34             */
864         BIP_DR_28800BPS_V34 = 16, /**<  CSD data rate -28800BPS V34             */
865         BIP_DR_33600BPS_V34 = 17, /**<  CSD data rate -33600BPS V34             */
866         BIP_DR_1200BPS_V120 = 34, /**<  CSD data rate -1200BPS V120             */
867         BIP_DR_2400BPS_V120 = 36, /**<  CSD data rate -2400BPS V120             */
868         BIP_DR_4800BPS_V120 = 38, /**<  CSD data rate -4800BPS V120             */
869         BIP_DR_9600BPS_V120 = 39, /**<  CSD data rate -9600BPS V120             */
870         BIP_DR_14400BPS_V120 = 43, /**< CSD data rate -14400BPS V120            */
871         BIP_DR_19200BPS_V120 = 47, /**< CSD data rate -19200BPS V120            */
872         BIP_DR_28800BPS_V120 = 48, /**< CSD data rate -28800BPS V120            */
873         BIP_DR_38400BPS_V120 = 49, /**< CSD data rate -38400BPS V120            */
874         BIP_DR_48000BPS_V120 = 50, /**< CSD data rate -48000BPS V120            */
875         BIP_DR_56000BPS_V120 = 51, /**< CSD data rate -56000BPS V120            */
876         BIP_DR_300BPS_V110 = 65, /**<   CSD data rate - 300BPS V110             */
877         BIP_DR_1200BPS_V110 = 66, /**<  CSD data rate -1200BPS V110             */
878         BIP_DR_2400BPS_V110_OR_X31_FALG_STUFFING = 68, /**<     CSD data rate - 2400BPS V110 OR X31 FALG STUFFING               */
879         BIP_DR_4800BPS_V110_OR_X31_FALG_STUFFING = 70, /**<     CSD data rate - 4800BPS V110 OR X31 FALG STUFFING               */
880         BIP_DR_9600BPS_V110_OR_X31_FALG_STUFFING = 71, /**<     CSD data rate - 9600BPS V110 OR X31 FALG STUFFING               */
881         BIP_DR_14400BPS_V110_OR_X31_FALG_STUFFING = 75, /**<    CSD data rate - 14400BPS V110 OR X31 FALG STUFFING              */
882         BIP_DR_19200BPS_V110_OR_X31_FALG_STUFFING = 79, /**<    CSD data rate -19200BPS V110 OR X31 FALG STUFFING               */
883         BIP_DR_28800BPS_V110_OR_X31_FALG_STUFFING = 80, /**<    CSD data rate -28800BPS V110 OR X31 FALG STUFFING               */
884         BIP_DR_38400BPS_V110_OR_X31_FALG_STUFFING = 81, /**<    CSD data rate -38400BPS V110 OR X31 FALG STUFFING               */
885         BIP_DR_48000BPS_V110_OR_X31_FALG_STUFFING = 82, /**<    CSD data rate -48000BPS V110 OR X31 FALG STUFFING               */
886         BIP_DR_56000BPS_V110_OR_X31_FALG_STUFFING = 83, /**<    CSD data rate -56000BPS V110 OR X31 FALG STUFFING               */
887         BIP_DR_64000BPS = 84, /**<      CSD data rate -64000BPS         */
888         BIP_DR_56000BPS_BIT_TRANSPERENT = 115, /**<     CSD data rate -56000BPS BIT TRANSPERENT         */
889         BIP_DR_64000BPS_BIT_TRANSPERENT = 116, /**<     CSD data rate -64000BPS BIT TRANSPERENT         */
890         BIP_DR_32000BPS_PIAFS32K = 120, /**<    CSD data rate -32000BPS PIAFS32K                */
891         BIP_DR_64000BPS_PIAFS64K = 121, /**<    CSD data rate - 64000BPS PIAFS64K               */
892         BIP_DR_28800BPS_MULTIMEDIA = 130, /**<  CSD data rate -28800BPS MULTIMEDIA              */
893         BIP_DR_32000BPS_MULTIMEDIA = 131, /**<  CSD data rate -32000BPS MULTIMEDIA              */
894         BIP_DR_33600BPS_MULTIMEDIA = 132, /**<  CSD data rate - 33600BPS MULTIMEDIA             */
895         BIP_DR_56000BPS_MULTIMEDIA = 133, /**<  CSD data rate -56000BPS MULTIMEDIA              */
896         BIP_DR_64000BPS_MULTIMEDIA = 134 /**<   CSD data rate -64000BPS MULTIMEDIA              */
897 };
898
899 enum bearer_param_cs_service_type{
900         BIP_CSD_BS_DATA_CIRCUIT_ASYNC_UDI = 0, /**<     CSD Bearer service - DATA CIRCUIT ASYNCHRONOUS UDI              */
901         BIP_CSD_BS_DATA_CIRCUIT_SYNC = 1, /**<  CSD Bearer service - DATA CIRCUIT SYNCHRONOUS UDI               */
902         BIP_CSD_BS_PAD_ACCESS_ASYNC_UDI = 2, /**<       CSD Bearer service - PAD ACCESS ASYNCHRONOUS UDI                        */
903         BIP_CSD_BS_PACKET_ACCESS_SYNC = 3, /**< CSD Bearer service - PACKET ACCESS SYNCHRONOUS UDI              */
904         BIP_CSD_BS_DATA_CIRCUIT_ASYNC_RDI = 4, /**<     CSD Bearer service - DATA CIRCUIT ASYNCHRONOUS RDI              */
905         BIP_CSD_BS_DATA_CIRCUIT_SYNC_RDI = 5, /**<      CSD Bearer service - DATA CIRCUIT SYNCHRONOUS RDI               */
906         BIP_CSD_BS_PAD_ACCESS_ASYNC_RDI = 6, /**<       CSD Bearer service - PAD ACCESS ASYNCHRONOUS RDI                */
907         BIP_CSD_BS_PACKET_ACCESS_SYNC_RDI = 7 /**<      CSD Bearer service - PACKET ACCESS SYNCHRONOUS RDI              */
908 };
909
910 enum bearer_param_cs_connection_element_type{
911         BIP_CSD_CONN_ELEM_TRANSPARENT = 0, /**< CSD connection element - TRANSPARENT            */
912         BIP_CSD_CONN_ELEM_NON_TRANSPARENT = 1, /**<     CSD connection element - NON TRANSPARENT                */
913         BIP_CSD_CONN_ELEM_BOTH_TRANSPARENT_PREF = 2, /**<       CSD connection element -BOTH TRANSPARENT PREFFERED              */
914         BIP_CSD_CONN_ELEM_BOTH_NON_TRANSPARENT_PREF = 3 /**<    CSD connection element -  NON TRANSPARENT PREFFERED             */
915 };
916
917 struct tel_sat_bearer_param_cs_bearer{
918         enum bearer_param_cs_data_rate data_rate;
919         enum bearer_param_cs_service_type service_type;
920         enum bearer_param_cs_connection_element_type connection_element_type;
921 };
922
923 enum bearer_param_ps_precedence_class{
924         BIP_GPRS_PRECED_CLASS_HIGH_PRIORITY = 0x01, /**<        GPRS precedence class -HIGH PRIORITY            */
925         BIP_GPRS_PRECED_CLASS_NORM_PRIORITY = 0x02, /**<        GPRS precedence class -NORM PRIORITY            */
926         BIP_GPRS_PRECED_CLASS_LOW_PRIORITY = 0x03 /**<  GPRS precedence class - LOW PRIORITY            */
927 };
928
929 enum bearer_param_ps_delay_class{
930         BIP_GPRS_DELAY_CLASS_1 = 0x01, /**<     GPRS delay class - 1            */
931         BIP_GPRS_DELAY_CLASS_2 = 0x02, /**<     GPRS delay class -      2       */
932         BIP_GPRS_DELAY_CLASS_3 = 0x03, /**<     GPRS delay class -      3       */
933         BIP_GPRS_DELAY_CLASS_4 = 0x04 /**<      GPRS delay class - 4            */
934 };
935
936 enum bearer_param_ps_reliability_class{
937         BIP_GPRS_RELIABILITY_CLASS_1 = 0x01, /**<       GPRS Reliability class -1               */
938         BIP_GPRS_RELIABILITY_CLASS_2 = 0x02, /**<       GPRS Reliability class -2               */
939         BIP_GPRS_RELIABILITY_CLASS_3 = 0x03, /**<       GPRS Reliability class -3               */
940         BIP_GPRS_RELIABILITY_CLASS_4 = 0x04, /**<       GPRS Reliability class -4               */
941         BIP_GPRS_RELIABILITY_CLASS_5 = 0x05 /**<        GPRS Reliability class -5               */
942 };
943
944 enum bearer_param_ps_peak_throughput_class{
945         BIP_GPRS_PEAK_THROUGHPUT_CLASS_UPTO_8KBPS = 0x01, /**<  GPRS peak throughput class- UPTO 8KBPS          */
946         BIP_GPRS_PEAK_THROUGHPUT_CLASS_UPTO_16KBPS = 0x02, /**< GPRS peak throughput class- UPTO 16KBPS         */
947         BIP_GPRS_PEAK_THROUGHPUT_CLASS_UPTO_32KBPS = 0x03, /**< GPRS peak throughput class-UPTO 32KBPS          */
948         BIP_GPRS_PEAK_THROUGHPUT_CLASS_UPTO_64KBPS = 0x04, /**< GPRS peak throughput class-UPTO 64KBPS          */
949         BIP_GPRS_PEAK_THROUGHPUT_CLASS_UPTO_128KBPS = 0x05, /**<        GPRS peak throughput class- UPTO 128KBPS                        */
950         BIP_GPRS_PEAK_THROUGHPUT_CLASS_UPTO_256KBPS = 0x06, /**<        GPRS peak throughput class- UPTO 256KBPS                        */
951         BIP_GPRS_PEAK_THROUGHPUT_CLASS_UPTO_512KBPS = 0x07, /**<        GPRS peak throughput class- UPTO 512KBPS                */
952         BIP_GPRS_PEAK_THROUGHPUT_CLASS_UPTO_1024KBPS = 0x08, /**<       GPRS peak throughput class-UPTO 1024KBPS                */
953         BIP_GPRS_PEAK_THROUGHPUT_CLASS_UPTO_2048KBPS = 0x09 /**<        GPRS peak throughput class- UPTO 2048KBPS               */
954 };
955
956 enum bearer_param_ps_mean_throughput_class{
957         BIP_GPRS_MEAN_THROUGHPUT_CLASS_DOT_22_BPS = 0x01, /**<  GPRS mean throughput class - DOT 22 BPS         */
958         BIP_GPRS_MEAN_THROUGHPUT_CLASS_DOT_44_BPS = 0x02, /**<  GPRS mean throughput class - DOT 44 BPS         */
959         BIP_GPRS_MEAN_THROUGHPUT_CLASS_1_DOT_11_BPS = 0x03, /**<        GPRS mean throughput class -1 DOT 11 BPS                */
960         BIP_GPRS_MEAN_THROUGHPUT_CLASS_2_DOT_2_BPS = 0x04, /**< GPRS mean throughput class -2 DOT 2 BPS         */
961         BIP_GPRS_MEAN_THROUGHPUT_CLASS_2_DOT_4_BPS = 0x05, /**< GPRS mean throughput class -2 DOT 4 BPS         */
962         BIP_GPRS_MEAN_THROUGHPUT_CLASS_11_DOT_1_BPS = 0x06, /**<        GPRS mean throughput class - 11 DOT 1 BPS               */
963         BIP_GPRS_MEAN_THROUGHPUT_CLASS_22BPS = 0x07, /**<       GPRS mean throughput class -22BPS               */
964         BIP_GPRS_MEAN_THROUGHPUT_CLASS_44BPS = 0x08, /**<       GPRS mean throughput class - 44BPS              */
965         BIP_GPRS_MEAN_THROUGHPUT_CLASS_111BPS = 0x09, /**<      GPRS mean throughput class - 111BPS             */
966         BIP_GPRS_MEAN_THROUGHPUT_CLASS_DOT_22_KBPS = 0x0A, /**< GPRS mean throughput class - DOT 22 KBPS                */
967         BIP_GPRS_MEAN_THROUGHPUT_CLASS_DOT_44_KBPS = 0x0B, /**< GPRS mean throughput class -DOT 44 KBPS         */
968         BIP_GPRS_MEAN_THROUGHPUT_CLASS_1_DOT_11_KBPS = 0x0C, /**<       GPRS mean throughput class -1 DOT 11 KBPS               */
969         BIP_GPRS_MEAN_THROUGHPUT_CLASS_2_DOT_2_KBPS = 0x0D, /**<        GPRS mean throughput class -2 DOT 2 KBPS                */
970         BIP_GPRS_MEAN_THROUGHPUT_CLASS_4_DOT_4_KBPS = 0x0E, /**<        GPRS mean throughput class - 4 DOT 4 KBPS               */
971         BIP_GPRS_MEAN_THROUGHPUT_CLASS_11_DOT_1_KBPS = 0x0F, /**<       GPRS mean throughput class -11 DOT 1 KBPS               */
972         BIP_GPRS_MEAN_THROUGHPUT_CLASS_22KBPS = 0x10, /**<      GPRS mean throughput class - 22KBPS             */
973         BIP_GPRS_MEAN_THROUGHPUT_CLASS_44KBPS = 0x11, /**<      GPRS mean throughput class - 44KBPS             */
974         BIP_GPRS_MEAN_THROUGHPUT_CLASS_111KBPS = 0x12, /**<     GPRS mean throughput class -111KBPS             */
975         BIP_GPRS_MEAN_THROUGHPUT_CLASS_BEST_EFFORT = 0x13 /**<  GPRS mean throughput class - BEST EFFORT                */
976 };
977
978 enum bearer_param_ps_pdp_type{
979         BIP_GPRS_PDP_TYPE_IP = 0x02, /**<       bearer parameter GPRS pdp type - IP             */
980         BIP_GPRS_PDP_TYPE_RESERVED = 0xff /**<  reserved                */
981 };
982
983 struct tel_sat_bearer_param_ps_bearer{
984         enum bearer_param_ps_precedence_class precedence_class;
985         enum bearer_param_ps_delay_class delay_class;
986         enum bearer_param_ps_reliability_class reliability_class;
987         enum bearer_param_ps_peak_throughput_class peak_throughput_class;
988         enum bearer_param_ps_mean_throughput_class mean_throughput_class;
989         enum bearer_param_ps_pdp_type pdp_type;
990 };
991
992 enum bearer_param_local_link_service_type{
993         BIP_LL_SERVICE_IDENT_VALUE_ASSIGNED_BY_USIM = 0x00, /**<        local links service identity - value assigned by USIM           */
994         BIP_LL_SERVICE_IDENT_VALUE_ASSIGNED_BY_REMOTED_DEVICE = 0xFF /**<       local links service identity - value assigned by remote service */
995 };
996
997 struct tel_sat_bearer_param_local_link_bearer{
998         enum bearer_param_local_link_service_type service_type;
999         char service_record[SAT_BEARER_PARAMS_LEN_MAX];
1000 };
1001
1002 struct tel_sat_bearer_description{
1003         enum bearer_type bearer_type;
1004         union{
1005                 struct tel_sat_bearer_param_cs_bearer cs_bearer_param;
1006                 struct tel_sat_bearer_param_ps_bearer ps_bearer_param;
1007                 struct tel_sat_bearer_param_local_link_bearer local_link_bearer_param;
1008         }bearer_parameter;
1009 };
1010
1011 /*
1012  * 8.53 Channel data
1013  */
1014 struct tel_sat_channel_data{
1015         unsigned char data_string_len; /**<     channel data string length      */
1016         char    data_string[SAT_CHANNEL_DATA_STRING_LEN_MAX];
1017 };
1018
1019 /*
1020  * 8.54 Channel data length
1021  */
1022 struct tel_sat_channel_data_len{
1023         unsigned char data_len; /**<    channel data length     */
1024 };
1025
1026
1027 /*
1028  * 8.55 Buffer size
1029  */
1030 struct tel_sat_buffer_size{
1031         unsigned char size[2]; /**<     channel data buffer size        */
1032 };
1033
1034 /*
1035  * 8.56 Channel status
1036  */
1037 enum channel_status{
1038         link_or_packet_service_not_activated,
1039         link_or_packet_service_activated
1040 };
1041
1042 enum channel_status_info{
1043         no_futher_info = 0x00,
1044         link_dropped = 0x05
1045 };
1046
1047 struct tel_sat_channel_status{
1048         unsigned char channel_id;
1049         enum channel_status status;
1050         enum channel_status_info status_info;
1051 };
1052
1053 /*
1054  * 8.58 Other Address
1055  */
1056 enum address_type{
1057         ADDR_TYPE_IPv4 = 0x21, /**<     address type - IPv4     */
1058         ADDR_TYPE_IPv6 = 0x57, /**<     address type - IPv6     */
1059         ADDR_RESERVED = 0xFF /**<       reserved                */
1060 };
1061
1062 struct tel_sat_other_address{
1063         enum address_type address_type; /**<    channel address type    */
1064         unsigned char address_len; /**< channel address length  */
1065         char address[SAT_OTHER_ADDR_LEN_MAX]; /**<      channel address */
1066 };
1067
1068 /*
1069  * 8.59 UICC/terminal interface transport level
1070  */
1071 enum transport_protocol_type{
1072         TP_TYPE_UDP_UICC_CLIENT = 0x01, /**<    transport protocol type- UDP UICC CLIENT        */
1073         TP_TYPE_TCP_UICC_CLIENT = 0x02, /**<    transport protocol type-TCP UICC CLIENT */
1074         TP_TYPE_TCP_UICC_SERVER = 0x03 /**<     transport protocol type- TCP UICC SERVER        */
1075 };
1076
1077 struct tel_sat_uicc_terminal_interface_transport_level{
1078         enum transport_protocol_type protocol_type;
1079         unsigned short port_number;
1080 };
1081
1082 /*
1083  * 8.68 Remote entity address
1084  */
1085 enum remote_entity_coding_type{
1086         REMOTE_ENTITY_ADDR_CODING_TYPE_IEEE802_48BIT = 0, /**<  remote entity address coding type- IEEE802 48BIT                */
1087         REMOTE_ENTITY_ADDR_CODING_TYPE_IRDA_32BIT = 1, /**<     remote entity address coding type- IRDA 32BIT           */
1088         REMOTE_ENTITY_ADDR_CODING_TYPE_RESERVED = 0xFF /**<     reserved                */
1089 };
1090
1091 struct tel_sat_remote_entity_address{
1092         enum remote_entity_coding_type coding_type;
1093         unsigned short length;
1094         unsigned char remote_entity_address[SAT_REMOTE_ENTITY_ADDR_LEN_MAX];
1095 };
1096
1097 /*
1098  * 8.70 Network access name
1099  */
1100 struct tel_sat_network_access_name{
1101         unsigned short length;
1102         unsigned char network_access_name[SAT_NET_ACC_NAM_LEN_MAX];
1103 };
1104
1105 /*
1106  * 8.72 Text attribute
1107  */
1108 struct tel_sat_text_attribute{
1109         gboolean b_txt_attr;
1110         unsigned char text_formatting[4];
1111 };
1112
1113 /*
1114  * 8.73 Item text attribute list
1115  */
1116 struct tel_sat_text_attribute_list{
1117         unsigned int list_cnt;
1118         struct tel_sat_text_attribute text_attribute_list[SAT_ITEM_TEXT_ATTRIBUTES_LIST_MAX_COUNT];
1119 };
1120
1121 /*
1122  * 6.6 Structure of proactive UICC commands
1123  */
1124
1125 /*
1126  * 6.6.1 DISPLAY TEXT
1127  */
1128 struct tel_sat_display_text_tlv{
1129         struct tel_sat_cmd_detail_info command_detail;
1130         struct tel_sat_device_identities device_id;
1131         struct tel_sat_text_string_object text;
1132         struct tel_sat_icon_identifier icon_id;
1133         gboolean immediate_response_requested;
1134         struct tel_sat_duration duration;
1135         struct tel_sat_text_attribute text_attribute;
1136 };
1137
1138 /*
1139  * 6.6.2 GET INKEY
1140  */
1141 struct tel_sat_get_inkey_tlv{
1142         struct tel_sat_cmd_detail_info command_detail;
1143         struct tel_sat_device_identities device_id;
1144         struct tel_sat_text_string_object text;
1145         struct tel_sat_icon_identifier icon_id;
1146         struct tel_sat_duration duration;
1147         struct tel_sat_text_attribute text_attribute;
1148 };
1149
1150 /*
1151  * 6.6.3 GET INPUT
1152  */
1153 struct tel_sat_get_input_tlv{
1154         struct tel_sat_cmd_detail_info command_detail;
1155         struct tel_sat_device_identities device_id;
1156         struct tel_sat_text_string_object text;
1157         struct tel_sat_response_length rsp_len;
1158         struct tel_sat_text_string_object default_text;
1159         struct tel_sat_icon_identifier icon_id;
1160         struct tel_sat_text_attribute text_attribute;
1161 };
1162
1163 /*
1164  * 6.6.4 MORE TIME
1165  */
1166 struct tel_sat_more_time_tlv{
1167         struct tel_sat_cmd_detail_info command_detail;
1168         struct tel_sat_device_identities device_id;
1169 };
1170
1171 /*
1172  * 6.6.5 PLAY TONE
1173  */
1174 struct tel_sat_play_tone_tlv{
1175         struct tel_sat_cmd_detail_info command_detail;
1176         struct tel_sat_device_identities device_id;
1177         struct tel_sat_alpha_identifier alpha_id;
1178         struct tel_sat_tone tone;
1179         struct tel_sat_duration duration;
1180         struct tel_sat_icon_identifier icon_id;
1181         struct tel_sat_text_attribute text_attribute;
1182 };
1183
1184 /*
1185  * 6.6.7 SET-UP MENU
1186  */
1187 struct tel_sat_setup_menu_tlv{
1188         struct tel_sat_cmd_detail_info command_detail;
1189         struct tel_sat_device_identities device_id;
1190         struct tel_sat_alpha_identifier alpha_id;
1191         unsigned char menu_item_cnt;
1192         struct tel_sat_item_info menu_item[SAT_MENU_ITEM_COUNT_MAX];
1193         struct tel_sat_item_next_action_indicatior_list next_act_ind_list;
1194         struct tel_sat_icon_identifier icon_id;
1195         struct tel_sat_icon_identifier_list icon_list;
1196         struct tel_sat_text_attribute text_attribute;
1197         struct tel_sat_text_attribute_list text_attribute_list;
1198 };
1199
1200 /*
1201  * 6.6.8 SELECT ITEM
1202  */
1203 struct tel_sat_select_item_tlv{
1204         struct tel_sat_cmd_detail_info command_detail;
1205         struct tel_sat_device_identities device_id;
1206         struct tel_sat_alpha_identifier alpha_id;
1207         unsigned char menu_item_cnt;
1208         struct tel_sat_item_info menu_item[SAT_MENU_ITEM_COUNT_MAX];
1209         struct tel_sat_item_next_action_indicatior_list item_next_act_ind_list;
1210         struct tel_sat_item_identifier item_identifier;
1211         struct tel_sat_icon_identifier icon_id;
1212         struct tel_sat_icon_identifier_list icon_list;
1213         struct tel_sat_text_attribute text_attribute;
1214         struct tel_sat_text_attribute_list text_attribute_list;
1215         //frame identifier 8.80
1216 };
1217
1218 /*
1219  * 6.6.9 SEND SMS
1220  */
1221 struct tel_sat_send_sms_tlv{
1222         struct tel_sat_cmd_detail_info command_detail;
1223         struct tel_sat_device_identities device_id;
1224         struct tel_sat_alpha_identifier alpha_id;
1225         struct tel_sat_address address;
1226         struct tel_sat_sms_tpdu sms_tpdu;
1227         //CDMA-SMS TPDU 8.71
1228         struct tel_sat_icon_identifier icon_id;
1229         struct tel_sat_text_attribute text_attribute;
1230         //frame identifier 8.80
1231 };
1232
1233 /*
1234  * 6.6.10 SEND SS
1235  */
1236 struct tel_sat_send_ss_tlv{
1237         struct tel_sat_cmd_detail_info command_detail;
1238         struct tel_sat_device_identities device_id;
1239         struct tel_sat_alpha_identifier alpha_id;
1240         struct tel_sat_ss_string ss_string;
1241         struct tel_sat_icon_identifier icon_id;
1242         struct tel_sat_text_attribute text_attribute;
1243         //frame identifier 8.80
1244 };
1245
1246 /*
1247  * 6.6.11 SEND USSD
1248  */
1249 struct tel_sat_send_ussd_tlv{
1250         struct tel_sat_cmd_detail_info command_detail;
1251         struct tel_sat_device_identities device_id;
1252         struct tel_sat_alpha_identifier alpha_id;
1253         struct tel_sat_ussd_string ussd_string;
1254         struct tel_sat_icon_identifier icon_id;
1255         struct tel_sat_text_attribute text_attribute;
1256         //frame identifier 8.80
1257 };
1258
1259 /*
1260  * 6.6.12 SETUP CALL
1261  */
1262 struct tel_sat_setup_call_tlv{
1263         struct tel_sat_cmd_detail_info command_detail;
1264         struct tel_sat_device_identities device_id;
1265         struct tel_sat_address address;
1266         struct tel_sat_ccp ccp;
1267         struct tel_sat_subaddress subaddress;
1268         struct tel_sat_duration duration;
1269         struct tel_sat_alpha_identifier user_confirm_alpha_id;
1270         struct tel_sat_icon_identifier user_confirm_icon_id;
1271         struct tel_sat_alpha_identifier call_setup_alpha_id;
1272         struct tel_sat_icon_identifier call_setup_icon_id;
1273         struct tel_sat_text_attribute user_confirm_text_attribute;
1274         struct tel_sat_text_attribute call_setup_text_attribute;
1275         //frame identifier 8.80
1276 };
1277
1278 /*
1279  * 6.6.13 REFRESH
1280  */
1281 struct tel_sat_refresh_tlv{
1282         struct tel_sat_cmd_detail_info command_detail;
1283         struct tel_sat_device_identities device_id;
1284         struct tel_sat_file_list file_list;
1285         char aid[16]; // 8.60 AID - length is 16 byte, Refer TS 101.220
1286 };
1287
1288 /*
1289  * 6.6.15 PROVIDE LOCAL INFORMATION
1290  */
1291 struct tel_sat_provide_local_info_tlv{
1292         struct tel_sat_cmd_detail_info command_detail;
1293         struct tel_sat_device_identities device_id;
1294 };
1295
1296 /*
1297  * 6.6.16 SETUP EVENT LIST
1298  */
1299 struct tel_sat_setup_event_list_tlv{
1300         struct tel_sat_cmd_detail_info command_detail;
1301         struct tel_sat_device_identities device_id;
1302         struct tel_sat_event_list event_list;
1303 };
1304
1305 /*
1306  * 6.6.22 SETUP IDLE MODE TEXT
1307  */
1308 struct tel_sat_setup_idle_mode_text_tlv{
1309         struct tel_sat_cmd_detail_info command_detail;
1310         struct tel_sat_device_identities device_id;
1311         struct tel_sat_text_string_object text;
1312         struct tel_sat_icon_identifier icon_id;
1313         struct tel_sat_text_attribute text_attribute;
1314 };
1315
1316 /*
1317  * 6.6.24 SEND DTMF
1318  */
1319 struct tel_sat_send_dtmf_tlv{
1320         struct tel_sat_cmd_detail_info command_detail;
1321         struct tel_sat_device_identities device_id;
1322         struct tel_sat_alpha_identifier alpha_id;
1323         struct tel_sat_dtmf_string dtmf_string;
1324         struct tel_sat_icon_identifier icon_id;
1325         struct tel_sat_text_attribute text_attribute;
1326 };
1327
1328 /*
1329  * 6.6.25 LANGUAGE NOTIFICATION
1330  */
1331 struct tel_sat_language_notification_tlv{
1332         struct tel_sat_cmd_detail_info command_detail;
1333         struct tel_sat_device_identities device_id;
1334         enum tel_sim_language_type language;
1335 };
1336
1337 /*
1338  * 6.6.26 LAUNCH BROWSER
1339  */
1340 struct tel_sat_launch_browser_tlv{
1341         struct tel_sat_cmd_detail_info command_detail;
1342         struct tel_sat_device_identities device_id;
1343         enum browser_identity browser_id;
1344         struct tel_sat_url url;
1345         struct tel_sat_bearer_list bearer;
1346         int file_ref_count;
1347         struct tel_sat_provisioning_file_ref file_list[SAT_PROVISIONING_REF_MAX_COUNT];
1348         struct tel_sat_text_string_object gateway_proxy_text;
1349         struct tel_sat_alpha_identifier user_confirm_alpha_id;
1350         struct tel_sat_icon_identifier user_confirm_icon_id;
1351         struct tel_sat_text_attribute user_confirm_text_attribute;
1352         //frame identifier 8.80
1353 };
1354
1355 /*
1356  * 6.6.27 OPEN CHANNEL
1357  */
1358 struct tel_sat_open_channel_cs_bearer{
1359         struct tel_sat_address address;
1360         struct tel_sat_subaddress subaddress;
1361         struct tel_sat_duration duration1;
1362         struct tel_sat_duration duration2;
1363         struct tel_sat_other_address other_address;
1364         struct tel_sat_text_string_object text_user_login;
1365         struct tel_sat_text_string_object text_user_pwd;
1366 };
1367
1368 struct tel_sat_open_channel_packet_data_service_bearer{
1369         struct tel_sat_network_access_name network_access_name;
1370         struct tel_sat_other_address other_address;
1371         struct tel_sat_text_string_object text_user_login;
1372         struct tel_sat_text_string_object text_user_pwd;
1373 };
1374
1375 struct tel_sat_open_channel_local_bearer{
1376         struct tel_sat_duration duration1;
1377         struct tel_sat_duration duration2;
1378         struct tel_sat_text_string_object text_user_pwd;
1379         struct tel_sat_remote_entity_address remote_entity_address;
1380 };
1381
1382 struct tel_sat_open_channel_default_bearer{
1383         struct tel_sat_other_address other_address;
1384         struct tel_sat_text_string_object text_user_login;
1385         struct tel_sat_text_string_object text_user_pwd;
1386 };
1387
1388 struct tel_sat_open_channel_tlv{
1389         struct tel_sat_cmd_detail_info command_detail;
1390         struct tel_sat_device_identities device_id;
1391         struct tel_sat_alpha_identifier alpha_id;
1392         struct tel_sat_icon_identifier icon_id;
1393         struct tel_sat_bearer_description bearer_desc;
1394         struct tel_sat_buffer_size buffer_size;
1395         struct tel_sat_uicc_terminal_interface_transport_level interface_transport_level;
1396         struct tel_sat_other_address data_destination_address;
1397         struct tel_sat_text_attribute text_attribute;
1398         //frame identifier 8.80
1399         union{
1400                 struct tel_sat_open_channel_cs_bearer cs_bearer;
1401                 struct tel_sat_open_channel_packet_data_service_bearer ps_bearer;
1402                 struct tel_sat_open_channel_local_bearer local_bearer;
1403                 struct tel_sat_open_channel_default_bearer default_bearer;
1404         }bearer_detail;
1405 };
1406
1407 /*
1408  * 6.6.28 CLOSE CHANNEL
1409  */
1410 struct tel_sat_close_channel_tlv{
1411         struct tel_sat_cmd_detail_info command_detail;
1412         struct tel_sat_device_identities device_id;
1413         struct tel_sat_alpha_identifier alpha_id;
1414         struct tel_sat_icon_identifier icon_id;
1415         struct tel_sat_text_attribute text_attribute;
1416 };
1417
1418 /*
1419  * 6.6.29 RECEIVE DATA
1420  */
1421 struct tel_sat_receive_channel_tlv{
1422         struct tel_sat_cmd_detail_info command_detail;
1423         struct tel_sat_device_identities device_id;
1424         struct tel_sat_alpha_identifier alpha_id;
1425         struct tel_sat_icon_identifier icon_id;
1426         struct tel_sat_channel_data_len channel_data_len;
1427         struct tel_sat_text_attribute text_attribute;
1428 };
1429
1430 /*
1431  * 6.6.30 SEND DATA
1432  */
1433 struct tel_sat_send_channel_tlv{
1434         struct tel_sat_cmd_detail_info command_detail;
1435         struct tel_sat_device_identities device_id;
1436         struct tel_sat_alpha_identifier alpha_id;
1437         struct tel_sat_icon_identifier icon_id;
1438         struct tel_sat_channel_data channel_data;
1439         struct tel_sat_text_attribute text_attribute;
1440 };
1441
1442 /*
1443  * 6.6.31 GET CHANNEL STATUS
1444  */
1445 struct tel_sat_get_channel_status_tlv{
1446         struct tel_sat_cmd_detail_info command_detail;
1447         struct tel_sat_device_identities device_id;
1448 };
1449
1450 /*
1451  * 6.6.XX UNSUPPORTED CMD
1452  */
1453 struct tel_sat_unsupproted_command_tlv{
1454         struct tel_sat_cmd_detail_info command_detail;
1455         struct tel_sat_device_identities device_id;
1456 };
1457
1458 /*
1459  * CoreObject
1460  * Structure of Req. Rsp. Noti.
1461  */
1462
1463 /*
1464  * Define SAT Request structure
1465  */
1466 enum sat_envelop_sub_cmd{
1467         ENVELOP_MENU_SELECTION,
1468         ENVELOP_CALL_CONTROL,
1469         ENVELOP_TIMER_EXPIRATION,
1470         ENVELOP_EVENT_DOWNLOAD,
1471 };
1472
1473 struct tel_sat_envelop_menu_selection_tlv{
1474         struct tel_sat_device_identities device_identitie;
1475         struct tel_sat_item_identifier item_identifier;
1476         gboolean help_request;
1477 };
1478
1479 struct tel_sat_envelop_event_download_tlv{
1480         struct tel_sat_device_identities device_identitie;
1481         enum event_list event;
1482         gboolean idle_screen;
1483         enum tel_sim_language_type language;
1484         enum browser_termination_cause browser_termination;
1485         struct tel_sat_channel_status channel_status;
1486         struct tel_sat_channel_data_len channel_data_len;
1487 };
1488
1489 struct treq_sat_envelop_cmd_data{
1490         enum sat_envelop_sub_cmd sub_cmd;
1491         union{
1492                 struct tel_sat_envelop_menu_selection_tlv menu_select;
1493                 struct tel_sat_envelop_event_download_tlv event_download;
1494         }envelop_data;
1495 };
1496
1497 struct tel_sat_tr_display_text_tlv{
1498         struct tel_sat_cmd_detail_info command_detail;
1499         struct tel_sat_device_identities device_id;
1500         enum tel_sat_result_type result_type;
1501         enum tel_sat_me_problem_type me_problem_type;
1502 };
1503
1504 struct tel_sat_tr_get_inkey_tlv{
1505         struct tel_sat_cmd_detail_info command_detail;
1506         struct tel_sat_device_identities device_id;
1507         enum tel_sat_result_type result_type;
1508         enum tel_sat_me_problem_type me_problem_type;
1509         struct tel_sat_text_string_object text;
1510         struct tel_sat_duration duration;
1511 };
1512
1513 struct tel_sat_tr_get_input_tlv{
1514         struct tel_sat_cmd_detail_info command_detail;
1515         struct tel_sat_device_identities device_id;
1516         enum tel_sat_result_type result_type;
1517         enum tel_sat_me_problem_type me_problem_type;
1518         struct tel_sat_text_string_object text;
1519 };
1520
1521 struct tel_sat_tr_more_time_tlv{
1522         struct tel_sat_cmd_detail_info command_detail;
1523         struct tel_sat_device_identities device_id;
1524         enum tel_sat_result_type result_type;
1525         enum tel_sat_me_problem_type me_problem_type;
1526 };
1527
1528 struct tel_sat_tr_play_tone_tlv{
1529         struct tel_sat_cmd_detail_info command_detail;
1530         struct tel_sat_device_identities device_id;
1531         enum tel_sat_result_type result_type;
1532         enum tel_sat_me_problem_type me_problem_type;
1533 };
1534
1535 struct tel_sat_tr_refresh_tlv{
1536         struct tel_sat_cmd_detail_info command_detail;
1537         struct tel_sat_device_identities device_id;
1538         enum tel_sat_result_type result_type;
1539         enum tel_sat_me_problem_type me_problem_type;
1540 };
1541
1542 struct tel_sat_tr_setup_menu_tlv{
1543         struct tel_sat_cmd_detail_info command_detail;
1544         struct tel_sat_device_identities device_id;
1545         enum tel_sat_result_type result_type;
1546         enum tel_sat_me_problem_type me_problem_type;
1547 };
1548
1549 struct tel_sat_tr_select_item_tlv{
1550         struct tel_sat_cmd_detail_info command_detail;
1551         struct tel_sat_device_identities device_id;
1552         enum tel_sat_result_type result_type;
1553         enum tel_sat_me_problem_type me_problem_type;
1554         gboolean other_info;
1555         struct tel_sat_item_identifier item_identifier;
1556 };
1557
1558 struct tel_sat_tr_send_sms_tlv{
1559         struct tel_sat_cmd_detail_info command_detail;
1560         struct tel_sat_device_identities device_id;
1561         enum tel_sat_result_type result_type;
1562         enum tel_sat_me_problem_type me_problem_type;
1563         enum tel_sat_call_ctrl_problem_type cc_problem_type;
1564 };
1565
1566 struct tel_sat_tr_send_ss_tlv{
1567         struct tel_sat_cmd_detail_info command_detail;
1568         struct tel_sat_device_identities device_id;
1569         enum tel_sat_result_type result_type;
1570         enum tel_sat_me_problem_type me_problem_type;
1571         enum ss_problem_type ss_problem;
1572         gboolean other_info;
1573         enum tel_sat_call_ctrl_problem_type cc_problem_type;
1574         struct tel_sat_call_ctrl_req_action call_ctrl_req_act;
1575         enum tel_sat_result_type result_type2;
1576         struct tel_sat_text_string_object text;
1577 };
1578
1579 struct tel_sat_tr_send_ussd_tlv{
1580         struct tel_sat_cmd_detail_info command_detail;
1581         struct tel_sat_device_identities device_id;
1582         enum tel_sat_result_type result_type;
1583         enum tel_sat_me_problem_type me_problem_type;
1584         enum ussd_problem_type ussd_problem;
1585         gboolean other_info;
1586         gboolean call_ctrl_has_modification;
1587         enum tel_sat_call_ctrl_problem_type cc_problem_type;
1588         struct tel_sat_call_ctrl_req_action call_ctrl_req_act;
1589         enum tel_sat_result_type result_type2;
1590         struct tel_sat_text_string_object text;
1591         struct tel_sat_text_string_object text2;
1592 };
1593
1594 struct tel_sat_tr_setup_call_tlv{
1595         struct tel_sat_cmd_detail_info command_detail;
1596         struct tel_sat_device_identities device_id;
1597         enum tel_sat_result_type result_type;
1598         enum tel_sat_me_problem_type me_problem_type;
1599         gboolean other_info;
1600         enum network_problem_type network_problem_type;
1601         enum tel_sat_call_ctrl_problem_type cc_problem_type;
1602         struct tel_sat_call_ctrl_req_action call_ctrl_req_act;
1603         enum tel_sat_result_type result_type2;
1604         struct tel_sat_text_string_object text;
1605         gboolean tapi_cause;
1606         int tapi_call_level_cause;
1607         int tapi_ss_level_cause;
1608 };
1609
1610 struct tel_sat_tr_provide_local_info_tlv{
1611         struct tel_sat_cmd_detail_info command_detail;
1612         struct tel_sat_device_identities device_id;
1613         enum tel_sat_result_type result_type;
1614         enum tel_sat_me_problem_type me_problem_type;
1615         gboolean other_info;
1616         union {
1617                 struct tel_sat_location_information location_info;
1618                 struct tel_sat_imei imei;
1619                 struct tel_sat_network_measurement_results nmr;
1620                 struct tel_sat_date_time_and_timezone date_time_and_timezone;
1621                 enum tel_sim_language_type language;
1622         }other;
1623 };
1624
1625 struct tel_sat_tr_setup_event_list_tlv{
1626         struct tel_sat_cmd_detail_info command_detail;
1627         struct tel_sat_device_identities device_id;
1628         enum tel_sat_result_type result_type;
1629         enum tel_sat_me_problem_type me_problem_type;
1630 };
1631
1632 struct tel_sat_tr_setup_idle_mode_text_tlv{
1633         struct tel_sat_cmd_detail_info command_detail;
1634         struct tel_sat_device_identities device_id;
1635         enum tel_sat_result_type result_type;
1636         enum tel_sat_me_problem_type me_problem_type;
1637 };
1638
1639 struct tel_sat_tr_send_dtmf_tlv{
1640         struct tel_sat_cmd_detail_info command_detail;
1641         struct tel_sat_device_identities device_id;
1642         enum tel_sat_result_type result_type;
1643         enum tel_sat_me_problem_type me_problem_type;
1644 };
1645
1646 struct tel_sat_tr_language_notification_tlv{
1647         struct tel_sat_cmd_detail_info command_detail;
1648         struct tel_sat_device_identities device_id;
1649         enum tel_sat_result_type result_type;
1650         enum tel_sat_me_problem_type me_problem_type;
1651 };
1652
1653 struct tel_sat_tr_launch_browser_tlv{
1654         struct tel_sat_cmd_detail_info command_detail;
1655         struct tel_sat_device_identities device_id;
1656         enum tel_sat_result_type result_type;
1657         enum tel_sat_me_problem_type me_problem_type;
1658         enum browser_problem_type browser_problem_type;
1659 };
1660
1661 struct tel_sat_tr_open_channel_tlv{
1662         struct tel_sat_cmd_detail_info command_detail;
1663         struct tel_sat_device_identities device_id;
1664         enum tel_sat_result_type result_type;
1665         enum tel_sat_me_problem_type me_problem_type;
1666         enum bip_problem_type bip_problem_type;
1667         struct tel_sat_channel_status channel_status;
1668         struct tel_sat_bearer_description bearer_desc;
1669         struct tel_sat_buffer_size buffer_size;
1670         //struct tel_sat_other_address other_address; (uicc server mode)
1671 };
1672
1673 struct tel_sat_tr_close_channel_tlv{
1674         struct tel_sat_cmd_detail_info command_detail;
1675         struct tel_sat_device_identities device_id;
1676         enum tel_sat_result_type result_type;
1677         enum tel_sat_me_problem_type me_problem_type;
1678         enum bip_problem_type bip_problem_type;
1679 };
1680
1681 struct tel_sat_tr_send_data_tlv{
1682         struct tel_sat_cmd_detail_info command_detail;
1683         struct tel_sat_device_identities device_id;
1684         enum tel_sat_result_type result_type;
1685         enum tel_sat_me_problem_type me_problem_type;
1686         enum bip_problem_type bip_problem_type;
1687         struct tel_sat_channel_data_len channel_data_len;
1688 };
1689
1690 struct tel_sat_tr_receive_data_tlv{
1691         struct tel_sat_cmd_detail_info command_detail;
1692         struct tel_sat_device_identities device_id;
1693         enum tel_sat_result_type result_type;
1694         enum tel_sat_me_problem_type me_problem_type;
1695         enum bip_problem_type bip_problem_type;
1696         struct tel_sat_channel_data channel_data;
1697         struct tel_sat_channel_data_len channel_data_len;
1698 };
1699
1700 struct tel_sat_tr_get_channel_status_tlv{
1701         struct tel_sat_cmd_detail_info command_detail;
1702         struct tel_sat_device_identities device_id;
1703         enum tel_sat_result_type result_type;
1704         enum tel_sat_me_problem_type me_problem_type;
1705         enum bip_problem_type bip_problem_type;
1706         struct tel_sat_channel_status channel_status;
1707 };
1708
1709 struct tel_sat_tr_unsupport_command_tlv{
1710         struct tel_sat_cmd_detail_info command_detail;
1711         struct tel_sat_device_identities device_id;
1712         enum tel_sat_result_type result_type;
1713         enum tel_sat_me_problem_type me_problem_type;
1714 };
1715
1716 struct treq_sat_terminal_rsp_data{
1717         int cmd_number;
1718         enum tel_sat_proactive_cmd_type cmd_type;
1719         union{
1720                 struct tel_sat_tr_display_text_tlv display_text;
1721                 struct tel_sat_tr_get_inkey_tlv get_inkey;
1722                 struct tel_sat_tr_get_input_tlv get_input;
1723                 struct tel_sat_tr_more_time_tlv more_time;
1724                 struct tel_sat_tr_play_tone_tlv play_tone;
1725                 struct tel_sat_tr_refresh_tlv refresh;
1726                 struct tel_sat_tr_setup_menu_tlv setup_menu;
1727                 struct tel_sat_tr_select_item_tlv select_item;
1728                 struct tel_sat_tr_send_sms_tlv send_sms;
1729                 struct tel_sat_tr_send_ss_tlv send_ss;
1730                 struct tel_sat_tr_send_ussd_tlv send_ussd;
1731                 struct tel_sat_tr_setup_call_tlv setup_call;
1732                 struct tel_sat_tr_provide_local_info_tlv provide_local_info;
1733                 struct tel_sat_tr_setup_event_list_tlv setup_event_list;
1734                 struct tel_sat_tr_setup_idle_mode_text_tlv setup_idle_mode_text;
1735                 struct tel_sat_tr_send_dtmf_tlv send_dtmf;
1736                 struct tel_sat_tr_language_notification_tlv language_notification;
1737                 struct tel_sat_tr_launch_browser_tlv launch_browser;
1738                 struct tel_sat_tr_open_channel_tlv open_channel;
1739                 struct tel_sat_tr_close_channel_tlv close_channel;
1740                 struct tel_sat_tr_send_data_tlv send_data;
1741                 struct tel_sat_tr_receive_data_tlv receive_data;
1742                 struct tel_sat_tr_get_channel_status_tlv get_channel_status;
1743                 struct tel_sat_tr_unsupport_command_tlv unsupport_cmd;
1744         }terminal_rsp_data;
1745 };
1746
1747 struct treq_sat_user_confirmation_data{
1748         int user_conf;
1749         int icon_conf; /* Notice: Not being used for now*/
1750 };
1751
1752 /*
1753  * Define SAT Response structure
1754  */
1755 enum envelop_rsp{
1756         ENVELOPE_SUCCESS,       /**<    envelope result - success       */
1757         ENVELOPE_SIM_BUSY,      /**<    envelope result - USIM busy     */
1758         ENVELOPE_FAILED /**<    envelope result - failed        */
1759 };
1760
1761 struct tresp_sat_envelop_data{
1762         int result;
1763         enum sat_envelop_sub_cmd sub_cmd;
1764         enum envelop_rsp envelop_resp;
1765 };
1766
1767 /*
1768  * Define SAT Notification structure
1769  */
1770 enum call_control_result{
1771         call_control_allowed_no_mod = 0x00,
1772         call_control_not_allowed = 0x01,
1773         call_control_allowed_with_mod = 0x02
1774 };
1775
1776 struct tnoti_sat_proactive_ind{
1777         int decode_err_code;
1778         int cmd_number;
1779         enum tel_sat_proactive_cmd_type cmd_type;
1780         union{
1781                 struct tel_sat_display_text_tlv display_text;
1782                 struct tel_sat_get_inkey_tlv get_inkey;
1783                 struct tel_sat_get_input_tlv get_input;
1784                 struct tel_sat_more_time_tlv more_time;
1785                 struct tel_sat_play_tone_tlv play_tone;
1786                 struct tel_sat_setup_menu_tlv setup_menu;
1787                 struct tel_sat_select_item_tlv select_item;
1788                 struct tel_sat_send_sms_tlv send_sms;
1789                 struct tel_sat_send_ss_tlv send_ss;
1790                 struct tel_sat_send_ussd_tlv send_ussd;
1791                 struct tel_sat_setup_call_tlv setup_call;
1792                 struct tel_sat_refresh_tlv refresh;
1793                 struct tel_sat_provide_local_info_tlv provide_local_info;
1794                 struct tel_sat_setup_event_list_tlv setup_event_list;
1795                 struct tel_sat_setup_idle_mode_text_tlv setup_idle_mode_text;
1796                 struct tel_sat_send_dtmf_tlv send_dtmf;
1797                 struct tel_sat_language_notification_tlv language_notification;
1798                 struct tel_sat_launch_browser_tlv launch_browser;
1799                 struct tel_sat_open_channel_tlv open_channel;
1800                 struct tel_sat_close_channel_tlv close_channel;
1801                 struct tel_sat_receive_channel_tlv receive_data;
1802                 struct tel_sat_send_channel_tlv send_data;
1803                 struct tel_sat_get_channel_status_tlv get_channel_status;
1804                 struct tel_sat_unsupproted_command_tlv unsupport_cmd;
1805         }proactive_ind_data;
1806 };
1807
1808 struct tnoti_sat_call_control_result_ind{
1809         enum call_control_result cc_result;
1810
1811         struct tel_sat_address address;
1812         struct tel_sat_ss_string ss_string;
1813
1814         struct tel_sat_ccp ccp1;
1815         struct tel_sat_subaddress sub_address;
1816         struct tel_sat_alpha_identifier alpha_id;
1817         struct tel_sat_repeat_indicator_type bc_repeat_type;
1818         struct tel_sat_ccp ccp2;
1819 };
1820
1821 struct tnoti_sat_mo_sm_control_result_ind{
1822         enum call_control_result cc_result;
1823
1824         struct tel_sat_address rp_dst_address;
1825         struct tel_sat_address tp_dst_address;
1826         struct tel_sat_alpha_identifier alpha_id;
1827 };
1828
1829 __END_DECLS
1830
1831 #endif