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

📄 aci_cmh.h

📁 是一个手机功能的模拟程序
💻 H
📖 第 1 页 / 共 5 页
字号:
/* 
+----------------------------------------------------------------------------- 
|  Project :  GSM-F&D (8411)
|  Modul   :  ACI_CMH
+----------------------------------------------------------------------------- 
|  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 :  Command handler interface definitions
+----------------------------------------------------------------------------- 
*/ 

#ifndef ACI_CMH_H
#define ACI_CMH_H

/* Robert.Chen add, 2004-03-02, to avoid not defined in BMI source */
#include "message.h"
#include "prim.h"
/* add end */


/*==== DATA TYPES FROM OLD SMS SAP (TEMPORARY) ====================*/

/*
 * service center address
 */
typedef struct
{
  UBYTE                     ntype;                    /*<  0:  1> numbering type                                     */
  UBYTE                     nplan;                    /*<  1:  1> numbering plan                                     */
  UBYTE                     no_bcd;                   /*<  2:  1> number of BCD digits                               */
  UBYTE                     bcd[MAX_SMS_ADDR_DIG];    /*<  3: 20> address                                            */
} T_sc_addr;


typedef struct
{
  UBYTE                     year[2];                  /*<  0:  2> year                                               */
  UBYTE                     month[2];                 /*<  2:  2> month                                              */
  UBYTE                     day[2];                   /*<  4:  2> day                                                */
  UBYTE                     hour[2];                  /*<  6:  2> hour                                               */
  UBYTE                     minute[2];                /*<  8:  2> minute                                             */
  UBYTE                     second[2];                /*< 10:  2> second                                             */
  UBYTE                     timezone;                 /*< 12:  1> timezone                                           */
} T_vp_abs;

typedef enum
{
  SR_TYP_Name      =   0,
  SR_TYP_Number,
  SR_TYP_Index,
  SR_TYP_Physical
}
T_ACI_SR_TYP;

#ifdef FF_EM_MODE
#include "aci_em.h"
#endif /* FF_EM_MODE */

/*==== MACROS =====================================================*/
#define ACI_ERR_DESC_CLASS( errDesc ) ((errDesc&0xFFFF0000)>>16)
#define ACI_ERR_DESC_NR( errDesc )    (errDesc&0xFFFF)
#define ACI_ERR_DESC_BLD( errCls, errNr ) ((errCls<<16)+errNr)

/*==== DEFINES ====================================================*/

#define ACI_NumParmNotPresent (-1)
#define MAX_OPER              12
#define MAX_FACILITY          17

#define MAX_B_SUBSCR_NUM_LEN  39 /* MAX_PARTY_NUM + '\0' */
#define MAX_CC_ORIG_NUM_LEN   81 /* Call Control MO number lenght + '\0' */
#ifdef PHONEBOOK_EXTENSION
  #define MAX_PHB_NUM_LEN     41 /* Phonebook number length + '\0' */
#else
  #define MAX_PHB_NUM_LEN     21 /* Phonebook number length + '\0' */
#endif /* else, #ifdef PHONEBOOK_EXTENSION */

#define MAX_SUBADDR_LEN       21
#define MAX_ALPHA_LEN         21
#define MAX_ALPHA_OPER_LEN    26
#define MAX_NUM_OPER_LEN      7
#define MAX_VP_ABS_DIGITS     2
#define MAX_SM_LEN            176
#define MAX_CBM_LEN           94
#define MAX_SM_CMD_LEN        158
#define MAX_CBM_TYPES         (MAX_IDENTS)
#define MAX_PB_ENTR           5     /* Should be the same as file: phb.h, MAX_PHB_ENTRY */
#define MAX_PB_INDEX          255
#define MAX_CALL_NR           7
#define MAX_SM_ENTR           1
#define MAX_FAC_PWD_LEN       5
#define MAX_USSD_LEN          183   /* max len in message is 160 can be 7bit compressed so 182*/
#define MAX_DIAL_LEN          183   /* should be the same as for ussd len */
#define MAX_IMSI_LEN          15    /* 3.03/2.3 */
#define MAX_SAT_PRF_LEN       (MAX_STK_PRF)  /* from SAP definition SIM.DOC */
#define MAX_SAT_CMD_LEN       255
#define MAX_CUR_LEN           4
#define MAX_MSISDN            2

#define CLAN_CODE_LEN         2
#define CBCH_HEAD_LEN         6
#define CMGW_IDX_FREE_ENTRY   0
#define MAX_SMS_NUM_LEN       (MAX_SMS_ADDR_DIG+1)
#define MAX_LAN               24   /* Maximal language supported */

#ifdef FF_HOMEZONE
#define CBHZ_MAX_TIMEOUT      120
#define CBHZ_MIN_TIMEOUT      30
#define CBHZ_DEF_TIMEOUT      60
#endif /* FF_HOMEZONE */

#ifndef NO_ASCIIZ
#define NO_ASCIIZ
#endif

/* A T T E N T I O N : this constants have to be verified */
#define MAX_CBM_ENTR 1
/* A T T E N T I O N : this constants have to be verified */

/* SMS: TP-Validity-Period-Format (TP-VPF) according to GSM 03.40 */
#define TP_VPF_NOT_PRESENT      0x00
#define TP_VPF_ENHANCED         0x08
#define TP_VPF_RELATIVE         0x10
#define TP_VPF_ABSOLUTE         0x18
#define TP_VPF_MASK             0x18

/* SMS: TP-Validity-Period-Enhanced extension bit */
#define TP_VPF_ENH_EXT_BIT_MASK 0x80

/* SMS: TP-Validity-Period-Enhanced single shot bit */
#define TP_VPF_ENH_SINGLE_SHOT_MASK 0x40

/* SMS: TP-Validity-Period-Enhanced-Format */
#define TP_VPF_ENH_NOT_PRESENT  0x00
#define TP_VPF_ENH_REL          0x01
#define TP_VPF_ENH_SEC          0x02
#define TP_VPF_ENH_HRS          0x03
#define TP_VPF_ENH_FORMAT_MASK  0x07

/* SMS: TP-Message-Type-Indicator (TP-MTI) according to GSM 03.40 */
#define TP_MTI_SMS_DELIVER      0x00
#define TP_MTI_SMS_DELIVER_REP  0x00
#define TP_MTI_SMS_SUBMIT       0x01
#define TP_MTI_SMS_SUBMIT_REP   0x01
#define TP_MTI_SMS_COMMAND      0x02
#define TP_MTI_SMS_STATUS_REP   0x02
#define TP_MTI_SMS_RESERVED     0x03
#define TP_MTI_MASK             0x03

/* SMS: TP-Status-Report-Request (TP-SRR) according to GSM 03.40 */
#define TP_SRR_NOT_REQUEST      0x00
#define TP_SRR_REQUEST          0x20
#define TP_SRR_MASK             0x20

/* SMS: TP-User-Data-Header-Indicator (TP-UDHI) according to GSM 03.40 */
#define TP_UDHI_WITHOUT_HEADER  0x00
#define TP_UDHI_WITH_HEADER     0x40
#define TP_UDHI_MASK            0x40

/* SMS: TP-Reply-Path (TP-RP) according to GSM 03.40 */
#define TP_RP_NOT_REQUEST       0x00
#define TP_RP_REQUEST           0x80
#define TP_RP_MASK              0x80

/* SMS/CBM: control parameter access in PCM */
#define ACI_PCM_ACCESS_SMSP     0x01
#define ACI_PCM_ACCESS_CBMP     0x02

/* EONS definitions */
#define OPL_MAX_RECORDS         50
#define OPL_MAX_RECORD_SIZE     8

/* CSQ, signal quality definitions*/
#define ACI_RSSI_FAULT          99
#define ACI_BER_FAULT           99

/*==== TYPES ======================================================*/

typedef enum             /* AT command identifier     */
{
  AT_CMD_NONE      = 0,  /* no ACI command identifier */
  AT_CMD_CACM      = 1,
  AT_CMD_CAMM      = 2,
  AT_CMD_CAOC      = 3,
  AT_CMD_CBC       = 4,
  AT_CMD_CBST      = 5,
  AT_CMD_CCFC      = 6,
  AT_CMD_CCUG      = 7,
  AT_CMD_CCWA      = 8,
  AT_CMD_CCWE      = 9,
  AT_CMD_CEER      = 10,
  AT_CMD_CFUN      = 11,
  AT_CMD_CGACT     = 12,
  AT_CMD_CGANS     = 13,
  AT_CMD_CGATT     = 14,
  AT_CMD_CGAUTO    = 15,
  AT_CMD_CGCLASS   = 16,
  AT_CMD_CGDATA    = 17,
  AT_CMD_CGDCONT   = 18,
  AT_CMD_CGEREP    = 19,
  AT_CMD_CGMI      = 20,
  AT_CMD_CGMM      = 21,
  AT_CMD_CGMR      = 22,
  AT_CMD_CGPADDR   = 23,
  AT_CMD_CGQMIN    = 24,
  AT_CMD_CGQREQ    = 25,
  AT_CMD_CGREG     = 26,
  AT_CMD_CGSMS     = 27,
  AT_CMD_CGSN      = 28,
  AT_CMD_CHLD      = 29,
  AT_CMD_CHUP      = 30,
  AT_CMD_CIMI      = 31,
  AT_CMD_CLAC      = 32,
  AT_CMD_CLAE      = 33,
  AT_CMD_CLAN      = 34,
  AT_CMD_CLCC      = 35,
  AT_CMD_CLCK      = 36,
  AT_CMD_CLIP      = 37,
  AT_CMD_CLIR      = 38,
  AT_CMD_CLVL      = 39,
  AT_CMD_CMEE      = 40,
  AT_CMD_CMGC      = 41,
  AT_CMD_CMGD      = 42,
  AT_CMD_CMGF      = 43,
  AT_CMD_CMGL      = 44,
  AT_CMD_CMGR      = 45,
  AT_CMD_CMGS      = 46,
  AT_CMD_CMGW      = 47,
  AT_CMD_CMOD      = 48,
  AT_CMD_CMSS      = 49,
  AT_CMD_CMUT      = 50,
  AT_CMD_CMUX      = 51,
  AT_CMD_CNMA      = 52,
  AT_CMD_CNMI      = 53,
  AT_CMD_CNUM      = 54,
  AT_CMD_COLP      = 55,
  AT_CMD_COPN      = 56,
  AT_CMD_COPS      = 57,
  AT_CMD_CPAS      = 58,
  AT_CMD_CPBF      = 59,
  AT_CMD_CPBR      = 60,
  AT_CMD_CPBS      = 61,
  AT_CMD_CPBW      = 62,
  AT_CMD_CPIN      = 63,
  AT_CMD_CPMS      = 64,
  AT_CMD_CPOL      = 65,
  AT_CMD_CPUC      = 66,
  AT_CMD_CPWD      = 67,
  AT_CMD_CR        = 68,
  AT_CMD_CRC       = 69,
  AT_CMD_CREG      = 70,
  AT_CMD_CRES      = 71,
  AT_CMD_CRLP      = 72,
  AT_CMD_CRSL      = 73,
  AT_CMD_CRSM      = 74,
  AT_CMD_CSAS      = 75,
  AT_CMD_CSCA      = 76,
  AT_CMD_CSCB      = 77,
  AT_CMD_CSCS      = 78,
  AT_CMD_CSDH      = 79,
  AT_CMD_CSMP      = 80,
  AT_CMD_CSMS      = 81,
  AT_CMD_CSNS      = 82,
  AT_CMD_CSQ       = 83,
  AT_CMD_CSSN      = 84,
  AT_CMD_CSTA      = 85,
  AT_CMD_CSVM      = 86,
  AT_CMD_CTFR      = 87,
  AT_CMD_CUSD      = 88,
  AT_CMD_DR        = 89,
  AT_CMD_DS        = 90,
  AT_CMD_FAA       = 91,
  AT_CMD_FAP       = 92,
  AT_CMD_FBO       = 93,
  AT_CMD_FBS       = 94,
  AT_CMD_FBU       = 95,
  AT_CMD_FCC       = 96,
  AT_CMD_FCLASS    = 97,
  AT_CMD_FCQ       = 98,
  AT_CMD_FCR       = 99,
  AT_CMD_FCS       = 100,
  AT_CMD_FCT       = 101,
  AT_CMD_FDR       = 102,
  AT_CMD_FDT       = 103,
  AT_CMD_FEA       = 104,
  AT_CMD_FFC       = 105,
  AT_CMD_FHS       = 106,
  AT_CMD_FIE       = 107,
  AT_CMD_FIP       = 108,
  AT_CMD_FIS       = 109,
  AT_CMD_FIT       = 110,
  AT_CMD_FKS       = 111,
  AT_CMD_FLI       = 112,
  AT_CMD_FLO       = 113,
  AT_CMD_FLP       = 114,
  AT_CMD_FMI       = 115,
  AT_CMD_FMM       = 116,
  AT_CMD_FMR       = 117,
  AT_CMD_FMS       = 118,
  AT_CMD_FND       = 119,
  AT_CMD_FNR       = 120,
  AT_CMD_FNS       = 121,
  AT_CMD_FPA       = 122,
  AT_CMD_FPI       = 123,
  AT_CMD_FPP       = 124,
  AT_CMD_FPS       = 125,
  AT_CMD_FPW       = 126,
  AT_CMD_FRQ       = 127,
  AT_CMD_FRY       = 128,
  AT_CMD_FSA       = 129,
  AT_CMD_FSP       = 130,
  AT_CMD_GCAP      = 131,
  AT_CMD_GCI       = 132,
  AT_CMD_GMI       = 133,
  AT_CMD_GMM       = 134,
  AT_CMD_GMR       = 135,
  AT_CMD_GSN       = 136,
  AT_CMD_ICF       = 137,
  AT_CMD_IFC       = 138,
  AT_CMD_ILRR      = 139,
  AT_CMD_IPR       = 140,
  AT_CMD_TM        = 141,
  AT_CMD_VST       = 142,
  AT_CMD_WS46      = 143,
  AT_CMD_ALS       = 144,
  AT_CMD_CLSA      = 145,
  AT_CMD_CLOM      = 146,
  AT_CMD_CLPS      = 147,
  AT_CMD_CLSR      = 148,
  AT_CMD_BAND      = 149,
  AT_CMD_P_CACM    = 150,
  AT_CMD_P_CAOC    = 151,
  AT_CMD_CCBS      = 152,
  AT_CMD_CGAATT    = 153,
  AT_CMD_P_CGMM    = 154,
  AT_CMD_P_CGREG   = 155,
  AT_CMD_CNAP      = 156,
  AT_CMD_CPI       = 157,
  AT_CMD_CTTY      = 158,
  AT_CMD_COLR      = 159,
  AT_CMD_CPRIM     = 160,
  AT_CMD_CTV       = 161,
  AT_CMD_CUNS      = 162,
  AT_CMD_NRG       = 163,
  AT_CMD_PPP       = 164,
  AT_CMD_SATC      = 165,
  AT_CMD_SATE      = 166,
  AT_CMD_SATR      = 167,
  AT_CMD_SATT      = 168,
  AT_CMD_MTST      = 169,
  AT_CMD_SNCNT     = 170,
  AT_CMD_VER       = 171,
  AT_CMD_P_CGCLASS = 172,
  AT_CMD_CGPCO     = 173,
  AT_CMD_CGPPP     = 174,
  AT_CMD_EM        = 175,
  AT_CMD_EMET      = 176,
  AT_CMD_EMETS     = 177,
  AT_CMD_WAP       = 178,
  AT_CMD_CBHZ      = 179,
  AT_CMD_CPHS      = 180,     /* %CPHS   command id */
  AT_CMD_CPNUMS    = 181,     /* %CPNUMS command id */
  AT_CMD_CPALS     = 182,     /* %CPALS  command id */
  AT_CMD_CPVWI     = 183,     /* %CPVWI  voice message waiting command id */
  AT_CMD_CPOPN     = 184,     /* %CPOPN  operator name string command id */
  AT_CMD_CPCFU     = 185,     /* %CPCFU  command id */
  AT_CMD_CPINF     = 186,     /* %CPHS information and customer service profile command id */
  AT_CMD_CPMB      = 187,     /* %CPHS mailbox numbers */
  AT_CMD_CPRI      = 188,
  AT_CMD_DATA      = 189,
  AT_CMD_DINF      = 190,
  AT_CMD_VTS       = 191,
  AT_CMD_PVRF      = 192,
  AT_CMD_ABRT      = 193,
  AT_CMD_EXT       = 194,
  AT_CMD_D         = 195,     /* D     command id */
  AT_CMD_O         = 196,     /* O     command id */
  AT_CMD_A         = 197,     /* A     command id */
  AT_CMD_H         = 198,     /* H     command id */
  AT_CMD_Z         = 199,     /* Z     command id */
  AT_CMD_P_CSQ     = 200,     /* %CSQ  command id */
  AT_CMD_MAX                  /* maximum command id */
} T_ACI_AT_CMD;

typedef enum                /* KSD command identifier */
{
/*  KSD_CMD_NONE = 200,     no KSD command identifier      */
  KSD_CMD_NONE = AT_CMD_MAX, /* no KSD command identifier  */
  KSD_CMD_CB,                /* call barring    command id */
  KSD_CMD_CF,                /* call forwarding command id */
  KSD_CMD_CL,                /* calling line    command id */
  KSD_CMD_CW,                /* call waiting    command id */
  KSD_CMD_PWD,               /* password        command id */
  KSD_CMD_UBLK,              /* unblock PIN     command id */
  KSD_CMD_USSD,              /* unstructured SS command id */
  KSD_CMD_IMEI,              /* get IMEI        command id */
  KSD_CMD_CCBS,              /* CCBS            command id */

  KSD_CMD_MAX                /* maximum command id         */
}
T_ACI_KSD_CMD;

#define CMD_SRC_ATI     1
typedef enum             /* AT command source identifier */
{
  CMD_SRC_NONE = -1,     /* no ACI command source identifier */
  CMD_SRC_LCL,           /* local command source id */
  CMD_SRC_ATI_1,           /* remote command source id */
  CMD_SRC_ATI_2,           /* remote command source id */
  CMD_SRC_ATI_3,           /* remote command source id */
  CMD_SRC_ATI_4,           /* remote command source id */
#ifdef SIM_TOOLKIT
  CMD_SRC_ATI_5,           /* added in case of SAT run at cmd
                           THIS DOES NOT MEAN THIS IS THE SAT SOURCE THOUGH !!! */
#endif /* SIM_TOOLKIT */
#if defined FF_EOTD
  CMD_SRC_ATI_6,           /* added in case of Location Service (test purposes) */
#endif /* FF_EOTD */
  CMD_SRC_MAX            /* maximum command source id */
} T_ACI_CMD_SRC;

typedef enum              /* ACI functional return codes */
{
  AT_FAIL = -1,           /* execution of command failed */
  AT_CMPL,                /* execution of command completed */
  AT_EXCT,                /* execution of command is in progress */
  AT_BUSY                 /* execution of command is rejected due
                             to a busy command handler */
} T_ACI_RETURN;

/* value used internally by ACI */
#define AT_CONT (AT_BUSY+1)

typedef enum              /* ACI error class */
{
  ACI_ERR_CLASS_NotPresent = -1,
  ACI_ERR_CLASS_Cme,      /* +CME  Error codes */
  ACI_ERR_CLASS_Cms,      /* +CMS  Error codes */
  ACI_ERR_CLASS_Ceer,     /* +CEER Error code */
  ACI_ERR_CLASS_Ext       /* extended error codes */

} T_ACI_ERR_CLASS;

typedef ULONG T_ACI_ERR_DESC; /* supplemental error description */


typedef enum                    /* used data coding schemes */
{
  CS_NotPresent = -1,
  CS_GsmDef     =  0,           /* 7 BIT */
  CS_GsmInt,                    /* 7 BIT (8. Bit gesetzt) */
  CS_Hex,                       /* 8 BIT transparent */
  CS_Ucs2,                      /* 16 BIT Unicode */
  CS_Sim,                       /* SIM card format */
  CS_Ascii
}
T_ACI_CS;

typedef struct            /* CRES type defination for restores message service settings */
{
  UBYTE min;
  UBYTE max;
} T_ACI_CRES;

typedef struct            /* data buffer for phonebook alpha */
{
  UBYTE    data[MAX_PHB_NUM_LEN]; //GW - from MAX_ALPHA_LEN - used to search for a number
  UBYTE    len;
  T_ACI_CS cs;
}
T_ACI_PB_TEXT;

typedef struct            /* data buffer for Short Messages */
{
  UBYTE data[MAX_SM_LEN];
  UBYTE len;
}
T_ACI_SM_DATA;

typedef struct            /* data buffer for Concatenated Short Messages */
{
  UBYTE  *data;
  USHORT len;
}
T_SM_DATA_EXT;

typedef enum              /* for conc. SMS init functions */
{
  EMPTY = -1,
  CMSS_CONC,
  CMGS_CONC,
  CMGC_CONC,
  CMGR_CONC,
  CMGW_CONC,
  CMGD_CONC
} T_EXT_CMS_CMD_ID;

⌨️ 快捷键说明

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