#ifndef __KDEFINE_INCLUDE__
#define __KDEFINE_INCLUDE__

#define K22_STR_EXP(__A)  #__A
#define K22_STR(__A)      K22_STR_EXP(__A)
#define K22_STRW_EXP(__A)  L ## #__A
#define K22_STRW(__A)      K22_STRW_EXP(__A)

#define K22_CMS_VERSION_MAJOR           1
#define K22_CMS_VERSION_MINOR           215
#define K22_CMS_VERSION_REVISION        0
#define K22_VERSION                 K22_STR(K22_CMS_VERSION_MAJOR) "." K22_STR(K22_CMS_VERSION_MINOR) "." K22_STR(K22_CMS_VERSION_REVISION) ""

#ifdef __cplusplus

#   ifndef EXTERN_C
#       define EXTERN_C            extern "C"
#   endif

#   ifndef BEGIN_EXTERN_C
#       define BEGIN_EXTERN_C      extern "C" {
#   endif

#   ifndef END_EXTERN_C
#       define END_EXTERN_C        } // extern "C"
#   endif

#else

#   define EXTERN_C    extern
#   define BEGIN_EXTERN_C
#   define END_EXTERN_C

#endif // __cplusplus

#define __NAMESPACE_BEGIN__(X) namespace X {
#define __NAMESPACE_END__(X) }
#define __USING_NAMESPACE__(X)  using namespace X
#define __USING_NAMESPACE_HJ__	using namespace HJ

#endif //__KDEFINE_INCLUDE__