summaryrefslogtreecommitdiff
path: root/lib/uefi.c3l/uefi/guid.c3i
diff options
context:
space:
mode:
authorandromeda <andromeda@bsd.my.domain>2026-10-19 18:54:26 -0400
committerandromeda <andromeda@bsd.my.domain>2026-10-19 18:54:26 -0400
commitaa113b17449e67dbd808587b411aeb21ea869974 (patch)
treeb6b7f1b71d761cbc043d5e97f72345d428c140ac /lib/uefi.c3l/uefi/guid.c3i
parent97d331175ae47aec3d0b990ada9754a9e4298e32 (diff)
minimal running stub
Diffstat (limited to 'lib/uefi.c3l/uefi/guid.c3i')
-rw-r--r--lib/uefi.c3l/uefi/guid.c3i29
1 files changed, 29 insertions, 0 deletions
diff --git a/lib/uefi.c3l/uefi/guid.c3i b/lib/uefi.c3l/uefi/guid.c3i
new file mode 100644
index 0000000..928d6e1
--- /dev/null
+++ b/lib/uefi.c3l/uefi/guid.c3i
@@ -0,0 +1,29 @@
+module uefi;
+
+struct EfiGuid @packed {
+ uint data1;
+ ushort data2;
+ ushort data3;
+ char[8] data4;
+}
+
+module uefi::guid;
+
+const EfiGuid SIMPLE_TEXT_INPUT_PROTOCOL = { 0x387477c1, 0x69c7, 0x11d2, {0x8e,0x39,0x00,0xa0,0xc9,0x69,0x72,0x3b} };
+const EfiGuid SIMPLE_TEXT_INPUT_EX_PROTOCOL = { 0xdd9e7534, 0x7762, 0x4698, {0x8c,0x14,0xf5,0x85,0x17,0xa6,0x25,0xaa} };
+const EfiGuid SIMPLE_TEXT_OUTPUT_PROTOCOL = { 0x387477c2, 0x69c7, 0x11d2, {0x8e,0x39,0x00,0xa0,0xc9,0x69,0x72,0x3b} };
+
+const EfiGuid LOADED_IMAGE_PROTOCOL = {0x5b1b31A1, 0x9562, 0x11d2, {0x8E,0x3F,0x00,0xA0,0xC9,0x69,0x72,0x3B} };
+const EfiGuid SIMPLE_FILE_SYSTEM_PROTOCOL = {0x0964e5b22, 0x6459, 0x11d2, {0x8e,0x39,0x00,0xa0,0xc9,0x69,0x72,0x3b} };
+const EfiGuid FILE_INFO = {0x09576e92, 0x6d3f, 0x11d2, {0x8e,0x39,0x00,0xa0,0xc9,0x69,0x72,0x3b} };
+const EfiGuid FILE_SYSTEM_INFO = {0x09576e93, 0x6d3f, 0x11d2, {0x8e,0x39,0x00,0xa0,0xc9,0x69,0x72,0x3b} };
+
+// Configuration tables
+const EfiGuid ACPI_20_TABLE = { 0x8868e871, 0xe4f1, 0x11d3, {0xbc,0x22,0x00,0x80,0xc7,0x3c,0x88,0x81} };
+
+macro bool @compare(EfiGuid #a, EfiGuid #b) {
+ return #a.data1 == #b.data1
+ && #a.data2 == #b.data2
+ && #a.data3 == #b.data3
+ && #a.data4 == #b.data4;
+}