1 /* glibconfig.h.win32.in. Originally merged from two versions of
2 * glibconfig.h, generated by the GLib configure script, for gcc and
8 * This is a generated file. Please modify 'glibconfig.h.win32.in'
11 #ifndef __G_LIBCONFIG_H__
12 #define __G_LIBCONFIG_H__
14 #include <glib/gmacros.h>
21 #define G_MINFLOAT FLT_MIN
22 #define G_MAXFLOAT FLT_MAX
23 #define G_MINDOUBLE DBL_MIN
24 #define G_MAXDOUBLE DBL_MAX
25 #define G_MINSHORT SHRT_MIN
26 #define G_MAXSHORT SHRT_MAX
27 #define G_MAXUSHORT USHRT_MAX
28 #define G_MININT INT_MIN
29 #define G_MAXINT INT_MAX
30 #define G_MAXUINT UINT_MAX
31 #define G_MINLONG LONG_MIN
32 #define G_MAXLONG LONG_MAX
33 #define G_MAXULONG ULONG_MAX
35 typedef signed char gint8;
36 typedef unsigned char guint8;
37 typedef signed short gint16;
38 typedef unsigned short guint16;
39 #define G_GINT16_MODIFIER "h"
40 #define G_GINT16_FORMAT "hi"
41 #define G_GUINT16_FORMAT "hu"
42 typedef signed int gint32;
43 typedef unsigned int guint32;
44 #define G_GINT32_MODIFIER ""
45 #define G_GINT32_FORMAT "i"
46 #define G_GUINT32_FORMAT "u"
47 #define G_HAVE_GINT64 1 /* deprecated, always true */
50 G_GNUC_EXTENSION typedef signed long long gint64;
51 G_GNUC_EXTENSION typedef unsigned long long guint64;
53 typedef signed __int64 gint64;
54 typedef unsigned __int64 guint64;
58 #define G_GINT64_CONSTANT(val) (G_GNUC_EXTENSION (val##LL))
60 #define G_GINT64_CONSTANT(val) (val##i64)
63 #define G_GUINT64_CONSTANT(val) (G_GNUC_EXTENSION (val##ULL))
65 #define G_GUINT64_CONSTANT(val) (val##Ui64)
67 #define G_GINT64_MODIFIER "I64"
68 #define G_GINT64_FORMAT "I64i"
69 #define G_GUINT64_FORMAT "I64u"
71 #if defined(_WIN64) || defined(_M_X64) || defined(_M_AMD64)
73 #define GLIB_SIZEOF_VOID_P 8
74 #define GLIB_SIZEOF_LONG 4
75 #define GLIB_SIZEOF_SIZE_T 8
77 typedef signed long long gssize;
78 typedef unsigned long long gsize;
79 #define G_GSIZE_MODIFIER "I64"
80 #define G_GSSIZE_FORMAT "I64d"
81 #define G_GSIZE_FORMAT "I64u"
83 #define G_MAXSIZE G_MAXUINT64
84 #define G_MINSSIZE G_MININT64
85 #define G_MAXSSIZE G_MAXINT64
89 #define GLIB_SIZEOF_VOID_P 4
90 #define GLIB_SIZEOF_LONG 4
91 #define GLIB_SIZEOF_SIZE_T 4
93 typedef signed int gssize;
94 typedef unsigned int gsize;
95 #define G_GSIZE_MODIFIER ""
96 #define G_GSSIZE_FORMAT "i"
97 #define G_GSIZE_FORMAT "u"
99 #define G_MAXSIZE G_MAXUINT
100 #define G_MINSSIZE G_MININT
101 #define G_MAXSSIZE G_MAXINT
105 typedef gint64 goffset;
106 #define G_MINOFFSET G_MININT64
107 #define G_MAXOFFSET G_MAXINT64
109 #define G_GOFFSET_MODIFIER G_GINT64_MODIFIER
110 #define G_GOFFSET_FORMAT G_GINT64_FORMAT
111 #define G_GOFFSET_CONSTANT(val) G_GINT64_CONSTANT(val)
116 #define GPOINTER_TO_INT(p) ((gint) (p))
117 #define GPOINTER_TO_UINT(p) ((guint) (p))
119 #define GINT_TO_POINTER(i) ((gpointer) (i))
120 #define GUINT_TO_POINTER(u) ((gpointer) (u))
122 typedef signed int gintptr;
123 typedef unsigned int guintptr;
125 #define G_GINTPTR_MODIFIER ""
126 #define G_GINTPTR_FORMAT "i"
127 #define G_GUINTPTR_FORMAT "u"
131 #define GPOINTER_TO_INT(p) ((gint) (gint64) (p))
132 #define GPOINTER_TO_UINT(p) ((guint) (guint64) (p))
134 #define GINT_TO_POINTER(i) ((gpointer) (gint64) (i))
135 #define GUINT_TO_POINTER(u) ((gpointer) (guint64) (u))
138 typedef signed long long gintptr;
139 typedef unsigned long long guintptr;
141 typedef signed __int64 gintptr;
142 typedef unsigned __int64 guintptr;
145 #define G_GINTPTR_MODIFIER "I64"
146 #define G_GINTPTR_FORMAT "I64i"
147 #define G_GUINTPTR_FORMAT "I64u"
151 #ifdef NeXT /* @#%@! NeXTStep */
152 # define g_ATEXIT(proc) (!atexit (proc))
154 # define g_ATEXIT(proc) (atexit (proc))
157 #define g_memmove(dest,src,len) G_STMT_START { memmove ((dest), (src), (len)); } G_STMT_END
159 #define GLIB_MAJOR_VERSION @GLIB_MAJOR_VERSION@
160 #define GLIB_MINOR_VERSION @GLIB_MINOR_VERSION@
161 #define GLIB_MICRO_VERSION @GLIB_MICRO_VERSION@
164 #define G_PLATFORM_WIN32
165 @GLIB_WIN32_STATIC_COMPILATION_DEFINE@
168 #define G_VA_COPY va_copy
169 #endif /* not _MSC_VER */
172 #define G_HAVE_INLINE 1
173 #else /* !__cplusplus */
175 #define G_HAVE_INLINE 1
176 #endif /* _MSC_VER */
177 #define G_HAVE___INLINE 1
178 #if !defined(_MSC_VER) && !defined(__DMC__)
179 #define G_HAVE___INLINE__ 1
180 #endif /* !_MSC_VER and !__DMC__ */
181 #endif /* !__cplusplus */
183 #define G_CAN_INLINE 1
186 #define G_HAVE_ISO_VARARGS 1
188 /* gcc-2.95.x supports both gnu style and ISO varargs, but if -ansi
189 * is passed ISO vararg support is turned off, and there is no work
190 * around to turn it on, so we unconditionally turn it off.
192 #if __GNUC__ == 2 && __GNUC_MINOR__ == 95
193 # undef G_HAVE_ISO_VARARGS
196 #define G_HAVE_GNUC_VARARGS 1
198 /* varargs macros available since msvc8 (vs2005) */
199 # if _MSC_VER >= 1400
200 # define G_HAVE_ISO_VARARGS 1
202 #endif /* not _MSC_VER */
203 #define G_HAVE_GROWING_STACK 0
205 #define G_GNUC_INTERNAL
207 #define G_THREADS_ENABLED
208 #define G_THREADS_IMPL_WIN32
209 typedef struct _GMutex* GStaticMutex;
210 #define G_STATIC_MUTEX_INIT NULL
211 #define g_static_mutex_get_mutex(mutex) \
212 (g_static_mutex_get_mutex_impl_shortcut (mutex))
213 /* This represents a system thread as used by the implementation. An
214 * alien implementaion, as loaded by g_thread_init can only count on
215 * "sizeof (gpointer)" bytes to store their info. We however need more
216 * for some of our native implementations. */
217 typedef union _GSystemThread GSystemThread;
230 #define GINT16_TO_LE(val) ((gint16) (val))
231 #define GUINT16_TO_LE(val) ((guint16) (val))
232 #define GINT16_TO_BE(val) ((gint16) GUINT16_SWAP_LE_BE (val))
233 #define GUINT16_TO_BE(val) (GUINT16_SWAP_LE_BE (val))
234 #define GINT32_TO_LE(val) ((gint32) (val))
235 #define GUINT32_TO_LE(val) ((guint32) (val))
236 #define GINT32_TO_BE(val) ((gint32) GUINT32_SWAP_LE_BE (val))
237 #define GUINT32_TO_BE(val) (GUINT32_SWAP_LE_BE (val))
238 #define GINT64_TO_LE(val) ((gint64) (val))
239 #define GUINT64_TO_LE(val) ((guint64) (val))
240 #define GINT64_TO_BE(val) ((gint64) GUINT64_SWAP_LE_BE (val))
241 #define GUINT64_TO_BE(val) (GUINT64_SWAP_LE_BE (val))
242 #define GLONG_TO_LE(val) ((glong) GINT32_TO_LE (val))
243 #define GULONG_TO_LE(val) ((gulong) GUINT32_TO_LE (val))
244 #define GLONG_TO_BE(val) ((glong) GINT32_TO_BE (val))
245 #define GULONG_TO_BE(val) ((gulong) GUINT32_TO_BE (val))
246 #define GINT_TO_LE(val) ((gint) GINT32_TO_LE (val))
247 #define GUINT_TO_LE(val) ((guint) GUINT32_TO_LE (val))
248 #define GINT_TO_BE(val) ((gint) GINT32_TO_BE (val))
249 #define GUINT_TO_BE(val) ((guint) GUINT32_TO_BE (val))
250 #define GSIZE_TO_LE(val) ((gsize) GUINT32_TO_LE (val))
251 #define GSSIZE_TO_LE(val) ((gssize) GINT32_TO_LE (val))
252 #define GSIZE_TO_BE(val) ((gsize) GUINT32_TO_BE (val))
253 #define GSSIZE_TO_BE(val) ((gssize) GINT32_TO_BE (val))
254 #define G_BYTE_ORDER G_LITTLE_ENDIAN
256 #define GLIB_SYSDEF_POLLIN =1
257 #define GLIB_SYSDEF_POLLOUT =4
258 #define GLIB_SYSDEF_POLLPRI =2
259 #define GLIB_SYSDEF_POLLHUP =16
260 #define GLIB_SYSDEF_POLLERR =8
261 #define GLIB_SYSDEF_POLLNVAL =32
263 #define G_MODULE_SUFFIX "dll"
265 /* A GPid is an abstraction for a process "handle". It is *not* an
266 * abstraction for a process identifier in general. GPid is used in
267 * GLib only for descendant processes spawned with the g_spawn*
268 * functions. On POSIX there is no "process handle" concept as such,
269 * but on Windows a GPid is a handle to a process, a kind of pointer,
270 * not a process identifier.
274 #define GLIB_SYSDEF_AF_UNIX 1
275 #define GLIB_SYSDEF_AF_INET 2
276 #define GLIB_SYSDEF_AF_INET6 23
278 #define GLIB_SYSDEF_MSG_OOB 1
279 #define GLIB_SYSDEF_MSG_PEEK 2
280 #define GLIB_SYSDEF_MSG_DONTROUTE 4
284 #endif /* GLIBCONFIG_H */