FreeCalypso > hg > tcs211-c139
comparison g23m/condat/com/include/pcm.h @ 0:509db1a7b7b8
initial import: leo2moko-r1
author | Space Falcon <falcon@ivan.Harhan.ORG> |
---|---|
date | Mon, 01 Jun 2015 03:24:05 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:509db1a7b7b8 |
---|---|
1 /* | |
2 +----------------------------------------------------------------------------- | |
3 | Project : GSM-MFW | |
4 | Modul : | |
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 : Types definitions for the permanent memory configuration. | |
18 +----------------------------------------------------------------------------- | |
19 */ | |
20 /******************************************************************************** | |
21 $History: pcm.h | |
22 | |
23 Jun 14, 2005 REF: MMI-FIX-30439 x0018858 | |
24 Description: The homezone/cityzone tags were not being displayed properly. | |
25 Solution: Modified to save the tags properly in caches and also made the | |
26 appropriate modifications to update the same properly during mobility. | |
27 | |
28 ********************************************************************************/ | |
29 | |
30 #ifndef PCM_H | |
31 #define PCM_H | |
32 | |
33 /******************************************************************** | |
34 * | |
35 * Parameters written in flash memory | |
36 * | |
37 ********************************************************************/ | |
38 | |
39 #define PCM_SERIAL_CONFIG (0) | |
40 | |
41 /******************************************************************** | |
42 * | |
43 * Access functions to bit fields | |
44 * | |
45 ********************************************************************/ | |
46 | |
47 #ifndef __BF_FUNCCALL__ | |
48 #define FldGet(f,n) ((((ULONG)f)&((ULONG)n##m))>>n##s) | |
49 #define FldSet(f,n,v) ((((ULONG)f)&(~((ULONG)n##m)))|(((ULONG)v)<<n##s)) | |
50 #else | |
51 ULONG FldGet (ULONG f, ULONG m, int s) | |
52 { return ((f&m)>>s); } | |
53 ULONG FldSet (ULONG f, ULONG m, int s, ULONG v) | |
54 { return ((f&(~m))|((v<<s)&m)); } | |
55 #endif | |
56 | |
57 /******************************************************************** | |
58 * | |
59 * Field Identitifer | |
60 * | |
61 ********************************************************************/ | |
62 | |
63 #define EF_MSCAP_ID "MSCAP" /* Mobile Capabilities */ | |
64 #define EF_IMEI_ID "IMEI" /* Int. Mobile Equipment Id */ | |
65 #define EF_IMSI_ID "IMSI" /* Int. Mobile Subscriber Id */ | |
66 #define EF_SMS_ID "SMS" /* Short Messages */ | |
67 #define EF_CLASS2_ID "CLASS2" /* MS Classmark 2 */ | |
68 #define EF_CLASS3_ID "CLASS3" /* MS Classmark 3 (old def.)*/ | |
69 #define EF_RFCAP_ID "RFCAP" /* RF Capabilities */ | |
70 #define EF_MSSUP_ID "MSSUP" /* Mobile Setup */ | |
71 #define EF_MSSET_ID "MSSET" /* Mobile Setting */ | |
72 // Jun 14, 2005 REF: MMI-FIX-30439 x0018858 | |
73 #define EF_HZCACHE_ID "HZCACHE" /* Homezone cache */ | |
74 #define EF_LDN_ID "LDN" /* Last Dialed Numbers */ | |
75 #define EF_LRN_ID "LRN" /* Last Received Numbers */ | |
76 #define EF_LMN_ID "LMN" /* Last Missed Numbers */ | |
77 #define EF_UPN_ID "UPN" /* User Personal Numbers */ | |
78 #define EF_MBN_ID "MBN" /* Mailbox Numbers */ | |
79 #define EF_VMN_ID "VMN" /* Voice Mail Number */ | |
80 #define EF_CLNG_ID "CLNG" /* Current LAnguage */ | |
81 #define EF_CTIM_ID "CTIM" /* Call Timer */ | |
82 #define EF_CCNT_ID "CCNT" /* Call Counter */ | |
83 #define EF_ECC_ID "ECC" /* Emergency Call Codes */ | |
84 #define EF_ORG_ID "ORG" /* Organizer and Alarm */ | |
85 #define EF_CCP_ID "CCP" /* Caps and Config Params */ | |
86 #define EF_EXT1_ID "EXT1" /* Extension 1 */ | |
87 #define EF_SIMLCK_ID "SIMLCK" /* SIM Lock */ | |
88 #define EF_SIMLCKEXT_ID "SIMLCKEXT" /* SIM Lock Extended */ | |
89 #define EF_MAIN_ID "MAIN" /* Maintenance */ | |
90 #define EF_SFK_ID "SFK" /* Special Function Key */ | |
91 #define EF_FAULT_ID "FAULT" /* Fault Conditions */ | |
92 #define EF_DEBUG_ID "DEBUG" /* Debug Information */ | |
93 #define EF_POWER_ID "POWER" /* Power Management */ | |
94 #define EF_KEYB_ID "KEYB" /* Keyboard Mapping */ | |
95 #define EF_RADIO_ID "RADIO" /* Radio Parameter */ | |
96 #define EF_CGMI_ID "CGMI" /* Manufacturer */ | |
97 #define EF_INF0_ID "INF0" /* Manufacturer 1 */ | |
98 #define EF_CGMM_ID "CGMM" /* Model */ | |
99 #define EF_CGMR_ID "CGMR" /* Revision */ | |
100 #define EF_CGSN_ID "CGSN" /* Product Serial Number */ | |
101 #define EF_SMSPRFL_ID "SMSPRFL" /* SMS Profile */ | |
102 #define EF_PLMN_ID "PLMN" /* PLMN Identifier */ | |
103 #define EF_BCCHINFO_ID "BCCHINF" /* BCCH Information */ | |
104 #define EF_ALS_ID "ALS" /* alternate line service */ | |
105 #define EF_LOCGPRS_ID "LOCGPRS" /* Location Inf. (GPRS) */ | |
106 #define EF_KCGPRS_ID "KCGPRS" /* Ciphering Key (GPRS) */ | |
107 #define EF_IMSIGPRS_ID "IMSIGPRS" /* IMSI check for GPRS */ | |
108 | |
109 /******************************************************************** | |
110 * | |
111 * Return Values | |
112 * | |
113 ********************************************************************/ | |
114 | |
115 #define drv_Return_Type UBYTE | |
116 | |
117 #define PCM_OK 0 | |
118 #define PCM_INITIALIZED 1 | |
119 #define PCM_INVALID_FILE 2 | |
120 #define PCM_INVALID_SIZE 3 | |
121 #define PCM_INVALID_CKSM 4 | |
122 #define PCM_INVALID_RECORD 5 | |
123 #define PCM_NVRAM_ACCS_FAIL 6 | |
124 #define PCM_ERASE_ERROR 7 | |
125 #define PCM_WRITE_ERROR 8 | |
126 /* | |
127 * Field Info Structure | |
128 */ | |
129 typedef struct pcm_FileInfo_Type | |
130 { | |
131 UBYTE * FileLocation; | |
132 USHORT FileSize; | |
133 UBYTE Version; | |
134 } pcm_FileInfo_Type; | |
135 | |
136 | |
137 /******************************************************************** | |
138 * | |
139 * Field MOBILE CAPABILITIES | |
140 * | |
141 ********************************************************************/ | |
142 | |
143 typedef struct pcm_EFmscap_Type /* Mobile Capabilities */ | |
144 { | |
145 UBYTE chnMode; /* channel modes */ | |
146 UBYTE datCap1; /* data capabilities */ | |
147 UBYTE datCap2; /* data capabilities */ | |
148 UBYTE featLst1; /* feature list */ | |
149 UBYTE featLst2; /* feature list */ | |
150 UBYTE featLst3; /* feature list */ | |
151 } EF_MSCAP; | |
152 | |
153 #define SIZE_EF_MSCAP 6 | |
154 #define NR_EF_MSCAP 1 | |
155 | |
156 /* | |
157 * chnMode bits | |
158 * | |
159 * Octet 8 7 6 5 4 3 2 1 | |
160 * L1 Tm afs ahs spV3 efrV2 hr spV1 | |
161 */ | |
162 #define spchSupV1 0x00000001,0 /* speech support (vers. 1) */ | |
163 #define spchSupV1m 0x00000001 | |
164 #define spchSupV1s 0 | |
165 #define hrSup 0x00000002,1 /* HR support */ | |
166 #define hrSupm 0x00000002 | |
167 #define hrSups 1 | |
168 #define HR_EFRSup 0x00000006,1 /* HR and EFR support */ | |
169 #define HR_EFRSupm 0x00000006 | |
170 #define HR_EFRSups 1 | |
171 #define EFRSupV2 0x00000004,2 /* enhanced FR support (v2) */ | |
172 #define EFRSupV2m 0x00000004 | |
173 #define EFRSupV2s 2 | |
174 #define EFRSupV3 0x00000008,3 /* speech support (vers 3) */ | |
175 #define EFRSupV3m 0x00000008 | |
176 #define EFRSupV3s 3 | |
177 #define VocSup 0x0000000F,0 /* vocoder support */ | |
178 #define VocSupm 0x0000000F | |
179 #define VocSups 0 | |
180 #define AHS 0x00000010,4 /* adaptive multirate half rate speech */ | |
181 #define AHSm 0x00000010 | |
182 #define AHSs 4 | |
183 #define AFS 0x00000020,5 /* adaptive multirate full rate speech */ | |
184 #define AFSm 0x00000020 | |
185 #define AFSs 5 | |
186 #define TestMobile 0x00000040,6 /* Test Mobile */ | |
187 #define TestMobilem 0x00000040 | |
188 #define TestMobiles 6 | |
189 #define L1Ver 0x00000080,7 /* Layer 1 Version */ | |
190 #define L1Verm 0x00000080 | |
191 #define L1Vers 7 | |
192 | |
193 /* | |
194 * datCap bits | |
195 */ | |
196 #define datSup 0x00000001,0 /* Data support */ | |
197 #define datSupm 0x00000001 | |
198 #define datSups 0 | |
199 #define RLPSup 0x00000002,1 /* RLP data (NT Async) */ | |
200 #define RLPSupm 0x00000002 | |
201 #define RLPSups 1 | |
202 #define AsySup 0x00000004,2 /* T Async data support */ | |
203 #define AsySupm 0x00000004 | |
204 #define AsySups 2 | |
205 #define NTSynSup 0x00000008,3 /* NT Sync data support */ | |
206 #define NTSynSupm 0x00000008 | |
207 #define NTSynSups 3 | |
208 #define TSynSup 0x00000010,4 /* NT Sync data support */ | |
209 #define TSynSupm 0x00000010 | |
210 #define TSynSups 4 | |
211 #define NTFaxSup 0x00000020,5 /* NT Fax support */ | |
212 #define NTFaxSupm 0x00000020 | |
213 #define NTFaxSups 5 | |
214 #define TFaxSup 0x00000040,6 /* T Fax support */ | |
215 #define TFaxSupm 0x00000040 | |
216 #define TFaxSups 6 | |
217 #define Dr14_4Sup 0x00000080,7 /* Data rate 14.4 support */ | |
218 #define Dr14_4Supm 0x00000080 | |
219 #define Dr14_4Sups 7 | |
220 | |
221 /* | |
222 * datCap2 bits | |
223 */ | |
224 #define NTPackSup 0x00000001,0 /* NT Packet Service */ | |
225 #define NTPackSupm 0x00000001 | |
226 #define NTPackSups 0 | |
227 #define TPackSup 0x00000002,1 /* T Packet Service */ | |
228 #define TPackSupm 0x00000002 | |
229 #define TPackSups 1 | |
230 #define NTPadSup 0x00000004,2 /* NT PAD Access Service */ | |
231 #define NTPadSupm 0x00000004 | |
232 #define NTPadSups 2 | |
233 #define TPadSup 0x00000008,3 /* T PAD Access Service */ | |
234 #define TPadSupm 0x00000008 | |
235 #define TPadSups 3 | |
236 #define NAltSrvSup 0x00000010,4 /* No Alternate Services */ | |
237 #define NAltSrvSupm 0x00000010 | |
238 #define NAltSrvSups 4 | |
239 #define DHRSup 0x00000080,7 /* Data Halfrate support */ | |
240 #define DHRSupm 0x00000080 | |
241 #define DHRSups 7 | |
242 | |
243 /******************************************************************** | |
244 * | |
245 * Field IMEI | |
246 * | |
247 ********************************************************************/ | |
248 | |
249 typedef struct pcm_EFimei_Type /* International ME Id */ | |
250 { | |
251 UBYTE tac1; | |
252 UBYTE tac2; | |
253 UBYTE tac3; | |
254 UBYTE fac; | |
255 UBYTE snr1; | |
256 UBYTE snr2; | |
257 UBYTE snr3; | |
258 UBYTE svn; | |
259 } EF_IMEI; | |
260 | |
261 #define SIZE_EF_IMEI 8 | |
262 #define NR_EF_IMEI 1 | |
263 | |
264 /******************************************************************** | |
265 * | |
266 * Field IMSI | |
267 * | |
268 ********************************************************************/ | |
269 | |
270 typedef struct pcm_EFimsi_Type /* International Subscriber Id */ | |
271 { | |
272 UBYTE len; | |
273 UBYTE IMSI[8]; | |
274 } EF_IMSI; | |
275 | |
276 #define SIZE_EF_IMSI 9 | |
277 #define NR_EF_IMSI 1 | |
278 | |
279 /******************************************************************** | |
280 * | |
281 * Field SHORT MESSAGE SERVICES | |
282 * | |
283 ********************************************************************/ | |
284 | |
285 typedef struct pcm_EFsms_Type /* Short Messages */ | |
286 { | |
287 UBYTE stat; | |
288 UBYTE rmd[175]; | |
289 } EF_SMS; | |
290 | |
291 #define SIZE_EF_SMS 176 | |
292 #ifdef _SIMULATION_ | |
293 #define NR_EF_SMS 3 | |
294 #else | |
295 #define NR_EF_SMS 1 | |
296 #endif | |
297 | |
298 /******************************************************************** | |
299 * | |
300 * Field MOBILE STATION CLASSMARK 2 | |
301 * | |
302 ********************************************************************/ | |
303 | |
304 typedef struct pcm_EFclass2_Type /* Mobile Station Classmark 2 */ | |
305 { | |
306 UBYTE byte1; | |
307 UBYTE byte2; | |
308 UBYTE byte3; | |
309 } EF_CLASS2; | |
310 | |
311 #define SIZE_EF_CLASS2 3 | |
312 #define NR_EF_CLASS2 1 | |
313 | |
314 /* | |
315 * byte1 | |
316 */ | |
317 #define rfPwrCap 0x00000007,0 /* rf power capability */ | |
318 #define rfPwrCapm 0x00000007 | |
319 #define rfPwrCaps 0 | |
320 #define a51 0x00000008,3 /* rf power capability */ | |
321 #define a51m 0x00000008 | |
322 #define a51s 3 | |
323 #define esInd 0x00000010,4 /* ES indicator */ | |
324 #define esIndm 0x00000010 | |
325 #define esInds 4 | |
326 #define revLev 0x00000060,5 /* revision level */ | |
327 #define revLevm 0x00000060 | |
328 #define revLevs 5 | |
329 | |
330 /* | |
331 * byte2 | |
332 */ | |
333 #define freqCap 0x00000001,0 /* frequency capability */ | |
334 #define freqCapm 0x00000001 | |
335 #define freqCaps 0 | |
336 #define vgcsCap 0x00000002,1 /* VGCS notification reception */ | |
337 #define vgcsCapm 0x00000002 | |
338 #define vgcsCaps 1 | |
339 #define vbsCap 0x00000004,2 /* VBS notification reception */ | |
340 #define vbsCapm 0x00000004 | |
341 #define vbsCaps 2 | |
342 #define smCap 0x00000008,3 /* SM capability */ | |
343 #define smCapm 0x00000008 | |
344 #define smCaps 3 | |
345 #define ssScrInd 0x00000030,4 /* SS Screen Indicator */ | |
346 #define ssScrIndm 0x00000030 | |
347 #define ssScrInds 4 | |
348 #define psCap 0x00000040,6 /* PS capability */ | |
349 #define psCapm 0x00000040 | |
350 #define psCaps 6 | |
351 | |
352 /* | |
353 * byte3 | |
354 */ | |
355 #define a52 0x00000001,0 /* encryption algorithm A5/2 */ | |
356 #define a52m 0x00000001 | |
357 #define a52s 0 | |
358 #define a53 0x00000002,1 /* encryption algorithm A5/3 */ | |
359 #define a53m 0x00000002 | |
360 #define a53s 1 | |
361 #define cmspCap 0x00000004,2 /* CM service prompt */ | |
362 #define cmspCapm 0x00000004 | |
363 #define cmspCaps 2 | |
364 #define solsaCap 0x00000008,3 /* SoLSA */ | |
365 #define solsaCapm 0x00000008 | |
366 #define solsaCaps 3 | |
367 #define ucs2Cap 0x00000010,4 /* UCS2 treatment */ | |
368 #define ucs2Capm 0x00000010 | |
369 #define ucs2Caps 4 | |
370 #define lcsvaCap 0x00000020,5 /* LCS VA capability */ | |
371 #define lcsvaCapm 0x00000020 | |
372 #define lcsvaCaps 5 | |
373 #define cm3bit 0x00000080,7 /* Classmark 3 available */ | |
374 #define cm3bitm 0x00000080 | |
375 #define cm3bits 7 | |
376 | |
377 | |
378 /******************************************************************** | |
379 * | |
380 * Field MOBILE STATION CLASSMARK 3 | |
381 * | |
382 ********************************************************************/ | |
383 | |
384 typedef struct pcm_EFclass3_Type /* Mobile Station Classmark 3 */ | |
385 { | |
386 UBYTE byte1; | |
387 UBYTE byte2; | |
388 UBYTE byte3; | |
389 }EF_CLASS3; | |
390 | |
391 #define SIZE_EF_CLASS3 3 | |
392 #define NR_EF_CLASS3 1 | |
393 | |
394 /* | |
395 * byte1 | |
396 */ | |
397 #define a54 0x00000001,0 /* encryption algorithm A5/4 */ | |
398 #define a54m 0x00000001 | |
399 #define a54s 0 | |
400 #define a55 0x00000002,1 /* encryption algorithm A5/5 */ | |
401 #define a55m 0x00000002 | |
402 #define a55s 1 | |
403 #define a56 0x00000004,2 /* encryption algorithm A5/6 */ | |
404 #define a56m 0x00000004 | |
405 #define a56s 2 | |
406 #define a57 0x00000008,3 /* encryption algorithm A5/7 */ | |
407 #define a57m 0x00000008 | |
408 #define a57s 3 | |
409 #define bnd1 0x00000010,4 /* Band 1 */ | |
410 #define bnd1m 0x00000010 | |
411 #define bnd1s 4 | |
412 #define bnd2 0x00000020,5 /* Band 2 */ | |
413 #define bnd2m 0x00000020 | |
414 #define bnd2s 5 | |
415 #define bnd3 0x00000040,6 /* Band 3 */ | |
416 #define bnd3m 0x00000040 | |
417 #define bnd3s 6 | |
418 | |
419 /* | |
420 * byte2 | |
421 */ | |
422 #define rfCap1 0x0000000f,0 /* associated RF capability 1 */ | |
423 #define rfCap1m 0x0000000f | |
424 #define rfCap1s 0 | |
425 #define rfCap2 0x000000f0,4 /* associated RF capability 2 */ | |
426 #define rfCap2m 0x000000f0 | |
427 #define rfCap2s 4 | |
428 | |
429 /* | |
430 * byte2 | |
431 */ | |
432 #define ExtMeas 0x00000010,4 /* associated RF capability 1 */ | |
433 #define ExtMeasm 0x00000010 | |
434 #define ExtMeass 4 | |
435 | |
436 /******************************************************************** | |
437 * | |
438 * Field RF Capabilities | |
439 * | |
440 ********************************************************************/ | |
441 | |
442 typedef struct pcm_EFrfcap_Type | |
443 { | |
444 UBYTE setbands; /* set frequency bands */ | |
445 UBYTE bands; /* supported frequency bands */ | |
446 UBYTE power1; /* power classes of GSM900 and DCS1800 */ | |
447 UBYTE power2; /* power classes of PCS1900 and GSM850 */ | |
448 UBYTE power3; /* power classes of GSM400 and EGDE */ | |
449 UBYTE msGSM; /* GSM multi slot capability and classes */ | |
450 UBYTE msEDGE; /* EDGE multi slot capability and classes */ | |
451 UBYTE msHSCSD; /* HSCSD multi slot capability and classes */ | |
452 UBYTE msGPRS; /* GPRS multi slot capability and classes */ | |
453 UBYTE msECSD; /* ECSD multi slot capability and classes */ | |
454 UBYTE msEGPRS; /* EGPRS multi slot capability and classes */ | |
455 UBYTE capability1; /* divers capabilities and options */ | |
456 UBYTE capability2; /* divers capabilities and options */ | |
457 UBYTE switchmeasure; /* switching time */ | |
458 UBYTE encryption; /* A5/n encryption algorithm availability */ | |
459 UBYTE positioning; /* supported positioning methods */ | |
460 } EF_RFCAP; | |
461 | |
462 #define SIZE_EF_RFCAP 16 | |
463 #define NR_EF_RFCAP 1 | |
464 | |
465 /* | |
466 * setbands, bands | |
467 */ | |
468 #define rf_900 0x00000001,0 /* support of GSM 900 */ | |
469 #define rf_900m 0x00000001 | |
470 #define rf_900s 0 | |
471 #define rf_1800 0x00000002,1 /* support of DCS 1800 */ | |
472 #define rf_1800m 0x00000002 | |
473 #define rf_1800s 1 | |
474 #define rf_1900 0x00000004,2 /* support of PCS 1900 */ | |
475 #define rf_1900m 0x00000004 | |
476 #define rf_1900s 2 | |
477 #define rf_EGSM 0x00000008,3 /* support of E-GSM */ | |
478 #define rf_EGSMm 0x00000008 | |
479 #define rf_EGSMs 3 | |
480 #define rf_850 0x00000010,4 /* support of GSM 850 */ | |
481 #define rf_850m 0x00000010 | |
482 #define rf_850s 4 | |
483 #define rf_450 0x00000020,5 /* support of GSM 450 */ | |
484 #define rf_450m 0x00000020 | |
485 #define rf_450s 5 | |
486 #define rf_480 0x00000040,6 /* support of GSM 480 */ | |
487 #define rf_480m 0x00000040 | |
488 #define rf_480s 6 | |
489 #define rf_RGSM 0x00000080,7 /* support of R-GSM */ | |
490 #define rf_RGSMm 0x00000080 | |
491 #define rf_RGSs 7 | |
492 | |
493 /* | |
494 * power1 | |
495 */ | |
496 #define rfCap_1800 0x0000000f,0 /* associated RF capability of DCS 1800 */ | |
497 #define rfCap_1800m 0x0000000f | |
498 #define rfCap_1800s 0 | |
499 #define rfCap_900 0x000000f0,4 /* associated RF capability of GSM 900 */ | |
500 #define rfCap_900m 0x000000f0 | |
501 #define rfCap_900s 4 | |
502 /* | |
503 * power2 | |
504 */ | |
505 #define rfCap_850 0x0000000f,0 /* associated RF capability of GSM 850 */ | |
506 #define rfCap_850m 0x0000000f | |
507 #define rfCap_850s 0 | |
508 #define rfCap_1900 0x000000f0,4 /* associated RF capability of PCS 1900 */ | |
509 #define rfCap_1900m 0x000000f0 | |
510 #define rfCap_1900s 4 | |
511 /* | |
512 * power3 | |
513 */ | |
514 #define rfCap_EDGE2 0x00000003,0 /* associated RF capability 2 of EDGE */ | |
515 #define rfCap_EDGE2m 0x00000003 | |
516 #define rfCap_EDGE2s 0 | |
517 #define rfCap_EDGE1 0x0000000c,2 /* associated RF capability 1 of EDGE */ | |
518 #define rfCap_EDGE1m 0x0000000c | |
519 #define rfCap_EDGE1s 2 | |
520 #define rfCap_400 0x000000f0,4 /* associated RF capability of GSM 450,480*/ | |
521 #define rfCap_400m 0x000000f0 | |
522 #define rfCap_400s 4 | |
523 /* | |
524 * msGSM, msEDGE, msHSCSD, msGPRS, msECSD, msEGPRS | |
525 */ | |
526 #define rfCap_DTMSC 0x00000003,0 /* Multi Slot Sub-Class (only msGPRS+msEGPRS) */ | |
527 #define rfCap_DTMSCm 0x00000003 | |
528 #define rfCap_DTMSCs 0 | |
529 #define rfCap_DTM 0x00000004,2 /* Support of DTM (only msGPRS+msEGPRS) */ | |
530 #define rfCap_DTMm 0x00000004 | |
531 #define rfCap_DTMs 2 | |
532 #define rfCap_MSC 0x000000f8,3 /* Multi Slot Class */ | |
533 #define rfCap_MSCm 0x000000f8 | |
534 #define rfCap_MSCs 3 | |
535 /* | |
536 * capability1 | |
537 */ | |
538 #define rfCap_mac 0x00000001,0 /* Dynamic and fixed allocation */ | |
539 #define rfCap_macm 0x00000001 | |
540 #define rfCap_macs 0 | |
541 #define rfCap_mod 0x00000002,1 /* EDGE modulation capability */ | |
542 #define rfCap_modm 0x00000002 | |
543 #define rfCap_mods 1 | |
544 #define rfCap_cmsp 0x00000004,2 /* CM service prompt */ | |
545 #define rfCap_cmspm 0x00000004 | |
546 #define rfCap_cmsps 2 | |
547 #define rfCap_solsa 0x00000008,3 /* SoLSA capability */ | |
548 #define rfCap_solsam 0x00000008 | |
549 #define rfCap_solsas 3 | |
550 #define rfCap_lcsva 0x00000010,4 /* LCS value added location request noti. */ | |
551 #define rfCap_lcsvam 0x00000010 | |
552 #define rfCap_lcsvas 4 | |
553 #define rfCap_ppsms 0x00000020,5 /* MT point to point SMS */ | |
554 #define rfCap_ppsmsm 0x00000020 | |
555 #define rfCap_ppsmss 5 | |
556 #define rfCap_ps 0x00000040,6 /* pseudo synchronization capability */ | |
557 #define rfCap_psm 0x00000040 | |
558 #define rfCap_pss 6 | |
559 #define rfCap_esind 0x00000080,7 /* controlled early class sending */ | |
560 #define rfCap_esindm 0x00000080 | |
561 #define rfCap_esinds 7 | |
562 /* | |
563 * capability2 | |
564 */ | |
565 #define rfCap_ssc 0x00000003,0 /* SS screening indicator */ | |
566 #define rfCap_sscm 0x00000003 | |
567 #define rfCap_sscs 0 | |
568 #define rfCap_usc2 0x00000004,2 /* UCS2 encoded */ | |
569 #define rfCap_usc2m 0x00000004 | |
570 #define rfCap_usc2s 2 | |
571 #define rfCap_vgcs 0x00000008,3 /* VGCS capability */ | |
572 #define rfCap_vgcsm 0x00000008 | |
573 #define rfCap_vgcss 3 | |
574 #define rfCap_vbs 0x00000010,4 /* VBS capability */ | |
575 #define rfCap_vbsm 0x00000010 | |
576 #define rfCap_vbss 4 | |
577 #define rfCap_compact 0x00000020,5 /* COMPACT interference measurement */ | |
578 #define rfCap_compactm 0x00000020 | |
579 #define rfCap_compacts 5 | |
580 #define rfCap_extmeas 0x00000040,6 /* extendend measurement */ | |
581 #define rfCap_extmeasm 0x00000040 | |
582 #define rfCap_extmeass 6 | |
583 #define rfCap_meas 0x00000080,7 /* values about measurement capability */ | |
584 #define rfCap_measm 0x00000080 | |
585 #define rfCap_meass 7 | |
586 /* | |
587 * switchmeasure | |
588 */ | |
589 #define rfCap_smt 0x0000000f,0 /* time switch-power measurement */ | |
590 #define rfCap_smtm 0x0000000f | |
591 #define rfCap_smts 0 | |
592 #define rfCap_smst 0x000000f0,4 /* time switch-power measurement-switch */ | |
593 #define rfCap_smstm 0x000000f0 | |
594 #define rfCap_smsts 4 | |
595 /* | |
596 * encryption | |
597 */ | |
598 #define rfCap_A5_7 0x00000002,1 /* encryption algorithm A5/7 */ | |
599 #define rfCap_A5_7m 0x00000002 | |
600 #define rfCap_A5_7s 1 | |
601 #define rfCap_A5_6 0x00000004,2 /* encryption algorithm A5/6 */ | |
602 #define rfCap_A5_6m 0x00000004 | |
603 #define rfCap_A5_6s 2 | |
604 #define rfCap_A5_5 0x00000008,3 /* encryption algorithm A5/5 */ | |
605 #define rfCap_A5_5m 0x00000008 | |
606 #define rfCap_A5_5s 3 | |
607 #define rfCap_A5_4 0x00000010,4 /* encryption algorithm A5/4 */ | |
608 #define rfCap_A5_4m 0x00000010 | |
609 #define rfCap_A5_4s 4 | |
610 #define rfCap_A5_3 0x00000020,5 /* encryption algorithm A5/3 */ | |
611 #define rfCap_A5_3m 0x00000020 | |
612 #define rfCap_A5_3s 5 | |
613 #define rfCap_A5_2 0x00000040,6 /* encryption algorithm A5/2 */ | |
614 #define rfCap_A5_2m 0x00000040 | |
615 #define rfCap_A5_2s 6 | |
616 #define rfCap_A5_1 0x00000080,7 /* encryption algorithm A5/1 */ | |
617 #define rfCap_A5_1m 0x00000080 | |
618 #define rfCap_A5_1s 7 | |
619 /* | |
620 * positioning | |
621 */ | |
622 #define rfCap_eeda 0x00000002,1 /* EGPRS Extended Dynamic Allocation Capability */ | |
623 #define rfCap_eedam 0x00000002 | |
624 #define rfCap_eedas 1 | |
625 #define rfCap_geda 0x00000004,2 /* GPRS Extended Dynamic Allocation Capability */ | |
626 #define rfCap_gedam 0x00000004 | |
627 #define rfCap_gedas 2 | |
628 #define rfCap_cgps 0x00000008,3 /* conventional GPS */ | |
629 #define rfCap_cgpsm 0x00000008 | |
630 #define rfCap_cgpss 3 | |
631 #define rfCap_bgps 0x00000010,4 /* based GPS */ | |
632 #define rfCap_bgpsm 0x00000010 | |
633 #define rfCap_bgpss 4 | |
634 #define rfCap_agps 0x00000020,5 /* assisted GPS */ | |
635 #define rfCap_agpsm 0x00000020 | |
636 #define rfCap_agpss 5 | |
637 #define rfCap_beotd 0x00000040,6 /* based E-OTD */ | |
638 #define rfCap_beotdm 0x00000040 | |
639 #define rfCap_beotds 6 | |
640 #define rfCap_aeotd 0x00000080,7 /* assisted E-OTD */ | |
641 #define rfCap_aeotdm 0x00000080 | |
642 #define rfCap_aeotds 7 | |
643 | |
644 /******************************************************************** | |
645 * | |
646 * Field MOBILE SETUP | |
647 * | |
648 ********************************************************************/ | |
649 | |
650 typedef struct pcm_EFmssup_Type /* Mobile Setup */ | |
651 { | |
652 UBYTE lng1; | |
653 UBYTE lng2; | |
654 UBYTE lng3; | |
655 UBYTE feat1; | |
656 UBYTE feat2; | |
657 }EF_MSSUP; | |
658 | |
659 #define SIZE_EF_MSSUP 5 | |
660 #define NR_EF_MSSUP 1 | |
661 | |
662 /* | |
663 * lng1 | |
664 */ | |
665 #define eng 0x00000001,0 /* English */ | |
666 #define engm 0x00000001 | |
667 #define engs 0 | |
668 #define fre 0x00000002,1 /* French */ | |
669 #define frem 0x00000002 | |
670 #define fres 1 | |
671 #define ger 0x00000004,2 /* German */ | |
672 #define germ 0x00000004 | |
673 #define gers 2 | |
674 #define dut 0x00000008,3 /* Dutch */ | |
675 #define dutm 0x00000008 | |
676 #define duts 3 | |
677 #define ita 0x00000010,4 /* Italian */ | |
678 #define itam 0x00000010 | |
679 #define itas 4 | |
680 #define spa 0x00000020,5 /* Spanish */ | |
681 #define spam 0x00000020 | |
682 #define spas 5 | |
683 #define swe 0x00000040,6 /* Swedish */ | |
684 #define swem 0x00000040 | |
685 #define swes 6 | |
686 #define por 0x00000080,7 /* Portuguese */ | |
687 #define porm 0x00000080 | |
688 #define pors 7 | |
689 | |
690 /* | |
691 * lng2 | |
692 */ | |
693 #define fin 0x00000001,0 /* Finnish */ | |
694 #define finm 0x00000001 | |
695 #define fins 0 | |
696 #define nor 0x00000002,1 /* Norwegian */ | |
697 #define norm 0x00000002 | |
698 #define nors 1 | |
699 #define gre 0x00000004,2 /* Greek */ | |
700 #define grem 0x00000004 | |
701 #define gres 2 | |
702 #define tur 0x00000008,3 /* Turkish */ | |
703 #define turm 0x00000008 | |
704 #define turs 3 | |
705 #define hun 0x00000010,4 /* Hungarian */ | |
706 #define hunm 0x00000010 | |
707 #define huns 4 | |
708 #define slo 0x00000020,5 /* Slovenian */ | |
709 #define slom 0x00000020 | |
710 #define slos 5 | |
711 #define pol 0x00000040,6 /* Polish */ | |
712 #define polm 0x00000040 | |
713 #define pols 6 | |
714 #define rus 0x00000080,7 /* Russian */ | |
715 #define rusm 0x00000080 | |
716 #define russ 7 | |
717 | |
718 /* | |
719 * lng3 | |
720 */ | |
721 #define ind 0x00000001,0 /* Indonesian */ | |
722 #define indm 0x00000001 | |
723 #define inds 0 | |
724 #define cze 0x00000002,1 /* Czech */ | |
725 #define czem 0x00000002 | |
726 #define czes 1 | |
727 #define chi 0x00000004,2 /* Chinese */ | |
728 #define chim 0x00000004 | |
729 #define chis 2 | |
730 #define can 0x00000008,3 /* Cantonese */ | |
731 #define canm 0x00000008 | |
732 #define cans 3 | |
733 #define man 0x00000010,4 /* Mandarin */ | |
734 #define manm 0x00000010 | |
735 #define mans 4 | |
736 #define tai 0x00000020,5 /* Taiwanese */ | |
737 #define taim 0x00000020 | |
738 #define tais 5 | |
739 #define ara 0x00000040,6 /* Arabic */ | |
740 #define aram 0x00000040 | |
741 #define aras 6 | |
742 | |
743 /* | |
744 * feat | |
745 */ | |
746 #define AoC 0x00000001,0 /* Advice of Charge */ | |
747 #define AoCm 0x00000001 | |
748 #define AoCs 0 | |
749 #define DTMF 0x00000002,1 /* DTMF */ | |
750 #define DTMFm 0x00000002 | |
751 #define DTMFs 1 | |
752 #define CF 0x00000004,2 /* Call Forwarding */ | |
753 #define CFm 0x00000004 | |
754 #define CFs 2 | |
755 #define CB 0x00000008,3 /* Call Barring */ | |
756 #define CBm 0x00000008 | |
757 #define CBs 3 | |
758 #define USSD 0x00000010,4 /* USSD */ | |
759 #define USSDm 0x00000010 | |
760 #define USSDs 4 | |
761 #define ETC 0x00000020,5 /* ETC */ | |
762 #define ETCm 0x00000020 | |
763 #define ETCs 5 | |
764 #define IRDA 0x00000040,6 /* IRDA */ | |
765 #define IRDAm 0x00000040 | |
766 #define IRDAs 6 | |
767 | |
768 /******************************************************************** | |
769 * | |
770 * Field Current language (CLNG) | |
771 * | |
772 ********************************************************************/ | |
773 | |
774 #define SIZE_EF_CLNG_DATA 2 | |
775 | |
776 typedef struct pcm_EFclng_Type | |
777 { | |
778 UBYTE data[SIZE_EF_CLNG_DATA]; /* current language in ME */ | |
779 } EF_CLNG; | |
780 | |
781 #define SIZE_EF_CLNG SIZE_EF_CLNG_DATA | |
782 #define NR_EF_CLNG 1 | |
783 | |
784 /******************************************************************** | |
785 * | |
786 * Field MOBILE STATION SETTTINGS | |
787 * | |
788 ********************************************************************/ | |
789 | |
790 typedef struct pcm_EFmsset_Type /* Mobile Setting */ | |
791 { | |
792 UBYTE buzzer1; | |
793 UBYTE buzzer2; | |
794 UBYTE buzzer3; | |
795 UBYTE audio; | |
796 UBYTE misc; | |
797 UBYTE display; | |
798 UBYTE language; | |
799 UBYTE recent_ldn_ref; | |
800 UBYTE recent_lrn_ref; | |
801 UBYTE recent_upn_ref; | |
802 } EF_MSSET; | |
803 | |
804 #define SIZE_EF_MSSET 10 | |
805 #define NR_EF_MSSET 1 | |
806 | |
807 /* | |
808 * buzzer 1 | |
809 */ | |
810 #define calltype 0x00000007,0 /* ringer type incoming calls */ | |
811 #define calltypem 0x00000007 | |
812 #define calltypes 0 | |
813 #define callvol 0x00000038,3 /* ringer volume incoming calls */ | |
814 #define callvolm 0x00000038 | |
815 #define callvols 3 | |
816 #define vib 0x000000c0,6 /* vibrator */ | |
817 #define vibm 0x000000c0 | |
818 #define vibs 6 | |
819 | |
820 /* | |
821 * buzzer 2 | |
822 */ | |
823 #define msgtype 0x00000007,0 /* ringer type messages */ | |
824 #define msgtypem 0x00000007 | |
825 #define msgtypes 0 | |
826 #define msgvol 0x00000038,3 /* ringer volume messages */ | |
827 #define msgvolm 0x00000038 | |
828 #define msgvols 3 | |
829 | |
830 /* | |
831 * buzzer 3 | |
832 */ | |
833 #define keytone 0x00000003,0 /* key tone mode */ | |
834 #define keytonem 0x00000003 | |
835 #define keytones 0 | |
836 #define batw 0x00000004,2 /* low battery warning */ | |
837 #define batwm 0x00000004 | |
838 #define batws 2 | |
839 | |
840 /* | |
841 * audio | |
842 */ | |
843 #define lnamp 0x00000007,0 /* microphone amplification */ | |
844 #define lnampm 0x00000007 | |
845 #define lnamps 0 | |
846 #define outvol 0x00000038,3 /* output volume */ | |
847 #define outvolm 0x00000038 | |
848 #define outvols 3 | |
849 #define ext 0x00000040,6 /* external audio */ | |
850 #define extm 0x00000040 | |
851 #define exts 6 | |
852 #define voicerec 0x00000080,7 /* voice recording */ | |
853 #define voicerecm 0x00000080 | |
854 #define voicerecs 7 | |
855 | |
856 /* | |
857 * miscellenous | |
858 */ | |
859 #define pmod 0x00000001,0 /* PLMN selection mode */ | |
860 #define pmodm 0x00000001 | |
861 #define pmods 0 | |
862 #define clir 0x00000002,1 /* CLIR */ | |
863 #define clirm 0x00000002 | |
864 #define clirs 1 | |
865 #define clip 0x00000004,2 /* CLIP */ | |
866 #define clipm 0x00000004 | |
867 #define clips 2 | |
868 #define calinf 0x00000008,3 /* call information display */ | |
869 #define calinfm 0x00000008 | |
870 #define calinfs 3 | |
871 #define redial 0x00000030,4 /* redial mode */ | |
872 #define redialm 0x00000030 | |
873 #define redials 4 | |
874 | |
875 /* | |
876 * display | |
877 */ | |
878 #define ctrt 0x00000007,0 /* contrast */ | |
879 #define ctrtm 0x00000007 | |
880 #define ctrts 0 | |
881 #define brgt 0x00000018,3 /* brightness */ | |
882 #define brgtm 0x00000018 | |
883 #define brgts 3 | |
884 #define bckdr 0x000000E0,5 /* duration for back light */ | |
885 #define bckdrm 0x000000E0 | |
886 #define bckdrs 5 | |
887 | |
888 // Jun 14, 2005 REF: MMI-FIX-30439 x0018858 | |
889 //Begin 30439 | |
890 /******************************************************************** | |
891 * | |
892 * Field Homezone cache | |
893 * | |
894 ********************************************************************/ | |
895 | |
896 typedef struct pcm_EFhzcache_Type | |
897 { | |
898 UBYTE cid[2]; | |
899 UBYTE zone; | |
900 } EF_HZCACHE; | |
901 | |
902 #define SIZE_EF_HZCACHE 3 | |
903 #define NR_EF_HZCACHE 5 | |
904 | |
905 /******************************************************************** | |
906 * | |
907 * Field LAST MOC NUMBERS - LDN | |
908 * | |
909 ********************************************************************/ | |
910 //end 30439 | |
911 | |
912 typedef struct pcm_EFldn_Type /* Last Dialed Numbers */ | |
913 { | |
914 UBYTE calDrMsb; | |
915 UBYTE calDrLsb; | |
916 UBYTE year; | |
917 UBYTE month; | |
918 UBYTE day; | |
919 UBYTE hour; | |
920 UBYTE minute; | |
921 UBYTE second; | |
922 UBYTE len; /* length of BCD number */ | |
923 UBYTE numTp; | |
924 UBYTE dldNum[10]; /* dialed number */ | |
925 UBYTE ccp; /* capability/configuration id */ | |
926 UBYTE ext1; /* extension1 record identifier */ | |
927 } EF_LDN; | |
928 | |
929 #define SIZE_EF_LDN 22 | |
930 #define NR_EF_LDN 1 | |
931 | |
932 /* | |
933 * numTp | |
934 */ | |
935 #define numTp_npi 0x0000000F,0 /* numbering plan identification */ | |
936 #define numTp_npim 0x0000000F | |
937 #define numTp_npis 0 | |
938 #define numTp_ton 0x00000070,4 /* Type of number */ | |
939 #define numTp_tonm 0x00000070 | |
940 #define numTp_tons 4 | |
941 | |
942 /******************************************************************** | |
943 * | |
944 * Field LAST RECEIVED NUMBERS | |
945 * | |
946 ********************************************************************/ | |
947 | |
948 typedef struct pcm_EFlrn_Type /* Last Received Numbers */ | |
949 { | |
950 UBYTE calDrMsb; | |
951 UBYTE calDrLsb; | |
952 UBYTE year; | |
953 UBYTE month; | |
954 UBYTE day; | |
955 UBYTE hour; | |
956 UBYTE minute; | |
957 UBYTE second; | |
958 UBYTE id; | |
959 UBYTE len; /* length of BCD number */ | |
960 UBYTE numTp; | |
961 UBYTE dldNum[10]; /* dialed number */ | |
962 UBYTE ccp; /* capability/configuration id */ | |
963 UBYTE ext1; /* extension1 record identifier */ | |
964 } EF_LRN; | |
965 | |
966 #define SIZE_EF_LRN 23 | |
967 #define NR_EF_LRN 1 | |
968 | |
969 /******************************************************************** | |
970 * | |
971 * Field LAST MISSED NUMBERS | |
972 * | |
973 ********************************************************************/ | |
974 | |
975 typedef struct pcm_EFlmn_Type /* Last Missed Numbers */ | |
976 { | |
977 UBYTE year; | |
978 UBYTE month; | |
979 UBYTE day; | |
980 UBYTE hour; | |
981 UBYTE minute; | |
982 UBYTE second; | |
983 UBYTE id; | |
984 UBYTE len; /* length of BCD number */ | |
985 UBYTE numTp; | |
986 UBYTE dldNum[10]; /* dialed number */ | |
987 UBYTE ccp; /* capability/configuration id */ | |
988 UBYTE ext1; /* extension1 record identifier */ | |
989 } EF_LMN; | |
990 | |
991 #define SIZE_EF_LMN 21 | |
992 #define NR_EF_LMN 1 | |
993 | |
994 /******************************************************************** | |
995 * | |
996 * Field USER PERSONAL NUMBERS | |
997 * | |
998 ********************************************************************/ | |
999 | |
1000 typedef struct pcm_EFupn_Type /* User Personal Numbers */ | |
1001 { | |
1002 UBYTE alphId[10]; | |
1003 UBYTE len; | |
1004 UBYTE numTp; /* bitmap same as EF_LDN */ | |
1005 UBYTE usrNum[10]; | |
1006 UBYTE ccp; | |
1007 UBYTE ext1; | |
1008 } EF_UPN; | |
1009 | |
1010 #define SIZE_EF_UPN 24 | |
1011 #define NR_EF_UPN 1 | |
1012 | |
1013 /******************************************************************** | |
1014 * | |
1015 * Field MAILBOX NUMBERS | |
1016 * | |
1017 ********************************************************************/ | |
1018 | |
1019 typedef struct pcm_EFmbn_Type /* Mailbox Numbers */ | |
1020 { | |
1021 UBYTE alphId[10]; | |
1022 UBYTE len; | |
1023 UBYTE numTp; /* bitmap same as EF_LDN */ | |
1024 UBYTE mbNum[10]; | |
1025 } EF_MBN; | |
1026 | |
1027 #define SIZE_EF_MBN 22 | |
1028 #define NR_EF_MBN 4 | |
1029 | |
1030 | |
1031 /******************************************************************** | |
1032 * | |
1033 * Field Voice Mail Number | |
1034 * | |
1035 ********************************************************************/ | |
1036 | |
1037 /* | |
1038 * note that with new 04.08 the called party bcd number of the CC | |
1039 * protocol can have up to 43 octets, 3 are used for other things | |
1040 * than the BCD coded digits | |
1041 */ | |
1042 #define MAX_CALLED_PARTY_BCD_NO_OCTETS 40 | |
1043 typedef struct pcm_EFvmn_Type /* Voice mail Number */ | |
1044 { | |
1045 UBYTE vmNum[MAX_CALLED_PARTY_BCD_NO_OCTETS + 1]; | |
1046 /* implementation uses delimiter of 0xFF */ | |
1047 UBYTE numTp; | |
1048 | |
1049 } EF_VMN; | |
1050 | |
1051 #define SIZE_EF_VMN (MAX_CALLED_PARTY_BCD_NO_OCTETS + 1 + 1) | |
1052 #define NR_EF_VMN 1 | |
1053 | |
1054 | |
1055 /******************************************************************** | |
1056 * | |
1057 * Field CALL TIMER | |
1058 * | |
1059 ********************************************************************/ | |
1060 | |
1061 typedef struct pcm_EFctim_Type /* Call Timer */ | |
1062 { | |
1063 UBYTE moVcDrHm[4]; | |
1064 UBYTE mtVcDrHm[4]; | |
1065 UBYTE moDtDrHm[4]; | |
1066 UBYTE mtDtDrHm[4]; | |
1067 UBYTE moFxDrHm[4]; | |
1068 UBYTE mtFxDrHm[4]; | |
1069 UBYTE moVcDrRm[4]; | |
1070 UBYTE mtVcDrRm[4]; | |
1071 UBYTE moDtDrRm[4]; | |
1072 UBYTE mtDtDrRm[4]; | |
1073 UBYTE moFxDrRm[4]; | |
1074 UBYTE mtFxDrRm[4]; | |
1075 } EF_CTIM; | |
1076 | |
1077 #define SIZE_EF_CTIM 48 | |
1078 #define NR_EF_CTIM 1 | |
1079 | |
1080 /******************************************************************** | |
1081 * | |
1082 * Field CALL COUNTER | |
1083 * | |
1084 ********************************************************************/ | |
1085 | |
1086 typedef struct pcm_EFccnt_Type /* Call Counter */ | |
1087 { | |
1088 UBYTE total[4]; | |
1089 UBYTE moVcDrHm[4]; | |
1090 UBYTE mtVcDrHm[4]; | |
1091 UBYTE moDtDrHm[4]; | |
1092 UBYTE mtDtDrHm[4]; | |
1093 UBYTE moFxDrHm[4]; | |
1094 UBYTE mtFxDrHm[4]; | |
1095 UBYTE moVcDrRm[4]; | |
1096 UBYTE mtVcDrRm[4]; | |
1097 UBYTE moDtDrRm[4]; | |
1098 UBYTE mtDtDrRm[4]; | |
1099 UBYTE moFxDrRm[4]; | |
1100 UBYTE mtFxDrRm[4]; | |
1101 } EF_CCNT; | |
1102 | |
1103 #define SIZE_EF_CCNT 52 | |
1104 #define NR_EF_CCNT 1 | |
1105 | |
1106 /******************************************************************** | |
1107 * | |
1108 * Field EMERGENCY CALL CODES | |
1109 * | |
1110 ********************************************************************/ | |
1111 | |
1112 | |
1113 typedef struct pcm_EFecc_Type /* Emergency Call Codes */ | |
1114 { | |
1115 UBYTE ecc1[3]; /* emergency call code */ | |
1116 UBYTE ecc2[3]; | |
1117 UBYTE ecc3[3]; | |
1118 UBYTE ecc4[3]; | |
1119 UBYTE ecc5[3]; | |
1120 } EF_ECC; | |
1121 | |
1122 #define SIZE_EF_ECC 15 | |
1123 #define NR_EF_ECC 1 | |
1124 | |
1125 /******************************************************************** | |
1126 * | |
1127 * Field ORGANIZER AND ALARM | |
1128 * | |
1129 ********************************************************************/ | |
1130 | |
1131 | |
1132 typedef struct pcm_EForg_Type /* Organizer and Alarm */ | |
1133 { | |
1134 UBYTE date[6]; /* bitmap same as EF_LDN */ | |
1135 UBYTE alrm; | |
1136 UBYTE alphMem[16]; /* alpha memo */ | |
1137 } EF_ORG; | |
1138 | |
1139 #define SIZE_EF_ORG 23 | |
1140 #define NR_EF_ORG 1 | |
1141 | |
1142 /* | |
1143 * alrm | |
1144 */ | |
1145 #define alrm_stat 0x00000001,0 | |
1146 #define alrm_statm 0x00000001 | |
1147 #define alrm_stats 0 | |
1148 #define alrm_type 0x0000000E,1 | |
1149 #define alrm_typem 0x0000000E | |
1150 #define alrm_types 1 | |
1151 | |
1152 /******************************************************************** | |
1153 * | |
1154 * Field CAPABILITY AND CONFIGURATION PARAMETERS | |
1155 * | |
1156 ********************************************************************/ | |
1157 | |
1158 typedef struct pcm_EFccp_Type /* Capability and Configuration Parameters */ | |
1159 { | |
1160 UBYTE usrRate; /* user rate */ | |
1161 UBYTE bearServ; /* bearer service */ | |
1162 UBYTE conElem; /* connection element */ | |
1163 UBYTE stopBits; /* stop bits */ | |
1164 UBYTE dataBits; /* data bits */ | |
1165 UBYTE parity; /* parity */ | |
1166 UBYTE flowCntrl; /* flow control */ | |
1167 } EF_CCP; | |
1168 | |
1169 #define SIZE_EF_CCP 7 | |
1170 #define NR_EF_CCP 1 | |
1171 | |
1172 /******************************************************************** | |
1173 * | |
1174 * Field EXTENSION 1 | |
1175 * | |
1176 ********************************************************************/ | |
1177 | |
1178 typedef struct pcm_EFext1_Type /* Extension 1 */ | |
1179 { | |
1180 UBYTE recTp; /* record type */ | |
1181 UBYTE extDat[11]; /* extension data */ | |
1182 UBYTE id; /* identifier */ | |
1183 } EF_EXT1; | |
1184 | |
1185 #define SIZE_EF_EXT1 13 | |
1186 #define NR_EF_EXT1 1 | |
1187 | |
1188 /******************************************************************** | |
1189 * | |
1190 * Field SIM LOCK and Extended SIM LOCK (use alternativly) | |
1191 * | |
1192 ********************************************************************/ | |
1193 | |
1194 typedef struct pcm_EFsimlck_Type /* SIM Lock */ | |
1195 { | |
1196 UBYTE locks1; /* lock status */ | |
1197 UBYTE locks2; | |
1198 UBYTE cnt; /* lock counter */ | |
1199 UBYTE maxcnt; /* lock counter */ | |
1200 UBYTE PKey[8]; /* SIM control key */ | |
1201 UBYTE SPKey[8]; /* SP control key */ | |
1202 UBYTE NSKey[8]; /* NS control key */ | |
1203 UBYTE CKey[8]; /* corporate control key */ | |
1204 UBYTE NKey[8]; /* network control key */ | |
1205 UBYTE len_imsi; /* bytes of IMSI */ | |
1206 UBYTE imsi[15]; /* IMSI */ | |
1207 UBYTE gidl1; /* Group Identifier Level 1 */ | |
1208 UBYTE gidl2; /* Group Identifier Level 1 */ | |
1209 } EF_SIMLCK; | |
1210 | |
1211 #define SIZE_EF_SIMLCK 62 | |
1212 #define NR_EF_SIMLCK 1 | |
1213 | |
1214 typedef struct pcm_EFsimlckext_Type /* Extended SIM Lock */ | |
1215 { | |
1216 UBYTE locks1; /* lock status */ | |
1217 UBYTE locks2; | |
1218 UBYTE cnt; /* lock counter */ | |
1219 UBYTE maxcnt; /* lock counter */ | |
1220 UBYTE PKey[8]; /* SIM control key */ | |
1221 UBYTE SPKey[8]; /* SP control key */ | |
1222 UBYTE NSKey[8]; /* NS control key */ | |
1223 UBYTE CKey[8]; /* corporate control key */ | |
1224 UBYTE NKey[8]; /* network control key */ | |
1225 UBYTE len_p_imsi; /* bytes of IMSI P-Lock */ | |
1226 UBYTE p_imsi[15]; /* IMSI P-Lock */ | |
1227 UBYTE len_sp_imsi; /* bytes of IMSI SP-Lock */ | |
1228 UBYTE sp_imsi[15]; /* IMSI SP-Lock */ | |
1229 UBYTE len_ns_imsi; /* bytes of IMSI NS-Lock */ | |
1230 UBYTE ns_imsi[15]; /* IMSI NS-Lock */ | |
1231 UBYTE len_c_imsi; /* bytes of IMSI C-Lock */ | |
1232 UBYTE c_imsi[15]; /* IMSI C-Lock */ | |
1233 UBYTE len_n_imsi; /* bytes of IMSI N-Lock */ | |
1234 UBYTE n_imsi[15]; /* IMSI N-Lock */ | |
1235 UBYTE len_u_imsi; /* bytes of IMSI U-Lock */ | |
1236 UBYTE u_imsi[15]; /* IMSI U-Lock */ | |
1237 UBYTE gidl1; /* Group Identifier Level 1 */ | |
1238 UBYTE gidl2; /* Group Identifier Level 1 */ | |
1239 } EF_SIMLCKEXT; | |
1240 | |
1241 #define SIZE_EF_SIMLCKEXT 142 | |
1242 #define NR_EF_SIMLCKEXT 1 | |
1243 | |
1244 /* | |
1245 * locks1 | |
1246 */ | |
1247 #define plock 0x00000003,0 | |
1248 #define plockm 0x00000003 | |
1249 #define plocks 0 | |
1250 #define nlock 0x0000000C,2 | |
1251 #define nlockm 0x0000000C | |
1252 #define nlocks 2 | |
1253 #define nslock 0x00000030,4 | |
1254 #define nslockm 0x00000030 | |
1255 #define nslocks 4 | |
1256 #define spslock 0x000000C0,6 | |
1257 #define splockm 0x000000C0 | |
1258 #define splocks 6 | |
1259 | |
1260 /* | |
1261 * locks2 | |
1262 */ | |
1263 #define clock 0x00000003,0 | |
1264 #define clockm 0x00000003 | |
1265 #define clocks 0 | |
1266 #define flock 0x0000000C,2 | |
1267 #define flockm 0x0000000C | |
1268 #define flocks 2 | |
1269 /* | |
1270 #define reserved1 0x00000030,4 | |
1271 #define reserved1m 0x00000030 | |
1272 #define reserved1s 4 | |
1273 #define reserved2 0x000000C0,6 | |
1274 #define reserved2m 0x000000C0 | |
1275 #define reserved2s 6 | |
1276 */ | |
1277 | |
1278 /******************************************************************** | |
1279 * | |
1280 * Field MAINTENANCE INFORMATION | |
1281 * | |
1282 ********************************************************************/ | |
1283 | |
1284 /* | |
1285 * T.B.D. | |
1286 */ | |
1287 #define SIZE_EF_MAIN 8 | |
1288 #define NR_EF_MAIN 1 | |
1289 | |
1290 /******************************************************************** | |
1291 * | |
1292 * Field SPECIAL FUNCTION KEY | |
1293 * | |
1294 ********************************************************************/ | |
1295 | |
1296 /* | |
1297 * T.B.D. | |
1298 */ | |
1299 #define SIZE_EF_SFK 8 | |
1300 #define NR_EF_SFK 1 | |
1301 | |
1302 /******************************************************************** | |
1303 * | |
1304 * Field FAULT CONDITIONS | |
1305 * | |
1306 ********************************************************************/ | |
1307 | |
1308 /* | |
1309 * T.B.D. | |
1310 */ | |
1311 #define SIZE_EF_FAULT 8 | |
1312 #define NR_EF_FAULT 1 | |
1313 | |
1314 /******************************************************************** | |
1315 * | |
1316 * Field DEBUG INFORMATION | |
1317 * | |
1318 ********************************************************************/ | |
1319 | |
1320 /* | |
1321 * T.B.D. | |
1322 */ | |
1323 #define SIZE_EF_DEBUG 8 | |
1324 #define NR_EF_DEBUG 1 | |
1325 | |
1326 /******************************************************************** | |
1327 * | |
1328 * Field POWER MANAGEMENT | |
1329 * | |
1330 ********************************************************************/ | |
1331 | |
1332 /* | |
1333 * T.B.D. | |
1334 */ | |
1335 #define SIZE_EF_POWER 8 | |
1336 #define NR_EF_POWER 1 | |
1337 | |
1338 /******************************************************************** | |
1339 * | |
1340 * Field KEYBOARD MAPPING | |
1341 * | |
1342 ********************************************************************/ | |
1343 | |
1344 typedef struct pcm_EFkbd_Type /* Keyboard Mapping */ | |
1345 { | |
1346 UBYTE logical_key [32]; /* logical key */ | |
1347 UBYTE raw_key [32]; /* raw key */ | |
1348 } EF_KBD; | |
1349 | |
1350 #define SIZE_EF_KEYB 64 | |
1351 #define NR_EF_KEYB 1 | |
1352 | |
1353 /******************************************************************** | |
1354 * | |
1355 * Field RADIO PARAMETERS | |
1356 * | |
1357 ********************************************************************/ | |
1358 | |
1359 /* | |
1360 * T.B.D. | |
1361 */ | |
1362 #define SIZE_EF_RADIO 8 | |
1363 #define NR_EF_RADIO 1 | |
1364 | |
1365 /******************************************************************** | |
1366 * | |
1367 * Manufacturer | |
1368 * | |
1369 ********************************************************************/ | |
1370 | |
1371 #define SIZE_EF_CGMI_DATA 20 | |
1372 | |
1373 typedef struct pcm_EFcgmi_Type /* Manufacturer */ | |
1374 { | |
1375 UBYTE data[SIZE_EF_CGMI_DATA]; /* Name of Manufacturer */ | |
1376 } EF_CGMI; | |
1377 | |
1378 #define SIZE_EF_CGMI SIZE_EF_CGMI_DATA | |
1379 #define NR_EF_CGMI 1 | |
1380 | |
1381 /******************************************************************** | |
1382 * | |
1383 * Identification Information | |
1384 * | |
1385 ********************************************************************/ | |
1386 | |
1387 #define SIZE_EF_INF0_DATA 20 | |
1388 | |
1389 typedef struct pcm_EFinf0_Type | |
1390 { | |
1391 UBYTE data[SIZE_EF_INF0_DATA]; /*Identification Information*/ | |
1392 } EF_INF0; | |
1393 | |
1394 #define SIZE_EF_INF0 SIZE_EF_INF0_DATA | |
1395 #define NR_EF_INF0 2 | |
1396 | |
1397 /******************************************************************** | |
1398 * | |
1399 * Model | |
1400 * | |
1401 ********************************************************************/ | |
1402 | |
1403 #define SIZE_EF_CGMM_DATA 20 | |
1404 | |
1405 typedef struct pcm_EFcgmm_Type /* Model */ | |
1406 { | |
1407 UBYTE data[SIZE_EF_CGMM_DATA]; /* Name of Product */ | |
1408 } EF_CGMM; | |
1409 | |
1410 #define SIZE_EF_CGMM SIZE_EF_CGMM_DATA | |
1411 #define NR_EF_CGMM 1 | |
1412 | |
1413 /******************************************************************** | |
1414 * | |
1415 * Revision | |
1416 * | |
1417 ********************************************************************/ | |
1418 | |
1419 #define SIZE_EF_CGMR_DATA 20 | |
1420 | |
1421 typedef struct pcm_EFcgmr_Type /* Revision */ | |
1422 { | |
1423 UBYTE data[SIZE_EF_CGMR_DATA]; /* Version of Product */ | |
1424 } EF_CGMR; | |
1425 | |
1426 #define SIZE_EF_CGMR SIZE_EF_CGMR_DATA | |
1427 #define NR_EF_CGMR 1 | |
1428 | |
1429 /******************************************************************** | |
1430 * | |
1431 * Product Serial Number | |
1432 * | |
1433 ********************************************************************/ | |
1434 | |
1435 #define SIZE_EF_CGSN_DATA 20 | |
1436 | |
1437 typedef struct pcm_EFcgsn_Type /* Product Serial Number */ | |
1438 { | |
1439 UBYTE data[SIZE_EF_CGSN_DATA]; /* Serial Number of Product */ | |
1440 } EF_CGSN; | |
1441 | |
1442 #define SIZE_EF_CGSN SIZE_EF_CGSN_DATA | |
1443 #define NR_EF_CGSN 1 | |
1444 | |
1445 /******************************************************************** | |
1446 * | |
1447 * SMS Profile | |
1448 * | |
1449 ********************************************************************/ | |
1450 | |
1451 #define SIZE_EF_SMSPRFL_SCA 20 | |
1452 #define SIZE_EF_SMSPRFL_MIDS 40 | |
1453 #define SIZE_EF_SMSPRFL_DCSS 20 | |
1454 #define SIZE_EF_SMSPRFL_VPABS 14 | |
1455 | |
1456 #define EF_SMSPRFL_VLD 0x00 | |
1457 #define EF_SMSPRFL_INVLD 0xFF | |
1458 | |
1459 typedef struct pcm_EFsmsprfl_Type /* SMS Profile */ | |
1460 { | |
1461 UBYTE vldFlag; /* Valid Flag */ | |
1462 UBYTE CSCAsca[SIZE_EF_SMSPRFL_SCA]; /* Service Center Address */ | |
1463 UBYTE CSCAlenSca; /* Length of Service Center Address */ | |
1464 UBYTE CSCAton; /* Type of Number */ | |
1465 UBYTE CSCAnpi; /* Numbering Plan Identification */ | |
1466 UBYTE CSCBmode; /* Mode */ | |
1467 UBYTE CSCBmids[SIZE_EF_SMSPRFL_MIDS]; /* Message Identifier */ | |
1468 UBYTE CSCBdcss[SIZE_EF_SMSPRFL_DCSS]; /* Data Coding Schemes */ | |
1469 UBYTE CSMPfo; /* First Octet */ | |
1470 UBYTE CSMPvprel; /* Validity Period Relative */ | |
1471 UBYTE CSMPvpabs[SIZE_EF_SMSPRFL_VPABS]; /* Validity Period Absolute */ | |
1472 UBYTE CSMPpid; /* Protocol Identifier */ | |
1473 UBYTE CSMPdcs; /* Data Coding Scheme */ | |
1474 } EF_SMSPRFL; | |
1475 | |
1476 #define SIZE_EF_SMSPRFL ( SIZE_EF_SMSPRFL_SCA + \ | |
1477 SIZE_EF_SMSPRFL_MIDS + \ | |
1478 SIZE_EF_SMSPRFL_DCSS + \ | |
1479 SIZE_EF_SMSPRFL_VPABS + 9 ) | |
1480 #define NR_EF_SMSPRFL 2 | |
1481 | |
1482 /******************************************************************** | |
1483 * | |
1484 * PLMN Identifier | |
1485 * | |
1486 ********************************************************************/ | |
1487 | |
1488 #define SIZE_EF_PLMN_LONG 20 | |
1489 #define SIZE_EF_PLMN_SHRT 10 | |
1490 #define SIZE_EF_PLMN_MCC 2 | |
1491 #define SIZE_EF_PLMN_MNC 2 | |
1492 | |
1493 typedef struct pcm_EFplmn_Type /* PLMN Identifier */ | |
1494 { | |
1495 UBYTE mcc[SIZE_EF_PLMN_MCC]; /* Mobile country code */ | |
1496 UBYTE mnc[SIZE_EF_PLMN_MNC]; /* Mobile network code */ | |
1497 UBYTE lngNam[SIZE_EF_PLMN_LONG]; /* Long operator name */ | |
1498 UBYTE shrtNam[SIZE_EF_PLMN_SHRT]; /* Short operator name */ | |
1499 } EF_PLMN; | |
1500 | |
1501 #define SIZE_EF_PLMN ( SIZE_EF_PLMN_MCC + SIZE_EF_PLMN_MCC + \ | |
1502 SIZE_EF_PLMN_LONG + SIZE_EF_PLMN_SHRT ) | |
1503 #define NR_EF_PLMN 2 | |
1504 | |
1505 /******************************************************************** | |
1506 * | |
1507 * Field BCCH Information | |
1508 * | |
1509 ********************************************************************/ | |
1510 | |
1511 typedef struct pcm_EFbcchinfo_Type /* BCCH information */ | |
1512 { | |
1513 UBYTE bcch_info[54]; /* content */ | |
1514 } EF_BCCHINFO; | |
1515 | |
1516 #define SIZE_EF_BCCHINFO 54 | |
1517 #define NR_EF_BCCHINFO 1 | |
1518 | |
1519 /******************************************************************** | |
1520 * | |
1521 * Field alternate line service | |
1522 * | |
1523 ********************************************************************/ | |
1524 | |
1525 typedef struct pcm_EFals_Type /* alternate line service */ | |
1526 { | |
1527 UBYTE selLine; | |
1528 UBYTE statLine; | |
1529 } EF_ALS; | |
1530 | |
1531 #define SIZE_EF_ALS 2 | |
1532 #define NR_EF_ALS 1 | |
1533 | |
1534 /******************************************************************** | |
1535 * | |
1536 * Field Location Information (GPRS) | |
1537 * | |
1538 ********************************************************************/ | |
1539 | |
1540 typedef struct pcm_EFlocgprs_Type /* GPRS Location information */ | |
1541 { | |
1542 UBYTE ptmsi[4]; | |
1543 UBYTE ptmsi_signature[3]; | |
1544 UBYTE rai[6]; | |
1545 UBYTE ra_status; | |
1546 } EF_LOCGPRS; | |
1547 | |
1548 #define SIZE_EF_LOCGPRS sizeof (EF_LOCGPRS) | |
1549 #define NR_EF_LOCGPRS 1 | |
1550 | |
1551 /******************************************************************** | |
1552 * | |
1553 * Field Ciphering Key (GPRS) | |
1554 * | |
1555 ********************************************************************/ | |
1556 | |
1557 typedef struct pcm_EFkcgprs_Type /* GPRS Ciphering key */ | |
1558 { | |
1559 UBYTE kc[8]; | |
1560 UBYTE cksn; | |
1561 } EF_KCGPRS; | |
1562 | |
1563 #define SIZE_EF_KCGPRS sizeof (EF_KCGPRS) | |
1564 #define NR_EF_KCGPRS 1 | |
1565 | |
1566 /******************************************************************** | |
1567 * | |
1568 * Field IMSI (GPRS, only for validation of GPRS related fields) | |
1569 * | |
1570 ********************************************************************/ | |
1571 | |
1572 typedef struct pcm_EFimsigprs_Type /* International Subscriber Id */ | |
1573 { | |
1574 UBYTE len; | |
1575 UBYTE IMSI[8]; | |
1576 } EF_IMSIGPRS; | |
1577 | |
1578 #define SIZE_EF_IMSIGPRS sizeof (EF_IMSIGPRS) | |
1579 #define NR_EF_IMSIGPRS 1 | |
1580 | |
1581 /******************************************************************** | |
1582 * | |
1583 * Prototypes | |
1584 * | |
1585 ********************************************************************/ | |
1586 | |
1587 #if defined (NEW_FRAME) | |
1588 /* | |
1589 * to achieve backward compatibility with older definitions | |
1590 */ | |
1591 #define drv_SignalCB_Type T_DRV_CB_FUNC | |
1592 #define drv_SignalID_Type T_DRV_SIGNAL | |
1593 #define T_VSI_THANDLE USHORT | |
1594 #endif | |
1595 | |
1596 EXTERN drv_Return_Type pcm_Init (void); | |
1597 EXTERN void pcm_Exit (void); | |
1598 EXTERN drv_Return_Type pcm_ReadFile (UBYTE * in_FileName, | |
1599 USHORT in_BufferSize, | |
1600 UBYTE * out_BufferPtr, | |
1601 UBYTE * out_VersionPtr); | |
1602 EXTERN drv_Return_Type pcm_GetFileInfo (UBYTE * in_FileName, | |
1603 pcm_FileInfo_Type * out_FileInfoPtr); | |
1604 EXTERN drv_Return_Type pcm_ReadRecord (UBYTE * in_FileName, | |
1605 USHORT in_Record, | |
1606 USHORT in_BufferSize, | |
1607 UBYTE * out_BufferPtr, | |
1608 UBYTE * out_VersionPtr, | |
1609 USHORT * out_MaxRecordsPtr); | |
1610 EXTERN drv_Return_Type pcm_WriteFile (UBYTE * in_FileName, | |
1611 USHORT in_BufferSize, | |
1612 UBYTE * in_BufferPtr); | |
1613 EXTERN drv_Return_Type pcm_WriteRecord (UBYTE * in_FileName, | |
1614 USHORT in_Record, | |
1615 USHORT in_BufferSize, | |
1616 UBYTE * in_BufferPtr); | |
1617 EXTERN drv_Return_Type pcm_Flush (void); | |
1618 | |
1619 | |
1620 #endif | |
1621 | |
1622 |