//----------------------------------------------------------------------------- // *! (C) Copyright International Business Machines Corp. 2014 // *! All Rights Reserved -- Property of IBM // *! *** IBM Confidential *** //----------------------------------------------------------------------------- /// \file fapi_sbe_common.H /// \brief provides several preprocessor macros used functions in fixed secion. /// /// Several preprocessor macros are required to have different definitions in /// C, C++ and SBE assembly procedures. These common forms are collected here. #ifndef __FAPI_SBE_COMMON_H #define __FAPI_SBE_COMMON_H /// Several preprocessor macros are required to have different definitions in /// C, C++ and SBE assembly procedures. These common forms are collected here. #if defined __ASSEMBLER__ #define CONST_UINT8_T(name, expr) .set name, (expr) #define CONST_UINT32_T(name, expr) .set name, (expr) #define CONST_UINT64_T(name, expr) .set name, (expr) #define ULL(x) x #elif defined __cplusplus #include #define CONST_UINT8_T(name, expr) const uint8_t name = (expr); #define CONST_UINT32_T(name, expr) const uint32_t name = (expr); #define CONST_UINT64_T(name, expr) const uint64_t name = (expr); #define ULL(x) x##ull #else // C code // CONST_UINT[8,3,64]_T() can't be used in C code/headers; Use // // #define [ or ULL() for 64-bit constants #define ULL(x) x##ull #endif // __ASSEMBLER__ #endif // __FAPI_SBE_COMMON_H