[Feature][Modem]Add Modem Patch P1

Change-Id: Idee4f9fd6700b484f7db86704cf5639cec4d71a2
diff --git a/mcu/interface/protocol/general/ps_public_struct.h b/mcu/interface/protocol/general/ps_public_struct.h
old mode 100644
new mode 100755
index 3442060..6427d24
--- a/mcu/interface/protocol/general/ps_public_struct.h
+++ b/mcu/interface/protocol/general/ps_public_struct.h
@@ -23,7 +23,7 @@
 *  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. 
+*  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
@@ -45,7 +45,7 @@
  *
  * Description:
  * ------------
- *   This file contains the ABM network internal APIs 
+ *   This file contains the ABM network internal APIs
  *   and these APIs can only be used by MMI CBM and DA
  *
  * Author:
@@ -148,18 +148,18 @@
 
 typedef struct
 {
-    kal_bool    is_sst_present; 
-    kal_uint8   sst; 
+    kal_bool    is_sst_present;
+    kal_uint8   sst;
 
-    kal_bool    is_sd_present; 
-    kal_uint8   sd[TCM_S_NSSAI_SD_LEN]; 
+    kal_bool    is_sd_present;
+    kal_uint8   sd[TCM_S_NSSAI_SD_LEN];
 
     kal_bool    is_mapped_configured_sst_present;
-    kal_uint8   mapped_configured_sst; 
+    kal_uint8   mapped_configured_sst;
 
-    kal_bool    is_mapped_configured_sd_present; 
-    kal_uint8   mapped_configured_sd[TCM_S_NSSAI_SD_LEN]; 
-} l4c_tcm_s_nssai_struct; 
+    kal_bool    is_mapped_configured_sd_present;
+    kal_uint8   mapped_configured_sd[TCM_S_NSSAI_SD_LEN];
+} l4c_tcm_s_nssai_struct;
 
 typedef struct
 {
@@ -180,20 +180,20 @@
     l4c_tcm_securepco_enum  secure_pco;
     l4c_tcm_activate_pdp_request_ipv4_mtu_enum act_pdp_with_pco_req_v4_mtu;
     l4c_tcm_local_addr_ind_enum local_addr_ind;
-    l4c_tcm_non_ip_mtu_discovery_enum   non_ip_mtu_discovery; 
-    l4c_tcm_reliable_data_service_enum  reliable_data_service; 
+    l4c_tcm_non_ip_mtu_discovery_enum   non_ip_mtu_discovery;
+    l4c_tcm_reliable_data_service_enum  reliable_data_service;
     l4c_tcm_ssc_mode_enum               ssc_mode;
     kal_bool                            s_nssai_present;
-    l4c_tcm_s_nssai_struct              s_nssai; 
-    l4c_tcm_access_type_enum            access_type; 
+    l4c_tcm_s_nssai_struct              s_nssai;
+    l4c_tcm_access_type_enum            access_type;
     l4c_tcm_rqos_ind_enum               rqos_ind;
     l4c_tcm_mh6_pdu_enum                mh6_pdu;
-    l4c_tcm_always_on_pdu_enum          always_on_pdu; 
+    l4c_tcm_always_on_pdu_enum          always_on_pdu;
     kal_uint8                           psi;
     l4c_tcm_ladn_dnn_enum               ladn_dnn;
 
     /* Used for SSC Mode 3 PDU session re-restablishment in 5G. */
-    kal_bool  old_psi_present; 
+    kal_bool  old_psi_present;
     kal_uint8 old_psi;
 
     kal_bool  vgpdp_type_present;
@@ -206,7 +206,7 @@
 typedef struct
 {
     kal_uint8               context_id;
-    pdp_addr_type_enum      roaming_ip_type; 
+    pdp_addr_type_enum      roaming_ip_type;
     kal_uint8               psi;
 } l4c_extended_pdp_info_struct;
 
@@ -255,7 +255,7 @@
 {
    kal_uint8 context_id;
    kal_uint8 tot_pf_count;
-   l4c_pf_struct pf[8]; //mtk02126 8 is the max number of packet filters in 27.007 v 7.05 
+   l4c_pf_struct pf[8]; //mtk02126 8 is the max number of packet filters in 27.007 v 7.05
 } l4c_tft_struct;
 #else
 
@@ -284,7 +284,7 @@
 {
    kal_uint8 context_id;
    kal_uint8 tot_pf_count;
-   l4c_pf_struct_only_for_mmi pf[8]; //mtk02126 8 is the max number of packet filters in 27.007 v 7.05 
+   l4c_pf_struct_only_for_mmi pf[8]; //mtk02126 8 is the max number of packet filters in 27.007 v 7.05
 } l4c_tft_struct_only_for_mmi;
 #endif
 
@@ -324,7 +324,7 @@
     kal_uint8 ext2_max_bitrate_down_lnk;
     kal_uint8 ext2_guarntd_bit_rate_down_lnk;
     kal_uint8 ext2_max_bitrate_up_lnk;
-    kal_uint8 ext2_guarntd_bit_rate_up_lnk;   
+    kal_uint8 ext2_guarntd_bit_rate_up_lnk;
 } l4c_eqos_struct;
 
 //mtk04121
@@ -346,7 +346,7 @@
     kal_uint8   ext_guarntd_bit_rate_down_lnk;
     kal_uint8   ext2_guarntd_bit_rate_up_lnk;
     kal_uint8   ext2_guarntd_bit_rate_down_lnk;
-    
+
     kal_bool    is_use_ext_qos_for_dl_gbr;
     kal_bool    is_use_ext_qos_for_ul_gbr;
     kal_bool    is_use_ext_qos_for_dl_mbr;
@@ -354,7 +354,7 @@
     kal_uint64  ext_eps_qos_dl_gbr;
     kal_uint64  ext_eps_qos_ul_gbr;
     kal_uint64  ext_eps_qos_dl_mbr;
-    kal_uint64  ext_eps_qos_ul_mbr;    
+    kal_uint64  ext_eps_qos_ul_mbr;
 } l4c_eps_qos_struct;
 
 //mtk04121
@@ -384,7 +384,7 @@
     kal_uint64  ext_eps_qos_dl_gbr;
     kal_uint64  ext_eps_qos_ul_gbr;
     kal_uint64  ext_eps_qos_dl_mbr;
-    kal_uint64  ext_eps_qos_ul_mbr;     
+    kal_uint64  ext_eps_qos_ul_mbr;
 } tcm_eps_qos_struct;
 
 typedef struct
@@ -402,11 +402,11 @@
     kal_uint64 ul_mfbr;
     kal_bool   avg_window_present; /* used for neg_qos. */
     kal_uint32 avg_window;         /* used for neg_qos. */
-} tcm_vgqos_struct; 
+} tcm_vgqos_struct;
 
 typedef struct
 {
-    kal_uint8        context_id; 
+    kal_uint8        context_id;
     tcm_vgqos_struct vgqos;
 } l4c_vgqos_struct;
 
@@ -419,7 +419,7 @@
     kal_uint8 sec_dns[MAX_GPRS_IP_ADDR];
     kal_uint8 apn[MAX_GPRS_APN_LEN];
     kal_uint8 apn_length;
-   
+
     //nvram_editor_qos_struct req_qos;
     kal_uint8 dcomp_algo; // Fixed value: SND_NO_DCOMP
     kal_uint8 hcomp_algo; // Fixed value: SND_NO_PCOMP
@@ -573,7 +573,7 @@
 typedef struct
 {
 	kal_uint32						valueLen;		// Extension Number
-	L4C_LCS_applib2_UnKnowExtensionItem		*value;		// Point to the first 
+	L4C_LCS_applib2_UnKnowExtensionItem		*value;		// Point to the first
 }L4C_LCS_applib2_UnKnowExtensionItemArray;
 
 /* SEQUENCE PrivateExtension */
@@ -584,12 +584,12 @@
 L4C_SS_PrivateExtension;
 
 /* SEQUENCE OF PrivateExtensionList */
-typedef struct L4C_SS_PrivateExtensionList	
-{	
-   kal_uint8 numElements;	
-	
-   L4C_SS_PrivateExtension element[10];	
-}	
+typedef struct L4C_SS_PrivateExtensionList
+{
+   kal_uint8 numElements;
+
+   L4C_SS_PrivateExtension element[10];
+}
 L4C_SS_PrivateExtensionList;
 
 /* SEQUENCE ExtensionContainer */
@@ -735,12 +735,12 @@
 L4C_SS_Area;
 
 /* SEQUENCE OF AreaList */
-typedef struct L4C_SS_AreaList	
-{	
+typedef struct L4C_SS_AreaList
+{
    kal_uint8 numElements;
-	
-   L4C_SS_Area element[10];	
-}	
+
+   L4C_SS_Area element[10];
+}
 L4C_SS_AreaList;
 
 /* SEQUENCE AreaDefinition */
@@ -953,19 +953,19 @@
 
 //eq begin
 typedef struct {
-		
+
     kal_uint32 PWM1_freq_Level_Info[5];
-	kal_uint32 PWM1_duty_Level_Info[5]; 
-	kal_uint32 PWM2_freq_Level_Info[5]; 
+	kal_uint32 PWM1_duty_Level_Info[5];
+	kal_uint32 PWM2_freq_Level_Info[5];
 	kal_uint32 PWM2_duty_Level_Info[5];
-	kal_uint32 PWM3_freq_Level_Info[5]; 
-	kal_uint32 PWM3_duty_Level_Info[5]; 
+	kal_uint32 PWM3_freq_Level_Info[5];
+	kal_uint32 PWM3_duty_Level_Info[5];
 
 	kal_uint8   MainLCD_Contrast_Level_Info[15];
 	kal_uint8   MainLCD_Bias_Level_Info[5];
 	kal_uint8   MainLCD_Linerate_Level_Info[5];
 	kal_uint8   MainLCD_Temp_Level_Info[5];
-   
+
 	kal_uint8   SubLCD_Contrast_Level_Info[15];
 	kal_uint8   SubLCD_Bias_Level_Info[5];
 	kal_uint8   SubLCD_Linerate_Level_Info[5];
@@ -974,8 +974,8 @@
 	kal_uint32   Battery_Level_Info[10];
 
 #ifdef __MULTI_LEVEL_BACKLIGHT_SUPPORT__
-        kal_uint32 bl_PWM_freq_Level_Info[PWM_MAX_BACKLIGHT_LEVEL]; 
-	kal_uint32 bl_PWM_duty_Level_Info[PWM_MAX_BACKLIGHT_LEVEL]; 
+        kal_uint32 bl_PWM_freq_Level_Info[PWM_MAX_BACKLIGHT_LEVEL];
+	kal_uint32 bl_PWM_duty_Level_Info[PWM_MAX_BACKLIGHT_LEVEL];
 #endif
 }
 l4c_hw_profile_struct;
@@ -1066,16 +1066,16 @@
     vt_em_video_codec_preference_choice video_codec_preference_choice;
     vt_em_auto_drop_if_channel_fail_choice auto_drop_if_channel_fail_choice;
     vt_em_terminal_type_choice  terminal_type_choice;
-    kal_int32 timer_T101; //default =  -1  (if its value equals -1, no change should be made) 
-    kal_int32 timer_T109; //default =  -1  (if its value equals -1, no change should be made) 
-    kal_int32 timer_T401; //default =  -1  (if its value equals -1, no change should be made) 
-    kal_int32   user_specified_1; //default =  -1  (if its value equals -1, no change should be made) 
-    kal_int32   user_specified_2; //default =  -1  (if its value equals -1, no change should be made) 
+    kal_int32 timer_T101; //default =  -1  (if its value equals -1, no change should be made)
+    kal_int32 timer_T109; //default =  -1  (if its value equals -1, no change should be made)
+    kal_int32 timer_T401; //default =  -1  (if its value equals -1, no change should be made)
+    kal_int32   user_specified_1; //default =  -1  (if its value equals -1, no change should be made)
+    kal_int32   user_specified_2; //default =  -1  (if its value equals -1, no change should be made)
     kal_uint8   user_specified_3[64]; //get input length by strlen() (end by EOF)
 }vt_em_config_struct;
 
 typedef struct
-{			
+{
 	kal_uint8	mcc[3];	//MCC
 	kal_uint8	mnc[3];	//MNC
 	kal_uint8	lac[2];	//LAC
@@ -1670,7 +1670,7 @@
 typedef struct
 {
     LOCAL_PARA_HDR
-    
+
     kal_uint8 src_id;
     kal_uint16 arfcn;         /* input */
     kal_int16  afc;           /* input */
@@ -1687,7 +1687,7 @@
 typedef struct
 {
     LOCAL_PARA_HDR
-    
+
     kal_uint8 src_id;
     kal_int16 arfcn;      /* input */
     kal_int16 gain;       /* input */
@@ -1728,13 +1728,13 @@
 {
     LOCAL_PARA_HDR
     kal_uint8 src_id;              /* input */ /* output */
-    kal_uint8 band;                /* input */   
+    kal_uint8 band;                /* input */
     kal_int16 arfcn_in;            /* input */
     kal_int16 arfcn_out[20];       /* output */
-    kal_int16 power[20];           /* output */    
+    kal_int16 power[20];           /* output */
     kal_int16 error_cause;         /* output */
-}rf_test_gsm_power_scan_struct, 
-l4cl1_em_rf_test_gsm_power_scan_req_struct, 
+}rf_test_gsm_power_scan_struct,
+l4cl1_em_rf_test_gsm_power_scan_req_struct,
 l4cl1_em_rf_test_gsm_power_scan_cnf_struct;
 
 #if defined(__2G_RX_DIVERSITY_PATH_SUPPORT__)
@@ -1751,11 +1751,11 @@
 typedef struct
 {
     rf_test_gsm_tx_test_struct gsm_tx_test;
-    rf_test_gsm_rx_test_struct gsm_rx_test;   
-    rf_test_gsm_power_scan_struct gsm_power_scan;    
-#if defined(__2G_RX_DIVERSITY_PATH_SUPPORT__)	
+    rf_test_gsm_rx_test_struct gsm_rx_test;
+    rf_test_gsm_power_scan_struct gsm_power_scan;
+#if defined(__2G_RX_DIVERSITY_PATH_SUPPORT__)
     rf_test_gsm_rx_test_two_path_struct  gsm_rx_test_2_path;
-#endif	
+#endif
 }rf_test_gsm_param_struct;
 
 
@@ -1768,7 +1768,7 @@
     kal_uint8 rat;
     kal_uint8 repeat_times;
     kal_uint8 dl_bw;
-    kal_uint8 ul_bw; 
+    kal_uint8 ul_bw;
     kal_uint8 vrb_start;
     kal_uint8 vrb_len;
     kal_uint8 ant_state;
@@ -1776,14 +1776,14 @@
     kal_int16 rxm_gain;
     kal_int16 rxd_gain;
     kal_uint16 band;
-    EARFCN    arfcn; 
+    EARFCN    arfcn;
 }em_rf_scan_req_struct;
 
 typedef struct
 {
     kal_uint8 mono_enable;    /* input */
 }fm_radio_mono_struct;
-  
+
 typedef struct
 {
     kal_uint8 stereo_enable;  /* input */
@@ -1792,19 +1792,19 @@
 
 typedef struct
 {
-    kal_uint8 level;                  /* input */   
+    kal_uint8 level;                  /* input */
 }fm_radio_rssi_struct;
 
 typedef struct
 {
-    kal_uint8 item_value;          /* input */   
+    kal_uint8 item_value;          /* input */
 }fm_radio_if_count_delta_struct;
 
 typedef struct
 {
     fm_radio_mono_struct fm_radio_mono;
-    fm_radio_stereo_struct fm_radio_stereo;   
-    fm_radio_rssi_struct fm_radio_rssi;    
+    fm_radio_stereo_struct fm_radio_stereo;
+    fm_radio_rssi_struct fm_radio_rssi;
     fm_radio_if_count_delta_struct fm_radio_if;
 }fm_radio_config_param_struct;
 
@@ -1819,7 +1819,7 @@
 {
     kal_uint8 contry_code[2];   /* input */
     kal_uint32 ch_freq;               /* input */
-    kal_uint8 tx_rate;  /* input */    
+    kal_uint8 tx_rate;  /* input */
     kal_uint8 tx_ant;                /* input */
     kal_uint8 gain;                   /* input */
     wndrv_test_bandwidth_enum txBw;
@@ -1860,7 +1860,7 @@
     kal_uint32 rssi_variance;            /* int_rssi_variance */
     kal_uint32 int_long_preamble;    /* int_long_preamble_num */
     kal_uint32 int_short_preamble;   /* int_short_preamble_num */
-    wndrv_test_bandwidth_enum   rxBw;                         /* input */ 
+    wndrv_test_bandwidth_enum   rxBw;                         /* input */
 }rf_test_wifi_rx_cont_pkt_struct;
 
 typedef struct
@@ -1959,13 +1959,13 @@
 
 //eq end
 
-typedef struct 
+typedef struct
 {
     kal_uint8 addr_length;
     kal_uint8 addr_bcd[11];
 }l4c_sms_addr_struct;
 
-typedef struct 
+typedef struct
 {
 	l4c_sms_addr_struct          sca;
 	kal_uint8	tpdu[176];
@@ -1973,7 +1973,7 @@
 	kal_uint8 tpdu_len;
 }l4c_usm_cmgw_struct;
 
-typedef struct 
+typedef struct
 {
 	kal_uint8 mode;
 	kal_uint8	mt;
@@ -1982,7 +1982,7 @@
 	kal_uint8 bfr;
 }l4c_usm_cnmi_struct;
 
-typedef struct 
+typedef struct
 {
 	kal_uint16	reply_index;
 	kal_uint16	data_len;
@@ -2122,11 +2122,11 @@
     kal_uint8                   data_coding_scheme;
 } smsal_4g5g_cb_data_ind_struct;
 
-typedef struct 
+typedef struct
 {
     LOCAL_PARA_HDR
-    kal_uint16 message_id;          
-    kal_uint16 serial_number;        
+    kal_uint16 message_id;
+    kal_uint16 serial_number;
 } smsal_4g5g_cb_msg_removal_req_struct;
 
 typedef struct
@@ -2148,7 +2148,7 @@
 typedef struct {
    kal_uint8 storage;
    kal_uint8 type;
-   kal_uint8 num_index; 
+   kal_uint8 num_index;
    kal_uint8 aas_id;
    kal_uint16 index;
    kal_uint16 record_index;
@@ -2156,7 +2156,7 @@
    l4_name_struct alpha_id;
 } l4c_phb_entry_struct;
 
-typedef struct { 
+typedef struct {
     kal_uint16 record_size;   /* size of record in storage */
     kal_uint16 record_num;    /* rec number */
     kal_uint8  alpha_length;  /* alpha length */
@@ -2273,7 +2273,7 @@
     kal_uint8 esc; // emergency service category //
     kal_uint8 name_length;
     kal_uint8 name_dcs;
-    kal_uint8 name[MAX_SIM_NAME_LEN]; 
+    kal_uint8 name[MAX_SIM_NAME_LEN];
 } sim_ecc_entry_struct;
 
 typedef struct
@@ -2376,7 +2376,7 @@
     kal_uint8 ipv6[IPV6_ADDR_LEN];
 } ip_addr_struct;
 
-typedef struct 
+typedef struct
 {
     EARFCN                      earfcn;
     kal_uint8                   bandwidth;
@@ -2392,7 +2392,7 @@
     kal_uint8 dnsv6[IPV6_ADDR_LEN] ;
 } ipv6_dns_struct ;
 
-#define NUM_OF_DNS_ADDR 2 
+#define NUM_OF_DNS_ADDR 2
 typedef struct {
     ipv4_dns_struct v4[NUM_OF_DNS_ADDR];
     ipv6_dns_struct v6[NUM_OF_DNS_ADDR];
@@ -2456,7 +2456,7 @@
     sap_type        sap_id;
     kal_uint8       reconfig_type;
     kal_uint8       gemini_check;
-    SBP_RECONFIG_CUSTOM_FUNC             custom_func_ptr;     /* IMS customized  */            
+    SBP_RECONFIG_CUSTOM_FUNC             custom_func_ptr;     /* IMS customized  */
 }reconfigure_module_info_struct;
 
 typedef struct {
@@ -2469,7 +2469,7 @@
     sap_type        sap_id;
     kal_uint32       reconfig_type;
     kal_uint8       gemini_check;
-    SBP_RECONFIG_CUSTOM_FUNC             custom_func_ptr;     /* IMS customized  */            
+    SBP_RECONFIG_CUSTOM_FUNC             custom_func_ptr;     /* IMS customized  */
 }sbp_reconfigure_module_info_struct;
 
 typedef struct {
@@ -2522,13 +2522,13 @@
 
 typedef struct
 {
-    kal_uint8 result; 
-    kal_uint8 plmn_id[7];	
+    kal_uint8 result;
+    kal_uint8 plmn_id[7];
 	kal_uint8 lac[2];
 	kal_uint16 cell_id;
 	kal_uint16 arfcn;
 	kal_uint8 bsic;
-	kal_uint8 si3_raw_data[23];	
+	kal_uint8 si3_raw_data[23];
 }l4c_pseudo_bs_info_struct;
 
 
@@ -2614,13 +2614,13 @@
 typedef struct {
 	LOCAL_PARA_HDR
     kal_uint8  src_id;
-	kal_bool   result;		
+	kal_bool   result;
 }l4cnl1_set_max_tx_pwr_offset_cnf_struct;
 
 typedef struct {
 	kal_uint8  band;
 	kal_uint8  tx_path; /*0/1*/
-	kal_int32   pwr_value;		
+	kal_int32   pwr_value;
 }nl1_tx_pwr_struct;
 
 typedef struct {
@@ -2664,10 +2664,10 @@
     pam_procedure_enum  reject_proc;
 } pam_non_standard_backoff_timer_struct;
 
-typedef struct 
+typedef struct
 {
     LOCAL_PARA_HDR
-    at_cabtsri_ind_struct                  cabtsri_ind;  // for standard AT cmd: +CABTSRI    
+    at_cabtsri_ind_struct                  cabtsri_ind;  // for standard AT cmd: +CABTSRI
 	pam_non_standard_backoff_timer_struct  info;  // for other related back-off timer info
 } pam_backoff_timer_report_ind_struct; //this struct should be removed after L4/TCM remove MSG_ID_PAM_BACKOFF_TIMER_REPORT_IND
 
@@ -2675,13 +2675,13 @@
 typedef struct {
     kal_bool  is_sst_present;
     kal_uint8 sst;
-    
+
     kal_bool  is_sd_present;
     kal_uint8 sd[S_NSSAI_SD_LEN];
-    
+
     kal_bool  is_mapped_configured_sst_present;
     kal_uint8 mapped_configured_sst;
-    
+
     kal_bool  is_mapped_configured_sd_present;
     kal_uint8 mapped_configured_sd[S_NSSAI_SD_LEN];
 } pdus_s_nssai_struct;
@@ -2694,7 +2694,7 @@
     kal_bool   mfbr_dl_present;
     kal_bool   avg_window_present;
     kal_bool   ebi_present;
-    
+
     kal_uint8  qos_5qi;
     kal_uint64 gfbr_ul;
     kal_uint64 gfbr_dl;
@@ -2708,7 +2708,7 @@
     kal_uint8 qfi_with_default_rule;
     kal_uint32 num_of_active_flow;
     vgsm_flow_state_enum state[VGSM_MAX_QFI_NUM];
-    qos_params_struct flow_params[VGSM_MAX_QFI_NUM]; 
+    qos_params_struct flow_params[VGSM_MAX_QFI_NUM];
 
 } pdus_qos_flow_struct;
 
@@ -2725,13 +2725,13 @@
 typedef struct {
     kal_uint8 qfi;
     vgsm_flow_action_enum qfi_action;
-        
+
 } qos_flow_action_struct;
 
 typedef struct {
     kal_uint8 num_of_flow_action;
     qos_flow_action_struct flow_action[VGSM_MAX_QFI_NUM];
-    
+
 } qos_flow_action_table_struct;
 
 typedef struct {
@@ -2769,7 +2769,7 @@
 	sbp_reconfig_custom_param_struct sbp_parameters;
 } l4c_atci_dsbp_reconfigure_ind_struct;
 
-typedef struct 
+typedef struct
 {
     LOCAL_PARA_HDR
     vdm_call_status_enum                    indication;
@@ -2783,29 +2783,29 @@
     module_type     mod_id;
     sap_type        sap_id;
     vdm_call_status_enum       reg_type;
-    kal_uint8       gemini_check;          
+    kal_uint8       gemini_check;
 } call_status_notify_module_info_struct;
 
 typedef struct {
     LOCAL_PARA_HDR
 
     ia_apn_change_cause_enum cause;
-} ia_apn_change_req_struct; 
+} ia_apn_change_req_struct;
 
 typedef struct {
     LOCAL_PARA_HDR
-        
+
     kal_uint8 ap_cid;
     kal_uint8 d2_cid;
     kal_uint8 ps_cid;
-} l4aps_tcm_update_cid_mapping_req_struct; 
+} l4aps_tcm_update_cid_mapping_req_struct;
 
 typedef struct {
     LOCAL_PARA_HDR
-        
+
     kal_uint8 d2_cid;
     kal_bool result;
-} l4aps_tcm_update_cid_mapping_cnf_struct; 
+} l4aps_tcm_update_cid_mapping_cnf_struct;
 
 typedef struct {
     kal_uint16 ref; /* concat. message reference*/
@@ -2828,7 +2828,7 @@
 typedef struct
 {
     LOCAL_PARA_HDR
-    kal_uint8 hvolte_mode;    
+    kal_uint8 hvolte_mode;
 } l4c_hvolte_mode_switch_ind_struct;
 
 typedef struct
@@ -2854,7 +2854,7 @@
 typedef struct
 {
     kal_uint16 len;
-    kal_uint8  uri[MAX_PHB_XDN_URI_LEN + 1];    
+    kal_uint8  uri[MAX_PHB_XDN_URI_LEN + 1];
 
 } l4_phb_uri_struct;
 #endif /* (__ECALL_SUPPORT__) || (__NG_ECALL_SUPPORT__) */
@@ -2962,7 +2962,7 @@
     kal_bool             reg_status;      // 0: non-Serving cell; 1: Serving cell
 } network_scan_2g_output_struct;
 
-typedef struct 
+typedef struct
 {
     /* Cell Identity UMTS*/
     kal_uint16               uarfcn;              // UARFCN
@@ -2970,7 +2970,7 @@
     plmn_id_struct           plmn_id;             //  MCC + MNC
     kal_uint32               cell_id;             // CI
     kal_uint16               lac;                 //LAC
-    /* Signal Strength UMTS*/ 
+    /* Signal Strength UMTS*/
     kal_int16                rscp;                // rscp
     kal_int16                ecno;                // EcNO
     kal_int32                rssi;                // RSSI
@@ -2998,7 +2998,7 @@
     network_scan_4g_output_struct nw_scan_4g_output;
 	network_scan_5g_output_struct nw_scan_5g_output;
 } network_scan_rat_union_type;
-#endif 
+#endif
 
 typedef struct
 {
@@ -3013,7 +3013,7 @@
 
     l4bnw_cell_info_struct cs_cell_info;
     l4bnw_cell_info_struct ps_cell_info;
-    
+
     /* C2K cell info */
     kal_uint16 sid;
     kal_uint16 nid;
@@ -3087,4 +3087,27 @@
 	kal_uint8 phy_idx;
 }l4c_tx_pwr_info_per_antenna;
 #endif
+
+typedef struct
+{
+    LOCAL_PARA_HDR
+
+    kal_uint8 src_id;
+    rat_enum target_rat;
+} l4c_as_better_rat_detect_req_struct;
+
+typedef struct
+{
+    LOCAL_PARA_HDR
+
+    kal_uint8 src_id;
+    kal_bool result;
+} l4c_as_better_rat_detect_cnf_struct;
+
+typedef struct
+{
+    LOCAL_PARA_HDR
+    better_rat_detect_response_enum result;
+} l4c_as_better_rat_detect_ind_struct;
+
 #endif /* _PS_PUBLIC_STRUCT_H_ */