ReactOS  0.4.14-dev-52-g6116262
utxface.c
Go to the documentation of this file.
1 /******************************************************************************
2  *
3  * Module Name: utxface - External interfaces, miscellaneous utility functions
4  *
5  *****************************************************************************/
6 
7 /*
8  * Copyright (C) 2000 - 2019, Intel Corp.
9  * All rights reserved.
10  *
11  * Redistribution and use in source and binary forms, with or without
12  * modification, are permitted provided that the following conditions
13  * are met:
14  * 1. Redistributions of source code must retain the above copyright
15  * notice, this list of conditions, and the following disclaimer,
16  * without modification.
17  * 2. Redistributions in binary form must reproduce at minimum a disclaimer
18  * substantially similar to the "NO WARRANTY" disclaimer below
19  * ("Disclaimer") and any redistribution must be conditioned upon
20  * including a substantially similar Disclaimer requirement for further
21  * binary redistribution.
22  * 3. Neither the names of the above-listed copyright holders nor the names
23  * of any contributors may be used to endorse or promote products derived
24  * from this software without specific prior written permission.
25  *
26  * Alternatively, this software may be distributed under the terms of the
27  * GNU General Public License ("GPL") version 2 as published by the Free
28  * Software Foundation.
29  *
30  * NO WARRANTY
31  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
32  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
33  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR
34  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
35  * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
36  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
37  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
38  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
39  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
40  * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
41  * POSSIBILITY OF SUCH DAMAGES.
42  */
43 
44 #define EXPORT_ACPI_INTERFACES
45 
46 #include "acpi.h"
47 #include "accommon.h"
48 #include "acdebug.h"
49 
50 #define _COMPONENT ACPI_UTILITIES
51  ACPI_MODULE_NAME ("utxface")
52 
53 
54 /*******************************************************************************
55  *
56  * FUNCTION: AcpiTerminate
57  *
58  * PARAMETERS: None
59  *
60  * RETURN: Status
61  *
62  * DESCRIPTION: Shutdown the ACPICA subsystem and release all resources.
63  *
64  ******************************************************************************/
65 
68  void)
69 {
71 
72 
74 
75 
76  /* Shutdown and free all resources */
77 
79 
80  /* Free the mutex objects */
81 
83 
84  /* Now we can shutdown the OS-dependent layer */
85 
88 }
89 
91 
92 
93 #ifndef ACPI_ASL_COMPILER
94 /*******************************************************************************
95  *
96  * FUNCTION: AcpiSubsystemStatus
97  *
98  * PARAMETERS: None
99  *
100  * RETURN: Status of the ACPI subsystem
101  *
102  * DESCRIPTION: Other drivers that use the ACPI subsystem should call this
103  * before making any other calls, to ensure the subsystem
104  * initialized successfully.
105  *
106  ******************************************************************************/
107 
110  void)
111 {
112 
113  if (AcpiGbl_StartupFlags & ACPI_INITIALIZED_OK)
114  {
115  return (AE_OK);
116  }
117  else
118  {
119  return (AE_ERROR);
120  }
121 }
122 
124 
125 
126 /*******************************************************************************
127  *
128  * FUNCTION: AcpiGetSystemInfo
129  *
130  * PARAMETERS: OutBuffer - A buffer to receive the resources for the
131  * device
132  *
133  * RETURN: Status - the status of the call
134  *
135  * DESCRIPTION: This function is called to get information about the current
136  * state of the ACPI subsystem. It will return system information
137  * in the OutBuffer.
138  *
139  * If the function fails an appropriate status will be returned
140  * and the value of OutBuffer is undefined.
141  *
142  ******************************************************************************/
143 
146  ACPI_BUFFER *OutBuffer)
147 {
148  ACPI_SYSTEM_INFO *InfoPtr;
150 
151 
153 
154 
155  /* Parameter validation */
156 
157  Status = AcpiUtValidateBuffer (OutBuffer);
158  if (ACPI_FAILURE (Status))
159  {
161  }
162 
163  /* Validate/Allocate/Clear caller buffer */
164 
165  Status = AcpiUtInitializeBuffer (OutBuffer, sizeof (ACPI_SYSTEM_INFO));
166  if (ACPI_FAILURE (Status))
167  {
169  }
170 
171  /*
172  * Populate the return buffer
173  */
174  InfoPtr = (ACPI_SYSTEM_INFO *) OutBuffer->Pointer;
175  InfoPtr->AcpiCaVersion = ACPI_CA_VERSION;
176 
177  /* System flags (ACPI capabilities) */
178 
179  InfoPtr->Flags = ACPI_SYS_MODE_ACPI;
180 
181  /* Timer resolution - 24 or 32 bits */
182 
183  if (AcpiGbl_FADT.Flags & ACPI_FADT_32BIT_TIMER)
184  {
185  InfoPtr->TimerResolution = 24;
186  }
187  else
188  {
189  InfoPtr->TimerResolution = 32;
190  }
191 
192  /* Clear the reserved fields */
193 
194  InfoPtr->Reserved1 = 0;
195  InfoPtr->Reserved2 = 0;
196 
197  /* Current debug levels */
198 
199  InfoPtr->DebugLayer = AcpiDbgLayer;
200  InfoPtr->DebugLevel = AcpiDbgLevel;
201 
203 }
204 
206 
207 
208 /*******************************************************************************
209  *
210  * FUNCTION: AcpiGetStatistics
211  *
212  * PARAMETERS: Stats - Where the statistics are returned
213  *
214  * RETURN: Status - the status of the call
215  *
216  * DESCRIPTION: Get the contents of the various system counters
217  *
218  ******************************************************************************/
219 
222  ACPI_STATISTICS *Stats)
223 {
225 
226 
227  /* Parameter validation */
228 
229  if (!Stats)
230  {
232  }
233 
234  /* Various interrupt-based event counters */
235 
236  Stats->SciCount = AcpiSciCount;
237  Stats->GpeCount = AcpiGpeCount;
238 
239  memcpy (Stats->FixedEventCount, AcpiFixedEventCount,
240  sizeof (AcpiFixedEventCount));
241 
242  /* Other counters */
243 
244  Stats->MethodCount = AcpiMethodCount;
246 }
247 
249 
250 
251 /*****************************************************************************
252  *
253  * FUNCTION: AcpiInstallInitializationHandler
254  *
255  * PARAMETERS: Handler - Callback procedure
256  * Function - Not (currently) used, see below
257  *
258  * RETURN: Status
259  *
260  * DESCRIPTION: Install an initialization handler
261  *
262  * TBD: When a second function is added, must save the Function also.
263  *
264  ****************************************************************************/
265 
270 {
271 
272  if (!Handler)
273  {
274  return (AE_BAD_PARAMETER);
275  }
276 
277  if (AcpiGbl_InitHandler)
278  {
279  return (AE_ALREADY_EXISTS);
280  }
281 
282  AcpiGbl_InitHandler = Handler;
283  return (AE_OK);
284 }
285 
287 
288 
289 /*****************************************************************************
290  *
291  * FUNCTION: AcpiPurgeCachedObjects
292  *
293  * PARAMETERS: None
294  *
295  * RETURN: Status
296  *
297  * DESCRIPTION: Empty all caches (delete the cached objects)
298  *
299  ****************************************************************************/
300 
303  void)
304 {
306 
307 
308  (void) AcpiOsPurgeCache (AcpiGbl_StateCache);
309  (void) AcpiOsPurgeCache (AcpiGbl_OperandCache);
310  (void) AcpiOsPurgeCache (AcpiGbl_PsNodeCache);
311  (void) AcpiOsPurgeCache (AcpiGbl_PsNodeExtCache);
312 
314 }
315 
317 
318 
319 /*****************************************************************************
320  *
321  * FUNCTION: AcpiInstallInterface
322  *
323  * PARAMETERS: InterfaceName - The interface to install
324  *
325  * RETURN: Status
326  *
327  * DESCRIPTION: Install an _OSI interface to the global list
328  *
329  ****************************************************************************/
330 
333  ACPI_STRING InterfaceName)
334 {
336  ACPI_INTERFACE_INFO *InterfaceInfo;
337 
338 
339  /* Parameter validation */
340 
341  if (!InterfaceName || (strlen (InterfaceName) == 0))
342  {
343  return (AE_BAD_PARAMETER);
344  }
345 
346  Status = AcpiOsAcquireMutex (AcpiGbl_OsiMutex, ACPI_WAIT_FOREVER);
347  if (ACPI_FAILURE (Status))
348  {
349  return (Status);
350  }
351 
352  /* Check if the interface name is already in the global list */
353 
354  InterfaceInfo = AcpiUtGetInterface (InterfaceName);
355  if (InterfaceInfo)
356  {
357  /*
358  * The interface already exists in the list. This is OK if the
359  * interface has been marked invalid -- just clear the bit.
360  */
361  if (InterfaceInfo->Flags & ACPI_OSI_INVALID)
362  {
363  InterfaceInfo->Flags &= ~ACPI_OSI_INVALID;
364  Status = AE_OK;
365  }
366  else
367  {
369  }
370  }
371  else
372  {
373  /* New interface name, install into the global list */
374 
375  Status = AcpiUtInstallInterface (InterfaceName);
376  }
377 
378  AcpiOsReleaseMutex (AcpiGbl_OsiMutex);
379  return (Status);
380 }
381 
383 
384 
385 /*****************************************************************************
386  *
387  * FUNCTION: AcpiRemoveInterface
388  *
389  * PARAMETERS: InterfaceName - The interface to remove
390  *
391  * RETURN: Status
392  *
393  * DESCRIPTION: Remove an _OSI interface from the global list
394  *
395  ****************************************************************************/
396 
399  ACPI_STRING InterfaceName)
400 {
402 
403 
404  /* Parameter validation */
405 
406  if (!InterfaceName || (strlen (InterfaceName) == 0))
407  {
408  return (AE_BAD_PARAMETER);
409  }
410 
411  Status = AcpiOsAcquireMutex (AcpiGbl_OsiMutex, ACPI_WAIT_FOREVER);
412  if (ACPI_FAILURE (Status))
413  {
414  return (Status);
415  }
416 
417  Status = AcpiUtRemoveInterface (InterfaceName);
418 
419  AcpiOsReleaseMutex (AcpiGbl_OsiMutex);
420  return (Status);
421 }
422 
424 
425 
426 /*****************************************************************************
427  *
428  * FUNCTION: AcpiInstallInterfaceHandler
429  *
430  * PARAMETERS: Handler - The _OSI interface handler to install
431  * NULL means "remove existing handler"
432  *
433  * RETURN: Status
434  *
435  * DESCRIPTION: Install a handler for the predefined _OSI ACPI method.
436  * invoked during execution of the internal implementation of
437  * _OSI. A NULL handler simply removes any existing handler.
438  *
439  ****************************************************************************/
440 
444 {
446 
447 
448  Status = AcpiOsAcquireMutex (AcpiGbl_OsiMutex, ACPI_WAIT_FOREVER);
449  if (ACPI_FAILURE (Status))
450  {
451  return (Status);
452  }
453 
454  if (Handler && AcpiGbl_InterfaceHandler)
455  {
457  }
458  else
459  {
460  AcpiGbl_InterfaceHandler = Handler;
461  }
462 
463  AcpiOsReleaseMutex (AcpiGbl_OsiMutex);
464  return (Status);
465 }
466 
468 
469 
470 /*****************************************************************************
471  *
472  * FUNCTION: AcpiUpdateInterfaces
473  *
474  * PARAMETERS: Action - Actions to be performed during the
475  * update
476  *
477  * RETURN: Status
478  *
479  * DESCRIPTION: Update _OSI interface strings, disabling or enabling OS vendor
480  * string or/and feature group strings.
481  *
482  ****************************************************************************/
483 
486  UINT8 Action)
487 {
489 
490 
491  Status = AcpiOsAcquireMutex (AcpiGbl_OsiMutex, ACPI_WAIT_FOREVER);
492  if (ACPI_FAILURE (Status))
493  {
494  return (Status);
495  }
496 
498 
499  AcpiOsReleaseMutex (AcpiGbl_OsiMutex);
500  return (Status);
501 }
502 
503 
504 /*****************************************************************************
505  *
506  * FUNCTION: AcpiCheckAddressRange
507  *
508  * PARAMETERS: SpaceId - Address space ID
509  * Address - Start address
510  * Length - Length
511  * Warn - TRUE if warning on overlap desired
512  *
513  * RETURN: Count of the number of conflicts detected.
514  *
515  * DESCRIPTION: Check if the input address range overlaps any of the
516  * ASL operation region address ranges.
517  *
518  ****************************************************************************/
519 
520 UINT32
523  ACPI_PHYSICAL_ADDRESS Address,
524  ACPI_SIZE Length,
525  BOOLEAN Warn)
526 {
527  UINT32 Overlaps;
529 
530 
532  if (ACPI_FAILURE (Status))
533  {
534  return (0);
535  }
536 
538  (UINT32) Length, Warn);
539 
541  return (Overlaps);
542 }
543 
545 
546 #endif /* !ACPI_ASL_COMPILER */
547 
548 
549 /*******************************************************************************
550  *
551  * FUNCTION: AcpiDecodePldBuffer
552  *
553  * PARAMETERS: InBuffer - Buffer returned by _PLD method
554  * Length - Length of the InBuffer
555  * ReturnBuffer - Where the decode buffer is returned
556  *
557  * RETURN: Status and the decoded _PLD buffer. User must deallocate
558  * the buffer via ACPI_FREE.
559  *
560  * DESCRIPTION: Decode the bit-packed buffer returned by the _PLD method into
561  * a local struct that is much more useful to an ACPI driver.
562  *
563  ******************************************************************************/
564 
567  UINT8 *InBuffer,
568  ACPI_SIZE Length,
569  ACPI_PLD_INFO **ReturnBuffer)
570 {
571  ACPI_PLD_INFO *PldInfo;
572  UINT32 *Buffer = ACPI_CAST_PTR (UINT32, InBuffer);
573  UINT32 Dword;
574 
575 
576  /* Parameter validation */
577 
578  if (!InBuffer || !ReturnBuffer || (Length < ACPI_PLD_REV1_BUFFER_SIZE))
579  {
580  return (AE_BAD_PARAMETER);
581  }
582 
583  PldInfo = ACPI_ALLOCATE_ZEROED (sizeof (ACPI_PLD_INFO));
584  if (!PldInfo)
585  {
586  return (AE_NO_MEMORY);
587  }
588 
589  /* First 32-bit DWord */
590 
591  ACPI_MOVE_32_TO_32 (&Dword, &Buffer[0]);
592  PldInfo->Revision = ACPI_PLD_GET_REVISION (&Dword);
593  PldInfo->IgnoreColor = ACPI_PLD_GET_IGNORE_COLOR (&Dword);
594  PldInfo->Red = ACPI_PLD_GET_RED (&Dword);
595  PldInfo->Green = ACPI_PLD_GET_GREEN (&Dword);
596  PldInfo->Blue = ACPI_PLD_GET_BLUE (&Dword);
597 
598  /* Second 32-bit DWord */
599 
600  ACPI_MOVE_32_TO_32 (&Dword, &Buffer[1]);
601  PldInfo->Width = ACPI_PLD_GET_WIDTH (&Dword);
602  PldInfo->Height = ACPI_PLD_GET_HEIGHT(&Dword);
603 
604  /* Third 32-bit DWord */
605 
606  ACPI_MOVE_32_TO_32 (&Dword, &Buffer[2]);
607  PldInfo->UserVisible = ACPI_PLD_GET_USER_VISIBLE (&Dword);
608  PldInfo->Dock = ACPI_PLD_GET_DOCK (&Dword);
609  PldInfo->Lid = ACPI_PLD_GET_LID (&Dword);
610  PldInfo->Panel = ACPI_PLD_GET_PANEL (&Dword);
611  PldInfo->VerticalPosition = ACPI_PLD_GET_VERTICAL (&Dword);
612  PldInfo->HorizontalPosition = ACPI_PLD_GET_HORIZONTAL (&Dword);
613  PldInfo->Shape = ACPI_PLD_GET_SHAPE (&Dword);
614  PldInfo->GroupOrientation = ACPI_PLD_GET_ORIENTATION (&Dword);
615  PldInfo->GroupToken = ACPI_PLD_GET_TOKEN (&Dword);
616  PldInfo->GroupPosition = ACPI_PLD_GET_POSITION (&Dword);
617  PldInfo->Bay = ACPI_PLD_GET_BAY (&Dword);
618 
619  /* Fourth 32-bit DWord */
620 
621  ACPI_MOVE_32_TO_32 (&Dword, &Buffer[3]);
622  PldInfo->Ejectable = ACPI_PLD_GET_EJECTABLE (&Dword);
623  PldInfo->OspmEjectRequired = ACPI_PLD_GET_OSPM_EJECT (&Dword);
624  PldInfo->CabinetNumber = ACPI_PLD_GET_CABINET (&Dword);
625  PldInfo->CardCageNumber = ACPI_PLD_GET_CARD_CAGE (&Dword);
626  PldInfo->Reference = ACPI_PLD_GET_REFERENCE (&Dword);
627  PldInfo->Rotation = ACPI_PLD_GET_ROTATION (&Dword);
628  PldInfo->Order = ACPI_PLD_GET_ORDER (&Dword);
629 
631  {
632  /* Fifth 32-bit DWord (Revision 2 of _PLD) */
633 
634  ACPI_MOVE_32_TO_32 (&Dword, &Buffer[4]);
635  PldInfo->VerticalOffset = ACPI_PLD_GET_VERT_OFFSET (&Dword);
636  PldInfo->HorizontalOffset = ACPI_PLD_GET_HORIZ_OFFSET (&Dword);
637  }
638 
639  *ReturnBuffer = PldInfo;
640  return (AE_OK);
641 }
642 
ACPI_STATUS AcpiPurgeCachedObjects(void)
Definition: utxface.c:302
UINT8 OspmEjectRequired
Definition: acbuffer.h:139
UINT32 DebugLayer
Definition: actypes.h:1089
#define ACPI_ALLOCATE_ZEROED(a)
Definition: actypes.h:385
UINT8 CabinetNumber
Definition: acbuffer.h:140
UINT8 ACPI_ADR_SPACE_TYPE
Definition: actypes.h:849
ACPI_STATUS AcpiUtInitializeBuffer(ACPI_BUFFER *Buffer, ACPI_SIZE RequiredLength)
Definition: utalloc.c:336
UINT32 DebugLevel
Definition: actypes.h:1088
#define ACPI_PLD_GET_LID(dword)
Definition: acbuffer.h:196
struct png_info_def **typedef void(__cdecl typeof(png_destroy_read_struct))(struct png_struct_def **
Definition: typeof.h:49
#define AE_NO_MEMORY
Definition: acexcep.h:112
ActualNumberDriverObjects * sizeof(PDRIVER_OBJECT)) PDRIVER_OBJECT *DriverObjectList
#define AE_BAD_PARAMETER
Definition: acexcep.h:151
ACPI_STATUS AcpiOsPurgeCache(ACPI_CACHE_T *Cache)
ACPI_SIZE strlen(const char *String)
Definition: utclib.c:269
ACPI_STATUS AcpiDecodePldBuffer(UINT8 *InBuffer, ACPI_SIZE Length, ACPI_PLD_INFO **ReturnBuffer)
Definition: utxface.c:566
UINT16 HorizontalOffset
Definition: acbuffer.h:147
ACPI_STATUS(* ACPI_INIT_HANDLER)(ACPI_HANDLE Object, UINT32 Function)
Definition: actypes.h:1157
#define ACPI_PLD_GET_ROTATION(dword)
Definition: acbuffer.h:240
#define ACPI_PLD_GET_EJECTABLE(dword)
Definition: acbuffer.h:225
UINT8 VerticalPosition
Definition: acbuffer.h:131
#define ACPI_PLD_GET_SHAPE(dword)
Definition: acbuffer.h:208
#define ACPI_CA_VERSION
Definition: acpixf.h:49
#define ACPI_PLD_REV1_BUFFER_SIZE
Definition: acbuffer.h:159
#define ACPI_PLD_GET_ORDER(dword)
Definition: acbuffer.h:243
#define ACPI_PLD_GET_VERTICAL(dword)
Definition: acbuffer.h:202
ACPI_STATUS AcpiInstallInterfaceHandler(ACPI_INTERFACE_HANDLER Handler)
Definition: utxface.c:442
ACPI_STATUS AcpiOsAcquireMutex(ACPI_MUTEX Handle, UINT16 Timeout)
Definition: osl.c:306
#define ACPI_PLD_GET_TOKEN(dword)
Definition: acbuffer.h:214
void * Pointer
Definition: actypes.h:1043
#define ACPI_PLD_GET_REVISION(dword)
Definition: acbuffer.h:165
UINT8 Reference
Definition: acbuffer.h:142
UINT32 ACPI_STATUS
Definition: actypes.h:460
ACPI_STATUS AcpiOsTerminate(void)
Definition: osl.c:35
#define ACPI_PLD_GET_PANEL(dword)
Definition: acbuffer.h:199
UINT16 Width
Definition: acbuffer.h:125
#define ACPI_PLD_GET_ORIENTATION(dword)
Definition: acbuffer.h:211
ACPI_INTERFACE_INFO * AcpiUtGetInterface(ACPI_STRING InterfaceName)
Definition: utosi.c:423
UINT8 GroupPosition
Definition: acbuffer.h:136
UINT32 SciCount
Definition: actypes.h:1099
ACPI_STATUS AcpiGetStatistics(ACPI_STATISTICS *Stats)
Definition: utxface.c:221
UINT32 AcpiUtCheckAddressRange(ACPI_ADR_SPACE_TYPE SpaceId, ACPI_PHYSICAL_ADDRESS Address, UINT32 Length, BOOLEAN Warn)
Definition: utaddress.c:211
#define ACPI_FAILURE(a)
Definition: acexcep.h:95
#define ACPI_OSI_INVALID
Definition: aclocal.h:1270
ACPI_STATUS AcpiUtUpdateInterfaces(UINT8 Action)
Definition: utosi.c:374
#define ACPI_PLD_GET_REFERENCE(dword)
Definition: acbuffer.h:237
UINT8 Order
Definition: acbuffer.h:144
ACPI_PHYSICAL_ADDRESS ACPI_SIZE BOOLEAN Warn BOOLEAN Physical UINT32 ACPI_TABLE_HEADER *OutTableHeader ACPI_TABLE_HEADER **OutTable ACPI_HANDLE UINT32 ACPI_WALK_CALLBACK ACPI_WALK_CALLBACK void void **ReturnValue UINT32 ACPI_BUFFER *RetPathPtr ACPI_OBJECT_HANDLER void *Data ACPI_OBJECT_HANDLER void **Data ACPI_STRING ACPI_OBJECT_LIST ACPI_BUFFER *ReturnObjectBuffer ACPI_DEVICE_INFO **ReturnBuffer ACPI_HANDLE ACPI_HANDLE ACPI_HANDLE *OutHandle ACPI_HANDLE *OutHandle void *Context void *Context ACPI_EVENT_HANDLER Handler UINT32 UINT32 ACPI_GPE_HANDLER void *Context UINT32 ACPI_NOTIFY_HANDLER void *Context ACPI_ADR_SPACE_TYPE SpaceId
Definition: acpixf.h:822
ACPI_STATUS AcpiUtReleaseMutex(ACPI_MUTEX_HANDLE MutexId)
Definition: utmutex.c:348
UINT8 HorizontalPosition
Definition: acbuffer.h:132
#define ACPI_PLD_GET_WIDTH(dword)
Definition: acbuffer.h:182
UINT16 VerticalOffset
Definition: acbuffer.h:146
static LPOVERLAPPED_COMPLETION_ROUTINE Function
Definition: sync.c:684
ACPI_STATUS AcpiUtAcquireMutex(ACPI_MUTEX_HANDLE MutexId)
Definition: utmutex.c:256
#define ACPI_FADT_32BIT_TIMER
Definition: actbl.h:344
unsigned int UINT32
char * ACPI_STRING
Definition: actypes.h:462
#define ACPI_PLD_GET_HORIZONTAL(dword)
Definition: acbuffer.h:205
#define ACPI_PLD_GET_BAY(dword)
Definition: acbuffer.h:220
#define ACPI_MODULE_NAME(Name)
Definition: acoutput.h:216
UINT8 Revision
Definition: acbuffer.h:120
UINT32 GpeCount
Definition: actypes.h:1100
#define ACPI_PLD_GET_POSITION(dword)
Definition: acbuffer.h:217
#define ACPI_EXPORT_SYMBOL(Symbol)
Definition: actypes.h:343
unsigned char BOOLEAN
static WCHAR Address[46]
Definition: ping.c:68
#define ACPI_PLD_GET_OSPM_EJECT(dword)
Definition: acbuffer.h:228
#define ACPI_PLD_GET_IGNORE_COLOR(dword)
Definition: acbuffer.h:168
Definition: bufpool.h:45
UINT8 Shape
Definition: acbuffer.h:133
ACPI_STATUS ACPI_INIT_FUNCTION AcpiTerminate(void)
Definition: utxface.c:67
#define ACPI_PLD_GET_HEIGHT(dword)
Definition: acbuffer.h:185
UINT32 TimerResolution
Definition: actypes.h:1085
UINT8 CardCageNumber
Definition: acbuffer.h:141
if(!(yy_init))
Definition: macro.lex.yy.c:714
UINT8 Blue
Definition: acbuffer.h:124
#define ACPI_WAIT_FOREVER
Definition: actypes.h:501
UINT8 GroupToken
Definition: acbuffer.h:135
#define ACPI_PLD_GET_USER_VISIBLE(dword)
Definition: acbuffer.h:190
Definition: video.h:581
#define AE_ALREADY_EXISTS
Definition: acexcep.h:115
_In_ PLIST_ENTRY _In_ PSTRING _In_ USHORT _In_opt_ PSTRING _In_opt_ PSTRING _In_ ULONG _In_ ULONG Action
Definition: fsrtlfuncs.h:738
UINT8 Rotation
Definition: acbuffer.h:143
ACPI_STATUS AcpiRemoveInterface(ACPI_STRING InterfaceName)
Definition: utxface.c:398
ACPI_STATUS AcpiUtRemoveInterface(ACPI_STRING InterfaceName)
Definition: utosi.c:299
_In_ ULONG _In_ ULONG _In_ ULONG Length
Definition: ntddpcm.h:101
#define ACPI_PLD_GET_BLUE(dword)
Definition: acbuffer.h:177
ACPI_STATUS AcpiInstallInterface(ACPI_STRING InterfaceName)
Definition: utxface.c:332
ACPI_STATUS AcpiUtInstallInterface(ACPI_STRING InterfaceName)
Definition: utosi.c:253
#define ACPI_MOVE_32_TO_32(d, s)
Definition: acmacros.h:148
#define ACPI_PLD_GET_DOCK(dword)
Definition: acbuffer.h:193
#define memcpy(s1, s2, n)
Definition: mkisofs.h:878
UINT32 Reserved2
Definition: actypes.h:1087
#define ACPI_PLD_GET_VERT_OFFSET(dword)
Definition: acbuffer.h:248
UINT8 IgnoreColor
Definition: acbuffer.h:121
ACPI_STATUS AcpiGetSystemInfo(ACPI_BUFFER *OutBuffer)
Definition: utxface.c:145
void AcpiUtMutexTerminate(void)
Definition: utmutex.c:150
ACPI_PHYSICAL_ADDRESS ACPI_SIZE BOOLEAN Warn BOOLEAN Physical UINT32 ACPI_TABLE_HEADER *OutTableHeader ACPI_TABLE_HEADER **OutTable ACPI_HANDLE UINT32 ACPI_WALK_CALLBACK ACPI_WALK_CALLBACK void void **ReturnValue UINT32 ACPI_BUFFER *RetPathPtr ACPI_OBJECT_HANDLER Handler
Definition: acpixf.h:662
Status
Definition: gdiplustypes.h:24
UINT8 Ejectable
Definition: acbuffer.h:138
ACPI_STATUS AcpiInstallInitializationHandler(ACPI_INIT_HANDLER Handler, UINT32 Function)
Definition: utxface.c:267
UINT8 Dock
Definition: acbuffer.h:128
#define ACPI_SYS_MODE_ACPI
Definition: actypes.h:1073
UINT32 Reserved1
Definition: actypes.h:1086
#define return_ACPI_STATUS(s)
Definition: acoutput.h:496
ACPI_STATUS AcpiUpdateInterfaces(UINT8 Action)
Definition: utxface.c:485
ACPI_STATUS AcpiSubsystemStatus(void)
Definition: utxface.c:109
#define ACPI_EXPORT_SYMBOL_INIT(Symbol)
Definition: actypes.h:339
#define ACPI_FUNCTION_TRACE(a)
Definition: acoutput.h:480
UINT32 AcpiCaVersion
Definition: actypes.h:1083
#define ACPI_PLD_GET_CABINET(dword)
Definition: acbuffer.h:231
UINT32 AcpiCheckAddressRange(ACPI_ADR_SPACE_TYPE SpaceId, ACPI_PHYSICAL_ADDRESS Address, ACPI_SIZE Length, BOOLEAN Warn)
Definition: utxface.c:521
UINT32(* ACPI_INTERFACE_HANDLER)(ACPI_STRING InterfaceName, UINT32 Supported)
Definition: actypes.h:1231
#define ACPI_PLD_REV2_BUFFER_SIZE
Definition: acbuffer.h:160
UINT32 FixedEventCount[ACPI_NUM_FIXED_EVENTS]
Definition: actypes.h:1101
#define ACPI_PLD_GET_CARD_CAGE(dword)
Definition: acbuffer.h:234
#define ACPI_INITIALIZED_OK
Definition: actypes.h:608
UINT32 MethodCount
Definition: actypes.h:1102
UINT8 GroupOrientation
Definition: acbuffer.h:134
#define ACPI_INIT_FUNCTION
Definition: acenv.h:395
UINT8 Green
Definition: acbuffer.h:123
#define ACPI_PLD_GET_RED(dword)
Definition: acbuffer.h:171
#define ACPI_PLD_GET_HORIZ_OFFSET(dword)
Definition: acbuffer.h:251
UINT16 Height
Definition: acbuffer.h:126
void AcpiOsReleaseMutex(ACPI_MUTEX Handle)
Definition: osl.c:333
void AcpiUtSubsystemShutdown(void)
Definition: utinit.c:304
ACPI_STATUS AcpiUtValidateBuffer(ACPI_BUFFER *Buffer)
Definition: utalloc.c:290
UINT8 UserVisible
Definition: acbuffer.h:127
#define ACPI_MTX_NAMESPACE
Definition: aclocal.h:85
UINT8 Panel
Definition: acbuffer.h:130
#define ACPI_PLD_GET_GREEN(dword)
Definition: acbuffer.h:174
#define ACPI_CAST_PTR(t, p)
Definition: actypes.h:544
unsigned char UINT8
#define AE_OK
Definition: acexcep.h:97
#define AE_ERROR
Definition: acexcep.h:109