40 lines
1.5 KiB
C
40 lines
1.5 KiB
C
#pragma once
|
|
// ke_status.h - kernel status codes
|
|
// All fallible kernel functions return KSTATUS.
|
|
// Success is always zero; failures are positive named constants.
|
|
#include <stdint.h>
|
|
|
|
typedef uint32_t KSTATUS;
|
|
|
|
// --- General & Control (0x0000) ---
|
|
#define STATUS_SUCCESS ((KSTATUS)0x0000)
|
|
#define STATUS_FAILURE ((KSTATUS)0x0001)
|
|
#define STATUS_NOT_SUPPORTED ((KSTATUS)0x0002)
|
|
#define STATUS_TIMEOUT ((KSTATUS)0x0003)
|
|
#define STATUS_PENDING ((KSTATUS)0x0004)
|
|
|
|
// --- Validation & Parameters (0x0010) ---
|
|
#define STATUS_INVALID_PARAMETER ((KSTATUS)0x0010)
|
|
#define STATUS_INVALID_HANDLE ((KSTATUS)0x0011)
|
|
#define STATUS_BUFFER_TOO_SMALL ((KSTATUS)0x0012)
|
|
#define STATUS_CHECKSUM_MISMATCH ((KSTATUS)0x0013)
|
|
|
|
// --- Resource & Access (0x0020) ---
|
|
#define STATUS_NO_MEMORY ((KSTATUS)0x0020)
|
|
#define STATUS_ACCESS_DENIED ((KSTATUS)0x0021)
|
|
#define STATUS_NOT_FOUND ((KSTATUS)0x0022)
|
|
#define STATUS_ALREADY_EXISTS ((KSTATUS)0x0023)
|
|
#define STATUS_OBJECT_NAME_COLLISION ((KSTATUS)0x0024)
|
|
|
|
// --- State & Lifecycle (0x0030) ---
|
|
#define STATUS_OBJECT_DEAD ((KSTATUS)0x0030)
|
|
#define STATUS_QUEUE_FULL ((KSTATUS)0x0031)
|
|
#define STATUS_QUEUE_EMPTY ((KSTATUS)0x0032)
|
|
|
|
// --- Hardware & External (0x0040) ---
|
|
#define STATUS_DEVICE_ERROR ((KSTATUS)0x0040)
|
|
|
|
#define STATUS_NO_MORE_FILES ((KSTATUS)0x0050)
|
|
|
|
#define KSUCCESS(s) ((s) == STATUS_SUCCESS)
|