TianoCore EDK2 master
|
Go to the source code of this file.
Functions | |
EFI_STATUS EFIAPI | AmlParseFixedArguments (IN AML_OBJECT_NODE *ObjectNode, IN AML_STREAM *FStream, IN LIST_ENTRY *NameSpaceRefList) |
EFI_STATUS EFIAPI | AmlParseVariableArguments (IN AML_NODE_HEADER *Node, IN AML_STREAM *FStream, IN LIST_ENTRY *NameSpaceRefList) |
AML Parser.
Copyright (c) 2019 - 2020, Arm Limited. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
Definition in file AmlParser.h.
EFI_STATUS EFIAPI AmlParseFixedArguments | ( | IN AML_OBJECT_NODE * | ObjectNode, |
IN AML_STREAM * | FStream, | ||
IN LIST_ENTRY * | NameSpaceRefList | ||
) |
Parse the list of fixed arguments of the input ObjectNode.
For each argument, create a node and add it to the fixed argument list of the Node. If a fixed argument has children, parse them.
[in] | ObjectNode | Object node to parse the fixed arguments from. |
[in] | FStream | Forward stream containing the AML bytecode to parse. The stream must not be at its end. |
[in] | NameSpaceRefList | List of namespace reference nodes. |
EFI_SUCCESS | The function completed successfully. |
EFI_BUFFER_TOO_SMALL | No space left in the buffer. |
EFI_INVALID_PARAMETER | Invalid parameter. |
EFI_OUT_OF_RESOURCES | Could not allocate memory. |
Definition at line 893 of file AmlParser.c.
EFI_STATUS EFIAPI AmlParseVariableArguments | ( | IN AML_NODE_HEADER * | Node, |
IN AML_STREAM * | FStream, | ||
IN LIST_ENTRY * | NameSpaceRefList | ||
) |
Parse the variable list of arguments of the input ObjectNode.
For each variable argument, create a node and add it to the variable list of arguments of the Node. If a variable argument has children, parse them recursively.
The arguments of method invocation nodes are added to the variable list of arguments of the method invocation node. It is necessary to first get the number of arguments to parse for this kind of node. A method invocation can have at most 7 fixed arguments.
[in] | Node | Node to parse the variable arguments from. |
[in] | FStream | Forward stream containing the AML bytecode to parse. The stream must not be at its end. |
[in] | NameSpaceRefList | List of namespace reference nodes. |
EFI_SUCCESS | The function completed successfully. |
EFI_BUFFER_TOO_SMALL | No space left in the buffer. |
EFI_INVALID_PARAMETER | Invalid parameter. |
EFI_OUT_OF_RESOURCES | Could not allocate memory. |
Definition at line 1031 of file AmlParser.c.