From 3e421853dc1bae83e9967cfed5b2ac58a169d9c5 Mon Sep 17 00:00:00 2001 From: Paul Oliver Date: Fri, 5 Sep 2025 00:18:12 +0000 Subject: Makes all FFI calls safe --- hsm-cam/Hsm/Cam/FFI.hs | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) (limited to 'hsm-cam') diff --git a/hsm-cam/Hsm/Cam/FFI.hs b/hsm-cam/Hsm/Cam/FFI.hs index 6ee648d..50acf10 100644 --- a/hsm-cam/Hsm/Cam/FFI.hs +++ b/hsm-cam/Hsm/Cam/FFI.hs @@ -29,36 +29,36 @@ type Logger = Int -> CString -> IO () type RequestCallback = IO () -foreign import capi unsafe "Cam.hpp value FRAME_WIDTH" frameWidth :: Int +foreign import capi safe "Cam.hpp value FRAME_WIDTH" frameWidth :: Int -foreign import capi unsafe "Cam.hpp value FRAME_HEIGHT" frameHeight :: Int +foreign import capi safe "Cam.hpp value FRAME_HEIGHT" frameHeight :: Int -foreign import ccall unsafe "wrapper" makeLogger :: Logger -> IO (FunPtr Logger) +foreign import ccall safe "wrapper" makeLogger :: Logger -> IO (FunPtr Logger) -foreign import ccall safe "Cam.hpp register_logger" registerLogger :: FunPtr Logger -> IO () +foreign import capi safe "Cam.hpp register_logger" registerLogger :: FunPtr Logger -> IO () -foreign import ccall unsafe "wrapper" makeRequestCallback :: RequestCallback -> IO (FunPtr RequestCallback) +foreign import ccall safe "wrapper" makeRequestCallback :: RequestCallback -> IO (FunPtr RequestCallback) -foreign import ccall safe "Cam.hpp register_request_callback" registerRequestCallback :: FunPtr RequestCallback -> IO () +foreign import capi safe "Cam.hpp register_request_callback" registerRequestCallback :: FunPtr RequestCallback -> IO () -foreign import ccall safe "Cam.hpp start_camera_manager" startCameraManager :: IO Int +foreign import capi safe "Cam.hpp start_camera_manager" startCameraManager :: IO () -foreign import ccall safe "Cam.hpp stop_camera_manager" stopCameraManager :: IO () +foreign import capi safe "Cam.hpp stop_camera_manager" stopCameraManager :: IO () -foreign import ccall safe "Cam.hpp acquire_camera" acquireCamera :: IO Int +foreign import capi safe "Cam.hpp acquire_camera" acquireCamera :: IO () -foreign import ccall safe "Cam.hpp release_camera" releaseCamera :: IO () +foreign import capi safe "Cam.hpp release_camera" releaseCamera :: IO () -foreign import ccall safe "Cam.hpp allocate_frame_buffer" allocateFrameBuffer :: IO Int +foreign import capi safe "Cam.hpp allocate_frame_buffer" allocateFrameBuffer :: IO () -foreign import ccall safe "Cam.hpp free_frame_buffer" freeFrameBuffer :: IO () +foreign import capi safe "Cam.hpp free_frame_buffer" freeFrameBuffer :: IO () -foreign import ccall safe "Cam.hpp start_camera" startCamera :: IO Int +foreign import capi safe "Cam.hpp start_camera" startCamera :: IO () -foreign import ccall safe "Cam.hpp stop_camera" stopCamera :: IO () +foreign import capi safe "Cam.hpp stop_camera" stopCamera :: IO () -foreign import ccall safe "Cam.hpp create_request" createRequest :: IO Int +foreign import capi safe "Cam.hpp create_request" createRequest :: IO () -foreign import ccall safe "Cam.hpp get_dma_buffer_fd" getDmaBufferFd :: IO Fd +foreign import capi safe "Cam.hpp get_dma_buffer_fd" getDmaBufferFd :: IO Fd -foreign import ccall safe "Cam.hpp request_frame" requestFrame :: IO () +foreign import capi safe "Cam.hpp request_frame" requestFrame :: IO () -- cgit v1.2.1