|
- /**
- * Copyright 2020 Huawei Technologies Co., Ltd
-
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
-
- * http://www.apache.org/licenses/LICENSE-2.0
-
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- #ifndef __CCE_RUNTIME_BASE_H__
- #define __CCE_RUNTIME_BASE_H__
-
- #include <stdint.h>
-
- #if defined(__cplusplus) && !defined(COMPILE_OMG_PACKAGE)
- extern "C" {
- #endif
-
- // If you need export the function of this library in Win32 dll, use __declspec(dllexport)
- #ifndef RTS_API
- #ifdef RTS_DLL_EXPORT
- #define RTS_API __declspec(dllexport)
- #else
- #define RTS_API
- #endif
- #endif
-
- /**
- * @ingroup dvrt_base
- * @brief runtime error numbers.
- */
- typedef enum tagRtError {
- RT_ERROR_NONE = 0x0, // success
-
- RT_ERROR_DEVICE_BASE = 0x07010000,
- RT_ERROR_DEVICE_NULL,
- RT_ERROR_DEVICE_NEW,
- RT_ERROR_DEVICE_ID,
- RT_ERROR_DEVICE_CHIPTYPE,
- RT_ERROR_DEVICE_DEPLOY,
- RT_ERROR_DEVICE_RETAIN,
- RT_ERROR_DEVICE_PLATFORM,
- RT_ERROR_DEVICE_LOADER,
- RT_ERROR_DEVICE_LIMIT,
- RT_ERROR_DEVICE_PROC_HANG_OUT,
- RT_ERROR_DEVICE_POWER_UP_FAIL,
- RT_ERROR_DEVICE_POWER_DOWN_FAIL,
- RT_ERROR_DEVICE_INVALID,
-
- RT_ERROR_DRV_BASE = 0x07020000,
- RT_ERROR_DRV_NULL,
- RT_ERROR_DRV_NEW,
- RT_ERROR_DRV_MEMORY,
- RT_ERROR_DRV_INPUT,
- RT_ERROR_DRV_PTRNULL,
- RT_ERROR_DRV_OPEN_AICPU,
- RT_ERROR_DRV_CLOSE_AICPU,
- RT_ERROR_DRV_SYM_AICPU,
- RT_ERROR_DRV_OPEN_TSD,
- RT_ERROR_DRV_CLOSE_TSD,
- RT_ERROR_DRV_SYM_TSD,
- RT_ERROR_DRV_SOURCE,
- RT_ERROR_DRV_REPORT,
- RT_ERROR_DRV_COMMAND,
- RT_ERROR_DRV_OCCUPY,
- RT_ERROR_DRV_ERR,
-
- RT_ERROR_STREAM_BASE = 0x07030000,
- RT_ERROR_STREAM_NULL,
- RT_ERROR_STREAM_NEW,
- RT_ERROR_STREAM_CONTEXT,
- RT_ERROR_STREAM_INVALID,
- RT_ERROR_STREAM_MODEL,
- RT_ERROR_STREAM_FUSION,
- RT_ERROR_STREAM_FULL,
- RT_ERROR_STREAM_EMPTY,
- RT_ERROR_STREAM_NOT_COMPLETE,
- RT_ERROR_STREAM_SYNC,
- RT_ERROR_STREAM_NO_CB_REG,
- RT_ERROR_STREAM_DUPLICATE,
- RT_ERROR_STREAM_NOT_EXIST,
- RT_ERROR_SQ_NO_EXIST_SQ_TO_REUSE,
- RT_ERROR_SQID_FULL,
-
- RT_ERROR_MODEL_BASE = 0x07040000,
- RT_ERROR_MODEL_NULL,
- RT_ERROR_MODEL_NEW,
- RT_ERROR_MODEL_CONTEXT,
- RT_ERROR_MODEL_ENDGRAPH,
- RT_ERROR_MODEL_STREAM,
- RT_ERROR_MODEL_EXCUTOR,
- RT_ERROR_MODEL_SETUP,
- RT_ERROR_MODEL_ID,
- RT_ERROR_MODEL_EXE_FAILED,
- RT_ERROR_END_OF_SEQUENCE, // end of sequence
- RT_ERROR_MODEL_EXIT,
- RT_ERROR_MODEL_EXIT_STREAM_UNBIND,
- RT_ERROR_MODEL_EXIT_ID,
- RT_ERROR_MODEL_ABORT_NORMAL,
-
- RT_ERROR_EVENT_BASE = 0x07050000,
- RT_ERROR_EVENT_NULL,
- RT_ERROR_EVENT_NEW,
- RT_ERROR_EVENT_RECORDER_NULL,
- RT_ERROR_EVENT_TIMESTAMP_INVALID,
- RT_ERROR_EVENT_TIMESTAMP_REVERSAL,
- RT_ERROR_EVENT_NOT_COMPLETE,
-
- RT_ERROR_NOTIFY_BASE = 0x07060000,
- RT_ERROR_NOTIFY_NULL,
- RT_ERROR_NOTIFY_NEW,
- RT_ERROR_NOTIFY_TYPE,
- RT_ERROR_NOTIFY_NOT_COMPLETE,
-
- RT_ERROR_CONTEXT_BASE = 0x07070000,
- RT_ERROR_CONTEXT_NULL,
- RT_ERROR_CONTEXT_NEW,
- RT_ERROR_CONTEXT_DEL,
- RT_ERROR_CONTEXT_DEFAULT_STREAM_NULL,
- RT_ERROR_CONTEXT_ONLINE_STREAM_NULL,
-
- RT_ERROR_KERNEL_BASE = 0x07080000,
- RT_ERROR_KERNEL_NULL,
- RT_ERROR_KERNEL_NEW,
- RT_ERROR_KERNEL_LOOKUP,
- RT_ERROR_KERNEL_NAME,
- RT_ERROR_KERNEL_TYPE,
- RT_ERROR_KERNEL_OFFSET,
- RT_ERROR_KERNEL_DUPLICATE,
- RT_ERROR_KERNEL_UNREGISTERING,
-
- RT_ERROR_PROGRAM_BASE = 0x07090000,
- RT_ERROR_PROGRAM_NULL,
- RT_ERROR_PROGRAM_NEW,
- RT_ERROR_PROGRAM_DATA,
- RT_ERROR_PROGRAM_SIZE,
- RT_ERROR_PROGRAM_MEM_TYPE,
- RT_ERROR_PROGRAM_MACHINE_TYPE,
- RT_ERROR_PROGRAM_USEOUT,
-
- RT_ERROR_MODULE_BASE = 0x070a0000,
- RT_ERROR_MODULE_NULL,
- RT_ERROR_MODULE_NEW,
-
- RT_ERROR_INSTANCE_BASE = 0x070b0000,
- RT_ERROR_INSTANCE_NULL,
- RT_ERROR_INSTANCE_NEW,
- RT_ERROR_INSTANCE_VERSION,
-
- RT_ERROR_API_BASE = 0x070c0000,
- RT_ERROR_API_NULL,
- RT_ERROR_API_NEW,
-
- RT_ERROR_DATADUMP_BASE = 0x070d0000,
- RT_ERROR_DATADUMP_NULL,
- RT_ERROR_DATADUMP_NEW,
- RT_ERROR_DATADUMP_TIME,
- RT_ERROR_DATADUMP_FILE,
- RT_ERROR_DATADUMP_ADDRESS,
- RT_ERROR_DATADUMP_LOAD_FAILED,
- RT_ERROR_DUMP_ADDR_SET_FAILED,
-
- RT_ERROR_PROF_BASE = 0x070e0000,
- RT_ERROR_PROF_NULL,
- RT_ERROR_PROF_NEW,
- RT_ERROR_PROF_START,
- RT_ERROR_PROF_DEVICE_MEM,
- RT_ERROR_PROF_HOST_MEM,
- RT_ERROR_PROF_SET_DIR,
- RT_ERROR_PROF_OPER,
- RT_ERROR_PROF_FULL,
- RT_ERROR_PROF_NAME,
-
- RT_ERROR_PCTRACE_BASE = 0x070f0000,
- RT_ERROR_PCTRACE_NULL,
- RT_ERROR_PCTRACE_NEW,
- RT_ERROR_PCTRACE_TIME,
- RT_ERROR_PCTRACE_FILE,
-
- RT_ERROR_TASK_BASE = 0x07100000,
- RT_ERROR_TASK_NULL,
- RT_ERROR_TASK_NEW,
- RT_ERROR_TASK_TYPE,
- RT_ERROR_TASK_ALLOCATOR,
-
- RT_ERROR_COMMON_BASE = 0x07110000,
- RT_ERROR_INVALID_VALUE, // RT_ERROR_INPUT_INVALID
- RT_ERROR_MEMORY_ADDRESS_UNALIGNED,
- RT_ERROR_SEC_HANDLE,
- RT_ERROR_OS_HANDLE,
- RT_ERROR_MUTEX_LOCK,
- RT_ERROR_MUTEX_UNLOCK,
- RT_ERROR_CALLOC,
- RT_ERROR_POOL_RESOURCE,
- RT_ERROR_TRANS_ARGS,
- RT_ERROR_METADATA,
- RT_ERROR_LOST_HEARTBEAT,
- RT_ERROR_REPORT_TIMEOUT,
- RT_ERROR_FEATURE_NOT_SUPPROT,
- RT_ERROR_MEMORY_ALLOCATION,
- RT_ERROR_MEMORY_FREE,
- RT_ERROR_INVALID_MEMORY_TYPE,
-
- RT_ERROR_DEBUG_BASE = 0x07120000,
- RT_ERROR_DEBUG_NULL,
- RT_ERROR_DEBUG_NEW,
- RT_ERROR_DEBUG_SIGNAL,
- RT_ERROR_DEBUG_OPEN,
- RT_ERROR_DEBUG_WRITE,
- RT_ERROR_DEBUG_REGISTER_FAILED,
- RT_ERROR_DEBUG_UNREGISTER_FAILED,
-
- RT_ERROR_ENGINE_BASE = 0x07130000,
- RT_ERROR_ENGINE_NULL,
- RT_ERROR_ENGINE_NEW,
- RT_ERROR_ENGINE_THREAD,
-
- RT_ERROR_LABEL_BASE = 0x07140000,
- RT_ERROR_LABEL_NULL,
- RT_ERROR_LABEL_NEW,
- RT_ERROR_LABEL_CONTEXT,
- RT_ERROR_LABEL_STREAM,
- RT_ERROR_LABEL_MODEL,
- RT_ERROR_LABEL_ALLOCATOR,
- RT_ERROR_LABEL_FREE,
- RT_ERROR_LABEL_SET,
- RT_ERROR_LABEL_ID,
-
- RT_ERROR_TSFW_BASE = 0x07150000,
- RT_ERROR_TSFW_UNKNOWN,
- RT_ERROR_TSFW_NULL_PTR,
- RT_ERROR_TSFW_ILLEGAL_AI_CORE_ID,
- RT_ERROR_TSFW_ILLEGAL_PARAM,
- RT_ERROR_TSFW_TASK_CMD_QUEUE_FULL,
- RT_ERROR_TSFW_TASK_CMD_QUEUE_EMPTY,
- RT_ERROR_TSFW_TASK_REPORT_QUEUE_FULL,
- RT_ERROR_TSFW_TASK_REPORT_QUEUE_EMPTY,
- RT_ERROR_TSFW_TASK_NODE_BUFF_ALL_OCCUPYED,
- RT_ERROR_TSFW_TASK_NODE_BUFF_ALL_FREED,
- RT_ERROR_TSFW_L2_MEM_INSUFFICIENT_SPACE,
- RT_ERROR_TSFW_L2_MALLOC_FAILED,
- RT_ERROR_TSFW_DMA_CHANNEL_ALL_OCCUPYED,
- RT_ERROR_TSFW_MEMCPY_OP_FAILED,
- RT_ERROR_TSFW_BS_SLOT_ALL_OCCUPYED,
- RT_ERROR_TSFW_TBS_SLOT_REPEAT_FREE,
- RT_ERROR_TSFW_PRIORITY_TASK_LIST_FULL,
- RT_ERROR_TSFW_PRIORITY_TASK_LIST_EMPTY,
- RT_ERROR_TSFW_NO_STREAM_LIST_NEED_TO_BE_PROCESSED,
- RT_ERROR_TSFW_REPEAT_MARK_STREAM_NEED_SERVICE,
- RT_ERROR_TSFW_SYS_DMA_CHANNEL_ALL_OCCUPAPYED,
- RT_ERROR_TSFW_NO_HBML2TASKNODE_FOUND,
- RT_ERROR_TSFW_SQNODE_NODE_SLOT_ALL_OCCUPAPYED,
- RT_ERROR_TSFW_CQNODE_NODE_SLOT_ALL_OCCUPAPYED,
- RT_ERROR_TSFW_SQNODE_NOT_ENOUGH,
- RT_ERROR_TSFW_SQNODE_SLOT_REPEAT_FREE,
- RT_ERROR_TSFW_CQNODE_SLOT_REPEAT_FREE,
- RT_ERROR_TSFW_CQ_REPORT_FAILED,
- RT_ERROR_TSFW_SYS_DMA_RESET_SUCCESS,
- RT_ERROR_TSFW_SYS_DMA_RESET_FAILED,
- RT_ERROR_TSFW_SYS_DMA_TRNSFER_FAILED,
- RT_ERROR_TSFW_SYS_DMA_MEMADDRALIGN_FAILED,
- RT_ERROR_TSFW_SYS_DMA_ERROR_QUEUE_FULL,
- RT_ERROR_TSFW_SYS_DMA_ERROR_QUEUE_EMPTY,
- RT_ERROR_TSFW_TIMER_EVENT_FULL,
- RT_ERROR_TSFW_TASK_L2_DESC_ENTRY_NOT_ENOUGH,
- RT_ERROR_TSFW_AICORE_TIMEOUT,
- RT_ERROR_TSFW_AICORE_EXCEPTION,
- RT_ERROR_TSFW_AICORE_TRAP_EXCEPTION,
- RT_ERROR_TSFW_AICPU_TIMEOUT,
- RT_ERROR_TSFW_SDMA_L2_TO_DDR_MALLOC_FAIL,
- RT_ERROR_TSFW_AICPU_EXCEPTION,
- RT_ERROR_TSFW_AICPU_DATADUMP_RSP_ERR,
- RT_ERROR_TSFW_AICPU_MODEL_RSP_ERR,
- RT_ERROR_TSFW_REPEAT_ACTIVE_MODEL_STREAM,
- RT_ERROR_TSFW_REPEAT_NOTIFY_WAIT,
- RT_ERROR_TSFW_DEBUG_INVALID_SQCQ,
- RT_ERROR_TSFW_DEBUG_WRONG_COMMAND_TYPE,
- RT_ERROR_TSFW_DEBUG_CMD_PROCESS,
- RT_ERROR_TSFW_DEBUG_INVALID_DEVICE_STATUS,
- RT_ERROR_TSFW_DEBUG_NOT_IN_DEBUG_STATUS,
- RT_ERROR_TSFW_DEBUG_INVALID_TASK_STATUS,
- RT_ERROR_TSFW_DEBUG_TASK_EMPTY,
- RT_ERROR_TSFW_DEBUG_TASK_FULL,
- RT_ERROR_TSFW_DEBUG_TASK_NOT_EXIST,
- RT_ERROR_TSFW_DEBUG_AI_CORE_FULL,
- RT_ERROR_TSFW_DEBUG_AI_CORE_NOT_EXIST,
- RT_ERROR_TSFW_DEBUG_AI_CORE_EXCEPTION,
- RT_ERROR_TSFW_DEBUG_AI_CORE_TIMEOUT,
- RT_ERROR_TSFW_DEBUG_BREAKPOINT_FULL,
- RT_ERROR_TSFW_DEBUG_READ_ERROR,
- RT_ERROR_TSFW_DEBUG_WRITE_FAIL,
- RT_ERROR_TSFW_QUEUE_FULL,
- RT_ERROR_TSFW_QUEUE_EMPTY,
- RT_ERROR_TSFW_QUEUE_ALLOC_MEM_FAIL,
- RT_ERROR_TSFW_QUEUE_DATA_SIZE_UNMATCH,
- RT_ERROR_TSFW_PCIE_DMA_INVLD_CPY_TYPE,
- RT_ERROR_TSFW_INVLD_CPY_DIR,
- RT_ERROR_TSFW_PCIE_DMA_INVLD_CQ_DES,
- RT_ERROR_TSFW_PCIE_DMA_CPY_ERR,
- RT_ERROR_TSFW_PCIE_DMA_LNK_CHN_BUSY,
- RT_ERROR_TSFW_PROFILE_BUFF_FULL,
- RT_ERROR_TSFW_PROFILE_MODE_CONFLICT,
- RT_ERROR_TSFW_PROFILE_OTHER_PID_ON,
- RT_ERROR_TSFW_SCHD_AIC_TASK_PRELOAD_FAILED,
- RT_ERROR_TSFW_TSCPU_CLOSE_FAILED,
- RT_ERROR_TSFW_EXPECT_FAIL,
- RT_ERROR_TSFW_REPEAT_MODEL_STREAM,
- RT_ERROR_TSFW_STREAM_MODEL_UNBIND,
- RT_ERROR_TSFW_MODEL_EXE_FAILED,
- RT_ERROR_TSFW_IPC_SEND_FAILED,
- RT_ERROR_TSFW_IPC_PROC_REG_FAILED,
- RT_ERROR_TSFW_STREAM_FULL,
- RT_ERROR_TSFW_END_OF_SEQUENCE,
- RT_ERROR_TSFW_SWITCH_STREAM_LABEL,
- RT_ERROR_TSFW_TRANS_SQE_FAIL,
- RT_ERROR_TSFW_RESERVED,
-
- RT_ERROR_SUBSCRIBE_BASE = 0x07160000,
- RT_ERROR_SUBSCRIBE_NULL,
- RT_ERROR_SUBSCRIBE_NEW,
- RT_ERROR_SUBSCRIBE_STREAM,
- RT_ERROR_SUBSCRIBE_THREAD,
- RT_ERROR_SUBSCRIBE_GROUP,
-
- RT_ERROR_GROUP_BASE = 0x07170000,
- RT_ERROR_GROUP_NOT_SET,
- RT_ERROR_GROUP_NOT_CREATE,
-
- RT_ERROR_RESERVED = 0x07ff0000,
- }rtError_t;
-
- /**
- * @ingroup dvrt_base
- * @brief runtime exception numbers.
- */
- typedef enum tagRtExceptionType {
- RT_EXCEPTION_NONE = 0,
- RT_EXCEPTION_TS_DOWN = 1,
- RT_EXCEPTION_TASK_TIMEOUT = 2,
- RT_EXCEPTION_TASK_FAILURE = 3,
- RT_EXCEPTION_DEV_RUNNING_DOWN = 4,
- RT_EXCEPTION_STREAM_ID_FREE_FAILED = 5
- } rtExceptionType;
-
- /**
- * @ingroup dvrt_base
- * @brief Switch type.
- */
- typedef enum tagRtCondition {
- RT_EQUAL = 0,
- RT_NOT_EQUAL,
- RT_GREATER,
- RT_GREATER_OR_EQUAL,
- RT_LESS,
- RT_LESS_OR_EQUAL
- } rtCondition_t;
-
- /**
- * @ingroup dvrt_base
- * @brief Data Type of Extensible Switch Task.
- */
- typedef enum tagRtSwitchDataType {
- RT_SWITCH_INT32 = 0,
- RT_SWITCH_INT64 = 1,
- } rtSwitchDataType_t;
-
- typedef enum tagRtStreamFlagType {
- RT_HEAD_STREAM = 0, // first stream
- RT_INVALID_FLAG = 0xFFFFFFFF,
- } rtStreamFlagType_t;
-
- typedef enum tagRtLimitType {
- RT_LIMIT_TYPE_LOW_POWER_TIMEOUT = 0, // timeout for power down , ms
- } rtLimitType_t;
-
- typedef struct rtExceptionInfo {
- uint32_t taskid;
- uint32_t streamid;
- uint32_t tid;
- uint32_t deviceid;
- } rtExceptionInfo;
-
- typedef void (*rtErrorCallback)(rtExceptionType);
-
- typedef void (*rtTaskFailCallback)(rtExceptionInfo *exceptionInfo);
-
- typedef void (*rtDeviceStateCallback)(uint32_t devId, bool isOpen);
-
- /**
- * @ingroup dvrt_base
- * @brief stream handle.
- */
- typedef void *rtStream_t;
-
- /**
- * @ingroup dvrt_base
- * @brief runtime event handle.
- */
- typedef void *rtEvent_t;
-
- /**
- * @ingroup dvrt_base
- * @brief label handle.
- */
- typedef void *rtLabel_t;
-
- /**
- * @ingroup profiling_base
- * @brief runtime handle.
- */
- RTS_API rtError_t rtSetProfDirEx(const char *profDir, const char *address, const char *jobCtx);
-
- /**
- * @ingroup profiling_base
- * @brief init profiler object.
- */
- RTS_API rtError_t rtProfilerInit(const char *profDir, const char *address, const char *jobCtx);
-
- /**
- * @ingroup profiling_base
- * @brief config rts profiler.
- */
- RTS_API rtError_t rtProfilerConfig(uint16_t type);
-
- /**
- * @ingroup profiling_base
- * @brief start rts profiler.
- */
- RTS_API rtError_t rtProfilerStart(uint64_t profConfig, int32_t numsDev, uint32_t* deviceList);
-
- /**
- * @ingroup profiling_base
- * @brief stop rts profiler.
- */
- RTS_API rtError_t rtProfilerStop(uint64_t profConfig, int32_t numsDev, uint32_t* deviceList);
-
- /**
- * @ingroup profiling_base
- * @brief ts send keypoint profiler log.
- */
- RTS_API rtError_t rtProfilerTrace(uint64_t id, bool notify, uint32_t flags, rtStream_t stream);
-
- /**
- * @ingroup dvrt_base
- * @brief Returns the last error from a runtime call.
- */
- RTS_API rtError_t rtGetLastError();
-
- /**
- * @ingroup dvrt_base
- * @brief Returns the last error from a runtime call.
- */
- RTS_API rtError_t rtPeekAtLastError();
-
- /**
- * @ingroup dvrt_base
- * @brief register callback for error code
- * @param [out] NA
- * @return RT_ERROR_NONE for ok
- */
- RTS_API rtError_t rtSetExceptCallback(rtErrorCallback callback);
-
- /**
- * @ingroup dvrt_base
- * @brief register callback for task fail
- * @param [out] NA
- * @return RT_ERROR_NONE for ok
- */
- RTS_API rtError_t rtSetTaskFailCallback(rtTaskFailCallback callback);
-
- /**
- * @ingroup dvrt_base
- * @brief register callback for deviceid
- * @param [in] uniName unique register name, can't be null
- * @param [in] callback Device state callback function
- * @param [out] NA
- * @return RT_ERROR_NONE for ok
- */
- RTS_API rtError_t rtRegDeviceStateCallback(const char *regName, rtDeviceStateCallback callback);
-
- /**
- * @ingroup dvrt_base
- * @brief notify handle.
- */
- typedef void *rtNotify_t;
-
- /**
- * @ingroup dvrt_base
- * @brief create label instance
- * @param [out] label created label
- * @return RT_ERROR_NONE for ok
- * @return RT_ERROR_INVALID_VALUE for error input
- */
- RTS_API rtError_t rtLabelCreate(rtLabel_t *label);
-
- /**
- * @ingroup dvrt_base
- * @brief set label and stream instance
- * @param [in] label set label
- * @param [in] stream set stream
- * @return RT_ERROR_NONE for ok
- * @return RT_ERROR_INVALID_VALUE for error input
- */
- RTS_API rtError_t rtLabelSet(rtLabel_t label, rtStream_t stream);
-
- /**
- * @ingroup dvrt_base
- * @brief destroy label instance
- * @param [in] label label to destroy
- * @return RT_ERROR_NONE for ok
- * @return RT_ERROR_INVALID_VALUE for error input
- */
- RTS_API rtError_t rtLabelDestroy(rtLabel_t label);
-
- /**
- * @ingroup dvrt_base
- * @brief label switch instance
- * @param [in] ptr address to get value compared
- * @param [in] condition
- * @param [in] value to compare
- * @param [in] true_label goto label
- * @param [in] stream to submit label_switch task
- * @return RT_ERROR_NONE for ok
- * @return RT_ERROR_INVALID_VALUE for error input
- */
- RTS_API rtError_t rtLabelSwitch(void *ptr, rtCondition_t condition, uint32_t value, rtLabel_t trueLabel,
- rtStream_t stream);
-
- /**
- * @ingroup dvrt_base
- * @brief goto label instance
- * @param [in] label goto label
- * @param [in] stream to submit label_goto task
- * @return RT_ERROR_NONE for ok
- * @return RT_ERROR_INVALID_VALUE for error input
- */
- RTS_API rtError_t rtLabelGoto(rtLabel_t label, rtStream_t stream);
-
- /**
- * @ingroup dvrt_base
- * @brief name label instance
- * @param [in] label instance
- * @param [in] name label name
- * @return RT_ERROR_NONE for ok
- * @return RT_ERROR_INVALID_VALUE for error input
- */
- RTS_API rtError_t rtNameLabel(rtLabel_t label, const char *name);
-
- /**
- * @ingroup dvrt_base
- * @brief label switch by index
- * @param [in] ptr index value ptr
- * @param [in] max index max value
- * @param [in] labelInfoPtr label content info ptr
- * @param [in] stream set stream
- * @return RT_ERROR_NONE for ok
- * @return RT_ERROR_INVALID_VALUE for error input
- */
- RTS_API rtError_t rtLabelSwitchByIndex(void *ptr, uint32_t max, void *labelInfoPtr, rtStream_t stream);
-
- /**
- * @ingroup dvrt_base
- * @brief stream goto label
- * @param [in] label goto label
- * @param [in] stream stream to submit label_goto task
- * @return RT_ERROR_NONE for ok
- * @return RT_ERROR_INVALID_VALUE for error input
- */
- RTS_API rtError_t rtLabelGotoEx(rtLabel_t label, rtStream_t stream);
-
- /**
- * @ingroup dvrt_base
- * @brief labels to dev info
- * @param [in] label model label list
- * @param [in] labelNumber label number
- * @param [in] dst device ptr
- * @param [in] dstMax dst size
- * @return RT_ERROR_NONE for ok
- * @return RT_ERROR_INVALID_VALUE for error input
- */
- RTS_API rtError_t rtLabelListCpy(rtLabel_t *label, uint32_t labelNumber, void *dst, uint32_t dstMax);
-
- /**
- * @ingroup dvrt_base
- * @brief labels to dev info
- * @param [out] label created label handle
- * @param [in] stream label bind stream
- * @return RT_ERROR_NONE for ok
- * @return RT_ERROR_INVALID_VALUE for error input
- */
- RTS_API rtError_t rtLabelCreateEx(rtLabel_t *label, rtStream_t stream);
-
- /**
- * @ingroup dvrt_base
- * @brief get current thread last stream id and task id
- * @param [out] stream id and task id
- * @param [in] null
- * @return RT_ERROR_NONE for ok
- * @return RT_ERROR_INVALID_VALUE for input null ptr
- */
- RTS_API rtError_t rtGetTaskIdAndStreamID(uint32_t *taskId, uint32_t *streamId);
-
- #if defined(__cplusplus) && !defined(COMPILE_OMG_PACKAGE)
- }
- #endif
-
- #endif // __CCE_RUNTIME_BASE_H__
|