/****************************************************************************** ** stddefs.h : Standard definitions header file. ** ** Copyright(c) 2006 Wipro Technologies - All Rights Reserved ** ** Author : Gangadhar Uppala ** ** $Id: stddefs.h,v 1.1.1.1 2008/05/08 07:26:21 anlzhao Exp $ ******************************************************************************/ #ifndef _STDDEFS_H_ #define _STDDEFS_H_ #include #include #include #include "types.h" #include typedef void* PVOID; typedef INT32 RegionHandle_t; #define UNUSED_PARAMETER( _x_ ) ( (void)( _x_) ) #define FAILURE -1 #define SUCCESS 0 #define GMIN(a,b) ( (a) < (b) ? (a) : (b) ) #define GMAX(a,b) ( (a) > (b) ? (a) : (b) ) #define GABS(X) ( (X) <0 ? (-(X)) : (X) ) #define GMOD(X) ( ((X) < 0) ? -(X) : (X) ) /* ABS() returns +ve always */ #define SWAP_DATA(a,b,temp) \ do { \ (temp) = (a); \ (a) = (b); \ (b) = (temp); \ } while(0) #undef GUI_DEBUG_MSG #ifndef RELEASE_VER #define GUI_DEBUG_MSG #endif extern unsigned int sisdbgconf1; extern unsigned int sisdbgconf2; #undef GUI_MSG #ifdef GUI_DEBUG_MSG #define GUI_MSG(fmt, arg...) do {if (sisdbgconf1 & DBGCFG_MENU) fprintf(stderr, "[GUI] " fmt, ## arg);}while(0) #else #define GUI_MSG(fmt, arg...) #endif //SpikeYang, Show GUI ERROR automatically by IR ROBOT 2009-08-17 #if !defined(IR_BOT_RANDOM_K) && !defined(IR_BOT_SEQ_K) #undef SHOW_ERROR #else //#define SHOW_ERROR #endif //#define SHOW_WARNING //#define SHOW_TRACE //#define SHOW_ERROR #ifdef ERROR #undef ERROR #endif #ifdef SHOW_ERROR #define ERROR(fmt, arg...) \ do { \ GUI_MSG("%s:ERROR: ",__FUNCTION__); \ GUI_MSG(fmt, ## arg); \ } while(0) #else #define ERROR(fmt, arg...) #endif #ifdef SHOW_WARNING #define WARN(fmt, arg...) \ do { \ GUI_MSG("%s:WARNING: ",__FUNCTION__); \ GUI_MSG(fmt, ## arg); \ } while(0) #else #define WARN(fmt, arg...) #endif #ifdef SHOW_TRACE #define TRACE(fmt, arg...) \ do { \ GUI_MSG("%s:TRACE: ",__FUNCTION__); \ GUI_MSG(fmt, ## arg); \ } while(0) #else #define TRACE(fmt, arg...) #endif #if 0 #define NERROR(__X__) /* ** Checks if the given value is not in range of given value between low and high value */ #define NOT_IN_RANGE_INCLUSIVE(var, low_limit, high_limit) ( (var < low_limit) && (var > high_limit) ) /* ** Checks if the given value is in range of given value between low and high value */ #define IS_IN_RANGE_INCLUSIVE(var, low_limit, high_limit) ( (var >= low_limit) && (var <= high_limit) ) /* ** Add value in range of given value between low and high value ** if value is out of range then give lower value. */ #define ADD_IN_RANGE_DEF_VALUE(var, addent, low_limit, high_limit, def_val) \ do { \ if( ((var+addent) < low_limit) || ((var+addent) > high_limit) ) { \ var = def_val; \ }\ else { \ var = var+addent; \ } \ } while(0) /* ** Add value in range of given value between low and high value */ #define ADD_IN_RANGE(var, addent, low_limit, high_limit) \ do { \ if( (var+addent) < low_limit ) { \ var = low_limit; \ } else if ( (var+addent) > high_limit ) { \ var = high_limit; \ } else { \ var = var+addent; \ } \ } while(0) /* ** Increment the var. If the var falls above high_limit then set it to ** low_limit. */ #define INCR_ROLL(var, low_limit, high_limit) \ do { \ if( ( (var) < (low_limit) ) || ( (var) > (high_limit) ) ) { \ PRINT("var (%d) is beyond (%d , %d)\n", (var), (low_limit), (high_limit)); \ } \ if ( (var) == (high_limit) ) { \ (var) = (low_limit); \ } else { \ (var)++; \ } \ } while(0) /* ** Increment the var if != high_limit. */ #define INCR_NO_ROLL(var, low_limit, high_limit) \ do { \ if( ( (var) < (low_limit) ) || ( (var) > (high_limit) ) ) { \ PRINT("var (%d) is beyond (%d , %d)\n", (var), (low_limit), (high_limit)); \ } \ if ( (var) != (high_limit) ) { \ (var)++; \ } \ } while(0) /* ** Decrement the var. If the var falls below low_limit then set it to ** high_limit. */ #define DECR_ROLL(var, low_limit, high_limit) \ do { \ if( ( (var) < (low_limit) ) || ( (var) > (high_limit) ) ) { \ PRINT("var (%d) is beyond (%d , %d)\n", (var), (low_limit), (high_limit)); \ } \ if ( (var) == (low_limit) ) { \ (var) = (high_limit); \ } else { \ (var)--; \ } \ } while(0) /* ** Decrement the var if != low_limit. */ #define DECR_NO_ROLL(var, low_limit, high_limit) \ do { \ if( ( (var) < (low_limit) ) || ( (var) > (high_limit) ) ) { \ PRINT("var (%d) is beyond (%d , %d)\n", (var), (low_limit), (high_limit)); \ } \ if ( (var) != (low_limit) ) { \ (var)--; \ } \ } while(0) #endif #ifdef __cplusplus } #endif #endif