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