aboutsummaryrefslogtreecommitdiff
path: root/core/sys/windows/kernel32.odin
diff options
context:
space:
mode:
authorFranz Höltermann <Francis_the_cat@gmx.de>2024-06-14 16:32:41 +0200
committerFranz Höltermann <Francis_the_cat@gmx.de>2024-06-14 16:32:41 +0200
commitec7b77fc0f6ed20eecf25039c6acbe2050cef877 (patch)
tree36c2231a94b9f8e4887b5ec8bb272f6b8af1c28d /core/sys/windows/kernel32.odin
parentc6c00c706aab0a08a4b8d09df2b7e01835ee777f (diff)
Improved win32 bindings according to Kelimions suggestions with enums and bitsets
Diffstat (limited to 'core/sys/windows/kernel32.odin')
-rw-r--r--core/sys/windows/kernel32.odin21
1 files changed, 18 insertions, 3 deletions
diff --git a/core/sys/windows/kernel32.odin b/core/sys/windows/kernel32.odin
index e50f18984..86f6b86f0 100644
--- a/core/sys/windows/kernel32.odin
+++ b/core/sys/windows/kernel32.odin
@@ -1214,13 +1214,28 @@ SYSTEM_LOGICAL_PROCESSOR_INFORMATION :: struct {
}
SYSTEM_POWER_STATUS :: struct {
- ACLineStatus: BYTE,
- BatteryFlag: BYTE,
+ ACLineStatus: AC_Line_Status,
+ BatteryFlag: Battery_Flags,
BatteryLifePercent: BYTE,
SystemStatusFlag: BYTE,
BatteryLifeTime: DWORD,
BatteryFullLifeTime: DWORD,
-}
+}
+
+AC_Line_Status :: enum BYTE {
+ Offline = 0,
+ Online = 1,
+ Unknown = 255,
+}
+
+Battery_Flag :: enum BYTE {
+ High = 0,
+ Low = 1,
+ Critical = 2,
+ Charging = 3,
+ No_Battery = 7,
+}
+Battery_Flags :: bit_set[Battery_Flag; BYTE]
/* Global Memory Flags */
GMEM_FIXED :: 0x0000