TianoCore EDK2 master
Loading...
Searching...
No Matches
AmlCoreInterface.h
Go to the documentation of this file.
1
9#ifndef AML_CORE_INTERFACE_H_
10#define AML_CORE_INTERFACE_H_
11
12/* This header file does not include internal Node definition,
13 i.e. AML_ROOT_NODE, AML_OBJECT_NODE, etc. The node definitions
14 must be included by the caller file. The function prototypes must
15 only expose AML_NODE_HANDLE, AML_ROOT_NODE_HANDLE, etc. node
16 definitions.
17 This allows to keep the functions defined here both internal and
18 potentially external. If necessary, any function of this file can
19 be exposed externally.
20 The Api folder is internal to the AmlLib, but should only use these
21 functions. They provide a "safe" way to interact with the AmlLib.
22*/
23
24#include <AmlDefines.h>
27
68EFIAPI
70 IN AML_ROOT_NODE_HANDLE RootNode,
71 IN UINT8 *Buffer OPTIONAL,
72 IN OUT UINT32 *BufferSize
73 );
74
90EFIAPI
93 OUT AML_NODE_HANDLE *ClonedNode
94 );
95
128EFIAPI
131 );
132
146EFIAPI
148 IN AML_NODE_HANDLE ParentNode,
149 IN AML_NODE_HANDLE NewNode
150 );
151
165EFIAPI
167 IN AML_NODE_HANDLE ParentNode,
168 IN AML_NODE_HANDLE NewNode
169 );
170
184EFIAPI
186 IN AML_NODE_HANDLE Node,
187 IN AML_NODE_HANDLE NewNode
188 );
189
203EFIAPI
205 IN AML_NODE_HANDLE Node,
206 IN AML_NODE_HANDLE NewNode
207 );
208
222EFIAPI
224 IN AML_OBJECT_NODE_HANDLE BufferOpNode,
225 IN AML_DATA_NODE_HANDLE NewRdNode
226 );
227
245EFIAPI
247 IN AML_NODE_HANDLE OldNode,
248 IN AML_NODE_HANDLE NewNode
249 );
250
286EFIAPI
289 );
290
303EFIAPI
305 IN AML_ROOT_NODE_HANDLE RootNode,
306 OUT EFI_ACPI_DESCRIPTION_HEADER *SdtHeaderBuffer
307 );
308
334EFIAPI
336 IN AML_OBJECT_NODE_HANDLE ObjectNode,
337 OUT UINT8 *OpCode OPTIONAL,
338 OUT UINT8 *SubOpCode OPTIONAL,
339 OUT UINT32 *PkgLen OPTIONAL,
340 OUT BOOLEAN *IsNameSpaceNode OPTIONAL
341 );
342
352UINT8
355 );
356
369EFIAPI
371 IN AML_DATA_NODE_HANDLE DataNode,
372 OUT EAML_NODE_DATA_TYPE *DataType
373 );
374
393EFIAPI
395 IN AML_DATA_NODE_HANDLE DataNode,
396 OUT AML_RD_HEADER *ResourceDataType
397 );
398
423EFIAPI
425 IN AML_DATA_NODE_HANDLE DataNode,
426 OUT UINT8 *Buffer OPTIONAL,
427 IN OUT UINT32 *BufferSize
428 );
429
445EFIAPI
447 IN AML_ROOT_NODE_HANDLE RootNode,
449 );
450
473EFIAPI
475 IN AML_OBJECT_NODE_HANDLE IntegerOpNode,
476 IN UINT64 NewInteger
477 );
478
497EFIAPI
499 IN AML_DATA_NODE_HANDLE DataNode,
500 IN EAML_NODE_DATA_TYPE DataType,
501 IN UINT8 *Buffer,
502 IN UINT32 Size
503 );
504
542EFIAPI
545 );
546
561EFIAPI
563 IN AML_OBJECT_NODE_HANDLE ObjectNode,
564 IN EAML_PARSE_INDEX Index
565 );
566
591EFIAPI
593 IN AML_NODE_HANDLE VarArgNode
594 );
595
620EFIAPI
622 IN AML_NODE_HANDLE Node,
623 IN AML_NODE_HANDLE CurrVarArg
624 );
625
651EFIAPI
653 IN AML_NODE_HANDLE Node,
654 IN AML_NODE_HANDLE CurrVarArg
655 );
656
683typedef
684BOOLEAN
686 IN AML_NODE_HANDLE Node,
687 IN OUT VOID *Context OPTIONAL,
688 IN OUT EFI_STATUS *Status OPTIONAL
689 );
690
712BOOLEAN
713EFIAPI
715 IN AML_NODE_HANDLE Node,
717 IN OUT VOID *Context OPTIONAL,
718 OUT EFI_STATUS *Status OPTIONAL
719 );
720
760EFIAPI
762 IN AML_NODE_HANDLE Node,
763 OUT CHAR8 *Buffer,
764 IN OUT UINT32 *BufferSize
765 );
766
767#endif // AML_CORE_INTERFACE_H_
EFI_STATUS EFIAPI AmlUpdateInteger(IN AML_OBJECT_NODE_HANDLE IntegerOpNode, IN UINT64 NewInteger)
EFI_STATUS EFIAPI AmlAppendRdNode(IN AML_OBJECT_NODE_HANDLE BufferOpNode, IN AML_DATA_NODE_HANDLE NewRdNode)
void * AML_ROOT_NODE_HANDLE
Definition: AmlLib.h:51
void * AML_DATA_NODE_HANDLE
Definition: AmlLib.h:59
void * AML_OBJECT_NODE_HANDLE
Definition: AmlLib.h:55
void * AML_NODE_HANDLE
Definition: AmlLib.h:47
UINT8 AML_RD_HEADER
#define CONST
Definition: Base.h:259
#define OPTIONAL
Definition: Base.h:290
#define IN
Definition: Base.h:279
#define OUT
Definition: Base.h:284
RETURN_STATUS EFI_STATUS
Definition: UefiBaseType.h:29
EFI_STATUS EFIAPI AmlSerializeTree(IN AML_ROOT_NODE_HANDLE RootNode, IN UINT8 *Buffer OPTIONAL, IN OUT UINT32 *BufferSize)
EFI_STATUS EFIAPI AmlCloneNode(IN AML_NODE_HANDLE Node, OUT AML_NODE_HANDLE *ClonedNode)
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 AmlGetPreviousVariableArgument(IN AML_NODE_HANDLE Node, IN AML_NODE_HANDLE CurrVarArg)
AML_NODE_HANDLE EFIAPI AmlGetNextVariableArgument(IN AML_NODE_HANDLE Node, IN AML_NODE_HANDLE CurrVarArg)
BOOLEAN(EFIAPI * EDKII_AML_TREE_ENUM_CALLBACK)(IN AML_NODE_HANDLE Node, IN OUT VOID *Context OPTIONAL, IN OUT EFI_STATUS *Status OPTIONAL)
BOOLEAN EFIAPI AmlEnumTree(IN AML_NODE_HANDLE Node, IN EDKII_AML_TREE_ENUM_CALLBACK CallBack, IN OUT VOID *Context OPTIONAL, OUT EFI_STATUS *Status OPTIONAL)
EFI_STATUS EFIAPI AmlGetAslPathName(IN AML_NODE_HANDLE Node, OUT CHAR8 *Buffer, IN OUT UINT32 *BufferSize)
EFI_STATUS EFIAPI AmlUpdateRootNode(IN AML_ROOT_NODE_HANDLE RootNode, IN CONST EFI_ACPI_DESCRIPTION_HEADER *SdtHeader)
EFI_STATUS EFIAPI AmlGetDataNodeBuffer(IN AML_DATA_NODE_HANDLE DataNode, OUT UINT8 *Buffer OPTIONAL, IN OUT UINT32 *BufferSize)
EFI_STATUS EFIAPI AmlGetObjectNodeInfo(IN AML_OBJECT_NODE_HANDLE ObjectNode, OUT UINT8 *OpCode OPTIONAL, OUT UINT8 *SubOpCode OPTIONAL, OUT UINT32 *PkgLen OPTIONAL, OUT BOOLEAN *IsNameSpaceNode OPTIONAL)
EFI_STATUS EFIAPI AmlUpdateDataNode(IN AML_DATA_NODE_HANDLE DataNode, IN EAML_NODE_DATA_TYPE DataType, IN UINT8 *Buffer, IN UINT32 Size)
EFI_STATUS EFIAPI AmlGetResourceDataType(IN AML_DATA_NODE_HANDLE DataNode, OUT AML_RD_HEADER *ResourceDataType)
EFI_STATUS EFIAPI AmlGetRootNodeInfo(IN AML_ROOT_NODE_HANDLE RootNode, OUT EFI_ACPI_DESCRIPTION_HEADER *SdtHeaderBuffer)
EFI_STATUS EFIAPI AmlGetNodeDataType(IN AML_DATA_NODE_HANDLE DataNode, OUT EAML_NODE_DATA_TYPE *DataType)
UINT8 AmlGetFixedArgumentCount(IN AML_OBJECT_NODE_HANDLE Node)
EAML_NODE_TYPE EFIAPI AmlGetNodeType(IN AML_NODE_HANDLE Node)
EFI_STATUS EFIAPI AmlVarListAddTail(IN AML_NODE_HANDLE ParentNode, IN AML_NODE_HANDLE NewNode)
EFI_STATUS EFIAPI AmlRemoveNodeFromVarArgList(IN AML_NODE_HANDLE Node)
EFI_STATUS EFIAPI AmlReplaceVariableArgument(IN AML_NODE_HANDLE OldNode, IN AML_NODE_HANDLE NewNode)
EFI_STATUS EFIAPI AmlVarListAddAfter(IN AML_NODE_HANDLE Node, IN AML_NODE_HANDLE NewNode)
EFI_STATUS EFIAPI AmlVarListAddHead(IN AML_NODE_HANDLE ParentNode, IN AML_NODE_HANDLE NewNode)
EFI_STATUS EFIAPI AmlVarListAddBefore(IN AML_NODE_HANDLE Node, IN AML_NODE_HANDLE NewNode)
enum EAmlParseIndex EAML_PARSE_INDEX
enum EAmlNodeType EAML_NODE_TYPE
enum EAmlNodeDataType EAML_NODE_DATA_TYPE