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 | Haskell2010 |
Description
A collection of FFI declarations for interfacing with Win32.
type AccessMode = UINT
dELETE :: AccessMode
sTANDARD_RIGHTS_REQUIRED :: AccessMode
sTANDARD_RIGHTS_READ :: AccessMode
sTANDARD_RIGHTS_WRITE :: AccessMode
sTANDARD_RIGHTS_EXECUTE :: AccessMode
sTANDARD_RIGHTS_ALL :: AccessMode
sPECIFIC_RIGHTS_ALL :: AccessMode
aCCESS_SYSTEM_SECURITY :: AccessMode
fILE_ADD_SUBDIRECTORY :: AccessMode
fILE_APPEND_DATA :: AccessMode
fILE_CREATE_PIPE_INSTANCE :: AccessMode
fILE_DELETE_CHILD :: AccessMode
fILE_LIST_DIRECTORY :: AccessMode
fILE_READ_ATTRIBUTES :: AccessMode
fILE_WRITE_ATTRIBUTES :: AccessMode
fILE_SHARE_DELETE :: ShareMode
type CreateMode = UINT
tRUNCATE_EXISTING :: CreateMode
type FileAttributeOrFlag = UINT
fILE_ATTRIBUTE_READONLY :: FileAttributeOrFlag
fILE_ATTRIBUTE_HIDDEN :: FileAttributeOrFlag
fILE_ATTRIBUTE_SYSTEM :: FileAttributeOrFlag
fILE_ATTRIBUTE_DIRECTORY :: FileAttributeOrFlag
fILE_ATTRIBUTE_ARCHIVE :: FileAttributeOrFlag
fILE_ATTRIBUTE_NORMAL :: FileAttributeOrFlag
fILE_ATTRIBUTE_TEMPORARY :: FileAttributeOrFlag
fILE_ATTRIBUTE_COMPRESSED :: FileAttributeOrFlag
fILE_ATTRIBUTE_REPARSE_POINT :: FileAttributeOrFlag
fILE_FLAG_WRITE_THROUGH :: FileAttributeOrFlag
sECURITY_ANONYMOUS :: FileAttributeOrFlag
fILE_FLAG_OVERLAPPED :: FileAttributeOrFlag
sECURITY_IDENTIFICATION :: FileAttributeOrFlag
fILE_FLAG_NO_BUFFERING :: FileAttributeOrFlag
sECURITY_IMPERSONATION :: FileAttributeOrFlag
fILE_FLAG_RANDOM_ACCESS :: FileAttributeOrFlag
sECURITY_DELEGATION :: FileAttributeOrFlag
fILE_FLAG_SEQUENTIAL_SCAN :: FileAttributeOrFlag
sECURITY_CONTEXT_TRACKING :: FileAttributeOrFlag
fILE_FLAG_DELETE_ON_CLOSE :: FileAttributeOrFlag
sECURITY_EFFECTIVE_ONLY :: FileAttributeOrFlag
fILE_FLAG_BACKUP_SEMANTICS :: FileAttributeOrFlag
sECURITY_SQOS_PRESENT :: FileAttributeOrFlag
fILE_FLAG_POSIX_SEMANTICS :: FileAttributeOrFlag
type MoveFileFlag = DWORD
sECURITY_VALID_SQOS_FLAGS :: FileAttributeOrFlag
mOVEFILE_REPLACE_EXISTING :: MoveFileFlag
mOVEFILE_COPY_ALLOWED :: MoveFileFlag
mOVEFILE_DELAY_UNTIL_REBOOT :: MoveFileFlag
type FilePtrDirection = DWORD
fILE_BEGIN :: FilePtrDirection
fILE_CURRENT :: FilePtrDirection
dRIVE_NO_ROOT_DIR :: DriveType
type DefineDosDeviceFlags = DWORD
dDD_RAW_TARGET_PATH :: DefineDosDeviceFlags
dDD_REMOVE_DEFINITION :: DefineDosDeviceFlags
dDD_EXACT_MATCH_ON_REMOVE :: DefineDosDeviceFlags
type BinaryType = DWORD
sCS_32BIT_BINARY :: BinaryType
sCS_POSIX_BINARY :: BinaryType
sCS_OS216_BINARY :: BinaryType
type FileNotificationFlag = DWORD
fILE_NOTIFY_CHANGE_FILE_NAME :: FileNotificationFlag
fILE_NOTIFY_CHANGE_DIR_NAME :: FileNotificationFlag
fILE_NOTIFY_CHANGE_ATTRIBUTES :: FileNotificationFlag
fILE_NOTIFY_CHANGE_SIZE :: FileNotificationFlag
fILE_NOTIFY_CHANGE_LAST_WRITE :: FileNotificationFlag
fILE_NOTIFY_CHANGE_SECURITY :: FileNotificationFlag
newtype GET_FILEEX_INFO_LEVELS
Constructors
GET_FILEEX_INFO_LEVELS Word32 |
Instances
Eq GET_FILEEX_INFO_LEVELS | |
Defined in System.Win32.File Methods(==) :: GET_FILEEX_INFO_LEVELS -> GET_FILEEX_INFO_LEVELS -> Bool (/=) :: GET_FILEEX_INFO_LEVELS -> GET_FILEEX_INFO_LEVELS -> Bool | |
Ord GET_FILEEX_INFO_LEVELS | |
Defined in System.Win32.File 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 |
getFileExInfoStandard :: GET_FILEEX_INFO_LEVELS
getFileExMaxInfoLevel :: GET_FILEEX_INFO_LEVELS
type LPSECURITY_ATTRIBUTES = Ptr ()
type MbLPSECURITY_ATTRIBUTES = Maybe LPSECURITY_ATTRIBUTES
data BY_HANDLE_FILE_INFORMATION
Constructors
BY_HANDLE_FILE_INFORMATION | |
Instances
Show BY_HANDLE_FILE_INFORMATION | |
Defined in System.Win32.File MethodsshowsPrec :: Int -> BY_HANDLE_FILE_INFORMATION -> ShowS Source | |
Storable BY_HANDLE_FILE_INFORMATION | |
Defined in System.Win32.File MethodssizeOf :: BY_HANDLE_FILE_INFORMATION -> Int Source alignment :: BY_HANDLE_FILE_INFORMATION -> Int Source peekElemOff :: Ptr BY_HANDLE_FILE_INFORMATION -> Int -> IO BY_HANDLE_FILE_INFORMATION Source pokeElemOff :: Ptr BY_HANDLE_FILE_INFORMATION -> Int -> BY_HANDLE_FILE_INFORMATION -> IO () Source peekByteOff :: Ptr b -> Int -> IO BY_HANDLE_FILE_INFORMATION Source pokeByteOff :: Ptr b -> Int -> BY_HANDLE_FILE_INFORMATION -> IO () Source peek :: Ptr BY_HANDLE_FILE_INFORMATION -> IO BY_HANDLE_FILE_INFORMATION Source poke :: Ptr BY_HANDLE_FILE_INFORMATION -> BY_HANDLE_FILE_INFORMATION -> IO () Source |
data WIN32_FILE_ATTRIBUTE_DATA
Constructors
WIN32_FILE_ATTRIBUTE_DATA | |
Fields |
Instances
Show WIN32_FILE_ATTRIBUTE_DATA | |
Defined in System.Win32.File MethodsshowsPrec :: Int -> WIN32_FILE_ATTRIBUTE_DATA -> ShowS Source show :: WIN32_FILE_ATTRIBUTE_DATA -> String Source showList :: [WIN32_FILE_ATTRIBUTE_DATA] -> ShowS Source | |
Storable WIN32_FILE_ATTRIBUTE_DATA | |
Defined in System.Win32.File MethodssizeOf :: WIN32_FILE_ATTRIBUTE_DATA -> Int Source alignment :: WIN32_FILE_ATTRIBUTE_DATA -> Int Source peekElemOff :: Ptr WIN32_FILE_ATTRIBUTE_DATA -> Int -> IO WIN32_FILE_ATTRIBUTE_DATA Source pokeElemOff :: Ptr WIN32_FILE_ATTRIBUTE_DATA -> Int -> WIN32_FILE_ATTRIBUTE_DATA -> IO () Source peekByteOff :: Ptr b -> Int -> IO WIN32_FILE_ATTRIBUTE_DATA Source pokeByteOff :: Ptr b -> Int -> WIN32_FILE_ATTRIBUTE_DATA -> IO () Source peek :: Ptr WIN32_FILE_ATTRIBUTE_DATA -> IO WIN32_FILE_ATTRIBUTE_DATA Source poke :: Ptr WIN32_FILE_ATTRIBUTE_DATA -> WIN32_FILE_ATTRIBUTE_DATA -> IO () Source |
failIfWithRetry :: (a -> Bool) -> String -> IO a -> IO a
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 ()
failIfFalseWithRetry_ :: String -> IO Bool -> IO ()
deleteFile :: String -> IO ()
c_DeleteFile :: LPCTSTR -> IO Bool
copyFile :: String -> String -> Bool -> IO ()
c_CopyFile :: LPCTSTR -> LPCTSTR -> Bool -> IO Bool
moveFile :: String -> String -> IO ()
c_MoveFile :: LPCTSTR -> LPCTSTR -> IO Bool
moveFileEx :: String -> Maybe String -> MoveFileFlag -> IO ()
c_MoveFileEx :: LPCTSTR -> LPCTSTR -> MoveFileFlag -> IO Bool
setCurrentDirectory :: String -> IO ()
c_SetCurrentDirectory :: LPCTSTR -> IO Bool
createDirectory :: String -> Maybe LPSECURITY_ATTRIBUTES -> IO ()
c_CreateDirectory :: LPCTSTR -> LPSECURITY_ATTRIBUTES -> IO Bool
createDirectoryEx :: String -> String -> Maybe LPSECURITY_ATTRIBUTES -> IO ()
c_CreateDirectoryEx :: LPCTSTR -> LPCTSTR -> LPSECURITY_ATTRIBUTES -> IO Bool
removeDirectory :: String -> IO ()
c_RemoveDirectory :: LPCTSTR -> IO Bool
getBinaryType :: String -> IO BinaryType
c_GetBinaryType :: LPCTSTR -> Ptr DWORD -> IO Bool
createFile :: String -> AccessMode -> ShareMode -> Maybe LPSECURITY_ATTRIBUTES -> CreateMode -> FileAttributeOrFlag -> Maybe HANDLE -> IO HANDLE
c_CreateFile :: LPCTSTR -> AccessMode -> ShareMode -> LPSECURITY_ATTRIBUTES -> CreateMode -> FileAttributeOrFlag -> HANDLE -> IO HANDLE
closeHandle :: HANDLE -> IO ()
c_CloseHandle :: HANDLE -> IO Bool
c_CloseHandleFinaliser :: FunPtr (Ptr a -> IO ())
getFileType :: HANDLE -> IO FileType
flushFileBuffers :: HANDLE -> IO ()
c_FlushFileBuffers :: HANDLE -> IO Bool
setEndOfFile :: HANDLE -> IO ()
c_SetEndOfFile :: HANDLE -> IO Bool
setFileAttributes :: String -> FileAttributeOrFlag -> IO ()
c_SetFileAttributes :: LPCTSTR -> FileAttributeOrFlag -> IO Bool
getFileAttributes :: String -> IO FileAttributeOrFlag
c_GetFileAttributes :: LPCTSTR -> IO FileAttributeOrFlag
getFileAttributesExStandard :: String -> IO WIN32_FILE_ATTRIBUTE_DATA
c_GetFileAttributesEx :: LPCTSTR -> GET_FILEEX_INFO_LEVELS -> Ptr a -> IO BOOL
getFileInformationByHandle :: HANDLE -> IO BY_HANDLE_FILE_INFORMATION
c_GetFileInformationByHandle :: HANDLE -> Ptr BY_HANDLE_FILE_INFORMATION -> IO BOOL
type LPOVERLAPPED = Ptr ()
type MbLPOVERLAPPED = Maybe LPOVERLAPPED
win32_ReadFile :: HANDLE -> Ptr a -> DWORD -> Maybe LPOVERLAPPED -> IO DWORD
c_ReadFile :: HANDLE -> Ptr a -> DWORD -> Ptr DWORD -> LPOVERLAPPED -> IO Bool
win32_WriteFile :: HANDLE -> Ptr a -> DWORD -> Maybe LPOVERLAPPED -> IO DWORD
c_WriteFile :: HANDLE -> Ptr a -> DWORD -> Ptr DWORD -> LPOVERLAPPED -> IO Bool
findFirstChangeNotification :: String -> Bool -> FileNotificationFlag -> IO HANDLE
c_FindFirstChangeNotification :: LPCTSTR -> Bool -> FileNotificationFlag -> IO HANDLE
findNextChangeNotification :: HANDLE -> IO ()
c_FindNextChangeNotification :: HANDLE -> IO Bool
findCloseChangeNotification :: HANDLE -> IO ()
c_FindCloseChangeNotification :: HANDLE -> IO Bool
type WIN32_FIND_DATA = ()
newtype FindData
Constructors
FindData (ForeignPtr WIN32_FIND_DATA) |
getFindDataFileName :: FindData -> IO FilePath
findFirstFile :: String -> IO (HANDLE, FindData)
c_FindFirstFile :: LPCTSTR -> Ptr WIN32_FIND_DATA -> IO HANDLE
findNextFile :: HANDLE -> FindData -> IO Bool
c_FindNextFile :: HANDLE -> Ptr WIN32_FIND_DATA -> IO BOOL
c_FindClose :: HANDLE -> IO BOOL
defineDosDevice :: DefineDosDeviceFlags -> String -> Maybe String -> IO ()
c_DefineDosDevice :: DefineDosDeviceFlags -> LPCTSTR -> LPCTSTR -> IO Bool
setFileApisToOEM :: IO ()
setFileApisToANSI :: IO ()
setHandleCount :: UINT -> IO UINT
c_GetLogicalDrives :: IO DWORD
getDiskFreeSpace :: Maybe String -> IO (DWORD, DWORD, DWORD, DWORD)
c_GetDiskFreeSpace :: LPCTSTR -> Ptr DWORD -> Ptr DWORD -> Ptr DWORD -> Ptr DWORD -> IO Bool
setVolumeLabel :: Maybe String -> Maybe String -> IO ()
c_SetVolumeLabel :: LPCTSTR -> LPCTSTR -> IO Bool
© 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-File.html