summaryrefslogtreecommitdiff
path: root/lib/uefi.c3l/extension/console.c3
blob: 07f2c1434e22c373309273cabff6966b7b67adf6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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);