[Feature][Modem]Update MTK MODEM V1.6 baseline version: MOLY.NR15.R3.MD700.IVT.MP1MR3.MP.V1.6
MTK modem version: MT2735_IVT_MOLY.NR15.R3.MD700.IVT.MP1MR3.MP.V1.6.tar.gz
RF modem version: NA
Change-Id: I45a4c2752fa9d1a618beacd5d40737fb39ab64fb
diff --git a/mcu/protocol/interface/l4misc/l4c_em.h b/mcu/protocol/interface/l4misc/l4c_em.h
new file mode 100644
index 0000000..e235ee0
--- /dev/null
+++ b/mcu/protocol/interface/l4misc/l4c_em.h
@@ -0,0 +1,677 @@
+/*****************************************************************************
+* 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:
+ * ---------
+ * l4c_em.h
+ *
+ * Project:
+ * --------
+ * MAUI
+ *
+ * Description:
+ * ------------
+ * Engineer mode header file.
+ *
+ * Author:
+ * -------
+ * -------
+ *
+ *==============================================================================
+ * HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *------------------------------------------------------------------------------
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *==============================================================================
+ *******************************************************************************/
+
+/********************************************************************************
+* Copyright Statement:
+* --------------------
+*
+* This product has been developed using a protocol stack
+* developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+#ifndef _L4C_EM_H
+#define _L4C_EM_H
+
+#include "em_struct.h"
+//#include "kal_non_specific_general_types.h"
+//#include "app_ltlcom.h"
+#include "kal_public_defs.h" //MSBB change #include "stack_config.h"
+
+#include "kal_general_types.h"
+#include "ps_public_struct.h"
+#include "em_l4_public_struct.h"
+#include "em_l4_common_public_struct.h"
+#include "ft_msg_l4.h"
+
+extern em_source_enum g_em_cmd_src;
+
+/* Definitions for Channel Lock constants */
+#if defined(__MODEM_EM_MODE__)
+#if defined(__CHANNEL_LOCK__)
+
+#define L4C_CH_LOCK_MODE_CANCEL 0
+#define L4C_CH_LOCK_MODE_SET 1
+#define L4C_CH_LOCK_MODE_SET_CBRS 2
+#define L4C_CH_LOCK_MODE_CONFIG_CBRS 3
+
+#define L4C_CH_LOCK_BAND_IND_NOT_1900 0
+#define L4C_CH_LOCK_BAND_IND_1900 1
+
+#define L4C_CH_LOCK_ACT_GAS 0
+#define L4C_CH_LOCK_ACT_UAS 2
+#define L4C_CH_LOCK_ACT_EAS 7
+#define L4C_CH_LOCK_ACT_NRAS 11
+
+#define L4C_CH_LOCK_ARFCN_MAX 46589
+#define L4C_CH_LOCK_CELL_ID_MAX 1008
+#define L4C_CH_LOCK_CHANNEL_NUM_MAX 32
+
+#define L4C_CH_LOCK_CELL_ID_NOT_SET 0xFFFF
+
+#endif /* __CHANNEL_LOCK__ */
+#endif /* __MODEM_EM_MODE__ */
+
+/* Definitions for EM TX power constants*/
+#ifdef __EM_MAX_TX_POWER_SUPPORT__
+#define L4C_GSM_RAT 0
+#define L4C_WCDMA_RAT 1
+#define L4C_TDSCDMA_RAT 2
+#define L4C_C2K_RAT 3
+#define L4C_LTE_RAT 4
+#define L4C_1X_RAT 5
+#define L4C_EVDO_RAT 6
+#ifdef __TX_PWR_EXTENSION__
+#define L4C_NR_RAT 7
+#define L4C_MAX_SUPPORT_RAT 7
+#endif
+#endif
+
+/*Start Extended LCE support*/
+#define L4C_EXTENDED_LCE_MAX_THRESHOLD EXTENDED_LCE_MAX_THRESHOLD // threshold size is 20
+
+#define L4C_LCE_RAT_GSM 1
+#define L4C_LCE_RAT_UMTS 2
+#define L4C_LCE_RAT_LTE 3
+#define L4C_LCE_RAT_NR 4
+#define L4C_LCE_RAT_MAX 5
+/*End Extended LCE support*/
+
+/* L4C call-back functions for MMI */
+void l4a_em_update_req (kal_uint8 src_id,kal_uint8 *info_request);
+void l4c_em_update_req(em_source_enum em_src, em_info_status_enum *info_request);
+void l4c_vt_em_get_config_req(kal_uint8 src_id);
+void l4c_vt_em_set_config_req(kal_uint8 src_id, vt_em_config_struct *em_config);
+void l4c_em_cell_resel_suspend_req(kal_uint8 src_id, kal_uint8 status);
+void l4c_em_cell_resel_resume_req(kal_uint8 src_id);
+void l4c_em_get_cell_lock_req(kal_uint8 src_id);
+void l4c_em_set_cell_lock_req(
+ kal_uint8 src_id,
+ kal_bool turn_on_or_off,
+ kal_bool band_indicator,
+ kal_uint16 *lock_arfcn);
+extern void l4c_em_common_set_cell_lock_req(kal_uint8 src_id, kal_uint32 enabled_bitmap, kal_bool band_indicator, kal_uint16 *lock_arfcn, kal_uint32 mode);
+extern void l4c_em_ext_get_cell_lock_req(kal_uint8 src_id);
+extern void l4c_em_ext_set_cell_lock_req(kal_uint8 src_id, kal_uint32 enabled_bitmap, kal_bool band_indicator, kal_uint16 *lock_arfcn);
+
+#if defined(__MODEM_EM_MODE__)
+#if defined(__CHANNEL_LOCK__)
+void l4c_emmchlck_read(kal_uint8 src_id);
+void l4c_emmchlck_write(kal_uint8 src_id, kal_uint8 mode, kal_uint8 act,
+ kal_uint16 *band_indicator_ptr, kal_uint32 *arfcn_ptr, kal_uint16 cell_id,kal_uint8 channel_num,kal_uint8 lock_mode);
+#endif /* __CHANNEL_LOCK__ */
+#endif /* __MODEM_EM_MODE__ */
+
+void l4c_em_feature_command_req(kal_uint8 src_id, kal_uint8 em_feature, kal_uint8 em_feature_state);
+
+/* EM main message handler */
+void l4c_em_handler(ilm_struct *ilm_ptr);
+kal_bool l4c_em_nw_event_notify_req(kal_uint8 src_id, kal_bool is_on, kal_uint8 num_of_mod, module_type *mod_list);
+
+void l4c_em_quick_test_report_res_req(kal_bool result, kal_uint8 test_count, kal_uint8 *test_list);
+
+extern kal_bool l4c_l1_max_tx_pwr_red_req(kal_uint8 src_id,
+ kal_uint8 op,
+ kal_bool gsm_tbl_valid,
+ kal_uint8 ***gsm_tx_pwr_reduction_tbl,
+ kal_uint8 ***gsm_tx_pwr_reduction_tbl_tas,
+ kal_bool umts_tbl_valid,
+ kal_uint8 **umts_tx_pwr_reduction_tbl,
+ kal_uint8 **umts_tx_pwr_reduction_tbl_tas,
+ kal_bool lte_tbl_valid,
+ kal_uint16 lte_band,
+ kal_uint8 *lte_tx_pwr_reduction_param);
+
+#ifdef __TC10__
+extern kal_bool l4c_mmrf_get_temperature_info_req(kal_uint8 src_id, kal_uint8 mode);
+extern void l4cmmrf_temperature_cnf_hdlr(local_para_struct *local_para_ptr, peer_buff_struct *peer_buff_ptr);
+#endif
+
+extern kal_bool l4c_get_thermal_info_req(kal_uint8 src_id);
+extern void l4c_get_thermal_info_via_ccci_req();
+
+extern void l4c_get_thermal_info_cnf_hdlr(msg_type msg_id, local_para_struct *local_para_ptr);
+
+extern kal_bool l4c_eq_set_rx_path_req(kal_uint8 src_id,
+ kal_uint8 cmd_type,
+ kal_uint8 rx_path,
+ kal_bool nvram_write);
+
+extern kal_bool l4c_force_tx_ant_req(kal_uint8 src_id,
+ kal_uint8 mode,
+ kal_uint8 rat,
+ kal_uint8 ant_state,
+ kal_uint8 band,
+ kal_uint8 nvram_write);
+extern void l4c_force_tx_ant_cnf_hdlr(msg_type msg_id, local_para_struct *local_para_ptr);
+
+extern kal_bool l4c_meta_cfg_req(kal_uint8 src_id, kal_uint8 mode, FT_MODE_SWITCH_RESULT *result_ptr);
+
+extern void l4c_rx_rssi_verify_ind_hdlr(msg_type msg_id,local_para_struct *local_para_ptr);
+extern void l4c_em_tx_report_ind_hdlr(msg_type msg_id,local_para_struct *local_para_ptr);
+
+extern kal_bool l4c_set_rf_temperature_threshold_req(kal_uint8 src_id,
+ kal_bool on,
+ kal_int16 threshold,
+ kal_int16 period);
+extern void l4c_set_rf_temperature_threshold_cnf_hdlr(msg_type msg_id, local_para_struct *local_para_ptr);
+extern void l4c_set_rf_temperature_threshold_ind_hdlr(msg_type msg_id, local_para_struct *local_para_ptr);
+
+#ifdef __LTE_RAT__
+extern kal_bool l4c_vzw_antenna_test_req(kal_uint8 src_id, kal_uint8 type, kal_uint8 p1, kal_uint8 p2);
+extern void l4c_vzw_antenna_test_cnf_handler(msg_type msg_id, local_para_struct *local_para_ptr);
+#endif
+
+extern void l4cxl1_txrx_active_time_cnf_hdlr(msg_type msg_id, local_para_struct *local_para_ptr);
+extern void l4c_accumulate_txrx_active_time(kal_uint32 rx_time, kal_uint32 *tx_time, kal_uint32 txrx_union_time);
+
+extern void l4c_c2k_rf_test_cnf_hdlr(local_para_struct *local_para_ptr);
+
+extern kal_bool l4c_em_mmrf_mipi_action_req(kal_uint8 src_id,
+ kal_uint8 action,
+ kal_uint8 port,
+ kal_uint8 rw_type,
+ kal_uint8 usid,
+ kal_uint16 addr,
+ kal_uint32 wr_data);
+
+extern kal_bool l4c_em_mmrf_bpi_action_req(kal_uint8 src_id, kal_uint8 action, kal_uint32 data1, kal_uint32 data2);
+extern void l4c_em_mmrf_mipi_bpi_action_cnf_hdlr(msg_type msg_id, local_para_struct *local_para_ptr);
+
+extern void l4cps_md_event_ind_hdlr(local_para_struct *local_para_ptr, peer_buff_struct *peer_buff_ptr);
+extern void l4c_send_mdmi_rat_info();
+extern void l4c_em_event_set_bitmask(em_info_status_enum em_info_status, l4c_em_event_enum l4c_em_event);
+
+extern kal_bool l4c_rfid_update_req_hdlr(kal_uint8 src_id, kal_uint16 feature, kal_int16 scenario_index);
+extern void l4c_rfid_update_cnf_hdlr(msg_type msg_id, local_para_struct *local_para_ptr);
+
+extern kal_bool l4c_set_gsm_tx_power_req_hdlr(kal_uint8 src_id, kal_uint8 cmd_type, kal_uint8 gsm_band, kal_int8 pcl_value);
+extern void l4c_set_gsm_tx_power_cnf_hdlr(msg_type msg_id, local_para_struct *local_para_ptr);
+
+#ifdef __ATERFTX_ERROR_HANDLE_ENHANCE__
+extern void l4c_em_rf_test_gsm_tx_test_ind_hdlr(local_para_struct *local_para_ptr);
+
+extern void l4c_em_erftx_gsm_rsp(kal_uint8 src_id, ps_cause_enum error_cause);
+#endif
+
+
+extern kal_bool l4c_set_max_tx_power_req_hdlr(kal_uint8 src_id, kal_uint8 rat, kal_uint16 offset, kal_uint8 gsm_band);
+extern void l4c_set_max_tx_power_cnf_hdlr(msg_type msg_id, local_para_struct *local_para_ptr);
+
+#ifdef __RF_SCAN_FOR_DESENSE_TEST__
+extern kal_bool l4c_l1_em_rf_scan_req(kal_uint8 src_id, em_rf_scan_req_struct *request);
+extern void l4c_l1_em_rf_scan_cnf_hdlr(msg_type msg_id, local_para_struct *local_para_ptr);
+#endif /*__RF_SCAN_FOR_DESENSE_TEST__*/
+#ifdef __MCF_COMBINE_FILE_SUPPORT__
+extern kal_bool l4c_set_mcf_config_req_hdlr(kal_uint8 src_id, kal_uint8 op, kal_uint8 config_type, kal_uint8 path_type,
+ kal_uint8 *config1, kal_uint8 *config2, kal_uint8 *config3, kal_uint8 *config4,
+ kal_uint8 trigger_dsbp, kal_uint8 action, kal_uint8 mode, kal_uint8 *item,
+ kal_uint8 *value, kal_uint8 is_reset);
+#else
+extern kal_bool l4c_set_mcf_config_req_hdlr(kal_uint8 src_id, kal_uint8 op, kal_uint8 config_type, kal_uint8 path_type,
+ kal_uint8 *config1, kal_uint8 *config2, kal_uint8 *config3, kal_uint8 *config4,
+ kal_uint8 trigger_dsbp, kal_uint8 action, kal_uint8 mode, kal_uint8 *item,
+ kal_uint8 *value);
+#endif /* __MCF_COMBINE_FILE_SUPPORT__ */
+extern void l4c_set_mcf_config_cnf_hdlr(local_para_struct *local_para_ptr);
+
+extern void l4c_get_mcf_config_cnf_hdlr(local_para_struct *local_para_ptr);
+
+extern void l4c_mcf_report_state_ind_hdlr(local_para_struct *local_para_ptr, peer_buff_struct *peer_buff_ptr);
+extern void l4c_mcf_dump_data_cnf_hdlr(local_para_struct *local_para_ptr);
+
+extern void l4c_ostd_ap_core_status_req_hdlr(local_para_struct *local_para_ptr);
+
+extern void l4c_mcf_update_ota_file_cnf_hdlr(local_para_struct *local_para_ptr);
+extern void l4c_mcf_config_cnf_hdlr(local_para_struct *local_para_ptr);
+extern kal_bool l4c_mcf_config_lid_variable_op_req_hdlr(kal_uint8 src_id, kal_uint8 op,kal_uint8 action, kal_uint16 lid_num,
+ kal_uint16 record_id, kal_uint8 *tag_name, kal_uint8 length);
+extern void l4c_mcf_config_lid_variable_op_cnf_hdlr(local_para_struct *local_para_ptr);
+
+#ifdef __MCF_COMBINE_FILE_SUPPORT__
+extern kal_bool l4c_mcf_variable_value_operation_req_hdlr(kal_uint8 src_id, kal_uint8 op, kal_uint8 format, kal_uint8 action, kal_uint32 number,
+ kal_uint8 *config, kal_uint8 length, kal_uint16 record_id, kal_uint8 *value);
+
+extern kal_bool l4c_mcf_assign_combined_file_path_req_hdlr(kal_uint8 src_id, kal_uint8 op, kal_uint8 config_type,
+ kal_uint8 path_type, kal_uint8 *config1);
+extern void l4c_mcf_assign_combined_file_path_cnf_hdlr(local_para_struct *local_para_ptr);
+
+#else
+extern kal_bool l4c_mcf_variable_value_operation_req_hdlr(kal_uint8 src_id, kal_uint8 op, kal_uint8 format, kal_uint8 action, kal_uint32 number,
+ kal_uint8 *config, kal_uint8 length, kal_uint16 record_id);
+
+#endif /* __MCF_COMBINE_FILE_SUPPORT__ */
+
+extern void l4c_mcf_variable_value_operation_cnf_hdlr(local_para_struct *local_para_ptr);
+
+extern void l4c_mcf_dump_data_cnf_hdlr(local_para_struct *local_para_ptr);
+
+
+extern kal_bool l4c_em_extended_lce_report_req(kal_uint8 op,
+ kal_uint16 hyst_milli,
+ kal_uint16 ul_hyst_kbps,
+ kal_uint16 dl_hyst_kbps,
+ kal_uint8 ul_thresh_num,
+ kal_uint32 *ul_threshold,
+ kal_uint8 dl_thresh_num,
+ kal_uint32 *dl_threshold,
+ kal_uint8 rat);
+extern void l4cul1_extended_lce_report_ind_hdlr(local_para_struct *local_para_ptr, peer_buff_struct *peer_buff_ptr);
+extern void l4cel1_extended_lce_report_ind_hdlr(local_para_struct *local_para_ptr, peer_buff_struct *peer_buff_ptr);
+extern void l4cnl1_extended_lce_report_ind_hdlr(local_para_struct *local_para_ptr, peer_buff_struct *peer_buff_ptr);
+
+extern void l4cumac_extended_lce_report_ind_hdlr(local_para_struct *local_para_ptr, peer_buff_struct *peer_buff_ptr);
+extern void l4cmac_extended_lce_report_ind_hdlr(local_para_struct *local_para_ptr, peer_buff_struct *peer_buff_ptr);
+
+extern void l4c_em_extended_lce_report_ind_hdlr(kal_uint8 is_ul_valid,
+ kal_uint32 ul_kbps,
+ kal_uint8 is_dl_valid,
+ kal_uint32 dl_kbps);
+
+extern void l4c_lcm_hopping_ind_hdlr(msg_type msg_id,local_para_struct *local_para_ptr);
+
+extern void l4c_em_get_antenna_info_req(kal_uint8 mode);
+extern void l4c_em_get_antenna_info_cnf_hdlr(msg_type msg_id, local_para_struct *local_para_ptr);
+extern void l4c_em_get_antenna_info_ind_hdlr(msg_type msg_id, local_para_struct *local_para_ptr);
+
+extern void l4c_2g_rf_test_cnf_hdlr(local_para_struct *local_para_ptr, peer_buff_struct *peer_buff_ptr);
+
+extern kal_bool l4c_mcf_config_dump_lid_data_req_hdlr(kal_uint8 src_id, kal_uint8 op, kal_uint16 *lid, kal_uint32 count);
+
+#ifdef __SAR_SENSOR_SUPPORT__
+extern void l4c_sar_sensor_setting_for_rfid(kal_uint8 g_sar_sensor_state);
+extern void l4c_sar_set_tx_ant_req_count(kal_uint8 count);
+extern kal_uint8 l4c_sar_get_tx_ant_req_count();
+extern void l4c_sar_set_txant_update_needed();
+extern void l4c_sar_reset_txant_update_needed();
+extern void l4c_update_sar_sensor_in_ap();
+extern void l4c_update_flight_sar_sensor_in_ap(kal_bool flight_status);
+#endif
+
+extern void l4c_tx_power_status_ind_hdlr(local_para_struct *local_para_ptr);
+#ifdef __TX_PWR_EXTENSION__
+extern kal_bool l4c_set_exclusive_max_tx_power_req_hdlr(kal_uint8 src_id, kal_uint8 rat, kal_uint8 num_band, kal_uint8 *band, kal_int16 *power_value,kal_uint8 nvram_write);
+void l4c_set_exclusive_max_tx_power_cnf_hdlr(msg_type msg_id, local_para_struct *local_para_ptr);
+extern kal_bool l4c_get_exclusive_max_tx_power_req(kal_uint8 src_id);
+void l4c_get_exclusive_max_tx_power_cnf_hdlr(msg_type msg_id, local_para_struct *local_para_ptr);
+#endif
+
+
+#endif /* _L4C_EM_H */
+