pcm.h

来自「是一个手机功能的模拟程序」· C头文件 代码 · 共 1,584 行 · 第 1/4 页

H
1,584
字号
#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

/********************************************************************
 *
 * Field LAST DIALLED NUMBERS
 *
 ********************************************************************/


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                  */

⌨️ 快捷键说明

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