NeKernel dev
Loading...
Searching...
No Matches
Macros.h File Reference

Core Types and Macros. More...

Go to the source code of this file.

Macros

#define KIB(X)
#define kib_cast(X)
#define MIB(X)
#define mib_cast(X)
#define GIB(X)
#define gib_cast(X)
#define TIB(X)
#define tib_cast(X)
#define ARRAY_SIZE(a)
#define DEPRECATED   ATTRIBUTE(deprecated)
#define ALIGN(X)
#define ATTRIBUTE(...)
#define __NE_VER__   (2024)
#define EXTERN   extern
#define EXTERN_C   extern "C"
#define MAKE_ENUM(NAME)
#define END_ENUM()
#define MAKE_STRING_ENUM(NAME)
#define ENUM_STRING(NAME, VAL)
#define END_STRING_ENUM()
#define RTL_ALLOCA(sz)
#define CANT_REACH()
#define kInvalidAddress   0xFBFBFBFBFBFBFBFB
#define kBadAddress   0x0000000000000000
#define kMaxAddr   0xFFFFFFFFFFFFFFFF
#define kPathLen   0x100
#define PACKED   ATTRIBUTE(packed)
#define NO_EXEC   ATTRIBUTE(noexec)
#define EXTERN   extern
#define STATIC   static
#define CONST   const
#define STRINGIFY(X)
#define NE_UNUSED(X)
#define RGB(R, G, B)
#define DBG_TRAP()
#define LIKELY(ARG)
#define UNLIKELY(ARG)
#define RTL_ENDIAN(address, value)
#define Yes   true
#define No   false
#define YES   true
#define NO   false
#define TRUE   true
#define FALSE   false
#define BOOL   Kernel::Boolean
#define RTL_INIT_OBJECT(OBJ, TYPE, ...)

Detailed Description

Core Types and Macros.

Macro Definition Documentation

◆ __NE_VER__

#define __NE_VER__   (2024)

◆ ALIGN

#define ALIGN ( X)
Value:
__attribute__((aligned(X)))

◆ ARRAY_SIZE

#define ARRAY_SIZE ( a)
Value:
(((sizeof(a) / sizeof(*(a))) / (static_cast<Kernel::Size>(!(sizeof(a) % sizeof(*(a)))))))
__SIZE_TYPE__ Size
Definition Defines.h:57

◆ ATTRIBUTE

#define ATTRIBUTE ( ...)
Value:
__attribute__((__VA_ARGS__))

◆ BOOL

#define BOOL   Kernel::Boolean

◆ CANT_REACH

#define CANT_REACH ( )
Value:
__builtin_unreachable()

◆ CONST

#define CONST   const

◆ DBG_TRAP

#define DBG_TRAP ( )
Value:
void Void
Definition Defines.h:85

◆ DEPRECATED

#define DEPRECATED   ATTRIBUTE(deprecated)

◆ END_ENUM

#define END_ENUM ( )
Value:
} \
;

◆ END_STRING_ENUM

#define END_STRING_ENUM ( )
Value:
}

◆ ENUM_STRING

#define ENUM_STRING ( NAME,
VAL )
Value:
inline constexpr const char* e##NAME = VAL

◆ EXTERN [1/2]

#define EXTERN   extern

◆ EXTERN [2/2]

#define EXTERN   extern

◆ EXTERN_C

#define EXTERN_C   extern "C"

◆ FALSE

#define FALSE   false

◆ GIB

#define GIB ( X)
Value:
#define MIB(X)
__UINT64_TYPE__ UInt64
Definition Defines.h:48

◆ gib_cast

#define gib_cast ( X)
Value:
#define mib_cast(X)

◆ kBadAddress

#define kBadAddress   0x0000000000000000

◆ KIB

#define KIB ( X)
Value:
(Kernel::UInt64)((X) / 1024)

◆ kib_cast

#define kib_cast ( X)
Value:
(Kernel::UInt64)((X) *1024)

◆ kInvalidAddress

#define kInvalidAddress   0xFBFBFBFBFBFBFBFB

◆ kMaxAddr

#define kMaxAddr   0xFFFFFFFFFFFFFFFF

◆ kPathLen

#define kPathLen   0x100

◆ LIKELY

#define LIKELY ( ARG)
Value:
((ARG) ? MUST_PASS(NO) : ((Kernel::Void) 0))
#define MUST_PASS(EXPR)
Definition KernelPanic.h:40
#define NO
Definition macros.h:27
USER_PROCESS inline definitions.
Definition Qr.h:793

◆ MAKE_ENUM

#define MAKE_ENUM ( NAME)
Value:
enum NAME {

◆ MAKE_STRING_ENUM

#define MAKE_STRING_ENUM ( NAME)
Value:
namespace NAME {

◆ MIB

#define MIB ( X)
Value:
#define KIB(X)

◆ mib_cast

#define mib_cast ( X)
Value:
#define kib_cast(X)

◆ NE_UNUSED

#define NE_UNUSED ( X)
Value:

◆ NO

#define NO   false

◆ No

#define No   false

◆ NO_EXEC

#define NO_EXEC   ATTRIBUTE(noexec)

◆ PACKED

#define PACKED   ATTRIBUTE(packed)

◆ RGB

#define RGB ( R,
G,
B )
Value:
((Kernel::UInt32)((0xFF << 24) | ((R) << 16) | ((G) << 8) | (B)))
unsigned int UInt32
Definition Defines.h:44

◆ RTL_ALLOCA

#define RTL_ALLOCA ( sz)
Value:
__builtin_alloca(sz)

◆ RTL_ENDIAN

#define RTL_ENDIAN ( address,
value )
Value:
(((reinterpret_cast<Kernel::Char*>(address)[0]) == (value)) ? (Kernel::Endian::kEndianBig) \
char Char
Definition Defines.h:51
@ kEndianLittle
Definition Defines.h:91
@ kEndianBig
Definition Defines.h:91

◆ RTL_INIT_OBJECT

#define RTL_INIT_OBJECT ( OBJ,
TYPE,
... )
Value:
TYPE OBJ = TYPE(__VA_ARGS__)

◆ STATIC

#define STATIC   static

◆ STRINGIFY

#define STRINGIFY ( X)
Value:
#X

◆ TIB

#define TIB ( X)
Value:
#define GIB(X)

◆ tib_cast

#define tib_cast ( X)
Value:
((Kernel::UInt64) gib_cast(X) * 1024)
#define gib_cast(X)

◆ TRUE

#define TRUE   true

◆ UNLIKELY

#define UNLIKELY ( ARG)
Value:
LIKELY(!(ARG))
#define LIKELY(ARG)

◆ YES

#define YES   true

◆ Yes

#define Yes   true