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