TianoCore EDK2 master
|
#include <AmlNodeDefines.h>
Go to the source code of this file.
Functions | |
AML_ROOT_NODE *EFIAPI | AmlGetRootNode (IN CONST AML_NODE_HEADER *Node) |
BOOLEAN EFIAPI | AmlIsNodeFixedArgument (IN CONST AML_NODE_HEADER *Node, OUT EAML_PARSE_INDEX *IndexPtr) |
EFI_STATUS EFIAPI | AmlSetFixedArgument (IN AML_OBJECT_NODE *ObjectNode, IN EAML_PARSE_INDEX Index, IN AML_NODE_HEADER *NewNode) |
LIST_ENTRY *EFIAPI | AmlNodeGetVariableArgList (IN CONST AML_NODE_HEADER *Node) |
EFI_STATUS EFIAPI | AmlVarListAddTailInternal (IN AML_NODE_HEADER *ParentNode, IN AML_NODE_HEADER *NewNode) |
EFI_STATUS EFIAPI | AmlReplaceArgument (IN AML_NODE_HEADER *OldNode, IN AML_NODE_HEADER *NewNode) |
AML Tree.
Copyright (c) 2019 - 2020, Arm Limited. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
Definition in file AmlTree.h.
AML_ROOT_NODE *EFIAPI AmlGetRootNode | ( | IN CONST AML_NODE_HEADER * | Node | ) |
BOOLEAN EFIAPI AmlIsNodeFixedArgument | ( | IN CONST AML_NODE_HEADER * | Node, |
OUT EAML_PARSE_INDEX * | IndexPtr | ||
) |
Check whether the input Node is in the fixed argument list of its parent node.
If so, IndexPtr contains this Index.
[in] | Node | Pointer to a Node. |
[out] | IndexPtr | Pointer holding the Index of the Node in its parent's fixed argument list. |
TRUE | The node is a fixed argument and the index in IndexPtr is valid. |
FALSE | The node is not a fixed argument. |
LIST_ENTRY *EFIAPI AmlNodeGetVariableArgList | ( | IN CONST AML_NODE_HEADER * | Node | ) |
EFI_STATUS EFIAPI AmlReplaceArgument | ( | IN AML_NODE_HEADER * | OldNode, |
IN AML_NODE_HEADER * | NewNode | ||
) |
Replace the OldNode by the NewNode.
Note: This function unlinks the OldNode from the tree. It is the callers responsibility to delete the OldNode if needed.
[in] | OldNode | Pointer to the node to replace. Must be a data node or an object node. |
[in] | NewNode | The new node to insert. Must be a data node or an object node. |
EFI_SUCCESS | The function completed successfully. |
EFI_INVALID_PARAMETER | Invalid parameter. |
EFI_STATUS EFIAPI AmlSetFixedArgument | ( | IN AML_OBJECT_NODE * | ObjectNode, |
IN EAML_PARSE_INDEX | Index, | ||
IN AML_NODE_HEADER * | NewNode | ||
) |
Set the fixed argument of the ObjectNode at the Index to the NewNode.
It is the caller's responsibility to save the old node, if desired, otherwise the reference to the old node will be lost. If NewNode is not NULL, set its parent to ObjectNode.
[in] | ObjectNode | Pointer to an object node. |
[in] | Index | Index in the fixed argument list of the ObjectNode to set. |
[in] | NewNode | Pointer to the NewNode. Can be NULL, a data node or an object node. |
EFI_SUCCESS | The function completed successfully. |
EFI_INVALID_PARAMETER | Invalid parameter. |
EFI_STATUS EFIAPI AmlVarListAddTailInternal | ( | IN AML_NODE_HEADER * | ParentNode, |
IN AML_NODE_HEADER * | NewNode | ||
) |
Add the NewNode to the tail of the variable list of arguments of the ParentNode.
NOTE: This is an internal function which does not propagate the size when a new node is added.
[in] | ParentNode | Pointer to the parent node. Must be a root or an object node. |
[in] | NewNode | Pointer to the node to add. |
EFI_SUCCESS | The function completed successfully. |
EFI_INVALID_PARAMETER | Invalid parameter. |