aboutsummaryrefslogtreecommitdiff
path: root/src/BTLS/BoringSSL/Digest.chs
diff options
context:
space:
mode:
Diffstat (limited to 'src/BTLS/BoringSSL/Digest.chs')
-rw-r--r--src/BTLS/BoringSSL/Digest.chs12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/BTLS/BoringSSL/Digest.chs b/src/BTLS/BoringSSL/Digest.chs
index 3b21636..c919125 100644
--- a/src/BTLS/BoringSSL/Digest.chs
+++ b/src/BTLS/BoringSSL/Digest.chs
@@ -22,7 +22,8 @@ module BTLS.BoringSSL.Digest
) where
import Data.ByteString (ByteString)
-import Foreign (FinalizerPtr, ForeignPtr, Ptr, Storable(alignment, sizeOf))
+import Foreign
+ (FinalizerPtr, ForeignPtr, Ptr, Storable(alignment, sizeOf), withForeignPtr)
import Foreign.C.Types
{#import BTLS.BoringSSL.Base#}
@@ -48,13 +49,16 @@ foreign import ccall "&btlsFinalizeEVPMDCtx"
btlsFinalizeEVPMDCtxPtr :: FinalizerPtr EVPMDCtx
{#fun EVP_DigestInit_ex as evpDigestInitEx
- {`Ptr EVPMDCtx', `Ptr EVPMD', `Ptr Engine'} -> `()' requireSuccess*-#}
+ {withForeignPtr* `ForeignPtr EVPMDCtx', `Ptr EVPMD', `Ptr Engine'}
+ -> `()' requireSuccess*-#}
{#fun EVP_DigestUpdate as evpDigestUpdate
- {`Ptr EVPMDCtx', unsafeUseAsCBuffer* `ByteString'&} -> `()' alwaysSucceeds*-#}
+ {withForeignPtr* `ForeignPtr EVPMDCtx', unsafeUseAsCBuffer* `ByteString'&}
+ -> `()' alwaysSucceeds*-#}
{#fun EVP_DigestFinal_ex as evpDigestFinalEx
- {`Ptr EVPMDCtx', id `Ptr CUChar', id `Ptr CUInt'} -> `()' alwaysSucceeds*-#}
+ {withForeignPtr* `ForeignPtr EVPMDCtx', id `Ptr CUChar', id `Ptr CUInt'}
+ -> `()' alwaysSucceeds*-#}
evpMaxMDSize :: Int
evpMaxMDSize = {#const EVP_MAX_MD_SIZE#}