MOS Source Code
Loading...
Searching...
No Matches
limine.h File Reference
#include <stdint.h>
+ Include dependency graph for limine.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  limine_uuid
 
struct  limine_file
 
struct  limine_bootloader_info_response
 
struct  limine_bootloader_info_request
 
struct  limine_stack_size_response
 
struct  limine_stack_size_request
 
struct  limine_hhdm_response
 
struct  limine_hhdm_request
 
struct  limine_video_mode
 
struct  limine_framebuffer
 
struct  limine_framebuffer_response
 
struct  limine_framebuffer_request
 
struct  limine_terminal
 
struct  limine_terminal_response
 
struct  limine_terminal_request
 
struct  limine_paging_mode_response
 
struct  limine_paging_mode_request
 
struct  limine_5_level_paging_response
 
struct  limine_5_level_paging_request
 
struct  limine_smp_request
 
struct  limine_memmap_entry
 
struct  limine_memmap_response
 
struct  limine_memmap_request
 
struct  limine_entry_point_response
 
struct  limine_entry_point_request
 
struct  limine_kernel_file_response
 
struct  limine_kernel_file_request
 
struct  limine_internal_module
 
struct  limine_module_response
 
struct  limine_module_request
 
struct  limine_rsdp_response
 
struct  limine_rsdp_request
 
struct  limine_smbios_response
 
struct  limine_smbios_request
 
struct  limine_efi_system_table_response
 
struct  limine_efi_system_table_request
 
struct  limine_efi_memmap_response
 
struct  limine_efi_memmap_request
 
struct  limine_boot_time_response
 
struct  limine_boot_time_request
 
struct  limine_kernel_address_response
 
struct  limine_kernel_address_request
 
struct  limine_dtb_response
 
struct  limine_dtb_request
 

Macros

#define LIMINE_PTR(TYPE)
 
#define LIMINE_DEPRECATED
 
#define LIMINE_DEPRECATED_IGNORE_START
 
#define LIMINE_DEPRECATED_IGNORE_END
 
#define LIMINE_REQUESTS_START_MARKER
 
#define LIMINE_REQUESTS_END_MARKER    uint64_t limine_requests_end_marker[2] = { 0xadc0e0531bb10d03, 0x9572709f31764c62 };
 
#define LIMINE_REQUESTS_DELIMITER   LIMINE_REQUESTS_END_MARKER
 
#define LIMINE_BASE_REVISION(N)
 
#define LIMINE_BASE_REVISION_SUPPORTED   (limine_base_revision[2] == 0)
 
#define LIMINE_COMMON_MAGIC   0xc7b1dd30df4c8b88, 0x0a82e883a194f07b
 
#define LIMINE_MEDIA_TYPE_GENERIC   0
 
#define LIMINE_MEDIA_TYPE_OPTICAL   1
 
#define LIMINE_MEDIA_TYPE_TFTP   2
 
#define LIMINE_BOOTLOADER_INFO_REQUEST   { LIMINE_COMMON_MAGIC, 0xf55038d8e2a1202f, 0x279426fcf5f59740 }
 
#define LIMINE_STACK_SIZE_REQUEST   { LIMINE_COMMON_MAGIC, 0x224ef0460a8e8926, 0xe1cb0fc25f46ea3d }
 
#define LIMINE_HHDM_REQUEST   { LIMINE_COMMON_MAGIC, 0x48dcf1cb8ad2b852, 0x63984e959a98244b }
 
#define LIMINE_FRAMEBUFFER_REQUEST   { LIMINE_COMMON_MAGIC, 0x9d5827dcd881dd75, 0xa3148604f6fab11b }
 
#define LIMINE_FRAMEBUFFER_RGB   1
 
#define LIMINE_TERMINAL_REQUEST   { LIMINE_COMMON_MAGIC, 0xc8ac59310c2b0844, 0xa68d0c7265d38878 }
 
#define LIMINE_TERMINAL_CB_DEC   10
 
#define LIMINE_TERMINAL_CB_BELL   20
 
#define LIMINE_TERMINAL_CB_PRIVATE_ID   30
 
#define LIMINE_TERMINAL_CB_STATUS_REPORT   40
 
#define LIMINE_TERMINAL_CB_POS_REPORT   50
 
#define LIMINE_TERMINAL_CB_KBD_LEDS   60
 
#define LIMINE_TERMINAL_CB_MODE   70
 
#define LIMINE_TERMINAL_CB_LINUX   80
 
#define LIMINE_TERMINAL_CTX_SIZE   ((uint64_t)(-1))
 
#define LIMINE_TERMINAL_CTX_SAVE   ((uint64_t)(-2))
 
#define LIMINE_TERMINAL_CTX_RESTORE   ((uint64_t)(-3))
 
#define LIMINE_TERMINAL_FULL_REFRESH   ((uint64_t)(-4))
 
#define LIMINE_TERMINAL_OOB_OUTPUT_GET   ((uint64_t)(-10))
 
#define LIMINE_TERMINAL_OOB_OUTPUT_SET   ((uint64_t)(-11))
 
#define LIMINE_TERMINAL_OOB_OUTPUT_OCRNL   (1 << 0)
 
#define LIMINE_TERMINAL_OOB_OUTPUT_OFDEL   (1 << 1)
 
#define LIMINE_TERMINAL_OOB_OUTPUT_OFILL   (1 << 2)
 
#define LIMINE_TERMINAL_OOB_OUTPUT_OLCUC   (1 << 3)
 
#define LIMINE_TERMINAL_OOB_OUTPUT_ONLCR   (1 << 4)
 
#define LIMINE_TERMINAL_OOB_OUTPUT_ONLRET   (1 << 5)
 
#define LIMINE_TERMINAL_OOB_OUTPUT_ONOCR   (1 << 6)
 
#define LIMINE_TERMINAL_OOB_OUTPUT_OPOST   (1 << 7)
 
#define LIMINE_PAGING_MODE_REQUEST   { LIMINE_COMMON_MAGIC, 0x95c1a0edab0944cb, 0xa4e5cb3842f7488a }
 
#define LIMINE_5_LEVEL_PAGING_REQUEST   { LIMINE_COMMON_MAGIC, 0x94469551da9b3192, 0xebe5e86db7382888 }
 
#define LIMINE_SMP_REQUEST   { LIMINE_COMMON_MAGIC, 0x95a67b819a1b857e, 0xa0b61b723b6a73e0 }
 
#define LIMINE_MEMMAP_REQUEST   { LIMINE_COMMON_MAGIC, 0x67cf3d9d378a806f, 0xe304acdfc50c3c62 }
 
#define LIMINE_MEMMAP_USABLE   0
 
#define LIMINE_MEMMAP_RESERVED   1
 
#define LIMINE_MEMMAP_ACPI_RECLAIMABLE   2
 
#define LIMINE_MEMMAP_ACPI_NVS   3
 
#define LIMINE_MEMMAP_BAD_MEMORY   4
 
#define LIMINE_MEMMAP_BOOTLOADER_RECLAIMABLE   5
 
#define LIMINE_MEMMAP_KERNEL_AND_MODULES   6
 
#define LIMINE_MEMMAP_FRAMEBUFFER   7
 
#define LIMINE_ENTRY_POINT_REQUEST   { LIMINE_COMMON_MAGIC, 0x13d86c035a1cd3e1, 0x2b0caa89d8f3026a }
 
#define LIMINE_KERNEL_FILE_REQUEST   { LIMINE_COMMON_MAGIC, 0xad97e90e83f1ed67, 0x31eb5d1c5ff23b69 }
 
#define LIMINE_MODULE_REQUEST   { LIMINE_COMMON_MAGIC, 0x3e7e279702be32af, 0xca1c4f3bd1280cee }
 
#define LIMINE_INTERNAL_MODULE_REQUIRED   (1 << 0)
 
#define LIMINE_INTERNAL_MODULE_COMPRESSED   (1 << 1)
 
#define LIMINE_RSDP_REQUEST   { LIMINE_COMMON_MAGIC, 0xc5e77b6b397e7b43, 0x27637845accdcf3c }
 
#define LIMINE_SMBIOS_REQUEST   { LIMINE_COMMON_MAGIC, 0x9e9046f11e095391, 0xaa4a520fefbde5ee }
 
#define LIMINE_EFI_SYSTEM_TABLE_REQUEST   { LIMINE_COMMON_MAGIC, 0x5ceba5163eaaf6d6, 0x0a6981610cf65fcc }
 
#define LIMINE_EFI_MEMMAP_REQUEST   { LIMINE_COMMON_MAGIC, 0x7df62a431d6872d5, 0xa4fcdfb3e57306c8 }
 
#define LIMINE_BOOT_TIME_REQUEST   { LIMINE_COMMON_MAGIC, 0x502746e184c088aa, 0xfbc5ec83e6327893 }
 
#define LIMINE_KERNEL_ADDRESS_REQUEST   { LIMINE_COMMON_MAGIC, 0x71ba76863cc55f63, 0xb2644a48c516a487 }
 
#define LIMINE_DTB_REQUEST   { LIMINE_COMMON_MAGIC, 0xb40ddb48fb54bac7, 0x545081493f81ffb7 }
 

Typedefs

typedef void(* limine_terminal_write) (struct limine_terminal *, const char *, uint64_t)
 
typedef void(* limine_terminal_callback) (struct limine_terminal *, uint64_t, uint64_t, uint64_t, uint64_t)
 
typedef void(* limine_goto_address) (struct limine_smp_info *)
 
typedef void(* limine_entry_point) (void)
 

Macro Definition Documentation

◆ LIMINE_PTR

#define LIMINE_PTR ( TYPE)
Value:
TYPE

Definition at line 31 of file limine.h.

◆ LIMINE_DEPRECATED

#define LIMINE_DEPRECATED

Definition at line 42 of file limine.h.

◆ LIMINE_DEPRECATED_IGNORE_START

#define LIMINE_DEPRECATED_IGNORE_START

Definition at line 43 of file limine.h.

◆ LIMINE_DEPRECATED_IGNORE_END

#define LIMINE_DEPRECATED_IGNORE_END

Definition at line 44 of file limine.h.

◆ LIMINE_REQUESTS_START_MARKER

#define LIMINE_REQUESTS_START_MARKER
Value:
uint64_t limine_requests_start_marker[4] = { 0xf6b8f4b39de7d1ae, 0xfab91a6940fcb9cf, \
0x785c6ed015d3e316, 0x181e920a7852b9d9 };
unsigned long long uint64_t
Definition pb_syshdr.h:26

Definition at line 47 of file limine.h.

◆ LIMINE_REQUESTS_END_MARKER

#define LIMINE_REQUESTS_END_MARKER    uint64_t limine_requests_end_marker[2] = { 0xadc0e0531bb10d03, 0x9572709f31764c62 };

Definition at line 50 of file limine.h.

◆ LIMINE_REQUESTS_DELIMITER

#define LIMINE_REQUESTS_DELIMITER   LIMINE_REQUESTS_END_MARKER

Definition at line 53 of file limine.h.

◆ LIMINE_BASE_REVISION

#define LIMINE_BASE_REVISION ( N)
Value:
uint64_t limine_base_revision[3] = { 0xf9562b2d5c95a6c8, 0x6a7b384944536bdc, (N) };

Definition at line 55 of file limine.h.

◆ LIMINE_BASE_REVISION_SUPPORTED

#define LIMINE_BASE_REVISION_SUPPORTED   (limine_base_revision[2] == 0)

Definition at line 58 of file limine.h.

Referenced by limine_entry().

◆ LIMINE_COMMON_MAGIC

#define LIMINE_COMMON_MAGIC   0xc7b1dd30df4c8b88, 0x0a82e883a194f07b

Definition at line 60 of file limine.h.

◆ LIMINE_MEDIA_TYPE_GENERIC

#define LIMINE_MEDIA_TYPE_GENERIC   0

Definition at line 69 of file limine.h.

◆ LIMINE_MEDIA_TYPE_OPTICAL

#define LIMINE_MEDIA_TYPE_OPTICAL   1

Definition at line 70 of file limine.h.

◆ LIMINE_MEDIA_TYPE_TFTP

#define LIMINE_MEDIA_TYPE_TFTP   2

Definition at line 71 of file limine.h.

◆ LIMINE_BOOTLOADER_INFO_REQUEST

#define LIMINE_BOOTLOADER_INFO_REQUEST   { LIMINE_COMMON_MAGIC, 0xf55038d8e2a1202f, 0x279426fcf5f59740 }

Definition at line 92 of file limine.h.

Referenced by __section().

◆ LIMINE_STACK_SIZE_REQUEST

#define LIMINE_STACK_SIZE_REQUEST   { LIMINE_COMMON_MAGIC, 0x224ef0460a8e8926, 0xe1cb0fc25f46ea3d }

Definition at line 108 of file limine.h.

◆ LIMINE_HHDM_REQUEST

#define LIMINE_HHDM_REQUEST   { LIMINE_COMMON_MAGIC, 0x48dcf1cb8ad2b852, 0x63984e959a98244b }

Definition at line 123 of file limine.h.

◆ LIMINE_FRAMEBUFFER_REQUEST

#define LIMINE_FRAMEBUFFER_REQUEST   { LIMINE_COMMON_MAGIC, 0x9d5827dcd881dd75, 0xa3148604f6fab11b }

Definition at line 138 of file limine.h.

◆ LIMINE_FRAMEBUFFER_RGB

#define LIMINE_FRAMEBUFFER_RGB   1

Definition at line 140 of file limine.h.

◆ LIMINE_TERMINAL_REQUEST

#define LIMINE_TERMINAL_REQUEST   { LIMINE_COMMON_MAGIC, 0xc8ac59310c2b0844, 0xa68d0c7265d38878 }

Definition at line 191 of file limine.h.

◆ LIMINE_TERMINAL_CB_DEC

#define LIMINE_TERMINAL_CB_DEC   10

Definition at line 193 of file limine.h.

◆ LIMINE_TERMINAL_CB_BELL

#define LIMINE_TERMINAL_CB_BELL   20

Definition at line 194 of file limine.h.

◆ LIMINE_TERMINAL_CB_PRIVATE_ID

#define LIMINE_TERMINAL_CB_PRIVATE_ID   30

Definition at line 195 of file limine.h.

◆ LIMINE_TERMINAL_CB_STATUS_REPORT

#define LIMINE_TERMINAL_CB_STATUS_REPORT   40

Definition at line 196 of file limine.h.

◆ LIMINE_TERMINAL_CB_POS_REPORT

#define LIMINE_TERMINAL_CB_POS_REPORT   50

Definition at line 197 of file limine.h.

◆ LIMINE_TERMINAL_CB_KBD_LEDS

#define LIMINE_TERMINAL_CB_KBD_LEDS   60

Definition at line 198 of file limine.h.

◆ LIMINE_TERMINAL_CB_MODE

#define LIMINE_TERMINAL_CB_MODE   70

Definition at line 199 of file limine.h.

◆ LIMINE_TERMINAL_CB_LINUX

#define LIMINE_TERMINAL_CB_LINUX   80

Definition at line 200 of file limine.h.

◆ LIMINE_TERMINAL_CTX_SIZE

#define LIMINE_TERMINAL_CTX_SIZE   ((uint64_t)(-1))

Definition at line 202 of file limine.h.

◆ LIMINE_TERMINAL_CTX_SAVE

#define LIMINE_TERMINAL_CTX_SAVE   ((uint64_t)(-2))

Definition at line 203 of file limine.h.

◆ LIMINE_TERMINAL_CTX_RESTORE

#define LIMINE_TERMINAL_CTX_RESTORE   ((uint64_t)(-3))

Definition at line 204 of file limine.h.

◆ LIMINE_TERMINAL_FULL_REFRESH

#define LIMINE_TERMINAL_FULL_REFRESH   ((uint64_t)(-4))

Definition at line 205 of file limine.h.

◆ LIMINE_TERMINAL_OOB_OUTPUT_GET

#define LIMINE_TERMINAL_OOB_OUTPUT_GET   ((uint64_t)(-10))

Definition at line 208 of file limine.h.

◆ LIMINE_TERMINAL_OOB_OUTPUT_SET

#define LIMINE_TERMINAL_OOB_OUTPUT_SET   ((uint64_t)(-11))

Definition at line 209 of file limine.h.

◆ LIMINE_TERMINAL_OOB_OUTPUT_OCRNL

#define LIMINE_TERMINAL_OOB_OUTPUT_OCRNL   (1 << 0)

Definition at line 211 of file limine.h.

◆ LIMINE_TERMINAL_OOB_OUTPUT_OFDEL

#define LIMINE_TERMINAL_OOB_OUTPUT_OFDEL   (1 << 1)

Definition at line 212 of file limine.h.

◆ LIMINE_TERMINAL_OOB_OUTPUT_OFILL

#define LIMINE_TERMINAL_OOB_OUTPUT_OFILL   (1 << 2)

Definition at line 213 of file limine.h.

◆ LIMINE_TERMINAL_OOB_OUTPUT_OLCUC

#define LIMINE_TERMINAL_OOB_OUTPUT_OLCUC   (1 << 3)

Definition at line 214 of file limine.h.

◆ LIMINE_TERMINAL_OOB_OUTPUT_ONLCR

#define LIMINE_TERMINAL_OOB_OUTPUT_ONLCR   (1 << 4)

Definition at line 215 of file limine.h.

◆ LIMINE_TERMINAL_OOB_OUTPUT_ONLRET

#define LIMINE_TERMINAL_OOB_OUTPUT_ONLRET   (1 << 5)

Definition at line 216 of file limine.h.

◆ LIMINE_TERMINAL_OOB_OUTPUT_ONOCR

#define LIMINE_TERMINAL_OOB_OUTPUT_ONOCR   (1 << 6)

Definition at line 217 of file limine.h.

◆ LIMINE_TERMINAL_OOB_OUTPUT_OPOST

#define LIMINE_TERMINAL_OOB_OUTPUT_OPOST   (1 << 7)

Definition at line 218 of file limine.h.

◆ LIMINE_PAGING_MODE_REQUEST

#define LIMINE_PAGING_MODE_REQUEST   { LIMINE_COMMON_MAGIC, 0x95c1a0edab0944cb, 0xa4e5cb3842f7488a }

Definition at line 251 of file limine.h.

◆ LIMINE_5_LEVEL_PAGING_REQUEST

#define LIMINE_5_LEVEL_PAGING_REQUEST   { LIMINE_COMMON_MAGIC, 0x94469551da9b3192, 0xebe5e86db7382888 }

Definition at line 289 of file limine.h.

◆ LIMINE_SMP_REQUEST

#define LIMINE_SMP_REQUEST   { LIMINE_COMMON_MAGIC, 0x95a67b819a1b857e, 0xa0b61b723b6a73e0 }

Definition at line 307 of file limine.h.

◆ LIMINE_MEMMAP_REQUEST

#define LIMINE_MEMMAP_REQUEST   { LIMINE_COMMON_MAGIC, 0x67cf3d9d378a806f, 0xe304acdfc50c3c62 }

Definition at line 383 of file limine.h.

◆ LIMINE_MEMMAP_USABLE

#define LIMINE_MEMMAP_USABLE   0

Definition at line 385 of file limine.h.

Referenced by add_to_memmap(), and limine_entry().

◆ LIMINE_MEMMAP_RESERVED

#define LIMINE_MEMMAP_RESERVED   1

Definition at line 386 of file limine.h.

Referenced by add_to_memmap(), and limine_entry().

◆ LIMINE_MEMMAP_ACPI_RECLAIMABLE

#define LIMINE_MEMMAP_ACPI_RECLAIMABLE   2

Definition at line 387 of file limine.h.

Referenced by add_to_memmap(), and limine_entry().

◆ LIMINE_MEMMAP_ACPI_NVS

#define LIMINE_MEMMAP_ACPI_NVS   3

Definition at line 388 of file limine.h.

Referenced by add_to_memmap(), and limine_entry().

◆ LIMINE_MEMMAP_BAD_MEMORY

#define LIMINE_MEMMAP_BAD_MEMORY   4

Definition at line 389 of file limine.h.

Referenced by limine_entry().

◆ LIMINE_MEMMAP_BOOTLOADER_RECLAIMABLE

#define LIMINE_MEMMAP_BOOTLOADER_RECLAIMABLE   5

Definition at line 390 of file limine.h.

Referenced by add_to_memmap(), and limine_entry().

◆ LIMINE_MEMMAP_KERNEL_AND_MODULES

#define LIMINE_MEMMAP_KERNEL_AND_MODULES   6

Definition at line 391 of file limine.h.

Referenced by add_to_memmap(), and limine_entry().

◆ LIMINE_MEMMAP_FRAMEBUFFER

#define LIMINE_MEMMAP_FRAMEBUFFER   7

Definition at line 392 of file limine.h.

Referenced by add_to_memmap(), and limine_entry().

◆ LIMINE_ENTRY_POINT_REQUEST

#define LIMINE_ENTRY_POINT_REQUEST   { LIMINE_COMMON_MAGIC, 0x13d86c035a1cd3e1, 0x2b0caa89d8f3026a }

Definition at line 414 of file limine.h.

◆ LIMINE_KERNEL_FILE_REQUEST

#define LIMINE_KERNEL_FILE_REQUEST   { LIMINE_COMMON_MAGIC, 0xad97e90e83f1ed67, 0x31eb5d1c5ff23b69 }

Definition at line 431 of file limine.h.

◆ LIMINE_MODULE_REQUEST

#define LIMINE_MODULE_REQUEST   { LIMINE_COMMON_MAGIC, 0x3e7e279702be32af, 0xca1c4f3bd1280cee }

Definition at line 446 of file limine.h.

◆ LIMINE_INTERNAL_MODULE_REQUIRED

#define LIMINE_INTERNAL_MODULE_REQUIRED   (1 << 0)

Definition at line 448 of file limine.h.

◆ LIMINE_INTERNAL_MODULE_COMPRESSED

#define LIMINE_INTERNAL_MODULE_COMPRESSED   (1 << 1)

Definition at line 449 of file limine.h.

◆ LIMINE_RSDP_REQUEST

#define LIMINE_RSDP_REQUEST   { LIMINE_COMMON_MAGIC, 0xc5e77b6b397e7b43, 0x27637845accdcf3c }

Definition at line 475 of file limine.h.

◆ LIMINE_SMBIOS_REQUEST

#define LIMINE_SMBIOS_REQUEST   { LIMINE_COMMON_MAGIC, 0x9e9046f11e095391, 0xaa4a520fefbde5ee }

Definition at line 490 of file limine.h.

◆ LIMINE_EFI_SYSTEM_TABLE_REQUEST

#define LIMINE_EFI_SYSTEM_TABLE_REQUEST   { LIMINE_COMMON_MAGIC, 0x5ceba5163eaaf6d6, 0x0a6981610cf65fcc }

Definition at line 506 of file limine.h.

◆ LIMINE_EFI_MEMMAP_REQUEST

#define LIMINE_EFI_MEMMAP_REQUEST   { LIMINE_COMMON_MAGIC, 0x7df62a431d6872d5, 0xa4fcdfb3e57306c8 }

Definition at line 521 of file limine.h.

◆ LIMINE_BOOT_TIME_REQUEST

#define LIMINE_BOOT_TIME_REQUEST   { LIMINE_COMMON_MAGIC, 0x502746e184c088aa, 0xfbc5ec83e6327893 }

Definition at line 539 of file limine.h.

◆ LIMINE_KERNEL_ADDRESS_REQUEST

#define LIMINE_KERNEL_ADDRESS_REQUEST   { LIMINE_COMMON_MAGIC, 0x71ba76863cc55f63, 0xb2644a48c516a487 }

Definition at line 554 of file limine.h.

◆ LIMINE_DTB_REQUEST

#define LIMINE_DTB_REQUEST   { LIMINE_COMMON_MAGIC, 0xb40ddb48fb54bac7, 0x545081493f81ffb7 }

Definition at line 570 of file limine.h.

Typedef Documentation

◆ limine_terminal_write

typedef void(* limine_terminal_write) (struct limine_terminal *, const char *, uint64_t)

Definition at line 224 of file limine.h.

◆ limine_terminal_callback

typedef void(* limine_terminal_callback) (struct limine_terminal *, uint64_t, uint64_t, uint64_t, uint64_t)

Definition at line 225 of file limine.h.

◆ limine_goto_address

typedef void(* limine_goto_address) (struct limine_smp_info *)

Definition at line 311 of file limine.h.

◆ limine_entry_point

typedef void(* limine_entry_point) (void)

Definition at line 416 of file limine.h.