comparison src/condat2/com/include/pcm.h @ 3:93999a60b835

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