[Feature]Upload Modem source code
Change-Id: Id4294f30faced84d3e6fd6d5e61e1111bf287a37
diff --git a/mcu/protocol/interface/general/mrs_uas_capability.h b/mcu/protocol/interface/general/mrs_uas_capability.h
new file mode 100644
index 0000000..5048c2d
--- /dev/null
+++ b/mcu/protocol/interface/general/mrs_uas_capability.h
@@ -0,0 +1,225 @@
+/******************************************************************************
+* 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) 2007
+*
+* 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:
+ * --------------------------------------------------------
+ * mrs_uas_capability.h
+ *
+ * Project:
+ * --------------------------------------------------------
+ * Multimode
+ *
+ * Description:
+ * --------------------------------------------------------
+ * The UAS capability stored in MRS context.
+ *
+ * Author:
+ * --------------------------------------------------------
+ * -------
+ *
+ * --------------------------------------------------------
+ * $Log$
+ *
+ * 06 11 2020 vend_mtb_aritha002
+ * [MOLY00519500] ???????19165??864039041106553????????????
+ *
+ * NR15.R3.MP
+ *
+ * 12 09 2019 vend_mtb_aritha002
+ * [MOLY00458503] [CODE SYNC][MH4P-POS] patch request about ALPS04309026
+ *
+ * Band Configuration to VMOLY
+ *
+ * 12 06 2018 yenchih.yang
+ * [MOLY00371156] [VMOLY] NRRC-SEARCH check-in.
+ * Fill physical frequency range during Power Scan.
+ *
+ * 04 18 2018 ashik.tj
+ * [MOLY00321080] ?????ALPS03474129 ???????patch--????P40 android o??
+ *
+ * 01 22 2018 muneeswaraiah.dama
+ * [MOLY00302897] [CODE SYNC] AT command (+ESCELLINFO) to modem to query serving cell band and arfcn info, when needed.
+ * .
+ *
+ * 10 14 2016 wenlong.an
+ * [MOLY00153524] [6291] Vivo BlackList feature
+ * .vivo black list sync to umolya
+ *
+ * 06 01 2015 henry.lai
+ * [MOLY00092508] [MT6291][LTE-C2K] AS Inter RAT feature
+ * .
+ *
+ * 12 16 2014 ethan.han
+ * [MOLY00087858] [RRCE] Universal Bin Modification
+ * MRS.
+ *
+ * 12 16 2014 jiajia.luo
+ * [MOLY00087491] [UMOLY][TDD][UAS][SLCE/RRCE]sync U-Bin CBr to UMOLY TRUNCK.
+ * .
+ * mrs_uas_capability (TDD RRCE part)
+ *
+ * 11 17 2014 yuhhwang.yu
+ * [MOLY00084676] [CISE] Sync CSCE/CSE from 6291_DEV to UMOLY
+ * .
+ *
+ * 01 21 2014 wcpuser_integrator
+ * [MOLY00054475] SGLTE option rename
+ * .
+ *
+ * 11 13 2013 birui.li
+ * [MOLY00046027] [MT6290E1][MMDS_DC] MMDC feature patch back to MOLY trunk
+ * B3/B39.
+ *
+ * 11 12 2013 morton.lin
+ * [MOLY00045967] [Gemini] Add SIM index in INTER RAT HANDOVER INFO set/get function
+ * SIM index argument added in MRS INTER RAT HANDOVER INFO set/get function
+ *
+ * 10 21 2013 vend_yuhhwang.yu
+ * [MOLY00040050] [MultiMode] Dynamic band selection
+ * .
+ *
+ * 03 14 2013 morton.lin
+ * [MOLY00011957] [MT6290][3G][RRCE] Multimode IT CBr merge back to MOLY
+ * MRS UAS Capability header
+ *
+ * 01 22 2013 david.niu
+ * [MOLY00009205] [MRS] Code checked-in for MOLY branch
+ * .
+ *
+ *****************************************************************************/
+
+#ifndef _MRS_UAS_CAPABILITY_H
+#define _MRS_UAS_CAPABILITY_H
+
+/* COMMON INCLUDES ***********************************************************/
+#include "irat_common_enums.h"
+#include "mrs_as_enums.h"
+#include "mrs_as_inter_core_enum.h"
+#include "mrs_as_struct.h"
+
+/*****************************************************************************
+ * Macros Without Parameters
+ *****************************************************************************/
+
+
+/*****************************************************************************
+ * Macros With Parameters
+ *****************************************************************************/
+
+
+/*****************************************************************************
+ * Enums without tags
+ *****************************************************************************/
+
+
+
+/*****************************************************************************
+ * Type Definitions
+ *****************************************************************************/
+typedef struct {
+ kal_uint32 length;
+ kal_uint8 value[MAX_LEN_UTRAN_HANDOVER_INFO_MSG];
+} ho_info_buf;
+
+typedef struct {
+ ho_info_buf fdd_iRATHOInfo_GSM;
+ ho_info_buf fdd_iRATHOInfoCompact_GSM;
+ ho_info_buf fdd_iRATHOInfo_EUTRA;
+ ho_info_buf tdd_iRATHOInfo_GSM;
+ ho_info_buf tdd_iRATHOInfoCompact_GSM;
+ ho_info_buf tdd_iRATHOInfo_EUTRA;
+
+ kal_uint16 fdd_uea;
+ kal_uint16 fdd_uia;
+ kal_uint16 tdd_uea;
+ kal_uint16 tdd_uia;
+ kal_uint32 fdd_umts_supported_band;
+
+} uas_capability_context_struct;
+
+/*****************************************************************************
+ * Declarations Of Exported Globals
+ *****************************************************************************/
+
+
+/*****************************************************************************
+ * Function prototypes
+ *****************************************************************************/
+extern void mrs_uas_set_irat_ho_info(MRS_SIM_INDEX sim_index, module_type src_mod, kal_bool needToNotify);
+
+extern void TDD_mrs_uas_set_irat_ho_info(MRS_SIM_INDEX sim_index, module_type src_mod, kal_bool needToNotify);
+
+extern void mrs_uas_get_irat_ho_info(MRS_SIM_INDEX sim_index, kal_bool isGSM, kal_bool isCompact,
+ kal_uint32 *pSize, void *pCtrlBuf);
+
+extern void mrs_uas_read_nvram_cnf_handler(kal_uint16 nvram_file_id, kal_uint8* data, kal_uint16 len);
+
+extern void mrs_uas_get_uea_uia(MRS_SIM_INDEX sim_index, kal_uint16 *uea, kal_uint16 *uia);
+#ifdef __UMTS_FDD_MODE__
+extern mrs_utra_power_class_enum mrs_uas_get_FDD_powerclass();
+#endif
+#ifdef __UMTS_TDD128_MODE__
+extern mrs_utra_power_class_enum mrs_uas_get_TDD_powerclass();
+#endif
+
+extern void mrs_uas_band_setting_update(MRS_SIM_INDEX sim_index, kal_uint32* data);
+
+void mrs_tas_add_black_cell_list_notification(void);
+void mrs_tas_clear_black_cell_list_notification(void);
+void mrs_uas_add_black_cell_list_notification(void);
+void mrs_uas_clear_black_cell_list_notification(void);
+
+#ifdef __UMTS_R11__
+kal_uint16 mrs_uas_multi_band_conversion(MRS_SIM_INDEX sim_index,
+ kal_uint16 uarfcn,
+ kal_bool useRrcMFBIList,
+ kal_uint16 band_num,
+ kal_uint16 *band_list_ptr,
+ void *pMFBI);
+#endif
+
+kal_bool mrs_uas_retrieve_dl_uarfcn_band(MRS_SIM_INDEX sim_index, kal_uint16 dl_uarfcn, kal_uint8 *band_ptr);
+kal_bool mrs_uas_is_supported_FDD_band(MRS_SIM_INDEX sim_index, kal_uint16 umts_band);
+kal_bool mrs_uas_is_supported_TDD_band(MRS_SIM_INDEX sim_index, kal_uint16 umts_band);
+
+kal_bool mrs_uas_band_setting_update_by_plmn(MRS_SIM_INDEX sim_index, mrs_plmn_id cplmn);
+
+void mrs_uas_reset_uas_supported_band(MRS_SIM_INDEX sim_index);
+kal_bool mrs_is_band_capability_update_needed(MRS_SIM_INDEX sim_index, kal_uint8 bandID);
+void mrs_uas_reset_disabled_band_to_scsi_per_plmn(MRS_SIM_INDEX sim_index, kal_uint32 band);
+
+#endif /* _MRS_UAS_CAPABILITY_H */
+