// SPDX-License-Identifier: GPL-3.0-or-later // Copyright (c) 2025 0xKarinyash #ifndef TYPES_H #define TYPES_H typedef unsigned char u8; typedef unsigned short u16; typedef unsigned int u32; typedef unsigned long long u64; typedef signed char i8; typedef signed short i16; typedef signed int i32; typedef signed long long i64; typedef u64 usize; typedef u64 uintptr_t; typedef struct { u64 rax, rbx, rcx, rdx, rbp, rsi, rdi, r8, r9, r10, r11, r12, r13, r14, r15; // Pushed by us u64 int_no, err_code; // Pushed by macro u64 rip, cs, rflags, rsp, ss; // Pushed by CPU } Registers; typedef struct { u32 type; u32 pad; u64 physical_start; u64 virtual_start; u64 number_of_pages; u64 attribute; } __attribute__((packed)) efi_memory_descriptor_k; typedef enum { EfiReservedMemoryType, EfiLoaderCode, EfiLoaderData, EfiBootServicesCode, EfiBootServicesData, EfiRuntimeServicesCode, EfiRuntimeServicesData, EfiConventionalMemory, EfiUnusableMemory, EfiACPIReclaimMemory, EfiACPIMemoryNVS, EfiMemoryMappedIO, EfiMemoryMappedIOPortSpace, EfiPalCode, EfiPersistentMemory, EfiMaxMemoryType } EFI_MEMORY_TYPE; #endif