[Feature]Upload Modem source code
Change-Id: Id4294f30faced84d3e6fd6d5e61e1111bf287a37
diff --git a/mcu/interface/service/tcpip/tcpip_struct.h b/mcu/interface/service/tcpip/tcpip_struct.h
new file mode 100644
index 0000000..6d01b15
--- /dev/null
+++ b/mcu/interface/service/tcpip/tcpip_struct.h
@@ -0,0 +1,422 @@
+/*****************************************************************************
+* 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) 2012
+*
+* 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:
+ * ---------
+ * tcpip_struct.h
+ *
+ * Project:
+ * --------
+ * UMOLY
+ *
+ * Description:
+ * ------------
+ * Defines TCPIP service ILM structure
+ *
+ * Author:
+ * -------
+ * -------
+ *
+ * ==========================================================================
+ *
+ ****************************************************************************/
+#ifndef __TCPIP_STRUCT_H__
+#define __TCPIP_STRUCT_H__
+
+#include "kal_public_defs.h"
+#include "kal_public_api.h"
+#include "kal_general_types.h"
+#include "atcmd_struct.h"
+/* for net/ip info */
+#include "netinfo_common_struct.h"
+/* for ran type */
+#include "iwlan_public_defs.h"
+
+typedef new_ip_info_struct tcpip_ip_info_struct_t;
+typedef net_info_struct tcpip_net_info_struct_t;
+#define TCPIP_RAN_UNSPEC IWLAN_RAN_UNSPEC
+#define TCPIP_RAN_MOBILE_3GPP IWLAN_RAN_MOBILE_3GPP
+#define TCPIP_RAN_WIFI IWLAN_RAN_WIFI
+#define TCPIP_RAN_TYPE_CNT IWLAN_RAN_TYPE_CNT
+#define TCPIP_RAN_TYPE_NONE IWLAN_RAN_TYPE_NONE
+#define TCPIP_RAN_DATA_1 DATA_1
+#define TCPIP_RAN_DATA_2 DATA_2
+#define TCPIP_RAN_DATA_3 DATA_3
+#define TCPIP_RAN_DATA_4 DATA_4
+#define TCPIP_RAN_TYPE_ERR IWLAN_RAN_TYPE_ERR
+
+/**************************************************
+ * TCPIP ilm struct
+ **************************************************/
+
+/*******************************************************************************
+* D2CM to STKBRG REQ *
+*******************************************************************************/
+typedef struct
+{
+ kal_uint8 PDPv6_addr[IPV6_ADDR_LEN];
+} d2cm_stkbrg_glbaddr_struct;
+
+#define TCPIP_D2CM_REQ_LOCAL_PARA_HDR \
+ LOCAL_PARA_HDR \
+ kal_uint32 interface_id; /* transaction id + channel id */ \
+ kal_uint8 ran_type; /* d2pm_iwlan_ran_enum */
+
+// MSG_ID_D2CM_STKBRG_ESTABLISHPDN_REQ
+typedef struct
+{
+ TCPIP_D2CM_REQ_LOCAL_PARA_HDR
+
+ kal_uint32 netif_id; /* network_interface_id in net_info */
+ tcpip_ip_info_struct_t ip_info;
+ kal_bool net_info_present;
+ tcpip_net_info_struct_t net_info;
+} d2cm_stkbrg_establishpdn_req_struct;
+
+// MSG_ID_D2CM_STKBRG_DISCONNECTPDN_REQ
+typedef struct
+{
+ TCPIP_D2CM_REQ_LOCAL_PARA_HDR
+} d2cm_stkbrg_disconnectpdn_req_struct;
+
+// MSG_ID_D2CM_STKBRG_IFCHANGE_REQ
+typedef struct
+{
+ TCPIP_D2CM_REQ_LOCAL_PARA_HDR
+
+ tcpip_ip_info_struct_t ip_info;
+ kal_bool net_info_present;
+ tcpip_net_info_struct_t net_info;
+} d2cm_stkbrg_ifchange_req_struct;
+
+// MSG_ID_D2CM_STKBRG_GLBADDR_REQ
+typedef struct
+{
+ TCPIP_D2CM_REQ_LOCAL_PARA_HDR
+
+ d2cm_stkbrg_glbaddr_struct ip_info;
+} d2cm_stkbrg_glbaddr_req_struct;
+
+
+
+#define TCPIP_D2_REQ_LOCAL_PARA_HDR \
+ LOCAL_PARA_HDR \
+ kal_uint32 interface_id; /* transaction id + channel id */ \
+ iwlan_ran_e ran_type; /* iwlan_ran_e */
+
+// MSG_ID_D2_STKBRG_ESTABLISHPDN_REQ
+typedef struct
+{
+ TCPIP_D2_REQ_LOCAL_PARA_HDR
+
+ kal_uint32 netif_id; /* network_interface_id in net_info */
+ new_ip_info_struct ip_info;
+ kal_bool net_info_present;
+ tcpip_net_info_struct_t net_info;
+} d2_stkbrg_establishpdn_req_struct;
+
+// MSG_ID_D2_STKBRG_DISCONNECTPDN_REQ
+typedef struct
+{
+ TCPIP_D2_REQ_LOCAL_PARA_HDR
+} d2_stkbrg_disconnectpdn_req_struct;
+
+// MSG_ID_D2_STKBRG_IFCHANGE_REQ
+typedef struct
+{
+ TCPIP_D2_REQ_LOCAL_PARA_HDR
+
+ kal_uint32 event;
+ new_ip_info_struct ip_info;
+ kal_bool net_info_present;
+ tcpip_net_info_struct_t net_info;
+} d2_stkbrg_ifchange_req_struct;
+
+// MSG_ID_IMS_STKBRG_MTU_SET_REQ
+#define TCPIP_IMS_MTU_REQ_LOCAL_PARA_HDR \
+ LOCAL_PARA_HDR \
+ kal_uint32 interface_id; /*Interface if for which needs to be applied*/ \
+ kal_uint32 mtu; /* MTU value */
+
+typedef struct
+{
+ TCPIP_IMS_MTU_REQ_LOCAL_PARA_HDR
+}ims_stkbrg_mtu_set_req_struct;
+
+/*******************************************************************************
+* STKBRG TO D2CM CNF *
+*******************************************************************************/
+typedef enum
+{
+ STKBRG_RES_SUCC = 0,
+ STKBRG_RES_NONE = 1,
+ STKBRG_RES_FAIL = 2,
+ STKBRG_RES_MAX = 0x7FFFFFFF,
+} stkbrg_res_enum;
+
+#define TCPIP_D2CM_CNF_LOCAL_PARA_HDR \
+ LOCAL_PARA_HDR \
+ kal_uint32 interface_id; \
+ stkbrg_res_enum res;
+
+typedef struct
+{
+ TCPIP_D2CM_CNF_LOCAL_PARA_HDR
+} d2cm_cnf_info_struct;
+
+// MSG_ID_D2CM_STKBRG_ESTABLISHPDN_CNF
+typedef struct
+{
+ TCPIP_D2CM_CNF_LOCAL_PARA_HDR
+
+ tcpip_ip_info_struct_t ip_info_original;
+ tcpip_ip_info_struct_t ip_info_updated;
+
+ kal_uint32 stkif_id;
+} d2cm_stkbrg_establishpdn_cnf_struct;
+
+// MSG_ID_D2CM_STKBRG_DISCONNECTPDN_CNF
+typedef struct
+{
+ TCPIP_D2CM_CNF_LOCAL_PARA_HDR
+
+ kal_uint32 stkif_id;
+} d2cm_stkbrg_disconnectpdn_cnf_struct;
+
+// MSG_ID_D2CM_STKBRG_IFCHANGE_CNF
+typedef struct
+{
+ TCPIP_D2CM_CNF_LOCAL_PARA_HDR
+
+ kal_uint32 stkif_id;
+ ipstk_ip_info_struct ip_info;
+} d2cm_stkbrg_ifchange_cnf_struct;
+
+// MSG_ID_D2CM_STKBRG_GLBADDR_CNF
+typedef struct
+{
+ TCPIP_D2CM_CNF_LOCAL_PARA_HDR
+
+ kal_uint32 stkif_id;
+} d2cm_stkbrg_glbaddr_cnf_struct;
+
+
+#define TCPIP_D2_CNF_LOCAL_PARA_HDR \
+ LOCAL_PARA_HDR \
+ kal_uint32 interface_id; \
+ stkbrg_res_enum res;
+
+// MSG_ID_D2_STKBRG_ESTABLISHPDN_CNF
+typedef struct
+{
+ TCPIP_D2_CNF_LOCAL_PARA_HDR
+
+ kal_uint32 stkif_id;
+ ipstk_ip_info_struct ipstk_ip_info;
+} d2_stkbrg_establishpdn_cnf_struct;
+
+// MSG_ID_D2_STKBRG_DISCONNECTPDN_CNF
+typedef struct
+{
+ TCPIP_D2CM_CNF_LOCAL_PARA_HDR
+
+ kal_uint32 stkif_id;
+} d2_stkbrg_disconnectpdn_cnf_struct;
+
+// MSG_ID_D2_STKBRG_IFCHANGE_CNF
+typedef struct
+{
+ TCPIP_D2CM_CNF_LOCAL_PARA_HDR
+
+ kal_uint32 stkif_id;
+ ipstk_ip_info_struct ipstk_ip_info;
+} d2_stkbrg_ifchange_cnf_struct;
+
+// MSG_ID_IMS_STKBRG_MTU_SET_CNF
+#define TCPIP_IMS_MTU_CNF_LOCAL_PARA_HDR \
+ LOCAL_PARA_HDR \
+ kal_uint32 interface_id; /*Interface if for which needs to be applied*/ \
+ stkbrg_res_enum res; /* success or failure */
+
+typedef struct
+{
+ TCPIP_IMS_MTU_CNF_LOCAL_PARA_HDR
+}ims_stkbrg_mtu_set_cnf_struct;
+
+/*******************************************************************************
+* ATP TO STKBRG IND
+*******************************************************************************/
+typedef struct {
+ LOCAL_PARA_HDR
+
+ /* data */
+ kal_uint32 pktsize;
+} atp_stkbrg_pktsize_ind_struct;
+
+/*******************************************************************************
+* STKBRG TO ATP
+*******************************************************************************/
+
+typedef enum {
+ TCPIP_ADDR_FAMILY_IP4 = 0,
+ TCPIP_ADDR_FAMILY_IP6,
+} tcpip_addr_family_enum;
+
+typedef enum {
+ TCPIP_PROTOCOL_TCP = 6,
+ TCPIP_PROTOCOL_UDP = 17,
+} tcpip_protocol_enum;
+
+typedef enum {
+ TCPIP_STATUS_SUCCESS = 0,
+ TCPIP_STATUS_FAILURE,
+
+ /* Last entry */
+ TCPIP_STATUS_MAX
+} tcpip_status;
+
+#define TCPIP_CID_INVALID 0xFFFFFFFF
+
+typedef struct {
+ LOCAL_PARA_HDR
+
+ kal_uint8 trans_id;
+ kal_uint32 cid;
+ kal_uint8 local_addr[IPV6_ADDR_LEN];
+ kal_uint16 port;
+ tcpip_addr_family_enum addr_family;
+ tcpip_protocol_enum protocol;
+} stkbrg_atp_port_alloc_req_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+
+ kal_uint8 trans_id;
+ tcpip_status status;
+} stkbrg_atp_port_alloc_cnf_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+
+ kal_uint8 trans_id;
+ kal_uint32 cid;
+ kal_uint8 local_addr[IPV6_ADDR_LEN];
+ tcpip_protocol_enum protocol;
+ tcpip_addr_family_enum addr_family;
+ kal_uint16 port;
+} stkbrg_atp_port_free_req_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+
+ kal_uint8 trans_id;
+ tcpip_status status;
+} stkbrg_atp_port_free_cnf_struct;
+
+/*******************************************************************************/
+
+/*******************************************************************************
+* STATISTIC DUMP IND
+*******************************************************************************/
+typedef enum {
+ STAT_DUMP_NB,
+ STAT_DUMP_FIL,
+ STAT_DUMP_BW,
+ STAT_DUMP_DEV,
+}stat_dump_enum;
+typedef struct {
+ LOCAL_PARA_HDR
+
+ stat_dump_enum req_id;
+} stat_stkbrg_dump_ind_struct;
+
+typedef enum {
+ NO_RA_INITIAL,
+ NO_RA_REFRESH,
+ RA_UPDATE,
+ RA_EVENT_MAX
+} ra_if_add_e;
+
+typedef struct {
+ LOCAL_PARA_HDR
+
+ kal_uint8 event;
+ kal_uint8 ran_type;
+ kal_uint8 prefix_len;
+ kal_uint32 interface_id;
+ kal_uint32 netif_id;
+ kal_uint32 mtu;
+ kal_uint8 ip6_addr[16];
+} stkbrg_d2_ra_if_add_ind_struct;
+
+typedef struct _rsra_stkbrg_ip_update_ind_struct{
+ LOCAL_PARA_HDR
+ kal_uint32 netif_id;
+ kal_uint8 ip_addr[16];
+ kal_uint32 prefix_len;
+ kal_uint32 preferred_lifetime;
+ kal_uint32 valid_lifetime;
+} rsra_stkbrg_ip_update_ind_struct;
+
+typedef struct _stkbrg_ra_process_ind_struct{
+ LOCAL_PARA_HDR
+ kal_uint32 netif_id;
+} stkbrg_ra_process_ind_struct;
+
+/*******************************************************************************/
+/* Type define */
+typedef d2cm_stkbrg_glbaddr_struct stkbrg_glbaddr_struct_t;
+typedef d2cm_cnf_info_struct d2cm_cnf_info_struct_t;
+
+/*Gen93/95 interface*/
+typedef d2cm_stkbrg_glbaddr_req_struct d2cm_stkbrg_glbaddr_req_struct_t;
+typedef d2cm_stkbrg_glbaddr_cnf_struct d2cm_stkbrg_glbaddr_cnf_struct_t;
+
+/*Gen97 interface*/
+typedef d2_stkbrg_establishpdn_req_struct d2_stkbrg_establishpdn_req_struct_t;
+typedef d2_stkbrg_establishpdn_cnf_struct d2_stkbrg_establishpdn_cnf_struct_t;
+typedef d2_stkbrg_disconnectpdn_req_struct d2_stkbrg_disconnectpdn_req_struct_t;
+typedef d2_stkbrg_disconnectpdn_cnf_struct d2_stkbrg_disconnectpdn_cnf_struct_t;
+typedef d2_stkbrg_ifchange_req_struct d2_stkbrg_ifchange_req_struct_t;
+typedef d2_stkbrg_ifchange_cnf_struct d2_stkbrg_ifchange_cnf_struct_t;
+typedef ims_stkbrg_mtu_set_req_struct ims_stkbrg_mtu_set_req_struct_t;
+typedef ims_stkbrg_mtu_set_cnf_struct ims_stkbrg_mtu_set_cnf_struct_t;
+
+typedef atp_stkbrg_pktsize_ind_struct atp_stkbrg_pktsize_ind_struct_t;
+
+typedef stat_stkbrg_dump_ind_struct stat_stkbrg_dump_ind_struct_t;
+
+#endif // __TCPIP_STRUCT_H__