summaryrefslogtreecommitdiff
path: root/lib/uefi.c3l/extension/console.c3
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/extension/console.c3
parent97d331175ae47aec3d0b990ada9754a9e4298e32 (diff)
minimal running stub
Diffstat (limited to 'lib/uefi.c3l/extension/console.c3')
-rw-r--r--lib/uefi.c3l/extension/console.c318
1 files changed, 18 insertions, 0 deletions
diff --git a/lib/uefi.c3l/extension/console.c3 b/lib/uefi.c3l/extension/console.c3
new file mode 100644
index 0000000..07f2c14
--- /dev/null
+++ b/lib/uefi.c3l/extension/console.c3
@@ -0,0 +1,18 @@
+module uefi::protocol::console;
+
+macro SimpleTextOutputProtocol.clear_screen(&self) => self._clear_screen(self);
+macro SimpleTextOutputProtocol.@output_string(&self, #string) {
+ $switch ($Typeof(#string)):
+ $case EfiString:
+ return self._output_string(self, #string);
+ $case WString:
+ return self._output_string(self, (EfiString)#string);
+ $case String:
+ return self._output_string(self, (EfiString)&&$$wstr16(#string));
+ $default:
+ $echo($Typeof(#string));
+ $error("Unknown string type for @output_string");
+ $endswitch
+}
+
+macro SimpleTextInputProtocol.read_key(&self, EfiInputKey* key) => self._read_key(self, key);