blob: 9975b43459c02b00360e9228612615d4bfb9db54 [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;
454} vdm_l4c_rat_mode_ind_struct;
455
456/******************************************************************************
457 * +EIRAT: <rat>
458 *****************************************************************************/
459typedef struct
460{
461 LOCAL_PARA_HDR
462 l4_irat_status_enum irat_status;
463 kal_bool irat_result;
464} vdm_l4c_inter_rat_status_ind_struct;
465
466/******************************************************************************
467 * +ERLQ:<Event>, <Band>
468 * Event: 4G radio link monitor event type
469 * 0 - LTE weak signal
470 * 1 - LTE OOS searching
471 * Band: current 4G band
472 * 0 - Invalid band value (used for LTE OOS search)
473 * 1-256: possible LTE band value range
474 * only care about Event
475 *****************************************************************************/
476typedef struct
477{
478 LOCAL_PARA_HDR
479 kal_uint32 event_type;
480} vdm_l4c_radio_link_quality_ind_struct;
481
482/******************************************************************************
483 * +ERPRAT: 9,<new_reported_rat>,<is_home>
484 *****************************************************************************/
485typedef struct
486{
487 LOCAL_PARA_HDR
488 rat_enum new_reported_rat;
489 kal_bool is_home;
490} vdm_l4c_reported_rat_change_ind_struct;
491
492/*
493 **AT+EVVS**
494 call_status_enum vdm_voice_status;
495 kal_bool is_emergency;
496
497 **AT+EVIVS**
498 vdm_ims_voice_status_enum vdm_ims_voice_status;
499 ims_access_rat_enum rat;
500
501 **AT+EIMSCI**
502 kal_bool voice_over_ims_ongoing;
503 kal_bool is_emergency;
504 ims_access_rat_enum ims_access_rat;
505
506 ***AT+CSCM**
507 ims_scm_info_type_enum application;
508 ims_scm_info_action_enum indication;
509*/
510
511/*MSG_ID_VDM_L4C_IMS_CALL_SCM_REQ*/
512typedef struct
513{
514 LOCAL_PARA_HDR
515 ims_scm_info_type_enum application;
516 ims_scm_info_action_enum indication;
517} vdm_l4c_ims_call_scm_req_struct;
518
519/*MSG_ID_VDM_L4C_NR_IMS_CALL_STATUS_REQ*/
520typedef rac_vgmm_ims_service_status_req_struct vdm_l4c_nr_ims_call_status_req_struct;
521
522/*MSG_ID_VDM_L4C_UAC_PARAM_CHECK_ABORT_REQ*/
523typedef rac_vgmm_ims_uac_abort_req_struct vdm_l4c_uac_param_check_abort_req_struct;
524/*MSG_ID_VDM_L4C_UAC_PARAM_CHECK_REQ*/
525typedef rac_vgmm_ims_uac_req_struct vdm_l4c_uac_param_check_req_struct;
526/* MSG_ID_VDM_L4C_UAC_PARAM_CHECK_CNF */
527typedef rac_vgmm_ims_uac_cnf_struct vdm_l4c_uac_param_check_cnf_struct;
528/* MSG_ID_VDM_L4C_UAC_ALLEVIATION_IND */
529typedef rac_vgmm_ims_uac_alleviation_ind_struct vdm_l4c_uac_alleviation_ind_struct;
530
531/*MSG_ID_VDM_L4C_EMERGENCY_SERVICE_REQ*/
532typedef rac_vgmm_emergency_service_req_struct vdm_l4c_emergency_service_req_struct;
533/* MSG_ID_VDM_L4C_EMERGENCY_SERVICE_CNF */
534typedef rac_vgmm_emergency_service_cnf_struct vdm_l4c_emergency_service_cnf_struct;
535/* MSG_ID_VDM_L4C_EMERGENCY_SERVICE_IND */
536typedef rac_vgmm_emergency_service_ind_struct vdm_l4c_emergency_service_ind_struct;
537/*MSG_ID_VDM_L4C_EMERGENCY_SERVICE_FALLBACK_REQ*/
538typedef rac_vgmm_emergency_service_fallback_req_struct vdm_l4c_emergency_service_fallback_req_struct;
539/* MSG_ID_VDM_L4C_EMERGENCY_SERVICE_FALLBACK_CNF */
540typedef rac_vgmm_emergency_service_fallback_cnf_struct vdm_l4c_emergency_service_fallback_cnf_struct;
541
542/*MSG_ID_VDM_L4C_REG_COMBINED_CAUSE_IND*/
543typedef l4crac_reg_combined_cause_ind_struct vdm_l4c_reg_combined_cause_ind_struct;
544
545/*MSG_ID_VDM_L4C_ECBM_MODE_IND*/
546typedef struct
547{
548 LOCAL_PARA_HDR
549 kal_bool is_ecbm_on;
550 rat_enum ecbm_rat;
551} vdm_l4c_ecbm_mode_ind_struct;
552
553/*MSG_ID_VDM_L4C_IMS_CALL_PROGRESS_REQ*/
554typedef struct
555{
556 LOCAL_PARA_HDR
557 kal_uint8 call_id;
558 ims_cc_eaic_info_struct eaic_info;
559 ims_call_dir_enum dir;
560 csmcc_cpi_msg_type_enum msg_type;
561 kal_bool is_far_end;
562 ims_disc_cause_enum disc_cause;
563} vdm_l4c_ims_call_progress_req_struct;
564
565/*MSG_ID_VDM_L4C_GMSS_SET_HVOLTE_MODE_REQ*/
566typedef struct
567{
568 LOCAL_PARA_HDR
569 hvolte_mode_enum mode;
570 kal_uint8 submode;
571} vdm_l4c_gmss_set_hvolte_mode_req_struct;
572
573/* MSG_ID_VDM_L4C_GMSS_SET_HVOLTE_MODE_CNF */
574typedef vdm_l4c_common_response_struct vdm_l4c_gmss_set_hvolte_mode_cnf_struct;
575
rjw8e44aab2022-11-30 16:42:16 +0800576typedef rac_nas_sv_nr_emc_service_availability_ind_struct vdm_l4c_nr_emc_service_availability_ind_struct;
577
578typedef rac_nas_sv_nr_emc_service_availability_rsp_struct vdm_l4c_nr_emc_service_availability_rsp_struct;
579
rjw6c1fd8f2022-11-30 14:33:01 +0800580/*MSG_ID_VDM_L4C_EMCS_REQ*/
581typedef struct
582{
583 LOCAL_PARA_HDR
584 kal_uint8 mode;
585 kal_uint8 ims_reg_state;
586 kal_bool is_airplane_mode_ecc;
587} vdm_l4c_emcs_req_struct;
588
589/*MSG_ID_VDM_L4C_ATTACHED_RAT_IND*/
590typedef struct
591{
592 LOCAL_PARA_HDR
593 nas_reg_status_enum nas_reg_status;
594 kal_bool is_for_ps_domain;
595 mm_cause_enum nas_reg_cause;
596} vdm_l4c_attached_rat_ind_struct;
597
598#if defined(__NG_ECALL_SUPPORT__)
599typedef struct
600{
601 LOCAL_PARA_HDR
602 ecall_type_enum ecall_type;
603} vdm_l4c_ecall_test_call_attach_req_struct;
604
605typedef struct
606{
607 LOCAL_PARA_HDR
608 l4_result_code_enum result;
609 l4_err_id_enum err_id;
610} vdm_l4c_ecall_test_call_attach_cnf_struct;
611
612typedef struct
613{
614 LOCAL_PARA_HDR
615 ecall_abort_attach_reason_enum reason;
616} vdm_l4c_ecall_abort_test_call_attach_req_struct;
617
618typedef struct
619{
620 LOCAL_PARA_HDR
621 l4_result_code_enum result;
622 l4_err_id_enum err_id;
623} vdm_l4c_ecall_abort_test_call_attach_cnf_struct;
624#endif
625
626/* MSG_ID_VDM_L4C_ERRC_CELL_REJ_IND */
627typedef struct
628{
629 kal_bool is_bar_pcell;
630 cell_rej_cause_enum cause; /* Rejected cause */
631 kal_uint16 timer_val; /* Period of timer for rejection unit:second */
632 kal_uint32 earfcn; /* earfcn/pci used to identify cell when is_bar_pcell is FALSE */
633 kal_uint16 pci;
634 kal_uint32 cell_id; /* cell_id used to identify cell when is_bar_pcell is TRUE */
635} vdm_l4c_errc_mob_cell_rej_info_struct;
636
637typedef struct {
638 LOCAL_PARA_HDR
639
640 vdm_l4c_errc_mob_cell_rej_info_struct rej_info;
641} vdm_l4c_errc_cell_rej_ind_struct;
642
643/*MSG_ID_VDM_L4C_IMS_CC_CALL_PROGRESS_IND*/
644typedef struct
645{
646 LOCAL_PARA_HDR
647 kal_uint8 call_id;
648 kal_uint8 msg_type;
649 l4c_ecpi_info_struct ecpi_info;
650} vdm_l4c_ims_cc_call_progress_ind_struct;
651#if defined(__ECALL_SUPPORT__) || defined(__NG_ECALL_SUPPORT__)
652/* MSG_ID_VDM_L4C_CS_CC_CECALL_REQ */
653typedef struct
654{
655 LOCAL_PARA_HDR
656 kal_uint8 call_id;
657 ecall_type_enum ecall_type;
658 ecall_format_enum ecall_format;
659 kal_uint8 msd_data_len;
660 kal_uint8 msd_data[MAX_MSD_LENGTH];
661} vdm_l4c_cs_cc_cecall_req_struct;
662
663/* MSG_ID_VDM_L4C_CS_CC_CECALL_CNF */
664typedef vdm_l4c_common_response_struct vdm_l4c_cs_cc_cecall_cnf_struct;
665#endif
666#endif /* _VDM_L4C_STRUCT_H */