[Feature]Upload Modem source code

Change-Id: Id4294f30faced84d3e6fd6d5e61e1111bf287a37
diff --git a/mcu/interface/service/hif/ubm_export.h b/mcu/interface/service/hif/ubm_export.h
new file mode 100644
index 0000000..75d9d9b
--- /dev/null
+++ b/mcu/interface/service/hif/ubm_export.h
@@ -0,0 +1,66 @@
+#ifndef  _UBM_EXPORT_INC
+#define  _UBM_EXPORT_INC
+
+#include "ubm_type.h"
+#include "usbc_custom.h"
+
+#include "lhif_if.h"
+
+#ifndef __UBM_UT__
+#include "hif_common.h"
+#include "hifusb_qmu.h"
+#endif
+
+/* Init */
+void ubm_init();
+
+/* FHB */
+kal_uint8 ubm_set_fhb(const void* headerPattern, kal_uint8 size, const char* headerName);
+kal_bool ubm_update_fhb(const void* headerPattern, kal_uint8 size, const char* headerName);
+kal_bool ubm_clean_fhb(const char* headerName);
+kal_uint8 ubm_get_fhb_type(const char* headerName);
+
+/* NFHB */
+kal_uint8* ubm_allocate_nfhb(kal_uint8 txQueNo, kal_uint32 allocSize);
+void ubm_release_nfhb(kal_uint8 txQueNo, void* nfhbAddr, kal_uint32 relSize);
+
+/* VRB address virtual/physical translate */
+ubm_vrb_phy_addr ubm_addr_vir2phy_and_save(kal_uint8 txQueNo, kal_uint32 virAddr, kal_uint16 virLen);
+kal_uint32 ubm_addr_phy2vir_and_delete(kal_uint8 txQueNo, kal_uint32 phyAddr);
+
+/* VRB release */
+void ubm_vrb_virtual_addr_release(void* vrbVirAddr, kal_uint16 relLen);
+
+/* DRB */
+void ubm_drb_init_properties();
+kal_bool ubm_drb_quest_unused(kal_uint8 txQueNo, kal_uint32 alloCount);
+kal_bool ubm_drb_submit(kal_uint8 txQueNo, kal_uint32 submitCount);
+void ubm_drb_repay(kal_uint8 txQueNo);
+kal_bool ubm_drb_release(kal_uint8 txQueNo, kal_uint32 headIdx, kal_uint32 relCount);
+kal_uint32 ubm_drb_poll(kal_uint8 txQueNo, kal_uint32* headIdx, kal_uint32* tailIdx);
+kal_bool ubm_drb_get_one_writable_Idx(kal_uint8 txQueNo, kal_uint32* writeIdx);
+kal_bool ubm_drb_revert_one_write(kal_uint8 txQueNo);
+usbq_dl_pd_drb* ubm_drb_idx2addr(kal_uint8 txQueNo, kal_uint32 drbIndex);
+kal_uint32 ubm_drb_addr2idx(kal_uint8 txQueNo, usbq_dl_pd_drb* drbPtr);
+kal_bool ubm_drb_flush(kal_uint8 txQueNo, kal_uint32* headIdx, kal_uint32* tailIdx, kal_uint32* num);
+
+/* XIT */
+kal_bool ubm_xit_release(kal_uint8 rxQueNo, kal_uint16 headIdx, kal_uint32 relCount);
+kal_uint32 ubm_xit_poll(kal_uint8 rxQueNo, kal_uint16* headIdx, kal_uint16* tailIdx, kal_uint16* relIdx);
+usbq_ul_xit* ubm_xit_idx2addr(kal_uint8 rxQueNo, kal_uint32 xitIndex);
+kal_uint32 ubm_xit_addr2idx(kal_uint8 rxQueNo, usbq_ul_xit* xitPtr);
+kal_uint32 ubm_xit_get_next_idx(kal_uint8 rxQueNo, kal_uint32 xitIndex);
+kal_bool ubm_xit_flush(kal_uint8 rxQueNo, kal_uint32* headIdx, kal_uint32* tailIdx, kal_uint32* num);
+
+/* UL META */
+lhif_meta_tbl_t* ubm_ul_meta_idx2addr(kal_uint8 rxQueNo, kal_uint16 xitIndex);
+kal_uint16 ubm_ul_meta_get_next_idx(kal_uint8 rxQueNo, kal_uint16 xitIndex);
+void ubm_ul_meta_init_properties();
+LHIF_NET_TYPE ubm_ul_meta_get_lhif_net_type(kal_uint8 rxQueNo, usb_class_type_e classType);
+kal_bool ubm_ul_meta_enqueue_lhif_ul_queue(kal_uint8 rxQueNo, LHIF_NET_TYPE lhifNetType,kal_uint8 usbclassDevId, void* dataAddr, kal_uint16 dataLen);
+kal_bool ubm_ul_meta_enqueue_lhif_ul_queue_did(kal_uint8 rxQueNo, LHIF_NET_TYPE lhifNetType, kal_uint8 usbclassDevId, LHIF_NET_IF net_if, void* did);
+lhif_meta_tbl_t* ubm_ul_meta_get_base();
+
+/****************************************************************************/
+#endif /* _UBM_EXPORT_INC */
+