comparison include/condat/pcm.h @ 0:75a11d740a02

initial import of gsm-fw from freecalypso-sw rev 1033:5ab737ac3ad7
author Mychaela Falconia <falcon@freecalypso.org>
date Thu, 09 Jun 2016 00:02:41 +0000
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:75a11d740a02
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