glibconfig.h.win32.in 7.71 KB
Newer Older
1 2 3 4 5
/* glibconfig.h.win32.in. Originally merged from two versions of
 * glibconfig.h, generated by the GLib configure script, for gcc and
 * MSVC.
 */

6
/* glibconfig.h
7
 *
8
 * This is a generated file.  Please modify 'glibconfig.h.win32.in'
9
 */
10

11 12
#ifndef __G_LIBCONFIG_H__
#define __G_LIBCONFIG_H__
13

14
#include <glib/gmacros.h>
15

16 17 18
#include <limits.h>
#include <float.h>

19 20
G_BEGIN_DECLS

21 22 23 24 25 26
#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
Tor Lillqvist's avatar
Tor Lillqvist committed
27
#define G_MAXUSHORT	USHRT_MAX
28 29
#define G_MININT	INT_MIN
#define G_MAXINT	INT_MAX
Tor Lillqvist's avatar
Tor Lillqvist committed
30
#define G_MAXUINT	UINT_MAX
31 32
#define G_MINLONG	LONG_MIN
#define G_MAXLONG	LONG_MAX
Tor Lillqvist's avatar
Tor Lillqvist committed
33
#define G_MAXULONG	ULONG_MAX
34 35 36 37 38

typedef signed char gint8;
typedef unsigned char guint8;
typedef signed short gint16;
typedef unsigned short guint16;
39
#define G_GINT16_MODIFIER "h"
Tor Lillqvist's avatar
Tor Lillqvist committed
40 41
#define G_GINT16_FORMAT "hi"
#define G_GUINT16_FORMAT "hu"
42 43
typedef signed int gint32;
typedef unsigned int guint32;
44
#define G_GINT32_MODIFIER ""
Tor Lillqvist's avatar
Tor Lillqvist committed
45 46
#define G_GINT32_FORMAT "i"
#define G_GUINT32_FORMAT "u"
Tor Lillqvist's avatar
Typo.  
Tor Lillqvist committed
47
#define G_HAVE_GINT64 1          /* deprecated, always true */
48

49 50 51 52 53
#ifndef _MSC_VER
G_GNUC_EXTENSION typedef signed long long gint64;
G_GNUC_EXTENSION typedef unsigned long long guint64;
#else /* _MSC_VER */
typedef signed __int64 gint64;
54
typedef unsigned __int64 guint64;
55 56 57 58 59
#endif /* _MSC_VER */

#ifndef _MSC_VER
#define G_GINT64_CONSTANT(val)	(G_GNUC_EXTENSION (val##LL))
#else /* _MSC_VER */
60
#define G_GINT64_CONSTANT(val)	(val##i64)
61
#endif /* _MSC_VER */
Tor Lillqvist's avatar
Tor Lillqvist committed
62 63 64 65 66
#ifndef _MSC_VER
#define G_GUINT64_CONSTANT(val)	(G_GNUC_EXTENSION (val##ULL))
#else /* _MSC_VER */
#define G_GUINT64_CONSTANT(val)	(val##Ui64)
#endif /* _MSC_VER */
67 68 69
#define G_GINT64_MODIFIER "I64"
#define G_GINT64_FORMAT "I64i"
#define G_GUINT64_FORMAT "I64u"
70

Tor Lillqvist's avatar
Tor Lillqvist committed
71
#if defined(_WIN64) || defined(_M_X64) || defined(_M_AMD64)
72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88

#define GLIB_SIZEOF_VOID_P 8
#define GLIB_SIZEOF_LONG   4
#define GLIB_SIZEOF_SIZE_T 8

typedef signed long long gssize;
typedef unsigned long long gsize;
#define G_GSIZE_MODIFIER "I64"
#define G_GSSIZE_FORMAT "I64d"
#define G_GSIZE_FORMAT "I64u"

#define G_MAXSIZE	G_MAXUINT64
#define G_MINSSIZE	G_MININT64
#define G_MAXSSIZE	G_MAXINT64

#else

89 90
#define GLIB_SIZEOF_VOID_P 4
#define GLIB_SIZEOF_LONG   4
91
#define GLIB_SIZEOF_SIZE_T 4
92

93 94
typedef signed int gssize;
typedef unsigned int gsize;
95 96 97 98
#define G_GSIZE_MODIFIER ""
#define G_GSSIZE_FORMAT "i"
#define G_GSIZE_FORMAT "u"

99
#define G_MAXSIZE	G_MAXUINT
100 101 102
#define G_MINSSIZE	G_MININT
#define G_MAXSSIZE	G_MAXINT

103 104
#endif

105 106 107 108
typedef gint64 goffset;
#define G_MINOFFSET	G_MININT64
#define G_MAXOFFSET	G_MAXINT64

109 110 111 112 113
#define G_GOFFSET_MODIFIER      G_GINT64_MODIFIER
#define G_GOFFSET_FORMAT        G_GINT64_FORMAT
#define G_GOFFSET_CONSTANT(val) G_GINT64_CONSTANT(val)


114
#ifndef _WIN64
115

116 117
#define GPOINTER_TO_INT(p)	((gint)   (p))
#define GPOINTER_TO_UINT(p)	((guint)  (p))
118

119 120
#define GINT_TO_POINTER(i)	((gpointer)  (i))
#define GUINT_TO_POINTER(u)	((gpointer)  (u))
121

122 123
typedef signed int gintptr;
typedef unsigned int guintptr;
124

125 126 127 128
#define G_GINTPTR_MODIFIER      ""
#define G_GINTPTR_FORMAT        "i"
#define G_GUINTPTR_FORMAT       "u"

129
#else
130 131 132 133 134 135 136

#define GPOINTER_TO_INT(p)	((gint)  (gint64) (p))
#define GPOINTER_TO_UINT(p)	((guint) (guint64) (p))

#define GINT_TO_POINTER(i)	((gpointer) (gint64) (i))
#define GUINT_TO_POINTER(u)	((gpointer) (guint64) (u))

137 138 139 140 141 142 143
#ifndef _MSC_VER
typedef signed long long gintptr;
typedef unsigned long long guintptr;
#else
typedef signed __int64 gintptr;
typedef unsigned __int64 guintptr;
#endif
144

145 146 147 148
#define G_GINTPTR_MODIFIER      "I64"
#define G_GINTPTR_FORMAT        "I64i"
#define G_GUINTPTR_FORMAT       "I64u"

149 150
#endif

151 152 153 154 155
#ifdef NeXT /* @#%@! NeXTStep */
# define g_ATEXIT(proc)	(!atexit (proc))
#else
# define g_ATEXIT(proc)	(atexit (proc))
#endif
156

157
#define g_memmove(dest,src,len) G_STMT_START { memmove ((dest), (src), (len)); } G_STMT_END
158

159 160 161
#define GLIB_MAJOR_VERSION @GLIB_MAJOR_VERSION@
#define GLIB_MINOR_VERSION @GLIB_MINOR_VERSION@
#define GLIB_MICRO_VERSION @GLIB_MICRO_VERSION@
162

163
#define G_OS_WIN32
164
#define G_PLATFORM_WIN32
165
@GLIB_WIN32_STATIC_COMPILATION_DEFINE@
166

167 168 169
#ifndef _MSC_VER
#define G_VA_COPY	va_copy
#endif /* not _MSC_VER */
170

171 172 173
#ifdef	__cplusplus
#define	G_HAVE_INLINE	1
#else	/* !__cplusplus */
174 175 176
#ifndef _MSC_VER
#define G_HAVE_INLINE 1
#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 182
#endif	/* !__cplusplus */

183 184
#define G_CAN_INLINE	1

185
#ifndef _MSC_VER
186
#define G_HAVE_ISO_VARARGS 1
187

Tor Lillqvist's avatar
Tor Lillqvist committed
188 189 190 191 192 193 194 195
/* gcc-2.95.x supports both gnu style and ISO varargs, but if -ansi
 * is passed ISO vararg support is turned off, and there is no work
 * around to turn it on, so we unconditionally turn it off.
 */
#if __GNUC__ == 2 && __GNUC_MINOR__ == 95
#  undef G_HAVE_ISO_VARARGS
#endif

196
#define G_HAVE_GNUC_VARARGS 1
197 198 199 200 201
#else /* _MSC_VER */
/* varargs macros available since msvc8 (vs2005) */
#  if _MSC_VER >= 1400
#    define G_HAVE_ISO_VARARGS 1
#   endif
202
#endif /* not _MSC_VER */
203
#define G_HAVE_GROWING_STACK 0
204

205 206
#define G_GNUC_INTERNAL

207
#define G_THREADS_ENABLED
208 209 210
#define G_THREADS_IMPL_WIN32
typedef struct _GMutex* GStaticMutex;
#define G_STATIC_MUTEX_INIT NULL
211 212
#define g_static_mutex_get_mutex(mutex) \
  (g_static_mutex_get_mutex_impl_shortcut (mutex))
213 214 215 216 217 218 219
/* 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
{
220
#ifndef _WIN64
221
  char   data[4];
222 223 224
#else
  char   data[8];
#endif
225 226 227 228
  double dummy_double;
  void  *dummy_pointer;
  long   dummy_long;
};
229

230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249
#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))
250 251 252 253
#define GSIZE_TO_LE(val)	((gsize) GUINT32_TO_LE (val))
#define GSSIZE_TO_LE(val)	((gssize) GINT32_TO_LE (val))
#define GSIZE_TO_BE(val)	((gsize) GUINT32_TO_BE (val))
#define GSSIZE_TO_BE(val)	((gssize) GINT32_TO_BE (val))
254
#define G_BYTE_ORDER G_LITTLE_ENDIAN
255

256 257 258 259
#define GLIB_SYSDEF_POLLIN =1
#define GLIB_SYSDEF_POLLOUT =4
#define GLIB_SYSDEF_POLLPRI =2
#define GLIB_SYSDEF_POLLHUP =16
260
#define GLIB_SYSDEF_POLLERR =8
261
#define GLIB_SYSDEF_POLLNVAL =32
262

263
#define G_MODULE_SUFFIX "dll"
264

Tor Lillqvist's avatar
Tor Lillqvist committed
265 266 267 268 269 270
/* A GPid is an abstraction for a process "handle". It is *not* an
 * abstraction for a process identifier in general. GPid is used in
 * GLib only for descendant processes spawned with the g_spawn*
 * functions. On POSIX there is no "process handle" concept as such,
 * but on Windows a GPid is a handle to a process, a kind of pointer,
 * not a process identifier.
271
 */
272
typedef void * GPid;
273

Hans Breuer's avatar
Hans Breuer committed
274
#define GLIB_SYSDEF_AF_UNIX 1
275 276 277
#define GLIB_SYSDEF_AF_INET 2
#define GLIB_SYSDEF_AF_INET6 23

Hans Breuer's avatar
Hans Breuer committed
278 279 280 281
#define GLIB_SYSDEF_MSG_OOB       1
#define GLIB_SYSDEF_MSG_PEEK      2
#define GLIB_SYSDEF_MSG_DONTROUTE 4

282
G_END_DECLS
283

284
#endif /* GLIBCONFIG_H */