tizen 2.3 release
[framework/telephony/libslp-tapi.git] / include / TelSat.h
1 /*
2  * libslp-tapi
3  *
4  * Copyright (c) 2014 Samsung Electronics Co., Ltd. All rights reserved.
5  *
6  * Contact: Ja-young Gu <jygu@samsung.com>
7  *
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  *
12  * http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  */
20
21 /**
22  * @file TelSat.h
23  */
24
25 /**
26  * @internal
27  * @addtogroup CAPI_TELEPHONY_SERVICE_SAT
28  * @{
29  */
30
31 #ifndef _TEL_SAT_H_
32 #define _TEL_SAT_H_
33
34 #include <TelCall.h>
35 #include <TelSs.h>
36 #include <TelSatObj.h>
37 #include <TelSatProactvCmd.h>
38 #include <TelSatEnvelope.h>
39 #include <TelSim.h>
40
41 #ifdef __cplusplus
42 extern "C"
43 {
44 #endif
45
46 /**
47  * @brief Definition for the maximum length of a menu title.
48  * @since_tizen 2.3
49  */
50 #define TAPI_SAT_DEF_TITLE_LEN_MAX                      255
51
52 /**
53  * @brief Definition for the maximum length of a menu item.
54  * @since_tizen 2.3
55  */
56 #define TAPI_SAT_DEF_ITEM_STR_LEN_MAX           50
57
58 /**
59  * @brief Definition for the maximum length of a text string.
60  * @since_tizen 2.3
61  */
62 #define TAPI_SAT_DEF_TEXT_STRING_LEN_MAX        500
63
64 /**
65  * @brief Definition for the bit mask of a contact.
66  * @since_tizen 2.3
67  */
68 #define TAPI_SAT_DEF_BIT_MASK_CONTACT           0x01
69
70 /**
71  * @brief Definition for the bit mask of a message.
72  * @since_tizen 2.3
73  */
74 #define TAPI_SAT_DEF_BIT_MASK_MSG                       0x02
75
76 /**
77  * @brief Definition for the bit mask of others.
78  * @since_tizen 2.3
79  */
80 #define TAPI_SAT_DEF_BIT_MASK_OTHER                     0x04
81
82 /**
83  * @brief Definition for the refresh file list.
84  * @since_tizen 2.3
85  */
86 #define TAPI_SAT_REFRESH_FILE_LIST                      20
87 #define TAPI_SAT_DEF_SS_LEN_MAX             250
88 #define TAPI_SAT_DEF_USSD_LEN_MAX           250
89
90 //      Telephony UI USER CONFIRM TYPE
91 /**
92  * @brief Enumeration for the UI user confirm type.
93  * @since_tizen 2.3
94  */
95 typedef enum
96 {
97         TAPI_SAT_USER_CONFIRM_YES,                      /**< Informs that the user confirms yes */
98         TAPI_SAT_USER_CONFIRM_NO_OR_CANCEL,     /**< Informs that the user confirms no/cancel */
99         TAPI_SAT_USER_CONFIRM_HELP_INFO,        /**< Informs that the user wants help information */
100         TAPI_SAT_USER_CONFIRM_END,                      /**< Informs that the user confirms end */
101         TAPI_SAT_USER_CONFIRM_TIMEOUT,          /**< Informs that the user did not respond */
102 }TelSatUiUserConfirmType_t;
103
104 //      Telephony UI INKEY TYPE
105 /**
106  * @brief Enumeration for the UI inkey type.
107  * @since_tizen 2.3
108  */
109 typedef enum
110 {
111         TAPI_SAT_INKEY_CONFIRM_NO                               = 0x00,         /**< No */
112         TAPI_SAT_INKEY_CONFIRM_YES                              = 0x01,         /**< Yes */
113 }TelSatUiInkeyYesNoCaseType_t;
114
115 //      Telephony UI DISPLAY STATUS
116 /**
117  * @brief Enumeration for the UI display status.
118  * @since_tizen 2.3
119  */
120 typedef enum
121 {
122         TAPI_SAT_DISPLAY_SUCCESS                                = 0x00,         /**< Informs about UI display success */
123         TAPI_SAT_DISPLAY_FAIL                                   = 0x01,         /**< Informs about UI display failure */
124 }TelSatUiDisplayStatusType_t;
125
126 //      TELEPHONY REFRESH APPLICATION TYPE
127 /**
128  * @brief Enumeration for the refresh application type.
129  * @since_tizen 2.3
130  */
131  typedef enum
132 {
133         TAPI_SAT_REFRESH_CONTACT = 0x00,                                /**< Refresh application type - Phonebook */
134         TAPI_SAT_REFRESH_MSG,                                                   /**< Refresh application type - SMS */
135         TAPI_SAT_REFRESH_OTHER,                                                 /**< Refresh application type - Other */
136         TAPI_SAT_REFRESH_MAX,                                                   /**< Maximum Enumeration Value */
137 }TelSatRefreshAppType_t;
138
139 //      Telephony COMMAND PERFORMED RESULT
140 /**
141  * @brief Enumeration for the result of proactive command execution.
142  * @since_tizen 2.3
143  */
144 typedef enum
145 {
146         TAPI_SAT_CMD_PERFORM_SUCCESS = 0x00,            /**< Command performed successfully */
147         TAPI_SAT_CMD_PERFORM_FAIL,                                      /**< Command execution failed */
148         TAPI_SAT_CMD_PERFORM_MAX,                                       /**< Maximum Enumeration Value */
149 }TelSatCommandPerformResultType_t;
150
151 //      Telephony CALL CONTROL TYPE
152 /**
153  * @brief Enumeration for the call control type.
154  * @since_tizen 2.3
155  */
156 typedef enum
157 {
158         TAPI_SAT_CALL_CNF_NONE  = 0x00,         /**< Call control confirm type - None */
159         TAPI_SAT_CALL_CNF_CALL,                     /**< Call control confirm type - Call */
160         TAPI_SAT_CALL_CNF_SS,                           /**< Call control confirm type - SS */
161         TAPI_SAT_CALL_CNF_USSD,                         /**< Call control confirm type - USSD */
162         TAPI_SAT_CALL_CNF_MAX,                          /**< Maximum Enumeration Value */
163 }TelSatCallCtrlType_t;
164
165 //      SAT UI USER CONFIRMATION INFO
166 /**
167  * @brief The structure type defining user confirmation data.
168  * @since_tizen 2.3
169  */
170 typedef struct
171 {
172         int                                             commandId;                              /**< Proactive Command Number sent by USIM */
173         TelSatCommandType_t             commandType;                    /**< Proactive Command Type */
174         TelSatUiUserConfirmType_t       keyType;                        /**< User Response Type */
175         unsigned char*                          pAdditionalData;        /**< Additional Data */
176         int                                                     dataLen;                        /**< Additional Data Length */
177 }TelSatUiUserConfirmInfo_t;
178
179 //      Telephony TEXT INFO
180 /**
181  * @brief The structure type defining character data for the SAT engine data structure.
182  * @since_tizen 2.3
183  */
184 typedef struct
185 {
186         unsigned short  stringLen;                                                                              /**< Character data length */
187         unsigned char           string[TAPI_SAT_DEF_TEXT_STRING_LEN_MAX+1];     /**< Character data */
188 }TelSatTextInfo_t;
189
190 //      Telephony MAIN MENU TITLE INFO
191 /**
192  * @brief The structure type defining the main menu title to check the SAT menu.
193  * @since_tizen 2.3
194  */
195 typedef struct
196 {
197         int                             bIsMainMenuPresent;             /**< Flag to check SAT main menu existence */
198         TelSatTextInfo_t        mainMenuTitle;          /**< Main menu title data */
199 }TelSatMainMenuTitleInfo_t;
200
201 //      Telephony DISPLAY TEXT DATA
202 /**
203  * @brief The structure type defining the display text proactive command for SAT UI.
204  * @since_tizen 2.3
205  */
206 typedef struct
207 {
208         int                                                     commandId;                                      /**< Proactive Command Number sent by USIM */
209         TelSatTextInfo_t                                text;                                   /**< Character data to display on screen */
210         unsigned int                                    duration;                               /**< The duration of the display */
211         int                                                     bIsPriorityHigh;                        /**< Flag that indicates whether text is to be displayed if some other app is using the screen */
212         int                                                     bIsUserRespRequired;            /**< Flag that indicates whether user response is required */
213         int                                                     b_immediately_resp;                 /**< TBD */
214         TelSatIconIdentifierInfo_t      iconId;                                         /**< Icon Identifier */
215 }TelSatDisplayTextInd_t;
216
217 //      Telephony INKEY DATA
218 /**
219  * @brief The structure type defining get inkey proactive command data for SAT UI.
220  * @since_tizen 2.3
221  */
222 typedef struct
223 {
224         int                                                     commandId;                              /**< Proactive Command Number sent by USIM */
225         TelSatInkeyType_t                               keyType;                        /**< Input Type: Character Set or Yes/No */
226         TelSatUseInputAlphabetType_t    inputCharMode;          /**< Input character mode(SMS default, UCS2) */
227         int                                                     bIsNumeric;                             /**< Is input character numeric(0-9, *, # and +) */
228         int                                                     bIsHelpInfoAvailable;   /**< Help info request flag */
229         TelSatTextInfo_t                                text;                           /**< Character data to display on the screen */
230         unsigned int                                    duration;                       /**< Duration of the display */
231         TelSatIconIdentifierInfo_t              iconId;                         /**< Icon Identifier */
232 }TelSatGetInkeyInd_t;
233
234 //      Telephony GET INPUT DATA
235 /**
236  * @brief The structure type defining get input proactive command data for SAT UI.
237  * @since_tizen 2.3
238  */
239 typedef struct
240 {
241         int                                                     commandId;                              /**< Proactive Command Number sent by USIM */
242         TelSatUseInputAlphabetType_t    inputCharMode;          /**< Input character mode(SMS default, UCS2) */
243         int                                                     bIsNumeric;                             /**< Is input character numeric(0-9, *, # and +) */
244         int                                                     bIsHelpInfoAvailable;   /**< Help info request flag */
245         int                                                     bIsEchoInput;                   /**< Flag that indicates whether to show input data on the screen */
246         TelSatTextInfo_t                                text;                           /**< Character data to display on the screen*/
247         TelSatRespLenInfo_t                             respLen;                        /**< Input data min, max length */
248         TelSatTextInfo_t                                defaultText;            /**< Default input character data */
249         TelSatIconIdentifierInfo_t              iconId;                         /**< Icon Identifier */
250 }TelSatGetInputInd_t;
251
252 //      Telephony PLAY TONE DATA
253 /**
254  * @brief The structure type defining play tone proactive command data for an application.
255  * @since_tizen 2.3
256  */
257 typedef struct
258 {
259         int                                             commandId;          /**< Proactive Command Number sent by USIM */
260         TelSatTextInfo_t                        text;           /**< Character data to display on the screen */
261         TelSatToneInfo_t                        tone;           /**< Tone info */
262         unsigned int                            duration;       /**< Duration for playing the tone */
263         TelSatIconIdentifierInfo_t      iconId;         /**< Icon Identifier */
264 }TelSatPlayToneInd_t;
265
266 //      Telephony UI info
267 /**
268  * @brief The structure type defining data for SAT UI.
269  * @since_tizen 2.3
270  */
271 typedef struct
272 {
273         int                                             commandId;              /**< Proactive Command Number sent by USIM */
274         int                                             user_confirm;   /**< TBD */
275         TelSatTextInfo_t                        text;           /**< Character data to display on the screen */
276         TelSatIconIdentifierInfo_t      iconId;         /**< Icon Identifier */
277 }TelSatSendUiInfo_t;
278
279 //      Telephony MENU ITEM DATA FOR SETUP MENU
280 /**
281  * @brief The structure type defining menu item info for the setup menu.
282  * @since_tizen 2.3
283  */
284 typedef struct
285 {
286         char itemString[TAPI_SAT_DEF_ITEM_STR_LEN_MAX + 6];     /**< Menu item character data */
287         char itemId;                                                                            /**< Identifies the item on the menu that the user selected */
288 }TelSatMenuInfo_t;
289
290 //      Telephony SETUP MENU INFO
291 /**
292  * @brief The structure type defining SAT main menu info.
293  * @since_tizen 2.3
294  */
295 typedef struct
296 {
297         int commandId;  /**< Proactive Command Number sent by USIM */
298         int     bIsMainMenuPresent;             /**< TBD */
299         char satMainTitle[TAPI_SAT_DEF_TITLE_LEN_MAX + 1];      /**< Menu title text */
300         TelSatMenuInfo_t satMainMenuItem[TAPI_SAT_MENU_ITEM_COUNT_MAX]; /**< Menu items */
301         unsigned short satMainMenuNum;  /**< Number of menu items */
302         int     bIsSatMainMenuHelpInfo; /**< Flag for a help information request */
303         int     bIsUpdatedSatMainMenu;          /**< TBD */
304         TelSatIconIdentifierInfo_t iconId;      /**< Icon Identifier */
305         TelSatIconIdentifierListInfo_t iconIdList;      /**< List of Icon Identifiers */
306 }TelSatSetupMenuInfo_t;
307
308 //      Telephony SELECT ITEM DATA
309 /**
310  * @brief The structure type defining select item proactive command data for SAT UI.
311  * @since_tizen 2.3
312  */
313 typedef struct
314 {
315         int                                                     commandId;                                                                          /**< Proactive Command Number sent by USIM */
316         int                                                     bIsHelpInfoAvailable;                                               /**< Flag for a help information request */
317         TelSatTextInfo_t                                text;                                                                       /**< Menu title text */
318         char                                                    defaultItemIndex;                                                       /**< Selected default item - default value is @c 0 */
319         char                                                    menuItemCount;                                                          /**< Number of menu items */
320         TelSatMenuItemInfo_t                    menuItem[TAPI_SAT_MENU_ITEM_COUNT_MAX];         /**< Menu items */
321         TelSatIconIdentifierInfo_t              iconId;                                                                         /**< Icon Identifier */
322         TelSatIconIdentifierListInfo_t  iconIdList;                                                                     /**< List of Icon Identifiers */
323
324 }TelSatSelectItemInd_t;
325
326 //      Telephony IDLE MODE TEXT DATA
327 /**
328  * @brief The structure type defining the setup idle mode text proactive command for the idle application.
329  * @since_tizen 2.3
330  */
331 typedef struct
332 {
333         int                                             commandId;                      /**< Proactive Command Number sent by USIM */
334         TelSatTextInfo_t                        text;                   /**< Character data to display on the screen */
335         TelSatIconIdentifierInfo_t      iconId;             /**< TBD */
336 } TelSatSetupIdleModeTextInd_t;
337
338 //      Telephony REFRESH DATA
339 /**
340  * @brief The structure type defining refresh proactive command data for SAT UI.
341  * @since_tizen 2.3
342  */
343 typedef struct
344 {
345         int                                                     commandId;                      /**< Proactive Command Number sent by USIM */
346         unsigned int                            duration;                       /**< Duration of the display */
347         TelSatCmdQualiRefresh_t         refreshType;            /**< Refresh mode */
348 }TelSatRefreshIndUiInfo_t;
349
350 //      Telephony REFRESH DATA
351 /**
352  * @brief The structure type defining refresh proactive command data for applications that are concerned with files residing on USIM.
353  * @since_tizen 2.3
354  */
355 typedef struct
356 {
357         int                                             commandId;                                                                  /**< Proactive Command Number sent by USIM */
358         TelSatRefreshAppType_t          appType;                                                                /**< Concerned application type */
359         TelSatCmdQualiRefresh_t         refreshMode;                                                    /**< Refresh mode */
360         unsigned char                                   fileCount;                                                      /**< Refresh file count */
361         TelSimFileID_t                          fileId[TAPI_SAT_REFRESH_FILE_LIST];             /**< Refresh file identifier */
362 }TelSatRefreshInd_t;
363
364 //      Telephony END PROACTIVE COMMAND INFO
365 /**
366  * @brief The structure type defining data objects to indicate to SAT UI, the end of execution of a specific proactive command by another application.
367  * @since_tizen 2.3
368  */
369 typedef struct
370 {
371         int                                                                     commandId;                      /**< Proactive Command Number sent by USIM */
372         char                                                                    commandType;    /**< Command Type */
373         TelSatCommandPerformResultType_t                result;                 /**< Result of command execution by the application */
374 }TelSatProactiveCmdEndIndInfo_t;
375
376 //      Telephony SEND SMS DATA
377 /**
378  * @brief The structure type defining send SMS proactive command data for the SMS application.
379  * @since_tizen 2.3
380  */
381 typedef struct
382 {
383         int                                     commandId;                              /**< Proactive Command Number sent by USIM */
384         int                                     bIsPackingRequired;             /**< Flag to check if packing is required for SMS TPDU */
385         TelSatAddressInfo_t     address;                                /**< Destination address */
386         TelSatSmsTpduInfo_t     smsTpdu;                                /**< SMS TPDU data */
387 } TelSatSendSmsIndSmsData_t;
388
389 //      Telephony SEND SS DATA
390 /**
391  * @brief The structure type defining send SS proactive command data for the SS application.
392  * @since_tizen 2.3
393  */
394 typedef struct
395 {
396         int                                     commandId;              /**< Proactive Command Number sent by USIM */
397         TelSimTypeOfNum_t ton;              /**< Type of number */
398         TelSimNumberingPlanIdentity_t npi;  /**< Number plan identity */
399         unsigned short          ssStringLen;    /**< TBD */
400         unsigned char           ssString[TAPI_SAT_DEF_SS_LEN_MAX+1]; /**< TBD */
401 }TelSatSendSsIndSsData_t;
402
403 //      Telephony USSD DATA
404 /**
405  * @brief The structure type defining send USSD proactive command data for the USSD application.
406  * @since_tizen 2.3
407  */
408 typedef struct
409 {
410         int                     commandId;                          /**< Proactive Command Number sent by USIM */
411         unsigned char           rawDcs;                     /**< Data coding scheme */
412         unsigned short          ussdStringLen;          /**< TBD */
413         unsigned char           ussdString[TAPI_SAT_DEF_USSD_LEN_MAX+1];                /**< TBD */
414 }TelSatSendUssdIndUssdData_t;
415
416 //      Telephony SEND DTMF DATA
417 /**
418  * @brief The structure type defining send DTMF proactive command data for the DTMF application.
419  * @since_tizen 2.3
420  */
421 typedef struct
422 {
423         int                                     commandId;                      /**< Proactive Command Number sent by USIM */
424         int                                     bIsHiddenMode;          /**< Hidden mode flag */
425         TelSatTextInfo_t                dtmfString;             /**< DTMF string data */
426 }TelSatSendDtmfIndDtmfData_t;
427
428 //      Telephony SETUP CALL  DATA
429 /**
430  * @brief The structure type defining setup call proactive command data for the call application.
431  * @since_tizen 2.3
432  */
433 typedef struct
434 {
435         int                                                     commandId;                  /**< Proactive Command Number sent by USIM */
436         TelSatCmdQualiSetupCall_t               calltype;               /**< Call type */
437         TelSatTextInfo_t                                dispText;               /**< Display data for calling */
438         TelSatTextInfo_t                                callNumber;             /**< Call number */
439         unsigned int                                    duration;               /**< Maximum repeat duration */
440         TelSatIconIdentifierInfo_t              iconId;                 /**< Icon identifier for the call application */
441 }TelSatSetupCallIndCallData_t;
442
443 //      Telephony LAUNCH BROWSER DATA
444 /**
445  * @brief The structure type defining launch browser proactive command data for the browser application.
446  * @since_tizen 2.3
447  */
448 typedef struct
449 {
450         int                                                     commandId;              /**< Proactive Command Number sent by USIM */
451         TelSatUrlInfo_t                                 url;            /**< URL to connect */
452         TelSatCmdQualiLaunchBrowser_t   launchType;     /**< Launch type */
453         TelSatBrowserIdentityType_t     IdentityType;   /**< Browser Identity - default, HTML, and so on */
454 }TelSatLaunchBrowserIndBrowserData_t;
455
456 //      Telephony PROVIDE LOCAL INFO DATA
457 /**
458  * @brief The structure type defining provide local info proactive command data for the application.
459  * @since_tizen 2.3
460  */
461 typedef struct
462 {
463         int commandId;                                                                          /**< Proactive Command Number sent by USIM */
464         TelSatCmdQualiProvideLocalInfo_t localInfoType;         /**< Provide Local Information Type */
465 }TelSatProvideLocalInfoInd_t;
466
467 //      Telephony LANGUAGE NOTIFICATION DATA
468 /**
469  * @brief The structure type defining language notification proactive command data for the application.
470  * @since_tizen 2.3
471  */
472 typedef struct
473 {
474         int                                                     commandId;                                              /**< Proactive Command Number sent by USIM */
475         int                                                     bSpecificLanguageNotification;  /**< Flag for checking a specific language notification. If FALSE, non-specific language notification */
476         TelSatLanguageInfo_t                    language;                                       /**< Language info from the USIM application */
477 }TelSatLanguageNotiInfoInd_t;
478
479 //      Telephony PLAY TONE RETURN INFO
480 /**
481  * @brief The structure type defining result data for the Play Tone proactive command.
482  * @since_tizen 2.3
483  */
484 typedef struct
485 {
486         TelSatResultType_t      resp;                   /**< Result response value */
487 }TelSatSetupMenuRetInfo_t;
488
489 //      Telephony REFRESH RETURN INFO
490 /**
491  * @brief The structure type defining result data for the refresh proactive command.
492  * @since_tizen 2.3
493  */
494 typedef struct
495 {
496         TelSatRefreshAppType_t  appType;                        /**< Application type */
497         TelSatResultType_t              resp;                           /**< Result response value */
498 }TelSatRefreshRetInfo_t;
499
500 //      Telephony CALL RETURN INFO
501 /**
502  * @brief The structure type defining result data for the setup call proactive command.
503  * @since_tizen 2.3
504  */
505 typedef struct
506 {
507         TelSatResultType_t                              resp;                                               /**< Result response value */
508         int                                                     bIsTapiCauseExist;                                  /**< Flag for checking tapi error cause */
509         TelCallCause_t                                  tapiCause;                                              /**< Tapi call error cause */
510         TelSsCause_t                                            ssCause;                                        /**< Tapi SS error cause */
511         TelSatMeProblemType_t                           meProblem;                                      /**< ME problem error cause */
512         int                                                             bIsOtherInfoExist;                              /**< Call control result existence flag */
513         TelSatCallCtrlProblemType_t             permanentCallCtrlProblem;               /**< Call control problem type */
514         TelSatCallCtrlRequestedActionInfo_t     callCtrlRequestedAction;        /**< Call control request data */
515         TelSatResultInfo_t                      result2;                                                    /**< Call control envelope result value */
516         TelSatTextTypeInfo_t                    text;                                                   /**< Call control envelope display data */
517 }TelSatCallRetInfo_t;
518
519 //      Telephony SS RETURN INFO
520 /**
521  * @brief The structure type defining result data for the send SS proactive command.
522  * @since_tizen 2.3
523  */
524 typedef struct
525 {
526         TelSatResultType_t                              resp;                                                       /**< Result response value */
527         TelSsCause_t                                            ssCause;                                                /**< Error - SS cause */
528         TelSatTextInfo_t                                        ssString;                                               /**< SS result string */
529         TelSatMeProblemType_t                   meProblem;                                                  /**< Error - ME problem */
530         int                                                             bIsOtherInfoExist;                                  /**< Call control result exist flag */
531         TelSatCallCtrlProblemType_t                     additionalCallCtrlProblemInfo;  /**< Call control problem */
532         TelSatCallCtrlRequestedActionInfo_t     callCtrlRequestedAction;                /**< Call control request data */
533         TelSatResultInfo_t                                      result2;                                                /**< Call control envelope result value */
534 }TelSatSsRetInfo_t;
535
536 //      Telephony USSD RETURN INFO
537 /**
538  * @brief The structure type defining result data for the send USSD proactive command.
539  * @since_tizen 2.3
540  */
541 typedef struct
542 {
543         TelSatResultType_t                                      resp;                                                   /**< Result response value */
544         TelSsCause_t                                            ssCause;                                                /**< Error - SS cause */
545         TelSatTextInfo_t                                        ussdString;                                             /**< USSD result string */
546         TelSatDataCodingSchemeInfo_t            dcsUssdString;                                  /**< DCS of USSD result string */
547         TelSatMeProblemType_t                           meProblem;                                              /**< Error - ME problem */
548         int                                                             bIsOtherInfoExist;                                  /**< Call control result exist flag */
549         TelSatCallCtrlProblemType_t                     additionalCallCtrlProblemInfo;  /**< Call control problem */
550         int                                                             bCallCtrlHasModification;                   /**< Call control request modification flag */
551         TelSatCallCtrlRequestedActionInfo_t     callCtrlRequestedAction;                /**< Call control request data */
552         TelSatResultInfo_t                                      result2;                                                /**< Call control envelope result value */
553         TelSatTextTypeInfo_t                            text2;                                                  /**< CC envelope display data */
554 }TelSatUssdRetInfo_t;
555
556 //      Telephony SMS RETURN INFO
557 /**
558  * @brief The structure type defining result data for the send SMS proactive command.
559  * @since_tizen 2.3
560  */
561 typedef struct
562 {
563         TelSatResultType_t      resp;                   /**< Result response value */
564 }TelSatSmsRetInfo_t;
565
566 //      Telephony DTMF RETUEN INFO
567 /**
568  * @brief The structure type defining result data for the send DTMF proactive command.
569  * @since_tizen 2.3
570  */
571 typedef struct
572 {
573         TelSatResultType_t      resp;                   /**< Result response value */
574 }TelSatDtmfRetInfo_t;
575
576 //      Telephony BROWSER RETURN INFO
577 /**
578  * @brief The structure type defining result data for the launch browser proactive command.
579  * @since_tizen 2.3
580  */
581 typedef struct
582 {
583         TelSatResultType_t                                      resp;                   /**< Result response value */
584         TelSatLaunchBrowserProblemType_t    browserProblem;     /**< Specific browser problem */
585 }TelSatBrowserRetInfo_t;
586
587 //      Telephony SETUP IDLE MODE TEXT RETURN INFO
588 /**
589  * @brief The structure type defining result data for the setup idle mode text proactive command.
590  * @since_tizen 2.3
591  */
592 typedef struct
593 {
594         TelSatResultType_t      resp;                   /**< Result response value */
595 }TelSatIdleTextRetInfo_t;
596
597 //      Telephony PLAY TONE RETURN INFO
598 /**
599  * @brief The structure type defining result data for the Play Tone proactive command.
600  * @since_tizen 2.3
601  */
602 typedef struct
603 {
604         TelSatResultType_t      resp;                   /**< Result response value */
605 }TelSatPlayToneRetInfo_t;
606
607 //      Telephony  PROVIDE LOCAL INFO RETURN INFO
608 /**
609  * @brief The structure type defining result data for the setup idle mode text proactive command.
610  * @since_tizen 2.3
611  */
612 typedef struct
613 {
614         TelSatResultType_t                                      resp;                   /**< Result response value */
615         int                                                             bOtherInfo;                 /**< Flag to check whether other information is required */
616         TelSatCmdQualiProvideLocalInfo_t        infoType;               /**< Local info type - e.g. time zone, language info, and so on */
617         union
618         {
619                 TelSatDataTimeZoneInfo_t                timeZoneInfo;   /**< Current time zone info     */
620                 TelSatLanguageInfo_t                    languageInfo;   /**< Current ME language setting info */
621         }u;                                                                                                     /**< Union */
622 }TelSatProvideLocalRetInfo_t;
623
624 //      Telephony LANGUAGE NOTI RETURN INFO
625 /**
626  * @brief The structure type defining result data for the setup idle mode text proactive command.
627  * @since_tizen 2.3
628  */
629 typedef struct
630         {
631                 TelSatResultType_t               resp;                          /**< Result response value */
632         }TelSatLanguageNotiRetInfo_t;
633
634 //      Telephony DISPLAY TEXT RETURN INFO
635 /**
636  * @brief The structure type defining result data for the setup idle mode text proactive command.
637  * @since_tizen 2.3
638  */
639 typedef struct
640         {
641                 TelSatResultType_t               resp;                          /**< Result response value */
642                 TelSatMeProblemType_t    meProblem;                     /**< ME Problem Type */
643         }TelSatDiplayTextRetInfo_t;
644
645 //      Telephony APPLICATIONS RETURN DATA
646 /**
647  * @brief The structure type defining common result data for the applications proactive command.
648  * @since_tizen 2.3
649  */
650 typedef struct
651 {
652         TelSatCommandType_t     commandType;                                            /**< Proactive Command type */
653         int commandId;                                                                                  /**< Proactive Command Number sent by USIM */
654         union
655                 {
656                         TelSatSetupMenuRetInfo_t        setupMenu;                          /**< Result response value to setup menu */
657                         TelSatRefreshRetInfo_t          refresh;                                /**< Result response value to refresh */
658                         TelSatCallRetInfo_t                     setupCall;                              /**< Result response value to setup call */
659                         TelSatSsRetInfo_t                       sendSs;                                 /**< Result response value to send SS */
660                         TelSatUssdRetInfo_t                     sendUssd;                               /**< Result response value to send USSD */
661                         TelSatSmsRetInfo_t                      sendSms;                                /**< Result response value to send SMS */
662                         TelSatDtmfRetInfo_t                     sendDtmf;                               /**< Result response value to send DTMF */
663                         TelSatBrowserRetInfo_t          launchBrowser;                  /**< Result response value to launch the browser */
664                         TelSatIdleTextRetInfo_t         setupIdleModeText;              /**< Result response value to setup idle mode text */
665                         TelSatLanguageNotiRetInfo_t     languageNoti;                   /**< Result response value for language notification */
666                         TelSatProvideLocalRetInfo_t provideLocalInfo;           /**< Result response value to provide local info */
667                         TelSatDiplayTextRetInfo_t   displayText;                        /**< Result response value to display text */
668                         TelSatPlayToneRetInfo_t     playTone;                           /**< Result response value to play a tone */
669                 }appsRet;                                                                                               /**< Common union result value */
670 }TelSatAppsRetInfo_t;
671
672 //      Telephony CALL CONTROL CONFIRM  DATA FOR CALL
673 /**
674  * @brief The structure type defining call control confirm data for the call.
675  * @since_tizen 2.3
676  */
677 typedef struct
678 {
679         TelSatTextInfo_t                                address;                                        /**< Call destination address */
680         TelSatTextInfo_t                                subAddress;                                     /**< Call SUB address */
681         TelSatBcRepeatIndicatorType_t   bcRepeatIndicator;                      /**< BC repeat indicator */
682         TelSatTextInfo_t                                ccp1;                                           /**< Configuration Capability Parameter 1 */
683         TelSatTextInfo_t                                ccp2;                                           /**< Configuration Capability Parameter 2 */
684 } TelSatCallCtrlIndCallData_t;
685
686 //      Telephony CALL CONTROL CONFIRM  DATA FOR SS
687 /**
688  * @brief The structure type defining call control confirm data for SS.
689  * @since_tizen 2.3
690  */
691 typedef struct
692 {
693         TelSatTextInfo_t                                ssString;                                       /**< SS destination address */
694         TelSatTextInfo_t                                subAddress;                                     /**< Call SUB address */
695         TelSatBcRepeatIndicatorType_t   bcRepeatIndicator;                      /**< BC repeat indicator */
696         TelSatTextInfo_t                                ccp1;                                           /**< Configuration Capability Parameter 1 */
697         TelSatTextInfo_t                                ccp2;                                           /**< Configuration Capability Parameter 2 */
698 } TelSatCallCtrlIndSsData_t;
699
700 //      Telephony CALL CONTROL CONFIRM  DATA FOR USSD
701 /**
702  * @brief The structure type defining call control confirm data for USSD.
703  * @since_tizen 2.3
704  */
705 typedef struct
706 {
707         TelSatTextInfo_t                ussdString;                     /**< USSD destination address */
708 } TelSatCallCtrlIndUssdData_t;
709
710 //      Telephony READ FILE REQUEST DATA
711 /**
712  * @brief The structure type defining common call control confirm data.
713  * @since_tizen 2.3
714  */
715 typedef struct
716 {
717         TelSatCallType_t                        callCtrlCnfType;                                /**< Call control confirm type - call, SS, or USSD */
718         TelSatCallCtrlResultType_t      callCtrlResult;                                 /**< Call control result */
719         TelSatTextInfo_t                        dispData;                                               /**< Call control display data */
720         int                                             bIsUserInfoDisplayEnabled;                  /**< Flag for checking existence of call control display */
721
722         union
723                 {
724                         TelSatCallCtrlIndCallData_t             callCtrlCnfCallData;    /**< Call control call address */
725                         TelSatCallCtrlIndSsData_t               callCtrlCnfSsData;              /**< Call control SS string */
726                         TelSatCallCtrlIndUssdData_t             callCtrlCnfUssdData;    /**< Call control USSD string */
727                 }u;                                                                                                                     /**< Union */
728 } TelSatCallCtrlIndData_t;
729
730 //      Telephony MO SMS CONTROL CONFIRMATION DATA
731 /**
732  * @brief The structure type defining MO SMS control confirm data.
733  * @since_tizen 2.3
734  */
735 typedef struct
736 {
737         TelSatCallCtrlResultType_t              moSmsCtrlResult;                        /**< Envelope result */
738         int                                                             bIsUserInfoDisplayEnabled;      /**< Display present flag */
739         TelSatTextTypeInfo_t                    dispData;                                       /**< Display data for sending SMS */
740         TelSatTextTypeInfo_t                    rpDestAddr;                                 /**< The RP_Destination_Address of the Service Center */
741         TelSatTextTypeInfo_t                    tpDestAddr;                                     /**< The TP_Destination_Address */
742 } TelSatMoSmCtrlIndData_t;
743
744 //      Telephony EVENT LIST INFO
745 /**
746  * @brief The structure type defining Event List Info.
747  * @since_tizen 2.3
748  */
749 typedef struct
750 {
751         int bIsEventDownloadActive;                     /**< Is Event Download Active */
752         int bIsMtCallEvent;                                     /**< Is Mt Call Event */
753         int bIsCallConnected;                           /**< Is Call Connected */
754         int bIsCallDisconnected;                        /**< Is Call Disconnected */
755         int bIsLocationStatus;                          /**< Is Location Status */
756         int bIsUserActivity;                            /**< Is User Activity */
757         int bIsIdleScreenAvailable;                     /**< Is Idle Screen Available */
758         int bIsCardReaderStatus;                        /**< Is Card Reader Status */
759         int bIsLanguageSelection;                       /**< Is Language Selection */
760         int bIsBrowserTermination;                      /**< Is Browser Termination */
761         int bIsDataAvailable;                           /**< Is Data Available */
762         int bIsChannelStatus;                           /**< Is Channel Status */
763 }       TelSatEventListData_t;
764
765 /**
766  * @brief The structure type containing the data structures to be used to send any envelope/event download data.
767  *
768  * @details This structure type is used by the Application to send envelope/event download data.
769  * @since_tizen 2.3
770  */
771 typedef struct
772 {
773         TelSatEventDownloadType_t                                       eventDownloadType;                              /**< Event Download Type        */
774
775         union
776         {
777                 int                                                                     bIdleScreenAvailable;                       /**< Flag to specify whether Idle Screen is Available */
778                 TelSatLanguageSelectionEventReqInfo_t   languageSelectionEventReqInfo;  /**< Selected Language Information */
779                 TelSatBrowserTerminationEventReqInfo_t  browserTerminationEventReqInfo; /**< Browser Termination Event Information */
780                 TelSatDataAvailableEventReqInfo_t               dataAvailableEventReqInfo;              /**< dataAvailableEventReqInfo */
781                 TelSatChannelStatusEventReqInfo_t               channelStatusEventReqInfo;              /**< channelStatusEventReqInfo */
782         } u;                                                                                                                                            /**< Union */
783 } TelSatEventDownloadReqInfo_t;
784
785 #ifdef __cplusplus
786 }
787 #endif
788
789 #endif /* _TEL_SAT_H_ */
790
791 /**
792 * @}
793 */