module Bindings.APR.Hash 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.Pools
c'APR_HASH_KEY_STRING = 1
c'APR_HASH_KEY_STRING :: (Num a) => a
data C'apr_hash_t = C'apr_hash_t
data C'apr_hash_index_t = C'apr_hash_index_t
type C'apr_hashfunc_t = FunPtr (Ptr CChar -> Ptr C'apr_ssize_t -> IO CUInt)
foreign import ccall "wrapper" mk'apr_hashfunc_t
:: (Ptr CChar -> Ptr C'apr_ssize_t -> IO CUInt) -> IO C'apr_hashfunc_t
foreign import ccall "dynamic" mK'apr_hashfunc_t
:: C'apr_hashfunc_t -> (Ptr CChar -> Ptr C'apr_ssize_t -> IO CUInt)
foreign import ccall "apr_hashfunc_default" c'apr_hashfunc_default
:: Ptr CChar -> Ptr C'apr_ssize_t -> IO CUInt
foreign import ccall "&apr_hashfunc_default" p'apr_hashfunc_default
:: FunPtr (Ptr CChar -> Ptr C'apr_ssize_t -> IO CUInt)
foreign import ccall "apr_hash_make" c'apr_hash_make
:: Ptr C'apr_pool_t -> IO (Ptr C'apr_hash_t)
foreign import ccall "&apr_hash_make" p'apr_hash_make
:: FunPtr (Ptr C'apr_pool_t -> IO (Ptr C'apr_hash_t))
foreign import ccall "apr_hash_make_custom" c'apr_hash_make_custom
:: Ptr C'apr_hash_t -> C'apr_hashfunc_t -> IO (Ptr C'apr_hash_t)
foreign import ccall "&apr_hash_make_custom" p'apr_hash_make_custom
:: FunPtr (Ptr C'apr_hash_t -> C'apr_hashfunc_t -> IO (Ptr C'apr_hash_t))
foreign import ccall "apr_hash_copy" c'apr_hash_copy
:: Ptr C'apr_pool_t -> Ptr C'apr_hash_t -> IO (Ptr C'apr_hash_t)
foreign import ccall "&apr_hash_copy" p'apr_hash_copy
:: FunPtr (Ptr C'apr_pool_t -> Ptr C'apr_hash_t -> IO (Ptr C'apr_hash_t))
foreign import ccall "apr_hash_set" c'apr_hash_set
:: Ptr C'apr_hash_t -> Ptr () -> C'apr_ssize_t -> Ptr () -> IO ()
foreign import ccall "&apr_hash_set" p'apr_hash_set
:: FunPtr (Ptr C'apr_hash_t -> Ptr () -> C'apr_ssize_t -> Ptr () -> IO ())
foreign import ccall "apr_hash_get" c'apr_hash_get
:: Ptr C'apr_hash_t -> Ptr () -> C'apr_ssize_t -> IO (Ptr ())
foreign import ccall "&apr_hash_get" p'apr_hash_get
:: FunPtr (Ptr C'apr_hash_t -> Ptr () -> C'apr_ssize_t -> IO (Ptr ()))
foreign import ccall "apr_hash_first" c'apr_hash_first
:: Ptr C'apr_pool_t -> Ptr C'apr_hash_t -> IO (Ptr C'apr_hash_index_t)
foreign import ccall "&apr_hash_first" p'apr_hash_first
:: FunPtr (Ptr C'apr_pool_t -> Ptr C'apr_hash_t -> IO (Ptr C'apr_hash_index_t))
foreign import ccall "apr_hash_next" c'apr_hash_next
:: Ptr C'apr_hash_index_t -> IO (Ptr C'apr_hash_index_t)
foreign import ccall "&apr_hash_next" p'apr_hash_next
:: FunPtr (Ptr C'apr_hash_index_t -> IO (Ptr C'apr_hash_index_t))
foreign import ccall "apr_hash_this" c'apr_hash_this
:: Ptr C'apr_hash_index_t -> Ptr (Ptr ()) -> Ptr C'apr_ssize_t -> Ptr (Ptr ()) -> IO ()
foreign import ccall "&apr_hash_this" p'apr_hash_this
:: FunPtr (Ptr C'apr_hash_index_t -> Ptr (Ptr ()) -> Ptr C'apr_ssize_t -> Ptr (Ptr ()) -> IO ())
foreign import ccall "apr_hash_count" c'apr_hash_count
:: Ptr C'apr_hash_t -> IO CUInt
foreign import ccall "&apr_hash_count" p'apr_hash_count
:: FunPtr (Ptr C'apr_hash_t -> IO CUInt)
foreign import ccall "apr_hash_clear" c'apr_hash_clear
:: Ptr C'apr_hash_t -> IO ()
foreign import ccall "&apr_hash_clear" p'apr_hash_clear
:: FunPtr (Ptr C'apr_hash_t -> IO ())
foreign import ccall "apr_hash_overlay" c'apr_hash_overlay
:: Ptr C'apr_pool_t -> Ptr C'apr_hash_t -> Ptr C'apr_hash_t -> IO (Ptr C'apr_hash_t)
foreign import ccall "&apr_hash_overlay" p'apr_hash_overlay
:: FunPtr (Ptr C'apr_pool_t -> Ptr C'apr_hash_t -> Ptr C'apr_hash_t -> IO (Ptr C'apr_hash_t))
foreign import ccall "apr_hash_merge" c'apr_hash_merge
:: Ptr C'apr_pool_t -> Ptr C'apr_hash_t -> Ptr C'apr_hash_t -> FunPtr (Ptr C'apr_pool_t -> Ptr () -> C'apr_ssize_t -> Ptr () -> Ptr () -> Ptr () -> IO (Ptr ())) -> Ptr () -> IO (Ptr C'apr_hash_t)
foreign import ccall "&apr_hash_merge" p'apr_hash_merge
:: FunPtr (Ptr C'apr_pool_t -> Ptr C'apr_hash_t -> Ptr C'apr_hash_t -> FunPtr (Ptr C'apr_pool_t -> Ptr () -> C'apr_ssize_t -> Ptr () -> Ptr () -> Ptr () -> IO (Ptr ())) -> Ptr () -> IO (Ptr C'apr_hash_t))
foreign import ccall "apr_hash_pool_get" c'apr_hash_pool_get
:: Ptr C'apr_hash_t -> IO (Ptr C'apr_pool_t)
foreign import ccall "&apr_hash_pool_get" p'apr_hash_pool_get
:: FunPtr (Ptr C'apr_hash_t -> IO (Ptr C'apr_pool_t))