1c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* 2c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Copyright (c) 2010, Texas Instruments Incorporated 3c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * All rights reserved. 4c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 5c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Redistribution and use in source and binary forms, with or without 6c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * modification, are permitted provided that the following conditions 7c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * are met: 8c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 9c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * * Redistributions of source code must retain the above copyright 10c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * notice, this list of conditions and the following disclaimer. 11c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 12c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * * Redistributions in binary form must reproduce the above copyright 13c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * notice, this list of conditions and the following disclaimer in the 14c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * documentation and/or other materials provided with the distribution. 15c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 16c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * * Neither the name of Texas Instruments Incorporated nor the names of 17c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * its contributors may be used to endorse or promote products derived 18c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * from this software without specific prior written permission. 19c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * 20c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 21c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 22c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 23c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 24c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 25c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 26c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 27c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 28c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 29c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 30c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 31c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 32c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 33c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* 34c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev* @file timm_timm_osal_error.h 35c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev* The osal header file defines the error codes 36c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev* @path 37c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev* 38c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev*/ 39c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* -------------------------------------------------------------------------- */ 40c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* ========================================================================= 41c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev *! 42c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev *! Revision History 43c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev *! =================================== 44c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev *! 0.1: Created the first draft version, ksrini@ti.com 45c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * ========================================================================= */ 46c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 47c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#ifndef _TIMM_OSAL_ERROR_H_ 48c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#define _TIMM_OSAL_ERROR_H_ 49c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 50c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#ifdef __cplusplus 51c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevextern "C" 52c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev{ 53c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#endif /* __cplusplus */ 54c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 55c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#include "timm_osal_types.h" 56c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 57c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** A unique ID for each component*/ 58c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev typedef TIMM_OSAL_U16 TIMM_OSAL_COMPID; 59c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 60c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** TIMM_OSAL_ERROR is a 32 bits unsigned integer. 61c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Each error code can be broken up into three fields as given below: 62c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * - Type of error (2 bits): NO_ERROR: 00, WARNING: 01, FATAL_ERROR: 10 63c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * - Component ID (14 bits): A unique ID which indicates which of the component generated the error 64c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * - Error ID (16 bits): The specific error generated by a component 65c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */ 66c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev typedef TIMM_OSAL_U32 TIMM_OSAL_ERRORTYPE; 67c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 68c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#define TIMM_OSAL_OK 0 69c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#define TIMM_OSAL_WAR 1 70c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#define TIMM_OSAL_ERR 2 71c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 72c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 73c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* Macro to process TIMM_OSAL_ERROR */ 74c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 75c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** This macro tests if the provided M4OSA_ERR is a warning or not*/ 76c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#define TIMM_OSAL_IS_WARNING(error) ((((error)>>30) == TIMM_OSAL_WAR) ? 1:0) 77c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 78c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** This macro tests if the provided M4OSA_ERR is a fatal error or not*/ 79c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#define TIMM_OSAL_IS_ERROR(error) ((((error)>>30) == TIMM_OSAL_ERR) ? 1:0) 80c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 81c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** This macro returns an error code accroding to the 3 provided fields: 82c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * @arg Type: (IN) [TIMM_OSAL_U32] Type of error to put in the error code 83c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * @arg compID: (IN) [TIMM_OSAL_U32] CompID to put in the error code 84c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * @arg errorID: (IN) [TIMM_OSAL_U32] ErrorID to put in the error code*/ 85c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#define TIMM_OSAL_ERR_CREATE(type, compID, errorID)\ 86c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev (((type)<<30)+(((compID)&0x003FFF)<<16)+((errorID)&0x00FFFF)) 87c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 88c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** This macro extracts the 3 fields from the error: 89c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * @arg error: (IN) [TIMM_OSAL_ERRORTYPE] Error code 90c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * @arg type: (OUT) [TIMM_OSAL_U32] Type of error in the error code 91c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * @arg compID: (OUT) [TIMM_OSAL_U32] CompID to put in the error code 92c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * @arg errorID: (OUT) [TIMM_OSAL_U32] ErrorID to put in the error code*/ 93c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#define TIMM_OSAL_ERR_SPLIT(error, type, compID, errorID)\ 94c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev { type=(TIMM_OSAL_U32)((error)>>30);\ 95c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev compID=(TIMM_OSAL_U32)(((error)>>16)&0x003FFF);\ 96c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev (TIMM_OSAL_U32)(errorID=(error)&0x00FFFF); } 97c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 98c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* Component IDs */ 99c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#define TIMM_OSAL_COMP_GENERAL 0x00 100c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#define TIMM_OSAL_COMP_MEMORY 0x01 101c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#define TIMM_OSAL_COMP_PIPES 0x02 102c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#define TIMM_OSAL_COMP_EVENTS 0x03 103c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#define TIMM_OSAL_COMP_SEMAPHORES 0x04 104c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#define TIMM_OSAL_COMP_TASK 0x05 105c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 106c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* Definition of common error codes */ 107c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** there is no error*/ 108c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#define TIMM_OSAL_ERR_NONE ((TIMM_OSAL_ERRORTYPE) 0x00000000) 109c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 110c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 111c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** There is no more memory available*/ 112c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#define TIMM_OSAL_ERR_ALLOC ((TIMM_OSAL_ERRORTYPE) TIMM_OSAL_ERR_CREATE(TIMM_OSAL_ERR,TIMM_OSAL_COMP_GENERAL,0x000001)) 113c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#define TIMM_OSAL_ERR_OUT_OF_RESOURCE ((TIMM_OSAL_ERRORTYPE) TIMM_OSAL_ERR_CREATE(TIMM_OSAL_ERR,TIMM_OSAL_COMP_GENERAL,0x000002)) 114c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 115c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/** Time out */ 116c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#define TIMM_OSAL_WAR_TIMEOUT ((TIMM_OSAL_ERRORTYPE) TIMM_OSAL_ERR_CREATE(TIMM_OSAL_WAR,TIMM_OSAL_COMP_GENERAL,0x000003)) 117c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#define TIMM_OSAL_ERR_PARAMETER ((TIMM_OSAL_ERRORTYPE) TIMM_OSAL_ERR_CREATE(TIMM_OSAL_ERR,TIMM_OSAL_COMP_GENERAL,0x000004)) 118c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#define TIMM_OSAL_ERR_NOT_READY ((TIMM_OSAL_ERRORTYPE) TIMM_OSAL_ERR_CREATE(TIMM_OSAL_ERR,TIMM_OSAL_COMP_GENERAL,0x000005)) 119c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#define TIMM_OSAL_ERR_OMX ((TIMM_OSAL_ERRORTYPE) TIMM_OSAL_ERR_CREATE(TIMM_OSAL_ERR,TIMM_OSAL_COMP_GENERAL,0x000006)) 120c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#define TIMM_OSAL_ERR_PIPE_FULL ((TIMM_OSAL_ERRORTYPE) TIMM_OSAL_ERR_CREATE(TIMM_OSAL_ERR,TIMM_OSAL_COMP_GENERAL,0x000007)) 121c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#define TIMM_OSAL_ERR_PIPE_EMPTY ((TIMM_OSAL_ERRORTYPE) TIMM_OSAL_ERR_CREATE(TIMM_OSAL_ERR,TIMM_OSAL_COMP_GENERAL,0x000008)) 122c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#define TIMM_OSAL_ERR_PIPE_DELETED ((TIMM_OSAL_ERRORTYPE) TIMM_OSAL_ERR_CREATE(TIMM_OSAL_ERR,TIMM_OSAL_COMP_GENERAL,0x000009)) 123c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#define TIMM_OSAL_ERR_PIPE_RESET ((TIMM_OSAL_ERRORTYPE) TIMM_OSAL_ERR_CREATE(TIMM_OSAL_ERR,TIMM_OSAL_COMP_GENERAL,0x00000A)) 124c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#define TIMM_OSAL_ERR_GROUP_DELETED ((TIMM_OSAL_ERRORTYPE) TIMM_OSAL_ERR_CREATE(TIMM_OSAL_ERR,TIMM_OSAL_COMP_GENERAL,0x00000B)) 125c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#define TIMM_OSAL_ERR_UNKNOWN ((TIMM_OSAL_ERRORTYPE) TIMM_OSAL_ERR_CREATE(TIMM_OSAL_ERR,TIMM_OSAL_COMP_GENERAL,0x00000C)) 126c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 127c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 128c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#define TIMM_OSAL_ERR_SEM_CREATE_FAILED ((TIMM_OSAL_ERRORTYPE) TIMM_OSAL_ERR_CREATE(TIMM_OSAL_ERR,TIMM_OSAL_COMP_SEMAPHORE,0x000001)) 129c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 130c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/*Added during Linux Porting*/ 131c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#define TIMM_OSAL_ERR_NO_PERMISSIONS ((TIMM_OSAL_ERRORTYPE) TIMM_OSAL_ERR_CREATE(TIMM_OSAL_ERR,TIMM_OSAL_COMP_GENERAL,0x00000D)) 132c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#define TIMM_OSAL_ERR_RESOURCE_EXISTS ((TIMM_OSAL_ERRORTYPE) TIMM_OSAL_ERR_CREATE(TIMM_OSAL_ERR,TIMM_OSAL_COMP_GENERAL,0x00000E)) 133c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#define TIMM_OSAL_ERR_RESOURCE_REMOVED ((TIMM_OSAL_ERRORTYPE) TIMM_OSAL_ERR_CREATE(TIMM_OSAL_ERR,TIMM_OSAL_COMP_GENERAL,0x00000F)) 134c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#define TIMM_OSAL_ERR_SYSTEM_LIMIT_EXCEEDED ((TIMM_OSAL_ERRORTYPE) TIMM_OSAL_ERR_CREATE(TIMM_OSAL_ERR,TIMM_OSAL_COMP_GENERAL,0x000010)) 135c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#define TIMM_OSAL_ERR_NOT_SUPPORTED ((TIMM_OSAL_ERRORTYPE) TIMM_OSAL_ERR_CREATE(TIMM_OSAL_ERR,TIMM_OSAL_COMP_GENERAL,0x000011)) 136c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#define TIMM_OSAL_ERR_SIGNAL_CAUGHT ((TIMM_OSAL_ERRORTYPE) TIMM_OSAL_ERR_CREATE(TIMM_OSAL_ERR,TIMM_OSAL_COMP_GENERAL,0x000012)) 137c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#define TIMM_OSAL_ERR_TIMEOUT ((TIMM_OSAL_ERRORTYPE) TIMM_OSAL_ERR_CREATE(TIMM_OSAL_ERR,TIMM_OSAL_COMP_GENERAL,0x000013)) 138c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 139c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 140c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 141c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#define TIMM_OSAL_COMP_MSG_Q 0x06 142c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#define TIMM_OSAL_ERR_MSG_SIZE_MISMATCH ((TIMM_OSAL_ERRORTYPE) TIMM_OSAL_ERR_CREATE(TIMM_OSAL_ERR,TIMM_OSAL_COMP_MSG_Q,0x000001)) 143c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#define TIMM_OSAL_ERR_MSG_TYPE_NOT_FOUND ((TIMM_OSAL_ERRORTYPE) TIMM_OSAL_ERR_CREATE(TIMM_OSAL_ERR,TIMM_OSAL_COMP_MSG_Q,0x000002)) 144c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 145c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 146c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* 147c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#define GOTO_EXIT_IF(_Cond,_ErrorCode) { \ 148c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev if ((_Cond)) { \ 149c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev status = _ErrorCode; \ 150c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev printf ("Error :: %s : %s : %d :: Exiting because : %s\n", \ 151c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev __FILE__, __FUNCTION__, __LINE__, #_Cond); \ 152c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev goto EXIT; \ 153c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev } \ 154c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} 155c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev*/ 156c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 157c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#define SWITCH_CASE(_Case, _ErrCode, _ErrMsg)\ 158c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev case _Case:\ 159c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev TIMM_OSAL_Error(_ErrMsg);\ 160c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev bReturnStatus = _ErrCode;\ 161c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev break; 162c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 163c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#define SWITCH_DEFAULT_CASE(_ErrCode, _ErrMsg )\ 164c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev default:\ 165c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev TIMM_OSAL_Error(_ErrMsg);\ 166c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev bReturnStatus = _ErrCode;\ 167c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev break; 168c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 169c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 170c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 171c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#ifdef __cplusplus 172c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} 173c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#endif /* __cplusplus */ 174c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 175c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#endif /*_TIMM_OSAL_ERROR_H_*/ 176