1 /*
2 * Percepio Trace Recorder for Tracealyzer v4.10.3
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) && (TRC_CFG_RECORDER_MODE == TRC_RECORDER_MODE_STREAMING)
19 
20 #include <trcTypes.h>
21 
22 #ifdef __cplusplus
23 extern "C" {
24 #endif
25 
26 /**
27  * @defgroup trace_dependency_apis Trace Dependency APIs
28  * @ingroup trace_recorder_apis
29  * @{
30  */
31 
32 /**
33  * @brief Registers a dependency.
34  *
35  * @param[in] szName Name.
36  * @param[in] uxDependencyType The type of dependency.
37  *				TRC_DEPENDENCY_TYPE_ELF: .elf file. Currently the only supported type.
38  *
39  * @retval TRC_FAIL Failure
40  * @retval TRC_SUCCESS Success
41  */
42 traceResult xTraceDependencyRegister(const char* szName, TraceUnsignedBaseType_t uxDependencyType);
43 
44 /** @} */
45 
46 #ifdef __cplusplus
47 }
48 #endif
49 
50 #else
51 
52 #ifndef xTraceDependencyRegister
53 #define xTraceDependencyRegister(szName, uxDependencyType) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_3((void)(szName), (void)(uxDependencyType), TRC_SUCCESS)
54 #endif
55 
56 #endif
57 
58 #endif
59