diff options
author | Paul Oliver <contact@pauloliver.dev> | 2025-08-19 03:56:40 +0000 |
---|---|---|
committer | Paul Oliver <contact@pauloliver.dev> | 2025-08-23 22:59:12 +0000 |
commit | 307cb1b1094c73fd15eab378c27ac0073696b739 (patch) | |
tree | 730949857bd356a7d1f1739b1c8c28967d0461e4 /hsm-cam/Hsm/Cam/FFI.hs | |
parent | 4efe903a671b288ac485f2d2a9c9aabf2eb7b199 (diff) |
Improves formatting
Diffstat (limited to 'hsm-cam/Hsm/Cam/FFI.hs')
-rw-r--r-- | hsm-cam/Hsm/Cam/FFI.hs | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/hsm-cam/Hsm/Cam/FFI.hs b/hsm-cam/Hsm/Cam/FFI.hs new file mode 100644 index 0000000..93d2f57 --- /dev/null +++ b/hsm-cam/Hsm/Cam/FFI.hs @@ -0,0 +1,36 @@ +{-# LANGUAGE CApiFFI #-} + +module Hsm.Cam.FFI + ( makeLogger + , registerLogger + , makeCallback + , registerCallback + , initializeFFI + , shutdownFFI + , requestCapture + ) +where + +import Foreign.C.String (CString) +import Foreign.Ptr (FunPtr) + +type Logger = Int -> CString -> IO () + +type Callback = Int -> IO () + +foreign import ccall safe "wrapper" makeLogger :: Logger -> IO (FunPtr Logger) + +foreign import capi safe "Cam.hpp register_logger" + registerLogger :: FunPtr Logger -> IO () + +foreign import ccall safe "wrapper" + makeCallback :: Callback -> IO (FunPtr Callback) + +foreign import capi safe "Cam.hpp register_callback" + registerCallback :: FunPtr Callback -> IO () + +foreign import capi safe "Cam.hpp initialize_ffi" initializeFFI :: IO () + +foreign import capi safe "Cam.hpp shutdown_ffi" shutdownFFI :: IO () + +foreign import capi safe "Cam.hpp request_capture" requestCapture :: IO () |