libpafe-0.1.0.0: src/Bindings/Libpafe/Pasori.hsc
{-# LANGUAGE ForeignFunctionInterface #-}
module Bindings.Libpafe.Pasori (
pasoriPrepare
,pasoriClose
) where
#include <libpafe/libpafe.h>
#include <libpafe/pasori_command.h>
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 ()