packages feed

Data-Rope-0.2: Data/Rope/Internals.hsc

{-# 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 <sys/mman.h>

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