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

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

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

module Bindings.APR.RMM 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/RMM.hsc" #-}
import Bindings.APR
import Bindings.APR.AnyLock
import Bindings.APR.ErrNo
import Bindings.APR.Pools

data C'apr_rmm_t = C'apr_rmm_t

{-# LINE 12 "Bindings/APR/RMM.hsc" #-}
type C'apr_rmm_off_t = CUInt

{-# LINE 13 "Bindings/APR/RMM.hsc" #-}

foreign import ccall "apr_rmm_init" c'apr_rmm_init
  :: Ptr (Ptr C'apr_rmm_t) -> Ptr C'apr_anylock_t -> Ptr () -> C'apr_size_t -> Ptr C'apr_pool_t -> IO C'apr_status_t
foreign import ccall "&apr_rmm_init" p'apr_rmm_init
  :: FunPtr (Ptr (Ptr C'apr_rmm_t) -> Ptr C'apr_anylock_t -> Ptr () -> C'apr_size_t -> Ptr C'apr_pool_t -> IO C'apr_status_t)

{-# LINE 15 "Bindings/APR/RMM.hsc" #-}
foreign import ccall "apr_rmm_destroy" c'apr_rmm_destroy
  :: Ptr C'apr_rmm_t -> IO C'apr_status_t
foreign import ccall "&apr_rmm_destroy" p'apr_rmm_destroy
  :: FunPtr (Ptr C'apr_rmm_t -> IO C'apr_status_t)

{-# LINE 16 "Bindings/APR/RMM.hsc" #-}
foreign import ccall "apr_rmm_attach" c'apr_rmm_attach
  :: Ptr (Ptr C'apr_rmm_t) -> Ptr C'apr_anylock_t -> Ptr () -> Ptr C'apr_pool_t -> IO C'apr_status_t
foreign import ccall "&apr_rmm_attach" p'apr_rmm_attach
  :: FunPtr (Ptr (Ptr C'apr_rmm_t) -> Ptr C'apr_anylock_t -> Ptr () -> Ptr C'apr_pool_t -> IO C'apr_status_t)

{-# LINE 17 "Bindings/APR/RMM.hsc" #-}
foreign import ccall "apr_rmm_detach" c'apr_rmm_detach
  :: Ptr C'apr_rmm_t -> IO C'apr_status_t
foreign import ccall "&apr_rmm_detach" p'apr_rmm_detach
  :: FunPtr (Ptr C'apr_rmm_t -> IO C'apr_status_t)

{-# LINE 18 "Bindings/APR/RMM.hsc" #-}
foreign import ccall "apr_rmm_malloc" c'apr_rmm_malloc
  :: Ptr C'apr_rmm_t -> C'apr_size_t -> IO C'apr_rmm_off_t
foreign import ccall "&apr_rmm_malloc" p'apr_rmm_malloc
  :: FunPtr (Ptr C'apr_rmm_t -> C'apr_size_t -> IO C'apr_rmm_off_t)

{-# LINE 19 "Bindings/APR/RMM.hsc" #-}
foreign import ccall "apr_rmm_realloc" c'apr_rmm_realloc
  :: Ptr C'apr_rmm_t -> Ptr () -> C'apr_size_t -> IO C'apr_rmm_off_t
foreign import ccall "&apr_rmm_realloc" p'apr_rmm_realloc
  :: FunPtr (Ptr C'apr_rmm_t -> Ptr () -> C'apr_size_t -> IO C'apr_rmm_off_t)

{-# LINE 20 "Bindings/APR/RMM.hsc" #-}
foreign import ccall "apr_rmm_calloc" c'apr_rmm_calloc
  :: Ptr C'apr_rmm_t -> C'apr_size_t -> IO C'apr_rmm_off_t
foreign import ccall "&apr_rmm_calloc" p'apr_rmm_calloc
  :: FunPtr (Ptr C'apr_rmm_t -> C'apr_size_t -> IO C'apr_rmm_off_t)

{-# LINE 21 "Bindings/APR/RMM.hsc" #-}
foreign import ccall "apr_rmm_free" c'apr_rmm_free
  :: Ptr C'apr_rmm_t -> C'apr_rmm_off_t -> IO C'apr_status_t
foreign import ccall "&apr_rmm_free" p'apr_rmm_free
  :: FunPtr (Ptr C'apr_rmm_t -> C'apr_rmm_off_t -> IO C'apr_status_t)

{-# LINE 22 "Bindings/APR/RMM.hsc" #-}
foreign import ccall "apr_rmm_addr_get" c'apr_rmm_addr_get
  :: Ptr C'apr_rmm_t -> C'apr_rmm_off_t -> IO (Ptr ())
foreign import ccall "&apr_rmm_addr_get" p'apr_rmm_addr_get
  :: FunPtr (Ptr C'apr_rmm_t -> C'apr_rmm_off_t -> IO (Ptr ()))

{-# LINE 23 "Bindings/APR/RMM.hsc" #-}
foreign import ccall "apr_rmm_offset_get" c'apr_rmm_offset_get
  :: Ptr C'apr_rmm_t -> Ptr () -> IO C'apr_rmm_off_t
foreign import ccall "&apr_rmm_offset_get" p'apr_rmm_offset_get
  :: FunPtr (Ptr C'apr_rmm_t -> Ptr () -> IO C'apr_rmm_off_t)

{-# LINE 24 "Bindings/APR/RMM.hsc" #-}
foreign import ccall "apr_rmm_overhead_get" c'apr_rmm_overhead_get
  :: CInt -> IO C'apr_size_t
foreign import ccall "&apr_rmm_overhead_get" p'apr_rmm_overhead_get
  :: FunPtr (CInt -> IO C'apr_size_t)

{-# LINE 25 "Bindings/APR/RMM.hsc" #-}