Skip to content

Commit

Permalink
Port ntdef macros NT_INFORMATION, NT_WARNING and NT_ERROR (#20782)
Browse files Browse the repository at this point in the history
  • Loading branch information
0xEAB authored Jan 25, 2025
1 parent 0ce5951 commit af002fc
Showing 1 changed file with 6 additions and 1 deletion.
7 changes: 6 additions & 1 deletion druntime/src/core/sys/windows/ntdef.d
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,12 @@ void InitializeObjectAttributes(OBJECT_ATTRIBUTES* p, UNICODE_STRING* n,
}
}

pragma(inline, true) bool NT_SUCCESS(NTSTATUS x) @safe pure nothrow @nogc { return x >= 0; }
pragma(inline, true) @safe pure nothrow @nogc {
bool NT_SUCCESS(NTSTATUS Status) { return Status >= 0; }
bool NT_INFORMATION(NTSTATUS Status) { return ((cast(ULONG) Status) >> 30) == 1; }
bool NT_WARNING(NTSTATUS Status) { return ((cast(ULONG) Status) >> 30) == 2; }
bool NT_ERROR(NTSTATUS Status) { return ((cast(ULONG) Status) >> 30) == 3; }
}

/* In MinGW, NTSTATUS, UNICODE_STRING, STRING and their associated pointer
* type aliases are defined in ntdef.h, ntsecapi.h and subauth.h, each of
Expand Down

0 comments on commit af002fc

Please sign in to comment.