[Feature]Upload Modem source code
Change-Id: Id4294f30faced84d3e6fd6d5e61e1111bf287a37
diff --git a/mcu/interface/protocol/general/pdn_public_defs.h b/mcu/interface/protocol/general/pdn_public_defs.h
new file mode 100644
index 0000000..b7ccea6
--- /dev/null
+++ b/mcu/interface/protocol/general/pdn_public_defs.h
@@ -0,0 +1,283 @@
+/*****************************************************************************
+* 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:
+ * ---------
+ * pdn_public_defs.h
+ *
+ * Project:
+ * --------
+ *
+ *
+ * Description:
+ * ------------
+ *
+ *
+ * Author:
+ * -------
+ *
+ *
+ *============================================================================
+ * HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *------------------------------------------------------------------------------
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *============================================================================
+ ****************************************************************************/
+
+#ifndef __PDN_PUBLIC_DEFS_H__
+#define __PDN_PUBLIC_DEFS_H__
+
+#include "kal_public_defs.h"
+#include "d2pm_public_defs.h"
+#include "d2cm_public_defs.h"
+#include "d2rm_public_defs.h"
+#include "iwlan_public_defs.h"
+#include "atcmd_struct.h"
+
+typedef enum {
+ DCCHG_C2K_IRAT = 0,
+ DCCHG_NW_MOD_99,
+ DCCHG_NW_MOD_39,
+ //DCCHG_ROAMING,
+ DCCHG_MAX = 0x7FFFFFFF
+} data_call_change_reason_enum;
+
+typedef enum {
+ RETRY_TYPE_NO_SUGGEST,
+ RETRY_TYPE_NO_RETRY,
+ RETRY_TYPE_WITH_SUGGEST,
+ RETRY_TYPE_DEFAULT_POLICY,
+ RETRY_TYPE_MAX = 0x7FFFFFFF
+} retrytime_type_enum;
+
+typedef enum {
+ RETRY_RESET_POWER_CYCLE_OFF,
+ RETRY_RESET_POWER_CYCLE_ON,
+ RETRY_RESET_APN_CONFIG_CHANGED,
+} retrytime_reset_event_enum;
+
+
+typedef enum {
+ RESET_USER_AP,
+ RESET_USER_MD,
+ RETRY_USER_MAX = 0x7FFFFFFF
+} data_retry_reset_user_enum;
+typedef struct apn_data_retry_info {
+ kal_uint8 apn[APN_STRING_LEN];
+ ddm_apn_type_enum apn_type;
+ kal_bool error_occured;
+ kal_uint32 error_cause;
+#ifdef __TC01__
+ kal_uint16* timer_id;
+#endif
+ retrytime_type_enum retrytime_type;
+ kal_uint32 retry_time;
+ kal_uint8 retry_count;
+ kal_uint32 end_time;
+ kal_bool retry_count_exhaustible;
+ kal_bool retry_count_setted;
+ kal_bool has_power_off;
+ kal_bool is_from_mcf;
+ kal_bool is_s_nssai_present;
+ at_s_nssai_struct s_nssai;
+}apn_data_retry_info_t;
+
+typedef enum {
+ RETRY_PDN_TYPE_ALL = 0,
+ RETRY_PDN_TYPE_IMS,
+ RETRY_PDN_TYPE_EMERGENCY,
+ RETRY_PDN_TYPE_NON_IMS,
+ RETRY_PDN_TYPE_NON_EMERGENCY,
+ RETRY_PDN_TYPE__MAX = 0x7FFFFFFF
+}data_retry_pdn_type_enum;
+
+typedef enum {
+ RETRY_RAT_ALL = 0,
+ RETRY_RAT_5G,
+ RETRY_RAT_LTE,
+ RETRY_RAT_23G,
+ RETRY_RAT_MAX = 0x7FFFFFFF
+}data_retry_rat_enum;
+
+typedef struct mcf_data_retry_info {
+ data_retry_rat_enum rat;
+ data_retry_pdn_type_enum pdn_type;
+ retrytime_type_enum retry_type; // 0: NO_RETRY, 1: Retry with suggest time, 2: No suggest time
+ kal_uint16 error_cause[20];
+ kal_uint8 error_cause_count;
+ kal_uint32 retry_time[10];
+ kal_uint8 retry_time_count;
+ kal_bool all_error_cause_set;
+ kal_bool default_error_cause_set;
+ kal_uint8 retry_time_idx;
+}mcf_data_retry_info_t;
+
+typedef struct mcf_parsed_data_retry_info {
+ mcf_data_retry_info_t retry_info[20]; // we assume effective_retry_info_cnt < 20, so we use 20 for its size
+ kal_uint8 effective_retry_info_cnt;
+ kal_bool is_valid;
+} mcf_parsed_data_retry_info_t;
+
+typedef struct pco_info {
+ kal_bool IE_present;
+ kal_uint8 IE[IE_STRING_LEN]; // string type
+ kal_bool contents_present;
+ kal_uint8 contents[AT_EGPCORDP_CONTENTS_STRING_LEN]; // string type
+} pco_info_t;
+
+#endif
+