{-# LINE 1 "Bindings/APR/Global/Mutex.hsc" #-}

{-# LINE 2 "Bindings/APR/Global/Mutex.hsc" #-}

{-# LINE 3 "Bindings/APR/Global/Mutex.hsc" #-}

module Bindings.APR.Global.Mutex where
import Foreign.Ptr (Ptr,FunPtr,plusPtr)
import Foreign.Ptr (wordPtrToPtr,castPtrToFunPtr)
import Foreign.Storable
import Foreign.C.Types
import Foreign.C.String (CString,CStringLen,CWString,CWStringLen)
import Foreign.Marshal.Alloc (alloca)
import Foreign.Marshal.Array (peekArray,pokeArray)
import Data.Int
import Data.Word

{-# LINE 6 "Bindings/APR/Global/Mutex.hsc" #-}
import Bindings.APR.ErrNo
import Bindings.APR.Pools
import Bindings.APR.Proc.Mutex

data C'apr_global_mutex_t = C'apr_global_mutex_t

{-# LINE 11 "Bindings/APR/Global/Mutex.hsc" #-}

foreign import ccall "inline_apr_global_mutex_create" c'apr_global_mutex_create
  :: Ptr (Ptr C'apr_global_mutex_t) -> Ptr CChar -> C'apr_lockmech_e -> Ptr C'apr_pool_t -> IO C'apr_status_t

{-# LINE 13 "Bindings/APR/Global/Mutex.hsc" #-}
foreign import ccall "inline_apr_global_mutex_child_init" c'apr_global_mutex_child_init
  :: Ptr (Ptr C'apr_global_mutex_t) -> Ptr CChar -> Ptr C'apr_pool_t -> IO C'apr_status_t

{-# LINE 14 "Bindings/APR/Global/Mutex.hsc" #-}
foreign import ccall "inline_apr_global_mutex_lock" c'apr_global_mutex_lock
  :: Ptr C'apr_global_mutex_t -> IO C'apr_status_t

{-# LINE 15 "Bindings/APR/Global/Mutex.hsc" #-}
foreign import ccall "inline_apr_global_mutex_trylock" c'apr_global_mutex_trylock
  :: Ptr C'apr_global_mutex_t -> IO C'apr_status_t

{-# LINE 16 "Bindings/APR/Global/Mutex.hsc" #-}
foreign import ccall "inline_apr_global_mutex_unlock" c'apr_global_mutex_unlock
  :: Ptr C'apr_global_mutex_t -> IO C'apr_status_t

{-# LINE 17 "Bindings/APR/Global/Mutex.hsc" #-}
foreign import ccall "inline_apr_global_mutex_destroy" c'apr_global_mutex_destroy
  :: Ptr C'apr_global_mutex_t -> IO C'apr_status_t

{-# LINE 18 "Bindings/APR/Global/Mutex.hsc" #-}

foreign import ccall "inline_apr_global_mutex_pool_get" c'apr_global_mutex_pool_get
  :: Ptr C'apr_global_mutex_t -> IO (Ptr C'apr_pool_t)

{-# LINE 20 "Bindings/APR/Global/Mutex.hsc" #-}