2 * $FreeBSD: src/sys/boot/efi/include/efiser.h,v 1.2 2002/05/19 03:17:21 marcel Exp $
3 * $DragonFly: src/sys/boot/efi/include/efiser.h,v 1.1 2003/11/10 06:08:32 dillon Exp $
10 Copyright (c) 1998 Intel Corporation
28 #define SERIAL_IO_PROTOCOL \
29 { 0xBB25CF6F, 0xF1D4, 0x11D2, 0x9A, 0x0C, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0xFD }
31 INTERFACE_DECL(_SERIAL_IO_INTERFACE
);
49 #define EFI_SERIAL_CLEAR_TO_SEND 0x0010
50 #define EFI_SERIAL_DATA_SET_READY 0x0020
51 #define EFI_SERIAL_RING_INDICATE 0x0040
52 #define EFI_SERIAL_CARRIER_DETECT 0x0080
53 #define EFI_SERIAL_REQUEST_TO_SEND 0x0002
54 #define EFI_SERIAL_DATA_TERMINAL_READY 0x0001
55 #define EFI_SERIAL_INPUT_BUFFER_EMPTY 0x0100
56 #define EFI_SERIAL_OUTPUT_BUFFER_EMPTY 0x0200
57 #define EFI_SERIAL_HARDWARE_LOOPBACK_ENABLE 0x1000
58 #define EFI_SERIAL_SOFTWARE_LOOPBACK_ENABLE 0x2000
59 #define EFI_SERIAL_HARDWARE_FLOW_CONTROL_ENABLE 0x4000
63 (EFIAPI
*EFI_SERIAL_RESET
) (
64 IN
struct _SERIAL_IO_INTERFACE
*This
69 (EFIAPI
*EFI_SERIAL_SET_ATTRIBUTES
) (
70 IN
struct _SERIAL_IO_INTERFACE
*This
,
72 IN UINT32 ReceiveFifoDepth
,
74 IN EFI_PARITY_TYPE Parity
,
76 IN EFI_STOP_BITS_TYPE StopBits
81 (EFIAPI
*EFI_SERIAL_SET_CONTROL_BITS
) (
82 IN
struct _SERIAL_IO_INTERFACE
*This
,
88 (EFIAPI
*EFI_SERIAL_GET_CONTROL_BITS
) (
89 IN
struct _SERIAL_IO_INTERFACE
*This
,
95 (EFIAPI
*EFI_SERIAL_WRITE
) (
96 IN
struct _SERIAL_IO_INTERFACE
*This
,
97 IN OUT UINTN
*BufferSize
,
103 (EFIAPI
*EFI_SERIAL_READ
) (
104 IN
struct _SERIAL_IO_INTERFACE
*This
,
105 IN OUT UINTN
*BufferSize
,
112 /* current Attributes. */
115 UINT32 ReceiveFifoDepth
;
121 #define SERIAL_IO_INTERFACE_REVISION 0x00010000
123 typedef struct _SERIAL_IO_INTERFACE
{
125 EFI_SERIAL_RESET Reset
;
126 EFI_SERIAL_SET_ATTRIBUTES SetAttributes
;
127 EFI_SERIAL_SET_CONTROL_BITS SetControl
;
128 EFI_SERIAL_GET_CONTROL_BITS GetControl
;
129 EFI_SERIAL_WRITE Write
;
130 EFI_SERIAL_READ Read
;
132 SERIAL_IO_MODE
*Mode
;
133 } SERIAL_IO_INTERFACE
;