oro_arch.h File Reference

#include "../../rtt-config.h"
Include dependency graph for rtt/os/oro_gcc/oro_arch.h:

Go to the source code of this file.

Classes

struct  oro_atomic_t

Defines

#define ORO_ATOMIC_CLEANUP(a_int)
#define oro_atomic_read(a_int)   ((a_int)->cnt)
#define oro_atomic_set(a_int, n)   (((a_int)->cnt) = (n))
#define ORO_ATOMIC_SETUP   oro_atomic_set
#define oro_cmpxchg(ptr, o, n)   ((__typeof__(*(ptr)))__sync_val_compare_and_swap((ptr),(o),(n)))

Functions

static __inline__ void oro_atomic_add (oro_atomic_t *a_int, int n)
static __inline__ void oro_atomic_dec (oro_atomic_t *a_int)
static __inline__ int oro_atomic_dec_and_test (oro_atomic_t *a_int)
static __inline__ void oro_atomic_inc (oro_atomic_t *a_int)
static __inline__ int oro_atomic_inc_and_test (oro_atomic_t *a_int)
static __inline__ void oro_atomic_sub (oro_atomic_t *a_int, int n)
static __inline__ int oro_atomic_sub_and_test (oro_atomic_t *a_int, int n)

Define Documentation

#define ORO_ATOMIC_CLEANUP ( a_int   ) 

Definition at line 15 of file rtt/os/oro_gcc/oro_arch.h.

#define oro_atomic_read ( a_int   )     ((a_int)->cnt)

Definition at line 17 of file rtt/os/oro_gcc/oro_arch.h.

#define oro_atomic_set ( a_int,
 )     (((a_int)->cnt) = (n))

Definition at line 19 of file rtt/os/oro_gcc/oro_arch.h.

#define ORO_ATOMIC_SETUP   oro_atomic_set

Definition at line 14 of file rtt/os/oro_gcc/oro_arch.h.

#define oro_cmpxchg ( ptr,
o,
 )     ((__typeof__(*(ptr)))__sync_val_compare_and_swap((ptr),(o),(n)))

Compare o with *ptr and swap with n if equal.

Definition at line 80 of file rtt/os/oro_gcc/oro_arch.h.


Function Documentation

static __inline__ void oro_atomic_add ( oro_atomic_t a_int,
int  n 
) [static]

Add n to a_int

Definition at line 24 of file rtt/os/oro_gcc/oro_arch.h.

static __inline__ void oro_atomic_dec ( oro_atomic_t a_int  )  [static]

Decrement a_int atomically

Definition at line 56 of file rtt/os/oro_gcc/oro_arch.h.

static __inline__ int oro_atomic_dec_and_test ( oro_atomic_t a_int  )  [static]

Decrement a_int atomically and test for zero.

Definition at line 64 of file rtt/os/oro_gcc/oro_arch.h.

static __inline__ void oro_atomic_inc ( oro_atomic_t a_int  )  [static]

Increment a_int atomically

Definition at line 48 of file rtt/os/oro_gcc/oro_arch.h.

static __inline__ int oro_atomic_inc_and_test ( oro_atomic_t a_int  )  [static]

Increment a_int atomically and test for zero.

Definition at line 72 of file rtt/os/oro_gcc/oro_arch.h.

static __inline__ void oro_atomic_sub ( oro_atomic_t a_int,
int  n 
) [static]

Substract n from a_int

Definition at line 32 of file rtt/os/oro_gcc/oro_arch.h.

static __inline__ int oro_atomic_sub_and_test ( oro_atomic_t a_int,
int  n 
) [static]

Substract n from a_int and test for zero

Definition at line 40 of file rtt/os/oro_gcc/oro_arch.h.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines


rtt
Author(s): RTT Developers
autogenerated on Fri Jan 11 09:47:09 2013