///|
type AtomicBool
///|
type AtomicInt
///|
type AtomicUInt
///|
extern "C" fn native_atomic_bool_new(value : Bool) -> AtomicBool = "sync_atomic_bool_new"
///|
#borrow(value)
extern "C" fn native_atomic_bool_share(value : AtomicBool) -> AtomicBool = "sync_atomic_bool_share"
///|
#borrow(value)
extern "C" fn native_atomic_bool_load(value : AtomicBool, order : Int) -> Bool = "sync_atomic_bool_load"
///|
#borrow(value)
extern "C" fn native_atomic_bool_store(
value : AtomicBool,
next : Bool,
order : Int,
) -> Unit = "sync_atomic_bool_store"
///|
#borrow(value)
extern "C" fn native_atomic_bool_swap(
value : AtomicBool,
next : Bool,
order : Int,
) -> Bool = "sync_atomic_bool_swap"
///|
#borrow(value)
extern "C" fn native_atomic_bool_compare_exchange(
value : AtomicBool,
current : Bool,
next : Bool,
success : Int,
failure : Int,
) -> UInt64 = "sync_atomic_bool_compare_exchange"
///|
extern "C" fn native_atomic_int_new(value : Int) -> AtomicInt = "sync_atomic_int_new"
///|
#borrow(value)
extern "C" fn native_atomic_int_share(value : AtomicInt) -> AtomicInt = "sync_atomic_int_share"
///|
#borrow(value)
extern "C" fn native_atomic_int_load(value : AtomicInt, order : Int) -> Int = "sync_atomic_int_load"
///|
#borrow(value)
extern "C" fn native_atomic_int_store(
value : AtomicInt,
next : Int,
order : Int,
) -> Unit = "sync_atomic_int_store"
///|
#borrow(value)
extern "C" fn native_atomic_int_swap(
value : AtomicInt,
next : Int,
order : Int,
) -> Int = "sync_atomic_int_swap"
///|
#borrow(value)
extern "C" fn native_atomic_int_compare_exchange(
value : AtomicInt,
current : Int,
next : Int,
success : Int,
failure : Int,
) -> UInt64 = "sync_atomic_int_compare_exchange"
///|
#borrow(value)
extern "C" fn native_atomic_int_fetch_add(
value : AtomicInt,
delta : Int,
order : Int,
) -> Int = "sync_atomic_int_fetch_add"
///|
extern "C" fn native_atomic_uint_new(value : UInt) -> AtomicUInt = "sync_atomic_uint_new"
///|
#borrow(value)
extern "C" fn native_atomic_uint_share(value : AtomicUInt) -> AtomicUInt = "sync_atomic_uint_share"
///|
#borrow(value)
extern "C" fn native_atomic_uint_load(value : AtomicUInt, order : Int) -> UInt = "sync_atomic_uint_load"
///|
#borrow(value)
extern "C" fn native_atomic_uint_store(
value : AtomicUInt,
next : UInt,
order : Int,
) -> Unit = "sync_atomic_uint_store"
///|
#borrow(value)
extern "C" fn native_atomic_uint_swap(
value : AtomicUInt,
next : UInt,
order : Int,
) -> UInt = "sync_atomic_uint_swap"
///|
#borrow(value)
extern "C" fn native_atomic_uint_compare_exchange(
value : AtomicUInt,
current : UInt,
next : UInt,
success : Int,
failure : Int,
) -> UInt64 = "sync_atomic_uint_compare_exchange"
///|
#borrow(value)
extern "C" fn native_atomic_uint_fetch_add(
value : AtomicUInt,
delta : UInt,
order : Int,
) -> UInt = "sync_atomic_uint_fetch_add"