FreeCalypso > hg > fc-magnetite
diff src/aci2/aci/aci_cmh.h @ 3:93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Mon, 26 Sep 2016 00:29:36 +0000 |
parents | |
children | 67fe1b3f4bd7 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/aci2/aci/aci_cmh.h Mon Sep 26 00:29:36 2016 +0000 @@ -0,0 +1,5975 @@ +/* ++----------------------------------------------------------------------------- +| 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 + + +/*#ifdef SIM_TOOLKIT */ +/*#if defined (FAX_AND_DATA) || defined (GPRS) || defined (_SIMULATION_) */ +/*#define FF_SAT_E */ /* enable SAT CLASS E */ +/*#endif *//* F&D or GPRS or Simulation */ +/*#endif *//* SIM_TOOLKIT */ +/*==== 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 (MAX_PARTY_NUM+1) /* + '\0' */ +#define MAX_CC_ORIG_NUM_LEN (MAX_CC_CALLED_NUMBER+1) /* + '\0' */ + +#ifdef TI_PS_FFS_PHB +/* + * A phase 2 and above mobile has to support extension records always, + * we support at least one extension record which + * gives us a total length of 40 number digits without trailing '\0'. + * The former preprocessor constant PHONEBOOK_EXTENSION has been + * eliminated. + */ +#define MAX_PHB_NUM_LEN (40+1) /* Phonebook number length + '\0' */ + +#else + +#ifdef PHONEBOOK_EXTENSION + #define MAX_PHB_NUM_LEN (44+1) /* Phonebook number length + '\0' */ +#else + #define MAX_PHB_NUM_LEN (20+1) /* Phonebook number length + '\0' */ +#endif /* else, #ifdef PHONEBOOK_EXTENSION */ + +#endif /* else, #ifdef TI_PS_FFS_PHB */ + +#define MAX_SUBADDR_LEN (20+1) /* + '\0' */ +#define MAX_ALPHA_LEN (20+1) /* + '\0' */ +#define MAX_ALPHA_OPER_LEN (25+1) /* + '\0' */ +#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 +#ifdef FAX_AND_DATA + #define MAX_CALL_NR 7 +#else + #define MAX_CALL_NR 6 +#endif +#define MAX_SM_ENTR 1 +#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 + +#define PNN_MAX_RECORDS 10 + +/* CSQ, signal quality definitions*/ +#define ACI_RSSI_FAULT 99 +#define ACI_BER_FAULT 99 + +/*CSP ALS service group code and bit value definitions*/ +#define ACI_CPHS_INFO_SIZE 3 +#define ACI_CPHS_CSP_SIZE 18 +#define ALS_SERVICE_GROUP_CODE 0x06 +#define ALS_BIT_ON 0x80 +/*CSP VAS service group code and bit value definitions*/ +#define VAS_SERVICE_GROUP_CODE 0xc0 +#define PLMN_MODE_BIT_ON 0x80 + +/*==== 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, + +#ifdef FF_FAX + 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_FPS = 125, + AT_CMD_FPW = 126, + AT_CMD_FRQ = 127, + AT_CMD_FSA = 129, + AT_CMD_FSP = 130, +#endif /* FF_FAX */ + + 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_P_CLCC = 191, + AT_CMD_P_VST = 192, + AT_CMD_CHPL = 193, + AT_CMD_CTZR = 194, + AT_CMD_VTS = 195, + AT_CMD_PVRF = 196, + AT_CMD_CWUP = 197, + AT_CMD_ABRT = 198, + AT_CMD_EXT = 199, + AT_CMD_D = 200, /* D command id */ + AT_CMD_O = 201, /* O command id */ + AT_CMD_A = 202, /* A command id */ + AT_CMD_H = 203, /* H command id */ + AT_CMD_Z = 204, /* Z command id */ + AT_CMD_P_CREG = 205, + AT_CMD_P_CSQ = 206, /* %CSQ command id */ + AT_CMD_CSIM = 207, /* +CSIM command id */ + AT_CMD_ATR = 208, /* %ATR command id */ + AT_CMD_SMBS = 209, + AT_CMD_DAR = 210, /* %DAR command id */ + AT_CMD_RDL = 211, /* %RDL command id, process redial mode */ + AT_CMD_RDLB = 212, /* %RDLB command id, process black list */ + AT_CMD_CIND = 213, /* +CIND command id */ + AT_CMD_CMER = 214, /* +CMER command id */ + AT_CMD_CSCN = 215, /* %CSCN command id */ + AT_CMD_CSTAT = 216, + AT_CMD_CPRSM = 217, /* %CPRSM command id */ + AT_CMD_P_CHLD = 218, /* %CHLD command id */ + AT_CMD_CTZU = 219, + AT_CMD_P_CTZV = 220, + AT_CMD_P_CNIV = 221, + AT_CMD_P_SECP = 222, + AT_CMD_P_SECS = 223, + AT_CMD_P_CSSN = 224, /* %CSSN command id */ + AT_CMD_CCLK = 225, + AT_CMD_CSSD = 226, /* %CSSD command id */ + AT_CMD_P_COPS =227, + AT_CMD_CPMBW = 228, /* %CPMBW command id */ + AT_CMD_CUST = 229, /* %CUST command id */ + AT_CMD_SATCC = 230, /* %SATCC command id */ + AT_CMD_P_SIMIND = 231, /* %SIMIND command id */ + AT_CMD_SIMRST = 232, /* State during SIM reset, not related to any AT cmd */ + AT_CMD_P_COPN = 233, + AT_CMD_P_CGEREP = 234, /* %CGEREP - TI Proprietary CPHS Event Reporting */ +#ifdef FF_DUAL_SIM + AT_CMD_SIM = 235, +#endif /*FF_DUAL_SIM*/ + AT_CMD_CUSCFG = 236, /* %CUSCFG comand id*/ + AT_CMD_CUSDR = 237, /* %CUSDR command id */ + AT_CMD_CMMS = 238, /* +CMMS command id */ + AT_CMD_STDR = 239, /* %CUSDR command id */ + AT_CMD_P_CPBS = 240, /* %CPBS comand id*/ + AT_CMD_P_DBGINFO = 241, /* %DBGINFO command id */ + AT_CMD_CDIP = 242, + AT_CMD_P_PBCF = 243, /* %PBCF comand id */ + AT_CMD_SIMEF = 244, /* %SIMEF command id */ + AT_CMD_EFRSLT = 245, /* %EFRSLT command id */ +#ifdef SIM_PERS + AT_CMD_MEPD = 246, /* For %MEPD -for querying ME Personalisation Data... Added on 11/03/2005 */ +#endif + AT_CMD_P_CMGMDU = 248, /* %CMGMDU command id */ + AT_CMD_P_CMGL = 249, + AT_CMD_P_CMGR = 250, + AT_CMD_P_ST = 251, /* sidetone level */ + AT_CMD_P_AUL = 252, /* Audio Table Load */ + AT_CMD_P_POFF = 253, /* Power Off GSM */ + AT_CMD_P_RST = 254, /* Reset GSM */ + AT_CMD_P_SC = 255, /* Set IMEI */ + AT_CMD_P_BAND = 256, /* Get RF band */ + AT_CMD_MAX /* maximum command id */ +} T_ACI_AT_CMD; + +typedef enum /* 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 */ +#ifdef FF_ATI + CMD_SRC_ATI_1, /* remote command source id */ + CMD_SRC_ATI_2, /* remote command source id */ +#ifndef GOLITE + 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 */ +/* FreeCalypso debug hack: reusing CMD_SRC_ATI_6 for our AT-over-RVTMUX */ +#if 1 //defined FF_EOTD + CMD_SRC_ATI_6, /* added in case of Location Service (test purposes) */ +#endif /* FF_EOTD */ +#endif /* GOLITE */ +#endif /* FF_ATI */ + CMD_SRC_MAX /* maximum command source id */ +} T_ACI_CMD_SRC; + + +typedef enum /* Command mode */ +{ + CMD_MODE_ACI=0, /* ACI */ + CMD_MODE_ATI, /* ATI */ +#ifdef FF_BAT + CMD_MODE_BAT, /* BAT */ +#endif + CMD_MODE_MAX, /* Number of possible command modes */ + CMD_MODE_NONE /* 'null' value */ +} +T_ACI_CMD_MODE; + +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; + +typedef struct /* error data Concat. SMS */ +{ + T_EXT_CMS_CMD_ID id; + union + { + struct + { + UBYTE segs; + } errConcCMSS; + struct + { + USHORT sent_chars; + UBYTE ref_num; + UBYTE next_seg; + UBYTE max_num; + } errConcCMGS; + struct + { + USHORT sent_chars; + UBYTE ref_num; + UBYTE next_seg; + UBYTE max_num; + } errConcCMGW; + } specErr; +} +T_EXT_CMS_ERROR; + +typedef struct /* data buffer for Commands */ +{ + UBYTE data[MAX_SM_CMD_LEN]; + UBYTE len; +} +T_ACI_CMD_DATA; + +typedef struct /* data buffer for Cell Broadcast Messages */ +{ + UBYTE data[MAX_CBM_LEN]; + UBYTE len; +} +T_ACI_CBM_DATA; + +typedef struct /* data buffer for User Data Headers */ +{ + UBYTE data[MAX_SM_LEN]; + UBYTE len; +} +T_ACI_UDH_DATA; + +typedef struct /* data buffer for unstructured SS data */ +{ + UBYTE data[MAX_USSD_LEN]; + UBYTE len; +} +T_ACI_USSD_DATA; + +/*---- +CFUN ------------------------------------------------------*/ +typedef enum /* +CFUN parameter <fun> */ +{ + CFUN_FUN_NotPresent = -1, + CFUN_FUN_Minimum, + CFUN_FUN_Full, + CFUN_FUN_Disable_TX_RX_RF = 4 +} +T_ACI_CFUN_FUN; + +typedef enum /* +CFUN parameter <rst> */ +{ + CFUN_RST_NotPresent = -1, + CFUN_RST_NoReset, + CFUN_RST_PreReset +} +T_ACI_CFUN_RST; + +/*---- +CME ------------------------------------------------------*/ +typedef enum /* +CME ERROR parameter <err> */ +{ + CME_ERR_NotPresent = -1, + CME_ERR_PhoneFail, + CME_ERR_NoConnect, + CME_ERR_LinkRes, + CME_ERR_OpNotAllow, + CME_ERR_OpNotSupp, + CME_ERR_PhSimPinReq, /* PH-SIM PIN required (SIM personalisation) */ + CME_ERR_PhFSimPinReq, /* PH-FSIM PIN required (personalisation on first inserted SIM) */ + CME_ERR_PhFSimPukReq, /* PH-FSIM PUK required (personalisation on first inserted SIM) */ + CME_ERR_SimNotIns = 10, + CME_ERR_SimPinReq, + CME_ERR_SimPukReq, + CME_ERR_SimFail, + CME_ERR_SimBusy, + CME_ERR_SimWrong, + CME_ERR_WrongPasswd, + CME_ERR_SimPin2Req, + CME_ERR_SimPuk2Req, + CME_ERR_MemFull = 20, + CME_ERR_InvIdx, + CME_ERR_NotFound, + CME_ERR_MemFail, + CME_ERR_TxtToLong, + CME_ERR_InvalidTxtChar, + CME_ERR_DialToLong, + CME_ERR_InvDialChar, + CME_ERR_NoServ = 30, + CME_ERR_Timeout, + CME_ERR_LimServ, + CME_ERR_NetworkPersPinReq = 40, /* PIN to change network personalisation required */ + CME_ERR_NetworkPersPukReq, /* network personalisation PUK is required */ + CME_ERR_NetworkSubsetPersPinReq, /* keycode to change nw subset personalisation required */ + CME_ERR_NetworkSubsetPersPukReq, /* network subset personalisation PUK is required */ + CME_ERR_ProviderPersPinReq, /* keycode to change service provider personal. required */ + CME_ERR_ProviderPersPukReq, /* service provider personalisation PUK is required */ + CME_ERR_CorporatePersPinReq, /* keycode to change corporate personalisation required */ + CME_ERR_CorporatePersPukReq, /* corporate personalisation PUK is required */ + CME_ERR_Unknown = 100, + +#ifdef GPRS +/* GSM 7:60 10.3.1 error codes */ + CME_ERR_GPRSBadMs = 103, + CME_ERR_GPRSBadMe = 106, + CME_ERR_GPRSNoService = 107, + CME_ERR_GPRSBadPlmn = 111, + CME_ERR_GPRSBadLoc = 112, + CME_ERR_GPRSNoRoam = 113, + CME_ERR_GPRSSerOptNsup = 132, + CME_ERR_GPRSSerOptNsub = 133, + CME_ERR_GPRSSerOptOOO = 134, + CME_ERR_GPRSUnspec = 148, + CME_ERR_GPRSPdpAuth = 149, + CME_ERR_GPRSBadModClass = 150, +#endif /*GPRS*/ + + CME_ERR_FailedToAbort = 512, + CME_ERR_AcmResetNeeded= 513, + CME_ERR_SimSatBusy = 514 /* Sim is busy with SAT (sw1=0x93), further normal commands allowed */ +} +T_ACI_CME_ERR; + +/*---- +CEER -- Standards Definition-----------------------------------*/ +typedef enum /* +CEER parameter <report> */ +{ + CEER_NotPresent = -1, + CEER_Unassign = 1, + CEER_NoRoute = 3, + CEER_ChanUnaccept = 6, + CEER_Barred = 8, + CEER_CallClear = 16, + CEER_UserBusy, + CEER_NoResponse, + CEER_AlertNoAnswer, + CEER_CallReject = 21, + CEER_NumChanged, + CEER_UserClear = 26, + CEER_DestOutOfOrder, + CEER_NumFormat, + CEER_FacilityReject, + CEER_StatusEnquiry, + CEER_Unspecified, + CEER_NoChanAvail = 34, + CEER_NetworkOutOfOrder = 38, + CEER_TempFailure = 41, + CEER_SwitchCongest, + CEER_InfoDiscard, + CEER_ReqChanUnavail, + CEER_ResourceUnavail = 47, + CEER_QOS_Unavail = 49, + CEER_FAC_Unsubscr, + CEER_BarredInCUG = 55, + CEER_BearerCapNotAuth = 57, + CEER_BearerCapUnavail, + CEER_ServUnavail = 63, + CEER_BearerNotImpl = 65, + CEER_ACM_Max = 68, + CEER_FAC_NotImpl, + CEER_RestrictBearerCap, + CEER_ServNotImpl = 79, + CEER_InvalidTI = 81, + CEER_UserNotInCUG = 87, + CEER_IncompatDest, + CEER_InvalidTransNet = 91, + CEER_IncorrMsg = 95, + CEER_InvalidMandInfo, + CEER_MsgTypeNotImpl, + CEER_MsgTypeIncomp, + CEER_InfoElemNotImpl, + CEER_CondInfoElem, + CEER_MsgIncomp, + CEER_Timer, + +#ifdef GPRS + CEER_FailedGPRSAttach = 101 , + CEER_FailedGPRSContextAct, + CEER_GPRSDetach, + CEER_GPRSDeactivation, +#endif /* GPRS */ + + CEER_Protocol = 111, /* These are supposed to be GPRS codes !!! de*/ + CEER_Interworking = 127, /* These are supposed to be GPRS codes !!! de*/ + CEER_ReqBearerServNotAvail = 200, + CEER_NoTransIdAvail, + CEER_Timer303, + CEER_EstabFail, + CEER_NoError = 210, + CEER_Failed, + CEER_Timeout, + CEER_BearerServNotCompat +} +T_ACI_CEER; + +/*---- +CEER --ACI Proprietary Definition-----------------------------------*/ +typedef enum /* +CEER parameter <report> */ +{ + P_CEER_NotPresent = CEER_NotPresent , + P_CEER_ACMMaxReachedOrExceeded, + P_CEER_InvalidFDN +} +T_ACI_PCEER; + +/*---- +CEER --MM Proprietary Definition-----------------------------------*/ +typedef enum /* +CEER parameter <report> */ +{ + P_MM_CEER_NotPresent = CEER_NotPresent , + P_MM_CEER_IMSINotInHLR = 2, /* IMSI not present in HLR */ + P_MM_CEER_NoService = 128 /* 0x80 */ +} +T_MM_PCEER; + +/*---- +CEER --SS Proprietary Definition-----------------------------------*/ +typedef enum /* +CEER parameter <report> */ +{ + P_SS_CEER_NotPresent = CEER_NotPresent , + P_SS_CEER_UnknownSubscriber = 1, + P_SS_CEER_IllegalSubscriber = 9, + P_SS_CEER_BearerSvcNotProv = 10, + P_SS_CEER_TeleSvcNotProv = 11, + P_SS_CEER_IllegalEquipment = 12, + P_SS_CEER_CallBarred = 13, + P_SS_CEER_IllegalSSOperation = 16, + P_SS_CEER_SSerrStatus = 17, + P_SS_CEER_SSNotAvail = 18, + P_SS_CEER_SSSubsViolation = 19, + P_SS_CEER_SSIncomp = 20, + P_SS_CEER_FacNotSupported = 21, + P_SS_CEER_AbsentSubs = 27, + P_SS_CEER_SystenFail = 34, + P_SS_CEER_DataMissing = 35, + P_SS_CEER_UnexpectData = 36, + P_SS_CEER_PwdRegFail = 37, + P_SS_CEER_NegPwdCheck = 38, + P_SS_CEER_NumPwdViolation = 43, + P_SS_CEER_UnknownAlpha = 71, + P_SS_CEER_UssdBusy = 72, + P_SS_CEER_MaxNumMptyExceed = 126, + P_SS_CEER_ResourceNotAvail = 127 +} +T_SS_PCEER; + +typedef enum +{ + P_CEER_mod = CEER_NotPresent, + P_CEER_sim, /* +CEER for sim */ + P_CEER_mm, /* +CEER for mm */ + P_CEER_ss /* +CEER for ss */ +} T_PCEER; + +/*---- ACI extended error -------------------------------------*/ +typedef enum /* extended error parameter */ +{ + EXT_ERR_NotPresent = -1, + EXT_ERR_Parameter, + EXT_ERR_DataCorrupt, + EXT_ERR_Internal, + EXT_ERR_CallTabFull, + EXT_ERR_SrvTabFull, + EXT_ERR_CallNotFound, + EXT_ERR_NoDataCallSup, + EXT_ERR_OneCallOnHold, + EXT_ERR_CallTypeNoHold, + EXT_ERR_FdnCheck, + EXT_ERR_BdnCheck, + EXT_ERR_ParallelUSSD, + EXT_ERR_FaxMinSpeedCond, + EXT_ERR_CmdDetailsSAT, + EXT_ERR_AlsLock, + EXT_ERR_IMEICheck, + +#if defined FF_EOTD + EXT_ERR_LCS_CmdNotSup, + EXT_ERR_LCS_CmdNotRec, + EXT_ERR_LCS_CLPSClientNotRec, + EXT_ERR_LCS_IntervalNotSup, + EXT_ERR_LCS_RepeatNotSup, + EXT_ERR_LCS_SendReqTyNotRec, + EXT_ERR_LCS_UsConfReqTyNotRec, + EXT_ERR_LCS_CLSRClientIdNotRec, + EXT_ERR_LCS_CSCallNumNotSup, +#endif /* FF_EOTD */ + EXT_ERR_Unknown = 100 + +} +T_ACI_EXT_ERR; + +/*---- Class of Service--------------------------------------------*/ +typedef enum /* service class */ +{ + CLASS_NotPresent = -1, + CLASS_None, + CLASS_Vce, + CLASS_Dat, + CLASS_VceDat, + CLASS_Fax, + CLASS_VceFax, + CLASS_DatFax, + CLASS_VceDatFax, + CLASS_Sms, + CLASS_VceSms, + CLASS_DatSms, + CLASS_VceDatSms, + CLASS_FaxSms, + CLASS_VceFaxSms, + CLASS_DatFaxSms, + CLASS_VceDatFaxSms, + CLASS_DatCirSync, + CLASS_DatCirAsync = 32, + CLASS_DedPacAccess = 64, + CLASS_AllSync = 80, + CLASS_AllAsync = 160, + CLASS_DedPADAcess = 128, + CLASS_AuxVce = 256 +} T_ACI_CLASS; + +/*---- Type of address --------------------------------------------*/ +typedef enum /* numbering plan identifier */ +{ + NPI_NotPresent =-1, + NPI_Unknown = 0, + NPI_IsdnTelephony = 1, + NPI_Data = 3, + NPI_Telex = 4, + NPI_National = 8, + NPI_Private = 9, + NPI_ERMES = 10, /* ffs */ + NPI_CTS = 11 /* ffs */ +} +T_ACI_TOA_NPI; + +typedef enum /* type of number */ +{ + TON_NotPresent =-1, + TON_Unknown = 0, + TON_International, + TON_National, + TON_NetSpecific, + TON_DedAccess, + TON_Alphanumeric, + TON_Abbreviated, + TON_Extended /* ffs */ +} +T_ACI_TOA_TON; + +typedef struct /* type of address octet */ +{ + T_ACI_TOA_TON ton; + T_ACI_TOA_NPI npi; +} +T_ACI_TOA; + +/*---- Type of subaddress -----------------------------------------*/ +typedef enum /* type of subaddress */ +{ + TOS_NotPresent =-1, + TOS_Nsap = 0, + TOS_User = 2 +} +T_ACI_TOS_TOS; + +typedef enum /* odd/even indicator */ +{ + OE_NotPresent =-1, + OE_Even = 0, + OE_Odd = 1 +} +T_ACI_TOS_OE; + +typedef struct /* type of address octet */ +{ + T_ACI_TOS_TOS tos; + T_ACI_TOS_OE oe; +} +T_ACI_TOS; + +/*---- alerting pattern ------------------------------------------*/ +typedef enum /* alerting pattern */ +{ + ALPT_NotPresent = -1, + ALPT_Level_0, + ALPT_Level_1, + ALPT_Level_2, + ALPT_Ctgry_1 = 4, + ALPT_Ctgry_2, + ALPT_Ctgry_3, + ALPT_Ctgry_4, + ALPT_Ctgry_5 +} +T_ACI_ALRT_PTRN; + +/*---- +CPIN ------------------------------------------------------*/ +typedef enum /* +CPIN response parameter <rslt> */ +{ + CPIN_RSLT_NotPresent = -1, + CPIN_RSLT_SimReady, + CPIN_RSLT_SimPinReq, + CPIN_RSLT_SimPukReq, + CPIN_RSLT_PhSimPinReq, + CPIN_RSLT_SimPin2Req, + CPIN_RSLT_SimPuk2Req, + /* OVK: Extended list of all possible result according to 07.07 */ + CPIN_RSLT_PhFSimPinReq, + CPIN_RSLT_PhFSimPukReq, + CPIN_RSLT_PhNetPinReq, + CPIN_RSLT_PhNetPukReq, + CPIN_RSLT_PhNetSubPinReq, + CPIN_RSLT_PhNetSubPukReq, + CPIN_RSLT_PhSPPinReq, + CPIN_RSLT_PhSPPukReq, + CPIN_RSLT_PhCorpPinReq, + CPIN_RSLT_PhCorpPukReq + +} +T_ACI_CPIN_RSLT; + +/*---- +COPS ------------------------------------------------------*/ + +typedef enum /* +COPS parameter <mode> */ +{ + COPS_MOD_NotPresent = -1, + COPS_MOD_Auto, + COPS_MOD_Man, + COPS_MOD_Dereg, + COPS_MOD_SetOnly, + COPS_MOD_Both +} +T_ACI_COPS_MOD; + +typedef enum /* +COPS parameter <format> */ +{ + COPS_FRMT_NotPresent = -1, + COPS_FRMT_Long, + COPS_FRMT_Short, + COPS_FRMT_Numeric +} +T_ACI_COPS_FRMT; + +typedef enum /* +COPS parameter <stat> */ +{ + COPS_STAT_NotPresent = -1, + COPS_STAT_Unknown, + COPS_STAT_Available, + COPS_STAT_Current, + COPS_STAT_Forbidden +} T_ACI_COPS_STAT; + +typedef enum /* %COPS parameter <srvStatus> */ +{ + COPS_SVST_NotPresent = -1, + COPS_SVST_Full, + COPS_SVST_Limited, + COPS_SVST_NoSrv, + COPS_SVST_SetRegModeOnly +} +T_ACI_COPS_SVST; + + +typedef struct /* +COPS operator list element*/ +{ + T_ACI_COPS_STAT status; + CHAR * longOper; + CHAR * shortOper; + CHAR numOper[MAX_NUM_OPER_LEN]; + UBYTE pnn; /* PLMN Network Name Source (for EONS) */ + UBYTE long_len; + UBYTE long_ext_dcs; + UBYTE shrt_len; + UBYTE shrt_ext_dcs; +}T_ACI_COPS_OPDESC; + +typedef struct +{ + char longName[MAX_ALPHA_OPER_LEN]; + char shrtName[MAX_ALPHA_OPER_LEN]; + SHORT mcc; + SHORT mnc; + UBYTE pnn; /* PLMN Network Name Source (for EONS) */ + UBYTE long_len; + UBYTE shrt_len; + UBYTE source; +} T_ACI_OPER_NTRY; + + +typedef T_ACI_COPS_OPDESC T_ACI_COPS_LST [MAX_OPER]; + +/*---- +CPOL ------------------------------------------------------*/ + +typedef enum /* +CPOL parameter <format> */ +{ + CPOL_FRMT_NotPresent = -1, + CPOL_FRMT_Long, + CPOL_FRMT_Short, + CPOL_FRMT_Numeric +} +T_ACI_CPOL_FRMT; + +typedef enum /* +CPOL parameter <mode> */ +{ + CPOL_MOD_NotPresent = -1, + CPOL_MOD_CompactList, + CPOL_MOD_Insert +} +T_ACI_CPOL_MOD; + +typedef struct /* +CPOL preferred operator list element */ +{ + SHORT index; + T_ACI_CPOL_FRMT format; + CHAR oper[MAX_ALPHA_OPER_LEN]; +}T_ACI_CPOL_OPDESC; + +typedef T_ACI_CPOL_OPDESC T_ACI_CPOL_LST [MAX_OPER]; + +typedef enum /* Language codes */ +{ + CLAN_LNG_AUT = -1, /*Automatic*/ + CLAN_LNG_ENG, /*English*/ + CLAN_LNG_FRE, /*French*/ + CLAN_LNG_GER, /*German*/ + CLAN_LNG_DUT, /*Dutch*/ + CLAN_LNG_ITA, + CLAN_LNG_SPA, + CLAN_LNG_SWE, + CLAN_LNG_POR, + CLAN_LNG_FIN, + CLAN_LNG_NOR, + CLAN_LNG_GRE, + CLAN_LNG_TUR, + CLAN_LNG_HUN, + CLAN_LNG_SLO, + CLAN_LNG_POL, + CLAN_LNG_RUS, + CLAN_LNG_IND, + CLAN_LNG_CZE, + CLAN_LNG_CHI, + CLAN_LNG_CAN, + CLAN_LNG_MAN, + CLAN_LNG_TAI, + CLAN_LNG_ARA +} +T_ACI_CLAN_LNG; + +typedef struct +{ + CHAR *str; + T_ACI_CLAN_LNG lng; +} +T_ACI_LAN_SUP; + +/*---- +CREG ------------------------------------------------------*/ +typedef enum /* +CREG parameter <stat> */ +{ + CREG_STAT_NotPresent = -1, + CREG_STAT_NoSearch, + CREG_STAT_Reg, + CREG_STAT_Search, + CREG_STAT_Denied, + CREG_STAT_Unknown, + CREG_STAT_Roam +} +T_ACI_CREG_STAT; + +/*---- %CREG ------------------------------------------------------*/ +typedef enum /* %CREG parameter <gprs_ind> */ +{ + P_CREG_GPRS_Not_Supported = 0, + P_CREG_GPRS_Supported_Limited_Serv, + P_CREG_GPRS_Supported, + P_CREG_GPRS_Support_Unknown +} +T_ACI_P_CREG_GPRS_IND; + +/*---- D ---------------------------------------------------------*/ +typedef enum /* D parameter <clirOvrd> */ +{ + D_CLIR_OVRD_Default = -1, + D_CLIR_OVRD_Supp, + D_CLIR_OVRD_Invoc +} +T_ACI_D_CLIR_OVRD; + +typedef enum /* D parameter <cugCtrl> */ +{ + D_CUG_CTRL_NotPresent = -1, + D_CUG_CTRL_Present +} +T_ACI_D_CUG_CTRL; + +typedef enum /* D parameter <callType> */ +{ + D_TOC_Data = -1, + D_TOC_Voice +} +T_ACI_D_TOC; + +#ifdef SIM_TOOLKIT +typedef enum /* D parameter <simCallControl> */ +{ + D_SIMCC_NOT_ACTIVE = 0, + D_SIMCC_ACTIVE, + D_SIMCC_ACTIVE_CHECK +} +T_ACI_D_SIMCC; +#endif /* SIM_TOOLKIT */ + +/*---- +CLIR ------------------------------------------------------*/ +typedef enum /* +CLIR parameter <mode> */ +{ + CLIR_MOD_NotPresent = -1, + CLIR_MOD_Subscript, + CLIR_MOD_Invoc, + CLIR_MOD_Supp +} +T_ACI_CLIR_MOD; + +typedef enum /* +CLIR parameter <stat> */ +{ + CLIR_STAT_NotPresent = -1, + CLIR_STAT_NotProv, + CLIR_STAT_Permanent, + CLIR_STAT_Unknown, + CLIR_STAT_RestrictTemp, + CLIR_STAT_AllowTemp +} +T_ACI_CLIR_STAT; + +/*---- +CLIP ------------------------------------------------------*/ + +typedef enum /* +CLIP parameter <stat> */ +{ + CLIP_STAT_NotPresent = -1, + CLIP_STAT_NotProv, + CLIP_STAT_Prov, + CLIP_STAT_Unknown +} +T_ACI_CLIP_STAT; + +/*---- +CDIP ------------------------------------------------------*/ + +typedef enum /* +CDIP parameter <stat> */ +{ + CDIP_STAT_NotPresent = -1, + CDIP_STAT_NotProv, + CDIP_STAT_Prov, + CDIP_STAT_Unknown +} +T_ACI_CDIP_STAT; + +/*---- +COLP ------------------------------------------------------*/ + +typedef enum /* +COLP parameter <stat> */ +{ + COLP_STAT_NotPresent = -1, + COLP_STAT_NotProv, + COLP_STAT_Prov, + COLP_STAT_Unknown +} +T_ACI_COLP_STAT; + +/*---- %CTTY ------------------------------------------------------*/ + +typedef enum /* %CTTY parameter (mode) */ +{ + CTTY_MOD_NotPresent = -1, + CTTY_MOD_Disable, + CTTY_MOD_Enable +} +T_ACI_CTTY_MOD; + +typedef enum /* %CTTY parameter (request) */ +{ + CTTY_REQ_NotPresent = -1, + CTTY_REQ_Off, + CTTY_REQ_On, + CTTY_REQ_HCO, + CTTY_REQ_VCO +} +T_ACI_CTTY_REQ; + +typedef enum /* %CTTY parameter (negociation) */ +{ + CTTY_NEG_None = 0, + CTTY_NEG_Request, + CTTY_NEG_Reject, + CTTY_NEG_Grant +} +T_ACI_CTTY_NEG; + +typedef enum /* %CTTY parameter (activity) */ +{ + CTTY_TRX_Off = 0, + CTTY_TRX_RcvOn, + CTTY_TRX_SendOn, + CTTY_TRX_RcvSendOn, + CTTY_TRX_Unknown +} +T_ACI_CTTY_TRX; + +typedef enum /* %CTTY parameter (state) */ +{ + CTTY_STAT_Off = 0, + CTTY_STAT_On, + CTTY_STAT_Unknown +} +T_ACI_CTTY_STAT; + +/*---- +CSVM ------------------------------------------------------*/ + +typedef enum /* +CSVM parameter <mode> */ +{ + CSVM_MOD_NotPresent = -1, + CSVM_MOD_Disable, + CSVM_MOD_Enable +} +T_ACI_CSVM_MOD; + +/*---- +CMOD ------------------------------------------------------*/ +typedef enum /* +CMOD parameter <mode> */ +{ + CMOD_MOD_NotPresent = -1, + CMOD_MOD_Single, + CMOD_MOD_VoiceFax, + CMOD_MOD_VoiceDat, + CMOD_MOD_VoiceFlwdDat +} +T_ACI_CMOD_MOD; + +/*---- +CBST ------------------------------------------------------*/ +typedef enum /* +CBST parameter <speed> */ +{ + BS_SPEED_NotPresent = -1, + + BS_SPEED_AUTO, + BS_SPEED_300_V21, + BS_SPEED_1200_V22, + BS_SPEED_1200_75_V23, + BS_SPEED_2400_V22bis, + BS_SPEED_2400_V26ter, + BS_SPEED_4800_V32, + BS_SPEED_9600_V32, + BS_SPEED_9600_V34 = 12, + BS_SPEED_14400_V34 = 14, + BS_SPEED_1200_V120 = 34, + BS_SPEED_2400_V120 = 36, + BS_SPEED_4800_V120 = 38, + BS_SPEED_9600_V120, + BS_SPEED_14400_V120 = 43, + BS_SPEED_300_V110 = 65, + BS_SPEED_1200_V110, + BS_SPEED_2400_V110 = 68, + BS_SPEED_4800_V110 = 70, + BS_SPEED_9600_V110, + BS_SPEED_14400_V110 = 75, + BS_SPEED_19200_V110 = 79, + BS_SPEED_28800_V110 = 80, + BS_SPEED_38400_V110 +} +T_ACI_BS_SPEED; + +typedef enum /* +CBST parameter <name> */ +{ + CBST_NAM_NotPresent = -1, + CBST_NAM_Asynch, + CBST_NAM_Synch +} +T_ACI_CBST_NAM; + +typedef enum /* +CBST parameter <ce> */ +{ + CBST_CE_NotPresent = -1, + CBST_CE_Transparent, + CBST_CE_NonTransparent, + CBST_CE_BothTransPref, + CBST_CE_BothNonTransPref +} +T_ACI_CBST_CE; + +/*---- +CR --------------------------------------------------------*/ + +typedef enum /* +CR parameter <service> */ +{ + CR_SERV_NotPresent = -1, + CR_SERV_Async, + CR_SERV_Sync, + CR_SERV_RelAsync, + CR_SERV_RelSync + +#ifdef GPRS + ,CR_SERV_GPRS +#endif /* GPRS */ +} +T_ACI_CR_SERV; + +/*---- +DS --------------------------------------------------------*/ +typedef enum /* +DS parameter <dir> */ +{ + DS_DIR_NotPresent = -1, + DS_DIR_Negotiated, + DS_DIR_TxOnly, + DS_DIR_RxOnly, + DS_DIR_Both +} +T_ACI_DS_DIR; + +typedef enum /* +DS parameter <comp> */ +{ + DS_COMP_NotPresent = -1, + DS_COMP_DoNotDisc, + DS_COMP_Disc +} +T_ACI_DS_COMP; + +/*---- +DR --------------------------------------------------------*/ +typedef enum /* +DR parameter <type> */ +{ + DR_TYP_NotPresent = -1, + DR_TYP_None, + DR_TYP_TxOnly, + DR_TYP_RxOnly, + DR_TYP_Both +} +T_ACI_DR_TYP; + +/*---- +CRING -----------------------------------------------------*/ +typedef enum /* +CRING parameter <type> */ +{ + CRING_TYP_NotPresent = -1, + CRING_TYP_Async, + CRING_TYP_Sync, + CRING_TYP_RelAsync, + CRING_TYP_RelSync, + CRING_TYP_Fax, + CRING_TYP_Voice, + CRING_TYP_AuxVoice + +#ifdef GPRS + ,CRING_TYP_GPRS +#endif /* GPRS */ + +} +T_ACI_CRING_TYP; + +typedef enum /* +CRING parameter <mode> */ +{ + CRING_MOD_NotPresent = -1, + CRING_MOD_Direct, + CRING_MOD_Alternate + +#ifdef GPRS + ,CRING_MOD_Gprs +#endif /* GPRS */ + +} +T_ACI_CRING_MOD; + +/*---- +CCWA -----------------------------------------------------*/ +typedef enum /* +CCWA parameter <mode> */ +{ + CCWA_MOD_NotInterrogate = -1, + CCWA_MOD_Disable, + CCWA_MOD_Enable, + CCWA_MOD_Query +} +T_ACI_CCWA_MOD; + +/*---- +CPWD -----------------------------------------------------*/ +typedef enum /* +CPWD parameter <fac> */ +{ + CPWD_FAC_NotPresent = -1, + CPWD_FAC_Sc, + CPWD_FAC_Ao, + CPWD_FAC_Oi, + CPWD_FAC_Ox, + CPWD_FAC_Ai, + CPWD_FAC_Ir, + CPWD_FAC_Ab, + CPWD_FAC_Ag, + CPWD_FAC_Ac, + CPWD_FAC_Fd, + CPWD_FAC_Pn, /* Network personalisation */ + CPWD_FAC_Pu, /* Network subset personalisation */ + CPWD_FAC_Pp, /* Service provider personalisation */ + CPWD_FAC_Pc, /* Corporate personalisation */ + CPWD_FAC_Ps, /* SIM personalisation */ + CPWD_FAC_Pf, /* Personalisation on first inserted SIM */ + CPWD_FAC_Al, /* ALS settings locked by CHV2 */ + CPWD_FAC_P2 + #ifdef SIM_PERS + , + CPWD_FAC_Fc, + CPWD_FAC_Fcm + #endif +} +T_ACI_CPWD_FAC; + +typedef struct +{ + T_ACI_CPWD_FAC fac; + SHORT pwdlength; +} +T_ACI_CPWD_LEN; + +typedef T_ACI_CPWD_LEN T_ACI_CPWD_LST [MAX_FACILITY]; + +/*---- +CLCK -----------------------------------------------------*/ +typedef enum /* +CLCK parameter <fac> */ +{ + CLCK_FAC_NotPresent = -1, + CLCK_FAC_Sc, /*SIM PIN 1*/ + CLCK_FAC_Ao, /*Outgoing Calls*/ + CLCK_FAC_Oi, /*Out int Calls*/ + CLCK_FAC_Ox, /*Out int ex home*/ + CLCK_FAC_Ai, /*In*/ + CLCK_FAC_Ir, /*In when roam*/ + CLCK_FAC_Ab, /*All*/ + CLCK_FAC_Ag, /*All out*/ + CLCK_FAC_Ac, /*All in*/ + CLCK_FAC_Fd, /*Sim fixed dialing feature*/ + CLCK_FAC_Pn, /* Network personalisation */ + CLCK_FAC_Pu, /* Network subset personalisation */ + CLCK_FAC_Pp, /* Service provider personalisation */ + CLCK_FAC_Pc, /* Corporate personalisation */ + CLCK_FAC_Ps, /* SIM personalisation */ + CLCK_FAC_Pf, /* Personalisation on first inserted SIM */ + CLCK_FAC_Al /* ALS settings locked by CHV2 */ +#ifdef SIM_PERS + , + CLCK_FAC_Fc, /*For Failure Counter Reset for SIMLOCK added on 11/03/2005 */ + CLCK_FAC_Fcm /*For Failure Counter Reset for SIMLOCK added on 11/03/2005 */ +#endif +} +T_ACI_CLCK_FAC; + +typedef enum /* +CLCK parameter <mode> */ +{ + CLCK_MOD_NotPresent = -1, + CLCK_MOD_Unlock, + CLCK_MOD_Lock, + CLCK_MODE_QUERY +} +T_ACI_CLCK_MOD; + +#ifdef SIM_PERS + +/*Would be used by %MEPD AT Command +to store supplementary info type +Added on 11/03/2005*/ +typedef enum +{ + CMEPD_SUP_INFO_NotPresent = -1, + FCMAX, /*CFG field== Failure Counter Max Value */ + FCATTEMPTSLEFT, /* CFG field== Failure Counter Current Value */ + FCRESETFAILMAX, + FCRESETFAILATTEMPTSLEFT, + FCRESETSUCCESSMAX, + FCRESETSUCCESSATTEMPTSLEFT, + TIMERFLAG, + ETSIFLAG, + AIRTELINDFLAG +} T_SUP_INFO_TYPE; + +/*Would be used by %MEPD AT Command +to display supplementary data value +Added on 11/03/2005*/ +typedef struct +{ + T_SUP_INFO_TYPE infoType; + UBYTE datavalue; /*Value of CFG Data */ +} T_SUP_INFO; + +#endif + +typedef enum +{ + STATUS_NotPresent = -1, + STATUS_NotActive, + STATUS_Active +}T_ACI_STATUS; + +typedef enum /* %CCBS parameter <mode> */ +{ + CCBS_MOD_NotPresent = -1, + CCBS_MOD_Disable, + CCBS_MOD_Enable, + CCBS_MOD_Query, + CCBS_MOD_Register = 3, + CCBS_MOD_Erasure +} T_ACI_CCBS_MOD; + + +/*---- +CCFC -----------------------------------------------------*/ +typedef enum /* +CCFC parameter <mode> */ +{ + CCFC_MOD_NotPresent = -1, + CCFC_MOD_Disable, + CCFC_MOD_Enable, + CCFC_MOD_Query, + CCFC_MOD_Register = 3, + CCFC_MOD_Erasure +} T_ACI_CCFC_MOD; + +typedef enum /* +CCFC parameter <reason> */ +{ + CCFC_RSN_NotPresent = -1, + CCFC_RSN_Uncond, + CCFC_RSN_Busy, + CCFC_RSN_NoReply, + CCFC_RSN_NotReach, + CCFC_RSN_Forward, + CCFC_RSN_CondForward +} T_ACI_CCFC_RSN; + +typedef struct +{ + T_ACI_STATUS status; + T_ACI_CLASS class_type; +} +T_ACI_CLSSTAT; + +typedef struct +{ + T_ACI_CLSSTAT clsstat; + CHAR number[MAX_B_SUBSCR_NUM_LEN]; + T_ACI_TOA type; + CHAR subaddr[MAX_SUBADDR_LEN]; + T_ACI_TOS satype; + SHORT time; +} +T_ACI_CCFC_SET; + +/*--- +CCUG -------------------------------------------------------*/ +typedef enum +{ + CCUG_IDX_NotPresent = -1, + CCUG_IDX_0, + CCUG_IDX_1, + CCUG_IDX_2, + CCUG_IDX_3, + CCUG_IDX_4, + CCUG_IDX_5, + CCUG_IDX_6, + CCUG_IDX_7, + CCUG_IDX_8, + CCUG_IDX_9, + CCUG_IDX_No +} +T_ACI_CCUG_IDX; + +typedef enum +{ + CCUG_INFO_NotPresent = -1, + CCUG_INFO_No, + CCUG_INFO_SuppOa, + CCUG_INFO_SuppPrefCug, + CCUG_INFO_SuppBoth +} +T_ACI_CCUG_INFO; + +typedef enum +{ + CCUG_MOD_NotPresent = -1, + CCUG_MOD_DisableTmp, + CCUG_MOD_EnableTmp +} +T_ACI_CCUG_MOD; + +/*--- +CMGF--------------------------------------------------------*/ + +typedef enum +{ + CMGF_MOD_NotPresent = -1, + CMGF_MOD_Pdu, + CMGF_MOD_Txt +} +T_ACI_CMGF_MOD; + +/*--- %SMBS--------------------------------------------------------*/ + +typedef enum +{ + PERC_SMBS_MOD_NotPresent = -1, + PERC_SMBS_MOD_DISABLE = 0, + PERC_SMBS_MOD_ENABLE = 1 +} +T_ACI_PERC_SMBS_MOD; + +/*--- CMS Err------------------------------------------------------*/ + +typedef enum +{ + CMS_ERR_NotPresent = -1,/*---From GSM 0411 E2---*/ + CMS_ERR_UnAllocNum = 1, + CMS_ERR_OpDetermBarr = 8, + CMS_ERR_CallBarr = 10, + CMS_ERR_TransReject = 21, + CMS_ERR_DestOutOfServ = 27, + CMS_ERR_UnidentSubsc, + CMS_ERR_FacReject, + CMS_ERR_UnKnownSubsc, + CMS_ERR_NetOutOfOrder = 38, + CMS_ERR_TempFail = 41, + CMS_ERR_Congestion, + CMS_ERR_ResUnAvail = 47, + CMS_ERR_FacNotSubscr = 50, + CMS_ERR_FacNotImpl = 69, + CMS_ERR_TransRefInval = 81, + CMS_ERR_InValSM = 95, + CMS_ERR_InValManInfo, + CMS_ERR_MsgTypNotExist, + CMS_ERR_MsgNotCompatible, + CMS_ERR_InfoElemNotImpl, + CMS_ERR_ProtErr = 111, + CMS_ERR_InterWrkUnSpec = 127, + CMS_ERR_TlmtkNotSup, /*---From GSM 0340 9.2.3.22---*/ + CMS_ERR_SM0NotSup, + CMS_ERR_CantReplceSM, + CMS_ERR_UnSpecPIDErr = 143, + CMS_ERR_DcsNotSup, + CMS_ERR_MsgClassNotSup, + CMS_ERR_UnSpecTpDcs = 159, + CMS_ERR_CmdNotAct, + CMS_ERR_CmdUnSup, + CMS_ERR_UnSpecTpCmd = 175, + CMS_ERR_TpduUnSup, + CMS_ERR_ScBsy = 192, + CMS_ERR_NoScSubsc, + CMS_ERR_ScSysFail, + CMS_ERR_InValSme, + CMS_ERR_DestSmeBarr, + CMS_ERR_SmRejctDuplSm, + CMS_ERR_SmTPVPFNotSup, + CMS_ERR_SmTPVPNotSup, + CMS_ERR_SimSmsStorFull = 208, + CMS_ERR_NoStorInSim, + CMS_ERR_ErrInMs, + CMS_ERR_MemCabExcee, + CMS_ERR_UnSpecErr = 255, + CMS_ERR_MeFail = 300, /*---From GSM 0705 3.2.5---*/ + CMS_ERR_ServRes, + CMS_ERR_OpNotAllowed, + CMS_ERR_OpNotSup, + CMS_ERR_InValPduMod, + CMS_ERR_InValTxtMod, + CMS_ERR_SimNotIns = 310, + CMS_ERR_SimPinReq, + CMS_ERR_PhSimPinReq, + CMS_ERR_SimFail, + CMS_ERR_SimBsy, + CMS_ERR_SimWrong, + CMS_ERR_SimPukReq, + CMS_ERR_SimPin2Req, + CMS_ERR_SimPuk2Req, + CMS_ERR_MemFail = 320, + CMS_ERR_InValMemIdx, + CMS_ERR_MemFull, + CMS_ERR_SmscAdrUnKnown = 330, + CMS_ERR_NoNetServ, + CMS_ERR_NetTimeOut, + CMS_ERR_NoCnmaAckExpect = 340, + CMS_ERR_UnknownErr = 500, + CMS_ERR_FailedToAbort = 512, + CMS_ERR_AcmResetNeeded = 513 +} +T_ACI_CMS_ERR; + +/*--- +CNMI ------------------------------------------------------*/ + +typedef enum +{ + CNMI_MT_NotPresent = -1, + CNMI_MT_NoSmsDeliverInd, + CNMI_MT_SmsDeliverInd, + CNMI_MT_SmsDeliver, + CNMI_MT_SmsDeliverCls3 +} +T_ACI_CNMI_MT; + +typedef enum +{ + CNMI_BM_NotPresent = -1, + CNMI_BM_NoCbmInd, + CNMI_BM_CbmInd, + CNMI_BM_Cbm, + CNMI_BM_CbmCls3 +} +T_ACI_CNMI_BM; + +typedef enum +{ + CNMI_DS_NotPresent = -1, + CNMI_DS_NoSmsStatRpt, + CNMI_DS_SmsStatRpt +} +T_ACI_CNMI_DS; + +/*--- +CNUM -------------------------------------------------------*/ + +typedef enum +{ + CNUM_ITC_NotPresent = -1, + CNUM_ITC_3_1_kHz, + CNUM_ITC_Udi +} +T_ACI_CNUM_ITC; + +typedef enum +{ + CNUM_SERV_NotPresent = -1, + CNUM_SERV_Asynch, + CNUM_SERV_Synch, + CNUM_SERV_PadAsynch, + CNUM_SERV_PacketSynch, + CNUM_SERV_Voice, + CNUM_SERV_Fax +} +T_ACI_CNUM_SERV; + +typedef enum +{ + CNUM_MOD_NewRead = 0, + CNUM_MOD_NextRead +} +T_ACI_CNUM_MOD; + +typedef struct +{ + BOOL vldFlag; + CHAR alpha[MAX_ALPHA_LEN]; + CHAR number[MAX_PHB_NUM_LEN]; + T_ACI_TOA type; + T_ACI_BS_SPEED speed; + T_ACI_CNUM_SERV service; + T_ACI_CNUM_ITC itc; +} +T_ACI_CNUM_MSISDN; + +typedef T_ACI_CNUM_MSISDN T_ACI_CNUM_LST [MAX_MSISDN]; + +/*--- +CPAS -------------------------------------------------------*/ + +typedef enum +{ + CPAS_PAS_NotPresent = -1, + CPAS_PAS_Ready, + CPAS_PAS_Unavailable, + CPAS_PAS_Unknown, + CPAS_PAS_Ring, + CPAS_PAS_CallProg, + CPAS_PAS_Asleep +} +T_ACI_CPAS_PAS; + +/*--- +CLAE -------------------------------------------------------*/ +typedef enum +{ + CLAE_MOD_NotPresent = -1, + CLAE_MOD_Disable, + CLAE_MOD_Enable +} +T_ACI_CLAE_MOD; + +/*--- +CSCB -------------------------------------------------------*/ + +typedef enum +{ + CSCB_MOD_NotPresent = -1, + CSCB_MOD_Accept, + CSCB_MOD_NotAccept +} +T_ACI_CSCB_MOD; + +/*--- +CBHZ -------------------------------------------------------*/ +#ifdef FF_HOMEZONE +typedef enum +{ + CBHZ_MOD_NotPresent = -1, + CBHZ_MOD_NotActive, + CBHZ_MOD_Active +} +T_ACI_CBHZ_MOD; +#endif /* FF_HOMEZONE */ + +/*--- +CSDH -------------------------------------------------------*/ + +typedef enum +{ + CSDH_SHOW_NotPresent = -1, + CSDH_SHOW_Disable, + CSDH_SHOW_Enable +} +T_ACI_CSDH_SHOW; + +/*--- +CSMS -------------------------------------------------------*/ + +typedef enum +{ + CSMS_SERV_NotPresent = -1, + CSMS_SERV_GsmPh2, + CSMS_SERV_GsmPh2Plus +} +T_ACI_CSMS_SERV; + +typedef enum +{ + CSMS_SUPP_NotPresent = -1, + CSMS_SUPP_Disable, + CSMS_SUPP_Enable +} +T_ACI_CSMS_SUPP; + +/*--- +CUSD command -----------------------------------------------*/ + +typedef enum +{ + CUSD_MOD_NotPresent = -1, + CUSD_MOD_NoActReq, + CUSD_MOD_YesActReq, + CUSD_MOD_TerminatedByNetwork, + CUSD_MOD_OtherLocalClientResp, + CUSD_MOD_OperationNotSupported, + CUSD_MOD_NetworkTimeout +} +T_ACI_CUSD_MOD; + +/*--- +CSSN command -----------------------------------------------*/ + +typedef enum +{ + CSSI_CODE_NotPresent = -1, + CSSI_CODE_CFUActive, + CSSI_CODE_SomeCCFActive, + CSSI_CODE_ForwardedCall, + CSSI_CODE_CallWaiting, + CSSI_CODE_CUGCall, + CSSI_CODE_OutCallsBarred, + CSSI_CODE_IncCallsBarred, + CSSI_CODE_CLIRSupRej, + CSSI_CODE_DeflectedCall +} +T_ACI_CSSI_CODE; + +typedef enum +{ + CSSU_CODE_NotPresent = -1, + CSSU_CODE_ForwardedCall, + CSSU_CODE_CUGCall, + CSSU_CODE_OnHold, + CSSU_CODE_Retrieved, + CSSU_CODE_Multiparty, + CSSU_CODE_HeldCallRel, + CSSU_CODE_FwrdCheckSS, + CSSU_CODE_ECTAlert, + CSSU_CODE_ECTConnect, + CSSU_CODE_DeflectedCall +} +T_ACI_CSSU_CODE; + + +typedef enum +{ + CSSX_CODE_NotPresent = -1, + CSSX_CODE_ForwardedCall, + CSSX_CODE_CUGCall, + CSSX_CODE_OnHold, + CSSX_CODE_Retrieved, + CSSX_CODE_Multiparty, + CSSX_CODE_HeldCallRel, + CSSX_CODE_FwrdCheckSS, + CSSX_CODE_ECTAlert, + CSSX_CODE_ECTConnect, + CSSX_CODE_CFUActive, + CSSX_CODE_SomeCCFActive, + CSSX_CODE_CallWaiting, + CSSX_CODE_OutCallsBarred, + CSSX_CODE_IncCallsBarred, + CSSX_CODE_CLIRSupRej, + CSSX_CODE_DeflectedCall + +} +T_ACI_CSSX_CODE; + + +/*--- %CLCC command -----------------------------------------------*/ + +typedef enum +{ + P_CLCC_DIR_NotPresent = -1, + P_CLCC_DIR_MOC, + P_CLCC_DIR_MTC, + P_CLCC_DIR_MOC_NI, + P_CLCC_DIR_MOC_RDL +} +T_ACI_P_CLCC_DIR; + +/*--- %DBGINFO command --------------------------------------------*/ + +typedef enum +{ + P_DBGINFO_NotPresent = -1, + P_DBGINFO_PrimPoolPartition = 1, + P_DBGINFO_DmemPoolPartition, + P_DBGINFO_DataPoolPartition +} +T_ACI_DBG_INFO; + +/*--- +CLCC command -----------------------------------------------*/ + +typedef enum +{ + CLCC_DIR_NotPresent = -1, + CLCC_DIR_MOC, + CLCC_DIR_MTC, + CLCC_DIR_MOC_NI, + CLCC_DIR_MOC_RDL +} +T_ACI_CLCC_DIR; + +typedef enum +{ + CLCC_STAT_NotPresent = -1, + CLCC_STAT_Active, + CLCC_STAT_Held, + CLCC_STAT_Dialing, + CLCC_STAT_Alerting, + CLCC_STAT_Incoming, + CLCC_STAT_Waiting +} +T_ACI_CLCC_STAT; + +typedef enum +{ + CLCC_MODE_NotPresent = -1, + CLCC_MODE_Voice, + CLCC_MODE_Data, + CLCC_MODE_Fax, + CLCC_MODE_VFDVoice, + CLCC_MODE_VADVoice, + CLCC_MODE_VAFVoice, + CLCC_MODE_VFDData, + CLCC_MODE_VADData, + CLCC_MODE_VAFFax, + CLCC_MODE_Unknown +} +T_ACI_CLCC_MODE; + +typedef enum +{ + CLCC_MPTY_NotPresent = -1, + CLCC_MPTY_NoMember, + CLCC_MPTY_IsMember +} +T_ACI_CLCC_MPTY; + +typedef enum +{ + CLCC_CLASS_NotPresent = -1, + CLCC_CLASS_Line1, + CLCC_CLASS_Line2 +} +T_ACI_CLCC_CLASS; + +typedef struct /* +CLCC current call list element*/ +{ + SHORT idx; + T_ACI_CLCC_DIR dir; + T_ACI_CLCC_STAT stat; + T_ACI_CLCC_MODE mode; + T_ACI_CLCC_MPTY mpty; + T_ACI_CLCC_CLASS class_type; + CHAR number[MAX_CC_ORIG_NUM_LEN]; + T_ACI_TOA type; +#ifdef FF_BAT + UBYTE prog_desc; +#endif +#ifdef NO_ASCIIZ + T_ACI_PB_TEXT alpha; +#else + CHAR alpha[MAX_ALPHA_LEN]; +#endif /* else, #ifdef NO_ASCIIZ */ +} +T_ACI_CLCC_CALDESC; + +typedef T_ACI_CLCC_CALDESC T_ACI_CLCC_LST [MAX_CALL_NR]; + +/*---- +COPN ------------------------------------------------------*/ +typedef enum /* +COPN parameter list identifier */ +{ + COPN_LID_NotPresent = -1, + COPN_LID_Pcm, /* list in permanent configuration memory */ + COPN_LID_Cnst /* list in constant memory */ +} +T_ACI_COPN_LID; + +typedef struct /* +COPN operator list element*/ +{ + CHAR alphaOper[MAX_ALPHA_OPER_LEN]; + CHAR numOper[MAX_NUM_OPER_LEN]; +} +T_ACI_COPN_OPDESC; + +typedef T_ACI_COPN_OPDESC T_ACI_COPN_LST [MAX_OPER]; + +/*---- +CSNS ------------------------------------------------------*/ +typedef enum /* +CSNS parameter <mode> */ +{ + CSNS_MOD_NotPresent = -1, + CSNS_MOD_Voice, + CSNS_MOD_VAFVoice, + CSNS_MOD_Fax, + CSNS_MOD_VADVoice, + CSNS_MOD_Data, + CSNS_MOD_VAFFax, + CSNS_MOD_VADData, + CSNS_MOD_VFD +} +T_ACI_CSNS_MOD; + +/*---- +VTS ------------------------------------------------------*/ +typedef enum /* +VTS parameter <mode> */ +{ + VTS_MOD_NotPresent = -1, + VTS_MOD_ManStop, + VTS_MOD_ManStart, + VTS_MOD_Auto +} +T_ACI_VTS_MOD; + +/*---- %SIMREM---------------------------------------------------*/ +typedef enum /* Type of SIM remove */ +{ + SIMREM_NotPresent = -1, + SIMREM_RESET, + SIMREM_FAILURE, + SIMREM_RETRY +} +T_ACI_SIMREM_TYPE; + +/*--- SMS ---------------------------------------------------------*/ + +typedef enum +{ + SMS_STAT_Invalid = -2, + SMS_STAT_NotPresent = -1, + SMS_STAT_RecUnread, + SMS_STAT_RecRead, + SMS_STAT_StoUnsent, + SMS_STAT_StoSent, + SMS_STAT_All +} +T_ACI_SMS_STAT; + +typedef enum +{ + SMS_READ_NotPresent = -1, + SMS_READ_Normal, + SMS_READ_Preview, + SMS_READ_StatusChange +} +T_ACI_SMS_READ; + +typedef enum +{ + SMS_STOR_NotPresent = -1, + SMS_STOR_Me, + SMS_STOR_Sm +} +T_ACI_SMS_STOR; + +typedef struct +{ + UBYTE year [MAX_VP_ABS_DIGITS]; + UBYTE month [MAX_VP_ABS_DIGITS]; + UBYTE day [MAX_VP_ABS_DIGITS]; + UBYTE hour [MAX_VP_ABS_DIGITS]; + UBYTE minute [MAX_VP_ABS_DIGITS]; + UBYTE second [MAX_VP_ABS_DIGITS]; + SHORT timezone; +} +T_ACI_VP_ABS; + +typedef struct +{ + UBYTE func_ind; + UBYTE ext_oct; + union + { + UBYTE vpenh_relative; + UBYTE vpenh_seconds; + struct + { + UBYTE hour [MAX_VP_ABS_DIGITS]; + UBYTE minute [MAX_VP_ABS_DIGITS]; + UBYTE second [MAX_VP_ABS_DIGITS]; + } vpenh_hours; + } val; +} +T_ACI_VP_ENH; + +typedef struct +{ + SHORT index; + T_ACI_SMS_STAT stat; + USHORT sn; + USHORT mid; + UBYTE page; + UBYTE pages; + T_ACI_CBM_DATA data; +} +T_ACI_CMGL_CBM; + +typedef T_ACI_CMGL_CBM T_ACI_CMGL_CBM_LST [MAX_CBM_ENTR]; + +typedef struct +{ + SHORT index; + T_ACI_SMS_STAT stat; + CHAR adress[MAX_SMS_ADDR_DIG]; + T_ACI_TOA toa; + T_ACI_PB_TEXT alpha; + UBYTE vp_rel; + T_ACI_VP_ABS scts; + T_ACI_VP_ENH vp_enh; + UBYTE fo; + UBYTE msg_ref; + UBYTE pid; + UBYTE dcs; + T_ACI_SM_DATA data; + T_ACI_UDH_DATA udh; + CHAR sca[MAX_SMS_ADDR_DIG]; + T_ACI_TOA tosca; + UBYTE tp_status; +} +T_ACI_CMGL_SM; + +typedef T_ACI_CMGL_SM T_ACI_CMGL_SM_LST [MAX_SM_ENTR]; + +typedef struct +{ + T_ACI_SMS_STAT stat; + USHORT sn; + USHORT mid; + UBYTE dcs; + UBYTE page; + UBYTE pages; + T_ACI_CBM_DATA data; +} +T_ACI_CMGR_CBM; + +typedef struct +{ + T_ACI_SMS_STAT stat; + CHAR addr[MAX_SMS_ADDR_DIG]; + T_ACI_TOA toa; + CHAR sca[MAX_SMS_ADDR_DIG]; + T_ACI_TOA tosca; + T_ACI_PB_TEXT alpha; + UBYTE vprel; + T_ACI_VP_ABS vpabs_scts; + UBYTE fo; + UBYTE msg_ref; + UBYTE pid; + UBYTE dcs; + T_ACI_SM_DATA data; + T_ACI_UDH_DATA udh; +} +T_ACI_CMGR_SM; + +typedef struct +{ + UBYTE fo; + UBYTE msg_ref; + CHAR addr[MAX_SMS_ADDR_DIG]; + T_ACI_TOA toa; + T_ACI_VP_ABS vpabs_scts; + T_ACI_VP_ABS vpabs_dt; + UBYTE tp_status; +} +T_ACI_CDS_SM; + +typedef struct +{ + T_ACI_SMS_STOR mem; + SHORT used; + SHORT total; +} +T_ACI_SMS_STOR_OCC; + + +/*--------------- new function types for concat. SMS ---------*/ + +typedef void T_CMSS_FCT ( UBYTE mr, + UBYTE numSeg ); + +typedef void T_CMGS_FCT ( UBYTE mr, + UBYTE numSeg ); + +typedef void T_CMGC_FCT ( UBYTE mr ); + +typedef void T_CMGR_FCT ( T_ACI_CMGL_SM* sm, + T_ACI_CMGR_CBM* cbm ); + +typedef void T_CMGW_FCT ( UBYTE index, + UBYTE numSeg ); + +typedef void T_CMGD_FCT ( ); + +typedef void T_CMGMDU_FCT (void); + +typedef void T_ERROR_FCT (T_ACI_AT_CMD cmdId, + T_ACI_CMS_ERR err, + T_EXT_CMS_ERROR *conc_error ); + + +/*--- WS46 --------------------------------------------------------*/ + +typedef enum +{ + WS46_MOD_NotPresent = -1, + WS46_MOD_Gsm = 12 +} +T_ACI_WS46_MOD; + +/*--- +/%CHLD command -----------------------------------------------*/ + +typedef enum +{ + CHLD_MOD_NotPresent = -1, + CHLD_MOD_RelHldOrUdub, /* Entering 0 followed by SEND */ + CHLD_MOD_RelActAndAcpt, /* Entering 1 followed by SEND */ + CHLD_MOD_RelActSpec, /* Entering 1X followed by SEND */ + CHLD_MOD_HldActAndAcpt, /* Entering 2 followed by SEND */ + CHLD_MOD_HldActExc, /* Entering 2X followed by SEND */ + CHLD_MOD_AddHld, /* Entering 3 followed by SEND */ + CHLD_MOD_Ect, /* Entering 4 followed by SEND */ + CHLD_MOD_Ccbs, /* Entering 5 followed by SEND */ + CHLD_MOD_HldActDial, /* Entering "Directory number" */ + CHLD_MOD_OnlyHold = 99, /* special for FTA: AT+CHLD=H */ + CHLD_MOD_RelDialCall, /* special AT+CHLD=I */ + CHLD_MOD_RetrieveHoldCall, /* special for %CHLD=6 (Symbian/S60) */ + CHLD_MOD_RetrieveHoldCallSpec, /* special for %CHLD=6x (Symbian/S60) */ + CHLD_MOD_RelAnySpec /* special for %CHLD=7x */ +} +T_ACI_CHLD_MOD; + +typedef enum +{ + CHLD_PercentCmd = 0, + CHLD_PlusCmd +} +T_ACI_CHLD_CMD; + +typedef enum +{ + CHLD_ACT_NotPresent = -1, + CHLD_ACT_Accept, + CHLD_ACT_Release, + CHLD_ACT_Hold, + CHLD_ACT_Retrieve, + CHLD_ACT_Swap, + CHLD_ACT_ReleaseMpty, + CHLD_ACT_HoldMpty, + CHLD_ACT_RetrieveMpty, + CHLD_ACT_SwapMpty, + CHLD_ACT_BuildMpty, + CHLD_ACT_SplitMpty, + CHLD_ACT_ECT, + CHLD_ACT_CCBS +} +T_ACI_CHLD_ACT; + +/*---- +IPR ------------------------------------------------------*/ +typedef enum /* +IPR parameter <rate> */ +{ + BD_RATE_NotPresent = -1, + BD_RATE_AUTO = 0, + BD_RATE_75 = 1, + BD_RATE_150, + BD_RATE_300, + BD_RATE_600, + BD_RATE_1200, + BD_RATE_2400, + BD_RATE_4800, + BD_RATE_7200, + BD_RATE_9600, + BD_RATE_14400, + BD_RATE_19200, + BD_RATE_28800, + BD_RATE_33900, + BD_RATE_38400, + BD_RATE_57600, + BD_RATE_115200, + BD_RATE_203125, + BD_RATE_406250, + BD_RATE_812500 +} +T_ACI_BD_RATE; + +/*---- +ICF ------------------------------------------------------*/ +typedef enum /* +ICF parameter <format> */ +{ + BS_FRM_NotPresent = -1, + /*BS_FRM_AutoDetect,*/ /* not supported */ + BS_FRM_Dat8_Par0_St2 = 1, + BS_FRM_Dat8_Par1_St1, + BS_FRM_Dat8_Par0_St1, + BS_FRM_Dat7_Par0_St2, + BS_FRM_Dat7_Par1_St1, + BS_FRM_Dat7_Par0_St1 +} +T_ACI_BS_FRM; + +typedef enum /* +ICF parameter <parity> */ +{ + BS_PAR_NotPresent = -1, + BS_PAR_Odd, + BS_PAR_Even, + BS_PAR_Mark, + BS_PAR_Space +} +T_ACI_BS_PAR; + +/*---- +IFC ------------------------------------------------------*/ +typedef enum /* +IFC parameter <DCE_by_DTE> */ +{ + RX_FLOW_NotPresent = -1, + RX_FLOW_NONE, + RX_FLOW_SOFTWARE, + RX_FLOW_HARDWARE +} +T_ACI_RX_FLOW_CTRL; + +typedef enum /* +IFC parameter <DTE_by_DCE> */ +{ + TX_FLOW_NotPresent = -1, + TX_FLOW_NONE, + TX_FLOW_SOFTWARE, + TX_FLOW_HARDWARE +} +T_ACI_TX_FLOW_CTRL; + +/*--- +CRSM -------------------------------------------------------*/ + +typedef enum /* +CRSM parameter <cmd> */ +{ + CRSM_CMD_NotPresent = -1, + CRSM_CMD_ReadBin = 176, + CRSM_CMD_ReadRec = 178, + CRSM_CMD_GetResp = 192, + CRSM_CMD_UpdBin = 214, + CRSM_CMD_UpdRec = 220, + CRSM_CMD_Status = 242 +} +T_ACI_CRSM_CMD; + +/*--- +CSIM -------------------------------------------------------*/ + +/*--- +CCWV -------------------------------------------------------*/ + +typedef enum /* +CCWV parameter <chrg> */ +{ + CCWV_CHRG_NotPresent = -1, + CCWV_CHRG_Termination, + CCWV_CHRG_Abundance, + CCWV_CHRG_Shortage +} +T_ACI_CCWV_CHRG; + +/*---- &C ---------------------------------------------------------*/ +typedef enum /* data carrier detect modes */ +{ + DCD_ALWAYS_ON = 0, /* DCD line always on */ + DCD_DISABLE_AFTER_CALL /* disable DCD line at end of call */ +} T_ACI_DCD_MOD; + +/*--- %CAL --------------------------------------------------------*/ + +typedef enum /* Status of current calls */ +{ + CAL_STAT_NotPresent = -1, + CAL_STAT_Held, + CAL_STAT_Active, + CAL_STAT_Wait, + CAL_STAT_Dial, + CAL_STAT_DeactiveReq, + CAL_STAT_Incomming, + CAL_STAT_Alerting +} +T_ACI_CAL_STAT; + +typedef enum /* Type of current calls */ +{ + CAL_TYPE_NotPresent = -1, + CAL_TYPE_MOC, + CAL_TYPE_MTC +} +T_ACI_CAL_TYPE; + +typedef enum /* in-band tones usage */ +{ + CAL_IBT_NotPresent = -1, + CAL_IBT_FALSE, + CAL_IBT_TRUE +} +T_ACI_CAL_IBT; + +typedef enum /* mode of current calls */ +{ + CAL_MODE_NotPresent = -1, + CAL_MODE_Voice, + CAL_MODE_Data, + CAL_MODE_Fax, + CAL_MODE_VFD_Voice, /* voice followed data, voice mode */ + CAL_MODE_VAD_Voice, /* voice alternating data, voice mode */ + CAL_MODE_VAF_Voice, /* voice alternating fax, voice mode */ + CAL_MODE_VFD_Data, /* voice followed data, voice mode */ + CAL_MODE_VAD_Data, /* voice alternating data, voice mode */ + CAL_MODE_VAF_Fax, /* voice alternating fax, voice mode */ + CAL_MODE_Unknown +} +T_ACI_CAL_MODE; + +typedef enum /* call owner */ +{ + CAL_OWN_NotPresent = -1, + CAL_OWN_LCL, /* local call */ + CAL_OWN_RMT, /* remote call */ + CAL_OWN_NONE +} +T_ACI_CAL_OWN; + +typedef enum +{ + CAL_MPTY_NotPresent = -1, + CAL_MPTY_NoMember, + CAL_MPTY_IsMember +} +T_ACI_CAL_MPTY; + +typedef struct /* Call table entry */ +{ + SHORT index; + T_ACI_CAL_STAT status; + CHAR number[MAX_CC_ORIG_NUM_LEN]; + T_ACI_TOA type; +#ifdef NO_ASCIIZ + T_ACI_PB_TEXT alpha; +#else + CHAR alpha[MAX_ALPHA_LEN]; +#endif /* else, #ifdef NO_ASCIIZ */ + T_ACI_CAL_TYPE calType; + T_ACI_CAL_IBT ibtUse; + T_ACI_CAL_MODE calMode; + T_ACI_CAL_OWN calOwner; + T_ACI_CAL_MPTY mpty; +} +T_ACI_CAL_ENTR; + + /*List of current calls*/ +typedef T_ACI_CAL_ENTR T_ACI_CAL_LST [MAX_CALL_NR]; + +/*---- %DRV --------------------------------------------------------*/ +typedef enum /* DRV parameter <device> */ +{ + DRV_DEV_Keypad, + DRV_DEV_Audio, + DRV_DEV_Backlight, + DRV_DEV_Display +} +T_ACI_DRV_DEV; + +typedef enum /* DRV parameter <function> */ +{ + DRV_FCT_KeypadInd, + DRV_FCT_AudioInputReq, + DRV_FCT_AudioOutputReq, + DRV_FCT_BacklightReq, + DRV_FCT_DisplayReq +} +T_ACI_DRV_FCT; + +/*---- %NRG --------------------------------------------------------*/ +typedef enum /* NRG parameter <regMode> */ +{ + NRG_RGMD_NotPresent = -1, + NRG_RGMD_Auto, + NRG_RGMD_Manual, + NRG_RGMD_Dereg, /* not yet implemented */ + NRG_RGMD_SetOnly, /* not yet implemented */ + NRG_RGMD_Both +} +T_ACI_NRG_RGMD; + +typedef enum /* NRG parameter <srvMode> */ +{ + NRG_SVMD_NotPresent = -1, + NRG_SVMD_Full, + NRG_SVMD_Limited, + NRG_SVMD_NoSrv, + NRG_SVMD_SetRegModeOnly +} +T_ACI_NRG_SVMD; + +typedef enum /* +COPS parameter <format> */ +{ + NRG_FRMT_NotPresent = -1, + NRG_FRMT_Long, + NRG_FRMT_Short, + NRG_FRMT_Numeric +} +T_ACI_NRG_FRMT; + +/*---- %COLR ------------------------------------------------------*/ + +typedef enum /* %COLR parameter <stat> */ +{ + COLR_STAT_NotPresent = -1, + COLR_STAT_NotProv, + COLR_STAT_Prov, + COLR_STAT_Unknown +} +T_ACI_COLR_STAT; + +/*---- %PVRF -------------------------------------------------------*/ + +typedef enum /* %PVRF parameter <type> */ +{ + PVRF_TYPE_NotPresent = -1, + PVRF_TYPE_Pin1, + PVRF_TYPE_Pin2, + PVRF_TYPE_Puk1, + PVRF_TYPE_Puk2 +} +T_ACI_PVRF_TYPE; + +typedef enum /* %PVRF parameter <ps1> and <ps2> */ +{ + PVRF_STAT_NotPresent = -1, + PVRF_STAT_NotRequired, + PVRF_STAT_Required +} +T_ACI_PVRF_STAT; + +/*---- %EFRSLT ----------------------------------------------------*/ + +typedef enum +{ + EFRSLT_RES_FAIL, + EFRSLT_RES_OK +} +T_ACI_EFRSLT_RES; + +/*---- %SIMEF -----------------------------------------------------*/ + +typedef enum +{ + SIMEF_MODE_OFF, + SIMEF_MODE_ON +} +T_ACI_SIMEF_MODE; + +/*---- %KSIR ------------------------------------------------------*/ + +typedef struct +{ + UBYTE bsTp; + UBYTE bsCd; +} T_Cx_BSG; + +typedef struct +{ + UBYTE bsTp; + UBYTE bsCd; + UBYTE ssSt; +} T_CB_INFO; + +typedef struct +{ + UBYTE bsTp; + UBYTE bsCd; + UBYTE ssSt; + UBYTE num[MAX_B_SUBSCR_NUM_LEN]; + UBYTE ton; + UBYTE npi; + UBYTE sub[MAX_SUBADDR_LEN]; + UBYTE tos; + UBYTE oe; + UBYTE time; +} T_CF_FEAT; /* Call Forwarding FEATure */ + +typedef struct +{ + UBYTE bsTp; + UBYTE bsCd; + UBYTE ssSt; + UBYTE num[MAX_B_SUBSCR_NUM_LEN]; + UBYTE ton; + UBYTE npi; + UBYTE sub[MAX_SUBADDR_LEN]; + UBYTE tos; + UBYTE oe; + UBYTE idx; +} T_CC_FEAT; /* CCbs FEATure */ + +typedef struct +{ + UBYTE tac1; + UBYTE tac2; + UBYTE tac3; + UBYTE fac; + UBYTE snr1; + UBYTE snr2; + UBYTE snr3; + UBYTE svn; + UBYTE cd; +} T_ACI_IMEI; + +typedef struct +{ + T_ACI_KSD_CMD ksdCmd; + /* + ** CQ12314 : NDH : 23/9/2003 : + ** Required by MMI to determine what action to take in case when AT command used on Terminal. + ** (eg Display Call Forwarding Icon) + */ + T_ACI_CMD_SRC srcId; + union + { + struct { UBYTE opCd; + UBYTE ssCd; + UBYTE ssErr; + UBYTE ssSt; + T_ACI_CLIR_MOD mode; /* "mode" is used only for AT_Interpreter */ + UBYTE clirOpt; + UBYTE ovrdCtg; } rKSCL; + struct { UBYTE opCd; + UBYTE ssCd; + UBYTE ssErr; + UBYTE ssSt; + UBYTE c_cwBSGLst; + T_Cx_BSG *cwBSGLst; } rKSCW; + struct { UBYTE opCd; + UBYTE ssCd; + UBYTE ssErr; + UBYTE c_cfFeatLst; + T_CF_FEAT *cfFeatLst; } rKSCF; + struct { UBYTE opCd; + UBYTE ssCd; + UBYTE ssErr; + UBYTE c_cbInfoLst; + T_CB_INFO *cbInfoLst; } rKSCB; + struct { UBYTE opCd; + UBYTE ssCd; + UBYTE ssErr; + UBYTE errPrms; + UBYTE newPwd[MAX_PWD_NUM+1]; } rKSPW; + struct { UBYTE *ussd; + UBYTE ssErr; + UBYTE len; /*store the USSD string len due to possible unicode string*/ + SHORT dcs; /* "dcs" and "mode" are used only for AT_Interpreter */ + T_ACI_CUSD_MOD mode; } rKSUS; + T_ACI_IMEI rKSIMEI; + struct { UBYTE opCd; + UBYTE ssCd; + UBYTE ssErr; + UBYTE ssSt; + UBYTE c_ccFeatLst; + T_CC_FEAT *ccFeatLst; } rKSCC; + } ir; +} T_ACI_KSIR; + +/* %CSQ parameter */ +typedef enum +{ + CSQ_Disable = 0, + CSQ_Enable = 1 +} +T_ACI_CSQ_MODE; + + + +/*---- %CHPL------------------------------------------------------*/ + +typedef enum +{ + CHPL_FRMT_NotPresent = -1, + CHPL_FRMT_Long, + CHPL_FRMT_Short, + CHPL_FRMT_Numeric +} T_ACI_CHPL_FRMT; + +/*---- %CWUP------------------------------------------------------*/ + +typedef enum +{ + CWUP_TYPE_NotPresent = -1, + CWUP_TYPE_RR = 1 +} T_ACI_CWUP_TYPE; + +/*---- %CLOG ------------------------------------------------------*/ + +typedef enum +{ + CLOG_TYPE_NotPresent = -1, + CLOG_TYPE_Set, + CLOG_TYPE_Query, + CLOG_TYPE_Test +} +T_ACI_CLOG_TYPE; + +typedef struct /* %CLOG parameter */ +{ + T_ACI_AT_CMD atCmd; + T_ACI_CLOG_TYPE cmdType; + T_ACI_RETURN retCode; + SHORT cId; + SHORT sId; + union + { + struct { T_ACI_CMD_SRC srcId; + T_ACI_CFUN_FUN fun; + T_ACI_CFUN_RST rst; } sCFUN; + struct { T_ACI_CMD_SRC srcId; + CHAR *pin; + CHAR *newpin; } sCPIN; + struct { T_ACI_CMD_SRC srcId; + T_ACI_COPS_MOD mode; + T_ACI_COPS_FRMT format; + CHAR *oper; } sCOPS; + struct { T_ACI_CMD_SRC srcId; + SHORT startIdx; + SHORT *lastIdx; + T_ACI_COPS_OPDESC *operLst; } tCOPS; + struct { T_ACI_CMD_SRC srcId; + T_ACI_CLIP_STAT *stat; } qCLIP; + struct { T_ACI_CMD_SRC srcId; + T_ACI_CLIR_MOD *mode; + T_ACI_CLIR_STAT *stat; } qCLIR; + struct { T_ACI_CMD_SRC srcId; + T_ACI_COLP_STAT *stat; } qCOLP; + struct { T_ACI_CMD_SRC srcId; + CHAR *number; + T_ACI_D_CLIR_OVRD clirOvrd; + T_ACI_D_CUG_CTRL cugCtrl; + T_ACI_D_TOC callType; +#ifdef SIM_TOOLKIT + T_ACI_D_SIMCC simCallCtrl; +#endif /* SIM_TOOLKIT */ + } sD; + struct { T_ACI_CMD_SRC srcId; } sA; + struct { T_ACI_CMD_SRC srcId; } sH; + struct { T_ACI_CMD_SRC srcId; } sZ; + struct { T_ACI_CMD_SRC srcId; } sCHUP; + struct { T_ACI_CMD_SRC srcId; + T_ACI_CLCK_FAC fac; + T_ACI_CLCK_MOD mode; + CHAR *passwd; + T_ACI_CLASS class_type; } sCLCK; + struct { T_ACI_CMD_SRC srcId; + T_ACI_CLCK_FAC fac; + T_ACI_CLASS class_type; } qCLCK; + struct { T_ACI_CMD_SRC srcId; + T_ACI_CPWD_FAC fac; + CHAR *oldpwd; + CHAR *newpwd; } sCPWD; + struct { T_ACI_CMD_SRC srcId; + T_ACI_CCFC_RSN reason; + T_ACI_CCFC_MOD mode; + CHAR *number; + T_ACI_TOA *type; + T_ACI_CLASS class_type; + CHAR *subaddr; + T_ACI_TOS *satype; + SHORT time; } sCCFC; + struct { T_ACI_CMD_SRC srcId; + T_ACI_CCFC_RSN reason; + T_ACI_CLASS class_type; } qCCFC; + struct { T_ACI_CMD_SRC srcId; + CHAR *number; + T_ACI_TOA *type; + CHAR *subaddr; + T_ACI_TOS *satype; } sCTFR; + struct { T_ACI_CMD_SRC srcId; + T_ACI_CCWA_MOD mode; + T_ACI_CLASS class_type; } sCCWA; + struct { T_ACI_CMD_SRC srcId; + T_ACI_CLASS class_type; } qCCWA; + struct { T_ACI_CMD_SRC srcId; + T_ACI_CHLD_MOD mode; + CHAR *call; + T_ACI_CHLD_ACT act; } sCHLD; + struct { T_ACI_CMD_SRC srcId; + T_ACI_USSD_DATA *str; + SHORT dcs; } sCUSD; + struct { T_ACI_CMD_SRC srcId; + T_ACI_NRG_RGMD regMode; + T_ACI_NRG_SVMD srvMode; + T_ACI_NRG_FRMT oprFrmt; + CHAR *opr; } sNRG; + struct { T_ACI_CMD_SRC srcId; + T_ACI_COLR_STAT *stat; } qCOLR; + struct { T_ACI_CMD_SRC srcId; + SHORT idx; } sCCBS; + struct { T_ACI_CMD_SRC srcId; } qCCBS; + struct { T_ACI_CMD_SRC srcId; + UBYTE index; } sCMGD; + struct { T_ACI_CMD_SRC srcId; + SHORT index; + CHAR *address; + T_ACI_TOA *toa; + T_ACI_SMS_STAT stat; + CHAR *data; } sCMGW; + struct { T_ACI_CMD_SRC srcId; + T_ACI_CSMS_SERV service; } sCSMS; + struct { T_ACI_CMD_SRC srcId; + T_ACI_SMS_STOR mem1; + T_ACI_SMS_STOR mem2; + T_ACI_SMS_STOR mem3; } sCPMS; + struct { T_ACI_CMD_SRC srcId; + T_ACI_CMGF_MOD mode; } sCMGF; + struct { T_ACI_CMD_SRC srcId; + T_ACI_CMGF_MOD *mode; } qCMGF; + struct { T_ACI_CMD_SRC srcId; + T_ACI_CSCB_MOD mode; + USHORT *mids; + UBYTE *dcss; } sCSCB; + struct { T_ACI_CMD_SRC srcId; + CHAR *da; + T_ACI_TOA *toda; + CHAR *data; } sCMGS; + struct { T_ACI_CMD_SRC srcId; + UBYTE index; + CHAR *da; + T_ACI_TOA *toda; } sCMSS; + struct { T_ACI_CMD_SRC srcId; + SHORT fo; + SHORT ct; + SHORT pid; + SHORT mn; + CHAR *da; + T_ACI_TOA *toda; + CHAR *data; } sCMGC; + struct { T_ACI_CMD_SRC srcId; + UBYTE opCd; + UBYTE ssCd; + UBYTE bsTp; + UBYTE bsCd; + UBYTE *num; + UBYTE npi; + UBYTE ton; + UBYTE *sub; + UBYTE tos; + UBYTE oe; + UBYTE time; } sKSCF; + struct { T_ACI_CMD_SRC srcId; + UBYTE opCd; + UBYTE ssCd; + UBYTE bsTp; + UBYTE bsCd; + UBYTE *pwd; } sKSCB; + struct { T_ACI_CMD_SRC srcId; + UBYTE opCd; + UBYTE bsTp; + UBYTE bsCd; } sKSCW; + struct { T_ACI_CMD_SRC srcId; + UBYTE opCd; + UBYTE ssCd; } sKSCL; + struct { T_ACI_CMD_SRC srcId; + UBYTE opCd; + UBYTE ssCd; + UBYTE idx; } sKSCC; + struct { T_ACI_CMD_SRC srcId; + UBYTE ssCd; + UBYTE *oldPwd; + UBYTE *newPwd; } sKSPW; + struct { T_ACI_CMD_SRC srcId; + UBYTE ssCd; + UBYTE *puk; + UBYTE *pin; } sKSUB; + struct { T_ACI_CMD_SRC srcId; + UBYTE *ussd; } sKSUS; + struct { T_ACI_CMD_SRC srcId; + T_ACI_PVRF_TYPE type; + CHAR *pin; + CHAR *newpin; } sPVRF; + struct { T_ACI_CMD_SRC srcId; + T_ACI_CHPL_FRMT format; + CHAR *oper; } sCHPL; + + } cmdPrm; +} +T_ACI_CLOG; + +/*---- %RLOG ------------------------------------------------------*/ +typedef enum +{ + RLOG_RSLT_NotPresent = -1, + RLOG_RSLT_OK, + RLOG_RSLT_NoCarrier, + RLOG_RSLT_Connect, + RLOG_RSLT_Busy, + RLOG_RSLT_NoAnswer, + RLOG_RSLT_CME +} T_ACI_RLOG_RSLT; + + +typedef struct /* %CLOG parameter */ +{ + T_ACI_RLOG_RSLT atRslt; + T_ACI_CMD_SRC dest; + union + { + struct { T_ACI_AT_CMD cmdId; + SHORT cId; } rOK; + struct { T_ACI_AT_CMD cmdId; + SHORT cId; } rNO_CARRIER; + struct { T_ACI_AT_CMD cmdId; + T_ACI_BS_SPEED speed; + SHORT cId; } rCONNECT; + struct { T_ACI_AT_CMD cmdId; + SHORT cId; } rBUSY; + struct { T_ACI_AT_CMD cmdId; + SHORT cId; } rNO_ANSWER; + struct { T_ACI_AT_CMD cmdId; + T_ACI_CME_ERR err; + SHORT cId; } rCME; + } rsltPrm; +} +T_ACI_RLOG; + +/*---- %CPI ------------------------------------------------------*/ + +typedef enum /* %CPI parameter <msg> */ +{ + CPI_MSG_NotPresent = -1, + CPI_MSG_Setup, + CPI_MSG_Disc, + CPI_MSG_Alert, + CPI_MSG_Proc, + CPI_MSG_Sync, + CPI_MSG_Progr, + CPI_MSG_Conn, + CPI_MSG_Rls, + CPI_MSG_Rjct, + CPI_MSG_MO_Setup, + CPI_MSG_Hld +} +T_ACI_CPI_MSG; + +typedef enum /* %CPI parameter <ibt> */ +{ + CPI_IBT_NotPresent = -1, + CPI_IBT_False, + CPI_IBT_True +} +T_ACI_CPI_IBT; + +typedef enum /* %CPI parameter <tch> */ +{ + CPI_TCH_NotPresent = -1, + CPI_TCH_False, + CPI_TCH_True +} +T_ACI_CPI_TCH; + +/*---- %CSTAT ----------------------------------------------------*/ + +typedef enum +{ + /* + * New enum values needs to be added + * before the MAX_ENTITIES entry. + * + */ + STATE_MSG_PBOOK = 0, + STATE_MSG_SMS, + STATE_MSG_EONS, + STATE_MSG_MAX_ENTITIES, + STATE_MSG_RDY = 255 +} +T_ACI_ENTITY_ID_MSG; + +typedef enum +{ + ENTITY_STATUS_NotReady = 0, + ENTITY_STATUS_Ready = 1 +} +T_ACI_ENTITY_STATE_MSG; + + +typedef struct /* %CSTAT parameter <msg> */ +{ + T_ACI_ENTITY_ID_MSG entityId; + T_ACI_ENTITY_STATE_MSG entityState; +} +T_ACI_STATE_MSG; + + +/*---- %PBCF ------------------------------------------------------*/ + +typedef enum /* %PBCF parameter <ldn> */ +{ + PBCF_LDN_NotPresent = -1, + PBCF_LDN_Enable, + PBCF_LDN_Disable +} +T_ACI_PBCF_LDN; + +typedef enum /* %PBCF parameter <lrn> */ +{ + PBCF_LRN_NotPresent = -1, + PBCF_LRN_Enable, + PBCF_LRN_Disable +} +T_ACI_PBCF_LRN; + +typedef enum /* %PBCF parameter <lmn> */ +{ + PBCF_LMN_NotPresent = -1, + PBCF_LMN_Enable, + PBCF_LMN_Disable +} +T_ACI_PBCF_LMN; +/*---- %RPCT ------------------------------------------------------*/ + +typedef struct /* %RPCT parameter <rpuct> */ +{ + UBYTE currency [MAX_CUR_LEN]; + ULONG eppu; + ULONG exp; + ULONG sexp; +} +T_ACI_RPCT_VAL; + +/*---- %SATT ------------------------------------------------------*/ + +typedef enum /* %SATT parameter <cause> */ +{ + SATT_CS_NotPresent = -1, + SATT_CS_UserRedialStop, + SATT_CS_EndRedial, + SATT_CS_EndSession +} +T_ACI_SATT_CS; + +/*---- %CCBS ------------------------------------------------------*/ + +typedef enum /* %CCBS parameter <ind> */ +{ + CCBS_IND_NotPresent = -1, + CCBS_IND_PossibilityTimedOut, + CCBS_IND_Possible, + CCBS_IND_Registered, + CCBS_IND_Recall, + CCBS_IND_RecallTimedOut, + CCBS_IND_IrgtResult +} +T_ACI_CCBS_IND; + +typedef enum /* %CCBS parameter <status> */ +{ + CCBS_STAT_NotPresent = -1, + CCBS_STAT_NotProvisioned, + CCBS_STAT_Provisioned, + CCBS_STAT_Active +} +T_ACI_CCBS_STAT; + + +typedef struct +{ + SHORT idx; + CHAR number[MAX_B_SUBSCR_NUM_LEN]; + T_ACI_TOA type; + CHAR subaddr[MAX_SUBADDR_LEN]; + T_ACI_TOS satype; + T_ACI_CLASS class_type; + T_ACI_ALRT_PTRN alrtPtn; +} +T_ACI_CCBS_SET; + +/*---- Phonebook Management ---------------------------------------*/ + +typedef enum +{ + PB_STAT_Ready = 0, /* Phonebook ready */ +#ifdef TI_PS_FFS_PHB + PB_STAT_Busy, /* Phonebook temporarily not available */ +#endif + PB_STAT_Blocked /* Phonebook not available */ +} +T_ACI_PB_STAT; + +typedef enum /* phonebook storage */ +{ + PB_STOR_NotPresent = -1, + PB_STOR_Fd, + PB_STOR_Ld, + PB_STOR_Ed, + PB_STOR_Ad, + PB_STOR_Bd, + PB_STOR_Lr, + PB_STOR_Sd, + PB_STOR_Lm, + PB_STOR_Af, + PB_STOR_Ud /* user person number */ +} +T_ACI_PB_STOR; + +typedef struct +{ + char *name; + T_ACI_PB_STOR stor; +} Memory; + +#ifdef CMH_PHBS_C +GLOBAL const Memory phb_mem_names[] = +{ + {"FD", PB_STOR_Fd}, + {"DC", PB_STOR_Ld}, /* 07.07 common name for LDN */ + {"LD", PB_STOR_Ld}, /* does not reflect the SIM LDN since it is only written to SIM on CFUN=0 */ + {"RC", PB_STOR_Lr}, /* 07.07 */ + {"LR", PB_STOR_Lr}, /* TI equivalent */ + {"EN", PB_STOR_Ed}, + {"BD", PB_STOR_Bd}, + {"MT", PB_STOR_Ad}, /* 07.07 */ + {"AD", PB_STOR_Ad}, /* TI equivalent */ + {"SM", PB_STOR_Ad}, /* 07.07 SIM phonebook */ + {"SD", PB_STOR_Sd}, + {"MC", PB_STOR_Lm}, /* 07.07 */ + {"LM", PB_STOR_Lm}, /* TI equivalent */ + {"AF", PB_STOR_Af}, + {"ON", PB_STOR_Ud}, /* 07.07 */ + {"UD", PB_STOR_Ud}, /* TI equivalent */ +/* right now not available + {"ME", PB_STOR_??}, 07.07 ME phonebook + {"TA", PB_STOR_??}, 07.07 TA phonebook +*/ + {0,0} +}; +#else +EXTERN const Memory phb_mem_names[]; +#endif + + +typedef struct +{ + T_ACI_PB_STOR book; + SHORT index; + CHAR number[MAX_PHB_NUM_LEN]; + T_ACI_TOA type; + T_ACI_PB_TEXT text; + T_ACI_VP_ABS dateTime; + UBYTE line; +} +T_ACI_PB_ENTR; + +typedef T_ACI_PB_ENTR T_ACI_PB_LST [MAX_PB_ENTR]; + +typedef enum +{ + CPBF_MOD_NewSearch = 0, + CPBF_MOD_NextSearch +} +T_ACI_CPBF_MOD; + +/*---- %ALS --------------------------------------------------*/ +typedef enum /* %ALS parameter <mod> bit_field*/ +{ + ALS_MOD_NOTPRESENT = 0, + ALS_MOD_SPEECH = 1, + ALS_MOD_AUX_SPEECH = 2 +} T_ACI_ALS_MOD; + +/*---- %BAND --------------------------------------------------*/ + +typedef enum +{ + BAND_MODE_Auto = 0, + BAND_MODE_Manual = 1 +} +T_ACI_BAND_MODE; + +/*---- %DINF --------------------------------------------------*/ +typedef enum +{ + ATI_DEV_ID_NONE = -1, /* non valid device Id */ + ATI_DEV_ID_UART, /* UART device */ + ATI_DEV_ID_RIV_APP, /* Rivera Application */ + ATI_DEV_ID_PKTIO, /* packet I/O device */ + ATI_DEV_ID_PSI /* psi device */ +} T_DEV_ID; + +typedef struct +{ + T_DEV_ID dev_id; /* id(name) of device */ + UBYTE dev_no; /* instance of device */ + UBYTE sub_no; /* instance with multiplexed ch. */ + UBYTE capability; /* capability of device */ + UBYTE src_id; /* what ACI sees as AT cmd src */ + UBYTE cur_cap; /* capability of the DTI channel */ +}T_DINF_PARAM; + +/*---- +CTZR --------------------------------------------------*/ +typedef enum +{ + CTZR_MODE_OFF = 0, + CTZR_MODE_ON +} T_ACI_CTZR_MODE; + +/*---- +CTZU --------------------------------------------------*/ +typedef enum +{ + CTZU_MODE_OFF = 0, + CTZU_MODE_ON +} T_ACI_CTZU_MODE; + +/*---- +CCLK --------------------------------------------------*/ + typedef enum +{ + TIME_FORMAT_12HOUR, + TIME_FORMAT_24HOUR +} T_ACI_RTC_TIME_FORMAT; + +typedef struct { + UBYTE day; + UBYTE month; + USHORT year; +} T_ACI_RTC_DATE; + + +typedef struct +{ UBYTE minute; + UBYTE hour; + UBYTE second; + T_ACI_RTC_TIME_FORMAT format; + BOOL PM_flag; +} T_ACI_RTC_TIME; + +/*---- %CTZV --------------------------------------------------*/ +typedef enum +{ + PCTZV_MODE_OFF = 0, + PCTZV_MODE_ON +} T_ACI_PCTZV_MODE; + + +/*---- %CNIV --------------------------------------------------*/ +typedef enum +{ + CNIV_MODE_OFF = 0, + CNIV_MODE_ON +} T_ACI_CNIV_MODE; + +/*********************************************************************/ +/******************* CPHS Module *************************************/ +/*********************************************************************/ +#ifdef FF_CPHS + +typedef enum +{ + ACI_CPHS_CLOSE = 0, + ACI_CPHS_INIT, + ACI_CPHS_REFRESH, + ACI_CPHS_BUSY + +} T_ACI_CPHS_INIT; + +#endif /* FF_CPHS */ + + +#if defined FF_WAP || defined GPRS || defined (FF_SAT_E) +/*==== WAP typedefs =================================================*/ + +typedef enum +{ + A_NO_AUTH = 0, /* No authentification (ignore login + pwd) */ + A_PAP, /* PAP */ + A_CHAP, /* CHAP */ + A_AUTO_AUTH /* automatic authentification */ +} T_ACI_PPP_PROT; + +typedef enum +{ + USE_NO_PPP_FOR_AAA = 0, /* connect AAA-L2R */ + USE_PPP_FOR_AAA /* connect AAA-PPP-L2R */ +} T_ACI_PPP_CON; + +#endif /*WAP or GPRS */ + +/*==== EM typedefs =================================================*/ +#ifdef FF_EM_MODE +typedef enum +{ + EM_NOT_SUP = -1, + EM_AT_SC = 1, + EM_AT_SC_GPRS, + EM_AT_NC, + EM_AT_LOC_PAG, + EM_AT_PLMN, + EM_AT_CIPH_HOP_DTX, + EM_AT_POWER, + EM_AT_ID, + EM_AT_VER, + EM_AT_GMM, /*for GMM Info Req*/ + EM_AT_GRLC, /*for GRLC Info Req*/ + EM_AT_AMR, + EM_AT_PDP, + + /*This defines a (value+1) if all bits in the bitmap are set to request EM data*/ + /*2^19 - This is the actual (value + 1) the EMW is sending*/ + EM_AT_PCO_HIGHEST = 524288 + + /*2^12 - This is the value of EM - data that is actual supported by the PS*/ + /*EM_AT_PCO_HIGHEST = 2 * EM_PCO_GRLC_INFO*/ +} T_EM_AT_TYPE; + +typedef enum +{ + DIS_AUTO_REP = 0, + EN_AUTO_REP = 1, + SIN_REP = 2, + PCO_REP = 3 /*enable/disable PCO-trace*/ +} T_EM_AT_MODE; + +typedef struct +{ + UBYTE em_utype; + union { + T_EM_SC_INFO_CNF em_sc_val; + T_EM_SC_GPRS_INFO_CNF em_sc_gprs_val; + T_EM_NC_INFO_CNF em_nc_val; + T_EM_LOC_PAG_INFO_CNF em_loc_val; + T_EM_PLMN_INFO_CNF em_plmn_val; + T_EM_CIP_HOP_DTX_INFO_CNF em_cip_val; + T_EM_POWER_INFO_CNF em_power_val; + T_EM_IDENTITY_INFO_CNF em_id_val; + T_EM_SW_VER em_ver_val; + T_EM_GMM_INFO_CNF em_gmm_val; + T_EM_GRLC_INFO_CNF em_grlc_val; + T_EM_AMR_INFO_CNF em_amr_val; + } em_u; +} T_EM_VAL; + +#endif /* FF_EM_MODE */ + +#ifdef FF_SAT_E /* SIM_TOOLKIT */ +/*==== SAT typedefs =================================================*/ + +typedef enum +{ + SATC_DIS = 0, /* unsolicited SAT output disabled */ + SATC_ENA, /* standard unsolicited SAT output enabled */ + SATC_ENA_CL_E /* class E unsolicited SAT output enabled */ +} T_ACI_SATC_STAT; + +typedef enum +{ + SATA_CT_NO = 0, /* no channel type given */ + SATA_CT_VOICE, /* channel type voice */ + SATA_CT_CSD, /* channel type CSD */ + SATA_CT_GPRS /* channel type GPRS */ +} T_ACI_SATA_CHN; + +typedef enum +{ + SATA_EST_NO = 0, /* no establishment type given */ + SATA_EST_IM, /* immediate channel establishment */ + SATA_EST_OD /* on-demand channel establishment */ +} T_ACI_SATA_EST; + +typedef struct +{ + T_ACI_SATA_CHN chnType; + T_ACI_SATA_EST chnEst; +} +T_ACI_SATA_ADD; + +#endif /* FF_SAT_E */ + + +#ifdef FF_EOTD + +#define MAX_NUMB_LC_CLIENTS 5 +#define MAX_LC_SERV_NAME 24 +#define IMM_POS_DATA_REQ 0xff +#define MAX_POSITION_DATA 140 + +typedef enum +{ + LOCATION_SERVICE_OFF = 0, + LOCATION_SERVICE_ON +} FEATURE_LC_STAT; + +typedef enum +{ + PERIODIC_UPDATE_OFF = 0, + PERIODIC_UPDATE_ON +} FEATURE_LC_PER_STAT; + +typedef enum +{ + CLIENT_NO_ACTIVE = 0, + CLIENT_ACTIVE +} STATUS_LC_ACT; + +typedef enum +{ + PERIODIC_UP_NO_ACTIVE = 0, + PERIODIC_UP_ACTIVE +} STATUS_LC_PER_UP; + +typedef enum +{ + CLOM_LCS_UNKNOWN = -1, + CLOM_LCS_NO_ACT, + CLOM_LCS_ACT, + CLOM_LCS_CLIENT_DEL, + CLOM_LCS_CLIENT_NEW, + CLOM_LCS_SET_MAX +} CLOM_SETTINGS; + +typedef enum +{ + CLPS_LCS_UNKNOWN = -1, + CLPS_LCS_NO_ACT, + CLPS_LCS_ACT, + CLPS_LCS_SET_MAX +} CLPS_SETTINGS; + +typedef enum +{ + CLRS_NOTIFY_UNKNOWN = -1, + CLRS_NO_USER_NOTIFY, + CLRS_USER_NOTIFY, + CLRS_NOTIFY_SET_MAX +} CLRS_NOTIFY_SETTINGS; + +typedef enum +{ + CLRS_CONF_UNKNOWN = -1, + CLRS_NO_USER_CONFIRM, + CLRS_USER_CONFIRM, + CLRS_CONFIRM_SET_MAX +} CLRS_CONFIRMATION_SETTINGS; + +typedef struct +{ + UBYTE position_data[MAX_POSITION_DATA]; + UBYTE pos_data_length; +}T_LOC_POS_DATA; + +typedef struct +{ + char address[MAX_SMS_ADDR_DIG]; + T_ACI_TOA toa; /* type of address */ +}T_LOC_MLC_ADDRESS; + +typedef struct T_LOC_SERV_CL +{ + T_LOC_MLC_ADDRESS client_id; /* LC client identifier */ +/* common name of the location-based service / currently not supported*/ + char lc_service_name[MAX_LC_SERV_NAME]; + UBYTE client_status; /* activ/passiv */ + UBYTE period_upd_status; /* activ/passiv */ + USHORT period_upd_value; /* periodic update value in minutes */ + UBYTE period_upd_timer; +/* service_type -> bit0 = 0 then client_id is a real telephone number + bit0 = 1 then client_id is only a reference number + additional features -> bit 1 - 7/ currently not supported */ + UBYTE servid_and_features; + BOOL notify; /* notify status */ + BOOL confirmation; /* confirmation status */ + USHORT lc_clientReference; /* MNLC reference for client */ + struct T_LOC_SERV_CL * next; /* pointer to next client entry */ +}T_LOC_SERV_CLIENT; + +typedef struct +{ + UBYTE lc_src_id; /* location service source identifier */ + T_LOC_MLC_ADDRESS mlcsrc; /* mobile location service center source address */ + T_LOC_MLC_ADDRESS mlcdest; /* mobile location service center destination address */ + USHORT lc_callReference; /* MNLC reference (clsa, sms) */ + UBYTE numb_lc_clients; /* number of client entries */ + T_LOC_SERV_CLIENT * clients; /* pointer to list of LC clients */ +}T_LOC_SERV_PARA; +#endif + +typedef enum +{ + CNAP_SERVICE_STATUS_NOT_PRESENT = -1, + CNAP_SERVICE_NOT_PROVISIONED, + CNAP_SERVICE_PROVISIONED, + CNAP_SERVICE_STATUS_UNKNOWN +} T_ACI_CNAP_STATUS; + +#define MAX_NUM_REPEAT_ATT 10 /* max number of call repeat attempts */ +#ifdef _SIMULATION_ +#define MAX_NUM_ENTR_BLACK_LIST 4 /* max number of black list phone numbers, + reduced for testcases since lack of 1600 partitions + for AT+CLCC in Testcase ACICC301 */ +#else +#define MAX_NUM_ENTR_BLACK_LIST 10 /* max number of black list phone numbers */ +#endif /*_SIMULATION_*/ +#define RDL_TIM_INDEX_NOT_PRESENT 0xff + +typedef enum +{ + AUTOM_REP_NOT_PRESENT = -1, /* parameter is not given */ + AUTOM_REPEAT_OFF, /* automatic call repeat is switched off */ + AUTOM_REPEAT_ON /* automatic call repeat is switched on */ +} T_ACI_CC_REDIAL_MODE; + +typedef enum +{ + NOTIF_NO_PRESENT = -1, /* parameter is not given */ + NO_NOTIF_USER, /* no notification to user */ + NOTIF_USER /* notification to user */ +} T_ACI_CC_REDIAL_NOTIF; + +typedef enum +{ + BLMODE_NO_PRESENT = -1, /* parameter is not given */ + BL_NO_DELETE, + BL_DELETE /* blacklist is deleted */ +}T_ACI_CC_REDIAL_BLMODE; + +typedef enum +{ + REDIAL_TIM_START = 2, /* redial timer starts */ + REDIAL_ATT_START, /* start redialling attempt */ + CALL_ATTEMPT_FAILED, + CALL_ATTEMPT_SUCCESSFUL, + REDIAL_STOP /* redialling finished */ +}T_ACI_CC_REDIAL_STATE; + +typedef enum +{ + BLACKLIST_FULL = 2, /* black list is full */ + ENTRY_BLACKLISTED, /* phone number set in black list */ + ENTRY_IN_BLACKLIST /* phone number is in black list */ +}T_ACI_CC_RDL_BLACKL_STATE; + +typedef enum +{ + READ_RDLmode = 0, /* read redial mode from FFS */ + WRITE_RDLmode /* write redial mode in FFS */ +}T_ACI_CC_RDL_FFS; + +typedef struct +{ + UBYTE numb_len; + CHAR number[MAX_CC_CALLED_NUMBER]; + T_ACI_TOA type; +}T_ACI_CC_BLACKL_ENTRY; + +typedef struct CCblacklist +{ + UBYTE blCount; /* counter of black list entries */ + T_ACI_CC_BLACKL_ENTRY blNum[MAX_NUM_ENTR_BLACK_LIST]; /* table with blacklisted phone number */ +}T_ACI_CC_REDIAL_BLACKL; + +typedef struct +{ + T_ACI_CC_REDIAL_MODE rdlMod; /* redial mode */ + T_ACI_CC_REDIAL_BLMODE rdlBlMod; /* black list mode */ + SHORT rdlcId; /* redial call identifier, NO_ENTRY if no redial */ + T_ACI_CC_REDIAL_NOTIF rdlModN; /* notification state of redial procedure */ + T_ACI_CC_REDIAL_NOTIF rdlBlN; /* notification state of black list */ +}T_ACI_CC_REDIAL_PAR; + +/* ------ +CIND & +CMER - typedefs ------------------------------- */ +typedef enum +{ + CIND_SIGNAL_INDICATOR_INVALID = -1, + CIND_SIGNAL_INDICATOR_LVL0, + CIND_SIGNAL_INDICATOR_LVL1, + CIND_SIGNAL_INDICATOR_LVL2, + CIND_SIGNAL_INDICATOR_LVL3, + CIND_SIGNAL_INDICATOR_LVL4, + CIND_SIGNAL_INDICATOR_LVL5, + CIND_SIGNAL_INDICATOR_TYPE_MAX +} T_ACI_CIND_SIGNAL_TYPE; + +typedef enum +{ + CIND_SMSFULL_INDICATOR_INVALID = -1, + CIND_SMSFULL_INDICATOR_MEMAVAIL, + CIND_SMSFULL_INDICATOR_MEMFULL, + CIND_SMSFULL_INDICATOR_MAX +} T_ACI_CIND_SMSFULL_TYPE; + +typedef struct +{ + T_ACI_CIND_SIGNAL_TYPE sCindSignalParam; + T_ACI_CIND_SMSFULL_TYPE sCindSmsFullParam; +} T_ACI_MM_CIND_VAL_TYPE; + +typedef enum +{ + CMER_MODE_INVALID = -1, + CMER_MODE_0, + CMER_MODE_1, + CMER_MODE_2, + CMER_MODE_TYPE_MAX +} T_ACI_CMER_MODE_TYPE; + +typedef enum +{ + CMER_INDICATOR_INVALID = -1, + CMER_INDICATOR_0, + CMER_INDICATOR_1, + CMER_INDICATOR_2, + CMER_INDICATOR_TYPE_MAX +} T_ACI_CMER_IND_TYPE; + +typedef enum +{ + CMER_BFR_INVALID = -1, + CMER_BFR_0, + CMER_BFR_1, + CMER_BFR_TYPE_MAX +} T_ACI_CMER_BFR_TYPE; + +typedef struct +{ + T_ACI_CMER_MODE_TYPE sCmerModeParam; + T_ACI_CMER_IND_TYPE sCmerIndParam; + T_ACI_CMER_BFR_TYPE sCmerBfrParam; +} T_ACI_MM_CMER_VAL_TYPE; + +typedef struct +{ + T_ACI_MM_CIND_VAL_TYPE sMmCINDSettings; + T_ACI_MM_CMER_VAL_TYPE sMmCMERSettings; +} T_ACI_IND_MODE ; + +/* ------ %CSCN - typedefs -------------------------------------- */ +/* PSA facility function parameter enums */ +typedef enum +{ + CSCN_FACILITY_DIRECTION_INVALID = -1, + CSCN_FACILITY_DIRECTION_IN = 0, + CSCN_FACILITY_DIRECTION_OUT, + CSCN_FACILITY_DIRECTION_BOTH, + CSCN_FACILITY_DIRECTION_MAX +} T_ACI_FAC_DIR; + +typedef enum +{ + CSCN_FACILITY_TRANS_TYPE_BEGIN = 0, + CSCN_FACILITY_TRANS_TYPE, + CSCN_FACILITY_TRANS_TYPE_END, + CSCN_FACILITY_TRANS_TYPE_MAX +} T_ACI_FAC_TRANS_TYPE; + +/* CC shared parameter types */ +typedef enum +{ + CC_CSCN_MOD_STATE_INVALID = -1, + CC_CSCN_MOD_STATE_OFF, + CC_CSCN_MOD_STATE_ON, + CC_CSCN_MOD_STATE_MAX +} T_ACI_CC_CSCN_MOD_STATE; + +typedef enum +{ + CC_CSCN_MOD_DIR_INVALID = -1, + CC_CSCN_MOD_DIR_IN, + CC_CSCN_MOD_DIR_OUT, + CC_CSCN_MOD_DIR_BOTH, + CC_CSCN_MOD_DIR_MAX +} T_ACI_CC_CSCN_MOD_DIRECTION; + +typedef struct +{ + T_ACI_CC_CSCN_MOD_STATE CcCSCNModeState; + T_ACI_CC_CSCN_MOD_DIRECTION CcCSCNModeDirection; +} T_ACI_CC_CSCN_MOD; + +/* SS shared parameter types */ +typedef enum +{ + SS_CSCN_MOD_STATE_INVALID = -1, + SS_CSCN_MOD_STATE_OFF, + SS_CSCN_MOD_STATE_ON, + SS_CSCN_MOD_STATE_MAX +} T_ACI_SS_CSCN_MOD_STATE; + +typedef enum +{ + SS_CSCN_MOD_DIR_INVALID = -1, + SS_CSCN_MOD_DIR_IN, + SS_CSCN_MOD_DIR_OUT, + SS_CSCN_MOD_DIR_BOTH, + SS_CSCN_MOD_DIR_MAX +} T_ACI_SS_CSCN_MOD_DIRECTION; + +typedef struct +{ + T_ACI_SS_CSCN_MOD_STATE SsCSCNModeState; + T_ACI_SS_CSCN_MOD_DIRECTION SsCSCNModeDirection; +} T_ACI_SS_CSCN_MOD; + +/* ------ %CPRI - typedefs -------------------------------------- */ + +typedef enum /* ciphering indication state */ +{ + CI_DONT_SHOW = 0, /* don't show CI, CI enabled */ + CI_SHOW, /* show CI, CI enabled */ + CI_DISABLED /* CI disabled */ +} T_CI_STAT; + +/* ------ %CPRSM - typedefs -------------------------------------- */ + +typedef enum +{ + CPRSM_MOD_NotPresent = -1, + CPRSM_MOD_Resume = 0, + CPRSM_MOD_Pause = 1 +} T_ACI_CPRSM_MOD; + +/* ------ %CCUST - typedefs -------------------------------------- */ + +typedef enum { + CUST_NORMAL_BEHAVIOUR = 0, + CUST_MODE_BEHAVIOUR_1 +} T_CUST_MOD; + +/* ------ %SATCC - typedefs -------------------------------------- */ + +typedef enum { + SATCC_CONTROL_BY_SIM_INACTIVE = 0, + SATCC_CONTROL_BY_SIM_ACTIVE +} T_SAT_CC_MOD; + + +/* ------ %SECS - typedefs -------------------------------------- */ + + +typedef enum +{ + SECS_STA_NotPresent = -1, + SECS_STA_Disable = 0, + SECS_STA_Enable = 1 +} T_ACI_SECS_STA; + +/*--------The following are stucture typedefs and bitfield definis specifically used for AT+NRG=?------*/ + +typedef enum +{ + NRG_REG_NotPresent = 0, + NRG_REG_Auto = 1, + NRG_REG_Manual = 2, + NRG_REG_Dereg = 4, + NRG_REG_SetOnly = 8, + NRG_REG_Both = 16 +} +T_ACI_NRG_REG; + +typedef enum +{ + NRG_SRV_NotPresent = 0, + NRG_SRV_Full = 1, + NRG_SRV_Limited = 2, + NRG_SRV_NoSrv = 4, + NRG_SRV_SetRegModeOnly = 8 +} +T_ACI_NRG_SRV; + +typedef enum +{ + NRG_OPR_NotPresent = 0, + NRG_OPR_Long = 1, + NRG_OPR_Short = 2, + NRG_OPR_Numeric = 4 +} +T_ACI_NRG_OPR; + +typedef struct +{ + T_ACI_NRG_REG reg_mode; + T_ACI_NRG_SRV srv_mode; + T_ACI_NRG_OPR opr_frmt; +} +T_ACI_NRG; + + +/*------End of typedefs for AT+NRG=?---------------------------------*/ + +/* %COPN typedefs */ + +typedef enum +{ + Read_ROM_TABLE = 0, + Read_EONS = 1, + Read_CPHS = 2, + Read_INVALID = 255 +} +T_ACI_ORIGIN_READ; + + +/* -------- %SATN Control By SIM Type indications ------------------*/ + +typedef enum +{ + SATN_CNTRL_BY_SIM_Not_Present = -1, + SATN_CNTRL_BY_SIM_CALL = 0, + SATN_CNTRL_BY_SIM_SS = 1, + SATN_CNTRL_BY_SIM_USSD = 2, + SATN_CNTRL_BY_SIM_SMS = 3 +} T_ACI_SATN_CNTRL_TYPE; + +/* %CUSCFG */ + +typedef enum +{ + CUSCFG_FAC_Not_Present = 0, + CUSCFG_FAC_MO_SM_Control, + CUSCFG_FAC_MO_Call_Control, + CUSCFG_FAC_MO_SS_Control, + CUSCFG_FAC_MO_USSD_Control, + CUSCFG_FAC_2_Digit_Call, + CUSCFG_FAC_Ext_USSD_Res +} T_ACI_CUSCFG_FAC; + +typedef enum +{ + CUSCFG_MOD_Not_Present = -1, + CUSCFG_MOD_Disable, + CUSCFG_MOD_Enable, + CUSCFG_MOD_Query +} T_ACI_CUSCFG_MOD; + +typedef enum +{ + CUSCFG_STAT_Not_present = -1, + CUSCFG_STAT_Disabled, + CUSCFG_STAT_Enabled +} T_ACI_CUSCFG_STAT; + +typedef struct +{ + UBYTE MO_SM_Control_SIM; + UBYTE MO_Call_Control_SIM; + UBYTE MO_SS_Control_SIM; + UBYTE MO_USSD_Control_SIM; + UBYTE Two_digit_MO_Call; + UBYTE Ext_USSD_Response; +} T_ACI_CUSCFG_PARAMS; + +typedef enum +{ + CUSDR_RES_Not_Present = -1, + CUSDR_RES_Ok, + CUSDR_RES_Unknown_Alphabet, + CUSDR_RES_Busy +} T_ACI_CUSDR_RES; + +/*==== PROTOTYPES =================================================*/ + +EXTERN T_ACI_RETURN sAT_PercentALS( T_ACI_CMD_SRC srcId, + T_ACI_ALS_MOD mode ); +EXTERN T_ACI_RETURN qAT_PercentALS( T_ACI_CMD_SRC srcId, + T_ACI_ALS_MOD *mode ); +EXTERN T_ACI_RETURN tAT_PercentALS( T_ACI_CMD_SRC srcId, + T_ACI_ALS_MOD *ALSmode); +EXTERN T_ACI_RETURN sAT_PlusCFUN ( T_ACI_CMD_SRC srcId, + T_ACI_CFUN_FUN fun, + T_ACI_CFUN_RST rst ); +EXTERN T_ACI_RETURN qAT_PlusCFUN ( T_ACI_CMD_SRC srcId, + T_ACI_CFUN_FUN *fun ); +EXTERN T_ACI_RETURN sAT_PlusCPIN ( T_ACI_CMD_SRC srcId, + CHAR * pin, + CHAR * newpin ); + EXTERN T_ACI_RETURN sAT_PercentSECP ( T_ACI_CMD_SRC srcId, + CHAR * pin, + CHAR * newpin ); + +EXTERN T_ACI_RETURN sAT_PercentSECS ( T_ACI_CMD_SRC srcId, + T_ACI_SECS_STA securityState, + CHAR * code ); + +EXTERN T_ACI_RETURN qAT_PercentSECS ( T_ACI_CMD_SRC srcId, + T_ACI_SECS_STA *status); + +#ifdef FF_DUAL_SIM +EXTERN T_ACI_RETURN sAT_PercentSIM ( T_ACI_CMD_SRC srcId, + UBYTE sim_num); +EXTERN T_ACI_RETURN qAT_PercentSIM ( T_ACI_CMD_SRC srcId, + UBYTE *sim_num ); +#endif /*FF_DUAL_SIM*/ +EXTERN T_ACI_RETURN qAT_PlusCPIN (T_ACI_CMD_SRC srcId, + T_ACI_CPIN_RSLT *code); +EXTERN T_ACI_RETURN qAT_PlusCREG ( T_ACI_CMD_SRC srcId, + T_ACI_CREG_STAT * stat, + USHORT *lac, + USHORT *cid); +EXTERN T_ACI_RETURN qAT_PercentCREG ( T_ACI_CMD_SRC srcId, + T_ACI_CREG_STAT *stat, + USHORT *lac, + USHORT *ci, + T_ACI_P_CREG_GPRS_IND *gprs_ind ); +EXTERN T_ACI_RETURN sAT_PlusCOPS ( T_ACI_CMD_SRC srcId, + T_ACI_COPS_MOD mode, + T_ACI_COPS_FRMT format, + CHAR * oper ); +EXTERN T_ACI_RETURN qAT_PlusCOPS ( T_ACI_CMD_SRC srcId, + T_ACI_COPS_MOD * mode, + T_ACI_COPS_FRMT * format, + CHAR * oper); +EXTERN T_ACI_RETURN tAT_PlusCOPS ( T_ACI_CMD_SRC srcId, + SHORT startIdx, + SHORT * lastIdx, + T_ACI_COPS_OPDESC * operLst); + +EXTERN T_ACI_RETURN tAT_PercentCOPS ( T_ACI_CMD_SRC srcId, + SHORT startIdx, + SHORT * lastIdx, + T_ACI_COPS_OPDESC * operLst); + +EXTERN T_ACI_RETURN sAT_PercentCOPS ( T_ACI_CMD_SRC srcId, + T_ACI_COPS_MOD mode, + T_ACI_COPS_FRMT format, + CHAR * oper ); +EXTERN T_ACI_RETURN qAT_PercentCOPS ( T_ACI_CMD_SRC srcId, + T_ACI_COPS_MOD * mode, + T_ACI_COPS_FRMT * format, + T_ACI_COPS_SVST * svrStatus, + CHAR * oper ); + + + +EXTERN T_ACI_RETURN sAT_PlusCPOL ( T_ACI_CMD_SRC srcId, + SHORT index, + T_ACI_CPOL_FRMT format, + CHAR * oper, + SHORT index2, + T_ACI_CPOL_MOD mode ); +EXTERN T_ACI_RETURN qAT_PlusCPOL ( T_ACI_CMD_SRC srcId, + SHORT startIdx, + SHORT *lastIdx, + T_ACI_CPOL_OPDESC *operLst, + T_ACI_CPOL_MOD mode ); +EXTERN T_ACI_RETURN tAT_PlusCPOL ( T_ACI_CMD_SRC srcId, + SHORT * lastIdx, + SHORT * usdNtry ); +EXTERN T_ACI_RETURN qAT_PlusCLIP ( T_ACI_CMD_SRC srcId, + T_ACI_CLIP_STAT * stat); +EXTERN T_ACI_RETURN sAT_PlusCLIR ( T_ACI_CMD_SRC srcId, + T_ACI_CLIR_MOD mode ); +EXTERN T_ACI_RETURN qAT_PlusCLIR ( T_ACI_CMD_SRC srcId, + T_ACI_CLIR_MOD * mode, + T_ACI_CLIR_STAT * stat); +EXTERN T_ACI_RETURN qAT_PercentCLIR ( T_ACI_CMD_SRC srcId, + T_ACI_CLIR_MOD * mode); +EXTERN T_ACI_RETURN qAT_PlusCOLP ( T_ACI_CMD_SRC srcId, + T_ACI_COLP_STAT * stat); +EXTERN T_ACI_RETURN sAT_PercentCTTY (T_ACI_CMD_SRC srcId, + T_ACI_CTTY_MOD mode, + T_ACI_CTTY_REQ req); +EXTERN T_ACI_RETURN qAT_PercentCTTY (T_ACI_CMD_SRC srcId, + T_ACI_CTTY_MOD *mode, + T_ACI_CTTY_REQ *req, + T_ACI_CTTY_STAT *stat, + T_ACI_CTTY_TRX *trx); +EXTERN T_ACI_RETURN sAT_PlusCMOD ( T_ACI_CMD_SRC srcId, + T_ACI_CMOD_MOD mode ); +EXTERN T_ACI_RETURN qAT_PlusCMOD ( T_ACI_CMD_SRC srcId, + T_ACI_CMOD_MOD * mode ); +EXTERN T_ACI_RETURN sAT_PlusCBST ( T_ACI_CMD_SRC srcId, + T_ACI_BS_SPEED speed, + T_ACI_CBST_NAM name, + T_ACI_CBST_CE ce); +EXTERN T_ACI_RETURN qAT_PlusCBST ( T_ACI_CMD_SRC srcId, + T_ACI_BS_SPEED * speed, + T_ACI_CBST_NAM * name, + T_ACI_CBST_CE * ce); +EXTERN T_ACI_RETURN sAT_PlusCRLP ( T_ACI_CMD_SRC srcId, + SHORT iws, SHORT mws, + SHORT t1, SHORT n2); +EXTERN T_ACI_RETURN qAT_PlusCRLP ( T_ACI_CMD_SRC srcId, + SHORT* iws, SHORT* mws, + SHORT* t1, SHORT* n2); +EXTERN T_ACI_RETURN sAT_PlusDS ( T_ACI_CMD_SRC srcId, + T_ACI_DS_DIR dir, + T_ACI_DS_COMP comp, + LONG maxDict, + SHORT maxStr ); +EXTERN T_ACI_RETURN qAT_PlusDS ( T_ACI_CMD_SRC srcId, + T_ACI_DS_DIR* dir, + T_ACI_DS_COMP* comp, + LONG* maxDict, + SHORT* maxStr ); +EXTERN T_ACI_RETURN sAT_PlusGCI ( T_ACI_CMD_SRC srcId, + UBYTE country); +EXTERN T_ACI_RETURN qAT_PlusGCI ( T_ACI_CMD_SRC srcId, + UBYTE *country); +#ifdef NO_ASCIIZ +EXTERN T_ACI_RETURN sAT_Dm ( T_ACI_CMD_SRC srcId, + T_ACI_PB_TEXT *str, + T_ACI_PB_STOR mem, + SHORT index, + T_ACI_D_CLIR_OVRD clirOvrd, + T_ACI_D_CUG_CTRL cugCtrl, + T_ACI_D_TOC callType ); +#else /* ifdef NO_ASCIIZ */ +EXTERN T_ACI_RETURN sAT_Dm ( T_ACI_CMD_SRC srcId, + CHAR *str, + T_ACI_PB_STOR mem, + SHORT index, + T_ACI_D_CLIR_OVRD clirOvrd, + T_ACI_D_CUG_CTRL cugCtrl, + T_ACI_D_TOC callType ); +#endif /* ifdef NO_ASCIIZ */ +EXTERN T_ACI_RETURN sAT_Dn ( T_ACI_CMD_SRC srcId, + CHAR * number, + T_ACI_D_CLIR_OVRD clirOvrd, + T_ACI_D_CUG_CTRL cugCtrl, + T_ACI_D_TOC callType ); +EXTERN T_ACI_RETURN sAT_A ( T_ACI_CMD_SRC srcId ); +EXTERN T_ACI_RETURN sAT_H ( T_ACI_CMD_SRC srcId ); +EXTERN T_ACI_RETURN sAT_O ( T_ACI_CMD_SRC srcId ); +EXTERN T_ACI_RETURN sAT_Abort ( T_ACI_CMD_SRC srcId, + T_ACI_AT_CMD cmd); +EXTERN T_ACI_RETURN sAT_end_ussd ( T_ACI_CMD_SRC srcId ); +EXTERN T_ACI_ERR_DESC qAT_ErrDesc ( void ); +EXTERN T_ACI_RETURN sAT_PlusCSTA ( T_ACI_CMD_SRC srcId, + T_ACI_TOA * type); +EXTERN T_ACI_RETURN qAT_PlusCSTA ( T_ACI_CMD_SRC srcId, + T_ACI_TOA * type); +EXTERN T_ACI_RETURN sAT_PlusCHUP ( T_ACI_CMD_SRC srcId); + +#ifdef SIM_PERS +/*For %MEPD -for querying ME Personalisation Data... +Added on 11/03/2005 */ + +EXTERN T_ACI_RETURN qAT_PercentMEPD( T_ACI_CMD_SRC srcId, + T_SUP_INFO *sup_info ); +#endif +EXTERN T_ACI_RETURN sAT_PlusCLCK ( T_ACI_CMD_SRC srcId, + T_ACI_CLCK_FAC fac, + T_ACI_CLCK_MOD mode, + CHAR * passwd, + T_ACI_CLASS class_type); +EXTERN T_ACI_RETURN qAT_PlusCLCK ( T_ACI_CMD_SRC srcId, + T_ACI_CLCK_FAC fac, + T_ACI_CLASS class_type, + T_ACI_CLSSTAT *clsStat); +/*QAT_PERCENTCLCK add for Simlock in Riviear MFW + +Added by Shen,Chao April 16th, 2003 +*/ +EXTERN T_ACI_RETURN qAT_PercentCLCK ( T_ACI_CMD_SRC srcId, + T_ACI_CLCK_FAC fac, + T_ACI_CLASS class_type, + T_ACI_CLSSTAT *clsStat, + UBYTE *simClockStat); + +EXTERN T_ACI_RETURN sAT_PlusCPWD ( T_ACI_CMD_SRC srcId, + T_ACI_CPWD_FAC fac, + CHAR * oldpwd, + CHAR * newpwd); +EXTERN T_ACI_RETURN sAT_PlusCCFC ( T_ACI_CMD_SRC srcId, + T_ACI_CCFC_RSN reason, + T_ACI_CCFC_MOD mode, + CHAR* number, + T_ACI_TOA* type, + T_ACI_CLASS class_type, + CHAR* subaddr, + T_ACI_TOS* satype, + SHORT time); +EXTERN T_ACI_RETURN qAT_PlusCCFC ( T_ACI_CMD_SRC srcId, + T_ACI_CCFC_RSN reason, + T_ACI_CLASS class_type); +EXTERN T_ACI_RETURN sAT_PlusCCUG ( T_ACI_CMD_SRC srcId, + T_ACI_CCUG_MOD mode, + T_ACI_CCUG_IDX index, + T_ACI_CCUG_INFO info); +EXTERN T_ACI_RETURN qAT_PlusCCUG ( T_ACI_CMD_SRC srcId, + T_ACI_CCUG_MOD *mode, + T_ACI_CCUG_IDX *index, + T_ACI_CCUG_INFO *info); +EXTERN T_ACI_RETURN sAT_PlusCTFR ( T_ACI_CMD_SRC srcId, + CHAR *number, + T_ACI_TOA *type, + CHAR *subaddr, + T_ACI_TOS *satype); +EXTERN T_ACI_RETURN sAT_PlusCCWA ( T_ACI_CMD_SRC srcId, + T_ACI_CCWA_MOD mode, + T_ACI_CLASS class_type); +EXTERN T_ACI_RETURN qAT_PlusCCWA ( T_ACI_CMD_SRC srcId, + T_ACI_CLASS class_type); +EXTERN T_ACI_RETURN sAT_PlusVTS ( T_ACI_CMD_SRC srcId, + CHAR dtmf, + T_ACI_VTS_MOD mode); +EXTERN T_ACI_RETURN sAT_PlusCHLD ( T_ACI_CMD_SRC srcId, + T_ACI_CHLD_MOD mode, + CHAR *call); +EXTERN T_ACI_RETURN sAT_PercentCHLD ( T_ACI_CMD_SRC srcId, + T_ACI_CHLD_MOD mode, + CHAR *call); +EXTERN T_ACI_RETURN sAT_PlusIPR ( T_ACI_CMD_SRC srcId, + T_ACI_BD_RATE rate); +EXTERN T_ACI_RETURN qAT_PlusIPR ( T_ACI_CMD_SRC srcId, + T_ACI_BD_RATE *rate); +EXTERN T_ACI_RETURN sAT_PlusICF ( T_ACI_CMD_SRC srcId, + T_ACI_BS_FRM format, + T_ACI_BS_PAR parity); +EXTERN T_ACI_RETURN qAT_PlusICF ( T_ACI_CMD_SRC srcId, + T_ACI_BS_FRM *format, + T_ACI_BS_PAR *parity); +EXTERN T_ACI_RETURN sAT_PlusIFC ( T_ACI_CMD_SRC srcId, + T_ACI_RX_FLOW_CTRL DCE_by_DTE, + T_ACI_RX_FLOW_CTRL DTE_by_DCE ); +EXTERN T_ACI_RETURN qAT_PlusIFC ( T_ACI_CMD_SRC srcId, + T_ACI_RX_FLOW_CTRL *DCE_by_DTE, + T_ACI_RX_FLOW_CTRL *DTE_by_DCE ); +EXTERN T_ACI_RETURN sAT_AndD ( T_ACI_CMD_SRC srcId, + UBYTE value); +EXTERN T_ACI_RETURN qAT_AndD ( T_ACI_CMD_SRC srcId, + UBYTE *value); +EXTERN T_ACI_RETURN qAT_PlusCEER ( T_ACI_CMD_SRC srcId, + USHORT *cause); +EXTERN T_ACI_RETURN qAT_PlusCPAS ( T_ACI_CMD_SRC srcId, + T_ACI_CPAS_PAS *pas); + +EXTERN T_ACI_RETURN sAT_PlusCLAE ( T_ACI_CMD_SRC srcId, + T_ACI_CLAE_MOD mode ); + +EXTERN T_ACI_RETURN qAT_PlusCLAE ( T_ACI_CMD_SRC srcId, + T_ACI_CLAE_MOD * mode); + +EXTERN T_ACI_RETURN sAT_PlusCUSD ( T_ACI_CMD_SRC srcId, + T_ACI_USSD_DATA *str, + SHORT dcs); +EXTERN T_ACI_RETURN qAT_PlusCAOC ( T_ACI_CMD_SRC srcId, + LONG *ccm); +EXTERN T_ACI_RETURN qAT_PlusCLCC ( T_ACI_CMD_SRC srcId, + T_ACI_CLCC_CALDESC *calLst); +EXTERN T_ACI_RETURN qAT_PercentCLCC ( T_ACI_CMD_SRC srcId, + T_ACI_CLCC_CALDESC *calLst); +EXTERN T_ACI_RETURN qAT_PlusCOPN ( T_ACI_CMD_SRC srcId, + T_ACI_COPN_LID lstId, + SHORT startIdx, + SHORT *lastIdx, + T_ACI_COPN_OPDESC *operLst); +EXTERN T_ACI_RETURN qAT_PercentCOPN( T_ACI_CMD_SRC srcId, + T_ACI_COPS_FRMT format, + CHAR *opr, + T_ACI_OPER_NTRY *oper_ntry); +EXTERN T_ACI_RETURN sAT_PlusCACM ( T_ACI_CMD_SRC srcId, + CHAR *passwd); +EXTERN T_ACI_RETURN qAT_PlusCACM ( T_ACI_CMD_SRC srcId, + LONG *acm); +EXTERN T_ACI_RETURN sAT_PlusCAMM ( T_ACI_CMD_SRC srcId, + LONG acmmax, + CHAR *passwd); +EXTERN T_ACI_RETURN qAT_PlusCAMM ( T_ACI_CMD_SRC srcId, + LONG *acmmax); +EXTERN T_ACI_RETURN sAT_PlusCPUC ( T_ACI_CMD_SRC srcId, + CHAR *cur, + CHAR *ppu, + CHAR *passwd); +EXTERN T_ACI_RETURN qAT_PlusCPUC ( T_ACI_CMD_SRC srcId, + CHAR *cur, + CHAR *ppu); +EXTERN T_ACI_RETURN qAT_PlusCIMI ( T_ACI_CMD_SRC srcId, + CHAR *imsi); +EXTERN T_ACI_RETURN sAT_PlusCSNS ( T_ACI_CMD_SRC srcId, + T_ACI_CSNS_MOD mode); +EXTERN T_ACI_RETURN qAT_PlusCSNS ( T_ACI_CMD_SRC srcId, + T_ACI_CSNS_MOD *mode); +EXTERN T_ACI_RETURN sAT_PlusWS46 (T_ACI_CMD_SRC srcId, + T_ACI_WS46_MOD mode ); +EXTERN T_ACI_RETURN qAT_PlusWS46 (T_ACI_CMD_SRC srcId, + T_ACI_WS46_MOD *mode ); +EXTERN T_ACI_RETURN sAT_AndF ( T_ACI_CMD_SRC srcId, + SHORT value); +EXTERN T_ACI_RETURN sAT_AndC ( T_ACI_CMD_SRC srcId, + T_ACI_DCD_MOD value); +EXTERN T_ACI_RETURN qAT_AndC ( T_ACI_CMD_SRC srcId, + T_ACI_DCD_MOD *value); +EXTERN T_ACI_RETURN sAT_Z ( T_ACI_CMD_SRC srcId, + SHORT value); +EXTERN T_ACI_RETURN qAT_PlusCNUM ( T_ACI_CMD_SRC srcId, + T_ACI_CNUM_MOD mode ); +EXTERN T_ACI_RETURN sAT_PlusCRSM ( T_ACI_CMD_SRC srcId, + T_ACI_CRSM_CMD cmd, + SHORT fileId, + SHORT p1, + SHORT p2, + SHORT p3, + SHORT dataLen, + UBYTE *data ); +EXTERN T_ACI_RETURN sAT_PlusCSIM ( T_ACI_CMD_SRC srcId, + USHORT dataLen, + UBYTE *data ); +EXTERN T_ACI_RETURN qAT_PercentATR( T_ACI_CMD_SRC srcId, + UBYTE *phase, + UBYTE *atr_len, + UBYTE *atr_info); +EXTERN T_ACI_RETURN sAT_PlusCMUX ( T_ACI_CMD_SRC srcId, + UBYTE mode, + UBYTE subset, + UBYTE port_speed, + USHORT N1, + UBYTE T1, + UBYTE N2, + UBYTE T2, + UBYTE T3 ); +EXTERN T_ACI_RETURN qAT_PlusCMUX ( T_ACI_CMD_SRC srcId, + UBYTE *mode, + UBYTE *subset, + UBYTE *port_speed, + USHORT *N1, + UBYTE *T1, + UBYTE *N2, + UBYTE *T2, + UBYTE *T3 ); +EXTERN T_ACI_RETURN qAT_PercentCAL( T_ACI_CMD_SRC srcId, + T_ACI_CAL_ENTR *callTable ); +EXTERN T_ACI_RETURN sAT_PercentNRG( T_ACI_CMD_SRC srcId, + T_ACI_NRG_RGMD regMode, + T_ACI_NRG_SVMD srvMode, + T_ACI_NRG_FRMT oprFrmt, + CHAR *opr ); +EXTERN T_ACI_RETURN qAT_PercentNRG( T_ACI_CMD_SRC srcId, + T_ACI_NRG_RGMD *regMode, + T_ACI_NRG_SVMD *srvMode, + T_ACI_NRG_FRMT *oprFrmt, + T_ACI_NRG_SVMD *srvStat, + CHAR *oper); + +EXTERN T_ACI_BD_RATE convert_mux_port_speed (UBYTE mux_port_speed); + +EXTERN T_ACI_RETURN tAT_PercentNRG( T_ACI_CMD_SRC srcId, + T_ACI_NRG *NRG_options ); + +/*Added by Shen,Chao for PercentCSQ*/ +EXTERN T_ACI_RETURN sAT_PercentCSQ( T_ACI_CMD_SRC srcId, + T_ACI_CSQ_MODE CSQmode); +EXTERN T_ACI_RETURN qAT_PercentCSQ( T_ACI_CMD_SRC srcId, + UBYTE *rssi, + UBYTE *ber, + UBYTE *actlevel); +EXTERN T_ACI_RETURN qAT_PercentDBGINFO(T_ACI_CMD_SRC srcId, + ULONG param, + USHORT stor, + USHORT *free, + USHORT *alloc); + + +EXTERN T_ACI_RETURN sAT_PercentBAND(T_ACI_CMD_SRC srcId, + T_ACI_BAND_MODE bandMode, + UBYTE bandType); +EXTERN T_ACI_RETURN tAT_PercentBAND(T_ACI_CMD_SRC srcId, + T_ACI_BAND_MODE *MaxBandMode, + UBYTE *AllowedBands); +EXTERN T_ACI_RETURN qAT_PercentBAND(T_ACI_CMD_SRC srcId, + T_ACI_BAND_MODE *bandMode, + UBYTE *bandType); +EXTERN T_ACI_RETURN qAT_PercentCOLR( T_ACI_CMD_SRC srcId ); +EXTERN T_ACI_RETURN sAT_PercentPVRF( T_ACI_CMD_SRC srcId, + T_ACI_PVRF_TYPE type, + CHAR * pin, + CHAR * newpin ); +EXTERN T_ACI_RETURN qAT_PercentPVRF( T_ACI_CMD_SRC srcId, + SHORT *pn1Cnt, + SHORT *pn2Cnt, + SHORT *pk1Cnt, + SHORT *pk2Cnt, + T_ACI_PVRF_STAT *ps1, + T_ACI_PVRF_STAT *ps2 ); +EXTERN T_ACI_RETURN sAT_PercentSATC( T_ACI_CMD_SRC srcId, + SHORT len, + UBYTE * satCnfg ); +EXTERN T_ACI_RETURN qAT_PercentSATC( T_ACI_CMD_SRC srcId, + SHORT * len, + UBYTE * satCnfg ); +EXTERN T_ACI_RETURN sAT_PercentSATR( T_ACI_CMD_SRC srcId, + SHORT len, + UBYTE * satCmd ); +EXTERN T_ACI_RETURN sAT_PercentSATE( T_ACI_CMD_SRC srcId, + SHORT len, + UBYTE * satCmd ); +EXTERN T_ACI_RETURN sAT_PercentSATT( T_ACI_CMD_SRC srcId, + T_ACI_SATT_CS cause); +EXTERN T_ACI_RETURN sAT_PercentSIMEF( T_ACI_CMD_SRC srcId, + T_ACI_SIMEF_MODE mode); +EXTERN T_ACI_RETURN qAT_PercentSIMEF( T_ACI_CMD_SRC srcId, + T_ACI_SIMEF_MODE *mode); +EXTERN T_ACI_RETURN sAT_PercentEFRSLT (T_ACI_CMD_SRC srcId, + T_ACI_EFRSLT_RES result); +EXTERN T_ACI_RETURN sAT_PercentPBCF( T_ACI_CMD_SRC srcId, + T_ACI_PBCF_LDN ldn, + T_ACI_PBCF_LRN lrn, + T_ACI_PBCF_LMN lmn ); +EXTERN T_ACI_RETURN qAT_PercentPBCF( T_ACI_CMD_SRC srcId, + T_ACI_PBCF_LDN *ldn, + T_ACI_PBCF_LRN *lrn, + T_ACI_PBCF_LMN *lmn ); +EXTERN T_ACI_RETURN qAT_PercentCTV ( T_ACI_CMD_SRC srcId, + LONG *ctv); +EXTERN T_ACI_RETURN qAT_PercentCAOC( T_ACI_CMD_SRC srcId, + CHAR *cur, + CHAR *val); +EXTERN T_ACI_RETURN qAT_PercentCACM( T_ACI_CMD_SRC srcId, + CHAR *cur, + CHAR *val); +EXTERN T_ACI_RETURN qAT_PercentRPCT( T_ACI_CMD_SRC srcId, + T_ACI_RPCT_VAL *rpuct); +EXTERN T_ACI_RETURN sAT_PercentCCBS( T_ACI_CMD_SRC srcId, + SHORT idx ); +EXTERN T_ACI_RETURN qAT_PercentCCBS( T_ACI_CMD_SRC srcId); + +EXTERN T_ACI_RETURN qAT_PercentCNAP( T_ACI_CMD_SRC srcId); + +EXTERN T_ACI_RETURN sAT_PercentRDL(T_ACI_CMD_SRC srcId, + T_ACI_CC_REDIAL_MODE redial_mode, + T_ACI_CC_REDIAL_NOTIF notification); +EXTERN T_ACI_RETURN qAT_PercentRDL ( T_ACI_CMD_SRC srcId, + T_ACI_CC_REDIAL_MODE* redial_mode, + T_ACI_CC_REDIAL_NOTIF* notification); +EXTERN T_ACI_RETURN sAT_PercentRDLB(T_ACI_CMD_SRC srcId, + T_ACI_CC_REDIAL_BLMODE blacklist_mode, + T_ACI_CC_REDIAL_NOTIF notification); +EXTERN T_ACI_RETURN qAT_PercentRDLB ( T_ACI_CMD_SRC srcId, + T_ACI_CC_REDIAL_BLACKL *blackl, + T_ACI_CC_REDIAL_NOTIF* notification); + +EXTERN T_ACI_RETURN qAT_PercentCSSD ( T_ACI_CMD_SRC srcId, + UBYTE *ss_diag); + +EXTERN T_ACI_RETURN sAT_PercentCUST( T_ACI_CMD_SRC srcId, + T_CUST_MOD customisation_mode); +EXTERN T_ACI_RETURN qAT_PercentCUST( T_ACI_CMD_SRC srcId, + T_CUST_MOD *customisation_mode); +EXTERN T_ACI_RETURN sAT_PercentSATCC( T_ACI_CMD_SRC srcId, + T_SAT_CC_MOD sat_cc_mode); +EXTERN T_ACI_RETURN qAT_PercentSATCC( T_ACI_CMD_SRC srcId, + T_SAT_CC_MOD *sat_cc_mode); +EXTERN void rdlPrm_init(void); +EXTERN void rdlPrm_exit(void); + +#ifdef DTI +#if defined(FF_WAP) || defined(FF_TCP_IP) || defined(FF_GPF_TCPIP) || defined (FF_SAT_E) +/*----------- WAP prototypes -----------------------------------------*/ + +EXTERN T_ACI_RETURN sAT_PercentWAP ( T_ACI_CMD_SRC srcId, SHORT setflag ); + +EXTERN T_ACI_RETURN sAT_PercentPPP ( T_ACI_CMD_SRC srcId, + T_ACI_PPP_PROT protocol, + CHAR *login_name, + CHAR *pwd, + T_ACI_PPP_CON con_type); +GLOBAL T_ACI_RETURN qAT_PercentPPP ( UBYTE srcId, ULONG *ipaddr, + ULONG *dns1, ULONG * ns2) ; +#endif /* WAP || FF_TCP_IP || FF_GPF_TCPIP || FF_SAT_E */ +#endif /* DTI */ + +/*----------- SMS prototypes -----------------------------------------*/ + +EXTERN T_ACI_RETURN sAT_PlusCRES ( T_ACI_CMD_SRC srcId, + SHORT profile ); +EXTERN T_ACI_RETURN tAT_PlusCRES ( T_ACI_CMD_SRC srcId, + T_ACI_CRES *values ); +EXTERN T_ACI_RETURN sAT_PlusCSAS ( T_ACI_CMD_SRC srcId, + SHORT profile ); +EXTERN T_ACI_RETURN sAT_PlusCMGW_Old ( T_ACI_CMD_SRC srcId, + SHORT index, + CHAR *address, + T_ACI_TOA *toa, + T_ACI_SMS_STAT stat, + UBYTE msg_ref, + T_ACI_SM_DATA *data, + CHAR *sca, + T_ACI_TOA *tosca, + SHORT isReply); +EXTERN T_ACI_RETURN sAT_PlusCSMP ( T_ACI_CMD_SRC srcId, + SHORT fo, + SHORT vprel, + T_ACI_VP_ABS *vpabs, + T_ACI_VP_ENH *vpenh, + SHORT pid, + SHORT dcs ); +EXTERN T_ACI_RETURN qAT_PlusCSMP ( T_ACI_CMD_SRC srcId, + SHORT *fo, + SHORT *vprel, + T_ACI_VP_ABS *vpabs, + T_ACI_VP_ENH *vpenh, + SHORT *pid, + SHORT *dcs ); +EXTERN T_ACI_RETURN sAT_PlusCSCA ( T_ACI_CMD_SRC srcId, + CHAR *sca, + T_ACI_TOA *tosca ); +EXTERN T_ACI_RETURN qAT_PlusCSCA ( T_ACI_CMD_SRC srcId, + CHAR *sca, + T_ACI_TOA *tosca ); +EXTERN T_ACI_RETURN sAT_PlusCSMS ( T_ACI_CMD_SRC srcId, + T_ACI_CSMS_SERV service); +EXTERN T_ACI_RETURN qAT_PlusCSMS ( T_ACI_CMD_SRC srcId, + T_ACI_CSMS_SERV *service, + T_ACI_CSMS_SUPP *mt, + T_ACI_CSMS_SUPP *mo, + T_ACI_CSMS_SUPP *bm); +EXTERN T_ACI_RETURN sAT_PlusCPMS ( T_ACI_CMD_SRC srcId, + T_ACI_SMS_STOR mem1, + T_ACI_SMS_STOR mem2, + T_ACI_SMS_STOR mem3); +EXTERN T_ACI_RETURN qAT_PlusCPMS ( T_ACI_CMD_SRC srcId); +EXTERN T_ACI_RETURN sAT_PlusCMGF ( T_ACI_CMD_SRC srcId, + T_ACI_CMGF_MOD mode); +EXTERN T_ACI_RETURN qAT_PlusCMGF ( T_ACI_CMD_SRC srcId, + T_ACI_CMGF_MOD * mode); +#if defined FF_MMI_RIV +EXTERN T_ACI_RETURN sAT_PercentSMBS( T_ACI_CMD_SRC srcId, + T_ACI_PERC_SMBS_MOD mode); +EXTERN T_ACI_RETURN qAT_PercentSMBS( T_ACI_CMD_SRC srcId, + T_ACI_PERC_SMBS_MOD *mode); +#endif /* #if defined FF_MMI_RIV */ +EXTERN T_ACI_RETURN sAT_PlusCSCB ( T_ACI_CMD_SRC srcId, + T_ACI_CSCB_MOD mode, + USHORT * mids, + UBYTE * dcss); +EXTERN T_ACI_RETURN qAT_PlusCSCB ( T_ACI_CMD_SRC srcId, + T_ACI_CSCB_MOD * mode, + USHORT * mids, + UBYTE * dcss); +#ifdef FF_HOMEZONE +EXTERN T_ACI_RETURN sAT_PercentCBHZ ( T_ACI_CMD_SRC srcId, + T_ACI_CBHZ_MOD mode, + T_ACI_CS dcs, + UBYTE timeout); +EXTERN T_ACI_RETURN qAT_PercentCBHZ ( T_ACI_CMD_SRC srcId, + T_ACI_CBHZ_MOD* mode, + T_ACI_CS* dcs, + UBYTE* timeout); +#endif /* FF_HOMEZONE */ + +EXTERN T_ACI_RETURN sAT_PlusCMGS_Old ( T_ACI_CMD_SRC srcId, + CHAR * da, + T_ACI_TOA * toda, + T_ACI_SM_DATA * data, + CHAR * sca, + T_ACI_TOA * tosca, + SHORT isReply); +EXTERN T_ACI_RETURN sAT_PlusCNMI ( T_ACI_CMD_SRC srcId, + T_ACI_CNMI_MT mt, + T_ACI_CNMI_BM bm, + T_ACI_CNMI_DS ds); +EXTERN T_ACI_RETURN qAT_PlusCNMI ( T_ACI_CMD_SRC srcId, + T_ACI_CNMI_MT * mt, + T_ACI_CNMI_BM * bm, + T_ACI_CNMI_DS * ds); +EXTERN T_ACI_RETURN sAT_PlusCMGL ( T_ACI_CMD_SRC srcId, + T_ACI_SMS_STAT state, + SHORT startIdx, + T_ACI_SMS_READ rdMode ); +EXTERN T_ACI_RETURN sAT_PlusCNMA ( T_ACI_CMD_SRC srcId); + + +EXTERN T_ACI_RETURN sAT_PercentCPRSM ( T_ACI_CMD_SRC srcId, + T_ACI_CPRSM_MOD mode); + +EXTERN T_ACI_RETURN qAT_PercentCPRSM ( T_ACI_CMD_SRC srcId ); + +/*----------- New SMS prototypes for concatenated SMS --------------------*/ + +EXTERN T_ACI_RETURN sAT_PlusCMSS ( T_ACI_CMD_SRC srcId, + UBYTE index, + CHAR* da, + T_ACI_TOA* toda ); +EXTERN T_ACI_RETURN sAT_PlusCMSS_Gl ( T_ACI_CMD_SRC srcId, + UBYTE index, + CHAR* da, + T_ACI_TOA* toda, + T_CMSS_FCT rplyCB, + T_ERROR_FCT errorCB ); + +#if (defined (MFW) AND !defined (FF_MMI_RIV)) OR defined (_CONC_TESTING_) +EXTERN T_ACI_RETURN sAT_PlusCMGS ( T_ACI_CMD_SRC srcId, + CHAR* da, + T_ACI_TOA* toda, + T_SM_DATA_EXT* src_data, + CHAR* sca, + T_ACI_TOA* tosca, + SHORT isReply ); +#else +EXTERN T_ACI_RETURN sAT_PlusCMGS ( T_ACI_CMD_SRC srcId, + CHAR* da, + T_ACI_TOA* toda, + T_ACI_SM_DATA* src_data, + CHAR* sca, + T_ACI_TOA* tosca, + SHORT isReply ); +#endif + +EXTERN T_ACI_RETURN sAT_PercentCMGS ( T_ACI_CMD_SRC srcId, + CHAR* da, + T_ACI_TOA* toda, + T_ACI_SM_DATA* src_data, + T_ACI_UDH_DATA* udh_data, + CHAR* sca, + T_ACI_TOA* tosca, + SHORT isReply ); + +EXTERN T_ACI_RETURN sAT_PlusCMGS_Gl ( T_ACI_CMD_SRC srcId, + CHAR* da, + T_ACI_TOA* toda, + T_ACI_SM_DATA* data, + T_ACI_UDH_DATA* udh, + CHAR* sca, + T_ACI_TOA* tosca, + SHORT isReply, + T_CMGS_FCT rplyCB, + T_ERROR_FCT errorCB ); +EXTERN T_ACI_RETURN sAT_PlusCMGR ( T_ACI_CMD_SRC srcId, + UBYTE index, + T_ACI_SMS_READ rdMode ); +EXTERN T_ACI_RETURN sAT_PlusCMGR_Gl ( T_ACI_CMD_SRC srcId, + UBYTE index, + T_ACI_SMS_READ rdMode, + T_CMGR_FCT rplyCB ); + +#if (defined (MFW) AND !defined (FF_MMI_RIV)) OR defined (_CONC_TESTING_) +EXTERN T_ACI_RETURN sAT_PlusCMGW ( T_ACI_CMD_SRC srcId, + SHORT index, + CHAR* address, + T_ACI_TOA* toa, + T_ACI_SMS_STAT stat, + UBYTE msg_ref, + T_SM_DATA_EXT* src_data, + CHAR* sca, + T_ACI_TOA* tosca, + SHORT isReply ); +#else +EXTERN T_ACI_RETURN sAT_PlusCMGW ( T_ACI_CMD_SRC srcId, + SHORT index, + CHAR* address, + T_ACI_TOA* toa, + T_ACI_SMS_STAT stat, + UBYTE msg_ref, + T_ACI_SM_DATA* src_data, + CHAR* sca, + T_ACI_TOA* tosca, + SHORT isReply ); +#endif +EXTERN T_ACI_RETURN sAT_PercentCMGW ( T_ACI_CMD_SRC srcId, + SHORT index, + CHAR* address, + T_ACI_TOA* toa, + T_ACI_SMS_STAT stat, + UBYTE msg_ref, + T_ACI_SM_DATA* src_data, + T_ACI_UDH_DATA* udh_data, + CHAR* sca, + T_ACI_TOA* tosca, + SHORT isReply ); + +EXTERN T_ACI_RETURN sAT_PlusCMGW_Gl ( T_ACI_CMD_SRC srcId, + SHORT index, + CHAR* address, + T_ACI_TOA* toa, + T_ACI_SMS_STAT stat, + UBYTE msg_ref, + T_ACI_SM_DATA* data, + T_ACI_UDH_DATA* udh, + CHAR* sca, + T_ACI_TOA* tosca, + SHORT isReply, + T_CMGW_FCT rplyCB, + T_ERROR_FCT errorCB ); +EXTERN T_ACI_RETURN sAT_PlusCMGD ( T_ACI_CMD_SRC srcId, + UBYTE index, + UBYTE status ); +EXTERN T_ACI_RETURN sAT_PlusCMGD_Gl ( T_ACI_CMD_SRC srcId, + UBYTE index, + UBYTE status, + T_CMGD_FCT rplyCB, + T_ERROR_FCT errorCB ); +EXTERN T_ACI_RETURN sAT_PlusCMGC ( T_ACI_CMD_SRC srcId, + SHORT fo, + SHORT ct, + SHORT pid, + SHORT mn, + CHAR* da, + T_ACI_TOA* toda, + T_ACI_CMD_DATA* data ); +EXTERN T_ACI_RETURN sAT_PlusCMGC_Gl ( T_ACI_CMD_SRC srcId, + SHORT fo, + SHORT ct, + SHORT pid, + SHORT mn, + CHAR* da, + T_ACI_TOA* toda, + T_ACI_CMD_DATA* data, + T_CMGC_FCT rplyCB ); +EXTERN T_ACI_RETURN sAT_PercentCMGMDU ( T_ACI_CMD_SRC srcId, + UBYTE index ); +EXTERN T_ACI_RETURN sAT_PercentCMGMDU_Gl ( T_ACI_CMD_SRC srcId, + UBYTE index, + T_CMGMDU_FCT rplyCB ); +#if defined (SMS_PDU_SUPPORT) + +EXTERN void rCI_Plus_Percent_CMGLPdu ( T_MNSMS_READ_CNF *mnsms_read_cnf, + T_ACI_AT_CMD cmd); +EXTERN void rCI_Plus_Percent_CMGRPdu ( T_MNSMS_READ_CNF* mnsms_read_cnf, + T_ACI_AT_CMD cmd); +EXTERN void rCI_PlusCMTPdu ( T_MNSMS_MESSAGE_IND * mnsms_message_ind ); + + + + + +EXTERN void rCI_PlusCBMPdu ( T_MMI_CBCH_IND * mmi_cbch_ind ); +EXTERN void rCI_PlusCDSPdu ( T_MNSMS_STATUS_IND * mnsms_status_ind ); +EXTERN void rCI_PlusCMGSPdu ( T_MNSMS_SUBMIT_CNF * mnsms_submit_cnf); +EXTERN void rCI_PlusCMSSPdu ( T_MNSMS_SUBMIT_CNF * mnsms_submit_cnf); +EXTERN void rCI_PlusCMGCPdu ( T_MNSMS_COMMAND_CNF * mnsms_command_cnf); + + +GLOBAL T_ACI_RETURN sAT_PlusCMGWPdu ( T_ACI_CMD_SRC srcId, + UBYTE stat, + T_ACI_SM_DATA *pdu); +#endif + +#if defined (SMS_PDU_SUPPORT) || defined (SIM_TOOLKIT) +EXTERN T_ACI_RETURN sAT_PlusCMGSPdu ( T_ACI_CMD_SRC srcId, + T_ACI_SM_DATA *pdu ); +EXTERN T_ACI_RETURN sAT_PlusCMGCPdu ( T_ACI_CMD_SRC srcId, + T_ACI_SM_DATA *pdu ); +EXTERN T_ACI_RETURN sAT_PlusCNMAPdu ( T_ACI_CMD_SRC srcId, + SHORT n, + T_ACI_SM_DATA *pdu); +#endif + +/*----------- Phonebook managment prototypes -----------------------------------------*/ + +EXTERN T_ACI_RETURN sAT_PlusCPBS ( T_ACI_CMD_SRC srcId, + T_ACI_PB_STOR mem, + char* pin2 ); +EXTERN T_ACI_RETURN qAT_PlusCPBS ( T_ACI_CMD_SRC srcId, + T_ACI_PB_STOR* storage, + SHORT* used, + SHORT* total ); +EXTERN T_ACI_RETURN qAT_PercentCPBS ( T_ACI_CMD_SRC srcId, + T_ACI_PB_STOR* storage, + SHORT* used, + SHORT* total, + SHORT* first ); +EXTERN T_ACI_RETURN sAT_PlusCPBW ( T_ACI_CMD_SRC srcId, + SHORT index, + CHAR * number, + T_ACI_TOA * type, + T_ACI_PB_TEXT * text, + T_ACI_VP_ABS * dateTime ); +EXTERN T_ACI_RETURN tAT_PlusCPBW ( T_ACI_CMD_SRC srcId, + SHORT* firstIdx, + SHORT* lastIdx, + UBYTE* nlength, + UBYTE* tlength ); +EXTERN T_ACI_RETURN sAT_PlusCPBR ( T_ACI_CMD_SRC srcId, + SHORT startIdx, + SHORT stopIdx, + SHORT* lastIdx, + T_ACI_PB_ENTR* pbLst); +/** + * sAT_PercentCPBR. + * + * @param srcId Parameter 1. + * @param startIdx Parameter 2. + * @param stopIdx Parameter 3. + * @param searchMode Parameter 4. + * @param lastIdx Parameter 5. + * @param pbLst Parameter 6. + * @return Type T_ACI_RETURN. + +************************************************** +Added by Shen,Chao March.18th.2003 +************************************************** + */ + +EXTERN T_ACI_RETURN sAT_PercentCPBR ( T_ACI_CMD_SRC srcId, + SHORT startIdx, + SHORT stopIdx, + T_ACI_SR_TYP searchMode, + SHORT* lastIdx, + T_ACI_PB_ENTR* pbLst ); + +/* PersentCPBF */ +EXTERN T_ACI_RETURN sAT_PercentCPBF ( T_ACI_CMD_SRC srcId, + T_ACI_PB_TEXT* findtext, + T_ACI_CPBF_MOD mode, + T_ACI_SR_TYP searchMode, + U8 direction, + SHORT* found, + T_ACI_PB_ENTR* pbLst ); + + +EXTERN T_ACI_RETURN tAT_PlusCPBR ( T_ACI_CMD_SRC srcId, + SHORT* firstIdx, + SHORT* lastIdx, + UBYTE* nlength, + UBYTE* tlength ); +#ifdef NO_ASCIIZ +EXTERN T_ACI_RETURN sAT_PlusCPBF ( T_ACI_CMD_SRC srcId, + T_ACI_PB_TEXT *findtext, + T_ACI_CPBF_MOD mode, + SHORT *found, + T_ACI_PB_ENTR *pbLst ); +#else /* ifdef NO_ASCIIZ */ +EXTERN T_ACI_RETURN sAT_PlusCPBF ( T_ACI_CMD_SRC srcId, + CHAR *findtext, + T_ACI_CPBF_MOD mode, + SHORT *found, + T_ACI_PB_ENTR *pbLst ); +#endif /* ifdef NO_ASCIIZ */ +EXTERN T_ACI_RETURN tAT_PlusCPBF ( T_ACI_CMD_SRC srcId, + UBYTE* nlength, + UBYTE* tlength ); + +/*----------- Engineering mode prototypes -----------------------------------------*/ +EXTERN T_ACI_RETURN sAT_PlusCLAE ( T_ACI_CMD_SRC srcId, + T_ACI_CLAE_MOD mode ); +EXTERN T_ACI_RETURN qAT_PlusCLAE ( T_ACI_CMD_SRC srcId, + T_ACI_CLAE_MOD * mode); +#ifdef FF_EM_MODE + +EXTERN T_ACI_RETURN sAT_PercentEM ( T_ACI_CMD_SRC srcId, + T_EM_AT_MODE mode, + T_EM_AT_TYPE type); +EXTERN T_ACI_RETURN sAT_PercentEMET( T_ACI_CMD_SRC srcId, + UBYTE type); +EXTERN T_ACI_RETURN sAT_PercentEMETS( T_ACI_CMD_SRC srcId, UBYTE subclass, + ULONG bitm_h, ULONG bitm_l ); +#endif /* FF_EM_MODE */ + +#ifdef MFW +/* MMI TEST */ +EXTERN T_ACI_RETURN sAT_PercentMMITEST ( T_ACI_CMD_SRC srcId, char *param); +#endif + +EXTERN T_ACI_RETURN sAT_PlusCSVM ( T_ACI_CMD_SRC srcId, + T_ACI_CSVM_MOD mode, + CHAR *pnumber, + UBYTE num_len, + T_ACI_TOA *toa); + +EXTERN T_ACI_RETURN qAT_PlusCSVM ( T_ACI_CMD_SRC srcId, + T_ACI_CSVM_MOD* mode, + CHAR *number, + UBYTE num_len, + SHORT *toa_val); + +EXTERN T_ACI_RETURN sAT_PlusCLAN ( T_ACI_CMD_SRC srcId, + T_ACI_LAN_SUP *lngCode); + +EXTERN T_ACI_RETURN qAT_PlusCLAN ( T_ACI_CMD_SRC srcId, + T_ACI_LAN_SUP* lngCode ); + +EXTERN T_ACI_RETURN tAT_PlusCLAN (T_ACI_CMD_SRC srcId, + SHORT *lastIdx, + T_ACI_LAN_SUP *lanlst); + +EXTERN T_ACI_RETURN sAT_PercentCPRI( T_ACI_CMD_SRC srcId, + UBYTE mode ); + +EXTERN T_ACI_RETURN qAT_PercentCPRI( T_ACI_CMD_SRC srcId, + UBYTE *mode ); +/* DTI managment */ +EXTERN T_ACI_RETURN sAT_PercentDATA (T_ACI_CMD_SRC srcId, + UBYTE redir_mode, + CHAR *des_devname, + UBYTE des_devno, + UBYTE des_subno, + CHAR *dev_cap, + CHAR *src_devname, + UBYTE src_devno, + UBYTE src_subno, + UBYTE pdp_cid); + +EXTERN T_ACI_RETURN qAT_PercentDATA (T_ACI_CMD_SRC srcId, + UBYTE *mode, + UBYTE *cid, + T_DINF_PARAM *des_param, + T_DINF_PARAM *src_param); + +EXTERN T_ACI_RETURN sAT_PercentDINF (T_ACI_CMD_SRC srcId, + UBYTE mode, + T_DINF_PARAM *device_param); + +EXTERN T_ACI_RETURN sAT_PercentCHPL (T_ACI_CMD_SRC srcId, + T_ACI_OPER_NTRY *oper); + +EXTERN T_ACI_RETURN sAT_PlusCTZR ( T_ACI_CMD_SRC srcId, + T_ACI_CTZR_MODE mode); + +EXTERN T_ACI_RETURN qAT_PlusCTZR ( T_ACI_CMD_SRC srcId, + T_ACI_CTZR_MODE *mode); + +EXTERN T_ACI_RETURN sAT_PlusCTZU ( T_ACI_CMD_SRC srcId, + T_ACI_CTZU_MODE mode); + +EXTERN T_ACI_RETURN sAT_PlusCCLK ( T_ACI_CMD_SRC srcId + ,T_ACI_RTC_DATE *date_s + ,T_ACI_RTC_TIME *time_s + ,int timeZone + ); + +EXTERN T_ACI_RETURN qAT_PlusCCLK ( T_ACI_CMD_SRC srcId + ,T_ACI_RTC_DATE *date_s + ,T_ACI_RTC_TIME *time_s + ,int * timeZone + ); + +EXTERN T_ACI_RETURN sAT_PercentCTZV ( T_ACI_CMD_SRC srcId, + T_ACI_PCTZV_MODE mode); + +EXTERN T_ACI_RETURN sAT_PercentCNIV ( T_ACI_CMD_SRC srcId, + T_ACI_CNIV_MODE mode); + +EXTERN T_ACI_RETURN qAT_PlusCTZU ( T_ACI_CMD_SRC srcId, + T_ACI_CTZU_MODE *mode); + +EXTERN T_ACI_RETURN qAT_PercentCTZV ( T_ACI_CMD_SRC srcId, + T_ACI_PCTZV_MODE *mode); + +EXTERN T_ACI_RETURN qAT_PercentCNIV ( T_ACI_CMD_SRC srcId, + T_ACI_CNIV_MODE *mode); + +EXTERN T_ACI_RETURN sAT_PercentCWUP ( T_ACI_CMD_SRC srcId, + T_ACI_CWUP_TYPE type); + + +EXTERN T_ACI_RETURN sAT_PercentCSCN ( T_ACI_CMD_SRC srcId, + T_ACI_SS_CSCN_MOD_STATE ss_switch, + T_ACI_SS_CSCN_MOD_DIRECTION ss_direction, + T_ACI_CC_CSCN_MOD_STATE cc_switch, + T_ACI_CC_CSCN_MOD_DIRECTION cc_direction ); + +EXTERN T_ACI_RETURN qAT_PercentCSCN ( T_ACI_CMD_SRC srcId, + T_ACI_SS_CSCN_MOD_STATE *ss_switch, + T_ACI_SS_CSCN_MOD_DIRECTION *ss_direction, + T_ACI_CC_CSCN_MOD_STATE *cc_switch, + T_ACI_CC_CSCN_MOD_DIRECTION *cc_direction ); +#if defined FF_EOTD +EXTERN T_ACI_RETURN sAT_PlusCLSA ( T_ACI_CMD_SRC srcId, + CHAR* mlcsc, + CHAR* mlcda ); + +EXTERN T_ACI_RETURN qAT_PlusCLSA ( T_ACI_CMD_SRC srcId, + CHAR* mlcsc, + CHAR* mlcda); + +#endif /* FF_EOTD */ +#ifdef FF_EOTD +EXTERN T_ACI_RETURN sAT_PlusCLPS ( T_ACI_CMD_SRC srcId, + CHAR clpsset, + CHAR* lcclientId, + USHORT cltimer); +EXTERN T_ACI_RETURN sAT_PlusCLSR ( T_ACI_CMD_SRC srcId, + CHAR lcnotify, + CHAR lcconfirm, + CHAR* lcclientId); +EXTERN T_ACI_RETURN sAT_PlusCLOM ( T_ACI_CMD_SRC srcId, + CHAR clomset, + CHAR* lc_clientId ); +EXTERN T_ACI_RETURN qAT_PlusCLOM ( T_ACI_CMD_SRC srcId, + UBYTE * number_lc_clients, + T_LOC_SERV_PARA ** client_list); +EXTERN T_ACI_RETURN qAT_PlusCLPS ( T_ACI_CMD_SRC srcId, + UBYTE * number_lc_clients, + T_LOC_SERV_PARA ** client_list); + +#endif /* FF_EOTD */ + +EXTERN T_ACI_RETURN sAT_PlusCIND ( T_ACI_CMD_SRC srcId, + T_ACI_CIND_SIGNAL_TYPE sCindSgnalSettings, + T_ACI_CIND_SMSFULL_TYPE sCindSmsFullSettings ); + +EXTERN T_ACI_RETURN qAT_PlusCIND ( T_ACI_CMD_SRC srcId, + T_ACI_CIND_SIGNAL_TYPE *sCindSgnalSettings, + T_ACI_CIND_SMSFULL_TYPE *sCindSmsFullSettings ); + +EXTERN T_ACI_RETURN sAT_PlusCMER ( T_ACI_CMD_SRC srcId, + T_ACI_CMER_MODE_TYPE sCmerModeSettings, + T_ACI_CMER_IND_TYPE sCmerIndicationSettings, + T_ACI_CMER_BFR_TYPE sCmerBfrSettings ); + +EXTERN T_ACI_RETURN qAT_PlusCMER ( T_ACI_CMD_SRC srcId, + T_ACI_CMER_MODE_TYPE *sCmerModeSettings, + T_ACI_CMER_IND_TYPE *sCmerIndicationSettings, + T_ACI_CMER_BFR_TYPE *sCmerBfrSettings ); + +EXTERN T_ACI_RETURN sAT_PercentCUSCFG ( T_ACI_CMD_SRC srcId, + T_ACI_CUSCFG_FAC facility, + T_ACI_CUSCFG_MOD mode, + CHAR * value); + +EXTERN T_ACI_RETURN qAT_PercentCUSCFG ( T_ACI_CMD_SRC srcId, + T_ACI_CUSCFG_FAC facility, + T_ACI_CUSCFG_STAT *status); + +EXTERN T_ACI_RETURN sAT_PercentCUSDR (T_ACI_CMD_SRC srcId, T_ACI_CUSDR_RES response); + + +EXTERN void cmhMM_GetCmerSettings ( T_ACI_CMD_SRC srcId, + T_ACI_MM_CMER_VAL_TYPE *sCmerSettings ); + +EXTERN T_ACI_RETURN sAT_PlusCMMS ( T_ACI_CMD_SRC srcId, + UBYTE mode ); + +EXTERN T_ACI_RETURN qAT_PlusCMMS ( T_ACI_CMD_SRC srcId, + UBYTE* mode); + + +EXTERN T_ACI_RETURN qAT_PercentSTDR ( T_ACI_CMD_SRC srcId, + UBYTE *rvstd); + +EXTERN T_ACI_RETURN sAT_PercentCMGL ( T_ACI_CMD_SRC srcId, + T_ACI_SMS_STAT state, + T_ACI_SMS_READ rdMode ); + +EXTERN T_ACI_RETURN sAT_PercentCMGR_Gl ( T_ACI_CMD_SRC srcId, + UBYTE index, + T_ACI_SMS_READ rdMode, + T_CMGR_FCT rplyCB ); + +EXTERN T_ACI_RETURN sAT_PercentCMGR ( T_ACI_CMD_SRC srcId, + UBYTE index, + T_ACI_SMS_READ rdMode ); + + +/*------- call-backs for MMI --------------------------------------*/ + +#if defined ACI OR defined SMI OR defined MFW OR defined FF_MMI_RIV OR defined _CONC_TESTING_ +#if defined CMH_F_C /*lint -save -e18 */ /* Turn off Lint errors for this "construct" */ + +EXTERN void rAT_OK ( void ); +EXTERN void rAT_NO_CARRIER ( void ); +EXTERN void rAT_CONNECT ( void ); +EXTERN void rAT_BUSY ( void ); +EXTERN void rAT_NO_ANSWER ( void ); +EXTERN void rAT_PlusCME ( void ); +EXTERN void rAT_PlusCMS ( void ); + +EXTERN void rAT_PercentCOPS ( void ); +EXTERN void rAT_PlusCPIN ( void ); +EXTERN void rAT_PlusCREG ( void ); +EXTERN void rAT_PercentCREG ( void ); +EXTERN void rAT_PlusCRING ( void ); +EXTERN void rAT_PlusCRING_OFF ( void ); +EXTERN void rAT_PlusCLIP ( void ); +EXTERN void rAT_PlusCDIP ( void ); +EXTERN void rAT_PlusCLIR ( void ); +EXTERN void rAT_PlusCOLP ( void ); +EXTERN void rAT_PlusDR ( void ); +EXTERN void rAT_PlusCR ( void ); +EXTERN void rAT_PlusCLCK ( void ); +EXTERN void rAT_PlusCCFC ( void ); +EXTERN void rAT_PlusCCWA ( void ); +EXTERN void rAT_PlusCSMS ( void ); +EXTERN void rAT_PlusCPMS ( void ); +EXTERN void rAT_PlusCMS ( void ); +EXTERN void rAT_PlusCBMI ( void ); +EXTERN void rAT_PlusCMT ( void ); +EXTERN void rAT_PlusCMTI ( void ); +EXTERN void rAT_PlusCMGS ( void ); +EXTERN void rAT_PlusCMSS ( void ); +EXTERN void rAT_PlusCMGW ( void ); +EXTERN void rAT_PlusCMGC ( void ); +EXTERN void rAT_PlusCDS ( void ); +EXTERN void rAT_PlusCBM ( void ); +EXTERN void rAT_PlusILRR ( void ); +EXTERN void rAT_PlusCMGR ( void ); +EXTERN void rAT_PlusCMGD ( void ); +EXTERN void rAT_PlusCMGL ( void ); +EXTERN void rAT_PlusCUSD ( void ); +EXTERN void rAT_PlusCCCM ( void ); +EXTERN void rAT_PlusCSSI ( void ); +EXTERN void rAT_PlusCSSU ( void ); +EXTERN void rAT_PercentCSSN ( void ); +EXTERN void rAT_PercentCCCN ( void ); + +EXTERN void rAT_PlusCPOL ( void ); +EXTERN void rAT_PlusCLAN ( void ); +EXTERN void rAT_PlusCLAE ( void ); +EXTERN void rAT_PercentCSQ ( void ); + +EXTERN void rAT_PlusCIMI ( void ); +EXTERN void rAT_PlusCNUM ( void ); +EXTERN void rAT_PlusCRSM ( void ); +EXTERN void rAT_PlusCSIM ( void ); +EXTERN void rAT_PercentRDL ( void ); +EXTERN void rAT_PercentRDLB ( void ); +EXTERN void rAT_PlusCCWV ( void ); +EXTERN void rAT_PercentBC ( void ); +EXTERN void rAT_PercentDRV ( void ); +EXTERN void rAT_PercentSIMREM ( void ); +EXTERN void rAT_PercentSIMINS ( void ); +EXTERN void rAT_PercentCOLR ( void ); +EXTERN void rAT_PercentKSIR ( void ); +EXTERN void rAT_PercentCPI ( void ); +EXTERN void rAT_PercentCSTAT ( void ); +EXTERN void rAT_PercentCPRSM ( void ); + +EXTERN void rAT_PercentCTYI ( void ); +EXTERN void rAT_PercentCTV ( void ); +EXTERN void rAT_PercentALS ( void ); +#ifdef SIM_TOOLKIT +EXTERN void rAT_PercentSATI ( void ); +EXTERN void rAT_PercentSATE ( void ); +EXTERN void rAT_PercentSATN ( void ); +EXTERN void rAT_PercentSATA ( void ); +#endif /* SIM_TOOLKIT */ +EXTERN void rAT_PercentCCBS ( void ); +EXTERN void rAT_PercentCNAP ( void ); +EXTERN void rAT_PlusCTZV ( void ); +EXTERN void rAT_SignalSMS ( void ); +/*#ifdef FF_MMI_RIV*/ +EXTERN void rAT_PercentCTZV ( void ); +EXTERN void rAT_PercentCNIV ( void); +/*#endif*/ +EXTERN void rAT_phb_status ( void ); +EXTERN void rAT_sms_ready ( void ); /* indicates phonebook read ready */ + +#ifdef FF_EM_MODE +EXTERN void rAT_PercentEM ( void ); +EXTERN void rAT_PercentEMET ( void ); +EXTERN void rAT_PercentEMETS ( void ); +#endif /* FF_EM_MODE */ + +EXTERN void rAT_PlusCIEV ( void ); +EXTERN void rAT_Z ( void ); +EXTERN void rAT_PlusCOPS ( void ); + +#ifdef FF_WAP +EXTERN void rAT_WAP_PPP_connected(SHORT cId,ULONG IPAddress); + +EXTERN void rAT_WAP_start_login(void); +EXTERN void rAT_WAP_start_gprs_login(void); + +EXTERN void rAT_WAP_call_disconnected(SHORT cId); +#endif /* WAP */ + +EXTERN void rAT_PercentCPRI(void); +EXTERN void rAT_PercentSIMEF(void); +EXTERN void rAT_PercentCMGR ( void ); + +#ifdef FF_BAT +EXTERN void rBAT_OK (void); +EXTERN void rBAT_CONNECT (void); +EXTERN void rBAT_PlusCME (void); +EXTERN void rBAT_NO_CARRIER (void); +EXTERN void rBAT_PlusCRING (void); +EXTERN void rBAT_PlusDR (void); +EXTERN void rBAT_PlusCR (void); +EXTERN void rBAT_PlusCPIN (void); +EXTERN void rBAT_PlusCOPS (void); +EXTERN void rBAT_PercentCOPS (void); +EXTERN void rBAT_PlusCREG (void); +EXTERN void rBAT_PlusCCWA (void); +EXTERN void rBAT_PlusCLIP (void); +EXTERN void rBAT_PlusCDIP (void); +EXTERN void rBAT_PlusCOLP (void); +EXTERN void rBAT_PlusCRING_OFF (void); +EXTERN void rBAT_PlusFCO (void); +EXTERN void rBAT_PlusFIS (void); +EXTERN void rBAT_PlusFTI (void); +EXTERN void rBAT_PlusFCS (void); +EXTERN void rBAT_PlusFCI (void); +EXTERN void rBAT_PlusCMS (void); +EXTERN void rBAT_PlusCSMS (void); +EXTERN void rBAT_PlusCMGS (void); +EXTERN void rBAT_PlusCMSS (void); +EXTERN void rBAT_PlusCMGW (void); +EXTERN void rBAT_PlusCDS (void); +EXTERN void rBAT_PlusCMGC (void); +EXTERN void rBAT_PlusCMGD (void); +EXTERN void rBAT_PlusCMGR (void); +EXTERN void rBAT_PlusCMGL (void); +EXTERN void rBAT_PlusCMTI (void); +EXTERN void rBAT_PlusCMT (void); +EXTERN void rBAT_PlusCMTI (void); +EXTERN void rBAT_PlusCMT (void); +EXTERN void rBAT_PlusCBM (void); +EXTERN void rBAT_PlusCPMS (void); +EXTERN void rBAT_PlusFHT (void); +EXTERN void rBAT_PlusFHR (void); +EXTERN void rBAT_PlusFSA (void); +EXTERN void rBAT_PlusFPA (void); +EXTERN void rBAT_PlusFPW (void); +EXTERN void rBAT_PlusFET (void); +EXTERN void rBAT_PlusFVO (void); +EXTERN void rBAT_PlusFPO (void); +EXTERN void rBAT_PlusFPI (void); +EXTERN void rBAT_PlusFNF (void); +EXTERN void rBAT_PlusFNS (void); +EXTERN void rBAT_PlusFNC (void); +EXTERN void rBAT_PlusFHS (void); +EXTERN void rBAT_PlusFPS (void); +EXTERN void rBAT_PlusFTC (void); +EXTERN void rBAT_PlusILRR (void); +EXTERN void rBAT_BUSY (void); +EXTERN void rBAT_NO_ANSWER (void); +EXTERN void rBAT_PercentSIMREM (void); +EXTERN void rBAT_PlusCLIR (void); +EXTERN void rBAT_PercentCOLR (void); +EXTERN void rBAT_PlusCSSI (void); +EXTERN void rBAT_PlusCSSU (void); +EXTERN void rBAT_PlusCUSD (void); +EXTERN void rBAT_PlusCCFC (void); +EXTERN void rBAT_PlusCLCK (void); +EXTERN void rBAT_PlusCIMI (void); +#ifdef SIM_TOOLKIT +EXTERN void rBAT_PercentSATI (void); +EXTERN void rBAT_PercentSATE (void); +#endif +EXTERN void rBAT_PercentKSIR (void); +EXTERN void rBAT_PercentCPI (void); +EXTERN void rBAT_PercentCTYI (void); +EXTERN void rBAT_PlusCNUM (void); +EXTERN void rBAT_PlusCPOL (void); +EXTERN void rBAT_PlusCCCM (void); +EXTERN void rBAT_PercentCTV (void); +#ifdef SIM_TOOLKIT +EXTERN void rBAT_PercentSATN (void); +EXTERN void rBAT_PercentSATA (void); +#endif /* SIM_TOOLKIT */ +EXTERN void rBAT_sms_ready (void); +EXTERN void rBAT_phb_status (void); +EXTERN void rBAT_PercentSIMINS (void); +EXTERN void rBAT_PlusCRSM (void); +EXTERN void rBAT_PlusCSIM (void); +EXTERN void rBAT_PercentCCBS (void); +EXTERN void rBAT_PlusCCWV (void); +EXTERN void rBAT_PercentCNAP (void); +EXTERN void rBAT_SignalSMS (void); +EXTERN void rBAT_PlusCLAN (void); +EXTERN void rBAT_PlusCLAE (void); +EXTERN void rBAT_PercentCSQ (void); +EXTERN void rBAT_PercentALS (void); +EXTERN void rBAT_PlusCTZV (void); +EXTERN void rBAT_PercentCREG (void); +#ifdef GPRS +EXTERN void rBAT_PlusCGACT (void); +EXTERN void rBAT_PlusCGDATA (void); +EXTERN void rBAT_PlusCGANS (void); +EXTERN void rBAT_PlusCGEREP (void); +EXTERN void rBAT_PlusCGREG (void); +EXTERN void rBAT_changedQOS (void); +EXTERN void rBAT_PercentSNCNT (void); +EXTERN void rBAT_PercentCGREG (void); +#endif /* GPRS */ +EXTERN void rBAT_PercentEM (void); +EXTERN void rBAT_PercentEMET (void); +EXTERN void rBAT_PercentEMETS (void); +EXTERN void rBAT_PercentCPNUMS (void); +EXTERN void rBAT_PercentCPVWI (void); +EXTERN void rBAT_PercentCPROAM (void); +EXTERN void rBAT_PlusCIEV (void); +EXTERN void rBAT_PercentRDL (void); +EXTERN void rBAT_PercentRDLB (void); +EXTERN void rBAT_PercentCCCN (void); +EXTERN void rBAT_PercentCSSN (void); +EXTERN void rBAT_PercentCSTAT (void); +EXTERN void rBAT_Z (void); +EXTERN void rBAT_PercentCPRSM (void); +EXTERN void rBAT_PercentCTZV (void); +EXTERN void rBAT_PercentCNIV (void); +#ifdef GPRS +EXTERN void rBAT_PercentCGEV (void); +#endif /* GPRS */ +EXTERN void rBAT_PercentCPRI (void); +EXTERN void rBAT_PercentSIMEF (void); +#endif /* FF_BAT */ + +EXTERN void rAT_PercentCMGL ( void ); +EXTERN void rBAT_PercentCMGR (void); +EXTERN void rBAT_PercentCMGL (void); + +/*lint -restore */ +#else /* CMH_F_C */ + +EXTERN void rAT_OK ( T_ACI_AT_CMD ); +EXTERN void rAT_NO_CARRIER( T_ACI_AT_CMD cmdId, + SHORT cId ); +EXTERN void rAT_CONNECT ( T_ACI_AT_CMD cmdId, + T_ACI_BS_SPEED speed, + SHORT cId ); +EXTERN void rAT_BUSY ( T_ACI_AT_CMD cmdId, + SHORT cId ); +EXTERN void rAT_NO_ANSWER ( T_ACI_AT_CMD cmdId, + SHORT cId ); +EXTERN void rAT_PlusCME ( T_ACI_AT_CMD cmdId, + T_ACI_CME_ERR err ); +EXTERN void rAT_PlusCMS ( T_ACI_AT_CMD cmdId, + T_ACI_CMS_ERR err, + T_EXT_CMS_ERROR * conc_error); +EXTERN void rAT_PlusCOPS ( SHORT lastIdx, + T_ACI_COPS_OPDESC * operLst); +EXTERN void rAT_PercentCOPS ( SHORT lastIdx, + T_ACI_COPS_OPDESC * operLst); +EXTERN void rAT_PlusCPIN ( T_ACI_CPIN_RSLT rslt ); +EXTERN void rAT_PlusCREG ( T_ACI_CREG_STAT status , + USHORT lac, + USHORT cid ); +EXTERN void rAT_PercentCREG ( T_ACI_CREG_STAT status , + USHORT lac, + USHORT cid, + T_ACI_P_CREG_GPRS_IND gprs_ind); +EXTERN void rAT_PlusCRING ( T_ACI_CRING_MOD mode, + T_ACI_CRING_TYP type1, + T_ACI_CRING_TYP type2 ); +EXTERN void rAT_PlusCRING_OFF ( SHORT cId ); +#ifdef NO_ASCIIZ +EXTERN void rAT_PlusCLIP ( T_ACI_CLIP_STAT stat, + CHAR * number, + T_ACI_TOA * type, + U8 validity, + CHAR * subaddr, + T_ACI_TOS * satype, + T_ACI_PB_TEXT * alpha); +#else /* ifdef NO_ASCIIZ */ +EXTERN void rAT_PlusCLIP ( T_ACI_CLIP_STAT stat, + CHAR * number, + T_ACI_TOA * type, + U8 validity, + CHAR * subaddr, + T_ACI_TOS * satype, + CHAR * alpha); +#endif /* ifdef NO_ASCIIZ */ + +EXTERN void rAT_PlusCDIP ( CHAR * number, + T_ACI_TOA * type, + CHAR * subaddr, + T_ACI_TOS * satype); + + +EXTERN void rAT_PlusCLIR ( T_ACI_CLIR_MOD mode, + T_ACI_CLIR_STAT stat); +#ifdef NO_ASCIIZ +EXTERN void rAT_PlusCOLP ( T_ACI_COLP_STAT stat, + CHAR * number, + T_ACI_TOA * type, + CHAR * subaddr, + T_ACI_TOS * satype, + T_ACI_PB_TEXT * alpha); +#else /* ifdef NO_ASCIIZ */ +EXTERN void rAT_PlusCOLP ( T_ACI_COLP_STAT stat, + CHAR * number, + T_ACI_TOA * type, + CHAR * subaddr, + T_ACI_TOS * satype, + CHAR * alpha); +#endif /* ifdef NO_ASCIIZ */ +EXTERN void rAT_PlusDR ( T_ACI_DR_TYP type ); +EXTERN void rAT_PlusCR ( T_ACI_CR_SERV service); +EXTERN void rAT_PlusCLCK ( T_ACI_CLSSTAT * clsStat); +EXTERN void rAT_PlusCCFC ( T_ACI_CCFC_SET* setting); +#ifdef NO_ASCIIZ +EXTERN void rAT_PlusCCWA ( T_ACI_CLSSTAT * clsStat, + CHAR * number, + T_ACI_TOA * type, + U8 validity, + T_ACI_CLASS class_type, + T_ACI_PB_TEXT * alpha); +#else /* ifdef NO_ASCIIZ */ +EXTERN void rAT_PlusCCWA ( T_ACI_CLSSTAT * clsStat, + CHAR * number, + T_ACI_TOA * type, + U8 validity, + T_ACI_CLASS class_type, + CHAR * alpha); +#endif /* ifdef NO_ASCIIZ */ +EXTERN void rAT_PlusCSMS ( T_ACI_CSMS_SERV service, + T_ACI_CSMS_SUPP mt, + T_ACI_CSMS_SUPP mo, + T_ACI_CSMS_SUPP bm); +EXTERN void rAT_PlusCPMS ( T_ACI_SMS_STOR_OCC * mem1, + T_ACI_SMS_STOR_OCC * mem2, + T_ACI_SMS_STOR_OCC * mem3); +EXTERN void rAT_PlusCMS ( T_ACI_AT_CMD cmdId, + T_ACI_CMS_ERR err, + T_EXT_CMS_ERROR * conc_error); +EXTERN void rAT_PlusCBMI ( T_ACI_SMS_STOR mem, + UBYTE index); +EXTERN void rAT_PlusCMT ( T_ACI_CMGL_SM* sm); + +EXTERN void rAT_PlusCMTI ( T_ACI_SMS_STOR mem, + UBYTE index, + T_ACI_CMGL_SM* sm); +EXTERN void rAT_PlusCMGS ( UBYTE mr, + UBYTE numSeg); +EXTERN void rAT_PlusCMSS ( UBYTE mr, + UBYTE numSeg); +EXTERN void rAT_PlusCMGW ( UBYTE index, + UBYTE numSeg); +EXTERN void rAT_PlusCMGC ( UBYTE mr); +EXTERN void rAT_PlusCDS ( T_ACI_CDS_SM* st); + +EXTERN void rAT_PlusCDSPdu(T_MNSMS_STATUS_IND * mnsms_status_ind); + +EXTERN void rAT_PlusCBM ( SHORT sn, + SHORT mid, + SHORT dcs, + UBYTE page, + UBYTE pages, + T_ACI_CBM_DATA* data); +EXTERN void rAT_PlusILRR ( T_ACI_BS_SPEED speed, + T_ACI_BS_FRM format, + T_ACI_BS_PAR parity); +EXTERN void rAT_PlusCMGR ( T_ACI_CMGL_SM* sm, + T_ACI_CMGR_CBM* cbm ); +EXTERN void rAT_PlusCMGD ( ); +EXTERN void rAT_PlusCMGL ( T_ACI_CMGL_SM *smLst); +EXTERN void rAT_PlusCUSD ( T_ACI_CUSD_MOD m, + T_ACI_USSD_DATA *ussd, + SHORT dcs); +EXTERN void rAT_PlusCCCM ( LONG *ccm); +EXTERN void rAT_PlusCSSI ( T_ACI_CSSI_CODE code, + SHORT index); +EXTERN void rAT_PlusCSSU ( T_ACI_CSSU_CODE code, + SHORT index, + CHAR *number, + T_ACI_TOA *type, + CHAR *subaddr, + T_ACI_TOS *satype); +EXTERN void rAT_PercentCCCN ( T_ACI_FAC_DIR tDirection, + SHORT cId, + T_fac_inf *acFie ); +EXTERN void rAT_PercentCSSN ( T_ACI_FAC_DIR tDirection, + T_ACI_FAC_TRANS_TYPE tType, + T_fac_inf *acFie ); + +EXTERN void rAT_PlusCPOL ( SHORT startIdx, + SHORT lastIdx, + T_ACI_CPOL_OPDESC *operLst, + SHORT usdNtry ); + +EXTERN void rAT_PlusCLAN ( T_ACI_LAN_SUP *CLang); +EXTERN void rAT_PlusCLAE ( T_ACI_LAN_SUP *CLang); + +EXTERN void rAT_PercentCSQ (UBYTE rssi, UBYTE ber, UBYTE actlevel); + +EXTERN void rAT_PlusCIMI ( CHAR *imsi); +EXTERN void rAT_PlusCNUM ( T_ACI_CNUM_MSISDN *msisdn, + UBYTE num ); +EXTERN void rAT_PlusCRSM ( SHORT sw1, + SHORT sw2, + SHORT rspLen, + UBYTE *rsp ); +EXTERN void rAT_PlusCSIM ( SHORT rspLen, + UBYTE *rsp ); +EXTERN void rAT_PlusCCWV ( T_ACI_CCWV_CHRG charging ); +EXTERN void rAT_PercentSQ ( BYTE segm); +EXTERN void rAT_PercentBC ( BYTE segm); +EXTERN void rAT_PercentDRV( T_ACI_DRV_DEV device, + T_ACI_DRV_FCT function, + UBYTE val1, + UBYTE val2); +EXTERN void rAT_PercentSIMREM( T_ACI_SIMREM_TYPE srType ); +EXTERN void rAT_PercentSIMINS( T_ACI_CME_ERR err ); +EXTERN void rAT_PercentCOLR ( T_ACI_COLR_STAT stat); +EXTERN void rAT_PercentCLOG ( T_ACI_CLOG *cmd ); +EXTERN void rAT_PercentKSIR ( T_ACI_KSIR *ksStat); +EXTERN void rAT_PercentCPI ( SHORT cId, + T_ACI_CPI_MSG msgType, + T_ACI_CPI_IBT ibt, + T_ACI_CPI_TCH tch, + USHORT cause ); +EXTERN void rAT_PercentCSTAT (T_ACI_STATE_MSG msgType); + +EXTERN void rAT_PercentCPRSM (T_ACI_CPRSM_MOD mode); + +EXTERN void rAT_PercentALS ( T_ACI_ALS_MOD ALSmode ); + +EXTERN void rAT_PercentCTYI ( T_ACI_CTTY_NEG neg, + T_ACI_CTTY_TRX trx ); +EXTERN void rAT_PercentCTV ( void ); + +#ifdef SIM_TOOLKIT +EXTERN void rAT_PercentSATI ( SHORT len, + UBYTE *satCmd); +EXTERN void rAT_PercentSATE ( SHORT len, + UBYTE *satCmd); +EXTERN void rAT_PercentSATN ( SHORT len, + UBYTE *satCmd, + T_ACI_SATN_CNTRL_TYPE cntrl_type); +#ifdef FF_SAT_E +EXTERN void rAT_PercentSATA ( SHORT cId, + LONG rdlTimeout_ms, + T_ACI_SATA_ADD *addParm); +#else +EXTERN void rAT_PercentSATA ( SHORT cId, + LONG rdlTimeout_ms); +#endif /* FF_SAT_E */ + +EXTERN void rAT_SatFUN ( int ref, T_SIM_FILE_UPDATE_IND* mmi_insert_ind ); +EXTERN void rAT_SatFRN ( int ref, T_SIM_FILE_UPDATE_IND* mmi_insert_ind ); + +#endif /* SIM_TOOLKIT */ +EXTERN void rAT_PercentCCBS ( T_ACI_CCBS_IND indct, + T_ACI_CCBS_STAT status, + T_ACI_CCBS_SET *setting ); +EXTERN void rAT_PercentCNAP ( T_callingName *NameId, T_ACI_CNAP_STATUS status ); +#ifdef FF_TIMEZONE +EXTERN void rAT_PlusCTZV ( S32 time_zone ); +#else +EXTERN void rAT_PlusCTZV ( UBYTE* time_zone ); +#endif /*FF_TIMEZONE*/ +/*#ifdef FF_MMI_RIV*/ +EXTERN void rAT_PercentCTZV ( T_MMR_INFO_IND *mmr_info_ind, S32 timezone); +EXTERN void rAT_PercentCNIV ( T_MMR_INFO_IND *mmr_info_ind); +/*#endif*/ +EXTERN void rAT_SignalSMS ( UBYTE state ); + +EXTERN void rAT_phb_status ( T_ACI_PB_STAT status ); +EXTERN void rAT_sms_ready ( void ); + +EXTERN void rAT_PlusCIEV( T_ACI_MM_CIND_VAL_TYPE sCindValues, T_ACI_MM_CMER_VAL_TYPE sCmerSettings ); + +#ifdef FF_EM_MODE +EXTERN void rAT_PercentEM ( T_EM_VAL *val_tmp ); +EXTERN void rAT_PercentEMET ( T_EM_VAL val_tmp ); +EXTERN void rAT_PercentEMETS ( UBYTE entity ); +#endif /* FF_EM_MODE */ + +EXTERN void rAT_PercentRDL(T_ACI_CC_REDIAL_STATE state); +EXTERN void rAT_PercentRDLB(T_ACI_CC_RDL_BLACKL_STATE state); + +EXTERN void rAT_Z ( void ); + +EXTERN void rAT_PercentCPRI ( UBYTE gsm_ciph, + UBYTE gprs_ciph ); + +EXTERN void rAT_PercentSIMEF( SHORT *ef, + UBYTE count); + +EXTERN void rAT_PercentCMGR ( T_ACI_CMGL_SM* sm, + T_ACI_CMGR_CBM* cbm ); + +EXTERN void rAT_PercentCMGL ( T_ACI_CMGL_SM *smLst); + +#endif /* CMH_F_C */ + +EXTERN void rAT_PercentRLOG ( T_ACI_RLOG *rslt ); +#ifdef FF_WAP +EXTERN void rAT_WAP_PPP_connected(SHORT cId,ULONG IPAddress); + +EXTERN void rAT_WAP_start_login(void); +EXTERN void rAT_WAP_start_gprs_login(void); + +EXTERN void rAT_WAP_call_disconnected(SHORT cId); +#endif /* WAP */ + +#endif /*#if defined SMI OR defined MFW OR FF_MMI_RIV*/ + +#ifdef MFW +/* MMI TEST */ +EXTERN void rAT_PercentMMITEST(char *param); +#endif + +/*--------------- call-backs for AT CI ----------------------------*/ + +#ifdef CMH_F_C /*lint -save -e18 */ /* Turn off Lint errors for this "construct" */ + +EXTERN void rCI_OK ( void ); +EXTERN void rCI_NO_CARRIER ( void ); +EXTERN void rCI_CONNECT ( void ); +EXTERN void rCI_BUSY ( void ); +EXTERN void rCI_NO_ANSWER ( void ); +EXTERN void rCI_PlusCME ( void ); +EXTERN void rCI_PlusCOPS ( void ); +EXTERN void rCI_PercentCOPS ( void ); +EXTERN void rCI_PlusCPIN ( void ); +EXTERN void rCI_PlusCREG ( void ); +EXTERN void rCI_PercentCREG ( void ); +EXTERN void rCI_PlusCRING ( void ); +EXTERN void rCI_PlusCRING_OFF ( void ); +EXTERN void rCI_PlusCLIP ( void ); +EXTERN void rCI_PlusCDIP ( void ); +EXTERN void rCI_PlusCLIR ( void ); +EXTERN void rCI_PercentCSQ ( void ); +EXTERN void rCI_PlusCOLP ( void ); +EXTERN void rCI_PlusDR ( void ); +EXTERN void rCI_PlusCR ( void ); +EXTERN void rCI_PlusCLCK ( void ); +EXTERN void rCI_PlusCCFC ( void ); +EXTERN void rCI_PlusCCWA ( void ); +EXTERN void rCI_PlusCSMS ( void ); +EXTERN void rCI_PlusCPMS ( void ); +EXTERN void rCI_PlusCMS ( void ); +EXTERN void rCI_PlusCBMI ( void ); +EXTERN void rCI_PlusCMT ( void ); +EXTERN void rCI_PlusCMTI ( void ); +EXTERN void rCI_PlusCMGS ( void ); +EXTERN void rCI_PlusCMSS ( void ); +EXTERN void rCI_PlusCMGW ( void ); +EXTERN void rCI_PlusCMGC ( void ); +EXTERN void rCI_PlusCMGD ( void ); +EXTERN void rCI_PlusCDS ( void ); +EXTERN void rCI_PlusCBM ( void ); +EXTERN void rCI_PlusILRR ( void ); +EXTERN void rCI_PlusCMGR ( void ); +EXTERN void rCI_PlusCMGL ( void ); +EXTERN void rCI_PlusCUSD ( void ); +EXTERN void rCI_PlusCCCM ( void ); +EXTERN void rCI_PlusCSSI ( void ); +EXTERN void rCI_PlusCSSU ( void ); +EXTERN void rCI_PlusCPOL ( void ); + +EXTERN void rCI_PlusCLAN ( void ); +EXTERN void rCI_PlusCLAE ( void ); + +EXTERN void rCI_PlusCIMI ( void ); +EXTERN void rCI_PlusCNUM ( void ); +EXTERN void rCI_PlusCRSM ( void ); +EXTERN void rCI_PlusCSIM ( void ); +EXTERN void rCI_PlusCCWV ( void ); +EXTERN void rCI_PercentSQ ( void ); +EXTERN void rCI_PercentBC ( void ); +EXTERN void rCI_PercentDRV ( void ); +EXTERN void rCI_PercentSIMREM ( void ); +EXTERN void rCI_PercentSIMINS ( void ); +EXTERN void rCI_PercentCOLR ( void ); +EXTERN void rCI_PercentKSIR ( void ); +EXTERN void rCI_PercentCPI ( void ); +EXTERN void rCI_PercentCSTAT ( void ); + +EXTERN void rCI_PercentCTYI ( void ); +EXTERN void rCI_PercentCTV ( void ); +EXTERN void rCI_PercentCCCN ( void ); +EXTERN void rCI_PercentCSSN ( void ); +#ifdef SIM_TOOLKIT +EXTERN void rCI_PercentSATI ( void ); +EXTERN void rCI_PercentSATE ( void ); +EXTERN void rCI_PercentSATN ( void ); +EXTERN void rCI_PercentSATA ( void ); +#endif /* SIM_TOOLKIT */ +EXTERN void rCI_PercentCCBS ( void ); +EXTERN void rCI_PercentCNAP ( void ); +EXTERN void rCI_PlusCTZV ( void ); +EXTERN void rCI_PercentCTZV ( void ); +EXTERN void rCI_PercentCNIV ( void ); + +EXTERN void rCI_SignalSMS ( void ); +EXTERN void rCI_PercentCPRSM ( void ); + +EXTERN void rCI_phb_status ( void ); +EXTERN void rCI_sms_ready ( void ); +#ifdef FF_EM_MODE +EXTERN void rCI_PercentEM ( void ); +EXTERN void rCI_PercentEMET ( void ); +EXTERN void rCI_PercentEMETS ( void ); +#endif /* FF_EM_MODE */ +#if defined FF_EOTD +EXTERN void rCI_PlusCLPS ( void ); +#endif +EXTERN void rCI_PercentALS ( void ); +EXTERN void rCI_PercentRDL ( void ); +EXTERN void rCI_PercentRDLB ( void ); +EXTERN void rCI_PlusCIEV ( void ); +EXTERN void rCI_PercentCSTAT ( void ); +EXTERN void rCI_Z ( void ); +EXTERN void rCI_PercentCPRI ( void ); +EXTERN void rCI_PercentSIMEF ( void ); + +EXTERN void rCI_PercentCMGR ( void ); +EXTERN void rCI_PercentCMGL ( void ); + +/*lint -restore */ +#else + +EXTERN void rCI_OK ( T_ACI_AT_CMD cmdId ); +EXTERN void rCI_NO_CARRIER( T_ACI_AT_CMD cmdId, + SHORT cId ); +EXTERN void rCI_CONNECT ( T_ACI_AT_CMD cmdId, + T_ACI_BS_SPEED speed, + SHORT cId, + BOOL flow_cntr); +EXTERN void rCI_BUSY ( T_ACI_AT_CMD cmdId, + SHORT cId ); +EXTERN void rCI_NO_ANSWER ( T_ACI_AT_CMD cmdId, + SHORT cId ); +EXTERN void rCI_PlusCME ( T_ACI_AT_CMD cmdId, + T_ACI_CME_ERR err ); +EXTERN void rCI_PlusCOPS ( SHORT lastIdx, + T_ACI_COPS_OPDESC * operLst); +EXTERN void rCI_PercentCOPS ( SHORT lastIdx, + T_ACI_COPS_OPDESC * operLst); +EXTERN void rCI_PlusCPIN ( T_ACI_CPIN_RSLT rslt ); +EXTERN void rCI_PlusCREG ( T_ACI_CREG_STAT status, + USHORT lac, + USHORT cid ); +EXTERN void rCI_PercentCREG ( T_ACI_CREG_STAT status, + USHORT lac, + USHORT cid, + T_ACI_P_CREG_GPRS_IND gprs_ind); +EXTERN void rCI_PlusCRING ( T_ACI_CRING_MOD mode, + T_ACI_CRING_TYP type1, + T_ACI_CRING_TYP type2 ); +EXTERN void rCI_PlusCRING_OFF ( SHORT cId ); + +EXTERN void rCI_PercentCSQ(UBYTE rssi, UBYTE ber, UBYTE actlevel); + +#ifdef NO_ASCIIZ +EXTERN void rCI_PlusCLIP ( T_ACI_CLIP_STAT stat, + CHAR * number, + T_ACI_TOA * type, + U8 validity, + CHAR * subaddr, + T_ACI_TOS * satype, + T_ACI_PB_TEXT * alpha); +#else /* ifdef NO_ASCIIZ */ +EXTERN void rCI_PlusCLIP ( T_ACI_CLIP_STAT stat, + CHAR * number, + T_ACI_TOA * type, + U8 validity, + CHAR * subaddr, + T_ACI_TOS * satype, + CHAR * alpha); +#endif /* ifdef NO_ASCIIZ */ + +EXTERN void rCI_PlusCDIP ( CHAR * number, + T_ACI_TOA * type, + CHAR * subaddr, + T_ACI_TOS * satype); + + +EXTERN void rCI_PlusCLIR ( T_ACI_CLIR_MOD mode, + T_ACI_CLIR_STAT stat); +#ifdef NO_ASCIIZ +EXTERN void rCI_PlusCOLP ( T_ACI_COLP_STAT stat, + CHAR * number, + T_ACI_TOA * type, + CHAR * subaddr, + T_ACI_TOS * satype, + T_ACI_PB_TEXT * alpha); +#else /* ifdef NO_ASCIIZ */ +EXTERN void rCI_PlusCOLP ( T_ACI_COLP_STAT stat, + CHAR * number, + T_ACI_TOA * type, + CHAR * subaddr, + T_ACI_TOS * satype, + CHAR * alpha); +#endif /* ifdef NO_ASCIIZ */ +EXTERN void rCI_PlusDR ( T_ACI_DR_TYP type ); +EXTERN void rCI_PlusCR ( T_ACI_CR_SERV service); +EXTERN void rCI_PlusCLCK ( T_ACI_CLSSTAT * clsStat); +EXTERN void rCI_PlusCCFC ( T_ACI_CCFC_SET* setting); +#ifdef NO_ASCIIZ +EXTERN void rCI_PlusCCWA ( T_ACI_CLSSTAT * clsStatLst, + CHAR * number, + T_ACI_TOA * type, + U8 validity, + T_ACI_CLASS class_type, + T_ACI_PB_TEXT * alpha); +#else /* ifdef NO_ASCIIZ */ +EXTERN void rCI_PlusCCWA ( T_ACI_CLSSTAT * clsStatLst, + CHAR * number, + T_ACI_TOA * type, + U8 validity, + T_ACI_CLASS class_type, + CHAR * alpha); +#endif /* ifdef NO_ASCIIZ */ +EXTERN void rCI_PlusCSMS ( T_ACI_CSMS_SERV service, + T_ACI_CSMS_SUPP mt, + T_ACI_CSMS_SUPP mo, + T_ACI_CSMS_SUPP bm); +EXTERN void rCI_PlusCPMS ( T_ACI_SMS_STOR_OCC * mem1, + T_ACI_SMS_STOR_OCC * mem2, + T_ACI_SMS_STOR_OCC * mem3); +EXTERN void rCI_PlusCMS ( T_ACI_AT_CMD cmdId, + T_ACI_CMS_ERR err, + T_EXT_CMS_ERROR * conc_error); +EXTERN void rCI_PlusCBMI ( T_ACI_SMS_STOR mem, + UBYTE index); +EXTERN void rCI_PlusCMT ( T_MNSMS_MESSAGE_IND * mnsms_message_ind); +EXTERN void rCI_PlusCMTI ( T_ACI_SMS_STOR mem, + UBYTE index); +EXTERN void rCI_PlusCMGS ( T_MNSMS_SUBMIT_CNF * mnsms_submit_cnf); +EXTERN void rCI_PlusCMSS ( T_MNSMS_SUBMIT_CNF * mnsms_submit_cnf); +EXTERN void rCI_PlusCMGW ( UBYTE index); +EXTERN void rCI_PlusCMGC ( T_MNSMS_COMMAND_CNF * mnsms_command_cnf); +EXTERN void rCI_PlusCMGD ( ); +#ifndef CST_EXTS_C +EXTERN void rCI_PlusCBM ( T_MMI_CBCH_IND * mmi_cbch_ind); +#endif +EXTERN void rCI_PlusCDS ( T_MNSMS_STATUS_IND * mnsms_status_ind); +EXTERN void rCI_PlusILRR ( T_ACI_BS_SPEED speed, + T_ACI_BS_FRM format, + T_ACI_BS_PAR parity); +EXTERN void rCI_PlusCMGR ( T_MNSMS_READ_CNF* mnsms_read_cnf, + T_ACI_CMGR_CBM * cbm); +EXTERN void rCI_PlusCMGL ( T_MNSMS_READ_CNF *mnsms_read_cnf); +EXTERN void rCI_PlusCUSD ( T_ACI_CUSD_MOD m, + T_ACI_USSD_DATA *ussd, + SHORT dcs); +EXTERN void rCI_PlusCCCM ( LONG *ccm); +EXTERN void rCI_PlusCSSI ( T_ACI_CSSI_CODE code, + SHORT index); +EXTERN void rCI_PlusCSSU ( T_ACI_CSSU_CODE code, + SHORT index, + CHAR *number, + T_ACI_TOA *type, + CHAR *subaddr, + T_ACI_TOS *satype); +EXTERN void rCI_PlusCPOL ( SHORT startIdx, + SHORT lastIdx, + T_ACI_CPOL_OPDESC *operLst, + SHORT usdNtry ); + +EXTERN void rCI_PlusCLAN ( T_ACI_LAN_SUP *CLang); +EXTERN void rCI_PlusCLAE ( T_ACI_LAN_SUP *CLang); + +EXTERN void rCI_PlusCIMI ( CHAR *imsi); +EXTERN void rCI_PlusCNUM ( T_ACI_CNUM_MSISDN *msisdn, + UBYTE num ); +EXTERN void rCI_PlusCRSM ( SHORT sw1, + SHORT sw2, + SHORT rspLen, + UBYTE *rsp ); +EXTERN void rCI_PlusCSIM ( SHORT rspLen, + UBYTE *rsp ); +EXTERN void rCI_PlusCCWV ( T_ACI_CCWV_CHRG charging ); +EXTERN void rCI_PercentSQ ( BYTE segm); +EXTERN void rCI_PercentBC ( BYTE segm); +EXTERN void rCI_PercentDRV( T_ACI_DRV_DEV device, + T_ACI_DRV_FCT function, + UBYTE val1, + UBYTE val2); +EXTERN void rCI_PercentSIMREM( T_ACI_SIMREM_TYPE srType ); +EXTERN void rCI_PercentSIMINS( T_ACI_CME_ERR err ); +EXTERN void rCI_PercentCOLR ( T_ACI_COLR_STAT stat); +EXTERN void rCI_PercentKSIR ( T_ACI_KSIR *ksStat); +EXTERN void rCI_PercentCPI ( SHORT cId, + T_ACI_CPI_MSG msgType, + T_ACI_CPI_IBT ibt, + T_ACI_CPI_TCH tch, + USHORT cause); +EXTERN void rCI_PercentCSTAT (T_ACI_STATE_MSG msgType); + +EXTERN void rCI_PercentCTYI ( T_ACI_CTTY_NEG neg, + T_ACI_CTTY_TRX trx ); + +EXTERN void rCI_PercentCSSN (T_ACI_FAC_DIR tDirection, + T_ACI_FAC_TRANS_TYPE tType, + T_fac_inf *fie); +#ifdef SIM_TOOLKIT +EXTERN void rCI_PercentSATN ( SHORT len, + UBYTE *satCmd, + T_ACI_SATN_CNTRL_TYPE cntrl_type); +#ifdef FF_SAT_E +EXTERN void rCI_PercentSATA ( SHORT cId, + LONG rdlTimeout_ms, + T_ACI_SATA_ADD *addParm); +#else +EXTERN void rCI_PercentSATA ( SHORT cId, + LONG rdlTimeout_ms); +#endif /* FF_SAT_E */ +EXTERN void rCI_PercentSATI ( SHORT len, + UBYTE *satCmd); +EXTERN void rCI_PercentSATE ( SHORT len, + UBYTE *satCmd); +#endif /* SIM_TOOLKIT */ +EXTERN void rCI_PercentCCBS ( T_ACI_CCBS_IND indct, + T_ACI_CCBS_STAT status, + T_ACI_CCBS_SET *setting, + BOOL internediate_result); +EXTERN void rCI_PercentCNAP ( T_callingName *NameId, T_ACI_CNAP_STATUS status ); +#ifdef FF_TIMEZONE +EXTERN void rCI_PlusCTZV ( S32 timezone ); +#else +EXTERN void rCI_PlusCTZV ( UBYTE* timezone ); +#endif +EXTERN void rCI_PercentCTZV ( T_MMR_INFO_IND *mmr_info_ind, S32 timezone ); +EXTERN void rCI_PercentCNIV ( T_MMR_INFO_IND *mmr_info_ind); + +EXTERN void rCI_PlusCMS_Conc ( T_ACI_AT_CMD cmdId, + T_ACI_CMS_ERR err, + T_EXT_CMS_ERROR *conc_error ); +EXTERN void rCI_SignalSMS ( UBYTE state ); + +EXTERN void rCI_PercentCPRSM ( T_ACI_CPRSM_MOD mode ); + +EXTERN void rCI_PercentCTV ( void ); +/*EXTERN void rAT_phb_status ( T_ACI_PB_STAT status );*/ +EXTERN void rCI_phb_status ( T_ACI_PB_STAT status ); +EXTERN void rCI_sms_ready ( void ); +#ifdef FF_EM_MODE +EXTERN void rCI_PercentEM ( T_EM_VAL * val_tmp ); +EXTERN void rCI_PercentEMET ( T_DRV_SIGNAL_EM_EVENT * Signal ); +EXTERN void rCI_PercentEMETS ( UBYTE entity ); +#endif /* FF_EM_MODE */ + + +EXTERN void rCI_PercentCPRI ( UBYTE gsm_ciph, + UBYTE gprs_ciph ); + +EXTERN void rCI_PercentSIMEF ( SHORT *ef, + UBYTE count); +#if defined FF_EOTD +EXTERN void rCI_PlusCLPS ( UBYTE srcId, T_LOC_POS_DATA * lc_data ); +#endif +EXTERN void rCI_PercentALS ( T_ACI_ALS_MOD ALSmode ); +EXTERN void rCI_PlusCIEV ( T_ACI_MM_CIND_VAL_TYPE sCindValues, + T_ACI_MM_CMER_VAL_TYPE sCmerSettings ); +EXTERN void rCI_PercentRDL ( T_ACI_CC_REDIAL_STATE state ); +EXTERN void rCI_PercentRDLB( T_ACI_CC_RDL_BLACKL_STATE state ); +EXTERN void rCI_PercenCCCN ( char *sFieString, T_ACI_FAC_DIR uiDir, short cId ); +EXTERN void rCI_PercenCSSN ( char *sFieString, T_ACI_FAC_DIR uiDir, T_ACI_FAC_TRANS_TYPE uiFacTransType ); +EXTERN void rCI_Z ( void ); + +EXTERN void rCI_PercentCMGR ( T_MNSMS_READ_CNF* mnsms_read_cnf, + T_ACI_CMGR_CBM * cbm); + +EXTERN void rCI_PercentCMGL ( T_MNSMS_READ_CNF *mnsms_read_cnf); + +#endif + +/*--------------- extension mechansim ----------------------------*/ + +/*--------------- constants --------------------------------------*/ + +#define ACI_EXT_STRG_END 0xFF + +/*--------------- configuration ----------------------------------*/ + +EXTERN T_ACI_RETURN sAT_CfgEXT ( CHAR** fwrdLst ); + +/*--------------- Extension Handler -> AT Interpreter ------------*/ + +EXTERN T_ACI_RETURN sAT_FRI ( USHORT cmdLen ); +EXTERN T_ACI_RETURN sAT_URC ( CHAR* out ); + +/*--------------- AT Interpreter -> Extension Handler ------------*/ + +EXTERN T_ACI_RETURN rAT_EXT ( CHAR* cmd, + USHORT* cmdLen, + CHAR* out, + USHORT outLen ); +EXTERN T_ACI_RETURN rAT_ACP ( CHAR* out, + USHORT outLen ); + +#endif /* ACI_CMH_H */ + +/*==== EOF ========================================================*/