+++ /dev/null
-/** @file\r
- This protocol may be used to install or remove an ACPI table from a platform.\r
-\r
- Copyright (c) 2007, 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: AcpiTable.h\r
-\r
- @par Revision Reference:\r
- ACPI Table Protocol from the UEFI 2.1 specification.\r
-\r
-**/\r
-\r
-#ifndef __ACPI_TABLE_H__\r
-#define __ACPI_TABLE_H__\r
-\r
-//\r
-// Global ID for the Acpi Table Protocol\r
-//\r
-#define EFI_ACPI_TABLE_PROTOCOL_GUID \\r
- { \\r
- 0xffe06bdd, 0x6107, 0x46a6, {0x7b, 0xb2, 0x5a, 0x9c, 0x7e, 0xc5, 0x27, 0x5c} \\r
- }\r
-\r
-typedef struct _EFI_ACPI_TABLE_PROTOCOL EFI_ACPI_TABLE_PROTOCOL;\r
-\r
-#define UEFI_ACPI_TABLE_SIGNATURE EFI_SIGNATURE_32 ('U', 'E', 'F', 'I')\r
-\r
-/**\r
- Installs an ACPI table into the RSDT/XSDT.\r
-\r
- @param This Protocol instance pointer. \r
- @param AcpiTableBuffer A pointer to a buffer containing the ACPI table \r
- to be installed. \r
- @param AcpiTableBufferSize Specifies the size, in bytes, of the \r
- AcpiTableBuffer buffer. \r
- @param TableKey Reurns a key to refer to the ACPI table. \r
-\r
- @retval EFI_SUCCESS The table was successfully inserted. \r
- @retval EFI_INVALID_PARAMETER Either AcpiTableBuffer is NULL, TableKey is \r
- NULL, or AcpiTableBufferSize and the size field \r
- embedded in the ACPI table pointed to by \r
- AcpiTableBuffer are not in sync. \r
- @retval EFI_OUT_OF_RESOURCES Insufficient resources exist to complete the \r
- request. \r
-\r
-**/\r
-typedef\r
-EFI_STATUS\r
-(EFIAPI *EFI_ACPI_TABLE_INSTALL_ACPI_TABLE) (\r
- IN EFI_ACPI_TABLE_PROTOCOL *This,\r
- IN VOID *AcpiTableBuffer,\r
- IN UINTN AcpiTableBufferSize,\r
- OUT UINTN *TableKey\r
- )\r
-;\r
-\r
-/**\r
- Removes an ACPI table from the RSDT/XSDT.\r
-\r
- @param This Protocol instance pointer. \r
- @param TableKey Specifies the table to uninstall. The key was \r
- returned from InstallAcpiTable(). \r
-\r
- @retval EFI_SUCCESS The table was successfully uninstalled. \r
- @retval EFI_NOT_FOUND TableKey does not refer to a valid key for a \r
- table entry. \r
-\r
-**/\r
-typedef\r
-EFI_STATUS\r
-(EFIAPI *EFI_ACPI_TABLE_UNINSTALL_ACPI_TABLE) (\r
- IN EFI_ACPI_TABLE_PROTOCOL *This,\r
- IN UINTN TableKey\r
- )\r
-;\r
-\r
-//\r
-// Interface structure for the ACPI Table Protocol\r
-//\r
-struct _EFI_ACPI_TABLE_PROTOCOL {\r
- EFI_ACPI_TABLE_INSTALL_ACPI_TABLE InstallAcpiTable;\r
- EFI_ACPI_TABLE_UNINSTALL_ACPI_TABLE UninstallAcpiTable;\r
-};\r
-\r
-//\r
-// Extern the GUID for protocol users.\r
-//\r
-extern EFI_GUID gEfiAcpiTableProtocolGuid;\r
-\r
-#endif\r