blob: 6dd99f9be9b5439ea4d0ec584bf087005268fda8 [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) 2007
*
* 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:
* ---------
* irat_common_enums.h
*
* Project:
* --------
* MOLY
*
* Description:
* ------------
*
*
* Author:
* -------
* -------
*
* ==========================================================================
* removed!
*
* removed!
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
*
* removed!
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
* removed!
* removed!
* removed!
* removed!
*
****************************************************************************/
#ifndef _IRAT_COMMON_ENUMS_H
#define _IRAT_COMMON_ENUMS_H
#include "as_inter_core_enum.h"
#include "irat_common_enums_public.h" //TODO: CL#948941, l1core asinterface build error
#include "global_type.h"
/* MACROS ******************************************************************/
/* MAX Values */
#define STADNBY_GSM_MAX_BSIC_NUM 32
#define MAX_NUM_CSG_FREQ (8) /* Maximum number used for 3G4 Autonumous CSG Search */
#define MAX_NUM_ECELL_MEAS_RESULT (8)
/* Maximum number used for 2G or 3G to LTE redirection information */
#define PCI_BITMAP_MAX_NUM (63)
#define MAX_NUM_CSG_CARRIERS 8
#define MAX_NR_OF_CSG_CELLS_IN_CELL_LIST 8
#if (defined(__UMTS_R5__) && (defined(__GERAN_R5__)))
#define MAX_GSM_SYS_INFO_BLOCKS_NUM (10)
#endif
#define MAX_TARGET_GSM_CELLS_NUM (96)
/* Maximun size of GSM list for 4G2 IR direction */
#define MAX_BYTE_OF_GSM_ARFCN (128)
/* Used for IR Handover */
#define MAX_LEN_HO_TO_UTRAN_MSG (251) /* Octets */
#define MAX_LEN_UTRAN_HANDOVER_INFO_MSG (251) /* Octets */
#define MAX_LEN_UTRAN_HANDOVER_INFO_EUTRAN_MSG (350) /* Octets*/
#define NAS_SECURITY_PARAM_LEN (6)
/* Used for IR Redirection (ts_eutra_redirect_info) */
#define MAX_UAS_EAS_REDIRECT_FREQ_NUM (8)
#define MAX_NRRC_ERRC_REDIRECT_FREQ_NUM (8)
/* NAS Array Length */
#define UGSM_TI_IE_LEN 2 // according to 24.007 11.2.3.1.3
#define CK_LEN 16
#define IK_LEN 16
#define KC_LEN 8
#define KC128_LEN 16
#define PTMSI_LEN 4 /* not include P-TMSI Mobile IE header (0xF4) */
#define PTMSI_SIG_LEN 3
#define RAI_LEN 6
#define LAI_LEN 5
#define MS_ID_LEN 8
#define TMSI_LEN 4
#define KASME_NUM 32
#define NH_NUM 32
#if (CUR_GEN >= MD_GEN97)
/**
* Used for EN-DC and NR capability enquiry in EAS
* Data: FreqBandList in TS 38.331
* Mathematics: bandEUTRA: 26+(256-1)*9 = 2321
* bandNR: 28+(1024-1)*11 = 11281
* Total: 1700.25 (octets)
*/
#define MAX_LEN_FREQ_BAND_LIST_STRING (1700)
/**
* LTE PDCP: "The maximum supported size of a PDCP SDU is 8188 octets.
* (36.323) The maximum supported size of a PDCP Control PDU is 8188 octets."
* Take UE-EUTRA-Capability into account, let's set the maximum size as 2816
* for the time being. (i.e. It shall warn if any capability size is larger than
* one-third of maximum allowed PDCP SDU size. (8188 * 1/3))
*/
#define MAX_LEN_EUTRA_NR_CAP_STRING (2816) /**< Octets */
#define MAX_LEN_NR_CAP_STRING (2816) /**< Octets */
#endif /* (CUR_GEN >= MD_GEN97) */
/* TYPES DEFINITIONS ********************************************************/
typedef enum
{
IR_RESULT_SUCCESS = 0, //Inter-RAT change is successful.
IR_RESULT_FAILURE = 1, //Inter-RAT change is failed in target RAT.
IR_RESULT_REJECT = 2, //Inter-RAT change is rejected in source RAT.
IR_RESULT_SUCCESS_FORCED_BY_NAS = 3, //Inter-RAT change is forced to success in target NAS.
IR_RESULT_GEMINI_SUSPEND_REJECT = 4 // Inter-RAT change is rejected due to gemini suspend
} irat_result_enum;
typedef enum
{
IR_SM_VIEW_SUCCESS,
IR_SM_VIEW_FAIL,
IR_SM_VIEW_SUCCESS_BUT_23G_RAT_UNKNOWN, // due to 4G23 IR_TYPE_SEARCH
IR_SM_VIEW_NOT_REVELENT_TO_SM //ex: CCO stage 1, from SM's point of view, CCO stage 1 does not mean anything, SM does not need to do anything, SM just need to relay this msg.
} irat_sm_view_result_enum;
typedef enum
{
IR_TRANSFER_BEARER_PRIMARY_PDP_CONTEXT = 0x00,
IR_TRANSFER_BEARER_DEFAULT_EPS_CONTEXT = IR_TRANSFER_BEARER_PRIMARY_PDP_CONTEXT,
IR_TRANSFER_BEARER_SECONDARY_PDP_CONTEXT = 0x01,
IR_TRANSFER_BEARER_DEDICATED_EPS_CONTEXT = IR_TRANSFER_BEARER_SECONDARY_PDP_CONTEXT,
IR_TRANSFER_BEARER_REJECTED_BY_SM_DUE_TO_NSAPI_NOT_VALID,
IR_TRANSFER_BEARER_REJECTED_BY_SM_DUE_TO_PDP_ADDR_TYPE_NOT_VALID,
IR_TRANSFER_BEARER_REJECTED_BY_SM_DUE_TO_TFT_VALIDATE_FAIL,
IR_TRANSFER_BEARER_REJECTED_BY_SM_DUE_TO_NO_23G_QOS,
IR_TRANSFER_BEARER_REJECTED_BY_SM_DUE_TO_NO_23G_TI,
IR_TRANSFER_BEARER_REJECTED_BY_SM_DUE_TO_NO_2G_LLC_SAPI,
IR_TRANSFER_BEARER_REJECTED_BY_SM_DUE_TO_NO_2G_RADIO_PRIORITY,
IR_TRANSFER_BEARER_REJECTED_BY_SM_DUE_TO_NO_EPS_QOS,
IR_TRANSFER_BEARER_REJECTED_BY_SM_DUE_TO_EXCEED_GPRS_MAX_PDP_SUPPORT_KILL_QCI_1_TO_4,
IR_TRANSFER_BEARER_REJECTED_BY_SM_DUE_TO_EXCEED_GPRS_MAX_PDP_SUPPORT_KILL_QCI_5_TO_9_SECONDARY,
IR_TRANSFER_BEARER_REJECTED_BY_SM_DUE_TO_EXCEED_GPRS_MAX_PDP_SUPPORT_KILL_QCI_5_TO_9_PRIMARY,
IR_TRANSFER_BEARER_REJECTED_BY_SM_DUE_TO_PRIMARY_MAPPED_FAILED,
IR_TRANSFER_BEARER_REJECTED_BY_SM_DUE_TO_EMC_BEARER_NOT_ALLOWED,
IR_TRANSFER_BEARER_REJECTED_BY_SM_DUE_TO_4G23_IMS_PDN_LOCAL_RELEASE,
IR_TRANSFER_BEARER_BEARER_TYPE_NOT_DETERMINED_YET_IN_4G
} irat_transfer_bearer_type_enum;
#if 0
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
#endif
typedef enum
{
RAT_TYPE_GAS, // GERAN
RAT_TYPE_UAS_FDD, // UTRAN (FDD mode)
RAT_TYPE_UAS_TDD, // UTRAN (TDD mode)
RAT_TYPE_EAS, // E-UTRAN (LTE)
RAT_TYPE_GAS_UAS_TBD, // if 4G23 irat_type == IR_TYPE_SEARCH, LTE rat does not know which target rat will be chosen.
RAT_TYPE_CAS, // CDMA2000
RAT_TYPE_NRAS, // NR
RAT_TYPE_NONE // For invalid value, add new RAT aboue it.
} rat_type_enum;
typedef enum {
NAS_SV_CAMPED_ON_CELL_TYPE_UNKNOW,
NAS_SV_CAMPED_ON_CELL_TYPE_ACCEPTABLE_CELL,
NAS_SV_CAMPED_ON_CELL_TYPE_SUITABLE_CELL,
NAS_SV_CAMPED_ON_CELL_TYPE_MAX_NUM_OF_CELL_TYPE,
} nas_sv_camped_on_cell_type_enum;
typedef enum
{
BEARER_MAP_INVALID, // no such bearer
BEARER_MAP_ACTIVE, // bearer mapping success
BEARER_MAP_FAILED, // bearer mapping failure and local released
BEARER_MAP_FAILED_DUE_TO_DETACH, // bearer mapping failure because new MM is detached.
BEARER_MAP_FAILED_DUE_TO_CURRENT_SIM_NOT_HAVE_CONTEXT_MEMORY, // for example, if ESM context transfer to MOD_SM, but context memory is occupied by MOD_SM_2, that means MOD_SM_2 has PDP and hense MOD_SM cannot activate any PDP
BEARER_MAP_FAILED_DUE_TO_NSAPI_NOT_VALID,
BEARER_MAP_FAILED_DUE_TO_PDP_ADDR_TYPE_NOT_VALID,
BEARER_MAP_FAILED_DUE_TO_TFT_VALIDATE_FAIL,
BEARER_MAP_FAILED_DUE_TO_NO_23G_QOS,
BEARER_MAP_FAILED_DUE_TO_NO_23G_TI,
BEARER_MAP_FAILED_DUE_TO_NO_2G_LLC_SAPI,
BEARER_MAP_FAILED_DUE_TO_NO_2G_RADIO_PRIORITY,
BEARER_MAP_FAILED_DUE_TO_NO_EPS_QOS,
BEARER_MAP_FAILED_DUE_TO_EXCEED_GPRS_MAX_PDP_SUPPORT_KILL_QCI_1_TO_4,
BEARER_MAP_FAILED_DUE_TO_EXCEED_GPRS_MAX_PDP_SUPPORT_KILL_QCI_5_TO_9_SECONDARY,
BEARER_MAP_FAILED_DUE_TO_EXCEED_GPRS_MAX_PDP_SUPPORT_KILL_QCI_5_TO_9_PRIMARY,
BEARER_MAP_FAILED_DUE_TO_PRIMARY_MAPPED_FAILED,
BEARER_MAP_FAILED_DUE_TO_EMC_BEARER_NOT_ALLOWED,
BEARER_MAP_FAILED_DUE_TO_4G23_IMS_LOCAL_RELEASE,
BEARER_MAP_FAILED_DUE_TO_4G5_FAILURE,
//BEARER_MAP_LOCAL_RELEASE // bearer local released
} bearer_mapping_result_enum;
typedef enum
{
HO_FROM_LTE_TYPE_INVALID,
HO_FROM_LTE_TYPE_PS_HO,
HO_FROM_LTE_TYPE_SRVCC_HO,
HO_FROM_LTE_TYPE_PS_SRVCC_HO
} ho_from_lte_type_enum;
typedef enum
{
GAS_CIPHER_ALGO_INVALID,
GAS_CIPHER_ALGO_KC,
GAS_CIPHER_ALGO_KC128
} gas_cipher_algo_enum;
typedef enum
{
DOMAIN_ID_INVALID,
DOMAIN_ID_PS_PRESENCE,
DOMAIN_ID_CS_PRESENCE
} sec_ctxt_domain_id_enum;
typedef enum
{
MT_CSFB_TYPE_INVALID,
MT_CSFB_TYPE_STMSI_TMSI,
MT_CSFB_TYPE_IMSI
} mt_csfb_type_enum;
typedef enum
{
LOOPBACK_MODE_DEACTIVATE,
LOOPBACK_MODE_ACTIVATE_A,
LOOPBACK_MODE_ACTIVATE_B,
LOOPBACK_MODE_ACTIVATE_C,
LOOPBACK_MODE_CLOSELOOP_A,
LOOPBACK_MODE_CLOSELOOP_B,
LOOPBACK_MODE_CLOSELOOP_C
} loopback_mode_status_enum;
typedef enum
{
TAU_NOT_REQUIRED,
TAU_REQUIRED,
TAU_COMB_TALA_IMSI_ATTACH
} tau_required_enum;
#if 0 // use the one defined in l3_inc_enums.h instead
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
#endif
/* Merged from GSM / UMTS Multimode development branch **********/
typedef enum
{
UMTS_UNDEFINED_MODE,
UMTS_FDD_MODE,
UMTS_TDD_MODE
} te_umts_mode;
typedef enum {
AUTO_SEARCH_START = 0x00,
AUTO_SEARCH_RESUME = 0x01,
AUTO_SEARCH_STOP = 0x02
} auto_search_cmd_enum;
typedef enum {
SEARCH_STATUS_SUSPENDED = 0x00,
SEARCH_STATUS_FINISHED = 0x01,
SEARCH_STATUS_STOPPED = 0x02
} search_status_enum;
/**
* @brief
* te_ir_handover_status specifies the result of inter-RAT handover
* procedure
* .
*/
typedef enum
{
/* Handover message is correct or procedure is success */
IR_HANDOVER_STATUS_NORMAL_EVENT,
/* Applicable during Evaluation only */
IR_HANDOVER_STATUS_FREQUENCY_NOT_IMPLEMENTED,
/* Applicable only for Activation procedure
* HO to GSM: Handover procedure failed due to lower layer failure at GSM.
* HO to UTRAN: Failure to establish channels on cell(s) required for handover
* at any point during handover activation procedure.
*/
IR_HANDOVER_STATUS_PHYSICAL_CHANNEL_FAILURE,
/* Applicable during Evaluation procedure
* Handover procedure failed due to inconsitent/missing parameters protocol
* error.
*/
IR_HANDOVER_STATUS_PROTOCOL_ERROR,
/* Applicable only during Evaluation procedure
* HO to GSM: Handover message has a channel mode configuration which is not
* supported
* HO to UTRAN : Predefined configuration not read or default configuration
* not implemented.
*/
IR_HANDOVER_STATUS_UNSUPPORTED_CONFIGURATION,
/* Applicable only for activation procedure, e.g. abort CS connection by UAS */
IR_HANDOVER_STATUS_UNSPICIFIED_ERROR
} te_ir_handover_status;
typedef enum {
IR_FREQUENCY_NOT_IMPLEMENTED,
IR_NO_RESPONSE_ON_TARGET_CELL,
IR_REJECT_ON_TARGET_CELL,
/* 3G failed reason */
IR_CONFIGURATION_UNACCEPTABLE,
IR_PHYSICAL_CHANNEL_FAILURE,
/* for Gemini */
IR_SUSPENDING_DURING_IR_CELL_RESEL,
IR_CELL_CHANGE_FAIL_REASON_NONE
} te_ir_cell_change_fail_reason_enum;
typedef enum
{
GAS_UAS_REDIRECTION_INFO = 0x00,
EAS_UAS_REDIRECTION_INFO = 0x01,
UAS_GAS_REDIRECTION_INFO = 0x02,
EAS_GAS_REDIRECTION_INFO = 0x03
} te_ir_redirection_type;
#ifdef __SRVCC_CELL_INFO__
typedef enum
{
IR_HANDOVER_PHY_FAIL_SUBCAUSE_NONE = 0x00,
IR_HANDOVER_PHY_FAIL_SUBCAUSE_TIME_ADV_OUT_OF_RANGE,
IR_HANDOVER_PHY_FAIL_SUBCAUSE_N200_TIMEOUT,
IR_HANDOVER_PHY_FAIL_SUBCAUSE_T3124_TIMEOUT,
IR_HANDOVER_PHY_FAIL_SUBCAUSE_CONTENTION_RES_FAIL,
IR_HANDOVER_PHY_FAIL_SUBCAUSE_OTHER
}te_ir_handover_phy_fail_subcause;
#endif /* __SRVCC_CELL_INFO__*/
#if (defined(__UMTS_R5__) && defined(__GERAN_R5__))
typedef enum{
GERAN_SysInfo_None,
GERAN_SysInfo_SI,
GERAN_SysInfo_PSI
} GERAN_SysInfoType;
#endif
typedef enum {
CIPHER_STATUS_NOT_STARTED,
CIPHER_STATUS_STARTED
} te_cn_domain_cipher_status;
typedef enum
{
IMSI_PAGING_TYPE,
TMSI_PAGING_TYPE
} paging_type_enum; /* paging for CSFB */
typedef enum
{
UNKNOWN_SERVICE_TYPE,
CALL_SERVICE_TYPE,
SS_SERVICE_TYPE,
LCS_SERVICE_TYPE
} csfb_service_type_enum; /* service type for MO/MT CSFB */
typedef enum
{
CSFB_IND_NONE,
CSFB_IND_MO,
CSFB_IND_MT
} csfb_indicator_enum; /* paging for CSFB */
typedef enum
{
NORMAL_CELL = 0x00,
CSG_CELL = 0x01,
HYBRID_CELL = 0x02
} csg_access_mode_enum;
typedef enum
{
BEARER_SERVICE_TYPE_NORMAL = 0,
BEARER_SERVICE_TYPE_EMERGENCY
} bearer_service_type_enum;
typedef enum
{
CONN_REL_IND_CAUSE_OTHER,
CONN_REL_IND_CAUSE_CSFB_HIGH /* 36.331 ReleaseCause */
} conn_rel_ind_cause_enum;
typedef enum
{
C2K_IRAT_ATTACH_SUCCESS = 0,
C2K_IRAT_ATTACH_FAILURE
} c2k_irat_attach_result_enum;
/* __ALPS02506878_SUPPORT__ */
typedef enum{
IR_CALL_TYPE_MO,
IR_CALL_TYPE_MT,
IR_CALL_TYPE_EMERGENCY,
IR_CALL_TYPE_INVALID
} te_ir_call_type;
typedef enum{
ENASAS_ENTER_FLIGHT_MODE,
ENASAS_LEAVE_FLIGHT_MODE,
} enasas_flight_mode_enum;
typedef erac_rat_enum enasas_rat_enum;
typedef enum {
CA_BANDWIDTH_CLASS_EUTRA_A,
CA_BANDWIDTH_CLASS_EUTRA_B,
CA_BANDWIDTH_CLASS_EUTRA_C,
CA_BANDWIDTH_CLASS_EUTRA_D,
CA_BANDWIDTH_CLASS_EUTRA_E,
CA_BANDWIDTH_CLASS_EUTRA_F,
CA_BANDWIDTH_CLASS_EUTRA_INVALID
} ca_bandwidth_class_eutra_enum;
#endif /* _IRAT_COMMON_ENUMS_H */