diff options
Diffstat (limited to 'lib/uefi.c3l/extension/console.c3')
| -rw-r--r-- | lib/uefi.c3l/extension/console.c3 | 18 |
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); |
