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