Classes | Macros | Functions
oro_gcc/oro_arch.h File Reference
#include "../../rtt-config.h"
Include dependency graph for oro_gcc/oro_arch.h:

Go to the source code of this file.

Classes

struct  oro_atomic_t
 

Macros

#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__ int oro_atomic_add_return (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__ int oro_atomic_dec_return (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__ int oro_atomic_inc_return (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)
 
static __inline__ int oro_atomic_sub_return (oro_atomic_t *a_int, int n)
 

Macro Definition Documentation

#define ORO_ATOMIC_CLEANUP (   a_int)

Definition at line 54 of file oro_gcc/oro_arch.h.

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

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

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

Definition at line 58 of file oro_gcc/oro_arch.h.

#define ORO_ATOMIC_SETUP   oro_atomic_set

Definition at line 53 of file 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 151 of file 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 63 of file oro_gcc/oro_arch.h.

static __inline__ int oro_atomic_add_return ( oro_atomic_t a_int,
int  n 
)
static

Add n to a_int and return the new value

Definition at line 71 of file oro_gcc/oro_arch.h.

static __inline__ void oro_atomic_dec ( oro_atomic_t a_int)
static

Decrement a_int atomically

Definition at line 119 of file 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 135 of file oro_gcc/oro_arch.h.

static __inline__ int oro_atomic_dec_return ( oro_atomic_t a_int)
static

Decrement a_int atomically and return the new value

Definition at line 127 of file oro_gcc/oro_arch.h.

static __inline__ void oro_atomic_inc ( oro_atomic_t a_int)
static

Increment a_int atomically

Definition at line 103 of file 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 143 of file oro_gcc/oro_arch.h.

static __inline__ int oro_atomic_inc_return ( oro_atomic_t a_int)
static

Increment a_int atomically and return the new value

Definition at line 111 of file oro_gcc/oro_arch.h.

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

Subtract n from a_int

Definition at line 79 of file oro_gcc/oro_arch.h.

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

Subtract n from a_int and test for zero

Definition at line 95 of file oro_gcc/oro_arch.h.

static __inline__ int oro_atomic_sub_return ( oro_atomic_t a_int,
int  n 
)
static

Subtract n from a_int and return the new value

Definition at line 87 of file oro_gcc/oro_arch.h.



rtt
Author(s): RTT Developers
autogenerated on Tue Jun 25 2019 19:33:39