[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
+
+