[Feature]Upload Modem source code
Change-Id: Id4294f30faced84d3e6fd6d5e61e1111bf287a37
diff --git a/mcu/protocol/interface/ddm/ddm_common_struct.h b/mcu/protocol/interface/ddm/ddm_common_struct.h
new file mode 100644
index 0000000..456c67d
--- /dev/null
+++ b/mcu/protocol/interface/ddm/ddm_common_struct.h
@@ -0,0 +1,319 @@
+/*****************************************************************************
+* 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) 2005
+*
+* 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).
+*
+*****************************************************************************/
+
+/*****************************************************************************
+ *
+ * Filename:
+ * ---------
+ * ddm_common_struct.h
+ *
+ * Project:
+ * --------
+ * MOLY
+ *
+ * Description:
+ * ------------
+ *
+ *
+ * Author:
+ * -------
+ * -------
+ *
+ *============================================================================
+ * HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *------------------------------------------------------------------------------
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *============================================================================
+ ****************************************************************************/
+
+#ifndef _DDM_COMMON_STRUCT_H
+#define _DDM_COMMON_STRUCT_H
+
+#include "kal_public_defs.h"
+#include "d2pm_public_defs.h"
+#include "atcmd_struct.h"
+#include "netinfo_common_struct.h"
+#include "ps_public_enum.h"
+
+typedef struct
+{
+ at_token_parse_result_enum S_NSSAI_parse_result;
+ at_s_nssai_struct S_NSSAI; // string type
+ at_token_parse_result_enum SSC_mode_parse_result;
+ atcmd_SSC_mode_enum SSC_mode; // integer type
+ at_token_parse_result_enum Access_type_parse_result;
+ atcmd_Access_type_enum Access_type; // integer type
+} at_eapnset_UE_local_config_struct;
+
+#define MAX_PCSCF_NUMBER 6
+
+typedef enum {
+ DDM_APN_TYPE_UNKNOWN = 0x00000000,
+ DDM_APN_TYPE_DEFAULT = 0x00000001,
+ DDM_APN_TYPE_IMS = 0x00000002,
+ DDM_APN_TYPE_MMS = 0x00000004,
+ DDM_APN_TYPE_SUPL = 0x00000008,
+ DDM_APN_TYPE_DUN = 0x00000010,
+// DDM_APN_TYPE_HIPRI = 0x00000020,
+ DDM_APN_TYPE_FOTA = 0x00000040,
+// DDM_APN_TYPE_CBS = 0x00000080,
+ DDM_APN_TYPE_EMERGENCY = 0x00000100,
+ DDM_APN_TYPE_IA = 0x00000200,
+// DDM_APN_TYPE_DM = 0x00000400,
+// DDM_APN_TYPE_WAP = 0x00000800,
+// DDM_APN_TYPE_NET = 0x00001000,
+// DDM_APN_TYPE_CMMAIL = 0x00002000,
+// DDM_APN_TYPE_TETHERING = 0x00004000,
+// DDM_APN_TYPE_RCSE = 0x00008000,
+ DDM_APN_TYPE_XCAP = 0x00010000,
+// DDM_APN_TYPE_RCS = 0x00020000,
+ DDM_APN_TYPE_RCS_PCSCF = 0x00040000,
+ DDM_APN_TYPE_VSIM = 0x00080000,
+// DDM_APN_TYPE_BIP = 0x00100000,
+ DDM_APN_TYPE_PTT = 0x00200000,
+ DDM_APN_TYPE_NW_ASSIGNED = 0x80000000,
+} ddm_apn_type_enum;
+
+/* this is a bitmap */
+typedef enum {
+ PDX_ATTR_UNKNOWN = 0x00000000,
+ PDX_ATTR_NOT_NOTIFY = 0x00000001,
+ PDX_ATTR_IS_DANGLING = 0x00000002,
+ PDX_ATTR_IS_IA = 0x00000004,
+} pdx_attribute_enum;
+
+typedef enum {
+ DDM_PDP_TYPE_NONE = 0x0,
+ DDM_PDP_TYPE_V4 = 0x1,
+ DDM_PDP_TYPE_V6 = 0x2,
+ DDM_PDP_TYPE_V4V6 = 0x3, /* V4 | V6 */
+} ddm_pdp_type_enum;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint32 sbp_id;
+ kal_uint8 mcc[MAX_MCC_STR_LEN];
+ kal_uint8 mnc[MAX_MNC_STR_LEN];
+} ddm_dsbp_ready_ind_struct;
+
+typedef struct {
+ kal_uint32 apn_type_activate; /* ddm_apn_type */
+ kal_uint32 apn_type_all; /* ddm_apn_type */
+} apn_type_info_struct;
+
+typedef struct {
+ kal_int32 p_cid; // to activate a dedicated bearer
+ kal_int32 fb_cid; // to activate an IPv4v6 fallback bearer
+ kal_int32 old_cid; // for SSC mode 3
+} cid_info_struct;
+
+typedef struct {
+ kal_bool cgdcont_req_present;
+ at_cgdcont_req_struct cgdcont_req;
+ kal_bool egpco_req_present;
+ at_egpco_req_struct egpco_req;
+} d2_legacy_at_struct;
+
+typedef struct {
+ kal_uint32 network_interface_id;
+} network_interface_id_info_struct;
+
+typedef enum
+{
+ // DDM_RES_SUCC_RETRY, not exist
+ DDM_RES_NONE = D2PM_RES_NONE,
+ DDM_RES_FAIL = D2PM_RES_FAIL,
+ DDM_RES_SUCC = D2PM_RES_SUCC,
+ // a subsequent CID
+ DDM_RES_FAIL_ABORT = D2PM_RES_FAIL_ABORT,
+ DDM_RES_SUCC_ABORT = D2PM_RES_SUCC_ABORT,
+ DDM_RES_FAIL_CONT = D2PM_RES_FAIL_CONT,
+ DDM_RES_SUCC_CONT = D2PM_RES_SUCC_CONT,
+ // otherwise
+ DDM_RES_REJ = D2PM_RES_REJ,
+ DDM_RES_RETRY = D2PM_RES_RETRY,
+ DDM_RES_MAX = 0x7FFFFFFF
+}ddm_res_enum;
+
+// => Common strcuture
+typedef atcmd_request_type_enum ddm_req_type_enum;
+//typedef at_cgpaddr_ind_struct ddm_ip_info_struct; // [GT] NOT to use at_cmd format for Wi-Fi, etc.
+typedef network_ip_info_struct ddm_ip_info_struct;
+//typedef at_cgcontrdp_ind_struct ddm_net_info_struct; // [GT] NOT to use at_cmd format for Wi-Fi, etc.
+typedef net_info_struct ddm_net_info_struct;
+typedef retry_info_struct ddm_retry_info_struct;
+
+typedef ims_info_struct ddm_ims_info_struct;
+// => AT Command interface
+typedef at_cgact_req_struct ddm_get_data_call_list_req_struct;
+typedef at_cgact_ind_struct ddm_get_data_call_list_cnf_struct;
+typedef at_cgact_ind_struct ddm_get_data_call_list_ind_struct;
+typedef at_cgcontrdp_req_struct ddm_get_dynamic_param_req_struct;
+typedef at_cgcontrdp_ind_struct ddm_get_dynamic_param_cnf_struct;
+typedef at_cgcontrdp_ind_struct ddm_get_dynamic_param_ind_struct;
+typedef at_cgscontrdp_req_struct ddm_get_secondary_dynamic_param_req_struct;
+typedef at_cgscontrdp_ind_struct ddm_get_secondary_dynamic_param_cnf_struct;
+typedef at_cgscontrdp_ind_struct ddm_get_secondary_dynamic_param_ind_struct;
+typedef at_cgpaddr_req_struct ddm_get_pdp_address_req_struct;
+typedef at_cgpaddr_ind_struct ddm_get_pdp_address_cnf_struct;
+typedef at_cgpaddr_ind_struct ddm_get_pdp_address_ind_struct;
+typedef at_cgeqosrdp_req_struct ddm_get_qos_req_struct;
+typedef at_cgeqosrdp_ind_struct ddm_get_qos_cnf_struct;
+typedef at_cgeqosrdp_ind_struct ddm_get_qos_ind_struct;
+typedef at_c5gqosrdp_req_struct ddm_get_5gqos_req_struct;
+typedef at_c5gqosrdp_ind_struct ddm_get_5gqos_cnf_struct;
+typedef at_c5gqosrdp_ind_struct ddm_get_5gqos_ind_struct;
+typedef at_cgtftrdp_req_struct ddm_get_tft_req_struct;
+typedef at_cgtftrdp_ind_struct ddm_get_tft_cnf_struct;
+typedef at_cgtftrdp_ind_struct ddm_get_tft_ind_struct;
+typedef at_eglnkpf_req_struct ddm_set_packet_filter_req_struct;
+typedef at_cgtftrdp_ind_struct ddm_set_packet_filter_cnf_struct;
+typedef at_cgtftrdp_ind_struct ddm_set_packet_filter_ind_struct;
+typedef at_eglnkpf_req_struct ddm_get_packet_filter_req_struct;
+typedef at_eglnkpf_ind_struct ddm_get_packet_filter_cnf_struct;
+typedef at_eglnkpf_ind_struct ddm_get_packet_filter_ind_struct;
+typedef at_cgcmod_req_struct ddm_modify_data_call_req_struct;
+typedef at_cmd_cnf_struct ddm_modify_data_call_cnf_struct; // [GT] at_cgcmod_req_struct does NOT exist
+typedef at_cmd_cnf_struct ddm_modify_data_call_ind_struct; // [GT] at_cgcmod_req_struct does NOT exist
+
+#endif // _DDM_COMMON_STRUCT_H
+
+