[Feature][Modem]Update MTK MODEM V1.6 baseline version: MOLY.NR15.R3.MD700.IVT.MP1MR3.MP.V1.6
MTK modem version: MT2735_IVT_MOLY.NR15.R3.MD700.IVT.MP1MR3.MP.V1.6.tar.gz
RF modem version: NA
Change-Id: I45a4c2752fa9d1a618beacd5d40737fb39ab64fb
diff --git a/mcu/interface/protocol/nas_c2k/cssdefs.h b/mcu/interface/protocol/nas_c2k/cssdefs.h
new file mode 100644
index 0000000..b881668
--- /dev/null
+++ b/mcu/interface/protocol/nas_c2k/cssdefs.h
@@ -0,0 +1,580 @@
+/*****************************************************************************
+* 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_DEFS_H_
+
+#define _CSS_DEFS_H_ 1
+
+#include "uimapi.h"
+/*****************************************************************************
+ * Local Definitions and Marcos
+ ****************************************************************************/
+#define CSS_SWAP(A, B, TMP) {(TMP) = (A); (A) = (B); (B) = (TMP);}
+
+/*#define CSS_GENERIC_WARNING_TRACE(WARNING_TYPE, WARNING_VAL) \
+ dhl_trace(TRACE_WARNING, DHL_USER_FLAG_NONE, DHL_CP_CSS_WARNING_TRACE_ID, WARNING_TYPE, WARNING_VAL, __FUNCTION__, __LINE__)*/
+
+/*#define CSS_INVALID_GMSS_DEST_MOD_TRACE() \
+ dhl_trace(TRACE_WARNING, DHL_USER_FLAG_NONE, DHL_CP_CSS_WARNING_TRACE_ID, CSS_ERR_INVALID_GMSS_TASK, ValIratGetSimAccessIndex, __FUNCTION__, __LINE__)*/
+
+#define RTT_ASSOCIATED_SCAN_DISABLED
+#define RTT_AVAIL_SYS_SCAN_DISABLED
+#define DO_SILENT_RETRY_DISABLED
+#define DO_EMERGENCY_SCAN_DISABLED
+#define DO_OTASP_SCAN_DISABLED
+#define DO_AVAIL_SYS_SCAN_DISABLED
+
+#define INTERN_SIM_INDEX_OFFSET 0xA0
+
+#define MAX_ERI_ENTRIES 30
+#define CSS_MAX_SIM_NUM MAX_SUPPORT_SIM_TOTAL
+
+/* maximum size based on NAM (non-PRL) available number of channels */
+#define MAX_PCS_CHANS 48 /* all PCS blocks have maximum = 48 */
+#define MAX_CELL_CDMA_CHANS 4 /* cell CDMA from NAM PRI A/B, SEC A/B = 4 */
+#define MAX_CELL_CUSTOM_CDMA_CHANS 32 /* cell CDMA custom channels maximum = 32 */
+#define MAX_MRU_CHANS MAX_MRU_RECORDS
+#ifdef MTK_DEV_C2K_IRAT
+#define MAX_SIB8_CHANS 100
+#define MAX_PS_REG_RAL_RECORDS 10
+#endif
+#ifdef MTK_CBP
+#define MAX_1X_MAX_ACCESS_FAIL_AVOID_CHAN_NUM 4
+#define MAX_DO_MAX_ACCESS_FAIL_AVOID_CHAN_NUM 4
+#define ALL_ENTRIES_IN_AVOID_LIST 0xFE
+#define INVALID_INDEX_IN_AVOID_LIST 0xFF
+#define MAX_1X_MAX_REG_REJ_AVOID_CHAN_NUM 5
+#define MAX_1X_MAX_RELEASE_REJ_AVOID_CHAN_NUM 5
+#endif
+
+#define MAX_SYSTEM_LIST_SIZE (90)
+#define MAX_EXT_SYSTEM_LIST_SIZE (90)
+
+#define MAX_SMALL_SYSTEM_LIST_SIZE 20
+#define MAX_SMALL_EXT_SYSTEM_LIST_SIZE 20
+
+#define ACQUISITION_INDEX_NOT_KNOWN 512
+
+#define ACQUISITION_INDEX_NOT_KNOWN_DEFAULT_BAND 513
+
+/* maximum channels & blocks in PRL acq records */
+#ifdef MTK_CBP
+#define MAX_CUSTOM_CHANS 128 /* AR_GENERIC_ACQ_REC_HRPD with 121 band/channel combinations in Sprint card */
+#else
+#define MAX_CUSTOM_CHANS 31
+#endif
+
+#define BC0_BLOCK_CHANNEL_INCREMENT 0 /* Use PriA & PriB in the Nam */
+#define BC1_BLOCK_CHANNEL_INCREMENT 25
+#define BC2_BLOCK_CHANNEL_INCREMENT 0 /* Discrete channels */
+#define BC3_BLOCK_CHANNEL_INCREMENT 0 /* Discrete channels */
+#define BC4_BLOCK_CHANNEL_INCREMENT 25
+#define BC5_BLOCK_CHANNEL_INCREMENT 50
+#define BC6_BLOCK_CHANNEL_INCREMENT 25
+#define BC7_BLOCK_CHANNEL_INCREMENT 25
+#define BC8_BLOCK_CHANNEL_INCREMENT 25
+#define BC9_BLOCK_CHANNEL_INCREMENT 25
+#define BC10_BLOCK_CHANNEL_INCREMENT 50
+#define BC11_BLOCK_CHANNEL_INCREMENT 50
+#define BC12_BLOCK_CHANNEL_INCREMENT 25
+#define BC13_BLOCK_CHANNEL_INCREMENT 25
+#define BC14_BLOCK_CHANNEL_INCREMENT 25
+#define BC15_BLOCK_CHANNEL_INCREMENT 25
+#define BC16_BLOCK_CHANNEL_INCREMENT 25
+#define BC17_BLOCK_CHANNEL_INCREMENT 0
+#define BC18_BLOCK_CHANNEL_INCREMENT 25
+#define BC19_BLOCK_CHANNEL_INCREMENT 25
+#define BC20_BLOCK_CHANNEL_INCREMENT 25
+
+#define CSS_1X_EMERGENCY_CALLBACK_MODE_TIME 300000L
+
+/* E-PRL Defines */
+#define OPERATIONAL_SID_0 15904
+#define OPERATIONAL_SID_1 15905
+
+/* Maximum time to wait for ESPM to validate System Selection */
+#define CSS_1X_EPRL_ESPM_WAIT_TIME 12000L
+
+/* Arbitrary maximum number of times SelectChannel() can be called recursively before
+ * SVSM decides its in an infinite loop and throws MonFault
+ * CSS_ERR_SVSM_SELECT_CHANNEL_TOO_MANY_RECURSIONS */
+#define CSS_1X_SVSM_SELECT_CHANNEL_RECURSION_LIMIT 15
+
+#define MAX_OOSA_PHASES 10
+#define CSS_OOSA_MAX_SLEEP_SECS 510
+
+/* Scan duration is specified in seconds, stored in units of milliseconds */
+#define CP_SELECTION_TIME_SCALE 1000
+
+/*****************************************************************************
+ * Local Enums
+ ****************************************************************************/
+
+typedef enum
+{
+ CSS_UIM_PRL,
+ CSS_UIM_EPRL,
+ CSS_NV_PRL,
+ CSS_PRL_SRC_INVALID
+} CssPrlSourceType;
+
+typedef enum
+{
+ /* VR_ACCEPTED */
+ MOST_PREF_SYS_IN_PRL,
+ MOST_PREF_SYS_IN_PRL_WITH_ASSO,
+ HOME_SYS_IN_NAM_NOT_IN_PRL,
+ HOME_SYS_IN_NAM_NO_PRL,
+ DFLT_PREF_SYS_FOR_1X95_VER_PRL,
+ DFLT_PREF_SYS_NOT_IN_PRL_WITH_ASSO,
+ MRU_SYS_FOR_1X95_VER_PRL,
+ DFLT_PREF_SYS,
+ DFLT_PREF_SYS_NO_PRL,
+
+ /* VR_KEEP_SCAN */
+ PREF_SYS_IN_PRL,
+ PREF_SYS_IN_PRL_WITH_ASSO,
+
+ /* VR_NEGATIVE */
+ NEG_SYS_IN_PRL,
+ NEG_SYS_IN_PRL_WITH_ASSO,
+ NEG_SYS_IN_NAM_NOT_IN_PRL,
+ NEG_SYS_IN_NAM_NO_PRL,
+ PRI_LOCK_SYS,
+ SYS_NOT_IN_PRL_AND_NAM_AND_DFLT_BAND,
+ SYS_NOT_IN_MRU_AND_DFLT_BAND_FOR_1X95_VER_PRL,
+ NEG_SYS_FOR_1X95_VER_PRL,
+
+ /* VR_NON_SYS_TABLE */
+ DFLT_BAND_CHANNEL_SYS,
+ NOT_DFLT_BAND_CHANNEL_SYS,
+ NON_IN_SYS_TABLE,
+ NOT_IN_DFLT_PREF_SYS_NO_PRL,
+ NOT_IN_DFLT_PREF_AND_PRL_WITH_ASSO,
+
+ /* VR_UNKNOWN */
+ INTENATIONAL_ROAM_SYS_BARRED,
+ DOMESTIC_ROAM_SYS_BARRED,
+ ONLY_HOME_SYS_ALLOWED,
+
+ /* VR_EXTERNEL_ACCEPTED */
+ CHANNEL_LOCK_MODE,
+ HLP_IS_WAITING_FOR_SVC_MODE,
+
+ /* VR_EXTERNEL_REJECTED */
+ NOT_SUITABLE_SYS,
+ PILOT_STRENGTH_UNQUALIFIED_SYS,
+ MANUAL_SYS_AVOIDANCE,
+ MAPE_HOME_SYS_AVOIDANCE,
+ REGIST_REJECT_SYS_AVOIDANCE,
+ RELEASE_REJECT_SYS_AVOIDANCE,
+ ACCESS_MAX_PROBES_SYS_AVOIDANCE,
+ REDIRECTION_SYS_AVOIDANCE,
+ IRAT_PRIO_UNQUALIFIED_SYS
+} SELECT_VALIDATE_STATUS;
+
+enum cpsm_1x_events
+{
+ CPSM_1X_SELECT_REQ_EV,
+ CPSM_1X_VALIDATE_REQ_EV,
+ CPSM_1X_EXHAUST_SCANLIST_EV,
+ CPSM_1X_OOSA_WAKEUP_EV,
+ CPSM_1X_CONN_STATUS_IND_EV,
+ CPSM_1X_MPSS_TIMEOUT_EV,
+ CPSM_1X_RETRIEVE_RES_EV,
+ CPSM_1X_CP_DISABLED_EV,
+ CPSM_1X_NUM_EVENTS,
+ CPSM_1X_NO_EV
+};
+typedef enum cpsm_1x_events CPSM_1X_EVENTS;
+
+enum cpsm_do_events
+{
+ CPSM_DO_SELECT_REQ_EV,
+ CPSM_DO_VALIDATE_REQ_EV,
+ CPSM_DO_EXHAUST_SCANLIST_EV,
+ CPSM_DO_OOSA_WAKEUP_EV,
+ CPSM_DO_CONN_STATUS_IND_EV,
+ CPSM_DO_MPSS_TIMEOUT_EV,
+ CPSM_DO_RETRIEVE_RES_EV,
+ CPSM_DO_ASSO_SYS_SCAN_EV, /* RESCAN because the collocation between 1X and DO is broken */
+ CPSM_DO_DISABLE_EV,
+ CPSM_DO_NUM_EVENTS,
+ CPSM_DO_NO_EV
+};
+typedef enum cpsm_do_events CPSM_DO_EVENTS;
+
+typedef enum
+{
+ PRL_MRU_SCAN_1X_ST,
+ DFLT_PREF_CHAN_SCAN_1X_ST,
+ ACQD_NON_PRL_SYS_RESCAN_1X_ST,
+ ACQD_PRL_SYS_RESCAN_1X_ST,
+ SR_SCAN_1X_ST,
+ LAST_REG_SYS_SCAN_1X_ST,
+ GEO_SCAN_1X_ST,
+ MPSS_1X_ST,
+ AVAIL_SYS_SCAN_1X_ST, /* NOT USED */
+ EMGER_SCAN_1X_ST,
+ ASSOCIATED_DO_SCAN_1X_ST, /* NOT USED */
+ OTASP_CALL_SCAN_1X_ST,
+ REDIRECT_SCAN_1X_ST,
+ RE_ACQUIRE_1X_ST,
+ CALL_RELEASE_1X_ST,
+ PLL_CHAN_TEST_1X_ST,
+ RESET_1X_ST,
+#ifdef MTK_CBP
+ HVOLTE_SR_SIB8_SCAN_1X_ST, /* hVoLte silent redial on SIB8 */
+ IDLE_GEO_SCAN_1X_ST,
+#endif
+ NUM_1X_SVSM_STATES
+} Svsm_1X_States;
+
+typedef enum {
+ PRL_MRU_SCAN_DO_ST, /*0*/
+ DFLT_PREF_CHAN_SCAN_DO_ST,
+ ACQD_NON_PRL_SYS_RESCAN_DO_ST,
+ ACQD_PRL_SYS_RESCAN_DO_ST,
+ SR_SCAN_DO_ST, /* NOT_USED */
+ LAST_REG_SYS_SCAN_DO_ST, /*5*/
+ GEO_SCAN_DO_ST,
+ MPSS_DO_ST,
+ AVAIL_SYS_SCAN_DO_ST, /* NOT_USED */
+ EMGER_SCAN_DO_ST, /* NOT_USED */
+ ASSOCIATED_DO_SCAN_DO_ST, /*10*/
+ OTASP_CALL_SCAN_DO_ST, /* NOT_USED */
+ REDIRECT_SCAN_DO_ST,
+ RE_ACQUIRE_DO_ST, /*this DO SVSM is for acquiring last system one-time, now it's used for IRAT responding HLP case*/
+ ASSOCIATED_SYSLOST_SCAN_DO_ST,
+ ASSOCIATED_MPSS_SCAN_DO_ST,
+ PRL_MRU_SYSLOST_SCAN_DO_ST,
+ GEO_SYSLOST_SCAN_DO_ST,
+ PLL_CHAN_TEST_DO_ST,
+ RAT_CHANS_SCAN_DO_ST,
+ RESET_DO_ST, /*20*/
+ NUM_DO_SVSM_STATES
+}Svsm_DO_States;
+
+enum rsvac_1x_states
+{
+ RSVAC_1X_NULL_ST,
+ RSVAC_1X_WAITING_ST,
+ RSVAC_1X_PREEMPTING_ST,
+ RSVAC_1X_RUNNING_ST,
+ RSVAC_1X_NUM_STATES
+};
+typedef enum rsvac_1x_states RSVAC_1X_STATES;
+
+enum rsvac_do_states
+{
+ RSVAC_DO_NULL_ST,
+ RSVAC_DO_WAITING_ST,
+ RSVAC_DO_PREEMPTING_ST,
+ RSVAC_DO_RUNNING_ST,
+ RSVAC_DO_NUM_STATES
+};
+typedef enum rsvac_do_states RSVAC_DO_STATES;
+
+typedef enum
+{
+ SYS_1xRTT,
+ SYS_EVDO,
+ SYS_BOTH
+}C2K_SystemT;
+
+enum cpsm_do_session_states
+{
+ SESSION_CLOSED,
+ SESSION_SETUP,
+ SESSION_OPENED
+};
+typedef enum cpsm_do_session_states CPSM_DO_SESSION_STATES;
+
+typedef enum
+{
+ /* go through the whole scan list. Only channels with PN association only
+ will be scaned by the PN list. The other channels(Data association only,
+ or both association or Null association) will be scaned by the whole PN
+ space with small search window */
+ DO_ASSO_PHASE_1 = 0,
+ /* only scan one phase of AssoList, no need to scan Phase 1& Phase 2*/
+ DO_ASSO_PHASE_QUICK,
+ /* the 1st cycle found nothing, do a fallback Phase 2 scan cycle */
+ DO_ASSO_PHASE_2,
+ /* only scan the MRU saved channel in AssoList*/
+ DO_ASSO_PHASE_MRU,
+ /* stop current unfinised AssoScan, no need to go ahead*/
+ DO_ASSO_PHASE_INVALID = 0xFF
+} CssDoAssoPhaseE;
+
+typedef enum
+{
+ _1X_REDIRECTION_AVOIDANCE_SYS = 1,
+ _1X_MAXACCESSFAIL_AVOIDANCE_SYS,
+ _1X_REGISTERREJECT_AVOIDANCE_SYS,
+ _1X_RELEASEREJECT_AVOIDANCE_SYS,
+} Avoid_1X_SysT;
+
+typedef enum
+{
+ DO_ABANDON_SYS,
+ DO_CONSECUTIVE_LOST_SYS,
+ DO_REDIRECTION_AVOIDANCE_SYS,
+ DO_ACM_PERSIS_TEST_FAIL_AVOIDANCE_SYS,
+ DO_MAXACCESSFAIL_AVOIDANCE_SYS,
+ DO_SESSIONEGO_TIMEOUT_AVOIDANCE_SYS,
+ DO_SESSIONEGO_FAIL_AVOIDANCE_SYS,
+ DO_CONNDENY_AUTH_AVOIDANCE_SYS,
+ DO_CONNDENY_GENERAL_AVOIDANCE_SYS,
+ DO_NOTCA_AVOIDANCE_SYS,
+ DO_TCHSETUP_FAIL_AVOIDANCE_SYS,
+ DO_AVOIDANCE_CHLIST
+} Avoid_DO_SysT;
+
+#ifdef MTK_DEV_C2K_IRAT
+typedef struct
+{
+ CHAN_LIST_HDR
+ CHANNEL_DESC ChanList[CSS_LIST_SMALL_SIZE];
+ kal_uint16 AcqIndex[CSS_LIST_SMALL_SIZE];
+ kal_uint16 IratPri[CSS_LIST_SMALL_SIZE];
+} SmallRalChannelList, *pSmallRalChannelList;
+#endif
+
+typedef struct
+{
+ PACKED_PREFIX union{
+ RSVAC_1X_STATES rsvac1xState;
+ RSVAC_DO_STATES rsvacDoState;
+ } PACKED_POSTFIX u;
+ kal_bool isCurrFullBand;
+ kal_bool isNewFreqScanRequest;
+ kal_uint8 currSysIndication;
+ kal_bool isWaitModifyResult;
+}rsvacContext;
+
+#ifdef MTK_DEV_C2K_IRAT
+typedef enum
+{
+ NOT_KNOWN,
+ MOST_PREFERRED,
+ PREFERRED,
+ NEGATIVE,
+ NON_SYSTEM_TABLE,
+ SECOND_PREFERRED /* for LTE&DO interworing, second highest priority network in GEO */
+} SystemPreference;
+#else
+typedef enum
+{
+ NOT_KNOWN,
+ MOST_PREFERRED,
+ PREFERRED,
+ NEGATIVE,
+ NON_SYSTEM_TABLE
+} SystemPreference;
+#endif /* MTK_DEV_C2K_IRAT */
+
+typedef enum
+{
+ RSSI_SCAN_PHASE_INACTIVE, /* no rssi scan filter */
+ RSSI_SCAN_PHASE_SCANNING, /* rssi scan is running */
+ RSSI_SCAN_PHASE_ABORTING, /* aborting rssi scan */
+ RSSI_SCAN_PHASE_I, /* rssi scan filter phase 1*/
+ RSSI_SCAN_PHASE_II, /* rssi scan filter phase 2*/
+ RSSI_SCAN_PHASE_NOT_NEEDED /* rssi scan phase not needed*/
+} FilterByRssiScanStateT;
+
+typedef enum
+{
+ VR_NON_SYS_TABLE,
+ VR_ACCEPTED,
+ VR_KEEP_SCAN,
+ VR_NEGATIVE,
+ VR_UNKNOWN,
+ VR_EXTERNEL_ACCEPTED, /* only for trace */
+ VR_EXTERNEL_REJECTED, /* only for trace */
+}ValidateResult;
+
+#ifdef MTK_CBP
+#define CSS_MAX_NUMBER_OF_TIMER_IDS ((CSS_MAX_NUMBER_OF_TIMER_TYPES) + \
+ (MAX_1X_MAX_ACCESS_FAIL_AVOID_CHAN_NUM) - 1 + \
+ (MAX_1X_MAX_REG_REJ_AVOID_CHAN_NUM) - 1 + \
+ (MAX_1X_MAX_RELEASE_REJ_AVOID_CHAN_NUM) - 1 + \
+ (MAX_DO_MAX_ACCESS_FAIL_AVOID_CHAN_NUM) - 1)
+#endif
+
+typedef enum
+{
+ CPSM_1X_OOSA_SLEEP_REQUEST = 0,
+ CPSM_1X_OOSA_SCAN_TIME_SET,
+ CPSM_1X_OOSA_SCAN_TIME_EXPIRE,
+ CPSM_1X_OOSA_WAKEUP_INDICATOR,
+ CPSM_1X_OOSA_ENTER_NEW_CYCLE,
+ CPSM_1X_OOSA_NOT_ALLOWED_BY_SVSM_STATE,
+ CPSM_1X_OOSA_COUNTERS_RESET,
+ CPSM_1X_OOSA_ENTER_STAGE
+}CssOOSAEvent;
+
+/* IRAT state machine */
+typedef enum {
+ DONOTSCANPOWERUP, /* wait for IRAT cmd to start scan after power up */
+ DONORMALSCAN /* normal scan */
+} IRAT_DOStateT;
+
+typedef enum {
+ NOTSCANPOWERUP1X, /* wait for IRAT cmd to start scan after power up */
+ NORMALSCAN1X /* normal scan */
+} IRAT_1XStateT;
+
+typedef enum
+{
+ IRAT_TURNOFF_DO_INACTIVE,
+ IRAT_TURNOFF_DO_REL_PPP,
+ IRAT_TURNOFF_DO_REL_PPP_NEED_DEEPSLEEP,
+ IRAT_TURNOFF_DO_FORCE2INIT,
+ IRAT_TURNOFF_DO_FORCE2INIT_NEED_DEEPSLEEP,
+ IRAT_TURNOFF_DO_WAIT_DEEPSLEEP_CNF,
+}IratTurnOffDoStateE;
+
+typedef enum
+{
+ IRAT_TURNOFF_1X_INACTIVE,
+ IRAT_TURNOFF_1X_REL_PPP,
+ IRAT_TURNOFF_1X_FORCE2INIT,
+ IRAT_TURNOFF_1X_WAIT_DEEPSLEEP_CNF,
+ IRAT_TURNOFF_1X_WAIT_RSSI_SCAN_ABORT,
+}IratTurnOff1xStateE;
+
+typedef enum
+{
+ IRAT_NO_PS_RPT_REASON_START = 0,
+ IRAT_NO_PS_POWER_DOWN = IRAT_NO_PS_RPT_REASON_START,
+ IRAT_NO_PS_FLIGHT_MODE,
+ IRAT_NO_PS_AT_DETACHED,
+ IRAT_NO_PS_GMSS_DETACHED,
+ IRAT_NO_PS_RAT_CHG,
+ IRAT_NO_PS_OTHERS,
+ IRAT_NO_PS_1X_EXHAUST,
+ IRAT_NO_PS_EMERGENCY_MODE,
+ IRAT_NO_PS_SIM_ERROR,
+ IRAT_NO_PS_RPT_REASON_END = IRAT_NO_PS_SIM_ERROR,
+
+ IRAT_1X_PS_RPT_REASON_START = 50,
+ IRAT_1X_PS_DELAY_RPT = IRAT_1X_PS_RPT_REASON_START,
+ IRAT_1X_PS_REG_CNF,
+ IRAT_1X_PS_DO_AUTH_FAIL,
+ IRAT_1X_PS_RPT_REASON_END = IRAT_1X_PS_DO_AUTH_FAIL,
+
+ IRAT_DO_PS_RPT_REASON_START = 100,
+} IratPsRptReasonE;
+
+typedef enum
+{
+ CSS_ERR_UNEXPECTED_EVENT = 0,
+ CSS_ERR_INVALID_SYS_PREFERENCE,
+ CSS_ERR_INVALID_SYS_TYPE,
+ CSS_ERR_INVALID_ACQUSITION_REC_TYPE,
+ CSS_ERR_INVALID_1X_SELECT_REQ_RCVD,
+ CSS_ERR_INVALID_DO_SELECT_REQ_RCVD,
+ CSS_ERR_INVALID_1X_VALIDATION_TYPE,
+ CSS_ERR_INVALID_OOSA_STAGE,
+ CSS_ERR_INVALID_TURNOFF_STATE,
+ CSS_ERR_SUBNET_NULL_POINTER,
+ CSS_ERR_EXT_PRL_P_REV_MISMATCH,
+ CSS_ERR_SCAN_LIST_EMPTY,
+ CSS_ERR_INVALID_NVRAM_PRL,
+ CSS_ERR_INVALID_UIM_PRL_LEN,
+ CSS_ERR_INVALID_MSG_ID,
+ CSS_ERR_NOT_1X_ONLY_IN_SIM2,
+ CSS_ERR_GET_NVRAM_PRL_RECVD_UNEXPECTED_MSG,
+ CSS_ERR_GET_UIM_PRL_RECVD_UNEXPECTED_MSG,
+ CSS_ERR_GET_UIM_PRL_RECVD_INVALID_MSG,
+ CSS_ERR_INVALID_PLL_CHAN_TEST_MODE_SYSTEM,
+ CSS_ERR_INVALID_BAND,
+ CSS_ERR_PRL_TOO_SMALL_SIZE,
+ CSS_ERR_EXT_PRL_ACQRECNUM_INVALID,
+ CSS_ERR_EXT_PRL_SYSRECNUM_INVALID,
+ CSS_ERR_EXT_PRL_BAD_ACQ_REC,
+ CSS_ERR_EXT_PRL_BAD_COMM_SUBNET,
+ CSS_ERR_EXT_PRL_BAD_SYS_REC,
+ CSS_ERR_EXT_PRL_HASH_TABLE_ERROR,
+ CSS_ERR_EXT_PRL_CRC_ERROR,
+ CSS_ERR_EXT_PRL_LEN_ERROR,
+ CSS_ERR_EXT_PRL_INVALID_SSPR,
+ CSS_ERR_DUPLICATE_SUBNET_OVERFLOW,
+ CSS_ERR_BAND_BLOCK_CHANNEL_OUT_OF_RANGE,
+ CSS_ERR_SYS_NOT_FOUND_IN_LIST,
+ CSS_ERR_INVALID_ERI_TABLE,
+ CSS_ERR_NO_ERI_TABLE,
+ CSS_ERR_ERI_ENTRY_NOT_FOUND,
+ CSS_ERR_SVSM_SELECT_CHANNEL_TOO_MANY_RECURSIONS,
+ CSS_ERR_INVALID_ACTION_IN_1X_MARK_NEGATIVE_SYSTEMS,
+ CSS_ERR_PARM_INVALID_PTR,
+ CSS_ERR_PARM_INVALID_LENGTH,
+ CSS_ERR_PARM_GENERAL_FAILURE,
+ CSS_ERR_PARM_OPERATION_NOT_SUPPORTED,
+ CSS_ERR_NVRAM_DATA_READ_FAIL,
+ CSS_RECEIVED_UNEXPECTED_MSG,
+ CSS_ERR_MRS_LLA_MAJOR_OCCUPY_FAIL,
+ CSS_ERR_MRS_LLA_INVALID_LIST_OCCUPY_EVENT,
+ CSS_ERR_INVALID_REC_NUM,
+ CSS_ERR_NVRAM_READ_ERROR,
+ CSS_ERR_NULL_POINTER,
+ CSS_ERR_POWER_DOWN,
+ CSS_ERR_INVALID_GMSS_TASK,
+ CSS_ERR_BAND_NOT_SUPPORTED,
+ CSS_ERR_GET_MRU_REC_FAILURE,
+ CSS_ERR_INVALID_DO_OOSA_MSG_TYPE,
+ CSS_ERR_ADD_MRU_REC_FAIL_DUE_TO_SCAN_LIST_FULL,
+ CSS_ERR_SET_1X_REG_DISABLE_WHEN_C2K_ONLY,
+ CSS_ERR_INVALID_RAT_TYPE,
+ CSS_ERR_INVALID_MCC,
+ CSS_ERR_INVALID_ACQ_INDEX,
+ CSS_ERR_EXCEED_CHAN_LIST_MAX_SIZE,
+ CSS_ERR_INVALID_SYS_FOR_OTASP,
+ CSS_ERR_INVALID_MOD_ID,
+ CSS_ERR_INVALID_PRL_POINTER
+} CssErrorCodeT;
+
+#endif
+