Copyright | (c) Leo D 2023 |
---|---|
License | BSD-3-Clause |
Maintainer | leo@apotheca.io |
Stability | experimental |
Portability | POSIX |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
Synopsis
- type BotanErrorCode = CInt
- pattern Success :: BotanErrorCode
- pattern InvalidIdentifier :: BotanErrorCode
- pattern InvalidInput :: BotanErrorCode
- pattern BadMAC :: BotanErrorCode
- pattern InsufficientBufferSpace :: BotanErrorCode
- pattern StringConversionError :: BotanErrorCode
- pattern ExceptionThrown :: BotanErrorCode
- pattern OutOfMemory :: BotanErrorCode
- pattern SystemError :: BotanErrorCode
- pattern InternalError :: BotanErrorCode
- pattern BadFlag :: BotanErrorCode
- pattern NullPointer :: BotanErrorCode
- pattern BadParameter :: BotanErrorCode
- pattern KeyNotSet :: BotanErrorCode
- pattern InvalidKeyLength :: BotanErrorCode
- pattern InvalidObjectState :: BotanErrorCode
- pattern NotImplemented :: BotanErrorCode
- pattern InvalidObject :: BotanErrorCode
- pattern TLSError :: BotanErrorCode
- pattern HttpError :: BotanErrorCode
- pattern RoughtimeError :: BotanErrorCode
- pattern UnknownError :: BotanErrorCode
- botanErrorDescription :: BotanErrorCode -> IO ByteString
- botanErrorLastExceptionMessage :: IO ErrorMessage
- data SomeBotanException = forall e.Exception e => SomeBotanException e
- toBotanException :: Exception e => e -> SomeException
- fromBotanException :: Exception e => SomeException -> Maybe e
- data InvalidInputException = InvalidInputException BotanErrorCode ErrorMessage CallStack
- data BadMACException = BadMACException BotanErrorCode ErrorMessage CallStack
- data InsufficientBufferSpaceException = InsufficientBufferSpaceException BotanErrorCode ErrorMessage CallStack
- data StringConversionException = StringConversionException BotanErrorCode ErrorMessage CallStack
- data ExceptionThrownException = ExceptionThrownException BotanErrorCode ErrorMessage CallStack
- data OutOfMemoryException = OutOfMemoryException BotanErrorCode ErrorMessage CallStack
- data SystemErrorException = SystemErrorException BotanErrorCode ErrorMessage CallStack
- data InternalErrorException = InternalErrorException BotanErrorCode ErrorMessage CallStack
- data BadFlagException = BadFlagException BotanErrorCode ErrorMessage CallStack
- data NullPointerException = NullPointerException BotanErrorCode ErrorMessage CallStack
- data BadParameterException = BadParameterException BotanErrorCode ErrorMessage CallStack
- data KeyNotSetException = KeyNotSetException BotanErrorCode ErrorMessage CallStack
- data InvalidKeyLengthException = InvalidKeyLengthException BotanErrorCode ErrorMessage CallStack
- data InvalidObjectStateException = InvalidObjectStateException BotanErrorCode ErrorMessage CallStack
- data NotImplementedException = NotImplementedException BotanErrorCode ErrorMessage CallStack
- data InvalidObjectException = InvalidObjectException BotanErrorCode ErrorMessage CallStack
- data UnknownException = UnknownException BotanErrorCode ErrorMessage CallStack
- throwBotanError :: HasCallStack => BotanErrorCode -> IO a
- throwBotanIfNegative :: HasCallStack => IO BotanErrorCode -> IO BotanErrorCode
- throwBotanIfNegative_ :: HasCallStack => IO BotanErrorCode -> IO ()
- throwBotanCatchingSuccess :: HasCallStack => IO BotanErrorCode -> IO Bool
- throwBotanCatchingBool :: HasCallStack => IO BotanErrorCode -> IO Bool
- throwBotanCatchingInt :: HasCallStack => IO BotanErrorCode -> IO Int
- throwBotanErrorWithCallstack :: BotanErrorCode -> CallStack -> IO a
- tryBotan :: IO a -> IO (Either SomeBotanException a)
- catchBotan :: IO a -> (SomeBotanException -> IO a) -> IO a
- handleBotan :: (SomeBotanException -> IO a) -> IO a -> IO a
Documentation
type BotanErrorCode = CInt Source #
Botan error code data type
pattern Success :: BotanErrorCode Source #
pattern InvalidIdentifier :: BotanErrorCode Source #
pattern InvalidInput :: BotanErrorCode Source #
pattern BadMAC :: BotanErrorCode Source #
pattern InsufficientBufferSpace :: BotanErrorCode Source #
pattern StringConversionError :: BotanErrorCode Source #
pattern ExceptionThrown :: BotanErrorCode Source #
pattern OutOfMemory :: BotanErrorCode Source #
pattern SystemError :: BotanErrorCode Source #
pattern InternalError :: BotanErrorCode Source #
pattern BadFlag :: BotanErrorCode Source #
pattern NullPointer :: BotanErrorCode Source #
pattern BadParameter :: BotanErrorCode Source #
pattern KeyNotSet :: BotanErrorCode Source #
pattern InvalidKeyLength :: BotanErrorCode Source #
pattern InvalidObjectState :: BotanErrorCode Source #
pattern NotImplemented :: BotanErrorCode Source #
pattern InvalidObject :: BotanErrorCode Source #
pattern TLSError :: BotanErrorCode Source #
pattern HttpError :: BotanErrorCode Source #
pattern RoughtimeError :: BotanErrorCode Source #
pattern UnknownError :: BotanErrorCode Source #
botanErrorDescription :: BotanErrorCode -> IO ByteString Source #
Convert an error code into a string. Returns "Unknown error" if the error code is not a known one.
botanErrorLastExceptionMessage :: IO ErrorMessage Source #
Returns a static string stored in a thread local variable which contains the last exception message thrown. WARNING: This string buffer is overwritten on the next call to the FFI layer
data SomeBotanException Source #
The SomeBotanException type is the root of the botan exception type hierarchy.
forall e.Exception e => SomeBotanException e |
Instances
Exception SomeBotanException Source # | |
Defined in Botan.Low.Error | |
Show SomeBotanException Source # | |
Defined in Botan.Low.Error showsPrec :: Int -> SomeBotanException -> ShowS # show :: SomeBotanException -> String # showList :: [SomeBotanException] -> ShowS # |
toBotanException :: Exception e => e -> SomeException Source #
fromBotanException :: Exception e => SomeException -> Maybe e Source #
data InvalidInputException Source #
InvalidInputException BotanErrorCode ErrorMessage CallStack |
Instances
Exception InvalidInputException Source # | |
Defined in Botan.Low.Error | |
Show InvalidInputException Source # | |
Defined in Botan.Low.Error showsPrec :: Int -> InvalidInputException -> ShowS # show :: InvalidInputException -> String # showList :: [InvalidInputException] -> ShowS # |
data BadMACException Source #
BadMACException BotanErrorCode ErrorMessage CallStack |
Instances
Exception BadMACException Source # | |
Defined in Botan.Low.Error | |
Show BadMACException Source # | |
Defined in Botan.Low.Error showsPrec :: Int -> BadMACException -> ShowS # show :: BadMACException -> String # showList :: [BadMACException] -> ShowS # |
data InsufficientBufferSpaceException Source #
InsufficientBufferSpaceException BotanErrorCode ErrorMessage CallStack |
Instances
data StringConversionException Source #
StringConversionException BotanErrorCode ErrorMessage CallStack |
Instances
Exception StringConversionException Source # | |
Show StringConversionException Source # | |
Defined in Botan.Low.Error showsPrec :: Int -> StringConversionException -> ShowS # show :: StringConversionException -> String # showList :: [StringConversionException] -> ShowS # |
data ExceptionThrownException Source #
ExceptionThrownException BotanErrorCode ErrorMessage CallStack |
Instances
Exception ExceptionThrownException Source # | |
Show ExceptionThrownException Source # | |
Defined in Botan.Low.Error showsPrec :: Int -> ExceptionThrownException -> ShowS # show :: ExceptionThrownException -> String # showList :: [ExceptionThrownException] -> ShowS # |
data OutOfMemoryException Source #
OutOfMemoryException BotanErrorCode ErrorMessage CallStack |
Instances
Exception OutOfMemoryException Source # | |
Defined in Botan.Low.Error | |
Show OutOfMemoryException Source # | |
Defined in Botan.Low.Error showsPrec :: Int -> OutOfMemoryException -> ShowS # show :: OutOfMemoryException -> String # showList :: [OutOfMemoryException] -> ShowS # |
data SystemErrorException Source #
SystemErrorException BotanErrorCode ErrorMessage CallStack |
Instances
Exception SystemErrorException Source # | |
Defined in Botan.Low.Error | |
Show SystemErrorException Source # | |
Defined in Botan.Low.Error showsPrec :: Int -> SystemErrorException -> ShowS # show :: SystemErrorException -> String # showList :: [SystemErrorException] -> ShowS # |
data InternalErrorException Source #
InternalErrorException BotanErrorCode ErrorMessage CallStack |
Instances
Exception InternalErrorException Source # | |
Show InternalErrorException Source # | |
Defined in Botan.Low.Error showsPrec :: Int -> InternalErrorException -> ShowS # show :: InternalErrorException -> String # showList :: [InternalErrorException] -> ShowS # |
data BadFlagException Source #
BadFlagException BotanErrorCode ErrorMessage CallStack |
Instances
Exception BadFlagException Source # | |
Defined in Botan.Low.Error | |
Show BadFlagException Source # | |
Defined in Botan.Low.Error showsPrec :: Int -> BadFlagException -> ShowS # show :: BadFlagException -> String # showList :: [BadFlagException] -> ShowS # |
data NullPointerException Source #
NullPointerException BotanErrorCode ErrorMessage CallStack |
Instances
Exception NullPointerException Source # | |
Defined in Botan.Low.Error | |
Show NullPointerException Source # | |
Defined in Botan.Low.Error showsPrec :: Int -> NullPointerException -> ShowS # show :: NullPointerException -> String # showList :: [NullPointerException] -> ShowS # |
data BadParameterException Source #
BadParameterException BotanErrorCode ErrorMessage CallStack |
Instances
Exception BadParameterException Source # | |
Defined in Botan.Low.Error | |
Show BadParameterException Source # | |
Defined in Botan.Low.Error showsPrec :: Int -> BadParameterException -> ShowS # show :: BadParameterException -> String # showList :: [BadParameterException] -> ShowS # |
data KeyNotSetException Source #
KeyNotSetException BotanErrorCode ErrorMessage CallStack |
Instances
Exception KeyNotSetException Source # | |
Defined in Botan.Low.Error | |
Show KeyNotSetException Source # | |
Defined in Botan.Low.Error showsPrec :: Int -> KeyNotSetException -> ShowS # show :: KeyNotSetException -> String # showList :: [KeyNotSetException] -> ShowS # |
data InvalidKeyLengthException Source #
InvalidKeyLengthException BotanErrorCode ErrorMessage CallStack |
Instances
Exception InvalidKeyLengthException Source # | |
Show InvalidKeyLengthException Source # | |
Defined in Botan.Low.Error showsPrec :: Int -> InvalidKeyLengthException -> ShowS # show :: InvalidKeyLengthException -> String # showList :: [InvalidKeyLengthException] -> ShowS # |
data InvalidObjectStateException Source #
InvalidObjectStateException BotanErrorCode ErrorMessage CallStack |
Instances
data NotImplementedException Source #
NotImplementedException BotanErrorCode ErrorMessage CallStack |
Instances
Exception NotImplementedException Source # | |
Show NotImplementedException Source # | |
Defined in Botan.Low.Error showsPrec :: Int -> NotImplementedException -> ShowS # show :: NotImplementedException -> String # showList :: [NotImplementedException] -> ShowS # |
data InvalidObjectException Source #
InvalidObjectException BotanErrorCode ErrorMessage CallStack |
Instances
Exception InvalidObjectException Source # | |
Show InvalidObjectException Source # | |
Defined in Botan.Low.Error showsPrec :: Int -> InvalidObjectException -> ShowS # show :: InvalidObjectException -> String # showList :: [InvalidObjectException] -> ShowS # |
data UnknownException Source #
UnknownException BotanErrorCode ErrorMessage CallStack |
Instances
Exception UnknownException Source # | |
Defined in Botan.Low.Error | |
Show UnknownException Source # | |
Defined in Botan.Low.Error showsPrec :: Int -> UnknownException -> ShowS # show :: UnknownException -> String # showList :: [UnknownException] -> ShowS # |
throwBotanError :: HasCallStack => BotanErrorCode -> IO a Source #
throwBotanIfNegative_ :: HasCallStack => IO BotanErrorCode -> IO () Source #
throwBotanCatchingBool :: HasCallStack => IO BotanErrorCode -> IO Bool Source #
throwBotanCatchingInt :: HasCallStack => IO BotanErrorCode -> IO Int Source #
throwBotanErrorWithCallstack :: BotanErrorCode -> CallStack -> IO a Source #
catchBotan :: IO a -> (SomeBotanException -> IO a) -> IO a Source #
handleBotan :: (SomeBotanException -> IO a) -> IO a -> IO a Source #