FFmpeg
|
#include <atomic.h>
#include <mbarrier.h>
#include <stddef.h>
#include <stdint.h>
Go to the source code of this file.
Macros | |
#define | ATOMIC_FLAG_INIT 0 |
#define | ATOMIC_VAR_INIT(value) (value) |
#define | atomic_init(obj, value) |
#define | kill_dependency(y) ((void)0) |
#define | atomic_thread_fence(order) __machine_rw_barrier(); |
#define | atomic_signal_fence(order) ((void)0) |
#define | atomic_is_lock_free(obj) 0 |
#define | atomic_store_explicit(object, desired, order) atomic_store(object, desired) |
#define | atomic_load_explicit(object, order) atomic_load(object) |
#define | atomic_exchange(object, desired) atomic_swap_ptr(object, desired) |
#define | atomic_exchange_explicit(object, desired, order) atomic_exchange(object, desired) |
#define | atomic_compare_exchange_strong_explicit(object, expected, desired, success, failure) atomic_compare_exchange_strong(object, expected, desired) |
#define | atomic_compare_exchange_weak(object, expected, desired) atomic_compare_exchange_strong(object, expected, desired) |
#define | atomic_compare_exchange_weak_explicit(object, expected, desired, success, failure) atomic_compare_exchange_weak(object, expected, desired) |
#define | atomic_fetch_sub(object, operand) atomic_fetch_add(object, -(operand)) |
#define | atomic_fetch_add_explicit(object, operand, order) atomic_fetch_add(object, operand) |
#define | atomic_fetch_sub_explicit(object, operand, order) atomic_fetch_sub(object, operand) |
#define | atomic_fetch_or_explicit(object, operand, order) atomic_fetch_or(object, operand) |
#define | atomic_fetch_xor_explicit(object, operand, order) atomic_fetch_xor(object, operand) |
#define | atomic_fetch_and_explicit(object, operand, order) atomic_fetch_and(object, operand) |
#define | atomic_flag_test_and_set(object) atomic_exchange(object, 1) |
#define | atomic_flag_test_and_set_explicit(object, order) atomic_flag_test_and_set(object) |
#define | atomic_flag_clear(object) atomic_store(object, 0) |
#define | atomic_flag_clear_explicit(object, order) atomic_flag_clear(object) |
Typedefs | |
typedef intptr_t | atomic_flag |
typedef intptr_t | atomic_bool |
typedef intptr_t | atomic_char |
typedef intptr_t | atomic_schar |
typedef intptr_t | atomic_uchar |
typedef intptr_t | atomic_short |
typedef intptr_t | atomic_ushort |
typedef intptr_t | atomic_int |
typedef intptr_t | atomic_uint |
typedef intptr_t | atomic_long |
typedef intptr_t | atomic_ulong |
typedef intptr_t | atomic_llong |
typedef intptr_t | atomic_ullong |
typedef intptr_t | atomic_wchar_t |
typedef intptr_t | atomic_int_least8_t |
typedef intptr_t | atomic_uint_least8_t |
typedef intptr_t | atomic_int_least16_t |
typedef intptr_t | atomic_uint_least16_t |
typedef intptr_t | atomic_int_least32_t |
typedef intptr_t | atomic_uint_least32_t |
typedef intptr_t | atomic_int_least64_t |
typedef intptr_t | atomic_uint_least64_t |
typedef intptr_t | atomic_int_fast8_t |
typedef intptr_t | atomic_uint_fast8_t |
typedef intptr_t | atomic_int_fast16_t |
typedef intptr_t | atomic_uint_fast16_t |
typedef intptr_t | atomic_int_fast32_t |
typedef intptr_t | atomic_uint_fast32_t |
typedef intptr_t | atomic_int_fast64_t |
typedef intptr_t | atomic_uint_fast64_t |
typedef intptr_t | atomic_intptr_t |
typedef intptr_t | atomic_uintptr_t |
typedef intptr_t | atomic_size_t |
typedef intptr_t | atomic_ptrdiff_t |
typedef intptr_t | atomic_intmax_t |
typedef intptr_t | atomic_uintmax_t |
Functions | |
static void | atomic_store (intptr_t *object, intptr_t desired) |
static intptr_t | atomic_load (intptr_t *object) |
static int | atomic_compare_exchange_strong (intptr_t *object, intptr_t *expected, intptr_t desired) |
static intptr_t | atomic_fetch_add (intptr_t *object, intptr_t operand) |
static intptr_t | atomic_fetch_or (intptr_t *object, intptr_t operand) |
static intptr_t | atomic_fetch_xor (intptr_t *object, intptr_t operand) |
static intptr_t | atomic_fetch_and (intptr_t *object, intptr_t operand) |
#define ATOMIC_FLAG_INIT 0 |
Definition at line 27 of file stdatomic.h.
Definition at line 29 of file stdatomic.h.
#define atomic_init | ( | obj, | |
value | |||
) |
Definition at line 31 of file stdatomic.h.
#define kill_dependency | ( | y | ) | ((void)0) |
Definition at line 36 of file stdatomic.h.
#define atomic_thread_fence | ( | order | ) | __machine_rw_barrier(); |
Definition at line 38 of file stdatomic.h.
#define atomic_signal_fence | ( | order | ) | ((void)0) |
Definition at line 41 of file stdatomic.h.
#define atomic_is_lock_free | ( | obj | ) | 0 |
Definition at line 44 of file stdatomic.h.
#define atomic_store_explicit | ( | object, | |
desired, | |||
order | |||
) | atomic_store(object, desired) |
Definition at line 89 of file stdatomic.h.
#define atomic_load_explicit | ( | object, | |
order | |||
) | atomic_load(object) |
Definition at line 98 of file stdatomic.h.
#define atomic_exchange | ( | object, | |
desired | |||
) | atomic_swap_ptr(object, desired) |
Definition at line 101 of file stdatomic.h.
#define atomic_exchange_explicit | ( | object, | |
desired, | |||
order | |||
) | atomic_exchange(object, desired) |
Definition at line 104 of file stdatomic.h.
#define atomic_compare_exchange_strong_explicit | ( | object, | |
expected, | |||
desired, | |||
success, | |||
failure | |||
) | atomic_compare_exchange_strong(object, expected, desired) |
Definition at line 115 of file stdatomic.h.
#define atomic_compare_exchange_weak | ( | object, | |
expected, | |||
desired | |||
) | atomic_compare_exchange_strong(object, expected, desired) |
Definition at line 118 of file stdatomic.h.
#define atomic_compare_exchange_weak_explicit | ( | object, | |
expected, | |||
desired, | |||
success, | |||
failure | |||
) | atomic_compare_exchange_weak(object, expected, desired) |
Definition at line 121 of file stdatomic.h.
#define atomic_fetch_sub | ( | object, | |
operand | |||
) | atomic_fetch_add(object, -(operand)) |
Definition at line 129 of file stdatomic.h.
#define atomic_fetch_add_explicit | ( | object, | |
operand, | |||
order | |||
) | atomic_fetch_add(object, operand) |
Definition at line 159 of file stdatomic.h.
#define atomic_fetch_sub_explicit | ( | object, | |
operand, | |||
order | |||
) | atomic_fetch_sub(object, operand) |
Definition at line 162 of file stdatomic.h.
#define atomic_fetch_or_explicit | ( | object, | |
operand, | |||
order | |||
) | atomic_fetch_or(object, operand) |
Definition at line 165 of file stdatomic.h.
#define atomic_fetch_xor_explicit | ( | object, | |
operand, | |||
order | |||
) | atomic_fetch_xor(object, operand) |
Definition at line 168 of file stdatomic.h.
#define atomic_fetch_and_explicit | ( | object, | |
operand, | |||
order | |||
) | atomic_fetch_and(object, operand) |
Definition at line 171 of file stdatomic.h.
#define atomic_flag_test_and_set | ( | object | ) | atomic_exchange(object, 1) |
Definition at line 174 of file stdatomic.h.
#define atomic_flag_test_and_set_explicit | ( | object, | |
order | |||
) | atomic_flag_test_and_set(object) |
Definition at line 177 of file stdatomic.h.
#define atomic_flag_clear | ( | object | ) | atomic_store(object, 0) |
Definition at line 180 of file stdatomic.h.
#define atomic_flag_clear_explicit | ( | object, | |
order | |||
) | atomic_flag_clear(object) |
Definition at line 183 of file stdatomic.h.
typedef intptr_t atomic_flag |
Definition at line 46 of file stdatomic.h.
typedef intptr_t atomic_bool |
Definition at line 47 of file stdatomic.h.
typedef intptr_t atomic_char |
Definition at line 48 of file stdatomic.h.
typedef intptr_t atomic_schar |
Definition at line 49 of file stdatomic.h.
typedef intptr_t atomic_uchar |
Definition at line 50 of file stdatomic.h.
typedef intptr_t atomic_short |
Definition at line 51 of file stdatomic.h.
typedef intptr_t atomic_ushort |
Definition at line 52 of file stdatomic.h.
typedef intptr_t atomic_int |
Definition at line 53 of file stdatomic.h.
typedef intptr_t atomic_uint |
Definition at line 54 of file stdatomic.h.
typedef intptr_t atomic_long |
Definition at line 55 of file stdatomic.h.
typedef intptr_t atomic_ulong |
Definition at line 56 of file stdatomic.h.
typedef intptr_t atomic_llong |
Definition at line 57 of file stdatomic.h.
typedef intptr_t atomic_ullong |
Definition at line 58 of file stdatomic.h.
typedef intptr_t atomic_wchar_t |
Definition at line 59 of file stdatomic.h.
typedef intptr_t atomic_int_least8_t |
Definition at line 60 of file stdatomic.h.
typedef intptr_t atomic_uint_least8_t |
Definition at line 61 of file stdatomic.h.
typedef intptr_t atomic_int_least16_t |
Definition at line 62 of file stdatomic.h.
typedef intptr_t atomic_uint_least16_t |
Definition at line 63 of file stdatomic.h.
typedef intptr_t atomic_int_least32_t |
Definition at line 64 of file stdatomic.h.
typedef intptr_t atomic_uint_least32_t |
Definition at line 65 of file stdatomic.h.
typedef intptr_t atomic_int_least64_t |
Definition at line 66 of file stdatomic.h.
typedef intptr_t atomic_uint_least64_t |
Definition at line 67 of file stdatomic.h.
typedef intptr_t atomic_int_fast8_t |
Definition at line 68 of file stdatomic.h.
typedef intptr_t atomic_uint_fast8_t |
Definition at line 69 of file stdatomic.h.
typedef intptr_t atomic_int_fast16_t |
Definition at line 70 of file stdatomic.h.
typedef intptr_t atomic_uint_fast16_t |
Definition at line 71 of file stdatomic.h.
typedef intptr_t atomic_int_fast32_t |
Definition at line 72 of file stdatomic.h.
typedef intptr_t atomic_uint_fast32_t |
Definition at line 73 of file stdatomic.h.
typedef intptr_t atomic_int_fast64_t |
Definition at line 74 of file stdatomic.h.
typedef intptr_t atomic_uint_fast64_t |
Definition at line 75 of file stdatomic.h.
typedef intptr_t atomic_intptr_t |
Definition at line 76 of file stdatomic.h.
typedef intptr_t atomic_uintptr_t |
Definition at line 77 of file stdatomic.h.
typedef intptr_t atomic_size_t |
Definition at line 78 of file stdatomic.h.
typedef intptr_t atomic_ptrdiff_t |
Definition at line 79 of file stdatomic.h.
typedef intptr_t atomic_intmax_t |
Definition at line 80 of file stdatomic.h.
typedef intptr_t atomic_uintmax_t |
Definition at line 81 of file stdatomic.h.
|
inlinestatic |
Definition at line 83 of file stdatomic.h.
|
inlinestatic |
Definition at line 92 of file stdatomic.h.
Referenced by atomic_fetch_and(), atomic_fetch_or(), and atomic_fetch_xor().
|
inlinestatic |
Definition at line 107 of file stdatomic.h.
Referenced by atomic_fetch_and(), atomic_fetch_or(), and atomic_fetch_xor().
|
inlinestatic |
Definition at line 124 of file stdatomic.h.
|
inlinestatic |
Definition at line 132 of file stdatomic.h.
|
inlinestatic |
Definition at line 141 of file stdatomic.h.
|
inlinestatic |
Definition at line 150 of file stdatomic.h.