iPXE
|
Serial IO protocol as defined in the UEFI 2.0 specification. More...
Go to the source code of this file.
Data Structures | |
struct | EFI_SERIAL_IO_MODE |
struct | _EFI_SERIAL_IO_PROTOCOL |
The Serial I/O protocol is used to communicate with UART-style serial devices. More... | |
Macros | |
#define | EFI_SERIAL_IO_PROTOCOL_GUID |
#define | EFI_SERIAL_TERMINAL_DEVICE_TYPE_GUID |
#define | SERIAL_IO_PROTOCOL EFI_SERIAL_IO_PROTOCOL_GUID |
Protocol GUID defined in EFI1.1. More... | |
#define | EFI_SERIAL_CLEAR_TO_SEND 0x00000010 |
#define | EFI_SERIAL_DATA_SET_READY 0x00000020 |
#define | EFI_SERIAL_RING_INDICATE 0x00000040 |
#define | EFI_SERIAL_CARRIER_DETECT 0x00000080 |
#define | EFI_SERIAL_INPUT_BUFFER_EMPTY 0x00000100 |
#define | EFI_SERIAL_OUTPUT_BUFFER_EMPTY 0x00000200 |
#define | EFI_SERIAL_REQUEST_TO_SEND 0x00000002 |
#define | EFI_SERIAL_DATA_TERMINAL_READY 0x00000001 |
#define | EFI_SERIAL_HARDWARE_LOOPBACK_ENABLE 0x00001000 |
#define | EFI_SERIAL_SOFTWARE_LOOPBACK_ENABLE 0x00002000 |
#define | EFI_SERIAL_HARDWARE_FLOW_CONTROL_ENABLE 0x00004000 |
#define | EFI_SERIAL_IO_PROTOCOL_REVISION 0x00010000 |
#define | EFI_SERIAL_IO_PROTOCOL_REVISION1p1 0x00010001 |
#define | SERIAL_IO_INTERFACE_REVISION EFI_SERIAL_IO_PROTOCOL_REVISION |
Enumerations | |
enum | EFI_PARITY_TYPE { DefaultParity, NoParity, EvenParity, OddParity, MarkParity, SpaceParity } |
Parity type that is computed or checked as each character is transmitted or received. More... | |
enum | EFI_STOP_BITS_TYPE { DefaultStopBits, OneStopBit, OneFiveStopBits, TwoStopBits } |
Stop bits type. More... | |
Functions | |
FILE_LICENCE (BSD2_PATENT) | |
Variables | |
EFI_GUID | gEfiSerialIoProtocolGuid |
EFI_GUID | gEfiSerialTerminalDeviceTypeGuid |
Serial IO protocol as defined in the UEFI 2.0 specification.
Abstraction of a basic serial device. Targeted at 16550 UART, but could be much more generic.
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
Definition in file SerialIo.h.
#define EFI_SERIAL_IO_PROTOCOL_GUID |
Definition at line 17 of file SerialIo.h.
#define EFI_SERIAL_TERMINAL_DEVICE_TYPE_GUID |
Definition at line 22 of file SerialIo.h.
#define SERIAL_IO_PROTOCOL EFI_SERIAL_IO_PROTOCOL_GUID |
Protocol GUID defined in EFI1.1.
Definition at line 30 of file SerialIo.h.
#define EFI_SERIAL_CLEAR_TO_SEND 0x00000010 |
Definition at line 68 of file SerialIo.h.
#define EFI_SERIAL_DATA_SET_READY 0x00000020 |
Definition at line 69 of file SerialIo.h.
#define EFI_SERIAL_RING_INDICATE 0x00000040 |
Definition at line 70 of file SerialIo.h.
#define EFI_SERIAL_CARRIER_DETECT 0x00000080 |
Definition at line 71 of file SerialIo.h.
#define EFI_SERIAL_INPUT_BUFFER_EMPTY 0x00000100 |
Definition at line 72 of file SerialIo.h.
#define EFI_SERIAL_OUTPUT_BUFFER_EMPTY 0x00000200 |
Definition at line 73 of file SerialIo.h.
#define EFI_SERIAL_REQUEST_TO_SEND 0x00000002 |
Definition at line 78 of file SerialIo.h.
#define EFI_SERIAL_DATA_TERMINAL_READY 0x00000001 |
Definition at line 79 of file SerialIo.h.
#define EFI_SERIAL_HARDWARE_LOOPBACK_ENABLE 0x00001000 |
Definition at line 84 of file SerialIo.h.
#define EFI_SERIAL_SOFTWARE_LOOPBACK_ENABLE 0x00002000 |
Definition at line 85 of file SerialIo.h.
#define EFI_SERIAL_HARDWARE_FLOW_CONTROL_ENABLE 0x00004000 |
Definition at line 86 of file SerialIo.h.
#define EFI_SERIAL_IO_PROTOCOL_REVISION 0x00010000 |
Definition at line 272 of file SerialIo.h.
#define EFI_SERIAL_IO_PROTOCOL_REVISION1p1 0x00010001 |
Definition at line 273 of file SerialIo.h.
#define SERIAL_IO_INTERFACE_REVISION EFI_SERIAL_IO_PROTOCOL_REVISION |
Definition at line 274 of file SerialIo.h.
typedef struct _EFI_SERIAL_IO_PROTOCOL EFI_SERIAL_IO_PROTOCOL |
Definition at line 32 of file SerialIo.h.
Backward-compatible with EFI1.1.
Definition at line 37 of file SerialIo.h.
typedef EFI_STATUS(EFIAPI * EFI_SERIAL_RESET) (IN EFI_SERIAL_IO_PROTOCOL *This) |
Reset the serial device.
This | Protocol instance pointer. |
EFI_SUCCESS | The device was reset. |
EFI_DEVICE_ERROR | The serial device could not be reset. |
Definition at line 103 of file SerialIo.h.
typedef EFI_STATUS(EFIAPI * EFI_SERIAL_SET_ATTRIBUTES) (IN EFI_SERIAL_IO_PROTOCOL *This, IN UINT64 BaudRate, IN UINT32 ReceiveFifoDepth, IN UINT32 Timeout, IN EFI_PARITY_TYPE Parity, IN UINT8 DataBits, IN EFI_STOP_BITS_TYPE StopBits) |
Sets the baud rate, receive FIFO depth, transmit/receice time out, parity, data bits, and stop bits on a serial device.
This | Protocol instance pointer. |
BaudRate | The requested baud rate. A BaudRate value of 0 will use the device's default interface speed. |
ReveiveFifoDepth | The requested depth of the FIFO on the receive side of the serial interface. A ReceiveFifoDepth value of 0 will use the device's default FIFO depth. |
Timeout | The requested time out for a single character in microseconds. This timeout applies to both the transmit and receive side of the interface. A Timeout value of 0 will use the device's default time out value. |
Parity | The type of parity to use on this serial device. A Parity value of DefaultParity will use the device's default parity value. |
DataBits | The number of data bits to use on the serial device. A DataBits vaule of 0 will use the device's default data bit setting. |
StopBits | The number of stop bits to use on this serial device. A StopBits value of DefaultStopBits will use the device's default number of stop bits. |
EFI_SUCCESS | The device was reset. |
EFI_INVALID_PARAMETER | One or more attributes has an unsupported value. |
EFI_DEVICE_ERROR | The serial device is not functioning correctly. |
Definition at line 136 of file SerialIo.h.
typedef EFI_STATUS(EFIAPI * EFI_SERIAL_SET_CONTROL_BITS) (IN EFI_SERIAL_IO_PROTOCOL *This, IN UINT32 Control) |
Set the control bits on a serial device.
This | Protocol instance pointer. |
Control | Set the bits of Control that are settable. |
EFI_SUCCESS | The new control bits were set on the serial device. |
EFI_UNSUPPORTED | The serial device does not support this operation. |
EFI_DEVICE_ERROR | The serial device is not functioning correctly. |
Definition at line 159 of file SerialIo.h.
typedef EFI_STATUS(EFIAPI * EFI_SERIAL_GET_CONTROL_BITS) (IN EFI_SERIAL_IO_PROTOCOL *This, OUT UINT32 *Control) |
Retrieves the status of thecontrol bits on a serial device.
This | Protocol instance pointer. |
Control | A pointer to return the current Control signals from the serial device. |
EFI_SUCCESS | The control bits were read from the serial device. |
EFI_DEVICE_ERROR | The serial device is not functioning correctly. |
Definition at line 176 of file SerialIo.h.
typedef EFI_STATUS(EFIAPI * EFI_SERIAL_WRITE) (IN EFI_SERIAL_IO_PROTOCOL *This, IN OUT UINTN *BufferSize, IN VOID *Buffer) |
Writes data to a serial device.
This | Protocol instance pointer. |
BufferSize | On input, the size of the Buffer. On output, the amount of data actually written. |
Buffer | The buffer of data to write |
EFI_SUCCESS | The data was written. |
EFI_DEVICE_ERROR | The device reported an error. |
EFI_TIMEOUT | The data write was stopped due to a timeout. |
Definition at line 196 of file SerialIo.h.
typedef EFI_STATUS(EFIAPI * EFI_SERIAL_READ) (IN EFI_SERIAL_IO_PROTOCOL *This, IN OUT UINTN *BufferSize, OUT VOID *Buffer) |
Writes data to a serial device.
This | Protocol instance pointer. |
BufferSize | On input, the size of the Buffer. On output, the amount of data returned in Buffer. |
Buffer | The buffer to return the data into. |
EFI_SUCCESS | The data was read. |
EFI_DEVICE_ERROR | The device reported an error. |
EFI_TIMEOUT | The data write was stopped due to a timeout. |
Definition at line 217 of file SerialIo.h.
enum EFI_PARITY_TYPE |
Parity type that is computed or checked as each character is transmitted or received.
If the device does not support parity, the value is the default parity value.
Enumerator | |
---|---|
DefaultParity | |
NoParity | |
EvenParity | |
OddParity | |
MarkParity | |
SpaceParity |
Definition at line 43 of file SerialIo.h.
enum EFI_STOP_BITS_TYPE |
Stop bits type.
Enumerator | |
---|---|
DefaultStopBits | |
OneStopBit | |
OneFiveStopBits | |
TwoStopBits |
Definition at line 55 of file SerialIo.h.
FILE_LICENCE | ( | BSD2_PATENT | ) |
EFI_GUID gEfiSerialIoProtocolGuid |
EFI_GUID gEfiSerialTerminalDeviceTypeGuid |