ReactOS 0.4.16-dev-311-g9382aa2
actables.h
Go to the documentation of this file.
1/******************************************************************************
2 *
3 * Name: actables.h - ACPI table management
4 *
5 *****************************************************************************/
6
7/*
8 * Copyright (C) 2000 - 2022, Intel Corp.
9 * All rights reserved.
10 *
11 * Redistribution and use in source and binary forms, with or without
12 * modification, are permitted provided that the following conditions
13 * are met:
14 * 1. Redistributions of source code must retain the above copyright
15 * notice, this list of conditions, and the following disclaimer,
16 * without modification.
17 * 2. Redistributions in binary form must reproduce at minimum a disclaimer
18 * substantially similar to the "NO WARRANTY" disclaimer below
19 * ("Disclaimer") and any redistribution must be conditioned upon
20 * including a substantially similar Disclaimer requirement for further
21 * binary redistribution.
22 * 3. Neither the names of the above-listed copyright holders nor the names
23 * of any contributors may be used to endorse or promote products derived
24 * from this software without specific prior written permission.
25 *
26 * Alternatively, this software may be distributed under the terms of the
27 * GNU General Public License ("GPL") version 2 as published by the Free
28 * Software Foundation.
29 *
30 * NO WARRANTY
31 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
32 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
33 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
34 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
35 * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
36 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
37 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
38 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
39 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
40 * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
41 * POSSIBILITY OF SUCH DAMAGES.
42 */
43
44#ifndef __ACTABLES_H__
45#define __ACTABLES_H__
46
47
50 UINT32 InitialTableCount);
51
52/*
53 * tbxfroot - Root pointer utilities
54 */
57 ACPI_TABLE_RSDP *Rsdp);
58
61 ACPI_TABLE_RSDP *Rsdp);
62
63UINT8 *
65 UINT8 *StartAddress,
67
68
69/*
70 * tbdata - table data structure management
71 */
74 UINT32 *TableIndex,
75 ACPI_TABLE_DESC **TableDesc);
76
77void
79 ACPI_TABLE_DESC *TableDesc,
80 ACPI_PHYSICAL_ADDRESS Address,
83
86 ACPI_TABLE_DESC *TableDesc,
87 ACPI_PHYSICAL_ADDRESS Address,
90
91void
93 ACPI_TABLE_DESC *TableDesc);
94
97 ACPI_TABLE_DESC *TableDesc);
98
101 ACPI_TABLE_DESC *TableDesc,
102 char *Signature,
103 UINT32 *TableIndex);
104
107 UINT32 TableIndex);
108
109void
111 UINT32 TableIndex,
112 BOOLEAN IsLoaded);
113
114
115/*
116 * tbfadt - FADT parse/convert/validate
117 */
118void
120 void);
121
122void
125 UINT32 Length);
126
127
128/*
129 * tbfind - find ACPI table
130 */
133 char *Signature,
134 char *OemId,
135 char *OemTableId,
136 UINT32 *TableIndex);
137
138
139/*
140 * tbinstal - Table removal and deletion
141 */
144 void);
145
148 ACPI_TABLE_DESC *TableDesc);
149
150void
152 ACPI_TABLE_DESC *TableDesc);
153
154void
156 ACPI_TABLE_DESC *OldTableDesc);
157
160 ACPI_TABLE_DESC *TableDesc,
161 ACPI_TABLE_HEADER **TablePtr,
162 UINT32 *TableLength,
163 UINT8 *TableFlags);
164
165void
168 UINT32 TableLength,
169 UINT8 TableFlags);
170
173 ACPI_PHYSICAL_ADDRESS Address,
174 UINT8 Flags,
176 BOOLEAN Reload,
177 BOOLEAN Override,
178 UINT32 *TableIndex);
179
180void
182 ACPI_TABLE_DESC *TableDesc);
183
186 UINT32 TableIndex,
187 ACPI_NAMESPACE_NODE *ParentNode);
188
191 ACPI_PHYSICAL_ADDRESS Address,
192 UINT8 Flags,
194 BOOLEAN Override,
195 UINT32 *TableIndex);
196
199 UINT32 TableIndex);
200
201void
204 void *Table);
205
206void
208 void);
209
212 UINT32 TableIndex);
213
216 UINT32 TableIndex);
217
220 UINT32 TableIndex);
221
224 UINT32 TableIndex,
226
227
228/*
229 * tbutils - table manager utilities
230 */
233 void);
234
235void
237 ACPI_PHYSICAL_ADDRESS Address,
239
240void
242 void);
243
246 UINT32 TableIndex);
247
248void
250 ACPI_TABLE_DESC *NewTableDesc,
251 BOOLEAN Override,
252 UINT32 *TableIndex);
253
256 ACPI_PHYSICAL_ADDRESS RsdpAddress);
257
260 ACPI_TABLE_DESC *TableDesc,
261 ACPI_TABLE_HEADER **OutTable);
262
263void
265 ACPI_TABLE_DESC *TableDesc);
266
267
268/*
269 * tbxfload
270 */
273 void);
274
275#endif /* __ACTABLES_H__ */
unsigned char BOOLEAN
unsigned char UINT8
unsigned int UINT32
void AcpiTbInvalidateTable(ACPI_TABLE_DESC *TableDesc)
Definition: tbdata.c:414
ACPI_STATUS AcpiTbParseRootTable(ACPI_PHYSICAL_ADDRESS RsdpAddress)
Definition: tbutils.c:277
void AcpiTbSetTableLoadedFlag(UINT32 TableIndex, BOOLEAN IsLoaded)
Definition: tbdata.c:1059
ACPI_STATUS AcpiAllocateRootTable(UINT32 InitialTableCount)
Definition: tbxface.c:69
ACPI_STATUS AcpiTbLoadNamespace(void)
Definition: tbxfload.c:147
void AcpiTbReleaseTempTable(ACPI_TABLE_DESC *TableDesc)
Definition: tbdata.c:348
ACPI_STATUS AcpiTbAllocateOwnerId(UINT32 TableIndex)
Definition: tbdata.c:923
ACPI_STATUS AcpiTbValidateTable(ACPI_TABLE_DESC *TableDesc)
Definition: tbdata.c:375
void AcpiTbReleaseTable(ACPI_TABLE_HEADER *Table, UINT32 TableLength, UINT8 TableFlags)
Definition: tbdata.c:238
ACPI_STATUS AcpiTbAcquireTempTable(ACPI_TABLE_DESC *TableDesc, ACPI_PHYSICAL_ADDRESS Address, UINT8 Flags, ACPI_TABLE_HEADER *Table)
Definition: tbdata.c:280
ACPI_STATUS AcpiTbResizeRootTableList(void)
Definition: tbdata.c:677
void AcpiTbPrintTableHeader(ACPI_PHYSICAL_ADDRESS Address, ACPI_TABLE_HEADER *Header)
Definition: tbprint.c:143
void AcpiTbCheckDsdtHeader(void)
Definition: tbutils.c:124
BOOLEAN AcpiTbIsTableLoaded(UINT32 TableIndex)
Definition: tbdata.c:1026
ACPI_STATUS AcpiTbGetTable(ACPI_TABLE_DESC *TableDesc, ACPI_TABLE_HEADER **OutTable)
Definition: tbutils.c:434
void AcpiTbUninstallTable(ACPI_TABLE_DESC *TableDesc)
Definition: tbinstal.c:336
ACPI_STATUS AcpiTbUnloadTable(UINT32 TableIndex)
Definition: tbdata.c:1206
ACPI_STATUS AcpiTbVerifyTempTable(ACPI_TABLE_DESC *TableDesc, char *Signature, UINT32 *TableIndex)
Definition: tbdata.c:584
ACPI_STATUS AcpiTbLoadTable(UINT32 TableIndex, ACPI_NAMESPACE_NODE *ParentNode)
Definition: tbdata.c:1097
void AcpiTbCreateLocalFadt(ACPI_TABLE_HEADER *Table, UINT32 Length)
Definition: tbfadt.c:423
void AcpiTbInitTableDescriptor(ACPI_TABLE_DESC *TableDesc, ACPI_PHYSICAL_ADDRESS Address, UINT8 Flags, ACPI_TABLE_HEADER *Table)
Definition: tbdata.c:130
ACPI_STATUS AcpiTbInstallAndLoadTable(ACPI_PHYSICAL_ADDRESS Address, UINT8 Flags, ACPI_TABLE_HEADER *Table, BOOLEAN Override, UINT32 *TableIndex)
Definition: tbdata.c:1162
void AcpiTbOverrideTable(ACPI_TABLE_DESC *OldTableDesc)
Definition: tbinstal.c:250
ACPI_STATUS AcpiTbValidateTempTable(ACPI_TABLE_DESC *TableDesc)
Definition: tbdata.c:463
void AcpiTbParseFadt(void)
Definition: tbfadt.c:339
ACPI_STATUS AcpiTbGetOwnerId(UINT32 TableIndex, ACPI_OWNER_ID *OwnerId)
Definition: tbdata.c:993
ACPI_STATUS AcpiTbInitializeFacs(void)
Definition: tbutils.c:75
ACPI_TABLE_HEADER * AcpiTbCopyDsdt(UINT32 TableIndex)
Definition: tbutils.c:163
void AcpiTbPutTable(ACPI_TABLE_DESC *TableDesc)
Definition: tbutils.c:491
void AcpiTbInstallTableWithOverride(ACPI_TABLE_DESC *NewTableDesc, BOOLEAN Override, UINT32 *TableIndex)
Definition: tbinstal.c:70
ACPI_STATUS AcpiTbReleaseOwnerId(UINT32 TableIndex)
Definition: tbdata.c:957
void AcpiTbNotifyTable(UINT32 Event, void *Table)
Definition: tbdata.c:1259
ACPI_STATUS AcpiTbFindTable(char *Signature, char *OemId, char *OemTableId, UINT32 *TableIndex)
Definition: tbfind.c:70
ACPI_STATUS AcpiTbGetNextTableDescriptor(UINT32 *TableIndex, ACPI_TABLE_DESC **TableDesc)
Definition: tbdata.c:762
ACPI_STATUS AcpiTbInstallStandardTable(ACPI_PHYSICAL_ADDRESS Address, UINT8 Flags, ACPI_TABLE_HEADER *Table, BOOLEAN Reload, BOOLEAN Override, UINT32 *TableIndex)
Definition: tbinstal.c:139
ACPI_STATUS AcpiTbValidateRsdp(ACPI_TABLE_RSDP *Rsdp)
Definition: tbxfroot.c:103
ACPI_STATUS AcpiTbDeleteNamespaceByOwner(UINT32 TableIndex)
Definition: tbdata.c:862
ACPI_STATUS AcpiTbAcquireTable(ACPI_TABLE_DESC *TableDesc, ACPI_TABLE_HEADER **TablePtr, UINT32 *TableLength, UINT8 *TableFlags)
Definition: tbdata.c:180
UINT32 AcpiTbGetRsdpLength(ACPI_TABLE_RSDP *Rsdp)
Definition: tbxfroot.c:66
void AcpiTbTerminate(void)
Definition: tbdata.c:811
UINT8 * AcpiTbScanMemoryForRsdp(UINT8 *StartAddress, UINT32 Length)
Definition: tbxfroot.c:296
UINT32 ACPI_STATUS
Definition: actypes.h:460
UINT16 ACPI_OWNER_ID
Definition: actypes.h:486
Definition: Header.h:9
static const WCHAR Signature[]
Definition: parser.c:141
_Must_inspect_result_ _In_opt_ PVOID OwnerId
Definition: fsrtlfuncs.h:907
ASMGENDATA Table[]
Definition: genincdata.c:61
_In_ ULONG _In_ ULONG _In_ ULONG Length
Definition: ntddpcm.h:102
static WCHAR Address[46]
Definition: ping.c:68
_Must_inspect_result_ _In_ ULONG Flags
Definition: wsk.h:170