[Feature]Upload Modem source code

Change-Id: Id4294f30faced84d3e6fd6d5e61e1111bf287a37
diff --git a/mcu/protocol/interface/ddm/d2apn_public_defs.h b/mcu/protocol/interface/ddm/d2apn_public_defs.h
new file mode 100644
index 0000000..8d2b8e0
--- /dev/null
+++ b/mcu/protocol/interface/ddm/d2apn_public_defs.h
@@ -0,0 +1,104 @@
+#ifndef __D2APN_PUBLIC_DEFS_H__
+#define __D2APN_PUBLIC_DEFS_H__
+
+// Type denifitions
+typedef enum
+{
+    D2APN_RES_FAIL = -1, 
+    D2APN_RES_NONE, 
+    D2APN_RES_SUCC, 
+    D2APN_RES_MAX = 0x7FFFFFFF
+}d2apn_res_enum;
+
+// => MSG_ID_D2APN_SET_APNS_INFO_REQ
+typedef enum
+{
+    D2APN_SET_APNS_INFO_REQ_TYPE_NONE = 0x00, 
+    D2APN_SET_APNS_INFO_REQ_TYPE_WR_THRU, 
+    D2APN_SET_APNS_INFO_REQ_TYPE_CACHE, 
+    D2APN_SET_APNS_INFO_REQ_TYPE_WR_BACK, 
+    D2APN_SET_APNS_INFO_REQ_TYPE_MAX = 0x7F
+}d2apn_set_apns_info_req_type_enum;
+
+// => MSG_ID_D2APN_SET_APNS_REQ
+typedef enum
+{
+    D2APN_SET_APNS_REQ_TYPE_NONE = 0x00, 
+    D2APN_SET_APNS_REQ_TYPE_WR_THRU, 
+    D2APN_SET_APNS_REQ_TYPE_CACHE, 
+    D2APN_SET_APNS_REQ_TYPE_WR_BACK, 
+    D2APN_SET_APNS_REQ_TYPE_MAX = 0x7F
+}d2apn_set_apns_req_type_enum;
+
+// => MSG_ID_D2APN_RESET_APNS_INFO_REQ
+typedef enum
+{
+    D2APN_RESET_APNS_INFO_REQ_TYPE_NONE = 0x00, 
+    D2APN_RESET_APNS_INFO_REQ_TYPE_WR_THRU, 
+    D2APN_RESET_APNS_INFO_REQ_TYPE_CACHE, 
+    D2APN_RESET_APNS_INFO_REQ_TYPE_WR_BACK, 
+    D2APN_RESET_APNS_INFO_REQ_TYPE_MAX = 0x7F
+}d2apn_reset_apns_info_req_type_enum;
+
+// => MSG_ID_D2APN_RESET_APNS_REQ
+typedef enum
+{
+    D2APN_RESET_APNS_REQ_TYPE_NONE = 0x00, 
+    D2APN_RESET_APNS_REQ_TYPE_WR_THRU, 
+    D2APN_RESET_APNS_REQ_TYPE_CACHE, 
+    D2APN_RESET_APNS_REQ_TYPE_WR_BACK, 
+    D2APN_RESET_APNS_REQ_TYPE_WR_THRU_ALL,  
+    D2APN_RESET_APNS_REQ_TYPE_CACHE_ALL, 
+    D2APN_RESET_APNS_REQ_TYPE_WR_BACK_ALL, 
+    D2APN_RESET_APNS_REQ_TYPE_MAX = 0x7F
+}d2apn_reset_apns_req_type_enum;
+
+// => MSG_ID_D2APN_GET_APNS_INFO_REQ
+typedef enum
+{
+    D2APN_GET_APNS_INFO_REQ_TYPE_NONE = 0x00, 
+    D2APN_GET_APNS_INFO_REQ_TYPE_CACHE, 
+    D2APN_GET_APNS_INFO_REQ_TYPE_MAX = 0x7F
+}d2apn_get_apns_info_req_type_enum;
+
+// => MSG_ID_D2APN_GET_APNS_REQ
+typedef enum
+{
+    D2APN_GET_APNS_REQ_TYPE_NONE = 0x00, 
+    D2APN_GET_APNS_REQ_TYPE_APN_IDX, 
+    D2APN_GET_APNS_REQ_TYPE_OWNER, 
+    D2APN_GET_APNS_REQ_TYPE_APN, 
+    D2APN_GET_APNS_REQ_TYPE_CACHE, 
+    D2APN_GET_APNS_REQ_TYPE_CACHE_APN_IDX = D2APN_GET_APNS_REQ_TYPE_CACHE, 
+    D2APN_GET_APNS_REQ_TYPE_CACHE_OWNER, 
+    D2APN_GET_APNS_REQ_TYPE_CACHE_APN, 
+    D2APN_GET_APNS_REQ_TYPE_MAX = 0x7F
+}d2apn_get_apns_req_type_enum;
+
+// => MSG_ID_D2APN_APNS_CHG_IND
+typedef enum
+{
+    D2APN_APNS_CHG_IND_TYPE_NONE = 0x00, 
+    D2APN_APNS_CHG_IND_TYPE_INFO,    // when D2APN_SET_APNS_INFO_REQ_TYPE_WR_THRU and D2APN_RESET_APNS_INFO_REQ_TYPE_WR_THRU
+    D2APN_APNS_CHG_IND_TYPE_APN_IDX,    // when D2APN_SET_APNS_REQ_TYPE_WR_THRU and D2APN_RESET_APNS_REQ_TYPE_WR_THRU
+    D2APN_APNS_CHG_IND_TYPE_OWNER,    // when xxx_WR_BACK_xxx and D2APN_RESET_APNS_REQ_TYPE_WR_THRU_ALL
+    D2APN_APNS_CHG_IND_TYPE_MAX = 0x7F
+}d2apn_apns_chg_ind_type_enum;
+
+// Macro
+// => Attribute
+// => => Message
+#define D2APN_ATTR_MSG_MASK    (0x0000000F)
+#define D2APN_ATTR_NO_MSG    (0x00000000)
+#define D2APN_ATTR_ILM_MSG    (0x00000001)
+#define D2APN_ATTR_CB_MSG    (0x00000002)
+// => => Relationship
+#define D2APN_ATTR_RELP_MASK    (0x000000F0)
+#define D2APN_ATTR_NO_RELP    (0x00000000)
+#define D2APN_ATTR_ALIAS_RELP    (0x00000010)
+
+// APIs
+// => Attribute
+#define D2APN_ATTR_IS_MSG(attr, msg_type)    (((attr) & D2APN_ATTR_MSG_MASK) == (msg_type) ? 0 == 0 : 0 != 0)
+
+#endif