module Bindings.APR.MD4 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.XLate
c'APR_MD4_DIGESTSIZE = 16
c'APR_MD4_DIGESTSIZE :: (Num a) => a
data C'apr_md4_ctx_t = C'apr_md4_ctx_t{
c'apr_md4_ctx_t'state :: [C'apr_uint32_t]
,
c'apr_md4_ctx_t'count :: [C'apr_uint32_t]
,
c'apr_md4_ctx_t'buffer :: [CUChar]
,
c'apr_md4_ctx_t'xlate :: Ptr C'apr_xlate_t
} deriving (Eq,Show)
instance Storable C'apr_md4_ctx_t where
sizeOf _ = 92
alignment = sizeOf
peek p = do
v0 <- peekArray 4 (plusPtr p 0)
v1 <- peekArray 2 (plusPtr p 16)
v2 <- peekArray 64 (plusPtr p 24)
v3 <- peekByteOff p 88
return $ C'apr_md4_ctx_t v0 v1 v2 v3
poke p (C'apr_md4_ctx_t v0 v1 v2 v3) = do
pokeArray (plusPtr p 0) (take 4 v0)
pokeArray (plusPtr p 16) (take 2 v1)
pokeArray (plusPtr p 24) (take 64 v2)
pokeByteOff p 88 v3
return ()
foreign import ccall "apr_md4_init" c'apr_md4_init
:: Ptr C'apr_md4_ctx_t -> IO C'apr_status_t
foreign import ccall "&apr_md4_init" p'apr_md4_init
:: FunPtr (Ptr C'apr_md4_ctx_t -> IO C'apr_status_t)
foreign import ccall "inline_apr_md4_set_xlate" c'apr_md4_set_xlate
:: Ptr C'apr_md4_ctx_t -> Ptr C'apr_xlate_t -> IO C'apr_status_t
foreign import ccall "apr_md4_update" c'apr_md4_update
:: Ptr C'apr_md4_ctx_t -> Ptr CUChar -> C'apr_size_t -> IO C'apr_status_t
foreign import ccall "&apr_md4_update" p'apr_md4_update
:: FunPtr (Ptr C'apr_md4_ctx_t -> Ptr CUChar -> C'apr_size_t -> IO C'apr_status_t)
foreign import ccall "apr_md4_final" c'apr_md4_final
:: Ptr CUChar -> Ptr C'apr_md4_ctx_t -> IO C'apr_status_t
foreign import ccall "&apr_md4_final" p'apr_md4_final
:: FunPtr (Ptr CUChar -> Ptr C'apr_md4_ctx_t -> IO C'apr_status_t)
foreign import ccall "apr_md4" c'apr_md4
:: Ptr CUChar -> Ptr CUChar -> C'apr_size_t -> IO C'apr_status_t
foreign import ccall "&apr_md4" p'apr_md4
:: FunPtr (Ptr CUChar -> Ptr CUChar -> C'apr_size_t -> IO C'apr_status_t)