ReactOS  0.4.15-dev-1070-ge1a01de
utstate.c File Reference
#include "acpi.h"
#include "accommon.h"
Include dependency graph for utstate.c:

Go to the source code of this file.

Macros

#define _COMPONENT   ACPI_UTILITIES
 

Functions

void AcpiUtPushGenericState (ACPI_GENERIC_STATE **ListHead, ACPI_GENERIC_STATE *State)
 
ACPI_GENERIC_STATEAcpiUtPopGenericState (ACPI_GENERIC_STATE **ListHead)
 
ACPI_GENERIC_STATEAcpiUtCreateGenericState (void)
 
ACPI_THREAD_STATEAcpiUtCreateThreadState (void)
 
ACPI_GENERIC_STATEAcpiUtCreateUpdateState (ACPI_OPERAND_OBJECT *Object, UINT16 Action)
 
ACPI_GENERIC_STATEAcpiUtCreatePkgState (void *InternalObject, void *ExternalObject, UINT32 Index)
 
ACPI_GENERIC_STATEAcpiUtCreateControlState (void)
 
void AcpiUtDeleteGenericState (ACPI_GENERIC_STATE *State)
 

Macro Definition Documentation

◆ _COMPONENT

#define _COMPONENT   ACPI_UTILITIES

Definition at line 47 of file utstate.c.

Function Documentation

◆ AcpiUtCreateControlState()

ACPI_GENERIC_STATE* AcpiUtCreateControlState ( void  )

Definition at line 300 of file utstate.c.

302 {
304 
305 
307 
308 
309  /* Create the generic state object */
310 
312  if (!State)
313  {
314  return (NULL);
315  }
316 
317  /* Init fields specific to the control struct */
318 
319  State->Common.DescriptorType = ACPI_DESC_TYPE_STATE_CONTROL;
321 
322  return (State);
323 }
State(char *beg, char *end)
ACPI_GENERIC_STATE * AcpiUtCreateGenericState(void)
Definition: utstate.c:130
_In_ ULONG _In_ ULONG State
Definition: potypes.h:516
smooth NULL
Definition: ftsmooth.c:416
#define ACPI_FUNCTION_ENTRY()
Definition: acoutput.h:484
#define ACPI_DESC_TYPE_STATE_CONTROL
Definition: acobject.h:565
#define ACPI_CONTROL_CONDITIONAL_EXECUTING
Definition: aclocal.h:670

Referenced by AcpiDsExecBeginControlOp().

◆ AcpiUtCreateGenericState()

ACPI_GENERIC_STATE* AcpiUtCreateGenericState ( void  )

Definition at line 130 of file utstate.c.

132 {
134 
135 
137 
138 
139  State = AcpiOsAcquireObject (AcpiGbl_StateCache);
140  if (State)
141  {
142  /* Initialize */
143  State->Common.DescriptorType = ACPI_DESC_TYPE_STATE;
144  }
145 
146  return (State);
147 }
_In_ ULONG _In_ ULONG State
Definition: potypes.h:516
#define ACPI_DESC_TYPE_STATE
Definition: acobject.h:562
#define ACPI_FUNCTION_ENTRY()
Definition: acoutput.h:484
void * AcpiOsAcquireObject(ACPI_CACHE_T *Cache)

Referenced by AcpiDsResultStackPush(), AcpiDsScopeStackPush(), AcpiEvQueueNotifyRequest(), AcpiPsInitScope(), AcpiPsPushScope(), AcpiUtCreateControlState(), AcpiUtCreatePkgState(), AcpiUtCreateThreadState(), and AcpiUtCreateUpdateState().

◆ AcpiUtCreatePkgState()

ACPI_GENERIC_STATE* AcpiUtCreatePkgState ( void InternalObject,
void ExternalObject,
UINT32  Index 
)

Definition at line 255 of file utstate.c.

259 {
261 
262 
264 
265 
266  /* Create the generic state object */
267 
269  if (!State)
270  {
271  return (NULL);
272  }
273 
274  /* Init fields specific to the update struct */
275 
276  State->Common.DescriptorType = ACPI_DESC_TYPE_STATE_PACKAGE;
277  State->Pkg.SourceObject = (ACPI_OPERAND_OBJECT *) InternalObject;
278  State->Pkg.DestObject = ExternalObject;
279  State->Pkg.Index= Index;
280  State->Pkg.NumPackages = 1;
281 
282  return (State);
283 }
ACPI_GENERIC_STATE * AcpiUtCreateGenericState(void)
Definition: utstate.c:130
_In_ ULONG _In_ ULONG State
Definition: potypes.h:516
#define ACPI_DESC_TYPE_STATE_PACKAGE
Definition: acobject.h:564
smooth NULL
Definition: ftsmooth.c:416
#define ACPI_FUNCTION_ENTRY()
Definition: acoutput.h:484
static const UCHAR Index[8]
Definition: usbohci.c:18

Referenced by AcpiUtWalkPackageTree().

◆ AcpiUtCreateThreadState()

ACPI_THREAD_STATE* AcpiUtCreateThreadState ( void  )

Definition at line 164 of file utstate.c.

166 {
168 
169 
171 
172 
173  /* Create the generic state object */
174 
176  if (!State)
177  {
178  return (NULL);
179  }
180 
181  /* Init fields specific to the update struct */
182 
183  State->Common.DescriptorType = ACPI_DESC_TYPE_STATE_THREAD;
184  State->Thread.ThreadId = AcpiOsGetThreadId ();
185 
186  /* Check for invalid thread ID - zero is very bad, it will break things */
187 
188  if (!State->Thread.ThreadId)
189  {
190  ACPI_ERROR ((AE_INFO, "Invalid zero ID from AcpiOsGetThreadId"));
191  State->Thread.ThreadId = (ACPI_THREAD_ID) 1;
192  }
193 
194  return ((ACPI_THREAD_STATE *) State);
195 }
ACPI_GENERIC_STATE * AcpiUtCreateGenericState(void)
Definition: utstate.c:130
ACPI_THREAD_ID AcpiOsGetThreadId(void)
Definition: osl.c:217
_In_ ULONG _In_ ULONG State
Definition: potypes.h:516
#define ACPI_DESC_TYPE_STATE_THREAD
Definition: acobject.h:571
#define AE_INFO
Definition: acoutput.h:230
smooth NULL
Definition: ftsmooth.c:416
#define ACPI_FUNCTION_ENTRY()
Definition: acoutput.h:484
#define ACPI_ERROR(plist)
Definition: acoutput.h:240
#define ACPI_THREAD_ID
Definition: actypes.h:144

Referenced by AcpiPsParseAml().

◆ AcpiUtCreateUpdateState()

ACPI_GENERIC_STATE* AcpiUtCreateUpdateState ( ACPI_OPERAND_OBJECT Object,
UINT16  Action 
)

Definition at line 214 of file utstate.c.

217 {
219 
220 
222 
223 
224  /* Create the generic state object */
225 
227  if (!State)
228  {
229  return (NULL);
230  }
231 
232  /* Init fields specific to the update struct */
233 
234  State->Common.DescriptorType = ACPI_DESC_TYPE_STATE_UPDATE;
235  State->Update.Object = Object;
236  State->Update.Value = Action;
237  return (State);
238 }
ACPI_GENERIC_STATE * AcpiUtCreateGenericState(void)
Definition: utstate.c:130
_In_ ULONG _In_ ULONG State
Definition: potypes.h:516
smooth NULL
Definition: ftsmooth.c:416
#define ACPI_DESC_TYPE_STATE_UPDATE
Definition: acobject.h:563
#define ACPI_FUNCTION_ENTRY()
Definition: acoutput.h:484
_In_ PLIST_ENTRY _In_ PSTRING _In_ USHORT _In_opt_ PSTRING _In_opt_ PSTRING _In_ ULONG _In_ ULONG Action
Definition: fsrtlfuncs.h:738
static IUnknown Object
Definition: main.c:512

Referenced by AcpiUtCreateUpdateStateAndPush().

◆ AcpiUtDeleteGenericState()

void AcpiUtDeleteGenericState ( ACPI_GENERIC_STATE State)

Definition at line 340 of file utstate.c.

342 {
344 
345 
346  /* Ignore null state */
347 
348  if (State)
349  {
350  (void) AcpiOsReleaseObject (AcpiGbl_StateCache, State);
351  }
352 
353  return;
354 }
struct png_info_def **typedef void(__cdecl typeof(png_destroy_read_struct))(struct png_struct_def **
Definition: typeof.h:49
#define ACPI_FUNCTION_ENTRY()
Definition: acoutput.h:484
ACPI_STATUS AcpiOsReleaseObject(ACPI_CACHE_T *Cache, void *Object)

Referenced by AcpiDsDeleteWalkState(), AcpiDsExecEndControlOp(), AcpiDsResultStackPop(), AcpiDsScopeStackClear(), AcpiDsScopeStackPop(), AcpiEvNotifyDispatch(), AcpiEvQueueNotifyRequest(), AcpiPsCleanupScope(), AcpiPsCompleteOp(), AcpiPsParseAml(), AcpiPsPopScope(), AcpiUtUpdateObjectReference(), and AcpiUtWalkPackageTree().

◆ AcpiUtPopGenericState()

ACPI_GENERIC_STATE* AcpiUtPopGenericState ( ACPI_GENERIC_STATE **  ListHead)

Definition at line 93 of file utstate.c.

95 {
97 
98 
100 
101 
102  /* Remove the state object at the head of the list (stack) */
103 
104  State = *ListHead;
105  if (State)
106  {
107  /* Update the list head */
108 
109  *ListHead = State->Common.Next;
110  }
111 
112  return (State);
113 }
_In_ ULONG _In_ ULONG State
Definition: potypes.h:516
#define ACPI_FUNCTION_ENTRY()
Definition: acoutput.h:484

Referenced by AcpiDsExecEndControlOp(), AcpiDsResultStackPop(), AcpiDsScopeStackPop(), AcpiPsCleanupScope(), AcpiPsCompleteOp(), AcpiPsParseLoop(), AcpiPsPopScope(), AcpiUtUpdateObjectReference(), and AcpiUtWalkPackageTree().

◆ AcpiUtPushGenericState()

void AcpiUtPushGenericState ( ACPI_GENERIC_STATE **  ListHead,
ACPI_GENERIC_STATE State 
)

Definition at line 65 of file utstate.c.

68 {
70 
71 
72  /* Push the state object onto the front of the list (stack) */
73 
74  State->Common.Next = *ListHead;
75  *ListHead = State;
76  return;
77 }
_In_ ULONG _In_ ULONG State
Definition: potypes.h:516
#define ACPI_FUNCTION_ENTRY()
Definition: acoutput.h:484

Referenced by AcpiDsExecBeginControlOp(), AcpiDsResultStackPush(), AcpiDsScopeStackPush(), AcpiPsPushScope(), AcpiUtCreateUpdateStateAndPush(), and AcpiUtWalkPackageTree().