+++ /dev/null
-/** @file\r
- Copyright (c) 2006, Intel Corporation \r
- All rights reserved. This program and the accompanying materials \r
- are licensed and made available under the terms and conditions of the BSD License \r
- which accompanies this distribution. The full text of the license may be found at \r
- http://opensource.org/licenses/bsd-license.php \r
-\r
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
-\r
- Module Name: DebugPort.h\r
-\r
-**/\r
-\r
-#ifndef __DEBUG_PORT_H__\r
-#define __DEBUG_PORT_H__\r
-\r
-\r
-//\r
-// DebugPortIo protocol {EBA4E8D2-3858-41EC-A281-2647BA9660D0}\r
-//\r
-#define EFI_DEBUGPORT_PROTOCOL_GUID \\r
- { \\r
- 0xEBA4E8D2, 0x3858, 0x41EC, {0xA2, 0x81, 0x26, 0x47, 0xBA, 0x96, 0x60, 0xD0 } \\r
- }\r
-\r
-extern EFI_GUID gEfiDebugPortProtocolGuid;\r
-\r
-typedef struct _EFI_DEBUGPORT_PROTOCOL EFI_DEBUGPORT_PROTOCOL;\r
-\r
-//\r
-// DebugPort member functions\r
-//\r
-\r
-/** \r
- Resets the debugport.\r
- \r
- @param This A pointer to the EFI_DEBUGPORT_PROTOCOL instance.\r
- \r
- @retval EFI_SUCCESS The debugport device was reset and is in usable state.\r
- @retval EFI_DEVICE_ERROR The debugport device could not be reset and is unusable.\r
- \r
-**/\r
-typedef\r
-EFI_STATUS\r
-(EFIAPI *EFI_DEBUGPORT_RESET) (\r
- IN EFI_DEBUGPORT_PROTOCOL *This\r
- );\r
-\r
-/** \r
- Writes data to the debugport.\r
- \r
- @param This A pointer to the EFI_DEBUGPORT_PROTOCOL instance.\r
- @param Timeout The number of microseconds to wait before timing out a write operation.\r
- @param BufferSize On input, the requested number of bytes of data to write. On output, the\r
- number of bytes of data actually written.\r
- @param Buffer A pointer to a buffer containing the data to write. \r
- \r
- @retval EFI_SUCCESS The data was written.\r
- @retval EFI_DEVICE_ERROR The device reported an error.\r
- @retval EFI_TIMEOUT The data write was stopped due to a timeout.\r
- \r
-**/\r
-typedef\r
-EFI_STATUS\r
-(EFIAPI *EFI_DEBUGPORT_WRITE) (\r
- IN EFI_DEBUGPORT_PROTOCOL *This,\r
- IN UINT32 Timeout,\r
- IN OUT UINTN *BufferSize,\r
- IN VOID *Buffer\r
- );\r
-\r
-/** \r
- Reads data from the debugport.\r
- \r
- @param This A pointer to the EFI_DEBUGPORT_PROTOCOL instance.\r
- @param Timeout The number of microseconds to wait before timing out a read operation.\r
- @param BufferSize On input, the requested number of bytes of data to read. On output, the\r
- number of bytes of data actually number of bytes\r
- of data read and returned in Buffer.\r
- @param Buffer A pointer to a buffer into which the data read will be saved.\r
- \r
- @retval EFI_SUCCESS The data was read.\r
- @retval EFI_DEVICE_ERROR The device reported an error.\r
- @retval EFI_TIMEOUT The operation was stopped due to a timeout or overrun.\r
- \r
-**/\r
-typedef\r
-EFI_STATUS\r
-(EFIAPI *EFI_DEBUGPORT_READ) (\r
- IN EFI_DEBUGPORT_PROTOCOL *This,\r
- IN UINT32 Timeout,\r
- IN OUT UINTN *BufferSize,\r
- OUT VOID *Buffer\r
- );\r
-\r
-/** \r
- Checks to see if any data is available to be read from the debugport device.\r
- \r
- @param This A pointer to the EFI_DEBUGPORT_PROTOCOL instance.\r
- \r
- @retval EFI_SUCCESS At least one byte of data is available to be read.\r
- @retval EFI_DEVICE_ERROR The debugport device is not functioning correctly.\r
- @retval EFI_NOT_READY No data is available to be read.\r
- \r
-**/\r
-typedef\r
-EFI_STATUS\r
-(EFIAPI *EFI_DEBUGPORT_POLL) (\r
- IN EFI_DEBUGPORT_PROTOCOL *This\r
- );\r
-\r
-//\r
-// DebugPort protocol definition\r
-//\r
-struct _EFI_DEBUGPORT_PROTOCOL {\r
- EFI_DEBUGPORT_RESET Reset;\r
- EFI_DEBUGPORT_WRITE Write;\r
- EFI_DEBUGPORT_READ Read;\r
- EFI_DEBUGPORT_POLL Poll;\r
-};\r
-\r
-//\r
-// DEBUGPORT variable definitions...\r
-//\r
-#define EFI_DEBUGPORT_VARIABLE_NAME L"DEBUGPORT"\r
-#define EFI_DEBUGPORT_VARIABLE_GUID EFI_DEBUGPORT_PROTOCOL_GUID\r
-#define gEfiDebugPortVariableGuid gEfiDebugPortProtocolGuid\r
-\r
-//\r
-// DebugPort device path definitions...\r
-//\r
-#define DEVICE_PATH_MESSAGING_DEBUGPORT EFI_DEBUGPORT_PROTOCOL_GUID\r
-#define gEfiDebugPortDevicePathGuid gEfiDebugPortProtocolGuid\r
-\r
-typedef struct {\r
- EFI_DEVICE_PATH_PROTOCOL Header;\r
- EFI_GUID Guid;\r
-} DEBUGPORT_DEVICE_PATH;\r
-\r
-#endif\r