From 2a003671da88d28ab5130d4ccdaa6c1c5af8b03c Mon Sep 17 00:00:00 2001 From: PHO Date: Thu, 19 Aug 2010 22:38:35 +0900 Subject: [PATCH] Bindings.APR.Global.Mutex --- Bindings/APR/Global/Mutex.hsc | 60 +++++++++++++++++++++++++++++++++++ bindings-apr.cabal | 1 + 2 files changed, 61 insertions(+) create mode 100644 Bindings/APR/Global/Mutex.hsc diff --git a/Bindings/APR/Global/Mutex.hsc b/Bindings/APR/Global/Mutex.hsc new file mode 100644 index 0000000..fc19af7 --- /dev/null +++ b/Bindings/APR/Global/Mutex.hsc @@ -0,0 +1,60 @@ +#include +#include + +module Bindings.APR.Global.Mutex where +#strict_import +import Bindings.APR.ErrNo +import Bindings.APR.Pools +import Bindings.APR.Proc.Mutex + +#if !APR_PROC_MUTEX_IS_GLOBAL + +# opaque_t apr_global_mutex_t + +# ccall apr_global_mutex_create , Ptr (Ptr ) -> Ptr CChar -> -> Ptr -> IO +# ccall apr_global_mutex_child_init, Ptr (Ptr ) -> Ptr CChar -> Ptr -> IO +# ccall apr_global_mutex_lock , Ptr -> IO +# ccall apr_global_mutex_trylock , Ptr -> IO +# ccall apr_global_mutex_unlock , Ptr -> IO +# ccall apr_global_mutex_destroy , Ptr -> IO + +# ccall apr_global_mutex_pool_get , Ptr -> IO (Ptr ) + +#else + +# synonym_t apr_global_mutex_t, + +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 +c'apr_global_mutex_create = c'apr_proc_mutex_create + +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 +c'apr_global_mutex_child_init = c'apr_proc_mutex_child_init + +c'apr_global_mutex_lock :: Ptr C'apr_global_mutex_t -> IO C'apr_status_t +c'apr_global_mutex_lock = c'apr_proc_mutex_lock + +c'apr_global_mutex_trylock :: Ptr C'apr_global_mutex_t -> IO C'apr_status_t +c'apr_global_mutex_trylock = c'apr_proc_mutex_trylock + +c'apr_global_mutex_unlock :: Ptr C'apr_global_mutex_t -> IO C'apr_status_t +c'apr_global_mutex_unlock = c'apr_proc_mutex_unlock + +c'apr_global_mutex_destroy :: Ptr C'apr_global_mutex_t -> IO C'apr_status_t +c'apr_global_mutex_destroy = c'apr_proc_mutex_destroy + +c'apr_global_mutex_cleanup :: Ptr () -> IO C'apr_status_t +c'apr_global_mutex_cleanup = c'apr_proc_mutex_cleanup + +c'apr_global_mutex_lockfile :: Ptr C'apr_global_mutex_t -> IO (Ptr CChar) +c'apr_global_mutex_lockfile = c'apr_proc_mutex_lockfile + +c'apr_global_mutex_name :: Ptr C'apr_global_mutex_t -> IO (Ptr CChar) +c'apr_global_mutex_name = c'apr_proc_mutex_name + +c'apr_global_mutex_defname :: IO (Ptr CChar) +c'apr_global_mutex_defname = c'apr_proc_mutex_defname + +c'apr_global_mutex_pool_get :: Ptr C'apr_global_mutex_t -> IO (Ptr C'apr_pool_t) +c'apr_global_mutex_pool_get = c'apr_proc_mutex_pool_get + +#endif diff --git a/bindings-apr.cabal b/bindings-apr.cabal index 3969e4b..d828489 100644 --- a/bindings-apr.cabal +++ b/bindings-apr.cabal @@ -42,6 +42,7 @@ Library Bindings.APR.FNMatch Bindings.APR.General Bindings.APR.GetOpt + Bindings.APR.Global.Mutex Bindings.APR.Pools Bindings.APR.Proc.Mutex Bindings.APR.Tables -- 2.40.0