libffi-0.2.1: A binding to libffi
Safe HaskellSafe-Inferred
LanguageHaskell2010

Foreign.LibFFI.Types

Description

Arguments and return types

Synopsis

Arguments

Integral types

argInt8 :: Int8 -> Arg Source #

Note that on e.g. x86_64, Int /= CInt

Floating point types

Various other C types

Strings

argString :: String -> Arg Source #

The string argument is passed to C as a char * pointer, which is freed afterwards. The argument should not contain zero-bytes.

argByteString :: ByteString -> Arg Source #

Like argString, but for ByteString's.

argConstByteString :: ByteString -> Arg Source #

Like argByteString, but changing the string from C breaks referential transparency.

Return types

Integral types

Floating point types

Various other C types

Strings

retString :: RetType String Source #

Peek a String out of the returned char *. The char * is not freed.

retByteString :: RetType ByteString Source #

Like retString, but for ByteString's

retMallocByteString :: RetType ByteString Source #

Make a ByteString out of the returned char *. The char * will be free(3)ed when the ByteString is garbage collected.