blob: 9dce9dafc308c31a86bde817961ee7acd0b03031 [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:
* ---------
* ratcm_uas_struct.h
*
* Project:
* --------
* MONZA
*
* 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!
*
* removed!
* removed!
* removed!
******************************************************************************/
#ifndef _RATCM_UAS_STRUCT_H
#define _RATCM_UAS_STRUCT_H
/* MAUI_02828210, redundant header removal */
#include "ratcm_uas_enums.h"
#include "mcd_l3_inc_struct.h"
#include "kal_general_types.h"
#include "l3_inc_enums.h"
#include "kal_public_api.h"
#include "ps_public_enum.h"
#include "l3_inc_local.h"
#include "ps_public_struct.h"
#include "irat_common_struct.h"
typedef kal_uint16 LAC;
typedef kal_uint16 gibi_tag_type;
/*typedef kal_uint8 PLMN_Identity[MAX_PLMN_ID_DIGIT];*/
typedef kal_uint32 cell_identity_type;
typedef struct nas_sys_info_gsm_map_struct
{
kal_uint8 numOctets;
kal_uint8 stringData[8];
} nas_sys_info_gsm_map_struct;
typedef struct CN_DomainSysInfo
{
/* Description: Identifies the type of core network domain. This an
enumerated type (RRC_CN_DomainIdentity_cs_domain, RRC_CN_DomainIdentity_ps_domain). */
domain_id_enum cn_DomainIdentity;
/* Description: NAS system information (GSM-MAP) This information
element contains system information that belongs to the
non-access stratum for a GSM-MAP type of PLMN. This information
is transparent to RRC. It may contain either information
specific to one CN domain (CS or PS) or information common for
both CN domains (Ref: [25.331;10.3.1.9]).
RRC_NAS_SystemInformationGSM_MAP information element description:
- length - Number of bytes
- value[8] - Array of bytes (maximum is 8). */
nas_sys_info_gsm_map_struct cn_specificGSM_MAP_NAS_SysInfo;
} CN_DomainSysInfo;
typedef struct CN_DomainSysInfoList
{
kal_uint8 count;
CN_DomainSysInfo value[MAX_CN_DOMAIN];
} CN_DomainSysInfoList;
/* UMTS security keys data structure originally used by RATCM and RRCE.
* Now it's reused in multimode development.
*/
typedef struct {
domain_id_enum cnDomainID;
kal_uint8 umts_cipheringKey[CK_LEN];
kal_uint8 umts_integrityKey[IK_LEN];
} umts_security_key;
typedef struct{
kal_bool is_valid;
gibi_tag_type gibi_tag;
} gibiTag_info;
/****************************/
/* UGC_INFORMATION_BROADCAST */
/****************************/
/* Description: this operation consists in the broadcast from IF
* toward User Equipment of some information in some geographical
* area.
*
* a GC Information broadcast indication primitive is issued to the
* NAS entity UE over the General Control (GC) SAP when the RRC layer
* finds out that the non-access part of the system information has
* been changed.
*
* This information is to be used by the User Equipment for instance
* to choose among access points or to be taken into account during
* initial access. The information can also be destinated to an
* application.
*
* UGC Information broadcast is sent to the NAS whenever the UE, in idle mode,
* has started camping on a cell, and has sufficient SIBs for a connection, or
* if the NAS data in SIB 1 changes.In addition NAS updates optionally contained
* in Radio Bearer Setup, Active Set Update, etc. shall be reported using this
* primitive. The primitive is also used subsequently to an Inter-RAT cell re-
* selection / change over or Inter-RAT handover to UMTS. In that case, the
* primitive may be issued with "additional info flag= FALSE" to indicate that
* no CN information is included.
*
* Note 1: GSM-MAP NAS contains LAC & RAC with the PLMN id and UTRAN cell id.
* The NAS should be able to map UTRAN cell id and Location Area/Routing Area.
*
* Note 2: In connected mode, e.g. subsequently to a cell reselection, CN Common
* GSM_MAP NAS SysInfo is not forwarded to upper layer.
* Ref: [23.110-340;6.2.2.1.1] & [25.304;10.1,10.2].
*/
typedef struct
{
LOCAL_PARA_HDR
gibi_tag_type gibi_tag;
cell_identity_type cell_id;
kal_uint16 update_bitmask;
#define INFO_BITMASK_CN_INFO 0x0001
#define INFO_BITMASK_DATA_SPEED_SUPPORT 0x0002
#define INFO_BITMASK_AC 0x0004
#define INFO_BITMASK_DSAC 0x0008
#define INFO_BITMASK_PPACR 0x0010
#define INFO_BITMASK_CSG_INFO 0x0020
#define INFO_BITMASK_BAND_INFO 0x0040
/* CN_INFO */
kal_uint8 cn_info_validity;
#define CN_Info_plmn_cellType_valid 0x01
#define CN_Info_cn_CommonGSM_MAP_NAS_SysInfo_valid 0x02
#define CN_Info_cn_DomainInformationList_valid 0x04
kal_uint8 multi_plmn_count;
/* Range: 1 to MAX_NUM_MULTI_PLMN. */
plmn_id_struct multi_plmn_id[MAX_NUM_MULTI_PLMN];
as_cell_type_enum multi_plmn_cell_type[MAX_NUM_MULTI_PLMN];
as_cell_type_enum cell_type; /* Reserved for before R6 compatible */
plmn_id_struct plmn_id; /* Reserved for before R6 compatible */
nas_sys_info_gsm_map_struct cn_CommonGSM_MAP_NAS_SysInfo;
CN_DomainSysInfoList cn_DomainSysInfoList;
/* END CN_INFO */
data_speed_support_enum data_speed_support; /* MAUI_02361221: H-icon display */
kal_uint16 access_class;
#ifdef __R6_DSAC__
kal_uint8 dsac_plmn_bitmask;
/* "1" in LSB bit for 1st PLMN CS/PS domain DSAC valid */
kal_uint16 cs_dsac[MAX_NUM_MULTI_PLMN];
kal_uint16 ps_dsac[MAX_NUM_MULTI_PLMN];
#endif
#ifdef __PPACR_SUPPORT__
kal_uint8 ppacr_plmn_bitmask;
ppacr_info_struct ppacr_info_plmn_list[MAX_NUM_MULTI_PLMN];
#endif
csg_access_mode_enum csg_access_mode;
csg_info_struct csg_info;
kal_uint8 band;
} ratcm_uas_sys_info_ind_struct;
typedef struct
{
LOCAL_PARA_HDR
cell_identity_type cell_id;
kal_uint8 multi_plmn_count;
/* Range: 1 to MAX_NUM_MULTI_PLMN. */
plmn_id_struct multi_plmn_id[MAX_NUM_MULTI_PLMN];
kal_bool cn_CommonGSM_MAP_NAS_SysInfo_present;
nas_sys_info_gsm_map_struct cn_CommonGSM_MAP_NAS_SysInfo;
CN_DomainSysInfoList cn_DomainSysInfoList;
} ratcm_uas_cell_global_identity_info_ind_struct;
typedef struct
{
LOCAL_PARA_HDR
data_speed_support_enum data_speed_support;
} ratcm_uas_update_capability_ind_struct;
typedef struct
{
LOCAL_PARA_HDR
kal_bool is_usim_inserted;
kal_bool is_delete_pending;
} ratcm_uas_usim_info_reset_req_struct;
typedef struct
{
LOCAL_PARA_HDR
domain_id_enum connection_domain;
rat_type_enum active_rat;
/* 20140715 Ming: Add this field in CELL_CHANGE_FINISH_IND and RAT_CHANGE_CNF
* to sync the gibi_tag value between NAS and AS after interRAT procedure.
* (Avoid NAS sends previous rat's gibi_tag to current rat)
*
* Related issues: MOLY00051065, ALPS01461467 and ALPS01537397
*
* Note that since only problems may happen after xG3HO now, only RRCE carries this field.
*/
gibiTag_info gibiTag_sync;
} ratcm_rrce_cell_change_finish_ind_struct;
typedef struct{
LOCAL_PARA_HDR
kal_uint8 plmn_band_count;
plmn_band_struct plmn_band[MAX_PLMN_BAND_NUM];
}ratcm_uas_plmn_band_ind_struct;
#ifdef __GEMINI__
typedef struct
{
LOCAL_PARA_HDR
} ratcm_rrce_no_ir_sig_proc_req_struct;
typedef struct {
LOCAL_PARA_HDR
as_gemini_status_enum as_gemini_status;
} ratcm_uas_virtual_mode_ind_struct;
#endif /* __GEMINI__ */
#ifdef __LTE_RAT__
/* RATCM -> RRCE */
/* CSCE and RRCE uses ratcm_uas_rat_change_req_struct jointly */
typedef struct {
LOCAL_PARA_HDR
irat_type_enum irat_type;
rat_type_enum source_rat;
rat_type_enum target_rat;
void *as_info_ptr;
umts_security_key security_key[2];
csfb_indicator_enum csfb_indicator;
kal_bool is_lai_valid; //CSFB enhancement
lai_struct lai; //CSFB enhancement
kal_bool is_mapped_rai_valid; // For 4G3 HO, AS may not have valid plmn id. AS will derive plmn id from mapped rai.
rai_struct mapped_rai;
} ratcm_uas_rat_change_req_struct;
typedef struct {
LOCAL_PARA_HDR
irat_type_enum irat_type;
rat_type_enum source_rat;
rat_type_enum target_rat;
irat_result_enum irat_result;
irat_reject_cause_enum irat_reject_cause; //Reject cause when irat_result is equal to IR_RESULT_REJECT.
void *as_info_ptr;
} ratcm_uas_rat_change_res_struct;
/* RRCE -> RATCM */
typedef struct {
LOCAL_PARA_HDR
irat_type_enum irat_type;
rat_type_enum source_rat;
rat_type_enum target_rat;
void *as_info_ptr;
kal_uint8 nas_sec_param_to_eutra[NAS_SECURITY_PARAM_LEN];
} ratcm_uas_rat_change_ind_struct;
/* CSCE and RRCE uses ratcm_uas_rat_change_cnf_struct jointly */
typedef struct {
LOCAL_PARA_HDR
irat_type_enum irat_type;
rat_type_enum source_rat;
rat_type_enum target_rat;
irat_result_enum irat_result;
void *as_info_ptr;
domain_id_enum connection_domain;
/* 20140715 Ming: Add this field in CELL_CHANGE_FINISH_IND and RAT_CHANGE_CNF
* to sync the gibi_tag value between NAS and AS after interRAT procedure.
* (Avoid NAS sends previous rat's gibi_tag to current rat)
*
* Related issues: MOLY00051065, ALPS01461467 and ALPS01537397
*
* Note that since only problems may happen after xG3HO now, only RRCE carries this field.
*/
gibiTag_info gibiTag_sync;
} ratcm_uas_rat_change_cnf_struct;
#endif
#endif /* _RATCM_UAS_STRUCT_H */