The printk(), panic() and kernel.h update

This commit is contained in:
2026-03-26 21:07:29 +01:00
parent 2f05396651
commit 63a238d2c4
18 changed files with 366 additions and 153 deletions
+44
View File
@@ -0,0 +1,44 @@
#ifndef _TYPES_H
#define _TYPES_H
// NULL pointer
#define NULL ((void*)0)
/*
* Integral types
*/
typedef unsigned char uint8_t;
typedef unsigned short uint16_t;
typedef unsigned int uint32_t;
typedef unsigned long uint64_t;
typedef signed char int8_t;
typedef signed short int16_t;
typedef signed int int32_t;
typedef signed long int64_t;
_Static_assert(sizeof(int8_t) == 1, "int8_t not 8 bits.");
_Static_assert(sizeof(int16_t) == 2, "int16_t not 16 bits.");
_Static_assert(sizeof(int32_t) == 4, "int32_t not 32 bits.");
_Static_assert(sizeof(int64_t) == 8, "int64_t not 64 bits.");
_Static_assert(sizeof(uint8_t) == 1, "uint8_t not 8 bits.");
_Static_assert(sizeof(uint16_t) == 2, "uint16_t not 16 bits.");
_Static_assert(sizeof(uint32_t) == 4, "uint32_t not 32 bits.");
_Static_assert(sizeof(uint64_t) == 8, "uint64_t not 64 bits.");
// TODO: Add a static assertion here
typedef uint64_t size_t;
typedef int64_t ssize_t;
typedef size_t offset_t;
typedef uint64_t uintptr_t;
typedef int64_t intptr_t;
_Static_assert(sizeof(intptr_t) == sizeof(void*), "intptr_t must match pointer size.");
_Static_assert(sizeof(uintptr_t) == sizeof(void*), "uintptr_t must match pointer size.");
/*
* Boolean
*/
#define bool _Bool
#define true 1
#define false 0
#endif