comparison src/aci2/mfw/mfw_ss.h @ 3:93999a60b835

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