blob: 4439920ec0d94e00208f27609b78d9c5fb2bcae3 [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:
* ---------
* gas_eas_struct.h
*
* Project:
* --------
* MONZA
*
* Description:
* ------------
*
*
* Author:
* -------
* -------
*
* ==========================================================================
* $Log:$
*
* 05 27 2021 ot_renuka.madane
* [MOLY00643309] ????? MOLY00617181 ? MOLY.NR15.R3.MP.V1.6
*
* [CODE SYNC] BLIND FR trigger based on 4G signal strength.
*
* 12 09 2019 icy.li
* [MOLY00464630] Gen97 Elevator Mode feature
*
* .
*
* 05 07 2019 sapna.ks
* [MOLY00397094] [CODE SYNC] [Gen95 patch back] Modem??SRVCC HO fail cause
* .
*
* 02 18 2019 nalin.chovatia
* [MOLY00384995] [VMOLY] GEMINI 3.0, AFR, Unify Frequency scan, BGSEARCH
* .gemini_afr_bg
*
* 10 03 2018 nalin.chovatia
* [MOLY00356286] [Gen97] background search feature
* .vmoly BG
*
* 09 15 2017 abhinav.agarwal
* [MOLY00278198] [CODE SYNC] [LR11 MP3][GAS] [Interface]New feature requirement: SRVCC fail????
* .
*
* 10 24 2016 dennis.weng
* [MOLY00208768] [MT6293] [B66] Band66 porting (ERRC part)
* .
*
* 03 10 2016 mark.ng
* [MOLY00165947] [6291 HSR] Protocol Enhancement (Header/Interface)
* [HSR UMOLY] cel interface
*
* 02 26 2016 srihari.maddipati
* [MOLY00162461] ¦bAndroid???Modem??Logªº»Ý¨D
* .
*
* 06 01 2015 henry.lai
* [MOLY00092508] [MT6291][LTE-C2K] AS Inter RAT feature
* .
*
* 05 26 2015 chun-fan.tsai
* [MOLY00097098] [6291][CONN] Code Sync from MOLY to UMOLY
* Sync MOLY00097502 to UMOLY (GAS-EAS interface)
*
* 05 15 2015 songsong.jia
* [MOLY00084416] [eCSFB]LU Reduction feature
* .
*
* 12 12 2014 yuhhwang.yu
* [MOLY00087211] [CISE] add CSG fingerprint compile option and bug fix
* . CISE codes
*
* 11 14 2014 henry.lai
* [MOLY00079072] [MT6291] Change EARFCN from kal_uint16 to kal_uint32 for CEL part
* .
*
* 11 11 2014 shin.chen
* [MOLY00080357] [GAS] Extend earfcn to U32 for GAS
* .
*
* 06 09 2014 aaron.liu
* [MOLY00068770] [HZ]5.4.1 solution
* EAS part:Add interface
*
* 06 05 2014 xiaochi.zhao
* [MOLY00067770] [New SBP feature request] 4G background search - remove compile option __4G_BACKGROUND_SEARCH__
* .
*
* 05 05 2014 xiaochi.zhao
* [MOLY00064429] [MT6290LTE][CSFB][ERRC]New Feature : 2G4 Background Search
* .
*
* 01 21 2014 wcpuser_integrator
* [MOLY00054475] SGLTE option rename
* .
*
* 12 31 2013 stanleyhy.chen
* [MOLY00048478] [MT6290E1][LTG][GCF][CMW500][MM][Pre-Test][case 9.2.3.3.4][Band 38] Fail
* Add a flag prohibit_apply_n_layer
*
* 11 13 2013 vend_simon.huang
* [MOLY00046027] [MT6290E1][MMDS_DC] MMDC feature patch back to MOLY trunk
* CEL OA part
*
* 07 24 2013 rujing.zhao
* [MOLY00031020] [MMDS_DC] Merge MMDC interface to MOLY
* .2->34G NBR transfer
*
* 07 23 2013 henry.lai
* [MOLY00023935] [MT6290E1][W/G][Target IT] Meas result is received so frequently when priority measurement and drx measurement are on-going
* .
*
* 03 14 2013 morton.lin
* [MOLY00011957] [MT6290] Multimode IT CBr merge back to MOLY
* Multimode IT CBr merge back to MOLY - stage 1
*
* 01 23 2013 henry.lai
* [MOLY00009222] [GAS][Multi-Mode Development] Merge GAS multi-mode development to MOLY
* .
*
* 01 11 2013 henry.lai
* [Henry][Multi-Mode Development] GAS Development and R8 CR Sync
*
* Add copyright header.
****************************************************************************/
#ifndef _GAS_EAS_STRUCT_H
#define _GAS_EAS_STRUCT_H
#include "uas_gas_enums.h"
#include "gas_eas_enums.h"
#include "kal_general_types.h"
#include "csi_umts_asn.h"
#include "l3_inc_enums.h"
#include "mcd_l3_inc_struct.h"
#include "csi_gsm_asn.h"
#include "irat_common_struct.h"
#include "irat_common_enums.h"
#include "global_type.h"
#include "mrs_as_struct.h"
#include "gas_eas_inter_core_struct.h"
typedef struct {
LOCAL_PARA_HDR
te_ir_cell_change_trigger ir_cell_change_trigger;
plmn_search_type_enum plmn_search_type;
GSM_TargetCellInfo target_gcell_info;
}eas_gas_evaluate_gcell_req_struct;
typedef struct {
LOCAL_PARA_HDR
te_ir_cell_reselection_status ir_cell_eval_status;
ts_eval_activate_fail_handle eval_activate_fail_handle;
}eas_gas_evaluate_gcell_cnf_struct;
typedef struct {
LOCAL_PARA_HDR
}eas_gas_evaluate_gcell_stop_req_struct;
typedef struct {
LOCAL_PARA_HDR
}eas_gas_evaluate_gcell_stop_cnf_struct;
typedef struct {
LOCAL_PARA_HDR
te_ir_cell_change_trigger ir_cell_change_trigger;
plmn_search_type_enum plmn_search_type;
GSM_TargetCell_Info_union target_gcell_info;
GSM_TargetCell_SI_Info_union target_gcell_si_info;
kal_uint32 cell_change_activation_time; /* milli-seconds, */
kal_uint32 cell_change_timeout; /* value in milli-seconds or zero when not required */
kal_uint32 wait_time; /* milli-Seconds: 0~15000ms, GAS should not reselect back to UMTS/LTE within "wait_time" period */
kal_bool nc_mode_present; /* if TRUE nc_mode is present */
kal_uint8 nc_mode; /* Optional, present if nc_mode_present is TRUE */
ir_lte_scell_struct lte_scell_inf; /* cell info of the source LTE cell */
}eas_gas_activate_gcell_req_struct;
typedef struct {
LOCAL_PARA_HDR
te_ir_cell_reselection_status ir_cell_activation_status;
ts_eval_activate_fail_handle eval_activate_fail_handle;
te_ir_cell_change_fail_reason_enum ir_cell_change_failed_reason;
}eas_gas_activate_gcell_cnf_struct;
typedef struct {
LOCAL_PARA_HDR
te_ir_cell_change_complete_status ir_cell_change_complete_status;
te_ir_cell_change_fail_reason_enum ir_cell_change_failed_reason;
}eas_gas_gcell_change_complete_ind_struct;
typedef struct {
LOCAL_PARA_HDR
ts_ciphering_info ciphering_info;
plmn_search_type_enum plmn_search_type;
te_gsm_band_indicator band_indicator;
kal_uint16 message_length;
}eas_gas_handover_gcell_req_struct;
typedef struct {
LOCAL_PARA_HDR
te_ir_handover_status ir_handover_to_gsm_status;
te_ir_handover_cipher_algo ir_handover_to_gsm_cipher_algo;
ho_from_lte_type_enum lte_ho_type;
#ifdef __SRVCC_CELL_INFO__
kal_uint16 bcch_arfcn;
#endif
}eas_gas_handover_gcell_cnf_struct;
typedef struct {
LOCAL_PARA_HDR
kal_uint8 t3212_timer_val;
kal_bool att_flag;
kal_uint32 wait_time;
/* __ALPS02506878_SUPPORT__ */
te_ir_call_type call_type;
}eas_gas_ho_activate_gcell_req_struct;
typedef struct {
LOCAL_PARA_HDR
te_ir_handover_status ir_handover_to_gsm_status;
#ifdef __SRVCC_CELL_INFO__
te_ir_handover_phy_fail_subcause ir_handover_to_gsm_phy_fail_subcause;
#endif /*__SRVCC_CELL_INFO__*/
}eas_gas_ho_activate_gcell_cnf_struct;
typedef struct {
LOCAL_PARA_HDR
eas_target_cell_info target_cell;
plmn_search_type_enum plmn_search_type;
/* __4G_BACKGROUND_SEARCH__ begin */
/*2G4 background search parameter*/
kal_bool is_background_search_trigger;
gas_cell_info serving_cell_info;
/* __4G_BACKGROUND_SEARCH__ end */
} gas_eas_evaluate_ecell_req_struct;
typedef struct {
LOCAL_PARA_HDR
te_ir_cell_reselection_status eval_status;
ts_eval_activate_fail_handle eval_activate_fail_handle;
} gas_eas_evaluate_ecell_cnf_struct;
typedef struct {
LOCAL_PARA_HDR
te_ir_cell_change_trigger trigger;
kal_uint32 remain_wait_time;
eas_target_cell_info target_cell;
kal_uint32 cell_change_timeout;
plmn_search_type_enum plmn_search_type;
kal_uint8 redirect_freq_num;
lte_redirect_info redirect_freq_info [MAX_GAS_EAS_REDIRECT_FREQ_NUM];
kal_bool is_gas_cell_inf_valid;
mrs_gas_cell_inf_struct gas_cell_inf;
kal_uint32 remaining_time_afr; /*value in milli-seconds valid in case of AFR*/
kal_bool is_elevator_mode;
kal_bool is_custom_threshold_need;
} gas_eas_activate_ecell_req_struct;
typedef struct {
LOCAL_PARA_HDR
te_ir_cell_reselection_status active_status;
ts_eval_activate_fail_handle eval_activate_fail_handle;
te_ir_cell_change_fail_reason_enum ir_cell_change_failed_reason;
} gas_eas_activate_ecell_cnf_struct;
typedef struct {
LOCAL_PARA_HDR
/* No parameters here */
} gas_eas_evaluate_ecell_stop_req_struct;
typedef struct {
LOCAL_PARA_HDR
/* No parameters here */
} gas_eas_evaluate_ecell_stop_cnf_struct;
typedef struct {
LOCAL_PARA_HDR
te_ir_cell_change_complete_status cell_change_complete_status;
te_ir_cell_change_fail_reason_enum cell_change_failed_reason;
}gas_eas_ecell_change_complete_ind_struct;
typedef struct{
LOCAL_PARA_HDR
plmn_search_type_enum plmn_search_type;
auto_search_cmd_enum auto_search_cmd;
kal_uint8 num_freq;
EARFCN freq_list[MAX_NUM_CSG_FREQ];
} gas_eas_search_csg_ecell_req_struct;
typedef struct{
LOCAL_PARA_HDR
search_status_enum search_status;
kal_uint8 num_csg_freq_search_result;
csg_freq_search_result_struct csg_freq_search_result_list[MAX_NUM_CSG_FREQ];
} gas_eas_search_csg_ecell_cnf_struct;
typedef struct{
LOCAL_PARA_HDR
plmn_search_type_enum plmn_search_type;
auto_search_cmd_enum auto_search_cmd;
kal_uint8 num_freq;
EARFCN freq_list[MAX_NUM_CSG_FREQ];
} gas_eas_evaluate_csg_ecell_req_struct;
typedef struct{
LOCAL_PARA_HDR
search_status_enum search_status;
kal_uint8 num_csg_freq_search_result;
csg_freq_search_result_struct csg_freq_search_result_list[MAX_NUM_CSG_FREQ];
} gas_eas_evaluate_csg_ecell_cnf_struct;
/*4G2 CSG FINGERPRINT */
typedef struct {
LOCAL_PARA_HDR
plmn_id_struct csg_plmn;
kal_uint32 csg_id;
kal_uint32 csg_cell_id;
EARFCN csg_frequency;
kal_uint16 csg_physical_cell_id;
} eas_gas_build_fingerprint_req_struct;
typedef struct {
LOCAL_PARA_HDR
} eas_gas_build_fingerprint_cnf_struct;
typedef struct {
LOCAL_PARA_HDR
} eas_gas_abort_fingerprint_ind_struct;
/* LTE to GAS IR Measurement */
typedef struct
{
LOCAL_PARA_HDR
} eas_gas_config_gcell_prio_meas_cnf_struct;
typedef struct
{
LOCAL_PARA_HDR
} eas_gas_config_gcell_meas_cnf_struct;
/* GAS to LTE IR Measurement */
typedef struct
{
LOCAL_PARA_HDR
kal_uint8 tid;
kal_bool hps_flag;
kal_uint8 prio_meas_period;
kal_uint8 freq_num;
eas_meas_freq_info_struct freq[MAX_MEAS_IRAT_FREQ];
} gas_eas_lte_measurement_req_struct;
typedef struct {
LOCAL_PARA_HDR
} gas_eas_lte_measurement_cnf_struct;
typedef struct
{
LOCAL_PARA_HDR
kal_uint8 freq_num;
eas_hps_qualify_struct freq[MAX_MEAS_IRAT_FREQ];
/* This flag is used to indicate whether measurement period should be reset
* immediately. (TRUE: meas is performed in the first DRX.
* FALSE: meas is performed in the first T-meas occasion)
* In current design, the following rules should be followed.
* (1)If freq_num != 0, this flag will be set as FALSE only if tmeasure measurement
* is triggered when priority measurement is on-going (i.e., at
* least one of LTE cells hits priority reselection criteria for
* priority based measurement reselection). If any improvement is
* needed, the usage limitation for this flag should be confirmed
* with EL1's colleague.
* (2) If freq_num == 0, this flag will alwyas be set as FALSE;
*/
kal_bool is_meas_period_reset;
} gas_eas_lte_hps_qualify_cell_ind_struct;
typedef struct
{
LOCAL_PARA_HDR
kal_uint8 tid;
kal_uint8 freq_num;
eas_meas_freq_rslt_struct freq[MAX_MEAS_IRAT_FREQ];
#ifdef UNIT_TEST
kal_uint32 meas_ind_ms_diff;
#endif /* UNIT_TEST */
} gas_eas_lte_measurement_ind_struct;
/* LTE to GAS CGI Collection */
typedef struct {
LOCAL_PARA_HDR
kal_uint8 tid;
report_cgi_req_type_enum report_cgi_req_type;
te_gsm_band_indicator gsm_band_indicator;
kal_uint16 arfcn;
kal_uint8 bsic;
} eas_gas_report_cgi_req_struct;
typedef struct {
kal_bool is_rac_valid;
kal_uint8 rac;
} gcell_cgi_info_optional_struct;
typedef struct {
cgi_info_status_enum cgi_info_status;
kal_uint16 arfcn;
kal_uint8 bsic;
kal_int16 rssi_in_quarter_dbm;
kal_uint16 cell_id;
plmn_id_struct plmn_id;
kal_uint16 lac;
gcell_cgi_info_optional_struct optional_field;
} gcell_cgi_info_struct;
typedef struct {
LOCAL_PARA_HDR
kal_uint8 tid;
gcell_cgi_info_struct gcell_cgi_info;
} eas_gas_report_cgi_cnf_struct;
typedef struct {
LOCAL_PARA_HDR
/* KAL_TRUE : ready timer timeout during 2G4 IR CCO procedure.
* KAL_FALSE : 2G4 IR CCO procedure is rejected by NAS and
* ready timer timeout is not required to handle by
* EAS.
*/
kal_bool is_handling_needed;
} gas_eas_ready_timer_status_ind_struct;
/* __4G_BACKGROUND_SEARCH__ begin */
/*2G4 background search*/
typedef struct {
LOCAL_PARA_HDR
/* No parameters here */
} gas_eas_background_search_start_req_struct;
typedef struct {
LOCAL_PARA_HDR
/* No parameters here */
} gas_eas_background_search_start_cnf_struct;
typedef struct {
LOCAL_PARA_HDR
/* No parameters here */
} gas_eas_background_search_stop_req_struct;
typedef struct {
LOCAL_PARA_HDR
/* LTE detected cell info */
EARFCN earfcn;
kal_uint16 pci;
} eas_gas_background_search_found_ind_struct;
/* __4G_BACKGROUND_SEARCH__ end */
/* HSR_SNIFF_SEARCH */
typedef struct {
LOCAL_PARA_HDR
/* LTE detected cell info */
EARFCN earfcn;
kal_uint16 pci;
} eas_gas_hsr_cell_found_ind_struct;
#endif /* _GAS_EAS_STRUCT_H */