TCH tap: extend DL sniffing feature to support CSD modes
Our debug feature for TCH DL sniffing reads the content of the DSP's
a_dd_0 buffer (or a_dd_1 for TCH/H subchannel 1) at appropriate times
and forwards captured bits to the host. This feature was originally
implemented for TCH/FS, TCH/EFS and TCH/HS - now extend it to cover
TCH/F data modes too.
line source
+ − /*
+ − +-----------------------------------------------------------------------------
+ − | Project : GSM-MFW
+ − | Modul :
+ − +-----------------------------------------------------------------------------
+ − | Copyright 2002 Texas Instruments Berlin, AG
+ − | All rights reserved.
+ − |
+ − | This file is confidential and a trade secret of Texas
+ − | Instruments Berlin, AG
+ − | The receipt of or possession of this file does not convey
+ − | any rights to reproduce or disclose its contents or to
+ − | manufacture, use, or sell anything it may describe, in
+ − | whole, or in part, without the specific written consent of
+ − | Texas Instruments Berlin, AG.
+ − +-----------------------------------------------------------------------------
+ − | Purpose : Types definitions for the permanent memory configuration.
+ − +-----------------------------------------------------------------------------
+ − */
+ − /********************************************************************************
+ − $History: pcm.h
+ −
+ − Jun 14, 2005 REF: MMI-FIX-30439 x0018858
+ − Description: The homezone/cityzone tags were not being displayed properly.
+ − Solution: Modified to save the tags properly in caches and also made the
+ − appropriate modifications to update the same properly during mobility.
+ −
+ − ********************************************************************************/
+ −
+ − #ifndef PCM_H
+ − #define PCM_H
+ −
+ − /********************************************************************
+ − *
+ − * Parameters written in flash memory
+ − *
+ − ********************************************************************/
+ −
+ − #define PCM_SERIAL_CONFIG (0)
+ −
+ − /********************************************************************
+ − *
+ − * Access functions to bit fields
+ − *
+ − ********************************************************************/
+ −
+ − #ifndef __BF_FUNCCALL__
+ − #define FldGet(f,n) ((((ULONG)f)&((ULONG)n##m))>>n##s)
+ − #define FldSet(f,n,v) ((((ULONG)f)&(~((ULONG)n##m)))|(((ULONG)v)<<n##s))
+ − #else
+ − ULONG FldGet (ULONG f, ULONG m, int s)
+ − { return ((f&m)>>s); }
+ − ULONG FldSet (ULONG f, ULONG m, int s, ULONG v)
+ − { return ((f&(~m))|((v<<s)&m)); }
+ − #endif
+ −
+ − /********************************************************************
+ − *
+ − * Field Identitifer
+ − *
+ − ********************************************************************/
+ −
+ − #define EF_MSCAP_ID "MSCAP" /* Mobile Capabilities */
+ − #define EF_IMEI_ID "IMEI" /* Int. Mobile Equipment Id */
+ − #define EF_IMSI_ID "IMSI" /* Int. Mobile Subscriber Id */
+ − #define EF_SMS_ID "SMS" /* Short Messages */
+ − #define EF_CLASS2_ID "CLASS2" /* MS Classmark 2 */
+ − #define EF_CLASS3_ID "CLASS3" /* MS Classmark 3 (old def.)*/
+ − #define EF_RFCAP_ID "RFCAP" /* RF Capabilities */
+ − #define EF_MSSUP_ID "MSSUP" /* Mobile Setup */
+ − #define EF_MSSET_ID "MSSET" /* Mobile Setting */
+ − // Jun 14, 2005 REF: MMI-FIX-30439 x0018858
+ − #define EF_HZCACHE_ID "HZCACHE" /* Homezone cache */
+ − #define EF_LDN_ID "LDN" /* Last Dialed Numbers */
+ − #define EF_LRN_ID "LRN" /* Last Received Numbers */
+ − #define EF_LMN_ID "LMN" /* Last Missed Numbers */
+ − #define EF_UPN_ID "UPN" /* User Personal Numbers */
+ − #define EF_MBN_ID "MBN" /* Mailbox Numbers */
+ − #define EF_VMN_ID "VMN" /* Voice Mail Number */
+ − #define EF_CLNG_ID "CLNG" /* Current LAnguage */
+ − #define EF_CTIM_ID "CTIM" /* Call Timer */
+ − #define EF_CCNT_ID "CCNT" /* Call Counter */
+ − #define EF_ECC_ID "ECC" /* Emergency Call Codes */
+ − #define EF_ORG_ID "ORG" /* Organizer and Alarm */
+ − #define EF_CCP_ID "CCP" /* Caps and Config Params */
+ − #define EF_EXT1_ID "EXT1" /* Extension 1 */
+ − #define EF_SIMLCK_ID "SIMLCK" /* SIM Lock */
+ − #define EF_SIMLCKEXT_ID "SIMLCKEXT" /* SIM Lock Extended */
+ − #define EF_MAIN_ID "MAIN" /* Maintenance */
+ − #define EF_SFK_ID "SFK" /* Special Function Key */
+ − #define EF_FAULT_ID "FAULT" /* Fault Conditions */
+ − #define EF_DEBUG_ID "DEBUG" /* Debug Information */
+ − #define EF_POWER_ID "POWER" /* Power Management */
+ − #define EF_KEYB_ID "KEYB" /* Keyboard Mapping */
+ − #define EF_RADIO_ID "RADIO" /* Radio Parameter */
+ − #define EF_CGMI_ID "CGMI" /* Manufacturer */
+ − #define EF_INF0_ID "INF0" /* Manufacturer 1 */
+ − #define EF_CGMM_ID "CGMM" /* Model */
+ − #define EF_CGMR_ID "CGMR" /* Revision */
+ − #define EF_CGSN_ID "CGSN" /* Product Serial Number */
+ − #define EF_SMSPRFL_ID "SMSPRFL" /* SMS Profile */
+ − #define EF_PLMN_ID "PLMN" /* PLMN Identifier */
+ − #define EF_BCCHINFO_ID "BCCHINF" /* BCCH Information */
+ − #define EF_ALS_ID "ALS" /* alternate line service */
+ − #define EF_LOCGPRS_ID "LOCGPRS" /* Location Inf. (GPRS) */
+ − #define EF_KCGPRS_ID "KCGPRS" /* Ciphering Key (GPRS) */
+ − #define EF_IMSIGPRS_ID "IMSIGPRS" /* IMSI check for GPRS */
+ −
+ − /********************************************************************
+ − *
+ − * Return Values
+ − *
+ − ********************************************************************/
+ −
+ − #define drv_Return_Type UBYTE
+ −
+ − #define PCM_OK 0
+ − #define PCM_INITIALIZED 1
+ − #define PCM_INVALID_FILE 2
+ − #define PCM_INVALID_SIZE 3
+ − #define PCM_INVALID_CKSM 4
+ − #define PCM_INVALID_RECORD 5
+ − #define PCM_NVRAM_ACCS_FAIL 6
+ − #define PCM_ERASE_ERROR 7
+ − #define PCM_WRITE_ERROR 8
+ − /*
+ − * Field Info Structure
+ − */
+ − typedef struct pcm_FileInfo_Type
+ − {
+ − UBYTE * FileLocation;
+ − USHORT FileSize;
+ − UBYTE Version;
+ − } pcm_FileInfo_Type;
+ −
+ −
+ − /********************************************************************
+ − *
+ − * Field MOBILE CAPABILITIES
+ − *
+ − ********************************************************************/
+ −
+ − typedef struct pcm_EFmscap_Type /* Mobile Capabilities */
+ − {
+ − UBYTE chnMode; /* channel modes */
+ − UBYTE datCap1; /* data capabilities */
+ − UBYTE datCap2; /* data capabilities */
+ − UBYTE featLst1; /* feature list */
+ − UBYTE featLst2; /* feature list */
+ − UBYTE featLst3; /* feature list */
+ − } EF_MSCAP;
+ −
+ − #define SIZE_EF_MSCAP 6
+ − #define NR_EF_MSCAP 1
+ −
+ − /*
+ − * chnMode bits
+ − *
+ − * Octet 8 7 6 5 4 3 2 1
+ − * L1 Tm afs ahs spV3 efrV2 hr spV1
+ − */
+ − #define spchSupV1 0x00000001,0 /* speech support (vers. 1) */
+ − #define spchSupV1m 0x00000001
+ − #define spchSupV1s 0
+ − #define hrSup 0x00000002,1 /* HR support */
+ − #define hrSupm 0x00000002
+ − #define hrSups 1
+ − #define HR_EFRSup 0x00000006,1 /* HR and EFR support */
+ − #define HR_EFRSupm 0x00000006
+ − #define HR_EFRSups 1
+ − #define EFRSupV2 0x00000004,2 /* enhanced FR support (v2) */
+ − #define EFRSupV2m 0x00000004
+ − #define EFRSupV2s 2
+ − #define EFRSupV3 0x00000008,3 /* speech support (vers 3) */
+ − #define EFRSupV3m 0x00000008
+ − #define EFRSupV3s 3
+ − #define VocSup 0x0000000F,0 /* vocoder support */
+ − #define VocSupm 0x0000000F
+ − #define VocSups 0
+ − #define AHS 0x00000010,4 /* adaptive multirate half rate speech */
+ − #define AHSm 0x00000010
+ − #define AHSs 4
+ − #define AFS 0x00000020,5 /* adaptive multirate full rate speech */
+ − #define AFSm 0x00000020
+ − #define AFSs 5
+ − #define TestMobile 0x00000040,6 /* Test Mobile */
+ − #define TestMobilem 0x00000040
+ − #define TestMobiles 6
+ − #define L1Ver 0x00000080,7 /* Layer 1 Version */
+ − #define L1Verm 0x00000080
+ − #define L1Vers 7
+ −
+ − /*
+ − * datCap bits
+ − */
+ − #define datSup 0x00000001,0 /* Data support */
+ − #define datSupm 0x00000001
+ − #define datSups 0
+ − #define RLPSup 0x00000002,1 /* RLP data (NT Async) */
+ − #define RLPSupm 0x00000002
+ − #define RLPSups 1
+ − #define AsySup 0x00000004,2 /* T Async data support */
+ − #define AsySupm 0x00000004
+ − #define AsySups 2
+ − #define NTSynSup 0x00000008,3 /* NT Sync data support */
+ − #define NTSynSupm 0x00000008
+ − #define NTSynSups 3
+ − #define TSynSup 0x00000010,4 /* NT Sync data support */
+ − #define TSynSupm 0x00000010
+ − #define TSynSups 4
+ − #define NTFaxSup 0x00000020,5 /* NT Fax support */
+ − #define NTFaxSupm 0x00000020
+ − #define NTFaxSups 5
+ − #define TFaxSup 0x00000040,6 /* T Fax support */
+ − #define TFaxSupm 0x00000040
+ − #define TFaxSups 6
+ − #define Dr14_4Sup 0x00000080,7 /* Data rate 14.4 support */
+ − #define Dr14_4Supm 0x00000080
+ − #define Dr14_4Sups 7
+ −
+ − /*
+ − * datCap2 bits
+ − */
+ − #define NTPackSup 0x00000001,0 /* NT Packet Service */
+ − #define NTPackSupm 0x00000001
+ − #define NTPackSups 0
+ − #define TPackSup 0x00000002,1 /* T Packet Service */
+ − #define TPackSupm 0x00000002
+ − #define TPackSups 1
+ − #define NTPadSup 0x00000004,2 /* NT PAD Access Service */
+ − #define NTPadSupm 0x00000004
+ − #define NTPadSups 2
+ − #define TPadSup 0x00000008,3 /* T PAD Access Service */
+ − #define TPadSupm 0x00000008
+ − #define TPadSups 3
+ − #define NAltSrvSup 0x00000010,4 /* No Alternate Services */
+ − #define NAltSrvSupm 0x00000010
+ − #define NAltSrvSups 4
+ − #define DHRSup 0x00000080,7 /* Data Halfrate support */
+ − #define DHRSupm 0x00000080
+ − #define DHRSups 7
+ −
+ − /********************************************************************
+ − *
+ − * Field IMEI
+ − *
+ − ********************************************************************/
+ −
+ − typedef struct pcm_EFimei_Type /* International ME Id */
+ − {
+ − UBYTE tac1;
+ − UBYTE tac2;
+ − UBYTE tac3;
+ − UBYTE fac;
+ − UBYTE snr1;
+ − UBYTE snr2;
+ − UBYTE snr3;
+ − UBYTE svn;
+ − } EF_IMEI;
+ −
+ − #define SIZE_EF_IMEI 8
+ − #define NR_EF_IMEI 1
+ −
+ − /********************************************************************
+ − *
+ − * Field IMSI
+ − *
+ − ********************************************************************/
+ −
+ − typedef struct pcm_EFimsi_Type /* International Subscriber Id */
+ − {
+ − UBYTE len;
+ − UBYTE IMSI[8];
+ − } EF_IMSI;
+ −
+ − #define SIZE_EF_IMSI 9
+ − #define NR_EF_IMSI 1
+ −
+ − /********************************************************************
+ − *
+ − * Field SHORT MESSAGE SERVICES
+ − *
+ − ********************************************************************/
+ −
+ − typedef struct pcm_EFsms_Type /* Short Messages */
+ − {
+ − UBYTE stat;
+ − UBYTE rmd[175];
+ − } EF_SMS;
+ −
+ − #define SIZE_EF_SMS 176
+ − #ifdef _SIMULATION_
+ − #define NR_EF_SMS 3
+ − #else
+ − #define NR_EF_SMS 1
+ − #endif
+ −
+ − /********************************************************************
+ − *
+ − * Field MOBILE STATION CLASSMARK 2
+ − *
+ − ********************************************************************/
+ −
+ − typedef struct pcm_EFclass2_Type /* Mobile Station Classmark 2 */
+ − {
+ − UBYTE byte1;
+ − UBYTE byte2;
+ − UBYTE byte3;
+ − } EF_CLASS2;
+ −
+ − #define SIZE_EF_CLASS2 3
+ − #define NR_EF_CLASS2 1
+ −
+ − /*
+ − * byte1
+ − */
+ − #define rfPwrCap 0x00000007,0 /* rf power capability */
+ − #define rfPwrCapm 0x00000007
+ − #define rfPwrCaps 0
+ − #define a51 0x00000008,3 /* rf power capability */
+ − #define a51m 0x00000008
+ − #define a51s 3
+ − #define esInd 0x00000010,4 /* ES indicator */
+ − #define esIndm 0x00000010
+ − #define esInds 4
+ − #define revLev 0x00000060,5 /* revision level */
+ − #define revLevm 0x00000060
+ − #define revLevs 5
+ −
+ − /*
+ − * byte2
+ − */
+ − #define freqCap 0x00000001,0 /* frequency capability */
+ − #define freqCapm 0x00000001
+ − #define freqCaps 0
+ − #define vgcsCap 0x00000002,1 /* VGCS notification reception */
+ − #define vgcsCapm 0x00000002
+ − #define vgcsCaps 1
+ − #define vbsCap 0x00000004,2 /* VBS notification reception */
+ − #define vbsCapm 0x00000004
+ − #define vbsCaps 2
+ − #define smCap 0x00000008,3 /* SM capability */
+ − #define smCapm 0x00000008
+ − #define smCaps 3
+ − #define ssScrInd 0x00000030,4 /* SS Screen Indicator */
+ − #define ssScrIndm 0x00000030
+ − #define ssScrInds 4
+ − #define psCap 0x00000040,6 /* PS capability */
+ − #define psCapm 0x00000040
+ − #define psCaps 6
+ −
+ − /*
+ − * byte3
+ − */
+ − #define a52 0x00000001,0 /* encryption algorithm A5/2 */
+ − #define a52m 0x00000001
+ − #define a52s 0
+ − #define a53 0x00000002,1 /* encryption algorithm A5/3 */
+ − #define a53m 0x00000002
+ − #define a53s 1
+ − #define cmspCap 0x00000004,2 /* CM service prompt */
+ − #define cmspCapm 0x00000004
+ − #define cmspCaps 2
+ − #define solsaCap 0x00000008,3 /* SoLSA */
+ − #define solsaCapm 0x00000008
+ − #define solsaCaps 3
+ − #define ucs2Cap 0x00000010,4 /* UCS2 treatment */
+ − #define ucs2Capm 0x00000010
+ − #define ucs2Caps 4
+ − #define lcsvaCap 0x00000020,5 /* LCS VA capability */
+ − #define lcsvaCapm 0x00000020
+ − #define lcsvaCaps 5
+ − #define cm3bit 0x00000080,7 /* Classmark 3 available */
+ − #define cm3bitm 0x00000080
+ − #define cm3bits 7
+ −
+ −
+ − /********************************************************************
+ − *
+ − * Field MOBILE STATION CLASSMARK 3
+ − *
+ − ********************************************************************/
+ −
+ − typedef struct pcm_EFclass3_Type /* Mobile Station Classmark 3 */
+ − {
+ − UBYTE byte1;
+ − UBYTE byte2;
+ − UBYTE byte3;
+ − }EF_CLASS3;
+ −
+ − #define SIZE_EF_CLASS3 3
+ − #define NR_EF_CLASS3 1
+ −
+ − /*
+ − * byte1
+ − */
+ − #define a54 0x00000001,0 /* encryption algorithm A5/4 */
+ − #define a54m 0x00000001
+ − #define a54s 0
+ − #define a55 0x00000002,1 /* encryption algorithm A5/5 */
+ − #define a55m 0x00000002
+ − #define a55s 1
+ − #define a56 0x00000004,2 /* encryption algorithm A5/6 */
+ − #define a56m 0x00000004
+ − #define a56s 2
+ − #define a57 0x00000008,3 /* encryption algorithm A5/7 */
+ − #define a57m 0x00000008
+ − #define a57s 3
+ − #define bnd1 0x00000010,4 /* Band 1 */
+ − #define bnd1m 0x00000010
+ − #define bnd1s 4
+ − #define bnd2 0x00000020,5 /* Band 2 */
+ − #define bnd2m 0x00000020
+ − #define bnd2s 5
+ − #define bnd3 0x00000040,6 /* Band 3 */
+ − #define bnd3m 0x00000040
+ − #define bnd3s 6
+ −
+ − /*
+ − * byte2
+ − */
+ − #define rfCap1 0x0000000f,0 /* associated RF capability 1 */
+ − #define rfCap1m 0x0000000f
+ − #define rfCap1s 0
+ − #define rfCap2 0x000000f0,4 /* associated RF capability 2 */
+ − #define rfCap2m 0x000000f0
+ − #define rfCap2s 4
+ −
+ − /*
+ − * byte2
+ − */
+ − #define ExtMeas 0x00000010,4 /* associated RF capability 1 */
+ − #define ExtMeasm 0x00000010
+ − #define ExtMeass 4
+ −
+ − /********************************************************************
+ − *
+ − * Field RF Capabilities
+ − *
+ − ********************************************************************/
+ −
+ − typedef struct pcm_EFrfcap_Type
+ − {
+ − UBYTE setbands; /* set frequency bands */
+ − UBYTE bands; /* supported frequency bands */
+ − UBYTE power1; /* power classes of GSM900 and DCS1800 */
+ − UBYTE power2; /* power classes of PCS1900 and GSM850 */
+ − UBYTE power3; /* power classes of GSM400 and EGDE */
+ − UBYTE msGSM; /* GSM multi slot capability and classes */
+ − UBYTE msEDGE; /* EDGE multi slot capability and classes */
+ − UBYTE msHSCSD; /* HSCSD multi slot capability and classes */
+ − UBYTE msGPRS; /* GPRS multi slot capability and classes */
+ − UBYTE msECSD; /* ECSD multi slot capability and classes */
+ − UBYTE msEGPRS; /* EGPRS multi slot capability and classes */
+ − UBYTE capability1; /* divers capabilities and options */
+ − UBYTE capability2; /* divers capabilities and options */
+ − UBYTE switchmeasure; /* switching time */
+ − UBYTE encryption; /* A5/n encryption algorithm availability */
+ − UBYTE positioning; /* supported positioning methods */
+ − } EF_RFCAP;
+ −
+ − #define SIZE_EF_RFCAP 16
+ − #define NR_EF_RFCAP 1
+ −
+ − /*
+ − * setbands, bands
+ − */
+ − #define rf_900 0x00000001,0 /* support of GSM 900 */
+ − #define rf_900m 0x00000001
+ − #define rf_900s 0
+ − #define rf_1800 0x00000002,1 /* support of DCS 1800 */
+ − #define rf_1800m 0x00000002
+ − #define rf_1800s 1
+ − #define rf_1900 0x00000004,2 /* support of PCS 1900 */
+ − #define rf_1900m 0x00000004
+ − #define rf_1900s 2
+ − #define rf_EGSM 0x00000008,3 /* support of E-GSM */
+ − #define rf_EGSMm 0x00000008
+ − #define rf_EGSMs 3
+ − #define rf_850 0x00000010,4 /* support of GSM 850 */
+ − #define rf_850m 0x00000010
+ − #define rf_850s 4
+ − #define rf_450 0x00000020,5 /* support of GSM 450 */
+ − #define rf_450m 0x00000020
+ − #define rf_450s 5
+ − #define rf_480 0x00000040,6 /* support of GSM 480 */
+ − #define rf_480m 0x00000040
+ − #define rf_480s 6
+ − #define rf_RGSM 0x00000080,7 /* support of R-GSM */
+ − #define rf_RGSMm 0x00000080
+ − #define rf_RGSs 7
+ −
+ − /*
+ − * power1
+ − */
+ − #define rfCap_1800 0x0000000f,0 /* associated RF capability of DCS 1800 */
+ − #define rfCap_1800m 0x0000000f
+ − #define rfCap_1800s 0
+ − #define rfCap_900 0x000000f0,4 /* associated RF capability of GSM 900 */
+ − #define rfCap_900m 0x000000f0
+ − #define rfCap_900s 4
+ − /*
+ − * power2
+ − */
+ − #define rfCap_850 0x0000000f,0 /* associated RF capability of GSM 850 */
+ − #define rfCap_850m 0x0000000f
+ − #define rfCap_850s 0
+ − #define rfCap_1900 0x000000f0,4 /* associated RF capability of PCS 1900 */
+ − #define rfCap_1900m 0x000000f0
+ − #define rfCap_1900s 4
+ − /*
+ − * power3
+ − */
+ − #define rfCap_EDGE2 0x00000003,0 /* associated RF capability 2 of EDGE */
+ − #define rfCap_EDGE2m 0x00000003
+ − #define rfCap_EDGE2s 0
+ − #define rfCap_EDGE1 0x0000000c,2 /* associated RF capability 1 of EDGE */
+ − #define rfCap_EDGE1m 0x0000000c
+ − #define rfCap_EDGE1s 2
+ − #define rfCap_400 0x000000f0,4 /* associated RF capability of GSM 450,480*/
+ − #define rfCap_400m 0x000000f0
+ − #define rfCap_400s 4
+ − /*
+ − * msGSM, msEDGE, msHSCSD, msGPRS, msECSD, msEGPRS
+ − */
+ − #define rfCap_DTMSC 0x00000003,0 /* Multi Slot Sub-Class (only msGPRS+msEGPRS) */
+ − #define rfCap_DTMSCm 0x00000003
+ − #define rfCap_DTMSCs 0
+ − #define rfCap_DTM 0x00000004,2 /* Support of DTM (only msGPRS+msEGPRS) */
+ − #define rfCap_DTMm 0x00000004
+ − #define rfCap_DTMs 2
+ − #define rfCap_MSC 0x000000f8,3 /* Multi Slot Class */
+ − #define rfCap_MSCm 0x000000f8
+ − #define rfCap_MSCs 3
+ − /*
+ − * capability1
+ − */
+ − #define rfCap_mac 0x00000001,0 /* Dynamic and fixed allocation */
+ − #define rfCap_macm 0x00000001
+ − #define rfCap_macs 0
+ − #define rfCap_mod 0x00000002,1 /* EDGE modulation capability */
+ − #define rfCap_modm 0x00000002
+ − #define rfCap_mods 1
+ − #define rfCap_cmsp 0x00000004,2 /* CM service prompt */
+ − #define rfCap_cmspm 0x00000004
+ − #define rfCap_cmsps 2
+ − #define rfCap_solsa 0x00000008,3 /* SoLSA capability */
+ − #define rfCap_solsam 0x00000008
+ − #define rfCap_solsas 3
+ − #define rfCap_lcsva 0x00000010,4 /* LCS value added location request noti. */
+ − #define rfCap_lcsvam 0x00000010
+ − #define rfCap_lcsvas 4
+ − #define rfCap_ppsms 0x00000020,5 /* MT point to point SMS */
+ − #define rfCap_ppsmsm 0x00000020
+ − #define rfCap_ppsmss 5
+ − #define rfCap_ps 0x00000040,6 /* pseudo synchronization capability */
+ − #define rfCap_psm 0x00000040
+ − #define rfCap_pss 6
+ − #define rfCap_esind 0x00000080,7 /* controlled early class sending */
+ − #define rfCap_esindm 0x00000080
+ − #define rfCap_esinds 7
+ − /*
+ − * capability2
+ − */
+ − #define rfCap_ssc 0x00000003,0 /* SS screening indicator */
+ − #define rfCap_sscm 0x00000003
+ − #define rfCap_sscs 0
+ − #define rfCap_usc2 0x00000004,2 /* UCS2 encoded */
+ − #define rfCap_usc2m 0x00000004
+ − #define rfCap_usc2s 2
+ − #define rfCap_vgcs 0x00000008,3 /* VGCS capability */
+ − #define rfCap_vgcsm 0x00000008
+ − #define rfCap_vgcss 3
+ − #define rfCap_vbs 0x00000010,4 /* VBS capability */
+ − #define rfCap_vbsm 0x00000010
+ − #define rfCap_vbss 4
+ − #define rfCap_compact 0x00000020,5 /* COMPACT interference measurement */
+ − #define rfCap_compactm 0x00000020
+ − #define rfCap_compacts 5
+ − #define rfCap_extmeas 0x00000040,6 /* extendend measurement */
+ − #define rfCap_extmeasm 0x00000040
+ − #define rfCap_extmeass 6
+ − #define rfCap_meas 0x00000080,7 /* values about measurement capability */
+ − #define rfCap_measm 0x00000080
+ − #define rfCap_meass 7
+ − /*
+ − * switchmeasure
+ − */
+ − #define rfCap_smt 0x0000000f,0 /* time switch-power measurement */
+ − #define rfCap_smtm 0x0000000f
+ − #define rfCap_smts 0
+ − #define rfCap_smst 0x000000f0,4 /* time switch-power measurement-switch */
+ − #define rfCap_smstm 0x000000f0
+ − #define rfCap_smsts 4
+ − /*
+ − * encryption
+ − */
+ − #define rfCap_A5_7 0x00000002,1 /* encryption algorithm A5/7 */
+ − #define rfCap_A5_7m 0x00000002
+ − #define rfCap_A5_7s 1
+ − #define rfCap_A5_6 0x00000004,2 /* encryption algorithm A5/6 */
+ − #define rfCap_A5_6m 0x00000004
+ − #define rfCap_A5_6s 2
+ − #define rfCap_A5_5 0x00000008,3 /* encryption algorithm A5/5 */
+ − #define rfCap_A5_5m 0x00000008
+ − #define rfCap_A5_5s 3
+ − #define rfCap_A5_4 0x00000010,4 /* encryption algorithm A5/4 */
+ − #define rfCap_A5_4m 0x00000010
+ − #define rfCap_A5_4s 4
+ − #define rfCap_A5_3 0x00000020,5 /* encryption algorithm A5/3 */
+ − #define rfCap_A5_3m 0x00000020
+ − #define rfCap_A5_3s 5
+ − #define rfCap_A5_2 0x00000040,6 /* encryption algorithm A5/2 */
+ − #define rfCap_A5_2m 0x00000040
+ − #define rfCap_A5_2s 6
+ − #define rfCap_A5_1 0x00000080,7 /* encryption algorithm A5/1 */
+ − #define rfCap_A5_1m 0x00000080
+ − #define rfCap_A5_1s 7
+ − /*
+ − * positioning
+ − */
+ − #define rfCap_eeda 0x00000002,1 /* EGPRS Extended Dynamic Allocation Capability */
+ − #define rfCap_eedam 0x00000002
+ − #define rfCap_eedas 1
+ − #define rfCap_geda 0x00000004,2 /* GPRS Extended Dynamic Allocation Capability */
+ − #define rfCap_gedam 0x00000004
+ − #define rfCap_gedas 2
+ − #define rfCap_cgps 0x00000008,3 /* conventional GPS */
+ − #define rfCap_cgpsm 0x00000008
+ − #define rfCap_cgpss 3
+ − #define rfCap_bgps 0x00000010,4 /* based GPS */
+ − #define rfCap_bgpsm 0x00000010
+ − #define rfCap_bgpss 4
+ − #define rfCap_agps 0x00000020,5 /* assisted GPS */
+ − #define rfCap_agpsm 0x00000020
+ − #define rfCap_agpss 5
+ − #define rfCap_beotd 0x00000040,6 /* based E-OTD */
+ − #define rfCap_beotdm 0x00000040
+ − #define rfCap_beotds 6
+ − #define rfCap_aeotd 0x00000080,7 /* assisted E-OTD */
+ − #define rfCap_aeotdm 0x00000080
+ − #define rfCap_aeotds 7
+ −
+ −
+ − #ifdef TI_PS_CUSTOM_RFCAP_DEFAULT
+ − EXTERN U8 custom_rfcap_default[SIZE_EF_RFCAP];
+ − #endif /* TI_PS_CUSTOM_RFCAP_DEFAULT */
+ −
+ − /********************************************************************
+ − *
+ − * Field MOBILE SETUP
+ − *
+ − ********************************************************************/
+ −
+ − typedef struct pcm_EFmssup_Type /* Mobile Setup */
+ − {
+ − UBYTE lng1;
+ − UBYTE lng2;
+ − UBYTE lng3;
+ − UBYTE feat1;
+ − UBYTE feat2;
+ − }EF_MSSUP;
+ −
+ − #define SIZE_EF_MSSUP 5
+ − #define NR_EF_MSSUP 1
+ −
+ − /*
+ − * lng1
+ − */
+ − #define eng 0x00000001,0 /* English */
+ − #define engm 0x00000001
+ − #define engs 0
+ − #define fre 0x00000002,1 /* French */
+ − #define frem 0x00000002
+ − #define fres 1
+ − #define ger 0x00000004,2 /* German */
+ − #define germ 0x00000004
+ − #define gers 2
+ − #define dut 0x00000008,3 /* Dutch */
+ − #define dutm 0x00000008
+ − #define duts 3
+ − #define ita 0x00000010,4 /* Italian */
+ − #define itam 0x00000010
+ − #define itas 4
+ − #define spa 0x00000020,5 /* Spanish */
+ − #define spam 0x00000020
+ − #define spas 5
+ − #define swe 0x00000040,6 /* Swedish */
+ − #define swem 0x00000040
+ − #define swes 6
+ − #define por 0x00000080,7 /* Portuguese */
+ − #define porm 0x00000080
+ − #define pors 7
+ −
+ − /*
+ − * lng2
+ − */
+ − #define fin 0x00000001,0 /* Finnish */
+ − #define finm 0x00000001
+ − #define fins 0
+ − #define nor 0x00000002,1 /* Norwegian */
+ − #define norm 0x00000002
+ − #define nors 1
+ − #define gre 0x00000004,2 /* Greek */
+ − #define grem 0x00000004
+ − #define gres 2
+ − #define tur 0x00000008,3 /* Turkish */
+ − #define turm 0x00000008
+ − #define turs 3
+ − #define hun 0x00000010,4 /* Hungarian */
+ − #define hunm 0x00000010
+ − #define huns 4
+ − #define slo 0x00000020,5 /* Slovenian */
+ − #define slom 0x00000020
+ − #define slos 5
+ − #define pol 0x00000040,6 /* Polish */
+ − #define polm 0x00000040
+ − #define pols 6
+ − #define rus 0x00000080,7 /* Russian */
+ − #define rusm 0x00000080
+ − #define russ 7
+ −
+ − /*
+ − * lng3
+ − */
+ − #define ind 0x00000001,0 /* Indonesian */
+ − #define indm 0x00000001
+ − #define inds 0
+ − #define cze 0x00000002,1 /* Czech */
+ − #define czem 0x00000002
+ − #define czes 1
+ − #define chi 0x00000004,2 /* Chinese */
+ − #define chim 0x00000004
+ − #define chis 2
+ − #define can 0x00000008,3 /* Cantonese */
+ − #define canm 0x00000008
+ − #define cans 3
+ − #define man 0x00000010,4 /* Mandarin */
+ − #define manm 0x00000010
+ − #define mans 4
+ − #define tai 0x00000020,5 /* Taiwanese */
+ − #define taim 0x00000020
+ − #define tais 5
+ − #define ara 0x00000040,6 /* Arabic */
+ − #define aram 0x00000040
+ − #define aras 6
+ −
+ − /*
+ − * feat
+ − */
+ − #define AoC 0x00000001,0 /* Advice of Charge */
+ − #define AoCm 0x00000001
+ − #define AoCs 0
+ − #define DTMF 0x00000002,1 /* DTMF */
+ − #define DTMFm 0x00000002
+ − #define DTMFs 1
+ − #define CF 0x00000004,2 /* Call Forwarding */
+ − #define CFm 0x00000004
+ − #define CFs 2
+ − #define CB 0x00000008,3 /* Call Barring */
+ − #define CBm 0x00000008
+ − #define CBs 3
+ − #define USSD 0x00000010,4 /* USSD */
+ − #define USSDm 0x00000010
+ − #define USSDs 4
+ − #define ETC 0x00000020,5 /* ETC */
+ − #define ETCm 0x00000020
+ − #define ETCs 5
+ − #define IRDA 0x00000040,6 /* IRDA */
+ − #define IRDAm 0x00000040
+ − #define IRDAs 6
+ −
+ − /********************************************************************
+ − *
+ − * Field Current language (CLNG)
+ − *
+ − ********************************************************************/
+ −
+ − #define SIZE_EF_CLNG_DATA 2
+ −
+ − typedef struct pcm_EFclng_Type
+ − {
+ − UBYTE data[SIZE_EF_CLNG_DATA]; /* current language in ME */
+ − } EF_CLNG;
+ −
+ − #define SIZE_EF_CLNG SIZE_EF_CLNG_DATA
+ − #define NR_EF_CLNG 1
+ −
+ − /********************************************************************
+ − *
+ − * Field MOBILE STATION SETTTINGS
+ − *
+ − ********************************************************************/
+ −
+ − typedef struct pcm_EFmsset_Type /* Mobile Setting */
+ − {
+ − UBYTE buzzer1;
+ − UBYTE buzzer2;
+ − UBYTE buzzer3;
+ − UBYTE audio;
+ − UBYTE misc;
+ − UBYTE display;
+ − UBYTE language;
+ − UBYTE recent_ldn_ref;
+ − UBYTE recent_lrn_ref;
+ − UBYTE recent_upn_ref;
+ − } EF_MSSET;
+ −
+ − #define SIZE_EF_MSSET 10
+ − #define NR_EF_MSSET 1
+ −
+ − /*
+ − * buzzer 1
+ − */
+ − #define calltype 0x00000007,0 /* ringer type incoming calls */
+ − #define calltypem 0x00000007
+ − #define calltypes 0
+ − #define callvol 0x00000038,3 /* ringer volume incoming calls */
+ − #define callvolm 0x00000038
+ − #define callvols 3
+ − #define vib 0x000000c0,6 /* vibrator */
+ − #define vibm 0x000000c0
+ − #define vibs 6
+ −
+ − /*
+ − * buzzer 2
+ − */
+ − #define msgtype 0x00000007,0 /* ringer type messages */
+ − #define msgtypem 0x00000007
+ − #define msgtypes 0
+ − #define msgvol 0x00000038,3 /* ringer volume messages */
+ − #define msgvolm 0x00000038
+ − #define msgvols 3
+ −
+ − /*
+ − * buzzer 3
+ − */
+ − #define keytone 0x00000003,0 /* key tone mode */
+ − #define keytonem 0x00000003
+ − #define keytones 0
+ − #define batw 0x00000004,2 /* low battery warning */
+ − #define batwm 0x00000004
+ − #define batws 2
+ −
+ − /*
+ − * audio
+ − */
+ − #define lnamp 0x00000007,0 /* microphone amplification */
+ − #define lnampm 0x00000007
+ − #define lnamps 0
+ − #define outvol 0x00000038,3 /* output volume */
+ − #define outvolm 0x00000038
+ − #define outvols 3
+ − #define ext 0x00000040,6 /* external audio */
+ − #define extm 0x00000040
+ − #define exts 6
+ − #define voicerec 0x00000080,7 /* voice recording */
+ − #define voicerecm 0x00000080
+ − #define voicerecs 7
+ −
+ − /*
+ − * miscellenous
+ − */
+ − #define pmod 0x00000001,0 /* PLMN selection mode */
+ − #define pmodm 0x00000001
+ − #define pmods 0
+ − #define clir 0x00000002,1 /* CLIR */
+ − #define clirm 0x00000002
+ − #define clirs 1
+ − #define clip 0x00000004,2 /* CLIP */
+ − #define clipm 0x00000004
+ − #define clips 2
+ − #define calinf 0x00000008,3 /* call information display */
+ − #define calinfm 0x00000008
+ − #define calinfs 3
+ − #define redial 0x00000030,4 /* redial mode */
+ − #define redialm 0x00000030
+ − #define redials 4
+ −
+ − /*
+ − * display
+ − */
+ − #define ctrt 0x00000007,0 /* contrast */
+ − #define ctrtm 0x00000007
+ − #define ctrts 0
+ − #define brgt 0x00000018,3 /* brightness */
+ − #define brgtm 0x00000018
+ − #define brgts 3
+ − #define bckdr 0x000000E0,5 /* duration for back light */
+ − #define bckdrm 0x000000E0
+ − #define bckdrs 5
+ −
+ − // Jun 14, 2005 REF: MMI-FIX-30439 x0018858
+ − //Begin 30439
+ − /********************************************************************
+ − *
+ − * Field Homezone cache
+ − *
+ − ********************************************************************/
+ −
+ − typedef struct pcm_EFhzcache_Type
+ − {
+ − UBYTE cid[2];
+ − UBYTE zone;
+ − } EF_HZCACHE;
+ −
+ − #define SIZE_EF_HZCACHE 3
+ − #define NR_EF_HZCACHE 5
+ −
+ − /********************************************************************
+ − *
+ − * Field LAST MOC NUMBERS - LDN
+ − *
+ − ********************************************************************/
+ − //end 30439
+ −
+ − typedef struct pcm_EFldn_Type /* Last Dialed Numbers */
+ − {
+ − UBYTE calDrMsb;
+ − UBYTE calDrLsb;
+ − UBYTE year;
+ − UBYTE month;
+ − UBYTE day;
+ − UBYTE hour;
+ − UBYTE minute;
+ − UBYTE second;
+ − UBYTE len; /* length of BCD number */
+ − UBYTE numTp;
+ − UBYTE dldNum[10]; /* dialed number */
+ − UBYTE ccp; /* capability/configuration id */
+ − UBYTE ext1; /* extension1 record identifier */
+ − } EF_LDN;
+ −
+ − #define SIZE_EF_LDN 22
+ − #define NR_EF_LDN 1
+ −
+ − /*
+ − * numTp
+ − */
+ − #define numTp_npi 0x0000000F,0 /* numbering plan identification */
+ − #define numTp_npim 0x0000000F
+ − #define numTp_npis 0
+ − #define numTp_ton 0x00000070,4 /* Type of number */
+ − #define numTp_tonm 0x00000070
+ − #define numTp_tons 4
+ −
+ − /********************************************************************
+ − *
+ − * Field LAST RECEIVED NUMBERS
+ − *
+ − ********************************************************************/
+ −
+ − typedef struct pcm_EFlrn_Type /* Last Received Numbers */
+ − {
+ − UBYTE calDrMsb;
+ − UBYTE calDrLsb;
+ − UBYTE year;
+ − UBYTE month;
+ − UBYTE day;
+ − UBYTE hour;
+ − UBYTE minute;
+ − UBYTE second;
+ − UBYTE id;
+ − UBYTE len; /* length of BCD number */
+ − UBYTE numTp;
+ − UBYTE dldNum[10]; /* dialed number */
+ − UBYTE ccp; /* capability/configuration id */
+ − UBYTE ext1; /* extension1 record identifier */
+ − } EF_LRN;
+ −
+ − #define SIZE_EF_LRN 23
+ − #define NR_EF_LRN 1
+ −
+ − /********************************************************************
+ − *
+ − * Field LAST MISSED NUMBERS
+ − *
+ − ********************************************************************/
+ −
+ − typedef struct pcm_EFlmn_Type /* Last Missed Numbers */
+ − {
+ − UBYTE year;
+ − UBYTE month;
+ − UBYTE day;
+ − UBYTE hour;
+ − UBYTE minute;
+ − UBYTE second;
+ − UBYTE id;
+ − UBYTE len; /* length of BCD number */
+ − UBYTE numTp;
+ − UBYTE dldNum[10]; /* dialed number */
+ − UBYTE ccp; /* capability/configuration id */
+ − UBYTE ext1; /* extension1 record identifier */
+ − } EF_LMN;
+ −
+ − #define SIZE_EF_LMN 21
+ − #define NR_EF_LMN 1
+ −
+ − /********************************************************************
+ − *
+ − * Field USER PERSONAL NUMBERS
+ − *
+ − ********************************************************************/
+ −
+ − typedef struct pcm_EFupn_Type /* User Personal Numbers */
+ − {
+ − UBYTE alphId[10];
+ − UBYTE len;
+ − UBYTE numTp; /* bitmap same as EF_LDN */
+ − UBYTE usrNum[10];
+ − UBYTE ccp;
+ − UBYTE ext1;
+ − } EF_UPN;
+ −
+ − #define SIZE_EF_UPN 24
+ − #define NR_EF_UPN 1
+ −
+ − /********************************************************************
+ − *
+ − * Field MAILBOX NUMBERS
+ − *
+ − ********************************************************************/
+ −
+ − typedef struct pcm_EFmbn_Type /* Mailbox Numbers */
+ − {
+ − UBYTE alphId[10];
+ − UBYTE len;
+ − UBYTE numTp; /* bitmap same as EF_LDN */
+ − UBYTE mbNum[10];
+ − } EF_MBN;
+ −
+ − #define SIZE_EF_MBN 22
+ − #define NR_EF_MBN 4
+ −
+ −
+ − /********************************************************************
+ − *
+ − * Field Voice Mail Number
+ − *
+ − ********************************************************************/
+ −
+ − /*
+ − * note that with new 04.08 the called party bcd number of the CC
+ − * protocol can have up to 43 octets, 3 are used for other things
+ − * than the BCD coded digits
+ − */
+ − #define MAX_CALLED_PARTY_BCD_NO_OCTETS 40
+ − typedef struct pcm_EFvmn_Type /* Voice mail Number */
+ − {
+ − UBYTE vmNum[MAX_CALLED_PARTY_BCD_NO_OCTETS + 1];
+ − /* implementation uses delimiter of 0xFF */
+ − UBYTE numTp;
+ −
+ − } EF_VMN;
+ −
+ − #define SIZE_EF_VMN (MAX_CALLED_PARTY_BCD_NO_OCTETS + 1 + 1)
+ − #define NR_EF_VMN 1
+ −
+ −
+ − /********************************************************************
+ − *
+ − * Field CALL TIMER
+ − *
+ − ********************************************************************/
+ −
+ − typedef struct pcm_EFctim_Type /* Call Timer */
+ − {
+ − UBYTE moVcDrHm[4];
+ − UBYTE mtVcDrHm[4];
+ − UBYTE moDtDrHm[4];
+ − UBYTE mtDtDrHm[4];
+ − UBYTE moFxDrHm[4];
+ − UBYTE mtFxDrHm[4];
+ − UBYTE moVcDrRm[4];
+ − UBYTE mtVcDrRm[4];
+ − UBYTE moDtDrRm[4];
+ − UBYTE mtDtDrRm[4];
+ − UBYTE moFxDrRm[4];
+ − UBYTE mtFxDrRm[4];
+ − } EF_CTIM;
+ −
+ − #define SIZE_EF_CTIM 48
+ − #define NR_EF_CTIM 1
+ −
+ − /********************************************************************
+ − *
+ − * Field CALL COUNTER
+ − *
+ − ********************************************************************/
+ −
+ − typedef struct pcm_EFccnt_Type /* Call Counter */
+ − {
+ − UBYTE total[4];
+ − UBYTE moVcDrHm[4];
+ − UBYTE mtVcDrHm[4];
+ − UBYTE moDtDrHm[4];
+ − UBYTE mtDtDrHm[4];
+ − UBYTE moFxDrHm[4];
+ − UBYTE mtFxDrHm[4];
+ − UBYTE moVcDrRm[4];
+ − UBYTE mtVcDrRm[4];
+ − UBYTE moDtDrRm[4];
+ − UBYTE mtDtDrRm[4];
+ − UBYTE moFxDrRm[4];
+ − UBYTE mtFxDrRm[4];
+ − } EF_CCNT;
+ −
+ − #define SIZE_EF_CCNT 52
+ − #define NR_EF_CCNT 1
+ −
+ − /********************************************************************
+ − *
+ − * Field EMERGENCY CALL CODES
+ − *
+ − ********************************************************************/
+ −
+ −
+ − typedef struct pcm_EFecc_Type /* Emergency Call Codes */
+ − {
+ − UBYTE ecc1[3]; /* emergency call code */
+ − UBYTE ecc2[3];
+ − UBYTE ecc3[3];
+ − UBYTE ecc4[3];
+ − UBYTE ecc5[3];
+ − } EF_ECC;
+ −
+ − #define SIZE_EF_ECC 15
+ − #define NR_EF_ECC 1
+ −
+ − /********************************************************************
+ − *
+ − * Field ORGANIZER AND ALARM
+ − *
+ − ********************************************************************/
+ −
+ −
+ − typedef struct pcm_EForg_Type /* Organizer and Alarm */
+ − {
+ − UBYTE date[6]; /* bitmap same as EF_LDN */
+ − UBYTE alrm;
+ − UBYTE alphMem[16]; /* alpha memo */
+ − } EF_ORG;
+ −
+ − #define SIZE_EF_ORG 23
+ − #define NR_EF_ORG 1
+ −
+ − /*
+ − * alrm
+ − */
+ − #define alrm_stat 0x00000001,0
+ − #define alrm_statm 0x00000001
+ − #define alrm_stats 0
+ − #define alrm_type 0x0000000E,1
+ − #define alrm_typem 0x0000000E
+ − #define alrm_types 1
+ −
+ − /********************************************************************
+ − *
+ − * Field CAPABILITY AND CONFIGURATION PARAMETERS
+ − *
+ − ********************************************************************/
+ −
+ − typedef struct pcm_EFccp_Type /* Capability and Configuration Parameters */
+ − {
+ − UBYTE usrRate; /* user rate */
+ − UBYTE bearServ; /* bearer service */
+ − UBYTE conElem; /* connection element */
+ − UBYTE stopBits; /* stop bits */
+ − UBYTE dataBits; /* data bits */
+ − UBYTE parity; /* parity */
+ − UBYTE flowCntrl; /* flow control */
+ − } EF_CCP;
+ −
+ − #define SIZE_EF_CCP 7
+ − #define NR_EF_CCP 1
+ −
+ − /********************************************************************
+ − *
+ − * Field EXTENSION 1
+ − *
+ − ********************************************************************/
+ −
+ − typedef struct pcm_EFext1_Type /* Extension 1 */
+ − {
+ − UBYTE recTp; /* record type */
+ − UBYTE extDat[11]; /* extension data */
+ − UBYTE id; /* identifier */
+ − } EF_EXT1;
+ −
+ − #define SIZE_EF_EXT1 13
+ − #define NR_EF_EXT1 1
+ −
+ − /********************************************************************
+ − *
+ − * Field SIM LOCK and Extended SIM LOCK (use alternativly)
+ − *
+ − ********************************************************************/
+ −
+ − typedef struct pcm_EFsimlck_Type /* SIM Lock */
+ − {
+ − UBYTE locks1; /* lock status */
+ − UBYTE locks2;
+ − UBYTE cnt; /* lock counter */
+ − UBYTE maxcnt; /* lock counter */
+ − UBYTE PKey[8]; /* SIM control key */
+ − UBYTE SPKey[8]; /* SP control key */
+ − UBYTE NSKey[8]; /* NS control key */
+ − UBYTE CKey[8]; /* corporate control key */
+ − UBYTE NKey[8]; /* network control key */
+ − UBYTE len_imsi; /* bytes of IMSI */
+ − UBYTE imsi[15]; /* IMSI */
+ − UBYTE gidl1; /* Group Identifier Level 1 */
+ − UBYTE gidl2; /* Group Identifier Level 1 */
+ − } EF_SIMLCK;
+ −
+ − #define SIZE_EF_SIMLCK 62
+ − #define NR_EF_SIMLCK 1
+ −
+ − typedef struct pcm_EFsimlckext_Type /* Extended SIM Lock */
+ − {
+ − UBYTE locks1; /* lock status */
+ − UBYTE locks2;
+ − UBYTE cnt; /* lock counter */
+ − UBYTE maxcnt; /* lock counter */
+ − UBYTE PKey[8]; /* SIM control key */
+ − UBYTE SPKey[8]; /* SP control key */
+ − UBYTE NSKey[8]; /* NS control key */
+ − UBYTE CKey[8]; /* corporate control key */
+ − UBYTE NKey[8]; /* network control key */
+ − UBYTE len_p_imsi; /* bytes of IMSI P-Lock */
+ − UBYTE p_imsi[15]; /* IMSI P-Lock */
+ − UBYTE len_sp_imsi; /* bytes of IMSI SP-Lock */
+ − UBYTE sp_imsi[15]; /* IMSI SP-Lock */
+ − UBYTE len_ns_imsi; /* bytes of IMSI NS-Lock */
+ − UBYTE ns_imsi[15]; /* IMSI NS-Lock */
+ − UBYTE len_c_imsi; /* bytes of IMSI C-Lock */
+ − UBYTE c_imsi[15]; /* IMSI C-Lock */
+ − UBYTE len_n_imsi; /* bytes of IMSI N-Lock */
+ − UBYTE n_imsi[15]; /* IMSI N-Lock */
+ − UBYTE len_u_imsi; /* bytes of IMSI U-Lock */
+ − UBYTE u_imsi[15]; /* IMSI U-Lock */
+ − UBYTE gidl1; /* Group Identifier Level 1 */
+ − UBYTE gidl2; /* Group Identifier Level 1 */
+ − } EF_SIMLCKEXT;
+ −
+ − #define SIZE_EF_SIMLCKEXT 142
+ − #define NR_EF_SIMLCKEXT 1
+ −
+ − /*
+ − * locks1
+ − */
+ − #define plock 0x00000003,0
+ − #define plockm 0x00000003
+ − #define plocks 0
+ − #define nlock 0x0000000C,2
+ − #define nlockm 0x0000000C
+ − #define nlocks 2
+ − #define nslock 0x00000030,4
+ − #define nslockm 0x00000030
+ − #define nslocks 4
+ − #define spslock 0x000000C0,6
+ − #define splockm 0x000000C0
+ − #define splocks 6
+ −
+ − /*
+ − * locks2
+ − */
+ − #define clock 0x00000003,0
+ − #define clockm 0x00000003
+ − #define clocks 0
+ − #define flock 0x0000000C,2
+ − #define flockm 0x0000000C
+ − #define flocks 2
+ − /*
+ − #define reserved1 0x00000030,4
+ − #define reserved1m 0x00000030
+ − #define reserved1s 4
+ − #define reserved2 0x000000C0,6
+ − #define reserved2m 0x000000C0
+ − #define reserved2s 6
+ − */
+ −
+ − /********************************************************************
+ − *
+ − * Field MAINTENANCE INFORMATION
+ − *
+ − ********************************************************************/
+ −
+ − /*
+ − * T.B.D.
+ − */
+ − #define SIZE_EF_MAIN 8
+ − #define NR_EF_MAIN 1
+ −
+ − /********************************************************************
+ − *
+ − * Field SPECIAL FUNCTION KEY
+ − *
+ − ********************************************************************/
+ −
+ − /*
+ − * T.B.D.
+ − */
+ − #define SIZE_EF_SFK 8
+ − #define NR_EF_SFK 1
+ −
+ − /********************************************************************
+ − *
+ − * Field FAULT CONDITIONS
+ − *
+ − ********************************************************************/
+ −
+ − /*
+ − * T.B.D.
+ − */
+ − #define SIZE_EF_FAULT 8
+ − #define NR_EF_FAULT 1
+ −
+ − /********************************************************************
+ − *
+ − * Field DEBUG INFORMATION
+ − *
+ − ********************************************************************/
+ −
+ − /*
+ − * T.B.D.
+ − */
+ − #define SIZE_EF_DEBUG 8
+ − #define NR_EF_DEBUG 1
+ −
+ − /********************************************************************
+ − *
+ − * Field POWER MANAGEMENT
+ − *
+ − ********************************************************************/
+ −
+ − /*
+ − * T.B.D.
+ − */
+ − #define SIZE_EF_POWER 8
+ − #define NR_EF_POWER 1
+ −
+ − /********************************************************************
+ − *
+ − * Field KEYBOARD MAPPING
+ − *
+ − ********************************************************************/
+ −
+ − typedef struct pcm_EFkbd_Type /* Keyboard Mapping */
+ − {
+ − UBYTE logical_key [32]; /* logical key */
+ − UBYTE raw_key [32]; /* raw key */
+ − } EF_KBD;
+ −
+ − #define SIZE_EF_KEYB 64
+ − #define NR_EF_KEYB 1
+ −
+ − /********************************************************************
+ − *
+ − * Field RADIO PARAMETERS
+ − *
+ − ********************************************************************/
+ −
+ − /*
+ − * T.B.D.
+ − */
+ − #define SIZE_EF_RADIO 8
+ − #define NR_EF_RADIO 1
+ −
+ − /********************************************************************
+ − *
+ − * Manufacturer
+ − *
+ − ********************************************************************/
+ −
+ − #define SIZE_EF_CGMI_DATA 20
+ −
+ − typedef struct pcm_EFcgmi_Type /* Manufacturer */
+ − {
+ − UBYTE data[SIZE_EF_CGMI_DATA]; /* Name of Manufacturer */
+ − } EF_CGMI;
+ −
+ − #define SIZE_EF_CGMI SIZE_EF_CGMI_DATA
+ − #define NR_EF_CGMI 1
+ −
+ − /********************************************************************
+ − *
+ − * Identification Information
+ − *
+ − ********************************************************************/
+ −
+ − #define SIZE_EF_INF0_DATA 20
+ −
+ − typedef struct pcm_EFinf0_Type
+ − {
+ − UBYTE data[SIZE_EF_INF0_DATA]; /*Identification Information*/
+ − } EF_INF0;
+ −
+ − #define SIZE_EF_INF0 SIZE_EF_INF0_DATA
+ − #define NR_EF_INF0 2
+ −
+ − /********************************************************************
+ − *
+ − * Model
+ − *
+ − ********************************************************************/
+ −
+ − #define SIZE_EF_CGMM_DATA 20
+ −
+ − typedef struct pcm_EFcgmm_Type /* Model */
+ − {
+ − UBYTE data[SIZE_EF_CGMM_DATA]; /* Name of Product */
+ − } EF_CGMM;
+ −
+ − #define SIZE_EF_CGMM SIZE_EF_CGMM_DATA
+ − #define NR_EF_CGMM 1
+ −
+ − /********************************************************************
+ − *
+ − * Revision
+ − *
+ − ********************************************************************/
+ −
+ − #define SIZE_EF_CGMR_DATA 20
+ −
+ − typedef struct pcm_EFcgmr_Type /* Revision */
+ − {
+ − UBYTE data[SIZE_EF_CGMR_DATA]; /* Version of Product */
+ − } EF_CGMR;
+ −
+ − #define SIZE_EF_CGMR SIZE_EF_CGMR_DATA
+ − #define NR_EF_CGMR 1
+ −
+ − /********************************************************************
+ − *
+ − * Product Serial Number
+ − *
+ − ********************************************************************/
+ −
+ − #define SIZE_EF_CGSN_DATA 20
+ −
+ − typedef struct pcm_EFcgsn_Type /* Product Serial Number */
+ − {
+ − UBYTE data[SIZE_EF_CGSN_DATA]; /* Serial Number of Product */
+ − } EF_CGSN;
+ −
+ − #define SIZE_EF_CGSN SIZE_EF_CGSN_DATA
+ − #define NR_EF_CGSN 1
+ −
+ − /********************************************************************
+ − *
+ − * SMS Profile
+ − *
+ − ********************************************************************/
+ −
+ − #define SIZE_EF_SMSPRFL_SCA 20
+ − #define SIZE_EF_SMSPRFL_MIDS 40
+ − #define SIZE_EF_SMSPRFL_DCSS 20
+ − #define SIZE_EF_SMSPRFL_VPABS 14
+ −
+ − #define EF_SMSPRFL_VLD 0x00
+ − #define EF_SMSPRFL_INVLD 0xFF
+ −
+ − typedef struct pcm_EFsmsprfl_Type /* SMS Profile */
+ − {
+ − UBYTE vldFlag; /* Valid Flag */
+ − UBYTE CSCAsca[SIZE_EF_SMSPRFL_SCA]; /* Service Center Address */
+ − UBYTE CSCAlenSca; /* Length of Service Center Address */
+ − UBYTE CSCAton; /* Type of Number */
+ − UBYTE CSCAnpi; /* Numbering Plan Identification */
+ − UBYTE CSCBmode; /* Mode */
+ − UBYTE CSCBmids[SIZE_EF_SMSPRFL_MIDS]; /* Message Identifier */
+ − UBYTE CSCBdcss[SIZE_EF_SMSPRFL_DCSS]; /* Data Coding Schemes */
+ − UBYTE CSMPfo; /* First Octet */
+ − UBYTE CSMPvprel; /* Validity Period Relative */
+ − UBYTE CSMPvpabs[SIZE_EF_SMSPRFL_VPABS]; /* Validity Period Absolute */
+ − UBYTE CSMPpid; /* Protocol Identifier */
+ − UBYTE CSMPdcs; /* Data Coding Scheme */
+ − } EF_SMSPRFL;
+ −
+ − #define SIZE_EF_SMSPRFL ( SIZE_EF_SMSPRFL_SCA + \
+ − SIZE_EF_SMSPRFL_MIDS + \
+ − SIZE_EF_SMSPRFL_DCSS + \
+ − SIZE_EF_SMSPRFL_VPABS + 9 )
+ − #define NR_EF_SMSPRFL 2
+ −
+ − /********************************************************************
+ − *
+ − * PLMN Identifier
+ − *
+ − ********************************************************************/
+ −
+ − #define SIZE_EF_PLMN_LONG 20
+ − #define SIZE_EF_PLMN_SHRT 10
+ − #define SIZE_EF_PLMN_MCC 2
+ − #define SIZE_EF_PLMN_MNC 2
+ −
+ − typedef struct pcm_EFplmn_Type /* PLMN Identifier */
+ − {
+ − UBYTE mcc[SIZE_EF_PLMN_MCC]; /* Mobile country code */
+ − UBYTE mnc[SIZE_EF_PLMN_MNC]; /* Mobile network code */
+ − UBYTE lngNam[SIZE_EF_PLMN_LONG]; /* Long operator name */
+ − UBYTE shrtNam[SIZE_EF_PLMN_SHRT]; /* Short operator name */
+ − } EF_PLMN;
+ −
+ − #define SIZE_EF_PLMN ( SIZE_EF_PLMN_MCC + SIZE_EF_PLMN_MCC + \
+ − SIZE_EF_PLMN_LONG + SIZE_EF_PLMN_SHRT )
+ − #define NR_EF_PLMN 2
+ −
+ − /********************************************************************
+ − *
+ − * Field BCCH Information
+ − *
+ − ********************************************************************/
+ −
+ − typedef struct pcm_EFbcchinfo_Type /* BCCH information */
+ − {
+ − UBYTE bcch_info[54]; /* content */
+ − } EF_BCCHINFO;
+ −
+ − #define SIZE_EF_BCCHINFO 54
+ − #define NR_EF_BCCHINFO 1
+ −
+ − /********************************************************************
+ − *
+ − * Field alternate line service
+ − *
+ − ********************************************************************/
+ −
+ − typedef struct pcm_EFals_Type /* alternate line service */
+ − {
+ − UBYTE selLine;
+ − UBYTE statLine;
+ − } EF_ALS;
+ −
+ − #define SIZE_EF_ALS 2
+ − #define NR_EF_ALS 1
+ −
+ − /********************************************************************
+ − *
+ − * Field Location Information (GPRS)
+ − *
+ − ********************************************************************/
+ −
+ − typedef struct pcm_EFlocgprs_Type /* GPRS Location information */
+ − {
+ − UBYTE ptmsi[4];
+ − UBYTE ptmsi_signature[3];
+ − UBYTE rai[6];
+ − UBYTE ra_status;
+ − } EF_LOCGPRS;
+ −
+ − #define SIZE_EF_LOCGPRS sizeof (EF_LOCGPRS)
+ − #define NR_EF_LOCGPRS 1
+ −
+ − /********************************************************************
+ − *
+ − * Field Ciphering Key (GPRS)
+ − *
+ − ********************************************************************/
+ −
+ − typedef struct pcm_EFkcgprs_Type /* GPRS Ciphering key */
+ − {
+ − UBYTE kc[8];
+ − UBYTE cksn;
+ − } EF_KCGPRS;
+ −
+ − #define SIZE_EF_KCGPRS sizeof (EF_KCGPRS)
+ − #define NR_EF_KCGPRS 1
+ −
+ − /********************************************************************
+ − *
+ − * Field IMSI (GPRS, only for validation of GPRS related fields)
+ − *
+ − ********************************************************************/
+ −
+ − typedef struct pcm_EFimsigprs_Type /* International Subscriber Id */
+ − {
+ − UBYTE len;
+ − UBYTE IMSI[8];
+ − } EF_IMSIGPRS;
+ −
+ − #define SIZE_EF_IMSIGPRS sizeof (EF_IMSIGPRS)
+ − #define NR_EF_IMSIGPRS 1
+ −
+ − /********************************************************************
+ − *
+ − * Prototypes
+ − *
+ − ********************************************************************/
+ −
+ − #if defined (NEW_FRAME)
+ − /*
+ − * to achieve backward compatibility with older definitions
+ − */
+ − #define drv_SignalCB_Type T_DRV_CB_FUNC
+ − #define drv_SignalID_Type T_DRV_SIGNAL
+ − #define T_VSI_THANDLE USHORT
+ − #endif
+ −
+ − EXTERN drv_Return_Type pcm_Init (void);
+ − EXTERN void pcm_Exit (void);
+ − EXTERN drv_Return_Type pcm_ReadFile (UBYTE * in_FileName,
+ − USHORT in_BufferSize,
+ − UBYTE * out_BufferPtr,
+ − UBYTE * out_VersionPtr);
+ − EXTERN drv_Return_Type pcm_GetFileInfo (UBYTE * in_FileName,
+ − pcm_FileInfo_Type * out_FileInfoPtr);
+ − EXTERN drv_Return_Type pcm_ReadRecord (UBYTE * in_FileName,
+ − USHORT in_Record,
+ − USHORT in_BufferSize,
+ − UBYTE * out_BufferPtr,
+ − UBYTE * out_VersionPtr,
+ − USHORT * out_MaxRecordsPtr);
+ − EXTERN drv_Return_Type pcm_WriteFile (UBYTE * in_FileName,
+ − USHORT in_BufferSize,
+ − UBYTE * in_BufferPtr);
+ − EXTERN drv_Return_Type pcm_WriteRecord (UBYTE * in_FileName,
+ − USHORT in_Record,
+ − USHORT in_BufferSize,
+ − UBYTE * in_BufferPtr);
+ − EXTERN drv_Return_Type pcm_Flush (void);
+ −
+ −
+ − #endif
+ −
+ −