#pragma once #include using NTSTATUS = std::uint32_t; #ifndef OS_WINDOWS #define STATUS_WAIT_0 ((NTSTATUS)0x00000000L) #define STATUS_TIMEOUT ((NTSTATUS)0x00000102L) #define STATUS_ACCESS_VIOLATION ((NTSTATUS)0xC0000005L) #define STATUS_INVALID_HANDLE ((NTSTATUS)0xC0000008L) #define STATUS_INVALID_PARAMETER ((NTSTATUS)0xC000000DL) #define STATUS_ILLEGAL_INSTRUCTION ((NTSTATUS)0xC000001DL) #define STATUS_INTEGER_DIVIDE_BY_ZERO ((NTSTATUS)0xC0000094L) #define STATUS_PENDING ((NTSTATUS)0x00000103L) #endif #define STATUS_SUCCESS ((NTSTATUS)0x00000000L) #define STATUS_WAIT_1 ((NTSTATUS)0x00000001L) #define STATUS_UNSUCCESSFUL ((NTSTATUS)0x00000001L) #define STATUS_ALERTED ((NTSTATUS)0x00000101L) #define STATUS_OBJECT_NAME_EXISTS ((NTSTATUS)0x40000000L) #define STATUS_NO_MORE_FILES ((NTSTATUS)0x80000006L) #define STATUS_INFO_LENGTH_MISMATCH ((NTSTATUS)0xC0000004L) #define STATUS_ACCESS_DENIED ((NTSTATUS)0xC0000022L) #define STATUS_BUFFER_TOO_SMALL ((NTSTATUS)0xC0000023L) #define STATUS_OBJECT_NAME_NOT_FOUND ((NTSTATUS)0xC0000034L) #define STATUS_NO_TOKEN ((NTSTATUS)0xC000007CL) #define STATUS_FILE_INVALID ((NTSTATUS)0xC0000098L) #define STATUS_MEMORY_NOT_ALLOCATED ((NTSTATUS)0xC00000A0L) #define STATUS_FILE_IS_A_DIRECTORY ((NTSTATUS)0xC00000BAL) #define STATUS_NOT_SUPPORTED ((NTSTATUS)0xC00000BBL) #define STATUS_INVALID_ADDRESS ((NTSTATUS)0xC0000141L) #define STATUS_NOT_FOUND ((NTSTATUS)0xC0000225L) #define STATUS_CONNECTION_REFUSED ((NTSTATUS)0xC0000236L) #define STATUS_ADDRESS_ALREADY_ASSOCIATED ((NTSTATUS)0xC0000328L) #define STATUS_BUFFER_OVERFLOW ((NTSTATUS)0x80000005L) #define FILE_DEVICE_NETWORK 0x00000012 #define FSCTL_AFD_BASE FILE_DEVICE_NETWORK