System.Win32.File

Copyright (c) Alastair Reid, 1997-2003
License BSD-style (see the file libraries/base/LICENSE)
Maintainer Esa Ilari Vuokko <[email protected]>
Stability provisional
Portability portable
Safe Haskell Safe
Language Haskell98

Description

A collection of FFI declarations for interfacing with Win32.

type AccessMode = UINT Source

gENERIC_NONE :: AccessMode Source

gENERIC_READ :: AccessMode Source

gENERIC_WRITE :: AccessMode Source

gENERIC_EXECUTE :: AccessMode Source

gENERIC_ALL :: AccessMode Source

dELETE :: AccessMode Source

rEAD_CONTROL :: AccessMode Source

wRITE_DAC :: AccessMode Source

wRITE_OWNER :: AccessMode Source

sYNCHRONIZE :: AccessMode Source

sTANDARD_RIGHTS_REQUIRED :: AccessMode Source

sTANDARD_RIGHTS_READ :: AccessMode Source

type ShareMode = UINT Source

sTANDARD_RIGHTS_WRITE :: AccessMode Source

fILE_SHARE_NONE :: ShareMode Source

sTANDARD_RIGHTS_EXECUTE :: AccessMode Source

sTANDARD_RIGHTS_ALL :: AccessMode Source

fILE_SHARE_READ :: ShareMode Source

sPECIFIC_RIGHTS_ALL :: AccessMode Source

fILE_SHARE_WRITE :: ShareMode Source

aCCESS_SYSTEM_SECURITY :: AccessMode Source

fILE_SHARE_DELETE :: ShareMode Source

mAXIMUM_ALLOWED :: AccessMode Source

type CreateMode = UINT Source

cREATE_NEW :: CreateMode Source

cREATE_ALWAYS :: CreateMode Source

oPEN_EXISTING :: CreateMode Source

oPEN_ALWAYS :: CreateMode Source

tRUNCATE_EXISTING :: CreateMode Source

type FileAttributeOrFlag = UINT Source

fILE_ATTRIBUTE_READONLY :: FileAttributeOrFlag Source

fILE_ATTRIBUTE_HIDDEN :: FileAttributeOrFlag Source

fILE_ATTRIBUTE_SYSTEM :: FileAttributeOrFlag Source

fILE_ATTRIBUTE_DIRECTORY :: FileAttributeOrFlag Source

fILE_ATTRIBUTE_ARCHIVE :: FileAttributeOrFlag Source

fILE_ATTRIBUTE_NORMAL :: FileAttributeOrFlag Source

fILE_ATTRIBUTE_TEMPORARY :: FileAttributeOrFlag Source

fILE_ATTRIBUTE_COMPRESSED :: FileAttributeOrFlag Source

fILE_FLAG_WRITE_THROUGH :: FileAttributeOrFlag Source

fILE_FLAG_OVERLAPPED :: FileAttributeOrFlag Source

sECURITY_ANONYMOUS :: FileAttributeOrFlag Source

fILE_FLAG_NO_BUFFERING :: FileAttributeOrFlag Source

sECURITY_IDENTIFICATION :: FileAttributeOrFlag Source

fILE_FLAG_RANDOM_ACCESS :: FileAttributeOrFlag Source

sECURITY_IMPERSONATION :: FileAttributeOrFlag Source

fILE_FLAG_SEQUENTIAL_SCAN :: FileAttributeOrFlag Source

sECURITY_DELEGATION :: FileAttributeOrFlag Source

fILE_FLAG_DELETE_ON_CLOSE :: FileAttributeOrFlag Source

sECURITY_CONTEXT_TRACKING :: FileAttributeOrFlag Source

fILE_FLAG_BACKUP_SEMANTICS :: FileAttributeOrFlag Source

sECURITY_EFFECTIVE_ONLY :: FileAttributeOrFlag Source

fILE_FLAG_POSIX_SEMANTICS :: FileAttributeOrFlag Source

sECURITY_SQOS_PRESENT :: FileAttributeOrFlag Source

type MoveFileFlag = DWORD Source

sECURITY_VALID_SQOS_FLAGS :: FileAttributeOrFlag Source

mOVEFILE_REPLACE_EXISTING :: MoveFileFlag Source

mOVEFILE_COPY_ALLOWED :: MoveFileFlag Source

mOVEFILE_DELAY_UNTIL_REBOOT :: MoveFileFlag Source

type FilePtrDirection = DWORD Source

fILE_BEGIN :: FilePtrDirection Source

fILE_CURRENT :: FilePtrDirection Source

fILE_END :: FilePtrDirection Source

type DriveType = UINT Source

dRIVE_UNKNOWN :: DriveType Source

dRIVE_NO_ROOT_DIR :: DriveType Source

dRIVE_REMOVABLE :: DriveType Source

dRIVE_FIXED :: DriveType Source

dRIVE_REMOTE :: DriveType Source

dRIVE_CDROM :: DriveType Source

type DefineDosDeviceFlags = DWORD Source

dRIVE_RAMDISK :: DriveType Source

dDD_RAW_TARGET_PATH :: DefineDosDeviceFlags Source

dDD_REMOVE_DEFINITION :: DefineDosDeviceFlags Source

dDD_EXACT_MATCH_ON_REMOVE :: DefineDosDeviceFlags Source

type BinaryType = DWORD Source

sCS_32BIT_BINARY :: BinaryType Source

sCS_DOS_BINARY :: BinaryType Source

sCS_WOW_BINARY :: BinaryType Source

sCS_PIF_BINARY :: BinaryType Source

sCS_POSIX_BINARY :: BinaryType Source

sCS_OS216_BINARY :: BinaryType Source

type FileNotificationFlag = DWORD Source

fILE_NOTIFY_CHANGE_FILE_NAME :: FileNotificationFlag Source

fILE_NOTIFY_CHANGE_DIR_NAME :: FileNotificationFlag Source

fILE_NOTIFY_CHANGE_ATTRIBUTES :: FileNotificationFlag Source

fILE_NOTIFY_CHANGE_SIZE :: FileNotificationFlag Source

fILE_NOTIFY_CHANGE_LAST_WRITE :: FileNotificationFlag Source

fILE_NOTIFY_CHANGE_SECURITY :: FileNotificationFlag Source

type FileType = DWORD Source

fILE_TYPE_UNKNOWN :: FileType Source

fILE_TYPE_DISK :: FileType Source

fILE_TYPE_CHAR :: FileType Source

fILE_TYPE_PIPE :: FileType Source

fILE_TYPE_REMOTE :: FileType Source

newtype GET_FILEEX_INFO_LEVELS Source

getFileExInfoStandard :: GET_FILEEX_INFO_LEVELS Source

getFileExMaxInfoLevel :: GET_FILEEX_INFO_LEVELS Source

type LPSECURITY_ATTRIBUTES = Ptr () Source

type MbLPSECURITY_ATTRIBUTES = Maybe LPSECURITY_ATTRIBUTES Source

data BY_HANDLE_FILE_INFORMATION Source

data WIN32_FILE_ATTRIBUTE_DATA Source

failIfWithRetry :: (a -> Bool) -> String -> IO a -> IO a Source

like failIfFalse_, but retried on sharing violations. This is necessary for many file operations; see http://support.microsoft.com/kb/316609

failIfWithRetry_ :: (a -> Bool) -> String -> IO a -> IO () Source

failIfFalseWithRetry_ :: String -> IO Bool -> IO () Source

deleteFile :: String -> IO () Source

c_DeleteFile :: LPCTSTR -> IO Bool Source

copyFile :: String -> String -> Bool -> IO () Source

c_CopyFile :: LPCTSTR -> LPCTSTR -> Bool -> IO Bool Source

moveFile :: String -> String -> IO () Source

c_MoveFile :: LPCTSTR -> LPCTSTR -> IO Bool Source

moveFileEx :: String -> String -> MoveFileFlag -> IO () Source

c_MoveFileEx :: LPCTSTR -> LPCTSTR -> MoveFileFlag -> IO Bool Source

setCurrentDirectory :: String -> IO () Source

c_SetCurrentDirectory :: LPCTSTR -> IO Bool Source

createDirectory :: String -> Maybe LPSECURITY_ATTRIBUTES -> IO () Source

c_CreateDirectory :: LPCTSTR -> LPSECURITY_ATTRIBUTES -> IO Bool Source

createDirectoryEx :: String -> String -> Maybe LPSECURITY_ATTRIBUTES -> IO () Source

c_CreateDirectoryEx :: LPCTSTR -> LPCTSTR -> LPSECURITY_ATTRIBUTES -> IO Bool Source

removeDirectory :: String -> IO () Source

c_RemoveDirectory :: LPCTSTR -> IO Bool Source

getBinaryType :: String -> IO BinaryType Source

c_GetBinaryType :: LPCTSTR -> Ptr DWORD -> IO Bool Source

createFile :: String -> AccessMode -> ShareMode -> Maybe LPSECURITY_ATTRIBUTES -> CreateMode -> FileAttributeOrFlag -> Maybe HANDLE -> IO HANDLE Source

c_CreateFile :: LPCTSTR -> AccessMode -> ShareMode -> LPSECURITY_ATTRIBUTES -> CreateMode -> FileAttributeOrFlag -> HANDLE -> IO HANDLE Source

closeHandle :: HANDLE -> IO () Source

c_CloseHandle :: HANDLE -> IO Bool Source

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

getFileType :: HANDLE -> IO FileType Source

flushFileBuffers :: HANDLE -> IO () Source

c_FlushFileBuffers :: HANDLE -> IO Bool Source

setEndOfFile :: HANDLE -> IO () Source

c_SetEndOfFile :: HANDLE -> IO Bool Source

setFileAttributes :: String -> FileAttributeOrFlag -> IO () Source

c_SetFileAttributes :: LPCTSTR -> FileAttributeOrFlag -> IO Bool Source

getFileAttributes :: String -> IO FileAttributeOrFlag Source

c_GetFileAttributes :: LPCTSTR -> IO FileAttributeOrFlag Source

getFileAttributesExStandard :: String -> IO WIN32_FILE_ATTRIBUTE_DATA Source

c_GetFileAttributesEx :: LPCTSTR -> GET_FILEEX_INFO_LEVELS -> Ptr a -> IO BOOL Source

getFileInformationByHandle :: HANDLE -> IO BY_HANDLE_FILE_INFORMATION Source

c_GetFileInformationByHandle :: HANDLE -> Ptr BY_HANDLE_FILE_INFORMATION -> IO BOOL Source

type LPOVERLAPPED = Ptr () Source

type MbLPOVERLAPPED = Maybe LPOVERLAPPED Source

win32_ReadFile :: HANDLE -> Ptr a -> DWORD -> Maybe LPOVERLAPPED -> IO DWORD Source

c_ReadFile :: HANDLE -> Ptr a -> DWORD -> Ptr DWORD -> LPOVERLAPPED -> IO Bool Source

win32_WriteFile :: HANDLE -> Ptr a -> DWORD -> Maybe LPOVERLAPPED -> IO DWORD Source

c_WriteFile :: HANDLE -> Ptr a -> DWORD -> Ptr DWORD -> LPOVERLAPPED -> IO Bool Source

findFirstChangeNotification :: String -> Bool -> FileNotificationFlag -> IO HANDLE Source

c_FindFirstChangeNotification :: LPCTSTR -> Bool -> FileNotificationFlag -> IO HANDLE Source

findNextChangeNotification :: HANDLE -> IO () Source

c_FindNextChangeNotification :: HANDLE -> IO Bool Source

findCloseChangeNotification :: HANDLE -> IO () Source

c_FindCloseChangeNotification :: HANDLE -> IO Bool Source

type WIN32_FIND_DATA = () Source

newtype FindData Source

getFindDataFileName :: FindData -> IO FilePath Source

findFirstFile :: String -> IO (HANDLE, FindData) Source

c_FindFirstFile :: LPCTSTR -> Ptr WIN32_FIND_DATA -> IO HANDLE Source

findNextFile :: HANDLE -> FindData -> IO Bool Source

c_FindNextFile :: HANDLE -> Ptr WIN32_FIND_DATA -> IO BOOL Source

findClose :: HANDLE -> IO () Source

c_FindClose :: HANDLE -> IO BOOL Source

defineDosDevice :: DefineDosDeviceFlags -> String -> String -> IO () Source

c_DefineDosDevice :: DefineDosDeviceFlags -> LPCTSTR -> LPCTSTR -> IO Bool Source

areFileApisANSI :: IO Bool Source

setFileApisToOEM :: IO () Source

setFileApisToANSI :: IO () Source

setHandleCount :: UINT -> IO UINT Source

getLogicalDrives :: IO DWORD Source

c_GetLogicalDrives :: IO DWORD Source

getDiskFreeSpace :: Maybe String -> IO (DWORD, DWORD, DWORD, DWORD) Source

c_GetDiskFreeSpace :: LPCTSTR -> Ptr DWORD -> Ptr DWORD -> Ptr DWORD -> Ptr DWORD -> IO Bool Source

setVolumeLabel :: String -> String -> IO () Source

c_SetVolumeLabel :: LPCTSTR -> LPCTSTR -> IO Bool 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-File.html