TianoCore EDK2 master
|
Go to the source code of this file.
Functions | |
AML_NODE_HEADER *EFIAPI | AmlGetSiblingVariableArgument (IN AML_NODE_HEADER *VarArgNode) |
AML_NODE_HEADER *EFIAPI | AmlGetNextVariableArgument (IN AML_NODE_HEADER *Node, IN AML_NODE_HEADER *CurrVarArg) |
AML_NODE_HEADER *EFIAPI | AmlGetPreviousVariableArgument (IN AML_NODE_HEADER *Node, IN AML_NODE_HEADER *CurrVarArg) |
AML_NODE_HEADER *EFIAPI | AmlGetNextSibling (IN CONST AML_NODE_HEADER *Node, IN CONST AML_NODE_HEADER *ChildNode) |
AML_NODE_HEADER *EFIAPI | AmlGetPreviousSibling (IN CONST AML_NODE_HEADER *Node, IN CONST AML_NODE_HEADER *ChildNode) |
AML_NODE_HEADER *EFIAPI | AmlGetNextNode (IN CONST AML_NODE_HEADER *Node) |
AML_NODE_HEADER *EFIAPI | AmlGetPreviousNode (IN CONST AML_NODE_HEADER *Node) |
AML Tree Traversal.
Copyright (c) 2019 - 2020, Arm Limited. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
Definition in file AmlTreeTraversal.c.
AML_NODE_HEADER *EFIAPI AmlGetNextNode | ( | IN CONST AML_NODE_HEADER * | Node | ) |
Iterate through the nodes in the same order as the AML bytestream.
The iteration is similar to a depth-first path.
(Node) /-i # Child of fixed argument b \ / |- [a][b][c][d] # Fixed Arguments |- {(e)->(f)->(g)} # Variable Arguments \ -h # Child of variable argument e
Traversal Order: a, b, i, c, d, e, h, f, g, NULL Note: The branch i and h will be traversed if it has any children.
[in] | Node | Pointer to a node. |
Definition at line 429 of file AmlTreeTraversal.c.
AML_NODE_HEADER *EFIAPI AmlGetNextSibling | ( | IN CONST AML_NODE_HEADER * | Node, |
IN CONST AML_NODE_HEADER * | ChildNode | ||
) |
Get the next sibling node among the children of the input Node.
This function traverses the FixedArguments followed by the VariableArguments at the same level in the hierarchy.
Fixed arguments are before variable arguments.
(Node) /-i # Child of fixed argument b \ / |- [a][b][c][d] # Fixed Arguments |- {(e)->(f)->(g)} # Variable Arguments \ -h # Child of variable argument e
Traversal Order: a, b, c, d, e, f, g, NULL
[in] | Node | Pointer to a root node or an object node. |
[in] | ChildNode | Get the node after the ChildNode. |
Definition at line 247 of file AmlTreeTraversal.c.
AML_NODE_HEADER *EFIAPI AmlGetNextVariableArgument | ( | IN AML_NODE_HEADER * | Node, |
IN AML_NODE_HEADER * | CurrVarArg | ||
) |
Get the next variable argument.
(Node) /-i # Child of fixed argument b \ / |- [a][b][c][d] # Fixed Arguments |- {(e)->(f)->(g)} # Variable Arguments \ -h # Child of variable argument e
Traversal Order: e, f, g, NULL
[in] | Node | Pointer to a Root node or Object Node. |
[in] | CurrVarArg | Pointer to the Current Variable Argument. |
Definition at line 88 of file AmlTreeTraversal.c.
AML_NODE_HEADER *EFIAPI AmlGetPreviousNode | ( | IN CONST AML_NODE_HEADER * | Node | ) |
Iterate through the nodes in the reverse order of the AML bytestream.
The iteration is similar to a depth-first path, but done in a reverse order.
(Node) /-i # Child of fixed argument b \ / |- [a][b][c][d] # Fixed Arguments |- {(e)->(f)->(g)} # Variable Arguments \ -h # Child of variable argument e
Traversal Order: g, f, h, e, d, c, i, b, a, NULL Note: The branch i and h will be traversed if it has any children.
[in] | Node | Pointer to a node. |
Definition at line 513 of file AmlTreeTraversal.c.
AML_NODE_HEADER *EFIAPI AmlGetPreviousSibling | ( | IN CONST AML_NODE_HEADER * | Node, |
IN CONST AML_NODE_HEADER * | ChildNode | ||
) |
Get the previous sibling node among the children of the input Node.
This function traverses the FixedArguments followed by the VariableArguments at the same level in the hierarchy.
Fixed arguments are before variable arguments.
(Node) /-i # Child of fixed argument b \ / |- [a][b][c][d] # Fixed Arguments |- {(e)->(f)->(g)} # Variable Arguments \ -h # Child of variable argument e
Traversal Order: g, f, e, d, c, b, a, NULL
[in] | Node | The node to get the fixed argument from. |
[in] | ChildNode | Get the node before the ChildNode. |
Definition at line 335 of file AmlTreeTraversal.c.
AML_NODE_HEADER *EFIAPI AmlGetPreviousVariableArgument | ( | IN AML_NODE_HEADER * | Node, |
IN AML_NODE_HEADER * | CurrVarArg | ||
) |
Get the previous variable argument.
(Node) /-i # Child of fixed argument b \ / |- [a][b][c][d] # Fixed Arguments |- {(e)->(f)->(g)} # Variable Arguments \ -h # Child of variable argument e
Traversal Order: g, f, e, NULL
[in] | Node | Pointer to a root node or an object node. |
[in] | CurrVarArg | Pointer to the Current Variable Argument. |
Definition at line 164 of file AmlTreeTraversal.c.