botan-low-0.1.0.0: src/Botan/Low/View.hs
{-|
Module : Botan.Low.View
Description : View functions
Copyright : (c) 2023-2024, Apotheca Labs
(c) 2024-2025, Haskell Foundation
License : BSD-3-Clause
Maintainer : joris@well-typed.com, leo@apotheca.io
Stability : experimental
Portability : POSIX
This module is based on the [View
Functions](https://botan.randombit.net/handbook/api_ref/ffi.html#view-functions)
section of the C Botan FFI documentation.
-}
module Botan.Low.View (
-- * View binary
BotanViewBinFn
, BotanViewBinCallback
, viewBin
-- * View string
, BotanViewStrFn
, BotanViewStrCallback
, viewStr
) where
import Botan.Bindings.View
import Control.Exception
viewBin :: BotanViewBinFn ctx -> (BotanViewBinCallback ctx -> IO a) -> IO a
viewBin f = bracket (mallocBotanViewBinCallback f) freeBotanViewBinCallback
viewStr :: BotanViewStrFn ctx -> (BotanViewStrCallback ctx -> IO a) -> IO a
viewStr f = bracket (mallocBotanViewStrCallback f) freeBotanViewStrCallback