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 string APIs.
13  */
14 
15 #ifndef TRC_STRING_H
16 #define TRC_STRING_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_string_apis Trace String APIs
30  * @ingroup trace_recorder_apis
31  * @{
32  */
33 
34 /**
35  * @brief Registers a trace string.
36  *
37  * This routine registers a strings in the recorder, e.g. for names of user
38  * event channels.
39  *
40  * Example:
41  *	 TraceStringHandle_t myEventHandle;
42  *	 xTraceStringRegister("MyUserEvent", &myEventHandle);
43  *	 ...
44  *	 xTracePrintF(myEventHandle, "My value is: %d", myValue);
45  *
46  * @param[in] szString String.
47  * @param[out] pString Pointer to uninitialized trace string.
48  *
49  * @retval TRC_FAIL Failure
50  * @retval TRC_SUCCESS Success
51  */
52 traceResult xTraceStringRegister(const char *szString, TraceStringHandle_t* pString);
53 
54 /**
55  * @brief Registers a trace string.
56  *
57  * @deprecated Remains for backward compability with pre v4.6 versions
58  * of the recorder.
59  *
60  * @param[in] name Name.
61  *
62  * @return TraceStringHandle_t
63  */
64 TraceStringHandle_t xTraceRegisterString(const char *name);
65 
66 /** @} */
67 
68 #ifdef __cplusplus
69 }
70 #endif
71 
72 #endif /* (TRC_CFG_RECORDER_MODE == TRC_RECORDER_MODE_STREAMING) */
73 
74 #endif /* (TRC_USE_TRACEALYZER_RECORDER == 1) */
75 
76 #endif /* TRC_STRING_H */
77