module Bindings.Nettle.Cipher.ArcTwo 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
c'ARCTWO_BLOCK_SIZE = 8
c'ARCTWO_BLOCK_SIZE :: (Num a) => a
c'ARCTWO_MIN_KEY_SIZE = 1
c'ARCTWO_MIN_KEY_SIZE :: (Num a) => a
c'ARCTWO_MAX_KEY_SIZE = 128
c'ARCTWO_MAX_KEY_SIZE :: (Num a) => a
c'ARCTWO_KEY_SIZE = 8
c'ARCTWO_KEY_SIZE :: (Num a) => a
data C'arctwo_ctx = C'arctwo_ctx{
} deriving (Eq,Show)
instance Storable C'arctwo_ctx where
sizeOf _ = 128
alignment _ = 2
peek p = do
return $ C'arctwo_ctx
poke p (C'arctwo_ctx) = do
return ()
foreign import ccall "nettle_arctwo_set_key_ekb" c'nettle_arctwo_set_key_ekb
:: Ptr C'arctwo_ctx -> CUInt -> Ptr CUChar -> CUInt -> IO ()
foreign import ccall "&nettle_arctwo_set_key_ekb" p'nettle_arctwo_set_key_ekb
:: FunPtr (Ptr C'arctwo_ctx -> CUInt -> Ptr CUChar -> CUInt -> IO ())
foreign import ccall "nettle_arctwo_set_key" c'nettle_arctwo_set_key
:: Ptr C'arctwo_ctx -> CUInt -> Ptr CUChar -> IO ()
foreign import ccall "&nettle_arctwo_set_key" p'nettle_arctwo_set_key
:: FunPtr (Ptr C'arctwo_ctx -> CUInt -> Ptr CUChar -> IO ())
foreign import ccall "nettle_arctwo_set_key_gutmann" c'nettle_arctwo_set_key_gutmann
:: Ptr C'arctwo_ctx -> CUInt -> Ptr CUChar -> IO ()
foreign import ccall "&nettle_arctwo_set_key_gutmann" p'nettle_arctwo_set_key_gutmann
:: FunPtr (Ptr C'arctwo_ctx -> CUInt -> Ptr CUChar -> IO ())
foreign import ccall "nettle_arctwo_encrypt" c'nettle_arctwo_encrypt
:: Ptr C'arctwo_ctx -> CUInt -> Ptr CUChar -> Ptr CUChar -> IO ()
foreign import ccall "&nettle_arctwo_encrypt" p'nettle_arctwo_encrypt
:: FunPtr (Ptr C'arctwo_ctx -> CUInt -> Ptr CUChar -> Ptr CUChar -> IO ())
foreign import ccall "nettle_arctwo_decrypt" c'nettle_arctwo_decrypt
:: Ptr C'arctwo_ctx -> CUInt -> Ptr CUChar -> Ptr CUChar -> IO ()
foreign import ccall "&nettle_arctwo_decrypt" p'nettle_arctwo_decrypt
:: FunPtr (Ptr C'arctwo_ctx -> CUInt -> Ptr CUChar -> Ptr CUChar -> IO ())