Synopsis
#include <glib.h>
#define G_THREADS_ENABLED
#define G_THREADS_IMPL_POSIX
#define G_THREADS_IMPL_NONE
#define G_THREAD_ERROR
enum GThreadError;
GThreadFunctions;
void g_thread_init (GThreadFunctions *vtable);
gboolean g_thread_supported ();
gboolean g_thread_get_initialized (void);
gpointer (*GThreadFunc) (gpointer data);
enum GThreadPriority;
GThread;
GThread * g_thread_create (GThreadFunc func,
gpointer data,
gboolean joinable,
GError **error);
GThread* g_thread_create_full (GThreadFunc func,
gpointer data,
gulong stack_size,
gboolean joinable,
gboolean bound,
GThreadPriority priority,
GError **error);
GThread* g_thread_self (void);
gpointer g_thread_join (GThread *thread);
void g_thread_set_priority (GThread *thread,
GThreadPriority priority);
void g_thread_yield ();
void g_thread_exit (gpointer retval);
void g_thread_foreach (GFunc thread_func,
gpointer user_data);
GMutex;
GMutex * g_mutex_new ();
void g_mutex_lock (GMutex *mutex);
gboolean g_mutex_trylock (GMutex *mutex);
void g_mutex_unlock (GMutex *mutex);
void g_mutex_free (GMutex *mutex);
GStaticMutex;
#define G_STATIC_MUTEX_INIT
void g_static_mutex_init (GStaticMutex *mutex);
void g_static_mutex_lock (GStaticMutex *mutex);
gboolean g_static_mutex_trylock (GStaticMutex *mutex);
void g_static_mutex_unlock (GStaticMutex *mutex);
GMutex * g_static_mutex_get_mutex (GStaticMutex *mutex);
void g_static_mutex_free (GStaticMutex *mutex);
#define G_LOCK_DEFINE (name)
#define G_LOCK_DEFINE_STATIC (name)
#define G_LOCK_EXTERN (name)
#define G_LOCK (name)
#define G_TRYLOCK (name)
#define G_UNLOCK (name)
GStaticRecMutex;
#define G_STATIC_REC_MUTEX_INIT
void g_static_rec_mutex_init (GStaticRecMutex *mutex);
void g_static_rec_mutex_lock (GStaticRecMutex *mutex);
gboolean g_static_rec_mutex_trylock (GStaticRecMutex *mutex);
void g_static_rec_mutex_unlock (GStaticRecMutex *mutex);
void g_static_rec_mutex_lock_full (GStaticRecMutex *mutex,
guint depth);
guint g_static_rec_mutex_unlock_full (GStaticRecMutex *mutex);
void g_static_rec_mutex_free (GStaticRecMutex *mutex);
GStaticRWLock;
#define G_STATIC_RW_LOCK_INIT
void g_static_rw_lock_init (GStaticRWLock *lock);
void g_static_rw_lock_reader_lock (GStaticRWLock *lock);
gboolean g_static_rw_lock_reader_trylock (GStaticRWLock *lock);
void g_static_rw_lock_reader_unlock (GStaticRWLock *lock);
void g_static_rw_lock_writer_lock (GStaticRWLock *lock);
gboolean g_static_rw_lock_writer_trylock (GStaticRWLock *lock);
void g_static_rw_lock_writer_unlock (GStaticRWLock *lock);
void g_static_rw_lock_free (GStaticRWLock *lock);
GCond;
GCond* g_cond_new ();
void g_cond_signal (read* g_thread_create_full (GThreadFunc func,
gpointer data,
gulong stack_size,
gboolean joinable,
gboolean bound,
GThreadPriority priority,
GError **error);
GThread* g_thread_self (void);
gpointer g_thread_join (GThread *thread);
void g_thread_set_priority (GThread *thread,
GThreadPriority priority);
void g_thread_yield ();
void g_thread_exit (gpointer retval);
void g_thread_foreach (GFunc thread_func,
gpointer user_data);
GMutex;
GMutex * g_mutex_new ();
void g_mutex_lock (GMutex *mutex);
gboolean g_mutex_trylock (GMutex *mutex);
void g_mutex_unlock (GMutex *mutex);
void g_mutex_free (GMutex *mutex);
GStaticMutex;
#define G_STATIC_MUTEX_INIT
void g_static_mutex_init (GStaticMutex *mutex);
void g_static_mutex_lock (GStaticMutex *mutex);
gboolean g_static_mutex_trylock (GStaticMutex *mutex);
void g_static_mutex_unlock (GStaticMutex *mutex);
GMutex * g_static_mutex_get_mutex (GStaticMutex *mutex);
void g_static_mutex_free (GStaticMutex *mutex);
#define G_LOCK_DEFINE (name)
#define G_LOCK_DEFINE_STATIC (name)
#define G_LOCK_EXTERN (name)
#define G_LOCK (name)
#define G_TRYLOCK (name)
#define G_UNLOCK (name)
GStaticRecMutex;
#define G_STATIC_REC_MUTEX_INIT
void g_static_rec_mutex_init (GStaticRecMutex *mutex);
void g_static_rec_mutex_lock (GStaticRecMutex *mutex);
gboolean g_static_rec_mutex_trylock (GStaticRecMutex *mutex);
void g_static_rec_mutex_unlock (GStaticRecMutex *mutex);
void g_static_rec_mutex_lock_full (GStaticRecMutex *mutex,
guint depth);
guint g_static_rec_mutex_unlock_full (GStaticRecMutex *mutex);
void g_static_rec_mutex_free (GStaticRecMutex *mutex);
GStaticRWLock;
#define G_STATIC_RW_LOCK_INIT
void g_static_rw_lock_init (GStaticRWLock *lock);
void g_static_rw_lock_reader_lock (GStaticRWLock *lock);
gboolean g_static_rw_lock_reader_trylock (GStaticRWLock *lock);
void g_static_rw_lock_reader_unlock (GStaticRWLock *lock);
void g_static_rw_lock_writer_lock (GStaticRWLock *lock);
gboolean g_static_rw_lock_writer_trylock (GStaticRWLock *lock);
void g_static_rw_lock_writer_unlock (GStaticRWLock *lock);
void g_static_rw_lock_free (GStaticRWLock *lock);
GCond;
GCond* g_cond_new ();
void g_cond_signal (read* g_thread_create_full (GThreadFunc func,
gpointer data,
gulong stack_size,
gboolean joinable,
gboolean bound,
GThreadPriority priority,
GError **error);
GThread* g_thread_self (void);
gpointer g_thread_join (GThread *thread);
void g_thread_set_priority (GThread *thread,
GThreadPriority priority);
void g_thread_yield ();
void g_thread_exit (gpointer retval);
void g_thread_foreach (GFunc thread_func,
gpointer user_data);
GMutex;
GMutex * g_mutex_new ();
void g_mutex_lock (GMutex *mutex);
gboolean g_mutex_trylock (GMutex *mutex);
void g_mutex_unlock (GMutex *mutex);
void g_mutex_free (GMutex *mutex);
GStaticMutex;
#define G_STATIC_MUTEX_INIT
void g_static_mutex_init (GStaticMutex *mutex);
void g_static_mutex_lock (GStaticMutex *mutex);
gboolean g_static_mutex_trylock (GStaticMutex *mutex);
void g_static_mutex_unlock (GStaticMutex *mutex);
GMutex * g_static_mutex_get_mutex (GStaticMutex *mutex);
void g_static_mutex_free (GStaticMutex *mutex);
#define G_LOCK_DEFINE (name)
#define G_LOCK_DEFINE_STATIC (name)
#define G_LOCK_EXTERN (name)
#define G_LOCK (name)
#define G_TRYLOCK (name)
#define G_UNLOCK (name)
GStaticRecMutex;
#define G_STATIC_REC_MUTEX_INIT
void g_static_rec_mutex_init (GStaticRecMutex *mutex);
void g_static_rec_mutex_lock (GStaticRecMutex *mutex);
gboolean g_static_rec_mutex_trylock (GStaticRecMutex *mutex);
void g_static_rec_mutex_unlock (GStaticRecMutex *mutex);
void g_static_rec_mutex_lock_full (GStaticRecMutex *mutex,
guint depth);
guint g_static_rec_mutex_unlock_full (GStaticRecMutex *mutex);
void g_static_rec_mutex_free (GStaticRecMutex *mutex);
GStaticRWLock;
#define G_STATIC_RW_LOCK_INIT
void g_static_rw_lock_init (GStaticRWLock *lock);
void g_static_rw_lock_reader_lock (GStaticRWLock *lock);
gboolean g_static_rw_lock_reader_trylock (GStaticRWLock *lock);
void g_static_rw_lock_reader_unlock (GStaticRWLock *lock);
void g_static_rw_lock_writer_lock (GStaticRWLock *lock);
gboolean g_static_rw_lock_writer_trylock (GStaticRWLock *lock);
void g_static_rw_lock_writer_unlock (GStaticRWLock *lock);
void g_static_rw_lock_free (GStaticRWLock *lock);
GCond;
GCond* g_cond_new ();
void g_cond_signal (read* g_thread_create_full (GThreadFunc func,
gpointer data,
gulong stack_size,
gboolean joinable,
gboolean bound,
GThreadPriority priority,
GError **error);
GThread* g_thread_self (void);
gpointer g_thread_join (GThread *thread);
void g_thread_set_priority (GThread *thread,
GThreadPriority priority);
void g_thread_yield ();
void g_thread_exit (gpointer retval);
void g_thread_foreach (GFunc thread_func,
gpointer user_data);
GMutex;
GMutex * g_mutex_new ();
void g_mutex_lock (GMutex *mutex);
gboolean g_mutex_trylock (GMutex *mutex);
void g_mutex_unlock (GMutex *mutex);
void g_mutex_free (GMutex *mutex);
GStaticMutex;
#define G_STATIC_MUTEX_INIT
void g_static_mutex_init (GStaticMutex *mutex);
void g_static_mutex_lock (GStaticMutex *mutex);
gboolean g_static_mutex_trylock (GStaticMutex *mutex);
void g_static_mutex_unlock (GStaticMutex *mutex);
GMutex * g_static_mutex_get_mutex (GStaticMutex *mutex);
void g_static_mutex_free (GStaticMutex *mutex);
#define G_LOCK_DEFINE (name)
#define G_LOCK_DEFINE_STATIC (name)
#define G_LOCK_EXTERN (name)
#define G_LOCK (name)
#define G_TRYLOCK (name)
#define G_UNLOCK (name)
GStaticRecMutex;
#define G_STATIC_REC_MUTEX_INIT
void g_static_rec_mutex_init (GStaticRecMutex *mutex);
void g_static_rec_mutex_lock (GStaticRecMutex *mutex);
gboolean g_static_rec_mutex_trylock (GStaticRecMutex *mutex);
void g_static_rec_mutex_unlock (GStaticRecMutex *mutex);
void g_static_rec_mutex_lock_full (GStaticRecMutex *mutex,
guint depth);
guint g_static_rec_mutex_unlock_full (GStaticRecMutex *mutex);
void g_static_rec_mutex_free (GStaticRecMutex *mutex);
GStaticRWLock;
#define G_STATIC_RW_LOCK_INIT
void g_static_rw_lock_init (GStaticRWLock *lock);
void g_static_rw_lock_reader_lock (GStaticRWLock *lock);
gboolean g_static_rw_lock_reader_trylock (GStaticRWLock *lock);
void g_static_rw_lock_reader_unlock (GStaticRWLock *lock);
void g_static_rw_lock_writer_lock (GStaticRWLock *lock);
gboolean g_static_rw_lock_writer_trylock (GStaticRWLock *lock);
void g_static_rw_lock_writer_unlock (GStaticRWLock *lock);
void g_static_rw_lock_free (GStaticRWLock *lock);
GCond;
GCond* g_cond_new ();
void g_cond_signal (read* g_thread_create_full (GThreadFunc func,
gpointer data,
gulong stack_size,
gboolean joinable,
gboolean bound,
GThreadPriority priority,
GError **error);
GThread* g_thread_self (void);
gpointer g_thread_join (GThread *thread);
void g_thread_set_priority (GThread *thread,
GThreadPriority priority);
void g_thread_yield ();
void g_thread_exit (gpointer retval);
void g_thread_foreach (GFunc thread_func,
gpointer user_data);
GMutex;
GMutex * g_mutex_new ();
void g_mutex_lock (GMutex *mutex);
gboolean g_mutex_trylock (GMutex *mutex);
void g_mutex_unlock (GMutex *mutex);
void g_mutex_free (GMutex *mutex);
GStaticMutex;
#define G_STATIC_MUTEX_INIT
void g_static_mutex_init (GStaticMutex *mutex);
void g_static_mutex_lock (GStaticMutex *mutex);
gboolean g_static_mutex_trylock (GStaticMutex *mutex);
void g_static_mutex_unlock (GStaticMutex *mutex);
GMutex * g_static_mutex_get_mutex (GStaticMutex *mutex);
void g_static_mutex_free (GStaticMutex *mutex);
#define G_LOCK_DEFINE (name)
#define G_LOCK_DEFINE_STATIC (name)
#define G_LOCK_EXTERN (name)
#define G_LOCK (name)
#define G_TRYLOCK (name)
#define G_UNLOCK (name)
GStaticRecMutex;
#define G_STATIC_REC_MUTEX_INIT
void g_static_rec_mutex_init (GStaticRecMutex *mutex);
void g_static_rec_mutex_lock (GStaticRecMutex *mutex);
gboolean g_static_rec_mutex_trylock (GStaticRecMutex *mutex);
void g_static_rec_mutex_unlock (GStaticRecMutex *mutex);
void g_static_rec_mutex_lock_full (GStaticRecMutex *mutex,
guint depth);
guint g_static_rec_mutex_unlock_full (GStaticRecMutex *mutex);
void g_static_rec_mutex_free (GStaticRecMutex *mutex);
GStaticRWLock;
#define G_STATIC_RW_LOCK_INIT
void g_static_rw_lock_init (GStaticRWLock *lock);
void g_static_rw_lock_reader_lock (GStaticRWLock *lock);
gboolean g_static_rw_lock_reader_trylock (GStaticRWLock *lock);
void g_static_rw_lock_reader_unlock (GStaticRWLock *lock);
void g_static_rw_lock_writer_lock (GStaticRWLock *lock);
gboolean g_static_rw_lock_writer_trylock (GStaticRWLock *lock);
void g_static_rw_lock_writer_unlock (GStaticRWLock *lock);
void g_static_rw_lock_free (GStaticRWLock *lock);
GCond;
GCond* g_cond_new ();
void g_cond_signal (read* g_thread_create_full (GThreadFunc func,
gpointer data,
gulong stack_size,
gboolean joinable,
gboolean bound,
GThreadPriority priority,
GError **error);
GThread* g_thread_self (void);
gpointer g_thread_join (GThread *thread);
void g_thread_set_priority (GThread *thread,
GThreadPriority priority);
void g_thread_yield ();
void g_thread_exit (gpointer retval);
void g_thread_foreach (GFunc thread_func,
gpointer user_data);
GMutex;
GMutex * g_mutex_new ();
void g_mutex_lock (GMutex *mutex);
gboolean g_mutex_trylock (GMutex *mutex);
void g_mutex_unlock (GMutex *mutex);
void g_mutex_free (GMutex *mutex);
GStaticMutex;
#define G_STATIC_MUTEX_INIT
void g_static_mutex_init (GStaticMutex *mutex);
void g_static_mutex_lock (GStaticMutex *mutex);
gboolean g_static_mutex_trylock (GStaticMutex *mutex);
void g_static_mutex_unlock (GStaticMutex *mutex);
GMutex * g_static_mutex_get_mutex (GStaticMutex *mutex);
void g_static_mutex_free (GStaticMutex *mutex);
#define G_LOCK_DEFINE (name)
#define G_LOCK_DEFINE_STATIC (name)
#define G_LOCK_EXTERN (name)
#define G_LOCK (name)
#define G_TRYLOCK (name)
#define G_UNLOCK (name)
GStaticRecMutex;
#define G_STATIC_REC_MUTEX_INIT
void g_static_rec_mutex_init (GStaticRecMutex *mutex);
void g_static_rec_mutex_lock (GStaticRecMutex *mutex);
gboolean g_static_rec_mutex_trylock (GStaticRecMutex *mutex);
void g_static_rec_mutex_unlock (GStaticRecMutex *mutex);
void g_static_rec_mutex_lock_full (GStaticRecMutex *mutex,
guint depth);
guint g_static_rec_mutex_unlock_full (GStaticRecMutex *mutex);
void g_static_rec_mutex_free (GStaticRecMutex *mutex);
GStaticRWLock;
#define G_STATIC_RW_LOCK_INIT
void g_static_rw_lock_init (GStaticRWLock *lock);
void g_static_rw_lock_reader_lock (GStaticRWLock *lock);
gboolean g_static_rw_lock_reader_trylock (GStaticRWLock *lock);
void g_static_rw_lock_reader_unlock (GStaticRWLock *lock);
void g_static_rw_lock_writer_lock (GStaticRWLock *lock);
gboolean g_static_rw_lock_writer_trylock (GStaticRWLock *lock);
void g_static_rw_lock_writer_unlock (GStaticRWLock *lock);
void g_static_rw_lock_free (GStaticRWLock *lock);
GCond;
GCond* g_cond_new ();
void g_cond_signal (read* g_thread_create_full (GThreadFunc func,
gpointer data,
gulong stack_size,
gboolean joinable,
gboolean bound,
GThreadPriority priority,
GError **error);
GThread* g_thread_self (void);
gpointer g_thread_join (GThread *thread);
void g_thread_set_priority (GThread *thread,
GThreadPriority priority);
void g_thread_yield ();
void g_thread_exit (gpointer retval);
void g_thread_foreach (GFunc thread_func,
gpointer user_data);
GMutex;
GMutex * g_mutex_new ();
void g_mutex_lock (GMutex *mutex);
gboolean g_mutex_trylock (GMutex *mutex);
void g_mutex_unlock (GMutex *mutex);
void g_mutex_free (GMutex *mutex);
GStaticMutex;
#define G_STATIC_MUTEX_INIT
void g_static_mutex_init (GStaticMutex *mutex);
void g_static_mutex_lock (GStaticMutex *mutex);
gboolean g_static_mutex_trylock (GStaticMutex *mutex);
void g_static_mutex_unlock (GStaticMutex *mutex);
GMutex * g_static_mutex_get_mutex (GStaticMutex *mutex);
void g_static_mutex_free (GStaticMutex *mutex);
#define G_LOCK_DEFINE (name)
#define G_LOCK_DEFINE_STATIC (name)
#define G_LOCK_EXTERN (name)
#define G_LOCK (name)
#define G_TRYLOCK (name)
#define G_UNLOCK (name)
GStaticRecMutex;
#define G_STATIC_REC_MUTEX_INIT
void g_static_rec_mutex_init (GStaticRecMutex *mutex);
void g_static_rec_mutex_lock (GStaticRecMutex *mutex);
gboolean g_static_rec_mutex_trylock (GStaticRecMutex *mutex);
void g_static_rec_mutex_unlock (GStaticRecMutex *mutex);
void g_static_rec_mutex_lock_full (GStaticRecMutex *mutex,
guint depth);
guint g_static_rec_mutex_unlock_full (GStaticRecMutex *mutex);
void g_static_rec_mutex_free (GStaticRecMutex *mutex);
GStaticRWLock;
#define G_STATIC_RW_LOCK_INIT
void g_static_rw_lock_init (GStaticRWLock *lock);
void g_static_rw_lock_reader_lock (GStaticRWLock *lock);
gboolean g_static_rw_lock_reader_trylock (GStaticRWLock *lock);
void g_static_rw_lock_reader_unlock (GStaticRWLock *lock);
void g_static_rw_lock_writer_lock (GStaticRWLock *lock);
gboolean g_static_rw_lock_writer_trylock (GStaticRWLock *lock);
void g_static_rw_lock_writer_unlock (GStaticRWLock *lock);
void g_static_rw_lock_free (GStaticRWLock *lock);
GCond;
GCond* g_cond_new ();
void g_cond_signal (read* g_thread_create_full (GThreadFunc func,
gpointer data,
gulong stack_size,
gboolean joinable,
gboolean bound,
GThreadPriority priority,
GError **error);
GThread* g_thread_self (void);
gpointer g_thread_join (GThread *thread);
void g_thread_set_priority (GThread *thread,
GThreadPriority priority);
void g_thread_yield ();
void g_thread_exit (gpointer retval);
void g_thread_foreach (GFunc thread_func,
gpointer user_data);
GMutex;
GMutex * g_mutex_new ();
void g_mutex_lock (GMutex *mutex);
gboolean g_mutex_trylock (GMutex *mutex);
void g_mutex_unlock (GMutex *mutex);
void g_mutex_free (GMutex *mutex);
GStaticMutex;
#define G_STATIC_MUTEX_INIT
void g_static_mutex_init (GStaticMutex *mutex);
void g_static_mutex_lock (GStaticMutex *mutex);
gboolean g_static_mutex_trylock (GStaticMutex *mutex);
void g_static_mutex_unlock (GStaticMutex *mutex);
GMutex * g_static_mutex_get_mutex (GStaticMutex *mutex);
void g_static_mutex_free (GStaticMutex *mutex);
#define G_LOCK_DEFINE (name)
#define G_LOCK_DEFINE_STATIC (name)
#define G_LOCK_EXTERN (name)
#define G_LOCK (name)
#define G_TRYLOCK (name)
#define G_UNLOCK (name)
GStaticRecMutex;
#define G_STATIC_REC_MUTEX_INIT
void g_static_rec_mutex_init (GStaticRecMutex *mutex);
void g_static_rec_mutex_lock (GStaticRecMutex *mutex);
gboolean g_static_rec_mutex_trylock (GStaticRecMutex *mutex);
void g_static_rec_mutex_unlock (GStaticRecMutex *mutex);
void g_static_rec_mutex_lock_full (GStaticRecMutex *mutex,
guint depth);
guint g_static_rec_mutex_unlock_full (GStaticRecMutex *mutex);
void g_static_rec_mutex_free (GStaticRecMutex *mutex);
GStaticRWLock;
#define G_STATIC_RW_LOCK_INIT
void g_static_rw_lock_init (GStaticRWLock *lock);
void g_static_rw_lock_reader_lock (GStaticRWLock *lock);
gboolean g_static_rw_lock_reader_trylock (GStaticRWLock *lock);
void g_static_rw_lock_reader_unlock (GStaticRWLock *lock);
void g_static_rw_lock_writer_lock (GStaticRWLock *lock);
gboolean g_static_rw_lock_writer_trylock (GStaticRWLock *lock);
void g_static_rw_lock_writer_unlock (GStaticRWLock *lock);
void g_static_rw_lock_free (GStaticRWLock *lock);
GCond;
GCond* g_cond_new ();
void g_cond_signal (read* g_thread_create_full (GThreadFunc func,
gpointer data,
gulong stack_size,
gboolean joinable,
gboolean bound,
GThreadPriority priority,
GError **error);
GThread* g_thread_self (void);
gpointer g_thread_join (GThread *thread);
void g_thread_set_priority (GThread *thread,
GThreadPriority priority);
void g_thread_yield ();
void g_thread_exit (gpointer retval);
void g_thread_foreach (GFunc thread_func,
gpointer user_data);
GMutex;
GMutex * g_mutex_new ();
void g_mutex_lock (GMutex *mutex);
gboolean g_mutex_trylock (GMutex *mutex);
void g_mutex_unlock (GMutex *mutex);
void g_mutex_free (GMutex *mutex);
GStaticMutex;
#define G_STATIC_MUTEX_INIT
void g_static_mutex_init (GStaticMutex *mutex);
void g_static_mutex_lock (GStaticMutex *mutex);
gboolean g_static_mutex_trylock (GStaticMutex *mutex);
void g_static_mutex_unlock (GStaticMutex *mutex);
GMutex * g_static_mutex_get_mutex (GStaticMutex *mutex);
void g_static_mutex_free (GStaticMutex *mutex);
#define G_LOCK_DEFINE (name)
#define G_LOCK_DEFINE_STATIC (name)
#define G_LOCK_EXTERN (name)
#define G_LOCK (name)
#define G_TRYLOCK (name)
#define G_UNLOCK (name)
GStaticRecMutex;
#define G_STATIC_REC_MUTEX_INIT
void g_static_rec_mutex_init (GStaticRecMutex *mutex);
void g_static_rec_mutex_lock (GStaticRecMutex *mutex);
gboolean g_static_rec_mutex_trylock (GStaticRecMutex *mutex);
void g_static_rec_mutex_unlock (GStaticRecMutex *mutex);
void g_static_rec_mutex_lock_full (GStaticRecMutex *mutex,
guint depth);
guint g_static_rec_mutex_unlock_full (GStaticRecMutex *mutex);
void g_static_rec_mutex_free (GStaticRecMutex *mutex);
GStaticRWLock;
#define G_STATIC_RW_LOCK_INIT
void g_static_rw_lock_init (GStaticRWLock *lock);
void g_static_rw_lock_reader_lock (GStaticRWLock *lock);
gboolean g_static_rw_lock_reader_trylock (GStaticRWLock *lock);
void g_static_rw_lock_reader_unlock (GStaticRWLock *lock);
void g_static_rw_lock_writer_lock (GStaticRWLock *lock);
gboolean g_static_rw_lock_writer_trylock (GStaticRWLock *lock);
void g_static_rw_lock_writer_unlock (GStaticRWLock *lock);
void g_static_rw_lock_free (GStaticRWLock *lock);
GCond;
GCond* g_cond_new ();
void g_cond_signal (read* g_thread_create_full (GThreadFunc func,
gpointer data,
gulong stack_size,
gboolean joinable,
gboolean bound,
GThreadPriority priority,
GError **error);
GThread* g_thread_self (void);
gpointer g_thread_join (GThread *thread);
void g_thread_set_priority (GThread *thread,
GThreadPriority priority);
void g_thread_yield ();
void g_thread_exit (gpointer retval);
void g_thread_foreach (GFunc thread_func,
gpointer user_data);
GMutex;
GMutex * g_mutex_new ();
void g_mutex_lock (GMutex *mutex);
gboolean g_mutex_trylock (GMutex *mutex);
void g_mutex_unlock (GMutex *mutex);
void g_mutex_free (GMutex *mutex);
GStaticMutex;
#define G_STATIC_MUTEX_INIT
void g_static_mutex_init (GStaticMutex *mutex);
void g_static_mutex_lock (GStaticMutex *mutex);
gboolean g_static_mutex_trylock (GStaticMutex *mutex);
void g_static_mutex_unlock (GStaticMutex *mutex);
GMutex * g_static_mutex_get_mutex (GStaticMutex *mutex);
void g_static_mutex_free (GStaticMutex *mutex);
#define G_LOCK_DEFINE (name)
#define G_LOCK_DEFINE_STATIC (name)
#define G_LOCK_EXTERN (name)
#define G_LOCK (name)
#define G_TRYLOCK (name)
#define G_UNLOCK (name)
GStaticRecMutex;
#define G_STATIC_REC_MUTEX_INIT
void g_static_rec_mutex_init (GStaticRecMutex *mutex);
void g_static_rec_mutex_lock (GStaticRecMutex *mutex);
gboolean g_static_rec_mutex_trylock (GStaticRecMutex *mutex);
void g_static_rec_mutex_unlock (GStaticRecMutex *mutex);
void g_static_rec_mutex_lock_full (GStaticRecMutex *mutex,
guint depth);
guint g_static_rec_mutex_unlock_full (GStaticRecMutex *mutex);
void g_static_rec_mutex_free (GStaticRecMutex *mutex);
GStaticRWLock;
#define G_STATIC_RW_LOCK_INIT
void g_static_rw_lock_init (GStaticRWLock *lock);
void g_static_rw_lock_reader_lock (GStaticRWLock *lock);
gboolean g_static_rw_lock_reader_trylock (GStaticRWLock *lock);
void g_static_rw_lock_reader_unlock (GStaticRWLock *lock);
void g_static_rw_lock_writer_lock (GStaticRWLock *lock);
gboolean g_static_rw_lock_writer_trylock (GStaticRWLock *lock);
void g_static_rw_lock_writer_unlock (GStaticRWLock *lock);
void g_static_rw_lock_free (GStaticRWLock *lock);
GCond;
GCond* g_cond_new ();
void g_cond_signal (read* g_thread_create_full (GThreadFunc func,
gpointer data,
gulong stack_size,
gboolean joinable,
gboolean bound,
GThreadPriority priority,
GError **error);
GThread* g_thread_self (void);
gpointer g_thread_join (GThread *thread);
void g_thread_set_priority (GThread *thread,
GThreadPriority priority);
void g_thread_yield ();
void g_thread_exit (gpointer retval);
void g_thread_foreach (GFunc thread_func,
gpointer user_data);
GMutex;
GMutex * g_mutex_new ();
void g_mutex_lock (GMutex *mutex);
gboolean g_mutex_trylock (GMutex *mutex);
void g_mutex_unlock (GMutex *mutex);
void g_mutex_free (GMutex *mutex);
GStaticMutex;
#define G_STATIC_MUTEX_INIT
void g_static_mutex_init (GStaticMutex *mutex);
void g_static_mutex_lock (GStaticMutex *mutex);
gboolean g_static_mutex_trylock (GStaticMutex *mutex);
void g_static_mutex_unlock (GStaticMutex *mutex);
GMutex * g_static_mutex_get_mutex (GStaticMutex *mutex);
void g_static_mutex_free (GStaticMutex *mutex);
#define G_LOCK_DEFINE (name)
#define G_LOCK_DEFINE_STATIC (name)
#define G_LOCK_EXTERN (name)
#define G_LOCK (name)
#define G_TRYLOCK (name)
#define G_UNLOCK (name)
GStaticRecMutex;
#define G_STATIC_REC_MUTEX_INIT
void g_static_rec_mutex_init (GStaticRecMutex *mutex);
void g_static_rec_mutex_lock (GStaticRecMutex *mutex);
gboolean g_static_rec_mutex_trylock (GStaticRecMutex *mutex);
void g_static_rec_mutex_unlock (GStaticRecMutex *mutex);
void g_static_rec_mutex_lock_full (GStaticRecMutex *mutex,
guint depth);
guint g_static_rec_mutex_unlock_full (GStaticRecMutex *mutex);
void g_static_rec_mutex_free (GStaticRecMutex *mutex);
GStaticRWLock;
#define G_STATIC_RW_LOCK_INIT
void g_static_rw_lock_init (GStaticRWLock *lock);
void g_static_rw_lock_reader_lock (GStaticRWLock *lock);
gboolean g_static_rw_lock_reader_trylock (GStaticRWLock *lock);
void g_static_rw_lock_reader_unlock (GStaticRWLock *lock);
void g_static_rw_lock_writer_lock (GStaticRWLock *lock);
gboolean g_static_rw_lock_writer_trylock (GStaticRWLock *lock);
void g_static_rw_lock_writer_unlock (GStaticRWLock *lock);
void g_static_rw_lock_free (GStaticRWLock *lock);
GCond;
GCond* g_cond_new ();
void g_cond_signal (read* g_thread_create_full (GThreadFunc func,
gpointer data,
gulong stack_size,
gboolean joinable,
gboolean bound,
GThreadPriority priority,
GError **error);
GThread* g_thread_self (void);
gpointer g_thread_join (GThread *thread);
void g_thread_set_priority (GThread *thread,
GThreadPriority priority);
void g_thread_yield ();
void g_thread_exit (gpointer retval);
void g_thread_foreach (GFunc thread_func,
gpointer user_data);
GMutex;
GMutex * g_mutex_new ();
void g_mutex_lock (GMutex *mutex);
gboolean g_mutex_trylock (GMutex *mutex);
void g_mutex_unlock (GMutex *mutex);
void g_mutex_free (GMutex *mutex);
GStaticMutex;
#define G_STATIC_MUTEX_INIT
void g_static_mutex_init (GStaticMutex *mutex);
void g_static_mutex_lock (GStaticMutex *mutex);
gboolean g_static_mutex_trylock (GStaticMutex *mutex);
void g_static_mutex_unlock (GStaticMutex *mutex);
GMutex * g_static_mutex_get_mutex (GStaticMutex *mutex);
void g_static_mutex_free (GStaticMutex *mutex);
#define G_LOCK_DEFINE (name)
#define G_LOCK_DEFINE_STATIC (name)
#define G_LOCK_EXTERN (name)
#define G_LOCK (name)
#define G_TRYLOCK (name)
#define G_UNLOCK (name)
GStaticRecMutex;
#define G_STATIC_REC_MUTEX_INIT
void g_static_rec_mutex_init (GStaticRecMutex *mutex);
void g_static_rec_mutex_lock (GStaticRecMutex *mutex);
gboolean g_static_rec_mutex_trylock (GStaticRecMutex *mutex);
void g_static_rec_mutex_unlock (GStaticRecMutex *mutex);
void g_static_rec_mutex_lock_full (GStaticRecMutex *mutex,
guint depth);
guint g_static_rec_mutex_unlock_full (GStaticRecMutex *mutex);
void g_static_rec_mutex_free (GStaticRecMutex *mutex);
GStaticRWLock;
#define G_STATIC_RW_LOCK_INIT
void g_static_rw_lock_init (GStaticRWLock *lock);
void g_static_rw_lock_reader_lock (GStaticRWLock *lock);
gboolean g_static_rw_lock_reader_trylock (GStaticRWLock *lock);
void g_static_rw_lock_reader_unlock (GStaticRWLock *lock);
void g_static_rw_lock_writer_lock (GStaticRWLock *lock);
gboolean g_static_rw_lock_writer_trylock (GStaticRWLock *lock);
void g_static_rw_lock_writer_unlock (GStaticRWLock *lock);
void g_static_rw_lock_free (GStaticRWLock *lock);
GCond;
GCond* g_cond_new ();
void g_cond_signal (read* g_thread_create_full (GThreadFunc func,
gpointer data,
gulong stack_size,
gboolean joinable,
gboolean bound,
GThreadPriority priority,
GError **error);
GThread* g_thread_self (void);
gpointer g_thread_join (GThread *thread);
void g_thread_set_priority (GThread *thread,
GThreadPriority priority);
void g_thread_yield ();
void g_thread_exit (gpointer retval);
void g_thread_foreach (GFunc thread_func,
gpointer user_data);
GMutex;
GMutex * g_mutex_new ();
void g_mutex_lock (GMutex *mutex);
gboolean g_mutex_trylock (GMutex *mutex);
void g_mutex_unlock (GMutex *mutex);
void g_mutex_free (GMutex *mutex);
GStaticMutex;
#define G_STATIC_MUTEX_INIT
void g_static_mutex_init (GStaticMutex *mutex);
void g_static_mutex_lock (GStaticMutex *mutex);
gboolean g_static_mutex_trylock (GStaticMutex *mutex);
void g_static_mutex_unlock (GStaticMutex *mutex);
GMutex * g_static_mutex_get_mutex (GStaticMutex *mutex);
void g_static_mutex_free (GStaticMutex *mutex);
#define G_LOCK_DEFINE (name)
#define G_LOCK_DEFINE_STATIC (name)
#define G_LOCK_EXTERN (name)
#define G_LOCK (name)
#define G_TRYLOCK (name)
#define G_UNLOCK (name)
GStaticRecMutex;
#define G_STATIC_REC_MUTEX_INIT
void g_static_rec_mutex_init (GStaticRecMutex *mutex);
void g_static_rec_mutex_lock (GStaticRecMutex *mutex);
gboolean g_static_rec_mutex_trylock (GStaticRecMutex *mutex);
void g_static_rec_mutex_unlock (GStaticRecMutex *mutex);
void g_static_rec_mutex_lock_full (GStaticRecMutex *mutex,
guint depth);
guint g_static_rec_mutex_unlock_full (GStaticRecMutex *mutex);
void g_static_rec_mutex_free (GStaticRecMutex *mutex);
GStaticRWLock;
#define G_STATIC_RW_LOCK_INIT
void g_static_rw_lock_init (GStaticRWLock *lock);
void g_static_rw_lock_reader_lock (GStaticRWLock *lock);
gboolean g_static_rw_lock_reader_trylock (GStaticRWLock *lock);
void g_static_rw_lock_reader_unlock (GStaticRWLock *lock);
void g_static_rw_lock_writer_lock (GStaticRWLock *lock);
gboolean g_static_rw_lock_writer_trylock (GStaticRWLock *lock);
void g_static_rw_lock_writer_unlock (GStaticRWLock *lock);
void g_static_rw_lock_free (GStaticRWLock *lock);
GCond;
GCond* g_cond_new ();
void g_cond_signal (read* g_thread_create_full (GThreadFunc func,
gpointer data,
gulong stack_size,
gboolean joinable,
gboolean bound,
GThreadPriority priority,
GError **error);
GThread* g_thread_self (void);
gpointer g_thread_join (GThread *thread);
void g_thread_set_priority (GThread *thread,