[Feature]Upload Modem source code
Change-Id: Id4294f30faced84d3e6fd6d5e61e1111bf287a37
diff --git a/mcu/protocol/interface/ims/d2pm_ddm_struct.h b/mcu/protocol/interface/ims/d2pm_ddm_struct.h
new file mode 100644
index 0000000..3171df4
--- /dev/null
+++ b/mcu/protocol/interface/ims/d2pm_ddm_struct.h
@@ -0,0 +1,648 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2012
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+#ifndef _D2PM_DDM_STRUCT_H
+#define _D2PM_DDM_STRUCT_H
+
+#include "kal_general_types.h"
+#include "kal_public_defs.h"
+#include "atcmd_struct.h"
+#include "ps_public_enum.h"
+#include "pdn_public_defs.h"
+#include "d2pm_public_defs.h"
+#include "ddm_common_struct.h"
+#include "l3_inc_enums_public.h"
+#include "l3_inc_enums.h"
+#include "l4bnw_public_struct.h"
+#include "l4c_common_enum.h"
+#include "ddm_nwsel_struct.h"
+#include "ps_public_struct.h"
+
+// Type definitions
+typedef struct
+{
+ kal_uint32 src_id;
+}d2pm_ddm_comm_ind_prv_struct;
+
+typedef struct
+{
+ kal_uint32 src_id;
+}d2pm_ddm_comm_req_prv_struct;
+
+typedef struct
+{
+ kal_uint32 src_id;
+}d2pm_ddm_comm_cnf_prv_struct;
+
+typedef struct
+{
+ kal_uint8 IE_count;
+ egpco_ie_struct IE[MAX_IE_COUNT];
+}ddm_egpco_req_struct;
+
+typedef ddm_res_enum d2pm_d2rm_res_enum;
+typedef ddm_ip_info_struct d2pm_d2rm_ip_info_struct;
+typedef ddm_net_info_struct d2pm_d2rm_net_info_struct;
+typedef ddm_retry_info_struct d2pm_d2rm_retry_info_struct;
+typedef ddm_req_type_enum d2pm_d2rm_act_data_call_req_type_enum;
+
+typedef ddm_ip_info_struct d2pm_ddm_ip_info_struct;
+typedef ddm_net_info_struct d2pm_ddm_net_info_struct;
+typedef ddm_ims_info_struct d2pm_ddm_ims_info_struct;
+typedef ddm_ims_info_struct d2pm_ddm_ims_prv_data_t; // for D2PM_IWLAN and D2CM
+
+// => REQ
+typedef d2pm_ddm_comm_req_prv_struct d2pm_ddm_get_data_call_list_req_prv_struct;
+typedef d2pm_ddm_comm_req_prv_struct d2pm_ddm_get_dynamic_param_req_prv_struct;
+typedef ddm_get_secondary_dynamic_param_req_struct d2pm_ddm_get_secondary_dynamic_param_req_prv_struct;
+typedef ddm_get_pdp_address_req_struct d2pm_ddm_get_pdp_address_req_prv_struct;
+typedef ddm_get_qos_req_struct d2pm_ddm_get_qos_req_prv_struct;
+typedef ddm_get_tft_req_struct d2pm_ddm_get_tft_req_prv_struct;
+typedef ddm_set_packet_filter_req_struct d2pm_ddm_set_packet_filter_req_prv_struct;
+typedef ddm_get_packet_filter_req_struct d2pm_ddm_get_packet_filter_req_prv_struct;
+typedef d2pm_ddm_comm_req_prv_struct d2pm_ddm_mod_data_call_req_prv_struct;
+// => CNF
+typedef d2pm_ddm_comm_cnf_prv_struct d2pm_ddm_get_data_call_list_cnf_prv_struct;
+typedef d2pm_ddm_comm_cnf_prv_struct d2pm_ddm_get_dynamic_param_cnf_prv_struct;
+typedef ddm_get_secondary_dynamic_param_cnf_struct d2pm_ddm_get_secondary_dynamic_param_cnf_prv_struct;
+typedef ddm_get_pdp_address_cnf_struct d2pm_ddm_get_pdp_address_cnf_prv_struct;
+typedef ddm_get_qos_cnf_struct d2pm_ddm_get_qos_cnf_prv_struct;
+typedef ddm_get_tft_cnf_struct d2pm_ddm_get_tft_cnf_prv_struct;
+typedef ddm_set_packet_filter_cnf_struct d2pm_ddm_set_packet_filter_cnf_prv_struct;
+typedef ddm_get_packet_filter_cnf_struct d2pm_ddm_get_packet_filter_cnf_prv_struct;
+typedef d2pm_ddm_comm_cnf_prv_struct d2pm_ddm_mod_data_call_cnf_prv_struct; // [GT] at_cgcmod_req_struct does NOT exist
+// => IND
+typedef d2pm_ddm_comm_ind_prv_struct d2pm_ddm_get_data_call_list_ind_prv_struct;
+typedef ddm_get_secondary_dynamic_param_ind_struct d2pm_ddm_get_secondary_dynamic_param_ind_prv_struct;
+typedef ddm_get_pdp_address_ind_struct d2pm_ddm_get_pdp_address_ind_prv_struct;
+typedef ddm_get_qos_ind_struct d2pm_ddm_get_qos_ind_prv_struct;
+typedef ddm_get_tft_ind_struct d2pm_ddm_get_tft_ind_prv_struct;
+typedef ddm_set_packet_filter_ind_struct d2pm_ddm_set_packet_filter_ind_prv_struct;
+typedef ddm_get_packet_filter_ind_struct d2pm_ddm_get_packet_filter_ind_prv_struct;
+//typedef d2pm_ddm_comm_ind_prv_struct d2pm_ddm_mod_data_call_ind_prv_struct; // [GT] at_cgcmod_req_struct does NOT exist
+typedef struct
+{
+ kal_uint32 src_id;
+ data_call_change_reason_enum data_call_change_reason;
+}d2pm_ddm_mod_data_call_ind_prv_struct;
+typedef struct
+{
+ kal_uint32 src_id; // Unused above D2RM
+ at_cgcontrdp_ind_struct cmd;
+}d2pm_ddm_get_dynamic_param_ind_prv_struct;
+
+typedef enum
+{
+// D2PM_DDM_RES_SUCC_RETRY, not exist
+ D2PM_DDM_RES_NONE = D2PM_RES_NONE,
+ D2PM_DDM_RES_FAIL = D2PM_RES_FAIL,
+ D2PM_DDM_RES_SUCC = D2PM_RES_SUCC,
+ // a subsequent CID
+ D2PM_DDM_RES_FAIL_ABORT = D2PM_RES_FAIL_ABORT,
+ D2PM_DDM_RES_SUCC_ABORT = D2PM_RES_SUCC_ABORT,
+ D2PM_DDM_RES_FAIL_CONT = D2PM_RES_FAIL_CONT,
+ D2PM_DDM_RES_SUCC_CONT = D2PM_RES_SUCC_CONT,
+ // otherwise
+ D2PM_DDM_RES_REJ = D2PM_RES_REJ,
+ D2PM_DDM_RES_RETRY = D2PM_RES_RETRY,
+ D2PM_DDM_RES_MAX = 0x7FFFFFFF
+}d2pm_ddm_res_enum;
+
+typedef enum
+{
+ D2AM_DDM_EVENT_IS_EMERGENCY,
+ D2AM_DDM_EVENT_IS_IMS,
+ D2AM_DDM_EVENT_IS_APN_CONFLICT,
+ D2AM_DDM_EVENT_IS_APN_CLEAR_DEACT,
+ D2AM_DDM_EVENT_MAX = 0x7FFFFFFF
+}d2am_ddm_detach_event_enum;
+// Macros
+
+//VoLTE
+#define MAX_PCSCF_NUMBER 6
+
+#define D2PM_DDM_REQ_LOCAL_PARA_HDR \
+ LOCAL_PARA_HDR \
+ kal_uint32 src_id;
+
+#define D2PM_DDM_CNF_LOCAL_PARA_HDR \
+ LOCAL_PARA_HDR \
+ kal_uint32 src_id;
+
+#define D2PM_DDM_IND_LOCAL_PARA_HDR \
+ LOCAL_PARA_HDR \
+ kal_uint32 src_id;
+
+#define D2PM_DDM_RSP_LOCAL_PARA_HDR \
+ LOCAL_PARA_HDR \
+ kal_uint32 src_id;
+
+// Functions
+// N/A
+
+// Implementation
+/*******************************************************************************
+* D2PM to DDM REQ *
+*******************************************************************************/
+
+typedef struct
+{
+ kal_uint32 src_id;
+ kal_bool p_cid_present;
+ kal_uint32 p_cid;
+ kal_bool fb_cid_present;
+ kal_uint32 fb_cid;
+ kal_bool fb_ipv4_first;
+ kal_uint32 auth_type;
+ kal_uint8 pdp_type[PDP_TYPE_STRING_LEN];
+ kal_uint8 username[USERID_STRING_LEN];
+ kal_uint8 passwd[PASSWORD_STRING_LEN];
+ kal_bool pcscf_restore;
+ if_info_struct if_info;
+ apn_type_info_struct apn_type_info;
+ kal_uint32 test_mode_flag;
+ at_eapnset_UE_local_config_struct UE_local_config;
+ kal_bool qos_param_present;
+ kal_uint32 qos_reliability;
+ kal_uint32 qos_precedence_class;
+ kal_uint32 qos_delay_class;
+ kal_uint32 qos_peak_throughput_class;
+ kal_uint32 qos_mean_throughput_class;
+}d2pm_ddm_act_data_call_req_prv_struct;
+typedef d2pm_ddm_act_data_call_req_prv_struct d2pm_ddm_act_data_call_reject_cnf_prv_struct;
+typedef d2pm_ddm_mod_data_call_req_prv_struct d2pm_ddm_mod_data_call_reject_cnf_prv_struct;
+
+typedef struct
+{
+ kal_uint32 src_id;
+ atcmd_deact_cause_enum cause;
+ kal_uint32 test_mode_flag;
+}d2pm_ddm_deact_data_call_req_prv_struct;
+typedef d2pm_ddm_deact_data_call_req_prv_struct d2pm_ddm_deact_data_call_reject_cnf_prv_struct;
+typedef d2pm_ddm_deact_data_call_req_prv_struct d2pm_ddm_abort_data_call_req_prv_struct;
+typedef d2pm_ddm_deact_data_call_req_prv_struct d2pm_ddm_abort_data_call_reject_cnf_prv_struct;
+
+typedef enum {
+ DDM_DEACT_MODE_NORMAL = 0x00000000,
+ DDM_DEACT_MODE_UNBIND = 0x00000001,
+ DDM_DEACT_MODE_LOCAL_RELEASE = 0x00000002,
+ DDM_DEACT_MODE_FORCE_DEACT = 0x00000004,
+ DDM_DEACT_MODE_EDALLOW_DEACT = 0x00000008,
+} deact_mode_enum;
+typedef struct {
+ kal_uint32 deact_mode;
+} d2am_ddm_deact_data_call_req_prv_struct;
+typedef d2am_ddm_deact_data_call_req_prv_struct d2am_ddm_abort_data_call_req_prv_struct;
+
+#if 0
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+#if 0
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+#endif
+/* under construction !*/
+/* under construction !*/
+#endif
+typedef struct
+{
+ retrytime_type_enum retrytime_type;
+ kal_uint32 retry_time;
+}d2pm_ddm_data_retry_prv_data_t;
+
+typedef struct
+{
+ kal_uint32 src_id;
+ kal_uint32 fb_cid_present;
+ kal_uint32 fb_cid;
+#if 0
+/* under construction !*/
+#endif
+#if 0
+/* under construction !*/
+#endif
+ d2pm_ddm_ims_info_struct ims_prv_data;
+ d2pm_ddm_data_retry_prv_data_t data_retry_prv_data;
+ pco_info_t pco_info;
+ kal_uint16 err_cause;
+ kal_bool is_dangling;
+}d2pm_ddm_act_data_call_cnf_prv_struct;
+typedef d2pm_ddm_act_data_call_cnf_prv_struct d2pm_ddm_act_data_call_ind_prv_struct;
+
+typedef struct
+{
+ kal_uint32 src_id;
+ kal_bool is_dangling;
+ kal_uint16 cause;
+ pco_info_t pco_info;
+}d2pm_ddm_deact_data_call_cnf_prv_struct;
+typedef d2pm_ddm_deact_data_call_cnf_prv_struct d2pm_ddm_abort_data_call_cnf_prv_struct;
+
+typedef struct
+{
+ kal_uint32 src_id;
+#if 0
+/* under construction !*/
+/* under construction !*/
+#endif
+ at_cgev_ind_struct cgev_cmd;
+ kal_bool ims_info_present;
+ d2pm_ddm_ims_info_struct ims_info;
+ kal_bool is_dangling_present;
+ kal_bool is_dangling;
+ ps_cause_enum deact_cause;
+}d2pm_ddm_urc_cgev_ind_prv_struct;
+
+typedef struct
+{
+ D2PM_DDM_IND_LOCAL_PARA_HDR
+ //kal_uint32 src_id;
+ at_escontind_ind_struct cmd;
+}d2pm_ddm_escontind_ind_struct;
+
+typedef d2pm_ddm_urc_cgev_ind_prv_struct d2pm_ddm_pdn_nw_act_ind_prv_struct;
+typedef d2pm_ddm_urc_cgev_ind_prv_struct d2pm_ddm_pdn_nw_deact_ind_prv_struct;
+
+/*******************************************************************************
+* DDM TO D2PM IND *
+*******************************************************************************/
+typedef atcmd_reason_enum ddm_reason_enum;
+typedef struct
+{
+ kal_char apn[APN_STRING_LEN];
+ kal_uint32 cid;
+ d2pm_ddm_ip_info_struct ip_info; // at_cgpaddr_ind_struct
+ d2pm_ddm_net_info_struct net_info;
+ kal_bool ims_info_present;
+ d2pm_ddm_ims_info_struct ims_info;
+ kal_bool is_dangling;
+ ddm_reason_enum reason;
+ d2pm_ddm_res_enum res;
+}me_pdn_act_struct;
+typedef struct
+{
+ kal_uint32 cid;
+
+ kal_bool is_dangling;
+}me_pdn_deact_struct;
+typedef struct
+{
+ kal_uint32 cid;
+ kal_bool is_dangling;
+ ps_cause_enum deact_cause;
+}nw_pdn_deact_struct;
+typedef struct
+{
+ kal_uint32 cid;
+ kal_uint32 p_cid;
+ kal_bool ip_info_present;
+ d2pm_ddm_ip_info_struct ip_info; // at_cgpaddr_ind_struct
+ kal_bool net_info_present;
+ d2pm_ddm_net_info_struct net_info;
+ kal_bool ims_info_present;
+ d2pm_ddm_ims_info_struct ims_info;
+ kal_bool is_dangling;
+}nw_act_struct;
+typedef struct
+{
+ kal_uint32 cid;
+ kal_uint32 p_cid;
+ ps_cause_enum deact_cause;
+ kal_bool is_dangling;
+ ps_cause_enum modify_cause;
+}nw_deact_struct;
+typedef struct
+{
+ kal_uint32 cid;
+ kal_uint32 p_cid;
+ kal_bool change_reason_present;
+ kal_uint32 change_reason;
+ kal_bool ip_info_present;
+ d2pm_ddm_ip_info_struct ip_info; // at_cgpaddr_ind_struct
+ kal_bool net_info_present;
+ d2pm_ddm_net_info_struct net_info;
+ kal_bool ims_info_present;
+ d2pm_ddm_ims_info_struct ims_info;
+}nw_modify_struct;
+// +CGEV: use at_cgev_ind_struct directly
+typedef struct
+{
+ D2PM_DDM_IND_LOCAL_PARA_HDR
+ cgev_event_enum event;
+ union {
+ me_pdn_act_struct me_pdn_act;
+ me_pdn_deact_struct me_pdn_deact;
+ nw_pdn_deact_struct nw_pdn_deact;
+ nw_act_struct nw_act;
+ nw_deact_struct nw_deact;
+ nw_modify_struct nw_modify;
+ } info;
+}d2pm_ddm_urc_cgev_ind_struct;
+
+// MSG_ID_D2PM_DDM_DEFINE_ATTACH_PDN_IND
+typedef struct
+{
+ D2PM_DDM_IND_LOCAL_PARA_HDR
+ data_retry_reset_user_enum reset_user;
+}d2pm_ddm_reset_data_retry_timer_ind_struct;
+// MSG_ID_D2PM_DDM_ATTACHED_RAT_IND
+typedef struct
+{
+ D2PM_DDM_IND_LOCAL_PARA_HDR
+ l4bnw_public_attached_network_info_struct attached_network_info;
+}d2am_ddm_attached_rat_ind_struct;
+// plmn id
+typedef struct {
+ kal_uint8 mcc1;
+ kal_uint8 mcc2;
+ kal_uint8 mcc3;
+ kal_uint8 mnc1;
+ kal_uint8 mnc2;
+ kal_uint8 mnc3;
+} ddm_plmn_id_struct;
+// MSG_ID_D2PM_DDM_DEFINE_ATTACH_PDN_IND
+typedef struct
+{
+ D2PM_DDM_IND_LOCAL_PARA_HDR
+ kal_bool is_suggested_handover;
+ ddm_plmn_id_struct current_plmn_id;
+}d2am_ddm_define_attach_pdn_ind_struct;
+// MSG_ID_D2PM_DDM_NEED_DETACH_PDN_IND
+typedef struct
+{
+ D2PM_DDM_IND_LOCAL_PARA_HDR
+ kal_uint32 cid;
+ kal_uint8 apn[APN_STRING_LEN];
+ d2am_ddm_detach_event_enum event;
+}d2am_ddm_need_detach_pdn_ind_struct;
+
+typedef struct
+{
+ D2PM_DDM_IND_LOCAL_PARA_HDR
+ kal_uint8 cid;
+ kal_uint8 apn[APN_STRING_LEN];
+ pdp_addr_type_enum pdp_type;
+}d2am_ddm_attach_pdn_activate_success_ind_struct;
+
+typedef struct
+{
+ D2PM_DDM_IND_LOCAL_PARA_HDR
+ kal_uint8 cid;
+ ps_cause_enum err_cause;
+ kal_bool is_change_to_apn_class_present;
+ kal_uint8 change_to_apn_class;
+}d2am_ddm_attach_pdn_activate_failure_ind_struct;
+
+typedef struct
+{
+ D2PM_DDM_IND_LOCAL_PARA_HDR
+ mmi_event_enum event_id;
+}d2am_ddm_ps_event_report_ind_struct;
+
+typedef struct
+{
+ D2PM_DDM_IND_LOCAL_PARA_HDR
+ kal_bool is_success;
+ kal_uint16 err_cause;
+}d2am_ddm_edallow_cnf_struct;
+
+// MSG_ID_D2AM_DDM_EVZWAPFCIA_CNF
+typedef struct
+{
+ D2PM_DDM_IND_LOCAL_PARA_HDR
+ kal_bool is_success;
+ kal_uint16 err_cause;
+}d2am_ddm_evzwapfcia_cnf_struct;
+
+// MSG_ID_D2AM_DDM_EUTRAN_DISABLE_CHECK_IND
+typedef struct
+{
+ D2PM_DDM_IND_LOCAL_PARA_HDR
+}d2am_ddm_eutran_disable_check_ind_struct;
+
+typedef enum {
+ DDM_D2AM_DETACH_CAUSE_NONE,
+ DDM_D2AM_DETACH_CAUSE_NO_ACTION,
+} ddm_d2am_detach_cause_enum;
+
+// MSG_ID_D2AM_DDM_EUTRAN_DISABLE_CHECK_RSP
+typedef struct
+{
+ D2PM_DDM_IND_LOCAL_PARA_HDR
+ kal_bool is_ps_detach_needed;
+ ddm_d2am_detach_cause_enum cause;
+}d2am_ddm_eutran_disable_check_rsp_struct;
+
+// MSG_ID_D2AM_DDM_T3402_STOP_IND
+typedef struct {
+ LOCAL_PARA_HDR
+ ddm_plmn_id_struct current_plmn_id;
+ timer_status_enum status;
+} d2am_ddm_t3402_stop_ind_struct;
+
+/*******************************************************************************
+* D2PM TO DDM RSP *
+*******************************************************************************/
+// MSG_ID_D2AM_DDM_EDALLOW_REQ
+typedef struct
+{
+ D2PM_DDM_RSP_LOCAL_PARA_HDR
+ atcmd_is_data_allowed_enum is_data_allowed;
+ kal_uint8 edallow_deact[MAX_PS_CID_NUM];
+}d2am_ddm_edallow_req_struct;
+
+typedef struct
+{
+ D2PM_DDM_RSP_LOCAL_PARA_HDR
+ atcmd_is_data_allowed_enum is_data_allowed;
+}d2am_ddm_l4bnw_edallow_req_struct;
+
+
+// MSG_ID_D2AM_DDM_EVZWAPFCIA_REQ
+typedef struct
+{
+ D2PM_DDM_RSP_LOCAL_PARA_HDR
+ at_evzwapfcia_req_struct cmd;
+}d2am_ddm_evzwapfcia_req_struct;
+
+// MSG_ID_D2PM_DDM_DEFINE_ATTACH_PDN_RSP
+typedef struct {
+ D2PM_DDM_RSP_LOCAL_PARA_HDR
+ kal_bool is_success;
+ ps_cause_enum err_cause;
+ kal_uint32 cid;
+ kal_bool fb_cid_present;
+ kal_uint32 fb_cid;
+ atcmd_request_type_enum req_type;
+ kal_uint8 apn[APN_STRING_LEN];
+ kal_uint8 pdp_type[PDP_TYPE_STRING_LEN];
+ kal_uint8 roam_prot[ROAMING_IP_TYPE_STRING_LEN];
+ kal_uint32 auth_type;
+ kal_uint8 username[USERID_STRING_LEN];
+ kal_uint8 passwd[PASSWORD_STRING_LEN];
+ kal_bool is_cid_allocated;
+ kal_bool apn_type_is_ims;
+ kal_bool apn_type_is_rcs;
+ kal_bool cgdcont_req_present;
+ at_cgdcont_req_struct cgdcont_req;
+ kal_bool pco_req_present;
+ ddm_egpco_req_struct pco_req;
+ kal_bool pdp_addr_present;
+ kal_uint8 pdp_addr_len;
+ kal_uint8 pdp_addr[IPV4V6_ADDR_LEN];
+ kal_bool d_comp_present;
+ kal_uint8 d_comp;
+ kal_bool h_comp_present;
+ kal_uint8 h_comp;
+ kal_bool pcscf_discovery_present;
+ kal_uint8 pcscf_discovery;
+ kal_bool im_cn_signalling_present;
+ kal_uint8 im_cn_signalling;
+} d2am_ddm_define_attach_pdn_rsp_struct;
+
+//MSG_ID_D2AM_DDM_PS_TYPE_CONFIG_REQ
+typedef struct {
+ D2PM_DDM_RSP_LOCAL_PARA_HDR
+ l4_ps_type_config_enum ps_type;
+ kal_bool follow_on_request;
+} d2am_ddm_ps_type_config_req_struct;
+
+//MSG_ID_D2AM_DDM_PS_TYPE_CONFIG_CNF
+typedef struct {
+ D2PM_DDM_IND_LOCAL_PARA_HDR
+ l4_ps_config_result_enum result;
+} d2am_ddm_ps_type_config_cnf_struct;
+
+//MSG_ID_D2AM_DDM_PS_REATTACH_CONFIG_REQ
+typedef struct {
+ D2PM_DDM_RSP_LOCAL_PARA_HDR
+ kal_bool is_reattach;
+} d2am_ddm_ps_reattach_config_req_struct;
+// MSG_ID_D2AM_DDM_ECNCFG_REQ_IND
+typedef struct {
+ D2PM_DDM_RSP_LOCAL_PARA_HDR
+ at_ecncfg_req_struct cmd;
+} d2am_ddm_ecncfg_req_ind_struct;
+
+// MSG_ID_D2AM_DDM_EVZWAPFCIA_IND
+typedef struct
+{
+ D2PM_DDM_RSP_LOCAL_PARA_HDR
+ at_evzwapfcia_ind_struct cmd;
+}d2am_ddm_evzwapfcia_ind_struct;
+
+// MSG_ID_D2AM_DDM_RELEASE_FB_CID_IND
+typedef struct
+{
+ D2PM_DDM_RSP_LOCAL_PARA_HDR
+ kal_uint32 fb_cid;
+}d2am_ddm_release_fb_cid_ind_struct;
+
+typedef struct
+{
+ D2PM_DDM_IND_LOCAL_PARA_HDR
+ kal_bool is_success;
+ }d2am_ddm_l4bnw_edallow_cnf_struct;
+
+/*******************************************************************************
+* D2PM TO DDM REQ *
+*******************************************************************************/
+
+// MSG_ID_D2PM_DDM_SET_SBP_ID_REQ, this is only for debugging
+typedef struct {
+ D2PM_DDM_REQ_LOCAL_PARA_HDR
+ kal_uint32 sbp_id;
+}d2pm_ddm_set_sbp_id_req_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 cid;
+ kal_uint32 apn_type_activate; /*bit map refer to enum ddm_apn_type*/
+}d2ux_ddm_notify_pdn_type_req_struct;
+
+#endif