]> git.proxmox.com Git - mirror_edk2.git/blame - DynamicTablesPkg/Library/Common/AmlLib/Api/AmlApiHelper.h
DynamicTablesPkg: Remove duplicated words
[mirror_edk2.git] / DynamicTablesPkg / Library / Common / AmlLib / Api / AmlApiHelper.h
CommitLineData
c85ac524
PG
1/** @file\r
2 AML Helper.\r
3\r
4 Copyright (c) 2020, Arm Limited. All rights reserved.<BR>\r
5\r
6 SPDX-License-Identifier: BSD-2-Clause-Patent\r
7**/\r
8\r
9#ifndef AML_HELPER_H_\r
10#define AML_HELPER_H_\r
11\r
12#include <AmlNodeDefines.h>\r
13#include <ResourceData/AmlResourceData.h>\r
14\r
15/** Compare the NameString defined by the "Name ()" ASL function,\r
16 and stored in the NameOpNode, with the input NameString.\r
17\r
18 An ASL NameString is expected to be NULL terminated, and can be composed\r
19 of NameSegs that have less that 4 chars, like "DEV". "DEV" will be expanded\r
20 as "DEV_".\r
21\r
11ce7a2d 22 An AML NameString is not NULL terminated and is only composed of\r
c85ac524
PG
23 4 chars long NameSegs.\r
24\r
25 @param [in] NameOpNode NameOp object node defining a variable.\r
26 Must have an AML_NAME_OP/0 OpCode/SubOpCode.\r
27 NameOp object nodes are defined in ASL\r
28 using the "Name ()" function.\r
29 @param [in] AslName ASL NameString to compare the NameOp's name with.\r
30 Must be NULL terminated.\r
31\r
32 @retval TRUE If the AslName and the AmlName defined by the NameOp node\r
33 are similar.\r
34 @retval FALSE Otherwise.\r
35**/\r
36BOOLEAN\r
37EFIAPI\r
38AmlNameOpCompareName (\r
731c67e1
MK
39 IN AML_OBJECT_NODE_HANDLE NameOpNode,\r
40 IN CHAR8 *AslName\r
c85ac524
PG
41 );\r
42\r
43/** Check whether ObjectNode has the input OpCode/SubOpcode couple.\r
44\r
45 @param [in] ObjectNode Pointer to an object node.\r
46 @param [in] OpCode OpCode to check\r
47 @param [in] SubOpCode SubOpCode to check\r
48\r
49 @retval TRUE The node is an object node and\r
50 the Opcode and SubOpCode match.\r
51 @retval FALSE Otherwise.\r
52**/\r
53BOOLEAN\r
54EFIAPI\r
55AmlNodeHasOpCode (\r
731c67e1
MK
56 IN AML_OBJECT_NODE_HANDLE ObjectNode,\r
57 IN UINT8 OpCode,\r
58 IN UINT8 SubOpCode\r
c85ac524
PG
59 );\r
60\r
61/** Check whether DataNode has the input DataType.\r
62\r
63 @param [in] DataNode Pointer to a data node.\r
64 @param [in] DataType DataType to check.\r
65\r
66 @retval TRUE The node is a data node and\r
67 the DataType match.\r
68 @retval FALSE Otherwise.\r
69**/\r
70BOOLEAN\r
71EFIAPI\r
72AmlNodeHasDataType (\r
731c67e1
MK
73 IN AML_DATA_NODE_HANDLE DataNode,\r
74 IN EAML_NODE_DATA_TYPE DataType\r
c85ac524
PG
75 );\r
76\r
77/** Check whether RdNode has the input RdDataType.\r
78\r
79 @param [in] RdNode Pointer to a data node.\r
80 @param [in] RdDataType DataType to check.\r
81\r
82 @retval TRUE The node is a Resource Data node and\r
83 the RdDataType match.\r
84 @retval FALSE Otherwise.\r
85**/\r
86BOOLEAN\r
87EFIAPI\r
88AmlNodeHasRdDataType (\r
731c67e1
MK
89 IN AML_DATA_NODE_HANDLE RdNode,\r
90 IN AML_RD_HEADER RdDataType\r
c85ac524
PG
91 );\r
92\r
93#endif // AML_HELPER_H_\r