| Safe Haskell | None |
|---|---|
| Language | Haskell98 |
Foreign.LibFFI
Description
This is the only module that normal users should need to import.
As an example, allocate 1GB of memory, zero it, and crash:
import System.Posix.DynamicLinker
import Foreign.Ptr
import Foreign.LibFFI
main = do
malloc <- dlsym Default "malloc"
memset <- dlsym Default "memset"
p <- callFFI malloc (retPtr retVoid) [argCSize (2^30)]
callFFI memset (retPtr retVoid) [argPtr p, argCInt 0, argCSize (2^30)]
callFFI memset (retPtr retVoid) [argPtr nullPtr, argCInt 0, argCSize 1]