⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pcm.h

📁 是一个手机功能的模拟程序
💻 H
📖 第 1 页 / 共 4 页
字号:
#define spslock          0x000000C0,6
#define splockm          0x000000C0
#define splocks          6

/* 
 * locks2 bits                        
 *   _______________________________________________________
 *  |8     |7     |6     |5     |4     |3     |2     |1     |
 *  |------|------|------|------|------|------|------|------|
 *  |reserved                                 |clock        |
 *   -------------------------------------------------------
 */
#define clock            0x00000003,0
#define clockm           0x00000003
#define clocks           0


/********************************************************************
 *
 * Field MAINTENANCE INFORMATION - MAIN
 *
 ********************************************************************/

/*
 *  T.B.D.
 */

#define SIZE_EF_MAIN 8
#define NR_EF_MAIN   1


/********************************************************************
 *
 * Field SPECIAL FUNCTION KEY - SFK
 *
 ********************************************************************/

/*
 *  T.B.D.
 */

#define SIZE_EF_SFK 8
#define NR_EF_SFK   1


/********************************************************************
 *
 * Field FAULT CONDITIONS - FAULT
 *
 ********************************************************************/

/*
 *  T.B.D.
 */

#define SIZE_EF_FAULT 8
#define NR_EF_FAULT   1


/********************************************************************
 *
 * Field DEBUG INFORMATION - DEBUG
 *
 ********************************************************************/

/*
 *  T.B.D.
 */

#define SIZE_EF_DEBUG 8
#define NR_EF_DEBUG   1


/********************************************************************
 *
 * Field POWER MANAGEMENT - POWER
 *
 ********************************************************************/

/*
 *  T.B.D.
 */

#define SIZE_EF_POWER 8
#define NR_EF_POWER   1


/********************************************************************
 *
 * Field KEYBOARD MAPPING - KEYB
 *
 ********************************************************************/

typedef struct pcm_EFkbd_Type
{
    UBYTE logical_key [32]; /* logical key map */
    UBYTE raw_key [32];     /* raw key map     */
} EF_KBD;

#define SIZE_EF_KEYB 64
#define NR_EF_KEYB    1


/********************************************************************
 *
 * Field RADIO PARAMETERS - RADIO
 *
 ********************************************************************/

/*
 *  T.B.D.
 */

#define SIZE_EF_RADIO 8
#define NR_EF_RADIO   1


/********************************************************************
 *
 * Field MANUFACTURER - CGMI
 *
 ********************************************************************/

#define SIZE_EF_CGMI_DATA 20 /* value depends on manufacturer spec. */

typedef struct pcm_EFcgmi_Type
{
    UBYTE data[SIZE_EF_CGMI_DATA]; /* name of manufacturer */
} EF_CGMI;

#define SIZE_EF_CGMI (SIZE_EF_CGMI_DATA)
#define NR_EF_CGMI   1


/********************************************************************
 *
 * Field IDENTIFICATION INFORMATION - INF0
 *
 ********************************************************************/

#define SIZE_EF_INF0_DATA 20 /* value depends on manufacturer spec. */

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


/********************************************************************
 *
 * Field MODEL - CGMM
 *
 ********************************************************************/

#define SIZE_EF_CGMM_DATA 20 /* value depends on manufacturer spec. */

typedef struct pcm_EFcgmm_Type
{
    UBYTE data[SIZE_EF_CGMM_DATA]; /* name of product */
} EF_CGMM;

#define SIZE_EF_CGMM (SIZE_EF_CGMM_DATA)
#define NR_EF_CGMM   1


/********************************************************************
 *
 * Field REVISION - CGMR
 *
 ********************************************************************/

#define SIZE_EF_CGMR_DATA 20 /* value depends on manufacturer spec. */

typedef struct pcm_EFcgmr_Type
{
    UBYTE data[SIZE_EF_CGMR_DATA]; /* version of product */
} EF_CGMR;

#define SIZE_EF_CGMR (SIZE_EF_CGMR_DATA)
#define NR_EF_CGMR   1


/********************************************************************
 *
 * Field PRODUCT SERIAL NUMBER - CGSN
 *
 ********************************************************************/

#define SIZE_EF_CGSN_DATA 20 /* value depends on manufacturer spec. */

typedef struct pcm_EFcgsn_Type
{
    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


/********************************************************************
 *
 * Field SMS PROFILE - SMSPRFL
 *
 ********************************************************************/

#define SIZE_EF_SMSPRFL_SCA   20
#define SIZE_EF_SMSPRFL_MIDS  40
#define SIZE_EF_SMSPRFL_DCSS  20
#define SIZE_EF_SMSPRFL_VPABS 14

typedef struct pcm_EFsmsprfl_Type
{
    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;                         /* cell broadcast mode              */
    UBYTE CSCBmids[SIZE_EF_SMSPRFL_MIDS];   /* message identifiers              */
    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

/* 
 * vldFlag values                        
 */
#define EF_SMSPRFL_VLD   0x00
#define EF_SMSPRFL_INVLD 0xFF


/********************************************************************
 *
 * Field PLMN IDENTIFIER - PLMN
 *
 ********************************************************************/

#define SIZE_EF_PLMN_MCC   2
#define SIZE_EF_PLMN_MNC   2
#define SIZE_EF_PLMN_LONG 20
#define SIZE_EF_PLMN_SHRT 10

typedef struct pcm_EFplmn_Type
{
    UBYTE mcc[SIZE_EF_PLMN_MCC];      /* mobile country code        */
    UBYTE mnc[SIZE_EF_PLMN_MNC];      /* mobile network code        */
    UBYTE lngNam[SIZE_EF_PLMN_LONG];  /* MT voice counter home PLMN */
    UBYTE shrtNam[SIZE_EF_PLMN_SHRT]; /* MO data counter home PLMN  */
} EF_PLMN;

#define SIZE_EF_PLMN (SIZE_EF_PLMN_MCC  + \
                      SIZE_EF_PLMN_MNC  + \
                      SIZE_EF_PLMN_LONG + \
                      SIZE_EF_PLMN_SHRT)
#define NR_EF_PLMN   2


/********************************************************************
 *
 * Field BCCH INFORMATION - BCCHINF
 *
 ********************************************************************/

typedef struct pcm_EFbcchinfo_Type
{
    UBYTE bcch_info[54]; /* content of bcch_info */
} EF_BCCHINFO;

#define SIZE_EF_BCCHINFO 54
#define NR_EF_BCCHINFO    1


/********************************************************************
 *
 * Field ALTERNATIVE LINE SERVICE - ALS
 *
 ********************************************************************/

typedef struct pcm_EFals_Type
{
    UBYTE selLine;  /* selected line */
    UBYTE statLine; /* status line   */
} EF_ALS;

#define SIZE_EF_ALS 2
#define NR_EF_ALS   1


/********************************************************************
 *
 * Field LOCATION INFORMATION (GPRS) - LOCGPRS
 *
 ********************************************************************/

typedef struct pcm_EFlocgprs_Type
{
    UBYTE ptmsi[4];           /* packet TMSI                 */
    UBYTE ptmsi_signature[3]; /* packet TMSI signature value */
    UBYTE rai[6];             /* routing area information    */
    UBYTE ra_status;          /* status of rai               */
} EF_LOCGPRS;

#define SIZE_EF_LOCGPRS sizeof (EF_LOCGPRS)
#define NR_EF_LOCGPRS   1


/********************************************************************
 *
 * Field CIPHERING KEY (GPRS) - KCGPRS
 *
 ********************************************************************/

typedef struct pcm_EFkcgprs_Type
{
    UBYTE kc[8]; /* currently used cyphering key        */
    UBYTE cksn;	 /* ciphering key sequence number of kc */
} EF_KCGPRS;

#define SIZE_EF_KCGPRS sizeof (EF_KCGPRS)
#define NR_EF_KCGPRS   1


/********************************************************************
 *
 * Field IMSI (GPRS) - IMSIGPRS
 *
 ********************************************************************/

typedef struct pcm_EFimsigprs_Type
{
    UBYTE len;	   /* length IMSI */
    UBYTE IMSI[8]; /* IMSI        */
} EF_IMSIGPRS;

#define SIZE_EF_IMSIGPRS sizeof (EF_IMSIGPRS)
#define NR_EF_IMSIGPRS   1


/********************************************************************
 *
 * Prototypes
 *
 ********************************************************************/

EXTERN unsigned char pcm_find_active_pcm_sector (void);

EXTERN void pcm_read_flash (UBYTE   *pcm_mem,
                           unsigned size,
                           UBYTE    pcm_sector);

EXTERN drv_Return_Type pcm_erase_flash_sector (UBYTE pcm_sector);

EXTERN drv_Return_Type pcm_write_flash (UBYTE    *pcm_mem,
                                        unsigned size,
                                        UBYTE    pcm_sector);

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 // ifndef DEF_PCM

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -