gmio/src/gmio_core/global.h

85 lines
2.0 KiB
C
Raw Normal View History

#ifndef GMIO_GLOBAL_H
#define GMIO_GLOBAL_H
2013-01-25 22:37:06 +08:00
#if defined(WIN64) || defined(_WIN64) || defined(__WIN64__) \
|| defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__NT__)
# define GMIO_DECL_EXPORT __declspec(dllexport)
# define GMIO_DECL_IMPORT __declspec(dllimport)
#else
# define GMIO_DECL_EXPORT
# define GMIO_DECL_IMPORT
#endif /* WIN */
#ifdef GMIO_LIB_DLL
# ifdef GMIO_LIB_MAKE_DLL
# define GMIO_LIB_EXPORT GMIO_DECL_EXPORT
# else
# define GMIO_LIB_EXPORT GMIO_DECL_IMPORT
# endif /* GMIO_LIB_MAKE_DLL */
#else
# define GMIO_LIB_EXPORT
#endif /* GMIO_LIB_DLL */
/* "config.h" is generated by cmake, it should reside in the out-of-source build dir.
* In CMakeFiles.txt, the directory where resides "config.h" is added to the include path list
*/
#include "config.h"
2013-02-21 21:37:42 +08:00
#ifdef GMIO_HAVE_STDINT_H
# include <stdint.h>
#else
2014-01-21 17:49:24 +08:00
typedef char int8_t;
typedef unsigned char uint8_t;
2014-01-21 17:49:24 +08:00
typedef short int16_t;
typedef unsigned short uint16_t;
2014-01-21 17:49:24 +08:00
typedef int int32_t;
typedef unsigned int uint32_t;
2013-01-25 01:38:43 +08:00
/*# ifdef _MSC_VER
typedef __int64 int64_t;
typedef unsigned __int64 uint64_t;
# else
typedef long long int64_t;
typedef unsigned long long uint64_t;
2013-01-25 01:38:43 +08:00
# endif*/ /* _MSC_VER */
#endif /* GMIO_USE_STDINT_H */
/*! Typedef for boolean type */
typedef int gmio_bool_t;
2014-02-13 23:25:37 +08:00
/*! This enum defines true/false boolean values */
enum gmio_bool_value
2014-01-30 17:19:22 +08:00
{
GMIO_FALSE = 0,
GMIO_TRUE = 1
2014-01-30 17:19:22 +08:00
};
/*! Typedef for 32bit real type (float) */
typedef float gmio_real32_t;
2014-02-13 23:25:37 +08:00
/*! Typedef for 64bit real type (double) */
typedef double gmio_real64_t;
#ifndef GMIO_INLINE
# if defined(__GNUC__)
# define GMIO_INLINE __inline__ /* Compatible with C90 */
# elif defined(_MSC_VER)
# define GMIO_INLINE __inline
# else
# define GMIO_INLINE
# endif
#endif /* !GMIO_INLINE */
#ifdef __cplusplus
# define GMIO_C_LINKAGE_BEGIN extern "C" {
# define GMIO_C_LINKAGE_END }
#else
# define GMIO_C_LINKAGE_BEGIN
# define GMIO_C_LINKAGE_END
#endif /* __cplusplus */
#endif /* GMIO_GLOBAL_H */