[Feature]Upload Modem source code

Change-Id: Id4294f30faced84d3e6fd6d5e61e1111bf287a37
diff --git a/mcu/interface/protocol/nas_c2k/cssapi.h b/mcu/interface/protocol/nas_c2k/cssapi.h
new file mode 100644
index 0000000..3540824
--- /dev/null
+++ b/mcu/interface/protocol/nas_c2k/cssapi.h
@@ -0,0 +1,1605 @@
+/*****************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2016
+*
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (""MEDIATEK SOFTWARE"")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN ""AS-IS"" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 2010 VIA Telecom, Inc.  All rights reserved.
+*
+*************************************************************/
+#ifndef _CSS_API_H_
+
+#define _CSS_API_H_  1
+
+#include "sysdefs.h"
+#ifdef MTK_DEV_C2K_IRAT
+#include "hlpapi.h"
+#include "uimapi.h"
+#include "do_ims.h"
+#include "valiratapi.h"
+#include "iratapi.h"
+#endif /* MTK_DEV_C2K_IRAT */
+#include "module_msg_range.h"
+#include "css_nvram.h"
+#include "css_msgid.h"
+#include "clc_nvram.h"
+#include "rsva_msgid.h"
+
+/*----------------------------------------------------------------------------
+* EXE Interfaces - Definition of Signals and Mailboxes
+*----------------------------------------------------------------------------*/
+#ifdef MTK_DEV_C2K_IRAT
+#define MAX_IRAT_OOSA_TIME  0xFFFF
+#define MAX_INFINITE_OOSA_TIME  0xFFFF
+#endif
+#define CSS_1X_CPSM_ID         0
+#define CSS_DO_CPSM_ID         1
+
+/* Subnet field length, in the unit of byte*/
+#define SUBNET_LENGTH          16
+
+#define CP_HRPD_MAX_NUM_REDIRECT_CHANNELS  10 /* can be more, just taken for now */
+
+#ifdef MTK_DEV_C2K_IRAT
+#define PDN_ADD_LEN            5
+#endif
+
+#define MAX_ERI_TEXT_LENGTH    32
+
+/* CDMA Blocks */
+#define A_BLOCK      0
+#define B_BLOCK      1
+#define C_BLOCK      2
+#define D_BLOCK      3
+#define E_BLOCK      4
+#define F_BLOCK      5
+#define G_BLOCK      6
+#define H_BLOCK      7
+#define I_BLOCK      8
+#define J_BLOCK      9
+#define K_BLOCK      10
+#define L_BLOCK      11
+#define M_BLOCK      12
+#define N_BLOCK      13
+#define PSB_BLOCK    27 /* Public Safety Broadband block */
+
+#define UNDEF_BLK    254
+#define ALL_BLOCKS   255
+
+#define MAX_BLOCKS   14
+
+/*----------------------------------------------------------------------------
+* Basic Types
+*----------------------------------------------------------------------------*/
+typedef enum
+{
+    CSS_RAT_DO,
+    CSS_RAT_1X,
+    CSS_RAT_1X_DO
+}CssRatModeT;
+
+typedef enum
+{
+    CSS_LIST_SMALL_SIZE = 20,
+    CSS_LIST_MEDIUM_RARE_SIZE = 30,
+    CSS_LIST_MEDIUM_SIZE = 60,
+    CSS_LIST_MEDIUM_WELL_SIZE = 150,
+    CSS_LIST_LARGE_SIZE = 200
+} CssChanListSizeE;
+
+typedef enum
+{
+    MRU,      /* Most recently used scan list  */
+    MPL,      /* Most preferred scan list      */
+    CRSL,     /* Channel release scan list     */
+    PRL,      /* PRL scan list                 */
+    DPCL,     /* Default band scan list        */
+    RSL,      /* Redirection scan list         */
+    OSL,      /* OTASP scan list               */
+    GSL,      /* GEO scan list                 */
+    ADOSL,    /* Associated DO scan list       */
+    SRSL,     /* Silent retry scan list        */
+    ASMPL,    /* DO Asso More Pref scan list   */
+    ADOLOSL,  /* DO Lost Asso scan list        */
+    PRLOSL,   /* DO Lost PRL MRU scan list     */
+    GLOSL,    /* DO Lost GEO scan list         */
+    EMERGENCYSL, /* Emergency call scan list   */
+    TEMPSL,
+    AVOIDL,   /* Avoidance list                     */
+    HSRSL,    /* hVoLte silent redial scan list     */
+    IGSL,     /* Idle GEO scan list                 */
+    PSREGRAL, /* Recently acquired list             */
+    RSSI,     /* Rssi Scan list                     */
+    EMCGMSSSL,/* Emergency call scan list from GMSS */
+    CSS_LIST_END
+} CssLists;
+
+typedef enum
+{
+	CP_SYS_DO,
+	CP_SYS_1X,
+	CP_SYS_BOTH,
+    CP_SYS_INVALID
+}CssCpSystemT;
+typedef PACKED_PREFIX struct _CHANNEL_DESC {
+    SysBandChannelT chan;
+
+    /* Association Tag, valid only for DO system, and assume they are valid only for
+     * associated DO scan list system */
+    kal_bool Pn_Association;
+    kal_bool Data_Association;
+} PACKED_POSTFIX  CHANNEL_DESC, PACKED_POSTFIX *pCHANNEL_DESC;
+
+#define CHAN_LIST_HDR \
+    CssLists ListType; \
+    CssChanListSizeE ListSize; \
+    kal_uint16  ChanListNumChans; \
+    kal_uint16  ChanListIndex;
+
+typedef struct {
+    CHAN_LIST_HDR
+} ChanListHdr, *pChanListHdr;
+
+typedef struct
+{
+    CHAN_LIST_HDR
+    CHANNEL_DESC    ChanList[CSS_LIST_LARGE_SIZE];
+    kal_uint16      AcqIndex[CSS_LIST_LARGE_SIZE];
+} ChannelList, *pChannelList;
+
+typedef struct
+{
+    CHAN_LIST_HDR
+    CHANNEL_DESC    ChanList[CSS_LIST_MEDIUM_SIZE];
+    kal_uint16      AcqIndex[CSS_LIST_MEDIUM_SIZE];
+} MediumChannelList, *pMediumChannelList;
+
+typedef struct
+{
+    CHAN_LIST_HDR
+    CHANNEL_DESC    ChanList[CSS_LIST_MEDIUM_WELL_SIZE];
+    kal_uint16      AcqIndex[CSS_LIST_MEDIUM_WELL_SIZE];
+} MediumWellChannelList, *pMediumWellChannelList;
+
+typedef struct
+{
+    CHAN_LIST_HDR
+    CHANNEL_DESC    ChanList[CSS_LIST_SMALL_SIZE];
+    kal_uint16      AcqIndex[CSS_LIST_SMALL_SIZE];
+} SmallChannelList, *pSmallChannelList;
+
+typedef struct
+{
+    LOCAL_PARA_HDR
+    ChannelList    *Rssi_ScanList_p;
+}Css_L1d_Rssi_Scan_ReqT;
+
+typedef struct
+{
+    SysBandChannelT chan;
+    kal_int16           rssiValue;
+} ChannelRssiValueT;
+
+typedef struct
+{
+    kal_uint16              ChanListNumChans;
+    ChannelRssiValueT   ChannelRssiValue[CSS_LIST_LARGE_SIZE];
+} RssiResultT;
+
+typedef struct
+{
+    RssiResultT    *RssiResult_p;
+}Css_L1d_Rssi_Scan_CnfT;
+
+typedef struct
+{
+    kal_uint8  blockId;
+    kal_uint16 FirstCh;
+    kal_uint8  NumCh;
+} _PrefCh;
+
+typedef struct
+{
+    kal_uint8   numBlocks;
+    kal_uint8   increment;
+    _PrefCh PrefCh[MAX_BLOCKS];
+} _BandBlockChannel;
+
+typedef enum
+{
+    HDM_1XVOICE,
+    HDM_DATAPREF,
+    HDM_VOIP
+}HybridPrefModeT;
+
+typedef enum
+{
+    MSPL_POWER_ON_SEARCHING,
+    MSPL_NORMAL_SERVICE,
+    MSPL_SEARCH_EXHAUSTED
+}MsplSearchStatusT;
+
+typedef enum
+{
+    CP_PREV_POWERUP = 1,
+    CP_PREV_ACQUISITION_FAILURE = 2,
+    CP_PREV_NEW_SYSTEM = 3,
+    CP_PREV_CDMA_AVAILABLE = 4,
+    CP_PREV_RESELECTION = 5,
+    CP_PREV_PROTOCOL_MISMATCH = 6,
+    CP_PREV_SYSTEM_LOST = 7,
+    CP_PREV_UNLOCK = 8,
+    CP_PREV_ACCESS_DENIED = 9,
+    CP_PREV_NDSS_OFF = 10,
+    CP_PREV_RELEASE = 11,
+    CP_PREV_ERROR = 12,
+    CP_PREV_REDIRECTION = 13,
+    CP_PREV_REGISTRATION_REJECT = 14,
+    CP_PREV_WRONG_SYSTEM = 15,
+    CP_PREV_WRONG_NETWORK = 16,
+    CP_PREV_RESCAN = 17,
+    CP_PREV_LOCK = 18,
+    CP_PREV_SYSTEM_LOST_ACCESS = 19,
+    CP_PREV_E911_CALL = 20,
+    CP_PREV_OTASP_CALL = 21,
+    CP_PREV_PERIODIC_RESCAN_OBSOLETE = 22,
+    CP_PREV_ADDITIONAL_CDMA = 23,
+    CP_PREV_SYSTEM_RESELECTION = 24,
+    CP_PREV_FORCE_BAND_MODE = 25,
+    CP_PREV_EXIT_E911_MODE = 26,
+    CP_PREV_SYSTEM_FOUND_NOT_BEST = 27,
+    CP_PREV_REDIRECTION_END_TIMER_EXPIRED = 28,
+    CP_PREV_FORCE_ANALOG_MODE = 29,
+    CP_PREV_MORE_PREF_SCAN_TIMER_EXPIRED = 30,
+    CP_PREV_ACCESS_FAILED_SILENT_RETRY = 31,
+    CP_PREV_ESPM_NOT_RECEIVED = 32,
+    CP_PREV_TIMING_CHANGE_FAILURE = 33,
+    CP_PREV_SYNCHRONIZATION_FAILURE = 34,
+    CP_PREV_REG_THROTTLING = 35,
+    CP_PREV_ACCESS_MAX_PROBES = 36,
+    CP_PREV_PAGING_MONITOR_TIMEOUT = 40,
+    CP_PREV_MODEM_FAILURE = 41,
+    CP_PREV_IRAT_RESET_1XCDMA = 42,
+    CP_PREV_MANUAL_AVOID_RESELECT = 43,
+    CP_PREV_1X_DO_COLLOCATED_BROKEN = 50,
+    CP_PREV_REINIT = 51,
+    CP_PREV_E911_TRAFF_CONV_FAIL = 52,
+    CP_GLOBALMODE_DO_ACQUISITION_FAILURE = 60,
+    CP_PREV_1X_RESUME_FROM_SUSPENDED = 61,
+    CP_PREV_1X_DATA_ACCESS_RELEASE = 62
+} SystemSelectIndE;
+
+/* CSS_NWK_RPT_CP_EVENT_MSG */
+typedef enum
+{
+    CSS_EV_DISCONNECT = 1,
+    CSS_EV_PAGE_RECEIVED,
+    CSS_EV_STOPALERT,
+    CSS_EV_ABBR_ALERT,
+    CSS_EV_NOSVC,
+    CSS_EV_CDMA_INSVC,
+    CSS_EV_CPENABLED,
+    CSS_EV_CPDISABLED,
+    CSS_EV_PDOWNACK,
+    CSS_EV_CONNANALOG,
+    CSS_EV_CONNDIGITAL,
+    CSS_EV_ASSIGNED,
+    CSS_EV_ORIG_FAIL,
+    CSS_EV_NDSS_ORIG_CANCEL,
+    CSS_EV_INTERCEPT,
+    CSS_EV_REORDER,
+    CSS_EV_CC_RELEASE,
+    CSS_EV_CC_RELEASE_SO_REJ,
+    CSS_EV_DIALING_COMPLETE,
+    CSS_EV_DILAING_CONTINUE,
+    CSS_EV_MAINTENANCE,
+    CSS_EV_VP_ON,
+    CSS_EV_VP_OFF,
+    CSS_EV_PSIST_FAIL,
+    CSS_EV_TC_RELEASE_MS,
+    CSS_EV_TC_RELEASE_PDOWN,
+    CSS_EV_TC_RELEASE_DISABLE,
+    CSS_EV_TC_RELEASE_BS,
+    CSS_EV_TC_RELEASE_SO_REJECT,
+    CSS_EV_TC_RELEASE_TIMEOUT,
+    CSS_EV_TC_RELEASE_ACK_FAIL,
+    CSS_EV_TC_RELEASE_FADE,
+    CSS_EV_TC_RELEASE_LOCK,
+    CSS_EV_PAGE_FAIL,
+    CSS_EV_RETRY_TIMER_ACTIVE,
+    CSS_EV_RETRY_TIMER_INACTIVE,
+    CSS_EV_AMPS_INSVC,
+    CSS_EV_ORIG_REJECTED,
+    CSS_EV_ORIG_REJECTED_SO_NOT_SUPPORTED,
+    CSS_EV_ORIG_BLOCKED_BY_IRAT,
+
+    CSS_EV_PKT_ACTIVE = 50,
+    CSS_EV_PKT_RELEASED,
+    CSS_EV_PKT_DORMANT,
+
+    CSS_EV_ORIG_USER_CANCEL = 60,
+    CSS_EV_ORIG_ACCESS_FAIL,
+    CSS_EV_ORIG_NO_SVC_FAIL,
+    CSS_EV_ORIG_RETRY_ORDER,
+    CSS_EV_SR_ENABLED,
+    CSS_EV_SR_DISABLED,
+    CSS_EV_ORIG_REQ_RECEIVED,
+    CSS_EV_PSW_POWER_UP,
+    CSS_EV_PSW_POWER_DOWN,
+
+    CSS_EV_FLASHFAIL = 80,
+    CSS_EV_ANALOG_PAGE_RECEIVED,
+    CSS_EV_AMPS_IDLE,
+
+    CSS_EV_ABBR_INTERCEPT,
+    CSS_EV_ABBR_REORDER,
+    CSS_EV_CONNCOMPLETE,
+    CSS_EV_ENTER_OOSA,
+    CSS_EV_FNM_RELEASE,
+    CSS_EV_MSID_UPDATED,
+    CSS_EV_BUSY_ORIG_FAIL,
+    CSS_EV_LOCKED_ORIG_FAIL,
+    CSS_EV_REG_MAX_PROBE,
+    CSS_EV_DOCONN_1XPREEMPT,
+    CSS_EV_ORIG_ACCT,
+    CSS_EV_REG_SYS_LOST,
+    CSS_EV_SMS_CANCEL_BY_PWRDOWN,
+    CSS_EV_RSVAS_SUSPEND_COMPLETE,
+    CSS_EV_SERVICE_SUCCESS,
+    CSS_EV_LOCKED,
+    CSS_EV_UNLOCKED,
+    CSS_RPT_CP_EVENT_INVALID
+} Css1xRptCpEventT;
+
+typedef enum
+{
+    IRAT_DEEPSLEEP = 0,     /* no system state after disabled by MMC */
+    IRAT_CSSOOSA,           /* css in OOSA sleep */
+    IRAT_INIT,              /* no system state while scanning channel */
+    IRAT_RESCAN,            /* conducting MPSS scan, ASSO scan,..*/
+    IRAT_SYSTEMLOST,        /* no system state while scanning channel or OOSA after sys lost */
+    IRAT_IDLE,
+    IRAT_CONNECTION,
+
+    /* the followings are used as event only */
+    IRAT_EXHAUST,           /* reach at the end of scan list */
+    IRAT_DO_NO_ASSO,        /* current 1X has no associated DO system */
+    IRAT_HANDOFF,           /* handoff to a new system */
+    IRAT_SCANNING,          /* scanning channels */
+    IRAT_WAKEUP,            /* wakeup from OOSA or DEEPSLEEP*/
+    IRAT_VALIDATE_FAIL,     /* Validate fail from scanning or idle*/
+    IRAT_VALIDATE_SUCC,     /* Validate success from scanning or idle*/
+    IRAT_1X_POWERUP,        /* 1xRTT Power up done. */
+    IRAT_DO_POWERUP,        /* EVDO Power up done. */
+    IRAT_1X_POWERDOWN,      /* 1xRTT Power down done. */
+    IRAT_DO_POWERDOWN,      /* EVDO Power down done. */
+    IRAT_1X_RSSI_SCAN_ABORTED,  /* 1xRTT RSSI Abort done */
+    IRAT_1X_IN_SERVICE,         /* 1xRTT is in service from PSW */
+} IRAT_CPStateT;
+
+typedef enum
+{
+    IRAT_STATE_INACTIVATE,         /*0*/
+    IRAT_STATE_MCC_SEARCH,         /*1*/
+    IRAT_STATE_SYS_ACQ,            /*2*/
+    IRAT_STATE_GMSS_CS_REG,        /*3*/
+    IRAT_STATE_GMSS_PS_REG,        /*4*/
+    IRAT_STATE_L2C_RESEL,          /*5*/
+    IRAT_STATE_L2C_REDIRECT,       /*6*/
+    IRAT_STATE_C2L_RESEL,          /*7*/
+    IRAT_STATE_SUSPEND,            /*8*/
+    IRAT_STATE_VIRTUAL_SUSPEND,    /*9*/
+    IRAT_STATE_RESUME,             /*10*/
+    IRAT_STATE_DO_RESUME,          /*11*/
+    IRAT_STATE_VIRTUAL_RESUME,     /*12*/
+    IRAT_STATE_CS_SERVICE_START,   /*13*/
+    IRAT_STATE_CS_SERVICE_FINISH,  /*14*/
+    IRAT_STATE_GMSS_PS_DEREG,      /*15*/
+    IRAT_STATE_DEACTIVATE,         /*16*/
+    IRAT_STATE_LTE_DISABLE,        /*17*/
+    IRAT_STATE_SET_RAT_MODE,       /*18*/
+    IRAT_STATE_EMC_START,          /*19*/
+    IRAT_STATE_EMC_STOP,           /*20*/
+    IRAT_STATE_POWER_OFF,          /*21*/
+    IRAT_STATE_CS_OCCUPY,          /*22*/
+    IRAT_STATE_POWER_UP_SET_RAT,   /*23*/
+    IRAT_STATE_POWER_DOWN_SET_RAT, /*24*/    
+    IRAT_STATE_RAT_MODE_CHG, /*25*/  
+    IRAT_STATE_NUM
+}IratMainStateE;
+
+typedef enum
+{
+    LLA_OCCUPY_OWNER_IRAT_LIST,
+    LLA_OCCUPY_OWNER_IRAT_MAJOR,
+    LLA_OCCUPY_OWNER_RSVAC,
+    LLA_OCCUPY_OWNER_NONE
+} LLAOccupyOwnerT, LLAReleaseOwnerT;
+
+typedef enum
+{
+    CSS_EV_DO_POWERUP,
+    CSS_EV_DO_POWERDOWN
+}CssDoRptCpEventT;
+
+typedef enum
+{
+    SUCC,
+    TCH_FAIL,
+    CONN_DENY,
+    RETRY_DELAY,
+    THROTTLING
+}CssTchSetupStatusT;
+
+typedef PACKED_PREFIX struct _RECORD_INDEX {
+    kal_uint8 *pByteOffset;
+    kal_uint32 bitOffset;
+    kal_uint16 recNum;
+    kal_uint16 recSize;
+} PACKED_POSTFIX  RECORD_INDEX, PACKED_POSTFIX *pRECORD_INDEX;
+
+typedef PACKED_PREFIX struct
+{
+    kal_uint16 CPCA, CSCA;    /* CDMA CELL PRI CH, SEC CH, respectively, Sys A */
+    kal_uint16 CPCB, CSCB;    /* CDMA CELL PRI CH, SEC CH, respectively, Sys B */
+
+    kal_uint8 MAX_SID_NID;
+    kal_uint8 STORED_POS_SID_NID;
+    kal_uint16 SID[MAX_POSITIVE_SIDS];
+    kal_uint16 NID[MAX_POSITIVE_SIDS];
+
+    kal_uint8 STORED_NEG_SID_NID;
+    kal_uint16 NEG_SID[MAX_NEGATIVE_SIDS];
+    kal_uint16 NEG_NID[MAX_NEGATIVE_SIDS];
+
+    kal_uint8 SystemSelect;
+
+} PACKED_POSTFIX NAM_PREFERENCES, PACKED_POSTFIX *pNAM_PREFERENCES;
+
+typedef enum {
+    PRL_1X95 = 1,
+    RSVD,
+    PRL_EXT
+}PRL_PREV;
+
+typedef enum
+{
+    NORMAL_PRL = 0,
+    CONCATENATE_PRL =1
+}PRL_TYPE;
+
+#ifdef MTK_PLT_ON_PC_UT
+typedef enum
+{
+    CSS_CONF_LTE_IS_TURNED_OFF,        /**< LTE is turned on or not */
+    CSS_CONF_UIM_IS_DISABLE,           /**< UIM is disable or not */
+    CSS_CONF_UIM_STATE,                /**< UIM state (no card, UICC, ..) */
+    CSS_CONF_IRAT_MODE,                /**< C2K-LTE IRAT mode */
+    CSS_CONF_4G_SWITCH_OFF_BY_AT,      /**< 4G is switch off by AT command or not */
+    CSS_CONF_SIM_INDEX,                /**< SIM index of C2K modem */
+    CSS_CONF_PS_DATA_ATTACHED,         /**< PS data attached */
+    CSS_CONF_OPERATOR_SBP_ID,          /**< Opeartor SBP ID */
+    CSS_CONF_ECTM_MODE,                /**< UUT test mode */
+    CSS_CONF_REL_TO_IDLE,              /**< ReleaseToIdle is ture or false */
+    CSS_CONF_IDLE_GEO_LIST_SBP,        /**< idle GEO list feature SBP */
+    CSS_CONF_MRU_FIRST_ENTRY_OPER_SID_NID, /**< MRU first entry operational SID/NID */
+    CSS_CONF_1X_REG_ENABELD,          /**< 1x registration is allowed or not */
+    CSS_CONF_DATA_HOLD_SBP,           /**< T_data_hold before data call feature SBP */
+    CSS_CONF_PREF_ONLY,               /**< PREF_ONLY in PRL */
+    CSS_CONF_SYSTEM_SELECT_TYPE,      /**< system select type */
+    CSS_CONF_SBP_FEATURE_SET,         /**< set sbp feature */
+    CSS_CONF_INTL_ERI_VALUES_SET,     /**< set intlEriVals*/
+    CSS_CONF_CSS_NAM_ROAMING_SET,     /**< set _css_nam.RoamingSetting */
+    CSS_CONF_ACTIVE_BAND_BITMASK,     /**< set active band bitmask */
+    CSS_CONF_PREFMODE,                /**< set hybrid mode setting by AT+ PREFMODE */
+    CSS_CONF_GMSS_MRU_SBP,            /**< GMSS MRU feature SBP */
+    CSS_CONF_VZW_E911_SBP,            /**< VZW E911 SBP */
+    CSS_CONF_RAT_MODE,                /**< RAT MODE */
+    CSS_CONF_ERI_SBP,                 /**< ERI feature SBP */
+    CSS_CONF_SBP_STATUS_POWERUP_1X_SCAN, /**< SBP_STATUS_POWERUP_1X_SCAN */
+    CSS_CONF_SBP_STATUS_SYS_CSS_1X_USE_NAM_FOR_VALIDATION_FEATURE,/**< SBP_STATUS_SYS_CSS_1X_USE_NAM_FOR_VALIDATION_FEATURE*/
+    CSS_CONF_SBP_STATUS_GMSS_MRU,     /**< SBP_STATUS_GMSS_MRU*/
+    CSS_CONF_SBP_STATUS_VZW_E911,     /**< SBP_STATUS_VZW_E911 */
+    CSS_CONF_SBP_STATUS_PS_REG_SRCH_IN_SAME_CYCLE_OPTI, /**< SBP_STATUS_PS_REG_SRCH_IN_SAME_CYCLE_OPTI */
+    CSS_CONF_SBP_STATUS_SYS_CSS_1X_MAPE_HOME_SYS_AVOID_FEATURE, /**< SBP_STATUS_SYS_CSS_1X_MAPE_HOME_SYS_AVOID_FEATURE */
+    CSS_CONF_SBP_ASSIGN_MRU0_IF_EMPTY, /**< SBP_ASSIGN_MRU0_IF_EMPTY */
+    CSS_CONF_SBP_STATUS_SYS_ENH_SYSTEM_SELECT_FEATURE, /**< SBP_STATUS_SYS_ENH_SYSTEM_SELECT_FEATURE */
+    CSS_CONF_SBP_STATUS_VZW_TDO, /**< SBP_STATUS_VZW_TDO */
+    CSS_CONF_SBP_STATUS_1X_PS_DELAY, /**< SBP_STATUS_1X_PS_DELAY */
+    CSS_CONF_SBP_STATUS_CHINATELECOM_EXTENSIONS, /**< SBP_STATUS_CHINATELECOM_EXTENSIONS */
+    CSS_CONF_SBP_STATUS_CDG_AVOIDANCE, /**< SBP_STATUS_CDG_AVOIDANCE */
+    CSS_CONF_SBP_STATUS_CDG_BSR,  /**< SBP_STATUS_CDG_BSR */
+    CSS_CONF_SBP_STATUS_SYS_CSS_1X_RESTRICT_SILENTRETRY_TO_SAME_GEO_FEATURE, /**< SBP_STATUS_SYS_CSS_1X_RESTRICT_SILENTRETRY_TO_SAME_GEO_FEATURE */
+    CSS_CONF_INVALID = 0xff           /* invalid access option, only for initialisation */
+}css_configure_enum;
+#endif
+
+
+enum cpsm_1x_states
+{
+    CPSM_1X_POWERUP_ST,
+    CPSM_1X_SCANNING_ST,
+    CPSM_1X_IDLE_ST,
+    CPSM_1X_CONNECTION_ST,
+    CPSM_1X_SCANPAUSE_ST,
+    CPSM_1X_OOSA_ST,
+    CPSM_1X_NUM_STATES
+};
+typedef enum cpsm_1x_states CPSM_1X_STATES;
+
+enum cpsm_do_states
+{
+    CPSM_DO_POWERUP_ST,
+    CPSM_DO_SCANNING_ST,
+    CPSM_DO_IDLE_ST,
+    CPSM_DO_CONNECTION_ST,
+    CPSM_DO_SCANPAUSE_ST,
+    CPSM_DO_OOSA_ST,
+    CPSM_DO_NUM_STATES
+};
+typedef enum cpsm_do_states CPSM_DO_STATES;
+
+typedef enum
+{
+    CSS_NOT_IN_FORCE_INIT = 0,
+    CSS_FORCE_INIT_TO_PAUSE,
+    CSS_FORCE_INIT_TO_SCAN
+} CssForceToInitStatusE;
+
+typedef PACKED_PREFIX struct {
+    kal_bool valid;
+    kal_uint16 PR_LIST_SIZEs;
+    kal_uint16 PR_LIST_IDs;
+    PRL_PREV SSPR_P_REV;
+    kal_bool PREF_ONLYs;
+    kal_uint8 DEF_ROAM_INDs;
+    kal_uint16 NUM_ACQ_RECSs;
+    kal_uint16 NUM_COMMON_SUBNET_RECS;
+    kal_uint16 NUM_SYS_RECSs;
+    RECORD_INDEX acquireTableStart;
+    RECORD_INDEX commSubnetTableStart;
+    RECORD_INDEX systemTableStart;
+    kal_uint16 PR_LIST_CRCs;
+    kal_uint16 NUM_GEO_AREASs;
+} PACKED_POSTFIX  PRL_HEADER, PACKED_POSTFIX *pPRL_HEADER;
+
+typedef struct {
+    kal_bool valid;
+    kal_uint32 PRL_Length;
+    PRL_TYPE prl_type;
+    kal_uint16 IS683A_Length;
+    kal_uint16 IS683C_Length;
+    kal_uint16 PR_LIST_CRCs;
+
+    kal_uint16 PR_LIST_IDs;
+    kal_bool   isEPRL;
+} PRL_INFO, *pPRL_INFO;
+
+typedef PACKED_PREFIX struct
+{
+    kal_bool e911;
+} PACKED_POSTFIX  Css1xE911ModeSetMsgT;
+
+typedef PACKED_PREFIX struct _SYSTEM_INFO_1X {
+    kal_bool   foundSomeSys;
+    kal_uint16 sid;
+    kal_uint16 nid;
+    kal_uint16 oper_sid;
+    kal_uint16 oper_nid;
+    kal_uint16 roamInd;
+    kal_uint8  systemPref;
+    kal_uint16 acqIndex;
+    CHANNEL_DESC system;
+    kal_uint16  pilotStrength;
+    kal_int16   rxPower;
+    kal_uint8   sys1xPriority; /* IRAT Priority: 0 (HOME), 1 (PREF), 2 (ANY), 255 (INVALID) */
+#if defined (__TC10__) && defined (__TC10_IPC_CDMA_SUPPORT__)
+    kal_uint16  mcc;
+#endif
+} PACKED_POSTFIX  SYSTEM_INFO_1X, PACKED_POSTFIX *pSYSTEM_INFO_1X;
+
+typedef PACKED_PREFIX struct
+{
+    SYSTEM_INFO_1X Sys;
+} PACKED_POSTFIX  OtaspSelectParmsT;
+
+typedef PACKED_PREFIX struct
+{
+    kal_uint16 expectedSid;
+    kal_bool   ignoreCDMA;
+    kal_uint8  sysOrdering;
+    kal_uint8  maxRedirectDelay;  /* only applies to Global redirect */
+} PACKED_POSTFIX  SvcRedirAnalog;
+
+
+#define CSS_MAX_SERV_REDIR_NUM_CHANS 16 /* 4 bits */
+typedef PACKED_PREFIX struct
+{
+    kal_uint8  bandClass;
+    kal_uint16 expectedSid;
+    kal_uint16 expectedNid;
+    kal_uint8  numChans;
+    kal_uint16 cdmaChan[CSS_MAX_SERV_REDIR_NUM_CHANS];
+} PACKED_POSTFIX  SvcRedirCDMA;
+
+typedef PACKED_PREFIX union
+{
+    SvcRedirAnalog analog;
+    SvcRedirCDMA   cdma;
+} PACKED_POSTFIX  RedirType;
+
+typedef PACKED_PREFIX struct
+{
+    kal_bool   global;                   /* indicates a global redirection */
+    kal_uint16   redirectAccolc;
+    kal_bool   returnIfFail;
+    kal_bool   deleteTMSI;
+    kal_bool   exclPRevMs;
+    kal_bool   redirectType;
+    kal_uint8  recordType;
+    RedirType  type;
+} PACKED_POSTFIX  SvcRedirData1xT;
+
+typedef PACKED_PREFIX struct
+{
+    SvcRedirData1xT RediretionData;
+    kal_bool SysRedirectedToValid;
+} PACKED_POSTFIX  RedirectionSelectParmsT;
+
+typedef PACKED_PREFIX struct{
+    SystemSelectIndE indication;
+#ifdef MTK_DEV_C2K_IRAT
+    kal_bool  isIndHandled;
+#endif
+    PACKED_PREFIX union{
+        OtaspSelectParmsT OtaParms;
+        RedirectionSelectParmsT RedirectParms;
+    } PACKED_POSTFIX u;
+} PACKED_POSTFIX Css1xSelectReqMsgT;
+
+typedef enum
+{
+    CSS_1X_SID_NID_VALIDATION,
+    CSS_1X_MCC_MNC_VALIDATION,
+} Css1xValidationType;
+
+typedef PACKED_PREFIX struct {
+    kal_uint16 curChan;
+    SysCdmaBandT curBand;
+    kal_uint16  pilotStrength;
+    kal_int16   rxPower;
+    Css1xValidationType valType;
+    kal_uint16 sid;
+    kal_uint16 nid;
+    kal_uint16 mcc;  /* mcc */
+    kal_uint16 mnc;  /* mnc (i.e. imsi_11_12) */
+    kal_uint16 aiMcc;  /* mcc in ESPM */
+} PACKED_POSTFIX  Css1xValidateReqT;
+
+typedef PACKED_PREFIX struct {
+    kal_uint16  pilotStrength;
+    kal_int16   rxPower;
+} PACKED_POSTFIX  Css1xUpdateLastSavedEcIoRxPwrT;
+
+typedef PACKED_PREFIX struct
+{
+    kal_bool pending;
+    kal_bool isVoice;
+} PACKED_POSTFIX  Css1XSetCallPendingMsgT;
+
+typedef PACKED_PREFIX struct
+{
+    kal_uint16  sid;
+    kal_uint16  nid;
+    kal_uint16 curChan;
+    SysCdmaBandT curBand;
+} PACKED_POSTFIX  Css1XSysParmsUpdateMsgT;
+
+typedef struct
+{
+    PRL_INFO   PRLInfo;
+} CssGetPrlRspMsgT;
+
+typedef PACKED_PREFIX struct
+{
+    PswIs95NamT  namData;
+} PACKED_POSTFIX  Css1xNamUpdatedMsgT;
+
+typedef PACKED_PREFIX struct
+{
+    kal_uint8 nam;
+} PACKED_POSTFIX  CssUpdateActiveNamMsgT;
+
+typedef PACKED_PREFIX struct
+{
+    SysBandChannelT channel;
+} PACKED_POSTFIX  CssSaveChannelMsgT;
+
+typedef PACKED_PREFIX struct
+{
+    SysBandChannelT channel;
+    kal_bool withSyncCh;
+} PACKED_POSTFIX  CssSetReturnChannelMsgT;
+
+typedef PACKED_PREFIX struct
+{
+    kal_uint16 eri_version_number;
+} PACKED_POSTFIX  CssEriVersionNumberRspMsgT;
+
+typedef PACKED_PREFIX struct
+{
+    kal_bool newSession;
+    kal_uint8 sysRev;
+} PACKED_POSTFIX  CssDOSessionOpenedMsgT;
+
+typedef PACKED_PREFIX struct
+{
+    kal_bool isAliveSession;
+} PACKED_POSTFIX  CssDOSessionNegoModeMsgT;
+
+typedef PACKED_PREFIX struct
+{
+  Css1xRptCpEventT event;
+} PACKED_POSTFIX  CssRptCpEventMsgT;
+
+/* DO messages structure*/
+
+typedef PACKED_PREFIX struct{
+    SystemSelectIndE indication;
+#ifdef MTK_DEV_C2K_IRAT
+    kal_bool isIndHandled;
+#endif
+} PACKED_POSTFIX  CssDoSelectReqMsgT;
+
+typedef PACKED_PREFIX struct {
+  kal_uint8 subnet[SUBNET_LENGTH];
+  kal_uint16 curChan;
+  SysCdmaBandT curBand;
+  kal_uint16 mcc;
+} PACKED_POSTFIX  CssDoValidateReqMsgT;
+
+typedef PACKED_PREFIX struct {
+  CHANNEL_DESC Channel;
+} PACKED_POSTFIX  CssDoNtwkAcqdMsgT;
+
+typedef PACKED_PREFIX struct {
+  kal_bool SessOpened;
+} PACKED_POSTFIX  CssDoSessStatusIndT;
+
+typedef PACKED_PREFIX struct {
+  OperationModeT OpMode;
+  HybridPrefModeT HybridPrefMode;
+  kal_uint16 Mpss_Duration;
+} PACKED_POSTFIX  CssTestCfgT;
+
+/* CDMA Channel Record */
+typedef PACKED_PREFIX struct
+{
+   kal_uint8             SysType;
+   kal_uint8             BandClass;
+   kal_uint16            Channel;
+} PACKED_POSTFIX  ChanRecT;
+
+/* ALMP Redirect Message */
+typedef PACKED_PREFIX struct
+{
+   kal_uint8   NumChannel;       /* 8 bits */
+   ChanRecT  Channels[CP_HRPD_MAX_NUM_REDIRECT_CHANNELS]; /* 24 bits/channel */
+} PACKED_POSTFIX  SvcRedirDataDoT, PACKED_POSTFIX CssDoSvcRedirDataMsgT;
+
+typedef PACKED_PREFIX struct {
+  CHANNEL_DESC Channel;
+} PACKED_POSTFIX  CssDoChanChangedIndMsgT;
+
+typedef PACKED_PREFIX struct
+{
+  CssDoRptCpEventT event;
+} PACKED_POSTFIX  CssDoRptCpEventMsgT;
+
+typedef PACKED_PREFIX struct
+{
+  kal_bool PwrUp;  /* KAL_TRUE-powerup; KAL_FALSE-powerdown */
+  CssCpSystemT Sys;   /* 0-DO, 1-1X, 2:both 1X and DO */
+} PACKED_POSTFIX  CssCpPowerCtrlMsgT;
+
+typedef PACKED struct
+{
+    kal_bool mode;  /* KAL_TRUE: enter deep sleep mode; KAL_FALSE: exit deep sleep mode */
+} CssValDeepSleepModeMsgT;
+
+typedef PACKED_PREFIX struct
+{
+    kal_bool  attachStatus;
+} PACKED_POSTFIX  CssValAttachStateIndMsgT;
+
+typedef PACKED_PREFIX struct
+{
+    elevator_mode_enum  mode;
+} PACKED_POSTFIX  CssValElevatorModeIndMsgT;
+
+typedef PACKED_PREFIX struct {
+   kal_uint16 T_HRPD_Init;
+   kal_uint16 T_1x_Init;
+} PACKED_POSTFIX  CssPeriodicalSearchCycleSetMsgT;
+
+typedef PACKED_PREFIX struct {
+    kal_bool isMoCall;              /* to indicate the released call is MO call or MT call
+                                       TRUE: MO call
+                                       FALSE:MT call */
+} PACKED_POSTFIX  CssValVsRelIndMsgT;
+
+typedef PACKED_PREFIX struct
+{
+  kal_uint16 PRL_ID;
+} PACKED_POSTFIX  CssGetPrlIdRspMsgT;
+
+typedef PACKED_PREFIX struct {
+   CTDoDefaultBandDataT DOSystem[MAX_DO_DEFAULTBAND_SIZE];
+} PACKED_POSTFIX  DODefaultBandSetMsgT;
+
+typedef PACKED_PREFIX struct {
+   kal_uint8 APersistence;
+} PACKED_POSTFIX  CssACMAPersistenceIndMsgT;
+
+typedef PACKED_PREFIX struct {
+   kal_bool status; /*KAL_FALSE(0): max access probes failure, KAL_TRUE(1): access succeed*/
+} PACKED_POSTFIX  CssDOAccessStatusIndT;
+
+typedef PACKED_PREFIX struct {
+   kal_uint16 Type; /*high 8 bits are direction if current DO connection is for DO data call (1-AT initiated),
+                         low 8 bits are the connection type(for example, data call, SCP con)*/
+} PACKED_POSTFIX  CssDoConnStartIndMsgT;
+
+typedef PACKED_PREFIX struct {
+   kal_uint8 type;
+   kal_uint8 cause;
+} PACKED_POSTFIX  CssDoErrIndT;
+
+typedef enum
+{
+   CPSM_OOSA_SCAN_TIMER=0,
+   CPSM_OOSA_SCAN_LIST
+}CpsmOOSAScanMethod;
+
+typedef enum
+{
+   CSS_OOSA_POWER_UP = 0,
+   CSS_OOSA_SYSTEM_LOST
+}CpsmOOSAStage;
+
+typedef enum
+{
+   CSS_1X_SUB_MODULE = 0,
+   CSS_DO_SUB_MODULE
+}CssSubModule;
+
+typedef enum
+{
+  CSS_OOSA_PHASE_SUCCESS = 0,
+  CSS_OOSA_PHASE_FAIL_GENERAL_FAILURE,
+  CSS_OOSA_PHASE_FAIL_PHASE_NOT_EXIST,
+  CSS_OOSA_PHASE_FAIL_PHASE_INDEX_TOO_LARGE,
+  CSS_OOSA_PHASE_FAIL_SLEEP_OUT_OF_RANGE
+}CssOOSAPhaseRsp;
+
+typedef PACKED_PREFIX struct
+{
+  CpsmOOSAScanMethod   scanMethod;
+  kal_uint32               scanTime;
+  kal_uint8                cycles;
+  kal_uint32               delay;
+} PACKED_POSTFIX CpsmOOSAPhaseT;
+
+/*------------------------------------------------------*/
+/* Begin CSS Set/Get Parm definitions                   */
+/*------------------------------------------------------*/
+/* Bitmap (on kal_uint8) of all the CSS DBM segments */
+typedef enum
+{
+  CSS_DBM_1X    = 0x01,
+  CSS_DBM_DO    = 0x02,
+  CSS_DBM_MISC  = 0x04,
+  CSS_DBM_ALL   = CSS_DBM_1X | CSS_DBM_DO | CSS_DBM_MISC
+} CssDbmId;
+
+typedef PACKED_PREFIX struct
+{
+  SysCdmaBandT band;
+  kal_uint16       channel;
+} PACKED_POSTFIX MruBandChannelT;
+
+typedef PACKED_PREFIX struct
+{
+   CssDbmId DbmId;
+} PACKED_POSTFIX  CssDbmInitDBToDefaultMsgT;
+
+typedef enum
+{
+    CSS_PARM_SET_1X_T_BSR_DURATION,
+    CSS_PARM_GET_1X_T_BSR_DURATION,
+    CSS_PARM_SET_1X_AVOIDANCE_DURATION,
+    CSS_PARM_GET_1X_AVOIDANCE_DURATION,
+    CSS_PARM_SET_DO_T_BSR_DURATION,
+    CSS_PARM_GET_DO_T_BSR_DURATION,
+    CSS_PARM_SET_1X_MANUAL_AVOID_SID,
+    CSS_PARM_GET_1X_MANUAL_AVOID_SID,
+    CSS_PARM_SET_MRU_CHANNEL,
+    CSS_PARM_GET_MRU_CHANNEL,
+    CSS_PARM_SET_LOCK_CHANNEL,
+    CSS_PARM_GET_LOCK_CHANNEL,
+    CSS_PARM_SET_1X_PS_DELAY_TIMER_DURATION,
+    CSS_PARM_GET_1X_PS_DELAY_TIMER_DURATION,
+    CSS_PARM_SET_1X_DO_T_BSR_1_2_DURATION,
+    CSS_PARM_GET_1X_DO_T_BSR_1_2_DURATION,
+    /* IMPORTANT:
+     * when adding new parameters to the list, add BOTH SET and GET,
+     * even if one of them is not used/implemented */
+    CSS_PARM_OPERATION_ID_END_LIST
+} CssParmOperationId;
+
+typedef enum
+{
+    CSS_PARM_OPERATION_SUCCESS,
+    CSS_PARM_OPERATION_FAIL_PARM_ID_NOT_SUPPORTED,
+    CSS_PARM_OPERATION_FAIL_READ_NOT_ALLOWED,
+    CSS_PARM_OPERATION_FAIL_WRITE_NOT_ALLOWED,
+    CSS_PARM_OPERATION_FAIL_INVALID_PTR,
+    CSS_PARM_OPERATION_FAIL_INVALID_LENGTH,
+    CSS_PARM_OPERATION_GENERAL_FAILURE,
+    CSS_PARM_OPERATION_NO_CHANGE_IN_VALUE,
+    CSS_PARM_OPERATION_FAIL_VALUE_OUT_OF_RANGE,
+    CSS_PARM_OPERATION_FAIL_OP_TYPE_NOT_SUPPORTED,
+    CSS_PARM_OPERATION_FAIL_DEFAULT_NOT_DEFINED,
+    CSS_PARM_OPERATION_FAIL_DEFAULT_NOT_SUPPORTED_FOR_PARM,
+    CSS_PARM_OPERATION_FAIL_MISSING_PARAMETER,
+    CSS_PARM_OPERATION_RESULT_END_LIST
+}CssParmAccessResultCode;
+
+typedef enum
+{
+    CSS_PARM_MIN_VALUE,
+    CSS_PARM_MAX_VALUE,
+    CSS_PARM_DEFAULT_VALUE,
+    CSS_PARM_CUSTOM_VALUE,
+    CSS_PARM_OP_TYPE_LIST_END
+} CssParmOperationType;
+
+typedef enum
+{
+    CSS_TIMER_START = 0,
+    CSS_1X_TIMER_START = CSS_TIMER_START,
+    CSS_1X_MPSS_TIMER = CSS_1X_TIMER_START,
+    CSS_1X_EPRL_ESPM_WAIT_TIMER,
+    CSS_1X_SCANNING_TIMER,
+    CSS_1X_LOST_WHILE_DO_CONN_SCAN_TIMER,
+    CSS_1X_EMERGENCY_SCAN_PREV_SYSTEM_TIMER,
+    CSS_1X_HOMESYS_AVOIDANCE_TIMER,
+    CSS_1X_HOMESYS_AVOIDANCE_END_TIMER,
+    CSS_1X_REDIRECTION_AVOIDANCE_TIMER, /*143v1[1]  4.5.1 4.5.3*/
+    CSS_1X_PS_DELAY_TIMER, /* Verizon Reqs-LTE Multi Mode Operations */
+    CSS_1X_BSR_SCAN_TIMER, /* sprint feature: control BSR in 10s feature
+                              if Device is not able to scan all the channels during the first 10 secs,
+                              the Device MUST wait 10 extra secs before continuing scanning the remainder of the channels.
+                              the first 10 secs*/
+    CSS_1X_BSR_EXTRA_WAIT_TIMER, /* wait 10 extra secs*/
+    CSS_1X_BSR_DATA_HOLD_TIMER, /* sprint feature: device must wait T_data_hold before establishing a data call to allow BSR completion */
+    CSS_1X_REG_REJ_AVOIDANCE_TIMER, /* when registration reject continuously, need to bar it for some time */
+    CSS_1X_REG_REJ_AVOIDANCE_END_TIMER,
+    CSS_1X_RELEASE_REJ_AVOIDANCE_TIMER,   /* when registration reject continuously, need to bar it for some time */
+    CSS_1X_RELEASE_REJ_AVOIDANCE_END_TIMER,
+    CSS_1X_TIMER_END = CSS_1X_RELEASE_REJ_AVOIDANCE_END_TIMER,
+
+    CSS_DO_TIMER_START,
+    CSS_DO_MPSS_TIMER = CSS_DO_TIMER_START,
+    CSS_DO_REDIR_END_TIMER,
+    CSS_DO_SCANNING_TIMER,
+    CSS_DO_WTF_SESSION_OPEN_TIMER,
+    CSS_DO_AVOIDANCE_TIMER,
+    CSS_DO_SCAN_INTERRUPT_TIME_TIMER,
+    CSS_DO_MPSS_HOLD_TIMER, /*143v1[1]  5.4.3 T_dbsr_hold*/
+    CSS_DO_MPSS_CALL_TIMER, /*143v1[1]  5.4.5 T_dbsr_call*/
+    CSS_DO_CONSECUTIVE_DO_LOST_TIMER, /*143v1[1]  5.5.2*/
+    CSS_DO_AVOIDANCE_LOST_TIMER, /*143v1[1]  5.5.2*/
+    CSS_DO_REDIRECTION_AVOIDANCE_TIMER, /*143v1[1]  5.6.2*/
+    CSS_DO_ACM_PERSIS_TEST_FAIL_AVOIDANCE_TIMER, /*143v1[1]  5.7.1*/
+    CSS_DO_MAXACCESSFAIL_AVOIDANCE_TIMER, /*143v1[1]  5.7.2*/
+    CSS_DO_SESSIONEGO_TIMEOUT_AVOIDANCE_TIMER, /*143v1[1]  5.7.7*/
+    CSS_DO_SESSIONEGO_FAIL_AVOIDANCE_TIMER, /*143v1[1]  5.7.7*/
+    CSS_DO_CONNDENY_AUTH_AVOIDANCE_TIMER, /*143v1[1]  5.7.7*/
+    CSS_DO_CONNDENY_GENERAL_AVOIDANCE_TIMER, /*143v1[1]  5.7.4*/
+    CSS_DO_CH_AVOIDANCE_TICK_TIMER,
+    CSS_DO_SCANNING_DURATION_TIMER, /* Per KDDI's req, AT shall set the timer when start to scan,
+                                     * and stop the scan when the timer expires in the scenario of "1X&DO both OOSA" */
+    CSS_IRAT_PS_RAT_RPT_DELAY_TIMER,
+    CSS_IRAT_TDO_TIMER,
+    CSS_IRAT_DO_RESUME_TIMER,
+    CSS_IRAT_DEACTIVATE_RPT_DELAY_TIMER,
+    CSS_DO_TIMER_END = CSS_IRAT_DEACTIVATE_RPT_DELAY_TIMER,
+
+    CSS_IRAT_PROCEDURE_GUARD_TIMER_START,
+    CSS_IRAT_MCC_SEARCH_GUARD_TIMER = CSS_IRAT_PROCEDURE_GUARD_TIMER_START,
+    CSS_IRAT_PS_REG_GUARD_TIMER,
+    CSS_IRAT_SYS_ACQUIRE_GUARD_TIMER,
+    CSS_IRAT_RESEL_REDIR_GUARD_TIMER,
+    CSS_IRAT_DEREG_GUARD_TIMER,
+    CSS_IRAT_C2L_RESEL_GUARD_TIMER,
+    CSS_IRAT_PROCEDURE_GUARD_TIMER_END = CSS_IRAT_C2L_RESEL_GUARD_TIMER,
+    CSS_TIMER_END =CSS_IRAT_PROCEDURE_GUARD_TIMER_END,
+
+    CSS_MAX_NUMBER_OF_TIMER_TYPES
+} CssTimerTypeE;
+
+typedef PACKED_PREFIX struct
+{
+    kal_uint16 pilotThresh;
+} PACKED_POSTFIX  Css1xMpssPilotStrengthThresh_APIStruct;
+
+typedef PACKED_PREFIX struct
+{
+    kal_uint32  duration;
+} PACKED_POSTFIX  CssTimerDuration_APIStruct;
+
+typedef PACKED_PREFIX struct
+{
+    Css1xBsrTimerTypeT   tbsr;
+    kal_uint32               duration;
+} PACKED_POSTFIX  Css1xBsrTimerDuration_APIStruct;
+
+typedef PACKED_PREFIX struct
+{
+    Css1xAvoidanceTimerTypeT   avoidance;
+    kal_uint32                     duration;
+} PACKED_POSTFIX  Css1xAvoidanceTimerDuration_APIStruct;
+
+typedef PACKED_PREFIX struct
+{
+    CssDOBsrTimerTypeT   tbsr;
+    kal_uint32               duration;
+} PACKED_POSTFIX  CssDOBsrTimerDuration_APIStruct;
+
+typedef PACKED_PREFIX struct
+{
+    kal_uint16 Sid[MAX_MANUAL_AVOID_1XSYS];
+} PACKED_POSTFIX Css1xManualAvoidSid_APIStruct;
+
+typedef PACKED_PREFIX struct
+{
+    kal_uint8           subModule;
+    kal_uint8           index;
+    MruBandChannelT mruChannel;
+} PACKED_POSTFIX CssSetMruChannel_APIStruct;
+
+typedef PACKED_PREFIX struct
+{
+    kal_uint8           subModule;
+    kal_uint8           index;
+    kal_uint8           num1x;
+    kal_uint8           numDO;
+    MruBandChannelT mru[MAX_MRU_RECORDS + MAX_MRU_RECORDS]; /* to contain 1x and/or DO MRU */
+} PACKED_POSTFIX CssGetMruChannel_APIStruct;
+
+#ifdef MTK_DEV_C2K_IRAT
+typedef PACKED_PREFIX struct
+{
+    kal_uint8   sysType;
+    kal_bool    b1xChnlLocked;
+    kal_uint16  rttChnl;
+    kal_bool    bDoChnlLocked;
+    kal_uint16  doChnl;
+} PACKED_POSTFIX CssSetChannleLockInfo_APIStruct;
+#endif
+
+/*------------------------------------------------------*/
+/* End CSS Parm Set/Get definitions                     */
+/*------------------------------------------------------*/
+
+typedef PACKED_PREFIX struct
+{
+    CssSubModule         subModule;
+    CpsmOOSAStage        stage;
+    kal_uint8                phase;
+    CpsmOOSAScanMethod   scanMethod;
+    kal_uint32               scanTime;
+    kal_uint8                cycles;
+    kal_uint32               delay;
+} PACKED_POSTFIX CssOOSASetPhaseParmsMsgT;
+
+typedef PACKED_PREFIX struct
+{
+    CssOOSAPhaseRsp      result;
+    CssSubModule         subModule;
+    CpsmOOSAStage        stage;
+    kal_uint8                phase;
+} PACKED_POSTFIX CssOOSASetPhaseParmsRspMsgT;
+
+typedef PACKED_PREFIX struct
+{
+    CssSubModule         subModule;
+    CpsmOOSAStage        stage;
+    kal_uint8                phase;
+    CpsmOOSAScanMethod   scanMethod;
+    kal_uint32               scanTime;
+    kal_uint8                cycles;
+    kal_uint32               delay;
+} PACKED_POSTFIX CssOOSAGetPhaseParmsMsgT;
+
+typedef PACKED_PREFIX struct
+{
+    CssOOSAPhaseRsp      result;
+    CssSubModule         subModule;
+    CpsmOOSAStage        stage;
+    kal_uint8                phase;
+    CpsmOOSAScanMethod   scanMethod;
+    kal_uint32               scanTime;
+    kal_uint8                cycles;
+    kal_uint32               delay;
+} PACKED_POSTFIX CssOOSAGetPhaseParmsRspMsgT;
+
+#ifdef MTK_DEV_C2K_IRAT
+typedef PACKED_PREFIX struct
+{
+    css_mmss_updated_file_id_enum file_id;
+} PACKED_POSTFIX CssMMSSFileUpdateMsgT;
+#endif
+
+typedef PACKED_PREFIX struct
+{
+    CssSubModule         subModule;
+    kal_bool  Enable;
+} PACKED_POSTFIX CpsmOOSASetEnable_APIStruct;
+
+typedef PACKED_PREFIX struct
+{
+    CssOOSAPhaseRsp      result;
+    CssSubModule         subModule;
+    kal_bool  Enable;
+} PACKED_POSTFIX CpsmOOSASetEnableRsp_APIStruct;
+
+typedef PACKED_PREFIX struct
+{
+    CssSubModule         subModule;
+} PACKED_POSTFIX CpsmOOSAGetEnable_APIStruct;
+
+typedef PACKED_PREFIX struct
+{
+    CssOOSAPhaseRsp      result;
+    CssSubModule         subModule;
+    kal_bool  Enable;
+} PACKED_POSTFIX CpsmOOSAGetEnableRsp_APIStruct;
+
+typedef PACKED_PREFIX struct
+{
+    CssSubModule         subModule;
+    CpsmOOSAStage        stage;
+    kal_uint8                numPhases;
+} PACKED_POSTFIX CpsmOOSASetNumPhases_APIStruct;
+
+typedef PACKED_PREFIX struct
+{
+    CssOOSAPhaseRsp      result;
+    CssSubModule         subModule;
+    CpsmOOSAStage        stage;
+    kal_uint8                numPhases;
+} PACKED_POSTFIX CpsmOOSASetNumPhasesRsp_APIStruct;
+
+typedef PACKED_PREFIX struct
+{
+    CssSubModule         subModule;
+    CpsmOOSAStage        stage;
+} PACKED_POSTFIX CpsmOOSAGetNumPhases_APIStruct;
+
+typedef PACKED_PREFIX struct
+{
+    CssOOSAPhaseRsp      result;
+    CssSubModule         subModule;
+    CpsmOOSAStage        stage;
+    kal_uint8                numPhases;
+} PACKED_POSTFIX CpsmOOSAGetNumPhasesRsp_APIStruct;
+
+typedef PACKED_PREFIX struct
+{
+    CssSubModule         subModule;
+    CpsmOOSAStage        stage;
+    kal_uint8                phase;
+    kal_uint8                cycle;
+} PACKED_POSTFIX CpsmOOSASetCurrentStage_APIStruct;
+
+typedef PACKED_PREFIX struct
+{
+    CssOOSAPhaseRsp      result;
+    CssSubModule         subModule;
+    CpsmOOSAStage        stage;
+    kal_uint8                phase;
+    kal_uint8                cycle;
+} PACKED_POSTFIX CpsmOOSASetCurrentStageRsp_APIStruct;
+
+typedef PACKED_PREFIX struct
+{
+    CssSubModule         subModule;
+} PACKED_POSTFIX CpsmOOSAGetCurrentStage_APIStruct;
+
+typedef PACKED_PREFIX struct
+{
+    CssOOSAPhaseRsp      result;
+    CssSubModule         subModule;
+    CpsmOOSAStage        stage;
+    kal_uint8                phase;
+    kal_uint8                cycle;
+} PACKED_POSTFIX CpsmOOSAGetCurrentStageRsp_APIStruct;
+
+typedef PACKED_PREFIX struct
+{
+    CpsmOOSAStage        stage;
+    kal_uint8                phase;
+    kal_uint8                cycle;
+} PACKED_POSTFIX CpsmOOSACurrentPhase;
+
+typedef PACKED_PREFIX struct
+{
+    CssSubModule         System;
+} PACKED_POSTFIX CpsmGetMccT;
+
+typedef PACKED_PREFIX struct
+{
+    kal_uint16                Mcc;
+    CssSubModule          System;
+} PACKED_POSTFIX CpsmGetMcccRspT;
+
+typedef struct
+{
+    kal_uint8        CtrlMode; /* HWD_ENABLE = 0, HWD_DISABLE = 1, HWD_LOAD = 2 */
+    kal_uint8        System;   /* 1x/DO */
+    kal_uint8        Band;
+    kal_uint16       Channel;
+} CssTstPllChannelMsgT;
+
+typedef PACKED_PREFIX struct
+{
+    kal_uint8  NetworkPreference;
+} PACKED_POSTFIX  CssSvcStatusReqMsgT;
+
+typedef enum
+{
+    CSS_1X_MARK_SYSTEM_AS_NEGATIVE,
+    CSS_1X_CLEAR_MARKED_SYSTEM_LIST
+} CssMarkSystemT;
+
+typedef PACKED_PREFIX struct
+{
+    CssMarkSystemT action;
+} PACKED_POSTFIX  CssMarkSystemMsgT;
+
+typedef PACKED_PREFIX struct
+{
+    kal_bool Redirection;
+} PACKED_POSTFIX  Css1xRedirIndMsgT;
+
+typedef PACKED_PREFIX struct
+{
+    kal_uint32 timer;
+} PACKED_POSTFIX  CssTimerExpiredMsgT;
+
+typedef struct
+{
+    kal_int16 TxPwr;      /* in Q7 format */
+} IratRcpTxPwrRspT, IratL1dTxPwrRspT;
+
+typedef PACKED_PREFIX struct
+{
+    CssTchSetupStatusT status;
+} PACKED_POSTFIX  CssDataTchSetupStatusMsgT;
+
+typedef PACKED_PREFIX struct
+{
+    ExeRspMsgT            rspInfo;
+    CssSubModule          subModule;
+    kal_uint32                duration;
+} PACKED_POSTFIX CpsmOOSAScanTimeSetMsgT;
+
+typedef PACKED_PREFIX struct
+{
+    CssOOSAPhaseRsp     result;
+    CssSubModule        subModule;
+    kal_uint32              duration;
+} PACKED_POSTFIX CpsmOOSAScanTimeSetRspMsgT;
+
+typedef PACKED_PREFIX struct
+{
+    ExeRspMsgT          rspInfo;
+    CssSubModule        subModule;
+    kal_uint32              duration;
+} PACKED_POSTFIX CpsmOOSAScanTimeGetMsgT;
+
+typedef PACKED_PREFIX struct
+{
+    CssOOSAPhaseRsp     result;
+    CssSubModule        subModule;
+    kal_uint32              duration;
+} PACKED_POSTFIX CpsmOOSAScanTimeGetRspMsgT;
+
+typedef PACKED_PREFIX struct
+{
+    kal_uint8 RegStatus;   /* 0-1X reg succeed. 1-1X reg fail. others - reserved */
+} PACKED_POSTFIX  CssPsw1XRegStatusIndT;
+
+typedef PACKED_PREFIX struct
+{
+    kal_uint8 DOOverlap;  /* the value of the 3rd bit of BASE_ID in SPM of LGT 1X(sid=2190) */
+} PACKED_POSTFIX  CssPsw1XDOOverlapIndT;
+
+/*IRAT*/
+#ifdef MTK_DEV_C2K_IRAT
+/*CSS_IRATM_TO_LTE_RESEL_IND*/
+typedef struct
+{
+    cas_eas_activate_ecell_req_struct  ReselToLteInfo;
+} CssIratmToLteReselIndT;
+
+/*CSS_IRATM_PARAM_UPDATE_IND*/
+typedef struct
+{
+    kal_bool                  is_valid;       /* indicate if the CDMA2000 neighbor cell reselection parameter is valid */
+    nbr_cell_list_c2k_struct  nbr_cell_list;  /* indicate the CDMA2000 neighbor cell reselection parameters */
+} CssIratmParaUpdateIndT;
+
+/*IRATM_CSS_PLMN_LIST_UPDATE_RSP*/
+typedef struct
+{
+    gmss_css_sim_plmn_info_rsp_struct PlmnInfoRsp;
+}CssIratmPlmnListUpdateRspT;
+
+/*CSS_IRATM_POWER_CTRL_CNF*/
+typedef struct
+{
+    kal_bool powerStatus; /*0: power off; 1: power on */
+}CssIratmPowerCtrlCnfT;
+
+/*CSS_IRATM_MEAS_CTRL_CNF*/
+typedef struct
+{
+    kal_bool isMeasStart; /*0: measure off; 1: measure on */
+}CssIratmMeasCtrlCnfT;
+
+/* CSS_CLC_RELEASE_LLA_REQ */
+typedef struct
+{
+    kal_uint8 LLAReleaseOwner;
+}CssClcReleaseLlaReqT;
+
+typedef struct
+{
+    kal_bool  NeedResetConn; /* This field shall be filled with value of same field in corresponding HLP_CSS_NETWORK_REL_REQ message */
+    kal_bool  Is1xResReleased; /* True if HLP has notified PSW to release RSVAS*/
+} CssHlpNetwkRelRspMsgT;
+
+typedef struct
+{
+    kal_uint8  Pdn_Id;
+    kal_uint8  Bearer_Id;
+    kal_uint8  Reason;
+} CssHlpEpsBearerDisconnIndT;
+
+typedef struct
+{
+    kal_uint8 Band;          /* CDMA bandclass */
+    kal_uint16 Channel;      /* CDMA channel number */
+    IratCdmaPilotMeasResultT Pilot; /* CDMA pilot measure result */
+} IratRupCurSysMeasRspT, IratPswCurSysMeasRspT;
+
+typedef struct
+{
+    kal_uint8 available; /* 0-unavailale(msg not include RatInfo data); 1-available */
+    IratEUTRANMeasureInfoT RatInfo;
+    kal_uint8 ServingPriority; /* priority of current serving CDMA channel. 0xff means not provided */
+    kal_int8 ThreshServing;    /* CDMA serving pilot strength threshold trigger point for EUTRAN
+                              neighbor selection. 0xff means not provided */
+} IratOmpRATInfoIndT, IratPswRATInfoIndT;
+
+typedef struct
+{
+    kal_uint16 Mcc; /* 0xffff means not available */
+    kal_uint8 pRev; /* pRev of CDMA95 and 1X */
+    kal_bool  regenabled; /* 1 - MCC have changed and originale regenabled is TRUE, 0 - MCC not changed or  originale regenabled is FALSE*/
+    kal_bool  MccChanged; /* MCC changed or not */
+} IratOmpMCCRspT, IratPswMCCRspT;
+
+typedef struct
+{
+    kal_uint16 Mcc; /* 0xffff means not available */
+    kal_bool   regenabled; /* 1x register enabled or not*/
+} IratOmpMccChangeIndT, IratPswMccChangeIndT;
+
+typedef struct
+{
+    kal_uint8 Band;          /* CDMA bandclass */
+    kal_uint16 Channel;      /* CDMA channel number */
+    IratCdmaPilotMeasResultT Pilot; /* CDMA pilot measure result */
+} IratRupCurSysWeakIndT, IratPswCurSysWeakIndT; /* content same as xxxCurSysMeasRspT */
+
+typedef struct
+{
+    kal_uint16 sid;
+    kal_uint16 nid;
+    kal_uint16 baseId;
+    kal_uint16 mcc;
+    kal_uint16 mnc;
+    kal_uint8  pzid;
+#if defined (__TC10__) && defined (__TC10_IPC_CDMA_SUPPORT__)
+    kal_uint16 aiMcc;
+#endif
+} IratPswCellIDIndT;
+
+typedef struct
+{
+    kal_uint8 sectorId[16];
+    kal_uint8 subnetLength;
+} IratOmpCellIDIndT;
+
+typedef struct
+{
+    IratEvent event;
+    kal_uint32    eventParameter;
+} CssIratEventMsgT;
+
+typedef enum
+{
+    RSVAS_CSS_EVENT_CS_OCCUPY,
+    RSVAS_CSS_EVENT_CS_CANCEL,
+    RSVAS_CSS_EVENT_CS_OCCUPY_IND,
+    RSVAS_CSS_EVENT_CS_RELEASE,
+    RSVAS_CSS_EVENT_PS_OCCUPY,
+    RSVAS_CSS_EVENT_PS_CANCEL,
+    RSVAS_CSS_EVENT_PS_OCCUPY_IND,
+    RSVAS_CSS_EVENT_PS_RELEASE,
+} CssRsvasEventT;
+
+/* CSS_PSW_RSVAS_EVENT_REPORT_MSG */
+typedef PACKED_PREFIX struct
+{
+    CssRsvasEventT  cssRsvasEvent;
+    rsvas_sim_enum  servOwnerSimId;
+    rsvas_sim_enum  currC2kSimId;
+} PACKED_POSTFIX  CssRsvasEventReportMsgT;
+
+/* CSS_PSW_RSVAS_SUSPEND_REQ_MSG */
+typedef PACKED_PREFIX struct
+{
+    rsvas_sim_enum servOwnerSimId;
+    rsvas_sim_enum currC2kSimId;
+} PACKED_POSTFIX  CssPswRsvasSuspendReqMsgT;
+
+/* CSS_PSW_RSVAS_DO_VRTL_SUSP_REQ_MSG */
+typedef PACKED_PREFIX struct
+{
+    rsvas_sim_enum servOwnerSimId;
+    rsvas_sim_enum currC2kSimId;
+} PACKED_POSTFIX  CssPswRsvasDoVrtlSuspReqMsgT;
+
+/* CSS_PSW_RSVAS_DO_RESUME_REQ_MSG */
+typedef PACKED_PREFIX struct
+{
+    rsvas_sim_enum servOwnerSimId;
+    rsvas_sim_enum currC2kSimId;
+} PACKED_POSTFIX  CssPswRsvasDoResumeReqMsgT;
+
+/* CSS_PSW_RSVAS_VRTL_RESUME_REQ_MSG */
+typedef PACKED_PREFIX struct
+{
+    rsvas_sim_enum servOwnerSimId;
+    rsvas_sim_enum currC2kSimId;
+} PACKED_POSTFIX  CssPswRsvasVrtlResumeReqMsgT;
+
+/* CSS_PSW_RSVAS_RESUME_REQ_MSG */
+typedef PACKED_PREFIX struct
+{
+    rsvas_sim_enum servOwnerSimId;
+    rsvas_sim_enum currC2kSimId;
+} PACKED_POSTFIX  CssPswRsvasResumeReqMsgT;
+#endif /* MTK_DEV_C2K_IRAT */
+
+#ifdef MTK_PLT_ON_PC_UT
+typedef struct
+{
+    LOCAL_PARA_HDR
+    css_configure_enum	configure_id;
+    kal_uint8        	value;
+    kal_uint32        	valueArray[10];
+}css_configure_req_struct;
+
+/* msg struct of msg: CSS_SYS_UT_TIMER_START_REQ */
+typedef struct
+{
+    LOCAL_PARA_HDR
+    CssTimerTypeE       timerId;
+    kal_uint16          index;
+    kal_uint32          duration;
+}css_sys_ut_timer_start_req_struct;
+
+/* msg struct of msg: CSS_SYS_UT_TIMER_STOP_REQ */
+typedef struct
+{
+    LOCAL_PARA_HDR
+    CssTimerTypeE   timerId;
+    kal_uint16      index;
+}css_sys_ut_timer_stop_req_struct;
+
+/* msg struct of msg: CSS_SYS_UT_TIMER_EXPIRED_MSG */
+typedef struct
+{
+    LOCAL_PARA_HDR
+    CssTimerTypeE   type;
+    kal_uint16      index;
+}css_sys_ut_timer_expired_ind_struct;
+#endif
+
+void CssReportDOUnavailToHlp(void);
+kal_uint8 cpCssGetNamSystemSelectType(void);
+void css1xSetOtaSystem(kal_uint8 mode);
+kal_uint8 css1xGetPilotAcqSensIndex(SysBandChannelT *system);
+kal_bool cssIsPrlValid(void);
+UiccCardStatusType cssGetUiccStatus(void);
+kal_bool cssIsUiccReady(void);
+kal_bool css1xIsSystemSelectSettingValid(SystemSelectType *sysSelect);
+kal_bool cssGetEmergencyMode(void);
+kal_uint8* cssGetPtrToPRL(void);
+kal_uint16 cssGetERIVersionNumber(void);
+
+CPSM_1X_STATES Cpsm1xGetState(void);
+CPSM_DO_STATES CpsmDoGetState(void);
+
+#ifdef MTK_DEV_C2K_IRAT
+kal_bool IRATIsPsDataOnC2K(void);
+IRAT_CPStateT IRATCpState(CssRatModeT rat);
+IratMainStateE IRATGetCurMainState(void);
+kal_bool IRATGet1XPSEnabled(void);
+kal_bool IRATIsCsRegPendedForSilentRedial(void);
+kal_bool IRATGet1XRegEnabled(void);
+void IRATSet1xRegEnabled(kal_bool val);
+srlteRatTypeT IRATGetDoRatType(void);
+kal_bool IsIratActingOnPsReg(void);
+kal_bool IRATIsC2KRatNotInvolvedInGlobalMode(void);
+kal_bool IRATIsC2KRatModeNotInvolved(void);
+#endif
+
+#ifdef MTK_DEV_SLT
+kal_uint16 cssGet1xPrlScanListNumber(void);
+#endif
+#if defined (MTK_DEV_C2K_IRAT) && defined (MTK_DEV_C2K_SRLTE_L1)
+extern kal_uint32 SysFrcCntGet(void);
+#endif
+#endif
+