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