{-# LANGUAGE ForeignFunctionInterface #-} module Data.Rope.Internals where import Foreign.Ptr import Foreign.ForeignPtr import Foreign.Storable import Foreign.C.Types import Data.Word import GHC.Base foreign import ccall unsafe "sys/mman.h mmap" c_mmap:: Ptr a->CSize->CInt->CInt->CInt->CInt->IO (Ptr Word8) foreign import ccall unsafe "sys/mman.h munmap" c_munmap:: Ptr a->CSize->IO() #include c_PROT_NONE::CInt c_PROT_NONE= #const PROT_NONE c_PROT_READ::CInt c_PROT_READ= #const PROT_READ c_PROT_WRITE::CInt c_PROT_WRITE= #const PROT_WRITE c_PROT_EXEC::CInt c_PROT_EXEC= #const PROT_EXEC c_MAP_SHARED::CInt c_MAP_SHARED= #const MAP_SHARED c_MAP_FILE::CInt c_MAP_FILE= #const MAP_FILE w2c::Word8->Char w2c=unsafeChr.fromIntegral c2w::Char->Word8 c2w=fromIntegral.ord