[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