From a43cee934eb1365560b9b4e60e22e4c019c76107 Mon Sep 17 00:00:00 2001 From: Wrath Date: Thu, 13 Nov 2025 23:36:16 -0500 Subject: [PATCH] LockFileEx/UnlockFileEx and related flags --- core/sys/windows/kernel32.odin | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/core/sys/windows/kernel32.odin b/core/sys/windows/kernel32.odin index c48ea4ccf..e5163bac7 100644 --- a/core/sys/windows/kernel32.odin +++ b/core/sys/windows/kernel32.odin @@ -342,6 +342,22 @@ foreign kernel32 { hTemplateFile: HANDLE, ) -> HANDLE --- + LockFileEx :: proc( + hFile: HANDLE, + dwFLags: DWORD, + dwReserved: DWORD, + nNumberOfBytesToLockLow: DWORD, + nNumberOfBytesToLockHigh: DWORD, + lpOverlapped: ^LPOVERLAPPED, + ) -> BOOL --- + UnlockFileEx :: proc( + hFile: HANDLE, + dwReserved: DWORD, + nNumberOfBytesToUnlockLow: DWORD, + nNumberOfBytesToLockHigh: DWORD, + lpOverlapped: ^LPOVERLAPPED, + ) -> BOOL --- + GetFileTime :: proc( hFile: HANDLE, lpCreationTime: LPFILETIME, @@ -684,6 +700,9 @@ FILE_MAP_RESERVE :: DWORD(0x80000000) FILE_MAP_TARGETS_INVALID :: DWORD(0x40000000) FILE_MAP_LARGE_PAGES :: DWORD(0x20000000) +LOCKFILE_FAIL_IMMEDIATELY :: DWORD (0x00000001) +LOCKFILE_EXCLUSIVE_LOCK :: DWORD(0x00000002) + // Flags for `SetFileCompletionNotificationModes`. FILE_SKIP_COMPLETION_PORT_ON_SUCCESS :: 0x1 FILE_SKIP_SET_EVENT_ON_HANDLE :: 0x2