#ifndef _GLIB_2_0_GLIB_H_ #define _GLIB_2_0_GLIB_H_ #include #include #include #ifdef __cplusplus extern "C" { #endif #define GLIB_HAVE_ALLOCA_H #define GLIB_HAVE_SYS_POLL_H #define G_GINT32_MODIFIER "" #define G_GNUC_FUNCTION "" #define G_GNUC_PRETTY_FUNCTION "" #if __i386__ #define G_GSIZE_MODIFIER "" #endif #if __powerpc__ && !__powerpc64__ #define G_GSIZE_MODIFIER "" #endif #if __s390__ && !__s390x__ #define G_GSIZE_MODIFIER "" #endif #define G_OPTION_REMAINING "" #define G_OS_UNIX #define G_THREADS_ENABLED #define G_THREADS_IMPL_POSIX #define G_WIN32_DLLMAIN_FOR_DLL_NAME(static,dll_name) #define G_CSET_LATINC \ "\300\301\302\303\304\305\306" \ "\307\310\311\312\313\314\315\316\317\320" "\321\322\323\324\325\326" \ "\330\331\332\333\334\335\336" #define G_CSET_LATINS \ "\337\340\341\342\343\344\345\346" \ "\347\350\351\352\353\354\355\356\357\360" "\361\362\363\364\365\366" \ "\370\371\372\373\374\375\376\377" #define g_mem_chunk_create(type,pre_alloc,alloc_type) \ ( g_mem_chunk_new (#type " mem chunks (" #pre_alloc ")", sizeof \ (type), sizeof (type) * (pre_alloc), (alloc_type)) ) #define G_NODE_IS_ROOT(node) \ (((GNode*) (node))->parent == NULL && ((GNode*) (node))->prev == NULL \ && ((GNode*) (node))->next == NULL) #define g_once(once,func,arg) \ (((once)->status == G_ONCE_STATUS_READY) ? (once)->retval : \ g_once_impl ((once), (func), (arg))) #define CLAMP(x,low,high) \ (((x) > (high)) ? (high) : (((x) < (low)) ? (low) : (x))) #define G_STRUCT_OFFSET(struct_type,member) \ ((glong) ((guint8*) &((struct_type*) 0)->member)) #define G_STRUCT_MEMBER_P(struct_p,struct_offset) \ ((gpointer) ((guint8*) (struct_p) + (glong) (struct_offset))) #define GUINT16_SWAP_LE_BE_CONSTANT(val) \ ((guint16) ( (guint16) ((guint16) (val) >> 8) | (guint16) ((guint16) \ (val) << 8))) #define GUINT32_SWAP_LE_BE_CONSTANT(val) \ ((guint32) ( (((guint32) (val) & (guint32) 0x000000ffU) << 24) | \ (((guint32) (val) & (guint32) 0x0000ff00U) << 8) | (((guint32) (val) & \ (guint32) 0x00ff0000U) >> 8) | (((guint32) (val) & (guint32) \ 0xff000000U) >> 24))) #define GUINT32_SWAP_LE_PDP(val) \ ((guint32) ( (((guint32) (val) & (guint32) 0x0000ffffU) << 16) | \ (((guint32) (val) & (guint32) 0xffff0000U) >> 16))) #define GUINT32_SWAP_BE_PDP(val) \ ((guint32) ( (((guint32) (val) & (guint32) 0x00ff00ffU) << 8) | \ (((guint32) (val) & (guint32) 0xff00ff00U) >> 8))) #define GUINT64_SWAP_LE_BE_CONSTANT(val) \ ((guint64) ( (((guint64) (val) & (guint64) G_GINT64_CONSTANT \ (0x00000000000000ffU)) << 56) | (((guint64) (val) & (guint64) \ G_GINT64_CONSTANT (0x000000000000ff00U)) << 40) | (((guint64) (val) & \ (guint64) G_GINT64_CONSTANT (0x0000000000ff0000U)) << 24) | \ (((guint64) (val) & (guint64) G_GINT64_CONSTANT (0x00000000ff000000U)) \ << 8) | (((guint64) (val) & (guint64) G_GINT64_CONSTANT \ (0x000000ff00000000U)) >> 8) | (((guint64) (val) & (guint64) \ G_GINT64_CONSTANT (0x0000ff0000000000U)) >> 24) | (((guint64) (val) & \ (guint64) G_GINT64_CONSTANT (0x00ff000000000000U)) >> 40) | \ (((guint64) (val) & (guint64) G_GINT64_CONSTANT (0xff00000000000000U)) \ >> 56))) #define g_ascii_isalnum(c) \ ((g_ascii_table[(guchar) (c)] & G_ASCII_ALNUM) != 0) #define g_ascii_isalpha(c) \ ((g_ascii_table[(guchar) (c)] & G_ASCII_ALPHA) != 0) #define g_ascii_iscntrl(c) \ ((g_ascii_table[(guchar) (c)] & G_ASCII_CNTRL) != 0) #define g_ascii_isdigit(c) \ ((g_ascii_table[(guchar) (c)] & G_ASCII_DIGIT) != 0) #define g_ascii_isgraph(c) \ ((g_ascii_table[(guchar) (c)] & G_ASCII_GRAPH) != 0) #define g_ascii_islower(c) \ ((g_ascii_table[(guchar) (c)] & G_ASCII_LOWER) != 0) #define g_ascii_isprint(c) \ ((g_ascii_table[(guchar) (c)] & G_ASCII_PRINT) != 0) #define g_ascii_ispunct(c) \ ((g_ascii_table[(guchar) (c)] & G_ASCII_PUNCT) != 0) #define g_ascii_isspace(c) \ ((g_ascii_table[(guchar) (c)] & G_ASCII_SPACE) != 0) #define g_ascii_isupper(c) \ ((g_ascii_table[(guchar) (c)] & G_ASCII_UPPER) != 0) #define g_ascii_isxdigit(c) \ ((g_ascii_table[(guchar) (c)] & G_ASCII_XDIGIT) != 0) #define G_HOOK_ACTIVE(hook) \ ((G_HOOK_FLAGS (hook) & G_HOOK_FLAG_ACTIVE) != 0) #define G_HOOK_IN_CALL(hook) \ ((G_HOOK_FLAGS (hook) & G_HOOK_FLAG_IN_CALL) != 0) #define g_node_first_child(node) \ ((node) ? ((GNode*) (node))->children : NULL) #define g_node_next_sibling(node) \ ((node) ? ((GNode*) (node))->next : NULL) #define g_node_prev_sibling(node) \ ((node) ? ((GNode*) (node))->prev : NULL) #define g_new(struct_type,n_structs) \ ((struct_type *) g_malloc (((gsize) sizeof (struct_type)) * ((gsize) \ (n_structs)))) #define g_new0(struct_type,n_structs) \ ((struct_type *) g_malloc0 (((gsize) sizeof (struct_type)) * ((gsize) \ (n_structs)))) #define g_renew(struct_type,mem,n_structs) \ ((struct_type *) g_realloc ((mem), ((gsize) sizeof (struct_type)) * \ ((gsize) (n_structs)))) #define g_newa(struct_type,n_structs) \ ((struct_type*) g_alloca (sizeof (struct_type) * (gsize) \ (n_structs))) #define G_STRUCT_MEMBER(member_type,struct_p,struct_offset) \ (*(member_type*) G_STRUCT_MEMBER_P ((struct_p), (struct_offset))) #define G_THREAD_UF(op,arglist) \ (*g_thread_functions_for_glib_use . op) arglist #define GLIB_CHECK_VERSION(major,minor,micro) \ (GLIB_MAJOR_VERSION > (major) || (GLIB_MAJOR_VERSION == (major) && \ GLIB_MINOR_VERSION > (minor)) || (GLIB_MAJOR_VERSION == (major) && \ GLIB_MINOR_VERSION == (minor) && GLIB_MICRO_VERSION >= (micro))) #define g_atomic_int_dec_and_test(atomic) \ (g_atomic_int_exchange_and_add ((atomic), -1) == 1) #define g_static_mutex_get_mutex_impl_shortcut(mutex) \ (g_atomic_pointer_get ((gpointer*)mutex) ? *(mutex) : \ g_static_mutex_get_mutex_impl (mutex)) #define g_datalist_get_data(dl,k) \ (g_datalist_id_get_data ((dl), g_quark_try_string (k))) #define g_dataset_get_data(l,k) \ (g_dataset_id_get_data ((l), g_quark_try_string (k))) #define G_HOOK_IS_VALID(hook) \ (G_HOOK (hook)->hook_id != 0 && (G_HOOK_FLAGS (hook) & \ G_HOOK_FLAG_ACTIVE)) #define G_HOOK_IS_UNLINKED(hook) \ (G_HOOK (hook)->next == NULL && G_HOOK (hook)->prev == NULL && G_HOOK \ (hook)->hook_id == 0 && G_HOOK (hook)->ref_count == 0) #define g_thread_create(func,data,joinable,error) \ (g_thread_create_full (func, data, 0, joinable, FALSE, \ G_THREAD_PRIORITY_NORMAL, error)) #define G_THREAD_ECF(op,fail,mutex,type) \ (g_thread_supported () ? ((type(*)(GMutex*, gulong, gchar*)) \ (*g_thread_functions_for_glib_use . op)) (mutex, G_MUTEX_DEBUG_MAGIC, \ G_STRLOC) : (fail)) #define G_THREAD_CF(op,fail,arg) \ (g_thread_supported () ? G_THREAD_UF (op, arg) : (fail)) #define g_static_mutex_get_mutex(mutex) \ (g_thread_use_default_impl ? ((GMutex*) &((mutex)->static_mutex)) : \ g_static_mutex_get_mutex_impl_shortcut (&((mutex)->runtime_mutex))) #define G_LOCK_DEFINE(name) \ GStaticMutex G_LOCK_NAME (name) = G_STATIC_MUTEX_INIT #define g_datalist_remove_no_notify(dl,k) \ g_datalist_id_remove_no_notify ((dl), g_quark_try_string (k)) #define g_datalist_id_remove_data(dl,q) \ g_datalist_id_set_data ((dl), (q), NULL) #define g_datalist_remove_data(dl,k) \ g_datalist_id_set_data ((dl), g_quark_try_string (k), NULL) #define g_datalist_id_set_data(dl,q,d) \ g_datalist_id_set_data_full ((dl), (q), (d), NULL) #define g_datalist_set_data_full(dl,k,d,f) \ g_datalist_id_set_data_full ((dl), g_quark_from_string (k), (d), (f)) #define g_datalist_set_data(dl,k,d) \ g_datalist_set_data_full ((dl), (k), (d), NULL) #define g_dataset_remove_no_notify(l,k) \ g_dataset_id_remove_no_notify ((l), g_quark_try_string (k)) #define g_dataset_id_remove_data(l,k) \ g_dataset_id_set_data ((l), (k), NULL) #define g_dataset_remove_data(l,k) \ g_dataset_id_set_data ((l), g_quark_try_string (k), NULL) #define g_dataset_id_set_data(l,k,d) \ g_dataset_id_set_data_full ((l), (k), (d), NULL) #define g_dataset_set_data_full(l,k,d,f) \ g_dataset_id_set_data_full ((l), g_quark_from_string (k), (d), (f)) #define g_dataset_set_data(l,k,d) \ g_dataset_set_data_full ((l), (k), (d), NULL) #define g_hook_append(hook_list,hook) \ g_hook_insert_before ((hook_list), NULL, (hook)) #define g_critical(...) \ g_log (G_LOG_DOMAIN, G_LOG_LEVEL_CRITICAL, __VA_ARGS__) #define g_message(...) \ g_log (G_LOG_DOMAIN, G_LOG_LEVEL_MESSAGE, __VA_ARGS__) #define g_warning(...) \ g_log (G_LOG_DOMAIN, G_LOG_LEVEL_WARNING, __VA_ARGS__) #define g_static_mutex_lock(mutex) \ g_mutex_lock (g_static_mutex_get_mutex (mutex)) #define g_static_mutex_trylock(mutex) \ g_mutex_trylock (g_static_mutex_get_mutex (mutex)) #define g_static_mutex_unlock(mutex) \ g_mutex_unlock (g_static_mutex_get_mutex (mutex)) #define g_node_insert_data(parent,position,data) \ g_node_insert ((parent), (position), g_node_new (data)) #define g_node_insert_data_before(parent,sibling,data) \ g_node_insert_before ((parent), (sibling), g_node_new (data)) #define g_node_append(parent,node) \ g_node_insert_before ((parent), NULL, (node)) #define g_node_append_data(parent,data) \ g_node_insert_before ((parent), NULL, g_node_new (data)) #define g_node_prepend_data(parent,data) \ g_node_prepend ((parent), g_node_new (data)) #define g_chunk_free(mem,mem_chunk) \ G_STMT_START { g_mem_chunk_free ((mem_chunk), (mem)); } G_STMT_END #define g_memmove(d,s,n) \ G_STMT_START { memmove ((d), (s), (n)); } G_STMT_END #define g_assert_not_reached() \ G_STMT_START{ g_assert_warning (G_LOG_DOMAIN, __FILE__, __LINE__, \ __PRETTY_FUNCTION__, NULL); }G_STMT_END #define g_return_val_if_reached(val) \ G_STMT_START{ g_log (G_LOG_DOMAIN, G_LOG_LEVEL_CRITICAL, "file %s: \ line %d (%s): should not be reached", __FILE__, __LINE__, \ __PRETTY_FUNCTION__); return (val); }G_STMT_END #define g_return_if_reached() \ G_STMT_START{ g_log (G_LOG_DOMAIN, G_LOG_LEVEL_CRITICAL, "file %s: \ line %d (%s): should not be reached", __FILE__, __LINE__, \ __PRETTY_FUNCTION__); return; }G_STMT_END #define g_assert(expr) \ G_STMT_START{ if G_LIKELY(expr) { } else g_assert_warning \ (G_LOG_DOMAIN, __FILE__, __LINE__, __PRETTY_FUNCTION__, #expr); \ }G_STMT_END #define g_return_val_if_fail(expr,val) \ G_STMT_START{ if G_LIKELY(expr) { } else { g_return_if_fail_warning \ (G_LOG_DOMAIN, __PRETTY_FUNCTION__, #expr); return (val); }; \ }G_STMT_END #define g_return_if_fail(expr) \ G_STMT_START{ if G_LIKELY(expr) { } else { g_return_if_fail_warning \ (G_LOG_DOMAIN, __PRETTY_FUNCTION__, #expr); return; }; }G_STMT_END #define G_BREAKPOINT() \ G_STMT_START{ __asm__ __volatile__ ("int $03"); }G_STMT_END #define g_cond_broadcast(cond) \ G_THREAD_CF (cond_broadcast, (void)0, (cond)) #define g_cond_timed_wait(cond,mutex,abs_time) \ G_THREAD_CF (cond_timed_wait, TRUE, (cond, mutex, abs_time)) #define g_cond_wait(cond,mutex) \ G_THREAD_CF (cond_wait, (void)0, (cond, mutex)) #define g_private_get(private_key) \ G_THREAD_CF (private_get, ((gpointer)private_key), (private_key)) #define g_private_set(private_key,value) \ G_THREAD_CF (private_set, (void) (private_key = (GPrivate*) (value)), \ (private_key, value)) #define G_GNUC_PRINTF(format_idx,arg_idx) \ __attribute__((__format__ (__printf__, format_idx, arg_idx))) #define G_GNUC_SCANF(format_idx,arg_idx) \ __attribute__((__format__ (__scanf__, format_idx, arg_idx))) #define G_STATIC_RW_LOCK_INIT \ { G_STATIC_MUTEX_INIT, NULL, NULL, 0, FALSE, 0, 0 } #if __ia64__ #define G_STATIC_MUTEX_INIT \ { NULL, { { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} } } #endif #if __powerpc64__ #define G_STATIC_MUTEX_INIT \ { NULL, { { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} } } #endif #if __x86_64__ #define G_STATIC_MUTEX_INIT \ { NULL, { { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} } } #endif #if __s390x__ #define G_STATIC_MUTEX_INIT \ { NULL, { { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} } } #endif #if __i386__ #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} } } #endif #if __powerpc__ && !__powerpc64__ #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} } } #endif #if __s390__ && !__s390x__ #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} } } #endif #define G_STRINGIFY_ARG(contents) #contents #define G_DIR_SEPARATOR '/' #define g_chunk_new(type,chunk) ( (type *) g_mem_chunk_alloc (chunk) ) #define g_chunk_new0(type,chunk) ( (type *) g_mem_chunk_alloc0 (chunk) ) #define MIN(a,b) (((a) < (b)) ? (a) : (b)) #define ABS(a) (((a) < 0) ? -(a) : (a)) #define MAX(a,b) (((a) > (b)) ? (a) : (b)) #define G_NODE_IS_LEAF(node) (((GNode*) (node))->children == NULL) #define g_array_index(a,t,i) (((t*) (a)->data) [(i)]) #define g_ptr_array_index(array,index_) ((array)->pdata)[index_] #define G_IS_DIR_SEPARATOR(c) ((c) == G_DIR_SEPARATOR) #define G_STRFUNC ((const char*) (__PRETTY_FUNCTION__)) #define G_LOG_DOMAIN ((gchar*) 0) #define G_HOOK(hook) ((GHook*) (hook)) #if __i386__ #define GPOINTER_TO_INT(p) ((gint) (p)) #endif #if __powerpc__ && !__powerpc64__ #define GPOINTER_TO_INT(p) ((gint) (p)) #endif #if __s390__ && !__s390x__ #define GPOINTER_TO_INT(p) ((gint) (p)) #endif #define GINT_TO_BE(val) ((gint) GINT32_TO_BE (val)) #define GINT_TO_LE(val) ((gint) GINT32_TO_LE (val)) #define GINT16_TO_LE(val) ((gint16) (val)) #define G_MAXINT16 ((gint16) 0x7fff) #define G_MININT16 ((gint16) 0x8000) #define GINT16_TO_BE(val) ((gint16) GUINT16_SWAP_LE_BE (val)) #define GINT32_TO_LE(val) ((gint32) (val)) #define G_MAXINT32 ((gint32) 0x7fffffff) #define G_MININT32 ((gint32) 0x80000000) #define GINT32_TO_BE(val) ((gint32) GUINT32_SWAP_LE_BE (val)) #define GINT64_TO_LE(val) ((gint64) (val)) #define GINT64_TO_BE(val) ((gint64) GUINT64_SWAP_LE_BE (val)) #define G_MAXINT8 ((gint8) 0x7f) #define G_MININT8 ((gint8) 0x80) #if __ia64__ #define GPOINTER_TO_INT(p) ((glong) (p)) #endif #if __powerpc64__ #define GPOINTER_TO_INT(p) ((glong) (p)) #endif #if __x86_64__ #define GPOINTER_TO_INT(p) ((glong) (p)) #endif #if __s390x__ #define GPOINTER_TO_INT(p) ((glong) (p)) #endif #if __i386__ #define GLONG_TO_BE(val) ((glong) GINT32_TO_BE (val)) #endif #if __powerpc__ && !__powerpc64__ #define GLONG_TO_BE(val) ((glong) GINT32_TO_BE (val)) #endif #if __s390__ && !__s390x__ #define GLONG_TO_BE(val) ((glong) GINT32_TO_BE (val)) #endif #if __i386__ #define GLONG_TO_LE(val) ((glong) GINT32_TO_LE (val)) #endif #if __powerpc__ && !__powerpc64__ #define GLONG_TO_LE(val) ((glong) GINT32_TO_LE (val)) #endif #if __s390__ && !__s390x__ #define GLONG_TO_LE(val) ((glong) GINT32_TO_LE (val)) #endif #if __ia64__ #define GLONG_TO_BE(val) ((glong) GINT64_TO_BE (val)) #endif #if __powerpc64__ #define GLONG_TO_BE(val) ((glong) GINT64_TO_BE (val)) #endif #if __x86_64__ #define GLONG_TO_BE(val) ((glong) GINT64_TO_BE (val)) #endif #if __s390x__ #define GLONG_TO_BE(val) ((glong) GINT64_TO_BE (val)) #endif #if __ia64__ #define GLONG_TO_LE(val) ((glong) GINT64_TO_LE (val)) #endif #if __powerpc64__ #define GLONG_TO_LE(val) ((glong) GINT64_TO_LE (val)) #endif #if __x86_64__ #define GLONG_TO_LE(val) ((glong) GINT64_TO_LE (val)) #endif #if __s390x__ #define GLONG_TO_LE(val) ((glong) GINT64_TO_LE (val)) #endif #if __ia64__ #define GINT_TO_POINTER(i) ((gpointer) (glong) (i)) #endif #if __powerpc64__ #define GINT_TO_POINTER(i) ((gpointer) (glong) (i)) #endif #if __x86_64__ #define GINT_TO_POINTER(i) ((gpointer) (glong) (i)) #endif #if __s390x__ #define GINT_TO_POINTER(i) ((gpointer) (glong) (i)) #endif #define GSIZE_TO_POINTER(s) ((gpointer) (gsize) (s)) #if __ia64__ #define GUINT_TO_POINTER(u) ((gpointer) (gulong) (u)) #endif #if __powerpc64__ #define GUINT_TO_POINTER(u) ((gpointer) (gulong) (u)) #endif #if __x86_64__ #define GUINT_TO_POINTER(u) ((gpointer) (gulong) (u)) #endif #if __s390x__ #define GUINT_TO_POINTER(u) ((gpointer) (gulong) (u)) #endif #if __i386__ #define GINT_TO_POINTER(i) ((gpointer) (i)) #endif #if __powerpc__ && !__powerpc64__ #define GINT_TO_POINTER(i) ((gpointer) (i)) #endif #if __s390__ && !__s390x__ #define GINT_TO_POINTER(i) ((gpointer) (i)) #endif #if __i386__ #define GUINT_TO_POINTER(u) ((gpointer) (u)) #endif #if __powerpc__ && !__powerpc64__ #define GUINT_TO_POINTER(u) ((gpointer) (u)) #endif #if __s390__ && !__s390x__ #define GUINT_TO_POINTER(u) ((gpointer) (u)) #endif #define GPOINTER_TO_SIZE(p) ((gsize) (p)) #if __i386__ #define GPOINTER_TO_UINT(p) ((guint) (p)) #endif #if __powerpc__ && !__powerpc64__ #define GPOINTER_TO_UINT(p) ((guint) (p)) #endif #if __s390__ && !__s390x__ #define GPOINTER_TO_UINT(p) ((guint) (p)) #endif #define GUINT_TO_BE(val) ((guint) GUINT32_TO_BE (val)) #define GUINT_TO_LE(val) ((guint) GUINT32_TO_LE (val)) #define GUINT16_SWAP_LE_PDP(val) ((guint16) (val)) #define GUINT16_TO_LE(val) ((guint16) (val)) #define G_MAXUINT16 ((guint16) 0xffff) #define GUINT32_TO_LE(val) ((guint32) (val)) #define G_MAXUINT32 ((guint32) 0xffffffff) #define GUINT64_TO_LE(val) ((guint64) (val)) #define G_MAXUINT8 ((guint8) 0xff) #if __ia64__ #define GPOINTER_TO_UINT(p) ((gulong) (p)) #endif #if __powerpc64__ #define GPOINTER_TO_UINT(p) ((gulong) (p)) #endif #if __x86_64__ #define GPOINTER_TO_UINT(p) ((gulong) (p)) #endif #if __s390x__ #define GPOINTER_TO_UINT(p) ((gulong) (p)) #endif #if __i386__ #define GULONG_TO_BE(val) ((gulong) GUINT32_TO_BE (val)) #endif #if __powerpc__ && !__powerpc64__ #define GULONG_TO_BE(val) ((gulong) GUINT32_TO_BE (val)) #endif #if __s390__ && !__s390x__ #define GULONG_TO_BE(val) ((gulong) GUINT32_TO_BE (val)) #endif #if __i386__ #define GULONG_TO_LE(val) ((gulong) GUINT32_TO_LE (val)) #endif #if __powerpc__ && !__powerpc64__ #define GULONG_TO_LE(val) ((gulong) GUINT32_TO_LE (val)) #endif #if __s390__ && !__s390x__ #define GULONG_TO_LE(val) ((gulong) GUINT32_TO_LE (val)) #endif #if __ia64__ #define GULONG_TO_BE(val) ((gulong) GUINT64_TO_BE (val)) #endif #if __powerpc64__ #define GULONG_TO_BE(val) ((gulong) GUINT64_TO_BE (val)) #endif #if __x86_64__ #define GULONG_TO_BE(val) ((gulong) GUINT64_TO_BE (val)) #endif #if __s390x__ #define GULONG_TO_BE(val) ((gulong) GUINT64_TO_BE (val)) #endif #if __ia64__ #define GULONG_TO_LE(val) ((gulong) GUINT64_TO_LE (val)) #endif #if __powerpc64__ #define GULONG_TO_LE(val) ((gulong) GUINT64_TO_LE (val)) #endif #if __x86_64__ #define GULONG_TO_LE(val) ((gulong) GUINT64_TO_LE (val)) #endif #if __s390x__ #define GULONG_TO_LE(val) ((gulong) GUINT64_TO_LE (val)) #endif #define g_random_boolean() ((g_random_int () & (1 << 15)) != 0) #define g_rand_boolean(rand_) ((g_rand_int (rand_) & (1 << 15)) != 0) #define g_list_next(list) ((list) ? (((GList *)(list))->next) : NULL) #define g_list_previous(list) ((list) ? (((GList *)(list))->prev) : NULL) #define g_slist_next(slist) ((slist) ? (((GSList *)(slist))->next) : NULL) #define g_atomic_int_get(atomic) (*(atomic)) #define g_atomic_pointer_get(atomic) (*(atomic)) #define G_LOG_2_BASE_10 (0.30102999566398119521) #define G_ALLOCATOR_LIST (1) #define G_IEEE754_DOUBLE_BIAS (1023) #define G_IEEE754_FLOAT_BIAS (127) #define G_ALLOCATOR_SLIST (2) #define G_ASCII_DTOSTR_BUF_SIZE (29 + 10) #define G_ALLOCATOR_NODE (3) #define G_HOOK_FLAG_USER_SHIFT (4) #define G_LOG_LEVEL_USER_SHIFT (8) #define g_ATEXIT(proc) (atexit (proc)) #define g_utf8_next_char(p) (char *)((p) + g_utf8_skip[*(guchar *)(p)]) #define G_LIKELY(expr) (expr) #define G_UNLIKELY(expr) (expr) #define GINT16_FROM_BE(val) (GINT16_TO_BE (val)) #define GINT16_FROM_LE(val) (GINT16_TO_LE (val)) #define GINT32_FROM_BE(val) (GINT32_TO_BE (val)) #define GINT32_FROM_LE(val) (GINT32_TO_LE (val)) #define GINT64_FROM_BE(val) (GINT64_TO_BE (val)) #define GINT64_FROM_LE(val) (GINT64_TO_LE (val)) #define GINT_FROM_BE(val) (GINT_TO_BE (val)) #define GINT_FROM_LE(val) (GINT_TO_LE (val)) #define GLONG_FROM_BE(val) (GLONG_TO_BE (val)) #define GLONG_FROM_LE(val) (GLONG_TO_LE (val)) #define g_ntohs(val) (GUINT16_FROM_BE (val)) #define GUINT16_SWAP_BE_PDP(val) (GUINT16_SWAP_LE_BE (val)) #define GUINT16_TO_BE(val) (GUINT16_SWAP_LE_BE (val)) #define GUINT16_SWAP_LE_BE(val) (GUINT16_SWAP_LE_BE_CONSTANT (val)) #define GUINT16_FROM_BE(val) (GUINT16_TO_BE (val)) #define g_htons(val) (GUINT16_TO_BE (val)) #define GUINT16_FROM_LE(val) (GUINT16_TO_LE (val)) #define g_ntohl(val) (GUINT32_FROM_BE (val)) #define GUINT32_TO_BE(val) (GUINT32_SWAP_LE_BE (val)) #define GUINT32_SWAP_LE_BE(val) (GUINT32_SWAP_LE_BE_CONSTANT (val)) #define GUINT32_FROM_BE(val) (GUINT32_TO_BE (val)) #define g_htonl(val) (GUINT32_TO_BE (val)) #define GUINT32_FROM_LE(val) (GUINT32_TO_LE (val)) #define GUINT64_TO_BE(val) (GUINT64_SWAP_LE_BE (val)) #define GUINT64_SWAP_LE_BE(val) (GUINT64_SWAP_LE_BE_CONSTANT (val)) #define GUINT64_FROM_BE(val) (GUINT64_TO_BE (val)) #define GUINT64_FROM_LE(val) (GUINT64_TO_LE (val)) #define GUINT_FROM_BE(val) (GUINT_TO_BE (val)) #define GUINT_FROM_LE(val) (GUINT_TO_LE (val)) #define GULONG_FROM_BE(val) (GULONG_TO_BE (val)) #define GULONG_FROM_LE(val) (GULONG_TO_LE (val)) #define g_atomic_int_inc(atomic) (g_atomic_int_add ((atomic), 1)) #if __ia64__ #define G_GINT64_CONSTANT(val) (G_GNUC_EXTENSION (val ##L)) #endif #if __powerpc64__ #define G_GINT64_CONSTANT(val) (G_GNUC_EXTENSION (val ##L)) #endif #if __x86_64__ #define G_GINT64_CONSTANT(val) (G_GNUC_EXTENSION (val ##L)) #endif #if __s390x__ #define G_GINT64_CONSTANT(val) (G_GNUC_EXTENSION (val ##L)) #endif #if __i386__ #define G_GINT64_CONSTANT(val) (G_GNUC_EXTENSION (val ##LL)) #endif #if __powerpc__ && !__powerpc64__ #define G_GINT64_CONSTANT(val) (G_GNUC_EXTENSION (val ##LL)) #endif #if __s390__ && !__s390x__ #define G_GINT64_CONSTANT(val) (G_GNUC_EXTENSION (val ##LL)) #endif #define G_HOOK_FLAGS(hook) (G_HOOK (hook)->flags) #define G_LOG_FATAL_MASK (G_LOG_FLAG_RECURSION | G_LOG_LEVEL_ERROR) #define G_OPTION_ERROR (g_option_error_quark ()) #define g_thread_supported() (g_threads_got_initialized) #define G_N_ELEMENTS(arr) (sizeof (arr) / sizeof ((arr)[0])) #define G_STMT_START (void) __extension__ ( #define G_STMT_END ) #define G_PRIORITY_HIGH -100 #define G_DIR_SEPARATOR_S "/" #define G_HAVE_GROWING_STACK 0 #define G_PRIORITY_DEFAULT 0 #define G_LN2 0.69314718055994530941723212145817656807550013436026 #define G_PI_4 0.78539816339744830961566084581987572104929234984378 #define G_CSET_DIGITS "0123456789" #define G_DATE_BAD_DAY 0U #define G_DATE_BAD_JULIAN 0U #define G_DATE_BAD_YEAR 0U #define G_MUTEX_DEBUG_MAGIC 0xf8e18ad7 #define G_ALLOC_ONLY 1 #define G_CAN_INLINE 1 #define G_HAVE_GINT64 1 #define G_HAVE_GNUC_VARARGS 1 #define G_HAVE_GNUC_VISIBILITY 1 #define G_HAVE_INLINE 1 #define G_HAVE_ISO_VARARGS 1 #define G_HAVE___INLINE 1 #define G_HAVE___INLINE__ 1 #if __ia64__ #define G_VA_COPY_AS_ARRAY 1 #endif #if __powerpc__ && !__powerpc64__ #define G_VA_COPY_AS_ARRAY 1 #endif #if __powerpc64__ #define G_VA_COPY_AS_ARRAY 1 #endif #if __s390__ && !__s390x__ #define G_VA_COPY_AS_ARRAY 1 #endif #if __x86_64__ #define G_VA_COPY_AS_ARRAY 1 #endif #if __s390x__ #define G_VA_COPY_AS_ARRAY 1 #endif #define G_SQRT2 1.4142135623730950488016887242096980785696718753769 #define G_PI_2 1.5707963267948966192313216916397514420985846996876 #define G_PRIORITY_HIGH_IDLE 100 #define G_USEC_PER_SEC 1000000 #define G_LITTLE_ENDIAN 1234 #define GLIB_MAJOR_VERSION 2 #define G_ALLOC_AND_FREE 2 #define G_LN10 2.3025850929940456840179914546843642076011014886288 #define G_E 2.7182818284590452353602874713526624977572470937000 #define G_PRIORITY_DEFAULT_IDLE 200 #if __i386__ #define GLIB_LSB_PADDING_SIZE 24 #endif #if __powerpc__ && !__powerpc64__ #define GLIB_LSB_PADDING_SIZE 24 #endif #if __s390__ && !__s390x__ #define GLIB_LSB_PADDING_SIZE 24 #endif #define G_PI 3.1415926535897932384626433832795028841971693993751 #define G_PRIORITY_LOW 300 #define G_PDP_ENDIAN 3412 #if __i386__ #define GLIB_LSB_DATA_SIZE 4 #endif #if __powerpc__ && !__powerpc64__ #define GLIB_LSB_DATA_SIZE 4 #endif #if __s390__ && !__s390x__ #define GLIB_LSB_DATA_SIZE 4 #endif #if __i386__ #define GLIB_SIZEOF_LONG 4 #endif #if __powerpc__ && !__powerpc64__ #define GLIB_SIZEOF_LONG 4 #endif #if __s390__ && !__s390x__ #define GLIB_SIZEOF_LONG 4 #endif #if __i386__ #define GLIB_SIZEOF_SIZE_T 4 #endif #if __powerpc__ && !__powerpc64__ #define GLIB_SIZEOF_SIZE_T 4 #endif #if __s390__ && !__s390x__ #define GLIB_SIZEOF_SIZE_T 4 #endif #if __i386__ #define GLIB_SIZEOF_VOID_P 4 #endif #if __powerpc__ && !__powerpc64__ #define GLIB_SIZEOF_VOID_P 4 #endif #if __s390__ && !__s390x__ #define GLIB_SIZEOF_VOID_P 4 #endif #if __ia64__ #define GLIB_LSB_PADDING_SIZE 40 #endif #if __powerpc64__ #define GLIB_LSB_PADDING_SIZE 40 #endif #if __x86_64__ #define GLIB_LSB_PADDING_SIZE 40 #endif #if __s390x__ #define GLIB_LSB_PADDING_SIZE 40 #endif #define G_BIG_ENDIAN 4321 #define GLIB_MICRO_VERSION 6 #define GLIB_MINOR_VERSION 6 #if __ia64__ #define GLIB_LSB_DATA_SIZE 8 #endif #if __powerpc64__ #define GLIB_LSB_DATA_SIZE 8 #endif #if __x86_64__ #define GLIB_LSB_DATA_SIZE 8 #endif #if __s390x__ #define GLIB_LSB_DATA_SIZE 8 #endif #if __ia64__ #define GLIB_SIZEOF_LONG 8 #endif #if __powerpc64__ #define GLIB_SIZEOF_LONG 8 #endif #if __x86_64__ #define GLIB_SIZEOF_LONG 8 #endif #if __s390x__ #define GLIB_SIZEOF_LONG 8 #endif #if __ia64__ #define GLIB_SIZEOF_SIZE_T 8 #endif #if __powerpc64__ #define GLIB_SIZEOF_SIZE_T 8 #endif #if __x86_64__ #define GLIB_SIZEOF_SIZE_T 8 #endif #if __s390x__ #define GLIB_SIZEOF_SIZE_T 8 #endif #if __ia64__ #define GLIB_SIZEOF_VOID_P 8 #endif #if __powerpc64__ #define GLIB_SIZEOF_VOID_P 8 #endif #if __x86_64__ #define GLIB_SIZEOF_VOID_P 8 #endif #if __s390x__ #define GLIB_SIZEOF_VOID_P 8 #endif #define G_SEARCHPATH_SEPARATOR : #define G_SEARCHPATH_SEPARATOR_S ":" #define GLIB_SYSDEF_POLLIN =1 #define GLIB_SYSDEF_POLLHUP =16 #define GLIB_SYSDEF_POLLPRI =2 #define GLIB_SYSDEF_POLLNVAL =32 #define GLIB_SYSDEF_POLLOUT =4 #define GLIB_SYSDEF_POLLERR =8 #define G_CSET_A_2_Z "ABCDEFGHIJKLMNOPQRSTUVWXYZ" #define G_CSET_a_2_z "abcdefghijklmnopqrstuvwxyz" #define g_alloca(size) alloca (size) #define G_CONST_RETURN const #define G_MAXDOUBLE DBL_MAX #define G_MINDOUBLE DBL_MIN #define GLIB_VAR extern #define G_LOCK_EXTERN(name) extern GStaticMutex G_LOCK_NAME (name) #define G_INLINE_FUNC extern inline #define G_MAXFLOAT FLT_MAX #define G_MINFLOAT FLT_MIN #define G_MEM_ALIGN GLIB_SIZEOF_LONG #define g_array_append_val(a,v) g_array_append_vals (a, &(v), 1) #define g_array_insert_val(a,i,v) g_array_insert_vals (a, i, &(v), 1) #define g_array_prepend_val(a,v) g_array_prepend_vals (a, &(v), 1) #define ATEXIT(proc) g_ATEXIT(proc) #if __powerpc__ && !__powerpc64__ #define G_BYTE_ORDER G_BIG_ENDIAN #endif #if __powerpc64__ #define G_BYTE_ORDER G_BIG_ENDIAN #endif #if __s390__ && !__s390x__ #define G_BYTE_ORDER G_BIG_ENDIAN #endif #if __s390x__ #define G_BYTE_ORDER G_BIG_ENDIAN #endif #define G_CONVERT_ERROR g_convert_error_quark() #define g_date_day g_date_get_day #define g_date_days_in_month g_date_get_days_in_month #define g_date_day_of_year g_date_get_day_of_year #define g_date_julian g_date_get_julian #define g_date_monday_weeks_in_year g_date_get_monday_weeks_in_year #define g_date_monday_week_of_year g_date_get_monday_week_of_year #define g_date_month g_date_get_month #define g_date_sunday_weeks_in_year g_date_get_sunday_weeks_in_year #define g_date_sunday_week_of_year g_date_get_sunday_week_of_year #define g_date_weekday g_date_get_weekday #define g_date_year g_date_get_year #define G_FILE_ERROR g_file_error_quark () #define G_MAXINT64 G_GINT64_CONSTANT(0x7fffffffffffffff) #define G_MININT64 G_GINT64_CONSTANT(0x8000000000000000) #define G_MAXUINT64 G_GINT64_CONSTANT(0xffffffffffffffffU) #define G_IO_CHANNEL_ERROR g_io_channel_error_quark() #define G_KEY_FILE_ERROR g_key_file_error_quark() #if __i386__ #define G_BYTE_ORDER G_LITTLE_ENDIAN #endif #if __ia64__ #define G_BYTE_ORDER G_LITTLE_ENDIAN #endif #if __x86_64__ #define G_BYTE_ORDER G_LITTLE_ENDIAN #endif #define g_debug(...) g_log (G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, __VA_ARGS__) #define g_error(...) g_log (G_LOG_DOMAIN, G_LOG_LEVEL_ERROR, __VA_ARGS__) #define G_MARKUP_ERROR g_markup_error_quark () #if __i386__ #define G_MAXSIZE G_MAXUINT #endif #if __powerpc__ && !__powerpc64__ #define G_MAXSIZE G_MAXUINT #endif #if __s390__ && !__s390x__ #define G_MAXSIZE G_MAXUINT #endif #if __ia64__ #define G_MAXSIZE G_MAXULONG #endif #if __powerpc64__ #define G_MAXSIZE G_MAXULONG #endif #if __x86_64__ #define G_MAXSIZE G_MAXULONG #endif #if __s390x__ #define G_MAXSIZE G_MAXULONG #endif #define G_SHELL_ERROR g_shell_error_quark () #define G_SPAWN_ERROR g_spawn_error_quark () #define G_LOCK(name) g_static_mutex_lock (&G_LOCK_NAME (name)) #define G_TRYLOCK(name) g_static_mutex_trylock (&G_LOCK_NAME (name)) #define G_UNLOCK(name) g_static_mutex_unlock (&G_LOCK_NAME (name)) #define g_strstrip(string) g_strchomp (g_strchug (string)) #define G_STRINGIFY(macro_or_string) G_STRINGIFY_ARG (macro_or_string) #define g_cond_free(cond) G_THREAD_CF (cond_free, (void)0, (cond)) #define g_cond_signal(cond) G_THREAD_CF (cond_signal, (void)0, (cond)) #define g_mutex_free(mutex) G_THREAD_CF (mutex_free, (void)0, (mutex)) #define g_mutex_lock(mutex) G_THREAD_CF (mutex_lock, (void)0, (mutex)) #define g_mutex_trylock(mutex) G_THREAD_CF (mutex_trylock, TRUE, (mutex)) #define g_mutex_unlock(mutex) G_THREAD_CF (mutex_unlock, (void)0, (mutex)) #define g_thread_yield() G_THREAD_CF (thread_yield, (void)0, ()) #define G_THREAD_ERROR g_thread_error_quark () #define g_cond_new() G_THREAD_UF (cond_new, ()) #define g_mutex_new() G_THREAD_UF (mutex_new, ()) #define g_private_new(destructor) G_THREAD_UF (private_new, (destructor)) #define G_LOCK_NAME(name) g__ ## name ## _lock #define G_GINT16_MODIFIER "h" #define G_GINT16_FORMAT "hi" #define G_GUINT16_FORMAT "hu" #define G_GINT32_FORMAT "i" #if __i386__ #define G_GSSIZE_FORMAT "i" #endif #if __powerpc__ && !__powerpc64__ #define G_GSSIZE_FORMAT "i" #endif #if __s390__ && !__s390x__ #define G_GSSIZE_FORMAT "i" #endif #define G_MAXINT INT_MAX #define G_MININT INT_MIN #if __ia64__ #define G_GINT64_MODIFIER "l" #endif #if __powerpc64__ #define G_GINT64_MODIFIER "l" #endif #if __x86_64__ #define G_GINT64_MODIFIER "l" #endif #if __s390x__ #define G_GINT64_MODIFIER "l" #endif #if __ia64__ #define G_GSIZE_MODIFIER "l" #endif #if __powerpc64__ #define G_GSIZE_MODIFIER "l" #endif #if __x86_64__ #define G_GSIZE_MODIFIER "l" #endif #if __s390x__ #define G_GSIZE_MODIFIER "l" #endif #if __ia64__ #define G_GINT64_FORMAT "li" #endif #if __powerpc64__ #define G_GINT64_FORMAT "li" #endif #if __x86_64__ #define G_GINT64_FORMAT "li" #endif #if __s390x__ #define G_GINT64_FORMAT "li" #endif #if __ia64__ #define G_GSSIZE_FORMAT "li" #endif #if __powerpc64__ #define G_GSSIZE_FORMAT "li" #endif #if __x86_64__ #define G_GSSIZE_FORMAT "li" #endif #if __s390x__ #define G_GSSIZE_FORMAT "li" #endif #if __i386__ #define G_GINT64_MODIFIER "ll" #endif #if __powerpc__ && !__powerpc64__ #define G_GINT64_MODIFIER "ll" #endif #if __s390__ && !__s390x__ #define G_GINT64_MODIFIER "ll" #endif #if __i386__ #define G_GINT64_FORMAT "lli" #endif #if __powerpc__ && !__powerpc64__ #define G_GINT64_FORMAT "lli" #endif #if __s390__ && !__s390x__ #define G_GINT64_FORMAT "lli" #endif #if __i386__ #define G_GUINT64_FORMAT "llu" #endif #if __powerpc__ && !__powerpc64__ #define G_GUINT64_FORMAT "llu" #endif #if __s390__ && !__s390x__ #define G_GUINT64_FORMAT "llu" #endif #define G_MAXLONG LONG_MAX #define G_MINLONG LONG_MIN #if __ia64__ #define G_GSIZE_FORMAT "lu" #endif #if __powerpc64__ #define G_GSIZE_FORMAT "lu" #endif #if __x86_64__ #define G_GSIZE_FORMAT "lu" #endif #if __s390x__ #define G_GSIZE_FORMAT "lu" #endif #if __ia64__ #define G_GUINT64_FORMAT "lu" #endif #if __powerpc64__ #define G_GUINT64_FORMAT "lu" #endif #if __x86_64__ #define G_GUINT64_FORMAT "lu" #endif #if __s390x__ #define G_GUINT64_FORMAT "lu" #endif #define G_MAXSHORT SHRT_MAX #define G_MINSHORT SHRT_MIN #define G_MODULE_SUFFIX "so" #define G_LOCK_DEFINE_STATIC(name) static G_LOCK_DEFINE (name) #if __i386__ #define G_GSIZE_FORMAT "u" #endif #if __powerpc__ && !__powerpc64__ #define G_GSIZE_FORMAT "u" #endif #if __s390__ && !__s390x__ #define G_GSIZE_FORMAT "u" #endif #define G_GUINT32_FORMAT "u" #define G_MAXUINT UINT_MAX #define G_MAXULONG ULONG_MAX #define G_MAXUSHORT USHRT_MAX #define G_VA_COPY va_copy #define G_STR_DELIMITERS "_-|> <." #define G_GNUC_INTERNAL __attribute__((visibility("hidden"))) #define G_GNUC_CONST __attribute__((__const__)) #define G_GNUC_DEPRECATED __attribute__((__deprecated__)) #define G_GNUC_FORMAT(arg_idx) __attribute__((__format_arg__ (arg_idx))) #define G_GNUC_MALLOC __attribute__((__malloc__)) #define G_GNUC_NORETURN __attribute__((__noreturn__)) #define G_GNUC_NO_INSTRUMENT __attribute__((__no_instrument_function__)) #define G_GNUC_PURE __attribute__((__pure__)) #define G_GNUC_UNUSED __attribute__((__unused__)) #define alloca(size) __builtin_alloca (size) #define G_GNUC_EXTENSION __extension__ #define G_STRLOC __FILE__ ":" G_STRINGIFY (__LINE__) #define G_STATIC_PRIVATE_INIT { 0 } #define G_ONCE_INIT { G_ONCE_STATUS_NOTCALLED, NULL } #define G_STATIC_REC_MUTEX_INIT { G_STATIC_MUTEX_INIT } /* Arch Specific HeaderGroup for glib-2.0/glib.h*/ #if __i386__ /* IA32 */ typedef int gssize; #endif #if __i386__ /* IA32 */ typedef long long int gint64; #endif #if __i386__ /* IA32 */ typedef long long unsigned int guint64; #endif #if __ia64__ /* IA64 */ typedef long int gint64; #endif #if __powerpc__ && !__powerpc64__ /* PPC32 */ typedef long long int gint64; #endif #if __powerpc64__ /* PPC64 */ typedef long int gint64; #endif #if __s390__ && !__s390x__ /* S390 */ typedef long long int gint64; #endif #if __x86_64__ /* x86-64 */ typedef long int gint64; #endif #if __s390x__ /* S390X */ typedef long int gint64; #endif #if __ia64__ /* IA64 */ typedef unsigned long int guint64; #endif #if __powerpc__ && !__powerpc64__ /* PPC32 */ typedef long long unsigned int guint64; #endif #if __powerpc64__ /* PPC64 */ typedef unsigned long int guint64; #endif #if __s390__ && !__s390x__ /* S390 */ typedef long long unsigned int guint64; #endif #if __x86_64__ /* x86-64 */ typedef unsigned long int guint64; #endif #if __s390x__ /* S390X */ typedef unsigned long int guint64; #endif #if __ia64__ /* IA64 */ typedef long int gssize; #endif #if __powerpc__ && !__powerpc64__ /* PPC32 */ typedef int gssize; #endif #if __powerpc64__ /* PPC64 */ typedef long int gssize; #endif #if __s390__ && !__s390x__ /* S390 */ typedef int gssize; #endif #if __x86_64__ /* x86-64 */ typedef long int gssize; #endif #if __s390x__ /* S390X */ typedef long int gssize; #endif #if __ia64__ /* IA64 */ typedef unsigned long int gsize; #endif #if __powerpc__ && !__powerpc64__ /* PPC32 */ typedef unsigned int gsize; #endif #if __powerpc64__ /* PPC64 */ typedef unsigned long int gsize; #endif #if __s390__ && !__s390x__ /* S390 */ typedef unsigned int gsize; #endif #if __x86_64__ /* x86-64 */ typedef unsigned long int gsize; #endif #if __s390x__ /* S390X */ typedef unsigned long int gsize; #endif /* Default HeaderGroup for glib-2.0/glib.h*/ typedef short unsigned int guint16; typedef int gint; typedef gint gboolean; typedef unsigned int guint; typedef void *gpointer; typedef gpointer(*GThreadFunc) (gpointer); typedef enum { G_THREAD_PRIORITY_LOW = 0, G_THREAD_PRIORITY_NORMAL = 1, G_THREAD_PRIORITY_HIGH = 2, G_THREAD_PRIORITY_URGENT = 3 } GThreadPriority; typedef struct _GThread GThread; typedef unsigned int guint32; typedef guint32 GQuark; typedef char gchar; typedef struct _GError GError; typedef void (*GPrintFunc) (const gchar *); typedef struct _GMemChunk GMemChunk; typedef long unsigned int gulong; typedef struct _GList GList; typedef struct _GMainLoop GMainLoop; typedef struct _GHook GHook; typedef void (*GDestroyNotify) (gpointer); typedef struct _GHookList GHookList; typedef void (*GHookFinalizeFunc) (GHookList *, GHook *); typedef struct _GQueue GQueue; typedef struct _GSList GSList; #if __i386__ /* IA32 */ typedef unsigned int gsize; #endif typedef struct _GString GString; typedef struct _GPtrArray GPtrArray; typedef struct _GRand GRand; typedef struct _GDir GDir; typedef struct _GRelation GRelation; typedef struct _GOptionContext GOptionContext; typedef struct _GKeyFile GKeyFile; typedef struct _GPatternSpec GPatternSpec; typedef guint32 gunichar; typedef gchar *(*GCompletionFunc) (gpointer); typedef gint(*GCompletionStrncmpFunc) (const gchar *, const gchar *, gsize); typedef struct _GCompletion GCompletion; typedef struct _GTimer GTimer; typedef struct _GHashTable GHashTable; typedef const void *gconstpointer; typedef guint(*GHashFunc) (gconstpointer); typedef gboolean(*GEqualFunc) (gconstpointer, gconstpointer); typedef struct _GStaticMutex GStaticMutex; typedef union _GSystemThread GSystemThread; typedef struct _GStaticRecMutex GStaticRecMutex; typedef struct _GMarkupParseContext GMarkupParseContext; typedef struct _GData GData; typedef enum { G_IO_STATUS_ERROR = 0, G_IO_STATUS_NORMAL = 1, G_IO_STATUS_EOF = 2, G_IO_STATUS_AGAIN = 3 } GIOStatus; typedef struct _GIOChannel GIOChannel; typedef enum { G_SEEK_CUR = 0, G_SEEK_SET = 1, G_SEEK_END = 2 } GSeekType; typedef struct _GSource GSource; typedef gboolean(*GSourceFunc) (gpointer); typedef struct _GSourceCallbackFuncs GSourceCallbackFuncs; typedef void (*GSourceDummyMarshal) (void); typedef struct _GSourceFuncs GSourceFuncs; typedef struct _GMainContext GMainContext; typedef enum { G_IO_IN = 1, G_IO_OUT = 4, G_IO_PRI = 2, G_IO_ERR = 8, G_IO_HUP = 16, G_IO_NVAL = 32 } GIOCondition; typedef enum { G_IO_FLAG_APPEND = 1, G_IO_FLAG_NONBLOCK = 2, G_IO_FLAG_IS_READABLE = 4, G_IO_FLAG_IS_WRITEABLE = 8, G_IO_FLAG_IS_SEEKABLE = 16, G_IO_FLAG_MASK = 31, G_IO_FLAG_GET_MASK = 31, G_IO_FLAG_SET_MASK = 3 } GIOFlags; typedef struct _GIOFuncs GIOFuncs; typedef struct _GIConv *GIConv; typedef struct _GOptionGroup GOptionGroup; typedef enum { G_SPAWN_LEAVE_DESCRIPTORS_OPEN = 1, G_SPAWN_DO_NOT_REAP_CHILD = 2, G_SPAWN_SEARCH_PATH = 4, G_SPAWN_STDOUT_TO_DEV_NULL = 8, G_SPAWN_STDERR_TO_DEV_NULL = 16, G_SPAWN_CHILD_INHERITS_STDIN = 32, G_SPAWN_FILE_AND_ARGV_ZERO = 64 } GSpawnFlags; typedef void (*GSpawnChildSetupFunc) (gpointer); typedef int GPid; typedef void (*GFunc) (gpointer, gpointer); typedef struct _GThreadPool GThreadPool; typedef struct _GDate GDate; typedef enum { G_DATE_BAD_MONTH = 0, G_DATE_JANUARY = 1, G_DATE_FEBRUARY = 2, G_DATE_MARCH = 3, G_DATE_APRIL = 4, G_DATE_MAY = 5, G_DATE_JUNE = 6, G_DATE_JULY = 7, G_DATE_AUGUST = 8, G_DATE_SEPTEMBER = 9, G_DATE_OCTOBER = 10, G_DATE_NOVEMBER = 11, G_DATE_DECEMBER = 12 } GDateMonth; typedef struct _GAsyncQueue GAsyncQueue; typedef short unsigned int gushort; typedef struct _GPollFD GPollFD; typedef double gdouble; typedef struct _GTree GTree; typedef gint(*GCompareDataFunc) (gconstpointer, gconstpointer, gpointer); typedef unsigned char guint8; typedef guint16 GDateYear; typedef struct _GCache GCache; typedef void (*GHFunc) (gpointer, gpointer, gpointer); typedef struct _GScannerConfig GScannerConfig; typedef enum { G_TOKEN_EOF = 0, G_TOKEN_LEFT_PAREN = 40, G_TOKEN_RIGHT_PAREN = 41, G_TOKEN_LEFT_CURLY = 123, G_TOKEN_RIGHT_CURLY = 125, G_TOKEN_LEFT_BRACE = 91, G_TOKEN_RIGHT_BRACE = 93, G_TOKEN_EQUAL_SIGN = 61, G_TOKEN_COMMA = 44, G_TOKEN_NONE = 256, G_TOKEN_ERROR = 257, G_TOKEN_CHAR = 258, G_TOKEN_BINARY = 259, G_TOKEN_OCTAL = 260, G_TOKEN_INT = 261, G_TOKEN_HEX = 262, G_TOKEN_FLOAT = 263, G_TOKEN_STRING = 264, G_TOKEN_SYMBOL = 265, G_TOKEN_IDENTIFIER = 266, G_TOKEN_IDENTIFIER_NULL = 267, G_TOKEN_COMMENT_SINGLE = 268, G_TOKEN_COMMENT_MULTI = 269, G_TOKEN_LAST = 270 } GTokenType; typedef unsigned char guchar; typedef union _GTokenValue GTokenValue; typedef struct _GScanner GScanner; typedef void (*GScannerMsgFunc) (GScanner *, gchar *, gboolean); typedef struct _GByteArray GByteArray; typedef enum { G_KEY_FILE_NONE = 0, G_KEY_FILE_KEEP_COMMENTS = 1, G_KEY_FILE_KEEP_TRANSLATIONS = 2 } GKeyFileFlags; typedef struct _GTrashStack GTrashStack; typedef guint16 gunichar2; typedef long int glong; typedef struct _GArray GArray; typedef struct _GNode GNode; typedef gboolean(*GHRFunc) (gpointer, gpointer, gpointer); typedef gint(*GCompareFunc) (gconstpointer, gconstpointer); typedef int gint32; typedef gint32 GTime; typedef gint(*GPollFunc) (GPollFD *, guint, gint); typedef guint8 GDateDay; typedef enum { G_UNICODE_BREAK_MANDATORY = 0, G_UNICODE_BREAK_CARRIAGE_RETURN = 1, G_UNICODE_BREAK_LINE_FEED = 2, G_UNICODE_BREAK_COMBINING_MARK = 3, G_UNICODE_BREAK_SURROGATE = 4, G_UNICODE_BREAK_ZERO_WIDTH_SPACE = 5, G_UNICODE_BREAK_INSEPARABLE = 6, G_UNICODE_BREAK_NON_BREAKING_GLUE = 7, G_UNICODE_BREAK_CONTINGENT = 8, G_UNICODE_BREAK_SPACE = 9, G_UNICODE_BREAK_AFTER = 10, G_UNICODE_BREAK_BEFORE = 11, G_UNICODE_BREAK_BEFORE_AND_AFTER = 12, G_UNICODE_BREAK_HYPHEN = 13, G_UNICODE_BREAK_NON_STARTER = 14, G_UNICODE_BREAK_OPEN_PUNCTUATION = 15, G_UNICODE_BREAK_CLOSE_PUNCTUATION = 16, G_UNICODE_BREAK_QUOTATION = 17, G_UNICODE_BREAK_EXCLAMATION = 18, G_UNICODE_BREAK_IDEOGRAPHIC = 19, G_UNICODE_BREAK_NUMERIC = 20, G_UNICODE_BREAK_INFIX_SEPARATOR = 21, G_UNICODE_BREAK_SYMBOL = 22, G_UNICODE_BREAK_ALPHABETIC = 23, G_UNICODE_BREAK_PREFIX = 24, G_UNICODE_BREAK_POSTFIX = 25, G_UNICODE_BREAK_COMPLEX_CONTEXT = 26, G_UNICODE_BREAK_AMBIGUOUS = 27, G_UNICODE_BREAK_UNKNOWN = 28, G_UNICODE_BREAK_NEXT_LINE = 29, G_UNICODE_BREAK_WORD_JOINER = 30 } GUnicodeBreakType; typedef struct _GStringChunk GStringChunk; typedef struct _GCond GCond; typedef struct _GStaticRWLock GStaticRWLock; typedef void (*GChildWatchFunc) (GPid, gint, gpointer); typedef struct _GTimeVal GTimeVal; typedef enum { G_LOG_FLAG_RECURSION = 1, G_LOG_FLAG_FATAL = 2, G_LOG_LEVEL_ERROR = 4, G_LOG_LEVEL_CRITICAL = 8, G_LOG_LEVEL_WARNING = 16, G_LOG_LEVEL_MESSAGE = 32, G_LOG_LEVEL_INFO = 64, G_LOG_LEVEL_DEBUG = 128, G_LOG_LEVEL_MASK = -4 } GLogLevelFlags; typedef enum { G_DATE_BAD_WEEKDAY = 0, G_DATE_MONDAY = 1, G_DATE_TUESDAY = 2, G_DATE_WEDNESDAY = 3, G_DATE_THURSDAY = 4, G_DATE_FRIDAY = 5, G_DATE_SATURDAY = 6, G_DATE_SUNDAY = 7 } GDateWeekday; typedef enum { G_IN_ORDER = 0, G_PRE_ORDER = 1, G_POST_ORDER = 2, G_LEVEL_ORDER = 3 } GTraverseType; typedef enum { G_TRAVERSE_LEAVES = 1, G_TRAVERSE_NON_LEAVES = 2, G_TRAVERSE_ALL = 3, G_TRAVERSE_MASK = 3, G_TRAVERSE_LEAFS = 1, G_TRAVERSE_NON_LEAFS = 2 } GTraverseFlags; typedef struct _GMarkupParser GMarkupParser; typedef enum { G_MARKUP_DO_NOT_USE_THIS_UNSUPPORTED_FLAG = 1 } GMarkupParseFlags; typedef gboolean(*GHookCheckMarshaller) (GHook *, gpointer); typedef gboolean(*GNodeTraverseFunc) (GNode *, gpointer); typedef enum { G_NORMALIZE_DEFAULT = 0, G_NORMALIZE_NFD = 0, G_NORMALIZE_DEFAULT_COMPOSE = 1, G_NORMALIZE_NFC = 1, G_NORMALIZE_ALL = 2, G_NORMALIZE_NFKD = 2, G_NORMALIZE_ALL_COMPOSE = 3, G_NORMALIZE_NFKC = 3 } GNormalizeMode; typedef struct _GMutex GMutex; typedef struct _GStaticPrivate GStaticPrivate; typedef enum { G_FILE_ERROR_EXIST = 0, G_FILE_ERROR_ISDIR = 1, G_FILE_ERROR_ACCES = 2, G_FILE_ERROR_NAMETOOLONG = 3, G_FILE_ERROR_NOENT = 4, G_FILE_ERROR_NOTDIR = 5, G_FILE_ERROR_NXIO = 6, G_FILE_ERROR_NODEV = 7, G_FILE_ERROR_ROFS = 8, G_FILE_ERROR_TXTBSY = 9, G_FILE_ERROR_FAULT = 10, G_FILE_ERROR_LOOP = 11, G_FILE_ERROR_NOSPC = 12, G_FILE_ERROR_NOMEM = 13, G_FILE_ERROR_MFILE = 14, G_FILE_ERROR_NFILE = 15, G_FILE_ERROR_BADF = 16, G_FILE_ERROR_INVAL = 17, G_FILE_ERROR_PIPE = 18, G_FILE_ERROR_AGAIN = 19, G_FILE_ERROR_INTR = 20, G_FILE_ERROR_IO = 21, G_FILE_ERROR_PERM = 22, G_FILE_ERROR_NOSYS = 23, G_FILE_ERROR_FAILED = 24 } GFileError; typedef void (*GDataForeachFunc) (GQuark, gpointer, gpointer); typedef struct _GMemVTable GMemVTable; typedef enum { G_OPTION_ARG_NONE = 0, G_OPTION_ARG_STRING = 1, G_OPTION_ARG_INT = 2, G_OPTION_ARG_CALLBACK = 3, G_OPTION_ARG_FILENAME = 4, G_OPTION_ARG_STRING_ARRAY = 5, G_OPTION_ARG_FILENAME_ARRAY = 6 } GOptionArg; typedef struct _GOptionEntry GOptionEntry; typedef enum { G_UNICODE_CONTROL = 0, G_UNICODE_FORMAT = 1, G_UNICODE_UNASSIGNED = 2, G_UNICODE_PRIVATE_USE = 3, G_UNICODE_SURROGATE = 4, G_UNICODE_LOWERCASE_LETTER = 5, G_UNICODE_MODIFIER_LETTER = 6, G_UNICODE_OTHER_LETTER = 7, G_UNICODE_TITLECASE_LETTER = 8, G_UNICODE_UPPERCASE_LETTER = 9, G_UNICODE_COMBINING_MARK = 10, G_UNICODE_ENCLOSING_MARK = 11, G_UNICODE_NON_SPACING_MARK = 12, G_UNICODE_DECIMAL_NUMBER = 13, G_UNICODE_LETTER_NUMBER = 14, G_UNICODE_OTHER_NUMBER = 15, G_UNICODE_CONNECT_PUNCTUATION = 16, G_UNICODE_DASH_PUNCTUATION = 17, G_UNICODE_CLOSE_PUNCTUATION = 18, G_UNICODE_FINAL_PUNCTUATION = 19, G_UNICODE_INITIAL_PUNCTUATION = 20, G_UNICODE_OTHER_PUNCTUATION = 21, G_UNICODE_OPEN_PUNCTUATION = 22, G_UNICODE_CURRENCY_SYMBOL = 23, G_UNICODE_MODIFIER_SYMBOL = 24, G_UNICODE_MATH_SYMBOL = 25, G_UNICODE_OTHER_SYMBOL = 26, G_UNICODE_LINE_SEPARATOR = 27, G_UNICODE_PARAGRAPH_SEPARATOR = 28, G_UNICODE_SPACE_SEPARATOR = 29 } GUnicodeType; typedef void (*GLogFunc) (const gchar *, GLogLevelFlags, const gchar *, gpointer); typedef struct _GAllocator GAllocator; typedef const gchar *(*GTranslateFunc) (const gchar *, gpointer); typedef gboolean(*GOptionParseFunc) (GOptionContext *, GOptionGroup *, gpointer, GError * *); typedef void (*GVoidFunc) (void); typedef gboolean(*GHookFindFunc) (GHook *, gpointer); typedef struct _GTuples GTuples; typedef gpointer(*GCopyFunc) (gconstpointer, gpointer); typedef void (*GOptionErrorFunc) (GOptionContext *, GOptionGroup *, gpointer, GError * *); typedef gpointer(*GCacheNewFunc) (gpointer); typedef void (*GCacheDestroyFunc) (gpointer); typedef gpointer(*GCacheDupFunc) (gpointer); typedef enum { G_FILE_TEST_IS_REGULAR = 1, G_FILE_TEST_IS_SYMLINK = 2, G_FILE_TEST_IS_DIR = 4, G_FILE_TEST_IS_EXECUTABLE = 8, G_FILE_TEST_EXISTS = 16 } GFileTest; typedef enum { G_ONCE_STATUS_NOTCALLED = 0, G_ONCE_STATUS_PROGRESS = 1, G_ONCE_STATUS_READY = 2 } GOnceStatus; typedef struct _GOnce GOnce; typedef gboolean(*GTraverseFunc) (gpointer, gpointer, gpointer); typedef gint(*GHookCompareFunc) (GHook *, GHook *); typedef void (*GNodeForeachFunc) (GNode *, gpointer); typedef struct _GDebugKey GDebugKey; typedef struct _GPrivate GPrivate; typedef struct _GThreadFunctions GThreadFunctions; typedef void (*GHookMarshaller) (GHook *, gpointer); typedef enum { G_IO_CHANNEL_ERROR_FBIG = 0, G_IO_CHANNEL_ERROR_INVAL = 1, G_IO_CHANNEL_ERROR_IO = 2, G_IO_CHANNEL_ERROR_ISDIR = 3, G_IO_CHANNEL_ERROR_NOSPC = 4, G_IO_CHANNEL_ERROR_NXIO = 5, G_IO_CHANNEL_ERROR_OVERFLOW = 6, G_IO_CHANNEL_ERROR_PIPE = 7, G_IO_CHANNEL_ERROR_FAILED = 8 } GIOChannelError; typedef gboolean(*GIOFunc) (GIOChannel *, GIOCondition, gpointer); typedef void (*GFreeFunc) (gpointer); typedef gboolean(*GHookCheckFunc) (gpointer); typedef void (*GHookFunc) (gpointer); typedef short int gint16; typedef enum { G_DATE_DAY = 0, G_DATE_MONTH = 1, G_DATE_YEAR = 2 } GDateDMY; typedef signed char gint8; typedef enum { G_MARKUP_ERROR_BAD_UTF8 = 0, G_MARKUP_ERROR_EMPTY = 1, G_MARKUP_ERROR_PARSE = 2, G_MARKUP_ERROR_UNKNOWN_ELEMENT = 3, G_MARKUP_ERROR_UNKNOWN_ATTRIBUTE = 4, G_MARKUP_ERROR_INVALID_CONTENT = 5 } GMarkupError; typedef enum { G_IO_ERROR_NONE = 0, G_IO_ERROR_AGAIN = 1, G_IO_ERROR_INVAL = 2, G_IO_ERROR_UNKNOWN = 3 } GIOError; typedef gboolean(*GOptionArgFunc) (const gchar *, const gchar *, gpointer, GError * *); typedef enum { G_OPTION_FLAG_HIDDEN = 1 << 0, G_OPTION_FLAG_IN_MAIN = 1 << 1, G_OPTION_FLAG_REVERSE = 1 << 2 } GOptionFlags; typedef enum { G_CONVERT_ERROR_NO_CONVERSION, G_CONVERT_ERROR_ILLEGAL_SEQUENCE, G_CONVERT_ERROR_FAILED, G_CONVERT_ERROR_PARTIAL_INPUT, G_CONVERT_ERROR_BAD_URI, G_CONVERT_ERROR_NOT_ABSOLUTE_PATH } GConvertError; typedef enum { G_ERR_UNKNOWN, G_ERR_UNEXP_EOF, G_ERR_UNEXP_EOF_IN_STRING, G_ERR_UNEXP_EOF_IN_COMMENT, G_ERR_NON_DIGIT_IN_CONST, G_ERR_DIGIT_RADIX, G_ERR_FLOAT_RADIX, G_ERR_FLOAT_MALFORMED } GErrorType; typedef enum { G_KEY_FILE_ERROR_UNKNOWN_ENCODING, G_KEY_FILE_ERROR_PARSE, G_KEY_FILE_ERROR_NOT_FOUND, G_KEY_FILE_ERROR_KEY_NOT_FOUND, G_KEY_FILE_ERROR_GROUP_NOT_FOUND, G_KEY_FILE_ERROR_INVALID_VALUE } GKeyFileError; typedef enum { G_SPAWN_ERROR_FORK, G_SPAWN_ERROR_READ, G_SPAWN_ERROR_CHDIR, G_SPAWN_ERROR_ACCES, G_SPAWN_ERROR_PERM, G_SPAWN_ERROR_2BIG, G_SPAWN_ERROR_NOEXEC, G_SPAWN_ERROR_NAMETOOLONG, G_SPAWN_ERROR_NOENT, G_SPAWN_ERROR_NOMEM, G_SPAWN_ERROR_NOTDIR, G_SPAWN_ERROR_LOOP, G_SPAWN_ERROR_TXTBUSY, G_SPAWN_ERROR_IO, G_SPAWN_ERROR_NFILE, G_SPAWN_ERROR_MFILE, G_SPAWN_ERROR_INVAL, G_SPAWN_ERROR_ISDIR, G_SPAWN_ERROR_LIBBAD, G_SPAWN_ERROR_FAILED } GSpawnError; typedef enum { G_HOOK_FLAG_ACTIVE = 1 << 0, G_HOOK_FLAG_IN_CALL = 1 << 1, G_HOOK_FLAG_MASK = 0x0f } GHookFlagMask; typedef enum { G_THREAD_ERROR_AGAIN } GThreadError; typedef enum { G_OPTION_ERROR_UNKNOWN_OPTION, G_OPTION_ERROR_BAD_VALUE, G_OPTION_ERROR_FAILED } GOptionError; typedef enum { G_ASCII_ALNUM = 1 << 0, G_ASCII_ALPHA = 1 << 1, G_ASCII_CNTRL = 1 << 2, G_ASCII_DIGIT = 1 << 3, G_ASCII_GRAPH = 1 << 4, G_ASCII_LOWER = 1 << 5, G_ASCII_PRINT = 1 << 6, G_ASCII_PUNCT = 1 << 7, G_ASCII_SPACE = 1 << 8, G_ASCII_UPPER = 1 << 9, G_ASCII_XDIGIT = 1 << 10 } GAsciiType; typedef enum { G_SHELL_ERROR_BAD_QUOTING, G_SHELL_ERROR_EMPTY_STRING, G_SHELL_ERROR_FAILED } GShellError; struct _GThread { GThreadFunc func; gpointer data; gboolean joinable; GThreadPriority priority; }; struct _GError { GQuark domain; gint code; gchar *message; }; struct _GList { gpointer data; GList *next; GList *prev; }; struct _GHook { gpointer data; GHook *next; GHook *prev; guint ref_count; gulong hook_id; guint flags; gpointer func; GDestroyNotify destroy; }; struct _GHookList { gulong seq_id; guint hook_size:16; guint is_setup:1; GHook *hooks; GMemChunk *hook_memchunk; GHookFinalizeFunc finalize_hook; gpointer dummy[2]; }; struct _GQueue { GList *head; GList *tail; guint length; }; struct _GSList { gpointer data; GSList *next; }; struct _GString { gchar *str; gsize len; gsize allocated_len; }; struct _GPtrArray { gpointer *pdata; guint len; }; struct _GCompletion { GList *items; GCompletionFunc func; gchar *prefix; GList *cache; GCompletionStrncmpFunc strncmp_func; }; struct _GStaticMutex { struct _GMutex *runtime_mutex; union { char pad[GLIB_LSB_PADDING_SIZE]; double dummy_double; void *dummy_pointer; long int dummy_long; } static_mutex; }; union _GSystemThread { char data[GLIB_LSB_DATA_SIZE]; double dummy_double; void *dummy_pointer; long int dummy_long; }; struct _GStaticRecMutex { GStaticMutex mutex; guint depth; GSystemThread owner; }; struct _GIOChannel { guint ref_count; GIOFuncs *funcs; gchar *encoding; GIConv read_cd; GIConv write_cd; gchar *line_term; guint line_term_len; gsize buf_size; GString *read_buf; GString *encoded_read_buf; GString *write_buf; gchar partial_write_buf[6]; guint use_buffer:1; guint do_encode:1; guint close_on_unref:1; guint is_readable:1; guint is_writeable:1; guint is_seekable:1; gpointer reserved1; gpointer reserved2; }; struct _GSource { gpointer callback_data; GSourceCallbackFuncs *callback_funcs; GSourceFuncs *source_funcs; guint ref_count; GMainContext *context; gint priority; guint flags; guint source_id; GSList *poll_fds; GSource *prev; GSource *next; gpointer reserved1; gpointer reserved2; }; struct _GSourceCallbackFuncs { void (*ref) (gpointer); void (*unref) (gpointer); void (*get) (gpointer, GSource *, GSourceFunc *, gpointer *); }; struct _GSourceFuncs { gboolean(*prepare) (GSource *, gint *); gboolean(*check) (GSource *); gboolean(*dispatch) (GSource *, GSourceFunc, gpointer); void (*finalize) (GSource *); GSourceFunc closure_callback; GSourceDummyMarshal closure_marshal; }; struct _GIOFuncs { GIOStatus(*io_read) (GIOChannel *, gchar *, gsize, gsize *, GError * *); GIOStatus(*io_write) (GIOChannel *, const gchar *, gsize, gsize *, GError * *); GIOStatus(*io_seek) (GIOChannel *, gint64, GSeekType, GError * *); GIOStatus(*io_close) (GIOChannel *, GError * *); GSource *(*io_create_watch) (GIOChannel *, GIOCondition); void (*io_free) (GIOChannel *); GIOStatus(*io_set_flags) (GIOChannel *, GIOFlags, GError * *); GIOFlags(*io_get_flags) (GIOChannel *); }; struct _GThreadPool { GFunc func; gpointer user_data; gboolean exclusive; }; struct _GDate { guint julian_days:32; guint julian:1; guint dmy:1; guint day:6; guint month:4; guint year:16; }; struct _GPollFD { gint fd; gushort events; gushort revents; }; struct _GScannerConfig { gchar *cset_skip_characters; gchar *cset_identifier_first; gchar *cset_identifier_nth; gchar *cpair_comment_single; guint case_sensitive:1; guint skip_comment_multi:1; guint skip_comment_single:1; guint scan_comment_multi:1; guint scan_identifier:1; guint scan_identifier_1char:1; guint scan_identifier_NULL:1; guint scan_symbols:1; guint scan_binary:1; guint scan_octal:1; guint scan_float:1; guint scan_hex:1; guint scan_hex_dollar:1; guint scan_string_sq:1; guint scan_string_dq:1; guint numbers_2_int:1; guint int_2_float:1; guint identifier_2_string:1; guint char_2_token:1; guint symbol_2_token:1; guint scope_0_fallback:1; guint store_int64:1; guint padding_dummy; }; union _GTokenValue { gpointer v_symbol; gchar *v_identifier; gulong v_binary; gulong v_octal; gulong v_int; guint64 v_int64; gdouble v_float; gulong v_hex; gchar *v_string; gchar *v_comment; guchar v_char; guint v_error; }; struct _GScanner { gpointer user_data; guint max_parse_errors; guint parse_errors; const gchar *input_name; GData *qdata; GScannerConfig *config; GTokenType token; GTokenValue value; guint line; guint position; GTokenType next_token; GTokenValue next_value; guint next_line; guint next_position; GHashTable *symbol_table; gint input_fd; const gchar *text; const gchar *text_end; gchar *buffer; guint scope_id; GScannerMsgFunc msg_handler; }; struct _GByteArray { guint8 *data; guint len; }; struct _GTrashStack { GTrashStack *next; }; struct _GArray { gchar *data; guint len; }; struct _GNode { gpointer data; GNode *next; GNode *prev; GNode *parent; GNode *children; }; struct _GStaticRWLock { GStaticMutex mutex; GCond *read_cond; GCond *write_cond; guint read_counter; gboolean have_writer; guint want_to_read; guint want_to_write; }; struct _GTimeVal { glong tv_sec; glong tv_usec; }; struct _GMarkupParser { void (*start_element) (GMarkupParseContext *, const gchar *, const gchar * *, const gchar * *, gpointer, GError * *); void (*end_element) (GMarkupParseContext *, const gchar *, gpointer, GError * *); void (*text) (GMarkupParseContext *, const gchar *, gsize, gpointer, GError * *); void (*passthrough) (GMarkupParseContext *, const gchar *, gsize, gpointer, GError * *); void (*error) (GMarkupParseContext *, GError *, gpointer); }; struct _GStaticPrivate { guint index; }; struct _GMemVTable { gpointer(*malloc) (gsize); gpointer(*realloc) (gpointer, gsize); void (*free) (gpointer); gpointer(*calloc) (gsize, gsize); gpointer(*try_malloc) (gsize); gpointer(*try_realloc) (gpointer, gsize); }; struct _GOptionEntry { const gchar *long_name; gchar short_name; gint flags; GOptionArg arg; gpointer arg_data; const gchar *description; const gchar *arg_description; }; struct _GTuples { guint len; }; struct _GOnce { volatile GOnceStatus status; volatile gpointer retval; }; struct _GDebugKey { gchar *key; guint value; }; struct _GThreadFunctions { GMutex *(*mutex_new) (void); void (*mutex_lock) (GMutex *); gboolean(*mutex_trylock) (GMutex *); void (*mutex_unlock) (GMutex *); void (*mutex_free) (GMutex *); GCond *(*cond_new) (void); void (*cond_signal) (GCond *); void (*cond_broadcast) (GCond *); void (*cond_wait) (GCond *, GMutex *); gboolean(*cond_timed_wait) (GCond *, GMutex *, GTimeVal *); void (*cond_free) (GCond *); GPrivate *(*private_new) (GDestroyNotify); gpointer(*private_get) (GPrivate *); void (*private_set) (GPrivate *, gpointer); void (*thread_create) (GThreadFunc, gpointer, gulong, gboolean, gboolean, GThreadPriority, gpointer, GError * *); void (*thread_yield) (void); void (*thread_join) (gpointer); void (*thread_exit) (void); void (*thread_set_priority) (gpointer, GThreadPriority); void (*thread_self) (gpointer); gboolean(*thread_equal) (gpointer, gpointer); }; extern const guint16 *const g_ascii_table; extern gboolean g_source_remove(guint); extern void g_thread_set_priority(GThread *, GThreadPriority); extern GError *g_error_copy(const GError *); extern gchar *g_utf8_prev_char(const gchar *); extern void g_node_pop_allocator(void); extern GPrintFunc g_set_printerr_handler(GPrintFunc); extern GMemChunk *g_mem_chunk_new(const gchar *, gint, gulong, gint); extern void g_on_error_stack_trace(const gchar *); extern void g_mem_chunk_print(GMemChunk *); extern guint g_list_length(GList *); extern void g_main_loop_quit(GMainLoop *); extern void g_hook_insert_before(GHookList *, GHook *, GHook *); extern gboolean g_get_filename_charsets(const gchar * **); extern GList *g_queue_pop_nth_link(GQueue *, guint); extern GSList *g_slist_copy(GSList *); extern gint g_mkstemp(gchar *); extern GError *g_error_new(GQuark, gint, const gchar *, ...); extern GString *g_string_set_size(GString *, gsize); extern gchar *g_get_prgname(void); extern gpointer g_ptr_array_remove_index_fast(GPtrArray *, guint); extern GRand *g_rand_new_with_seed_array(const guint32 *, guint); extern void g_dir_close(GDir *); extern const gchar *const *g_get_system_config_dirs(void); extern void g_relation_insert(GRelation *, ...); extern void g_option_context_free(GOptionContext *); extern gchar *g_strcanon(gchar *, const gchar *, gchar); extern guint g_slist_length(GSList *); extern gchar *g_key_file_to_data(GKeyFile *, gsize *, GError * *); extern GPatternSpec *g_pattern_spec_new(const gchar *); extern gchar **g_strdupv(gchar * *); extern gboolean g_unichar_isupper(gunichar); extern void g_completion_free(GCompletion *); extern void g_timer_reset(GTimer *); extern GHashTable *g_hash_table_new_full(GHashFunc, GEqualFunc, GDestroyNotify, GDestroyNotify); extern void g_static_rec_mutex_init(GStaticRecMutex *); extern gint g_atomic_int_exchange_and_add(gint *, gint); extern gchar *g_strjoin(const gchar *, ...); extern GSList *g_slist_last(GSList *); extern void g_key_file_set_string(GKeyFile *, const gchar *, const gchar *, const gchar *); extern GPtrArray *g_ptr_array_new(void); extern gboolean g_markup_parse_context_end_parse(GMarkupParseContext *, GError * *); extern gboolean g_key_file_get_boolean(GKeyFile *, const gchar *, const gchar *, GError * *); extern gchar *g_strrstr_len(const gchar *, gssize, const gchar *); extern gint g_hook_compare_ids(GHook *, GHook *); extern gchar *g_utf8_strup(const gchar *, gssize); extern gchar *g_build_filename(const gchar *, ...); extern void g_datalist_init(GData * *); extern GIOStatus g_io_channel_set_flags(GIOChannel *, GIOFlags, GError * *); extern const gchar *const g_utf8_skip; extern void g_option_group_free(GOptionGroup *); extern void g_completion_clear_items(GCompletion *); extern gboolean g_hash_table_steal(GHashTable *, gconstpointer); extern gboolean g_spawn_async_with_pipes(const gchar *, gchar * *, gchar * *, GSpawnFlags, GSpawnChildSetupFunc, gpointer, GPid *, gint *, gint *, gint *, GError * *); extern void g_clear_error(GError * *); extern gpointer g_queue_pop_head(GQueue *); extern GThreadPool *g_thread_pool_new(GFunc, gpointer, gint, gboolean, GError * *); extern void g_static_rec_mutex_lock(GStaticRecMutex *); extern guint g_thread_pool_get_num_threads(GThreadPool *); extern void g_date_set_month(GDate *, GDateMonth); extern gchar *g_filename_to_uri(const gchar *, const gchar *, GError * *); extern gboolean g_date_valid_julian(guint32); extern GQuark g_option_error_quark(void); extern gchar **g_key_file_get_keys(GKeyFile *, const gchar *, gsize *, GError * *); extern gchar g_ascii_tolower(gchar); extern GMainLoop *g_main_loop_new(GMainContext *, gboolean); extern gint g_relation_count(GRelation *, gconstpointer, gint); extern void g_ptr_array_add(GPtrArray *, gpointer); extern void g_async_queue_unlock(GAsyncQueue *); extern gboolean g_pattern_match_string(GPatternSpec *, const gchar *); extern void g_key_file_free(GKeyFile *); extern GMainContext *g_main_context_default(void); extern GIOStatus g_io_channel_read_line_string(GIOChannel *, GString *, gsize *, GError * *); extern GSource *g_source_ref(GSource *); extern gint g_slist_index(GSList *, gconstpointer); extern GSList *g_slist_find(GSList *, gconstpointer); extern gboolean g_main_context_prepare(GMainContext *, gint *); extern char *g_markup_vprintf_escaped(const char *, va_list); extern void g_ptr_array_set_size(GPtrArray *, gint); extern void g_set_application_name(const gchar *); extern gint g_main_context_query(GMainContext *, gint, gint *, GPollFD *, gint); extern void g_rand_set_seed(GRand *, guint32); extern GList *g_list_last(GList *); extern gchar *g_ascii_dtostr(gchar *, gint, gdouble); extern gboolean g_main_loop_is_running(GMainLoop *); extern void g_pattern_spec_free(GPatternSpec *); extern GTree *g_tree_new_full(GCompareDataFunc, gpointer, GDestroyNotify, GDestroyNotify); extern guint8 g_date_get_monday_weeks_in_year(GDateYear); extern guint g_idle_add(GSourceFunc, gpointer); extern void g_main_context_release(GMainContext *); extern int g_main_depth(void); extern void g_cache_key_foreach(GCache *, GHFunc, gpointer); extern void g_static_rec_mutex_free(GStaticRecMutex *); extern guint g_date_get_monday_week_of_year(const GDate *); extern const gchar *g_io_channel_get_line_term(GIOChannel *, gint *); extern guint g_scanner_set_scope(GScanner *, guint); extern gchar *g_string_free(GString *, gboolean); extern void g_source_set_priority(GSource *, gint); extern void g_async_queue_unref(GAsyncQueue *); extern void g_hook_prepend(GHookList *, GHook *); extern gpointer g_queue_peek_head(GQueue *); extern void g_byte_array_sort_with_data(GByteArray *, GCompareDataFunc, gpointer); extern gboolean g_key_file_load_from_data_dirs(GKeyFile *, const gchar *, gchar * *, GKeyFileFlags, GError * *); extern guint g_trash_stack_height(GTrashStack * *); extern void g_markup_parse_context_free(GMarkupParseContext *); extern GString *g_string_append_len(GString *, const gchar *, gssize); extern const gchar *g_getenv(const gchar *); extern gint *g_key_file_get_integer_list(GKeyFile *, const gchar *, const gchar *, gsize *, GError * *); extern gunichar2 *g_ucs4_to_utf16(const gunichar *, glong, glong *, glong *, GError * *); extern GList *g_list_remove(GList *, gconstpointer); extern gboolean g_hook_destroy(GHookList *, gulong); extern GRand *g_rand_copy(GRand *); extern GString *g_string_ascii_up(GString *); extern const gchar *g_io_channel_get_encoding(GIOChannel *); extern void g_random_set_seed(guint32); extern GOptionGroup *g_option_context_get_main_group(GOptionContext *); extern guint g_idle_add_full(gint, GSourceFunc, gpointer, GDestroyNotify); extern GArray *g_array_append_vals(GArray *, gconstpointer, guint); extern GHook *g_hook_next_valid(GHookList *, GHook *, gboolean); extern gchar *g_path_get_basename(const gchar *); extern gchar *g_key_file_get_value(GKeyFile *, const gchar *, const gchar *, GError * *); extern void g_slist_pop_allocator(void); extern void g_node_unlink(GNode *); extern gpointer g_hash_table_find(GHashTable *, GHRFunc, gpointer); extern GList *g_list_sort(GList *, GCompareFunc); extern void g_date_set_time(GDate *, GTime); extern GPollFunc g_main_context_get_poll_func(GMainContext *); extern gchar *g_strndup(const gchar *, gsize); extern GSList *g_slist_remove(GSList *, gconstpointer); extern void g_date_order(GDate *, GDate *); extern gdouble g_timer_elapsed(GTimer *, gulong *); extern gchar *g_strchug(gchar *); extern GQuark g_io_channel_error_quark(void); extern void g_cache_remove(GCache *, gconstpointer); extern GArray *g_array_remove_index_fast(GArray *, guint); extern GAsyncQueue *g_async_queue_ref(GAsyncQueue *); extern GQuark g_key_file_error_quark(void); extern gboolean g_atomic_pointer_compare_and_exchange(gpointer *, gpointer, gpointer); extern gboolean g_date_valid_dmy(GDateDay, GDateMonth, GDateYear); extern gpointer g_mem_chunk_alloc0(GMemChunk *); extern gint g_async_queue_length_unlocked(GAsyncQueue *); extern GUnicodeBreakType g_unichar_break_type(gunichar); extern gboolean g_date_valid_year(GDateYear); extern void g_thread_pool_set_max_unused_threads(gint); extern GArray *g_array_remove_index(GArray *, guint); extern void g_key_file_remove_group(GKeyFile *, const gchar *, GError * *); extern gchar *g_key_file_get_comment(GKeyFile *, const gchar *, const gchar *, GError * *); extern gboolean g_io_channel_get_buffered(GIOChannel *); extern GList *g_list_delete_link(GList *, GList *); extern GList *g_completion_complete(GCompletion *, const gchar *, gchar * *); extern gboolean g_unichar_isdigit(gunichar); extern void g_date_subtract_years(GDate *, guint); extern gchar *g_utf8_strchr(const char *, gssize, gunichar); extern void g_queue_push_head(GQueue *, gpointer); extern guint g_queue_get_length(GQueue *); extern gchar *g_string_chunk_insert_const(GStringChunk *, const gchar *); extern void g_static_rw_lock_init(GStaticRWLock *); extern guint g_bit_storage(gulong); extern GSList *g_slist_sort(GSList *, GCompareFunc); extern gint g_relation_delete(GRelation *, gconstpointer, gint); extern GIOStatus g_io_channel_write_chars(GIOChannel *, const gchar *, gssize, gsize *, GError * *); extern GList *g_list_find(GList *, gconstpointer); extern gpointer g_queue_peek_tail(GQueue *); extern GIOStatus g_io_channel_write_unichar(GIOChannel *, gunichar, GError * *); extern void g_hook_list_clear(GHookList *); extern guint g_child_watch_add(GPid, GChildWatchFunc, gpointer); extern void g_hook_list_init(GHookList *, guint); extern gpointer g_realloc(gpointer, gulong); extern void g_queue_push_nth(GQueue *, gpointer, gint); extern gpointer g_trash_stack_peek(GTrashStack * *); extern const gchar *g_get_application_name(void); extern gint g_main_context_check(GMainContext *, gint, GPollFD *, gint); extern gunichar *g_unicode_canonical_decomposition(gunichar, gsize *); extern gpointer g_async_queue_timed_pop_unlocked(GAsyncQueue *, GTimeVal *); extern gboolean g_option_context_get_help_enabled(GOptionContext *); extern void g_log_default_handler(const gchar *, GLogLevelFlags, const gchar *, gpointer); extern gpointer g_async_queue_try_pop(GAsyncQueue *); extern void g_option_group_set_translation_domain(GOptionGroup *, const gchar *); extern void g_source_destroy(GSource *); extern gchar *g_filename_to_utf8(const gchar *, gssize, gsize *, gsize *, GError * *); extern gboolean g_key_file_load_from_data(GKeyFile *, const gchar *, gsize, GKeyFileFlags, GError * *); extern GKeyFile *g_key_file_new(void); extern GDateYear g_date_get_year(const GDate *); extern const gchar *g_get_user_config_dir(void); extern gint g_slist_position(GSList *, GSList *); extern const guint glib_minor_version; extern GSList *g_slist_delete_link(GSList *, GSList *); extern GDateWeekday g_date_get_weekday(const GDate *); extern gchar *g_convert_with_iconv(const gchar *, gssize, GIConv, gsize *, gsize *, GError * *); extern GNode *g_node_insert(GNode *, gint, GNode *); extern void g_source_set_callback(GSource *, GSourceFunc, gpointer, GDestroyNotify); extern void g_source_add_poll(GSource *, GPollFD *); extern void g_slist_free_1(GSList *); extern GByteArray *g_byte_array_remove_index_fast(GByteArray *, guint); extern GHook *g_hook_find_data(GHookList *, gboolean, gpointer); extern void g_ptr_array_foreach(GPtrArray *, GFunc, gpointer); extern void g_scanner_scope_add_symbol(GScanner *, guint, const gchar *, gpointer); extern GMainContext *g_main_context_ref(GMainContext *); extern void g_hook_list_invoke(GHookList *, gboolean); extern gint g_source_get_priority(GSource *); extern void g_list_free_1(GList *); extern gint g_key_file_get_integer(GKeyFile *, const gchar *, const gchar *, GError * *); extern GSList *g_slist_nth(GSList *, guint); extern gchar *g_shell_unquote(const gchar *, GError * *); extern void g_option_context_add_group(GOptionContext *, GOptionGroup *); extern gboolean g_unichar_isprint(gunichar); extern GList *g_list_copy(GList *); extern void g_cache_value_foreach(GCache *, GHFunc, gpointer); extern void g_key_file_set_comment(GKeyFile *, const gchar *, const gchar *, const gchar *, GError * *); extern gint g_ascii_digit_value(gchar); extern void g_main_context_dispatch(GMainContext *); extern GIOChannel *g_io_channel_new_file(const gchar *, const gchar *, GError * *); extern gint g_unichar_digit_value(gunichar); extern void g_source_set_can_recurse(GSource *, gboolean); extern void g_main_loop_unref(GMainLoop *); extern GNode *g_node_first_sibling(GNode *); extern gint g_date_days_between(const GDate *, const GDate *); extern void g_mem_chunk_free(GMemChunk *, gpointer); extern gchar *g_markup_escape_text(const gchar *, gssize); extern gunichar g_unichar_tolower(gunichar); extern void g_queue_push_nth_link(GQueue *, gint, GList *); extern char *g_markup_printf_escaped(const char *, ...); extern void g_hook_unref(GHookList *, GHook *); extern GNode *g_node_find(GNode *, GTraverseType, GTraverseFlags, gpointer); extern gchar *g_ascii_formatd(gchar *, gint, const gchar *, gdouble); extern gpointer g_scanner_scope_lookup_symbol(GScanner *, guint, const gchar *); extern gpointer g_dataset_id_remove_no_notify(gconstpointer, GQuark); extern GQueue *g_queue_new(void); extern GQuark g_markup_error_quark(void); extern void g_option_context_set_ignore_unknown_options(GOptionContext *, gboolean); extern void g_completion_remove_items(GCompletion *, GList *); extern void g_datalist_id_set_data_full(GData * *, GQuark, gpointer, GDestroyNotify); extern void g_trash_stack_push(GTrashStack * *, gpointer); extern void g_async_queue_lock(GAsyncQueue *); extern void g_ptr_array_sort(GPtrArray *, GCompareFunc); extern void g_queue_free(GQueue *); extern void g_array_sort_with_data(GArray *, GCompareDataFunc, gpointer); extern gboolean g_relation_exists(GRelation *, ...); extern gboolean g_utf8_validate(const char *, gssize, const gchar * *); extern void g_static_rw_lock_writer_unlock(GStaticRWLock *); extern GByteArray *g_byte_array_remove_index(GByteArray *, guint); extern guint g_hash_table_foreach_remove(GHashTable *, GHRFunc, gpointer); extern GString *g_string_insert_unichar(GString *, gssize, gunichar); extern GSList *g_slist_prepend(GSList *, gpointer); extern GList *g_list_first(GList *); extern GMarkupParseContext *g_markup_parse_context_new(const GMarkupParser *, GMarkupParseFlags, gpointer, GDestroyNotify); extern void g_io_channel_init(GIOChannel *); extern GQuark g_convert_error_quark(void); extern GNode *g_node_get_root(GNode *); extern gchar *g_filename_display_name(const gchar *); extern gint g_io_channel_unix_get_fd(GIOChannel *); extern gboolean g_int_equal(gconstpointer, gconstpointer); extern void g_hook_list_marshal_check(GHookList *, gboolean, GHookCheckMarshaller, gpointer); extern void g_static_mutex_init(GStaticMutex *); extern GString *g_string_prepend_unichar(GString *, gunichar); extern GList *g_queue_find_custom(GQueue *, gconstpointer, GCompareFunc); extern void g_key_file_set_string_list(GKeyFile *, const gchar *, const gchar *, const gchar * const *, gsize); extern const guint glib_micro_version; extern guint32 g_date_get_julian(const GDate *); extern gpointer g_dataset_id_get_data(gconstpointer, GQuark); extern gboolean g_date_valid_day(GDateDay); extern GHook *g_hook_first_valid(GHookList *, gboolean); extern GIOStatus g_io_channel_read_to_end(GIOChannel *, gchar * *, gsize *, GError * *); extern void g_scanner_destroy(GScanner *); extern GString *g_string_insert_c(GString *, gssize, gchar); extern void g_queue_push_head_link(GQueue *, GList *); extern GIOChannel *g_io_channel_ref(GIOChannel *); extern gpointer g_try_realloc(gpointer, gulong); extern GRelation *g_relation_new(gint); extern GNode *g_node_nth_child(GNode *, guint); extern GByteArray *g_byte_array_sized_new(guint); extern void g_queue_push_tail(GQueue *, gpointer); extern gboolean g_unichar_validate(gunichar); extern GSource *g_idle_source_new(void); extern gchar **g_key_file_get_groups(GKeyFile *, gsize *); extern void g_scanner_sync_file_offset(GScanner *); extern GLogLevelFlags g_log_set_always_fatal(GLogLevelFlags); extern gpointer *g_ptr_array_free(GPtrArray *, gboolean); extern gint g_utf8_collate(const gchar *, const gchar *); extern GPrintFunc g_set_print_handler(GPrintFunc); extern const guint glib_interface_age; extern void g_hook_list_invoke_check(GHookList *, gboolean); extern gchar *g_utf8_offset_to_pointer(const gchar *, glong); extern void g_scanner_input_file(GScanner *, gint); extern gboolean g_source_get_can_recurse(GSource *); extern GHook *g_hook_find_func_data(GHookList *, gboolean, gpointer, gpointer); extern void g_logv(const gchar *, GLogLevelFlags, const gchar *, va_list); extern gboolean g_error_matches(const GError *, GQuark, gint); extern gpointer g_async_queue_pop(GAsyncQueue *); extern gchar **g_uri_list_extract_uris(const gchar *); extern gboolean g_static_rw_lock_writer_trylock(GStaticRWLock *); extern void g_date_add_months(GDate *, guint); extern void g_date_add_days(GDate *, guint); extern gchar **g_strsplit(const gchar *, const gchar *, gint); extern GSList *g_slist_remove_all(GSList *, gconstpointer); extern gdouble g_random_double(void); extern gdouble g_strtod(const gchar *, gchar * *); extern void g_queue_sort(GQueue *, GCompareDataFunc, gpointer); extern gboolean g_str_has_suffix(const gchar *, const gchar *); extern GList *g_queue_pop_head_link(GQueue *); extern gint32 g_rand_int_range(GRand *, gint32, gint32); extern gint g_unichar_to_utf8(gunichar, gchar *); extern gchar *g_strnfill(gsize, gchar); extern void g_relation_print(GRelation *); extern void g_key_file_set_integer_list(GKeyFile *, const gchar *, const gchar *, gint *, gsize); extern GSource *g_main_context_find_source_by_funcs_user_data(GMainContext *, GSourceFuncs *, gpointer); extern GDate *g_date_new_julian(guint32); extern void g_node_traverse(GNode *, GTraverseType, GTraverseFlags, gint, GNodeTraverseFunc, gpointer); extern gchar *g_key_file_get_start_group(GKeyFile *); extern void g_key_file_set_locale_string(GKeyFile *, const gchar *, const gchar *, const gchar *, const gchar *); extern GHashTable *g_hash_table_new(GHashFunc, GEqualFunc); extern const gchar *g_dir_read_name(GDir *); extern gboolean g_hash_table_remove(GHashTable *, gconstpointer); extern gchar *g_utf8_strdown(const gchar *, gssize); extern GIOCondition g_io_channel_get_buffer_condition(GIOChannel *); extern GSource *g_child_watch_source_new(GPid); extern void g_static_rec_mutex_unlock(GStaticRecMutex *); extern glong g_utf8_strlen(const gchar *, gssize); extern GSList *g_slist_insert(GSList *, gpointer, gint); extern GNode *g_node_prepend(GNode *, GNode *); extern void g_propagate_error(GError * *, GError *); extern GTokenType g_scanner_peek_next_token(GScanner *); extern GArray *g_array_set_size(GArray *, guint); extern GString *g_string_erase(GString *, gssize, gssize); extern gchar *g_strcompress(const gchar *); extern gint g_async_queue_length(GAsyncQueue *); extern gboolean g_unichar_isdefined(gunichar); extern GString *g_string_prepend(GString *, const gchar *); extern guint32 g_rand_int(GRand *); extern void g_set_error(GError * *, GQuark, gint, const gchar *, ...); extern gboolean g_markup_parse_context_parse(GMarkupParseContext *, const gchar *, gssize, GError * *); extern gboolean g_main_context_pending(GMainContext *); extern gint g_tree_nnodes(GTree *); extern gpointer g_datalist_id_get_data(GData * *, GQuark); extern void g_ptr_array_sort_with_data(GPtrArray *, GCompareDataFunc, gpointer); extern void g_queue_unlink(GQueue *, GList *); extern guint g_source_get_id(GSource *); extern void g_thread_pool_set_max_threads(GThreadPool *, gint, GError * *); extern gchar *g_utf8_normalize(const gchar *, gssize, GNormalizeMode); extern GTree *g_tree_new_with_data(GCompareDataFunc, gpointer); extern gchar *g_path_get_dirname(const gchar *); extern gint g_thread_pool_get_max_threads(GThreadPool *); extern GArray *g_array_sized_new(gboolean, gboolean, guint, guint); extern gboolean g_unichar_islower(gunichar); extern GString *g_string_assign(GString *, const gchar *); extern gchar *g_strstr_len(const gchar *, gssize, const gchar *); extern GArray *g_array_prepend_vals(GArray *, gconstpointer, guint); extern gdouble g_rand_double_range(GRand *, gdouble, gdouble); extern void g_key_file_set_list_separator(GKeyFile *, gchar); extern gboolean g_atomic_int_compare_and_exchange(gint *, gint, gint); extern void g_mem_profile(void); extern void g_io_channel_set_buffered(GIOChannel *, gboolean); extern GMutex *g_static_mutex_get_mutex_impl(GMutex * *); extern GList *g_list_remove_all(GList *, gconstpointer); extern void g_static_private_set(GStaticPrivate *, gpointer, GDestroyNotify); extern void g_timer_start(GTimer *); extern void g_array_sort(GArray *, GCompareFunc); extern gchar *g_build_path(const gchar *, const gchar *, ...); extern gchar *g_key_file_get_string(GKeyFile *, const gchar *, const gchar *, GError * *); extern void g_return_if_fail_warning(const char *, const char *, const char *); extern GAsyncQueue *g_async_queue_new(void); extern GTokenType g_scanner_get_next_token(GScanner *); extern gchar *g_strescape(const gchar *, const gchar *); extern void g_tree_remove(GTree *, gconstpointer); extern GFileError g_file_error_from_errno(gint); extern GByteArray *g_byte_array_set_size(GByteArray *, guint); extern GSList *g_slist_insert_before(GSList *, GSList *, gpointer); extern void g_main_context_unref(GMainContext *); extern void g_on_error_query(const gchar *); extern gchar *g_find_program_in_path(const gchar *); extern GNode *g_node_insert_before(GNode *, GNode *, GNode *); extern void g_key_file_set_boolean(GKeyFile *, const gchar *, const gchar *, gboolean); extern void g_key_file_remove_key(GKeyFile *, const gchar *, const gchar *, GError * *); extern void g_dataset_foreach(gconstpointer, GDataForeachFunc, gpointer); extern const gchar *g_get_user_data_dir(void); extern void g_date_subtract_months(GDate *, guint); extern gboolean g_unichar_iscntrl(gunichar); extern guint g_timeout_add_full(gint, guint, GSourceFunc, gpointer, GDestroyNotify); extern GIOStatus g_io_channel_read_chars(GIOChannel *, gchar *, gsize, gsize *, GError * *); extern gint g_bit_nth_msf(gulong, gint); extern void g_tree_steal(GTree *, gconstpointer); extern gboolean g_date_valid(const GDate *); extern void g_io_channel_set_close_on_unref(GIOChannel *, gboolean); extern void g_tree_replace(GTree *, gpointer, gpointer); extern void g_async_queue_push_unlocked(GAsyncQueue *, gpointer); extern GNode *g_node_new(gpointer); extern void g_mem_set_vtable(GMemVTable *); extern void g_option_context_add_main_entries(GOptionContext *, const GOptionEntry *, const gchar *); extern void g_hash_table_foreach(GHashTable *, GHFunc, gpointer); extern GUnicodeType g_unichar_type(gunichar); extern GPtrArray *g_ptr_array_sized_new(guint); extern GList *g_list_insert_sorted(GList *, gpointer, GCompareFunc); extern GLogFunc g_log_set_default_handler(GLogFunc, gpointer); extern gsize g_date_strftime(gchar *, gsize, const gchar *, const GDate *); extern gboolean g_option_context_get_ignore_unknown_options(GOptionContext *); extern gpointer g_static_private_get(GStaticPrivate *); extern void g_completion_add_items(GCompletion *, GList *); extern gchar *g_stpcpy(gchar *, const gchar *); extern gchar *g_utf8_find_prev_char(const char *, const char *); extern GOptionContext *g_option_context_new(const gchar *); extern gchar *g_locale_to_utf8(const gchar *, gssize, gsize *, gsize *, GError * *); extern gint g_ascii_strncasecmp(const gchar *, const gchar *, gsize); extern void g_slist_push_allocator(GAllocator *); extern gboolean g_main_context_acquire(GMainContext *); extern GSourceFuncs g_idle_funcs; extern guint g_thread_pool_get_num_unused_threads(void); extern void g_thread_pool_free(GThreadPool *, gboolean, gboolean); extern guint g_date_get_sunday_week_of_year(const GDate *); extern gdouble g_rand_double(GRand *); extern gint g_ascii_strcasecmp(const gchar *, const gchar *); extern void g_string_printf(GString *, const gchar *, ...); extern GQuark g_quark_from_string(const gchar *); extern void g_hash_table_replace(GHashTable *, gpointer, gpointer); extern const gchar *g_strip_context(const gchar *, const gchar *); extern const gchar *g_strerror(gint); extern void g_mem_chunk_clean(GMemChunk *); extern GString *g_string_prepend_len(GString *, const gchar *, gssize); extern GArray *g_array_remove_range(GArray *, guint, guint); extern void g_queue_remove_all(GQueue *, gconstpointer); extern gint g_file_open_tmp(const gchar *, gchar * *, GError * *); extern const gchar *g_get_user_name(void); extern void g_timer_continue(GTimer *); extern void g_main_context_set_poll_func(GMainContext *, GPollFunc); extern void g_timer_destroy(GTimer *); extern void g_main_context_add_poll(GMainContext *, GPollFD *, gint); extern GSList *g_slist_alloc(void); extern GSList *g_slist_reverse(GSList *); extern GList *g_list_concat(GList *, GList *); extern gunichar g_utf8_get_char(const gchar *); extern gchar *g_shell_quote(const gchar *); extern void g_get_current_time(GTimeVal *); extern void g_option_group_set_translate_func(GOptionGroup *, GTranslateFunc, gpointer, GDestroyNotify); extern gunichar g_unichar_totitle(gunichar); extern gboolean g_spawn_async(const gchar *, gchar * *, gchar * *, GSpawnFlags, GSpawnChildSetupFunc, gpointer, GPid *, GError * *); extern gchar *g_utf16_to_utf8(const gunichar2 *, glong, glong *, glong *, GError * *); extern void g_queue_insert_before(GQueue *, GList *, gpointer); extern GSource *g_main_context_find_source_by_id(GMainContext *, guint); extern void g_mem_chunk_destroy(GMemChunk *); extern void g_thread_exit(gpointer); extern void g_option_group_set_parse_hooks(GOptionGroup *, GOptionParseFunc, GOptionParseFunc); extern GSList *g_slist_insert_sorted(GSList *, gpointer, GCompareFunc); extern void g_source_set_callback_indirect(GSource *, gpointer, GSourceCallbackFuncs *); extern GSList *g_slist_sort_with_data(GSList *, GCompareDataFunc, gpointer); extern void g_node_reverse_children(GNode *); extern gpointer g_queue_peek_nth(GQueue *, guint); extern void g_list_free(GList *); extern GList *g_list_nth_prev(GList *, guint); extern void g_strfreev(gchar * *); extern gboolean g_ptr_array_remove(GPtrArray *, gpointer); extern const guint glib_major_version; extern glong g_utf8_pointer_to_offset(const gchar *, const gchar *); extern gpointer g_tree_lookup(GTree *, gconstpointer); extern gchar *g_strdup_printf(const gchar *, ...); extern gboolean g_source_remove_by_user_data(gpointer); extern gunichar2 *g_utf8_to_utf16(const gchar *, glong, glong *, glong *, GError * *); extern gunichar *g_utf8_to_ucs4(const gchar *, glong, glong *, glong *, GError * *); extern void g_date_set_day(GDate *, GDateDay); extern gsize g_io_channel_get_buffer_size(GIOChannel *); extern void g_hash_table_insert(GHashTable *, gpointer, gpointer); extern guint g_spaced_primes_closest(guint); extern void g_option_group_add_entries(GOptionGroup *, const GOptionEntry *); extern gboolean g_key_file_load_from_file(GKeyFile *, const gchar *, GKeyFileFlags, GError * *); extern gint32 g_random_int_range(gint32, gint32); extern gpointer g_hash_table_lookup(GHashTable *, gconstpointer); extern void g_relation_index(GRelation *, gint, GHashFunc, GEqualFunc); extern GByteArray *g_byte_array_remove_range(GByteArray *, guint, guint); extern gchar *g_filename_from_utf8(const gchar *, gssize, gsize *, gsize *, GError * *); extern GQuark g_thread_error_quark(void); extern void g_hook_destroy_link(GHookList *, GHook *); extern gdouble g_random_double_range(gdouble, gdouble); extern gchar *g_filename_from_uri(const gchar *, gchar * *, GError * *); extern gboolean g_tree_lookup_extended(GTree *, gconstpointer, gpointer *, gpointer *); extern gboolean g_unichar_iswide(gunichar); extern gboolean g_unichar_isxdigit(gunichar); extern void g_queue_push_tail_link(GQueue *, GList *); extern void g_spawn_close_pid(GPid); extern GRand *g_rand_new(void); extern void g_date_set_julian(GDate *, guint32); extern GNode *g_node_insert_after(GNode *, GNode *, GNode *); extern const guint glib_binary_age; extern void g_static_rec_mutex_lock_full(GStaticRecMutex *, guint); extern GString *g_string_append_unichar(GString *, gunichar); extern GStringChunk *g_string_chunk_new(gsize); extern void g_atexit(GVoidFunc); extern void g_scanner_scope_remove_symbol(GScanner *, guint, const gchar *); extern void g_main_context_remove_poll(GMainContext *, GPollFD *); extern gchar *g_locale_from_utf8(const gchar *, gssize, gsize *, gsize *, GError * *); extern GMainContext *g_source_get_context(GSource *); extern GSourceFuncs g_io_watch_funcs; extern gint g_thread_pool_get_max_unused_threads(void); extern gboolean g_unichar_isspace(gunichar); extern GList *g_list_alloc(void); extern gpointer g_queue_pop_tail(GQueue *); extern gpointer g_thread_join(GThread *); extern GSList *g_slist_append(GSList *, gpointer); extern GNode *g_node_copy(GNode *); extern void g_time_val_add(GTimeVal *, glong); extern gboolean g_pattern_match(GPatternSpec *, guint, const gchar *, const gchar *); extern void g_source_remove_poll(GSource *, GPollFD *); extern gsize g_printf_string_upper_bound(const gchar *, va_list); extern GCompletion *g_completion_new(GCompletionFunc); extern gboolean g_date_is_last_of_month(const GDate *); extern GHook *g_hook_find(GHookList *, gboolean, GHookFindFunc, gpointer); extern gboolean g_static_rec_mutex_trylock(GStaticRecMutex *); extern GError *g_error_new_literal(GQuark, gint, const gchar *); extern void g_date_set_dmy(GDate *, GDateDay, GDateMonth, GDateYear); extern guint g_node_max_height(GNode *); extern gboolean g_unichar_isgraph(gunichar); extern gint g_list_position(GList *, GList *); extern gboolean g_pattern_match_simple(const gchar *, const gchar *); extern const gchar *g_get_real_name(void); extern void g_string_append_printf(GString *, const gchar *, ...); extern void g_static_private_init(GStaticPrivate *); extern gunichar *g_utf16_to_ucs4(const gunichar2 *, glong, glong *, glong *, GError * *); extern void g_rand_free(GRand *); extern GList *g_queue_peek_tail_link(GQueue *); extern gchar *g_convert_with_fallback(const gchar *, gssize, const gchar *, const gchar *, gchar *, gsize *, gsize *, GError * *); extern GSource *g_timeout_source_new(guint); extern guint g_child_watch_add_full(gint, GPid, GChildWatchFunc, gpointer, GDestroyNotify); extern void g_node_push_allocator(GAllocator *); extern void g_queue_foreach(GQueue *, GFunc, gpointer); extern gchar *g_strdup(const gchar *); extern gint g_queue_index(GQueue *, gconstpointer); extern gpointer g_datalist_id_remove_no_notify(GData * *, GQuark); extern guint8 *g_byte_array_free(GByteArray *, gboolean); extern void g_date_clamp(GDate *, const GDate *, const GDate *); extern void g_list_push_allocator(GAllocator *); extern void g_queue_insert_after(GQueue *, GList *, gpointer); extern gpointer g_try_malloc(gulong); extern GIOFlags g_io_channel_get_flags(GIOChannel *); extern gchar *g_filename_display_basename(const gchar *); extern GList *g_list_append(GList *, gpointer); extern gchar *g_utf8_strncpy(gchar *, const gchar *, gsize); extern gchar **g_key_file_get_string_list(GKeyFile *, const gchar *, const gchar *, gsize *, GError * *); extern guint g_log_set_handler(const gchar *, GLogLevelFlags, GLogFunc, gpointer); extern gboolean g_queue_is_empty(GQueue *); extern GList *g_queue_peek_nth_link(GQueue *, guint); extern void g_list_foreach(GList *, GFunc, gpointer); extern gint g_ascii_xdigit_value(gchar); extern GQuark g_shell_error_quark(void); extern gpointer g_ptr_array_remove_index(GPtrArray *, guint); extern GList *g_list_insert(GList *, gpointer, gint); extern void g_log(const gchar *, GLogLevelFlags, const gchar *, ...); extern gchar *g_utf8_strrchr(const char *, gssize, gunichar); extern guint g_string_hash(const GString *); extern gchar **g_key_file_get_locale_string_list(GKeyFile *, const gchar *, const gchar *, const gchar *, gsize *, GError * *); extern void g_queue_insert_sorted(GQueue *, gpointer, GCompareDataFunc, gpointer); extern void g_hook_free(GHookList *, GHook *); extern gpointer g_tree_search(GTree *, GCompareFunc, gconstpointer); extern void g_scanner_scope_foreach_symbol(GScanner *, guint, GHFunc, gpointer); extern GDir *g_dir_open(const gchar *, guint, GError * *); extern gchar *g_utf8_casefold(const gchar *, gssize); extern void g_rand_set_seed_array(GRand *, const guint32 *, guint); extern void g_date_to_struct_tm(const GDate *, struct tm *); extern gboolean g_key_file_has_group(GKeyFile *, const gchar *); extern GList *g_list_remove_link(GList *, GList *); extern gboolean g_date_valid_month(GDateMonth); extern gboolean g_spawn_command_line_sync(const gchar *, gchar * *, gchar * *, gint *, GError * *); extern gpointer g_slist_nth_data(GSList *, guint); extern gchar *g_convert(const gchar *, gssize, const gchar *, const gchar *, gsize *, gsize *, GError * *); extern void g_io_channel_unref(GIOChannel *); extern void g_markup_parse_context_get_position(GMarkupParseContext *, gint *, gint *); extern void g_datalist_foreach(GData * *, GDataForeachFunc, gpointer); extern void g_tuples_destroy(GTuples *); extern guint g_strv_length(gchar * *); extern gunichar g_unichar_toupper(gunichar); extern void g_tree_insert(GTree *, gpointer, gpointer); extern GNode *g_node_copy_deep(GNode *, GCopyFunc, gpointer); extern gint g_node_child_position(GNode *, GNode *); extern void g_list_pop_allocator(void); extern gboolean g_mem_is_system_malloc(void); extern const gchar *g_get_home_dir(void); extern void g_async_queue_push(GAsyncQueue *, gpointer); extern gboolean g_key_file_has_key(GKeyFile *, const gchar *, const gchar *, GError * *); extern gboolean g_file_get_contents(const gchar *, gchar * *, gsize *, GError * *); extern gboolean g_path_is_absolute(const gchar *); extern void g_printerr(const gchar *, ...); extern void g_completion_set_compare(GCompletion *, GCompletionStrncmpFunc); extern guint g_timeout_add(guint32, GSourceFunc, gpointer); extern void g_slist_foreach(GSList *, GFunc, gpointer); extern GArray *g_array_insert_vals(GArray *, guint, gconstpointer, guint); extern gchar *g_utf8_collate_key(const gchar *, gssize); extern void g_static_rw_lock_reader_lock(GStaticRWLock *); extern void g_mem_chunk_info(void); extern gchar *g_utf8_strreverse(const gchar *, gssize); extern GByteArray *g_byte_array_new(void); extern gboolean g_setenv(const gchar *, const gchar *, gboolean); extern gchar *g_get_current_dir(void); extern GTree *g_tree_new(GCompareFunc); extern gboolean g_unichar_isalpha(gunichar); extern gsize g_strlcat(gchar *, const gchar *, gsize); extern gboolean g_main_context_iteration(GMainContext *, gboolean); extern GHook *g_hook_ref(GHookList *, GHook *); extern GNode *g_node_find_child(GNode *, GTraverseFlags, gpointer); extern void g_option_group_set_error_hook(GOptionGroup *, GOptionErrorFunc); extern gint g_bit_nth_lsf(gulong, gint); extern gpointer g_async_queue_try_pop_unlocked(GAsyncQueue *); extern GCache *g_cache_new(GCacheNewFunc, GCacheDestroyFunc, GCacheDupFunc, GCacheDestroyFunc, GHashFunc, GHashFunc, GEqualFunc); extern void g_print(const gchar *, ...); extern gint g_unichar_xdigit_value(gunichar); extern GTimer *g_timer_new(void); extern gchar *g_string_chunk_insert(GStringChunk *, const gchar *); extern gchar *g_file_read_link(const gchar *, GError * *); extern void g_assert_warning(const char *, const char *, const int, const char *, const char *); extern guint g_str_hash(gconstpointer); extern void g_key_file_set_locale_string_list(GKeyFile *, const gchar *, const gchar *, const gchar *, const gchar * const *, gsize); extern GString *g_string_sized_new(gsize); extern void g_hash_table_destroy(GHashTable *); extern void g_static_mutex_free(GStaticMutex *); extern gchar *g_ascii_strup(const gchar *, gssize); extern gchar g_ascii_toupper(gchar); extern guint g_date_get_iso8601_week_of_year(const GDate *); extern void g_slist_free(GSList *); extern gboolean g_string_equal(const GString *, const GString *); extern guint g_scanner_cur_line(GScanner *); extern gint g_date_compare(const GDate *, const GDate *); extern GString *g_string_insert_len(GString *, gssize, const gchar *, gssize); extern gchar *g_strdelimit(gchar *, const gchar *, gchar); extern guint g_node_n_children(GNode *); extern GNode *g_node_last_sibling(GNode *); extern const gchar *const *g_get_language_names(void); extern GHook *g_hook_alloc(GHookList *); extern GDateMonth g_date_get_month(const GDate *); extern gboolean g_date_is_leap_year(GDateYear); extern gpointer g_queue_pop_nth(GQueue *, guint); extern gchar *g_strreverse(gchar *); extern guint g_hash_table_size(GHashTable *); extern gpointer g_mem_chunk_alloc(GMemChunk *); extern GList *g_queue_peek_head_link(GQueue *); extern GList *g_queue_find(GQueue *, gconstpointer); extern void g_dataset_id_set_data_full(gconstpointer, GQuark, gpointer, GDestroyNotify); extern void g_unsetenv(const gchar *); extern guint64 g_ascii_strtoull(const gchar *, gchar * *, guint); extern gboolean g_spawn_command_line_async(const gchar *, GError * *); extern GHook *g_hook_find_func(GHookList *, gboolean, gpointer); extern gchar *g_array_free(GArray *, gboolean); extern gpointer g_malloc0(gulong); extern gint g_node_child_index(GNode *, gpointer); extern GIOStatus g_io_channel_shutdown(GIOChannel *, gboolean, GError * *); extern GQuark g_quark_try_string(const gchar *); extern GIOStatus g_io_channel_set_encoding(GIOChannel *, const gchar *, GError * *); extern gboolean g_scanner_eof(GScanner *); extern void g_cache_destroy(GCache *); extern gboolean g_spawn_sync(const gchar *, gchar * *, gchar * *, GSpawnFlags, GSpawnChildSetupFunc, gpointer, gchar * *, gchar * *, gint *, GError * *); extern gboolean g_static_rw_lock_reader_trylock(GStaticRWLock *); extern void g_byte_array_sort(GByteArray *, GCompareFunc); extern void g_atomic_int_add(gint *, gint); extern gpointer g_async_queue_timed_pop(GAsyncQueue *, GTimeVal *); extern GHook *g_hook_get(GHookList *, gulong); extern void g_option_context_set_help_enabled(GOptionContext *, gboolean); extern guint g_static_rec_mutex_unlock_full(GStaticRecMutex *); extern gboolean g_hash_table_lookup_extended(GHashTable *, gconstpointer, gpointer *, gpointer *); extern void g_date_add_years(GDate *, guint); extern void g_static_private_free(GStaticPrivate *); extern const gchar *g_quark_to_string(GQuark); extern GList *g_list_prepend(GList *, gpointer); extern gchar *g_utf8_find_next_char(const gchar *, const gchar *); extern void g_static_rw_lock_writer_lock(GStaticRWLock *); extern GIOStatus g_io_channel_read_line(GIOChannel *, gchar * *, gsize *, gsize *, GError * *); extern void g_thread_pool_stop_unused_threads(void); extern const gchar *const *g_get_system_data_dirs(void); extern GLogLevelFlags g_log_set_fatal_mask(const gchar *, GLogLevelFlags); extern GMainContext *g_main_loop_get_context(GMainLoop *); extern gpointer g_malloc(gulong); extern GIOStatus g_io_channel_flush(GIOChannel *, GError * *); extern gboolean g_file_test(const gchar *, GFileTest); extern void g_key_file_set_integer(GKeyFile *, const gchar *, const gchar *, gint); extern void g_date_set_year(GDate *, GDateYear); extern gpointer g_once_impl(GOnce *, GThreadFunc, gpointer); extern void g_usleep(gulong); extern void g_thread_pool_push(GThreadPool *, gpointer, GError * *); extern void g_key_file_remove_comment(GKeyFile *, const gchar *, const gchar *, GError * *); extern GTuples *g_relation_select(GRelation *, gconstpointer, gint); extern gboolean g_unichar_istitle(gunichar); extern gchar *g_strrstr(const gchar *, const gchar *); extern GQuark g_spawn_error_quark(void); extern GTokenType g_scanner_cur_token(GScanner *); extern void g_date_free(GDate *); extern gboolean g_io_channel_get_close_on_unref(GIOChannel *); extern GScanner *g_scanner_new(const GScannerConfig *); extern guint g_node_n_nodes(GNode *, GTraverseFlags); extern gint g_tree_height(GTree *); extern gboolean g_str_has_prefix(const gchar *, const gchar *); extern gunichar g_utf8_get_char_validated(const gchar *, gssize); extern void g_scanner_unexp_token(GScanner *, GTokenType, const gchar *, const gchar *, const gchar *, const gchar *, gint); extern GString *g_string_prepend_c(GString *, gchar); extern void g_relation_destroy(GRelation *); extern guint g_hash_table_foreach_steal(GHashTable *, GHRFunc, gpointer); extern void g_free(gpointer); extern guint g_int_hash(gconstpointer); extern gboolean g_threads_got_initialized; extern void g_source_get_current_time(GSource *, GTimeVal *); extern GList *g_queue_pop_tail_link(GQueue *); extern GString *g_string_new(const gchar *); extern void g_key_file_set_boolean_list(GKeyFile *, const gchar *, const gchar *, gboolean *, gsize); extern GString *g_string_append(GString *, const gchar *); extern GByteArray *g_byte_array_append(GByteArray *, const guint8 *, guint); extern void g_key_file_set_value(GKeyFile *, const gchar *, const gchar *, const gchar *); extern gboolean g_pattern_spec_equal(GPatternSpec *, GPatternSpec *); extern GMainContext *g_main_context_new(void); extern gboolean g_unichar_ispunct(gunichar); extern guint8 g_date_get_sunday_weeks_in_year(GDateYear); extern void g_date_subtract_days(GDate *, guint); extern gboolean g_date_valid_weekday(GDateWeekday); extern gchar **g_strsplit_set(const gchar *, const gchar *, gint); extern void g_dataset_destroy(gconstpointer); extern gpointer g_async_queue_pop_unlocked(GAsyncQueue *); extern guint g_scanner_cur_position(GScanner *); extern guint g_date_get_day_of_year(const GDate *); extern GList *g_list_find_custom(GList *, gconstpointer, GCompareFunc); extern void g_source_unref(GSource *); extern GSList *g_slist_remove_link(GSList *, GSList *); extern GDateDay g_date_get_day(const GDate *); extern gboolean g_option_context_parse(GOptionContext *, gint *, gchar * **, GError * *); extern void g_tree_foreach(GTree *, GTraverseFunc, gpointer); extern void g_string_chunk_free(GStringChunk *); extern gchar *g_strjoinv(const gchar *, gchar * *); extern GString *g_string_append_c(GString *, gchar); extern GString *g_string_truncate(GString *, gsize); extern const gchar *g_get_tmp_dir(void); extern void g_scanner_input_text(GScanner *, const gchar *, guint); extern gpointer g_list_nth_data(GList *, guint); extern GNode *g_node_last_child(GNode *); extern gboolean g_node_is_ancestor(GNode *, GNode *); extern GString *g_string_ascii_down(GString *); extern void g_blow_chunks(void); extern gboolean g_unichar_get_mirror_char(gunichar, gunichar *); extern GOptionGroup *g_option_group_new(const gchar *, const gchar *, const gchar *, gpointer, GDestroyNotify); extern const gchar *g_get_user_cache_dir(void); extern gboolean *g_key_file_get_boolean_list(GKeyFile *, const gchar *, const gchar *, gsize *, GError * *); extern void g_scanner_warn(GScanner *, const gchar *, ...); extern void g_queue_delete_link(GQueue *, GList *); extern guint g_direct_hash(gconstpointer); extern GSList *g_slist_find_custom(GSList *, gconstpointer, GCompareFunc); extern GTokenValue g_scanner_cur_value(GScanner *); extern guint8 g_date_get_days_in_month(GDateMonth, GDateYear); extern gboolean g_get_charset(const char **); extern gboolean g_unichar_isalnum(gunichar); extern GList *g_list_reverse(GList *); extern void g_hook_insert_sorted(GHookList *, GHook *, GHookCompareFunc); extern guint g_source_attach(GSource *, GMainContext *); extern gchar *g_strconcat(const gchar *, ...); extern void g_nullify_pointer(gpointer *); extern void g_ptr_array_remove_range(GPtrArray *, guint, guint); extern void g_static_rw_lock_free(GStaticRWLock *); extern GString *g_string_new_len(const gchar *, gssize); extern GList *g_list_insert_before(GList *, GList *, gpointer); extern void g_date_set_parse(GDate *, const gchar *); extern void g_log_remove_handler(const gchar *, guint); extern gboolean g_str_equal(gconstpointer, gconstpointer); extern GMainLoop *g_main_loop_ref(GMainLoop *); extern gchar *g_ucs4_to_utf8(const gunichar *, glong, glong *, glong *, GError * *); extern gpointer g_memdup(gconstpointer, guint); extern GAllocator *g_allocator_new(const gchar *, guint); extern GList *g_completion_complete_utf8(GCompletion *, const gchar *, gchar * *); extern void g_main_loop_run(GMainLoop *); extern void g_scanner_error(GScanner *, const gchar *, ...); extern void g_mem_chunk_reset(GMemChunk *); extern GThread *g_thread_create_full(GThreadFunc, gpointer, gulong, gboolean, gboolean, GThreadPriority, GError * *); extern gboolean g_date_is_first_of_month(const GDate *); extern gunichar *g_utf8_to_ucs4_fast(const gchar *, glong, glong *); extern void g_queue_reverse(GQueue *); extern void g_node_children_foreach(GNode *, GTraverseFlags, GNodeForeachFunc, gpointer); extern void g_timer_stop(GTimer *); extern GSourceFuncs g_timeout_funcs; extern gboolean g_main_context_wait(GMainContext *, GCond *, GMutex *); extern void g_set_prgname(const gchar *); extern void g_allocator_free(GAllocator *); extern const gchar *g_markup_parse_context_get_element(GMarkupParseContext *); extern guint g_parse_debug_string(const gchar *, const GDebugKey *, guint); extern void g_error_free(GError *); extern gchar *g_string_chunk_insert_len(GStringChunk *, const gchar *, gssize); extern GArray *g_array_new(gboolean, gboolean, guint); extern GDate *g_date_new_dmy(GDateDay, GDateMonth, GDateYear); extern GMemVTable *glib_mem_profiler_table; extern void g_qsort_with_data(gconstpointer, gint, gsize, GCompareDataFunc, gpointer); extern gboolean g_shell_parse_argv(const gchar *, gint *, gchar * **, GError * *); extern gchar *g_strchomp(gchar *); extern guint32 g_random_int(void); extern void g_option_context_set_main_group(GOptionContext *, GOptionGroup *); extern void g_date_clear(GDate *, guint); extern GIOStatus g_io_channel_read_unichar(GIOChannel *, gunichar *, GError * *); extern GList *g_list_nth(GList *, guint); extern void g_node_destroy(GNode *); extern const gchar *glib_check_version(guint, guint, guint); extern GThread *g_thread_self(void); extern GList *g_list_sort_with_data(GList *, GCompareDataFunc, gpointer); extern void g_io_channel_set_line_term(GIOChannel *, const gchar *, gint); extern GIOChannel *g_io_channel_unix_new(gint); extern GThreadFunctions g_thread_functions_for_glib_use; extern GString *g_string_insert(GString *, gssize, const gchar *); extern gpointer g_trash_stack_pop(GTrashStack * *); extern void g_hook_list_marshal(GHookList *, gboolean, GHookMarshaller, gpointer); extern size_t g_iconv(GIConv, gchar * *, gsize *, gchar * *, gsize *); extern void g_queue_remove(GQueue *, gconstpointer); extern const gchar *g_path_skip_root(const gchar *); extern gint g_queue_link_index(GQueue *, GList *); extern gpointer g_tuples_index(GTuples *, gint, gint); extern GIOChannelError g_io_channel_error_from_errno(gint); extern void g_main_context_wakeup(GMainContext *); extern gboolean g_direct_equal(gconstpointer, gconstpointer); extern GSource *g_source_new(GSourceFuncs *, guint); extern gboolean g_idle_remove_by_data(gpointer); extern void g_io_channel_set_buffer_size(GIOChannel *, gsize); extern guint g_io_add_watch_full(GIOChannel *, gint, GIOCondition, GIOFunc, gpointer, GDestroyNotify); extern void g_dir_rewind(GDir *); extern GSourceFuncs g_child_watch_funcs; extern gint g_iconv_close(GIConv); extern gchar *g_ascii_strdown(const gchar *, gssize); extern gchar *g_key_file_get_locale_string(GKeyFile *, const gchar *, const gchar *, const gchar *, GError * *); extern GQueue *g_queue_copy(GQueue *); extern guint g_node_depth(GNode *); extern const gchar *g_strsignal(gint); extern GSList *g_slist_concat(GSList *, GSList *); extern gboolean g_source_remove_by_funcs_user_data(GSourceFuncs *, gpointer); extern GSource *g_io_create_watch(GIOChannel *, GIOCondition); extern gpointer g_cache_insert(GCache *, gpointer); extern gpointer g_scanner_lookup_symbol(GScanner *, const gchar *); extern GIOStatus g_io_channel_seek_position(GIOChannel *, gint64, GSeekType, GError * *); extern gboolean g_thread_use_default_impl; extern guint g_io_add_watch(GIOChannel *, GIOCondition, GIOFunc, gpointer); extern GSource *g_main_context_find_source_by_user_data(GMainContext *, gpointer); extern GIConv g_iconv_open(const gchar *, const gchar *); extern gchar *g_strdup_vprintf(const gchar *, va_list); extern void g_datalist_clear(GData * *); extern void g_static_rw_lock_reader_unlock(GStaticRWLock *); extern gsize g_strlcpy(gchar *, const gchar *, gsize); extern GRand *g_rand_new_with_seed(guint32); extern guint g_thread_pool_unprocessed(GThreadPool *); extern GQuark g_file_error_quark(void); extern gdouble g_ascii_strtod(const gchar *, gchar * *); extern GByteArray *g_byte_array_prepend(GByteArray *, const guint8 *, guint); extern GQuark g_quark_from_static_string(const gchar *); extern void g_unicode_canonical_ordering(gunichar *, gsize); extern gboolean g_ptr_array_remove_fast(GPtrArray *, gpointer); extern gint g_list_index(GList *, gconstpointer); extern void g_tree_destroy(GTree *); extern GDate *g_date_new(void); extern void g_thread_init_with_errorcheck_mutexes(GThreadFunctions *); extern void g_thread_init(GThreadFunctions *); #ifdef __cplusplus } #endif #endif