aboutsummaryrefslogtreecommitdiff
path: root/core/sys
diff options
context:
space:
mode:
authorlaytan <laytanlaats@hotmail.com>2026-01-17 21:06:13 +0100
committerlaytan <laytanlaats@hotmail.com>2026-01-17 21:06:13 +0100
commit2caee687ed76b5ae883444bab67c0c1a157f25df (patch)
tree995db59921b0860f73211c9b9bebe6486a839721 /core/sys
parent3a3ed48fae8c7d38f7af1fce39343b2302fd5639 (diff)
nbio(windows): use one IOCP for all event loops
Diffstat (limited to 'core/sys')
-rw-r--r--core/sys/windows/kernel32.odin4
-rw-r--r--core/sys/windows/types.odin2
2 files changed, 6 insertions, 0 deletions
diff --git a/core/sys/windows/kernel32.odin b/core/sys/windows/kernel32.odin
index dc76cb037..07f34bed2 100644
--- a/core/sys/windows/kernel32.odin
+++ b/core/sys/windows/kernel32.odin
@@ -32,6 +32,8 @@ EV_TXEMPTY :: DWORD(0x0004)
WAITORTIMERCALLBACK :: #type proc "system" (lpParameter: PVOID, TimerOrWaitFired: BOOLEAN)
+PAPCFUNC :: #type proc "system" (Parameter: ULONG_PTR)
+
WT_EXECUTEDEFAULT :: 0x00000000
WT_EXECUTEINIOTHREAD :: 0x00000001
WT_EXECUTEINPERSISTENTTHREAD :: 0x00000080
@@ -596,6 +598,8 @@ foreign kernel32 {
) -> BOOL ---
UnregisterWaitEx :: proc(WaitHandle: HANDLE, CompletionEvent: HANDLE) -> BOOL ---
+
+ QueueUserAPC :: proc(pfnAPC: PAPCFUNC, hThread: HANDLE, dwData: ULONG_PTR) -> DWORD ---
}
DEBUG_PROCESS :: 0x00000001
diff --git a/core/sys/windows/types.odin b/core/sys/windows/types.odin
index 0d8854724..f3f581844 100644
--- a/core/sys/windows/types.odin
+++ b/core/sys/windows/types.odin
@@ -2726,6 +2726,8 @@ WAIT_OBJECT_0 : DWORD : 0x00000000
WAIT_TIMEOUT : DWORD : 258
WAIT_FAILED : DWORD : 0xFFFFFFFF
+WAIT_IO_COMPLETION: DWORD : 0x000000C0
+
FILE_FLAG_WRITE_THROUGH : DWORD : 0x80000000
FILE_FLAG_OVERLAPPED : DWORD : 0x40000000
FILE_FLAG_NO_BUFFERING : DWORD : 0x20000000