84 lines
3.9 KiB
C
84 lines
3.9 KiB
C
#ifndef COSMOPOLITAN_LIBC_NT_STATUS_H_
|
|
#define COSMOPOLITAN_LIBC_NT_STATUS_H_
|
|
|
|
/* high two bits = {success,informational,warning,error} */
|
|
#define kNtStatusSuccess 0x00000000u /* success statuses */
|
|
#define kNtStatusWait0 0x00000000u
|
|
#define kNtStatusAbandonedWait0 0x00000080u
|
|
#define kNtStatusUserApc 0x000000C0u
|
|
#define kNtStatusTimeout 0x00000102u
|
|
#define kNtStatusPending 0x00000103u
|
|
#define kNtStatusGuardPageViolation 0x80000001u /* warning statuses */
|
|
#define kNtStatusDatatypeMisalignment 0x80000002u
|
|
#define kNtStatusBreakpoint 0x80000003u
|
|
#define kNtStatusSingleStep 0x80000004u
|
|
#define kNtStatusLongjump 0x80000026u
|
|
#define kNtStatusUnwindConsolidate 0x80000029u
|
|
#define kNtStatusAccessViolation 0xC0000005u /* error statuses */
|
|
#define kNtStatusInPageError 0xC0000006u
|
|
#define kNtStatusInvalidHandle 0xC0000008u
|
|
#define kNtStatusInvalidParameter 0xC000000Du
|
|
#define kNtStatusNoMemory 0xC0000017u
|
|
#define kNtStatusIllegalInstruction 0xC000001Du
|
|
#define kNtStatusNoncontinuableException 0xC0000025u
|
|
#define kNtStatusInvalidDisposition 0xC0000026u
|
|
#define kNtStatusArrayBoundsExceeded 0xC000008Cu
|
|
#define kNtStatusFloatDenormalOperand 0xC000008Du
|
|
#define kNtStatusFloatDivideByZero 0xC000008Eu
|
|
#define kNtStatusFloatInexactResult 0xC000008Fu
|
|
#define kNtStatusFloatInvalidOperation 0xC0000090u
|
|
#define kNtStatusFloatOverflow 0xC0000091u
|
|
#define kNtStatusFloatStackCheck 0xC0000092u
|
|
#define kNtStatusFloatUnderflow 0xC0000093u
|
|
#define kNtStatusIntegerDivideBYZero 0xC0000094u
|
|
#define kNtStatusIntegerOverflow 0xC0000095u
|
|
#define kNtStatusPrivilegedInstruction 0xC0000096u
|
|
#define kNtStatusStackOverflow 0xC00000FDu
|
|
#define kNtStatusDllNotFound 0xC0000135u
|
|
#define kNtStatusOrdinalNotFound 0xC0000138u
|
|
#define kNtStatusEntrypointNotFound 0xC0000139u
|
|
#define kNtStatusControlCExit 0xC000013Au
|
|
#define kNtStatusDllInitFailed 0xC0000142u
|
|
#define kNtStatusFloatMultipleFaults 0xC00002B4u
|
|
#define kNtStatusFloatMultipleTraps 0xC00002B5u
|
|
#define kNtStatusRegNatConsumption 0xC00002C9u
|
|
#define kNtStatusHeapCorruption 0xC0000374u
|
|
#define kNtStatusStackBufferOverrun 0xC0000409u
|
|
#define kNtStatusInvalidCruntimeParameter 0xC0000417u
|
|
#define kNtStatusAssertionFailure 0xC0000420u
|
|
#define kNtStatusEnclaveViolation 0xC00004A2u
|
|
#define kNtStatusSegmentNotification 0x40000005u
|
|
#define kNtStatusFatalAppExit 0x40000015u
|
|
#define kNtStatusNotFound 0xC0000225u
|
|
#define kNtStatusCancelled 0xC0000120u
|
|
|
|
#define kNtDbgExceptionHandled 0x00010001u
|
|
#define kNtDbgContinue 0x00010002u
|
|
#define kNtDbgReplyLater 0x40010001u
|
|
#define kNtDbgTerminateThread 0x40010003u
|
|
#define kNtDbgTerminateProcess 0x40010004u
|
|
#define kNtDbgControlC 0x40010005u
|
|
#define kNtDbgPrintexceptionC 0x40010006u
|
|
#define kNtDbgRipexception 0x40010007u
|
|
#define kNtDbgControlBreak 0x40010008u
|
|
#define kNtDbgCommandException 0x40010009u
|
|
#define kNtDbgPrintexceptionWideC 0x4001000Au
|
|
#define kNtDbgExceptionNotHandled 0x80010001u
|
|
#define kNtStillActive kNtStatusPending
|
|
|
|
#if !(__ASSEMBLER__ + __LINKER__ + 0)
|
|
|
|
typedef uint32_t NtStatus;
|
|
|
|
#define NtSuccess(s) ((NtStatus)(s) >= 0)
|
|
#define NtInformation(s) (NtSeverity(s) == 1)
|
|
#define NtWarning(s) (NtSeverity(s) == 2)
|
|
#define NtError(s) (NtSeverity(s) == 3)
|
|
#define NtCode(s) ((NtStatus)(s)&0xffff)
|
|
#define NtSeverity(s) ((NtStatus)(s) >> 30)
|
|
#define NtFacility(s) (((NtStatus)(s) >> 16) & 0xfff)
|
|
#define NtFacilityCode(s) ((NtStatus)(s)&0x0FFFFFFF)
|
|
|
|
#endif /* !(__ASSEMBLER__ + __LINKER__ + 0) */
|
|
#endif /* COSMOPOLITAN_LIBC_NT_STATUS_H_ */
|