FreeBSD/sys/contrib/dev/acpica/compiler/aslprintf.c
/*******************************************************************************
 *
 * FUNCTION:    OpcCreateConcatenateNode
 *
 * PARAMETERS:  Op                  - Parse node
 *              Node                - Parse node to be concatenated
 *
 * RETURN:      None
 *
 * DESCRIPTION: Make Node the child of Op. If child node already exists, then
 *              concat child with Node and makes concat node the child of Op.
 *
 ******************************************************************************/
OpcCreateConcatenateNode
PARAMETERS:  Op                  - Parse node
Node                - Parse node to be concatenated

None

Make Node the child of Op. If child node already exists, then
concat child with Node and makes concat node the child of Op.
OpcCreateConcatenateNode PARAMETERS : Op - Parse node Node - Parse node to be concatenated None Make Node the child of Op . If child node already exists then concat child with Node and makes concat node the child of Op .
static void
OpcCreateConcatenateNode (
    ACPI_PARSE_OBJECT       *Op,
    ACPI_PARSE_OBJECT       *Node)
{
    ACPI_PARSE_OBJECT       *NewConcatOp;
    if (!Op->Asl.Child)
    {
        Op->Asl.Child = Node;
        Node->Asl.Parent = Op;
        return;
    }
    NewConcatOp = TrAllocateNode (PARSEOP_CONCATENATE);
    NewConcatOp->Asl.AmlOpcode = AML_CONCAT_OP;
    NewConcatOp->Asl.AcpiBtype = 0x7;
    NewConcatOp->Asl.LogicalLineNumber = Op->Asl.LogicalLineNumber;
    NewConcatOp->Asl.Child = Op->Asl.Child;
    Op->Asl.Child->Asl.Parent = NewConcatOp;
    NewConcatOp->Asl.Child->Asl.Next = Node;
    Node->Asl.Parent = NewConcatOp;
    NewConcatOp->Asl.Child->Asl.Next->Asl.Next =
        TrAllocateNode (PARSEOP_ZERO);
    NewConcatOp->Asl.Child->Asl.Next->Asl.Next->Asl.Parent =
        NewConcatOp;
    Op->Asl.Child = NewConcatOp;
    NewConcatOp->Asl.Parent = Op;
}
static void OpcCreateConcatenateNode ( ACPI_PARSE_OBJECT * Op , ACPI_PARSE_OBJECT * Node ) { ACPI_PARSE_OBJECT * NewConcatOp ; if ( ! Op -> Asl . Child ) { Op -> Asl . Child = Node ; Node -> Asl . Parent = Op ; return ; } NewConcatOp = TrAllocateNode ( PARSEOP_CONCATENATE ) ; NewConcatOp -> Asl . AmlOpcode = AML_CONCAT_OP ; NewConcatOp -> Asl . AcpiBtype = 0x7 ; NewConcatOp -> Asl . LogicalLineNumber = Op -> Asl . LogicalLineNumber ; NewConcatOp -> Asl . Child = Op -> Asl . Child ; Op -> Asl . Child -> Asl . Parent = NewConcatOp ; NewConcatOp -> Asl . Child -> Asl . Next = Node ; Node -> Asl . Parent = NewConcatOp ; NewConcatOp -> Asl . Child -> Asl . Next -> Asl . Next = TrAllocateNode ( PARSEOP_ZERO ) ; NewConcatOp -> Asl . Child -> Asl . Next -> Asl . Next -> Asl . Parent = NewConcatOp ; Op -> Asl . Child = NewConcatOp ; NewConcatOp -> Asl . Parent = Op ; }
FUNCTION:    OpcCreateConcatenateNode
 PARAMETERS:  Op                  - Parse node
              Node                - Parse node to be concatenated
FUNCTION : OpcCreateConcatenateNode PARAMETERS : Op - Parse node Node - Parse node to be concatenated
/* First arg is child of Op*/ /* Second arg is Node */ /* Third arg is Zero (not used) */