1 /* 2 * Percepio Trace Recorder for Tracealyzer v4.8.1 3 * Copyright 2023 Percepio AB 4 * www.percepio.com 5 * 6 * SPDX-License-Identifier: Apache-2.0 7 */ 8 9 /** 10 * @file 11 * 12 * @brief Public trace dependency APIs. 13 */ 14 15 #ifndef TRC_DEPENDENCY_H 16 #define TRC_DEPENDENCY_H 17 18 #if (TRC_USE_TRACEALYZER_RECORDER == 1) 19 20 #if (TRC_CFG_RECORDER_MODE == TRC_RECORDER_MODE_STREAMING) 21 22 #include <trcTypes.h> 23 24 #ifdef __cplusplus 25 extern "C" { 26 #endif 27 28 /** 29 * @defgroup trace_dependency_apis Trace Dependency APIs 30 * @ingroup trace_recorder_apis 31 * @{ 32 */ 33 34 /** 35 * @brief Registers a dependency. 36 * 37 * @param[in] szName Name. 38 * @param[in] uxDependencyType The type of dependency. 39 * TRC_DEPENDENCY_TYPE_ELF: .elf file. Currently the only supported type. 40 * 41 * @retval TRC_FAIL Failure 42 * @retval TRC_SUCCESS Success 43 */ 44 traceResult xTraceDependencyRegister(const char* szName, TraceUnsignedBaseType_t uxDependencyType); 45 46 /** @} */ 47 48 #ifdef __cplusplus 49 } 50 #endif 51 52 #else 53 54 #ifndef xTraceDependencyRegister 55 #define xTraceDependencyRegister(szName, uxDependencyType) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_4((void)(szName), (void)(uxRegisterMethod), (void)(pxRunnableHandle), TRC_SUCCESS) 56 #endif 57 58 #endif 59 60 #endif 61 62 #endif 63