14 <NAME>g_error_new</NAME>
15 <RETURNS>GError *</RETURNS>
16 GQuark domain,gint code,const gchar *format,...
19 <NAME>g_error_new_literal</NAME>
20 <RETURNS>GError *</RETURNS>
21 GQuark domain,gint code,const gchar *message
24 <NAME>g_error_free</NAME>
25 <RETURNS>void </RETURNS>
29 <NAME>g_error_copy</NAME>
30 <RETURNS>GError *</RETURNS>
34 <NAME>g_error_matches</NAME>
35 <RETURNS>gboolean </RETURNS>
36 const GError *error,GQuark domain,gint code
39 <NAME>g_set_error</NAME>
40 <RETURNS>void </RETURNS>
41 GError **err,GQuark domain,gint code,const gchar *format,...
44 <NAME>g_propagate_error</NAME>
45 <RETURNS>void </RETURNS>
46 GError **dest,GError *src
49 <NAME>g_clear_error</NAME>
50 <RETURNS>void </RETURNS>
54 <NAME>G_GNUC_EXTENSION</NAME>
55 # define G_GNUC_EXTENSION __extension__
58 <NAME>G_GNUC_EXTENSION</NAME>
59 # define G_GNUC_EXTENSION
63 #define G_E 2.7182818284590452354E0
67 #define G_LN2 6.9314718055994530942E-1
71 #define G_LN10 2.3025850929940456840E0
75 #define G_PI 3.14159265358979323846E0
79 #define G_PI_2 1.57079632679489661923E0
83 #define G_PI_4 0.78539816339744830962E0
87 #define G_SQRT2 1.4142135623730950488E0
90 <NAME>G_DIR_SEPARATOR</NAME>
91 #define G_DIR_SEPARATOR '\\'
94 <NAME>G_DIR_SEPARATOR_S</NAME>
95 #define G_DIR_SEPARATOR_S "\\"
98 <NAME>G_SEARCHPATH_SEPARATOR</NAME>
99 #define G_SEARCHPATH_SEPARATOR ';'
102 <NAME>G_SEARCHPATH_SEPARATOR_S</NAME>
103 #define G_SEARCHPATH_SEPARATOR_S ";"
106 <NAME>G_DIR_SEPARATOR</NAME>
107 #define G_DIR_SEPARATOR '/'
110 <NAME>G_DIR_SEPARATOR_S</NAME>
111 #define G_DIR_SEPARATOR_S "/"
114 <NAME>G_SEARCHPATH_SEPARATOR</NAME>
115 #define G_SEARCHPATH_SEPARATOR ':'
118 <NAME>G_SEARCHPATH_SEPARATOR_S</NAME>
119 #define G_SEARCHPATH_SEPARATOR_S ":"
127 # define NULL ((void*) 0)
135 #define TRUE (!FALSE)
139 #define MAX(a, b) (((a) > (b)) ? (a) : (b))
143 #define MIN(a, b) (((a) < (b)) ? (a) : (b))
147 #define ABS(a) (((a) < 0) ? -(a) : (a))
151 #define CLAMP(x, low, high) (((x) > (high)) ? (high) : (((x) < (low)) ? (low) : (x)))
154 <NAME>G_STRINGIFY</NAME>
155 #define G_STRINGIFY(macro_or_string) G_STRINGIFY_ARG (macro_or_string)
158 <NAME>G_STRINGIFY_ARG</NAME>
159 #define G_STRINGIFY_ARG(contents) #contents
162 <NAME>G_STRLOC</NAME>
163 # define G_STRLOC __FILE__ ":" G_STRINGIFY (__LINE__) ":" __PRETTY_FUNCTION__ "()"
166 <NAME>G_STRLOC</NAME>
167 # define G_STRLOC __FILE__ ":" G_STRINGIFY (__LINE__)
170 <NAME>G_N_ELEMENTS</NAME>
171 #define G_N_ELEMENTS(arr) (sizeof (arr) / sizeof ((arr)[0]))
174 <NAME>G_VA_COPY</NAME>
175 # define G_VA_COPY(ap1, ap2) (*(ap1) = *(ap2))
178 <NAME>G_VA_COPY</NAME>
179 # define G_VA_COPY(ap1, ap2) g_memmove ((ap1), (ap2), sizeof (va_list))
182 <NAME>G_VA_COPY</NAME>
183 # define G_VA_COPY(ap1, ap2) ((ap1) = (ap2))
186 <NAME>G_STRUCT_OFFSET</NAME>
187 #define G_STRUCT_OFFSET(struct_type, member) \
188 ((glong) ((guint8*) &((struct_type*) 0)->member))
191 <NAME>G_STRUCT_MEMBER_P</NAME>
192 #define G_STRUCT_MEMBER_P(struct_p, struct_offset) \
193 ((gpointer) ((guint8*) (struct_p) + (glong) (struct_offset)))
196 <NAME>G_STRUCT_MEMBER</NAME>
197 #define G_STRUCT_MEMBER(member_type, struct_p, struct_offset) \
198 (*(member_type*) G_STRUCT_MEMBER_P ((struct_p), (struct_offset)))
201 <NAME>G_CAN_INLINE</NAME>
202 # define G_CAN_INLINE 1
206 # define inline __inline__
210 # define inline __inline__
214 # define inline __inline
218 # define inline /* don't inline, then */
221 <NAME>G_INLINE_FUNC</NAME>
222 # define G_INLINE_FUNC extern inline
225 <NAME>G_INLINE_FUNC</NAME>
226 # define G_INLINE_FUNC extern
229 <NAME>G_INLINE_FUNC</NAME>
230 # define G_INLINE_FUNC static inline
233 <NAME>G_INLINE_FUNC</NAME>
234 # define G_INLINE_FUNC extern
237 <NAME>G_STMT_START</NAME>
238 # define G_STMT_START (void)(
241 <NAME>G_STMT_END</NAME>
242 # define G_STMT_END )
245 <NAME>G_STMT_START</NAME>
246 # define G_STMT_START if (1)
249 <NAME>G_STMT_END</NAME>
250 # define G_STMT_END else (void)0
253 <NAME>G_STMT_START</NAME>
254 # define G_STMT_START do
257 <NAME>G_STMT_END</NAME>
258 # define G_STMT_END while (0)
261 <NAME>G_GNUC_PRINTF</NAME>
262 #define G_GNUC_PRINTF( format_idx, arg_idx ) \
263 __attribute__((format (printf, format_idx, arg_idx)))
266 <NAME>G_GNUC_SCANF</NAME>
267 #define G_GNUC_SCANF( format_idx, arg_idx ) \
268 __attribute__((format (scanf, format_idx, arg_idx)))
271 <NAME>G_GNUC_FORMAT</NAME>
272 #define G_GNUC_FORMAT( arg_idx ) \
273 __attribute__((format_arg (arg_idx)))
276 <NAME>G_GNUC_NORETURN</NAME>
277 #define G_GNUC_NORETURN \
278 __attribute__((noreturn))
281 <NAME>G_GNUC_CONST</NAME>
282 #define G_GNUC_CONST \
283 __attribute__((const))
286 <NAME>G_GNUC_UNUSED</NAME>
287 #define G_GNUC_UNUSED \
288 __attribute__((unused))
291 <NAME>G_GNUC_PRINTF</NAME>
292 #define G_GNUC_PRINTF( format_idx, arg_idx )
295 <NAME>G_GNUC_SCANF</NAME>
296 #define G_GNUC_SCANF( format_idx, arg_idx )
299 <NAME>G_GNUC_FORMAT</NAME>
300 #define G_GNUC_FORMAT( arg_idx )
303 <NAME>G_GNUC_NORETURN</NAME>
304 #define G_GNUC_NORETURN
307 <NAME>G_GNUC_CONST</NAME>
311 <NAME>G_GNUC_UNUSED</NAME>
312 #define G_GNUC_UNUSED
315 <NAME>G_GNUC_FUNCTION</NAME>
316 #define G_GNUC_FUNCTION __FUNCTION__
319 <NAME>G_GNUC_PRETTY_FUNCTION</NAME>
320 #define G_GNUC_PRETTY_FUNCTION __PRETTY_FUNCTION__
323 <NAME>G_GNUC_FUNCTION</NAME>
324 #define G_GNUC_FUNCTION ""
327 <NAME>G_GNUC_PRETTY_FUNCTION</NAME>
328 #define G_GNUC_PRETTY_FUNCTION ""
332 # define ATEXIT(proc) g_ATEXIT(proc)
335 <NAME>G_NATIVE_ATEXIT</NAME>
336 # define G_NATIVE_ATEXIT
339 <NAME>G_BREAKPOINT</NAME>
340 #define G_BREAKPOINT() G_STMT_START{ __asm__ __volatile__ ("int $03"); }G_STMT_END
343 <NAME>G_BREAKPOINT</NAME>
344 #define G_BREAKPOINT() G_STMT_START{ __asm__ __volatile__ ("bpt"); }G_STMT_END
347 <NAME>G_BREAKPOINT</NAME>
348 #define G_BREAKPOINT()
352 # define g_new(type, count) (ALLOC (type, count))
356 # define g_new0(type, count) (CALLOC (type, count))
360 # define g_renew(type, mem, count) (REALLOC (mem, type, count))
364 # define g_new(type, count) \
365 ((type *) g_malloc ((unsigned) sizeof (type) * (count)))
369 # define g_new0(type, count) \
370 ((type *) g_malloc0 ((unsigned) sizeof (type) * (count)))
374 # define g_renew(type, mem, count) \
375 ((type *) g_realloc (mem, (unsigned) sizeof (type) * (count)))
378 <NAME>g_mem_chunk_create</NAME>
379 #define g_mem_chunk_create(type, pre_alloc, alloc_type) ( \
380 g_mem_chunk_new (#type " mem chunks (" #pre_alloc ")", \
382 sizeof (type) * (pre_alloc), \
387 <NAME>g_chunk_new</NAME>
388 #define g_chunk_new(type, chunk) ( \
389 (type *) g_mem_chunk_alloc (chunk) \
393 <NAME>g_chunk_new0</NAME>
394 #define g_chunk_new0(type, chunk) ( \
395 (type *) g_mem_chunk_alloc0 (chunk) \
399 <NAME>g_chunk_free</NAME>
400 #define g_chunk_free(mem, mem_chunk) G_STMT_START { \
401 g_mem_chunk_free ((mem_chunk), (mem)); \
405 <NAME>g_assert</NAME>
406 #define g_assert(expr)
409 <NAME>g_assert_not_reached</NAME>
410 #define g_assert_not_reached()
413 <NAME>g_assert</NAME>
414 #define g_assert(expr) G_STMT_START{ \
416 g_log (G_LOG_DOMAIN, \
418 "file %s: line %d (%s): assertion failed: (%s)", \
421 __PRETTY_FUNCTION__, \
425 <NAME>g_assert_not_reached</NAME>
426 #define g_assert_not_reached() G_STMT_START{ \
427 g_log (G_LOG_DOMAIN, \
429 "file %s: line %d (%s): should not be reached", \
432 __PRETTY_FUNCTION__); }G_STMT_END
435 <NAME>g_assert</NAME>
436 #define g_assert(expr) G_STMT_START{ \
438 g_log (G_LOG_DOMAIN, \
440 "file %s: line %d: assertion failed: (%s)", \
446 <NAME>g_assert_not_reached</NAME>
447 #define g_assert_not_reached() G_STMT_START{ \
448 g_log (G_LOG_DOMAIN, \
450 "file %s: line %d: should not be reached", \
452 __LINE__); }G_STMT_END
455 <NAME>g_return_if_fail</NAME>
456 #define g_return_if_fail(expr)
459 <NAME>g_return_val_if_fail</NAME>
460 #define g_return_val_if_fail(expr,val)
463 <NAME>g_return_if_reached</NAME>
464 #define g_return_if_reached() return
467 <NAME>g_return_val_if_reached</NAME>
468 #define g_return_val_if_reached(val) return (val)
471 <NAME>g_return_if_fail</NAME>
472 #define g_return_if_fail(expr) G_STMT_START{ \
475 g_log (G_LOG_DOMAIN, \
476 G_LOG_LEVEL_CRITICAL, \
477 "file %s: line %d (%s): assertion `%s' failed", \
480 __PRETTY_FUNCTION__, \
486 <NAME>g_return_val_if_fail</NAME>
487 #define g_return_val_if_fail(expr,val) G_STMT_START{ \
490 g_log (G_LOG_DOMAIN, \
491 G_LOG_LEVEL_CRITICAL, \
492 "file %s: line %d (%s): assertion `%s' failed", \
495 __PRETTY_FUNCTION__, \
501 <NAME>g_return_if_reached</NAME>
502 #define g_return_if_reached() G_STMT_START{ \
503 g_log (G_LOG_DOMAIN, \
504 G_LOG_LEVEL_CRITICAL, \
505 "file %s: line %d (%s): should not be reached", \
508 __PRETTY_FUNCTION__); \
512 <NAME>g_return_val_if_reached</NAME>
513 #define g_return_val_if_reached(val) G_STMT_START{ \
514 g_log (G_LOG_DOMAIN, \
515 G_LOG_LEVEL_CRITICAL, \
516 "file %s: line %d (%s): should not be reached", \
519 __PRETTY_FUNCTION__); \
520 return (val); }G_STMT_END
523 <NAME>g_return_if_fail</NAME>
524 #define g_return_if_fail(expr) G_STMT_START{ \
527 g_log (G_LOG_DOMAIN, \
528 G_LOG_LEVEL_CRITICAL, \
529 "file %s: line %d: assertion `%s' failed", \
537 <NAME>g_return_val_if_fail</NAME>
538 #define g_return_val_if_fail(expr, val) G_STMT_START{ \
541 g_log (G_LOG_DOMAIN, \
542 G_LOG_LEVEL_CRITICAL, \
543 "file %s: line %d: assertion `%s' failed", \
551 <NAME>g_return_if_reached</NAME>
552 #define g_return_if_reached() G_STMT_START{ \
553 g_log (G_LOG_DOMAIN, \
554 G_LOG_LEVEL_CRITICAL, \
555 "file %s: line %d: should not be reached", \
561 <NAME>g_return_val_if_reached</NAME>
562 #define g_return_val_if_reached(val) G_STMT_START{ \
563 g_log (G_LOG_DOMAIN, \
564 G_LOG_LEVEL_CRITICAL, \
565 "file %s: line %d: should not be reached", \
568 return (val); }G_STMT_END
576 typedef short gshort;
587 <NAME>gboolean</NAME>
588 typedef gint gboolean;
592 typedef gchar* gstring;
596 typedef unsigned char guchar;
600 typedef unsigned short gushort;
604 typedef unsigned long gulong;
608 typedef unsigned int guint;
611 <NAME>G_GSHORT_FORMAT</NAME>
612 #define G_GSHORT_FORMAT "hi"
615 <NAME>G_GUSHORT_FORMAT</NAME>
616 #define G_GUSHORT_FORMAT "hu"
619 <NAME>G_GINT_FORMAT</NAME>
620 #define G_GINT_FORMAT "i"
623 <NAME>G_GUINT_FORMAT</NAME>
624 #define G_GUINT_FORMAT "u"
627 <NAME>G_GLONG_FORMAT</NAME>
628 #define G_GLONG_FORMAT "li"
631 <NAME>G_GULONG_FORMAT</NAME>
632 #define G_GULONG_FORMAT "lu"
636 typedef float gfloat;
640 typedef double gdouble;
643 <NAME>gldouble</NAME>
644 typedef long double gldouble;
647 <NAME>gldouble</NAME>
648 typedef double gldouble;
651 <NAME>gpointer</NAME>
652 typedef void* gpointer;
655 <NAME>gconstpointer</NAME>
656 typedef const void *gconstpointer;
660 typedef guint32 GQuark;
664 typedef gint32 GTime;
667 <NAME>G_LITTLE_ENDIAN</NAME>
668 #define G_LITTLE_ENDIAN 1234
671 <NAME>G_BIG_ENDIAN</NAME>
672 #define G_BIG_ENDIAN 4321
675 <NAME>G_PDP_ENDIAN</NAME>
676 #define G_PDP_ENDIAN 3412 /* unused, need specific PDP check */
679 <NAME>GUINT16_SWAP_LE_BE_CONSTANT</NAME>
680 #define GUINT16_SWAP_LE_BE_CONSTANT(val) ((guint16) ( \
681 (((guint16) (val) & (guint16) 0x00ffU) << 8) | \
682 (((guint16) (val) & (guint16) 0xff00U) >> 8)))
685 <NAME>GUINT32_SWAP_LE_BE_CONSTANT</NAME>
686 #define GUINT32_SWAP_LE_BE_CONSTANT(val) ((guint32) ( \
687 (((guint32) (val) & (guint32) 0x000000ffU) << 24) | \
688 (((guint32) (val) & (guint32) 0x0000ff00U) << 8) | \
689 (((guint32) (val) & (guint32) 0x00ff0000U) >> 8) | \
690 (((guint32) (val) & (guint32) 0xff000000U) >> 24)))
693 <NAME>GUINT16_SWAP_LE_BE_X86</NAME>
694 # define GUINT16_SWAP_LE_BE_X86(val) \
696 ({ register guint16 __v; \
697 if (__builtin_constant_p (val)) \
698 __v = GUINT16_SWAP_LE_BE_CONSTANT (val); \
700 __asm__ __const__ ("rorw $8, %w0" \
702 : "0" ((guint16) (val))); \
706 <NAME>GUINT16_SWAP_LE_BE</NAME>
707 # define GUINT16_SWAP_LE_BE(val) (GUINT16_SWAP_LE_BE_X86 (val))
710 <NAME>GUINT32_SWAP_LE_BE_X86</NAME>
711 # define GUINT32_SWAP_LE_BE_X86(val) \
713 ({ register guint32 __v; \
714 if (__builtin_constant_p (val)) \
715 __v = GUINT32_SWAP_LE_BE_CONSTANT (val); \
717 __asm__ __const__ ("rorw $8, %w0\n\t" \
721 : "0" ((guint32) (val))); \
725 <NAME>GUINT32_SWAP_LE_BE_X86</NAME>
726 # define GUINT32_SWAP_LE_BE_X86(val) \
728 ({ register guint32 __v; \
729 if (__builtin_constant_p (val)) \
730 __v = GUINT32_SWAP_LE_BE_CONSTANT (val); \
732 __asm__ __const__ ("bswap %0" \
734 : "0" ((guint32) (val))); \
738 <NAME>GUINT32_SWAP_LE_BE</NAME>
739 # define GUINT32_SWAP_LE_BE(val) (GUINT32_SWAP_LE_BE_X86 (val))
742 <NAME>GUINT16_SWAP_LE_BE</NAME>
743 # define GUINT16_SWAP_LE_BE(val) (GUINT16_SWAP_LE_BE_CONSTANT (val))
746 <NAME>GUINT32_SWAP_LE_BE</NAME>
747 # define GUINT32_SWAP_LE_BE(val) (GUINT32_SWAP_LE_BE_CONSTANT (val))
750 <NAME>GUINT64_SWAP_LE_BE_CONSTANT</NAME>
751 # define GUINT64_SWAP_LE_BE_CONSTANT(val) ((guint64) ( \
752 (((guint64) (val) & \
753 (guint64) G_GINT64_CONSTANT(0x00000000000000ffU)) << 56) | \
754 (((guint64) (val) & \
755 (guint64) G_GINT64_CONSTANT(0x000000000000ff00U)) << 40) | \
756 (((guint64) (val) & \
757 (guint64) G_GINT64_CONSTANT(0x0000000000ff0000U)) << 24) | \
758 (((guint64) (val) & \
759 (guint64) G_GINT64_CONSTANT(0x00000000ff000000U)) << 8) | \
760 (((guint64) (val) & \
761 (guint64) G_GINT64_CONSTANT(0x000000ff00000000U)) >> 8) | \
762 (((guint64) (val) & \
763 (guint64) G_GINT64_CONSTANT(0x0000ff0000000000U)) >> 24) | \
764 (((guint64) (val) & \
765 (guint64) G_GINT64_CONSTANT(0x00ff000000000000U)) >> 40) | \
766 (((guint64) (val) & \
767 (guint64) G_GINT64_CONSTANT(0xff00000000000000U)) >> 56)))
770 <NAME>GUINT64_SWAP_LE_BE_X86</NAME>
771 # define GUINT64_SWAP_LE_BE_X86(val) \
773 ({ union { guint64 __ll; \
774 guint32 __l[2]; } __r; \
775 if (__builtin_constant_p (val)) \
776 __r.__ll = GUINT64_SWAP_LE_BE_CONSTANT (val); \
779 union { guint64 __ll; \
780 guint32 __l[2]; } __w; \
781 __w.__ll = ((guint64) val); \
782 __r.__l[0] = GUINT32_SWAP_LE_BE (__w.__l[1]); \
783 __r.__l[1] = GUINT32_SWAP_LE_BE (__w.__l[0]); \
788 <NAME>GUINT64_SWAP_LE_BE</NAME>
789 # define GUINT64_SWAP_LE_BE(val) (GUINT64_SWAP_LE_BE_X86 (val))
792 <NAME>GUINT64_SWAP_LE_BE</NAME>
793 # define GUINT64_SWAP_LE_BE(val) (GUINT64_SWAP_LE_BE_CONSTANT(val))
796 <NAME>GUINT16_SWAP_LE_PDP</NAME>
797 #define GUINT16_SWAP_LE_PDP(val) ((guint16) (val))
800 <NAME>GUINT16_SWAP_BE_PDP</NAME>
801 #define GUINT16_SWAP_BE_PDP(val) (GUINT16_SWAP_LE_BE (val))
804 <NAME>GUINT32_SWAP_LE_PDP</NAME>
805 #define GUINT32_SWAP_LE_PDP(val) ((guint32) ( \
806 (((guint32) (val) & (guint32) 0x0000ffffU) << 16) | \
807 (((guint32) (val) & (guint32) 0xffff0000U) >> 16)))
810 <NAME>GUINT32_SWAP_BE_PDP</NAME>
811 #define GUINT32_SWAP_BE_PDP(val) ((guint32) ( \
812 (((guint32) (val) & (guint32) 0x00ff00ffU) << 8) | \
813 (((guint32) (val) & (guint32) 0xff00ff00U) >> 8)))
816 <NAME>GINT16_FROM_LE</NAME>
817 #define GINT16_FROM_LE(val) (GINT16_TO_LE (val))
820 <NAME>GUINT16_FROM_LE</NAME>
821 #define GUINT16_FROM_LE(val) (GUINT16_TO_LE (val))
824 <NAME>GINT16_FROM_BE</NAME>
825 #define GINT16_FROM_BE(val) (GINT16_TO_BE (val))
828 <NAME>GUINT16_FROM_BE</NAME>
829 #define GUINT16_FROM_BE(val) (GUINT16_TO_BE (val))
832 <NAME>GINT32_FROM_LE</NAME>
833 #define GINT32_FROM_LE(val) (GINT32_TO_LE (val))
836 <NAME>GUINT32_FROM_LE</NAME>
837 #define GUINT32_FROM_LE(val) (GUINT32_TO_LE (val))
840 <NAME>GINT32_FROM_BE</NAME>
841 #define GINT32_FROM_BE(val) (GINT32_TO_BE (val))
844 <NAME>GUINT32_FROM_BE</NAME>
845 #define GUINT32_FROM_BE(val) (GUINT32_TO_BE (val))
848 <NAME>GINT64_FROM_LE</NAME>
849 #define GINT64_FROM_LE(val) (GINT64_TO_LE (val))
852 <NAME>GUINT64_FROM_LE</NAME>
853 #define GUINT64_FROM_LE(val) (GUINT64_TO_LE (val))
856 <NAME>GINT64_FROM_BE</NAME>
857 #define GINT64_FROM_BE(val) (GINT64_TO_BE (val))
860 <NAME>GUINT64_FROM_BE</NAME>
861 #define GUINT64_FROM_BE(val) (GUINT64_TO_BE (val))
864 <NAME>GLONG_FROM_LE</NAME>
865 #define GLONG_FROM_LE(val) (GLONG_TO_LE (val))
868 <NAME>GULONG_FROM_LE</NAME>
869 #define GULONG_FROM_LE(val) (GULONG_TO_LE (val))
872 <NAME>GLONG_FROM_BE</NAME>
873 #define GLONG_FROM_BE(val) (GLONG_TO_BE (val))
876 <NAME>GULONG_FROM_BE</NAME>
877 #define GULONG_FROM_BE(val) (GULONG_TO_BE (val))
880 <NAME>GINT_FROM_LE</NAME>
881 #define GINT_FROM_LE(val) (GINT_TO_LE (val))
884 <NAME>GUINT_FROM_LE</NAME>
885 #define GUINT_FROM_LE(val) (GUINT_TO_LE (val))
888 <NAME>GINT_FROM_BE</NAME>
889 #define GINT_FROM_BE(val) (GINT_TO_BE (val))
892 <NAME>GUINT_FROM_BE</NAME>
893 #define GUINT_FROM_BE(val) (GUINT_TO_BE (val))
897 #define g_ntohl(val) (GUINT32_FROM_BE (val))
901 #define g_ntohs(val) (GUINT16_FROM_BE (val))
905 #define g_htonl(val) (GUINT32_TO_BE (val))
909 #define g_htons(val) (GUINT16_TO_BE (val))
912 <NAME>GLIB_VAR</NAME>
913 # define GLIB_VAR __declspec(dllexport)
916 <NAME>GLIB_VAR</NAME>
917 # define GLIB_VAR extern __declspec(dllimport)
920 <NAME>GLIB_VAR</NAME>
921 # define GLIB_VAR extern
924 <NAME>GLIB_CHECK_VERSION</NAME>
925 #define GLIB_CHECK_VERSION(major,minor,micro) \
926 (GLIB_MAJOR_VERSION > (major) || \
927 (GLIB_MAJOR_VERSION == (major) && GLIB_MINOR_VERSION > (minor)) || \
928 (GLIB_MAJOR_VERSION == (major) && GLIB_MINOR_VERSION == (minor) && \
929 GLIB_MICRO_VERSION >= (micro)))
932 <NAME>GAllocator</NAME>
938 <NAME>GByteArray</NAME>
944 <NAME>GCompletion</NAME>
950 <NAME>GDebugKey</NAME>
953 <NAME>GHashTable</NAME>
959 <NAME>GHookList</NAME>
965 <NAME>GMemChunk</NAME>
971 <NAME>GPtrArray</NAME>
980 <NAME>GRelation</NAME>
983 <NAME>GScanner</NAME>
986 <NAME>GScannerConfig</NAME>
995 <NAME>GStringChunk</NAME>
1001 <NAME>GTrashStack</NAME>
1007 <NAME>GTuples</NAME>
1010 <NAME>GIOChannel</NAME>
1013 <NAME>GTraverseFlags</NAME>
1016 G_TRAVERSE_LEAFS = 1 << 0,
1017 G_TRAVERSE_NON_LEAFS = 1 << 1,
1018 G_TRAVERSE_ALL = G_TRAVERSE_LEAFS | G_TRAVERSE_NON_LEAFS,
1019 G_TRAVERSE_MASK = 0x03
1023 <NAME>GTraverseType</NAME>
1033 <NAME>G_LOG_LEVEL_USER_SHIFT</NAME>
1034 #define G_LOG_LEVEL_USER_SHIFT (8)
1037 <NAME>GLogLevelFlags</NAME>
1041 G_LOG_FLAG_RECURSION = 1 << 0,
1042 G_LOG_FLAG_FATAL = 1 << 1,
1044 /* GLib log levels */
1045 G_LOG_LEVEL_ERROR = 1 << 2, /* always fatal */
1046 G_LOG_LEVEL_CRITICAL = 1 << 3,
1047 G_LOG_LEVEL_WARNING = 1 << 4,
1048 G_LOG_LEVEL_MESSAGE = 1 << 5,
1049 G_LOG_LEVEL_INFO = 1 << 6,
1050 G_LOG_LEVEL_DEBUG = 1 << 7,
1052 G_LOG_LEVEL_MASK = ~(G_LOG_FLAG_RECURSION | G_LOG_FLAG_FATAL)
1056 <NAME>G_LOG_FATAL_MASK</NAME>
1057 #define G_LOG_FATAL_MASK (G_LOG_FLAG_RECURSION | G_LOG_LEVEL_ERROR)
1060 <NAME>GCacheNewFunc</NAME>
1061 <RETURNS>gpointer </RETURNS>
1065 <NAME>GCacheDupFunc</NAME>
1066 <RETURNS>gpointer </RETURNS>
1070 <NAME>GCacheDestroyFunc</NAME>
1071 <RETURNS>void </RETURNS>
1075 <NAME>GCompareFunc</NAME>
1076 <RETURNS>gint </RETURNS>
1081 <NAME>GCompletionFunc</NAME>
1082 <RETURNS>gchar *</RETURNS>
1086 <NAME>GDestroyNotify</NAME>
1087 <RETURNS>void </RETURNS>
1091 <NAME>GDataForeachFunc</NAME>
1092 <RETURNS>void </RETURNS>
1099 <RETURNS>void </RETURNS>
1104 <NAME>GHashFunc</NAME>
1105 <RETURNS>guint </RETURNS>
1109 <NAME>GFreeFunc</NAME>
1110 <RETURNS>void </RETURNS>
1115 <RETURNS>void </RETURNS>
1121 <NAME>GHRFunc</NAME>
1122 <RETURNS>gboolean </RETURNS>
1128 <NAME>GHookCompareFunc</NAME>
1129 <RETURNS>gint </RETURNS>
1134 <NAME>GHookFindFunc</NAME>
1135 <RETURNS>gboolean </RETURNS>
1140 <NAME>GHookMarshaller</NAME>
1141 <RETURNS>void </RETURNS>
1146 <NAME>GHookCheckMarshaller</NAME>
1147 <RETURNS>gboolean </RETURNS>
1152 <NAME>GHookFunc</NAME>
1153 <RETURNS>void </RETURNS>
1157 <NAME>GHookCheckFunc</NAME>
1158 <RETURNS>gboolean </RETURNS>
1162 <NAME>GHookFreeFunc</NAME>
1163 <RETURNS>void </RETURNS>
1164 GHookList *hook_list,
1168 <NAME>GLogFunc</NAME>
1169 <RETURNS>void </RETURNS>
1170 const gchar *log_domain,
1171 GLogLevelFlags log_level,
1172 const gchar *message,
1176 <NAME>GNodeTraverseFunc</NAME>
1177 <RETURNS>gboolean </RETURNS>
1182 <NAME>GNodeForeachFunc</NAME>
1183 <RETURNS>void </RETURNS>
1188 <NAME>GScannerMsgFunc</NAME>
1189 <RETURNS>void </RETURNS>
1195 <NAME>GTraverseFunc</NAME>
1196 <RETURNS>gint </RETURNS>
1202 <NAME>GVoidFunc</NAME>
1203 <RETURNS>void </RETURNS>
1215 <NAME>GByteArray</NAME>
1223 <NAME>GDebugKey</NAME>
1240 <NAME>GPtrArray</NAME>
1265 <NAME>GString</NAME>
1273 <NAME>GTrashStack</NAME>
1280 <NAME>GTuples</NAME>
1287 <NAME>G_IEEE754_FLOAT_BIAS</NAME>
1288 #define G_IEEE754_FLOAT_BIAS (127)
1291 <NAME>G_IEEE754_DOUBLE_BIAS</NAME>
1292 #define G_IEEE754_DOUBLE_BIAS (1023)
1295 <NAME>G_LOG_2_BASE_10</NAME>
1296 #define G_LOG_2_BASE_10 (0.30102999566398119521)
1299 <NAME>GFloatIEEE754</NAME>
1304 guint mantissa : 23;
1305 guint biased_exponent : 8;
1311 <NAME>GDoubleIEEE754</NAME>
1312 union GDoubleIEEE754
1316 guint mantissa_low : 32;
1317 guint mantissa_high : 20;
1318 guint biased_exponent : 11;
1324 <NAME>GFloatIEEE754</NAME>
1330 guint biased_exponent : 8;
1331 guint mantissa : 23;
1336 <NAME>GDoubleIEEE754</NAME>
1337 union GDoubleIEEE754
1342 guint biased_exponent : 11;
1343 guint mantissa_high : 20;
1344 guint mantissa_low : 32;
1349 <NAME>g_list_push_allocator</NAME>
1350 <RETURNS>void </RETURNS>
1351 GAllocator *allocator
1354 <NAME>g_list_pop_allocator</NAME>
1355 <RETURNS>void </RETURNS>
1359 <NAME>g_list_alloc</NAME>
1360 <RETURNS>GList *</RETURNS>
1364 <NAME>g_list_free</NAME>
1365 <RETURNS>void </RETURNS>
1369 <NAME>g_list_free_1</NAME>
1370 <RETURNS>void </RETURNS>
1374 <NAME>g_list_append</NAME>
1375 <RETURNS>GList *</RETURNS>
1376 GList *list,gpointer data
1379 <NAME>g_list_prepend</NAME>
1380 <RETURNS>GList *</RETURNS>
1381 GList *list,gpointer data
1384 <NAME>g_list_insert</NAME>
1385 <RETURNS>GList *</RETURNS>
1386 GList *list,gpointer data,gint position
1389 <NAME>g_list_insert_sorted</NAME>
1390 <RETURNS>GList *</RETURNS>
1391 GList *list,gpointer data,GCompareFunc func
1394 <NAME>g_list_concat</NAME>
1395 <RETURNS>GList *</RETURNS>
1396 GList *list1,GList *list2
1399 <NAME>g_list_remove</NAME>
1400 <RETURNS>GList *</RETURNS>
1401 GList *list,gconstpointer data
1404 <NAME>g_list_remove_link</NAME>
1405 <RETURNS>GList *</RETURNS>
1406 GList *list,GList *llink
1409 <NAME>g_list_delete_link</NAME>
1410 <RETURNS>GList *</RETURNS>
1411 GList *list,GList *link
1414 <NAME>g_list_reverse</NAME>
1415 <RETURNS>GList *</RETURNS>
1419 <NAME>g_list_copy</NAME>
1420 <RETURNS>GList *</RETURNS>
1424 <NAME>g_list_nth</NAME>
1425 <RETURNS>GList *</RETURNS>
1429 <NAME>g_list_find</NAME>
1430 <RETURNS>GList *</RETURNS>
1431 GList *list,gconstpointer data
1434 <NAME>g_list_find_custom</NAME>
1435 <RETURNS>GList *</RETURNS>
1436 GList *list,gconstpointer data,GCompareFunc func
1439 <NAME>g_list_position</NAME>
1440 <RETURNS>gint </RETURNS>
1441 GList *list,GList *llink
1444 <NAME>g_list_index</NAME>
1445 <RETURNS>gint </RETURNS>
1446 GList *list,gconstpointer data
1449 <NAME>g_list_last</NAME>
1450 <RETURNS>GList *</RETURNS>
1454 <NAME>g_list_first</NAME>
1455 <RETURNS>GList *</RETURNS>
1459 <NAME>g_list_length</NAME>
1460 <RETURNS>guint </RETURNS>
1464 <NAME>g_list_foreach</NAME>
1465 <RETURNS>void </RETURNS>
1466 GList *list,GFunc func,gpointer user_data
1469 <NAME>g_list_sort</NAME>
1470 <RETURNS>GList *</RETURNS>
1471 GList *list,GCompareFunc compare_func
1474 <NAME>g_list_nth_data</NAME>
1475 <RETURNS>gpointer </RETURNS>
1479 <NAME>g_list_previous</NAME>
1480 #define g_list_previous(list) ((list) ? (((GList *)(list))->prev) : NULL)
1483 <NAME>g_list_next</NAME>
1484 #define g_list_next(list) ((list) ? (((GList *)(list))->next) : NULL)
1487 <NAME>g_slist_push_allocator</NAME>
1488 <RETURNS>void </RETURNS>
1489 GAllocator *allocator
1492 <NAME>g_slist_pop_allocator</NAME>
1493 <RETURNS>void </RETURNS>
1497 <NAME>g_slist_alloc</NAME>
1498 <RETURNS>GSList *</RETURNS>
1502 <NAME>g_slist_free</NAME>
1503 <RETURNS>void </RETURNS>
1507 <NAME>g_slist_free_1</NAME>
1508 <RETURNS>void </RETURNS>
1512 <NAME>g_slist_append</NAME>
1513 <RETURNS>GSList *</RETURNS>
1514 GSList *list,gpointer data
1517 <NAME>g_slist_prepend</NAME>
1518 <RETURNS>GSList *</RETURNS>
1519 GSList *list,gpointer data
1522 <NAME>g_slist_insert</NAME>
1523 <RETURNS>GSList *</RETURNS>
1524 GSList *list,gpointer data,gint position
1527 <NAME>g_slist_insert_sorted</NAME>
1528 <RETURNS>GSList *</RETURNS>
1529 GSList *list,gpointer data,GCompareFunc func
1532 <NAME>g_slist_insert_before</NAME>
1533 <RETURNS>GSList *</RETURNS>
1534 GSList *slist,GSList *sibling,gpointer data
1537 <NAME>g_slist_concat</NAME>
1538 <RETURNS>GSList *</RETURNS>
1539 GSList *list1,GSList *list2
1542 <NAME>g_slist_remove</NAME>
1543 <RETURNS>GSList *</RETURNS>
1544 GSList *list,gconstpointer data
1547 <NAME>g_slist_remove_link</NAME>
1548 <RETURNS>GSList *</RETURNS>
1549 GSList *list,GSList *link
1552 <NAME>g_slist_delete_link</NAME>
1553 <RETURNS>GSList *</RETURNS>
1554 GSList *list,GSList *link
1557 <NAME>g_slist_reverse</NAME>
1558 <RETURNS>GSList *</RETURNS>
1562 <NAME>g_slist_copy</NAME>
1563 <RETURNS>GSList *</RETURNS>
1567 <NAME>g_slist_nth</NAME>
1568 <RETURNS>GSList *</RETURNS>
1569 GSList *list,guint n
1572 <NAME>g_slist_find</NAME>
1573 <RETURNS>GSList *</RETURNS>
1574 GSList *list,gconstpointer data
1577 <NAME>g_slist_find_custom</NAME>
1578 <RETURNS>GSList *</RETURNS>
1579 GSList *list,gconstpointer data,GCompareFunc func
1582 <NAME>g_slist_position</NAME>
1583 <RETURNS>gint </RETURNS>
1584 GSList *list,GSList *llink
1587 <NAME>g_slist_index</NAME>
1588 <RETURNS>gint </RETURNS>
1589 GSList *list,gconstpointer data
1592 <NAME>g_slist_last</NAME>
1593 <RETURNS>GSList *</RETURNS>
1597 <NAME>g_slist_length</NAME>
1598 <RETURNS>guint </RETURNS>
1602 <NAME>g_slist_foreach</NAME>
1603 <RETURNS>void </RETURNS>
1604 GSList *list,GFunc func,gpointer user_data
1607 <NAME>g_slist_sort</NAME>
1608 <RETURNS>GSList *</RETURNS>
1609 GSList *list,GCompareFunc compare_func
1612 <NAME>g_slist_nth_data</NAME>
1613 <RETURNS>gpointer </RETURNS>
1614 GSList *list,guint n
1617 <NAME>g_slist_next</NAME>
1618 #define g_slist_next(slist) ((slist) ? (((GSList *)(slist))->next) : NULL)
1621 <NAME>g_queue_new</NAME>
1622 <RETURNS>GQueue *</RETURNS>
1626 <NAME>g_queue_free</NAME>
1627 <RETURNS>void </RETURNS>
1631 <NAME>g_queue_push_head</NAME>
1632 <RETURNS>void </RETURNS>
1633 GQueue *queue,gpointer data
1636 <NAME>g_queue_push_tail</NAME>
1637 <RETURNS>void </RETURNS>
1638 GQueue *queue,gpointer data
1641 <NAME>g_queue_pop_head</NAME>
1642 <RETURNS>gpointer </RETURNS>
1646 <NAME>g_queue_pop_tail</NAME>
1647 <RETURNS>gpointer </RETURNS>
1651 <NAME>g_queue_is_empty</NAME>
1652 <RETURNS>gboolean </RETURNS>
1656 <NAME>g_queue_peek_head</NAME>
1657 <RETURNS>gpointer </RETURNS>
1661 <NAME>g_queue_peek_tail</NAME>
1662 <RETURNS>gpointer </RETURNS>
1666 <NAME>g_queue_push_head_link</NAME>
1667 <RETURNS>void </RETURNS>
1668 GQueue *queue,GList *link
1671 <NAME>g_queue_push_tail_link</NAME>
1672 <RETURNS>void </RETURNS>
1673 GQueue *queue,GList *link
1676 <NAME>g_queue_pop_head_link</NAME>
1677 <RETURNS>GList *</RETURNS>
1681 <NAME>g_queue_pop_tail_link</NAME>
1682 <RETURNS>GList *</RETURNS>
1686 <NAME>g_hash_table_new</NAME>
1687 <RETURNS>GHashTable *</RETURNS>
1688 GHashFunc hash_func,GCompareFunc key_compare_func
1691 <NAME>g_hash_table_destroy</NAME>
1692 <RETURNS>void </RETURNS>
1693 GHashTable *hash_table
1696 <NAME>g_hash_table_insert</NAME>
1697 <RETURNS>void </RETURNS>
1698 GHashTable *hash_table,gpointer key,gpointer value
1701 <NAME>g_hash_table_remove</NAME>
1702 <RETURNS>void </RETURNS>
1703 GHashTable *hash_table,gconstpointer key
1706 <NAME>g_hash_table_lookup</NAME>
1707 <RETURNS>gpointer </RETURNS>
1708 GHashTable *hash_table,gconstpointer key
1711 <NAME>g_hash_table_lookup_extended</NAME>
1712 <RETURNS>gboolean </RETURNS>
1713 GHashTable *hash_table,gconstpointer lookup_key,gpointer *orig_key,gpointer *value
1716 <NAME>g_hash_table_foreach</NAME>
1717 <RETURNS>void </RETURNS>
1718 GHashTable *hash_table,GHFunc func,gpointer user_data
1721 <NAME>g_hash_table_foreach_remove</NAME>
1722 <RETURNS>guint </RETURNS>
1723 GHashTable *hash_table,GHRFunc func,gpointer user_data
1726 <NAME>g_hash_table_size</NAME>
1727 <RETURNS>guint </RETURNS>
1728 GHashTable *hash_table
1731 <NAME>g_hash_table_freeze</NAME>
1732 <RETURNS>void </RETURNS>
1733 GHashTable *hash_table
1736 <NAME>g_hash_table_thaw</NAME>
1737 <RETURNS>void </RETURNS>
1738 GHashTable *hash_table
1741 <NAME>g_cache_new</NAME>
1742 <RETURNS>GCache *</RETURNS>
1743 GCacheNewFunc value_new_func,GCacheDestroyFunc value_destroy_func,GCacheDupFunc key_dup_func,GCacheDestroyFunc key_destroy_func,GHashFunc hash_key_func,GHashFunc hash_value_func,GCompareFunc key_compare_func
1746 <NAME>g_cache_destroy</NAME>
1747 <RETURNS>void </RETURNS>
1751 <NAME>g_cache_insert</NAME>
1752 <RETURNS>gpointer </RETURNS>
1753 GCache *cache,gpointer key
1756 <NAME>g_cache_remove</NAME>
1757 <RETURNS>void </RETURNS>
1758 GCache *cache,gconstpointer value
1761 <NAME>g_cache_key_foreach</NAME>
1762 <RETURNS>void </RETURNS>
1763 GCache *cache,GHFunc func,gpointer user_data
1766 <NAME>g_cache_value_foreach</NAME>
1767 <RETURNS>void </RETURNS>
1768 GCache *cache,GHFunc func,gpointer user_data
1771 <NAME>g_tree_new</NAME>
1772 <RETURNS>GTree *</RETURNS>
1773 GCompareFunc key_compare_func
1776 <NAME>g_tree_destroy</NAME>
1777 <RETURNS>void </RETURNS>
1781 <NAME>g_tree_insert</NAME>
1782 <RETURNS>void </RETURNS>
1783 GTree *tree,gpointer key,gpointer value
1786 <NAME>g_tree_remove</NAME>
1787 <RETURNS>void </RETURNS>
1788 GTree *tree,gconstpointer key
1791 <NAME>g_tree_lookup</NAME>
1792 <RETURNS>gpointer </RETURNS>
1793 GTree *tree,gconstpointer key
1796 <NAME>g_tree_traverse</NAME>
1797 <RETURNS>void </RETURNS>
1798 GTree *tree,GTraverseFunc traverse_func,GTraverseType traverse_type,gpointer data
1801 <NAME>g_tree_search</NAME>
1802 <RETURNS>gpointer </RETURNS>
1803 GTree *tree,GCompareFunc search_func,gconstpointer data
1806 <NAME>g_tree_height</NAME>
1807 <RETURNS>gint </RETURNS>
1811 <NAME>g_tree_nnodes</NAME>
1812 <RETURNS>gint </RETURNS>
1827 <NAME>G_NODE_IS_ROOT</NAME>
1828 #define G_NODE_IS_ROOT(node) (((GNode*) (node))->parent == NULL && \
1829 ((GNode*) (node))->prev == NULL && \
1830 ((GNode*) (node))->next == NULL)
1833 <NAME>G_NODE_IS_LEAF</NAME>
1834 #define G_NODE_IS_LEAF(node) (((GNode*) (node))->children == NULL)
1837 <NAME>g_node_push_allocator</NAME>
1838 <RETURNS>void </RETURNS>
1839 GAllocator *allocator
1842 <NAME>g_node_pop_allocator</NAME>
1843 <RETURNS>void </RETURNS>
1847 <NAME>g_node_new</NAME>
1848 <RETURNS>GNode *</RETURNS>
1852 <NAME>g_node_destroy</NAME>
1853 <RETURNS>void </RETURNS>
1857 <NAME>g_node_unlink</NAME>
1858 <RETURNS>void </RETURNS>
1862 <NAME>g_node_copy</NAME>
1863 <RETURNS>GNode *</RETURNS>
1867 <NAME>g_node_insert</NAME>
1868 <RETURNS>GNode *</RETURNS>
1869 GNode *parent,gint position,GNode *node
1872 <NAME>g_node_insert_before</NAME>
1873 <RETURNS>GNode *</RETURNS>
1874 GNode *parent,GNode *sibling,GNode *node
1877 <NAME>g_node_prepend</NAME>
1878 <RETURNS>GNode *</RETURNS>
1879 GNode *parent,GNode *node
1882 <NAME>g_node_n_nodes</NAME>
1883 <RETURNS>guint </RETURNS>
1884 GNode *root,GTraverseFlags flags
1887 <NAME>g_node_get_root</NAME>
1888 <RETURNS>GNode *</RETURNS>
1892 <NAME>g_node_is_ancestor</NAME>
1893 <RETURNS>gboolean </RETURNS>
1894 GNode *node,GNode *descendant
1897 <NAME>g_node_depth</NAME>
1898 <RETURNS>guint </RETURNS>
1902 <NAME>g_node_find</NAME>
1903 <RETURNS>GNode *</RETURNS>
1904 GNode *root,GTraverseType order,GTraverseFlags flags,gpointer data
1907 <NAME>g_node_append</NAME>
1908 #define g_node_append(parent, node) \
1909 g_node_insert_before ((parent), NULL, (node))
1912 <NAME>g_node_insert_data</NAME>
1913 #define g_node_insert_data(parent, position, data) \
1914 g_node_insert ((parent), (position), g_node_new (data))
1917 <NAME>g_node_insert_data_before</NAME>
1918 #define g_node_insert_data_before(parent, sibling, data) \
1919 g_node_insert_before ((parent), (sibling), g_node_new (data))
1922 <NAME>g_node_prepend_data</NAME>
1923 #define g_node_prepend_data(parent, data) \
1924 g_node_prepend ((parent), g_node_new (data))
1927 <NAME>g_node_append_data</NAME>
1928 #define g_node_append_data(parent, data) \
1929 g_node_insert_before ((parent), NULL, g_node_new (data))
1932 <NAME>g_node_traverse</NAME>
1933 <RETURNS>void </RETURNS>
1934 GNode *root,GTraverseType order,GTraverseFlags flags,gint max_depth,GNodeTraverseFunc func,gpointer data
1937 <NAME>g_node_max_height</NAME>
1938 <RETURNS>guint </RETURNS>
1942 <NAME>g_node_children_foreach</NAME>
1943 <RETURNS>void </RETURNS>
1944 GNode *node,GTraverseFlags flags,GNodeForeachFunc func,gpointer data
1947 <NAME>g_node_reverse_children</NAME>
1948 <RETURNS>void </RETURNS>
1952 <NAME>g_node_n_children</NAME>
1953 <RETURNS>guint </RETURNS>
1957 <NAME>g_node_nth_child</NAME>
1958 <RETURNS>GNode *</RETURNS>
1962 <NAME>g_node_last_child</NAME>
1963 <RETURNS>GNode *</RETURNS>
1967 <NAME>g_node_find_child</NAME>
1968 <RETURNS>GNode *</RETURNS>
1969 GNode *node,GTraverseFlags flags,gpointer data
1972 <NAME>g_node_child_position</NAME>
1973 <RETURNS>gint </RETURNS>
1974 GNode *node,GNode *child
1977 <NAME>g_node_child_index</NAME>
1978 <RETURNS>gint </RETURNS>
1979 GNode *node,gpointer data
1982 <NAME>g_node_first_sibling</NAME>
1983 <RETURNS>GNode *</RETURNS>
1987 <NAME>g_node_last_sibling</NAME>
1988 <RETURNS>GNode *</RETURNS>
1992 <NAME>g_node_prev_sibling</NAME>
1993 #define g_node_prev_sibling(node) ((node) ? \
1994 ((GNode*) (node))->prev : NULL)
1997 <NAME>g_node_next_sibling</NAME>
1998 #define g_node_next_sibling(node) ((node) ? \
1999 ((GNode*) (node))->next : NULL)
2002 <NAME>g_node_first_child</NAME>
2003 #define g_node_first_child(node) ((node) ? \
2004 ((GNode*) (node))->children : NULL)
2007 <NAME>G_HOOK_FLAG_USER_SHIFT</NAME>
2008 #define G_HOOK_FLAG_USER_SHIFT (4)
2011 <NAME>GHookFlagMask</NAME>
2014 G_HOOK_FLAG_ACTIVE = 1 << 0,
2015 G_HOOK_FLAG_IN_CALL = 1 << 1,
2016 G_HOOK_FLAG_MASK = 0x0f
2020 <NAME>G_HOOK_DEFERRED_DESTROY</NAME>
2021 #define G_HOOK_DEFERRED_DESTROY ((GHookFreeFunc) 0x01)
2024 <NAME>GHookList</NAME>
2031 GMemChunk *hook_memchunk;
2032 GHookFreeFunc hook_free; /* virtual function */
2033 GHookFreeFunc hook_destroy; /* virtual function */
2047 GDestroyNotify destroy;
2051 <NAME>G_HOOK_ACTIVE</NAME>
2052 #define G_HOOK_ACTIVE(hook) ((((GHook*) hook)->flags & \
2053 G_HOOK_FLAG_ACTIVE) != 0)
2056 <NAME>G_HOOK_IN_CALL</NAME>
2057 #define G_HOOK_IN_CALL(hook) ((((GHook*) hook)->flags & \
2058 G_HOOK_FLAG_IN_CALL) != 0)
2061 <NAME>G_HOOK_IS_VALID</NAME>
2062 #define G_HOOK_IS_VALID(hook) (((GHook*) hook)->hook_id != 0 && \
2063 G_HOOK_ACTIVE (hook))
2066 <NAME>G_HOOK_IS_UNLINKED</NAME>
2067 #define G_HOOK_IS_UNLINKED(hook) (((GHook*) hook)->next == NULL && \
2068 ((GHook*) hook)->prev == NULL && \
2069 ((GHook*) hook)->hook_id == 0 && \
2070 ((GHook*) hook)->ref_count == 0)
2073 <NAME>g_hook_list_init</NAME>
2074 <RETURNS>void </RETURNS>
2075 GHookList *hook_list,guint hook_size
2078 <NAME>g_hook_list_clear</NAME>
2079 <RETURNS>void </RETURNS>
2080 GHookList *hook_list
2083 <NAME>g_hook_alloc</NAME>
2084 <RETURNS>GHook *</RETURNS>
2085 GHookList *hook_list
2088 <NAME>g_hook_free</NAME>
2089 <RETURNS>void </RETURNS>
2090 GHookList *hook_list,GHook *hook
2093 <NAME>g_hook_ref</NAME>
2094 <RETURNS>void </RETURNS>
2095 GHookList *hook_list,GHook *hook
2098 <NAME>g_hook_unref</NAME>
2099 <RETURNS>void </RETURNS>
2100 GHookList *hook_list,GHook *hook
2103 <NAME>g_hook_destroy</NAME>
2104 <RETURNS>gboolean </RETURNS>
2105 GHookList *hook_list,guint hook_id
2108 <NAME>g_hook_destroy_link</NAME>
2109 <RETURNS>void </RETURNS>
2110 GHookList *hook_list,GHook *hook
2113 <NAME>g_hook_prepend</NAME>
2114 <RETURNS>void </RETURNS>
2115 GHookList *hook_list,GHook *hook
2118 <NAME>g_hook_insert_before</NAME>
2119 <RETURNS>void </RETURNS>
2120 GHookList *hook_list,GHook *sibling,GHook *hook
2123 <NAME>g_hook_insert_sorted</NAME>
2124 <RETURNS>void </RETURNS>
2125 GHookList *hook_list,GHook *hook,GHookCompareFunc func
2128 <NAME>g_hook_get</NAME>
2129 <RETURNS>GHook *</RETURNS>
2130 GHookList *hook_list,guint hook_id
2133 <NAME>g_hook_find</NAME>
2134 <RETURNS>GHook *</RETURNS>
2135 GHookList *hook_list,gboolean need_valids,GHookFindFunc func,gpointer data
2138 <NAME>g_hook_find_data</NAME>
2139 <RETURNS>GHook *</RETURNS>
2140 GHookList *hook_list,gboolean need_valids,gpointer data
2143 <NAME>g_hook_find_func</NAME>
2144 <RETURNS>GHook *</RETURNS>
2145 GHookList *hook_list,gboolean need_valids,gpointer func
2148 <NAME>g_hook_find_func_data</NAME>
2149 <RETURNS>GHook *</RETURNS>
2150 GHookList *hook_list,gboolean need_valids,gpointer func,gpointer data
2153 <NAME>g_hook_first_valid</NAME>
2154 <RETURNS>GHook *</RETURNS>
2155 GHookList *hook_list,gboolean may_be_in_call
2158 <NAME>g_hook_next_valid</NAME>
2159 <RETURNS>GHook *</RETURNS>
2160 GHookList *hook_list,GHook *hook,gboolean may_be_in_call
2163 <NAME>g_hook_compare_ids</NAME>
2164 <RETURNS>gint </RETURNS>
2165 GHook *new_hook,GHook *sibling
2168 <NAME>g_hook_append</NAME>
2169 #define g_hook_append( hook_list, hook ) \
2170 g_hook_insert_before ((hook_list), NULL, (hook))
2173 <NAME>g_hook_list_invoke</NAME>
2174 <RETURNS>void </RETURNS>
2175 GHookList *hook_list,gboolean may_recurse
2178 <NAME>g_hook_list_invoke_check</NAME>
2179 <RETURNS>void </RETURNS>
2180 GHookList *hook_list,gboolean may_recurse
2183 <NAME>g_hook_list_marshal</NAME>
2184 <RETURNS>void </RETURNS>
2185 GHookList *hook_list,gboolean may_recurse,GHookMarshaller marshaller,gpointer data
2188 <NAME>g_hook_list_marshal_check</NAME>
2189 <RETURNS>void </RETURNS>
2190 GHookList *hook_list,gboolean may_recurse,GHookCheckMarshaller marshaller,gpointer data
2193 <NAME>g_on_error_query</NAME>
2194 <RETURNS>void </RETURNS>
2195 const gchar *prg_name
2198 <NAME>g_on_error_stack_trace</NAME>
2199 <RETURNS>void </RETURNS>
2200 const gchar *prg_name
2203 <NAME>g_log_domain_glib</NAME>
2204 extern const gchar *g_log_domain_glib;
2207 <NAME>g_log_set_handler</NAME>
2208 <RETURNS>guint </RETURNS>
2209 const gchar *log_domain,GLogLevelFlags log_levels,GLogFunc log_func,gpointer user_data
2212 <NAME>g_log_remove_handler</NAME>
2213 <RETURNS>void </RETURNS>
2214 const gchar *log_domain,guint handler_id
2217 <NAME>g_log_default_handler</NAME>
2218 <RETURNS>void </RETURNS>
2219 const gchar *log_domain,GLogLevelFlags log_level,const gchar *message,gpointer unused_data
2223 <RETURNS>void </RETURNS>
2224 const gchar *log_domain,GLogLevelFlags log_level,const gchar *format,...
2228 <RETURNS>void </RETURNS>
2229 const gchar *log_domain,GLogLevelFlags log_level,const gchar *format,va_list args
2232 <NAME>g_log_set_fatal_mask</NAME>
2233 <RETURNS>GLogLevelFlags </RETURNS>
2234 const gchar *log_domain,GLogLevelFlags fatal_mask
2237 <NAME>g_log_set_always_fatal</NAME>
2238 <RETURNS>GLogLevelFlags </RETURNS>
2239 GLogLevelFlags fatal_mask
2242 <NAME>G_LOG_DOMAIN</NAME>
2243 #define G_LOG_DOMAIN ((gchar*) 0)
2246 <NAME>g_error</NAME>
2247 #define g_error(...) g_log (G_LOG_DOMAIN, \
2248 G_LOG_LEVEL_ERROR, \
2252 <NAME>g_message</NAME>
2253 #define g_message(...) g_log (G_LOG_DOMAIN, \
2254 G_LOG_LEVEL_MESSAGE, \
2258 <NAME>g_critical</NAME>
2259 #define g_critical(...) g_log (G_LOG_DOMAIN, \
2260 G_LOG_LEVEL_CRITICAL, \
2264 <NAME>g_warning</NAME>
2265 #define g_warning(...) g_log (G_LOG_DOMAIN, \
2266 G_LOG_LEVEL_WARNING, \
2270 <NAME>g_error</NAME>
2271 #define g_error(format...) g_log (G_LOG_DOMAIN, \
2272 G_LOG_LEVEL_ERROR, \
2276 <NAME>g_message</NAME>
2277 #define g_message(format...) g_log (G_LOG_DOMAIN, \
2278 G_LOG_LEVEL_MESSAGE, \
2282 <NAME>g_critical</NAME>
2283 #define g_critical(format...) g_log (G_LOG_DOMAIN, \
2284 G_LOG_LEVEL_CRITICAL, \
2288 <NAME>g_warning</NAME>
2289 #define g_warning(format...) g_log (G_LOG_DOMAIN, \
2290 G_LOG_LEVEL_WARNING, \
2294 <NAME>GPrintFunc</NAME>
2295 <RETURNS>void </RETURNS>
2299 <NAME>g_print</NAME>
2300 <RETURNS>void </RETURNS>
2301 const gchar *format,...
2304 <NAME>g_set_print_handler</NAME>
2305 <RETURNS>GPrintFunc </RETURNS>
2309 <NAME>g_printerr</NAME>
2310 <RETURNS>void </RETURNS>
2311 const gchar *format,...
2314 <NAME>g_set_printerr_handler</NAME>
2315 <RETURNS>GPrintFunc </RETURNS>
2319 <NAME>GErrorFunc</NAME>
2320 <RETURNS>void </RETURNS>
2324 <NAME>GWarningFunc</NAME>
2325 <RETURNS>void </RETURNS>
2329 <NAME>g_set_error_handler</NAME>
2330 <RETURNS>GErrorFunc </RETURNS>
2334 <NAME>g_set_warning_handler</NAME>
2335 <RETURNS>GWarningFunc </RETURNS>
2339 <NAME>g_set_message_handler</NAME>
2340 <RETURNS>GPrintFunc </RETURNS>
2344 <NAME>g_malloc</NAME>
2345 #define g_malloc(size) ((gpointer) MALLOC (size))
2348 <NAME>g_malloc0</NAME>
2349 #define g_malloc0(size) ((gpointer) CALLOC (char, size))
2352 <NAME>g_realloc</NAME>
2353 #define g_realloc(mem,size) ((gpointer) REALLOC (mem, char, size))
2357 #define g_free(mem) FREE (mem)
2360 <NAME>g_malloc</NAME>
2361 <RETURNS>gpointer </RETURNS>
2365 <NAME>g_malloc0</NAME>
2366 <RETURNS>gpointer </RETURNS>
2370 <NAME>g_realloc</NAME>
2371 <RETURNS>gpointer </RETURNS>
2372 gpointer mem,gulong size
2376 <RETURNS>void </RETURNS>
2380 <NAME>g_mem_profile</NAME>
2381 <RETURNS>void </RETURNS>
2385 <NAME>g_mem_check</NAME>
2386 <RETURNS>void </RETURNS>
2390 <NAME>g_allocator_new</NAME>
2391 <RETURNS>GAllocator *</RETURNS>
2392 const gchar *name,guint n_preallocs
2395 <NAME>g_allocator_free</NAME>
2396 <RETURNS>void </RETURNS>
2397 GAllocator *allocator
2400 <NAME>G_ALLOCATOR_LIST</NAME>
2401 #define G_ALLOCATOR_LIST (1)
2404 <NAME>G_ALLOCATOR_SLIST</NAME>
2405 #define G_ALLOCATOR_SLIST (2)
2408 <NAME>G_ALLOCATOR_NODE</NAME>
2409 #define G_ALLOCATOR_NODE (3)
2412 <NAME>G_ALLOC_ONLY</NAME>
2413 #define G_ALLOC_ONLY 1
2416 <NAME>G_ALLOC_AND_FREE</NAME>
2417 #define G_ALLOC_AND_FREE 2
2420 <NAME>g_mem_chunk_new</NAME>
2421 <RETURNS>GMemChunk *</RETURNS>
2422 gchar *name,gint atom_size,gulong area_size,gint type
2425 <NAME>g_mem_chunk_destroy</NAME>
2426 <RETURNS>void </RETURNS>
2427 GMemChunk *mem_chunk
2430 <NAME>g_mem_chunk_alloc</NAME>
2431 <RETURNS>gpointer </RETURNS>
2432 GMemChunk *mem_chunk
2435 <NAME>g_mem_chunk_alloc0</NAME>
2436 <RETURNS>gpointer </RETURNS>
2437 GMemChunk *mem_chunk
2440 <NAME>g_mem_chunk_free</NAME>
2441 <RETURNS>void </RETURNS>
2442 GMemChunk *mem_chunk,gpointer mem
2445 <NAME>g_mem_chunk_clean</NAME>
2446 <RETURNS>void </RETURNS>
2447 GMemChunk *mem_chunk
2450 <NAME>g_mem_chunk_reset</NAME>
2451 <RETURNS>void </RETURNS>
2452 GMemChunk *mem_chunk
2455 <NAME>g_mem_chunk_print</NAME>
2456 <RETURNS>void </RETURNS>
2457 GMemChunk *mem_chunk
2460 <NAME>g_mem_chunk_info</NAME>
2461 <RETURNS>void </RETURNS>
2465 <NAME>g_blow_chunks</NAME>
2466 <RETURNS>void </RETURNS>
2470 <NAME>G_MICROSEC</NAME>
2471 #define G_MICROSEC 1000000
2474 <NAME>g_timer_new</NAME>
2475 <RETURNS>GTimer *</RETURNS>
2479 <NAME>g_timer_destroy</NAME>
2480 <RETURNS>void </RETURNS>
2484 <NAME>g_timer_start</NAME>
2485 <RETURNS>void </RETURNS>
2489 <NAME>g_timer_stop</NAME>
2490 <RETURNS>void </RETURNS>
2494 <NAME>g_timer_reset</NAME>
2495 <RETURNS>void </RETURNS>
2499 <NAME>g_timer_elapsed</NAME>
2500 <RETURNS>gdouble </RETURNS>
2501 GTimer *timer,gulong *microseconds
2504 <NAME>g_usleep</NAME>
2505 <RETURNS>void </RETURNS>
2509 <NAME>G_STR_DELIMITERS</NAME>
2510 #define G_STR_DELIMITERS "_-|> <."
2513 <NAME>g_strdelimit</NAME>
2514 <RETURNS>gchar *</RETURNS>
2515 gchar *string,const gchar *delimiters,gchar new_delimiter
2518 <NAME>g_strcanon</NAME>
2519 <RETURNS>gchar *</RETURNS>
2520 gchar *string,const gchar *valid_chars,gchar subsitutor
2523 <NAME>g_strtod</NAME>
2524 <RETURNS>gdouble </RETURNS>
2525 const gchar *nptr,gchar **endptr
2528 <NAME>g_strerror</NAME>
2529 <RETURNS>gchar *</RETURNS>
2533 <NAME>g_strsignal</NAME>
2534 <RETURNS>gchar *</RETURNS>
2538 <NAME>g_strcasecmp</NAME>
2539 <RETURNS>gint </RETURNS>
2540 const gchar *s1,const gchar *s2
2543 <NAME>g_strncasecmp</NAME>
2544 <RETURNS>gint </RETURNS>
2545 const gchar *s1,const gchar *s2,guint n
2548 <NAME>g_strdown</NAME>
2549 <RETURNS>gchar *</RETURNS>
2553 <NAME>g_strup</NAME>
2554 <RETURNS>gchar *</RETURNS>
2558 <NAME>g_strreverse</NAME>
2559 <RETURNS>gchar *</RETURNS>
2563 <NAME>g_strlcpy</NAME>
2564 <RETURNS>gsize </RETURNS>
2565 gchar *dest,const gchar *src,gsize dest_size
2568 <NAME>g_strlcat</NAME>
2569 <RETURNS>gsize </RETURNS>
2570 gchar *dest,const gchar *src,gsize dest_size
2573 <NAME>g_strchug</NAME>
2574 <RETURNS>gchar *</RETURNS>
2578 <NAME>g_strchomp</NAME>
2579 <RETURNS>gchar *</RETURNS>
2583 <NAME>g_strstrip</NAME>
2584 #define g_strstrip( string ) g_strchomp (g_strchug (string))
2587 <NAME>g_strdup</NAME>
2588 <RETURNS>gchar *</RETURNS>
2592 <NAME>g_strdup_printf</NAME>
2593 <RETURNS>gchar *</RETURNS>
2594 const gchar *format,...
2597 <NAME>g_strdup_vprintf</NAME>
2598 <RETURNS>gchar *</RETURNS>
2599 const gchar *format,va_list args
2602 <NAME>g_strndup</NAME>
2603 <RETURNS>gchar *</RETURNS>
2604 const gchar *str,guint n
2607 <NAME>g_strnfill</NAME>
2608 <RETURNS>gchar *</RETURNS>
2609 guint length,gchar fill_char
2612 <NAME>g_strconcat</NAME>
2613 <RETURNS>gchar *</RETURNS>
2614 const gchar *string1,...
2617 <NAME>g_strjoin</NAME>
2618 <RETURNS>gchar *</RETURNS>
2619 const gchar *separator,...
2622 <NAME>g_strcompress</NAME>
2623 <RETURNS>gchar *</RETURNS>
2627 <NAME>g_filename_to_utf8</NAME>
2628 <RETURNS>gchar *</RETURNS>
2629 const gchar *opsysstring
2632 <NAME>g_filename_from_utf8</NAME>
2633 <RETURNS>gchar *</RETURNS>
2634 const gchar *utf8string
2637 <NAME>g_strescape</NAME>
2638 <RETURNS>gchar *</RETURNS>
2639 const gchar *source,const gchar *exceptions
2642 <NAME>g_memdup</NAME>
2643 <RETURNS>gpointer </RETURNS>
2644 gconstpointer mem,guint byte_size
2647 <NAME>g_strsplit</NAME>
2648 <RETURNS>gchar **</RETURNS>
2649 const gchar *string,const gchar *delimiter,gint max_tokens
2652 <NAME>g_strjoinv</NAME>
2653 <RETURNS>gchar *</RETURNS>
2654 const gchar *separator,gchar **str_array
2657 <NAME>g_strfreev</NAME>
2658 <RETURNS>void </RETURNS>
2662 <NAME>g_printf_string_upper_bound</NAME>
2663 <RETURNS>guint </RETURNS>
2664 const gchar* format,va_list args
2667 <NAME>g_get_user_name</NAME>
2668 <RETURNS>gchar *</RETURNS>
2672 <NAME>g_get_real_name</NAME>
2673 <RETURNS>gchar *</RETURNS>
2677 <NAME>g_get_home_dir</NAME>
2678 <RETURNS>gchar *</RETURNS>
2682 <NAME>g_get_tmp_dir</NAME>
2683 <RETURNS>gchar *</RETURNS>
2687 <NAME>g_get_prgname</NAME>
2688 <RETURNS>gchar *</RETURNS>
2692 <NAME>g_set_prgname</NAME>
2693 <RETURNS>void </RETURNS>
2694 const gchar *prgname
2697 <NAME>g_parse_debug_string</NAME>
2698 <RETURNS>guint </RETURNS>
2699 const gchar *string,GDebugKey *keys,guint nkeys
2702 <NAME>g_snprintf</NAME>
2703 <RETURNS>gint </RETURNS>
2704 gchar *string,gulong n,gchar const *format,...
2707 <NAME>g_vsnprintf</NAME>
2708 <RETURNS>gint </RETURNS>
2709 gchar *string,gulong n,gchar const *format,va_list args
2712 <NAME>g_path_is_absolute</NAME>
2713 <RETURNS>gboolean </RETURNS>
2714 const gchar *file_name
2717 <NAME>g_path_skip_root</NAME>
2718 <RETURNS>gchar *</RETURNS>
2722 <NAME>g_basename</NAME>
2723 <RETURNS>gchar *</RETURNS>
2724 const gchar *file_name
2727 <NAME>g_dirname</NAME>
2728 <RETURNS>gchar *</RETURNS>
2729 const gchar *file_name
2732 <NAME>g_get_current_dir</NAME>
2733 <RETURNS>gchar *</RETURNS>
2737 <NAME>g_path_get_basename</NAME>
2738 <RETURNS>gchar *</RETURNS>
2739 const gchar *file_name
2742 <NAME>g_path_get_dirname</NAME>
2743 <RETURNS>gchar *</RETURNS>
2744 const gchar *file_name
2747 <NAME>g_getenv</NAME>
2748 <RETURNS>gchar *</RETURNS>
2749 const gchar *variable
2752 <NAME>g_atexit</NAME>
2753 <RETURNS>void </RETURNS>
2757 <NAME>g_bit_nth_lsf</NAME>
2758 <RETURNS>gint </RETURNS>
2759 guint32 mask,gint nth_bit
2762 <NAME>g_bit_nth_msf</NAME>
2763 <RETURNS>gint </RETURNS>
2764 guint32 mask,gint nth_bit
2767 <NAME>g_bit_storage</NAME>
2768 <RETURNS>guint </RETURNS>
2772 <NAME>g_trash_stack_push</NAME>
2773 <RETURNS>void </RETURNS>
2774 GTrashStack **stack_p,gpointer data_p
2777 <NAME>g_trash_stack_pop</NAME>
2778 <RETURNS>gpointer </RETURNS>
2779 GTrashStack **stack_p
2782 <NAME>g_trash_stack_peek</NAME>
2783 <RETURNS>gpointer </RETURNS>
2784 GTrashStack **stack_p
2787 <NAME>g_trash_stack_height</NAME>
2788 <RETURNS>guint </RETURNS>
2789 GTrashStack **stack_p
2792 <NAME>g_string_chunk_new</NAME>
2793 <RETURNS>GStringChunk *</RETURNS>
2797 <NAME>g_string_chunk_free</NAME>
2798 <RETURNS>void </RETURNS>
2802 <NAME>g_string_chunk_insert</NAME>
2803 <RETURNS>gchar *</RETURNS>
2804 GStringChunk *chunk,const gchar *string
2807 <NAME>g_string_chunk_insert_const</NAME>
2808 <RETURNS>gchar *</RETURNS>
2809 GStringChunk *chunk,const gchar *string
2812 <NAME>g_string_new</NAME>
2813 <RETURNS>GString *</RETURNS>
2817 <NAME>g_string_sized_new</NAME>
2818 <RETURNS>GString *</RETURNS>
2822 <NAME>g_string_free</NAME>
2823 <RETURNS>gchar *</RETURNS>
2824 GString *string,gboolean free_segment
2827 <NAME>g_string_equal</NAME>
2828 <RETURNS>gboolean </RETURNS>
2829 const GString *v,const GString *v2
2832 <NAME>g_string_hash</NAME>
2833 <RETURNS>guint </RETURNS>
2837 <NAME>g_string_assign</NAME>
2838 <RETURNS>GString *</RETURNS>
2839 GString *string,const gchar *rval
2842 <NAME>g_string_truncate</NAME>
2843 <RETURNS>GString *</RETURNS>
2844 GString *string,guint len
2847 <NAME>g_string_insert_len</NAME>
2848 <RETURNS>GString *</RETURNS>
2849 GString *string,gint pos,const gchar *val,gint len
2852 <NAME>g_string_append</NAME>
2853 <RETURNS>GString *</RETURNS>
2854 GString *string,const gchar *val
2857 <NAME>g_string_append_len</NAME>
2858 <RETURNS>GString *</RETURNS>
2859 GString *string,const gchar *val,gint len
2862 <NAME>g_string_append_c</NAME>
2863 <RETURNS>GString *</RETURNS>
2864 GString *string,gchar c
2867 <NAME>g_string_prepend</NAME>
2868 <RETURNS>GString *</RETURNS>
2869 GString *string,const gchar *val
2872 <NAME>g_string_prepend_c</NAME>
2873 <RETURNS>GString *</RETURNS>
2874 GString *string,gchar c
2877 <NAME>g_string_prepend_len</NAME>
2878 <RETURNS>GString *</RETURNS>
2879 GString *string,const gchar *val,gint len
2882 <NAME>g_string_insert</NAME>
2883 <RETURNS>GString *</RETURNS>
2884 GString *string,gint pos,const gchar *val
2887 <NAME>g_string_insert_c</NAME>
2888 <RETURNS>GString *</RETURNS>
2889 GString *string,gint pos,gchar c
2892 <NAME>g_string_erase</NAME>
2893 <RETURNS>GString *</RETURNS>
2894 GString *string,gint pos,gint len
2897 <NAME>g_string_down</NAME>
2898 <RETURNS>GString *</RETURNS>
2902 <NAME>g_string_up</NAME>
2903 <RETURNS>GString *</RETURNS>
2907 <NAME>g_string_sprintf</NAME>
2908 <RETURNS>void </RETURNS>
2909 GString *string,const gchar *format,...
2912 <NAME>g_string_sprintfa</NAME>
2913 <RETURNS>void </RETURNS>
2914 GString *string,const gchar *format,...
2917 <NAME>g_array_append_val</NAME>
2918 #define g_array_append_val(a,v) g_array_append_vals (a, &v, 1)
2921 <NAME>g_array_prepend_val</NAME>
2922 #define g_array_prepend_val(a,v) g_array_prepend_vals (a, &v, 1)
2925 <NAME>g_array_insert_val</NAME>
2926 #define g_array_insert_val(a,i,v) g_array_insert_vals (a, i, &v, 1)
2929 <NAME>g_array_index</NAME>
2930 #define g_array_index(a,t,i) (((t*) (a)->data) [(i)])
2933 <NAME>g_array_new</NAME>
2934 <RETURNS>GArray *</RETURNS>
2935 gboolean zero_terminated,gboolean clear,guint element_size
2938 <NAME>g_array_sized_new</NAME>
2939 <RETURNS>GArray *</RETURNS>
2940 gboolean zero_terminated,gboolean clear,guint element_size,guint reserved_size
2943 <NAME>g_array_free</NAME>
2944 <RETURNS>gchar *</RETURNS>
2945 GArray *array,gboolean free_segment
2948 <NAME>g_array_append_vals</NAME>
2949 <RETURNS>GArray *</RETURNS>
2950 GArray *array,gconstpointer data,guint len
2953 <NAME>g_array_prepend_vals</NAME>
2954 <RETURNS>GArray *</RETURNS>
2955 GArray *array,gconstpointer data,guint len
2958 <NAME>g_array_insert_vals</NAME>
2959 <RETURNS>GArray *</RETURNS>
2960 GArray *array,guint index,gconstpointer data,guint len
2963 <NAME>g_array_set_size</NAME>
2964 <RETURNS>GArray *</RETURNS>
2965 GArray *array,guint length
2968 <NAME>g_array_remove_index</NAME>
2969 <RETURNS>GArray *</RETURNS>
2970 GArray *array,guint index
2973 <NAME>g_array_remove_index_fast</NAME>
2974 <RETURNS>GArray *</RETURNS>
2975 GArray *array,guint index
2978 <NAME>g_ptr_array_index</NAME>
2979 #define g_ptr_array_index(array,index) (array->pdata)[index]
2982 <NAME>g_ptr_array_new</NAME>
2983 <RETURNS>GPtrArray *</RETURNS>
2987 <NAME>g_ptr_array_sized_new</NAME>
2988 <RETURNS>GPtrArray *</RETURNS>
2992 <NAME>g_ptr_array_free</NAME>
2993 <RETURNS>gpointer *</RETURNS>
2994 GPtrArray *array,gboolean free_seg
2997 <NAME>g_ptr_array_set_size</NAME>
2998 <RETURNS>void </RETURNS>
2999 GPtrArray *array,gint length
3002 <NAME>g_ptr_array_remove_index</NAME>
3003 <RETURNS>gpointer </RETURNS>
3004 GPtrArray *array,guint index
3007 <NAME>g_ptr_array_remove_index_fast</NAME>
3008 <RETURNS>gpointer </RETURNS>
3009 GPtrArray *array,guint index
3012 <NAME>g_ptr_array_remove</NAME>
3013 <RETURNS>gboolean </RETURNS>
3014 GPtrArray *array,gpointer data
3017 <NAME>g_ptr_array_remove_fast</NAME>
3018 <RETURNS>gboolean </RETURNS>
3019 GPtrArray *array,gpointer data
3022 <NAME>g_ptr_array_add</NAME>
3023 <RETURNS>void </RETURNS>
3024 GPtrArray *array,gpointer data
3027 <NAME>g_byte_array_new</NAME>
3028 <RETURNS>GByteArray *</RETURNS>
3032 <NAME>g_byte_array_sized_new</NAME>
3033 <RETURNS>GByteArray *</RETURNS>
3037 <NAME>g_byte_array_free</NAME>
3038 <RETURNS>guint8 *</RETURNS>
3039 GByteArray *array,gboolean free_segment
3042 <NAME>g_byte_array_append</NAME>
3043 <RETURNS>GByteArray *</RETURNS>
3044 GByteArray *array,const guint8 *data,guint len
3047 <NAME>g_byte_array_prepend</NAME>
3048 <RETURNS>GByteArray *</RETURNS>
3049 GByteArray *array,const guint8 *data,guint len
3052 <NAME>g_byte_array_set_size</NAME>
3053 <RETURNS>GByteArray *</RETURNS>
3054 GByteArray *array,guint length
3057 <NAME>g_byte_array_remove_index</NAME>
3058 <RETURNS>GByteArray *</RETURNS>
3059 GByteArray *array,guint index
3062 <NAME>g_byte_array_remove_index_fast</NAME>
3063 <RETURNS>GByteArray *</RETURNS>
3064 GByteArray *array,guint index
3067 <NAME>g_str_equal</NAME>
3068 <RETURNS>gboolean </RETURNS>
3069 gconstpointer v,gconstpointer v2
3072 <NAME>g_str_hash</NAME>
3073 <RETURNS>guint </RETURNS>
3077 <NAME>g_int_equal</NAME>
3078 <RETURNS>gint </RETURNS>
3079 gconstpointer v,gconstpointer v2
3082 <NAME>g_int_hash</NAME>
3083 <RETURNS>guint </RETURNS>
3087 <NAME>g_direct_hash</NAME>
3088 <RETURNS>guint </RETURNS>
3092 <NAME>g_direct_equal</NAME>
3093 <RETURNS>gint </RETURNS>
3094 gconstpointer v,gconstpointer v2
3097 <NAME>g_quark_try_string</NAME>
3098 <RETURNS>GQuark </RETURNS>
3102 <NAME>g_quark_from_static_string</NAME>
3103 <RETURNS>GQuark </RETURNS>
3107 <NAME>g_quark_from_string</NAME>
3108 <RETURNS>GQuark </RETURNS>
3112 <NAME>g_quark_to_string</NAME>
3113 <RETURNS>gchar *</RETURNS>
3117 <NAME>g_datalist_init</NAME>
3118 <RETURNS>void </RETURNS>
3122 <NAME>g_datalist_clear</NAME>
3123 <RETURNS>void </RETURNS>
3127 <NAME>g_datalist_id_get_data</NAME>
3128 <RETURNS>gpointer </RETURNS>
3129 GData **datalist,GQuark key_id
3132 <NAME>g_datalist_id_set_data_full</NAME>
3133 <RETURNS>void </RETURNS>
3134 GData **datalist,GQuark key_id,gpointer data,GDestroyNotify destroy_func
3137 <NAME>g_datalist_id_remove_no_notify</NAME>
3138 <RETURNS>gpointer </RETURNS>
3139 GData **datalist,GQuark key_id
3142 <NAME>g_datalist_foreach</NAME>
3143 <RETURNS>void </RETURNS>
3144 GData **datalist,GDataForeachFunc func,gpointer user_data
3147 <NAME>g_datalist_id_set_data</NAME>
3148 #define g_datalist_id_set_data(dl, q, d) \
3149 g_datalist_id_set_data_full ((dl), (q), (d), NULL)
3152 <NAME>g_datalist_id_remove_data</NAME>
3153 #define g_datalist_id_remove_data(dl, q) \
3154 g_datalist_id_set_data ((dl), (q), NULL)
3157 <NAME>g_datalist_get_data</NAME>
3158 #define g_datalist_get_data(dl, k) \
3159 (g_datalist_id_get_data ((dl), g_quark_try_string (k)))
3162 <NAME>g_datalist_set_data_full</NAME>
3163 #define g_datalist_set_data_full(dl, k, d, f) \
3164 g_datalist_id_set_data_full ((dl), g_quark_from_string (k), (d), (f))
3167 <NAME>g_datalist_remove_no_notify</NAME>
3168 #define g_datalist_remove_no_notify(dl, k) \
3169 g_datalist_id_remove_no_notify ((dl), g_quark_try_string (k))
3172 <NAME>g_datalist_set_data</NAME>
3173 #define g_datalist_set_data(dl, k, d) \
3174 g_datalist_set_data_full ((dl), (k), (d), NULL)
3177 <NAME>g_datalist_remove_data</NAME>
3178 #define g_datalist_remove_data(dl, k) \
3179 g_datalist_id_set_data ((dl), g_quark_try_string (k), NULL)
3182 <NAME>g_dataset_destroy</NAME>
3183 <RETURNS>void </RETURNS>
3184 gconstpointer dataset_location
3187 <NAME>g_dataset_id_get_data</NAME>
3188 <RETURNS>gpointer </RETURNS>
3189 gconstpointer dataset_location,GQuark key_id
3192 <NAME>g_dataset_id_set_data_full</NAME>
3193 <RETURNS>void </RETURNS>
3194 gconstpointer dataset_location,GQuark key_id,gpointer data,GDestroyNotify destroy_func
3197 <NAME>g_dataset_id_remove_no_notify</NAME>
3198 <RETURNS>gpointer </RETURNS>
3199 gconstpointer dataset_location,GQuark key_id
3202 <NAME>g_dataset_foreach</NAME>
3203 <RETURNS>void </RETURNS>
3204 gconstpointer dataset_location,GDataForeachFunc func,gpointer user_data
3207 <NAME>g_dataset_id_set_data</NAME>
3208 #define g_dataset_id_set_data(l, k, d) \
3209 g_dataset_id_set_data_full ((l), (k), (d), NULL)
3212 <NAME>g_dataset_id_remove_data</NAME>
3213 #define g_dataset_id_remove_data(l, k) \
3214 g_dataset_id_set_data ((l), (k), NULL)
3217 <NAME>g_dataset_get_data</NAME>
3218 #define g_dataset_get_data(l, k) \
3219 (g_dataset_id_get_data ((l), g_quark_try_string (k)))
3222 <NAME>g_dataset_set_data_full</NAME>
3223 #define g_dataset_set_data_full(l, k, d, f) \
3224 g_dataset_id_set_data_full ((l), g_quark_from_string (k), (d), (f))
3227 <NAME>g_dataset_remove_no_notify</NAME>
3228 #define g_dataset_remove_no_notify(l, k) \
3229 g_dataset_id_remove_no_notify ((l), g_quark_try_string (k))
3232 <NAME>g_dataset_set_data</NAME>
3233 #define g_dataset_set_data(l, k, d) \
3234 g_dataset_set_data_full ((l), (k), (d), NULL)
3237 <NAME>g_dataset_remove_data</NAME>
3238 #define g_dataset_remove_data(l, k) \
3239 g_dataset_id_set_data ((l), g_quark_try_string (k), NULL)
3242 <NAME>G_CSET_A_2_Z</NAME>
3243 #define G_CSET_A_2_Z "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
3246 <NAME>G_CSET_a_2_z</NAME>
3247 #define G_CSET_a_2_z "abcdefghijklmnopqrstuvwxyz"
3250 <NAME>G_CSET_DIGITS</NAME>
3251 #define G_CSET_DIGITS "0123456789"
3254 <NAME>G_CSET_LATINC</NAME>
3255 #define G_CSET_LATINC "\300\301\302\303\304\305\306"\
3256 "\307\310\311\312\313\314\315\316\317\320"\
3257 "\321\322\323\324\325\326"\
3258 "\330\331\332\333\334\335\336"
3261 <NAME>G_CSET_LATINS</NAME>
3262 #define G_CSET_LATINS "\337\340\341\342\343\344\345\346"\
3263 "\347\350\351\352\353\354\355\356\357\360"\
3264 "\361\362\363\364\365\366"\
3265 "\370\371\372\373\374\375\376\377"
3268 <NAME>GErrorType</NAME>
3273 G_ERR_UNEXP_EOF_IN_STRING,
3274 G_ERR_UNEXP_EOF_IN_COMMENT,
3275 G_ERR_NON_DIGIT_IN_CONST,
3278 G_ERR_FLOAT_MALFORMED
3282 <NAME>GTokenType</NAME>
3287 G_TOKEN_LEFT_PAREN = '(',
3288 G_TOKEN_RIGHT_PAREN = ')',
3289 G_TOKEN_LEFT_CURLY = '{',
3290 G_TOKEN_RIGHT_CURLY = '}',
3291 G_TOKEN_LEFT_BRACE = '[',
3292 G_TOKEN_RIGHT_BRACE = ']',
3293 G_TOKEN_EQUAL_SIGN = '=',
3294 G_TOKEN_COMMA = ',',
3310 G_TOKEN_IDENTIFIER_NULL,
3312 G_TOKEN_COMMENT_SINGLE,
3313 G_TOKEN_COMMENT_MULTI,
3318 <NAME>GTokenValue</NAME>
3322 gchar *v_identifier;
3335 <NAME>GScannerConfig</NAME>
3336 struct GScannerConfig
3340 gchar *cset_skip_characters; /* default: " \t\n" */
3341 gchar *cset_identifier_first;
3342 gchar *cset_identifier_nth;
3343 gchar *cpair_comment_single; /* default: "#\n" */
3345 /* Should symbol lookup work case sensitive?
3347 guint case_sensitive : 1;
3349 /* Boolean values to be adjusted "on the fly"
3350 * to configure scanning behaviour.
3352 guint skip_comment_multi : 1; /* C like comment */
3353 guint skip_comment_single : 1; /* single line comment */
3354 guint scan_comment_multi : 1; /* scan multi line comments? */
3355 guint scan_identifier : 1;
3356 guint scan_identifier_1char : 1;
3357 guint scan_identifier_NULL : 1;
3358 guint scan_symbols : 1;
3359 guint scan_binary : 1;
3360 guint scan_octal : 1;
3361 guint scan_float : 1;
3362 guint scan_hex : 1; /* `0x0ff0' */
3363 guint scan_hex_dollar : 1; /* `$0ff0' */
3364 guint scan_string_sq : 1; /* string: 'anything' */
3365 guint scan_string_dq : 1; /* string: "\\-escapes!\n" */
3366 guint numbers_2_int : 1; /* bin, octal, hex => int */
3367 guint int_2_float : 1; /* int => G_TOKEN_FLOAT? */
3368 guint identifier_2_string : 1;
3369 guint char_2_token : 1; /* return G_TOKEN_CHAR? */
3370 guint symbol_2_token : 1;
3371 guint scope_0_fallback : 1; /* try scope 0 on lookups? */
3375 <NAME>GScanner</NAME>
3380 guint max_parse_errors;
3382 /* g_scanner_error() increments this field */
3385 /* name of input stream, featured by the default message handler */
3386 const gchar *input_name;
3388 /* data pointer for derived structures */
3389 gpointer derived_data;
3391 /* link into the scanner configuration */
3392 GScannerConfig *config;
3394 /* fields filled in after g_scanner_get_next_token() */
3400 /* fields filled in after g_scanner_peek_next_token() */
3401 GTokenType next_token;
3402 GTokenValue next_value;
3404 guint next_position;
3406 /* to be considered private */
3407 GHashTable *symbol_table;
3410 const gchar *text_end;
3414 /* handler function for _warn and _error */
3415 GScannerMsgFunc msg_handler;
3419 <NAME>g_scanner_new</NAME>
3420 <RETURNS>GScanner *</RETURNS>
3421 GScannerConfig *config_templ
3424 <NAME>g_scanner_destroy</NAME>
3425 <RETURNS>void </RETURNS>
3429 <NAME>g_scanner_input_file</NAME>
3430 <RETURNS>void </RETURNS>
3431 GScanner *scanner,gint input_fd
3434 <NAME>g_scanner_sync_file_offset</NAME>
3435 <RETURNS>void </RETURNS>
3439 <NAME>g_scanner_input_text</NAME>
3440 <RETURNS>void </RETURNS>
3441 GScanner *scanner,const gchar *text,guint text_len
3444 <NAME>g_scanner_get_next_token</NAME>
3445 <RETURNS>GTokenType </RETURNS>
3449 <NAME>g_scanner_peek_next_token</NAME>
3450 <RETURNS>GTokenType </RETURNS>
3454 <NAME>g_scanner_cur_token</NAME>
3455 <RETURNS>GTokenType </RETURNS>
3459 <NAME>g_scanner_cur_value</NAME>
3460 <RETURNS>GTokenValue </RETURNS>
3464 <NAME>g_scanner_cur_line</NAME>
3465 <RETURNS>guint </RETURNS>
3469 <NAME>g_scanner_cur_position</NAME>
3470 <RETURNS>guint </RETURNS>
3474 <NAME>g_scanner_eof</NAME>
3475 <RETURNS>gboolean </RETURNS>
3479 <NAME>g_scanner_set_scope</NAME>
3480 <RETURNS>guint </RETURNS>
3481 GScanner *scanner,guint scope_id
3484 <NAME>g_scanner_scope_add_symbol</NAME>
3485 <RETURNS>void </RETURNS>
3486 GScanner *scanner,guint scope_id,const gchar *symbol,gpointer value
3489 <NAME>g_scanner_scope_remove_symbol</NAME>
3490 <RETURNS>void </RETURNS>
3491 GScanner *scanner,guint scope_id,const gchar *symbol
3494 <NAME>g_scanner_scope_lookup_symbol</NAME>
3495 <RETURNS>gpointer </RETURNS>
3496 GScanner *scanner,guint scope_id,const gchar *symbol
3499 <NAME>g_scanner_scope_foreach_symbol</NAME>
3500 <RETURNS>void </RETURNS>
3501 GScanner *scanner,guint scope_id,GHFunc func,gpointer user_data
3504 <NAME>g_scanner_lookup_symbol</NAME>
3505 <RETURNS>gpointer </RETURNS>
3506 GScanner *scanner,const gchar *symbol
3509 <NAME>g_scanner_unexp_token</NAME>
3510 <RETURNS>void </RETURNS>
3511 GScanner *scanner,GTokenType expected_token,const gchar *identifier_spec,const gchar *symbol_spec,const gchar *symbol_name,const gchar *message,gint is_error
3514 <NAME>g_scanner_error</NAME>
3515 <RETURNS>void </RETURNS>
3516 GScanner *scanner,const gchar *format,...
3519 <NAME>g_scanner_warn</NAME>
3520 <RETURNS>void </RETURNS>
3521 GScanner *scanner,const gchar *format,...
3524 <NAME>g_scanner_stat_mode</NAME>
3525 <RETURNS>gint </RETURNS>
3526 const gchar *filename
3529 <NAME>g_scanner_add_symbol</NAME>
3530 #define g_scanner_add_symbol( scanner, symbol, value ) G_STMT_START { \
3531 g_scanner_scope_add_symbol ((scanner), 0, (symbol), (value)); \
3535 <NAME>g_scanner_remove_symbol</NAME>
3536 #define g_scanner_remove_symbol( scanner, symbol ) G_STMT_START { \
3537 g_scanner_scope_remove_symbol ((scanner), 0, (symbol)); \
3541 <NAME>g_scanner_foreach_symbol</NAME>
3542 #define g_scanner_foreach_symbol( scanner, func, data ) G_STMT_START { \
3543 g_scanner_scope_foreach_symbol ((scanner), 0, (func), (data)); \
3547 <NAME>g_scanner_freeze_symbol_table</NAME>
3548 <RETURNS>void </RETURNS>
3552 <NAME>g_scanner_thaw_symbol_table</NAME>
3553 <RETURNS>void </RETURNS>
3557 <NAME>GCompletion</NAME>
3561 GCompletionFunc func;
3568 <NAME>g_completion_new</NAME>
3569 <RETURNS>GCompletion *</RETURNS>
3570 GCompletionFunc func
3573 <NAME>g_completion_add_items</NAME>
3574 <RETURNS>void </RETURNS>
3575 GCompletion* cmp,GList* items
3578 <NAME>g_completion_remove_items</NAME>
3579 <RETURNS>void </RETURNS>
3580 GCompletion* cmp,GList* items
3583 <NAME>g_completion_clear_items</NAME>
3584 <RETURNS>void </RETURNS>
3588 <NAME>g_completion_complete</NAME>
3589 <RETURNS>GList *</RETURNS>
3590 GCompletion* cmp,gchar* prefix,gchar** new_prefix
3593 <NAME>g_completion_free</NAME>
3594 <RETURNS>void </RETURNS>
3598 <NAME>GDateYear</NAME>
3599 typedef guint16 GDateYear;
3602 <NAME>GDateDay</NAME>
3603 typedef guint8 GDateDay; /* day of the month */
3609 <NAME>GDateDMY</NAME>
3618 <NAME>GDateWeekday</NAME>
3621 G_DATE_BAD_WEEKDAY = 0,
3624 G_DATE_WEDNESDAY = 3,
3625 G_DATE_THURSDAY = 4,
3627 G_DATE_SATURDAY = 6,
3632 <NAME>GDateMonth</NAME>
3635 G_DATE_BAD_MONTH = 0,
3637 G_DATE_FEBRUARY = 2,
3644 G_DATE_SEPTEMBER = 9,
3645 G_DATE_OCTOBER = 10,
3646 G_DATE_NOVEMBER = 11,
3647 G_DATE_DECEMBER = 12
3651 <NAME>G_DATE_BAD_JULIAN</NAME>
3652 #define G_DATE_BAD_JULIAN 0U
3655 <NAME>G_DATE_BAD_DAY</NAME>
3656 #define G_DATE_BAD_DAY 0U
3659 <NAME>G_DATE_BAD_YEAR</NAME>
3660 #define G_DATE_BAD_YEAR 0U
3666 guint julian_days : 32; /* julian days representation - we use a
3667 * bitfield hoping that 64 bit platforms
3668 * will pack this whole struct in one big
3672 guint julian : 1; /* julian is valid */
3673 guint dmy : 1; /* dmy is valid */
3675 /* DMY representation */
3682 <NAME>g_date_new</NAME>
3683 <RETURNS>GDate *</RETURNS>
3687 <NAME>g_date_new_dmy</NAME>
3688 <RETURNS>GDate *</RETURNS>
3689 GDateDay day,GDateMonth month,GDateYear year
3692 <NAME>g_date_new_julian</NAME>
3693 <RETURNS>GDate *</RETURNS>
3697 <NAME>g_date_free</NAME>
3698 <RETURNS>void </RETURNS>
3702 <NAME>g_date_valid</NAME>
3703 <RETURNS>gboolean </RETURNS>
3707 <NAME>g_date_valid_day</NAME>
3708 <RETURNS>gboolean </RETURNS>
3712 <NAME>g_date_valid_month</NAME>
3713 <RETURNS>gboolean </RETURNS>
3717 <NAME>g_date_valid_year</NAME>
3718 <RETURNS>gboolean </RETURNS>
3722 <NAME>g_date_valid_weekday</NAME>
3723 <RETURNS>gboolean </RETURNS>
3724 GDateWeekday weekday
3727 <NAME>g_date_valid_julian</NAME>
3728 <RETURNS>gboolean </RETURNS>
3732 <NAME>g_date_valid_dmy</NAME>
3733 <RETURNS>gboolean </RETURNS>
3734 GDateDay day,GDateMonth month,GDateYear year
3737 <NAME>g_date_weekday</NAME>
3738 <RETURNS>GDateWeekday </RETURNS>
3742 <NAME>g_date_month</NAME>
3743 <RETURNS>GDateMonth </RETURNS>
3747 <NAME>g_date_year</NAME>
3748 <RETURNS>GDateYear </RETURNS>
3752 <NAME>g_date_day</NAME>
3753 <RETURNS>GDateDay </RETURNS>
3757 <NAME>g_date_julian</NAME>
3758 <RETURNS>guint32 </RETURNS>
3762 <NAME>g_date_day_of_year</NAME>
3763 <RETURNS>guint </RETURNS>
3767 <NAME>g_date_monday_week_of_year</NAME>
3768 <RETURNS>guint </RETURNS>
3772 <NAME>g_date_sunday_week_of_year</NAME>
3773 <RETURNS>guint </RETURNS>
3777 <NAME>g_date_clear</NAME>
3778 <RETURNS>void </RETURNS>
3779 GDate *date,guint n_dates
3782 <NAME>g_date_set_parse</NAME>
3783 <RETURNS>void </RETURNS>
3784 GDate *date,const gchar *str
3787 <NAME>g_date_set_time</NAME>
3788 <RETURNS>void </RETURNS>
3789 GDate *date,GTime time
3792 <NAME>g_date_set_month</NAME>
3793 <RETURNS>void </RETURNS>
3794 GDate *date,GDateMonth month
3797 <NAME>g_date_set_day</NAME>
3798 <RETURNS>void </RETURNS>
3799 GDate *date,GDateDay day
3802 <NAME>g_date_set_year</NAME>
3803 <RETURNS>void </RETURNS>
3804 GDate *date,GDateYear year
3807 <NAME>g_date_set_dmy</NAME>
3808 <RETURNS>void </RETURNS>
3809 GDate *date,GDateDay day,GDateMonth month,GDateYear y
3812 <NAME>g_date_set_julian</NAME>
3813 <RETURNS>void </RETURNS>
3814 GDate *date,guint32 julian_date
3817 <NAME>g_date_is_first_of_month</NAME>
3818 <RETURNS>gboolean </RETURNS>
3822 <NAME>g_date_is_last_of_month</NAME>
3823 <RETURNS>gboolean </RETURNS>
3827 <NAME>g_date_add_days</NAME>
3828 <RETURNS>void </RETURNS>
3829 GDate *date,guint n_days
3832 <NAME>g_date_subtract_days</NAME>
3833 <RETURNS>void </RETURNS>
3834 GDate *date,guint n_days
3837 <NAME>g_date_add_months</NAME>
3838 <RETURNS>void </RETURNS>
3839 GDate *date,guint n_months
3842 <NAME>g_date_subtract_months</NAME>
3843 <RETURNS>void </RETURNS>
3844 GDate *date,guint n_months
3847 <NAME>g_date_add_years</NAME>
3848 <RETURNS>void </RETURNS>
3849 GDate *date,guint n_years
3852 <NAME>g_date_subtract_years</NAME>
3853 <RETURNS>void </RETURNS>
3854 GDate *date,guint n_years
3857 <NAME>g_date_is_leap_year</NAME>
3858 <RETURNS>gboolean </RETURNS>
3862 <NAME>g_date_days_in_month</NAME>
3863 <RETURNS>guint8 </RETURNS>
3864 GDateMonth month,GDateYear year
3867 <NAME>g_date_monday_weeks_in_year</NAME>
3868 <RETURNS>guint8 </RETURNS>
3872 <NAME>g_date_sunday_weeks_in_year</NAME>
3873 <RETURNS>guint8 </RETURNS>
3877 <NAME>g_date_compare</NAME>
3878 <RETURNS>gint </RETURNS>
3879 GDate *lhs,GDate *rhs
3882 <NAME>g_date_to_struct_tm</NAME>
3883 <RETURNS>void </RETURNS>
3884 GDate *date,struct tm *tm
3887 <NAME>g_date_strftime</NAME>
3888 <RETURNS>gsize </RETURNS>
3889 gchar *s,gsize slen,const gchar *format,GDate *date
3892 <NAME>g_relation_new</NAME>
3893 <RETURNS>GRelation *</RETURNS>
3897 <NAME>g_relation_destroy</NAME>
3898 <RETURNS>void </RETURNS>
3902 <NAME>g_relation_index</NAME>
3903 <RETURNS>void </RETURNS>
3904 GRelation *relation,gint field,GHashFunc hash_func,GCompareFunc key_compare_func
3907 <NAME>g_relation_insert</NAME>
3908 <RETURNS>void </RETURNS>
3909 GRelation *relation,...
3912 <NAME>g_relation_delete</NAME>
3913 <RETURNS>gint </RETURNS>
3914 GRelation *relation,gconstpointer key,gint field
3917 <NAME>g_relation_select</NAME>
3918 <RETURNS>GTuples *</RETURNS>
3919 GRelation *relation,gconstpointer key,gint field
3922 <NAME>g_relation_count</NAME>
3923 <RETURNS>gint </RETURNS>
3924 GRelation *relation,gconstpointer key,gint field
3927 <NAME>g_relation_exists</NAME>
3928 <RETURNS>gboolean </RETURNS>
3929 GRelation *relation,...
3932 <NAME>g_relation_print</NAME>
3933 <RETURNS>void </RETURNS>
3937 <NAME>g_tuples_destroy</NAME>
3938 <RETURNS>void </RETURNS>
3942 <NAME>g_tuples_index</NAME>
3943 <RETURNS>gpointer </RETURNS>
3944 GTuples *tuples,gint index,gint field
3947 <NAME>g_rand_new_with_seed</NAME>
3948 <RETURNS>GRand *</RETURNS>
3952 <NAME>g_rand_new</NAME>
3953 <RETURNS>GRand *</RETURNS>
3957 <NAME>g_rand_free</NAME>
3958 <RETURNS>void </RETURNS>
3962 <NAME>g_rand_set_seed</NAME>
3963 <RETURNS>void </RETURNS>
3964 GRand *rand,guint32 seed
3967 <NAME>g_rand_int</NAME>
3968 <RETURNS>guint32 </RETURNS>
3972 <NAME>g_rand_int_range</NAME>
3973 <RETURNS>gint32 </RETURNS>
3974 GRand *rand,gint32 min,gint32 max
3977 <NAME>g_rand_double</NAME>
3978 <RETURNS>gdouble </RETURNS>
3982 <NAME>g_rand_double_range</NAME>
3983 <RETURNS>gdouble </RETURNS>
3984 GRand *rand,gdouble min,gdouble max
3987 <NAME>g_random_set_seed</NAME>
3988 <RETURNS>void </RETURNS>
3992 <NAME>g_random_int</NAME>
3993 <RETURNS>guint32 </RETURNS>
3997 <NAME>g_random_int_range</NAME>
3998 <RETURNS>gint32 </RETURNS>
3999 gint32 min,gint32 max
4002 <NAME>g_random_double</NAME>
4003 <RETURNS>gdouble </RETURNS>
4007 <NAME>g_random_double_range</NAME>
4008 <RETURNS>gdouble </RETURNS>
4009 gdouble min,gdouble max
4012 <NAME>g_spaced_primes_closest</NAME>
4013 <RETURNS>guint </RETURNS>
4017 <NAME>GIOFuncs</NAME>
4020 <NAME>GIOError</NAME>
4030 <NAME>GSeekType</NAME>
4039 <NAME>GIOCondition</NAME>
4042 G_IO_IN GLIB_SYSDEF_POLLIN,
4043 G_IO_OUT GLIB_SYSDEF_POLLOUT,
4044 G_IO_PRI GLIB_SYSDEF_POLLPRI,
4045 G_IO_ERR GLIB_SYSDEF_POLLERR,
4046 G_IO_HUP GLIB_SYSDEF_POLLHUP,
4047 G_IO_NVAL GLIB_SYSDEF_POLLNVAL
4051 <NAME>GIOChannel</NAME>
4054 guint channel_flags;
4060 <NAME>GIOFunc</NAME>
4061 <RETURNS>gboolean </RETURNS>
4063 GIOCondition condition,
4067 <NAME>GIOFuncs</NAME>
4070 GIOError (*io_read) (GIOChannel *channel,
4074 GIOError (*io_write) (GIOChannel *channel,
4077 guint *bytes_written);
4078 GIOError (*io_seek) (GIOChannel *channel,
4081 void (*io_close) (GIOChannel *channel);
4082 guint (*io_add_watch) (GIOChannel *channel,
4084 GIOCondition condition,
4087 GDestroyNotify notify);
4088 void (*io_free) (GIOChannel *channel);
4092 <NAME>g_io_channel_init</NAME>
4093 <RETURNS>void </RETURNS>
4097 <NAME>g_io_channel_ref</NAME>
4098 <RETURNS>void </RETURNS>
4102 <NAME>g_io_channel_unref</NAME>
4103 <RETURNS>void </RETURNS>
4107 <NAME>g_io_channel_read</NAME>
4108 <RETURNS>GIOError </RETURNS>
4109 GIOChannel *channel,gchar *buf,guint count,guint *bytes_read
4112 <NAME>g_io_channel_write</NAME>
4113 <RETURNS>GIOError </RETURNS>
4114 GIOChannel *channel,gchar *buf,guint count,guint *bytes_written
4117 <NAME>g_io_channel_seek</NAME>
4118 <RETURNS>GIOError </RETURNS>
4119 GIOChannel *channel,gint offset,GSeekType type
4122 <NAME>g_io_channel_close</NAME>
4123 <RETURNS>void </RETURNS>
4127 <NAME>g_io_add_watch_full</NAME>
4128 <RETURNS>guint </RETURNS>
4129 GIOChannel *channel,gint priority,GIOCondition condition,GIOFunc func,gpointer user_data,GDestroyNotify notify
4132 <NAME>g_io_add_watch</NAME>
4133 <RETURNS>guint </RETURNS>
4134 GIOChannel *channel,GIOCondition condition,GIOFunc func,gpointer user_data
4137 <NAME>GTimeVal</NAME>
4140 <NAME>GSourceFuncs</NAME>
4143 <NAME>GMainLoop</NAME>
4146 <NAME>GTimeVal</NAME>
4154 <NAME>GSourceFuncs</NAME>
4157 gboolean (*prepare) (gpointer source_data,
4158 GTimeVal *current_time,
4160 gpointer user_data);
4161 gboolean (*check) (gpointer source_data,
4162 GTimeVal *current_time,
4163 gpointer user_data);
4164 gboolean (*dispatch) (gpointer source_data,
4165 GTimeVal *dispatch_time,
4166 gpointer user_data);
4167 GDestroyNotify destroy;
4171 <NAME>G_PRIORITY_HIGH</NAME>
4172 #define G_PRIORITY_HIGH -100
4175 <NAME>G_PRIORITY_DEFAULT</NAME>
4176 #define G_PRIORITY_DEFAULT 0
4179 <NAME>G_PRIORITY_HIGH_IDLE</NAME>
4180 #define G_PRIORITY_HIGH_IDLE 100
4183 <NAME>G_PRIORITY_DEFAULT_IDLE</NAME>
4184 #define G_PRIORITY_DEFAULT_IDLE 200
4187 <NAME>G_PRIORITY_LOW</NAME>
4188 #define G_PRIORITY_LOW 300
4191 <NAME>GSourceFunc</NAME>
4192 <RETURNS>gboolean </RETURNS>
4196 <NAME>g_source_add</NAME>
4197 <RETURNS>guint </RETURNS>
4198 gint priority,gboolean can_recurse,GSourceFuncs *funcs,gpointer source_data,gpointer user_data,GDestroyNotify notify
4201 <NAME>g_source_remove</NAME>
4202 <RETURNS>gboolean </RETURNS>
4206 <NAME>g_source_remove_by_user_data</NAME>
4207 <RETURNS>gboolean </RETURNS>
4211 <NAME>g_source_remove_by_source_data</NAME>
4212 <RETURNS>gboolean </RETURNS>
4213 gpointer source_data
4216 <NAME>g_source_remove_by_funcs_user_data</NAME>
4217 <RETURNS>gboolean </RETURNS>
4218 GSourceFuncs *funcs,gpointer user_data
4221 <NAME>g_get_current_time</NAME>
4222 <RETURNS>void </RETURNS>
4226 <NAME>g_main_new</NAME>
4227 <RETURNS>GMainLoop *</RETURNS>
4231 <NAME>g_main_run</NAME>
4232 <RETURNS>void </RETURNS>
4236 <NAME>g_main_quit</NAME>
4237 <RETURNS>void </RETURNS>
4241 <NAME>g_main_destroy</NAME>
4242 <RETURNS>void </RETURNS>
4246 <NAME>g_main_is_running</NAME>
4247 <RETURNS>gboolean </RETURNS>
4251 <NAME>g_main_iteration</NAME>
4252 <RETURNS>gboolean </RETURNS>
4256 <NAME>g_main_pending</NAME>
4257 <RETURNS>gboolean </RETURNS>
4261 <NAME>g_timeout_add_full</NAME>
4262 <RETURNS>guint </RETURNS>
4263 gint priority,guint interval,GSourceFunc function,gpointer data,GDestroyNotify notify
4266 <NAME>g_timeout_add</NAME>
4267 <RETURNS>guint </RETURNS>
4268 guint interval,GSourceFunc function,gpointer data
4271 <NAME>g_idle_add</NAME>
4272 <RETURNS>guint </RETURNS>
4273 GSourceFunc function,gpointer data
4276 <NAME>g_idle_add_full</NAME>
4277 <RETURNS>guint </RETURNS>
4278 gint priority,GSourceFunc function,gpointer data,GDestroyNotify destroy
4281 <NAME>g_idle_remove_by_data</NAME>
4282 <RETURNS>gboolean </RETURNS>
4286 <NAME>GPollFD</NAME>
4289 <NAME>GPollFunc</NAME>
4290 <RETURNS>gint </RETURNS>
4296 <NAME>GPollFD</NAME>
4305 <NAME>g_main_add_poll</NAME>
4306 <RETURNS>void </RETURNS>
4307 GPollFD *fd,gint priority
4310 <NAME>g_main_remove_poll</NAME>
4311 <RETURNS>void </RETURNS>
4315 <NAME>g_main_set_poll_func</NAME>
4316 <RETURNS>void </RETURNS>
4320 <NAME>g_main_win32_get_poll_func</NAME>
4321 <RETURNS>GPollFunc </RETURNS>
4325 <NAME>g_io_channel_unix_new</NAME>
4326 <RETURNS>GIOChannel *</RETURNS>
4330 <NAME>g_io_channel_unix_get_fd</NAME>
4331 <RETURNS>gint </RETURNS>
4335 <NAME>G_WIN32_MSG_HANDLE</NAME>
4336 #define G_WIN32_MSG_HANDLE 19981206
4339 <NAME>g_io_channel_win32_make_pollfd</NAME>
4340 <RETURNS>void </RETURNS>
4341 GIOChannel *channel,GIOCondition condition,GPollFD *fd
4344 <NAME>g_io_channel_win32_poll</NAME>
4345 <RETURNS>gint </RETURNS>
4346 GPollFD *fds,gint n_fds,gint timeout
4349 <NAME>g_main_poll_win32_msg_add</NAME>
4350 <RETURNS>void </RETURNS>
4351 gint priority,GPollFD *fd,guint hwnd
4354 <NAME>g_io_channel_win32_new_messages</NAME>
4355 <RETURNS>GIOChannel *</RETURNS>
4359 <NAME>g_io_channel_win32_new_fd</NAME>
4360 <RETURNS>GIOChannel *</RETURNS>
4364 <NAME>g_io_channel_win32_get_fd</NAME>
4365 <RETURNS>gint </RETURNS>
4369 <NAME>g_io_channel_win32_new_stream_socket</NAME>
4370 <RETURNS>GIOChannel *</RETURNS>
4374 <NAME>MAXPATHLEN</NAME>
4375 # define MAXPATHLEN 1024
4383 #define pipe(phandles) _pipe (phandles, 4096, _O_BINARY)
4386 <NAME>ftruncate</NAME>
4387 # define ftruncate(fd, size) g_win32_ftruncate (fd, size)
4390 <NAME>opendir</NAME>
4391 # define opendir g_win32_opendir
4394 <NAME>readdir</NAME>
4395 # define readdir g_win32_readdir
4398 <NAME>rewinddir</NAME>
4399 # define rewinddir g_win32_rewinddir
4402 <NAME>closedir</NAME>
4403 # define closedir g_win32_closedir
4406 <NAME>NAME_MAX</NAME>
4407 # define NAME_MAX 255
4410 <NAME>g_win32_ftruncate</NAME>
4411 <RETURNS>int </RETURNS>
4415 <NAME>g_win32_opendir</NAME>
4416 <RETURNS>DIR *</RETURNS>
4417 const gchar *dirname
4420 <NAME>g_win32_rewinddir</NAME>
4421 <RETURNS>void </RETURNS>
4425 <NAME>g_win32_closedir</NAME>
4426 <RETURNS>gint </RETURNS>
4430 <NAME>g_win32_getlocale</NAME>
4431 <RETURNS>gchar *</RETURNS>
4435 <NAME>g_win32_error_message</NAME>
4436 <RETURNS>gchar *</RETURNS>
4440 <NAME>g_thread_error_quark</NAME>
4441 <RETURNS>GQuark </RETURNS>
4445 <NAME>G_THREAD_ERROR</NAME>
4446 #define G_THREAD_ERROR g_thread_error_quark()
4449 <NAME>GThreadError</NAME>
4452 G_THREAD_ERROR_AGAIN /* Resource temporarily unavailable */
4456 <NAME>GThreadFunc</NAME>
4457 <RETURNS>void </RETURNS>
4461 <NAME>GThreadPriority</NAME>
4464 G_THREAD_PRIORITY_LOW,
4465 G_THREAD_PRIORITY_NORMAL,
4466 G_THREAD_PRIORITY_HIGH,
4467 G_THREAD_PRIORITY_URGENT
4471 <NAME>GThread</NAME>
4474 <NAME>GThread</NAME>
4477 GThreadPriority priority;
4489 <NAME>GPrivate</NAME>
4492 <NAME>GStaticPrivate</NAME>
4495 <NAME>GAsyncQueue</NAME>
4498 <NAME>GThreadPool</NAME>
4501 <NAME>GThreadFunctions</NAME>
4504 <NAME>GThreadFunctions</NAME>
4505 struct GThreadFunctions
4507 GMutex* (*mutex_new) (void);
4508 void (*mutex_lock) (GMutex *mutex);
4509 gboolean (*mutex_trylock) (GMutex *mutex);
4510 void (*mutex_unlock) (GMutex *mutex);
4511 void (*mutex_free) (GMutex *mutex);
4512 GCond* (*cond_new) (void);
4513 void (*cond_signal) (GCond *cond);
4514 void (*cond_broadcast) (GCond *cond);
4515 void (*cond_wait) (GCond *cond,
4517 gboolean (*cond_timed_wait) (GCond *cond,
4519 GTimeVal *end_time);
4520 void (*cond_free) (GCond *cond);
4521 GPrivate* (*private_new) (GDestroyNotify destructor);
4522 gpointer (*private_get) (GPrivate *private_key);
4523 void (*private_set) (GPrivate *private_key,
4525 void (*thread_create) (GThreadFunc thread_func,
4530 GThreadPriority priority,
4533 void (*thread_yield) (void);
4534 void (*thread_join) (gpointer thread);
4535 void (*thread_exit) (void);
4536 void (*thread_set_priority)(gpointer thread,
4537 GThreadPriority priority);
4538 void (*thread_self) (gpointer thread);
4542 <NAME>g_thread_init</NAME>
4543 <RETURNS>void </RETURNS>
4544 GThreadFunctions *vtable
4547 <NAME>g_static_mutex_get_mutex_impl</NAME>
4548 <RETURNS>GMutex *</RETURNS>
4552 <NAME>G_THREAD_UF</NAME>
4553 #define G_THREAD_UF(name, arglist) \
4554 (*g_thread_functions_for_glib_use . name) arglist
4557 <NAME>G_THREAD_CF</NAME>
4558 #define G_THREAD_CF(name, fail, arg) \
4559 (g_thread_supported () ? G_THREAD_UF (name, arg) : (fail))
4562 <NAME>g_thread_supported</NAME>
4563 #define g_thread_supported() (g_threads_got_initialized)
4566 <NAME>g_mutex_new</NAME>
4567 #define g_mutex_new() G_THREAD_UF (mutex_new, ())
4570 <NAME>g_mutex_lock</NAME>
4571 #define g_mutex_lock(mutex) G_THREAD_CF (mutex_lock, (void)0, (mutex))
4574 <NAME>g_mutex_trylock</NAME>
4575 #define g_mutex_trylock(mutex) G_THREAD_CF (mutex_trylock, TRUE, (mutex))
4578 <NAME>g_mutex_unlock</NAME>
4579 #define g_mutex_unlock(mutex) G_THREAD_CF (mutex_unlock, (void)0, (mutex))
4582 <NAME>g_mutex_free</NAME>
4583 #define g_mutex_free(mutex) G_THREAD_CF (mutex_free, (void)0, (mutex))
4586 <NAME>g_cond_new</NAME>
4587 #define g_cond_new() G_THREAD_UF (cond_new, ())
4590 <NAME>g_cond_signal</NAME>
4591 #define g_cond_signal(cond) G_THREAD_CF (cond_signal, (void)0, (cond))
4594 <NAME>g_cond_broadcast</NAME>
4595 #define g_cond_broadcast(cond) G_THREAD_CF (cond_broadcast, (void)0, (cond))
4598 <NAME>g_cond_wait</NAME>
4599 #define g_cond_wait(cond, mutex) G_THREAD_CF (cond_wait, (void)0, (cond, \
4603 <NAME>g_cond_free</NAME>
4604 #define g_cond_free(cond) G_THREAD_CF (cond_free, (void)0, (cond))
4607 <NAME>g_cond_timed_wait</NAME>
4608 #define g_cond_timed_wait(cond, mutex, abs_time) G_THREAD_CF (cond_timed_wait, \
4614 <NAME>g_private_new</NAME>
4615 #define g_private_new(destructor) G_THREAD_UF (private_new, (destructor))
4618 <NAME>g_private_get</NAME>
4619 #define g_private_get(private_key) G_THREAD_CF (private_get, \
4620 ((gpointer)private_key), \
4624 <NAME>g_private_set</NAME>
4625 #define g_private_set(private_key, value) G_THREAD_CF (private_set, \
4626 (void) (private_key = \
4627 (GPrivate*) (value)), \
4628 (private_key, value))
4631 <NAME>g_thread_yield</NAME>
4632 #define g_thread_yield() G_THREAD_CF (thread_yield, (void)0, ())
4635 <NAME>g_thread_exit</NAME>
4636 #define g_thread_exit() G_THREAD_CF (thread_exit, (void)0, ())
4639 <NAME>g_thread_create</NAME>
4640 <RETURNS>GThread *</RETURNS>
4641 GThreadFunc thread_func,gpointer arg,gulong stack_size,gboolean joinable,gboolean bound,GThreadPriority priority,GError **error
4644 <NAME>g_thread_self</NAME>
4645 <RETURNS>GThread *</RETURNS>
4649 <NAME>g_thread_join</NAME>
4650 <RETURNS>void </RETURNS>
4654 <NAME>g_thread_set_priority</NAME>
4655 <RETURNS>void </RETURNS>
4656 GThread *thread,GThreadPriority priority
4659 <NAME>g_static_mutex_lock</NAME>
4660 #define g_static_mutex_lock(mutex) \
4661 g_mutex_lock (g_static_mutex_get_mutex (mutex))
4664 <NAME>g_static_mutex_trylock</NAME>
4665 #define g_static_mutex_trylock(mutex) \
4666 g_mutex_trylock (g_static_mutex_get_mutex (mutex))
4669 <NAME>g_static_mutex_unlock</NAME>
4670 #define g_static_mutex_unlock(mutex) \
4671 g_mutex_unlock (g_static_mutex_get_mutex (mutex))
4674 <NAME>GStaticPrivate</NAME>
4675 struct GStaticPrivate
4681 <NAME>G_STATIC_PRIVATE_INIT</NAME>
4682 #define G_STATIC_PRIVATE_INIT { 0 }
4685 <NAME>g_static_private_get</NAME>
4686 <RETURNS>gpointer </RETURNS>
4687 GStaticPrivate *private_key
4690 <NAME>g_static_private_set</NAME>
4691 <RETURNS>void </RETURNS>
4692 GStaticPrivate *private_key,gpointer data,GDestroyNotify notify
4695 <NAME>g_static_private_get_for_thread</NAME>
4696 <RETURNS>gpointer </RETURNS>
4697 GStaticPrivate *private_key,GThread *thread
4700 <NAME>g_static_private_set_for_thread</NAME>
4701 <RETURNS>void </RETURNS>
4702 GStaticPrivate *private_key,GThread *thread,gpointer data,GDestroyNotify notify
4705 <NAME>GStaticRecMutex</NAME>
4708 <NAME>GStaticRecMutex</NAME>
4709 struct GStaticRecMutex
4713 GSystemThread owner;
4717 <NAME>G_STATIC_REC_MUTEX_INIT</NAME>
4718 #define G_STATIC_REC_MUTEX_INIT { G_STATIC_MUTEX_INIT }
4721 <NAME>g_static_rec_mutex_lock</NAME>
4722 <RETURNS>void </RETURNS>
4723 GStaticRecMutex *mutex
4726 <NAME>g_static_rec_mutex_trylock</NAME>
4727 <RETURNS>gboolean </RETURNS>
4728 GStaticRecMutex *mutex
4731 <NAME>g_static_rec_mutex_unlock</NAME>
4732 <RETURNS>void </RETURNS>
4733 GStaticRecMutex *mutex
4736 <NAME>g_static_rec_mutex_lock_full</NAME>
4737 <RETURNS>void </RETURNS>
4738 GStaticRecMutex *mutex,guint depth
4741 <NAME>g_static_rec_mutex_unlock_full</NAME>
4742 <RETURNS>guint </RETURNS>
4743 GStaticRecMutex *mutex
4746 <NAME>GStaticRWLock</NAME>
4749 <NAME>GStaticRWLock</NAME>
4750 struct GStaticRWLock
4757 guint want_to_write;
4761 <NAME>G_STATIC_RW_LOCK_INIT</NAME>
4762 #define G_STATIC_RW_LOCK_INIT { G_STATIC_MUTEX_INIT, NULL, NULL, 0, FALSE, FALSE }
4765 <NAME>g_static_rw_lock_reader_lock</NAME>
4766 <RETURNS>void </RETURNS>
4770 <NAME>g_static_rw_lock_reader_trylock</NAME>
4771 <RETURNS>gboolean </RETURNS>
4775 <NAME>g_static_rw_lock_reader_unlock</NAME>
4776 <RETURNS>void </RETURNS>
4780 <NAME>g_static_rw_lock_writer_lock</NAME>
4781 <RETURNS>void </RETURNS>
4785 <NAME>g_static_rw_lock_writer_trylock</NAME>
4786 <RETURNS>gboolean </RETURNS>
4790 <NAME>g_static_rw_lock_writer_unlock</NAME>
4791 <RETURNS>void </RETURNS>
4795 <NAME>g_static_rw_lock_free</NAME>
4796 <RETURNS>void </RETURNS>
4800 <NAME>glib_dummy_decl</NAME>
4801 <RETURNS>void </RETURNS>
4805 <NAME>G_LOCK_NAME</NAME>
4806 #define G_LOCK_NAME(name) g__ ## name ## _lock
4809 <NAME>G_LOCK_DEFINE_STATIC</NAME>
4810 # define G_LOCK_DEFINE_STATIC(name) static G_LOCK_DEFINE (name)
4813 <NAME>G_LOCK_DEFINE</NAME>
4814 # define G_LOCK_DEFINE(name) \
4815 GStaticMutex G_LOCK_NAME (name) = G_STATIC_MUTEX_INIT
4818 <NAME>G_LOCK_EXTERN</NAME>
4819 # define G_LOCK_EXTERN(name) extern GStaticMutex G_LOCK_NAME (name)
4823 # define G_LOCK(name) G_STMT_START{ \
4824 g_log (G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, \
4825 "file %s: line %d (%s): locking: %s ", \
4826 __FILE__, __LINE__, G_GNUC_PRETTY_FUNCTION, \
4828 g_static_mutex_lock (&G_LOCK_NAME (name)); \
4832 <NAME>G_UNLOCK</NAME>
4833 # define G_UNLOCK(name) G_STMT_START{ \
4834 g_log (G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, \
4835 "file %s: line %d (%s): unlocking: %s ", \
4836 __FILE__, __LINE__, G_GNUC_PRETTY_FUNCTION, \
4838 g_static_mutex_unlock (&G_LOCK_NAME (name)); \
4842 <NAME>G_TRYLOCK</NAME>
4843 # define G_TRYLOCK(name) \
4844 (g_log (G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, \
4845 "file %s: line %d (%s): try locking: %s ", \
4846 __FILE__, __LINE__, G_GNUC_PRETTY_FUNCTION, \
4847 #name), g_static_mutex_trylock (&G_LOCK_NAME (name)))
4851 # define G_LOCK(name) g_static_mutex_lock (&G_LOCK_NAME (name))
4854 <NAME>G_UNLOCK</NAME>
4855 # define G_UNLOCK(name) g_static_mutex_unlock (&G_LOCK_NAME (name))
4858 <NAME>G_TRYLOCK</NAME>
4859 # define G_TRYLOCK(name) g_static_mutex_trylock (&G_LOCK_NAME (name))
4862 <NAME>G_LOCK_DEFINE_STATIC</NAME>
4863 # define G_LOCK_DEFINE_STATIC(name) extern void glib_dummy_decl (void)
4866 <NAME>G_LOCK_DEFINE</NAME>
4867 # define G_LOCK_DEFINE(name) extern void glib_dummy_decl (void)
4870 <NAME>G_LOCK_EXTERN</NAME>
4871 # define G_LOCK_EXTERN(name) extern void glib_dummy_decl (void)
4875 # define G_LOCK(name)
4878 <NAME>G_UNLOCK</NAME>
4879 # define G_UNLOCK(name)
4882 <NAME>G_TRYLOCK</NAME>
4883 # define G_TRYLOCK(name) (TRUE)
4886 <NAME>g_async_queue_new</NAME>
4887 <RETURNS>GAsyncQueue *</RETURNS>
4891 <NAME>g_async_queue_lock</NAME>
4892 <RETURNS>void </RETURNS>
4896 <NAME>g_async_queue_unlock</NAME>
4897 <RETURNS>void </RETURNS>
4901 <NAME>g_async_queue_ref</NAME>
4902 <RETURNS>void </RETURNS>
4906 <NAME>g_async_queue_ref_unlocked</NAME>
4907 <RETURNS>void </RETURNS>
4911 <NAME>g_async_queue_unref</NAME>
4912 <RETURNS>void </RETURNS>
4916 <NAME>g_async_queue_unref_and_unlock</NAME>
4917 <RETURNS>void </RETURNS>
4921 <NAME>g_async_queue_push</NAME>
4922 <RETURNS>void </RETURNS>
4923 GAsyncQueue *queue,gpointer data
4926 <NAME>g_async_queue_push_unlocked</NAME>
4927 <RETURNS>void </RETURNS>
4928 GAsyncQueue *queue,gpointer data
4931 <NAME>g_async_queue_pop</NAME>
4932 <RETURNS>gpointer </RETURNS>
4936 <NAME>g_async_queue_pop_unlocked</NAME>
4937 <RETURNS>gpointer </RETURNS>
4941 <NAME>g_async_queue_try_pop</NAME>
4942 <RETURNS>gpointer </RETURNS>
4946 <NAME>g_async_queue_try_pop_unlocked</NAME>
4947 <RETURNS>gpointer </RETURNS>
4951 <NAME>g_async_queue_timed_pop</NAME>
4952 <RETURNS>gpointer </RETURNS>
4953 GAsyncQueue *queue,GTimeVal *end_time
4956 <NAME>g_async_queue_timed_pop_unlocked</NAME>
4957 <RETURNS>gpointer </RETURNS>
4958 GAsyncQueue *queue,GTimeVal *end_time
4961 <NAME>g_async_queue_length</NAME>
4962 <RETURNS>gint </RETURNS>
4966 <NAME>g_async_queue_length_unlocked</NAME>
4967 <RETURNS>gint </RETURNS>
4971 <NAME>GThreadPool</NAME>
4977 GThreadPriority priority;
4983 <NAME>g_thread_pool_new</NAME>
4984 <RETURNS>GThreadPool *</RETURNS>
4985 GFunc thread_func,gint max_threads,gulong stack_size,gboolean bound,GThreadPriority priority,gboolean exclusive,gpointer user_data,GError **error
4988 <NAME>g_thread_pool_push</NAME>
4989 <RETURNS>void </RETURNS>
4990 GThreadPool *pool,gpointer data,GError **error
4993 <NAME>g_thread_pool_set_max_threads</NAME>
4994 <RETURNS>void </RETURNS>
4995 GThreadPool *pool,gint max_threads,GError **error
4998 <NAME>g_thread_pool_get_max_threads</NAME>
4999 <RETURNS>gint </RETURNS>
5003 <NAME>g_thread_pool_get_num_threads</NAME>
5004 <RETURNS>guint </RETURNS>
5008 <NAME>g_thread_pool_unprocessed</NAME>
5009 <RETURNS>guint </RETURNS>
5013 <NAME>g_thread_pool_free</NAME>
5014 <RETURNS>void </RETURNS>
5015 GThreadPool *pool,gboolean immediate,gboolean wait
5018 <NAME>g_thread_pool_set_max_unused_threads</NAME>
5019 <RETURNS>void </RETURNS>
5023 <NAME>g_thread_pool_get_max_unused_threads</NAME>
5024 <RETURNS>gint </RETURNS>
5028 <NAME>g_thread_pool_get_num_unused_threads</NAME>
5029 <RETURNS>guint </RETURNS>
5033 <NAME>g_thread_pool_stop_unused_threads</NAME>
5034 <RETURNS>void </RETURNS>
5038 <NAME>gunichar</NAME>
5039 typedef guint32 gunichar;
5042 <NAME>gunichar2</NAME>
5043 typedef guint16 gunichar2;
5046 <NAME>GUnicodeType</NAME>
5050 G_UNICODE_UNASSIGNED,
5051 G_UNICODE_PRIVATE_USE,
5052 G_UNICODE_SURROGATE,
5053 G_UNICODE_LOWERCASE_LETTER,
5054 G_UNICODE_MODIFIER_LETTER,
5055 G_UNICODE_OTHER_LETTER,
5056 G_UNICODE_TITLECASE_LETTER,
5057 G_UNICODE_UPPERCASE_LETTER,
5058 G_UNICODE_COMBINING_MARK,
5059 G_UNICODE_ENCLOSING_MARK,
5060 G_UNICODE_NON_SPACING_MARK,
5061 G_UNICODE_DECIMAL_NUMBER,
5062 G_UNICODE_LETTER_NUMBER,
5063 G_UNICODE_OTHER_NUMBER,
5064 G_UNICODE_CONNECT_PUNCTUATION,
5065 G_UNICODE_DASH_PUNCTUATION,
5066 G_UNICODE_CLOSE_PUNCTUATION,
5067 G_UNICODE_FINAL_PUNCTUATION,
5068 G_UNICODE_INITIAL_PUNCTUATION,
5069 G_UNICODE_OTHER_PUNCTUATION,
5070 G_UNICODE_OPEN_PUNCTUATION,
5071 G_UNICODE_CURRENCY_SYMBOL,
5072 G_UNICODE_MODIFIER_SYMBOL,
5073 G_UNICODE_MATH_SYMBOL,
5074 G_UNICODE_OTHER_SYMBOL,
5075 G_UNICODE_LINE_SEPARATOR,
5076 G_UNICODE_PARAGRAPH_SEPARATOR,
5077 G_UNICODE_SPACE_SEPARATOR
5081 <NAME>g_get_charset</NAME>
5082 <RETURNS>gboolean </RETURNS>
5086 <NAME>g_unichar_isalnum</NAME>
5087 <RETURNS>gboolean </RETURNS>
5091 <NAME>g_unichar_isalpha</NAME>
5092 <RETURNS>gboolean </RETURNS>
5096 <NAME>g_unichar_iscntrl</NAME>
5097 <RETURNS>gboolean </RETURNS>
5101 <NAME>g_unichar_isdigit</NAME>
5102 <RETURNS>gboolean </RETURNS>
5106 <NAME>g_unichar_isgraph</NAME>
5107 <RETURNS>gboolean </RETURNS>
5111 <NAME>g_unichar_islower</NAME>
5112 <RETURNS>gboolean </RETURNS>
5116 <NAME>g_unichar_isprint</NAME>
5117 <RETURNS>gboolean </RETURNS>
5121 <NAME>g_unichar_ispunct</NAME>
5122 <RETURNS>gboolean </RETURNS>
5126 <NAME>g_unichar_isspace</NAME>
5127 <RETURNS>gboolean </RETURNS>
5131 <NAME>g_unichar_isupper</NAME>
5132 <RETURNS>gboolean </RETURNS>
5136 <NAME>g_unichar_isxdigit</NAME>
5137 <RETURNS>gboolean </RETURNS>
5141 <NAME>g_unichar_istitle</NAME>
5142 <RETURNS>gboolean </RETURNS>
5146 <NAME>g_unichar_isdefined</NAME>
5147 <RETURNS>gboolean </RETURNS>
5151 <NAME>g_unichar_iswide</NAME>
5152 <RETURNS>gboolean </RETURNS>
5156 <NAME>g_unichar_toupper</NAME>
5157 <RETURNS>gunichar </RETURNS>
5161 <NAME>g_unichar_tolower</NAME>
5162 <RETURNS>gunichar </RETURNS>
5166 <NAME>g_unichar_totitle</NAME>
5167 <RETURNS>gunichar </RETURNS>
5171 <NAME>g_unichar_digit_value</NAME>
5172 <RETURNS>gint </RETURNS>
5176 <NAME>g_unichar_xdigit_value</NAME>
5177 <RETURNS>gint </RETURNS>
5181 <NAME>g_unichar_type</NAME>
5182 <RETURNS>GUnicodeType </RETURNS>
5186 <NAME>g_unicode_canonical_ordering</NAME>
5187 <RETURNS>void </RETURNS>
5188 gunichar *string,size_t len
5191 <NAME>g_unicode_canonical_decomposition</NAME>
5192 <RETURNS>gunichar *</RETURNS>
5193 gunichar ch,size_t *result_len
5196 <NAME>GLIB_VAR</NAME>
5197 # define GLIB_VAR __declspec(dllexport)
5200 <NAME>GLIB_VAR</NAME>
5201 # define GLIB_VAR extern __declspec(dllimport)
5204 <NAME>GLIB_VAR</NAME>
5205 # define GLIB_VAR extern
5208 <NAME>g_utf8_next_char</NAME>
5209 #define g_utf8_next_char(p) (char *)((p) + g_utf8_skip[*(guchar *)(p)])
5212 <NAME>g_utf8_get_char</NAME>
5213 <RETURNS>gunichar </RETURNS>
5217 <NAME>g_utf8_offset_to_pointer</NAME>
5218 <RETURNS>gchar *</RETURNS>
5219 const gchar *str,gint offset
5222 <NAME>g_utf8_pointer_to_offset</NAME>
5223 <RETURNS>gint </RETURNS>
5224 const gchar *str,const gchar *pos
5227 <NAME>g_utf8_prev_char</NAME>
5228 <RETURNS>gchar *</RETURNS>
5232 <NAME>g_utf8_find_next_char</NAME>
5233 <RETURNS>gchar *</RETURNS>
5234 const gchar *p,const gchar *bound
5237 <NAME>g_utf8_find_prev_char</NAME>
5238 <RETURNS>gchar *</RETURNS>
5239 const gchar *str,const gchar *p
5242 <NAME>g_utf8_strlen</NAME>
5243 <RETURNS>gint </RETURNS>
5244 const gchar *p,gint max
5247 <NAME>g_utf8_strncpy</NAME>
5248 <RETURNS>gchar *</RETURNS>
5249 gchar *dest,const gchar *src,size_t n
5252 <NAME>g_utf8_strchr</NAME>
5253 <RETURNS>gchar *</RETURNS>
5254 const gchar *p,gunichar ch
5257 <NAME>g_utf8_strrchr</NAME>
5258 <RETURNS>gchar *</RETURNS>
5259 const gchar *p,gunichar ch
5262 <NAME>g_utf8_to_utf16</NAME>
5263 <RETURNS>gunichar2 *</RETURNS>
5264 const gchar *str,gint len
5267 <NAME>g_utf8_to_ucs4</NAME>
5268 <RETURNS>gunichar *</RETURNS>
5269 const gchar *str,gint len
5272 <NAME>g_utf16_to_ucs4</NAME>
5273 <RETURNS>gunichar *</RETURNS>
5274 const gunichar2 *str,gint len
5277 <NAME>g_utf16_to_utf8</NAME>
5278 <RETURNS>gchar *</RETURNS>
5279 const gunichar2 *str,gint len
5282 <NAME>g_ucs4_to_utf16</NAME>
5283 <RETURNS>gunichar *</RETURNS>
5284 const gunichar *str,gint len
5287 <NAME>g_ucs4_to_utf8</NAME>
5288 <RETURNS>gchar *</RETURNS>
5289 const gunichar *str,gint len
5292 <NAME>g_unichar_to_utf8</NAME>
5293 <RETURNS>gint </RETURNS>
5294 gunichar c,char *outbuf
5297 <NAME>GLIB_HAVE_SYS_POLL_H</NAME>
5298 #define GLIB_HAVE_SYS_POLL_H
5301 <NAME>G_MINFLOAT</NAME>
5302 #define G_MINFLOAT FLT_MIN
5305 <NAME>G_MAXFLOAT</NAME>
5306 #define G_MAXFLOAT FLT_MAX
5309 <NAME>G_MINDOUBLE</NAME>
5310 #define G_MINDOUBLE DBL_MIN
5313 <NAME>G_MAXDOUBLE</NAME>
5314 #define G_MAXDOUBLE DBL_MAX
5317 <NAME>G_MINSHORT</NAME>
5318 #define G_MINSHORT SHRT_MIN
5321 <NAME>G_MAXSHORT</NAME>
5322 #define G_MAXSHORT SHRT_MAX
5325 <NAME>G_MAXUSHORT</NAME>
5326 #define G_MAXUSHORT USHRT_MAX
5329 <NAME>G_MININT</NAME>
5330 #define G_MININT INT_MIN
5333 <NAME>G_MAXINT</NAME>
5334 #define G_MAXINT INT_MAX
5337 <NAME>G_MAXUINT</NAME>
5338 #define G_MAXUINT UINT_MAX
5341 <NAME>G_MINLONG</NAME>
5342 #define G_MINLONG LONG_MIN
5345 <NAME>G_MAXLONG</NAME>
5346 #define G_MAXLONG LONG_MAX
5349 <NAME>G_MAXULONG</NAME>
5350 #define G_MAXULONG ULONG_MAX
5354 typedef signed char gint8;
5358 typedef unsigned char guint8;
5362 typedef signed short gint16;
5365 <NAME>guint16</NAME>
5366 typedef unsigned short guint16;
5369 <NAME>G_GINT16_FORMAT</NAME>
5370 #define G_GINT16_FORMAT "hi"
5373 <NAME>G_GUINT16_FORMAT</NAME>
5374 #define G_GUINT16_FORMAT "hu"
5378 typedef signed int gint32;
5381 <NAME>guint32</NAME>
5382 typedef unsigned int guint32;
5385 <NAME>G_GINT32_FORMAT</NAME>
5386 #define G_GINT32_FORMAT "i"
5389 <NAME>G_GUINT32_FORMAT</NAME>
5390 #define G_GUINT32_FORMAT "u"
5393 <NAME>G_HAVE_GINT64</NAME>
5394 #define G_HAVE_GINT64 1
5398 G_GNUC_EXTENSION typedef signed long long gint64;
5401 <NAME>guint64</NAME>
5402 G_GNUC_EXTENSION typedef unsigned long long guint64;
5405 <NAME>G_GINT64_FORMAT</NAME>
5406 #define G_GINT64_FORMAT "lli"
5409 <NAME>G_GUINT64_FORMAT</NAME>
5410 #define G_GUINT64_FORMAT "llu"
5413 <NAME>G_GINT64_CONSTANT</NAME>
5414 #define G_GINT64_CONSTANT(val) (G_GNUC_EXTENSION (val##LL))
5418 typedef gint32 gssize;
5422 typedef guint32 gsize;
5425 <NAME>GPOINTER_TO_INT</NAME>
5426 #define GPOINTER_TO_INT(p) ((gint) (p))
5429 <NAME>GPOINTER_TO_UINT</NAME>
5430 #define GPOINTER_TO_UINT(p) ((guint) (p))
5433 <NAME>GINT_TO_POINTER</NAME>
5434 #define GINT_TO_POINTER(i) ((gpointer) (i))
5437 <NAME>GUINT_TO_POINTER</NAME>
5438 #define GUINT_TO_POINTER(u) ((gpointer) (u))
5441 <NAME>g_ATEXIT</NAME>
5442 # define g_ATEXIT(proc) (!atexit (proc))
5445 <NAME>g_ATEXIT</NAME>
5446 # define g_ATEXIT(proc) (atexit (proc))
5449 <NAME>g_memmove</NAME>
5450 #define g_memmove(d,s,n) G_STMT_START { memmove ((d), (s), (n)); } G_STMT_END
5453 <NAME>GLIB_MAJOR_VERSION</NAME>
5454 #define GLIB_MAJOR_VERSION 1
5457 <NAME>GLIB_MINOR_VERSION</NAME>
5458 #define GLIB_MINOR_VERSION 3
5461 <NAME>GLIB_MICRO_VERSION</NAME>
5462 #define GLIB_MICRO_VERSION 1
5465 <NAME>G_OS_UNIX</NAME>
5469 <NAME>G_VA_COPY</NAME>
5470 #define G_VA_COPY __va_copy
5473 <NAME>G_HAVE_INLINE</NAME>
5474 #define G_HAVE_INLINE 1
5477 <NAME>G_HAVE_INLINE</NAME>
5478 #define G_HAVE_INLINE 1
5481 <NAME>G_HAVE___INLINE</NAME>
5482 #define G_HAVE___INLINE 1
5485 <NAME>G_HAVE___INLINE__</NAME>
5486 #define G_HAVE___INLINE__ 1
5489 <NAME>G_THREADS_ENABLED</NAME>
5490 #define G_THREADS_ENABLED
5493 <NAME>G_THREADS_IMPL_POSIX</NAME>
5494 #define G_THREADS_IMPL_POSIX
5497 <NAME>GStaticMutex</NAME>
5500 <NAME>GStaticMutex</NAME>
5503 struct _GMutex *runtime_mutex;
5506 double dummy_double;
5507 void *dummy_pointer;
5513 <NAME>G_STATIC_MUTEX_INIT</NAME>
5514 #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} } }
5517 <NAME>g_static_mutex_get_mutex</NAME>
5518 #define g_static_mutex_get_mutex(mutex) (g_thread_use_default_impl ? ((GMutex*) &((mutex)->aligned_pad_u)) : g_static_mutex_get_mutex_impl (&((mutex)->runtime_mutex)))
5521 <NAME>GSystemThread</NAME>
5525 double dummy_double;
5526 void *dummy_pointer;
5531 <NAME>GINT16_TO_LE</NAME>
5532 #define GINT16_TO_LE(val) ((gint16) (val))
5535 <NAME>GUINT16_TO_LE</NAME>
5536 #define GUINT16_TO_LE(val) ((guint16) (val))
5539 <NAME>GINT16_TO_BE</NAME>
5540 #define GINT16_TO_BE(val) ((gint16) GUINT16_SWAP_LE_BE (val))
5543 <NAME>GUINT16_TO_BE</NAME>
5544 #define GUINT16_TO_BE(val) (GUINT16_SWAP_LE_BE (val))
5547 <NAME>GINT32_TO_LE</NAME>
5548 #define GINT32_TO_LE(val) ((gint32) (val))
5551 <NAME>GUINT32_TO_LE</NAME>
5552 #define GUINT32_TO_LE(val) ((guint32) (val))
5555 <NAME>GINT32_TO_BE</NAME>
5556 #define GINT32_TO_BE(val) ((gint32) GUINT32_SWAP_LE_BE (val))
5559 <NAME>GUINT32_TO_BE</NAME>
5560 #define GUINT32_TO_BE(val) (GUINT32_SWAP_LE_BE (val))
5563 <NAME>GINT64_TO_LE</NAME>
5564 #define GINT64_TO_LE(val) ((gint64) (val))
5567 <NAME>GUINT64_TO_LE</NAME>
5568 #define GUINT64_TO_LE(val) ((guint64) (val))
5571 <NAME>GINT64_TO_BE</NAME>
5572 #define GINT64_TO_BE(val) ((gint64) GUINT64_SWAP_LE_BE (val))
5575 <NAME>GUINT64_TO_BE</NAME>
5576 #define GUINT64_TO_BE(val) (GUINT64_SWAP_LE_BE (val))
5579 <NAME>GLONG_TO_LE</NAME>
5580 #define GLONG_TO_LE(val) ((glong) GINT32_TO_LE (val))
5583 <NAME>GULONG_TO_LE</NAME>
5584 #define GULONG_TO_LE(val) ((gulong) GUINT32_TO_LE (val))
5587 <NAME>GLONG_TO_BE</NAME>
5588 #define GLONG_TO_BE(val) ((glong) GINT32_TO_BE (val))
5591 <NAME>GULONG_TO_BE</NAME>
5592 #define GULONG_TO_BE(val) ((gulong) GUINT32_TO_BE (val))
5595 <NAME>GINT_TO_LE</NAME>
5596 #define GINT_TO_LE(val) ((gint) GINT32_TO_LE (val))
5599 <NAME>GUINT_TO_LE</NAME>
5600 #define GUINT_TO_LE(val) ((guint) GUINT32_TO_LE (val))
5603 <NAME>GINT_TO_BE</NAME>
5604 #define GINT_TO_BE(val) ((gint) GINT32_TO_BE (val))
5607 <NAME>GUINT_TO_BE</NAME>
5608 #define GUINT_TO_BE(val) ((guint) GUINT32_TO_BE (val))
5611 <NAME>G_BYTE_ORDER</NAME>
5612 #define G_BYTE_ORDER G_LITTLE_ENDIAN
5615 <NAME>GLIB_SYSDEF_POLLIN</NAME>
5616 #define GLIB_SYSDEF_POLLIN =1
5619 <NAME>GLIB_SYSDEF_POLLOUT</NAME>
5620 #define GLIB_SYSDEF_POLLOUT =4
5623 <NAME>GLIB_SYSDEF_POLLPRI</NAME>
5624 #define GLIB_SYSDEF_POLLPRI =2
5627 <NAME>GLIB_SYSDEF_POLLERR</NAME>
5628 #define GLIB_SYSDEF_POLLERR =8
5631 <NAME>GLIB_SYSDEF_POLLHUP</NAME>
5632 #define GLIB_SYSDEF_POLLHUP =16
5635 <NAME>GLIB_SYSDEF_POLLNVAL</NAME>
5636 #define GLIB_SYSDEF_POLLNVAL =32
5639 <NAME>g_log_domain_gmodule</NAME>
5640 extern const char *g_log_domain_gmodule;
5643 <NAME>G_MODULE_IMPORT</NAME>
5644 #define G_MODULE_IMPORT extern
5647 <NAME>G_MODULE_EXPORT</NAME>
5648 # define G_MODULE_EXPORT __declspec(dllexport)
5651 <NAME>G_MODULE_EXPORT</NAME>
5652 # define G_MODULE_EXPORT
5655 <NAME>GModuleFlags</NAME>
5658 G_MODULE_BIND_LAZY = 1 << 0,
5659 G_MODULE_BIND_MASK = 0x01
5663 <NAME>GModule</NAME>
5666 <NAME>GModuleCheckInit</NAME>
5667 <RETURNS>const gchar *</RETURNS>
5671 <NAME>GModuleUnload</NAME>
5672 <RETURNS>void </RETURNS>
5676 <NAME>g_module_supported</NAME>
5677 <RETURNS>gboolean </RETURNS>
5681 <NAME>g_module_open</NAME>
5682 <RETURNS>GModule *</RETURNS>
5683 const gchar *file_name,GModuleFlags flags
5686 <NAME>g_module_close</NAME>
5687 <RETURNS>gboolean </RETURNS>
5691 <NAME>g_module_make_resident</NAME>
5692 <RETURNS>void </RETURNS>
5696 <NAME>g_module_error</NAME>
5697 <RETURNS>gchar *</RETURNS>
5701 <NAME>g_module_symbol</NAME>
5702 <RETURNS>gboolean </RETURNS>
5703 GModule *module,const gchar *symbol_name,gpointer *symbol
5706 <NAME>g_module_name</NAME>
5707 <RETURNS>gchar *</RETURNS>
5711 <NAME>g_module_build_path</NAME>
5712 <RETURNS>gchar *</RETURNS>
5713 const gchar *directory,const gchar *module_name
5716 <NAME>G_TYPE_IS_ENUM</NAME>
5717 #define G_TYPE_IS_ENUM(type) (G_TYPE_FUNDAMENTAL (type) == G_TYPE_ENUM)
5720 <NAME>G_ENUM_CLASS</NAME>
5721 #define G_ENUM_CLASS(class) (G_TYPE_CHECK_CLASS_CAST ((class), G_TYPE_ENUM, GEnumClass))
5724 <NAME>G_IS_ENUM_CLASS</NAME>
5725 #define G_IS_ENUM_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), G_TYPE_ENUM))
5728 <NAME>G_ENUM_CLASS_TYPE</NAME>
5729 #define G_ENUM_CLASS_TYPE(class) (G_TYPE_FROM_CLASS (class))
5732 <NAME>G_ENUM_CLASS_TYPE_NAME</NAME>
5733 #define G_ENUM_CLASS_TYPE_NAME(class) (g_type_name (G_ENUM_TYPE (class)))
5736 <NAME>G_TYPE_IS_FLAGS</NAME>
5737 #define G_TYPE_IS_FLAGS(type) (G_TYPE_FUNDAMENTAL (type) == G_TYPE_FLAGS)
5740 <NAME>G_FLAGS_CLASS</NAME>
5741 #define G_FLAGS_CLASS(class) (G_TYPE_CHECK_CLASS_CAST ((class), G_TYPE_FLAGS, GFlagsClass))
5744 <NAME>G_IS_FLAGS_CLASS</NAME>
5745 #define G_IS_FLAGS_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), G_TYPE_FLAGS))
5748 <NAME>G_FLAGS_CLASS_TYPE</NAME>
5749 #define G_FLAGS_CLASS_TYPE(class) (G_TYPE_FROM_CLASS (class))
5752 <NAME>G_FLAGS_CLASS_TYPE_NAME</NAME>
5753 #define G_FLAGS_CLASS_TYPE_NAME(class) (g_type_name (G_FLAGS_TYPE (class)))
5756 <NAME>G_IS_VALUE_ENUM</NAME>
5757 #define G_IS_VALUE_ENUM(value) (G_TYPE_CHECK_CLASS_TYPE ((value), G_TYPE_ENUM))
5760 <NAME>G_IS_VALUE_FLAGS</NAME>
5761 #define G_IS_VALUE_FLAGS(value) (G_TYPE_CHECK_CLASS_TYPE ((value), G_TYPE_FLAGS))
5764 <NAME>GEnumClass</NAME>
5767 <NAME>GFlagsClass</NAME>
5770 <NAME>GEnumValue</NAME>
5773 <NAME>GFlagsValue</NAME>
5776 <NAME>GEnumValue</NAME>
5785 <NAME>GFlagsValue</NAME>
5794 <NAME>g_enum_get_value</NAME>
5795 <RETURNS>GEnumValue *</RETURNS>
5796 GEnumClass *enum_class,gint value
5799 <NAME>g_enum_get_value_by_name</NAME>
5800 <RETURNS>GEnumValue *</RETURNS>
5801 GEnumClass *enum_class,const gchar *name
5804 <NAME>g_enum_get_value_by_nick</NAME>
5805 <RETURNS>GEnumValue *</RETURNS>
5806 GEnumClass *enum_class,const gchar *nick
5809 <NAME>g_flags_get_first_value</NAME>
5810 <RETURNS>GFlagsValue *</RETURNS>
5811 GFlagsClass *flags_class,guint value
5814 <NAME>g_flags_get_value_by_name</NAME>
5815 <RETURNS>GFlagsValue *</RETURNS>
5816 GFlagsClass *flags_class,const gchar *name
5819 <NAME>g_flags_get_value_by_nick</NAME>
5820 <RETURNS>GFlagsValue *</RETURNS>
5821 GFlagsClass *flags_class,const gchar *nick
5824 <NAME>g_value_set_enum</NAME>
5825 <RETURNS>void </RETURNS>
5826 GValue *value,gint v_enum
5829 <NAME>g_value_get_enum</NAME>
5830 <RETURNS>gint </RETURNS>
5834 <NAME>g_value_set_flags</NAME>
5835 <RETURNS>void </RETURNS>
5836 GValue *value,guint v_flags
5839 <NAME>g_value_get_flags</NAME>
5840 <RETURNS>guint </RETURNS>
5844 <NAME>g_enum_register_static</NAME>
5845 <RETURNS>GType </RETURNS>
5846 const gchar *name,const GEnumValue *const_static_values
5849 <NAME>g_flags_register_static</NAME>
5850 <RETURNS>GType </RETURNS>
5851 const gchar *name,const GFlagsValue *const_static_values
5854 <NAME>g_enum_complete_type_info</NAME>
5855 <RETURNS>void </RETURNS>
5856 GType g_enum_type,GTypeInfo *info,const GEnumValue *const_values
5859 <NAME>g_flags_complete_type_info</NAME>
5860 <RETURNS>void </RETURNS>
5861 GType g_flags_type,GTypeInfo *info,const GFlagsValue *const_values
5864 <NAME>G_TYPE_IS_OBJECT</NAME>
5865 #define G_TYPE_IS_OBJECT(type) (G_TYPE_FUNDAMENTAL (type) == G_TYPE_OBJECT)
5868 <NAME>G_OBJECT</NAME>
5869 #define G_OBJECT(object) (G_IS_OBJECT (object) ? ((GObject*) (object)) : \
5870 G_TYPE_CHECK_INSTANCE_CAST ((object), G_TYPE_OBJECT, GObject))
5873 <NAME>G_OBJECT_CLASS</NAME>
5874 #define G_OBJECT_CLASS(class) (G_IS_OBJECT_CLASS (class) ? ((GObjectClass*) (class)) : \
5875 G_TYPE_CHECK_CLASS_CAST ((class), G_TYPE_OBJECT, GObjectClass))
5878 <NAME>G_IS_OBJECT</NAME>
5879 #define G_IS_OBJECT(object) (((GObject*) (object)) != NULL && \
5880 G_IS_OBJECT_CLASS (((GTypeInstance*) (object))->g_class))
5883 <NAME>G_IS_OBJECT_CLASS</NAME>
5884 #define G_IS_OBJECT_CLASS(class) (((GTypeClass*) (class)) != NULL && \
5885 G_TYPE_IS_OBJECT (((GTypeClass*) (class))->g_type))
5888 <NAME>G_OBJECT_GET_CLASS</NAME>
5889 #define G_OBJECT_GET_CLASS(object) (G_TYPE_INSTANCE_GET_CLASS ((object), G_TYPE_OBJECT, GObjectClass))
5892 <NAME>G_OBJECT_TYPE</NAME>
5893 #define G_OBJECT_TYPE(object) (G_TYPE_FROM_INSTANCE (object))
5896 <NAME>G_OBJECT_TYPE_NAME</NAME>
5897 #define G_OBJECT_TYPE_NAME(object) (g_type_name (G_OBJECT_TYPE (object)))
5900 <NAME>G_OBJECT_CLASS_TYPE</NAME>
5901 #define G_OBJECT_CLASS_TYPE(class) (G_TYPE_FROM_CLASS (class))
5904 <NAME>G_OBJECT_CLASS_NAME</NAME>
5905 #define G_OBJECT_CLASS_NAME(class) (g_type_name (G_OBJECT_CLASS_TYPE (class)))
5908 <NAME>G_IS_VALUE_OBJECT</NAME>
5909 #define G_IS_VALUE_OBJECT(value) (G_TYPE_CHECK_CLASS_TYPE ((value), G_TYPE_OBJECT))
5912 <NAME>G_NOTIFY_PRIORITY</NAME>
5913 #define G_NOTIFY_PRIORITY (G_PRIORITY_HIGH_IDLE + 20)
5916 <NAME>GObject</NAME>
5919 <NAME>GObjectClass</NAME>
5922 <NAME>GObjectGetParamFunc</NAME>
5923 <RETURNS>void </RETURNS>
5928 const gchar *trailer
5931 <NAME>GObjectSetParamFunc</NAME>
5932 <RETURNS>void </RETURNS>
5937 const gchar *trailer
5940 <NAME>GObjectFinalizeFunc</NAME>
5941 <RETURNS>void </RETURNS>
5945 <NAME>GObject</NAME>
5948 GTypeInstance g_type_instance;
5956 <NAME>g_object_class_install_param</NAME>
5957 <RETURNS>void </RETURNS>
5958 GObjectClass *oclass,guint param_id,GParamSpec *pspec
5961 <NAME>g_object_class_find_param_spec</NAME>
5962 <RETURNS>GParamSpec *</RETURNS>
5963 GObjectClass *oclass,const gchar *param_name
5966 <NAME>g_object_new</NAME>
5967 <RETURNS>gpointer </RETURNS>
5968 GType object_type,const gchar *first_param_name,...
5971 <NAME>g_object_new_valist</NAME>
5972 <RETURNS>gpointer </RETURNS>
5973 GType object_type,const gchar *first_param_name,va_list var_args
5976 <NAME>g_object_set</NAME>
5977 <RETURNS>void </RETURNS>
5978 GObject *object,const gchar *first_param_name,...
5981 <NAME>g_object_get</NAME>
5982 <RETURNS>void </RETURNS>
5983 GObject *object,const gchar *first_param_name,...
5986 <NAME>g_object_set_valist</NAME>
5987 <RETURNS>void </RETURNS>
5988 GObject *object,const gchar *first_param_name,va_list var_args
5991 <NAME>g_object_get_valist</NAME>
5992 <RETURNS>void </RETURNS>
5993 GObject *object,const gchar *first_param_name,va_list var_args
5996 <NAME>g_object_set_param</NAME>
5997 <RETURNS>void </RETURNS>
5998 GObject *object,const gchar *param_name,const GValue *value
6001 <NAME>g_object_get_param</NAME>
6002 <RETURNS>void </RETURNS>
6003 GObject *object,const gchar *param_name,GValue *value
6006 <NAME>g_object_queue_param_changed</NAME>
6007 <RETURNS>void </RETURNS>
6008 GObject *object,const gchar *param_name
6011 <NAME>g_object_ref</NAME>
6012 <RETURNS>GObject *</RETURNS>
6016 <NAME>g_object_unref</NAME>
6017 <RETURNS>void </RETURNS>
6021 <NAME>g_object_get_qdata</NAME>
6022 <RETURNS>gpointer </RETURNS>
6023 GObject *object,GQuark quark
6026 <NAME>g_object_set_qdata</NAME>
6027 <RETURNS>void </RETURNS>
6028 GObject *object,GQuark quark,gpointer data
6031 <NAME>g_object_set_qdata_full</NAME>
6032 <RETURNS>void </RETURNS>
6033 GObject *object,GQuark quark,gpointer data,GDestroyNotify destroy
6036 <NAME>g_object_steal_qdata</NAME>
6037 <RETURNS>gpointer </RETURNS>
6038 GObject *object,GQuark quark
6041 <NAME>g_value_set_object</NAME>
6042 <RETURNS>void </RETURNS>
6043 GValue *value,GObject *v_object
6046 <NAME>g_value_get_object</NAME>
6047 <RETURNS>GObject *</RETURNS>
6051 <NAME>g_value_dup_object</NAME>
6052 <RETURNS>GObject *</RETURNS>
6056 <NAME>G_WARN_INVALID_PARAM_ID</NAME>
6057 #define G_WARN_INVALID_PARAM_ID(object, param_id, pspec) \
6059 GObject *_object = (GObject*) (object); \
6060 GParamSpec *_pspec = (GParamSpec*) (pspec); \
6061 guint _param_id = (param_id); \
6062 g_warning ("%s: invalid parameter id %u for \"%s\" of type `%s' in `%s'", \
6066 g_type_name (G_PARAM_SPEC_TYPE (_pspec)), \
6067 BSE_OBJECT_TYPE_NAME (_object)); \
6071 <NAME>G_TYPE_IS_PARAM</NAME>
6072 #define G_TYPE_IS_PARAM(type) (G_TYPE_FUNDAMENTAL (type) == G_TYPE_PARAM)
6075 <NAME>G_PARAM_SPEC_TYPE</NAME>
6076 #define G_PARAM_SPEC_TYPE(pspec) (G_TYPE_FROM_INSTANCE (pspec))
6079 <NAME>G_PARAM_SPEC_TYPE_NAME</NAME>
6080 #define G_PARAM_SPEC_TYPE_NAME(pspec) (g_type_name (G_PARAM_SPEC_TYPE (pspec)))
6083 <NAME>G_PARAM_SPEC</NAME>
6084 #define G_PARAM_SPEC(pspec) (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM, GParamSpec))
6087 <NAME>G_IS_PARAM_SPEC</NAME>
6088 #define G_IS_PARAM_SPEC(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM))
6091 <NAME>G_PARAM_SPEC_GET_CLASS</NAME>
6092 #define G_PARAM_SPEC_GET_CLASS(pspec) (G_TYPE_INSTANCE_GET_CLASS ((pspec), G_TYPE_PARAM, GParamSpecClass))
6095 <NAME>G_IS_PARAM_VALUE</NAME>
6096 #define G_IS_PARAM_VALUE(pspec, value) (g_type_is_a (G_VALUE_TYPE (value), G_PARAM_SPEC_VALUE_TYPE (pspec))) /* FIXME */
6099 <NAME>G_PARAM_SPEC_VALUE_TYPE</NAME>
6100 #define G_PARAM_SPEC_VALUE_TYPE(pspec) (G_PARAM_SPEC_GET_CLASS (pspec)->value_type)
6103 <NAME>GParamFlags</NAME>
6106 G_PARAM_READABLE = 1 << 0,
6107 G_PARAM_WRITABLE = 1 << 1,
6108 G_PARAM_MASK = 0x000f,
6109 /* bits in the range 0xfff0 are reserved for 3rd party usage */
6110 G_PARAM_USER_MASK = 0xfff0
6114 <NAME>GParamSpecClass</NAME>
6117 <NAME>GParamSpec</NAME>
6120 <NAME>GParamSpec</NAME>
6123 GTypeInstance g_instance;
6137 <NAME>g_param_spec_ref</NAME>
6138 <RETURNS>GParamSpec *</RETURNS>
6142 <NAME>g_param_spec_unref</NAME>
6143 <RETURNS>void </RETURNS>
6147 <NAME>g_param_spec_get_qdata</NAME>
6148 <RETURNS>gpointer </RETURNS>
6149 GParamSpec *pspec,GQuark quark
6152 <NAME>g_param_spec_set_qdata</NAME>
6153 <RETURNS>void </RETURNS>
6154 GParamSpec *pspec,GQuark quark,gpointer data
6157 <NAME>g_param_spec_set_qdata_full</NAME>
6158 <RETURNS>void </RETURNS>
6159 GParamSpec *pspec,GQuark quark,gpointer data,GDestroyNotify destroy
6162 <NAME>g_param_spec_steal_qdata</NAME>
6163 <RETURNS>gpointer </RETURNS>
6164 GParamSpec *pspec,GQuark quark
6167 <NAME>g_param_value_set_default</NAME>
6168 <RETURNS>void </RETURNS>
6169 GParamSpec *pspec,GValue *value
6172 <NAME>g_param_value_defaults</NAME>
6173 <RETURNS>gboolean </RETURNS>
6174 GParamSpec *pspec,GValue *value
6177 <NAME>g_param_value_validate</NAME>
6178 <RETURNS>gboolean </RETURNS>
6179 GParamSpec *pspec,GValue *value
6182 <NAME>g_param_values_cmp</NAME>
6183 <RETURNS>gint </RETURNS>
6184 GParamSpec *pspec,const GValue *value1,const GValue *value2
6187 <NAME>g_param_spec_internal</NAME>
6188 <RETURNS>gpointer </RETURNS>
6189 GType param_type,const gchar *name,const gchar *nick,const gchar *blurb,GParamFlags flags
6192 <NAME>g_param_spec_hash_table_new</NAME>
6193 <RETURNS>GHashTable *</RETURNS>
6197 <NAME>g_param_spec_hash_table_insert</NAME>
6198 <RETURNS>void </RETURNS>
6199 GHashTable *hash_table,GParamSpec *pspec,GType owner_type
6202 <NAME>g_param_spec_hash_table_remove</NAME>
6203 <RETURNS>void </RETURNS>
6204 GHashTable *hash_table,GParamSpec *pspec
6207 <NAME>g_param_spec_hash_table_lookup</NAME>
6208 <RETURNS>GParamSpec *</RETURNS>
6209 GHashTable *hash_table,const gchar *param_name,GType owner_type,gboolean try_ancestors,const gchar **trailer
6212 <NAME>G_IS_PARAM_SPEC_CHAR</NAME>
6213 #define G_IS_PARAM_SPEC_CHAR(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_CHAR))
6216 <NAME>G_PARAM_SPEC_CHAR</NAME>
6217 #define G_PARAM_SPEC_CHAR(pspec) (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_CHAR, GParamSpecChar))
6220 <NAME>G_IS_PARAM_SPEC_UCHAR</NAME>
6221 #define G_IS_PARAM_SPEC_UCHAR(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_UCHAR))
6224 <NAME>G_PARAM_SPEC_UCHAR</NAME>
6225 #define G_PARAM_SPEC_UCHAR(pspec) (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_UCHAR, GParamSpecUChar))
6228 <NAME>G_IS_PARAM_SPEC_BOOLEAN</NAME>
6229 #define G_IS_PARAM_SPEC_BOOLEAN(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_BOOLEAN))
6232 <NAME>G_PARAM_SPEC_BOOLEAN</NAME>
6233 #define G_PARAM_SPEC_BOOLEAN(pspec) (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_BOOLEAN, GParamSpecBoolean))
6236 <NAME>G_IS_PARAM_SPEC_INT</NAME>
6237 #define G_IS_PARAM_SPEC_INT(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_INT))
6240 <NAME>G_PARAM_SPEC_INT</NAME>
6241 #define G_PARAM_SPEC_INT(pspec) (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_INT, GParamSpecInt))
6244 <NAME>G_IS_PARAM_SPEC_UINT</NAME>
6245 #define G_IS_PARAM_SPEC_UINT(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_UINT))
6248 <NAME>G_PARAM_SPEC_UINT</NAME>
6249 #define G_PARAM_SPEC_UINT(pspec) (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_UINT, GParamSpecUInt))
6252 <NAME>G_IS_PARAM_SPEC_LONG</NAME>
6253 #define G_IS_PARAM_SPEC_LONG(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_LONG))
6256 <NAME>G_PARAM_SPEC_LONG</NAME>
6257 #define G_PARAM_SPEC_LONG(pspec) (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_LONG, GParamSpecLong))
6260 <NAME>G_IS_PARAM_SPEC_ULONG</NAME>
6261 #define G_IS_PARAM_SPEC_ULONG(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_ULONG))
6264 <NAME>G_PARAM_SPEC_ULONG</NAME>
6265 #define G_PARAM_SPEC_ULONG(pspec) (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_ULONG, GParamSpecULong))
6268 <NAME>G_IS_PARAM_SPEC_ENUM</NAME>
6269 #define G_IS_PARAM_SPEC_ENUM(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_ENUM))
6272 <NAME>G_PARAM_SPEC_ENUM</NAME>
6273 #define G_PARAM_SPEC_ENUM(pspec) (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_ENUM, GParamSpecEnum))
6276 <NAME>G_IS_PARAM_SPEC_FLAGS</NAME>
6277 #define G_IS_PARAM_SPEC_FLAGS(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_FLAGS))
6280 <NAME>G_PARAM_SPEC_FLAGS</NAME>
6281 #define G_PARAM_SPEC_FLAGS(pspec) (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_FLAGS, GParamSpecFlags))
6284 <NAME>G_IS_PARAM_SPEC_FLOAT</NAME>
6285 #define G_IS_PARAM_SPEC_FLOAT(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_FLOAT))
6288 <NAME>G_PARAM_SPEC_FLOAT</NAME>
6289 #define G_PARAM_SPEC_FLOAT(pspec) (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_FLOAT, GParamSpecFloat))
6292 <NAME>G_IS_PARAM_SPEC_DOUBLE</NAME>
6293 #define G_IS_PARAM_SPEC_DOUBLE(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_DOUBLE))
6296 <NAME>G_PARAM_SPEC_DOUBLE</NAME>
6297 #define G_PARAM_SPEC_DOUBLE(pspec) (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_DOUBLE, GParamSpecDouble))
6300 <NAME>G_IS_PARAM_SPEC_STRING</NAME>
6301 #define G_IS_PARAM_SPEC_STRING(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_STRING))
6304 <NAME>G_PARAM_SPEC_STRING</NAME>
6305 #define G_PARAM_SPEC_STRING(pspec) (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_STRING, GParamSpecString))
6308 <NAME>G_IS_PARAM_SPEC_OBJECT</NAME>
6309 #define G_IS_PARAM_SPEC_OBJECT(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_OBJECT))
6312 <NAME>G_PARAM_SPEC_OBJECT</NAME>
6313 #define G_PARAM_SPEC_OBJECT(pspec) (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_OBJECT, GParamSpecObject))
6316 <NAME>GParamSpecChar</NAME>
6319 <NAME>GParamSpecUChar</NAME>
6322 <NAME>GParamSpecBoolean</NAME>
6325 <NAME>GParamSpecInt</NAME>
6328 <NAME>GParamSpecUInt</NAME>
6331 <NAME>GParamSpecLong</NAME>
6334 <NAME>GParamSpecULong</NAME>
6337 <NAME>GParamSpecEnum</NAME>
6340 <NAME>GParamSpecFlags</NAME>
6343 <NAME>GParamSpecFloat</NAME>
6346 <NAME>GParamSpecDouble</NAME>
6349 <NAME>GParamSpecString</NAME>
6352 <NAME>GParamSpecObject</NAME>
6355 <NAME>GParamSpecChar</NAME>
6356 struct GParamSpecChar
6358 GParamSpec parent_instance;
6362 gint8 default_value;
6366 <NAME>GParamSpecUChar</NAME>
6367 struct GParamSpecUChar
6369 GParamSpec parent_instance;
6373 guint8 default_value;
6377 <NAME>GParamSpecBoolean</NAME>
6378 struct GParamSpecBoolean
6380 GParamSpec parent_instance;
6382 gboolean default_value;
6386 <NAME>GParamSpecInt</NAME>
6387 struct GParamSpecInt
6389 GParamSpec parent_instance;
6397 <NAME>GParamSpecUInt</NAME>
6398 struct GParamSpecUInt
6400 GParamSpec parent_instance;
6404 guint default_value;
6408 <NAME>GParamSpecLong</NAME>
6409 struct GParamSpecLong
6411 GParamSpec parent_instance;
6415 glong default_value;
6419 <NAME>GParamSpecULong</NAME>
6420 struct GParamSpecULong
6422 GParamSpec parent_instance;
6426 gulong default_value;
6430 <NAME>GParamSpecEnum</NAME>
6431 struct GParamSpecEnum
6433 GParamSpec parent_instance;
6435 GEnumClass *enum_class;
6436 glong default_value;
6440 <NAME>GParamSpecFlags</NAME>
6441 struct GParamSpecFlags
6443 GParamSpec parent_instance;
6445 GFlagsClass *flags_class;
6446 gulong default_value;
6450 <NAME>GParamSpecFloat</NAME>
6451 struct GParamSpecFloat
6453 GParamSpec parent_instance;
6457 gfloat default_value;
6462 <NAME>GParamSpecDouble</NAME>
6463 struct GParamSpecDouble
6465 GParamSpec parent_instance;
6469 gdouble default_value;
6474 <NAME>GParamSpecString</NAME>
6475 struct GParamSpecString
6477 GParamSpec parent_instance;
6479 gchar *default_value;
6483 guint null_fold_if_empty : 1;
6484 guint ensure_non_null : 1;
6488 <NAME>GParamSpecObject</NAME>
6489 struct GParamSpecObject
6491 GParamSpec parent_instance;
6497 <NAME>g_param_spec_char</NAME>
6498 <RETURNS>GParamSpec *</RETURNS>
6499 const gchar *name,const gchar *nick,const gchar *blurb,gint8 minimum,gint8 maximum,gint8 default_value,GParamFlags flags
6502 <NAME>g_param_spec_uchar</NAME>
6503 <RETURNS>GParamSpec *</RETURNS>
6504 const gchar *name,const gchar *nick,const gchar *blurb,guint8 minimum,guint8 maximum,guint8 default_value,GParamFlags flags
6507 <NAME>g_param_spec_boolean</NAME>
6508 <RETURNS>GParamSpec *</RETURNS>
6509 const gchar *name,const gchar *nick,const gchar *blurb,gboolean default_value,GParamFlags flags
6512 <NAME>g_param_spec_int</NAME>
6513 <RETURNS>GParamSpec *</RETURNS>
6514 const gchar *name,const gchar *nick,const gchar *blurb,gint minimum,gint maximum,gint default_value,GParamFlags flags
6517 <NAME>g_param_spec_uint</NAME>
6518 <RETURNS>GParamSpec *</RETURNS>
6519 const gchar *name,const gchar *nick,const gchar *blurb,guint minimum,guint maximum,guint default_value,GParamFlags flags
6522 <NAME>g_param_spec_long</NAME>
6523 <RETURNS>GParamSpec *</RETURNS>
6524 const gchar *name,const gchar *nick,const gchar *blurb,glong minimum,glong maximum,glong default_value,GParamFlags flags
6527 <NAME>g_param_spec_ulong</NAME>
6528 <RETURNS>GParamSpec *</RETURNS>
6529 const gchar *name,const gchar *nick,const gchar *blurb,gulong minimum,gulong maximum,gulong default_value,GParamFlags flags
6532 <NAME>g_param_spec_enum</NAME>
6533 <RETURNS>GParamSpec *</RETURNS>
6534 const gchar *name,const gchar *nick,const gchar *blurb,GType enum_type,gint default_value,GParamFlags flags
6537 <NAME>g_param_spec_flags</NAME>
6538 <RETURNS>GParamSpec *</RETURNS>
6539 const gchar *name,const gchar *nick,const gchar *blurb,GType flags_type,guint default_value,GParamFlags flags
6542 <NAME>g_param_spec_float</NAME>
6543 <RETURNS>GParamSpec *</RETURNS>
6544 const gchar *name,const gchar *nick,const gchar *blurb,gfloat minimum,gfloat maximum,gfloat default_value,GParamFlags flags
6547 <NAME>g_param_spec_double</NAME>
6548 <RETURNS>GParamSpec *</RETURNS>
6549 const gchar *name,const gchar *nick,const gchar *blurb,gdouble minimum,gdouble maximum,gdouble default_value,GParamFlags flags
6552 <NAME>g_param_spec_string</NAME>
6553 <RETURNS>GParamSpec *</RETURNS>
6554 const gchar *name,const gchar *nick,const gchar *blurb,const gchar *default_value,GParamFlags flags
6557 <NAME>g_param_spec_string_c</NAME>
6558 <RETURNS>GParamSpec *</RETURNS>
6559 const gchar *name,const gchar *nick,const gchar *blurb,const gchar *default_value,GParamFlags flags
6562 <NAME>g_param_spec_object</NAME>
6563 <RETURNS>GParamSpec *</RETURNS>
6564 const gchar *name,const gchar *nick,const gchar *blurb,GType object_type,GParamFlags flags
6567 <NAME>g_log_domain_gobject</NAME>
6568 extern const char *g_log_domain_gobject;
6571 <NAME>G_TYPE_FUNDAMENTAL</NAME>
6572 #define G_TYPE_FUNDAMENTAL(type) ((type) & 0xff)
6575 <NAME>G_TYPE_FUNDAMENTAL_MAX</NAME>
6576 #define G_TYPE_FUNDAMENTAL_MAX (0xff)
6579 <NAME>G_TYPE_DERIVE_ID</NAME>
6580 #define G_TYPE_DERIVE_ID(ptype, branch_seqno) (G_TYPE_FUNDAMENTAL (ptype) | ((branch_seqno) << 8))
6583 <NAME>G_TYPE_BRANCH_SEQNO</NAME>
6584 #define G_TYPE_BRANCH_SEQNO(type) ((type) >> 8)
6587 <NAME>G_TYPE_FUNDAMENTAL_LAST</NAME>
6588 #define G_TYPE_FUNDAMENTAL_LAST ((GType) g_type_fundamental_last ())
6591 <NAME>GTypeFundamentals</NAME>
6592 typedef enum /*< skip >*/
6594 /* standard types, introduced by g_type_init() */
6615 /* the following reserved ids should vanish soon */
6620 /* reserved fundamental type ids,
6621 * mail gtk-devel-list@redhat.com for reservations
6623 G_TYPE_BSE_PROCEDURE,
6629 G_TYPE_LAST_RESERVED_FUNDAMENTAL,
6631 /* derived type ids */
6632 /* FIXME: G_TYPE_PARAM_INTERFACE */
6633 G_TYPE_PARAM_CHAR = G_TYPE_DERIVE_ID (G_TYPE_PARAM, 1),
6634 G_TYPE_PARAM_UCHAR = G_TYPE_DERIVE_ID (G_TYPE_PARAM, 2),
6635 G_TYPE_PARAM_BOOLEAN = G_TYPE_DERIVE_ID (G_TYPE_PARAM, 3),
6636 G_TYPE_PARAM_INT = G_TYPE_DERIVE_ID (G_TYPE_PARAM, 4),
6637 G_TYPE_PARAM_UINT = G_TYPE_DERIVE_ID (G_TYPE_PARAM, 5),
6638 G_TYPE_PARAM_LONG = G_TYPE_DERIVE_ID (G_TYPE_PARAM, 6),
6639 G_TYPE_PARAM_ULONG = G_TYPE_DERIVE_ID (G_TYPE_PARAM, 7),
6640 G_TYPE_PARAM_ENUM = G_TYPE_DERIVE_ID (G_TYPE_PARAM, 8),
6641 G_TYPE_PARAM_FLAGS = G_TYPE_DERIVE_ID (G_TYPE_PARAM, 9),
6642 G_TYPE_PARAM_FLOAT = G_TYPE_DERIVE_ID (G_TYPE_PARAM, 10),
6643 G_TYPE_PARAM_DOUBLE = G_TYPE_DERIVE_ID (G_TYPE_PARAM, 11),
6644 G_TYPE_PARAM_STRING = G_TYPE_DERIVE_ID (G_TYPE_PARAM, 12),
6645 /* FIXME: G_TYPE_PARAM_PARAM */
6646 G_TYPE_PARAM_OBJECT = G_TYPE_DERIVE_ID (G_TYPE_PARAM, 13)
6647 } GTypeFundamentals;
6650 <NAME>G_TYPE_IS_INTERFACE</NAME>
6651 #define G_TYPE_IS_INTERFACE(type) (G_TYPE_FUNDAMENTAL (type) == G_TYPE_INTERFACE)
6654 <NAME>G_TYPE_IS_CLASSED</NAME>
6655 #define G_TYPE_IS_CLASSED(type) (g_type_check_flags ((type), G_TYPE_FLAG_CLASSED))
6658 <NAME>G_TYPE_IS_INSTANTIATABLE</NAME>
6659 #define G_TYPE_IS_INSTANTIATABLE(type) (g_type_check_flags ((type), G_TYPE_FLAG_INSTANTIATABLE))
6662 <NAME>G_TYPE_IS_DERIVABLE</NAME>
6663 #define G_TYPE_IS_DERIVABLE(type) (g_type_check_flags ((type), G_TYPE_FLAG_DERIVABLE))
6666 <NAME>G_TYPE_IS_DEEP_DERIVABLE</NAME>
6667 #define G_TYPE_IS_DEEP_DERIVABLE(type) (g_type_check_flags ((type), G_TYPE_FLAG_DEEP_DERIVABLE))
6670 <NAME>G_TYPE_IS_PARAM</NAME>
6671 #define G_TYPE_IS_PARAM(type) (G_TYPE_FUNDAMENTAL (type) == G_TYPE_PARAM)
6675 typedef guint32 GType;
6681 <NAME>GTypePlugin</NAME>
6684 <NAME>GTypePluginVTable</NAME>
6687 <NAME>GTypeClass</NAME>
6690 <NAME>GTypeInterface</NAME>
6693 <NAME>GTypeInstance</NAME>
6696 <NAME>GTypeInfo</NAME>
6699 <NAME>GTypeFundamentalInfo</NAME>
6702 <NAME>GInterfaceInfo</NAME>
6705 <NAME>GTypeValueTable</NAME>
6708 <NAME>GTypeInstance</NAME>
6709 struct GTypeInstance
6712 GTypeClass *g_class;
6716 <NAME>GTypeInterface</NAME>
6717 struct GTypeInterface
6720 GType g_type; /* iface type */
6721 GType g_instance_type;
6725 <NAME>G_TYPE_CHECK_INSTANCE_CAST</NAME>
6726 #define G_TYPE_CHECK_INSTANCE_CAST(instance, g_type, c_type) (_G_TYPE_CIC ((instance), (g_type), c_type))
6729 <NAME>G_TYPE_CHECK_CLASS_CAST</NAME>
6730 #define G_TYPE_CHECK_CLASS_CAST(g_class, g_type, c_type) (_G_TYPE_CCC ((g_class), (g_type), c_type))
6733 <NAME>G_TYPE_CHECK_INSTANCE_TYPE</NAME>
6734 #define G_TYPE_CHECK_INSTANCE_TYPE(instance, g_type) (_G_TYPE_CIT ((instance), (g_type)))
6737 <NAME>G_TYPE_CHECK_CLASS_TYPE</NAME>
6738 #define G_TYPE_CHECK_CLASS_TYPE(g_class, g_type) (_G_TYPE_CCT ((g_class), (g_type)))
6741 <NAME>G_TYPE_INSTANCE_GET_CLASS</NAME>
6742 #define G_TYPE_INSTANCE_GET_CLASS(instance, g_type, c_type) (_G_TYPE_IGC ((instance), c_type))
6745 <NAME>G_TYPE_FROM_INSTANCE</NAME>
6746 #define G_TYPE_FROM_INSTANCE(instance) (G_TYPE_FROM_CLASS (((GTypeInstance*) (instance))->g_class))
6749 <NAME>G_TYPE_FROM_CLASS</NAME>
6750 #define G_TYPE_FROM_CLASS(g_class) (((GTypeClass*) (g_class))->g_type)
6753 <NAME>G_TYPE_FROM_INTERFACE</NAME>
6754 #define G_TYPE_FROM_INTERFACE(g_iface) (((GTypeInterface*) (g_iface))->g_type)
6757 <NAME>g_type_init</NAME>
6758 <RETURNS>void </RETURNS>
6762 <NAME>g_type_name</NAME>
6763 <RETURNS>gchar *</RETURNS>
6767 <NAME>g_type_qname</NAME>
6768 <RETURNS>GQuark </RETURNS>
6772 <NAME>g_type_from_name</NAME>
6773 <RETURNS>GType </RETURNS>
6777 <NAME>g_type_parent</NAME>
6778 <RETURNS>GType </RETURNS>
6782 <NAME>g_type_next_base</NAME>
6783 <RETURNS>GType </RETURNS>
6784 GType type,GType base_type
6787 <NAME>g_type_is_a</NAME>
6788 <RETURNS>gboolean </RETURNS>
6789 GType type,GType is_a_type
6792 <NAME>g_type_conforms_to</NAME>
6793 <RETURNS>gboolean </RETURNS>
6794 GType type,GType iface_type
6797 <NAME>g_type_fundamental_branch_last</NAME>
6798 <RETURNS>guint </RETURNS>
6802 <NAME>g_type_class_ref</NAME>
6803 <RETURNS>gpointer </RETURNS>
6807 <NAME>g_type_class_peek</NAME>
6808 <RETURNS>gpointer </RETURNS>
6812 <NAME>g_type_class_unref</NAME>
6813 <RETURNS>void </RETURNS>
6817 <NAME>g_type_class_peek_parent</NAME>
6818 <RETURNS>gpointer </RETURNS>
6822 <NAME>g_type_interface_peek</NAME>
6823 <RETURNS>gpointer </RETURNS>
6824 gpointer instance_class,GType iface_type
6827 <NAME>g_type_children</NAME>
6828 <RETURNS>GType *</RETURNS>
6829 GType type,guint *n_children
6832 <NAME>g_type_interfaces</NAME>
6833 <RETURNS>GType *</RETURNS>
6834 GType type,guint *n_interfaces
6837 <NAME>g_type_set_qdata</NAME>
6838 <RETURNS>void </RETURNS>
6839 GType type,GQuark quark,gpointer data
6842 <NAME>g_type_get_qdata</NAME>
6843 <RETURNS>gpointer </RETURNS>
6844 GType type,GQuark quark
6847 <NAME>GBaseInitFunc</NAME>
6848 <RETURNS>void </RETURNS>
6852 <NAME>GBaseFinalizeFunc</NAME>
6853 <RETURNS>void </RETURNS>
6857 <NAME>GClassInitFunc</NAME>
6858 <RETURNS>void </RETURNS>
6863 <NAME>GClassFinalizeFunc</NAME>
6864 <RETURNS>void </RETURNS>
6869 <NAME>GInstanceInitFunc</NAME>
6870 <RETURNS>void </RETURNS>
6871 GTypeInstance *instance,
6875 <NAME>GInterfaceInitFunc</NAME>
6876 <RETURNS>void </RETURNS>
6881 <NAME>GInterfaceFinalizeFunc</NAME>
6882 <RETURNS>void </RETURNS>
6887 <NAME>GTypePluginRef</NAME>
6888 <RETURNS>void </RETURNS>
6892 <NAME>GTypePluginUnRef</NAME>
6893 <RETURNS>void </RETURNS>
6897 <NAME>GTypePluginFillTypeInfo</NAME>
6898 <RETURNS>void </RETURNS>
6899 GTypePlugin *plugin,
6902 GTypeValueTable *value_table
6905 <NAME>GTypePluginFillInterfaceInfo</NAME>
6906 <RETURNS>void </RETURNS>
6907 GTypePlugin *plugin,
6908 GType interface_type,
6909 GType instance_type,
6910 GInterfaceInfo *info
6913 <NAME>GTypeClassCacheFunc</NAME>
6914 <RETURNS>gboolean </RETURNS>
6915 gpointer cache_data,
6919 <NAME>GTypePlugin</NAME>
6922 GTypePluginVTable *vtable;
6926 <NAME>GTypePluginVTable</NAME>
6927 struct GTypePluginVTable
6929 GTypePluginRef plugin_ref;
6930 GTypePluginUnRef plugin_unref;
6931 GTypePluginFillTypeInfo complete_type_info;
6932 GTypePluginFillInterfaceInfo complete_interface_info;
6936 <NAME>GTypeFlags</NAME>
6937 typedef enum /*< skip >*/
6939 G_TYPE_FLAG_CLASSED = (1 << 0),
6940 G_TYPE_FLAG_INSTANTIATABLE = (1 << 1),
6941 G_TYPE_FLAG_DERIVABLE = (1 << 2),
6942 G_TYPE_FLAG_DEEP_DERIVABLE = (1 << 3)
6946 <NAME>GTypeInfo</NAME>
6949 /* interface types, classed types, instantiated types */
6952 GBaseInitFunc base_init;
6953 GBaseFinalizeFunc base_finalize;
6955 /* classed types, instantiated types */
6956 GClassInitFunc class_init;
6957 GClassFinalizeFunc class_finalize;
6958 gconstpointer class_data;
6960 /* instantiated types */
6961 guint16 instance_size;
6962 guint16 n_preallocs;
6963 GInstanceInitFunc instance_init;
6965 /* value handling */
6966 const GTypeValueTable *value_table;
6970 <NAME>GTypeFundamentalInfo</NAME>
6971 struct GTypeFundamentalInfo
6973 GTypeFlags type_flags;
6977 <NAME>GInterfaceInfo</NAME>
6978 struct GInterfaceInfo
6980 GInterfaceInitFunc interface_init;
6981 GInterfaceFinalizeFunc interface_finalize;
6982 gpointer interface_data;
6986 <NAME>GTypeValueTable</NAME>
6987 struct GTypeValueTable
6989 void (*value_init) (GValue *value);
6990 void (*value_free) (GValue *value);
6991 void (*value_copy) (const GValue *src_value,
6992 GValue *dest_value);
6993 /* varargs functionality (optional) */
6995 gchar* (*collect_value) (GValue *value,
6997 GType *collect_type,
6998 GTypeCValue *collect_value);
7000 gchar* (*lcopy_value) (const GValue *value,
7002 GType *collect_type,
7003 GTypeCValue *collect_value);
7007 <NAME>g_type_register_static</NAME>
7008 <RETURNS>GType </RETURNS>
7009 GType parent_type,const gchar *type_name,const GTypeInfo *info
7012 <NAME>g_type_register_dynamic</NAME>
7013 <RETURNS>GType </RETURNS>
7014 GType parent_type,const gchar *type_name,GTypePlugin *plugin
7017 <NAME>g_type_register_fundamental</NAME>
7018 <RETURNS>GType </RETURNS>
7019 GType type_id,const gchar *type_name,const GTypeInfo *info,const GTypeFundamentalInfo *finfo
7022 <NAME>g_type_add_interface_static</NAME>
7023 <RETURNS>void </RETURNS>
7024 GType instance_type,GType interface_type,GInterfaceInfo *info
7027 <NAME>g_type_add_interface_dynamic</NAME>
7028 <RETURNS>void </RETURNS>
7029 GType instance_type,GType interface_type,GTypePlugin *plugin
7032 <NAME>g_type_class_is_a</NAME>
7033 <RETURNS>gboolean </RETURNS>
7034 GTypeClass *g_class,GType is_a_type
7037 <NAME>g_type_check_class_cast</NAME>
7038 <RETURNS>GTypeClass *</RETURNS>
7039 GTypeClass *g_class,GType is_a_type
7042 <NAME>g_type_check_instance_cast</NAME>
7043 <RETURNS>GTypeInstance *</RETURNS>
7044 GTypeInstance *instance,GType iface_type
7047 <NAME>g_type_instance_conforms_to</NAME>
7048 <RETURNS>gboolean </RETURNS>
7049 GTypeInstance *instance,GType iface_type
7052 <NAME>g_type_check_flags</NAME>
7053 <RETURNS>gboolean </RETURNS>
7054 GType type,GTypeFlags flags
7057 <NAME>g_type_create_instance</NAME>
7058 <RETURNS>GTypeInstance *</RETURNS>
7062 <NAME>g_type_free_instance</NAME>
7063 <RETURNS>void </RETURNS>
7064 GTypeInstance *instance
7067 <NAME>g_type_value_table_peek</NAME>
7068 <RETURNS>GTypeValueTable *</RETURNS>
7072 <NAME>g_type_add_class_cache_func</NAME>
7073 <RETURNS>void </RETURNS>
7074 gpointer cache_data,GTypeClassCacheFunc cache_func
7077 <NAME>g_type_remove_class_cache_func</NAME>
7078 <RETURNS>void </RETURNS>
7079 gpointer cache_data,GTypeClassCacheFunc cache_func
7082 <NAME>g_type_class_unref_uncached</NAME>
7083 <RETURNS>void </RETURNS>
7087 <NAME>g_type_get_plugin</NAME>
7088 <RETURNS>GTypePlugin *</RETURNS>
7092 <NAME>g_type_fundamental_last</NAME>
7093 <RETURNS>GType </RETURNS>
7097 <NAME>G_TYPE_IS_VALUE</NAME>
7098 #define G_TYPE_IS_VALUE(type) (g_type_value_table_peek (type) != NULL)
7101 <NAME>G_IS_VALUE</NAME>
7102 #define G_IS_VALUE(value) (G_TYPE_IS_VALUE (G_VALUE_TYPE (value))) /* FIXME */
7105 <NAME>G_VALUE_TYPE</NAME>
7106 #define G_VALUE_TYPE(value) (G_TYPE_FROM_CLASS (value))
7109 <NAME>G_VALUE_TYPE_NAME</NAME>
7110 #define G_VALUE_TYPE_NAME(value) (g_type_name (G_VALUE_TYPE (value)))
7113 <NAME>GValueExchange</NAME>
7114 <RETURNS>void </RETURNS>
7125 /* public for GTypeValueTable methods */
7138 <NAME>g_value_init</NAME>
7139 <RETURNS>void </RETURNS>
7140 GValue *value,GType g_type
7143 <NAME>g_value_copy</NAME>
7144 <RETURNS>void </RETURNS>
7145 const GValue *src_value,GValue *dest_value
7148 <NAME>g_value_convert</NAME>
7149 <RETURNS>gboolean </RETURNS>
7150 const GValue *src_value,GValue *dest_value
7153 <NAME>g_value_reset</NAME>
7154 <RETURNS>void </RETURNS>
7158 <NAME>g_value_unset</NAME>
7159 <RETURNS>void </RETURNS>
7163 <NAME>g_values_exchange</NAME>
7164 <RETURNS>gboolean </RETURNS>
7165 GValue *value1,GValue *value2
7168 <NAME>g_value_types_exchangable</NAME>
7169 <RETURNS>gboolean </RETURNS>
7170 GType value_type1,GType value_type2
7173 <NAME>g_value_register_exchange_func</NAME>
7174 <RETURNS>void </RETURNS>
7175 GType value_type1,GType value_type2,GValueExchange func
7178 <NAME>GTypeCValue</NAME>
7188 <NAME>G_VALUE_COLLECT</NAME>
7189 #define G_VALUE_COLLECT(value, var_args, __error) \
7191 GValue *_value = (value); \
7192 GTypeValueTable *_vtable = g_type_value_table_peek (G_VALUE_TYPE (_value)); \
7193 gchar *_error_msg = NULL; \
7194 guint _collect_type = _vtable->collect_type; \
7195 guint _nth_value = 0; \
7197 g_value_reset (_value); \
7198 while (_collect_type && !_error_msg) \
7200 GTypeCValue _cvalue; \
7202 memset (&_cvalue, 0, sizeof (_cvalue)); \
7203 switch (_collect_type) \
7205 case G_VALUE_COLLECT_INT: \
7206 _cvalue.v_int = va_arg ((var_args), gint); \
7208 case G_VALUE_COLLECT_LONG: \
7209 _cvalue.v_long = va_arg ((var_args), glong); \
7211 case G_VALUE_COLLECT_DOUBLE: \
7212 _cvalue.v_double = va_arg ((var_args), gdouble); \
7214 case G_VALUE_COLLECT_POINTER: \
7215 _cvalue.v_pointer = va_arg ((var_args), gpointer); \
7218 _error_msg = g_strdup_printf ("%s: invalid collect type (%d) used for %s", \
7221 "G_VALUE_COLLECT()"); \
7224 _error_msg = _vtable->collect_value (_value, \
7229 *(__error) = _error_msg; \
7233 <NAME>G_VALUE_LCOPY</NAME>
7234 #define G_VALUE_LCOPY(value, var_args, __error) \
7236 GValue *_value = (value); \
7237 GTypeValueTable *_vtable = g_type_value_table_peek (G_VALUE_TYPE (_value)); \
7238 gchar *_error_msg = NULL; \
7239 guint _lcopy_type = _vtable->lcopy_type; \
7240 guint _nth_value = 0; \
7242 while (_lcopy_type && !_error_msg) \
7244 GTypeCValue _cvalue; \
7246 memset (&_cvalue, 0, sizeof (_cvalue)); \
7247 switch (_lcopy_type) \
7249 case G_VALUE_COLLECT_INT: \
7250 _cvalue.v_int = va_arg ((var_args), gint); \
7252 case G_VALUE_COLLECT_LONG: \
7253 _cvalue.v_long = va_arg ((var_args), glong); \
7255 case G_VALUE_COLLECT_DOUBLE: \
7256 _cvalue.v_double = va_arg ((var_args), gdouble); \
7258 case G_VALUE_COLLECT_POINTER: \
7259 _cvalue.v_pointer = va_arg ((var_args), gpointer); \
7262 _error_msg = g_strdup_printf ("%s: invalid collect type (%d) used for %s", \
7265 "G_VALUE_LCOPY()"); \
7268 _error_msg = _vtable->lcopy_value (_value, \
7273 *(__error) = _error_msg; \
7277 <NAME>G_IS_VALUE_CHAR</NAME>
7278 #define G_IS_VALUE_CHAR(value) (G_TYPE_CHECK_CLASS_TYPE ((value), G_TYPE_CHAR))
7281 <NAME>G_IS_VALUE_UCHAR</NAME>
7282 #define G_IS_VALUE_UCHAR(value) (G_TYPE_CHECK_CLASS_TYPE ((value), G_TYPE_UCHAR))
7285 <NAME>G_IS_VALUE_BOOLEAN</NAME>
7286 #define G_IS_VALUE_BOOLEAN(value) (G_TYPE_CHECK_CLASS_TYPE ((value), G_TYPE_BOOLEAN))
7289 <NAME>G_IS_VALUE_INT</NAME>
7290 #define G_IS_VALUE_INT(value) (G_TYPE_CHECK_CLASS_TYPE ((value), G_TYPE_INT))
7293 <NAME>G_IS_VALUE_UINT</NAME>
7294 #define G_IS_VALUE_UINT(value) (G_TYPE_CHECK_CLASS_TYPE ((value), G_TYPE_UINT))
7297 <NAME>G_IS_VALUE_LONG</NAME>
7298 #define G_IS_VALUE_LONG(value) (G_TYPE_CHECK_CLASS_TYPE ((value), G_TYPE_LONG))
7301 <NAME>G_IS_VALUE_ULONG</NAME>
7302 #define G_IS_VALUE_ULONG(value) (G_TYPE_CHECK_CLASS_TYPE ((value), G_TYPE_ULONG))
7305 <NAME>G_IS_VALUE_FLOAT</NAME>
7306 #define G_IS_VALUE_FLOAT(value) (G_TYPE_CHECK_CLASS_TYPE ((value), G_TYPE_FLOAT))
7309 <NAME>G_IS_VALUE_DOUBLE</NAME>
7310 #define G_IS_VALUE_DOUBLE(value) (G_TYPE_CHECK_CLASS_TYPE ((value), G_TYPE_DOUBLE))
7313 <NAME>G_IS_VALUE_STRING</NAME>
7314 #define G_IS_VALUE_STRING(value) (G_TYPE_CHECK_CLASS_TYPE ((value), G_TYPE_STRING))
7317 <NAME>g_value_set_char</NAME>
7318 <RETURNS>void </RETURNS>
7319 GValue *value,gint8 v_char
7322 <NAME>g_value_get_char</NAME>
7323 <RETURNS>gint8 </RETURNS>
7327 <NAME>g_value_set_uchar</NAME>
7328 <RETURNS>void </RETURNS>
7329 GValue *value,guint8 v_uchar
7332 <NAME>g_value_get_uchar</NAME>
7333 <RETURNS>guint8 </RETURNS>
7337 <NAME>g_value_set_boolean</NAME>
7338 <RETURNS>void </RETURNS>
7339 GValue *value,gboolean v_boolean
7342 <NAME>g_value_get_boolean</NAME>
7343 <RETURNS>gboolean </RETURNS>
7347 <NAME>g_value_set_int</NAME>
7348 <RETURNS>void </RETURNS>
7349 GValue *value,gint v_int
7352 <NAME>g_value_get_int</NAME>
7353 <RETURNS>gint </RETURNS>
7357 <NAME>g_value_set_uint</NAME>
7358 <RETURNS>void </RETURNS>
7359 GValue *value,guint v_uint
7362 <NAME>g_value_get_uint</NAME>
7363 <RETURNS>guint </RETURNS>
7367 <NAME>g_value_set_long</NAME>
7368 <RETURNS>void </RETURNS>
7369 GValue *value,glong v_long
7372 <NAME>g_value_get_long</NAME>
7373 <RETURNS>glong </RETURNS>
7377 <NAME>g_value_set_ulong</NAME>
7378 <RETURNS>void </RETURNS>
7379 GValue *value,gulong v_ulong
7382 <NAME>g_value_get_ulong</NAME>
7383 <RETURNS>gulong </RETURNS>
7387 <NAME>g_value_set_float</NAME>
7388 <RETURNS>void </RETURNS>
7389 GValue *value,gfloat v_float
7392 <NAME>g_value_get_float</NAME>
7393 <RETURNS>gfloat </RETURNS>
7397 <NAME>g_value_set_double</NAME>
7398 <RETURNS>void </RETURNS>
7399 GValue *value,gdouble v_double
7402 <NAME>g_value_get_double</NAME>
7403 <RETURNS>gdouble </RETURNS>
7407 <NAME>g_value_set_string</NAME>
7408 <RETURNS>void </RETURNS>
7409 GValue *value,const gchar *v_string
7412 <NAME>g_value_get_string</NAME>
7413 <RETURNS>gchar *</RETURNS>
7417 <NAME>g_value_dup_string</NAME>
7418 <RETURNS>gchar *</RETURNS>