blob: 327cfca4b5ae2c8c9d0559124d2fd4b9d2d703d9 [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:
* ---------
* l4crac_struct.h
*
* Project:
* --------
* MAUI
*
* Description:
* ------------
* This file is intends for structure definition between RAC and L4C.
*
* Author:
* -------
* -------
*
*==============================================================================
*******************************************************************************/
/********************************************************************************
* Copyright Statement:
* --------------------
*
* This product has been developed using a protocol stack
* developed by Sasken Communication Technologies Limited.
*
********************************************************************************/
/*******************************************************************************
* 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) 2002
*
*******************************************************************************
* FILENAME : l4c2rac_struct.h
* SYNOPSIS : Functions for encoding/decoding.
*
* R E V I S I O N H I S T O R Y
*
*/
#ifndef _L4C2RAC_STRUCT_H
#define _L4C2RAC_STRUCT_H
#include "ps_public_enum.h"
#include "kal_public_defs.h"
#include "mcd_l3_inc_struct.h"
#include "kal_general_types.h"
#include "l3_inc_enums.h"
#include "l3_inc_local.h"
#include "l4c_common_enum.h"
#include "l4crac_enums.h"
#include "sim_public_enum.h"
#include "ims_common_def.h"
#include "irat_common_enums.h"
#include "gmss_public.h"
#include "rac_gmss_struct.h"
#include "c2k_irat_msg_struct.h"
#include "l4c_eval_struct.h"
typedef struct {
LOCAL_PARA_HDR
l4c_source_id_enum src_id; /* source id*/
} l4crac_act_req_struct;
typedef struct {
LOCAL_PARA_HDR
l4c_source_id_enum src_id; /* source id*/
mm_user_search_type_enum search_type; //mm_user_search_type_enum, erica 20070424, MAUI_00232280
mm_user_search_cause_enum search_cause; //used for GSMA SIM block feature
} l4crac_reg_req_struct;
typedef struct {
LOCAL_PARA_HDR
l4c_source_id_enum src_id; /* source id*/
mm_user_search_type_enum search_type; //mm_user_search_type_enum, erica 20070424, MAUI_00232280
} l4crac_ps_reg_req_struct;
typedef struct {
LOCAL_PARA_HDR
l4c_source_id_enum src_id; /* source id*/
domain_id_enum service; /* CS/PS/CS_PS*/
kal_bool is_poweroff; /* TRUE/FALSE*/
l4c_rac_detach_cause_enum detach_cause; /*DETACH_CAUSE_NONE/DETACH_CAUSE_DUPLEX_MODE_CHANGE*/
kal_uint8 sim_index; /*which sim is invalid*/
rat_enum reject_rat; /*which rat reject the sim*/
} l4crac_dereg_req_struct;
typedef struct {
LOCAL_PARA_HDR
rfoff_cause_enum rfoff_cause;
} l4crac_rfoff_req_struct;
typedef struct {
LOCAL_PARA_HDR
l4c_source_id_enum src_id; /* source id*/
user_list_type_enum user_list_type;
rat_enum list_rat;
kal_uint8 given_number_of_plmn; // used for the USER_LIST_TYPE_GIVEN_TIMER_NUMBER. When xAS found the given number of plmn, xAS return plmn list cnf (with signal power value). If the number is 255, means feature OFF.
kal_uint32 given_timer_period; //used for the USER_LIST_TYPE_GIVEN_TIMER_NUMBER to guard the plmn list procedure, if the timer timeout, RAC will notify lower layer to update what they found
network_scan_input_struct network_scan_input;
} l4crac_plmn_list_req_struct;
typedef struct {
LOCAL_PARA_HDR
l4c_source_id_enum src_id; /* source id*/
ms_mobile_class_enum ms_class; /* CC/CG/B*/
} l4crac_class_change_req_struct;
#if 0 // MOLY00083802 remove band related codes in RAC
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
#ifdef __LTE_RAT__
/* under construction !*/
/* under construction !*/
#endif /* __LTE_RAT__ */
/* under construction !*/
/* under construction !*/
#endif
#if defined(__GEMINI__)
typedef struct {
LOCAL_PARA_HDR
sim_config_status_enum sim_config_status; // refer to sim_config_status_enum
sim_insert_status_enum sim_insert_status; // refer to sim_insert_status_enum
}l4crac_sim_status_update_req_struct;
#endif
typedef struct {
LOCAL_PARA_HDR
l4c_source_id_enum src_id; /* source id*/
plmn_id_rat_struct plmn_id;
//kal_uint8 plmn_sel_mode;
/* Johnny:
AUTO_RESELECTION/MANUAL_RESELECTION, there is no __MANUAL_MODE_NW_SEL__ compile option
*/
plmn_reselection_enum plmn_reselection_mode;
rat_enum preference; // 0:default , 1:GSM , 2:UMTS
endc_search_enum endc_search_mode;
kal_uint32 factory_mode_arfcn; //FastCampOn 20081104
#ifdef __CSG_SUPPORT__
//mtk02475: for Rel8 CSG feature, user can specify CSG id for manual CSG selection
kal_bool is_manual_csg_sel;
kal_uint32 csg_id;
#endif
} l4crac_plmn_search_req_struct;
typedef rac_gmss_abort_enwsel_search_req_struct l4crac_abort_enwsel_search_req_struct;
typedef struct {
LOCAL_PARA_HDR
l4c_source_id_enum src_id;
rat_enum rat_mode;
kal_bool save_to_nvram; //MAUI_02554068
}l4crac_set_rat_mode_req_struct;
typedef struct {
LOCAL_PARA_HDR
l4c_source_id_enum src_id;
}l4crac_plmn_list_stop_req_struct;
typedef struct {
LOCAL_PARA_HDR
l4c_source_id_enum src_id;
prefer_rat_type_enum type;
rat_enum prefer_rat;
kal_uint32 rat_num;
rat_enum rat_order[MAX_SUPPORTED_RAT];
}l4crac_set_prefer_rat_req_struct;
typedef struct {
LOCAL_PARA_HDR
l4c_source_id_enum src_id;
prefer_rat_type_enum type;
}l4crac_get_prefer_rat_req_struct;
typedef struct {
LOCAL_PARA_HDR
l4c_source_id_enum src_id;
susp_resu_mode_enum mode;
susp_resu_action_enum action;
kal_uint8 susp_id;
susp_resu_source_enum source;
}l4crac_susp_resu_update_req_struct;
typedef struct {
LOCAL_PARA_HDR
l4c_source_id_enum src_id;
kal_bool is_supporting_roaming;
kal_bool disable_international_roaming_support;
kal_bool disable_national_roaming_support;
kal_bool disable_hhplmn_search_support;
}l4crac_set_roaming_mode_req_struct;
typedef struct {
LOCAL_PARA_HDR
l4c_source_id_enum src_id;
kal_bool force_send_SCRI;
end_session_cause_enum cause;
}l4crac_end_ps_data_session_req_struct;
typedef struct {
LOCAL_PARA_HDR
end_session_cause_enum cause;
}l4crac_end_ps_data_session_ind_struct;
#ifdef __CSG_SUPPORT__
typedef struct {
LOCAL_PARA_HDR
l4c_source_id_enum src_id;
plmn_id_rat_struct plmn_id_rat; //mtk02475: user can specified the CSG list scope
} l4crac_csg_list_req_struct;
typedef struct {
LOCAL_PARA_HDR
l4c_source_id_enum src_id;
}l4crac_csg_list_stop_req_struct;
#endif /* __CSG_SUPPORT__ */
typedef struct
{
LOCAL_PARA_HDR
l4c_source_id_enum src_id;
l4c_rac_sms_preference_enum sms_preference;
kal_bool is_from_provision;
} l4crac_set_sms_preference_req_struct;
typedef struct
{
LOCAL_PARA_HDR
l4c_source_id_enum src_id;
kal_bool enable;
} l4crac_set_sms_over_sgs_req_struct;
typedef struct
{
LOCAL_PARA_HDR
l4c_source_id_enum src_id;
kal_bool is_utran_vdp_valid;
kal_bool is_eutran_vdp_valid;
l4_voice_domain_preference_enum utran_voice_domain_preference;
l4_voice_domain_preference_enum eutran_voice_domain_preference;
kal_bool is_from_provision;
} l4crac_set_voice_domain_preference_req_struct;
typedef struct
{
LOCAL_PARA_HDR
l4c_source_id_enum src_id;
ue_usage_setting_enum ue_usage_setting;
} l4crac_set_ue_usage_setting_req_struct;
typedef struct
{
LOCAL_PARA_HDR
l4c_source_id_enum src_id;
ue_mode_enum ue_mode;
} l4crac_set_ue_mode_req_struct;
typedef struct
{
LOCAL_PARA_HDR
l4c_source_id_enum src_id;
kal_bool is_ims_voice_available;
} l4crac_set_ims_voice_availability_req_struct;
typedef struct
{
LOCAL_PARA_HDR
l4c_source_id_enum src_id;
kal_bool is_ims_sms_available;
} l4crac_set_ims_sms_availability_req_struct;
typedef struct
{
LOCAL_PARA_HDR
} l4crac_sim_ready_ind_struct;
typedef struct
{
LOCAL_PARA_HDR
sim_error_cause_enum cause;
} l4crac_sim_error_ind_struct;
typedef struct {
LOCAL_PARA_HDR
l4c_source_id_enum src_id;
kal_uint32 timer_interval[MAX_RECOVERY_TIMER_NUM];
} l4crac_set_recovery_search_timer_req_struct;
typedef struct {
LOCAL_PARA_HDR
l4c_source_id_enum src_id;
kal_bool result;
} l4crac_set_recovery_search_timer_cnf_struct;
typedef struct {
LOCAL_PARA_HDR
l4c_source_id_enum src_id; // need to piggyback to L4C
} l4crac_get_recovery_search_timer_req_struct;
typedef struct {
LOCAL_PARA_HDR
l4c_source_id_enum src_id; // piggyback to L4C from REQ
kal_uint32 timer_interval[MAX_RECOVERY_TIMER_NUM];
} l4crac_get_recovery_search_timer_cnf_struct;
typedef struct {
LOCAL_PARA_HDR
ps_cause_enum cause;
} l4crac_eps_attach_needed_rej_rsp_struct;
typedef struct {
LOCAL_PARA_HDR
ct_mode_enum mode;
} l4crac_set_ct_mode_req_struct;
#if defined(__CDMA2000_RAT__)
typedef struct
{
LOCAL_PARA_HDR
mmdc_recovery_search_enum trigger_type;
} l4crac_mmdc_recovery_search_req_struct;
#endif
typedef struct {
LOCAL_PARA_HDR
act_sim_enum active_sim;
}l4crac_active_sim_ind_struct, l4crac_active_sim_req_struct;
typedef struct {
LOCAL_PARA_HDR
plmn_id_struct plmn;
rat_enum rat;
kal_uint8 ara_start[2];
kal_uint8 ara_end[2];
}l4crac_aral_update_req_struct;
typedef struct
{
LOCAL_PARA_HDR
l4c_source_id_enum src_id;
ims_reg_state_enum reg_state;
ims_reg_type_enum reg_type;
ims_dereg_cause_enum dereg_cause;
ims_access_rat_enum rat;
kal_bool is_retry;
kal_uint32 ext_info;
} l4crac_ims_reg_status_update_req_struct;
#ifdef __IMS_SUPPORT__
typedef struct
{
LOCAL_PARA_HDR
l4c_source_id_enum src_id;
kal_bool is_ims_voice_support;
kal_bool is_ims_sms_support;
ims_cap_rat_enum ims_rat_cap;
} l4crac_ims_config_req_struct;
typedef struct
{
LOCAL_PARA_HDR
ims_reg_type_enum reg_type;
} l4crac_ims_reg_start_req_struct, l4crac_ims_dereg_start_req_struct;
typedef struct
{
LOCAL_PARA_HDR
ims_timer_type_enum timer_type;
ims_timer_status_enum timer_status;
kal_uint16 timer_length;
} l4crac_ims_timer_status_update_req_struct;
typedef struct
{
LOCAL_PARA_HDR
ims_special_event_enum ims_event;
imcb_imc_sip_cause_enum sip_cause;
} l4crac_ims_event_update_req_struct;
#endif /* __IMS_SUPPORT__*/
typedef struct
{
LOCAL_PARA_HDR
kal_bool is_ims_roaming_enable;
} l4crac_set_ims_roaming_config_req_struct;
typedef struct {
LOCAL_PARA_HDR
kal_uint8 src_id;
custom_plmn_type_enum type;
} l4crac_get_custom_plmn_list_req_struct;
typedef struct {
LOCAL_PARA_HDR
custom_plmn_type_enum type;
kal_uint8 plmn_ver[2];
kal_uint16 no_plmn_entry;
kal_uint8 *plmn_data;
} l4crac_custom_plmn_list_update_req_struct;
#ifdef __VOLTE_SUPPORT__
typedef struct
{
LOCAL_PARA_HDR
l4c_source_id_enum src_id;
mm_ims_voice_termination mm_ivt;
} l4crac_set_mm_ims_voice_termination_req_struct;
#endif /* __VOLTE_SUPPORT__ */
typedef struct {
LOCAL_PARA_HDR
call_status_enum call_status;
call_type_indication_enum call_type;
kal_bool is_flight_mode_on_ecc; // GMSS need this flag to determine System/PLMN selection logic during filght mode ECC
rat_enum call_current_rat; // the call start/stop current rat
} l4crac_call_status_req_struct;
typedef struct {
LOCAL_PARA_HDR
rat_enum rat;
} l4crac_set_first_camp_on_prefer_rat_req_struct;
typedef struct {
LOCAL_PARA_HDR
emdstatus_md_config_enum md_config;
emdstatus_sim_config_enum sim_config;
} l4crac_md_sim_config_req_struct;
typedef struct
{
LOCAL_PARA_HDR
l4c_source_id_enum src_id;
plmn_id_struct plmn_id;
} l4crac_disable_eutran_req_struct;
typedef struct {
LOCAL_PARA_HDR
l4c_source_id_enum src_id;
kal_bool geran_tdma;
kal_bool utran_fdd;
kal_bool utran_tdd_lcr;
kal_bool eutran_fdd;
kal_bool eutran_tdd;
kal_bool nr_fdd;
kal_bool nr_tdd;
mode_switch_cause_enum cause;
} l4crac_duplex_mode_change_req_struct;
typedef struct {
LOCAL_PARA_HDR
l4c_source_id_enum src_id;
} l4crac_clear_mru_req_struct;
typedef struct
{
LOCAL_PARA_HDR
l4c_source_id_enum src_id;
rat_enum rat;
plmn_id_struct plmn_id;
kal_uint16 arfcn;
kal_uint8 requested_band;
} l4crac_set_mru_req_struct;
typedef struct
{
LOCAL_PARA_HDR
l4c_source_id_enum src_id;
rat_enum rat;
plmn_id_struct plmn_id;
} l4crac_set_aux_plmn_req_struct;
typedef struct
{
LOCAL_PARA_HDR
kal_bool voice_over_ims_ongoing;
} l4crac_ims_call_info_req_struct;
typedef struct
{
LOCAL_PARA_HDR
l4c_source_id_enum src_id;
ims_scm_info_type_enum application;
ims_scm_info_action_enum indication;
} l4crac_ims_scm_req_struct;
typedef struct {
LOCAL_PARA_HDR
wm_policy_enum wm_policy;
} l4crac_set_wm_policy_req_struct;
typedef struct {
LOCAL_PARA_HDR
kal_bool data_enabled_setting;
kal_bool data_roaming_setting;
} l4crac_set_roaming_data_config_req_struct;
typedef struct
{
LOCAL_PARA_HDR
l4c_source_id_enum src_id;
module_type dst_id; // destination module ID
omadm_cmd_type_enum cmd;
omadm_node_type_enum node_type; // OMADM node
kal_uint32 node_value; // used only cmd=SET
} l4crac_omadm_update_req_struct;
typedef struct
{
LOCAL_PARA_HDR
l4c_source_id_enum src_id;
mru_cmd_type_enum cmd;
mmss_list_type_enum list_type; // RAL or MRU
vzwmru_entry_struct entry; // used only cmd=EDIT
} l4crac_vzwmru_update_req_struct;
typedef struct
{
LOCAL_PARA_HDR
l4c_source_id_enum src_id;
hvolte_mode_enum mode;
kal_bool is_for_silent_redial;
set_hvolte_mode_cause_enum cause;
} l4crac_set_hvolte_mode_req_struct;
typedef struct
{
LOCAL_PARA_HDR
kal_bool mode; //to indicate the mode=0/1 to RAC
} l4crac_cs_voice_call_protection_req_struct;
typedef struct
{
LOCAL_PARA_HDR
kal_bool is_main_ps; /* GEMINI : data preferred SIM e.g. internet data*/
} l4crac_data_allow_req_struct;
typedef struct
{
LOCAL_PARA_HDR
kal_bool is_main_ps; /* GEMINI : data preferred SIM e.g. internet data*/
} l4cvdm_data_allow_req_struct;
typedef struct
{
LOCAL_PARA_HDR
kal_bool is_user_selected_main_ps; /* GEMINI : user selected data preferred stack e.g. internet data*/
} l4crac_user_selected_main_ps_req_struct;
typedef struct{
LOCAL_PARA_HDR
kal_uint8 tw_mode;
kal_uint8 setting;
} l4crac_gmss_set_tw_mode_req_struct;
typedef struct {
LOCAL_PARA_HDR
kal_bool is_apn_enable;
} l4crac_vzw_admin_apn_setting_notify_req_struct;
typedef struct {
LOCAL_PARA_HDR
kal_bool is_data_service_present;
kal_bool is_data_service_on;
kal_bool is_data_roaming_service_present;
kal_bool is_data_roaming_service_on;
} l4crac_data_service_status_update_req_struct;
#ifdef __GEMINI__
typedef struct {
LOCAL_PARA_HDR
l4c_source_id_enum src_id;
}l4crac_rsim_auth_abort_req_struct;
typedef struct {
LOCAL_PARA_HDR
kal_bool is_rsim_enable;
}l4crac_rsim_set_ps_only_req_struct;
typedef struct {
LOCAL_PARA_HDR
kal_bool is_rsim_enabled; /* TRUE when RSIM is enabled, (i.e when AT+ERSIM = 1 is received), FALSE when RSIM is disabled, (i.e when AT+ERSIM = 0 is received)*/
kal_bool is_aka_sim_enabled; /* TRUE when AKA SIM is enabled (I.E when AT+ERSIMAKA=1 is received), FALSE when AKA SIM is enabled, (i.e when AT+ERSIMAKA = 0 is received) */
}l4crac_rsim_aka_status_req_struct;
#endif
typedef struct {
LOCAL_PARA_HDR
kal_bool is_ct_volte_support;
} l4crac_volte_status_update_req_struct;
typedef struct
{
LOCAL_PARA_HDR
l4c_source_id_enum src_id;
} l4crac_reset_ota_ctxt_req_struct;
typedef struct
{
LOCAL_PARA_HDR
l4c_source_id_enum src_id;
} l4crac_get_last_rat_select_ind_req_struct;
typedef struct {
LOCAL_PARA_HDR
kal_uint8 src_id;
vzw_barring_timer_type_enum timer_type;
kal_uint32 timer_interval; /* in second */
} l4crac_gmss_set_plmn_barring_timer_req_struct;
typedef struct {
LOCAL_PARA_HDR
kal_uint8 src_id;
kal_bool result;
} l4crac_gmss_set_plmn_barring_timer_cnf_struct;
typedef struct {
LOCAL_PARA_HDR
kal_uint8 src_id;
vzw_barring_timer_type_enum timer_type;
} l4crac_gmss_get_plmn_barring_timer_req_struct;
typedef struct {
LOCAL_PARA_HDR
kal_uint8 src_id;
kal_uint32 timer_interval;
} l4crac_gmss_get_plmn_barring_timer_cnf_struct;
typedef struct {
LOCAL_PARA_HDR
rat_enum disable_rat;
}l4crac_rat_disable_config_req_struct; /*TMO diable 2G*/
typedef struct {
LOCAL_PARA_HDR
kal_uint8 svn; // BCD type, non reverse
} l4crac_set_ms_sv_req_struct;
typedef struct {
LOCAL_PARA_HDR
fplmn_action_enum action;
#ifdef __MBIM_MS_NETWORK_BLACKLIST__
kal_bool card_lock;
#endif
kal_uint8 fplmn_count;
plmn_id_struct fplmn_id[MAX_NUM_FPLMNS];
} l4crac_fplmn_action_req_struct;
typedef struct {
kal_bool is_mobile_data_enable_present;
kal_bool is_mobile_data_enable;
kal_bool is_mobile_data_roaming_enable_present;
kal_bool is_mobile_data_roaming_enable;
kal_bool is_volte_enable_present;
kal_bool is_volte_enable;
kal_bool is_vzw_ims_test_mode_enable_present;
kal_bool is_vzw_ims_test_mode_enable;
} l4crac_cellular_network_config;
typedef struct {
LOCAL_PARA_HDR
l4crac_cellular_network_config config;
}l4crac_cellular_network_config_req_struct;
#if defined(__ECALL_SUPPORT__) || defined(__NG_ECALL_SUPPORT__)
typedef struct {
LOCAL_PARA_HDR
kal_uint8 purpose;
kal_uint8 mode;
kal_uint32 timer1;
kal_bool is_timer1_valid;
kal_uint32 timer2;
kal_bool is_timer2_valid;
}l4crac_set_timer_req_struct;
#endif
typedef struct
{
LOCAL_PARA_HDR
module_type user;
kal_uint8 src_id;
vg_option_enum vg_option_bitmap;
kal_uint8 act_operation; // 0 (default value): no operation, 1: need local release, 2: need local release + trigger NR search
} l4crac_vg_option_update_req_struct;
typedef struct
{
LOCAL_PARA_HDR
module_type user; // Piggy back
kal_uint8 src_id;
kal_bool result;
} l4crac_vg_option_update_cnf_struct;
//should be the same as mm_emm_csfb_page_rsp_struct
typedef struct {
LOCAL_PARA_HDR
kal_bool is_accept_paging; //Whether upper layer decides to answer the mobile terminating CS service
} l4crac_csfb_page_rsp_struct;
//should be the same as mm_emm_csfb_page_config_req_struct
typedef struct {
LOCAL_PARA_HDR
csfb_page_config_enum csfb_page_config;
kal_uint8 add_info; // if csfb_page_config is 3 or 4, add_info will be the new timer value
} l4crac_csfb_page_config_req_struct;
typedef struct {
LOCAL_PARA_HDR
kal_bool is_rude_wakeup;
}l4crac_screen_on_req_struct;
typedef struct {
LOCAL_PARA_HDR
kal_bool normal_oos_recovery_round_present;
kal_uint8 normal_oos_recovery_round; /* default value =5, range [2,10] */
kal_bool inactive_fullband_period_present;
kal_uint16 inactive_fullband_period; /* default value =200s, range [90,360] */
kal_bool inactive_sniffer_period_present;
kal_uint8 inactive_sniffer_period; /* default value =30s, range [10,60] */
kal_bool is_inactive_mode_present;
kal_bool is_inactive_mode; /* TRUE: Enter inactive mode, FALSE: Leave inactive mode*/
kal_bool inactive_scan_time_present;
kal_uint32 inactive_scan_time;
kal_bool inactive_sleep_time_present;
kal_uint32 inactive_sleep_time;
} l4crac_inactive_mode_configuration_req_struct;
typedef struct
{
LOCAL_PARA_HDR
kal_uint8 trans_id;
ims_service_type_enum type;
ims_service_status_enum status;
kal_uint8 src_id; //source id of this message (IMS or VDM)
} l4crac_uac_param_check_req_struct; // rac_vgmm_ims_uac_req_struct
typedef struct
{
LOCAL_PARA_HDR
kal_uint8 trans_id;
kal_uint8 src_id; //source id of this message (IMS or VDM)
} l4crac_uac_abort_req_struct; // rac_vgmm_ims_uac_abort_req_struct
typedef struct
{
LOCAL_PARA_HDR
ims_service_type_enum type;
ims_service_status_enum status;
} l4crac_nr_ims_service_status_req_struct; // rac_vgmm_ims_service_status_req_struct
// TODO: Define below struct
/* Below enums are defined in rac_vgmm_struct.h.
rac_vgmm_struct.h includes this header, so this header cannot include it again.
Do not use kal_uint8/kal_uint32. The sizes of enums are unpredictable!
*/
#if 0
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
#endif
typedef struct
{
LOCAL_PARA_HDR
} l4crac_emergency_service_fallback_req_struct; // rac_vgmm_emergency_service_fallback_req_struct
typedef l4c_eval_sr_failure_ind_struct l4crac_vgmm_proc_failure_ind_struct;
#if defined(__TC01__) // at%ltecall
typedef struct{
#if defined(__GSM_RAT__)
kal_uint8 requested_gsm_band;
#endif /* __GSM_RAT__ */
#if defined(__UMTS_RAT__)
kal_uint8 requested_umts_fdd_band[SIZE_OF_UMTS_BAND];
#endif /* __UMTS_RAT__ */
}custom_factory_ugrac_context_struct;
#ifdef __LTE_RAT__
typedef struct{
kal_uint8 requested_lte_band[SIZE_LTE_BAND];
}custom_factory_rac_erac_context_struct;
#endif
typedef struct {
kal_uint8 factory_dynamic_band;
rat_enum factory_change_rat;
#if defined(__GSM_RAT__) || defined(__UMTS_RAT__)
custom_factory_ugrac_context_struct ugrac;
#endif
#if defined(__LTE_RAT__)
custom_factory_rac_erac_context_struct erac;
#endif /* __LTE_RAT__ */
kal_uint8 initial_lte_call;
}custom_factory_band_context_struct;
#endif /* __TC01__ */
typedef struct {
LOCAL_PARA_HDR
kal_bool high_prio_timer_config;
} l4crac_high_prio_search_timer_config_req_struct;
typedef struct {
LOCAL_PARA_HDR
l4c_source_id_enum src_id;
kal_bool is_disable_integrity_check; //KAL_TRUE to disable integirty check
} l4crac_set_save_rac_preference_req_struct;
typedef struct {
LOCAL_PARA_HDR
kal_bool ims_pdn_activation_ongoing;
} l4crac_ims_pdn_activation_req_struct;
#if defined(__ECALL_SUPPORT__) || defined(__NG_ECALL_SUPPORT__)
typedef struct
{
LOCAL_PARA_HDR
ecall_registration_state_enum ecall_reg_state;
} l4crac_set_ecall_registration_req_struct;
#endif /* (__ECALL_SUPPORT__) || (__NG_ECALL_SUPPORT__) */
typedef rac_gmss_set_allowed_mcc_list_req_struct l4crac_set_allowed_mcc_list_req_struct;
typedef rac_gmss_set_allowed_mcc_list_cnf_struct l4crac_set_allowed_mcc_list_cnf_struct;
#endif /* _L4C2RAC_STRUCT_H */