Percepio Trace Recorder v4.11.0
Loading...
Searching...
No Matches
trcObject.h
Go to the documentation of this file.
1/*
2* Percepio Trace Recorder for Tracealyzer v4.11.0
3* Copyright 2025 Percepio AB
4* www.percepio.com
5*
6* SPDX-License-Identifier: Apache-2.0
7*/
8
14
15#ifndef TRC_OBJECT_H
16#define TRC_OBJECT_H
17
18#if (TRC_USE_TRACEALYZER_RECORDER == 1)
19
20#include <trcTypes.h>
21
22#ifdef __cplusplus
23extern "C" {
24#endif
25
31
46traceResult xTraceObjectRegisterInternal(uint32_t uiEventCode, void* const pvObject, const char* szName, TraceUnsignedBaseType_t uxStateCount, const TraceUnsignedBaseType_t uxStates[], TraceUnsignedBaseType_t uxOptions, TraceObjectHandle_t* pxObjectHandle);
47
60traceResult xTraceObjectRegister(uint32_t uiEventCode, void* const pvObject, const char* szName, TraceUnsignedBaseType_t uxState, TraceObjectHandle_t *pxObjectHandle);
61
75traceResult xTraceObjectRegister2(uint32_t uiEventCode, void* const pvObject, const char* szName, TraceUnsignedBaseType_t uxState1, TraceUnsignedBaseType_t uxState2, TraceObjectHandle_t *pxObjectHandle);
76
87traceResult xTraceObjectUnregister(TraceObjectHandle_t xObjectHandle, uint32_t uiEventCode, TraceUnsignedBaseType_t uxState);
88
98#define xTraceObjectGetAddress(xObjectHandle, ppvAddress) xTraceEntryGetAddress((TraceEntryHandle_t)(xObjectHandle), ppvAddress)
99
108#define pvTraceObjectGetAddressReturn(xObjectHandle) pvTraceEntryGetAddressReturn((TraceEntryHandle_t)(xObjectHandle))
109
119traceResult xTraceObjectSetName(TraceObjectHandle_t xObjectHandle, const char *szName);
120
130#define xTraceObjectGetName(xObjectHandle, pszName) xTraceEntryGetSymbol((TraceEntryHandle_t)(xObjectHandle), pszName)
131
141#define xTraceObjectSetState(xObjectHandle, uxState) xTraceObjectSetSpecificState(xObjectHandle, 0, uxState)
142
153#define xTraceObjectSetSpecificState(xObjectHandle, uiIndex, uxState) xTraceEntrySetState((TraceEntryHandle_t)(xObjectHandle), uiIndex, uxState)
154
165#define xTraceObjectGetSpecificState(xObjectHandle, uiIndex, puxState) xTraceEntryGetState((TraceEntryHandle_t)(xObjectHandle), uiIndex, puxState)
166
176#define xTraceObjectSetOptions(xObjectHandle, uiOptions) xTraceEntrySetOptions((TraceEntryHandle_t)(xObjectHandle), uiOptions)
177
189traceResult xTraceObjectRegisterWithoutHandle(uint32_t uiEventCode, void* pvObject, const char* szName, TraceUnsignedBaseType_t uxState);
190
203traceResult xTraceObjectRegisterWithoutHandle2(uint32_t uiEventCode, void* pvObject, const char* szName, TraceUnsignedBaseType_t uxState1, TraceUnsignedBaseType_t uxState2);
204
215traceResult xTraceObjectUnregisterWithoutHandle(uint32_t uiEventCode, void* pvObject, TraceUnsignedBaseType_t uxState);
216
226traceResult xTraceObjectSetNameWithoutHandle(void* pvObject, const char* szName);
227
237#define xTraceObjectSetStateWithoutHandle(pvObject, uxState) xTraceObjectSetSpecificStateWithoutHandle(pvObject, 0, uxState)
238
250traceResult xTraceObjectSetSpecificStateWithoutHandle(void* pvObject, uint32_t uiIndex, TraceUnsignedBaseType_t uxState);
251
261traceResult xTraceObjectSetOptionsWithoutHandle(void* pvObject, uint32_t uiOptions);
262
272#define xTraceObjectFind(pvObject, pxObjectHandle) xTraceEntryFind(pvObject, (TraceEntryHandle_t*)pxObjectHandle)
273
275
276#ifdef __cplusplus
277}
278#endif
279
280#else
281
282#define xTraceObjectRegisterInternal(_uiEventCode, _pvObject, _szName, _uxStateCount, _uxStates, _uxOptions, _pxObjectHandle) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_8((void)(_uiEventCode), (void)(_pvObject), (void)(_szName), (void)(_uxStateCount), (void)(_uxStates), (void)(_uxOptions), (void)(_pxObjectHandle), TRC_SUCCESS)
283
284#define xTraceObjectRegister(_uiEventCode, _pvObject, _szName, _uxState, _pxObjectHandle) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_6((void)(_uiEventCode), (void)(_pvObject), (void)(_szName), (void)(_uxState), (void)(_pxObjectHandle), TRC_SUCCESS)
285
286#define xTraceObjectUnregister(_xObjectHandle, _uiEventCode, _uxState) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_4((void)(_xObjectHandle), (void)(_uiEventCode), (void)(_uxState), TRC_SUCCESS)
287
288#define xTraceObjectSetName(_xObjectHandle, _szName) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_3((void)(_xObjectHandle), (void)(_szName), TRC_SUCCESS)
289
290#define xTraceObjectSetState(_xObjectHandle, _uxState) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_3((void)(_xObjectHandle), (void)(_uxState), TRC_SUCCESS)
291
292#define xTraceObjectSetSpecificState(_xObjectHandle, _uiIndex, _uxState) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_4((void)(_xObjectHandle), (void)(_uiIndex), (void)(_uxState), TRC_SUCCESS)
293
294#define xTraceObjectGetSpecificState(_xObjectHandle, _uiIndex, _puxState) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_4((void)(_xObjectHandle), (void)(_uiIndex), (void)(_puxState), TRC_SUCCESS)
295
296#define xTraceObjectSetOptions(_xObjectHandle, _uiOptions) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_3((void)(_xObjectHandle), (void)(_uiOptions), TRC_SUCCESS)
297
298#define xTraceObjectRegisterWithoutHandle(_uiEventCode, _pvObject, _szName, _uxState) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_5((void)(_uiEventCode), (void)(_pvObject), (void)(_szName), (void)(_uxState), TRC_SUCCESS)
299
300#define xTraceObjectUnregisterWithoutHandle(_uiEventCode, _pvObject, _uxState) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_4((void)(_uiEventCode), (void)(_pvObject), (void)(_uxState), TRC_SUCCESS)
301
302#define xTraceObjectSetNameWithoutHandle(_pvObject, _szName) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_3((void)(_pvObject), (void)(_szName), TRC_SUCCESS)
303
304#define xTraceObjectSetStateWithoutHandle(_pvObject, _uxState) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_3((void)(_pvObject), (void)(_uxState), TRC_SUCCESS)
305
306#define xTraceObjectSetSpecificStateWithoutHandle(_pvObject, _uiIndex, _uxState) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_4((void)(_pvObject), (void)(_uiIndex), (void)(_uxState), TRC_SUCCESS)
307
308#define xTraceObjectSetOptionsWithoutHandle(_pvObject, _uiOptions) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_3((void)(_pvObject), (void)(_uiOptions), TRC_SUCCESS)
309
310#define xTraceObjectFind(_pvObject, _pxObjectHandle) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_3((void)(_pvObject), (void)(_pxObjectHandle), TRC_SUCCESS)
311
312#define xTraceObjectGetAddress(_xObjectHandle, _ppvAddress) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_3((void)(_xObjectHandle), (void)(_ppvAddress), TRC_SUCCESS)
313
314#define pvTraceObjectGetAddressReturn(_xObjectHandle) TRC_COMMA_EXPR_TO_STATEMENT_EXPR_2((void)(_xObjectHandle), (void*)0)
315
316#endif
317
318#endif
traceResult xTraceObjectSetNameWithoutHandle(void *pvObject, const char *szName)
Set trace object name without trace object handle.
Definition trcObject.c:225
traceResult xTraceObjectSetSpecificStateWithoutHandle(void *pvObject, uint32_t uiIndex, TraceUnsignedBaseType_t uxState)
Sets trace object specific state without trace object handle.
Definition trcObject.c:252
traceResult xTraceObjectUnregister(TraceObjectHandle_t xObjectHandle, uint32_t uiEventCode, TraceUnsignedBaseType_t uxState)
Unregisters trace object.
Definition trcObject.c:119
traceResult xTraceObjectSetName(TraceObjectHandle_t xObjectHandle, const char *szName)
Sets trace object name.
Definition trcObject.c:155
traceResult xTraceObjectRegister(uint32_t uiEventCode, void *const pvObject, const char *szName, TraceUnsignedBaseType_t uxState, TraceObjectHandle_t *pxObjectHandle)
Registers trace object.
Definition trcObject.c:107
traceResult xTraceObjectUnregisterWithoutHandle(uint32_t uiEventCode, void *pvObject, TraceUnsignedBaseType_t uxState)
Unregisters trace object without trace object handle.
Definition trcObject.c:201
traceResult xTraceObjectRegister2(uint32_t uiEventCode, void *const pvObject, const char *szName, TraceUnsignedBaseType_t uxState1, TraceUnsignedBaseType_t uxState2, TraceObjectHandle_t *pxObjectHandle)
Registers trace object with two initial states.
Definition trcObject.c:113
traceResult xTraceObjectRegisterWithoutHandle2(uint32_t uiEventCode, void *pvObject, const char *szName, TraceUnsignedBaseType_t uxState1, TraceUnsignedBaseType_t uxState2)
Registers trace object with two initial states without trace object handle.
Definition trcObject.c:193
traceResult xTraceObjectSetOptionsWithoutHandle(void *pvObject, uint32_t uiOptions)
Sets trace object options without trace object handle.
Definition trcObject.c:275
traceResult xTraceObjectRegisterInternal(uint32_t uiEventCode, void *const pvObject, const char *szName, TraceUnsignedBaseType_t uxStateCount, const TraceUnsignedBaseType_t uxStates[], TraceUnsignedBaseType_t uxOptions, TraceObjectHandle_t *pxObjectHandle)
Registers trace object.
Definition trcObject.c:22
traceResult xTraceObjectRegisterWithoutHandle(uint32_t uiEventCode, void *pvObject, const char *szName, TraceUnsignedBaseType_t uxState)
Registers trace object without trace object handle.
Definition trcObject.c:185