| ||||||||||||||||||||
| ||||||||||||||||||||
| Description | ||||||||||||||||||||
| A collection of FFI declarations for interfacing with Win32. | ||||||||||||||||||||
| Documentation | ||||||||||||||||||||
| type AccessMode = UINT | ||||||||||||||||||||
| gENERIC_NONE :: AccessMode | ||||||||||||||||||||
| gENERIC_READ :: AccessMode | ||||||||||||||||||||
| gENERIC_WRITE :: AccessMode | ||||||||||||||||||||
| gENERIC_EXECUTE :: AccessMode | ||||||||||||||||||||
| gENERIC_ALL :: AccessMode | ||||||||||||||||||||
| dELETE :: AccessMode | ||||||||||||||||||||
| rEAD_CONTROL :: AccessMode | ||||||||||||||||||||
| wRITE_DAC :: AccessMode | ||||||||||||||||||||
| wRITE_OWNER :: AccessMode | ||||||||||||||||||||
| sYNCHRONIZE :: 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 | ||||||||||||||||||||
| mAXIMUM_ALLOWED :: AccessMode | ||||||||||||||||||||
| type ShareMode = UINT | ||||||||||||||||||||
| fILE_SHARE_NONE :: ShareMode | ||||||||||||||||||||
| fILE_SHARE_READ :: ShareMode | ||||||||||||||||||||
| fILE_SHARE_WRITE :: ShareMode | ||||||||||||||||||||
| type CreateMode = UINT | ||||||||||||||||||||
| cREATE_NEW :: CreateMode | ||||||||||||||||||||
| cREATE_ALWAYS :: CreateMode | ||||||||||||||||||||
| oPEN_EXISTING :: CreateMode | ||||||||||||||||||||
| oPEN_ALWAYS :: CreateMode | ||||||||||||||||||||
| 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_FLAG_WRITE_THROUGH :: FileAttributeOrFlag | ||||||||||||||||||||
| fILE_FLAG_OVERLAPPED :: FileAttributeOrFlag | ||||||||||||||||||||
| fILE_FLAG_NO_BUFFERING :: FileAttributeOrFlag | ||||||||||||||||||||
| fILE_FLAG_RANDOM_ACCESS :: FileAttributeOrFlag | ||||||||||||||||||||
| fILE_FLAG_SEQUENTIAL_SCAN :: FileAttributeOrFlag | ||||||||||||||||||||
| fILE_FLAG_DELETE_ON_CLOSE :: FileAttributeOrFlag | ||||||||||||||||||||
| fILE_FLAG_BACKUP_SEMANTICS :: FileAttributeOrFlag | ||||||||||||||||||||
| fILE_FLAG_POSIX_SEMANTICS :: FileAttributeOrFlag | ||||||||||||||||||||
| sECURITY_ANONYMOUS :: FileAttributeOrFlag | ||||||||||||||||||||
| sECURITY_IDENTIFICATION :: FileAttributeOrFlag | ||||||||||||||||||||
| sECURITY_IMPERSONATION :: FileAttributeOrFlag | ||||||||||||||||||||
| sECURITY_DELEGATION :: FileAttributeOrFlag | ||||||||||||||||||||
| sECURITY_CONTEXT_TRACKING :: FileAttributeOrFlag | ||||||||||||||||||||
| sECURITY_EFFECTIVE_ONLY :: FileAttributeOrFlag | ||||||||||||||||||||
| sECURITY_SQOS_PRESENT :: FileAttributeOrFlag | ||||||||||||||||||||
| sECURITY_VALID_SQOS_FLAGS :: FileAttributeOrFlag | ||||||||||||||||||||
| type MoveFileFlag = DWORD | ||||||||||||||||||||
| mOVEFILE_REPLACE_EXISTING :: MoveFileFlag | ||||||||||||||||||||
| mOVEFILE_COPY_ALLOWED :: MoveFileFlag | ||||||||||||||||||||
| mOVEFILE_DELAY_UNTIL_REBOOT :: MoveFileFlag | ||||||||||||||||||||
| type FilePtrDirection = DWORD | ||||||||||||||||||||
| fILE_BEGIN :: FilePtrDirection | ||||||||||||||||||||
| fILE_CURRENT :: FilePtrDirection | ||||||||||||||||||||
| fILE_END :: FilePtrDirection | ||||||||||||||||||||
| type DriveType = UINT | ||||||||||||||||||||
| dRIVE_UNKNOWN :: DriveType | ||||||||||||||||||||
| dRIVE_NO_ROOT_DIR :: DriveType | ||||||||||||||||||||
| dRIVE_REMOVABLE :: DriveType | ||||||||||||||||||||
| dRIVE_FIXED :: DriveType | ||||||||||||||||||||
| dRIVE_REMOTE :: DriveType | ||||||||||||||||||||
| dRIVE_CDROM :: DriveType | ||||||||||||||||||||
| dRIVE_RAMDISK :: 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_DOS_BINARY :: BinaryType | ||||||||||||||||||||
| sCS_WOW_BINARY :: BinaryType | ||||||||||||||||||||
| sCS_PIF_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 | ||||||||||||||||||||
| type FileType = DWORD | ||||||||||||||||||||
| fILE_TYPE_UNKNOWN :: FileType | ||||||||||||||||||||
| fILE_TYPE_DISK :: FileType | ||||||||||||||||||||
| fILE_TYPE_CHAR :: FileType | ||||||||||||||||||||
| fILE_TYPE_PIPE :: FileType | ||||||||||||||||||||
| fILE_TYPE_REMOTE :: FileType | ||||||||||||||||||||
| type LPSECURITY_ATTRIBUTES = Ptr () | ||||||||||||||||||||
| type MbLPSECURITY_ATTRIBUTES = Maybe LPSECURITY_ATTRIBUTES | ||||||||||||||||||||
| data BY_HANDLE_FILE_INFORMATION | ||||||||||||||||||||
| ||||||||||||||||||||
| 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 -> 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 | ||||||||||||||||||||
| 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 | ||||||||||||||||||||
| defineDosDevice :: DefineDosDeviceFlags -> String -> String -> IO () | ||||||||||||||||||||
| c_DefineDosDevice :: DefineDosDeviceFlags -> LPCTSTR -> LPCTSTR -> IO Bool | ||||||||||||||||||||
| areFileApisANSI :: IO Bool | ||||||||||||||||||||
| setFileApisToOEM :: IO () | ||||||||||||||||||||
| setFileApisToANSI :: IO () | ||||||||||||||||||||
| setHandleCount :: UINT -> IO UINT | ||||||||||||||||||||
| getLogicalDrives :: IO DWORD | ||||||||||||||||||||
| 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 :: String -> String -> IO () | ||||||||||||||||||||
| c_SetVolumeLabel :: LPCTSTR -> LPCTSTR -> IO Bool | ||||||||||||||||||||
| Produced by Haddock version 0.8 | ||||||||||||||||||||