1 #include <bindings.dsl.h>
2 #include <apr_anylock.h>
4 module Bindings.APR.AnyLock where
6 import Bindings.APR.ErrNo
7 import Bindings.APR.Proc.Mutex
8 import Bindings.APR.Thread.Mutex
9 import Bindings.APR.Thread.RWLock
11 #synonym_t tm_lock, CInt
13 #num apr_anylock_procmutex
14 #num apr_anylock_readlock
15 #num apr_anylock_writelock
17 #starttype union apr_anylock_u_t
18 # union_field pm, Ptr <apr_proc_mutex_t>
20 # union_field tm, Ptr <apr_thread_mutex_t>
21 # union_field rw, Ptr <apr_thread_rwlock_t>
25 #starttype struct apr_anylock_t
26 #field type, <tm_lock>
27 #field lock, <apr_anylock_u_t>
30 #cinline APR_ANYLOCK_LOCK , Ptr <apr_anylock_t> -> IO <apr_status_t>
31 #cinline APR_ANYLOCK_TRYLOCK, Ptr <apr_anylock_t> -> IO <apr_status_t>
32 #cinline APR_ANYLOCK_UNLOCK , Ptr <apr_anylock_t> -> IO <apr_status_t>