blob: 471de1ecfed65420379c8af8f84d4a499afe171d [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) 2013
*
* 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:
* ------------
* vdm_l4c_struct.h
*
* Project:
* ------------
* MOLY
*
* Description:
* ------------
* This file is intends for L4C/VDM interface
*
* Author:
* -----------
* -------
*****************************************************************************/
#ifndef _VDM_L4C_STRUCT_H
#define _VDM_L4C_STRUCT_H
#include "kal_public_defs.h"
#include "kal_general_types.h"
#include "l3_inc_enums_public.h"
#include "ps_public_enum.h"
#include "rmmi_common_enum.h"
#include "l4_vdm_enum.h"
#include "sim_public_enum.h"
#include "l4b_vdm_struct.h"
#include "ims_common_def.h"
#include "ims_interface_md.h"
#include "l3_inc_enums.h"
#include "c2k_irat_msg_struct.h"
#include "sim_ps_struct.h"
#include "vdm_atp_struct.h"
#include "rac_vgmm_struct.h"
#include "as_inter_core_enum.h"
#include "rac2l4c_struct.h"
#include "rac_nas_sv_struct.h"
//copy from l4c_eval_ims_sys_info_ind_struct
typedef struct
{
LOCAL_PARA_HDR
kal_bool is_valid;
kal_bool is_emc_attach_supported;
kal_bool is_emc_call_barred;
kal_uint32 cell_id;
kal_uint8 ta_code[2];
kal_uint8 barring_factor_voice;/*0~16*/
kal_uint8 barring_factor_video;/*0~16*/
kal_uint8 barring_time_voice; /*0~8*/
plmn_id_struct plmn_id;
kal_uint16 band;
kal_uint8 barring_time_video; /*0~8*/
kal_uint8 barring_factor_mo_data;/*0~16,16 means factor=1*/
kal_uint8 barring_time_mo_data; /*0~8, 0 means time=0*/
kal_uint8 acbar_special_ac_mo_data;/*LSB 5 Bits =>AC11~AC15*/
kal_uint8 barring_factor_mo_signal;/*0~16,16 means factor=1*/
kal_uint8 barring_time_mo_signal; /*0~8, 0 means time=0*/
kal_uint8 acbar_special_ac_mo_signal;/*LSB 5 Bits =>AC11~AC15*/
/* bit8 bit7 bit6 bit5 bit4 bit3 bit2 bit1
acbar special ac 0 0 0 AC11 AC12 AC13 AC14 AC15
*/
kal_bool is_acb_skip_for_mmtel_voice;
kal_bool is_acb_skip_for_mmtel_video;
kal_bool is_acb_skip_for_sms;
} vdm_l4c_ims_sys_info_ind_struct;
/* Common response from L4C to VDM */
typedef struct
{
LOCAL_PARA_HDR
l4_result_code_enum result;
l4_err_id_enum error_cause;
} vdm_l4c_common_response_struct;
/* MSG_ID_VDM_L4C_FDN_ECC_CHECK_REQ */
typedef struct
{
LOCAL_PARA_HDR
kal_uint8 dial_num[MAX_CC_ADDR_LEN];
} vdm_l4c_fdn_ecc_check_req_struct;
/* MSG_ID_VDM_L4C_FDN_ECC_CHECK_CNF */
typedef struct
{
LOCAL_PARA_HDR
kal_bool is_allowed;
kal_bool is_emergency;
kal_uint16 emergency_service_category;
} vdm_l4c_fdn_ecc_check_cnf_struct;
/* MSG_ID_VDM_L4C_CS_CC_MO_CALL_REQ */
typedef struct
{
LOCAL_PARA_HDR
kal_uint8 dial_num[MAX_CC_ADDR_LEN];
kal_uint8 call_id;
kal_bool is_emergency_call;
kal_bool is_video_call;
kal_uint8 ecc_service_category;
} vdm_l4c_cs_cc_mo_call_req_struct;
/* MSG_ID_VDM_L4C_CS_CC_MO_CALL_CNF */
typedef vdm_l4c_common_response_struct vdm_l4c_cs_cc_mo_call_cnf_struct;
/*MSG_ID_VDM_L4C_CS_CC_EMERG_SERV_CAT_REQ*/
typedef struct
{
LOCAL_PARA_HDR
kal_uint16 emergency_service_category;
} vdm_l4c_cs_cc_emerg_serv_cat_req_struct;
/* MSG_ID_VDM_L4C_CS_CC_EMERG_SERV_CAT_CNF */
typedef vdm_l4c_common_response_struct vdm_l4c_cs_cc_emerg_serv_cat_cnf_struct;
/* MSG_ID_VDM_L4C_CS_CC_LIST_CURRENT_CALLS_REQ */
typedef struct
{
LOCAL_PARA_HDR
kal_bool is_clccs;
}vdm_l4c_cs_cc_list_current_calls_req_struct;
typedef struct {
kal_uint8 call_id;
l4_call_dir_enum dir;
l4_call_state_enum call_state;
l4_call_mode_enum call_mode;
kal_bool mpty; // FALSE: is NOT conference call, TRUE: is conference call
l4_call_type_enum call_type;
l4_call_number_type_enum number_type;
kal_uint8 number[MAX_SIP_URI_LEN];
kal_bool cli_present;
kal_uint8 cli_validity;
} vdm_l4c_call_list_struct;
typedef struct
{
LOCAL_PARA_HDR
kal_uint8 total_call;
kal_bool is_clccs;
vdm_l4c_call_list_struct call_list[L4CC_MAX_CALL_NUM];
} vdm_l4c_cs_cc_list_current_calls_cnf_struct;
/* MSG_ID_VDM_L4C_CS_CC_EXT_ERROR_REPORT_REQ */ // AT+CEER (no struct)
typedef struct
{
LOCAL_PARA_HDR
}vdm_l4c_cs_cc_ext_error_report_req_struct;
/* MSG_ID_VDM_L4C_CS_CC_EXT_ERROR_REPORT_CNF */
typedef struct
{
LOCAL_PARA_HDR
l4_ext_error_report_enum ceer_cause;
l4_result_code_enum result;
l4_err_id_enum err_id;
kal_uint16 ecc_category;
} vdm_l4c_cs_cc_ext_error_report_cnf_struct;
/* MSG_ID_VDM_L4C_CS_CC_SEND_DIGIT_REQ */ //AT+VTS
typedef struct
{
LOCAL_PARA_HDR
kal_uint8 digit;
l4_dtmf_action_enum action;
} vdm_l4c_cs_cc_send_digit_req_struct;
/* MSG_ID_VDM_L4C_CS_CC_SEND_DIGIT_CNF */
typedef struct
{
LOCAL_PARA_HDR
l4_result_code_enum result;
l4_err_id_enum error_cause;
l4_dtmf_action_enum action;
} vdm_l4c_cs_cc_send_digit_cnf_struct;
/* MSG_ID_VDM_L4C_CS_CC_HANGUP_ALL_REQ */ // ATH (no struct)
typedef struct
{
LOCAL_PARA_HDR
}vdm_l4c_cs_cc_hangup_all_req_struct;
/* MSG_ID_VDM_L4C_CS_CC_HANGUP_ALL_CNF */
typedef vdm_l4c_common_response_struct vdm_l4c_cs_cc_hangup_all_cnf_struct;
/* MSG_ID_VDM_L4C_CS_CC_FORCE_HANGUP_REQ */ // AT+ECHUP
typedef struct
{
LOCAL_PARA_HDR
kal_uint8 call_id;
} vdm_l4c_cs_cc_force_hangup_req_struct;
/* MSG_ID_VDM_L4C_CS_CC_FORCE_HANGUP_CNF */
typedef vdm_l4c_common_response_struct vdm_l4c_cs_cc_force_hangup_cnf_struct;
/* MSG_ID_VDM_L4C_CS_CC_MT_CALL_PRESENT_RSP */
typedef struct
{
LOCAL_PARA_HDR
kal_uint8 call_id;
kal_uint8 seq_no;
l4_cc_eaic_result_enum eaic_result;
kal_uint16 reject_cause;
} vdm_l4c_cs_cc_mt_call_present_rsp_struct;
/* MSG_ID_VDM_L4C_CS_CC_MT_CALL_ACCEPT_REQ_STRUCT */
typedef struct
{
LOCAL_PARA_HDR
} vdm_l4c_cs_cc_mt_call_accept_req_struct;
/* MSG_ID_VDM_L4C_CS_CC_MT_CALL_ACCEPT_CNF */
typedef vdm_l4c_common_response_struct vdm_l4c_cs_cc_mt_call_accept_cnf_struct;
/* MSG_ID_VDM_L4C_CS_CC_CALL_RELATED_SS_REQ */
typedef struct
{
LOCAL_PARA_HDR
kal_uint8 call_id;
l4_call_related_ss_type_enum opcode;
} vdm_l4c_cs_cc_call_related_ss_req_struct;
/* MSG_ID_VDM_L4C_CS_CC_CALL_RELATED_SS_CNF */
typedef vdm_l4c_common_response_struct vdm_l4c_cs_cc_call_related_ss_cnf_struct;
typedef struct {
kal_uint8 number[MAX_CC_ADDR_LEN];
l4_call_type_enum call_type;
l4_call_mode_enum call_mode;
kal_uint8 redirect_num[MAX_CC_ADDR_LEN];
} l4c_cc_eaic_info_struct;
/* MSG_ID_VDM_L4C_CS_CC_MT_CALL_PRESENT_IND */
typedef struct
{
LOCAL_PARA_HDR
kal_uint8 call_id;
l4c_cc_eaic_info_struct eaic_info;
kal_uint8 seq_no;
} vdm_l4c_cs_cc_mt_call_present_ind_struct;
typedef struct
{
/* +ECPI:<call_id>,<msg_type>,<is_ibt>,<is_tch>,<dir>,
* <call_mode>,[<number>,<type>],[<disc_cause>],[<pau>]
*/
kal_bool is_ibt;
kal_bool is_tch;
l4_call_dir_enum call_dir;
l4_call_mode_enum call_mode;
kal_bool is_number_call_type_present;
kal_uint8 number[MAX_CC_ADDR_LEN];
l4_call_type_enum call_type;
kal_bool is_disc_cause_present;
kal_uint16 disc_cause;
} l4c_ecpi_info_struct;
typedef struct {
LOCAL_PARA_HDR
kal_uint8 call_id;
kal_uint8 ecpi_type;
l4c_ecpi_info_struct ecpi_info;
} vdm_l4c_common_cs_cc_ecpi_ind_struct;
/* MSG_ID_VDM_L4C_CS_CC_ECPI_TRANSLATE_IND */
typedef vdm_l4c_common_cs_cc_ecpi_ind_struct vdm_l4c_cs_cc_ecpi_translate_ind_struct;
/* MSG_ID_VDM_L4C_CS_CC_MT_CALL_SETUP_IND */
typedef vdm_l4c_common_cs_cc_ecpi_ind_struct vdm_l4c_cs_cc_mt_call_setup_ind_struct;
/* MSG_ID_VDM_L4C_CS_CC_CALL_DISCONNECT_IND */
typedef vdm_l4c_common_cs_cc_ecpi_ind_struct vdm_l4c_cs_cc_call_disconnect_ind_struct;
typedef struct {
LOCAL_PARA_HDR
kal_uint8 call_id;
sat_terminal_res_enum terminal_res;
kal_uint8 additional_res;
} vdm_l4c_cs_cc_stk_tr_info_ind_struct;
typedef struct
{
kal_uint8 sat_call_type;
kal_uint8 no_addr;
kal_uint8 addr[MAX_CC_ADDR_BCD_LEN];
kal_uint8 no_sub_addr;
kal_uint8 sub_addr[MAX_CC_SUB_ADDR_BCD_LEN];
kal_uint8 no_ccp;
kal_uint8 ccp[MAX_SAT_SIZE_OF_CCP];
kal_uint8 type_of_modification;
} vdm_l4c_sat_call_setup_req_struct;
/* MSG_ID_VDM_L4C_CS_CC_STK_CALL_REQ*/
typedef struct
{
LOCAL_PARA_HDR
kal_uint8 call_id;
kal_bool l4c_retry;
sat_terminal_res_enum tr;
vdm_l4c_sat_call_setup_req_struct sat_setup_call_req;
} vdm_l4c_cs_cc_stk_call_req_struct;
/* MSG_ID_VDM_L4C_CS_CC_STK_CALL_CNF */
typedef vdm_l4c_common_response_struct vdm_l4c_cs_cc_stk_call_cnf_struct;
/* MSG_ID_VDM_L4C_SAT_SETUP_CALL_IND */
typedef sat_setup_call_ind_struct vdm_l4c_sat_setup_call_ind_struct;
typedef struct
{
LOCAL_PARA_HDR
kal_uint8 bfvoice;
kal_uint8 bfvideo;
kal_uint8 btvoice;
kal_uint8 btvideo;
} vdm_l4c_get_ssac_param_cnf_struct;
typedef struct
{
kal_uint8 call_id; /* call_id_ims = call_id_ap */
ims_srvcc_call_mode_enum call_mode;
ims_srvcc_call_direction_enum call_direction;
ims_srvcc_call_state_enum call_state;
ims_srvcc_call_ecc_category_enum call_ecc_category;
ims_srvcc_call_number_format_enum call_number_format;
kal_uint8 call_number[IMC_MAX_URI_LENGTH];
#if defined(__TC01_IMS_SUPPORT__) || defined(__IPC_ADAPTER__)
//these two parameter is defined by L4 but seems not used by IMS CC, so we wrap it with compile option
kal_uint8 call_alpha[MAX_PS_NAME_SIZE + 1]; // MAX_PS_NAME_SIZE: 42
kal_uint8 cli;
//just for TK compatible, not sure how to use this in TC01 project
kal_uint8 num_of_conf_parts;
#endif
} vdm_l4c_srvcc_call_ctxt_to_cs_struct;
typedef struct
{
LOCAL_PARA_HDR
kal_uint32 num_call;
vdm_l4c_srvcc_call_ctxt_to_cs_struct srvcc_call_ctxt_to_cs_domain[L4CC_MAX_CALL_NUM];
} vdm_l4c_srvcc_context_transfer_req_struct;
typedef struct
{
LOCAL_PARA_HDR
kal_uint32 num_of_call_instances;
kal_uint32 call_id_table[L4CC_MAX_CALL_NUM];
} vdm_l4c_srvcc_context_transfer_cnf_struct;
typedef struct
{
LOCAL_PARA_HDR
rat_enum active_rat;
union
{
vgmm_nw_feature_support_struct nr;
emm_nw_feature_support_struct eps;
gmm_nw_feature_support_struct ug;
} nw_feature;
} vdm_l4c_nw_feature_ind_struct;
/******************************************************************************
* +CIREPH: <srvcch>
*****************************************************************************/
typedef struct
{
LOCAL_PARA_HDR
srvcc_status_enum status;
} vdm_l4c_srvcc_status_update_ind_struct;
/******************************************************************************
* +ENW: <is_searching>
*****************************************************************************/
typedef struct
{
LOCAL_PARA_HDR
kal_bool is_searching;
} vdm_l4c_nw_search_status_ind_struct;
typedef struct
{
LOCAL_PARA_HDR
ue_mode_enum ue_mode;
l4_voice_domain_preference_enum eutran_vdp;
} vdm_l4c_uemode_param_update_ind_struct;
/******************************************************************************
* +EC2KREG: <domain>,<state>,<service>
*****************************************************************************/
typedef struct
{
LOCAL_PARA_HDR
domain_id_enum domain;
kal_bool state;
irat_ps_type_enum service;
} vdm_l4c_c2k_service_state_ind_struct;
/******************************************************************************
* +EIMSPS: rat,type[,cause]
* indication for silent redial event from AP to MD
*****************************************************************************/
typedef struct
{
LOCAL_PARA_HDR
rat_enum rat;
kal_uint8 type;// bitmask, 0x01 for Voice , 0x02 for SMS
hvolte_mode_change_cause_enum cause;
} vdm_l4c_ims_domain_preference_ind_struct;
/******************************************************************************
* +ERAT: <rat>
*****************************************************************************/
typedef struct
{
LOCAL_PARA_HDR
rat_enum rat;
rat_enum reported_rat;
} vdm_l4c_rat_mode_ind_struct;
/******************************************************************************
* +EIRAT: <rat>
*****************************************************************************/
typedef struct
{
LOCAL_PARA_HDR
l4_irat_status_enum irat_status;
kal_bool irat_result;
} vdm_l4c_inter_rat_status_ind_struct;
/******************************************************************************
* +ERLQ:<Event>, <Band>
* Event: 4G radio link monitor event type
* 0 - LTE weak signal
* 1 - LTE OOS searching
* Band: current 4G band
* 0 - Invalid band value (used for LTE OOS search)
* 1-256: possible LTE band value range
* only care about Event
*****************************************************************************/
typedef struct
{
LOCAL_PARA_HDR
kal_uint32 event_type;
} vdm_l4c_radio_link_quality_ind_struct;
/******************************************************************************
* +ERPRAT: 9,<new_reported_rat>,<is_home>
*****************************************************************************/
typedef struct
{
LOCAL_PARA_HDR
rat_enum new_reported_rat;
kal_bool is_home;
} vdm_l4c_reported_rat_change_ind_struct;
/*
**AT+EVVS**
call_status_enum vdm_voice_status;
kal_bool is_emergency;
**AT+EVIVS**
vdm_ims_voice_status_enum vdm_ims_voice_status;
ims_access_rat_enum rat;
**AT+EIMSCI**
kal_bool voice_over_ims_ongoing;
kal_bool is_emergency;
ims_access_rat_enum ims_access_rat;
***AT+CSCM**
ims_scm_info_type_enum application;
ims_scm_info_action_enum indication;
*/
/*MSG_ID_VDM_L4C_IMS_CALL_SCM_REQ*/
typedef struct
{
LOCAL_PARA_HDR
ims_scm_info_type_enum application;
ims_scm_info_action_enum indication;
} vdm_l4c_ims_call_scm_req_struct;
/*MSG_ID_VDM_L4C_NR_IMS_CALL_STATUS_REQ*/
typedef rac_vgmm_ims_service_status_req_struct vdm_l4c_nr_ims_call_status_req_struct;
/*MSG_ID_VDM_L4C_UAC_PARAM_CHECK_ABORT_REQ*/
typedef rac_vgmm_ims_uac_abort_req_struct vdm_l4c_uac_param_check_abort_req_struct;
/*MSG_ID_VDM_L4C_UAC_PARAM_CHECK_REQ*/
typedef rac_vgmm_ims_uac_req_struct vdm_l4c_uac_param_check_req_struct;
/* MSG_ID_VDM_L4C_UAC_PARAM_CHECK_CNF */
typedef rac_vgmm_ims_uac_cnf_struct vdm_l4c_uac_param_check_cnf_struct;
/* MSG_ID_VDM_L4C_UAC_ALLEVIATION_IND */
typedef rac_vgmm_ims_uac_alleviation_ind_struct vdm_l4c_uac_alleviation_ind_struct;
/*MSG_ID_VDM_L4C_EMERGENCY_SERVICE_REQ*/
typedef rac_vgmm_emergency_service_req_struct vdm_l4c_emergency_service_req_struct;
/* MSG_ID_VDM_L4C_EMERGENCY_SERVICE_CNF */
typedef rac_vgmm_emergency_service_cnf_struct vdm_l4c_emergency_service_cnf_struct;
/* MSG_ID_VDM_L4C_EMERGENCY_SERVICE_IND */
typedef rac_vgmm_emergency_service_ind_struct vdm_l4c_emergency_service_ind_struct;
/*MSG_ID_VDM_L4C_EMERGENCY_SERVICE_FALLBACK_REQ*/
typedef rac_vgmm_emergency_service_fallback_req_struct vdm_l4c_emergency_service_fallback_req_struct;
/* MSG_ID_VDM_L4C_EMERGENCY_SERVICE_FALLBACK_CNF */
typedef rac_vgmm_emergency_service_fallback_cnf_struct vdm_l4c_emergency_service_fallback_cnf_struct;
/*MSG_ID_VDM_L4C_REG_COMBINED_CAUSE_IND*/
typedef l4crac_reg_combined_cause_ind_struct vdm_l4c_reg_combined_cause_ind_struct;
/*MSG_ID_VDM_L4C_ECBM_MODE_IND*/
typedef struct
{
LOCAL_PARA_HDR
kal_bool is_ecbm_on;
rat_enum ecbm_rat;
} vdm_l4c_ecbm_mode_ind_struct;
/*MSG_ID_VDM_L4C_IMS_CALL_PROGRESS_REQ*/
typedef struct
{
LOCAL_PARA_HDR
kal_uint8 call_id;
ims_cc_eaic_info_struct eaic_info;
ims_call_dir_enum dir;
csmcc_cpi_msg_type_enum msg_type;
kal_bool is_far_end;
ims_disc_cause_enum disc_cause;
} vdm_l4c_ims_call_progress_req_struct;
/*MSG_ID_VDM_L4C_GMSS_SET_HVOLTE_MODE_REQ*/
typedef struct
{
LOCAL_PARA_HDR
hvolte_mode_enum mode;
kal_uint8 submode;
} vdm_l4c_gmss_set_hvolte_mode_req_struct;
/* MSG_ID_VDM_L4C_GMSS_SET_HVOLTE_MODE_CNF */
typedef vdm_l4c_common_response_struct vdm_l4c_gmss_set_hvolte_mode_cnf_struct;
typedef rac_nas_sv_nr_emc_service_availability_ind_struct vdm_l4c_nr_emc_service_availability_ind_struct;
typedef rac_nas_sv_nr_emc_service_availability_rsp_struct vdm_l4c_nr_emc_service_availability_rsp_struct;
/*MSG_ID_VDM_L4C_EMCS_REQ*/
typedef struct
{
LOCAL_PARA_HDR
kal_uint8 mode;
kal_uint8 ims_reg_state;
kal_bool is_airplane_mode_ecc;
} vdm_l4c_emcs_req_struct;
/*MSG_ID_VDM_L4C_ATTACHED_RAT_IND*/
typedef struct
{
LOCAL_PARA_HDR
nas_reg_status_enum nas_reg_status;
kal_bool is_for_ps_domain;
mm_cause_enum nas_reg_cause;
} vdm_l4c_attached_rat_ind_struct;
#if defined(__NG_ECALL_SUPPORT__)
typedef struct
{
LOCAL_PARA_HDR
ecall_type_enum ecall_type;
} vdm_l4c_ecall_test_call_attach_req_struct;
typedef struct
{
LOCAL_PARA_HDR
l4_result_code_enum result;
l4_err_id_enum err_id;
} vdm_l4c_ecall_test_call_attach_cnf_struct;
typedef struct
{
LOCAL_PARA_HDR
ecall_abort_attach_reason_enum reason;
} vdm_l4c_ecall_abort_test_call_attach_req_struct;
typedef struct
{
LOCAL_PARA_HDR
l4_result_code_enum result;
l4_err_id_enum err_id;
} vdm_l4c_ecall_abort_test_call_attach_cnf_struct;
#endif
/* MSG_ID_VDM_L4C_ERRC_CELL_REJ_IND */
typedef struct
{
kal_bool is_bar_pcell;
cell_rej_cause_enum cause; /* Rejected cause */
kal_uint16 timer_val; /* Period of timer for rejection unit:second */
kal_uint32 earfcn; /* earfcn/pci used to identify cell when is_bar_pcell is FALSE */
kal_uint16 pci;
kal_uint32 cell_id; /* cell_id used to identify cell when is_bar_pcell is TRUE */
} vdm_l4c_errc_mob_cell_rej_info_struct;
typedef struct {
LOCAL_PARA_HDR
vdm_l4c_errc_mob_cell_rej_info_struct rej_info;
} vdm_l4c_errc_cell_rej_ind_struct;
/*MSG_ID_VDM_L4C_IMS_CC_CALL_PROGRESS_IND*/
typedef struct
{
LOCAL_PARA_HDR
kal_uint8 call_id;
kal_uint8 msg_type;
l4c_ecpi_info_struct ecpi_info;
} vdm_l4c_ims_cc_call_progress_ind_struct;
#if defined(__ECALL_SUPPORT__) || defined(__NG_ECALL_SUPPORT__)
/* MSG_ID_VDM_L4C_CS_CC_CECALL_REQ */
typedef struct
{
LOCAL_PARA_HDR
kal_uint8 call_id;
ecall_type_enum ecall_type;
ecall_format_enum ecall_format;
kal_uint8 msd_data_len;
kal_uint8 msd_data[MAX_MSD_LENGTH];
} vdm_l4c_cs_cc_cecall_req_struct;
/* MSG_ID_VDM_L4C_CS_CC_CECALL_CNF */
typedef vdm_l4c_common_response_struct vdm_l4c_cs_cc_cecall_cnf_struct;
#endif
#endif /* _VDM_L4C_STRUCT_H */