blob: e235ee08507c56e40caeace201767bc25d0306a6 [file] [log] [blame]
yu.dongc33b3072024-08-21 23:14:49 -07001/*****************************************************************************
2* Copyright Statement:
3* --------------------
4* This software is protected by Copyright and the information contained
5* herein is confidential. The software may not be copied and the information
6* contained herein may not be used or disclosed except with the written
7* permission of MediaTek Inc. (C) 2005
8*
9* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
10* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
11* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
12* AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
13* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
14* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
15* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
16* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
17* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
18* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
19* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
20* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
21*
22* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
23* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
24* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
25* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
26* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
27*
28* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
29* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
30* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
31* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
32* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
33*
34*****************************************************************************/
35 /*******************************************************************************
36 * Filename:
37 * ---------
38 * l4c_em.h
39 *
40 * Project:
41 * --------
42 * MAUI
43 *
44 * Description:
45 * ------------
46 * Engineer mode header file.
47 *
48 * Author:
49 * -------
50 * -------
51 *
52 *==============================================================================
53 * HISTORY
54 * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
55 *------------------------------------------------------------------------------
56 * removed!
57 *
58 * removed!
59 * removed!
60 * removed!
61 * removed!
62 * removed!
63 * removed!
64 *
65 * removed!
66 * removed!
67 * removed!
68 * removed!
69 *
70 * removed!
71 * removed!
72 * removed!
73 *
74 * removed!
75 * removed!
76 * removed!
77 * removed!
78 *
79 *
80 * removed!
81 * removed!
82 * removed!
83 * removed!
84 * removed!
85 * removed!
86 *
87 * removed!
88 * removed!
89 * removed!
90 * removed!
91 *
92 * removed!
93 * removed!
94 * removed!
95 *
96 * removed!
97 * removed!
98 * removed!
99 * removed!
100 * removed!
101 *
102 * removed!
103 * removed!
104 * removed!
105 * removed!
106 *
107 * removed!
108 * removed!
109 * removed!
110 *
111 * removed!
112 * removed!
113 * removed!
114 * removed!
115 *
116 * removed!
117 * removed!
118 * removed!
119 * removed!
120 *
121 * removed!
122 * removed!
123 * removed!
124 *
125 * removed!
126 * removed!
127 * removed!
128 * removed!
129 *
130 * removed!
131 * removed!
132 * removed!
133 * removed!
134 *
135 * removed!
136 * removed!
137 * removed!
138 * removed!
139 * removed!
140 * removed!
141 *
142 * removed!
143 * removed!
144 * removed!
145 * removed!
146 *
147 * removed!
148 * removed!
149 * removed!
150 * removed!
151 * removed!
152 * removed!
153 *
154 * removed!
155 * removed!
156 * removed!
157 * removed!
158 * removed!
159 * removed!
160 *
161 * removed!
162 * removed!
163 * removed!
164 * removed!
165 *
166 * removed!
167 * removed!
168 * removed!
169 * removed!
170 *
171 * removed!
172 * removed!
173 * removed!
174 * removed!
175 *
176 * removed!
177 * removed!
178 * removed!
179 *
180 * removed!
181 * removed!
182 * removed!
183 *
184 * removed!
185 * removed!
186 *
187 * removed!
188 * removed!
189 * removed!
190 *
191 * removed!
192 * removed!
193 * removed!
194 *
195 * removed!
196 * removed!
197 * removed!
198 * removed!
199 *
200 * removed!
201 * removed!
202 * removed!
203 * removed!
204 *
205 * removed!
206 * removed!
207 * removed!
208 *
209 * removed!
210 * removed!
211 * removed!
212 *
213 * removed!
214 * removed!
215 * removed!
216 * removed!
217 *
218 * removed!
219 * removed!
220 * removed!
221 * removed!
222 *
223 * removed!
224 * removed!
225 * removed!
226 *
227 * removed!
228 * removed!
229 * removed!
230 *
231 * removed!
232 * removed!
233 * removed!
234 * removed!
235 *
236 * removed!
237 * removed!
238 * removed!
239 * removed!
240 *
241 * removed!
242 * removed!
243 *
244 * removed!
245 * removed!
246 * removed!
247 * removed!
248 * removed!
249 * removed!
250 *
251 * removed!
252 * removed!
253 * removed!
254 *
255 * removed!
256 * removed!
257 * removed!
258 *
259 * removed!
260 * removed!
261 * removed!
262 *
263 * removed!
264 * removed!
265 *
266 * removed!
267 * removed!
268 * removed!
269 *
270 * removed!
271 * removed!
272 *
273 * removed!
274 * removed!
275 * removed!
276 *
277 * removed!
278 * removed!
279 *
280 * removed!
281 * removed!
282 * removed!
283 *
284 * removed!
285 * removed!
286 *
287 * removed!
288 * removed!
289 * removed!
290 *
291 * removed!
292 * removed!
293 * removed!
294 *
295 * removed!
296 * removed!
297 * removed!
298 *
299 * removed!
300 * removed!
301 * removed!
302 *
303 * removed!
304 * removed!
305 * removed!
306 *
307 * removed!
308 * removed!
309 * removed!
310 *
311 * removed!
312 * removed!
313 * removed!
314 *
315 * removed!
316 * removed!
317 * removed!
318 *
319 * removed!
320 * removed!
321 * removed!
322 *
323 * removed!
324 * removed!
325 * removed!
326 *
327 * removed!
328 * removed!
329 * removed!
330 *
331 * removed!
332 * removed!
333 * removed!
334 *
335 * removed!
336 * removed!
337 * removed!
338 *
339 * removed!
340 * removed!
341 * removed!
342 *
343 * removed!
344 * removed!
345 * removed!
346 *
347 * removed!
348 * removed!
349 * removed!
350 *
351 * removed!
352 * removed!
353 * removed!
354 *
355 * removed!
356 * removed!
357 * removed!
358 *
359 * removed!
360 * removed!
361 * removed!
362 *
363 * removed!
364 * removed!
365 * removed!
366 *
367 * removed!
368 * removed!
369 * removed!
370 *
371 * removed!
372 * removed!
373 * removed!
374 *
375 *------------------------------------------------------------------------------
376 * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
377 *==============================================================================
378 *******************************************************************************/
379
380/********************************************************************************
381* Copyright Statement:
382* --------------------
383*
384* This product has been developed using a protocol stack
385* developed by Sasken Communication Technologies Limited.
386*
387********************************************************************************/
388
389#ifndef _L4C_EM_H
390#define _L4C_EM_H
391
392#include "em_struct.h"
393//#include "kal_non_specific_general_types.h"
394//#include "app_ltlcom.h"
395#include "kal_public_defs.h" //MSBB change #include "stack_config.h"
396
397#include "kal_general_types.h"
398#include "ps_public_struct.h"
399#include "em_l4_public_struct.h"
400#include "em_l4_common_public_struct.h"
401#include "ft_msg_l4.h"
402
403extern em_source_enum g_em_cmd_src;
404
405/* Definitions for Channel Lock constants */
406#if defined(__MODEM_EM_MODE__)
407#if defined(__CHANNEL_LOCK__)
408
409#define L4C_CH_LOCK_MODE_CANCEL 0
410#define L4C_CH_LOCK_MODE_SET 1
411#define L4C_CH_LOCK_MODE_SET_CBRS 2
412#define L4C_CH_LOCK_MODE_CONFIG_CBRS 3
413
414#define L4C_CH_LOCK_BAND_IND_NOT_1900 0
415#define L4C_CH_LOCK_BAND_IND_1900 1
416
417#define L4C_CH_LOCK_ACT_GAS 0
418#define L4C_CH_LOCK_ACT_UAS 2
419#define L4C_CH_LOCK_ACT_EAS 7
420#define L4C_CH_LOCK_ACT_NRAS 11
421
422#define L4C_CH_LOCK_ARFCN_MAX 46589
423#define L4C_CH_LOCK_CELL_ID_MAX 1008
424#define L4C_CH_LOCK_CHANNEL_NUM_MAX 32
425
426#define L4C_CH_LOCK_CELL_ID_NOT_SET 0xFFFF
427
428#endif /* __CHANNEL_LOCK__ */
429#endif /* __MODEM_EM_MODE__ */
430
431/* Definitions for EM TX power constants*/
432#ifdef __EM_MAX_TX_POWER_SUPPORT__
433#define L4C_GSM_RAT 0
434#define L4C_WCDMA_RAT 1
435#define L4C_TDSCDMA_RAT 2
436#define L4C_C2K_RAT 3
437#define L4C_LTE_RAT 4
438#define L4C_1X_RAT 5
439#define L4C_EVDO_RAT 6
440#ifdef __TX_PWR_EXTENSION__
441#define L4C_NR_RAT 7
442#define L4C_MAX_SUPPORT_RAT 7
443#endif
444#endif
445
446/*Start Extended LCE support*/
447#define L4C_EXTENDED_LCE_MAX_THRESHOLD EXTENDED_LCE_MAX_THRESHOLD // threshold size is 20
448
449#define L4C_LCE_RAT_GSM 1
450#define L4C_LCE_RAT_UMTS 2
451#define L4C_LCE_RAT_LTE 3
452#define L4C_LCE_RAT_NR 4
453#define L4C_LCE_RAT_MAX 5
454/*End Extended LCE support*/
455
456/* L4C call-back functions for MMI */
457void l4a_em_update_req (kal_uint8 src_id,kal_uint8 *info_request);
458void l4c_em_update_req(em_source_enum em_src, em_info_status_enum *info_request);
459void l4c_vt_em_get_config_req(kal_uint8 src_id);
460void l4c_vt_em_set_config_req(kal_uint8 src_id, vt_em_config_struct *em_config);
461void l4c_em_cell_resel_suspend_req(kal_uint8 src_id, kal_uint8 status);
462void l4c_em_cell_resel_resume_req(kal_uint8 src_id);
463void l4c_em_get_cell_lock_req(kal_uint8 src_id);
464void l4c_em_set_cell_lock_req(
465 kal_uint8 src_id,
466 kal_bool turn_on_or_off,
467 kal_bool band_indicator,
468 kal_uint16 *lock_arfcn);
469extern 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);
470extern void l4c_em_ext_get_cell_lock_req(kal_uint8 src_id);
471extern void l4c_em_ext_set_cell_lock_req(kal_uint8 src_id, kal_uint32 enabled_bitmap, kal_bool band_indicator, kal_uint16 *lock_arfcn);
472
473#if defined(__MODEM_EM_MODE__)
474#if defined(__CHANNEL_LOCK__)
475void l4c_emmchlck_read(kal_uint8 src_id);
476void l4c_emmchlck_write(kal_uint8 src_id, kal_uint8 mode, kal_uint8 act,
477 kal_uint16 *band_indicator_ptr, kal_uint32 *arfcn_ptr, kal_uint16 cell_id,kal_uint8 channel_num,kal_uint8 lock_mode);
478#endif /* __CHANNEL_LOCK__ */
479#endif /* __MODEM_EM_MODE__ */
480
481void l4c_em_feature_command_req(kal_uint8 src_id, kal_uint8 em_feature, kal_uint8 em_feature_state);
482
483/* EM main message handler */
484void l4c_em_handler(ilm_struct *ilm_ptr);
485kal_bool l4c_em_nw_event_notify_req(kal_uint8 src_id, kal_bool is_on, kal_uint8 num_of_mod, module_type *mod_list);
486
487void l4c_em_quick_test_report_res_req(kal_bool result, kal_uint8 test_count, kal_uint8 *test_list);
488
489extern kal_bool l4c_l1_max_tx_pwr_red_req(kal_uint8 src_id,
490 kal_uint8 op,
491 kal_bool gsm_tbl_valid,
492 kal_uint8 ***gsm_tx_pwr_reduction_tbl,
493 kal_uint8 ***gsm_tx_pwr_reduction_tbl_tas,
494 kal_bool umts_tbl_valid,
495 kal_uint8 **umts_tx_pwr_reduction_tbl,
496 kal_uint8 **umts_tx_pwr_reduction_tbl_tas,
497 kal_bool lte_tbl_valid,
498 kal_uint16 lte_band,
499 kal_uint8 *lte_tx_pwr_reduction_param);
500
501#ifdef __TC10__
502extern kal_bool l4c_mmrf_get_temperature_info_req(kal_uint8 src_id, kal_uint8 mode);
503extern void l4cmmrf_temperature_cnf_hdlr(local_para_struct *local_para_ptr, peer_buff_struct *peer_buff_ptr);
504#endif
505
506extern kal_bool l4c_get_thermal_info_req(kal_uint8 src_id);
507extern void l4c_get_thermal_info_via_ccci_req();
508
509extern void l4c_get_thermal_info_cnf_hdlr(msg_type msg_id, local_para_struct *local_para_ptr);
510
511extern kal_bool l4c_eq_set_rx_path_req(kal_uint8 src_id,
512 kal_uint8 cmd_type,
513 kal_uint8 rx_path,
514 kal_bool nvram_write);
515
516extern kal_bool l4c_force_tx_ant_req(kal_uint8 src_id,
517 kal_uint8 mode,
518 kal_uint8 rat,
519 kal_uint8 ant_state,
520 kal_uint8 band,
521 kal_uint8 nvram_write);
522extern void l4c_force_tx_ant_cnf_hdlr(msg_type msg_id, local_para_struct *local_para_ptr);
523
524extern kal_bool l4c_meta_cfg_req(kal_uint8 src_id, kal_uint8 mode, FT_MODE_SWITCH_RESULT *result_ptr);
525
526extern void l4c_rx_rssi_verify_ind_hdlr(msg_type msg_id,local_para_struct *local_para_ptr);
527extern void l4c_em_tx_report_ind_hdlr(msg_type msg_id,local_para_struct *local_para_ptr);
528
529extern kal_bool l4c_set_rf_temperature_threshold_req(kal_uint8 src_id,
530 kal_bool on,
531 kal_int16 threshold,
532 kal_int16 period);
533extern void l4c_set_rf_temperature_threshold_cnf_hdlr(msg_type msg_id, local_para_struct *local_para_ptr);
534extern void l4c_set_rf_temperature_threshold_ind_hdlr(msg_type msg_id, local_para_struct *local_para_ptr);
535
536#ifdef __LTE_RAT__
537extern kal_bool l4c_vzw_antenna_test_req(kal_uint8 src_id, kal_uint8 type, kal_uint8 p1, kal_uint8 p2);
538extern void l4c_vzw_antenna_test_cnf_handler(msg_type msg_id, local_para_struct *local_para_ptr);
539#endif
540
541extern void l4cxl1_txrx_active_time_cnf_hdlr(msg_type msg_id, local_para_struct *local_para_ptr);
542extern void l4c_accumulate_txrx_active_time(kal_uint32 rx_time, kal_uint32 *tx_time, kal_uint32 txrx_union_time);
543
544extern void l4c_c2k_rf_test_cnf_hdlr(local_para_struct *local_para_ptr);
545
546extern kal_bool l4c_em_mmrf_mipi_action_req(kal_uint8 src_id,
547 kal_uint8 action,
548 kal_uint8 port,
549 kal_uint8 rw_type,
550 kal_uint8 usid,
551 kal_uint16 addr,
552 kal_uint32 wr_data);
553
554extern kal_bool l4c_em_mmrf_bpi_action_req(kal_uint8 src_id, kal_uint8 action, kal_uint32 data1, kal_uint32 data2);
555extern void l4c_em_mmrf_mipi_bpi_action_cnf_hdlr(msg_type msg_id, local_para_struct *local_para_ptr);
556
557extern void l4cps_md_event_ind_hdlr(local_para_struct *local_para_ptr, peer_buff_struct *peer_buff_ptr);
558extern void l4c_send_mdmi_rat_info();
559extern void l4c_em_event_set_bitmask(em_info_status_enum em_info_status, l4c_em_event_enum l4c_em_event);
560
561extern kal_bool l4c_rfid_update_req_hdlr(kal_uint8 src_id, kal_uint16 feature, kal_int16 scenario_index);
562extern void l4c_rfid_update_cnf_hdlr(msg_type msg_id, local_para_struct *local_para_ptr);
563
564extern 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);
565extern void l4c_set_gsm_tx_power_cnf_hdlr(msg_type msg_id, local_para_struct *local_para_ptr);
566
567#ifdef __ATERFTX_ERROR_HANDLE_ENHANCE__
568extern void l4c_em_rf_test_gsm_tx_test_ind_hdlr(local_para_struct *local_para_ptr);
569
570extern void l4c_em_erftx_gsm_rsp(kal_uint8 src_id, ps_cause_enum error_cause);
571#endif
572
573
574extern kal_bool l4c_set_max_tx_power_req_hdlr(kal_uint8 src_id, kal_uint8 rat, kal_uint16 offset, kal_uint8 gsm_band);
575extern void l4c_set_max_tx_power_cnf_hdlr(msg_type msg_id, local_para_struct *local_para_ptr);
576
577#ifdef __RF_SCAN_FOR_DESENSE_TEST__
578extern kal_bool l4c_l1_em_rf_scan_req(kal_uint8 src_id, em_rf_scan_req_struct *request);
579extern void l4c_l1_em_rf_scan_cnf_hdlr(msg_type msg_id, local_para_struct *local_para_ptr);
580#endif /*__RF_SCAN_FOR_DESENSE_TEST__*/
581#ifdef __MCF_COMBINE_FILE_SUPPORT__
582extern kal_bool l4c_set_mcf_config_req_hdlr(kal_uint8 src_id, kal_uint8 op, kal_uint8 config_type, kal_uint8 path_type,
583 kal_uint8 *config1, kal_uint8 *config2, kal_uint8 *config3, kal_uint8 *config4,
584 kal_uint8 trigger_dsbp, kal_uint8 action, kal_uint8 mode, kal_uint8 *item,
585 kal_uint8 *value, kal_uint8 is_reset);
586#else
587extern kal_bool l4c_set_mcf_config_req_hdlr(kal_uint8 src_id, kal_uint8 op, kal_uint8 config_type, kal_uint8 path_type,
588 kal_uint8 *config1, kal_uint8 *config2, kal_uint8 *config3, kal_uint8 *config4,
589 kal_uint8 trigger_dsbp, kal_uint8 action, kal_uint8 mode, kal_uint8 *item,
590 kal_uint8 *value);
591#endif /* __MCF_COMBINE_FILE_SUPPORT__ */
592extern void l4c_set_mcf_config_cnf_hdlr(local_para_struct *local_para_ptr);
593
594extern void l4c_get_mcf_config_cnf_hdlr(local_para_struct *local_para_ptr);
595
596extern void l4c_mcf_report_state_ind_hdlr(local_para_struct *local_para_ptr, peer_buff_struct *peer_buff_ptr);
597extern void l4c_mcf_dump_data_cnf_hdlr(local_para_struct *local_para_ptr);
598
599extern void l4c_ostd_ap_core_status_req_hdlr(local_para_struct *local_para_ptr);
600
601extern void l4c_mcf_update_ota_file_cnf_hdlr(local_para_struct *local_para_ptr);
602extern void l4c_mcf_config_cnf_hdlr(local_para_struct *local_para_ptr);
603extern kal_bool l4c_mcf_config_lid_variable_op_req_hdlr(kal_uint8 src_id, kal_uint8 op,kal_uint8 action, kal_uint16 lid_num,
604 kal_uint16 record_id, kal_uint8 *tag_name, kal_uint8 length);
605extern void l4c_mcf_config_lid_variable_op_cnf_hdlr(local_para_struct *local_para_ptr);
606
607#ifdef __MCF_COMBINE_FILE_SUPPORT__
608extern 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,
609 kal_uint8 *config, kal_uint8 length, kal_uint16 record_id, kal_uint8 *value);
610
611extern kal_bool l4c_mcf_assign_combined_file_path_req_hdlr(kal_uint8 src_id, kal_uint8 op, kal_uint8 config_type,
612 kal_uint8 path_type, kal_uint8 *config1);
613extern void l4c_mcf_assign_combined_file_path_cnf_hdlr(local_para_struct *local_para_ptr);
614
615#else
616extern 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,
617 kal_uint8 *config, kal_uint8 length, kal_uint16 record_id);
618
619#endif /* __MCF_COMBINE_FILE_SUPPORT__ */
620
621extern void l4c_mcf_variable_value_operation_cnf_hdlr(local_para_struct *local_para_ptr);
622
623extern void l4c_mcf_dump_data_cnf_hdlr(local_para_struct *local_para_ptr);
624
625
626extern kal_bool l4c_em_extended_lce_report_req(kal_uint8 op,
627 kal_uint16 hyst_milli,
628 kal_uint16 ul_hyst_kbps,
629 kal_uint16 dl_hyst_kbps,
630 kal_uint8 ul_thresh_num,
631 kal_uint32 *ul_threshold,
632 kal_uint8 dl_thresh_num,
633 kal_uint32 *dl_threshold,
634 kal_uint8 rat);
635extern void l4cul1_extended_lce_report_ind_hdlr(local_para_struct *local_para_ptr, peer_buff_struct *peer_buff_ptr);
636extern void l4cel1_extended_lce_report_ind_hdlr(local_para_struct *local_para_ptr, peer_buff_struct *peer_buff_ptr);
637extern void l4cnl1_extended_lce_report_ind_hdlr(local_para_struct *local_para_ptr, peer_buff_struct *peer_buff_ptr);
638
639extern void l4cumac_extended_lce_report_ind_hdlr(local_para_struct *local_para_ptr, peer_buff_struct *peer_buff_ptr);
640extern void l4cmac_extended_lce_report_ind_hdlr(local_para_struct *local_para_ptr, peer_buff_struct *peer_buff_ptr);
641
642extern void l4c_em_extended_lce_report_ind_hdlr(kal_uint8 is_ul_valid,
643 kal_uint32 ul_kbps,
644 kal_uint8 is_dl_valid,
645 kal_uint32 dl_kbps);
646
647extern void l4c_lcm_hopping_ind_hdlr(msg_type msg_id,local_para_struct *local_para_ptr);
648
649extern void l4c_em_get_antenna_info_req(kal_uint8 mode);
650extern void l4c_em_get_antenna_info_cnf_hdlr(msg_type msg_id, local_para_struct *local_para_ptr);
651extern void l4c_em_get_antenna_info_ind_hdlr(msg_type msg_id, local_para_struct *local_para_ptr);
652
653extern void l4c_2g_rf_test_cnf_hdlr(local_para_struct *local_para_ptr, peer_buff_struct *peer_buff_ptr);
654
655extern kal_bool l4c_mcf_config_dump_lid_data_req_hdlr(kal_uint8 src_id, kal_uint8 op, kal_uint16 *lid, kal_uint32 count);
656
657#ifdef __SAR_SENSOR_SUPPORT__
658extern void l4c_sar_sensor_setting_for_rfid(kal_uint8 g_sar_sensor_state);
659extern void l4c_sar_set_tx_ant_req_count(kal_uint8 count);
660extern kal_uint8 l4c_sar_get_tx_ant_req_count();
661extern void l4c_sar_set_txant_update_needed();
662extern void l4c_sar_reset_txant_update_needed();
663extern void l4c_update_sar_sensor_in_ap();
664extern void l4c_update_flight_sar_sensor_in_ap(kal_bool flight_status);
665#endif
666
667extern void l4c_tx_power_status_ind_hdlr(local_para_struct *local_para_ptr);
668#ifdef __TX_PWR_EXTENSION__
669extern 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);
670void l4c_set_exclusive_max_tx_power_cnf_hdlr(msg_type msg_id, local_para_struct *local_para_ptr);
671extern kal_bool l4c_get_exclusive_max_tx_power_req(kal_uint8 src_id);
672void l4c_get_exclusive_max_tx_power_cnf_hdlr(msg_type msg_id, local_para_struct *local_para_ptr);
673#endif
674
675
676#endif /* _L4C_EM_H */
677