System.Win32.FileMapping

Copyright (c) Esa Ilari Vuokko, 2006
License BSD-style (see the file LICENSE)
Maintainer Esa Ilari Vuokko <[email protected]>
Stability provisional
Portability portable
Safe Haskell Trustworthy
Language Haskell98

Description

A collection of FFI declarations for interfacing with Win32 mapped files.

mapFile :: FilePath -> IO (ForeignPtr a, Int) Source

Maps file fully and returns ForeignPtr and length of the mapped area. The mapped file is opened read-only and shared reading.

mapFileBs :: FilePath -> IO ByteString Source

As mapFile, but returns ByteString

data MappedObject Source

withMappedFile Source

Arguments

:: FilePath

Path

-> Bool

Write? (False = read-only)

-> Maybe Bool

Sharing mode, no sharing, share read, share read+write

-> (Integer -> MappedObject -> IO a)

Action

-> IO a

Opens an existing file and creates mapping object to it.

withMappedArea Source

Arguments

:: MappedObject

Mapped object, from withMappedFile

-> Integer

Position in file

-> Int

Size of mapped area

-> (Ptr a -> IO b)

Action

-> IO b

Maps area into memory.

type ProtectSectionFlags = DWORD Source

sEC_COMMIT :: ProtectSectionFlags Source

sEC_IMAGE :: ProtectSectionFlags Source

sEC_NOCACHE :: ProtectSectionFlags Source

type FileMapAccess = DWORD Source

sEC_RESERVE :: ProtectSectionFlags Source

fILE_MAP_ALL_ACCESS :: FileMapAccess Source

fILE_MAP_COPY :: FileMapAccess Source

fILE_MAP_READ :: FileMapAccess Source

fILE_MAP_WRITE :: FileMapAccess Source

createFileMapping :: Maybe HANDLE -> ProtectFlags -> DDWORD -> Maybe String -> IO HANDLE Source

openFileMapping :: FileMapAccess -> BOOL -> Maybe String -> IO HANDLE Source

mapViewOfFileEx :: HANDLE -> FileMapAccess -> DDWORD -> SIZE_T -> Ptr a -> IO (Ptr b) Source

mapViewOfFile :: HANDLE -> FileMapAccess -> DDWORD -> SIZE_T -> IO (Ptr a) Source

unmapViewOfFile :: Ptr a -> IO () Source

c_OpenFileMapping :: DWORD -> BOOL -> LPCTSTR -> IO HANDLE Source

c_CreateFileMapping :: HANDLE -> Ptr () -> DWORD -> DWORD -> DWORD -> LPCTSTR -> IO HANDLE Source

c_MapViewOfFileEx :: HANDLE -> DWORD -> DWORD -> DWORD -> SIZE_T -> Ptr a -> IO (Ptr b) Source

c_UnmapViewOfFile :: Ptr a -> IO BOOL Source

c_UnmapViewOfFileFinaliser :: FunPtr (Ptr a -> IO ()) Source

© The University of Glasgow and others
Licensed under a BSD-style license (see top of the page).
https://downloads.haskell.org/~ghc/7.10.3/docs/html/libraries/Win32-2.3.1.0/System-Win32-FileMapping.html