[Feature]Upload Modem source code

Change-Id: Id4294f30faced84d3e6fd6d5e61e1111bf287a37
diff --git a/mcu/interface/protocol/general/ps_public_enum.h b/mcu/interface/protocol/general/ps_public_enum.h
new file mode 100644
index 0000000..bbde2e1
--- /dev/null
+++ b/mcu/interface/protocol/general/ps_public_enum.h
@@ -0,0 +1,5281 @@
+/*****************************************************************************
+*  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) 2005
+*
+*  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).
+*
+*****************************************************************************/
+
+/*****************************************************************************
+ *
+ * Filename:
+ * ---------
+ * ps_public_enum.h
+ *
+ * Project:
+ * --------
+ *   MAUI
+ *
+ * Description:
+ * ------------
+ *   This file contains the ABM network internal APIs
+ *   and these APIs can only be used by MMI CBM and DA
+ *
+ * Author:
+ * -------
+ * -------
+ *
+ *============================================================================
+ ****************************************************************************/
+#ifndef _PS_PUBLIC_ENUM_H_
+#define _PS_PUBLIC_ENUM_H_
+
+#include "custom_nvram_sec.h"
+#include "sbp_public_utility.h"
+#include "ps_public_enum_public.h"
+
+#define ip_addr_type_enum pdp_addr_type_enum
+
+#define MAX_PDP_ADDR_LEN        16
+#define TCM_MAX_PEER_ACL_ENTRIES	 	10
+
+#define MAX_GPRS_IP_ADDR       4 /* IP address length */
+
+#define GPRS_TIMER3_DEACTIVATED 0xFFFF
+
+#define LTECA_INTER_BAND_NUM_MAX 3  /* For LTE CA band settings */
+
+#if (MAX_EXT_PDP_CONTEXT >= 1)
+    #define MAX_GPRS_DIALUP_NUM    MAX_EXT_PDP_CONTEXT /* MAX_GPRS_DIALUP_NUM is for L4C, ABM, RATDM use */
+#else
+    #define MAX_GPRS_DIALUP_NUM    1
+#endif /* MAX_EXT_PDP_CONTEXT >= 1 */
+
+#define INVALID_PDP_CONTEXT_ID (0x0)
+
+#ifdef __IMS_SUPPORT__
+#define MAX_NUM_CONFIG_OPTION_PACKETS 35 /* See tcm_pco_api.h for PCO number counting. */
+#else  /* __IMS_SUPPORT__ */
+#define MAX_NUM_CONFIG_OPTION_PACKETS 28  /* See tcm_pco_api.h for PCO number counting. */
+#endif /* __IMS_SUPPORT__ */
+
+/* Poying: MSBB. */
+/* Support PAP or CHAP ID and PW length up to 128 Bytes */
+#define MAX_CONFIG_OPTION_CONTENT_LEN   (MAX_GPRS_USER_NAME_LEN+MAX_GPRS_PASSWORD_LEN+6)
+#define LIMIT_CONFIG_OPTION_CONTENT_LEN (140)
+/* Restrict the length of user_name, password and APN */
+#if (MAX_CONFIG_OPTION_CONTENT_LEN > LIMIT_CONFIG_OPTION_CONTENT_LEN)
+   #error GPRS_USER_NAME_LEN and GPRS_PASSWORD_LEN exceed the maximum
+#endif
+
+/* Check if APN length is valid. */
+#if (MAX_GPRS_APN_LEN > 100)
+   #error MAX_GPRS_APN_LEN exceed the maximum
+#endif
+
+#define MD1_MAX_NUM_HPLMN 26
+#define MAX_EHPLMN_EF_LEN MD1_MAX_NUM_HPLMN*3
+
+#define MAX_GEO_COUNTRY_CODE_LEN 4
+#define MAX_GEO_MCC_NUM     6
+#define MAX_MCC_STR_LEN     4
+#define MAX_MNC_STR_LEN     4
+
+#define TCM_S_NSSAI_SD_LEN 3
+
+#define MAX_CHAR_CNAP            80
+
+#define MAX_NR_SET_STORED_NUM 10
+#define MAX_LTE_SET_STORED_NUM 10
+
+#define VZW_5GUW_Allowed_default 0
+#define VZW_FF03H_abnormal_default 0
+
+#define MAX_ALLOWED_MCC_LIST_NUMBER 20
+#if defined(__ECALL_SUPPORT__) || defined(__NG_ECALL_SUPPORT__)
+#define MAX_PHB_XDN_URI_NUM    16
+#define MAX_PHB_XDN_URI_LEN    128
+#define MSD_MAX_LENGTH         140
+#endif /* (__ECALL_SUPPORT__) || (__NG_ECALL_SUPPORT__) */
+
+typedef enum {
+    TCM_PDP_DEACT_REASON_NORMAL_DEACT,              /* Not DEACT PDN if it is the last one. */
+    TCM_PDP_DEACT_REASON_DEACT_DUE_TO_TFT_CONFLICT,  /* Force to DEACT PDN (even if it's the last one). */
+    TCM_PDP_DEACT_REASON_DEACT_DUE_TO_TFT_VALIDATE_FAIL, /* RAT_TCM only try deactivation on the tft validation failure RAT, if iRAT to new RAT, need to re-evaluate if new RAT still have TFT_VALIDATE_FAIL */
+    TCM_PDP_DEACT_REASON_DEACT_DUE_TO_RA_ERROR, // __VZW__ __VZW_7__
+    TCM_PDP_DEACT_REASON_DEACT_DUE_TO_RA_INITIAL_ERROR,
+    TCM_PDP_DEACT_REASON_DEACT_DUE_TO_RA_REFRESH_ERROR,
+    TCM_PDP_DEACT_REASON_DEACT_DUE_TO_NO_PCSCF, // __VZW__ __VZW_11__
+    TCM_PDP_DEACT_REASON_ESM_INIT_DEACT_FOR_NON_EMC_PDN, /* Force to DEACT PDN (even if it's the last one). */
+    TCM_PDP_DEACT_REASON_ESM_INIT_DEACT_EPSB_FOR_ABNORMAL, /* Force to DEACT PDN (even if it's the last one). */
+    TCM_PDP_DEACT_REASON_INACTIVITY_TIMER_TIMEOUT,
+    TCM_PDP_DEACT_REASON_DEACT_DUE_TO_USER_FORCE_TO_LOCAL_RELEASE, /* Force to DEACT PDN (even if it's the last one) */
+    TCM_PDP_DEACT_REASON_DEACT_DUE_TO_AOSP_SHUTDOWN, /* AOSP Deact reason */
+    TCM_PDP_DEACT_REASON_DEACT_DUE_TO_AOSP_HANDOVER, /* AOSP Deact reason */
+    TCM_PDP_DEACT_REASON_DEACT_DUE_TO_APN_CHANGED,   /* AOSP Deact reason */
+    TCM_PDP_DEACT_REASON_DEACT_DUE_TO_IMS_HANDOVER,  /* To release IMS PDN, after it handovers from Wifi to LTE */
+	TCM_PDP_DEACT_REASON_DEACT_DUE_TO_NO_IP_ADDRESS, /* VzW SA Data Retry 3.1.3.2.5 requirement*/
+    // If you need to add new enum, please make sure you have discussed with MOD_ESM, MOD_RAT_TCM, TFTLIB.
+} tcm_pdp_deact_reason_enum;
+
+typedef enum {
+    TCM_PDP_MODIFY_REASON_NORMAL_MODIFY,
+    TCM_PDP_MODIFY_REASON_NAS_INIT_TO_DELETE_QOS_RULE,
+} tcm_pdp_modify_reason_enum;
+
+typedef enum {
+    ACTIVE_NAS_UNKNOWN,
+    ACTIVE_NAS_23G,
+    ACTIVE_NAS_4G,
+    ACTIVE_NAS_5G,
+    ACTIVE_NAS_C2K,
+    MAX_NUM_OF_ACTIVE_NAS,
+} active_nas_enum;
+
+
+typedef enum {
+    NAS_PRIORITY_CONFIG_NOT_SPECIFIED,      // value not given
+    NAS_PRIORITY_CONFIG_AS_LOW_PRIORITY,    // 27.007: 0
+    NAS_PRIORITY_CONFIG_AS_NORMAL_PRIORITY, // 27.007: 1
+} nas_priority_config_enum ; // __MTC_SUPPORT__
+
+typedef enum {
+    EAB_OVERRIDE_CONFIG_NOT_SPECIFIED,      // value not given
+    EAB_OVERRIDE_CONFIG_AS_NOT_OVERRIDE,    // 27.007: 0
+    EAB_OVERRIDE_CONFIG_AS_CAN_OVERRIDE     // 27.007: 1
+} eab_override_config_enum ; // __MTC_SUPPORT__
+
+//securePCO
+typedef enum
+{
+    TCM_SECUREPCO_NOT_SPECIFIED,
+    TCM_SECUREPCO_IS_NOT_REQUESTED,                                                   //Security protected transmission of PCO is not requested
+    TCM_SECUREPCO_IS_REQUESTED,                                                       //Security protected transmission of PCO is requested
+} l4c_tcm_securepco_enum;
+
+// PCO: for IPv4 MTU request
+typedef enum
+{
+    TCM_ACTIVATE_PDP_WITHOUT_IPV4_MTU_REQUEST = 0,
+    TCM_ACTIVATE_PDP_WITH_IPV4_MTU_REQUEST = 1
+}l4c_tcm_activate_pdp_request_ipv4_mtu_enum;
+
+//Local_Addr_Ind
+typedef enum
+{
+    TCM_LOCAL_ADDR_IND_NOT_SPECIFIED,
+    TCM_LOCAL_ADDR_IND_NOT_SUPPORT_LOCAL_IP_ADDRESS_IN_TFTS,                          //indicates that the MS does not support local IP address in TFTs
+    TCM_LOCAL_ADDR_IND_SUPPORT_LOCAL_IP_ADDRESS_IN_TFTS,                              //indicates that the MS supports local IP address in TFTs
+} l4c_tcm_local_addr_ind_enum;
+
+typedef enum
+{
+    TCM_NON_IP_MTU_DISCOVERY_NOT_SPECIFIED,
+    TCM_NON_IP_MTU_DISCOVERY_PREFERENCE_NOT_INFLUENCED,                               //Preference of Non-IP MTU size discovery not influenced by +CGDCONT
+    TCM_NON_IP_MTU_DISCOVERY_PREFERENCE_THROUGH_NAS_SIGNALLING,                       //Preference of Non-IP MTU size discovery through NAS signalling
+} l4c_tcm_non_ip_mtu_discovery_enum;
+
+typedef enum
+{
+    TCM_RELIABLE_DATA_SERVICE_NOT_SPECIFIED,
+    TCM_RELIABLE_DATA_SERVICE_NOT_USED,                                               //Reliable Data Service is not being used for the PDN connection
+    TCM_RELIABLE_DATA_SERVICE_IS_USED,                                                //Reliable Data Service is being used for the PDN connection
+} l4c_tcm_reliable_data_service_enum;
+
+typedef enum
+{
+    TCM_SSC_MODE_NOT_SPECIFIED,
+    TCM_SSC_MODE_1,                                          //indicates that the PDU session is associated with SSC mode 1
+    TCM_SSC_MODE_2,                                          //indicates that the PDU session is associated with SSC mode 2
+    TCM_SSC_MODE_3,                                          //indicates that the PDU session is associated with SSC mode 3
+} l4c_tcm_ssc_mode_enum;
+
+typedef enum
+{
+    TCM_ACCESS_TYPE_NOT_SPECIFIED,
+    TCM_ACCESS_TYPE_PREFERRED_3GPP,                                                        //indicates that the preferred access type is 3GPP access
+    TCM_ACCESS_TYPE_PREFERRED_NON_3GPP,                                                    //indicates that the preferred access type is non-3GPP access
+} l4c_tcm_access_type_enum;
+
+typedef enum
+{
+    TCM_RQOS_NOT_SPECIFIED,
+    TCM_RQOS_IS_NOT_SUPPORTED,                                                        //indicates that reflective QoS is not supported for the PDU session
+    TCM_RQOS_IS_SUPPORTED,                                                            //indicates that reflective QoS is supported for the PDU session
+} l4c_tcm_rqos_ind_enum;
+
+typedef enum
+{
+    TCM_IPV6_MH_NOT_SPECIFIED,
+    TCM_IPV6_MH_IS_NOT_SUPPORTED,                                                     //indicates that IPv6 multi-homing is not supported for the PDU session
+    TCM_IPV6_MH_IS_SUPPORTED,                                                         //indicates that IPv6 multi-homing is supported for the PDU session
+} l4c_tcm_mh6_pdu_enum;
+
+typedef enum
+{
+    TCM_ALWAYS_ON_PDU_NOT_SPECIFIED,
+    TCM_ALWAYS_ON_PDU_IS_NOT_REQUIRED,
+    TCM_ALWAYS_ON_PDU_IS_REQUIRED,
+} l4c_tcm_always_on_pdu_enum;
+
+typedef enum
+{
+    TCM_LADN_DNN_NOT_SPECIFIED,
+    TCM_LADN_DNN_IS_NOT_LADN_DNN,
+    TCM_LADN_DNN_IS_LADN_DNN,
+} l4c_tcm_ladn_dnn_enum;
+
+typedef enum {
+ 	 NAS_REQ_GEMINI_PS_HIGH_SEM_START = 0,
+ 	 NAS_REQ_GEMINI_PS_HIGH_SEM_STOP
+} nas_req_gemini_ps_high_sem_enum ; // Multi-PS support
+
+#define MAX_SIM_PASSWD_LEN      9
+
+#define MAX_DIGITS_USSD          183
+#define MAX_CC_ADDR_LEN          81
+#define MAX_CC_ADDR_BCD_LEN      41
+#define MAX_CC_DTMF_LEN          41
+#define MAX_CC_DTMF_BCD_LEN      21
+#define L4C_MAX_CALL_LIST_LEN    7
+#define MAX_CC_SUB_ADDR_LEN      41
+#define MAX_CC_SUB_ADDR_BCD_LEN  21
+#define MAX_SIM_ADDR_BCD_LEN      41
+#define SIM_MAX_BUFFER_LEN       255
+#define SIM_MAX_AID_LEN          16
+#define SIM_MAX_APP_LABLE_LEN    32
+#define MAX_SIP_URI_LEN          129
+#define UIM_MAX_ERROR_FILE_NUM   4
+#define TC01_DUMMY_KEY_FOR_PORTUNLOCK "0123456789012345"
+
+typedef enum {
+    NO_SIM_AND_NO_USIM_ACTIVE,
+    SIM_ACTIVE,
+    USIM_ACTIVE
+} active_application_enum ;
+
+typedef enum {
+	CC_CALL_TYPE_VOICE_CALL,
+	CC_CALL_TYPE_EMERGENCY_CALL
+} cc_call_type_enum;
+
+typedef enum
+{
+   CC_DIR_MO_CALL,
+   CC_DIR_MT_CALL
+} cc_call_direction_enum;
+
+/* SMS PART START */
+#define SMSAL_MAX_CMD_LEN           (156)       /* max command data length */
+#define SMSAL_MAX_MSG_LEN           (160)
+
+/*
+ * !! Attention !!
+ *
+ * the following constants are related to CB :
+ * the CB in RMC/MMI MUST be consistent with this defined values !!
+ *
+ */
+
+/* Ripple: CB for SMSAL/RATCM/GAS/BMC. */
+#define CB_MAX_MSG_CBMI_NUM    60
+#define SMSAL_CB_MAX_ENTRY 30
+#define CB_MAX_MSG_CBMID_NUM    SMSAL_CB_MAX_ENTRY
+#define CB_MAX_MSG_CBMIR_NUM    (SMSAL_CB_MAX_ENTRY*2)
+#define CB_MAX_LANG_NUM    SMSAL_CB_MAX_ENTRY
+#define CB_MAX_DATA_NUM_PER_PAGE 88
+
+#define SMSAL_CB_PAGE_DATA_OCT         (82) /* CBS-Message-Information-Page. defined TS 23.041. */
+#define SMSAL_CB_PAGE_DATA_AND_LEN_OCT (83) /* CBS-Message-Information-Page & CBS-Message-Information-Page-Length. defined TS 23.041. */
+#define SMSAL_CB_PER_7BIT_LEN          (93)
+#define SMSAL_CB_PER_UCS2_LEN          (88)
+#define SMSAL_CB_PER_UCS2_CONT_LEN     (82)
+
+
+#define SMSAL_PS_CBMI_MAX_ENTRY        (60)
+
+#define SMSAL_CBMI_SIM_ENTRY           (20)
+#define SMSAL_CBMI_ME_ENTRY            (40)
+
+#define SMSAL_DEFAULT_CBMI_ENTRY       (10)
+#define SMSAL_DEFAULT_DCS_ENTRY        (21)  /* CBS DCS 20 language + unspecified (other language) */
+
+#define SMSAL_MMI_CBMI_MAX_ENTRY       (SMSAL_CBMI_SIM_ENTRY + SMSAL_CBMI_ME_ENTRY)
+#define SMSAL_MMI_DCS_MAX_ENTRY        (SMSAL_CB_MAX_ENTRY)
+
+#define SMSAL_CB_UNUSED_CBMI        (0xffff) /* unused CBMIR 0xffffffff */
+#define SMSAL_CB_UNUSED_DCS         (0x0080) /* one byte */
+#define SMSAL_CB_UNUSED_ISO639      (0xffff) /* two byte */
+
+#define SMSAL_CB_HOMEZONE_MI        (0x00dd) /* HomeZone Message ID 221 */
+#define SMSAL_CB_HOMEZONE_SN        (0x0010) /* HomeZone Series Number */
+#define SMSAL_CB_HOMEZONE_DCS       (0x0000) /* HomeZone DCS */
+
+#define SMSAL_PAGE_SIZE             (40)        /* 40 messages/page */
+#define SMSAL_ONE_MSG_LEN           (160)
+#define SMSAL_ADDR_LEN              (11)
+#define SMSAL_ME_ADDR_LEN           (21)
+#define SMSAL_INVALID_INDEX         (0xffff)
+#define SMSAL_MAX_TPDU_SIZE         (175)
+#define IMCSMS_MAX_RPDU_SIZE		(249)
+#define SMSAL_CB_MSG_HEADER_LEN     (6)
+#define SMSAL_WAC_BYTE_LEN          (2)
+
+#define MAX_SMS_PDU_LEN             (255) /* TC01 3GPP/3GPP2 SMS */
+
+
+/* SMS PART END */
+
+#define PHB_MAX_ASSOCIATE_GRP 10
+#define PHB_MAX_EMAIL_LENGTH 61
+
+#define MAX_SIM_NAME_LEN               (32)
+#define MAX_PLMN_LEN             6
+#define MAX_PLMN_LIST_LEN        32
+#define MAX_NW_NAME_LEN 24
+
+/*operator name length support maximum*/
+#define MAX_NW_NAME_LENGTH     255
+
+/* DO NOT MODIFY THIS BY YOURSELF!! Please confirm with SIM task owner first.
+   1. Enlarge this max support size will cause ctrl buffer usage grow.
+   2. full SW library(ex: L4,SIM,MM lib) update is necessary                   */
+#define MAX_SUPPORT_PLMN_DATA_SIZE       2040
+#define MAX_SUPPORT_MLPL_DATA_SIZE       4096   // 3GPP2 C.S0016-D v2.0, the sizeof(MLPL) = 2 bytes = 16 bits, but we limited to 4K
+#define MAX_SUPPORT_MSPL_DATA_SIZE       4096   // 3GPP2 C.S0016-D v2.0, the sizeof(MSPL) = 2 bytes = 16 bits, but we limited to 4K
+
+#define USIM_CACHE_MAX_FILE_SIZE  50
+#ifndef __SIM_OPT_DCM__
+#define USIM_CACHE_MAX_FILE_NUM   40    // TODO: auto-count map_cache_sim_index
+#else
+#define USIM_CACHE_MAX_FILE_NUM   38    // TODO: auto-count map_cache_sim_index
+#endif
+#define USIM_CACHE_MAX_SIMAPP_FILE_NUM   27 // TODO: auto-count  map_cache_sim_index2
+#define USIM_CACHE_ISIM_FILE_START 33   // TODO: auto-count map_cache_sim_index
+
+#define NR_DEFAULT_5QI		9
+#define LTE_DEFAULT_QCI		9
+
+/* Max supported PLMN record number is decided by MAX_SUPPORT_PLMN_DATA_SIZE and record size
+   SIM task can support up to MAX_SUPPORT_PLMN_DATA_SIZE / PLMN_record_size records
+   NOTE: Record size is 5 bytes for EF_UPLMNWACT,EF_OPLMNWACT,etc.  3 bytes for EF_PLMNSEL   */
+#define MAX_SUPPORT_EF_PLMNSEL_REC       MAX_SUPPORT_PLMN_DATA_SIZE/3
+
+#define SIZE_OF_UMTS_BAND (0+4)
+#define L4C_FDN_CHECK_FAIL  2601
+
+#define L4C_EM_QUICK_TEST_MAX_COUNT 100
+
+#define IS_INTER_NUM(ton) (( (ton) & 0x10) != 0 )
+
+#define MO_CALL_ASSIGN_FAIL_CALLID 254  /* CSMCC_INVALID_CALL_ID-1 */
+#define MO_CALL_CLCC_SPECIFIED_CALLID 253 /* ALPS01797139 */
+#define MAX_NW_ECC_NUM          (16)
+#define MAX_NW_ECC_NUM_LENGTH          (41)
+
+#define MAX_EN_NUMBER_LENGTH (MAX_CC_ADDR_BCD_LEN-1) // exclude type byte
+#define MAX_SOS_URN_LENGTH 256
+#define MAX_EEN_COUNT      200
+
+typedef enum {
+    EENL_VALID_IN_THIS_COUNTRY,
+    EENL_VALID_IN_THIS_PLMN
+} eenl_validity_enum;
+
+/* This value is used by MMI and equals to LMMI_SRC to prevent it using HAL private header */
+#define L4C_SOURCE_ID_DEFAULT 0
+
+#define PS_MAX_VAL(VAL_A, VAL_B)   (((VAL_A) > (VAL_B)) ? (VAL_A):(VAL_B))
+
+/* 20130521 mtk04280 change the define value from 16 to 32  */
+#define SND_UL_CTRL_HEADER_LENGTH 32  //The size of ratdm_ps_data_req_struct(24) + snd_ul_sent_ack_npdu_struct(8). Reserve by PPP.
+
+/* Max Yin 2009-1006: Since PSPDU UMTS POOLs are removed, the NPDU/SPDU UL is used from app
+ * to RLC; therefore, the free header space is reserved for ratdm/pdcp/rlc usage.
+ */
+#define RATDM_UL_CTRL_RESERVED_HEADER_SPACE 64	// 52=RATDM (24) + PDCP(3) + RLC (36) + 1(4BYTES alignment)
+
+/* Max Yin 2009-12-04: L3_UL_RESERVED_HEADER_SPACE is used for PPP, CMUX, and TCPIP */
+#define L3_UL_RESERVED_HEADER_SPACE PS_MAX_VAL(RATDM_UL_CTRL_RESERVED_HEADER_SPACE, SND_UL_CTRL_HEADER_LENGTH)
+
+#define MAX_NUMBER_OF_EARFCN    (8)
+
+/* This is the value of how many UMTS or LTE CSG cells for fingerprint collection */
+#define NUM_CSG_CELL_TO_COLLECT_FINGERPRINT 8
+#define NUM_GAS_STORE_CSG_FINGERPRINT_CELL 50
+
+/* This field defines the GEMINI modules */
+#define CFG_CO_GEMINI_MOD   0x40
+#define CFG_MASK_MOD   0x30
+#define CFG_GEMINI_LTE_MOD   0x20
+#define CFG_GEMINI_MOD   0x10
+#define CFG_SINGLE_MOD   0x00
+#define CFG_MASK_NUM     0x0F
+
+//refer to TS27.007, subclause 7.3 +COPS
+#define MAX_PLMN_LONG_NAME_LEN      17 //16+1 for end of string
+#define MAX_PLMN_SHORT_NAME_LEN     9 //8+1 for end of string
+#define MAX_PLMN_NUMERIC_NAME_LEN   7 //6+1 for end of string
+
+#define L4C_MAX_ARFCN_SUPPORTED    8
+
+#ifdef __SENSITIVE_DATA_MOSAIC__
+#define MAX_PARTIAL_AT_CMD 10
+#define  MAX_TRACE_LENGTH 100
+#endif /* __SENSITIVE_DATA_MOSAIC__ */
+
+/* For Inactive Mode Service Recovery */
+
+#define NORMAL_OOS_RECOVERY_ROUND_DEFUALT    5
+#define NORMAL_OOS_RECOVERT_ROUND_LOW        2
+#define NORMAL_OOS_RECOVERT_ROUND_HIGH       30
+
+#define INACTIVE_FULLBAND_PERIOD_DEFUALT     200
+#define INACTIVE_FULLBAND_PERIOD_LOW         90
+#define INACTIVE_FULLBAND_PERIOD_HIGH        7200
+
+#define INACTIVE_SNIFFER_PERIOD_DEFUALT      30
+#define INACTIVE_SNIFFER_PERIOD_LOW          10
+#define INACTIVE_SNIFFER_PERIOD_HIGH         255
+
+#define INACTIVE_SCAN_TIME_DEFAULT           0
+#define INACTIVE_SCAN_TIME_LOW               180
+#define INACTIVE_SCAN_TIME_HIGH              600
+
+#define INACTIVE_SLEEP_TIME_DEFAULT          0
+#define INACTIVE_SLEEP_TIME_LOW              60
+#define INACTIVE_SLEEP_TIME_HIGH             600
+
+typedef enum
+{
+    L4C_CALL_OPERATION,
+    L4C_SS_OPERATION,
+    L4C_SMS_OPERATION,  /*used by l4_custom_approval_type() only*/
+    L4C_SMS_SCA_OPERATION,
+    L4C_SMS_DA_OPERATION,
+    L4C_CSD_OPERATION,        // internal CSD access  e.g. wap over CSD
+    L4C_INT_GPRS_OPERATION,   // internal GPRS access e.g. wap over GPRS
+    L4C_EXT_GPRS_OPERATION,   // external GPRS access e.g. GPRS dialup
+    L4C_NONE_OPERATION = 255
+}l4c_operation_type_enum; //MAUI_02956467, mtk02285, moved from l4c_common_enum.h
+#define L4C_MAX_ETWS_SECURITY_INFO_LEN  50
+
+//#ifdef __PLMN_LIST_PREF_SUPPORT__
+typedef enum
+{
+  /* This enum should sync with plmn_list_preference_enum  */
+   L4C_ACCURACY_PREFERED,
+   L4C_SPEED_PREFERED
+}l4c_plmn_list_preference_enum;
+//#endif
+
+#define MAX_HNB_NAME_LEN 48     /* Shall be multiple of 12 */
+
+#define MAX_SRC_ADDR_SBNET_MASK_LEN 32  // For IPv6
+
+#ifdef __CDMA2000_RAT__
+#define CONFIG_MTK_C2K_SUPPORT      1   // bit0
+#define CONFIG_MTK_SVLTE_SUPPORT    2   // bit1
+#define CONFIG_MTK_SRLTE_SUPPORT    4   // bit2
+#define CONFIG_MTK_C2K_OM_SOLUTION1 8   // bit3
+#endif
+
+#define MAX_ATCMD_EGMC_CONFIG_STR_LEN      32
+#define MAX_ATCMD_EGMC_PARAM_NUM        15
+#define MAX_ATCMD_EGMC_SHORT_STR_LEN    32
+#define MAX_L4C_AT_CMD_CONCURENT_NUM    1
+
+typedef enum {
+   PHB_STORAGE_NONE,
+   PHB_STORAGE_NVRAM,
+   PHB_STORAGE_SIM,
+   PHB_STORAGE_SIM2,
+   PHB_STORAGE_SIM3,
+   PHB_STORAGE_SIM4,
+   PHB_STORAGE_NUM = PHB_STORAGE_SIM4,
+   PHB_STORAGE_MAX
+} phb_storage_enum;
+
+
+typedef enum {
+   PHB_ERRNO_FAIL,
+   PHB_ERRNO_SUCCESS,
+   PHB_ERRNO_NOT_SUPPORT,
+   PHB_ERRNO_READ_FAIL,
+   PHB_ERRNO_READ_SUCCESS,
+   PHB_ERRNO_READ_EMPTY,
+   PHB_ERRNO_DELETE_EMPTY,
+   PHB_ERRNO_NOT_READY,
+   PHB_ERRNO_BUSY,
+   PHB_ERRNO_ANR_FULL,
+   PHB_ERRNO_EMAIL_FULL,
+   PHB_ERRNO_SNE_FULL,
+    PHB_ERRNO_SIM_SWITCH,
+   PHB_ERRNO_UIM_SWITCH,
+   PHB_ERRNO_SAT_FILE_CHANGE,
+   PHB_ERRNO_UTK_FILE_CHANGE
+} phb_errno_enum;
+
+typedef enum {
+   PHB_NONE,
+   PHB_ECC,
+   PHB_FDN,
+   PHB_BDN,
+   PHB_MSISDN,
+   PHB_SDN,
+   PHB_PHONEBOOK,
+   PHB_EXT1,
+   /* USIM */
+   PHB_SNE,
+   PHB_AAS,
+   PHB_ANR,
+   PHB_GAS,
+   PHB_GRP,
+   PHB_EMAIL,
+   PHB_PBC,
+   #if defined(__NG_ECALL_SUPPORT__)
+   PHB_FDNURI,
+   PHB_SDNURI,
+   #endif
+   /* USIM */
+   PHB_TYPE_ENUM_MAX
+} phb_type_enum;
+
+#if 1
+#ifndef VOIP_URI_LEN
+#define VOIP_URI_LEN                        (41)
+#endif
+#endif //remove on MAUIW1043_RHR remove stage
+
+
+#ifndef NVRAM_PHB_SIZE
+#define NVRAM_PHB_SIZE (54+MAX_PS_NAME_SIZE)
+#endif
+
+/* Max entries could be packed in peer buffer */
+#define PHB_MAX_PHB_ENTRIES            (0+10)
+
+typedef enum {
+   PHB_NO_CAUSE,
+   PHB_CAUSE_STORAGE_FULL,          /* This value is returned when just added entry causes storage full */
+   PHB_CAUSE_CAPACITY_EXCEEDED,      /* Since storage is full, attempt of adding an entry returns this value */
+   PHB_CAUSE_NOT_SUPPORT
+} phb_cause_enum;
+
+typedef enum
+{
+    APPROVAL_TYPE_NONE,
+    APPROVAL_TYPE_ECC_ONLY,
+    APPROVAL_TYPE_FDN_ONLY,
+    APPROVAL_TYPE_FULL		//check both ECC and FDN
+}l4c_phb_approval_type_enum;
+
+typedef enum {
+   PHB_BCD     = 0x01,
+   PHB_ASCII   = 0x00,
+   PHB_KSC5601 = 0x05,
+   PHB_UCS2    = 0x08,
+   PHB_UCS2_81 = 0x09,
+   PHB_UCS2_82 = 0x10
+} phb_charset_enum;
+
+
+
+typedef enum
+{
+   L4C_OK,
+   L4C_ERROR,
+   L4C_NVRAM_ERROR_INIT = 5
+
+} l4c_result_enum;
+
+typedef enum
+{
+  PDU_FETCH_FAIL,
+  PDU_SEND_SUCCESS,
+  PDU_SEND_FAIL
+} l4c_sms_result_enum;
+
+
+//mtk04121
+/* PPP Dial-up */
+typedef enum
+{
+   PPP_OK,
+   PPP_ERROR
+} ppp_result_enum;
+
+/* Johnny: for RMMI internal usage, do not add other enums here */
+typedef enum
+{
+   L4C_NO_CAUSE,
+   L4C_GEN_CAUSE
+} l4c_cause_enum;
+
+typedef enum
+{
+    ATCI_REQ_QOS = 0,
+    ATCI_MIN_QOS,
+    ATCI_NEG_QOS 	/* SATe */
+} atci_qos_enum;
+
+typedef enum {
+    SUBSCRIBED_DELAY_CLASS = 0,
+    RESERVED_NW_TO_MS_DELAY_CLASS = 0,
+    DELAY_CLASS1,
+    DELAY_CLASS2,
+    DELAY_CLASS3,
+    DELAY_CLASS4,
+    RESERVED_BIDIRECT_DELAY_CLASS = 7,
+    TOT_DELAY_CLASS = 8
+} delay_class_enum;
+
+typedef enum {
+    SUBSCRIBED_REL_CLASS = 0,
+    RESERVED_NW_TO_MS_REL_CLASS  = 0,
+    REL_CLASS1,
+    REL_CLASS2,
+    REL_CLASS3,
+    REL_CLASS4,
+    REL_CLASS5,
+    RESERVED_BIDIRECT_REL_CLASS = 7
+} reliability_class_enum;
+
+typedef enum {
+    SUBSCRIBED_PTC = 0,
+    RESERVED_NW_TO_MS_PTC = 0,
+    PTC_1,
+    PTC_2,
+    PTC_3,
+    PTC_4,
+    PTC_5,
+    PTC_6,
+    PTC_7,
+    PTC_8,
+    PTC_9,
+    RESERVED_BIDIRECT_PTC = 15
+} peak_throughput_class;
+
+typedef enum {
+    SUBSCRIBED_PREC_CLASS = 0,
+    RESERVED_NW_TO_MS_PREC_CLASS  = 0,
+    PREC_CLASS1,
+    PREC_CLASS2,
+    PREC_CLASS3,
+    RESERVED_BIDIRECT_PREC_CLASS = 7
+} precedence_class_enum;
+
+typedef enum {
+    SUBSCRIBED_MEAN_THROUGHPUT = 0,
+    RESERVED_NW_TO_MS_MEAN_THROUGHPUT = 0,
+    MEAN_THROUGHPUT1,
+    MEAN_THROUGHPUT2,
+    MEAN_THROUGHPUT3,
+    MEAN_THROUGHPUT4,
+    MEAN_THROUGHPUT5,
+    MEAN_THROUGHPUT6,
+    MEAN_THROUGHPUT7,
+    MEAN_THROUGHPUT8,
+    MEAN_THROUGHPUT9,
+    MEAN_THROUGHPUT10,
+    MEAN_THROUGHPUT11,
+    MEAN_THROUGHPUT12,
+    MEAN_THROUGHPUT13,
+    MEAN_THROUGHPUT14,
+    MEAN_THROUGHPUT15,
+    MEAN_THROUGHPUT16,
+    MEAN_THROUGHPUT17,
+    MEAN_THROUGHPUT18,
+    RESERVED_BIDIRECT_MEAN_THROUGHPUT = 30,
+    BEST_EFFORT_THROUGHPUT = 31
+} mean_throughput_enum;
+
+typedef enum {
+    SUBSCRIBED_DELIVERY_ORDER = 0,
+    RESERVED_NW_TO_MS_DELIVERY_ORDER = 0,
+    WITH_DELIVERY_ORDER = 1,
+    DELIVERY_ORDER1 = WITH_DELIVERY_ORDER,
+    WITHOUT_DELIVERY_ORDER = 2,
+    DELIVERY_ORDER2 = WITHOUT_DELIVERY_ORDER,
+    RESERVED_BIDIRECT_DELIVERY_ORDER = 3
+} delivery_order_enum;
+
+typedef enum {
+    SUBSCRIBED_TRAFFIC_CLASS = 0,
+    RESERVED_NW_TO_MS_TRAFFIC_CLASS = 0,
+    CONVERSATIONAL_CLASS,
+    TRAFFIC_CLASS1 = CONVERSATIONAL_CLASS,
+    STREAMING_CLASS,
+    TRAFFIC_CLASS2 = STREAMING_CLASS,
+    INTERACTIVE_CLASS,
+    TRAFFIC_CLASS3 = INTERACTIVE_CLASS,
+    BACKGROUND_CLASS,
+    TRAFFIC_CLASS4 = BACKGROUND_CLASS,
+    RESERVED_BIDIRECT_TRAFFIC_CLASS = 7,
+    INVALID_TRAFFIC_CLASS = 0xff
+} traffic_class_enum;
+
+typedef enum {
+    SUBSCRIBED_TRAFFIC_HNDL_PRIORITY = 0,
+    RESERVED_NW_TO_MS_TRAFFIC_HNDL_PRIORITY = 0,
+    TRAFFIC_HNDL_PRIORITY1,
+    TRAFFIC_HNDL_PRIORITY2,
+    TRAFFIC_HNDL_PRIORITY3
+} traffic_hndl_priority_enum;
+
+typedef enum {
+    SUBSCRIBED_BIT_ERROR_RATE = 0,
+    RESERVED_NW_TO_MS_BIT_ERROR_RATE = 0,
+    BIT_ERROR_RATE1,
+    BIT_ERROR_RATE2,
+    BIT_ERROR_RATE3,
+    BIT_ERROR_RATE4,
+    BIT_ERROR_RATE5,
+    BIT_ERROR_RATE6,
+    BIT_ERROR_RATE7,
+    BIT_ERROR_RATE8,
+    BIT_ERROR_RATE9,
+    RESERVED_BIDIRECT_MIN_BIT_ERROR_RATE = 10,
+    RESERVED_BIDIRECT_BIT_ERROR_RATE = 15
+} residual_bit_error_rate_enum;
+
+
+typedef enum {
+    SUBSCRIBED_DELIVERY_OF_ERR_SDU= 0,
+    RESERVED_NW_TO_MS_DELIVERY_OF_ERR_SDU = 0,
+    DELIVERY_OF_ERR_NO_DETECT = 1,
+    DELIVERY_OF_ERR_SDU1 = DELIVERY_OF_ERR_NO_DETECT,
+    DELIVERY_OF_ERR_YES = 2,
+    DELIVERY_OF_ERR_SDU2 = DELIVERY_OF_ERR_YES,
+    DELIVERY_OF_ERR_NO = 3,
+    DELIVERY_OF_ERR_SDU3 = DELIVERY_OF_ERR_NO,
+    RESERVED_BIDIRECT_DELIVERY_OF_ERR_SDU = 7
+} delivery_of_err_sdu_enum;
+
+typedef enum {
+    SUBSCRIBED_SDU_ERR_RATIO = 0,
+    RESERVED_NW_TO_MS_SDU_ERR_RATIO = 0,
+    SDU_ERR_RATIO1,
+    SDU_ERR_RATIO2,
+    SDU_ERR_RATIO3,
+    SDU_ERR_RATIO4,
+    SDU_ERR_RATIO5,
+    SDU_ERR_RATIO6,
+    SDU_ERR_RATIO7,
+    RESERVED_BIDIRECT_SDU_MIN_ERR_RATIO = 8,
+    RESERVED_BIDIRECT_SDU_ERR_RATIO = 15
+} sdu_err_ratio_enum;
+
+
+typedef enum
+{
+    ESM_CAUSE_NO_CAUSE                          = 1,    /* Cause not assigned                                   */
+    ESM_CAUSE_OPERATOR_DETERMINED_BARRING       = 8,    /* Operator determined barring                          */
+    ESM_CAUSE_INSUFFICIENT_RESOURCES            = 26,   /* Insufficient resources                               */
+    ESM_CAUSE_UNKNOWN_OR_MISSING_APN            = 27,   /* Unknown or missing APN                               */
+    ESM_CAUSE_UNKNOWN_PDN_TYPE                  = 28,   /* Unknown PDN type                                     */
+    ESM_CAUSE_USER_AUTH_FAILED                  = 29,   /* User authentication failed                           */
+    ESM_CAUSE_REQUEST_REJECTED_BY_SGW_OR_PDNGW  = 30,   /* Request rejected by Serving GW or PDN GW             */
+    ESM_CAUSE_REQUEST_REJECTED_UNSPECIFIED      = 31,   /* Request rejected unspecified                         */
+    ESM_CAUSE_SERVICE_OPT_NOT_SUPPORTED         = 32,   /* Service option not supported                         */
+    ESM_CAUSE_REQ_SERVICE_NOT_SUBSCRIBED        = 33,   /* Requested service option not subscribed              */
+    ESM_CAUSE_SERVICE_TEMP_OUT_OF_ORDER         = 34,   /* Service option temporarily out of order              */
+    ESM_CAUSE_PTI_ALREADY_USED                  = 35,   /* PTI already in use                                   */
+    ESM_CAUSE_REGULAR_DEACTIVATION              = 36,   /* Regular deactivation                                 */
+    ESM_CAUSE_EPS_QOS_NOT_ACCEPTED              = 37,   /* EPS QoS not accepted                                 */
+    ESM_CAUSE_NETWORK_FAILURE                   = 38,   /* Network failure                                      */
+    ESM_CAUSE_REACTIVATION_REQUESTED            = 39,   /* Re-activation requitred                              */
+    ESM_CAUSE_SEMANTIC_ERROR_IN_TFT             = 41,   /* Semantic error in the TFT operation                  */
+    ESM_CAUSE_SYNTACTIC_ERROR_IN_TFT            = 42,   /* Syntactical error in the TFT operation               */
+    ESM_CAUSE_INVALID_EPS_BEARER_IDENTITY       = 43,   /* Invalid EPS bearer identity                          */
+    ESM_CAUSE_SEMANTIC_ERROR_IN_PACKET_FILTERS  = 44,   /* Semantic errors in packet filter(s)                  */
+    ESM_CAUSE_SYNTACTIC_ERROR_IN_PACKET_FILTERS = 45,   /* Syntactical errors in packet filter(s)               */
+    ESM_CAUSE_EPSB_CTXT_WITHOUT_TFT_ACTIVATED   = 46,   /* EPS bearer context without TFT already activated     */
+    ESM_CAUSE_PTI_MISMATCH                      = 47,   /* PTI mismatch                                         */
+    ESM_CAUSE_LAST_PDN_DISC_NOT_ALLOWED         = 49,   /* Last PDN disconnection not allowed                   */
+    ESM_CAUSE_PDN_TYPE_IPV4_ONLY_ALLOWED        = 50,   /* PDN type IPv4 only allowed                           */
+    ESM_CAUSE_PDN_TYPE_IPV6_ONLY_ALLOWED        = 51,   /* PDN type IPv6 only allowed                           */
+    ESM_CAUSE_SINGLE_ADDRESS_ONLY_ALLOWED       = 52,   /* Single address bearers only allowed                  */
+    ESM_CAUSE_ESM_INFORMATION_NOT_RECEIVED      = 53,   /* ESM information not received                         */
+    ESM_CAUSE_PDN_CONNENCTION_NOT_EXIST         = 54,   /* PDN connection does not exist                        */
+    ESM_CAUSE_MULTIPLE_PDN_APN_NOT_ALLOWED      = 55,   /* Multiple PDN connections for a given APN not allowed */
+    ESM_CAUSE_COLLISION_WITH_NW_INIT_REQUEST    = 56,   /* Collision with network initiated request             */
+    ESM_CAUSE_UNSUPPORTED_QCI_VALUE             = 59,   /* Unsupported QCI value                                */
+    ESM_CAUSE_MAXIMUM_NUM_OF_EPS_BEARERS_REACHED = 65,  /* Maximum number of EPS bearers reached                */
+    ESM_CAUSE_REQUESTED_APN_NOT_SUPPORTED_IN_CURRENT_RAT_AND_PLMN_COMBINATION = 66, /* Requested APN not supported in current RAT and PLMN combination */
+    ESM_CAUSE_INVALID_PTI_VALUE                 = 81,   /* Invalid PTI value                                    */
+    ESM_CAUSE_SEMANTIC_INCORRECT_MSG            = 95,   /* Semantically incorrect message                       */
+    ESM_CAUSE_INVALID_MANDATORY_IE              = 96,   /* Invalid mandatory information                        */
+    ESM_CAUSE_MSG_TYPE_NON_EXISTENT             = 97,   /* Message type non-existent or not implemented         */
+    ESM_CAUSE_MSG_TYPE_NOT_COMPATIBLE_STATE     = 98,   /* Message type not compatible with protocol state      */
+    ESM_CAUSE_IE_NON_EXISTENT_NOT_IMPLEMENTED   = 99,   /* Information element non-existent or not implemented  */
+    ESM_CAUSE_CONDITIONAL_IE_ERROR              = 100,  /* Conditional IE error                                 */
+    ESM_CAUSE_MSG_NOT_COMPATIBLE_STATE          = 101,  /* Message not compatible with the protocol state       */
+    ESM_CAUSE_PROTOCOL_ERROR_UNSPECIFIED        = 111,  /* Protocol error unspecified                           */
+    ESM_CAUSE_APN_RESTRICT_VALUE_INCOMPATIBLE   = 112   /* APN restriction value incompatible with active EPS bearer context */
+
+} esm_cause_enum;
+
+typedef enum
+{
+    PCO_IE_ID_PCSCF_IPV6_ADDR = 0x0001,
+    PCO_IE_ID_IM_CN_SIGNALLING_FLAG = 0x0002,
+    PCO_IE_ID_DNSV6_ADDR = 0x0003,
+    PCO_IE_ID_BCM = 0x0005,
+    PCO_IE_ID_ETFT = 0x0011,
+    PCO_IE_ID_IPV4_ADDR_VIA_NAS_SIGNALLING = 0x000A,
+    PCO_IE_ID_IPV4_ADDR_VIA_DHCPV4 = 0x000B,
+    PCO_IE_ID_PCSCF_IPV4_ADDR = 0x000C,
+    PCO_IE_ID_DNSV4_ADDR = 0x000D,
+    PCO_IE_ID_MSISDN_REQ = 0x000E,
+    PCO_IE_ID_IPV4_LINK_MTU = 0x0010,
+    PCO_IE_ID_PCSCF_RESELECTION_SUPPORT = 0x0012,
+    PCO_IE_ID_PS_DATA_OFF_SUPPORT = 0x0017,
+
+    PCO_IE_ID_VZW_REQUEST_FF00 = 0xFF00,
+    PCO_IE_ID_VZW_EPDGV6_ADDR = 0xFF01,
+    PCO_IE_ID_VZW_EPDGV4_ADDR = 0xFF02,
+    PCO_IE_ID_VZW_5GUW = 0xFF03,
+
+} pco_ie_id_enum;
+
+typedef enum
+{
+   L4C_GPRS_ATTACHED, //0
+   L4C_NONE_GPRS, // 1
+   L4C_GPRS_DETACHED, // 2
+   L4C_INVALID_SIM,// 3
+   L4C_GPRS_ATTEMPT_ATTACH,// 4
+   L4C_GPRS_COVERAGE,//5
+   L4C_PDP_ATTEMPT_ACT,//6
+   L4C_PDP_DEACTIVED,//7
+   L4C_PDP_ACTIVED//8
+} l4c_gprs_status_enum;
+
+typedef enum
+{
+   REG_STATE_NOT_REGISTERED=0,
+   REG_STATE_REGISTERED,
+   REG_STATE_SEARCHING,
+   REG_STATE_REG_DENIED,
+   REG_STATE_UNKNOWN,
+   REG_STATE_NOT_ACTIVE,
+   REG_STATE_SMS_ONLY,
+   REG_STATE_EMERGENCY_ONLY,
+   REG_STATE_CSFB_NOT_PREFERRED
+} reg_state_enum;
+
+typedef enum
+{
+   GPRS_ATTACHED,                   /* GPRS Attached */
+   GPRS_NO_COVERAGE,             /* No GPRS coverage */
+   GPRS_LIMITED_SERVICE,       /* GPRS not Attached */
+   GPRS_INVALID_SIM,               /* SIM invalid for GPRS */
+   GPRS_REGISTERING,               /* GPRS Attach on going */
+   GPRS_CELL_FOUND,                    /* GPRS coverage found */
+   GPRS_NULL                                 /* GPRS not activated */
+} l4c_rac_gprs_status_enum;
+
+typedef enum
+{
+   L4C_PREFER_RAT_NONE = 0,
+   L4C_PREFER_RAT_GSM  = 1,
+   L4C_PREFER_RAT_UMTS = 2,
+   L4C_PREFER_RAT_LTE  = 4,
+   L4C_PREFER_RAT_INVALID
+} l4c_prefer_rat_enum;
+
+typedef enum
+{
+   L4C_SIM_NOT_INSERTED,
+   L4C_SIM_INSERTED,
+   L4C_SIM_BLOCK,
+   L4C_SIM_NONE
+}l4c_sim_status_enum;
+
+
+#define RR_NUM_OF_MAX_BAR_CELL 20
+
+typedef enum
+{
+   BAR_CELL_ADD,
+   BAR_CELL_DEL,
+   BAR_CELL_BAR_SERV,
+   BAR_CELL_QUERY,
+}bar_cell_control_enum;
+
+
+typedef enum
+{
+  CS_DOMAIN    = 0,
+  PS_DOMAIN    = 1,
+  CS_PS_DOMAIN = 2,
+  DOMAIN_NONE  = 3
+} domain_id_enum;
+
+typedef enum
+{
+    NONE_SPECIFIED = 0x0000,
+    GPRS_SUPPORT = 0x0001,
+    EDGE_SUPPORT = 0x0002,
+    UMTS_SUPPORT = 0x0004,
+    HSDPA_SUPPORT = 0x0008,
+    HSUPA_SUPPORT = 0x0010,
+    HSDPA_UPA_SUPPORT = 0x0018,
+    HSDPAP_SUPPORT = 0x0020,
+    HSDPAP_UPA_SUPPORT = 0x0030,
+    HSUPAP_SUPPORT = 0x0040,
+    HSUPAP_DPA_SUPPORT = 0x0048,
+    HSPAP_SUPPORT = 0x0060,
+    DC_DPA_SUPPORT = 0x0088,
+    DC_DPA_UPA_SUPPORT = 0x0098,
+    DC_HSDPAP_SUPPORT = 0x00a0,
+    DC_HSDPAP_UPA_SUPPORT = 0x00b0,
+    DC_HSUPAP_DPA_SUPPORT = 0x00c8,
+    DC_HSPAP_SUPPORT = 0x00e0,
+    LTE_SUPPORT = 0x1000,
+    LTE_CA_SUPPORT = 0x2000,
+    ENDC_SUPPORT = 0x4000,
+    NR_SUPPORT = 0x8000,
+    NOT_CHANGE = 0xffff
+}data_speed_support_enum;
+
+typedef enum
+{
+   DATA_SPEED_NONE_ACTIVATE = 0x0000,
+   DATA_SPEED_GPRS_CAPABILITY = 0x0001,
+   DATA_SPEED_EDGE_CAPABILITY = 0x0002,
+   DATA_SPEED_UMTS_CAPABILITY = 0x0004,
+   DATA_SPEED_HSDPA_CAPABILITY = 0x0008,           //mac-hs
+   DATA_SPEED_HSUPA_CAPABILITY = 0x0010,           //mac-e/es
+   DATA_SPEED_HSDPA_HSUPA_CAPABILITY = 0x0018,     //mac-hs + mac-e/es
+   DATA_SPEED_HSDPAP_CAPABILITY = 0x0020,          //mac-ehs
+   DATA_SPEED_HSDPAP_UPA_CAPABILITY = 0x0030,      //mac-ehs + mac-e/es
+   DATA_SPEED_HSUPAP_CAPABILITY = 0x0040,          //mac-i/is
+   DATA_SPEED_HSUPAP_DPA_CAPABILITY = 0x0048,      //mac-hs + mac-i/is
+   DATA_SPEED_HSPAP_CAPABILITY = 0x0060,           //mac-ehs + mac-i/is
+   DATA_SPEED_DC_DPA_CAPABILITY = 0x0088,          //(DC) mac-hs
+   DATA_SPEED_DC_DPA_UPA_CAPABILITY = 0x0098,      //(DC) mac-hs + mac-e/es
+   DATA_SPEED_DC_HSDPAP_CAPABILITY = 0x00a0,       //(DC) mac-ehs
+   DATA_SPEED_DC_HSDPAP_UPA_CAPABILITY = 0x00b0,   //(DC) mac-ehs + mac-e/es
+   DATA_SPEED_DC_HSUPAP_DPA_CAPABILITY = 0x00c8,   //(DC) mac-hs + mac-i/is
+   DATA_SPEED_DC_HSPAP_CAPABILITY = 0x00e0,        //(DC) mac-ehs + mac-i/is
+   DATA_SPEED_LTE_CAPABILITY = 0x1000,
+   DATA_SPEED_LTE_CA_CAPABILITY = 0x2000,
+} data_speed_activate_enum;
+
+typedef enum
+{
+    L4C_CAP_GPRS  = 0x0001,
+    L4C_CAP_EDGE  = 0x0002,
+    L4C_CAP_WCDMA = 0x0004,
+    L4C_CAP_TDSCDMA = 0x0008,
+    L4C_CAP_UMTS = (L4C_CAP_WCDMA | L4C_CAP_TDSCDMA),
+    L4C_CAP_HSDPA = 0x0010,
+    L4C_CAP_HSUPA = 0x0020,
+    L4C_CAP_HSPA  = (L4C_CAP_HSDPA | L4C_CAP_HSUPA),
+    L4C_CAP_HSPAP  = 0x0040,
+    L4C_CAP_FDD_LTE = 0x0080,
+    L4C_CAP_TDD_LTE = 0x0100,
+    L4C_CAP_LTE_CA = 0x0200,
+    L4C_CAP_LTE = (L4C_CAP_FDD_LTE | L4C_CAP_TDD_LTE),
+    L4C_CAP_FDD_NR = 0x0400,
+    L4C_CAP_TDD_NR = 0x0800,
+    L4C_CAP_NR = (L4C_CAP_FDD_NR | L4C_CAP_TDD_NR),
+    L4C_CAP_MAX = (L4C_CAP_GPRS | L4C_CAP_EDGE | L4C_CAP_UMTS | L4C_CAP_HSPA | L4C_CAP_HSPAP | L4C_CAP_LTE | L4C_CAP_LTE_CA | L4C_CAP_NR)
+}l4c_modem_capability_enum;
+
+typedef enum
+{
+   CSD_BEARER_DIALUP,
+   GPRS_BEARER_DIALUP,
+   INVALID_BEARER
+}l4c_dialup_bearer_enum; //Moved from l4c_common_enum.h
+
+typedef enum
+{
+    L4C_ACTIVATE_CNF = 1,
+    L4C_ACTIVATE_REJ,
+    L4C_ACTIVATE_IND,
+    L4C_SEC_ACTIVATE_IND,
+    L4C_DEACTIVATE_CNF,
+    L4C_DEACTIVATE_IND,
+    L4C_MODIFY_CNF,
+    L4C_MODIFY_REJ,
+    L4C_MODIFY_IND
+}l4c_handler_action_enum;
+
+typedef enum
+{
+   TCM_PDP_DEACTIVATE,
+   TCM_PDP_ACTIVATE,
+   TCM_PDP_DEACTIVATE_LOCAL /* __LOCAL_DEACTIVATE_PDP_SUPPORT__ */
+}l4c_tcm_pdp_action_enum;
+
+typedef enum
+{
+   TCM_AT_PDP_CID = 1,
+   TCM_EM_PDP_CID_1 = 2,
+   TCM_EM_PDP_CID_2
+}l4c_tcm_em_pdp_cid_enum; //mtk00714 w0634
+
+typedef enum
+{
+    L4CTCM_BEARER_NOTIFY_NOT_DEFINE = 0,
+    L4CTCM_BEARER_NOTIFY_ADDED = 1,
+    L4CTCM_BEARER_NOTIFY_MODIFIED = 2,
+    L4CTCM_BEARER_NOTIFY_DELETED = 3,
+} l4ctcm_bearer_notify_type_enum;
+
+typedef enum
+{
+    L4CTCM_DEDICATED_BEARER_EVENT_REPORT,
+} l4ctcm_ps_event_report_type_enum;
+
+typedef enum
+{
+    RMMI_UCM_ATD = 0,
+    RMMI_UCM_ATD_2,
+    RMMI_UCM_ATD_3,
+    RMMI_UCM_ATD_4,
+    RMMI_UCM_ATD_DATA, //for ATD dialing data call
+    RMMI_UCM_ATH,
+    RMMI_UCM_ATA,
+    RMMI_UCM_BLDN,
+    RMMI_UCM_CHLD,
+    RMMI_UCM_CHUP,
+    RMMI_UCM_MEM_DIAL,  //mem dial from SIM1
+    RMMI_UCM_MEM_DIAL_2, //mem dial from SIM2
+    RMMI_UCM_MEM_DIAL_3,
+    RMMI_UCM_MEM_DIAL_4
+} rmmi_ucm_action_enum;
+
+typedef enum
+{
+    RMMI_UCM_CAUSE_NONE = 0,
+    RMMI_UCM_CAUSE_ATD_NOT_ALLOWED,
+    RMMI_UCM_CAUSE_ATA_NOT_ALLOWED,
+    RMMI_UCM_CAUSE_ATH_NOT_ALLOWED,
+    RMMI_UCM_CAUSE_CHLD_NOT_ALLOWED,
+    RMMI_UCM_CAUSE_NO_CALL_TO_ANSWER,   //specific cause for ATA
+    RMMI_UCM_CAUSE_NO_CALL_TO_HANGUP,   //specific cause  for ATH
+    RMMI_UCM_CAUSE_NO_CALL_TO_HOLD,     //specific cause  for CHLD
+    RMMI_UCM_CAUSE_NO_CALL_TO_REL,      //specific cause for CHLD
+    RMMI_UCM_CAUSE_NO_CALL_TO_ECT,      //specific cause for CHLD
+    RMMI_UCM_CAUSE_NO_CALL_TO_CONFERENCE,       // specific cause for CHLD
+    RMMI_UCM_CAUSE_INVALID_CALLID,      //specific cause for CHLD
+    RMMI_UCM_CAUSE_NO_NUM_EXIST, //specific cause for memory dial or bldn when number not exist ( BQB expect return "ERROR")
+    RMMI_UCM_CAUSE_ATD_DATA_NOT_ALLOWED //MAUI_02634907
+} rmmi_ucm_cause_enum;
+
+typedef enum
+{
+    RMMI_UCM_RCODE_OK,
+    RMMI_UCM_RCODE_CONNECT,
+    RMMI_UCM_RCODE_RING,
+    RMMI_UCM_RCODE_NO_CARRIER,
+    RMMI_UCM_RCODE_ERROR,
+    RMMI_UCM_RCODE_CCWA
+} rmmi_rcode_type_enum;
+
+typedef enum
+{
+    CLIR_INVOKE,
+    CLIR_SUPPRESS,
+    CLIR_AUTO
+} rmmi_clir_enum;
+
+typedef enum
+{
+    RMMI_CLI_VALID = 0,          /* CLI valid */
+    RMMI_CLI_WITHHELD = 1,       /* CLI has been withheld by the originator */
+    RMMI_CLI_INTERWORK = 2,      /* CLI is not available due to interworking problems or limitations of originating network */
+    RMMI_CLI_COIN_PAYPHONE = 3,  /* CLI is not available due to calling party being of type payphone */
+    RMMI_CLI_OTHERS = 4          /* CLI is not available due to other reasons */
+
+}rmmi_cli_validity_enum;
+
+typedef enum
+{
+   CALL_DIAL,
+   CALL_ANSWER
+}l4c_data_call_op_enum;
+
+typedef enum
+{
+    L4C_DISCONNECT_NONE,
+    L4C_DISCONNECT_MO,
+    L4C_DISCONNECT_MT
+} l4c_ath_req_enum;
+
+typedef enum
+{
+    L4C_SS_MO,
+    L4C_SS_MT,
+    L4C_SS_NONE
+} l4c_ss_direction_enum;
+
+typedef enum
+{
+   CSMCC_REL_HELD_OR_UDUB, /*0*/
+   CSMCC_REL_ACTIVE_AND_ACCEPT, /*1*/
+   CSMCC_REL_SPECIFIC_CALL, /*2*/
+   CSMCC_HOLD_ACTIVE_AND_ACCEPT, /*3*/
+   CSMCC_HOLD_ACTIVE_EXCEPT_SPECIFIC_CALL, /*4*/
+   CSMCC_ADD_HELD_CALL, /*5*/
+   CSMCC_EXPLICIT_CALL_TRANSFER, /*6*/
+   CSMCC_ACTIVATE_CCBS_CALL, /*7*/
+   CSMCC_REL_ALL_EXCEPT_WAITING_CALL, /*8*/
+   CSMCC_REL_SPECIFIC_ACTIVE_CALL, /* 9 */
+   CSMCC_SWAP_CALL, /* 10 */
+   CSMCC_REL_HELD,  /* 11 */
+   CSMCC_REL_ACTIVE,  /* 12 */
+   CSMCC_REL_ALL,  /* 13 */
+   CSMCC_REL_UDUB,  /* 14 */
+   CSMCC_REL_CCBS,  /* 15 */
+   CSMCC_REL_ACTIVE_AND_ACCEPT_WAITING,  /* 16 */
+   CSMCC_REL_ACTIVE_AND_ACCEPT_CCBS,  /* 17 */
+   CSMCC_REL_ACTIVE_AND_ACCEPT_HELD,  /* 18 */
+   CSMCC_HOLD_ACTIVE_AND_ACCEPT_WAITING,  /* 19 */
+   CSMCC_HOLD_ACTIVE_AND_ACCEPT_CCBS,  /* 20 */
+   CSMCC_VT_FALL_TO_VOICE, /* 21 */ /*MAUI_02641977 CMCC requietment, to disconnect the vt call with cause88*/
+   CSMCC_REL_CALL_REJECT,
+
+   CSMCC_INVALID_CRSS_TYPE = 255
+} csmcc_crss_req_enum;
+
+typedef enum
+{
+   CLCC_MO_CALL,
+   CLCC_MT_CALL,
+   CLCC_UNKNOWN_DIR
+} clcc_dir_enum;
+
+typedef enum
+{
+   CSMCC_SETUP_MSG,
+   CSMCC_DISCONNECT_MSG,
+   CSMCC_ALERT_MSG,
+   CSMCC_CALL_PROCESS_MSG,
+   CSMCC_SYNC_MSG,
+   CSMCC_PROGRESS_MSG,
+   CSMCC_CALL_CONNECTED_MSG,
+   CSMCC_ALL_CALLS_DISC_MSG = 129,
+   CSMCC_MO_CALL_ID_ASSIGN_MSG = 130,
+   CSMCC_STATE_CHANGE_HELD = 131,
+   CSMCC_STATE_CHANGE_ACTIVE = 132,
+   CSMCC_STATE_CHANGE_DISCONNECTED = 133,
+   CSMCC_STATE_CHANGE_MO_DISCONNECTING =134,
+#ifdef __TC01__
+   CSMCC_MO_CALL_MODIFIED_BY_SAT = 135,
+#endif
+   CSMCC_CPI_END = 255
+}csmcc_cpi_msg_type_enum; /*mtk00924 add 041210 for +ECPI*/
+
+typedef enum
+{
+   SCP_CALL_STATE_ORIGINATING = 1,
+   SCP_CALL_STATE_INCOMING,
+   SCP_CALL_STATE_CONVERSATION,
+   SCP_CALL_STATE_CC_IN_PROGRESS,
+   SCP_CALL_STATE_ALERTING,
+   SCP_CALL_STATE_HOLD,
+   SCP_CALL_STATE_WAITING,
+   SCP_CALL_STATE_DISCONNECTING,
+   SCP_CALL_STATE_END,
+   SCP_CALL_STATE_SETUP
+}scp_call_type_enum;
+
+typedef enum {
+   INVALID_OPERATION,
+   SS_OPERATION,
+   SIM_OPERATION,
+   GPRS_OPERATION,
+   CC_OPERATION
+} csmss_string_op_enum;
+
+//0: test
+//1: reconfiguration
+//2: manually
+//3: automatically
+typedef enum
+{
+   ECALL_TEST,
+   ECALL_RECONFIGURATION,
+   ECALL_MANUALLY_INITIATED,
+   ECALL_AUTOMATICALLY_INITIATED,
+   ECALL_DISABLE = 0xff
+} ecall_type_enum;
+
+#if defined(__ECALL_SUPPORT__) || defined(__NG_ECALL_SUPPORT__)
+typedef enum
+{
+   ECALL_FORMAT_INVALID = 0,
+   ECALL_FORMAT_BINARY,
+   ECALL_FORMAT_MAX
+} ecall_format_enum;
+
+typedef enum
+{
+   ECALL_ABORT_ATTACH_REASON_TIMEOUT,
+   ECALL_ABORT_ATTACH_REASON_CANCEL,
+   ECALL_ABORT_ATTACH_REASON_INVALID
+} ecall_abort_attach_reason_enum;
+#endif
+
+//agps begin
+/* ENUMERATED NotificationToMSUser */
+typedef enum
+{
+   L4C_SS_NotificationToMSUser_notifyLocationAllowed,
+   L4C_SS_NotificationToMSUser_notifyAndVerify_LocationAllowedIfNoResponse,
+   L4C_SS_NotificationToMSUser_notifyAndVerify_LocationNotAllowedIfNoResponse,
+    // ...
+   L4C_SS_NotificationToMSUser_locationNotAllowed
+}
+L4C_SS_NotificationToMSUser;
+
+/* ENUMERATED OccurrenceInfo */
+typedef enum
+{
+   L4C_SS_OccurrenceInfo_oneTimeEvent,
+   L4C_SS_OccurrenceInfo_multipleTimeEvent
+    // ...
+}
+L4C_SS_OccurrenceInfo;
+
+/* ENUMERATED LocationEstimateType */
+typedef enum
+{
+   L4C_SS_LocationEstimateType_currentLocation,
+   L4C_SS_LocationEstimateType_currentOrLastKnownLocation,
+   L4C_SS_LocationEstimateType_initialLocation,
+    // ...
+   L4C_SS_LocationEstimateType_activateDeferredLocation,
+   L4C_SS_LocationEstimateType_cancelDeferredLocation
+}
+L4C_SS_LocationEstimateType;
+
+/* ENUMERATED LCS-FormatIndicator */
+typedef enum
+{
+   L4C_SS_LCS_FormatIndicator_logicalName,
+   L4C_SS_LCS_FormatIndicator_e_mailAddress,
+   L4C_SS_LCS_FormatIndicator_msisdn,
+   L4C_SS_LCS_FormatIndicator_url,
+   L4C_SS_LCS_FormatIndicator_sipUrl
+    // ...
+}
+L4C_SS_LCS_FormatIndicator;
+
+/* ENUMERATED VerificationResponse */
+typedef enum
+{
+   L4C_SS_VerificationResponse_permissionDenied,
+   L4C_SS_VerificationResponse_permissionGranted
+    // ...
+}
+L4C_SS_VerificationResponse;
+
+/* ENUMERATED AreaType */
+typedef enum
+{
+   L4C_SS_AreaType_countryCode,
+   L4C_SS_AreaType_plmnId,
+   L4C_SS_AreaType_locationAreaId,
+   L4C_SS_AreaType_routingAreaId,
+   L4C_SS_AreaType_cellGlobalId,
+    // ...
+   L4C_SS_AreaType_utranCellId
+}
+L4C_SS_AreaType;
+
+/* ENUMERATED MOLR-Type */
+typedef enum
+{
+   L4C_SS_MOLR_Type_locationEstimate,
+   L4C_SS_MOLR_Type_assistanceData,
+   L4C_SS_MOLR_Type_deCipheringKeys
+    // ...
+}
+L4C_SS_MOLR_Type;
+
+/* ENUMERATED LocationMethod */
+typedef enum
+{
+   L4C_SS_LocationMethod_msBasedEOTD,
+   L4C_SS_LocationMethod_msAssistedEOTD,
+   L4C_SS_LocationMethod_assistedGPS,
+    // ...
+   L4C_SS_LocationMethod_msBasedOTDOA
+}
+L4C_SS_LocationMethod;
+
+/* ENUMERATED ResponseTimeCategory */
+typedef enum
+{
+   L4C_SS_ResponseTimeCategory_lowdelay,
+   L4C_SS_ResponseTimeCategory_delaytolerant
+    // ...
+}
+L4C_SS_ResponseTimeCategory;
+//agps end
+
+/* SMS PART START */
+typedef enum
+{
+   SMSAL_DEFAULT_PID = 0x00,   /* Text SMS */
+   SMSAL_TELEX_PID   = 0x21,   /* Telex */
+   SMSAL_G3_FAX_PID  = 0x22,   /* Group 3 telefax */
+   SMSAL_G4_FAX_PID  = 0x23,   /* Group 4 telefax */
+   SMSAL_VOICE_PID   = 0x24,   /* Voice Telephone */
+   SMSAL_ERMES_PID   = 0x25,   /* ERMES (European Radio Messaging System) */
+   SMSAL_PAGING_PID  = 0x26,   /* National Paging system */
+   SMSAL_X400_PID    = 0x31,   /* Any public X.400-based message system */
+   SMSAL_EMAIL_PID   = 0x32    /* E-mail SMS */
+
+} smsal_pid_enum;
+
+typedef enum
+{
+   SMSAL_DEFAULT_DCS        = 0x00,  /* GSM 7-bit */
+   SMSAL_8BIT_DCS           = 0x04,  /* 8-bit */
+
+   SMSAL_KSC5601_DCS        = 0x05,  /* KSC5601 */
+
+   SMSAL_UCS2_DCS           = 0x08,  /* UCS2 */
+   SMSAL_RESERVED_DCS       = 0x0c,  /* reserved alphabet,
+                                        currently, MMI shall display "not support alphabet"
+                                        or "cannot display" when receive dcs indicated this value */
+   SMSAL_EXT_DCS            = 0x10  /* Special dcs for non-standard character,
+                                       used by MMI and EMS */
+} smsal_dcs_enum;
+
+typedef enum
+{
+   /* Mailbox */
+   SMSAL_LINE_1 = 0,
+   SMSAL_LINE_2 = 1,
+   SMSAL_MAX_LINES = 2,
+
+   /* SMS profile parameter */
+   SMSAL_PROFILE_1 = 0,
+   SMSAL_PROFILE_2 = 1,
+   SMSAL_PROFILE_3 = 2,
+   SMSAL_PROFILE_4 = 3, /* SMSAL_MAX_PROFILE_NUM (4) */
+   SMSAL_PROFILE_NONE = 0xff /* invalid profile ID */
+} smsal_dest_no_enum;
+
+typedef enum
+{
+   SMSAL_CB_MI          = 0x01,
+   SMSAL_CB_MIR         = 0x02,
+   SMSAL_CB_DCS         = 0x04,
+   SMSAL_CB_MI_MASK     = 0x08,
+   SMSAL_CB_MIR_MASK    = 0x10,
+   SMSAL_CB_DCS_MASK    = 0x20,
+   SMSAL_CB_ALL_LANG    = 0x40
+} smsal_cb_para_enum;
+
+/* TP-Status(TP-ST) in Status Report */
+typedef enum
+{
+   /*
+    * Short message transaction completed
+    */
+   ST_COMP_MSG_RECV_BY_SME      = 0x00,  /* Short message received by the SME */
+   ST_COMP_MSG_FORWARD_NOT_CONF = 0x01,  /* Short message forwarded by the SC to the SME
+                                            but the SC is unable to confirm deliver */
+   ST_COMP_MSG_REPLACE          = 0x02,  /* Short message replaced by the SC */
+
+   /*
+    * Temporary error, SC still trying to transfer SM
+    */
+   ST_TE1_CONGESTION           = 0x20,  /* Congestion */
+   ST_TE1_SME_BUSY             = 0x21,  /* SME busy */
+   ST_TE1_NO_RSP_FROM_SME      = 0x22,  /* No response from SME */
+   ST_TE1_SERVICE_REJECT       = 0x23,  /* Service rejected */
+   ST_TE1_QOS_NOT_AVAIL        = 0x24,  /* Quality of service not available */
+   ST_TE1_ERROR_IN_SME         = 0x25,  /* Error in SME */
+
+   /*
+    * Permanent error, SC is not making any more transfer attempts
+    */
+   ST_PE_REMOTE_PROC_ERROR    = 0x40,  /* Remote procedure error */
+   ST_PE_INCOMP_DEST          = 0x41,  /* Incompatible destination */
+   ST_PE_CONN_REJ_BY_SME      = 0x42,  /* Connection rejected by SME */
+   ST_PE_NOT_OBTAINABLE       = 0x43,  /* Not obtainable */
+   ST_PE_QOS_NOT_AVAIL        = 0x44,  /* Quality of service not available */
+   ST_PE_NO_INTERWK_AVAIL     = 0x45,  /* No interworking available */
+   ST_PE_VP_EXPIRED           = 0x46,  /* SM Validity Period Expired */
+   ST_PE_DEL_BY_ORI_SME       = 0x47,  /* SM Deleted by originating SME */
+   ST_PE_DEL_BY_SC            = 0x48,  /* SM Deleted by SC Administration */
+   ST_PE_NOT_EXIST            = 0x49,  /* SM does not exist */
+
+   /*
+    * Temporary error, SC is not making any more transfer attempts
+    */
+   ST_TE2_CONGESTION           = 0x60,  /* Congestion */
+   ST_TE2_SME_BUSY             = 0x61,  /* SME busy */
+   ST_TE2_NO_RSP_FROM_SME      = 0x62,  /* No response from SME */
+   ST_TE2_SERVICE_REJECT       = 0x63,  /* Service rejected */
+   ST_TE2_QOS_NOT_AVAIL        = 0x64,  /* Quality of service not available */
+   ST_TE2_ERROR_IN_SME         = 0x65,  /* Error in SME */
+
+   ST_SERVICE_REJECT           = 0xff   /* all reserved values interpreted as "service reject" */
+
+} smsal_st_enum;
+
+/*
+ * the difference between SMSAL_SM_PREFER and SMSAL_MT is :
+ *
+ * SMSAL_SM_PREFER : in at+cpms? , only SIM storage information will be return
+ * SMSAL_MT        : .....         both SIM/ME storage information will be return
+ */
+typedef enum
+{
+   SMSAL_SM = 0,            /* SIM only   */
+   SMSAL_ME = 1,            /* ME only    */
+   SMSAL_SR = 2,            /* status report (currently NOT support) */
+   SMSAL_BM = 3,            /* broadcast     (currently NOT support) */
+   SMSAL_TA = 4,            /* adaptation    (currently NOT support) */
+   SMSAL_SM_PREFER = 5,     /* SIM prefer, try SIM first, then ME */
+   SMSAL_ME_PREFER = 6,     /* ME prefer, try ME first, then SIM */
+   SMSAL_MT = 7,            /* any of storages associated with ME (SIM first) */
+   SMSAL_STORAGE_UNSPECIFIED = 7
+
+} smsal_storage_enum;
+
+#ifdef SMS_FOR_NEPTUNE
+/* This enum is for para_ind in both l4csmsal_set_parameter_req_struct (2 bytes) */
+/* and smsal_send_msg_req_struct(1 byte).                                        */
+typedef enum
+{
+   SMSAL_PARA_FO             =   0x01,
+   SMSAL_PARA_SCA            =   0x02,
+   SMSAL_PARA_PID            =   0x04,
+   SMSAL_PARA_DCS            =   0x08,
+   SMSAL_PARA_VP             =   0x10,
+   SMSAL_PARA_SUPP_CONCAT    =   0x20,
+   SMSAL_PARA_BEARER         =   0x40,
+   SMSAL_PARA_DIRECT_DISPLAY =   0x80,
+   SMSAL_PARA_PREFER_MEM     = 0x0100,
+   SMSAL_PARA_CBCH_REQ       = 0x0200,
+   SMSAL_PARA_MAILBOX_ADDR   = 0x0400,
+   SMSAL_PARA_PROFILE_NAME   = 0x0800,
+   SMSAL_PARA_ALL_CB_LANG    = 0x1000,
+   SMSAL_PARA_SAVE_PROFILE   = 0x2000,
+   SMSAL_PARA_RESTORE_PROFILE= 0x4000,
+
+   SMSAL_COM_PARA_FO             =   0x0001,
+   SMSAL_COM_PARA_BEARER         =   0x0002,
+   SMSAL_COM_PARA_PREFER_MEM     =   0x0004,
+   SMSAL_COM_PARA_STATUS_REP     =   0x0008,
+   SMSAL_COM_PARA_REPLY_PATH     =   0x0010,
+   SMSAL_COM_PARA_CBCH_REQ       =   0x0020, //AT+CSCB
+   SMSAL_COM_PARA_MAILBOX_ADDR   =   0x0040,
+   SMSAL_COM_PARA_ALL_CB_LANG    =   0x0080,
+   SMSAL_COM_PARA_RESTORE_PROFILE=   0x0100,
+   SMSAL_COM_PARA_MBI_NUM        =   0x0200,
+   SMSAL_COM_PARA_ECBCH_REQ      =   0x0400  //AT+ECSCBSW
+} smsal_parameter_enum;
+
+#else
+typedef enum
+{
+   SMSAL_PARA_FO               =   0x0001,
+   SMSAL_PARA_PID              =   0x0002,
+   SMSAL_PARA_DCS              =   0x0004,
+   SMSAL_PARA_VP               =   0x0008,
+   SMSAL_PARA_SCA              =   0x0010,
+   SMSAL_PARA_PROFILE_NAME     =   0x0020,
+   SMSAL_PARA_SAVE_PROFILE     =   0x0040,
+
+   SMSAL_PARA_STATUS_REP       =   0x0100,
+   SMSAL_PARA_REPLY_PATH       =   0x0200
+} smsal_profile_para_enum;
+
+typedef enum
+{
+   SMSAL_COM_PARA_FO             =   0x0001,
+   SMSAL_COM_PARA_BEARER         =   0x0002,
+   SMSAL_COM_PARA_PREFER_MEM     =   0x0004,
+   SMSAL_COM_PARA_STATUS_REP     =   0x0008,
+   SMSAL_COM_PARA_REPLY_PATH     =   0x0010,
+   SMSAL_COM_PARA_CBCH_REQ       =   0x0020, //AT+CSCB
+   SMSAL_COM_PARA_MAILBOX_ADDR   =   0x0040,
+   SMSAL_COM_PARA_ALL_CB_LANG    =   0x0080,
+   SMSAL_COM_PARA_RESTORE_PROFILE=   0x0100,
+   SMSAL_COM_PARA_MBI_NUM        =   0x0200,
+   SMSAL_COM_PARA_ECBCH_REQ      =   0x0400, //AT+ECSCBSW
+   SMSAL_COM_PARA_NR_BEARER      =   0x0800  //AT+C5GSMS
+} smsal_common_para_enum;
+#endif
+
+/* follow +CGSMS command in 07.07 */
+typedef enum
+{
+   SMS_PS_ONLY = 0,
+   SMS_CS_ONLY,
+   SMS_PREFER_PS,
+   SMS_PREFER_CS,
+   NUM_OF_SMS_SERVICE_MODE
+}sms_bearer_enum;
+
+/* follow +C5GSMS command in 07.07 */
+typedef enum
+{
+   SMS_NR_PREFER_3GPP = 0,
+   SMS_NR_PREFER_NON_3GPP = 1,
+   NUM_OF_SMS_NR_SERVICE_MODE
+}sms_nr_bearer_enum;
+
+/* follow +C5GUSMS command in 07.07 */
+typedef enum
+{
+   SMS_AVAILABLE_IN_NR_UNKNOWN = 0,
+   SMS_AVAILABLE_IN_NR_NOT_AVAILABLE = 1,
+   SMS_AVAILABLE_IN_NR_AVAILABLE = 2
+}sms_nr_available_enum;
+
+/* follow +C5GUSMS command in 07.07 */
+typedef enum
+{
+   SMS_ALLOWED_IN_NR_UNKNOWN = 0,
+   SMS_ALLOWED_IN_NR_NOT_ALLOWED = 1,
+   SMS_ALLOWED_IN_NR_ALLOWED = 2
+}sms_nr_allowed_enum;
+
+typedef enum
+{
+   /* follows intended for AT commands and MMI */
+   SMSAL_REC_UNREAD = 0,         /* received unread */
+   SMSAL_REC_READ,               /* received read */
+   SMSAL_STO_UNSENT,             /* stored unsent */
+   SMSAL_STO_SENT,               /* stored sent */
+
+   SMSAL_ALL,                    /* all (only applicable to +CMGL command)
+                                  * not for MMI
+                                  */
+
+   /* follows intended for MMI only */
+   SMSAL_INBOX_PARTIAL,          /* parts of inbox messages */
+   SMSAL_OUTBOX_PARTIAL,         /* parts of outbox messages */
+   SMSAL_STO_DRAFT,              /* stored draft */
+   SMSAL_INVALID_STATUS
+} smsal_status_enum;
+
+/* for +EQSI proprietary command */
+typedef enum
+{
+    RMMI_SMSAL_SM = 0,
+    RMMI_SMSAL_ME = 1,
+    RMMI_SMSAL_MT = 2
+} rmmi_smsal_storage_enum;
+
+typedef enum
+{
+  L4C_NORMAL_CB_UPDATE = 0, /* General case, user Configure CB setting */
+  L4C_ETWS_CB_START_RX,     /* ETWS Primary Notification trigger ME receive CB Start */
+  L4C_ETWS_CB_STOP_RX       /* ETWS Primary Notification trigger ME receive CB Stop */
+} l4c_cb_set_type_enum;
+
+/* SMS PART END */
+
+typedef enum
+{
+    SCRI_REQ_SENT = 0,
+    SCRI_CS_SESSION_ONGOING = 1,
+    SCRI_PS_SIGNALLING_ONGOING = 2,
+    SCRI_NO_PS_DATA_SESSION = 3,
+    SCRI_REQ_NOT_SENT = 4,
+    SCRI_NOT_ALLOWED = 5,
+    SCRI_REQ_IND = 6
+} end_session_result_enum;
+
+typedef enum
+{
+   SCRI_REQ_FD  = 0,
+   SCRI_REQ_AFR = 1,     /* 4G3 CSFB, release PS signaling connection for AFR */
+   SCRI_REQ_FOP = 2      /* RAU Accept with FOP on */
+} end_session_cause_enum;
+
+/* mtk03643 : cipher icon share between mmi & mm */
+typedef enum {
+    GMMREG_CIPHER_OFF,
+	GMMREG_CIPHER_ON,
+	GMMREG_CIPHER_INVALID=0xff
+} gmmreg_cipher_ind_enum; /* ripple: cipher ind */
+
+typedef enum {
+    NOT_ALLOWED_CSG     = 0x00,
+    ALLOWED_CSG         = 0x01,
+    OPERATOR_CSG        = 0x02, /* Reserved for Rel9 */
+    UNAUTH_OPERATOR_CSG = 0x03
+} csg_type_enum;
+
+#if defined(__GEMINI__)
+
+typedef enum
+{
+    SIM_RADIO_OFF = 0x00,
+    SIM1_RADIO_ON = 0x01,
+    SIM2_RADIO_ON = 0x02,
+    SIM3_RADIO_ON = 0x04,
+    SIM4_RADIO_ON = 0x08
+} sim_radio_status_enum;
+
+typedef enum
+{
+    SIM1_INSERTED = 0x01,
+    SIM2_INSERTED = 0x02,
+    SIM3_INSERTED = 0x04,
+    SIM4_INSERTED = 0x08
+} sim_inserted_status_enum;
+
+typedef enum
+{
+    SIM1_ONLY_CONFIG = SIM1_RADIO_ON,
+    SIM2_ONLY_CONFIG = SIM2_RADIO_ON,
+    DAUL_SIM_CONFIG  = SIM1_RADIO_ON | SIM2_RADIO_ON,
+    TRIPLE_SIM_CONFIG  = SIM1_RADIO_ON | SIM2_RADIO_ON | SIM3_RADIO_ON,
+    QUAD_SIM_CONFIG = SIM1_RADIO_ON | SIM2_RADIO_ON | SIM3_RADIO_ON | SIM4_RADIO_ON,
+    SIM_CONFIG_STATUS_NONE = 0xFF
+} sim_config_status_enum;
+
+typedef enum
+{
+    NO_SIM_INSERTED    = 0,
+    ONLY_SIM1_INSERTED = 1,
+    ONLY_SIM2_INSERTED = 2,
+    DUAL_SIM_INSERTED  = 3,
+    SIM_INSERT_STATUS_NONE = 0xFF
+} sim_insert_status_enum;
+
+#endif
+
+typedef enum
+{
+    PHB_APPROVE_FORMAT_FAIL = 0,
+    PHB_APPROVE_PHB_NOT_READY,
+    /* for backward compatible to PHB_CAUSE_FDN_BLOCKED */
+    PHB_APPROVE_FDN_BLOCKED = 2600
+} phb_approve_cause_enum;
+
+
+typedef enum
+{
+    ESDP_CATEGORY_WALLPAPER = 0,
+    ESDP_CATEGORY_RINGTONE,//currently disabled
+    ESDP_CATEGORY_HOMECITY,
+    ESDP_CATEGORY_THEME,
+    ESDP_CATEGORY_SHORTCUT,
+    ESDP_CATEGORY_SCREENSAVER,
+    ESDP_CATEGORY_PWRONDISPLAY,
+    ESDP_CATEGORY_PWROFFDISPLAY,
+    ESDP_CATEGORY_MAX = ESDP_CATEGORY_PWROFFDISPLAY
+}esdp_category_enum;
+
+typedef enum
+{
+   TYPE_NO_REQUIRED,
+   TYPE_PHONELOCK,
+   TYPE_CHV1,
+   TYPE_CHV2,
+   TYPE_UBCHV1,
+   TYPE_UBCHV2,
+   TYPE_NP,
+   TYPE_NSP,
+   TYPE_SP,
+   TYPE_CP,
+   TYPE_IMSI_LOCK,
+   TYPE_PERSONALIZATION_KEY,
+   TYPE_CHV1_BLOCKED,
+   TYPE_CHV2_BLOCKED,
+   TYPE_SIM_CARD_BLOCKED,
+   TYPE_UBCHV2_BLOCKED,
+   TYPE_UBCHV1_CHV1_NOT_LOCK,
+   TYPE_LINK_NS_SP,
+   TYPE_LINK_SIM_C,
+   TYPE_UNSPECIFIED,
+   TYPE_UNEXPECTED_ERROR, //Kinki: for stress test [MAUI_00859767]
+   TYPE_IGNORED_ERROR       // keep l4c/smu at previous state
+}smu_security_type_enum;
+
+//Kinki: MAUI_00632199
+typedef enum
+{
+   SMU_SIM_NOT_READY,    //default value
+   SMU_SIM_NO_IMSI,         //if no IMSI will be got in this power-on sesssion (etc.  no SIM, block SIM, IMSI can't be got.)
+   SMU_SIM_REPLACED,       //IMSI is read and doesn't match with the previous IMSI.
+   SMU_SIM_NOT_REPLACED //IMSI is read and the same as the previous one.
+}smu_sim_status_enum;
+
+typedef enum
+{
+   SMU_ADD_PLMNSEL,
+   SMU_REMOVE_PLMNSEL,
+   SMU_REPLACE_PLMNSEL,
+   SMU_INSERT_EMPTY   //Benson 20040407 add for AT+COPS
+}smu_plmnsel_op_enum;
+
+//Kinki add for MAUI_00632199
+#if defined(__GEMINI__)
+extern smu_sim_status_enum check_sim_status(kal_uint8 simInterface);
+#else
+extern smu_sim_status_enum check_sim_status(void);
+#endif
+
+/*--- SML related enum ---*/
+
+// TMO SML
+
+typedef enum {
+    SML_PROTECTION_SCHEME_NONE          = 0,
+    SML_PROTECTION_SCHEME_HMAC_SHA256   = 1,
+    SML_PROTECTION_SCHEME_RSA2048       = 2,
+} sml_protection_scheme_enum;
+
+typedef enum {
+    SML_TMO_STATE_PERMANENT_LOCK        = 0,
+    SML_TMO_STATE_TEMPORARY_UNLOCK      = 1,
+    SML_TMO_STATE_PERMANENT_UNLOCK      = 2,
+    SML_TMO_STATE_PARTIAL_UNLOCK        = 3,
+} sml_tmo_state_enum;
+
+typedef enum {
+    SML_ATT_STATE_PERMANENT_LOCK        = 0,
+    SML_ATT_STATE_TEMPORARY_UNLOCK      = 1,
+    SML_ATT_STATE_PERMANENT_UNLOCK      = 2,
+    SML_ATT_STATE_PARTIAL_UNLOCK        = 3,
+} sml_att_state_enum;
+
+typedef enum {
+    SML_EVENT_REBOOT_REQUIRED,
+    SML_EVENT_NO_REBOOT
+} sml_event_enum;
+
+
+typedef enum {
+    SML_TMO_MOVIAL_PROTECTION_SCHEME_NONE          = 0,
+    SML_TMO_MOVIAL_PROTECTION_SCHEME_RSA2048       = 1,
+
+    SML_TMO_MOVIAL_PROTECTION_SCHEME_SIZE
+} sml_tmo_movial_protection_scheme_enum;
+
+typedef enum {
+    SML_TMO_MOVIAL_STATE_PERMANENT_LOCK        = 0,
+    SML_TMO_MOVIAL_STATE_PERMANENT_UNLOCK      = 1,
+    SML_TMO_MOVIAL_STATE_TEMPORARY_UNLOCK      = 2
+} sml_tmo_movial_state_enum;
+
+
+typedef enum {
+    SML_STATE_NULL,
+    SML_STATE_LOCK,
+    SML_STATE_UNLOCK,
+    SML_STATE_AUTOLOCK,
+    SML_STATE_DISABLE
+} sml_state_enum;
+
+typedef enum {
+    SML_KEY_EMPTY,
+    SML_KEY_SET
+} sml_key_state_enum;
+
+#ifdef __SML_PUK__
+typedef enum {
+    SML_PUK_KEY_DISABLE = 0,
+    SML_PUK_KEY_ENABLE = 1
+} sml_puk_key_state_enum;
+
+typedef enum {
+    SML_PUK_OP_VERIFY = 0,
+    SML_PUK_OP_UPDATE = 1,
+
+    SML_PUK_OP_SIZE
+} sml_puk_key_op_enum;
+#endif
+
+typedef enum {
+    // For AT+ESMLCK
+    SML_OP_UNLOCK = 0,
+    SML_OP_LOCK = 1,
+    SML_OP_ADD = 2,
+    SML_OP_REMOVE = 3,
+    SML_OP_DISABLE = 4,
+    SML_OP_UPDATE_AUTOLOCK_COUNT = 5,
+#ifdef __SML_PUK__
+    SML_OP_VERIFY_PUK = 6,
+#endif
+
+    SML_OP_SIZE,
+
+    SML_OP_CHANGE_PWD = 0xFE,
+    SML_OP_VERIFY = 0xFF
+} sml_op_enum;
+
+typedef enum {
+    // For AT+ECSMLCK
+    SML_CUST_OP_UPDATE_MAX_RETRY_COUNT = 0,
+    SML_CUST_OP_UPDATE_CAT_ALGO_AND_SECURE_KEY_DATA = 1,
+    SML_CUST_OP_UPDATE_KEY_STATE = 2,
+#ifdef __SML_PUK__
+    SML_CUST_OP_UPDATE_PUK_MAX_RETRY_COUNT = 3,
+    SML_CUST_OP_UPDATE_PUK_KEY_DATA = 4,
+    SML_CUST_OP_UPDATE_PUK_KEY_STATE = 5,
+#endif
+    SML_CUST_OP_UPDATE_GENERATED_HCK = 10,
+    SML_CUST_OP_SIZE
+} sml_custom_op_enum;
+
+typedef enum {
+    SML_CAT_N,
+    SML_CAT_NS,
+    SML_CAT_SP,
+    SML_CAT_C,
+    SML_CAT_SIM,
+    SML_CAT_NS_SP,
+    SML_CAT_SIM_C,
+    SML_CAT_SIZE
+} sml_cat_enum;
+
+typedef enum {
+    SML_INPUT_WITH_PLAINKEY,
+    SML_INPUT_WITH_HCK
+} sml_key_input_type_enum;
+
+typedef enum {
+    SML_KEY_ALGO_BCD = 0,
+    SML_KEY_ALGO_PBKDF2_HMAC_SHA256_SALT128 = 1,
+} sml_key_algo_enum;
+
+#ifdef __CARRIER_RESTRICTION__
+typedef enum {
+    SMU_CRRST_STATE_NULL,
+    SMU_CRRST_STATE_LOCKED,
+    SMU_CRRST_STATE_UNLOCKED,
+    SMU_CRRST_STATE_DISABLED
+} smu_crrst_state_enum;
+
+typedef enum {
+    SMU_CRRST_KEY_STATE_NULL,
+    SMU_CRRST_KEY_STATE_LOCKED,
+    SMU_CRRST_KEY_STATE_UNLOCKED
+} smu_crrst_key_state_enum;
+
+typedef enum {
+    SMU_CRRST_CAT_N,
+    SMU_CRRST_CAT_SPN,
+    SMU_CRRST_CAT_IMSI_PREFIX,
+    SMU_CRRST_CAT_GID1,
+    SMU_CRRST_CAT_GID2,
+    SMU_CRRST_CAT_SIZE
+} smu_crrst_cat_enum;
+
+typedef enum {
+    SMU_OP_UNLOCK,
+    SMU_OP_LOCK,
+    SMU_OP_ADD,
+    SMU_OP_REMOVE,
+    SMU_OP_DISABLE,
+    SMU_OP_ENABLE,
+    SMU_OP_REMOVE_ALL,
+    SMU_OP_REMOVE_WHITE_LIST,
+    SMU_OP_REMOVE_BLACK_LIST,
+    SMU_OP_UPDATE_MSP_ACP,
+    SMU_OP_UPDATE_KEY_DATA
+} smu_crrst_op_enum;
+#endif /* __CARRIER_RESTRICTION__ */
+
+typedef enum {
+    SML_SL_CAT_N,
+    SML_SL_CAT_NS,
+    SML_SL_CAT_SP,
+    SML_SL_CAT_SIZE
+} sml_sl_cat_enum;
+
+typedef enum {
+    SML_DEVLK_STATE_LOCKED,
+    SML_DEVLK_STATE_UNLOCKED,
+} sml_device_lock_state_enum;
+
+typedef enum {
+    SML_MAGIC_HEAD,
+    SML_MAGIC_TAIL,
+    SML_CAT_META,
+    SML_CAT_KEY,
+#ifdef __SML_PUK__
+    SML_CAT_PUK_KEY,
+#endif
+    SML_CAT_CODE,
+    SML_CAT_RANGE,
+
+    // TMO Remote SIM lock
+    SML_TMO_CAT_VERSION,
+    SML_TMO_CAT_PERTECTION_SCHEME,
+    SML_TMO_CAT_STATE,
+    SML_TMO_CAT_LENGTH,
+    SML_TMO_CAT_NUM_PLMN,
+    SML_TMO_CAT_PLMN_LIST,
+    SML_TMO_CAT_NUM_GID,
+    SML_TMO_CAT_GID_LIST,
+    SML_TMO_CAT_START_TIME,
+    SML_TMO_CAT_END_TIME,
+    SML_TMO_CAT_IMEI,
+    SML_TMO_CAT_VERIFICATION_CODE,
+    SML_TMO_CAT_UNLOCK_TIME_COUNTER,
+
+    // ATT Remote SIM lock
+    SML_ATT_CAT_VERSION,
+    SML_ATT_CAT_PERTECTION_SCHEME,
+    SML_ATT_CAT_STATE,
+    SML_ATT_CAT_LENGTH,
+    SML_ATT_CAT_NUM_PLMN,
+    SML_ATT_CAT_PLMN_LIST,
+    SML_ATT_CAT_NUM_GID,
+    SML_ATT_CAT_GID_LIST,
+    SML_ATT_CAT_START_TIME,
+    SML_ATT_CAT_END_TIME,
+    SML_ATT_CAT_IMEI,
+    SML_ATT_CAT_VERIFICATION_CODE,
+    SML_ATT_CAT_UNLOCK_TIME_COUNTER,
+
+    // Subsidy lock
+    SML_SL_CAT_MAJOR_VERSION,
+    SML_SL_CAT_MINOR_VERSION,
+    SML_SL_CAT_PROTECTION_ALGORITHM,
+    SML_SL_CAT_LOCK_OPERATION,
+    SML_SL_CAT_IMEI,
+    SML_SL_CAT_TIME_STAMP,
+    SML_SL_CAT_LENGTH,
+    SML_SL_CAT_META,
+    SML_SL_CAT_KEY,
+    SML_SL_CAT_CODE,
+    SML_SL_CAT_SIGNATURE,
+
+    // VZW RSU
+    SML_VZW_RSU_MAJOR_VERSION,
+    SML_VZW_RSU_MINOR_VERSION,
+    SML_VZW_RSU_PROTECTION_ALGORITHM,
+    SML_VZW_RSU_NETWORK_LOCK_OPERATION,
+    SML_VZW_RSU_SESSION_ID,
+    SML_VZW_RSU_TIME_STAMP,
+    SML_VZW_RSU_CAT_CODE,
+    SML_VZW_RSU_CAT_NUM,
+
+    SML_CAT_MAX_RETRY_COUNT,
+
+    // Carrier Restriction
+    SMU_CRRST_KEY,
+    SMU_CRRST_BLACK_LIST_META,
+    SMU_CRRST_BLACK_LIST,
+    SMU_CRRST_WHITE_LIST_META,
+    SMU_CRRST_WHITE_LIST,
+    SMU_CRRST_ALLOW_ALL,
+    SMU_CRRST_STATE,
+    SMU_CRRST_MULTI_SIM_POLICY,
+    SMU_CRRST_ALLOWED_CARRIERS_PRIORITIZED,
+
+    SML_TMO_MOVIAL_CAT_MAJOR_VERSION,
+    SML_TMO_MOVIAL_CAT_MINOR_VERSION,
+    SML_TMO_MOVIAL_CAT_PROTECTION_ALGORITHM,
+    SML_TMO_MOVIAL_CAT_LOCK_OPERATION,
+    SML_TMO_MOVIAL_CAT_IMEI,
+    SML_TMO_MOVIAL_CAT_TIME_STAMP,
+    SML_TMO_MOVIAL_CAT_START_TIME,
+    SML_TMO_MOVIAL_CAT_UNLOCK_DURATION,
+    SML_TMO_MOVIAL_CAT_LENGTH,
+    SML_TMO_MOVIAL_CAT_META,
+    SML_TMO_MOVIAL_CAT_KEY,
+    SML_TMO_MOVIAL_CAT_CODE,
+    SML_TMO_MOVIAL_CAT_SIGNATURE,
+    SML_TMO_MOVIAL_CAT_UNLOCK_TIME_COUNTER,
+} sml_ctx_enum;
+
+typedef enum{
+    SML_OP129_CAT_N,
+    SML_OP129_CAT_START = SML_OP129_CAT_N,
+    SML_OP129_CAT_NS,
+    SML_OP129_CAT_SP,
+    SML_OP129_CAT_C,
+    SML_OP129_CAT_MAX,
+}smu_op129_cat_enum;
+
+typedef enum {
+    RAC_ATTACHING_OR_SEARCHING,
+    RAC_ATTACHED,
+    RAC_DETACHED,
+    RAC_DETACHED_NO_COVERAGE,
+} l4crac_reg_event_enum;
+
+typedef enum
+{
+    RAC_DETACH,
+    RAC_ATTACH
+} l4crac_ps_attach_enum;
+
+typedef enum
+{
+    RAC_CS = 1,
+    RAC_PS = 2,
+    RAC_CS_AND_PS = 3
+} l4crac_attach_type_enum;
+
+typedef enum
+{
+    DETACH_CAUSE_NONE = 0,
+    DETACH_CAUSE_DUPLEX_MODE_CHANGE,
+    DETACH_CAUSE_BLOCK_ILLEGAL_ME, /*the deatch is due to SIM got reject from NW and enter illegal state*/
+    DETACH_CAUSE_BLOCK_NORMAL_SERVICE,
+} l4c_rac_detach_cause_enum;
+
+typedef enum
+{
+   L4C_RAC_OK,
+   L4C_RAC_NO_CELL,
+   L4C_RAC_LIMITED_SERVICE,
+   L4C_RAC_ERROR,
+   L4C_RAC_INVALID_SIM,
+   L4C_RAC_ATTEMPT_TO_UPDATE,
+   L4C_RAC_SEARCHING, /* Johnny 2005/11/07: add new temp gsm_status for MMI: L4C_RAC_SEARCHING */
+   L4C_RAC_NULL
+} l4c_rac_response_enum;
+
+typedef enum
+{
+	L4C_APPLY_AT_RUNTIME = 0,
+    L4C_APPLY_AFTER_REBOOT,
+    L4C_APPLY_INVALID
+} l4c_hspa_mode_apply_enum;
+
+typedef enum
+{
+	L4C_HSPA_OFF = 0,
+	L4C_HSDPA_ON = 1,
+	L4C_HSDPA_HSUPA_ON = 2,
+	L4C_HSPAPLUS_ON = 3,
+	L4C_HSPA_INVLIAD
+} l4c_hspa_preference_enum; // it shall be sync to hspa_preference_enum
+// --- mtk02285, hspa_mmi
+
+typedef enum
+{
+    MANUAL_MODE    = 0,
+    AUTOMATIC_MODE = 1
+} plmn_selection_mode_enum;
+
+ typedef enum {
+   PHB_NORMAL_NUM = 129,
+   PHB_INTER_NUM = 145,
+   PHB_UNKNOW = 255
+} phb_ton_enum;
+
+/******************************
+*******RMMI related ENUM BEGIN*****
+*******************************/
+typedef enum
+{
+    RMMI_PLMN_LONG_ALPHA,
+    RMMI_PLMN_SHORT_ALPHA,
+    RMMI_PLMN_NUMERIC
+} rmmi_plmn_format_enum;
+
+typedef enum
+{
+    RMMI_DISABLE_REPORT = 0,
+    RMMI_ENABLE_REPORT,
+    RMMI_ENABLE_REPORT_FOR_STATE,
+    RMMI_REPORT_MAX_MODE
+} rmmi_report_mode_enum;
+
+typedef enum
+{
+    RMMI_TIME_ZONE_DISABLE_REPORT    = 0,
+    RMMI_TIME_ZONE_ONLY_REPORT       = 1,   // for URC +CTZV
+    RMMI_TIME_ZONE_DST_TIME_REPORT   = 2, 	// for URC +CTZE
+    RMMI_TIME_ZONE_DST_UTC_TIME_REPORT   = 3 	// for URC +CTZEU
+} rmmi_time_zone_report_mode_enum;
+
+typedef enum
+{
+    RMMI_DISABLE_NW_REG_REPORT        = 0,
+    RMMI_ENABLE_NW_REG_REPORT         = 1,
+    RMMI_ENABLE_LOC_REPORT            = 2,
+    RMMI_ENABLE_LOC_AND_CAUSE_REPORT  = 3,
+    RMMI_ENABLE_PSM_REPORT            = 4,
+    RMMI_ENABLE_PSM_AND_CAUSE_REPORT  = 5,
+    RMMI_NW_REG_REPORT_MODE_MAX,
+} rmmi_nw_reg_report_mode_enum;
+
+typedef enum
+{
+    RMMI_NUM_PARTIAL_HEAD_TAIL,
+    RMMI_VERBOSE_FULL_HEAD_TAIL
+} rmmi_result_code_format;
+
+typedef enum
+{
+    RMMI_SUPPRESS_OFF,
+    RMMI_SUPRESS_ON
+} rmmi_result_code_suppress_enum;
+
+typedef enum
+{
+    RMMI_SIMPLE_ERROR,
+    RMMI_NUMERIC_ERROR,
+    RMMI_TEXT_ERROR
+} rmmi_error_report_mode_enum;
+
+typedef enum
+{
+    RMMI_UART_TO_SIM1,
+    RMMI_UART_TO_SIM2,
+    RMMI_UART_TO_SIM3,
+    RMMI_UART_TO_SIM4,
+    RMMI_SIM_UART_SETTING_NONE = 0xFF
+}rmmi_sim_uart_setting_enum;
+
+
+typedef enum
+{
+    RMMI_CHSET_IRA,
+    RMMI_CHSET_HEX,
+    RMMI_CHSET_GSM,
+    RMMI_CHSET_PCCP437,
+    RMMI_CHSET_PCDN,
+    RMMI_CHSET_88591,
+    RMMI_CHSET_UCS2,
+    RMMI_CHSET_UCS2_0X81,
+    RMMI_CHSET_TOTAL_NUM
+} rmmi_chset_enum;
+
+#ifdef 	__EPSFB_SUPPORT__
+
+typedef enum
+{
+    RMMI_EPSFB_STATE_START,
+    RMMI_EPSFB_STATE_SUCCESS,
+    RMMI_EPSFB_STATE_FAIL,
+    RMMI_EPSFB_STATE_MAX
+} rmmi_epsfb_state_enum;
+
+
+typedef enum
+{
+    RMMI_EPSFB_TYPE_HANDOVER,
+    RMMI_EPSFB_TYPE_REDIRECTION,
+    RMMI_EPSFB_TYPE_MAX
+} rmmi_epsfb_type_enum;
+
+#endif
+
+/******************************
+*******RMMI related ENUM END*******
+*******************************/
+
+
+typedef enum
+{
+    L4C_SETTING_FLIGHT_MODE,
+    L4C_SETTING_WLAN_FLIGHT_MODE,
+    L4C_SETTING_DUAL_SIM_MODE,
+    L4C_SETTING_DUAL_SIM_UART,
+    L4C_SETTING_3G_SERVICE_BITMAP, //Phased out. SIM switch does not use this NVRAM anymore.
+    L4C_SETTING_MMDC_MODE,
+    L4C_SETTING_MAX
+}l4c_nvram_setting_enum;
+
+typedef enum
+{
+   MT_CALL_ALLOW,
+   MT_CALL_REJECT,
+   MT_CALL_APPROVAL_ENABLE,
+   MT_CALL_APPROVAL_DISABLE
+}l4c_mt_call_approval_enum;
+
+typedef enum
+{
+   ALS_DIAL_BY_SETTING, //dial call according to the ALS setting in NVRAM
+   ALS_DIAL_LINE1,
+   ALS_DIAL_LINE2
+}l4c_als_dial_type_enum;
+
+typedef enum
+{
+   INFO_ECC_CHECK_BY_MODEM, //let modem check if dialed number is ECC (it's current MAUI solution default value)
+   INFO_ECC_CALL,  //inform the dialed number is a ECC call
+   INFO_NORMAL_CALL,  //inform the dialed number is a normal call
+   INFO_ECALL_START,
+   INFO_ECALL_TEST = 0x00 + INFO_ECALL_START, //inform the dialed number is a test Ecall
+   INFO_ECALL_RECONFIGURATION = 0x01 + INFO_ECALL_START, //inform the dialed number is a reconfiguration Ecall
+   INFO_ECALL_MANUALLY_INITIATED = 0x02 + INFO_ECALL_START,  //inform the dialed number is a manually Ecall
+   INFO_ECALL_AUTOMATICALLY_INITIATED = 0x03 + INFO_ECALL_START  //inform the dialed number is a automatically Ecall
+}l4c_mmi_ecc_info_enum;
+
+typedef enum
+{
+   SINGLE_VOICE_CALL,
+   SINGLE_DATA_CALL,
+   SINGLE_FAX_CALL,
+   FOLLOW_VOICE_CALL,
+   ALT_DATA_VOICE_CALL,
+   ALT_FAX_VOICE_CALL,
+   FOLLOW_DATA_CALL,
+   ALT_DATA_DATA_CALL,
+   ALT_FAX_FAX_CALL,
+   UNKNOWN_CALL
+} l4ccsm_cc_call_mode_enum;
+
+
+typedef enum
+{
+    L4C_NONE_SPECIFIED = 0x0000,
+    L4C_GPRS_SUPPORT = 0x0001,
+    L4C_EDGE_SUPPORT = 0x0002,
+    L4C_UMTS_SUPPORT = 0x0004,
+    L4C_HSDPA_SUPPORT = 0x0008,
+    L4C_HSUPA_SUPPORT = 0x0010,
+    L4C_HSDPA_UPA_SUPPORT = 0x0018,
+
+    L4C_HSDPAP_SUPPORT = 0x0020,
+    L4C_HSDPAP_UPA_SUPPORT = 0x0030,
+    L4C_HSUPAP_SUPPORT = 0x0040,
+    L4C_HSUPAP_DPA_SUPPORT = 0x0048,
+    L4C_HSPAP_SUPPORT = 0x0060,
+    L4C_DC_DPA_SUPPORT = 0x0088,
+    L4C_DC_DPA_UPA_SUPPORT = 0x0098,
+    L4C_DC_HSDPAP_SUPPORT = 0x00a0,
+    L4C_DC_HSDPAP_UPA_SUPPORT = 0x00b0,
+    L4C_DC_HSUPAP_DPA_SUPPORT = 0x00c8,
+    L4C_DC_HSPAP_SUPPORT = 0x00e0,
+
+    /* C2K specific*/
+    L4C_1XRTT_SUPPORT = 0x0100,
+    L4C_HRPD_SUPPORT  = 0x0200,
+    L4C_EHRPD_SUPPORT = 0x0400,
+
+    L4C_LTE_SUPPORT = 0x1000,
+    L4C_LTE_CA_SUPPORT = 0x2000,
+
+    L4C_ENDC_SUPPORT = 0x4000,
+    L4C_NR_SUPPORT = 0x8000,
+
+    L4C_NOT_CHANGE = 0xffff
+} l4c_data_speed_support_enum; // it shall be sync to data_speed_support_enum
+//bit7          6       5       4       3       2       1       0
+//DUAL CARRIER  HSUPA+  HSDPA+  HSUPA   HSDPA   UMTS    EDGE    GPRS
+
+
+typedef enum
+{
+    L4C_NONE_ACTIVATE = 0,
+    L4C_GPRS_CAPABILITY,
+    L4C_EDGE_CAPABILITY,
+    L4C_UMTS_CAPABILITY,
+    L4C_HSDPA_CAPABILITY,           //mac-hs
+    L4C_HSUPA_CAPABILITY,           //mac-e/es
+    L4C_HSDPA_HSUPA_CAPABILITY,     //mac-hs + mac-e/es
+
+    L4C_HSDPAP_CAPABILITY,          //mac-ehs
+    L4C_HSDPAP_UPA_CAPABILITY,      //mac-ehs + mac-e/es
+    L4C_HSUPAP_CAPABILITY,          //mac-i/is
+    L4C_HSUPAP_DPA_CAPABILITY,      //mac-hs + mac-i/is
+    L4C_HSPAP_CAPABILITY,           //mac-ehs + mac-i/is
+    L4C_DC_DPA_CAPABILITY,          //(DC) mac-hs
+    L4C_DC_DPA_UPA_CAPABILITY,      //(DC) mac-hs + mac-e/es
+    L4C_DC_HSDPAP_CAPABILITY,       //(DC) mac-ehs
+    L4C_DC_HSDPAP_UPA_CAPABILITY,   //(DC) mac-ehs + mac-e/es
+    L4C_DC_HSUPAP_DPA_CAPABILITY,   //(DC) mac-hs + mac-i/is
+    L4C_DC_HSPAP_CAPABILITY,        //(DC) mac-ehs + mac-i/is
+    L4C_LTE_CAPABILITY,
+    L4C_LTE_CA_CAPABILITY,
+} l4c_data_bearer_capablility_enum;
+// l4c_data_bearer_capablility_enum !!! no sync since R7R8 !!! with data_speed_activate_enum
+// should be converted from data_speed_activate_enum to l4c_data_bearer_capablility_enum
+// l4c_convert_data_speed_support_enum ....
+
+
+#if defined(__BT_SUPPORT__)
+//defined later
+typedef enum
+{
+    RMMI_CIND_BEGIN = 0,
+    RMMI_CIND_SERVICE,
+    RMMI_CIND_CALL,
+    RMMI_CIND_CALLSETUP,
+    RMMI_CIND_CALLHELD,
+    RMMI_CIND_BATTCHG,
+    RMMI_CIND_SIGNAL,
+    RMMI_CIND_ROAM,
+    RMMI_CIND_END
+} rmmi_cind_enum;
+#else /* defined(__BT_SUPPORT__) */
+typedef enum
+{
+    RMMI_CIND_BEGIN = 0,
+    RMMI_CIND_BATTCHG,
+    RMMI_CIND_SIGNAL,
+    RMMI_CIND_SERVICE,
+    RMMI_CIND_MESSAGE,
+    RMMI_CIND_CALL,
+    RMMI_CIND_ROAM,
+    RMMI_CIND_SMSMEMSTATUS,
+    RMMI_CIND_CALLSETUP,
+    RMMI_CIND_END
+} rmmi_cind_enum;
+#endif /* defined(__BT_SUPPORT__) */
+
+typedef enum
+{
+    RMMI_CIND_CC_NONE = 0,
+    RMMI_CIND_CC_ACTIVE = 1
+} rmmi_cind_call;
+
+typedef enum
+{
+    RMMI_CIND_CSUP_NONE = 0,
+    RMMI_CIND_CSUP_INCOMING,
+    RMMI_CIND_CSUP_OUTGOING,
+    RMMI_CIND_CSUP_ALERT,
+    RMMI_CIND_CSU_PEND
+} rmmi_cind_callsetup;
+
+typedef enum
+{
+    RMMI_CIND_HELD_NONE = 0,
+    RMMI_CIND_HELD_ACTIVE_HOLD = 1,
+    RMMI_CIND_HELD_HOLD = 2
+} rmmi_cind_callheld;
+
+typedef enum
+{
+    NW_BAND_PGSM900 = 0x01,
+    NW_BAND_EGSM900 = 0x02,
+    NW_BAND_RGSM900 = 0x04,
+    NW_BAND_DCS1800 = 0x08,
+    NW_BAND_PCS1900 = 0x10,
+    NW_BAND_GSM450 = 0x20,
+    NW_BAND_GSM480 = 0x40,
+    NW_BAND_GSM850 = 0x80
+} l4c_nw_band_enum;
+
+#define VGSM_SPEC_CAUSE_ENUM(cause, value)  \
+    VGSM_##cause = value + VGSM_CAUSE_START,
+#define VGSM_PROPRIETARY_CAUSE_ENUM(cause, value)  \
+    VGSM_##cause = value + VGSM_CAUSE_START,
+
+typedef enum {
+/* ============================== CM cause ============================== */
+   CM_RADIO_LINK_FAIL = 0, /* Ripple: add for SAT3 use. sec 11.3.2, spec.. 11.14 */
+// 3GPP 24.008 clause 10.5.4.11(Annex H) CC+SS cause value
+// 3GPP 24.011 clause 8.2.5.4 SMS RP cause value
+// 3GPP 24.011 clause 8.1.4.2 SMS CP cause value
+// Class(000): 0-15 -> normal event             CC+SS    SMS
+   CM_UNASSIGNED_NUM                     = 1,  // X       X
+   CM_NO_ROUTE_TO_DESTINATION            = 3,  // X
+   CM_CHANNEL_UN_ACCP                    = 6,  // X
+   CM_OPR_DTR_BARRING                    = 8,  // X       X
+   CM_CALL_BARRED                        = 10, //         X
+   CM_RESERVED                           = 11, //         X
+// Class(001): 16-31 -> normal event
+   CM_NORMAL_CALL_CLR                    = 16, // X
+   CM_USER_BUSY                          = 17, // X       X! (SMS: nwk failure)
+   CM_NO_USER_RESPONDING                 = 18, // X
+   CM_NO_ANSWER_ON_ALERT                 = 19, // X
+   CM_CALL_REJECTED                      = 21, // X       X
+   CM_NUMBER_CHANGED                     = 22, // X       X! (SMS: congestion)
+   CM_CALL_REJECT_DUO_TO_FEATURE         = 24, // X
+   CM_PRE_EMPTION                        = 25, // X
+   CM_NON_SEL_USER_CLEAR                 = 26, // X
+   CM_DEST_OUT_OF_ORDER                  = 27, // X       X
+   CM_INVALID_NUMBER_FORMAT              = 28, // X       X
+   CM_FACILITY_REJECT                    = 29, // X       X
+   CM_RES_STATUS_ENQ                     = 30, // X       X! (SMS:Unknown_Sub)
+   CM_NORMAL_UNSPECIFIED                 = 31, // X
+// Class(010): 32-48 -> resource unavailable
+   CM_NO_CIRCUIT_CHANNEL_AVAIL           = 34, // X
+   CM_NETWORK_OUT_OF_ORDER               = 38, // X       X
+   CM_TEMPORARY_FAILURE                  = 41, // X       X
+   CM_SWITCH_EQUIPMENT_CONGESTION        = 42, // X       X
+   CM_ACCESS_INFO_DISCARDED              = 43, // X
+   CM_REQUESTED_CKT_CHANEL_NOT_AVIL      = 44, // X
+   CM_RESOURCE_UNAVAIL_UNSPECIFIED       = 47, // X       X
+// Class(011): 49-64 -> service or option not available
+   CM_QOS_UNAVAIL                        = 49, // X
+   CM_REQ_FAC_NOT_SUBS                   = 50, // X       X
+   CM_IC_BAR_CUG                         = 55, // X
+   CM_BEARER_CAP_NOT_AUTHORISED          = 57, // X
+   CM_BEARER_CAP_NOT_AVAIL               = 58, // X
+   CM_SER_UNAVAILABLE                    = 63, // X
+// Class(100): 65-80 -> service or option not implementated
+   CM_BEARER_SER_UNIMPL                  = 65, // X
+   CM_ACM_EXCEEDED                       = 68, // X
+   CM_REQ_FACILITY_UNAVAIL               = 69, // X       X
+   CM_RESTR_DIGITAL_INFO                 = 70, // X
+   CM_SER_OPT_UNIMPL                     = 79, // X
+// Class(101): 81-95 -> invalid message
+   CM_INVALID_TI_VALUE                   = 81, // X       X
+   CM_USER_NOT_IN_CUG                    = 87, // X
+   CM_INCOMPATIBLE_DEST                  = 88, // X
+   CM_INVALID_TRANSIT_NW_SEL             = 91, // X
+   CM_SEMANTIC_ERR                       = 95, // X       X
+// Class(110): 96-112 -> protocol error
+   CM_INVALID_MANDATORY_INF              = 96, // X       X
+   CM_MSG_TYPE_UNIMPL                    = 97, // X       X
+   CM_MSG_TYPE_NOT_COMPATIBLE            = 98, // X       X
+   CM_IE_NON_EX                          = 99, // X       X
+   CM_COND_IE_ERR                       = 100, // X
+   CM_INCOMP_MESG_WITH_STATE            = 101, // X
+   CM_RECOVERY_ON_TIMER_EXPIRY          = 102, // X
+   CM_PROTOCOL_ERR_UNSPECIFIED          = 111, // X       X
+// Class(111): 113-127 -> interworking
+   CM_INTER_WRK_UNSPECIFIED             = 127, // X       X
+/* ============================== ~CM cause ============================== */
+
+/* ============================== SMS cause ============================== */
+// 3GPP 23.040 clause 9.2.3.22 SMS TP cause values
+// 128-255 -> SMS cause value
+
+   /* PID error */
+   TELEMATIC_INT_WRK_NOT_SUPPORT = 0x80, /* telematic interworking not support */
+   SMS_TYPE0_NOT_SUPPORT         = 0x81, /* short message type 0 not support */
+   CANNOT_REPLACE_MSG            = 0x82,
+   UNSPECIFIED_PID_ERROR         = 0x8F,
+
+   /* DCS error */
+   ALPHABET_NOT_SUPPORT          = 0x90, /* data coding scheme (alphabet) not support */
+   MSG_CLASS_NOT_SUPPORT         = 0x91, /* message class not support */
+   UNSPECIFIED_TP_DCS            = 0x9f,
+
+   /* Command error */
+   CMD_CANNOT_ACTION             = 0xa0, /* command cannot be actioned */
+   CMD_NOT_SUPPORT               = 0xa1, /* command unsupported */
+   UNSPECIFIED_CMD_ERROR         = 0xaf,
+
+   TPDU_NOT_SUPPORT              = 0xb0,
+   SC_BUSY                       = 0xc0,
+   NO_SC_SUBSCRIPTION            = 0xc1,
+   SC_SYS_FAILURE                = 0xc2,  /* SC system failure */
+   INVALID_SME_ADDR              = 0xc3,
+   DEST_SME_BARRED               = 0xc4,  /* destination SME barred */
+   SM_REJ_DUP_SM                 = 0xc5,  /* SM rejected-duplicate SM */
+   TP_VPF_NOT_SUPPORT            = 0xc6,
+   TP_VP_NOT_SUPPORT             = 0xc7,
+
+   SIM_STORAGE_FULL              = 0xd0,
+   NO_SMS_STO_IN_SIM             = 0xd1,  /* No SMS storage capability in SIM */
+   ERROR_IN_MS                   = 0xd2,
+   MEM_CAP_EXCEEDED              = 0xd3,  /* Memory Capacity Exceeded */
+
+   /* SIM Application Toolkit */
+   SMS_SAT_BUSY                  = 0xd4,  /* SIM Application Toolkit Busy */
+   SMS_SAT_DL_ERROR              = 0xd5,  /* SIM data download error */
+
+   /* 0XE0 to 0xFE are specific to application */
+   SMS_CP_RETRY_EXCEED           = 0xe0,
+   SMS_RP_TR1M_TIMEOUT           = 0xe1,
+   SMS_CONNECTION_BROKEN         = 0xe2,
+
+   UNSPECIFIED_TP_FCS            = 0xff,
+
+// 3GPP 27.005 clause 3.2.5 SMS ATcmd cause values
+// 256-511 -> SMS AT command cause value
+   INVALID_PDU_MODE_PARA  = 304,   /* invalid pdu mode parameter */
+   INVALID_TEXT_MODE_PARA = 305,   /* invalid text mode parameter */
+   SMS_SIM_FAILURE        = 313,   /* sim failure */
+   MEM_FAILURE	          = 320,   /* memory failure */
+   INVALID_MEM_INDEX	  = 321,   /* invalid memory index */
+   MEM_FULL	          = 322,   /* memory full */
+   SCA_UNKNOWN	          = 330,   /* SMSC address unknown */
+   SMS_NO_NW_SERVICE      = 331,   /* no network service */
+   NO_CNMA_EXPECTED       = 340,   /* no +CNMA acknowledgement expected */
+   SMSAL_UNSPECIFIED_ERROR_CAUSE = 500,
+
+// 512-767 -> SMS proprietary cause values
+   SMSAL_NO_ERROR             = 512,
+   MSG_LEN_EXCEEDED           = 513,   /* message length exceeds
+                                          maximum length */
+   INVALID_REQ_PARAMETER      = 514,   /* invalid request parameters */
+   SMS_ME_STORAGE_FAILURE     = 515,   /* ME storage failure */
+   SMSAL_INVALID_BEARER       = 516,   /* Invalid bearer service */
+   SMSAL_INVALID_SERVICE_MODE = 517,   /* Invalid service mode */
+   SMSAL_INVALID_STORAGE_TYPE = 518,   /* Invalid storage type */
+   SMSAL_INVALID_MSG_FORMAT   = 519,   /* Invalid message format */
+   TOO_MANY_MO_CONCAT_MSG     = 520,   /* Too many MO concatenated messages */
+   SMSAL_NOT_READY            = 521,
+   SMSAL_NO_MO_SERVICE        = 522,
+   NOT_SUPP_SR_CMD_IN_STORAGE = 523,   /* not support TP-Status-Report & TP-Command in storage */
+   SMSAL_NOT_SUPPORT_MSG_TYPE = 524,   /* Reserved MTI */
+   SMS_RL_NO_FREE_ENTITY      = 525,   /* no free entity in RL layer */
+   SMS_PORT_NUM_ALREADY_REG   = 526,   /* The port number is already registerred */
+   SMS_PORT_NUM_NO_FREE_ENTITY= 527,   /* There is no free entity for port number */
+   SMS_RL_MMS_STATE_ERR       = 528,   /* More Message to Send state error */
+   SMS_MO_SMS_NOT_ALLOW       = 529,   /* MO SMS is not allow */
+   SMS_PS_SUSPENDED           = 530,   /* GPRS is suspended */
+   SMS_ME_STORAGE_FULL        = 531,   /* ME storage full */
+   SMS_SIM_REFRESHING         = 532,   /* doing SIM refresh */
+   SMS_MSPM_CNF_FAIL          = 533,   /* MSPM CNF returns with fail */
+   SMS_RL_ENTITY_NOT_FOUND	  = 534,	/* More Message to Send state error */
+   SMS_RP_TR2M_TIMEOUT 		  = 535,
+   SMS_ABORT_BY_USER		  = 536,
+/* ============================== ~SMS cause ============================== */
+
+/* ============================== CC cause ============================== */
+// 768-1023 -> CC proprietary cause values
+	CSMCC_CMD_NOT_ALLOW = 768,
+	CSMCC_ILLEGAL_CALL_ID,
+	CSMCC_CALL_ALLOC_FAIL,
+	CSMCC_BC_FILL_FAIL,
+	CSMCC_CALL_RE_EST,
+	CSMCC_ILLEGAL_DTMF_TONE,
+	CSMCC_ILLEGAL_BC,
+	CSMCC_MODIFY_ACTUAL_MODE,
+	CSMCC_DATA_ACT_FAIL,
+	CSMCC_NO_RESPONSE_FROM_NW,
+	CSMCC_CALL_ACCEPT_NOT_ALLOW,
+        CSMCC_SAT_CALL_CTRL_REJECTED, /* call rejected by SAT call control: added for MAUI_01300426 */
+        CSMCC_VT_NO_UMTS_CAPABILITY,  /*[MAUI_01712442]*/
+
+   CM_L4C_GEN_CAUSE = 896,
+   CM_L4C_CC_CALL_ABORT = 897,  /*CSD call is aborted by user during call establishment
+   				or MT call abort MO call/USSD*/
+   CM_L4C_CC_CALL_DISC_IND = 898,  /*CSD call is disconnected due to lower layer failure*/
+/* ============================== ~CC cause ============================== */
+
+/* ============================== SS cause ============================== */
+// 1024-1279 -> SS proprietary cause values
+// 3GPP 23.080 clause 4.3 SS Error Types
+   CM_SS_ERR_START                                = 1024,
+   CM_SS_ERR_UNKNOWNSUBSCRIBER                    =   1 + CM_SS_ERR_START,
+   CM_SS_ERR_ILLEGALSUBSCRIBER                    =   9 + CM_SS_ERR_START,
+   CM_SS_ERR_BEARERSERVICENOTPROVISIONED          =  10 + CM_SS_ERR_START,
+   CM_SS_ERR_TELESERVICENOTPROVISIONED            =  11 + CM_SS_ERR_START,
+   CM_SS_ERR_ILLEGALEQUIPMENT                     =  12 + CM_SS_ERR_START,
+   CM_SS_ERR_CALLBARRED                           =  13 + CM_SS_ERR_START,
+   CM_SS_ERR_ILLEGALSS_OPERATION                  =  16 + CM_SS_ERR_START,
+   CM_SS_ERR_SS_ERRORSTATUS                       =  17 + CM_SS_ERR_START,
+   CM_SS_ERR_SS_NOTAVAILABLE                      =  18 + CM_SS_ERR_START,
+   CM_SS_ERR_SS_SUBSCRIPTIONVIOLATION             =  19 + CM_SS_ERR_START,
+   CM_SS_ERR_SS_INCOMPABILITY                     =  20 + CM_SS_ERR_START,
+   CM_SS_ERR_FACILITYNOTSUPPORTED                 =  21 + CM_SS_ERR_START,
+   CM_SS_ERR_ABSENTSUBSCRIBER                     =  27 + CM_SS_ERR_START,
+   CM_SS_ERR_SHORTTERMDENIAL                      =  29 + CM_SS_ERR_START,
+   CM_SS_ERR_LONGTERMDENIAL                       =  30 + CM_SS_ERR_START,
+   CM_SS_ERR_SYSTEMFAILURE                        =  34 + CM_SS_ERR_START,
+   CM_SS_ERR_DATAMISSING                          =  35 + CM_SS_ERR_START,
+   CM_SS_ERR_UNEXPECTEDDATAVALUE                  =  36 + CM_SS_ERR_START,
+   CM_SS_ERR_PW_REGISTRATIONFAILURE               =  37 + CM_SS_ERR_START,
+   CM_SS_ERR_NEGATIVEPW_CHECK                     =  38 + CM_SS_ERR_START,
+   CM_SS_ERR_NUMBEROFPW_ATTEMPTSVIOLATION         =  43 + CM_SS_ERR_START,
+   CM_SS_ERR_POSITIONMETHODFAILURE                =  54 + CM_SS_ERR_START,
+   CM_SS_ERR_UNKNOWNALPHABET                      =  71 + CM_SS_ERR_START,
+   CM_SS_ERR_USSD_BUSY                            =  72 + CM_SS_ERR_START,
+   CM_SS_ERR_REJECTEDBYUSER                       = 121 + CM_SS_ERR_START,
+   CM_SS_ERR_REJECTEDBYNETWORK                    = 122 + CM_SS_ERR_START,
+   CM_SS_ERR_DEFLECTIONTOSERVEDSUBSCRIBER         = 123 + CM_SS_ERR_START,
+   CM_SS_ERR_SPECIALSERVICECODE                   = 124 + CM_SS_ERR_START,
+   CM_SS_ERR_INVALIDDEFLECTIONTONUMBER            = 125 + CM_SS_ERR_START,
+   CM_SS_ERR_MAXNUMBEROFMPTY_PARTICIPANTSEXCEEDED = 126 + CM_SS_ERR_START,
+   CM_SS_ERR_RESOURCESNOTAVAILABLE                = 127 + CM_SS_ERR_START,
+
+   CM_SS_GENERALPROBLEM_START                     = 1152,
+   CM_SS_GENERALPROBLEM_UNRECOGNIZEDCOMPONENT     =       CM_SS_GENERALPROBLEM_START,
+   CM_SS_GENERALPROBLEM_MISTYPEDCOMPONENT         = 1   + CM_SS_GENERALPROBLEM_START,
+   CM_SS_GENERALPROBLEM_BADLYSTRUCTUREDCOMPONENT  = 2   + CM_SS_GENERALPROBLEM_START,
+
+   CM_SS_INVOKEPROBLEM_START                      = 1155,
+   CM_SS_INVOKEPROBLEM_DUPLICATEINVOKEID          =       CM_SS_INVOKEPROBLEM_START,
+   CM_SS_INVOKEPROBLEM_UNRECOGNIZEDOPERATION      = 1  +  CM_SS_INVOKEPROBLEM_START,
+   CM_SS_INVOKEPROBLEM_MISTYPEDPARAMETER          = 2  +  CM_SS_INVOKEPROBLEM_START,
+   CM_SS_INVOKEPROBLEM_RESOURCELIMITATION         = 3  +  CM_SS_INVOKEPROBLEM_START,
+   CM_SS_INVOKEPROBLEM_INITIATINGRELEASE          = 4  +  CM_SS_INVOKEPROBLEM_START,
+   CM_SS_INVOKEPROBLEM_UNRECOGNIZEDLINKDID        = 5  +  CM_SS_INVOKEPROBLEM_START,
+   CM_SS_INVOKEPROBLEM_LINKEDRESONSEUNEXPECTED    = 6  +  CM_SS_INVOKEPROBLEM_START,
+   CM_SS_INVOKEPROBLEM_UNEXPECTEDLINKEDOPERATION  = 7  +  CM_SS_INVOKEPROBLEM_START,
+
+   CM_SS_RETURNRESULTPROBLEM_START                     = 1163,
+   CM_SS_RETURNRESULTPROBLEM_RR_UNRECOGNIZEDINVOKEID   =      CM_SS_RETURNRESULTPROBLEM_START,
+   CM_SS_RETURNRESULTPROBLEM_RR_RETURNRESULTUNEXPECTED = 1 +  CM_SS_RETURNRESULTPROBLEM_START,
+   CM_SS_RETURNRESULTPROBLEM_RR_MISTYPEDPARAMETER      = 2 +  CM_SS_RETURNRESULTPROBLEM_START,
+
+   CM_SS_RETURNERRORPROBLEM_START                      = 1166,
+   CM_SS_RETURNERRORPROBLEM_RE_UNRECOGNIZEDINVOKEID    =      CM_SS_RETURNERRORPROBLEM_START,
+   CM_SS_RETURNERRORPROBLEM_RE_RETURNERRORUNEXPECTED   = 1 +  CM_SS_RETURNERRORPROBLEM_START,
+   CM_SS_RETURNERRORPROBLEM_RE_UNRECOGNIZEDERROR       = 2 +  CM_SS_RETURNERRORPROBLEM_START,
+   CM_SS_RETURNERRORPROBLEM_RE_UNEXPECTEDERROR         = 3 +  CM_SS_RETURNERRORPROBLEM_START,
+   CM_SS_RETURNERRORPROBLEM_RE_MISTYPEDPARAMETER       = 4 +  CM_SS_RETURNERRORPROBLEM_START,
+
+// LPP proprietary cause, refer to lcs_emm_status_enum
+   CM_SS_LCS_EMM_STATUS_START           = 1171,
+   CM_SS_LCS_EMM_STATUS_SUCCESS         =       CM_SS_LCS_EMM_STATUS_START,
+   CM_SS_LCS_EMM_STATUS_ERR_CONN_FAIL   = 1 +   CM_SS_LCS_EMM_STATUS_START,
+   CM_SS_LCS_EMM_STATUS_ERR_NW_NO_LCS   = 2 +   CM_SS_LCS_EMM_STATUS_START,
+   CM_SS_LCS_EMM_STATUS_ERR_CS_LCS_ONLY = 3 +   CM_SS_LCS_EMM_STATUS_START,
+
+//other SS proprietary cause
+   CM_SS_OTHER_CAUSE_START                  =   1181,
+   CM_SS_CTRL_BY_SIM_FAIL_NOT_INFORM_USER   =       CM_SS_OTHER_CAUSE_START,
+   CM_SS_SAT_USSD_END_NOT_INFORM_USER       = 1 +   CM_SS_OTHER_CAUSE_START,
+
+
+/* ============================== ~SS cause ============================== */
+
+/* ============================== MM cause ============================== */
+// 3GPP 24.008 clause 10.5.3.6(Annex G) MM reject cause values
+// 3GPP 24.008 clause 10.5.5.14(Annex G) GMM cause values
+// 2048 -> MM cause values
+   CM_MM_CAUSE_START                     = 2048,
+   CM_MM_CAUSE_NONE                     =     0x00 + CM_MM_CAUSE_START,
+   CM_MM_IMSI_UNKNOWN_IN_HLR            =     0x02 + CM_MM_CAUSE_START,
+   CM_MM_ILLEGAL_MS                     =     0x03 + CM_MM_CAUSE_START,
+   CM_MM_IMSI_UNKNOWN_IN_VLR            =     0x04 + CM_MM_CAUSE_START,
+   CM_MM_IMEI_NOT_ACCEPTED              =     0x05 + CM_MM_CAUSE_START,
+   CM_MM_ILLEGAL_ME                     =     0x06 + CM_MM_CAUSE_START,
+   CM_MM_GPRS_NOT_ALLOWED               =     0x07 + CM_MM_CAUSE_START,
+   CM_MM_GPRS_NON_GPRS_NOT_ALLOWED      =     0x08 + CM_MM_CAUSE_START,
+   CM_MM_MS_ID_NOT_DERIVED_BY_NW        =     0x09 + CM_MM_CAUSE_START,
+   CM_MM_IMPLICIT_DETACH                =     0x0a + CM_MM_CAUSE_START,
+   CM_MM_PLMN_NOT_ALLOWED               =     0x0b + CM_MM_CAUSE_START,
+   CM_MM_LOCATION_AREA_NOT_ALLOWED      =     0x0c + CM_MM_CAUSE_START,
+   CM_MM_ROAMING_AREA_NOT_ALLOWED       =     0x0d + CM_MM_CAUSE_START,
+   CM_MM_GPRS_NOT_ALLOWED_IN_PLMN       =     0x0e + CM_MM_CAUSE_START,
+   CM_MM_NO_SUITABLE_CELLS_IN_LA        =     0x0f + CM_MM_CAUSE_START,
+   CM_MM_MSC_TEMP_NOT_REACHABLE         =     0x10 + CM_MM_CAUSE_START,
+   CM_MM_NETWORK_FAILURE                =     0x11 + CM_MM_CAUSE_START,
+   CM_MM_MAC_FAILURE                    =     0x14 + CM_MM_CAUSE_START,
+   CM_MM_SYNC_FAILURE                   =     0x15 + CM_MM_CAUSE_START,
+   CM_MM_CONGESTION                     =     0x16 + CM_MM_CAUSE_START,
+   CM_MM_NOT_AUTHORIZED_FOR_THIS_CSG    =     0x19 + CM_MM_CAUSE_START,
+   CM_MM_SERV_OPTION_NOT_SUPPORTED      =     0x20 + CM_MM_CAUSE_START,
+   CM_MM_REQ_SERV_OPTION_NOT_SUBSCRIBED =     0x21 + CM_MM_CAUSE_START,
+   CM_MM_SERV_OPTION_TEMP_OUT_OF_ORDER  =     0x22 + CM_MM_CAUSE_START,
+   CM_MM_CALL_CANNOT_BE_IDENTIFIED      =     0x26 + CM_MM_CAUSE_START,
+   CM_MM_NO_PDP_CONTEXT_ACTIVATED       =     0x28 + CM_MM_CAUSE_START,
+   CM_MM_RETRY_UPON_ENTRY_INTO_NEWCELL_MIN =  0x30 + CM_MM_CAUSE_START,  /* 30..3f */
+   CM_MM_RETRY_UPON_ENTRY_INTO_NEWCELL_MAX =  0x3f + CM_MM_CAUSE_START,
+   CM_MM_SEMANTICALLY_INCORRECT_MSG        =  0x5f + CM_MM_CAUSE_START,
+   CM_MM_INVALID_MM_MAND_INFO              =  0x60 + CM_MM_CAUSE_START,
+   CM_MM_MSG_TYPE_NON_EXISTENT             =  0x61 + CM_MM_CAUSE_START,
+   CM_MM_MSG_TYPE_NOT_IMPLEMENTED          =  0x61 + CM_MM_CAUSE_START,
+   CM_MM_MSG_TYPE_INCOMPAT_WITH_PROTO_STATE = 0x62 + CM_MM_CAUSE_START,
+   CM_MM_IE_NOT_IMPLEMENTED                 = 0x63 + CM_MM_CAUSE_START,
+   CM_MM_CONDITIONAL_MM_IE_ERROR            = 0x64 + CM_MM_CAUSE_START,
+   CM_MM_MSG_NOT_COMPAT_WITH_PROTO_STATE    = 0x65 + CM_MM_CAUSE_START,  /* 65..6f */
+   CM_MM_PROTO_ERROR_UNSPECIFIED            = 0x6f + CM_MM_CAUSE_START,
+
+   /* RR connection establishment failure */
+   CM_MM_ACCESS_BARRED  ,
+   CM_MM_ASSIGNMENT_REJECT ,
+   CM_MM_RANDOM_ACCES_FAILURE ,
+   CM_MM_RR_NO_SERVICE ,
+   CM_RR_PLMN_SRCH_REJ_EMERGENCY,
+   CM_MM_RR_CONN_RELEASE,
+
+   /* other cause */
+   CM_MM_AUTH_FAILURE,
+   CM_MM_IMSI_DETACH,
+   CM_MM_ABORT_BY_NW ,
+   CM_MM_CONN_TIMEOUT,
+   /* MM internal casuse */
+   CM_MM_CM_ENQUEUE_FAIL,
+   CM_MM_NOT_UPDATED ,
+   CM_MM_STATE_NOT_ALLOWED_CM,
+   CM_MM_EMERGENCY_NOT_ALLOWED,
+   CM_MM_NO_SERVICE,
+   CM_MM_ACCESS_CLASS_BARRED,
+   CM_MM_PS_SERVICE_ERROR, /* mtk02475: mapping gmmcm_result_enum to ps_cause_enum in SMS*/
+   CM_MM_MT_CALL_INCOMING,
+/* 24.008 CR# 1791 Start */
+   CM_MM_CONGESTION_CONTROL,
+/* 24.008 CR# 1791 End*/
+#if defined(__GEMINI__)
+   CM_RR_SUSPEND_FOR_CS_SIG,      /* may be short time */
+   CM_RR_SUSPEND_FOR_CS_CALL,   /* may be long time */
+   CM_RR_SUSPEND_FOR_PS_SIG,     /* may be short time */
+   CM_RR_SUSPEND_FOR_PS_DATA,  /* may be short time or long time */
+   CM_RR_SUSPEND_UNSPECIFIED, /* race condtion, RR cannot obtain semaphore, but not yet receive suspend cause from another RR */
+   CM_RR_VIRTUAL_CONNECTED_MODE,
+   CM_RR_MSPM_SESSION_NOT_ALLOWED,
+ #endif
+   CM_MM_NO_RETRY,
+   CM_MM_EMM_TIMER_T3442_RUNNING,
+   CM_MM_EMM_SS_EPS_ONLY_CAUSE_18,
+#ifdef __TC01__
+   CM_MM_RLF_BEFORE_ECC_CONNECT, /* Cause for sending the CEER cause before ecc connected during RLF for TMO US */
+#endif /* __TC01__ */
+   CM_MM_RETRY_NEEDED, /* CM will retry on timer expiry(8.5) or CS registered */
+   CM_MM_WAIT_FOR_NETWORK_RELEASE,
+   CM_MM_CAUSE_END                       = 2048 + 256,
+/* ============================== ~MM cause ============================== */
+
+/* ============================== SIM cause ============================== */
+   SIM_CAUSE_START                                     = 2560,
+   SIM_CAUSE_CMD_SUCCESS                               =     SIM_CAUSE_START,
+   SIM_CAUSE_CMD_FAIL                                  = 1 + SIM_CAUSE_START,
+   SIM_CAUSE_FATAL_ERROR                               = 2 + SIM_CAUSE_START,
+   SIM_CAUSE_NO_INSERTED                               = 3 + SIM_CAUSE_START,
+   SIM_CAUSE_CHV_NOT_INIT                              = 4 + SIM_CAUSE_START,
+   SIM_CAUSE_CHV_VERIFY_ERROR                          = 5 + SIM_CAUSE_START, /* SIM_CHV_RETRY_ALLOW */
+   SIM_CAUSE_CHV_BLOCK                                 = 6 + SIM_CAUSE_START, /* SIM_CHV_BLOCK */
+   SIM_CAUSE_ACCESS_NOT_ALLOW                          = 7 + SIM_CAUSE_START, /* */
+   SIM_CAUSE_SAT_CMD_BUSY                              = 8 + SIM_CAUSE_START, /* */
+   SIM_CAUSE_DL_ERROR                                  = 9 + SIM_CAUSE_START, /* */
+   SIM_CAUSE_MEMORY_PROBLEM                            = 10 + SIM_CAUSE_START, /* */
+   SIM_CAUSE_TECHNICAL_PROBLEM                         = 11 + SIM_CAUSE_START, /* */
+   SIM_CAUSE_PUK_UNLOCK                                = 12 + SIM_CAUSE_START, /* add new enum value to
+                                                                               distinguish whether normal poweron or PUK-unlock-poweron */
+   SIM_CAUSE_END,
+/* ============================== ~SIM cause ============================== */
+
+/* ============================== PHB cause ============================== */
+   PHB_CAUSE_FDN_BLOCKED = 2600,
+   PHB_L4C_ERROR = 2601,  /*called number is not approved by PHB*/
+   PHB_CAUSE_SMS_DESTINATION_FDN_BLOCKED = 2602,   // for TC10 IPC_ADAPTER
+   PHB_CAUSE_SMS_SCA_FDN_BLOCKED = 2603,           // for TC10 IPC_ADAPTER
+/* ============================== ~PHB cause ============================== */
+
+    REPORT_TO_UPPER_LAYER_CAUSE_START,
+
+/* ============================== SM cause ============================== */
+// 3GPP 24.008 clause 10.5.6.6(Annex I) SM/LLC/SNDCP/PDP/GPRS cause values
+// 3072 -> SM cause values
+
+    SM_CAUSE_START                   	= 0x0C00,
+    //ESM_CAUSE_START                     = SM_CAUSE_START,
+    SM_CAUSE_EMPTY                      =   0x01 + SM_CAUSE_START, // there is no such cause in SM spec, just invent a default empty value for coding usage
+    OPERATOR_DETERMINED_BARRING         =   0x08 + SM_CAUSE_START, //__REL4__
+    LLC_SND_FAILURE                     =   0X19 + SM_CAUSE_START,
+    INSUFF_RESOURCE                     =   0X1A + SM_CAUSE_START,
+    UNKNOWN_APN                         =   0X1B + SM_CAUSE_START,
+    UNKNOWN_PDP_ADDR_OR_TYPE            =   0X1C + SM_CAUSE_START,
+    AUTHENTICATION_FAILURE              =   0X1D + SM_CAUSE_START,
+    ACTIVATION_REJ_GGSN                 =   0X1E + SM_CAUSE_START,
+    ACTIVATION_REJ_UNSPECIFIED          =   0X1F + SM_CAUSE_START,
+    UNSUPPORTED_SERVICE_OPTION          =   0X20 + SM_CAUSE_START,
+    UNSUBSCRIBED_SERVICE_OPTION         =   0X21 + SM_CAUSE_START,
+    SERVICE_OPTION_TEMPORARILY_OUT_OF_ORDER =   0X22 + SM_CAUSE_START,
+    PTI_ALREADY_USED                    =   0X23 + SM_CAUSE_START, // ESM cause
+    REGULAR_DEACTIVATION                =   0X24 + SM_CAUSE_START,
+    QOS_NOT_ACCEPTED                    =   0X25 + SM_CAUSE_START,
+    NETWORK_FAIL                        =   0X26 + SM_CAUSE_START,
+    REACTIVATION_REQD                   =   0X27 + SM_CAUSE_START,
+    UNSUPPORTED_NW_CONTEXT_ACTIVATION   =   0X28 + SM_CAUSE_START, /* Came and went from 4.08 + SM_CAUSE_START,should this be removed? */
+    SEMANTIC_ERROR_IN_TFT_OP            =   0X29 + SM_CAUSE_START,
+    SYNTACTICAL_ERROR_IN_TFT_OP         =   0X2A + SM_CAUSE_START,
+    UNKNOWN_PDP_CONTEXT                 =   0X2B + SM_CAUSE_START,
+    SEMANTIC_ERROR_IN_PACKET_FILTER     =   0X2C + SM_CAUSE_START,
+    SYNTAX_ERROR_IN_PACKET_FILTER       =   0X2D + SM_CAUSE_START,
+    PDP_CONTEXT_WO_TFT_ALREADY_ACT      =   0X2E + SM_CAUSE_START,
+    PTI_MISMATCH                        =   0X2F + SM_CAUSE_START, // ESM cause
+    ACTIVATION_REJ_BCM_VIOLATION        =   0X30 + SM_CAUSE_START, // __REL7__
+    LAST_PDN_DISC_NOT_ALLOWED           =   0X31 + SM_CAUSE_START, // ESM cause
+    PDP_TYPE_IPV4_ONLY_ALLOWED          =   0X32 + SM_CAUSE_START, // __REL8__
+    PDP_TYPE_IPV6_ONLY_ALLOWED          =   0X33 + SM_CAUSE_START, // __REL8__
+    SINGLE_ADDR_BEARERS_ONLY_ALLOWED    =   0X34 + SM_CAUSE_START, // __REL8__
+    ESM_INFORMATION_NOT_RECEIVED        =   0X35 + SM_CAUSE_START, // ESM cause
+    PDN_CONNENCTION_NOT_EXIST           =   0X36 + SM_CAUSE_START, // ESM cause
+    MULTIPLE_PDN_APN_NOT_ALLOWED        =   0X37 + SM_CAUSE_START, // ESM cause
+    COLLISION_WITH_NW_INITIATED_REQ     =   0X38 + SM_CAUSE_START, // __REL8__
+    UNSUPPORTED_QCI_VALUE               =   0X3B + SM_CAUSE_START, // ESM cause
+    MAXIMUM_NUM_OF_PDP_CONTEXTS_REACHED =   0X41 + SM_CAUSE_START, /* Cause65 */
+    REQUESTED_APN_NOT_SUPPORTED_IN_CURRENT_RAT_AND_PLMN_COMBINATION = 0X42 + SM_CAUSE_START, /* Cause66 */
+    /* The following cause values are only for sm internal usage */
+    INVALID_TI                          =   0X51 + SM_CAUSE_START,
+    SM_SEMANTICALLY_INCORRECT_MSG       =   0X5F + SM_CAUSE_START,
+    INVALID_MAND_INFO                   =   0X60 + SM_CAUSE_START,
+    SM_MSG_TYPE_NON_EXISTENT_OR_NOT_IMPLEMENTED =   0X61 + SM_CAUSE_START,
+    SM_MSG_TYPE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE =   0X62 + SM_CAUSE_START,
+    IE_NON_EXISTENCE_OR_NOT_IMPLEMENTED =   0X63 + SM_CAUSE_START,
+    CONDITIONAL_IE_ERROR                =   0X64 + SM_CAUSE_START,
+    SM_MSG_NOT_COMPATIBLE_WITH_PROTOCOL_STATE =   0X65 + SM_CAUSE_START,
+    SM_PROTOCOL_ERROR_UNSPECIFIED             =   0X6F + SM_CAUSE_START,
+    APN_RESTRICTION_VALUE_INCOMPATIBLE_WITH_ACTIVE_PDP_CTX =   0X70 + SM_CAUSE_START, /* 24.008 R6 CR 841 */
+    SM_CAUSE_END,
+/* ============================== ~SM cause ============================== */
+
+ /* ============================== ESM cause ============================== */
+ // 3GPP 24.301 ESM SPEC caue values
+
+    ESM_CAUSE_START                         = 0x0D00,
+    ESM_NO_CAUSE                            = 1   + ESM_CAUSE_START,  /* Cause not assigned                                   */
+    ESM_OPERATOR_DETERMINED_BARRING         = 8   + ESM_CAUSE_START,  /* Operator determined barring                          */
+    ESM_INSUFFICIENT_RESOURCES              = 26  + ESM_CAUSE_START,  /* Insufficient resources                               */
+    ESM_UNKNOWN_OR_MISSING_APN              = 27  + ESM_CAUSE_START,  /* Unknown or missing APN                               */
+    ESM_UNKNOWN_PDN_TYPE                    = 28  + ESM_CAUSE_START,  /* Unknown PDN type                                     */
+    ESM_USER_AUTH_FAILED                    = 29  + ESM_CAUSE_START,  /* User authentication failed                           */
+    ESM_REQUEST_REJECTED_BY_SGW_OR_PDNGW    = 30  + ESM_CAUSE_START,  /* Request rejected by Serving GW or PDN GW             */
+    ESM_REQUEST_REJECTED_UNSPECIFIED        = 31  + ESM_CAUSE_START,  /* Request rejected unspecified                         */
+    ESM_SERVICE_OPT_NOT_SUPPORTED           = 32  + ESM_CAUSE_START,  /* Service option not supported                         */
+    ESM_REQ_SERVICE_NOT_SUBSCRIBED          = 33  + ESM_CAUSE_START,  /* Requested service option not subscribed              */
+    ESM_SERVICE_TEMP_OUT_OF_ORDER           = 34  + ESM_CAUSE_START,  /* Service option temporarily out of order              */
+    ESM_PTI_ALREADY_USED                    = 35  + ESM_CAUSE_START,  /* PTI already in use                                   */
+    ESM_REGULAR_DEACTIVATION                = 36  + ESM_CAUSE_START,  /* Regular deactivation                                 */
+    ESM_EPS_QOS_NOT_ACCEPTED                = 37  + ESM_CAUSE_START,  /* EPS QoS not accepted                                 */
+    ESM_NETWORK_FAILURE                     = 38  + ESM_CAUSE_START,  /* Network failure                                      */
+    ESM_REACTIVATION_REQUESTED              = 39  + ESM_CAUSE_START,  /* Re-activation requitred                              */
+    ESM_SEMANTIC_ERROR_IN_TFT               = 41  + ESM_CAUSE_START,  /* Semantic error in the TFT operation                  */
+    ESM_SYNTACTIC_ERROR_IN_TFT              = 42  + ESM_CAUSE_START,  /* Syntactical error in the TFT operation               */
+    ESM_INVALID_EPS_BEARER_IDENTITY         = 43  + ESM_CAUSE_START,  /* Invalid EPS bearer identity                          */
+    ESM_SEMANTIC_ERROR_IN_PACKET_FILTERS    = 44  + ESM_CAUSE_START,  /* Semantic errors in packet filter(s)                  */
+    ESM_SYNTACTIC_ERROR_IN_PACKET_FILTERS   = 45  + ESM_CAUSE_START,  /* Syntactical errors in packet filter(s)               */
+    ESM_EPSB_CTXT_WITHOUT_TFT_ACTIVATED     = 46  + ESM_CAUSE_START,  /* EPS bearer context without TFT already activated     */
+    ESM_PTI_MISMATCH                        = 47  + ESM_CAUSE_START,  /* PTI mismatch                                         */
+    ESM_LAST_PDN_DISC_NOT_ALLOWED           = 49  + ESM_CAUSE_START,  /* Last PDN disconnection not allowed                   */
+    ESM_PDN_TYPE_IPV4_ONLY_ALLOWED          = 50  + ESM_CAUSE_START,  /* PDN type IPv4 only allowed                           */
+    ESM_PDN_TYPE_IPV6_ONLY_ALLOWED          = 51  + ESM_CAUSE_START,  /* PDN type IPv6 only allowed                           */
+    ESM_SINGLE_ADDRESS_ONLY_ALLOWED         = 52  + ESM_CAUSE_START,  /* Single address bearers only allowed                  */
+    ESM_ESM_INFORMATION_NOT_RECEIVED        = 53  + ESM_CAUSE_START,  /* ESM information not received                         */
+    ESM_PDN_CONNENCTION_NOT_EXIST           = 54  + ESM_CAUSE_START,  /* PDN connection does not exist                        */
+    ESM_MULTIPLE_PDN_APN_NOT_ALLOWED        = 55  + ESM_CAUSE_START,  /* Multiple PDN connections for a given APN not allowed */
+    ESM_COLLISION_WITH_NW_INIT_REQUEST      = 56  + ESM_CAUSE_START,  /* Collision with network initiated request             */
+    ESM_UNSUPPORTED_QCI_VALUE               = 59  + ESM_CAUSE_START,  /* Unsupported QCI value                                */
+    ESM_MAXIMUM_NUM_OF_EPS_BEARERS_REACHED  = 65  + ESM_CAUSE_START,  /* Maximum number of EPS bearers reached                */
+    ESM_REQUESTED_APN_NOT_SUPPORTED_IN_CURRENT_RAT_AND_PLMN_COMBINATION = 66  + ESM_CAUSE_START,  /* Requested APN not supported in current RAT and PLMN combination */
+    ESM_INVALID_PTI_VALUE                   = 81  + ESM_CAUSE_START,  /* Invalid PTI value                                    */
+    ESM_SEMANTIC_INCORRECT_MSG              = 95  + ESM_CAUSE_START,  /* Semantically incorrect message                       */
+    ESM_INVALID_MANDATORY_IE                = 96  + ESM_CAUSE_START,  /* Invalid mandatory information                        */
+    ESM_MSG_TYPE_NON_EXISTENT               = 97  + ESM_CAUSE_START,  /* Message type non-existent or not implemented         */
+    ESM_MSG_TYPE_NOT_COMPATIBLE_STATE       = 98  + ESM_CAUSE_START,  /* Message type not compatible with protocol state      */
+    ESM_IE_NON_EXISTENT_NOT_IMPLEMENTED     = 99  + ESM_CAUSE_START,  /* Information element non-existent or not implemented  */
+    ESM_CONDITIONAL_IE_ERROR                = 100 + ESM_CAUSE_START,  /* Conditional IE error                                 */
+    ESM_MSG_NOT_COMPATIBLE_STATE            = 101 + ESM_CAUSE_START,  /* Message not compatible with the protocol state       */
+    ESM_PROTOCOL_ERROR_UNSPECIFIED          = 111 + ESM_CAUSE_START,  /* Protocol error unspecified                           */
+    ESM_APN_RESTRICT_VALUE_INCOMPATIBLE     = 112 + ESM_CAUSE_START,  /* APN restriction value incompatible with active EPS bearer context */
+
+    ESM_CAUSE_END,
+ /* ============================== ~SM cause ============================== */
+
+
+ /* ============================== SM Proprietary cause ============================== */
+ //
+ // SM proprietary cause
+ //
+     SM_PROPRIETARY_CAUSE_START = 0x0E00,
+
+     /* In restrict region 0x0E00~0x0E3F, the value of this region cannot be change, AP uses this cause value to perform special handling */
+     SM_PROPRIETARY_RESTRICT_REGION_BEGIN = 0x0E00,
+
+     SM_LOCAL_REJECT_ACT_REQ_DUE_TO_REACH_RETRY_COUNTER = 0x0E0F, /* 0x0E0F = 3599 */
+
+     SM_PROPRIETARY_RESTRICT_REGION_END = 0x0E3F,
+
+
+     /* In free region 0x0E40~0x0EFF, there's no restriction, we can change the order of causes freely */
+     /* If AP needs to use one cause to do error handling, needs to move to SM_PROPRIETARY_RESTRICT_REGION and assign a value */
+     SM_PROPRIETARY_FREE_REGION_BEGIN = 0x0E40,
+
+     SM_PROPRIETARY_CAUSE_IRAT_TO_LTE_LOCAL_DEACTIVATED,
+     SM_PROPRIETARY_CAUSE_IRAT_TO_LTE_BUT_BEARER_MAP_INVALID, // bearer doesn't exit after mapping
+     SM_PROPRIETARY_CAUSE_IRAT_TO_LTE_BUT_LTE_BEARER_MAP_FAILED, // bearer mapping failure and local released
+     SM_PROPRIETARY_CAUSE_IRAT_TO_LTE_BUT_BEARER_MAP_FAILED_DUE_TO_DETACH, // bearer local released
+     SM_PROPRIETARY_CAUSE_IRAT_RETRY_NEEDED_AFTER_IRAT,
+     SM_PROPRIETARY_CAUSE_IRAT_TO_5GNR_LOCAL_DEACTIVATED,
+
+     SM_LOCAL_REJECT_ACT_REQ_DUE_TO_CURRENT_STATE_NOT_COMPATIBLE,
+     SM_LOCAL_REJECT_ACT_REQ_DUE_TO_QOS_NOT_REASONALBE,
+     SM_LOCAL_REJECT_ACT_REQ_DUE_TO_QOS_TRAFFIC_CLASS_NOT_SUPPORTED,
+     SM_LOCAL_REJECT_ACT_REQ_DUE_TO_NO_AVAILABLE_TI,
+     SM_LOCAL_REJECT_ACT_REQ_DUE_TO_PROCESS_QUEUE_FULL,
+     SM_LOCAL_REJECT_ACT_REQ_DUE_TO_GPRS_SUSPENDED,
+     SM_LOCAL_REJECT_ACT_REQ_DUE_TO_NSAPI_INVALID,
+     SM_LOCAL_REJECT_ACT_REQ_DUE_TO_GPRS_DETACH,
+     SM_LOCAL_REJECT_ACT_REQ_DUE_TO_GPRS_ATTACH_FAILURE,
+     SM_LOCAL_REJECT_ACT_REQ_DUE_TO_GEMINI_SM_CONTEXT_MEMORY_OCCUPIED,
+
+     SM_LOCAL_REJECT_SEC_ACT_REQ_DUE_TO_CURRENT_STATE_NOT_COMPATIBLE,
+     SM_LOCAL_REJECT_SEC_ACT_REQ_DUE_TO_NO_AVAILABLE_TI,
+     SM_LOCAL_REJECT_SEC_ACT_REQ_DUE_TO_LINKED_NSAPI_INVALID,
+     SM_LOCAL_REJECT_SEC_ACT_REQ_DUE_TO_PROCESS_QUEUE_FULL,
+     SM_LOCAL_REJECT_SEC_ACT_REQ_DUE_TO_NOT_SUPPORT_SECONDARY_PDP,
+     SM_LOCAL_REJECT_SEC_ACT_REQ_DUE_TO_GPRS_SUSPENDED,
+     SM_LOCAL_REJECT_SEC_ACT_REQ_DUE_TO_GPRS_DETACH,
+     SM_LOCAL_REJECT_SEC_ACT_REQ_DUE_TO_COMPOSE_TFT_ERROR,
+     SM_LOCAL_REJECT_SEC_ACT_REQ_DUE_TO_NO_NW_INIT_SEC_ACT_REQ_PROCEDURE,
+     SM_LOCAL_REJECT_SEC_ACT_REQ_DUE_TO_TOKEN_ID_NOT_ACCEPTED,
+     SM_LOCAL_REJECT_SEC_ACT_REQ_DUE_TO_LOCAL_PARA_NOT_SYNC_WITH_NW_SM_AIR_MSG,
+     SM_LOCAL_REJECT_SEC_ACT_REQ_DUE_TO_TFT_ENCODE_ERROR,
+
+     SM_LOCAL_REJECT_MOD_REQ_DUE_TO_PROCESS_QUEUE_FULL,
+     SM_LOCAL_REJECT_MOD_REQ_DUE_TO_GPRS_SUSPENDED,
+     SM_LOCAL_REJECT_MOD_REQ_DUE_TO_GPRS_DETACH,
+     SM_LOCAL_REJECT_MOD_REQ_DUE_TO_CURRENT_STATE_NOT_COMPATIBLE,
+     SM_LOCAL_REJECT_MOD_REQ_DUE_TO_GEMINI_SM_CONTEXT_MEMORY_OCCUPIED,
+     SM_LOCAL_REJECT_MOD_REQ_DUE_TO_FIRST_PDP_NOT_SUPPORT_QOS_MODIFY_FROM_UE,
+     SM_LOCAL_REJECT_MOD_REQ_DUE_TO_MODIFY_COLLISION_WITH_NW,
+     SM_LOCAL_REJECT_MOD_REQ_DUE_TO_REACH_RETRY_COUNTER,
+     SM_LOCAL_REJECT_MOD_REQ_DUE_TO_TFT_ENCODE_ERROR,
+     SM_LOCAL_REJECT_MOD_REQ_DUE_TO_NOTHING_NEED_TO_MODIFY,
+
+     SM_LOCAL_REJECT_DEACT_REQ_DUE_TO_GEMINI_SM_CONTEXT_MEMORY_OCCUPIED,
+     SM_LOCAL_REJECT_DEACT_REQ_DUE_TO_GPRS_DETACH,
+
+     SM_LOCAL_DEACTIVATION_DUE_TO_MT_SEC_PDP_COLLISION,
+     SM_LOCAL_DEACTIVATION_DUE_TO_REACH_RETRY_COUNTER,
+     SM_LOCAL_DEACTIVATION_DUE_TO_TEAR_DOWN,
+     SM_LOCAL_DEACTIVATION_DUE_TO_RCV_STATUS_MSG_IN_INACT_PEER_PENDING_STATE,
+     SM_LOCAL_DEACTIVATION_DUE_TO_GPRS_SUSPENDED,
+     SM_LOCAL_DEACTIVATION_DUE_TO_MT_PDP_COLLISION,
+     SM_LOCAL_DEACTIVATION_DUE_TO_SYNC_BY_NSAPI_STATUS_IND,
+
+     SM_LOCAL_REJECT_DUE_TO_CURRENT_RAT_IS_UNKNOWN,
+     SM_LOCAL_REJECT_DUE_TO_PS_SWITCH,
+     SM_LOCAL_REJECT_DUE_TO_LLC_SND_FAILURE,
+     SM_LOCAL_REJECT_DUE_TO_INSUFF_RESOURCE,
+     SM_LOCAL_REJECT_DUE_TO_QOS_NOT_ACCEPTED,
+     SM_LOCAL_REJECT_DUE_TO_RAB_DEACTIVATE_IND,
+     SM_LOCAL_REJECT_DUE_TO_PS_SIG_CONN_EST_FAILURE,
+
+     SM_PROPRIETARY_CAUSE_SILENT_DEACTIVATION_IN_ESM_TRANSFERRED_EPSB_CONTEXT,
+     SM_PROPRIETARY_CAUSE_GPRS_DETACH,
+     SM_PROPRIETARY_DEACT_IN_WRONG_STATE,
+
+     SM_PROPRIETARY_CAUSE_NULL,
+     SM_PROPRIETARY_CAUSE_GEMINI_SUSPEND_DUE_TO_CALL_ONGOING,
+     SM_PROPRIETARY_FREE_REGION_END = 0x0EFF,
+
+     SM_PROPRIETARY_CAUSE_END = 0x0EFF,
+
+ /* ============================== ~SM Proprietary  cause ============================== */
+
+/* ============================== ABM cause ============================== */
+//
+// ABM error causes, Kevin Chien
+//
+//    ABM_CAUSE_START = 0x0E00,
+//    ABM_E_SUCCESS,
+//    ABM_E_INVALID_NW_ACC_ID,
+//    ABM_E_GPRS_REACTIVATE,
+//    ABM_E_GPRS_PROTOCOL_REJECTION,
+//    ABM_E_CSD_REACTIVATE,
+//    ABM_E_CSD_PPP_NEGOTIATED_FAILED,
+//    ABM_E_CSD_ACT_FAILED,
+//    ABM_E_CSD_CALL_SETUP_FAILED,
+//    ABM_E_WIFI_REACTIVATE,
+//    ABM_E_WIFI_NOTREADY,
+//    ABM_E_REJECTED,
+//    ABM_E_SLOT_LIMITED,
+//    ABM_E_ABORT,
+//    ABM_E_NON_AUTO_DEACT,
+//    ABM_E_BEARER_IS_HOLD, /* 3287 */
+/* ============================== ~ABM cause ============================== */
+
+/* ============================== TCM cause ============================== */
+    TCM_CAUSE_START             = 0x0F00,
+
+    /* CANNOT CHANGE THE CAUSE VALUE, AP WOULD USE IT TO DO ERROR HANDLING */
+    #if __GROUP_TCM_L4C_CAUSE_CANNOT_BE_CHANGED__ || 1
+    TCM_L4C_CHECKED_ACT_WITH_CID_UNEXPECTED = 0x0F01,
+    TCM_L4C_CHECKED_ACT_WITH_CID_NOT_DEFINED = 0x0F02,
+    TCM_L4C_CHECKED_ACT_WITH_FSM_UNEXPECTED = 0x0F03,
+    TCM_L4C_CHECKED_ACT_WITH_CID_SECONDARY_WITHOUT_TFT = 0x0F04,
+    TCM_L4C_CHECKED_ACT_WITH_PRIMARY_IS_NOT_ACTIVATED = 0x0F05,
+
+    TCM_L4C_CHECKED_DEACT_WITH_CID_UNEXPECTED = 0x0F06,
+    TCM_L4C_CHECKED_DEACT_WITH_FSM_UNEXPECTED = 0x0F07,
+    TCM_L4C_CHECKED_DEACT_WITH_ACTIVATED_FROM_UNEXPECTED  = 0x0F08,
+
+    TCM_L4C_CHECKED_MODIFY_WITH_CID_UNEXPECTED = 0x0F09,
+    TCM_L4C_CHECKED_MODIFY_WITH_FSM_UNEXPECTED  = 0x0F0A,
+    TCM_L4C_CHECKED_MODIFY_WITH_NO_QOS_OR_TFT_SET = 0x0F0B,
+
+    TCM_L4C_CHECKED_CGDATA_WITH_CID_UNEXPECTED = 0x0F0C,
+    TCM_L4C_CHECKED_CGDATA_WITH_FSM_UNEXPECTED = 0x0F0D,
+
+    TCM_L4C_DCONT_CID_UNEXPECTED = 0x0F0E,
+    TCM_L4C_DCONT_NOT_ALLOW_FOR_PPP_TYPE = 0x0F0F,
+    TCM_L4C_DCONT_INVALID_PARAMETER = 0x0F10,
+    TCM_L4C_DCONT_INVALID_PDP_TYPE = 0x0F11,
+    TCM_L4C_DCONT_CID_ALREADY_IN_USE = 0x0F12,
+    TCM_L4C_DCONT_INVALID_APN = 0x0F13,
+
+    TCM_L4C_DSCONT_CID_UNEXPECTED = 0x0F14,
+    TCM_L4C_DSCONT_INVALID_PARAMETER = 0x0F15,
+    TCM_L4C_DSCONT_CID_PRIMARY_IS_NOT_IN_USE = 0x0F16,
+    TCM_L4C_DSCONT_CID_PRIMARY_IS_NOT_ACTIVATED = 0x0F17,
+    TCM_L4C_DSCONT_NOT_ALLOW_FOR_PPP_TYPE = 0x0F18,
+    TCM_L4C_DSCONT_CID_ALREADY_IN_USE = 0x0F19,
+
+    TCM_L4C_PRCO_CID_ALREADY_IN_USE = 0x0F1A,
+    TCM_L4C_PRCO_CID_UNEXPECTED = 0x0F1B,
+
+    TCM_L4C_ACT_NOT_SUPPORT_EMERGENCY_BEARER_ACTIVATION = 0x0F1C,
+    TCM_L4C_ACT_ALLOC_NSAPI_FAIL = 0x0F1D,
+
+    TCM_L4C_DEACT_IND_BY_TIMER_EXPIRY = 0x0F1E,
+    TCM_L4C_DEACT_IND_BY_NO_USER_RESPONSE_TILL_RAT_CHANGE_COMPLETE_IND = 0x0F1F,
+
+    TCM_L4C_MOD_PRESERVED_PDP_CONTEXT = 0x0F20,
+    TCM_L4C_MOD_CHECK_TFT_FAIL = 0x0F21,
+    TCM_L4C_MOD_REJ_DUE_TO_DEACT_IND = 0x0F22,
+
+    TCM_L4C_SET_MULTI_PDN_SUCCESS = 0x0F23,
+    TCM_L4C_SET_MULTI_PDN_CID_UNEXPECTED = 0x0F24,
+    TCM_L4C_SET_MULTI_PDN_PARA_UNEXPECTED = 0x0F25,
+    TCM_L4C_SET_MULTI_PDN_INVALID_PDP_TYPE_AND_LEN = 0x0F26,
+    TCM_L4C_SET_MULTI_PDN_INVALID_APN = 0x0F27,
+
+    TCM_PPP_CHECKED_ACT_WITH_CID_UNEXPECTED = 0x0F28,
+    TCM_PPP_CHECKED_ACT_WITH_PDP_TYPE_LEN_UNEXPECTED = 0x0F29,
+    TCM_PPP_CHECKED_ACT_WITH_INVALID_CONFIG_PROTOCOL = 0x0F2A,
+    TCM_PPP_CHECKED_ACT_WITH_CID_NOT_DEFINED = 0x0F2B,
+    TCM_PPP_CHECKED_ACT_WITH_FSM_UNEXPECTED = 0x0F2C,
+
+    TCM_PPP_CHECKED_DEACT_WITH_CID_UNEXPECTED = 0x0F2D,
+    TCM_PPP_CHECKED_DEACT_WITH_FSM_UNEXPECTED = 0x0F2E,
+    TCM_PPP_CHECKED_DEACT_WITH_ACTIVATED_FROM_UNEXPECTED = 0x0F2F,
+
+    TCM_PPP_CHECKED_CGDATA_WITH_CID_UNEXPECTED = 0x0F30,
+    TCM_PPP_CHECKED_CGDATA_WITH_FSM_UNEXPECTED = 0x0F31,
+
+    TCM_DISPATCH_PDP_ACT_CHECK_TFT_FAIL = 0x0F32,
+
+    TCM_UPCM_BIND_CNF_BEARER_HAS_BEEN_DEACTIVATED_ALREADY = 0x0F33,
+    TCM_UPCM_UNBIND_CNF_BEARER_HAS_BEEN_DEACTIVATED_ALREADY = 0x0F34,
+
+    TCM_ACL_APN_NOT_EXIST_IN_ACL = 0x0F35,
+    TCM_ACL_ACTION_NOT_ALLOWED = 0x0F36,
+    TCM_ACL_SIM_FILE_FULL = 0x0F37,
+    TCM_ACL_ADD_ENTRY_FAILED = 0x0F38,
+    TCM_ACL_DEL_ENTRY_FAILED = 0x0F39,
+    TCM_ACL_SET_ENTRY_FAILED = 0x0F3A,
+    TCM_ACL_SIM_READ_FAILED = 0x0F3B,
+    TCM_ACL_SIM_WRITE_FAILED = 0x0F3C,
+
+    // ESM proprietary failure cause
+    TCM_ESM_CAUSE_START = 0x0F3D,
+    TCM_ESM_FAIL_CAUSE_EMPTY = 0x0F3E,
+    TCM_ESM_USER_CANCEL = 0x0F3F,
+    TCM_ESM_CID_ALREADY_CONNECT = 0x0F40,
+    TCM_ESM_PDN_NOT_ACTIVATED = 0x0F41,
+    TCM_ESM_BEARER_NOT_ACTIVATED = 0x0F42,
+    TCM_ESM_RMV_LAST_PDN_NOT_ALLOWED = 0x0F43,
+    TCM_ESM_LOCAL_RELEASE = 0x0F44,
+    TCM_ESM_DETACH = 0x0F45,
+    TCM_ESM_IE_ERROR = 0x0F46,
+    TCM_ESM_TIMER_TIMEOUT = 0x0F47,
+    TCM_ESM_TX_FAILURE = 0x0F48,
+    TCM_ESM_FAIL_CAUSE_RAT_CHANGE = 0x0F49,
+    TCM_ESM_FAIL_CAUSE_PS_SWITCH = 0x0F4A,
+    TCM_ESM_ACTION_NOT_ALLOWED = 0x0F4B,
+    TCM_ESM_FAIL_CAUSE_T3346_CONGESTION = 0x0F4C,
+    TCM_ESM_FAIL_CAUSE_THROTTLING_RUNNING = 0x0F4D,
+    TCM_ESM_FAIL_CAUSE_SERIOUS_ERROR_AT_LOW_LAYER = 0x0F4E,
+    TCM_ESM_FAIL_CAUSE_OTHERS = 0x0F4F,
+    TCM_ESM_CAUSE_END = 0x0F50,
+
+    /* Inter-RAT related */
+    RAT_TCM_RETRY_NEEDED_AFTER_IRAT_IF_IN_3GPP = 0x0F51,
+    RAT_TCM_LOCAL_REJECTED_DUE_TO_PS_SWITCH = 0x0F52,
+	AP_RETRY_NEEDED_AFTER_LTE_TO_C2K_IRAT = 0x0F53,
+
+    /* RAT_TCM related */
+    RAT_TCM_DEACT_SUCCESS_DUE_TO_CONTEXT_NEVER_ACTIVATED = 0x0F54,
+    RAT_TCM_MODIFY_FAIL_DUE_TO_CONTEXT_DEACTIVATED = 0x0F55,
+    RAT_TCM_MODIFY_FAIL_DUE_TO_CONTEXT_NOT_ACTIVATED = 0x0F56,
+    RAT_TCM_DEACTIVATED_DUE_TO_NAS_TFT_TRIGGERED_DEACTIVATION = 0x0F57,
+    RAT_TCM_23G_MT_PRIMARY_PDP_IS_ABORTED_DUE_TO_CHANGE_TO_4G = 0x0F58,
+    RAT_TCM_DEACTIVATE_SUCCESS_IMMEDIATELY_BECAUSE_ACTIVATION_IS_NOT_PROCESSED_BY_TCM_YET = 0x0F59,
+    RAT_TCM_EGACT_ACTIVATE_REJ_DUE_TO_ERROR_RAT = 0x0F5A,
+    RAT_TCM_EGACT_DEACTIVATE_REJ_DUE_TO_ERROR_RAT = 0x0F5B,
+    RAT_TCM_DEACTIVATED_DUE_TO_INACTIVITY_TIMER_TIMEOUT = 0x0F5C,
+
+	/* TCM internal error cause */
+	TCM_ETCM_CID_NOT_DEFINE_TFT_QOS = 0x0F5D,
+	TCM_ETCM_CID_IS_NOT_PRIMARY = 0x0F5E,
+	TCM_ETCM_TFT_VALIDATION_ERROR = 0x0F5F,
+	TCM_ETCM_PTI_IS_FULL = 0x0F60,
+
+    /* TCM Proprietary AT command related */
+    TCM_L4C_CHECKED_EGLD_WITH_CID_UNEXPECTED = 0x0F61,
+    TCM_L4C_CHECKED_EGLD_WITH_FSM_UNEXPECTED = 0x0F62,
+    TCM_L4C_CHECKED_EAPNSYNC_WRONG_APN_IDX = 0x0F63,
+    TCM_L4C_CHECKED_EAPNSYNC_APN_TOO_LONG = 0x0F64,
+    TCM_L4C_CHECKED_EAPNSYNC_TOO_MUCH_APN_SETTING = 0x0F65,
+
+    /* NRSPCA Phase 1/2 related */
+    TCM_L4C_MOD_PRIMARY_QOS_IS_NOT_ALLOWED = 0x0F66,
+    TCM_L4C_MOD_QOS_FOR_NO_MS_PF_IS_NOT_ALLOWED = 0x0F67,
+
+    /* CANNOT CHANGE THE CAUSE VALUE, AP WOULD USE IT TO DO ERROR HANDLING */
+    #endif // __GROUP_TCM_L4C_CAUSE_CANNOT_BE_CHANGED__
+
+    /* CAN ADD NEW TCM CAUSE HERE <---------------- */
+    /* RAT_TCM related */
+	RAT_TCM_ACT_FAIL_DUE_TO_IRAT_ONGOING = 0x0F6B,
+    RAT_TCM_MODIFY_FAIL_DUE_TO_IRAT_ONGOING = 0x0F6C,
+    RAT_TCM_DEACT_FAIL_DUE_TO_IRAT_ONGOING = 0x0F6D,
+    RAT_TCM_LOCAL_REJECTED_DUE_TO_FSM_UNEXPECTED = 0x0F6E,
+    RAT_TCM_LOCAL_REJECTED_DUE_TO_GUARANTEE_RSPONSE_TIME_TIMEOUT = 0x0F6F,
+
+    /* PLEASE ADD TO NEXT REGION IF NEW CAUSE NUMBER >= 0x0F70*/
+    #if __GROUP_TCM_L4C_REGION_2_AND_ESM_CAUSE_START__ || 1
+    TCM_REGION_2_CAUSE_START = 0x0F70,
+
+    TCM_L4C_CHECKED_CID_INVALID = 0x0F71,
+    TCM_L4C_CHECKED_CID_ALREADY_IN_ACTION = 0x0F72,
+    TCM_L4C_CHECKED_ACT_WITH_UNEXPECTED_LTE_ATTACH_PDN_IN_23G = 0x0F73,
+
+    TCM_UGTCM_DEACT_DUE_TO_USER_FORCE_TO_LOCAL_RELEASE = 0x0F74,
+    TCM_L4C_ACT_NOT_SUPPORT_HANDOVER_OF_EMERGENCY_BEARER = 0x0F75,
+
+    TCM_UGTCM_DEACT_DUE_TO_AOSP_SHUTDOWN = 0x0F76,
+    TCM_UGTCM_DEACT_DUE_TO_AOSP_HANDOVER = 0x0F77,
+    //TCM_UGTCM_DEACT_DUE_TO_APN_CHANGED = 0x0F78, // merged cause conflicts with existed cause. move it to 0x0F7B.
+
+    TCM_ESM_FAIL_CAUSE_GEMINI_SUSPEND = 0x0F78, // gemini SUSPEND due to CS semaphore occupied by another protocal stack, wait for resume
+    TCM_ESM_FAIL_CAUSE_GEMINI_FAILURE = 0x0F79, // gemini failure due to HPS(or higher) semaphore occupied by another protocal stack
+    TCM_ESM_FAIL_CAUSE_GEMINI_SUSPEND_DUE_TO_CALL_ONGOING = 0x0F7A,
+
+    TCM_UGTCM_DEACT_DUE_TO_APN_CHANGED = 0x0F7B,
+    TCM_ESM_DETACH_REATTACH = 0x0F7C,
+    TCM_VGTCM_DEACT_DUE_TO_AOSP_SHUTDOWN = 0x0F7D,
+	TCM_ESM_FAIL_CAUSE_REQ_RES_APN_MISMATCH = 0x0F7E,
+    TCM_UGTCM_DEACT_DUE_TO_IMS_HANDOVER = 0x0F7F,
+    /* CAN ADD NEW CAUSE HERE <---------------- */
+
+	/* PLEASE ADD TO NEXT REGION IF NEW CAUSE NUMBER >= 0x0F8E*/
+	TCM_ESM_DEACT_DUE_TO_DRB_RELEASE = 0x0F8E,  // put here due to specail cause for AP query.
+	/* CAN ADD NEW CAUSE HERE <---------------- */
+
+    /* PLEASE ADD TO NEXT REGION IF NEW CAUSE NUMBER >= 0x0F8F*/
+    TCM_REGION_2_CAUSE_END = 0x0F8F,
+    #endif // __GROUP_TCM_L4C_REGION_2_AND_ESM_CAUSE_START__
+
+    #if __GROUP_TCM_L4C_REGION_3_CAUSE_START__ || 1
+    TCM_REGION_3_CAUSE_START = 0x0F90,
+    TCM_L4C_DCONT_PSI_UNEXPECTED = 0x0F91,
+    TCM_L4C_CHECKED_ACT_WITH_UNEXPECTED_LTE_ATTACH_PDN_IN_5G = 0x0F92,
+    TCM_L4C_CHECKED_ACT_WITH_CID_SECONDARY_NOT_SUPPORT_IN_5G = 0x0F93,
+
+    TCM_VGTCM_DEACT_DUE_TO_USER_FORCE_TO_LOCAL_RELEASE = 0x0F94,
+
+    TCM_L4C_EGPCO_CID_UNEXPECTED = 0x0F95,
+    TCM_L4C_EGPCO_PSI_UNEXPECTED = 0x0F96,
+
+    TCM_L4C_EGDCONT_CID_UNEXPECTED = 0x0F97,
+    TCM_L4C_EGDCONT_PSI_UNEXPECTED = 0x0F98,
+    TCM_L4C_EGDCONT_INVALID_PDP_TYPE = 0x0F99,
+
+    RAT_TCM_HANDOVER_REESTABLISHMENT_NEEDED = 0x0F9A,
+    RAT_TCM_HANDOVER_REESTABLISHMENT_FAIL_DUE_TO_NO_WITHOUT_N26_INFO = 0x0F9B,
+
+    TCM_VGTCM_DEACT_DUE_TO_INTERRAT = 0x0F9C,
+
+    /* CAN ADD NEW CAUSE HERE <---------------- */
+
+    /* PLEASE ADD TO NEXT REGION IF NEW CAUSE NUMBER >= 0x0FAF*/
+    TCM_REGION_3_CAUSE_END = 0x0FAF,
+    #endif // __GROUP_TCM_L4C_REGION_3_CAUSE_START__
+
+    #if __GROUP_TCM_L4C_REGION_4_CAUSE_START__ || 1
+    TCM_REGION_4_CAUSE_START = 0x0FB0,
+    /* CAN ADD NEW CAUSE HERE <---------------- */
+    TCM_L4C_PSI_NOT_DEFINED = 0x0FB1,
+    TCM_L4C_VGTCM_PROCEDURE_ONGOING_ON_CORRESPONDING_CID = 0x0FB2,
+    TCM_L4C_CHANGE_PSI_FOR_ACTIVE_CID_NOT_ALLOWED = 0x0FB3,
+    TCM_L4C_CGAUTH_CID_UNEXPECTED = 0x0FB4,
+    TCM_L4C_CGAUTH_PSI_UNEXPECTED = 0x0FB5,
+    TCM_L4C_VGTCM_UNEXPECTED_FIC_TYPE = 0x0FB6,
+    TCM_L4C_PEER_TO_PEER_MODIFY_WITHOUT_P_CSCF = 0x0FB7,
+    TCM_L4C_PEER_TO_PEER_MODIFY_WITH_P_CSCF = 0x0FB8,
+    TCM_L4C_MODIFY_DUE_TO_INTERRAT = 0x0FB9,
+	TCM_L4C_CHECKED_ACT_WITH_PDP_TYPE_NOT_SET = 0x0FBA,
+    /* PLEASE ADD TO NEXT REGION IF NEW CAUSE NUMBER >= 0x0FCF*/
+    TCM_REGION_4_CAUSE_END = 0x0FCF,
+    #endif // __GROUP_TCM_L4C_REGION_4_CAUSE_START__
+
+    #if __GROUP_TCM_L4C_REGION_5_CAUSE_START__ || 1
+    TCM_REGION_5_CAUSE_START = 0x0FD0,
+    /* CAN ADD NEW CAUSE HERE <---------------- */
+    TCM_ESM_REGION_2_CAUSE_START = TCM_REGION_5_CAUSE_START,
+    TCM_ESM_4G5_EPS_BEARER_MAPPED_FAILED = 0x0FD1,
+    TCM_ESM_ATTACH_FAILURE = 0x0FD2,//ATTACH FAILURE DUE TO T3410 EXPIRY (IN DOCOMO)
+    TCM_ESM_REGION_2_CAUSE_END = 0x0FE0,
+
+    /* PLEASE CREATE NEW REGION IF NEW CAUSE NUMBER >= 0x0FFF*/
+    TCM_REGION_5_CAUSE_END = 0x0FFF,
+    #endif // __GROUP_TCM_L4C_REGION_5_CAUSE_START__
+
+    TCM_CAUSE_END,
+/* ============================== ~TCM cause ============================== */
+
+/* ============================== L4C cause ============================== */
+    L4C_CAUSE_START = 0x1000,
+
+    L4C_TYPE_1_OLD_CAUSE_START = L4C_CAUSE_START,
+    L4C_CMD_CONFLICT = 0x1000,
+    L4C_CMD_CONFLICT_CHANNEL_BUSY = 0x1001,
+    L4C_LOCAL_DISCONNECT_CSD = 0x1002, //MAUI_01801045
+
+    L4C_OPTION_CONFLICT = 0x1003,
+    L4C_AT_CMD_INVALID_PARAMETER_OR_MISSING = 0x1004,
+    L4C_AT_CMD_PARAMETER_OUT_OF_RANGE = 0x1005,
+    L4C_AT_CMD_INVALID_PARAMETER = 0x1006,
+    L4C_AT_CMD_CID_UNEXPECTED = 0x1007,
+    L4C_CONTEXT_CONFLICT_PPP_DEACTIVATING = 0x1008,
+    L4C_CONTEXT_CONFLICT_ACT_ALREADY_ACTIVATED = 0x1009,
+    L4C_CONTEXT_CONFLICT_DEACT_ALREADY_DEACTIVATED = 0x100A,
+    L4C_CONTEXT_CONFLICT_V4V6FB_NOT_COMPLETED = 0x100B,
+    L4C_CONTEXT_CONFLICT_ACT_ABORTED_BY_ANOTHER_DEACT = 0x100C,
+    L4C_CONTEXT_CONFLICT_CID0_NOT_ACTIVATED_BY_ATTACH = 0x100D,
+    L4C_AT_CMD_CONFIGURATION_ONGOING = 0x100E,
+    L4C_CONTEXT_CONFLICT_DUAL_PS_ATTACH = 0x100F,
+    L4C_CONTEXT_CONFLICT_DUAL_ALWAYS_TYPE = 0x1010,
+    L4C_AT_CMD_RAC_NOTIFY_CGACT_ERROR = 0x1011,
+    L4C_INIT_ATTACH_INVALID_APN = 0x1012,
+    L4C_AT_CMD_IN_WRONG_STATE = 0x1013,
+    L4C_OMADM_CHECKING_FAIL = 0x1014,
+    L4C_CONTEXT_CONFLICT_DUAL_DATA_TYPE = 0x1015,
+    L4C_AT_CMD_RAC_NOTIFY_EGTYPE_ERROR,
+    L4C_AT_CMD_ERAT_NOTIFY_CALL_EXIST = 0x1017,
+    L4C_AT_CMD_CGACT_COPS_CONFLICT = 0x1018,
+    /* CAN ADD NEW CAUSE HERE <---------------- */
+
+    /* PLEASE ADD TO NEXT REGION IF NEW CAUSE NUMBER >= 0x101f*/
+    L4C_TYPE_1_OLD_CAUSE_END = 0x101f,
+
+
+
+    L4C_TYPE_2_CAUSE_START = 0x1020,
+    /* CAN ADD NEW CAUSE HERE <---------------- */
+    L4C_CGEV_IND_CAUSE_NO_CAUSE = 0x1021,
+
+    /* PLEASE ADD TO NEXT REGION IF NEW CAUSE NUMBER >= 0x103f*/
+    L4C_TYPE_2_CAUSE_END = 0x103f,
+    L4C_TYPE_3_CAUSE_START = 0x1040,
+    /* CAN ADD NEW CAUSE HERE <---------------- */
+
+    /* PLEASE ADD TO NEXT REGION IF NEW CAUSE NUMBER >= 0x105f*/
+    L4C_TYPE_3_CAUSE_END = 0x105f,
+    L4C_TYPE_4_CAUSE_START = 0x1060,
+    /* CAN ADD NEW CAUSE HERE <---------------- */
+
+    /* PLEASE ADD TO NEXT REGION IF NEW CAUSE NUMBER >= 0x107f*/
+    L4C_TYPE_4_CAUSE_END = 0x107f,
+
+    L4C_TYPE_5_C2K_CAUSE_START = 0x1080,
+    /* CAN ADD NEW CAUSE HERE <---------------- */
+    L4C_CMD_CONFLICT_C2K_IRAT_ONGOING = 0x1080, /* +CMD ERROR : 4224 */
+    L4C_CMD_CONFLICT_C2K_AP_DEACT_RETRY_NEEDED = 0x1081, /* +CMD ERROR : 4225 */
+
+    /* PLEASE ADD TO NEXT REGION IF NEW CAUSE NUMBER >= 0x109f*/
+    L4C_TYPE_5_C2K_CAUSE_END = 0x109f,
+
+    L4C_TYPE_6_CAUSE_START = 0x10a0,
+    /* CAN ADD NEW CAUSE HERE <---------------- */
+
+    /* PLEASE ADD TO NEXT REGION IF NEW CAUSE NUMBER >= 0x10bf*/
+    L4C_TYPE_6_CAUSE_END = 0x10bf,
+    L4C_TYPE_7_CAUSE_START = 0x10c0,
+    /* CAN ADD NEW CAUSE HERE <---------------- */
+
+    /* PLEASE ADD TO NEXT REGION IF NEW CAUSE NUMBER >= 0x10df*/
+    L4C_TYPE_7_CAUSE_END = 0x10df,
+    L4C_TYPE_8_CAUSE_START = 0x10e0,
+    /* CAN ADD NEW CAUSE HERE <---------------- */
+
+    /* PLEASE CREATE NEW REGION IF NEW CAUSE NUMBER >= 0x10ff*/
+    L4C_TYPE_8_CAUSE_END = 0x10ff,
+    L4C_CAUSE_END = L4C_TYPE_8_CAUSE_END,
+/* ============================== ~L4C cause ============================== */
+
+/* ============================== HIF cause ============================== */
+    HIF_CAUSE_START = 0x1100,
+
+    /* IPCore related */
+    HIF_IPC_OK = HIF_CAUSE_START,
+
+    /* MSG_ID_IPCORE_UPCM_PDN_BIND_RSP */
+    HIF_IPC_PDN_BIND_RSP_UNSUPPORTED_IP_ADDR_TYPE,  /* Unknown IP address type */
+    HIF_IPC_PDN_BIND_RSP_NULL_PARAM,                /* No parameter is passed to IPCore */
+    HIF_IPC_PDN_BIND_RSP_INVALID_NETIF,             /* Network interface is not found */
+    HIF_IPC_PDN_BIND_RSP_NEW_SESSION_FAIL,          /* New session creation is failed */
+    HIF_IPC_PDN_BIND_RSP_SESSION_RLOCK_FAIL,        /* Session read lock is failed */
+    HIF_IPC_PDN_BIND_RSP_EPSB_FAIL,                 /* EPS Bearer is not default EPSB */
+
+    UPCM_PDN_UNBIND_RSP_EPSB_NONACT  , /* EPS Bearer is not active*/
+    UPCM_PDN_UNBIND_RSP_EPSB_NONPDN  , /* EPS Bearer is not default EPSB */
+    UPCM_PDN_UNBIND_RSP_EPSB_NONBIND , /* EPS Bearer is not binding yet, It implys the EPSB is default EPSB */
+    UPCM_PDN_BIND_REQ_ERROR_ACTIVATED_BEARER_IS_NOT_FOUND,
+
+    N3EPC_DISPATCHER_BIND_ERROR_AS_BEARER_NOT_ACTIVATED_BEFORE = 0x1150,
+    N3EPC_DISPATCHER_BIND_ERROR_AS_PDN_ALREADY_BIND,                           /*dispatcher state is bind, again a bind req*/
+    N3EPC_DISPATCHER_BIND_ERROR_AS_PREV_BIND_IN_PROGRESS,                      /*Previous bind req in progress with ipcore*/
+    N3EPC_DISPATCHER_BINDING_GOING_TO_UNBIND_ERROR_AS_PREV_BIND_IN_PROGRESS,   /*Previous bind req in progress with ipcore*/
+    N3EPC_DISPATCHER_UNBIND_ERROR_AS_DUPLICATE_UNBIND_REQ,                     /*alreay unbind or going to unbind, again unbind req*/
+    HIF_CAUSE_END,
+    /* ============================== ~HIF cause ============================== */
+
+/* ============================== PAM cause ============================== */
+    PAM_CAUSE_START = 0x01200,
+
+    PAM_PDN_ACCESS_GRANTED,
+
+    PAM_PDN_ACCESS_REJECT_DUE_TO_CAUSE_08 = 8 + PAM_CAUSE_START,    /* Operator determined barring */
+    PAM_PDN_ACCESS_REJECT_DUE_TO_CAUSE_26 = 26 + PAM_CAUSE_START,   /* Insufficient resource */
+    PAM_PDN_ACCESS_REJECT_DUE_TO_CAUSE_27 = 27 + PAM_CAUSE_START,   /* Missing or unknown apn */
+    PAM_PDN_ACCESS_REJECT_DUE_TO_CAUSE_28 = 28 + PAM_CAUSE_START,   /* Unknow PDN type */
+    PAM_PDN_ACCESS_REJECT_DUE_TO_CAUSE_29 = 29 + PAM_CAUSE_START,   /* User authentication failed */
+    PAM_PDN_ACCESS_REJECT_DUE_TO_CAUSE_30 = 30 + PAM_CAUSE_START,   /* Activation rejected by S-GW or PDN-GW */
+    PAM_PDN_ACCESS_REJECT_DUE_TO_CAUSE_31 = 31 + PAM_CAUSE_START,   /* Activation rejected, unspecified */
+    PAM_PDN_ACCESS_REJECT_DUE_TO_CAUSE_32 = 32 + PAM_CAUSE_START,   /* Service option not supported */
+    PAM_PDN_ACCESS_REJECT_DUE_TO_CAUSE_33 = 33 + PAM_CAUSE_START,   /* Requested service option not subscribed */
+    PAM_PDN_ACCESS_REJECT_DUE_TO_CAUSE_34 = 34 + PAM_CAUSE_START,   /* Service option temporarily out of order */
+    PAM_PDN_ACCESS_REJECT_DUE_TO_CAUSE_35 = 35 + PAM_CAUSE_START,   /* PTI already in use */
+    PAM_PDN_ACCESS_REJECT_DUE_TO_CAUSE_36 = 36 + PAM_CAUSE_START,   /* Regular deactivation */
+    PAM_PDN_ACCESS_REJECT_DUE_TO_CAUSE_37 = 37 + PAM_CAUSE_START,   /* QoS not accepted */
+    PAM_PDN_ACCESS_REJECT_DUE_TO_CAUSE_38 = 38 + PAM_CAUSE_START,   /* Network failure */
+    PAM_PDN_ACCESS_REJECT_DUE_TO_CAUSE_39 = 39 + PAM_CAUSE_START,   /* Reactivation requested */
+
+    PAM_PDN_ACCESS_REJECT_DUE_TO_CAUSE_41 = 41 + PAM_CAUSE_START,   /* Semantic error in the TFT operation */
+    PAM_PDN_ACCESS_REJECT_DUE_TO_CAUSE_42 = 42 + PAM_CAUSE_START,   /* Syntactical error in the TFT operation */
+    PAM_PDN_ACCESS_REJECT_DUE_TO_CAUSE_43 = 43 + PAM_CAUSE_START,   /* Invalid EPS bearer identity */
+    PAM_PDN_ACCESS_REJECT_DUE_TO_CAUSE_44 = 44 + PAM_CAUSE_START,   /* Semantic errors in packet filter(s) */
+    PAM_PDN_ACCESS_REJECT_DUE_TO_CAUSE_45 = 45 + PAM_CAUSE_START,   /* Syntactical error in packet filter(s) */
+    PAM_PDN_ACCESS_REJECT_DUE_TO_CAUSE_46 = 46 + PAM_CAUSE_START,   /* Unused */
+    PAM_PDN_ACCESS_REJECT_DUE_TO_CAUSE_47 = 47 + PAM_CAUSE_START,   /* PTI mismatch */
+    PAM_PDN_ACCESS_REJECT_DUE_TO_CAUSE_49 = 49 + PAM_CAUSE_START,   /* Last PDN disconnection not allowed */
+
+    PAM_PDN_ACCESS_REJECT_DUE_TO_CAUSE_50 = 50 + PAM_CAUSE_START,   /* PDN type IPv4 only allowed */
+    PAM_PDN_ACCESS_REJECT_DUE_TO_CAUSE_51 = 51 + PAM_CAUSE_START,   /* PDN type IPv6 only allowed */
+    PAM_PDN_ACCESS_REJECT_DUE_TO_CAUSE_52 = 52 + PAM_CAUSE_START,   /* single address bearers only allowed */
+    PAM_PDN_ACCESS_REJECT_DUE_TO_CAUSE_53 = 53 + PAM_CAUSE_START,   /* ESM information not received */
+    PAM_PDN_ACCESS_REJECT_DUE_TO_CAUSE_54 = 54 + PAM_CAUSE_START,   /* PDN connection does not exist */
+    PAM_PDN_ACCESS_REJECT_DUE_TO_CAUSE_55 = 55 + PAM_CAUSE_START,   /* Multiple PDN connections for a given APN not allowed */
+    PAM_PDN_ACCESS_REJECT_DUE_TO_CAUSE_56 = 56 + PAM_CAUSE_START,   /* Collision with network initiated request */
+    PAM_PDN_ACCESS_REJECT_DUE_TO_CAUSE_59 = 59 + PAM_CAUSE_START,   /* Unsupported QCI value */
+    PAM_PDN_ACCESS_REJECT_DUE_TO_CAUSE_65 = 65 + PAM_CAUSE_START,   /* Maximum number of PDP contexts reached */
+    PAM_PDN_ACCESS_REJECT_DUE_TO_CAUSE_66 = 66 + PAM_CAUSE_START,   /* Requested apn not supported in current RAT and PLMN combination */
+
+    PAM_PDN_ACCESS_REJECT_DUE_TO_CAUSE_81 = 81 + PAM_CAUSE_START,   /* Invalid PTI value */
+
+    PAM_PDN_ACCESS_REJECT_DUE_TO_CAUSE_95 = 95 + PAM_CAUSE_START,   /* Semantically incorrect message */
+    PAM_PDN_ACCESS_REJECT_DUE_TO_CAUSE_96 = 96 + PAM_CAUSE_START,   /* Invalid mandatory information */
+    PAM_PDN_ACCESS_REJECT_DUE_TO_CAUSE_97 = 97 + PAM_CAUSE_START,   /* Message type non-existent or not implemented */
+    PAM_PDN_ACCESS_REJECT_DUE_TO_CAUSE_98 = 98 + PAM_CAUSE_START,   /* Message type not compatible with protocol state */
+    PAM_PDN_ACCESS_REJECT_DUE_TO_CAUSE_99 = 99 + PAM_CAUSE_START,   /* Information element non-existent or not implemented */
+    PAM_PDN_ACCESS_REJECT_DUE_TO_CAUSE_100 = 100 + PAM_CAUSE_START, /* Conditional IE error */
+    PAM_PDN_ACCESS_REJECT_DUE_TO_CAUSE_101 = 101 + PAM_CAUSE_START, /* Message not compatible with the protocol state */
+
+    PAM_PDN_ACCESS_REJECT_DUE_TO_CAUSE_111 = 111 + PAM_CAUSE_START, /* Protocol error unspecified */
+    PAM_PDN_ACCESS_REJECT_DUE_TO_CAUSE_112 = 112 + PAM_CAUSE_START, /* Apn restriction value incompatiable with EPB bearer context */
+
+    PAM_PDN_ACCESS_REJECT_NOT_IN_ACL = 200 + PAM_CAUSE_START,       /* Requested APN not in ACL */
+    PAM_PDN_ACCESS_REJECT_READ_EF_ACL_ONGOING = 201 + PAM_CAUSE_START, /* PAM has not get EF_ACL yet */
+
+    PAM_CAUSE_END,
+/* ============================== ~PAM cause ============================== */
+
+/* ============================== PAM VZW cause ============================== */
+  	PAM_VZW_CAUSE_START = 0x01300,
+
+  	PAM_VZW_PDN_ACCESS_GRANTED  = 0x01 + PAM_VZW_CAUSE_START,
+
+  	PAM_VZW_PDN_ACCESS_REJECT_DISABLE_IN_APN_TABLE              = 0x02 + PAM_VZW_CAUSE_START,
+  	PAM_VZW_PDN_ACCESS_REJECT_ASK_APN_CHANGE_NOT_READY          = 0x03 + PAM_VZW_CAUSE_START,
+  	PAM_VZW_PDN_ACCESS_REJECT_CHANGE_APN_CLASS                  = 0x04 + PAM_VZW_CAUSE_START,
+  	PAM_VZW_PDN_ACCESS_REJECT_CHANGE_APN_CLASS_AND_THROTTLE     = 0x05 + PAM_VZW_CAUSE_START,
+  	PAM_VZW_PDN_ACCESS_REJECT_THROTTLE_FOREVER                  = 0x06 + PAM_VZW_CAUSE_START,
+  	PAM_VZW_PDN_ACCESS_REJECT_THROTTLE                          = 0x07 + PAM_VZW_CAUSE_START,
+  	PAM_VZW_PDN_ACCESS_REJECT_THROTTLE_WITH_BACKOFF_TIMER       = 0x08 + PAM_VZW_CAUSE_START, // R12 VzW
+  	PAM_VZW_PDN_ACCESS_REJECT_THROTTLE_FOREVER_CANDIDATE        = 0x09 + PAM_VZW_CAUSE_START, // R11 VzW 7767
+  	PAM_VZW_PDN_ACCESS_REJECT_THROTTLE_NO_RSP                   = 0x0A + PAM_VZW_CAUSE_START,
+  	PAM_VZW_PDN_ACCESS_REJECT_NOT_IN_ACL                        = 0x0B + PAM_VZW_CAUSE_START,
+  	PAM_VZW_PDN_ACCESS_REJECT_STOP_ATTACH_FOR_CLASS1_AND_CLASS2_NOT_ENABLED = 0x0C + PAM_VZW_CAUSE_START,
+  	PAM_VZW_PDN_ACCESS_REJECT_WAIT_TIME_NOT_EXPIRED             = 0x0D + PAM_VZW_CAUSE_START,
+  	PAM_VZW_PDN_ACCESS_REJECT_EXCEED_MAX_PDN_CONN_TRIES         = 0x0E + PAM_VZW_CAUSE_START,
+  	PAM_VZW_PDN_ACCESS_REJECT_THROTTLE_BY_MAX_PDN_CONN_TRIES    = 0x0F + PAM_VZW_CAUSE_START,
+  	PAM_VZW_PDN_ACCESS_REJECT_NO_AVAILABLE_CLASS_CAN_BE_USED    = 0x10 + PAM_VZW_CAUSE_START,
+    PAM_VZW_PDN_ACCESS_REJECT_APN_IN_USE                        = 0x11 + PAM_VZW_CAUSE_START, // __PAM_CHECK_APN_UNIQUENESS__
+    PAM_VZW_PDN_ACCESS_REJECT_VZ_REQ_LTEDATA_39683_FEB_2016     = 0x12 + PAM_VZW_CAUSE_START,
+    PAM_VZW_PDN_ACCESS_REJECT_VZ_REQ_LTEDATA_39684_FEB_2016     = 0x13 + PAM_VZW_CAUSE_START,
+    PAM_VZW_PDN_ACCESS_REJECT_ALLOC                             = 0x14 + PAM_VZW_CAUSE_START, // VzW DR 7775
+    PAM_VZW_PDN_ACCESS_REJECT_MOD                               = 0x15 + PAM_VZW_CAUSE_START, // VzW DR 7775
+
+	/* VzW SA DR start from 0x1320*/
+	PAM_VZW_PDU_ACCESS_GRANTED  								= 0x20 + PAM_VZW_CAUSE_START,
+	PAM_VZW_PDU_ACCESS_REJECT_THROTTLE_FOREVER					= 0x21 + PAM_VZW_CAUSE_START, // VzW SA DR 3.1.3.2.3
+	PAM_VZW_PDU_ACCESS_REJECT_THROTTLE							= 0x22 + PAM_VZW_CAUSE_START, // VzW SA DR 3.1.3.2.3
+	PAM_VZW_PDU_ACCESS_REJECT_THROTTLE_WITH_BACKOFF_TIMER		= 0x23 + PAM_VZW_CAUSE_START, // VzW SA DR 3.1.3.2.3
+	PAM_VZW_PDU_ACCESS_REJECT_THROTTLE_NO_RSP					= 0x24 + PAM_VZW_CAUSE_START, // VzW SA DR 3.1.3.2.3
+	PAM_VZW_PDU_ACCESS_REJECT_MOD								= 0x25 + PAM_VZW_CAUSE_START, // VzW SA DR 3.1.3.2.4
+	PAM_VZW_PDU_ACCESS_REJECT_EST								= 0x26 + PAM_VZW_CAUSE_START, // VzW SA DR 3.1.3.2.4
+	PAM_VZW_PDU_ACCESS_THROTTLE_EXEMPTION						= 0x27 + PAM_VZW_CAUSE_START, // VzW SA DR 3.1.1
+
+    // VzW SA DR 3.1.3.2.7
+    PAM_VZW_PDU_ACCESS_REJECT_WAIT_TIME_NOT_EXPIRED                    = 0x28 + PAM_VZW_CAUSE_START,
+    PAM_VZW_PDU_ACCESS_REJECT_EXCEED_MAX_MAX_PDU_SESSION_TRIES         = 0x29 + PAM_VZW_CAUSE_START,
+	PAM_VZW_PDU_ACCESS_REJECT_THROTTLE_BY_MAX_PDU_SESSION_TRIES        = 0x30 + PAM_VZW_CAUSE_START,
+
+
+  	PAM_VZW_CAUSE_END           = 0xFF + PAM_VZW_CAUSE_START,
+
+/* ============================== ~PAM VZW cause ============================== */
+/** PAM cause continues in later "Ext. Part for PAM cause" **/
+
+/* ============================== PAM AT&T cause ============================== */
+	PAM_ATT_CAUSE_START = 0x01400,
+
+	PAM_ATT_PDN_ACCESS_GRANTED  = 0x01 + PAM_ATT_CAUSE_START,
+
+	PAM_ATT_PDN_ACCESS_REJECT_IMS_PDN_BLOCK_TEMP    = 0x02 + PAM_ATT_CAUSE_START,
+	PAM_ATT_PDN_ACCESS_REJECT_IMS_PDN_BLOCK_FOREVER = 0x03 + PAM_ATT_CAUSE_START,   /* Not used for <CDR-DAM-2120> and <CDR-DAM-2130> */
+
+	PAM_ATT_CAUSE_END           = 0xFF + PAM_ATT_CAUSE_START,
+/* ============================== ~PAM AT&T cause ============================== */
+
+/* ============================== L4BPDN cause ============================== */
+    L4BPDN_CAUSE_START = 0X01500,
+
+    L4BPDN_AT_OK                            = 0x01 + L4BPDN_CAUSE_START,
+    L4BPDN_AT_ERROR_CMD_MODE_NOT_SUPPORT    = 0x02 + L4BPDN_CAUSE_START,
+    L4BPDN_AT_ERROR_CURRENT_RAT_UNKNOWN     = 0x03 + L4BPDN_CAUSE_START,
+
+    L4BPDN_AT_ERROR_CID_IS_NOT_ACTIVE_FOR_CGCONTRDP      = 0x04 + L4BPDN_CAUSE_START,
+    L4BPDN_AT_ERROR_CID_IS_NOT_VALID                     = 0x05 + L4BPDN_CAUSE_START,
+    L4BPDN_AT_ERROR_IE_PARSE_RESULT_IS_NOT_OK            = 0x06 + L4BPDN_CAUSE_START,
+    L4BPDN_AT_ERROR_PCO_ID_IS_NOT_VALID                  = 0x07 + L4BPDN_CAUSE_START,
+    L4BPDN_AT_ERROR_PCO_ID_IS_NOT_SUPPORTED              = 0x08 + L4BPDN_CAUSE_START,
+    L4BPDN_AT_ERROR_PCO_ID_SUPPORTED_IS_NOT_PRESENT      = 0x09 + L4BPDN_CAUSE_START,
+    L4BPDN_AT_ERROR_CID_IS_NOT_ACTIVE_FOR_BINDING        = 0x0A + L4BPDN_CAUSE_START,
+    L4BPDN_AT_ERROR_CID_IS_NOT_ACTIVE_FOR_UNBINDING      = 0x0B + L4BPDN_CAUSE_START,
+    L4BPDN_AT_ERROR_CMD_NOT_SUPPORT_IN_CURRENT_DOMAIN    = 0X0C + L4BPDN_CAUSE_START,
+    L4BPDN_AT_ERROR_CID_IS_ALREADY_BINDED                = 0x0D + L4BPDN_CAUSE_START,
+    L4BPDN_AT_ERROR_CID_IS_ALREADY_UNBINDED              = 0x0E + L4BPDN_CAUSE_START,
+    L4BPDN_AT_ERROR_CMD_NOT_SUPPORT                      = 0x0F + L4BPDN_CAUSE_START,
+    L4BPDN_AT_ERROR_CGCMOD_NOT_SUPPORT_IN_C2K            = 0x10 + L4BPDN_CAUSE_START,
+    L4BPDN_AT_ERROR_EGACT_NOT_SUPPORT_IN_C2K             = 0x11 + L4BPDN_CAUSE_START,
+    L4BPDN_AT_ERROR_CID_IS_ACTIVE_BUT_NOT_PRIMARY_PDP    = 0x12 + L4BPDN_CAUSE_START,
+    L4BPDN_AT_ERROR_CID_IS_NOT_ACTIVE_FOR_SENDING_DATA   = 0x13 + L4BPDN_CAUSE_START,
+    L4BPDN_CGEV_IND_FROM_CVAL_WITHOUT_CAUSE              = 0x14 + L4BPDN_CAUSE_START,
+    L4BPDN_CGEV_IND_NO_CAUSE                             = 0x15 + L4BPDN_CAUSE_START,
+    L4BPDN_AT_ERROR_EGACT_UNEXPECTED_RAT_IN_C2K          = 0x16 + L4BPDN_CAUSE_START,
+    L4BPDN_AT_ERROR_C2K_LTE_DEACT_RETRY_NEEDED           = 0x17 + L4BPDN_CAUSE_START,
+
+    L4BPDN_LEISIM_CAUSE_START = 0X01580,
+    L4BPDN_LEISIM_AT_ERROR_CID_IS_ALREADY_BINDED         = 0x01 + L4BPDN_LEISIM_CAUSE_START,
+    L4BPDN_LEISIM_AT_ERROR_CID_PDN_TRANSFER_ONGOING      = 0x02 + L4BPDN_LEISIM_CAUSE_START,
+
+    L4BPDN_LEISIM_OTHER_DIRECTION_IRAT_STARTED_ABORT_REVIVE                = 0x03 + L4BPDN_LEISIM_CAUSE_START,
+    L4BPDN_LEISIM_EHRPD_ALL_3_ROUNDS_REVIVE_FAIL                           = 0x04 + L4BPDN_LEISIM_CAUSE_START,
+    L4BPDN_LEISIM_DEACT_ABORT_REVIVE                                       = 0x05 + L4BPDN_LEISIM_CAUSE_START,
+    L4BPDN_LEISIM_EHRPD_ONE_PDN_REVIVE_SUCCESS_NO_NEED_REVIVE_OTHER        = 0x06 + L4BPDN_LEISIM_CAUSE_START,
+    L4BPDN_LEISIM_OTHER_DIRECTION_IRAT_STARTED_ABORT_EHRPD_2ND_REVIVE      = 0x07 + L4BPDN_LEISIM_CAUSE_START,
+    L4BPDN_LEISIM_OTHER_DIRECTION_IRAT_STARTED_ABORT_EHRPD_3ND_REVIVE      = 0x08 + L4BPDN_LEISIM_CAUSE_START,
+
+
+    L4BPDN_LEISIM_CAUSE_END,
+    L4BPDN_CAUSE_END   = 0xFF + L4BPDN_CAUSE_START,
+/* ============================== L4BPDN cause ============================== */
+
+/* ============================== D2 cause ============================== */
+    D2_CAUSE_START                   = 0X01600,
+    D2AT_OK                          = 0x01 + D2_CAUSE_START,
+    D2AT_ERROR_EIF_ERROR             = 0x02 + D2_CAUSE_START,
+    D2AT_ERROR_EIF_FORMAT_ERROR      = 0x03 + D2_CAUSE_START,
+    D2AT_ERROR_INVALID_INTERFACE_ID  = 0x04 + D2_CAUSE_START,
+    D2AT_ERROR_INVALID_STATE         = 0x05 + D2_CAUSE_START,
+    D2AT_ERROR_DSCONT_WITHOUT_PRIMARY= 0x06 + D2_CAUSE_START,
+
+    D2_NETIF_CAUSE_START                = 0x40 + D2_CAUSE_START,
+    D2_NETIF_OK                         = 0x00 + D2_NETIF_CAUSE_START,
+    D2_NETIF_ERROR                      = 0x01 + D2_NETIF_CAUSE_START,
+    D2_NETIF_INVALID_INTERFACE_ID       = 0x02 + D2_NETIF_CAUSE_START,
+    D2_NETIF_POOL_FULL                  = 0x03 + D2_NETIF_CAUSE_START,
+    D2_NETIF_INVALID_STATE              = 0x04 + D2_NETIF_CAUSE_START,
+    D2_NETIF_INVALID_PARAMETER          = 0x05 + D2_NETIF_CAUSE_START,
+
+    D2AM_NW_CAUSE_START                    = 0x50 + D2_CAUSE_START,      /* 0x01650 */
+
+    D2AM_IA_CAUSE_START                 = 0x60 + D2_CAUSE_START,      /* 0x01660 */
+    D2AM_IA_APN_NOT_SET                 = 0x01 + D2AM_IA_CAUSE_START,   /* 0x01661 */
+    D2AM_IA_APN_NOT_FOUND               = 0x02 + D2AM_IA_CAUSE_START,   /* 0x01662 */
+    D2AM_IA_APN_CID_ALLOC_FAIL          = 0x03 + D2AM_IA_CAUSE_START,   /* 0x01663 */
+    D2AM_IA_TARGET_DETACH               = 0x04 + D2AM_IA_CAUSE_START,   /* 0x01664 */
+    D2AM_IA_RF_OFF                      = 0x05 + D2AM_IA_CAUSE_START,   /* 0x01665 */
+    D2AM_IA_APN_ON_WIFI                 = 0x06 + D2AM_IA_CAUSE_START,   /* 0x01666 */
+    D2AM_IA_ICCID_NOT_GET               = 0x07 + D2AM_IA_CAUSE_START,   /* 0x01667 */
+    D2AM_IA_IMS_ON_WIFI                 = 0x08 + D2AM_IA_CAUSE_START,   /* 0x01668 */
+    D2AM_IA_UNBIND_ONGOING				= 0x09 + D2AM_IA_CAUSE_START,	/* 0x01669 */
+
+    D2AM_OTHER_CAUSE_START              = 0x70 + D2_CAUSE_START,         /* 0x01670 */
+    D2AM_DATA_NOT_ALLOWED               = 0x01 + D2AM_OTHER_CAUSE_START, /* 0x01671 (5745) */
+    D2AM_IMPORTANT_USER_USING           = 0x02 + D2AM_OTHER_CAUSE_START, /* 0x01672 (5746) */
+    D2AM_IMS_CALLING_ON_OTHER_SIM       = 0x03 + D2AM_OTHER_CAUSE_START, /* 0x01673 (5747) */
+    D2AM_DUAL_MDALLOW                   = 0x04 + D2AM_OTHER_CAUSE_START, /* 0x01674 (5748) */
+    D2AM_MDALLOW_NOT_SUPPORT            = 0x05 + D2AM_OTHER_CAUSE_START, /* 0x01675 (5749) */
+    D2AM_PS_MODE_UNKNOWN                = 0x06 + D2AM_OTHER_CAUSE_START, /* 0x01676 (5750) */
+    D2AM_CS_CALLING_ON_OTHER_SIM        = 0x07 + D2AM_OTHER_CAUSE_START, /* 0x01677 (5751) */
+    D2AM_VZW_DATA_NOT_ALLOWED           = 0x08 + D2AM_OTHER_CAUSE_START, /* 0x01678 (5752) */
+    D2AM_DSBP_ONGOING                   = 0x09 + D2AM_OTHER_CAUSE_START, /* 0x01679 (5753) */
+    D2AM_SIM_NOT_READY                  = 0x0A + D2AM_OTHER_CAUSE_START, /* 0x0167A (5754) */
+
+    /* Exported to AP, Do NOT move them */
+    D2CPM_CAUSE_START                = 0xD0 + D2_CAUSE_START,
+    D2CPM_OK                         = 0x00 + D2CPM_CAUSE_START,    /* Success */
+//    D2CM_OK                          = D2CPM_OK,
+//    D2PM_OK                          = D2CPM_OK
+    D2CPM_INVAL_ARG                  = 0x01 + D2CPM_CAUSE_START,    /* Invalid argument */
+//    D2CM_INVAL_ARG                   = D2CPM_INVAL_ARG,
+//    D2PM_INVAL_ARG                   = D2CPM_INVAL_ARG,
+    D2CPM_NOT_CONN                   = 0x02 + D2CPM_CAUSE_START,    /* Transport endpoint is not connected */
+//    D2CM_NOT_CONN                    = D2CPM_NOT_CONN,
+//    D2PM_NOT_CONN                    = D2CPM_NOT_CONN,
+    D2CPM_ALREADY_PROG               = 0x03 + D2CPM_CAUSE_START,    /* Operation already in progress */
+//    D2CM_ALREADY_PROG                = D2CPM_ALREADY_PROG,
+//    D2PM_ALREADY_PROG                = D2CPM_ALREADY_PROG,
+    D2CPM_CONN_ABORT                 = 0x04 + D2CPM_CAUSE_START,    /* Software caused connection abort */
+//    D2CM_CONN_ABORT                  = D2CPM_CONN_ABORT,
+//    D2PM_CONN_ABORT                  = D2CPM_CONN_ABORT,
+    D2CPM_NO_ADDR                    = 0x05 + D2CPM_CAUSE_START,    /* No such device or address */
+//    D2CM_NO_ADDR                     = D2CPM_NO_ADDR,
+//    D2PM_NO_ADDR                     = D2CPM_NO_ADDR,
+    D2CPM_NOT_PERM                   = 0x06 + D2CPM_CAUSE_START,    /* Operation not permitted */
+//    D2CM_NOT_PERM                    = D2CPM_NOT_PERM,
+//    D2PM_NOT_PERM                    = D2CPM_NOT_PERM,
+    D2CPM_IN_USE                     = 0x07 + D2CPM_CAUSE_START,    /* Address already in use */
+//    D2CM_IN_USE                      = D2CPM_IN_USE,
+//    D2PM_IN_USE                      = D2CPM_IN_USE,
+    D2CPM_CONFLICT                   = 0x08 + D2CPM_CAUSE_START,    /* Name not unique on network */
+//    D2CM_CONFLICT                    = D2CPM_CONFLICT,
+//    D2PM_CONFLICT                    = D2CPM_CONFLICT,
+    D2CPM_UNRECOV                    = 0x09 + D2CPM_CAUSE_START,    /* State not recoverable */
+//    D2CM_UNRECOV                     = D2CM_UNRECOV,
+//    D2PM_UNRECOV                     = D2PM_UNRECOV,
+    D2CPM_CAUSE_END,
+    D2CM_CAUSE_START                 = 0xE0 + D2_CAUSE_START,
+    D2CM_CAUSE_END,
+
+    D2PM_CAUSE_START                 = 0xF0 + D2_CAUSE_START,
+    D2PM_D2RM_REJ                    = 0x01 + D2PM_CAUSE_START,  /* Rejected or frustrated by IWLAN */
+    D2PM_NW_UNKNOWN                  = 0x02 + D2PM_CAUSE_START,  /* Unknown network error */
+    D2PM_CAUSE_END,
+    /* Exported to AP, Do NOT move them */
+
+    D2_CAUSE_END                      = 0xFF + D2_CAUSE_START,
+/* ============================== DAST cause ============================== */
+
+/* ============================== DDM cause ============================== */
+    DDM_CAUSE_START                     = 0x01700,
+    DDM_AT_OK                           = 0x01 + DDM_CAUSE_START,
+    DDM_DEFINE_ATTACH_PDN_FAIL          = 0x02 + DDM_CAUSE_START,
+    DDM_BLOCK_ACT_DATA_CALL             = 0x03 + DDM_CAUSE_START,
+    DDM_REUSE_PDP_TYPE_NOT_MATCH        = 0x04 + DDM_CAUSE_START,
+    DDM_IA_IS_ONGOING                   = 0x05 + DDM_CAUSE_START,
+    DDM_ACT_IS_ONGOING                  = 0x06 + DDM_CAUSE_START,
+    DDM_DEACT_IS_ONGOING                = 0x07 + DDM_CAUSE_START,
+    DDM_CAUSE_END                       = 0xFF + DDM_CAUSE_START,
+/* ============================== DDM cause ============================== */
+
+
+/* ============================== SDM cause ============================== */
+    SDM_CAUSE_START                     = 0x01800,
+    SDM_CAUSE_REQUEST_AP_RETRY          = 0x01 + SDM_CAUSE_START,
+    SDM_CAUSE_END                       = 0xFF + SDM_CAUSE_START,
+/* ============================== SDM cause ============================== */
+
+/* ============================== Individual AT CMD cause ============================== */
+    IND_AT_CMD_CAUSE_START              = 0x01900,
+    /* Each AT CMD can define it's own error cause under this range */
+     /************************AT+ERFTX error causes START**********************/
+
+    /*==========EL1 causes==========*/
+    L4CEL1_ERR_CAUSE_START              = 0x00 + IND_AT_CMD_CAUSE_START,
+    L4CEL1_ERR_NOT_IN_FLIGHT            = 0x01 + IND_AT_CMD_CAUSE_START,
+    L4CEL1_ERR_SIM_IN_SLOT              = 0x02 + IND_AT_CMD_CAUSE_START,
+    L4CEL1_ERR_PARA_BAND                = 0x03 + IND_AT_CMD_CAUSE_START,
+    L4CEL1_ERR_PARA_UL_BW               = 0x04 + IND_AT_CMD_CAUSE_START,
+    L4CEL1_ERR_PARA_UL_FREQ             = 0x05 + IND_AT_CMD_CAUSE_START,
+    L4CEL1_ERR_PARA_DUPLEX_MODE         = 0x06 + IND_AT_CMD_CAUSE_START,
+    L4CEL1_ERR_PARA_TDD_CFG             = 0x07 + IND_AT_CMD_CAUSE_START,
+    L4CEL1_ERR_PARA_SP_SF_CFG           = 0x08 + IND_AT_CMD_CAUSE_START,
+    L4CEL1_ERR_PARA_VRB                 = 0x09 + IND_AT_CMD_CAUSE_START,
+    L4CEL1_ERR_PARA_MCS                 = 0x0A + IND_AT_CMD_CAUSE_START,
+    L4CEL1_ERR_ROUTE_VALID              = 0x0B + IND_AT_CMD_CAUSE_START,
+    L4CEL1_ERR_TEST_ONGOING             = 0x0C + IND_AT_CMD_CAUSE_START,
+    L4CEL1_ERR_ANT_STATE                = 0x0D + IND_AT_CMD_CAUSE_START,
+    /*0x0E ~ 0x12 are reserved for future use*/
+    L4CEL1_ERR_OTHERS                   = 0x13 + IND_AT_CMD_CAUSE_START,
+    L4CEL1_ERR_CAUSE_END                = 0x14 + IND_AT_CMD_CAUSE_START,
+
+
+    /*==========C2K causes==========*/
+    L4CCL1_ERR_CAUSE_START          = 0x01 + L4CEL1_ERR_CAUSE_END,
+    L4CCL1_ERR_PARA_TXPOWER             = 0x02 + L4CEL1_ERR_CAUSE_END,
+    L4CCL1_ERR_PARA_CHANNEL             = 0x03 + L4CEL1_ERR_CAUSE_END,
+    /*0x04 ~ 0x09 are reserved for future use*/
+    L4CCL1_ERR_CAUSE_END            = 0x0A + L4CEL1_ERR_CAUSE_END,
+
+    /*==========GL1 causes==========*/
+    L4CGL1_ERR_CAUSE_START              = 0x01 + L4CCL1_ERR_CAUSE_END,
+    L4CGL1_ERR_CAUSE_NOT_IN_FLIGHT      = 0x02 + L4CCL1_ERR_CAUSE_END,
+    L4CGL1_ERR_CAUSE_PARA_BAND          = 0x03 + L4CCL1_ERR_CAUSE_END,
+    L4CGL1_ERR_CAUSE_PARA_FREQ          = 0x04 + L4CCL1_ERR_CAUSE_END,
+    L4CGL1_ERR_CAUSE_PARA_PATTERN       = 0x05 + L4CCL1_ERR_CAUSE_END,
+    L4CGL1_ERR_CAUSE_PARA_AFCDAC        = 0x06 + L4CCL1_ERR_CAUSE_END,
+    L4CGL1_ERR_CAUSE_PARA_TIMESLOTMASK  = 0x07 + L4CCL1_ERR_CAUSE_END,
+    L4CGL1_ERR_CAUSE_PARA_PCL           = 0x08 + L4CCL1_ERR_CAUSE_END,
+    L4CGL1_ERR_CAUSE_PARA_CS            = 0x09 + L4CCL1_ERR_CAUSE_END,
+    L4CGL1_ERR_CAUSE_PARA_REPEAT_TIME   = 0x0A + L4CCL1_ERR_CAUSE_END,
+    /*0x02 ~0x2f reserved for future use*/
+    L4CGL1_ERR_CAUSE_END                = 0x30 + L4CCL1_ERR_CAUSE_END,
+    /*==========TL1 causes==========*/
+    L4CTL1_ERR_CAUSE_START              = 0x01 + L4CGL1_ERR_CAUSE_END,
+    L4CTL1_ERR_NOT_IN_FLIGHT            = 0x02 + L4CGL1_ERR_CAUSE_END,
+    L4CTL1_ERR_FREQ			            = 0x03 + L4CGL1_ERR_CAUSE_END,
+    L4CTL1_ERR_BAND                     = 0x04 + L4CGL1_ERR_CAUSE_END,
+    L4CTL1_ERR_NOT_STOP_TX              = 0x05 + L4CGL1_ERR_CAUSE_END,
+    /*0x04 ~ 0x09 are reserved for future use*/
+    L4CTL1_ERR_CAUSE_END                = 0x0A + L4CGL1_ERR_CAUSE_END,
+
+    /*==========UL1 causes==========*/
+    L4CUL1_ERR_CAUSE_START              = 0x01 + L4CTL1_ERR_CAUSE_END,
+    L4CUL1_ERR_NOT_IN_FLIGHT            = 0x02 + L4CTL1_ERR_CAUSE_END,
+    L4CUL1_ERR_PARA_UL_FREQ             = 0x03 + L4CTL1_ERR_CAUSE_END,
+    L4CUL1_ERR_COMMAND                  = 0x04 + L4CTL1_ERR_CAUSE_END,
+    /*0x05 ~ 0x09 are reserved for future use*/
+    L4CUL1_ERR_CAUSE_END                = 0x0A + L4CTL1_ERR_CAUSE_END,
+
+    /*No Error cause*/
+    L4C_L1_NO_ERROR                     = 0x01 + L4CUL1_ERR_CAUSE_END,
+
+    /************************AT+ERFTX error causes END**********************/
+    IND_AT_CMD_CAUSE_END                = 0xFF + IND_AT_CMD_CAUSE_START,
+/* ============================== Individual AT CMD cause ============================== */
+
+/* ============================== VGSM cause ============================== */
+    VGSM_CAUSE_START                    = 0x01A00,
+    #include "vgsm_cause_enum.h"        /* To avoid file dependency of common file */
+    VGSM_CAUSE_END                      = 0xFF + VGSM_CAUSE_START,
+/* ============================== VGSM cause ============================== */
+
+
+/* ============================== Ext. Part for PAM cause ============================== */
+    EXT_PAM_CAUSE_START = 0x01B00,
+
+   PAM_5G_PDU_SESSION_ACCESS_REJECT_DUE_TO_CAUSE_8  =  8 + EXT_PAM_CAUSE_START,  /* Specific for 5GC; Operator determined barring */
+    PAM_5G_PDU_SESSION_ACCESS_REJECT_DUE_TO_CAUSE_26 = 26 + EXT_PAM_CAUSE_START,  /* Specific for 5GC; Insufficient Resource for specific DNN */
+	PAM_5G_PDU_SESSION_ACCESS_REJECT_DUE_TO_CAUSE_27 = 27 + EXT_PAM_CAUSE_START,  /* Specific for 5GC; Missing or unknown DNN */
+	PAM_5G_PDU_SESSION_ACCESS_REJECT_DUE_TO_CAUSE_28 = 28 + EXT_PAM_CAUSE_START,  /* Specific for 5GC; unknown PDU session type */
+	PAM_5G_PDU_SESSION_ACCESS_REJECT_DUE_TO_CAUSE_29 = 29 + EXT_PAM_CAUSE_START,  /* Specific for 5GC; User authentication or authorization failed */
+	PAM_5G_PDU_SESSION_ACCESS_REJECT_DUE_TO_CAUSE_30 = 30 + EXT_PAM_CAUSE_START,  /* Specific for 5GC; Request rejected by Serving GW or PDN GW */
+	PAM_5G_PDU_SESSION_ACCESS_REJECT_DUE_TO_CAUSE_31 = 31 + EXT_PAM_CAUSE_START,  /* Specific for 5GC; Request rejected unspecified */
+	PAM_5G_PDU_SESSION_ACCESS_REJECT_DUE_TO_CAUSE_32 = 32 + EXT_PAM_CAUSE_START,  /* Specific for 5GC; Service option not supported */
+	PAM_5G_PDU_SESSION_ACCESS_REJECT_DUE_TO_CAUSE_33 = 33 + EXT_PAM_CAUSE_START,  /* Specific for 5GC; Requested service option not subscribed */
+	PAM_5G_PDU_SESSION_ACCESS_REJECT_DUE_TO_CAUSE_34 = 34 + EXT_PAM_CAUSE_START,  /* Specific for 5GC; Service option temporarily out of order */
+	PAM_5G_PDU_SESSION_ACCESS_REJECT_DUE_TO_CAUSE_35 = 35 + EXT_PAM_CAUSE_START,  /* Specific for 5GC; PTI already in use                      */
+	PAM_5G_PDU_SESSION_ACCESS_REJECT_DUE_TO_CAUSE_36 = 36 + EXT_PAM_CAUSE_START,  /* Specific for 5GC; Regular deactivation                    */
+	PAM_5G_PDU_SESSION_ACCESS_REJECT_DUE_TO_CAUSE_37 = 37 + EXT_PAM_CAUSE_START,  /* Specific for 5GC; EPS QoS not accepted                    */
+	PAM_5G_PDU_SESSION_ACCESS_REJECT_DUE_TO_CAUSE_38 = 38 + EXT_PAM_CAUSE_START,  /* Specific for 5GC; Network failure                         */
+	PAM_5G_PDU_SESSION_ACCESS_REJECT_DUE_TO_CAUSE_39 = 39 + EXT_PAM_CAUSE_START,  /* Specific for 5GC; Reactivation requested */
+	PAM_5G_PDU_SESSION_ACCESS_REJECT_DUE_TO_CAUSE_41 = 41 + EXT_PAM_CAUSE_START,  /* Specific for 5GC; Semantic error in the TFT operation    */
+	PAM_5G_PDU_SESSION_ACCESS_REJECT_DUE_TO_CAUSE_42 = 42 + EXT_PAM_CAUSE_START,  /* Specific for 5GC; Syntactical error in the TFT operation */
+	PAM_5G_PDU_SESSION_ACCESS_REJECT_DUE_TO_CAUSE_43 = 43 + EXT_PAM_CAUSE_START,  /* Specific for 5GC; Invalid PDU session identity           */
+	PAM_5G_PDU_SESSION_ACCESS_REJECT_DUE_TO_CAUSE_44 = 44 + EXT_PAM_CAUSE_START,  /* Specific for 5GC; Semantic errors in packet filter(s)    */
+	PAM_5G_PDU_SESSION_ACCESS_REJECT_DUE_TO_CAUSE_45 = 45 + EXT_PAM_CAUSE_START,  /* Specific for 5GC; Syntactical errors in packet filter(s) */
+    PAM_5G_PDU_SESSION_ACCESS_REJECT_DUE_TO_CAUSE_46 = 46 + EXT_PAM_CAUSE_START,  /* Specific for 5GC; Out of LADN Service Area */
+	PAM_5G_PDU_SESSION_ACCESS_REJECT_DUE_TO_CAUSE_47 = 47 + EXT_PAM_CAUSE_START,  /* Specific for 5GC; PTI mismatch                       */
+	PAM_5G_PDU_SESSION_ACCESS_REJECT_DUE_TO_CAUSE_49 = 49 + EXT_PAM_CAUSE_START,  /* Specific for 5GC; Last PDN disconnection not allowed */
+	PAM_5G_PDU_SESSION_ACCESS_REJECT_DUE_TO_CAUSE_50 = 50 + EXT_PAM_CAUSE_START,  /* Specific for 5GC; IPv4 only allowed */
+    PAM_5G_PDU_SESSION_ACCESS_REJECT_DUE_TO_CAUSE_51 = 51 + EXT_PAM_CAUSE_START,  /* Specific for 5GC; IPv6 only allowed */
+	PAM_5G_PDU_SESSION_ACCESS_REJECT_DUE_TO_CAUSE_54 = 54 + EXT_PAM_CAUSE_START,  /* Specific for 5GC; PDN session does not exist */
+	PAM_5G_PDU_SESSION_ACCESS_REJECT_DUE_TO_CAUSE_55 = 55 + EXT_PAM_CAUSE_START,  /* Specific for 5GC; Multiple PDN connections for a given APN not allowed */
+	PAM_5G_PDU_SESSION_ACCESS_REJECT_DUE_TO_CAUSE_56 = 56 + EXT_PAM_CAUSE_START,  /* Specific for 5GC; Collision with network initiated request             */
+	PAM_5G_PDU_SESSION_ACCESS_REJECT_DUE_TO_CAUSE_57 = 57 + EXT_PAM_CAUSE_START,  /* Specific for 5GC; IPv4v6 only allowed */
+	PAM_5G_PDU_SESSION_ACCESS_REJECT_DUE_TO_CAUSE_59 = 59 + EXT_PAM_CAUSE_START,  /* Specific for 5GC; Unsupported QCI value */
+	PAM_5G_PDU_SESSION_ACCESS_REJECT_DUE_TO_CAUSE_58 = 58 + EXT_PAM_CAUSE_START,  /* Specific for 5GC; PDU session type Unstructed only allowed */
+	PAM_5G_PDU_SESSION_ACCESS_REJECT_DUE_TO_CAUSE_61 = 61 + EXT_PAM_CAUSE_START,  /* Specific for 5GC; PDU session type Ethernet only allowed */
+    PAM_5G_PDU_SESSION_ACCESS_REJECT_DUE_TO_CAUSE_65 = 65 + EXT_PAM_CAUSE_START,  /* Specific for 5GC; Maximum number of PDU sessions reached */
+	PAM_5G_PDU_SESSION_ACCESS_REJECT_DUE_TO_CAUSE_66 = 66 + EXT_PAM_CAUSE_START,  /* Specific for 5GC; Requested APN not supported in current RAT and PLMN combination */
+	PAM_5G_PDU_SESSION_ACCESS_REJECT_DUE_TO_CAUSE_67 = 67 + EXT_PAM_CAUSE_START,  /* Specific for 5GC; insufficient resources for specific slice and DNN */
+	PAM_5G_PDU_SESSION_ACCESS_REJECT_DUE_TO_CAUSE_68 = 68 + EXT_PAM_CAUSE_START,  /* Specific for 5GC; not supported SSC mode */
+	PAM_5G_PDU_SESSION_ACCESS_REJECT_DUE_TO_CAUSE_69 = 69 + EXT_PAM_CAUSE_START,  /* Specific for 5GC; insufficient resources for specific slice */
+	PAM_5G_PDU_SESSION_ACCESS_REJECT_DUE_TO_CAUSE_70 = 70 + EXT_PAM_CAUSE_START,  /* Specific for 5GC; Missing or unknown DNN in a slice */
+	PAM_5G_PDU_SESSION_ACCESS_REJECT_DUE_TO_CAUSE_81 = 81 + EXT_PAM_CAUSE_START,  /* Specific for 5GC; Invalid PTI value */
+	PAM_5G_PDU_SESSION_ACCESS_REJECT_DUE_TO_CAUSE_82 = 82 + EXT_PAM_CAUSE_START,  /* Specific for 5GC; Maximum data rate per UE for user-plane integrity protection is too low */
+	PAM_5G_PDU_SESSION_ACCESS_REJECT_DUE_TO_CAUSE_83 = 83 + EXT_PAM_CAUSE_START,  /* Specific for 5GC; Semantic error in QoS operation                     */
+	PAM_5G_PDU_SESSION_ACCESS_REJECT_DUE_TO_CAUSE_84 = 84 + EXT_PAM_CAUSE_START,  /* Specific for 5GC; Syntactic error in QoS operation                    */
+	PAM_5G_PDU_SESSION_ACCESS_REJECT_DUE_TO_CAUSE_85 = 85 + EXT_PAM_CAUSE_START,  /* Specific for 5GC; Invalid mapped EPS bearer identity                  */
+	PAM_5G_PDU_SESSION_ACCESS_REJECT_DUE_TO_CAUSE_95 = 95 + EXT_PAM_CAUSE_START,  /* Specific for 5GC; Semantically incorrect message                      */
+	PAM_5G_PDU_SESSION_ACCESS_REJECT_DUE_TO_CAUSE_96 = 96 + EXT_PAM_CAUSE_START,  /* Specific for 5GC; Invalid mandatory information                       */
+	PAM_5G_PDU_SESSION_ACCESS_REJECT_DUE_TO_CAUSE_97 = 97 + EXT_PAM_CAUSE_START,  /* Specific for 5GC; Message type non-existent or not implemented        */
+	PAM_5G_PDU_SESSION_ACCESS_REJECT_DUE_TO_CAUSE_98 = 98 + EXT_PAM_CAUSE_START,  /* Specific for 5GC; Message type not compatible with protocol state     */
+	PAM_5G_PDU_SESSION_ACCESS_REJECT_DUE_TO_CAUSE_99 = 99 + EXT_PAM_CAUSE_START,  /* Specific for 5GC; Information element non-existent or not implemented */
+	PAM_5G_PDU_SESSION_ACCESS_REJECT_DUE_TO_CAUSE_100 = 100 + EXT_PAM_CAUSE_START,  /* Specific for 5GC; Conditional IE error                           */
+	PAM_5G_PDU_SESSION_ACCESS_REJECT_DUE_TO_CAUSE_101 = 101 + EXT_PAM_CAUSE_START,  /* Specific for 5GC; Message not compatible with the protocol state */
+	PAM_5G_PDU_SESSION_ACCESS_REJECT_DUE_TO_CAUSE_111 = 111 + EXT_PAM_CAUSE_START,  /* Specific for 5GC; Protocol error unspecified                     */
+
+	PAM_5G_PDU_SESSION_NOT_FORWARDED_CAUSE_START = EXT_PAM_CAUSE_START + 128, /* Specific for 5GC; Allocate a range for VGMM Cause indicating VGSM Message not Forwarded */
+    PAM_5G_PDU_SESSION_ACCESS_REJECT_DUE_TO_DNN_NOT_SUPPORT_IN_SLICE = PAM_5G_PDU_SESSION_NOT_FORWARDED_CAUSE_START + 1,
+	PAM_5G_PDU_SESSION_ACCESS_REJECT_DUE_TO_MAX_PDU_SESSION_REACHED  = PAM_5G_PDU_SESSION_NOT_FORWARDED_CAUSE_START + 2,
+    PAM_VGSM_REJECT_DUE_TO_LADN_OUT_OF_SERVICE_AREA = PAM_5G_PDU_SESSION_NOT_FORWARDED_CAUSE_START + 3,
+
+    EXT_PAM_CAUSE_END = EXT_PAM_CAUSE_START + 0xFF,
+
+/* ============================== ~EXT PAM cause ============================== */
+
+    REPORT_TO_UPPER_LAYER_CAUSE_END = 0x3000
+
+}ps_cause_enum;
+#undef  VGSM_SPEC_CAUSE_ENUM
+#undef  VGSM_PROPRIETARY_CAUSE_ENUM
+
+
+typedef enum {// string  SIA   SIB   SIC
+   L4_ALLSS,
+   L4_EMLPP,  // "75",    -     -     -
+   L4_EMLPP0, // "750",   -     -     -
+   L4_EMLPP1, // "751",   -     -     -
+   L4_EMLPP2, // "752",   -     -     -
+   L4_EMLPP3, // "753",   -     -     -
+   L4_EMLPP4, // "754",   -     -     -
+   L4_CD,     // "66",    -     -     -
+   L4_CLIP,   // "30",    -     -     -
+   L4_CLIR,   // "31",    -     -     -
+   L4_COLP,   // "76",    -     -     -
+   L4_COLR,   // "77",    -     -     -
+   L4_CFU,    // "21",   DN    BS     -
+   L4_CFB,    // "67",   DN    BS     -
+   L4_CFNRY,  // "61",   DN    BS     T
+   L4_CFNRC,  // "62",   DN    BS     -
+   L4_CFA,    // "002",  DN    BS     T
+   L4_CFC,    // "004",  DN    BS     T
+   L4_CW,     // "43",   BS     -     -
+   L4_HOLD,
+   L4_MPTY,
+   L4_UUS1,   // "361",   R     -     -
+   L4_UUS2,   // "362",   R     -     -
+   L4_UUS3,   // "363",   R     -     -
+   L4_UUSALL, // "360",   R     -     -
+   L4_BAOC,   // "33",   PW    BS     -
+   L4_BOIC,   // "331",  PW    BS     -
+   L4_BOICEXHC, // "332",PW    BS     -
+   L4_BAIC,   // "35",   PW    BS     -
+   L4_BAICROAM, // "351",PW    BS     -
+   L4_BAC,    // "330",  PW    BS     -
+   L4_BOC,    // "333",  PW    BS     -
+   L4_BIC,    // "353",  PW    BS     -
+   L4_ECT,    // "96",
+   L4_CCBS,   // "37",    N (1-5)
+   L4_FM,     // "214",
+   L4_CNAP,   // "300",   -     -     -
+   L4_MSP1,   // "591",  PW
+   L4_MSP2,   // "592",  PW
+   L4_MSP3,   // "593",  PW
+   L4_MSP4,   // "594",  PW
+   L4_MC,     // "88",       NBR_USER (1-NBR_SB)
+   L4_CDIP
+} l4_ss_code_enum;
+
+typedef enum { //                           Basic Service group number
+// L4_ALL_BS_AND_TS               = N/A    1-12
+//         TELESERVICES
+   L4_ALL_TELESERVICES            = 10, // 1-6 + 12
+   L4_TELEPHONY                   = 11, // 1
+   L4_ALL_DATA_TELESERVICES       = 12, // 2-6
+   L4_FACSIMILE_SERVICES          = 13, // 6
+   L4_SHORT_MESSAGE_SERVICES      = 16, // 2
+   L4_ALL_TELESERVICES_EXCEPT_SMS = 19, // 1 + 3-6 + 12
+//         VOICE GROUP SERVICES
+   L4_VOICE_GROUP_CALL_SERVICE    = 17,
+   L4_VOICE_BROADCAST_SERVICE     = 18,
+//         BEARER SERVICE
+   L4_ALL_BEARER_SERVICES         = 20, // 7-11
+   L4_ALL_ASYNC_SERVICES          = 21, // 7
+   L4_ALL_SYNC_SERVICES           = 22, // 8
+   L4_ALL_DATA_CIRCUIT_SYNC       = 24, // 8
+   L4_ALL_DATA_CIRCUIT_ASYNC      = 25, // 7
+   L4_AUXILIARY_TELEPHONY         = 89,
+   L4_ALL_GPRS_BEARER_SERVICES    = 99,  // 13
+   /* Johnny: these enums do not exist in 22.030, only for MMI display,
+      user should not input these enums for tele/bearer service code */
+   L4_BS_ALLPADACCESSCA_SERVICES = 100,
+   L4_BS_ALLDATAPDS_SERVICES = 101
+} l4_bs_code_enum;
+
+typedef enum {
+    L4_GERAN_RXLEVEL,
+    L4_GERAN_BER,
+    L4_UTRA_RSCP,
+    L4_UTRA_ECNO,
+    L4_EUTRA_RSRQ,
+    L4_EUTRA_RSRP,
+    L4_NR_SS_RSRQ,
+    L4_NR_SS_RSRP,
+    L4_NR_SS_SINR,
+} l4_cesq_param_enum;
+
+
+typedef enum{
+    L4C_AT_CMD_PARAM_NONE,      //init value
+    L4C_AT_CMD_PARAM_EMPTY,     //e.g. AT+XXX=,,  param1=NULL
+    L4C_AT_CMD_PARAM_INTEGER,
+    L4C_AT_CMD_PARAM_SIGN_INTEGER,
+    //L4C_AT_CMD_PARAM_STRING_PTR,
+    L4C_AT_CMD_PARAM_STRING_S,
+    L4C_AT_CMD_PARAM_MAX
+}l4c_at_cmd_param_type;
+
+typedef enum{
+    L4C_AT_CMD_PROCESS_ERROR,
+    L4C_AT_CMD_PROCESS_WAIT_CNF,
+    L4C_AT_CMD_PROCESS_IMMEDIATE_OK,
+    L4C_AT_CMD_PROCESS_MAX,
+}l4c_at_cmd_process_type_enum;
+
+
+typedef enum
+{
+    UE_MODE_PS_MODE_2       = 0,
+    UE_MODE_CS_PS_MODE_1,
+    UE_MODE_CS_PS_MODE_2,
+    UE_MODE_PS_MODE_1,
+    UE_MODE_INVALID,
+
+} ue_mode_enum;
+
+typedef enum
+{
+    VOICE_CENTRIC = 0,
+    DATA_CENTRIC
+} ue_usage_setting_enum;
+
+typedef enum
+{
+    SUSP_RESU_NORMAL_MODE = 0,
+    SUSP_RESU_SUSPEND_BY_MCC_CHANGE_MODE = 1,
+    SUSP_RESU_SUSPEND_BY_PLMN_CHANGE_MODE = 2,
+    SUSP_RESU_SUSPEND_ALL_MODE = 3,
+}susp_resu_mode_enum;
+
+typedef enum
+{
+    SUSP_RESU_SUSPEND_STATUS = 0,
+    SUSP_RESU_RESUME_STATUS = 1
+}susp_resu_status_enum;
+
+typedef enum
+{
+    SUSP_RESU_MODE_CHANGE = 0,
+    SUSP_RESU_RESUME_REQ = 1
+}susp_resu_action_enum;
+
+typedef enum
+{
+    SUSP_RESU_BY_GMSS = 0,
+    SUSP_RESU_BY_RAC = 1,
+    SUSP_RESU_BY_AP = 2,
+    SUSP_RESU_BY_SIM = 3,
+    SUSP_RESU_BY_L4C = 4,
+    SUSP_RESU_SRC_MAX
+}susp_resu_source_enum;
+
+typedef enum
+{
+    SUSP_RESU_OK = 0,
+	SUSP_RESU_ERROR = 1
+}susp_resu_result_enum;
+
+
+
+/* TS 27.007 && TS 24.167 */
+typedef enum
+{
+    L4_CS_VOICE_ONLY = 1,
+    L4_CS_VOICE_PREFERRED_IMS_PS_VOICE_AS_SECONDARY,        /* CS voice preferred, IMS PS Voice as secondary */
+    L4_IMS_PS_VOICE_PREFERRED_CS_VOICE_AS_SECONDARY,        /* IMS PS voice preferred, CS Voice as secondary */
+    L4_IMS_PS_VOICE_ONLY
+} l4_voice_domain_preference_enum;
+
+/* 34.109 */
+typedef enum{
+    RATCM_MSG_CLOSE_UE_TEST_LOOP = 0x40,
+    RATCM_MSG_CLOSE_UE_TEST_LOOP_COMPLETE = 0x41,
+    RATCM_MSG_OPEN_UE_TEST_LOOP = 0x42,
+    RATCM_MSG_OPEN_UE_TEST_LOOP_COMPLETE = 0x43,
+    RATCM_MSG_ACTIVATE_RB_TEST_MODE = 0x44,
+    RATCM_MSG_ACTIVATE_RB_TEST_MODE_COMPLETE = 0x45,
+    RATCM_MSG_DEACTIVATE_RB_TEST_MODE = 0x46,
+    RATCM_MSG_DEACTIVATE_RB_TEST_MODE_COMPLETE = 0x47,
+    RATCM_MSG_RESET_UE_POSITIONING_STORED_INFO = 0x48  //MAUI_02601231
+}ratcm_utest_loopback_mode_cmd_enum;
+
+typedef enum{
+    RATCM_MSG_CLOSE_UE_TEST_LOOP_MODE_1 = 0x00,
+    RATCM_MSG_CLOSE_UE_TEST_LOOP_MODE_2 = 0x01,
+    RATCM_MSG_CLOSE_UE_TEST_LOOP_MODE_3 = 0x02,
+    RATCM_MSG_CLOSE_UE_TEST_LOOP_MODE_4 = 0x03
+}ratcm_utest_close_loop_mode_enum;
+
+typedef enum
+{
+    L4_IMS_SMMA_OP_UPDATE_MEM = 1,
+    L4_IMS_SMMA_OP_UPDATE_FILE,
+} l4_ims_smma_op_enum;
+
+/* TS27.007 AT+CVMOD */
+typedef enum
+{
+    VOICE_MODE_CS_ONLY,
+    VOICE_MODE_VOIP_ONLY,
+    VOICE_MODE_CS_PREFERRED,
+    VOICE_MODE_VOIP_PREFERRED
+} voice_mode_enum;
+
+/* For VDM triggered PLMN search request */
+typedef enum
+{
+    VDM_NW_SELECTION_ANY_PLMN_FOR_EMERG = 0,
+    VDM_NW_SELECTION_PLMN_RESELECTION
+} vdm_nw_selection_type_enum;
+
+/* For VDM triggered PLMN search result */
+typedef enum
+{
+    VDM_NWSEL_RESULT_FAILURE = 0,
+    VDM_NWSEL_RESULT_SUCCESS
+} vdm_nw_selection_result_enum;
+
+/* For VDM Gemini CS semaphore operations */
+typedef enum{
+    VDM_VOICE_STATUS_START = 0,
+    VDM_VOICE_STATUS_STOP
+} vdm_voice_status_enum;
+
+typedef enum
+{
+    VDM_CALL_DOMAIN_NULL = 0,   // VDM ADS fails or domain not decided yet
+    VDM_CALL_DOMAIN_WG_CS = 1,  // 3gpp CS
+    VDM_CALL_DOMAIN_C2K_CS = 2, // 3gpp2 CS
+    VDM_CALL_DOMAIN_LTE = 3,
+    VDM_CALL_DOMAIN_WIFI = 4,
+    VDM_CALL_DOMAIN_NR = 5,
+    VDM_CALL_DOMAIN_MAX,
+} vdm_call_domain_enum;
+
+#define VG_ACCESS_CATEGORY_EMERGENCY_BM      0x0000000000000004
+#define VG_ACCESS_CATEGORY_MO_MMTEL_VOICE_BM 0x0000000000000010
+#define VG_ACCESS_CATEGORY_MO_MMTEL_VIDEO_BM 0x0000000000000020
+#define VG_ACCESS_CATEGORY_MO_SMS_BM         0x0000000000000040
+#define VG_ACCESS_CATEGORY_IMS_REG_BM        0x0000000000000200
+
+/* type of IMS service */
+typedef enum
+{
+    IMS_SERVICE_TYPE_NOT_DEFINED = 0,
+    IMS_SERVICE_TYPE_NORMAL_VOICE_CALL,      // MMTEL voice
+    IMS_SERVICE_TYPE_NORMAL_VIDEO_CALL,      // MMTEL video
+    IMS_SERVICE_TYPE_EMERGENCY_CALL,
+    IMS_SERVICE_TYPE_SMS,                    // SMSoIP
+    IMS_SERVICE_TYPE_NORMAL_VOICE_CALL_HO,   // MMTEL voice handover from WLAN
+    IMS_SERVICE_TYPE_NORMAL_VIDEO_CALL_HO,   // MMTEL video handover from WLAN
+    IMS_SERVICE_TYPE_SMS_HO,                 // SMSoIP handover from WLAN
+    IMS_SERVICE_TYPE_REG_SIG,                // IMS registration related signalling
+    IMS_SERVICE_TYPE_MAX,                    // Add new services above here
+} ims_service_type_enum;
+
+/* IMS service/UAC session */
+typedef enum
+{
+    IMS_SERVICE_STATUS_START = 0,
+    IMS_SERVICE_STATUS_STOP,
+
+} ims_service_status_enum;
+
+/* UAC result of IMS service */
+typedef enum
+{
+    IMS_SERVICE_UAC_RESULT_NONE = 0,         // for UAC stop only
+    IMS_SERVICE_UAC_RESULT_OK,               // allowed
+    IMS_SERVICE_UAC_RESULT_BARRED,
+    IMS_SERVICE_UAC_RESULT_NO_COVERAGE,
+    IMS_SERVICE_UAC_RESULT_GEMINI_SUSPEND,
+    IMS_SERVICE_UAC_RESULT_DEREGISTERED
+
+} ims_service_uac_result_enum;
+
+typedef enum
+{
+    ERRC_INITIAL,
+    ERRC_STANDBY,
+    ERRC_IDLE,
+    ERRC_CONNECTED,
+    ERRC_FLIGHT,
+    ERRC_IDLE_IRSUS,
+    ERRC_CONN_IRSUS
+} em_errc_state_enum;
+
+typedef enum
+{
+    CN_ASSOCIATE_EPC,
+    CN_ASSOCIATE_5GC
+} cn_associate_enum;
+
+typedef enum
+{
+    LTE_RRC_STATE_NULL,
+    LTE_RRC_STATE_IDLE,
+    LTE_RRC_STATE_ATMPT_CONNECTION,
+    LTE_RRC_STATE_CONNECTED,
+    LTE_RRC_STATE_ENDING,
+    LTE_RRC_STATE_ATMPT_OUTBND_MOBILITY,
+    LTE_RRC_STATE_ATMPT_INBND_MOBILITY,
+    LTE_RRC_STATE_LIMIT_SERVICE
+} em_lte_rrc_state_enum;
+
+typedef enum
+{
+    LTE_RRC_CAUSE_EST_EMERGENCY,
+    LTE_RRC_CAUSE_EST_HIGH_PRIO_ACC,
+    LTE_RRC_CAUSE_EST_MT_ACC,
+    LTE_RRC_CAUSE_EST_MO_SIGNAL,
+    LTE_RRC_CAUSE_EST_MO_DATA,
+    LTE_RRC_CAUSE_REEST_RECFG_FAIL,
+    LTE_RRC_CAUSE_REEST_HO_FAIL,
+    LTE_RRC_CAUSE_REEST_OTHER_FAIL,
+    LTE_RRC_CAUSE_REL_OTHER_RECFG_FAIL,
+    LTE_RRC_CAUSE_REL_CONN_FAIL_IRAT_RESEL,
+    LTE_RRC_CAUSE_REL_CONN_FAIL_T311_EXP,
+    LTE_RRC_CAUSE_REL_CONN_FAIL_CELL_NOT_SUIT,
+    LTE_RRC_CAUSE_REL_CONN_FAIL_REEST_REJ,
+    LTE_RRC_CAUSE_REL_LOAD_BAL_TAU_REQD,
+    LTE_RRC_CAUSE_REL_OTHER,
+    LTE_RRC_CAUSE_REL_T310_EXP,
+    LTE_RRC_CAUSE_REL_RND_ACC,
+    LTE_RRC_CAUSE_REL_MAX_RLC_RETRANS,
+    LTE_RRC_CAUSE_REL_SUCC_MOB_FROM_EUTRAN,
+    LTE_RRC_CAUSE_EST_FAIL_NO_RESP_FROM_CELL,
+    LTE_RRC_CAUSE_EST_FAIL_REJ,
+    LTE_RRC_CAUSE_EST_FAIL_CELL_RESEL,
+    LTE_RRC_CAUSE_EST_FAIL_ABORTED,
+    LTE_RRC_CAUSE_EST_FAIL_CELL_BARRED,
+    LTE_RRC_CAUSE_EST_FAIL_T300_EXP,
+    LTE_RRC_CAUSE_EST_FAIL_OTHER,
+    LTE_RRC_CAUSE_EST_MO_CALL,
+    LTE_RRC_CAUSE_REEST_CMPL,
+    LTE_RRC_CAUSE_RESEL_FAIL,
+    LTE_RRC_CAUSE_ENTER_LTE_FROM_STBY,
+    LTE_RRC_CAUSE_ENTER_STBY,
+    LTE_RRC_CAUSE_ABORT,
+    LTE_RRC_CAUSE_EST_MO_VOLTE_CALL,
+    LTE_RRC_CAUSE_REL_CSFB_HIGH,
+    LTE_RRC_CAUSE_NO_SERVICE = 254,
+    LTE_RRC_CAUSE_NA = 255
+} em_lte_rrc_cause_enum;
+
+/*****************************************************************************
+* DESCRIPTION
+*   This enum is defined the state for +CUSATS:<UICC_STATE> report
+*****************************************************************************/
+
+typedef enum
+{
+    CUSATS_BEFORE_PROFILE_DL,       // Only used for +CUSATA: <UICC_state>
+    CUSATS_UICC_START_HALTED,
+    CUSATS_PROFILE_DL_COMPLETED,
+    CUSATS_AWAITING_PIN_VERIFY,
+    CUSATS_UICC_ACTIVE
+}cusats_uicc_state_enum;
+
+/*****************************************************************************
+* DESCRIPTION
+*   This enum is defined for status of executed 3/4G full band search before
+*   EAS sends CELLSELECT_IND to ENAS with NO_CELL
+*****************************************************************************/
+typedef enum
+{
+    FULL_BAND_SEARCHED_FALSE = 0,
+    FULL_BAND_SEARCHED_TRUE,
+    FULL_BAND_SEARCHED_UNKNOWN
+} full_band_searched_enum;
+
+/*****************************************************************************
+* DESCRIPTION
+*   This enum is defined for the type of iRAT
+*****************************************************************************/
+typedef enum
+{
+    AP_BASED_IRAT,
+    MD_BASED_IRAT,
+    MD_BASED_IRAT_LCG,
+    CDMA_ONLY_MODE //no effect on LWG modem, it is used in CDMA modem
+}l4c_irat_type_enum;
+
+
+/*****************************************************************************
+* DESCRIPTION
+*   This enum is defined for result of AT+ECMSS
+*****************************************************************************/
+typedef enum
+{
+    CMSS_UNABLE_TO_GET_PDU = 0,
+    CMSS_OPERATION_SUCCESS = 1,
+    CMSS_FAIL_OVER_CS_GET_PDU_SUCCESS = 2
+} ecmss_result_type_enum;
+
+/*****************************************************************************
+* DESCRIPTION
+*   This enum is defined for the result of set AUX PLMN
+*****************************************************************************/
+typedef enum
+{
+   SET_AUX_PLMN_SUCCESSFUL = 0,
+   SET_AUX_PLMN_FAIL = 1
+} set_aux_plmn_result_enum;
+
+/*****************************************************************************
+* DESCRIPTION
+*   This enum is defined for the result of set MRU command
+*****************************************************************************/
+typedef enum
+{
+   SET_MRU_SUCCESSFUL = 0,
+   SET_MRU_INVALID_CHANNEL = 1,
+   SET_MRU_INVALID_RAT = 2,
+   SET_MRU_INVALID_PLMN = 3
+} set_mru_result_enum;
+
+/*****************************************************************************
+* DESCRIPTION
+*   This enum is defined for the reason of RATCM trigger GAS to do the init procedure
+*   Different reason will lead to different init flow
+*   This is also used for RAC init procedure and its related modules
+*****************************************************************************/
+typedef enum
+{
+    POWER_ON,
+    SIM_SWITCH,
+    DYNAMIC_SBP
+} init_cause_enum;
+
+/*****************************************************************************
+* DESCRIPTION
+*   This enum is defined for reconfigue type of re-init procedure triggered
+*   by modem itself.
+*****************************************************************************/
+typedef enum
+{
+    RECONFIG_SIM_SWITCH = 1,
+    RECONFIG_SBP_CHANGE = 2,
+    RECONFIG_DUPLEX_MODE = 4,
+    RECONFIG_IMS_CHANGE = 8,
+
+    RECONFIG_PRE_DSBP_CHANGE = 0x10,
+    RECONFIG_DSBP_CHANGE = 0x20,
+    RECONFIG_PRE_DSBP_CHANGE_ALL = 0x40,
+    RECONFIG_DSBP_CHANGE_ALL = 0x80,
+
+    RECONFIG_DSBP_ALL_RF_OFF= 0x100,
+    RECONFIG_DSBP_ALL_RF_ON = 0x200,
+
+    RECONFIG_DSBP_NOT_OCCUR = 0x400,  // indicates no DSBP Reconfigure for correspondign SIM Ready
+
+} l4c_me_reconfig_enum;
+
+// [MD DSBP] temp. usage before AP is ready, should be deleted after MD DSBP is ready
+#define _MD_DSBP_   1
+/*****************************************************************************
+* DESCRIPTION
+*   This enum is defined for cause of RF_OFF_REQ
+*****************************************************************************/
+typedef enum
+{
+    RFOFF_CAUSE_UNSPECIFIED = 0,        /* Default value */
+    RFOFF_CAUSE_DUPLEX_MODE = 1,        /* RF off cause when executing duplex mode (e.g. receiving +ECSRA) */
+    RFOFF_CAUSE_FLIGHT_MODE = 2,          /* RF off cause when UE enter into flight mode (triggered by user) */
+    RFOFF_CAUSE_SIM_SWITCH = 3,         /* RF off cause when performaing SIM switch */
+    RFOFF_CAUSE_DSBP = 4,              /* RF off cause when performing DSBP */
+    RFOFF_CAUSE_MAX = RFOFF_CAUSE_DSBP,
+} rfoff_cause_enum;
+
+/*****************************************************************************
+* DESCRIPTION
+*   This enum is defined for RF on/off usage of L4 and Middleman modules
+*****************************************************************************/
+typedef enum
+{
+    L4_RF_OFF = 0,
+    L4_RF_ON = 1,
+} l4_rf_state_enum;
+
+/*****************************************************************************
+* DESCRIPTION
+*   This enum is defined for SIM on/off usage of L4 and Middleman modules
+*****************************************************************************/
+typedef enum
+{
+    L4_SIM_OFF = 0,
+    L4_SIM_ON = 1,
+} l4_sim_state_enum;
+
+/*****************************************************************************
+* DESCRIPTION
+*   This enum is defined for tools to identify modem features.
+*****************************************************************************/
+typedef enum
+{
+    MODEM_LR11 = 1,
+    MODEM_LR12 = 2,
+    MODEM_GEN93= 3
+} ps_tool_info_enum;
+
+typedef enum{
+    SIGNAL_MODULATION_BPSK,
+    SIGNAL_MODULATION_QPSK,
+    SIGNAL_MODULATION_8PSK,
+    SIGNAL_MODULATION_16QAM,
+    SIGNAL_MODULATION_32QAM,
+    SIGNAL_MODULATION_64QAM,
+    SIGNAL_MODULATION_INVALID = 0xFF
+} signal_modulation_enum;
+
+typedef enum
+{
+    CA_CONFIGURATION,
+    CA_ACTIVATION
+} ca_info_enum;
+
+typedef enum
+{
+    CA_CONFIGURED,
+    CA_NOT_CONFIGURED,
+    CA_ACTIVATED,
+    CA_DEACTIVATED
+} ca_state_enum;
+
+typedef enum
+{
+    CA_ICON_BY_CONFIG,
+    CA_ICON_BY_ACTIVATION
+} ca_icon_display_mode_enum;
+
+typedef enum
+{
+    GMSS_RAT_INVALID = 0,                              /* Invalid RAT */
+    GMSS_RAT_GSM = 1,                                /* GSM */
+    GMSS_RAT_UMTS = 2,                                /* UMTS */
+    GMSS_RAT_GSM_UMTS = GMSS_RAT_GSM | GMSS_RAT_UMTS,    /* UMTS & GSM*/
+    GMSS_RAT_LTE = 4,                               /* LTE */
+    GMSS_RAT_GSM_LTE = GMSS_RAT_GSM | GMSS_RAT_LTE,   /* LTE & UMTS*/
+    GMSS_RAT_UMTS_LTE = GMSS_RAT_UMTS | GMSS_RAT_LTE,   /* LTE & GSM*/
+    GMSS_RAT_GSM_UMTS_LTE = GMSS_RAT_GSM_UMTS | GMSS_RAT_LTE, /* LTE & UMTS & GSM */
+    GMSS_RAT_CDMA2000_1xRTT = 32,                      /* CDMA2000 1xRTT */
+    GMSS_RAT_CDMA2000_HRPD = 64,                       /* CDMA2000 HRPD (1xEV-DO) */
+    GMSS_RAT_3GPP2_ALL = GMSS_RAT_CDMA2000_1xRTT | GMSS_RAT_CDMA2000_HRPD,   /* All 3GPP2 access technology */
+    GMSS_RAT_C2K = GMSS_RAT_3GPP2_ALL,
+    GMSS_RAT_GSM_C2K = GMSS_RAT_GSM | GMSS_RAT_C2K,
+    GMSS_RAT_UMTS_C2K = GMSS_RAT_UMTS | GMSS_RAT_C2K,
+    GMSS_RAT_LTE_C2K = GMSS_RAT_LTE | GMSS_RAT_C2K,
+    GMSS_RAT_GSM_LTE_C2K = GMSS_RAT_GSM_LTE | GMSS_RAT_C2K,
+    GMSS_RAT_UMTS_LTE_C2K = GMSS_RAT_UMTS_LTE | GMSS_RAT_C2K,
+    GMSS_RAT_GSM_UMTS_C2K = GMSS_RAT_GSM_UMTS | GMSS_RAT_C2K,
+    GMSS_RAT_GSM_UMTS_LTE_C2K = GMSS_RAT_GSM_UMTS_LTE | GMSS_RAT_C2K,
+
+
+    GMSS_RAT_NR = 128,                                 /* New Radio */
+    GMSS_RAT_LTE_NR = GMSS_RAT_LTE | GMSS_RAT_NR,
+    GMSS_RAT_GSM_NR = GMSS_RAT_GSM | GMSS_RAT_NR,
+    GMSS_RAT_UMTS_NR = GMSS_RAT_UMTS | GMSS_RAT_NR,
+    GMSS_RAT_GSM_UMTS_NR = GMSS_RAT_GSM_UMTS | GMSS_RAT_NR,
+    GMSS_RAT_GSM_LTE_NR = GMSS_RAT_GSM_LTE | GMSS_RAT_NR,
+    GMSS_RAT_UMTS_LTE_NR = GMSS_RAT_UMTS_LTE | GMSS_RAT_NR,
+    GMSS_RAT_NR_C2K= GMSS_RAT_NR | GMSS_RAT_C2K,
+    GMSS_RAT_GSM_NR_C2K = GMSS_RAT_GSM_NR | GMSS_RAT_C2K,
+    GMSS_RAT_UMTS_NR_C2K = GMSS_RAT_UMTS_NR | GMSS_RAT_C2K,
+    GMSS_RAT_LTE_NR_C2K = GMSS_RAT_LTE_NR | GMSS_RAT_C2K,
+    GMSS_RAT_GSM_UMTS_NR_C2K = GMSS_RAT_GSM_UMTS_NR | GMSS_RAT_C2K,
+    GMSS_RAT_GSM_LTE_NR_C2K = GMSS_RAT_GSM_LTE_NR | GMSS_RAT_C2K,
+    GMSS_RAT_UMTS_LTE_NR_C2K = GMSS_RAT_UMTS_LTE_NR | GMSS_RAT_C2K,
+    GMSS_RAT_GSM_UMTS_LTE_NR = GMSS_RAT_GSM_UMTS_LTE | GMSS_RAT_NR,
+    GMSS_RAT_GSM_UMTS_LTE_NR_C2K = GMSS_RAT_GSM_UMTS_LTE_NR | GMSS_RAT_C2K,
+    GMSS_RAT_3GPP_ALL = GMSS_RAT_GSM_UMTS_LTE_NR  /* All 3GPP access technology */
+ } gmss_rat_enum;
+
+typedef enum
+{
+    EMC_SCAN_REQ_SOURCE_GMSS = 0,
+    EMC_SCAN_REQ_SOURCE_VDM = 1,
+    EMC_SCAN_REQ_MAX
+}emc_scan_source_enum;
+
+typedef enum
+{
+    UL_THROTTLE_NO_ACTION = 0,
+    UL_THROTTLE_ONGOING,
+    UL_THROTTLE_ABORTING
+} l4c_ipcore_ul_throttle_action_enum;
+
+typedef enum
+{
+    L4_PS_NULL_CONFIG   = 0,
+    L4_PS_ATTACH_CONFIG = 1,
+    L4_PS_DETACH_CONFIG = 2
+} l4_ps_type_config_enum;
+
+typedef enum
+{
+    L4_PS_CONFIG_FAIL = 0,
+    L4_PS_CONFIG_SUCCESS = 1,
+
+    /* For single PS project, another SIM PS detach action is not complete.
+          Inhereited from +CME ERROR: 4111 for AT+EGTYPE=4   */
+    L4_PS_CONFIG_DUAL_PS_ATTACH_CONFLICT = 4111,
+
+    /* For single PS project, cannot set both SIM to PS attach
+          Inherited from +CME ERRPR: 4112 for AT+EGTYPE=4  */
+    L4_PS_CONFIG_DUAL_ALWAYS_ATTACH_CONFLICT = 4112
+} l4_ps_config_result_enum;
+
+typedef enum
+{
+    SDM_RETRY_NONE = 0,
+    SDM_RETRY_CS_ONLY,
+    SDM_RETRY_IMS_ONLY,
+	SDM_RETRY_WIFI_CS_ONLY,
+    SDM_RETRY_PREFER_CS_TEHN_IMS,
+    SDM_RETRY_PREFER_IMS_TEHN_CS,
+    SDM_RETRY_NO_PREFERENCE,
+}sdm_retry_domain_preference_enum;
+
+typedef struct
+{
+    sdm_retry_domain_preference_enum when_TR1M_expires;
+}sdm_special_retry_setting;
+
+typedef struct
+{
+    kal_uint16 max_cs_trial_num;
+    kal_uint16 max_ims_trial_num;
+    kal_uint16 max_total_trial_num;
+    sdm_retry_domain_preference_enum general_retry_pref_for_cs_fail;
+    sdm_retry_domain_preference_enum general_retry_pref_for_ims_fail;
+    sdm_special_retry_setting special_retry_pref;
+}prefer_retry_domain_setting_struct;
+
+/* Procedure enums for PAM procedures */
+typedef enum {
+    PAM_PROC_NONE,
+    PAM_PRI_PDP_ACT,
+    PAM_SEC_PDP_ACT,
+    PAM_PDP_MODIFY,
+    PAM_PDP_MT_DEACT,
+    PAM_PDP_MO_DEACT
+} pam_procedure_enum ;
+
+/*****************************************************************************
+* DESCRIPTION
+*   This enum is defined for IA APN change cases.
+*****************************************************************************/
+
+// preserved to wait the removal of nwsel_eval_ia_apn_change_req_struct in nwsel_eval_struct.h
+#if 0
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+#else
+
+typedef enum
+{
+    IA_APN_CHANGE_NAME = 0,     /* IA APN name change, NWSEL will judge if need to enable EUTRAN */
+    IA_APN_CHANGE_PARAMETER,    /* IA APN parameter change and previous attach failure due to wrong APN setting with corresponding cause, need to enable EUTRAN */
+    IA_APN_CHANGE_OTHER,        /* Any IA APN change other than above 2 causes and previous attach failure due to wrong APN setting */
+    IA_APN_CHANGE_HANDOVER,     /* need to enable EUTRAN and trigger a handover attach with corresponding APN*/
+    IA_APN_CHANGE_IMS_RELEASED, /* IA APN is IMS, IMS is released from WiFi. Need to enable EUTRAN */
+    IA_APN_CHANGE_IA_SET        /* Align EIAAPN set timing, to enable EUTRAN */
+} ia_apn_change_cause_enum;
+
+#endif
+
+typedef enum
+{
+/******North America******/
+    EMM_OP_ATT = 0,        //311410
+    EMM_OP_VZW,            //311480
+    EMM_OP_SPRINT,         //310120
+    EMM_OP_TMO_US,         //310026,310160,310490
+    EMM_OP_TELCEL,         //334020
+
+/******Sounth America*****/
+    EMM_OP_MOVISTAR,	   //71606
+
+/******China**************/
+    EMM_OP_CMCC,           //46000,46002,46004,46007,46008
+    EMM_OP_CU,             //46001,46006
+    EMM_OP_CT,             //46003,46011
+
+/******Taiwan*************/
+    EMM_OP_CHT,            //46692
+    EMM_OP_FAR_EAST,       //46601
+    EMM_OP_TWN,            //46697
+
+/******Asia Others********/
+    EMM_OP_TURKCELL,       //28601
+    EMM_OP_AWN,            //52003
+    EMM_OP_VDF_INDIA,      //40401,40405,40411,40413,40415,40420,40427,40430,40443,40446,40460,40484,40486,40488
+                           //40566,40567,405750,405751,405752,405753,405754,405755,405756
+    EMM_OP_BAL_INDIA,      //40402,40403,40406,40410,40416,40431,40440,40445,40449,40470,40490,40492,40493,40494,
+                           //40495,40496,40497,40498,40551,40552,40553,40554,40555,40556
+    EMM_OP_OOREDOO,        //41405
+    EMM_OP_KT,             //45002,45008
+    EMM_OP_RJIO_INDIA,     //405840,405854,405855,405856,405857,405858,405859,405860-405869,405870-405874
+    EMM_OP_PARTNER,        //42501
+
+/*******Europe***********/
+    EMM_OP_VDF_PORTUGAL,   //26801
+    EMM_OP_SEATEL,         //45611
+
+/**********South Korea*************/
+    EMM_OP_SKT,             //45005,45012
+    EMM_OP_LGU,             //45006
+
+    EMM_OP_NONE
+} emm_op_enum;
+
+typedef enum
+{
+/******North America******/
+    VGMM_OP_ATT = 0,        //311410
+    VGMM_OP_VZW,            //311480
+    VGMM_OP_SPRINT,         //310120
+    VGMM_OP_TMO_US,         //310026,310160,310490
+    VGMM_OP_TELCEL,         //334020
+
+/******Sounth America*****/
+    VGMM_OP_MOVISTAR,	    //71606
+
+/******China**************/
+    VGMM_OP_CMCC,           //46000,46002,46004,46007,46008
+    VGMM_OP_CU,             //46001,46006
+    VGMM_OP_CT,             //46003,46011
+
+/******Taiwan*************/
+    VGMM_OP_CHT,            //46692
+    VGMM_OP_FAR_EAST,       //46601
+    VGMM_OP_TWN,            //46697
+
+/******Asia Others********/
+    VGMM_OP_TURKCELL,       //28601
+    VGMM_OP_AWN,            //52003
+    VGMM_OP_VDF_INDIA,      //40401,40405,40411,40413,40415,40420,40427,40430,40443,40446,40460,40484,40486,40488
+                            //40566,40567,405750,405751,405752,405753,405754,405755,405756
+    VGMM_OP_BAL_INDIA,      //40402,40403,40406,40410,40416,40431,40440,40445,40449,40470,40490,40492,40493,40494,
+                            //40495,40496,40497,40498,40551,40552,40553,40554,40555,40556
+    VGMM_OP_OOREDOO,        //41405
+    VGMM_OP_KT,             //45002,45008
+    VGMM_OP_RJIO_INDIA,     //405840,405854,405855,405856,405857,405858,405859,405860-405869,405870-405874
+
+/*******Europe***********/
+    VGMM_OP_VDF_PORTUGAL,   //26801
+    VGMM_OP_SEATEL,         //45611
+    VGMM_OP_NONE
+} vgmm_op_enum;
+
+/*****************************************************************************
+* DESCRIPTION
+*   This enum is defined to sync 27.007 <AcT> definition for +CxREG command
+*****************************************************************************/
+typedef enum
+{
+    ACCESS_TECH_GSM = 0,
+    ACCESS_TECH_GSM_COMPACT = 1,
+    ACCESS_TECH_UTRAN = 2,
+    ACCESS_TECH_GSM_EGPRS = 3,
+    ACCESS_TECH_UTRAN_HSDPA = 4,
+    ACCESS_TECH_UTRAN_HSUPA = 5,
+    ACCESS_TECH_UTRAN_HSDPA_HSUPA = 6,
+    ACCESS_TECH_EUTRAN = 7,
+    ACCESS_TECH_EC_GSM_IOT = 8,
+    ACCESS_TECH_EUTRAN_NB_IOT = 9,
+    ACCESS_TECH_EUTRAN_5GCN = 10,
+    ACCESS_TECH_NR_5GCN = 11,
+    ACCESS_TECH_NR_EPS = 12,
+    ACCESS_TECH_NG_RAN = 13,
+    ACCESS_TECH_EUTRAN_NR_DUAL_CONNECTION = 14, // ENDC
+    ACCESS_TECH_MAX,
+    ACCESS_TECH_INVALID = 0xff,
+} access_technology_enum;
+
+typedef enum {
+    NWSEL_STATUS_IND_UPDATE_SEARCHING = 1,
+    /* NWSEL end search list, and report final state.
+    No service and limited service (acceptable cell) are known by NWSEL only. */
+    NWSEL_STATUS_IND_IN_NO_SERVICE = 2,
+    NWSEL_STATUS_IND_CAMP_ON_CELL = 3, // limited or normal service
+    NWSEL_STATUS_IND_IN_ABNORMAL_STATE = 4, // abnormal LU
+    NWSEL_STATUS_IND_IN_LIMITED_SERVICE = 5,
+} nwsel_status_enum;
+
+typedef enum {
+    NO_RESULT,
+    ATTACH_CNF,
+    DETACH_IND,
+} nas_sv_attach_detach_result_type_enum;
+
+#ifdef __GEMINI__
+
+typedef enum
+{
+	ABORT_SUCCESS = 0,
+	RETRY_AFTER_IRAT
+
+} rsim_auth_abort_result_enum;
+#endif
+
+//plz keep synced with ims_access_rat_enum in ims_interface_md.h
+typedef enum
+{
+    SCBM_RAT_LTE = 0,
+    SCBM_RAT_WIFI,
+    SCBM_RAT_EHRPD,
+    SCBM_RAT_GSM,
+    SCBM_RAT_UMTS,
+    SCBM_RAT_NUM
+} scbm_rat_enum;
+
+typedef enum
+{
+    EXIT_SCBM_INVALID,
+    EXIT_SCBM_TIMER_EXPIRE, //exit scbm on timer expiry
+    EXIT_SCBM_NORMAL_CALL,  //exit scbm due to normal call
+    EXIT_SCBM_ECC_CALL,     //exit scbm due to ECC (shall be start ECBM as instead)
+    EXIT_SCBM_SECOND_T911,  //exit scbm due to 2nd T911 (shall be re-started soon after)
+}exit_scbm_reason_enum;
+
+typedef enum
+{
+    MD_SCBM_EXIT,           //MD reports scbm is exited
+    MD_SCBM_ENTER,          //MD reports scbm is entered
+    MD_SCBM_DISABLE,        //MD reports scbm is disabled
+    MD_SCBM_REINIT_TIMER,   //MD reports scbm timer need to be re-init
+}md_scbm_status_enum;
+
+typedef enum
+{
+    VG_OPTION1 = 0x01, // ENAS + LTE
+    VG_OPTION2 = 0x02, // 5G NAS + NR
+    VG_OPTION3 = 0x04, // ENAS + LTE + NR
+    VG_OPTION1_OPTION2 = VG_OPTION1 | VG_OPTION2,
+    VG_OPTION1_OPTION3 = VG_OPTION1 | VG_OPTION3,
+    VG_OPTION1_OPTION2_OPTION3 = VG_OPTION1 | VG_OPTION2 | VG_OPTION3,
+    VG_ENDC    = VG_OPTION3,
+    VG_OPTION4 = 0x08, // 5G NAS + NR + ELTE
+    VG_NEDC    = VG_OPTION4,
+    VG_OPTION5 = 0x10, // 5G NAS + ELTE
+    VG_OPTION7 = 0x40, // 5G NAS + ELTE + NR
+    VG_NG_ENDC = VG_OPTION7,
+    VG_OPTION2_OPTION3 = VG_OPTION2 | VG_OPTION3,
+    VG_OPTION2_OPTION3_OPTION5 = VG_OPTION2_OPTION3 | VG_OPTION5,
+    VG_OPTION1_OPTION2_OPTION3_OPTION5 = VG_OPTION1 | VG_OPTION2 | VG_OPTION3 | VG_OPTION5,
+} vg_option_enum;
+
+typedef enum
+{
+	  GSM_CAPABILITY = 0x01,
+} rat_capability_enum;
+
+#define VGSM_MAX_QFI_NUM        64
+
+typedef enum {
+    VGSM_FLOW_ACTION_EST,
+    VGSM_FLOW_ACTION_MOD,
+    VGSM_FLOW_ACTION_REL,
+
+    VGSM_MAX_NUM_OF_FLOW_ACTION,
+} vgsm_flow_action_enum;
+
+typedef enum {
+    VGSM_FLOW_STATE_INACTIVE,
+    VGSM_FLOW_STATE_ACTIVE,
+    VGSM_MAX_NUM_OF_FLOW_STATE,
+} vgsm_flow_state_enum;
+
+typedef enum {
+    ALWAYS_ON_PDU_SESSION_IND_NOT_ALLOWED = 0,
+    ALWAYS_ON_PDU_SESSION_IND_REQUIRED = 1,
+
+    ALWAYS_ON_PDU_SESSION_IND_ENUM_MAX,
+} always_on_pdu_session_ind_enum;
+
+typedef enum {
+    ALWAYS_ON_PDU_SESSION_REQ_NOT_REQUESTED = 0,
+    ALWAYS_ON_PDU_SESSION_REQ_REQUESTED = 1,
+
+    ALWAYS_ON_PDU_SESSION_REQ_ENUM_MAX,
+} always_on_pdu_session_req_enum;
+
+typedef enum {
+    PDUS_ACCESS_TYPE_3GPP,
+    PDUS_ACCESS_TYPE_N3GPP,
+    PDUS_ACCESS_TYPE_ANY,
+    PDUS_ACCESS_TYPE_MAX_NUM,
+} pdus_access_type_enum;
+
+typedef enum {
+    REL_REQ_BEHAVIOR_REGULAR_RELEASE,
+    REL_REQ_BEHAVIOR_LOCAL_RELEASE_WITHOUT_REGISTRATION_UPDATE,
+    REL_REQ_BEHAVIOR_LOCAL_RELEASE_WITH_REGISTRATION_UPDATE,
+} rel_req_behavior_enum;
+
+/*****************************************************************************
+* DESCRIPTION
+*   Secondary Cell Group connected status, used by EN-DC oe NE-DC
+*****************************************************************************/
+typedef enum
+{
+    INDICATED_NR_SCG_STATUS_NO_UPDATE = 0,      // recipient could drop the info
+    INDICATED_NR_SCG_STATUS_DISCONNECTED,
+    INDICATED_NR_SCG_STATUS_CONNECTED,
+} indicated_nr_scg_status_enum;
+
+/*****************************************************************************
+* DESCRIPTION
+*   NRRC state
+*****************************************************************************/
+
+typedef enum
+{
+    INDICATED_NRRC_STATE_IDLE,
+    INDICATED_NRRC_STATE_CONNECTED,
+    INDICATED_NRRC_STATE_INACTIVE,
+	INDICATED_NRRC_STATE_ENDC,
+} indicated_nrrc_state_enum;
+
+typedef enum
+{
+    VDM_CALL_STATUS_FIRST_CALL_ATTEMPT = 0x01,
+    VDM_CALL_STATUS_FIRST_IMS_CALL_ATTEMPT = 0x02,
+    VDM_CALL_STATUS_FIRST_IMS_CALL_CONNECTED = 0x04,
+    VDM_CALL_STATUS_LAST_IMS_CALL_DISCONNECTED = 0x08, // connected ims call -> disconnected
+    VDM_CALL_STATUS_ALL_IMS_CALL_END = 0x10,
+    VDM_CALL_STATUS_ALL_CALL_END = 0x20,
+    VDM_CALL_STATUS_IMS_GROUP = VDM_CALL_STATUS_FIRST_IMS_CALL_ATTEMPT | VDM_CALL_STATUS_FIRST_IMS_CALL_CONNECTED | VDM_CALL_STATUS_LAST_IMS_CALL_DISCONNECTED | VDM_CALL_STATUS_ALL_IMS_CALL_END,
+    VDM_CALL_STATUS_ALL = VDM_CALL_STATUS_IMS_GROUP | VDM_CALL_STATUS_FIRST_CALL_ATTEMPT | VDM_CALL_STATUS_ALL_CALL_END,
+} vdm_call_status_enum;
+
+typedef kal_uint8 op_feature_bitmap;
+
+typedef enum
+{
+    OP_FEATURE_NONE                     = 0,
+    OP_FEATURE_VG_OPTION2_DISABLED      = 1<<0, // 1
+    OP_FEATURE_VG_OPTION3_DISABLED      = 1<<1, // 2
+    OP_FEATURE_PREFER_ENDC              = 1<<2, // 4
+
+    OP_FEATURE_GSM_SUNSET               = 1<<3, // 8
+    OP_FEATURE_WCDMA_SUNSET             = 1<<4, // 16
+    OP_FEATURE_UMTS_SUNSET              = 1<<5, // 32
+    OP_FEATURE_SA_STORED_ONLY_SEARCH    = 1<<6, // 64
+    OP_FEATURE_ENDC_BEFORE_SA_SEARCH    = 1<<7, // 128
+    OP_FEATURE_END = OP_FEATURE_ENDC_BEFORE_SA_SEARCH // should be the last entry
+} op_feature_enum;
+
+
+/*****************************************************************************
+* SCG Event type
+*****************************************************************************/
+typedef enum {
+   SCG_EVENT_NONE = 0,
+   SCG_EVENT_FAILURE,       // When UE occurred SCG failure
+   SCG_EVENT_RELEASE,       // Whatever it is released by UE or NW
+} scg_event_enum;
+
+/*****************************************************************************
+* DESCRIPTION
+*   PLMN operation
+*****************************************************************************/
+typedef enum {
+    SET_PLMN_FREQ_OPERATION_REMOVE_ALL,
+    SET_PLMN_FREQ_OPERATION_UPDATE
+} set_plmn_freq_operation_enum;
+
+/*****************************************************************************
+* For globalized MAX CID/PSI definition
+*****************************************************************************/
+#define MAX_PS_CID_NUM (MAX_NUM_OF_SUPPORTED_QOS_FLOW)      // max cid number supported in AT command (bearer/flow level)
+#define MAX_PS_PDN_NUM (MAX_L4_PS_PDN_NUM)      // max pdn counts supported in AT command (PDN/PDUS level)
+
+#define PS_NULL_CID (0xFF)
+#define PS_CID_NOT_ALLOCATED (0xFE)
+#define PS_NULL_PSI (0)
+
+#define PS_MIN_CID (0)
+#define PS_MAX_CID (MAX_PS_CID_NUM)
+#define PS_MIN_PSI (1)
+#define PS_MAX_PSI (L4_PS_MAX_PSI)
+
+/*****************************************************************************
+* DESCRIPTION
+*   This enum is used by OSTD to notify MD the AP core status from Sleep Management
+*****************************************************************************/
+typedef enum
+{
+    OSTD_AP_CORE_UNKNOWN = 0,
+    OSTD_AP_CORE_SUSPEND,
+    OSTD_AP_CORE_AWAKE,
+} ostd_ap_core_status_enum;
+
+
+typedef enum
+{
+	CC_CALL_STATE_NULL = 0xC0,
+	CC_CALL_STATE_CALL_INITIATED = 0xC1,
+	CC_CALL_STATE_MM_CONN_PENDING = 0xC2,
+	CC_CALL_STATE_MO_CALL_PROC = 0xC3,
+	CC_CALL_STATE_CALL_DELIVERED = 0xC4,
+	CC_CALL_STATE_CALL_PRESENT = 0xC6,
+	CC_CALL_STATE_CALL_RECVD = 0xC7,
+	CC_CALL_STATE_CONNECT_REQ = 0xC8,
+	CC_CALL_STATE_MT_CALL_CNF = 0xC9,
+	CC_CALL_STATE_ACTIVE = 0xCA,
+	CC_CALL_STATE_DISC_REQ = 0xCB,
+	CC_CALL_STATE_DISC_IND = 0xCC,
+	CC_CALL_STATE_RELEASE_REQ = 0xD3,
+	CC_CALL_STATE_MO_MODIFY = 0xDA,
+	CC_CALL_STATE_MT_MODIFY = 0xDB,
+	CC_CALL_STATE_CONN_IND = 0xDC,
+	CC_CALL_STATE_CC_PROMPT_PRESENT = 0xE2,
+	CC_CALL_STATE_WAIT_FOR_NW_INFO = 0xE3,
+	CC_CALL_STATE_CC_ESTAB_PRESENT = 0xE4,
+	CC_CALL_STATE_CC_ESTAB_CNF = 0xE5,
+	CC_CALL_STATE_RECALL_PRESENT = 0xE6,
+} cc_call_state_enum;
+
+#ifdef __IPC_ADAPTER__
+#define PS_IPCA_IMEI_BM(val) (0x01<<(val))
+// refer to region_type_T
+typedef	enum
+{
+    PS_IPCA_REGION_WORLD            = PS_IPCA_IMEI_BM(0),
+    PS_IPCA_REGION_CHINA            = PS_IPCA_IMEI_BM(1),
+    PS_IPCA_REGION_GLOBAL           = PS_IPCA_IMEI_BM(2),
+    PS_IPCA_REGION_JPN              = PS_IPCA_IMEI_BM(3),
+    PS_IPCA_REGION_KOR              = PS_IPCA_IMEI_BM(4),
+    PS_IPCA_REGION_LATIN_AMERICA    = PS_IPCA_IMEI_BM(5),
+    PS_IPCA_REGION_N_AMERICA_CAN    = PS_IPCA_IMEI_BM(6),
+    PS_IPCA_REGION_N_AMERICA        = PS_IPCA_IMEI_BM(7),
+    PS_IPCA_REGION_N_AMERICA_3GPP2  = PS_IPCA_IMEI_BM(8),
+    PS_IPCA_REGION_USA_FACTORY      = PS_IPCA_IMEI_BM(9),
+    PS_IPCA_REGION_CHN_FACTORY      = PS_IPCA_IMEI_BM(10),
+    PS_IPCA_REGION_JPN_FACTORY      = PS_IPCA_IMEI_BM(11),
+    PS_IPCA_REGION_KOR_FACTORY      = PS_IPCA_IMEI_BM(12),
+    PS_IPCA_REGION_ETC_FACTORY      = PS_IPCA_IMEI_BM(13),
+    PS_IPCA_REGION_GCF              = PS_IPCA_IMEI_BM(14),
+    PS_IPCA_REGION_UNKNOWN          = 0xffff
+} ps_ipca_region_enum;
+#endif
+
+/* IPC NET NW SCAN - ENUM for band */
+typedef enum
+{
+    NW_SCAN_BAND_NONE    = 0,
+    NW_SCAN_LTE_BAND_1   = 1,
+    NW_SCAN_LTE_BAND_2   = 2,
+    NW_SCAN_LTE_BAND_3   = 3,
+    NW_SCAN_LTE_BAND_4   = 4,
+    NW_SCAN_LTE_BAND_5   = 5,
+    NW_SCAN_LTE_BAND_6   = 6,
+    NW_SCAN_LTE_BAND_7   = 7,
+    NW_SCAN_LTE_BAND_8   = 8,
+    NW_SCAN_LTE_BAND_9   = 9,
+    NW_SCAN_LTE_BAND_10  = 10,
+    NW_SCAN_LTE_BAND_11  = 11,
+    NW_SCAN_LTE_BAND_12  = 12,
+    NW_SCAN_LTE_BAND_13  = 13,
+    NW_SCAN_LTE_BAND_14  = 14,
+    NW_SCAN_LTE_BAND_17  = 17,
+    NW_SCAN_LTE_BAND_18  = 18,
+    NW_SCAN_LTE_BAND_19  = 19,
+    NW_SCAN_LTE_BAND_20  = 20,
+    NW_SCAN_LTE_BAND_21  = 21,
+    NW_SCAN_LTE_BAND_22  = 22,
+    NW_SCAN_LTE_BAND_23  = 23,
+    NW_SCAN_LTE_BAND_24  = 24,
+    NW_SCAN_LTE_BAND_25  = 25,
+    NW_SCAN_LTE_BAND_26  = 26,
+    NW_SCAN_LTE_BAND_27  = 27,
+    NW_SCAN_LTE_BAND_28  = 28,
+    NW_SCAN_LTE_BAND_29  = 29,
+    NW_SCAN_LTE_BAND_30  = 30,
+    NW_SCAN_LTE_BAND_31  = 31,
+    NW_SCAN_LTE_BAND_32  = 32,
+    NW_SCAN_LTE_BAND_33  = 33,
+    NW_SCAN_LTE_BAND_34  = 34,
+    NW_SCAN_LTE_BAND_35  = 35,
+    NW_SCAN_LTE_BAND_36  = 36,
+    NW_SCAN_LTE_BAND_37  = 37,
+    NW_SCAN_LTE_BAND_38  = 38,
+    NW_SCAN_LTE_BAND_39  = 39,
+    NW_SCAN_LTE_BAND_40  = 40,
+    NW_SCAN_LTE_BAND_41  = 41,
+    NW_SCAN_LTE_BAND_42  = 42,
+    NW_SCAN_LTE_BAND_43  = 43,
+    NW_SCAN_LTE_BAND_44  = 44,
+    NW_SCAN_LTE_BAND_45  = 45,
+    NW_SCAN_LTE_BAND_46  = 46,
+    NW_SCAN_LTE_BAND_47  = 47,
+    NW_SCAN_LTE_BAND_48  = 48,
+    NW_SCAN_LTE_BAND_49  = 49,
+    NW_SCAN_LTE_BAND_50  = 50,
+    NW_SCAN_LTE_BAND_51  = 51,
+    NW_SCAN_LTE_BAND_52  = 52,
+    NW_SCAN_LTE_BAND_65  = 65,
+    NW_SCAN_LTE_BAND_66  = 66,
+    NW_SCAN_LTE_BAND_67  = 67,
+    NW_SCAN_LTE_BAND_68  = 68,
+    NW_SCAN_LTE_BAND_69  = 69,
+    NW_SCAN_LTE_BAND_70  = 70,
+    NW_SCAN_LTE_BAND_71  = 71,
+    NW_SCAN_LTE_BAND_72  = 72,
+    NW_SCAN_LTE_BAND_73  = 73,
+    NW_SCAN_LTE_BAND_74  = 74,
+    NW_SCAN_LTE_BAND_75  = 75,
+    NW_SCAN_LTE_BAND_76  = 76,
+    NW_SCAN_LTE_BAND_85  = 85,
+    NW_SCAN_UMTS_BAND_1  = 101,
+    NW_SCAN_UMTS_BAND_2  = 102,
+    NW_SCAN_UMTS_BAND_3  = 103,
+    NW_SCAN_UMTS_BAND_4  = 104,
+    NW_SCAN_UMTS_BAND_5  = 105,
+    NW_SCAN_UMTS_BAND_6  = 106,
+    NW_SCAN_UMTS_BAND_7  = 107,
+    NW_SCAN_UMTS_BAND_8  = 108,
+    NW_SCAN_UMTS_BAND_9  = 109,
+    NW_SCAN_UMTS_BAND_10 = 110,
+    NW_SCAN_UMTS_BAND_11 = 111,
+    NW_SCAN_UMTS_BAND_12 = 112,
+    NW_SCAN_UMTS_BAND_13 = 113,
+    NW_SCAN_UMTS_BAND_14 = 114,
+    NW_SCAN_UMTS_BAND_19 = 119,
+    NW_SCAN_UMTS_BAND_20 = 120,
+    NW_SCAN_UMTS_BAND_21 = 121,
+    NW_SCAN_UMTS_BAND_22 = 122,
+    NW_SCAN_UMTS_BAND_25 = 125,
+    NW_SCAN_UMTS_BAND_26 = 126,
+    NW_SCAN_UMTS_BAND_32 = 132,
+    NW_SCAN_UMTS_BAND_33 = 133,
+    NW_SCAN_UMTS_BAND_34 = 134,
+    NW_SCAN_UMTS_BAND_35 = 135,
+    NW_SCAN_UMTS_BAND_36 = 136,
+    NW_SCAN_UMTS_BAND_37 = 137,
+    NW_SCAN_UMTS_BAND_38 = 138,
+    NW_SCAN_UMTS_BAND_39 = 139,
+    NW_SCAN_UMTS_BAND_40 = 140,
+    NW_SCAN_GSM_BAND_850 = 151,
+    NW_SCAN_GSM_BAND_900 = 152,
+    NW_SCAN_GSM_BAND_1800= 153,
+    NW_SCAN_GSM_BAND_1900= 154,
+    NW_SCAN_NR_BAND_1    = 1001,
+    NW_SCAN_NR_BAND_2    = 1002,
+    NW_SCAN_NR_BAND_3    = 1003,
+    NW_SCAN_NR_BAND_4    = 1004,
+    NW_SCAN_NR_BAND_5    = 1005,
+    NW_SCAN_NR_BAND_6    = 1006,
+    NW_SCAN_NR_BAND_7    = 1007,
+    NW_SCAN_NR_BAND_8    = 1008,
+    NW_SCAN_NR_BAND_9    = 1009,
+    NW_SCAN_NR_BAND_10   = 1010,
+    NW_SCAN_NR_BAND_11   = 1011,
+    NW_SCAN_NR_BAND_12   = 1012,
+    NW_SCAN_NR_BAND_13   = 1013,
+    NW_SCAN_NR_BAND_14   = 1014,
+    NW_SCAN_NR_BAND_15   = 1015,
+    NW_SCAN_NR_BAND_16   = 1016,
+    NW_SCAN_NR_BAND_17   = 1017,
+    NW_SCAN_NR_BAND_18   = 1018,
+    NW_SCAN_NR_BAND_19   = 1019,
+    NW_SCAN_NR_BAND_20   = 1020,
+    NW_SCAN_NR_BAND_21   = 1021,
+    NW_SCAN_NR_BAND_22   = 1022,
+    NW_SCAN_NR_BAND_23   = 1023,
+    NW_SCAN_NR_BAND_24   = 1024,
+    NW_SCAN_NR_BAND_25   = 1025,
+    NW_SCAN_NR_BAND_26   = 1026,
+    NW_SCAN_NR_BAND_27   = 1027,
+    NW_SCAN_NR_BAND_28   = 1028,
+    NW_SCAN_NR_BAND_29   = 1029,
+    NW_SCAN_NR_BAND_30   = 1030,
+    NW_SCAN_NR_BAND_31   = 1031,
+    NW_SCAN_NR_BAND_32   = 1032,
+    NW_SCAN_NR_BAND_33   = 1033,
+    NW_SCAN_NR_BAND_34   = 1034,
+    NW_SCAN_NR_BAND_35   = 1035,
+    NW_SCAN_NR_BAND_36   = 1036,
+    NW_SCAN_NR_BAND_37   = 1037,
+    NW_SCAN_NR_BAND_38   = 1038,
+    NW_SCAN_NR_BAND_39   = 1039,
+    NW_SCAN_NR_BAND_40   = 1040,
+    NW_SCAN_NR_BAND_41   = 1041,
+    NW_SCAN_NR_BAND_42   = 1042,
+    NW_SCAN_NR_BAND_43   = 1043,
+    NW_SCAN_NR_BAND_44   = 1044,
+    NW_SCAN_NR_BAND_45   = 1045,
+    NW_SCAN_NR_BAND_46   = 1046,
+    NW_SCAN_NR_BAND_47   = 1047,
+    NW_SCAN_NR_BAND_48   = 1048,
+    NW_SCAN_NR_BAND_49   = 1049,
+    NW_SCAN_NR_BAND_50   = 1050,
+    NW_SCAN_NR_BAND_51   = 1051,
+    NW_SCAN_NR_BAND_52   = 1052,
+    NW_SCAN_NR_BAND_53   = 1053,
+    NW_SCAN_NR_BAND_54   = 1054,
+    NW_SCAN_NR_BAND_55   = 1055,
+    NW_SCAN_NR_BAND_56   = 1056,
+    NW_SCAN_NR_BAND_57   = 1057,
+    NW_SCAN_NR_BAND_58   = 1058,
+    NW_SCAN_NR_BAND_59   = 1059,
+    NW_SCAN_NR_BAND_60   = 1060,
+    NW_SCAN_NR_BAND_61   = 1061,
+    NW_SCAN_NR_BAND_62   = 1062,
+    NW_SCAN_NR_BAND_63   = 1063,
+    NW_SCAN_NR_BAND_64   = 1064,
+    NW_SCAN_NR_BAND_65   = 1065,
+    NW_SCAN_NR_BAND_66   = 1066,
+    NW_SCAN_NR_BAND_67   = 1067,
+    NW_SCAN_NR_BAND_68   = 1068,
+    NW_SCAN_NR_BAND_69   = 1069,
+    NW_SCAN_NR_BAND_70   = 1070,
+    NW_SCAN_NR_BAND_71   = 1071,
+    NW_SCAN_NR_BAND_72   = 1072,
+    NW_SCAN_NR_BAND_73   = 1073,
+    NW_SCAN_NR_BAND_74   = 1074,
+    NW_SCAN_NR_BAND_75   = 1075,
+    NW_SCAN_NR_BAND_76   = 1076,
+    NW_SCAN_NR_BAND_77   = 1077,
+    NW_SCAN_NR_BAND_78   = 1078,
+    NW_SCAN_NR_BAND_79   = 1079,
+    NW_SCAN_NR_BAND_80   = 1080,
+    NW_SCAN_NR_BAND_81   = 1081,
+    NW_SCAN_NR_BAND_82   = 1082,
+    NW_SCAN_NR_BAND_83   = 1083,
+    NW_SCAN_NR_BAND_84   = 1084,
+    NW_SCAN_NR_BAND_85   = 1085,
+    NW_SCAN_NR_BAND_86   = 1086,
+    NW_SCAN_NR_BAND_87   = 1087,
+    NW_SCAN_NR_BAND_88   = 1088,
+    NW_SCAN_NR_BAND_89   = 1089,
+    NW_SCAN_NR_BAND_90   = 1090,
+    NW_SCAN_NR_BAND_91   = 1091,
+    NW_SCAN_NR_BAND_92   = 1092,
+    NW_SCAN_NR_BAND_93   = 1093,
+    NW_SCAN_NR_BAND_94   = 1094,
+    NW_SCAN_NR_BAND_95   = 1095,
+    NW_SCAN_NR_BAND_96   = 1096,
+    NW_SCAN_NR_BAND_97   = 1097,
+    NW_SCAN_NR_BAND_98   = 1098,
+    NW_SCAN_NR_BAND_99   = 1099,
+    NW_SCAN_NR_BAND_100  = 1100,
+    NW_SCAN_NR_BAND_101  = 1101,
+    NW_SCAN_NR_BAND_102  = 1102,
+    NW_SCAN_NR_BAND_103  = 1103,
+    NW_SCAN_NR_BAND_104  = 1104,
+    NW_SCAN_NR_BAND_105  = 1105,
+    NW_SCAN_NR_BAND_106  = 1106,
+    NW_SCAN_NR_BAND_107  = 1107,
+    NW_SCAN_NR_BAND_108  = 1108,
+    NW_SCAN_NR_BAND_109  = 1109,
+    NW_SCAN_NR_BAND_110  = 1110,
+    NW_SCAN_NR_BAND_111  = 1111,
+    NW_SCAN_NR_BAND_112  = 1112,
+    NW_SCAN_NR_BAND_113  = 1113,
+    NW_SCAN_NR_BAND_114  = 1114,
+    NW_SCAN_NR_BAND_115  = 1115,
+    NW_SCAN_NR_BAND_116  = 1116,
+    NW_SCAN_NR_BAND_117  = 1117,
+    NW_SCAN_NR_BAND_118  = 1118,
+    NW_SCAN_NR_BAND_119  = 1119,
+    NW_SCAN_NR_BAND_120  = 1120,
+    NW_SCAN_NR_BAND_121  = 1121,
+    NW_SCAN_NR_BAND_122  = 1122,
+    NW_SCAN_NR_BAND_123  = 1123,
+    NW_SCAN_NR_BAND_124  = 1124,
+    NW_SCAN_NR_BAND_125  = 1125,
+    NW_SCAN_NR_BAND_126  = 1126,
+    NW_SCAN_NR_BAND_127  = 1127,
+    NW_SCAN_NR_BAND_128  = 1128,
+    NW_SCAN_NR_BAND_129  = 1129,
+    NW_SCAN_NR_BAND_130  = 1130,
+    NW_SCAN_NR_BAND_131  = 1131,
+    NW_SCAN_NR_BAND_132  = 1132,
+    NW_SCAN_NR_BAND_133  = 1133,
+    NW_SCAN_NR_BAND_134  = 1134,
+    NW_SCAN_NR_BAND_135  = 1135,
+    NW_SCAN_NR_BAND_136  = 1136,
+    NW_SCAN_NR_BAND_137  = 1137,
+    NW_SCAN_NR_BAND_138  = 1138,
+    NW_SCAN_NR_BAND_139  = 1139,
+    NW_SCAN_NR_BAND_140  = 1140,
+    NW_SCAN_NR_BAND_141  = 1141,
+    NW_SCAN_NR_BAND_142  = 1142,
+    NW_SCAN_NR_BAND_143  = 1143,
+    NW_SCAN_NR_BAND_144  = 1144,
+    NW_SCAN_NR_BAND_145  = 1145,
+    NW_SCAN_NR_BAND_146  = 1146,
+    NW_SCAN_NR_BAND_147  = 1147,
+    NW_SCAN_NR_BAND_148  = 1148,
+    NW_SCAN_NR_BAND_149  = 1149,
+    NW_SCAN_NR_BAND_150  = 1150,
+    NW_SCAN_NR_BAND_151  = 1151,
+    NW_SCAN_NR_BAND_152  = 1152,
+    NW_SCAN_NR_BAND_153  = 1153,
+    NW_SCAN_NR_BAND_154  = 1154,
+    NW_SCAN_NR_BAND_155  = 1155,
+    NW_SCAN_NR_BAND_156  = 1156,
+    NW_SCAN_NR_BAND_157  = 1157,
+    NW_SCAN_NR_BAND_158  = 1158,
+    NW_SCAN_NR_BAND_159  = 1159,
+    NW_SCAN_NR_BAND_160  = 1160,
+    NW_SCAN_NR_BAND_161  = 1161,
+    NW_SCAN_NR_BAND_162  = 1162,
+    NW_SCAN_NR_BAND_163  = 1163,
+    NW_SCAN_NR_BAND_164  = 1164,
+    NW_SCAN_NR_BAND_165  = 1165,
+    NW_SCAN_NR_BAND_166  = 1166,
+    NW_SCAN_NR_BAND_167  = 1167,
+    NW_SCAN_NR_BAND_168  = 1168,
+    NW_SCAN_NR_BAND_169  = 1169,
+    NW_SCAN_NR_BAND_170  = 1170,
+    NW_SCAN_NR_BAND_171  = 1171,
+    NW_SCAN_NR_BAND_172  = 1172,
+    NW_SCAN_NR_BAND_173  = 1173,
+    NW_SCAN_NR_BAND_174  = 1174,
+    NW_SCAN_NR_BAND_175  = 1175,
+    NW_SCAN_NR_BAND_176  = 1176,
+    NW_SCAN_NR_BAND_177  = 1177,
+    NW_SCAN_NR_BAND_178  = 1178,
+    NW_SCAN_NR_BAND_179  = 1179,
+    NW_SCAN_NR_BAND_180  = 1180,
+    NW_SCAN_NR_BAND_181  = 1181,
+    NW_SCAN_NR_BAND_182  = 1182,
+    NW_SCAN_NR_BAND_183  = 1183,
+    NW_SCAN_NR_BAND_184  = 1184,
+    NW_SCAN_NR_BAND_185  = 1185,
+    NW_SCAN_NR_BAND_186  = 1186,
+    NW_SCAN_NR_BAND_187  = 1187,
+    NW_SCAN_NR_BAND_188  = 1188,
+    NW_SCAN_NR_BAND_189  = 1189,
+    NW_SCAN_NR_BAND_190  = 1190,
+    NW_SCAN_NR_BAND_191  = 1191,
+    NW_SCAN_NR_BAND_192  = 1192,
+    NW_SCAN_NR_BAND_193  = 1193,
+    NW_SCAN_NR_BAND_194  = 1194,
+    NW_SCAN_NR_BAND_195  = 1195,
+    NW_SCAN_NR_BAND_196  = 1196,
+    NW_SCAN_NR_BAND_197  = 1197,
+    NW_SCAN_NR_BAND_198  = 1198,
+    NW_SCAN_NR_BAND_199  = 1199,
+    NW_SCAN_NR_BAND_200  = 1200,
+    NW_SCAN_NR_BAND_201  = 1201,
+    NW_SCAN_NR_BAND_202  = 1202,
+    NW_SCAN_NR_BAND_203  = 1203,
+    NW_SCAN_NR_BAND_204  = 1204,
+    NW_SCAN_NR_BAND_205  = 1205,
+    NW_SCAN_NR_BAND_206  = 1206,
+    NW_SCAN_NR_BAND_207  = 1207,
+    NW_SCAN_NR_BAND_208  = 1208,
+    NW_SCAN_NR_BAND_209  = 1209,
+    NW_SCAN_NR_BAND_210  = 1210,
+    NW_SCAN_NR_BAND_211  = 1211,
+    NW_SCAN_NR_BAND_212  = 1212,
+    NW_SCAN_NR_BAND_213  = 1213,
+    NW_SCAN_NR_BAND_214  = 1214,
+    NW_SCAN_NR_BAND_215  = 1215,
+    NW_SCAN_NR_BAND_216  = 1216,
+    NW_SCAN_NR_BAND_217  = 1217,
+    NW_SCAN_NR_BAND_218  = 1218,
+    NW_SCAN_NR_BAND_219  = 1219,
+    NW_SCAN_NR_BAND_220  = 1220,
+    NW_SCAN_NR_BAND_221  = 1221,
+    NW_SCAN_NR_BAND_222  = 1222,
+    NW_SCAN_NR_BAND_223  = 1223,
+    NW_SCAN_NR_BAND_224  = 1224,
+    NW_SCAN_NR_BAND_225  = 1225,
+    NW_SCAN_NR_BAND_226  = 1226,
+    NW_SCAN_NR_BAND_227  = 1227,
+    NW_SCAN_NR_BAND_228  = 1228,
+    NW_SCAN_NR_BAND_229  = 1229,
+    NW_SCAN_NR_BAND_230  = 1230,
+    NW_SCAN_NR_BAND_231  = 1231,
+    NW_SCAN_NR_BAND_232  = 1232,
+    NW_SCAN_NR_BAND_233  = 1233,
+    NW_SCAN_NR_BAND_234  = 1234,
+    NW_SCAN_NR_BAND_235  = 1235,
+    NW_SCAN_NR_BAND_236  = 1236,
+    NW_SCAN_NR_BAND_237  = 1237,
+    NW_SCAN_NR_BAND_238  = 1238,
+    NW_SCAN_NR_BAND_239  = 1239,
+    NW_SCAN_NR_BAND_240  = 1240,
+    NW_SCAN_NR_BAND_241  = 1241,
+    NW_SCAN_NR_BAND_242  = 1242,
+    NW_SCAN_NR_BAND_243  = 1243,
+    NW_SCAN_NR_BAND_244  = 1244,
+    NW_SCAN_NR_BAND_245  = 1245,
+    NW_SCAN_NR_BAND_246  = 1246,
+    NW_SCAN_NR_BAND_247  = 1247,
+    NW_SCAN_NR_BAND_248  = 1248,
+    NW_SCAN_NR_BAND_249  = 1249,
+    NW_SCAN_NR_BAND_250  = 1250,
+    NW_SCAN_NR_BAND_251  = 1251,
+    NW_SCAN_NR_BAND_252  = 1252,
+    NW_SCAN_NR_BAND_253  = 1253,
+    NW_SCAN_NR_BAND_254  = 1254,
+    NW_SCAN_NR_BAND_255  = 1255,
+    NW_SCAN_NR_BAND_256  = 1256,
+    NW_SCAN_NR_BAND_257  = 1257,
+    NW_SCAN_NR_BAND_258  = 1258,
+    NW_SCAN_NR_BAND_259  = 1259,
+    NW_SCAN_NR_BAND_260  = 1260,
+    NW_SCAN_NR_BAND_261  = 1261
+} nw_scan_band_enum;
+
+#ifdef __MBIM_MS_NETWORK_BLACKLIST__
+typedef enum{
+    NW_BLACK_LIST_OPERATOR_SUCCESS, /* read or write success */
+    NW_BLACK_LIST_NOT_SUPPORT,      /* not support black list */
+    NW_BLACK_LIST_INVALID_PARAM,    /* parameters is invalid */
+    NW_BLACK_LIST_OPERATOR_FAILURE  /* read or write failure */
+}nw_black_list_operator_result_enum;
+#endif
+
+typedef enum
+{
+    MAIF_MCC_231        = 0,    //Slovakia
+    MAIF_MCC_234        = 1,    //United Kingdom
+    MAIF_MCC_240        = 2,    //Sweden
+    MAIF_MCC_244        = 3,    //Finland
+    MAIF_MCC_246	    = 4,    //Lithuania
+    MAIF_MCC_260 	    = 5,    //Poland
+    MAIF_MCC_262 	    = 6,    //Germany
+    MAIF_MCC_286        = 7,    //Turkey
+    MAIF_MCC_293        = 8,    //Slovenia
+    MAIF_MCC_310        = 9,    //USA
+    MAIF_MCC_334        = 10,   //Mexico
+    MAIF_MCC_404_405    = 11,   //India
+    MAIF_MCC_414        = 12,   //Myanmar
+    MAIF_MCC_424        = 13,   //United Arab Emirates
+    MAIF_MCC_450        = 14,   //South Korea
+    MAIF_MCC_454        = 15,   //Hong Kong
+    MAIF_MCC_454_460    = 16,   //Hong Kong + China
+    MAIF_MCC_456        = 17,   //Cambodia
+    MAIF_MCC_460        = 18,   //China
+    MAIF_MCC_466        = 19,   //Taiwan
+    MAIF_MCC_505        = 20,   //Australia
+    MAIF_MCC_525        = 21,   //Singapore
+    MAIF_MCC_530        = 22,   //New Zealand
+    MAIF_MCC_639        = 23,   //Kenya
+    MAIF_MCC_714        = 24,   //Panama
+    MAIF_MCC_732        = 25,   //Colombia
+    MAIF_MCC_MAX        = 26,
+} maif_mcc_enum;
+
+/* bitmap */
+typedef enum
+{
+    L4C_SIG_UNKNOWN     = 0,
+    L4C_SIG_LTE_RSRP    = 1,
+    L4C_SIG_LTE_RS_SNR  = 2,
+    L4C_SIG_LTE_RSRQ    = 4,
+} l4c_errc_handover_signal_type_enum;
+
+/* bitmap */
+typedef enum
+{
+    L4C_SIG_NR_UNKNOWN  = 0,
+    L4C_SIG_NR_SS_RSRP  = 1,
+    L4C_SIG_NR_SS_RSRQ  = 2,
+    L4C_SIG_NR_SS_SINR  = 4,
+} l4c_nrrc_handover_signal_type_enum;
+
+typedef enum
+{
+    L4C_AT_HO_SIG_LTE_RSRP   = 0,
+    L4C_AT_HO_SIG_LTE_RS_SNR = 1,
+    L4C_AT_HO_SIG_UMTS_RSCP  = 2,
+    L4C_AT_HO_SIG_UMTS_ECNO  = 3,
+    L4C_AT_HO_SIG_LTE_RSRQ   = 4,
+    L4C_AT_HO_SIG_NR_SS_RSRP = 5,
+} l4c_atcmd_urc_ho_signal_type_enum;
+
+typedef enum
+{
+    L4C_NORMAL_REPORT          = 0,
+    L4C_INITIAL_REPORT         = 1,
+    L4C_THRESHOLD_CROSS_REPORT = 2
+} l4c_signal_reporting_type_enum;
+
+typedef enum
+{
+    PORT_DEFAULT = 0x89,
+	PORT_UNLOCK = 0xAB,
+ 	PORT_LOCK = 0xCD
+}port_lock_enum;
+
+typedef enum
+{
+    PORTLOCK_READ_MODE,
+    PORTLOCK_WRITE_MODE
+}port_lock_mode_enum;
+
+typedef enum
+{
+    PORTLOCK_FAILURE,
+    PORTLOCK_SUCCESS,
+    PORTLOCK_REBOOT_REQUIRED
+}port_lock_status_rsp_enum;
+
+typedef enum
+{
+    VZW_BARRING_TIMER_TYPE_TPLMN,
+    VZW_BARRING_TIMER_TYPE_T5GNRSA,
+    VZW_BARRING_TIMER_TYPE_MAX,
+}vzw_barring_timer_type_enum;
+
+typedef enum
+{
+    DISABLE_ALLOWED_MCC_LIST,
+    ENABLE_ALLOWED_MCC_LIST
+}allowed_mcc_list_action_enum;
+
+typedef enum
+{
+    L4C_NW_DRB_STATE_REPORT_NONE = 0x00,
+    L4C_NW_DRB_STATE_REPORT_LTE = 0x01,
+    L4C_NW_DRB_STATE_REPORT_ENDC = 0x02,
+    L4C_NW_DRB_STATE_REPORT_NR = 0x04
+} l4c_nw_drb_state_enum;
+
+#endif /* _PS_PUBLIC_ENUM_H_ */