summaryrefslogtreecommitdiffstats
path: root/ShellPkg/Include
diff options
context:
space:
mode:
authorTomas Pilar <Tomas.Pilar@arm.com>2020-06-19 12:59:54 +0100
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>2020-06-30 01:39:50 +0000
commitdb77d8f7ee9490138d853c4fb06e7a1e14a49148 (patch)
treed34d90a4ce88b647c6779e3b3774730d1dc9a438 /ShellPkg/Include
parentd45cf5ffdf65f6bfdde64886746d81a69ae31bf4 (diff)
downloadedk2-db77d8f7ee9490138d853c4fb06e7a1e14a49148.tar.gz
edk2-db77d8f7ee9490138d853c4fb06e7a1e14a49148.tar.bz2
edk2-db77d8f7ee9490138d853c4fb06e7a1e14a49148.zip
ShellPkg: Add AcpiViewCommandLib
The UefiShellAcpiViewCommandLib is converted from NULL library to a named library so that it may be used in modules other than shell. The library interface exposes the main method for to AcpiView functionality as well as a helper method to dump a buffer to a file. The Shell module is still built by pulling UefiShellAcpiViewCommandLib as a NULL library to preserve the modularity of shell builds. Cc: Ray Ni <ray.ni@intel.com> Cc: Zhichao Gao <zhichao.gao@intel.com> Reviewed-by: Zhichao Gao <zhichao.gao@intel.com> Signed-off-by: Tomas Pilar <tomas.pilar@arm.com>
Diffstat (limited to 'ShellPkg/Include')
-rw-r--r--ShellPkg/Include/Library/AcpiViewCommandLib.h46
1 files changed, 46 insertions, 0 deletions
diff --git a/ShellPkg/Include/Library/AcpiViewCommandLib.h b/ShellPkg/Include/Library/AcpiViewCommandLib.h
new file mode 100644
index 0000000000..11cf96c6e0
--- /dev/null
+++ b/ShellPkg/Include/Library/AcpiViewCommandLib.h
@@ -0,0 +1,46 @@
+/** @file
+ Library providing 'acpiview' functionality to display and
+ validate installed ACPI tables.
+
+ Copyright (c) 2016 - 2020, ARM Limited. All rights reserved.<BR>
+ SPDX-License-Identifier: BSD-2-Clause-Patent
+**/
+
+#ifndef ACPI_VIEW_COMMAND_LIB_H_
+#define ACPI_VIEW_COMMAND_LIB_H_
+
+/**
+ Dump a buffer to a file. Print error message if a file cannot be created.
+
+ @param[in] FileName The filename that shall be created to contain the buffer.
+ @param[in] Buffer Pointer to buffer that shall be dumped.
+ @param[in] BufferSize The size of buffer to be dumped in bytes.
+
+ @return The number of bytes that were written
+**/
+UINTN
+EFIAPI
+ShellDumpBufferToFile (
+ IN CONST CHAR16* FileNameBuffer,
+ IN CONST VOID* Buffer,
+ IN CONST UINTN BufferSize
+ );
+
+/**
+ Display and validate ACPI tables.
+
+ @param[in] ImageHandle Handle to the Image (NULL if internal).
+ @param[in] SystemTable Pointer to the System Table (NULL if internal).
+
+ @retval SHELL_INVALID_PARAMETER The command line invocation could not be parsed.
+ @retval SHELL_NOT_FOUND The command failed.
+ @retval SHELL_SUCCESS The command was successful.
+**/
+SHELL_STATUS
+EFIAPI
+ShellCommandRunAcpiView (
+ IN EFI_HANDLE ImageHandle,
+ IN EFI_SYSTEM_TABLE *SystemTable
+ );
+
+#endif // UEFI_SHELL_ACPIVIEW_COMMAND_LIB_H_