1 #include <bindings.dsl.h>
2 #include <apr_atomic.h>
4 module Bindings.APR.Atomic where
7 import Bindings.APR.ErrNo
8 import Bindings.APR.Pools
10 #ccall apr_atomic_init, Ptr <apr_pool_t> -> IO <apr_status_t>
12 #ccall apr_atomic_read32, Ptr <apr_uint32_t> -> IO <apr_uint32_t>
13 #ccall apr_atomic_set32 , Ptr <apr_uint32_t> -> <apr_uint32_t> -> IO ()
14 #ccall apr_atomic_add32 , Ptr <apr_uint32_t> -> <apr_uint32_t> -> IO <apr_uint32_t>
15 #ccall apr_atomic_sub32 , Ptr <apr_uint32_t> -> <apr_uint32_t> -> IO ()
16 #ccall apr_atomic_inc32 , Ptr <apr_uint32_t> -> IO <apr_uint32_t>
17 #ccall apr_atomic_dec32 , Ptr <apr_uint32_t> -> IO CInt
18 #ccall apr_atomic_cas32 , Ptr <apr_uint32_t> -> <apr_uint32_t> -> <apr_uint32_t> -> IO <apr_uint32_t>
19 #ccall apr_atomic_xchg32, Ptr <apr_uint32_t> -> <apr_uint32_t> -> IO <apr_uint32_t>
21 #ccall apr_atomic_casptr , Ptr (Ptr ()) -> Ptr () -> Ptr () -> IO (Ptr ())
22 #ccall apr_atomic_xchgptr, Ptr (Ptr ()) -> Ptr () -> IO (Ptr ())