packages feed

botan-low-0.0.1.0: src/Botan/Low/View.hs

{-|
Module      : Botan.Low.View
Description : View functions
Copyright   : (c) Leo D, 2023
License     : BSD-3-Clause
Maintainer  : leo@apotheca.io
Stability   : experimental
Portability : POSIX
-}

module Botan.Low.View
(

  BotanViewBinFn(..)
, BotanViewBinCallback(..)
, viewBin
, BotanViewStrFn(..)
, BotanViewStrCallback(..)
, viewStr

)where

import qualified Data.ByteString as ByteString

import Data.Void

import System.IO

import Botan.Bindings.View

import Botan.Low.Error
import Botan.Low.Make
import Botan.Low.Prelude

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