module Bindings.APR.Pools 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
import Bindings.APR
import Bindings.APR.Allocator.Types
import Bindings.APR.ErrNo
data C'apr_pool_t = C'apr_pool_t
c'APR_POOL_DEBUG = 0
c'APR_POOL_DEBUG :: (Num a) => a
type C'apr_abortfunc_t = FunPtr (CInt -> IO CInt)
foreign import ccall "wrapper" mk'apr_abortfunc_t
:: (CInt -> IO CInt) -> IO C'apr_abortfunc_t
foreign import ccall "dynamic" mK'apr_abortfunc_t
:: C'apr_abortfunc_t -> (CInt -> IO CInt)
foreign import ccall "apr_pool_initialize" c'apr_pool_initialize
:: IO C'apr_status_t
foreign import ccall "&apr_pool_initialize" p'apr_pool_initialize
:: FunPtr (IO C'apr_status_t)
foreign import ccall "apr_pool_terminate" c'apr_pool_terminate
:: IO ()
foreign import ccall "&apr_pool_terminate" p'apr_pool_terminate
:: FunPtr (IO ())
foreign import ccall "apr_pool_create_ex" c'apr_pool_create_ex
:: Ptr (Ptr C'apr_pool_t) -> Ptr C'apr_pool_t -> C'apr_abortfunc_t -> Ptr C'apr_allocator_t -> IO C'apr_status_t
foreign import ccall "&apr_pool_create_ex" p'apr_pool_create_ex
:: FunPtr (Ptr (Ptr C'apr_pool_t) -> Ptr C'apr_pool_t -> C'apr_abortfunc_t -> Ptr C'apr_allocator_t -> IO C'apr_status_t)
foreign import ccall "apr_pool_create_core_ex" c'apr_pool_create_core_ex
:: Ptr (Ptr C'apr_pool_t) -> C'apr_abortfunc_t -> Ptr C'apr_allocator_t -> IO C'apr_status_t
foreign import ccall "&apr_pool_create_core_ex" p'apr_pool_create_core_ex
:: FunPtr (Ptr (Ptr C'apr_pool_t) -> C'apr_abortfunc_t -> Ptr C'apr_allocator_t -> IO C'apr_status_t)
foreign import ccall "apr_pool_create_unmanaged_ex" c'apr_pool_create_unmanaged_ex
:: Ptr (Ptr C'apr_pool_t) -> C'apr_abortfunc_t -> Ptr C'apr_allocator_t -> IO C'apr_status_t
foreign import ccall "&apr_pool_create_unmanaged_ex" p'apr_pool_create_unmanaged_ex
:: FunPtr (Ptr (Ptr C'apr_pool_t) -> C'apr_abortfunc_t -> Ptr C'apr_allocator_t -> IO C'apr_status_t)
foreign import ccall "inline_apr_pool_create" c'apr_pool_create
:: Ptr (Ptr C'apr_pool_t) -> Ptr C'apr_pool_t -> IO C'apr_status_t
foreign import ccall "inline_apr_pool_create_core" c'apr_pool_create_core
:: Ptr (Ptr C'apr_pool_t) -> IO C'apr_status_t
foreign import ccall "inline_apr_pool_create_unmanaged" c'apr_pool_create_unmanaged
:: Ptr (Ptr C'apr_pool_t) -> IO C'apr_status_t
foreign import ccall "apr_pool_allocator_get" c'apr_pool_allocator_get
:: Ptr C'apr_pool_t -> IO (Ptr C'apr_allocator_t)
foreign import ccall "&apr_pool_allocator_get" p'apr_pool_allocator_get
:: FunPtr (Ptr C'apr_pool_t -> IO (Ptr C'apr_allocator_t))
foreign import ccall "apr_pool_clear" c'apr_pool_clear
:: Ptr C'apr_pool_t -> IO ()
foreign import ccall "&apr_pool_clear" p'apr_pool_clear
:: FunPtr (Ptr C'apr_pool_t -> IO ())
foreign import ccall "apr_pool_destroy" c'apr_pool_destroy
:: Ptr C'apr_pool_t -> IO ()
foreign import ccall "&apr_pool_destroy" p'apr_pool_destroy
:: FunPtr (Ptr C'apr_pool_t -> IO ())
foreign import ccall "apr_palloc" c'apr_palloc
:: Ptr C'apr_pool_t -> C'apr_size_t -> IO (Ptr ())
foreign import ccall "&apr_palloc" p'apr_palloc
:: FunPtr (Ptr C'apr_pool_t -> C'apr_size_t -> IO (Ptr ()))
foreign import ccall "inline_apr_pcalloc" c'apr_pcalloc
:: Ptr C'apr_pool_t -> C'apr_size_t -> IO (Ptr ())
foreign import ccall "apr_pool_abort_set" c'apr_pool_abort_set
:: C'apr_abortfunc_t -> Ptr C'apr_pool_t -> IO ()
foreign import ccall "&apr_pool_abort_set" p'apr_pool_abort_set
:: FunPtr (C'apr_abortfunc_t -> Ptr C'apr_pool_t -> IO ())
foreign import ccall "apr_pool_abort_get" c'apr_pool_abort_get
:: Ptr C'apr_pool_t -> IO C'apr_abortfunc_t
foreign import ccall "&apr_pool_abort_get" p'apr_pool_abort_get
:: FunPtr (Ptr C'apr_pool_t -> IO C'apr_abortfunc_t)
foreign import ccall "apr_pool_parent_get" c'apr_pool_parent_get
:: Ptr C'apr_pool_t -> IO (Ptr C'apr_pool_t)
foreign import ccall "&apr_pool_parent_get" p'apr_pool_parent_get
:: FunPtr (Ptr C'apr_pool_t -> IO (Ptr C'apr_pool_t))
foreign import ccall "apr_pool_is_ancestor" c'apr_pool_is_ancestor
:: Ptr C'apr_pool_t -> Ptr C'apr_pool_t -> IO CInt
foreign import ccall "&apr_pool_is_ancestor" p'apr_pool_is_ancestor
:: FunPtr (Ptr C'apr_pool_t -> Ptr C'apr_pool_t -> IO CInt)
foreign import ccall "apr_pool_tag" c'apr_pool_tag
:: Ptr C'apr_pool_t -> Ptr CChar -> IO ()
foreign import ccall "&apr_pool_tag" p'apr_pool_tag
:: FunPtr (Ptr C'apr_pool_t -> Ptr CChar -> IO ())
foreign import ccall "apr_pool_userdata_set" c'apr_pool_userdata_set
:: Ptr () -> Ptr CChar -> FunPtr (Ptr () -> IO C'apr_status_t) -> Ptr C'apr_pool_t -> IO C'apr_status_t
foreign import ccall "&apr_pool_userdata_set" p'apr_pool_userdata_set
:: FunPtr (Ptr () -> Ptr CChar -> FunPtr (Ptr () -> IO C'apr_status_t) -> Ptr C'apr_pool_t -> IO C'apr_status_t)
foreign import ccall "apr_pool_userdata_setn" c'apr_pool_userdata_setn
:: Ptr () -> Ptr CChar -> FunPtr (Ptr () -> IO C'apr_status_t) -> Ptr C'apr_pool_t -> IO C'apr_status_t
foreign import ccall "&apr_pool_userdata_setn" p'apr_pool_userdata_setn
:: FunPtr (Ptr () -> Ptr CChar -> FunPtr (Ptr () -> IO C'apr_status_t) -> Ptr C'apr_pool_t -> IO C'apr_status_t)
foreign import ccall "apr_pool_userdata_get" c'apr_pool_userdata_get
:: Ptr (Ptr ()) -> Ptr CChar -> Ptr C'apr_pool_t -> IO C'apr_status_t
foreign import ccall "&apr_pool_userdata_get" p'apr_pool_userdata_get
:: FunPtr (Ptr (Ptr ()) -> Ptr CChar -> Ptr C'apr_pool_t -> IO C'apr_status_t)
foreign import ccall "apr_pool_cleanup_register" c'apr_pool_cleanup_register
:: Ptr C'apr_pool_t -> Ptr () -> FunPtr (Ptr () -> IO C'apr_status_t) -> FunPtr (Ptr () -> IO C'apr_status_t) -> IO ()
foreign import ccall "&apr_pool_cleanup_register" p'apr_pool_cleanup_register
:: FunPtr (Ptr C'apr_pool_t -> Ptr () -> FunPtr (Ptr () -> IO C'apr_status_t) -> FunPtr (Ptr () -> IO C'apr_status_t) -> IO ())
foreign import ccall "apr_pool_pre_cleanup_register" c'apr_pool_pre_cleanup_register
:: Ptr C'apr_pool_t -> Ptr () -> FunPtr (Ptr () -> IO C'apr_status_t) -> IO ()
foreign import ccall "&apr_pool_pre_cleanup_register" p'apr_pool_pre_cleanup_register
:: FunPtr (Ptr C'apr_pool_t -> Ptr () -> FunPtr (Ptr () -> IO C'apr_status_t) -> IO ())
foreign import ccall "apr_pool_cleanup_kill" c'apr_pool_cleanup_kill
:: Ptr C'apr_pool_t -> Ptr () -> FunPtr (Ptr () -> IO C'apr_status_t) -> IO ()
foreign import ccall "&apr_pool_cleanup_kill" p'apr_pool_cleanup_kill
:: FunPtr (Ptr C'apr_pool_t -> Ptr () -> FunPtr (Ptr () -> IO C'apr_status_t) -> IO ())
foreign import ccall "apr_pool_child_cleanup_set" c'apr_pool_child_cleanup_set
:: Ptr C'apr_pool_t -> Ptr () -> FunPtr (Ptr () -> IO C'apr_status_t) -> FunPtr (Ptr () -> IO C'apr_status_t) -> IO ()
foreign import ccall "&apr_pool_child_cleanup_set" p'apr_pool_child_cleanup_set
:: FunPtr (Ptr C'apr_pool_t -> Ptr () -> FunPtr (Ptr () -> IO C'apr_status_t) -> FunPtr (Ptr () -> IO C'apr_status_t) -> IO ())
foreign import ccall "apr_pool_cleanup_run" c'apr_pool_cleanup_run
:: Ptr C'apr_pool_t -> Ptr () -> FunPtr (Ptr () -> IO C'apr_status_t) -> IO C'apr_status_t
foreign import ccall "&apr_pool_cleanup_run" p'apr_pool_cleanup_run
:: FunPtr (Ptr C'apr_pool_t -> Ptr () -> FunPtr (Ptr () -> IO C'apr_status_t) -> IO C'apr_status_t)
foreign import ccall "apr_pool_cleanup_null" c'apr_pool_cleanup_null
:: Ptr () -> IO C'apr_status_t
foreign import ccall "&apr_pool_cleanup_null" p'apr_pool_cleanup_null
:: FunPtr (Ptr () -> IO C'apr_status_t)
foreign import ccall "apr_pool_cleanup_for_exec" c'apr_pool_cleanup_for_exec
:: Ptr () -> IO ()
foreign import ccall "&apr_pool_cleanup_for_exec" p'apr_pool_cleanup_for_exec
:: FunPtr (Ptr () -> IO ())
foreign import ccall "inline_apr_pool_join" c'apr_pool_join
:: Ptr C'apr_pool_t -> Ptr C'apr_pool_t -> IO ()
foreign import ccall "inline_apr_pool_lock" c'apr_pool_lock
:: Ptr C'apr_pool_t -> CInt -> IO ()