TianoCore EDK2 master
Loading...
Searching...
No Matches
Core Navigation APIs

Functions

AML_NODE_HANDLE EFIAPI AmlGetParent (IN AML_NODE_HANDLE Node)
 
AML_NODE_HANDLE EFIAPI AmlGetFixedArgument (IN AML_OBJECT_NODE_HANDLE ObjectNode, IN EAML_PARSE_INDEX Index)
 
AML_NODE_HANDLE EFIAPI AmlGetSiblingVariableArgument (IN AML_NODE_HANDLE VarArgNode)
 
AML_NODE_HANDLE EFIAPI AmlGetNextVariableArgument (IN AML_NODE_HANDLE Node, IN AML_NODE_HANDLE CurrVarArg)
 
AML_NODE_HANDLE EFIAPI AmlGetPreviousVariableArgument (IN AML_NODE_HANDLE Node, IN AML_NODE_HANDLE CurrVarArg)
 
AML_NODE_HEADER *EFIAPI AmlGetSiblingVariableArgument (IN AML_NODE_HEADER *VarArgNode)
 

Detailed Description

Core Navigation APIs allow to get a node by specifying a relation.

E.g.: Get the parent, the n-th fixed argument, the next variable argument, etc.

Function Documentation

◆ AmlGetFixedArgument()

AML_NODE_HANDLE EFIAPI AmlGetFixedArgument ( IN AML_OBJECT_NODE_HANDLE  ObjectNode,
IN EAML_PARSE_INDEX  Index 
)

Get the node at the input Index in the fixed argument list of the input ObjectNode.

Parameters
[in]ObjectNodePointer to an object node.
[in]IndexThe Index of the fixed argument to get.
Returns
The node at the input Index in the fixed argument list of the input ObjectNode. NULL otherwise, e.g. if the node is not an object node, or no node is available at this Index.

◆ AmlGetNextVariableArgument()

AML_NODE_HANDLE EFIAPI AmlGetNextVariableArgument ( IN AML_NODE_HANDLE  Node,
IN AML_NODE_HANDLE  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

Parameters
[in]NodePointer to a Root node or Object Node.
[in]CurrVarArgPointer to the Current Variable Argument.
Returns
The node after the CurrVarArg in the variable list of arguments. If CurrVarArg is NULL, return the first node of the variable argument list. Return NULL if
  • CurrVarArg is the last node of the list, or
  • Node does not have a variable list of arguments.

◆ AmlGetParent()

AML_NODE_HANDLE EFIAPI AmlGetParent ( IN AML_NODE_HANDLE  Node)

Get the parent node of the input Node.

Parameters
[in]NodePointer to a node.
Returns
The parent node of the input Node. NULL otherwise.

◆ AmlGetPreviousVariableArgument()

AML_NODE_HANDLE EFIAPI AmlGetPreviousVariableArgument ( IN AML_NODE_HANDLE  Node,
IN AML_NODE_HANDLE  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

Parameters
[in]NodePointer to a root node or an object node.
[in]CurrVarArgPointer to the Current Variable Argument.
Returns
The node before the CurrVarArg in the variable list of arguments. If CurrVarArg is NULL, return the last node of the variable list of arguments. Return NULL if:
  • CurrVarArg is the first node of the list, or
  • Node doesn't have a variable list of arguments.

◆ AmlGetSiblingVariableArgument() [1/2]

AML_NODE_HANDLE EFIAPI AmlGetSiblingVariableArgument ( IN AML_NODE_HANDLE  VarArgNode)

Get the sibling node among the nodes being in the same variable argument list.

(ParentNode) /-i # Child of fixed argument b \ / |- [a][b][c][d] # Fixed Arguments |- {(VarArgNode)->(f)->(g)} # Variable Arguments \ -h # Child of variable argument e

Node must be in a variable list of arguments. Traversal Order: VarArgNode, f, g, NULL

Parameters
[in]VarArgNodePointer to a node. Must be in a variable list of arguments.
Returns
The next node after VarArgNode in the variable list of arguments. Return NULL if
  • VarArgNode is the last node of the list, or
  • VarArgNode is not part of a variable list of arguments.

◆ AmlGetSiblingVariableArgument() [2/2]

AML_NODE_HEADER *EFIAPI AmlGetSiblingVariableArgument ( IN AML_NODE_HEADER VarArgNode)

Get the sibling node among the nodes being in the same variable argument list.

(ParentNode) /-i # Child of fixed argument b \ / |- [a][b][c][d] # Fixed Arguments |- {(VarArgNode)->(f)->(g)} # Variable Arguments \ -h # Child of variable argument e

Node must be in a variable list of arguments. Traversal Order: VarArgNode, f, g, NULL

Parameters
[in]VarArgNodePointer to a node. Must be in a variable list of arguments.
Returns
The next node after VarArgNode in the variable list of arguments. Return NULL if
  • VarArgNode is the last node of the list, or
  • VarArgNode is not part of a variable list of arguments.

Definition at line 39 of file AmlTreeTraversal.c.