Intel Extensible Firmware Interface Network Router User Manual


  Open as PDF
of 1084
 
Version 1.10 12/01/02 10-1
10
Protocols - Console Support
10.1 Console I/O Protocol
This chapter defines the Console I/O protocol. This protocol is used to handle input and output of
text-based information intended for the system user during the operation of code in the EFI boot
services environment. Also included here are the definitions of three console devices: one for input
and one each for normal output and errors.
These interfaces are specified by function call definitions to allow maximum flexibility in
implementation. For example, there is no requirement for compliant systems to have a keyboard or
screen directly connected to the system. Implementations may choose to direct information passed
using these interfaces in arbitrary ways provided that the semantics of the functions are preserved
(in other words, provided that the information is passed to and from the system user).
10.1.1 Overview
The EFI console is built out of the SIMPLE_INPUT and SIMPLE_TEXT_OUTPUT protocols.
These two protocols implement a basic text-based console that allows platform firmware, EFI
applications, and EFI OS loaders to present information to and receive input from a system
administrator. The EFI console consists of 16-bit Unicode characters, a simple set of input control
characters (Scan Codes), and a set of output-oriented programmatic interfaces that give
functionality equivalent to an intelligent terminal. The EFI console does not support pointing
devices on input or bitmaps on output.
The EFI specification requires that the SIMPLE_INPUT protocol support the same languages as
the corresponding SIMPLE_TEXT_OUTPUT protocol. The SIMPLE_TEXT_OUTPUT protocol is
recommended to support at least the printable Basic Latin Unicode character set to enable standard
terminal emulation software to be used with an EFI console. The Basic Latin Unicode character
set implements a superset of ASCII that has been extended to 16-bit characters. Any number of
other Unicode character sets may be optionally supported.