libffi-0.1: A binding to libffi

Safe HaskellNone
LanguageHaskell98

Foreign.LibFFI.Base

Description

This module defines the basic libffi machinery. You will need this to create support for new ffi types.

Documentation

newtype Arg

Constructors

Arg 

Fields

unArg :: IO (Ptr CType, Ptr CValue, IO ())
 

customPointerArg :: (a -> IO (Ptr b)) -> (Ptr b -> IO ()) -> a -> Arg

data RetType a

Constructors

RetType (Ptr CType) ((Ptr CValue -> IO ()) -> IO a) 

Instances

withRetType :: (a -> IO b) -> RetType a -> RetType b

callFFI :: FunPtr a -> RetType b -> [Arg] -> IO b