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 Haskell2010

Description

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

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

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

As mapFile, but returns ByteString

data MappedObject

withMappedFile

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

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

sEC_COMMIT :: ProtectSectionFlags

sEC_IMAGE :: ProtectSectionFlags

sEC_NOCACHE :: ProtectSectionFlags

sEC_RESERVE :: ProtectSectionFlags

type FileMapAccess = DWORD

fILE_MAP_ALL_ACCESS :: FileMapAccess

fILE_MAP_COPY :: FileMapAccess

fILE_MAP_READ :: FileMapAccess

fILE_MAP_WRITE :: FileMapAccess

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

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

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

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

unmapViewOfFile :: Ptr a -> IO ()

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

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

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

c_UnmapViewOfFile :: Ptr a -> IO BOOL

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

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