blob: 327cfca4b5ae2c8c9d0559124d2fd4b9d2d703d9 [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/*******************************************************************************
37 * Filename:
38 * ---------
39 * l4crac_struct.h
40 *
41 * Project:
42 * --------
43 * MAUI
44 *
45 * Description:
46 * ------------
47 * This file is intends for structure definition between RAC and L4C.
48 *
49 * Author:
50 * -------
51 * -------
52 *
53 *==============================================================================
54 *******************************************************************************/
55
56/********************************************************************************
57* Copyright Statement:
58* --------------------
59*
60* This product has been developed using a protocol stack
61* developed by Sasken Communication Technologies Limited.
62*
63********************************************************************************/
64
65
66/*******************************************************************************
67* Copyright Statement:
68* --------------------
69* This software is protected by Copyright and the information contained
70* herein is confidential. The software may not be copied and the information
71* contained herein may not be used or disclosed except with the written
72* permission of MediaTek Inc. (C) 2002
73*
74*******************************************************************************
75 * FILENAME : l4c2rac_struct.h
76 * SYNOPSIS : Functions for encoding/decoding.
77 *
78 * R E V I S I O N H I S T O R Y
79 *
80 */
81#ifndef _L4C2RAC_STRUCT_H
82#define _L4C2RAC_STRUCT_H
83
84#include "ps_public_enum.h"
85#include "kal_public_defs.h"
86#include "mcd_l3_inc_struct.h"
87#include "kal_general_types.h"
88#include "l3_inc_enums.h"
89#include "l3_inc_local.h"
90#include "l4c_common_enum.h"
91#include "l4crac_enums.h"
92#include "sim_public_enum.h"
93#include "ims_common_def.h"
94#include "irat_common_enums.h"
95#include "gmss_public.h"
96#include "rac_gmss_struct.h"
97
98#include "c2k_irat_msg_struct.h"
99#include "l4c_eval_struct.h"
100
101typedef struct {
102 LOCAL_PARA_HDR
103 l4c_source_id_enum src_id; /* source id*/
104} l4crac_act_req_struct;
105
106typedef struct {
107 LOCAL_PARA_HDR
108 l4c_source_id_enum src_id; /* source id*/
109 mm_user_search_type_enum search_type; //mm_user_search_type_enum, erica 20070424, MAUI_00232280
110 mm_user_search_cause_enum search_cause; //used for GSMA SIM block feature
111} l4crac_reg_req_struct;
112
113typedef struct {
114 LOCAL_PARA_HDR
115 l4c_source_id_enum src_id; /* source id*/
116 mm_user_search_type_enum search_type; //mm_user_search_type_enum, erica 20070424, MAUI_00232280
117} l4crac_ps_reg_req_struct;
118
119typedef struct {
120 LOCAL_PARA_HDR
121 l4c_source_id_enum src_id; /* source id*/
122 domain_id_enum service; /* CS/PS/CS_PS*/
123 kal_bool is_poweroff; /* TRUE/FALSE*/
124 l4c_rac_detach_cause_enum detach_cause; /*DETACH_CAUSE_NONE/DETACH_CAUSE_DUPLEX_MODE_CHANGE*/
125 kal_uint8 sim_index; /*which sim is invalid*/
126 rat_enum reject_rat; /*which rat reject the sim*/
127} l4crac_dereg_req_struct;
128
129typedef struct {
130 LOCAL_PARA_HDR
131 rfoff_cause_enum rfoff_cause;
132} l4crac_rfoff_req_struct;
133
134typedef struct {
135 LOCAL_PARA_HDR
136 l4c_source_id_enum src_id; /* source id*/
137 user_list_type_enum user_list_type;
138 rat_enum list_rat;
139 kal_uint8 given_number_of_plmn; // used for the USER_LIST_TYPE_GIVEN_TIMER_NUMBER. When xAS found the given number of plmn, xAS return plmn list cnf (with signal power value). If the number is 255, means feature OFF.
140 kal_uint32 given_timer_period; //used for the USER_LIST_TYPE_GIVEN_TIMER_NUMBER to guard the plmn list procedure, if the timer timeout, RAC will notify lower layer to update what they found
141 network_scan_input_struct network_scan_input;
142} l4crac_plmn_list_req_struct;
143
144typedef struct {
145 LOCAL_PARA_HDR
146 l4c_source_id_enum src_id; /* source id*/
147 ms_mobile_class_enum ms_class; /* CC/CG/B*/
148} l4crac_class_change_req_struct;
149
150#if 0 // MOLY00083802 remove band related codes in RAC
151/* under construction !*/
152/* under construction !*/
153/* under construction !*/
154/* under construction !*/
155/* under construction !*/
156/* under construction !*/
157/* under construction !*/
158/* under construction !*/
159/* under construction !*/
160#ifdef __LTE_RAT__
161/* under construction !*/
162/* under construction !*/
163#endif /* __LTE_RAT__ */
164/* under construction !*/
165/* under construction !*/
166#endif
167
168#if defined(__GEMINI__)
169typedef struct {
170 LOCAL_PARA_HDR
171 sim_config_status_enum sim_config_status; // refer to sim_config_status_enum
172 sim_insert_status_enum sim_insert_status; // refer to sim_insert_status_enum
173}l4crac_sim_status_update_req_struct;
174#endif
175
176typedef struct {
177 LOCAL_PARA_HDR
178 l4c_source_id_enum src_id; /* source id*/
179 plmn_id_rat_struct plmn_id;
180 //kal_uint8 plmn_sel_mode;
181
182 /* Johnny:
183 AUTO_RESELECTION/MANUAL_RESELECTION, there is no __MANUAL_MODE_NW_SEL__ compile option
184 */
185 plmn_reselection_enum plmn_reselection_mode;
186 rat_enum preference; // 0:default , 1:GSM , 2:UMTS
187 endc_search_enum endc_search_mode;
188 kal_uint32 factory_mode_arfcn; //FastCampOn 20081104
189#ifdef __CSG_SUPPORT__
190//mtk02475: for Rel8 CSG feature, user can specify CSG id for manual CSG selection
191 kal_bool is_manual_csg_sel;
192 kal_uint32 csg_id;
193#endif
194} l4crac_plmn_search_req_struct;
195
196typedef rac_gmss_abort_enwsel_search_req_struct l4crac_abort_enwsel_search_req_struct;
197
198typedef struct {
199 LOCAL_PARA_HDR
200 l4c_source_id_enum src_id;
201 rat_enum rat_mode;
202 kal_bool save_to_nvram; //MAUI_02554068
203}l4crac_set_rat_mode_req_struct;
204
205typedef struct {
206 LOCAL_PARA_HDR
207 l4c_source_id_enum src_id;
208}l4crac_plmn_list_stop_req_struct;
209
210typedef struct {
211 LOCAL_PARA_HDR
212 l4c_source_id_enum src_id;
213 prefer_rat_type_enum type;
214 rat_enum prefer_rat;
215 kal_uint32 rat_num;
216 rat_enum rat_order[MAX_SUPPORTED_RAT];
217}l4crac_set_prefer_rat_req_struct;
218
219typedef struct {
220 LOCAL_PARA_HDR
221 l4c_source_id_enum src_id;
222 prefer_rat_type_enum type;
223}l4crac_get_prefer_rat_req_struct;
224
225typedef struct {
226 LOCAL_PARA_HDR
227 l4c_source_id_enum src_id;
228 susp_resu_mode_enum mode;
229 susp_resu_action_enum action;
230 kal_uint8 susp_id;
231 susp_resu_source_enum source;
232}l4crac_susp_resu_update_req_struct;
233
234typedef struct {
235 LOCAL_PARA_HDR
236 l4c_source_id_enum src_id;
237 kal_bool is_supporting_roaming;
238 kal_bool disable_international_roaming_support;
239 kal_bool disable_national_roaming_support;
240 kal_bool disable_hhplmn_search_support;
241}l4crac_set_roaming_mode_req_struct;
242
243typedef struct {
244 LOCAL_PARA_HDR
245 l4c_source_id_enum src_id;
246 kal_bool force_send_SCRI;
247 end_session_cause_enum cause;
248}l4crac_end_ps_data_session_req_struct;
249
250typedef struct {
251 LOCAL_PARA_HDR
252 end_session_cause_enum cause;
253}l4crac_end_ps_data_session_ind_struct;
254
255#ifdef __CSG_SUPPORT__
256typedef struct {
257 LOCAL_PARA_HDR
258 l4c_source_id_enum src_id;
259 plmn_id_rat_struct plmn_id_rat; //mtk02475: user can specified the CSG list scope
260} l4crac_csg_list_req_struct;
261
262typedef struct {
263 LOCAL_PARA_HDR
264 l4c_source_id_enum src_id;
265}l4crac_csg_list_stop_req_struct;
266#endif /* __CSG_SUPPORT__ */
267
268typedef struct
269{
270 LOCAL_PARA_HDR
271 l4c_source_id_enum src_id;
272 l4c_rac_sms_preference_enum sms_preference;
273 kal_bool is_from_provision;
274} l4crac_set_sms_preference_req_struct;
275
276typedef struct
277{
278 LOCAL_PARA_HDR
279 l4c_source_id_enum src_id;
280 kal_bool enable;
281} l4crac_set_sms_over_sgs_req_struct;
282
283typedef struct
284{
285 LOCAL_PARA_HDR
286 l4c_source_id_enum src_id;
287 kal_bool is_utran_vdp_valid;
288 kal_bool is_eutran_vdp_valid;
289 l4_voice_domain_preference_enum utran_voice_domain_preference;
290 l4_voice_domain_preference_enum eutran_voice_domain_preference;
291 kal_bool is_from_provision;
292} l4crac_set_voice_domain_preference_req_struct;
293
294typedef struct
295{
296 LOCAL_PARA_HDR
297 l4c_source_id_enum src_id;
298 ue_usage_setting_enum ue_usage_setting;
299} l4crac_set_ue_usage_setting_req_struct;
300
301typedef struct
302{
303 LOCAL_PARA_HDR
304 l4c_source_id_enum src_id;
305 ue_mode_enum ue_mode;
306} l4crac_set_ue_mode_req_struct;
307
308typedef struct
309{
310 LOCAL_PARA_HDR
311 l4c_source_id_enum src_id;
312 kal_bool is_ims_voice_available;
313} l4crac_set_ims_voice_availability_req_struct;
314
315typedef struct
316{
317 LOCAL_PARA_HDR
318 l4c_source_id_enum src_id;
319 kal_bool is_ims_sms_available;
320} l4crac_set_ims_sms_availability_req_struct;
321
322typedef struct
323{
324 LOCAL_PARA_HDR
325} l4crac_sim_ready_ind_struct;
326
327typedef struct
328{
329 LOCAL_PARA_HDR
330 sim_error_cause_enum cause;
331} l4crac_sim_error_ind_struct;
332
333typedef struct {
334 LOCAL_PARA_HDR
335 l4c_source_id_enum src_id;
336 kal_uint32 timer_interval[MAX_RECOVERY_TIMER_NUM];
337} l4crac_set_recovery_search_timer_req_struct;
338
339typedef struct {
340 LOCAL_PARA_HDR
341 l4c_source_id_enum src_id;
342 kal_bool result;
343} l4crac_set_recovery_search_timer_cnf_struct;
344
345typedef struct {
346 LOCAL_PARA_HDR
347 l4c_source_id_enum src_id; // need to piggyback to L4C
348} l4crac_get_recovery_search_timer_req_struct;
349
350typedef struct {
351 LOCAL_PARA_HDR
352 l4c_source_id_enum src_id; // piggyback to L4C from REQ
353 kal_uint32 timer_interval[MAX_RECOVERY_TIMER_NUM];
354} l4crac_get_recovery_search_timer_cnf_struct;
355
356typedef struct {
357 LOCAL_PARA_HDR
358 ps_cause_enum cause;
359} l4crac_eps_attach_needed_rej_rsp_struct;
360
361typedef struct {
362 LOCAL_PARA_HDR
363 ct_mode_enum mode;
364} l4crac_set_ct_mode_req_struct;
365
366
367#if defined(__CDMA2000_RAT__)
368typedef struct
369{
370 LOCAL_PARA_HDR
371 mmdc_recovery_search_enum trigger_type;
372} l4crac_mmdc_recovery_search_req_struct;
373#endif
374
375typedef struct {
376 LOCAL_PARA_HDR
377 act_sim_enum active_sim;
378}l4crac_active_sim_ind_struct, l4crac_active_sim_req_struct;
379
380typedef struct {
381 LOCAL_PARA_HDR
382 plmn_id_struct plmn;
383 rat_enum rat;
384 kal_uint8 ara_start[2];
385 kal_uint8 ara_end[2];
386}l4crac_aral_update_req_struct;
387
388typedef struct
389{
390 LOCAL_PARA_HDR
391 l4c_source_id_enum src_id;
392 ims_reg_state_enum reg_state;
393 ims_reg_type_enum reg_type;
394 ims_dereg_cause_enum dereg_cause;
395 ims_access_rat_enum rat;
396 kal_bool is_retry;
397 kal_uint32 ext_info;
398} l4crac_ims_reg_status_update_req_struct;
399
400#ifdef __IMS_SUPPORT__
401typedef struct
402{
403 LOCAL_PARA_HDR
404 l4c_source_id_enum src_id;
405 kal_bool is_ims_voice_support;
406 kal_bool is_ims_sms_support;
407 ims_cap_rat_enum ims_rat_cap;
408} l4crac_ims_config_req_struct;
409
410typedef struct
411{
412 LOCAL_PARA_HDR
413 ims_reg_type_enum reg_type;
414} l4crac_ims_reg_start_req_struct, l4crac_ims_dereg_start_req_struct;
415
416typedef struct
417{
418 LOCAL_PARA_HDR
419 ims_timer_type_enum timer_type;
420 ims_timer_status_enum timer_status;
421 kal_uint16 timer_length;
422} l4crac_ims_timer_status_update_req_struct;
423
424typedef struct
425{
426 LOCAL_PARA_HDR
427 ims_special_event_enum ims_event;
428 imcb_imc_sip_cause_enum sip_cause;
429} l4crac_ims_event_update_req_struct;
430
431#endif /* __IMS_SUPPORT__*/
432
433typedef struct
434{
435 LOCAL_PARA_HDR
436 kal_bool is_ims_roaming_enable;
437} l4crac_set_ims_roaming_config_req_struct;
438
439typedef struct {
440 LOCAL_PARA_HDR
441 kal_uint8 src_id;
442 custom_plmn_type_enum type;
443} l4crac_get_custom_plmn_list_req_struct;
444
445typedef struct {
446 LOCAL_PARA_HDR
447 custom_plmn_type_enum type;
448 kal_uint8 plmn_ver[2];
449 kal_uint16 no_plmn_entry;
450 kal_uint8 *plmn_data;
451} l4crac_custom_plmn_list_update_req_struct;
452
453#ifdef __VOLTE_SUPPORT__
454typedef struct
455{
456 LOCAL_PARA_HDR
457 l4c_source_id_enum src_id;
458 mm_ims_voice_termination mm_ivt;
459} l4crac_set_mm_ims_voice_termination_req_struct;
460#endif /* __VOLTE_SUPPORT__ */
461
462typedef struct {
463 LOCAL_PARA_HDR
464 call_status_enum call_status;
465 call_type_indication_enum call_type;
466 kal_bool is_flight_mode_on_ecc; // GMSS need this flag to determine System/PLMN selection logic during filght mode ECC
467 rat_enum call_current_rat; // the call start/stop current rat
468} l4crac_call_status_req_struct;
469
470typedef struct {
471 LOCAL_PARA_HDR
472 rat_enum rat;
473} l4crac_set_first_camp_on_prefer_rat_req_struct;
474
475typedef struct {
476 LOCAL_PARA_HDR
477 emdstatus_md_config_enum md_config;
478 emdstatus_sim_config_enum sim_config;
479} l4crac_md_sim_config_req_struct;
480
481typedef struct
482{
483 LOCAL_PARA_HDR
484 l4c_source_id_enum src_id;
485 plmn_id_struct plmn_id;
486} l4crac_disable_eutran_req_struct;
487
488typedef struct {
489 LOCAL_PARA_HDR
490 l4c_source_id_enum src_id;
491 kal_bool geran_tdma;
492 kal_bool utran_fdd;
493 kal_bool utran_tdd_lcr;
494 kal_bool eutran_fdd;
495 kal_bool eutran_tdd;
496 kal_bool nr_fdd;
497 kal_bool nr_tdd;
498 mode_switch_cause_enum cause;
499} l4crac_duplex_mode_change_req_struct;
500
501 typedef struct {
502 LOCAL_PARA_HDR
503 l4c_source_id_enum src_id;
504 } l4crac_clear_mru_req_struct;
505
506 typedef struct
507{
508 LOCAL_PARA_HDR
509 l4c_source_id_enum src_id;
510 rat_enum rat;
511 plmn_id_struct plmn_id;
512 kal_uint16 arfcn;
513 kal_uint8 requested_band;
514} l4crac_set_mru_req_struct;
515
516typedef struct
517{
518 LOCAL_PARA_HDR
519 l4c_source_id_enum src_id;
520 rat_enum rat;
521 plmn_id_struct plmn_id;
522} l4crac_set_aux_plmn_req_struct;
523
524typedef struct
525{
526 LOCAL_PARA_HDR
527 kal_bool voice_over_ims_ongoing;
528} l4crac_ims_call_info_req_struct;
529
530typedef struct
531{
532 LOCAL_PARA_HDR
533 l4c_source_id_enum src_id;
534 ims_scm_info_type_enum application;
535 ims_scm_info_action_enum indication;
536} l4crac_ims_scm_req_struct;
537
538typedef struct {
539 LOCAL_PARA_HDR
540 wm_policy_enum wm_policy;
541} l4crac_set_wm_policy_req_struct;
542
543typedef struct {
544 LOCAL_PARA_HDR
545 kal_bool data_enabled_setting;
546 kal_bool data_roaming_setting;
547} l4crac_set_roaming_data_config_req_struct;
548
549
550typedef struct
551{
552 LOCAL_PARA_HDR
553 l4c_source_id_enum src_id;
554 module_type dst_id; // destination module ID
555 omadm_cmd_type_enum cmd;
556 omadm_node_type_enum node_type; // OMADM node
557 kal_uint32 node_value; // used only cmd=SET
558} l4crac_omadm_update_req_struct;
559
560typedef struct
561{
562 LOCAL_PARA_HDR
563 l4c_source_id_enum src_id;
564 mru_cmd_type_enum cmd;
565 mmss_list_type_enum list_type; // RAL or MRU
566 vzwmru_entry_struct entry; // used only cmd=EDIT
567} l4crac_vzwmru_update_req_struct;
568
569typedef struct
570{
571 LOCAL_PARA_HDR
572 l4c_source_id_enum src_id;
573 hvolte_mode_enum mode;
574 kal_bool is_for_silent_redial;
575 set_hvolte_mode_cause_enum cause;
576} l4crac_set_hvolte_mode_req_struct;
577
578typedef struct
579{
580 LOCAL_PARA_HDR
581 kal_bool mode; //to indicate the mode=0/1 to RAC
582} l4crac_cs_voice_call_protection_req_struct;
583
584typedef struct
585{
586 LOCAL_PARA_HDR
587 kal_bool is_main_ps; /* GEMINI : data preferred SIM e.g. internet data*/
588} l4crac_data_allow_req_struct;
589
590typedef struct
591{
592 LOCAL_PARA_HDR
593 kal_bool is_main_ps; /* GEMINI : data preferred SIM e.g. internet data*/
594} l4cvdm_data_allow_req_struct;
595
596typedef struct
597{
598 LOCAL_PARA_HDR
599 kal_bool is_user_selected_main_ps; /* GEMINI : user selected data preferred stack e.g. internet data*/
600} l4crac_user_selected_main_ps_req_struct;
601
602typedef struct{
603 LOCAL_PARA_HDR
604 kal_uint8 tw_mode;
605 kal_uint8 setting;
606} l4crac_gmss_set_tw_mode_req_struct;
607
608
609typedef struct {
610 LOCAL_PARA_HDR
611 kal_bool is_apn_enable;
612} l4crac_vzw_admin_apn_setting_notify_req_struct;
613
614typedef struct {
615 LOCAL_PARA_HDR
616 kal_bool is_data_service_present;
617 kal_bool is_data_service_on;
618 kal_bool is_data_roaming_service_present;
619 kal_bool is_data_roaming_service_on;
620} l4crac_data_service_status_update_req_struct;
621
622#ifdef __GEMINI__
623typedef struct {
624 LOCAL_PARA_HDR
625 l4c_source_id_enum src_id;
626}l4crac_rsim_auth_abort_req_struct;
627
628typedef struct {
629 LOCAL_PARA_HDR
630 kal_bool is_rsim_enable;
631}l4crac_rsim_set_ps_only_req_struct;
632
633typedef struct {
634 LOCAL_PARA_HDR
635 kal_bool is_rsim_enabled; /* TRUE when RSIM is enabled, (i.e when AT+ERSIM = 1 is received), FALSE when RSIM is disabled, (i.e when AT+ERSIM = 0 is received)*/
636 kal_bool is_aka_sim_enabled; /* TRUE when AKA SIM is enabled (I.E when AT+ERSIMAKA=1 is received), FALSE when AKA SIM is enabled, (i.e when AT+ERSIMAKA = 0 is received) */
637}l4crac_rsim_aka_status_req_struct;
638
639#endif
640
641typedef struct {
642 LOCAL_PARA_HDR
643 kal_bool is_ct_volte_support;
644} l4crac_volte_status_update_req_struct;
645
646typedef struct
647{
648 LOCAL_PARA_HDR
649 l4c_source_id_enum src_id;
650} l4crac_reset_ota_ctxt_req_struct;
651
652typedef struct
653{
654 LOCAL_PARA_HDR
655 l4c_source_id_enum src_id;
656} l4crac_get_last_rat_select_ind_req_struct;
657
658typedef struct {
659 LOCAL_PARA_HDR
660 kal_uint8 src_id;
661 vzw_barring_timer_type_enum timer_type;
662 kal_uint32 timer_interval; /* in second */
663} l4crac_gmss_set_plmn_barring_timer_req_struct;
664
665typedef struct {
666 LOCAL_PARA_HDR
667 kal_uint8 src_id;
668 kal_bool result;
669} l4crac_gmss_set_plmn_barring_timer_cnf_struct;
670
671typedef struct {
672 LOCAL_PARA_HDR
673 kal_uint8 src_id;
674 vzw_barring_timer_type_enum timer_type;
675} l4crac_gmss_get_plmn_barring_timer_req_struct;
676
677typedef struct {
678 LOCAL_PARA_HDR
679 kal_uint8 src_id;
680 kal_uint32 timer_interval;
681} l4crac_gmss_get_plmn_barring_timer_cnf_struct;
682
683typedef struct {
684 LOCAL_PARA_HDR
685 rat_enum disable_rat;
686}l4crac_rat_disable_config_req_struct; /*TMO diable 2G*/
687
688typedef struct {
689 LOCAL_PARA_HDR
690
691 kal_uint8 svn; // BCD type, non reverse
692} l4crac_set_ms_sv_req_struct;
693
694typedef struct {
695 LOCAL_PARA_HDR
696 fplmn_action_enum action;
697#ifdef __MBIM_MS_NETWORK_BLACKLIST__
698 kal_bool card_lock;
699#endif
700 kal_uint8 fplmn_count;
701 plmn_id_struct fplmn_id[MAX_NUM_FPLMNS];
702} l4crac_fplmn_action_req_struct;
703
704typedef struct {
705 kal_bool is_mobile_data_enable_present;
706 kal_bool is_mobile_data_enable;
707 kal_bool is_mobile_data_roaming_enable_present;
708 kal_bool is_mobile_data_roaming_enable;
709 kal_bool is_volte_enable_present;
710 kal_bool is_volte_enable;
711 kal_bool is_vzw_ims_test_mode_enable_present;
712 kal_bool is_vzw_ims_test_mode_enable;
713} l4crac_cellular_network_config;
714
715typedef struct {
716 LOCAL_PARA_HDR
717 l4crac_cellular_network_config config;
718}l4crac_cellular_network_config_req_struct;
719
720#if defined(__ECALL_SUPPORT__) || defined(__NG_ECALL_SUPPORT__)
721typedef struct {
722 LOCAL_PARA_HDR
723 kal_uint8 purpose;
724 kal_uint8 mode;
725 kal_uint32 timer1;
726 kal_bool is_timer1_valid;
727 kal_uint32 timer2;
728 kal_bool is_timer2_valid;
729}l4crac_set_timer_req_struct;
730#endif
731
732
733typedef struct
734{
735 LOCAL_PARA_HDR
736 module_type user;
737 kal_uint8 src_id;
738 vg_option_enum vg_option_bitmap;
739 kal_uint8 act_operation; // 0 (default value): no operation, 1: need local release, 2: need local release + trigger NR search
740} l4crac_vg_option_update_req_struct;
741
742typedef struct
743{
744 LOCAL_PARA_HDR
745 module_type user; // Piggy back
746 kal_uint8 src_id;
747 kal_bool result;
748} l4crac_vg_option_update_cnf_struct;
749
750//should be the same as mm_emm_csfb_page_rsp_struct
751typedef struct {
752 LOCAL_PARA_HDR
753 kal_bool is_accept_paging; //Whether upper layer decides to answer the mobile terminating CS service
754} l4crac_csfb_page_rsp_struct;
755
756//should be the same as mm_emm_csfb_page_config_req_struct
757typedef struct {
758 LOCAL_PARA_HDR
759 csfb_page_config_enum csfb_page_config;
760 kal_uint8 add_info; // if csfb_page_config is 3 or 4, add_info will be the new timer value
761} l4crac_csfb_page_config_req_struct;
762
763typedef struct {
764 LOCAL_PARA_HDR
765 kal_bool is_rude_wakeup;
766}l4crac_screen_on_req_struct;
767
768typedef struct {
769 LOCAL_PARA_HDR
770 kal_bool normal_oos_recovery_round_present;
771 kal_uint8 normal_oos_recovery_round; /* default value =5, range [2,10] */
772 kal_bool inactive_fullband_period_present;
773 kal_uint16 inactive_fullband_period; /* default value =200s, range [90,360] */
774 kal_bool inactive_sniffer_period_present;
775 kal_uint8 inactive_sniffer_period; /* default value =30s, range [10,60] */
776 kal_bool is_inactive_mode_present;
777 kal_bool is_inactive_mode; /* TRUE: Enter inactive mode, FALSE: Leave inactive mode*/
778 kal_bool inactive_scan_time_present;
779 kal_uint32 inactive_scan_time;
780 kal_bool inactive_sleep_time_present;
781 kal_uint32 inactive_sleep_time;
782} l4crac_inactive_mode_configuration_req_struct;
783
784typedef struct
785{
786 LOCAL_PARA_HDR
787 kal_uint8 trans_id;
788 ims_service_type_enum type;
789 ims_service_status_enum status;
790 kal_uint8 src_id; //source id of this message (IMS or VDM)
791} l4crac_uac_param_check_req_struct; // rac_vgmm_ims_uac_req_struct
792
793typedef struct
794{
795 LOCAL_PARA_HDR
796 kal_uint8 trans_id;
797 kal_uint8 src_id; //source id of this message (IMS or VDM)
798} l4crac_uac_abort_req_struct; // rac_vgmm_ims_uac_abort_req_struct
799
800typedef struct
801{
802 LOCAL_PARA_HDR
803 ims_service_type_enum type;
804 ims_service_status_enum status;
805} l4crac_nr_ims_service_status_req_struct; // rac_vgmm_ims_service_status_req_struct
806
807
808// TODO: Define below struct
809/* Below enums are defined in rac_vgmm_struct.h.
810 rac_vgmm_struct.h includes this header, so this header cannot include it again.
811 Do not use kal_uint8/kal_uint32. The sizes of enums are unpredictable!
812*/
813#if 0
814/* under construction !*/
815/* under construction !*/
816/* under construction !*/
817/* under construction !*/
818/* under construction !*/
819/* under construction !*/
820#endif
821
822typedef struct
823{
824 LOCAL_PARA_HDR
825} l4crac_emergency_service_fallback_req_struct; // rac_vgmm_emergency_service_fallback_req_struct
826
827typedef l4c_eval_sr_failure_ind_struct l4crac_vgmm_proc_failure_ind_struct;
828
829#if defined(__TC01__) // at%ltecall
830typedef struct{
831 #if defined(__GSM_RAT__)
832 kal_uint8 requested_gsm_band;
833 #endif /* __GSM_RAT__ */
834 #if defined(__UMTS_RAT__)
835 kal_uint8 requested_umts_fdd_band[SIZE_OF_UMTS_BAND];
836 #endif /* __UMTS_RAT__ */
837}custom_factory_ugrac_context_struct;
838
839#ifdef __LTE_RAT__
840typedef struct{
841 kal_uint8 requested_lte_band[SIZE_LTE_BAND];
842}custom_factory_rac_erac_context_struct;
843#endif
844
845typedef struct {
846 kal_uint8 factory_dynamic_band;
847 rat_enum factory_change_rat;
848 #if defined(__GSM_RAT__) || defined(__UMTS_RAT__)
849 custom_factory_ugrac_context_struct ugrac;
850 #endif
851 #if defined(__LTE_RAT__)
852 custom_factory_rac_erac_context_struct erac;
853 #endif /* __LTE_RAT__ */
854 kal_uint8 initial_lte_call;
855}custom_factory_band_context_struct;
856#endif /* __TC01__ */
857
858typedef struct {
859 LOCAL_PARA_HDR
860 kal_bool high_prio_timer_config;
861} l4crac_high_prio_search_timer_config_req_struct;
862
863typedef struct {
864 LOCAL_PARA_HDR
865 l4c_source_id_enum src_id;
866 kal_bool is_disable_integrity_check; //KAL_TRUE to disable integirty check
867 } l4crac_set_save_rac_preference_req_struct;
868
869typedef struct {
870 LOCAL_PARA_HDR
871 kal_bool ims_pdn_activation_ongoing;
872 } l4crac_ims_pdn_activation_req_struct;
873
874#if defined(__ECALL_SUPPORT__) || defined(__NG_ECALL_SUPPORT__)
875typedef struct
876{
877 LOCAL_PARA_HDR
878 ecall_registration_state_enum ecall_reg_state;
879} l4crac_set_ecall_registration_req_struct;
880#endif /* (__ECALL_SUPPORT__) || (__NG_ECALL_SUPPORT__) */
881typedef rac_gmss_set_allowed_mcc_list_req_struct l4crac_set_allowed_mcc_list_req_struct;
882
883typedef rac_gmss_set_allowed_mcc_list_cnf_struct l4crac_set_allowed_mcc_list_cnf_struct;
884#endif /* _L4C2RAC_STRUCT_H */
885