/* * Percepio Trace Recorder for Tracealyzer v4.6.0 * Copyright 2021 Percepio AB * www.percepio.com * * SPDX-License-Identifier: Apache-2.0 */ /** * @file * * @brief Public trace error APIs. */ #ifndef TRC_ERROR_H #define TRC_ERROR_H #if ( TRC_USE_TRACEALYZER_RECORDER == 1 ) #if ( TRC_CFG_RECORDER_MODE == TRC_RECORDER_MODE_STREAMING ) #include #ifdef __cplusplus extern "C" { #endif /** * @defgroup trace_assert_apis Trace Asserts APIs * @ingroup trace_recorder_apis * @{ */ #define TRC_ERROR_BUFFER_SIZE ( sizeof( uint32_t ) + sizeof( uint32_t ) + sizeof( TraceStringHandle_t ) ) typedef struct TraceErrorBuffer { uint32_t buffer[ ( TRC_ERROR_BUFFER_SIZE ) / sizeof( uint32_t ) ]; } TraceErrorBuffer_t; /** * @internal Initializes the error system * * @param[in] pxBuffer Pointer to buffer * * @retval TRC_FAIL Failure * @retval TRC_SUCCESS Success */ traceResult xTraceErrorInitialize( TraceErrorBuffer_t * pxBuffer ); /** * @brief Register a warning * * @param[in] uiErrorCode Label * * @retval TRC_FAIL Failure * @retval TRC_SUCCESS Success */ traceResult xTraceWarning( uint32_t uiErrorCode ); /** * @brief Register an error * * @param[in] uiErrorCode Error code * * @retval TRC_FAIL Failure * @retval TRC_SUCCESS Success */ traceResult xTraceError( uint32_t uiErrorCode ); /** * @brief Retrieve the string for the last error * * @param[out] pszError Error string pointer * * @retval TRC_FAIL Failure * @retval TRC_SUCCESS Success */ traceResult xTraceErrorGetLast( const char ** pszError ); /** * @brief Clears any errors * * @retval TRC_FAIL Failure * @retval TRC_SUCCESS Success */ traceResult xTraceErrorClear( void ); /** @} */ #ifdef __cplusplus } #endif #endif /* (TRC_CFG_RECORDER_MODE == TRC_RECORDER_MODE_STREAMING) */ #endif /* (TRC_USE_TRACEALYZER_RECORDER == 1) */ #endif /* TRC_ERROR_H*/