1/****************************************************************************** 2 * 3 * Module Name: cmcopy - Internal to external object translation utilities |
4 * $Revision: 58 $ |
5 * 6 *****************************************************************************/ 7 8/****************************************************************************** 9 * 10 * 1. Copyright Notice 11 * 12 * Some or all of this work - Copyright (c) 1999, Intel Corp. All rights --- 137 unchanged lines hidden (view full) --- 150 * 151 * DESCRIPTION: This function is called to place a simple object in a user 152 * buffer. 153 * 154 * The buffer is assumed to have sufficient space for the object. 155 * 156 ******************************************************************************/ 157 |
158static ACPI_STATUS |
159AcpiCmBuildExternalSimpleObject ( 160 ACPI_OPERAND_OBJECT *InternalObj, 161 ACPI_OBJECT *ExternalObj, 162 UINT8 *DataSpace, 163 UINT32 *BufferSpaceUsed) 164{ 165 UINT32 Length = 0; 166 UINT8 *SourcePtr = NULL; --- 124 unchanged lines hidden (view full) --- 291 * buffer. A package object by definition contains other objects. 292 * 293 * The buffer is assumed to have sufficient space for the object. 294 * The caller must have verified the buffer length needed using the 295 * AcpiCmGetObjectSize function before calling this function. 296 * 297 ******************************************************************************/ 298 |
299static ACPI_STATUS |
300AcpiCmBuildExternalPackageObject ( 301 ACPI_OPERAND_OBJECT *InternalObj, 302 UINT8 *Buffer, 303 UINT32 *SpaceUsed) 304{ 305 UINT8 *FreeSpace; 306 ACPI_OBJECT *ExternalObj; 307 UINT32 CurrentDepth = 0; --- 289 unchanged lines hidden (view full) --- 597 break; 598 } 599 600 601 return_ACPI_STATUS (AE_OK); 602} 603 604 |
605#ifdef ACPI_FUTURE_IMPLEMENTATION 606 607/* Code to convert packages that are parameters to control methods */ 608 |
609/****************************************************************************** 610 * 611 * FUNCTION: AcpiCmBuildInternalPackageObject 612 * 613 * PARAMETERS: *InternalObj - Pointer to the object we are returning 614 * *Buffer - Where the object is returned 615 * *SpaceUsed - Where the length of the object is returned 616 * 617 * RETURN: Status - the status of the call 618 * 619 * DESCRIPTION: This function is called to place a package object in a user 620 * buffer. A package object by definition contains other objects. 621 * 622 * The buffer is assumed to have sufficient space for the object. 623 * The caller must have verified the buffer length needed using the 624 * AcpiCmGetObjectSize function before calling this function. 625 * 626 ******************************************************************************/ 627 |
628static ACPI_STATUS |
629AcpiCmBuildInternalPackageObject ( 630 ACPI_OPERAND_OBJECT *InternalObj, 631 UINT8 *Buffer, 632 UINT32 *SpaceUsed) 633{ 634 UINT8 *FreeSpace; 635 ACPI_OBJECT *ExternalObj; 636 UINT32 CurrentDepth = 0; --- 129 unchanged lines hidden (view full) --- 766 CurrentDepth--; 767 LevelPtr = &Level[CurrentDepth]; 768 LevelPtr->Index++; 769 } 770 } /* else object is NOT a package */ 771 } /* while (1) */ 772} 773 |
774#endif /* Future implementation */ |
775 |
776 |
777/****************************************************************************** 778 * 779 * FUNCTION: AcpiCmBuildInternalObject 780 * 781 * PARAMETERS: *InternalObj - The external object to be converted 782 * *BufferPtr - Where the internal object is returned 783 * 784 * RETURN: Status - the status of the call --- 13 unchanged lines hidden (view full) --- 798 FUNCTION_TRACE ("CmBuildInternalObject"); 799 800 801 if (ExternalObj->Type == ACPI_TYPE_PACKAGE) 802 { 803 /* 804 * Package objects contain other objects (which can be objects) 805 * buildpackage does it all |
806 * 807 * TBD: Package conversion must be completed and tested 808 * NOTE: this code converts packages as input parameters to 809 * control methods only. This is a very, very rare case. |
810 */ 811/* 812 Status = AcpiCmBuildInternalPackageObject(InternalObj, 813 RetBuffer->Pointer, 814 &RetBuffer->Length); 815*/ 816 DEBUG_PRINT (ACPI_ERROR, 817 ("CmBuildInternalObject: Packages as parameters not implemented!\n")); --- 19 unchanged lines hidden --- |