[Feature]Upload Modem source code
Change-Id: Id4294f30faced84d3e6fd6d5e61e1111bf287a37
diff --git a/mcu/interface/service/hif/nccci_if.h b/mcu/interface/service/hif/nccci_if.h
new file mode 100644
index 0000000..96399f1
--- /dev/null
+++ b/mcu/interface/service/hif/nccci_if.h
@@ -0,0 +1,103 @@
+/*****************************************************************************
+* 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:
+ * ---------
+ * nccci_if.h
+ *
+ * Project:
+ * --------
+ * UMOLYE
+ *
+ * Description:
+ * ------------
+ * Header file of NCCCI.
+ *
+ * Author:
+ * -------
+ * -------
+ *
+ *============================================================================
+ * HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *------------------------------------------------------------------------------
+ * removed!
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *============================================================================
+ ****************************************************************************/
+
+#ifndef __NCCCI_IF_H__
+#define __NCCCI_IF_H__
+#include "ccci_if.h"
+
+#define NCCCI_GET_TX_CH(ch) nccci_get_tx_ch(ch)
+#define NCCCI_GET_RX_CH(ch) nccci_get_rx_ch(ch)
+
+#define CCCI_PAYLOAD_SIZE (CCCI_MTU_SIZE - sizeof(CCCI_BUFF_T))
+
+typedef void (*NCCCI_CALLBACK)();
+typedef void (*NCCCI_CALLBACK_WITH_CONTEXT)(void* user_context);
+
+typedef struct{
+ module_type module_id;
+ msg_type msg_id;
+ sap_type sap;
+} NCCCI_ILM_REGISTRATION_STRUCT;
+
+//define NCCCI IOCTL ENUM
+typedef enum{
+ NCCCI_IOCTL_NONE = 0,
+ NCCCI_IOCTL_SET_DL_LOG,
+ NCCCI_IOCTL_SET_UL_LOG,
+ NCCCI_IOCTL_SET_DL_CALLBACK,
+ NCCCI_IOCTL_SET_UL_CALLBACK,
+ NCCCI_IOCTL_SET_DL_CALLBACK_WITH_CONTEXT,
+ NCCCI_IOCTL_SET_UL_CALLBACK_WITH_CONTEXT,
+ NCCCI_IOCTL_SET_DL_DONE_ILM,
+ NCCCI_IOCTL_SET_UL_DONE_ILM,
+ NCCCI_IOCTL_SET_FLAG,
+} NCCCI_IOCTL_ENUM;
+
+typedef enum{
+ NCCCI_IOCTL_LOG_NONE = 0,
+ NCCCI_IOCTL_LOG_0B,
+ NCCCI_IOCTL_LOG_CCCI_HDR_ONLY,
+ NCCCI_IOCTL_LOG_16B,
+ NCCCI_IOCTL_LOG_32B,
+ NCCCI_IOCTL_LOG_64B,
+ NCCCI_IOCTL_LOG_MAX = NCCCI_IOCTL_LOG_64B,
+} NCCCI_IOCTL_LOG_ENUM;
+
+typedef enum{
+ NCCCI_IOCTL_MODE_NONE = 0,
+ NCCCI_IOCTL_MODE_BLOCKING,
+ NCCCI_IOCTL_MODE_NONBLOCKING,
+ NCCCI_IOCTL_MODE_MAX = NCCCI_IOCTL_MODE_NONBLOCKING,
+} NCCCI_IOCTL_MODE_ENUM;
+//define NCCCI IOCTL ENUM
+
+kal_int32 nccci_open(CCCI_CHANNEL_T channel);
+kal_int32 nccci_ioctl(CCCI_CHANNEL_T channel, NCCCI_IOCTL_ENUM ioctl_type, ...);
+kal_int32 nccci_write(CCCI_CHANNEL_T channel, void *buff, kal_int32 write_len);
+void ccci_write_done(CCCI_CHANNEL_T channel, ccci_io_request_t* io_request);
+void ccci_read_done(CCCI_CHANNEL_T channel, ccci_io_request_t* io_request);
+kal_int32 nccci_read(CCCI_CHANNEL_T channel, void *buff, kal_int32 buffer_size);
+kal_int32 nccci_close(CCCI_CHANNEL_T channel);
+
+CCCI_CHANNEL_T nccci_get_tx_ch(CCCI_CHANNEL_T nccci_ch);
+CCCI_CHANNEL_T nccci_get_rx_ch(CCCI_CHANNEL_T nccci_ch);
+
+kal_bool nccci_check_channel_exist(CCCI_CHANNEL_T channel);
+#endif /* __NCCCI_IF_H__ */
+
+