#include #include module Bindings.APR.AnyLock where #strict_import import Bindings.APR.ErrNo import Bindings.APR.Proc.Mutex import Bindings.APR.Thread.Mutex import Bindings.APR.Thread.RWLock #synonym_t tm_lock, CInt #num apr_anylock_none #num apr_anylock_procmutex #num apr_anylock_readlock #num apr_anylock_writelock #starttype union apr_anylock_u_t # union_field pm, Ptr # if APR_HAS_THREADS # union_field tm, Ptr # union_field rw, Ptr # endif #stoptype #starttype struct apr_anylock_t #field type, #field lock, #stoptype #cinline APR_ANYLOCK_LOCK , Ptr -> IO #cinline APR_ANYLOCK_TRYLOCK, Ptr -> IO #cinline APR_ANYLOCK_UNLOCK , Ptr -> IO