Percepio Trace Recorder  v4.6.6
trcInternalEventBuffer.h
Go to the documentation of this file.
1 /*
2  * Percepio Trace Recorder for Tracealyzer v4.6.6
3  * Copyright 2021 Percepio AB
4  * www.percepio.com
5  *
6  * SPDX-License-Identifier: Apache-2.0
7  */
8 
15 #ifndef TRC_INTERNAL_BUFFER_H
16 #define TRC_INTERNAL_BUFFER_H
17 
18 #if (TRC_USE_TRACEALYZER_RECORDER == 1)
19 
20 #if (TRC_CFG_RECORDER_MODE == TRC_RECORDER_MODE_STREAMING)
21 
22 #ifndef TRC_USE_INTERNAL_BUFFER
23 #define TRC_USE_INTERNAL_BUFFER 1
24 #endif
25 
26 #if (TRC_USE_INTERNAL_BUFFER == 1)
27 
28 #include <trcTypes.h>
29 
30 #ifdef __cplusplus
31 extern "C" {
32 #endif
33 
49 traceResult xTraceInternalEventBufferInitialize(uint8_t* puiBuffer, uint32_t uiSize);
50 
61 traceResult xTraceInternalEventBufferPush(void *pvData, uint32_t uiSize, int32_t *piBytesWritten);
62 
78 traceResult xTraceInternalEventBufferTransfer(int32_t *piBytesWritten);
79 
87 
90 #ifdef __cplusplus
91 }
92 #endif
93 
94 #else /* (TRC_USE_INTERNAL_BUFFER == 1)*/
95 
96 #define xTraceInternalEventBufferInitialize(puiBuffer, uiSize) ((void)uiSize, puiBuffer != 0 ? TRC_SUCCESS : TRC_FAIL)
97 #define xTraceInternalEventBufferPush(pvData, uiSize, piBytesWritten) ((void)uiSize, (void)piBytesWritten, pvData != 0 ? TRC_SUCCESS : TRC_FAIL)
98 #define xTraceInternalEventBufferTransfer(piBytesWritten) ((void)piBytesWritten, TRC_SUCCESS)
99 #define xTraceInternalEventBufferClear() (void)(TRC_SUCCESS)
100 
101 #endif /* (TRC_USE_INTERNAL_BUFFER == 1)*/
102 
103 #endif /* (TRC_CFG_RECORDER_MODE == TRC_RECORDER_MODE_STREAMING) */
104 
105 #endif /* (TRC_USE_TRACEALYZER_RECORDER == 1) */
106 
107 #endif /* TRC_INTERNAL_BUFFER_H */
xTraceInternalEventBufferPush
traceResult xTraceInternalEventBufferPush(void *pvData, uint32_t uiSize, int32_t *piBytesWritten)
Pushes data to the internal trace event buffer.
xTraceInternalEventBufferClear
traceResult xTraceInternalEventBufferClear(void)
Clears all trace events in the internal trace event buffer.
xTraceInternalEventBufferTransfer
traceResult xTraceInternalEventBufferTransfer(int32_t *piBytesWritten)
Transfers all internal trace event buffer data using the function xTraceStreamPortWriteData(....