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

📄 pcm.h

📁 是一个手机功能的模拟程序
💻 H
📖 第 1 页 / 共 4 页
字号:
#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


/********************************************************************
 *
 * Field LAST MOC NUMBERS - LDN
 *
 ********************************************************************/

typedef struct pcm_EFldn_Type
{
    UBYTE calDrMsb;   /* call duration (MSB)                 */
    UBYTE calDrLsb;   /* call duration (LSB)                 */
    UBYTE year;       /* year  }                             */
    UBYTE month;      /* month } = date                      */
    UBYTE day;        /* day   }                             */
    UBYTE hour;       /* hour   }                            */
    UBYTE minute;     /* minute } = time                     */
    UBYTE second;     /* second }                            */
    UBYTE len;        /* length of BCD number                */
    UBYTE numTp;      /* TON and NPI                         */
    UBYTE dldNum[10]; /* called number                       */
    UBYTE ccp;        /* capability/configuration identifier */
    UBYTE ext1;       /* extension1 record identifier        */
} EF_LDN;

#define SIZE_EF_LDN 22
#define NR_EF_LDN    1

/* 
 * numTp bits                        
 *   _______________________________________________________
 *  |8     |7     |6     |5     |4     |3     |2     |1     |
 *  |------|------|------|------|------|------|------|------|
 *  |-     |ton                 |npi                        |
 *   -------------------------------------------------------
 */
#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 MTC NUMBERS - LRN
 *
 ********************************************************************/

typedef struct pcm_EFlrn_Type
{
    UBYTE calDrMsb;   /* call duration (MSB)                 */
    UBYTE calDrLsb;   /* call duration (LSB)                 */
    UBYTE year;       /* year  }                             */
    UBYTE month;      /* month } = date                      */
    UBYTE day;        /* day   }                             */
    UBYTE hour;       /* hour   }                            */
    UBYTE minute;     /* minute } = time                     */
    UBYTE second;     /* second }                            */
    UBYTE id;         /* identifier                          */
    UBYTE len;        /* length of BCD number                */
    UBYTE numTp;      /* TON and NPI - bitmap same as EF_LDN */
    UBYTE dldNum[10]; /* calling number                      */
    UBYTE ccp;        /* capability/configuration identifier */
    UBYTE ext1;       /* extension1 record identifier        */
} EF_LRN;

#define SIZE_EF_LRN 23
#define NR_EF_LRN    1

/* 
 * id bits                        
 *   _______________________________________________________
 *  |8     |7     |6     |5     |4     |3     |2     |1     |
 *  |------|------|------|------|------|------|------|------|
 *  |reserved                          |type                |
 *   -------------------------------------------------------
 */


/********************************************************************
 *
 * Field LAST MTC MISSED NUMBERS - LMN
 *
 ********************************************************************/

typedef struct pcm_EFlmn_Type
{
    UBYTE year;       /* year  }                             */
    UBYTE month;      /* month } = date                      */
    UBYTE day;        /* day   }                             */
    UBYTE hour;       /* hour   }                            */
    UBYTE minute;     /* minute } = time                     */
    UBYTE second;     /* second }                            */
    UBYTE id;         /* identifier - bitmap same as EF_LRN  */
    UBYTE len;        /* length of BCD number                */
    UBYTE numTp;      /* TON and NPI - bitmap same as EF_LDN */
    UBYTE dldNum[10]; /* calling number                      */
    UBYTE ccp;        /* capability/configuration identifier */
    UBYTE ext1;       /* extension1 record identifier        */
} EF_LMN;

#define SIZE_EF_LMN 21
#define NR_EF_LMN    1


/********************************************************************
 *
 * Field USER PERSONAL NUMBERS - UPN
 *
 ********************************************************************/

typedef struct pcm_EFupn_Type
{
    UBYTE alphId[10]; /* alpha identifier                    */
    UBYTE len;        /* length of BCD number                */
    UBYTE numTp;      /* TON and NPI - bitmap same as EF_LDN */
    UBYTE usrNum[10]; /* number                              */
    UBYTE ccp;        /* capability/configuration identifier */
    UBYTE ext1;       /* extension1 record identifier        */
} EF_UPN;

#define SIZE_EF_UPN 24
#define NR_EF_UPN    1


/********************************************************************
 *
 * Field MAILBOX NUMBERS - MBN
 *
 ********************************************************************/

typedef struct pcm_EFmbn_Type
{
    UBYTE alphId[10]; /* alpha identifier                    */
    UBYTE len;        /* length of BCD number                */
    UBYTE numTp;      /* TON and NPI - bitmap same as EF_LDN */
    UBYTE mbNum[10];  /* number                              */
} EF_MBN;

#define SIZE_EF_MBN 22
#define NR_EF_MBN    4


/********************************************************************
 *
 * Field VOICE MAIL NUMBER - VMN                                               
 *
 ********************************************************************/

/* 
 * 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
{
    UBYTE vmNum[MAX_CALLED_PARTY_BCD_NO_OCTETS + 1]; /* voice mail number */
    UBYTE numTp;                   /* TON and NPI - bitmap same as EF_LDN */
} EF_VMN;

#define SIZE_EF_VMN (MAX_CALLED_PARTY_BCD_NO_OCTETS + 1 + 1)
#define NR_EF_VMN   1


/********************************************************************
 *
 * Field CALL TIMER - CTIM
 *
 ********************************************************************/

typedef struct pcm_EFctim_Type
{
    UBYTE moVcDrHm[4]; /* MO voice duration home PLMN */
    UBYTE mtVcDrHm[4]; /* MT voice duration home PLMN */
    UBYTE moDtDrHm[4]; /* MO data  duration home PLMN */
    UBYTE mtDtDrHm[4]; /* MT data  duration home PLMN */
    UBYTE moFxDrHm[4]; /* MO fax   duration home PLMN */
    UBYTE mtFxDrHm[4]; /* MT fax   duration home PLMN */
    UBYTE moVcDrRm[4]; /* MO voice duration roaming   */
    UBYTE mtVcDrRm[4]; /* MT voice duration roaming   */
    UBYTE moDtDrRm[4]; /* MO data  duration roaming   */
    UBYTE mtDtDrRm[4]; /* MT data  duration roaming   */
    UBYTE moFxDrRm[4]; /* MO fax   duration roaming   */
    UBYTE mtFxDrRm[4]; /* MT fax   duration roaming   */
} EF_CTIM;

#define SIZE_EF_CTIM 48
#define NR_EF_CTIM    1


/********************************************************************
 *
 * Field CALL COUNTER - CCNT
 *
 ********************************************************************/

typedef struct pcm_EFccnt_Type
{
    UBYTE Total[4];    /* total duration             */
    UBYTE moVcDrHm[4]; /* MO voice counter home PLMN */
    UBYTE mtVcDrHm[4]; /* MT voice counter home PLMN */
    UBYTE moDtDrHm[4]; /* MO data  counter home PLMN */
    UBYTE mtDtDrHm[4]; /* MT data  counter home PLMN */
    UBYTE moFxDrHm[4]; /* MO fax   counter home PLMN */
    UBYTE mtFxDrHm[4]; /* MT fax   counter home PLMN */
    UBYTE moVcDrRm[4]; /* MO voice counter roaming   */
    UBYTE mtVcDrRm[4]; /* MT voice counter roaming   */
    UBYTE moDtDrRm[4]; /* MO data  counter roaming   */
    UBYTE mtDtDrRm[4]; /* MT data  counter roaming   */
    UBYTE moFxDrRm[4]; /* MO fax   counter roaming   */
    UBYTE mtFxDrRm[4]; /* MT fax   counter roaming   */
} EF_CCNT;

#define SIZE_EF_CCNT 52
#define NR_EF_CCNT    1


/********************************************************************
 *
 * Field EMERGENCY CALL CODES - ECC
 *
 ********************************************************************/

typedef struct pcm_EFecc_Type
{
    UBYTE ecc1[3]; /* emergency call code 1 */
    UBYTE ecc2[3]; /* emergency call code 2 */
    UBYTE ecc3[3]; /* emergency call code 3 */
    UBYTE ecc4[3]; /* emergency call code 4 */
    UBYTE ecc5[3]; /* emergency call code 5 */
} EF_ECC;

#define SIZE_EF_ECC 15
#define NR_EF_ECC    1


/********************************************************************
 *
 * Field ORGANIZER AND ALARM - ORG
 *
 ********************************************************************/

typedef struct pcm_EForg_Type
{
    UBYTE date[6];     /* year, month, day, hour, minute, second */
    UBYTE alrm;        /* alarm                                  */
    UBYTE alphMem[16]; /* alpha memo                             */
} EF_ORG;
                  
#define SIZE_EF_ORG 23
#define NR_EF_ORG    1

/* 
 * alrm bits                        
 *   _______________________________________________________
 *  |8     |7     |6     |5     |4     |3     |2     |1     |
 *  |------|------|------|------|------|------|------|------|
 *  |reserved                   |type                |stat  |
 *   -------------------------------------------------------
 */
#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 - CCP
 *
 ********************************************************************/

typedef struct pcm_EFccp_Type
{
    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 - EXT1
 *
 ********************************************************************/

typedef struct pcm_EFext1_Type
{
    UBYTE recTp;      /* record type    */
    UBYTE extDat[11]; /* extension data */
    UBYTE id;         /* identifier     */
} EF_EXT1;

#define SIZE_EF_EXT1 13
#define NR_EF_EXT1    1

/* 
 * recTp bits                        
 *   _______________________________________________________
 *  |8     |7     |6     |5     |4     |3     |2     |1     |
 *  |------|------|------|------|------|------|------|------|
 *  |reserved                                 |type         |
 *   -------------------------------------------------------
 */


/********************************************************************
 *
 * Field SIM LOCK & EXTENDED SIM LOCK (use alternatively) - SIMLCK
 *
 ********************************************************************/

typedef struct pcm_EFsimlck_Type
{
    UBYTE locks1;   /* lock byte 1              */
    UBYTE locks2;   /* lock byte 2              */
    UBYTE cnt;      /* unlock attempt counter   */
    UBYTE maxcnt;   /* maximum attempt          */
    UBYTE PKey[8];  /* P control key            */
    UBYTE SPKey[8]; /* SP control key           */
    UBYTE NSKey[8]; /* NS control key           */
    UBYTE CKey[8];  /* C control key            */
    UBYTE NKey[8];  /* N control key            */
    UBYTE len_imsi; /* length of IMSI           */
    UBYTE imsi[15]; /* IMSI                     */
    UBYTE gidl1;    /* group identifier level 1 */
    UBYTE gidl2;    /* group identifier level 2 */
} EF_SIMLCK;

#define SIZE_EF_SIMLCK 62
#define NR_EF_SIMLCK    1


typedef struct pcm_EFsimlckext_Type
{
    UBYTE locks1;      /* lock byte 1              */
    UBYTE locks2;      /* lock byte 2              */
    UBYTE cnt;         /* unlock attempt counter   */
    UBYTE maxcnt;      /* maximum attempt          */
    UBYTE PKey[8];     /* P control key            */
    UBYTE SPKey[8];    /* SP control key           */
    UBYTE NSKey[8];    /* NS control key           */
    UBYTE CKey[8];     /* C control key            */
    UBYTE NKey[8];     /* N control key            */
    UBYTE len_p_imsi;  /* length of IMSI P-Lock    */
    UBYTE p_imsi[15];  /* IMSI P-Lock              */
    UBYTE len_sp_imsi; /* length of IMSI SP-Lock   */
    UBYTE sp_imsi[15]; /* IMSI SP-Lock             */
    UBYTE len_ns_imsi; /* length of IMSI NS-Lock   */
    UBYTE ns_imsi[15]; /* IMSI NS-Lock             */
    UBYTE len_c_imsi;  /* length of IMSI C-Lock    */
    UBYTE c_imsi[15];  /* IMSI C-Lock              */
    UBYTE len_n_imsi;  /* length of IMSI N-Lock    */
    UBYTE n_imsi[15];  /* IMSI N-Lock              */
    UBYTE len_u_imsi;  /* length of IMSI U-Lock    */
    UBYTE u_imsi[15];  /* IMSI U-Lock              */
    UBYTE gidl1;       /* group identifier level 1 */
    UBYTE gidl2;       /* group identifier level 2 */
} EF_SIMLCKEXT;

#define SIZE_EF_SIMLCKEXT 142
#define NR_EF_SIMLCKEXT     1

/* 
 * locks1 bits                        
 *   _______________________________________________________
 *  |8     |7     |6     |5     |4     |3     |2     |1     |
 *  |------|------|------|------|------|------|------|------|
 *  |splock       |nslock       |nlock        |plock        |
 *   -------------------------------------------------------
 */
#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

⌨️ 快捷键说明

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