My Project
Loading...
Searching...
No Matches
macros.h File Reference
#include <stdint.h>

Go to the source code of this file.

Macros

#define CONTAINING_RECORD(ptr, type, member)
#define SIZE_T_MAX   (size_t)-1
#define UINT64_T_MAX   (uint64_t)-1
#define LK_KERNEL_START   &kernel_start
#define LK_KERNEL_END   &kernel_end
#define LK_KERNEL_SIZE   (LK_KERNEL_END - LK_KERNEL_START)
#define MAX(a, b)
#define RETADDR(level)
#define likely(x)
#define unlikely(x)
#define FREEZE()
#define FIELD_OFFSET(t, f)

Variables

uint8_t kernel_start
uint8_t kernel_end

Macro Definition Documentation

◆ CONTAINING_RECORD

#define CONTAINING_RECORD ( ptr,
type,
member )
Value:
((type *)((char *)(ptr) - offsetof(type, member)))

This example is using the legacy kernel structures. Usage: CONTAINING_RECORD(ptr, struct, ptr_member) Example: CTX_FRAME* ctxframeptr = 0x1234; // Hypothetical address of the pointer. Thread* threadAssociated = CONTAINING_RECORD(ctxframeptr, Thread, ctx); // Note that ctx is the member name for CTX_FRAME in the Thread struct.

Definition at line 11 of file macros.h.

◆ FIELD_OFFSET

#define FIELD_OFFSET ( t,
f )
Value:
((uint32_t)(uint32_t*)&(((t*) 0)->f))

Definition at line 52 of file macros.h.

◆ FREEZE

#define FREEZE ( )
Value:
FORCEINLINE void __hlt(void)
Definition intrin.h:50
FORCEINLINE void __cli(void)
Definition intrin.h:38

Definition at line 49 of file macros.h.

◆ likely

#define likely ( x)
Value:
__builtin_expect(!!(x), 1)

Definition at line 43 of file macros.h.

◆ LK_KERNEL_END

#define LK_KERNEL_END   &kernel_end

Definition at line 29 of file macros.h.

◆ LK_KERNEL_SIZE

#define LK_KERNEL_SIZE   (LK_KERNEL_END - LK_KERNEL_START)

Definition at line 31 of file macros.h.

◆ LK_KERNEL_START

#define LK_KERNEL_START   &kernel_start

Definition at line 26 of file macros.h.

◆ MAX

#define MAX ( a,
b )
Value:
(((a) > (b)) ? (a) : (b))

Definition at line 33 of file macros.h.

◆ RETADDR

#define RETADDR ( level)
Value:
(void)(level)

Definition at line 38 of file macros.h.

◆ SIZE_T_MAX

#define SIZE_T_MAX   (size_t)-1

Definition at line 17 of file macros.h.

◆ UINT64_T_MAX

#define UINT64_T_MAX   (uint64_t)-1

Definition at line 22 of file macros.h.

◆ unlikely

#define unlikely ( x)
Value:
__builtin_expect(!!(x), 0)

Definition at line 47 of file macros.h.

Variable Documentation

◆ kernel_end

uint8_t kernel_end
extern

◆ kernel_start

uint8_t kernel_start
extern