blob: 3f0a41cb00241f67a433737143485486075621de [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) 2012
*
* 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:
* ---------
* rac_eval_struct.h
*
* Project:
* --------
* MOLY
*
* Description:
* ------------
* message and common structure definition between RAC and EVAL module
*
* Author:
* -------
* -------
*
* ==========================================================================
* $Log$
*
* 12 16 2021 derek.yang
* [MOLY00774161] [mt2735][CS eCall][NG eCall][patch back] ecall patch back from NR15.R3.MD700.MP.ECAll.DEV
*
* .
*
* 07 24 2020 titi.wu
* [MOLY00548688] ³q?MM INFO¤U??ÊI?¦W?¡A¶W?26¦ì?¡A¤âÉóª`?¦Z¥u¯à?¥Ü26¦ì
* ALPS05219189.
*
* 01 20 2020 lucien.li
* [MOLY00474623] [VMOLY][Huawei][M&J][MT6765/MT6761]?¤_¥D?¤W?©R¥OAT+EACMTªº?®i»Ý¨D
*
* [RAC] AT+EACMT
*
* 01 17 2020 lucien.li
* [MOLY00470870] [Gen97][VMOLY] Huawei's Gen93 CR patch-back activity
* [RAC] NVRAM - REJ Mapping rename
*
* 12 03 2019 lucien.li
* [MOLY00457575] ¥Ó?patch¡G§âALPS04415220¤¤ªº?ªG²¾´Ó¨ìMT6885¥­¥x¤W
* [Code Sync][RAC] __ARFCN_TO_CAMERA_SUPPORT__
*
* 10 14 2019 lucien.li
* [MOLY00442846] [Gen97] Modem´¼¯à«ÝÉófeature - NSA part (implementation)
* [CODE SYNC][RAC] Smart IDLE
*
* 05 02 2019 chinte.chen
* [MOLY00403093] [Gen97][VMOLY] extended emergency number list (EENL) support
* [EMM] extended emergency number list
*
* 02 18 2019 yingfui.hung
* [MOLY00384902] [Gen97][VzW]LTEPCO Requirement - VZ_REQ_LTEPCO_34859 - EMM cause source reporting
*
* .
*
*
* .
*
* 11 01 2018 yingfui.hung
* [MOLY00361478] [Gen97] Gemini Compile Option Clean Up
*
* .
*
* 10 24 2018 chinte.chen
* [MOLY00360557] [VMOLY][CODE_SYNC] UMOLY code sync to VMOLY
* .
*
* 08 20 2018 yingfui.hung
* [MOLY00346992] [Gen97][RAC] RAC revise and vgRAC implementation
* CL6151862 - 6171771
*
* 08 17 2018 chinte.chen
* [MOLY00306148] [NAS] pangu giant CR
* patch back 6136963.
*
* 08 17 2018 lucien.li
* [MOLY00306148] [NAS] pangu giant CR
* [Gen97][L4C] Cell info / SRVCC / inter-RAT / 5G extension and refactor
*
* 08 17 2018 james-chi-ju.chang
* [MOLY00306148] [NAS] pangu giant CR
* interface
*
* 08 06 2018 po-hung.lin
* [MOLY00343770] [Gen95 patch back] CE ·s¼W¸Á?©MWIFI?¦XSAR¡A®g?¡B¤Ñ?´£¥X»Ý¨D§Æ±æWIFI®ÚÕu?¬q?¦æ¦^°h
*
* - UMOLYE
*
* 06 21 2018 po-hung.lin
* [MOLY00332431] [Gen93][MP3][RD IT][VSIM 3.0] Modem EE after rsim enables (errc_conn_main) - RAC interface
*
* .
*
* 05 22 2018 morning.lee
* [MOLY00325228] [UMOLYE] Remove NVRAM group header file
*
* .
*
* 03 28 2018 kelly.lo
* [MOLY00316571] [95 feature] non-3gpp NW policies
*
* interface
*
* 03 20 2018 chinte.chen
* [MOLY00314768] [CV1][Gen93][SPR][LC] IRAT 4.2 Fail
* .
*
* 03 02 2018 po-hung.lin
* [MOLY00310712] [Rose][Cervino][BSP+]Title bar will show signal icon but SIM cards will show no SIM card.
*
* UMOLYE
*
* 12 08 2017 morning.lee
* [MOLY00294894] [ATT][RnS][LTE-BTR-1-8909]#30: FAIL - EMERGENCY PDN connection establishment over WLAN is performed.
*
* .
*
* 12 01 2017 po-hung.lin
* [MOLY00292291] [LR12A.R3.MP] Change IMEISV during RF OFF state
* relay IMEISV to EMM/MM
*
* 07 28 2017 morning.lee
* [MOLY00267428] [copy MOLY00250354]Remote SIM full function LR11 MP5 check-in for L4C, RAC and SIM - EVAL part
*
* .
*
* 07 18 2017 morning.lee
* [MOLY00265023] [Copy MOLY00250685][TCL][MICKEY6T TMO] [IMS/VoLTE] - L_IMS_VoLTE_50944_1
*
* 06 06 2017 sagar.murthy
* [MOLY00254972] [CCI57_64_SM11_N] [DMS10925972] [Freedom] Incorrect RAT icon shown in National and International roaming.
* Interface files: Report LTE Carrier Aggregation info to AP
*
* .
*
* 02 09 2017 morning.lee
* [MOLY00228375] [copy MOLY00220113][6292][Gemini][LG+WG] SBP_CSFB_DUPLEX_CHG_FOR_LG_MODE / SBP_DUPLEX_MODE_CHG_AFTER_CSFB / AT+ETWMODE -EVAL part
*
* .
*
* 12 28 2016 morning.lee
* [MOLY00221333] [6293] R13 DoS enhancement - change detach_ind
*
* .
*
* 12 12 2016 morning.lee
* [MOLY00217959] [copy MOLY00215105][Multiple-PS][Enhancement] Session protection for IMS registration & de-registration
*
* .
*
* 11 22 2016 morning.lee
* [MOLY00214414] [copy MOLY00212265]Envelope Event(Location Status) mechanism improvement for the location info reduction
*
* .
*
* 11 03 2016 danny.kuo
* [MOLY00164081] ¡iCA¡j¦b°t¸m¦³?ªi»E¦Xªº?°ì???ÕuÊI?¡A???¤´µM?¥Ü4G+
* .
*
* 11 03 2016 danny.kuo
* .check-in for MOLY00093206
*
* 10 17 2016 morning.lee
*
* [MOLY00206982] [Volunteer_Patch]remove __SGLTE__, __SGLTE_DSDS__ option
*
* .
*
* 09 29 2016 benjamin.kuo
* [MOLY00197956] [6293][RAC] development
* fix build error.
*
* 09 26 2016 sh.yeh
* [MOLY00205082] EMM_REG merge from UMOLYA-PS-DEV to UMOLYA
* sync MOLY187316 CL2614331, MOLY00141896 CL2648845.
*
* 06 28 2016 benjamin.kuo
* [MOLY00185907] [MT6293] [ENAS] UMOLY merge to UMOLYA
* UMOLY to UMOLYA - fix build error.
*
* 05 26 2016 yc.chen
* [MOLY00176301] [VZW_LC_IOT][PH1_VZW][joint-camp][Radio_Protocol][E911] TC3.1 failuire
*
* .
*
* 03 16 2016 shih-che.chou
* [MOLY00164081] ¡iCA¡j¦b°t¸m¦³?ªi»E¦Xªº?°ì???ÕuÊI?¡A???¤´µM?¥Ü4G+
* .
*
* 12 11 2015 mika.kaikkonen
* [MOLY00145451] [R12][CR1962] Handling of SCM at NAS layer - EVAL - EMM interface MSG IDs
*
* 07 17 2015 shih-che.chou
* [MOLY00129720] [VzW][Merge to UMOLY] Porting RAC part from MOLY to UMOLY
* .
*
* 06 18 2015 panu.peisa
* [MOLY00122487] EMM, ESM & PAM module VzW feature porting from 6290 to 6291
* SWRD part, change have dependency to LTE_SEC parts.
*
* 06 14 2015 teemu.partanen
* [VZ_REQ_LTEDATARETRY_7743] From 6290 to UBIN_DEV_VxW. SW_RD part. Integrated from CL 1372338.
*
* 06 08 2015 teemu.partanen
* [VZ_REQ_LTEDATARETRY_7799] VZ_LTEDATARETRY_REQ_7799 porting to UMOLY_DEV Cbr - Part 1/2
* SWRD located interface updates and Common NWRAM items
*
* 06 02 2015 hong.yu
* [MOLY00117879] [Need Patch] UMOLY build error for TK6291_E1EVB(LWTG2_V2SKU1)
* fix build error
*
* 06 02 2015 hong.yu
* [MOLY00117827] [Need Patch] [Build Error] Build Error for TK6291_UESIM(LWTG)
* don't include LTE domain header
*
* 06 01 2015 hong.yu
* [MOLY00117564] [L4][EVAL] report LTE CA status to AP
* .
*
* 05 29 2015 shih-che.chou
* [MOLY00115617] [6291] Dynamic SIM switch without modem reset
* RAC part
*
* 05 29 2015 shih-che.chou
* [MOLY00117190] PLMN List in CONNECTED Mode
* RAC part
*
* 05 20 2015 carlson.lin
* [MOLY00109756] [MT6291][R11][NAS] SIC: SM IE Configuration check in
* R11 SM/ESM capability default ON (OA Domain, interface)
*
* 04 16 2015 hong.yu
* [MOLY00107864] [MT6291][L4] UBIN phase 2
* UBIN phase 2
*
* 03 16 2015 hong.yu
* [MOLY00098914] [MT6291] move erac_rat_enum to common
* move erac_rat_enum to common
*
* 02 23 2015 bob.chiang
* [MOLY00096607] Sync C2K CR
* .
*
* 12 31 2014 hong.yu
* [MOLY00084132] [UMOLY] sync MOLY, MT6291_DEV, and UMOLY
* fix build error
*
* 12 09 2014 hong.yu
* [MOLY00081154] [ATT_TMO_DEV] AT&T requirement merge back
* sync to UMOLY
*
* 11 10 2014 robert.wu
* [MOLY00083874] [UMOLY][R10][R11] EMM MTC sync code from 6291_DEV to UMOLY trunk
*
* 07 30 2014 danny.kuo
* [MOLY00073983] [Remote][WW FT][Singapore][MT6595][Singtel] UE is going to No Service momentarily during MO CISS or MO CS Call
* .
*
* 07 16 2014 benjamin.kuo
* [MOLY00072431] [TMO-US][Pre-LAB][VoLTE][1stCall] Incorrect SRVCC supported codecs capability
* remove supported_codec on MOLY
*
* 07 07 2014 benjamin.kuo
* [MOLY00071459] Add Mobility Management for IMS Voice Termination
* MMIVT2MOLY
*
* 06 19 2014 roy.lin
* [MOLY00069512] �iCMCC Official �Ĥ@?�J? �j�iZTE Q507T�j�i���n�j�i?1-Critical�j�i�D�Ψҡj??��L-�D�Ψ�-��?��?"APN"?�A�I?�ݱ`
* Update interface for PS detach without disable EUTRAN.
*
* 05 16 2014 lt.chang
* [MOLY00065658] [sglte dsds]ps detach and attach redesign
* .check in actvie sim info req interface
*
* 03 05 2014 benjamin.kuo
* [MOLY00050602] [SAT] support Network Rejection Event
* .
*
* 02 24 2014 raymond.chen
* [MOLY00056490] [MT6290E2][SGLTE][82LTEv2][L+G] Assert fail: modem/lte_sec/enas/emm/ratchg/src/emm_ratchg_rcvmsg_evalif.cpp 489 - EMM
* Change kal_bool amnual_resel to attach_cause_enum attach_cause for emmreg_attach_req_struct.
*
* 02 17 2014 benjamin.kuo
* [MOLY00055341] [MP1 Post MP Patch][MT6290E2][LTE attach PDN] UE doesn't perform LTE attach due to TCM cmd conflict
* MOLY
*
* 01 21 2014 wcpuser_integrator
* [MOLY00054475] SGLTE option rename
* .
*
* 01 14 2014 raymond.chen
* [MOLY00053581] [MT6290E2][MMDS_DC][82LTEv2] [L+G] manual selection back to 4G fail because of CGATT and COPS conflict
* Add manual_resel in emmreg_attach_req_struct for manual selection re-design in SGLTE project.
*
* 01 13 2014 benjamin.kuo
* [MOLY00053421] Merge VoLTE Phase 2 back to MOLY trunk
* VoLTE to MOLY
*
* 10 18 2013 raymond.chen
* [MOLY00041595] [MT6290E1][MMDS_DC] MMDC feature patch back to MOLY trunk
* Add mmdc_ps_attach in emmreg_attach_req_struct for PS Switch.
*
* 09 17 2013 benjamin.kuo
* [MOLY00038205] [MT6290] [LTE] Rel-11 CR pre-implementation merge back
* add interface.
*
* 07 29 2013 benjamin.kuo
* [MOLY00031595] add is_on_hplmn in emmreg_attach_cnf/emmreg_detach_ind/emmreg_cell_info_update_ind
* .
*
* 07 26 2013 hc.chu
* [MOLY00031445] Add CXREG AT-cmd
* CREG, CEREG AT cmd enhancement
*
* 07 24 2013 josh.cheng
* [MOLY00031020] [MMDS_DC] Merge MMDC interface to MOLY
* Merge MMDC interface to MOLY
*
* 04 01 2013 benjamin.kuo
* [MOLY00011934] LTE MM IT CBr merge to MOLY
* add __MMDC__ for message/structure.
*
* 03 28 2013 benjamin.kuo
* [MOLY00011934] LTE MM IT CBr merge to MOLY
* Add active rat/proc. status in SetRatModeReq/Cnf for IRCC0 Stage2 Failure.
*
* 03 27 2013 benjamin.kuo
* [MOLY00011934] LTE MM IT CBr merge to MOLY
* .
*
* 01 22 2013 benjamin.kuo
* [MOLY00009163] LTE Multimode merge back to MOLY
*
* 01 22 2013 benjamin.kuo
* [MOLY00009163] LTE Multimode merge back to MOLY
*
* 01 22 2013 benjamin.kuo
* [MOLY00009163] LTE Multimode merge back to MOLY
* MOLY_CBr to MOLY.
*
* 11 22 2012 yu.huang
* [MOLY00006513] EMM Enhancement
* Add new msgid
****************************************************************************/
#ifndef _RAC_EVAL_STRUCT_INC
#define _RAC_EVAL_STRUCT_INC
#include "ps_public_enum.h"
#include "l3_inc_local.h"
#include "nvram_data_items.h"
//#ifdef __VOLTE_SUPPORT__
#include "ims_common_def.h"
//#endif /* __VOLTE_SUPPORT__ */
#include "nvram_editor_data_item.h" // __REL10__: t3346
#include "global_type.h"
#include "l3_inc_enums.h"
#include "gmss_public.h"
#include "sim_public_enum.h"
#include "erac_nvram_def.h"
#include "erac_nvram_editor.h"
#include "emm_nvram_def.h"
#include "emm_nvram_editor.h"
/***** message structure definition *****/
typedef struct
{
LOCAL_PARA_HDR
kal_uint8 imei[SIZE_IMEI];
kal_uint8 imei_svn;
kal_uint8 nvram_epsloci[SIZE_EPSLOCI];
kal_uint8 nvram_epsnsc[SIZE_EPSNSC];
kal_uint8 drx_data[SIZE_DRX_DATA];
tin_enum tin;
kal_uint8 feature_config[NVRAM_LTE_FEATURE_CONFIG_SIZE];
nvram_ef_t3346_timer_info_struct t3346_info; // __REL10__: t3346
nvram_ef_t3402_timer_info_struct t3402_info;
kal_uint8 max_CService;
init_cause_enum init_cause;
nvram_ef_failure_list_struct failure_list;
kal_uint8 imsi[SIZE_IMSI];
nvram_ef_emm_smart_idle_info_struct emm_smart_idle_info;
} emmreg_init_req_struct;
typedef struct
{
LOCAL_PARA_HDR
data_speed_support_enum cell_data_speed_support;
cell_info_and_rat_struct cell_info;
endc_sib_status_enum endc_sib_status;
} emmreg_cell_info_update_ind_struct;
typedef struct
{
LOCAL_PARA_HDR
kal_uint8 full_nw_nameP;
kal_uint8 full_nw_name_len;
kal_uint8 full_nw_name[MAX_NW_NAME_LENGTH];
kal_uint8 short_nw_nameP;
kal_uint8 short_nw_name_len;
kal_uint8 short_nw_name[MAX_NW_NAME_LENGTH];
kal_uint8 nw_time_zoneP;
kal_uint8 nw_time_zone;
kal_uint8 nw_time_zone_timeP;
nw_time_zone_time_struct nw_time_zone_time;
kal_uint8 nw_day_light_saving_timeP;
kal_uint8 nw_day_light_saving_time;
plmn_id_struct plmn_id;
} emmreg_nw_info_ind_struct;
typedef struct
{
LOCAL_PARA_HDR
kal_bool is_ecc_changed; /**< tell L4 if ecc changed */
kal_uint8 no_ecc;
ecc_number_struct ecc_list[MAX_NW_ECC_NUM];
/* extended emergency number list (9.9.3.37A in TS 24.301) */
kal_bool is_eenl_changed; /**< tell L4 if eenl changed */
plmn_id_struct eenl_plmn;
} emmreg_nw_ecc_ind_struct;
typedef struct
{
LOCAL_PARA_HDR
kal_bool non_3gpp_emergency_number_indicator;
} emmreg_non_3gpp_nw_policies_ind_struct;
typedef struct
{
LOCAL_PARA_HDR
kal_bool is_valid_requested_gsm_band;
kal_uint8 requested_gsm_band;
kal_bool is_valid_requested_umts_fdd_band;
kal_uint8 requested_umts_fdd_band[SIZE_UMTS_FDD_BAND];
kal_bool is_valid_requested_umts_tdd_band;
kal_uint8 requested_umts_tdd_band[SIZE_UMTS_TDD_BAND];
kal_bool is_valid_requested_lte_band;
kal_uint8 requested_lte_band[SIZE_LTE_BAND];
} emmreg_set_preferred_band_req_struct;
//#ifdef __VOLTE_SUPPORT__
typedef struct
{
LOCAL_PARA_HDR
kal_bool force_emc_attach;
} emmreg_emc_attach_ind_struct;
/* relay EMMREG_EMC_ATTACH_IND to EMMREG_EMC_ATTACH_REQ (from ESM to EMM) */
typedef emmreg_emc_attach_ind_struct emmreg_emc_attach_req_struct;
typedef struct
{
LOCAL_PARA_HDR
kal_uint8 att_id;
cell_info_and_rat_struct cell_info;
} emmreg_emc_attach_cnf_struct;
typedef struct
{
LOCAL_PARA_HDR
kal_uint8 att_id;
emm_cause_enum emm_cause;
emm_cause_source_enum emm_cause_source;
esm_cause_enum esm_cause;
cell_info_and_rat_struct cell_info;
#if 0
/* under construction !*/
/* under construction !*/
#endif
dos_enhance_info_struct dos_enhance_info;
} emmreg_emc_detach_ind_struct;
typedef struct
{
LOCAL_PARA_HDR
kal_bool is_ims_voice_available;
} emmreg_set_ims_voice_availability_req_struct;
typedef struct
{
LOCAL_PARA_HDR
mm_ims_voice_termination mm_ivt;
} emmreg_set_ims_voice_termination_req_struct;
//#endif /* __VOLTE_SUPPORT__ */
typedef struct
{
LOCAL_PARA_HDR
emm_nw_feature_support_struct eps_nw_feature;
} emmreg_nw_feature_ind_struct;
#if 0 /* mark empty primitive message structure */
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
#endif /* mark empty primitive message structure */
typedef struct
{
LOCAL_PARA_HDR
ps_cause_enum cause;
} emmreg_eps_attach_needed_rej_rsp_struct;
typedef struct
{
LOCAL_PARA_HDR
sat_nw_rej_info_enum op;
cell_info_and_rat_struct current_cell;
sat_nw_rej_type_enum type;
kal_uint8 rej_cause;
} emmreg_nw_reject_ind_struct;
#if defined(__CDMA2000_RAT__)
typedef struct
{
LOCAL_PARA_HDR
act_sim_enum act_sim;
} emmreg_active_sim_info_req_struct;
#endif /* __CDMA2000_RAT__ */
typedef struct
{
LOCAL_PARA_HDR
umts_duplex_mode_type source_umts_duplex_mode;
umts_duplex_mode_type target_umts_duplex_mode;
lte_duplex_mode_type source_lte_duplex_mode;
lte_duplex_mode_type target_lte_duplex_mode;
} emmreg_duplex_mode_change_req_struct;
typedef struct
{
LOCAL_PARA_HDR
kal_bool result;
} emmreg_duplex_mode_change_cnf_struct;
typedef struct
{
LOCAL_PARA_HDR
kal_bool is_pgcheck_on;
} emmreg_set_pgcheck_req_struct;
//#ifdef __LTE_R11__
typedef struct
{
LOCAL_PARA_HDR
ca_info_enum ca_info;
kal_uint8 scell_bmp_dl;
kal_uint8 scell_bmp_ul;
kal_uint8 pcell_bw;
kal_uint8 scell_bw[4];
kal_uint16 pcell_band;
kal_uint16 scell_band[4];
EARFCN pcell_earfcn;
kal_uint16 scell_dl_band[4];
EARFCN scell_dl_earfcn[4];
} eval_rac_ca_info_ind_struct;
//typedef eval_errc_ca_info_ind_struct eval_rac_ca_info_ind_struct;
//#endif
typedef struct
{
LOCAL_PARA_HDR
kal_bool is_voice_over_ims_ongoing;
kal_bool is_ims_reg_ongoing;
kal_bool is_voice_over_ims_ongoing_valid;
kal_bool is_ims_reg_ongoing_valid;
} emmreg_ims_call_reg_info_req_struct;
typedef struct
{
LOCAL_PARA_HDR
ims_reg_state_enum reg_state;
ims_reg_type_enum reg_type;
ims_access_rat_enum rat; // only valid when IMS_REG_STATE_REGISTERED
} emmreg_ims_reg_status_update_req_struct;
typedef struct
{
LOCAL_PARA_HDR
kal_uint8 src_id;
ims_scm_info_type_enum ims_scm_type;
ims_scm_info_action_enum ims_scm_action;
} emmreg_ims_scm_info_req_struct;
#ifdef __GEMINI__ //__REMOTE_SIM__
typedef struct
{
LOCAL_PARA_HDR
rsim_auth_finish_result_enum result;
} emmreg_rsim_auth_finish_ind_struct;
#endif
typedef struct
{
LOCAL_PARA_HDR
kal_uint8 src_id;
} emmreg_ims_scm_info_cnf_struct;
typedef struct
{
LOCAL_PARA_HDR
kal_uint8 svn;
}emmreg_set_ms_sv_req_struct;
#ifdef __GEMINI__ //__REMOTE_SIM__
typedef struct {
LOCAL_PARA_HDR
kal_bool is_rsim_enabled;
kal_bool is_aka_sim_enabled;
} emmreg_rsim_aka_status_req_struct;
typedef struct {
LOCAL_PARA_HDR
rsim_auth_abort_result_enum result;
} emmreg_rsim_auth_abort_cnf_struct;
#endif
#ifdef __NG_ECALL_SUPPORT__
typedef struct
{
LOCAL_PARA_HDR
kal_uint8 purpose; //0 for IMS eCALL, 1 for CS eCALL
kal_uint8 mode; //0 reset timer, 1 for set timer
kal_uint32 timer1;
kal_bool is_timer1_valid;
kal_uint32 timer2;
kal_bool is_timer2_valid;
}emm_set_timer_req_struct;
#endif
typedef struct
{
LOCAL_PARA_HDR
nvram_ef_emm_reject_cause_mapping_struct mapping_ef;
}emmreg_reject_cause_mapping_req_struct;
typedef struct
{
LOCAL_PARA_HDR
emm_cause_source_enum event;
emm_cause_enum original_emm_cause;
emm_cause_enum converted_emm_cause;
kal_bool is_ps_sim_valid;
kal_bool is_cs_sim_valid;
}emmreg_cause_info_ind_struct;
#endif /* ----- #ifndef _RAC_EVAL_STRUCT_INC ----- */