36 return Node->NodeType;
56 (SdtHeaderBuffer ==
NULL))
59 return EFI_INVALID_PARAMETER;
99 OUT UINT8 *OpCode OPTIONAL,
100 OUT UINT8 *SubOpCode OPTIONAL,
101 OUT UINT32 *PkgLen OPTIONAL,
102 OUT BOOLEAN *IsNameSpaceNode OPTIONAL
107 return EFI_INVALID_PARAMETER;
110 if (OpCode !=
NULL) {
111 *OpCode = ObjectNode->AmlByteEncoding->OpCode;
114 if (SubOpCode !=
NULL) {
115 *SubOpCode = ObjectNode->AmlByteEncoding->SubOpCode;
118 if (PkgLen !=
NULL) {
119 *PkgLen = ObjectNode->PkgLen;
122 if (IsNameSpaceNode !=
NULL) {
142 (Node->AmlByteEncoding !=
NULL))
144 return (UINT8)Node->AmlByteEncoding->MaxIndex;
170 return EFI_INVALID_PARAMETER;
173 *DataType = DataNode->DataType;
201 (ResourceDataType ==
NULL) ||
205 return EFI_INVALID_PARAMETER;
238 OUT UINT8 *Buffer OPTIONAL,
239 IN OUT UINT32 *BufferSize
243 (BufferSize ==
NULL))
246 return EFI_INVALID_PARAMETER;
249 if ((*BufferSize >= DataNode->Size) &&
252 CopyMem (Buffer, DataNode->Buffer, DataNode->Size);
255 *BufferSize = DataNode->Size;
283 (SdtHeader ==
NULL) ||
284 ((SdtHeader->Signature !=
286 (SdtHeader->Signature !=
290 return EFI_INVALID_PARAMETER;
301 if (EFI_ERROR (Status)) {
306 RootNode->SdtHeader->Length = Length +
350 return EFI_INVALID_PARAMETER;
354 if (EFI_ERROR (Status)) {
360 if (ValueWidthDiff != 0) {
365 ABS (ValueWidthDiff),
368 if (EFI_ERROR (Status)) {
413 return EFI_INVALID_PARAMETER;
419 return EFI_INVALID_PARAMETER;
429 ExpectedArgType = DataNode->DataType;
430 if ((ExpectedArgType != DataType) &&
437 return EFI_UNSUPPORTED;
447 if (EFI_ERROR (Status) ||
448 (Size != ExpectedSize))
459 while (ExpectedSize < Size) {
464 if (Buffer[ExpectedSize] > 0x7F) {
466 return EFI_INVALID_PARAMETER;
472 if (ExpectedSize != Size) {
474 return EFI_INVALID_PARAMETER;
486 return EFI_INVALID_PARAMETER;
493 (DataNode->Size != Size))
496 return EFI_UNSUPPORTED;
507 return EFI_INVALID_PARAMETER;
519 (Size <
sizeof (ACPI_LARGE_RESOURCE_HEADER)))
522 return EFI_INVALID_PARAMETER;
528 return EFI_INVALID_PARAMETER;
534 if (ExpectedSize != Size) {
536 return EFI_INVALID_PARAMETER;
540 if (EFI_ERROR (Status)) {
552 return EFI_INVALID_PARAMETER;
561 return EFI_INVALID_PARAMETER;
567 if (DataNode->Size != Size) {
570 DataNode->NodeHeader.Parent,
572 (Size > DataNode->Size) ?
573 (Size - DataNode->Size) :
574 (DataNode->Size - Size),
577 if (EFI_ERROR (Status)) {
586 if (DataNode->Buffer ==
NULL) {
588 return EFI_OUT_OF_RESOURCES;
591 DataNode->Size = Size;
594 CopyMem (DataNode->Buffer, Buffer, Size);
#define EFI_ACPI_6_3_DIFFERENTIATED_SYSTEM_DESCRIPTION_TABLE_SIGNATURE
#define EFI_ACPI_6_3_SECONDARY_SYSTEM_DESCRIPTION_TABLE_SIGNATURE
#define AML_HAS_BYTE_LIST
BOOLEAN EFIAPI IsIntegerNode(IN AML_OBJECT_NODE *Node)
BOOLEAN EFIAPI AmlNodeCompareOpCode(IN CONST AML_OBJECT_NODE *ObjectNode, IN UINT8 OpCode, IN UINT8 SubOpCode)
BOOLEAN EFIAPI AmlNodeHasAttribute(IN CONST AML_OBJECT_NODE *ObjectNode, IN AML_OP_ATTRIBUTE Attribute)
BOOLEAN EFIAPI IsSpecialIntegerNode(IN AML_OBJECT_NODE *Node)
#define IS_AML_ROOT_NODE(Node)
#define IS_AML_OBJECT_NODE(Node)
#define IS_AML_DATA_NODE(Node)
#define IS_AML_NODE_VALID(Node)
EFI_STATUS EFIAPI AmlUpdateDataNode(IN AML_DATA_NODE *DataNode, IN EAML_NODE_DATA_TYPE DataType, IN UINT8 *Buffer, IN UINT32 Size)
EAML_NODE_TYPE EFIAPI AmlGetNodeType(IN AML_NODE_HEADER *Node)
EFI_STATUS EFIAPI AmlGetObjectNodeInfo(IN AML_OBJECT_NODE *ObjectNode, OUT UINT8 *OpCode OPTIONAL, OUT UINT8 *SubOpCode OPTIONAL, OUT UINT32 *PkgLen OPTIONAL, OUT BOOLEAN *IsNameSpaceNode OPTIONAL)
EFI_STATUS EFIAPI AmlGetRootNodeInfo(IN AML_ROOT_NODE *RootNode, OUT EFI_ACPI_DESCRIPTION_HEADER *SdtHeaderBuffer)
EFI_STATUS EFIAPI AmlUpdateRootNode(IN AML_ROOT_NODE *RootNode, IN CONST EFI_ACPI_DESCRIPTION_HEADER *SdtHeader)
EFI_STATUS EFIAPI AmlGetDataNodeBuffer(IN AML_DATA_NODE *DataNode, OUT UINT8 *Buffer OPTIONAL, IN OUT UINT32 *BufferSize)
UINT8 AmlGetFixedArgumentCount(IN AML_OBJECT_NODE *Node)
EFI_STATUS EFIAPI AmlUpdateInteger(IN AML_OBJECT_NODE *IntegerOpNode, IN UINT64 NewInteger)
EFI_STATUS EFIAPI AmlGetResourceDataType(IN AML_DATA_NODE *DataNode, OUT AML_RD_HEADER *ResourceDataType)
EFI_STATUS EFIAPI AmlGetNodeDataType(IN AML_DATA_NODE *DataNode, OUT EAML_NODE_DATA_TYPE *DataType)
BOOLEAN EFIAPI AmlIsNodeFixedArgument(IN CONST AML_NODE_HEADER *Node, OUT EAML_PARSE_INDEX *IndexPtr)
EFI_STATUS EFIAPI AmlSetRdListCheckSum(IN AML_OBJECT_NODE *BufferOpNode, IN UINT8 CheckSum)
EFI_STATUS EFIAPI AmlNodeSetIntegerValue(IN AML_OBJECT_NODE *Node, IN UINT64 NewValue, OUT INT8 *ValueWidthDiff)
EFI_STATUS EFIAPI AmlPropagateInformation(IN AML_NODE_HEADER *Node, IN BOOLEAN IsIncrement, IN UINT32 Diff, IN UINT8 NodeCount)
EFI_STATUS EFIAPI AmlComputeSize(IN CONST AML_NODE_HEADER *Node, IN OUT UINT32 *Size)
VOID *EFIAPI CopyMem(OUT VOID *DestinationBuffer, IN CONST VOID *SourceBuffer, IN UINTN Length)
EFI_STATUS EFIAPI AmlGetNameStringSize(IN CONST CHAR8 *AmlPath, OUT UINT32 *AmlPathSizePtr)
VOID *EFIAPI AllocateZeroPool(IN UINTN AllocationSize)
VOID EFIAPI FreePool(IN VOID *Buffer)
AML_NODE_HANDLE EFIAPI AmlGetParent(IN AML_NODE_HANDLE Node)
#define AML_RD_IS_LARGE(Header)
UINT32 EFIAPI AmlRdGetSize(IN CONST AML_RD_HEADER *Header)
AML_RD_HEADER EFIAPI AmlRdGetDescId(IN CONST AML_RD_HEADER *Header)
enum EAmlParseIndex EAML_PARSE_INDEX
#define AML_FIELD_NAMED_OP
enum EAmlNodeType EAML_NODE_TYPE
enum EAmlNodeDataType EAML_NODE_DATA_TYPE
@ EAmlNodeUnknown
Unknown/Invalid AML Node Type.
@ EAmlNodeDataTypeRaw
Raw bytes contained in a buffer.
@ EAmlNodeDataTypeString
EAmlString, NULL terminated string.
@ EAmlNodeDataTypeResourceData
Resource data element.
@ EAmlNodeDataTypeMax
Max enum.
@ EAmlNodeDataTypeFieldPkgLen
@ EAmlNodeDataTypeNameString
AML_PARSE_FORMAT Format[EAmlParseIndexMax]
Type of each fixed argument.
CONST AML_BYTE_ENCODING * AmlByteEncoding