]> git.proxmox.com Git - mirror_edk2.git/blobdiff - EmbeddedPkg/Include/Library/AcpiLib.h
EmbeddedPkg/AcpiLib: Introduced LocateAndInstallAcpiFromFvConditional()
[mirror_edk2.git] / EmbeddedPkg / Include / Library / AcpiLib.h
index b0cde9aed447a2b0ecca89769785697716172f10..42710fd1fd62f477c560b98922ceae59c4ccccaa 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
   Helper Library for ACPI\r
 \r
-  Copyright (c) 2014, ARM Ltd. All rights reserved.\r
+  Copyright (c) 2014-2015, ARM Ltd. All rights reserved.\r
 \r
   This program and the accompanying materials\r
   are licensed and made available under the terms and conditions of the BSD License\r
@@ -18,6 +18,8 @@
 \r
 #include <Uefi.h>\r
 \r
+#include <IndustryStandard/Acpi10.h>\r
+\r
 //\r
 // Macros for the Generic Address Space\r
 //\r
     WatchdogTimerGSIV, WatchdogTimerFlags                                                               \\r
   }\r
 \r
+typedef\r
+BOOLEAN\r
+(EFIAPI *EFI_LOCATE_ACPI_CHECK) (\r
+  IN  EFI_ACPI_DESCRIPTION_HEADER *AcpiHeader\r
+  );\r
+\r
+/**\r
+  Locate and Install the ACPI tables from the Firmware Volume if it verifies\r
+  the function condition.\r
+\r
+  @param  AcpiFile                Guid of the ACPI file into the Firmware Volume\r
+  @param  CheckAcpiTableFunction  Function that checks if the ACPI table should be installed\r
+\r
+  @return EFI_SUCCESS             The function completed successfully.\r
+  @return EFI_NOT_FOUND           The protocol could not be located.\r
+  @return EFI_OUT_OF_RESOURCES    There are not enough resources to find the protocol.\r
+\r
+**/\r
+EFI_STATUS\r
+LocateAndInstallAcpiFromFvConditional (\r
+  IN CONST EFI_GUID*        AcpiFile,\r
+  IN EFI_LOCATE_ACPI_CHECK  CheckAcpiTableFunction\r
+  );\r
+\r
 /**\r
   Locate and Install the ACPI tables from the Firmware Volume\r
 \r