7 Copyright (c) 1998 Intel Corporation
25 #define SERIAL_IO_PROTOCOL \
26 { 0xBB25CF6F, 0xF1D4, 0x11D2, 0x9A, 0x0C, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0xFD }
28 INTERFACE_DECL(_SERIAL_IO_INTERFACE);
46 #define EFI_SERIAL_CLEAR_TO_SEND 0x0010
47 #define EFI_SERIAL_DATA_SET_READY 0x0020
48 #define EFI_SERIAL_RING_INDICATE 0x0040
49 #define EFI_SERIAL_CARRIER_DETECT 0x0080
50 #define EFI_SERIAL_REQUEST_TO_SEND 0x0002
51 #define EFI_SERIAL_DATA_TERMINAL_READY 0x0001
52 #define EFI_SERIAL_INPUT_BUFFER_EMPTY 0x0100
53 #define EFI_SERIAL_OUTPUT_BUFFER_EMPTY 0x0200
54 #define EFI_SERIAL_HARDWARE_LOOPBACK_ENABLE 0x1000
55 #define EFI_SERIAL_SOFTWARE_LOOPBACK_ENABLE 0x2000
56 #define EFI_SERIAL_HARDWARE_FLOW_CONTROL_ENABLE 0x4000
60 (EFIAPI *EFI_SERIAL_RESET) (
61 IN struct _SERIAL_IO_INTERFACE *This
66 (EFIAPI *EFI_SERIAL_SET_ATTRIBUTES) (
67 IN struct _SERIAL_IO_INTERFACE *This,
69 IN UINT32 ReceiveFifoDepth,
71 IN EFI_PARITY_TYPE Parity,
73 IN EFI_STOP_BITS_TYPE StopBits
78 (EFIAPI *EFI_SERIAL_SET_CONTROL_BITS) (
79 IN struct _SERIAL_IO_INTERFACE *This,
85 (EFIAPI *EFI_SERIAL_GET_CONTROL_BITS) (
86 IN struct _SERIAL_IO_INTERFACE *This,
92 (EFIAPI *EFI_SERIAL_WRITE) (
93 IN struct _SERIAL_IO_INTERFACE *This,
94 IN OUT UINTN *BufferSize,
100 (EFIAPI *EFI_SERIAL_READ) (
101 IN struct _SERIAL_IO_INTERFACE *This,
102 IN OUT UINTN *BufferSize,
109 /* current Attributes. */
112 UINT32 ReceiveFifoDepth;
118 #define SERIAL_IO_INTERFACE_REVISION 0x00010000
120 typedef struct _SERIAL_IO_INTERFACE {
122 EFI_SERIAL_RESET Reset;
123 EFI_SERIAL_SET_ATTRIBUTES SetAttributes;
124 EFI_SERIAL_SET_CONTROL_BITS SetControl;
125 EFI_SERIAL_GET_CONTROL_BITS GetControl;
126 EFI_SERIAL_WRITE Write;
127 EFI_SERIAL_READ Read;
129 SERIAL_IO_MODE *Mode;
130 } SERIAL_IO_INTERFACE;