| /* glibconfig.h.win32 */ |
| /* Handcrafted for Microsoft C and gcc -mno-cygwin ("mingw32"). */ |
| |
| #ifndef __G_LIBCONFIG_H__ |
| #define __G_LIBCONFIG_H__ |
| |
| #include <gmacros.h> |
| |
| #ifdef _MSC_VER |
| /* Make MSVC more pedantic, this is a recommended pragma list |
| * from _Win32_Programming_ by Rector and Newcomer. |
| */ |
| #pragma warning(error:4002) |
| #pragma warning(error:4003) |
| #pragma warning(1:4010) |
| #pragma warning(error:4013) |
| #pragma warning(1:4016) |
| #pragma warning(error:4020) |
| #pragma warning(error:4021) |
| #pragma warning(error:4027) |
| #pragma warning(error:4029) |
| #pragma warning(error:4033) |
| #pragma warning(error:4035) |
| #pragma warning(error:4045) |
| #pragma warning(error:4047) |
| #pragma warning(error:4049) |
| #pragma warning(error:4053) |
| #pragma warning(error:4071) |
| #pragma warning(disable:4101) |
| #pragma warning(error:4150) |
| |
| #pragma warning(disable:4244) /* No possible loss of data warnings */ |
| #pragma warning(disable:4305) /* No truncation from int to char warnings */ |
| #endif /* _MSC_VER */ |
| |
| #include <limits.h> |
| #include <float.h> |
| |
| #define G_MINFLOAT FLT_MIN |
| #define G_MAXFLOAT FLT_MAX |
| #define G_MINDOUBLE DBL_MIN |
| #define G_MAXDOUBLE DBL_MAX |
| #define G_MINSHORT SHRT_MIN |
| #define G_MAXSHORT SHRT_MAX |
| #define G_MAXUSHORT USHRT_MAX |
| #define G_MININT INT_MIN |
| #define G_MAXINT INT_MAX |
| #define G_MAXUINT UINT_MAX |
| #define G_MINLONG LONG_MIN |
| #define G_MAXLONG LONG_MAX |
| #define G_MAXULONG ULONG_MAX |
| |
| G_BEGIN_DECLS |
| |
| typedef signed char gint8; |
| typedef unsigned char guint8; |
| typedef signed short gint16; |
| typedef unsigned short guint16; |
| #define G_GINT16_FORMAT "hi" |
| #define G_GUINT16_FORMAT "hu" |
| typedef signed int gint32; |
| typedef unsigned int guint32; |
| #define G_GINT32_FORMAT "i" |
| #define G_GUINT32_FORMAT "u" |
| |
| #define G_HAVE_GINT64 1 |
| |
| /* These are compiler specific */ |
| #ifdef _MSC_VER |
| typedef __int64 gint64; |
| typedef unsigned __int64 guint64; |
| #define G_GINT64_CONSTANT(val) (val##i64) |
| #elif __GNUC__ |
| typedef long long gint64; |
| typedef unsigned long long guint64; |
| #define G_GINT64_CONSTANT(val) (val##LL) |
| #define G_HAVE_ISO_VARARGS 1 |
| #endif |
| |
| /* These depend on the C library. Using this file means the we |
| * use the (bundled) Microsoft msvcrt.dll. |
| */ |
| #define G_GINT64_FORMAT "I64i" |
| #define G_GUINT64_FORMAT "I64u" |
| |
| #define GLIB_SIZEOF_VOID_P 4 |
| #define GLIB_SIZEOF_LONG 4 |
| |
| typedef gint32 gssize; |
| typedef guint32 gsize; |
| |
| #define GPOINTER_TO_INT(p) ((gint)(p)) |
| #define GPOINTER_TO_UINT(p) ((guint)(p)) |
| |
| #define GINT_TO_POINTER(i) ((gpointer)(i)) |
| #define GUINT_TO_POINTER(u) ((gpointer)(u)) |
| |
| #define g_ATEXIT(proc) (atexit (proc)) |
| |
| #define g_memmove(d,s,n) G_STMT_START { memmove ((d), (s), (n)); } G_STMT_END |
| |
| #define GLIB_MAJOR_VERSION @GLIB_MAJOR_VERSION@ |
| #define GLIB_MINOR_VERSION @GLIB_MINOR_VERSION@ |
| #define GLIB_MICRO_VERSION @GLIB_MICRO_VERSION@ |
| |
| #define G_OS_WIN32 |
| #define G_PLATFORM_WIN32 |
| |
| #ifdef __cplusplus |
| #define G_HAVE_INLINE 1 |
| #else /* !__cplusplus */ |
| #define G_HAVE___INLINE 1 |
| #endif |
| |
| #define G_THREADS_ENABLED |
| #define G_THREADS_IMPL_WIN32 |
| typedef struct _GMutex* GStaticMutex; |
| #define G_STATIC_MUTEX_INIT NULL |
| #define g_static_mutex_get_mutex(mutex) (g_static_mutex_get_mutex_impl (mutex)) |
| /* This represents a system thread as used by the implementation. An |
| * alien implementaion, as loaded by g_thread_init can only count on |
| * "sizeof (gpointer)" bytes to store their info. We however need more |
| * for some of our native implementations. */ |
| typedef union _GSystemThread GSystemThread; |
| union _GSystemThread |
| { |
| /* The size of the data array is sizeof (GThreadData *), from |
| * gthread-win32.c */ |
| char data[4]; |
| double dummy_double; |
| void *dummy_pointer; |
| long dummy_long; |
| }; |
| |
| #define GINT16_TO_LE(val) ((gint16) (val)) |
| #define GUINT16_TO_LE(val) ((guint16) (val)) |
| #define GINT16_TO_BE(val) ((gint16) GUINT16_SWAP_LE_BE (val)) |
| #define GUINT16_TO_BE(val) (GUINT16_SWAP_LE_BE (val)) |
| |
| #define GINT32_TO_LE(val) ((gint32) (val)) |
| #define GUINT32_TO_LE(val) ((guint32) (val)) |
| #define GINT32_TO_BE(val) ((gint32) GUINT32_SWAP_LE_BE (val)) |
| #define GUINT32_TO_BE(val) (GUINT32_SWAP_LE_BE (val)) |
| |
| #define GINT64_TO_LE(val) ((gint64) (val)) |
| #define GUINT64_TO_LE(val) ((guint64) (val)) |
| #define GINT64_TO_BE(val) ((gint64) GUINT64_SWAP_LE_BE (val)) |
| #define GUINT64_TO_BE(val) (GUINT64_SWAP_LE_BE (val)) |
| |
| #define GLONG_TO_LE(val) ((glong) GINT32_TO_LE (val)) |
| #define GULONG_TO_LE(val) ((gulong) GUINT32_TO_LE (val)) |
| #define GLONG_TO_BE(val) ((glong) GINT32_TO_BE (val)) |
| #define GULONG_TO_BE(val) ((gulong) GUINT32_TO_BE (val)) |
| |
| #define GINT_TO_LE(val) ((gint) GINT32_TO_LE (val)) |
| #define GUINT_TO_LE(val) ((guint) GUINT32_TO_LE (val)) |
| #define GINT_TO_BE(val) ((gint) GINT32_TO_BE (val)) |
| #define GUINT_TO_BE(val) ((guint) GUINT32_TO_BE (val)) |
| #define G_BYTE_ORDER G_LITTLE_ENDIAN |
| |
| #define GLIB_SYSDEF_POLLIN = 1 |
| #define GLIB_SYSDEF_POLLOUT = 4 |
| #define GLIB_SYSDEF_POLLPRI = 2 |
| #define GLIB_SYSDEF_POLLERR = 8 |
| #define GLIB_SYSDEF_POLLHUP = 16 |
| #define GLIB_SYSDEF_POLLNVAL = 32 |
| |
| #define G_MODULE_SUFFIX "dll" |
| |
| G_END_DECLS |
| |
| #endif /* __G_LIBCONFIG_H__ */ |