{-# LINE 1 "src/Botan/Bindings/FPE.hsc" #-}
{-# LANGUAGE CApiFFI #-}
module Botan.Bindings.FPE where
import Botan.Bindings.MPI
import Botan.Bindings.Prelude
data {-# CTYPE "botan/ffi.h" "struct botan_fpe_struct" #-} BotanFPEStruct
newtype {-# CTYPE "botan/ffi.h" "botan_fpe_t" #-} BotanFPE
= MkBotanFPE { BotanFPE -> Ptr BotanFPEStruct
runBotanFPE :: Ptr BotanFPEStruct }
deriving newtype (BotanFPE -> BotanFPE -> Bool
(BotanFPE -> BotanFPE -> Bool)
-> (BotanFPE -> BotanFPE -> Bool) -> Eq BotanFPE
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: BotanFPE -> BotanFPE -> Bool
== :: BotanFPE -> BotanFPE -> Bool
$c/= :: BotanFPE -> BotanFPE -> Bool
/= :: BotanFPE -> BotanFPE -> Bool
Eq, Eq BotanFPE
Eq BotanFPE
-> (BotanFPE -> BotanFPE -> Ordering)
-> (BotanFPE -> BotanFPE -> Bool)
-> (BotanFPE -> BotanFPE -> Bool)
-> (BotanFPE -> BotanFPE -> Bool)
-> (BotanFPE -> BotanFPE -> Bool)
-> (BotanFPE -> BotanFPE -> BotanFPE)
-> (BotanFPE -> BotanFPE -> BotanFPE)
-> Ord BotanFPE
BotanFPE -> BotanFPE -> Bool
BotanFPE -> BotanFPE -> Ordering
BotanFPE -> BotanFPE -> BotanFPE
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
$ccompare :: BotanFPE -> BotanFPE -> Ordering
compare :: BotanFPE -> BotanFPE -> Ordering
$c< :: BotanFPE -> BotanFPE -> Bool
< :: BotanFPE -> BotanFPE -> Bool
$c<= :: BotanFPE -> BotanFPE -> Bool
<= :: BotanFPE -> BotanFPE -> Bool
$c> :: BotanFPE -> BotanFPE -> Bool
> :: BotanFPE -> BotanFPE -> Bool
$c>= :: BotanFPE -> BotanFPE -> Bool
>= :: BotanFPE -> BotanFPE -> Bool
$cmax :: BotanFPE -> BotanFPE -> BotanFPE
max :: BotanFPE -> BotanFPE -> BotanFPE
$cmin :: BotanFPE -> BotanFPE -> BotanFPE
min :: BotanFPE -> BotanFPE -> BotanFPE
Ord, Ptr BotanFPE -> IO BotanFPE
Ptr BotanFPE -> Int -> IO BotanFPE
Ptr BotanFPE -> Int -> BotanFPE -> IO ()
Ptr BotanFPE -> BotanFPE -> IO ()
BotanFPE -> Int
(BotanFPE -> Int)
-> (BotanFPE -> Int)
-> (Ptr BotanFPE -> Int -> IO BotanFPE)
-> (Ptr BotanFPE -> Int -> BotanFPE -> IO ())
-> (forall b. Ptr b -> Int -> IO BotanFPE)
-> (forall b. Ptr b -> Int -> BotanFPE -> IO ())
-> (Ptr BotanFPE -> IO BotanFPE)
-> (Ptr BotanFPE -> BotanFPE -> IO ())
-> Storable BotanFPE
forall b. Ptr b -> Int -> IO BotanFPE
forall b. Ptr b -> Int -> BotanFPE -> IO ()
forall a.
(a -> Int)
-> (a -> Int)
-> (Ptr a -> Int -> IO a)
-> (Ptr a -> Int -> a -> IO ())
-> (forall b. Ptr b -> Int -> IO a)
-> (forall b. Ptr b -> Int -> a -> IO ())
-> (Ptr a -> IO a)
-> (Ptr a -> a -> IO ())
-> Storable a
$csizeOf :: BotanFPE -> Int
sizeOf :: BotanFPE -> Int
$calignment :: BotanFPE -> Int
alignment :: BotanFPE -> Int
$cpeekElemOff :: Ptr BotanFPE -> Int -> IO BotanFPE
peekElemOff :: Ptr BotanFPE -> Int -> IO BotanFPE
$cpokeElemOff :: Ptr BotanFPE -> Int -> BotanFPE -> IO ()
pokeElemOff :: Ptr BotanFPE -> Int -> BotanFPE -> IO ()
$cpeekByteOff :: forall b. Ptr b -> Int -> IO BotanFPE
peekByteOff :: forall b. Ptr b -> Int -> IO BotanFPE
$cpokeByteOff :: forall b. Ptr b -> Int -> BotanFPE -> IO ()
pokeByteOff :: forall b. Ptr b -> Int -> BotanFPE -> IO ()
$cpeek :: Ptr BotanFPE -> IO BotanFPE
peek :: Ptr BotanFPE -> IO BotanFPE
$cpoke :: Ptr BotanFPE -> BotanFPE -> IO ()
poke :: Ptr BotanFPE -> BotanFPE -> IO ()
Storable)
foreign import capi safe "botan/ffi.h &botan_fpe_destroy"
botan_fpe_destroy
:: FinalizerPtr BotanFPEStruct
pattern BOTAN_FPE_FLAG_NONE
, BOTAN_FPE_FLAG_FE1_COMPAT_MODE
:: (Eq a, Num a) => a
pattern $mBOTAN_FPE_FLAG_NONE :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bBOTAN_FPE_FLAG_NONE :: forall a. (Eq a, Num a) => a
BOTAN_FPE_FLAG_NONE = 0
pattern $mBOTAN_FPE_FLAG_FE1_COMPAT_MODE :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bBOTAN_FPE_FLAG_FE1_COMPAT_MODE :: forall a. (Eq a, Num a) => a
BOTAN_FPE_FLAG_FE1_COMPAT_MODE = 1
{-# LINE 64 "src/Botan/Bindings/FPE.hsc" #-}
foreign import capi safe "botan/ffi.h botan_fpe_fe1_init"
botan_fpe_fe1_init
:: Ptr BotanFPE
-> BotanMP
-> ConstPtr Word8
-> CSize
-> CSize
-> Word32
-> IO CInt
foreign import capi safe "botan/ffi.h botan_fpe_encrypt"
botan_fpe_encrypt
:: BotanFPE
-> BotanMP
-> ConstPtr Word8
-> CSize
-> IO CInt
foreign import capi safe "botan/ffi.h botan_fpe_decrypt"
botan_fpe_decrypt
:: BotanFPE
-> BotanMP
-> ConstPtr Word8
-> CSize
-> IO CInt