aboutsummaryrefslogtreecommitdiff
path: root/hsm-cam/Hsm/Cam/Lib.hsc
diff options
context:
space:
mode:
Diffstat (limited to 'hsm-cam/Hsm/Cam/Lib.hsc')
-rw-r--r--hsm-cam/Hsm/Cam/Lib.hsc20
1 files changed, 20 insertions, 0 deletions
diff --git a/hsm-cam/Hsm/Cam/Lib.hsc b/hsm-cam/Hsm/Cam/Lib.hsc
new file mode 100644
index 0000000..4f6dadf
--- /dev/null
+++ b/hsm-cam/Hsm/Cam/Lib.hsc
@@ -0,0 +1,20 @@
+{-# LANGUAGE CPP #-}
+{-# LANGUAGE ForeignFunctionInterface #-}
+{-# LANGUAGE OverloadedStrings #-}
+
+module Hsm.Cam.Lib
+ ( someCWrapper
+ ) where
+
+import Control.Monad ((>=>))
+import Data.Text (pack)
+import Foreign.C.String (CString, peekCString)
+import Hsm.Log qualified as L
+
+foreign export ccall logMsg :: CString -> IO ()
+
+logMsg :: CString -> IO ()
+logMsg = peekCString >=> L.logMsg ["cam", "lib"] . pack
+
+foreign import ccall safe "Test.h some_c_wrapper"
+ someCWrapper :: IO ()