comparison src/ui/mfw/mfw_ss.h @ 3:67bfe9f274f6

src/ui: import of src/ui3 from Magnetite
author Mychaela Falconia <falcon@freecalypso.org>
date Fri, 16 Oct 2020 06:33:10 +0000
parents
children 92abb46dc1ba
comparison
equal deleted inserted replaced
2:3a14ee9a9843 3:67bfe9f274f6
1 /*
2 +--------------------------------------------------------------------+
3 | PROJECT: MMI-Framework (8417) $Workfile:: mfw_ss.h $|
4 | $Author:: Vo $Revision:: 1 $|
5 | CREATED: 25.1.99 $Modtime:: 21.02.00 14:19 $|
6 | STATE : code |
7 +--------------------------------------------------------------------+
8
9 MODULE : MFW_SS
10
11 PURPOSE : This modul contains the definition for supplementary management.
12
13
14 $History:: mfw_ss.h $
15
16 Apr 03, 2007 ER: OMAPS00122561 x0pleela
17 Description: [ACI] Phone lock feature has to be supported by ACI
18 Solution: Phone Lock ER implementation
19
20 Feb 27, 2007 ER: OMAPS00113891 x0pleela
21 Description:[ACI] MTC related call forwarded SS notification not differentiable on
22 BAT/ATI level
23 Solution: new enum value MFW_SS_MT_CALL_FORWARDED (MT call is forwarded
24 to another subscriber) is added for T_MFW_SS_NOTIFY_CODES
25
26 Nov 13, 2006 DR: OMAPS00103356 x0pleela
27 Description: SIMP:Master unlock failed through MMI
28 Solution: Defined new enums:
29 MFW_WRONG_PWD: will get returned if Master unlocking password is wrong
30 MFW_MASTER_OK: will get returned if Master unlocking operation is successful
31
32 Nov 03, 2005 DR: OMAPS00052032 - xpradipg
33 Description : Locosto: SIMP - integration of issues submitted by solDel on
34 ME Personalization - changes as per the new interfaces
35 Solution : The return value of sAT_PlusCLCK of AT_EXCT is handled and
36 a please wait screen is displayed until the response is recieved
37
38 *
39 * ***************** Version 14 *****************
40 * User: Vo Date: 22.02.00 Time: 14:09
41 * Updated in $/GSM/Condat/MS/SRC/MFW
42 *
43 * ***************** Version 13 *****************
44 * User: Vo Date: 10.01.00 Time: 16:09
45 * Updated in $/GSM/Condat/MS/SRC/MFW
46 *
47 * ***************** Version 12 *****************
48 * User: Ak Date: 10.01.00 Time: 13:14
49 * Updated in $/GSM/Condat/MS/SRC/MFW
50 *
51 * ***************** Version 11 *****************
52 * User: Ak Date: 21.10.99 Time: 11:56
53 * Updated in $/GSM/Condat/MS/SRC/MFW
54 * Why: Improvement
55 * What: Passing of network basic service codes instead of GSM 2.30
56 * codes for SS control string results and invocations
57 *
58 * ***************** Version 10 *****************
59 * User: Vo Date: 12.09.99 Time: 13:38
60 * Updated in $/GSM/DEV/MS/SRC/MFW
61 * Bug fix: delete 'SS guidance'
62 * New events, new structure and new prototype for USSD
63 *
64 * ***************** Version 9 *****************
65 * User: Vo Date: 30.08.99 Time: 11:46
66 * Updated in $/GSM/DEV/MS/SRC/MFW
67 * new return value MFW_SS_DIAL_IDX
68 *
69 * ***************** Version 8 *****************
70 * User: Vo Date: 9.08.99 Time: 16:48
71 * Updated in $/GSM/DEV/MS/SRC/MFW
72 * change structure for SS results
73 * add structure for IMEI
74 *
75 * ***************** Version 7 *****************
76 * User: Vo Date: 21.07.99 Time: 14:45
77 * Updated in $/GSM/DEV/MS/SRC/MFW
78 *
79 * ***************** Version 6 *****************
80 * User: Vo Date: 9.07.99 Time: 14:57
81 * Updated in $/GSM/DEV/MS/SRC/MFW
82 *
83 * ***************** Version 5 *****************
84 * User: Vo Date: 9.07.99 Time: 14:37
85 * Updated in $/GSM/DEV/MS/SRC/MFW
86 *
87 * ***************** Version 4 *****************
88 * User: Vo Date: 2.07.99 Time: 15:32
89 * Updated in $/GSM/DEV/MS/SRC/MFW
90 *
91 * ***************** Version 3 *****************
92 * User: Vo Date: 20.05.99 Time: 17:49
93 * Updated in $/GSM/DEV/MS/SRC/MFW
94 *
95 * ***************** Version 2 *****************
96 * User: Vo Date: 12.02.99 Time: 18:59
97 * Updated in $/GSM/DEV/MS/SRC/MFW
98 *
99 * ***************** Version 1 *****************
100 * User: Vo Date: 10.02.99 Time: 12:41
101 * Created in $/GSM/DEV/MS/SRC/MFW
102
103 */
104
105 #ifndef DEF_MFW_SS_HEADER
106 #define DEF_MFW_SS_HEADER
107
108 #include "mfw_nm.h"
109 #include "mfw_str.h"
110 #include "ksd.h"
111
112 #ifdef MAX_PWD_LEN /*a0393213 warnings removal-to prevent redefinition of MAX_PWD_LEN in some files*/
113 #undef MAX_PWD_LEN
114 #endif
115 #define MAX_PWD_LEN 8
116
117 #define MFW_SS_NUM_LEN 21
118 #define MFW_SS_SUBADR_LEN 21
119 #define MFW_SS_PWD_LEN 5
120
121 #define MFW_MAX_FEAT_NR 5
122 #define MFW_MAX_TELE_NR 5
123 #define MFW_MAX_SRV_NR 5
124
125 /* events are organised as bitmaps */
126 #define E_SS_OK 0x0001
127 #define E_SS_CF_CNF 0x0002
128 #define E_SS_CB_CNF 0x0004
129 #define E_SS_GET_PW 0x0008
130 #define E_SS_CLI_CNF 0x0010
131 #define E_SS_CW_CNF 0x0020
132 #define E_SS_NOTIFY 0x0040
133 #define E_SS_RES 0x0080
134 #define E_SS_IMEI 0x0100
135 #define E_SS_USSD_REQ 0x0200
136 #define E_SS_USSD_CNF 0x0400
137 #define E_SS_CF_ICN_UPD 0x0800
138 //CQ-16432 start
139 #define E_SS_SAT_CPWD 0x1000
140 //CQ-16432 end
141
142 /* SS status is organised as bitmaps */
143 #define SS_STAT_ACTIVE 0x01
144 #define SS_STAT_REGISTERED 0x02
145 #define SS_STAT_PROVISIONED 0x04
146 #define SS_STAT_QUIESCENT 0x08
147 #define SS_STAT_UNKNOWN 0xFF
148
149 /* SS codes */
150 typedef enum
151 {
152 SS_CODES_UNKNOWN,
153 SS_CF_ALL,
154 SS_CF_ALL_COND,
155 SS_CF_CFU,
156 SS_CF_CFNRy,
157 SS_CF_CFNR,
158 SS_CF_CFB,
159 SS_CB_BAOC,
160 SS_CB_BAOIC,
161 SS_CB_BAOICexH,
162 SS_CB_BAIC,
163 SS_CB_BAICroam,
164 SS_CB_ALL,
165 SS_CB_ALL_BAOC,
166 SS_CB_ALL_BAIC,
167 SS_CW,
168 SS_CCBS,
169 SS_CLIP,
170 SS_CLIR,
171 SS_COLP,
172 SS_COLR,
173 SS_PIN1,
174 SS_PIN2,
175 SS_USSD
176 } T_MFW_SS_CODES;
177
178 /* SS category */
179 typedef enum
180 {
181 SS_CTG_UNKNOWN,
182 SS_REGISTRATION,
183 SS_ERASURE,
184 SS_ACTIVATION,
185 SS_DEACTIVATION,
186 SS_INTERROGATION
187 } T_MFW_SS_CATEGORY;
188
189 /* return values for type of key sequence */
190 typedef enum
191 {
192 //x0pleela 23 Mar, 2007 ER : OMAPS00122561
193 #ifdef FF_PHONE_LOCK
194 MFW_SS_ALRDY_DIS = 101,
195 #endif /*FF_PHONE_LOCK*/
196 #ifdef SIM_PERS
197 // Nov 03, 2005 DR: OMAPS00052032 - xpradipg
198 // added new enum for execution in progress
199 MFW_EXCT = 100,
200 //x0pleela 13 Nov, 2006 DR: OMAPS00103356
201 //This will get returned if Master unlocking operation is successful
202 MFW_MASTER_OK = 200,
203 //x0pleela 13 Nov, 2006 DR: OMAPS00103356
204 //This will get returned if Master unlocking password is wrong
205 MFW_WRONG_PWD = -2,
206 MFW_FAILURE = -1,
207 #endif
208 MFW_SS_OK,
209 MFW_SS_DIAL,
210 MFW_SS_DIAL_IDX,
211 MFW_SS_DTMF,
212 MFW_SS_USSD,
213 MFW_SS_SIM_LOCK,
214 MFW_SS_SIM_REG_PW,
215 MFW_SS_REG_PW,
216 MFW_SS_SIM_UNBLCK_PIN,
217 MFW_SS_REGISTER,
218 MFW_SS_CF,
219 MFW_SS_CB,
220 MFW_SS_CLIR,
221 MFW_SS_CLIP,
222 MFW_SS_COLR,
223 MFW_SS_COLP,
224 MFW_SS_WAIT,
225 MFW_SS_MMI, /* present IMEI */
226 MFW_SS_HOLD,
227 MFW_SS_ECT,/*MC*/
228 MFW_SS_CCBS,
229 MFW_SS_MULTIPARTY,
230 MFW_SS_LANG_RESET, /*MC, SPR 1111*/
231 MFW_SS_TTY_NEXTCALL_ON, /* SPR#1352 - SH */
232 MFW_SS_TTY_NEXTCALL_OFF,
233 MFW_SS_UNKNOWN,
234 MFW_SS_FAIL
235 } T_MFW_SS_RETURN;
236
237 /* data coding scheme */
238 typedef enum
239 {
240 MFW_DCS_7bits = 0x00,
241 MFW_DCS_8bits = 0x04,
242 MFW_DCS_UCS2 = 0x08,
243 MFW_DCS_SIM,
244 MFW_ASCII
245 }T_MFW_DCS;
246
247 typedef enum
248 {
249 MFW_CL_UNKNOWN,
250 MFW_CL_PERM, /* permanent */
251 MFW_CL_TEMP_DEF_REST, /* temporary default restricted */
252 MFW_CL_TEMP_DEF_ALLOWED /* temporary default allowed */
253 } T_MFW_CL_STATUS;
254
255 typedef enum
256 {
257 MFW_OV_UNKNOWN,
258 MFW_OV_ENABLED, /* enabled */
259 MFW_OV_DISABLED /* disabled */
260 } T_MFW_OV_CTGRY;
261
262 /* SS notification result code */
263 typedef enum
264 {
265 MFW_SS_NOTIFY_UNKNOWN,
266 MFW_SS_MO_unconFORWARD, /* unconditional call forwaiting */
267 MFW_SS_MO_conFORWARD, /* conditional call forwaitings */
268 MFW_SS_MO_FORWARDED, /* call forwarded */
269 MFW_SS_MO_WAITING, /* waiting indicator */
270 MFW_SS_MO_CUG_CALL, /* a CUG call */
271 MFW_SS_MO_moBARRED, /* outgoing calls are barred */
272 MFW_SS_MO_mtBARRED, /* incoming calls are barred */
273 MFW_SS_MO_CLIR, /* CLIR suppression reject */
274 MFW_SS_MO_DEFLECTED, /* call deflected */
275 MFW_SS_MT_FORWARDED, /* a forwarded call */
276 MFW_SS_MT_CUG_CALL, /* a CUG call */
277 MFW_SS_NOTIFY_MULTIPARTY, /* multiparty call entered */
278 MFW_SS_NOTIFY_holdRELEASED, /* on hold call released */
279 MFW_SS_NOTIFY_checkSS, /* forward check SS message received */
280 MFW_SS_NOTIFY_ectALERT,
281 MFW_SS_NOTIFY_ectCONNECT,
282 MFW_SS_MT_DEFLECTED, /* call deflected */
283 //x0pleela 22 Feb, 2007 ER: OMAPS00113891
284 MFW_SS_MT_CALL_FORWARDED /* MT call is forwarded to another subscriber */
285 } T_MFW_SS_NOTIFY_CODES;
286
287 typedef enum
288 {
289 MFW_SS_ERR_UNKNOWN,
290 MFW_SS_NO_ERROR,
291 MFW_SS_ERROR,
292 MFW_SS_ERR_UNKNOWN_SUBSCRIBER,
293 MFW_SS_ERR_ILLEGAL_SUBSCRIBER,
294 MFW_SS_ERR_BEARER_SVC_NOT_PROV,
295 MFW_SS_ERR_TELE_SVC_NOT_PROV,
296 MFW_SS_ERR_ILLEGAL_EQUIPMENT,
297 MFW_SS_ERR_CALL_BARRED,
298 MFW_SS_ERR_ILLEGAL_SS_OPERATION,
299 MFW_SS_ERR_SS_ERR_STATUS,
300 MFW_SS_ERR_SS_NOT_AVAIL,
301 MFW_SS_ERR_SS_SUBS_VIOLATION,
302 MFW_SS_ERR_SS_INCOMP,
303 MFW_SS_ERR_FAC_NOT_SUPPORTED,
304 MFW_SS_ERR_ABSENT_SUBS,
305 MFW_SS_ERR_SYSTEM_FAIL,
306 MFW_SS_ERR_DATA_MISSING,
307 MFW_SS_ERR_UNEXPECT_DATA,
308 MFW_SS_ERR_PWD_REG_FAIL,
309 MFW_SS_ERR_NEG_PWD_CHECK,
310 MFW_SS_ERR_NUM_PWD_VIOLATION,
311 MFW_SS_ERR_UNKNOWN_ALPHA,
312 MFW_SS_ERR_USSD_BUSY,
313 MFW_SS_ERR_MAX_NUM_MPTY_EXCEED,
314 MFW_SS_ERR_RESOURCE_NOT_AVAIL,
315 MFW_SS_GEN_PROB_UNRECOG_CMP,
316 MFW_SS_GEN_PROB_MISTYPED_CMP,
317 MFW_SS_GEN_PROB_BAD_STRUCT_CMP,
318 MFW_SS_INV_PROB_DUPL_INV_ID,
319 MFW_SS_INV_PROB_UNRECOG_OP,
320 MFW_SS_INV_PROB_MISTYPED_PAR,
321 MFW_SS_INV_PROB_RESOURCE_LIM,
322 MFW_SS_INV_PROB_INIT_RELEASE,
323 MFW_SS_INV_PROB_UNRECOG_LNK_ID,
324 MFW_SS_INV_PROB_LNK_RES_UNEXP,
325 MFW_SS_INV_PROB_UNEXP_LNK_OP,
326 MFW_SS_RES_PROB_UNRECOG_INV_ID,
327 MFW_SS_RES_PROB_RET_RES_UNEXP,
328 MFW_SS_RES_PROB_MISTYPED_PAR,
329 MFW_SS_ERR_PROB_UNRECOG_INV_ID,
330 MFW_SS_ERR_PROB_RET_ERR_UNEXP,
331 MFW_SS_ERR_PROB_UNRECOG_ERR,
332 MFW_SS_ERR_PROB_UNEXP_ERR,
333 MFW_SS_ERR_PROB_MISTYPED_PAR,
334 MFW_SS_ERR_FATAL_INV_RESULT,
335 MFW_SS_ERR_FATAL_CCD_DEC,
336 MFW_SS_ERR_FATAL_SS_ENT
337 } T_MFW_SS_ERROR;
338
339 /* basic service type */
340 typedef enum
341 {
342 MFW_BST_UNKNOWN = 0,
343 MFW_BST_BEARER = 0x82,
344 MFW_BST_TELE = 0x83
345 } T_MFW_BASIC_SERVICE_TYPE;
346
347 #define MFW_BS_TS_UNKNOWN (0xFF) /* unknown bearer and teleservice */
348
349 /* teleservice */
350 typedef enum
351 {
352 MFW_TS_ALL_TS =0x0, /* all teleservices */
353 MFW_TS_ALL_SPCH =0x10, /* All speech transmission services */
354 MFW_TS_TLPHNY =0x11, /* telephony */
355 MFW_TS_EMRGNCY =0x12, /* emergency calls */
356 MFW_TS_ALL_SMS =0x20, /* all SMS services */
357 MFW_TS_SMS_MT =0x21, /* SMS MT PP */
358 MFW_TS_SMS_MO =0x22, /* SMS MO PP */
359 MFW_TS_ALL_FAX =0x60, /* all FAX transmission services */
360 MFW_TS_FAX3_ALT_SPCH =0x61, /* FAX group 3 alter. speech */
361 MFW_TS_FAX3_AUTO =0x62, /* FAX group 3 automatic */
362 MFW_TS_FAX4 =0x63, /* FAX group 4 */
363 MFW_TS_ALL_DATA =0x70, /* all FAX and SMS services */
364 MFW_TS_ALL_XCPT_SMS =0x80, /* all FAX and speech services */
365 MFW_TS_ALL_PSSS =0xd0, /* all PLMN specific TS */
366 MFW_TS_PLMN1 =0xd1, /* PLMN specific TS 1 */
367 MFW_TS_PLMN2 =0xd2, /* PLMN specific TS 2 */
368 MFW_TS_PLMN3 =0xd3, /* PLMN specific TS 3 */
369 MFW_TS_PLMN4 =0xd4, /* PLMN specific TS 4 */
370 MFW_TS_PLMN5 =0xd5, /* PLMN specific TS 5 */
371 MFW_TS_PLMN6 =0xd6, /* PLMN specific TS 6 */
372 MFW_TS_PLMN7 =0xd7, /* PLMN specific TS 7 */
373 MFW_TS_PLMN8 =0xd8, /* PLMN specific TS 8 */
374 MFW_TS_PLMN9 =0xd9, /* PLMN specific TS 9 */
375 MFW_TS_PLMNA =0xda, /* PLMN specific TS A */
376 MFW_TS_PLMNB =0xdb, /* PLMN specific TS B */
377 MFW_TS_PLMNC =0xdc, /* PLMN specific TS C */
378 MFW_TS_PLMND =0xdd, /* PLMN specific TS D */
379 MFW_TS_PLMNE =0xde, /* PLMN specific TS E */
380 MFW_TS_PLMNF =0xdf /* PLMN specific TS F */
381
382 } T_MFW_TELE_SERVICE;
383
384 /* bearer service */
385 typedef enum
386 {
387 MFW_BS_ALL_BS =0x0, /* all bearer services */
388 MFW_BS_ALL_DATA_CDA =0x10, /* all data CDA services */
389 MFW_BS_CDA_300 =0x11, /* data CDA 300 bps */
390 MFW_BS_CDA_1200 =0x12, /* data CDA 1200 bps */
391 MFW_BS_CDA_1200_75 =0x13, /* data CDA 1200/75 bps */
392 MFW_BS_CDA_2400 =0x14, /* data CDA 2400 bps */
393 MFW_BS_CDA_4800 =0x15, /* data CDA 4800 bps */
394 MFW_BS_CDA_9600 =0x16, /* data CDA 9600 bps */
395 MFW_BS_ALL_DATA_CDS =0x18, /* all data CDS services */
396 MFW_BS_CDS_1200 =0x1a, /* data CDS 1200 bps */
397 MFW_BS_CDS_2400 =0x1c, /* data CDS 2400 bps */
398 MFW_BS_CDS_4800 =0x1d, /* data CDS 4800 bps */
399 MFW_BS_CDS_9600 =0x1e, /* data CDS 9600 bps */
400 MFW_BS_ALL_DATA_PAD =0x20, /* all data PAD services */
401 MFW_BS_PAD_300 =0x21, /* data PAD 300 bps */
402 MFW_BS_PAD_1200 =0x22, /* data PAD 1200 bps */
403 MFW_BS_PAD_1200_75 =0x23, /* data PAD 1200/75 bps */
404 MFW_BS_PAD_2400 =0x24, /* data PAD 2400 bps */
405 MFW_BS_PAD_4800 =0x25, /* data PAD 4800 bps */
406 MFW_BS_PAD_9600 =0x26, /* data PAD 9600 bps */
407 MFW_BS_ALL_DATA_PDS =0x28, /* all data PDS services */
408 MFW_BS_PDS_2400 =0x2c, /* data PDS 2400 bps */
409 MFW_BS_PDS_4800 =0x2d, /* data PDS 4800 bps */
410 MFW_BS_PDS_9600 =0x2e, /* data PDS 9600 bps */
411 MFW_BS_SPCH_ALT_CDA =0x30, /* all data CDA alter. speech */
412 MFW_BS_SPCH_ALT_CDS =0x38, /* all data CDS alter. speech */
413 MFW_BS_SPCH_FLD_CDA =0x40, /* all data speech followed CDA */
414 MFW_BS_SPCH_FLD_CDS =0x48, /* all data speech followed CDA */
415 MFW_BS_ALL_DC_ASYN =0x50, /* all data circuit asynchronous */
416 MFW_BS_ALL_ASYN =0x60, /* all asynchronous services */
417 MFW_BS_ALL_DC_SYN =0x58, /* all data circuit synchronous */
418 MFW_BS_ALL_SYN =0x68, /* all synchronous services */
419 MFW_BS_ALL_PSSS =0xd0, /* all PLMN specific BS */
420 MFW_BS_PLMN1 =0xd1, /* PLMN specific 1 */
421 MFW_BS_PLMN2 =0xd2, /* PLMN specific 2 */
422 MFW_BS_PLMN3 =0xd3, /* PLMN specific 3 */
423 MFW_BS_PLMN4 =0xd4, /* PLMN specific 4 */
424 MFW_BS_PLMN5 =0xd5, /* PLMN specific 5 */
425 MFW_BS_PLMN6 =0xd6, /* PLMN specific 6 */
426 MFW_BS_PLMN7 =0xd7, /* PLMN specific 7 */
427 MFW_BS_PLMN8 =0xd8, /* PLMN specific 8 */
428 MFW_BS_PLMN9 =0xd9, /* PLMN specific 9 */
429 MFW_BS_PLMNA =0xda, /* PLMN specific A */
430 MFW_BS_PLMNB =0xdb, /* PLMN specific B */
431 MFW_BS_PLMNC =0xdc, /* PLMN specific C */
432 MFW_BS_PLMND =0xdd, /* PLMN specific D */
433 MFW_BS_PLMNE =0xde, /* PLMN specific E */
434 MFW_BS_PLMNF =0xdf /* PLMN specific F */
435
436 } T_MFW_BEARER_SERVICE;
437
438
439 /* mode of close user group (cug) */
440 typedef enum
441 {
442 MFW_SS_CUG_MODE_Not_Present = -1,
443 MFW_SS_CUG_TMP_DISABLE,
444 MFW_SS_CUG_TMP_ENABLE
445 }T_MFW_SS_CUG_MODE;
446
447
448 /* index - identifier of close user group */
449 typedef enum
450 {
451 MFW_SS_CUG_INDEX_Not_Present = -1,
452 MFW_SS_CUG_INDEX0,
453 MFW_SS_CUG_INDEX1,
454 MFW_SS_CUG_INDEX2,
455 MFW_SS_CUG_INDEX3,
456 MFW_SS_CUG_INDEX4,
457 MFW_SS_CUG_INDEX5,
458 MFW_SS_CUG_INDEX6,
459 MFW_SS_CUG_INDEX7,
460 MFW_SS_CUG_INDEX8,
461 MFW_SS_CUG_INDEX9,
462 MFW_SS_CUG_NO_INDEX /* preferential cug is used by the network */
463 }T_MFW_SS_CUG_INDEX;
464
465 /* info of close user group cug */
466 typedef enum
467 {
468 MFW_SS_CUG_INFO_Not_Present = -1,
469 MFW_SS_CUG_INFO_NO,
470 MFW_SS_CUG_SUPP_OA,
471 MFW_SS_CUG_SUPP_PREF,
472 MFW_SS_CUG_SUPP_BOTH
473 }T_MFW_SS_CUG_INFO;
474
475 /* Call forwarding result */
476 typedef struct
477 {
478 UBYTE ss_telecom_type;
479 UBYTE ss_telecom_service;
480 UBYTE ss_status;
481 UBYTE ss_numbering_type;
482 UBYTE ss_numbering_plan;
483 UBYTE ss_forwarded_to_number[MFW_SS_NUM_LEN];
484 UBYTE ss_forwarded_to_subaddress[MFW_SS_SUBADR_LEN];
485 UBYTE ss_no_reply_condition_time;
486 } T_MFW_FEATURE;
487
488 typedef struct
489 {
490 T_MFW_SS_CODES ss_code; /* Type of call forwarding */
491 T_MFW_SS_CATEGORY ss_category; /* Category of operation */
492 T_MFW_SS_ERROR ss_error; /* Error Value */
493 UBYTE ss_feature_count; /* Number of feature elements */
494 T_MFW_FEATURE *ss_feature_list; /* Feature list */
495 UBYTE dummy1;
496 UBYTE dummy2;
497 UBYTE dummy3;
498 UBYTE dummy4;
499 } T_MFW_SS_CF_CNF;
500
501 /* Call barring info */
502 typedef struct
503 {
504 UBYTE ss_telecom_type;
505 UBYTE ss_telecom_service;
506 UBYTE ss_status;
507 UBYTE dummy1;
508 UBYTE dummy2;
509 UBYTE dummy3;
510 UBYTE dummy4;
511 UBYTE dummy5;
512 } T_MFW_TELECOM;
513
514 /* Call barring result */
515 typedef struct
516 {
517 T_MFW_SS_CODES ss_code; /* Type of call barring */
518 T_MFW_SS_CATEGORY ss_category; /* Category of operation */
519 T_MFW_SS_ERROR ss_error; /* Error Value */
520 UBYTE ss_telecom_count; /* Number of telecom elements */
521 T_MFW_TELECOM *ss_telecom_list; /* telecom list */
522 UBYTE dummy1;
523 UBYTE dummy2;
524 UBYTE dummy3;
525 UBYTE dummy4;
526 } T_MFW_SS_CB_CNF;
527
528 /* Call waiting info */
529 typedef struct
530 {
531 UBYTE ss_telecom_type;
532 UBYTE ss_telecom_service;
533 UBYTE dummy1;
534 UBYTE dummy2;
535 UBYTE dummy3;
536 UBYTE dummy4;
537 UBYTE dummy5;
538 UBYTE dummy6;
539 } T_MFW_SRV_GROUP;
540
541 /* Call waiting result */
542 typedef struct
543 {
544 T_MFW_SS_CODES ss_code; /* Type of call waiting */
545 T_MFW_SS_CATEGORY ss_category; /* Category of operation */
546 T_MFW_SS_ERROR ss_error; /* Error Value */
547 UBYTE ss_status; /* Status */
548 UBYTE ss_service_count; /* Number of telecom elements */
549 T_MFW_SRV_GROUP *ss_service_list; /* Service list */
550 UBYTE dummy1;
551 UBYTE dummy2;
552 UBYTE dummy3;
553 UBYTE dummy4;
554 } T_MFW_SS_CW_CNF;
555
556 /* Calling line identification/connected line identification result */
557 typedef struct
558 {
559 T_MFW_SS_CODES ss_code; /* Type of line identification */
560 T_MFW_SS_CATEGORY ss_category; /* Category of operation */
561 T_MFW_SS_ERROR ss_error; /* Error Value */
562 UBYTE ss_status; /* Status */
563 T_MFW_CL_STATUS ss_clir_option; /* CLIR option */
564 T_MFW_OV_CTGRY ss_ovrd_ctgry; /* Override category */
565 } T_MFW_SS_CLI_CNF;
566
567 /* Get password indication */
568 typedef struct
569 {
570 T_MFW_SS_CODES ss_code; /* Type of call barring */
571 T_MFW_SS_CATEGORY ss_category; /* Category of operation */
572 T_MFW_SS_ERROR ss_error; /* Error Value */
573 UBYTE ss_new_pwd[MFW_SS_PWD_LEN];/* New Password */
574 UBYTE dummy1;
575 UBYTE dummy2;
576 UBYTE dummy3;
577 UBYTE dummy4;
578 } T_MFW_SS_PW_CNF;
579
580 /* SS notification */
581 typedef struct
582 {
583 UBYTE code; /* result copdes */
584 UBYTE index; /* used only for CUG */
585 UBYTE number[MFW_SS_NUM_LEN]; /* phone number */
586 UBYTE subaddr[MFW_SS_SUBADR_LEN]; /* subaddress */
587 UBYTE dummy1;
588 UBYTE dummy2;
589 UBYTE dummy3;
590 UBYTE dummy4;
591 } T_MFW_SS_NOTIFY;
592
593 /* SS result */
594 typedef struct
595 {
596 UBYTE type; /* type of service as specified in T_MFW_SS_CODES */
597 UBYTE category; /*command category as specified in T_MFW_SS_CATEGORY */
598 char ppn[MAX_PWD_LEN]; /* password, PUK, number depending on SS type */
599 char pwd[MAX_PWD_LEN]; /* password if applicable */
600 UBYTE bs; /* basic service (2.30) */
601 UBYTE time; /* no reply condition time (2.30) */
602 UBYTE dummy1;
603 UBYTE dummy2;
604 UBYTE dummy3;
605 UBYTE dummy4;
606 } T_MFW_SS_RES;
607
608 /* IMEI number */
609 typedef struct
610 {
611 UBYTE imei_number[LONG_NAME];
612 UBYTE error;
613 UBYTE dummy1;
614 UBYTE dummy2;
615 UBYTE dummy3;
616 UBYTE dummy4;
617 UBYTE dummy5;
618 } T_MFW_IMEI;
619
620 /* Unstructured supplementary service data */
621 typedef struct
622 {
623 UBYTE len; /* length of USSD data */
624 UBYTE ussd[MAX_USSD_LEN]; /* USSD data */
625 T_MFW_DCS dcs; /* data coding scheme */
626 UBYTE error;
627 UBYTE dummy1;
628 UBYTE dummy2;
629 UBYTE dummy3;
630 UBYTE dummy4;
631 } T_MFW_SS_USSD;
632
633 typedef struct /* CUG parameter */
634 {
635 T_MFW_SS_CUG_MODE mode; /* cug mode: disable/enable/no mode */
636 T_MFW_SS_CUG_INDEX index; /* cug index: 0 ...10 */
637 T_MFW_SS_CUG_INFO info; /* cug info:suppress OA,pref.CUG,both,no info */
638 UBYTE dummy1;
639 UBYTE dummy2;
640 UBYTE dummy3;
641 UBYTE dummy4;
642 }T_MFW_SS_CUG_PARA;
643
644 /* SS Parameter */
645 typedef union
646 {
647 T_MFW_SS_CF_CNF cf_cnf;
648 T_MFW_SS_CB_CNF cb_cnf;
649 T_MFW_SS_CW_CNF cw_cnf;
650 T_MFW_SS_CLI_CNF cli_cnf;
651 T_MFW_SS_PW_CNF pw_cnf;
652 T_MFW_SS_RES ss_res;
653 T_MFW_IMEI imei_info;
654 T_MFW_SS_USSD ussd_info;
655 T_MFW_SS_NOTIFY notify;
656 } T_MFW_SS_PARA;
657
658 EXTERN void ss_mfw_init (void);
659 EXTERN void ss_exit (void);
660 EXTERN T_MFW_HND ss_create (T_MFW_HND hWin,
661 T_MFW_EVENT event,
662 T_MFW_CB cbfunc);
663 EXTERN T_MFW_RES ss_delete (T_MFW_HND h);
664 EXTERN T_MFW_SS_RETURN ss_check_ss_string (UBYTE *string);
665 EXTERN T_MFW_SS_RETURN ss_execute_transaction (UBYTE *ss_string,
666 UBYTE ussd_mand);
667 EXTERN T_MFW ss_send_ussd (T_MFW_SS_USSD *ussd_info);
668 EXTERN T_MFW ss_abort_transaction (void);
669 T_MFW_SS_RETURN ss_check_group(T_KSD_SEQGRP grp, T_KSD_SEQPARAM para);
670 EXTERN T_MFW_SS_RETURN ss_set_cug (T_MFW_SS_CUG_PARA *cug_param);
671 EXTERN T_MFW_SS_RETURN ss_get_cug (T_MFW_SS_CUG_PARA *cug_param);
672 //CQ-16432 start
673 EXTERN void ss_sat_passwdReqd(T_ACI_AT_CMD cmdId, T_ACI_CME_ERR err);
674 //CQ-16432 end
675 #endif