FreeCalypso > hg > freecalypso-sw
comparison gsm-fw/include/condat/pcm.h @ 662:a712c95b60c1
gsm-fw/include/condat: import of TI's g23m/condat/com/include
custom.h, pwr.h and rtc.h taken from TCS211 version,
the others are the versions from LoCosto
author | Michael Spacefalcon <msokolov@ivan.Harhan.ORG> |
---|---|
date | Sun, 28 Sep 2014 01:14:48 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
661:c36fe9d1da7e | 662:a712c95b60c1 |
---|---|
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 #ifdef TI_PS_CUSTOM_RFCAP_DEFAULT | |
646 EXTERN U8 custom_rfcap_default[SIZE_EF_RFCAP]; | |
647 #endif /* TI_PS_CUSTOM_RFCAP_DEFAULT */ | |
648 | |
649 /******************************************************************** | |
650 * | |
651 * Field MOBILE SETUP | |
652 * | |
653 ********************************************************************/ | |
654 | |
655 typedef struct pcm_EFmssup_Type /* Mobile Setup */ | |
656 { | |
657 UBYTE lng1; | |
658 UBYTE lng2; | |
659 UBYTE lng3; | |
660 UBYTE feat1; | |
661 UBYTE feat2; | |
662 }EF_MSSUP; | |
663 | |
664 #define SIZE_EF_MSSUP 5 | |
665 #define NR_EF_MSSUP 1 | |
666 | |
667 /* | |
668 * lng1 | |
669 */ | |
670 #define eng 0x00000001,0 /* English */ | |
671 #define engm 0x00000001 | |
672 #define engs 0 | |
673 #define fre 0x00000002,1 /* French */ | |
674 #define frem 0x00000002 | |
675 #define fres 1 | |
676 #define ger 0x00000004,2 /* German */ | |
677 #define germ 0x00000004 | |
678 #define gers 2 | |
679 #define dut 0x00000008,3 /* Dutch */ | |
680 #define dutm 0x00000008 | |
681 #define duts 3 | |
682 #define ita 0x00000010,4 /* Italian */ | |
683 #define itam 0x00000010 | |
684 #define itas 4 | |
685 #define spa 0x00000020,5 /* Spanish */ | |
686 #define spam 0x00000020 | |
687 #define spas 5 | |
688 #define swe 0x00000040,6 /* Swedish */ | |
689 #define swem 0x00000040 | |
690 #define swes 6 | |
691 #define por 0x00000080,7 /* Portuguese */ | |
692 #define porm 0x00000080 | |
693 #define pors 7 | |
694 | |
695 /* | |
696 * lng2 | |
697 */ | |
698 #define fin 0x00000001,0 /* Finnish */ | |
699 #define finm 0x00000001 | |
700 #define fins 0 | |
701 #define nor 0x00000002,1 /* Norwegian */ | |
702 #define norm 0x00000002 | |
703 #define nors 1 | |
704 #define gre 0x00000004,2 /* Greek */ | |
705 #define grem 0x00000004 | |
706 #define gres 2 | |
707 #define tur 0x00000008,3 /* Turkish */ | |
708 #define turm 0x00000008 | |
709 #define turs 3 | |
710 #define hun 0x00000010,4 /* Hungarian */ | |
711 #define hunm 0x00000010 | |
712 #define huns 4 | |
713 #define slo 0x00000020,5 /* Slovenian */ | |
714 #define slom 0x00000020 | |
715 #define slos 5 | |
716 #define pol 0x00000040,6 /* Polish */ | |
717 #define polm 0x00000040 | |
718 #define pols 6 | |
719 #define rus 0x00000080,7 /* Russian */ | |
720 #define rusm 0x00000080 | |
721 #define russ 7 | |
722 | |
723 /* | |
724 * lng3 | |
725 */ | |
726 #define ind 0x00000001,0 /* Indonesian */ | |
727 #define indm 0x00000001 | |
728 #define inds 0 | |
729 #define cze 0x00000002,1 /* Czech */ | |
730 #define czem 0x00000002 | |
731 #define czes 1 | |
732 #define chi 0x00000004,2 /* Chinese */ | |
733 #define chim 0x00000004 | |
734 #define chis 2 | |
735 #define can 0x00000008,3 /* Cantonese */ | |
736 #define canm 0x00000008 | |
737 #define cans 3 | |
738 #define man 0x00000010,4 /* Mandarin */ | |
739 #define manm 0x00000010 | |
740 #define mans 4 | |
741 #define tai 0x00000020,5 /* Taiwanese */ | |
742 #define taim 0x00000020 | |
743 #define tais 5 | |
744 #define ara 0x00000040,6 /* Arabic */ | |
745 #define aram 0x00000040 | |
746 #define aras 6 | |
747 | |
748 /* | |
749 * feat | |
750 */ | |
751 #define AoC 0x00000001,0 /* Advice of Charge */ | |
752 #define AoCm 0x00000001 | |
753 #define AoCs 0 | |
754 #define DTMF 0x00000002,1 /* DTMF */ | |
755 #define DTMFm 0x00000002 | |
756 #define DTMFs 1 | |
757 #define CF 0x00000004,2 /* Call Forwarding */ | |
758 #define CFm 0x00000004 | |
759 #define CFs 2 | |
760 #define CB 0x00000008,3 /* Call Barring */ | |
761 #define CBm 0x00000008 | |
762 #define CBs 3 | |
763 #define USSD 0x00000010,4 /* USSD */ | |
764 #define USSDm 0x00000010 | |
765 #define USSDs 4 | |
766 #define ETC 0x00000020,5 /* ETC */ | |
767 #define ETCm 0x00000020 | |
768 #define ETCs 5 | |
769 #define IRDA 0x00000040,6 /* IRDA */ | |
770 #define IRDAm 0x00000040 | |
771 #define IRDAs 6 | |
772 | |
773 /******************************************************************** | |
774 * | |
775 * Field Current language (CLNG) | |
776 * | |
777 ********************************************************************/ | |
778 | |
779 #define SIZE_EF_CLNG_DATA 2 | |
780 | |
781 typedef struct pcm_EFclng_Type | |
782 { | |
783 UBYTE data[SIZE_EF_CLNG_DATA]; /* current language in ME */ | |
784 } EF_CLNG; | |
785 | |
786 #define SIZE_EF_CLNG SIZE_EF_CLNG_DATA | |
787 #define NR_EF_CLNG 1 | |
788 | |
789 /******************************************************************** | |
790 * | |
791 * Field MOBILE STATION SETTTINGS | |
792 * | |
793 ********************************************************************/ | |
794 | |
795 typedef struct pcm_EFmsset_Type /* Mobile Setting */ | |
796 { | |
797 UBYTE buzzer1; | |
798 UBYTE buzzer2; | |
799 UBYTE buzzer3; | |
800 UBYTE audio; | |
801 UBYTE misc; | |
802 UBYTE display; | |
803 UBYTE language; | |
804 UBYTE recent_ldn_ref; | |
805 UBYTE recent_lrn_ref; | |
806 UBYTE recent_upn_ref; | |
807 } EF_MSSET; | |
808 | |
809 #define SIZE_EF_MSSET 10 | |
810 #define NR_EF_MSSET 1 | |
811 | |
812 /* | |
813 * buzzer 1 | |
814 */ | |
815 #define calltype 0x00000007,0 /* ringer type incoming calls */ | |
816 #define calltypem 0x00000007 | |
817 #define calltypes 0 | |
818 #define callvol 0x00000038,3 /* ringer volume incoming calls */ | |
819 #define callvolm 0x00000038 | |
820 #define callvols 3 | |
821 #define vib 0x000000c0,6 /* vibrator */ | |
822 #define vibm 0x000000c0 | |
823 #define vibs 6 | |
824 | |
825 /* | |
826 * buzzer 2 | |
827 */ | |
828 #define msgtype 0x00000007,0 /* ringer type messages */ | |
829 #define msgtypem 0x00000007 | |
830 #define msgtypes 0 | |
831 #define msgvol 0x00000038,3 /* ringer volume messages */ | |
832 #define msgvolm 0x00000038 | |
833 #define msgvols 3 | |
834 | |
835 /* | |
836 * buzzer 3 | |
837 */ | |
838 #define keytone 0x00000003,0 /* key tone mode */ | |
839 #define keytonem 0x00000003 | |
840 #define keytones 0 | |
841 #define batw 0x00000004,2 /* low battery warning */ | |
842 #define batwm 0x00000004 | |
843 #define batws 2 | |
844 | |
845 /* | |
846 * audio | |
847 */ | |
848 #define lnamp 0x00000007,0 /* microphone amplification */ | |
849 #define lnampm 0x00000007 | |
850 #define lnamps 0 | |
851 #define outvol 0x00000038,3 /* output volume */ | |
852 #define outvolm 0x00000038 | |
853 #define outvols 3 | |
854 #define ext 0x00000040,6 /* external audio */ | |
855 #define extm 0x00000040 | |
856 #define exts 6 | |
857 #define voicerec 0x00000080,7 /* voice recording */ | |
858 #define voicerecm 0x00000080 | |
859 #define voicerecs 7 | |
860 | |
861 /* | |
862 * miscellenous | |
863 */ | |
864 #define pmod 0x00000001,0 /* PLMN selection mode */ | |
865 #define pmodm 0x00000001 | |
866 #define pmods 0 | |
867 #define clir 0x00000002,1 /* CLIR */ | |
868 #define clirm 0x00000002 | |
869 #define clirs 1 | |
870 #define clip 0x00000004,2 /* CLIP */ | |
871 #define clipm 0x00000004 | |
872 #define clips 2 | |
873 #define calinf 0x00000008,3 /* call information display */ | |
874 #define calinfm 0x00000008 | |
875 #define calinfs 3 | |
876 #define redial 0x00000030,4 /* redial mode */ | |
877 #define redialm 0x00000030 | |
878 #define redials 4 | |
879 | |
880 /* | |
881 * display | |
882 */ | |
883 #define ctrt 0x00000007,0 /* contrast */ | |
884 #define ctrtm 0x00000007 | |
885 #define ctrts 0 | |
886 #define brgt 0x00000018,3 /* brightness */ | |
887 #define brgtm 0x00000018 | |
888 #define brgts 3 | |
889 #define bckdr 0x000000E0,5 /* duration for back light */ | |
890 #define bckdrm 0x000000E0 | |
891 #define bckdrs 5 | |
892 | |
893 // Jun 14, 2005 REF: MMI-FIX-30439 x0018858 | |
894 //Begin 30439 | |
895 /******************************************************************** | |
896 * | |
897 * Field Homezone cache | |
898 * | |
899 ********************************************************************/ | |
900 | |
901 typedef struct pcm_EFhzcache_Type | |
902 { | |
903 UBYTE cid[2]; | |
904 UBYTE zone; | |
905 } EF_HZCACHE; | |
906 | |
907 #define SIZE_EF_HZCACHE 3 | |
908 #define NR_EF_HZCACHE 5 | |
909 | |
910 /******************************************************************** | |
911 * | |
912 * Field LAST MOC NUMBERS - LDN | |
913 * | |
914 ********************************************************************/ | |
915 //end 30439 | |
916 | |
917 typedef struct pcm_EFldn_Type /* Last Dialed Numbers */ | |
918 { | |
919 UBYTE calDrMsb; | |
920 UBYTE calDrLsb; | |
921 UBYTE year; | |
922 UBYTE month; | |
923 UBYTE day; | |
924 UBYTE hour; | |
925 UBYTE minute; | |
926 UBYTE second; | |
927 UBYTE len; /* length of BCD number */ | |
928 UBYTE numTp; | |
929 UBYTE dldNum[10]; /* dialed number */ | |
930 UBYTE ccp; /* capability/configuration id */ | |
931 UBYTE ext1; /* extension1 record identifier */ | |
932 } EF_LDN; | |
933 | |
934 #define SIZE_EF_LDN 22 | |
935 #define NR_EF_LDN 1 | |
936 | |
937 /* | |
938 * numTp | |
939 */ | |
940 #define numTp_npi 0x0000000F,0 /* numbering plan identification */ | |
941 #define numTp_npim 0x0000000F | |
942 #define numTp_npis 0 | |
943 #define numTp_ton 0x00000070,4 /* Type of number */ | |
944 #define numTp_tonm 0x00000070 | |
945 #define numTp_tons 4 | |
946 | |
947 /******************************************************************** | |
948 * | |
949 * Field LAST RECEIVED NUMBERS | |
950 * | |
951 ********************************************************************/ | |
952 | |
953 typedef struct pcm_EFlrn_Type /* Last Received Numbers */ | |
954 { | |
955 UBYTE calDrMsb; | |
956 UBYTE calDrLsb; | |
957 UBYTE year; | |
958 UBYTE month; | |
959 UBYTE day; | |
960 UBYTE hour; | |
961 UBYTE minute; | |
962 UBYTE second; | |
963 UBYTE id; | |
964 UBYTE len; /* length of BCD number */ | |
965 UBYTE numTp; | |
966 UBYTE dldNum[10]; /* dialed number */ | |
967 UBYTE ccp; /* capability/configuration id */ | |
968 UBYTE ext1; /* extension1 record identifier */ | |
969 } EF_LRN; | |
970 | |
971 #define SIZE_EF_LRN 23 | |
972 #define NR_EF_LRN 1 | |
973 | |
974 /******************************************************************** | |
975 * | |
976 * Field LAST MISSED NUMBERS | |
977 * | |
978 ********************************************************************/ | |
979 | |
980 typedef struct pcm_EFlmn_Type /* Last Missed Numbers */ | |
981 { | |
982 UBYTE year; | |
983 UBYTE month; | |
984 UBYTE day; | |
985 UBYTE hour; | |
986 UBYTE minute; | |
987 UBYTE second; | |
988 UBYTE id; | |
989 UBYTE len; /* length of BCD number */ | |
990 UBYTE numTp; | |
991 UBYTE dldNum[10]; /* dialed number */ | |
992 UBYTE ccp; /* capability/configuration id */ | |
993 UBYTE ext1; /* extension1 record identifier */ | |
994 } EF_LMN; | |
995 | |
996 #define SIZE_EF_LMN 21 | |
997 #define NR_EF_LMN 1 | |
998 | |
999 /******************************************************************** | |
1000 * | |
1001 * Field USER PERSONAL NUMBERS | |
1002 * | |
1003 ********************************************************************/ | |
1004 | |
1005 typedef struct pcm_EFupn_Type /* User Personal Numbers */ | |
1006 { | |
1007 UBYTE alphId[10]; | |
1008 UBYTE len; | |
1009 UBYTE numTp; /* bitmap same as EF_LDN */ | |
1010 UBYTE usrNum[10]; | |
1011 UBYTE ccp; | |
1012 UBYTE ext1; | |
1013 } EF_UPN; | |
1014 | |
1015 #define SIZE_EF_UPN 24 | |
1016 #define NR_EF_UPN 1 | |
1017 | |
1018 /******************************************************************** | |
1019 * | |
1020 * Field MAILBOX NUMBERS | |
1021 * | |
1022 ********************************************************************/ | |
1023 | |
1024 typedef struct pcm_EFmbn_Type /* Mailbox Numbers */ | |
1025 { | |
1026 UBYTE alphId[10]; | |
1027 UBYTE len; | |
1028 UBYTE numTp; /* bitmap same as EF_LDN */ | |
1029 UBYTE mbNum[10]; | |
1030 } EF_MBN; | |
1031 | |
1032 #define SIZE_EF_MBN 22 | |
1033 #define NR_EF_MBN 4 | |
1034 | |
1035 | |
1036 /******************************************************************** | |
1037 * | |
1038 * Field Voice Mail Number | |
1039 * | |
1040 ********************************************************************/ | |
1041 | |
1042 /* | |
1043 * note that with new 04.08 the called party bcd number of the CC | |
1044 * protocol can have up to 43 octets, 3 are used for other things | |
1045 * than the BCD coded digits | |
1046 */ | |
1047 #define MAX_CALLED_PARTY_BCD_NO_OCTETS 40 | |
1048 typedef struct pcm_EFvmn_Type /* Voice mail Number */ | |
1049 { | |
1050 UBYTE vmNum[MAX_CALLED_PARTY_BCD_NO_OCTETS + 1]; | |
1051 /* implementation uses delimiter of 0xFF */ | |
1052 UBYTE numTp; | |
1053 | |
1054 } EF_VMN; | |
1055 | |
1056 #define SIZE_EF_VMN (MAX_CALLED_PARTY_BCD_NO_OCTETS + 1 + 1) | |
1057 #define NR_EF_VMN 1 | |
1058 | |
1059 | |
1060 /******************************************************************** | |
1061 * | |
1062 * Field CALL TIMER | |
1063 * | |
1064 ********************************************************************/ | |
1065 | |
1066 typedef struct pcm_EFctim_Type /* Call Timer */ | |
1067 { | |
1068 UBYTE moVcDrHm[4]; | |
1069 UBYTE mtVcDrHm[4]; | |
1070 UBYTE moDtDrHm[4]; | |
1071 UBYTE mtDtDrHm[4]; | |
1072 UBYTE moFxDrHm[4]; | |
1073 UBYTE mtFxDrHm[4]; | |
1074 UBYTE moVcDrRm[4]; | |
1075 UBYTE mtVcDrRm[4]; | |
1076 UBYTE moDtDrRm[4]; | |
1077 UBYTE mtDtDrRm[4]; | |
1078 UBYTE moFxDrRm[4]; | |
1079 UBYTE mtFxDrRm[4]; | |
1080 } EF_CTIM; | |
1081 | |
1082 #define SIZE_EF_CTIM 48 | |
1083 #define NR_EF_CTIM 1 | |
1084 | |
1085 /******************************************************************** | |
1086 * | |
1087 * Field CALL COUNTER | |
1088 * | |
1089 ********************************************************************/ | |
1090 | |
1091 typedef struct pcm_EFccnt_Type /* Call Counter */ | |
1092 { | |
1093 UBYTE total[4]; | |
1094 UBYTE moVcDrHm[4]; | |
1095 UBYTE mtVcDrHm[4]; | |
1096 UBYTE moDtDrHm[4]; | |
1097 UBYTE mtDtDrHm[4]; | |
1098 UBYTE moFxDrHm[4]; | |
1099 UBYTE mtFxDrHm[4]; | |
1100 UBYTE moVcDrRm[4]; | |
1101 UBYTE mtVcDrRm[4]; | |
1102 UBYTE moDtDrRm[4]; | |
1103 UBYTE mtDtDrRm[4]; | |
1104 UBYTE moFxDrRm[4]; | |
1105 UBYTE mtFxDrRm[4]; | |
1106 } EF_CCNT; | |
1107 | |
1108 #define SIZE_EF_CCNT 52 | |
1109 #define NR_EF_CCNT 1 | |
1110 | |
1111 /******************************************************************** | |
1112 * | |
1113 * Field EMERGENCY CALL CODES | |
1114 * | |
1115 ********************************************************************/ | |
1116 | |
1117 | |
1118 typedef struct pcm_EFecc_Type /* Emergency Call Codes */ | |
1119 { | |
1120 UBYTE ecc1[3]; /* emergency call code */ | |
1121 UBYTE ecc2[3]; | |
1122 UBYTE ecc3[3]; | |
1123 UBYTE ecc4[3]; | |
1124 UBYTE ecc5[3]; | |
1125 } EF_ECC; | |
1126 | |
1127 #define SIZE_EF_ECC 15 | |
1128 #define NR_EF_ECC 1 | |
1129 | |
1130 /******************************************************************** | |
1131 * | |
1132 * Field ORGANIZER AND ALARM | |
1133 * | |
1134 ********************************************************************/ | |
1135 | |
1136 | |
1137 typedef struct pcm_EForg_Type /* Organizer and Alarm */ | |
1138 { | |
1139 UBYTE date[6]; /* bitmap same as EF_LDN */ | |
1140 UBYTE alrm; | |
1141 UBYTE alphMem[16]; /* alpha memo */ | |
1142 } EF_ORG; | |
1143 | |
1144 #define SIZE_EF_ORG 23 | |
1145 #define NR_EF_ORG 1 | |
1146 | |
1147 /* | |
1148 * alrm | |
1149 */ | |
1150 #define alrm_stat 0x00000001,0 | |
1151 #define alrm_statm 0x00000001 | |
1152 #define alrm_stats 0 | |
1153 #define alrm_type 0x0000000E,1 | |
1154 #define alrm_typem 0x0000000E | |
1155 #define alrm_types 1 | |
1156 | |
1157 /******************************************************************** | |
1158 * | |
1159 * Field CAPABILITY AND CONFIGURATION PARAMETERS | |
1160 * | |
1161 ********************************************************************/ | |
1162 | |
1163 typedef struct pcm_EFccp_Type /* Capability and Configuration Parameters */ | |
1164 { | |
1165 UBYTE usrRate; /* user rate */ | |
1166 UBYTE bearServ; /* bearer service */ | |
1167 UBYTE conElem; /* connection element */ | |
1168 UBYTE stopBits; /* stop bits */ | |
1169 UBYTE dataBits; /* data bits */ | |
1170 UBYTE parity; /* parity */ | |
1171 UBYTE flowCntrl; /* flow control */ | |
1172 } EF_CCP; | |
1173 | |
1174 #define SIZE_EF_CCP 7 | |
1175 #define NR_EF_CCP 1 | |
1176 | |
1177 /******************************************************************** | |
1178 * | |
1179 * Field EXTENSION 1 | |
1180 * | |
1181 ********************************************************************/ | |
1182 | |
1183 typedef struct pcm_EFext1_Type /* Extension 1 */ | |
1184 { | |
1185 UBYTE recTp; /* record type */ | |
1186 UBYTE extDat[11]; /* extension data */ | |
1187 UBYTE id; /* identifier */ | |
1188 } EF_EXT1; | |
1189 | |
1190 #define SIZE_EF_EXT1 13 | |
1191 #define NR_EF_EXT1 1 | |
1192 | |
1193 /******************************************************************** | |
1194 * | |
1195 * Field SIM LOCK and Extended SIM LOCK (use alternativly) | |
1196 * | |
1197 ********************************************************************/ | |
1198 | |
1199 typedef struct pcm_EFsimlck_Type /* SIM Lock */ | |
1200 { | |
1201 UBYTE locks1; /* lock status */ | |
1202 UBYTE locks2; | |
1203 UBYTE cnt; /* lock counter */ | |
1204 UBYTE maxcnt; /* lock counter */ | |
1205 UBYTE PKey[8]; /* SIM control key */ | |
1206 UBYTE SPKey[8]; /* SP control key */ | |
1207 UBYTE NSKey[8]; /* NS control key */ | |
1208 UBYTE CKey[8]; /* corporate control key */ | |
1209 UBYTE NKey[8]; /* network control key */ | |
1210 UBYTE len_imsi; /* bytes of IMSI */ | |
1211 UBYTE imsi[15]; /* IMSI */ | |
1212 UBYTE gidl1; /* Group Identifier Level 1 */ | |
1213 UBYTE gidl2; /* Group Identifier Level 1 */ | |
1214 } EF_SIMLCK; | |
1215 | |
1216 #define SIZE_EF_SIMLCK 62 | |
1217 #define NR_EF_SIMLCK 1 | |
1218 | |
1219 typedef struct pcm_EFsimlckext_Type /* Extended SIM Lock */ | |
1220 { | |
1221 UBYTE locks1; /* lock status */ | |
1222 UBYTE locks2; | |
1223 UBYTE cnt; /* lock counter */ | |
1224 UBYTE maxcnt; /* lock counter */ | |
1225 UBYTE PKey[8]; /* SIM control key */ | |
1226 UBYTE SPKey[8]; /* SP control key */ | |
1227 UBYTE NSKey[8]; /* NS control key */ | |
1228 UBYTE CKey[8]; /* corporate control key */ | |
1229 UBYTE NKey[8]; /* network control key */ | |
1230 UBYTE len_p_imsi; /* bytes of IMSI P-Lock */ | |
1231 UBYTE p_imsi[15]; /* IMSI P-Lock */ | |
1232 UBYTE len_sp_imsi; /* bytes of IMSI SP-Lock */ | |
1233 UBYTE sp_imsi[15]; /* IMSI SP-Lock */ | |
1234 UBYTE len_ns_imsi; /* bytes of IMSI NS-Lock */ | |
1235 UBYTE ns_imsi[15]; /* IMSI NS-Lock */ | |
1236 UBYTE len_c_imsi; /* bytes of IMSI C-Lock */ | |
1237 UBYTE c_imsi[15]; /* IMSI C-Lock */ | |
1238 UBYTE len_n_imsi; /* bytes of IMSI N-Lock */ | |
1239 UBYTE n_imsi[15]; /* IMSI N-Lock */ | |
1240 UBYTE len_u_imsi; /* bytes of IMSI U-Lock */ | |
1241 UBYTE u_imsi[15]; /* IMSI U-Lock */ | |
1242 UBYTE gidl1; /* Group Identifier Level 1 */ | |
1243 UBYTE gidl2; /* Group Identifier Level 1 */ | |
1244 } EF_SIMLCKEXT; | |
1245 | |
1246 #define SIZE_EF_SIMLCKEXT 142 | |
1247 #define NR_EF_SIMLCKEXT 1 | |
1248 | |
1249 /* | |
1250 * locks1 | |
1251 */ | |
1252 #define plock 0x00000003,0 | |
1253 #define plockm 0x00000003 | |
1254 #define plocks 0 | |
1255 #define nlock 0x0000000C,2 | |
1256 #define nlockm 0x0000000C | |
1257 #define nlocks 2 | |
1258 #define nslock 0x00000030,4 | |
1259 #define nslockm 0x00000030 | |
1260 #define nslocks 4 | |
1261 #define spslock 0x000000C0,6 | |
1262 #define splockm 0x000000C0 | |
1263 #define splocks 6 | |
1264 | |
1265 /* | |
1266 * locks2 | |
1267 */ | |
1268 #define clock 0x00000003,0 | |
1269 #define clockm 0x00000003 | |
1270 #define clocks 0 | |
1271 #define flock 0x0000000C,2 | |
1272 #define flockm 0x0000000C | |
1273 #define flocks 2 | |
1274 /* | |
1275 #define reserved1 0x00000030,4 | |
1276 #define reserved1m 0x00000030 | |
1277 #define reserved1s 4 | |
1278 #define reserved2 0x000000C0,6 | |
1279 #define reserved2m 0x000000C0 | |
1280 #define reserved2s 6 | |
1281 */ | |
1282 | |
1283 /******************************************************************** | |
1284 * | |
1285 * Field MAINTENANCE INFORMATION | |
1286 * | |
1287 ********************************************************************/ | |
1288 | |
1289 /* | |
1290 * T.B.D. | |
1291 */ | |
1292 #define SIZE_EF_MAIN 8 | |
1293 #define NR_EF_MAIN 1 | |
1294 | |
1295 /******************************************************************** | |
1296 * | |
1297 * Field SPECIAL FUNCTION KEY | |
1298 * | |
1299 ********************************************************************/ | |
1300 | |
1301 /* | |
1302 * T.B.D. | |
1303 */ | |
1304 #define SIZE_EF_SFK 8 | |
1305 #define NR_EF_SFK 1 | |
1306 | |
1307 /******************************************************************** | |
1308 * | |
1309 * Field FAULT CONDITIONS | |
1310 * | |
1311 ********************************************************************/ | |
1312 | |
1313 /* | |
1314 * T.B.D. | |
1315 */ | |
1316 #define SIZE_EF_FAULT 8 | |
1317 #define NR_EF_FAULT 1 | |
1318 | |
1319 /******************************************************************** | |
1320 * | |
1321 * Field DEBUG INFORMATION | |
1322 * | |
1323 ********************************************************************/ | |
1324 | |
1325 /* | |
1326 * T.B.D. | |
1327 */ | |
1328 #define SIZE_EF_DEBUG 8 | |
1329 #define NR_EF_DEBUG 1 | |
1330 | |
1331 /******************************************************************** | |
1332 * | |
1333 * Field POWER MANAGEMENT | |
1334 * | |
1335 ********************************************************************/ | |
1336 | |
1337 /* | |
1338 * T.B.D. | |
1339 */ | |
1340 #define SIZE_EF_POWER 8 | |
1341 #define NR_EF_POWER 1 | |
1342 | |
1343 /******************************************************************** | |
1344 * | |
1345 * Field KEYBOARD MAPPING | |
1346 * | |
1347 ********************************************************************/ | |
1348 | |
1349 typedef struct pcm_EFkbd_Type /* Keyboard Mapping */ | |
1350 { | |
1351 UBYTE logical_key [32]; /* logical key */ | |
1352 UBYTE raw_key [32]; /* raw key */ | |
1353 } EF_KBD; | |
1354 | |
1355 #define SIZE_EF_KEYB 64 | |
1356 #define NR_EF_KEYB 1 | |
1357 | |
1358 /******************************************************************** | |
1359 * | |
1360 * Field RADIO PARAMETERS | |
1361 * | |
1362 ********************************************************************/ | |
1363 | |
1364 /* | |
1365 * T.B.D. | |
1366 */ | |
1367 #define SIZE_EF_RADIO 8 | |
1368 #define NR_EF_RADIO 1 | |
1369 | |
1370 /******************************************************************** | |
1371 * | |
1372 * Manufacturer | |
1373 * | |
1374 ********************************************************************/ | |
1375 | |
1376 #define SIZE_EF_CGMI_DATA 20 | |
1377 | |
1378 typedef struct pcm_EFcgmi_Type /* Manufacturer */ | |
1379 { | |
1380 UBYTE data[SIZE_EF_CGMI_DATA]; /* Name of Manufacturer */ | |
1381 } EF_CGMI; | |
1382 | |
1383 #define SIZE_EF_CGMI SIZE_EF_CGMI_DATA | |
1384 #define NR_EF_CGMI 1 | |
1385 | |
1386 /******************************************************************** | |
1387 * | |
1388 * Identification Information | |
1389 * | |
1390 ********************************************************************/ | |
1391 | |
1392 #define SIZE_EF_INF0_DATA 20 | |
1393 | |
1394 typedef struct pcm_EFinf0_Type | |
1395 { | |
1396 UBYTE data[SIZE_EF_INF0_DATA]; /*Identification Information*/ | |
1397 } EF_INF0; | |
1398 | |
1399 #define SIZE_EF_INF0 SIZE_EF_INF0_DATA | |
1400 #define NR_EF_INF0 2 | |
1401 | |
1402 /******************************************************************** | |
1403 * | |
1404 * Model | |
1405 * | |
1406 ********************************************************************/ | |
1407 | |
1408 #define SIZE_EF_CGMM_DATA 20 | |
1409 | |
1410 typedef struct pcm_EFcgmm_Type /* Model */ | |
1411 { | |
1412 UBYTE data[SIZE_EF_CGMM_DATA]; /* Name of Product */ | |
1413 } EF_CGMM; | |
1414 | |
1415 #define SIZE_EF_CGMM SIZE_EF_CGMM_DATA | |
1416 #define NR_EF_CGMM 1 | |
1417 | |
1418 /******************************************************************** | |
1419 * | |
1420 * Revision | |
1421 * | |
1422 ********************************************************************/ | |
1423 | |
1424 #define SIZE_EF_CGMR_DATA 20 | |
1425 | |
1426 typedef struct pcm_EFcgmr_Type /* Revision */ | |
1427 { | |
1428 UBYTE data[SIZE_EF_CGMR_DATA]; /* Version of Product */ | |
1429 } EF_CGMR; | |
1430 | |
1431 #define SIZE_EF_CGMR SIZE_EF_CGMR_DATA | |
1432 #define NR_EF_CGMR 1 | |
1433 | |
1434 /******************************************************************** | |
1435 * | |
1436 * Product Serial Number | |
1437 * | |
1438 ********************************************************************/ | |
1439 | |
1440 #define SIZE_EF_CGSN_DATA 20 | |
1441 | |
1442 typedef struct pcm_EFcgsn_Type /* Product Serial Number */ | |
1443 { | |
1444 UBYTE data[SIZE_EF_CGSN_DATA]; /* Serial Number of Product */ | |
1445 } EF_CGSN; | |
1446 | |
1447 #define SIZE_EF_CGSN SIZE_EF_CGSN_DATA | |
1448 #define NR_EF_CGSN 1 | |
1449 | |
1450 /******************************************************************** | |
1451 * | |
1452 * SMS Profile | |
1453 * | |
1454 ********************************************************************/ | |
1455 | |
1456 #define SIZE_EF_SMSPRFL_SCA 20 | |
1457 #define SIZE_EF_SMSPRFL_MIDS 40 | |
1458 #define SIZE_EF_SMSPRFL_DCSS 20 | |
1459 #define SIZE_EF_SMSPRFL_VPABS 14 | |
1460 | |
1461 #define EF_SMSPRFL_VLD 0x00 | |
1462 #define EF_SMSPRFL_INVLD 0xFF | |
1463 | |
1464 typedef struct pcm_EFsmsprfl_Type /* SMS Profile */ | |
1465 { | |
1466 UBYTE vldFlag; /* Valid Flag */ | |
1467 UBYTE CSCAsca[SIZE_EF_SMSPRFL_SCA]; /* Service Center Address */ | |
1468 UBYTE CSCAlenSca; /* Length of Service Center Address */ | |
1469 UBYTE CSCAton; /* Type of Number */ | |
1470 UBYTE CSCAnpi; /* Numbering Plan Identification */ | |
1471 UBYTE CSCBmode; /* Mode */ | |
1472 UBYTE CSCBmids[SIZE_EF_SMSPRFL_MIDS]; /* Message Identifier */ | |
1473 UBYTE CSCBdcss[SIZE_EF_SMSPRFL_DCSS]; /* Data Coding Schemes */ | |
1474 UBYTE CSMPfo; /* First Octet */ | |
1475 UBYTE CSMPvprel; /* Validity Period Relative */ | |
1476 UBYTE CSMPvpabs[SIZE_EF_SMSPRFL_VPABS]; /* Validity Period Absolute */ | |
1477 UBYTE CSMPpid; /* Protocol Identifier */ | |
1478 UBYTE CSMPdcs; /* Data Coding Scheme */ | |
1479 } EF_SMSPRFL; | |
1480 | |
1481 #define SIZE_EF_SMSPRFL ( SIZE_EF_SMSPRFL_SCA + \ | |
1482 SIZE_EF_SMSPRFL_MIDS + \ | |
1483 SIZE_EF_SMSPRFL_DCSS + \ | |
1484 SIZE_EF_SMSPRFL_VPABS + 9 ) | |
1485 #define NR_EF_SMSPRFL 2 | |
1486 | |
1487 /******************************************************************** | |
1488 * | |
1489 * PLMN Identifier | |
1490 * | |
1491 ********************************************************************/ | |
1492 | |
1493 #define SIZE_EF_PLMN_LONG 20 | |
1494 #define SIZE_EF_PLMN_SHRT 10 | |
1495 #define SIZE_EF_PLMN_MCC 2 | |
1496 #define SIZE_EF_PLMN_MNC 2 | |
1497 | |
1498 typedef struct pcm_EFplmn_Type /* PLMN Identifier */ | |
1499 { | |
1500 UBYTE mcc[SIZE_EF_PLMN_MCC]; /* Mobile country code */ | |
1501 UBYTE mnc[SIZE_EF_PLMN_MNC]; /* Mobile network code */ | |
1502 UBYTE lngNam[SIZE_EF_PLMN_LONG]; /* Long operator name */ | |
1503 UBYTE shrtNam[SIZE_EF_PLMN_SHRT]; /* Short operator name */ | |
1504 } EF_PLMN; | |
1505 | |
1506 #define SIZE_EF_PLMN ( SIZE_EF_PLMN_MCC + SIZE_EF_PLMN_MCC + \ | |
1507 SIZE_EF_PLMN_LONG + SIZE_EF_PLMN_SHRT ) | |
1508 #define NR_EF_PLMN 2 | |
1509 | |
1510 /******************************************************************** | |
1511 * | |
1512 * Field BCCH Information | |
1513 * | |
1514 ********************************************************************/ | |
1515 | |
1516 typedef struct pcm_EFbcchinfo_Type /* BCCH information */ | |
1517 { | |
1518 UBYTE bcch_info[54]; /* content */ | |
1519 } EF_BCCHINFO; | |
1520 | |
1521 #define SIZE_EF_BCCHINFO 54 | |
1522 #define NR_EF_BCCHINFO 1 | |
1523 | |
1524 /******************************************************************** | |
1525 * | |
1526 * Field alternate line service | |
1527 * | |
1528 ********************************************************************/ | |
1529 | |
1530 typedef struct pcm_EFals_Type /* alternate line service */ | |
1531 { | |
1532 UBYTE selLine; | |
1533 UBYTE statLine; | |
1534 } EF_ALS; | |
1535 | |
1536 #define SIZE_EF_ALS 2 | |
1537 #define NR_EF_ALS 1 | |
1538 | |
1539 /******************************************************************** | |
1540 * | |
1541 * Field Location Information (GPRS) | |
1542 * | |
1543 ********************************************************************/ | |
1544 | |
1545 typedef struct pcm_EFlocgprs_Type /* GPRS Location information */ | |
1546 { | |
1547 UBYTE ptmsi[4]; | |
1548 UBYTE ptmsi_signature[3]; | |
1549 UBYTE rai[6]; | |
1550 UBYTE ra_status; | |
1551 } EF_LOCGPRS; | |
1552 | |
1553 #define SIZE_EF_LOCGPRS sizeof (EF_LOCGPRS) | |
1554 #define NR_EF_LOCGPRS 1 | |
1555 | |
1556 /******************************************************************** | |
1557 * | |
1558 * Field Ciphering Key (GPRS) | |
1559 * | |
1560 ********************************************************************/ | |
1561 | |
1562 typedef struct pcm_EFkcgprs_Type /* GPRS Ciphering key */ | |
1563 { | |
1564 UBYTE kc[8]; | |
1565 UBYTE cksn; | |
1566 } EF_KCGPRS; | |
1567 | |
1568 #define SIZE_EF_KCGPRS sizeof (EF_KCGPRS) | |
1569 #define NR_EF_KCGPRS 1 | |
1570 | |
1571 /******************************************************************** | |
1572 * | |
1573 * Field IMSI (GPRS, only for validation of GPRS related fields) | |
1574 * | |
1575 ********************************************************************/ | |
1576 | |
1577 typedef struct pcm_EFimsigprs_Type /* International Subscriber Id */ | |
1578 { | |
1579 UBYTE len; | |
1580 UBYTE IMSI[8]; | |
1581 } EF_IMSIGPRS; | |
1582 | |
1583 #define SIZE_EF_IMSIGPRS sizeof (EF_IMSIGPRS) | |
1584 #define NR_EF_IMSIGPRS 1 | |
1585 | |
1586 /******************************************************************** | |
1587 * | |
1588 * Prototypes | |
1589 * | |
1590 ********************************************************************/ | |
1591 | |
1592 #if defined (NEW_FRAME) | |
1593 /* | |
1594 * to achieve backward compatibility with older definitions | |
1595 */ | |
1596 #define drv_SignalCB_Type T_DRV_CB_FUNC | |
1597 #define drv_SignalID_Type T_DRV_SIGNAL | |
1598 #define T_VSI_THANDLE USHORT | |
1599 #endif | |
1600 | |
1601 EXTERN drv_Return_Type pcm_Init (void); | |
1602 EXTERN void pcm_Exit (void); | |
1603 EXTERN drv_Return_Type pcm_ReadFile (UBYTE * in_FileName, | |
1604 USHORT in_BufferSize, | |
1605 UBYTE * out_BufferPtr, | |
1606 UBYTE * out_VersionPtr); | |
1607 EXTERN drv_Return_Type pcm_GetFileInfo (UBYTE * in_FileName, | |
1608 pcm_FileInfo_Type * out_FileInfoPtr); | |
1609 EXTERN drv_Return_Type pcm_ReadRecord (UBYTE * in_FileName, | |
1610 USHORT in_Record, | |
1611 USHORT in_BufferSize, | |
1612 UBYTE * out_BufferPtr, | |
1613 UBYTE * out_VersionPtr, | |
1614 USHORT * out_MaxRecordsPtr); | |
1615 EXTERN drv_Return_Type pcm_WriteFile (UBYTE * in_FileName, | |
1616 USHORT in_BufferSize, | |
1617 UBYTE * in_BufferPtr); | |
1618 EXTERN drv_Return_Type pcm_WriteRecord (UBYTE * in_FileName, | |
1619 USHORT in_Record, | |
1620 USHORT in_BufferSize, | |
1621 UBYTE * in_BufferPtr); | |
1622 EXTERN drv_Return_Type pcm_Flush (void); | |
1623 | |
1624 | |
1625 #endif | |
1626 | |
1627 |