ab7e68d04db209de8e44e13b8364a8eba01415c3
[platform/upstream/glib.git] / glib / glibconfig.h.win32.in
1 /* glibconfig.h.win32.in. Originally merged from two versions of
2  * glibconfig.h, generated by the GLib configure script, for gcc and
3  * MSVC.
4  */
5
6 /* glibconfig.h
7  *
8  * This is a generated file.  Please modify 'glibconfig.h.win32.in'
9  */
10
11 #ifndef __G_LIBCONFIG_H__
12 #define __G_LIBCONFIG_H__
13
14 #include <glib/gmacros.h>
15
16 #include <limits.h>
17 #include <float.h>
18
19 G_BEGIN_DECLS
20
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
34
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 */
48
49 #ifndef _MSC_VER
50 G_GNUC_EXTENSION typedef signed long long gint64;
51 G_GNUC_EXTENSION typedef unsigned long long guint64;
52 #else /* _MSC_VER */
53 typedef signed __int64 gint64;
54 typedef unsigned __int64 guint64;
55 #endif /* _MSC_VER */
56
57 #ifndef _MSC_VER
58 #define G_GINT64_CONSTANT(val)  (G_GNUC_EXTENSION (val##LL))
59 #else /* _MSC_VER */
60 #define G_GINT64_CONSTANT(val)  (val##i64)
61 #endif /* _MSC_VER */
62 #ifndef _MSC_VER
63 #define G_GUINT64_CONSTANT(val) (G_GNUC_EXTENSION (val##ULL))
64 #else /* _MSC_VER */
65 #define G_GUINT64_CONSTANT(val) (val##Ui64)
66 #endif /* _MSC_VER */
67 #define G_GINT64_MODIFIER "I64"
68 #define G_GINT64_FORMAT "I64i"
69 #define G_GUINT64_FORMAT "I64u"
70
71 #if defined(_WIN64) || defined(_M_X64) || defined(_M_AMD64)
72
73 #define GLIB_SIZEOF_VOID_P 8
74 #define GLIB_SIZEOF_LONG   4
75 #define GLIB_SIZEOF_SIZE_T 8
76
77 typedef signed long long gssize;
78 typedef unsigned long long gsize;
79 #define G_GSIZE_MODIFIER "I64"
80 #define G_GSSIZE_MODIFIER "I64"
81 #define G_GSIZE_FORMAT "I64u"
82 #define G_GSSIZE_FORMAT "I64d"
83
84 #define G_MAXSIZE       G_MAXUINT64
85 #define G_MINSSIZE      G_MININT64
86 #define G_MAXSSIZE      G_MAXINT64
87
88 #else
89
90 #define GLIB_SIZEOF_VOID_P 4
91 #define GLIB_SIZEOF_LONG   4
92 #define GLIB_SIZEOF_SIZE_T 4
93
94 typedef signed int gssize;
95 typedef unsigned int gsize;
96 #define G_GSIZE_MODIFIER ""
97 #define G_GSSIZE_MODIFIER ""
98 #define G_GSIZE_FORMAT "u"
99 #define G_GSSIZE_FORMAT "i"
100
101 #define G_MAXSIZE       G_MAXUINT
102 #define G_MINSSIZE      G_MININT
103 #define G_MAXSSIZE      G_MAXINT
104
105 #endif
106
107 typedef gint64 goffset;
108 #define G_MINOFFSET     G_MININT64
109 #define G_MAXOFFSET     G_MAXINT64
110
111 #define G_GOFFSET_MODIFIER      G_GINT64_MODIFIER
112 #define G_GOFFSET_FORMAT        G_GINT64_FORMAT
113 #define G_GOFFSET_CONSTANT(val) G_GINT64_CONSTANT(val)
114
115
116 #ifndef _WIN64
117
118 #define G_POLLFD_FORMAT "%#x"
119
120 #define GPOINTER_TO_INT(p)      ((gint)   (p))
121 #define GPOINTER_TO_UINT(p)     ((guint)  (p))
122
123 #define GINT_TO_POINTER(i)      ((gpointer)  (i))
124 #define GUINT_TO_POINTER(u)     ((gpointer)  (u))
125
126 typedef signed int gintptr;
127 typedef unsigned int guintptr;
128
129 #define G_GINTPTR_MODIFIER      ""
130 #define G_GINTPTR_FORMAT        "i"
131 #define G_GUINTPTR_FORMAT       "u"
132
133 #else
134
135 #define G_POLLFD_FORMAT "%#I64x"
136
137 #define GPOINTER_TO_INT(p)      ((gint)  (gint64) (p))
138 #define GPOINTER_TO_UINT(p)     ((guint) (guint64) (p))
139
140 #define GINT_TO_POINTER(i)      ((gpointer) (gint64) (i))
141 #define GUINT_TO_POINTER(u)     ((gpointer) (guint64) (u))
142
143 #ifndef _MSC_VER
144 typedef signed long long gintptr;
145 typedef unsigned long long guintptr;
146 #else
147 typedef signed __int64 gintptr;
148 typedef unsigned __int64 guintptr;
149 #endif
150
151 #define G_GINTPTR_MODIFIER      "I64"
152 #define G_GINTPTR_FORMAT        "I64i"
153 #define G_GUINTPTR_FORMAT       "I64u"
154
155 #endif
156
157 #ifndef G_DISABLE_DEPRECATED
158 #define g_ATEXIT(proc)  (atexit (proc))
159
160 #define g_memmove(dest,src,len) G_STMT_START { memmove ((dest), (src), (len)); } G_STMT_END
161 #endif
162
163 #define GLIB_MAJOR_VERSION @GLIB_MAJOR_VERSION@
164 #define GLIB_MINOR_VERSION @GLIB_MINOR_VERSION@
165 #define GLIB_MICRO_VERSION @GLIB_MICRO_VERSION@
166
167 #define G_OS_WIN32
168 #define G_PLATFORM_WIN32
169 @GLIB_WIN32_STATIC_COMPILATION_DEFINE@
170
171 #ifndef _MSC_VER
172 #define G_VA_COPY       va_copy
173 #endif /* not _MSC_VER */
174
175 #ifndef _MSC_VER
176 #define G_HAVE_ISO_VARARGS 1
177
178 /* gcc-2.95.x supports both gnu style and ISO varargs, but if -ansi
179  * is passed ISO vararg support is turned off, and there is no work
180  * around to turn it on, so we unconditionally turn it off.
181  */
182 #if __GNUC__ == 2 && __GNUC_MINOR__ == 95
183 #  undef G_HAVE_ISO_VARARGS
184 #endif
185
186 #define G_HAVE_GNUC_VARARGS 1
187 #else /* _MSC_VER */
188 /* varargs macros available since msvc8 (vs2005) */
189 #  if _MSC_VER >= 1400
190 #    define G_HAVE_ISO_VARARGS 1
191 #   endif
192 #endif /* not _MSC_VER */
193 #define G_HAVE_GROWING_STACK 0
194
195 #define G_GNUC_INTERNAL
196
197 #define G_THREADS_ENABLED
198 #define G_THREADS_IMPL_WIN32
199
200 #define G_ATOMIC_LOCK_FREE
201
202 #define GINT16_TO_LE(val)       ((gint16) (val))
203 #define GUINT16_TO_LE(val)      ((guint16) (val))
204 #define GINT16_TO_BE(val)       ((gint16) GUINT16_SWAP_LE_BE (val))
205 #define GUINT16_TO_BE(val)      (GUINT16_SWAP_LE_BE (val))
206 #define GINT32_TO_LE(val)       ((gint32) (val))
207 #define GUINT32_TO_LE(val)      ((guint32) (val))
208 #define GINT32_TO_BE(val)       ((gint32) GUINT32_SWAP_LE_BE (val))
209 #define GUINT32_TO_BE(val)      (GUINT32_SWAP_LE_BE (val))
210 #define GINT64_TO_LE(val)       ((gint64) (val))
211 #define GUINT64_TO_LE(val)      ((guint64) (val))
212 #define GINT64_TO_BE(val)       ((gint64) GUINT64_SWAP_LE_BE (val))
213 #define GUINT64_TO_BE(val)      (GUINT64_SWAP_LE_BE (val))
214 #define GLONG_TO_LE(val)        ((glong) GINT32_TO_LE (val))
215 #define GULONG_TO_LE(val)       ((gulong) GUINT32_TO_LE (val))
216 #define GLONG_TO_BE(val)        ((glong) GINT32_TO_BE (val))
217 #define GULONG_TO_BE(val)       ((gulong) GUINT32_TO_BE (val))
218 #define GINT_TO_LE(val)         ((gint) GINT32_TO_LE (val))
219 #define GUINT_TO_LE(val)        ((guint) GUINT32_TO_LE (val))
220 #define GINT_TO_BE(val)         ((gint) GINT32_TO_BE (val))
221 #define GUINT_TO_BE(val)        ((guint) GUINT32_TO_BE (val))
222 #define GSIZE_TO_LE(val)        ((gsize) GUINT32_TO_LE (val))
223 #define GSSIZE_TO_LE(val)       ((gssize) GINT32_TO_LE (val))
224 #define GSIZE_TO_BE(val)        ((gsize) GUINT32_TO_BE (val))
225 #define GSSIZE_TO_BE(val)       ((gssize) GINT32_TO_BE (val))
226 #define G_BYTE_ORDER G_LITTLE_ENDIAN
227
228 #define GLIB_SYSDEF_POLLIN =1
229 #define GLIB_SYSDEF_POLLOUT =4
230 #define GLIB_SYSDEF_POLLPRI =2
231 #define GLIB_SYSDEF_POLLHUP =16
232 #define GLIB_SYSDEF_POLLERR =8
233 #define GLIB_SYSDEF_POLLNVAL =32
234
235 #define G_MODULE_SUFFIX "dll"
236
237 /* A GPid is an abstraction for a process "handle". It is *not* an
238  * abstraction for a process identifier in general. GPid is used in
239  * GLib only for descendant processes spawned with the g_spawn*
240  * functions. On POSIX there is no "process handle" concept as such,
241  * but on Windows a GPid is a handle to a process, a kind of pointer,
242  * not a process identifier.
243  */
244 typedef void * GPid;
245 #define G_PID_FORMAT "p"
246
247 #define GLIB_SYSDEF_AF_UNIX 1
248 #define GLIB_SYSDEF_AF_INET 2
249 #define GLIB_SYSDEF_AF_INET6 23
250
251 #define GLIB_SYSDEF_MSG_OOB       1
252 #define GLIB_SYSDEF_MSG_PEEK      2
253 #define GLIB_SYSDEF_MSG_DONTROUTE 4
254
255 G_END_DECLS
256
257 #endif /* GLIBCONFIG_H */