Tree modification APIs allow to add/remove/replace nodes that are in a variable list of arguments.
No interface is provided to add/remove/replace nodes that are in a fixed list of arguments. Indeed, these nodes are the spine of the tree and a mismanipulation would make the tree inconsistent.
It is however possible to modify the content of fixed argument nodes via Node Interface APIs APIs.
◆ AmlRemoveNodeFromVarArgList()
Remove the Node from its parent's variable list of arguments.
The function will fail if the Node is in its parent's fixed argument list. The Node is not deleted. The deletion is done separately from the removal.
- Parameters
-
[in] | Node | Pointer to a Node. Must be a data node or an object node. |
- Return values
-
EFI_SUCCESS | The function completed successfully. |
EFI_INVALID_PARAMETER | Invalid parameter. |
◆ AmlReplaceVariableArgument()
Replace the OldNode, which is in a variable list of arguments, with the NewNode.
Note: This function unlinks the OldNode from the tree. It is the callers responsibility to delete the OldNode if needed.
- Parameters
-
[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. |
- Return values
-
EFI_SUCCESS | The function completed successfully. |
EFI_INVALID_PARAMETER | Invalid parameter. |
◆ AmlVarListAddAfter()
Add the NewNode after the Node in the variable list of arguments of the Node's parent.
- Parameters
-
[in] | Node | Pointer to a node. Must be a root or an object node. |
[in] | NewNode | Pointer to the node to add. |
- Return values
-
EFI_SUCCESS | The function completed successfully. |
EFI_INVALID_PARAMETER | Invalid parameter. |
◆ AmlVarListAddBefore()
Add the NewNode before the Node in the list of variable arguments of the Node's parent.
- Parameters
-
[in] | Node | Pointer to a node. Must be a root or an object node. |
[in] | NewNode | Pointer to the node to add. |
- Return values
-
EFI_SUCCESS | The function completed successfully. |
EFI_INVALID_PARAMETER | Invalid parameter. |
◆ AmlVarListAddHead()
Add the NewNode to the head of the variable list of arguments of the ParentNode.
- Parameters
-
[in] | ParentNode | Pointer to the parent node. Must be a root or an object node. |
[in] | NewNode | Pointer to the node to add. |
- Return values
-
EFI_SUCCESS | The function completed successfully. |
EFI_INVALID_PARAMETER | Invalid parameter. |
◆ AmlVarListAddTail()
Add the NewNode to the tail of the variable list of arguments of the ParentNode.
- Parameters
-
[in] | ParentNode | Pointer to the parent node. Must be a root or an object node. |
[in] | NewNode | Pointer to the node to add. |
- Return values
-
EFI_SUCCESS | The function completed successfully. |
EFI_INVALID_PARAMETER | Invalid parameter. |