49#define _COMPONENT ACPI_UTILITIES
59 ACPI_SIZE *BufferSpaceUsed);
72 ACPI_SIZE *SpaceUsed);
128 ACPI_SIZE *BufferSpaceUsed)
136 *BufferSpaceUsed = 0;
155 ExternalObject->Type = InternalObject->Common.Type;
159 switch (InternalObject->Common.Type)
163 ExternalObject->String.Pointer = (
char *) DataSpace;
164 ExternalObject->String.Length = InternalObject->String.Length;
166 (ACPI_SIZE) InternalObject->String.Length + 1);
168 memcpy ((
void *) DataSpace,
169 (
void *) InternalObject->String.Pointer,
170 (ACPI_SIZE) InternalObject->String.Length + 1);
175 ExternalObject->Buffer.Pointer = DataSpace;
176 ExternalObject->Buffer.Length = InternalObject->Buffer.Length;
178 InternalObject->String.Length);
180 memcpy ((
void *) DataSpace,
181 (
void *) InternalObject->Buffer.Pointer,
182 InternalObject->Buffer.Length);
187 ExternalObject->Integer.Value = InternalObject->Integer.Value;
194 switch (InternalObject->Reference.Class)
201 ExternalObject->Reference.Handle =
202 InternalObject->Reference.Node;
203 ExternalObject->Reference.ActualType =
217 ExternalObject->Processor.ProcId =
218 InternalObject->Processor.ProcId;
219 ExternalObject->Processor.PblkAddress =
220 InternalObject->Processor.Address;
221 ExternalObject->Processor.PblkLength =
222 InternalObject->Processor.Length;
227 ExternalObject->PowerResource.SystemLevel =
228 InternalObject->PowerResource.SystemLevel;
230 ExternalObject->PowerResource.ResourceOrder =
231 InternalObject->PowerResource.ResourceOrder;
239 "Unsupported object type, cannot convert to external object: %s",
270 ACPI_SIZE ObjectSpace;
278 ThisIndex =
State->Pkg.Index;
289 TargetObject,
Info->FreeSpace, &ObjectSpace);
302 TargetObject->
Package.Elements =
308 State->Pkg.ThisTargetObj = TargetObject;
315 (ACPI_SIZE) TargetObject->
Package.Count *
324 Info->FreeSpace += ObjectSpace;
325 Info->Length += ObjectSpace;
353 ACPI_SIZE *SpaceUsed)
374 Info.ObjectSpace = 0;
375 Info.NumPackages = 1;
377 ExternalObject->
Type = InternalObject->
Common.Type;
379 ExternalObject->
Package.Elements =
386 Info.Length += (ACPI_SIZE) ExternalObject->
Package.Count *
394 *SpaceUsed =
Info.Length;
484 switch (ExternalObject->
Type)
501 *RetInternalObject =
NULL;
509 "Unsupported object type, cannot convert to internal object: %s",
518 switch (ExternalObject->
Type)
522 InternalObject->
String.Pointer =
524 ExternalObject->
String.Length + 1);
526 if (!InternalObject->
String.Pointer)
532 ExternalObject->
String.Pointer,
533 ExternalObject->
String.Length);
535 InternalObject->
String.Length = ExternalObject->
String.Length;
540 InternalObject->
Buffer.Pointer =
542 if (!InternalObject->
Buffer.Pointer)
548 ExternalObject->
Buffer.Pointer,
549 ExternalObject->
Buffer.Length);
551 InternalObject->
Buffer.Length = ExternalObject->
Buffer.Length;
578 *RetInternalObject = InternalObject;
619 ExternalObject->
Package.Count);
631 for (
i = 0;
i < ExternalObject->
Package.Count;
i++)
634 &ExternalObject->
Package.Elements[
i],
635 &PackageElements[
i]);
641 PackageElements[
i] =
NULL;
651 *InternalObject = PackageObject;
683 ExternalObject, InternalObject);
725 ReferenceCount = DestDesc->
Common.ReferenceCount;
726 NextObject = DestDesc->
Common.NextObject;
743 DestDesc->
Common.ReferenceCount = ReferenceCount;
744 DestDesc->
Common.NextObject = NextObject;
748 DestDesc->
Common.Flags &= ~AOPOBJ_STATIC_POINTER;
752 switch (DestDesc->
Common.Type)
760 if ((SourceDesc->
Buffer.Pointer) &&
761 (SourceDesc->
Buffer.Length))
763 DestDesc->
Buffer.Pointer =
765 if (!DestDesc->
Buffer.Pointer)
783 if (SourceDesc->
String.Pointer)
785 DestDesc->
String.Pointer =
787 if (!DestDesc->
String.Pointer)
795 (ACPI_SIZE) SourceDesc->
String.Length + 1);
888 ThisIndex =
State->Pkg.Index;
890 &
State->Pkg.DestObject->Package.Elements[ThisIndex];
904 SourceObject->
Common.Type);
916 *ThisTargetPtr = TargetObject;
922 *ThisTargetPtr =
NULL;
938 TargetObject->
Common.Flags = SourceObject->
Common.Flags;
942 State->Pkg.ThisTargetObj = TargetObject;
946 *ThisTargetPtr = TargetObject;
1061 SourceDesc, *DestDesc, WalkState);
struct acpi_namespace_node ACPI_NAMESPACE_NODE
#define ACPI_COPY_TYPE_PACKAGE
#define ACPI_COPY_TYPE_SIMPLE
#define ACPI_GET_DESCRIPTOR_TYPE(d)
#define ACPI_ROUND_UP_TO_NATIVE_WORD(a)
ACPI_OBJECT_TYPE AcpiNsGetType(ACPI_NAMESPACE_NODE *Node)
#define ACPI_DESC_TYPE_NAMED
union acpi_operand_object ACPI_OPERAND_OBJECT
#define AOPOBJ_DATA_VALID
#define ACPI_MODULE_NAME(Name)
#define ACPI_FUNCTION_ENTRY()
#define return_ACPI_STATUS(s)
#define ACPI_FUNCTION_TRACE(a)
#define ACPI_ERROR(plist)
ACPI_STATUS AcpiOsCreateSemaphore(UINT32 MaxUnits, UINT32 InitialUnits, ACPI_SEMAPHORE *OutHandle)
#define ACPI_NO_UNIT_LIMIT
#define ACPI_TYPE_LOCAL_REFERENCE
union acpi_object ACPI_OBJECT
#define ACPI_TYPE_PROCESSOR
#define ACPI_TYPE_INTEGER
#define ACPI_ADD_PTR(t, a, b)
#define ACPI_CAST_PTR(t, p)
#define ACPI_ALLOCATE_ZEROED(a)
#define ACPI_TYPE_PACKAGE
#define AcpiOsCreateMutex(OutHandle)
#define AcpiUtCreateInternalObject(t)
const char * AcpiUtGetTypeName(ACPI_OBJECT_TYPE Type)
ACPI_STATUS AcpiUtWalkPackageTree(ACPI_OPERAND_OBJECT *SourceObject, void *TargetObject, ACPI_PKG_CALLBACK WalkCallback, void *Context)
ACPI_OPERAND_OBJECT * AcpiUtCreatePackageObject(UINT32 Count)
void AcpiUtRemoveReference(ACPI_OPERAND_OBJECT *Object)
void AcpiUtAddReference(ACPI_OPERAND_OBJECT *Object)
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
#define memcpy(s1, s2, n)
ACPI_OBJECT_COMMON_HEADER ACPI_SEMAPHORE OsSemaphore
union acpi_operand_object ** Elements
ACPI_OBJECT_COMMON_HEADER UINT8 Class
union acpi_operand_object * Handler
static VOID ErrorExit(LPTSTR lpszMessage)
struct acpi_object::@621 Reference
struct acpi_object::@619 Buffer
struct acpi_object::@618 String
struct acpi_object::@617 Integer
struct acpi_object::@620 Package
ACPI_OBJECT_REGION Region
ACPI_OBJECT_INTEGER Integer
ACPI_OBJECT_REFERENCE Reference
ACPI_OBJECT_COMMON Common
ACPI_OBJECT_PACKAGE Package
ACPI_OBJECT_STRING String
ACPI_OBJECT_BUFFER Buffer
static ACPI_STATUS AcpiUtCopyEsimpleToIsimple(ACPI_OBJECT *UserObj, ACPI_OPERAND_OBJECT **ReturnObj)
static ACPI_STATUS AcpiUtCopyEpackageToIpackage(ACPI_OBJECT *ExternalObject, ACPI_OPERAND_OBJECT **InternalObject)
static ACPI_STATUS AcpiUtCopySimpleObject(ACPI_OPERAND_OBJECT *SourceDesc, ACPI_OPERAND_OBJECT *DestDesc)
static ACPI_STATUS AcpiUtCopyIelementToIelement(UINT8 ObjectType, ACPI_OPERAND_OBJECT *SourceObject, ACPI_GENERIC_STATE *State, void *Context)
ACPI_STATUS AcpiUtCopyEobjectToIobject(ACPI_OBJECT *ExternalObject, ACPI_OPERAND_OBJECT **InternalObject)
static ACPI_STATUS AcpiUtCopyIelementToEelement(UINT8 ObjectType, ACPI_OPERAND_OBJECT *SourceObject, ACPI_GENERIC_STATE *State, void *Context)
static ACPI_STATUS AcpiUtCopyIpackageToIpackage(ACPI_OPERAND_OBJECT *SourceObj, ACPI_OPERAND_OBJECT *DestObj, ACPI_WALK_STATE *WalkState)
static ACPI_STATUS AcpiUtCopyIsimpleToEsimple(ACPI_OPERAND_OBJECT *InternalObject, ACPI_OBJECT *ExternalObject, UINT8 *DataSpace, ACPI_SIZE *BufferSpaceUsed)
ACPI_STATUS AcpiUtCopyIobjectToIobject(ACPI_OPERAND_OBJECT *SourceDesc, ACPI_OPERAND_OBJECT **DestDesc, ACPI_WALK_STATE *WalkState)
ACPI_STATUS AcpiUtCopyIobjectToEobject(ACPI_OPERAND_OBJECT *InternalObject, ACPI_BUFFER *RetBuffer)
static ACPI_STATUS AcpiUtCopyIpackageToEpackage(ACPI_OPERAND_OBJECT *InternalObject, UINT8 *Buffer, ACPI_SIZE *SpaceUsed)
_Must_inspect_result_ _In_ WDFCHILDLIST _In_ PWDF_CHILD_LIST_ITERATOR _Out_ WDFDEVICE _Inout_opt_ PWDF_CHILD_RETRIEVE_INFO Info
ActualNumberDriverObjects * sizeof(PDRIVER_OBJECT)) PDRIVER_OBJECT *DriverObjectList