Files
termOS/kernel/inc/types.h
T
Karina 794dae7084 Refactor: Modular kernel structure & WIP keyboard driver
- Reorganized src/inc into arch, drivers, core, shell
- Updated CMakeLists.txt for multi-arch support
- Added basic scancode-to-ASCII mapping (US QWERTY)
- Initial KSH (Kernel Shell) skeleton
- WIP: Keyboard modifier handling
2025-12-27 22:10:24 +04:00

61 lines
1.4 KiB
C

// 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;
#ifndef __cplusplus
#define bool _Bool
#define true 1
#define false 0
#endif
#endif