module Bindings.APR.DBM 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.ErrNo
import Bindings.APR.File.Info
import Bindings.APR.Pools
data C'apr_dbm_t = C'apr_dbm_t
data C'apr_datum_t = C'apr_datum_t{
c'apr_datum_t'dptr :: Ptr CChar
,
c'apr_datum_t'dsize :: C'apr_size_t
} deriving (Eq,Show)
instance Storable C'apr_datum_t where
sizeOf _ = 8
alignment = sizeOf
peek p = do
v0 <- peekByteOff p 0
v1 <- peekByteOff p 4
return $ C'apr_datum_t v0 v1
poke p (C'apr_datum_t v0 v1) = do
pokeByteOff p 0 v0
pokeByteOff p 4 v1
return ()
c'APR_DBM_READONLY = 1
c'APR_DBM_READONLY :: (Num a) => a
c'APR_DBM_READWRITE = 2
c'APR_DBM_READWRITE :: (Num a) => a
c'APR_DBM_RWCREATE = 3
c'APR_DBM_RWCREATE :: (Num a) => a
c'APR_DBM_RWTRUNC = 4
c'APR_DBM_RWTRUNC :: (Num a) => a
foreign import ccall "apr_dbm_open_ex" c'apr_dbm_open_ex
:: Ptr (Ptr C'apr_dbm_t) -> Ptr CChar -> Ptr CChar -> C'apr_int32_t -> C'apr_fileperms_t -> Ptr C'apr_pool_t -> IO C'apr_status_t
foreign import ccall "&apr_dbm_open_ex" p'apr_dbm_open_ex
:: FunPtr (Ptr (Ptr C'apr_dbm_t) -> Ptr CChar -> Ptr CChar -> C'apr_int32_t -> C'apr_fileperms_t -> Ptr C'apr_pool_t -> IO C'apr_status_t)
foreign import ccall "apr_dbm_open" c'apr_dbm_open
:: Ptr (Ptr C'apr_dbm_t) -> Ptr CChar -> C'apr_int32_t -> C'apr_fileperms_t -> Ptr C'apr_pool_t -> IO C'apr_status_t
foreign import ccall "&apr_dbm_open" p'apr_dbm_open
:: FunPtr (Ptr (Ptr C'apr_dbm_t) -> Ptr CChar -> C'apr_int32_t -> C'apr_fileperms_t -> Ptr C'apr_pool_t -> IO C'apr_status_t)
foreign import ccall "apr_dbm_close" c'apr_dbm_close
:: Ptr C'apr_dbm_t -> IO ()
foreign import ccall "&apr_dbm_close" p'apr_dbm_close
:: FunPtr (Ptr C'apr_dbm_t -> IO ())
foreign import ccall "inline_apr_dbm_fetch" c'apr_dbm_fetch
:: Ptr C'apr_dbm_t -> Ptr C'apr_datum_t -> Ptr C'apr_datum_t -> IO C'apr_status_t
foreign import ccall "inline_apr_dbm_store" c'apr_dbm_store
:: Ptr C'apr_dbm_t -> Ptr C'apr_datum_t -> Ptr C'apr_datum_t -> IO C'apr_status_t
foreign import ccall "inline_apr_dbm_delete" c'apr_dbm_delete
:: Ptr C'apr_dbm_t -> Ptr C'apr_datum_t -> IO C'apr_status_t
foreign import ccall "inline_apr_dbm_exists" c'apr_dbm_exists
:: Ptr C'apr_dbm_t -> Ptr C'apr_datum_t -> IO CInt
foreign import ccall "apr_dbm_firstkey" c'apr_dbm_firstkey
:: Ptr C'apr_dbm_t -> Ptr C'apr_datum_t -> IO C'apr_status_t
foreign import ccall "&apr_dbm_firstkey" p'apr_dbm_firstkey
:: FunPtr (Ptr C'apr_dbm_t -> Ptr C'apr_datum_t -> IO C'apr_status_t)
foreign import ccall "apr_dbm_nextkey" c'apr_dbm_nextkey
:: Ptr C'apr_dbm_t -> Ptr C'apr_datum_t -> IO C'apr_status_t
foreign import ccall "&apr_dbm_nextkey" p'apr_dbm_nextkey
:: FunPtr (Ptr C'apr_dbm_t -> Ptr C'apr_datum_t -> IO C'apr_status_t)
foreign import ccall "inline_apr_dbm_freedatum" c'apr_dbm_freedatum
:: Ptr C'apr_dbm_t -> Ptr C'apr_datum_t -> IO ()
foreign import ccall "apr_dbm_geterror" c'apr_dbm_geterror
:: Ptr C'apr_dbm_t -> Ptr CInt -> Ptr CChar -> C'apr_size_t -> IO (Ptr CChar)
foreign import ccall "&apr_dbm_geterror" p'apr_dbm_geterror
:: FunPtr (Ptr C'apr_dbm_t -> Ptr CInt -> Ptr CChar -> C'apr_size_t -> IO (Ptr CChar))
foreign import ccall "apr_dbm_get_usednames_ex" c'apr_dbm_get_usednames_ex
:: Ptr C'apr_pool_t -> Ptr CChar -> Ptr CChar -> Ptr (Ptr CChar) -> Ptr (Ptr CChar) -> IO C'apr_status_t
foreign import ccall "&apr_dbm_get_usednames_ex" p'apr_dbm_get_usednames_ex
:: FunPtr (Ptr C'apr_pool_t -> Ptr CChar -> Ptr CChar -> Ptr (Ptr CChar) -> Ptr (Ptr CChar) -> IO C'apr_status_t)
foreign import ccall "apr_dbm_get_usednames" c'apr_dbm_get_usednames
:: Ptr C'apr_pool_t -> Ptr CChar -> Ptr (Ptr CChar) -> Ptr (Ptr CChar) -> IO ()
foreign import ccall "&apr_dbm_get_usednames" p'apr_dbm_get_usednames
:: FunPtr (Ptr C'apr_pool_t -> Ptr CChar -> Ptr (Ptr CChar) -> Ptr (Ptr CChar) -> IO ())