]> git.proxmox.com Git - mirror_edk2.git/blob - ShellPkg/Library/UefiShellAcpiViewCommandLib/AcpiViewConfig.h
ShellPkg/AcpiView: Refactor configuration
[mirror_edk2.git] / ShellPkg / Library / UefiShellAcpiViewCommandLib / AcpiViewConfig.h
1 /** @file
2 Header file for 'acpiview' configuration.
3
4 Copyright (c) 2016 - 2020, ARM Limited. All rights reserved.<BR>
5 SPDX-License-Identifier: BSD-2-Clause-Patent
6 **/
7
8 #ifndef ACPI_VIEW_CONFIG_H_
9 #define ACPI_VIEW_CONFIG_H_
10
11 /**
12 This function returns the colour highlighting status.
13
14 @retval TRUE Colour highlighting is enabled.
15 **/
16 BOOLEAN
17 EFIAPI
18 GetColourHighlighting (
19 VOID
20 );
21
22 /**
23 This function sets the colour highlighting status.
24
25 @param [in] Highlight The highlight status.
26 **/
27 VOID
28 EFIAPI
29 SetColourHighlighting (
30 BOOLEAN Highlight
31 );
32
33 /**
34 This function returns the consistency checking status.
35
36 @retval TRUE Consistency checking is enabled.
37 **/
38 BOOLEAN
39 EFIAPI
40 GetConsistencyChecking (
41 VOID
42 );
43
44 /**
45 This function sets the consistency checking status.
46
47 @param [in] ConsistencyChecking The consistency checking status.
48 **/
49 VOID
50 EFIAPI
51 SetConsistencyChecking (
52 BOOLEAN ConsistencyChecking
53 );
54
55 /**
56 This function returns the ACPI table requirements validation flag.
57
58 @retval TRUE Check for mandatory table presence should be performed.
59 **/
60 BOOLEAN
61 EFIAPI
62 GetMandatoryTableValidate (
63 VOID
64 );
65
66 /**
67 This function sets the ACPI table requirements validation flag.
68
69 @param [in] Validate Enable/Disable ACPI table requirements validation.
70 **/
71 VOID
72 EFIAPI
73 SetMandatoryTableValidate (
74 BOOLEAN Validate
75 );
76
77 /**
78 This function returns the identifier of specification to validate ACPI table
79 requirements against.
80
81 @return ID of specification listing mandatory tables.
82 **/
83 UINTN
84 EFIAPI
85 GetMandatoryTableSpec (
86 VOID
87 );
88
89 /**
90 This function sets the identifier of specification to validate ACPI table
91 requirements against.
92
93 @param [in] Spec ID of specification listing mandatory tables.
94 **/
95 VOID
96 EFIAPI
97 SetMandatoryTableSpec (
98 UINTN Spec
99 );
100
101 /**
102 The EREPORT_OPTION enum describes ACPI table Reporting options.
103 **/
104 typedef enum {
105 ReportAll, ///< Report All tables.
106 ReportSelected, ///< Report Selected table.
107 ReportTableList, ///< Report List of tables.
108 ReportDumpBinFile, ///< Dump selected table to a file.
109 ReportMax,
110 } EREPORT_OPTION;
111
112 /**
113 This function returns the report options.
114
115 @return The current report option.
116 **/
117 EREPORT_OPTION
118 EFIAPI
119 GetReportOption (
120 VOID
121 );
122
123 /**
124 This function sets the report options.
125
126 @param [in] ReportType The report option to set.
127 **/
128 VOID
129 EFIAPI
130 SetReportOption (
131 EREPORT_OPTION ReportType
132 );
133
134 /**
135 A structure holding the user selection detailing which
136 ACPI table is to be examined by the AcpiView code.
137 **/
138 typedef struct {
139 UINT32 Type; ///< 32bit signature of the selected ACPI table.
140 CONST CHAR16* Name; ///< User friendly name of the selected ACPI table.
141 BOOLEAN Found; ///< The selected table has been found in the system.
142 } SELECTED_ACPI_TABLE;
143
144 /**
145 This function returns the selected ACPI table.
146
147 @param [out] SelectedAcpiTable Pointer that will contain the returned struct.
148 **/
149 VOID
150 EFIAPI
151 GetSelectedAcpiTable (
152 OUT SELECTED_ACPI_TABLE** SelectedAcpiTable
153 );
154
155 /**
156 This function selects an ACPI table in current context.
157 The string name of the table is converted into UINT32
158 table signature.
159
160 @param [in] TableName The name of the ACPI table to select.
161 **/
162 VOID
163 EFIAPI
164 SelectAcpiTable (
165 CONST CHAR16* TableName
166 );
167
168 /**
169 Reset the AcpiView user configuration to defaults.
170 **/
171 VOID
172 EFIAPI
173 AcpiConfigSetDefaults (
174 VOID
175 );
176
177 #endif // ACPI_VIEW_CONFIG_H_