blob: dd836a6ccb1db245938cc51cefc7a04b03674282 [file] [log] [blame]
rjw6c1fd8f2022-11-30 14:33:01 +08001/*****************************************************************************
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/*******************************************************************************
37 * Filename:
38 * ---------
39 * l4crac_func.h
40 *
41 * Project:
42 * --------
43 * MAUI
44 *
45 * Description:
46 * ------------
47 * This file is intends for functional interface between L4C and RAC.
48 *
49 * Author:
50 * -------
51 * -------
52 *
53 *******************************************************************************/
54/********************************************************************************
55* Copyright Statement:
56* --------------------
57*
58* This product has been developed using a protocol stack
59* developed by Sasken Communication Technologies Limited.
60*
61********************************************************************************/
62
63#ifndef _L4CRAC_FUNC_H
64#define _L4CRAC_FUNC_H
65
66#include "kal_general_types.h"
67#include "mcd_l3_inc_struct.h"
68#include "l3_inc_enums.h"
69#ifdef __GEMINI__ //__GEMINI_3G_SWITCH__
70#include "ps_public_enum.h"
71#include "sim_public_enum.h"
72#endif
73#include "l4crac_enums.h"
74#ifdef __VOLTE_SUPPORT__
75#include "ims_common_def.h"
76#endif /* __VOLTE_SUPPORT__ */
77#include "nas_as_inter_core_enum.h"
78#include "ps_public_struct.h"
79#include "rac_nas_sv_struct.h"
80
81/* 4.1 */
82extern void l4crac_get_attach_status (kal_uint8 * cs_status,kal_uint8 * ps_status,kal_uint8 *service);
83extern l4c_rac_gprs_status_enum l4crac_get_gprs_status(void); // MAUI_02316028, support L4C to get gprs status when RAB changed
84
85/* 4.2 */
86extern kal_uint8 l4crac_get_egprs_status (void); /* Erica 20070319: for edge status */
87extern data_speed_support_enum l4crac_get_cell_data_speed_support (void); /* mtk02475: for edge & hspa status */
88extern ms_mobile_class_enum l4crac_get_mobile_class (void);
89
90/* 4.3 */
91extern void l4crac_get_current_plmn(plmn_id_rat_struct *current_plmn);
92extern void l4crac_get_current_plmn_before_reg(plmn_id_rat_struct *current_plmn);
93/* 4.5 */
94
95extern plmn_selection_mode_enum l4crac_get_sel_mode(void);
96
97extern void l4crac_set_sel_mode(plmn_selection_mode_enum mode);
98
99extern kal_bool l4crac_get_imei(kal_uint8 *imei_bcd, kal_uint8 *imei_svn_bcd);
100
101extern kal_bool l4crac_test_mobile_class (kal_uint8 const ** buffer);
102
103extern kal_bool l4crac_set_gprs_follow_on_request (kal_bool is_turn_on);
104
105extern rat_enum l4crac_get_rat_mode(void);
106
107extern kal_bool l4crac_set_rat_mode(rat_enum rat_mode);
108
109extern rat_enum l4crac_get_prefer_rat(void);
110
111extern rat_enum l4crac_get_request_rat_mode(void);
112
113extern kal_bool l4crac_update_auto_attach(kal_bool auto_attach);
114
115extern kal_bool l4crac_get_auto_attach(void);
116
117extern kal_bool l4crac_set_auto_attach_setting(kal_bool auto_attach);
118
119extern kal_bool l4crac_save_auto_attach_context(kal_bool auto_attach);
120
121extern kal_bool l4crac_set_irat_preference(rat_enum preferred_rat);
122
123extern kal_bool l4crac_cancel_retry_action(void);
124
125extern kal_bool l4crac_is_deregistered(void);
126
127extern rat_enum l4crac_get_irat_preference(void);
128
129extern kal_bool l4crac_is_reported_rat_change_finished();
130
131extern rat_enum l4crac_get_egmc_disable_rat_mode(void);
132
133//#ifdef __KOR_CUSTOMIZATION__
134extern plmn_id_struct l4crac_get_rplmn(void); /* Get RPLMN */
135
136#ifdef __MONITOR_PAGE_DURING_TRANSFER__
137#if defined(__GSM_RAT__) || defined(__UMTS_RAT__)
138extern gprs_transfer_preference_enum l4crac_get_gprs_transfer_preference(void);
139extern void l4crac_set_gprs_transfer_preference(gprs_transfer_preference_enum transfer_perference);
140#endif /* defined(__GSM_RAT__) || defined(__UMTS_RAT__) */
141#endif
142
143//#ifdef __PLMN_LIST_PREF_SUPPORT__
144extern plmn_list_preference_enum l4crac_get_plmn_list_preference(void);
145extern void l4crac_set_plmn_list_preference(plmn_list_preference_enum preference);
146//#endif /* __PLMN_LIST_PREF_SUPPORT__ */
147
148//#ifdef __HSPA_PREFERENCE_SETTING__
149void l4crac_set_hspa_preference(hspa_preference_enum hspa_preference);
150hspa_preference_enum l4crac_get_hspa_preference(void);
151//#endif /* __HSPA_PREFERENCE_SETTING__ */
152
153extern rat_enum l4crac_get_current_rat(void); //mtk02475: for ECC retry other RAT feature
154extern rat_enum l4crac_get_current_camped_rat(void);
155extern rat_enum l4crac_get_nvram_rat_mode(void); //mtk02475: for ECC retry other RAT feature
156// #ifdef __GEMINI__ //__GEMINI_3G_SWITCH__
157extern void l4crac_update_nvram_rat_mode(rat_enum nvram_rat_mode, sim_interface_enum sim_id); //mtk02475: for 3G switchable feature
158// #endif
159//mtk02475: for AT%CAMP, L4C need to query current CS domain service status
160extern l4c_rac_response_enum l4crac_get_gsm_status(void); //rx_level need
161
162extern kal_bool l4crac_is_on_hplmn(void); //mtk02475: for EHPLMN, modem will provide the information of roaming
163
164#ifdef __GEMINI__ //__GEMINI_MONITOR_PAGE_DURING_TRANSFER__
165extern kal_bool l4crac_get_peer_gprs_transfer_preference(void);
166extern void l4crac_set_peer_gprs_transfer_preference(kal_bool peer_transfer_perference);
167#endif
168
169extern kal_uint16 l4crac_get_rnc_id(void);
170
171#ifdef __CSG_SUPPORT__
172//mtk02475: for Rel8 CSG autonomous search
173extern kal_bool l4crac_get_csg_auto_search_preference(void);
174extern void l4crac_set_csg_auto_search_preference(kal_bool preference);
175extern kal_bool l4crac_get_csg_info(csg_info_struct *csg_info);
176#endif /* __CSG_SUPPORT__ */
177
178extern kal_bool l4crac_get_roaming_mode(void);
179extern rat_enum l4crac_get_reported_rat(void);
180
181extern kal_bool l4crac_get_roaming_setting(roaming_setting_enum setting);
182extern void l4crac_set_roaming_setting(roaming_setting_enum setting, kal_bool is_turn_on);
183
184#ifdef __LTE_RAT__
185/*****************************************************************************
186 * FUNCTION
187 * l4crac_get_ue_mode
188 *
189 * DESCRIPTION
190 * get the current UE mode of operation
191 *
192 * PARAMETERS
193 * runtime_ue_mode_ptr [OUT] runtime ue mode
194 * nvram_ue_mode_ptr [OUT] nvram ue mode
195 *
196 * RETURNS
197 * KAL_TRUE - success
198 * KAL_FALSE - failure
199 *
200 * GLOBALS AFFECTED
201 * none
202 *
203 *****************************************************************************/
204kal_bool l4crac_get_ue_mode(ue_mode_enum *runtime_ue_mode_ptr, ue_mode_enum *nvram_ue_mode_ptr);
205
206/*****************************************************************************
207 * FUNCTION
208 * l4crac_test_ue_mode
209 *
210 * DESCRIPTION
211 * get the supported UE mode of operation
212 *
213 * PARAMETERS
214 * is_basic [IN] if AT CMD is basic or not
215 * basic - AT+CEMODE
216 * exteneded - AT+EEMODE
217 * buffer [OUT] buffer pointer to pointer
218 *
219 * RETURNS
220 * KAL_TRUE - success
221 * KAL_FALSE - failure
222 *
223 * GLOBALS AFFECTED
224 * none
225 *
226 *****************************************************************************/
227kal_bool l4crac_test_ue_mode(kal_bool is_basic, const kal_uint8 **buffer);
228
229/*****************************************************************************
230 * FUNCTION
231 * l4crac_get_sms_preference
232 *
233 * DESCRIPTION
234 * get the current SMS preference
235 *
236 * PARAMETERS
237 * sms_preference_ptr [OUT] SMS preference
238 *
239 * RETURNS
240 * KAL_TRUE - success
241 * KAL_FALSE - failure
242 *
243 * GLOBALS AFFECTED
244 * none
245 *
246 *****************************************************************************/
247kal_bool l4crac_get_sms_preference(l4c_rac_sms_preference_enum *sms_preference_ptr);
248
249
250/*****************************************************************************
251 * FUNCTION
252 * l4crac_get_sms_over_sgs_config
253 *
254 * DESCRIPTION
255 * get the enable/disable configuration of SMS over SGs
256 *
257 * PARAMETERS
258 * none
259 *
260 * RETURNS
261 * KAL_TRUE - enable
262 * KAL_FALSE - disable
263 *
264 * GLOBALS AFFECTED
265 * none
266 *
267 *****************************************************************************/
268kal_bool l4crac_get_sms_over_sgs_config(void);
269
270
271/*****************************************************************************
272 * FUNCTION
273 * l4crac_test_sms_preference
274 *
275 * DESCRIPTION
276 * get the supported SMS preference
277 *
278 * PARAMETERS
279 * buffer [OUT] buffer pointer to pointer
280 *
281 * RETURNS
282 * KAL_TRUE - success
283 * KAL_FALSE - failure
284 *
285 * GLOBALS AFFECTED
286 * none
287 *
288 *****************************************************************************/
289kal_bool l4crac_test_sms_preference(const kal_uint8 **buffer);
290
291/*****************************************************************************
292 * FUNCTION
293 * l4crac_get_ue_usage_setting
294 *
295 * DESCRIPTION
296 * get the current UE's usage setting
297 *
298 * PARAMETERS
299 * ue_usage_setting_ptr [OUT] UE's usage setting
300 *
301 * RETURNS
302 * KAL_TRUE - success
303 * KAL_FALSE - failure
304 *
305 * GLOBALS AFFECTED
306 * none
307 *
308 *****************************************************************************/
309kal_bool l4crac_get_ue_usage_setting(ue_usage_setting_enum *ue_usage_setting_ptr);
310
311/*****************************************************************************
312 * FUNCTION
313 * l4crac_test_ue_usage_setting
314 *
315 * DESCRIPTION
316 * get the supported UE's usage setting
317 *
318 * PARAMETERS
319 * buffer [OUT] buffer pointer to pointer
320 *
321 * RETURNS
322 * KAL_TRUE - success
323 * KAL_FALSE - failure
324 *
325 * GLOBALS AFFECTED
326 * none
327 *
328 *****************************************************************************/
329kal_bool l4crac_test_ue_usage_setting(const kal_uint8 **buffer);
330
331/*****************************************************************************
332 * FUNCTION
333 * l4crac_get_ims_voice_availability
334 *
335 * DESCRIPTION
336 * get the current availability of IMS voice
337 *
338 * PARAMETERS
339 * ims_voice_availability_ptr [OUT] availability of IMS voice
340 *
341 * RETURNS
342 * KAL_TRUE - success
343 * KAL_FALSE - failure
344 *
345 * GLOBALS AFFECTED
346 * none
347 *
348 *****************************************************************************/
349kal_bool l4crac_get_ims_voice_availability(kal_bool *ims_voice_availability_ptr);
350
351/*****************************************************************************
352 * FUNCTION
353 * l4crac_test_ims_voice_availability
354 *
355 * DESCRIPTION
356 * get the supported availability of IMS voice
357 *
358 * PARAMETERS
359 * buffer [OUT] buffer pointer to pointer
360 *
361 * RETURNS
362 * KAL_TRUE - success
363 * KAL_FALSE - failure
364 *
365 * GLOBALS AFFECTED
366 * none
367 *
368 *****************************************************************************/
369kal_bool l4crac_test_ims_voice_availability(const kal_uint8 **buffer);
370
371/*****************************************************************************
372 * FUNCTION
373 * l4crac_get_ims_sms_availability
374 *
375 * DESCRIPTION
376 * get the current availability of IMS SMS
377 *
378 * PARAMETERS
379 * ims_voice_availability_ptr [OUT] availability of IMS SMS
380 *
381 * RETURNS
382 * KAL_TRUE - success
383 * KAL_FALSE - failure
384 *
385 * GLOBALS AFFECTED
386 * none
387 *
388 *****************************************************************************/
389kal_bool l4crac_get_ims_sms_availability(kal_bool *ims_sms_availability_ptr);
390
391/*****************************************************************************
392 * FUNCTION
393 * l4crac_test_ims_sms_availability
394 *
395 * DESCRIPTION
396 * get the supported availability of IMS SMS
397 *
398 * PARAMETERS
399 * buffer [OUT] buffer pointer to pointer
400 *
401 * RETURNS
402 * KAL_TRUE - success
403 * KAL_FALSE - failure
404 *
405 * GLOBALS AFFECTED
406 * none
407 *
408 *****************************************************************************/
409kal_bool l4crac_test_ims_sms_availability(const kal_uint8 **buffer);
410
411#ifdef __VOLTE_SUPPORT__
412/*****************************************************************************
413 * FUNCTION
414 * l4crac_get_mm_ims_voice_termination
415 *
416 * DESCRIPTION
417 * get the support of mobile management for IMS voice termination
418 *
419 * PARAMETERS
420 * mm_ivt_ptr [OUT] MM IMS voice termination
421 *
422 * RETURNS
423 * KAL_TRUE - success
424 * KAL_FALSE - failure
425 *
426 * GLOBALS AFFECTED
427 * none
428 *
429 *****************************************************************************/
430kal_bool l4crac_get_mm_ims_voice_termination(mm_ims_voice_termination *mm_ivt_ptr);
431#endif /* __VOLTE_SUPPORT__ */
432
433#endif /* __LTE_RAT__ */
434
435/*****************************************************************************
436 * FUNCTION
437 * l4crac_get_voice_domain_preference
438 *
439 * DESCRIPTION
440 * get the current voice domain preference
441 *
442 * PARAMETERS
443 * rat [IN] indicate voice domain preference of UTRAN or E-UTRAN
444 * voice_domain_preference_ptr [OUT] voice domain preference
445 *
446 * RETURNS
447 * KAL_TRUE - success
448 * KAL_FALSE - failure
449 *
450 * GLOBALS AFFECTED
451 * none
452 *
453 *****************************************************************************/
454kal_bool l4crac_get_voice_domain_preference(rat_enum rat, l4_voice_domain_preference_enum *voice_domain_preference_ptr);
455
456/*****************************************************************************
457 * FUNCTION
458 * l4crac_test_voice_domain_preference
459 *
460 * DESCRIPTION
461 * get the supported voice domain preference
462 *
463 * PARAMETERS
464 * rat [IN] indicate voice domain preference of UTRAN or E-UTRAN
465 * buffer [OUT] buffer pointer to pointer
466 *
467 * RETURNS
468 * KAL_TRUE - success
469 * KAL_FALSE - failure
470 *
471 * GLOBALS AFFECTED
472 * none
473 *
474 *****************************************************************************/
475kal_bool l4crac_test_voice_domain_preference(rat_enum rat, const kal_uint8 **buffer);
476
477/*****************************************************************************
478 * FUNCTION
479 * l4crac_send_attach_req
480 *
481 * DESCRIPTION
482 * force to send attach req to mm/emm
483 *
484 * PARAMETERS
485 * service [IN] domain_id_enum to indicate domain_type
486 *
487 * RETURNS
488 * KAL_TRUE - success
489 * KAL_FALSE - failure
490 *
491 * GLOBALS AFFECTED
492 * none
493 *
494 *****************************************************************************/
495kal_bool l4crac_send_attach_req(domain_id_enum service);
496
497/*****************************************************************************
498* FUNCTION
499* l4crac_set_ue_reattach_setting
500* DESCRIPTION
501* Decide UE to stay EUTRAN or not when EUTRAN is disable
502*
503* PARAMETERS
504* is_user_ps_reattach: TRUE/FALSE
505*
506* RETURNS
507* none
508* GLOBALS AFFECTED
509* none
510*****************************************************************************/
511kal_bool l4crac_set_ue_reattach_setting (kal_bool is_user_ps_reattach);
512
513/*****************************************************************************
514* FUNCTION
515* l4crac_get_ue_reattach_setting
516* DESCRIPTION
517* Get the configure for UE stay EUTRAN or not when EUTRAN is disable
518*
519* PARAMETERS
520* none
521*
522* RETURNS
523* TRUE/FALSE
524* GLOBALS AFFECTED
525* none
526*****************************************************************************/
527kal_bool l4crac_get_ue_reattach_setting (void);
528
529/*****************************************************************************
530* FUNCTION
531* l4crac_set_data_service_status
532* DESCRIPTION
533* relay the user data connection setting to NWSEL
534*
535* PARAMETERS
536* status: on/off
537*
538* RETURNS
539* none
540* GLOBALS AFFECTED
541* none
542*****************************************************************************/
543kal_bool l4crac_set_data_service_status(kal_bool status);
544
545/*****************************************************************************
546* FUNCTION
547* l4crac_is_ps_attach_always
548* DESCRIPTION
549* reply auto_attach configure to L4
550*
551* PARAMETERS
552* none
553*
554* RETURNS
555* TRUE/FALSE
556* GLOBALS AFFECTED
557* none
558*****************************************************************************/
559kal_bool l4crac_is_peer_ps_attach_always(kal_uint8 sim_interface);
560
561/*****************************************************************************
562* FUNCTION
563* l4crac_get_duplex_mode_setting
564* DESCRIPTION
565* Get the configure for FDD/TDD setting
566*
567* PARAMETERS
568* geran_tdma [OUT]
569* utran_fdd [OUT]
570* utran_tdd_lcr [OUT]
571* eutran_fdd [OUT]
572* eutran_tdd [OUT]
573*
574* RETURNS
575* TRUE/FALSE
576* GLOBALS AFFECTED
577* none
578*****************************************************************************/
579kal_bool l4crac_get_duplex_mode_setting(kal_bool *geran_tdma,
580 kal_bool *utran_fdd,
581 kal_bool *utran_tdd_lcr,
582 kal_bool *eutran_fdd,
583 kal_bool *eutran_tdd);
584
585/*****************************************************************************
586* FUNCTION
587* l4crac_get_plmn_for_attach
588* DESCRIPTION
589* Get the plmn_id received from EMMREG_EPS_ATTACH_NEEDED_IND
590*
591* PARAMETERS
592* plmn_id_for_attach [OUT] plmn_id from EMMREG_EPS_ATTACH_NEEDED_IND
593* simInterface [IN] Which SIM to be used
594*
595* RETURNS
596* none
597* GLOBALS AFFECTED
598* none
599*****************************************************************************/
600void l4crac_get_plmn_for_attach(plmn_id_struct *plmn_id_for_attach, sim_interface_enum simInterface);
601
602/*****************************************************************************
603* FUNCTION
604* l4crac_get_current_duplex_mode
605* DESCRIPTION
606* Get the current Duple mode
607*
608* PARAMETERS
609*
610* RETURNS
611* rat_duplex_type_enum
612* GLOBALS AFFECTED
613* none
614*****************************************************************************/
615extern rat_duplex_type_enum l4crac_get_current_duplex_mode(void);
616/*****************************************************************************
617* FUNCTION
618* l4crac_check_no_or_limited_service
619* DESCRIPTION
620* Checks if the UE is in Limited or in No service
621*
622* PARAMETERS
623* none
624* RETURNS
625* TRUE/FALSE
626* GLOBALS AFFECTED
627* none
628*****************************************************************************/
629extern kal_bool l4crac_check_no_or_limited_service(void);
630
631/*****************************************************************************
632* FUNCTION
633* l4crac_get_ims_support
634* DESCRIPTION
635* This function retruns current ims_support or not
636*
637* PARAMETERS
638*
639* RETURNS
640* TRUE or FALSE
641* GLOBALS AFFECTED
642* none
643*****************************************************************************/
644kal_bool l4crac_get_ims_support(void);
645
646
647extern kal_bool l4crac_is_sim_invalid(void);
648extern void l4crac_set_is_sim_invalid(kal_bool setting);
649
650/*****************************************************************************
651* FUNCTION
652* l4crac_get_ims_support_by_ps_id
653* l4crac_get_rat_mode_by_ps_id
654* DESCRIPTION
655* This function retruns current ims_support or not/rat_mode by ps id
656* ALPS03528285/MOLY00285562
657*
658* PARAMETERS
659*
660* RETURNS
661* TRUE or FALSE
662* GLOBALS AFFECTED
663* none
664*****************************************************************************/
665kal_bool l4crac_get_ims_support_by_ps_id (protocol_id_enum ps_id);
666
667rat_enum l4crac_get_rat_mode_by_ps_id (protocol_id_enum ps_id);
668
669/*****************************************************************************
670* FUNCTION
671* l4crac_get_fplmns
672* DESCRIPTION
673* Get list of FPLMNs and response to AT command AT+EFPLMN? request
674* MOLY00293006
675*
676* PARAMETERS
677* num_of_fplmn - to get number of FPLMNs
678* read_fplmn_ptr - to get FPLMNs in plmn_id_struct
679*
680* RETURNS
681* void
682*****************************************************************************/
683extern void l4crac_get_fplmns(kal_uint8 *num_of_fplmn, plmn_id_struct *read_fplmn_ptr);
684
685void l4crac_send_search_ind(nwsel_status_enum nwsel_status);
686
687#ifndef __MTK_TARGET__
688extern void l4crac_ut_set_rat_mode(rat_enum rat_mode);
689#endif /* __MTK_TARGET__ */
690
691kal_bool rac_ug_check_is_abnormal_lu(mm_cause_enum cause);
692
693
694rat_enum l4crac_get_prefer_rat_by_ps_id (protocol_id_enum ps_id);
695
696extern void l4crac_reset_is_set_rat_triggered_by_ps_id(protocol_id_enum ps_id);
697extern void l4crac_set_deep_sleep_mode(protocol_id_enum ps_id, kal_bool is_deep_sleep_mode);
698
699
700extern kal_bool rac_is_vg_option_setting_valid(vg_option_enum target_vg_option_bitmap);
701
702extern kal_bool l4crac_save_vg_option(vg_option_enum vg_option_bitmap);
703
704#endif /* _L4CRAC_FUNC_H */
705