/* * * Copyright 2010 Samsung Electronics S.LSI Co. LTD * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /* * @file SEC_OSAL_Log.h * @brief * @author Yunji Kim (yunji.kim@samsung.com) * @version 1.1.0 * @history * 2010.7.15 : Create * 2010.8.27 : Add trace function */ #ifndef SEC_OSAL_LOG #define SEC_OSAL_LOG #ifdef __cplusplus extern "C" { #endif #ifndef SEC_LOG_OFF #define SEC_LOG #endif #ifndef SEC_LOG_TAG #define SEC_LOG_TAG "SEC_LOG" #endif #ifdef SEC_TRACE_ON #define SEC_TRACE #endif typedef enum _LOG_LEVEL { SEC_LOG_TRACE, SEC_LOG_WARNING, SEC_LOG_ERROR } SEC_LOG_LEVEL; #ifdef SEC_LOG #define SEC_OSAL_Log(a, ...) ((void)_SEC_OSAL_Log(a, SEC_LOG_TAG, __VA_ARGS__)) #else #define SEC_OSAL_Log(a, ...) \ do { \ if (a == SEC_LOG_ERROR) \ ((void)_SEC_OSAL_Log(a, SEC_LOG_TAG, __VA_ARGS__)); \ } while (0) #endif #ifdef SEC_TRACE #define FunctionIn() _SEC_OSAL_Log(SEC_LOG_TRACE, SEC_LOG_TAG, "%s In , Line: %d", __FUNCTION__, __LINE__) #define FunctionOut() _SEC_OSAL_Log(SEC_LOG_TRACE, SEC_LOG_TAG, "%s Out , Line: %d", __FUNCTION__, __LINE__) #else #define FunctionIn() ((void *)0) #define FunctionOut() ((void *)0) #endif extern void _SEC_OSAL_Log(SEC_LOG_LEVEL logLevel, const char *tag, const char *msg, ...); #ifdef __cplusplus } #endif #endif