| /****************************************************************************** |
| * |
| * Name: acutils.h -- prototypes for the common (subsystem-wide) procedures |
| * |
| *****************************************************************************/ |
| |
| /* |
| * Copyright (C) 2000 - 2015, Intel Corp. |
| * All rights reserved. |
| * |
| * Redistribution and use in source and binary forms, with or without |
| * modification, are permitted provided that the following conditions |
| * are met: |
| * 1. Redistributions of source code must retain the above copyright |
| * notice, this list of conditions, and the following disclaimer, |
| * without modification. |
| * 2. Redistributions in binary form must reproduce at minimum a disclaimer |
| * substantially similar to the "NO WARRANTY" disclaimer below |
| * ("Disclaimer") and any redistribution must be conditioned upon |
| * including a substantially similar Disclaimer requirement for further |
| * binary redistribution. |
| * 3. Neither the names of the above-listed copyright holders nor the names |
| * of any contributors may be used to endorse or promote products derived |
| * from this software without specific prior written permission. |
| * |
| * Alternatively, this software may be distributed under the terms of the |
| * GNU General Public License ("GPL") version 2 as published by the Free |
| * Software Foundation. |
| * |
| * NO WARRANTY |
| * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
| * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
| * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR |
| * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
| * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL |
| * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS |
| * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) |
| * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, |
| * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING |
| * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
| * POSSIBILITY OF SUCH DAMAGES. |
| */ |
| |
| #ifndef _ACUTILS_H |
| #define _ACUTILS_H |
| |
| |
| extern const UINT8 AcpiGbl_ResourceAmlSizes[]; |
| extern const UINT8 AcpiGbl_ResourceAmlSerialBusSizes[]; |
| |
| /* Strings used by the disassembler and debugger resource dump routines */ |
| |
| #if defined(ACPI_DEBUG_OUTPUT) || defined (ACPI_DISASSEMBLER) || defined (ACPI_DEBUGGER) |
| |
| extern const char *AcpiGbl_BmDecode[]; |
| extern const char *AcpiGbl_ConfigDecode[]; |
| extern const char *AcpiGbl_ConsumeDecode[]; |
| extern const char *AcpiGbl_DecDecode[]; |
| extern const char *AcpiGbl_HeDecode[]; |
| extern const char *AcpiGbl_IoDecode[]; |
| extern const char *AcpiGbl_LlDecode[]; |
| extern const char *AcpiGbl_MaxDecode[]; |
| extern const char *AcpiGbl_MemDecode[]; |
| extern const char *AcpiGbl_MinDecode[]; |
| extern const char *AcpiGbl_MtpDecode[]; |
| extern const char *AcpiGbl_RngDecode[]; |
| extern const char *AcpiGbl_RwDecode[]; |
| extern const char *AcpiGbl_ShrDecode[]; |
| extern const char *AcpiGbl_SizDecode[]; |
| extern const char *AcpiGbl_TrsDecode[]; |
| extern const char *AcpiGbl_TtpDecode[]; |
| extern const char *AcpiGbl_TypDecode[]; |
| extern const char *AcpiGbl_PpcDecode[]; |
| extern const char *AcpiGbl_IorDecode[]; |
| extern const char *AcpiGbl_DtsDecode[]; |
| extern const char *AcpiGbl_CtDecode[]; |
| extern const char *AcpiGbl_SbtDecode[]; |
| extern const char *AcpiGbl_AmDecode[]; |
| extern const char *AcpiGbl_SmDecode[]; |
| extern const char *AcpiGbl_WmDecode[]; |
| extern const char *AcpiGbl_CphDecode[]; |
| extern const char *AcpiGbl_CpoDecode[]; |
| extern const char *AcpiGbl_DpDecode[]; |
| extern const char *AcpiGbl_EdDecode[]; |
| extern const char *AcpiGbl_BpbDecode[]; |
| extern const char *AcpiGbl_SbDecode[]; |
| extern const char *AcpiGbl_FcDecode[]; |
| extern const char *AcpiGbl_PtDecode[]; |
| #endif |
| |
| /* |
| * For the iASL compiler case, the output is redirected to stderr so that |
| * any of the various ACPI errors and warnings do not appear in the output |
| * files, for either the compiler or disassembler portions of the tool. |
| */ |
| #ifdef ACPI_ASL_COMPILER |
| |
| #include <stdio.h> |
| |
| #define ACPI_MSG_REDIRECT_BEGIN \ |
| FILE *OutputFile = AcpiGbl_OutputFile; \ |
| AcpiOsRedirectOutput (stderr); |
| |
| #define ACPI_MSG_REDIRECT_END \ |
| AcpiOsRedirectOutput (OutputFile); |
| |
| #else |
| /* |
| * non-iASL case - no redirection, nothing to do |
| */ |
| #define ACPI_MSG_REDIRECT_BEGIN |
| #define ACPI_MSG_REDIRECT_END |
| #endif |
| |
| /* |
| * Common error message prefixes |
| */ |
| #define ACPI_MSG_ERROR "ACPI Error: " |
| #define ACPI_MSG_EXCEPTION "ACPI Exception: " |
| #define ACPI_MSG_WARNING "ACPI Warning: " |
| #define ACPI_MSG_INFO "ACPI: " |
| |
| #define ACPI_MSG_BIOS_ERROR "ACPI BIOS Error (bug): " |
| #define ACPI_MSG_BIOS_WARNING "ACPI BIOS Warning (bug): " |
| |
| /* |
| * Common message suffix |
| */ |
| #define ACPI_MSG_SUFFIX \ |
| AcpiOsPrintf (" (%8.8X/%s-%u)\n", ACPI_CA_VERSION, ModuleName, LineNumber) |
| |
| |
| /* Types for Resource descriptor entries */ |
| |
| #define ACPI_INVALID_RESOURCE 0 |
| #define ACPI_FIXED_LENGTH 1 |
| #define ACPI_VARIABLE_LENGTH 2 |
| #define ACPI_SMALL_VARIABLE_LENGTH 3 |
| |
| typedef |
| ACPI_STATUS (*ACPI_WALK_AML_CALLBACK) ( |
| UINT8 *Aml, |
| UINT32 Length, |
| UINT32 Offset, |
| UINT8 ResourceIndex, |
| void **Context); |
| |
| typedef |
| ACPI_STATUS (*ACPI_PKG_CALLBACK) ( |
| UINT8 ObjectType, |
| ACPI_OPERAND_OBJECT *SourceObject, |
| ACPI_GENERIC_STATE *State, |
| void *Context); |
| |
| typedef struct acpi_pkg_info |
| { |
| UINT8 *FreeSpace; |
| ACPI_SIZE Length; |
| UINT32 ObjectSpace; |
| UINT32 NumPackages; |
| |
| } ACPI_PKG_INFO; |
| |
| /* Object reference counts */ |
| |
| #define REF_INCREMENT (UINT16) 0 |
| #define REF_DECREMENT (UINT16) 1 |
| |
| /* AcpiUtDumpBuffer */ |
| |
| #define DB_BYTE_DISPLAY 1 |
| #define DB_WORD_DISPLAY 2 |
| #define DB_DWORD_DISPLAY 4 |
| #define DB_QWORD_DISPLAY 8 |
| |
| |
| /* |
| * utnonansi - Non-ANSI C library functions |
| */ |
| void |
| AcpiUtStrupr ( |
| char *SrcString); |
| |
| void |
| AcpiUtStrlwr ( |
| char *SrcString); |
| |
| int |
| AcpiUtStricmp ( |
| char *String1, |
| char *String2); |
| |
| ACPI_STATUS |
| AcpiUtStrtoul64 ( |
| char *String, |
| UINT32 Base, |
| UINT64 *RetInteger); |
| |
| |
| /* |
| * utglobal - Global data structures and procedures |
| */ |
| ACPI_STATUS |
| AcpiUtInitGlobals ( |
| void); |
| |
| #if defined(ACPI_DEBUG_OUTPUT) || defined(ACPI_DEBUGGER) |
| |
| char * |
| AcpiUtGetMutexName ( |
| UINT32 MutexId); |
| |
| const char * |
| AcpiUtGetNotifyName ( |
| UINT32 NotifyValue, |
| ACPI_OBJECT_TYPE Type); |
| #endif |
| |
| char * |
| AcpiUtGetTypeName ( |
| ACPI_OBJECT_TYPE Type); |
| |
| char * |
| AcpiUtGetNodeName ( |
| void *Object); |
| |
| char * |
| AcpiUtGetDescriptorName ( |
| void *Object); |
| |
| const char * |
| AcpiUtGetReferenceName ( |
| ACPI_OPERAND_OBJECT *Object); |
| |
| char * |
| AcpiUtGetObjectTypeName ( |
| ACPI_OPERAND_OBJECT *ObjDesc); |
| |
| char * |
| AcpiUtGetRegionName ( |
| UINT8 SpaceId); |
| |
| char * |
| AcpiUtGetEventName ( |
| UINT32 EventId); |
| |
| char |
| AcpiUtHexToAsciiChar ( |
| UINT64 Integer, |
| UINT32 Position); |
| |
| UINT8 |
| AcpiUtAsciiCharToHex ( |
| int HexChar); |
| |
| BOOLEAN |
| AcpiUtValidObjectType ( |
| ACPI_OBJECT_TYPE Type); |
| |
| |
| /* |
| * utinit - miscellaneous initialization and shutdown |
| */ |
| ACPI_STATUS |
| AcpiUtHardwareInitialize ( |
| void); |
| |
| void |
| AcpiUtSubsystemShutdown ( |
| void); |
| |
| |
| /* |
| * utcopy - Object construction and conversion interfaces |
| */ |
| ACPI_STATUS |
| AcpiUtBuildSimpleObject( |
| ACPI_OPERAND_OBJECT *Obj, |
| ACPI_OBJECT *UserObj, |
| UINT8 *DataSpace, |
| UINT32 *BufferSpaceUsed); |
| |
| ACPI_STATUS |
| AcpiUtBuildPackageObject ( |
| ACPI_OPERAND_OBJECT *Obj, |
| UINT8 *Buffer, |
| UINT32 *SpaceUsed); |
| |
| ACPI_STATUS |
| AcpiUtCopyIobjectToEobject ( |
| ACPI_OPERAND_OBJECT *Obj, |
| ACPI_BUFFER *RetBuffer); |
| |
| ACPI_STATUS |
| AcpiUtCopyEobjectToIobject ( |
| ACPI_OBJECT *Obj, |
| ACPI_OPERAND_OBJECT **InternalObj); |
| |
| ACPI_STATUS |
| AcpiUtCopyISimpleToIsimple ( |
| ACPI_OPERAND_OBJECT *SourceObj, |
| ACPI_OPERAND_OBJECT *DestObj); |
| |
| ACPI_STATUS |
| AcpiUtCopyIobjectToIobject ( |
| ACPI_OPERAND_OBJECT *SourceDesc, |
| ACPI_OPERAND_OBJECT **DestDesc, |
| ACPI_WALK_STATE *WalkState); |
| |
| |
| /* |
| * utcreate - Object creation |
| */ |
| ACPI_STATUS |
| AcpiUtUpdateObjectReference ( |
| ACPI_OPERAND_OBJECT *Object, |
| UINT16 Action); |
| |
| |
| /* |
| * utdebug - Debug interfaces |
| */ |
| void |
| AcpiUtInitStackPtrTrace ( |
| void); |
| |
| void |
| AcpiUtTrackStackPtr ( |
| void); |
| |
| void |
| AcpiUtTrace ( |
| UINT32 LineNumber, |
| const char *FunctionName, |
| const char *ModuleName, |
| UINT32 ComponentId); |
| |
| void |
| AcpiUtTracePtr ( |
| UINT32 LineNumber, |
| const char *FunctionName, |
| const char *ModuleName, |
| UINT32 ComponentId, |
| void *Pointer); |
| |
| void |
| AcpiUtTraceU32 ( |
| UINT32 LineNumber, |
| const char *FunctionName, |
| const char *ModuleName, |
| UINT32 ComponentId, |
| UINT32 Integer); |
| |
| void |
| AcpiUtTraceStr ( |
| UINT32 LineNumber, |
| const char *FunctionName, |
| const char *ModuleName, |
| UINT32 ComponentId, |
| char *String); |
| |
| void |
| AcpiUtExit ( |
| UINT32 LineNumber, |
| const char *FunctionName, |
| const char *ModuleName, |
| UINT32 ComponentId); |
| |
| void |
| AcpiUtStatusExit ( |
| UINT32 LineNumber, |
| const char *FunctionName, |
| const char *ModuleName, |
| UINT32 ComponentId, |
| ACPI_STATUS Status); |
| |
| void |
| AcpiUtValueExit ( |
| UINT32 LineNumber, |
| const char *FunctionName, |
| const char *ModuleName, |
| UINT32 ComponentId, |
| UINT64 Value); |
| |
| void |
| AcpiUtPtrExit ( |
| UINT32 LineNumber, |
| const char *FunctionName, |
| const char *ModuleName, |
| UINT32 ComponentId, |
| UINT8 *Ptr); |
| |
| void |
| AcpiUtDebugDumpBuffer ( |
| UINT8 *Buffer, |
| UINT32 Count, |
| UINT32 Display, |
| UINT32 ComponentId); |
| |
| void |
| AcpiUtDumpBuffer ( |
| UINT8 *Buffer, |
| UINT32 Count, |
| UINT32 Display, |
| UINT32 Offset); |
| |
| #ifdef ACPI_APPLICATION |
| void |
| AcpiUtDumpBufferToFile ( |
| ACPI_FILE File, |
| UINT8 *Buffer, |
| UINT32 Count, |
| UINT32 Display, |
| UINT32 BaseOffset); |
| #endif |
| |
| void |
| AcpiUtReportError ( |
| char *ModuleName, |
| UINT32 LineNumber); |
| |
| void |
| AcpiUtReportInfo ( |
| char *ModuleName, |
| UINT32 LineNumber); |
| |
| void |
| AcpiUtReportWarning ( |
| char *ModuleName, |
| UINT32 LineNumber); |
| |
| |
| /* |
| * utdelete - Object deletion and reference counts |
| */ |
| void |
| AcpiUtAddReference ( |
| ACPI_OPERAND_OBJECT *Object); |
| |
| void |
| AcpiUtRemoveReference ( |
| ACPI_OPERAND_OBJECT *Object); |
| |
| void |
| AcpiUtDeleteInternalPackageObject ( |
| ACPI_OPERAND_OBJECT *Object); |
| |
| void |
| AcpiUtDeleteInternalSimpleObject ( |
| ACPI_OPERAND_OBJECT *Object); |
| |
| void |
| AcpiUtDeleteInternalObjectList ( |
| ACPI_OPERAND_OBJECT **ObjList); |
| |
| |
| /* |
| * uteval - object evaluation |
| */ |
| ACPI_STATUS |
| AcpiUtEvaluateObject ( |
| ACPI_NAMESPACE_NODE *PrefixNode, |
| char *Path, |
| UINT32 ExpectedReturnBtypes, |
| ACPI_OPERAND_OBJECT **ReturnDesc); |
| |
| ACPI_STATUS |
| AcpiUtEvaluateNumericObject ( |
| char *ObjectName, |
| ACPI_NAMESPACE_NODE *DeviceNode, |
| UINT64 *Value); |
| |
| ACPI_STATUS |
| AcpiUtExecute_STA ( |
| ACPI_NAMESPACE_NODE *DeviceNode, |
| UINT32 *StatusFlags); |
| |
| ACPI_STATUS |
| AcpiUtExecutePowerMethods ( |
| ACPI_NAMESPACE_NODE *DeviceNode, |
| const char **MethodNames, |
| UINT8 MethodCount, |
| UINT8 *OutValues); |
| |
| |
| /* |
| * utfileio - file operations |
| */ |
| #ifdef ACPI_APPLICATION |
| ACPI_STATUS |
| AcpiUtReadTableFromFile ( |
| char *Filename, |
| ACPI_TABLE_HEADER **Table); |
| #endif |
| |
| |
| /* |
| * utids - device ID support |
| */ |
| ACPI_STATUS |
| AcpiUtExecute_HID ( |
| ACPI_NAMESPACE_NODE *DeviceNode, |
| ACPI_PNP_DEVICE_ID **ReturnId); |
| |
| ACPI_STATUS |
| AcpiUtExecute_UID ( |
| ACPI_NAMESPACE_NODE *DeviceNode, |
| ACPI_PNP_DEVICE_ID **ReturnId); |
| |
| ACPI_STATUS |
| AcpiUtExecute_SUB ( |
| ACPI_NAMESPACE_NODE *DeviceNode, |
| ACPI_PNP_DEVICE_ID **ReturnId); |
| |
| ACPI_STATUS |
| AcpiUtExecute_CID ( |
| ACPI_NAMESPACE_NODE *DeviceNode, |
| ACPI_PNP_DEVICE_ID_LIST **ReturnCidList); |
| |
| ACPI_STATUS |
| AcpiUtExecute_CLS ( |
| ACPI_NAMESPACE_NODE *DeviceNode, |
| ACPI_PNP_DEVICE_ID **ReturnId); |
| |
| |
| /* |
| * utlock - reader/writer locks |
| */ |
| ACPI_STATUS |
| AcpiUtCreateRwLock ( |
| ACPI_RW_LOCK *Lock); |
| |
| void |
| AcpiUtDeleteRwLock ( |
| ACPI_RW_LOCK *Lock); |
| |
| ACPI_STATUS |
| AcpiUtAcquireReadLock ( |
| ACPI_RW_LOCK *Lock); |
| |
| ACPI_STATUS |
| AcpiUtReleaseReadLock ( |
| ACPI_RW_LOCK *Lock); |
| |
| ACPI_STATUS |
| AcpiUtAcquireWriteLock ( |
| ACPI_RW_LOCK *Lock); |
| |
| void |
| AcpiUtReleaseWriteLock ( |
| ACPI_RW_LOCK *Lock); |
| |
| |
| /* |
| * utobject - internal object create/delete/cache routines |
| */ |
| ACPI_OPERAND_OBJECT * |
| AcpiUtCreateInternalObjectDbg ( |
| const char *ModuleName, |
| UINT32 LineNumber, |
| UINT32 ComponentId, |
| ACPI_OBJECT_TYPE Type); |
| |
| void * |
| AcpiUtAllocateObjectDescDbg ( |
| const char *ModuleName, |
| UINT32 LineNumber, |
| UINT32 ComponentId); |
| |
| #define AcpiUtCreateInternalObject(t) AcpiUtCreateInternalObjectDbg (_AcpiModuleName,__LINE__,_COMPONENT,t) |
| #define AcpiUtAllocateObjectDesc() AcpiUtAllocateObjectDescDbg (_AcpiModuleName,__LINE__,_COMPONENT) |
| |
| void |
| AcpiUtDeleteObjectDesc ( |
| ACPI_OPERAND_OBJECT *Object); |
| |
| BOOLEAN |
| AcpiUtValidInternalObject ( |
| void *Object); |
| |
| ACPI_OPERAND_OBJECT * |
| AcpiUtCreatePackageObject ( |
| UINT32 Count); |
| |
| ACPI_OPERAND_OBJECT * |
| AcpiUtCreateIntegerObject ( |
| UINT64 Value); |
| |
| ACPI_OPERAND_OBJECT * |
| AcpiUtCreateBufferObject ( |
| ACPI_SIZE BufferSize); |
| |
| ACPI_OPERAND_OBJECT * |
| AcpiUtCreateStringObject ( |
| ACPI_SIZE StringSize); |
| |
| ACPI_STATUS |
| AcpiUtGetObjectSize( |
| ACPI_OPERAND_OBJECT *Obj, |
| ACPI_SIZE *ObjLength); |
| |
| |
| /* |
| * utosi - Support for the _OSI predefined control method |
| */ |
| ACPI_STATUS |
| AcpiUtInitializeInterfaces ( |
| void); |
| |
| ACPI_STATUS |
| AcpiUtInterfaceTerminate ( |
| void); |
| |
| ACPI_STATUS |
| AcpiUtInstallInterface ( |
| ACPI_STRING InterfaceName); |
| |
| ACPI_STATUS |
| AcpiUtRemoveInterface ( |
| ACPI_STRING InterfaceName); |
| |
| ACPI_STATUS |
| AcpiUtUpdateInterfaces ( |
| UINT8 Action); |
| |
| ACPI_INTERFACE_INFO * |
| AcpiUtGetInterface ( |
| ACPI_STRING InterfaceName); |
| |
| ACPI_STATUS |
| AcpiUtOsiImplementation ( |
| ACPI_WALK_STATE *WalkState); |
| |
| |
| /* |
| * utpredef - support for predefined names |
| */ |
| const ACPI_PREDEFINED_INFO * |
| AcpiUtGetNextPredefinedMethod ( |
| const ACPI_PREDEFINED_INFO *ThisName); |
| |
| const ACPI_PREDEFINED_INFO * |
| AcpiUtMatchPredefinedMethod ( |
| char *Name); |
| |
| void |
| AcpiUtGetExpectedReturnTypes ( |
| char *Buffer, |
| UINT32 ExpectedBtypes); |
| |
| #if (defined ACPI_ASL_COMPILER || defined ACPI_HELP_APP) |
| const ACPI_PREDEFINED_INFO * |
| AcpiUtMatchResourceName ( |
| char *Name); |
| |
| void |
| AcpiUtDisplayPredefinedMethod ( |
| char *Buffer, |
| const ACPI_PREDEFINED_INFO *ThisName, |
| BOOLEAN MultiLine); |
| |
| UINT32 |
| AcpiUtGetResourceBitWidth ( |
| char *Buffer, |
| UINT16 Types); |
| #endif |
| |
| |
| /* |
| * utstate - Generic state creation/cache routines |
| */ |
| void |
| AcpiUtPushGenericState ( |
| ACPI_GENERIC_STATE **ListHead, |
| ACPI_GENERIC_STATE *State); |
| |
| ACPI_GENERIC_STATE * |
| AcpiUtPopGenericState ( |
| ACPI_GENERIC_STATE **ListHead); |
| |
| |
| ACPI_GENERIC_STATE * |
| AcpiUtCreateGenericState ( |
| void); |
| |
| ACPI_THREAD_STATE * |
| AcpiUtCreateThreadState ( |
| void); |
| |
| ACPI_GENERIC_STATE * |
| AcpiUtCreateUpdateState ( |
| ACPI_OPERAND_OBJECT *Object, |
| UINT16 Action); |
| |
| ACPI_GENERIC_STATE * |
| AcpiUtCreatePkgState ( |
| void *InternalObject, |
| void *ExternalObject, |
| UINT16 Index); |
| |
| ACPI_STATUS |
| AcpiUtCreateUpdateStateAndPush ( |
| ACPI_OPERAND_OBJECT *Object, |
| UINT16 Action, |
| ACPI_GENERIC_STATE **StateList); |
| |
| ACPI_GENERIC_STATE * |
| AcpiUtCreateControlState ( |
| void); |
| |
| void |
| AcpiUtDeleteGenericState ( |
| ACPI_GENERIC_STATE *State); |
| |
| |
| /* |
| * utmath |
| */ |
| ACPI_STATUS |
| AcpiUtDivide ( |
| UINT64 InDividend, |
| UINT64 InDivisor, |
| UINT64 *OutQuotient, |
| UINT64 *OutRemainder); |
| |
| ACPI_STATUS |
| AcpiUtShortDivide ( |
| UINT64 InDividend, |
| UINT32 Divisor, |
| UINT64 *OutQuotient, |
| UINT32 *OutRemainder); |
| |
| |
| /* |
| * utmisc |
| */ |
| const ACPI_EXCEPTION_INFO * |
| AcpiUtValidateException ( |
| ACPI_STATUS Status); |
| |
| BOOLEAN |
| AcpiUtIsPciRootBridge ( |
| char *Id); |
| |
| #if (defined ACPI_ASL_COMPILER || defined ACPI_EXEC_APP || defined ACPI_NAMES_APP) |
| BOOLEAN |
| AcpiUtIsAmlTable ( |
| ACPI_TABLE_HEADER *Table); |
| #endif |
| |
| ACPI_STATUS |
| AcpiUtWalkPackageTree ( |
| ACPI_OPERAND_OBJECT *SourceObject, |
| void *TargetObject, |
| ACPI_PKG_CALLBACK WalkCallback, |
| void *Context); |
| |
| /* Values for Base above (16=Hex, 10=Decimal) */ |
| |
| #define ACPI_ANY_BASE 0 |
| |
| |
| UINT32 |
| AcpiUtDwordByteSwap ( |
| UINT32 Value); |
| |
| void |
| AcpiUtSetIntegerWidth ( |
| UINT8 Revision); |
| |
| #ifdef ACPI_DEBUG_OUTPUT |
| void |
| AcpiUtDisplayInitPathname ( |
| UINT8 Type, |
| ACPI_NAMESPACE_NODE *ObjHandle, |
| char *Path); |
| #endif |
| |
| |
| /* |
| * utownerid - Support for Table/Method Owner IDs |
| */ |
| ACPI_STATUS |
| AcpiUtAllocateOwnerId ( |
| ACPI_OWNER_ID *OwnerId); |
| |
| void |
| AcpiUtReleaseOwnerId ( |
| ACPI_OWNER_ID *OwnerId); |
| |
| |
| /* |
| * utresrc |
| */ |
| ACPI_STATUS |
| AcpiUtWalkAmlResources ( |
| ACPI_WALK_STATE *WalkState, |
| UINT8 *Aml, |
| ACPI_SIZE AmlLength, |
| ACPI_WALK_AML_CALLBACK UserFunction, |
| void **Context); |
| |
| ACPI_STATUS |
| AcpiUtValidateResource ( |
| ACPI_WALK_STATE *WalkState, |
| void *Aml, |
| UINT8 *ReturnIndex); |
| |
| UINT32 |
| AcpiUtGetDescriptorLength ( |
| void *Aml); |
| |
| UINT16 |
| AcpiUtGetResourceLength ( |
| void *Aml); |
| |
| UINT8 |
| AcpiUtGetResourceHeaderLength ( |
| void *Aml); |
| |
| UINT8 |
| AcpiUtGetResourceType ( |
| void *Aml); |
| |
| ACPI_STATUS |
| AcpiUtGetResourceEndTag ( |
| ACPI_OPERAND_OBJECT *ObjDesc, |
| UINT8 **EndTag); |
| |
| |
| /* |
| * utstring - String and character utilities |
| */ |
| void |
| AcpiUtPrintString ( |
| char *String, |
| UINT16 MaxLength); |
| |
| #if defined ACPI_ASL_COMPILER || defined ACPI_EXEC_APP |
| void |
| UtConvertBackslashes ( |
| char *Pathname); |
| #endif |
| |
| BOOLEAN |
| AcpiUtValidAcpiName ( |
| char *Name); |
| |
| BOOLEAN |
| AcpiUtValidAcpiChar ( |
| char Character, |
| UINT32 Position); |
| |
| void |
| AcpiUtRepairName ( |
| char *Name); |
| |
| #if defined (ACPI_DEBUGGER) || defined (ACPI_APPLICATION) |
| BOOLEAN |
| AcpiUtSafeStrcpy ( |
| char *Dest, |
| ACPI_SIZE DestSize, |
| char *Source); |
| |
| BOOLEAN |
| AcpiUtSafeStrcat ( |
| char *Dest, |
| ACPI_SIZE DestSize, |
| char *Source); |
| #endif |
| |
| |
| /* |
| * utmutex - mutex support |
| */ |
| ACPI_STATUS |
| AcpiUtMutexInitialize ( |
| void); |
| |
| void |
| AcpiUtMutexTerminate ( |
| void); |
| |
| ACPI_STATUS |
| AcpiUtAcquireMutex ( |
| ACPI_MUTEX_HANDLE MutexId); |
| |
| ACPI_STATUS |
| AcpiUtReleaseMutex ( |
| ACPI_MUTEX_HANDLE MutexId); |
| |
| |
| /* |
| * utalloc - memory allocation and object caching |
| */ |
| ACPI_STATUS |
| AcpiUtCreateCaches ( |
| void); |
| |
| ACPI_STATUS |
| AcpiUtDeleteCaches ( |
| void); |
| |
| ACPI_STATUS |
| AcpiUtValidateBuffer ( |
| ACPI_BUFFER *Buffer); |
| |
| ACPI_STATUS |
| AcpiUtInitializeBuffer ( |
| ACPI_BUFFER *Buffer, |
| ACPI_SIZE RequiredLength); |
| |
| #ifdef ACPI_DBG_TRACK_ALLOCATIONS |
| void * |
| AcpiUtAllocateAndTrack ( |
| ACPI_SIZE Size, |
| UINT32 Component, |
| const char *Module, |
| UINT32 Line); |
| |
| void * |
| AcpiUtAllocateZeroedAndTrack ( |
| ACPI_SIZE Size, |
| UINT32 Component, |
| const char *Module, |
| UINT32 Line); |
| |
| void |
| AcpiUtFreeAndTrack ( |
| void *Address, |
| UINT32 Component, |
| const char *Module, |
| UINT32 Line); |
| |
| void |
| AcpiUtDumpAllocationInfo ( |
| void); |
| |
| void |
| AcpiUtDumpAllocations ( |
| UINT32 Component, |
| const char *Module); |
| |
| ACPI_STATUS |
| AcpiUtCreateList ( |
| char *ListName, |
| UINT16 ObjectSize, |
| ACPI_MEMORY_LIST **ReturnCache); |
| |
| #endif /* ACPI_DBG_TRACK_ALLOCATIONS */ |
| |
| |
| /* |
| * utaddress - address range check |
| */ |
| ACPI_STATUS |
| AcpiUtAddAddressRange ( |
| ACPI_ADR_SPACE_TYPE SpaceId, |
| ACPI_PHYSICAL_ADDRESS Address, |
| UINT32 Length, |
| ACPI_NAMESPACE_NODE *RegionNode); |
| |
| void |
| AcpiUtRemoveAddressRange ( |
| ACPI_ADR_SPACE_TYPE SpaceId, |
| ACPI_NAMESPACE_NODE *RegionNode); |
| |
| UINT32 |
| AcpiUtCheckAddressRange ( |
| ACPI_ADR_SPACE_TYPE SpaceId, |
| ACPI_PHYSICAL_ADDRESS Address, |
| UINT32 Length, |
| BOOLEAN Warn); |
| |
| void |
| AcpiUtDeleteAddressLists ( |
| void); |
| |
| |
| /* |
| * utxferror - various error/warning output functions |
| */ |
| void ACPI_INTERNAL_VAR_XFACE |
| AcpiUtPredefinedWarning ( |
| const char *ModuleName, |
| UINT32 LineNumber, |
| char *Pathname, |
| UINT8 NodeFlags, |
| const char *Format, |
| ...); |
| |
| void ACPI_INTERNAL_VAR_XFACE |
| AcpiUtPredefinedInfo ( |
| const char *ModuleName, |
| UINT32 LineNumber, |
| char *Pathname, |
| UINT8 NodeFlags, |
| const char *Format, |
| ...); |
| |
| void ACPI_INTERNAL_VAR_XFACE |
| AcpiUtPredefinedBiosError ( |
| const char *ModuleName, |
| UINT32 LineNumber, |
| char *Pathname, |
| UINT8 NodeFlags, |
| const char *Format, |
| ...); |
| |
| void |
| AcpiUtNamespaceError ( |
| const char *ModuleName, |
| UINT32 LineNumber, |
| const char *InternalName, |
| ACPI_STATUS LookupStatus); |
| |
| void |
| AcpiUtMethodError ( |
| const char *ModuleName, |
| UINT32 LineNumber, |
| const char *Message, |
| ACPI_NAMESPACE_NODE *Node, |
| const char *Path, |
| ACPI_STATUS LookupStatus); |
| |
| |
| /* |
| * Utility functions for ACPI names and IDs |
| */ |
| const AH_PREDEFINED_NAME * |
| AcpiAhMatchPredefinedName ( |
| char *Nameseg); |
| |
| const AH_DEVICE_ID * |
| AcpiAhMatchHardwareId ( |
| char *Hid); |
| |
| const char * |
| AcpiAhMatchUuid ( |
| UINT8 *Data); |
| |
| |
| /* |
| * utprint - printf/vprintf output functions |
| */ |
| const char * |
| AcpiUtScanNumber ( |
| const char *String, |
| UINT64 *NumberPtr); |
| |
| const char * |
| AcpiUtPrintNumber ( |
| char *String, |
| UINT64 Number); |
| |
| int |
| AcpiUtVsnprintf ( |
| char *String, |
| ACPI_SIZE Size, |
| const char *Format, |
| va_list Args); |
| |
| int |
| AcpiUtSnprintf ( |
| char *String, |
| ACPI_SIZE Size, |
| const char *Format, |
| ...); |
| |
| #ifdef ACPI_APPLICATION |
| int |
| AcpiUtFileVprintf ( |
| ACPI_FILE File, |
| const char *Format, |
| va_list Args); |
| |
| int |
| AcpiUtFilePrintf ( |
| ACPI_FILE File, |
| const char *Format, |
| ...); |
| #endif |
| |
| |
| /* |
| * utuuid -- UUID support functions |
| */ |
| #if (defined ACPI_ASL_COMPILER || defined ACPI_DISASSEMBLER || defined ACPI_EXEC_APP || defined ACPI_HELP_APP) |
| void |
| AcpiUtConvertStringToUuid ( |
| char *InString, |
| UINT8 *UuidBuffer); |
| #endif |
| |
| #endif /* _ACUTILS_H */ |