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 15 G_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 31 typedef signed char gint8; 32 typedef unsigned char guint8; 33 typedef signed short gint16; 34 typedef unsigned short guint16; 35 #define G_GINT16_MODIFIER "h" 36 #define G_GINT16_FORMAT "hi" 37 #define G_GUINT16_FORMAT "hu" 38 typedef signed int gint32; 39 typedef 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 46 G_GNUC_EXTENSION typedef signed long long gint64; 47 G_GNUC_EXTENSION typedef unsigned long long guint64; 48 #else /* _MSC_VER */ 49 typedef signed __int64 gint64; 50 typedef 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 73 typedef signed long long gssize; 74 typedef 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 89 typedef signed int gssize; 90 typedef 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 101 typedef 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 113 typedef signed int gintptr; 114 typedef 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 125 typedef signed long long gintptr; 126 typedef unsigned long long guintptr; 127 #else 128 typedef signed __int64 gintptr; 129 typedef 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 192 typedef 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. */ 200 typedef union _GSystemThread GSystemThread; 201 union _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 */ 251 typedef void * GPid; 252 253 G_END_DECLS 254 255 #endif /* GLIBCONFIG_H */ 256