ShellPkg: Add acpiview tool to dump ACPI tables
[mirror_edk2.git] / ShellPkg / Library / UefiShellAcpiViewCommandLib / AcpiView.h
1 /**\r
2   Header file for AcpiView\r
3 \r
4   Copyright (c) 2016 - 2018, ARM Limited. All rights reserved.\r
5   This program and the accompanying materials\r
6   are licensed and made available under the terms and conditions of the BSD License\r
7   which accompanies this distribution.  The full text of the license may be found at\r
8   http://opensource.org/licenses/bsd-license.php\r
9 \r
10   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
11   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
12 **/\r
13 \r
14 #ifndef ACPIVIEW_H_\r
15 #define ACPIVIEW_H_\r
16 \r
17 /** A macro to define the max file name length\r
18 */\r
19 #define MAX_FILE_NAME_LEN    128\r
20 \r
21 /** Offset to the RSDP revision from the start of the RSDP\r
22 */\r
23 #define RSDP_REVISION_OFFSET 15\r
24 \r
25 /** Offset to the RSDP length from the start of the RSDP\r
26 */\r
27 #define RSDP_LENGTH_OFFSET   20\r
28 \r
29 /** The EREPORT_OPTION enum describes ACPI table Reporting options.\r
30 */\r
31 typedef enum ReportOption {\r
32   EREPORT_ALL,            ///< Report All tables.\r
33   EREPORT_SELECTED,       ///< Report Selected table.\r
34   EREPORT_TABLE_LIST,     ///< Report List of tables.\r
35   EREPORT_DUMP_BIN_FILE,  ///< Dump selected table to a file.\r
36   EREPORT_MAX\r
37 } EREPORT_OPTION;\r
38 \r
39 /** This function resets the ACPI table error counter to Zero.\r
40 */\r
41 VOID\r
42 ResetErrorCount (\r
43   VOID\r
44   );\r
45 \r
46 /** This function returns the ACPI table error count.\r
47 \r
48   @retval Returns the count of errors detected in the ACPI tables.\r
49 */\r
50 UINT32\r
51 GetErrorCount (\r
52   VOID\r
53   );\r
54 \r
55 /** This function resets the ACPI table warning counter to Zero.\r
56 */\r
57 VOID\r
58 ResetWarningCount (\r
59   VOID\r
60   );\r
61 \r
62 /** This function returns the ACPI table warning count.\r
63 \r
64   @retval Returns the count of warning detected in the ACPI tables.\r
65 */\r
66 UINT32\r
67 GetWarningCount (\r
68   VOID\r
69   );\r
70 \r
71 /** This function returns the colour highlighting status.\r
72 \r
73   @retval TRUE if colour highlighting is enabled.\r
74 */\r
75 BOOLEAN\r
76 GetColourHighlighting (\r
77   VOID\r
78   );\r
79 \r
80 /** This function sets the colour highlighting status.\r
81 \r
82 */\r
83 VOID\r
84 SetColourHighlighting (\r
85   BOOLEAN Highlight\r
86   );\r
87 \r
88 /** This function processes the table reporting options for the ACPI table.\r
89 \r
90   @param [in] Signature The ACPI table Signature.\r
91   @param [in] TablePtr  Pointer to the ACPI table data.\r
92   @param [in] Length    The length fo the ACPI table.\r
93 \r
94   @retval Returns TRUE if the ACPI table should be traced.\r
95 */\r
96 BOOLEAN\r
97 ProcessTableReportOptions (\r
98   IN CONST UINT32  Signature,\r
99   IN CONST UINT8*  TablePtr,\r
100   IN CONST UINT32  Length\r
101   );\r
102 \r
103 #endif // ACPIVIEW_H_\r