A.3.6 SerialIo.c File
Example A-18-Serial I/O Protocol implementation template
#include "<<DriverName>>.h"
GLOBAL_REMOVE_IF_UNREFERENCED
EFI_SERIAL_IO_MODE g<<DriverName>>SerialIoMode = {
0x00000000,
0,
0,
0,
0,
DefaultParity,
DefaultStopBits
};
GLOBAL_REMOVE_IF_UNREFERENCED
EFI_SERIAL_IO_PROTOCOL g<<DriverName>>SerialIo = {
EFI_SERIAL_IO_PROTOCOL_REVISION,
<<DriverName>>SerialIoReset,
<<DriverName>>SerialIoSetAttributes,
<<DriverName>>SerialIoSetControl,
<<DriverName>>SerialIoGetControl,
<<DriverName>>SerialIoWrite,
<<DriverName>>SerialIoRead,
&g<<DriverName>>SerialIoMode
};
EFI_STATUS
EFIAPI
<<DriverName>>SerialIoReset (
IN EFI_SERIAL_IO_PROTOCOL *This
)
{
}
EFI_STATUS
EFIAPI
<<DriverName>>SerialIoSetAttributes (
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
)
{
}
EFI_STATUS
EFIAPI
<<DriverName>>SerialIoSetControl (
IN EFI_SERIAL_IO_PROTOCOL *This,
IN UINT32 Control
)
{
}
EFI_STATUS
EFIAPI
<<DriverName>>SerialIoGetControl (
IN EFI_SERIAL_IO_PROTOCOL *This,
OUT UINT32 *Control
)
{
}
EFI_STATUS
EFIAPI
<<DriverName>>SerialIoWrite (
IN EFI_SERIAL_IO_PROTOCOL *This,
IN OUT UINTN *BufferSize,
IN VOID *Buffer
)
{
}
EFI_STATUS
EFIAPI
<<DriverName>>SerialIoRead (
IN EFI_SERIAL_IO_PROTOCOL *This,
IN OUT UINTN *BufferSize,
OUT VOID *Buffer
)
{
}