blob: 4cb0afb909fff57fc6ab3e2451e7e6da4d0a7023 [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;
yu.dongc279f972024-06-18 02:22:06 -0700334#if 0
335/* under construction !*/
336/* under construction !*/
337#endif
rjw6c1fd8f2022-11-30 14:33:01 +0800338 kal_bool is_dangling_present;
339 kal_bool is_dangling;
340 ps_cause_enum deact_cause;
341}d2pm_ddm_urc_cgev_ind_prv_struct;
342
343typedef struct
344{
345 D2PM_DDM_IND_LOCAL_PARA_HDR
346 //kal_uint32 src_id;
347 at_escontind_ind_struct cmd;
348}d2pm_ddm_escontind_ind_struct;
349
yu.dongc279f972024-06-18 02:22:06 -0700350typedef struct
351{
352 kal_bool ims_info_present;
353 d2pm_ddm_ims_info_struct ims_info;
354
355}d2pm_ddm_urc_cgev_ind_ims_info_struct;
356
357
rjw6c1fd8f2022-11-30 14:33:01 +0800358typedef d2pm_ddm_urc_cgev_ind_prv_struct d2pm_ddm_pdn_nw_act_ind_prv_struct;
359typedef d2pm_ddm_urc_cgev_ind_prv_struct d2pm_ddm_pdn_nw_deact_ind_prv_struct;
360
361/*******************************************************************************
362* DDM TO D2PM IND *
363*******************************************************************************/
364typedef atcmd_reason_enum ddm_reason_enum;
365typedef struct
366{
367 kal_char apn[APN_STRING_LEN];
368 kal_uint32 cid;
369 d2pm_ddm_ip_info_struct ip_info; // at_cgpaddr_ind_struct
370 d2pm_ddm_net_info_struct net_info;
371 kal_bool ims_info_present;
372 d2pm_ddm_ims_info_struct ims_info;
373 kal_bool is_dangling;
374 ddm_reason_enum reason;
375 d2pm_ddm_res_enum res;
376}me_pdn_act_struct;
377typedef struct
378{
379 kal_uint32 cid;
380
381 kal_bool is_dangling;
382}me_pdn_deact_struct;
383typedef struct
384{
385 kal_uint32 cid;
386 kal_bool is_dangling;
387 ps_cause_enum deact_cause;
388}nw_pdn_deact_struct;
389typedef struct
390{
391 kal_uint32 cid;
392 kal_uint32 p_cid;
393 kal_bool ip_info_present;
394 d2pm_ddm_ip_info_struct ip_info; // at_cgpaddr_ind_struct
395 kal_bool net_info_present;
396 d2pm_ddm_net_info_struct net_info;
397 kal_bool ims_info_present;
398 d2pm_ddm_ims_info_struct ims_info;
399 kal_bool is_dangling;
400}nw_act_struct;
401typedef struct
402{
403 kal_uint32 cid;
404 kal_uint32 p_cid;
405 ps_cause_enum deact_cause;
406 kal_bool is_dangling;
407 ps_cause_enum modify_cause;
408}nw_deact_struct;
409typedef struct
410{
411 kal_uint32 cid;
412 kal_uint32 p_cid;
413 kal_bool change_reason_present;
414 kal_uint32 change_reason;
415 kal_bool ip_info_present;
416 d2pm_ddm_ip_info_struct ip_info; // at_cgpaddr_ind_struct
417 kal_bool net_info_present;
418 d2pm_ddm_net_info_struct net_info;
419 kal_bool ims_info_present;
420 d2pm_ddm_ims_info_struct ims_info;
421}nw_modify_struct;
422// +CGEV: use at_cgev_ind_struct directly
423typedef struct
424{
425 D2PM_DDM_IND_LOCAL_PARA_HDR
426 cgev_event_enum event;
427 union {
428 me_pdn_act_struct me_pdn_act;
429 me_pdn_deact_struct me_pdn_deact;
430 nw_pdn_deact_struct nw_pdn_deact;
431 nw_act_struct nw_act;
432 nw_deact_struct nw_deact;
433 nw_modify_struct nw_modify;
434 } info;
435}d2pm_ddm_urc_cgev_ind_struct;
436
437// MSG_ID_D2PM_DDM_DEFINE_ATTACH_PDN_IND
438typedef struct
439{
440 D2PM_DDM_IND_LOCAL_PARA_HDR
441 data_retry_reset_user_enum reset_user;
442}d2pm_ddm_reset_data_retry_timer_ind_struct;
443// MSG_ID_D2PM_DDM_ATTACHED_RAT_IND
444typedef struct
445{
446 D2PM_DDM_IND_LOCAL_PARA_HDR
447 l4bnw_public_attached_network_info_struct attached_network_info;
448}d2am_ddm_attached_rat_ind_struct;
449// plmn id
450typedef struct {
451 kal_uint8 mcc1;
452 kal_uint8 mcc2;
453 kal_uint8 mcc3;
454 kal_uint8 mnc1;
455 kal_uint8 mnc2;
456 kal_uint8 mnc3;
457} ddm_plmn_id_struct;
458// MSG_ID_D2PM_DDM_DEFINE_ATTACH_PDN_IND
459typedef struct
460{
461 D2PM_DDM_IND_LOCAL_PARA_HDR
462 kal_bool is_suggested_handover;
463 ddm_plmn_id_struct current_plmn_id;
464}d2am_ddm_define_attach_pdn_ind_struct;
465// MSG_ID_D2PM_DDM_NEED_DETACH_PDN_IND
466typedef struct
467{
468 D2PM_DDM_IND_LOCAL_PARA_HDR
469 kal_uint32 cid;
470 kal_uint8 apn[APN_STRING_LEN];
471 d2am_ddm_detach_event_enum event;
472}d2am_ddm_need_detach_pdn_ind_struct;
473
474typedef struct
475{
476 D2PM_DDM_IND_LOCAL_PARA_HDR
477 kal_uint8 cid;
478 kal_uint8 apn[APN_STRING_LEN];
479 pdp_addr_type_enum pdp_type;
480}d2am_ddm_attach_pdn_activate_success_ind_struct;
481
482typedef struct
483{
484 D2PM_DDM_IND_LOCAL_PARA_HDR
485 kal_uint8 cid;
486 ps_cause_enum err_cause;
487 kal_bool is_change_to_apn_class_present;
488 kal_uint8 change_to_apn_class;
489}d2am_ddm_attach_pdn_activate_failure_ind_struct;
490
491typedef struct
492{
493 D2PM_DDM_IND_LOCAL_PARA_HDR
494 mmi_event_enum event_id;
495}d2am_ddm_ps_event_report_ind_struct;
496
497typedef struct
498{
499 D2PM_DDM_IND_LOCAL_PARA_HDR
500 kal_bool is_success;
501 kal_uint16 err_cause;
502}d2am_ddm_edallow_cnf_struct;
503
504// MSG_ID_D2AM_DDM_EVZWAPFCIA_CNF
505typedef struct
506{
507 D2PM_DDM_IND_LOCAL_PARA_HDR
508 kal_bool is_success;
509 kal_uint16 err_cause;
510}d2am_ddm_evzwapfcia_cnf_struct;
511
512// MSG_ID_D2AM_DDM_EUTRAN_DISABLE_CHECK_IND
513typedef struct
514{
515 D2PM_DDM_IND_LOCAL_PARA_HDR
516}d2am_ddm_eutran_disable_check_ind_struct;
517
518typedef enum {
519 DDM_D2AM_DETACH_CAUSE_NONE,
520 DDM_D2AM_DETACH_CAUSE_NO_ACTION,
521} ddm_d2am_detach_cause_enum;
522
523// MSG_ID_D2AM_DDM_EUTRAN_DISABLE_CHECK_RSP
524typedef struct
525{
526 D2PM_DDM_IND_LOCAL_PARA_HDR
527 kal_bool is_ps_detach_needed;
528 ddm_d2am_detach_cause_enum cause;
529}d2am_ddm_eutran_disable_check_rsp_struct;
530
531// MSG_ID_D2AM_DDM_T3402_STOP_IND
532typedef struct {
533 LOCAL_PARA_HDR
534 ddm_plmn_id_struct current_plmn_id;
535 timer_status_enum status;
536} d2am_ddm_t3402_stop_ind_struct;
537
538/*******************************************************************************
539* D2PM TO DDM RSP *
540*******************************************************************************/
541// MSG_ID_D2AM_DDM_EDALLOW_REQ
542typedef struct
543{
544 D2PM_DDM_RSP_LOCAL_PARA_HDR
545 atcmd_is_data_allowed_enum is_data_allowed;
546 kal_uint8 edallow_deact[MAX_PS_CID_NUM];
547}d2am_ddm_edallow_req_struct;
548
549typedef struct
550{
551 D2PM_DDM_RSP_LOCAL_PARA_HDR
552 atcmd_is_data_allowed_enum is_data_allowed;
553}d2am_ddm_l4bnw_edallow_req_struct;
554
555
556// MSG_ID_D2AM_DDM_EVZWAPFCIA_REQ
557typedef struct
558{
559 D2PM_DDM_RSP_LOCAL_PARA_HDR
560 at_evzwapfcia_req_struct cmd;
561}d2am_ddm_evzwapfcia_req_struct;
562
563// MSG_ID_D2PM_DDM_DEFINE_ATTACH_PDN_RSP
564typedef struct {
565 D2PM_DDM_RSP_LOCAL_PARA_HDR
566 kal_bool is_success;
567 ps_cause_enum err_cause;
568 kal_uint32 cid;
569 kal_bool fb_cid_present;
570 kal_uint32 fb_cid;
571 atcmd_request_type_enum req_type;
572 kal_uint8 apn[APN_STRING_LEN];
573 kal_uint8 pdp_type[PDP_TYPE_STRING_LEN];
574 kal_uint8 roam_prot[ROAMING_IP_TYPE_STRING_LEN];
575 kal_uint32 auth_type;
576 kal_uint8 username[USERID_STRING_LEN];
577 kal_uint8 passwd[PASSWORD_STRING_LEN];
578 kal_bool is_cid_allocated;
579 kal_bool apn_type_is_ims;
580 kal_bool apn_type_is_rcs;
581 kal_bool cgdcont_req_present;
582 at_cgdcont_req_struct cgdcont_req;
583 kal_bool pco_req_present;
584 ddm_egpco_req_struct pco_req;
585 kal_bool pdp_addr_present;
586 kal_uint8 pdp_addr_len;
587 kal_uint8 pdp_addr[IPV4V6_ADDR_LEN];
588 kal_bool d_comp_present;
589 kal_uint8 d_comp;
590 kal_bool h_comp_present;
591 kal_uint8 h_comp;
592 kal_bool pcscf_discovery_present;
593 kal_uint8 pcscf_discovery;
594 kal_bool im_cn_signalling_present;
595 kal_uint8 im_cn_signalling;
596} d2am_ddm_define_attach_pdn_rsp_struct;
597
598//MSG_ID_D2AM_DDM_PS_TYPE_CONFIG_REQ
599typedef struct {
600 D2PM_DDM_RSP_LOCAL_PARA_HDR
601 l4_ps_type_config_enum ps_type;
602 kal_bool follow_on_request;
603} d2am_ddm_ps_type_config_req_struct;
604
605//MSG_ID_D2AM_DDM_PS_TYPE_CONFIG_CNF
606typedef struct {
607 D2PM_DDM_IND_LOCAL_PARA_HDR
608 l4_ps_config_result_enum result;
609} d2am_ddm_ps_type_config_cnf_struct;
610
611//MSG_ID_D2AM_DDM_PS_REATTACH_CONFIG_REQ
612typedef struct {
613 D2PM_DDM_RSP_LOCAL_PARA_HDR
614 kal_bool is_reattach;
615} d2am_ddm_ps_reattach_config_req_struct;
616// MSG_ID_D2AM_DDM_ECNCFG_REQ_IND
617typedef struct {
618 D2PM_DDM_RSP_LOCAL_PARA_HDR
619 at_ecncfg_req_struct cmd;
620} d2am_ddm_ecncfg_req_ind_struct;
621
622// MSG_ID_D2AM_DDM_EVZWAPFCIA_IND
623typedef struct
624{
625 D2PM_DDM_RSP_LOCAL_PARA_HDR
626 at_evzwapfcia_ind_struct cmd;
627}d2am_ddm_evzwapfcia_ind_struct;
628
629// MSG_ID_D2AM_DDM_RELEASE_FB_CID_IND
630typedef struct
631{
632 D2PM_DDM_RSP_LOCAL_PARA_HDR
633 kal_uint32 fb_cid;
634}d2am_ddm_release_fb_cid_ind_struct;
635
636typedef struct
637{
638 D2PM_DDM_IND_LOCAL_PARA_HDR
639 kal_bool is_success;
640 }d2am_ddm_l4bnw_edallow_cnf_struct;
641
642/*******************************************************************************
643* D2PM TO DDM REQ *
644*******************************************************************************/
645
646// MSG_ID_D2PM_DDM_SET_SBP_ID_REQ, this is only for debugging
647typedef struct {
648 D2PM_DDM_REQ_LOCAL_PARA_HDR
649 kal_uint32 sbp_id;
650}d2pm_ddm_set_sbp_id_req_struct;
651
652typedef struct {
653 LOCAL_PARA_HDR
654 kal_uint8 cid;
655 kal_uint32 apn_type_activate; /*bit map refer to enum ddm_apn_type*/
656}d2ux_ddm_notify_pdn_type_req_struct;
657
658#endif