NeKernel dev
Loading...
Searching...
No Matches
KernelPanic.h File Reference
#include <NeKit/Config.h>

Go to the source code of this file.

Namespaces

namespace  Kernel
 UPS inline definitions.

Macros

#define STATIC_PASS(EXPR, MSG)
 Checks during compile time whether a condition passes.
#define TRY(X)
#define __MUST_PASS(EXPR, FILE, LINE)
#define MUST_PASS(EXPR)
#define assert(EXPR)

Typedefs

typedef enum RUNTIME_CHECK RTL_RUNTIME_CHECK

Enumerations

enum  RUNTIME_CHECK {
  RUNTIME_CHECK_FAILED = 1111 , RUNTIME_CHECK_POINTER , RUNTIME_CHECK_EXPRESSION , RUNTIME_CHECK_FILE ,
  RUNTIME_CHECK_IPC , RUNTIME_CHECK_TLS , RUNTIME_CHECK_HANDSHAKE , RUNTIME_CHECK_ACPI ,
  RUNTIME_CHECK_INVALID_PRIVILEGE , RUNTIME_CHECK_PROCESS , RUNTIME_CHECK_BAD_BEHAVIOR , RUNTIME_CHECK_BOOTSTRAP ,
  RUNTIME_CHECK_UNEXCPECTED , RUNTIME_CHECK_FILESYSTEM , RUNTIME_CHECK_VIRTUAL_OUT_OF_MEM , RUNTIME_CHECK_PAGE ,
  RUNTIME_CHECK_INVALID , RUNTIME_CHECK_COUNT
}

Functions

void Kernel::ke_runtime_check (bool expr, const Char *file, const Char *line)
Void Kernel::ke_panic (const Kernel::Int32 &id, const Char *message)
 Stops execution of the kernel.

Macro Definition Documentation

◆ __MUST_PASS

#define __MUST_PASS ( EXPR,
FILE,
LINE )
Value:
#define STRINGIFY(X)
void ke_runtime_check(bool expr, const Char *file, const Char *line)
Definition HalKernelPanic.cc:48

◆ assert

#define assert ( EXPR)
Value:
(Kernel::Void)(EXPR)
void Void
Definition Config.h:87

◆ MUST_PASS

#define MUST_PASS ( EXPR)
Value:
(Kernel::Void)(EXPR)

◆ STATIC_PASS

#define STATIC_PASS ( EXPR,
MSG )
Value:
static_assert(EXPR, MSG)

Checks during compile time whether a condition passes.

◆ TRY

#define TRY ( X)
Value:
{ \
auto FN__ = X; \
if ((FN__()) == NO) { \
MUST_PASS(NO); \
} \
}
#define NO

Typedef Documentation

◆ RTL_RUNTIME_CHECK

Enumeration Type Documentation

◆ RUNTIME_CHECK

Enumerator
RUNTIME_CHECK_FAILED 
RUNTIME_CHECK_POINTER 
RUNTIME_CHECK_EXPRESSION 
RUNTIME_CHECK_FILE 
RUNTIME_CHECK_IPC 
RUNTIME_CHECK_TLS 
RUNTIME_CHECK_HANDSHAKE 
RUNTIME_CHECK_ACPI 
RUNTIME_CHECK_INVALID_PRIVILEGE 
RUNTIME_CHECK_PROCESS 
RUNTIME_CHECK_BAD_BEHAVIOR 
RUNTIME_CHECK_BOOTSTRAP 
RUNTIME_CHECK_UNEXCPECTED 
RUNTIME_CHECK_FILESYSTEM 
RUNTIME_CHECK_VIRTUAL_OUT_OF_MEM 
RUNTIME_CHECK_PAGE 
RUNTIME_CHECK_INVALID 
RUNTIME_CHECK_COUNT