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