| 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 | None |
| Language | Haskell2010 |
A collection of FFI declarations for interfacing with Win32.
deleteFile :: WindowsString -> IO () Source
copyFile :: WindowsString -> WindowsString -> Bool -> IO () Source
moveFile :: WindowsString -> WindowsString -> IO () Source
moveFileEx :: WindowsString -> Maybe WindowsString -> MoveFileFlag -> IO () Source
setCurrentDirectory :: WindowsString -> IO () Source
createDirectory :: WindowsString -> Maybe LPSECURITY_ATTRIBUTES -> IO () Source
createDirectoryEx :: WindowsString -> WindowsString -> Maybe LPSECURITY_ATTRIBUTES -> IO () Source
removeDirectory :: WindowsString -> IO () Source
getBinaryType :: WindowsString -> IO BinaryType Source
createFile :: WindowsString -> AccessMode -> ShareMode -> Maybe LPSECURITY_ATTRIBUTES -> CreateMode -> FileAttributeOrFlag -> Maybe HANDLE -> IO HANDLE Source
setFileAttributes :: WindowsString -> FileAttributeOrFlag -> IO () Source
getFileAttributes :: WindowsString -> IO FileAttributeOrFlag Source
getFileAttributesExStandard :: WindowsString -> IO WIN32_FILE_ATTRIBUTE_DATA Source
| :: WindowsString | directory for the temporary file (must be at most MAX_PATH - 14 characters long) |
| -> WindowsString | prefix for the temporary file name |
| -> Maybe UINT | if |
| -> IO (WindowsString, UINT) |
Get a unique temporary filename.
Calls GetTempFileNameW.
findFirstChangeNotification :: WindowsString -> Bool -> FileNotificationFlag -> IO HANDLE Source
getFindDataFileName :: FindData -> IO WindowsString Source
findFirstFile :: WindowsString -> IO (HANDLE, FindData) Source
defineDosDevice :: DefineDosDeviceFlags -> WindowsString -> Maybe WindowsString -> IO () Source
getDiskFreeSpace :: Maybe WindowsString -> IO (DWORD, DWORD, DWORD, DWORD) Source
setVolumeLabel :: Maybe WindowsString -> Maybe WindowsString -> IO () Source
getFileExInfoStandard :: GET_FILEEX_INFO_LEVELS Source
getFileExMaxInfoLevel :: GET_FILEEX_INFO_LEVELS Source
closeHandle :: HANDLE -> IO () Source
createFile_NoRetry :: String -> AccessMode -> ShareMode -> Maybe LPSECURITY_ATTRIBUTES -> CreateMode -> FileAttributeOrFlag -> Maybe HANDLE -> IO HANDLE Source
Like createFile, but does not use failIfWithRetry. If another process has the same file open, this will fail.
failIfFalseWithRetry_ :: String -> IO Bool -> IO () Source
failIfWithRetry :: (a -> Bool) -> String -> IO a -> IO a Source
like failIf, but retried on sharing violations. This is necessary for many file operations; see https://www.betaarchive.com/wiki/index.php/Microsoft_KB_Archive/316609
failIfWithRetry_ :: (a -> Bool) -> String -> IO a -> IO () Source
findClose :: HANDLE -> IO () Source
findCloseChangeNotification :: HANDLE -> IO () Source
findNextChangeNotification :: HANDLE -> IO () Source
findNextFile :: HANDLE -> FindData -> IO Bool Source
flushFileBuffers :: HANDLE -> IO () Source
getFileInformationByHandle :: HANDLE -> IO BY_HANDLE_FILE_INFORMATION Source
getLogicalDrives :: IO DWORD Source
| :: HANDLE | CreateFile handle |
| -> LockMode | Locking mode |
| -> DWORD64 | Size of region to lock |
| -> DWORD64 | Beginning offset of file to lock |
| -> IO BOOL | Indicates if locking was successful, if not query getLastError. |
Locks a given range in a file handle, To lock an entire file use 0xFFFFFFFFFFFFFFFF for size and 0 for offset.
setEndOfFile :: HANDLE -> IO () Source
setFilePointerEx :: HANDLE -> LARGE_INTEGER -> FilePtrDirection -> IO LARGE_INTEGER Source
| :: HANDLE | CreateFile handle |
| -> DWORD64 | Size of region to unlock |
| -> DWORD64 | Beginning offset of file to unlock |
| -> IO BOOL | Indicates if unlocking was successful, if not query getLastError. |
Unlocks a given range in a file handle, To unlock an entire file use 0xFFFFFFFFFFFFFFFF for size and 0 for offset.
win32_ReadFile :: HANDLE -> Ptr a -> DWORD -> Maybe LPOVERLAPPED -> IO DWORD Source
win32_WriteFile :: HANDLE -> Ptr a -> DWORD -> Maybe LPOVERLAPPED -> IO DWORD Source
aCCESS_SYSTEM_SECURITY :: AccessMode Source
areFileApisANSI :: IO Bool Source
cREATE_ALWAYS :: CreateMode Source
cREATE_NEW :: CreateMode Source
dDD_EXACT_MATCH_ON_REMOVE :: DefineDosDeviceFlags Source
dDD_RAW_TARGET_PATH :: DefineDosDeviceFlags Source
dDD_REMOVE_DEFINITION :: DefineDosDeviceFlags Source
dRIVE_CDROM :: DriveType Source
dRIVE_FIXED :: DriveType Source
dRIVE_NO_ROOT_DIR :: DriveType Source
dRIVE_RAMDISK :: DriveType Source
dRIVE_REMOTE :: DriveType Source
dRIVE_REMOVABLE :: DriveType Source
dRIVE_UNKNOWN :: DriveType Source
fILE_ADD_FILE :: AccessMode Source
fILE_ADD_SUBDIRECTORY :: AccessMode Source
fILE_ALL_ACCESS :: AccessMode Source
fILE_APPEND_DATA :: AccessMode Source
fILE_ATTRIBUTE_ARCHIVE :: FileAttributeOrFlag Source
fILE_ATTRIBUTE_COMPRESSED :: FileAttributeOrFlag Source
fILE_ATTRIBUTE_DIRECTORY :: FileAttributeOrFlag Source
fILE_ATTRIBUTE_HIDDEN :: FileAttributeOrFlag Source
fILE_ATTRIBUTE_NORMAL :: FileAttributeOrFlag Source
fILE_ATTRIBUTE_READONLY :: FileAttributeOrFlag Source
fILE_ATTRIBUTE_REPARSE_POINT :: FileAttributeOrFlag Source
fILE_ATTRIBUTE_SYSTEM :: FileAttributeOrFlag Source
fILE_ATTRIBUTE_TEMPORARY :: FileAttributeOrFlag Source
fILE_BEGIN :: FilePtrDirection Source
fILE_CREATE_PIPE_INSTANCE :: AccessMode Source
fILE_CURRENT :: FilePtrDirection Source
fILE_DELETE_CHILD :: AccessMode Source
fILE_END :: FilePtrDirection Source
fILE_EXECUTE :: AccessMode Source
fILE_FLAG_BACKUP_SEMANTICS :: FileAttributeOrFlag Source
fILE_FLAG_DELETE_ON_CLOSE :: FileAttributeOrFlag Source
fILE_FLAG_NO_BUFFERING :: FileAttributeOrFlag Source
fILE_FLAG_OVERLAPPED :: FileAttributeOrFlag Source
fILE_FLAG_POSIX_SEMANTICS :: FileAttributeOrFlag Source
fILE_FLAG_RANDOM_ACCESS :: FileAttributeOrFlag Source
fILE_FLAG_SEQUENTIAL_SCAN :: FileAttributeOrFlag Source
fILE_FLAG_WRITE_THROUGH :: FileAttributeOrFlag Source
fILE_LIST_DIRECTORY :: AccessMode Source
fILE_NOTIFY_CHANGE_ATTRIBUTES :: FileNotificationFlag Source
fILE_NOTIFY_CHANGE_DIR_NAME :: FileNotificationFlag Source
fILE_NOTIFY_CHANGE_FILE_NAME :: FileNotificationFlag Source
fILE_NOTIFY_CHANGE_LAST_WRITE :: FileNotificationFlag Source
fILE_NOTIFY_CHANGE_SECURITY :: FileNotificationFlag Source
fILE_NOTIFY_CHANGE_SIZE :: FileNotificationFlag Source
fILE_READ_ATTRIBUTES :: AccessMode Source
fILE_READ_DATA :: AccessMode Source
fILE_READ_EA :: AccessMode Source
fILE_SHARE_DELETE :: ShareMode Source
fILE_SHARE_NONE :: ShareMode Source
fILE_SHARE_READ :: ShareMode Source
fILE_SHARE_WRITE :: ShareMode Source
fILE_TRAVERSE :: AccessMode Source
fILE_TYPE_CHAR :: FileType Source
fILE_TYPE_DISK :: FileType Source
fILE_TYPE_PIPE :: FileType Source
fILE_TYPE_REMOTE :: FileType Source
fILE_TYPE_UNKNOWN :: FileType Source
fILE_WRITE_ATTRIBUTES :: AccessMode Source
fILE_WRITE_DATA :: AccessMode Source
fILE_WRITE_EA :: AccessMode Source
gENERIC_ALL :: AccessMode Source
gENERIC_EXECUTE :: AccessMode Source
gENERIC_NONE :: AccessMode Source
gENERIC_READ :: AccessMode Source
gENERIC_WRITE :: AccessMode Source
getFileType :: HANDLE -> IO FileType Source
lOCKFILE_EXCLUSIVE_LOCK :: LockMode Source
lOCKFILE_FAIL_IMMEDIATELY :: LockMode Source
mAXIMUM_ALLOWED :: AccessMode Source
mOVEFILE_COPY_ALLOWED :: MoveFileFlag Source
mOVEFILE_DELAY_UNTIL_REBOOT :: MoveFileFlag Source
mOVEFILE_REPLACE_EXISTING :: MoveFileFlag Source
oPEN_ALWAYS :: CreateMode Source
oPEN_EXISTING :: CreateMode Source
rEAD_CONTROL :: AccessMode Source
sCS_32BIT_BINARY :: BinaryType Source
sCS_DOS_BINARY :: BinaryType Source
sCS_OS216_BINARY :: BinaryType Source
sCS_PIF_BINARY :: BinaryType Source
sCS_POSIX_BINARY :: BinaryType Source
sCS_WOW_BINARY :: BinaryType Source
sECURITY_ANONYMOUS :: FileAttributeOrFlag Source
sECURITY_CONTEXT_TRACKING :: FileAttributeOrFlag Source
sECURITY_DELEGATION :: FileAttributeOrFlag Source
sECURITY_EFFECTIVE_ONLY :: FileAttributeOrFlag Source
sECURITY_IDENTIFICATION :: FileAttributeOrFlag Source
sECURITY_IMPERSONATION :: FileAttributeOrFlag Source
sECURITY_SQOS_PRESENT :: FileAttributeOrFlag Source
sECURITY_VALID_SQOS_FLAGS :: FileAttributeOrFlag Source
sPECIFIC_RIGHTS_ALL :: AccessMode Source
sTANDARD_RIGHTS_ALL :: AccessMode Source
sTANDARD_RIGHTS_EXECUTE :: AccessMode Source
sTANDARD_RIGHTS_READ :: AccessMode Source
sTANDARD_RIGHTS_REQUIRED :: AccessMode Source
sTANDARD_RIGHTS_WRITE :: AccessMode Source
sYNCHRONIZE :: AccessMode Source
setFileApisToANSI :: IO () Source
setFileApisToOEM :: IO () Source
setHandleCount :: UINT -> IO UINT Source
tRUNCATE_EXISTING :: CreateMode Source
wRITE_DAC :: AccessMode Source
wRITE_OWNER :: AccessMode Source
type AccessMode = UINT Source
data BY_HANDLE_FILE_INFORMATION Source
| BY_HANDLE_FILE_INFORMATION | |
| Storable BY_HANDLE_FILE_INFORMATION Source | |
Defined in System.Win32.File.Internal MethodssizeOf :: BY_HANDLE_FILE_INFORMATION -> Int alignment :: BY_HANDLE_FILE_INFORMATION -> Int peekElemOff :: Ptr BY_HANDLE_FILE_INFORMATION -> Int -> IO BY_HANDLE_FILE_INFORMATION pokeElemOff :: Ptr BY_HANDLE_FILE_INFORMATION -> Int -> BY_HANDLE_FILE_INFORMATION -> IO () peekByteOff :: Ptr b -> Int -> IO BY_HANDLE_FILE_INFORMATION pokeByteOff :: Ptr b -> Int -> BY_HANDLE_FILE_INFORMATION -> IO () peek :: Ptr BY_HANDLE_FILE_INFORMATION -> IO BY_HANDLE_FILE_INFORMATION poke :: Ptr BY_HANDLE_FILE_INFORMATION -> BY_HANDLE_FILE_INFORMATION -> IO () | |
| Show BY_HANDLE_FILE_INFORMATION Source | |
Defined in System.Win32.File.Internal MethodsshowsPrec :: Int -> BY_HANDLE_FILE_INFORMATION -> ShowS show :: BY_HANDLE_FILE_INFORMATION -> String showList :: [BY_HANDLE_FILE_INFORMATION] -> ShowS | |
type BinaryType = DWORD Source
type CreateMode = UINT Source
type DefineDosDeviceFlags = DWORD Source
type FileAttributeOrFlag = UINT Source
type FileNotificationFlag = DWORD Source
type FilePtrDirection = DWORD Source
data GET_FILEEX_INFO_LEVELS Source
| Eq GET_FILEEX_INFO_LEVELS Source | |
Defined in System.Win32.File.Internal Methods(==) :: GET_FILEEX_INFO_LEVELS -> GET_FILEEX_INFO_LEVELS -> Bool (/=) :: GET_FILEEX_INFO_LEVELS -> GET_FILEEX_INFO_LEVELS -> Bool | |
| Ord GET_FILEEX_INFO_LEVELS Source | |
Defined in System.Win32.File.Internal Methodscompare :: GET_FILEEX_INFO_LEVELS -> GET_FILEEX_INFO_LEVELS -> Ordering (<) :: GET_FILEEX_INFO_LEVELS -> GET_FILEEX_INFO_LEVELS -> Bool (<=) :: GET_FILEEX_INFO_LEVELS -> GET_FILEEX_INFO_LEVELS -> Bool (>) :: GET_FILEEX_INFO_LEVELS -> GET_FILEEX_INFO_LEVELS -> Bool (>=) :: GET_FILEEX_INFO_LEVELS -> GET_FILEEX_INFO_LEVELS -> Bool max :: GET_FILEEX_INFO_LEVELS -> GET_FILEEX_INFO_LEVELS -> GET_FILEEX_INFO_LEVELS min :: GET_FILEEX_INFO_LEVELS -> GET_FILEEX_INFO_LEVELS -> GET_FILEEX_INFO_LEVELS | |
type LPOVERLAPPED = Ptr OVERLAPPED Source
type LPSECURITY_ATTRIBUTES = Ptr SECURITY_ATTRIBUTES Source
type MbLPOVERLAPPED = Maybe LPOVERLAPPED Source
type MbLPSECURITY_ATTRIBUTES = Maybe LPSECURITY_ATTRIBUTES Source
type MoveFileFlag = DWORD Source
data OVERLAPPED Source
| OVERLAPPED | |
Fields
| |
| Storable OVERLAPPED Source | |
Defined in System.Win32.File.Internal MethodssizeOf :: OVERLAPPED -> Int alignment :: OVERLAPPED -> Int peekElemOff :: Ptr OVERLAPPED -> Int -> IO OVERLAPPED pokeElemOff :: Ptr OVERLAPPED -> Int -> OVERLAPPED -> IO () peekByteOff :: Ptr b -> Int -> IO OVERLAPPED pokeByteOff :: Ptr b -> Int -> OVERLAPPED -> IO () peek :: Ptr OVERLAPPED -> IO OVERLAPPED poke :: Ptr OVERLAPPED -> OVERLAPPED -> IO () | |
| Show OVERLAPPED Source | |
Defined in System.Win32.File.Internal MethodsshowsPrec :: Int -> OVERLAPPED -> ShowS show :: OVERLAPPED -> String showList :: [OVERLAPPED] -> ShowS | |
type PSECURITY_ATTRIBUTES = Ptr SECURITY_ATTRIBUTES Source
data SECURITY_ATTRIBUTES Source
| SECURITY_ATTRIBUTES | |
Fields
| |
| Storable SECURITY_ATTRIBUTES Source | |
Defined in System.Win32.File.Internal MethodssizeOf :: SECURITY_ATTRIBUTES -> Int alignment :: SECURITY_ATTRIBUTES -> Int peekElemOff :: Ptr SECURITY_ATTRIBUTES -> Int -> IO SECURITY_ATTRIBUTES pokeElemOff :: Ptr SECURITY_ATTRIBUTES -> Int -> SECURITY_ATTRIBUTES -> IO () peekByteOff :: Ptr b -> Int -> IO SECURITY_ATTRIBUTES pokeByteOff :: Ptr b -> Int -> SECURITY_ATTRIBUTES -> IO () peek :: Ptr SECURITY_ATTRIBUTES -> IO SECURITY_ATTRIBUTES poke :: Ptr SECURITY_ATTRIBUTES -> SECURITY_ATTRIBUTES -> IO () | |
| Show SECURITY_ATTRIBUTES Source | |
Defined in System.Win32.File.Internal MethodsshowsPrec :: Int -> SECURITY_ATTRIBUTES -> ShowS show :: SECURITY_ATTRIBUTES -> String showList :: [SECURITY_ATTRIBUTES] -> ShowS | |
data WIN32_FILE_ATTRIBUTE_DATA Source
| WIN32_FILE_ATTRIBUTE_DATA | |
Fields | |
| Storable WIN32_FILE_ATTRIBUTE_DATA Source | |
Defined in System.Win32.File.Internal MethodssizeOf :: WIN32_FILE_ATTRIBUTE_DATA -> Int alignment :: WIN32_FILE_ATTRIBUTE_DATA -> Int peekElemOff :: Ptr WIN32_FILE_ATTRIBUTE_DATA -> Int -> IO WIN32_FILE_ATTRIBUTE_DATA pokeElemOff :: Ptr WIN32_FILE_ATTRIBUTE_DATA -> Int -> WIN32_FILE_ATTRIBUTE_DATA -> IO () peekByteOff :: Ptr b -> Int -> IO WIN32_FILE_ATTRIBUTE_DATA pokeByteOff :: Ptr b -> Int -> WIN32_FILE_ATTRIBUTE_DATA -> IO () peek :: Ptr WIN32_FILE_ATTRIBUTE_DATA -> IO WIN32_FILE_ATTRIBUTE_DATA poke :: Ptr WIN32_FILE_ATTRIBUTE_DATA -> WIN32_FILE_ATTRIBUTE_DATA -> IO () | |
| Show WIN32_FILE_ATTRIBUTE_DATA Source | |
Defined in System.Win32.File.Internal MethodsshowsPrec :: Int -> WIN32_FILE_ATTRIBUTE_DATA -> ShowS show :: WIN32_FILE_ATTRIBUTE_DATA -> String showList :: [WIN32_FILE_ATTRIBUTE_DATA] -> ShowS | |
© The University of Glasgow and others
Licensed under a BSD-style license (see top of the page).
https://downloads.haskell.org/~ghc/9.12.1/docs/libraries/Win32-2.14.1.0-d391/System-Win32-WindowsString-File.html