blob: 888c89cb60a6d69fbe4c522624c99f59dc35aec2 [file] [log] [blame]
/*****************************************************************************
* 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:
* ---------
* l3_inc_enums.h
*
* Project:
* --------
* MAUI
*
* Description:
* ------------
*
* Author:
* -------
* -------
*
*============================================================================
* HISTORY
* Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
*------------------------------------------------------------------------------
* removed!
*
* removed!
* removed!
* removed!
* removed!
*
* removed!
* removed!
*
* removed!
* removed!
* removed!
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
* removed!
*
* removed!
* removed!
*
* removed!
* removed!
* removed!
* removed!
*
* removed!
* removed!
*
* removed!
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
* removed!
*
* removed!
* removed!
*
* removed!
* removed!
* removed!
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
* removed!
*
* removed!
* removed!
*
* removed!
*
* removed!
* removed!
*
* removed!
*
* removed!
* removed!
*
* removed!
* removed!
*
* removed!
* removed!
*
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
*
* removed!
*
* removed!
* removed!
*
* removed!
*
* removed!
* removed!
*
* removed!
*
* removed!
* removed!
*
* removed!
*
* removed!
* removed!
*
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
*
* removed!
*
* removed!
* removed!
*
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
*
* removed!
*
* removed!
* removed!
*
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
*
* removed!
*
* removed!
* removed!
*
* removed!
*
* removed!
* removed!
*
* removed!
*
* removed!
* removed!
*
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
*
* removed!
*
* removed!
* removed!
*
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
*
* removed!
*
* removed!
* removed!
*
* removed!
*
* removed!
* removed!
*
* removed!
*
* removed!
* removed!
*
* removed!
*
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
*
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
*
* removed!
*
* removed!
* removed!
*
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
*
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
*
* removed!
*
* removed!
* removed!
*
* removed!
*
* removed!
* removed!
*
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
*
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
*
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
*
*
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
*
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
*
* removed!
*
* removed!
* removed!
*
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
*
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
*
* removed!
* removed!
*
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
* removed!
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
*
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
*
* removed!
*
* removed!
*
* removed!
* removed!
*
* removed!
*
* removed!
* removed!
*
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
*
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
*
* removed!
*
* removed!
* removed!
*
* removed!
*
* removed!
* removed!
* removed!
* removed!
* removed!
*
* removed!
* removed!
*
* removed!
* removed!
*
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
*
* removed!
* removed!
*
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
*
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
*
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
*
* removed!
*
* removed!
* removed!
*
* removed!
*
* removed!
* removed!
*
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
*
* removed!
*
* removed!
* removed!
*
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
*
* removed!
*
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
* removed!
*
* removed!
* removed!
*
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
*
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
*
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
* removed!
* removed!
* removed!
* removed!
* removed!
* removed!
* removed!
* removed!
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
*
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
*
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
*
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
*
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
*
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
*
*
* removed!
* removed!
*
*
* removed!
* removed!
*
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
*
*
* removed!
* removed!
*
*
* removed!
* removed!
*
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
*
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
*
*
* removed!
* removed!
*
*
* removed!
* removed!
*
*
* removed!
* removed!
*
*
* removed!
* removed!
*
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
*
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
*
*
* removed!
* removed!
*
*
* removed!
* removed!
*
*
* removed!
* removed!
*
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
*
*
* removed!
* removed!
*
*
* removed!
* removed!
*
*
* removed!
* removed!
*
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
*
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
*
*
* removed!
* removed!
*
*
* removed!
* removed!
*
*
* removed!
* removed!
*
*
* removed!
* removed!
*
*
* removed!
* removed!
*
*
* removed!
* removed!
*
*
* removed!
* removed!
*
*
* removed!
* removed!
*
*
* removed!
* removed!
*
*
* removed!
* removed!
*
*
* removed!
* removed!
*
*
* removed!
* removed!
*
*
* removed!
* removed!
*
*
* removed!
* removed!
*
*
* removed!
* removed!
*
*
* removed!
* removed!
*
*
* removed!
* removed!
*
*
* removed!
* removed!
*
*
* removed!
* removed!
*
*
* removed!
* removed!
*
*
* removed!
* removed!
*
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
*
*
* removed!
* removed!
*
*
* removed!
* removed!
*
*
*------------------------------------------------------------------------------
* Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
*============================================================================
****************************************************************************/
/********************************************************************************
* Copyright Statement:
* --------------------
*
* This product has been developed using a protocol stack
* developed by Sasken Communication Technologies Limited.
*
********************************************************************************/
#ifndef _l3_INC_ENUMS_H
#define _l3_INC_ENUMS_H
//------------------------------ suggest Add ------------------------------
//#include "kal_non_specific_general_types.h"
//#include "ps_public_enum.h"
//------------------------------ suggest Add ------------------------------
#include "ps_public_enum.h"
#include "kal_general_types.h"
/* Temp solution fro MM Pre-integration */
#include "irat_common_enums.h"
#include "l3_inc_enums_public.h"
#include "as_inter_core_enum.h"
/* UAS/GAS <-> RATCM begin */
#define MAX_RECOVERY_TIMER_NUM 23 /* Should in range 1 ~ 256 */
#define RECOVERY_TIMER_PERIOD_MULTIPLIER 1
/* move to cross core */
//#ifdef __R7_EHPLMN__
//#define MAX_NUM_HPLMN 4
//#else
//#define MAX_NUM_HPLMN 1
//#endif
#define MAX_NUM_EMC_FPLMN 32
#define MAX_NUM_SNIFFER_PLMN (MAX_NUM_EQ_PLMN + MD1_MAX_NUM_HPLMN - 1)
/* Consider Share network for signal_appear_ind */
#define MAX_NUM_SIGNAL_APPEAR_PLMN 12
#ifdef __SEARCH_ALL_EHPLMN_TOGETHER__
/* __SEARCH_ALL_EHPLMN_TOGETHER__ is dependent on __R7_EHPLMN__, so MAX_NUM_HPLMN == 4 here. */
#define MAX_NUM_SEARCH_PLMN (MAX_NUM_EQ_PLMN + MD1_MAX_NUM_HPLMN - 1)
#else
#define MAX_NUM_SEARCH_PLMN (MAX_NUM_EQ_PLMN + 1)
#endif
#define EXTRA_INFO_BITMASK_DSAC (0x01)
#define EXTRA_INFO_BITMASK_DATA_SPEED_SUPPORT (0x02)
#define EXTRA_INFO_BITMASK_PPACR (0x04)
#define EXTRA_INFO_BITMASK_CSG (0x08)
#define EXTRA_INFO_BITMASK_BAND_INFO (0x10)
#define MAX_NUM_PLMN_PER_RAT 16
/* <CDR-FEM-620> CSG Aware UICC Configuration�XEF-Operator CSG Lists
The device shall support at least 35 CSG ID's */
#ifdef UNIT_TEST
#define MAX_CSG_NUM 10
#else
#define MAX_CSG_NUM 50
#endif
#define MAX_LEN_OF_IMSI_LOCI_GLOCI (9+11+14)
#define PS_INVALID_PLMN_SEARCH_TRX_ID 0xff /* Ripple */
/* UAS/GAS <-> RATCM end */
/* L4C <-> ENAS/EAS begin */
#define EARFCN_RANGE_NUM 3
#define PCI_RANGE_NUM 3
#define MAX_NUM_FPLMNS 255
/* L4C <-> ENAS/EAS end */
/* ERAC <-> ENAS/EAS begin */
#define SIZE_IMSI 9
#define SIZE_IMEI 9
#define SIZE_EPSLOCI 18
#define SIZE_EPSNSC 54
#define SIZE_DRX_DATA 2
#define MAX_SUPPORTED_CODEC_LEN 8
/* ERAC <-> ENAS/EAS end */
/* VGRAC <-> VGMM begin */
#define SIZE_OF_IMEISV 9
#define LEN_OF_NSSAI_LIST_LONG 144 // Space for 16 S-NSSAI
#define LEN_OF_NSSAI_LIST_SHORT 72 // Space for 8 S-NSSAI
#define VGS_NSSAI_DEFAULT_CONFIGURED 0x01
#define VGS_NSSAI_REJECTED 0x02
#define VGS_NSSAI_CONFIGURED 0x04
#define VGS_NSSAI_ALLOWED 0x08
#define VGS_NSSAI_PREFERRED 0x10
#define NUM_NSSAI_PLMN_IDS 16
#define VGS_CLEAR_PREFERRED_NSSAI_3GPP 0x01
#define VGS_CLEAR_PREFERRED_NSSAI_NON3GPP 0x02
/* VGRAC <-> VGMM end */
#define EMM_T3402_DEFAULT_VAL 720
/* move to cross core */
//#define NWSEL_MAX_NUM_PLMNS (32)
//0xAE(ActivE)
#define NWSEL_TRX_ID_TO_SET_ACTIVE_RAT 0xAE
/* GMSS <-> NWSEL */
#define MAX_MCC_SEARCH_RAT_NUM 3
/* NWSEL -> xAS */
#define MAX_NUM_OF_MCC 12
/* PAM <-> NWSEL */
#define MAX_THROTTLING_APN_BLOCK_NUM 32
/*NWSEL/RAC <-> EMM/GMM/MM*/
#define DOS_ENHANCEMENT_MAX_RETRY_VALUE 3
/* VGMM <-> VGSM/LPP */
#define MAX_NUM_OF_OPT_IE_MULTI 4
#define MAX_LEN_OF_OPT_IE_MULTI 260
/* IEI used in MULTIPLE PAYLOAD */
#define VGMM_REQ_TYPE_IEI 0x08
#define VGMM_PDU_SESSION_ID_IEI 0x12
#define VGMM_S_NSSAI_IEI 0x22
#define VGMM_ADDITIONAL_INFORMATION_IEI 0x24
#define VGMM_DNN_IEI 0x25
#define VGMM_T_BACK_OFF_IEI 0x37
#define VGMM_CAUSE_IEI 0x58
#define VGMM_OLD_PDU_SESSION_ID_IEI 0x59
/* Interworking Definitions */
#define S1_N1_NAS_TRANSPARENT_CONTAINER_IE_LENGTH 8
typedef enum
{
CH_MODE_NONE = 0xff,
SIGNALLING_ONLY = 0x00,
SPEECH_FULL_OR_HALF_VER_1 = 0x01,
SPEECH_FULL_OR_HALF_VER_1_VAMOS = 0xc1, /* SPEECH Ver3 in VAMOS */
SPEECH_FULL_OR_HALF_VER_2 = 0x21,
SPEECH_FULL_OR_HALF_VER_2_VAMOS = 0xc2, /* SPEECH Ver3 in VAMOS */
SPEECH_FULL_OR_HALF_VER_3 = 0x41, /* is also referred as AMR */
SPEECH_FULL_OR_HALF_VER_3_VAMOS = 0xc3, /* SPEECH Ver3 in VAMOS */
/*ZY: add for AMR-WB*/
SPEECH_FULL_OR_HALF_VER_4 = 0x81, /* OFR AMR-WB or OHR AMR-WB */
SPEECH_FULL_OR_HALF_VER_5 = 0x82, /* FR AMR-WB */
SPEECH_FULL_OR_HALF_VER_5_VAMOS = 0xc5, /* SPEECH Ver5 in VAMOS */
DATA_43_5_DL_PLUS_14_5_UL = 0x61,
DATA_29_0_DL_PLUS_14_5_UL = 0x62,
DATA_43_5_DL_PLUS_29_0_UL = 0x64,
DATA_14_5_DL_PLUS_43_5_UL = 0x67,
DATA_14_5_DL_PLUS_29_0_UL = 0x65,
DATA_29_0_DL_PLUS_43_5_UL = 0x66,
DATA_43_5_RADIO_INTF_RATE = 0x27,
DATA_32_0_RADIO_INTF_RATE = 0x63,
DATA_29_0_RADIO_INTF_RATE = 0x43,
DATA_14_5_RADIO_INTF_RATE = 0x0f,
DATA_12_0_RADIO_INTF_RATE = 0x03,
DATA_06_0_RADIO_INTF_RATE = 0x0b,
DATA_03_6_RADIO_INTF_RATE = 0x13,
/*
* mtk02374 20110801 setting of channel mode in SLCE is as following table
* zwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww{
* x CS Over HSPA x
* uwwwwwwwwwwwswwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwt
* x YES x NO x
* uwwwwwwwwwwwqwwwwswwwswwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwt
* x x x x TTI x
* x uwwwwqwwwqwwwwwwwwwwwwwwswwwwwwwwwwwwwwswwwwwwwwwwt
* x x x x 10 or 20 x 40 x 80 x
* x (R8) uwwwwqwwwqwwwwwwwwwwwwwwqwwwwwwwwwwwwwwqwwwwwwwwwwt
* x UMTS_RAB_HSPA_SPEECH x x<500 x UMTS_RAB_SPEECH xUMTS_RAB_CONVERSATIONAL_DATAx x
* x x uwwwqwwwwwwwwwwwwwwqwwwwwwwwwwwwwwt x
* x x Max RLCx 576 xUMTS_RAB_CONVERSATIONAL_DATAx UMTS_RAB_STREAMING_DATA x x
* x x size uwwwqwwwwwwwwwwwwwwqwwwwwwwwwwwwwwtUMTS_RAB_UNSPECIFIEDx
* x x x 640 xUMTS_RAB_CONVERSATIONAL_DATAx UMTS_RAB_UNSPECIFIED x x
* x x uwwwqwwwwwwwwwwwwwwqwwwwwwwwwwwwwwt x
* x x xothersx UMTS_RAB_UNSPECIFIED xUMTS_RAB_CONVERSATIONAL_DATAx x
* |wwwwwwwwwwwrwwwwrwwwrwwwwwwwwwwwwwwrwwwwwwwwwwwwwwrwwwwwwwwww}
*/
UMTS_RAB_SPEECH = 0x70,
UMTS_RAB_HSPA_SPEECH,
UMTS_RAB_CONVERSATIONAL_DATA, /* Just for reference, it might be not precise */
UMTS_RAB_STREAMING_DATA, /* Just for reference, it might be not precise */
UMTS_RAB_NON_DECIDED,
UMTS_RAB_UNSPECIFIED= 0xff
} channel_mode_enum;
#if 0
#ifdef __APP_SECONDARY_PDP_SUPPORT__ //mtk00714 streaming
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
#endif
#endif
typedef enum {
SUBSCRIBED_PEAK_THROUGHPUT_CLASS = 0,
SM_QOS_PEAK_THROUGHPUT_UP_TO_1000_OCTET_PER_SEC = 1,
SM_QOS_PEAK_THROUGHPUT_UP_TO_2000_OCTET_PER_SEC = 2,
SM_QOS_PEAK_THROUGHPUT_UP_TO_4000_OCTET_PER_SEC = 3,
SM_QOS_PEAK_THROUGHPUT_UP_TO_8000_OCTET_PER_SEC = 4,
SM_QOS_PEAK_THROUGHPUT_UP_TO_16000_OCTET_PER_SEC = 5,
SM_QOS_PEAK_THROUGHPUT_UP_TO_32000_OCTET_PER_SEC = 6,
SM_QOS_PEAK_THROUGHPUT_UP_TO_64000_OCTET_PER_SEC = 7,
SM_QOS_PEAK_THROUGHPUT_UP_TO_128000_OCTET_PER_SEC = 8,
SM_QOS_PEAK_THROUGHPUT_UP_TO_256000_OCTET_PER_SEC = 9,
SM_QOS_RESERVED_PEAK_THROUGHPUT_CLASS = 15
} sm_readable_peak_throughput_class_enum;
typedef enum {
RADIO_PRIORITY_1 = 1,
RADIO_PRIORITY_2,
RADIO_PRIORITY_3,
RADIO_PRIORITY_4,
RADIO_PRIORITY_NOT_CHECK
} rp_enum;
typedef enum {
RP_1,
RP_2,
RP_3,
RP_4,
RP_INVALID
} radio_priority;
typedef enum {
RLC_SUSPEND,
RLC_RESUME,
RLC_FAILED,
RLC_RECEIVE_NOT_READY,
RLC_RECEIVE_READY
} grr_cause_enum;
typedef enum {
SUBSCRIBED_RELIABILITY_CLASS = 0,
SM_QOS_UNUSED_RELIABILITY_CLASS = 1,
SM_QOS_RELIABILITY_CLASS_2_GTP_UNACK_LLC_ACK_RLC_ACK_PROTECTED_DATA = 2,
SM_QOS_RELIABILITY_CLASS_3_GTP_UNACK_LLC_UNACK_RLC_ACK_PROTECTED_DATA = 3,
SM_QOS_RELIABILITY_CLASS_4_GTP_UNACK_LLC_UNACK_RLC_UNACK_PROTECTED_DATA = 4,
SM_QOS_RELIABILITY_CLASS_5_GTP_UNACK_LLC_UNACK_RLC_UNACK_UNPROTECTED_DATA = 5,
SM_QOS_RELIABILITY_CLASS_7_RESERVED = 7
} sm_readable_reliability_class_enum;
typedef enum {
SUBSCRIBED_PRECEDENCE_CLASS = 0,
SM_QOS_PRECEDENCE_CLASS1_HIGH_PRIORITY = 1,
SM_QOS_PRECEDENCE_CLASS2_NORMAL_PRIORITY = 2,
SM_QOS_PRECEDENCE_CLASS3_LOW_PRIORITY = 3,
SM_QOS_RESERVED_PRECEDENCE_CLASS = 7
} sm_readable_precedence_class_enum;
typedef enum {
SUBSCRIBED_MEAN_THROUGHPUT_ = 0,
SM_QOS_MEAN_THROUGHPUT_100_OCTET_PER_HOUR = 1,
SM_QOS_MEAN_THROUGHPUT_200_OCTET_PER_HOUR = 2,
SM_QOS_MEAN_THROUGHPUT_500_OCTET_PER_HOUR = 3,
SM_QOS_MEAN_THROUGHPUT_1000_OCTET_PER_HOUR = 4,
SM_QOS_MEAN_THROUGHPUT_2000_OCTET_PER_HOUR = 5,
SM_QOS_MEAN_THROUGHPUT_5000_OCTET_PER_HOUR = 6,
SM_QOS_MEAN_THROUGHPUT_10000_OCTET_PER_HOUR = 7,
SM_QOS_MEAN_THROUGHPUT_20000_OCTET_PER_HOUR = 8,
SM_QOS_MEAN_THROUGHPUT_50000_OCTET_PER_HOUR = 9,
SM_QOS_MEAN_THROUGHPUT_100000_OCTET_PER_HOUR = 10,
SM_QOS_MEAN_THROUGHPUT_200000_OCTET_PER_HOUR = 11,
SM_QOS_MEAN_THROUGHPUT_500000_OCTET_PER_HOUR = 12,
SM_QOS_MEAN_THROUGHPUT_1000000_OCTET_PER_HOUR = 13,
SM_QOS_MEAN_THROUGHPUT_2000000_OCTET_PER_HOUR = 14,
SM_QOS_MEAN_THROUGHPUT_5000000_OCTET_PER_HOUR = 15,
SM_QOS_MEAN_THROUGHPUT_10000000_OCTET_PER_HOUR = 16,
SM_QOS_MEAN_THROUGHPUT_20000000_OCTET_PER_HOUR = 17,
SM_QOS_MEAN_THROUGHPUT_50000000_OCTET_PER_HOUR = 18,
SM_QOS_RESERVEDMEAN_THROUGHPUT = 30,
SM_QOS_MEAN_THROUGHPUT_BEST_EFFORT = 31
} sm_readable_mean_throughput_enum;
/* SM RATDM common enum begin */
typedef enum{
RATDM_TRAFFIC_CLASS_CONVERSATIONAL = 1,
RATDM_TRAFFIC_CLASS_STREAMING = 2,
RATDM_TRAFFIC_CLASS_INTERACTIVE = 3,
RATDM_TRAFFIC_CLASS_BACKGROUND = 4,
RATDM_TRAFFIC_CLASS_UNKNOWN = 0xFF
}ratdm_traffic_class_enum;
/* SM RATDM common enum end */
typedef enum {
SUBSCRIBED_TRAFFIC_CLASS_ = 0,
SM_QOS_CONVERSATIONAL_CLASS = 1,
SM_QOS_STREAMING_CLASS = 2,
SM_QOS_INTERACTIVE_CLASS = 3,
SM_QOS_BACKGROUND_CLASS = 4,
SM_QOS_RESERVED_TRAFFIC_CLASS = 7
} sm_readable_traffic_class_enum;
typedef enum {
SUBSCRIBED_DELIVERY_ORDER_ = 0,
SM_QOS_DELIVERY_ORDER_YES = 1,
SM_QOS_DELIVERY_ORDER_NO = 2,
SM_QOS_RESERVED_DELIVERY_ORDER = 3
} sm_readable_delivery_order_enum;
typedef enum {
SUBSCRIBED_DELIVERY_OF_ERRONEOUS_SDU= 0,
SM_QOS_DELIVERY_OF_ERRONEOUS_SDU_NO_DETECT = 1,
SM_QOS_DELIVERY_OF_ERRONEOUS_SDU_YES = 2,
SM_QOS_DELIVERY_OF_ERRONEOUS_SDU_NO = 3,
SM_QOS_RESERVED_DELIVERY_OF_ERRONEOUS_SDU = 7
} sm_readable_delivery_of_err_sdu_enum;
typedef enum {
SUBSCRIBED_BIT_ERROR_RATE_ = 0,
SM_QOS_RESIBUAL_BIT_ERROR_RATE_5_10_2 = 1,
SM_QOS_RESIBUAL_BIT_ERROR_RATE_1_10_2 = 2,
SM_QOS_RESIBUAL_BIT_ERROR_RATE_5_10_3 = 3,
SM_QOS_RESIBUAL_BIT_ERROR_RATE_4_10_3 = 4,
SM_QOS_RESIBUAL_BIT_ERROR_RATE_1_10_3 = 5,
SM_QOS_RESIBUAL_BIT_ERROR_RATE_1_10_4 = 6,
SM_QOS_RESIBUAL_BIT_ERROR_RATE_1_10_5 = 7,
SM_QOS_RESIBUAL_BIT_ERROR_RATE_1_10_6 = 8,
SM_QOS_RESIBUAL_BIT_ERROR_RATE_6_10_8 = 9,
SM_QOS_RESERVED_RESIBUAL_BIT_ERROR_RATE = 15
} sm_readable_residual_bit_error_rate_enum;
typedef enum {
SUBSCRIBED_SDU_ERR_RATIO_ = 0,
SM_QOS_SDU_ERR_RATIO_1_10_2 = 1,
SM_QOS_SDU_ERR_RATIO_7_10_3 = 2,
SM_QOS_SDU_ERR_RATIO_1_10_3 = 3,
SM_QOS_SDU_ERR_RATIO_1_10_4 = 4,
SM_QOS_SDU_ERR_RATIO_1_10_5 = 5,
SM_QOS_SDU_ERR_RATIO_1_10_6= 6,
SM_QOS_SDU_ERR_RATIO_1_10_1 = 7,
SM_QOS_RESERVED_SDU_ERR_RATIO = 15
} sm_readable_sdu_err_ratio_enum;
typedef enum {
SUBSCRIBED_TRAFFIC_HANDLING_PRIORITY = 0,
SM_QOS_TRAFFIC_HANDLING_PRIORITY_1 = 1,
SM_QOS_TRAFFIC_HANDLING_PRIORITY_2 = 2,
SM_QOS_TRAFFIC_HANDLING_PRIORITY_3 = 3
} sm_readable_traffic_hndl_priority_enum;
//#ifdef __REL6__ // increase QoS Length from 11 to 12
typedef enum {
SM_NOT_OPTIMISED_FOR_SIGNALING_TRAFFIC= 0,
SM_OPTIMISED_FOR_SIGNALING_TRAFFIC = 1
} signaling_indication_enum;
typedef enum {
SM_QOS_SIGNALING_INDICATION_NOT_OPTIMISED_FOR_SIGNALING_TRAFFIC= 0,
SM_QOS_SIGNALING_INDICATION_OPTIMISED_FOR_SIGNALING_TRAFFIC = 1
} sm_readable_signaling_indication_enum;
typedef enum {
SM_UNKNOWN_SOURCE_STATISTICS_DESCRIPTOR= 0,
SM_SPEECH_SOURCE_STATISTICS_DESCRIPTOR = 1
} source_statistics_descriptor_enum;
typedef enum {
SM_QOS_SOURCE_STATISTICS_DESCRIPTOR_UNKNOWN_SOURCE_STATISTICS_DESCRIPTOR= 0,
SM_QOS_SOURCE_STATISTICS_DESCRIPTOR_SPEECH_SOURCE_STATISTICS_DESCRIPTOR = 1
} sm_readable_source_statistics_descriptor_enum;
//#endif // ~ __REL6__ // increase QoS Length from 11 to 12
typedef enum
{
MANUAL_RESELECTION = 0,
AUTO_RESELECTION = 1
} plmn_reselection_enum;
/*20130716, Bowu: MMDC B3&B39 Co_existing issue*/
typedef enum
{
PLMN_STATUS_NONE = 0,
PLMN_STATUS_AVAILABLE = 1,
PLMN_STATUS_CURRENT = 2,
PLMN_STATUS_FORBIDDEN = 3
} plmn_status_enum;
typedef enum{
GAS_EMERGENCY_CALL = 0,
GAS_REGISTRATION = 1,
GAS_DETACH = 2,
GAS_LOW_PRIORITY_SIG = 3,
GAS_CALL_RE_ESTABLISHMENT = 4,
GAS_SPEECH_CALL = 5,
GAS_DATA_CALL = 6,
GAS_PAGE_RESP = 7,
GAS_SS_DATA = 8
}gas_est_cause_enum;
typedef enum{
CSFB_SESSION_START = 0,
CSFB_SESSION_END = 1
}cs_status_enum;
typedef enum{
PLMN_LOSS_NORMAL = 0,
PLMN_LOSS_IRRDT_FAIL = 1
}plmn_loss_reason_enum;
/* Used for giving paging cause to MM and estab. cause to AS. Also
* used upto application */
typedef enum
{
ORIG_CONVER_CALL = 0,
ORIG_STREAMING_CALL = 1,
ORIG_INTERACTIVE_CALL = 2,
ORIG_BACKGROUND_CALL = 3,
ORIG_SUBSCRIBED_CALL = 4,
TERM_CONVER_CALL = 5,
TERM_STREAMING_CALL = 6,
TERM_INTERACTIVE_CALL = 7,
TERM_BACKGROUND_CALL = 8,
EMERGENCY_CALL = 9,
INTER_RAT_CELL_RESELECTION = 10,
INTER_RAT_CELL_CHANGE_ORDER = 11,
REGISTRATE = 12,
DETACH = 13,
HIGH_PRIORITY_SIG = 14,
LOW_PRIORITY_SIG = 15,
CALL_RE_ESTABLISHMENT = 16,
SPEECH_CALL = 17,
DATA_CALL = 18,
LOC_UPDATE = 19,
SMS_DATA = 20,
TCHF_OR_SDCCH_NEEDED = 21,
PAGE_RESP = 22,
MEAS_REPORT = 23,
IMSI_DETACH_PROC = 24,
MM_PROC = 25,
SS_DATA = 26,
VIDEO_CALL = 27 /* __REL6__ */
} est_cause_enum;
/*
* the mm_cause_enum includes
* 1. MM, GMM, EMM causes
* 2. MTK defined internal causes
*/
typedef enum {
CAUSE_NONE = 0x00,
IMSI_UNKNOWN_IN_HLR = 0x02,
ILLEGAL_MS = 0x03,
IMSI_UNKNOWN_IN_VLR = 0x04,
IMEI_NOT_ACCEPTED = 0x05,
ILLEGAL_ME = 0x06,
GPRS_NOT_ALLOWED = 0x07,
GPRS_NON_GPRS_NOT_ALLOWED = 0x08,
MS_ID_NOT_DERIVED_BY_NW = 0x09,
IMPLICIT_DETACH = 0x0a,
PLMN_NOT_ALLOWED = 0x0b,
LOCATION_AREA_NOT_ALLOWED = 0x0c,
ROAMING_AREA_NOT_ALLOWED = 0x0d,
GPRS_NOT_ALLOWED_IN_PLMN = 0x0e,
NO_SUITABLE_CELLS_IN_LA = 0x0f,
MSC_TEMP_NOT_REACHABLE = 0x10,
NETWORK_FAILURE = 0x11,
CS_DOMAIN_NOT_AVAILABLE = 0X12, /* LTE specific */
ESM_FAILURE = 0x13, /* LTE specific */
MAC_FAILURE = 0x14,
SYNC_FAILURE = 0x15,
CONGESTION = 0x16,
GSM_AUTHEN_UNACCEPTABLE = 0x17,
UE_SECURITY_CAPA_MISMATCH = 0x17,
SECURITY_REJECTED_UNSPECIFIED = 0x18, /* LTE specific */
NOT_AUTHORIZED_FOR_THIS_CSG = 0x19,
NON_EPS_AUTHEN_UNACCEPTABLE = 0x1a, /* LTE specific */
N1_MODE_NOT_ALLOWED = 0x1b, /* NR specific */
RESTRICTED_SERVICE_AREA = 0x1c, /* NR specific */
SERV_OPTION_NOT_SUPPORTED = 0x20,
REQ_SERV_OPTION_NOT_SUBSCRIBED = 0x21,
SERV_OPTION_TEMP_OUT_OF_ORDER = 0x22,
REQ_SERV_OPTION_NOT_AUTH_IN_PLMN = 0x23,
CALL_CANNOT_BE_IDENTIFIED = 0x26,
CS_DOMAIN_TEMP_NOT_AVAILABLE = 0x27, /* LTE specific */
NO_PDP_CONTEXT_ACTIVATED = 0x28,
SEVERE_NETWORK_FAILURE = 0x2A, /* LTE specific */
LADN_NOT_AVAILABLE = 0x2b,
MAX_NUM_PDU_SESSIONS_REACHED = 0x41,
RETRY_UPON_ENTRY_INTO_NEWCELL_MIN = 0x30, /* 30..3f */
RETRY_UPON_ENTRY_INTO_NEWCELL_MAX = 0x3f,
INSUFF_RESOURCES_SLICE_AND_DNN = 0x43,
INSUFF_RESOURCES_SLICE = 0x45,
NGKSI_ALREADY_IN_USE = 0x47,
N3GPP_ACCESS_TO_5GCN_NOT_ALLOWED = 0x48,
SERVING_NETWORK_NOT_AUTHORIZED = 0x49, /* NR specific */
PAYLOAD_NOT_FORWARDED = 0x5a,
DNN_NOT_SUP_SLICE = 0x5b,
INSUFF_UP_RES_FOR_PDU_SESSION = 0x5c,
SEMANTICALLY_INCORRECT_MSG = 0x5f,
INVALID_MM_MAND_INFO = 0x60,
MSG_TYPE_NON_EXISTENT = 0x61,
MSG_TYPE_NOT_IMPLEMENTED = 0x61,
MSG_TYPE_INCOMPAT_WITH_PROTO_STATE = 0x62,
IE_NOT_IMPLEMENTED = 0x63,
CONDITIONAL_MM_IE_ERROR = 0x64,
MSG_NOT_COMPAT_WITH_PROTO_STATE = 0x65, /* 65..6f */
PROTO_ERROR_UNSPECIFIED = 0x6f,
/* Incase if any more standard cause values are to be added then
* the cause having the greatest value should be placed just before
* the internal cause values.
*/
/* The following cause are internal to Tcm and Gmm */
FORBIDDEN_PLMN = 0x70,
MODEM_INTERNAL_CAUSE_START = FORBIDDEN_PLMN, /* 0x70 */
ACCESS_CLASS_BARRED,
NO_COVERAGE,
GPRS_SERV_NOT_ALLOWED,
TIMER_EXPIRY,
SIM_INSERTED,
SIM_REMOVED,
SIM_ABSENT,
SIM_INVALID_FOR_PS,
SIM_INVALID_FOR_CS,
SIM_INVALID_FOR_CS_AND_PS,
LOW_LAYER_FAIL,
MM_CONN_IN_PROGRESS, /* 0x7c */
MM_NOT_UPDATED,
RR_CONN_ESTAB_FAILURE,
RRC_CONN_ABORT, /* 0x7f */
MM_CONN_FAILURE, /* 0x80 */
MM_EMERGENCY_NOT_ALLOWED,
NO_GPRS_COVERAGE,
MM_ABNORMAL_LU,
MM_ABNORMAL_LU_LESS_THEN_4_TIMES,
/* 24.008 CR# 1791 Start */
MM_ABNORMAL_LU_CONGESSION_CONTROL,
/* 24.008 CR# 1791 End */
MM_DO_NOT_NEED_PLMN_SEARCH,
MM_SAME_LAI_IMSI_ATTACHING, //erica tier one
MM_RECOVERY_SEARCH, //mtk02475
SEARCH_FINISHED,
MM_WAIT_FOR_RELEASE,
MM_REJ_CUZ_RR_IN_SUSPEND_MODE, /* for ATTACH_REJ *///0x8a
MM_IDLE_OOS_IND,
GPRS_IN_LIMITED_SERVICE, /* 0x8c */
AUTH_FAIL,
GMM_T3346_RUNNING,
MM_ABNORMAL_LU_LESS_THEN_4_TIMES_AFR_NEEDED, /* ALPS01811710: When LU Abnormal during CSFB happened, notify RAC special cause to hide the LU abnormal from UI. */
SIM_INVALID_FOR_LTE_BECAUSE_NON_USIM_INSERTED,
MM_ABNORMAL_LU_REJ17_MANUAL_MODE,
GMM_IN_VIRTUAL_MODE,
NWSEL_IVSR_START,
PLMN_LOSS, /* For report PLMN_LOSS when control by GMSS */
ABORTED_BY_UPPER_LAYER,
MM_IN_VIRTUAL_MODE,
MM_CAUSE_ENUM_END = MM_IN_VIRTUAL_MODE
}mm_cause_enum;
typedef enum
{
MM_CAUSE_SOURCE_OTHER =0,
MM_CAUSE_SOURCE_LU_REJECT =1,
MM_CAUSE_SOURCE_CMSERVICE_REJECT =2,
MM_CAUSE_SOURCE_ABORT =3,
MM_CAUSE_SOURCE_ATTACH_REJECT =4,
MM_CAUSE_SOURCE_COMBINED_ATTACH_NON_GPRS =5,
MM_CAUSE_SOURCE_RAU_REJECT =6,
MM_CAUSE_SOURCE_COMBINED_RAU_NON_GPRS =7,
MM_CAUSE_SOURCE_SERVICE_REJECT =8,
MM_CAUSE_SOURCE_NW_DETACH =9,
}mm_cause_source_enum;
typedef enum
{
isABSENT = 0,
isPRESENT = 1
}isPresent_enum;
typedef enum
{
is_absent = 0,
is_present = 1
}is_present_enum;
typedef enum
{
CS_SERVICE = 0,
PS_SERVICE,
CS_PS_SERVICE,
NONE_SERVICE
}mm_user_regn_type_enum;
typedef enum
{
CS_SERVICE_DETACH = 0,
PS_SERVICE_DETACH,
CS_PS_SERVICE_DETACH
}mm_user_srv_detach_enum;
typedef enum
{
MMI_SEARCH_ANY,
MMI_SEARCH_NORMAL,
MMI_SEARCH_NONE
} mm_user_search_type_enum;
typedef enum
{
SEARCH_CAUSE_NONE=0,
SEARCH_CAUSE_UNBLOCK_ILLEGAL_ME, /*the search is triggered by illeagl sim unblock*/
SEARCH_CAUSE_COPS_AUTO
} mm_user_search_cause_enum;
typedef enum {
STORED_AND_FULL_BAND,
STORED_ONLY,
FULL_BAND,
} scan_type_enum ;
typedef enum {
FINISHED,
NOT_FINISHED,
} fullband_result_enum ;
typedef enum {
NOT_USED_SEARCH_PERIOD, // not switch
SHORT_SEARCH_PERIOD, // ECC or MCC search
NORMAL_SEARCH_PERIOD, // other fullband
} search_period_enum;
typedef enum {
CALL_STATUS_START, // start of user view call
CALL_STATUS_STOP // end of user view call
} call_status_enum;
typedef enum {
SMS_STATUS_START, // start of SMS session
SMS_STATUS_STOP, // end of SMS session
SMS_STATUS_NUM,
} sms_status_enum;
typedef enum {
IMCSMS_STATUS_START, // start of SMS session
IMCSMS_STATUS_STOP, // end of SMS session
IMCSMS_STATUS_NUM,
} imcsms_status_enum;
typedef enum {
SMS_MO = 0,
SMS_MT
}sms_direction_enum;
typedef enum {
CALL_TYPE_INDICATION_NORMAL, // the call is normal call
CALL_TYPE_INDICATION_EMERGENCY, // the call is emergency call
CALL_TYPE_INDICATION_NULL // NULL
} call_type_indication_enum;
typedef enum {
NO_ERROR_PLMN_LIST_RESULT = 0,
CANNOT_PROCESS_PLMN_LIST_RESULT = 1,
} plmn_list_result_enum ;
typedef enum {
AS_PLMN_LIST_RESULT_SUCCESS,
AS_PLMN_LIST_RESULT_FAILURE
} as_plmn_list_result_enum;
typedef enum {
NO_ACTION_FOR_PLMN_SEARCH = 0,
NO_ACTION_FOR_PLMN_LIST = 1
} no_action_cause_enum;
typedef enum
{
CAPABILITY_DISABLED,
CAPABILITY_ENABLED,
CAPABILITY_INVALID, // For initialization
} capability_switch_enum;
typedef enum
{
NAS_SV_CAP_GSM_FDD,
NAS_SV_CAP_UMTS,
#ifdef __UMTS_TDD128_MODE__
NAS_SV_CAP_GSM_TDD,
NAS_SV_CAP_TDSCDMA,
#endif
NAS_SV_CAP_LTE,
NAS_SV_CAP_NR,
NAS_SV_CAP_TOTAL,
} nas_sv_capability_rat_enum;
typedef enum
{
NAS_SV_CAP_UPDATE_PROC_SYS_INFO,
NAS_SV_CAP_UPDATE_PROC_ATTACH,
} nas_sv_capability_update_procedure_type_enum;
typedef enum
{
NAS_SV_LOCAL_REL_WAIT_TO_IDLE = 0,
NAS_SV_LOCAL_REL_FORCE_RELEASE = 0x1,
NAS_SV_LOCAL_REL_ENALBE_S1_N1_MODE = 0x2,
NAS_SV_LOCAL_REL_USER_TRIGGER = 0x4,
} nas_sv_local_release_cause_enum;
typedef enum {
NWSEL_IMS_NORMAL_SERVICE = 0, /* NAS registration success */
NWSEL_IMS_LIMITED_SERVICE,
NWSEL_IMS_NO_SERVICE /* plmn loss/idle oos happen */
} nwsel_ims_service_enum;
typedef enum
{
NWSEL_PLMN_LIST_INVALID = 0,
NWSEL_PLMN_LIST_AVAILABLE = 1,
NWSEL_PLMN_LIST_CURRENT = 2,
NWSEL_PLMN_LIST_FORBIDDEN = 3
}nwsel_plmn_list_status_enum;
typedef enum
{
NWSEL_INTERNATIONAL_ROAMING_NOT_ALLOW = 1,
NWSEL_NATIONAL_ROAMING_NOT_ALLOW = 2,
NWSEL_FPLMN_NOT_ALLOW = 3,
NWSEL_NON_EXISING_NOT_ALLOW = 4,
NWSEL_FAILURE_NOT_ALLOW = 5,
NWSEL_CUSTOMER_FPLMN_NOT_ALLOW = 6,
NWSEL_CUSTOMER_TEST_MODE_FPLMN_NOT_ALLOW = 7,
NWSEL_SPRINT_INT_LTE_ROAMING_NOT_ALLOW = 8,
NWSEL_LTE_ROAMING_NOT_ALLOW = 9,
NWSEL_NR_ROAMING_NOT_ALLOW = 10,
NWSEL_MCC_NOT_IN_ALLOWED_MCC_LIST = 11
}nwsel_plmn_not_allow_reason_enum;
/* Define the search action after receiving specific reject cause in AUTO/MANUAL mode*/
typedef enum
{
NWSEL_SEARCH_ACTION_DEFAULT,
/* Reject 13 */
NWSEL_AUTO_SEARCH_NEXT_PLMN_RAT_AFTER_REJ13,
NWSEL_AUTO_SEARCH_NEXT_PLMN_AFTER_REJ13,
NWSEL_AUTO_SEARCH_CURR_PLMN_RAT_AFTER_REJ13,
NWSEL_MANUAL_SEARCH_NEXT_PLMN_RAT_AFTER_REJ13,
NWSEL_MANUAL_SEARCH_NEXT_PLMN_AFTER_REJ13,
NWSEL_MANUAL_SEARCH_CURR_PLMN_RAT_AFTER_REJ13,
/* Reject 15 */
NWSEL_AUTO_SEARCH_NEXT_PLMN_RAT_AFTER_REJ15,
NWSEL_AUTO_SEARCH_CURR_PLMN_RAT_AFTER_REJ15,
NWSEL_MANUAL_SEARCH_NEXT_PLMN_RAT_AFTER_REJ15,
NWSEL_MANUAL_SEARCH_CURR_PLMN_RAT_AFTER_REJ15,
NWSEL_SEARCH_ACTION_NUM_MAX
} nwsel_search_action_for_reject_cause_enum;
typedef enum
{
NWSEL_PLMN_TIMER_REASON_NONE,
NWSEL_PLMN_TIMER_REASON_REJ_42,
NWSEL_PLMN_TIMER_ATNT_BACKOFF,
NWSEL_PLMN_TIMER_EUTRAN_NO_SUITABLE,
NWSEL_PLMN_TIMER_NO_PDN_AVAILABLE,
#ifdef UNIT_TEST
NWSEL_PLMN_TIMER_UT_IMS_PDN_THROTTLING,
#endif
/* For VzW CDMA-less, we need to start TPLMN_barring for PLMN where voice is not possible on EUTRAN */
NWSEL_PLMN_TIMER_VZW_EUTRAN_BARRING,
/* For VzW CDMA-less, we need to start T5GNRSA_barring timer for PLMN where voice is not possible on NR */
NWSEL_PLMN_TIMER_VZW_5GNRSA_BARRING,
/* TS 24.301 subclause 4.5
* As an implementation option, the UE may start a timer for enabling E-UTRA when the UE's attach attempt
* counter or tracking area updating attempt counter reaches 5 and the UE disables E-UTRA capability for cases
* described in subclauses 5.5.1.3.4.3, 5.5.1.3.6, 5.5.3.3.4.3 and 5.5.3.3.6.
*/
NWSEL_PLMN_TIMER_EUTRAN_ABNORMAL,
/* TS 23.122 subclause 3.1
* If MS that has disabled its E-UTRA capability re-enables it when PLMN selection is performed, then the MS
* should, for duration of timer TD, memorize the PLMNs where E-UTRA capability was disabled as PLMNs where voice
* service was not possible.
*/
NWSEL_PLMN_TIMER_EUTRAN_VOICE_NOT_POSSIBLE,
/* TS 23.122 subclause 3.1
* The MS should maintain a list of PLMNs where the N1 mode capability was disabled due to receipt of a reject
* from the network with 5GMM cause #27, as PLMNs where N1 mode is not allowed...
* the MS should add the identity of the PLMN to the list of PLMNs wherre N1 mode is not allowed and should
* start timer TG if timer TG is not already running.
*/
NWSEL_PLMN_TIMER_N1_MODE_NOT_ALLOW,
/* TS 24.501 subclause 4.9 R15
If the UE attempts to establish an emergency PDU session in a PLMN where N1 mode capability was disabled due
to the UE`s registration attempt counter have reached 5, the UE may enable N1 mode capability for that PLMN
memorized by the UE.
NOTE 2: the value of the timer for re-enabling N1 mode capability is recommended to be the same as the value
of T3502 which follows the handling specified in subclause 5.3.8.
*/
NWSEL_PLMN_TIMER_N1_ABNORMAL,
/* TS 23.122 subclause 3.1 R15
* When the MS disables its N1 mode capability due to IMS voice not available and the MS`s usage setting was
* "voice centric":the MS should add the identity of the PLMN to the list of PLMNs where voice service was not
* possible in N1 mode and should start timer TF if timer TF is not already running.
*/
NWSEL_PLMN_TIMER_N1_VOICE_NOT_POSSIBLE,
NWSEL_PLMN_TIMER_HPLMN_REJ_14,
NWSEL_PLMN_TIMER_VZW_VGMM_T3502,
NWSEL_PLMN_TIMER_VZW_VGMM_T3525,
NWSEL_PLMN_TIMER_VZW_VGMM_SR_THROTTLING,
NWSEL_PLMN_TIMER_N1_MAX_PDU_EST_TIMEOUT_REACHED, /* ATT LTE-N37-1-3706 step 5 */
NWSEL_PLMN_TIMER_N1_DISABLE_4G5_IRAT_FAIL_FTA,
}nwsel_plmn_timer_reason_enum;
/* the enum is used in ICD, please append new added enum, not insert it */
typedef enum
{
NWSEL_REASON_NONE = 0,
NWSEL_GPRS_FPLMN,
NWSEL_ESM_FPLMN,
NWSEL_CUSTOM_EUTRAN_DISABLE,
NWSEL_CUSTOM_N1_DISABLE,
NWSEL_CUSTOM_ENDC_DISABLE,
NWSEL_ATNT_BACKOFF,
NWSEL_REJ_42,
NWSEL_VZW_HVOLTE_IMS_NOT_ROAMING_CS_18,
NWSEL_ATNT_DISABLE_LTE,
NWSEL_CS_PS_CAUSE,
NWSEL_DATA_OFF_IMS_OFF,
NWSEL_DATA_ROAMING_OFF_IMS_OFF,
NWSEL_ROAMING_NOT_ALLOW,
NWSEL_VOICE_CENTRIC_S1_DISABLED,
NWSEL_5G_SA_OPTION_2_NOT_ENABLED,
NWSEL_RAT_IS_NOT_ENABLED,
NWSEL_CANNOT_HAVE_PS_NORMAL_SERVICE,
NWSEL_DISABLE_PLMN_BASE_TIMER_RUNNING,
/* PLMN BASE TIMER start */
NWSEL_DISABLE_TIMER_REASON_REJ_42,
NWSEL_DISABLE_TIMER_ATNT_BACKOFF,
NWSEL_DISABLE_TIMER_NO_SUITABLE,
NWSEL_DISABLE_TIMER_NO_PDN_AVAILABLE,
NWSEL_DISABLE_TIMER_EUTRAN_VZW_BARRING,
NWSEL_DISABLE_TIMER_EUTRAN_ABNORMAL,
NWSEL_DISABLE_TIMER_EUTRAN_VOICE_NOT_POSSIABLE,
NWSEL_DISABLE_TIMER_N1_NOT_ALLOW,
NWSEL_DISABLE_TIMER_N1_ABNORMAL,
NWSEL_DISABLE_TIMER_N1_VOICE_NOT_POSSIABLE,
NWSEL_DISABLE_TIMER_5GNRSA_VZW_BARRING,
NWSEL_DISABLE_TIMER_EUTRAN_HPLMN_REJ_14,
NWSEL_DISABLE_TIMER_N1_DISABLE_4G5_IRAT_FAIL_FTA,
/* NAS not allow cause */
NWSEL_NAS_NOT_ALLOW_NO_PDN,
NWSEL_NAS_NOT_ALLOW_T3402,
NWSEL_NAS_NOT_ALLOW_THROTTLING_APN,
NWSEL_NAS_NOT_ALLOW_EMC_BS,
/* VzW VGMM NAS not allow cause */
NWSEL_NAS_NOT_ALLOW_VZW_VGMM_T3502,
NWSEL_NAS_NOT_ALLOW_VZW_VGMM_T3525,
NWSEL_NAS_NOT_ALLOW_VZW_VGMM_SR_THROTTLING,
NWSEL_NAS_NOT_ALLOW_VZW_VGMM_N1_MODE_NOT_ALLOWED,
/* PLMN BASE TIMER start */
NWSEL_DISABLE_TIMER_N1_ABNORMAL_IRAT_FAIL,
/* common reason*/
NWSEL_DISABLE_BASED_ON_MRS_CONFIG,
NWSEL_IMS_OFF_AND_CS_UNAVAILABLE,
NWSEL_DISABLE_TIMER_N1_MAX_PDU_EST_TIMEOUT_REACHED,
/* VzW VGMM NAS not allow cause */
NWSEL_NAS_NOT_ALLOW_VGMM_N1_MODE_NOT_ALLOWED_TG, /* Removed VZW_ as its converted as generic feature */
NWSEL_N1_DISABLED_BY_NR_EMC_AVAILABILITY,
} nwsel_capability_disabled_reason_enum;
typedef enum {
COUNTRY_NOT_CAMPED,
COUNTRY_UNKNOWN,
COUNTRY_INDIA
}nwsel_country_enum;
typedef enum
{
FOUND_IND_DURING_SEARCH = 0,
FOUND_IND_DURING_USER_LIST = 1,
}found_ind_source_enum;
typedef enum
{
LIST_IND_SYS_INFO = 0,
LIST_IND_AVAILABLE = 1,
LIST_IND_USER = 2,
LIST_IND_FIRST_FOUND = 3,
LIST_IND_FOUND_IND = 4,
}list_ind_source_enum;
typedef enum
{
USER_LIST_TYPE_NORMAL = 0,
USER_LIST_TYPE_FAST = 1,
USER_LIST_TYPE_GIVEN_TIMER_NUMBER = 3,
USER_LIST_TYPE_IPC_NW_SCAN = 4,
USER_LIST_TYPE_CELL_MEAS = 5,
}user_list_type_enum;
/* MM Peer to Peer Message type values */
/* the general format of value if 0x-- ---- where x stands
* for send sequence number.The peer messages from n/w will set it to
* 0 see section 10.4 of GSM 04.08.In the case of MO peer messages,RR
* will add send sequence number. The value filled by MM for x is
* zero. */
typedef enum{
MM_PEER_MSG_BEGIN = 0x01, /* 1 */
MM_PEER_IMSI_DETACH_IND_MSG = MM_PEER_MSG_BEGIN,
MM_PEER_LOC_UPDATING_ACC_MSG = 0x02, /* 2 */
MM_PEER_LOC_UPDATING_REJ_MSG = 0x04, /* 4 */
MM_PEER_LOC_UPDATING_REQ_MSG = 0x08, /* 8 */
MM_PEER_AUTHEN_REJ_MSG = 0x11, /* 17 */
MM_PEER_AUTHEN_REQ_MSG = 0x12, /* 18 */
MM_PEER_AUTHEN_RSP_MSG = 0x14, /* 20 */
MM_PEER_AUTHEN_FAIL_MSG = 0x1C, /* 28 */
MM_PEER_IDENTITY_REQ_MSG = 0x18, /* 24 */
MM_PEER_IDENTITY_RSP_MSG = 0x19, /* 25 */
MM_PEER_TMSI_REALLOC_CMD_MSG = 0x1a, /* 26 */
MM_PEER_TMSI_REALLOC_CMPL_MSG = 0x1b, /* 27 */
MM_PEER_CM_SERVICE_ACC_MSG = 0x21, /* 33 */
MM_PEER_CM_SERVICE_REJ_MSG = 0x22, /* 34 */
MM_PEER_CM_SERVICE_ABRT_MSG = 0x23, /* 35 */
MM_PEER_CM_SERVICE_REQ_MSG = 0x24, /* 36 */
MM_PEER_CM_SERVICE_PRMPT_MSG = 0x25, /* 37 */
MM_PEER_PAGING_RSP_MSG = 0x27, /* 39 */
MM_PEER_CM_REEST_REQ_MSG = 0x28, /* 40 */
MM_PEER_ABORT_MSG = 0x29, /* 41 */
MM_PEER_MM_NULL_MSG = 0x30, /* 48 */
MM_PEER_MM_STATUS_MSG = 0x31, /* 49 */
MM_PEER_MM_INFORMATION_MSG = 0x32, /* 50 */
MM_TOT_PEER_MSG
} mm_peer_msg_type_enum;
#define MAX_VAL(VAL_A, VAL_B) (((VAL_A) > (VAL_B)) ? (VAL_A):(VAL_B))
/* Lanslo 20060621: modify type size for VC simulator environment */
#ifdef __MTK_TARGET__
#define RLC_UL_CTRL_HEADER_LENGTH 14 //sizeof rlc_peer_data_info_struct
#else
#define RLC_UL_CTRL_HEADER_LENGTH 32 //sizeof rlc_peer_data_info_struct
#endif
/* eo Lanslo 20060621 */
#define RLC_DL_CTRL_HEADER_LENGTH 3 //sizeof rlc_dl_blk_struct
/* Claire 041116 change : Adapt EGPRS DL interface */
#ifdef __EGPRS_MODE__
#define RLC_DL_EGPRS_CTRL_HEADER_LENGTH 3 //sizeof rlc_dl_egprs_blk_struct
#endif
#define SND_DL_CTRL_HEADER_LENGTH 12 //The size of snd_nsapi_dl_snpdu_buff_struct
#define LLC_HEADER_LENGTH 5
#define LLC_TAIL_LENGTH 3
//The size of (24, llsnd_unitdata_req_struct, llsnd_data_req_struct, LLC_HEADER_LENGTH+RLC_UL_CTRL_HEADER_LENGTH)
/* #define SND_UL_FREE_HEADER_LENGTH 24 */
#define SND_UL_FREE_HEADER_LENGTH MAX_VAL(24, (LLC_HEADER_LENGTH+RLC_UL_CTRL_HEADER_LENGTH))
typedef enum
{
LLC_SAPI_NOT_ASSIGNED = 0,
LLC_SAPI1 = 1,
LLC_SAPI2 = 2,
LLC_SAPI3 = 3,
LLC_SAPI5 = 5,
LLC_SAPI7 = 7,
LLC_SAPI8 = 8,
LLC_SAPI9 = 9,
LLC_SAPI11 = 11
}llc_sapi_enum;
typedef enum {
SUBSCRIBED_TRANSFER_DELAY = 0,
RESERVED_NW_TO_MS_TRANSFER_DELAY = 0,
TRANSFER_DELAY1 = 1,
TRANSFER_DELAY2 = 15,
TRANSFER_DELAY3 = 16,
TRANSFER_DELAY4 = 31,
TRANSFER_DELAY5 = 32,
TRANSFER_DELAY6 = 62,
RESERVED_BIDIRECT_TRANSFER_DELAY = 63
} transfer_delay_enum;
typedef enum {
RESERVED_NW_TO_MS_MAX_SDU_SIZE = 0,
SUBSCRIBED_MS_TO_NW_MAX_SDU_SIZE = 0,
SDU_SIZE_1502_OCTETS = 151,
SDU_SIZE_1510_OCTETS = 152,
SDU_SIZE_1520_OCTETS = 153,
RESERVED_BIDIRECT_MIN_SDU_SIZE = 154,
RESERVED_BIDIRECT_MAX_SDU_SIZE = 255
} max_sdu_size_enum;
typedef enum {
SUBSCRIBED_MAX_BIT_RATE_UPLINK = 0,
RESERVED_NW_TO_MS_MAX_BIT_RATE_UPLINK = 0,
MAX_BIT_RATE_UPLINK1 = 1,
MAX_BIT_RATE_UPLINK2 = 63,
MAX_BIT_RATE_UPLINK3 = 64,
MAX_BIT_RATE_UPLINK4 = 127,
MAX_BIT_RATE_UPLINK5 = 128,
MAX_BIT_RATE_UPLINK6 = 254,
MAX_BIT_RATE_UPLINK_ZERO = 255 // erica __SM_3G__
//RESERVED_BIDIRECT_MAX_BIT_RATE_UPLINK = 255 // meaning is changed in R99 according to 24.008
} max_bit_rate_uplink_enum;
typedef enum {
SUBSCRIBED_MAX_BIT_RATE_DOWNLINK= 0,
RESERVED_NW_TO_MS_MAX_BIT_RATE_DOWNLINK = 0,
MAX_BIT_RATE_DOWNLINK1 = 1,
MAX_BIT_RATE_DOWNLINK2 = 63,
MAX_BIT_RATE_DOWNLINK3 = 64,
MAX_BIT_RATE_DOWNLINK4 = 127,
MAX_BIT_RATE_DOWNLINK5 = 128,
MAX_BIT_RATE_DOWNLINK6 = 254,
MAX_BIT_RATE_DOWNLINK_ZERO = 255 // erica __SM_3G__
//RESERVED_BIDIRECT_MAX_BIT_RATE_DOWNLINK= 255 // meaning is changed in R99 according to 24.008
} max_bit_rate_downlink_enum;
typedef enum {
SUBSCRIBED_GUARANTD_BIT_RATE_UPLINK = 0,
RESERVED_NW_TO_MS_GUARANTD_BIT_RATE_UPLINK = 0,
GUARANTD_BIT_RATE_UPLINK1 = 1,
GUARANTD_BIT_RATE_UPLINK2 = 63,
GUARANTD_BIT_RATE_UPLINK3 = 64,
GUARANTD_BIT_RATE_UPLINK4 = 127,
GUARANTD_BIT_RATE_UPLINK5 = 128,
GUARANTD_BIT_RATE_UPLINK6 = 254,
RESERVED_BIDIRECT_GUARANTD_BIT_RATE_UPLINK = 255
} guarantd_bit_rate_uplink_enum;
typedef enum {
SUBSCRIBED_GUARANTD_BIT_RATE_DOWNLINK= 0,
RESERVED_NW_TO_MS_GUARANTD_BIT_RATE_DOWNLINK = 0,
GUARANTD_BIT_RATE_DOWNLINK1 = 1,
GUARANTD_BIT_RATE_DOWNLINK2 = 63,
GUARANTD_BIT_RATE_DOWNLINK3 = 64,
GUARANTD_BIT_RATE_DOWNLINK4 = 127,
GUARANTD_BIT_RATE_DOWNLINK5 = 128,
GUARANTD_BIT_RATE_DOWNLINK6 = 254,
RESERVED_BIDIRECT_GUARANTD_BIT_RATE_DOWNLINK= 255
} guarantd_bit_rate_downlink_enum;
typedef kal_uint8 band_selection_enum;
#define BAND_P900 0x01
#define BAND_E900 0x02
#define BAND_R900 0x04
#define BAND_1800 0x08
#define BAND_1900 0x10
#define BAND_DUAL (BAND_P900|BAND_E900|BAND_1800)
#define BAND_850 0x80
typedef enum
{
CELL_CHANGED ,
LA_CHANGED,
PLMN_CHANGED,
NUM_OF_GS_CHANGED
} cb_geography_enum;
/* UAS/GAS <-> RATCM begin */
typedef enum {
NM_1 = 0,
NM_2 = 1,
NM_3 = 2,
NM_NONE = 3
}network_mode_enum;
typedef enum {
PLMN_NOT_FOUND = 0,
PLMN_FOUND = 1,
CANNOT_PROCESS = 2,
GEMINI_SUSPENDED_FAILURE = 3
} plmn_search_result_enum;
typedef enum {
CANT_PROC_REASON_NONE = 0,
CANT_PROC_REASON_SIM_NOT_VALID
} plmn_search_cant_proc_reason_enum;
typedef enum {
PLMN_SEARCH_UNRELATED = 0,
PLMN_SEARCH_FINISHED = 1,
PLMN_SEARCH_STARTED = 2,
} plmn_search_status_enum;
typedef enum {
DISABLE_INTERNATIONAL_ROAMING_SETTING = 0,
DISABLE_NATIONAL_ROAMING_SETTING = 1,
DISABLE_HPPLMN_SEARCH_SETTING = 2
} roaming_setting_enum;
typedef enum {
NWSEL_PAM_NO_AVAILABLE_PDN = 0,
NWSEL_PAM_HAS_AVAILABLE_PDN = 1
} pdn_update_event_enum;
typedef enum {
CELL_TYPE_SUITABLE = 0,
CELL_TYPE_ACCEPTABLE = 1,
CELL_TYPE_CAMPED_NOT_ALLOWED = 2,
CELL_TYPE_NOT_APPLICABLE = 3
} as_cell_type_enum;
typedef enum {
CELL_BAND_INFO_TYPE_NONE = 0,
CELL_BAND_INFO_TYPE_MRU = 1,
CELL_BAND_INFO_TYPE_RAL = 2,
} cell_band_info_type_enum;
#if 0 /* move to cross core */
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
#endif
typedef enum {
NWSEL_MSG_PLMN_LOSS = 0,
NWSEL_MSG_PLMN_SEARCH_CNF = 1,
NWSEL_MSG_EUTRAN_DISABLE_INFO = 2
}nwsel_interlayer_msg_enum; //add for auto test tool
typedef enum {
ADD_CSG = 0,
DEL_CSG = 1
} csg_update_type_enum;
typedef enum{
FORBID_LA_FOR_REG_PROV_SERVICE = 0,
FORBID_LA_FOR_ROAMING = 1
} forbidden_la_type_enum;
typedef enum
{
/* UTRAN has not used IE "Ciphering Info" in SECURITY MODE COMMAND to start controlling the ciphering. */
CipheringNotStarted = 0,
CipheringUEA0, /* Use algorithm UEA0 for ciphering*/
CipheringUEA1 /* Use algorithm UEA1 for ciphering*/
#ifdef __UMTS_R7__
,
CipheringUEA2 /* Use algorithm UEA2 for ciphering*/
#endif
} Ciphering_Status;
typedef enum{
PROC_STATUS_NONE = 0,
ATTACH_PROCEDURE_START = 1,
ATTACH_PROCEDURE_SUCCESS = 2,
RAU_PROCEDURE_START = 3,
RAU_PROCEDURE_SUCCESS = 4,
SERVICE_PROCEDURE_START = 5,
SERVICE_PROCEDURE_SUCCESS = 6,
ATTACH_PROCEDURE_FAILURE = 7,
RAU_PROCEDURE_FAILURE = 8,
SERVICE_PROCEDURE_FAILURE = 9,
NW_INIT_DETACH_PROCEDURE = 10,
CS_DETACH_START = 11,
PS_DETACH_START = 12,
CS_PS_DETACH_START = 13,
LU_PROCEDURE_SUCCESS = 14,
LU_PROCEDURE_FAILURE = 15,
CM_SERVICE_FAILURE = 16,
CS_AUTH_REJ = 17,
CS_AUTH_FAIL = 18,
PS_AUTH_REJ = 19,
PS_AUTH_FAIL = 20,
CS_PS_POWER_OFF = 21,
DETACH_PROCEDURE_END = 22,
MS_IN_LIMITED_SERVICE = 23, /* for FAST_RECOVERY */
MS_IN_NO_SERVICE = 24, /* for FAST_RECOVERY */
MS_STATE_CHANGE = 25,
LTE_REG_PROCEDURE_SUCCESS = 26,
ATTACH_PROCEDURE_FOR_PS_SWITCH_SUCCESS = 27, // for __SGLTE__ usage
MS_IN_GEMINI_SUSPEND = 28, // for Gemini suspend state notify to 4G
MS_STOP_SNIFF = 29,
MS_PLMN_LOSS = 30, /* for report PLMN_LOSS when control by GMSS*/
}regn_proc_status_enum;
/* Ripple */
typedef enum {
MMAS_NO_CHG_IN_REGN_STATUS = 0,
MMAS_CS_ATTACHED = 1,
MMAS_PS_ATTACHED = 2,
MMAS_CS_PS_ATTACHED = 3,
MMAS_CS_DETACHED = 4,
MMAS_PS_DETACHED = 5,
MMAS_CS_PS_DETACHED = 6
}mmas_regn_status_enum;
typedef enum {
AS_REL_SCOPE_SIGNALING,
AS_REL_SCOPE_CONNECTION,
}as_rel_scope_enum;
typedef enum {
AS_SNIFF_SERVICE_INVALID,
AS_SNIFF_FOR_PWS_AND_BETTER_SERVICE,
AS_SNIFF_FOR_LIMITED_AND_BETTER_SERVICE,
AS_SNIFF_FOR_NORMAL_SERVICE,
}as_sniffer_req_service_enum;
typedef enum {
AS_SNIFFER_TARGET_LIST,
AS_SNIFFER_TARGET_ANY_LIST,
}as_sniffer_plmn_list_operate_type_enum;
typedef enum {
CAUSE_AUTH_FAIL,
#ifdef __GEMINI__
CAUSE_RSIM_ABORT,
CAUSE_LEAVE_VIRTUAL_CONNECTED,
#endif
CAUSE_OTHERS
}conn_rel_cause_enum;
typedef enum
{
IMSI_TYPE = 0x01,
TMSI_TYPE = 0x04,
PTMSI_TYPE = 0x04,
INVALID_UE_ID_TYPE = 0xff
} ue_id_type_enum;
typedef enum
{
AS_CONN_EST_SUCC = 0,
ACCESS_BARRED = 1,
IMM_ASSGN_REJECT_RCVD = 2,
RAND_ACC_FAILURE = 3,
RR_NO_SERVICE = 4,
GIBI_TAG_MISMATCH = 5,
UAS_CONN_EST_FAILURE = 6,
RR_PLMN_SRCH_REJ_EMERGENCY = 7,
REDIRECT_SUCC = 8,
/*Byron: 2007/05/08: Add reject cause for CCO activation timer is running*/
CCO_ACTIVATION_TIME_ONGOING= 9,
CONN_EST_ABORTED = 10
#ifdef __GEMINI__ //20080922
,
AS_IN_SUSPEND_MODE = 11 /* for AS suspend mode in dual RR task */
#endif /* __GEMINI__ */
, CSFB_SEARCH_OTHER_RAT = 12,
CELL_CHANGE_START=13
#ifdef __GEMINI__
,
AS_IN_VIRTUAL_CONNECTED_MODE = 14, /* for AS virtual connected mode in dual RR task */
AS_MSPM_SESSION_NOT_ALLOWED = 15, /* AS is not able to acquired MSPM AS session */
AS_CONN_EST_ABORTED_DUE_TO_GEMINI = 16 /* AS connection aborted due to GEMINI scenario */
#endif /* __GEMINI__ */
} as_est_cnf_cause_enum; /* ps_cause_enum need modify, too. */
/* ~ Ripple */
/* ENUMERATED PagingCause */
typedef enum
{
PagingCause_terminatingConversationalCall = 0,
PagingCause_terminatingStreamingCall = 1,
PagingCause_terminatingInteractiveCall = 2,
PagingCause_terminatingBackgroundCall = 3,
PagingCause_terminatingHighPrioritySignalling = 4,
PagingCause_terminatingLowPrioritySignalling = 5,
PagingCause_terminatingCauseUnknown = 6
}
RATCM_RRC_PagingCause;
/*2013/03/26, local release enhancement*/
/* ENUMERATED LocalReleaseType */
typedef enum
{
LocalReleaseType_detect_macthed_utran_paging = 0,
LocalReleaseType_gemini_abort_ps_rab = 1,
LocalReleaseType_key_change_on_the_fly = 2
}
RATCM_RRC_LocalReleaseType;
/* ENUMERATED ReleaseCause */
typedef enum
{
normalEvent = 0,
ReleaseCause_unspecified = 1,
pre_emptiveRelease = 2,
ReleaseCause_congestion = 3,
re_establishmentReject = 4,
directedsignallingconnectionre_establishment = 5,
userInactivity = 6,
IDT_notSent = 7
}
RATCM_RRC_ReleaseCause;
typedef enum
{
SAPI_0_High = 0,
SAPI_3_Low = 1
} DC_Priority;
typedef enum
{
DC_Status_SUCCESS = 0,
/* NAS message is discarded because of GAS cell reselection */
DC_Status_GAS_CellResel_Discard = 1,
/* RRCE couldn't deliver this NAS message successfully to peer entity, e.g., InterRAT or OOS */
DC_Status_Normal_FAILURE = 2,
/* RLC reset, NAS message is discarded */
DC_Status_RLC_Discard_FAILURE = 3,
/* NAS message is discarded because of gibi mismatch */
DC_Status_GIBI_TagMismatch = 4,
/* RLC release, NAS message is sent completely but not receive ack yet */
DC_Status_RLC_Release_Tx_Not_Acked = 5,
/* RLC release, NAS message is discarded */
DC_Status_RLC_Release_Discard = 6,
/* RB Reestablish, NAS message is sent completely but not receive ack yet */
DC_Status_RB_Reestablish_Tx_Not_Acked = 7,
/* RB Reestablish, NAS message is discarded */
DC_Status_RB_Reestablish_Discard = 8,
/* NAS message cannot be sent while 3G2 CCO activation time is ongoing */
DC_Status_RLC_CCO_Activation_Time_Ongoing = 9,
/* NAS message is discarded because of GAS suspend */
DC_Status_GAS_RLC_GPRS_Resume_Discard = 10,
/* RLC(2G only?) drop the NAS message due to no cell coverage, not sure if NW RLC have received this msg or not */
DC_Status_RLC_No_Cell_Coverage_Discard = 11,
/* GMM does not relay SM msg to lower layers due to PLMN search ongoing. NW must not receive this msg */
DC_Status_PLMN_Search_Ongoing_Discard = 12,
// Carlson 2013.07.22 please check the gmmsm_cause_enum and the DC_Status together
// 1. For suspend due to CM/MM/GMM procedure, GMM will send GMMSM_SUSPEND_REQ to SM, using only one of the 2 causes: PS_SUSPEND_LR / PS_SUSPEND_CM
// 2. For Gemini suspend, GMM will not relay UNITDATA_REQ if other SIM is busy, and GMM will send UNITDATA_CNF.DC_Status_Gemini_Suspend_Discard to SM
// 3. For gmmsm_cause_enum: GMMSM_INSUFFICIENT_RESOURCE, it is only used in GMMSM_ATTACH_REJ due to Gemini
/* GMM does not relay SM msg to lower layers due to Gemini suspension (ex. Suspended by CS call of another SIM). NW must not receive this msg */
DC_Status_Gemini_Suspend_Discard = 13,
/* GMM does not relay SM msg to lower layers due to no GPRS coverage. NW must not receive this msg */
DC_Status_GMM_No_Cell_Discard = 14,
/* GMM used to indicate SM that unitdata_req send fail because of GMM suspend */
DC_Status_GMM_Suspend = 15,
/* RLc/LLC will indicate TX failure if unable to aquire GEMINI PS high semaphore*/
DC_Status_Gemini_Fail = 16,
/* GMM does not relay SM message to lower layer due to No FOP in ATTACH ACCEPT, hence wait for connection to be released*/
DC_Status_GMM_No_FOP_Discard = 17
#ifdef __GEMINI__
,
DC_Status_Gemini_Virtual_Connected_Fail = 18 /* for AS virtual connected mode in dual RR task */
#endif /* __GEMINI__ */
} DC_Status;
typedef enum{
READY_TMR_ACT = 0,
READY_TMR_DEACT = 1
}action_on_ready_timer_enum;
typedef enum{
READY_TMR_EXPIRES = 0,
READY_TMR_REVIVE = 1,
READY_TMR_DEACTIVED = 2
}ready_timer_status_enum;
typedef enum{
CIPHER_CMD = 0,
TCH_ASSIGN = 1,
CHMODE_MODIFY = 2,
CHANNEL_RELEASE = 3,
UAS_RAB_MODIFY = 4,
UAS_RAB_EST = 5
}sync_ind_cause_enum;
/* UAS/GAS <-> RATCM end */
typedef enum{
SIM_NORM_OP = 0x00,
SIM_TYPE_APPROV_OP = 0x80,
SIM_NORM_OP_AND_SPEC_FACILITY = 0x01,
SIM_TYPE_APPROV_OP_AND_SPEC_FACILITY = 0x81,
SIM_MAINTENANCE = 0x02,
SIM_CELL_TEST_OP = 0x04,
SIM_INVALID_OP = 0xFF
} sim_op_mode_enum;
typedef enum
{
SGSNR_0,
SGSNR_1,
SGSNR_NOT_PRESENT
} rr_mm_sgsnr_flag_enum;
#ifdef __GEMINI__
typedef enum
{
RR_IN_NORMAL_MODE = 0, //for monza
RR_NOT_IN_SUSPEND_MODE = RR_IN_NORMAL_MODE, //for maui
RR_IN_SUSPEND_MODE_FOR_CS_SIG = 1,
RR_IN_SUSPEND_MODE_FOR_CS_CALL = 2,
RR_IN_SUSPEND_MODE_FOR_PS_SIG = 3,
RR_IN_SUSPEND_MODE_FOR_PS_DATA = 4,
RR_IN_SUSPEND_MODE_UNSPECIFIED = 5 //for MM use
} rr_suspend_mode_reason_enum;
typedef enum
{
AS_NORMAL_MODE = 0,
AS_IN_SUSPEND_MODE_FOR_CS_SIG = 1,
AS_IN_SUSPEND_MODE_FOR_CS_CALL = 2,
AS_IN_SUSPEND_MODE_FOR_PS_SIG = 3,
AS_IN_SUSPEND_MODE_FOR_PS_DATA = 4,
AS_IN_SUSPEND_MODE_UNSPECIFIED = 5 //for MM use
} as_suspend_mode_reason_enum; //identical as rr_suspend_mode_reason_enum
typedef enum
{
AS_IN_IDLE = 0,
AS_IN_CONNECTED_TRANSIENT = 1,
AS_IN_VIRTUAL_CONNECTED = 2,
AS_IN_CONNECTED = 3,
AS_IN_VIRTUAL_IDLE = 4
} as_gemini_status_enum;
#if defined(__UMTS_RAT__) || defined(__LTE_RAT__)
typedef enum {
GAS_USER_PLMN_SEARCH = 0,
GAS_USER_NO_SERVICE_PLMN_LIST = 1,
GAS_USER_IN_SERVICE_PLMN_LIST = 2,
GAS_MM_PLMN_SEARCH = 3,
GAS_AS_CELL_SELECTION = 4,
GAS_MM_PLMN_LIST = 5,
GAS_AS_REPORT_CGI = 6,
GAS_FAST_RECOVERY = 7,
GAS_MM_PLMN_SEARCH_POWER_ON = 8, //for CMCC case 5.1.1: is first search after power on
GAS_FREQ_SCAN_NULL = 9,
GAS_CSG_FINGER_PRINT = 10,
GAS_RSIM_VC_RESUME = 11
}gas_freq_scan_type_enum;
typedef enum {
GAS_FREQ_SCAN_ACCEPT = 0,
GAS_FREQ_SCAN_WAIT = 1
}gas_freq_scan_result_enum;
typedef enum {
GAS_FREQ_SCAN_FINISHED = 0,
GAS_FREQ_SCAN_PREEMPTED = 1
}gas_freq_scan_stop_cause_enum;
#endif /* defined(__UMTS_RAT__) || defined(__LTE_RAT__) */
#ifdef __LTE_RAT__
typedef enum {
EAS_USER_NO_SERVICE_PLMN_LIST = 0x00000001,
EAS_USER_PLMN_SEARCH = 0x00000002,
EAS_USER_IN_SERVICE_PLMN_LIST = 0x00000004,
EAS_MM_PLMN_SEARCH = 0x00000008,
EAS_AS_AFR = 0x00000010,
EAS_AS_CELL_SELECTION = 0x00000020,
EAS_AS_CSG_CELL_EVALUATION = 0x00000040,
EAS_AS_BACKGROUND_SEARCH = 0x00000080,
EAS_MM_PLMN_LIST = 0x00000100,
EAS_AS_CSG_AUTONOMOUS_SEARCH = 0x00000200,
EAS_AS_FINGERPRINT = 0x00000400,
EAS_AS_MCC_LEARNING = 0x00000800,
EAS_SIM_PROTECTION = 0x00001000,
EAS_MM_PLMN_SEARCH_POWER_ON = 0x00002000,
EAS_EMC_SESSION = 0x00004000,
EAS_GEMINI_RESUME = 0x00008000,
EAS_AS_CELL_SELECTION_CALL = 0x00010000,
EAS_FREQ_SCAN_NULL = 0x00020000
}eas_freq_scan_type_enum;
typedef enum {
EAS_FREQ_SCAN_FINISHED,
EAS_FREQ_SCAN_PREEMPTED
}eas_freq_scan_stop_cause_enum;
#endif /* __LTE_RAT__ */
#endif /* __GEMINI__ */
#ifdef __NR_RAT__
typedef enum {
NRRC_AS_AFR,
NRRC_EMC_SESSION,
NRRC_USER_NO_SERVICE_PLMN_LIST,
NRRC_USER_PLMN_SEARCH,
NRRC_USER_IN_SERVICE_PLMN_LIST,
NRRC_MM_PLMN_SEARCH_POWER_ON,
NRRC_MM_PLMN_SEARCH,
NRRC_AS_CELL_SELECTION,
NRRC_AS_CELL_SELECTION_CALL,
NRRC_AS_BACKGROUND_SEARCH,
NRRC_MM_PLMN_LIST,
NRRC_GEMINI_RESUME,
NRRC_AUTO_GAP,
NRRC_GEMINI_ABORT,
NRRC_FREQ_SCAN_NULL
}nrrc_freq_scan_type_enum;
typedef enum {
NRRC_FREQ_SCAN_FINISHED,
NRRC_FREQ_SCAN_PREEMPTED,
NRRC_FREQ_SCAN_INVALID
}nrrc_freq_scan_stop_cause_enum;
#endif /* __NR_RAT__ */
typedef enum {
NRRC_AC1_SELECTION_ASSISTANCE_INFO_A,
NRRC_AC1_SELECTION_ASSISTANCE_INFO_B,
NRRC_AC1_SELECTION_ASSISTANCE_INFO_C,
NRRC_AC1_SELECTION_ASSISTANCE_INFO_INVALID
} nrrc_ac1_selection_assistance_info_enum;
#if (defined( __AGPS_CONTROL_PLANE__) || defined( __ETWS_SUPPORT__))
typedef enum{
APP_CMD_OR_FINAL_RESP = 0,
APP_NOT_CMD_OR_FINAL_RESP = 1
}app_data_cr_enum;
#ifdef __AGPS_CONTROL_PLANE__
typedef enum{
ABORT_CAUSE_CONN_RELEASE =0,
ABORT_CAUSE_RR_MANAGE_MESG =1
}abort_rrlp_cause_enum;
#endif /* __AGPS_CONTROL_PLANE__ */
#endif /* ( __AGPS_CONTROL_PLANE__) || defined( __ETWS_SUPPORT__) */
/* TCM, RAC Share with L4C */
typedef enum
{
NW_CONTEXT_REJ_EVENT = 1,
NW_CONTEXT_REACT_EVENT,
NW_CONTEXT_DEACT_EVENT, // Replacd to NW_DEACT_EVENT (27.007 R9 CR0221)
ME_CONTEXT_DEACT_EVENT, // Replacd to ME_DEACT_EVENT (27.007 R9 CR0221)
NW_DETACH_EVENT,
ME_DETACH_EVENT,
ME_PDN_ACT_EVENT, //IPV6_TODO: add a new event type for "+CGEV: ME PDN ACT <cid>"
//Primary PDP Context, Merge to "+CGEV: NW/ME ACT/DEACT" enum s
//NW_PDN_ACT_EVENT, //LTE: add a new event type for "+CGEV: NW PDN ACT <cid>" <= EPS not applicable
//ME_PDN_ACT_EVENT, //LTE: add a new event type for "+CGEV: ME PDN ACT <cid>"
//NW_PDN_DEACT_EVENT, //LTE: add a new event type for "+CGEV: NW PDN DEACT <cid>"
//ME_PDN_DEACT_EVENT, //LTE: add a new event type for "+CGEV: ME PDN DEACT <cid>"
//Secondary PDP Context
NW_ACT_EVENT, //LTE: add a new event type for "+CGEV: NW ACT <p_cid>, <cid>, <event_type>
ME_ACT_EVENT, //LTE: add a new event type for "+CGEV: ME ACT <p_cid>, <cid>, <event_type>
NW_DEACT_EVENT, //LTE: add a new event type for "+CGEV: NW DEACT <p_cid>, <cid>, <event_type>
ME_DEACT_EVENT, //LTE: add a new event type for "+CGEV: ME DEACT <p_cid>, <cid>, <event_type>
NW_MODIFY_EVENT, //LTE: add a new event type for "+CGEV: NW MODIFY <cid>, <change_reason>, <event_type>
ME_MODIFY_EVENT, //LTE: add a new event type for "+CGEV: ME MODIFY <cid>, <change_reason>, <event_type>
ME_REATTACH_EVENT //SGLTE: After RAU_Reject with #10 and reattach succ, notify AP to active PDP ASAP.
}mmi_event_enum;
typedef enum
{
PAM_EVENT_NOTIFY_CLEAR_VZW_APN_TABLE,
PAM_EVENT_NOTIFY_VZW_AP_FULLY_CONTROL_IA,
PAM_EVENT_NOTIFY_VZW_AP_NOT_FULLY_CONTROL_IA
} pam_event_notify_enum;
//#ifdef __PLMN_LIST_PREF_SUPPORT__
typedef enum
{
ACCURACY_PREFERED,
SPEED_PREFFERED
} plmn_list_preference_enum;
//#endif /* __PLMN_LIST_PREF_SUPPORT__ */
typedef enum
{
HSPA_OFF = 0,
HSDPA_ON = 1,
HSDPA_HSUPA_ON = 2,
HSPAPLUS_ON = 3
} hspa_preference_enum;
typedef enum
{
PPAC_NOT_RESTRICTED,
PPAC_PAGING_ALLOWED,
PPAC_LR_ALLOWED
}
ppac_checked_type_enum;
typedef enum
{
PS_CBS0_GERMAN = 0,
PS_CBS0_ENGLISH,
PS_CBS0_ITALIAN,
PS_CBS0_FRENCH,
PS_CBS0_SPANISH,
PS_CBS0_DUTCH,
PS_CBS0_SWEDISH,
PS_CBS0_DANISH,
PS_CBS0_PORTUGUESE,
PS_CBS0_FINNISH,
PS_CBS0_NORWEGIAN,
PS_CBS0_GREEK,
PS_CBS0_TURKISH,
PS_CBS0_HUNGARIAN,
PS_CBS0_POLISH,
PS_CBS0_LANG_UNSPECIFIED,
PS_CBS1_CZECH = 16,
PS_CBS1_HEBREW,
PS_CBS1_ARABIC,
PS_CBS1_RUSSIAN,
PS_CBS1_ICELANDIC,
PS_CBS2_AA, // AFAR, 20
PS_CBS2_AB, // ABKHAZIAN
PS_CBS2_AF, // AFRIKAANS
PS_CBS2_AM, // AMHARIC
//CBS2_AR, // ARABIC
PS_CBS2_AS, // ASSAMESE
PS_CBS2_AY, // AYMARA
PS_CBS2_AZ, // AZERBAIJANI
PS_CBS2_BA, // BASHKIR
PS_CBS2_BE, // BYELORUSSIAN
PS_CBS2_BG, // BULGARIAN, 30
PS_CBS2_BH, // BIHARI
PS_CBS2_BI, // BISLAMA
PS_CBS2_BN, // BENGALI; BANGLA
PS_CBS2_BO, // TIBETAN
PS_CBS2_BR, // BRETON
PS_CBS2_CA, // CATALAN
PS_CBS2_CO, // CORSICAN
//CBS2_CS, // CZECH
PS_CBS2_CY, // WELSH
//CBS2_DA, // DANISH, 40
//CBS2_DE, // GERMAN
PS_CBS2_DZ, // BHUTANI
//CBS2_EL, // GREEK
//CBS2_EN, // ENGLISH
PS_CBS2_EO, // ESPERANTO
//CBS2_ES, // SPANISH
PS_CBS2_ET, // ESTONIAN
PS_CBS2_EU, // BASQUE
PS_CBS2_FA, // PERSIAN
//CBS2_FI, // FINNISH, 50
PS_CBS2_FJ, // FIJI
PS_CBS2_FO, // FAROESE
//CBS2_FR, // FRENCH
PS_CBS2_FY, // FRISIAN
PS_CBS2_GA, // IRISH
PS_CBS2_GD, // SCOTS GAELIC
PS_CBS2_GL, // GALICIAN
PS_CBS2_GN, // GUARANI
PS_CBS2_GU, // GUJARATI
PS_CBS2_HA, // HAUSA, 60
//CBS2_HE, // HEBREW (FORMERLY IW)
PS_CBS2_HI, // HINDI
PS_CBS2_HR, // CROATIAN
//CBS2_HU, // HUNGARIAN
PS_CBS2_HY, // ARMENIAN
PS_CBS2_IA, // INTERLINGUA
PS_CBS2_ID, // INDONESIAN (FORMERLY IN)
PS_CBS2_IE, // INTERLINGUE
PS_CBS2_IK, // INUPIAK
PS_CBS2_IS, // ICELANDIC, 70
//CBS2_IT, // ITALIAN
PS_CBS2_IU, // INUKTITUT
PS_CBS2_JA, // JAPANESE
PS_CBS2_JW, // JAVANESE
PS_CBS2_KA, // GEORGIAN
PS_CBS2_KK, // KAZAKH
PS_CBS2_KL, // GREENLANDIC
PS_CBS2_KM, // CAMBODIAN
PS_CBS2_KN, // KANNADA
PS_CBS2_KO, // KOREAN, 80
PS_CBS2_KS, // KASHMIRI
PS_CBS2_KU, // KURDISH
PS_CBS2_KY, // KIRGHIZ
PS_CBS2_LA, // LATIN
PS_CBS2_LN, // LINGALA
PS_CBS2_LO, // LAOTHIAN
PS_CBS2_LT, // LITHUANIAN
PS_CBS2_LV, // LATVIAN, LETTISH
PS_CBS2_MG, // MALAGASY
PS_CBS2_MI, // MAORI, 90
PS_CBS2_MK, // MACEDONIAN
PS_CBS2_ML, // MALAYALAM
PS_CBS2_MN, // MONGOLIAN
PS_CBS2_MO, // MOLDAVIAN
PS_CBS2_MR, // MARATHI
PS_CBS2_MS, // MALAY
PS_CBS2_MT, // MALTESE
PS_CBS2_MY, // BURMESE
PS_CBS2_NA, // NAURU
PS_CBS2_NE, // NEPALI, 100
//CBS2_NL, // DUTCH
//CBS2_NO, // NORWEGIAN
PS_CBS2_OC, // OCCITAN
PS_CBS2_OM, // (AFAN) OROMO
PS_CBS2_OR, // ORIYA
PS_CBS2_PA, // PUNJABI
//CBS2_PL, // POLISH
PS_CBS2_PS, // PASHTO, PUSHTO
//CBS2_PT, // PORTUGUESE
PS_CBS2_QU, // QUECHUA, 110
PS_CBS2_RM, // RHAETO-ROMANCE
PS_CBS2_RN, // KIRUNDI
PS_CBS2_RO, // ROMANIAN
//CBS2_RU, // RUSSIAN
PS_CBS2_RW, // KINYARWANDA
PS_CBS2_SA, // SANSKRIT
PS_CBS2_SD, // SINDHI
PS_CBS2_SG, // SANGHO
PS_CBS2_SH, // SERBO-CROATIAN
PS_CBS2_SI, // SINHALESE, 120
PS_CBS2_SK, // SLOVAK
PS_CBS2_SL, // SLOVENIAN
PS_CBS2_SM, // SAMOAN
PS_CBS2_SN, // SHONA
PS_CBS2_SO, // SOMALI
PS_CBS2_SQ, // ALBANIAN
PS_CBS2_SR, // SERBIAN
PS_CBS2_SS, // SISWATI
PS_CBS2_ST, // SESOTHO
PS_CBS2_SU, // SUNDANESE, 130
//CBS2_SV, // SWEDISH
PS_CBS2_SW, // SWAHILI
PS_CBS2_TA, // TAMIL
PS_CBS2_TE, // TELUGU
PS_CBS2_TG, // TAJIK
PS_CBS2_TH, // THAI
PS_CBS2_TI, // TIGRINYA
PS_CBS2_TK, // TURKMEN
PS_CBS2_TL, // TAGALOG
PS_CBS2_TN, // SETSWANA, 140
PS_CBS2_TO, // TONGA
//CBS2_TR, // TURKISH
PS_CBS2_TS, // TSONGA
PS_CBS2_TT, // TATAR
PS_CBS2_TW, // TWI
PS_CBS2_UG, // UIGHUR
PS_CBS2_UK, // UKRAINIAN
PS_CBS2_UR, // URDU
PS_CBS2_UZ, // UZBEK
PS_CBS2_VI, // VIETNAMESE, 150
PS_CBS2_VO, // VOLAPUK
PS_CBS2_WO, // WOLOF
PS_CBS2_XH, // XHOSA
PS_CBS2_YI, // YIDDISH (FORMERLY JI)
PS_CBS2_YO, // YORUBA
PS_CBS2_ZA, // ZHUANG
PS_CBS2_ZH, // CHINESE
PS_CBS2_ZU, // ZULU, 158
PS_CBS_INVALID = 255
} cbs_language_enum;
typedef enum
{
CBS_GSM7_BIT = 0x00, /* GSM 7-bit */
CBS_EIGHT_BIT = 0x04, /* 8-bit */
CBS_UCS2 = 0x08, /* UCS2 */
CBS_ALPHABET_RESERVED = 0x0C /* RESERVED */
} cbs_alphabet_enum;
typedef enum
{
CBS_CLASS0 = 0,
CBS_CLASS1,
CBS_CLASS2,
CBS_CLASS3,
CBS_CLASS_UNSPECIFIED
} cbs_msgclass_enum;
typedef enum
{
PBCCH = 0,
PRACH = 1,
PCCCH = 2,
PDTCH = 3,
PACCH = 4,
BCCH = 5,
N_BCCH = 6,
E_BCCH = 7,
CCCH = 8,
PAG_CH = 9,
RACH = 10,
SDCCH4_0 = 11,
SDCCH4_1 = 12,
SDCCH4_2 = 13,
SDCCH4_3 = 14,
SDCCH8_0 = 15,
SDCCH8_1 = 16,
SDCCH8_2 = 17,
SDCCH8_3 = 18,
SDCCH8_4 = 19,
SDCCH8_5 = 20,
SDCCH8_6 = 21,
SDCCH8_7 = 22,
SDCCH = 23,
SACCH = 24,
FACCH = 25,
TCH_EF = 26,
TCH_F = 27,
TCH_H_0 = 28,
TCH_H_1 = 29,
TCH_H = 30,
CBCH = 31,
PPCH = 32
} channel_type_enum;
typedef enum
{
ul_amr_rate_t0,
ul_amr_rate_t1,
ul_amr_rate_t2,
ul_amr_rate_t3,
ul_amr_rate_t4,
ul_amr_rate_t5,
ul_amr_rate_t6,
ul_amr_rate_t7,
ul_amr_rate_t8,
ul_amr_rate_default
} ul_amr_rate_enum;
/* Temp solution fro MM Pre-integration */
#if 0
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
#endif
typedef enum
{
ON_OTHER_COUNTRY = 0,
ON_HPLMN = 1,
ON_HOME_COUNTRY = 2,
ON_HPLMN_HOME_COUNTRY = ON_HPLMN | ON_HOME_COUNTRY //3 //3
} hplmn_status_enum;
typedef enum
{
FPLMN_NONE = 0,
FPLMN = 1, /* #11 */
FPLMNGPRS = 2, /* #14 */
FPLMN_FPLMNGPRS = FPLMN | FPLMNGPRS,
FPLMNCS = 4, /* EMM cause #18 */
FPLMN_FPLMNCS = FPLMN | FPLMNCS,
FPLMNGPRS_FPLMNCS = FPLMNGPRS | FPLMNCS,
FPLMN_FPLMNGPRS_FPLMNCS = FPLMN | FPLMNGPRS | FPLMNCS
} fplmn_status_enum;
typedef enum
{
NOT_ON_ABNORMAL_REGN_AREA = 0,
ON_ABNORMAL_LA = 1,
ON_ABNORMAL_RA = 2,
ON_ABNORMAL_LA_RA = ON_ABNORMAL_LA | ON_ABNORMAL_RA,
ON_ABNORMAL_TA
} abnormal_regn_area_enum;
/* Temp solution fro MM Pre-integration */
#if 0
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
#endif
typedef enum
{
LR_NOT_RELATED = 0,
LR_ACCEPT,
LR_REJECT,
LR_ABNORMAL,
LR_ACCEPT_PS_ONLY,
LR_NO_NEEDED, /* SGLTE DSDS: PS @SIM2, just perform search but do not attach */
} lr_result_enum;
typedef enum
{
MM_EVENT_NONE = 0,
MM_EVENT_LU = 1, // LU is initiated
MM_EVENT_CM_IND = 2, // MT CM is established
MM_EVENT_CM_NORMAL_REQ = 3, // MO CM except ECC is requested by user
MM_EVENT_CM_ECC_REQ = 4, // MO ECC is requested by user
MM_EVENT_CM_ACC = 5, // MO CM is accepted by NW
MM_EVENT_CM_ABORT = 6, // MO CM is aborted by user
MM_EVENT_ACCESS_BARRED = 7, // LR while access class barred
MM_EVENT_ECALL_TEST_CALL = 8,
MM_EVENT_GMM_READY_STATE_IND = 9, //for NWSEL R7 "2G ready state don't allowe HPPLMN search feature", switch ready_state status
MM_EVENT_T3246_RUNNING = 11, // LR while T3246 running
MM_EVENT_T3346_RUNNING = 12, // LR while T3346 running
MM_EVENT_SEARCH_OTHER_RAT_IND = 13, //CSFB REDIR REJ, SEARCH OTHER RAT TO FINISH CALL
MM_EVENT_RECEIVE_PDP_ACT_REJ_IND = 14,
MM_EVENT_CM_REJ_TO_CC_FOR_RETRY =15, /*MM_EVENT_CM_REJ_TO_CC_FOR_RETRY must be added by NWSEL or MM*/
MM_EVENT_MT_CSFB_SEARCH_ABORT = 16 /*MM sends to NWSEL to abort the plmn search for MT CSFB session*/
} mm_event_type_enum;
typedef enum
{
MM_ECALL_ONLY,
MM_ECALL_ONLY_LU_ALLOWED,
MM_ECALL_ONLY_RESTRICTION_REMOVED,
MM_NOT_ECALL_ONLY
} mm_check_ecall_status_enum;
typedef enum {
LTE_DUPLEX_TYPE_FDD = 0x00,
LTE_DUPLEX_TYPE_TDD = 0x01,
LTE_DUPLEX_TYPE_UNKNOWN = 0xFE, /* if no cell, ERRC reports this value */
LTE_DUPLEX_TYPE_NO_RESTRICTION = 0xFF /* if no need to separate TD/FDD, NWSEL use this value in REQ msg */
} lte_duplex_type_enum;
typedef enum
{
MM_GMM_ECALL_ONLY = 0, // For when__NG_ECALL_SUPPORT__ is only enabled
MM_GMM_NOT_ECALL_ONLY
} mm_gmm_check_ecall_status_enum;
typedef enum {
DUPLEX_TYPE_FDD = 0x00,
DUPLEX_TYPE_TDD = 0x01,
DUPLEX_TYPE_UNKNOWN = 0xFE, /* if no cell, AS reports this value */
DUPLEX_TYPE_NO_RESTRICTION = 0xFF /* if no need to separate TDD/FDD, NWSEL use this value in REQ msg */
} duplex_type_enum;
typedef enum
{
EVENT_TYPE_CSFB = 0x01,
EVENT_TYPE_UPDATE_EPLMN = 0x02,
EVENT_TYPE_RETURN_NORMAL = 0x04,
EVENT_TYPE_PROC_RESULT = 0x08,
EVENT_TYPE_UPDATE_STATE = 0x10,
EVENT_TYPE_RETURN_ABNORMAL = 0x20,
EVENT_TYPE_PROC_RESULT_WITH_EPLMN = EVENT_TYPE_UPDATE_EPLMN | EVENT_TYPE_PROC_RESULT, //0x0A, for MM use
EVENT_TYPE_PROC_RESULT_UPDATE_STATE = EVENT_TYPE_PROC_RESULT | EVENT_TYPE_UPDATE_STATE //0x18, for MM and EVAL use
,EVENT_TYPE_CONGESTION_TIMER_ACTIVE = 0x80 // __REL10__: t3346
,EVENT_TYPE_THROTTLING_TIMER_ACTIVE = 0x100 /* VZ_REQ_LTEDATARETRY_7735 */
,EVENT_TYPE_NO_AVAILABLE_PDN = 0x200
,EVENT_TYPE_CSFB_EMC = 0x400
,EVENT_TYPE_AC_BAR = 0x800
} event_type_enum;
typedef enum
{
TIN_DELETED = 0,
TIN_PTMSI,
TIN_RAT_RELATED_TMSI,
TIN_GUTI
} tin_enum;
//__LTE__
typedef enum
{
GMM_RAT_STATE_IR_INVALID = 0,
GMM_RAT_STATE_IR_ONGOING,
GMM_RAT_STATE_IS_INACTIVE_NAS,
GMM_RAT_STATE_IS_ACTIVE_NAS
} gmm_rat_state_enum;
/* TS 24.008 */
typedef enum
{
CS_VOICE_ONLY = 0,
IMS_PS_VOICE_ONLY,
CS_VOICE_PREFERRED_IMS_PS_VOICE_AS_SECONDARY, /* CS voice preferred, IMS PS Voice as secondary */
IMS_PS_VOICE_PREFERRED_CS_VOICE_AS_SECONDARY /* IMS PS voice preferred, CS Voice as secondary */
} voice_domain_preference_enum;
/* ERAC <-> ENAS/EAS end */
/* ERAC <-> NWSEL begin */
typedef enum
{
IMS_REG_STATUS_UNSPECIFIED = 0,
IMS_REG_STATUS_REGISTERED,
IMS_REG_STATUS_UNREGISTERED
} ims_reg_status_enum;
/* ERAC <-> NWSEL end */
/* MM <-> EMM begin */
typedef enum
{
MM_EMM_TMSI_STATUS_INVALID = 0,
MM_EMM_TMSI_STATUS_VALID
} mm_emm_tmsi_status_enum;
typedef enum {
MM_NO_CHANGE,
MM_CELL_CHANGE,
MM_RAI_CHANGE,
MM_LAI_CHANGE,
MM_PERIODIC_RA_CHANGE,
MM_REG_REQ
}mm_cell_change_enum;
#ifdef __CS_SERVICE__
typedef enum
{
MM_U1_UPDATED = 0,
MM_U2_NOT_UPDATED = 1,
MM_U3_ROAMING_NOT_ALLOWED = 3,
MM_U4_UPDATING_DISABLED = MM_U2_NOT_UPDATED,
MM_UPDATE_STATUS_INVALID = 4
} gsm_update_status_enum;
typedef enum {
MM_START_UP = 1,
MM_IMSI_ATTACH_INIT,
MM_IMSI_ATTACHED,
MM_LU_REJECT,
MM_IMSI_DETACH_INIT,
MM_IMSI_DETACHED
} gsm_state_enum;
#endif
#ifdef __PS_SERVICE__
typedef enum
{
GU1_UPDATED = 0,
GU2_NOT_UPDATED = 1,
GU3_ROAMING_NOT_ALLOWED = 2,
RA_NOT_ALLOWED = 3 /* 3G Modify, not used */
}gprs_update_status_enum;
//typedef gprs_update_status_enum gmm_update_status_enum;
typedef enum
{
STARTUP = 1,
ATTACHED_INIT,
GMM_ATTACHED,
DETACHED,
DETACHED_INIT
}gprs_state_enum; /* 3G Modify: gprs_state_enum */
typedef enum
{
GPRS_TRAFFIC_CHANNNEL_DORMANT = 0,
GPRS_TRAFFIC_CHANNNEL_ACTIVE
} gprs_traffic_channel_status_enum;
#endif
typedef enum
{
EMM_EU1_UPDATED = 0,
EMM_EU2_NOT_UPDATED = 1,
EMM_EU3_ROAMING_NOT_ALLOWED = 2
} eps_update_status_enum;
typedef enum
{
VGMM_UPDATED = 0,
VGMM_NOT_UPDATED = 1,
VGMM_ROAMING_NOT_ALLOWED = 2
} vgmm_5g_update_status_enum;
typedef enum
{
EMM_STARTUP = 1,
EMM_ATTACHED_INIT,
EMM_ATTACHED,
EMM_DETACHED_INIT,
EMM_DETACHED
} eps_state_enum;
typedef enum
{
GMM_MSG_ATTACH_REQUEST = 1,
GMM_MSG_ATTACH_ACCEPT,
GMM_MSG_ATTACH_COMPLETE,
GMM_MSG_ATTACH_REJECT,
GMM_MSG_DETACH_REQUEST,
GMM_MSG_DETACH_ACCEPT,
GMM_MSG_RAU_REQUEST,
GMM_MSG_RAU_ACCEPT,
GMM_MSG_RAU_COMPLETE,
GMM_MSG_RAU_REJECT,
GMM_MSG_SERVICE_REQUEST,
GMM_MSG_SERVICE_ACCEPT,
GMM_MSG_SERVICE_REJECT,
GMM_MSG_PTMSI_REALLOC_COMMAND,
GMM_MSG_PTMSI_REALLOC_COMPLETE,
GMM_MSG_AUTH_AND_CIPHER_REQ,
GMM_MSG_AUTH_AND_CIPHER_RSP,
GMM_MSG_AUTH_AND_CIPHER_REJ,
GMM_MSG_AUTH_AND_CIPHER_FAIL,
GMM_MSG_IDENITY_REQ,
GMM_MSG_IDENITY_RSP,
GMM_MSG_GMM_STATUS,
GMM_MSG_GMM_INFORMATION,
GMM_MSG_INVALID
} gmm_msg_type_enum;
typedef enum
{
GMM_ATTACH_TYPE_GPRS_ATTACH = 1,
GMM_ATTACH_TYPE_COMBINED_ATTACH = 3,
GMM_ATTACH_TYPE_EMERGENCY_ATTACH = 4,
GMM_GPRS_ATTACH_ONLY = 1,
GPRS_ATTACH_WHILE_IMSI_ATTACH = 2,
COMBINED_ATTACH = 3,
GMM_ATTACH_TYPE_INVALID = 5
} gmm_attach_type_enum;
typedef enum
{
GMM_UPDATE_TYPE_RAU = 0,
GMM_UPDATE_TYPE_COMBINED_RAU,
GMM_UPDATE_TYPE_COMBINED_RAU_IMSI_ATTACH,
GMM_UPDATE_TYPE_PERIODIC_RAU,
GMM_UPDATE_TYPE_INVALID,
RAU_UPDATE = 0,
COMBINED_RAU_LAU = 1,
COMBINED_RAU_LAU_WITH_IMSI = 2,
PERIODIC_RAU_UPDATE = 3
} gmm_update_type_enum;
typedef enum
{
GMM_ATTACH_RESULT_GPRS_ONLY_ATTACHED = 1,
GMM_ATTACH_RESULT_COMBINED_ATTACHED = 3,
MM_GPRS_ONLY_ATTACHED = 1,
COMBINED_GPRS_IMSI_ATTACHED = 3,
GMM_ATTACH_RESULT_INVALID
} gmm_attach_result_enum;
typedef enum
{
GMM_UPDATE_RESULT_RA_UPDATED = 0,
GMM_UPDATE_RESULT_COMBINED_UPDATED = 1,
GMM_UPDATE_RESULT_RA_UPDATED_ISR_ACTIVATED = 4,
GMM_UPDATE_RESULT_COMBINED_UPDATED_ISR_ACTIVATED = 5,
GMM_UPDATE_RESULT_INVALID
} gmm_update_result_enum;
typedef enum
{
GMM_CAUSE_IMSI_UNKNOWN_IN_HLR = 0x02,
GMM_CAUSE_ILLEGAL_MS = 0x03,
GMM_CAUSE_IMEI_NOT_ACCEPTED = 0x05,
GMM_CAUSE_ILLEGAL_ME = 0x06,
GMM_CAUSE_GPRS_NOT_ALLOWED = 0x07,
GMM_CAUSE_GPRS_NON_GPRS_NOT_ALLOWED = 0x08,
GMM_CAUSE_MS_ID_NOT_DERIVED_BY_NW = 0x09,
GMM_CAUSE_IMPLICIT_DETACH = 0x0a,
GMM_CAUSE_PLMN_NOT_ALLOWED = 0x0b,
GMM_CAUSE_LA_NOT_ALLOWED = 0x0c,
GMM_CAUSE_ROAMING_NOT_ALLOWED_IN_LA = 0x0d,
GMM_CAUSE_GPRS_NOT_ALLOWED_IN_PLMN = 0x0e,
GMM_CAUSE_NO_SUITABLE_CELL_IN_LA = 0x0f,
GMM_CAUSE_MSC_NOT_REACHABLE = 0x10,
GMM_CAUSE_NW_FAILURE = 0x11,
GMM_CAUSE_MAC_FAILURE = 0x14,
GMM_CAUSE_SYNCH_FAILURE = 0x15,
GMM_CAUSE_CONGESTION = 0x16,
GMM_CAUSE_GSM_AUTH_UNACCEPTABLE = 0x17,
GMM_CAUSE_NOT_AUTH_FOR_CSG = 0x19,
GMM_CAUSE_NO_PDP_CTXT_ACT = 0x28,
GMM_CAUSE_SEMANTIC_INCORRECT = 0x5f,
GMM_CAUSE_INVALID_MANDATORY_INFO = 0x60,
GMM_CAUSE_MSG_TYPE_NOT_EXIST = 0x61,
GMM_CAUSE_MSG_TYPE_NOT_COMPATIBLE = 0x62,
GMM_CAUSE_IE_NOT_EXIST = 0x63,
GMM_CAUSE_CONDITIONAL_IE_ERROR = 0x64,
GMM_CAUSE_MESSAGE_NOT_COMPATIBLE = 0x65,
GMM_CAUSE_PROTOCOL_ERROR = 0x6f,
} gmm_cause_enum;
typedef enum
{
MM_EMM_MT_CAUSE_UNSPECIFIED = 0,
MM_EMM_MT_CAUSE_PS_PAGING_WITH_IMSI
} mm_emm_mt_cause_enum;
typedef enum
{
GMM_DETACH_TYPE_MO_GPRS_DETACH = 1,
GMM_DETACH_TYPE_MO_IMSI_DETACH,
GMM_DETACH_TYPE_MO_COMBINED_DETACH,
GMM_DETACH_TYPE_MT_REATTACH_REQUIRED,
GMM_DETACH_TYPE_MT_REATTACH_NOT_REQUIRED,
GMM_DETACH_TYPE_MO_POWEROFF_GPRS_DETACH,
GMM_DETACH_TYPE_MO_POWEROFF_COMBINED_DETACH,
GMM_DETACH_TYPE_INVALID
} gmm_detach_type_enum;
#ifdef __FIVEG_NAS__
typedef enum
{
VGMM_DETACH_TYPE_MO_GPRS_DETACH = 1,
VGMM_DETACH_TYPE_MO_POWEROFF_DETACH,
VGMM_DETACH_TYPE_MT_REATTACH_REQUIRED,
VGMM_DETACH_TYPE_MT_REATTACH_NOT_REQUIRED,
} vgmm_detach_type_enum;
#endif
typedef enum
{
EMM_MSG_ATTACH_REQUEST = 0x41,
EMM_MSG_ATTACH_ACCEPT = 0x42,
EMM_MSG_ATTACH_COMPLETE = 0x43,
EMM_MSG_ATTACH_REJECT = 0x44,
EMM_MSG_DETACH_REQUEST = 0x45,
EMM_MSG_DETACH_ACCEPT = 0x46,
EMM_MSG_TAU_REQUEST = 0x48,
EMM_MSG_TAU_ACCEPT = 0x49,
EMM_MSG_TAU_COMPLETE = 0x4A,
EMM_MSG_TAU_REJECT = 0x4B,
EMM_MSG_EXT_SERVICE_REQUEST = 0x4C,
EMM_MSG_SERVICE_REJECT = 0x4E,
EMM_MSG_GUTI_REALLOC_COMMAND = 0x50,
EMM_MSG_GUTI_REALLOC_COMPLETE = 0x51,
EMM_MSG_AUTH_REQ = 0x52,
EMM_MSG_AUTH_RSP = 0x53,
EMM_MSG_AUTH_REJ = 0x54,
EMM_MSG_AUTH_FAIL = 0x5C,
EMM_MSG_IDENTITY_REQ = 0x55,
EMM_MSG_IDENTITY_RSP = 0x56,
EMM_MSG_SEC_MODE_COMMAND = 0x5D,
EMM_MSG_SEC_MODE_COMPLETE = 0x5E,
EMM_MSG_SEC_MODE_REJECT = 0x5F,
EMM_MSG_EMM_STATUS = 0x60,
EMM_MSG_EMM_INFORMATION = 0x61,
EMM_MSG_DL_NAS_TRANSPORT = 0x62,
EMM_MSG_UL_NAS_TRANSPORT = 0x63,
EMM_MSG_CS_SERVICE_NOTIFY = 0x64,
EMM_MSG_DL_NAS_GENERIC_TRANSPORT = 0x68,
EMM_MSG_UL_NAS_GENERIC_TRANSPORT = 0x69,
EMM_MSG_SERVICE_REQUEST = 0xFE,
EMM_MSG_INVALID = 0xFF
} emm_msg_type_enum;
typedef enum
{
EMM_ATTACH_TYPE_NONE = 0,
EMM_ATTACH_TYPE_EPS_ATTACH = 1,
EMM_ATTACH_TYPE_COMBINED_ATTACH = 2,
EMM_ATTACH_TYPE_EMERGENCY_ATTACH = 6
} emm_attach_type_enum;
typedef enum
{
EMM_UPDATE_TYPE_TAU = 0,
EMM_UPDATE_TYPE_COMBINED_TAU,
EMM_UPDATE_TYPE_COMBINED_TAU_IMSI_ATTACH,
EMM_UPDATE_TYPE_PERIODIC_TAU,
EMM_UPDATE_TYPE_INVALID
} emm_update_type_enum;
typedef enum
{
EMM_ATTACH_RESULT_NONE = 0,
EMM_ATTACH_RESULT_EPS_ONLY_ATTACHED,
EMM_ATTACH_RESULT_COMBINED_ATTACHED
} emm_attach_result_enum;
typedef enum
{
EMM_UPDATE_RESULT_TA_UPDATED = 0,
EMM_UPDATE_RESULT_COMBINED_UPDATED = 1,
EMM_UPDATE_RESULT_TA_UPDATED_ISR_ACTIVATED = 4,
EMM_UPDATE_RESULT_COMBINED_UPDATED_ISR_ACTIVATED = 5,
EMM_UPDATE_RESULT_INVALID
} emm_update_result_enum;
typedef enum
{
EMM_CAUSE_CAUSE_NONE = 0x00,
EMM_CAUSE_IMSI_UNKNOWN_IN_HSS = 0x02,
EMM_CAUSE_ILLEGAL_UE = 0x03,
EMM_CAUSE_IMEI_NOT_ACCEPTED = 0x05,
EMM_CAUSE_ILLEGAL_ME = 0x06,
EMM_CAUSE_EPS_NOT_ALLOWED = 0x07,
EMM_CAUSE_EPS_NON_EPS_NOT_ALLOWED = 0x08,
EMM_CAUSE_UE_ID_NOT_DERIVED_BY_NW = 0x09,
EMM_CAUSE_IMPLICIT_DETACH = 0x0a,
EMM_CAUSE_PLMN_NOT_ALLOWED = 0x0b,
EMM_CAUSE_TA_NOT_ALLOWED = 0x0c,
EMM_CAUSE_ROAMING_NOT_ALLOWED_IN_TA = 0x0d,
EMM_CAUSE_EPS_NOT_ALLOWED_IN_PLMN = 0x0e,
EMM_CAUSE_NO_SUITABLE_CELL_IN_TA = 0x0f,
EMM_CAUSE_MSC_NOT_REACHABLE = 0x10,
EMM_CAUSE_NW_FAILURE = 0x11,
EMM_CAUSE_CS_NOT_AVAILABLE = 0x12,
EMM_CAUSE_ESM_FAILURE = 0x13,
EMM_CAUSE_MAC_FAILURE = 0x14,
EMM_CAUSE_SYNCH_FAILURE = 0x15,
EMM_CAUSE_CONGESTION = 0x16,
EMM_CAUSE_UE_SEC_CAPA_MISMATCH = 0x17,
EMM_CAUSE_SEC_MODE_REJ_UNSPECIFIED = 0x18,
EMM_CAUSE_NOT_AUTH_FOR_CSG = 0x19,
EMM_CAUSE_NON_EPS_AUTH_UNACCEPTABLE = 0x1a,
EMM_CAUSE_REQUEST_SERVICE_OPTION_NOT_AUTHORIZED_IN_PLMN = 0x23,
EMM_CAUSE_CS_TEMP_NOT_AVAILABLE = 0x27,
EMM_CAUSE_NO_EPS_CTXT_ACT = 0x28,
EMM_CAUSE_SEVERE_NW_FAILURE = 0x2a, /* R11 CP#120594 CR#1473 */
EMM_CAUSE_SEMANTIC_INCORRECT = 0x5f,
EMM_CAUSE_INVALID_MANDATORY_INFO = 0x60,
EMM_CAUSE_MSG_TYPE_NOT_EXIST = 0x61,
EMM_CAUSE_MSG_TYPE_NOT_COMPATIBLE = 0x62,
EMM_CAUSE_IE_NOT_EXIST = 0x63,
EMM_CAUSE_CONDITIONAL_IE_ERROR = 0x64,
EMM_CAUSE_MESSAGE_NOT_COMPATIBLE = 0x65,
EMM_CAUSE_PROTOCOL_ERROR = 0x6f,
/* Incase if any more standard cause values are to be added then
* the cause having the greatest value should be placed just before
* the internal cause values.
*/
/* NOTE: the values of MTK internal-defined causes should be the same as mm_cause_enum */
EMM_CAUSE_FORBIDDEN_PLMN = FORBIDDEN_PLMN, /* 0x70 */
EMM_CAUSE_NO_COVERAGE = NO_COVERAGE,
EMM_CAUSE_EPS_SERV_NOT_ALLOWED = GPRS_SERV_NOT_ALLOWED, /* for GEMINI, PS can NOT attach in SIM1 and SIM2 */
EMM_CAUSE_SIM_REMOVED = SIM_REMOVED,
EMM_CAUSE_SIM_INVALID_FOR_PS = SIM_INVALID_FOR_PS,
EMM_CAUSE_SIM_INVALID_FOR_CS = SIM_INVALID_FOR_CS,
EMM_CAUSE_SIM_INVALID_FOR_CS_AND_PS = SIM_INVALID_FOR_CS_AND_PS,
EMM_CAUSE_EAS_IN_SUSPEND_MODE = MM_REJ_CUZ_RR_IN_SUSPEND_MODE,
EMM_CAUSE_LIMITED_SERVICE = GPRS_IN_LIMITED_SERVICE,
EMM_CAUSE_SIM_INVALID_FOR_LTE_BECAUSE_NON_USIM_INSERTED = 0x8f,
EMM_CAUSE_OOS_IND = 0x90,
EMM_CAUSE_ECALL_INACTIVE = 0x91
} emm_cause_enum;
typedef enum
{
CSFB_INFO_EMM_CAUSE_CAUSE_NONE = 0x00,
CSFB_INFO_EMM_CAUSE_IMSI_UNKNOWN_IN_HSS = 0x02,
CSFB_INFO_EMM_CAUSE_ILLEGAL_UE = 0x03,
CSFB_INFO_EMM_CAUSE_IMEI_NOT_ACCEPTED = 0x05,
CSFB_INFO_EMM_CAUSE_ILLEGAL_ME = 0x06,
CSFB_INFO_EMM_CAUSE_EPS_NOT_ALLOWED = 0x07,
CSFB_INFO_EMM_CAUSE_EPS_NON_EPS_NOT_ALLOWED = 0x08,
CSFB_INFO_EMM_CAUSE_UE_ID_NOT_DERIVED_BY_NW = 0x09,
CSFB_INFO_EMM_CAUSE_IMPLICIT_DETACH = 0x0a,
CSFB_INFO_EMM_CAUSE_PLMN_NOT_ALLOWED = 0x0b,
CSFB_INFO_EMM_CAUSE_TA_NOT_ALLOWED = 0x0c,
CSFB_INFO_EMM_CAUSE_ROAMING_NOT_ALLOWED_IN_TA = 0x0d,
CSFB_INFO_EMM_CAUSE_EPS_NOT_ALLOWED_IN_PLMN = 0x0e,
CSFB_INFO_EMM_CAUSE_NO_SUITABLE_CELL_IN_TA = 0x0f,
CSFB_INFO_EMM_CAUSE_MSC_NOT_REACHABLE = 0x10,
CSFB_INFO_EMM_CAUSE_NW_FAILURE = 0x11,
CSFB_INFO_EMM_CAUSE_CS_NOT_AVAILABLE = 0x12,
CSFB_INFO_EMM_CAUSE_ESM_FAILURE = 0x13,
CSFB_INFO_EMM_CAUSE_MAC_FAILURE = 0x14,
CSFB_INFO_EMM_CAUSE_SYNCH_FAILURE = 0x15,
CSFB_INFO_EMM_CAUSE_CONGESTION = 0x16,
CSFB_INFO_EMM_CAUSE_UE_SEC_CAPA_MISMATCH = 0x17,
CSFB_INFO_EMM_CAUSE_SEC_MODE_REJ_UNSPECIFIED = 0x18,
CSFB_INFO_EMM_CAUSE_NOT_AUTH_FOR_CSG = 0x19,
CSFB_INFO_EMM_CAUSE_NON_EPS_AUTH_UNACCEPTABLE = 0x1a,
CSFB_INFO_EMM_CAUSE_CS_TEMP_NOT_AVAILABLE = 0x27,
CSFB_INFO_EMM_CAUSE_NO_EPS_CTXT_ACT = 0x28,
CSFB_INFO_EMM_CAUSE_SEMANTIC_INCORRECT = 0x5f,
CSFB_INFO_EMM_CAUSE_INVALID_MANDATORY_INFO = 0x60,
CSFB_INFO_EMM_CAUSE_MSG_TYPE_NOT_EXIST = 0x61,
CSFB_INFO_EMM_CAUSE_MSG_TYPE_NOT_COMPATIBLE = 0x62,
CSFB_INFO_EMM_CAUSE_IE_NOT_EXIST = 0x63,
CSFB_INFO_EMM_CAUSE_CONDITIONAL_IE_ERROR = 0x64,
CSFB_INFO_EMM_CAUSE_MESSAGE_NOT_COMPATIBLE = 0x65,
CSFB_INFO_EMM_CAUSE_PROTOCOL_ERROR = 0x6f,
/* Incase if any more standard cause values are to be added then
* the cause having the greatest value should be placed just before
* the internal cause values.
*/
/* NOTE: the values of MTK internal-defined causes should be the same as mm_cause_enum */
CSFB_INFO_EMM_CAUSE_FORBIDDEN_PLMN = FORBIDDEN_PLMN, /* 0x70 */
CSFB_INFO_EMM_CAUSE_NO_COVERAGE = NO_COVERAGE,
CSFB_INFO_EMM_CAUSE_EPS_SERV_NOT_ALLOWED = GPRS_SERV_NOT_ALLOWED, /* for GEMINI, PS can NOT attach in SIM1 and SIM2 */
CSFB_INFO_EMM_CAUSE_SIM_REMOVED = SIM_REMOVED,
CSFB_INFO_EMM_CAUSE_SIM_INVALID_FOR_PS = SIM_INVALID_FOR_PS,
CSFB_INFO_EMM_CAUSE_SIM_INVALID_FOR_CS = SIM_INVALID_FOR_CS,
CSFB_INFO_EMM_CAUSE_SIM_INVALID_FOR_CS_AND_PS = SIM_INVALID_FOR_CS_AND_PS,
CSFB_INFO_EMM_CAUSE_EAS_IN_SUSPEND_MODE = MM_REJ_CUZ_RR_IN_SUSPEND_MODE,
CSFB_INFO_EMM_CAUSE_LIMITED_SERVICE = GPRS_IN_LIMITED_SERVICE,
CSFB_INFO_EMM_CAUSE_SIM_INVALID_FOR_LTE_BECAUSE_NON_USIM_INSERTED = 0x8f,
CSFB_INFO_EMM_T3442_IS_RUNNING,
CSFB_INFO_EMM_SS_EPS_ONLY_CAUSE_18
} emm_csfb_failure_info_enum;
typedef enum
{
EMM_CAUSE_SOURCE_OTHER = 0,
EMM_CAUSE_SOURCE_ATTACH_REJECT = 1,
EMM_CAUSE_SOURCE_TAU_REJECT = 2,
EMM_CAUSE_SOURCE_NW_DETACH = 3,
EMM_CAUSE_SOURCE_SERVICE_REJECT = 4,
EMM_CAUSE_SOURCE_AUTH_REJECT = 5,
}emm_cause_source_enum;
typedef enum
{
ESM_MSG_INVALID = 0x00,
ESM_MSG_ACTIVATE_DEFAULT_EPS_BEARER_CONTEXT_REQUEST = 0xC1,
ESM_MSG_ACTIVATE_DEFAULT_EPS_BEARER_CONTEXT_ACCEPT = 0xC2,
ESM_MSG_ACTIVATE_DEFAULT_EPS_BEARER_CONTEXT_REJECT = 0xC3,
ESM_MSG_ACTIVATE_DEDICATED_EPS_BEARER_CONTEXT_REQUEST = 0xC5,
ESM_MSG_ACTIVATE_DEDICATED_EPS_BEARER_CONTEXT_ACCEPT = 0xC6,
ESM_MSG_ACTIVATE_DEDICATED_EPS_BEARER_CONTEXT_REJECT = 0xC7,
ESM_MSG_MODIFY_EPS_BEARER_CONTEXT_REQUEST = 0xC9,
ESM_MSG_MODIFY_EPS_BEARER_CONTEXT_ACCEPT = 0xCA,
ESM_MSG_MODIFY_EPS_BEARER_CONTEXT_REJECT = 0xCB,
ESM_MSG_DEACTIVATE_EPS_BEARER_CONTEXT_REQUEST = 0xCD,
ESM_MSG_DEACTIVATE_EPS_BEARER_CONTEXT_ACCEPT = 0xCE,
ESM_MSG_PDN_CONNECTIVITY_REQUEST = 0xD0,
ESM_MSG_PDN_CONNECTIVITY_REJECT = 0xD1,
ESM_MSG_PDN_DISCONNECT_REQUEST = 0xD2,
ESM_MSG_PDN_DISCONNECT_REJECT = 0xD3,
ESM_MSG_BEARER_RESOURCE_ALLOCATION_REQUEST = 0xD4,
ESM_MSG_BEARER_RESOURCE_ALLOCATION_REJECT = 0xD5,
ESM_MSG_BEARER_RESOURCE_MODIFICATION_REQUEST = 0xD6,
ESM_MSG_BEARER_RESOURCE_MODIFICATION_REJECT = 0xD7,
ESM_MSG_ESM_INFORMATION_REQUEST = 0xD9,
ESM_MSG_ESM_INFORMATION_RESPONSE = 0xDA,
ESM_MSG_NOTIFICATION = 0xDB,
ESM_MSG_ESM_STATUS = 0xE8
} esm_msg_type_enum;
typedef enum
{
EMM_SR_TYPE_SR,
EMM_SR_TYPE_EXSR
} emm_sr_type_enum;
typedef enum
{
BCM_NONE = 0,
BCM_MS_ONLY,
BCM_MS_NW
} bcm_enum;
typedef enum
{
ETFT_NOT_SUPPORT = 0,
ETFT_SUPPORT
} etft_enum;
typedef enum
{
EMM_DETACH_TYPE_MO_EPS_DETACH = 1,
EMM_DETACH_TYPE_MO_IMSI_DETACH,
EMM_DETACH_TYPE_MO_COMBINED_DETACH,
EMM_DETACH_TYPE_MT_REATTACH_REQUIRED,
EMM_DETACH_TYPE_MT_REATTACH_NOT_REQUIRED,
EMM_DETACH_TYPE_MT_IMSI_DETACH,
EMM_DETACH_TYPE_MO_POWEROFF_EPS_DETACH,
EMM_DETACH_TYPE_MO_POWEROFF_COMBINED_DETACH
} emm_detach_type_enum;
typedef enum
{
MM_MSG_IMSI_DETACH_IND = 1,
MM_MSG_LU_ACCEPT,
MM_MSG_LU_REJECT,
MM_MSG_LU_REQUEST,
MM_MSG_AUTH_REJ,
MM_MSG_AUTH_REQ,
MM_MSG_AUTH_RSP,
MM_MSG_IDENITY_REQ,
MM_MSG_IDENITY_RSP,
MM_MSG_TMSI_REALLOC_COMMAND,
MM_MSG_TMSI_REALLOC_COMPLETE,
MM_MSG_CM_SERVICE_ACCEPT,
MM_MSG_CM_SERVICE_REJECT,
MM_MSG_CM_SERVICE_ABORT,
MM_MSG_CM_SERVICE_REQUEST,
MM_MSG_CM_SERVICE_PROMPT,
MM_MSG_CM_REEST_REQUEST,
MM_MSG_ABORT,
MM_MSG_MM_NULL,
MM_MSG_MM_STATUS,
MM_MSG_MM_INFORMATION,
MM_MSG_INVALID
} mm_msg_type_enum;
typedef enum
{
MM_REJ_CAUSE_IMSI_UNKNOWN_IN_HLR = 0x02,
MM_REJ_CAUSE_ILLEGAL_MS = 0x03,
MM_REJ_CAUSE_IMEI_NOT_ACCEPTED = 0x05,
MM_REJ_CAUSE_ILLEGAL_ME = 0x06,
MM_REJ_CAUSE_PLMN_NOT_ALLOWED = 0x0b,
MM_REJ_CAUSE_LA_NOT_ALLOWED = 0x0c,
MM_REJ_CAUSE_ROAMING_NOT_ALLOWED_IN_LA = 0x0d,
MM_REJ_CAUSE_GPRS_NOT_ALLOWED_IN_PLMN = 0x0e,
MM_REJ_CAUSE_NO_SUITABLE_CELL_IN_LA = 0x0f,
MM_REJ_CAUSE_NW_FAILURE = 0x11,
MM_REJ_CAUSE_MAC_FAILURE = 0x14,
MM_REJ_CAUSE_SYNCH_FAILURE = 0x15,
MM_REJ_CAUSE_CONGESTION = 0x16,
MM_REJ_CAUSE_GSM_AUTH_UNACCEPTABLE = 0x17,
MM_REJ_CAUSE_NOT_AUTH_FOR_CSG = 0x19,
MM_REJ_CAUSE_SERV_OPT_NOT_SUPPORT = 0x20,
MM_REJ_CAUSE_SERV_OPT_NOT_SUBSCRIBE = 0x21,
MM_REJ_CAUSE_SERV_OPT_TEMP_OUT_OF_ORDER = 0x22,
MM_REJ_CAUSE_CALL_NOT_IDENTIFIED = 0x26,
MM_CAUSE_SEMANTIC_INCORRECT = 0x5f,
MM_CAUSE_INVALID_MANDATORY_INFO = 0x60,
MM_CAUSE_MSG_TYPE_NOT_EXIST = 0x61,
MM_CAUSE_MSG_TYPE_NOT_COMPATIBLE = 0x62,
MM_CAUSE_IE_NOT_EXIST = 0x63,
MM_CAUSE_CONDITIONAL_IE_ERROR = 0x64,
MM_CAUSE_MESSAGE_NOT_COMPATIBLE = 0x65,
MM_CAUSE_PROTOCOL_ERROR = 0x6f
} mm_rej_cause_enum;
typedef enum
{
MM_EMM_CSFB_REQ_TYPE_INVALID = 0,
MM_EMM_CSFB_REQ_TYPE_NORMAL_CALL,
MM_EMM_CSFB_REQ_TYPE_EMERGENCY_CALL,
MM_EMM_CSFB_REQ_TYPE_SS,
MM_EMM_CSFB_REQ_TYPE_LCS,
MM_EMM_CSFB_REQ_TYPE_RESERVED
} mm_emm_csfb_req_type_enum;
typedef enum
{
MM_EMM_CSFB_PAGING_ID_INVALID = 0,
MM_EMM_CSFB_PAGING_ID_IMSI,
MM_EMM_CSFB_PAGING_ID_TMSI
} mm_emm_csfb_paging_id_enum;
typedef enum
{
MM_EMM_CSFB_SUCCESS = 0,
MM_EMM_CSFB_FAILURE
} mm_emm_csfb_result_enum;
typedef enum
{
MM_EMM_EVENT_NONE = 0,
MM_EMM_T3312_EXPIRATION,
MM_EMM_T3323_EXPIRATION,
MM_EMM_T3412_EXPIRATION,
MM_EMM_T3423_EXPIRATION
} mm_emm_isr_event_enum;
typedef enum
{
MM_EMM_U1_UPDATED = 0,
MM_EMM_U2_NOT_UPDATED,
MM_EMM_U3_ROAMING_NOT_ALLOWED,
MM_EMM_U4_UPDATING_DISABLED,
MM_EMM_UPDATE_STATUS_INVALID
} mm_emm_update_status_enum;
typedef enum
{
MM_EMM_PROC_DIR_UE_INITIATED = 0,
MM_EMM_PROC_DIR_NW_INITIATED,
MM_EMM_PROC_DIR_INVALID
} gmm_proc_direction_enum;
/* MM <-> EMM end */
typedef enum {
ATTACH_DETACH_NOT_REQURED_BY_NW = 0,
ATTACH_DETACH_REQURED_BY_NW
}att_flag_enum;
/* Temp solution fro MM Pre-integration */
#if 0
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
#endif
typedef enum
{
NO_ADDITIONAL_INFO = 0,
CSFB_NOT_PREFERRED = 1,
SMS_ONLY = 2,
AUR_RESERVED
} additional_update_result_enum;
typedef enum
{
NO_STATUS = 1,
PROC_STARTED,
PROC_SUCCESSFUL,
PROC_FAILED,
PROC_REJECTED,
PROC_NEED_RETRY
}proc_status_enum;
typedef enum
{
UMTS_RRC_IDLE,
UMTS_RRC_CELL_FACH,
UMTS_RRC_CELL_PCH,
UMTS_RRC_URA_PCH,
UMTS_RRC_CELL_DCH,
UMTS_RRC_INACTIVE
} umts_rrc_state_enum;
typedef enum
{
PS_DOMAIN_CONN_INACTIVE,
PS_DOMAIN_CONN_DORMANT,
PS_DOMAIN_CONN_ACTIVE
} ps_conn_status_enum;
typedef enum
{
GSM_RRM_NULL,
GSM_RRM_INACTIVE,
GSM_RRM_SELECTION,
GSM_RRM_IDLE,
GSM_RRM_ACCESS,
GSM_RRM_PKT_TRANSFER,
GSM_RRM_DEDICATED,
GSM_RRM_RESELCTION,
} gsm_rrm_state_enum;
//#ifdef __VOLTE_SUPPORT__
typedef enum
{
EMC_STATUS_RELEASED = 0,
EMC_STATUS_REQUIRED = 1
} emc_status_enum;
typedef enum
{
EMC_PDN_STATUS_NONE = 0,
EMC_PDN_STATUS_EMC_ONLY = 1,
EMC_PDN_STATUS_EMC_AND_NORMAL = 2
} emc_pdn_status_enum;
//#endif /* __VOLTE_SUPPORT__ */
typedef enum
{
RAT_DUPLEX_TYPE_UNKNOWN = 0,
RAT_DUPLEX_TYPE_FDD,
RAT_DUPLEX_TYPE_TDD
} rat_duplex_type_enum;
#if defined(__CDMA2000_RAT__)
typedef enum
{
MMDC_SEARCH_AP_TRIGGER = 0,
MMDC_SEARCH_2G_CELL_CHANGE,
MMDC_SEARCH_2G_HO,
}mmdc_recovery_search_enum;
typedef enum
{
PLMN_SEARCH_ABORT_2G = 0,
PLMN_SEARCH_ABORT_3G = 1,
PLMN_SEARCH_ABORT_4G = 2
}plmn_search_abort_cause_enum;
typedef enum
{
ABORT_STATUS_SUCCESS = 0,
ABORT_STATUS_FAIL,
ABORT_STATUS_UNKNOWN = 255
} plmn_search_abort_proc_status_enum;
typedef enum
{
MMDC_SUITABLE_CELL = 0,
MMDC_ACCEPTABLE_CELL = 1,
MMDC_NO_CELL = 2
} mmdc_camp_on_status_enum;
typedef enum
{
MMDC_PSD_SWITCH_CAUSE_PSDM = 0,
MMDC_PSD_SWITCH_CAUSE_MANUAL_SELECTION,
MMDC_PSD_SWITCH_CAUSE_AUTO_RESELECTION,
MMDC_PSD_SWITCH_CAUSE_NC0,
MMDC_PSD_SWITCH_CAUSE_QUERY_CURRENT,
MMDC_PSD_SWITCH_CAUSE_UNKNOWN = 255
} mmdc_psd_switch_cause_enum;
#endif /* __SGLTE__ */
typedef enum
{
AS_IND_CELL_CHANGE_IND = 0x01,
AS_IND_HO_CHANGE_IND = 0x02,
AS_IND_RR_STATE_CHANGE_IND = 0x04,
AS_IND_3G_SYS_IR_CRITERIA_IND = 0x08,
AS_IND_4G_SYS_IR_CRITERIA_IND = 0x10,
AS_IND_SRV_CELL_INFO_IND = 0x20,
AS_IND_NBR_INFO_IND = 0x40,
AS_IND_OOS_TRIGER_IND = 0x80,
AS_IND_2G_SYS_IR_CRITERIA_IND = 0x100
} as_ind_type_enum;
#define EMM_PROC_BASE (100)
typedef enum
{
NAS_PROC_NONE = 0,
MM_PROC_NONE = NAS_PROC_NONE,
MM_PROC_LU,
MM_PROC_CM_SERVICE,
MM_PROC_ATTACH,
MM_PROC_ATTACH_COMBINED,
MM_PROC_DETACH_MO_GPRS,
MM_PROC_DETACH_MO_IMSI,
MM_PROC_DETACH_MO_COMBINED,
MM_PROC_DETACH_MT_REATTACH_REQD,
MM_PROC_DETACH_MT_REATTACH_NOT_REQD,
MM_PROC_DETACH_MT_IMSI_DETACH_N_TO_MS,
MM_PROC_RAU,
MM_PROC_RAU_COMBINED,
MM_PROC_SERVICE_REQUEST,
MM_PROC_AUTH,
MM_PROC_ABORT,
EMM_PROC_NONE = NAS_PROC_NONE,
EMM_ATTACH = EMM_PROC_BASE,
EMM_ATTACH_COMBINED,
EMM_ATTACH_EMERGENCY,
EMM_DETACH_MO_EPS,
EMM_DETACH_MO_IMSI,
EMM_DETACH_MO_COMBINED,
EMM_DETACH_MT_REATTACH_REQD,
EMM_DETACH_MT_REATTACH_NOT_REQD,
EMM_DETACH_MT_IMSI_DETACH,
EMM_TAU,
EMM_TAU_PERIODIC,
EMM_TAU_COMBINED,
EMM_SERVICE_REQUEST,
EMM_SERVICE_REQUEST_CSFB,
EMM_AUTH,
VGMM_REGISTRATION,
VGMM_PROC_BEGIN = VGMM_REGISTRATION,
VGMM_REGISTRATION_UPDATE,
VGMM_DEREGISTRATION,
VGMM_DEREGISTRATION_MT_RE_REGISTRATION_REQD,
VGMM_DEREGISTRATION_MT_RE_REGISTRATION_NOT_REQD,
VGMM_SERVICE_REQUEST,
VGMM_SERVICE_REQUEST_EMCFB,
VGMM_AUTH,
VGMM_EMC_REGISTRATION,
VGMM_PROC_END = VGMM_AUTH,
}nas_proc_enum;
typedef nas_proc_enum emm_proc_enum;
typedef nas_proc_enum mm_proc_enum;
typedef enum
{
IMS_VOICE_OVER_PS_SESSION_IN_S1_MODE_NOT_SUPPORT = 0,
IMS_VOICE_OVER_PS_SESSION_IN_S1_MODE_SUPPORT
} ims_ind_enum;
typedef enum
{
EMERGENCY_BEARER_SERVICE_IN_S1_MODE_NOT_SUPPORT = 0,
EMERGENCY_BEARER_SERVICE_IN_S1_MODE_SUPPORT
} emergency_service_ind_enum;
typedef enum
{
LOCATION_SERVICE_VIA_EPS_NOT_SUPPORT = 0,
LOCATION_SERVICE_VIA_EPS_SUPPORT
} location_service_epc_ind_enum;
typedef enum
{
NO_INFO_ABOUT_SUPPORT_OF_LOCATION_SERVICE_VIA_CS_DOMAIN = 0,
LOCATION_SERVICE_VIA_CS_DOMAIN_SUPPORT,
LOCATION_SERVICE_VIA_CS_DOMAIN_NOT_SUPPORT,
RESERVED
} location_service_cs_ind_enum;
typedef enum
{
EXT_SERVICE_REQUEST_FOR_PS_NOT_SUPPORT = 0,
EXT_SERVICE_REQUEST_FOR_PS_SUPPORT
} ext_service_request_for_ps_enum;
typedef enum
{
NAS_NW_EXT_PCO_NOT_SUPPORT = 0,
NAS_NW_EXT_PCO_SUPPORT = 1,
NAS_NW_EXT_PCO_UNKNOWN = 2
} ext_pco_enum;
typedef enum
{
NAS_NW_DCNR_NOT_RESTRICT = 0,
NAS_NW_DCNR_RESTRICT = 1,
NAS_NW_DCNR_UNKNOWN = 2
} restrict_dcnr_enum;
typedef enum
{
NAS_NW_IWK_WITHOUT_N26_NOT_SUPPORT = 0,
NAS_NW_IWK_WITHOUT_N26_SUPPORT = 1,
NAS_NW_IWK_WITHOUT_N26_UNKNOWN = 2
} iwk_n26_enum;
typedef enum
{
Module_Invalid = 0x00,
Module_PSDM = 0x01,
Module_AP = 0x02,
Module_PSDM_AP = 0x03,
} target_module_enum;
/* LCS (CISS/LPP) between EMM */
typedef enum
{
LCS_EMM_STATUS_SUCCESS = 0, /* PDU is sent or received successfully */
LCS_EMM_STATUS_ERR_CONN_FAIL, /* EMM connection failure */
LCS_EMM_STATUS_ERR_NW_NO_LCS, /* NW does not support LCS on 2G/3G/4G */
LCS_EMM_STATUS_ERR_CS_LCS_ONLY, /* NW does not support LCS on 4G, may CSFB to 2G/3G */
LCS_EMM_STATUS_ERR_MCD_ENCODE_FAIL, /* MCD encode fail */
LCS_EMM_STATUS_ERR_MCD_DECODE_FAIL /* MCD decode fail */
} lcs_emm_status_enum;
typedef enum
{
LCS_VGMM_STATUS_SUCCESS = 0, /* PDU is sent or received successfully */
LCS_VGMM_STATUS_ERR_CONN_FAIL, /* VGMM connection failure */
LCS_VGMM_STATUS_ERR_MCD_ENCODE_FAIL, /* MCD encode fail */
LCS_VGMM_STATUS_ERR_MCD_DECODE_FAIL, /* MCD decode fail */
LCS_VGMM_DATA_CNF_FAIL_DUE_TO_PS_SUSPEND,
} lcs_vgmm_status_enum;
typedef enum
{
TIMER_ID_T3246 = 1,
TIMER_ID_T3346,
TIMER_ID_T3246_AND_T3346
} mm_emm_common_timer_id_enum, xmm_common_timer_id_enum; // __REL10__: t3346
typedef enum
{
ADD_ARAL,
DEL_ARAL
} aral_op_enum;
#ifdef __LTE_RAT__
typedef enum
{
ERRC_SIM_PROTECT_PURPOSE_NONE,
ERRC_SIM_PROTECT_PURPOSE_POWER_ON,
ERRC_SIM_PROTECT_PURPOSE_CSFB_FR,
ERRC_SIM_PROTECT_PURPOSE_DUPLEX_MODE_CHG
} errc_sim_protect_purpose_enum;
#endif //__LTE_RAT__
typedef enum
{
IMS_VOICE_OVER_PS_IU_MODE_A_GB_MODE_NOT_SUPPORT = 0,
IMS_VOICE_OVER_PS_IU_MODE_SUPPORT_A_GB_MODE_NOT_SUPPORT
} ug_ims_ind_enum;
typedef enum
{
EMERGENCY_BEARER_SERVICE_IN_IU_MODE_A_GB_MODE_NOT_SUPPORT = 0,
EMERGENCY_BEARER_SERVICE_IN_IU_MODE_SUPPORT_A_GB_MODE_NOT_SUPPORT
} ug_emergency_service_ind_enum;
typedef enum
{
UMTS_PRIORITY_NORMAL = 0,
UMTS_PRIORITY_HIGH
} umts_service_priority_enum; // [Gemini][Two PS attach]
// Priority class used by GMSS
typedef enum
{
PRIO_CLASS_NONE = 0x00, /* No priority class */
PRIO_CLASS_RPLMN = 0x01, /* Priority class RPLMN. Only for 3GPP */
PRIO_CLASS_HOME = 0x02, /* Priority class Home */
PRIO_CLASS_R_H = 0x03, /* 0011 = 3 */
PRIO_CLASS_PREF = 0x04, /* Priority class Home + Preferred */
PRIO_CLASS_R_P = 0x05, /* 0101 = 5 */
PRIO_CLASS_H_P = 0x06, /* 0110 = 6 */
PRIO_CLASS_R_H_P = 0x07, /* 0111 = 7 */
PRIO_CLASS_NOT_PREFERRED= 0x08, /* Priority class Any */
PRIO_CLASS_R_NP = 0x09, /* 1001 = 9 */
PRIO_CLASS_H_NP = 0x0A, /* 1010 = 10 */
PRIO_CLASS_R_H_NP = 0x0B, /* 1011 = 11 */
PRIO_CLASS_P_NP = 0x0C, /* 1100 = 12 */
PRIO_CLASS_R_P_NP = 0x0D, /* 1101 = 13 */
PRIO_CLASS_H_P_NP = 0x0E, /* 1110 = 14 */
PRIO_CLASS_R_H_P_NP = 0x0F, /* 1111 = 15 */
PRIO_CLASS_LIMITED = 0x10 /* Priority class limited. Only for 3GPP */
} prio_class_enum;
typedef enum
{
GMSS_SELECTED_RAT = 0, /* means select such rat*/
GMSS_SELECTED_ATTACHED = 1, /* means result is attached*/
GMSS_SELECTED_LIMITED = 2 /* means result is a limited service */
} gmss_selected_rat_status_enum;
typedef enum
{
EMDSTATUS_MD_CONFIG_MD1_ACTIVE, /* only MD1 active */
EMDSTATUS_MD_CONFIG_MD1_REMOTE_SIM_ACCESS_ONLY, /* MD1s' RF is closed, but MD1's SIM task is still working only for MD3 SIM remote access and MD3 active */
EMDSTATUS_MD_CONFIG_MD1_MD3_ACTIVE, /* both MD1 and MD3 active */
} emdstatus_md_config_enum;
typedef enum
{
EMDSTATUS_SIM_CONFIG_NO_REMOTE_ACCESS, /* MD3 access local card */
EMDSTATUS_SIM_CONFIG_REMOTE_ACCESS_SIM1, /* MD3 access MD1's SIM task1 */
EMDSTATUS_SIM_CONFIG_REMOTE_ACCESS_SIM2 /* MD3 access MD1's SIM task2 */
} emdstatus_sim_config_enum;
typedef enum
{
CT_MODE_SVLTE,
CT_MODE_TDD_DATA_ONLY,
CT_MODE_4G_SWITCH_OFF
} ct_mode_enum;
typedef enum
{
MODE_SWITCH_NORMAL = 0x00,
MODE_SWITCH_PLMN_CHANGE = 0x01,
MODE_SWITCH_OUT_OF_SERVICE = 0x02,
MODE_SWITCH_SIM_REFRESH = 0x03,
MODE_SWITCH_MT_CSFB = 0x04,
MODE_SWITCH_MCC_RESULT = 0x05,
MODE_SWITCH_OTHER_SIM_LOC_LOSS = 0x06, //GMSS internal usage, other SIM location loss
MODE_SWITCH_ECC_SEARCH = 0x07, //not used in Gen97
MODE_SWTICH_EMC_SEARCH_BY_VDM = 0x08, //duplex mode change for VDM trigged limited search
MODE_SWTICH_EMC_SEARCH_BY_GMSS = 0x09, //duplex mode change for GMSS trigged limited search
} mode_switch_cause_enum;
typedef enum
{
WM_POLICY_NONE = 0,
WM_POLICY_OP01_A = 1,
WM_POLICY_OP01_B = 2,
WM_POLICY_OM = 3,
WM_POLICY_OP02 = 4
} wm_policy_enum;
typedef enum
{
SR_FAILURE_CAUSE_AC_BARRED = 0,
SR_FAILURE_CAUSE_NW_REJ_CONN = 1,
SR_FAILURE_CAUSE_T3346_START = 2,
SR_FAILURE_CAUSE_T3346_STOP = 3,
SR_FAILURE_CAUSE_T3346_EXPIRY = 4,
SR_FAILURE_CAUSE_CONN_FAIL = 5,
SR_FAILURE_CAUSE_T3525_START = 6,
SR_FAILURE_CAUSE_T3540_START = 7
}sr_failure_cause_enum;
typedef enum
{
TAU_FAILURE_CAUSE_NONE = 0
}tau_failure_cause_enum;
typedef enum
{
MRU_CMD_CLEAR,
MRU_CMD_EDIT,
MRU_CMD_QUERY,
} mru_cmd_type_enum;
typedef enum
{
GMSS_C2K_SUPPORT_NONE,
GMSS_C2K_SUPPORT_SVLTE,
GMSS_C2K_SUPPORT_SRLTE,
GMSS_C2K_SUPPORT_UNKNOWN
} gmss_c2k_support_enum;
typedef enum
{
NWSEL_EVENT_NONE = 0,
NWSEL_EVENT_CM_NORMAL_REQ = 1,
NWSEL_EVENT_CM_ECC_REQ = 2,
NWSEL_EVENT_CM_ABORT = 3,
NWSEL_EVENT_LR_ACCEPT = 4,
NWSEL_EVENT_DUPLEX_CHANGE_IND = 5,
} nwsel_event_type_enum;
typedef enum
{
LTECA_BAND_CMD_QUERY,
LTECA_BAND_CMD_SET,
} lteca_band_cmd_type_enum;
typedef enum
{
LTECA_MODE_CMD_QUERY,
LTECA_MODE_CMD_SET,
} lteca_mode_cmd_type_enum;
typedef enum {
LTECA_DISABLED = 0x00,
LTECA_ENABLED = 0x01
} lteca_mode_enum;
typedef enum
{
EMM_NWSEL_EVENT_NONE = 0,
EMM_NWSEL_EVENT_REDIRECT_L2C = 1,
} emm_nwsel_event_enum;
typedef enum
{
NWSEL_NV_CNF_NOT_WAIT = 0x00,
NWSEL_NV_CNF_WAIT_ACCESS_ID_START = 0x10,
NWSEL_NV_CNF_WAIT_ACCESS_ID_END = 0x1F
} nwsel_report_nvram_write_cnf_trx_id_enum;
typedef enum
{
NAS_SV_NO_ACTIVE_AS,
NAS_SV_ACTIVE_2G,
NAS_SV_ACTIVE_3G,
NAS_SV_ACTIVE_4G,
NAS_SV_ACTIVE_1X_PS,
NAS_SV_ACTIVE_1X_CS,
NAS_SV_ACTIVE_5G,
}nas_sv_active_as_enum;
typedef enum
{
NAS_SV_REASON_NO_REASON,
NAS_SV_REASON_SIM_ERROR,
NAS_SV_REASON_RFOFF,
NAS_SV_REASON_SET_RAT_MODE,
NAS_SV_REASON_IRAT,
NAS_SV_REASON_ABORT_BY_NWSEL,
}nas_sv_cancel_reason_enum;
typedef enum
{
NAS_SV_EVENT_UPDATE_NONE = 0x0,
NAS_SV_EVENT_CS_LEAVE_IDLE,
NAS_SV_EVENT_CS_ENTER_IDLE,
NAS_SV_EVENT_PS_LEAVE_IDLE,
NAS_SV_EVENT_PS_ENTER_IDLE,
NAS_SV_EVENT_ENTER_HVOLTE_LTE_ONLY_MODE,//deactivate C2K CS/PS since LTE only mode
NAS_SV_EVENT_ENTER_HVOLTE_VOPS_MODE, //deactivate C2K CS/PS since VOPS mode
NAS_SV_EVENT_ENTER_SLEEP_STATE_CS_PS, //deactivate C2K CS/PS when SLEEP state
NAS_SV_EVENT_ENTER_SLEEP_STATE_PS_ONLY, //keep C2K CS is available when only CS doamin request
NAS_SV_EVENT_EMC_SERVICE_FOUND, //only keep target rat active emergency service found
NAS_SV_EVENT_EMC_SEARCH_3GPP, //deactivate C2K CS to prevent from searching preemption
NAS_SV_EVENT_LIST_START, // for nas_sv to cancel search
NAS_SV_EVENT_HPPLMN_LIST_END, // for nas_sv to dequeue, only send when HPPLMN list finish no further action shall be done.
NAS_SV_EVENT_CM_SERVICE_START,
NAS_SV_EVENT_CM_SERVICE_END,
NAS_SV_EVENT_EMM_CONN_IDLE,
NAS_SV_EVENT_EMM_CONN_NON_IDLE,
NAS_SV_EVENT_TYPE_CSFB,
NAS_SV_EVENT_TYPE_RETURN_NORMAL,
NAS_SV_EVENT_TYPE_RETURN_ABNORMAL,
NAS_SV_EVENT_TYPE_CONGESTION_TIMER_ACTIVE,
NAS_SV_EVENT_TYPE_THROTTLING_TIMER_ACTIVE,/* VZ_REQ_LTEDATARETRY_7735 */
NAS_SV_EVENT_EVENT_TYPE_NO_AVAILABLE_PDN,
NAS_SV_EVENT_TYPE_NO_AVAILABLE_PDN,
NAS_SV_EVENT_TYPE_CSFB_EMC,
NAS_SV_EVENT_TYPE_AC_BAR,
NAS_SV_EVENT_APN_DISABLED_CS_PS, //deactivate C2K CS/PS since vzw apn disabled
NAS_SV_EVENT_RAT_MODE_NO_C2K, //deactivate C2K CS/PS since rat mode did not contain C2K
NAS_SV_EVENT_VGMM_CONN_CONNECTED,
NAS_SV_EVENT_VGMM_CONN_IDLE,
NAS_SV_EVENT_VGMM_CONN_INACTIVE,
NAS_SV_EVENT_IR_REDIRECT_FROM_LTE_START,
NAS_SV_EVENT_LTE_REJECT_IR_REDIRECT_TO_UMTS_GSM,
NAS_SV_EVENT_ENTER_SLEEP_STATE_FOR_LVI, //deactivate C2K CS/PS when SLEEP state under limited virtual idle mode
NAS_SV_EVENT_EMM_DEACT_ERRC_FOR_RAT_MODE_CHANGE,
} nas_sv_any_event_update_ind_enum;
typedef enum
{
NAS_SV_BROADCAST_EVENT_UPDATE_NONE = 0x0,
NAS_SV_BROADCAST_EVENT_TYPE_CSFB,
NAS_SV_BROADCAST_EVENT_TYPE_RETURN_NORMAL,
NAS_SV_BROADCAST_EVENT_TYPE_RETURN_ABNORMAL,
NAS_SV_BROADCAST_EVENT_TYPE_CONGESTION_TIMER_ACTIVE,
NAS_SV_BROADCAST_EVENT_TYPE_THROTTLING_TIMER_ACTIVE,/* VZ_REQ_LTEDATARETRY_7735 */
NAS_SV_BROADCAST_EVENT_TYPE_NO_AVAILABLE_PDN,
NAS_SV_BROADCAST_EVENT_TYPE_CSFB_EMC,
NAS_SV_BROADCAST_EVENT_TYPE_AC_BAR,
NAS_SV_BROADCAST_EVENT_TYPE_EMM_IR_REDIRECT_FAILED, /* NAS_SV reject IRAT without informing RATCHG, need to send this event to change state */
} nas_sv_any_event_update_req_enum;
typedef enum
{
NAS_SV_TRACE_TYPE_REG_STATUS,
} nas_sv_trace_type;
typedef enum
{
NAS_SV_BOOL_IN_A_MEETING,
NAS_SV_BOOL_IS_PLMN_STATUS_IND_SENT,
NAS_SV_BOOL_IS_RESULT_IND_SENT,
NAS_SV_BOOL_IS_REG_STATUS_IND_SENT,
} nas_sv_bool_name;
typedef enum
{
NAS_SV_L4_EVENT_UPDATE_NONE = 0x0,
/* previous registered and plmn_loss, first requirement is L4 needs to inform UPCM data suspend. */
NAS_SV_L4_EVENT_AS_DEACTIVATED_START,
/* guarantee paired */
NAS_SV_L4_EVENT_AS_DEACTIVATED_END,
} nas_sv_l4_event_update_ind_enum;
// REL12 feature SCM
typedef enum
{
IMS_SCM_MMTEL_VOICE = 0,
IMS_SCM_MMTEL_VIDEO,
IMS_SCM_SMSOIP,
IMS_SCM_REG,
IMS_SCM_MAX,
} ims_scm_info_type_enum;
typedef enum
{
OMADM_CMD_GET,
OMADM_CMD_SET
} omadm_cmd_type_enum;
typedef enum
{
AUTONOMOUS_GAP = 0,
MPSR_DURATION = 1,
SCAN_DURATION = 2,
SLEEP_DURATION = 3,
MPSR_MAX_DURATION = 4,
LONG_MPSR_DURATION = 5,
TPLMN_BARRING_TIMER = 6,
LTE_HPUE = 7,
T_WWAN_911_TIMER = 8,
MPSR_MAX_STAGE = 9,
LTE_DL256QAM = 10,
LTE_UL64QAM = 11,
LTE_TDD_TM9 = 12,
LTE_FDD_TM9 = 13,
LTE_B25_4x4MIMO = 14,
LTE_B41_4x4MIMO = 15,
T5GNRSA_BARRING_TIMER = 16,
MAX_OMADM_NODE
} omadm_node_type_enum;
typedef enum
{
IMS_SCM_ACTION_START = 1,
IMS_SCM_ACTION_END,
} ims_scm_info_action_enum;
typedef enum
{
RAT_MODE_USER_CHANGE = 0,
RAT_MODE_GMSS_MCC_SEARCH = 1,
RAT_MODE_GMSS_PLMN_SEARCH = 2,
RAT_MODE_GMSS_HVOLTE_MODE_CHANGE = 3
} rat_mode_change_cause_enum;
typedef enum
{
PLMN_RESTRICT_INFO_NONE = 0,
PLMN_RESTRICT_MO_IMS_SR = 1,
PLMN_RESTRICT_LR_ACCEPT_PS_ONLY = 2
} plmn_restrict_additional_information_enum;
typedef enum
{
LTE_MODULATION_CMD_QUERY,
LTE_MODULATION_CMD_SET,
} lte_modulation_cmd_type_enum;
typedef enum {
LTE_MODULATION_DISABLED = 0x00,
LTE_MODULATION_ENABLED = 0x01
} lte_modulation_mode_enum;
typedef enum {
LINK_DIRECTION_DOWNLINK = 0x00,
LINK_DIRECTION_UPLINK = 0x01
} link_direction_enum;
typedef enum
{
CA_BAND_COMB_LIST_CMD_QUERY,
CA_BAND_COMB_LIST_CMD_SET,
CA_BAND_COMB_LIST_CMD_APPEND
} ca_band_comb_list_cmd_type_enum;
typedef enum {
CA_BAND_COMB_LIST_TYPE_WHITE = 0x00,
CA_BAND_COMB_LIST_TYPE_BLACK = 0x01,
ENDC_BAND_COMB_LIST_TYPE_WHITE = 0x02,
ENDC_BAND_COMB_LIST_TYPE_BLACK = 0x03,
SA_BAND_COMB_LIST_TYPE_WHITE = 0x04,
SA_BAND_COMB_LIST_TYPE_BLACK = 0x05
} ca_band_comb_list_type_enum;
typedef enum
{
GMSS_OP01_MODE_CHECK_NONE =0,
GMSS_OP01_MODE_CHECK_TDSCDMA_MODE_ACTIVATED = 1,
GMSS_OP01_MODE_CHECK_CMCC_NETWORK = 2
} gmss_op01_mode_type_enum;
typedef enum
{
OPERATOR_UNKNOWN = 0,
OPERATOR_CT = 1,
OPERATOR_VZW = 2,
OPERATOR_SPRINT = 3,
OPERATOR_CMCC = 4,
} network_operator_enum;
typedef enum
{
EMMCONN_EST_IND_FAIL_CAUSE_EST_SUCCESS,
EMMCONN_EST_IND_FAIL_CAUSE_AC_BARRED,
EMMCONN_EST_IND_FAIL_CAUSE_NW_REJ_CONN,
EMMCONN_EST_IND_FAIL_CAUSE_CONN_FAIL,
EMMCONN_EST_IND_FAIL_CAUSE_IRAT_CELL_RESEL,
EMMCONN_EST_IND_FAIL_CAUSE_CELL_RESEL,
EMMCONN_EST_IND_FAIL_CAUSE_NAS_REQUEST,
EMMCONN_EST_IND_FAIL_CAUSE_TRANSID_NOT_MATCH,
EMMCONN_EST_IND_FAIL_CAUSE_IDLE_OOS,
EMMCONN_EST_IND_FAIL_CAUSE_IRCCO_TIMER_EXPR,
EMMCONN_EST_IND_FAIL_CAUSE_AC_BARRED_MO_DATA,
EMMCONN_EST_IND_FAIL_CAUSE_AC_BARRED_MO_CSFB,
EMMCONN_EST_IND_FAIL_CAUSE_AC_BARRED_EAB,
EMMCONN_EST_IND_FAIL_CAUSE_AC_BARRED_ACDC,
EMMCONN_EST_IND_FAIL_CAUSE_GEMINI_FAIL,
EMMCONN_EST_IND_FAIL_CAUSE_CONGESTION
} emm_est_ind_cause_enum;
typedef enum
{
DELETE_FPLMN,
ADD_FPLMN
#ifdef __MBIM_MS_NETWORK_BLACKLIST__
,UPDATE_BLACKLIST_PLMN
#endif
} fplmn_action_enum;
typedef enum
{
CUSTOM_PREFER_OPLMN = 0,
CUSTOM_FORBIDDEN_PLMN = 1
#ifdef __MBIM_MS_NETWORK_BLACKLIST__
,CUSTOM_BLACKLIST_PLMN = 2
#endif
}custom_plmn_type_enum;
typedef enum
{
INTEG_PROTECTED,
INTEG_NON_PROTECTED,
INTEG_PROTECTED_INSIGNIFICANT
} integ_protect_status_enum;
typedef enum
{
TW_MODE_LG_WG = 0
} gmss_tw_mode_enum;
typedef enum
{
GMSS_SEARCH_TYPE_NORMAL = 0x00, /* 0000 */
GMSS_SEARCH_TYPE_STORED = 0x01, /* 0001 */
GMSS_SEARCH_TYPE_QUICK = 0x02, /* 0010 */
GMSS_SEARCH_TYPE_STORED_QUICK = 0x03 /* 0011 */
} gmss_search_type_enum;
typedef enum {
PAM_APN_TYPE_UNKNOWN = 0x00000000,
PAM_APN_TYPE_DEFAULT = 0x00000001,
PAM_APN_TYPE_IMS = 0x00000002,
PAM_APN_TYPE_MMS = 0x00000004,
PAM_APN_TYPE_SUPL = 0x00000008,
PAM_APN_TYPE_DUN = 0x00000010,
PAM_APN_TYPE_HIPRI = 0x00000020,
PAM_APN_TYPE_FOTA = 0x00000040,
PAM_APN_TYPE_CBS = 0x00000080,
PAM_APN_TYPE_EMERGENCY = 0x00000100,
PAM_APN_TYPE_IA = 0x00000200,
PAM_APN_TYPE_DM = 0x00000400,
PAM_APN_TYPE_WAP = 0x00000800,
PAM_APN_TYPE_NET = 0x00001000,
PAM_APN_TYPE_CMMAIL = 0x00002000,
PAM_APN_TYPE_TETHERING = 0x00004000,
PAM_APN_TYPE_RCSE = 0x00008000,
PAM_APN_TYPE_XCAP = 0x00010000,
PAM_APN_TYPE_RCS = 0x00020000,
} pam_nwsel_apn_type_enum;
typedef enum
{
RECOVER_CAUSE_T3245_EXPIRY = 0,
RECOVER_CAUSE_IVSR_START = 1,
RECOVER_CAUSE_VZW_PERMANENT_IVSR = 2,
} recover_cause_enum;
typedef enum
{
DUPLEX_MODE_RESET_SIM_PARA_TO_AS = 0,
DUPLEX_MODE_SET_SIM_PARA_TO_AS = 1
} duplex_mode_change_action_enum;
typedef enum
{
SET_HVOLTE_MODE_CAUSE_IMS_REG_STATUS_CHANGE = 0,//default value
SET_HVOLTE_MODE_CAUSE_SILENT_REDIAL,
} set_hvolte_mode_cause_enum;
typedef enum
{
HVOLTE_MODE_CHANGE_CAUSE_CS_REG_SENT = 0,
HVOLTE_MODE_CHANGE_CAUSE_L2C2L_WITH_C2K_CS_REGISTERRED,
HVOLTE_MODE_CHANGE_CAUSE_L2C2L_WITHOUT_C2K_CS_REGISTERRED
} hvolte_mode_change_cause_enum;
#ifdef __GEMINI__
typedef enum {
RSIM_AUTH_FINISH_INVALID,
RSIM_AUTH_FINISH_COMPLETE,
RSIM_AUTH_FINISH_LOWER_LAYER_FAILURE,
} rsim_auth_finish_result_enum;
#endif /* __GEMINI__ */
typedef enum
{
ABORT_SEARCH_EMERGENCY = 0, //equivalent to XXX_ABORT_EMERGENCY_PLMN_SEARCH_REQ
ABORT_SEARCH_TVZW_SEARCH_23G = 1
}enwsel_search_abort_cause_enum;
typedef enum {
ENASAS_SSAC_AC_BARRINGFACTOR_p00, // bar
ENASAS_SSAC_AC_BARRINGFACTOR_p05,
ENASAS_SSAC_AC_BARRINGFACTOR_p10,
ENASAS_SSAC_AC_BARRINGFACTOR_p15,
ENASAS_SSAC_AC_BARRINGFACTOR_p20,
ENASAS_SSAC_AC_BARRINGFACTOR_p25,
ENASAS_SSAC_AC_BARRINGFACTOR_p30,
ENASAS_SSAC_AC_BARRINGFACTOR_p40,
ENASAS_SSAC_AC_BARRINGFACTOR_p50,
ENASAS_SSAC_AC_BARRINGFACTOR_p60,
ENASAS_SSAC_AC_BARRINGFACTOR_p70,
ENASAS_SSAC_AC_BARRINGFACTOR_p75,
ENASAS_SSAC_AC_BARRINGFACTOR_p80,
ENASAS_SSAC_AC_BARRINGFACTOR_p85,
ENASAS_SSAC_AC_BARRINGFACTOR_p90,
ENASAS_SSAC_AC_BARRINGFACTOR_p95,
ENASAS_SSAC_AC_BARRINGFACTOR_INVALID, // not bar
} enasas_ssac_ac_barringfactor_enum;
typedef enum
{
LTE_TM9_CMD_QUERY = 0,
LTE_TM9_CMD_SET = 1,
} lte_tm9_cmd_type_enum;
typedef enum
{
LTE_TM9_FDD_DISABLE = 0,
LTE_TM9_FDD_ENABLE = 1
} lte_tm9_fdd_enum;
typedef enum
{
LTE_TM9_TDD_DISABLE = 0,
LTE_TM9_TDD_ENABLE = 1
} lte_tm9_tdd_enum;
typedef enum
{
VGMM_MSG_BEGIN = 0x41,
VGMM_MSG_REG_REQUEST = VGMM_MSG_BEGIN,
VGMM_MSG_REG_ACCEPT = 0x42,
VGMM_MSG_REG_COMPLETE = 0x43,
VGMM_MSG_REG_REJECT = 0x44,
VGMM_MSG_MO_DEREG_REQUEST = 0x45,
VGMM_MSG_MO_DEREG_ACCEPT = 0x46,
VGMM_MSG_MT_DEREG_REQUEST = 0x47,
VGMM_MSG_MT_DEREG_ACCEPT = 0x48,
VGMM_MSG_SERVICE_REQUEST = 0x4C,
VGMM_MSG_SERVICE_REJECT = 0x4D,
VGMM_MSG_SERVICE_ACCEPT = 0x4E,
VGMM_MSG_CONFIG_UPDATE_COMMAND = 0x54,
VGMM_MSG_CONFIG_UPDATE_COMPLETE = 0x55,
VGMM_MSG_AUTH_REQ = 0x56,
VGMM_MSG_AUTH_RSP = 0x57,
VGMM_MSG_AUTH_REJ = 0x58,
VGMM_MSG_AUTH_FAIL = 0x59,
VGMM_MSG_AUTH_RESULT = 0x5A,
VGMM_MSG_IDENTITY_REQ = 0x5B,
VGMM_MSG_IDENTITY_RSP = 0x5C,
VGMM_MSG_SEC_MODE_COMMAND = 0x5D,
VGMM_MSG_SEC_MODE_COMPLETE = 0x5E,
VGMM_MSG_SEC_MODE_REJECT = 0x5F,
VGMM_MSG_5GMM_STATUS = 0x64,
VGMM_MSG_5GMM_NOTIFICATION = 0x65,
VGMM_MSG_5GMM_NOTIFICATION_RSP = 0x66,
VGMM_MSG_UL_NAS_TRANSPORT = 0x67,
VGMM_MSG_DL_NAS_TRANSPORT = 0x68,
// WARNING: do not forget to update VGMM_MSG_END if last message is changed
VGMM_MSG_END = VGMM_MSG_DL_NAS_TRANSPORT,
VGMM_MSG_INVALID = 0xFF
} vgmm_msg_type_enum;
typedef enum
{
VGMM_CAUSE_CAUSE_NONE = 0x00,
VGMM_CAUSE_ILLEGAL_UE = 0x03,
VGMM_CAUSE_PEI_NOT_ACCEPTED = 0x05,
VGMM_CAUSE_ILLEGAL_ME = 0x06,
VGMM_CAUSE_5GS_SERVICES_NOT_ALLOWED = 0x07,
VGMM_CAUSE_UE_ID_NOT_DERIVED_BY_NW = 0x09,
VGMM_CAUSE_IMPLICITLY_DEREGISTERED = 0x0a,
VGMM_CAUSE_PLMN_NOT_ALLOWED = 0x0b,
VGMM_CAUSE_TA_NOT_ALLOWED = 0x0c,
VGMM_CAUSE_ROAMING_NOT_ALLOWED_IN_TA = 0x0d,
VGMM_CAUSE_NO_SUITABLE_CELL_IN_TA = 0x0f,
VGMM_CAUSE_MAC_FAILURE = 0x14,
VGMM_CAUSE_SYNCH_FAILURE = 0x15,
VGMM_CAUSE_CONGESTION = 0x16,
VGMM_CAUSE_SECURITY_CAPABILITIES_MISMATCH = 0x17,
VGMM_CAUSE_SECURITY_MODE_REJECT_UNSPECIFIED = 0x18,
VGMM_CAUSE_NON_5G_AUTH_UNACCEPTABLE = 0x1a,
VGMM_CAUSE_N1_MODE_NOT_ALLOWED = 0x1b,
VGMM_CAUSE_RESTRICTED_SERVICE_AREA = 0x1c,
VGMM_CAUSE_LADN_NOT_AVAILABLE = 0x2b,
VGMM_CAUSE_MAX_NUM_PDU_SESSIONS_REACHED = 0x41,
VGMM_CAUSE_INSUFF_RESOURCES_SLICE_AND_DNN = 0x43,
VGMM_CAUSE_INSUFF_RESOURCES_SLICE = 0x45,
VGMM_CAUSE_NGKSI_ALREADY_IN_USE = 0x47,
VGMM_CAUSE_N3GPP_ACCESS_TO_5GCN_NOT_ALLOWED = 0x48,
VGMM_CAUSE_SERVING_NW_NOT_AUTHORIZED = 0x49,
VGMM_CAUSE_PAYLOAD_NOT_FORWARDED = 0x5a,
VGMM_CAUSE_DNN_NOT_SUP_SLICE = 0x5b,
VGMM_CAUSE_INSUFF_UP_RES_FOR_PDU_SESSION = 0x5c,
VGMM_CAUSE_SEMANTICALLY_INCORRECT_MSG = 0x5f,
VGMM_CAUSE_INVALID_MANDATORY_INFO = 0x60,
VGMM_CAUSE_MSG_TYPE_NON_EXISTENT = 0x61,
VGMM_CAUSE_MSG_TYPE_NOT_COMPATIBLE = 0x62,
VGMM_CAUSE_IE_NON_EXISTENT = 0x63,
VGMM_CAUSE_CONDITIONAL_IE_ERROR = 0x64,
VGMM_CAUSE_MESSAGE_NOT_COMPATIBLE = 0x65,
VGMM_CAUSE_PROTOCOL_ERROR = 0x6f,
/* Causes in ts24.301 but not in ts24.501. There causes are used for interworking between LTE and NR. */
VGMM_CAUSE_NO_EPS_CTXT_ACT = EMM_CAUSE_NO_EPS_CTXT_ACT,
/* MTK internal-defined causes */
/* NOTE: the values of MTK internal-defined causes should be the same as mm_cause_enum */
VGMM_CAUSE_NO_COVERAGE = NO_COVERAGE,
VGMM_CAUSE_SIM_REMOVED = SIM_REMOVED,
VGMM_CAUSE_VGNAS_IN_SUSPEND_MODE = MM_REJ_CUZ_RR_IN_SUSPEND_MODE,
VGMM_CAUSE_LIMITED_SERVICE = GPRS_IN_LIMITED_SERVICE,
} vgmm_cause_enum;
typedef enum
{
VGMM_REGN_DEREGISTERED_UPDATE = 0,
VGMM_REGN_REGISTERED_UPDATE,
VGMM_REGN_INVLAID_ENUM
}vgmm_bcast_regn_update_enum;
typedef enum
{
VGMM_REG_TYPE_INITIAL_REGISTRATION = 1,
VGMM_REG_TYPE_MOBILITY_REGISTRATION_UPDATING = 2,
VGMM_REG_TYPE_PERIODIC_REGISTRATION_UPDATING = 3,
VGMM_REG_TYPE_EMERGENCY_REGISTRATION = 4,
VGMM_REG_TYPE_VGS_REG_TYPE_RESERVED = 7
} vgmm_reg_type_enum;
typedef enum
{
EMM_REGN_DEREGISTERED_UPDATE = 0,
EMM_REGN_REGISTERED_UPDATE,
EMM_REGN_INVLAID_ENUM
}emm_bcast_regn_update_enum;
typedef enum
{
D_VGS_MOBILE_ID_NO_ID = 0,
D_VGS_MOBILE_ID_SUCI = 1,
#ifdef __MCD_VGNAS_24501_SPEC_2018SEP__
D_VGS_MOBILE_ID_GUTI = 6,
#else
D_VGS_MOBILE_ID_GUTI = 2,
#endif /* __MCD_VGNAS_24501_SPEC_2018SEP__ */
D_VGS_MOBILE_ID_IMEI = 3,
D_VGS_MOBILE_ID_S_TMSI = 4,
D_VGS_MOBILE_ID_IMEISVI = 5
} vgs_mobile_id_type_enum;
typedef enum
{
VGMM_NSSAI_CMD_C5GNSSAI = 0,
VGMM_NSSAI_CMD_C5GNSSAIRDP = 1,
VGMM_NSSAI_CMD_C5GPNSSAI = 2
} vgs_nssai_cmd_type_enum;
typedef enum {
NWSEL_LIST_TYPE_INVALID,
NWSEL_LIST_TYPE_MANUAL_LIST,
NWSEL_LIST_TYPE_HIGH_PRIORITY_LIST,
NWSEL_LIST_TYPE_MPSR_LIST
} nwsel_list_type_enum;
/*
typedef enum
{
N1_IMS_VOPS_NOT_SUPPORTED,
N1_IMS_VOPS_SUPPORTED_3GPP,
N1_IMS_VOPS_SUPPORTED_NON_3GPP,
} vgmm_ims_vops_indicator_enum;
typedef enum
{
N1_EMC_NOT_SUPPORTED,
N1_EMC_SUPPORTED_NR_5GCN_ONLY,
N1_EMC_SUPPORTED_EUTRAN_5GCN_ONLY,
N1_EMC_SUPPORTED_NR_5GCN_EUTRAN_5GCN,
} vgmm_emc_support_indicator_enum;
typedef enum
{
N1_EMC_FALLBACK_NOT_SUPPORTED,
N1_EMC_FALLBACK_SUPPORTED_NR_5GCN_ONLY,
N1_EMC_FALLBACK_SUPPORTED_EUTRAN_5GCN_ONLY,
N1_EMC_FALLBACK_SUPPORTED_NR_5GCN_EUTRAN_5GCN,
} vgmm_emc_fallback_support_indicator_enum;
*/
typedef enum
{
N1_IMS_VOPS_NOT_SUPPORT_OVER_3GPP_ACCESS = 0,
N1_IMS_VOPS_NOT_SUPPORTED = N1_IMS_VOPS_NOT_SUPPORT_OVER_3GPP_ACCESS,
N1_IMS_VOPS_SUPPORT_OVER_3GPP_ACCESS = 1,
N1_IMS_VOPS_SUPPORTED_3GPP = N1_IMS_VOPS_SUPPORT_OVER_3GPP_ACCESS,
} vg_ims_3gpp_ind_enum;
typedef enum
{
N1_IMS_VOPS_NOT_SUPPORT_OVER_NON_3GPP_ACCESS = 0,
N1_IMS_VOPS_SUPPORT_OVER_NON_3GPP_ACCESS = 1,
N1_IMS_VOPS_SUPPORTED_NON_3GPP = N1_IMS_VOPS_SUPPORT_OVER_NON_3GPP_ACCESS
} vg_ims_n3gpp_ind_enum;
typedef enum
{
N1_EMC_NOT_SUPPORT = 0,
N1_EMC_SUPPORT_NR_5GCN_ONLY = 1,
N1_EMC_SUPPORT_EUTRA_5GCN_ONLY = 2,
N1_EMC_SUPPORT_NR_5GCN_EUTRA_5GCN = 3
} vg_emergency_service_ind_enum;
typedef enum
{
N1_EMC_FALLBACK_NOT_SUPPORT = 0,
N1_EMC_FALLBACK_SUPPORT_NR_5GCN_ONLY = 1,
N1_EMC_FALLBACK_SUPPORT_EUTRA_5GCN_ONLY = 2,
N1_EMC_FALLBACK_SUPPORT_NR_5GCN_EUTRA_5GCN = 3
} vg_emergency_fallback_ind_enum;
typedef enum
{
ACCESS_IDENTITY_1_NOT_VALID_IN_RPLMN_EPLMN = 0,
ACCESS_IDENTITY_1_VALID_IN_RPLMN_EPLMN = 1
} mps_ind_enum;
typedef enum
{
N1_EMC_NOT_SUPPORT_OVER_NON_3GPP_ACCESS = 0,
N1_EMC_SUPPORT_OVER_NON_3GPP_ACCESS = 1
} vg_emergency_service_n3gpp_ind_enum;
typedef enum
{
ACCESS_IDENTITY_2_NOT_VALID_IN_RPLMN_EPLMN = 0,
ACCESS_IDENTITY_2_VALID_IN_RPLMN_EPLMN = 1
} mcs_ind_enum;
/* refer to AT+EICPG usage */
typedef enum {
CSFB_PAGE_CONFIG_DISABLED =0,
CSFB_PAGE_CONFIG_ENABLE_REPORT_MANUAL,
CSFB_PAGE_CONFIG_ENABLE_REPORT_AUTO_REJECT,
CSFB_PAGE_CONFIG_T_CSFB_USER_RSP,
CSFB_PAGE_CONFIG_T_IGNORE_SAME_NUMBER_OF_CS_SERVICE_NOTIFICATION,
CSFB_PAGE_CONFIG_MAX
} csfb_page_config_enum;
typedef enum
{
NAS_SV_ANY_OPERATION_INVALID = 0,
NAS_SV_ANY_OPERATION_LOCAL_RELEASE = 1,
NAS_SV_ANY_OPERATION_TRICK_RELEASE = 2,
NAS_SV_ANY_OPERATION_PLMN_SEARCH = 4, // Only for VGMM
NAS_SV_ANY_OPERATION_CAP_UPDATE = 8
} nas_sv_any_operation_enum;
typedef enum
{
NAS_SV_MANIPULATE_CONNECTION_TRICK_RELEASE,
NAS_SV_MANIPULATE_CONNECTION_LOCAL_RELEASE,
NAS_SV_MANIPULATE_CONNECTION_LOCAL_RELEASE_MANUAL_LIST
} nas_sv_manipulate_connection_enum;
/********************************************
* VGMM IW DEBUG Facility *
********************************************/
typedef enum {
DEBUG_VGMM_IW_SET_BROADCAST_REGN_UPDATE_TYPE ,
DEBUG_VGMM_IW_SET_BROADCAST_REGN_MSG_TYPE ,
DEBUG_VGMM_IW_SET_BROADCAST_REGN_REG_TYPE ,
DEBUG_VGMM_IW_SET_BROADCAST_REGN_DETACH_TYPE ,
DEBUG_VGMM_IW_SET_BROADCAST_REGN_CAUSE ,
DEBUG_VGMM_IW_GET_BROADCAST_REGN_CAUSE ,
DEBUG_VGMM_IW_SET_BROADCAST_REGN_ATTEMP_CNT ,
DEBUG_VGMM_IW_SET_BROADCAST_REGN_VOPS_SUPPORT ,
DEBUG_VGMM_IW_RESET_BROADCAST_REGN ,
DEBUG_VGMM_IW_IS_POWER_OFF_DETACH ,
DEBUG_VGMM_IW_IS_VALID_BROADCAST_NAS_PROC ,
DEBUG_VGMM_IW_IS_MOBILITY_UPDATE_REQUIRED ,
DEBUG_VGMM_IW_IS_FROM_LTE ,
DEBUG_VGMM_IW_IS_EPS_NAS_MESSAGE_REQUIRED
} debug_vgmm_iw_type_enum;
/* For interworking from LTE to NR, there is the same algorithm what used for NR. */
typedef enum
{
INT_EIA0=0,
INT_128_EIA1,
INT_128_EIA2,
INT_EIA3,
INT_EIA4,
INT_EIA5,
INT_EIA6,
INT_EIA7,
INT_EIA_NO_SET
} emm_integrity_algorithm_enum;
/* For interworking from LTE to NR, there is the same algorithm what used for NR. */
typedef enum
{
ENC_EEA0=0,
ENC_128_EEA1,
ENC_128_EEA2,
ENC_EEA3,
ENC_EEA4,
ENC_EEA5,
ENC_EEA6,
ENC_EEA7,
ENC_EEA_NO_SET
} emm_ciphering_algorithm_enum;
typedef enum {
PREFER_RAT_TYPE_MOST_PREFERRED,
PREFER_RAT_TYPE_RAT_ORDER
} prefer_rat_type_enum;
typedef enum {
MM_CALL_CAUSE_NONE,
MM_CALL_CAUSE_START,
MM_CALL_CAUSE_SUCCESS,
MM_CALL_CAUSE_FAILURE,
MM_CALL_CAUSE_PAGING_GUARD_TIMER_EXPIRED,
MM_CALL_CAUSE_T3240_TIMEOUT,
MM_CALL_CAUSE_AUTH_FAIL,
MM_CALL_CAUSE_AUTH_REJECT,
MM_CALL_CAUSE_CONN_EST_FAIL,
MM_CALL_CAUSE_LAU_REJECT,
MM_CALL_CAUSE_LAU_ACCEPT,
MM_CALL_CAUSE_PLMN_LOSS_IND_RECEIVED,
MM_CALL_CAUSE_SIM_ERROR_IND_RECEIVED,
MM_CALL_CAUSE_PAGING_RESPONSE_SENT,
MM_CALL_CAUSE_PAGING_BLOCKED_BY_ACCESS_BARRED,
MM_CALL_CAUSE_RR_REL_IND_RECEIVED,
MM_CALL_CAUSE_LU_ABNORMAL,
MM_CALL_CAUSE_CM_SERV_REJECT,
MM_CALL_CAUSE_ACCESS_CLASS_BARRED,
MM_CALL_CAUSE_T3230_TIMEOUT,
} mm_cs_call_fail_cause_enum;
typedef enum {
TRY_SWITCH_RAT_RESULT_INVALID,
TRY_SWITCH_RAT_RESULT_FAIL
} try_switch_rat_result_enum;
typedef enum
{
VDM_GMSS_FAILURE_CAUSE_NONE = 0,
VDM_GMSS_FAILURE_CAUSE_RF_OFF = 1,
VDM_GMSS_FAILURE_CAUSE_NO_ALLOWED_DOMAIN = 2,
VDM_GMSS_FAILURE_CAUSE_MAX
} vdm_gmss_failure_cause_enum;
typedef enum {
LTE_NO_LOSS = 0, //UE is in 4G normal service
LTE_ENTER_SEARCHING, //4G normal service change to searching state
LTE_NORMAL_SERVICE_LOSS_WITHOUT_SEARCHING, //4G normal service change to limited service
LTE_IRAT_GSM_UMTS, //4G normal service change to 23G normal service
} lte_normal_service_loss_reason_enum;
typedef enum {
NR_NO_LOSS = 0, //UE is in 5G normal service
NR_ENTER_SEARCHING, //5G normal service change to searching state
NR_NORMAL_SERVICE_LOSS_WITHOUT_SEARCHING, //5G normal service change to limited service
NR_IRAT_GSM_UMTS_LTE, //5G normal service change to 234G normal service
} nr_normal_service_loss_reason_enum;
typedef enum FDD_powerMonitorType
{
FDD_MEME_CELL_POWER_MONITOR_RSCP,
FDD_MEME_CELL_POWER_MONITOR_ECNO,
FDD_MEME_CELL_POWER_MONITOR_NONE,
FDD_MEME_CELL_POWER_MONITOR_TYPE_MAX = FDD_MEME_CELL_POWER_MONITOR_NONE
} FDD_powerMonitorType;
typedef enum
{
ESM_PRECHECK_PASS = 0,
ESM_PRECHECK_SIM_IDX_OUT_OF_RANGE = 1,
ESM_PRECHECK_SMIC_EPSB_CONTEXT_POINTER_SHOULD_NOT_NULL = 2,
ESM_PRECHECK_PDP_CTXT_PTR_SHOULD_NOT_NULL = 3,
ESM_PRECHECK_EBI_VALUE_SHOULD_BE_VALID = 4,
ESM_PRECHECK_CURRENT_SIM_DPC_CTXT_PTR_SHOULD_NOT_NULL = 5,
ESM_PRECHECK_APN_LENGTH_SHOULD_NOT_NULL = 6,
ESM_PRECHECK_BEARER_SHOULD_MAPPING_RB_IDX = 7,
ESM_PRECHECK_QOS_PARAMETER_SHOULD_BE_VALID = 8,
ESM_PRECHECK_OTHER_FAILS = 9,
ESM_PRECHECK_EMM_IS_DEREGISTERD = 10,
} esm_5g4_precheck_ret_value_enum;
typedef enum {
PAM_ACCESS_GRANTED = 0,
PAM_ACCESS_REJECT_BACK_OFF_TIMER_RUNNING_WITH_VALUE,
PAM_ACCESS_REJECT_BACK_OFF_TIMER_DEACTIVATED,
PAM_ACCESS_REJECT_OTHERS // Back-off timer not existing but congested due to some other causes (ex. #46)
} pam_access_check_result_enum;
typedef enum {
IRAT_HANDOFF_SYSLOSS = 0,
IRAT_HANDOFF_REDIRECTION,
IRAT_HANDOFF_RESELECTION,
IRAT_HANDOFF_HIGH_PRIORITY_RESELECTION,
IRAT_HANDOFF_NONE = 0xFF
} irat_handoff_cause_enum;
#if defined(__ECALL_SUPPORT__) || defined(__NG_ECALL_SUPPORT__)
typedef enum {
ENTER_ECALL_INACTIVITY_PROCEDURE = 0, // deregister from NW, enter the eCall inactivity procedure
LEAVE_ECALL_INACTIVITY_PROCEDURE // register to NW, leave the eCall inactivity procedure (not support, reserved for future use)
} ecall_registration_state_enum;
#endif
typedef enum {
NWSEL_EUTRAN_CAP_UPDATE_NONE = 0,
NWSEL_EUTRAN_CAP_UPDATE_WAIT
}eutran_cap_update_wait_status_enum ;
typedef enum {
TA_LIST_TYPE_00 = 0x00,
TA_LIST_TYPE_01 = 0x20,
TA_LIST_TYPE_10 = 0x40
} vgs_ta_list_type_enum;
#endif // ifndef _l3_INC_ENUMS_H