]> gitweb.factorcode.org Git - factor.git/blobdiff - basis/windows/kernel32/kernel32.factor
windows.kernel32: add the FILE_* constants for GetVolumeInformation
[factor.git] / basis / windows / kernel32 / kernel32.factor
index c28f8e63166ee72622c0d24f955cbf5c7d1d2b99..c6a86e28242141eade27810218c261d3b6211d28 100644 (file)
@@ -103,6 +103,27 @@ CONSTANT: FILE_ACTION_ADDED_STREAM 6
 CONSTANT: FILE_ACTION_REMOVED_STREAM 7
 CONSTANT: FILE_ACTION_MODIFIED_STREAM 8
 
+CONSTANT: FILE_CASE_SENSITIVE_SEARCH        0x00000001
+CONSTANT: FILE_CASE_PRESERVED_NAMES         0x00000002
+CONSTANT: FILE_UNICODE_ON_DISK              0x00000004
+CONSTANT: FILE_PERSISTENT_ACLS              0x00000008
+CONSTANT: FILE_FILE_COMPRESSION             0x00000010
+CONSTANT: FILE_VOLUME_QUOTAS                0x00000020
+CONSTANT: FILE_SUPPORTS_SPARSE_FILES        0x00000040
+CONSTANT: FILE_SUPPORTS_REPARSE_POINTS      0x00000080
+CONSTANT: FILE_VOLUME_IS_COMPRESSED         0x00008000
+CONSTANT: FILE_SUPPORTS_OBJECT_IDS          0x00010000
+CONSTANT: FILE_SUPPORTS_ENCRYPTION          0x00020000
+CONSTANT: FILE_NAMED_STREAMS                0x00040000
+CONSTANT: FILE_READ_ONLY_VOLUME             0x00080000
+CONSTANT: FILE_SEQUENTIAL_WRITE_ONCE        0x00100000
+CONSTANT: FILE_SUPPORTS_TRANSACTIONS        0x00200000
+CONSTANT: FILE_SUPPORTS_HARD_LINKS          0x00400000
+CONSTANT: FILE_SUPPORTS_EXTENDED_ATTRIBUTES 0x00800000
+CONSTANT: FILE_SUPPORTS_OPEN_BY_FILE_ID     0x01000000
+CONSTANT: FILE_SUPPORTS_USN_JOURNAL         0x02000000
+CONSTANT: FILE_DAX_VOLUME                   0x20000000
+
 CONSTANT: DONT_RESOLVE_DLL_REFERENCES 1
 
 STRUCT: FILE_NOTIFY_INFORMATION
@@ -345,7 +366,7 @@ STRUCT: GUID
     { Data3 WORD }
     { Data4 UCHAR[8] } ;
 
-/*
+![[
     fBinary  :1;
     fParity  :1;
     fOutxCtsFlow  :1;
@@ -360,7 +381,7 @@ STRUCT: GUID
     fRtsControl  :2;
     fAbortOnError  :1;
     fDummy2  :17;
-*/
+]]
 
 CONSTANT: SP_SERIALCOMM   0x1
 CONSTANT: BAUD_075        0x1
@@ -1161,6 +1182,28 @@ ALIAS: FindFirstChangeNotification FindFirstChangeNotificationW
 ! FUNCTION: FindFirstFileExW
 FUNCTION: HANDLE FindFirstFileW ( LPCTSTR lpFileName, LPWIN32_FIND_DATA lpFindFileData )
 ALIAS: FindFirstFile FindFirstFileW
+
+ENUM: STREAM_INFO_LEVELS
+    FindStreamInfoStandard
+    FindStreamInfoMaxInfoLevel ;
+
+STRUCT: WIN32_FIND_STREAM_DATA
+    { StreamSize LARGE_INTEGER }
+    { cStreamName WCHAR[292] } ;
+
+TYPEDEF: WIN32_FIND_STREAM_DATA* PWIN32_FIND_STREAM_DATA
+
+FUNCTION: HANDLE FindFirstStreamW (
+    LPCWSTR            lpFileName,
+    STREAM_INFO_LEVELS InfoLevel,
+    LPVOID             lpFindStreamData,
+    DWORD              dwFlags
+)
+ALIAS: FindFirstStream FindFirstStreamW
+
+FUNCTION: BOOL FindNextStreamW ( HANDLE hFindStream, LPVOID lpFindStreamData )
+ALIAS: FindNextStream FindNextStreamW
+
 ! FUNCTION: FindFirstVolumeA
 ! FUNCTION: FindFirstVolumeMountPointA
 
@@ -1654,7 +1697,8 @@ FUNCTION: LPVOID MapViewOfFileEx ( HANDLE hFileMappingObject,
 ! FUNCTION: Module32NextW
 ! FUNCTION: MoveFileA
 ! FUNCTION: MoveFileExA
-! FUNCTION: MoveFileExW
+FUNCTION: BOOL MoveFileExW ( LPCSTR lpExistingFile, LPCSTR lpNewFileName, DWORD dwFlags )
+ALIAS: MoveFileEx MoveFileExW
 FUNCTION: BOOL MoveFileW ( LPCTSTR lpExistingFileName, LPCTSTR lpNewFileName )
 ALIAS: MoveFile MoveFileW
 ! FUNCTION: MoveFileWithProgressA
@@ -1678,7 +1722,7 @@ ALIAS: OpenFileMapping OpenFileMappingW
 ! FUNCTION: OpenJobObjectA
 ! FUNCTION: OpenJobObjectW
 ! FUNCTION: OpenMutexA
-! FUNCTION: OpenMutexW 
+! FUNCTION: OpenMutexW  
 FUNCTION: HANDLE OpenProcess ( DWORD dwDesiredAccess, BOOL bInheritHandle, DWORD dwProcessId )
 ! FUNCTION: OpenProfileUserMapping
 ! FUNCTION: OpenSemaphoreA
@@ -1838,7 +1882,7 @@ FUNCTION: DWORD SetFilePointerEx ( HANDLE hFile, LARGE_INTEGER lDistanceToMove,
 ! FUNCTION: SetFileShortNameA
 ! FUNCTION: SetFileShortNameW
 FUNCTION: BOOL SetFileTime ( HANDLE hFile, FILETIME* lpCreationTime, FILETIME* lpLastAccessTime, FILETIME* lpLastWriteTime )
-! FUNCTION: SetFileValidData
+FUNCTION: BOOL SetFileValidData ( HANDLE hFile, LONGLONG ValidDataLength )
 ! FUNCTION: SetFirmwareEnvironmentVariableA
 ! FUNCTION: SetFirmwareEnvironmentVariableW
 ! FUNCTION: SetHandleContext