{
ACPI_PARSE_OBJECT *PrevArg;
constACPI_OPCODE_INFO *OpInfo;
ACPI_FUNCTION_ENTRY ();
if (!Op)
{
return;
}
/* Get the info structure for this opcode */
OpInfo = AcpiPsGetOpcodeInfo (Op->Common.AmlOpcode);
if (OpInfo->Class == AML_CLASS_UNKNOWN)
{
/* Invalid opcode */ACPI_ERROR ((AE_INFO, "Invalid AML Opcode: 0x%2.2X",
Op->Common.AmlOpcode));
return;
}
/* Check if this opcode requires argument sub-objects */if (!(OpInfo->Flags & AML_HAS_ARGS))
{
/* Has no linked argument objects */return;
}
/* Append the argument to the linked argument list */if (Op->Common.Value.Arg)
{
/* Append to existing argument list */
PrevArg = Op->Common.Value.Arg;
while (PrevArg->Common.Next)
{
PrevArg = PrevArg->Common.Next;
}
PrevArg->Common.Next = Arg;
}
else
{
/* No argument list, this will be the first argument */
Op->Common.Value.Arg = Arg;
}
/* Set the parent in this arg and any args linked after it */while (Arg)
{
Arg->Common.Parent = Op;
Arg = Arg->Common.Next;
Op->Common.ArgListLength++;
}
}
Generated on Sat May 26 2012 05:21:33 for ReactOS by
1.7.6.1
ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.