12 serial i/o protocol, Serial_io_protocol, Serial_io – Intel Extensible Firmware Interface User Manual
Page 349: Serial i/oprotocol

Protocols
— Console Support
Version 1.10
12/01/02
10-55
10.12 Serial I/O Protocol
This section defines the Serial I/O protocol. This protocol is used to abstract byte stream devices.
SERIAL_IO_PROTOCOL
Summary
This protocol is used to communicate with any type of character-based I/O device.
GUID
#define SERIAL_IO_PROTOCOL \
{
BB25CF6F-F1D4-11D2-9A0C-0090273FC1FD
}
Revision Number
#define SERIAL_IO_INTERFACE_REVISION 0x00010000
Protocol Interface Structure
typedef struct {
UINT32
Revision;
EFI_SERIAL_RESET
Reset;
EFI_SERIAL_SET_ATTRIBUTES
SetAttributes;
EFI_SERIAL_SET_CONTROL_BITS
SetControl;
EFI_SERIAL_GET_CONTROL_BITS
GetControl;
EFI_SERIAL_WRITE
Write;
EFI_SERIAL_READ
Read;
SERIAL_IO_MODE
*Mode;
} SERIAL_IO_INTERFACE;
Parameters
Revision
The revision to which the
SERIAL_IO_INTERFACE
adheres. All
future revisions must be backwards compatible. If a future version is
not back wards compatible, it is not the same GUID.
Reset
Resets the hardware device.
SetAttributes
Sets communication parameters for a serial device. These include
the baud rate, receive FIFO depth, transmit/receive time out, parity,
data bits, and stop bit attributes.
SetControl
Sets the control bits on a serial device. These include Request to
Send and Data Terminal Ready.
GetControl
Reads the status of the control bits on a serial device. These include
Clear to Send, Data Set Ready, Ring Indicator, and Carrier Detect.
Write
Sends a buffer of characters to a serial device.
Read
Receives a buffer of characters from a serial device.