aboutsummaryrefslogtreecommitdiff
path: root/core/sys/windows
diff options
context:
space:
mode:
authorJeroen van Rijn <Kelimion@users.noreply.github.com>2022-05-08 10:39:03 +0200
committerJeroen van Rijn <Kelimion@users.noreply.github.com>2022-05-08 10:39:03 +0200
commit85e6efdf16ad075f92a61ce59afa50634ccadeee (patch)
tree5f9da20641ebb1a8774e880d2dd88394fd5c8d4f /core/sys/windows
parent6b89ff43eaa621aa4bdb859e367b6d85ea96676e (diff)
Ctrl-C handler on Windows.
Diffstat (limited to 'core/sys/windows')
-rw-r--r--core/sys/windows/kernel32.odin15
1 files changed, 15 insertions, 0 deletions
diff --git a/core/sys/windows/kernel32.odin b/core/sys/windows/kernel32.odin
index cb90f71da..6ac0fccf2 100644
--- a/core/sys/windows/kernel32.odin
+++ b/core/sys/windows/kernel32.odin
@@ -758,3 +758,18 @@ foreign kernel32 {
UnmapFlags: ULONG,
) -> BOOL ---
}
+
+@(default_calling_convention = "std")
+foreign kernel32 {
+ @(link_name="SetConsoleCtrlHandler") set_console_ctrl_handler :: proc(handler: Handler_Routine, add: BOOL) -> BOOL ---
+}
+
+Handler_Routine :: proc(dwCtrlType: Control_Event) -> BOOL
+
+Control_Event :: enum DWORD {
+ control_c = 0,
+ _break = 1,
+ close = 2,
+ logoff = 5,
+ shutdown = 6,
+} \ No newline at end of file