blob: 471de1ecfed65420379c8af8f84d4a499afe171d [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) 2013
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* vdm_l4c_struct.h
40*
41* Project:
42* ------------
43* MOLY
44*
45* Description:
46* ------------
47* This file is intends for L4C/VDM interface
48*
49* Author:
50* -----------
51 * -------
52*****************************************************************************/
53
54#ifndef _VDM_L4C_STRUCT_H
55#define _VDM_L4C_STRUCT_H
56
57#include "kal_public_defs.h"
58#include "kal_general_types.h"
59#include "l3_inc_enums_public.h"
60#include "ps_public_enum.h"
61#include "rmmi_common_enum.h"
62#include "l4_vdm_enum.h"
63#include "sim_public_enum.h"
64#include "l4b_vdm_struct.h"
65#include "ims_common_def.h"
66#include "ims_interface_md.h"
67#include "l3_inc_enums.h"
68#include "c2k_irat_msg_struct.h"
69#include "sim_ps_struct.h"
70#include "vdm_atp_struct.h"
71#include "rac_vgmm_struct.h"
72#include "as_inter_core_enum.h"
73#include "rac2l4c_struct.h"
rjw8e44aab2022-11-30 16:42:16 +080074#include "rac_nas_sv_struct.h"
rjw6c1fd8f2022-11-30 14:33:01 +080075
76//copy from l4c_eval_ims_sys_info_ind_struct
77typedef struct
78{
79 LOCAL_PARA_HDR
80 kal_bool is_valid;
81 kal_bool is_emc_attach_supported;
82 kal_bool is_emc_call_barred;
83 kal_uint32 cell_id;
84 kal_uint8 ta_code[2];
85 kal_uint8 barring_factor_voice;/*0~16*/
86 kal_uint8 barring_factor_video;/*0~16*/
87 kal_uint8 barring_time_voice; /*0~8*/
88 plmn_id_struct plmn_id;
89 kal_uint16 band;
90 kal_uint8 barring_time_video; /*0~8*/
91 kal_uint8 barring_factor_mo_data;/*0~16,16 means factor=1*/
92 kal_uint8 barring_time_mo_data; /*0~8, 0 means time=0*/
93 kal_uint8 acbar_special_ac_mo_data;/*LSB 5 Bits =>AC11~AC15*/
94 kal_uint8 barring_factor_mo_signal;/*0~16,16 means factor=1*/
95 kal_uint8 barring_time_mo_signal; /*0~8, 0 means time=0*/
96 kal_uint8 acbar_special_ac_mo_signal;/*LSB 5 Bits =>AC11~AC15*/
97/* bit8 bit7 bit6 bit5 bit4 bit3 bit2 bit1
98acbar special ac 0 0 0 AC11 AC12 AC13 AC14 AC15
99*/
100 kal_bool is_acb_skip_for_mmtel_voice;
101 kal_bool is_acb_skip_for_mmtel_video;
102 kal_bool is_acb_skip_for_sms;
103} vdm_l4c_ims_sys_info_ind_struct;
104
105/* Common response from L4C to VDM */
106typedef struct
107{
108 LOCAL_PARA_HDR
109 l4_result_code_enum result;
110 l4_err_id_enum error_cause;
111} vdm_l4c_common_response_struct;
112
113/* MSG_ID_VDM_L4C_FDN_ECC_CHECK_REQ */
114typedef struct
115{
116 LOCAL_PARA_HDR
117 kal_uint8 dial_num[MAX_CC_ADDR_LEN];
118} vdm_l4c_fdn_ecc_check_req_struct;
119
120/* MSG_ID_VDM_L4C_FDN_ECC_CHECK_CNF */
121typedef struct
122{
123 LOCAL_PARA_HDR
124 kal_bool is_allowed;
125 kal_bool is_emergency;
126 kal_uint16 emergency_service_category;
127} vdm_l4c_fdn_ecc_check_cnf_struct;
128
129/* MSG_ID_VDM_L4C_CS_CC_MO_CALL_REQ */
130typedef struct
131{
132 LOCAL_PARA_HDR
133 kal_uint8 dial_num[MAX_CC_ADDR_LEN];
134 kal_uint8 call_id;
135 kal_bool is_emergency_call;
136 kal_bool is_video_call;
137 kal_uint8 ecc_service_category;
138} vdm_l4c_cs_cc_mo_call_req_struct;
139
140/* MSG_ID_VDM_L4C_CS_CC_MO_CALL_CNF */
141typedef vdm_l4c_common_response_struct vdm_l4c_cs_cc_mo_call_cnf_struct;
142
143/*MSG_ID_VDM_L4C_CS_CC_EMERG_SERV_CAT_REQ*/
144typedef struct
145{
146 LOCAL_PARA_HDR
147 kal_uint16 emergency_service_category;
148} vdm_l4c_cs_cc_emerg_serv_cat_req_struct;
149
150/* MSG_ID_VDM_L4C_CS_CC_EMERG_SERV_CAT_CNF */
151typedef vdm_l4c_common_response_struct vdm_l4c_cs_cc_emerg_serv_cat_cnf_struct;
152
153/* MSG_ID_VDM_L4C_CS_CC_LIST_CURRENT_CALLS_REQ */
154typedef struct
155{
156 LOCAL_PARA_HDR
157 kal_bool is_clccs;
158}vdm_l4c_cs_cc_list_current_calls_req_struct;
159
160typedef struct {
161 kal_uint8 call_id;
162 l4_call_dir_enum dir;
163 l4_call_state_enum call_state;
164 l4_call_mode_enum call_mode;
165 kal_bool mpty; // FALSE: is NOT conference call, TRUE: is conference call
166 l4_call_type_enum call_type;
167 l4_call_number_type_enum number_type;
168 kal_uint8 number[MAX_SIP_URI_LEN];
169 kal_bool cli_present;
170 kal_uint8 cli_validity;
171} vdm_l4c_call_list_struct;
172
173typedef struct
174{
175 LOCAL_PARA_HDR
176 kal_uint8 total_call;
177 kal_bool is_clccs;
178 vdm_l4c_call_list_struct call_list[L4CC_MAX_CALL_NUM];
179} vdm_l4c_cs_cc_list_current_calls_cnf_struct;
180
181/* MSG_ID_VDM_L4C_CS_CC_EXT_ERROR_REPORT_REQ */ // AT+CEER (no struct)
182typedef struct
183{
184 LOCAL_PARA_HDR
185}vdm_l4c_cs_cc_ext_error_report_req_struct;
186
187/* MSG_ID_VDM_L4C_CS_CC_EXT_ERROR_REPORT_CNF */
188typedef struct
189{
190 LOCAL_PARA_HDR
191 l4_ext_error_report_enum ceer_cause;
192 l4_result_code_enum result;
193 l4_err_id_enum err_id;
194 kal_uint16 ecc_category;
195} vdm_l4c_cs_cc_ext_error_report_cnf_struct;
196
197/* MSG_ID_VDM_L4C_CS_CC_SEND_DIGIT_REQ */ //AT+VTS
198typedef struct
199{
200 LOCAL_PARA_HDR
201 kal_uint8 digit;
202 l4_dtmf_action_enum action;
203} vdm_l4c_cs_cc_send_digit_req_struct;
204
205/* MSG_ID_VDM_L4C_CS_CC_SEND_DIGIT_CNF */
206typedef struct
207{
208 LOCAL_PARA_HDR
209 l4_result_code_enum result;
210 l4_err_id_enum error_cause;
211 l4_dtmf_action_enum action;
212} vdm_l4c_cs_cc_send_digit_cnf_struct;
213
214/* MSG_ID_VDM_L4C_CS_CC_HANGUP_ALL_REQ */ // ATH (no struct)
215typedef struct
216{
217 LOCAL_PARA_HDR
218}vdm_l4c_cs_cc_hangup_all_req_struct;
219
220/* MSG_ID_VDM_L4C_CS_CC_HANGUP_ALL_CNF */
221typedef vdm_l4c_common_response_struct vdm_l4c_cs_cc_hangup_all_cnf_struct;
222
223/* MSG_ID_VDM_L4C_CS_CC_FORCE_HANGUP_REQ */ // AT+ECHUP
224typedef struct
225{
226 LOCAL_PARA_HDR
227 kal_uint8 call_id;
228} vdm_l4c_cs_cc_force_hangup_req_struct;
229
230/* MSG_ID_VDM_L4C_CS_CC_FORCE_HANGUP_CNF */
231typedef vdm_l4c_common_response_struct vdm_l4c_cs_cc_force_hangup_cnf_struct;
232
233/* MSG_ID_VDM_L4C_CS_CC_MT_CALL_PRESENT_RSP */
234typedef struct
235{
236 LOCAL_PARA_HDR
237 kal_uint8 call_id;
238 kal_uint8 seq_no;
239 l4_cc_eaic_result_enum eaic_result;
240 kal_uint16 reject_cause;
241} vdm_l4c_cs_cc_mt_call_present_rsp_struct;
242
243/* MSG_ID_VDM_L4C_CS_CC_MT_CALL_ACCEPT_REQ_STRUCT */
244typedef struct
245{
246 LOCAL_PARA_HDR
247} vdm_l4c_cs_cc_mt_call_accept_req_struct;
248
249/* MSG_ID_VDM_L4C_CS_CC_MT_CALL_ACCEPT_CNF */
250typedef vdm_l4c_common_response_struct vdm_l4c_cs_cc_mt_call_accept_cnf_struct;
251
252/* MSG_ID_VDM_L4C_CS_CC_CALL_RELATED_SS_REQ */
253typedef struct
254{
255 LOCAL_PARA_HDR
256 kal_uint8 call_id;
257 l4_call_related_ss_type_enum opcode;
258} vdm_l4c_cs_cc_call_related_ss_req_struct;
259
260/* MSG_ID_VDM_L4C_CS_CC_CALL_RELATED_SS_CNF */
261typedef vdm_l4c_common_response_struct vdm_l4c_cs_cc_call_related_ss_cnf_struct;
262
263typedef struct {
264 kal_uint8 number[MAX_CC_ADDR_LEN];
265 l4_call_type_enum call_type;
266 l4_call_mode_enum call_mode;
267 kal_uint8 redirect_num[MAX_CC_ADDR_LEN];
268} l4c_cc_eaic_info_struct;
269
270/* MSG_ID_VDM_L4C_CS_CC_MT_CALL_PRESENT_IND */
271typedef struct
272{
273 LOCAL_PARA_HDR
274 kal_uint8 call_id;
275 l4c_cc_eaic_info_struct eaic_info;
276 kal_uint8 seq_no;
277} vdm_l4c_cs_cc_mt_call_present_ind_struct;
278
279typedef struct
280{
281 /* +ECPI:<call_id>,<msg_type>,<is_ibt>,<is_tch>,<dir>,
282 * <call_mode>,[<number>,<type>],[<disc_cause>],[<pau>]
283 */
284 kal_bool is_ibt;
285 kal_bool is_tch;
286 l4_call_dir_enum call_dir;
287 l4_call_mode_enum call_mode;
288 kal_bool is_number_call_type_present;
289 kal_uint8 number[MAX_CC_ADDR_LEN];
290 l4_call_type_enum call_type;
291 kal_bool is_disc_cause_present;
292 kal_uint16 disc_cause;
293} l4c_ecpi_info_struct;
294
295typedef struct {
296 LOCAL_PARA_HDR
297 kal_uint8 call_id;
298 kal_uint8 ecpi_type;
299 l4c_ecpi_info_struct ecpi_info;
300} vdm_l4c_common_cs_cc_ecpi_ind_struct;
301
302/* MSG_ID_VDM_L4C_CS_CC_ECPI_TRANSLATE_IND */
303typedef vdm_l4c_common_cs_cc_ecpi_ind_struct vdm_l4c_cs_cc_ecpi_translate_ind_struct;
304
305/* MSG_ID_VDM_L4C_CS_CC_MT_CALL_SETUP_IND */
306typedef vdm_l4c_common_cs_cc_ecpi_ind_struct vdm_l4c_cs_cc_mt_call_setup_ind_struct;
307
308/* MSG_ID_VDM_L4C_CS_CC_CALL_DISCONNECT_IND */
309typedef vdm_l4c_common_cs_cc_ecpi_ind_struct vdm_l4c_cs_cc_call_disconnect_ind_struct;
310
311typedef struct {
312 LOCAL_PARA_HDR
313 kal_uint8 call_id;
314 sat_terminal_res_enum terminal_res;
315 kal_uint8 additional_res;
316} vdm_l4c_cs_cc_stk_tr_info_ind_struct;
317
318typedef struct
319{
320 kal_uint8 sat_call_type;
321 kal_uint8 no_addr;
322 kal_uint8 addr[MAX_CC_ADDR_BCD_LEN];
323 kal_uint8 no_sub_addr;
324 kal_uint8 sub_addr[MAX_CC_SUB_ADDR_BCD_LEN];
325 kal_uint8 no_ccp;
326 kal_uint8 ccp[MAX_SAT_SIZE_OF_CCP];
327 kal_uint8 type_of_modification;
328} vdm_l4c_sat_call_setup_req_struct;
329
330/* MSG_ID_VDM_L4C_CS_CC_STK_CALL_REQ*/
331typedef struct
332{
333 LOCAL_PARA_HDR
334 kal_uint8 call_id;
335 kal_bool l4c_retry;
336 sat_terminal_res_enum tr;
337 vdm_l4c_sat_call_setup_req_struct sat_setup_call_req;
338} vdm_l4c_cs_cc_stk_call_req_struct;
339
340/* MSG_ID_VDM_L4C_CS_CC_STK_CALL_CNF */
341typedef vdm_l4c_common_response_struct vdm_l4c_cs_cc_stk_call_cnf_struct;
342
343/* MSG_ID_VDM_L4C_SAT_SETUP_CALL_IND */
344typedef sat_setup_call_ind_struct vdm_l4c_sat_setup_call_ind_struct;
345
346typedef struct
347{
348 LOCAL_PARA_HDR
349 kal_uint8 bfvoice;
350 kal_uint8 bfvideo;
351 kal_uint8 btvoice;
352 kal_uint8 btvideo;
353} vdm_l4c_get_ssac_param_cnf_struct;
354
355typedef struct
356{
357 kal_uint8 call_id; /* call_id_ims = call_id_ap */
358 ims_srvcc_call_mode_enum call_mode;
359 ims_srvcc_call_direction_enum call_direction;
360 ims_srvcc_call_state_enum call_state;
361 ims_srvcc_call_ecc_category_enum call_ecc_category;
362 ims_srvcc_call_number_format_enum call_number_format;
363 kal_uint8 call_number[IMC_MAX_URI_LENGTH];
364#if defined(__TC01_IMS_SUPPORT__) || defined(__IPC_ADAPTER__)
365 //these two parameter is defined by L4 but seems not used by IMS CC, so we wrap it with compile option
366 kal_uint8 call_alpha[MAX_PS_NAME_SIZE + 1]; // MAX_PS_NAME_SIZE: 42
367 kal_uint8 cli;
368 //just for TK compatible, not sure how to use this in TC01 project
369 kal_uint8 num_of_conf_parts;
370#endif
371} vdm_l4c_srvcc_call_ctxt_to_cs_struct;
372
373typedef struct
374{
375 LOCAL_PARA_HDR
376 kal_uint32 num_call;
377 vdm_l4c_srvcc_call_ctxt_to_cs_struct srvcc_call_ctxt_to_cs_domain[L4CC_MAX_CALL_NUM];
378} vdm_l4c_srvcc_context_transfer_req_struct;
379
380typedef struct
381{
382 LOCAL_PARA_HDR
383 kal_uint32 num_of_call_instances;
384 kal_uint32 call_id_table[L4CC_MAX_CALL_NUM];
385} vdm_l4c_srvcc_context_transfer_cnf_struct;
386
387typedef struct
388{
389 LOCAL_PARA_HDR
390 rat_enum active_rat;
391 union
392 {
393 vgmm_nw_feature_support_struct nr;
394 emm_nw_feature_support_struct eps;
395 gmm_nw_feature_support_struct ug;
396 } nw_feature;
397} vdm_l4c_nw_feature_ind_struct;
398
399/******************************************************************************
400 * +CIREPH: <srvcch>
401 *****************************************************************************/
402typedef struct
403{
404 LOCAL_PARA_HDR
405 srvcc_status_enum status;
406} vdm_l4c_srvcc_status_update_ind_struct;
407
408/******************************************************************************
409 * +ENW: <is_searching>
410 *****************************************************************************/
411typedef struct
412{
413 LOCAL_PARA_HDR
414 kal_bool is_searching;
415} vdm_l4c_nw_search_status_ind_struct;
416
417typedef struct
418{
419 LOCAL_PARA_HDR
420 ue_mode_enum ue_mode;
421 l4_voice_domain_preference_enum eutran_vdp;
422} vdm_l4c_uemode_param_update_ind_struct;
423
424/******************************************************************************
425 * +EC2KREG: <domain>,<state>,<service>
426 *****************************************************************************/
427typedef struct
428{
429 LOCAL_PARA_HDR
430 domain_id_enum domain;
431 kal_bool state;
432 irat_ps_type_enum service;
433} vdm_l4c_c2k_service_state_ind_struct;
434
435/******************************************************************************
436 * +EIMSPS: rat,type[,cause]
437 * indication for silent redial event from AP to MD
438 *****************************************************************************/
439typedef struct
440{
441 LOCAL_PARA_HDR
442 rat_enum rat;
443 kal_uint8 type;// bitmask, 0x01 for Voice , 0x02 for SMS
444 hvolte_mode_change_cause_enum cause;
445} vdm_l4c_ims_domain_preference_ind_struct;
446
447/******************************************************************************
448 * +ERAT: <rat>
449 *****************************************************************************/
450typedef struct
451{
452 LOCAL_PARA_HDR
453 rat_enum rat;
yu.donge372c322023-08-30 20:25:04 -0700454 rat_enum reported_rat;
rjw6c1fd8f2022-11-30 14:33:01 +0800455} vdm_l4c_rat_mode_ind_struct;
456
457/******************************************************************************
458 * +EIRAT: <rat>
459 *****************************************************************************/
460typedef struct
461{
462 LOCAL_PARA_HDR
463 l4_irat_status_enum irat_status;
464 kal_bool irat_result;
465} vdm_l4c_inter_rat_status_ind_struct;
466
467/******************************************************************************
468 * +ERLQ:<Event>, <Band>
469 * Event: 4G radio link monitor event type
470 * 0 - LTE weak signal
471 * 1 - LTE OOS searching
472 * Band: current 4G band
473 * 0 - Invalid band value (used for LTE OOS search)
474 * 1-256: possible LTE band value range
475 * only care about Event
476 *****************************************************************************/
477typedef struct
478{
479 LOCAL_PARA_HDR
480 kal_uint32 event_type;
481} vdm_l4c_radio_link_quality_ind_struct;
482
483/******************************************************************************
484 * +ERPRAT: 9,<new_reported_rat>,<is_home>
485 *****************************************************************************/
486typedef struct
487{
488 LOCAL_PARA_HDR
489 rat_enum new_reported_rat;
490 kal_bool is_home;
491} vdm_l4c_reported_rat_change_ind_struct;
492
493/*
494 **AT+EVVS**
495 call_status_enum vdm_voice_status;
496 kal_bool is_emergency;
497
498 **AT+EVIVS**
499 vdm_ims_voice_status_enum vdm_ims_voice_status;
500 ims_access_rat_enum rat;
501
502 **AT+EIMSCI**
503 kal_bool voice_over_ims_ongoing;
504 kal_bool is_emergency;
505 ims_access_rat_enum ims_access_rat;
506
507 ***AT+CSCM**
508 ims_scm_info_type_enum application;
509 ims_scm_info_action_enum indication;
510*/
511
512/*MSG_ID_VDM_L4C_IMS_CALL_SCM_REQ*/
513typedef struct
514{
515 LOCAL_PARA_HDR
516 ims_scm_info_type_enum application;
517 ims_scm_info_action_enum indication;
518} vdm_l4c_ims_call_scm_req_struct;
519
520/*MSG_ID_VDM_L4C_NR_IMS_CALL_STATUS_REQ*/
521typedef rac_vgmm_ims_service_status_req_struct vdm_l4c_nr_ims_call_status_req_struct;
522
523/*MSG_ID_VDM_L4C_UAC_PARAM_CHECK_ABORT_REQ*/
524typedef rac_vgmm_ims_uac_abort_req_struct vdm_l4c_uac_param_check_abort_req_struct;
525/*MSG_ID_VDM_L4C_UAC_PARAM_CHECK_REQ*/
526typedef rac_vgmm_ims_uac_req_struct vdm_l4c_uac_param_check_req_struct;
527/* MSG_ID_VDM_L4C_UAC_PARAM_CHECK_CNF */
528typedef rac_vgmm_ims_uac_cnf_struct vdm_l4c_uac_param_check_cnf_struct;
529/* MSG_ID_VDM_L4C_UAC_ALLEVIATION_IND */
530typedef rac_vgmm_ims_uac_alleviation_ind_struct vdm_l4c_uac_alleviation_ind_struct;
531
532/*MSG_ID_VDM_L4C_EMERGENCY_SERVICE_REQ*/
533typedef rac_vgmm_emergency_service_req_struct vdm_l4c_emergency_service_req_struct;
534/* MSG_ID_VDM_L4C_EMERGENCY_SERVICE_CNF */
535typedef rac_vgmm_emergency_service_cnf_struct vdm_l4c_emergency_service_cnf_struct;
536/* MSG_ID_VDM_L4C_EMERGENCY_SERVICE_IND */
537typedef rac_vgmm_emergency_service_ind_struct vdm_l4c_emergency_service_ind_struct;
538/*MSG_ID_VDM_L4C_EMERGENCY_SERVICE_FALLBACK_REQ*/
539typedef rac_vgmm_emergency_service_fallback_req_struct vdm_l4c_emergency_service_fallback_req_struct;
540/* MSG_ID_VDM_L4C_EMERGENCY_SERVICE_FALLBACK_CNF */
541typedef rac_vgmm_emergency_service_fallback_cnf_struct vdm_l4c_emergency_service_fallback_cnf_struct;
542
543/*MSG_ID_VDM_L4C_REG_COMBINED_CAUSE_IND*/
544typedef l4crac_reg_combined_cause_ind_struct vdm_l4c_reg_combined_cause_ind_struct;
545
546/*MSG_ID_VDM_L4C_ECBM_MODE_IND*/
547typedef struct
548{
549 LOCAL_PARA_HDR
550 kal_bool is_ecbm_on;
551 rat_enum ecbm_rat;
552} vdm_l4c_ecbm_mode_ind_struct;
553
554/*MSG_ID_VDM_L4C_IMS_CALL_PROGRESS_REQ*/
555typedef struct
556{
557 LOCAL_PARA_HDR
558 kal_uint8 call_id;
559 ims_cc_eaic_info_struct eaic_info;
560 ims_call_dir_enum dir;
561 csmcc_cpi_msg_type_enum msg_type;
562 kal_bool is_far_end;
563 ims_disc_cause_enum disc_cause;
564} vdm_l4c_ims_call_progress_req_struct;
565
566/*MSG_ID_VDM_L4C_GMSS_SET_HVOLTE_MODE_REQ*/
567typedef struct
568{
569 LOCAL_PARA_HDR
570 hvolte_mode_enum mode;
571 kal_uint8 submode;
572} vdm_l4c_gmss_set_hvolte_mode_req_struct;
573
574/* MSG_ID_VDM_L4C_GMSS_SET_HVOLTE_MODE_CNF */
575typedef vdm_l4c_common_response_struct vdm_l4c_gmss_set_hvolte_mode_cnf_struct;
576
rjw8e44aab2022-11-30 16:42:16 +0800577typedef rac_nas_sv_nr_emc_service_availability_ind_struct vdm_l4c_nr_emc_service_availability_ind_struct;
578
579typedef rac_nas_sv_nr_emc_service_availability_rsp_struct vdm_l4c_nr_emc_service_availability_rsp_struct;
580
rjw6c1fd8f2022-11-30 14:33:01 +0800581/*MSG_ID_VDM_L4C_EMCS_REQ*/
582typedef struct
583{
584 LOCAL_PARA_HDR
585 kal_uint8 mode;
586 kal_uint8 ims_reg_state;
587 kal_bool is_airplane_mode_ecc;
588} vdm_l4c_emcs_req_struct;
589
590/*MSG_ID_VDM_L4C_ATTACHED_RAT_IND*/
591typedef struct
592{
593 LOCAL_PARA_HDR
594 nas_reg_status_enum nas_reg_status;
595 kal_bool is_for_ps_domain;
596 mm_cause_enum nas_reg_cause;
597} vdm_l4c_attached_rat_ind_struct;
598
599#if defined(__NG_ECALL_SUPPORT__)
600typedef struct
601{
602 LOCAL_PARA_HDR
603 ecall_type_enum ecall_type;
604} vdm_l4c_ecall_test_call_attach_req_struct;
605
606typedef struct
607{
608 LOCAL_PARA_HDR
609 l4_result_code_enum result;
610 l4_err_id_enum err_id;
611} vdm_l4c_ecall_test_call_attach_cnf_struct;
612
613typedef struct
614{
615 LOCAL_PARA_HDR
616 ecall_abort_attach_reason_enum reason;
617} vdm_l4c_ecall_abort_test_call_attach_req_struct;
618
619typedef struct
620{
621 LOCAL_PARA_HDR
622 l4_result_code_enum result;
623 l4_err_id_enum err_id;
624} vdm_l4c_ecall_abort_test_call_attach_cnf_struct;
625#endif
626
627/* MSG_ID_VDM_L4C_ERRC_CELL_REJ_IND */
628typedef struct
629{
630 kal_bool is_bar_pcell;
631 cell_rej_cause_enum cause; /* Rejected cause */
632 kal_uint16 timer_val; /* Period of timer for rejection unit:second */
633 kal_uint32 earfcn; /* earfcn/pci used to identify cell when is_bar_pcell is FALSE */
634 kal_uint16 pci;
635 kal_uint32 cell_id; /* cell_id used to identify cell when is_bar_pcell is TRUE */
636} vdm_l4c_errc_mob_cell_rej_info_struct;
637
638typedef struct {
639 LOCAL_PARA_HDR
640
641 vdm_l4c_errc_mob_cell_rej_info_struct rej_info;
642} vdm_l4c_errc_cell_rej_ind_struct;
643
644/*MSG_ID_VDM_L4C_IMS_CC_CALL_PROGRESS_IND*/
645typedef struct
646{
647 LOCAL_PARA_HDR
648 kal_uint8 call_id;
649 kal_uint8 msg_type;
650 l4c_ecpi_info_struct ecpi_info;
651} vdm_l4c_ims_cc_call_progress_ind_struct;
652#if defined(__ECALL_SUPPORT__) || defined(__NG_ECALL_SUPPORT__)
653/* MSG_ID_VDM_L4C_CS_CC_CECALL_REQ */
654typedef struct
655{
656 LOCAL_PARA_HDR
657 kal_uint8 call_id;
658 ecall_type_enum ecall_type;
659 ecall_format_enum ecall_format;
660 kal_uint8 msd_data_len;
661 kal_uint8 msd_data[MAX_MSD_LENGTH];
662} vdm_l4c_cs_cc_cecall_req_struct;
663
664/* MSG_ID_VDM_L4C_CS_CC_CECALL_CNF */
665typedef vdm_l4c_common_response_struct vdm_l4c_cs_cc_cecall_cnf_struct;
666#endif
667#endif /* _VDM_L4C_STRUCT_H */