167754Smsmith/****************************************************************************** 267754Smsmith * 377424Smsmith * Name: acutils.h -- prototypes for the common (subsystem-wide) procedures 467754Smsmith * 567754Smsmith *****************************************************************************/ 667754Smsmith 7217365Sjkim/* 8306536Sjkim * Copyright (C) 2000 - 2016, Intel Corp. 970243Smsmith * All rights reserved. 1067754Smsmith * 11217365Sjkim * Redistribution and use in source and binary forms, with or without 12217365Sjkim * modification, are permitted provided that the following conditions 13217365Sjkim * are met: 14217365Sjkim * 1. Redistributions of source code must retain the above copyright 15217365Sjkim * notice, this list of conditions, and the following disclaimer, 16217365Sjkim * without modification. 17217365Sjkim * 2. Redistributions in binary form must reproduce at minimum a disclaimer 18217365Sjkim * substantially similar to the "NO WARRANTY" disclaimer below 19217365Sjkim * ("Disclaimer") and any redistribution must be conditioned upon 20217365Sjkim * including a substantially similar Disclaimer requirement for further 21217365Sjkim * binary redistribution. 22217365Sjkim * 3. Neither the names of the above-listed copyright holders nor the names 23217365Sjkim * of any contributors may be used to endorse or promote products derived 24217365Sjkim * from this software without specific prior written permission. 2567754Smsmith * 26217365Sjkim * Alternatively, this software may be distributed under the terms of the 27217365Sjkim * GNU General Public License ("GPL") version 2 as published by the Free 28217365Sjkim * Software Foundation. 2967754Smsmith * 30217365Sjkim * NO WARRANTY 31217365Sjkim * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 32217365Sjkim * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 33217365Sjkim * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR 34217365Sjkim * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 35217365Sjkim * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 36217365Sjkim * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 37217365Sjkim * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 38217365Sjkim * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 39217365Sjkim * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 40217365Sjkim * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 41217365Sjkim * POSSIBILITY OF SUCH DAMAGES. 42217365Sjkim */ 4367754Smsmith 4477424Smsmith#ifndef _ACUTILS_H 4577424Smsmith#define _ACUTILS_H 4667754Smsmith 4767754Smsmith 48167802Sjkimextern const UINT8 AcpiGbl_ResourceAmlSizes[]; 49228110Sjkimextern const UINT8 AcpiGbl_ResourceAmlSerialBusSizes[]; 50167802Sjkim 51167802Sjkim/* Strings used by the disassembler and debugger resource dump routines */ 52167802Sjkim 53281075Sdim#if defined(ACPI_DEBUG_OUTPUT) || defined (ACPI_DISASSEMBLER) || defined (ACPI_DEBUGGER) 54167802Sjkim 55167802Sjkimextern const char *AcpiGbl_BmDecode[]; 56167802Sjkimextern const char *AcpiGbl_ConfigDecode[]; 57167802Sjkimextern const char *AcpiGbl_ConsumeDecode[]; 58167802Sjkimextern const char *AcpiGbl_DecDecode[]; 59167802Sjkimextern const char *AcpiGbl_HeDecode[]; 60167802Sjkimextern const char *AcpiGbl_IoDecode[]; 61167802Sjkimextern const char *AcpiGbl_LlDecode[]; 62167802Sjkimextern const char *AcpiGbl_MaxDecode[]; 63167802Sjkimextern const char *AcpiGbl_MemDecode[]; 64167802Sjkimextern const char *AcpiGbl_MinDecode[]; 65167802Sjkimextern const char *AcpiGbl_MtpDecode[]; 66167802Sjkimextern const char *AcpiGbl_RngDecode[]; 67167802Sjkimextern const char *AcpiGbl_RwDecode[]; 68167802Sjkimextern const char *AcpiGbl_ShrDecode[]; 69167802Sjkimextern const char *AcpiGbl_SizDecode[]; 70167802Sjkimextern const char *AcpiGbl_TrsDecode[]; 71167802Sjkimextern const char *AcpiGbl_TtpDecode[]; 72167802Sjkimextern const char *AcpiGbl_TypDecode[]; 73228110Sjkimextern const char *AcpiGbl_PpcDecode[]; 74228110Sjkimextern const char *AcpiGbl_IorDecode[]; 75228110Sjkimextern const char *AcpiGbl_DtsDecode[]; 76228110Sjkimextern const char *AcpiGbl_CtDecode[]; 77228110Sjkimextern const char *AcpiGbl_SbtDecode[]; 78228110Sjkimextern const char *AcpiGbl_AmDecode[]; 79228110Sjkimextern const char *AcpiGbl_SmDecode[]; 80228110Sjkimextern const char *AcpiGbl_WmDecode[]; 81228110Sjkimextern const char *AcpiGbl_CphDecode[]; 82228110Sjkimextern const char *AcpiGbl_CpoDecode[]; 83228110Sjkimextern const char *AcpiGbl_DpDecode[]; 84228110Sjkimextern const char *AcpiGbl_EdDecode[]; 85228110Sjkimextern const char *AcpiGbl_BpbDecode[]; 86228110Sjkimextern const char *AcpiGbl_SbDecode[]; 87228110Sjkimextern const char *AcpiGbl_FcDecode[]; 88228110Sjkimextern const char *AcpiGbl_PtDecode[]; 89167802Sjkim#endif 90167802Sjkim 91250838Sjkim/* 92250838Sjkim * For the iASL compiler case, the output is redirected to stderr so that 93250838Sjkim * any of the various ACPI errors and warnings do not appear in the output 94250838Sjkim * files, for either the compiler or disassembler portions of the tool. 95250838Sjkim */ 96250838Sjkim#ifdef ACPI_ASL_COMPILER 97250838Sjkim 98250838Sjkim#include <stdio.h> 99250838Sjkim 100250838Sjkim#define ACPI_MSG_REDIRECT_BEGIN \ 101250838Sjkim FILE *OutputFile = AcpiGbl_OutputFile; \ 102250838Sjkim AcpiOsRedirectOutput (stderr); 103250838Sjkim 104250838Sjkim#define ACPI_MSG_REDIRECT_END \ 105250838Sjkim AcpiOsRedirectOutput (OutputFile); 106250838Sjkim 107250838Sjkim#else 108250838Sjkim/* 109250838Sjkim * non-iASL case - no redirection, nothing to do 110250838Sjkim */ 111250838Sjkim#define ACPI_MSG_REDIRECT_BEGIN 112250838Sjkim#define ACPI_MSG_REDIRECT_END 113250838Sjkim#endif 114250838Sjkim 115250838Sjkim/* 116250838Sjkim * Common error message prefixes 117250838Sjkim */ 118306536Sjkim#ifndef ACPI_MSG_ERROR 119250838Sjkim#define ACPI_MSG_ERROR "ACPI Error: " 120306536Sjkim#endif 121306536Sjkim#ifndef ACPI_MSG_EXCEPTION 122250838Sjkim#define ACPI_MSG_EXCEPTION "ACPI Exception: " 123306536Sjkim#endif 124306536Sjkim#ifndef ACPI_MSG_WARNING 125250838Sjkim#define ACPI_MSG_WARNING "ACPI Warning: " 126306536Sjkim#endif 127306536Sjkim#ifndef ACPI_MSG_INFO 128250838Sjkim#define ACPI_MSG_INFO "ACPI: " 129306536Sjkim#endif 130250838Sjkim 131306536Sjkim#ifndef ACPI_MSG_BIOS_ERROR 132250838Sjkim#define ACPI_MSG_BIOS_ERROR "ACPI BIOS Error (bug): " 133306536Sjkim#endif 134306536Sjkim#ifndef ACPI_MSG_BIOS_WARNING 135250838Sjkim#define ACPI_MSG_BIOS_WARNING "ACPI BIOS Warning (bug): " 136306536Sjkim#endif 137250838Sjkim 138250838Sjkim/* 139250838Sjkim * Common message suffix 140250838Sjkim */ 141250838Sjkim#define ACPI_MSG_SUFFIX \ 142250838Sjkim AcpiOsPrintf (" (%8.8X/%s-%u)\n", ACPI_CA_VERSION, ModuleName, LineNumber) 143250838Sjkim 144250838Sjkim 145167802Sjkim/* Types for Resource descriptor entries */ 146167802Sjkim 147167802Sjkim#define ACPI_INVALID_RESOURCE 0 148167802Sjkim#define ACPI_FIXED_LENGTH 1 149167802Sjkim#define ACPI_VARIABLE_LENGTH 2 150167802Sjkim#define ACPI_SMALL_VARIABLE_LENGTH 3 151167802Sjkim 15273561Smsmithtypedef 153167802SjkimACPI_STATUS (*ACPI_WALK_AML_CALLBACK) ( 154167802Sjkim UINT8 *Aml, 155167802Sjkim UINT32 Length, 156167802Sjkim UINT32 Offset, 157167802Sjkim UINT8 ResourceIndex, 158245582Sjkim void **Context); 159167802Sjkim 160167802Sjkimtypedef 16173561SmsmithACPI_STATUS (*ACPI_PKG_CALLBACK) ( 16273561Smsmith UINT8 ObjectType, 16373561Smsmith ACPI_OPERAND_OBJECT *SourceObject, 16473561Smsmith ACPI_GENERIC_STATE *State, 16573561Smsmith void *Context); 16673561Smsmith 16773561Smsmithtypedef struct acpi_pkg_info 16873561Smsmith{ 16973561Smsmith UINT8 *FreeSpace; 17091116Smsmith ACPI_SIZE Length; 17173561Smsmith UINT32 ObjectSpace; 17273561Smsmith UINT32 NumPackages; 173114237Snjl 17473561Smsmith} ACPI_PKG_INFO; 17573561Smsmith 176249112Sjkim/* Object reference counts */ 177249112Sjkim 17867754Smsmith#define REF_INCREMENT (UINT16) 0 17967754Smsmith#define REF_DECREMENT (UINT16) 1 18067754Smsmith 18177424Smsmith/* AcpiUtDumpBuffer */ 18267754Smsmith 18367754Smsmith#define DB_BYTE_DISPLAY 1 18467754Smsmith#define DB_WORD_DISPLAY 2 18567754Smsmith#define DB_DWORD_DISPLAY 4 18667754Smsmith#define DB_QWORD_DISPLAY 8 18767754Smsmith 188306536Sjkim 18967754Smsmith/* 190306536Sjkim * utascii - ASCII utilities 191306536Sjkim */ 192306536SjkimBOOLEAN 193306536SjkimAcpiUtValidNameseg ( 194306536Sjkim char *Signature); 195306536Sjkim 196306536SjkimBOOLEAN 197306536SjkimAcpiUtValidNameChar ( 198306536Sjkim char Character, 199306536Sjkim UINT32 Position); 200306536Sjkim 201306536Sjkimvoid 202306536SjkimAcpiUtCheckAndRepairAscii ( 203306536Sjkim UINT8 *Name, 204306536Sjkim char *RepairedName, 205306536Sjkim UINT32 Count); 206306536Sjkim 207306536Sjkim 208306536Sjkim/* 209306536Sjkim * utnonansi - Non-ANSI C library functions 210306536Sjkim */ 211306536Sjkimvoid 212306536SjkimAcpiUtStrupr ( 213306536Sjkim char *SrcString); 214306536Sjkim 215306536Sjkimvoid 216306536SjkimAcpiUtStrlwr ( 217306536Sjkim char *SrcString); 218306536Sjkim 219306536Sjkimint 220306536SjkimAcpiUtStricmp ( 221306536Sjkim char *String1, 222306536Sjkim char *String2); 223306536Sjkim 224306536SjkimACPI_STATUS 225306536SjkimAcpiUtStrtoul64 ( 226306536Sjkim char *String, 227306536Sjkim UINT32 Base, 228306536Sjkim UINT32 MaxIntegerByteWidth, 229306536Sjkim UINT64 *RetInteger); 230306536Sjkim 231306536Sjkim/* Values for MaxIntegerByteWidth above */ 232306536Sjkim 233306536Sjkim#define ACPI_MAX32_BYTE_WIDTH 4 234306536Sjkim#define ACPI_MAX64_BYTE_WIDTH 8 235306536Sjkim 236306536Sjkim 237306536Sjkim/* 238151937Sjkim * utglobal - Global data structures and procedures 23967754Smsmith */ 240193267SjkimACPI_STATUS 241151937SjkimAcpiUtInitGlobals ( 24267754Smsmith void); 24367754Smsmith 244102550Siwasaki#if defined(ACPI_DEBUG_OUTPUT) || defined(ACPI_DEBUGGER) 24569746Smsmith 246306536Sjkimconst char * 24777424SmsmithAcpiUtGetMutexName ( 24867754Smsmith UINT32 MutexId); 24967754Smsmith 250193267Sjkimconst char * 251193267SjkimAcpiUtGetNotifyName ( 252281075Sdim UINT32 NotifyValue, 253281075Sdim ACPI_OBJECT_TYPE Type); 254100966Siwasaki#endif 255100966Siwasaki 256306536Sjkimconst char * 25777424SmsmithAcpiUtGetTypeName ( 25891116Smsmith ACPI_OBJECT_TYPE Type); 25967754Smsmith 260306536Sjkimconst char * 261123315SnjlAcpiUtGetNodeName ( 262123315Snjl void *Object); 263123315Snjl 264306536Sjkimconst char * 265123315SnjlAcpiUtGetDescriptorName ( 266123315Snjl void *Object); 267123315Snjl 268193267Sjkimconst char * 269193267SjkimAcpiUtGetReferenceName ( 270193267Sjkim ACPI_OPERAND_OBJECT *Object); 271193267Sjkim 272306536Sjkimconst char * 27399679SiwasakiAcpiUtGetObjectTypeName ( 27499679Siwasaki ACPI_OPERAND_OBJECT *ObjDesc); 27599679Siwasaki 276306536Sjkimconst char * 27777424SmsmithAcpiUtGetRegionName ( 27869746Smsmith UINT8 SpaceId); 27969746Smsmith 280306536Sjkimconst char * 28191116SmsmithAcpiUtGetEventName ( 28291116Smsmith UINT32 EventId); 28369746Smsmith 28499679Siwasakichar 28582367SmsmithAcpiUtHexToAsciiChar ( 286202771Sjkim UINT64 Integer, 28782367Smsmith UINT32 Position); 28882367Smsmith 289281075SdimUINT8 290281075SdimAcpiUtAsciiCharToHex ( 291281075Sdim int HexChar); 292281075Sdim 29367754SmsmithBOOLEAN 29477424SmsmithAcpiUtValidObjectType ( 29591116Smsmith ACPI_OBJECT_TYPE Type); 29667754Smsmith 29767754Smsmith 298151937Sjkim/* 299151937Sjkim * utinit - miscellaneous initialization and shutdown 300151937Sjkim */ 301151937SjkimACPI_STATUS 302151937SjkimAcpiUtHardwareInitialize ( 303151937Sjkim void); 30467754Smsmith 305151937Sjkimvoid 306151937SjkimAcpiUtSubsystemShutdown ( 307151937Sjkim void); 308151937Sjkim 309151937Sjkim 31067754Smsmith/* 311151937Sjkim * utcopy - Object construction and conversion interfaces 31267754Smsmith */ 31367754SmsmithACPI_STATUS 31477424SmsmithAcpiUtBuildSimpleObject( 31567754Smsmith ACPI_OPERAND_OBJECT *Obj, 31667754Smsmith ACPI_OBJECT *UserObj, 31767754Smsmith UINT8 *DataSpace, 31867754Smsmith UINT32 *BufferSpaceUsed); 31967754Smsmith 32067754SmsmithACPI_STATUS 32177424SmsmithAcpiUtBuildPackageObject ( 32267754Smsmith ACPI_OPERAND_OBJECT *Obj, 32367754Smsmith UINT8 *Buffer, 32467754Smsmith UINT32 *SpaceUsed); 32567754Smsmith 32667754SmsmithACPI_STATUS 32777424SmsmithAcpiUtCopyIobjectToEobject ( 32867754Smsmith ACPI_OPERAND_OBJECT *Obj, 32967754Smsmith ACPI_BUFFER *RetBuffer); 33067754Smsmith 33167754SmsmithACPI_STATUS 33277424SmsmithAcpiUtCopyEobjectToIobject ( 33367754Smsmith ACPI_OBJECT *Obj, 33484491Smsmith ACPI_OPERAND_OBJECT **InternalObj); 33567754Smsmith 33667754SmsmithACPI_STATUS 33777424SmsmithAcpiUtCopyISimpleToIsimple ( 33867754Smsmith ACPI_OPERAND_OBJECT *SourceObj, 33967754Smsmith ACPI_OPERAND_OBJECT *DestObj); 34067754Smsmith 34167754SmsmithACPI_STATUS 34291116SmsmithAcpiUtCopyIobjectToIobject ( 34391116Smsmith ACPI_OPERAND_OBJECT *SourceDesc, 34491116Smsmith ACPI_OPERAND_OBJECT **DestDesc, 34591116Smsmith ACPI_WALK_STATE *WalkState); 34691116Smsmith 34791116Smsmith 34867754Smsmith/* 349151937Sjkim * utcreate - Object creation 35067754Smsmith */ 35167754SmsmithACPI_STATUS 35277424SmsmithAcpiUtUpdateObjectReference ( 35367754Smsmith ACPI_OPERAND_OBJECT *Object, 35467754Smsmith UINT16 Action); 35567754Smsmith 35667754Smsmith 35767754Smsmith/* 358151937Sjkim * utdebug - Debug interfaces 35967754Smsmith */ 36083174Smsmithvoid 36183174SmsmithAcpiUtInitStackPtrTrace ( 36267754Smsmith void); 36367754Smsmith 36467754Smsmithvoid 36583174SmsmithAcpiUtTrackStackPtr ( 36683174Smsmith void); 36767754Smsmith 36867754Smsmithvoid 36983174SmsmithAcpiUtTrace ( 37067754Smsmith UINT32 LineNumber, 371151937Sjkim const char *FunctionName, 372193267Sjkim const char *ModuleName, 373151937Sjkim UINT32 ComponentId); 37467754Smsmith 37567754Smsmithvoid 37683174SmsmithAcpiUtTracePtr ( 37767754Smsmith UINT32 LineNumber, 378151937Sjkim const char *FunctionName, 379193267Sjkim const char *ModuleName, 380151937Sjkim UINT32 ComponentId, 381306536Sjkim const void *Pointer); 38267754Smsmith 38367754Smsmithvoid 38483174SmsmithAcpiUtTraceU32 ( 38567754Smsmith UINT32 LineNumber, 386151937Sjkim const char *FunctionName, 387193267Sjkim const char *ModuleName, 388151937Sjkim UINT32 ComponentId, 38967754Smsmith UINT32 Integer); 39067754Smsmith 39167754Smsmithvoid 39283174SmsmithAcpiUtTraceStr ( 39367754Smsmith UINT32 LineNumber, 394151937Sjkim const char *FunctionName, 395193267Sjkim const char *ModuleName, 396151937Sjkim UINT32 ComponentId, 397306536Sjkim const char *String); 39867754Smsmith 39967754Smsmithvoid 40083174SmsmithAcpiUtExit ( 40167754Smsmith UINT32 LineNumber, 402151937Sjkim const char *FunctionName, 403193267Sjkim const char *ModuleName, 404151937Sjkim UINT32 ComponentId); 40567754Smsmith 40667754Smsmithvoid 40783174SmsmithAcpiUtStatusExit ( 40867754Smsmith UINT32 LineNumber, 409151937Sjkim const char *FunctionName, 410193267Sjkim const char *ModuleName, 411151937Sjkim UINT32 ComponentId, 41267754Smsmith ACPI_STATUS Status); 41367754Smsmith 41467754Smsmithvoid 41583174SmsmithAcpiUtValueExit ( 41667754Smsmith UINT32 LineNumber, 417151937Sjkim const char *FunctionName, 418193267Sjkim const char *ModuleName, 419151937Sjkim UINT32 ComponentId, 420202771Sjkim UINT64 Value); 42167754Smsmith 42267754Smsmithvoid 42383174SmsmithAcpiUtPtrExit ( 42467754Smsmith UINT32 LineNumber, 425151937Sjkim const char *FunctionName, 426193267Sjkim const char *ModuleName, 427151937Sjkim UINT32 ComponentId, 42867754Smsmith UINT8 *Ptr); 42967754Smsmith 43067754Smsmithvoid 431306536SjkimAcpiUtStrExit ( 432306536Sjkim UINT32 LineNumber, 433306536Sjkim const char *FunctionName, 434306536Sjkim const char *ModuleName, 435306536Sjkim UINT32 ComponentId, 436306536Sjkim const char *String); 437306536Sjkim 438306536Sjkimvoid 439241973SjkimAcpiUtDebugDumpBuffer ( 440167802Sjkim UINT8 *Buffer, 441167802Sjkim UINT32 Count, 442167802Sjkim UINT32 Display, 443237412Sjkim UINT32 ComponentId); 44467754Smsmith 44567754Smsmithvoid 446241973SjkimAcpiUtDumpBuffer ( 447167802Sjkim UINT8 *Buffer, 448167802Sjkim UINT32 Count, 449241973Sjkim UINT32 Display, 450241973Sjkim UINT32 Offset); 451167802Sjkim 452281075Sdim#ifdef ACPI_APPLICATION 453167802Sjkimvoid 454281075SdimAcpiUtDumpBufferToFile ( 455281075Sdim ACPI_FILE File, 456281075Sdim UINT8 *Buffer, 457281075Sdim UINT32 Count, 458281075Sdim UINT32 Display, 459281075Sdim UINT32 BaseOffset); 460281075Sdim#endif 461281075Sdim 462281075Sdimvoid 46383174SmsmithAcpiUtReportError ( 464114237Snjl char *ModuleName, 465167802Sjkim UINT32 LineNumber); 46667754Smsmith 46767754Smsmithvoid 468167802SjkimAcpiUtReportInfo ( 469114237Snjl char *ModuleName, 470167802Sjkim UINT32 LineNumber); 47167754Smsmith 47267754Smsmithvoid 473167802SjkimAcpiUtReportWarning ( 474167802Sjkim char *ModuleName, 475167802Sjkim UINT32 LineNumber); 47667754Smsmith 477306536Sjkim 47867754Smsmith/* 479151937Sjkim * utdelete - Object deletion and reference counts 48067754Smsmith */ 481151937Sjkimvoid 482151937SjkimAcpiUtAddReference ( 483151937Sjkim ACPI_OPERAND_OBJECT *Object); 48467754Smsmith 48567754Smsmithvoid 486151937SjkimAcpiUtRemoveReference ( 48767754Smsmith ACPI_OPERAND_OBJECT *Object); 48867754Smsmith 48967754Smsmithvoid 49077424SmsmithAcpiUtDeleteInternalPackageObject ( 49167754Smsmith ACPI_OPERAND_OBJECT *Object); 49267754Smsmith 49367754Smsmithvoid 49477424SmsmithAcpiUtDeleteInternalSimpleObject ( 49567754Smsmith ACPI_OPERAND_OBJECT *Object); 49667754Smsmith 49799679Siwasakivoid 49877424SmsmithAcpiUtDeleteInternalObjectList ( 49967754Smsmith ACPI_OPERAND_OBJECT **ObjList); 50067754Smsmith 50167754Smsmith 50267754Smsmith/* 503151937Sjkim * uteval - object evaluation 50467754Smsmith */ 50567754SmsmithACPI_STATUS 506114237SnjlAcpiUtEvaluateObject ( 507114237Snjl ACPI_NAMESPACE_NODE *PrefixNode, 508306536Sjkim const char *Path, 509114237Snjl UINT32 ExpectedReturnBtypes, 510114237Snjl ACPI_OPERAND_OBJECT **ReturnDesc); 511114237Snjl 512114237SnjlACPI_STATUS 51377424SmsmithAcpiUtEvaluateNumericObject ( 514306536Sjkim const char *ObjectName, 51567754Smsmith ACPI_NAMESPACE_NODE *DeviceNode, 516202771Sjkim UINT64 *Value); 51767754Smsmith 51867754SmsmithACPI_STATUS 519197104SjkimAcpiUtExecute_STA ( 52067754Smsmith ACPI_NAMESPACE_NODE *DeviceNode, 521197104Sjkim UINT32 *StatusFlags); 52267754Smsmith 52367754SmsmithACPI_STATUS 524197104SjkimAcpiUtExecutePowerMethods ( 52587031Smsmith ACPI_NAMESPACE_NODE *DeviceNode, 526197104Sjkim const char **MethodNames, 527197104Sjkim UINT8 MethodCount, 528197104Sjkim UINT8 *OutValues); 52987031Smsmith 530197104Sjkim 531197104Sjkim/* 532197104Sjkim * utids - device ID support 533197104Sjkim */ 53487031SmsmithACPI_STATUS 535197104SjkimAcpiUtExecute_HID ( 53667754Smsmith ACPI_NAMESPACE_NODE *DeviceNode, 537241973Sjkim ACPI_PNP_DEVICE_ID **ReturnId); 53867754Smsmith 53967754SmsmithACPI_STATUS 54077424SmsmithAcpiUtExecute_UID ( 54167754Smsmith ACPI_NAMESPACE_NODE *DeviceNode, 542241973Sjkim ACPI_PNP_DEVICE_ID **ReturnId); 54367754Smsmith 544126372SnjlACPI_STATUS 545306536SjkimAcpiUtExecute_CID ( 546241973Sjkim ACPI_NAMESPACE_NODE *DeviceNode, 547306536Sjkim ACPI_PNP_DEVICE_ID_LIST **ReturnCidList); 548241973Sjkim 549241973SjkimACPI_STATUS 550306536SjkimAcpiUtExecute_CLS ( 551126372Snjl ACPI_NAMESPACE_NODE *DeviceNode, 552306536Sjkim ACPI_PNP_DEVICE_ID **ReturnId); 55367754Smsmith 554197104Sjkim 555193267Sjkim/* 556193267Sjkim * utlock - reader/writer locks 557193267Sjkim */ 558193267SjkimACPI_STATUS 559193267SjkimAcpiUtCreateRwLock ( 560193267Sjkim ACPI_RW_LOCK *Lock); 56167754Smsmith 562193267Sjkimvoid 563193267SjkimAcpiUtDeleteRwLock ( 564193267Sjkim ACPI_RW_LOCK *Lock); 565193267Sjkim 566193267SjkimACPI_STATUS 567193267SjkimAcpiUtAcquireReadLock ( 568193267Sjkim ACPI_RW_LOCK *Lock); 569193267Sjkim 570193267SjkimACPI_STATUS 571193267SjkimAcpiUtReleaseReadLock ( 572193267Sjkim ACPI_RW_LOCK *Lock); 573193267Sjkim 574193267SjkimACPI_STATUS 575193267SjkimAcpiUtAcquireWriteLock ( 576193267Sjkim ACPI_RW_LOCK *Lock); 577193267Sjkim 578193267Sjkimvoid 579193267SjkimAcpiUtReleaseWriteLock ( 580193267Sjkim ACPI_RW_LOCK *Lock); 581193267Sjkim 582193267Sjkim 58367754Smsmith/* 584151937Sjkim * utobject - internal object create/delete/cache routines 58567754Smsmith */ 58683174SmsmithACPI_OPERAND_OBJECT * 58783174SmsmithAcpiUtCreateInternalObjectDbg ( 588193267Sjkim const char *ModuleName, 58983174Smsmith UINT32 LineNumber, 59083174Smsmith UINT32 ComponentId, 59191116Smsmith ACPI_OBJECT_TYPE Type); 59283174Smsmith 59367754Smsmithvoid * 59483174SmsmithAcpiUtAllocateObjectDescDbg ( 595193267Sjkim const char *ModuleName, 59667754Smsmith UINT32 LineNumber, 59767754Smsmith UINT32 ComponentId); 59867754Smsmith 599151937Sjkim#define AcpiUtCreateInternalObject(t) AcpiUtCreateInternalObjectDbg (_AcpiModuleName,__LINE__,_COMPONENT,t) 600151937Sjkim#define AcpiUtAllocateObjectDesc() AcpiUtAllocateObjectDescDbg (_AcpiModuleName,__LINE__,_COMPONENT) 60167754Smsmith 60267754Smsmithvoid 60377424SmsmithAcpiUtDeleteObjectDesc ( 60467754Smsmith ACPI_OPERAND_OBJECT *Object); 60567754Smsmith 60667754SmsmithBOOLEAN 60777424SmsmithAcpiUtValidInternalObject ( 60867754Smsmith void *Object); 60967754Smsmith 610107325SiwasakiACPI_OPERAND_OBJECT * 611193267SjkimAcpiUtCreatePackageObject ( 612193267Sjkim UINT32 Count); 613193267Sjkim 614193267SjkimACPI_OPERAND_OBJECT * 615199337SjkimAcpiUtCreateIntegerObject ( 616199337Sjkim UINT64 Value); 617199337Sjkim 618199337SjkimACPI_OPERAND_OBJECT * 619107325SiwasakiAcpiUtCreateBufferObject ( 620107325Siwasaki ACPI_SIZE BufferSize); 62167754Smsmith 622138287SmarksACPI_OPERAND_OBJECT * 623138287SmarksAcpiUtCreateStringObject ( 624138287Smarks ACPI_SIZE StringSize); 625107325Siwasaki 62667754SmsmithACPI_STATUS 62777424SmsmithAcpiUtGetObjectSize( 62867754Smsmith ACPI_OPERAND_OBJECT *Obj, 62991116Smsmith ACPI_SIZE *ObjLength); 63067754Smsmith 63167754Smsmith 63267754Smsmith/* 633210976Sjkim * utosi - Support for the _OSI predefined control method 634210976Sjkim */ 635210976SjkimACPI_STATUS 636210976SjkimAcpiUtInitializeInterfaces ( 637210976Sjkim void); 638210976Sjkim 639249112SjkimACPI_STATUS 640210976SjkimAcpiUtInterfaceTerminate ( 641210976Sjkim void); 642210976Sjkim 643210976SjkimACPI_STATUS 644210976SjkimAcpiUtInstallInterface ( 645210976Sjkim ACPI_STRING InterfaceName); 646210976Sjkim 647210976SjkimACPI_STATUS 648210976SjkimAcpiUtRemoveInterface ( 649210976Sjkim ACPI_STRING InterfaceName); 650210976Sjkim 651253690SjkimACPI_STATUS 652253690SjkimAcpiUtUpdateInterfaces ( 653253690Sjkim UINT8 Action); 654253690Sjkim 655210976SjkimACPI_INTERFACE_INFO * 656210976SjkimAcpiUtGetInterface ( 657210976Sjkim ACPI_STRING InterfaceName); 658210976Sjkim 659210976SjkimACPI_STATUS 660210976SjkimAcpiUtOsiImplementation ( 661210976Sjkim ACPI_WALK_STATE *WalkState); 662210976Sjkim 663210976Sjkim 664210976Sjkim/* 665249112Sjkim * utpredef - support for predefined names 666249112Sjkim */ 667249112Sjkimconst ACPI_PREDEFINED_INFO * 668249112SjkimAcpiUtGetNextPredefinedMethod ( 669249112Sjkim const ACPI_PREDEFINED_INFO *ThisName); 670249112Sjkim 671249112Sjkimconst ACPI_PREDEFINED_INFO * 672249112SjkimAcpiUtMatchPredefinedMethod ( 673249112Sjkim char *Name); 674249112Sjkim 675281687Sjkimvoid 676281687SjkimAcpiUtGetExpectedReturnTypes ( 677281687Sjkim char *Buffer, 678281687Sjkim UINT32 ExpectedBtypes); 679281687Sjkim 680281687Sjkim#if (defined ACPI_ASL_COMPILER || defined ACPI_HELP_APP) 681249112Sjkimconst ACPI_PREDEFINED_INFO * 682249112SjkimAcpiUtMatchResourceName ( 683249112Sjkim char *Name); 684249112Sjkim 685249112Sjkimvoid 686249112SjkimAcpiUtDisplayPredefinedMethod ( 687249112Sjkim char *Buffer, 688249112Sjkim const ACPI_PREDEFINED_INFO *ThisName, 689249112Sjkim BOOLEAN MultiLine); 690249112Sjkim 691249112SjkimUINT32 692249112SjkimAcpiUtGetResourceBitWidth ( 693249112Sjkim char *Buffer, 694249112Sjkim UINT16 Types); 695281687Sjkim#endif 696249112Sjkim 697249112Sjkim 698249112Sjkim/* 699151937Sjkim * utstate - Generic state creation/cache routines 70067754Smsmith */ 70167754Smsmithvoid 70277424SmsmithAcpiUtPushGenericState ( 70367754Smsmith ACPI_GENERIC_STATE **ListHead, 70467754Smsmith ACPI_GENERIC_STATE *State); 70567754Smsmith 70667754SmsmithACPI_GENERIC_STATE * 70777424SmsmithAcpiUtPopGenericState ( 70867754Smsmith ACPI_GENERIC_STATE **ListHead); 70967754Smsmith 71067754Smsmith 71167754SmsmithACPI_GENERIC_STATE * 71277424SmsmithAcpiUtCreateGenericState ( 71367754Smsmith void); 71467754Smsmith 71587031SmsmithACPI_THREAD_STATE * 71687031SmsmithAcpiUtCreateThreadState ( 71787031Smsmith void); 71887031Smsmith 71967754SmsmithACPI_GENERIC_STATE * 72077424SmsmithAcpiUtCreateUpdateState ( 72167754Smsmith ACPI_OPERAND_OBJECT *Object, 72267754Smsmith UINT16 Action); 72367754Smsmith 72473561SmsmithACPI_GENERIC_STATE * 72577424SmsmithAcpiUtCreatePkgState ( 72673561Smsmith void *InternalObject, 72773561Smsmith void *ExternalObject, 72873561Smsmith UINT16 Index); 72973561Smsmith 73067754SmsmithACPI_STATUS 73177424SmsmithAcpiUtCreateUpdateStateAndPush ( 73267754Smsmith ACPI_OPERAND_OBJECT *Object, 73367754Smsmith UINT16 Action, 73467754Smsmith ACPI_GENERIC_STATE **StateList); 73567754Smsmith 73667754SmsmithACPI_GENERIC_STATE * 73777424SmsmithAcpiUtCreateControlState ( 73867754Smsmith void); 73967754Smsmith 74067754Smsmithvoid 74177424SmsmithAcpiUtDeleteGenericState ( 74267754Smsmith ACPI_GENERIC_STATE *State); 74367754Smsmith 74467754Smsmith 74567754Smsmith/* 746151937Sjkim * utmath 74767754Smsmith */ 74884491SmsmithACPI_STATUS 74984491SmsmithAcpiUtDivide ( 750202771Sjkim UINT64 InDividend, 751202771Sjkim UINT64 InDivisor, 752202771Sjkim UINT64 *OutQuotient, 753202771Sjkim UINT64 *OutRemainder); 75484491Smsmith 75584491SmsmithACPI_STATUS 75684491SmsmithAcpiUtShortDivide ( 757202771Sjkim UINT64 InDividend, 75884491Smsmith UINT32 Divisor, 759202771Sjkim UINT64 *OutQuotient, 76084491Smsmith UINT32 *OutRemainder); 76184491Smsmith 762246849Sjkim 763151937Sjkim/* 764151937Sjkim * utmisc 765151937Sjkim */ 766246849Sjkimconst ACPI_EXCEPTION_INFO * 767167802SjkimAcpiUtValidateException ( 768167802Sjkim ACPI_STATUS Status); 769167802Sjkim 770167802SjkimBOOLEAN 771197104SjkimAcpiUtIsPciRootBridge ( 772197104Sjkim char *Id); 773197104Sjkim 774306536Sjkim#if (defined ACPI_ASL_COMPILER || defined ACPI_EXEC_APP || defined ACPI_NAMES_APP) 775197104SjkimBOOLEAN 776167802SjkimAcpiUtIsAmlTable ( 777167802Sjkim ACPI_TABLE_HEADER *Table); 778281687Sjkim#endif 779167802Sjkim 780151937SjkimACPI_STATUS 781151937SjkimAcpiUtWalkPackageTree ( 782151937Sjkim ACPI_OPERAND_OBJECT *SourceObject, 783151937Sjkim void *TargetObject, 784151937Sjkim ACPI_PKG_CALLBACK WalkCallback, 785151937Sjkim void *Context); 786151937Sjkim 787138287Smarks/* Values for Base above (16=Hex, 10=Decimal) */ 788138287Smarks 789138287Smarks#define ACPI_ANY_BASE 0 790138287Smarks 791306536Sjkim 792151937SjkimUINT32 79399679SiwasakiAcpiUtDwordByteSwap ( 79499679Siwasaki UINT32 Value); 79599679Siwasaki 79699679Siwasakivoid 79799679SiwasakiAcpiUtSetIntegerWidth ( 79899679Siwasaki UINT8 Revision); 79999679Siwasaki 800102550Siwasaki#ifdef ACPI_DEBUG_OUTPUT 80173561Smsmithvoid 80277424SmsmithAcpiUtDisplayInitPathname ( 803114237Snjl UINT8 Type, 804114237Snjl ACPI_NAMESPACE_NODE *ObjHandle, 805306536Sjkim const char *Path); 80673561Smsmith#endif 80773561Smsmith 80873561Smsmith 80967754Smsmith/* 810245582Sjkim * utownerid - Support for Table/Method Owner IDs 811245582Sjkim */ 812245582SjkimACPI_STATUS 813245582SjkimAcpiUtAllocateOwnerId ( 814245582Sjkim ACPI_OWNER_ID *OwnerId); 815245582Sjkim 816245582Sjkimvoid 817245582SjkimAcpiUtReleaseOwnerId ( 818245582Sjkim ACPI_OWNER_ID *OwnerId); 819245582Sjkim 820245582Sjkim 821245582Sjkim/* 822167802Sjkim * utresrc 823167802Sjkim */ 824167802SjkimACPI_STATUS 825167802SjkimAcpiUtWalkAmlResources ( 826243347Sjkim ACPI_WALK_STATE *WalkState, 827167802Sjkim UINT8 *Aml, 828167802Sjkim ACPI_SIZE AmlLength, 829167802Sjkim ACPI_WALK_AML_CALLBACK UserFunction, 830245582Sjkim void **Context); 831167802Sjkim 832167802SjkimACPI_STATUS 833167802SjkimAcpiUtValidateResource ( 834243347Sjkim ACPI_WALK_STATE *WalkState, 835167802Sjkim void *Aml, 836167802Sjkim UINT8 *ReturnIndex); 837167802Sjkim 838167802SjkimUINT32 839167802SjkimAcpiUtGetDescriptorLength ( 840167802Sjkim void *Aml); 841167802Sjkim 842167802SjkimUINT16 843167802SjkimAcpiUtGetResourceLength ( 844167802Sjkim void *Aml); 845167802Sjkim 846167802SjkimUINT8 847167802SjkimAcpiUtGetResourceHeaderLength ( 848167802Sjkim void *Aml); 849167802Sjkim 850167802SjkimUINT8 851167802SjkimAcpiUtGetResourceType ( 852167802Sjkim void *Aml); 853167802Sjkim 854167802SjkimACPI_STATUS 855167802SjkimAcpiUtGetResourceEndTag ( 856167802Sjkim ACPI_OPERAND_OBJECT *ObjDesc, 857167802Sjkim UINT8 **EndTag); 858167802Sjkim 859167802Sjkim 860167802Sjkim/* 861245582Sjkim * utstring - String and character utilities 862245582Sjkim */ 863245582Sjkimvoid 864245582SjkimAcpiUtPrintString ( 865245582Sjkim char *String, 866252279Sjkim UINT16 MaxLength); 867245582Sjkim 868281687Sjkim#if defined ACPI_ASL_COMPILER || defined ACPI_EXEC_APP 869245582Sjkimvoid 870245582SjkimUtConvertBackslashes ( 871245582Sjkim char *Pathname); 872281687Sjkim#endif 873245582Sjkim 874245582Sjkimvoid 875245582SjkimAcpiUtRepairName ( 876245582Sjkim char *Name); 877245582Sjkim 878281075Sdim#if defined (ACPI_DEBUGGER) || defined (ACPI_APPLICATION) 879281075SdimBOOLEAN 880281075SdimAcpiUtSafeStrcpy ( 881281075Sdim char *Dest, 882281075Sdim ACPI_SIZE DestSize, 883281075Sdim char *Source); 884245582Sjkim 885281075SdimBOOLEAN 886281075SdimAcpiUtSafeStrcat ( 887281075Sdim char *Dest, 888281075Sdim ACPI_SIZE DestSize, 889281075Sdim char *Source); 890281075Sdim 891281075SdimBOOLEAN 892281075SdimAcpiUtSafeStrncat ( 893281075Sdim char *Dest, 894281075Sdim ACPI_SIZE DestSize, 895281075Sdim char *Source, 896281075Sdim ACPI_SIZE MaxTransferLength); 897281075Sdim#endif 898281075Sdim 899281075Sdim 900245582Sjkim/* 901151937Sjkim * utmutex - mutex support 90267754Smsmith */ 903151937SjkimACPI_STATUS 904151937SjkimAcpiUtMutexInitialize ( 905151937Sjkim void); 90667754Smsmith 90782367Smsmithvoid 908151937SjkimAcpiUtMutexTerminate ( 909151937Sjkim void); 91082367Smsmith 911151937SjkimACPI_STATUS 912151937SjkimAcpiUtAcquireMutex ( 913151937Sjkim ACPI_MUTEX_HANDLE MutexId); 91482367Smsmith 91591116SmsmithACPI_STATUS 916151937SjkimAcpiUtReleaseMutex ( 917151937Sjkim ACPI_MUTEX_HANDLE MutexId); 918151937Sjkim 919151937Sjkim 920151937Sjkim/* 921151937Sjkim * utalloc - memory allocation and object caching 922151937Sjkim */ 923151937SjkimACPI_STATUS 924151937SjkimAcpiUtCreateCaches ( 925151937Sjkim void); 926151937Sjkim 927151937SjkimACPI_STATUS 928151937SjkimAcpiUtDeleteCaches ( 929151937Sjkim void); 930151937Sjkim 931151937SjkimACPI_STATUS 93291116SmsmithAcpiUtValidateBuffer ( 93391116Smsmith ACPI_BUFFER *Buffer); 93482367Smsmith 93591116SmsmithACPI_STATUS 93691116SmsmithAcpiUtInitializeBuffer ( 93791116Smsmith ACPI_BUFFER *Buffer, 93891116Smsmith ACPI_SIZE RequiredLength); 93982367Smsmith 94091116Smsmith#ifdef ACPI_DBG_TRACK_ALLOCATIONS 94191116Smsmithvoid * 94291116SmsmithAcpiUtAllocateAndTrack ( 94391116Smsmith ACPI_SIZE Size, 94491116Smsmith UINT32 Component, 945193267Sjkim const char *Module, 94691116Smsmith UINT32 Line); 94791116Smsmith 94891116Smsmithvoid * 949167802SjkimAcpiUtAllocateZeroedAndTrack ( 95091116Smsmith ACPI_SIZE Size, 95191116Smsmith UINT32 Component, 952193267Sjkim const char *Module, 95391116Smsmith UINT32 Line); 95491116Smsmith 95567754Smsmithvoid 95691116SmsmithAcpiUtFreeAndTrack ( 95767754Smsmith void *Address, 95867754Smsmith UINT32 Component, 959193267Sjkim const char *Module, 96067754Smsmith UINT32 Line); 96199679Siwasaki 96267754Smsmithvoid 96377424SmsmithAcpiUtDumpAllocationInfo ( 96467754Smsmith void); 96567754Smsmith 96667754Smsmithvoid 96784491SmsmithAcpiUtDumpAllocations ( 96867754Smsmith UINT32 Component, 969193267Sjkim const char *Module); 970167802Sjkim 971167802SjkimACPI_STATUS 972167802SjkimAcpiUtCreateList ( 973306536Sjkim const char *ListName, 974167802Sjkim UINT16 ObjectSize, 975167802Sjkim ACPI_MEMORY_LIST **ReturnCache); 976167802Sjkim 977212761Sjkim#endif /* ACPI_DBG_TRACK_ALLOCATIONS */ 978167802Sjkim 979306536Sjkim 980229989Sjkim/* 981229989Sjkim * utaddress - address range check 982229989Sjkim */ 983229989SjkimACPI_STATUS 984229989SjkimAcpiUtAddAddressRange ( 985229989Sjkim ACPI_ADR_SPACE_TYPE SpaceId, 986229989Sjkim ACPI_PHYSICAL_ADDRESS Address, 987229989Sjkim UINT32 Length, 988229989Sjkim ACPI_NAMESPACE_NODE *RegionNode); 98967754Smsmith 990229989Sjkimvoid 991229989SjkimAcpiUtRemoveAddressRange ( 992229989Sjkim ACPI_ADR_SPACE_TYPE SpaceId, 993229989Sjkim ACPI_NAMESPACE_NODE *RegionNode); 994229989Sjkim 995229989SjkimUINT32 996229989SjkimAcpiUtCheckAddressRange ( 997229989Sjkim ACPI_ADR_SPACE_TYPE SpaceId, 998229989Sjkim ACPI_PHYSICAL_ADDRESS Address, 999229989Sjkim UINT32 Length, 1000229989Sjkim BOOLEAN Warn); 1001229989Sjkim 1002229989Sjkimvoid 1003229989SjkimAcpiUtDeleteAddressLists ( 1004229989Sjkim void); 1005229989Sjkim 1006306536Sjkim 1007212761Sjkim/* 1008212761Sjkim * utxferror - various error/warning output functions 1009212761Sjkim */ 1010212761Sjkimvoid ACPI_INTERNAL_VAR_XFACE 1011212761SjkimAcpiUtPredefinedWarning ( 1012212761Sjkim const char *ModuleName, 1013212761Sjkim UINT32 LineNumber, 1014212761Sjkim char *Pathname, 1015212761Sjkim UINT8 NodeFlags, 1016212761Sjkim const char *Format, 1017212761Sjkim ...); 1018212761Sjkim 1019212761Sjkimvoid ACPI_INTERNAL_VAR_XFACE 1020212761SjkimAcpiUtPredefinedInfo ( 1021212761Sjkim const char *ModuleName, 1022212761Sjkim UINT32 LineNumber, 1023212761Sjkim char *Pathname, 1024212761Sjkim UINT8 NodeFlags, 1025212761Sjkim const char *Format, 1026212761Sjkim ...); 1027212761Sjkim 1028249663Sjkimvoid ACPI_INTERNAL_VAR_XFACE 1029249663SjkimAcpiUtPredefinedBiosError ( 1030249663Sjkim const char *ModuleName, 1031249663Sjkim UINT32 LineNumber, 1032249663Sjkim char *Pathname, 1033249663Sjkim UINT8 NodeFlags, 1034249663Sjkim const char *Format, 1035249663Sjkim ...); 1036249663Sjkim 1037212761Sjkimvoid 1038212761SjkimAcpiUtNamespaceError ( 1039212761Sjkim const char *ModuleName, 1040212761Sjkim UINT32 LineNumber, 1041212761Sjkim const char *InternalName, 1042212761Sjkim ACPI_STATUS LookupStatus); 1043212761Sjkim 1044212761Sjkimvoid 1045212761SjkimAcpiUtMethodError ( 1046212761Sjkim const char *ModuleName, 1047212761Sjkim UINT32 LineNumber, 1048212761Sjkim const char *Message, 1049212761Sjkim ACPI_NAMESPACE_NODE *Node, 1050212761Sjkim const char *Path, 1051212761Sjkim ACPI_STATUS LookupStatus); 1052212761Sjkim 1053306536Sjkim 1054281075Sdim/* 1055281075Sdim * Utility functions for ACPI names and IDs 1056281075Sdim */ 1057281075Sdimconst AH_PREDEFINED_NAME * 1058281075SdimAcpiAhMatchPredefinedName ( 1059281075Sdim char *Nameseg); 1060281075Sdim 1061281075Sdimconst AH_DEVICE_ID * 1062281075SdimAcpiAhMatchHardwareId ( 1063281075Sdim char *Hid); 1064281075Sdim 1065281075Sdimconst char * 1066281075SdimAcpiAhMatchUuid ( 1067281075Sdim UINT8 *Data); 1068281075Sdim 1069306536Sjkim 1070281075Sdim/* 1071281075Sdim * utprint - printf/vprintf output functions 1072281075Sdim */ 1073281075Sdimconst char * 1074281075SdimAcpiUtScanNumber ( 1075281075Sdim const char *String, 1076281075Sdim UINT64 *NumberPtr); 1077281075Sdim 1078281075Sdimconst char * 1079281075SdimAcpiUtPrintNumber ( 1080281075Sdim char *String, 1081281075Sdim UINT64 Number); 1082281075Sdim 1083281075Sdimint 1084281075SdimAcpiUtVsnprintf ( 1085281075Sdim char *String, 1086281075Sdim ACPI_SIZE Size, 1087281075Sdim const char *Format, 1088281075Sdim va_list Args); 1089281075Sdim 1090281075Sdimint 1091281075SdimAcpiUtSnprintf ( 1092281075Sdim char *String, 1093281075Sdim ACPI_SIZE Size, 1094281075Sdim const char *Format, 1095281075Sdim ...); 1096281075Sdim 1097281075Sdim#ifdef ACPI_APPLICATION 1098281075Sdimint 1099281075SdimAcpiUtFileVprintf ( 1100281075Sdim ACPI_FILE File, 1101281075Sdim const char *Format, 1102281075Sdim va_list Args); 1103281075Sdim 1104281075Sdimint 1105281075SdimAcpiUtFilePrintf ( 1106281075Sdim ACPI_FILE File, 1107281075Sdim const char *Format, 1108281075Sdim ...); 1109281075Sdim#endif 1110281075Sdim 1111306536Sjkim 1112281075Sdim/* 1113281075Sdim * utuuid -- UUID support functions 1114281075Sdim */ 1115281687Sjkim#if (defined ACPI_ASL_COMPILER || defined ACPI_DISASSEMBLER || defined ACPI_EXEC_APP || defined ACPI_HELP_APP) 1116281075Sdimvoid 1117281075SdimAcpiUtConvertStringToUuid ( 1118281075Sdim char *InString, 1119281075Sdim UINT8 *UuidBuffer); 1120281687Sjkim#endif 1121281075Sdim 112277424Smsmith#endif /* _ACUTILS_H */ 1123