FreeCalypso > hg > fc-selenite
comparison src/g23m-aci/ksd/ksd.h @ 1:d393cd9bb723
src/g23m-*: initial import from Magnetite
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sun, 15 Jul 2018 04:40:46 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
0:b6a5e36de839 | 1:d393cd9bb723 |
---|---|
1 /* | |
2 +----------------------------------------------------------------------------- | |
3 | Project : GSM-PS (6147) | |
4 | Modul : KSD | |
5 +----------------------------------------------------------------------------- | |
6 | Copyright 2002 Texas Instruments Berlin, AG | |
7 | All rights reserved. | |
8 | | |
9 | This file is confidential and a trade secret of Texas | |
10 | Instruments Berlin, AG | |
11 | The receipt of or possession of this file does not convey | |
12 | any rights to reproduce or disclose its contents or to | |
13 | manufacture, use, or sell anything it may describe, in | |
14 | whole, or in part, without the specific written consent of | |
15 | Texas Instruments Berlin, AG. | |
16 +----------------------------------------------------------------------------- | |
17 | Purpose : This module is used for decoding of EMMI key sequences | |
18 | and supplementary service control strings. | |
19 +----------------------------------------------------------------------------- | |
20 */ | |
21 | |
22 #ifndef KSD_H | |
23 #define KSD_H | |
24 | |
25 /*==== CONSTANTS ==================================================*/ | |
26 | |
27 #define KSD_TON_International 0x01 | |
28 #define KSD_TON_Unknown 0x00 | |
29 | |
30 #define KSD_NPI_IsdnTelephony 0x01 | |
31 #define KSD_NPI_Unknown 0x00 | |
32 | |
33 #define KSD_TOS_Nsap 0x00 | |
34 | |
35 #define KSD_OE_Even 0x00 | |
36 #define KSD_OE_Odd 0x01 | |
37 | |
38 #define KSD_TIME_NONE 0xFF /* no time parameter */ | |
39 #define KSD_IDX_NONE 0xFF /* no index parameter */ | |
40 | |
41 /*==== TYPES ======================================================*/ | |
42 | |
43 typedef enum /* +COLP parameter <mode> */ | |
44 { | |
45 COLP_MOD_NotPresent = -1, | |
46 COLP_MOD_Disable, | |
47 COLP_MOD_Enable | |
48 } | |
49 T_ACA_COLP_MOD; | |
50 | |
51 typedef enum /* +CLIP parameter <mode> */ | |
52 { | |
53 CLIP_MOD_NotPresent = -1, | |
54 CLIP_MOD_Disable, | |
55 CLIP_MOD_Enable | |
56 } | |
57 T_ACA_CLIP_MOD; | |
58 | |
59 typedef enum /* KSD operation codes */ | |
60 { | |
61 KSD_OP_NONE = 0, /* no operation */ | |
62 KSD_OP_IRGT, /* interrogate SS */ | |
63 KSD_OP_REG, /* register SS */ | |
64 KSD_OP_ERS, /* erase SS */ | |
65 KSD_OP_ACT, /* activate SS */ | |
66 KSD_OP_DEACT /* deactivate SS */ | |
67 } | |
68 T_ACI_KSD_OP; | |
69 | |
70 typedef enum /* KSD supplementary service codes */ | |
71 { | |
72 KSD_SS_NONE = 0xFF, /* no operation */ | |
73 KSD_SS_ALL_SERV = 0x00, /* all ss service */ | |
74 KSD_SS_CLIP = 0x11, /* calling line identification presentation */ | |
75 KSD_SS_CLIR = 0x12, /* calling line identification restriction */ | |
76 KSD_SS_COLP = 0x13, /* connected line identification presentation */ | |
77 KSD_SS_COLR = 0x14, /* connected line identification restriction */ | |
78 KSD_SS_CNAP = 0x19, /* calling name presentation */ | |
79 KSD_SS_ALL_FWSS = 0x20, /* all forwarding SS */ | |
80 KSD_SS_CFU = 0x21, /* call forwarding unconditional */ | |
81 KSD_SS_ALL_CFWSS = 0x28, /* all conditional forwarding SS */ | |
82 KSD_SS_CFB = 0x29, /* call forwarding on mobile subscriber busy */ | |
83 KSD_SS_CFNRY = 0x2a, /* call forwarding on no reply */ | |
84 KSD_SS_CFNRC = 0x2b, /* call forwarding on mobile subscriber not reachable */ | |
85 KSD_SS_CW = 0x41, /* call waiting */ | |
86 KSD_SS_CCBS = 0x43, /* completion of call to busy subscribers */ | |
87 KSD_SS_ALL_CBSS = 0x90, /* all barring SS */ | |
88 KSD_SS_BOC = 0x91, /* barring of outgoing calls */ | |
89 KSD_SS_BAOC = 0x92, /* barring of all outgoing calls */ | |
90 KSD_SS_BOIC = 0x93, /* barring of outgoing international calls */ | |
91 KSD_SS_BOICXH = 0x94, /* barring of outgoing international calls except those directed to the home PLMN */ | |
92 KSD_SS_BIC = 0x99, /* barring of incoming calls */ | |
93 KSD_SS_BAIC = 0x9a, /* barring of all incoming calls */ | |
94 KSD_SS_BICRM = 0x9b, /* barring of incoming calls when roaming outside home PLMN Country */ | |
95 KSD_SS_PIN1 = 0xE0, /* PIN 1 */ | |
96 KSD_SS_PIN2 = 0xE1 /* PIN 2 */ | |
97 } | |
98 T_ACI_KSD_SS; | |
99 | |
100 #define KSD_BS_TeleBearerUnknown (0xFF) | |
101 | |
102 typedef enum /* KSD basic service codes GSM 2.30 */ | |
103 { | |
104 KSD_BS_None = 0, /* no basic service */ | |
105 KSD_BS_AllTeleAllBearer = 9, | |
106 KSD_BS_AllTele = 10, | |
107 KSD_BS_Telephony, | |
108 KSD_BS_AllData, | |
109 KSD_BS_AllFax, | |
110 KSD_BS_SMS = 16, | |
111 KSD_BS_VoiceGroup, | |
112 KSD_BS_AllTeleXcptSMS = 19, | |
113 KSD_BS_AllBearer, | |
114 KSD_BS_AllAsync, | |
115 KSD_BS_AllSync, | |
116 KSD_BS_AllDataCircSync = 24, | |
117 KSD_BS_AllDataCircAsync, | |
118 KSD_BS_AllDedPackAcc, | |
119 KSD_BS_AllDedPADAcc, | |
120 KSD_BS_AllPLMNSpecTele = 50, | |
121 KSD_BS_PLMNSpecTele1, | |
122 KSD_BS_PLMNSpecTele2, | |
123 KSD_BS_PLMNSpecTele3, | |
124 KSD_BS_PLMNSpecTele4, | |
125 KSD_BS_PLMNSpecTele5, | |
126 KSD_BS_PLMNSpecTele6, | |
127 KSD_BS_PLMNSpecTele7, | |
128 KSD_BS_PLMNSpecTele8, | |
129 KSD_BS_PLMNSpecTele9, | |
130 KSD_BS_PLMNSpecTele10, | |
131 KSD_BS_PLMNSpecTele11, | |
132 KSD_BS_PLMNSpecTele12, | |
133 KSD_BS_PLMNSpecTele13, | |
134 KSD_BS_PLMNSpecTele14, | |
135 KSD_BS_PLMNSpecTele15, | |
136 KSD_BS_AllPLMNSpecBearer = 70, | |
137 KSD_BS_PLMNSpecBearer1, | |
138 KSD_BS_PLMNSpecBearer2, | |
139 KSD_BS_PLMNSpecBearer3, | |
140 KSD_BS_PLMNSpecBearer4, | |
141 KSD_BS_PLMNSpecBearer5, | |
142 KSD_BS_PLMNSpecBearer6, | |
143 KSD_BS_PLMNSpecBearer7, | |
144 KSD_BS_PLMNSpecBearer8, | |
145 KSD_BS_PLMNSpecBearer9, | |
146 KSD_BS_PLMNSpecBearer10, | |
147 KSD_BS_PLMNSpecBearer11, | |
148 KSD_BS_PLMNSpecBearer12, | |
149 KSD_BS_PLMNSpecBearer13, | |
150 KSD_BS_PLMNSpecBearer14, | |
151 KSD_BS_PLMNSpecBearer15, | |
152 KSD_BS_AuxTelephony = 89 | |
153 } | |
154 T_ACI_KSD_BS; | |
155 | |
156 typedef enum /* KSD basic service type */ | |
157 { | |
158 KSD_BS_TP_None = 0, /* no basic service type */ | |
159 KSD_BS_TP_Tele = 0x83, /* basic service teleservice */ | |
160 KSD_BS_TP_Bearer = 0x82 /* basic service bearer service */ | |
161 } | |
162 T_ACI_KSD_BS_TP; | |
163 | |
164 /* teleservice */ | |
165 typedef enum | |
166 { | |
167 KSD_TS_ALL_TS =0x0, /* all teleservices */ | |
168 KSD_TS_ALL_SPCH =0x10, /* All speech transmission services */ | |
169 KSD_TS_TLPHNY =0x11, /* telephony */ | |
170 KSD_TS_EMRGNCY =0x12, /* emergency calls */ | |
171 KSD_TS_ALL_SMS =0x20, /* all SMS services */ | |
172 KSD_TS_SMS_MT =0x21, /* SMS MT PP */ | |
173 KSD_TS_SMS_MO =0x22, /* SMS MO PP */ | |
174 KSD_TS_ALL_FAX =0x60, /* all FAX transmission services */ | |
175 KSD_TS_FAX3_ALT_SPCH =0x61, /* FAX group 3 alter. speech */ | |
176 KSD_TS_FAX3_AUTO =0x62, /* FAX group 3 automatic */ | |
177 KSD_TS_FAX4 =0x63, /* FAX group 4 */ | |
178 KSD_TS_ALL_DATA =0x70, /* all FAX and SMS services */ | |
179 KSD_TS_ALL_XCPT_SMS =0x80, /* all FAX and speech services */ | |
180 KSD_TS_ALL_PSSS =0xd0, /* all PLMN specific TS */ | |
181 KSD_TS_PLMN1 =0xd1, /* PLMN specific TS 1 */ | |
182 KSD_TS_PLMN2 =0xd2, /* PLMN specific TS 2 */ | |
183 KSD_TS_PLMN3 =0xd3, /* PLMN specific TS 3 */ | |
184 KSD_TS_PLMN4 =0xd4, /* PLMN specific TS 4 */ | |
185 KSD_TS_PLMN5 =0xd5, /* PLMN specific TS 5 */ | |
186 KSD_TS_PLMN6 =0xd6, /* PLMN specific TS 6 */ | |
187 KSD_TS_PLMN7 =0xd7, /* PLMN specific TS 7 */ | |
188 KSD_TS_PLMN8 =0xd8, /* PLMN specific TS 8 */ | |
189 KSD_TS_PLMN9 =0xd9, /* PLMN specific TS 9 */ | |
190 KSD_TS_PLMNA =0xda, /* PLMN specific TS A */ | |
191 KSD_TS_PLMNB =0xdb, /* PLMN specific TS B */ | |
192 KSD_TS_PLMNC =0xdc, /* PLMN specific TS C */ | |
193 KSD_TS_PLMND =0xdd, /* PLMN specific TS D */ | |
194 KSD_TS_PLMNE =0xde, /* PLMN specific TS E */ | |
195 KSD_TS_PLMNF =0xdf /* PLMN specific TS F */ | |
196 | |
197 } T_ACI_KSD_TELE_SERVICE; | |
198 | |
199 /* bearer service */ | |
200 typedef enum | |
201 { | |
202 KSD_BS_ALL_BS =0x0, /* all bearer services */ | |
203 KSD_BS_ALL_DATA_CDA =0x10, /* all data CDA services */ | |
204 KSD_BS_CDA_300 =0x11, /* data CDA 300 bps */ | |
205 KSD_BS_CDA_1200 =0x12, /* data CDA 1200 bps */ | |
206 KSD_BS_CDA_1200_75 =0x13, /* data CDA 1200/75 bps */ | |
207 KSD_BS_CDA_2400 =0x14, /* data CDA 2400 bps */ | |
208 KSD_BS_CDA_4800 =0x15, /* data CDA 4800 bps */ | |
209 KSD_BS_CDA_9600 =0x16, /* data CDA 9600 bps */ | |
210 KSD_BS_ALL_DATA_CDS =0x18, /* all data CDS services */ | |
211 KSD_BS_CDS_1200 =0x1a, /* data CDS 1200 bps */ | |
212 KSD_BS_CDS_2400 =0x1c, /* data CDS 2400 bps */ | |
213 KSD_BS_CDS_4800 =0x1d, /* data CDS 4800 bps */ | |
214 KSD_BS_CDS_9600 =0x1e, /* data CDS 9600 bps */ | |
215 KSD_BS_ALL_DATA_PAD =0x20, /* all data PAD services */ | |
216 KSD_BS_PAD_300 =0x21, /* data PAD 300 bps */ | |
217 KSD_BS_PAD_1200 =0x22, /* data PAD 1200 bps */ | |
218 KSD_BS_PAD_1200_75 =0x23, /* data PAD 1200/75 bps */ | |
219 KSD_BS_PAD_2400 =0x24, /* data PAD 2400 bps */ | |
220 KSD_BS_PAD_4800 =0x25, /* data PAD 4800 bps */ | |
221 KSD_BS_PAD_9600 =0x26, /* data PAD 9600 bps */ | |
222 KSD_BS_ALL_DATA_PDS =0x28, /* all data PDS services */ | |
223 KSD_BS_PDS_2400 =0x2c, /* data PDS 2400 bps */ | |
224 KSD_BS_PDS_4800 =0x2d, /* data PDS 4800 bps */ | |
225 KSD_BS_PDS_9600 =0x2e, /* data PDS 9600 bps */ | |
226 KSD_BS_SPCH_ALT_CDA =0x30, /* all data CDA alter. speech */ | |
227 KSD_BS_SPCH_ALT_CDS =0x38, /* all data CDS alter. speech */ | |
228 KSD_BS_SPCH_FLD_CDA =0x40, /* all data speech followed CDA */ | |
229 KSD_BS_SPCH_FLD_CDS =0x48, /* all data speech followed CDA */ | |
230 KSD_BS_ALL_DC_ASYN =0x50, /* all data circuit asynchronous */ | |
231 KSD_BS_ALL_ASYN =0x60, /* all asynchronous services */ | |
232 KSD_BS_ALL_DC_SYN =0x58, /* all data circuit synchronous */ | |
233 KSD_BS_ALL_SYN =0x68, /* all synchronous services */ | |
234 KSD_BS_ALL_PSSS =0xd0, /* all PLMN specific BS */ | |
235 KSD_BS_PLMN1 =0xd1, /* PLMN specific 1 */ | |
236 KSD_BS_PLMN2 =0xd2, /* PLMN specific 2 */ | |
237 KSD_BS_PLMN3 =0xd3, /* PLMN specific 3 */ | |
238 KSD_BS_PLMN4 =0xd4, /* PLMN specific 4 */ | |
239 KSD_BS_PLMN5 =0xd5, /* PLMN specific 5 */ | |
240 KSD_BS_PLMN6 =0xd6, /* PLMN specific 6 */ | |
241 KSD_BS_PLMN7 =0xd7, /* PLMN specific 7 */ | |
242 KSD_BS_PLMN8 =0xd8, /* PLMN specific 8 */ | |
243 KSD_BS_PLMN9 =0xd9, /* PLMN specific 9 */ | |
244 KSD_BS_PLMNA =0xda, /* PLMN specific A */ | |
245 KSD_BS_PLMNB =0xdb, /* PLMN specific B */ | |
246 KSD_BS_PLMNC =0xdc, /* PLMN specific C */ | |
247 KSD_BS_PLMND =0xdd, /* PLMN specific D */ | |
248 KSD_BS_PLMNE =0xde, /* PLMN specific E */ | |
249 KSD_BS_PLMNF =0xdf /* PLMN specific F */ | |
250 | |
251 } T_ACI_KSD_BEARER_SERVICE; | |
252 | |
253 typedef enum /* KSD SS Status */ | |
254 { | |
255 KSD_ST_NOT_VALID = 0xFF,/* no valid SS status */ | |
256 KSD_ST_NONE = 0, /* not registered, not active, not provisioned, | |
257 not quiescent */ | |
258 KSD_ST_A, /* Active */ | |
259 KSD_ST_R, /* Registered */ | |
260 KSD_ST_RA, /* Registered,Active */ | |
261 KSD_ST_P, /* Provisioned */ | |
262 KSD_ST_PA, /* Provisioned,Active */ | |
263 KSD_ST_PR, /* Provisioned,Registered */ | |
264 KSD_ST_PRA, /* Provisioned,Registered,Active */ | |
265 KSD_ST_Q, /* Quiescent */ | |
266 KSD_ST_QA, /* Quiescent,Active */ | |
267 KSD_ST_QR, /* Quiescent,Registered */ | |
268 KSD_ST_QRA, /* Quiescent,Registered,Active */ | |
269 KSD_ST_QP, /* Quiescent,Provisioned */ | |
270 KSD_ST_QPA, /* Quiescent,Provisioned,Active */ | |
271 KSD_ST_QPR, /* Quiescent,Provisioned,Registered */ | |
272 KSD_ST_QPRA /* Quiescent,Provisioned,Registered,Active */ | |
273 } | |
274 T_ACI_KSD_ST; | |
275 | |
276 typedef enum /* KSD CLIR option */ | |
277 { | |
278 KSD_CO_NOT_VALID = 0xFF, /* no valid CLIR option */ | |
279 KSD_CO_PERMANENT = 0x0, /* CLIR permanent */ | |
280 KSD_CO_TEMPORARY = 0x1, /* CLIR temporary default */ | |
281 KSD_CO_ALLOWED = 0x2 /* CLIR Allowed temporary default */ | |
282 } | |
283 T_ACI_KSD_CLIR_OP; | |
284 | |
285 typedef enum | |
286 { | |
287 KSD_OVR_CAT_NOT_VALID = 0xFF, /* no valid CLIR option */ | |
288 KSD_OVR_CAT_ENABLED = 0x0, /* Override enabled */ | |
289 KSD_OVR_CAT_DISABLED = 0x1 /* Override disabled */ | |
290 } | |
291 T_ACI_KSD_OVRD_CTG; | |
292 | |
293 typedef enum | |
294 { | |
295 KSD_NO_ERROR = 0x0, | |
296 KSD_ERR_UNKNOWN_SUBSCRIBER = 0x1, | |
297 KSD_ERR_ILLEGAL_SUBSCRIBER = 0x9, | |
298 KSD_ERR_BEARER_SVC_NOT_PROV = 0xa, | |
299 KSD_ERR_TELE_SVC_NOT_PROV = 0xb, | |
300 KSD_ERR_ILLEGAL_EQUIPMENT = 0xc, | |
301 KSD_ERR_CALL_BARRED = 0xd, | |
302 KSD_ERR_ILLEGAL_SS_OPERATION = 0x10, | |
303 KSD_ERR_SS_ERR_STATUS = 0x11, | |
304 KSD_ERR_SS_NOT_AVAIL = 0x12, | |
305 KSD_ERR_SS_SUBS_VIOLATION = 0x13, | |
306 KSD_ERR_SS_INCOMP = 0x14, | |
307 KSD_ERR_FAC_NOT_SUPPORTED = 0x15, | |
308 KSD_ERR_ABSENT_SUBS = 0x1b, | |
309 KSD_ERR_SYSTEM_FAIL = 0x22, | |
310 KSD_ERR_DATA_MISSING = 0x23, | |
311 KSD_ERR_UNEXPECT_DATA = 0x24, | |
312 KSD_ERR_PWD_REG_FAIL = 0x25, | |
313 KSD_ERR_NEG_PWD_CHECK = 0x26, | |
314 KSD_ERR_NUM_PWD_VIOLATION = 0x2b, | |
315 KSD_ERR_UNKNOWN_ALPHA = 0x47, | |
316 KSD_ERR_USSD_BUSY = 0x48, | |
317 KSD_ERR_MAX_NUM_MPTY_EXCEED = 0x7e, | |
318 KSD_ERR_RESOURCE_NOT_AVAIL = 0x7f, | |
319 KSD_GEN_PROB_UNRECOG_CMP = 0xA0, | |
320 KSD_GEN_PROB_MISTYPED_CMP = 0xA1, | |
321 KSD_GEN_PROB_BAD_STRUCT_CMP = 0xA2, | |
322 KSD_INV_PROB_DUPL_INV_ID = 0xB0, | |
323 KSD_INV_PROB_UNRECOG_OP = 0xB1, | |
324 KSD_INV_PROB_MISTYPED_PAR = 0xB2, | |
325 KSD_INV_PROB_RESOURCE_LIM = 0xB3, | |
326 KSD_INV_PROB_INIT_RELEASE = 0xB4, | |
327 KSD_INV_PROB_UNRECOG_LNK_ID = 0xB5, | |
328 KSD_INV_PROB_LNK_RES_UNEXP = 0xB6, | |
329 KSD_INV_PROB_UNEXP_LNK_OP = 0xB7, | |
330 KSD_RES_PROB_UNRECOG_INV_ID = 0xC0, | |
331 KSD_RES_PROB_RET_RES_UNEXP = 0xC1, | |
332 KSD_RES_PROB_MISTYPED_PAR = 0xC2, | |
333 KSD_ERR_PROB_UNRECOG_INV_ID = 0xD0, | |
334 KSD_ERR_PROB_RET_ERR_UNEXP = 0xD1, | |
335 KSD_ERR_PROB_UNRECOG_ERR = 0xD2, | |
336 KSD_ERR_PROB_UNEXP_ERR = 0xD3, | |
337 KSD_ERR_PROB_MISTYPED_PAR = 0xD4, | |
338 KSD_ERR_FATAL_INV_RESULT = 0xE0, | |
339 KSD_ERR_FATAL_CCD_DEC = 0xE1, | |
340 KSD_ERR_FATAL_SS_ENT = 0xE2 | |
341 } | |
342 T_ACI_KSD_ERR; | |
343 | |
344 typedef enum /* type of key sequence */ | |
345 { | |
346 #ifdef SMI | |
347 SEQGRP_KEYPAD_IND, | |
348 SEQGRP_LCD_TEST, | |
349 SEQGRP_SET_ABBR_DIAL, | |
350 SEQGRP_SHOW_CALL_TABLE, | |
351 | |
352 SEQGRP_SMS_SEND, | |
353 SEQGRP_SMS_SEND_FROM_MEM, | |
354 SEQGRP_SMS_WRITE, | |
355 SEQGRP_SMS_DELETE, | |
356 SEQGRP_SMS_READ, | |
357 SEQGRP_SMS_LIST, | |
358 SEQGRP_SMS_READ_SINGLE, | |
359 | |
360 SEQGRP_SND_CBST, | |
361 SEQGRP_SND_CRLP, | |
362 SEQGRP_SND_DS, | |
363 | |
364 SEQGRP_DATA_SPEECH, | |
365 SEQGRP_SPEECH_DATA, | |
366 #endif | |
367 | |
368 SEQGRP_CHANGE_REGISTER, | |
369 SEQGRP_SET_REGISTER, | |
370 SEQGRP_START_REGISTER, | |
371 | |
372 SEQGRP_ACT_SIM_LOCK, | |
373 SEQGRP_DEACT_SIM_LOCK, | |
374 SEQGRP_INTRGT_SIM_LOCK, | |
375 | |
376 SEQGRP_DTMF, | |
377 | |
378 SEQGRP_SUP_CLIR, | |
379 SEQGRP_INV_CLIR, | |
380 SEQGRP_SUP_CLIP, | |
381 SEQGRP_INV_CLIP, | |
382 SEQGRP_SUP_COLR, | |
383 SEQGRP_INV_COLR, | |
384 SEQGRP_SUP_COLP, | |
385 SEQGRP_INV_COLP, | |
386 SEQGRP_TTY_SERV, | |
387 | |
388 SEQGRP_CB, | |
389 SEQGRP_CF, | |
390 SEQGRP_CHLD, | |
391 SEQGRP_CL, | |
392 SEQGRP_CW, | |
393 SEQGRP_DIAL, | |
394 SEQGRP_DIAL_IDX, | |
395 SEQGRP_PRSNT_IMEI, | |
396 SEQGRP_PWD, | |
397 SEQGRP_UBLK, | |
398 SEQGRP_UNKNOWN, | |
399 SEQGRP_USSD, | |
400 SEQGRP_CCBS, | |
401 SEQGRP_CTFR, | |
402 | |
403 SEQGRP_HOOK_OFF, | |
404 SEQGRP_HOOK_ON, | |
405 | |
406 SEQGRP_MS_OFF, | |
407 SEQGRP_MS_ON, | |
408 | |
409 SEQGRP_EM_MODE | |
410 } | |
411 T_KSD_SEQGRP; | |
412 | |
413 typedef struct /* parameter list of function cmh_ksdCB */ | |
414 { | |
415 UBYTE opCd; | |
416 UBYTE ssCd; | |
417 UBYTE bsCd; | |
418 UBYTE *pwd; | |
419 } T_ACI_KSD_CB_PRM; | |
420 | |
421 typedef struct /* parameter list of function cmh_ksdCF */ | |
422 { | |
423 UBYTE opCd; | |
424 UBYTE ssCd; | |
425 UBYTE bsCd; | |
426 UBYTE *num; | |
427 UBYTE npi; | |
428 UBYTE ton; | |
429 UBYTE *sub; | |
430 UBYTE tos; | |
431 UBYTE oe; | |
432 UBYTE time; | |
433 } T_ACI_KSD_CF_PRM; | |
434 | |
435 typedef struct /* parameter list of function cmh_ksdCL */ | |
436 { | |
437 UBYTE opCd; | |
438 UBYTE ssCd; | |
439 } T_ACI_KSD_CL_PRM; | |
440 | |
441 typedef struct /* parameter list of function cmh_ksdCW */ | |
442 { | |
443 UBYTE opCd; | |
444 UBYTE bsCd; | |
445 } T_ACI_KSD_CW_PRM; | |
446 | |
447 typedef struct /* parameter list of function cmh_ksdPWD */ | |
448 { | |
449 UBYTE ssCd; | |
450 UBYTE *oldPwd; | |
451 UBYTE *newPwd; | |
452 UBYTE *newPwd2; | |
453 } T_ACI_KSD_PWD_PRM; | |
454 | |
455 typedef struct /* parameter list of function cmh_ksdUBLK */ | |
456 { | |
457 UBYTE ssCd; | |
458 UBYTE *puk; | |
459 UBYTE *pin; | |
460 } T_ACI_KSD_UBLK_PRM; | |
461 | |
462 typedef struct /* parameter list of function cmh_ksdUSSD */ | |
463 { | |
464 UBYTE* ussd; | |
465 } T_ACI_KSD_USSD_PRM; | |
466 | |
467 typedef struct /* parameter list of function cmh_ksdCCBS */ | |
468 { | |
469 UBYTE opCd; | |
470 UBYTE idx; | |
471 } T_ACI_KSD_CCBS_PRM; | |
472 | |
473 typedef struct /* parameter list used for setting of */ | |
474 { /* abbreviated dialing parameter */ | |
475 CHAR* number; | |
476 BYTE index; | |
477 } | |
478 T_KSD_ABBR_DIAL; | |
479 | |
480 typedef struct /* parameter list of function sAT_PlusCBST */ | |
481 { | |
482 T_ACI_BS_SPEED speed; | |
483 T_ACI_CBST_NAM name; | |
484 T_ACI_CBST_CE ce; | |
485 } | |
486 T_KSD_CBST; | |
487 | |
488 typedef struct /* parameter list for TTY/CTM service request */ | |
489 { | |
490 T_ACI_CTTY_REQ req; | |
491 } | |
492 T_KSD_CTTY; | |
493 | |
494 typedef struct /* parameter list of function sAT_PlusCHLD */ | |
495 { | |
496 T_ACI_CHLD_MOD mode; | |
497 CHAR* call; | |
498 } | |
499 T_KSD_CHLD; | |
500 | |
501 typedef struct /* parameter list of function sAT_PlusCTFR */ | |
502 { | |
503 CHAR *number; | |
504 T_ACI_TOA type; | |
505 CHAR *subaddr; | |
506 T_ACI_TOS satype; | |
507 } | |
508 T_KSD_CTFR; | |
509 | |
510 typedef struct /* parameter list of function sAT_PlusCLCK */ | |
511 { | |
512 T_ACI_FAC fac; | |
513 T_ACI_CLCK_MOD mode; | |
514 CHAR* passwd; | |
515 T_ACI_CLASS class_type; | |
516 } | |
517 T_KSD_CLCK; | |
518 | |
519 typedef struct /* parameter list of function qAT_PlusCLCK */ | |
520 { | |
521 T_ACI_FAC fac; | |
522 } | |
523 T_KSD_CLCK_QUERY; | |
524 | |
525 typedef struct /* parameter list of function sAT_PlusCLIP */ | |
526 { | |
527 T_ACA_CLIP_MOD mode; | |
528 } | |
529 T_KSD_CLIP; | |
530 | |
531 typedef struct /* parameter list of function sAT_PlusCLIR */ | |
532 { | |
533 T_ACI_CLIR_MOD mode; | |
534 } | |
535 T_KSD_CLIR; | |
536 | |
537 typedef struct /* parameter list of function sAT_PlusCOLP */ | |
538 { | |
539 T_ACA_COLP_MOD mode; | |
540 } | |
541 T_KSD_COLP; | |
542 | |
543 typedef struct /* parameter list of function sAT_PlusCOPS */ | |
544 { | |
545 T_ACI_COPS_MOD mode; | |
546 T_ACI_COPS_FRMT frmt; | |
547 CHAR* oper; | |
548 } | |
549 T_KSD_COPS; | |
550 | |
551 typedef struct /* parameter list of function sAT_PlusCRLP */ | |
552 { | |
553 SHORT iws; | |
554 SHORT mws; | |
555 SHORT t1; | |
556 SHORT n2; | |
557 } | |
558 T_KSD_CRLP; | |
559 | |
560 typedef struct /* parameter list of function sAT_Dn */ | |
561 { | |
562 CHAR* number; | |
563 T_ACI_D_CLIR_OVRD clirOvrd; | |
564 T_ACI_D_CUG_CTRL cugCtrl; | |
565 T_ACI_D_TOC callType; | |
566 } | |
567 T_KSD_DIAL; | |
568 | |
569 typedef struct /* parameter list of function sAT_Dm */ | |
570 { | |
571 CHAR* str; | |
572 T_ACI_PB_STOR mem; | |
573 SHORT index; | |
574 T_ACI_D_CLIR_OVRD clirOvrd; | |
575 T_ACI_D_CUG_CTRL cugCtrl; | |
576 T_ACI_D_TOC callType; | |
577 } | |
578 T_KSD_DIAL_IDX; | |
579 | |
580 typedef struct /* parameter list of function sAT_PlusDS */ | |
581 { | |
582 T_ACI_DS_DIR dir; | |
583 T_ACI_DS_COMP comp; | |
584 LONG maxDict; | |
585 SHORT maxStr; | |
586 } | |
587 T_KSD_DS; | |
588 | |
589 typedef struct /* parameter list of the keypad indication */ | |
590 { | |
591 UBYTE keyCode; | |
592 UBYTE keyStat; | |
593 } | |
594 T_KSD_KEYPAD_IND; | |
595 | |
596 typedef union /* decoded parameter for ACI function */ | |
597 { | |
598 T_ACI_KSD_CB_PRM cb; | |
599 T_ACI_KSD_CF_PRM cf; | |
600 T_ACI_KSD_CL_PRM cl; | |
601 T_ACI_KSD_CW_PRM cw; | |
602 T_ACI_KSD_PWD_PRM pwd; | |
603 T_ACI_KSD_UBLK_PRM ublk; | |
604 T_ACI_KSD_USSD_PRM ussd; | |
605 T_ACI_KSD_CCBS_PRM ccbs; | |
606 | |
607 CHAR dtmf; | |
608 T_KSD_ABBR_DIAL abbrDial; | |
609 T_KSD_CBST cbst; | |
610 T_KSD_CTTY ctty; | |
611 T_KSD_CHLD chld; | |
612 T_KSD_CTFR ctfr; | |
613 T_KSD_CLCK clck; | |
614 T_KSD_CLCK_QUERY clck_query; | |
615 T_KSD_CLIP Clip; /* capital C in Clir, Clip and Colp is */ | |
616 T_KSD_CLIR Clir; /* necessary to avoid identifier conflicts*/ | |
617 T_KSD_COLP Colp; /* (see constants in project MFW) */ | |
618 T_KSD_COPS cops; | |
619 T_KSD_CRLP crlp; | |
620 T_KSD_DIAL dial; | |
621 T_KSD_DIAL_IDX dialIdx; | |
622 T_KSD_DS ds; | |
623 T_KSD_KEYPAD_IND keypad; | |
624 } | |
625 T_KSD_SEQPARAM; | |
626 | |
627 /*==== PROTOTYPES =================================================*/ | |
628 /* | |
629 +--------------------------------------------------------------------+ | |
630 | PROJECT : GSM-PS (6147) MODULE : KSD | | |
631 | STATE : code ROUTINE : ksd_decode | | |
632 +--------------------------------------------------------------------+ | |
633 | |
634 PURPOSE : This function decodes the incoming keystroke sequence. | |
635 | |
636 <inSeq>: key sequence, to be decoded | |
637 <inCall>: TRUE if MMI is within a call, otherwise | |
638 FALSE | |
639 <outSeqGrp>: sequence group | |
640 <outRestSeq>: rest key sequence, to be decoded by a | |
641 further call to this function | |
642 <outSeqParam>: sequence parameter | |
643 | |
644 returns: TRUE if decoding was successfull, | |
645 otherwise FALSE | |
646 */ | |
647 GLOBAL BOOL ksd_decode (CHAR* inSeq, | |
648 BOOL inCall, | |
649 T_KSD_SEQGRP* outSeqGrp, | |
650 CHAR** outRestSeq, | |
651 T_KSD_SEQPARAM* outSeqParam); | |
652 | |
653 /* | |
654 +--------------------------------------------------------------------+ | |
655 | PROJECT : GSM-PS (6147) MODULE : KSD | | |
656 | STATE : code ROUTINE : ksd_getPwdHidden | | |
657 +--------------------------------------------------------------------+ | |
658 | |
659 PURPOSE : This function is used to hide passwords which are being | |
660 entered during input of a keystroke sequence. | |
661 | |
662 <inSeq>: key sequence to be manipulated | |
663 <replace>: character which is used for replacing of | |
664 passwords | |
665 */ | |
666 GLOBAL void ksd_getPwdHidden (CHAR* inSeq, | |
667 CHAR replace); | |
668 | |
669 /* | |
670 +--------------------------------------------------------------------+ | |
671 | PROJECT : GSM-PS (6147) MODULE : KSD | | |
672 | STATE : code ROUTINE : ksd_isSscs | | |
673 +--------------------------------------------------------------------+ | |
674 | |
675 PURPOSE : This function return whether the given string is a | |
676 supplementary service control string. | |
677 | |
678 <inSeq>: key sequence | |
679 | |
680 returns: TRUE if string is a supplementary service | |
681 control string, otherwise FALSE | |
682 */ | |
683 GLOBAL BOOL ksd_isSscs (CHAR* inSeq); | |
684 | |
685 /* | |
686 +--------------------------------------------------------------------+ | |
687 | PROJECT : GSM-PS (6147) MODULE : KSD | | |
688 | STATE : code ROUTINE : ksd_isSATSscs | | |
689 +--------------------------------------------------------------------+ | |
690 | |
691 PURPOSE : This function return whether the given string is a | |
692 supplementary service control string for SAT. | |
693 | |
694 <inSeq>: key sequence | |
695 | |
696 returns: TRUE if string is a supplementary service | |
697 control string for SAT, otherwise FALSE | |
698 */ | |
699 GLOBAL BOOL ksd_isSATSscs ( CHAR* inSeq ); | |
700 | |
701 /* | |
702 +--------------------------------------------------------------------+ | |
703 | PROJECT : GSM-PS (6147) MODULE : KSD | | |
704 | STATE : code ROUTINE : ksd_isUSSD | | |
705 +--------------------------------------------------------------------+ | |
706 | |
707 PURPOSE : This function checks whether key sequence is an | |
708 unstructured SS command. | |
709 | |
710 <keySeq>: buffer containing the key sequence | |
711 */ | |
712 GLOBAL BOOL ksd_isUSSD (CHAR *keySeq); | |
713 | |
714 /* | |
715 +--------------------------------------------------------------------+ | |
716 | PROJECT : GSM-PS (6147) MODULE : KSD | | |
717 | STATE : code ROUTINE : ksd_isFDNCheckSeq | | |
718 +--------------------------------------------------------------------+ | |
719 | |
720 PURPOSE : This function return whether the given string must check | |
721 in FDN phonebook | |
722 | |
723 <inSeq>: key sequence | |
724 | |
725 returns: TRUE if string must check, | |
726 otherwise FALSE | |
727 */ | |
728 GLOBAL BOOL ksd_isFDNCheckSeq (CHAR* inSeq); | |
729 | |
730 | |
731 /* | |
732 +--------------------------------------------------------------------+ | |
733 | PROJECT : GSM-PS (6147) MODULE : KSD | | |
734 | STATE : code ROUTINE : ksd_isBCDForUSBand | | |
735 +--------------------------------------------------------------------+ | |
736 | |
737 PURPOSE : This function checks if US band is used and key sequence | |
738 is "0" or "00", because these key sequences shall be send | |
739 to network as normal dialing numbers when using US band. | |
740 | |
741 <inSeq>: key sequence | |
742 | |
743 returns: TRUE if US band is used and key sequence | |
744 is "0" or "00", | |
745 otherwise FALSE | |
746 */ | |
747 GLOBAL BOOL ksd_isBCDForUSBand (CHAR* inSeq); | |
748 /* | |
749 +--------------------------------------------------------------------+ | |
750 | PROJECT : GSM-PS (6147) MODULE : KSD | | |
751 | STATE : code ROUTINE : ksd_check_write_to_LDN | | |
752 +--------------------------------------------------------------------+ | |
753 | |
754 PURPOSE : This function is used to decide if the keystroke sequence needs to | |
755 be stored in the LDN or not. | |
756 | |
757 <inSeq>: key sequence | |
758 | |
759 returns: TRUE if the keystroke sequence doesn't contain password | |
760 or it is not a local string | |
761 otherwise FALSE | |
762 */ | |
763 GLOBAL BOOL ksd_isLDNWriteCheckSeq(CHAR* inSeq); | |
764 | |
765 | |
766 | |
767 /*==== EXPORT =====================================================*/ | |
768 | |
769 #endif | |
770 |