59 if ((OutNode ==
NULL) ||
60 (InternalIterator ==
NULL) ||
68 return EFI_INVALID_PARAMETER;
100 if ((InternalIterator ==
NULL) ||
106 return EFI_INVALID_PARAMETER;
114 if (NextNode !=
NULL) {
145 if ((InternalIterator ==
NULL) ||
151 return EFI_INVALID_PARAMETER;
158 if (PrevNode !=
NULL) {
190 if ((InternalIterator ==
NULL) ||
196 return EFI_INVALID_PARAMETER;
209 if (NextNode !=
NULL) {
241 if ((InternalIterator ==
NULL) ||
247 return EFI_INVALID_PARAMETER;
260 if (PrevNode !=
NULL) {
293 (IteratorPtr ==
NULL))
296 return EFI_INVALID_PARAMETER;
305 if (InternalIterator ==
NULL) {
307 return EFI_OUT_OF_RESOURCES;
312 InternalIterator->
Mode = IteratorMode;
315 switch (InternalIterator->
Mode) {
332 return EFI_INVALID_PARAMETER;
336 *IteratorPtr = &InternalIterator->
Iterator;
357 if (Iterator ==
NULL) {
359 return EFI_INVALID_PARAMETER;
#define IS_AML_NODE_VALID(Node)
STATIC EFI_STATUS EFIAPI AmlIteratorGetNextBranch(IN AML_TREE_ITERATOR *Iterator, OUT AML_NODE_HEADER **NextNode)
EFI_STATUS EFIAPI AmlInitializeIterator(IN AML_NODE_HEADER *Node, IN EAML_ITERATOR_MODE IteratorMode, OUT AML_TREE_ITERATOR **IteratorPtr)
STATIC EFI_STATUS EFIAPI AmlIteratorGetNextLinear(IN AML_TREE_ITERATOR *Iterator, OUT AML_NODE_HEADER **NextNode)
struct AmlTreeInternalIterator AML_TREE_ITERATOR_INTERNAL
STATIC EFI_STATUS EFIAPI AmlIteratorGetPreviousBranch(IN AML_TREE_ITERATOR *Iterator, OUT AML_NODE_HEADER **PrevNode)
STATIC EFI_STATUS EFIAPI AmlIteratorGetNode(IN AML_TREE_ITERATOR *Iterator, OUT AML_NODE_HEADER **OutNode)
STATIC EFI_STATUS EFIAPI AmlIteratorGetPreviousLinear(IN AML_TREE_ITERATOR *Iterator, OUT AML_NODE_HEADER **PrevNode)
AML_NODE_HEADER *EFIAPI AmlGetPreviousNode(IN CONST AML_NODE_HEADER *Node)
AML_NODE_HEADER *EFIAPI AmlGetNextNode(IN CONST AML_NODE_HEADER *Node)
VOID *EFIAPI AllocateZeroPool(IN UINTN AllocationSize)
VOID EFIAPI FreePool(IN VOID *Buffer)
AML_NODE_HANDLE EFIAPI AmlGetParent(IN AML_NODE_HANDLE Node)
EFI_STATUS EFIAPI AmlDeleteIterator(IN AML_TREE_ITERATOR *Iterator)
enum EAmlIteratorMode EAML_ITERATOR_MODE
@ EAmlIteratorUnknown
Unknown/Invalid AML IteratorMode.
@ EAmlIteratorModeMax
Max enum.
AML_TREE_ITERATOR Iterator
CONST AML_NODE_HEADER * InitialNode
Pointer to the node on which the iterator has been initialized.
CONST AML_NODE_HEADER * CurrentNode
Pointer to the current node.
EDKII_AML_TREE_ITERATOR_GET_PREVIOUS GetPrevious
Update the current node of the iterator with the previous node.
EDKII_AML_TREE_ITERATOR_GET_NEXT GetNext
Update the current node of the iterator with the next node.
EDKII_AML_TREE_ITERATOR_GET_NODE GetNode
Get the current node of the iterator.