1/* glibconfig.h.win32.in Merged from two versions generated by configure for gcc and MSVC. */ 2/* glibconfig.h 3 * 4 * This is a generated file. Please modify 'configure.in' 5 */ 6 7#ifndef __G_LIBCONFIG_H__ 8#define __G_LIBCONFIG_H__ 9 10#include <glib/gmacros.h> 11 12#include <limits.h> 13#include <float.h> 14 15G_BEGIN_DECLS 16 17#define G_MINFLOAT FLT_MIN 18#define G_MAXFLOAT FLT_MAX 19#define G_MINDOUBLE DBL_MIN 20#define G_MAXDOUBLE DBL_MAX 21#define G_MINSHORT SHRT_MIN 22#define G_MAXSHORT SHRT_MAX 23#define G_MAXUSHORT USHRT_MAX 24#define G_MININT INT_MIN 25#define G_MAXINT INT_MAX 26#define G_MAXUINT UINT_MAX 27#define G_MINLONG LONG_MIN 28#define G_MAXLONG LONG_MAX 29#define G_MAXULONG ULONG_MAX 30 31typedef signed char gint8; 32typedef unsigned char guint8; 33typedef signed short gint16; 34typedef unsigned short guint16; 35#define G_GINT16_MODIFIER "h" 36#define G_GINT16_FORMAT "hi" 37#define G_GUINT16_FORMAT "hu" 38typedef signed int gint32; 39typedef unsigned int guint32; 40#define G_GINT32_MODIFIER "" 41#define G_GINT32_FORMAT "i" 42#define G_GUINT32_FORMAT "u" 43#define G_HAVE_GINT64 1 /* deprecated, always true */ 44 45#ifndef _MSC_VER 46G_GNUC_EXTENSION typedef signed long long gint64; 47G_GNUC_EXTENSION typedef unsigned long long guint64; 48#else /* _MSC_VER */ 49typedef signed __int64 gint64; 50typedef unsigned __int64 guint64; 51#endif /* _MSC_VER */ 52 53#ifndef _MSC_VER 54#define G_GINT64_CONSTANT(val) (G_GNUC_EXTENSION (val##LL)) 55#else /* _MSC_VER */ 56#define G_GINT64_CONSTANT(val) (val##i64) 57#endif /* _MSC_VER */ 58#ifndef _MSC_VER 59#define G_GUINT64_CONSTANT(val) (G_GNUC_EXTENSION (val##ULL)) 60#else /* _MSC_VER */ 61#define G_GUINT64_CONSTANT(val) (val##Ui64) 62#endif /* _MSC_VER */ 63#define G_GINT64_MODIFIER "I64" 64#define G_GINT64_FORMAT "I64i" 65#define G_GUINT64_FORMAT "I64u" 66 67#if defined(_WIN64) || defined(_M_X64) || defined(_M_AMD64) 68 69#define GLIB_SIZEOF_VOID_P 8 70#define GLIB_SIZEOF_LONG 4 71#define GLIB_SIZEOF_SIZE_T 8 72 73typedef signed long long gssize; 74typedef unsigned long long gsize; 75#define G_GSIZE_MODIFIER "I64" 76#define G_GSSIZE_FORMAT "I64d" 77#define G_GSIZE_FORMAT "I64u" 78 79#define G_MAXSIZE G_MAXUINT64 80#define G_MINSSIZE G_MININT64 81#define G_MAXSSIZE G_MAXINT64 82 83#else 84 85#define GLIB_SIZEOF_VOID_P 4 86#define GLIB_SIZEOF_LONG 4 87#define GLIB_SIZEOF_SIZE_T 4 88 89typedef signed int gssize; 90typedef unsigned int gsize; 91#define G_GSIZE_MODIFIER "" 92#define G_GSSIZE_FORMAT "i" 93#define G_GSIZE_FORMAT "u" 94 95#define G_MAXSIZE G_MAXUINT 96#define G_MINSSIZE G_MININT 97#define G_MAXSSIZE G_MAXINT 98 99#endif 100 101typedef gint64 goffset; 102#define G_MINOFFSET G_MININT64 103#define G_MAXOFFSET G_MAXINT64 104 105#ifndef _WIN64 106 107#define GPOINTER_TO_INT(p) ((gint) (p)) 108#define GPOINTER_TO_UINT(p) ((guint) (p)) 109 110#define GINT_TO_POINTER(i) ((gpointer) (i)) 111#define GUINT_TO_POINTER(u) ((gpointer) (u)) 112 113typedef signed int gintptr; 114typedef unsigned int guintptr; 115 116#else 117 118#define GPOINTER_TO_INT(p) ((gint) (gint64) (p)) 119#define GPOINTER_TO_UINT(p) ((guint) (guint64) (p)) 120 121#define GINT_TO_POINTER(i) ((gpointer) (gint64) (i)) 122#define GUINT_TO_POINTER(u) ((gpointer) (guint64) (u)) 123 124#ifndef _MSC_VER 125typedef signed long long gintptr; 126typedef unsigned long long guintptr; 127#else 128typedef signed __int64 gintptr; 129typedef unsigned __int64 guintptr; 130#endif 131 132#endif 133 134#ifdef NeXT /* @#%@! NeXTStep */ 135# define g_ATEXIT(proc) (!atexit (proc)) 136#else 137# define g_ATEXIT(proc) (atexit (proc)) 138#endif 139 140#define g_memmove(dest,src,len) G_STMT_START { memmove ((dest), (src), (len)); } G_STMT_END 141 142#define GLIB_MAJOR_VERSION @GLIB_MAJOR_VERSION@ 143#define GLIB_MINOR_VERSION @GLIB_MINOR_VERSION@ 144#define GLIB_MICRO_VERSION @GLIB_MICRO_VERSION@ 145 146#define G_OS_WIN32 147#define G_PLATFORM_WIN32 148@GLIB_WIN32_STATIC_COMPILATION_DEFINE@ 149 150#ifndef _MSC_VER 151#define G_VA_COPY va_copy 152#endif /* not _MSC_VER */ 153 154#ifdef __cplusplus 155#define G_HAVE_INLINE 1 156#else /* !__cplusplus */ 157#ifndef _MSC_VER 158#define G_HAVE_INLINE 1 159#endif /* _MSC_VER */ 160#define G_HAVE___INLINE 1 161#if !defined(_MSC_VER) && !defined(__DMC__) 162#define G_HAVE___INLINE__ 1 163#endif /* !_MSC_VER and !__DMC__ */ 164#endif /* !__cplusplus */ 165 166#define G_CAN_INLINE 1 167 168#ifndef _MSC_VER 169#define G_HAVE_ISO_VARARGS 1 170 171/* gcc-2.95.x supports both gnu style and ISO varargs, but if -ansi 172 * is passed ISO vararg support is turned off, and there is no work 173 * around to turn it on, so we unconditionally turn it off. 174 */ 175#if __GNUC__ == 2 && __GNUC_MINOR__ == 95 176# undef G_HAVE_ISO_VARARGS 177#endif 178 179#define G_HAVE_GNUC_VARARGS 1 180#else /* _MSC_VER */ 181/* varargs macros available since msvc8 (vs2005) */ 182# if _MSC_VER >= 1400 183# define G_HAVE_ISO_VARARGS 1 184# endif 185#endif /* not _MSC_VER */ 186#define G_HAVE_GROWING_STACK 0 187 188#define G_GNUC_INTERNAL 189 190#define G_THREADS_ENABLED 191#define G_THREADS_IMPL_WIN32 192typedef struct _GMutex* GStaticMutex; 193#define G_STATIC_MUTEX_INIT NULL 194#define g_static_mutex_get_mutex(mutex) \ 195 (g_static_mutex_get_mutex_impl_shortcut (mutex)) 196/* This represents a system thread as used by the implementation. An 197 * alien implementaion, as loaded by g_thread_init can only count on 198 * "sizeof (gpointer)" bytes to store their info. We however need more 199 * for some of our native implementations. */ 200typedef union _GSystemThread GSystemThread; 201union _GSystemThread 202{ 203#ifndef _WIN64 204 char data[4]; 205#else 206 char data[8]; 207#endif 208 double dummy_double; 209 void *dummy_pointer; 210 long dummy_long; 211}; 212 213#define GINT16_TO_LE(val) ((gint16) (val)) 214#define GUINT16_TO_LE(val) ((guint16) (val)) 215#define GINT16_TO_BE(val) ((gint16) GUINT16_SWAP_LE_BE (val)) 216#define GUINT16_TO_BE(val) (GUINT16_SWAP_LE_BE (val)) 217#define GINT32_TO_LE(val) ((gint32) (val)) 218#define GUINT32_TO_LE(val) ((guint32) (val)) 219#define GINT32_TO_BE(val) ((gint32) GUINT32_SWAP_LE_BE (val)) 220#define GUINT32_TO_BE(val) (GUINT32_SWAP_LE_BE (val)) 221#define GINT64_TO_LE(val) ((gint64) (val)) 222#define GUINT64_TO_LE(val) ((guint64) (val)) 223#define GINT64_TO_BE(val) ((gint64) GUINT64_SWAP_LE_BE (val)) 224#define GUINT64_TO_BE(val) (GUINT64_SWAP_LE_BE (val)) 225#define GLONG_TO_LE(val) ((glong) GINT32_TO_LE (val)) 226#define GULONG_TO_LE(val) ((gulong) GUINT32_TO_LE (val)) 227#define GLONG_TO_BE(val) ((glong) GINT32_TO_BE (val)) 228#define GULONG_TO_BE(val) ((gulong) GUINT32_TO_BE (val)) 229#define GINT_TO_LE(val) ((gint) GINT32_TO_LE (val)) 230#define GUINT_TO_LE(val) ((guint) GUINT32_TO_LE (val)) 231#define GINT_TO_BE(val) ((gint) GINT32_TO_BE (val)) 232#define GUINT_TO_BE(val) ((guint) GUINT32_TO_BE (val)) 233#define G_BYTE_ORDER G_LITTLE_ENDIAN 234 235#define GLIB_SYSDEF_POLLIN =1 236#define GLIB_SYSDEF_POLLOUT =4 237#define GLIB_SYSDEF_POLLPRI =2 238#define GLIB_SYSDEF_POLLHUP =16 239#define GLIB_SYSDEF_POLLERR =8 240#define GLIB_SYSDEF_POLLNVAL =32 241 242#define G_MODULE_SUFFIX "dll" 243 244/* A GPid is an abstraction for a process "handle". It is *not* an 245 * abstraction for a process identifier in general. GPid is used in 246 * GLib only for descendant processes spawned with the g_spawn* 247 * functions. On POSIX there is no "process handle" concept as such, 248 * but on Windows a GPid is a handle to a process, a kind of pointer, 249 * not a process identifier. 250 */ 251typedef void * GPid; 252 253G_END_DECLS 254 255#endif /* GLIBCONFIG_H */ 256