ReactOS 0.4.16-dev-1946-g52006dd
atomic.h File Reference
Include dependency graph for atomic.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define UACPI_DO_CMPXCHG(ptr, expected, desired)
 
#define uacpi_atomic_cmpxchg16(ptr, expected, desired)    UACPI_DO_CMPXCHG(ptr, expected, desired)
 
#define uacpi_atomic_cmpxchg32(ptr, expected, desired)    UACPI_DO_CMPXCHG(ptr, expected, desired)
 
#define uacpi_atomic_cmpxchg64(ptr, expected, desired)    UACPI_DO_CMPXCHG(ptr, expected, desired)
 
#define uacpi_atomic_load8(ptr)   __atomic_load_n(ptr, __ATOMIC_ACQUIRE)
 
#define uacpi_atomic_load16(ptr)   __atomic_load_n(ptr, __ATOMIC_ACQUIRE)
 
#define uacpi_atomic_load32(ptr)   __atomic_load_n(ptr, __ATOMIC_ACQUIRE)
 
#define uacpi_atomic_load64(ptr)   __atomic_load_n(ptr, __ATOMIC_ACQUIRE)
 
#define uacpi_atomic_store8(ptr, value)   __atomic_store_n(ptr, value, __ATOMIC_RELEASE)
 
#define uacpi_atomic_store16(ptr, value)   __atomic_store_n(ptr, value, __ATOMIC_RELEASE)
 
#define uacpi_atomic_store32(ptr, value)   __atomic_store_n(ptr, value, __ATOMIC_RELEASE)
 
#define uacpi_atomic_store64(ptr, value)   __atomic_store_n(ptr, value, __ATOMIC_RELEASE)
 
#define uacpi_atomic_inc16(ptr)   __atomic_add_fetch(ptr, 1, __ATOMIC_ACQ_REL)
 
#define uacpi_atomic_inc32(ptr)   __atomic_add_fetch(ptr, 1, __ATOMIC_ACQ_REL)
 
#define uacpi_atomic_inc64(ptr)   __atomic_add_fetch(ptr, 1, __ATOMIC_ACQ_REL)
 
#define uacpi_atomic_dec16(ptr)   __atomic_sub_fetch(ptr, 1, __ATOMIC_ACQ_REL)
 
#define uacpi_atomic_dec32(ptr)   __atomic_sub_fetch(ptr, 1, __ATOMIC_ACQ_REL)
 
#define uacpi_atomic_dec64(ptr)   __atomic_sub_fetch(ptr, 1, __ATOMIC_ACQ_REL)
 
#define uacpi_atomic_load_ptr(ptr_to_ptr)   uacpi_atomic_load64(ptr_to_ptr)
 
#define uacpi_atomic_store_ptr(ptr_to_ptr, value)   uacpi_atomic_store64(ptr_to_ptr, value)
 

Macro Definition Documentation

◆ uacpi_atomic_cmpxchg16

#define uacpi_atomic_cmpxchg16 (   ptr,
  expected,
  desired 
)     UACPI_DO_CMPXCHG(ptr, expected, desired)

Definition at line 95 of file atomic.h.

◆ uacpi_atomic_cmpxchg32

#define uacpi_atomic_cmpxchg32 (   ptr,
  expected,
  desired 
)     UACPI_DO_CMPXCHG(ptr, expected, desired)

Definition at line 97 of file atomic.h.

◆ uacpi_atomic_cmpxchg64

#define uacpi_atomic_cmpxchg64 (   ptr,
  expected,
  desired 
)     UACPI_DO_CMPXCHG(ptr, expected, desired)

Definition at line 99 of file atomic.h.

◆ uacpi_atomic_dec16

#define uacpi_atomic_dec16 (   ptr)    __atomic_sub_fetch(ptr, 1, __ATOMIC_ACQ_REL)

Definition at line 116 of file atomic.h.

◆ uacpi_atomic_dec32

#define uacpi_atomic_dec32 (   ptr)    __atomic_sub_fetch(ptr, 1, __ATOMIC_ACQ_REL)

Definition at line 117 of file atomic.h.

◆ uacpi_atomic_dec64

#define uacpi_atomic_dec64 (   ptr)    __atomic_sub_fetch(ptr, 1, __ATOMIC_ACQ_REL)

Definition at line 118 of file atomic.h.

◆ uacpi_atomic_inc16

#define uacpi_atomic_inc16 (   ptr)    __atomic_add_fetch(ptr, 1, __ATOMIC_ACQ_REL)

Definition at line 112 of file atomic.h.

◆ uacpi_atomic_inc32

#define uacpi_atomic_inc32 (   ptr)    __atomic_add_fetch(ptr, 1, __ATOMIC_ACQ_REL)

Definition at line 113 of file atomic.h.

◆ uacpi_atomic_inc64

#define uacpi_atomic_inc64 (   ptr)    __atomic_add_fetch(ptr, 1, __ATOMIC_ACQ_REL)

Definition at line 114 of file atomic.h.

◆ uacpi_atomic_load16

#define uacpi_atomic_load16 (   ptr)    __atomic_load_n(ptr, __ATOMIC_ACQUIRE)

Definition at line 103 of file atomic.h.

◆ uacpi_atomic_load32

#define uacpi_atomic_load32 (   ptr)    __atomic_load_n(ptr, __ATOMIC_ACQUIRE)

Definition at line 104 of file atomic.h.

◆ uacpi_atomic_load64

#define uacpi_atomic_load64 (   ptr)    __atomic_load_n(ptr, __ATOMIC_ACQUIRE)

Definition at line 105 of file atomic.h.

◆ uacpi_atomic_load8

#define uacpi_atomic_load8 (   ptr)    __atomic_load_n(ptr, __ATOMIC_ACQUIRE)

Definition at line 102 of file atomic.h.

◆ uacpi_atomic_load_ptr

#define uacpi_atomic_load_ptr (   ptr_to_ptr)    uacpi_atomic_load64(ptr_to_ptr)

Definition at line 125 of file atomic.h.

◆ uacpi_atomic_store16

#define uacpi_atomic_store16 (   ptr,
  value 
)    __atomic_store_n(ptr, value, __ATOMIC_RELEASE)

Definition at line 108 of file atomic.h.

◆ uacpi_atomic_store32

#define uacpi_atomic_store32 (   ptr,
  value 
)    __atomic_store_n(ptr, value, __ATOMIC_RELEASE)

Definition at line 109 of file atomic.h.

◆ uacpi_atomic_store64

#define uacpi_atomic_store64 (   ptr,
  value 
)    __atomic_store_n(ptr, value, __ATOMIC_RELEASE)

Definition at line 110 of file atomic.h.

◆ uacpi_atomic_store8

#define uacpi_atomic_store8 (   ptr,
  value 
)    __atomic_store_n(ptr, value, __ATOMIC_RELEASE)

Definition at line 107 of file atomic.h.

◆ uacpi_atomic_store_ptr

#define uacpi_atomic_store_ptr (   ptr_to_ptr,
  value 
)    uacpi_atomic_store64(ptr_to_ptr, value)

Definition at line 126 of file atomic.h.

◆ UACPI_DO_CMPXCHG

#define UACPI_DO_CMPXCHG (   ptr,
  expected,
  desired 
)
Value:
__atomic_compare_exchange_n(ptr, expected, desired, 0, \
__ATOMIC_ACQ_REL, __ATOMIC_ACQUIRE)
int desired
Definition: jpeglib.h:1119
static PVOID ptr
Definition: dispmode.c:27
BOOL expected
Definition: store.c:2000

Definition at line 91 of file atomic.h.