From 3ef0f68cbd28447b58b5becd1c61f55b603ea762 Mon Sep 17 00:00:00 2001 From: Jonathan Marler Date: Sat, 18 Jul 2026 03:36:34 -0600 Subject: [PATCH] redirect NTSTATUS to std --- src/genzig.zig | 1 + src/static/win32/zig.zig | 7 ++++--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/genzig.zig b/src/genzig.zig index 7f5a87c..1d8eaf9 100644 --- a/src/genzig.zig +++ b/src/genzig.zig @@ -1885,6 +1885,7 @@ const redirects = std.StaticStringMap(Redirect).initComptime(.{ .{ "BSTR", Redirect{ .native = "*u16" } }, .{ "HRESULT", Redirect{ .import = "zig" } }, .{ "COLORREF", Redirect{ .import = "zig" } }, + .{ "NTSTATUS", Redirect{ .native = "@import(\"std\").os.windows.NTSTATUS" } }, }); const type_renames = std.StaticStringMap([]const u8).initComptime(.{ diff --git a/src/static/win32/zig.zig b/src/static/win32/zig.zig index 64b679f..0e0eda1 100644 --- a/src/static/win32/zig.zig +++ b/src/static/win32/zig.zig @@ -505,9 +505,10 @@ fn typedConst2(comptime ReturnType: type, comptime SwitchType: type, comptime va .pointer => return typedConst2(ReturnType, target_type_info.child, value), else => target_type_error, }, - .@"enum" => switch (@typeInfo(@TypeOf(value))) { - .Int => return @as(ReturnType, @enumFromInt(value)), - else => target_type_error, + .@"enum" => |enum_info| switch (@typeInfo(@TypeOf(value))) { + .int => return @enumFromInt(@as(enum_info.tag_type, @bitCast(value))), + .comptime_int => return @enumFromInt(value), + else => @compileError(value_type_error), }, .@"struct" => |struct_info| { if (struct_info.layout != .@"packed") @compileError(target_type_error);