packages feed

bindings-nettle-0.0: Bindings/Nettle/Cipher/Twofish.hsc

{-# LANGUAGE ForeignFunctionInterface #-}

#include <bindings.dsl.h>
#include <nettle/twofish.h>

module Bindings.Nettle.Cipher.Twofish where
#strict_import

#num TWOFISH_BLOCK_SIZE
#num TWOFISH_MIN_KEY_SIZE
#num TWOFISH_MAX_KEY_SIZE
#num TWOFISH_KEY_SIZE

#starttype struct twofish_ctx
#stoptype

#ccall twofish_set_key , Ptr <struct twofish_ctx> -> CUInt -> Ptr CUChar -> IO ()
#ccall twofish_encrypt , Ptr <struct twofish_ctx> -> CUInt -> Ptr CUChar -> Ptr CUChar -> IO ()
#ccall twofish_decrypt , Ptr <struct twofish_ctx> -> CUInt -> Ptr CUChar -> Ptr CUChar -> IO ()