blob: 3171df46209cab2cad63a6c42119e459a0a91684 [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) 2012
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#ifndef _D2PM_DDM_STRUCT_H
37#define _D2PM_DDM_STRUCT_H
38
39#include "kal_general_types.h"
40#include "kal_public_defs.h"
41#include "atcmd_struct.h"
42#include "ps_public_enum.h"
43#include "pdn_public_defs.h"
44#include "d2pm_public_defs.h"
45#include "ddm_common_struct.h"
46#include "l3_inc_enums_public.h"
47#include "l3_inc_enums.h"
48#include "l4bnw_public_struct.h"
49#include "l4c_common_enum.h"
50#include "ddm_nwsel_struct.h"
51#include "ps_public_struct.h"
52
53// Type definitions
54typedef struct
55{
56 kal_uint32 src_id;
57}d2pm_ddm_comm_ind_prv_struct;
58
59typedef struct
60{
61 kal_uint32 src_id;
62}d2pm_ddm_comm_req_prv_struct;
63
64typedef struct
65{
66 kal_uint32 src_id;
67}d2pm_ddm_comm_cnf_prv_struct;
68
69typedef struct
70{
71 kal_uint8 IE_count;
72 egpco_ie_struct IE[MAX_IE_COUNT];
73}ddm_egpco_req_struct;
74
75typedef ddm_res_enum d2pm_d2rm_res_enum;
76typedef ddm_ip_info_struct d2pm_d2rm_ip_info_struct;
77typedef ddm_net_info_struct d2pm_d2rm_net_info_struct;
78typedef ddm_retry_info_struct d2pm_d2rm_retry_info_struct;
79typedef ddm_req_type_enum d2pm_d2rm_act_data_call_req_type_enum;
80
81typedef ddm_ip_info_struct d2pm_ddm_ip_info_struct;
82typedef ddm_net_info_struct d2pm_ddm_net_info_struct;
83typedef ddm_ims_info_struct d2pm_ddm_ims_info_struct;
84typedef ddm_ims_info_struct d2pm_ddm_ims_prv_data_t; // for D2PM_IWLAN and D2CM
85
86// => REQ
87typedef d2pm_ddm_comm_req_prv_struct d2pm_ddm_get_data_call_list_req_prv_struct;
88typedef d2pm_ddm_comm_req_prv_struct d2pm_ddm_get_dynamic_param_req_prv_struct;
89typedef ddm_get_secondary_dynamic_param_req_struct d2pm_ddm_get_secondary_dynamic_param_req_prv_struct;
90typedef ddm_get_pdp_address_req_struct d2pm_ddm_get_pdp_address_req_prv_struct;
91typedef ddm_get_qos_req_struct d2pm_ddm_get_qos_req_prv_struct;
92typedef ddm_get_tft_req_struct d2pm_ddm_get_tft_req_prv_struct;
93typedef ddm_set_packet_filter_req_struct d2pm_ddm_set_packet_filter_req_prv_struct;
94typedef ddm_get_packet_filter_req_struct d2pm_ddm_get_packet_filter_req_prv_struct;
95typedef d2pm_ddm_comm_req_prv_struct d2pm_ddm_mod_data_call_req_prv_struct;
96// => CNF
97typedef d2pm_ddm_comm_cnf_prv_struct d2pm_ddm_get_data_call_list_cnf_prv_struct;
98typedef d2pm_ddm_comm_cnf_prv_struct d2pm_ddm_get_dynamic_param_cnf_prv_struct;
99typedef ddm_get_secondary_dynamic_param_cnf_struct d2pm_ddm_get_secondary_dynamic_param_cnf_prv_struct;
100typedef ddm_get_pdp_address_cnf_struct d2pm_ddm_get_pdp_address_cnf_prv_struct;
101typedef ddm_get_qos_cnf_struct d2pm_ddm_get_qos_cnf_prv_struct;
102typedef ddm_get_tft_cnf_struct d2pm_ddm_get_tft_cnf_prv_struct;
103typedef ddm_set_packet_filter_cnf_struct d2pm_ddm_set_packet_filter_cnf_prv_struct;
104typedef ddm_get_packet_filter_cnf_struct d2pm_ddm_get_packet_filter_cnf_prv_struct;
105typedef d2pm_ddm_comm_cnf_prv_struct d2pm_ddm_mod_data_call_cnf_prv_struct; // [GT] at_cgcmod_req_struct does NOT exist
106// => IND
107typedef d2pm_ddm_comm_ind_prv_struct d2pm_ddm_get_data_call_list_ind_prv_struct;
108typedef ddm_get_secondary_dynamic_param_ind_struct d2pm_ddm_get_secondary_dynamic_param_ind_prv_struct;
109typedef ddm_get_pdp_address_ind_struct d2pm_ddm_get_pdp_address_ind_prv_struct;
110typedef ddm_get_qos_ind_struct d2pm_ddm_get_qos_ind_prv_struct;
111typedef ddm_get_tft_ind_struct d2pm_ddm_get_tft_ind_prv_struct;
112typedef ddm_set_packet_filter_ind_struct d2pm_ddm_set_packet_filter_ind_prv_struct;
113typedef ddm_get_packet_filter_ind_struct d2pm_ddm_get_packet_filter_ind_prv_struct;
114//typedef d2pm_ddm_comm_ind_prv_struct d2pm_ddm_mod_data_call_ind_prv_struct; // [GT] at_cgcmod_req_struct does NOT exist
115typedef struct
116{
117 kal_uint32 src_id;
118 data_call_change_reason_enum data_call_change_reason;
119}d2pm_ddm_mod_data_call_ind_prv_struct;
120typedef struct
121{
122 kal_uint32 src_id; // Unused above D2RM
123 at_cgcontrdp_ind_struct cmd;
124}d2pm_ddm_get_dynamic_param_ind_prv_struct;
125
126typedef enum
127{
128// D2PM_DDM_RES_SUCC_RETRY, not exist
129 D2PM_DDM_RES_NONE = D2PM_RES_NONE,
130 D2PM_DDM_RES_FAIL = D2PM_RES_FAIL,
131 D2PM_DDM_RES_SUCC = D2PM_RES_SUCC,
132 // a subsequent CID
133 D2PM_DDM_RES_FAIL_ABORT = D2PM_RES_FAIL_ABORT,
134 D2PM_DDM_RES_SUCC_ABORT = D2PM_RES_SUCC_ABORT,
135 D2PM_DDM_RES_FAIL_CONT = D2PM_RES_FAIL_CONT,
136 D2PM_DDM_RES_SUCC_CONT = D2PM_RES_SUCC_CONT,
137 // otherwise
138 D2PM_DDM_RES_REJ = D2PM_RES_REJ,
139 D2PM_DDM_RES_RETRY = D2PM_RES_RETRY,
140 D2PM_DDM_RES_MAX = 0x7FFFFFFF
141}d2pm_ddm_res_enum;
142
143typedef enum
144{
145 D2AM_DDM_EVENT_IS_EMERGENCY,
146 D2AM_DDM_EVENT_IS_IMS,
147 D2AM_DDM_EVENT_IS_APN_CONFLICT,
148 D2AM_DDM_EVENT_IS_APN_CLEAR_DEACT,
149 D2AM_DDM_EVENT_MAX = 0x7FFFFFFF
150}d2am_ddm_detach_event_enum;
151// Macros
152
153//VoLTE
154#define MAX_PCSCF_NUMBER 6
155
156#define D2PM_DDM_REQ_LOCAL_PARA_HDR \
157 LOCAL_PARA_HDR \
158 kal_uint32 src_id;
159
160#define D2PM_DDM_CNF_LOCAL_PARA_HDR \
161 LOCAL_PARA_HDR \
162 kal_uint32 src_id;
163
164#define D2PM_DDM_IND_LOCAL_PARA_HDR \
165 LOCAL_PARA_HDR \
166 kal_uint32 src_id;
167
168#define D2PM_DDM_RSP_LOCAL_PARA_HDR \
169 LOCAL_PARA_HDR \
170 kal_uint32 src_id;
171
172// Functions
173// N/A
174
175// Implementation
176/*******************************************************************************
177* D2PM to DDM REQ *
178*******************************************************************************/
179
180typedef struct
181{
182 kal_uint32 src_id;
183 kal_bool p_cid_present;
184 kal_uint32 p_cid;
185 kal_bool fb_cid_present;
186 kal_uint32 fb_cid;
187 kal_bool fb_ipv4_first;
188 kal_uint32 auth_type;
189 kal_uint8 pdp_type[PDP_TYPE_STRING_LEN];
190 kal_uint8 username[USERID_STRING_LEN];
191 kal_uint8 passwd[PASSWORD_STRING_LEN];
192 kal_bool pcscf_restore;
193 if_info_struct if_info;
194 apn_type_info_struct apn_type_info;
195 kal_uint32 test_mode_flag;
196 at_eapnset_UE_local_config_struct UE_local_config;
197 kal_bool qos_param_present;
198 kal_uint32 qos_reliability;
199 kal_uint32 qos_precedence_class;
200 kal_uint32 qos_delay_class;
201 kal_uint32 qos_peak_throughput_class;
202 kal_uint32 qos_mean_throughput_class;
203}d2pm_ddm_act_data_call_req_prv_struct;
204typedef d2pm_ddm_act_data_call_req_prv_struct d2pm_ddm_act_data_call_reject_cnf_prv_struct;
205typedef d2pm_ddm_mod_data_call_req_prv_struct d2pm_ddm_mod_data_call_reject_cnf_prv_struct;
206
207typedef struct
208{
209 kal_uint32 src_id;
210 atcmd_deact_cause_enum cause;
211 kal_uint32 test_mode_flag;
212}d2pm_ddm_deact_data_call_req_prv_struct;
213typedef d2pm_ddm_deact_data_call_req_prv_struct d2pm_ddm_deact_data_call_reject_cnf_prv_struct;
214typedef d2pm_ddm_deact_data_call_req_prv_struct d2pm_ddm_abort_data_call_req_prv_struct;
215typedef d2pm_ddm_deact_data_call_req_prv_struct d2pm_ddm_abort_data_call_reject_cnf_prv_struct;
216
217typedef enum {
218 DDM_DEACT_MODE_NORMAL = 0x00000000,
219 DDM_DEACT_MODE_UNBIND = 0x00000001,
220 DDM_DEACT_MODE_LOCAL_RELEASE = 0x00000002,
221 DDM_DEACT_MODE_FORCE_DEACT = 0x00000004,
222 DDM_DEACT_MODE_EDALLOW_DEACT = 0x00000008,
223} deact_mode_enum;
224typedef struct {
225 kal_uint32 deact_mode;
226} d2am_ddm_deact_data_call_req_prv_struct;
227typedef d2am_ddm_deact_data_call_req_prv_struct d2am_ddm_abort_data_call_req_prv_struct;
228
229#if 0
230/* under construction !*/
231/* under construction !*/
232/* under construction !*/
233/* under construction !*/
234/* under construction !*/
235/* under construction !*/
236/* under construction !*/
237/* under construction !*/
238/* under construction !*/
239/* under construction !*/
240/* under construction !*/
241/* under construction !*/
242/* under construction !*/
243/* under construction !*/
244/* under construction !*/
245/* under construction !*/
246/* under construction !*/
247/* under construction !*/
248/* under construction !*/
249/* under construction !*/
250/* under construction !*/
251/* under construction !*/
252/* under construction !*/
253/* under construction !*/
254/* under construction !*/
255/* under construction !*/
256/* under construction !*/
257/* under construction !*/
258/* under construction !*/
259/* under construction !*/
260/* under construction !*/
261/* under construction !*/
262/* under construction !*/
263/* under construction !*/
264/* under construction !*/
265/* under construction !*/
266/* under construction !*/
267/* under construction !*/
268/* under construction !*/
269/* under construction !*/
270/* under construction !*/
271/* under construction !*/
272/* under construction !*/
273/* under construction !*/
274/* under construction !*/
275/* under construction !*/
276/* under construction !*/
277/* under construction !*/
278/* under construction !*/
279/* under construction !*/
280/* under construction !*/
281/* under construction !*/
282/* under construction !*/
283/* under construction !*/
284#if 0
285/* under construction !*/
286/* under construction !*/
287/* under construction !*/
288#endif
289/* under construction !*/
290/* under construction !*/
291#endif
292typedef struct
293{
294 retrytime_type_enum retrytime_type;
295 kal_uint32 retry_time;
296}d2pm_ddm_data_retry_prv_data_t;
297
298typedef struct
299{
300 kal_uint32 src_id;
301 kal_uint32 fb_cid_present;
302 kal_uint32 fb_cid;
303#if 0
304/* under construction !*/
305#endif
306#if 0
307/* under construction !*/
308#endif
309 d2pm_ddm_ims_info_struct ims_prv_data;
310 d2pm_ddm_data_retry_prv_data_t data_retry_prv_data;
311 pco_info_t pco_info;
312 kal_uint16 err_cause;
313 kal_bool is_dangling;
314}d2pm_ddm_act_data_call_cnf_prv_struct;
315typedef d2pm_ddm_act_data_call_cnf_prv_struct d2pm_ddm_act_data_call_ind_prv_struct;
316
317typedef struct
318{
319 kal_uint32 src_id;
320 kal_bool is_dangling;
321 kal_uint16 cause;
322 pco_info_t pco_info;
323}d2pm_ddm_deact_data_call_cnf_prv_struct;
324typedef d2pm_ddm_deact_data_call_cnf_prv_struct d2pm_ddm_abort_data_call_cnf_prv_struct;
325
326typedef struct
327{
328 kal_uint32 src_id;
329#if 0
330/* under construction !*/
331/* under construction !*/
332#endif
333 at_cgev_ind_struct cgev_cmd;
334 kal_bool ims_info_present;
335 d2pm_ddm_ims_info_struct ims_info;
336 kal_bool is_dangling_present;
337 kal_bool is_dangling;
338 ps_cause_enum deact_cause;
339}d2pm_ddm_urc_cgev_ind_prv_struct;
340
341typedef struct
342{
343 D2PM_DDM_IND_LOCAL_PARA_HDR
344 //kal_uint32 src_id;
345 at_escontind_ind_struct cmd;
346}d2pm_ddm_escontind_ind_struct;
347
348typedef d2pm_ddm_urc_cgev_ind_prv_struct d2pm_ddm_pdn_nw_act_ind_prv_struct;
349typedef d2pm_ddm_urc_cgev_ind_prv_struct d2pm_ddm_pdn_nw_deact_ind_prv_struct;
350
351/*******************************************************************************
352* DDM TO D2PM IND *
353*******************************************************************************/
354typedef atcmd_reason_enum ddm_reason_enum;
355typedef struct
356{
357 kal_char apn[APN_STRING_LEN];
358 kal_uint32 cid;
359 d2pm_ddm_ip_info_struct ip_info; // at_cgpaddr_ind_struct
360 d2pm_ddm_net_info_struct net_info;
361 kal_bool ims_info_present;
362 d2pm_ddm_ims_info_struct ims_info;
363 kal_bool is_dangling;
364 ddm_reason_enum reason;
365 d2pm_ddm_res_enum res;
366}me_pdn_act_struct;
367typedef struct
368{
369 kal_uint32 cid;
370
371 kal_bool is_dangling;
372}me_pdn_deact_struct;
373typedef struct
374{
375 kal_uint32 cid;
376 kal_bool is_dangling;
377 ps_cause_enum deact_cause;
378}nw_pdn_deact_struct;
379typedef struct
380{
381 kal_uint32 cid;
382 kal_uint32 p_cid;
383 kal_bool ip_info_present;
384 d2pm_ddm_ip_info_struct ip_info; // at_cgpaddr_ind_struct
385 kal_bool net_info_present;
386 d2pm_ddm_net_info_struct net_info;
387 kal_bool ims_info_present;
388 d2pm_ddm_ims_info_struct ims_info;
389 kal_bool is_dangling;
390}nw_act_struct;
391typedef struct
392{
393 kal_uint32 cid;
394 kal_uint32 p_cid;
395 ps_cause_enum deact_cause;
396 kal_bool is_dangling;
397 ps_cause_enum modify_cause;
398}nw_deact_struct;
399typedef struct
400{
401 kal_uint32 cid;
402 kal_uint32 p_cid;
403 kal_bool change_reason_present;
404 kal_uint32 change_reason;
405 kal_bool ip_info_present;
406 d2pm_ddm_ip_info_struct ip_info; // at_cgpaddr_ind_struct
407 kal_bool net_info_present;
408 d2pm_ddm_net_info_struct net_info;
409 kal_bool ims_info_present;
410 d2pm_ddm_ims_info_struct ims_info;
411}nw_modify_struct;
412// +CGEV: use at_cgev_ind_struct directly
413typedef struct
414{
415 D2PM_DDM_IND_LOCAL_PARA_HDR
416 cgev_event_enum event;
417 union {
418 me_pdn_act_struct me_pdn_act;
419 me_pdn_deact_struct me_pdn_deact;
420 nw_pdn_deact_struct nw_pdn_deact;
421 nw_act_struct nw_act;
422 nw_deact_struct nw_deact;
423 nw_modify_struct nw_modify;
424 } info;
425}d2pm_ddm_urc_cgev_ind_struct;
426
427// MSG_ID_D2PM_DDM_DEFINE_ATTACH_PDN_IND
428typedef struct
429{
430 D2PM_DDM_IND_LOCAL_PARA_HDR
431 data_retry_reset_user_enum reset_user;
432}d2pm_ddm_reset_data_retry_timer_ind_struct;
433// MSG_ID_D2PM_DDM_ATTACHED_RAT_IND
434typedef struct
435{
436 D2PM_DDM_IND_LOCAL_PARA_HDR
437 l4bnw_public_attached_network_info_struct attached_network_info;
438}d2am_ddm_attached_rat_ind_struct;
439// plmn id
440typedef struct {
441 kal_uint8 mcc1;
442 kal_uint8 mcc2;
443 kal_uint8 mcc3;
444 kal_uint8 mnc1;
445 kal_uint8 mnc2;
446 kal_uint8 mnc3;
447} ddm_plmn_id_struct;
448// MSG_ID_D2PM_DDM_DEFINE_ATTACH_PDN_IND
449typedef struct
450{
451 D2PM_DDM_IND_LOCAL_PARA_HDR
452 kal_bool is_suggested_handover;
453 ddm_plmn_id_struct current_plmn_id;
454}d2am_ddm_define_attach_pdn_ind_struct;
455// MSG_ID_D2PM_DDM_NEED_DETACH_PDN_IND
456typedef struct
457{
458 D2PM_DDM_IND_LOCAL_PARA_HDR
459 kal_uint32 cid;
460 kal_uint8 apn[APN_STRING_LEN];
461 d2am_ddm_detach_event_enum event;
462}d2am_ddm_need_detach_pdn_ind_struct;
463
464typedef struct
465{
466 D2PM_DDM_IND_LOCAL_PARA_HDR
467 kal_uint8 cid;
468 kal_uint8 apn[APN_STRING_LEN];
469 pdp_addr_type_enum pdp_type;
470}d2am_ddm_attach_pdn_activate_success_ind_struct;
471
472typedef struct
473{
474 D2PM_DDM_IND_LOCAL_PARA_HDR
475 kal_uint8 cid;
476 ps_cause_enum err_cause;
477 kal_bool is_change_to_apn_class_present;
478 kal_uint8 change_to_apn_class;
479}d2am_ddm_attach_pdn_activate_failure_ind_struct;
480
481typedef struct
482{
483 D2PM_DDM_IND_LOCAL_PARA_HDR
484 mmi_event_enum event_id;
485}d2am_ddm_ps_event_report_ind_struct;
486
487typedef struct
488{
489 D2PM_DDM_IND_LOCAL_PARA_HDR
490 kal_bool is_success;
491 kal_uint16 err_cause;
492}d2am_ddm_edallow_cnf_struct;
493
494// MSG_ID_D2AM_DDM_EVZWAPFCIA_CNF
495typedef struct
496{
497 D2PM_DDM_IND_LOCAL_PARA_HDR
498 kal_bool is_success;
499 kal_uint16 err_cause;
500}d2am_ddm_evzwapfcia_cnf_struct;
501
502// MSG_ID_D2AM_DDM_EUTRAN_DISABLE_CHECK_IND
503typedef struct
504{
505 D2PM_DDM_IND_LOCAL_PARA_HDR
506}d2am_ddm_eutran_disable_check_ind_struct;
507
508typedef enum {
509 DDM_D2AM_DETACH_CAUSE_NONE,
510 DDM_D2AM_DETACH_CAUSE_NO_ACTION,
511} ddm_d2am_detach_cause_enum;
512
513// MSG_ID_D2AM_DDM_EUTRAN_DISABLE_CHECK_RSP
514typedef struct
515{
516 D2PM_DDM_IND_LOCAL_PARA_HDR
517 kal_bool is_ps_detach_needed;
518 ddm_d2am_detach_cause_enum cause;
519}d2am_ddm_eutran_disable_check_rsp_struct;
520
521// MSG_ID_D2AM_DDM_T3402_STOP_IND
522typedef struct {
523 LOCAL_PARA_HDR
524 ddm_plmn_id_struct current_plmn_id;
525 timer_status_enum status;
526} d2am_ddm_t3402_stop_ind_struct;
527
528/*******************************************************************************
529* D2PM TO DDM RSP *
530*******************************************************************************/
531// MSG_ID_D2AM_DDM_EDALLOW_REQ
532typedef struct
533{
534 D2PM_DDM_RSP_LOCAL_PARA_HDR
535 atcmd_is_data_allowed_enum is_data_allowed;
536 kal_uint8 edallow_deact[MAX_PS_CID_NUM];
537}d2am_ddm_edallow_req_struct;
538
539typedef struct
540{
541 D2PM_DDM_RSP_LOCAL_PARA_HDR
542 atcmd_is_data_allowed_enum is_data_allowed;
543}d2am_ddm_l4bnw_edallow_req_struct;
544
545
546// MSG_ID_D2AM_DDM_EVZWAPFCIA_REQ
547typedef struct
548{
549 D2PM_DDM_RSP_LOCAL_PARA_HDR
550 at_evzwapfcia_req_struct cmd;
551}d2am_ddm_evzwapfcia_req_struct;
552
553// MSG_ID_D2PM_DDM_DEFINE_ATTACH_PDN_RSP
554typedef struct {
555 D2PM_DDM_RSP_LOCAL_PARA_HDR
556 kal_bool is_success;
557 ps_cause_enum err_cause;
558 kal_uint32 cid;
559 kal_bool fb_cid_present;
560 kal_uint32 fb_cid;
561 atcmd_request_type_enum req_type;
562 kal_uint8 apn[APN_STRING_LEN];
563 kal_uint8 pdp_type[PDP_TYPE_STRING_LEN];
564 kal_uint8 roam_prot[ROAMING_IP_TYPE_STRING_LEN];
565 kal_uint32 auth_type;
566 kal_uint8 username[USERID_STRING_LEN];
567 kal_uint8 passwd[PASSWORD_STRING_LEN];
568 kal_bool is_cid_allocated;
569 kal_bool apn_type_is_ims;
570 kal_bool apn_type_is_rcs;
571 kal_bool cgdcont_req_present;
572 at_cgdcont_req_struct cgdcont_req;
573 kal_bool pco_req_present;
574 ddm_egpco_req_struct pco_req;
575 kal_bool pdp_addr_present;
576 kal_uint8 pdp_addr_len;
577 kal_uint8 pdp_addr[IPV4V6_ADDR_LEN];
578 kal_bool d_comp_present;
579 kal_uint8 d_comp;
580 kal_bool h_comp_present;
581 kal_uint8 h_comp;
582 kal_bool pcscf_discovery_present;
583 kal_uint8 pcscf_discovery;
584 kal_bool im_cn_signalling_present;
585 kal_uint8 im_cn_signalling;
586} d2am_ddm_define_attach_pdn_rsp_struct;
587
588//MSG_ID_D2AM_DDM_PS_TYPE_CONFIG_REQ
589typedef struct {
590 D2PM_DDM_RSP_LOCAL_PARA_HDR
591 l4_ps_type_config_enum ps_type;
592 kal_bool follow_on_request;
593} d2am_ddm_ps_type_config_req_struct;
594
595//MSG_ID_D2AM_DDM_PS_TYPE_CONFIG_CNF
596typedef struct {
597 D2PM_DDM_IND_LOCAL_PARA_HDR
598 l4_ps_config_result_enum result;
599} d2am_ddm_ps_type_config_cnf_struct;
600
601//MSG_ID_D2AM_DDM_PS_REATTACH_CONFIG_REQ
602typedef struct {
603 D2PM_DDM_RSP_LOCAL_PARA_HDR
604 kal_bool is_reattach;
605} d2am_ddm_ps_reattach_config_req_struct;
606// MSG_ID_D2AM_DDM_ECNCFG_REQ_IND
607typedef struct {
608 D2PM_DDM_RSP_LOCAL_PARA_HDR
609 at_ecncfg_req_struct cmd;
610} d2am_ddm_ecncfg_req_ind_struct;
611
612// MSG_ID_D2AM_DDM_EVZWAPFCIA_IND
613typedef struct
614{
615 D2PM_DDM_RSP_LOCAL_PARA_HDR
616 at_evzwapfcia_ind_struct cmd;
617}d2am_ddm_evzwapfcia_ind_struct;
618
619// MSG_ID_D2AM_DDM_RELEASE_FB_CID_IND
620typedef struct
621{
622 D2PM_DDM_RSP_LOCAL_PARA_HDR
623 kal_uint32 fb_cid;
624}d2am_ddm_release_fb_cid_ind_struct;
625
626typedef struct
627{
628 D2PM_DDM_IND_LOCAL_PARA_HDR
629 kal_bool is_success;
630 }d2am_ddm_l4bnw_edallow_cnf_struct;
631
632/*******************************************************************************
633* D2PM TO DDM REQ *
634*******************************************************************************/
635
636// MSG_ID_D2PM_DDM_SET_SBP_ID_REQ, this is only for debugging
637typedef struct {
638 D2PM_DDM_REQ_LOCAL_PARA_HDR
639 kal_uint32 sbp_id;
640}d2pm_ddm_set_sbp_id_req_struct;
641
642typedef struct {
643 LOCAL_PARA_HDR
644 kal_uint8 cid;
645 kal_uint32 apn_type_activate; /*bit map refer to enum ddm_apn_type*/
646}d2ux_ddm_notify_pdn_type_req_struct;
647
648#endif