pcm.h
来自「是一个手机功能的模拟程序」· C头文件 代码 · 共 1,584 行 · 第 1/4 页
H
1,584 行
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
/********************************************************************
*
* 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
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?