gatomic.h File Reference

API published in:
API deprecated in:


#include <_ansi.h>
#include <glib/gtypes.h>

Go to the source code of this file.


Defines

#define  g_atomic_int_get(atomic)   (*(atomic))
#define  g_atomic_int_set(atomic, newval)   ((void) (*(atomic) = (newval)))
#define  g_atomic_pointer_get(atomic)   (*(atomic))
#define  g_atomic_pointer_set(atomic, newval)   ((void) (*(atomic) = (newval)))
#define  g_atomic_int_inc(atomic)   (g_atomic_int_add ((atomic), 1))
#define  g_atomic_int_dec_and_test(atomic)   (g_atomic_int_exchange_and_add ((atomic), -1) == 1)

Functions

G_BEGIN_DECLS IMPORT_C gint  g_atomic_int_exchange_and_add (volatile gint *atomic, gint val)
IMPORT_C void  g_atomic_int_add (volatile gint *atomic, gint val)
IMPORT_C gboolean  g_atomic_int_compare_and_exchange (volatile gint *atomic, gint oldval, gint newval)
IMPORT_C gboolean  g_atomic_pointer_compare_and_exchange (volatile gpointer *atomic, gpointer oldval, gpointer newval)
IMPORT_C gint  g_atomic_int_get (volatile gint *atomic)
IMPORT_C void  g_atomic_int_set (volatile gint *atomic, gint newval)
IMPORT_C gpointer  g_atomic_pointer_get (volatile gpointer *atomic)
IMPORT_C void  g_atomic_pointer_set (volatile gpointer *atomic, gpointer newval)

Define Documentation

#define g_atomic_int_dec_and_test (  atomic   )     (g_atomic_int_exchange_and_add ((atomic), -1) == 1)
 
#define g_atomic_int_get (  atomic   )     (*(atomic))
 
#define g_atomic_int_inc (  atomic   )     (g_atomic_int_add ((atomic), 1))
 
#define g_atomic_int_set (  atomic,
newval   )     ((void) (*(atomic) = (newval)))
 
#define g_atomic_pointer_get (  atomic   )     (*(atomic))
 
#define g_atomic_pointer_set (  atomic,
newval   )     ((void) (*(atomic) = (newval)))
 

Function Documentation

IMPORT_C void g_atomic_int_add (  volatile gint *  atomic,
gint  val
) 
 
IMPORT_C gboolean g_atomic_int_compare_and_exchange (  volatile gint *  atomic,
gint  oldval,
gint  newval
) 
 
G_BEGIN_DECLS IMPORT_C gint g_atomic_int_exchange_and_add (  volatile gint *  atomic,
gint  val
) 
 
IMPORT_C gint g_atomic_int_get (  volatile gint *  atomic  ) 
 
IMPORT_C void g_atomic_int_set (  volatile gint *  atomic,
gint  newval
) 
 
IMPORT_C gboolean g_atomic_pointer_compare_and_exchange (  volatile gpointer *  atomic,
gpointer  oldval,
gpointer  newval
) 
 
IMPORT_C gpointer g_atomic_pointer_get (  volatile gpointer *  atomic  ) 
 
IMPORT_C void g_atomic_pointer_set (  volatile gpointer *  atomic,
gpointer  newval
) 
 

Copyright © Nokia Corporation 2001-2008
Back to top