{-# LANGUAGE ForeignFunctionInterface #-} module Bindings.Libpafe.Pasori ( pasoriPrepare ,pasoriClose ) where #include #include import Foreign.Ptr import Foreign.C.Types import Bindings.Libpafe.Types pasoriPrepare :: IO (Maybe (Ptr Pasori)) pasoriPrepare = do pasori <- pasori_open result <- pasori_init pasori case result of 0 -> return $ Just pasori otherwise -> pasoriClose pasori >> return Nothing pasoriClose = pasori_close foreign import ccall pasori_open :: IO (Ptr Pasori) foreign import ccall pasori_init :: Ptr Pasori -> IO CInt foreign import ccall pasori_close :: Ptr Pasori -> IO ()