[Feature][Modem]Update MTK MODEM V1.6 baseline version: MOLY.NR15.R3.MD700.IVT.MP1MR3.MP.V1.6

MTK modem version: MT2735_IVT_MOLY.NR15.R3.MD700.IVT.MP1MR3.MP.V1.6.tar.gz
RF  modem version: NA

Change-Id: I45a4c2752fa9d1a618beacd5d40737fb39ab64fb
diff --git a/mcu/interface/middleware/general/TVT_callback.h b/mcu/interface/middleware/general/TVT_callback.h
new file mode 100644
index 0000000..006acca
--- /dev/null
+++ b/mcu/interface/middleware/general/TVT_callback.h
@@ -0,0 +1,19 @@
+#ifndef _TVT_CALLBACK_H
+#define _TVT_CALLBACK_H
+
+//extern vt_csr_Q_struct VT_CSR_output_queue;
+extern void vt_csr_get_uplink_data_ind(
+        kal_uint16 req_len,
+        kal_uint8 **pdu_ptr,
+        kal_uint16 *pdu_len,
+        kal_uint16 *frame_index,
+        kal_uint8 tick_count,
+        kal_uint8 sim_index
+    );
+
+extern void vt_csr_put_downlink_data_ind(kal_uint8 *pdu_ptr, kal_uint16 pdu_len, kal_uint8 sim_index);
+
+extern void vt_csr_consume_uplink_data_ind(kal_uint16 req_len);
+
+#endif /* _TVT_CALLBACK_H */ 
+
diff --git a/mcu/interface/middleware/general/codec_def.h b/mcu/interface/middleware/general/codec_def.h
new file mode 100644
index 0000000..0219fd9
--- /dev/null
+++ b/mcu/interface/middleware/general/codec_def.h
@@ -0,0 +1,77 @@
+#ifndef __IMS_SDP_CODEC_DEF_H__
+#define __IMS_SDP_CODEC_DEF_H__
+
+
+typedef enum 
+{
+    VOIP_CODEC_NONE     = 0,
+    VOIP_CODEC_AMR,
+    VOIP_CODEC_AMR_WB,
+    VOIP_CODEC_H264,
+    VOIP_TELEPHONE_EVENT,
+    VOIP_CODEC_G729,
+    VOIP_CODEC_PCMA,
+    VOIP_CODEC_PCMU,
+    VOIP_CODEC_G7231,
+    VOIP_CODEC_G726_16,
+    VOIP_CODEC_G726_24,
+    VOIP_CODEC_G726_32,
+    VOIP_CODEC_G726_40,
+    VOIP_CODEC_T140,
+    VOIP_CODEC_RED,
+    VOIP_CODEC_CN,
+    VOIP_CODEC_H265,
+    VOIP_CODEC_EVS,
+#if 0 // not support iLBC    
+/* under construction !*/
+#endif // not support iLBC
+} voip_codec_enum;
+
+
+typedef enum e_vcodec_pt_type
+{
+    PT_CODEC_PCMU = 0,
+    PT_CODEC_PCMA = 8,
+    PT_CODEC_CN = 13,
+    PT_CODEC_G729 = 18,
+    PT_CODEC_G7231 = 4,
+    PT_TELEPHONE_EVENT = 101,
+#if 0 // not support iLBC    
+/* under construction !*/
+#endif // not support iLBC    
+    PT_CODEC_G726_16 = 105, /* R1 definition this is 96*/
+    PT_CODEC_G726_24 = 106,
+    PT_CODEC_G726_32 = 107,
+    PT_CODEC_G726_40 = 108,
+
+} voip_codec_pt_type;
+
+
+/**
+ * @brief Define the type in SC_ACCT_MEDIA_G723_RATE
+ */
+typedef enum voip_conf_g723_1_rate{
+    codec_g723_1_5_3k=0,
+    codec_g723_1_6_3k,
+}e_voip_conf_g723_1_rate;
+
+
+/**
+ * @brief Define the type in SC_ACCT_MEDIA_ILBC_RATE
+ */
+typedef enum voip_conf_ilbc_rate{
+    codec_ilbc_20ms=0,
+    codec_ilbc_30ms,
+}e_voip_conf_ilbc_rate;
+
+
+/**
+ * @brief Define the type in SC_ACCT_ADV_DTMF_TYPE
+ */
+typedef enum voip_conf_dtmf{
+    dtmf_rfc2833=0,
+    dtmf_inband=1,
+}e_voip_conf_dtmf;
+
+                
+#endif /* __IMS_SDP_CODEC_DEF_H__ */
diff --git a/mcu/interface/middleware/general/l4c2ppp_struct.h b/mcu/interface/middleware/general/l4c2ppp_struct.h
new file mode 100644
index 0000000..690d082
--- /dev/null
+++ b/mcu/interface/middleware/general/l4c2ppp_struct.h
@@ -0,0 +1,187 @@
+/*****************************************************************************
+*  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:
+ * ---------
+ * L4C2PPP_STRUCT.H
+ *
+ * Project:
+ * --------
+ *   MAUI
+ *
+ * Description:
+ * ------------
+ *   This file describes the common struct of TCM and PPP.
+ *
+ * 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!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *============================================================================
+ ****************************************************************************/
+
+/********************************************************************************
+*  Copyright Statement:
+*  --------------------
+*
+*  This product has been developed using a protocol stack
+*  developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+#ifndef _L4C2PPP_STRUCT_H
+#define _L4C2PPP_STRUCT_H
+
+#include "kal_general_types.h"
+//#include "kal_non_specific_general_types.h"
+
+typedef struct {
+    kal_uint8 ref_count;
+    kal_uint16 msg_len;
+    kal_uint8 src_id;
+    kal_uint8 context_id;
+    kal_uint8 auth_type;
+    kal_uint8 pdp_type;
+    kal_uint8 port;
+} l4cppp_activate_req_struct;
+
+typedef struct {
+    kal_uint8 ref_count;
+    kal_uint16 msg_len;
+    kal_uint8 context_id; 
+    kal_uint8 src_id;
+    kal_uint8 port;
+    #ifdef __LOCAL_DEACTIVATE_PDP_SUPPORT__
+    kal_bool local_deactivate_pdp; /* __LOCAL_DEACTIVATE_PDP_SUPPORT__ */
+    #endif // ~ __LOCAL_DEACTIVATE_PDP_SUPPORT__
+} l4cppp_deactivate_req_struct;
+
+typedef struct {
+    kal_uint8 ref_count;
+    kal_uint16 msg_len;
+    kal_uint8 username[32];
+    kal_uint8 password[32];
+    kal_uint8 csd_mod_id;
+    kal_uint8 default_pri_dns_addr[4]; /* __PPP_DEFAULT_DNS_SUPPORTED__  */
+    kal_uint8 default_sec_dns_addr[4]; /* __PPP_DEFAULT_DNS_SUPPORTED__  */
+} l4cppp_csd_activate_req_struct;
+
+typedef struct {
+    kal_uint8 ref_count;
+    kal_uint16 msg_len;    
+    kal_uint8 deact_cause;
+} l4cppp_csd_deactivate_req_struct;
+
+//mtk01616_080912
+/* __GPRS_DIALUP_ESCAPE_ATO_SUPPORT__ */
+typedef struct {
+    kal_uint8 ref_count;
+    kal_uint16 msg_len;    
+    kal_uint8 port;
+} l4cppp_resume_req_struct;
+/* ~ __GPRS_DIALUP_ESCAPE_ATO_SUPPORT__ */
+
+// PPP Type PDP Dialup Feature
+typedef struct {
+    kal_uint8 ref_count;
+    kal_uint16 msg_len;    
+    kal_uint8 src_id;
+    kal_uint8 context_id;
+    kal_uint8 port;
+} l4cppp_ppptypepdp_uart_transfer_ind_struct;
+
+//__IPV4V6__
+typedef struct {
+    kal_uint8  ref_count;
+    kal_uint16 msg_len;    
+    //MUST be valid all the time --
+    kal_uint8  activate_port;     //mtk02285, MAUI_03127025, IPV4V6 fallback: cid2 vs. ps_dialup_port[]    
+    kal_bool   activate_next_pdp;
+    //-- MUST be valid all the time
+
+    //ONLY valid when activate_next_pdp==KAL_TRUE --
+    kal_uint8  activate_pdp_cid;
+    kal_uint8  activate_pdp_type;
+    //-- ONLY valid when activate_next_pdp==KAL_TRUE    
+} l4cppp_ipv4v6_fallback_rsp_struct;
+#endif 
+
+
diff --git a/mcu/interface/middleware/general/mmi_common_enum.h b/mcu/interface/middleware/general/mmi_common_enum.h
new file mode 100644
index 0000000..0f28ae5
--- /dev/null
+++ b/mcu/interface/middleware/general/mmi_common_enum.h
@@ -0,0 +1,282 @@
+/*****************************************************************************
+*  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).
+*
+*****************************************************************************/
+ /*******************************************************************************
+ *  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) 2001
+ *
+ *******************************************************************************/
+
+ /*******************************************************************************
+ * Filename:
+ * ---------
+ *   mmi_common_enum.h
+ *
+ * Project:
+ * --------
+ *   MAUI
+ *
+ * Description:
+ * ------------
+ *   mmi common enum
+ *
+ * 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!
+ *
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *==============================================================================
+ *******************************************************************************/
+
+#ifndef _MMI_COMMON_ENUM_H
+#define _MMI_COMMON_ENUM_H
+
+typedef enum
+{
+   CBS0_GERMAN = 0,
+   CBS0_ENGLISH,
+   CBS0_ITALIAN,
+   CBS0_FRENCH,
+   CBS0_SPANISH,
+   CBS0_DUTCH,
+   CBS0_SWEDISH,
+   CBS0_DANISH,
+   CBS0_PORTUGUESE,
+   CBS0_FINNISH,
+   CBS0_NORWEGIAN,
+   CBS0_GREEK,
+   CBS0_TURKISH,
+   CBS0_HUNGARIAN,
+   CBS0_POLISH,
+   CBS0_LANG_UNSPECIFIED,
+
+   CBS1_CZECH = 16,
+   CBS1_HEBREW,
+   CBS1_ARABIC,
+   CBS1_RUSSIAN,
+
+
+   CBS2_AA, // AFAR, 20
+   CBS2_AB, // ABKHAZIAN
+   CBS2_AF, // AFRIKAANS
+   CBS2_AM, // AMHARIC
+   //CBS2_AR, // ARABIC
+   CBS2_AS, // ASSAMESE
+   CBS2_AY, // AYMARA
+   CBS2_AZ, // AZERBAIJANI
+
+   CBS2_BA, // BASHKIR
+   CBS2_BE, // BYELORUSSIAN
+   CBS2_BG, // BULGARIAN, 30
+   CBS2_BH, // BIHARI
+   CBS2_BI, // BISLAMA
+   CBS2_BN, // BENGALI; BANGLA
+   CBS2_BO, // TIBETAN
+   CBS2_BR, // BRETON
+
+   CBS2_CA, // CATALAN
+   CBS2_CO, // CORSICAN
+   //CBS2_CS, // CZECH
+   CBS2_CY, // WELSH
+
+   //CBS2_DA, // DANISH, 40
+   //CBS2_DE, // GERMAN
+   CBS2_DZ, // BHUTANI
+
+   //CBS2_EL, // GREEK
+   //CBS2_EN, // ENGLISH
+   CBS2_EO, // ESPERANTO
+   //CBS2_ES, // SPANISH
+   CBS2_ET, // ESTONIAN
+   CBS2_EU, // BASQUE
+
+   CBS2_FA, // PERSIAN
+   //CBS2_FI, // FINNISH, 50
+   CBS2_FJ, // FIJI
+   CBS2_FO, // FAROESE
+   //CBS2_FR, // FRENCH
+   CBS2_FY, // FRISIAN
+
+   CBS2_GA, // IRISH
+   CBS2_GD, // SCOTS GAELIC
+   CBS2_GL, // GALICIAN
+   CBS2_GN, // GUARANI
+   CBS2_GU, // GUJARATI
+
+   CBS2_HA, // HAUSA, 60
+   //CBS2_HE, // HEBREW (FORMERLY IW)
+   CBS2_HI, // HINDI
+   CBS2_HR, // CROATIAN
+   //CBS2_HU, // HUNGARIAN
+   CBS2_HY, // ARMENIAN
+
+   CBS2_IA, // INTERLINGUA
+   CBS2_ID, // INDONESIAN (FORMERLY IN)
+   CBS2_IE, // INTERLINGUE
+   CBS2_IK, // INUPIAK
+   CBS2_IS, // ICELANDIC, 70
+   //CBS2_IT, // ITALIAN
+   CBS2_IU, // INUKTITUT
+
+   CBS2_JA, // JAPANESE
+   CBS2_JW, // JAVANESE
+
+   CBS2_KA, // GEORGIAN
+   CBS2_KK, // KAZAKH
+   CBS2_KL, // GREENLANDIC
+   CBS2_KM, // CAMBODIAN
+   CBS2_KN, // KANNADA
+   CBS2_KO, // KOREAN, 80
+   CBS2_KS, // KASHMIRI
+   CBS2_KU, // KURDISH
+   CBS2_KY, // KIRGHIZ
+
+   CBS2_LA, // LATIN
+   CBS2_LN, // LINGALA
+   CBS2_LO, // LAOTHIAN
+   CBS2_LT, // LITHUANIAN
+   CBS2_LV, // LATVIAN, LETTISH
+
+   CBS2_MG, // MALAGASY
+   CBS2_MI, // MAORI, 90
+   CBS2_MK, // MACEDONIAN
+   CBS2_ML, // MALAYALAM
+   CBS2_MN, // MONGOLIAN
+   CBS2_MO, // MOLDAVIAN
+   CBS2_MR, // MARATHI
+   CBS2_MS, // MALAY
+   CBS2_MT, // MALTESE
+   CBS2_MY, // BURMESE
+
+   CBS2_NA, // NAURU
+   CBS2_NE, // NEPALI, 100
+   //CBS2_NL, // DUTCH
+   //CBS2_NO, // NORWEGIAN
+
+   CBS2_OC, // OCCITAN
+   CBS2_OM, // (AFAN) OROMO
+   CBS2_OR, // ORIYA
+
+   CBS2_PA, // PUNJABI
+   //CBS2_PL, // POLISH
+   CBS2_PS, // PASHTO, PUSHTO
+   //CBS2_PT, // PORTUGUESE
+
+   CBS2_QU, // QUECHUA, 110
+
+   CBS2_RM, // RHAETO-ROMANCE
+   CBS2_RN, // KIRUNDI
+   CBS2_RO, // ROMANIAN
+   //CBS2_RU, // RUSSIAN
+   CBS2_RW, // KINYARWANDA
+
+   CBS2_SA, // SANSKRIT
+   CBS2_SD, // SINDHI
+   CBS2_SG, // SANGHO
+   CBS2_SH, // SERBO-CROATIAN
+   CBS2_SI, // SINHALESE, 120
+   CBS2_SK, // SLOVAK
+   CBS2_SL, // SLOVENIAN
+   CBS2_SM, // SAMOAN
+   CBS2_SN, // SHONA
+   CBS2_SO, // SOMALI
+   CBS2_SQ, // ALBANIAN
+   CBS2_SR, // SERBIAN
+   CBS2_SS, // SISWATI
+   CBS2_ST, // SESOTHO
+   CBS2_SU, // SUNDANESE, 130
+   //CBS2_SV, // SWEDISH
+   CBS2_SW, // SWAHILI
+
+   CBS2_TA, // TAMIL
+   CBS2_TE, // TELUGU
+   CBS2_TG, // TAJIK
+   CBS2_TH, // THAI
+   CBS2_TI, // TIGRINYA
+   CBS2_TK, // TURKMEN
+   CBS2_TL, // TAGALOG
+   CBS2_TN, // SETSWANA, 140
+   CBS2_TO, // TONGA
+   //CBS2_TR, // TURKISH
+   CBS2_TS, // TSONGA
+   CBS2_TT, // TATAR
+   CBS2_TW, // TWI
+
+   CBS2_UG, // UIGHUR
+   CBS2_UK, // UKRAINIAN
+   CBS2_UR, // URDU
+   CBS2_UZ, // UZBEK
+
+   CBS2_VI, // VIETNAMESE, 150
+   CBS2_VO, // VOLAPUK
+
+   CBS2_WO, // WOLOF
+
+   CBS2_XH, // XHOSA
+
+   CBS2_YI, // YIDDISH (FORMERLY JI)
+   CBS2_YO, // YORUBA
+
+   CBS2_ZA, // ZHUANG
+   CBS2_ZH, // CHINESE
+   CBS2_ZU, // ZULU, 158
+   CBS_INVALID = 255
+} mmi_phnset_language_enum;
+
+#endif /* _MMI_COMMON_ENUM_H */
+
diff --git a/mcu/interface/middleware/general/n3sam_wt_struct.h b/mcu/interface/middleware/general/n3sam_wt_struct.h
new file mode 100644
index 0000000..7333c80
--- /dev/null
+++ b/mcu/interface/middleware/general/n3sam_wt_struct.h
@@ -0,0 +1,62 @@
+#ifndef __INC_N3SAM_STRUCT_H
+#define __INC_N3SAM_STRUCT_H
+
+#include "network_dev_info_struct.h"
+
+#define N3SAM_WT_BEARER_LIST_SIZE 16
+
+// MSG_ID_N3SAM_WT_WIFI_FILTER_ADD_REQ & MSG_ID_N3SAM_WT_WIFI_FILTER_DELETE_REQ,
+typedef struct _n3sam_wt_wifi_filter_update_struct {
+    LOCAL_PARA_HDR
+
+    kal_uint8 path;     // WTUNNEL_DATA_OVER_WIFI, WTUNNEL_DATA_OVER_CELLULER
+    kal_uint8 ip_type;  // WTUNNEL_ADDR_FAMILY_IPV4, WTUNNEL_ADDR_FAMILY_IPV6
+    kal_uint8 padding[2];
+    kal_uint32 main_filter_id;
+    kal_uint32 ip_addr[4];
+} n3sam_wt_wifi_filter_update_struct;
+
+// MSG_ID_N3SAM_WT_SA_ADD_REQ & MSG_ID_N3SAM_WT_SA_MODIFY_REQ
+typedef struct _n3sam_wt_wifi_sa_add_struct {
+    LOCAL_PARA_HDR
+
+    kal_bool dir_ul;
+    kal_uint32 sa_id;
+    nw_device_id_enum dev_id;   // NW_DEV_WLAN , NW_DEV_DATA_1,2,3,4
+    kal_uint8 ps_id;
+    kal_uint8 bear_id_num;
+    kal_uint8 path;     // WTUNNEL_DATA_OVER_WIFI, WTUNNEL_DATA_OVER_CELLULER
+    kal_uint8 ip_type;  // WTUNNEL_ADDR_FAMILY_IPV4, WTUNNEL_ADDR_FAMILY_IPV6
+    kal_uint8 bearer_id[16];
+} n3sam_wt_wifi_sa_add_struct;
+
+// MSG_ID_N3SAM_WT_SA_DELETE_REQ
+typedef struct _n3sam_wt_wifi_sa_delete_struct {
+    LOCAL_PARA_HDR
+
+    kal_bool dir_ul;
+    kal_uint32 sa_id;
+    kal_uint8 path;     // WTUNNEL_DATA_OVER_WIFI, WTUNNEL_DATA_OVER_CELLULER
+    kal_uint8 ip_type;  // WTUNNEL_ADDR_FAMILY_IPV4, WTUNNEL_ADDR_FAMILY_IPV6
+    kal_uint8 padding[2];
+} n3sam_wt_wifi_sa_delete_struct;
+
+// MSG_ID_N3SAM_WT_SA_ADD_CNF, MSG_ID_N3SAM_WT_SA_MODIFY_CNF, & MSG_ID_N3SAM_WT_SA_DELETE_CNF
+typedef struct _n3sam_wt_wifi_sa_rsp_struct {
+    LOCAL_PARA_HDR
+
+    kal_uint32 sa_id;
+    kal_bool result;
+} n3sam_wt_wifi_sa_rsp_struct;
+
+/* For DHL logging struct */
+typedef n3sam_wt_wifi_filter_update_struct n3sam_wt_wifi_filter_add_req_struct;
+typedef n3sam_wt_wifi_filter_update_struct n3sam_wt_wifi_filter_delete_req_struct;
+typedef n3sam_wt_wifi_sa_add_struct n3sam_wt_sa_add_req_struct;
+typedef n3sam_wt_wifi_sa_add_struct n3sam_wt_sa_modify_req_struct;
+typedef n3sam_wt_wifi_sa_delete_struct n3asm_wt_sa_delete_req_struct;
+typedef n3sam_wt_wifi_sa_rsp_struct n3sam_wt_sa_add_cnf_struct;
+typedef n3sam_wt_wifi_sa_rsp_struct n3sam_wt_sa_modify_cnf_struct;
+typedef n3sam_wt_wifi_sa_rsp_struct n3sam_wt_sa_delete_cnf_struct;
+
+#endif  // __INC_N3SAM_STRUCT_H
diff --git a/mcu/interface/middleware/general/tcm2ppp_struct.h b/mcu/interface/middleware/general/tcm2ppp_struct.h
new file mode 100644
index 0000000..11019f6
--- /dev/null
+++ b/mcu/interface/middleware/general/tcm2ppp_struct.h
@@ -0,0 +1,244 @@
+/*****************************************************************************
+*  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:
+ * ---------
+ * TCM2PPP_STRUCT.H
+ *
+ * Project:
+ * --------
+ *   MAUI
+ *
+ * Description:
+ * ------------
+ *   This file describes the common struct of TCM and PPP.
+ *
+ * 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!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *============================================================================
+ ****************************************************************************/
+
+/********************************************************************************
+*  Copyright Statement:
+*  --------------------
+*
+*  This product has been developed using a protocol stack
+*  developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+#ifndef _TCM2PPP_STRUCT_H
+#define _TCM2PPP_STRUCT_H
+
+#include "kal_general_types.h"
+//#include "kal_non_specific_general_types.h"    
+//#include "mmi_sm_enums.h"    
+//#include "tcm2sm_struct.h"
+#include "ps_public_enum.h"
+#include "ps_public_struct.h"
+
+//#include "mmi_l3_enums.h"
+
+typedef struct {
+    kal_uint8 ref_count;
+    kal_uint16 msg_len;
+    kal_uint8 context_id;
+    pdp_addr_type_enum pdp_addr_type; /* pdp_addr_type_enum */
+    kal_uint8 pdp_addr_len; /* pdp address length*/
+    kal_uint8 pdp_addr[MAXIMUM_POSSIBLE_ADDR_LEN]; // Array size is 20; If IPv4v6 address is assigned, 
+                                         // pdp_addr[0]~[3] is IPv4 address, pdp_addr[4]~[19] is IPv6
+    kal_uint8 config_protocol;
+    kal_uint8 config_option_len; /* config option length*/
+    config_option_struct config_option[MAX_NUM_CONFIG_OPTION_PACKETS];
+    kal_uint8 dns[4];
+    kal_uint8 src_id;
+    kal_bool pdp_act_cause_2_present ; // if network has cause_2 value in ACTIVATE_PDP_CONTEXT_ACCEPT
+    ps_cause_enum pdp_act_cause_2 ; // just relay the PDP accept cause_2 value, 
+                                 // meaningful possible values are: PDP_TYPE_IPV4_ONLY_ALLOWED, 
+                                 //                                 PDP_TYPE_IPV6_ONLY_ALLOWED, 
+                                 //                                 SINGLE_ADDR_BEARERS_ONLY_ALLOWED
+} mmi_ext_pdp_activate_ack_rsp_struct;
+
+typedef struct {
+    kal_uint8 ref_count;
+    kal_uint16 msg_len;
+    kal_uint8 context_id;
+    kal_uint8 config_protocol;
+    kal_uint8 config_option_len; /* config option length*/
+    config_option_struct config_option[MAX_NUM_CONFIG_OPTION_PACKETS];
+    kal_uint8 src_id;
+    kal_bool is_rejected_by_nw; // if this PDP is rejected by NW using SM peer msg, KAL_TRUE, else, KAL_FALSE
+    kal_bool pdp_act_cause_present ; // if network has cause_2 value in previous ACTIVATE_PDP_CONTEXT_ACCEPT
+    ps_cause_enum pdp_act_cause ; // the previous PDP accept cause_2 value, ex: PDP_TYPE_IPV4_ONLY_ALLOWED, 
+                                 // PDP_TYPE_IPV6_ONLY_ALLOWED, SINGLE_ADDR_BEARERS_ONLY_ALLOWED
+    ps_cause_enum cause; // (ps_cause_enum), this is used by RAT_TCM when value == RAT_TCM_RETRY_NEEDED_AFTER_IRAT
+} mmi_ext_pdp_activate_rej_rsp_struct;
+
+typedef struct {
+    kal_uint8 ref_count;
+    kal_uint16 msg_len;
+    kal_uint8 context_id;
+    kal_uint8 src_id;
+    l4c_result_enum result; // deactivate success or fail
+    ps_cause_enum cause; // (ps_cause_enum), this is used by RAT_TCM when value == RAT_TCM_RETRY_NEEDED_AFTER_IRAT
+} mmi_ext_pdp_deactivate_ack_rsp_struct;
+
+typedef struct {
+    kal_uint8 ref_count;
+    kal_uint16 msg_len;
+    kal_uint8 context_id;
+} mmi_ext_pdp_deactivate_req_struct;
+
+typedef struct {
+    kal_uint8 ref_count;
+    kal_uint16 msg_len;
+    kal_uint8 context_id;
+    kal_uint8 dl_pool_id;
+} mmi_ext_data_req_struct;
+
+typedef struct {
+    kal_uint8 ref_count;
+    kal_uint16 msg_len;
+    kal_uint8 context_id;
+    pdp_addr_type_enum pdp_addr_type;
+    kal_uint8 pdp_addr_len;
+    kal_uint8 pdp_addr[16];
+} mmi_ext_update_pdp_addr_req_struct;
+
+typedef struct {
+    kal_uint8 ref_count;
+    kal_uint16 msg_len;
+    kal_uint8 context_id; /* for __APP_SECONDARY_PDP_SUPPORT__ */
+    kal_uint8 profile_id;
+} mmi_data_req_struct;
+
+// PPP Type PDP Dialup Feature
+typedef struct {
+    kal_uint8 ref_count;
+    kal_uint16 msg_len;
+    kal_uint8 serial_number; // for matching request and confirm
+} mmi_ext_pdp_set_ip_and_dns_info_cnf_struct;
+
+//mtk04121
+/* PPP Dial-up */
+typedef struct {
+	kal_uint8 ref_count;
+	kal_uint16 msg_len;
+	kal_uint8 src_id;
+	kal_uint8 context_id;
+	kal_uint8 result;
+	ps_cause_enum error_cause;
+} ppptcm_enter_data_mode_cnf_struct;
+
+typedef mmi_ext_pdp_activate_ack_rsp_struct taf_ext_pdp_activate_ack_rsp_struct;
+typedef mmi_ext_pdp_activate_rej_rsp_struct taf_ext_pdp_activate_rej_rsp_struct;
+typedef mmi_ext_pdp_deactivate_ack_rsp_struct taf_ext_pdp_deactivate_ack_rsp_struct;
+typedef mmi_ext_pdp_deactivate_req_struct taf_ext_pdp_deactivate_req_struct;
+typedef mmi_ext_data_req_struct taf_data_req_struct;
+typedef mmi_data_req_struct tcpip_tcm_data_ind_struct;
+typedef mmi_ext_update_pdp_addr_req_struct taf_ext_update_pdp_addr_req_struct;
+typedef mmi_ext_pdp_set_ip_and_dns_info_cnf_struct taf_ext_pdp_set_ip_and_dns_info_cnf_struct;
+
+//mtk04121
+/* PPP Dial-up */
+typedef ppptcm_enter_data_mode_cnf_struct taf_ext_enter_data_mode_cnf_struct;
+
+#endif 
+
+
diff --git a/mcu/interface/middleware/general/uart_sim_struct.h b/mcu/interface/middleware/general/uart_sim_struct.h
new file mode 100644
index 0000000..e75857b
--- /dev/null
+++ b/mcu/interface/middleware/general/uart_sim_struct.h
@@ -0,0 +1,107 @@
+/*****************************************************************************
+*  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).
+*
+*****************************************************************************/
+ /*******************************************************************************
+ *  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) 2001
+ *
+ *******************************************************************************/
+
+ /*******************************************************************************
+ * Filename:
+ * ---------
+ *   uart_sim_struct.h
+ *
+ * Project:
+ * --------
+ *   MAUI
+ *
+ * Description:
+ * ------------
+ *   UART simulation for unittest SAP structure
+ *
+ * Author:
+ * -------
+ * -------
+ *
+ *============================================================================
+ *             HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *------------------------------------------------------------------------------
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *============================================================================
+ ****************************************************************************/
+#ifndef _UART_SIM_STRUCT_H
+#define _UART_SIM_STRUCT_H
+
+typedef struct 
+{
+LOCAL_PARA_HDR
+ UART_PORT port;
+ module_type owner;
+}uart_putbytes_req_struct;
+
+typedef struct 
+{
+    LOCAL_PARA_HDR
+    UART_PORT port;
+    kal_bool  sendReadyToRead;
+}uart_data_ind_struct;
+
+typedef struct 
+{
+    LOCAL_PARA_HDR
+     UART_PORT port;
+     module_type owner;
+     kal_bool      is_WriteSuspend;
+     kal_uint16   maxWriteLength;
+}uart_set_config_ind_struct;
+
+#endif
diff --git a/mcu/interface/middleware/general/ups_struct.h b/mcu/interface/middleware/general/ups_struct.h
new file mode 100644
index 0000000..484008e
--- /dev/null
+++ b/mcu/interface/middleware/general/ups_struct.h
@@ -0,0 +1,177 @@
+/*****************************************************************************
+*  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:
+ * ---------
+ *   ups_struct.h
+ *
+ * Project:
+ * --------
+ *   MAUI
+ *
+ * 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!
+ *
+ *
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *==============================================================================
+ *******************************************************************************/
+
+#ifndef UPS_STRUCT_H
+#define UPS_STRUCT_H
+/******************************************************************************/
+
+#include "kal_general_types.h"
+#include "kal_public_defs.h"
+
+#include "ps_public_ups_enum.h"
+
+/******************************************************************************/
+
+//MSG_ID_UPS_BUSY_MODE_IND
+
+//MSG_ID_UPS_UT_UART_DATA_IND
+typedef struct {
+    LOCAL_PARA_HDR
+	kal_uint8 index;
+	kal_uint8 string[128];
+} ups_ut_uart_data_ind_struct;
+
+//MSG_ID_UPS_UT_UART_DATA_REQ
+typedef struct {
+    LOCAL_PARA_HDR
+	kal_uint16 port;
+} ups_ut_uart_data_req_struct;
+
+// MSG_ID_UPS_FLC_DATA_RESUME_IND
+typedef struct {
+    LOCAL_PARA_HDR
+    kal_uint8 pool_id;
+} ups_flc_data_resume_ind_struct;
+
+// MSG_ID_UPS_FLC_DATA_SUSPEND_IND
+typedef struct {
+    LOCAL_PARA_HDR
+    kal_uint8 pool_id;
+} ups_flc_data_suspend_ind_struct;
+
+typedef struct {
+    LOCAL_PARA_HDR
+    kal_uint8 src_id;
+    kal_uint8 port;
+    kal_uint8 context_id;
+} l4cups_port_activate_req_struct;
+
+typedef struct {
+    LOCAL_PARA_HDR
+    kal_uint8 src_id;
+    kal_uint8 port;
+    kal_uint8 context_id;
+    kal_bool result;
+} l4cups_port_activate_cnf_struct;
+
+typedef struct {
+    LOCAL_PARA_HDR
+    kal_uint8 port;
+    kal_uint8 context_id;
+} l4cups_port_deactivate_ind_struct;
+
+typedef struct {
+    LOCAL_PARA_HDR
+    mbim_terminate_enum type;
+    kal_uint32 tid;
+} mbim_close_req_struct;
+
+typedef struct {
+    LOCAL_PARA_HDR
+    mbim_terminate_enum type;
+    kal_uint32 tid;
+} mbim_close_cnf_struct;
+
+/******************************************************************************/
+#endif
diff --git a/mcu/interface/middleware/general/vuart_struct.h b/mcu/interface/middleware/general/vuart_struct.h
new file mode 100644
index 0000000..b150180
--- /dev/null
+++ b/mcu/interface/middleware/general/vuart_struct.h
@@ -0,0 +1,23 @@
+typedef struct 
+{
+LOCAL_PARA_HDR
+ UART_PORT port;
+ module_type owner;
+}uart_putbytes_req_struct;
+
+typedef struct 
+{
+    LOCAL_PARA_HDR
+    UART_PORT port;
+    kal_bool  sendReadyToRead;
+}uart_getbytes_ind_struct;
+
+typedef struct 
+{
+    LOCAL_PARA_HDR
+     UART_PORT port;
+     module_type owner;
+     kal_bool      is_WriteSuspend;
+     kal_uint16   maxWriteLength;
+}uart_set_config_ind_struct;
+
diff --git a/mcu/interface/middleware/general/wtunnel_api.h b/mcu/interface/middleware/general/wtunnel_api.h
new file mode 100644
index 0000000..0046e6e
--- /dev/null
+++ b/mcu/interface/middleware/general/wtunnel_api.h
@@ -0,0 +1,21 @@
+#ifndef _WTUNNEL_API_H
+#define _WTUNNEL_API_H
+
+#include "upcm_did.h"
+#include "qmu_bm.h"
+#include "qmu_bm_util.h"
+
+typedef enum {
+    WTUNNEL_ADDR_FAMILY_IPV4    =   0,
+    WTUNNEL_ADDR_FAMILY_IPV6    =   1
+} wtunnel_addr_family_e;
+
+typedef enum {
+    WTUNNEL_DATA_OVER_WIFI          =   0,
+    WTUNNEL_DATA_OVER_CELLULER      =   1
+} wtunnel_data_over_rat_e;
+
+kal_bool wtunnel_upp_dl_reg_cbk(void (*dl_callback)(kal_uint8, upcm_did*, upcm_did*, kal_uint8));
+kal_bool wtunnel_upp_ul_send(kal_uint8 bearer_id, qbm_gpd* p_head, qbm_gpd* p_tail, kal_uint8 protocol_idx);
+
+#endif // _WTUNNEL_API_H